IP Library Granted Patent US 10,585,715
Granted Patent B2
US 10,585,715 · App. 16/378,724 · Granted Mar 10, 2020

Partial task allocation in a dispersed storage network

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Greg R. Dhuse (Chicago, IL); S. Christopher Gladwin (Chicago, IL); Gary W. Grube (Barrington Hills, IL); Wesley B. Leggette (Chicago, IL); Manish Motwani (Chicago, IL); Jason K. Resch (Chicago, IL); Thomas F. Shirley, Jr. (Wauwatosa, WI); Ilya Volvovski (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F9/5083G06F3/061G06F3/064G06F3/067G06F3/0619G06F3/0635G06F3/0659G06F9/5066G06F9/5077G06F9/52G06F11/1076G06F11/1451G06F11/2058G06F11/2069G06F11/3006G06F11/3034G06F11/3433G06F21/602G06F21/6209G06F21/6218H03M13/3761H04L67/10H04L67/1017H04L67/1097G06F2209/5017G06F2211/1028G06F2221/2107H03M13/09H03M13/1515
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 10,585,715
App. No.
16/378,724
Granted
Mar 10, 2020
Kind
B2
Abstract

A processing system in a dispersed storage and a task (DST) network operates by receiving data and a corresponding task; identifying candidate DST execution units for executing partial tasks of the corresponding task; receiving distributed computing capabilities of the candidate DST execution units; selecting a subset of DST execution units of the candidate DST execution units to favorably execute the partial tasks of the corresponding task; determining task partitioning of the corresponding task into the partial tasks based on one or more of the distributed computing capabilities of the subset of DST execution units; determining processing parameters of the data based on the task partitioning; partitioning the tasks based on the task partitioning to produce the partial tasks; processing the data in accordance with the processing parameters to produce slice groupings; and sending the slice groupings and the partial tasks to the subset of DST execution units.

Claims (47)

1. A method for execution by a processing system of a dispersed storage and task (DST) processing unit that includes a processor, the method comprises:

receiving data and a corresponding task;

identifying candidate DST execution units for executing partial tasks of the corresponding task;

receiving computing capabilities of the candidate DST execution units;

selecting a subset of DST execution units of the candidate DST execution units to favorably execute the partial tasks of the corresponding task;

determining task partitioning of the corresponding task into the partial tasks based on one or more of the computing capabilities of the subset of DST execution units and processing parameters of the data corresponding to the task partitioning;

partitioning the tasks based on the task partitioning to produce the partial tasks;

processing the data in accordance with the processing parameters to produce slice groupings; and

sending the slice groupings and the partial tasks to the subset of DST execution units.

2. The method of claim 1 , wherein the computing capabilities are received by one or more of: a query, a lookup, or a message.

3. The method of claim 1 , wherein selecting the subset of DST execution units includes selecting the candidate DST execution units associated with favorable distributed computing capabilities.

4. The method of claim 1 , wherein the computing capabilities include one or more of: a processing capability level, a memory capacity level, a network access level, a bandwidth capability level, an availability level, or a reliability level.

5. The method of claim 1 , wherein selecting the subset of DST execution units includes identifying a number of simultaneous compute resources to execute the task in a favorable timeframe based on the computing capabilities of the candidate DST execution units.

6. The method of claim 1 , wherein determining the task partitioning of the corresponding task into the partial tasks is further based on the processing parameters, and an estimated next data processing destination.

7. The method of claim 1 , wherein determining the task partitioning of the corresponding task into the partial tasks includes aligning the corresponding task with other current tasks and potential future tasks.

8. A processing system of a dispersed storage and task (DST) processing unit comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to perform operations including:

receiving data and a corresponding task;

identifying candidate DST execution units for executing partial tasks of the corresponding task;

receiving computing capabilities of the candidate DST execution units;

selecting a subset of DST execution units of the candidate DST execution units to favorably execute the partial tasks of the corresponding task;

determining task partitioning of the corresponding task into the partial tasks based on one or more of the computing capabilities of the subset of DST execution units and processing parameters of the data corresponding to the task partitioning;

partitioning the tasks based on the task partitioning to produce the partial tasks;

processing the data in accordance with the processing parameters to produce slice groupings; and

sending the slice groupings and the partial tasks to the subset of DST execution units.

9. The processing system of claim 8 , wherein the computing capabilities are received by one or more of: a query, a lookup, or a message.

10. The processing system of claim 8 , wherein selecting the subset of DST execution units includes selecting the candidate DST execution units associated with favorable distributed computing capabilities.

11. The processing system of claim 8 , wherein the computing capabilities include one or more of: a processing capability level, a memory capacity level, a network access level, a bandwidth capability level, an availability level, or a reliability level.

12. The processing system of claim 8 , wherein selecting the subset of DST execution units includes identifying a number of simultaneous compute resources to execute the task in a favorable timeframe based on the computing capabilities of the candidate DST execution units.

13. The processing system of claim 8 , wherein determining the task partitioning of the corresponding task into the partial tasks is further based on the processing parameters, and an estimated next data processing destination.

14. The processing system of claim 8 , wherein determining the task partitioning of the corresponding task into the partial tasks includes aligning the corresponding task with other current tasks and potential future tasks.

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

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage and task (DST) network that includes a processor and a memory, causes the processing system to perform operations including:

receiving data and a corresponding task;

identifying candidate DST execution units for executing partial tasks of the corresponding task;

receiving computing capabilities of the candidate DST execution units;

selecting a subset of DST execution units of the candidate DST execution units to favorably execute the partial tasks of the corresponding task;

determining task partitioning of the corresponding task into the partial tasks based on one or more of the computing capabilities of the subset of DST execution units and processing parameters of the data corresponding to the task partitioning;

partitioning the tasks based on the task partitioning to produce the partial tasks;

processing the data in accordance with the processing parameters to produce slice groupings; and

sending the slice groupings and the partial tasks to the subset of DST execution units.

16. The non-transitory computer readable storage medium of claim 15 , wherein selecting the subset of DST execution units includes selecting the candidate DST execution units associated with favorable distributed computing capabilities.

17. The non-transitory computer readable storage medium of claim 15 , wherein the computing capabilities include one or more of: a processing capability level, a memory capacity level, a network access level, a bandwidth capability level, an availability level, or a reliability level.

18. The non-transitory computer readable storage medium of claim 15 , wherein selecting the subset of DST execution units includes identifying a number of simultaneous compute resources to execute the task in a favorable timeframe based on the computing capabilities of the candidate DST execution units.

19. The non-transitory computer readable storage medium of claim 15 , wherein determining the task partitioning of the corresponding task into the partial tasks is further based on the processing parameters, and an estimated next data processing destination.

20. The non-transitory computer readable storage medium of claim 15 , wherein determining the task partitioning of the corresponding task into the partial tasks includes aligning the corresponding task with other current tasks and potential future tasks.

Assignments (5)
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 Apr 9, 2019
From: BAPTIST, ANDREW D.; DHUSE, GREG R.; GLADWIN, S. CHRISTOPHER; GRUBE, GARY W.; LEGGETTE, WESLEY B.; MOTWANI, MANISH; RESCH, JASON K.; SHIRLEY, THOMAS F., JR.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048828/0942 →