A method for a dispersed storage network (DSN) begins by receiving a read data object request from for a data object stored as a plurality of sets of encoded data slices in a set of storage units. The method continues by selecting a read threshold number of encoded data slices for retrieval. The method continues by issuing read slice requests to at least some of the storage units of the storage set to recover the selected read threshold number of encoded data slices. The method continues by receiving read slice responses from at least some of the storage units and selecting a decode threshold number of encoded data slices. The method continues by decoding the selected decode threshold number of encoded data slices to reproduce the data and generating audit information based on the selected slices for retrieval, the received slice, and the selected slices for decoding.
Legal claims defining the scope of protection, as filed with the USPTO.
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 read data object request from for a data object stored as a plurality of sets of encoded data slices in a set of storage units; selecting, for each of the plurality of sets of encoded data slices, a read threshold number of encoded data slices for retrieval; issuing read slice requests to at least some storage units of the set of storage units to recover the selected read threshold number of encoded data slices; receiving read slice responses from at least some of the storage units, the read slice responses including received encoded data slices of the selected read threshold number of encoded data slices; selecting, for each of the received read slice responses of a set of the plurality of sets of encoded data slices, a decode threshold number of encoded data slices; decoding the selected decode threshold number of encoded data slices to reproduce the data object; and generating audit information based on the selected read threshold number of encoded data slices for retrieval, the received read slice responses, and the selected decode threshold number of encoded data slices; and sending the reproduced data object and audit information to a requesting entity, wherein the audit information includes: an identifier of the data object, identifiers of the selected read threshold number of encoded data slices, identifiers of received encoded data slices, and identifiers of the selected decode threshold number of encoded data slices.
2. The method of claim 1 further comprises facilitating storage of the audit information in one or more of a local memory or the set of storage units.
3. The method of claim 1 , wherein the selecting, for each of the plurality of sets of encoded data slices, a read threshold number of encoded data slices for retrieval is based on any of: a performance level, an availability level, a predetermination a temporarily stored identifier, or slice names of the selected read threshold number of encoded data slices.
4. The method of claim 1 , wherein the issuing read slice requests includes: identifying storage units associated with the read threshold number of encoded data slices, generating the read slice requests, and sending the read slice requests to the identified storage units.
5. The method of claim 1 further comprises temporarily storing identifiers of received encoded data slices.
6. The method of claim 1 , wherein the selecting, for each of the receiving slice responses of a set of the plurality of sets of encoded data slices is based on one or more of: a decode threshold number of encoded data slices first received, random, or a list.
7. The method of claim 1 further comprises temporarily storing identifiers of the selected decode threshold number of encoded data slices.
8. A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises: an interface; a local memory; and a processing module operably coupled to the interface and the local memory, wherein the processing module functions to: receive a read data object request from for a data object stored as a plurality of sets of encoded data slices in a set of storage units; select, for each of the plurality of sets of encoded data slices, a read threshold number of encoded data slices for retrieval; issue read slice requests to at least some storage units of the set of storage units to recover the selected read threshold number of encoded data slices; receive read slice responses from at least some of the storage units, the read slice responses including received encoded data slices of the selected read threshold number of encoded data slices; select, for each of the received read slice responses of a set of the plurality of sets of encoded data slices, a decode threshold number of encoded data slices; decode the selected decode threshold number of encoded data slices to reproduce the data object; and generate audit information based on the selected read threshold number of encoded data slices for retrieval, the received read slice responses, and the selected decode threshold number of encoded data slices; and send the reproduced data object and audit information to a requesting entity, wherein the audit information includes: an identifier of the data object, identifiers of the selected read threshold number of encoded data slices, identifiers of received encoded data slices, and identifiers of the selected decode threshold number of encoded data slices.
9. The computing device of claim 8 further comprises facilitating storage of the audit information in one or more of a local memory or the set of storage units.
10. The computing device of claim 8 , wherein the selecting, for each of the plurality of sets of encoded data slices, a read threshold number of encoded data slices for retrieval is based on any of: a performance level, an availability level, a predetermination a temporarily stored identifier, or slice names of the selected read threshold number of encoded data slices.
11. The computing device of claim 8 , wherein the issuing read slice requests includes: identifying storage units associated with the read threshold number of encoded data slices, generating the read slice requests, and sending the read slice requests to the identified storage units.
12. The computing device of claim 8 further comprises temporarily storing identifiers of received encoded data slices.
13. The computing device of claim 8 further comprises temporarily storing identifiers of the selected decode threshold number of encoded data slices.
14. 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 read data object request from a user device to reproduce a data object, wherein the data object is dispersed storage error encoded to produce a plurality of sets of encoded data slices that are stored in a DSN storage set and wherein at least a decode threshold number of encoded data slices are required from each set to recover the data object; selecting for each of the plurality of sets of encoded data slices, a read threshold number of encoded data slices for retrieval; issuing read slice requests to at least some storage units of the DSN storage set to recover the selected read threshold number of encoded data slices; receiving read slice responses from at least some storage units in the DSN storage set; selecting, for each of the read slice responses of a set of the plurality of sets of encoded data slices, a decode threshold number of encoded data slices; for each set of encoded data slices, decoding the selected decode threshold number of encoded data slices to reproduce the data object; and sending the reproduced data object and audit information to the user device, wherein the audit information includes, for each set of encoded data slices, identifiers of the selected read threshold number of encoded data slices, identifiers of received encoded data slices, and identifiers of the selected decode threshold number of encoded data slices.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
November 4, 2016
May 21, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.