US 7,555,516 B2
Fast Paxos recovery
Leslie B. Lamport, Palo Alto, Calif. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Nov. 23, 2004, as Appl. No. 10/996,350.
Prior Publication US 2006/0168011 A1, Jul. 27, 2006
Int. Cl. G06F 15/16 (2006.01); G06F 15/173 (2006.01)
U.S. Cl. 709—201  [709/203; 709/206; 709/218; 709/224] 33 Claims
OG exemplary drawing
 
1. A method for resolving conflicts in a distributed computer system implementing distributed fault-tolerant consensus algorithms, the method comprising:
performing a distributed fault-tolerant consensus process in the distributed computer system comprising a plurality of devices, wherein each device votes for proposals received directly from a client and generates vote messages used to reach consensus on said client proposals;
sending the vote messages generated during operation of the distributed fault-tolerant consensus process to at least one device among the plurality of devices;
initiating a conflict resolution process when the vote messages for at least one function received from a first quorum of devices among the plurality of devices indicate that a conflict had occurred; and
performing the conflict resolution process by the at least one device using the vote messages previously sent to the at least one device, wherein performing the conflict resolution process comprises:
the at least one device selecting a proposed function from the at least one function voted for by the vote messages and transmitting a proposal to a second quorum of devices among the plurality of devices, the proposal comprising the proposed function and a next proposal number that is immediately subsequent to a proposal number corresponding to the vote messages; and
the at least one device determining that the proposed function is selected for conflict resolution when subsequent vote messages are received in response to the transmitted proposal from a third quorum of devices among the plurality of devices.