Asynchronous liveness boosting of state machine replication
AssigneeVMware, Inc.
InventorsAlexander Spiegelman, Ittai Abraham, Dahlia Malkhi
Life of this patent
Estimating the term…
Abstract
An asynchronous state machine replication solution in a system of replicas includes executing multiple instances of a consensus protocol, referred to as leader-based views (LBVs) in each replica, where each replica is a leader participant in one of the LBV instances. Each replica drives a decision based on the consensus being reached among the LBV instances, rather than relying the expiration of timers and view changes to drive progress.
Claims20
A method comprising:
- a first server, among a plurality of servers, participating in a plurality of concurrently executing leader-based views (LBVs), each LBV representing the plurality of servers executing a consensus protocol;
- the first server participating in a first LBV among the plurality of LBVs as a leader participant, wherein each server in the plurality of servers other than the first server participates in the first LBV as a non-leader participant;
- the first server participating in each LBV in the plurality of LBVs other than the first LBV as a non-leader participant;
- the first server signaling a first notification when the first server has reached consensus among a first predetermined number of the plurality of LBVs;
- the first server electing a leader from among the plurality of servers after the first notification has been signaled by a second predetermined number of servers;
- and
- the first server reaching consensus based on a closing state of the elected leader, wherein consensus is reached without waiting for timers among the plurality of servers to expire so that reaching consensus occurs even when one or more of the plurality of servers become non-responsive.
A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computer device in a server among a plurality of servers, cause the computer device to:
- participate in a plurality of concurrently executing leader-based views (LBVs), each LBV representing the plurality of servers executing a consensus protocol;
- participate in a first LBV among the plurality of LBVs as a leader participant, wherein each server in the plurality of servers other than the first server participates in the first LBV as a non-leader participant;
- participate in each LBV in the plurality of LBVs other than the first LBV as a non-leader participant;
- signal a first notification when the first server has reached consensus among a first predetermined number of the plurality of LBVs;
- elect a leader from among the plurality of servers after the first notification has been signaled by a second predetermined number of servers;
- and
- reach consensus based on a closing state of the elected leader, wherein consensus is reached without waiting for timers among the plurality of servers to expire so that reaching consensus occurs even when one or more of the plurality of servers become non-responsive.
A server among a plurality of servers, the server comprising:
- one or more computer processors;
- and
- a computer-readable storage medium comprising instructions for controlling the one or more computer processors to cause the server to:
- participate in a plurality of concurrently executing leader-based views (LBVs), each LBV representing the plurality of servers executing a consensus protocol;
- participate in a first LBV among the plurality of LBVs as a leader participant, wherein each server in the plurality of servers other than the first server participates in the first LBV as a non-leader participant;
- participate in each LBV in the plurality of LBVs other than the first LBV as a non-leader participant;
- signal a first notification when the first server has reached consensus among a first predetermined number of the plurality of LBVs;
- elect a leader from among the plurality of servers after the first notification has been signaled by a second predetermined number of servers;
- and
- reach consensus based on a closing state of the elected leader, wherein consensus is reached without waiting for timers among the plurality of servers to expire so that reaching consensus occurs even when one or more of the plurality of servers become non-responsive.
Dependencies are inferred from the claim text.