Decoding data streams in a distributed storage network
First Claim
1. A method for execution by one or more processing modules of a computing device of a dispersed storage network (DSN), the method comprises:
- receiving, by the computing device, one or more pairs of coded values, wherein a pair of coded values of the one or more pairs of coded values includes a coded value corresponding to one of a first plurality of data segments and a coded value corresponding to the one of a second plurality of data segments and wherein each of a first data stream and a second data stream are segmented to produce the first plurality of data segments corresponding to the first data stream and the second plurality of data segments corresponding to the second data stream;
creating, by a processing module of the one or more processing modules, a received coded matrix from the one or more pairs of coded values;
generating, by the processing module, a first data matrix from the received coded matrix and an encoding matrix;
identifying, by the processing module, a first plurality of data blocks of the first data matrix that correspond to the first data stream;
determining, by the processing module, whether the first plurality of data blocks includes a decode threshold number of pairs of coded values; and
when the first plurality of data blocks includes a decode threshold number of pairs of coded values, determining whether the decode threshold number of pairs of coded values are valid;
decoding, by the processing module, the decode threshold number of pairs of coded values;
generating, by the processing module, a second data matrix; and
extracting, by the processing module, the first data stream from the second data matrix.
4 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a dispersed storage (DS) processing module receiving one or more pairs of coded values and continues with the DS processing module creating a received coded matrix from the one or more pairs of coded values, followed by the generation of a data matrix. When a decode threshold number of pairs of coded values are included in a first plurality of data blocks corresponding to a data stream from the data matrix and the decode threshold number of pairs of coded values are determined to be valid, the decode threshold number of pairs of coded values are decoded. The method continues with the generation of a second data matrix and the data stream is extracted from the second data matrix.
-
Citations
19 Claims
-
1. A method for execution by one or more processing modules of a computing device of a dispersed storage network (DSN), the method comprises:
-
receiving, by the computing device, one or more pairs of coded values, wherein a pair of coded values of the one or more pairs of coded values includes a coded value corresponding to one of a first plurality of data segments and a coded value corresponding to the one of a second plurality of data segments and wherein each of a first data stream and a second data stream are segmented to produce the first plurality of data segments corresponding to the first data stream and the second plurality of data segments corresponding to the second data stream; creating, by a processing module of the one or more processing modules, a received coded matrix from the one or more pairs of coded values; generating, by the processing module, a first data matrix from the received coded matrix and an encoding matrix; identifying, by the processing module, a first plurality of data blocks of the first data matrix that correspond to the first data stream; determining, by the processing module, whether the first plurality of data blocks includes a decode threshold number of pairs of coded values; and when the first plurality of data blocks includes a decode threshold number of pairs of coded values, determining whether the decode threshold number of pairs of coded values are valid; decoding, by the processing module, the decode threshold number of pairs of coded values; generating, by the processing module, a second data matrix; and extracting, by the processing module, the first data stream from the second data matrix. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device comprises:
-
a network interface; memory; and a processing module operably coupled to the network interface and the memory, wherein the processing module is operable to; receive one or more pairs of coded values, wherein a pair of coded values of the one or more pairs of coded values includes a coded value corresponding to one of a first plurality of data segments and a coded value corresponding to the one of a second plurality of data segments and wherein each of a first data stream and a second data stream are segmented to produce the first plurality of data segments corresponding to the first data stream and the second plurality of data segments corresponding to the second data stream; create a received coded matrix from the one or more pairs of coded values; generate a first data matrix from the received coded matrix and an encoding matrix; identify a first plurality of data blocks of the first data matrix that correspond to the first data stream; determine whether the first plurality of data blocks includes a decode threshold number of pairs of coded values; and when the first plurality of data blocks includes a decode threshold number of pairs of coded values, determine whether the decode threshold number of pairs of coded values are valid; decode the decode threshold number of pairs of coded values; generate a second data matrix; and extract the first data stream from the second data matrix. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage device comprises:
-
a first memory section that stores operational instruction that, when executed by a computing device, causes the computing device to; receive one or more pairs of coded values, wherein a pair of coded values of the one or more pairs of coded values includes a coded value corresponding to one of a first plurality of data segments and a coded value corresponding to the one of a second plurality of data segments and wherein each of a first data stream and a second data stream are segmented to produce the first plurality of data segments corresponding to the first data stream and the second plurality of data segments corresponding to the second data stream; a second memory section that stores operational instruction that, when executed by the computing device, causes the computing device to; create a received coded matrix from the one or more pairs of coded values; and generate a first data matrix from the received coded matrix and an encoding matrix; a third memory section that stores operational instruction that, when executed by the computing device, causes the computing device to; identify a first plurality of data blocks of the first data matrix that correspond to the first data stream; determine whether the first plurality of data blocks includes a decode threshold number of pairs of coded values; and when the first plurality of data blocks includes a decode threshold number of pairs of coded values, determine whether the decode threshold number of pairs of coded values are valid; decode the decode threshold number of pairs of coded values; generate a second data matrix; and extract the first data stream from the second data matrix. - View Dependent Claims (16, 17, 18, 19)
-
Specification