IP Library Granted Patent US 10,289,505
Granted Patent B2
US 10,289,505 · App. 15/203,909 · Granted May 14, 2019

Dispersed multi-media content for a centralized digital video storage system

Inventor: S. Christopher Gladwin (Chicago, IL)
Assignee: International Business Machines Corporation
G06F11/2069G06F11/1076G06F11/2058G06F21/10H03M13/35H04L9/085H04L9/0894H04L65/604H04L65/607H04L67/06H04L67/1097H04L69/40H04N21/2181H04N21/232H04N21/23116G06F2211/1057G06F2211/1059G06F2221/0784G06F2221/2107G06F2221/2151H03M13/1515H03M13/23H04L63/102H04L2209/60
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 10,289,505
App. No.
15/203,909
Granted
May 14, 2019
Kind
B2
Abstract

A method begins with a dispersed storage network (DSN) processing module receiving content retrieval message from one or more requesters. The method continues by determining DRM policies and read operational parameters. The method continues by retrieving a set of encoded data slices from DSN memory, the set of encoded data slices including unique subsets of the set of encoded data slices with each of the unique subsets assigned to one or more of the requesters based at least in part on the determined read operational parameters. The method continues by sending the set of encoded data slices to the requesters. The requestors select their assigned subset of the received set of encoded data slices and decode to produce the content.

Claims (50)

1. A method for execution by a dispersed storage network (DSN), the method comprises:

receiving a content retrieval message from a requester for content, wherein the content is encoded utilizing an error coding dispersal storage function in accordance with write operational parameters to produce a plurality of sets of encoded data slices, wherein a decode threshold number of encoded data slices of a set of encoded data slices is required to recover an associated content portion, the decode threshold number of encoded data slices less than a total number of encoded data slices of the set of encoded data slices;

determining a DRM policy for accessing the content based at least in part on the content retrieval message, the DRM policy indicating open access or restricted access for the content;

in response to determining that the DRM policy indicates restricted access for the content:

determining substantially unique read operational parameters based at least in part on the DRM policy, the substantially unique read operational parameters identifying a slice retrieval pattern associated with the requester, the slice retrieval pattern including at a least the decode threshold number of encoded data slices for each set of the plurality of sets of encoded data slices;

retrieving a unique subset of encoded data slices from the plurality of sets of encoded data slices from DSN memory in accordance with the substantially unique read operational parameters; and

sending the unique subset of encoded data slices to the requester.

2. The method of claim 1 , wherein the sending the unique subset of encoded data slices to the requester includes multicasting.

3. The method of claim 1 further comprises retrieving a plurality of unique subsets of encoded data slices from the plurality of sets of encoded data slices and assigning the plurality of unique subsets of encoded data slices to a group of requesters.

4. The method of claim 3 , wherein each requester in the group of requesters is assigned a different unique subset of encoded data slices from the plurality of unique subsets of encoded data slices.

5. The method of claim 3 , wherein the group of requesters are assigned a common unique subset of encoded data slices.

6. The method of claim 3 , wherein the group of requesters are assigned both a common unique subset of encoded data slices and a different unique subset of encoded data slices.

7. The method of claim 3 , wherein each requester in the group of requesters is assigned a subgroup of unique subsets of encoded data slices from the plurality of unique subsets of encoded data slices.

8. The method of claim 1 , wherein the content retrieval message is processed by a retrieval processing unit before being sent to the DSN memory.

9. The method of claim 1 , wherein the unique subset of encoded data slices corresponds to a unique retrieval matrix for a playback device.

10. The method of claim 9 , wherein the unique retrieval matrix is sent to the playback device.

11. The method of claim 9 further comprising the DSN sending the unique retrieval matrix to the playback device in advance of the content retrieval message.

12. A method for execution by a playback device, the method comprises:

sending a request for retrieval of a set of encoded broadcast data slices to a dispersed storage network (DSN) memory, wherein the request includes an identity of the set of encoded broadcast data slices;

obtaining a unique retrieval matrix based at least in part on an identity of the playback device, wherein the unique retrieval matrix identifies a slice retrieval pattern associated with the playback device, the slice retrieval pattern including at a least a decode threshold number of encoded broadcast data slices for the set of encoded broadcast data slices;

receiving the set of encoded broadcast data slices from the DSN memory;

selecting a unique subset of encoded broadcast data slices from the set of encoded broadcast data slices based on the unique retrieval matrix; and

storing the unique subset of encoded broadcast data slices.

13. The method of claim 12 further comprises:

decoding the unique subset of encoded broadcast data slices using an error coding dispersal storage function and in accordance with the unique retrieval matrix to produce a portion of broadcast data.

14. The method of claim 12 further comprises:

during a live broadcast of a portion of encoded broadcast data, wherein the set of encoded broadcast data slices corresponds to the portion of encoded broadcast data, decoding the unique subset of encoded broadcast data slices using an error coding dispersal storage function to recapture the portion of encoded broadcast data.

15. The method of claim 12 , wherein the obtaining of the unique retrieval matrix further comprises one of:

retrieving the unique retrieval matrix from the DSN memory based on the identity of the playback device; or

generating the unique retrieval matrix based on one or more of:

an identity of a previously received subset of a previous set of encoded broadcast data slices;

the identity of the playback device;

an error coding dispersal storage function;

a data identifier;

a unique retrieval matrix associated with another playback device; or

a unique retrieval matrix functionality indicator.

16. The method of claim 12 , wherein the request is a result of processing by a retrieval processing unit before the request is sent to the DSN memory.

17. The method of claim 16 , wherein the retrieval processing unit obtains the unique retrieval matrix for the playback device.

18. The method of claim 16 , wherein the receiving the set of encoded broadcast data slices from the DSN memory is as part of a multicast stream.

19. A computer comprises:

an interface;

a slice buffer; and

a processing module operably coupled to the interface and the slice buffer, the processing module configured to:

send a request for retrieval of a set of encoded broadcast data slices to a dispersed storage network (DSN) memory, the request including at least an identity of the set of encoded broadcast data slices, wherein a decode threshold number of encoded broadcast data slices of the set of encoded broadcast data slices is required to recover an associated portion of broadcast data, the decode threshold number of encoded broadcast data slices less than a total number of encoded broadcast data slices of the set of encoded broadcast data slices;

obtain a unique retrieval matrix based at least in part on an identity of the computer, wherein the unique retrieval matrix identifies a slice retrieval pattern associated with the computer, the slice retrieval pattern including the decode threshold number of encoded broadcast data slices for the set of encoded broadcast data slices;

receive, through a multicast, the set of encoded broadcast data slices from the DSN memory;

select a unique subset of encoded broadcast data slices from the set of encoded broadcast data slices based on the slice retrieval pattern; and

store the unique subset of encoded broadcast data slices.

20. The computer of claim 19 , wherein the processing module is further configured to:

decode the unique subset of encoded broadcast data slices using an error coding dispersal storage function and in accordance with the unique retrieval matrix to produce the associated portion of broadcast data.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2016
From: GLADWIN, S. CHRISTOPHER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039096/0506 →
Continuity (4)
Continuation In Part 14333968 · Jul 17, 2014
Continuation In Part 12903212 · Oct 13, 2010
Provisional Application 61290632 · Dec 29, 2009
Related Publication 20160314052A1 · Oct 27, 2016