Distributed Systems: Concepts and Design / Edition 5

Hardcover (Print)
Rent
Rent from BN.com
$62.01
(Save 64%)
Est. Return Date: 09/21/2014
Used and New from Other Sellers
Used and New from Other Sellers
from $139.95
Usually ships in 1-2 business days
(Save 18%)
Other sellers (Hardcover)
  • All (11) from $139.95   
  • New (8) from $150.19   
  • Used (3) from $139.95   

Overview

Broad and up-to-date coverage of the principles and practice in the fast moving area of Distributed Systems.

Distributed Systems provides students of computer science and engineering with the skills they will need to design and maintain software for distributed applications. It will also be invaluable to software engineers and systems designers wishing to understand new and future developments in the field.

From mobile phones to the Internet, our lives depend increasingly on distributed systems linking computers and other devices together in a seamless and transparent way. The fifth edition of this best-selling text continues to provide a comprehensive source of material on the principles and practice of distributed computer systems and the exciting new developments based on them, using a wealth of modern case studies to illustrate their design and development. The depth of coverage will enable readers to evaluate existing distributed systems and design new ones.

The new edition of this bestselling title on Distributed Systems has been thoroughly revised throughout to reflect the state of the art in this rapidly developing field. It emphasizes the principles used in the design and construction of distributed computer systems based on networks of workstations and server computers.

Read More Show Less

Editorial Reviews

Booknews
This second edition is updated to reflect recent advances in the field. Emphasizes design approaches such as openness, scalability, transparency, reliability, and security, and introduces new technologies including ATM networking, internetworks, multicast protocols, and distributed memory sharing. Includes case studies of networking and interprocess communication, distributed file systems, name services, and replication. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780132143011
  • Publisher: Addison-Wesley
  • Publication date: 5/11/2011
  • Edition description: New Edition
  • Edition number: 5
  • Pages: 1008
  • Sales rank: 869,917
  • Product dimensions: 7.50 (w) x 9.20 (h) x 1.60 (d)

Meet the Author

George Coulouris is a Senior Visiting Fellow in the Computer Laboratory at the University of Cambridge. Jean Dollimore was, until her retirement, Senior Lecturer in computer science at Queen Mary College, University of London. Tim Kindberg is a Senior Researcher at Hewlett-Packard Laboratories in Bristol. Gordon Blair is a Professor in the Lancaster University Computing Department.
Read More Show Less

Read an Excerpt

Preface:

The second edition of our textbook appears almost six years after publication of the first edition. In the interval distributed systems have become a major topic in computer science teaching and research, and their development and use has become a key activity in many companies.

This edition constitutes a comprehensive revision and expansion of the book, bringing it up-to-date and encompassing a wider range of topics. There is now a substantial body of knowledge on the sound design and construction of general -purpose distributed systems and their applications. The development of the field has been so rapid that it has necessitated a major re-write. Virtually every chapter has been re-written and with the help of an extra author seven chapters have been added, to produce a book almost twice the size of the previous edition.

Like the first edition, this book is intended to provide knowledge of the principles and practice of distributed system design. We have set out to convey this knowledge in sufficient depth to allow readers to evaluate existing systems and design new ones. We have retained the approach of the first edition, using case studies to illustrate the design concepts related to each major topic.

The book reflects the openness of distributed systems, which are largely constructed from open services built around a standard communication framework. In the first chapter we introduce distributed systems through a set of simple exemplars and a discussion of the basic underlying concepts. We identify design issues and motivate the study of their solutions in the second chapter. In the following pair of chapters wedescribe remote procedure calling and multicast communication between groups of processes, the most important communication methods needed for open systems. We then build upon these foundations a thorough and, as far as possible, orthogonal coverage of each of the sub-fields of distributed computing, from kernel facilities to open services such as file management, naming and clock synchronization. We include transactional services for shared data, and advanced operating system services such as distributed shared memory. In addition, we cover techniques for enhancing services, including security and replication.

Purposes and readership

The book is intended as a text for undergraduate and postgraduate study. It can equally be used for self-study. We assume that readers have a knowledge of programming and elementary computer architecture, together with a familiarity with basic operating system concepts. We cover the field with sufficient depth and breadth to enable readers to tackle most non-theoretical research papers in distributed systems.

Programs are written either in Modula-2 or, where more appropriate in the light of actual implementations, ANSI C. Only a small and self-explanatory subset of each language is used. The reader need not be familiar with networks, since the book provides sufficient coverage of the most important aspects of networking relevant to distributed systems, including local area network technology and internetworks.

How to use the book

The following diagram is intended to provide a guide to the book's structure, indicating navigation routes for teachers wishing to provide, or readers wishing to achieve, an understanding in various subfields of distributed system design. The diagram is organized under seven main topic areas that group chapters or subsections of chapters:

