Distributed Algorithms for Message-Passing Systems - Raynal (Springer Berlin Heidelberg, 2013)