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