Several times in recent years, opponents of software patents have looked hopefully to Congress and the Supreme Court for a solution to the expensive problem of software patents, and several times we've been disappointed. The narrow Bilski v. Kappos ruling invalidated one business method patent but left the question of software patents to one side, and even arguably weakened a rule—the "machine-or-transformation" test—intended to limit the scope of patentability. The reforms of the America Invents Act were half-hearted; they provided additional opportunities to challenge patents at the USPTO, but did not fundamentally affect the rules for patenting software.
Despite these missed opportunities, there are signs of slower but consistent reform in the courts, and yesterday's ruling in the Eastern District of Texas in Uniloc v. Rackspace is one of them. The Uniloc ruling is about as good as it gets for a defendant in a software patent case: the judge dismissed the case at an early stage on the grounds that the claim at issue described an unpatentable mathematical formula.
Uniloc is a self-described "independent laboratory" with a small software business and a thriving patent-licensing division. Its website ominously assures readers that "[t]he cost of licensing is quite modest when compared to other alternatives." It sued Rackspace (which was defended by Red Hat under its Open Source Assurance program) over a basic technique for computing floating point numbers, which it claimed Rackspace infringed by virtue of its use of Linux:
Claim 1. A method for processing floating-point numbers, each floating-point number having at least a sign portion, an exponent portion and a mantissa portion, comprising the steps of:  converting a floating-point number memory register representation to a floating-point register representation;  rounding the converted floating-point number;  performing an arithmetic computation upon said rounded number resulting in a new floating-point value;  converting the resulting new floating-point register value to a floating-point memory register representation.
You can tell this is a software patent of the old school (it was filed in 1995), because the claim doesn't reference a machine, even one so abstract as a general purpose computer. This essentially required the court to find that the patent failed the "machine-or-transformation" test, which (as modified by the Supreme Court) says that a "useful clue" to a process's patentability is whether it "(1) is tied to a particular machine or apparatus, or (2) it transforms a particular article into a different state or thing." (The patent failed the "transformation" part of the test because, according to binding Federal Circuit precedent, manipulating data does not produce a "meaningful transformation.")
Since the machine-or-transformation test is only a "useful clue," the court also analyzed the patent under Section 101 of the Patent Act, which has been held to exclude laws of nature, physical phenomena, and abstract ideas (including mathematics). In invalidating this retrograde patent under 101, the court relied heavily on Gottschalk v. Benson, the 1972 case that first clearly stated that algorithms were abstract mathematical formulae, and hence unpatentable. Given Benson's shabby treatment at the hands of the Federal Circuit over the last couple of decades, its prominence here is refreshing.
The early disposal of this patent by a patent-friendly court is an encouraging sign for everyone writing software under the shadow of patents. Congratulations to Red Hat and Rackspace on their victory.
Please email any comments on this entry to firstname.lastname@example.org.