Problem: Consider a distributed system composed of n processes ∏={p1, p2... pn} with unique identifiers that exchange messages through perfect point-to-point links.
Processes are connected through a directed ring (i.e., each process pi can exchange messages only with processes and pi+1(mod n)). Processes may crash and each process is equipped with a perfect oracle (having the interface new_next(p)) reporting a new neighbor when the previous one is failing.
Write the pseudo-code of an algorithm implementing a Leader Election primitive at every process pi.