Distributed Systems: Concepts and Design
Edition 3

By George Coulouris, Jean Dollimore and Tim Kindberg
Addison-Wesley, ©Pearson Education 2001

Home | References | Instructors Guide | Contents | Preface | Authors | Errata | Additional Material |

CONTENTS

Preface

  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)
  3. 2.1 Introduction
    2.2 Architectural models
    2.3 Fundamental models
    2.4 Summary

  4. Networking and Internetworking (60 pages)
  5. 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

  6. Interprocess Communication (40 pages)
  7. 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

  8. Distributed Objects and Remote Invocation (42 pages)
  9. 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

  10. Operating System Support (44 pages)
  11. 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

  12. Security (58 pages)
  13. 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

  14. Distributed File Systems (44 pages)
  15. 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

  16. Name Services (32 pages)
  17. 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

  18. Time and Global States (34 pages)
  19. 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

  20. Coordination and Agreement (46 pages)
  21. 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

  22. Transactions and Concurrency Control (50 pages)
  23. 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

  24. Distributed Transactions (38 pages)
  25. 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

  26. Replication (54 pages)
  27. 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

  28. Distributed Multimedia Systems (28 pages)
  29. 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

  30. Distributed Shared Memory (34 pages)
  31. 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

  32. Corba Case Study (30 pages)
  33. 17.1 Introduction
    17.2 CORBA RMI
    17.3 CORBA services
    17.4 Summary

  34. Mach Case Study (24 pages)
  35. 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

References (34 pages)

Index (16 pages)

Home | References | Instructors Guide | Contents | Preface | Authors | Errata | Additional Material |