Distributed Systems(3rd) 英文无水印原版pdf 第3版 pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除查看此书详细信息请在美国亚马逊官网搜索此书
Copyright@ 2017 Maarten van Steen and Andrew S. TanenbaumPublished by Maarten van SteenThis book was previously published by: Pearson Education, IncISBN: 978-15-430573-8-6 (printed version)ISBN: 978-90-815406-2-9(digital version)Edition: 3. Version: 01(February 2017)All rights to text and illustrations are reserved by Maarten van Steen and Andrew S. Tanenbaum. This work maynot be copied, reproduced, or translated in whole or part without written permission of the publisher, except forbrief excerpts in reviews or scholany form of information storageadaptation or whatever, computer software, or by similar or dissimilar methods now known or developed in thefuture is strictly forbidden without written permission of the publisherTo Marielle, max, and elkeMVSTo Suzanne Barbara, Marvin, Aron nathan, olivia, and mirteASTCONTENTSPreface1 Introduction1.1 What is a distributed system?Characteristic 1: Collection of autonomous computing elements 2Characteristic 2: Single coherent systemMiddleware and distributed systems1.2 Design goalsSupporting resource sharingMaking distribution transparent12Being scalable15Pitfalls243 Types of distributed systems24High performance distributed computing25Distributed information systems34Pervasive systems1.4 Summary522 Architectures552. 1 Architectural styles56Layered architectures.57Object-based and service-oriented architectures62Resource-based architectures64Publish-subscribe architectures2.2 Middleware organizationWrappersInterceptors垂番Modifiable middleware752.3 System architectureCONTENTSCentralized organizations76Decentralized organizations: peer-to-peer systemsHybrid architectures2.4 Example architectures94The Network File system94The Web982.5 Summary3 Processes1033.1 Threads..104Introduction to threads104Threads in distributed systems1113.2 Virtualization116Principle of virtualizationapplication of virtual machines to distributed systems,1223.3 Clients124Networked user interfaces124Client-side software for distribution transparency1273.4 Servers128General design issues129Object servers133Example: The Apache Web server139Server clusters,,,,,,,1413.5 Code migration152Reasons for migrating code152Migration in heterogeneous systems1583.6 Summary1614 Communication4.1 Foundations164Layered Protocols164Types of Communication.1724.2 Remote procedure call..173Basic rpc operation174Parameter passing178RPC-based application support182Variations on rPc185Example: dCE rPc,.1884.3 Message-oriented communication193Simple transient messaging with sockets.193Advanced transient messaging198Message-oriented persistent communication206Example: IBM's Web Sphere message-queuing system212Example: Advanced Message Queuing Protocol(AMQP).... 218DS3.01DOWNLOADED BY TEWIGOMI XMAIL. INFOCONTENTS4.4 Multicast communication221Application-level tree-based multicasting221Flooding-based multicasting225Gossip-based data dissemination2294.5 Summary2345 Naming2375.1 Names, identifiers and addresses2385.2 Flat naming.241Simple solutions241Home-based approaches245Distributed hash tables246Hierarchical approaches2515.3 Structured naming256Name spaces.256Name resolution259The implementation of a name space264Example: The Domain Name System271Example: The Network File System2785.4 Attribute-based naming283Directory services283Hierarchical implementations: LDAP285Decentralized implementations2885.5 Summary2946 Coordination2976.1 Clock synchronization.298Physical clocks299Clock synchronization algorithms3026.2 Logical clocks310Lamport' s logical clocks310Vector clocks3166.3 Mutual exclusion321322a centralized algorithm.322a distributed algorithm323a token-ring algorithm.325a decentralized algorithm3266.4 Election algorithms329The bully algorithm.,..330A ring algorithm332Elections in wireless environments333Elections in large-scale systems.3356.5 Location systems336DOWNLOADED BY TEWIGOMIXMAIL. INFODS301VIllCONTENTSGPS: Global Positioning System337When gPs is not an option339Logical positioning of nodes3396.6 Distributed event matching..343Centralized implementations3436.7 Gossip-based coordination349asgregation349A peer-sampling service350Gossip-based overlay construction3526. 8 Summary3537 Consistency and replication3557. 1 Introduction356Reasons for replication356Replication as scaling technique3577.2 Data- centric consistency models358Continuous consistency359Consistent ordering of operations364Eventual consistency3737. 3 Client-centric consistency models375Monotonic readsMonotonic writes.379Read your write380Writes follow reads3827.4 Replica managementFinding the best server location383Content replication and placement..385Content distribution..388Managing replicated objects3937.5 Consistency protocols.396Continuous consistency ..........396Primary-based protocols398Replicated-write protocolsCache-coherence403Implementing client-centric consistency,,...4077.6 Example: Caching and replication in the Web4097.7 Summar4208 Fault toleran4238.1 Introduction to fault tolerance424Basic concepts.424Failuodels427Failure masking by redundancy8.2 Process resilience432DS3.01DOWNLOADED BY TEWIGOMI XMAIL. INFO
1