(In this ASCII version, the diagram is linearized. The actual diagram indicates that a study of the Foundations group of chapters can be immediately followed by any of the other groups shown below).

Foundations:
1: Characterization of DS
2: Design Goals
3: Networking and Internetworking
4: Interprocess Communication
5: Remote Procedure Calling
Distributed Operating Systems:
6*: Distributed Operating Systems
10*: Time and Coordination (10.3-4)
17*: Distributed Shared Memory
18*: DOS: Case Studies
File Services:
7: File Service: a Model
8: File Service: Case Studies
Highly Available Services:
10*: Logical Time (10.2)
11*: Replication
15*: Fault Tolerance (15.3-4)
Shared Data:
12: Shared Data and Transactions
13: Concurrency Control
14: Distributed Transactions
15: Recovery (15.1-2)
Security:
16*: Security
Name Services:
9*: Name Services

The chapters that are new or have been substantially re-written since the first edition are indicated by asterisks in the diagram. In addition, nearly all the case studies have been replaced by a wider range of more up-to-date systems.

Undergraduate and postgraduate courses may be based on one or more of the topic areas shown in the diagram. At Queen Mary and Westfield College, we use the material in this book for an undergraduate course taken in the second or third year, which has as a prerequisite an introductory course on concurrency and basic computer resource management in operating systems. We also use a larger part of the book for a one-year course at masters level, in which students apply their knowledge in a substantial practical project. We use the material as follows:

Undergraduate teaching: (25 hours lectures)
Foundations: Chapters 1, 2 and parts of 5.
File services: Chapter 7 and Sun NFS case study from Chapter 8.
Distributed operating systems: parts of Chapter 6 and 10 and a case study from Chapter 18 (e.g. Mach).
Shared data: Chapter 12 and Section 13.1(on locking).
Postgraduate teaching: We give courses on distributed operating systems and on distributed data, preceded by a foundation course, all taught in seminar style.


Foundations (20 hours):
A thorough study of all the material in Chapters 1-5.


Distributed Operating Systems (30 hours):
DOS principles: Chapters 6 and 10; case studies from Chapter 18 (e.g. Mach, UNIX Emulation and Clouds); Chapters 9, 11, 16 and 17, covering name services, replication, security and distributed shared memory.


Distributed Data and Algorithms (30 hours):
File services: Chapter 7 and case studies on Sun NFS, Andrew File System and Coda from Chapter 8; shared data and transactions: Chapters 12-15.
The book supports the seminar style of teaching with extensive illustrations and exercises designed for class discussion. In our courses, students are asked to prepare and present short discussions based around their solutions to selected exercises. Page numbers appended to the exercises refer the reader to the context in which they are set.


Individual study:
Readers who have studied Chapters 1 and 2 should be able to pursue individual study in a several ways. For example, they could then proceed to study any of the following topics:
Internetworking: Read Chapter 3.
File services: Read Chapter 7 followed by an appropriate case study from Chapter 8, using Chapters 4 and 5 as reference material.
Mach, Chorus or Amoeba: Read the relevant case study from Chapter 18, using Chapters 4- 6 as reference material.
Name services: Read Chapter 9, using Chapter 5 as reference material. Security: Read Chapter 16.

Support for Instructors and Readers

Instructor's guide: An instructor's guide, giving solutions to selected exercises, viewgraph transparency masters and other teaching material will be available in late 1994. Some parts of the instructors' guide are available for anonymous FTP, the details can be found below.

Network support: Two network mailing lists and an Internet FTP service are available for readers to use. You can mail the authors by addressing messages to DSBookAuthors@qmw.ac.uk.

DSBookReaders is an open subscription list. You should subscribe to it if you want to be informed about errata, updates and additional material available for FTP. Readers can also use the DSBookReaders list to communicate with other readers. To subscribe to the DSBookReaders list send a message to:

listserv@qmw.ac.uk
containing the line:
subscribe DSBookReaders (your name).

For further information about using the list, send a message to listserv@qmw.ac.uk with a body containing the word help.

We have also established an anonymous FTP directory to enable readers with Internet access to obtain errata, updates and additional material. The details needed to access our FTP directory are below. host: ftp.dcs.qmw.ac.uk (currently at IP number: 192.135.231.4)
name: anonymous
password: (your email address)
directory: distrib/dsbook

Acknowledgements

We are grateful to several classes of students studying for the MSc in Distributed and Parallel Systems at Queen Mary and Westfield College who have studied from earlier drafts of this edition of the book. Their efforts to present the material in seminar classes have helped us to produce what is, we hope, a useful textbook.

