logo资料库

Distributed Systems - Concepts and Design (5th Edition).pdf

第1页 / 共1067页
第2页 / 共1067页
第3页 / 共1067页
第4页 / 共1067页
第5页 / 共1067页
第6页 / 共1067页
第7页 / 共1067页
第8页 / 共1067页
资料共1067页,剩余部分请下载后查看
Cover
Title Page
Copyright Page
CONTENTS
PREFACE
Acknowledgements
1 CHARACTERIZATION OF DISTRIBUTED SYSTEMS
1.1 Introduction
1.2 Examples of distributed systems
1.3 Trends in distributed systems
1.4 Focus on resource sharing
1.5 Challenges
1.6 Case study: The World Wide Web
1.7 Summary
2 SYSTEM MODELS
2.1 Introduction
2.2 Physical models
2.3 Architectural models
2.4 Fundamental models
2.5 Summary
3 NETWORKING AND INTERNETWORKING
3.1 Introduction
3.2 Types of network
3.3 Network principles
3.4 Internet protocols
3.5 Case studies: Ethernet, WiFi and Bluetooth
3.6 Summary
4 INTERPROCESS COMMUNICATION
4.1 Introduction
4.2 The API for the Internet protocols
4.3 External data representation and marshalling
4.4 Multicast communication
4.5 Network virtualization: Overlay networks
4.6 Case study: MPI
4.7 Summary
5 REMOTE INVOCATION
5.1 Introduction
5.2 Request-reply protocols
5.3 Remote procedure call
5.4 Remote method invocation
5.5 Case study: Java RMI
5.6 Summary
6 INDIRECT COMMUNICATION
6.1 Introduction
6.2 Group communication
6.3 Publish-subscribe systems
6.4 Message queues
6.5 Shared memory approaches
6.6 Summary
7 OPERATING SYSTEM SUPPORT
7.1 Introduction
7.2 The operating system layer
7.3 Protection
7.4 Processes and threads
7.5 Communication and invocation
7.6 Operating system architecture
7.7 Virtualization at the operating system level
7.8 Summary
8 DISTRIBUTED OBJECTS AND COMPONENTS
8.1 Introduction
8.2 Distributed objects
8.3 Case study: CORBA
8.4 From objects to components
8.5 Case studies: Enterprise JavaBeans and Fractal
8.6 Summary
9 WEB SERVICES
9.1 Introduction
9.2 Web services
9.3 Service descriptions and IDL for web services
9.4 A directory service for use with web services
9.5 XML security
9.6 Coordination of web services
9.7 Applications of web services
9.8 Summary
10 PEER-TO-PEER SYSTEMS
10.1 Introduction
10.2 Napster and its legacy
10.3 Peer-to-peer middleware
10.4 Routing overlays
10.5 Overlay case studies: Pastry, Tapestry
10.6 Application case studies: Squirrel, OceanStore, Ivy
10.7 Summary
11 SECURITY
11.1 Introduction
11.2 Overview of security techniques
11.3 Cryptographic algorithms
11.4 Digital signatures
11.5 Cryptography pragmatics
11.6 Case studies: Needham–Schroeder, Kerberos, TLS, 802.11 WiFi
11.7 Summary
12 DISTRIBUTED FILE SYSTEMS
12.1 Introduction
12.2 File service architecture
12.3 Case study: Sun Network File System
12.4 Case study: The Andrew File System
12.5 Enhancements and further developments
12.6 Summary
13 NAME SERVICES
13.1 Introduction
13.2 Name services and the Domain Name System
13.3 Directory services
13.4 Case study: The Global Name Service
13.5 Case study: The X.500 Directory Service
13.6 Summary
14 TIME AND GLOBAL STATES
14.1 Introduction
14.2 Clocks, events and process states
14.3 Synchronizing physical clocks
14.4 Logical time and logical clocks
14.5 Global states
14.6 Distributed debugging
14.7 Summary
15 COORDINATION AND AGREEMENT
15.1 Introduction
15.2 Distributed mutual exclusion
15.3 Elections
15.4 Coordination and agreement in group communication
15.5 Consensus and related problems
15.6 Summary
16 TRANSACTIONS AND CONCURRENCY CONTROL
16.1 Introduction
16.2 Transactions
16.3 Nested transactions
16.4 Locks
16.5 Optimistic concurrency control
16.6 Timestamp ordering
16.7 Comparison of methods for concurrency control
16.8 Summary
17 DISTRIBUTED TRANSACTIONS
17.1 Introduction
17.2 Flat and nested distributed transactions
17.3 Atomic commit protocols
17.4 Concurrency control in distributed transactions
17.5 Distributed deadlocks
17.6 Transaction recovery
17.7 Summary
18 REPLICATION
18.1 Introduction
18.2 System model and the role of group communication
18.3 Fault-tolerant services
18.4 Case studies of highly available services: The gossip architecture, Bayou and Coda
18.5 Transactions with replicated data
18.6 Summary
19 MOBILE AND UBIQUITOUS COMPUTING
19.1 Introduction
19.2 Association
19.3 Interoperation
19.4 Sensing and context awareness
19.5 Security and privacy
19.6 Adaptation
19.7 Case study: Cooltown
19.8 Summary
20 DISTRIBUTED MULTIMEDIA SYSTEMS
20.1 Introduction
20.2 Characteristics of multimedia data
20.3 Quality of service management
20.4 Resource management
20.5 Stream adaptation
20.6 Case studies: Tiger, BitTorrent and End System Multicast
20.7 Summary
21 DESIGNING DISTRIBUTED SYSTEMS: GOOGLE CASE STUDY
21.1 Introduction
21.2 Introducing the case study: Google
21.3 Overall architecture and design philosophy
21.4 Underlying communication paradigms
21.5 Data storage and coordination services
21.6 Distributed computation services
21.7 Summary
REFERENCES
INDEX
This page intentionally left blank
DISTRIBUTED SYSTEMS Concepts and Design Fifth Edition
This page intentionally left blank
DISTRIBUTED SYSTEMS Concepts and Design Fifth Edition George Coulouris Cambridge University Jean Dollimore formerly of Queen Mary, University of London Tim Kindberg matter 2 media Gordon Blair Lancaster University
Editorial Director: Marcia Horton Editor-in-Chief: Michael Hirsch Executive Editor: Matt Goldstein Editorial Assistant: Chelsea Bell Vice President, Marketing: Patrice Jones Marketing Manager: Yezan Alayan Marketing Coordinator: Kathryn Ferranti Vice President, Production: Vince O’Brien Managing Editor: Jeff Holcomb Senior Production Project Manager: Marilyn Lloyd Senior Operations Supervisor: Alan Fischer Manufacturing Buyer: Lisa McDowell Art Director: Jayne Conte Cover Designer: Suzanne Duda Cover Image: Sky: © amygdala_imagery; Kite: © Alamy; Mobile phone: © yasinguneysu/iStock Media Editor: Daniel Sandin Media Project Manager: Wanda Rockwell Printer/Binder: Edwards Brothers Cover Printer: Lehigh-Phoenix Color Typesetting and layout by the authors using FrameMaker Copyright © 2012, 2005, 2001, 1994, 1988 Pearson Education, Inc., publishing as Addison-Wesley. All rights reserved. Manufactured in the United States of America. This publication is protected by Copyright, and permission should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission(s) to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, 501 Boylston Street, Suite 900, Boston, Massachusetts 02116. Many of the designations by manufacturers and sellers to distinguish their products are claimed as trade- marks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed in initial caps or all caps. Library of Congress Cataloging-in-Publication Data available upon request Impression 1 10 9 8 7 6 5 4 3 2 1—EB—15 14 13 12 11 ISBN 10: 0-13-214301-1 ISBN 13: 978-0-13-214301-1
CONTENTS PREFACE 1 2 CHARACTERIZATION OF DISTRIBUTED SYSTEMS 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Introduction Examples of distributed systems Trends in distributed systems Focus on resource sharing Challenges Case study: The World Wide Web Summary SYSTEM MODELS 2.1 2.2 2.3 2.4 2.5 Introduction Physical models Architectural models Fundamental models Summary 3 NETWORKING AND INTERNETWORKING Introduction 3.1 Types of network 3.2 3.3 Network principles Internet protocols 3.4 Case studies: Ethernet, WiFi and Bluetooth 3.5 3.6 Summary XI 1 2 3 8 14 16 26 33 37 38 39 40 61 76 81 82 86 89 106 128 141 V
VI CONTENTS 4 Introduction The API for the Internet protocols External data representation and marshalling INTERPROCESS COMMUNICATION 4.1 4.2 4.3 4.4 Multicast communication 4.5 Network virtualization: Overlay networks 4.6 4.7 Case study: MPI Summary 5 REMOTE INVOCATION Introduction 5.1 5.2 Request-reply protocols 5.3 Remote procedure call 5.4 Remote method invocation 5.5 5.6 Case study: Java RMI Summary 6 Introduction INDIRECT COMMUNICATION 6.1 6.2 Group communication 6.3 6.4 Message queues 6.5 6.6 Shared memory approaches Summary Publish-subscribe systems 7 OPERATING SYSTEM SUPPORT 7.1 Introduction 7.2 The operating system layer 7.3 Protection 7.4 Processes and threads 7.5 Communication and invocation 7.6 Operating system architecture 7.7 7.8 Virtualization at the operating system level Summary 145 146 147 158 169 174 178 181 185 186 187 195 204 217 225 229 230 232 242 254 262 274 279 280 281 284 286 303 314 318 331
分享到:
收藏