Federal Circuit case renders many broadly written software patents invalid
patentlyo.com
patentlyo.com
Tl;dr: The three-judge appeals court panel affirmed a summary judgment of invalidity. The panel announced a pretty straightforward test as one "filter" that can rule out patentability for certain claims:
1. If a method can be performed by the human mind alone, or with paper and pencil, then it's an "abstract idea," and therefore unpatentable under Supreme Court precedent.
2. If as a practical matter [a] the method cannot be performed with paper and pencil [b], then it passes the filter described in 1 above [c].
3. If a method would be unpatentable under 1 above, then a claim to a storage device encoding computer instructions for performing the method is likewise unpatentable.
NOTES:
[a] In its discussion, the court distinguished a couple of prior cases where such non-paper-and-pencil methods had been held patentable. See pages 20-21 of the PDF. EDIT to respond to petegrif's comment below: One of the earlier methods that had been ruled patentable was "for rendering a halftone image of a digital image by comparing, pixel by pixel, the digital image against a blue noise mask ...." The CyberSource panel distinguished this precedent by saying that, as a practical matter, that earlier method could not be performed by the human mind or with paper and pencil; see page 21 of the PDF.
[b] An unanswered question: How exactly are ordinary people supposed to determine whether a method can or can't be performed with paper and pencil "as a practical matter"?
[c] Even if a method gets past the "paper and pencil" filter, there are still other filters to pass before it will be patentable---but once the Patent and Trademark Office has issued the patent, then a presumption of patentability applies.
COMMENT: This is an area where the net effect of the precedents is not entirely clear. It wouldn't surprise me if the court were to take this case en banc, namely to have all of the court's 12 judges rehear and redecide the case in an attempt to clarify the law. (An en banc opinion is generally regarded as carrying more precedential weight than an opinion by a three-judge panel.)
I think B is a much bigger problem. Any computer program could be performed with pencil and paper, by getting a big file folder to simulate RAM, indexing it by numbers, and performing assembly instructions by hand with post-it notes as registers. I think the major exceptions are interfacing with other components, including UI systems and networking, and anything with a real-time component.
Indeed. But surely if the purpose of the algorithm is something like "find whether this combination exists in a set of millions / billions of records within a tractable time" then it cannot possibly be done by hand in a tractable/practical way -- and it will fail this test?
This ruling requires that doing it my hand or purely mentally be achievable as a practical matter.
It is not practical for me to draw frame by frame the contents of an AVI file by hand, even if it were theoretically possible, etc. While this ruling does leave judgment calls and grey areas, there are also a lot of cases where it can be decided very directly whether or not it is practical to do the operation by hand.
For example, if the purpose of the method specifically relates to real time graphics processing (ie the real time constraint is a fundamental aspect of the method) -- then the expectation would be that the pen&paper test would have to be able to achieve the same constraint (ie calculable in real time) for it to invalidate the claim of the method?
Imagine a transformation mapping one set of points onto another. If each individual transformation can be calculated with pen&paper, I'd hope the process is not patentable, even if running it a million times in a loop is what makes it useful.
Indeed, as I have often argued too. And even "virtual" software can readily be implemented in human scale electromechanical devices, as with the relay-based computers where you can watch the memory bits change and even reach in and flip them with your fingers.
"If a method can be performed by the human mind alone, or with paper and pencil..."
However the issue with this patent is that it was too broadly written. The claims apply to all possible implementations, including pencil and paper methods, not just implementation with a logic machine. That is unpatentable.
That said, I don't believe '1-click ordering' would survive this test, and if not that would be a good thing in my opinion.
I can see where there might be some concern that you could claim anything that could be done on a computer could also be done more slowly by a human with a pencil and paper. Frankly, I don't have much of a problem with this: automating simple tasks doesn't seem like an invention, it sounds like a land-grab. Certainly there are nontrivial tasks that a computer can perform but which cannot be done well enough or fast enough by a person, e.g., closing a control loop in software (delay leads to instability; if you can't perform a computation fast enough, you cannot perform the control function, thus, certain such tasks could not be performed by a human with pencil and paper).
It's arguable whether even something like this ("implement an equation... but really fast!") really ought to be patentable, and while I'm a named inventor on at least a few patents in this area, I'm doubtful. Of course, my employer has no such qualms, and is happy to hold said patents.
I agree with your point but I find a certain irony in the fact that a pilot is clearly closing a highly delay-sensitive control loop without doing any math whatsoever.
The fastest relevant time constant for the control loop of a switching power converter with meager 1 kHz closed-loop bandwidth is measured in fractional milliseconds (you care about poles up to, say, 10x your crossover frequency). For a pretty run-of-the-mill analog circuit like an op-amp, the relevant time constants are often measured in nanoseconds. Heck, even something slow like an audio amplifier has relevant time constants in the tens of microsecond range.
Also, don't underestimate the amount of subconscious math you're doing even for a simple task like walking. Your body's subconscious understanding of physics is pretty damn impressive. The problem is that our brains are pretty specific in the types of problems they're adapted to solving. Riding a bike, sure. Induction motor controller, probably not so much :)
Brain in fact can adapt it's physic coprocesor to solve many problems it was not originaly intended to solve - see extreme sports, arcade games, steering vehicles, playing live music (and imrpovising it).
I think we could perform many task currently thought to be too computation intesive for human, if there was some clever interface, allowing us to use our coprocessor to solve it.
Like somehow translating problem of controlling induction motor into problem of keeping balance on the bicycle :)
I suspect that it would be possible to map most control problems onto a problem that the human mind can solve, either consciously or instinctively. I don't think the speed of the loop should be a deciding factor at all, at least when a computer is doing the control. For example, you could map maintaining power supply stability to standing upright just by slowing the problem down and converting the input variables into axes of motion.
To sum up, bumping up the clock speed on something a human could do (even if it took them a thousand years) seems like a very poor criterion for patentability, and I hope the issue is revisited and clarified.
Slowing down the sort of pen and paper calculation the court ruled on does not change the result, it simply yields the same result more slowly.
I still agree this is probably not a sufficient criterion for patentability though. There are plenty open loop systems that intuitively seem like they should be patentable... for example video encoding methods.
And if you want to bring math into it, he was also damn good at solving the matrices filled with hairy PDEs that described the whole system.
The pilot is doing a lot of calculations. It's just not representing sensory inputs and muscular outputs as numbers.
A naive algorithm for multiplying square matrices runs in O(N^4). A slightly less naive algorithm runs in O(N^3). There is an especially clever algorithm that runs in O(N^2.807).
If somebody discovers a practical algorithm that runs in O(N^2.1), should it be patentable? I say yes. No amount of grinding away with pencil and paper is equivalent to a clever divide and conquer algorithm.
http://en.wikipedia.org/wiki/Gottschalk_v._Benson
EDIT: It occurs to me upon reflecting on my reply that you're making a statement unqualified by present legal precedent. In that case, I respectfully disagree. Patenting fundamental mathematical truths seems like a very bad idea to me, and I'm glad that nominally such things are not allowed (though of course practically it goes on all the time).
Perhaps another way to say this: the problem most people have with software patents is that it's more or less patenting little pieces of math. I think it's more or less well known how most "practitioners of the art" feel about this.
And anyway, why not patent algorithms in the abstract? There are an infinity of "fundamental mathematical truths", but only a few are spectacularly useful. If a given algorithm truly is obvious and trivial, then you can evade the patent by spending 30 seconds to find another obvious and trivial algorithm. (I note that most of the people complaining about the trivial obviousness of all software patents are not cranking out 50 algorithms a day like RSA or the fast Fourier transform. When they talk about software being obvious, they're talking about other people's software.)
Because the costs outweigh the benefits, unless you're a patent lawyer.
Software patents already create huge legal risks to businesses that did nothing wrong except come up with a simple idea that someone patented first, they're ridiculously expensive to enforce, and most of the money ends up driving more lawsuits rather than more research.
Unless that grinding is to reproduce the algorithm's steps. Which is a rather important issue in this case (that and people object to the idea of having patent law restrict use of an organized thought process).
That's not the effect here, it doesn't ensure patentability. It's excluding the low hanging fruit of tasks that can obviously be done by a human.
Maybe we want to exclude the large class of obvious and simple methods from patentability, but simplicity is hard to decide in a general way for any given algorithm. With this test, we can quickly make that decision for a special subset of those obvious and simple operations, the ones that are so obvious and simple that they can be done by hand.
I think it's a tiny incremental change, maybe that deserves criticism: it doesn't go nearly far enough. But hey, the law grinds fine, and exceedingly slow.
Real time doesnt exist. It means accomplishing a task within a specified interval. If you can do a task in 1 hour and someone else can do it in 30 minutes. It seems to me that it is then possible to argue that doing the same thing in a microsecond on a computer is not patentable.
Perhaps the judges will need a little focused high school math and a lesson on Turing machines.
For that matter, would it be possible to design a court system based on a fully modern understanding of logic, proof, induction, etc., rather than the seemingly ad hoc system we have now?
Really, really hoping this logic survives and becomes widely applied.
The Court noted that the calculations, while “primarily useful for computerized [applications],” could still “be made [using a] pencil and paper.”
So things like "See if the guest's name is on the guestlist" might be found unpatentable, but complicated sequences of instructions (which you have specifically laid out) for which you really do need a computer (or some other machine) might still be patentable.
I'm not a lawyer, though.
How about a particularly efficient multiplication algorithm that can be demonstrated by hand?
How about a linear problem optimization algorithm? http://en.wikipedia.org/wiki/Karmarkar%27s_algorithm#Patent_...
How about a network optimization problem? http://www.google.com/search?q=network+optimization+patent
The whole idea of patents in a post-industrial economy is a farce.
IANAL and this is not legal advice, but the guys (probably) that tried to patent this should go f* themselves.
Supposedly there's a concept of "non-obviousness" but every patent that is disputed is strikingly obvious to a "person of ordinary skill in the art."
On a panel of 5 competent engineers, asked "How might we go about identifying potential credit card fraud on the Internet?" I suspect all 5 would independently bring up the idea of storing customer IPs and comparing that to IPs that have used that credit card in the past.
I can't help but feel like patent law is just a way for lawyers to extract money from people actually trying to make things.
It's just poor drafting. If they'd said "do all this stuff to determine if the credit card is valid" and added "if is valid, then execute the internet transaction, otherwise deny it" as part of the claim, then it would not merely be providing information - and could not be done with paper and pencil alone. You need to make a change in the world, i.e. execute the transaction. Usually, a patent would have later "dependent" claims, that further restricted an initial overly broad claim, but apparently they didn't here.
I get the impression that the court is being a bit pedantic, as it's clear what was meant; however, it is true that pure information can be used in many ways, not necessarily restricted to execute/deny.
One nice quality of this test is it makes the patent less abstract, more concrete, and therefore less broadly applicable: one of the arguments for mathematical algorithms not be patentable is that they are too general, and a monopoly on them would block too much.
If checking the IP leads to a result, such as blocking the user
"blocking the user". What does that mean? It means not giving the user what they asked for. It is absolutely doable with pen and paper, because the "user" is being "blocked" from "information".
But even if that were not the case: suppose it where a physical door being locked or unlocked. Well done, you've just attempted to patent a fucking bouncer.
Basically you can patent inventive things. But if your patent can't stand on its own if the computer part is replaced with a human operator, then it wont stand.
Amazon's oneclick travesty is totally doable on pen and paper and I hope someone will have another go at it.
The above is just an extra hurdle to disqualify claims that only produce information.
BTW: you can't block a user with pen and paper. You can obtain information for your decision to block them, but pen and paper, in isolation, have no impact on the world. Even something like a signed contract, PO etc has no effect, unless it is used in part of a system. If this doesn't make sense to you, recall that we're talking about the claims in the patent: of course, you can use pen and paper to do many things, but in a patent, it's not enough to claim you can work out the information with pen and paper; you have to also claim what you will do with that information.