Distributed systems : concepts and design - Coulouris, George (Pearson Education, 2005)