Distributed systems : an algorithmic approach /: an algorithmic approach. (2014)