Hybrid quorum policies for durable consensus in distributed systems
First Claim
1. A system, comprising:
- at least one processor;
a memory comprising program instructions, wherein the program instructions when executed by the at least one processor, cause the at least one processor to;
receive an indication of an update to a state maintained in a distributed system for a client, wherein the distributed system comprises a plurality of nodes that maintain the state for the client;
in response to the receipt of the indication, send a request to update the state according to the indicated update to different ones of the plurality of nodes in order to satisfy a hybrid quorum policy for updating the state maintained in the distributed system, wherein the hybrid quorum policy comprises individual quorum policies for a plurality of different quorum sets, wherein each quorum set includes one or more nodes of the plurality of nodes such that a given node of the plurality of nodes is included in at least one quorum set of the plurality of quorum sets;
receive a plurality of acknowledgments from at least some of the different nodes sent the request indicating that the update to the state is performed;
in response to the receipt of the plurality of acknowledgments, determine that the plurality of acknowledgements satisfy the hybrid quorum policy for updating the state maintained in the distributed system, wherein the determination evaluates the plurality of acknowledgments with respect to the individual quorum policies for the plurality of different quorum sets and with respect to an indication in the hybrid quorum policy of which individual quorum policies are to be satisfied; and
in response to the determination that the plurality of acknowledgments satisfy the hybrid quorum policy, provide an indication that the update to the state is durably performed for the client.
1 Assignment
0 Petitions
Accused Products
Abstract
Hybrid quorum policies may be implemented for access requests to state maintained in a distributed system. An update to state maintained in a distributed system may be sent to multiple nodes in the distributed system maintain the state in order to satisfy a hybrid quorum policy for updating the state in the distributed system. The hybrid quorum policy may include individual quorum policies for multiple quorum sets including nodes of the distributed system. Acknowledgments received from nodes in the distributed system indicating that the update is performed may be evaluated according to the individual quorum policies to determine whether the hybrid quorum policy is satisfied. If the hybrid quorum policy is satisfied, then the update to the state may be considered durable.
-
Citations
20 Claims
-
1. A system, comprising:
-
at least one processor; a memory comprising program instructions, wherein the program instructions when executed by the at least one processor, cause the at least one processor to; receive an indication of an update to a state maintained in a distributed system for a client, wherein the distributed system comprises a plurality of nodes that maintain the state for the client; in response to the receipt of the indication, send a request to update the state according to the indicated update to different ones of the plurality of nodes in order to satisfy a hybrid quorum policy for updating the state maintained in the distributed system, wherein the hybrid quorum policy comprises individual quorum policies for a plurality of different quorum sets, wherein each quorum set includes one or more nodes of the plurality of nodes such that a given node of the plurality of nodes is included in at least one quorum set of the plurality of quorum sets; receive a plurality of acknowledgments from at least some of the different nodes sent the request indicating that the update to the state is performed; in response to the receipt of the plurality of acknowledgments, determine that the plurality of acknowledgements satisfy the hybrid quorum policy for updating the state maintained in the distributed system, wherein the determination evaluates the plurality of acknowledgments with respect to the individual quorum policies for the plurality of different quorum sets and with respect to an indication in the hybrid quorum policy of which individual quorum policies are to be satisfied; and in response to the determination that the plurality of acknowledgments satisfy the hybrid quorum policy, provide an indication that the update to the state is durably performed for the client. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
performing, by one or more computing devices; sending a request to update a state maintained in a distributed system to different ones of a plurality of nodes that comprise the distributed system in order to satisfy a hybrid quorum policy for updating the state maintained in the distributed system, wherein the hybrid quorum policy comprises individual quorum policies for a plurality of different quorum sets, wherein each quorum set includes one or more nodes of the plurality of nodes such that a given node of the plurality of nodes is included in at least one quorum set of the plurality of quorum sets; receive a plurality of acknowledgments from at least some of the different nodes sent the request indicating that the update to the state is performed; determining that the plurality of acknowledgements satisfy the hybrid quorum policy for updating the state maintained in the distributed system, wherein said determining comprises;
evaluating the plurality of acknowledgments with respect to the individual quorum policies for the plurality of different quorum sets and with respect to an indication in the hybrid quorum policy of which individual quorum policies are to be satisfied; andin response to determining that the plurality of acknowledgments satisfy the hybrid quorum policy, identifying the update to the state as durably performed. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
-
sending a request to update a state maintained in a distributed system to different ones of a plurality of nodes that comprise the distributed system in order to satisfy a hybrid quorum policy for updating the state maintained in the distributed system, wherein the hybrid quorum policy comprises individual quorum policies for a plurality of different quorum sets, wherein each quorum set includes one or more nodes of the plurality of nodes such that a given node of the plurality of nodes is included in at least one quorum set of the plurality of quorum sets; receiving a plurality of acknowledgments from at least some of the different nodes sent the request indicating that the update to the state is performed; determining that the plurality of acknowledgements satisfy the hybrid quorum policy for updating the state maintained in the distributed system, wherein said determining comprises;
evaluating the plurality of acknowledgments with respect to the individual quorum policies for the plurality of different quorum sets and with respect to an indication in the hybrid quorum policy of which individual quorum policies are to be satisfied; andin response to determining that the plurality of acknowledgments satisfy the hybrid quorum policy, identifying the update to the state as durably performed. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification