Abstract:
A method begins by a first computing device determining a routing plan to route a set of encoded data slices from the first computing device to a second computing device via a plurality of network paths of a communications network. The method continues with the second computing device receiving encoded data slices via one or more network paths. When the second computing device receives a decode threshold number of encoded data slices, the method continues with the second computing device sending a message to the communications network indicating receipt of the decode threshold number of encoded data slices. The method continues with a relay unit determining whether the relay unit is in possession of a not-yet delivered encoded data slice. When the relay unit is in possession of the not-yet delivered encoded data slice, the method continues with the relay unit ceasing forwarding of the not-yet delivered encoded data slice.
Abstract:
A method begins by a processing module applying a share encoding function on data to produce a plurality of encoded shares and generating a corresponding plurality of random numbers for the plurality of encoded shares. The method continues with the processing module generating an encryption key based on a common password and a corresponding one of the corresponding plurality of random numbers and encrypting the encoded share utilizing the encryption key to produce an encrypted share for each encoded share of the plurality of encoded shares. The method continues with the processing module facilitating storage of the corresponding plurality of random numbers and each of the encrypted shares.
Abstract:
A method includes receiving a task for execution by a plurality of distributed storage and task execution units A priority level is determined for the task. A plurality of coordinated partial task requests are generated and sent to the plurality of distributed storage and task execution units, wherein the plurality coordinated partial task requests indicate a plurality of coordinated partial tasks and the priority level. A plurality of partial task results are received in response to performance of the plurality of coordinated partial tasks by the plurality of distributed storage and task execution units. A task result for the task is generated based on the plurality of partial task results.
Abstract:
A method begins by a dispersed storage (DS) processing module determining to expand a hierarchical ordered index structure and retrieving a root index node. The method continues with the DS processing module identifying immediate children index nodes, dividing the immediate children index nodes into sets of children index nodes, creating, for each of the sets of children index nodes, a sub-root index node to produce a set of sub-root index nodes, creating a new root index node to include entries for each of the sub-root index nodes of the set of sub-root index nodes, and temporarily storing the new root index node and the set of sub-root index nodes in a dispersed storage network (DSN). When the root index node has not changed, the method continues with the DS processing module updating the hierarchical ordered index structure with the new root index node and the set of sub-root index nodes.
Abstract:
A method begins by a source processing module securing data based on a key stream to produce secured data, where the key stream is derived from a unilateral encryption key accessible only to the source processing module, and sending the secure data to an intermediator processing module, where desecuring the secured data is divided into two partial desecuring stages. The method continues with the intermediator processing module partially desecuring the secure data in accordance with a first partial desecuring stage to produce partially desecured data and sending the partially desecured data to a destination processing module. The method continues with the destination processing module further partially desecuring the partially desecured data in accordance with a second desecuring stage to recover the data, where the destination processing module does not have access to the encryption key or to the key stream.
Abstract:
In response to a write operation for a set of encoded data slices, a method begins by a dispersed storage (DS) processing module determining whether to use a performance threshold number of encoded data slices of the set of encoded data slices. When the performance threshold number of encoded data slices is to be used, the method continues with the DS processing module determining the performance threshold number of encoded data slices and sending a performance threshold number of initial phase write requests to storage units. When a write threshold number of write responses are received, the method continues with the DS processing module sending a number of next phase write requests to the storage units, where the number of next phase write requests is equal to or greater than the write threshold number and is less than or equal to the performance threshold number.
Abstract:
A method begins with a processing module of a centralized digital video storage (DVS) system regarding recording of multi-media content that is to be broadcast at a particular broadcast time, determining a number of subscriber devices that have selected to record the multi-media content. At the particular broadcast time, the method continues with the processing module receiving the multi-media content as it is being broadcast. When the number of subscriber devices is less than a first value, the method continues with the processing module encoding the multi-media content using first level encoding parameters to produce sets of first level encoded data slices for storage. When the number of subscriber devices is equal to or greater than the first value, the method continues with the processing module encoding the multi-media content using second level encoding parameters to produce sets of second level encoded data slices for storage.
Abstract:
A method begins by a processing module receiving a data retrieval request and determining a read threshold number of dispersed storage (DS). The method continues with the processing module sending read request messages to DS units and receiving encoded data slices to produce received encoded data slices. The method continues with the processing module determining an incremental number of encoded data slices based on the number of received encoded data slices, determining an incremental number of DS units, and sending a read request message to each of the incremental number of DS units when the number of received encoded data slices compares unfavorably to a decode threshold number. The method continues with the processing module dispersed storage error decoding the received encoded data slices to produce data when the number of received encoded data slices compares favorably to the decode threshold number of encoded data slices.
Abstract:
A method for evolving dispersed storage network (DSN) memory in a DSN begins by a processing module generating tracking information by tracking evolutionary change of storage units of the DSN memory, performance and reliability requirements of the DSN memory, and memory utilization of the DSN memory. The method continues with the processing module, for a given state of evolution of the DSN memory, interpreting the tracking information to produce given state DSN memory data and establishing virtual DSN address boundaries for a set of the storage units for storing data objects in a virtual memory vault of the DSN, where the virtual memory vault is mapped to the set of the storage units, where the data objects are dispersed storage error encoded into pluralities of sets of encoded data slices that are stored in the set of the storage units in accordance with the virtual DSN address boundaries.
Abstract:
A method begins with a processing module receiving an access request for the data object. The method continues by ascertaining that the data object is divided into a plurality of data segments and that plurality of data segments are dispersed storage error encoded to produce a plurality of sets of encoded data slices. The method continues by ascertaining batching of the plurality of sets of encoded data slices, wherein the plurality of sets of encoded data slices are arranged into a set of batched encoded data slices. The method continues by outputting a set of access requests for the set of batched encoded data slices to storage units of the DSN.