An implementation of the gossip protocol for failure detection in distributed systems as a part of a course project in distributed systems