Method and apparatus for rebuilding data in a dispersed data storage network
First Claim
1. A method for execution by one or more computers associated with a dispersed data storage network, the method comprises:
- identifying, by a first rebuilder application operating on a first slice server, a data slice having a storage error;
identifying, by the first rebuilder application or by a second rebuilder application operating on a second slice server, a data segment based on the identified data slice, wherein the data segment was encoded in accordance with an information dispersal function to produce a set of data slices, which includes the identified data slice;
identifying, by the second rebuilder application operating on the second slice server, one or more other slice servers that are storing other data slices of the set of data slices;
retrieving, by the second rebuilder application operating on the second slice server from the one or more other slice servers, a sufficient number of the other data slices to reconstruct the data segment;
decoding, by the second rebuilder application operating on the second slice server, the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the data segment;
encoding, by the second rebuilder application operating on the second slice server, the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices; and
selecting, by the second rebuilder application operating on the second slice server, a data slice of the new set of data slices as a rebuilt data slice of the identified data slice.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins a first rebuilder application identifying a data slice having a storage error. The method continues with the first rebuilder application or a second rebuilder application identifying a data segment based on the identified data slice. The method continues with the second rebuilder application identifying one or more other slice servers that are storing other data slices of the encoded data segment. The method continues with the second rebuilder application receiving a sufficient number of the other data slices to reconstruct the data segment and decoding them to reconstruct the data segment. The method continues with the second rebuilder application encoding the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices and selecting one of them as the rebuild data slice.
-
Citations
13 Claims
-
1. A method for execution by one or more computers associated with a dispersed data storage network, the method comprises:
-
identifying, by a first rebuilder application operating on a first slice server, a data slice having a storage error; identifying, by the first rebuilder application or by a second rebuilder application operating on a second slice server, a data segment based on the identified data slice, wherein the data segment was encoded in accordance with an information dispersal function to produce a set of data slices, which includes the identified data slice; identifying, by the second rebuilder application operating on the second slice server, one or more other slice servers that are storing other data slices of the set of data slices; retrieving, by the second rebuilder application operating on the second slice server from the one or more other slice servers, a sufficient number of the other data slices to reconstruct the data segment; decoding, by the second rebuilder application operating on the second slice server, the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the data segment; encoding, by the second rebuilder application operating on the second slice server, the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices; and selecting, by the second rebuilder application operating on the second slice server, a data slice of the new set of data slices as a rebuilt data slice of the identified data slice. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for execution by one or more computers associated with a dispersed data storage network, the method comprises:
-
identifying, by a plurality of rebuilder applications operating on the one or more computers, a plurality of data slices having storage errors; allocating a first set of the plurality of data slices having storage errors to a first rebuilder application of the plurality of rebuilder applications; allocating a second set of the plurality of data slices having storage errors to a second rebuilder application of the plurality of rebuilder applications; for a first data slice of the first set of the plurality of data slices; identifying, by the first rebuilder application, a first data segment based on the first data slice, wherein the first data segment was encoded in accordance with an information dispersal function to produce a first set of data slices, which includes the first data slice; identifying, by the first rebuilder application, one or more other slice servers that are storing other data slices of the first set of data slices; retrieving, by the first rebuilder application from the one or more other slice servers, a sufficient number of the other data slices to reconstruct the data segment; decoding, by the first rebuilder application, the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the first data segment; encoding, by the first rebuilder application, the reconstructed first data segment in accordance with the information dispersal algorithm to produce a new first set of data slices; and selecting, by the first rebuilder application, a data slice of the new first set of data slices as a rebuilt first data slice of the first data slice. - View Dependent Claims (7, 8)
-
-
9. A dispersed data storage network comprises:
-
a first slice server that includes; a first network interface for interfacing with a network; first memory for storing first data slices and for storing a first rebuilder application; and a first central processing unit operable to execute the first rebuilder application; and a second slice server that includes; a second network interface for interfacing with the network; second memory for storing second data slices and for storing a second rebuilder application; and a second central processing unit operable to execute the second rebuilder application, wherein, when the first and second central processing units are executing the first and second rebuilder applications; the first rebuilder application identifies a data slice of the first data slices to produce an identified data slice, wherein the identified data slice has a storage error; the first rebuilder application or the second rebuilder application identifies a data segment based on the identified data slice, wherein the data segment was encoded in accordance with an information dispersal function to produce a set of data slices, which includes the identified data slice; the second rebuilder application; identifies one or more other slice servers that are storing other data slices of the set of data slices; retrieves, from the one or more other slice servers, a sufficient number of the other data slices to reconstruct the data segment; decodes the sufficient number of the other data slices in accordance with the information dispersal function to reconstruct the data segment; encodes the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices; and selects a data slice of the new set of data slices as a rebuilt data slice of the identified data slice. - View Dependent Claims (10, 11, 12, 13)
-
Specification