USING LOCKS TO PREVENT MULTIPLE REBUILDS OF THE SAME SOURCE
First Claim
1. A method comprises:
- determining, by a first rebuilding agent of a plurality of rebuilding agents of a dispersed storage network (DSN), to rebuild one or more encoded data slices of a plurality of sets of encoded data slices;
when determined to rebuild the one or more encoded data slices, sending, by the first rebuilding agent, a lock request to a set of storage units of the DSN regarding the plurality of sets of encoded data slices;
determining, by the first rebuilding agent, whether at least a decode threshold number of favorable lock responses is received from the set of storage units;
when the at least the decode threshold number of favorable lock responses is received, recovering, by the first rebuilding agent, one or more sets of encoded data slices of the plurality of sets of encoded data slices to rebuild the one or more encoded data slices to produce one or more rebuilt encoded data slices;
for a rebuilt encoded data slice of the one or more rebuilt encoded data slices, determining, by the first rebuilding agent, whether a storage unit of the set of storage units that is targeted to receive the rebuilt encoded data slice is available to store the rebuilt encoded data slice; and
when the storage unit is available to store the rebuilt encoded data slice, sending, by the first rebuilding agent, the rebuilt encoded data slice to the storage unit.
3 Assignments
0 Petitions
Accused Products
Abstract
A method includes determining to rebuild one or more encoded data slices (EDSs) of a plurality of sets of EDSs. When determined to rebuild the one or more EDSs, the method includes sending a lock request to a set of storage units (SUs) regarding the plurality of sets of EDSs. The method further includes determining whether at least a decode threshold number of favorable lock responses is received from the set of SUs. When the at least the decode threshold number is received, the method further includes recovering one or more sets of EDSs to rebuild the one or more EDSs to produce one or more rebuilt EDSs. For a rebuilt EDS, the method further includes determining whether a SU that is targeted to receive the rebuilt EDS is available to store the rebuilt EDS, and when the SU is available, sending the rebuilt EDS to the SU.
23 Citations
14 Claims
-
1. A method comprises:
-
determining, by a first rebuilding agent of a plurality of rebuilding agents of a dispersed storage network (DSN), to rebuild one or more encoded data slices of a plurality of sets of encoded data slices; when determined to rebuild the one or more encoded data slices, sending, by the first rebuilding agent, a lock request to a set of storage units of the DSN regarding the plurality of sets of encoded data slices; determining, by the first rebuilding agent, whether at least a decode threshold number of favorable lock responses is received from the set of storage units; when the at least the decode threshold number of favorable lock responses is received, recovering, by the first rebuilding agent, one or more sets of encoded data slices of the plurality of sets of encoded data slices to rebuild the one or more encoded data slices to produce one or more rebuilt encoded data slices; for a rebuilt encoded data slice of the one or more rebuilt encoded data slices, determining, by the first rebuilding agent, whether a storage unit of the set of storage units that is targeted to receive the rebuilt encoded data slice is available to store the rebuilt encoded data slice; and when the storage unit is available to store the rebuilt encoded data slice, sending, by the first rebuilding agent, the rebuilt encoded data slice to the storage unit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device of a plurality of computing devices of a dispersed storage network (DSN), the computing device comprises:
-
an interface; memory; and a processing module operably coupled to the memory and the interface, wherein the processing module is operable to; determine to rebuild one or more encoded data slices of a plurality of sets of encoded data slices; when determined to rebuild the one or more encoded data slices, send a lock request to a set of storage units of the DSN regarding the plurality of sets of encoded data slices; determine whether at least a decode threshold number of favorable lock responses is received from the set of storage units; when the at least the decode threshold number of favorable lock responses is received, recover one or more sets of encoded data slices of the plurality of sets of encoded data slices to rebuild the one or more encoded data slices to produce one or more rebuilt encoded data slices; for a rebuilt encoded data slice of the one or more rebuilt encoded data slices, determine whether a storage unit of the set of storage units that is targeted to receive the rebuilt encoded data slice is available to store the rebuilt encoded data slice; and when the storage unit is available to store the rebuilt encoded data slice, send the rebuilt encoded data slice to the storage unit. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification