IP Library Granted Patent US 8,291,277
Granted Patent B2
US 8,291,277 · App. 12/842,949 · Granted Oct 16, 2012

Data distribution utilizing unique write 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,291,277
App. No.
12/842,949
Granted
Oct 16, 2012
Kind
B2
Abstract

A method begins by a processing module receiving a plurality of record 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. The method continues with the processing module generating a list of requesting device identities corresponding to the plurality of requests and storing the plurality of sets of encoded data slices and the list of requesting device identities in a dispersed storage network memory. The method continues with the processing module receiving a playback request from a device identified in the list of requesting device identities, generating a unique retrieval matrix for the device, and outputting a unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix.

Claims (88)

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

receiving a plurality of record 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 record request of the plurality of record requests;

generating a list of requesting device identities corresponding to the plurality of requests;

storing the plurality of sets of encoded data slices and the list of requesting device identities in a dispersed storage network (DSN) memory;

receiving a playback request from a device identified in the list of requesting device identities;

generating a unique retrieval matrix for the device based on the error coding dispersed storage function; and

outputting a unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix.

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

a collective of pillar identifiers, wherein the 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 identified in the list of requesting device identities;

a unique retrieval matrix not associated with any other requesting device identified in the list of requesting device identities; 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. The method of claim 1 further comprises:

receiving a second playback request from the device;

generating a second unique retrieval matrix for the device based on the error coding dispersed storage function; and

outputting a second unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the second unique retrieval matrix.

7. The method of claim 1 further comprises:

storing the unique retrieval matrix for the device in the DSN memory;

receiving a subsequent playback request from the device;

retrieving the unique retrieval matrix for the device from the DSN memory; and

outputting the unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix.

8. The method of claim 1 further comprises:

outputting the unique retrieval matrix for the device to the device;

receiving a subsequent playback request from the device, wherein the request includes the unique retrieval matrix for the device; and

outputting the unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix.

9. The method of claim 1 further comprises:

decoding the unique 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 the device.

10. A computer comprises:

an interface; and

a processing module operable to:

receive, via the interface, a plurality of record 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 record request of the plurality of record requests;

generate a list of requesting device identities corresponding to the plurality of requests;

store, via the interface, the plurality of sets of encoded data slices and the list of requesting device identities in a dispersed storage network (DSN) memory;

receive, via the interface, a playback request from a device identified in the list of requesting device identities;

generate a unique retrieval matrix for the device based on the error coding dispersed storage function; and

output, via the interface, a unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix.

11. The computer of claim 10 , wherein the unique retrieval matrix comprises:

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

12. The computer of claim 10 , 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 identified in the list of requesting device identities;

a unique retrieval matrix not associated with any other requesting device identified in the list of requesting device identities; and

a unique retrieval matrix functionality indicator.

13. The computer of claim 10 , 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.

14. The computer of claim 13 , 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.

15. The computer of claim 10 , wherein the processing module further functions to:

receive, via the interface, a second playback request from the device;

generate a second unique retrieval matrix for the device based on the error coding dispersed storage function; and

output, via the interface, a second unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the second unique retrieval matrix.

16. The computer of claim 10 , wherein the processing module further functions to:

store, via the interface, the unique retrieval matrix for the device in the DSN memory;

receive, via the interface, a subsequent playback request from the device;

retrieve, via the interface, the unique retrieval matrix for the device from the DSN memory; and

output, via the interface, the unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix.

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

output, via the interface, the unique retrieval matrix for the device to the device;

receive, via the interface, a subsequent playback request from the device, wherein the request includes the unique retrieval matrix for the device; and

output, via the interface, the unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix.

18. The computer of claim 10 , wherein the processing module further functions to:

decode the unique 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 the device.

Assignments (6)
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 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 20, 2013
From: SILICON VALLEY BANK
To: CLEVERSAFE, INC.
Reel/Frame 031058/0255 →
FIRST AMENDMENT TO IPSA Recorded Dec 31, 2012
From: CLEVERSAFE, INC.
To: SILICON VALLEY BANK
Reel/Frame 029555/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2010
From: MARKISON, TIMOTHY W.; GRUBE, GARY W.
To: CLEVERSAFE, INC.
Reel/Frame 024736/0229 →