Distributed Systems:principles And paradigms - Tanenbaum, Andrew S