IP Library Granted Patent US 8,433,978
Granted Patent B2
US 8,433,978 · App. 12/842,942 · Granted Apr 30, 2013

Data distribution utilizing unique read parameters in a dispersed storage system

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 8,433,978
App. No.
12/842,942
Granted
Apr 30, 2013
Kind
B2
Abstract

A method begins by a processing module receiving a plurality of requests to record a broadcast of data. The method continues with the processing module encoding the data using an error coding dispersal storage function to produce a plurality of sets of encoded data slices when the data is broadcast and in response to a request of the plurality of requests. The method continues with the processing module generating a unique retrieval matrix for each of the plurality of requests based on an identity of a requesting device and the error coding dispersal storage function to produce a plurality of unique retrieval matrixes. The method continues with the processing module storing the plurality of sets of encoded data slices and the plurality of unique retrieval matrixes in a dispersed storage network memory as a plurality of unique copies of the data.

Claims (110)

1. A method for execution by a dispersed storage processing module, the method comprises:

receiving a plurality of requests to record a broadcast of data;

encoding the data using an error coding dispersal storage function to produce a plurality of sets of encoded data slices when the data is broadcast and in response to a request of the plurality of requests;

generating a unique retrieval matrix for each of the plurality of requests based on an identity of a requesting device and the error coding dispersal storage function to produce a plurality of unique retrieval matrixes; and

storing the plurality of sets of encoded data slices and the plurality of unique retrieval matrixes in a dispersed storage network (DSN) memory as a plurality of unique copies of the data.

2. The method of claim 1 , wherein the plurality of unique retrieval matrixes comprises:

a plurality of collectives of pillar identifiers, wherein each collective includes pillar identifiers corresponding to at least one of the plurality of sets of encoded data slices for retrieving corresponding encoded data slices.

3. The method of claim 1 , wherein the generating the unique retrieval matrix is further based on at least one of:

a data identifier;

a unique retrieval matrix associated with at least one other requesting device;

a unique retrieval matrix not associated with any other requesting device; and

a unique retrieval matrix functionality indicator.

4. The method of claim 1 , wherein the unique retrieval matrix comprises one or more of:

a pillars list;

a segmenting protocol;

a pre-slice data manipulation function;

a forward error correction encoding function;

a slicing pillar width;

a post-slice data manipulation function;

a write threshold; and

a read threshold.

5. The method of claim 4 , wherein the pillars list comprises one of:

at least one collective of pillar identifiers associated with less than a slicing pillar width number and at least the read threshold number of a plurality of dispersed storage (DS) units associated with the DSN memory; and

at least one collective of pillar identifiers associated with less than the slicing pillar width number and at least the read threshold number of the plurality of DS units, wherein the at least one collective of pillar identifiers is unique as compared to every other collective of pillar identifiers associated with previously determined unique retrieval matrixes for the same set of the plurality of sets of encoded data slices.

6. A method for execution by a dispersed storage processing module, the method comprises:

receiving a plurality of playback requests for data from a plurality of requesting devices, wherein the data is encoded via an error coding dispersal storage function to produce a plurality of sets of encoded data slices which are stored in a dispersed storage network (DSN) memory;

obtaining a plurality of unique retrieval matrixes based on identities of the plurality of requesting devices; and

retrieving, from the DSN memory, a plurality of unique copies of the plurality of sets of encoded data slices in accordance with the plurality of unique retrieval matrixes.

7. The method of claim 6 , wherein the obtaining the plurality of unique retrieval matrixes further comprises one of:

retrieving the plurality of unique retrieval matrixes from the DSN memory based on the identities of the plurality of requesting devices; and

generating a unique retrieval matrix for each of the plurality of playback requests based on one or more of:

the identities of the plurality of requesting devices;

the error coding dispersal storage function;

a data identifier;

a unique retrieval matrix associated with at least one other requesting device; and

a unique retrieval matrix functionality indicator.

8. The method of claim 6 further comprises:

decoding a unique copy of the plurality of unique copies of the plurality of sets of encoded data slices in accordance with the error coding dispersal storage function to produce a unique copy of the data; and

outputting the unique copy of the data to a corresponding requesting device.

9. The method of claim 6 further comprises:

outputting a unique copy of the plurality of unique copies of the plurality of sets of encoded data slices to a corresponding requesting device.

10. The method of claim 6 , wherein the unique retrieval matrix comprises one or more of:

a pillars list;

a segmenting protocol;

a pre-slice data manipulation function;

a forward error correction encoding function;

a slicing pillar width;

a post-slice data manipulation function;

a write threshold; and

a read threshold.

11. The method of claim 10 , wherein the pillars list comprises one of:

at least one collective of pillar identifiers associated with less than a slicing pillar width number and at least the read threshold number of a plurality of dispersed storage (DS) units associated with the DSN memory; and

