Distributed systems : principles and paradigms - Tanenbaum, Andrew Stuart 1944- (xx, 2016)