Distributed systems: principles and paradigms - Tanenbaum, Andrew S. (Prentice-Hall of India, 2002)