Principles of Distributed Systems,
V. K. Garg,