Abstract:
A method begins with a set of storage units of a dispersed storage network (DSN) receiving a plurality of read requests for encoded data slices corresponding to particular content data. The method continues with a first storage unit detecting that a corresponding portion of the plurality of read requests exceeds a heavy load condition for the first storage unit. The method continues when the corresponding portion of the plurality of read requests exceeds the heavy load condition for the first storage unit with the first storage unit identifying a first alternative storage unit of the DSN. The method continues with the first storage unit sending a copy of the first group of encoded data slices to the first alternative storage unit and redirecting some of the corresponding portion of the plurality of read requests to the first alternative storage unit for processing.
Abstract:
A method begins by a dispersed storage (DS) processing module receiving a file creation request to create a new file from portions of a set of existing files. The method continues with the DS processing module identifying data segments associated with the set of existing files corresponding to the portions of the set of existing files to produce identified data segments and identifying sets of encoded data slices of the identified data segments to produce identified sets of encoded data slices. The method continues with the DS processing module determining addressing information for the identified sets of encoded data slices from existing addressing information of the set of existing files and generating a segment allocation table for the new file based on the addressing information of the identified sets of encoded data slices such that the new file is created without duplication of the portions of the existing files.
Abstract:
A method begins by a first computing device generating an initial routing plan that identifies network paths for transmitting encoded data slices of an encoded data segment from the first computing device to a second computing device. The method continues with the first computing device sending a plurality of subsets of encoded data slices to network paths. Within a network path, the method continues by a relay unit determining whether the network path defined by the initial routing plan requires adjusting. When the network path requires adjusting, the method continues with the relay unit establishing an adjusted network path by at least one of adding a relay unit and deleting a relay unit. The method continues with the relay unit sending, via the adjusted network path, the corresponding subset of encoded data slices to the second computing device.
Abstract:
A processing module of a computing device alternatingly sends a stream of data to a first or second processing device. When receiving the stream of data, the first processing device performs a first portion of a dispersed storage error encoding function on the received stream of data to produce a plurality of sets of a threshold number of slices and writes the plurality of sets of the threshold number of slices into first memory of a dispersed storage network (DSN). When not receiving the stream of data, the first processing device reads the plurality of sets of the threshold number of slices from the first memory, performs a second portion of the dispersed storage error encoding function using the plurality of sets of the threshold number of slices to produce a plurality of sets of redundancy slices, and writes the plurality of sets of redundancy slices into second DSN memory.
Abstract:
A method begins by a dispersed storage (DS) processing module dividing a very large data object into a plurality of data regions and generating a data object storage tracking table that includes sections for identifying one or more data regions that are available or unavailable for retrieval. The method continues with the DS processing module dividing a first data region into data segments and disperse storage error encoding the data segments to produce sets of encoded data slices. The method continues with the DS processing module sending DSN write requests regarding storing the sets of encoded data slices to storage units and when at least a write threshold number of write responses is received for each of the sets of encoded data slices, updating the data object storage tracking table to indicate that the first data region is available for retrieval.
Abstract:
A method begins by a processing module concurrently encoding a collection of data segments to produce sets of encoded data slices, where each set includes a total number of encoded data slices and where a decode threshold number of encoded data slices is required to recover a corresponding data segment. The method continues with the processing module determining a transmit number to be initially greater than the decode threshold number and less than the total number. The method continues with the processing module selecting a transmit number of encoded data slices from each set of encoded data slices to produce sets of transmit encoded data slices. The method continues with the processing module randomizing ordering of the sets of transmit encoded data slices to produce a random order of encoded data slices and transmitting encoded data slices of the random order of encoded data slices.
Abstract:
A method begins with a processing module receiving a search parameter. The method further includes the processing module searching for a data object stored in the DSN based on the search parameter. The searching begins by determining a data segment of the data object. The searching continues by retrieving a plurality of slices corresponding to the data segment and regenerating the data segment therefrom. The searching continues by determining when the data segment satisfies the search parameter. The searching continues by retrieving the data object from the DSN when the data segment satisfies the search parameter.
Abstract:
A method begins by a processing module of a dispersed storage network (DSN) sending a set of write commands to storage units of the DSN regarding storage of a set of current revision level encoded data slices and receiving a write acknowledgement in response to a write command. The method continues with the processing module determining whether a write threshold number of write acknowledgements have been received. When the write threshold number of write acknowledgements have been received, the method continues with the processing module issuing a set of commit commands to the storage units. The method continues with the processing module determining whether to issue a set of finalize commands, where a finalize command instructs a storage unit regarding storage of a corresponding current revision level encoded data slice and storage of a previous revision level encoded data.
Abstract:
A method begins with a computing device of a dispersed storage network (DSN) determining that an encoded data slice of a set of encoded data slices requires rebuilding and sending partial rebuild requests to storage units of the DSN. The method continues with one of the storage units generating a partial rebuilt slice based one or more encoded data slices of the set of encoded data slices stored by the one of the storage units and securing the partial rebuilt slice using a shared secret scheme that is shared among the storage units to produce a secured partial rebuilt slice. The method continues with the computing device receiving a set of secured partial rebuilt slices from the storage units, recovering a set of partial rebuilt slices from the set of secured partial rebuilt slices, and rebuilding the encoded data slice from the set of partial rebuilt slices.
Abstract:
A method begins by each of a group of write requesting modules of a dispersed storage network (DSN) generating one or more sets of write requests regarding one of a group of portions of related data, sending a group of the one or more sets of write requests to DSN memory, and sending binding information to a binding module. The method continues with the binding module processing remaining phases of the group of the one or more sets of write requests for writing the related data into the DSN memory as a single set of write requests and notifying the write requesting modules of status of the writing the related data into the DSN memory at completion of the processing of the remaining phases such that the related data is made accessible as a single piece of data when the processing of the remaining phases is successful.