ROBUST RECEPTION OF DATA UTILIZING ENCODED DATA SLICES
First Claim
1. A method for robust reception of data by one or more processing modules of one or more computing devices, the method comprises:
- receiving encoded data slices of a random order of encoded data slices, wherein each encoded data slice of the random order of encoded data slices has a unique slice name such that the random order of encoded data slices has a corresponding plurality of slice names, and wherein an encoded data slice error rate corresponds to a number of data segments per data partition and a transmit number minus a decode threshold number;
interpreting the corresponding plurality of slice names to de-randomize the random order of encoded data slices into a plurality of sets of transmit encoded data slices, wherein the plurality of sets of transmit encoded data slices corresponds to a plurality of sets encoded data slices, wherein the plurality of sets of encoded data slices is a dispersed storage error encoded version of a collection of data segments of a data portion of a plurality of data portions of the data, wherein one of the plurality of sets of transmit encoded data slices includes the transmit number of encoded data slices of a total number of encoded data slices of a corresponding one of the plurality of sets of encoded data slices; and
on a set by set basis and in accordance with a dispersed storage error encoding function;
determining whether the decode threshold number of encoded data slices of a set of transmit encoded data slices of the plurality of sets of transmit encoded data slices have been received;
when the decode threshold number of encoded data slices have not yet been received, determining whether a sufficient number of encoded data slices of the set of transmit encoded data slices are still to be received;
when the sufficient number of encoded data slices are still to be received, waiting until the decode threshold number of encoded data slices are received; and
when the decode threshold number of encoded data slices are received, decoding the decode threshold number of encoded data slices to recapture a corresponding data segment of the collection of data segments.
3 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a processing module receiving a random order of encoded data slices and interpreting slice names to de-randomize the encoded data slices into of sets of transmit encoded data slices. The method continues with the processing module determining whether a decode threshold number of encoded data slices of a set of transmit encoded data slices have been received. When not received, the method continues with the processing module determining whether a sufficient number of encoded data slices of the set of transmit encoded data slices are still to be received and waiting until the decode threshold number of encoded data slices are received when encoded data slices are still to be received. When the decode threshold number of encoded data slices are received, the method continues with the processing module decoding the decode threshold number of encoded data slices to recapture a corresponding data segment.
-
Citations
14 Claims
-
1. A method for robust reception of data by one or more processing modules of one or more computing devices, the method comprises:
-
receiving encoded data slices of a random order of encoded data slices, wherein each encoded data slice of the random order of encoded data slices has a unique slice name such that the random order of encoded data slices has a corresponding plurality of slice names, and wherein an encoded data slice error rate corresponds to a number of data segments per data partition and a transmit number minus a decode threshold number; interpreting the corresponding plurality of slice names to de-randomize the random order of encoded data slices into a plurality of sets of transmit encoded data slices, wherein the plurality of sets of transmit encoded data slices corresponds to a plurality of sets encoded data slices, wherein the plurality of sets of encoded data slices is a dispersed storage error encoded version of a collection of data segments of a data portion of a plurality of data portions of the data, wherein one of the plurality of sets of transmit encoded data slices includes the transmit number of encoded data slices of a total number of encoded data slices of a corresponding one of the plurality of sets of encoded data slices; and on a set by set basis and in accordance with a dispersed storage error encoding function; determining whether the decode threshold number of encoded data slices of a set of transmit encoded data slices of the plurality of sets of transmit encoded data slices have been received; when the decode threshold number of encoded data slices have not yet been received, determining whether a sufficient number of encoded data slices of the set of transmit encoded data slices are still to be received; when the sufficient number of encoded data slices are still to be received, waiting until the decode threshold number of encoded data slices are received; and when the decode threshold number of encoded data slices are received, decoding the decode threshold number of encoded data slices to recapture a corresponding data segment of the collection of data segments. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A data slice layer receive module comprises:
-
a receive buffer module, when operable within a computing device, causes the computing device to; receive encoded data slices of a random order of encoded data slices, wherein each encoded data slice of the random order of encoded data slices has a unique slice name such that the random order of encoded data slices has a corresponding plurality of slice names, and wherein an encoded data slice error rate corresponds to a number of data segments per data partition and a transmit number minus a decode threshold number; and interpret the corresponding plurality of slice names to de-randomize the random order of encoded data slices into a plurality of sets of transmit encoded data slices, wherein the plurality of sets of transmit encoded data slices corresponds to a plurality of sets encoded data slices, wherein the plurality of sets of encoded data slices is a dispersed storage error encoded version of a collection of data segments of a data portion of a plurality of data portions of data, wherein one of the plurality of sets of transmit encoded data slices includes the transmit number of encoded data slices of a total number of encoded data slices of a corresponding one of the plurality of sets of encoded data slices; a processing module, when operable within the computing device, causes the computing device to; on a set by set basis and in accordance with a dispersed storage error encoding function; determine whether the decode threshold number of encoded data slices of a set of transmit encoded data slices of the plurality of sets of transmit encoded data slices have been received; when the decode threshold number of encoded data slices have not yet been received, determine whether a sufficient number of encoded data slices of the set of transmit encoded data slices are still to be received; and when the sufficient number of encoded data slices are still to be received, wait until the decode threshold number of encoded data slices are received; and one or more decoding modules, when operable within the computing device, causes the computing device to; when the decode threshold number of encoded data slices are received, decode the decode threshold number of encoded data slices to recapture a corresponding data segment of the collection of data segments. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification