Making consistent reads more efficient in IDA+copy system
First Claim
1. A computing device comprising:
- an interface configured to interface and communicate with a dispersed storage network (DSN);
memory that stores operational instructions; and
a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to;
receive a data access request for a data object, 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 (EDSs), wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment, wherein the set of EDSs are distributedly stored among a first plurality of storage units (SUs), and wherein a trimmed copy of the set of EDSs that includes fewer than all EDSs of the set of EDSs and includes at least the decode threshold number of EDSs are distributedly stored among a second plurality of SUs;
determine a first revision number that corresponds to the set of EDSs that are distributedly stored among the first plurality of SUs;
determine a second revision number that corresponds to the trimmed copy of the set of EDSs that are distributedly stored among the second plurality of SUs;
when the second revision number compares favorably to the first revision number, issue the data access request for the data object to at least one of the set of EDSs that are distributedly stored among the first plurality of SUs or the trimmed copy of the set of EDSs that are distributedly stored among the second plurality of SUs for at least one of the decode threshold number of EDSs or the read threshold number of EDSs; and
when the second revision number compares unfavorably to the first revision number, issue the data access request for the data object to only the set of EDSs that are distributedly stored among the first plurality of SUs for the at least one of the decode threshold number of EDSs or the read threshold number of EDSs.
3 Assignments
0 Petitions
Accused Products
Abstract
A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. The computing device receives a data access request for a data object and determines a first revision number of a corresponding set of EDSs stored among first SU(s) and a second revision number of a corresponding trimmed copy of the set of EDSs stored among second SU(s). When the second revision number compares favorably to the first revision number, the computing device issues the data access request to the first SU(s) and/or the second SU(s) and issues the data access request for the data object to only the first SU(s) when it doesn'"'"'t.
106 Citations
25 Claims
-
1. A computing device comprising:
-
an interface configured to interface and communicate with a dispersed storage network (DSN); memory that stores operational instructions; and a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to; receive a data access request for a data object, 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 (EDSs), wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment, wherein the set of EDSs are distributedly stored among a first plurality of storage units (SUs), and wherein a trimmed copy of the set of EDSs that includes fewer than all EDSs of the set of EDSs and includes at least the decode threshold number of EDSs are distributedly stored among a second plurality of SUs; determine a first revision number that corresponds to the set of EDSs that are distributedly stored among the first plurality of SUs; determine a second revision number that corresponds to the trimmed copy of the set of EDSs that are distributedly stored among the second plurality of SUs; when the second revision number compares favorably to the first revision number, issue the data access request for the data object to at least one of the set of EDSs that are distributedly stored among the first plurality of SUs or the trimmed copy of the set of EDSs that are distributedly stored among the second plurality of SUs for at least one of the decode threshold number of EDSs or the read threshold number of EDSs; and when the second revision number compares unfavorably to the first revision number, issue the data access request for the data object to only the set of EDSs that are distributedly stored among the first plurality of SUs for the at least one of the decode threshold number of EDSs or the read threshold number of EDSs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device comprising:
-
an interface configured to interface and communicate with a dispersed storage network (DSN); memory that stores operational instructions; and a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to; receive a data access request for a data object, 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 (EDSs), wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment, wherein the set of EDSs are distributedly stored among a first plurality of storage units (SUs), and wherein a trimmed copy of the set of EDSs that includes fewer than all EDSs of the set of EDSs and includes at least the decode threshold number of EDSs are distributedly stored among a second plurality of SUs; determine a first revision number that corresponds to the set of EDSs that are distributedly stored among the first plurality of SUs; determine a second revision number that corresponds to the trimmed copy of the set of EDSs that are distributedly stored among the second plurality of SUs; when the second revision number compares favorably to the first revision number, issue the data access request for the data object to at least one of the set of EDSs that are distributedly stored among the first plurality of SUs or the trimmed copy of the set of EDSs that are distributedly stored among the second plurality of SUs for at least one of the decode threshold number of EDSs or the read threshold number of EDSs; and when the second revision number compares unfavorably to the first revision number, issue the data access request for the data object to only the set of EDSs that are distributedly stored among the first plurality of SUs for the at least one of the decode threshold number of EDSs or the read threshold number of EDSs; and
at least one of;issue a rebuild request to generate another trimmed copy of the set of EDSs having the first revision number based on the set of EDSs having the first revision number to be distributedly stored among the second plurality of SUs;
orissue a copy request from another trimmed copy of the set of EDSs having the first revision number that are distributedly stored among a third plurality of SUs to be copied to and distributedly stored among the second plurality of SUs in place of the trimmed copy of the set of EDSs having the second revision number. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method for execution by a computing device, the method comprising:
-
receiving, via an interface configured to interface and communicate with a dispersed storage network (DSN), a data access request for a data object, 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 (EDSs), wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment, wherein the set of EDSs are distributedly stored among a first plurality of storage units (SUs), and wherein a trimmed copy of the set of EDSs that includes fewer than all EDSs of the set of EDSs and includes at least the decode threshold number of EDSs are distributedly stored among a second plurality of SUs; determining a first revision number that corresponds to the set of EDSs that are distributedly stored among the first plurality of SUs; determining a second revision number that corresponds to the trimmed copy of the set of EDSs that are distributedly stored among the second plurality of SUs; when the second revision number compares favorably to the first revision number, issuing the data access request for the data object via the interface to at least one of the set of EDSs that are distributedly stored among the first plurality of SUs or the trimmed copy of the set of EDSs that are distributedly stored among the second plurality of SUs for at least one of the decode threshold number of EDSs or the read threshold number of EDSs; and when the second revision number compares unfavorably to the first revision number, issuing the data access request for the data object via the interface to only the set of EDSs that are distributedly stored among the first plurality of SUs for the at least one of the decode threshold number of EDSs or the read threshold number of EDSs. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification