Distributed systems : concepts and design - Coulouris, George F.; Dollimore, Jean; Kindberg, Tim (Addison-Wesley, 2005)