注重体验与质量的电子书资源下载网站
分类于: 人工智能 设计
简介
分布式系统: 概念与设计(原书第5版) 豆 7.8分
资源最后更新于 2020-08-23 08:24:24
作者:(英)George Coulouris
译者:金蓓弘
出版社:机械工业出版社
出版日期:2013-01
ISBN:9787111403920
文件格式: pdf
标签: 分布式 计算机 计算机科学 分布式系统:概念与设计 分布式计算 Distributed 计算机科学丛书 分布式系统
简介· · · · · ·
从移动电话到互联网,我们的生活越来越依赖于以无缝和透明的方式将计算机和其他设备链接在一起的分布式系统。本书全面介绍分布式系统的设计原理和实践及其最新进展,并使用大量最新的实例研究来阐明分布式系统的设计与开发方法。
本书前几版已被爱丁堡大学、伊利诺伊大学、卡内基-梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗切斯特理工学院、北京大学等众多名校选用为教材。第5版在上一版的基础上,新增了三章内容,分别介绍间接通信、分布式对象和组件、分布式系统设计(以Google为例)。
本书网站www.cdk5.net为学生和教师提供了丰富的学习资源和教学资源(源代码、参考文献、教学幻灯片、勘误等)。
目录
出版者的话
译者序
前言
第1章 分布式系统的特征1
1.1 简介1
1.2 分布式系统的例子2
1.2.1 Web搜索2
1.2.2 大型多人在线游戏3
1.2.3 金融交易3
1.3 分布式系统的趋势4
1.3.1 泛在联网和现代互联网5
1.3.2 移动和无处不在计算5
1.3.3 分布式多媒体系统7
1.3.4 把分布式计算作为一个公共设施7
1.4 关注资源共享8
1.5 挑战9
1.5.1 异构性9
1.5.2 开放性10
1.5.3 安全性11
1.5.4 可伸缩性11
1.5.5 故障处理12
1.5.6 并发性13
1.5.7 透明性14
1.5.8 服务质量15
1.6 实例研究:万维网15
1.7 小结20
练习20
第2章 系统模型22
2.1 简介22
2.2 物理模型23
2.3 体系结构模型24
2.3.1 体系结构元素24
2.3.2 体系结构模式30
2.3.3 相关的中间件解决方案34
2.4 基础模型36
2.4.1 交互模型36
2.4.2 故障模型39
2.4.3 安全模型41
2.5 小结44
练习45
第3章 网络和网际互连46
3.1 简介46
3.2 网络类型48
3.3 网络原理50
3.3.1 数据包的传输50
3.3.2 数据流50
3.3.3 交换模式51
3.3.4 协议52
3.3.5 路由55
3.3.6 拥塞控制57
3.3.7 网际互连58
3.4 互联网协议60
3.4.1 IP寻址62
3.4.2 IP协议63
3.4.3 IP路由64
3.4.4 IPv667
3.4.5 移动IP69
3.4.6 TCP和UDP70
3.4.7 域名71
3.4.8 防火墙72
3.5 实例研究:以太网、WiFi、蓝牙74
3.5.1 以太网75
3.5.2 IEEE 802.11无线LAN78
3.5.3 IEEE 802.15.1蓝牙无线PAN79
3.6 小结81
练习81
第4章 进程间通信83
4.1 简介83
4.2 互联网协议的API84
4.2.1 进程间通信的特征84
4.2.2 套接字85
4.2.3 UDP数据报通信85
4.2.4 TCP流通信88
4.3 外部数据表示和编码91
4.3.1 CORBA的公共数据表示92
4.3.2 Java对象序列化93
4.3.3 可扩展标记语言94
4.3.4 远程对象引用97
4.4 组播通信98
4.4.1 IP组播——组播通信的实现98
4.4.2 组播的可靠性和排序100
4.5 网络虚拟化:覆盖网络101
4.5.1 覆盖网络101
4.5.2 Skype:一个覆盖网络的例子102
4.6 实例研究:MPI103
4.7 小结104
练习105
第5章 远程调用107
5.1 简介107
5.2 请求-应答协议107
5.3 远程过程调用112
5.3.1 RPC的设计问题113
5.3.2 RPC的实现115
5.3.3 实例研究:Sun RPC116
5.4 远程方法调用118
5.4.1 RMI的设计问题118
5.4.2 RMI的实现121
5.4.3 分布式无用单元收集124
5.5 实例研究:Java RMI125
5.5.1 创建客户和服务器程序127
5.5.2 Java RMI的设计和实现130
5.6 小结130
练习131
第6章 间接通信133
6.1 简介133
6.2 组通信134
6.2.1 编程模型135
6.2.2 实现问题136
6.2.3 实例研究:JGroups工具箱138
6.3 发布-订阅系统140
6.3.1 编程模型142
6.3.2 实现问题143
6.3.3 发布-订阅系统的例子146
6.4 消息队列146
6.4.1 编程模型147
6.4.2 实现问题148
6.4.3 实例研究:Java消息服务149
6.5 共享内存的方式152
6.5.1 分布式共享内存152
6.5.2 元组空间通信153
6.6 小结159
练习161
第7章 操作系统支持162
7.1 简介162
7.2 操作系统层163
7.3 保护164
7.4 进程和线程165
7.4.1 地址空间166
7.4.2 新进程的生成167
7.4.3 线程169
7.5 通信和调用176
7.5.1 调用性能177
7.5.2 异步操作181
7.6 操作系统的体系结构183
7.7 操作系统层的虚拟化185
7.7.1 系统虚拟化186
7.7.2 实例研究:系统虚拟化的Xen方法186
7.8 小结193
练习194
第8章 分布式对象和组件196
8.1 简介196
8.2 分布式对象197
8.3 实例研究:CORBA198
8.3.1 CORBA RMI199
8.3.2 CORBA的体系结构203
8.3.3 CORBA远程对象引用205
8.3.4 CORBA服务206
8.3.5 CORBA客户和服务器实例206
8.4 从对象到组件209
8.5 实例研究:企业JavaBeans和Fractal212
8.5.1 企业JavaBeans213
8.5.2 Fractal217
8.6 小结220
练习220
第9章 Web服务222
9.1 简介222
9.2 Web服务223
9.2.1 SOAP225
9.2.2 Web服务与分布式对象模型的比较228
9.2.3 在Java中使用SOAP229
9.2.4 Web服务和CORBA的比较232
9.3 Web服务的服务描述和接口定义语言233
9.4 Web服务使用的目录服务235
9.5 XML安全性237
9.6 Web服务的协作239
9.7 Web服务的应用241
9.7.1 面向服务的体系结构241
9.7.2 网格241
9.7.3 云计算243
9.8 小结244
练习245
第10章 对等系统247
10.1 简介247
10.2 Napster及其遗留系统250
10.3 对等中间件251
10.4 路由覆盖252
10.5 路由覆盖实例研究:Pastry和Tapestry254
10.5.1 Pastry254
10.5.2 Tapestry260
10.5.3 从结构化对等方法到非结构化对等方法260
10.6 应用实例研究:Squirrel、OceanStore和Ivy262
10.6.1 Squirrel Web缓存263
10.6.2 OceanStore文件存储264
10.6.3 Ivy文件系统267
10.7 小结269
练习269
第11章 安全性271
11.1 简介271
11.1.1 威胁和攻击272
11.1.2 保护电子事务274
11.1.3 设计安全系统275
11.2 安全技术概述276
11.2.1 密码学277
11.2.2 密码学的应用277
11.2.3 证书279
11.2.4 访问控制280
11.2.5 凭证282
11.2.6 防火墙283
11.3 密码算法283
11.3.1 密钥(对称)算法285
11.3.2 公钥(不对称)算法288
11.3.3 混合密码协议289
11.4 数字签名289
11.4.1 公钥数字签名290
11.4.2 密钥数字签名——MAC291
11.4.3 安全摘要函数291
11.4.4 证书标准和证书权威机构292
11.5 密码实用学293
11.5.1 密码算法的性能293
11.5.2 密码学的应用和政治障碍294
11.6 实例研究:Needham-Schroeder、Kerberos、TLS和802.11 WiFi295
11.6.1 Needham-Schroeder认证协议295
11.6.2 Kerberos296
11.6.3 使用安全套接字确保电子交易安全300
11.6.4 IEEE 802.11 WiFi安全设计中最初的缺陷302
11.7 小结303
练习304
第12章 分布式文件系统305
12.1 简介305
12.1.1 文件系统的特点307
12.1.2 分布式文件系统的需求308
12.1.3 实例研究309
12.2 文件服务体系结构310
12.3 实例研究:SUN网络文件系统313
12.4 实例研究:Andrew文件系统321
12.4.1 实现322
12.4.2 缓存的一致性324
12.4.3 其他方面326
12.5 最新进展327
12.6 小结330
练习331
第13章 名字服务332
13.1 简介332
13.2 名字服务和域名系统334
13.2.1 名字空间335
13.2.2 名字解析337
13.2.3 域名系统339
13.3 目录服务344
13.4 实例研究:全局名字服务344
13.5 实例研究:X.500目录服务346
13.6 小结349
练习349
第14章 时间和全局状态351
14.1 简介351
14.2 时钟、事件和进程状态352
14.3 同步物理时钟353
14.3.1 同步系统中的同步354
14.3.2 同步时钟的Cristian方法354
14.3.3 Berkeley算法355
14.3.4 网络时间协议355
14.4 逻辑时间和逻辑时钟357
14.5 全局状态359
14.5.1 全局状态和一致割集360
14.5.2 全局状态谓词、稳定性、安全性和活性362
14.5.3 Chandy和Lamport的“快照”算法362
14.6 分布式调试365
14.6.1 收集状态366
14.6.2 观察一致的全局状态366
14.6.3 判定可能的367
14.6.4 判定明确的368
14.6.5 在同步系统中判定可能的和明确的369
14.7 小结369
练习369
第15章 协调和协定371
15.1 简介371
15.2 分布式互斥373
15.3 选举377
15.4 组通信中的协调与协定380
15.4.1 基本组播381
15.4.2 可靠组播381
15.4.3 有序组播383
15.5 共识和相关问题388
15.5.1 系统模型和问题定义389
15.5.2 同步系统中的共识问题391
15.5.3 同步系统中的拜占庭将军问题392
15.5.4 异步系统的不可能性394
15.6 小结395
练习396
第16章 事务和并发控制398
16.1 简介398
16.1.1 简单的同步机制(无事务)399
16.1.2 事务的故障模型400
16.2 事务400
16.2.1 并发控制402
16.2.2 事务放弃时的恢复405
16.3 嵌套事务406
16.4 锁408
16.4.1 死锁413
16.4.2 在加锁机制中增加并发度415
16.5 乐观并发控制417
16.6 时间戳排序419
16.7 并发控制方法的比较423
16.8 小结425
练习425
第17章 分布式事务429
17.1 简介429
17.2 平面分布式事务和嵌套分布式事务429
17.3 原子提交协议431
17.3.1 两阶段提交协议432
17.3.2 嵌套事务的两阶段提交协议434
17.4 分布式事务的并发控制437
17.4.1 加锁437
17.4.2 时间戳并发控制437
17.4.3 乐观并发控制438
17.5 分布式死锁439
17.6 事务恢复444
17.6.1 日志445
17.6.2 影子版本446
17.6.3 为何恢复文件需要事务状态和意图列表447
17.6.4 两阶段提交协议的恢复448
17.7 小结450
练习450
第18章 复制453
18.1 简介453
18.2 系统模型和组通信的作用454
18.2.1 系统模型455
18.2.2 组通信的作用456
18.3 容错服务459
18.3.1 被动(主备份)复制461
18.3.2 主动复制462
18.4 高可用服务的实例研究:闲聊体系结构、Bayou和Coda463
18.4.1 闲聊体系结构464
18.4.2 Bayou系统和操作变换方法469
18.4.3 Coda文件系统471
18.5 复制数据上的事务475
18.5.1 复制事务的体系结构476
18.5.2 可用拷贝复制477
18.5.3 网络分区479
18.5.4 带验证的可用拷贝479
18.5.5 法定数共识方法480
18.5.6 虚拟分区算法481
18.6 小结483
练习484
第19章 移动和无处不在计算486
19.1 简介486
19.2 关联491
19.2.1 发现服务492
19.2.2 物理关联495
19.2.3 小结和前景496
19.3 互操作497
19.3.1 易变系统的面向数据编程497
19.3.2 间接关联和软状态500
19.3.3 小结和前景501
19.4 感知和上下文敏感501
19.4.1 传感器502
19.4.2 感知体系结构502
19.4.3 位置感知506
19.4.4 小结和前景509
19.5 安全性和私密性510
19.5.1 背景510
19.5.2 一些解决办法511
19.5.3 小结和前景515
19.6 自适应515
19.6.1 内容的上下文敏感自适应515
19.6.2 适应变化的系统资源517
19.6.3 小结和前景518
19.7 实例研究:Cooltown518
19.7.1 Web存在519
19.7.2 物理超链接520
19.7.3 互操作和eSquirt协议521
19.7.4 小结和前景522
19.8 小结523
练习523
第20章 分布式多媒体系统525
20.1 简介525
20.2 多媒体数据的特征527
20.3 服务质量管理528
20.3.1 服务质量协商531
20.3.2 许可控制534
20.4 资源管理534
20.5 流自适应535
20.5.1 调整536
20.5.2 过滤536
20.6 实例研究:Tiger视频文件服务器、BitTorrent和端系统多播537
20.6.1 Tiger视频文件服务器537
20.6.2 BitTorrent540
20.6.3 端系统多播541
20.7 小结544
练习544
第21章 分布式系统设计:Google实例研究546
21.1 简介546
21.2 实例研究简介:Google547
21.3 总体结构和设计理念550
21.3.1 物理模型550
21.3.2 总的系统体系结构551
21.4 底层通信范型553
21.4.1 远程调用554
21.4.2 发布-订阅556
21.4.3 通信的关键设计选择总结557
21.5 数据存储和协调服务557
21.5.1 Google文件系统557
21.5.2 Chubby561
21.5.3 Bigtable565
21.5.4 关键设计选择总结570
21.6 分布式计算服务571
21.6.1 MapReduce571
21.6.2 Sawzall574
21.6.3 关键设计选择总结575
21.7 小结576
练习576
参考文献578
索引615
译者序
前言
第1章 分布式系统的特征1
1.1 简介1
1.2 分布式系统的例子2
1.2.1 Web搜索2
1.2.2 大型多人在线游戏3
1.2.3 金融交易3
1.3 分布式系统的趋势4
1.3.1 泛在联网和现代互联网5
1.3.2 移动和无处不在计算5
1.3.3 分布式多媒体系统7
1.3.4 把分布式计算作为一个公共设施7
1.4 关注资源共享8
1.5 挑战9
1.5.1 异构性9
1.5.2 开放性10
1.5.3 安全性11
1.5.4 可伸缩性11
1.5.5 故障处理12
1.5.6 并发性13
1.5.7 透明性14
1.5.8 服务质量15
1.6 实例研究:万维网15
1.7 小结20
练习20
第2章 系统模型22
2.1 简介22
2.2 物理模型23
2.3 体系结构模型24
2.3.1 体系结构元素24
2.3.2 体系结构模式30
2.3.3 相关的中间件解决方案34
2.4 基础模型36
2.4.1 交互模型36
2.4.2 故障模型39
2.4.3 安全模型41
2.5 小结44
练习45
第3章 网络和网际互连46
3.1 简介46
3.2 网络类型48
3.3 网络原理50
3.3.1 数据包的传输50
3.3.2 数据流50
3.3.3 交换模式51
3.3.4 协议52
3.3.5 路由55
3.3.6 拥塞控制57
3.3.7 网际互连58
3.4 互联网协议60
3.4.1 IP寻址62
3.4.2 IP协议63
3.4.3 IP路由64
3.4.4 IPv667
3.4.5 移动IP69
3.4.6 TCP和UDP70
3.4.7 域名71
3.4.8 防火墙72
3.5 实例研究:以太网、WiFi、蓝牙74
3.5.1 以太网75
3.5.2 IEEE 802.11无线LAN78
3.5.3 IEEE 802.15.1蓝牙无线PAN79
3.6 小结81
练习81
第4章 进程间通信83
4.1 简介83
4.2 互联网协议的API84
4.2.1 进程间通信的特征84
4.2.2 套接字85
4.2.3 UDP数据报通信85
4.2.4 TCP流通信88
4.3 外部数据表示和编码91
4.3.1 CORBA的公共数据表示92
4.3.2 Java对象序列化93
4.3.3 可扩展标记语言94
4.3.4 远程对象引用97
4.4 组播通信98
4.4.1 IP组播——组播通信的实现98
4.4.2 组播的可靠性和排序100
4.5 网络虚拟化:覆盖网络101
4.5.1 覆盖网络101
4.5.2 Skype:一个覆盖网络的例子102
4.6 实例研究:MPI103
4.7 小结104
练习105
第5章 远程调用107
5.1 简介107
5.2 请求-应答协议107
5.3 远程过程调用112
5.3.1 RPC的设计问题113
5.3.2 RPC的实现115
5.3.3 实例研究:Sun RPC116
5.4 远程方法调用118
5.4.1 RMI的设计问题118
5.4.2 RMI的实现121
5.4.3 分布式无用单元收集124
5.5 实例研究:Java RMI125
5.5.1 创建客户和服务器程序127
5.5.2 Java RMI的设计和实现130
5.6 小结130
练习131
第6章 间接通信133
6.1 简介133
6.2 组通信134
6.2.1 编程模型135
6.2.2 实现问题136
6.2.3 实例研究:JGroups工具箱138
6.3 发布-订阅系统140
6.3.1 编程模型142
6.3.2 实现问题143
6.3.3 发布-订阅系统的例子146
6.4 消息队列146
6.4.1 编程模型147
6.4.2 实现问题148
6.4.3 实例研究:Java消息服务149
6.5 共享内存的方式152
6.5.1 分布式共享内存152
6.5.2 元组空间通信153
6.6 小结159
练习161
第7章 操作系统支持162
7.1 简介162
7.2 操作系统层163
7.3 保护164
7.4 进程和线程165
7.4.1 地址空间166
7.4.2 新进程的生成167
7.4.3 线程169
7.5 通信和调用176
7.5.1 调用性能177
7.5.2 异步操作181
7.6 操作系统的体系结构183
7.7 操作系统层的虚拟化185
7.7.1 系统虚拟化186
7.7.2 实例研究:系统虚拟化的Xen方法186
7.8 小结193
练习194
第8章 分布式对象和组件196
8.1 简介196
8.2 分布式对象197
8.3 实例研究:CORBA198
8.3.1 CORBA RMI199
8.3.2 CORBA的体系结构203
8.3.3 CORBA远程对象引用205
8.3.4 CORBA服务206
8.3.5 CORBA客户和服务器实例206
8.4 从对象到组件209
8.5 实例研究:企业JavaBeans和Fractal212
8.5.1 企业JavaBeans213
8.5.2 Fractal217
8.6 小结220
练习220
第9章 Web服务222
9.1 简介222
9.2 Web服务223
9.2.1 SOAP225
9.2.2 Web服务与分布式对象模型的比较228
9.2.3 在Java中使用SOAP229
9.2.4 Web服务和CORBA的比较232
9.3 Web服务的服务描述和接口定义语言233
9.4 Web服务使用的目录服务235
9.5 XML安全性237
9.6 Web服务的协作239
9.7 Web服务的应用241
9.7.1 面向服务的体系结构241
9.7.2 网格241
9.7.3 云计算243
9.8 小结244
练习245
第10章 对等系统247
10.1 简介247
10.2 Napster及其遗留系统250
10.3 对等中间件251
10.4 路由覆盖252
10.5 路由覆盖实例研究:Pastry和Tapestry254
10.5.1 Pastry254
10.5.2 Tapestry260
10.5.3 从结构化对等方法到非结构化对等方法260
10.6 应用实例研究:Squirrel、OceanStore和Ivy262
10.6.1 Squirrel Web缓存263
10.6.2 OceanStore文件存储264
10.6.3 Ivy文件系统267
10.7 小结269
练习269
第11章 安全性271
11.1 简介271
11.1.1 威胁和攻击272
11.1.2 保护电子事务274
11.1.3 设计安全系统275
11.2 安全技术概述276
11.2.1 密码学277
11.2.2 密码学的应用277
11.2.3 证书279
11.2.4 访问控制280
11.2.5 凭证282
11.2.6 防火墙283
11.3 密码算法283
11.3.1 密钥(对称)算法285
11.3.2 公钥(不对称)算法288
11.3.3 混合密码协议289
11.4 数字签名289
11.4.1 公钥数字签名290
11.4.2 密钥数字签名——MAC291
11.4.3 安全摘要函数291
11.4.4 证书标准和证书权威机构292
11.5 密码实用学293
11.5.1 密码算法的性能293
11.5.2 密码学的应用和政治障碍294
11.6 实例研究:Needham-Schroeder、Kerberos、TLS和802.11 WiFi295
11.6.1 Needham-Schroeder认证协议295
11.6.2 Kerberos296
11.6.3 使用安全套接字确保电子交易安全300
11.6.4 IEEE 802.11 WiFi安全设计中最初的缺陷302
11.7 小结303
练习304
第12章 分布式文件系统305
12.1 简介305
12.1.1 文件系统的特点307
12.1.2 分布式文件系统的需求308
12.1.3 实例研究309
12.2 文件服务体系结构310
12.3 实例研究:SUN网络文件系统313
12.4 实例研究:Andrew文件系统321
12.4.1 实现322
12.4.2 缓存的一致性324
12.4.3 其他方面326
12.5 最新进展327
12.6 小结330
练习331
第13章 名字服务332
13.1 简介332
13.2 名字服务和域名系统334
13.2.1 名字空间335
13.2.2 名字解析337
13.2.3 域名系统339
13.3 目录服务344
13.4 实例研究:全局名字服务344
13.5 实例研究:X.500目录服务346
13.6 小结349
练习349
第14章 时间和全局状态351
14.1 简介351
14.2 时钟、事件和进程状态352
14.3 同步物理时钟353
14.3.1 同步系统中的同步354
14.3.2 同步时钟的Cristian方法354
14.3.3 Berkeley算法355
14.3.4 网络时间协议355
14.4 逻辑时间和逻辑时钟357
14.5 全局状态359
14.5.1 全局状态和一致割集360
14.5.2 全局状态谓词、稳定性、安全性和活性362
14.5.3 Chandy和Lamport的“快照”算法362
14.6 分布式调试365
14.6.1 收集状态366
14.6.2 观察一致的全局状态366
14.6.3 判定可能的367
14.6.4 判定明确的368
14.6.5 在同步系统中判定可能的和明确的369
14.7 小结369
练习369
第15章 协调和协定371
15.1 简介371
15.2 分布式互斥373
15.3 选举377
15.4 组通信中的协调与协定380
15.4.1 基本组播381
15.4.2 可靠组播381
15.4.3 有序组播383
15.5 共识和相关问题388
15.5.1 系统模型和问题定义389
15.5.2 同步系统中的共识问题391
15.5.3 同步系统中的拜占庭将军问题392
15.5.4 异步系统的不可能性394
15.6 小结395
练习396
第16章 事务和并发控制398
16.1 简介398
16.1.1 简单的同步机制(无事务)399
16.1.2 事务的故障模型400
16.2 事务400
16.2.1 并发控制402
16.2.2 事务放弃时的恢复405
16.3 嵌套事务406
16.4 锁408
16.4.1 死锁413
16.4.2 在加锁机制中增加并发度415
16.5 乐观并发控制417
16.6 时间戳排序419
16.7 并发控制方法的比较423
16.8 小结425
练习425
第17章 分布式事务429
17.1 简介429
17.2 平面分布式事务和嵌套分布式事务429
17.3 原子提交协议431
17.3.1 两阶段提交协议432
17.3.2 嵌套事务的两阶段提交协议434
17.4 分布式事务的并发控制437
17.4.1 加锁437
17.4.2 时间戳并发控制437
17.4.3 乐观并发控制438
17.5 分布式死锁439
17.6 事务恢复444
17.6.1 日志445
17.6.2 影子版本446
17.6.3 为何恢复文件需要事务状态和意图列表447
17.6.4 两阶段提交协议的恢复448
17.7 小结450
练习450
第18章 复制453
18.1 简介453
18.2 系统模型和组通信的作用454
18.2.1 系统模型455
18.2.2 组通信的作用456
18.3 容错服务459
18.3.1 被动(主备份)复制461
18.3.2 主动复制462
18.4 高可用服务的实例研究:闲聊体系结构、Bayou和Coda463
18.4.1 闲聊体系结构464
18.4.2 Bayou系统和操作变换方法469
18.4.3 Coda文件系统471
18.5 复制数据上的事务475
18.5.1 复制事务的体系结构476
18.5.2 可用拷贝复制477
18.5.3 网络分区479
18.5.4 带验证的可用拷贝479
18.5.5 法定数共识方法480
18.5.6 虚拟分区算法481
18.6 小结483
练习484
第19章 移动和无处不在计算486
19.1 简介486
19.2 关联491
19.2.1 发现服务492
19.2.2 物理关联495
19.2.3 小结和前景496
19.3 互操作497
19.3.1 易变系统的面向数据编程497
19.3.2 间接关联和软状态500
19.3.3 小结和前景501
19.4 感知和上下文敏感501
19.4.1 传感器502
19.4.2 感知体系结构502
19.4.3 位置感知506
19.4.4 小结和前景509
19.5 安全性和私密性510
19.5.1 背景510
19.5.2 一些解决办法511
19.5.3 小结和前景515
19.6 自适应515
19.6.1 内容的上下文敏感自适应515
19.6.2 适应变化的系统资源517
19.6.3 小结和前景518
19.7 实例研究:Cooltown518
19.7.1 Web存在519
19.7.2 物理超链接520
19.7.3 互操作和eSquirt协议521
19.7.4 小结和前景522
19.8 小结523
练习523
第20章 分布式多媒体系统525
20.1 简介525
20.2 多媒体数据的特征527
20.3 服务质量管理528
20.3.1 服务质量协商531
20.3.2 许可控制534
20.4 资源管理534
20.5 流自适应535
20.5.1 调整536
20.5.2 过滤536
20.6 实例研究:Tiger视频文件服务器、BitTorrent和端系统多播537
20.6.1 Tiger视频文件服务器537
20.6.2 BitTorrent540
20.6.3 端系统多播541
20.7 小结544
练习544
第21章 分布式系统设计:Google实例研究546
21.1 简介546
21.2 实例研究简介:Google547
21.3 总体结构和设计理念550
21.3.1 物理模型550
21.3.2 总的系统体系结构551
21.4 底层通信范型553
21.4.1 远程调用554
21.4.2 发布-订阅556
21.4.3 通信的关键设计选择总结557
21.5 数据存储和协调服务557
21.5.1 Google文件系统557
21.5.2 Chubby561
21.5.3 Bigtable565
21.5.4 关键设计选择总结570
21.6 分布式计算服务571
21.6.1 MapReduce571
21.6.2 Sawzall574
21.6.3 关键设计选择总结575
21.7 小结576
练习576
参考文献578
索引615