Distributed Computing by R. Guerraoui