IP Library Granted Patent US 9,268,641
Granted Patent B2
US 9,268,641 · App. 14/230,253 · Granted Feb 23, 2016

Large scale subscription based dispersed storage network

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,268,641
App. No.
14/230,253
Granted
Feb 23, 2016
Kind
B2
Abstract

A method begins with a set top box determining whether a content request is regarding playback of stored content or streaming of broadcast content. When the content request is regarding playback of stored content, the method continues with the set top box determining whether to retrieve the stored content for a group of set top boxes in a common area or from storage units DSN memory. When the stored content is to be retrieved from the group of set top boxes, the method continues with the set top box obtaining, from at least some of the set top boxes, the decode threshold number of encoded data slices for each set of encoded data slices corresponding to the stored content. The method continues with the set top box decoding, for each set of encoded data slices, the decode threshold number of encoded data slices to reconstruct the stored content.

Claims (79)

1. A method for execution by a set top box, the method comprises:

determining whether a content request is regarding playback of stored content or streaming of broadcast content, wherein the stored content is stored as a plurality of sets of encoded data slices, wherein, for a set of encoded data slices of the plurality of sets of encoded data slices, the set of encoded data slices includes a pillar width number of encoded data slices, wherein a decode threshold number of encoded data slices are required to reconstruct a segment of content, and wherein the decode threshold number is less than the pillar width number;

when the content request is regarding playback of stored content, determining whether to retrieve at least a portion of the stored content for a group of set top boxes in a common area or from storage units of distributed storage network (DSN) memory, wherein the group of set top boxes includes the set top box;

when the at least the portion of the stored content is to be retrieved from the group of set top boxes, obtaining, from at least some of the group of set top boxes, the decode threshold number of encoded data slices for each set of encoded data slices of the plurality of sets of encoded data slices corresponding to the at least the portion of the stored content; and

decoding, for each set of encoded data slices of the at least the portion of the stored content, the decode threshold number of encoded data slices to reconstruct the at least a portion of the stored content.

2. The method of claim 1 , wherein the determining whether to retrieve the at least the portion of the stored content for the group of set top boxes or from the storage units comprises at least one of:

receiving a communication from a source of the stored content;

determining whether the set top box is storing an encode data slice for each set of encoded data slices of the at least the portion of the stored content and:

when the set top box is storing an encode data slice for each set of encoded data slices of the at least the portion, determining to retrieve the at least the portion of the stored content from the group of set top boxes; and

when the set top box is not storing an encode data slice for each set of encoded data slices of the at least the portion, determining to retrieve the at least the portion of the stored content from the storage units.

3. The method of claim 1 , wherein the obtaining the decode threshold number of encoded data slices for each set of encoded data slices corresponding to the at least the portion of the stored content comprises:

sending a set of read requests to a subset of set top boxes of the group of set top boxes, wherein a read request of the set of read requests identifies an encoded data slice for each set of encoded data slices corresponding to the at least the portion of the stored content;

receiving, from set top boxes of the subset of set top boxes, encoded data slices for each set of encoded data slices corresponding to the at least the portion of the stored content; and

retrieving, from local memory of the set top box, a locally stored encoded data slice for each set of encoded data slices corresponding to the at least the portion of the stored content.

4. The method of claim 1 further comprises:

retrieving a second portion of the stored content from the storage units.

5. The method of claim 1 further comprises:

outputting the reconstruct the at least a portion of the stored content to a requesting device, wherein stored content includes one or more of: a recorded broadcast, a recorded multicast, and on-demand content.

6. The method of claim 1 further comprises, when the content request is regarding streaming of broadcast content:

sequentially receiving sets of encoded broadcast slices; and

facilitating storage of the sets of encoded broadcast slices in the group of set top boxes when enabled; and

decoding the sets of encoded broadcast slices to reconstruct the streaming of broadcast content.

7. The method of claim 1 further comprises, when the content request is regarding streaming of broadcast content:

receiving the streaming of broadcast content;

encoding the broadcast content to produce sets of encoded broadcast slices; and

storing the sets of encoded broadcast slices in the group of set top boxes.

8. The method of claim 1 further comprises, when the at least the portion of the stored content is to be retrieved from the storage units:

sending a set of read requests to storage units;

receiving, from at least some of the storage units, the decode threshold number of encoded data slices for each set of encoded data slices corresponding to the at least the portion of the stored content; and

decoding, for each set of encoded data slices of the at least the portion of the stored content, the decode threshold number of encoded data slices to reconstruct the at least a portion of the stored content.

