Highly autonomous dispersed storage system retrieval method
First Claim
1. A method for accessing data in a directory-less dispersed storage network, the method comprises:
- receiving a read request for the data, the data stored in the directory-less dispersed storage network and previously encoded in accordance with a dispersed storage error encoding function to produce a plurality of sets of encoded data slices, wherein the read request includes the identity of a requesting unit and the identity of the data;
estimating storage metadata regarding the data based on the identity of the data, the identity of the requesting unit, and data storage preferences of the requesting unit;
determining a first target set of storage units of the dispersed storage network based on the estimated storage metadata;
sending a retrieval request to a storage unit of the first target set of storage units, wherein the retrieval request is regarding at least one encoded data slice of the plurality of sets of encoded data slices; and
when an unfavorable response is received from the storage unit of the first target set of storage units;
re-estimating the storage metadata based on the identity of the data, the identity of the requesting unit, the data storage preferences of the requesting unit, and the unfavorable response;
determining a second target set of storage units of the dispersed storage network based on the re-estimated storage metadata;
sending a new retrieval request to a storage unit of the second target set of storage units regarding at least one encoded data slice of the plurality of sets of encoded data slices; and
when a favorable response is received from the storage unit of the second target set of storage units, decoding at least a portion of the plurality of sets of encoded data slices to reproduce the data.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for accessing data in a directory-less dispersed storage (DS) network. In various embodiments, the method begins when a DS processing unit receives a read request for data stored in accordance with a dispersed storage error encoding function. Estimated storage metadata is determined based on the identity of the data, the identity of the requesting unit, and data storage preferences of the requesting unit. The estimated storage metadata is used to determine a target set of storage units. Next, a retrieval request is sent to one or more storage units of the target set. If a favorable response is received (e.g., a read threshold number of storage units return encoded data slices), the data is decoded and forwarded to the requestor. Otherwise, the storage metadata is re-estimated and used to determine a second target set of storage units for solicitation. This process continues until a favorable response is received.
82 Citations
20 Claims
-
1. A method for accessing data in a directory-less dispersed storage network, the method comprises:
-
receiving a read request for the data, the data stored in the directory-less dispersed storage network and previously encoded in accordance with a dispersed storage error encoding function to produce a plurality of sets of encoded data slices, wherein the read request includes the identity of a requesting unit and the identity of the data; estimating storage metadata regarding the data based on the identity of the data, the identity of the requesting unit, and data storage preferences of the requesting unit; determining a first target set of storage units of the dispersed storage network based on the estimated storage metadata; sending a retrieval request to a storage unit of the first target set of storage units, wherein the retrieval request is regarding at least one encoded data slice of the plurality of sets of encoded data slices; and when an unfavorable response is received from the storage unit of the first target set of storage units; re-estimating the storage metadata based on the identity of the data, the identity of the requesting unit, the data storage preferences of the requesting unit, and the unfavorable response; determining a second target set of storage units of the dispersed storage network based on the re-estimated storage metadata; sending a new retrieval request to a storage unit of the second target set of storage units regarding at least one encoded data slice of the plurality of sets of encoded data slices; and when a favorable response is received from the storage unit of the second target set of storage units, decoding at least a portion of the plurality of sets of encoded data slices to reproduce the data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for execution by a distributed storage processing unit to access data in a directory-less dispersed storage network, the method comprises:
-
receiving a read request for the data, the data stored in the directory-less dispersed storage network and previously encoded in accordance with a dispersed storage error encoding function to produce a plurality of sets of encoded data slices, wherein the read request includes the identity of a requesting unit and the identity of the data; estimating storage metadata regarding the data based on the identity of the data, the identity of the requesting unit, and data storage preferences of the requesting unit; determining a target set of storage units of the dispersed storage network based on the estimated storage metadata; sending a retrieval request to at least one storage unit of the target set of storage units, wherein the retrieval request is regarding at least one encoded data slice of the plurality of sets of encoded data slices; determining if a read threshold number of favorable responses to the retrieval request has been received from the target set of storage units; and when a read threshold number of favorable responses is received, decoding at least a portion of the plurality of sets of encoded data slices to reproduce the data. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A dispersed storage processing unit comprises:
-
at least one interface; and a processing module configured to; receive, via the at least one interface, a read request for data stored in a directory-less dispersed storage network, the data encoded in accordance with a dispersed storage error encoding function to produce a plurality of sets of encoded data slices, wherein the read request includes the identity of a requesting unit and the identity of the data; estimate storage metadata regarding the data based on the identity of the data, the identity of the requesting unit, and data storage preferences of the requesting unit; determine a first target set of storage units of a dispersed storage network based on the estimated storage metadata; send, via the at least one interface, a retrieval request to a storage unit of the first target set of storage units, wherein the retrieval request is regarding at least one encoded data slice of the plurality of sets of encoded data slices; and when an unfavorable response is received, via the at least one interface, from the storage unit of the first target set of storage units; re-estimate the storage metadata based on the identity of the data, the identity of the requesting unit, the data storage preferences of the requesting unit, and the unfavorable response; determine a second target set of storage units of the dispersed storage network based on the re-estimated storage metadata; send, via the at least one interface, a new retrieval request to a storage unit of the second target set of storage units regarding at least one encoded data slice of the plurality of sets of encoded data slices; and when a favorable response is received, via the at least one interface, from the storage unit of the second target set of storage units, decode at least a portion of the plurality of sets of encoded data slices to reproduce the data. - View Dependent Claims (18, 19, 20)
-
Specification