Distributed systems: concepts and design - Coulouris, George (Pearson Education Inc., 2002)