Distributed Systems : Principles and paradigms - TANENBAUM, Andrew S. (Prentice Hall, 2002)