出版时间:2008-5 出版社:清华大学出版社 作者:(美)特尼博姆 等著 页数:686
Tag标签:无
内容概要
本书是著名作者Tanenbaum关于分布式系统的最新力作,是分布式系统的权威教材。本书分成了两大部分。第2~9章讨论的是分布式系统的的原理、概念和技术,包括通信、进程、命名、同步化、一致性和复制、容错性以及安全性等,而分布式应用的开发方法(即范型)在第10~13章中进行了讨论。但是,与前一版不同的是,本书没有在讨论范型的章节中完整地介绍每个案例研究,而是通过一个有代表性的案例来解释原理。这种介绍方法不仅精简了素材,而且可以使得读者在阅读和学习时更愉快些。全书结构清晰,内容全面经典,系统性与先进性并茂。 本书适用对象广泛,不仅可以作为学习分布式计算机的本科生和研究生的教材,对于从事分布式计算研究和工程应用的科技人员和工程技术人员来说,本书也是一本优秀的读物。
书籍目录
1 INTRODUCTION 1.1 DEFINITION OF A DISTRIBUTED SYSTEM 1.2 GOALS 1.2.1 Maing Resources Accessible 1.2.2 Distribution Transparency 1.2.3 Openness 1.2.4 Scalability 1.2.5 Pitfalls 1.3 TYPES OF DISTRIBUTED SYSTEMS 1.3.1 Distributed Compuhng Systems 1.3.2 Distributed information Systems 1.3.3 Distubuted Pervasive Systems 1.4 SUMMARY 2 ARCHITECTURES 2.1 ARCHITECTURAL STYLES 2.2 SYSTEM ARCHCTURES 2.2.1 Centralized Architectures 2.2.2 Decentralized ArcLitectures 2.2.3 Hybnd Architectures 2.3 ARCHITECTURES VERSUS MIDDLEWARE 2.3.1 Interceptors 2.3.2 General APPToaches to Adaptive Software 2.3.3 Discussion 2.4 SELF-MANAGEMENT IN DISTRIBUTED SYSTEMS 2.4.1 The reedbask Control Model 2.4.2 Example Systems Monitoring with Astrolabe 2.4.3 Example Differentiating Repocation Striltegles in Globule 2.4.4 Example Auionlahc Component Repair Management in Jade 2.5 SUMMARY 3 PROCESSES 3.1 THREADS 3.1.1 Introduction to Thieaus 3.1.2 Threads in Distributed Systems 3.2 VIRTUALIZATION 3.2.1 The Role of Virtualization in Dlstrihutcd Syslems 3.2.2 Architectures of Virtual Machlucs 3.3 CLIENTS 3.3.1 NetwOIked User interfaces 3.3.2 Client-Side Software forDistribuutin TTansparency 3.4 SERVERS 3.4.1 DeneraI Design Issues 3.4.2 Server Clusters 3.4.3 Managing Server Clusters 3.5 COIJE MIGRAIION 3.5.1 Approaches to Codc Migration 3.5.2 Mzgrahon and Local Resollrces 3.5.3 Mlgrahon in Heterogelleous Systems 3.6 SUMMARY 4 COMMUNICATION 4.1 FLINDAMENTALS 4.1.1 Layered Potocols 4.1.2 Types of Commllnicahon 4.2 REMOTE PROCEDURE CALL 4.2.1 Basic Rad operation 4.2.2 Parameter Passing 4.2.3 Asynchronous 4.2.4 EXample f DCE RPC 4.3 MESSAGE ORIENTED COMMUNICATION 4.3.1 Message Oriented Trallsient Communication 4.3.2 Message Oriented PeISistent Communication 4.3.3 Example: IBM's WehSphere Message-Queuing System 4.4 STREAM-ORIENTED COMMUNICATION 157 4.4.1 SuPPort for Continuous Media 4.4.2 Smiarns and Quality of Service 4.4.3 Sforaln Synchronizaiion 4.5 MULTICAST COMMUNICATION 4.5.1 Application-Leve1 Multicasting 4.5.2 Gossip Based Daal Dissemination 4.6 SIJMMARY 5 NAMING 5.1 NAMES, IDENTIFIERS, AND ADDRESSES 5.2 FLAT NAMJNG 5.2.1 Simple Soutions 5.2.2 Home Based Approaches 5.2.3 Distritiuted Hash Tables 5.2.4 HieTarchical Approaches 5.3 STRUCTURED NAMING 5.3.1 Name Spaces 5.3.2 Name Resolution 5.3.3 The Implementation of a Name Space 5.3.4 Example: The Domain Name Syrialy 5.4 ATTRIBUTE-BASSO NAMING 5.4.1 Directory Services 5.4.2 Hieralchial Implemcntattions: LDAP 5.4.3 Decentralized Implementations 5.5 SUMMARY6 SYNCHRONIZATION 6.1 CLOCk SYNCHRONIZATION 6.1.1 Physical Clocks 6.1.2 Global Positioning System 6.1.3 Clock Synchronization Algorithms 6.2 LOGICAL CLOCKS 6.2.1 Lamport's Logical Clocks 6.2.2 Vector Clocks 6.3 MUTUAL EXCLUSION 6.3.1 Overmew 252 6.3.2 A Cenlralized Algorithm 6.3.3 A Decentralized Algorithm 6.3.4 A Distributed Algorithm 6.3.5 A Token bang AAlgorithm 6.3.6 A Comparison of the Four Algorithm 6.4 GLOBAL POSITIONING OF NODES 6.5 ELECTION ALGORIThmS 6.5.1 Tladitional Election Algonthins 6.5.2 Elections in Wireless Environments 6.5.3 Elections in Large-Scale Systems 6.6 SUMMARY 7 CONSISTENCY AND REPLICATION 7.1 INTRODUCTION 7.1.1 treasons for Replication 7.1.2 Replication as Scaling technique 7.2 DATA-CENTRJC CONSISTENCY MODELS 7.2.1 Continuous Collsistency 7.2.2 Consistent Ordering ofoperahons 7.3 CLIENT-CENTRIC CONSISTENCY MODELS 7.3.1 EVentual Consistency 7.3.2 Monotomc Reads 7.3.3 MOnotonic Writes 7.3.4 Read Yoke Writes 7.3.5 Writes Follow Reads 7.4 REPLICA MANAGemENT 7.4.1 Replica-Server Placcnlent 7.4.2 Content Repllication and Placemcnt 7.4.3 Content DistTibution 7.5 CONSISTENCY PROTOCOLS 7.5.1 Continuous Consistency 7.5.2 Primary Based Protocols 7.5.3 Replicated Write Protocols 7.5.4 Cache Coherence PProtocols 7.5.5 Implementing Client Centric Consisiellcy 7.6 SUMMARY 8 FAULT TOLERANCE 8.1 INTRODUCTJON TO FAULT TOIAXANCF 8.1.1 Basic Concepts 8.1.2 foiIure Models 8.1.3 Failure MaskIng by Redundancy 8.2 PROCESS RESILIENCE 8.2.1 Design issues 8.2.2 Failure Masking and Replication 8.2.3 Agreelncnt in Faulty Systems 8.2.4 Failure Detection 8.3 RELIABLE CLJENT-SERVER COMMUNICATION 8.3.1 Point to-Point Communication 8.3.2 RPC Selllantlcs in the Presence of Failllres 8.4 RruIA-BLE GROUP COMMUMCATION 343 8.4.1 Basic Reliatrle Muiticasiing Scnenics 8.4.2 Scalability in Reliable MuIhcasting 8.4.3 AtomIC MIIItICast 8.5 DISTRIBUTED COMMIT 8.5.1 Two-Phase commit 8.5.2 ThTec Phase commit 8.6 KECOVERY 8.6.1 Introduction 8.6.2 Checkpointing 8.6.3 massage Logging 8.6.4 Recovery-Onented Computing 8.7 SUMMARY 9 SECURITY 9.1 INTRODUCTION TO SECURITY 9 1.1 Security Threats, Policies, and Mechanisms 9.1.2 Design Issues 9.1.3 Cryptography 9.2 SECURE CHANNELS 9.2.1 Authentication 9.2.2 Message integnty and Confidentiality 9.2.3 Secure Group Cornmunlcatlon 9.2.4 Example: Kerbcros 9.3 ACCESS CONTROL 9.3.1 General Issues in Access Control 9.3.2 Firewalls 9.3.3 Secure Mobile Code 9.3.4 Denial of Service 9.4 SECURITY MANAGEMENT 9.4.1 Key Management 9.4.2 Secure Group Management 9.4.3 Allthorization Management 9.5 SUMMARY 10 DISTRIBUTED OBJECT-BASED SYSTEMS 10.1 ARCHITECTUre 10.1.1 DistrIbuted Otijccts 10.1.2 Example: Entmprise Java Beaus 10.1.3 EXample: GIOtre Distributed Shared Otijects 10.2 PROCESSES 10.2.1 Object Servers 10.2.2 EXample The Ice downtime System 10.3 COMMUNICATION 10.3.1 Binding a Client to an Object 10.3.2 Static vcrsus Dynamic Remote Method invocations 10.3.3 Parameter Passing 10.3.4 Example Java RMI 10.3.5 Object-Based Messaging 10.4 NAMING 10.4.1 CORBA Otiject References 10.4.2 GlObe Otrject References 10.5 SYNCHRONIZATION 10.6 CONSISTENCY AND REPLICATION 10.6.1 Entry Consistency 10.6.2 Replicated invocations 10.7 FAULT TOLERANCE 10.7.1 Example: Fault-Tolerant CORBA 10.7.2 Example: Fault-Tolerant Java 10.8 SECURITY 10.8.1 Example: Globe 10.8.2 Security for Remote Objects 10.9 SUMMARY 11 DISTRIBUTED FILE SYSTEMS 11.1 ARCHITECTURE 11.1.1 Client-Server Architectures 11.1.2 ClusteT-Based Distributed File Systems 11.1.3 Sylmnetnc Architectures 11.2 PROCESSES 11.3 COMMUNICATION 11.3.1 Rads in NFS 11.3.2 The RPCZ Subsystem 11.3.3 File-Oriented Communication in alang 11.4 NabING 11.4.1 Naming in NFS 11.4.2 Constructing a Global aams Space 11.5 SYNCHRONIZATION 11.5.1 Semalltics off Flle Sharing 11.5.2 File Locking 11.5.3 Sharing Files in Coda 11.6 CONSISTENCY AND REPLICATION 11.6.1 Client Side Caching 11.6.2 Server-Side Replication 11.6.3 Replicahon in Peer to Pcer File Systems 11.6.4 File Replication in Gbed Systems 11.7 FAULT TOLERANCE 11.7.1 Handling Byzantine Failures 11.7.2 High Availability in Peer-to-Peer Systems 11.8 SECURITY 11.8.1 Secunty in NFS 11.8.2 Decentralized Authentication 11.8.3 Secure Peer-to-Peer File-Shanng Systems 11.9 SUMMARY 12 DISTRIBUTED WEB-BASED SYSTEMS 12.1 ARCHITECTURE 12.1.1 Traditional Web Based Systems 12.1.2 Web System 12.2 PROCESSES 12.2.1 Clients 12.2.2 The Apachc Web Server 12.2.3 WCb SeTVer Clusters 12.3 COMMUNICATION 12.3.1 Hypcrtcxt Trilnsfel Protocol 12.3.2 Simple Object Access Protocol 12.4 NAMING 12.5 SYNCHRONIZATION 12.6 CONSISTENCY AND REPLICAnON 12.6.1 Web Proxy Caching 12.6.2 Replication for Web Hosting Systems 12.6.3 Replication of Web Anviicaiions 12.7 FAULT TOLERANCE 12.8 SECURITY 12.9 SUMMARY 13 DISTRIBUTED COORDINATION-BASED 13.1 INTRODUCTION TO COORDINATION MODELS 13.2 ARCHitECTURES 13.2.1 Overall Approach 13.2.2 Traditional Architestores 13.2.3 Peer-to-Peer Architectures 13.2.4 Mobility and Cooruination 13.3 PROCESSES 13.4 COMMUNICATION 13.4.1 Content-Based Routing 13.4.2 Supporting Composite Subscriptions 13.5 NAMJNG 13.5.1 Describing Composite Evellts 13.5.2 Matching Events and Subscriptiolls 13.6 SYNCHRONIZATION 13.7 CONSISTENCY AND REPLICATION 13.7.1 Static Apnroachcs 13.7.2 Dynunc Replicanon 13.8 FAt1T TOLERANCE 13.8.1 Reliable pobIish Subscribe COmmunicaiioIa 13.8.2 Fault Tolerance in Shared Dataspaces 13.9 SECURITY 13.9.1 Confidentiality 13.9.2 Secure Shared Dataspaces 13.10 SUMMARY 14 SUGGESTIONS FOR FURTHER READING AND BIBLIOGRAPHY 14.1 SUGGESTIONS FOR FURTHER READING 14.1.1 introduction and Genelal Works 14.1.2 Architectures 14.1.3 Oricesses 14.1.4 Commumcatlon 14.1.5 Naming 14.1.6 Synchronization 14.1.7 Consistency and ffepIication 14.1.8 Fault Tolerance 14.1.9 Secllnty 14.1.1O Distributed Onject-Based Systems 14.1.11 Distributed File Systems 14 1 12 Distributed Web-Based Systems 14 1.13 Distributed Coordination Based Systems 14.2 ALPHABETICAL BIBLIOGRAPHY INDEX
编辑推荐
《大学计算机教育国外著名教材系列:分布式系统原理与范型(第2版)(影印版)》适用对象广泛,不仅可以作为学习分布式计算机的本科生和研究生的教材,对于从事分布式计算研究和工程应用的科技人员和工程技术人员来说,《大学计算机教育国外著名教材系列:分布式系统原理与范型(第2版)(影印版)》也是一本优秀的读物。
图书封面
图书标签Tags
无
评论、评分、阅读与下载