Distributed Computing : Principles, Algorithms, and Systems - Kshemkalyani, Ajay D.; Singhal, Mukesh (Cambridge University Press, 2008)