Members
..:: Login

Features
..:: Articles
..:: Wallpapers
..:: Linux Tutorial
..:: Mobile
..:: Motorola A1200 Hacks
The Current State of the US Patent System: Linked Lists Patented April 11, 2006
by djlosch
Various players in the industry disagree over whether software patents should be granted. Every now and then, a software patent is granted that is just so unbelievably ridiculous that it's not worth the paper that it's printed on.

Linked lists are a common data structure, learned in every basic computer programming data structures class across the nation. So when the USPTO granted the patent for linked lists, the programming community was shocked.

..:: Prior Art

Even though the patent was applied for in September of 2002, the linked list (including variants) has been showing up in textbooks since at least 1994 (Taming C++, by Jiri Soukup). That's roughly 8 years before this patent was even applied for.

My own data structures professor actually wrote his textbook in 1999. Professor Sartaj Sahni's data structure course still remains on the web, with the 1999 Copyright notice. The syllabus from 1999 even shows both regular linked lists and doubly linked lists in the basic course material. The worst part is that this is merely a junior level course. Professor Sahni has gone on to publish a second edition of his textbook in 2005.

More linked list modifications and enhancements date back to the 1980s. This 1991 paper even discusses the methods covered by the patent to cut the implementation's complexity to O(log n).

The problem is that prior art means nothing until litigation unless it's prior art from a patented work. Unpatented material (like open source software, and basic public domain material as shown here) cannot be used as prior art. The PTO has policies against the patent examiner searching the internet for prior art. The rationale is that should a patent examiner go searching the web, that searching could reveal confidential information that would be disclosed to numerous other third parties. Any time someone uses a search engine to reach my site, I can see exactly what the visitor put into the search engine (and sadly, we actually license some of these people to operate motor vehicles). The PTO's rationale is very strong, but the cost of not weighing in all that public domain and otherwise unpatented material is so huge. Undoubtedly, LSI, the assignee to this patent, will use this bogus patent in litigation, thus waisting the resources of other diligent programmers.

..:: Obviousness

Various implementations of multiply linked lists are covered in basic college programming courses. If that is not fact enough to prove that this concept is obvious (seeing as it's a foundation of computer science), look at what the textbook authors are saying. Amusingly, Jiri Soukup advertised regarding his 1994 data structures book:
This book is about simple, obvious things that make or break big projects.
While some commentators to this patent argue that this patent is aimed and backed at multiply linked lists with unconventional sorting methods, the basic implementation of the doubly linked list can be described by the patent's first claim:
A computerized list that may be traversed in at least two sequences comprising: a plurality of items that are contained in said computerized list; and a primary pointer and an auxiliary pointer for each of said items of said computerized list such that each of said items has an associated primary pointer and an associated auxiliary pointer, said primary pointer functioning as a primary linked list to direct a computer program to a first following item and defining a first sequence to traverse said computerized list, said auxiliary pointer functioning as an auxiliary linked list to direct said computer program to a second following item and defining a second sequence to traverse said computerized list.
The standard in obviousness is whether the invention would have been obvious to one reasonably skilled in the art. How linked lists of unspecified multiplicity, but including singularly and doubly linked lists, can exist as a foundation of computer science since at least the 1980s, yet also be non-obvious in 2002 is ridiculous. Unfortunately, the Supreme Court won't rule on obviousness until July.

..:: Why this is Important

Steve Ballmer has been shouting about how Linux violates multiple patent's owned by Microsoft. The allegations have become so numerous, but Ballmer has refused to back a single one. It has become so commonplace for Ballmer to spout off these allegations that a show us the code movement has begun. Open source advocates are requesting that Ballmer stand up to his threats, or quiet himself.

Notably, the basic linux kernel seems to employ LSI's "patented" technology in /usr/src/Linux/include/scsi/scsi_cmnd.h. The struct scsi_cmnd happens to be called for two different doubly linked lists. The fact that this patent exists just goes to show that even if Linux does have technology covered by Microsoft's patents, there's not necessarily any merit to any of those claims. Should Ballmer actually pursue action against Linux developers or users, Microsoft stands to lose a significant portion of their patent portfolio, which is undoubtedly licensed to numerous other companies, including the free-sharing of IP agreements with the likes of Siemens.

Post Last Updated: Mar 20, 2007 6:27 am
Related Articles
..:: Google Patent Search - Dec 14, 2006 9:36 pm
Social Bookmarking (?)

StumbleUpon

Add Comment
Name:

Comment:


Please do leave a comment as I love to get feedback from visitors.
  • All fields are required, but your real name is not required.
  • Plain URLs (once again, no HTML or BBcode) will change to clickable links after 72 hours.
  • Comments are of the opinion of their author, not myself, and are not endorsed by myself.
  • Spam will immediately call upon the wrath of the BanHammer.