[opensuse] Double Linked List patented in 2006
Double Linked List Patented in 2006 see Slashdot today, http://www.patentstorm.us/patents/7028023.html Well, well. If this doesn't prove that the United States Patent Office (not to mention the clucks at Cochran Freund & Young LLP) are absolutely and completely incompetent with regard to issuing software patents. Software Patents *must* Die Just to keep things on-topic, Cochran Freund & Young LLP are going to be coming after Suse Novell for extensively using doubly linked lists in most of their open sofware... sorry guys, you won't be able to hide under the M$ deal. ;-P *strictly tongue in cheek* -- Kind regards, M Harris <>< -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Mar 19, 07 12:50:12 -0500, M Harris wrote:
Double Linked List Patented in 2006
see Slashdot today,
http://www.patentstorm.us/patents/7028023.html
Well, well. If this doesn't prove that the United States Patent Office (not to mention the clucks at Cochran Freund & Young LLP) are absolutely and completely incompetent with regard to issuing software patents.
Software Patents *must* Die
Just to keep things on-topic, Cochran Freund & Young LLP are going to be coming after Suse Novell for extensively using doubly linked lists in most of their open sofware... sorry guys, you won't be able to hide under the M$ deal. ;-P
*strictly tongue in cheek*
When exactly was that invented again? 2006? *LOL* Come on. They cannot say 'yelp' as fast as we can say 'prior art'. cheers, Jw. -- o \ Juergen Weigert paint it green! __/ _=======.=======_ <V> | jw@suse.de wide open suse_/ _---|____________\/ \ | 0911 74053-508 (tm)__/ (____/ /\ (/) | __________________________/ _/ \_ vim:set sw=2 wm=8 SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Monday 19 March 2007 18:50, M Harris wrote:
Double Linked List Patented in 2006
see Slashdot today,
http://www.patentstorm.us/patents/7028023.html
Well, well. If this doesn't prove that the United States Patent Office (not to mention the clucks at Cochran Freund & Young LLP) are absolutely and completely incompetent with regard to issuing software patents.
Software Patents *must* Die
Just to keep things on-topic, Cochran Freund & Young LLP
They don't own the patent. They are the attorneys. The patent is owned by LSI And yes, it looks totally silly
are going to be coming after Suse Novell for extensively using doubly linked lists in most of their open sofware... sorry guys, you won't be able to hide under the M$ deal. ;-P
Novell never had to. Novell has enough patents of its own to be able to counter-sue anyone into the ground (the stated purpose of the patent portfolio is to be able to defend against just such spurious patent idiocies) But of course it isn't going to happen. LSI is a valid business, and not a patent marauder What I really wish though, is that the US legal system changed, so that the losing party in such a law suit had to pay legal costs for the winner. If we can't get rid of patents, I'm pretty sure such a move would get rid of the idiotic law suits. Any banker in the world would back anyone to defend against patents like this, if the attacker had to pay the costs when they lost -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Anders Johansson wrote:
What I really wish though, is that the US legal system changed, so that the losing party in such a law suit had to pay legal costs for the winner.
This would tilt the system to favor wealthy corporations even more than it already does. Already, an individual is at a great disadvantage when suing a corporation, because the corporation can bring more money and legal expertise to bear. If the individual faced having to pay the corporation's legal fees as well as their own, a lot of cases would never get filed, even if the individual was likely to win, because the risk would be too high. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On 19-Mar-07 17:50:12, M Harris wrote:
Double Linked List Patented in 2006
see Slashdot today,
http://www.patentstorm.us/patents/7028023.html
Well, well. If this doesn't prove that the United States Patent Office (not to mention the clucks at Cochran Freund & Young LLP) are absolutely and completely incompetent with regard to issuing software patents.
Seeking some clarification here.
What is commonly known as a "double linked list" or more
correctly a "doubly linked list" consists of a set of nodes
where at each node a data element is stored, along with
a pointer to the next element in the list and also a pointer
to the preceding element in the list. This allows the list
to be traversed in both directions.
If you read the patent description at the above URL, you find
that what it describes is a generalisation of this, namely a
set of nodes at which (as before) a data element is stored,
along with two or more linkage nodes in each direction, thus
allowing two or more different traversal sequences. For example:
[1]
A[->B][->D] B[->C][->A] C[->D][->B] D[->A][->C]
is a standard circular double linked list over data elements
A, B, C, D:
A <-> B <-> C <-> D <-> A
What they are talking about is on the lines of
[2]
A[->B][->D] B[->C][->A] C[->D][->B] D[->A][->C]
[->C][->D] [->D][->C] [->B][->A] [->A][->B]
coerresponding to the "double linked list"
A <-> B <-> C <-> D <-> A
A <-> C <-> B <-> D <-> A
i.e. it is effectively two linked lists, but over the same
data, and is implemented by using only one copy of the data
elements but providing each element with two sets of pointers.
Now, while the standard "doubl{e|y} linked list described
at [1] above has been around since the year dot (or shortly
thereafter), and is found everywhere, the second kind described
at [2] above (though it has undoubtedly been implemented many
times) could conceivably be considered sufficiently novel to
provoke a patent application!
So my question, for clarification, is: Can anyone supply any
reference of sufficiently long standing to demonstrate that
the second kind of "double linked list" at [2] above is well
established prior art?
For example, does it occur in standard textboooks on computer
programming and data structures? Is there long-standing open
source software in which it may be found?
Thanks!
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding)
On Mon, 19 Mar 2007 20:37:58 -0000 (GMT)
(Ted Harding)
For example, does it occur in standard textboooks on computer programming and data structures? Is there long-standing open source software in which it may be found?
Well, it is essentially the way all relational databases work, so they should clearly sue Oracle for a million billion zillion dollars. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
For example, does it occur in standard textboooks on computer programming and data structures? Is there long-standing open source software in which it may be found?
Well, it is essentially the way all relational databases work, so they should clearly sue Oracle for a million billion zillion dollars. The patent is actually a description of what IBM's e-Series relational database does with logical files (and the AS400 before that, and previous to
On Monday 19 March 2007 16:00, Tom Horsley wrote: that the System 38). The system's files are stored as physical and logical files... physical files comprising data and an access path... and logical files comprised of *only* an access path. So they should be able to sue IBM for a million billion zillion dollars as well... *again, totally tongue in check... ok and ROTFLOL.....* :-)))) The really silly thing here is that *anyone* even remotely connected with the computer science field would see this *patent* application not only as previous art... but also very obvious... and my main point is that how in the world can the United States Patent Office be relied upon to judge *any* software patent application? There are just some things that mediocrity should not attempt even after passing a civil servant examination... period. -- Kind regards, M Harris <>< -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On 19-Mar-07 21:00:37, Tom Horsley wrote:
On Mon, 19 Mar 2007 20:37:58 -0000 (GMT) (Ted Harding)
wrote: For example, does it occur in standard textboooks on computer programming and data structures? Is there long-standing open source software in which it may be found?
Well, it is essentially the way all relational databases work, so they should clearly sue Oracle for a million billion zillion dollars.
Can you expand and clarify that?
I can see that storage in a relational databse table (i.e. "relation")
is facilitated by using a "double-linked list" (in the *traditional*
sense I described at [1] in my previous mail), where each record
is associated with two pointers, one to its successor in some desired
order (e.g. alphabetical sort) and the other to its predecessor.
But is the *other* "double-linked list" as I described at [2] of
my previous mail generally used -- i.e. is each record associated
with two or more sets of pointers, where, in one set, one pointer
points to the successor in one ordering and the other pointer to
its predecessor in the same ordering; and in another set one
pointer points to the successor in a different ordering and the
other points to its predecessor in this different ordering, and
so on?
You say "it is essentially the way all relational databases work",
which -- if we are talking about the same interpretation -- means
that in all relational databases each record in a relation is
associated with multiple forward pointers and a matched set of
multiple backward pointers. Is that the case (speaking from
ignorance here)?
It is the second interpretation of "double linked list" which is
the subject of the patent, not the first!
With thanks,
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding)
On Monday 19 March 2007 21:37, Ted Harding wrote:
Now, while the standard "doubl{e|y} linked list described at [1] above has been around since the year dot (or shortly thereafter), and is found everywhere, the second kind described at [2] above (though it has undoubtedly been implemented many times) could conceivably be considered sufficiently novel to provoke a patent application!
It certainly fails the "obvious to one skilled in the field" test
So my question, for clarification, is: Can anyone supply any reference of sufficiently long standing to demonstrate that the second kind of "double linked list" at [2] above is well established prior art?
They are sorting the list in various ways, and storing the previous results so they don't have to do them all over again when they need them again. If struct foo *next, *prev is old hat, why would struct foo *next[100], *prev[100] be a patentable invention. They are storing various paths in traversing a tree or graph. There is absolutely nothing about that that isn't patently (if you'll pardon the pun) "obvious to one skilled in the field" -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On 19-Mar-07 21:29:52, Anders Johansson wrote:
On Monday 19 March 2007 21:37, Ted Harding wrote:
Now, while the standard "doubl{e|y} linked list described at [1] above has been around since the year dot (or shortly thereafter), and is found everywhere, the second kind described at [2] above (though it has undoubtedly been implemented many times) could conceivably be considered sufficiently novel to provoke a patent application!
It certainly fails the "obvious to one skilled in the field" test
So my question, for clarification, is: Can anyone supply any reference of sufficiently long standing to demonstrate that the second kind of "double linked list" at [2] above is well established prior art?
They are sorting the list in various ways, and storing the previous results so they don't have to do them all over again when they need them again. If
struct foo *next, *prev
is old hat, why would
struct foo *next[100], *prev[100]
be a patentable invention.
They are storing various paths in traversing a tree or graph. There is absolutely nothing about that that isn't patently (if you'll pardon the pun) "obvious to one skilled in the field"
I absolutely agree that it's an obvious generalisation, and I'm
pretty sure that it's been used many times. But the "trick" when
making a claim for novelty is to isolate, abstract and identify the
concept as adapted to a class of purposes, and give it a name.
So what I was after is whether there exists such an identification of
this technique that has been around long enough to well-established
prior art.
That has certainly been the case for
struct foo *next *prev
(see good books on C programming from 20 years ago) but what about
the other?
And, just to make it clear, I oppose the whole concept of patentability
of programming techniques, since in principle -- given the abstract
definition of any given programming language -- all constructs
stateable in the laguage are implicit in its definition; and
therefore to anyone "skilled in the field" they should be available
as an inspirational mental perception that "this is how to solve this
problem". To inhibit this by patent is to inhibit thought itself.
On the other hand, I think the concept of copyright in a publication
of a programming technique can be defended. What is then prohibited
is the unauthorised deliberate copying from the publication. But
then what has to be proved is the act of copying, not the fact that
it is the same technique. The same technique could arise by mental
inspiration, but then while the program's structures could be
identifiably the same, the precise details would differ (perhaps
in order and detail of definitions, or variable names, etc.).
However, if the copier's code were character-by-character identical
to the original, then this would justifiably be viewed is totally
improbable as an independent creation.
Thanks Anders!
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding)
On Monday 19 March 2007 12:37, Ted Harding wrote:
I absolutely agree that it's an obvious generalisation, and I'm pretty sure that it's been used many times. But the "trick" when making a claim for novelty is to isolate, abstract and identify the concept as adapted to a class of purposes, and give it a name. So what I was after is whether there exists such an identification of this technique that has been around long enough to well-established prior art.
That has certainly been the case for
struct foo *next *prev
(see good books on C programming from 20 years ago) but what about the other?
And, just to make it clear, I oppose the whole concept of patentability of programming techniques, since in principle -- given the abstract definition of any given programming language -- all constructs stateable in the laguage are implicit in its definition; and therefore to anyone "skilled in the field" they should be available as an inspirational mental perception that "this is how to solve this problem". To inhibit this by patent is to inhibit thought itself.
On the other hand, I think the concept of copyright in a publication of a programming technique can be defended. What is then prohibited is the unauthorised deliberate copying from the publication. But then what has to be proved is the act of copying, not the fact that it is the same technique. The same technique could arise by mental inspiration, but then while the program's structures could be identifiably the same, the precise details would differ (perhaps in order and detail of definitions, or variable names, etc.). However, if the copier's code were character-by-character identical to the original, then this would justifiably be viewed is totally improbable as an independent creation.
Thanks Anders! Ted.
-------------------------------------------------------------------- E-Mail: (Ted Harding)
Fax-to-email: +44 (0)870 094 0861 Date: 19-Mar-07 Time: 22:37:32 ------------------------------ XFMail ------------------------------
It's been too long to remember, but, wasn't the patented idea *and* a number of other great list tools all incorporated in LISP? Is there anyone out there still versed in that ancient and most compact language? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Monday 19 March 2007, Ted Harding wrote:
So what I was after is whether there exists such an identification of this technique that has been around long enough to well-established prior art.
Since when is the test "well established prior art"? Any prior art should suffice. We used similar structures years ago in maintaining computerized specification of sequences of laboratory procedures defining a medical lab "test" (such as a tests for strep throat or rabies, etc) for a certain State Medical Lab. The same basic steps are used in many different test, and we simply carried multiple doubly linked lists to the sequence of steps. When viewed from the point of view of a individual step, you might find dozens if not hundreds of such linked lists specifying each place in the sequence this step appeared. This is a basic building block of any relational database. -- _____________________________________ John Andersen
I would have thought dynamic and static chains were exactly this multi-linked list. ==John ffitch -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Monday 19 March 2007 13:37, Ted Harding wrote:
...
So my question, for clarification, is: Can anyone supply any reference of sufficiently long standing to demonstrate that the second kind of "double linked list" at [2] above is well established prior art?
You might want to read about "Skip Lists." They're a way of an ordered collection starting with a conventional linked list augmented by layers of extra links. Each successively layer skips further per link. It's kind of like an ordered tree with each depth of the tree represented by a separate linked list. That's poor explanation, but it is vaguely like the data structure described earlier in this thread and illustrates an openly published data structure that is significantly more subtle and less obvious than the one here.
For example, does it occur in standard textboooks on computer programming and data structures? Is there long-standing open source software in which it may be found?
Skip lists appear extensively in the computing literature, but are a relatively new invention by comparison to other basic linked structures. They are credited originally to Willilam Pugh in 1990. (See ftp://ftp.cs.umd.edu/pub/skipLists/skiplists.pdf). It has since spawned follow-on research to elaborate or modify the basic structure (e.g., to allow for fast concurrent access and update). I've implemented Skip Lists as an experiment to find a fast and stable priority queue. They can be made stably sorted, but do not appear to be faster than a heap-based priority queue (which is not stably ordered).
Thanks! Ted.
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Mar 19, 07 15:36:43 -0700, Randall R Schulz wrote:
On Monday 19 March 2007 13:37, Ted Harding wrote:
So my question, for clarification, is: Can anyone supply any reference of sufficiently long standing to demonstrate that the second kind of "double linked list" at [2] above is well established prior art?
You might want to read about "Skip Lists." They're a way of an ordered collection starting with a conventional linked list augmented by layers of extra links. Each successively layer skips further per link. It's kind of like an ordered tree with each depth of the tree represented by a separate linked list.
I thought about that as well, but skip lists are single linked lists, so this doesn't perfectly hold.
I've implemented Skip Lists as an experiment to find a fast and stable priority queue. They can be made stably sorted, but do not appear to be faster than a heap-based priority queue (which is not stably ordered).
I found skip lists about an order of magnitude both faster and smaller
in code footprint than any balanced tree algorithm I've seen so far -
and balanced trees is IMHO the only competing algorithmic class.
Also, memory footprint is much smaller with skip lists (1.333 pointers
in average per node). Implementation is close to trivial, and it's
almost impossible introduce bugs in the code (if you don't count the
random generator which can easily be broken ;)
Also they allow for O(1) access to the highest element, which is often
very useful.
What exactly do you refer to as a priority queue? Queues can be
implemented in a number of different ways...
Matthias
--
Matthias Hopf
On Tuesday 20 March 2007 04:52, Matthias Hopf wrote:
On Mar 19, 07 15:36:43 -0700, Randall R Schulz wrote: ...
What exactly do you refer to as a priority queue? Queues can be implemented in a number of different ways...
A priority queue is one in which the items bear priority values (usually numeric, but requiring only a total ordering). When removing items from a priority queue the entry with the smallest (or largest) priority value is the one removed. Items may be inserted with priority values in an arbitrary order. Usually insertion is interleaved with removal. Common uses are time-based / event simulation (where time is the priority value) or heuristic search (in which case heuristic figures of merit constitute the priority value). The classic means of implementing a Priority Queue is with a binary heap, and it is very efficient. It does not, however, maintain the insertion order of entries with equal priority values.
Matthias
Randall Schulz -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Mon, 19 Mar 2007 20:37:58 -0000 (GMT)
(Ted Harding)
What they are talking about is on the lines of
[2] A[->B][->D] B[->C][->A] C[->D][->B] D[->A][->C] [->C][->D] [->D][->C] [->B][->A] [->A][->B]
coerresponding to the "double linked list"
A <-> B <-> C <-> D <-> A A <-> C <-> B <-> D <-> A
i.e. it is effectively two linked lists, but over the same data, and is implemented by using only one copy of the data elements but providing each element with two sets of pointers.
Now, while the standard "doubl{e|y} linked list described at [1] above has been around since the year dot (or shortly thereafter), and is found everywhere, the second kind described at [2] above (though it has undoubtedly been implemented many times) could conceivably be considered sufficiently novel to provoke a patent application!
So my question, for clarification, is: Can anyone supply any reference of sufficiently long standing to demonstrate that the second kind of "double linked list" at [2] above is well established prior art?
For example, does it occur in standard textboooks on computer programming and data structures? Is there long-standing open source software in which it may be found? I actually implemented something like that in the mid-1980s. I don't even recall the software I implemented it in. I wonder if this is described in Knuth? -- Jerry Feldman
Boston Linux and Unix user group http://www.blu.org PGP key id:C5061EA9 PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
participants (12)
-
Anders Johansson
-
David Brodbeck
-
efh@nessie.mcc.ac.uk
-
Jerry Feldman
-
John Andersen
-
jpff
-
Juergen Weigert
-
kanenas
-
M Harris
-
Matthias Hopf
-
Randall R Schulz
-
Tom Horsley