Range based rebuilder for use with a dispersed data storage network
AssigneeCleversafe, Inc.
InventorsVANCE T. THORNTON, JAMIE BELLANCA, DUSTIN M. HENDRICKSON, ZACHARY J. MARK, ILYA VOLVOVSKI
Life of this patent
Estimating the term…
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.
Claims17
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, 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;
- reconstructing said corresponding data segment from said at least m data slices;
- slicing said reconstructed corresponding data segment into n data slices, including said data slice identified by said list of data slices to be rebuilt;
- and
- writing said data slice identified by said list of data slices to be rebuilt to one of said plurality of slice servers.
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;
- reconstructing said corresponding data segment from said at least m data slices;
- slicing said reconstructed data segment into n data slices, including said data slice identified by said list of data slices to be rebuilt;
- and
- writing said data slice identified by said list of data slices to be rebuilt to one of said plurality of slice servers.
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;
- reconstructing said corresponding data segment from said at least m data slices;
- slicing said reconstructed corresponding data segment into n data slices, including said data slice identified by said list of data slices to be rebuilt;
- and
- writing said data slice identified by said list of data slices to be rebuilt to one of said plurality of slice servers.
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;
- reconstructing said corresponding data segment from said at least m data slices;
- slicing said reconstructed corresponding data segment into n data slices, including said data slice identified by said list of data slices to be rebuilt;
- and
- writing said data slice identified by said list of data slices to be rebuilt to one of said plurality of slice servers.
Dependencies are inferred from the claim text.