Distributed Systems: principles and paradigms - TANENBAUM, Andrew S. (Pearson Education, Inc.)