×

Distributed systems. Concepts and design.3rd impress. 3rd impress. (English) Zbl 0848.68021

Amsterdam: Addison-Wesley. xix, 644 p. (1995).
The second edition of this textbook constitutes a comprehensive revision and expansion of its first edition (1988; Zbl 0708.68006). It provides knowledge of the principles and practice of distributed system design. The book reflects the openness of distributed systems, which are largely constructed from open services built around a standard communication framework. First, distributed systems are introduced through a set of simple exemplars and a discussion of their basic underlying concepts and design issues. The communication requirements of distributed systems are discussed and the way they affect the design of networking hardware and software (local and wide area networks, internetworking and correspondence protocol characteristics). In the following chapters, basic communication and synchronization mechanisms between cooperating processes in distributed systems are discussed, including the implementation of protocols to support them. In particular, message-passing-based interprocess communication (client-server and group multicast communication between processes) and remote procedure calling (RPC) are studied, the most important communication methods needed for open systems.
Building on these foundations, a thorough coverage of major subfields of distributed computing is provided, from system kernel facilities (distributed operating systems) to open services such as distributed file management, naming and clock synchronization (time and coordination in distributed systems).
Transactional services for shared data (including nested transactions) and flat as well as nested distributed transactions are treated (including the discussion of distributed deadlock detection algorithms), mechanisms of concurrency control (locks, optimistic concurrency control and timestamp ordering) are dealt with as well as the management of transaction recovery (ensuring failure atomicity in the presence of occasional server failures) and more general aspects of fault tolerance in distributed systems. In addition, advanced operating system services such as distributed shared memory (as an alternative to message-based communication models) and techniques for enhancing services are covered, e.g., security (based on the use of cryptography and associated key distribution and authentication services) and replication of data and other resources.
Throughout the book methodological principles are illustrated by numerous case studies describing practical implementations; the final chapter is devoted to case studies of four distributed operating system implementations (Mach, Chorus, UNIX emulation in Mach and Chorus, Amoeba, Clouds), an RPC implementation (Firefly RPC), and the Amoeba multicast protocol.
Reviewer: U.Hahn (Freiburg)

MSC:

68N99 Theory of software
68-01 Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science
68M10 Network design and communication in computer systems

Citations:

Zbl 0708.68006
PDFBibTeX XMLCite