Range based rebuilder for use with a dispersed data storage network
First Claim
1. A method of rebuilding data stored on a dispersed data storage network comprising a plurality of networked computers including a plurality of slice servers, each of said slice servers storing a plurality of data slices, each of said data slices being identified by a data slice identifier, whereby n of said data slices are associated with a corresponding data segment, and whereby m of said associated data slices are required to reconstruct said corresponding data segment, and further whereby m is less than n−
- 1, said method comprising the steps of;
receiving a message from one of said networked computers, said message indicative of the inaccessibility of a plurality of data slices;
adding data slice identifiers identifying said plurality of data slices to a list of data slices to be rebuilt;
for each data slice identified by said list of data slices to be rebuilt;
determining a corresponding data segment;
reading at least m data slices associated with said corresponding data segment, said at least m data slices not identified on said list of data slices to be rebuilt;
decoding the retrieved at least m number of data slices by arranging coded values of the retrieved at least m number of data slices into a reconstructed coded matrix and multiplying the reconstructed coded matrix by a decoding matrix in accordance with an information dispersal algorithm to reconstruct the data segment;
encoding the reconstructed data segment by arranging data words of the reconstructed data segment into a data matrix and multiplying the data matrix by the encoding matrix in accordance with the information dispersal algorithm to produce a coded matrix that is arranged into a new plurality of data slices;
writing one of the new plurality of data slices to one of said plurality of slice servers to rebuild said data slice identified by said list of data slices to be rebuilt.
4 Assignments
0 Petitions
Accused Products
Abstract
A message is generated by a computer operating on a dispersed data storage network indicating the inaccessibility of a plurality of data slices. A rebuilder application operates on the dispersed data storage grid and rebuilds inaccessible data slices, including those identified by the message.
112 Citations
17 Claims
-
1. A method of rebuilding data stored on a dispersed data storage network comprising a plurality of networked computers including a plurality of slice servers, each of said slice servers storing a plurality of data slices, each of said data slices being identified by a data slice identifier, whereby n of said data slices are associated with a corresponding data segment, and whereby m of said associated data slices are required to reconstruct said corresponding data segment, and further whereby m is less than n−
- 1, said method comprising the steps of;
receiving a message from one of said networked computers, said message indicative of the inaccessibility of a plurality of data slices; adding data slice identifiers identifying said plurality of data slices to a list of data slices to be rebuilt; for each data slice identified by said list of data slices to be rebuilt; determining a corresponding data segment; reading at least m data slices associated with said corresponding data segment, said at least m data slices not identified on said list of data slices to be rebuilt; decoding the retrieved at least m number of data slices by arranging coded values of the retrieved at least m number of data slices into a reconstructed coded matrix and multiplying the reconstructed coded matrix by a decoding matrix in accordance with an information dispersal algorithm to reconstruct the data segment; encoding the reconstructed data segment by arranging data words of the reconstructed data segment into a data matrix and multiplying the data matrix by the encoding matrix in accordance with the information dispersal algorithm to produce a coded matrix that is arranged into a new plurality of data slices; writing one of the new plurality of data slices to one of said plurality of slice servers to rebuild said data slice identified by said list of data slices to be rebuilt. - View Dependent Claims (2, 3, 4)
- 1, said method comprising the steps of;
-
5. A method of rebuilding data stored on a dispersed data storage network comprising a plurality of networked computers including a plurality of slice servers, each of said slice servers storing a plurality of data slices, each of said data slices being identified by a data slice identifier and including a data portion and a first checksum, whereby n of said data slices are associated with a corresponding data segment, and whereby m of said associated data slices are required to reconstruct said corresponding data segment, and further whereby m is less than n, said method comprising the steps of:
-
reading a data slice stored on one of said slice servers; computing a second checksum based on the data portion of said data slice; comparing said second checksum with said first checksum; adding a data slice identifier identifying said data slice to a list of data slices to be rebuilt when said first checksum does not match said second checksum; receiving a message from one of said networked computers, said message indicative of the inaccessibility of a plurality of data slices; adding data slice identifiers identifying said plurality of data slices to said list of data slices to be rebuilt; for each data slice identifier on said list of data slices to be rebuilt; determining a corresponding data segment; reading at least m data slices associated with said corresponding data segment, said at least m data slices not identified on said list of data slices to be rebuilt; decoding the retrieved at least m number of data slices by arranging coded values of the retrieved at least m number of data slices into a reconstructed coded matrix and multiplying the reconstructed coded matrix by a decoding matrix in accordance with an information dispersal algorithm to reconstruct the data segment; encoding the reconstructed data segment by arranging data words of the reconstructed data segment into a data matrix and multiplying the data matrix by the encoding matrix in accordance with the information dispersal algorithm to produce a coded matrix that is arranged into a new plurality of data slices; writing one of the new plurality of data slices to one of said plurality of slice servers to rebuild said data slice identified by said list of data slices to be rebuilt. - View Dependent Claims (6, 7, 8)
-
-
9. A dispersed data storage network comprising a plurality of networked computers including a plurality of slice servers, each of said slice servers storing a plurality of data slices, each of said data slices being identified by a data slice identifier, whereby n of said data slices are associated with a corresponding data segment, and whereby m of said associated data slices are required to reconstruct said corresponding data segment, and further whereby m is less than n, said dispersed data storage network further comprising:
a computer coupled to said plurality of networked computers, said computer running a rebuilder application, said computer adapted to receive a message from one of said networked computers, said message indicative of the inaccessibility of a plurality of data slices, and in response, said rebuilder application; adding data slice identifiers identifying said plurality of data slices to a list of data slices to be rebuilt; for each data slice identified by said list of data slices to be rebuilt; determining a corresponding data segment; reading at least m data slices associated with said corresponding data segment, said at least m data slices not identified on said list of data slices to be rebuilt; decoding the retrieved at least m number of data slices by arranging coded values of the retrieved at least m number of data slices into a reconstructed coded matrix and multiplying the reconstructed coded matrix by a decoding matrix in accordance with an information dispersal algorithm to reconstruct the data segment; encoding the reconstructed data segment by arranging data words of the reconstructed data segment into a data matrix and multiplying the data matrix by the encoding matrix in accordance with the information dispersal algorithm to produce a coded matrix that is arranged into a new plurality of data slices; writing one of the new plurality of data slices to one of said plurality of slice servers to rebuild said data slice identified by said list of data slices to be rebuilt. - View Dependent Claims (10, 11, 12, 13, 15, 16, 17)
-
14. A dispersed data storage network comprising a plurality of networked computers including a plurality of slice servers, each of said slice servers storing a plurality of data slices, each of said data slices being identified by a data slice identifier and including a data portion and a first checksum, whereby n of said data slices are associated with a corresponding data segment, and whereby m of said associated data slices are required to reconstruct said corresponding data segment, and further whereby m is less than n, said dispersed data storage network further comprising:
-
a computer coupled to said plurality of networked computers, said computer running a rebuilder application, said rebuilder application; reading a data slice stored on one of said plurality of slice servers; computing a second checksum based on the data portion of said data slice; comparing said second checksum with said first checksum; adding a data slice identifier identifying said data slice to a list of data slices to be rebuilt when said first checksum does not match said second checksum; said computer further adapted to receive a message from one of said networked computers, said message indicative of the inaccessibility of a plurality of data slices, and in response, said rebuilder application; adding data slice identifiers identifying said plurality of data slices to a list of data slices to be rebuilt; for each data slice identified by said list of data slices to be rebuilt; determining a corresponding data segment; reading at least m data slices associated with said corresponding data segment, said at least m data slices not identified on said list of data slices to be rebuilt; decoding the retrieved at least m number of data slices by arranging coded values of the retrieved at least m number of data slices into a reconstructed coded matrix and multiplying the reconstructed coded matrix by a decoding matrix in accordance with an information dispersal algorithm to reconstruct the data segment; encoding the reconstructed data segment by arranging data words of the reconstructed data segment into a data matrix and multiplying the data matrix by the encoding matrix in accordance with the information dispersal algorithm to produce a coded matrix that is arranged into a new plurality of data slices; writing one of the new plurality of data slices to one of said plurality of slice servers to rebuild said data slice identified by said list of data slices to be rebuilt.
-
Specification