US 12,254,027 B1
Leadership election in consensus protocol with heterogeneous nodes
Saeed Abedigozalabad, San Mateo, CA (US); Thakur Vishwesh Singh, Karnataka (IN); Vijay Sridharan, Santa Clara, CA (US); Nilesh Choudhury, Redwood City, CA (US); and Mehrnoosh Raoufi, Pittsburgh, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Mar. 15, 2024, as Appl. No. 18/607,314.
Int. Cl. G06F 16/27 (2019.01)
CPC G06F 16/27 (2019.01) 30 Claims
OG exemplary drawing
 
1. A method comprising:
in response to an election timeout, sending a term increase request from a particular server in a replication group of servers to two or more available servers in the replication group of servers, wherein:
each server within the replication group of servers stores a respective copy of a log, and
the term increase request specifies a requested term value and a last index of the copy of the log at the particular server; and
determining, by the particular server, whether to increase a current term value of the particular server to the requested term value and request a leadership election based on responses received from the two or more available servers, wherein:
each server in the replication group of servers has a corresponding priority value, and
each of the two or more available servers determines whether to approve the term increase request based on one or more of: the requested term value, the last index of the copy of the log at the particular server, or the priority of the particular server,
wherein the method is performed by one or more computing devices.