Introduction to Distributed Algorithms: Election Algorithms