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