Method and apparatus for election of group leaders in a distributed network
0 Assignments
0 Petitions
Accused Products
Abstract
A system and apparatus for control and distribution of data files in large-scale distributed networks. Members of a group of servers in a multicast network elect a group leader whenever a new group leader is required, as detected by absence of a periodic message published by the leader. Election is carried out by a system of voting by each candidate whereby each candidate has a priority calculated from its configuration, and the server with the highest priority is configured to claim the leadership faster than the other candidates. As part of the claim, each candidate multicasts its priority. Each candidate that receives a multicast claim for leadership from another candidate compares its own priority against the claimant and only votes for itself if its own priority is higher. After a preconfigured period of hearing no other claimants with higher priority, the candidate with the highest priority becomes the new leader.
-
Citations
23 Claims
-
1-10. -10. (canceled)
-
11. A system for determining a group leader among a group of servers comprising:
-
a set of participant servers including at least some servers capable of participating in electing a group leader;
a communication channel from each participant to each other participant;
a monitor process in each participant to determine which server is the current group leader; and
an election process in each participant to calculate a voting priority of said participant and to select a new group leader according to said voting priority, said election process triggered by said monitor process, wherein said election process further comprises a state machine adapted to transition from a temporary state of group leader unknown to a stable state of either group leader known or group leader is me, according to the following steps;
in said state of group leader unknown, if one or more group leader claim messages (LC) are received in which a received voting priority is greater than said calculated voting priority, then transition to a concession state and wait for a group leader alive message (LA); and
if no LC is received before a period determined by said calculated voting priority, or no received voting priority is greater than said calculated voting priority, then transmit an LC including said calculated voting priority, and transition to a voting open state;
in said concession state, when an LA is received, transition to said group leader known state;
in said voting open state, if no LC or LA is received for a predetermined time interval, then transition to said group leader is me state and transmit an LA; and
if one or more LC is received prior to said predetermined voting time interval, then transition to said group leader unknown state and transmit an LC; and
if an LA is received, then transition to said group leader known state;
in said group leader is me state, periodically send an LA until an LC or LA is received, and then transition to said voting open state and send an LC; and
in said group leader known state, upon a trigger from said monitor process, transition to said group leader unknown state and transmit an LC;
whereby a participant having the highest calculated voting priority is elected group leader.
-
-
12-20. -20. (canceled)
-
21. A method for selecting a group leader among servers in a multicast network segment comprising the steps of:
-
configuring a set of said servers to participate in electing a leader, each said server having a corresponding voting priority;
determining when a new leader is needed by configuring each server that is not currently the group leader to listen for periodic messages from said group leader, adapting each server to send said periodic messages only if said server is currently the group leader, waiting a configurable period after no periodic messages are heard, and multicasting said voting priority to each participant; and
said set of servers electing one server of said set to become said new leader by voting wherein voting is performed by sending a leadership claim message including a priority claim at an interval determined by strength of a claim a candidate has on becoming the group leader. - View Dependent Claims (22, 23)
-
Specification