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