Dispersed storage with coordinated execution and methods for use therewith
First Claim
Patent Images
1. A method comprises:
- sending, by a client module, an access request to a set of dispersed storage and task (DST) units, wherein the access request includes a first identity of a set of encoded data slices and a set of partial tasks, wherein a common task is divided into the set of partial tasks;
receiving, by each of at least some of the DST units, a second identity of a unique encoded data slice of the set of encoded data slices and a unique partial task of the set of partial tasks;
individually determining, by the each of at least some of the DST units, an estimated processing load associated with the second identity of the unique encoded data slice and the unique partial task;
individually selecting, by the each of at least some of the DST units, a processing resource based on the individual estimated processing load;
collectively determining, by the at least some of the DST units, a coordinated execution schedule based on the individual estimated processing loads;
executing, by the selected processing resource of each of at least some of the DST units, the unique partial task on the unique encoded data slice to produce a partial result; and
sending, by the at least some of the DST units, the partial results to the client module.
5 Assignments
0 Petitions
Accused Products
Abstract
A dispersed storage and task (DST) processing unit receives an access request. An estimated processing load, associated with the access request, is determined. A processing resource is selected based on the estimated processing load. A coordinated execution schedule is determined for a plurality of DST execution units. The access request is assigned to the processing resource in accordance with the coordinated execution schedule.
89 Citations
20 Claims
-
1. A method comprises:
-
sending, by a client module, an access request to a set of dispersed storage and task (DST) units, wherein the access request includes a first identity of a set of encoded data slices and a set of partial tasks, wherein a common task is divided into the set of partial tasks; receiving, by each of at least some of the DST units, a second identity of a unique encoded data slice of the set of encoded data slices and a unique partial task of the set of partial tasks; individually determining, by the each of at least some of the DST units, an estimated processing load associated with the second identity of the unique encoded data slice and the unique partial task; individually selecting, by the each of at least some of the DST units, a processing resource based on the individual estimated processing load; collectively determining, by the at least some of the DST units, a coordinated execution schedule based on the individual estimated processing loads; executing, by the selected processing resource of each of at least some of the DST units, the unique partial task on the unique encoded data slice to produce a partial result; and sending, by the at least some of the DST units, the partial results to the client module. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A dispersed storage and task (DST) processing unit comprises:
-
a hardware memory; an interface; and at least one processing module operably coupled to the memory and the interface, wherein the at least one processing module is operable to; receive, via the interface, a second identity of a unique encoded data slice of a set of encoded data slices and a unique partial task of a set of partial tasks, wherein an access request includes a first identity of the set of encoded data slices and the set of partial tasks, wherein a common task is divided into the set of partial tasks; determine an estimated processing load associated with the second identity of the unique encoded data slice and the unique partial task; select a processing resource based on the estimated processing load; determine, in collaboration with other DST execution units, a coordinated schedule; execute the unique partial task on the unique encoded data slice to produce a partial result; and send, via the interface, the partial results to a client module. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium comprises:
-
a first memory section that stores operational instructions that, when executed by a client module of a dispersed storage and task (DST) network, causes the client module to; send an access request to a set of dispersed storage and task (DST) units of the DST network, wherein the access request includes a first identity of a set of encoded data slices and a set of partial tasks, wherein a common task is divided into the set of partial tasks; a second memory section that stores operational instructions that, when executed by each of at least some of the DST units, causes the each of at least some of the DST units to; receive a second identity of a unique encoded data slice of the set of encoded data slices and a unique partial task of the set of partial tasks; individually determine an estimated processing load associated with the second identity of the unique encoded data slice and the unique partial task; individually select a processing resource based on the individual estimated processing load; determine, in collaboration with other DST units of the at least some of the DST units, a coordinated execution schedule based on the individual estimated processing loads; execute, by the selected processing resource of each of at least some of the DST units, the unique partial task on the unique encoded data slice to produce a partial result; and send the partial results to the client module. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification