Abstract:
For each original data segment, a distributed storage processing unit generates encoded slices designed to prevent the original data segment from being reconstructed using fewer than a threshold number of encoded slices. Multiple encoded slices are generated for each of two different data segments, and the slices associated with the first and second data segment are stored substantially concurrently in different storage sets employing different distributed storage units. Encoded slices for even and odd data segments can be stored in different storage sets, or longer sequences of data segments can be stored in alternating storage sets. Storage sets can also be determined by the vault generation of a particular data segment.
Abstract:
A method includes encoding input data into a plurality of slices. The plurality of slices are sent to a plurality of distributed storage and task execution units for storage, the plurality of distributed storage and task execution units being located at a corresponding plurality of sites A storage failure is detected corresponding to at least one of the plurality of slices corresponding to at least one of the plurality of the distributed storage and task execution units and at least one of the corresponding plurality of sites A foster storage approach is determined. At least one alternative distributed storage and task execution unit is selected in accordance with the foster storage approach. At least one foster slice is generated corresponding to the at least one of the plurality of slices. The at least one foster slice is sent to the at least one alternative distributed storage and task execution unit.
Abstract:
A method includes identifying a plurality of DST client modules affiliated with data for storage in the DST network. A corresponding subset of a plurality of DST execution units are identified for each of the plurality of DST client modules. The data is encoded into a plurality of slices based on at least one dispersal parameter, the number of the plurality of slices corresponding to a number of the plurality of DST execution units included in a superset formed from the union of each subset of a plurality of DST execution units corresponding to each of the plurality of DST client modules. The plurality of slices are sent for storage in the superset formed from the union of each subset of a plurality of DST execution units.
Abstract:
A method begins by a processing module of a dispersed storage network (DSN) determining that a set of storage units of the DSN will be substantially used for read operations of dispersed storage error encoded data. For the set of storage units, the method continues with the processing module determining an actual level of reliability in retrieving a decode threshold number of encoded data slices per read request of a plurality of read requests. The method continues with the processing module comparing the actual reliability to a desired level of reliability in retrieving the decode threshold number of encoded data slices per read request of the plurality of read requests. When the actual reliability exceeds the desired reliability by a reconfiguration threshold, the method continues with the processing module removing one or more storage units from the set of storage units.
Abstract:
A method begins by a first computing device of a dispersed storage network (DSN) of a plurality of DSNs receiving a data segment for storage, encoding the data segment using a dispersed storage error encoding function to produce a set of encoded data slices, where each DSN of the plurality of DSNs utilizes the dispersed storage error encoding function, and generating a set of DSN addresses for the set of encoded data slices using a deterministic function. The method continues with a set of storage units of the DSN storing the set of encoded data slices using the set of DSN addresses. The method continues with storage units of the set of storage units and of another set of storage units of another DSN coordinating to store copies of encoded data slices of the set of encoded data slices in corresponding storage units of both sets of storage units.
Abstract:
A method begins by a processing module of a dispersed storage network (DSN) determining that a set of storage units of the DSN will be substantially used for read operations of dispersed storage error encoded data. For the set of storage units, the method continues with the processing module determining an actual level of reliability in retrieving a decode threshold number of encoded data slices per read request of a plurality of read requests. The method continues with the processing module comparing the actual reliability to a desired level of reliability in retrieving the decode threshold number of encoded data slices per read request of the plurality of read requests. When the actual reliability exceeds the desired reliability by a reconfiguration threshold, the method continues with the processing module removing one or more storage units from the set of storage units.
Abstract:
A method includes encoding input data into a plurality of slices. The plurality of slices are sent to a plurality of distributed storage and task execution units for storage, the plurality of distributed storage and task execution units being located at a corresponding plurality of sites A storage failure is detected corresponding to at least one of the plurality of slices corresponding to at least one of the plurality of the distributed storage and task execution units and at least one of the corresponding plurality of sites A foster storage approach is determined. At least one alternative distributed storage and task execution unit is selected in accordance with the foster storage approach. At least one foster slice is generated corresponding to the at least one of the plurality of slices. The at least one foster slice is sent to the at least one alternative distributed storage and task execution unit.
Abstract:
A method begins by a dispersed storage (DS) processing obtaining estimated future availability information for storage units and organizing a plurality of sets of encoded data slices into a plurality of group-sets of encoded data slices. For each of the plurality of group-sets of encoded data slices, the method continues with the DS processing module estimating an approximate storage completion time to produce a plurality of approximate storage completion times. The method continues with the DS processing module establishing a time-availability pattern for writing the plurality of group-sets of encoded data slices to the storage units based on the estimated future availability information and the plurality of approximate storage completion times. The method continues with the DS processing module sending the plurality of group-sets of encoded data slices to at least some of the storage units for storage therein in accordance with the time-availability pattern.
Abstract:
A dispersed storage and task (DST) processing unit receives an access request. An estimated processing load, associated with the access request, is determined. A processing resource is selected based on the estimated processing load. A coordinated execution schedule is determined for a plurality of DST execution units. The access request is assigned to the processing resource in accordance with the coordinated execution schedule.
Abstract:
A method begins by a first computing device of a dispersed storage network (DSN) of a plurality of DSNs receiving a data segment for storage, encoding the data segment using a dispersed storage error encoding function to produce a set of encoded data slices, where each DSN of the plurality of DSNs utilizes the dispersed storage error encoding function, and generating a set of DSN addresses for the set of encoded data slices using a deterministic function. The method continues with a set of storage units of the DSN storing the set of encoded data slices using the set of DSN addresses. The method continues with storage units of the set of storage units and of another set of storage units of another DSN coordinating to store copies of encoded data slices of the set of encoded data slices in corresponding storage units of both sets of storage units.