Abstract
Election in a computer network is an operation that selects one process from among a group of processes, perhaps residing in different computers in the network, to perform a particular task. An election is characterized here by 1) the capacities obtained by the evaluation of a criterion function at each candidate process and 2) an agreement reached by all processes in the group to elect the master process. A number of election algorithms are presented that are based on various conditions and environments, including process fault behavior, process timing relations, and communication subsystem supports. These algorithms allow all fault-free processes to elect one and only one process as the master, and, by changing the definition of the criterion function, they can be applied to a variety of applications in a computer network.