Distributed computing: fundamentals, simulations and advanced topics. - ATTIYA, Hagit. (McGraw-Hill)