[comp.os.research] New Distributed Systems Book

george@uunet.UU.NET (George Coulouris) (12/06/88)

[ I've read it, and it's good.  --DL ]

We thought the comp.os.research community might want to know
about our recently-published book on Distributed Systems.
Although it was published in the UK in September and we
believe that it is available in the US bookstores.

The details are:

Distributed Systems: Concepts and Design
by
George F. Coulouris (Queen Mary College, University of London
                                        and Harlequin Ltd.)
and
Jean Dollimore (Queen Mary College, University of London)

Addison-Wesley (International Computer Science Series)
Published September 1988.
(Price in UK, #17.95 Sterling)

Here are two paragraphs from the Preface, describing the
intended scope and usage of the book:
" This book is intended to provide an introduction to the concepts and design
principles used in the construction of distributed computer systems.
We assume only that the reader has a knowledge of programming, of elementary
computer architecture and of the facilities offered by a general-purpose
operating system such as UNIX.
Courses on computer networks and operating systems are not necessary
pre-requisites, since we include a discussion of the essential topics from
computer networks in Chapter 3 and the operating systems techniques
mentioned are explained as they arise.

Although the book is based on material used by the authors for teaching a
course on distributed systems at Masters level, it includes material that
should make it suitable for teaching in the second or third year of
undergraduate courses in computer science and for self-study by those with a
background of the type outlined above."

And here is a shortened contents list:

Chapter 1: An introduction to distributed systems
1.1  Scope
1.1.1  Loosely-coupled systems
1.1.2  Other kinds of distributed computing system
1.2  Motivations and definitions
1.3  Historical development
1.3.1  The Alto workstation
1.3.2  Other workstations
1.3.3  Xerox distributed systems
1.3.4  Other  distributed  system  developments  before 1980
1.3.5  Distributed system developments after 1980
1.3.6  Unix-based distributed systems
1.4  Advantages and drawbacks
1.4.1  Advantages
1.4.2  Drawbacks

Chapter 2: Architecture and design goals
2.1  Introduction
2.2  Architectural models
2.2.1  The workstation/server model
2.2.2  The processor pool model
2.2.3  The integrated model
2.3  Design goals
2.3.1  Location transparency
2.3.2  Consistency
2.3.3  Effectiveness
2.4  System software requirements
2.4.1  Open systems
2.4.2  Protection domains
2.4.3  Filing services
2.4.4  Window servers
2.4.5  Naming and location of services

Chapter 3: Networks and protocols
3.1  Introduction
3.2  Computer networking principles
3.2.1  Packets
3.2.2  Protocols
3.2.3  The ISO OSI Reference Model
3.3  Local network technologies
3.3.1  Ethernet
3.3.2  Cambridge Ring
3.3.3  Comparison of Ethernet and Ring
3.3.4  Token ring
3.4  Protocols for distributed systems
3.4.1  Support for client-server communication

Chapter 4: Remote procedure calling
4.1  Introduction
4.2  Characteristics of remote procedure calling
4.2.1  Marshalling arguments and results
4.2.2  Exception handling
4.2.3  Separate lifetime of client and server
4.2.4  RPC call semantics
4.2.5  Transparency of RPC
4.2.6  User packages
4.3  Interface definitions
4.3.1  Data abstraction
4.3.2  Processing an interface definition
4.4  Binding
4.5  The RPC software
4.5.1  Message passing
4.5.2  RPC exchange protocols
4.5.3  Interface compiler
4.6  RPC in Unix systems
4.6.1  Interprocess communication in BSD 4.2 Unix
4.6.2  Admiral RPC
4.7  Performance
4.8  Implementing RPC with lightweight processes
4.8.1  Monitors
4.8.2  Implementing RPC using monitors

Chapter 5: File and directory services
5.1  Introduction
5.2  Division of responsibilities
5.3  The file service
5.3.1  Operations on file attributes
5.3.2  The construction of UFIDs
5.4  Access control
5.5  The directory service

Chapter 6: Implementation of file services
6.1  Introduction
6.2  File storage structure
6.3  File location
6.4  A block service
6.5  Implementation of the file service operations
6.6  Recoverability

Chapter 7: Shared files
7.1  Introduction
7.1.1  The need for transactions
7.1.2  The transaction service
7.2  Recovery
7.2.1  The intentions list approach
7.2.2  The file versions approach
7.2.3  Implementation of file versions
7.3  Concurrency control
7.3.1  Locks
7.3.2  Optimistic concurrency control
7.3.3  Timestamps
7.3.4  Comparison of methods for concurrency control
7.3.5  Some practical issues
7.4  Implementation of a transaction service
7.4.1  Implemention of intentions lists
7.4.2  Implementation of intentions lists with locks
7.4.3  The commit phase

Chapter 8: Collaborating servers and file replication
8.1  Introduction
8.2  A distributed file service
8.3  A distributed transaction service
8.3.1  XDFS: 2-phase commitment
8.3.2  Reed's distributed transactions
8.4  Replication
8.4.1  Majority consensus
8.4.2  Weighted Voting
8.5  Implementation of a file suite

Chapter 9: Protection and Security
9.1  Introduction
9.2   Protection of names
9.3   A cryptography primer
9.4  Authentication
9.5  Protection of service ports
9.6  Integrity
9.7  Security policies
9.8  Correctness and Assurance
9.9  Major examples
9.10  ISO treatment of security

Chapter 10: Case studies in distributed system design
10.1  Introduction
10.1.1  The DB system: An illustrative example
10.2  Locus
10.3  The SUN Network File System (NFS)
10.3.1  The DB system in Locus and NFS
10.4  Argus
10.4.1  The DB system in Argus
10.5  The Xerox Distributed File System (XDFS)
10.6  The Cambridge File Server
10.7  Amoeba
10.8  Mach
10.9  Apollo Domain

Chapter 11: Grapevine: a case study
11.1  Introduction
11.2  System architecture
11.3  RNames
11.4  Software structure
11.5  Registration data base
11.6  Message delivery

Appendix 1 - RPC Implementation
Appendix 2 - Grapevine: an Exercise in Distributed Computing
.  (Reprinted from CACM, v.25, no. 1, April 1982)

George Coulouris

Department of Computer Science
Queen Mary College, Mile End Road, London E1 4NS England
JANET/Internet:     george@cs.qmc.ac.uk
Phone:     +44 1 975 5201  (direct line)
Home phone: +44 1 485 5896

george@uunet.UU.NET (George Coulouris) (12/08/88)

We thought the comp.os.research community might want to know
about our recently-published book on Distributed Systems.

The details are:

Distributed Systems: Concepts and Design
by
George F. Coulouris (Queen Mary College, University of London

and
Jean Dollimore (Queen Mary College, University of London)

Addison-Wesley (International Computer Science Series)
Published September 1988.
(Price in UK, #17.95 Sterling)

>
>What's the ISBN for the book?
>


0-201-18059-6

George Coulouris

Department of Computer Science
Queen Mary College, Mile End Road, London E1 4NS England
JANET/Internet:     george@cs.qmc.ac.uk
Phone:     +44 1 975 5201  (direct line)
Home phone: +44 1 485 5896