Distributed systems : concepts and design - Coulouris, George F.; Dollimore, Jean; Kindberg, Tim; Blair, Gordon (Pearson, 2017)