at least one collective of pillar identifiers associated with less than the slicing pillar width number and at least the read threshold number of the plurality of DS units, wherein the at least one collective of pillar identifiers is unique as compared to every other collective of pillar identifiers associated with previously determined unique retrieval matrixes for the same set of the plurality of sets of encoded data slices.

12. A computer comprises:

an interface; and

a processing module operable to:

receive, via the interface, a plurality of requests to record a broadcast of data;

encode the data using an error coding dispersal storage function to produce a plurality of sets of encoded data slices when the data is broadcast and in response to a request of the plurality of requests;

generate a unique retrieval matrix for each of the plurality of requests based on an identity of a requesting device and the error coding dispersal storage function to produce a plurality of unique retrieval matrixes; and

store, via the interface, the plurality of sets of encoded data slices and the plurality of unique retrieval matrixes in a dispersed storage network (DSN) memory as a plurality of unique copies of the data.

13. The computer of claim 12 , wherein the plurality of unique retrieval matrixes comprises:

a plurality of collectives of pillar identifiers, wherein each collective includes pillar identifiers corresponding to at least one of the plurality of sets of encoded data slices for retrieving corresponding encoded data slices.

14. The computer of claim 12 , wherein the processing module further functions to generate the unique retrieval matrix based on at least one of:

a data identifier;

a unique retrieval matrix associated with at least one other requesting device;

a unique retrieval matrix not associated with any other requesting device; and

a unique retrieval matrix functionality indicator.

15. The computer of claim 12 , wherein the unique retrieval matrix comprises one or more of:

a pillars list;

a segmenting protocol;

a pre-slice data manipulation function;

a forward error correction encoding function;

a slicing pillar width;

a post-slice data manipulation function;

a write threshold; and

a read threshold.

16. The computer of claim 15 , wherein the pillars list comprises one of:

at least one collective of pillar identifiers associated with less than a slicing pillar width number and at least the read threshold number of a plurality of dispersed storage (DS) units associated with the DSN memory; and

at least one collective of pillar identifiers associated with less than the slicing pillar width number and at least the read threshold number of the plurality of DS units, wherein the at least one collective of pillar identifiers is unique as compared to every other collective of pillar identifiers associated with previously determined unique retrieval matrixes for the same set of the plurality of sets of encoded data slices.

17. A computer comprises:

an interface; and

a processing module operable to:

receive, via the interface, a plurality of playback requests for data from a plurality of requesting devices, wherein the data is encoded via an error coding dispersal storage function to produce a plurality of sets of encoded data slices which are stored in a dispersed storage network (DSN) memory;

obtain a plurality of unique retrieval matrixes based on identities of the plurality of requesting devices; and

retrieve, via the interface, from the DSN memory, a plurality of unique copies of the plurality of sets of encoded data slices in accordance with the plurality of unique retrieval matrixes.

18. The computer of claim 17 , wherein the processing module further functions to obtain the plurality of unique retrieval matrixes by one of:

retrieving, via the interface, the plurality of unique retrieval matrixes from the DSN memory based on the identities of the plurality of requesting devices; and

generating a unique retrieval matrix for each of the plurality of playback requests based on one or more of:

the identities of the plurality of requesting devices;

the error coding dispersal storage function;

a data identifier;

a unique retrieval matrix associated with at least one other requesting device; and

a unique retrieval matrix functionality indicator.

19. The computer of claim 17 , wherein the processing module further functions to:

decode a unique copy of the plurality of unique copies of the plurality of sets of encoded data slices in accordance with the error coding dispersal storage function to produce a unique copy of the data; and

output, via the interface, the unique copy of the data to a corresponding requesting device.

20. The computer of claim 17 , wherein the processing module further functions to:

output, via the interface, a unique copy of the plurality of unique copies of the plurality of sets of encoded data slices to a corresponding requesting device.

21. The computer of claim 17 , wherein the unique retrieval matrix comprises one or more of:

a pillars list;

a segmenting protocol;

a pre-slice data manipulation function;

a forward error correction encoding function;

a slicing pillar width;

a post-slice data manipulation function;

a write threshold; and

a read threshold.

22. The computer of claim 21 , wherein the pillars list comprises one of:

at least one collective of pillar identifiers associated with less than a slicing pillar width number and at least the read threshold number of a plurality of dispersed storage (DS) units associated with the DSN memory; and

at least one collective of pillar identifiers associated with less than the slicing pillar width number and at least the read threshold number of the plurality of DS units, wherein the at least one collective of pillar identifiers is unique as compared to every other collective of pillar identifiers associated with previously determined unique retrieval matrixes for the same set of the plurality of sets of encoded data slices.

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 Jul 23, 2010
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 024736/0212 →