9. The method of claim 1 , wherein the common area comprises at least one of:

a building;

a neighborhood; and

a cable system.

10. The method of claim 1 , wherein a source of the streaming of broadcast content comprises one of:

a cable head end;

a satellite; and

an internet-based content provider.

11. A set top box 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:

determine whether a content request is regarding playback of stored content or streaming of broadcast content, wherein the stored content is stored as a plurality of sets of encoded data slices, wherein, for a set of encoded data slices of the plurality of sets of encoded data slices, the set of encoded data slices includes a pillar width number of encoded data slices, wherein a decode threshold number of encoded data slices are required to reconstruct a segment of content, and wherein the decode threshold number is less than the pillar width number;

when the content request is regarding playback of stored content, determine whether to retrieve at least a portion of the stored content for a group of set top boxes in a common area or from storage units of distributed storage network (DSN) memory, wherein the group of set top boxes includes the set top box;

when the at least the portion of the stored content is to be retrieved from the group of set top boxes, obtain, from at least some of the group of set top boxes via the network interface, the decode threshold number of encoded data slices for each set of encoded data slices of the plurality of sets of encoded data slices corresponding to the at least the portion of the stored content; and

decode, for each set of encoded data slices of the at least the portion of the stored content, the decode threshold number of encoded data slices to reconstruct the at least a portion of the stored content.

12. The set top box of claim 11 , wherein the processing module is further operable to determine whether to retrieve the at least the portion of the stored content for the group of set top boxes or from the storage units by at least one of:

receiving a communication from a source of the stored content;

determining whether the set top box is storing an encode data slice for each set of encoded data slices of the at least the portion of the stored content and:

when the set top box is storing an encode data slice for each set of encoded data slices of the at least the portion, determining to retrieve the at least the portion of the stored content from the group of set top boxes; and

when the set top box is not storing an encode data slice for each set of encoded data slices of the at least the portion, determining to retrieve the at least the portion of the stored content from the storage units.

13. The set top box of claim 11 , wherein the processing module is further operable to obtain the decode threshold number of encoded data slices for each set of encoded data slices corresponding to the at least the portion of the stored content by:

sending a set of read requests to a subset of set top boxes of the group of set top boxes, wherein a read request of the set of read requests identifies an encoded data slice for each set of encoded data slices corresponding to the at least the portion of the stored content;

receiving, from set top boxes of the subset of set top boxes, encoded data slices for each set of encoded data slices corresponding to the at least the portion of the stored content; and

retrieving, from local memory of the set top box, a locally stored encoded data slice for each set of encoded data slices corresponding to the at least the portion of the stored content.

14. The set top box of claim 11 , wherein the processing module is further operable to:

retrieve a second portion of the stored content from the storage units.

15. The set top box of claim 11 , wherein the processing module is further operable to:

output, via the network interface, the reconstruct the at least a portion of the stored content to a requesting device, wherein stored content includes one or more of: a recorded broadcast, a recorded multicast, and on-demand content.

16. The set top box of claim 11 , wherein the processing module is further operable to, when the content request is regarding streaming of broadcast content:

sequentially receive, via the network interface, sets of encoded broadcast slices; and

facilitate storage of the sets of encoded broadcast slices in the group of set top boxes when enabled; and

decode the sets of encoded broadcast slices to reconstruct the streaming of broadcast content.

17. The set top box of claim 11 , wherein the processing module is further operable to, when the content request is regarding streaming of broadcast content:

receive the streaming of broadcast content;

encode the broadcast content to produce sets of encoded broadcast slices; and

output, via the network interface, the sets of encoded broadcast slices to the group of set top boxes for storage therein.

18. The set top box of claim 11 , wherein the processing module is further operable to, when the at least the portion of the stored content is to be retrieved from the storage units:

send a set of read requests to storage units;

receive, from at least some of the storage units via the network interface, the decode threshold number of encoded data slices for each set of encoded data slices corresponding to the at least the portion of the stored content; and

decode, for each set of encoded data slices of the at least the portion of the stored content, the decode threshold number of encoded data slices to reconstruct the at least a portion of the stored content.

19. The set top box of claim 11 , wherein the common area comprises at least one of:

a building;

a neighborhood; and

a cable system.

20. The set top box of claim 11 , wherein a source of the streaming of broadcast content comprises one of:

a cable head end;

a satellite; and

an internet-based content provider.

Assignments (5)
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 →