Distributed computing : principles, algorithms, and systems - Kshemkalyani, Ajay D. (Cambridge University Press, 2008)