IP Library Granted Patent US 9,305,597
Granted Patent B2
US 9,305,597 · App. 14/334,051 · Granted Apr 5, 2016

Accessing stored multi-media content based on a subscription priority level

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,305,597
App. No.
14/334,051
Granted
Apr 5, 2016
Kind
B2
Abstract

A method begins with a processing module of a centralized digital video storage (DVS) system storing, for playback, a plurality of sets of encoded data slices in storage units, where multi-media content is encoded to produce the plurality of sets of encoded data slices. The method continues with the processing module monitoring the storage units for a failure mode and monitoring a number of subscriber devices requesting playback of the multi-media content. The method continues with the processing module determining whether a sufficient number of unique combinations of a decode threshold number of encoded data slices per set of slices exists to service playback of the multi-media content. When the sufficient number of the unique combinations do not exist, the method continues with the processing module reassigning unique combinations of the decode threshold number of encoded data slices per set of encoded data slices to some of the subscriber devices.

Claims (82)

1. A method for execution by one or more processing modules of one or more computing devices of a centralized digital video storage (DVS) system that supports a plurality of subscriber devices, the method comprises:

storing, for playback, a plurality of sets of encoded data slices in storage units of the centralized DVS system, wherein multi-media content is dispersed storage error encoded using a pillar width number of “n” and a decode threshold number of “k” to produce the plurality of sets of encoded data slices, and wherein “n” and “k” provide a certain number of unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices;

monitoring the storage units for a failure mode;

monitoring a number of subscriber devices requesting at least partially concurrent playback of the multi-media content;

determining based on a number of the storage units in the failure mode, the pillar width number and the decode threshold number, and the number of subscriber devices whether a sufficient number of the unique combinations exists to service playback of the multi-media content for the number of subscriber devices; and

when the sufficient number of the unique combinations do not exist to service the playback of the multi-media content for the number of subscriber devices, reassigning the unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices to some of the subscriber devices based on subscription priority level such that reliable playback service of the multi-media content is provided to the some of the subscriber devices.

2. The method of claim 1 , wherein the determining whether the sufficient number of the unique combinations exists comprises:

calculating available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line;

ascertaining a desired number for a set of unique combinations to assign to each of the subscriber devices; and

when the number of available unique combinations is less than the product of the desired number and the number of subscriber devices, determining that the sufficient number of the unique combinations does not exist.

3. The method of claim 2 , wherein the reassigning the unique combinations of the decode threshold number of encoded data slices comprises:

for each subscriber device having a first subscription priority level, allocating the desired number of available unique combinations to the subscriber device.

4. The method of claim 1 , wherein the determining whether the sufficient number of the unique combinations exists comprises:

calculating available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line;

for each subscriber device having a first subscription priority level, ascertaining a first level number of unique combinations assigned to each of the subscriber devices;

for each subscriber device having a second subscription priority level, ascertaining a second level number of unique combinations assigned to each of the subscriber devices, wherein the second level number is less than the first level number and the second subscription priority level is less than the first subscription priority level; and

when the number of available unique combinations is less than the sum of a first product and a second product, determining that the sufficient number of the unique combinations does not exist, wherein the first product is of the first level number and the number of subscriber devices having the first subscription priority level and the second product is of the second level number and the number of subscriber devices having the second subscription priority level.

5. The method of claim 4 , wherein the reassigning the unique combinations of the decode threshold number of encoded data slices comprises:

for each subscriber device having the first subscription priority level, allocating the first level number of available unique combinations to the subscriber device having the first subscription priority level; and

for each subscriber device having the second subscription priority level, allocating, when available, at least one available unique combination to the subscriber device having the second subscription priority level.

6. The method of claim 1 further comprises:

when one of the storage units in the failure mode comes back on line during playback of the multi-media content, calculating newly available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are currently on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line; and

allocating at least some of the newly available unique combinations to at least one subscriber device that was having less than reliable playback service of the multi-media content.

7. The method of claim 1 further comprises:

sending the unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices to the some of the subscriber devices.

8. A computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a centralized digital video storage (DVS) system that supports a plurality of subscriber devices, causes the one or more computing devices to:

store, for playback, a plurality of sets of encoded data slices in storage units of the centralized DVS system, wherein multi-media content is dispersed storage error encoded using a pillar width number of “n” and a decode threshold number of “k” to produce the plurality of sets of encoded data slices, and wherein “n” and “k” provide a certain number of unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices;

monitor the storage units for a failure mode;

monitor a number of subscriber devices requesting at least partially concurrent playback of the multi-media content;

determine based on a number of the storage units in the failure mode, the pillar width number and the decode threshold number, and the number of subscriber devices whether a sufficient number of the unique combinations exists to service playback of the multi-media content for the number of subscriber devices; and

when the sufficient number of the unique combinations do not exist to service the playback of the multi-media content for the number of subscriber devices, reassign the unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices to some of the subscriber devices based on subscription priority level such that reliable playback service of the multi-media content is provided to the some of the subscriber devices.

9. The computer readable storage medium of claim 8 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the centralized DVS system to determine whether the sufficient number of the unique combinations exists by:

calculating available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line;

ascertaining a desired number for a set of unique combinations to assign to each of the subscriber devices; and

