图书介绍
分布式系统 原理与范例PDF|Epub|txt|kindle电子书版本网盘下载
![分布式系统 原理与范例](https://www.shukui.net/cover/8/31512305.jpg)
- Andrew S.Tanenbaum著 著
- 出版社: 北京:清华大学出版社
- ISBN:730205827X
- 出版时间:2002
- 标注页数:816页
- 文件大小:44MB
- 文件页数:838页
- 主题词:
PDF下载
下载说明
分布式系统 原理与范例PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1 INTRODUCTION1
1.1 DEFINITION OF A DISTRIBUTED SYSTEM2
1.2 GOALS4
1.2.1 Connecting Users and Resources4
1.2.2 Transparency5
1.2.3 Openness8
1.2.4 Scalability10
1.3 HARDWARE CONCEPTS16
1.3.1 Multiprocessors17
CONTENTS17
PREFACE17
1.3.2 Homogeneous Multicomputer Systems19
1.3.3 Heterogeneous Multicomputer Systems21
1.4 SOFTWARE CONCEPTS22
1.4.1 Distributed Operating Systems22
1.4.2 Network Operating Systems33
1.4.3 Middleware36
1.5 THE CLIENT-SERVER MODEL42
1.5.1 Clients and Servers42
1.5.2 Application Layering46
1.5.3 Client-Server Architectures50
1.6 SUMMARY53
2 COMMUNICATION57
2.1 LAYERED PROTOCOLS58
2.1.1 Lower-Level Protocols61
2.1.2 Transport Protocols63
2.1.3 Higher-Level Protocols66
2.2 REMOTE PROCEDURE CALL68
2.2.1 Basic RPC Operation69
2.2.2 Parameter Passing73
2.2.3 Extended RPC Models77
2.2.4 Example:DCE RPC80
2.3 REMOTE OBJECT INVOCATION85
2.3.1 Distributed Objects86
2.3.2 Binding a Client to an Object88
2.3.3 Static versus Dynamic Remote Method Invocations90
2.3.4 Parameter Passing91
2.3.5 Example 1:DCE Remote Objects93
2.3.6 Example 2:Java RMI95
2.4.1 Persistence and Synchronicity in Communication99
2.4 MESSAGE-ORIENTED COMMUNICATION99
2.4.2 Message-Oriented Transient Communication104
2.4.3 Message-Oriented Persistent Communication108
2.4.4 Example:IBM MQSeries115
2.5 STREAM-ORIENTED COMMUNICATION119
2.5.1 Support for Continuous Media120
2.5.2 Streams and Quality of Service123
2.5.3 Stream Synchronization127
2.6 SUMMARY130
3 PROCESSES135
3.1.1 Introduction to Threads136
3.1 THREADS136
3.1.2 Threads in Distributed Systems141
3.2 CLIENTS145
3.2.1 User Interfaces145
3.2.2 Client-Side Software for Distribution Transparency147
3.3 SERVERS149
3.3.1 General Design Issues149
3.3.2 Object Servers152
3.4.1 Approaches to Code Migration158
3.4 CODE MIGRATION158
3.4.2 Migration and Local Resources163
3.4.3 Migration in Heterogeneous Systems165
3.4.4 Example:D'Agents168
3.5 SOFTWARE AGENTS173
3.5.1 Software Agents in Distributed Systems173
3.5.2 Agent Technology175
3.6 SUMMARY178
4 NAMING183
4.1.1 Names,Identifiers,and Addresses184
4.1 NAMING ENTITIES184
4.1.2 Name Resolution189
4.1.3 The Implementation of a Name Space194
4.1.4 Example:The Domain Name System201
4.1.5 Example:X.500206
4.2 LOCATING MOBILE ENTITIES210
4.2.1 Naming versus Locating Entities210
4.2.2 Simple Solutions212
4.2.3 Home-Based Approaches216
4.2.4 Hierarchical Approaches217
4.3 REMOVING UNREFERENCED ENTITIES225
4.3.1 The Problem of Unreferenced Objects225
4.3.2 Reference Counting227
4.3.3 Reference Listing231
4.3.4 Identifying Unreachable Entities232
4.4 SUMMARY238
5 SYNCHRONIZATION241
5.1 CLOCK SYNCHRONIZATION242
5.1.1 Physical Clocks243
5.1.2 Clock Synchronization Algorithms246
5.1.3 Use of Synchronized Clocks251
5.2 LOGICAL CLOCKS252
5.2.1 Lamport timestamps252
5.2.2 Vector timestamps256
5.3 GLOBAL STATE258
5.4 ELECTION ALGORITHMS262
5.4.1 The Bully Algorithm262
5.4.2 A Ring Algorithm263
5.5.1 A Centralized Algorithm265
5.5 MUTUAL EXCLUSION265
5.5.2 A Distributed Algorithm266
5.5.3 A Token Ring Algorithm269
5.5.4 A Comparison of the Three Algorithms270
5.6 DISTRIBUTED TRANSACTIONS271
5.6.1 The Transaction Model272
5.6.2 Classification of Transactions275
5.6.3 Implementation278
5.6.4 Concurrency Control280
5.7 SUMMARY288
6 CONSISTENCY AND REPLICATION291
6.1 INTRODUCTION292
6.1.1 Reasons for Replication292
6.1.2 Object Replication293
6.1.3 Replication as Scaling Technique296
6.2 DATA-CENTRIC CONSISTENCY MODELS297
6.2.1 Strict Consistency298
6.2.2 Linearizability and Sequential Consistency300
6.2.3 Causal Consistency305
6.2.4 FIFO Consistency306
6.2.5 Weak Consistency308
6.2.6 Release Consistency310
6.2.7 Entry Consistency313
6.2.8 Summary of Consistency Models315
6.3 CLIENT-CENTRIC CONSISTENCY MODELS316
6.3.1 Eventual Consistency317
6.3.2 Monotonic Reads319
6.3.3 Monotonic Writes320
6.3.4 Read Your Writes322
6.3.5 Writes Follow Reads323
6.3.6 Implementation324
6.4 DISTRIBUTION PROTOCOLS326
6.4.1 Replica Placement326
6.4.2 Update Propagation330
6.4.3 Epidemic Protocols334
6.5 CONSISTENCY PROTOCOLS337
6.5.1 Primary-Based Protocols337
6.5.2 Replicated-Write Protocols341
6.5.3 Cache-Coherence Protocols345
6.6 EXAMPLES346
6.6.1 Orca347
6.6.2 Causally-Consistent Lazy Replication352
6.7 SUMMARY357
7 FAULT TOLERANCE361
7.1 INTRODUCTION TO FAULT TOLERANCE362
7.1.1 Basic Concepts362
7.1.2 Failure Models364
7.1.3 Failure Masking by Redundancy366
7.2 PROCESS RESILIENCE368
7.2.1 Design Issues368
7.2.2 Failure Masking and Replication370
7.2.3 Agreement in Faulty Systems371
7.3 RELIABLE CLIENT-SERVER COMMUNICATION375
7.3.1 Point-to-Point Communication375
7.3.2 RPC Semantics in the Presence of Failures375
7.4 RELIABLE GROUP COMMUNICATION381
7.4.1 Basic Reliable-Multicasting Schemes381
7.4.2 Scalability in Reliable Multicasting383
7.4.3 Atomic Multicast386
7.5 DISTRIBUTED COMMIT393
7.5.1 Two-Phase Commit393
7.5.2 Three-Phase Commit399
7.6 RECOVERY401
7.6.1 Introduction401
7.6.2 Checkpointing404
7.6.3 Message Logging407
7.7 SUMMARY410
8 SECURITY413
8.1 INTRODUCTION TO SECURITY414
8.1.1 Security Threats,Policies,and Mechanisms414
8.1.2 Design Issues420
8.1.3 Cryptography425
8.2 SECURE CHANNELS432
8.2.1 Authentication433
8.2.2 Message Integrity and Confidentiality441
8.2.3 Secure Group Communication444
8.3 ACCESS CONTROL447
8.3.1 General Issues in Access Control447
8.3.2 Firewalls451
8.3.3 Secure Mobile Code453
8.4 SECURITY MANAGEMENT460
8.4.1 Key Management461
8.4.2 Secure Group Management465
8.4.3 Authorization Management466
8.5 EXAMPLE:KERBEROS472
8.6 EXAMPLE:SESAME473
8.6.1 SESAME Components474
8.6.2 Privilege Attribute Certificates(PACs)477
8.7 EXAMPLE:ELECTRONIC PAYMENT SYSTEMS478
8.7.1 Electronic Payment Systems478
8.7.2 Security in Electronic Payment Systems480
8.7.3 Example Protocols484
8.8 SUMMARY488
9 DISTRIBUTED OBJECT-BASED SYSTEMS493
9.1 CORBA494
9.1.1 Overview of CORBA495
9.1.2 Communication501
9.1.3 Processes508
9.1.4 Naming514
9.1.5 Synchronization518
9.1.6 Caching and Replication518
9.1.7 Fault Tolerance520
9.1.8 Security522
9.2 DISTRIBUTED COM525
9.2.1 Overview of DCOM526
9.2.2 Communication531
9.2.3 Processes534
9.2.4 Naming537
9.2.5 Synchronization541
9.2.6 Replication541
9.2.7 Fault Tolerance541
9.2.8 Security542
9.3 GLOBE545
9.3.1 Overview of Globe545
9.3.2 Communication553
9.3.3 Processes554
9.3.4 Naming557
9.3.5 Synchronization559
9.3.6 Replication560
9.3.7 Fault Tolerance563
9.3.8 Security563
9.4 COMPARISON OF CORBA,DCOM,AND GLOBE565
9.4.1 Philosophy566
9.4.2 Communication567
9.4.3 Processes567
9.4.4 Naming568
9.4.5 Synchronization569
9.4.6 Caching and Replication569
9.4.7 Fault Tolerance570
9.4.8 Security570
9.5 SUMMARY572
10 DISTRIBUTED FILE SYSTEMS575
10.1 SUN NETWORK FILE SYSTEM576
10.1.1 Overview of NFS576
10.1.2 Communication581
10.1.3 Processes582
10.1.4 Naming583
10.1.5 Synchronization590
10.1.6 Caching and Replication594
10.1.7 Fault Tolerance597
10.1.8 Security600
10.2.1 Overview of Coda604
10.2 THE CODA FILE SYSTEM604
10.2.2 Communication606
10.2.3 Processes608
10.2.4 Naming609
10.2.5 Synchronization610
10.2.6 Caching and Replication615
10.2.7 Fault Tolerance618
10.2.8 Security620
10.3.1 Plan 9:Resources Unified to Files623
10.3 OTHER DISTRIBUTED FILE SYSTEMS623
10.3.2 XFS:Serverless File System629
10.3.3 SFS:Scalable Security635
10.4 COMPARISON OF DISTRIBUTED FILE SYSTEMS638
10.4.1 Philosophy638
10.4.2 Communication639
10.4.3 Processes639
10.4.4 Naming640
10.4.5 Synchronization641
10.4.6 Caching and Replication641
10.4.8 Security642
10.4.7 Fault Tolerance642
10.5 SUMMARY643
11 DISTRIBUTED DOCUMENT-BASED SYSTEMS647
11.1 THE WORLD WIDE WEB648
11.1.1 Overview of WWW648
11.1.2 Communication657
11.1.3 Processes662
11.1.4 Naming668
11.1.5 Synchronization671
11.1.6 Caching and Replication672
11.1.7 Fault Tolerance676
11.1.8 Security676
11.2 LOTUS NOTES678
11.2.1 Overview of Lotus Notes678
11.2.2 Communication680
11.2.3 Processes681
11.2.4 Naming683
11.2.5 Synchronization685
11.2.6 Replication685
11.2.8 Security688
11.2.7 Fault Tolerance688
11.3 COMPARISON OF WWW AND LOTUS NOTES691
11.4 SUMMARY695
12 DISTRIBUTED COORDINATION-BASED SYSTEMS699
12.1 INTRODUCTION TO COORDINATION MODELS700
12.2 TIB/RENDEZVOUS702
12.2.1 Overview of TIB/Rendezvous702
12.2.2 Communication704
12.2.3 Processes708
12.2.4 Naming709
12.2.5 Synchronization710
12.2.6 Caching and Replication712
12.2.7 Fault Tolerance713
12.2.8 Security715
12.3 JINI716
12.3.1 Overview of Jini717
12.3.2 Communication719
12.3.3 Processes721
12.3.4 Naming724
12.3.5 Synchronization727
12.3.7 Fault Tolerance728
12.3.6 Caching and Replication728
12.3.8 Security729
12.4 COMPARISON OF TIB/RENDEZVOUS AND JINI730
12.5 SUMMARY733
13 READING LIST AND BIBLIOGRAPHY737
13.1 SUGGESTIONS FOR FURTHER READING737
13.1.1 Introduction and General Works737
13.1.2 Communication739
13.1.3 Processes739
13.1.4 Naming740
13.1.5 Synchronization741
13.1.6 Consistency and Replication742
13.1.7 Fault Tolerance743
13.1.8 Security744
13.1.9 Distributed Object-Based Systems745
13.1.10 Distributed File Systems746
13.1.11 Distributed Document-Based Systems747
13.1.12 Distributed Coordination-Based Systems748
13.2 ALPHABETICAL BIBLIOGRAPHY749
INDEX785