Description
Distributed computing has important applications in wireless and mobile networks, and the Internet. This textbook presents the fundamental principles, models and practical algorithms underlying all aspects of distributed computing. Illustrations and simple ideas will be used to present the algorithms and explain the main concepts, rather than complex proofs. Whilst the focus is primarily on the foundations and algorithms of distributed computing, practical systems-like problems such as mutual exclusion, deadlock detection and leader election, will also be addressed in detail. Some of the most interesting recent developments in the field - sensor networks, mobile computing, peer-to-peer computing and network security - are also covered. With new techniques of algorithm design, worked examples, exercises problems and solutions, this textbook is ideal for advanced undergraduates and graduate students of electrical and computer engineering and computer science, as well as practitioners working in data networking, wireless networking, and sensor networks.
Contents
1. Introduction;
2. A model of distributed computations;
3. Logical time;
4. Global state and snapshot recording algorithms;
5. Terminology and basic algorithms;
6. Message ordering and group communication;
7. Termination detection;
8. Reasoning with knowledge;
9. Distributed mutual exclusion algorithms;
10. Deadlock detection in distributed systems;
11. Global predicate detection;
12. Distributed shared memory;
13. Checkpointing and rollback recovery;
14. Consensus and agreement algorithms;
15. Failure detectors;
16. Authentication in distributed system;
17. Self-stabilization;
18. Peer-to-peer computing and overlay graphs;
Index.