Google has just lost a patent infringement suit in Texas (where else?) which could have nefarious consequences for open source development in the United States. A Texas jury has awarded Bedrock Computer Technologies $5 million USD when it found that the search engine giant had infringed one of its software patents. You might be forgiven for not having heard of Bedrock Computer Technologies, as far as I can tell they produce no software whatsoever, and their sole business is better described as professional patent trolls. I searched the first 10 page results in Google, and I could not even find a website for the company, let alone any indication that they do anything other that patent litigation. In fact, they have sued other companies such as Red Hat, Yahoo, Amazon, PayPal, MySpace and even a defunct software company from Texas in order to have the case heard in that most friendly of patent troll districts (see the complaint and other documents here).
I always have a mix of eagerness and disgust when reading patents belonging to trolls. On the one hand they are always fun to read, on the other hand I know that my innards are about to churn with that rage reserved to those idiotic injustices in life that we are powerless to prevent. So lo and behold, I give you U.S. Patent 5,893,120 which protects “Methods and apparatus for information storage and retrieval using a hashing technique with external chaining and on-the-fly removal of expired data”. The abstract reads:
“A method and apparatus for performing storage and retrieval in an information storage system is disclosed that uses the hashing technique with the external chaining method for collision resolution. In order to prevent performance deterioration due to the presence of automatically expiring data items, a garbage collection technique is used that removes all expired records stored in the system in the external chain targeted by a probe into the data storage system. More particularly, each insertion, retrieval, or deletion of a record is an occasion to search an entire linked-list chain of records for expired items and then remove them. Because an expired data item will not remain in the system long term if the system is frequently probed, it is useful for large information storage systems that are heavily used, require the fast access provided by hashing, and cannot be taken off-line for removal of expired data.”
So, someone realised that removing expired data from any sort of storage system, namely any database, was worthy of a patent. Yes, because up until 1997, when the patent was filed, all expired data in databases remained stored, clogging up systems and eating up memory. Thank goodness for those geniuses at Bedrock Computer Systems, they saved the world from the infocalypse! They must be making millions from selling their innovative products… or not.
But maybe I am being unfair here, maybe there really is something earth-shattering in the claims that deserves monopoly protection for 20 years. The first claim reads:
“1. An information storage and retrieval system, the system comprising:
- a linked list to store and provide access to records stored in a memory of the system, at least some of the records automatically expiring,
- a record search means utilizing a search key to access the linked list,the record search means including a means for identifying and removing at least some of the expired ones of the records from the linked list when the linked list is accessed, and
- means, utilizing the record search means, for accessing the linked list and, at the same time, removing at least some of the expired ones of the records in the linked list.”
- Here I give up, as the claim is not only obvious, but the following ones are no better. Typical of these data storage software patents is the fact that some bright spark manages to convince a patent examiner that their “invention” is novel, when in fact it is quite simply something that either everyone is already doing, or that it is so obvious that nobody else thought of protecting. They then obtain a ludicrously broad patent with which they can extort payment from the real innovators in the market. Yes, this is the worst thing about software patents, it is the fact that those patent trolls have never needed to produce even one single line of code, while those they sue are the real market leaders. Software patents therefore punish the movers and rewards those who do nothing other than dream up descriptions of obvious algorithms and translate them in legalese so that they can fool someone at the patent office.
Florian Mueller has commented that this patent is bad news for open source development, and I agree. In a very basic manner, the above patent describes actions that are taken at a kernel level, because the kernel interacts between the hardware and software, it is likely that at some point it will have to remove expired data, which is precisely the claim at stake here. Therefore, Bedrock is in a very strong position to claim licensing fees from users of various operating systems, particularly Linux (and therefore Android), but also eventually Apple and Microsoft. Nobody is safe from this broad patent.
The only good news is that this patent only applies in the U.S. A worldwide patent search of the inventor only produced 2 applications and 2 full patents. While it is perfectly possible for an international firm to be sued in the U.S. for patent infringement (RIM springs to mind), it is unlikely that smaller international developers will be subject to suits. Undoubtedly these broad patents have an effect in the rest of the world, but thankfully it is limited.