《分布式系统 概念与设计 原书第5版》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(英)GeorgeCoulouris,JeanDollimoreTimKindberg,GordonBlair
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111403920
  • 页数:638 页
图书介绍:本书旨在全面介绍互联网及其他常用分布式系统的原理、体系结构、算法和设计,内容涵盖分布式系统的相关概念、安全、数据复制、组通信、分布式文件系统、分布式事务、分布式系统设计等,以及相关的前沿主题,包括Web服务、网格、移动系统和无处不在系统等。

第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 IPv6 67

3.4.5移动IP 69

3.4.6 TCP和UDP 70

3.4.7域名 71

3.4.8防火墙 72

3.5实例研究:以太网、WiFi、蓝牙 74

3.5.1以太网 75

3.5.2 IEEE 802.11无线LAN 78

3.5.3 IEEE 802.15.1蓝牙无线PAN 79

3.6小结 81

练习 81

第4章 进程间通信 83

4.1简介 83

4.2互联网协议的API 84

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实例研究:MPI 103

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 RPC 116

5.4远程方法调用 118

5.4.1 RMI的设计问题 118

5.4.2 RMI的实现 121

5.4.3分布式无用单元收集 124

5.5实例研究:Java RMI 125

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实例研究:CORBA 198

8.3.1 CORBA RMI 199

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和Fractal 212

8.5.1企业JavaBeans 213

8.5.2 Fractal 217

8.6小结 220

练习 220

第9章Web服务 222

9.1简介 222

9.2 Web服务 223

9.2.1 SOAP 225

9.2.2 Web服务与分布式对象模型的比较 228

9.2.3在Java中使用SOAP 229

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路由覆盖实例研究:Past和Tapest 254

10.5.1 Pastry 254

10.5.2 Tapest 260

10.5.3从结构化对等方法到非结构化对等方法 260

10.6应用实例研究:Squirrel、OceanStore和Ivy 262

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密钥数字签名——MAC 291

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 WiFi 295

11.6.1 Needham-Schroeder认证协议 295

11.6.2 Kerberos 296

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和Coda 463

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实例研究:Cooltown 518

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 BitTorrent 540

20.6.3端系统多播 541

20.7小结 544

练习 544

第21章 分布式系统设计:Google实例研究 546

21.1简介 546

21.2实例研究简介:Google 547

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 Chubby 561

21.5.3 Bigtable 565

21.5.4关键设计选择总结 570

21.6分布式计算服务 571

21.6.1 MapReduce 571

21.6.2 Sawzall 574

21.6.3关键设计选择总结 575

21.7小结 576

练习 576

参考文献 578

索引 615