Linked List Patented in 2006 477
An anonymous reader writes "Congratulations are in order to Ming-Jen Wang of LSI Logic Corporation who, in patent #10260471 managed to invent the linked list. From the abstract, "A computerized list is provided with auxiliary pointers for traversing the list in different sequences. One or more auxiliary pointers enable a fast, sequential traversal of the list with a minimum of computational time. Such lists may be used in any application where lists may be reordered for various purposes." Good-bye doubly linked list. We should also give praise to the extensive patent review performed by Cochran Freund & Young LLP."
Patent is on multiply-linked lists (Score:5, Informative)
To be fair, he invented a doubly linked list (Score:3, Informative)
Patent is on multiply-linked lists -- 1983 ref (Score:1, Informative)
Endogenous structures are more space-efficient than exogenous ones, but they require that a given element be in only one *** or a fixed number of structures *** at a time.
Re:To be fair, he invented a doubly linked list (Score:5, Informative)
What's worse? LibTomCrypt uses quad-lists (prev/next, parent/child) so it seems that I violate this patent. Gotta go cut a cheque to LSI.
Tom
Two things... (Score:5, Informative)
Re:Thanks go to John Breene and Cheryl Lewis (Score:1, Informative)
Try that on these guys, i think i can yell "prior art" on almost all of these "inventions".
Re:Patent is on multiply-linked lists (Score:2, Informative)
Hindsight Bias + EU Criminal infringement (Score:4, Informative)
Here in the EU, JURI is trying to criminalize all IP infringements again:
http://press.ffii.org/Press_releases/Criminal_San
The vote is expected 20th March (tomorrow) with the aim of making minor copyright, trademark and patent infringement into a criminal offense. There is no fair use in Europe either.
This has little to do with the real world, EU has no jurisdiction in European criminal law, but if it can make a trade issue into a criminal law issue it can expand EU control in that direction. So JURI has cooked up this trick whereby IP rights are claimed as a trade issue and pumped it up to claim infringement needs criminal prosecutions.
Where and How to Complain (Score:3, Informative)
Re:Software vs hardware? (Score:4, Informative)
Easy: Babbage had to design the gears, switches, etc, and the arrangement thereof to get the effect of calculation. That's patentable. The algorithm he intended to use it to accomplish is not; it's just an artifact of math, and subject to the natural laws clause.
If you used an FPGA, you could patent the arrangement of gate-feilds, possibly, but the algorithm you're trying to achieve would (should) still not be patentable.
Dupe (Score:3, Informative)
Re:Patent is on multiply-linked lists (Score:5, Informative)
That's simply not true. Patent claims are frequently built upon prior claims in the same patent; if a later claim is built on an earlier claim (e.g. in this case where claim 2 cites claim 1) then you need to infringe both parts in order to fall fowl of the later claim. That said, infringing a stand-alone claim (like claim 1 here) is sufficient in itself.
As far as I can tell claim 1 really does hit a standard doubly-linked list; you have the plurality of data items, a primary order of traversal and an auxiliary order (e.g. reverse traversal). There is obvious prior art for this and the claim should be invalid. Claim 2 is therefor also invalid, irrespective of it's novelty, since it cites an invalid claim. Claims 3 and 4 also have obvious prior art.
Personally I think that patents like this are great, since they add substantial support to the argument that the USPTO are, despite their avowed best efforts, incapable of assessing the novelty of software patents, and that they should stop trying.
Mod parent down...! (Score:1, Informative)
What you are saying is simply wrong! You can infrige on every claim, not only on 'leaf nodes'. However, what have to be taken into account is that dependant claims inherit all features of their parent claims. Dependant claims are therefore narrower, and harder to infrige, claims higher up on the hierarchy are broader, therfore easier to infrige but also easier to be invalidated by prior art.
Re:Thanks go to John Breene and Cheryl Lewis (Score:5, Informative)
I had a B.S. in C.S. and I was simply working on GUI patent apps. They wouldn't hire someone with a degree in an outside area (like Business or something) to do C.S. work, although there were a lot of EE's doing C.S. work (although I see that in the commercial realm a lot too, not always to great success, but sometimes).
Wouldn't recommend it for anyone other than an anti-social who wants to make bank and doesn't mind a boring, high-stress job.
Re:Prior Art? (Score:4, Informative)
I'm not going to take the time to read the patent itself, but just an FYI on your comment, multi-list cells can be considered triply-linked lists. Useful for replacing sparsely populated two-dimensional arrays. Or skip lists, which are rather nifty, though I've never had a real-world application for them beyond job-interview brainteasers.
Hrm, I wonder if there's anything else patentable in my old Data Structures and Algorithms class notes...
Re:Prior Art? (Score:3, Informative)
Re:Prior Art (Score:3, Informative)
Under section 9.5 (Other Multiply-Linked Lists), there is a description of "Multiply-Ordered Lists" which is identical to what is in the patent.
An excerpt from the text:
"In some applications however, it is necessary to maintain a collection ordered in two or more different ways... One way to accomplish such multiple orderings is to maintain separate ordered linked lists, one for each of the desired orders... A better approach is to use a single list in which multiple links are used to link the nodes together in the different orders."
The same section of a newer edition is available for viewing online here [safarix.com].
Prior art? (Score:2, Informative)
But, this is a well known data type, known as a multiply linked list. A couple of minutes with google code search gave me an example in the form of the "engine" structure in GIST [google.com], which can be traversed in order of Active Engines.
Oh, and also - Dupe! [slashdot.org]
Current Openings with USPTO (Score:2, Informative)
Re:Prior Art? (Score:2, Informative)
Re:It is not a patent (Score:4, Informative)
linky [uspto.gov]
Textbook Algorithm (Score:2, Informative)
Re:Current Openings with USPTO (Score:1, Informative)
And while it is possible for someone to start at $38,435/year, there is no practical way anyone would be hired at the LOWEST possible salary from the pay table for examiners: http://apps.opm.gov/SSR/tables/StaticFiles/SrText
Pay is actually very good, and it's easy (relative to industry) to get promoted/pay raises. It's possible to start at 7/10 (currently ~62k) and double your salary in about 4-5 years. There are very very few places in industry where that is possible.
Starting pay is commensurate with education AND your GPA. Your degree determines your pay grade, and your GPA determines your step.
Re:Prior Art? Or just stupidity? (Score:2, Informative)
Although in application and detail, I cannot see ever using this, as multiple orderings of a list sound painful and expensive to update and maintain. I suspect this is spaghetti code in the form of a patent, as I can construct the example out of three lists, and the additional headache would only be worth it if the reduction of half the total space used (approximately) would be significant (this is based on the assumption that the list items are pointers to the real objects elsewhere.) It should also be noted that that is just a reduction in the list size which does not include data (which I would expect to be far larger). It also would reduce the constant factors in item deletion (delete and (while increasing them for item creation), both netting zero change. I suppose it would allow for some features such as dynamic ordering changes (changing sequence while reading back the list (abcde read as abcba or something)).
I have to say that I feel a great deal of sympathy for the examiner who was responsible for dealing with this patent, as it was horrible (the horror...)
35 U.S.C. 101 and Reexamination Procedures (Score:3, Informative)
First, claim 1 may be invalid under 35 U.S.C. 101 [uspto.gov] as claiming unpatentable subject matter. It has been my experience that a 35 U.S.C. 101 rejection will issue against a "software patent" where the claim is not directed to something that produces a "useful, tangible, and concrete" result (see, State Street Bank v. Signature [bustpatents.com]). More often, this type of rejection will issue against a claim (not an application), where the claim is directed to purely mathematical operations with no tie-in to hardware to perform that operation. In reading claim 1, there appears to be no claimed hardware that performs the algorithm recited, and hence, I would argue that the claim is invalid. For a more thorough discussion of patentable subject-matter, please see Section 2106.1 [uspto.gov] of the Manual of Patent Examination and Procedure. However, without looking at the image file wrapper [uspto.gov], I don't know what rejections were applied to this application to determine whether claim 1 was amended to overcome this specific rejection.
Now, that being said, if you are concerned about invalidating this patent (which I'll note issued in April 2006, almost one year ago), you should first find "prior art" before the earliest filing date of the application. In this case, that date appears to be September 26, 2002. I say "appears to be" because the application does not claim priority to an earlier filed foreign application or U.S. provisional application. Next, after gathering your pre-September 26, 2002, you should follow the re-examination procedures for submission. See Section 2200 [uspto.gov] of the MPEP. Keep in mind, that when a third-party submits prior art for a re-examination proceeding, the prior art should present a new question of patentability. After submission of the "prior art," that third-party is generally not allowed to make comments during the re-examination proceeding. Hence, if the USPTO finds that the "prior art" does not present a new question of patentability, you may have inadvertently made the patent "stronger" and less likely to be invalidated during litigation. Accordingly, you should consider whether infringing this patent may be better procedure, and thus filing a motion that the patent is, in fact, invalid.
This views represent my own and are in no way affiliated with any government organization or private entity.
Re:Prior Art? (Score:3, Informative)
Re:Prior Art? (Score:3, Informative)
The patent may claim triply-linked lists (see claim 2), but it also makes a claim on doubly linked lists.
Re:35 U.S.C. 101 and Reexamination Procedures (Score:5, Informative)
In submitting your pre-September 26, 2002 "prior art," you should also make sure that the "prior art" is at least "prior art" under 35 U.S.C. Section 102(b) [uspto.gov]. For the unfamiliar, this is "102(b)" prior art. "Prior art" that falls under the rubric of 35 U.S.C. Section 102(b) generally cannot be challenged by the Applicant of the application for patent. For example, with "102(a)" prior art, the Applicant for patent can "swear behind" the prior art to show that the the Applicant's "date of invention" is before the "prior art's" earliest effective date.
As an example, I note that the filing date of application is September 26, 2002. In this example, if you were to submit "102(a)" prior art with an earliest effective date of September 27, 2001, the Applicant of the patent may be able to demonstrate that he/she was working on the invention as of September 20, 2001, hence, overcoming the application of this art (there are some legal concerns regarding what constitutes "working on," but I'll save that discussion for a later time). Now, suppose you submit "prior art" with an earliest effective date of September 25, 2001. This is "102(b) prior art" because it's earliest effective date is at least one year prior to the earliest effective filing date of the application (there are some issues when the application claims priority to an earlier filed application, but this is not the case). In this scenario, where the "prior art" applied is "102(b) prior art," the Applicant cannot swear behind the applied "prior art," even if the Applicant was working on the invention before the earliest effective date of the "102(b) prior art."
That being said, you should also consider whether your "102(b) prior art" discloses each and every limitation of all of the claims, not simply the independent claims (in this case claims 1, 3 and 4.) (For a discussion of "what is a limitation," see the various sub-sections of Section 608.01 [uspto.gov] of the MPEP. However, I will note that you can combine references under 35 U.S.C. 103 [uspto.gov], but again, that's a discussion for another topic.
So, to recap:
1) Make sure that your reference is before the earliest, effective filing date of the application for patent (i.e. that it is "prior art");
2) Make sure that your "prior art" is "102(b) prior art"; and,
3) Make sure that each and every limitation of each and every claim is disclosed in the application.
These views represent my own and are in no way associated with any government organization or private entity.
Re:Prior Art? (Score:3, Informative)
Re:Prior Art? (Score:2, Informative)
It's really unfair to suggest that the patent examiner responsible for allowing this patent should respond to criticisms given that the examiner's reasoning is already publicly available. Just go to the USPTO Patent Application Information Retrieval [uspto.gov] system and search for patent number 7028023. You can see what the patent examiner reviewed, what was argued, what the response was, etc.
After reading through these documents, then it is fair to argue that there was a better approach to analyzing the patent application. For example, the examiner relied heavily on the argument that this patent [uspto.gov] anticipated the claimed invention when rejecting the claims. This patent was not closely related to the claimed invention (it involves a linked list paired with an array pointing into various places in the list). A sorted double-linked list may very well have formed a better basis for an argument because it is at least more closely related. Also, the examiner did not make any obviousness claim. Perhaps it was too difficult to find some teaching or suggestion that would have made the claimed invention obvious in light of the prior art, but perhaps the examiner would have been able to find something had the examiner spent less time writing out an argument that the claimed invention was not patentable art (not because of obviousness or novelty, but because of subject matter).