Distributed Systems: An Algorithmic Approach (Chapman & Hall/CRC Computer and Information Science Series)