Preface |
|
xxv | |
Acknowledgments |
|
xxvii | |
Author |
|
xxix | |
|
Section I Background Materials |
|
|
|
|
3 | (12) |
|
1.1 What is a Distributed System? |
|
|
3 | (1) |
|
1.2 Why Distributed Systems |
|
|
4 | (1) |
|
1.3 Examples of Distributed Systems |
|
|
5 | (3) |
|
1.4 Important Issues in Distributed Systems |
|
|
8 | (2) |
|
|
10 | (1) |
|
1.6 Implementing a Distributed System |
|
|
11 | (1) |
|
1.7 Parallel Versus Distributed Systems |
|
|
12 | (1) |
|
|
13 | (2) |
|
|
13 | (2) |
|
Chapter 2 Interprocess Communication: An Overview |
|
|
15 | (30) |
|
|
15 | (2) |
|
2.1.1 Processes and Threads |
|
|
15 | (1) |
|
2.1.2 Client-Server Model |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
17 | (9) |
|
|
17 | (1) |
|
|
18 | (2) |
|
|
20 | (2) |
|
|
22 | (1) |
|
2.2.5 Transport Layer Protocols |
|
|
23 | (1) |
|
2.2.6 Interprocess Communication Using Sockets |
|
|
24 | (2) |
|
|
26 | (3) |
|
2.3.1 Domain Name Service |
|
|
28 | (1) |
|
2.3.2 Naming Service For Mobile Clients |
|
|
29 | (1) |
|
2.4 Remote Procedure Call |
|
|
29 | (3) |
|
|
30 | (1) |
|
|
31 | (1) |
|
2.5 Remote Method Invocation |
|
|
32 | (1) |
|
|
33 | (1) |
|
2.6.1 Transient and Persistent Messages |
|
|
33 | (1) |
|
|
34 | (1) |
|
|
34 | (1) |
|
|
35 | (1) |
|
2.9 Virtualization: Cloud Computing |
|
|
35 | (5) |
|
2.9.1 Classification of Cloud Services |
|
|
36 | (1) |
|
|
37 | (2) |
|
|
39 | (1) |
|
|
40 | (1) |
|
2.11 Basic Group Communication Services |
|
|
40 | (1) |
|
|
41 | (1) |
|
|
41 | (4) |
|
|
42 | (3) |
|
Section II Foundational Topics |
|
|
|
Chapter 3 Models For Communication |
|
|
45 | (22) |
|
|
45 | (1) |
|
3.2 Message-Passing Model For Interprocess Communication |
|
|
45 | (5) |
|
|
45 | (1) |
|
|
46 | (2) |
|
3.2.3 Synchronous Versus Asynchronous Systems |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
50 | (2) |
|
|
51 | (1) |
|
3.4 Modeling Mobile Agents |
|
|
52 | (1) |
|
3.5 Relationship Among Models |
|
|
53 | (5) |
|
3.5.1 Strong and Weak Models |
|
|
53 | (1) |
|
3.5.2 Implementing a Fifo Channel Using a Non-Fifo Channel |
|
|
54 | (2) |
|
3.5.3 Implementing Message Passing Using Shared Memory |
|
|
56 | (1) |
|
3.5.4 Implementing Shared Memory Using Message Passing |
|
|
56 | (2) |
|
3.5.5 Impossibility Result With Channels |
|
|
58 | (1) |
|
3.6 Classification Based On Special Properties |
|
|
58 | (1) |
|
3.6.1 Reactive Versus Transformational Systems |
|
|
58 | (1) |
|
3.6.2 Named Versus Anonymous Systems |
|
|
59 | (1) |
|
|
59 | (4) |
|
|
63 | (1) |
|
|
63 | (4) |
|
|
64 | (3) |
|
Chapter 4 Representing Distributed Algorithms: Syntax and Semantics |
|
|
67 | (16) |
|
|
67 | (1) |
|
|
67 | (3) |
|
|
70 | (1) |
|
|
71 | (2) |
|
|
73 | (2) |
|
4.6 Central Versus Distributed Schedulers |
|
|
75 | (3) |
|
|
78 | (1) |
|
|
78 | (5) |
|
|
79 | (4) |
|
Chapter 5 Program Correctness |
|
|
83 | (24) |
|
|
83 | (1) |
|
|
84 | (5) |
|
|
84 | (2) |
|
5.2.2 Liveness Properties |
|
|
86 | (3) |
|
|
89 | (3) |
|
5.3.1 Quick Review of Prepositional Logic |
|
|
90 | (1) |
|
5.3.2 Brief Overview of Predicate Logic |
|
|
91 | (1) |
|
5.4 Assertional Reasoning: Proving Safety Properties |
|
|
92 | (1) |
|
5.5 Proving Liveness Properties Using Well-Founded Sets |
|
|
93 | (3) |
|
|
96 | (3) |
|
5.7 Predicate Transformers |
|
|
99 | (2) |
|
|
101 | (2) |
|
|
103 | (4) |
|
|
103 | (4) |
|
Chapter 6 Time in a Distributed System |
|
|
107 | (22) |
|
|
107 | (2) |
|
|
107 | (1) |
|
6.1.2 Sequential and Concurrent Events |
|
|
108 | (1) |
|
|
109 | (3) |
|
|
112 | (1) |
|
6.4 Physical Clock Synchronization |
|
|
113 | (9) |
|
6.4.1 Preliminary Definitions |
|
|
113 | (3) |
|
6.4.2 Clock Reading Error |
|
|
116 | (1) |
|
6.4.3 Algorithms For Internal Synchronization |
|
|
116 | (2) |
|
6.4.4 Algorithms For External Synchronization |
|
|
118 | (4) |
|
|
122 | (1) |
|
|
122 | (7) |
|
|
122 | (7) |
|
Section III Important Paradigms |
|
|
|
Chapter 7 Mutual Exclusion |
|
|
129 | (24) |
|
|
129 | (1) |
|
7.2 Solutions On Message-Passing Systems |
|
|
129 | (8) |
|
|
130 | (2) |
|
7.2.2 Ricart--Agrawala's Solution |
|
|
132 | (1) |
|
|
133 | (4) |
|
7.3 Token-Passing Algorithms |
|
|
137 | (2) |
|
7.3.1 Suzuki--Kasami Algorithm |
|
|
137 | (1) |
|
7.3.2 Raymond's Algorithm |
|
|
138 | (1) |
|
7.4 Solutions On The Shared-Memory Model |
|
|
139 | (3) |
|
7.4.1 Peterson's Algorithm |
|
|
139 | (3) |
|
7.5 Mutual Exclusion Using Special Instructions |
|
|
142 | (2) |
|
7.5.1 Solution Using Test-And-Set |
|
|
142 | (1) |
|
7.5.2 Solution Using Load-Linked and Store-Conditional |
|
|
143 | (1) |
|
7.6 Group Mutual Exclusion |
|
|
144 | (2) |
|
|
146 | (1) |
|
|
147 | (6) |
|
|
148 | (5) |
|
Chapter 8 Distributed Snapshot |
|
|
153 | (16) |
|
|
153 | (2) |
|
8.2 Properties of Consistent Snapshots |
|
|
155 | (1) |
|
8.2.1 Cuts and Consistent Cuts |
|
|
155 | (1) |
|
8.3 Chandy-Lamport Algorithm |
|
|
156 | (6) |
|
|
159 | (1) |
|
8.3.1.1 Example 1: Counting of Tokens |
|
|
159 | (1) |
|
8.3.1.2 Example 2: Communicating State Machines |
|
|
160 | (2) |
|
|
162 | (1) |
|
8.5 Distributed Debugging |
|
|
163 | (2) |
|
8.5.1 Constructing The State Lattice |
|
|
164 | (1) |
|
8.5.2 Evaluating Predicates |
|
|
164 | (1) |
|
|
165 | (1) |
|
|
165 | (4) |
|
|
165 | (4) |
|
Chapter 9 Global State Collection |
|
|
169 | (20) |
|
|
169 | (1) |
|
9.2 Elementary Algorithm For All-To-All Broadcasting |
|
|
170 | (2) |
|
9.3 Termination-Detection Algorithms |
|
|
172 | (8) |
|
9.3.1 Dijkstra--Scholten Algorithm |
|
|
173 | (3) |
|
9.3.2 Termination Detection On a Unidirectional Ring |
|
|
176 | (3) |
|
9.3.3 Credit-Recovery Algorithm For Termination Detection |
|
|
179 | (1) |
|
|
180 | (2) |
|
9.4.1 Propagation of Information With Feedback |
|
|
181 | (1) |
|
9.5 Distributed Deadlock Detection |
|
|
182 | (5) |
|
9.5.1 Resource Deadlock and Communication Deadlock |
|
|
182 | (2) |
|
9.5.2 Detection of Resource Deadlock |
|
|
184 | (1) |
|
9.5.3 Detection of Communication Deadlock |
|
|
185 | (2) |
|
|
187 | (1) |
|
|
187 | (2) |
|
|
188 | (1) |
|
Chapter 10 Graph Algorithms |
|
|
189 | (38) |
|
|
189 | (1) |
|
|
190 | (11) |
|
10.2.1 Computation of Shortest Path |
|
|
190 | (2) |
|
10.2.1.1 Complexity Analysis |
|
|
192 | (1) |
|
10.2.1.2 Chandy--Misra Modification of The Shortest Path Algorithm |
|
|
193 | (1) |
|
10.2.2 Distance-Vector Routing |
|
|
194 | (1) |
|
10.2.3 Link-State Routing |
|
|
195 | (2) |
|
|
197 | (1) |
|
10.2.4.1 Interval Routing Rule |
|
|
198 | (2) |
|
|
200 | (1) |
|
|
201 | (9) |
|
10.3.1 Spanning Tree Construction |
|
|
202 | (1) |
|
10.3.2 Tarry's Graph Traversal Algorithm |
|
|
203 | (1) |
|
10.3.3 Minimum Spanning Tree Construction |
|
|
204 | (2) |
|
10.3.3.1 Overall Strategy |
|
|
206 | (1) |
|
10.3.3.2 Detecting The Least Weight Outgoing Edge |
|
|
207 | (3) |
|
10.3.3.3 Message Complexity |
|
|
210 | (1) |
|
|
210 | (4) |
|
10.4.1 (D + 1)-Coloring Algorithm |
|
|
211 | (1) |
|
10.4.2 6-Coloring of Planar Graphs |
|
|
212 | (2) |
|
10.5 Cole--Vishkin Reduction Algorithm For Tree Coloring |
|
|
214 | (4) |
|
10.6 Maximal Independent Set: Luby's Algorithm |
|
|
218 | (4) |
|
|
222 | (1) |
|
|
223 | (4) |
|
|
223 | (4) |
|
Chapter 11 Coordination Algorithms |
|
|
227 | (22) |
|
|
227 | (1) |
|
|
227 | (9) |
|
|
228 | (2) |
|
11.2.2 Maxima Finding On a Ring |
|
|
230 | (1) |
|
11.2.2.1 Chang--Roberts Algorithm |
|
|
230 | (1) |
|
11.2.2.2 Franklin's Algorithm |
|
|
231 | (1) |
|
11.2.2.3 Peterson's Algorithm |
|
|
232 | (2) |
|
11.2.3 Election in Arbitrary Networks |
|
|
234 | (1) |
|
11.2.4 Election in Anonymous Networks |
|
|
235 | (1) |
|
|
236 | (7) |
|
|
236 | (1) |
|
11.3.2 Awerbuch's Synchronizers |
|
|
237 | (1) |
|
|
237 | (2) |
|
|
239 | (1) |
|
|
240 | (2) |
|
11.3.2.4 Performance of Synchronizer-Based Algorithms |
|
|
242 | (1) |
|
|
243 | (1) |
|
|
243 | (6) |
|
|
244 | (5) |
|
Section IV Faults and Fault-Tolerant Systems |
|
|
|
Chapter 12 Fault-Tolerant Systems |
|
|
249 | (22) |
|
|
249 | (1) |
|
12.2 Classification of Faults |
|
|
250 | (3) |
|
12.3 Specification of Faults |
|
|
253 | (2) |
|
12.4 Fault-Tolerant Systems |
|
|
255 | (3) |
|
|
255 | (1) |
|
12.4.2 Nonmasking Tolerance |
|
|
255 | (1) |
|
12.4.3 Fail-Safe Tolerance |
|
|
256 | (1) |
|
12.4.4 Graceful Degradation |
|
|
257 | (1) |
|
12.4.5 Detection of Failures in Synchronous Systems |
|
|
257 | (1) |
|
12.5 Tolerating Crash Failures |
|
|
258 | (1) |
|
12.5.1 Double and Triple Modular Redundancy |
|
|
258 | (1) |
|
12.6 Tolerating Omission Failures |
|
|
259 | (6) |
|
12.6.1 Stenning's Protocol |
|
|
260 | (1) |
|
12.6.2 Sliding Window Protocol |
|
|
261 | (2) |
|
12.6.3 Alternating Bit Protocol |
|
|
263 | (1) |
|
|
264 | (1) |
|
|
265 | (1) |
|
|
266 | (5) |
|
|
267 | (4) |
|
Chapter 13 Distributed Consensus |
|
|
271 | (26) |
|
|
271 | (2) |
|
13.2 Consensus in Asynchronous Systems |
|
|
273 | (4) |
|
13.2.1 Bivalent and Univalent States |
|
|
273 | (4) |
|
13.3 Consensus in Synchronous Systems: Byzantine Generals Problem |
|
|
277 | (9) |
|
13.3.1 Solution With No Traitor |
|
|
277 | (1) |
|
13.3.2 Solution With Traitors: Interactive Consistency Criteria |
|
|
277 | (1) |
|
13.3.3 Consensus With Oral Messages |
|
|
278 | (1) |
|
13.3.3.1 Impossibility Result |
|
|
279 | (1) |
|
|
280 | (4) |
|
13.3.4 Consensus Using Signed Messages |
|
|
284 | (2) |
|
|
286 | (3) |
|
|
287 | (1) |
|
13.4.2 Liveness Properties |
|
|
288 | (1) |
|
|
289 | (5) |
|
13.5.1 Solving Consensus Using Failure Detectors |
|
|
291 | (1) |
|
13.5.1.1 Consensus Using P |
|
|
292 | (1) |
|
13.5.1.2 Consensus Using S |
|
|
293 | (1) |
|
|
293 | (1) |
|
13.5.1.4 Implementing a Failure Detector |
|
|
294 | (1) |
|
|
294 | (1) |
|
|
294 | (3) |
|
|
295 | (2) |
|
Chapter 14 Distributed Transactions |
|
|
297 | (20) |
|
|
297 | (1) |
|
14.2 Classification of Transactions |
|
|
298 | (1) |
|
|
298 | (1) |
|
14.2.2 Nested Transactions |
|
|
299 | (1) |
|
14.2.3 Distributed Transactions |
|
|
299 | (1) |
|
14.3 Implementing Transactions |
|
|
299 | (2) |
|
14.4 Concurrency Control and Serializability |
|
|
301 | (3) |
|
14.4.1 Testing For Serializability |
|
|
302 | (1) |
|
|
302 | (2) |
|
14.4.3 Concurrency Control Via Time Stamp Ordering |
|
|
304 | (1) |
|
14.5 Atomic Commit Protocols |
|
|
304 | (5) |
|
|
306 | (1) |
|
|
306 | (2) |
|
14.5.3 Three-Phase Commit |
|
|
308 | (1) |
|
14.6 Recovery From Failures |
|
|
309 | (4) |
|
|
309 | (2) |
|
14.6.2 Checkpointing and Rollback Recovery |
|
|
311 | (1) |
|
|
312 | (1) |
|
|
313 | (1) |
|
|
314 | (3) |
|
|
314 | (3) |
|
Chapter 15 Group Communication |
|
|
317 | (22) |
|
|
317 | (1) |
|
|
318 | (1) |
|
|
319 | (2) |
|
15.3.1 Reverse Path Forwarding |
|
|
320 | (1) |
|
15.4 Application Layer Multicast |
|
|
321 | (1) |
|
|
322 | (4) |
|
15.5.1 Implementing Total Order Multicast |
|
|
323 | (1) |
|
15.5.1.1 Implementation Using a Sequencer |
|
|
323 | (1) |
|
15.5.1.2 Distributed Implementation |
|
|
324 | (1) |
|
15.5.2 Implementing Causal Order Multicast |
|
|
325 | (1) |
|
|
326 | (3) |
|
15.6.1 Scalable Reliable Multicast |
|
|
327 | (1) |
|
15.6.2 Reliable Ordered Multicast |
|
|
328 | (1) |
|
|
329 | (3) |
|
15.7.1 View-Synchronous Group Communication |
|
|
331 | (1) |
|
|
332 | (2) |
|
|
334 | (1) |
|
15.10 Bibliographic Notes |
|
|
334 | (5) |
|
|
335 | (4) |
|
Chapter 16 Replicated Data Management |
|
|
339 | (26) |
|
|
339 | (1) |
|
16.1.1 Reliability Versus Availability |
|
|
339 | (1) |
|
16.2 Architecture of Replicated Data Management |
|
|
340 | (4) |
|
16.2.1 Passive Versus Active Replication |
|
|
341 | (2) |
|
16.2.2 Fault-Tolerant State Machines |
|
|
343 | (1) |
|
16.3 Data-Centric Consistency Models |
|
|
344 | (5) |
|
16.3.1 Strict Consistency |
|
|
345 | (1) |
|
|
346 | (1) |
|
16.3.3 Sequential Consistency |
|
|
346 | (1) |
|
16.3.4 Causal Consistency |
|
|
347 | (1) |
|
|
348 | (1) |
|
16.4 Client-Centric Consistency Protocols |
|
|
349 | (2) |
|
16.4.1 Eventual Consistency |
|
|
349 | (1) |
|
16.4.2 Consistency Models For Mobile Clients |
|
|
350 | (1) |
|
16.4.2.1 Read-After-Read Consistency |
|
|
350 | (1) |
|
16.4.2.2 Write-After-Write Consistency |
|
|
350 | (1) |
|
16.4.2.3 Read-After-Write Consistency |
|
|
351 | (1) |
|
16.4.2.4 Write-After-Read Consistency |
|
|
351 | (1) |
|
16.5 Implementation of Data-Centric Consistency Models |
|
|
351 | (1) |
|
16.6 Quorum-Based Protocols |
|
|
352 | (2) |
|
|
354 | (1) |
|
16.8 Brewer's Cap Theorem |
|
|
355 | (1) |
|
|
356 | (5) |
|
16.9.1 Replication Management in Coda |
|
|
356 | (1) |
|
16.9.2 Replication Management in Bayou |
|
|
357 | (2) |
|
|
359 | (2) |
|
|
361 | (1) |
|
16.11 Bibliographic Notes |
|
|
361 | (4) |
|
|
362 | (3) |
|
Chapter 17 Self-Stabilizing Systems |
|
|
365 | (26) |
|
|
365 | (2) |
|
17.2 Theoretical Foundations |
|
|
367 | (1) |
|
17.3 Stabilizing Mutual Exclusion |
|
|
368 | (5) |
|
17.3.1 Mutual Exclusion On a Unidirectional Ring |
|
|
368 | (2) |
|
17.3.2 Mutual Exclusion On a Bidirectional Array |
|
|
370 | (3) |
|
17.4 Stabilizing Graph Coloring |
|
|
373 | (2) |
|
17.5 Stabilizing Spanning Tree Protocol |
|
|
375 | (2) |
|
17.6 Stabilizing Maximal Matching |
|
|
377 | (2) |
|
|
379 | (3) |
|
17.8 Stabilizing Clock Phase Synchronization |
|
|
382 | (1) |
|
|
383 | (1) |
|
17.10 Bibliographic Notes |
|
|
384 | (7) |
|
|
385 | (6) |
|
Section V Real-World Issues |
|
|
|
Chapter 18 Distributed Discrete-Event Simulation |
|
|
391 | (12) |
|
|
391 | (2) |
|
18.1.1 Event-Driven Simulation |
|
|
391 | (2) |
|
18.2 Distributed Simulation |
|
|
393 | (3) |
|
|
393 | (3) |
|
18.2.2 Correctness Issues |
|
|
396 | (1) |
|
18.3 Conservative Simulation |
|
|
396 | (1) |
|
18.4 Optimistic Simulation and Time Warp |
|
|
397 | (2) |
|
18.4.1 Global Virtual Time |
|
|
398 | (1) |
|
|
399 | (1) |
|
|
399 | (4) |
|
|
400 | (3) |
|
Chapter 19 Security in Distributed Systems |
|
|
403 | (32) |
|
|
403 | (1) |
|
|
404 | (1) |
|
19.3 Common Security Attacks |
|
|
404 | (2) |
|
|
404 | (1) |
|
|
405 | (1) |
|
|
405 | (1) |
|
|
405 | (1) |
|
|
405 | (1) |
|
19.3.6 Malicious Software |
|
|
405 | (1) |
|
|
406 | (1) |
|
|
406 | (1) |
|
|
406 | (1) |
|
|
406 | (2) |
|
19.5 Secret Key Cryptosystem |
|
|
408 | (6) |
|
19.5.1 Confusion and Diffusion |
|
|
408 | (1) |
|
|
409 | (2) |
|
|
411 | (1) |
|
|
411 | (1) |
|
|
411 | (1) |
|
|
412 | (1) |
|
|
413 | (1) |
|
19.6 Public Key Cryptosystems |
|
|
414 | (4) |
|
19.6.1 Rivest--Shamir--Adleman Cryptosystem |
|
|
414 | (3) |
|
19.6.2 Elgamal Cryptosystem |
|
|
417 | (1) |
|
|
418 | (1) |
|
19.7.1 Signatures in Secret-Key Cryptosystems |
|
|
418 | (1) |
|
19.7.2 Signatures in Public-Key Cryptosystems |
|
|
418 | (1) |
|
|
419 | (1) |
|
|
419 | (1) |
|
19.9 Elliptic Curve Cryptography |
|
|
420 | (1) |
|
19.10 Authentication Server |
|
|
421 | (2) |
|
19.10.1 Authentication Service For Secret-Key Cryptosystems |
|
|
422 | (1) |
|
19.10.2 Authentication Server For Public-Key Systems |
|
|
422 | (1) |
|
19.11 Digital Certificates |
|
|
423 | (1) |
|
|
424 | (4) |
|
|
424 | (1) |
|
19.12.2 Pretty Good Privacy |
|
|
425 | (1) |
|
19.12.3 Secure Socket Layer |
|
|
426 | (2) |
|
19.13 Virtual Private Networks and Firewalls |
|
|
428 | (1) |
|
19.13.1 Virtual Private Network |
|
|
428 | (1) |
|
|
429 | (1) |
|
|
429 | (1) |
|
|
430 | (1) |
|
19.16 Bibliographic Notes |
|
|
430 | (5) |
|
|
431 | (4) |
|
Chapter 20 Sensor Networks |
|
|
435 | (30) |
|
|
435 | (1) |
|
20.2 Architecture of Sensor Nodes |
|
|
436 | (6) |
|
|
436 | (1) |
|
20.2.2 Zigbee-Enabled Sensor Nodes |
|
|
437 | (2) |
|
20.2.3 Tinyos&Reg; Operating System |
|
|
439 | (3) |
|
20.3 Challenges in Wireless Sensor Networks |
|
|
442 | (3) |
|
20.3.1 Energy Conservation |
|
|
442 | (1) |
|
|
443 | (1) |
|
|
444 | (1) |
|
20.3.4 Time Synchronization |
|
|
444 | (1) |
|
20.3.5 Location Management |
|
|
444 | (1) |
|
|
444 | (1) |
|
|
445 | (1) |
|
|
445 | (3) |
|
20.4.1 Directed Diffusion |
|
|
445 | (1) |
|
20.4.2 Cluster-Based Routing |
|
|
446 | (1) |
|
|
446 | (1) |
|
|
447 | (1) |
|
20.4.3 Metadata-Based Routing: Spin |
|
|
448 | (1) |
|
20.5 Time Synchronization Using Reference Broadcast |
|
|
448 | (3) |
|
20.5.1 Reference Broadcast |
|
|
449 | (2) |
|
20.6 Localization Algorithms |
|
|
451 | (1) |
|
20.6.1 Rssi-Based Ranging |
|
|
451 | (1) |
|
20.6.2 Ranging Using Time Difference of Arrival |
|
|
451 | (1) |
|
20.6.3 Anchor-Based Ranging |
|
|
451 | (1) |
|
20.7 Security in Sensor Networks |
|
|
452 | (3) |
|
20.7.1 Spin For Data Security |
|
|
453 | (1) |
|
20.7.1.1 Overview of Snep |
|
|
453 | (1) |
|
20.7.1.2 Overview of ΜTesla |
|
|
454 | (1) |
|
20.7.2 Attacks On Routing |
|
|
454 | (1) |
|
|
455 | (1) |
|
|
455 | (4) |
|
20.8.1 Health-Care Applications |
|
|
455 | (1) |
|
20.8.2 Environment Monitoring and Control |
|
|
456 | (1) |
|
|
456 | (1) |
|
20.8.4 Pursuer--Evader Game |
|
|
456 | (3) |
|
|
459 | (1) |
|
20.10 Bibliographic Notes |
|
|
459 | (6) |
|
|
460 | (5) |
|
Chapter 21 Social and Peer-To-Peer Networks |
|
|
465 | (36) |
|
21.1 Introduction To Social Networks |
|
|
465 | (2) |
|
21.1.1 Milgram's Experiment |
|
|
465 | (2) |
|
21.2 Metrics of Social Networks |
|
|
467 | (1) |
|
21.2.1 Clustering Coefficient |
|
|
467 | (1) |
|
|
468 | (1) |
|
21.3 Modeling Social Networks |
|
|
468 | (5) |
|
21.3.1 Erdos--Renyi Model |
|
|
468 | (1) |
|
|
469 | (1) |
|
|
470 | (3) |
|
21.4 Centrality Measures in Social Networks |
|
|
473 | (2) |
|
|
473 | (1) |
|
21.4.2 Closeness Centrality |
|
|
473 | (1) |
|
21.4.3 Betweenness Centrality |
|
|
474 | (1) |
|
|
475 | (1) |
|
21.5.1 Girvan--Newman Algorithm |
|
|
475 | (1) |
|
21.6 Introduction To Peer-To-Peer Networks |
|
|
476 | (1) |
|
21.7 First-Generation P2P Systems |
|
|
477 | (2) |
|
|
477 | (1) |
|
|
478 | (1) |
|
21.8 Second-Generation P2P Systems |
|
|
479 | (8) |
|
|
481 | (1) |
|
|
481 | (3) |
|
21.8.3 Content-Addressable Network |
|
|
484 | (1) |
|
|
485 | (2) |
|
21.9 Koorde and De Bruijn Graph |
|
|
487 | (1) |
|
|
488 | (3) |
|
21.11 Replication Management |
|
|
491 | (1) |
|
21.12 Bittorrent and Free Riding |
|
|
492 | (2) |
|
21.13 Censorship Resistance, Anonymity |
|
|
494 | (1) |
|
|
494 | (1) |
|
21.15 Bibliographic Notes |
|
|
495 | (6) |
|
|
496 | (5) |
References |
|
501 | (12) |
Index |
|
513 | |