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 of a dispersed storage network (DSN) sending a plurality of sets of encoded data slices to DSN memory for storage in accordance with a plurality of sets of DSN data addresses. The method continues with the DS processing module generating retrieval data that is based on a data object number and data storage information. The method continues with the DS processing module dispersed storage error encoding the retrieval data to produce a set of encoded retrieval data slices and generating a set of DSN retrieval data addresses based on the data name and on retrieval data storage information. The method continues with the DS processing module sending the set of encoded retrieval data slices to the DSN memory for storage in accordance with the set of DSN retrieval data addresses.
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.
Abstract:
A user device includes a browser module, a DSN interface to a local or external DSN memory and a DS processing module coupled to the DSN interface for storing and retrieving the data object from the DSN memory, wherein the data object is divided into a plurality of data segments and wherein each of the plurality of data segments is stored in the DSN memory as a plurality of encoded data slices that are generated based on an error encoding dispersal function. The browser module is operable to interpret a user input as a request to display a data object, determine the data object is stored in the DSN memory, request the DS processing module to retrieve the data object from the DSN memory and request an application program to open the data object for display.
Abstract:
A method for generating virtual dispersed storage network (DSN) addresses includes dispersed storage error encoding a data segment of a data object to produce a set of encoded data slices of a plurality of sets of encoded data slices of the pluralities of sets of encoded data slices. The method further includes generating, for each encoded data slice of the set of encoded data slices, a virtual DSN address having a slice name that includes a vault identifier, a slice index, a data object identifier, and a data segment identifier. The method further includes obtaining a mapping of a vault to a set of storage units of the DSN, wherein the mapping indicates how the set of encoded data slices are to be stored. The method further includes outputting the set of encoded data slices to the set of storage units in accordance with the mapping.
Abstract:
A set of storage devices coordinates selection of dispersed storage error encoding parameters for storing a stream of data and coordinates selection of encoded data storage devices and redundancy encoded data storage devices of the set of storage devices. The encoded data storage devices coordinates storage of a decode threshold amount of encoded data of the stream of data in accordance with the dispersed storage error encoding parameters. The encoded data storage devices send information regarding the decode threshold amount of encoded data to the redundancy encoded data storage devices. The redundancy encoded data storage devices generates redundancy encoded data based on the information regarding the decode threshold amount of encoded data and in accordance with the dispersed storage error encoding parameters. The redundancy encoded data storage devices store the redundancy encoded data to provide error encoded reliable storage of the stream of data.
Abstract:
A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) receiving a DSN access request regarding at least one data segment of a data object. The method continues with the processing module performing a scoring function using one or more properties of the DSN access request and one or more properties of DSN memory of the DSN to produce a storage scoring resultant, where the DSN memory includes a plurality of storage units that are logically arranged into a plurality of storage pools. The method continues with the processing module utilizing the storage scoring resultant to identify a set of storage units of the plurality of storage units affiliated with a given storage pool of the plurality of storage pools. The method continues with the processing module sending a set of access requests to the set of storage units regarding the DSN access request.
Abstract:
A method begins by a processing module of a dispersed storage network (DSN) identifying a change in DSN memory of the DSN. For a set of encoded data slices effected by the change, the method continues with the processing module ascertaining updated properties of the DSN memory and performing an updating scoring function using properties of DSN access information and the updated properties of the DSN memory to produce an updated storage scoring resultant. The method continues with the processing module utilizing the updated storage scoring resultant to identify an updated set of storage units affiliated with a given storage pool of a plurality of storage pools of the DSN memory and sending at least one data migration request to at least one storage unit of the updated set of storage units regarding migration of at least one encoded data slice of the set of encoded data slices.
Abstract:
A method begins by a processing module of a dispersed storage network (DSN) dividing data into a plurality of data units and generating a plurality of encryption keys from a master key associated with the data and a data identifier associated with the data. The method continues with the processing module encrypting the plurality of data units using the plurality of encryption keys to produce a plurality of encrypted data units and sending the plurality of encrypted data units to a first set of storage units of the DSN for storage. The method continues with the processing module encoding the master key to produce a plurality of encoded master key units and sending the plurality of encoded master key units to a second set of storage units of the DSN for storage.