Elements of distributed computing - Garg, Vijay K. (Wiley-Interscience, 2002)