Distributed systems : Principles and Paradigms - Tanenbaum, Andrew S.; Steen, Maarten Van (Pearson Prentice Hall, 2007)