when the number of available unique combinations is less than the product of the desired number and the number of subscriber devices, determining that the sufficient number of the unique combinations does not exist.

10. The computer readable storage medium of claim 9 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the centralized DVS system to reassign the unique combinations of the decode threshold number of encoded data slices by:

for each subscriber device having a first subscription priority level, allocating the desired number of available unique combinations to the subscriber device.

11. The computer readable storage medium of claim 8 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the centralized DVS system to determine whether the sufficient number of the unique combinations exists by:

calculating available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line;

for each subscriber device having a first subscription priority level, ascertaining a first level number of unique combinations assigned to each of the subscriber devices;

for each subscriber device having a second subscription priority level, ascertaining a second level number of unique combinations assigned to each of the subscriber devices, wherein the second level number is less than the first level number and the second subscription priority level is less than the first subscription priority level; and

when the number of available unique combinations is less than the sum of a first product and a second product, determining that the sufficient number of the unique combinations does not exist, wherein the first product is of the first level number and the number of subscriber devices having the first subscription priority level and the second product is of the second level number and the number of subscriber devices having the second subscription priority level.

12. The computer readable storage medium of claim 11 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the centralized DVS system to reassign the unique combinations of the decode threshold number of encoded data slices by:

for each subscriber device having the first subscription priority level, allocating the first level number of available unique combinations to the subscriber device having the first subscription priority level; and

for each subscriber device having the second subscription priority level, allocating, when available, at least one available unique combination to the subscriber device having the second subscription priority level.

13. The computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the centralized DVS system to:

when one of the storage units in the failure mode comes back on line during playback of the multi-media content, calculate newly available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are currently on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line; and

allocate at least some of the newly available unique combinations to at least one subscriber device that was having less than reliable playback service of the multi-media content.

14. The computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the centralized DVS system to:

send the unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices to the some of the subscriber devices.

15. A computing device of a centralized digital video storage (DVS) system that supports a plurality of subscriber devices, the computing device comprises:

an interface; and

a processing module operably coupled to the interface, wherein the processing module is operable to:

store, via the interface, for playback, a plurality of sets of encoded data slices in storage units of the centralized DVS system, wherein multi-media content is dispersed storage error encoded using a pillar width number of “n” and a decode threshold number of “k” to produce the plurality of sets of encoded data slices, and wherein “n” and “k” provide a certain number of unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices;

monitor the storage units for a failure mode;

monitor a number of subscriber devices requesting at least partially concurrent playback of the multi-media content;

determine based on a number of the storage units in the failure mode, the pillar width number and the decode threshold number, and the number of subscriber devices whether a sufficient number of the unique combinations exists to service playback of the multi-media content for the number of subscriber devices; and

when the sufficient number of the unique combinations do not exist to service the playback of the multi-media content for the number of subscriber devices, reassign the unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices to some of the subscriber devices based on subscription priority level such that reliable playback service of the multi-media content is provided to the some of the subscriber devices.

16. The computing device of claim 15 , wherein the processing module functions to determine whether the sufficient number of the unique combinations exists by:

calculating available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line;

ascertaining a desired number for a set of unique combinations to assign to each of the subscriber devices; and

when the number of available unique combinations is less than the product of the desired number and the number of subscriber devices, determining that the sufficient number of the unique combinations does not exist.

17. The computing device of claim 16 , wherein the processing module functions to reassign the unique combinations of the decode threshold number of encoded data slices by:

for each subscriber device having a first subscription priority level, allocating the desired number of available unique combinations to the subscriber device.

18. The computing device of claim 15 , wherein the processing module functions to determine whether the sufficient number of the unique combinations exists by:

calculating available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line;

for each subscriber device having a first subscription priority level, ascertaining a first level number of unique combinations assigned to each of the subscriber devices;

for each subscriber device having a second subscription priority level, ascertaining a second level number of unique combinations assigned to each of the subscriber devices, wherein the second level number is less than the first level number and the second subscription priority level is less than the first subscription priority level; and

when the number of available unique combinations is less than the sum of a first product and a second product, determining that the sufficient number of the unique combinations does not exist, wherein the first product is of the first level number and the number of subscriber devices having the first subscription priority level and the second product is of the second level number and the number of subscriber devices having the second subscription priority level.

19. The computing device of claim 18 , wherein the processing module functions to reassign the unique combinations of the decode threshold number of encoded data slices by:

for each subscriber device having the first subscription priority level, allocating the first level number of available unique combinations to the subscriber device having the first subscription priority level; and

for each subscriber device having the second subscription priority level, allocating, when available, at least one available unique combination to the subscriber device having the second subscription priority level.

20. The computing device of claim 15 further comprises:

the processing module is further operable to:

when one of the storage units in the failure mode comes back on line during playback of the multi-media content, calculate newly available unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices based on the storage units that are currently on line and storage of encoded data slices of the plurality of sets of encoded data slices in the storage units that are on line; and

allocate at least some of the newly available unique combinations to at least one subscriber device that was having less than reliable playback service of the multi-media content.

21. The computing device of claim 15 further comprises:

the processing module is further operable to:

send, via the interface, the unique combinations of the decode threshold number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices to the some of the subscriber devices.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2014
From: ABHIJEET, KUMAR; GLADWIN, S. CHRISTOPHER; DHUSE, GREG; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 033820/0963 →