Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

LSI Patents the Doubly-Linked List 328

An anonymous reader writes "Back in April, LSI was granted patent number 7028023. This is a patent on a stunning new technique in data structures ... the concept that a linked list can in fact have multiple orderings. Of course, this has been used since the beginning of (computer) time in the form of doubly-linked lists. Even if LSI wants to (somehow) claim that the doubly-linked list doesn't count as prior art, maintaining linked lists of graphical objects sorted by both x and y co-ordinates for collision detection has been done since "graphical objects" meant ASCII characters on a green-on-black screen, and has probably been widespread in databases for probably even longer."
This discussion has been archived. No new comments can be posted.

LSI Patents the Doubly-Linked List

Comments Filter:
  • by Josh Lindenmuth ( 1029922 ) <joshlindenmuth&gmail,com> on Thursday November 23, 2006 @12:46PM (#16964988) Journal
    While one could at least make a somewhat intelligent argument why software that costed companies like Apple or Microsoft Millions (or even Billions) of dollars to create should be patented, there's no logical argument for patenting data structures. This patent was first submitted in 2002, which probably means it was turned down and appealed at least twice. As anyone who has gone through the patent process knows, if you appeal enough times eventually you might find an examiner who is clueless enough to grant the patent.

    I couldn't imagine LSI ever intends to protect the patent (since it obviously would never stand up in court). Most likely, they are just seeking bragging rights "Hey look, we had 30 patents approved this year".

    Our government needs to more clearly delineate what software can and cannot be patented in order to prevent more ridiculous patents. I'm more in the 'No Software Patents' camp, but I think there are exceptions, particularly for very specialized software in specific industries.
  • by foobsr ( 693224 ) on Thursday November 23, 2006 @12:47PM (#16964994) Homepage Journal
    1. Take a fundamental concept
    2. Describe it as complicated as possible
    3. Put the result through a patent-lawyers office in order to make sure the claims get even more obfuscated
    4. Apply successfully for a patent
    5. Profit!

    CC.
  • by sinij ( 911942 ) on Thursday November 23, 2006 @12:53PM (#16965042)
    Patents do not have to be meaningful, or even have a remote chance of standing up in court. They are weapons in corporate world and you use them mostly to cause damage. If your public company is sued you lose money in legal fees, might lose investor confidence in a critical moment and overall end up in a loss even if you easily won it. Just look at Research In Motion if you need to see how much damage can frivolous patent deal.
  • by Dunbal ( 464142 ) on Thursday November 23, 2006 @01:08PM (#16965176)
    Our government needs to more clearly delineate what software can and cannot be patented in order to prevent more ridiculous patents.

          No! That would only make things worse. Government is always too slow in this kind of thing anyway. Just do away with "software" patents completely. Copyright yes - of the FINISHED WORK. Patents no. It's like a painter who wants to patent or copyright every separate blob of paint on his canvas. This does not make sense.
  • Re:Not exactly (Score:3, Insightful)

    by Dunbal ( 464142 ) on Thursday November 23, 2006 @01:14PM (#16965228)
    So you could have a list of, say, files with links giving alphabetical order, and links giving size order, and thirdly links giving file types without having to resort the list. You might use this in a file-list screen.

          I've done this kind of thing before in my programs and I am by no means a professional programmer. Just a dude who got hooked on C 17 years ago and likes to mess around with a computer. US patent law is broken. What's worse is the way the US tries to make the rest of the world accept it as well.
  • Re:Not exactly (Score:4, Insightful)

    by Per Abrahamsen ( 1397 ) on Thursday November 23, 2006 @01:23PM (#16965296) Homepage
    A double-linked list is a special case of the technique described in the patent, and should as such be enough to invalidate the. The summary also mention other special cases of the patent claim.
  • by gmack ( 197796 ) <gmack@@@innerfire...net> on Thursday November 23, 2006 @01:24PM (#16965308) Homepage Journal
    I don't think that would help. This is a patent on a linked list with two sets of pointers. This contstruct is COMMON and If I had to send everyone with a patent on some common data structure for every user I shipped the costs would very quickly outstrip any revenue generated. The only way your idea can work is if we go back to charging $1000+ for software.
  • by Dunbal ( 464142 ) on Thursday November 23, 2006 @01:29PM (#16965344)
    An outright "No Software Patents" stance would say that any company could then duplicate the oil company's unique software, leaving them no protection for their massive investment and intellectual property.

          You know, it's up to the oil company to make sure that no one gets their hands on the software, just like Coca Cola makes sure no one finds out about the "secret formula". If someone outright steals the software and sells it to someone else, copyright law is now full of 6 figure fines and jail time - enforce THAT. What's really happening is that people are not protecting systems. They are trying to "protect" tiny parts of programs. This essentially stops anyone else from creating a program that does roughly the same thing. Even if it does that same thing in a different way, it will definitely wind up in court. That's absurd. Yes the whole system you describe warrants protection.

          But not the individual algorithms for goodness sakes. Here you could argue "but what about scientific formula and drugs, and the pharmaceutical industry". That's different - these people are FORCED to reveal their work in order to pass the FDA. They need greater protection since they can't keep the contents of their meds a secret. But for the rest, I think most of burden of protecting trade secrets should fall on the industry that has the secret - not everyone else having to prove via defensive litigation that their software does NOT infringe on a "patent" for some algorithm or other because it does something similar.
  • by shario ( 109443 ) on Thursday November 23, 2006 @01:30PM (#16965362)

    Unlikely that they would be able to protect it but I doubt that they did it for 'bragging rights'. It is too expensive to do it for 'bragging rights.'

    No, they do it because R&D gets their bonuses based on how many patents they get.

  • Fifth Normal Form. (Score:3, Insightful)

    by arthurpaliden ( 939626 ) on Thursday November 23, 2006 @01:32PM (#16965376)
    You mean like the master key in a fifth normal form database (binary normalized) data base.
  • by joto ( 134244 ) on Thursday November 23, 2006 @01:45PM (#16965494)

    The investment and results are the same in either case, the only difference is that we're talking about something physical instead of software.

    The "only" difference? You make that sound like it is of minor importance. It is not. Software is intellectual property. You don't go around patenting the plot of a book or a movie, the chord-progression in a song, the concept of "self-help" audiotapes, or the new mathematical theorems discovered by some genius mathematician (or algorithms, business methods, or sequences of base-pairs for that matter, although sadly the US has started doing just that)

    Patents are a very specific right that is granted specifically to give the inventor of new inventions a fair chance of recouping his investments. Unlike music or software, which is protected by copyright, once someone invents e.g. the four-stroke combustion engine, anyone is free to produce it. Patents are designed to help the inventor here, it's not a general purpose mechanism of protecting all kinds of "ideas". The "default" position is to have no patents at all. Arguing that since patents protect one kind of idea, it should protect other kinds of ideas, is completely silly. And patenting software, business processes, or genes is also silly.

    If we remove all software patents, we also remove part of the incentive for large corporations to invest in software. There needs to be some protections, they just need to be smart

    Exactly. We remove some of the incentive for large corporations to invest in software. At the same time, most of the incentives remains, such as having some new software "that takes existing geological maps and analyzes it in a novel way". This software can be used internally for finding oil, it can be licensed to other companies, or used in lots of other ways to generate profit.

    Also, it should be made clear that even if software patents benefits large companies (which I believe was true at some point, although I'm starting to doubt it still is), it does not benefit small companies. Taking away software patents makes it easier for small companies to invest in software. I'm not particularly in favour of laws that only benefits large companies.

  • by Kuciwalker ( 891651 ) on Thursday November 23, 2006 @01:50PM (#16965540)
    You know, it's up to the oil company to make sure that no one gets their hands on the software, just like Coca Cola makes sure no one finds out about the "secret formula".

    And thus, the company never publishes the things they discovered and society has to keep reinventing them, since everyone who discovers them keeps them secret. Whereas with patents, the company gets a monopoly on that particular thing for 20 years and then society is free to use it for eternity. What you propose just results is massive duplication of research.

  • by Znork ( 31774 ) on Thursday November 23, 2006 @01:55PM (#16965592)
    "If we remove all software patents, we also remove part of the incentive for large corporations to invest in software."

    Nice theory. It's also completely and utterly at odds with the foundation of modern free market competition.

    The free market has one fundamental incentive; you do it cheaper and you do it better than the competition or you _lose your investment_.

    'Protect' investments and you lose that incentive; you end up no better than protected state monopolies. See the former Soviet union for indications on the particular efficiency of state protected monopolies.

    'Protection' is for investors who dont want to work for their money (aka, rent-seeking); the fundamental nature of 'investment' is that you _risk_ your money for a return.

    "There needs to be some protections, they just need to be smart."

    No there doesnt. In a functional market there is no god-given right to make a profit off investments, there's only an eternal struggle to be slightly more efficient and thus more profitable than the competition. You spend that billion (or preferably much less on incremental improvements instead of huge-ass failure-prone glitz projects) because if you dont the competition is going to wipe the floor with you and you might just as well liquidate while the going is still good (thus freeing up investor capital to go to some more forward looking venture).
  • Strawman! (Score:4, Insightful)

    by raehl ( 609729 ) <(moc.oohay) (ta) (113lhear)> on Thursday November 23, 2006 @02:06PM (#16965660) Homepage
    A large oil company spends $1 Billion developing software that takes existing geological maps and analyzes it in a novel way. This robot is so effective at what it does that they patent it to ensure they protect their investment.

    For argument's sake, tell me the difference between these two scenarios:

    The difference is, nobody spends $1 billion developing a basic software algorithm. It's telling that the example you are trying to use to justify software patents is fictional.
  • by N Monkey ( 313423 ) on Thursday November 23, 2006 @02:19PM (#16965766)
    Our government needs to more clearly delineate what software can and cannot be patented in order to prevent more ridiculous patents. I'm more in the 'No Software Patents' camp, but I think there are exceptions, particularly for very specialized software in specific industries.

    No. It's not software patents, per se, that is the problem. It's being able to "patent the bleeding obvious" that is the problem.

    This particular example, IMHO as "one skilled in the art [of computer programming]", falls slap bang into the "obvious" bucket.

    There is nothing wrong with having technical software (or any other method of implementing) patents provided what is being patented is novel and non-obvious.

  • by E++99 ( 880734 ) on Thursday November 23, 2006 @02:43PM (#16965928) Homepage
    it is certainly *NOT* a simple doubly-linked-list.

    There's one claim for a list where the nodes have two pointers, and another where the nodes have three pointers. A double-linked list is a specific implementation of the first claim, where the two sort orders happen to be forward and backward. His claim is broader than that, since his two sort orders can be unrelated to each other, but since a double-linked list falls into his definition, his first claim is certainly not novel. And, of course, nothing he claims would be non-obvious to a programmer, but I have no idea how one goes about showing that in court.
  • by Anonymous Coward on Thursday November 23, 2006 @02:48PM (#16965940)
    Patents, therefore, are a tradeoff. They protect the inventor while encouraging them to disclose their techniques. Thus, the inventor gets something (a government protected monopoly for a limited period), and society gets something (access to the details of the technology).

    The problem is that for almost all software patents, a monopoly is being granted for details we did not actually need to know, because they are obvious to anyone 'skilled in the art'. Or even 'unskilled in the finger daubing'. The value of the monopoly is much, much, greater than the value of the information we're getting.

    I'd venture that this is true not just of software patents, but in software, the progress made in the absence of a patent regime for so many years spoke volumes about the lack of a need for patent protection.

  • by FireFury03 ( 653718 ) <slashdot&nexusuk,org> on Thursday November 23, 2006 @02:53PM (#16965978) Homepage
    What you propose just results is massive duplication of research.

    So basically we have 2 options:
    1. Disallow software patents, people wishing to protect their work will keep it secret and other people can come up with their own (probably very similar) solutions to the same problem.
    2. Allow software patents and therefore prevent *anyone* else from producing anything similar on their own.

    Option (1) seems like the better option to me since at least it allows third parties to come up with a solution. Remember that in most cases the patent holder either won't licence their technology at all, will licence it for infeasable amounts of money, or put very restrictive terms on the licence (what good is the ability to use some technology if you're not allowed to integrate it into your FOSS project?)

    And this is assuming you even realise you're infringing someone's patent. Remember, you're still infringing a patent even if you came up with the idea on your own - all too often a product is developed independently, becomes very successful and then the producer is sued for infringing a patent that they had never heard of. It's now got to the point where it's pretty much impossible to write a piece of software without infringing _someone's_ patent.

    Also, from my experience the threat of people suing for patent infringement often motivates corporations to keep source code closed which they would otherwise be happy to open to the public - this is certainly not a good thing.

    Patents have been turned into ammunition for large corporations - having 100,000 patents prevents the guy who only has 80,000 patents from suing you. Unfortunately the little guy who's got no patents and no money for lawyers gets completely squashed in the process. Maybe patents are sometimes good for small inventors, but they are open to abuse by large organisations. And even if you are in the right and have prior art, how the hell are you, as a single person on your own, going to be able to defend yourself in court against some huge corporation such as IBM, Microsoft, HP, etc?
  • by Jah-Wren Ryel ( 80510 ) on Thursday November 23, 2006 @03:04PM (#16966076)
    I'd venture that this is true not just of software patents, but in software, the progress made in the absence of a patent regime for so many years spoke volumes about the lack of a need for patent protection.

    Give this AC the whole EFFing bakery. Finally, someone who actually understands the effects of software patents in the real world.

    In the "copyright debate" there is lots of arguing back and forth about the necessity of copyrights to encourage the "progress of science the useful arts." But it is all just a bunch of postulating.

    Here we have demonstrable proof that software patents are not necessary because the whole shebang is only about a decade old, and their creation has not done anything to markedly improve the situation. If anything, it has been the reverse with proprietary software stagnating and consolidating into a handful of big corps like MS and Oracle. All the really innovative stuff is happening in the Free world which is antithetical to the idea of software patents.
  • by zopf ( 897522 ) on Thursday November 23, 2006 @03:10PM (#16966122)
    Computer science is only a hop, skip, and a jump away from hard mathematics. What would happen to the field of mathematics if mathematicians started patenting their novel analysis methods?
  • by compro01 ( 777531 ) on Thursday November 23, 2006 @03:22PM (#16966202)
    In 20 years, that software will very likely be next to worthless and out of date anyways. Application software just doesn't stand the test of time like physical products do.


    the problem being that they aren't patenting applications, but rather that they are patenting concepts, which often are timeless.
  • by Mark_MF-WN ( 678030 ) on Thursday November 23, 2006 @04:06PM (#16966448)
    It's probably worth it if you're a CEO for a corporation. After all, CEOs don't spend their own money, they spend the company's money. It would hurt the shareholders, but if it makes the shareholders think that the CEO is doing something awesome (what could be more awesome than synergizing an IP portfolio?) that will make money, then they'll keep paying the CEO.

    Bragging rights are totally worthwhile, if they keep investors happy. And corporations routinely spend up to 30% of their revenue on keeping investors happy. The cost of a few bogus patents are peanuts as a part of that.

  • by asuffield ( 111848 ) <asuffield@suffields.me.uk> on Thursday November 23, 2006 @04:11PM (#16966484)
    Finally, someone who actually understands the purpose of patents. The whole deal, here, is that, in the past, people just kept their inventions secret if they could. The end result? Techniques could die with their inventor (read about Damascus steel for a great example of this). And, as you say, meanwhile people have to duplicate the effort.


    How exactly are these companies not keeping their inventions secret? Where is the source code?

    The patent system is failing to solve this problem. Companies have realised that they can simply patent some parts of their invention, and keep other parts secret, so they get the 'best' of both worlds - nobody can legally copy their invention, and nobody can technically copy it either because they don't know enough about it - and reverse engineering is now outlawed thanks to the DMCA, so nobody can legally find out how the invention works in that way either. Furthermore, the extra layer of copyright means that the patents never expire (because copyright on the patented code never expires, so even after the patent runs out, you still can't use it unless you're willing to spend large amounts of money in court, proving that your implementation doesn't infringe).

    Read any software patent. It describes part of a system but doesn't say enough for a person "skilled in the art" to be able to recreate the system. By intentionally patenting only some of the system, the 'tradeoff' is completely destroyed. Patents are monopoly abuse, period.
  • by turbidostato ( 878842 ) on Thursday November 23, 2006 @04:12PM (#16966488)
    "Our government needs to more clearly delineate what software can and cannot be patented"

    The only clear (and positive) way is, in fact, very easy: "noone".
  • by Knuckles ( 8964 ) <knuckles@dantiEULERan.org minus math_god> on Thursday November 23, 2006 @05:58PM (#16967576)
    I can't see any way of creating a definition that would have a chance in hell of ever being anything but ambiguous and self-contradictory.

    That's because being ambiguous and self-contradictory is its purpose. [fsf.org]
  • by fpmchu ( 1031410 ) on Friday November 24, 2006 @03:51AM (#16971566)
    Ok, to summarize said claims and said summary:
    1) A data structure where each item has two (or three) pointers, and specifically it has to be done so that there are exactly two (or three) ways of traversing the list.

    This is not a doubly linked list, nor does it resemble one: doubly linked lists have ONE ordering, each item using two pointers to point forwards or backwards with respect to the ordering. The point is that this patent presents a completely and utterly useless data structure. A linked list is not made for searching quickly. But yet, the patent claims:

    "The conventional method of searching a list is sequential. This involves traversing the list to locate a specific item in the list. [...] The conventional method is time consuming and may require many computational cycles to find the necessary items in the proper sequence."

    This method is not conventional. It's the only method. That's the whole point of linked lists. Then it continues:

    "Lists may be sorted so that the items may be accessed sequentially. Once the list is sorted into a particular sequence, the individual items may be accessed in order very quickly. However, there is substantial overhead in the reordering of the items into the desired order."

    If it means accessing an individual item randomly, this cannot be done, unless the list is first sorted into an array and use binary search, which breaks away from the linked-list structure. If it means accessing all items in order, then no, there is no substantial overhead in the reordering of the items.... it's the same overhead as accessing the items in order.

    Then the conclusion sums up these fallacious arguments into its climax:

    "In some cases, there is a need for the list to be presented in more than one order. ... It would therefore be advantageous to provide a system and method for quickly traversing a sequential list in a second sequence."

    Indeed it would be nice to quickly traverse the list in a different order. But first this does now allow us to search better (as suggested in the first paragraph), nor is the new data structure more efficient than other data structures out there (you CANNOT do better than linear time sorting if you need to traverse the list!).

    This is like a classic example of a "bad, horrible" data structure that undergraduates are asked to analyze in a homework question, like "here's a data structure. Write a paragraph showing why it isn't a good idea. Can you come up with something better?"

    Notice that this structure does NOT allow constant time insertion/deletion, which is the whole point of linked lists (the tradeoff for not being able to search quickly). Without a tree structure, there is no way of knowing where to insert a random element, except to prepend or append it to the list. So when insertion/deletion is frequent, binary search trees are better, as they still allow linear time traversal. If search time is critical, use hash tables. If one needs multiple orderings, then use multiple index trees (aka database). When the data is fixed and never changes, then multiple arrays storing values and pointers to the items are better, because they not only allow linear time traversal, but also fast search. I can go on and on here... to put it bluntly, the said data structure is a new idea, in the sense that it's so stupid no one would actually use it (and thus would never mention it).

    Don't worry guys. This patent managed to dig so low technically that it is worse than obvious data structures. And if anyone is dumb enough to pay them for such patent... well, natural selection.

There are two ways to write error-free programs; only the third one works.

Working...