IP Library Patent Application 12850606
Patent Application
App. No. 12/850,606

DISPERSED STORAGE UNIT SOLICITATION METHOD AND APPARATUS

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 None
App. No.
12/850,606
Abstract

A method begins by a dispersed storage processing module obtaining data for storage. The method continues with the dispersed storage processing module soliciting dispersed storage (DS) units to store encoded data slices of the data. The method continues with the dispersed storage processing module receiving favorable responses from a set of DS units. The method continues with the dispersed storage processing module encoding the data in accordance with an error coding dispersal storage function and in accordance with the favorable responses.

Claims (91)

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

obtaining data for storage;

soliciting dispersed storage (DS) units to store encoded data slices of the data;

receiving favorable responses from a set of DS units; and

encoding the data in accordance with an error coding dispersal storage function and in accordance with the favorable responses.

2 . The method of claim 1 , wherein the soliciting further comprises:

interpreting metadata;

determining the DS units based on the metadata; and

sending a message to each of the DS units, wherein the message includes requirements for storage.

3 . The method of claim 1 , wherein the favorable responses further comprises at least one of:

first storage requirements that substantially matches requirements of the soliciting; and

second storage requirements that encompasses the requirements of the soliciting.

4 . The method of claim 1 , wherein the encoding further comprises:

establishing error coding dispersal storage function parameters based on the favorable responses from the set of DS units, wherein the error coding dispersal storage function parameters includes at least one of:

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 1 , wherein the soliciting further comprises:

sending a solicitation broadcast message to the DS units, wherein the solicitation broadcast message includes storage requirements.

6 . The method of claim 1 further comprises:

interpreting metadata;

establishing a slicing pillar width in accordance with the metadata;

encoding the data in accordance with the error coding dispersal storage function and the slicing pillar width when a number of the favorable responses is equal to or greater than the slicing pillar width; and

when the number of the favorable responses is less than the slicing pillar width, adjusting the error coding dispersal storage function.

7 . A method for execution by a dispersed storage (DS) unit, the method comprises:

receiving a solicitation message regarding dispersed storage of data, wherein the solicitation message includes one or more storage requirements regarding storage of encoded data slices of the data;

comparing the one or more storage requirements with storage capabilities of the DS unit;

when the storage capabilities compares favorably to the one or more storage requirements, sending a favorable response;

receiving at least one of the encoded data slices of the data; and

storing the at least one of the encoded data slices in accordance with the one or more storage requirements.

8 . The method of claim 7 , wherein the favorable response further comprises one of:

the storage capabilities substantially matches the one or more storage requirements; and

the storage capabilities substantially encompasses the one or more storage requirements.

9 . The method of claim 7 further comprises:

maintaining a storage record of the at least one of the encoded data slices, wherein the record includes at least one of: the one or more storage requirements, the storage capabilities, a storage agreement, a slice name, a source name, a data object name, an integrity check value, and a storage location.

10 . The method of claim 9 further comprises:

receiving a retrieval message that includes identities of a set of encoded data slices;

determining whether an encoded data slice of the set of encoded data slices is identified in the record; and

when the encoded data slice is identified in the record, sending a message that includes the encoded data slice.

11 . A dispersed storage processing module comprises:

an interface; and

a processing module operable to:

obtain data for storage;

solicit, via the interface, dispersed storage (DS) units to store encoded data slices of the data;

receive, via the interface, favorable responses from a set of DS units; and

encode the data in accordance with an error coding dispersal storage function and in accordance with the favorable responses.

12 . The dispersed storage processing module of claim 11 , wherein the processing module further functions to solicit by:

interpreting metadata;

determining the DS units based on the metadata; and

sending, via the interface, a message to each of the DS units, wherein the message includes requirements for storage.

13 . The dispersed storage processing module of claim 11 , wherein the favorable responses further comprises one of:

first storage requirements that substantially matches requirements of the soliciting; and

second storage requirements that encompasses the requirements of the soliciting.

14 . The dispersed storage processing module of claim 11 , wherein the processing module further functions to encode by:

establishing error coding dispersal storage function parameters based on the favorable responses from the set of DS units, wherein the error coding dispersal storage function parameters includes at least one of:

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.

15 . The dispersed storage processing module of claim 11 , wherein the processing module further functions to solicit by:

sending, via the interface, a solicitation broadcast message to the DS units, wherein the solicitation broadcast message includes storage requirements.

16 . The dispersed storage processing module of claim 11 further functions to:

interpret metadata;

establish a slicing pillar width in accordance with the metadata;

encode the data in accordance with the error coding dispersal storage function and the slicing pillar width when a number of the favorable responses is equal to or greater than the slicing pillar width; and

adjust the error coding dispersal storage function when the number of the favorable responses is less than the slicing pillar width.

17 . A dispersed storage (DS) unit comprises:

an interface;

a memory; and

a processing module operable to:

receive, via the interface, a solicitation message regarding dispersed storage of data, wherein the solicitation message includes one or more storage requirements regarding storage of encoded data slices of the data;

compare the one or more storage requirements with storage capabilities of the DS unit;

send, via the interface, a favorable response when the storage capabilities compares favorably to the one or more storage requirements;

receive, via the interface, at least one of the encoded data slices of the data; and

store, in the memory, the at least one of the encoded data slices in accordance with the one or more storage requirements.

18 . The dispersed storage unit of claim 17 , wherein the favorable response further comprises one of:

the storage capabilities substantially matches the one or more storage requirements; and

the storage capabilities substantially encompasses the one or more storage requirements.

19 . The dispersed storage unit of claim 17 further functions to:

maintain, in the memory, a storage record of the at least one of the encoded data slices, wherein the record of storage includes at least one of: the one or more storage requirements, the storage capabilities, a storage agreement, a slice name, a source name, a data object name, an integrity check value, and a storage location.

20 . The dispersed storage unit of claim 19 further functions to:

receive, via the interface, a retrieval message that includes identities of a set of encoded data slices;

determine whether an encoded data slice of the set of encoded data slices is identified in the record; and

send, via the interface, a message that includes the encoded data slice when the encoded data slice is identified in the record.

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 DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2011
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 025681/0613 →