Preface |
|
xvii | |
|
|
1 | (56) |
|
Definition of a Distributed System |
|
|
2 | (2) |
|
|
4 | (12) |
|
Connecting Users and Resources |
|
|
4 | (1) |
|
|
5 | (3) |
|
|
8 | (2) |
|
|
10 | (6) |
|
|
16 | (6) |
|
|
17 | (2) |
|
Homogeneous Multicomputer Systems |
|
|
19 | (2) |
|
Heterogeneous Multicomputer Systems |
|
|
21 | (1) |
|
|
22 | (20) |
|
Distributed Operating Systems |
|
|
22 | (11) |
|
Network Operating Systems |
|
|
33 | (3) |
|
|
36 | (6) |
|
|
42 | (11) |
|
|
42 | (4) |
|
|
46 | (4) |
|
Client-Server Architectures |
|
|
50 | (3) |
|
|
53 | (4) |
|
|
57 | (78) |
|
|
58 | (10) |
|
|
61 | (2) |
|
|
63 | (3) |
|
|
66 | (2) |
|
|
68 | (17) |
|
|
69 | (4) |
|
|
73 | (4) |
|
|
77 | (3) |
|
|
80 | (5) |
|
|
85 | (14) |
|
|
86 | (2) |
|
Binding a Client to an Object |
|
|
88 | (2) |
|
Static versus Dynamic Remote Method Invocations |
|
|
90 | (1) |
|
|
91 | (2) |
|
Example 1: DCE Remote Objects |
|
|
93 | (2) |
|
|
95 | (4) |
|
Message-Oriented Communication |
|
|
99 | (20) |
|
Persistence and Synchronicity in Communication |
|
|
99 | (5) |
|
Message-Oriented Transient Communication |
|
|
104 | (4) |
|
Message-Oriented Persistent Communication |
|
|
108 | (7) |
|
|
115 | (4) |
|
Stream-Oriented Communication |
|
|
119 | (11) |
|
Support for Continous Media |
|
|
120 | (3) |
|
Streams and Quality of Service |
|
|
123 | (4) |
|
|
127 | (3) |
|
|
130 | (5) |
|
|
135 | (48) |
|
|
136 | (9) |
|
|
136 | (5) |
|
Threads in Distributed Systems |
|
|
141 | (4) |
|
|
145 | (4) |
|
|
145 | (2) |
|
Client-Side Software for Distribution Transparency |
|
|
147 | (2) |
|
|
149 | (9) |
|
|
149 | (3) |
|
|
152 | (6) |
|
|
158 | (15) |
|
Approaches to Code Migration |
|
|
158 | (5) |
|
Migration and Local Resources |
|
|
163 | (2) |
|
Migration in Heterogeneous Systems |
|
|
165 | (3) |
|
|
168 | (5) |
|
|
173 | (5) |
|
Software Agents in Distributed Systems |
|
|
173 | (2) |
|
|
175 | (3) |
|
|
178 | (5) |
|
|
183 | (58) |
|
|
184 | (26) |
|
Names, Identifiers, and Addresses |
|
|
184 | (5) |
|
|
189 | (5) |
|
The Implementation of a Name Space |
|
|
194 | (7) |
|
Example: The Domain Name System |
|
|
201 | (5) |
|
|
206 | (4) |
|
|
210 | (15) |
|
Naming versus Locating Entities |
|
|
210 | (2) |
|
|
212 | (4) |
|
|
216 | (1) |
|
|
217 | (8) |
|
Removing Unreferenced Entities |
|
|
225 | (13) |
|
The Problem of Unreferenced Objects |
|
|
225 | (2) |
|
|
227 | (4) |
|
|
231 | (1) |
|
Identifying Unreachable Entities |
|
|
232 | (6) |
|
|
238 | (3) |
|
|
241 | (50) |
|
|
242 | (10) |
|
|
243 | (3) |
|
Clock Synchronization Algorithms |
|
|
246 | (5) |
|
Use of Synchronized Clocks |
|
|
251 | (1) |
|
|
252 | (6) |
|
|
252 | (4) |
|
|
256 | (2) |
|
|
258 | (4) |
|
|
262 | (3) |
|
|
262 | (1) |
|
|
263 | (2) |
|
|
265 | (6) |
|
|
265 | (1) |
|
|
266 | (3) |
|
|
269 | (1) |
|
A Comparison of the Three Algorithms |
|
|
270 | (1) |
|
|
271 | (17) |
|
|
272 | (3) |
|
Classification of Transactions |
|
|
275 | (3) |
|
|
278 | (2) |
|
|
280 | (8) |
|
|
288 | (3) |
|
Consistency and Replication |
|
|
291 | (70) |
|
|
292 | (5) |
|
Reasons for Republication |
|
|
292 | (1) |
|
|
293 | (3) |
|
Replication as Scaling Technique |
|
|
296 | (1) |
|
Data-Centric Consistency Models |
|
|
297 | (19) |
|
|
298 | (2) |
|
Linerizability and Sequential Consistency |
|
|
300 | (5) |
|
|
305 | (1) |
|
|
306 | (2) |
|
|
308 | (2) |
|
|
310 | (3) |
|
|
313 | (2) |
|
Summary of Consistency Models |
|
|
315 | (1) |
|
Client-Centric Consistency Models |
|
|
316 | (10) |
|
|
317 | (2) |
|
|
319 | (1) |
|
|
320 | (2) |
|
|
322 | (1) |
|
|
323 | (1) |
|
|
324 | (2) |
|
|
326 | (11) |
|
|
326 | (4) |
|
|
330 | (4) |
|
|
334 | (3) |
|
|
337 | (9) |
|
|
337 | (4) |
|
Replicated-Write Protocols |
|
|
341 | (4) |
|
Cache-Coherence Protocols |
|
|
345 | (1) |
|
|
346 | (11) |
|
|
347 | (5) |
|
Causally-Consistent Lazy Replication |
|
|
352 | (5) |
|
|
357 | (4) |
|
|
361 | (52) |
|
Introduction to Fault Tolerance |
|
|
362 | (6) |
|
|
362 | (2) |
|
|
364 | (2) |
|
Failure Masking by Redundancy |
|
|
366 | (2) |
|
|
368 | (7) |
|
|
368 | (2) |
|
Failure Masking and Replication |
|
|
370 | (1) |
|
Agreement in Faulty Systems |
|
|
371 | (4) |
|
Reliable Client-Server Communication |
|
|
375 | (6) |
|
Point-to-Point Communication |
|
|
375 | (1) |
|
RPC Semantics in the Presence of Failures |
|
|
375 | (6) |
|
Reliable Group Communication |
|
|
381 | (12) |
|
Basic Reliable-Multicasting Schemes |
|
|
381 | (2) |
|
Scalability in Reliable Multicasting |
|
|
383 | (3) |
|
|
386 | (7) |
|
|
393 | (8) |
|
|
393 | (6) |
|
|
399 | (2) |
|
|
401 | (9) |
|
|
401 | (3) |
|
|
404 | (3) |
|
|
407 | (3) |
|
|
410 | (3) |
|
|
413 | (80) |
|
|
414 | (18) |
|
Security Threats, Policies, and Mechanisms |
|
|
414 | (6) |
|
|
420 | (5) |
|
|
425 | (7) |
|
|
432 | (15) |
|
|
433 | (8) |
|
Message Integrity and Confidentiality |
|
|
441 | (3) |
|
Secure Group Communication |
|
|
444 | (3) |
|
|
447 | (13) |
|
General Issues in Access Control |
|
|
447 | (4) |
|
|
451 | (2) |
|
|
453 | (7) |
|
|
460 | (12) |
|
|
461 | (4) |
|
|
465 | (1) |
|
|
466 | (6) |
|
|
472 | (1) |
|
|
473 | (5) |
|
|
474 | (3) |
|
Privilege Attribute Certificates (PACs) |
|
|
477 | (1) |
|
Example: Electronic Payment Systems |
|
|
478 | (10) |
|
Electronic Payment Systems |
|
|
478 | (2) |
|
Security in Electronic Payment Systems |
|
|
480 | (4) |
|
|
484 | (4) |
|
|
488 | (5) |
|
Distributed Object-Based Systems |
|
|
493 | (82) |
|
|
494 | (31) |
|
|
495 | (6) |
|
|
501 | (7) |
|
|
508 | (6) |
|
|
514 | (4) |
|
|
518 | (1) |
|
|
518 | (2) |
|
|
520 | (2) |
|
|
522 | (3) |
|
|
525 | (20) |
|
|
526 | (5) |
|
|
531 | (3) |
|
|
534 | (3) |
|
|
537 | (4) |
|
|
541 | (1) |
|
|
541 | (1) |
|
|
541 | (1) |
|
|
542 | (3) |
|
|
545 | (20) |
|
|
545 | (8) |
|
|
553 | (1) |
|
|
554 | (3) |
|
|
557 | (2) |
|
|
559 | (1) |
|
|
560 | (3) |
|
|
563 | (1) |
|
|
563 | (2) |
|
Comparison of Corba, Dcom, and Globe |
|
|
565 | (7) |
|
|
566 | (1) |
|
|
567 | (1) |
|
|
567 | (1) |
|
|
568 | (1) |
|
|
569 | (1) |
|
|
569 | (1) |
|
|
570 | (1) |
|
|
570 | (2) |
|
|
572 | (3) |
|
|
575 | (72) |
|
|
576 | (28) |
|
|
576 | (5) |
|
|
581 | (1) |
|
|
582 | (1) |
|
|
583 | (7) |
|
|
590 | (4) |
|
|
594 | (3) |
|
|
597 | (3) |
|
|
600 | (4) |
|
|
604 | (19) |
|
|
604 | (2) |
|
|
606 | (2) |
|
|
608 | (1) |
|
|
609 | (1) |
|
|
610 | (5) |
|
|
615 | (3) |
|
|
618 | (2) |
|
|
620 | (3) |
|
Other Distributed File Systems |
|
|
623 | (15) |
|
Plan 9: Resources Unified to Files |
|
|
623 | (6) |
|
XFS: Serverless File System |
|
|
629 | (6) |
|
|
635 | (3) |
|
Comparison of Distributed File Systems |
|
|
638 | (5) |
|
|
638 | (1) |
|
|
639 | (1) |
|
|
639 | (1) |
|
|
640 | (1) |
|
|
641 | (1) |
|
|
641 | (1) |
|
|
642 | (1) |
|
|
642 | (1) |
|
|
643 | (4) |
|
Distributed Document-Based Systems |
|
|
647 | (52) |
|
|
648 | (30) |
|
|
648 | (9) |
|
|
657 | (5) |
|
|
662 | (6) |
|
|
668 | (3) |
|
|
671 | (1) |
|
|
672 | (4) |
|
|
676 | (1) |
|
|
676 | (2) |
|
|
678 | (13) |
|
|
678 | (2) |
|
|
680 | (1) |
|
|
681 | (2) |
|
|
683 | (2) |
|
|
685 | (1) |
|
|
685 | (3) |
|
|
688 | (1) |
|
|
688 | (3) |
|
Comparison of WWW and Lotus Notes |
|
|
691 | (4) |
|
|
695 | (4) |
|
Distributed Coordination-Based Systems |
|
|
699 | (38) |
|
Introduction to Coordination Models |
|
|
700 | (2) |
|
|
702 | (14) |
|
Overview of TIB/Rendezvous |
|
|
702 | (2) |
|
|
704 | (4) |
|
|
708 | (1) |
|
|
709 | (1) |
|
|
710 | (2) |
|
|
712 | (1) |
|
|
713 | (2) |
|
|
715 | (1) |
|
|
716 | (14) |
|
|
717 | (2) |
|
|
719 | (2) |
|
|
721 | (3) |
|
|
724 | (3) |
|
|
727 | (1) |
|
|
728 | (1) |
|
|
728 | (1) |
|
|
729 | (1) |
|
Comparison of TIB/Rendezvous and Jini |
|
|
730 | (3) |
|
|
733 | (4) |
|
Reading List and Bibliography |
|
|
737 | (48) |
|
Suggestions for Further Reading |
|
|
737 | (12) |
|
Introduction and General Works |
|
|
737 | (2) |
|
|
739 | (1) |
|
|
739 | (1) |
|
|
740 | (1) |
|
|
741 | (1) |
|
Consistency and Replication |
|
|
742 | (1) |
|
|
743 | (1) |
|
|
744 | (1) |
|
Distributed Object-Based Systems |
|
|
745 | (1) |
|
|
746 | (1) |
|
Distributed Document-Based Systems |
|
|
747 | (1) |
|
Distributed Coordination-Based Systems |
|
|
748 | (1) |
|
Alphabetical Bibliography |
|
|
749 | (36) |
Index |
|
785 | |