Coordinating arrival times of data slices in a dispersed storage network
First Claim
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:
- receiving a store data request, the store data request including a data object;
identifying a set of storage units associated with the store data request, wherein at least two of the storage units are co-located storage units;
dispersed storage error encoding the data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments and wherein each data segment is dispersed storage error encoded into a respective set of encoded data slices;
generating, for reception by storage units of the set of storage units, one or more sets of write slice requests that include, respectively, one or more sets of encoded data slices;
determining, for a set of write slice requests, a transmission schedule for each write slice request such that each write slice request of the set of write slice requests arrives at a corresponding storage unit of the set of storage units at approximately the same time, wherein the transmission schedules are based on estimated transmission times for receiving write slice requests by corresponding storage units of the set of storage units;
sending each write slice request of the set of write slice requests in accordance with a respective transmission schedule, including sending write slices requests to the co-located storage units using a common time delay value;
receiving write slice responses from at least some of the storage units of the set of storage units; and
in response to receiving less than a write threshold number of favorable write slice responses within a time frame;
recalculating one or more of the transmission schedules to vary one or more time delay value associated with one or more of the write slice requests; and
resending, to the set of storage units, the one or more of the write slice requests in accordance with the recalculated one or more of the transmission schedules.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods for use in a dispersed storage network (DSN) to coordinate data slice arrival times. In various examples, a DSN computing device receives a store data request, the store data request including a data object. A set of storage units associated with the store data request is identified, and the data object is dispersed storage error encoded to produce a plurality of sets of encoded data slices. One or more sets of write slice requests that include one or more sets of encoded data slices are also generated for reception by storage units of the set of storage units. For each set of write slice requests, a transmission schedule is determined for each write slice request such that the set of write slice requests arrives at corresponding storage units at substantially the same time frame. Each of the write slice requests is then transmitted in accordance with the transmission schedule.
-
Citations
20 Claims
-
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:
-
receiving a store data request, the store data request including a data object; identifying a set of storage units associated with the store data request, wherein at least two of the storage units are co-located storage units; dispersed storage error encoding the data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments and wherein each data segment is dispersed storage error encoded into a respective set of encoded data slices; generating, for reception by storage units of the set of storage units, one or more sets of write slice requests that include, respectively, one or more sets of encoded data slices; determining, for a set of write slice requests, a transmission schedule for each write slice request such that each write slice request of the set of write slice requests arrives at a corresponding storage unit of the set of storage units at approximately the same time, wherein the transmission schedules are based on estimated transmission times for receiving write slice requests by corresponding storage units of the set of storage units; sending each write slice request of the set of write slice requests in accordance with a respective transmission schedule, including sending write slices requests to the co-located storage units using a common time delay value; receiving write slice responses from at least some of the storage units of the set of storage units; and in response to receiving less than a write threshold number of favorable write slice responses within a time frame; recalculating one or more of the transmission schedules to vary one or more time delay value associated with one or more of the write slice requests; and resending, to the set of storage units, the one or more of the write slice requests in accordance with the recalculated one or more of the transmission schedules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer readable storage medium comprises:
at least one memory section that stores operational instructions that, when executed by one or more processing modules of a dispersed storage network (DSN), causes the one or more processing modules to; receive a store data request, the store data request including a data object; identify a set of storage units associated with the store data request, wherein at least two of the storage units of the set of storage units are co-located storage units; dispersed storage error encode the data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments and wherein each data segment is dispersed storage error encoded into a respective set of encoded data slices; generate, for reception by storage units of the set of storage units, one or more sets of write slice requests that include, respectively, one or more sets of encoded data slices; determine, for a set of write slice requests, a transmission schedule for each write slice request such that each write slice request of the set of write slice requests arrives at a corresponding storage unit of the set of storage units at approximately the same time frame, wherein the transmission schedules are based on estimated transmission times for receiving write slice requests by corresponding storage units of the set of storage units; send each write slice request of the set of write slice requests in accordance with a respective transmission schedule, including sending write slices requests to the co-located storage units using a common time delay value; receive write slice responses from at least some of the storage units of the set of storage units; and in response to receiving less than a write threshold number of favorable write slice responses within a time frame; recalculate one or more of the transmission schedules to vary one or more time delay value associated with one or more of the write slice requests; and resend, to the set of storage units, the one or more of the write slice requests in accordance with the recalculated one or more of the transmission schedules. - View Dependent Claims (10, 11, 12, 13, 14)
-
15. A computing device of a dispersed storage network (DSN), the computing device comprises:
-
a network interface; a memory comprising instructions; and one or more processing modules in communication with the memory, wherein the one or more processing modules execute the instructions to; receive, via the network interface, a store data request, the store data request including a data object; identify a set of storage units associated with the store data request, wherein at least two of the storage units of the set of storage units are co-located storage units; dispersed storage error encode the data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments and wherein each data segment is dispersed storage error encoded into a respective set of encoded data slices; generate, for reception by storage units of the set of storage units, one or more sets of write slice requests that include, respectively, one or more sets of encoded data slices; determine, for a set of write slice requests, a transmission schedule for each write slice request such that each write slice request of the set of write slice requests arrives at a corresponding storage unit of the set of storage units at approximately the same time, wherein the transmission schedules are based on estimated transmission times for receiving write slice requests by corresponding storage units of the set of storage units; send, via the network interface, each write slice request of the set of write slice requests in accordance with a respective transmission schedule, including sending write slices requests to the co-located storage units using a common time delay value; receive, via the network interface, write slice responses from at least some of the storage units of the set of storage units; and in response to receiving less than a write threshold number of favorable write slice responses within a time frame; recalculate one or more of the transmission schedules to vary one or more time delay value associated with one or more of the write slice requests; and resend, to the set of storage units via the network interface, the one or more of the write slice requests in accordance with the recalculated one or more of the transmission schedules. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification