MEDIA DISTRIBUTION TO A PLURALITY OF DEVICES UTILIZING BUFFERED DISPERSED STORAGE
A method begins by a processing module receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as a plurality of groups of sets of encoded data slices. For each of the plurality of playback requests, the method continues with the processing module storing a first group of the plurality of groups of sets of encoded data slices in a playback DSN memory to produce a first buffered group, outputting the first buffered group to a requesting device corresponding to the each of the plurality of playback requests, storing a second group of the plurality of groups of sets of encoded data slices in the playback DSN memory to produce a second buffered group, and outputting the second buffered group to the requesting device.
1 . A method for execution by a dispersed storage processing module, the method comprises:
receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as a plurality of groups of sets of encoded data slices, wherein a group of sets of the plurality of groups of sets of encoded data slices corresponds to a time window of the stored program and a set of encoded data slices of the group of sets of the plurality of groups of sets of encoded data slices corresponds to a data segment of the time window; and
for each of the plurality of playback requests:
storing a first group of the plurality of groups of sets of encoded data slices in a playback DSN memory to produce a first buffered group;
outputting the first buffered group to a requesting device corresponding to the each of the plurality of playback requests;
storing a second group of the plurality of groups of sets of encoded data slices in the playback DSN memory to produce a second buffered group; and
outputting the second buffered group to the requesting device.
2 . The method of claim 1 , wherein the storing the second group of the plurality of groups of sets of encoded data slices further comprises at least one of:
overwriting the first buffered group; and
deleting the first buffered group.
3 . The method of claim 1 , wherein the storing the first group further comprises:
decoding the first group of the plurality of groups of sets of encoded data slices in accordance with an error coding dispersal storage function to produce a recaptured first time window;
encoding the recaptured first time window in accordance with a second error coding dispersal storage function to produce a re-encoded first group; and
storing the re-encoded first group in the playback DSN memory to produce the first buffered group.
4 . The method of claim 1 , wherein the outputting the first group further comprises:
decoding the first group of the plurality of groups of sets of encoded data slices in accordance with an error coding dispersal storage function to produce a first time window of multimedia data; and
outputting the first time window of multimedia data to the requesting device.
5 . The method of claim 1 further comprises at least one of:
receiving a pause command from a particular requesting device:
pausing the storing of the first and second groups for the particular requesting device; and
flagging a most recent outputted group to the particular requesting device to produce a most recent group indicator; and
receiving a play command from a particular requesting device:
resuming the storing of the first and second groups for the particular requesting device in accordance with the most recent group indicator; and
receiving a rewind command from a particular requesting device:
traversing ordering of the storing of the first and second groups for the particular requesting device; and
receiving a fast forward command from a particular requesting device:
skipping the storing of the first group or the second group for the particular requesting device;
storing a third group of the plurality of groups of sets of encoded data slices in the playback DSN memory to produce a third buffered group; and
outputting the third buffered group to the requesting device.
6 . The method of claim 1 , wherein the storing further comprises at least one of:
storing the first group in a portion of the playback DSN memory allocated to the requesting device; and
storing the second group in the portion of the playback DSN memory allocated to the requesting device.
7 . A method for execution by a dispersed storage processing module, the method comprises:
requesting transfer of a first group of a plurality of groups of sets of encoded data slices of a stored program from a dispersed storage network (DSN) memory to a playback DSN memory, wherein the stored program is stored in the DSN memory as the plurality of groups of sets of encoded data slices, wherein a group of sets of the plurality of groups of sets of encoded data slices corresponds to a time window of the stored program and a set of encoded data slices of the group of sets of the plurality of groups of sets of encoded data slices corresponds to a data segment of the time window;
retrieving the first group from the playback DSN memory;
requesting transfer of a second group of the plurality of groups of sets of encoded data slices from the DSN memory to the playback DSN memory to produce a second group; and
retrieving the second group from the playback DSN memory.
8 . The method of claim 7 , wherein the requesting transfer of the second group of comprises at least one of:
overwriting the first group; and
deleting the first group.
9 . The method of claim 7 , wherein the requesting transfer of the first group further comprises:
decoding the first group of the plurality of groups of sets of encoded data slices in accordance with an error coding dispersal storage function to produce a recaptured first time window;
encoding the recaptured first time window in accordance with a second error coding dispersal storage function to produce a re-encoded first group; and
storing the re-encoded first group in the playback DSN memory to produce the first buffered group.
10 . The method of claim 7 further comprises:
decoding the first group in accordance with an error coding dispersal storage function to produce multimedia data.
11 . A computer comprises:
an interface; and
a processing module operable to:
receive, via the interface, a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as a plurality of groups of sets of encoded data slices, wherein a group of sets of the plurality of groups of sets of encoded data slices corresponds to a time window of the stored program and a set of encoded data slices of the group of sets of the plurality of groups of sets of encoded data slices corresponds to a data segment of the time window; and
for each of the plurality of playback requests:
store, via the interface, a first group of the plurality of groups of sets of encoded data slices in a playback DSN memory to produce a first buffered group;
output, via the interface, the first buffered group to a requesting device corresponding to the each of the plurality of playback requests;
store, via the interface, a second group of the plurality of groups of sets of encoded data slices in the playback DSN memory to produce a second buffered group; and
output, via the interface, the second buffered group to the requesting device.
12 . The computer of claim 11 , wherein the processing module further functions to store the second group of the plurality of groups of sets of encoded data slices by at least one of:
overwriting, via the interface, the first buffered group; and
deleting, via the interface, the first buffered group.
13 . The computer of claim 11 , wherein the processing module further functions to store the first group by:
decoding the first group of the plurality of groups of sets of encoded data slices in accordance with an error coding dispersal storage function to produce a recaptured first time window;
encoding the recaptured first time window in accordance with an error coding dispersal storage function to produce a re-encoded first group; and
storing, via the interface, the re-encoded first group in the playback DSN memory to produce the first buffered group.
14 . The computer of claim 11 , wherein the processing module further functions to output the first group by:
decoding the first group of the plurality of groups of sets of encoded data slices in accordance with an error coding dispersal storage function to produce multimedia data; and
outputting, via the interface, the multimedia data to the requesting device.
15 . The computer of claim 11 , wherein the processing module further functions to perform at least one of:
receiving, via the interface, a pause command from a particular requesting device:
pausing the storing of the first and second groups for the particular requesting device; and
flagging a most recent outputted group to the particular requesting device to produce a most recent group indicator; and
receiving, via the interface, a play command from a particular requesting device:
resuming the storing, via the interface, of the first and second groups for the particular requesting device in accordance with the most recent group indicator; and
receiving, via the interface, a rewind command from a particular requesting device:
traversing ordering of the storing of the first and second groups for the particular requesting device; and
receiving, via the interface, a fast forward command from a particular requesting device:
skipping the storing of the first and second groups for the particular requesting device;
storing, via the interface, a third group of the plurality of groups of sets of encoded data slices in the playback DSN memory to produce a third buffered group; and
outputting, via the interface, the third buffered group to the requesting device.
16 . The computer of claim 11 , wherein the processing module further functions to store by at least one of:
storing, via the interface, the first group in a portion of the playback DSN memory allocated to the requesting device; and
storing, via the interface, the second group in the portion of the playback DSN memory allocated to the requesting device.
17 . A user device comprises:
an interface; and
a processing module operable to:
request, via the interface, transfer of a first group of a plurality of groups of sets of encoded data slices of a stored program from a dispersed storage network (DSN) memory to a playback DSN memory, wherein the stored program is stored in the DSN memory as the plurality of groups of sets of encoded data slices, wherein a group of sets of the plurality of groups of sets of encoded data slices corresponds to a time window of the stored program and a set of encoded data slices of the group of sets of the plurality of groups of sets of encoded data slices corresponds to a data segment of the time window;
retrieve, via the interface, the first group from the playback DSN memory;
request, via the interface, transfer of a second group of the plurality of groups of sets of encoded data slices from the DSN memory to the playback DSN memory to produce a second group; and
retrieve, via the interface, the second group from the playback DSN memory.
18 . The user device of claim 17 , wherein the processing module further functions to request transfer of the second group by at least one of:
overwriting the first group; and
deleting the first group.
19 . The user device of claim 17 , wherein the processing module further functions to request transfer of the first group by:
decoding the first group of the plurality of groups of sets of encoded data slices in accordance with an error coding dispersal storage function to produce a recaptured first time window;
encoding the recaptured first time window in accordance with an error coding dispersal storage function to produce a re-encoded first group; and
storing, via the interface, the re-encoded first group in the playback DSN memory to produce the first buffered group.
20 . The user device of claim 17 , wherein the processing module further functions to:
decode the first group in accordance with an error coding dispersal storage function to produce multimedia data.