We are particularly grateful to Jean Bacon, who has reviewed both editions of the book with great energy and provided us many constructive comments and suggestions. We are also grateful to her for kind permission to include Figures 1.3 and 9.14.

We sho all of whom gave us input or feedback and comments on specific parts of the book: Ken Birman, Richard Bornat, Flaviu Cristian, Kurt Jensen, Daniel Julin, Steve Kille, Roger Needham, David Pick, David Mosberger, Harry Porter, Stephen Sedley, David Steer.

Finally, we should like to thank Simon Plumtree of Addison-Wesley, the anonymous reviewers, and the cohort of teachers using the first edition of the book who provided us with their comments through Addison-Wesley's survey.

George Coulouris
Jean Dollimore
Tim Kindberg,
London

Read More Show Less

Table of Contents

Foundations
1 Characterization of DS
2 System Models
3 Networking and Internetworking
4 Interprocess Communication
5 Remote Invocation
6 Indirect Communication
7 Operating System Support

Middleware
8 Dist. Objects and Components
9 Web Services
10Peer-to-Peer Systems

System services
11 Security
12 Distributed File Systems
13 Name Services

Distributed algorithms
14 Time and Global States
15 Coordination and Agreement

Shared data
16 Transactions and Concurrency Control
17 Distributed Transactions
18 Replication

New challenges
19 Mobile and Ubiquitous Computing
20 Distributed Multimedia Systems

Substantial Case Study

21 Designing Distributed Systems: Google Case Study

Read More Show Less

Preface

Preface:

The second edition of our textbook appears almost six years after publication of the first edition. In the interval distributed systems have become a major topic in computer science teaching and research, and their development and use has become a key activity in many companies.

This edition constitutes a comprehensive revision and expansion of the book, bringing it up-to-date and encompassing a wider range of topics. There is now a substantial body of knowledge on the sound design and construction of general -purpose distributed systems and their applications. The development of the field has been so rapid that it has necessitated a major re-write. Virtually every chapter has been re-written and with the help of an extra author seven chapters have been added, to produce a book almost twice the size of the previous edition.

Like the first edition, this book is intended to provide knowledge of the principles and practice of distributed system design. We have set out to convey this knowledge in sufficient depth to allow readers to evaluate existing systems and design new ones. We have retained the approach of the first edition, using case studies to illustrate the design concepts related to each major topic.

The book reflects the openness of distributed systems, which are largely constructed from open services built around a standard communication framework. In the first chapter we introduce distributed systems through a set of simple exemplars and a discussion of the basic underlying concepts. We identify design issues and motivate the study of their solutions in the second chapter. In the following pair of chapterswedescribe remote procedure calling and multicast communication between groups of processes, the most important communication methods needed for open systems. We then build upon these foundations a thorough and, as far as possible, orthogonal coverage of each of the sub-fields of distributed computing, from kernel facilities to open services such as file management, naming and clock synchronization. We include transactional services for shared data, and advanced operating system services such as distributed shared memory. In addition, we cover techniques for enhancing services, including security and replication.

Purposes and readership

The book is intended as a text for undergraduate and postgraduate study. It can equally be used for self-study. We assume that readers have a knowledge of programming and elementary computer architecture, together with a familiarity with basic operating system concepts. We cover the field with sufficient depth and breadth to enable readers to tackle most non-theoretical research papers in distributed systems.

Programs are written either in Modula-2 or, where more appropriate in the light of actual implementations, ANSI C. Only a small and self-explanatory subset of each language is used. The reader need not be familiar with networks, since the book provides sufficient coverage of the most important aspects of networking relevant to distributed systems, including local area network technology and internetworks.

How to use the book

The following diagram is intended to provide a guide to the book's structure, indicating navigation routes for teachers wishing to provide, or readers wishing to achieve, an understanding in various subfields of distributed system design. The diagram is organized under seven main topic areas that group chapters or subsections of chapters:

(In this ASCII version, the diagram is linearized. The actual diagram indicates that a study of the Foundations group of chapters can be immediately followed by any of the other groups shown below).

Foundations:
1: Characterization of DS
2: Design Goals
3: Networking and Internetworking
4: Interprocess Communication
5: Remote Procedure Calling
Distributed Operating Systems:
6*: Distributed Operating Systems
10*: Time and Coordination (10.3-4)
17*: Distributed Shared Memory
18*: DOS: Case Studies
File Services:
7: File Service: a Model
8: File Service: Case Studies
Highly Available Services:
10*: Logical Time (10.2)
11*: Replication
15*: Fault Tolerance (15.3-4)
Shared Data:
12: Shared Data and Transactions
13: Concurrency Control
14: Distributed Transactions
15: Recovery (15.1-2)
Security:
16*: Security
Name Services:
9*: Name Services

