Hacker News new | past | comments | ask | show | jobs | submit login

The patent language is not too bad. Defeating a patent is not too hard. There are specific terms and patterns to the language, just like a programming language. It's often quite logical. It's just like reading another programming language.

A claim is just a list of "AND" conditions, i.e. all the conditions must be met for the claim to be asserted. To defeat a patent claim, it's a matter of adding enough variance in your code to defeat ONE of the conditions.

I will demonstrate the decrypting of claim 1. The other claims are just dependent claims of 1 to make the whole thing looks meatier. If claim 1 is defeated, all other claims are irrelevant.

Claim 1 basically saying a user issues a query with two parameters on two tables to do search in a program in the local machine, with the following conditions:

1a. the query runs against two data sets, Table1 and Table2.

1b. Table1 has one type of data, e.g. Food. Table2 has another type of data, e.g. Drink.

1c. the query has two parameters: param1, param2. E.g. FoodEaten and DrinkConsumed

1d. parse the query to use Param1 against Table1, and to use Param2 against Table2. E.g. select * from Food where food_type=:FoodEaten union select * from Drink where drink_type=:DrinkConsumed

1e. the query result should based on the parsing of the query and the mapping of parameters to the tables. The result should relate to the parameters in the query.

1f. the whole procedure is run by a process in a computer.

See, it's not too bad once you break it down. The claim conditions are kind of BS individually. The basic idea of the patenting process is to string together a number of day-to-day common items and make the whole thing as patentable.

To defeat claim 1, just make one of the conditions false. The easiest is to attack 1c, which uses the phrase "comprises a first token and a second token," which means the query contains exactly two tokens as parameters. Just add a dummy parameter to all 2-parameter query to fail that condition.

Attacking 1a with more than 2 tables query also works.

Also breaking a 2-table query into two separate queries works, too.

Since claim 1 is gone, all other dependent claims are irrelevant.

Disclaimer: the above are purely for educational purpose only and are not considered as legal advice. Consult a lawyer for real legal advice.

"Comprises" is a term that has a specific usage in patents. Comprises means that at least all of the listed elements must exist but other elements that are not mentioned in the claim may also be present.

The alternative phrase is "consists of" which means that only the listed elements may be present. I think it's mostly used when claiming chemical or molecular formulas.

I am not a native speaker of English. In http://www.grammar-monster.com/easily_confused/comprise_comp... the difference is:

Make sure you name all the constituent parts when using comprise or compose. The word to use when other elements are may also be present is include.

The elements one, two, and three composed the set {1,2,3}. The set {1,2,3} is comprised of three elements. The set {1,2,3,4} includes the elements one, two and three.

In http://www.thefreedictionary.com/include all this is clarified, the botton line or golden rule of usage (edited).

  Some writers insist that include be used only when it is followed by a partial list of the contend of the reference of the subject. This restriction is too strong. The use of comprise or consist of  will avoid ambiguity when a listing is meant to be exhaustive.

I agree that it's the opposite of standard usage but that's how it's interpreted in patent language. Here's a quote straight from the USPTO website:

"The transitional term “comprising”, which is synonymous with “including,” “containing,” or “characterized by,” is inclusive or open-ended and does not exclude additional, unrecited elements or method steps." http://www.uspto.gov/web/offices/pac/mpep/s2111.html

There are other non-standard interpretations in patent language. For example, "a" or "an" is not necessarily a singular but can mean "one or more". Also the inventor is free to provide their own definitions for words they use in the patent specification.

That definition of "comprise" is more or less the opposite of the British English definition, where "A comprises B, C and D" means "A includes B, C and D and nothing else." E.g Parliament comprises the House of Commons, the House of Lords and the Queen.

I agree. It confused me when I first started looking at patents but the accepted usage in patent law is that it is open-ended and can include other non-mentioned elements.

That's what I thought initially when I encountered the word, but there were judges ruled in patent cases where "comprise" means the items making up the entire parent item, no more no less.

Do you remember the specific cases? I'd be interested in knowing the details of these rulings. If you look at the Garrod Glossaries you'll find several examples of the "open-ended" claim construction for comprising.

> A claim is just a list of "AND" conditions, i.e. all the conditions must be met for the claim to be asserted. To defeat a patent claim, it's a matter of adding enough variance in your code to defeat ONE of the conditions.

That's not true. Thanks to the doctrine of equivalents you can still infringe on a patent even if your invention differs from what the claim describes. (Now, if you want your invention to count as prior art, it does have to exactly match the claim - whether two inventions are considered the same for prior art purposes is different from whether they're considered the same for infringement purposes.)

> Just add a dummy parameter to all 2-parameter query to fail that condition.

This (along all your other circumventions) seems to me to only side-step the "spirit" of the invention -- to my mind any implementation using the techniques you suggest works more or less precisely as the patent describes.

If this is defeating I want no part of this charade.

I think you're reading too much into the "spirit" of an invention. A patent claim has very specific instruction to follow to satisfy the condition. If it's too vague, it would be struck down. People have been reading more broadly into patent than necessary and worry unnecessarily.

Like in the example above, the word "comprise" has very specific legal meaning - to be all of it, no more no less. Having 1 parameter or more than 2 parameters would not fit the claim description. You would see the word used again and again in patents. It's like the word "concurrent" in CS. Programmers just understand its meaning and the connotation of it.

Most of patents are BS anyway. You just need to learn to defeat it in its own game.

I'm afraid you're wrong. "Comprise" in a patent does not mean "all, no more and no less".

See, eg http://www.patentlens.net/daisy/patentlens/202.html

The transition words or phrases commonly used are "comprising," "consisting of" and "consisting essentially of" and have very distinct meanings:

"Comprising" is open-ended language, meaning that the claim encompasses all the elements listed but does not exclude additional, unnamed elements. For example, if a claim recites elements "A" and "B", an individual that practices the invention using elements "A" and "B" is infringing, and using "A", "B", and a new element "C" is infringing, whereas if she only uses element "A" or "B", she is not infringing.

In contrast, the transitions "consisting of" and "consisting essentially of " have more limited scope. "Consisting of" means that the device (or method) has the recited elements (or steps) and no more. For example, if a claim recites " A" and "B" and the individual uses only "A", or "A" and "C" but not "B", or even "A", "B", and "C", the claim is not infringed.

The meaning of "consisting essentially of" is intermediate to comprising and consisting of. A claim using this transition includes additional elements only if they do not affect the basic and novel characteristics of the claim. " Consisting essentially of" is not often used.

Drafting a claim to use open-ended language will enable the patent to be as broad as possible. Narrowing the claims to be more specific is the kind of thing that a patent examiner might demand in order to approve the patent.

(And this is why you have to employ lawyers whenever patents are involved, as otherwise your opponents will rip you to pieces in court.)

You seem to assume that a programmer should know about the patent and all other similar patents/patent conditions before he/she implements. I don't think that's so easy to do.

In the past, I have been advised by my employers that I should never read patents. The reasoning is that if I have a policy of never reading patents, then I can never willfully violate a patent. This limits the amount of damage I can cause when I inevitably violate a patent.

When engineers are advised by lawyers to never read patents that pertain to their field, you know the entire system is a fucking joke.

I have had employers specifically instruct me not to look up patents from work computers. I'm free to do that at home, but not at work.

I am sorry, but it's not "like a programming language". It's more like something that falls out from a compiler.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact