IP Library Granted Patent US 8,522,113
Granted Patent B2
US 8,522,113 · App. 12/942,692 · Granted Aug 27, 2013

Selecting storage facilities and dispersal parameters in a 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 8,522,113
App. No.
12/942,692
Granted
Aug 27, 2013
Kind
B2
Abstract

A method begins by a processing module receiving a data storage request that includes metadata and data. The method continues with the processing module determining a base-line set of error coding dispersal storage function parameters based on the metadata. The method continues with the processing module identifying candidate dispersed storage (DS) units based on the base-line set of error coding dispersal storage function parameters. The method continues with the processing module selecting DS units of the candidate DS units based on the metadata to produce selected DS units. The method continues with the processing module dispersed storage error encoding the data in accordance with at least a representation of the base-line set of error coding dispersal storage function parameters to produce a set of encoded data slices. The method continues with the processing module sending the set of encoded data slices to the selected DS units for storage therein.

Claims (56)

1. A method comprises:

receiving a data storage request that includes metadata and data;

determining a base-line set of error coding dispersal storage function parameters based on the metadata;

identifying candidate dispersed storage (DS) units based on dispersed error coding storage capabilities compatible with the base-line set of error coding dispersal storage function parameters;

selecting DS units of the candidate DS units based on the metadata and on dispersed error coding storage performance characteristics being comparable to a desired dispersed error coding storage performance level to produce selected DS units;

dispersed storage error encoding the data in accordance with at least a representation of the base-line set of error coding dispersal storage function parameters to produce a set of encoded data slices; and

sending the set of encoded data slices to the selected DS units for storage therein.

2. The method of claim 1 , wherein the metadata includes at least one of:

a requester identifier (ID) of a requesting device;

a data ID;

a data type;

a data size;

a storage requirement;

identity of the base-line set of error coding dispersal storage function parameters;

a performance indicator;

a security indicator; and

a priority indicator.

3. The method of claim 1 further comprises:

obtaining error coding storage capabilities of the selected DS units; and

determining a set of error coding dispersal storage function parameters based on the error coding storage capabilities of the selected DS units and the metadata to provide the representation of the base-line set of error coding dispersal storage function parameters.

4. The method of claim 1 , wherein the determining of the base-line set of error coding dispersal storage function parameters comprises at least one of:

selecting a slicing pillar width and read threshold pair from a plurality of slicing pillar width and read threshold pairings based on a performance indicator;

selecting an encryption method from a plurality of encryption methods based on a security indicator;

selecting an encryption key based on a requester identifier (ID) of a requesting device; and

selecting an error coding method from a plurality of error coding methods based on a data type.

5. The method of claim 1 further comprises:

saving a record including the at least the representation of the base-line set of error coding dispersal storage function parameters and identifiers of the selected DS units.

6. A computer comprises:

an interface; and

a processing module operable to:

receive, via the interface, a data storage request that includes metadata and data;

determine a base-line set of error coding dispersal storage function parameters based on the metadata;

identify candidate dispersed storage (DS) units based on dispersed error coding storage capabilities compatible with the base-line set of error coding dispersal storage function parameters;

select DS units of the candidate DS units based on the metadata and on dispersed error coding storage performance characteristics being comparable to a desired dispersed error coding storage performance level to produce selected DS units;

dispersed storage error encode the data in accordance with at least a representation of the base-line set of error coding dispersal storage function parameters to produce a set of encoded data slices; and

send, via the interface, the set of encoded data slices to the selected DS units for storage therein.

7. The computer of claim 6 , wherein the metadata includes at least one of:

a requester identifier (ID) of a requesting device;

a data ID;

a data type;

a data size;

a storage requirement;

identity of the base-line set of error coding dispersal storage function parameters;

a performance indicator;

a security indicator; and

a priority indicator.

8. The computer of claim 6 , wherein the processing module further functions to:

obtain error coding storage capabilities of the selected DS units; and

determine a set of error coding dispersal storage function parameters based on the error coding storage capabilities of the selected DS units and the metadata to provide the representation of the base-line set of error coding dispersal storage function parameters.

9. The computer of claim 6 , wherein the processing module further functions to determine the base-line set of error coding dispersal storage function parameters by at least one of:

selecting a slicing pillar width and read threshold pair from a plurality of slicing pillar width and read threshold pairings based on a performance indicator;

selecting an encryption method from a plurality of encryption methods based on a security indicator;

selecting an encryption key based on a requester identifier (ID) of a requesting device; and

selecting an error coding method from a plurality of error coding methods based on a data type.

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

save a record including the at least the representation of the base-line set of error coding dispersal storage function parameters and identifiers of the selected DS units.

Assignments (7)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER AND TO REMOVE THE INCORRECT APPLICATION NUMBER 12/942,721 PREVIOUSLY RECORDED ON REEL 025339 FRAME 0275. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 23, 2013
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 030487/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2010
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 025339/0275 →