DISTRIBUTED SYSTEMS: CONCEPTS AND DESIGN
Second Edition, 1994
George Coulouris, Jean Dollimore and Tim Kindberg
644 pages
Addison-Wesley Publishing Company
ISBN 0-201-62433-8
CONTENTS
FOREWORD (by Ken Birman, Cornell University)
PREFACE
(Each chapter commences with an outline and concludes with an extensive set of exercises designed to test and consolidate the reader's understanding of the contents).
1 CHARACTERIZATION OF DISTRIBUTED SYSTEMS
1.1 Introduction
1.2 Examples
1.3 Key characteristics
1.4 Historical background
1.5 Summary
2 DESIGN GOALS
2.1 Introduction
2.2 Basic design issues
2.3 User requirements
2.4 Summary
3 NETWORKING AND INTERNETWORKING
3.1 Introduction
3.2 Network technologies
3.3 Protocols
3.4 Technology case studies: Ethernet, Token Ring and ATM
3.5 Protocol case studies: Internet protocols and FLIP
3.6 Summary
4 INTERPROCESS COMMUNICATION
4.1 Introduction
4.2 Building blocks
4.3 Client-server communication
4.4 Group communication
4.5 Case study: interprocess communication in UNIX
4.6 Summary
5 REMOTE PROCEDURE CALLING
5.1 Introduction
5.2 Design issues
5.3 Implementation
5.4 Case studies: Sun and ANSA
5.5 Asynchronous RPC
5.6 Summary
6 DISTRIBUTED OPERATING SYSTEMS
6.1 Introduction
6.2 The kernel
6.3 Processes and threads
6.4 Naming and protection
6.5 Communication and invocation
6.6 Virtual memory
6.7 Summary
7 FILE SERVICE: A MODEL
7.1 Introduction
7.2 File service components
7.3 Design issues
7.4 Interfaces
7.5 Implementation techniques
7.6 Summary
8 FILE SERVICE: CASE STUDIES
8.1 Introduction
8.2 The Sun Network File System
8.3 The Andrew File System
8.4 The Coda File System
8.5 Summary
9 NAME SERVICES
9.1 Introduction
9.2 The SNS - a name service model
9.3 Discussion of the SNS and further design issues
9.4 Case studies: DNS, GNS and X.500
9.5 Summary
10 TIME AND COORDINATION
10.1 Introduction
10.2 Synchronizing physical clocks
10.3 Logical time and logical clocks
10.4 Distributed coordination
10.5 Summary
11 REPLICATION
11.1 Introduction
11.2 Basic architectural model 316
11.3 Consistency and request ordering
11.4 The gossip architecture
11.5 Process groups and ISIS
11.6 Summary
12 SHARED DATA AND TRANSACTIONS
12.1 Introduction
12.2 Conversations between a client and a server
12.3 Fault tolerance and recovery 358
12.4 Transactions
12.5 Nested transactions
12.6 Summary
13 CONCURRENCY CONTROL
13.1 Introduction
13.2 Locks
13.3 Optimistic concurrency control
13.4 Timestamp ordering
13.5 Comparison of methods for concurrency control
13.6 Summary
14 DISTRIBUTED TRANSACTIONS
14.1 Introduction
14.2 Simple distributed transactions and nested transactions
14.3 Atomic commit protocols
14.4 Concurrency control in distributed transactions
14.5 Distributed deadlocks
14.6 Transactions with replicated data
14.7 Summary
15 RECOVERY AND FAULT TOLERANCE
15.1 Introduction
15.2 Transaction recovery
15.3 Fault tolerance
15.4 Hierarchical and group masking of faults
15.5 Summary
16 SECURITY
16.1 Introduction
16.2 Cryptography
16.3 Authentication and key distribution
16.4 Case study: Kerberos
16.5 Logics of authentication
16.6 Digital signatures
16.7 Summary
17 DISTRIBUTED SHARED MEMORY
17.1 Introduction
17.2 Design and implementation issues
17.3 Sequential consistency and Ivy
17.4 Release consistency and Munin
17.5 Other consistency models
17.6 Summary
18 DISTRIBUTED OPERATING SYSTEMS: CASE STUDIES
18.1 Introduction
18.2 Mach
18.3 Chorus
18.4 UNIX emulation in Mach and Chorus
18.5 Amoeba
18.6 A comparison of Mach, Amoeba and Chorus
18.7 Clouds
18.8 Firefly RPC
18.9 The Amoeba multicast protocol
REFERENCES
INDEX
http://www.dcs.qmw.ac.uk/research/distrib/dsbook/
No comments:
Post a Comment