《分布式系统概念与设计》旨在全面介绍因特网及其他常用分布式系统的原理、体系结构、算法和设计,内容涵盖分布式系统的相关概念、安全、数据复制、组通信、分布式文件系统、分布式事务等,以及相关的前沿主题,包括web服务、网格、移动系统和无处不在系统等。
第1章 分布式系统的特征 1
1.1 简介 1
1.2 分布式系统的实例 2
1.2.1 因特网 2
1.2.2 企业内部网 3
1.2.3 移动计算和无处不在计算 3
1.3 资源共享和Web 5
1.4 挑战 10
1.4.1 异构性 11
1.4.2 开放性 11
1.4.3 安全性 12
1.4.4 可伸缩性 13
1.4.5 故障处理 14
1.4.6 并发性 15
1.4.7 透明性 15
1.5 小结 16
练习 17
第2章 系统模型 19
2.1 简介 19
2.2 体系结构模型 20
2.2.1 软件层 20
2.2.2 系统体系结构 22
2.2.3 变体 23
2.2.4 接口和对象 27
2.2.5 分布式体系结构的设计需求 27
2.3 基础模型 30
2.3.1 交互模型 31
2.3.2 故障模型 34
2.3.3 安全模型 36
2.4 小结 39
练习 40
第3章 网络和网际互连 42
3.1 简介 42
3.2 网络类型 44
3.3 网络原理 46
3.3.1 数据包的传输 47
3.3.2 数据流 47
3.3.3 交换模式 47
3.3.4 协议 48
3.3.5 路由 52
3.3.6 拥塞控制 54
3.3.7 网际互连 55
3.4 因特网协议 57
3.4.1 IP寻址 59
3.4.2 IP协议 60
3.4.3 IP路由 62
3.4.4 IPv6 65
3.4.5 移动IP 67
3.4.6 TCP和UDP 68
3.4.7 域名 69
3.4.8 防火墙 70
3.5 实例研究:以太网、WiFi、蓝牙和ATM 72
3.5.1 以太网 73
3.5.2 IEEE 802.11无线LAN 76
3.5.3 IEEE 802.15.1蓝牙无线PAN 78
3.5.4 异步传输模式网络 80
3.6 小结 82
练习 82
第4章 进程间通信 84
4.1 简介 84
4.2 因特网协议的API 85
4.2.1 进程间通信的特征 85
4.2.2 套接字 86
4.2.3 UDP数据报通信 87
4.2.4 TCP流通信 90
4.3 外部数据表示和编码 93
4.3.1 CORBA的公共数据表示 94
4.3.2 Java对象序列化 95
4.3.3 可扩展标记语言 97
4.3.4 远程对象引用 99
4.4 客户-服务器通信 100
4.5 组通信 105
4.5.1 IP组播—组通信的实现 106
4.5.2 组播的可靠性和排序 108
4.6 实例研究:UNIX中的进程间通信 108
4.6.1 数据报通信 109
4.6.2 流通信 110
4.7 小结 110
练习 111
第5章 分布式对象和远程调用 114
5.1 简介 114
5.2 分布式对象间的通信 116
5.2.1 对象模型 117
5.2.2 分布式对象 117
5.2.3 分布式对象模型 118
5.2.4 RMI的设计问题 120
5.2.5 RMI的实现 122
5.2.6 分布式无用单元收集 125
5.3 远程过程调用 126
5.4 事件和通知 129
5.4.1 分布式事件通知的参与者 131
5.4.2 实例研究:Jini分布式事件规约 132
5.5 实例研究:Java RMI 133
5.5.1 创建客户和服务器程序 136
5.5.2 Java RMI的设计和实现 138
5.6 小结 139
练习 139
第6章 操作系统支持 142
6.1 简介 142
6.2 操作系统层 143
6.3 保护 144
6.4 进程和线程 145
6.4.1 地址空间 146
6.4.2 新进程的生成 147
6.4.3 线程 149
6.5 通信和调用 157
6.5.1 调用性能 158
6.5.2 异步操作 162
6.6 操作系统的体系结构 164
6.7 小结 167
练习 167
第7章 安全性 169
7.1 简介 169
7.1.1 威胁和攻击 170
7.1.2 保护电子事务 172
7.1.3 设计安全系统 173
7.2 安全技术概述 174
7.2.1 密码学 175
7.2.2 密码学的应用 175
7.2.3 证书 177
7.2.4 访问控制 178
7.2.5 凭证 180
7.2.6 防火墙 181
7.3 密码算法 181
7.3.1 密钥(对称)算法 184
7.3.2 公钥(不对称)算法 186
7.3.3 混合密码协议 188
7.4 数字签名 188
7.4.1 公钥数字签名 189
7.4.2 密钥数字签名—MAC 189
7.4.3 安全摘要函数 190
7.4.4 证书标准和证书权威机构 191
7.5 密码实用学 192
7.5.1 密码算法的性能 192
7.5.2 密码学的应用和政治障碍 193
7.6 案例研究:Needham-Schroeder、Kerberos、TLS和802.11 WiFi 194
7.6.1 Needham-Schroeder认证协议 194
7.6.2 Kerberos 195
7.6.3 使用安全套接字确保电子交易安全 199
7.6.4 IEEE 802.11 WiFi 安全设计中的缺陷 201
7.7 小结 203
练习 204
第8章 分布式文件系统 205
8.1 简介 205
8.1.1 文件系统的特点 207
8.1.2 分布式文件系统的需求 208
8.1.3 实例研究 209
8.2 文件服务体系结构 210
8.3 实例研究:SUN网络文件系统 214
8.4 实例研究:Andrew文件系统 222
8.4.1 实现 223
8.4.2 缓存的一致性 225
8.4.3 其他方面 227
8.5 最新进展 228
8.6 小结 232
练习 232
第9章 名字服务 234
9.1 简介 234
9.2 名字服务和域名系统 236
9.2.1 名字空间 237
9.2.2 名字解析 239
9.2.3 域名系统 241
9.3 目录服务 246
9.4 实例研究:全局名字服务 246
9.5 实例研究:X.500目录服务 248
9.6 小结 251
练习 252
第10章 对等系统 253
10.1 简介 253
10.2 Napster及其遗留系统 256
10.3 对等中间件 257
10.4 路由覆盖 259
10.5 路由覆盖实例研究:Pastry和Tapestry 261
10.5.1 Pastry 261
10.5.2 Tapestry 266
10.6 应用实例研究:Squirrel、OceanStore和Ivy 267
10.6.1 Squirrel Web缓存 267
10.6.2 OceanStore文件存储 269
10.6.3 Ivy文件系统 272
10.7 小结 274
练习 275
第11章 时间和全局状态 277
11.1 简介 277
11.2 时钟、事件和进程状态 278
11.3 同步物理时钟 279
11.3.1 同步系统中的同步 280
11.3.2 同步时钟的Cristian方法 281
11.3.3 Berkeley算法 281
11.3.4 网络时间协议 282
11.4 逻辑时间和逻辑时钟 284
11.5 全局状态 286
11.5.1 全局状态和一致割集 287
11.5.2 全局状态谓词、稳定性、安全性和活性 288
11.5.3 Chandy和Lamport的“快照”算法 289
11.6 分布式调试 291
11.6.1 观察一致的全局状态 293
11.6.2 判定可能的f 294
11.6.3 判定明确的f 294
11.6.4 在同步系统中判定可能的f和明确的f 295
11.7 小结 296
练习 296
第12章 协调和协定 298
12.1 简介 298
12.2 分布式互斥 300
12.3 选举 305
12.4 组播通信 308
12.4.1 基本组播 309
12.4.2 可靠组播 310
12.4.3 有序组播 312
12.5 共识和相关问题 317
12.5.1 系统模型和问题定义 317
12.5.2 同步系统中的共识问题 320
12.5.3 同步系统中的拜占庭将军问题 320
12.5.4 异步系统的不可能性 323
12.6 小结 324
练习 325
第13章 事务和并发控制 327
13.1 简介 327
13.1.1 简单的同步机制(无事务) 328
13.1.2 事务的故障模型 329
13.2 事务 329
13.2.1 并发控制 332
13.2.2 事务放弃时的恢复 334
13.3 嵌套事务 336
13.4 锁 337
13.4.1 死锁 342
13.4.2 在加锁机制中增加并发度 345
13.5 乐观并发控制 346
13.6 时间戳排序 349
13.7 并发控制方法的比较 353
13.8 小结 354
练习 355
第14章 分布式事务 359
14.1 简介 359
14.2 平面分布式事务和嵌套分布式事务 359
14.3 原子提交协议 361
14.3.1 两阶段提交协议 362
14.3.2 嵌套事务的两阶段提交协议 364
14.4 分布式事务的并发控制 367
14.4.1 加锁 367
14.4.2 时间戳并发控制 368
14.4.3 乐观并发控制 368
14.5 分布式死锁 369
14.6 事务恢复 374
14.6.1 日志 375
14.6.2 影子版本 377
14.6.3 为何恢复文件需要事务状态和意图列表 378
14.6.4 两阶段提交协议的恢复 378
14.7 小结 380
练习 381
第15章 复制 383
15.1 简介 383
15.2 系统模型和组通信 385
15.2.1 系统模型 385
15.2.2 组通信 386
15.3 容错服务 390
15.3.1 被动(主备份)复制 392
15.3.2 主动复制 393
15.4 高可用服务的实例研究:gossip体系结构、Bayou和Coda 394
15.4.1 gossip体系结构 395
15.4.2 Bayou系统和操作变换方法 401
15.4.3 Coda文件系统 402
15.5 复制数据上的事务 407
15.5.1 复制事务的体系结构 407
15.5.2 可用拷贝复制 409
15.5.3 网络分区 410
15.5.4 带验证的可用拷贝 411
15.5.5 法定数共识方法 411
15.5.6 虚拟分区算法 413
15.6 小结 415
练习 415
第16章 移动计算和无处不在计算 417
16.1 简介 417
16.2 关联 423
16.2.1 发现服务 424
16.2.2 物理关联 427
16.2.3 小结和前景 428
16.3 互操作 428
16.3.1 易变系统的面向数据编程 429
16.3.2 间接关联和软状态 432
16.3.3 小结和前景 433
16.4 感知和上下文敏感 433
16.4.1 传感器 434
16.4.2 感知体系结构 434
16.4.3 位置感知 438
16.4.4 小结和前景 441
16.5 安全和私密性 442
16.5.1 背景 442
16.5.2 一些解决办法 443
16.5.3 小结和前景 447
16.6 自适应 447
16.6.1 内容的上下文敏感自适应 448
16.6.2 适应变化的系统资源 449
16.6.3 小结和前景 450
16.7 Cooltown实例研究 450
16.7.1 Web存在 451
16.7.2 物理超链接 452
16.7.3 互操作和eSquirt协议 454
16.7.4 小结和前景 455
16.8 小结 455
练习 456
第17章 分布式多媒体系统 458
17.1 简介 458
17.2 多媒体数据的特征 461
17.3 服务质量管理 462
17.3.1 服务质量协商 464
17.3.2 许可控制 467
17.4 资源管理 468
17.5 流适应 469
17.5.1 调整 470
17.5.2 过滤 471
17.6 实例研究:Tiger视频文件服务器 471
17.7 小结 474
练习 474
第18章 分布式共享内存 476
18.1 简介 476
18.1.1 消息传递机制和DSM 477
18.1.2 DSM的实现方法 478
18.2 设计和实现问题 479
18.2.1 结构 479
18.2.2 同步模型 480
18.2.3 一致性模型 481
18.2.4 更新选项 483
18.2.5 粒度 485
18.2.6 系统颠簸 485
18.3 顺序一致性和lvy实例研究 485
18.3.1 系统模型 486
18.3.2 写失效 487
18.3.3 失效协议 488
18.3.4 一个动态分布式管理器算法 489
18.3.5 系统颠簸 490
18.4 释放一致性和Munin实例研究 491
18.4.1 内存访问 491
18.4.2 释放一致性 492
18.4.3 Munin 493
18.5 其他一致性模型 494
18.6 小结 495
练习 496
第19章 Web服务 498
19.1 简介 498
19.2 Web服务 499
19.2.1 SOAP 501
19.2.2 Web服务与分布式对象模型的比较 504
19.2.3 在Java中使用SOAP 505
19.2.4 Web服务和CORBA的比较 508
19.3 服务描述和Web服务接口定义语言 509
19.4 Web服务使用的目录服务 512
19.5 XML安全性 513
19.6 Web服务的协作 516
19.7 实例研究:网格 517
19.7.1 World-Wide Telescope—一种网格应用 518
19.7.2 数据密集型科学应用的特征 518
19.7.3 开放的网格服务体系结构 519
19.7.4 一些网格应用的例子 521
19.7.5 Globus工具包 522
19.8 小结 523
练习 524
第20章 CORBA实例研究 526
20.1 简介 526
20.2 CORBA RMI 527
20.2.1 CORBA客户和服务器实例 529
20.2.2 CORBA体系结构 532
20.2.3 CORBA接口定义语言 534
20.2.4 CORBA远程对象引用 537
20.2.5 CORBA语言映射 538
20.2.6 CORBA与Web的集成 538
20.3 CORBA服务 539
20.3.1 CORBA名字服务 540
20.3.2 CORBA事件服务 542
20.3.3 CORBA通知服务 543
20.3.4 CORBA安全服务 544
20.4 小结 544
练习 545
索引 548
参考文献
《编排设计》由余青青编著。编排设计是现代艺术设计的重要组成部分,也是视觉传达的重要手段。它既是一门具有相对独立性的艺术,
Printedentirelyincolor,withhelpfulfiguresandsyntaxcoloringtomakecodesamplesappea...
《西方哲学精神》内容简介:作者在分析、评价从古代到近代西方哲学史上著名的人物和流派的理论、观点的基础上,由中西比较的视点出
《Node即学即用》由休斯-克劳奇、威尔逊编著,《Node即学即用》讲解如何用Node构建可扩展因特网应用,是全面的实用指南,除了详
通道与图层篇-Photoshop层功之道-含配套视频光盘 本书特色 《Photoshop层功之道:通道与图层篇》由印刷工业出版社出版。通道与图层篇-Photos...
该书系统的介绍了信息设计——这一新兴知识,收录了300多张高清图片。以及荷兰、意大利、日本、中国、英国的信息设计师访谈。会让
《近代中国军政关系与“军阀”话语研究(增订本)》内容简介:军阀话语有趣、有用,富于学术研究价值。百余年来,中外相关研究不绝
UI设计入门一本就够 本书特色 本书紧扣用户界面设计趋势,主要讲解了什么是UI设计,UI设计的原则与理念,UI的文字、图片和图标设计,网页UI设计,移动端UI设...
《中国城市包容度、流动人口与城市发展研究》内容简介:城市流动人口、城市产业发展、城市发展规模以及相关的城镇化问题、农民工问
☆大数据领域公认权威、百万级畅销书《大数据时代》作者维克托•迈尔-舍恩伯格教授最新力作☆“终身学习”时代的必读书,开启全新
《路演中国》内容简介:本书用通俗易懂的语言阐述了路演含义、形成、演变、重要作用、落地策略、实用案例,以及各种不同路演的运作
本书介绍了CATIAV5CAD部分的主要模块,分6章依次介绍CATIAV5的操作入门、草图设计、零件设计、曲面造型、装配设计和工程绘图。本
《汽车发动机故障维修实训教程》内容简介:本书共分三项任务,由检修发动机不能起动故障、检修发动机运转不良故障及检修冷却液温度
《曾国藩家书》内容简介:本书辑录了曾国藩在清道光30年至同治10年前后达30年的翰苑和从武生涯的书信一百六十余篇。家书涉及的内容
《科学大王·植物大观》内容简介:开启神奇的植物王国之旅,从藤萝缠绕、花繁叶茂的热带雨林,到奇特的花、草、树、木、水果、蔬菜
《真幌站前狂骚曲》内容简介:《真幌站前狂骚曲》中,多田与行天在彼此嫌弃与互相扶持中,又迎来了新的一年。“真幌站前”系列大结
Thistutorialanelementaryintroductiontoteachnon-programmershowtocustomizetheirwor...
作家加里·哈梅尔的预测尖锐地指出了所有公司面临的挑战——商场逐鹿中,只有疾速创新才能立于不败之地。美国著名设计公司IDEO的
《2020—2021年中国原材料工业发展蓝皮书》内容简介:本书从综合、行业、地区、园区、企业、政策、热点、展望八个角度,分析总结了
《pytest框架与自动化测试应用》内容简介:本书pytest是Python的第三方测试框架,可以实现软件测试各层次自动化。本书系统讲述pyte