Varios algoritmos distribuidos requieren de un coordinador con un rol especial. En general, no es importante cuál es el proceso, sino que debe cubrirse el rol.
Se asume que todos los procesos tienen un identificador único, se ejecuta un proceso por máquina y conocen el número de los demás procesos.
Al finalizar la elección, se debe concluir en un único líder, conocido por todos.
Algoritmo Bully
Cuando un proceso nota que el coordinador no responde (no hay ninguno, u ocurrió un problema con el líder), inicia el proceso de elección:
- envía el mensaje
ELECTIONa todos los proceso que tengan número mayor. - Si nadie responde, gana la elección y es el nuevo coordinador.
- Si contesta algún proceso con número mayor, este continúa desde el primer paso y finaliza.
- El nuevo coordinador se anuncia con un mensaje
COORDINATOR.
En este algoritmo, siempre gana el proceso con mayor número.

Algoritmo Ring
Los procesos están ordenados lógicamente, cada uno conoce a su sucesor. Cuando un proceso nota que el coordinador falló, entonces:
- Cuando un proceso nota que el coordinador falló, entonces arma un mensaje
ELECTIONque contiene su número de procesos y lo envía al sucesor. - El proceso que recibe el mensaje, agrega su número de proceso a la lista dentro del mensaje y lo envía al sucesor.
- Cuando el proceso original recibe el mensaje, lo cambia a
COORDINATORy lo envía. El nuevo coordinador es el proceso de mayor número de la lista. La lista se mantiene para informar el nuevo anillo. - Cuando este mensaje finaliza la circulación, se elimina del anillo.
