IP Library Patent Application 16255181
Patent Application
App. No. 16/255,181

METHOD OF STORING ENCODED DATA SLICES USING A DISTRIBUTED AGREEMENT PROTOCOL

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.
16/255,181
Abstract

A system includes a plurality of functional rating modules configured to execute a deterministic function, a normalizing function and a scoring function using a set of storage unit coefficients that are different for each of the functional rating modules. The functional rating modules are configured to receive an encoded data slice identifier, perform the deterministic function using the encoded data slice identifier and a first storage unit coefficient to produce an interim result, perform the normalization function using interim result to produce a normalized interim result, and perform the scoring function by performing a mathematical function on the normalized interim result to produce a score. The system also includes a ranking module configured to receive the score from each of the plurality of functional rating modules to produce a highest ranked set of storage units for storing a plurality of sets of encoded data slices.

Claims (43)

1 . A system for selecting a set of storage units of a dispersed storage network (DSN), the system comprises:

a plurality of functional rating modules, wherein each functional rating module of the plurality of functional rating modules is configured to execute a deterministic function, a normalizing function and a scoring function using a set of storage unit coefficients, wherein the set of storage unit coefficients differ for each of the functional rating modules, and wherein each functional rating module is configured to:

receive an encoded data slice identifier;

perform the deterministic function using the encoded data slice identifier and the set of storage unit coefficients to produce an interim result;

perform the normalization function using interim result to produce a normalized interim result; and

perform the scoring function by performing a mathematical function on the normalized interim result to produce a score;

a ranking module receiving the score from each of the plurality of functional rating modules to produce a highest ranked set of storage units; and

sending a plurality of sets of encoded data slices to the highest ranked set of storage units for storage therein.

2 . The system of claim 1 , wherein the set of storage unit coefficients includes at least a first coefficient and a second coefficient.

3 . The system of claim 2 , wherein the first coefficient is a unique identifier for the set of storage units and the second coefficient is a weighting factor for the set of storage units.

4 . The system of claim 3 , wherein the weighting factor includes an arbitrary bias that adjusts a proportion of selections to an associated location such that a probability that an encoded data slice will be mapped to that location is equal to a location weight divided by a sum of all location weights for all locations of comparison.

5 . The system of claim 1 , wherein each functional rating module generates a unique score.

6 . The system of claim 1 , wherein the encoded data slice identifier corresponds to a encoded data slice name or common attributes of set of encoded data slice names.

7 . The system of claim 6 , wherein, for a set of encoded data slices, the encoded data slice identifier specifies a data segment number, a vault ID, and a data object ID.

8 . A computing device configured to execute a decentralized agreement protocol for selecting a set of storage units of a dispersed storage network (DSN), the computing device comprises:

a plurality of functional rating modules, wherein each functional rating module of the plurality of functional rating modules is configured to execute a deterministic function, a normalizing function and a scoring function using a set of storage unit coefficients, wherein the set of storage unit coefficients are different for each of the functional rating modules, and wherein each functional rating module is configured to:

receive an encoded data slice identifier;

perform the deterministic function using the encoded data slice identifier and the set of storage unit coefficients to produce an interim result;

perform the normalization function using interim result to produce a normalized interim result; and

perform the scoring function by performing a mathematical function on the normalized interim result to produce a score;

a ranking module receiving the score from each of the plurality of functional rating modules to produce a highest ranked set of storage units; and

sending a plurality of sets of encoded data slices to the highest ranked set of storage units for storage therein.

9 . The computing device of claim 8 , wherein the set of storage unit coefficients includes at least a first coefficient and a second coefficient.

10 . The computing device of claim 9 , wherein the first coefficient is a unique identifier for the set of storage units and the second coefficient is a weighting factor for the set of storage units.

11 . The computing device of claim 10 , wherein the weighting factor includes an arbitrary bias that adjusts a proportion of selections to an associated location such that a probability that an encoded data slice will be mapped to that location is equal to a location weight divided by a sum of all location weights for all locations of comparison.

12 . The computing device of claim 8 , wherein each functional rating module generates a unique score.

13 . The computing device of claim 8 , wherein the encoded data slice identifier corresponds to an encoded data slice name or common attributes of set of encoded data slices names.

14 . The computing device of claim 13 , wherein, for a set of encoded data slices, the encoded data slice identifier specifies a data segment number, a vault ID, and a data object ID.

15 . A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:

an interface;

a local memory; and

a plurality of functional rating modules operably coupled to the interface and the local memory, wherein each functional rating module of the plurality of functional rating modules is configured to execute a deterministic function, a normalizing function and a scoring function using a set of storage unit coefficients, wherein the set of storage unit coefficients are different for each of the functional rating modules, and wherein each functional rating module is configured to:

receive an encoded data slice identifier;

perform the deterministic function using the encoded data slice identifier and the set of storage unit coefficient to produce an interim result;

perform the normalization function using interim result to produce a normalized interim result; and

perform the scoring function by performing a mathematical function on the normalized interim result to produce a score; and

a ranking module operably coupled to the interface, the local memory and the plurality of functional rating modules and wherein the ranking module is configured to:

receive the score from each of the plurality of functional rating modules to produce a highest ranked set of storage units for storing a plurality of sets of encoded data slices.

16 . The computing device of claim 15 , wherein the set of storage unit coefficients includes at least a first coefficient and a second coefficient.

17 . The computing device of claim 16 , wherein the first coefficient is a unique identifier for the set of storage units and the second coefficient is a weighting factor for the set of storage units.

18 . The computing device of claim 17 , wherein the weighting factor includes an arbitrary bias that adjusts a proportion of selections to an associated location such that a probability that an encoded data slice will be mapped to that location is equal to a location weight divided by a sum of all location weights for all locations of comparison.

19 . The computing device of claim 15 , wherein each functional rating module generates a unique score.

20 . The computing device of claim 15 , wherein, for a set of encoded data slices, the encoded data slice identifier specifies a data segment number, a vault ID, and a data object ID.

Assignments (3)
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 Jan 23, 2019
From: MOTWANI, MANISH; RESCH, JASON K.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048113/0438 →