[英] George Coulouris《分布式系统概念与设计》

[英] George Coulouris《分布式系统概念与设计》

作者:[英] George Coulouris

出版社:机械工业出版社

出版年:2008-1

评分:7.3

ISBN:9787111224389

所属分类:网络科技

书刊介绍

内容简介

《分布式系统概念与设计》旨在全面介绍因特网及其他常用分布式系统的原理、体系结构、算法和设计,内容涵盖分布式系统的相关概念、安全、数据复制、组通信、分布式文件系统、分布式事务等,以及相关的前沿主题,包括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

参考文献

相关推荐

微信二维码