Patent ID: 11899654
Assignee: VMWARE LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G  H | IPC G

Claim 7:
8. An apparatus (party pi) comprising:
one or more computer processors; and
a computer-readable storage medium comprising instructions for controlling party pi to reach agreement among n parties to a proposed value via an instance of a Byzantine agreement protocol, wherein the instructions control party pi to:
run a synchronous agreement sequence of the instance of the Byzantine agreement protocol on the proposed value by instantiating, in sequential order, one or more view instances using a different party among the n parties as leader for each view instance, wherein the leader in a view instance sends a sequence of messages to all n parties to commit to the proposed value;
send a help message to all n parties when party pi has not committed to the proposed value in a previous view instance in the one or more view instances, the help message being a request to each of the n parties to return a help reply message that includes a commit certificate indicating that said each party committed to the proposed value in the previous view instance;
upon receiving help reply messages from at least a predetermined number of the n parties, commit to the proposed value and halt the instance of the Byzantine agreement protocol; and
upon receiving help messages from at least the predetermined number of the n parties, transition from running the synchronous agreement sequence to running an asynchronous agreement sequence of the instance of the Byzantine agreement protocol on the proposed value, the running of the asynchronous agreement sequence comprising:
instantiating a wave comprising a plurality of concurrently executing views with a different leader for each view; and
when a predetermined number of executing views have completed:
electing a new leader from among the n parties; and
exchanging a commit state of the new leader among the n parties.