a. What test should the court adopt to determine whether a computer-implemented invention is a patent ineligible "abstract idea"; and when, if ever, does the presence of a computer in a claim lend patent eligibility to an otherwise patent-ineligible idea?
b. In assessing patent eligibility under 35 U.S.C. § 101 of a computer-implemented invention, should it matter whether the invention is claimed as a method, system, or storage medium; and should such claims at times be considered equivalent for § 101 purposes?
Of course, followers of the court will note that if recent other cases are any indication, the justices will punt on the actual question. The problem is, as Justice Kennedy notes
"the patent law faces a great challenge in striking the balance between protecting inventors and not granting monopolies over procedures that others would discover by independent, creative application of general principles. Nothing in this opinion should be read to take a position on where that balance ought to be struck. " Bilski, 130 S. Ct. 3228
Yet of course, the court is way too busy dealing with Obamacare, gay marriage and pharma inventions to care about software patents. Heck, it's their constitutional role not to actually help the software industry out of this patent war going on. Right Justice Breyer?
"In consequence, we must hesitate before departing from established general legal rules lest a new protective [patent] rule that seems to suit the needs of one field produce unforeseen results in another. And we must recognize the role of Congress in crafting more finely tailored rules where necessary" Mayo, 132 S. Ct. 1305 (2012)
Of course, as AIA showed, Congress is more worried about posturing on patents than taking any of the decisive action that those who disfavor the status quo in software patents would like to see. So instead, the industry continues doing what it's always done, finding ways to monopolize technology for profit. And the reddits, Hacker News and open sources folks of the world will complain, but it won't matter. Again and again and again, and it's just really tiring at this point.
</bitter IP guy>
So here is the problem. People on Hacker News and Reddit will complain. But people at Google, Microsoft, Oracle, etc, keep filing tons of patents. From the perspective of judges and Congressmen, it seems from the outside that everything is fine (every industry, of course, has its discontents).
That's the basic problem--until you can get the big players on board, nothing will change. The Federal Circuit has its biases, but it's not necessarily a "pro patent" bias. Instead, its a pro-Big Science bias. There's nobody on the Federal Circuit from a startup background, but there are judges who used to be engineers and scientists at DuPont, Monsanto, etc. Engineers in Big Science have a different view on patents than startup folks. Their big worries are stuff like: if the Chinese blatantly rip off our technology, can we fight them in the ITC? They don't care about frivolous patent law suits, because a few million dollars here and there isn't even a drop in their legal budgets. This is not a value judgment, it's a description of the state of affairs: the balancing that seems reasonable between defending real innovation from copying and protecting small companies from frivolous lawsuits seems very different when engineering as you know it is Dow, DuPont, etc, than when it's Rackespace, Redhat, etc.
I think some of the recent cases on reasonable royalty show a Federal Circuit trying to reform the system a little bit.
"Will have appointed" has taken on a new meaning during this presidency. The Circuit Court currently has 16 vacancies, and 6 "Judicial Emergencies",[1] meaning that there are too many cases for current judges to handle. Although Obama has made fewer nominations at this point than his predecessors, this shortage is largely because Senate Republicans hate Obama and refuse to confirm his nominations — ability of litigants to have their cases heard be damned.
[1] http://www.afj.org/judicial-selection/judicial-selection-sna...
IMO, the issue with software patents isn't that businesses patent algorithms or code(which they don't do). Instead, it's that technology moves too fast for the monopoly time that's granted. When it comes to software, what's innovative 5 years ago is common place and often a commodity today.
The burden of proof needs to be on the patent holder to show, by a preponderance of the evidence, that they invented something nonobvious. That's a pretty low bar, but would require them to present some evidence, which they currently don't have to do.
In any case, as I understand, once the patent has been issued, the courts generally defer to the PTO on the obviousness question. I think plaintiffs in infringement cases should have to demonstrate nonobviousness again in order to proceed. While it would be better for the PTO to be more of a stickler on this point, the fact is that we don't give them the kind of resources they would need to do as thorough a job as they should do on every patent.
For example, the PTO could maintain a team of engineers specifically for obviousness testing. When an application comes in, they would pose the problem the patent claims to solve to a selected panel of maybe 4 or 5 of them, who would have a couple of days to sketch some possible solutions. If they come up with the same idea as in the patent, that should pretty much kill it.
But as I say, we don't spend enough money on the PTO for them to do that. Since we don't, having the courts re-evaluate each patent on this point seems the only solution.
Having a patent over a completely new system means that as the one to birth that system, you get to have some control over it for a short while.
That was the original intent, anyway.
1. A method for fooing bars, comprising A, B, and C.
2. A method in accordance with claim 1, wherein said fooing further comprises doing D.
3. A system for fooing bars, comprising A, B, and C.
4. A system in accordance with claim 3, wherein said fooing further comprises doing D.
5. A computer program product for fooing bars, comprising A, B, and C.
6. A computer program product in accordance with claim 5, wherein said fooing further comprises doing D.
This covers several different legal precedents; even if "method" gets invalidated as an approach, the patent may still work under the "system" or "computer program product" theories.
This gets taken to a ridiculous extreme; many such patents describe the computer program product as a physical object consisting of bits on a medium such as a CD or disk, and include as a figure an illustration of such a medium.
There's a huge difference between design and implementation.
It seems to me the difference is a question of "real world implications". For sorting integers using quicksort, yes that's just a mathematical algorithm: an algorithm that performs operations on mathematical entities. The moment you apply that algorithm to something that affects the real world, that's when it becomes patentable. E.g. sorting restaurant recommendations by applying quicksort to the individual rating. This is no longer simply a mathematical algorithm; the entities being manipulated have a 1:1 correspondence with entities in the real world. It is recognizing the usefulness of this particular correspondence between mathematical entities and real world results that is patentable.
Sorting is a mostly solved problem. You take a group of numerical things and end up with a group of numerical things that are now sequential. You can either do it slow, fast, or stupidly.
If you have the example of ratings of restaurants, you're going to have some kind of group of numbers. If you want them sorted, you use a predefined and should-be unpatentable algorithm and sort the damned list. But your business model shouldn't be sorting a predefined list, because that's a really stupid business model and any fucking person can do it. Your business model should be to find a unique and novel way to rate restaurants (social graph, Zagat, number of cockroaches found in soup, etc.). The outwards facing UI of that rating system should be entirely disconnected from what your patent does. The order of that list is, yes, directly connected to how you rate restaurants, but the end result itself is not exactly how you rate them, it's just representative of the end result of your rating.
Think of Page Rank. Anyone can crawl the web and get a list of pages on the internet. Anyone can then sort that list by whatever means they want. It's not the sorting that is patentable, it's the association of some qualifier into a numerical representation of which gets sorted by another un-patentable system that is the "secret sauce".
Which is ultimately why "its all just algorithms" is a uselessly reductionist view of things, in the same way "all creative works are just strings of bits" is uselessly reductionist, or even "all physical objects are just globs of atoms" is uselessly reductionist. It's not a useful level of abstraction at which to view the issue.
Ultimately you have to tie it back to the purpose of the property right. Why does someone have a legal right to a particular glob of atoms, or a particular string of bits, or a particular series of steps of some algorithm in some specific context?
That doesn't make the situation any better, in my mind. In fact, in many ways that makes it worse.
Step 1) File patent for using algorithm (everyone knows) to do (some obvious application of that algorithm).
Step 2) Wait around for some other poor sucker to do the hard work of actually implementing "your" idea.
Step 3) Profit!
2) That assumes "implementing the algorithm" is the hard part.
I agree with your #1 though in that I think you should absolutely be required to have a working prototype to file a successful patent. A lot (though not all) of my objections to software patents would go away if that were enforced.
Which is why we look at the invention instead of the effort. So even though I'm sure Einstein worked really hard on E=mc^2, laws of nature are still unpatentable, because it's a description rather than an invention.
The problem is that no matter how hard it is to discover it, we can't give you E=mc^2, because it only describes things. You can actually have implementations that predate the discovery, because it's possible to build something without being able to describe how it works. We had X-ray machines before we had E=mc^2 even though it describes their operation. Allowing a patent on anything following the description would allow too wide a scope. You would be claiming too many things you didn't invent.
But algorithms are the same way. They're not inventions, they're abstractions. There is a really cool ad hoc routing algorithm where you send packets along random routes but tag the routes, and then the more/faster packets get to a destination using a particular route, the more you prefer that route for future packets. Sounds like something that should be patentable if algorithms are patentable, right?
But it's called the ant algorithm. Guess why.
Algorithms are pure abstractions. Those little buggers crawling around leaving scent tracks everywhere have certainly never heard of your algorithm and have no capacity to produce any sort of a binary, but there they are infringing your would-be algorithm patent.
So you say, a-ha! We'll just make it an invention by applying a context. Then the wildlife will be able to escape liability (and hopefully stop serving as pesky prior art).
The issue is that the context is totally facile. The interesting thing is the algorithm, not the context. It's just taking the unpatentable thing and adding "on a computer" and claiming it as an invention. Sometimes they try to be subtle and instead of saying "computer" they say "ad hoc wireless network" or "anonymizing P2P network" or some other thing the meaning of which is always "computer that could benefit from using this unpatentable algorithm" as if to pretend that the limitation is meant as an actual restriction rather than merely a vague description of the circumstances under which the algorithm is expected to be beneficial.
I'm actually surprised anybody would say that. To use an example, you're saying it's more difficult to implement quicksort than it was to come up with it in the first place?
IME, compared to thinking up an algorithm, implementing them is very easy.
I know this wasn't your example originally, but it does exemplify a common problem: There is nothing special about sorting restaurant recommendations vs. sorting some other such thing. If you have an unpatentable algorithm which is good at sorting lists of anything it shouldn't become patentable just because you claim it as "sorting restaurant recommendations." Mixing an unpatentable algorithm with a totally obvious application of it shouldn't get you a patent.
>Ultimately you have to tie it back to the purpose of the property right. Why does someone have a legal right to a particular glob of atoms, or a particular string of bits, or a particular series of steps of some algorithm in some specific context?
So why should someone have a legal right to a particular series of steps of some algorithm in a specific context? Why should adding an arbitrary context make it patentable if it wouldn't have been otherwise?
Totally correct. The first requirement to patent something it that it should not be a trivial invention (something that is so easily derived from something else). But most patents are, however, trivial in the software world. That is a big issue.
And that should simply be copyright for the expression of the algorithm.
the problem i have with algorithmic parents is that computer algorithms trend tend to be quite composable. other patents in other field aren't, e.g. pharma parents. when one algorithm could be such fundamental to a large amount of different apps, a patent on it gives the patent holder way to much than they deserve.
In certain fields the "technical effect" required [it's not called that any more, the test is more nuanced now] is, shall we say, less obvious than others. [Digital] Image processing/codecs/compression for example always seemed very close to just maths.
However, what you are saying is the same in the US its why patent applications say "A method for performing SOMETHING by REASON"
I'm not comfortable with the idea that my cells contain someone else's intellectual property.
Wikipedia indicates that the number of differences averages in the low hundreds, surely with such a low number there would remain plenty of parts that remain truly identical. For the purposes of a twin suing a twin for patent infringement, couldn't we just assume one of the many unchanged portions was patented, not the entirety?
So we're not just the data in our DNA. We are both our DNA data and the biological processes required to read that data, parse the information, and construct every part of ourselves (hat tip to mom for the initial power supply).
I think it's a valuable introspection to consider that the data set used to build each of us is representable by an integer, but we should not fall into the trap of believe that that is all we are.
Only really true for pure functions (i.e. same input -> same output + side effects), I think. A lot of the code in actual practice is stuff like "update this bit of object state", "set this server variable so that it does this"; and it really doesn't generalize beyond a very specific platform.
Those may still technically count as algorithms, but not in the sense people normally think of them.
Although the ones they try to patent generally are of the "pure function" type, so it may be a distinction without a difference.
http://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
Program code has been abstract math since the very beginning of computer science.
Would that be possible? I think it would go so far in helping me understand formulas I read in papers.
And sometimes if a formula has something unusual like a derivative, it's hard for me to see how that converts to code.