Distribution of unique copies of broadcast data utilizing fault-tolerant retrieval from dispersed storage
First Claim
1. A method for execution by a dispersed storage processing module, the method comprises:
- storing a broadcast of data in accordance with an error coding dispersal storage function, wherein the broadcast of data is stored as a plurality of sets of encoded data slices and wherein encoding the broadcast of data via the error coding dispersal storage function facilitates error-free decoding of the broadcast of data via decoding of a threshold number of encoded data slices that is less than a total number of the plurality of sets of encoded data slices, wherein the threshold number of encoded data slices can be any combination of encoded data slices from the plurality of sets of encoded data slices;
receiving, from a requesting unit, a playback request for the broadcast of data;
in response to the playback request;
determining a first unique combination of encoded data slices of the plurality of sets of encoded data slices as a first subset of the total number of the plurality of sets of encoded data slices having at least the threshold number of encoded data slices;
determining whether the first unique combination of encoded data slices is available for retrieval, based on a number of the first unique combination of encoded data slices available for retrieval including at least the threshold number of encoded data slices;
when the first unique combination is available;
retrieving, as a unique copy of the broadcast data, the first unique combination of encoded data slices; and
transmitting the first unique combination of encoded data slices to the requesting unit;
when the first unique combination is not available because the number of the first unique combination of encoded data slices available for retrieval is less than the threshold number of encoded data slices;
determining a second unique combination of encoded data slices of the plurality of sets of encoded data slices to be retrieved as a second subset of the total number of the plurality of sets of encoded data slices having at least the threshold number of encoded data slices, wherein the second subset of encoded data slices is different from the first subset;
retrieving, as the unique copy of the broadcast data, the second unique combination of encoded data slices; and
transmitting the second unique combination of encoded data slices to the requesting unit.
5 Assignments
0 Petitions
Accused Products
Abstract
A broadcast of data is stored as a plurality of sets of encoded data slices stored using an error coding dispersal storage function. In response to receiving a playback request, a centralized digital video recorder (DVR) identifies a first unique combination of encoded data slices, and determines whether that combination of data slices is available for retrieval. If the data slices are available, they are retrieved. If the data slices are not available, another unique combination of encoded data slices of the plurality of sets of encoded data slices is identified and retrieved, instead. Both combinations of data slices can be used to recreate a unique copy of broadcast data.
-
Citations
24 Claims
-
1. A method for execution by a dispersed storage processing module, the method comprises:
-
storing a broadcast of data in accordance with an error coding dispersal storage function, wherein the broadcast of data is stored as a plurality of sets of encoded data slices and wherein encoding the broadcast of data via the error coding dispersal storage function facilitates error-free decoding of the broadcast of data via decoding of a threshold number of encoded data slices that is less than a total number of the plurality of sets of encoded data slices, wherein the threshold number of encoded data slices can be any combination of encoded data slices from the plurality of sets of encoded data slices; receiving, from a requesting unit, a playback request for the broadcast of data; in response to the playback request; determining a first unique combination of encoded data slices of the plurality of sets of encoded data slices as a first subset of the total number of the plurality of sets of encoded data slices having at least the threshold number of encoded data slices; determining whether the first unique combination of encoded data slices is available for retrieval, based on a number of the first unique combination of encoded data slices available for retrieval including at least the threshold number of encoded data slices; when the first unique combination is available; retrieving, as a unique copy of the broadcast data, the first unique combination of encoded data slices; and transmitting the first unique combination of encoded data slices to the requesting unit; when the first unique combination is not available because the number of the first unique combination of encoded data slices available for retrieval is less than the threshold number of encoded data slices; determining a second unique combination of encoded data slices of the plurality of sets of encoded data slices to be retrieved as a second subset of the total number of the plurality of sets of encoded data slices having at least the threshold number of encoded data slices, wherein the second subset of encoded data slices is different from the first subset; retrieving, as the unique copy of the broadcast data, the second unique combination of encoded data slices; and transmitting the second unique combination of encoded data slices to the requesting unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A centralized digital video recorder (DVR) comprises:
-
a dispersed storage error encoding module operable to encode a broadcast of data in accordance with an error coding dispersal storage function to produce a plurality of sets of encoded data slices wherein the error coding dispersal storage function facilitates error-free decoding of the broadcast of data via decoding of a threshold number of encoded data slices that is less than a total number of the plurality of sets of encoded data slices, wherein the threshold number of encoded data slices can be any combination of encoded data slices from the plurality of sets of encoded data slices; a plurality of storage nodes operable to store the plurality of sets of encoded data slices; a distribution module operable to; receive, from a requesting unit, a playback request for the broadcast of data; in response to the playback request; determine a first unique combination of encoded data slices of the plurality of sets of encoded data slices as a first subset of the total number of the plurality of sets of encoded data slices having at least the threshold number of encoded data slices; determine whether the first unique combination is available for retrieval, based on a number of the first unique combination of encoded data slices available for retrieval including at least the threshold number of encoded data slices; when the first unique combination is available; retrieve, as a unique copy of the broadcast data, the first unique combination of encoded data slices; and transmit the first unique combination of encoded data slices to the requesting unit; when the first unique combination is not available because the number of the first unique combination of encoded data slices available for retrieval is less than the threshold number of encoded data slices; determine a second unique combination of encoded data slices of the plurality of sets of encoded data slices as a second subset of the total number of the plurality of sets of encoded data slices having at least the threshold number of encoded data slices, wherein the second subset is different from the first subset; retrieve, as the unique copy of the broadcast data, the second unique combination of encoded data slices; and transmit the second unique combination of encoded data slices to the requesting unit. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable storage medium storing a program of instructions configured to be executed by a processor to implement a method for execution by a dispersed storage processing module, the program of instructions comprising:
-
at least one instruction configured to store a broadcast of data in accordance with an error coding dispersal storage function, wherein the broadcast of data is stored as a plurality of sets of encoded data slices and wherein the error coding dispersal storage function facilitates error-free decoding of the broadcast of data via decoding of a threshold number of encoded data slices that is less than a total number of the plurality of sets of encoded data slices, wherein the threshold number of encoded data slices can be any combination of encoded data slices from the plurality of sets of encoded data slices; at least one instruction configured to receive, from a requesting unit, a playback request for the broadcast of data; in response to the playback request; at least one instruction configured to determine a first unique combination of encoded data slices of the plurality of sets of encoded data slices as a first subset of the total number of the plurality of sets of encoded data slices having at least the threshold number of encoded data slices; at least one instruction configured to determine whether the first unique combination is available for retrieval, based on a number of the first unique combination of encoded data slices available for retrieval including at least the threshold number of encoded data slices; when the first unique combination is available; at least one instruction configured to retrieve, as a unique copy of the broadcast data, the first unique combination of encoded data slices; and at least one instruction configured to transmit the first unique combination of encoded data slices to the requesting unit; when the first unique combination is not available because the number of the first unique combination of encoded data slices available for retrieval is less than the threshold number of encoded data slices; at least one instruction configured to determine a second unique combination of encoded data slices of the plurality of sets of encoded data slices to be retrieved as a second subset of the total number of the plurality of sets of encoded data slices having at least the threshold number of encoded data slices, wherein the second subset is different from the first subset; at least one instruction configured to retrieve, as the unique copy of the broadcast data, the second unique combination of encoded data slices; and at least one instruction configured to transmit the second unique combination of encoded data slices to the requesting unit. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification