Distributed systems : concepts and design - Coulouris, George F. (International computer science series, 2005)