Strong consistency write threshold
First Claim
1. A computing device comprising:
- an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);
memory that stores operational instructions; and
processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to;
receive a store data request from a requesting entity;
dispersed error encode a data segment associated with a data object to generate a set of encoded data slices (EDSs), wherein the data object is segmented into a plurality of data segments, wherein the data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs to be distributedly stored among a plurality of storage units (SUs) that includes a first site including a first SU set and a second site including a second SU set;
select a write threshold number of EDSs based on a desired consistency level indicator corresponding to a sum of a read threshold number of EDSs and the write threshold number of EDSs, wherein the write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN, wherein the read threshold number of EDSs provides for reconstruction of the data segment, wherein the set of EDSs is of pillar width and includes a pillar number of EDSs that is at least twice a decode threshold number of EDSs that are needed to recover the data segment, wherein the desired consistency level indicator corresponds to a strong consistency level when the sum is greater than or equal to the pillar number of EDSs, and wherein the desired consistency level indicator corresponds to a weak consistency level when the sum is less than the pillar number of EDSs;
issue a write request to the plurality of SUs;
receive at least some write responses from at least some of the plurality of SUs;
determine whether a favorable number of write responses has been received from the at least some of the plurality of SUs; and
when fewer than the favorable number of write responses has been received from the at least some of the plurality of SUs;
issue at least one rollback request to at least one of the plurality of SUs; and
issue a store data response that indicates status of writing an EDS of the set of EDSs to a SU of the plurality of SUs to the requesting entity, wherein the status includes another consistency level indicator that indicates a level of consistency that has been met in accordance with the write request to the plurality of SUs based on the desired consistency level indicator.
4 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 processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device operates based on a store data request from a requesting entity to dispersed error encode a data segment associated with a data object to generate a set of encoded data slices (EDSs). The computing device selects a write threshold number of EDSs based on a desired consistency level indicator and issues a write request to storage unit(s) (SU(s)). The computing device receives write response(s) from the SU(s) and, based on write response(s) received from the at least some of the SU(s), provides a store data response to the requesting entity.
-
Citations
20 Claims
-
1. A computing device comprising:
-
an interface configured to interface and communicate with a dispersed or distributed storage network (DSN); memory that stores operational instructions; and processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to; receive a store data request from a requesting entity; dispersed error encode a data segment associated with a data object to generate a set of encoded data slices (EDSs), wherein the data object is segmented into a plurality of data segments, wherein the data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs to be distributedly stored among a plurality of storage units (SUs) that includes a first site including a first SU set and a second site including a second SU set; select a write threshold number of EDSs based on a desired consistency level indicator corresponding to a sum of a read threshold number of EDSs and the write threshold number of EDSs, wherein the write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN, wherein the read threshold number of EDSs provides for reconstruction of the data segment, wherein the set of EDSs is of pillar width and includes a pillar number of EDSs that is at least twice a decode threshold number of EDSs that are needed to recover the data segment, wherein the desired consistency level indicator corresponds to a strong consistency level when the sum is greater than or equal to the pillar number of EDSs, and wherein the desired consistency level indicator corresponds to a weak consistency level when the sum is less than the pillar number of EDSs; issue a write request to the plurality of SUs; receive at least some write responses from at least some of the plurality of SUs; determine whether a favorable number of write responses has been received from the at least some of the plurality of SUs; and when fewer than the favorable number of write responses has been received from the at least some of the plurality of SUs; issue at least one rollback request to at least one of the plurality of SUs; and issue a store data response that indicates status of writing an EDS of the set of EDSs to a SU of the plurality of SUs to the requesting entity, wherein the status includes another consistency level indicator that indicates a level of consistency that has been met in accordance with the write request to the plurality of SUs based on the desired consistency level indicator. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing device comprising:
-
an interface configured to interface and communicate with a dispersed or distributed storage network (DSN); memory that stores operational instructions; and processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to; receive a store data request from a requesting entity; dispersed error encode a data segment associated with a data object to generate a set of encoded data slices (EDSs), wherein the data object is segmented into a plurality of data segments, wherein the data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs to be distributedly stored among a plurality of storage units (SUs) that includes a first site including a first SU set and a second site including a second SU set; select a write threshold number of EDSs based on at least one of a desired consistency level indicator corresponding to a sum of a read threshold number of EDSs and the write threshold number of EDSs, a system registry value, or storage unit (SU) performance levels associated with at least some of the plurality of SUs, wherein the write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN, wherein the read threshold number of EDSs provides for reconstruction of the data segment, wherein the set of EDSs is of pillar width and includes a pillar number of EDSs that is at least twice a decode threshold number of EDSs that are needed to recover the data segment, wherein the desired consistency level indicator corresponds to a strong consistency level when the sum is greater than or equal to the pillar number of EDSs, and wherein the desired consistency level indicator corresponds to a weak consistency level when the sum is less than the pillar number of EDSs; issue a write request to the plurality of SUs; receive at least some write responses from at least some of the plurality of SUs; determine whether a favorable number of write responses has been received from the at least some of the plurality of SUs; and when fewer than the favorable number of write responses has been received from the at least some of the plurality of SUs; issue at least one rollback request to at least one of the plurality of SUs; and issue a store data response that indicates status of writing an EDS of the set of EDSs to a SU of the plurality of SUs to the requesting entity; and when at least the favorable number of write responses has been received from the at least some of the plurality of SUs, issue another store data response that indicates status of successfully stored of at least one EDS of the set of EDSs to at least one SU of the plurality of SUs to the requesting entity, wherein the status includes another consistency level indicator that indicates a level of consistency that has been met in accordance with the write request to the plurality of SUs based on the desired consistency level indicator. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for execution by a computing device, the method comprising:
-
receiving, via an interface of the computing device that is configured to interface and communicate with a dispersed or distributed storage network (DSN), a store data request from a requesting entity; dispersed error encoding a data segment associated with a data object to generate a set of encoded data slices (EDSs), wherein the data object is segmented into a plurality of data segments, wherein the data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs to be distributedly stored among a plurality of storage units (SUs) that includes a first site including a first SU set and a second site including a second SU set; selecting a write threshold number of EDSs based on a desired consistency level indicator corresponding to a sum of a read threshold number of EDSs and the write threshold number of EDSs, wherein the write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN, wherein the read threshold number of EDSs provides for reconstruction of the data segment, wherein the set of EDSs is of pillar width and includes a pillar number of EDSs that is at least twice a decode threshold number of EDSs that are needed to recover the data segment, wherein the desired consistency level indicator corresponds to a strong consistency level when the sum is greater than or equal to the pillar number of EDSs, and wherein the desired consistency level indicator corresponds to a weak consistency level when the sum is less than the pillar number of EDSs; issuing, via the interface, a write request to the plurality of SUs; receiving, via the interface, at least some write responses from at least some of the plurality of SUs; determining whether a favorable number of write responses has been received from the at least some of the plurality of SUs; and when fewer than the favorable number of write responses has been received from the at least some of the plurality of SUs; issuing, via the interface, at least one rollback request to at least one of the plurality of SUs; and issuing, via the interface, a store data response that indicates status of writing an EDS of the set of EDSs to a SU of the plurality of SUs to the requesting entity, wherein the status includes another consistency level indicator that indicates a level of consistency that has been met in accordance with the write request to the plurality of SUs based on the desired consistency level indicator. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification