IP Library Granted Patent US 9,838,478
Granted Patent B2
US 9,838,478 · App. 14/721,723 · Granted Dec 5, 2017

Identifying a task execution resource of 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 9,838,478
App. No.
14/721,723
Granted
Dec 5, 2017
Kind
B2
Abstract

A method begins by a plurality of dispersed storage network (DSN) units of a DSN determining to perform a DSN level task for a range of DSN addresses. The method continues with each of the plurality of DSN units executing a scoring function using one or more properties of the range of DSN addresses and one or more properties of each of the plurality of DSN units to produce a scoring resultant. The method continues with each of the plurality of DSN units identifying a DSN unit of the plurality of DSN units to execute the DSN level task based on the scoring resultant. The method continues with the identified DSN unit executing the DSN level task for the range of DSN addresses.

Claims (79)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

determining, by a plurality of DSN units, to perform a DSN level task for a range of DSN addresses;

executing, by each of the plurality of DSN units, a scoring function using one or more properties of the range of DSN addresses and one or more properties of each of the plurality of DSN units to produce a scoring resultant;

identifying a DSN unit of the plurality of DSN units to execute the DSN level task based on the scoring resultant; and

executing, by the identified DSN unit, the DSN level task for the range of DSN addresses.

2. The method of claim 1 , wherein the determining to perform the DSN level task for the range of DSN addresses comprises:

accessing a centralized system registry that includes DSN level tasks, scheduling information regarding the DSN level tasks, and ranges of DSN address regarding the DSN level tasks; and

based on the scheduling information, determining that the DSN level task for the range of DSN addresses is to be performed.

3. The method of claim 1 , wherein the determining to perform the DSN level task for the range of DSN addresses comprises:

receiving, by the plurality of DSN units, a rebuild list of encoded data slices; and

in response to receiving the rebuild list, determining, by the plurality of DSN units, that the DSN level task is rebuilding is to be performed.

4. The method of claim 1 , wherein the executing the scoring function comprises:

generating, by each of the DSN units, a score for each of the DSN units to produce a plurality of scores; and

ranking the plurality of scores to produce the scoring resultant.

5. The method of claim 1 , wherein the one or more properties of the range of DSN addresses comprises one of:

an individual DSN address;

at least some DSN addresses in the range of DSN addresses;

a source name corresponding to a data object;

a set of source names corresponding to a set of data objects;

an individual slice name; and

a range of slice names.

6. The method of claim 1 , wherein the one or more properties of each of the plurality of DSN units comprises:

a plurality of identifiers for the plurality of DSN units; and

a plurality of weighting factors for the plurality of DSN units, wherein the plurality of weighting factors are specific for the DSN level task.

7. The method of claim 6 further comprises:

accessing a centralized system registry that includes a plurality of DSN level tasks, a plurality of DSN unit identifiers, and pluralities of weighting factors corresponding to the plurality of DSN level tasks, wherein, the plurality of weighting factors of the pluralities of weighting factors are specific for the DSN level task of the plurality of DSN level tasks.

8. The method of claim 1 , wherein the DSN level task comprises one of:

a rebuild scan function;

a rebuilding encoded data slices function;

a storage unit utilization analysis;

data migration; and

a distributed computing partial task.

9. The method of claim 1 , wherein the executing the scoring function comprises:

for each of the plurality of DSN units:

performing a first function based on an identifier of one of the plurality of DSN units and the one or more properties of the range of DSN addresses to produce an interim result;

normalizing the interim result to produce a normalized result; and

performing a second function based on the normalized result and a weighting factor for the one of the plurality of DSN units to produce a score; and

ranking the scores for each of the plurality of DSN units to produce the scoring resultant.

10. A non-transitory computer readable storage medium comprises:

a first memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to:

determine, by a plurality of DSN units, to perform a DSN level task for a range of DSN addresses;

execute, by each of the plurality of DSN units, a scoring function using one or more properties of the range of DSN addresses and one or more properties of each of the plurality of DSN units to produce a scoring resultant; and

identify a DSN unit of the plurality of DSN units to execute the DSN level task based on the scoring resultant; and

a second memory section that stores operational instructions that, when executed by the one or more processing modules of the one or more computing devices of the DSN, causes the one or more computing devices to:

execute, by the identified DSN unit, the DSN level task for the range of DSN addresses.

11. The non-transitory computer readable storage medium of claim 10 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the DSN to determine to perform the DSN level task for the range of DSN addresses by:

accessing a centralized system registry that includes DSN level tasks, scheduling information regarding the DSN level tasks, and ranges of DSN address regarding the DSN level tasks; and

based on the scheduling information, determining that the DSN level task for the range of DSN addresses is to be performed.

12. The non-transitory computer readable storage medium of claim 10 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the DSN to determine to perform the DSN level task for the range of DSN addresses by:

receiving, by the plurality of DSN units, a rebuild list of encoded data slices; and

in response to receiving the rebuild list, determining, by the plurality of DSN units, that the DSN level task is rebuilding is to be performed.

13. The non-transitory computer readable storage medium of claim 10 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the DSN to execute the scoring function by:

generating, by each of the DSN units, a score for each of the DSN units to produce a plurality of scores; and

ranking the plurality of scores to produce the scoring resultant.

14. The non-transitory computer readable storage medium of claim 10 , wherein the one or more properties of the range of DSN addresses comprises one of:

an individual DSN address;

at least some DSN addresses in the range of DSN addresses;

a source name corresponding to a data object;

a set of source names corresponding to a set of data objects;

an individual slice name; and

a range of slice names.

15. The non-transitory computer readable storage medium of claim 10 , wherein the one or more properties of each of the plurality of DSN units comprises:

a plurality of identifiers for the plurality of DSN units; and

a plurality of weighting factors for the plurality of DSN units, wherein the plurality of weighting factors are specific for the DSN level task.

16. The non-transitory computer readable storage medium of claim 15 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

access a centralized system registry that includes a plurality of DSN level tasks, a plurality of DSN unit identifiers, and pluralities of weighting factors corresponding to the plurality of DSN level tasks, wherein, the plurality of weighting factors of the pluralities of weighting factors are specific for the DSN level task of the plurality of DSN level tasks.

17. The non-transitory computer readable storage medium of claim 10 , wherein the DSN level task comprises one of:

a rebuild scan function;

a rebuilding encoded data slices function;

a storage unit utilization analysis;

data migration; and

a distributed computing partial task.

18. The non-transitory computer readable storage medium of claim 10 , wherein the one or more processing modules functions to execute the operational instructions stored by the at least one memory section to cause the one or more computing devices of the DSN to execute the scoring function by:

for each of the plurality of DSN units:

performing a first function based on an identifier of one of the plurality of DSN units and the one or more properties of the range of DSN addresses to produce an interim result;

normalizing the interim result to produce a normalized result; and

performing a second function based on the normalized result and a weighting factor for the one of the plurality of DSN units to produce a score; and

ranking the scores for each of the plurality of DSN units to produce the scoring resultant.

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 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2015
From: GRUBE, GARY W.; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 036478/0704 →