A Random linear coding approach to distributed data storage
First Claim
1. A method of using random linear coding for performing distributed data storage in a peer-to-peer network, the method comprising:
- breaking a file into a plurality of pieces;
determining a number of coded-pieces each peer can store;
determining the coded-pieces for each peer by taking random linear combination of all the pieces of the file;
calculating an associated code vector for said random combination of pieces; and
storing a respective random combination of coded pieces and the associated code vector at each peer of said number of peers.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and computer program product for providing a random linear coding approach to distributed data storage is presented. A file is broken into a plurality of pieces. For every peer (peer means storage-location with limited storage space), the number of coded-pieces the peer can store is determined. Each of the coded-piece is detrmined by taking random linear combination of all the pieces of the entire file. The associate code-vector is stored for every coded-piece. The file is retrieved by collecting code-vectors and the coded-pieces from the peers and viewing the collected code-vectors as a matrix. When a dimension of the matrix is equal to the number of pieces of the file, the file is recovered using the collection of code vectors in the matrix.
39 Citations
20 Claims
-
1. A method of using random linear coding for performing distributed data storage in a peer-to-peer network, the method comprising:
-
breaking a file into a plurality of pieces;
determining a number of coded-pieces each peer can store;
determining the coded-pieces for each peer by taking random linear combination of all the pieces of the file;
calculating an associated code vector for said random combination of pieces; and
storing a respective random combination of coded pieces and the associated code vector at each peer of said number of peers. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of retrieving a file comprising:
-
collecting code vectors from at least one peer;
viewing collected code vectors as a matrix;
determining whether a dimension of the matrix is equal to a predefined number, and when the dimension of the matrix does not equal the predefined number then repeating said collecting, said viewing and said determining; and
when the dimension of the matrix equals the predefined number, then recovering said file using the collection of code vectors in the matrix. - View Dependent Claims (9, 10)
-
-
11. A computer readable medium having computer readable code thereon for providing a random linear coding approach to distributed data storage, the medium comprising:
-
instructions for breaking a file into a plurality of pieces;
instructions for determining a number of peers to use to store pieces of the file instructions for determining a random combination of particular pieces of said plurality of pieces to store at a peer of the number of peers in the network;
instructions for calculating an associated code vector for said random combination of particular pieces; and
instructions for storing a respective random combination of pieces and the associated code vector at each peer of said number of peers. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer readable medium having computer readable code thereon for retrieving a file previously stored using a random linear coding approach to distributed data storage, the medium comprising:
-
instructions for collecting code vectors from at least one peer;
instructions for viewing collected code vectors as a matrix;
instructions for determining whether a dimension of the matrix is equal to a predefined number, and instructions for when the dimension of the matrix does not equal the predefined number then repeating said collecting, said viewing and said determining; and
instructions for when the dimension of the matrix equals the predefined number, then recovering said file using the collection of code vectors in the matrix. - View Dependent Claims (19, 20)
-
Specification