Method for managing throughput in a distributed storage network
First Claim
1. A method for execution by one or more processing modules of one or more computing devices, the method comprises:
- encoding a data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices of the plurality of sets of encoded data slices, wherein a write threshold number of encoded data slices provide for successful storage of the set of encoded data slices;
generating one or more write slice requests, wherein each of the write slice requests correspond to one or more sets of encoded data slices of the plurality of sets of encoded data slices;
outputting the one or more write slice requests to a set of distributed storage and task execution units;
for each distributed storage and task execution unit of the set of distributed storage and task execution units, determining a data ingest rate of a set of data ingest rates;
determining a write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units based on the set of data ingest rates;
determining a transmit data rate;
generating a write threshold number of write slice requests that is based on the write threshold number of encoded data slices; and
outputting, in accordance with the transmit data rate, the write threshold number of write slice requests to the write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for managing throughput in a distributed storage network includes encoding data to produce a plurality of sets of encoded data slices. According to the method, one or more write slice requests are generated corresponding to one or more sets of encoded data slices, and write slice requests are then output to a set of distributed storage and task execution units. For each distributed storage and task execution unit, a data ingest rate is generated and a write threshold number of distributed storage and task execution units is determined. A transmit data rate is determined and write slice requests are determined, followed by the generation write slice requests to the distributed storage and task execution units. A write threshold number of write slice requests is then input to the distributed storage and task execution units.
85 Citations
16 Claims
-
1. A method for execution by one or more processing modules of one or more computing devices, the method comprises:
-
encoding a data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices of the plurality of sets of encoded data slices, wherein a write threshold number of encoded data slices provide for successful storage of the set of encoded data slices; generating one or more write slice requests, wherein each of the write slice requests correspond to one or more sets of encoded data slices of the plurality of sets of encoded data slices; outputting the one or more write slice requests to a set of distributed storage and task execution units; for each distributed storage and task execution unit of the set of distributed storage and task execution units, determining a data ingest rate of a set of data ingest rates; determining a write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units based on the set of data ingest rates; determining a transmit data rate; generating a write threshold number of write slice requests that is based on the write threshold number of encoded data slices; and outputting, in accordance with the transmit data rate, the write threshold number of write slice requests to the write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A dispersed storage module comprises:
-
a first module, when operable within a computing device, causes the computing device to; encode a data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices of the plurality of sets of encoded data slices, wherein a write threshold number of encoded data slices provide for successful storage of the set of encoded data slices; generate one or more write slice requests, wherein each of the write slice requests correspond to one or more sets of encoded data slices of the plurality of sets of encoded data slices; and output the one or more write slice requests to a set of distributed storage and task execution units; a second module, when operable within the computing device, causes the computing device to; determine a data ingest rate of a set of data ingest rates for each distributed storage and task execution unit of the set of distributed storage and task execution units; and determine a write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units based on the set of data ingest rates; a third module, when operable within the computing device, causes the computing device to; determine a transmit data rate; and a fourth module, when operable within the computing device, causes the computing device to; generate a write threshold number of write slice requests that is based on the write threshold number of encoded data slices; and output, in accordance with the transmit data rate, the write threshold number of write slice requests to the write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units. - View Dependent Claims (8, 9, 10)
-
-
11. A non-transient computer readable medium containing program instructions for causing a computer to perform a method of:
-
encoding a data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices of the plurality of sets of encoded data slices, wherein a write threshold number of encoded data slices provide for successful storage of the set of encoded data slices; generating one or more write slice requests, wherein each of the write slice requests correspond to one or more sets of encoded data slices of the plurality of sets of encoded data slices; outputting the one or more write slice requests to a set of distributed storage and task execution units; for each distributed storage and task execution unit of the set of distributed storage and task execution units, determining a data ingest rate of a set of data ingest rates; determining a write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units based on the set of data ingest rates; determining a transmit data rate; generating a write threshold number of write slice requests that is based on the write threshold number of encoded data slices; and outputting, in accordance with the transmit data rate, the write threshold number of write slice requests to the write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification