| Preface | p. xi |
| Introduction: Distributed Systems | p. 1 |
| What is a Distributed System? | p. 2 |
| Architecture and Languages | p. 18 |
| Distributed Algorithms | p. 26 |
| Outline of the Book | p. 36 |
| Protocols | p. 41 |
| The Model | p. 43 |
| Transition Systems and Algorithms | p. 44 |
| Proving Properties of Transition Systems | p. 50 |
| Causal Order of Events and Logical Clocks | p. 54 |
| Additional Assumptions, Complexity | p. 64 |
| Exercises to Chapter 2 | p. 71 |
| Communication Protocols | p. 74 |
| The Balanced Sliding-window Protocol | p. 76 |
| A Timer-based Protocol | p. 85 |
| Exercises to Chapter 3 | p. 101 |
| Routing Algorithms | p. 103 |
| Destination-based Routing | p. 105 |
| The All-pairs Shortest-path Problem | p. 110 |
| The Netchange Algorithm | p. 123 |
| Routing with Compact Routing Tables | p. 132 |
| Hierarchical Routing | p. 149 |
| Exercises to Chapter 4 | p. 153 |
| Deadlock-free Packet Switching | p. 155 |
| Introduction | p. 156 |
| Structured Solutions | p. 158 |
| Unstructured Solutions | p. 167 |
| Further Issues | p. 171 |
| Exercises to Chapter 5 | p. 176 |
| Fundamental Algorithms | p. 179 |
| Wave and Traversal Algorithms | p. 181 |
| Definition and Use of Wave Algorithms | p. 182 |
| A Collection of Wave Algorithms | p. 190 |
| Traversal Algorithms | p. 202 |
| Time Complexity: Depth-first Search | p. 208 |
| Remaining Issues | p. 217 |
| Exercises to Chapter 6 | p. 224 |
| Election Algorithms | p. 227 |
| Introduction | p. 228 |
| Ring Networks | p. 232 |
| Arbitrary Networks | p. 245 |
| The Korach-Kutten-Moran Algorithm | p. 260 |
| Exercises to Chapter 7 | p. 266 |
| Termination Detection | p. 268 |
| Preliminaries | p. 270 |
| Computation Trees and Forests | p. 276 |
| Wave-based Solutions | p. 284 |
| Other Solutions | p. 299 |
| Exercises to Chapter 8 | p. 305 |
| Anonymous Networks | p. 307 |
| Preliminaries | p. 309 |
| Deterministic Algorithms | p. 317 |
| A Probabilistic Election Algorithm | p. 323 |
| Computing the Network Size | p. 327 |
| Exercises to Chapter 9 | p. 332 |
| Snapshots | p. 335 |
| Preliminaries | p. 336 |
| Two Snapshot Algorithms | p. 340 |
| Using Snapshot Algorithms | p. 344 |
| Application: Deadlock Detection | p. 349 |
| Exercises to Chapter 10 | p. 355 |
| Sense of Direction and Orientation | p. 356 |
| Introduction and Definitions | p. 357 |
| Election in Rings and Chordal Rings | p. 364 |
| Computing in Hypercubes | p. 374 |
| Complexity-related Issues | p. 386 |
| Conclusions and Open Questions | p. 392 |
| Exercises to Chapter 11 | p. 394 |
| Synchrony in Networks | p. 396 |
| Preliminaries | p. 397 |
| Election in Synchronous Networks | p. 404 |
| Synchronizer Algorithms | p. 408 |
| Application: Breadth-first Search | p. 414 |
| The Archimedean Assumption | p. 420 |
| Exercises to Chapter 12 | p. 421 |
| Fault Tolerance | p. 425 |
| Fault Tolerance in Distributed Systems | p. 427 |
| Reasons for Using Fault-tolerant Algorithms | p. 427 |
| Robust Algorithms | p. 429 |
| Stabilizing Algorithms | p. 435 |
| Fault Tolerance in Asynchronous Systems | p. 437 |
| Impossibility of Consensus | p. 437 |
| Initially Dead Processes | p. 442 |
| Deterministically Achievable Cases | p. 445 |
| Probabilistic Consensus Algorithms | p. 451 |
| Weak Termination | p. 462 |
| Exercises to Chapter 14 | p. 466 |
| Fault Tolerance in Synchronous Systems | p. 469 |
| Synchronous Decision Protocols | p. 470 |
| Authenticating Protocols | p. 481 |
| Clock Synchronization | p. 493 |
| Exercises to Chapter 15 | p. 502 |
| Failure Detection | p. 505 |
| Model and Definitions | p. 506 |
| Solving Consensus with a Weakly Accurate Detector | p. 510 |
| Eventually Weakly Accurate Detectors | p. 511 |
| Implementation of Failure Detectors | p. 515 |
| Exercises to Chapter 16 | p. 518 |
| Stabilization | p. 520 |
| Introduction | p. 521 |
| Graph Algorithms | p. 526 |
| Methodology for Stabilization | p. 535 |
| Exercises to Chapter 17 | p. 547 |
| Appendices | p. 549 |
| Pseudocode Conventions | p. 551 |
| Graphs and Networks | p. 556 |
| References | p. 572 |
| Index | p. 587 |
| Table of Contents provided by Syndetics. All Rights Reserved. |