Preface |
|
xi | |
|
|
1 | (2) |
|
|
3 | (12) |
|
|
3 | (2) |
|
|
5 | (5) |
|
|
10 | (2) |
|
|
12 | (3) |
|
|
15 | (8) |
|
3.1 Chandy-Lamport Algorithm |
|
|
16 | (1) |
|
|
17 | (1) |
|
3.3 Peterson-Kearns Rollback Recovery Algorithm |
|
|
18 | (3) |
|
|
21 | (2) |
|
|
23 | (8) |
|
|
23 | (3) |
|
|
26 | (2) |
|
|
28 | (1) |
|
|
29 | (2) |
|
|
31 | (10) |
|
|
31 | (1) |
|
5.2 Bracha-Toueg Algorithm |
|
|
32 | (7) |
|
|
39 | (2) |
|
|
41 | (10) |
|
6.1 Dijkstra-Scholten Algorithm |
|
|
42 | (1) |
|
|
43 | (2) |
|
|
45 | (1) |
|
|
46 | (1) |
|
6.5 Fault-Tolerant Weight Throwing |
|
|
47 | (2) |
|
|
49 | (2) |
|
|
51 | (6) |
|
|
51 | (3) |
|
7.2 Garbage Collection Implies Termination Detection |
|
|
54 | (1) |
|
|
54 | (1) |
|
|
55 | (2) |
|
|
57 | (18) |
|
8.1 Chandy-Misra Algorithm |
|
|
57 | (2) |
|
8.2 Merlin-Segall Algorithm |
|
|
59 | (3) |
|
|
62 | (2) |
|
8.4 Frederickson's Algorithm |
|
|
64 | (4) |
|
|
68 | (2) |
|
8.6 Routing on the Internet |
|
|
70 | (1) |
|
|
71 | (4) |
|
|
75 | (14) |
|
|
75 | (4) |
|
9.2 Tree Election Algorithm |
|
|
79 | (1) |
|
9.3 Echo Algorithm with Extinction |
|
|
80 | (1) |
|
9.4 Minimum Spanning Trees |
|
|
81 | (5) |
|
|
86 | (3) |
|
|
89 | (12) |
|
10.1 Impossibility of Election in Anonymous Rings |
|
|
89 | (1) |
|
10.2 Probabilistic Algorithms |
|
|
90 | (1) |
|
10.3 Itai-Rodeh Election Algorithm for Rings |
|
|
91 | (1) |
|
10.4 Echo Algorithm with Extinction for Anonymous Networks |
|
|
92 | (2) |
|
10.5 Computing the Size of an Anonymous Ring Is Impossible |
|
|
94 | (1) |
|
10.6 Itai-Rodeh Ring Size Algorithm |
|
|
95 | (2) |
|
10.7 Election in IEEE 1394 |
|
|
97 | (1) |
|
|
98 | (3) |
|
|
101 | (8) |
|
11.1 Awerbuch's Synchronizer |
|
|
101 | (3) |
|
11.2 Bounded Delay Networks with Local Clocks |
|
|
104 | (1) |
|
11.3 Election in Anonymous Rings with Bounded Expected Delay |
|
|
105 | (3) |
|
|
108 | (1) |
|
12 Consensus with Crash Failures |
|
|
109 | (12) |
|
12.1 Impossibility of 1-Crash Consensus |
|
|
110 | (1) |
|
12.2 Bracha-Toueg Crash Consensus Algorithm |
|
|
111 | (2) |
|
|
113 | (1) |
|
12.4 Consensus with a Weakly Accurate Failure Detector |
|
|
114 | (1) |
|
12.5 Chandra-Toueg Algorithm |
|
|
114 | (3) |
|
12.6 Consensus for Shared Memory |
|
|
117 | (1) |
|
|
118 | (3) |
|
13 Consensus with Byzantine Failures |
|
|
121 | (14) |
|
13.1 Bracha-Toueg Byzantine Consensus Algorithm |
|
|
121 | (4) |
|
13.2 Mahaney-Schneider Synchronizer |
|
|
125 | (2) |
|
13.3 Lamport-Shostak-Pease Broadcast Algorithm |
|
|
127 | (3) |
|
13.4 Lamport-Shostak-Pease Authentication Algorithm |
|
|
130 | (2) |
|
|
132 | (3) |
|
|
135 | (22) |
|
14.1 Ricart-Agrawala Algorithm |
|
|
136 | (1) |
|
|
137 | (3) |
|
14.3 Agrawal--El Abbadi Algorithm |
|
|
140 | (2) |
|
14.4 Peterson's Algorithm |
|
|
142 | (3) |
|
|
145 | (2) |
|
|
147 | (1) |
|
14.7 Test-and-Test-and-Set Lock |
|
|
148 | (1) |
|
|
149 | (4) |
|
|
153 | (4) |
|
|
157 | (10) |
|
15.1 Sense-Reversing Barrier |
|
|
157 | (1) |
|
15.2 Combining Tree Barrier |
|
|
158 | (3) |
|
|
161 | (2) |
|
15.4 Dissemination Barrier |
|
|
163 | (2) |
|
|
165 | (2) |
|
16 Distributed Transactions |
|
|
167 | (10) |
|
|
168 | (3) |
|
16.2 Two- and Three-Phase Commit Protocols |
|
|
171 | (2) |
|
16.3 Transactional Memory |
|
|
173 | (3) |
|
|
176 | (1) |
|
|
177 | (10) |
|
17.1 Dijkstra's Token Ring for Mutual Exclusion |
|
|
177 | (3) |
|
17.2 Arora-Gouda Spanning Tree Algorithm |
|
|
180 | (3) |
|
17.3 Afek-Kutten-Yung Spanning Tree Algorithm |
|
|
183 | (2) |
|
|
185 | (2) |
|
|
187 | (14) |
|
|
187 | (4) |
|
|
191 | (3) |
|
18.3 Quantum Cryptography |
|
|
194 | (4) |
|
|
198 | (3) |
|
|
201 | (10) |
|
|
201 | (1) |
|
|
202 | (5) |
|
19.3 Resource Access Control |
|
|
207 | (2) |
|
|
209 | (2) |
|
A Appendix: Pseudocode Descriptions |
|
|
211 | (30) |
|
A.1 Chandy-Lamport Snapshot Algorithm |
|
|
212 | (1) |
|
A.2 Lai-Yang Snapshot Algorithm |
|
|
212 | (2) |
|
A.3 Cidon's Depth-First Search Algorithm |
|
|
214 | (1) |
|
|
215 | (1) |
|
|
215 | (1) |
|
A.6 Shavit-Francez Termination Detection Algorithm |
|
|
216 | (1) |
|
A.7 Rana's Termination Detection Algorithm |
|
|
217 | (1) |
|
A.8 Safra's Termination Detection Algorithm |
|
|
218 | (1) |
|
A.9 Weight-Throwing Termination Detection Algorithm |
|
|
219 | (1) |
|
A.10 Chandy-Misra Routing Algorithm |
|
|
220 | (1) |
|
A.11 Merlin-Segall Routing Algorithm |
|
|
221 | (1) |
|
A.12 Toueg's Routing Algorithm |
|
|
222 | (1) |
|
A.13 Frederickson's Breadth-First Search Algorithm |
|
|
223 | (2) |
|
A.14 Dolev-Klawe-Rodeh Election Algorithm |
|
|
225 | (1) |
|
A.15 Gallager-Humblet-Spira Minimum Spanning Tree Algorithm |
|
|
226 | (3) |
|
A.16 IEEE 1394 Election Algorithm |
|
|
229 | (1) |
|
A.17 Awerbuch's Synchronizer |
|
|
230 | (1) |
|
A.18 Ricart-Agrawala Mutual Exclusion Algorithm |
|
|
231 | (1) |
|
A.19 Raymond's Mutual Exclusion Algorithm |
|
|
232 | (2) |
|
A.20 Agrawal--El Abbadi Mutual Exclusion Algorithm |
|
|
234 | (1) |
|
|
235 | (1) |
|
A.22 CLH Queue Lock with Timeouts |
|
|
236 | (1) |
|
A.23 Afek-Kutten-Yung Spanning Tree Algorithm |
|
|
237 | (4) |
References |
|
241 | (6) |
Index |
|
247 | |