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.
-
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