Patent ID: 8375102

Claim:
A method of using random linear coding for performing distributed data storage in a peer-to-peer network, the method comprising: receiving, at a peer, a request for at least one code-vector associated with coded pieces of a file, the at least one code-vector and the coded pieces of the file currently stored at the peer, wherein the coded pieces of the file comprise a subset of the file, wherein the coded pieces of the file were randomly determined for storage at the peer as a result of taking a random linear combination of all the pieces of the file in accordance with the formula: f i = ∑ j = 1 m ⁢ β i ⁢ c i , wherein f is an element within the peer, m is the number of pieces the file is broken into, βis an element of a finite field of vectors, and c is a particular piece of the file; transmitting the at least one code-vector to a source of the request for the at least one code-vector; and upon receiving a request for the coded pieces of the file, transmitting the coded pieces of the file to the source of the request for the coded pieces of the file.