1.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
2.System Models (36 pages)
2.1 Introduction
2.2 Architectural models
2.3 Fundamental models
2.4 Summary
3.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
4.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
5.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
6.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
7.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
8.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
9.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
10.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
11.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
12.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
13.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
14.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
15.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
16.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
17.Corba Case Study (30 pages)
17.1 Introduction
17.2 CORBA RMI
17.3 CORBA services
17.4 Summary
18.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