出版時間:2008-5 出版社:清華大學(xué)出版社 作者:(美)特尼博姆 等著 頁數(shù):686
Tag標簽:無
內(nèi)容概要
本書是著名作者Tanenbaum關(guān)于分布式系統(tǒng)的最新力作,是分布式系統(tǒng)的權(quán)威教材。本書分成了兩大部分。第2~9章討論的是分布式系統(tǒng)的的原理、概念和技術(shù),包括通信、進程、命名、同步化、一致性和復(fù)制、容錯性以及安全性等,而分布式應(yīng)用的開發(fā)方法(即范型)在第10~13章中進行了討論。但是,與前一版不同的是,本書沒有在討論范型的章節(jié)中完整地介紹每個案例研究,而是通過一個有代表性的案例來解釋原理。這種介紹方法不僅精簡了素材,而且可以使得讀者在閱讀和學(xué)習(xí)時更愉快些。全書結(jié)構(gòu)清晰,內(nèi)容全面經(jīng)典,系統(tǒng)性與先進性并茂。 本書適用對象廣泛,不僅可以作為學(xué)習(xí)分布式計算機的本科生和研究生的教材,對于從事分布式計算研究和工程應(yīng)用的科技人員和工程技術(shù)人員來說,本書也是一本優(yōu)秀的讀物。
書籍目錄
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
編輯推薦
《大學(xué)計算機教育國外著名教材系列:分布式系統(tǒng)原理與范型(第2版)(影印版)》適用對象廣泛,不僅可以作為學(xué)習(xí)分布式計算機的本科生和研究生的教材,對于從事分布式計算研究和工程應(yīng)用的科技人員和工程技術(shù)人員來說,《大學(xué)計算機教育國外著名教材系列:分布式系統(tǒng)原理與范型(第2版)(影印版)》也是一本優(yōu)秀的讀物。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載