The chapters that are new or have been substantially re-written since the first edition are indicated by asterisks in the diagram. In addition, nearly all the case studies have been replaced by a wider range of more up-to-date systems.

Undergraduate and postgraduate courses may be based on one or more of the topic areas shown in the diagram. At Queen Mary and Westfield College, we use the material in this book for an undergraduate course taken in the second or third year, which has as a prerequisite an introductory course on concurrency and basic computer resource management in operating systems. We also use a larger part of the book for a one-year course at masters level, in which students apply their knowledge in a substantial practical project. We use the material as follows:

Undergraduate teaching: (25 hours lectures)
Foundations: Chapters 1, 2 and parts of 5.
File services: Chapter 7 and Sun NFS case study from Chapter 8.
Distributed operating systems: parts of Chapter 6 and 10 and a case study from Chapter 18 (e.g. Mach).
Shared data: Chapter 12 and Section 13.1(on locking).
Postgraduate teaching: We give courses on distributed operating systems and on distributed data, preceded by a foundation course, all taught in seminar style.


Foundations (20 hours):
A thorough study of all the material in Chapters 1-5.


Distributed Operating Systems (30 hours):
DOS principles: Chapters 6 and 10; case studies from Chapter 18 (e.g. Mach, UNIX Emulation and Clouds); Chapters 9, 11, 16 and 17, covering name services, replication, security and distributed shared memory.


Distributed Data and Algorithms (30 hours):
File services: Chapter 7 and case studies on Sun NFS, Andrew File System and Coda from Chapter 8; shared data and transactions: Chapters 12-15.
The book supports the seminar style of teaching with extensive illustrations and exercises designed for class discussion. In our courses, students are asked to prepare and present short discussions based around their solutions to selected exercises. Page numbers appended to the exercises refer the reader to the context in which they are set.


Individual study:
Readers who have studied Chapters 1 and 2 should be able to pursue individual study in a several ways. For example, they could then proceed to study any of the following topics:
Internetworking: Read Chapter 3.
File services: Read Chapter 7 followed by an appropriate case study from Chapter 8, using Chapters 4 and 5 as reference material.
Mach, Chorus or Amoeba: Read the relevant case study from Chapter 18, using Chapters 4- 6 as reference material.
Name services: Read Chapter 9, using Chapter 5 as reference material. Security: Read Chapter 16.

Support for Instructors and Readers

Instructor's guide: An instructor's guide, giving solutions to selected exercises, viewgraph transparency masters and other teaching material will be available in late 1994. Some parts of the instructors' guide are available for anonymous FTP, the details can be found below.

Network support: Two network mailing lists and an Internet FTP service are available for readers to use. You can mail the authors by addressing messages to DSBookAuthors@qmw.ac.uk.

DSBookReaders is an open subscription list. You should subscribe to it if you want to be informed about errata, updates and additional material available for FTP. Readers can also use the DSBookReaders list to communicate with other readers. To subscribe to the DSBookReaders list send a message to:

listserv@qmw.ac.uk
containing the line:
subscribe DSBookReaders (your name).

For further information about using the list, send a message to listserv@qmw.ac.uk with a body containing the word help.

We have also established an anonymous FTP directory to enable readers with Internet access to obtain errata, updates and additional material. The details needed to access our FTP directory are below. host: ftp.dcs.qmw.ac.uk (currently at IP number: 192.135.231.4)
name: anonymous
password: (your email address)
directory: distrib/dsbook

Acknowledgements

We are grateful to several classes of students studying for the MSc in Distributed and Parallel Systems at Queen Mary and Westfield College who have studied from earlier drafts of this edition of the book. Their efforts to present the material in seminar classes have helped us to produce what is, we hope, a useful textbook.

We are particularly grateful to Jean Bacon, who has reviewed both editions of the book with great energy and provided us many constructive comments and suggestions. We are also grateful to her for kind permission to include Figures 1.3 and 9.14.

We sho all of whom gave us input or feedback and comments on specific parts of the book: Ken Birman, Richard Bornat, Flaviu Cristian, Kurt Jensen, Daniel Julin, Steve Kille, Roger Needham, David Pick, David Mosberger, Harry Porter, Stephen Sedley, David Steer.

Finally, we should like to thank Simon Plumtree of Addison-Wesley, the anonymous reviewers, and the cohort of teachers using the first edition of the book who provided us with their comments through Addison-Wesley's survey.

George Coulouris
Jean Dollimore
Tim Kindberg,
London

Read More Show Less

Customer Reviews

Average Rating 3.5
( 3 )
Rating Distribution

5 Star

(1)

4 Star

(1)

3 Star

(0)

2 Star

(0)

1 Star

(1)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)