Distributed systems - Tanenbaum, Andrew S & Steen, Maarten Van (PHI Learning Private Ltd, New Delhi, 2012)