Cover image for Distributed systems : principles and paradigms
Title:
Distributed systems : principles and paradigms
Personal Author:
Publication Information:
Upper Saddle River, NJ: Prentice Hall, 2002
ISBN:
9780130888938
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010053279 QA76.9.D5 T36 2002 Open Access Book Book
Searching...

On Order

Summary

Summary

For courses on Distributed Systems, Distributed Operating Systems, and Advanced Operating Systems focusing on distributed systems found in departments of Computer Science, Computer Engineering and Electrical Engineering. Distributed systems are common. Computer scientists and engineers need to understand how the principles and paradigms underlying distributed systems software and be familiar with several real world examples. No other book systematically examines the underlying principles and how they are applied to a wide variety of distributed systems with the depth and clarity of this presentation. *First part of the book dedicates one chapter to each of seven key principles of all distributed systems -Communication, processes, naming, synchronization, consistency and replication, fault tolerance, and security, provides students with an understanding of the key principles, paradigms, and models on which all distributed systems are based. *Second part of the book devoted to real-world distributed case studies - Includes examples of object-based, document-based, file-based, and coordination-based systems including Corba, DCOM, Globe, NFS v4, Coda, WWW, and Jini. *Numerous end-of-ch


Author Notes

Andrew S. Tanenbaum has an S.B. degree from M.LT. and a Ph.D. from the University of California at Berkeley. He is currently a Professor of Computer Science at the Vrije Universiteit in Amsterdam, The Netherlands, where he is head of the Computer Systems Department. He is also the Dean of the Advanced School for Computing and Imaging, an interuniversity graduate school doing research on advanced parallel, distributed, and imaging systems. Nevertheless, he is trying very hard to avoid turning into a bureaucrat.

In the past, he has done research on compilers, operating systems, networking, and local-area distributed systems. His current research focuses primarily on the design of wide-area distributed systems that scale to a billion users. This research is being done together with Dr. Maarten van Steen. Together, all his research projects have led to over 90 refereed papers in journals and conference proceedings and five books.

Prof. Tanenbaum has also produced a considerable volume of software. He was the principal architect of the Amsterdam Compiler Kit, a widely-used toolkit for writing portable compilers, as well as of MINIX, a small UNIX clone intended for use in student programming labs. Together with his Ph.D. students and programmers, he helped design the Amoeba distributed operating system, a high-performance microkernel-based distributed operating system. The MINIX and Amoeba systems are now available for free via the Internet.

His Ph.D. students have gone on to greater glory after getting their degrees. He is very proud of them. In this respect he resembles a mother hen.

Prof. Tanenbaum is a Fellow of the ACM, a Fellow of the IEEE, a member of the Royal Netherlands Academy of Arts and Sciences, winner of the 1994 ACM Karl V Karlstrom Outstanding Educator Award, and winner of the 1997 ACM/SIGCSE Award for Outstanding Contributions to Computer Science Education. He is also listed in Who's Who in the World. His home page on the World Wide Web can be found at URL http://www.cs.vu.nl/~ast/ .

Maarten van Steen is currently an associate professor at the Vrije Universiteit, Amsterdam where he teaches operating systems, computer networks, and distributed systems. He has also given various highly successful courses on computer systems related subjects to ICT professionals from industry and governmental organizations.

Dr. van Steen studied Applied Mathematics at Twente University and received a Ph.D. from Leiden University in the field of software design techniques for concurrent systems. After his graduate studies he went to work for an industrial research laboratory where he eventually became head of the Computer Systems Group, concentrating on programming support for parallel applications.

After five years of struggling to simultaneously do research and management, he decided to return to academia, first as an assistant professor in Computer Science at the Erasmus University Rotterdam, and later as an assistant professor in Andrew Tanenbaum's group at the Vrije Universiteit in Amsterdam. Going back to university was the right decision; his wife thinks so too.

His current research concentrates on large-scale wide-area distributed systems, with an emphasis on locating mobile objects, system architecture, and adaptive distribution and replication. Together with prof. Tanenbaum he leads the Globe project in which a group of approximately a dozen researchers collaborate to develop a wide-area distributed system by the same name. The Globe system is described at http://www.cs.vu.nl/globe .


Table of Contents

1 Introduction
Definition of a Distributed System
Goals
Hardware Concepts
Software Concepts
The Client-Server Model
2 Communication
Layered Protocols
Remote Procedure Call
Remote Object Invocation
Message-Oriented Communication
Stream-Oriented Communication
3 Processes
Threads
Clients
Servers
Code Migration
Software Agents
4 Naming
Naming Entities
Locating Mobile Entities
Removing Unreferenced Entities
5 Synchronization
Clock Synchronization
Logical Clocks
Global State
Election Algorithms
Mutual Exclusion
Distributed Transactions
6 Consistency and Replication
Introduction
Data-Centric Consistency Models
Client-Centric Consistency Models
Distribution Protocols
Consistency Protocols
Examples
7 Fault Tolerance
Introduction to Fault Tolerance
Process Resilience
Reliable Client-Server Communication
Reliable Group Communication
Distributed Commit
Recovery
8 Security
Introduction to Security
Secure Channels
Access Control
Security Management
Example: Kerberos
Example: SEASAME
Example: Electronic Payment Systems
9 Distributed Object-Based Systems
CORBA
Distributed COM
Globe
Comparison of CORBA, DCOM, and Globe
10 Distributed File Systems
Sun Network File System
The Coda File System
Other Distributed File Systems
Comparison of Distributed File Systems
11 Distributed Document-Based Systems
The World Wide Web
Lotus Notes
Comparison of WWW and Lotus Notes
12 Distributed Coordination-Based Systems
Introduction to Coordination Models
TIB/Rendezvous
Jini
Comparison of TIB/Rendezvous and Jini
13 Bibliography and Suggested Readings
Suggestions for Further Reading
Alphabetical Bibliography
Index