Distributed systems : principles and paradigms - Tanenbaum, Andrew S. 1944- (Pearson, 2007)