Intuitively, the algorithm works as follows:
- Processors with status set to contending
(processors that have a chance to be elected ring leader)
start the algorithm spontaneously, due to a start signal from an application or
user. Processors which start spontaneously send their identifier to the processor on their right.
- Processors with status set to lost either
started the algorithm when they received a message from the processor on their left or
were initially contending until they received a message with a higher value than
their current maxId. These processors
relay messages sent by other processors
if that message contains the highest identifier seen.
- The processor which receives its own identifier from the node on its left is elected the
leader. This processor sets its status to won.