
Would be very useful
For creating a tamper-resistant distributed Wiki listing the alleged crimes of our overloads.
BitTorrent is applying for a patent for something called “Distributed storage of recoverable data”. Available here, the patent application is described as “a system, method, and computer program product replace a failed node storing data relating to a portion of a data file.” The invention, submitted to the World Intellectual …
"Well if they do they have not patented it, but im sure it could suddenly become prior art with a smothering of gold in a hand"
They've never published the code; would that be a problem for the US patent office or not? (There's no point reading the law on the subject as the USPTO makes it up as it goes along, I'm just curious about what they've done in the past).
I doubt that it is novel. I'm the author of the Crypt::IDA module on CPAN. It includes a pair of programs, rabin-split.pl and rabin-combine.pl that implements Michael Rabin's Information Dispersal Algorithm(*). I use it for my long-term backups, with each share stored on a different disk.
I don't have a tracker to locate the shares, but I have used the program to create essentially the same thing: I've taken some movies from archive.org and saved shares on different hosting sites, then created a list of those shares (the URLs) which I've stored on another website. It's effectively the same thing as described in the article.
I've done a survey of other distributed storage systems and there are a few that use IDA in the same way. Cleversafe is one, but I can't remember off the top of my head what the others are (perhaps riak... I'll have to check my notes). Someone also mentioned par (parchive?), but that's more to do with correcting an archive that's damaged in transit than actually distributing shares.
* "Efficient dispersal of information for security, load balancing, and fault tolerance", by Michael O. Rabin. ACM Volume 36, Issue 2 (1989).
On reading the article more closely, I see that there are two other aspects (claims) that I'm pretty sure I've got prior art on.
First, there's the issue of generating new shares if some of them have been destroyed. The manpage for Crypt::IDA includes a section "Adding extra shares at a later time" that addresses this. In fact, my solution is much more elegant than the one described in the patent :)
Second, there's the issue of efficiently sending the original file to all the silos. Unfortunately (as far as proving prior art goes) I haven't explicitly published my rationale, but I have also written the Net::OnlineCode module specifically to allow one or more sites that have a 100% copy of a file to multicast parts of it to a network of receiving silos (in a similar way that the BT torrent patent describes). I do include this module as part of my "gnetraid" source tree on Sourceforge, so I'm pretty sure that my intention in bundling them together should be clear (ie, use multicast and/or multi-sender to efficiently send files to silo sites that will be responsible for creation and storage of individual shares).
It appears, perhaps unfortunately, that the original claim was filed February 3, 2009, preceding the dates for both Net::OnlineCode and Crypt::IDA. Superficially, that would seem to preclude their use as prior art, but perhaps they would be useful to dispute the Bittorrent's claim that the invention was non-obvious and was produced independently by one normally skilled in the applicable arts.
@tom dial
Ah. I hadn't noticed the filing date, and it is unfortunate not to be able to invalidate it (or any other software patent, for that matter) immediately.
As for the main claim, which seems to be a method of adding new shares later, the method I used is actually very straightforward and should be immediately obvious when working with the matrices expressed in Cauchy form. Prior to starting work on the programs, I knew nothing about Galois fields or Cauchy/Vandermonde matrices, so if someone as minimally skilled as me could notice it (and I'm pretty sure I did, rather than read it in one of the papers describing IDA) then I think that that's a good indication that it fails the obviousness test.
"I think that that's a good indication that it fails the obviousness test."
I'm pretty sure the USPO doesn't use the obviousness test any more. Basically, they take the view that if it were obvious someone would have patented it already therefore if it's not already a patent it's not obvious. This was the tack they took to justify the patent for using cookies to identify returning users and linking them to an account on Amazon, which is pretty well exactly what cookies were invented for.