Consistency level driven data storage in a dispersed storage network
First Claim
1. A method comprises:
- in response to sending a set of write requests regarding a set of encoded data slices having a first revision level of a data segment of a data object to a set of storage units of a dispersed storage network (DSN), receiving, by a computing device of a plurality of computing devices of the DSN, at least a subset of write response ballots from at least a subset of storage units of the set of storage units, wherein a write response ballot of the at least the subset of write response ballots is received from a storage unit of the at least the subset of storage units regarding an encoded data slice of the set of encoded data slices, wherein the write response ballot includes a list of stored new revision levels of the encoded data slice of pending write requests regarding the new revision levels of the set of encoded data slices and a ranking list of the pending write requests, wherein the pending write requests include the set of write requests and one or more other sets of write requests regarding storage of one or more other sets of encoded data slices having one or more other revision levels of the data segment from one or more other computing devices of the plurality of computing devices of the DSN, wherein the ranking list of the pending write requests lists the pending write requests in order of timestamp of receipt by the storage unit, and wherein the at least the subset of write response ballots includes at least a subset of lists of stored new revision levels of encoded data slices of the data segment and at least a subset of ranking lists of the pending write requests;
interpreting, by the computing device, the at least the subset of write response ballots to determine whether write requests of the set of write requests has a consensus number of highest rankings in the at least the subset of ranking lists of the pending write requests;
when the computing device has the consensus number of highest rankings in the at least the subset of ranking lists of the pending write requests, interpreting, by the computing device, the at least the subset of write response ballots to determine whether a write threshold number of encoded data slices of the set of encoded data slices is listed in the at least the subset of lists of stored new revision levels of encoded data slices of the data segment; and
when the write threshold number of encoded data slices is listed in the at least the subset of lists of stored new revision levels of encoded data slices of the data segment, issuing, by the computing device, a set of finalize commands to the set of storage units.
2 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a processing module of a computing device, in response to sending a set of write requests regarding a set of encoded data slices sent to a set of storage units, receiving write response ballots from some storage units. The method continues with the processing module interpreting the write response ballots to determine whether the write requests have a consensus number of highest rankings. When the computing device has the consensus number of highest rankings, the method continues with the processing module interpreting the write response ballots to determine whether a write threshold number of encoded data slices is listed in lists of correctly stored new revision levels. When the write threshold number of encoded data slices is listed, the method continues with the processing module issuing a set of finalize commands to the set of storage units.
78 Citations
18 Claims
-
1. A method comprises:
-
in response to sending a set of write requests regarding a set of encoded data slices having a first revision level of a data segment of a data object to a set of storage units of a dispersed storage network (DSN), receiving, by a computing device of a plurality of computing devices of the DSN, at least a subset of write response ballots from at least a subset of storage units of the set of storage units, wherein a write response ballot of the at least the subset of write response ballots is received from a storage unit of the at least the subset of storage units regarding an encoded data slice of the set of encoded data slices, wherein the write response ballot includes a list of stored new revision levels of the encoded data slice of pending write requests regarding the new revision levels of the set of encoded data slices and a ranking list of the pending write requests, wherein the pending write requests include the set of write requests and one or more other sets of write requests regarding storage of one or more other sets of encoded data slices having one or more other revision levels of the data segment from one or more other computing devices of the plurality of computing devices of the DSN, wherein the ranking list of the pending write requests lists the pending write requests in order of timestamp of receipt by the storage unit, and wherein the at least the subset of write response ballots includes at least a subset of lists of stored new revision levels of encoded data slices of the data segment and at least a subset of ranking lists of the pending write requests; interpreting, by the computing device, the at least the subset of write response ballots to determine whether write requests of the set of write requests has a consensus number of highest rankings in the at least the subset of ranking lists of the pending write requests; when the computing device has the consensus number of highest rankings in the at least the subset of ranking lists of the pending write requests, interpreting, by the computing device, the at least the subset of write response ballots to determine whether a write threshold number of encoded data slices of the set of encoded data slices is listed in the at least the subset of lists of stored new revision levels of encoded data slices of the data segment; and when the write threshold number of encoded data slices is listed in the at least the subset of lists of stored new revision levels of encoded data slices of the data segment, issuing, by the computing device, a set of finalize commands to the set of storage units. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computing device of a plurality of computing devices of a dispersed storage network (DSN) comprising:
-
an interface; memory; and a processing module operably coupled to the interface and the memory, wherein the processing module is operable to; in response to sending a set of write requests regarding a set of encoded data slices having a first revision level of a data segment of a data object to a set of storage units of the DSN, receive, via the interface, at least a subset of write response ballots from at least a subset of storage units of the set of storage units, wherein a write response ballot of the at least the subset of write response ballots is received from a storage unit of the at least the subset of storage units regarding an encoded data slice of the set of encoded data slices, wherein the write response ballot includes a list of stored new revision levels of the encoded data slice of pending write requests regarding the new revision levels of the set of encoded data slices and a ranking list of the pending write requests, wherein the pending write requests include the set of write requests and one or more other sets of write requests regarding storage of one or more other sets of encoded data slices having one or more other revision levels of the data segment from one or more other computing devices of the plurality of computing devices of the DSN, wherein the ranking list of the pending write requests lists the pending write requests in order of timestamp of receipt by the storage unit, and wherein the at least the subset of write response ballots includes at least a subset of lists of stored new revision levels of encoded data slices of the data segment and at least a subset of ranking lists of the pending write requests; interpret the at least the subset of write response ballots to determine whether write requests of the set of write requests has a consensus number of highest rankings in the at least the subset of ranking lists of the pending write requests; when the computing device has the consensus number of highest rankings in the at least the subset of ranking lists of the pending write requests, interpret the at least the subset of write response ballots to determine whether a write threshold number of encoded data slices of the set of encoded data slices is listed in the at least the subset of lists of stored new revision levels of encoded data slices of the data segment; and when the write threshold number of encoded data slices is listed in the at least the subset of lists of stored new revision levels of encoded data slices of the data segment, issue, via the interface, a set of finalize commands to the set of storage units. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer readable memory device comprises:
-
a first memory section that stores operational instructions that, when executed by a computing device of a plurality of computing devices of a dispersed storage network (DSN), causes the computing device to; in response to sending a set of write requests regarding a set of encoded data slices having a first revision level of a data segment of a data object to a set of storage units of the DSN, receive at least a subset of write response ballots from at least a subset of storage units of the set of storage units, wherein a write response ballot of the at least the subset of write response ballots is received from a storage unit of the at least the subset of storage units regarding an encoded data slice of the set of encoded data slices, wherein the write response ballot includes a list of stored new revision levels of the encoded data slice of pending write requests regarding the new revision levels of the set of encoded data slices and a ranking list of the pending write requests, wherein the pending write requests include the set of write requests and one or more other sets of write requests regarding storage of one or more other sets of encoded data slices having one or more other revision levels of the data segment from one or more other computing devices of the plurality of computing devices of the DSN, wherein the ranking list of the pending write requests lists the pending write requests in order of timestamp of receipt by the storage unit, and wherein the at least the subset of write response ballots includes at least a subset of lists of stored new revision levels of encoded data slices of the data segment and at least a subset of ranking lists of the pending write requests; a second memory section that stores operational instructions that, when executed by the computing device, causes the computing device to; interpret the at least the subset of write response ballots to determine whether write requests of the set of write requests has a consensus number of highest rankings in the at least the subset of ranking lists of the pending write requests; and when the computing device has the consensus number of highest rankings in the at least the subset of ranking lists of the pending write requests, interpret the at least the subset of write response ballots to determine whether a write threshold number of encoded data slices of the set of encoded data slices is listed in the at least the subset of lists of stored new revision levels of encoded data slices of the data segment; and a third memory section that stores operational instructions that, when executed by the computing device, causes the computing device to; when the write threshold number of encoded data slices is listed in the at least the subset of lists of stored new revision levels of encoded data slices of the data segment, issue a set of finalize commands to the set of storage units. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification