第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
         参考文献
      · · · · · ·     (
收起)