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