Characterization of Distributed Systems (28 pages)
1.1 Introduction
1.2 Examples of distributed systems
1.3 Resource sharing and the Web
1.4 Challenges
1.5 Summary
System Models (36 pages)
2.1 Introduction
2.2 Architectural models
2.3 Fundamental models
2.4 Summary
Networking and Internetworking (60 pages)
3.1 Introduction
3.2 Types of network
3.3 Network principles
3.4 Internet protocols
3.5 Network case studies: Ethernet, wireless LAN and ATM
3.6 Summary
Interprocess Communication (40 pages)
4.1 Introduction
4.2 The API for the Internet protocols
4.3 External data representation and marshalling
4.4 Client-server communication
4.5 Group communication
4.6 Case study: interprocess communication in UNIX
4.7 Summary
Distributed Objects and Remote Invocation (42 pages)
5.1 Introduction
5.2 Communication between distributed objects
5.3 Remote procedure call
5.4 Events and notifications
5.5 Java RMI case study
5.6 Summary
Operating System Support (44 pages)
6.1 Introduction
6.2 The operating system layer
6.3 Protection
6.4 Processes and threads
6.5 Communication and invocation
6.6 Operating system architecture
6.7 Summary
Security (58 pages)
7.1 Introduction
7.2 Overview of security techniques
7.3 Cryptographic algorithms
7.4 Digital signatures
7.5 Cryptography pragmatics
7.6 Case studies: Needham-Schroeder, Kerberos, SSL & Millicent
7.7 Summary
Distributed File Systems
(44 pages)
8.1 Introduction
8.2 File service architecture
8.3 Sun Network File System
8.4 The Andrew File System
8.5 Recent advances
8.6 Summary
Name Services
(32 pages)
9.1 Introduction
9.2 Name services and the Domain Name System
9.3 Directory and discovery services
9.4 Case study of the Global Name Service
9.5 Case study of the X.500 Directory Service
9.6 Summary
Time and Global States
(34 pages)
10.1 Introduction
10.2 Clocks, events and process states
10.3 Synchronizing physical clocks
10.4 Logical time and logical clocks
10.5 Global states
10.6 Distributed debugging
10.7 Summary
Coordination and Agreement
(46 pages)
11.1 Introduction
11.2 Distributed mutual exclusion
11.3 Elections
431
11.4 Multicast communication
11.5 Consensus and related problems
11.6 Summary
Transactions and Concurrency Control
(50 pages)
12.1 Introduction
12.2 Transactions
12.3 Nested transactions
12.4 Locks
12.5 Optimistic concurrency control
12.6 Timestamp ordering
12.7 Comparison of methods for concurrency control
12.8 Summary
Distributed Transactions
(38 pages)
13.1 Introduction
13.2 Flat and nested distributed transactions
13.3 Atomic commit protocols
13.4 Concurrency control in distributed transactions
13.5 Distributed deadlocks
13.6 Transaction recovery
13.7 Summary
Replication
(54 pages)
14.1 Introduction
14.2 System model and group communication
14.3 Fault-tolerant services
14.4 Highly available services
14.5 Transactions with replicated data
14.6 Summary
Distributed Multimedia Systems
(28 pages)
15.1 Introduction
15.2 Characteristics of multimedia data
15.3 Quality of service management
15.4 Resource management
15.5 Stream adaptation
15.6 Case study: the Tiger video file server
15.7 Summary
Distributed Shared Memory
(34 pages)
16.1 Introduction
16.2 Design and implementation issues
16.3 Sequential consistency and Ivy
16.4 Release consistency and Munin
16.5 Other consistency models
16.6 Summary
Corba Case Study
(30 pages)
17.1 Introduction
17.2 CORBA RMI
17.3 CORBA services
17.4 Summary
Mach Case Study
(24 pages)
18.1 Introduction
18.2 Ports, naming and protection
18.3 Tasks and threads
18.4 Communication model
18.5 Communication implementation
18.6 Memory management
18.7 Summary