分布式系统:概念与设计(原书第5版)
作者 : (英)George Coulouris Jean Dollimore Tim Kindberg Gordon Blair 著
译者 : 金蓓弘 马应龙 等译
丛书名 : 计算机科学丛书
出版日期 : 2013-03-15
ISBN : 978-7-111-40392-0
定价 : 128.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 652
开本 : 16
原书名 : Distributed Systems: Concepts and Design, Fifth Edition
原出版社: Pearson Education Asia
属性分类: 教材
包含CD :
绝版 :
图书简介

本书旨在全面介绍互联网及其他常用分布式系统的原理、体系结构、算法和设计,内容涵盖分布式系统的相关概念、安全、数据复制、组通信、分布式文件系统、分布式事务、分布式系统设计等,以及相关的前沿主题,包括Web服务、网格、移动系统和无处不在系统等。

图书特色

分布式系统概念与设计(原书第5版)
Distributed Systems Concepts and Design
Fifth Edition
(英)George Coulouris Jean Dollimore Tim Kindberg  Gordon Blair 著
金蓓弘 马应龙 等译

从移动电话到互联网,我们的生活越来越依赖于以无缝和透明的方式将计算机和其他设备链接在一起的分布式系统。本书全面介绍分布式系统的设计原理和实践及其最新进展,并使用大量最新的实例研究来阐明分布式系统的设计与开发方法。
本书前几版已被爱丁堡大学、伊利诺伊大学、卡内基-梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗切斯特理工学院、北京大学等众多名校选用为教材。第5版在上一版的基础上,新增了三章内容,分别介绍间接通信、分布式对象和组件、分布式系统设计(以Google为例)。
本书网站www.cdk5.net为学生和教师提供了丰富的学习资源和教学资源(源代码、参考文献、教学幻灯片、勘误等)。

作者简介
George Coulouris 伦敦大学皇后玛利学院荣誉教授,剑桥大学计算机实验室访问教授。
Jean Dollimore 伦敦大学皇后玛利学院的高级讲师。
Tim Kindberg 创新技术公司创始人,Pervasive Media Studio研究主任,英国布里斯托尔和美国帕洛阿尔托惠普实验室高级研究员,英国巴斯大学计算机科学系访问教授。
Gordon Blair 兰卡斯特大学计算系分布式系统教授,挪威特罗姆瑟大学兼职教授。

图书前言

在互联网和Web持续发展并且对我们社会的每个方面都产生影响的时候,这本教材的第5版问世了。本书的介绍性章节提到互联网和Web对诸多(如金融、商业、艺术、娱乐等)应用领域的影响以及对信息社会的普遍影响。它还强调了诸如Web搜索和多人在线游戏等应用领域中的需求。从分布式系统的角度出发,这些开发在应用的范围、多个现代系统所支持的工作负载和系统大小等方面正在对底层系统架构提出实质性的新需求。重要的趋势包括网络技术上不断增加的多样性和普遍性(包括不断增加的无线网络的重要性)、移动和无处不在计算元素及分布式系统架构的集成(这导致了相当不同的物理体系结构),还包括支持多媒体服务的需求和云计算模式的出现,这些都对分布式系统服务的观点提出了挑战。
  本书旨在提供对互联网和其他分布式系统原理的理解,提供这些系统的体系结构、算法和设计,展示它们如何满足当代分布式应用的需求。本书的前7章覆盖分布式系统研究的基础部分。前两章提供对主题的概念性概述,介绍了分布式系统的特征和在系统设计中所必须解决的挑战:最重要的可伸缩性、异构性、安全性和故障处理。这两章还开发了用于理解交互过程、故障和安全性的抽象模型。随后是其他基础性章节,这些章节介绍了网络研究、进程间通信、远程调用、间接通信和操作系统支持。
  后续的章节涉及中间件这个重要的主题,考察了支持分布式应用的不同的方法,包括分布式对象和组件、Web服务和对等解决方案。接下来的章节涉及安全、分布式文件系统和分布式命名系统这些已被完善的主题,然后介绍了与数据相关的重要方面(包括分布式事务和数据复制)。与这些主题相关的算法也在它们出现时被论及,或者在专门论述定时、协调和协定等单独的章节中介绍。
  本书接着论述移动和无处不在计算以及分布式多媒体系统这些新出现的领域,然后给出了一个内容充实的实例研究,从搜索功能和由Google提供的不断扩展的附加服务(例如,Gmail和Google Earth)两个角度,关注支持Google的分布式系统基础设施的设计和实现。最后一章综述了本书所介绍的所有这些体系结构概念、算法和技术,诠释了如何在一个给定应用领域的整体设计中将这些内容组织在一起。
第5版新增部分
  新的章节
  间接通信(第6章),包括组通信、发布-订阅,对JavaSpaces、JMS、WebSphere和Message Queues的实例研究。
  分布式对象和组件(第8章),包括基于组件的中间件和对企业版JavaBeans、Fractal和CORBA的实例研究。
  分布式系统设计:Google实例研究(第21章),专门针对Google基础设施的新的大的实例研究。
  新增到其他章节中的主题 云计算、网络虚拟化、操作系统虚拟化、消息传递接口、无结构的P2P、元组空间、与Web服务相关的松耦合。
  其他新的实例研究 Skype、Gnutella、TOTA、L2imbo、BitTorrent、End System Multicast。
  关于内容更新的更详细的情况,参见Ⅷ页中的表。
目的和读者群
  本书可用做本科生教材和研究生的入门教材,也可作为自学教材。本书采用自顶向下的方法,首先叙述在分布式系统设计中要解决的问题,然后,通过抽象模型、算法和对广泛使用的系统进行详细的实例研究,描述成功开发系统的方法。本书覆盖的领域有足够的深度和广度,以便读者能继续研究分布式系统文献中大多数的研究论文。
  本书针对具有面向对象编程、操作系统、初级计算机体系结构等基础知识的学生。本书覆盖与分布式系统有关的计算机网络,包括互联网、广域网、局域网和无线网的基本技术。本书中的算法和接口大部分用Java描述,小部分用ANSI C描述。为了表述上的简洁明了,还使用一种从Java/C派生出来的伪码。
本书的组织
  下图显示的本书章节可归在7个主要的主题领域。该图提供了本书的结构指南,也为教师、读者提供了一个导航路径,以便于他们理解分布式系统设计中的不同子领域。
参考文献
  万维网的存在改变了书(例如本书)与源材料(包括研究论文、技术规约和标准)的链接方式。许多源文件现在可从Web上获取,有一些甚至只能从Web上获得。出于简洁和可读性的考虑,本书对Web参考材料采用了一种特殊的格式,类似URL参考文献,诸如[www.omg.org]和[www.rsasecurity.com I]的参考文献指的是仅能从Web上获得的文档。在本书结尾的参考文献清单中可以找到它们,但是完整的URL仅在本书参考文献的联机版本(www.cdk5.net/refs)上给出。两个版本的参考文献都有对这种机制的详细解释。
与第4版相关的改变
  在开始新版本写作之前,我们针对使用第4版的教师做了一个调查,并根据调查结果识别出所需要的新材料和需要做的修改。此外,我们认识到不断增加的分布式系统的多样性,特别是从当前可用于分布式系统开发者的体系结构方法的范围来说。这些都要求本书做重要的改变,特别是前面(基础性)的章节。
  总之,这些使得我们编写了全新的3章,对其他一些章节做了实质性的修改,并在书中多处补充了新的内容。对许多章节进行了改变以反映所描述系统的新的、可用的信息。这些修改总结在下面的表格中。为了帮助已使用过第4版的教师,只要可能,我们就保留了前一版本采用的结构。对于已被删除的材料,我们把它放在与书配套的Web网站上,并与以前版本中被删除的材料放在一起。这些被删除的材料包括关于ATM的实例研究、UNIX中的进程间通信、CORBA(其精减的版本仍然保留在第8章中)、Jini分布式事件规约和(以OGSA和Globus工具集为特色的)网格中间件,以及关于分布式共享内存的章节(对它的简明总结现在被包含在第6章中)。
  在本书的一些章节中,例如新的关于间接通信的章节(第6章)包含了许多材料。教师在选择2~3项技术做详细的讲解之前可以选择广泛的内容(例如,组通信,假定它的基本角色,以及发布-订阅或消息队列,假定它们在商业分布式系统中的盛行)。
  章节的顺序已经修改以容纳新的材料,并反映对某些主题相对重要性的改变。为了完全理解某些主题,读者可能发现附带一个参考文献是必要的。例如,如果第9章引用的第11章安全的章节被理解,那么第9章关于XML安全技术的内容可以被更好地理解。
  本书结构变动如下表所示:
  新增的章:第6章 间接通信 包括了第4版的事件和通知第8章 分布式对象和组件 全部包括了来自第4版的CORBA实例研究第21章 分布式系统设计:Google实例研究 包含一个新的关于Google的大的实例研究有实质性改变的章:第1章 分布式系统的特征 重要材料的重构:新增1.2节和1.3.4节关于云计算的介绍第2章 系统模型
   重要材料的重构:新增2.2节,2.3节重写以反映新书的内容和相关的体系结构观点第4章 进程间通信
   几处更新:客户-服务器通信移到了第5章;新增4.5节(包括了关于Skype的实例研究);新增4.6节;删除了对UNIX的IPC的实例研究第5章 远程调用
   重要材料的重构:客户-服务器通信移到该章;介绍了从客户-服务器通信到RPC以及RMI的发展;事件和通知移到了第6章增加了新内容或删除了内容的章,但没有结构性改变:第3章 网络和网际互连 几处更新:3.5节删除了ATM的材料第7章 操作系统支持 新增7.7节第9章 Web服务 9.2节新增了松耦合的讨论第10章 对等系统 新增10.5.3节讨论了非结构化对等系统(包括了新的Gnutella实例研究)第15章 协调和协定 组通信的材料移到了第6章第18章 复制 组通信的材料移到了第6章第19章 移动和无处不在计算 19.3.1节增加了元组空间(TOTA和L2imbo)的材料第20章 分布式多媒体系统 20.6节补充了新的实例研究,增加了BitTorrent和End System Multicast
  剩下的章节仅做了少量的修改。
致谢
  我们非常感谢下列参加了我们调查的教师:Guohong Cao、Jose Fortes、Bahram Khalili、George Blank、Jinsong Ouyang、JoAnne Holliday、George K.Thiruvathukal、Joel Wein、Tao Xie和Xiaobo Zhou。
  我们要感谢下列审阅新章节或提供其他实质性帮助的人:Rob Allen、Roberto Baldoni、John Bates、Tom Berson、Lynne Blair、Geoff Coulson、Paul Grace、Andrew Herbert、David Hutchison、Laurent Mathy、Rajiv Ramdhany、Richard Sharp、Jean-Bernard Stefani、Rip Sohan、Francois Taiani、Peter Triantafillou、Gareth Tyson和已故的Maurice Wikes先生。我们还要感谢Google的员工,他们的见解剖析了Google基础设施的设计合理性,他们是:Mike Burrow、Tushar Chandra、Walfredo Cirne、Jeff Dean、Sanjay Ghemawat、Andrea Kirmse和John Reumann。
这本书的编辑Rachel Head也提供了重要的支持。
Web站点
  和以前一样,我们在一个Web站点中提供了大量的材料,用于帮助教师和读者。读者可通过URL访问该网站:www.cdk5.net。
  该Web网站包括:
  教师指导 我们为教师提供下列辅助性材料:
  本书全部的插图(以PowerPoint文件的方式);
  按章给出的教学提示;
  练习的答案(有口令保护,仅对教师开放)。
  参考文献清单 本书结尾处的参考文献清单也可在Web网站上找到。参考文献清单的Web版本包含可联机获得的材料的Web链接。
  勘误表 给出书中的错误和改正清单。错误在本书重印时被更正,针对每次印刷提供一个单独的勘误表。(鼓励读者报告遇到的任何明显的错误到下面的电子邮件地址。)
  补充材料 我们为每一章提供一套补充材料。包括书中程序的源代码和相关的阅读材料,主要是本书上一版本有的但在本版本中因篇幅的缘故而被删除的材料,该类补充材料在本书中用类似www.cdk5.net/ipc(该URL提供与第4章“进程间通信”相关的补充材料)的链接表示。第4版的两个完整的章在新版中不再出现,它们可以在下面的URL处找到:
  CORBA实例研究:www.cdk5.net/corba。
  分布式共享内存:www.cdk5.net/dsm。

George Coulouris
Jean Dollimore
Tim Kindberg
Gordon Blair
伦敦,布里斯托尔,兰开斯特,2011
authors@cdk5.net

上架指导

计算机科学及应用

封底文字

从移动电话到互联网,我们的生活越来越依赖于以无缝和透明的方式将计算机和其他设备链接在一起的分布式系统。本书全面介绍分布式系统的设计原理和实践及其最新进展,并使用大量最新的实例研究来阐明分布式系统的设计与开发方法。
本书前几版已被爱丁堡大学、伊利诺伊大学、卡内基-梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗切斯特理工学院、北京大学等众多名校选用为教材。第5版在上一版的基础上,新增了三章内容,分别介绍间接通信、分布式对象和组件、分布式系统设计(以Google为例)。

本书网站www.cdk5.net为学生和教师提供了丰富的学习资源和教学资源(源代码、参考文献、教学幻灯片、勘误等)。

作者简介

(英)George Coulouris Jean Dollimore Tim Kindberg Gordon Blair 著:George Coulouris伦敦大学皇后玛利学院荣誉教授,剑桥大学计算机实验室访问教授。 Jean Dollimore 伦敦大学皇后玛利学院的高级讲师。 Tim Kindberg matter 2 media创新技术公司创始人,Pervasive Media Studio研究主任,英国布里斯托尔和美国帕洛阿尔托惠普实验室高级研究员,英国巴斯大学计算机科学系访问教授。 Gordon Blair 兰卡斯特大学计算系分布式系统教授,挪威特罗姆瑟大学兼职教授。

译者简介

金蓓弘 马应龙 等译:暂无简介

译者序

光阴荏苒,从接手《分布式系统:概念与设计》第3版翻译到今日之第5版翻译完毕,一晃10年的时间过去了。
  10年来,随着网络技术的发展、计算机应用的深入、分布式系统构建技术的日益成熟,分布式系统逐渐深入到人们的日常活动,并渗透到社会、经济、文化生活的各个方面。现今,分布式系统作为主流的软件系统,已成为人们工作、学习和生活中不可或缺的一部分。
  本书介绍了分布式系统的概念、基本原理和核心技术,覆盖的内容涉及分布式算法、中间件、系统服务、分布式数据处理等。阅读此书,既可以从系统层面了解分布式系统构建的基本原理,又可以从算法层面获知分布式系统构建的核心技术。
  本书涉猎广泛、内容充实,叙述深入浅出、条理清晰,每章后都配备有练习,并设有Web网站提供大量额外的资料,因此,本书可以作为大学高年级本科生和研究生分布式计算课程的教材或参考书,而且本书对分布式计算领域的科研人员也有很大的参考价值。
  值得一提的是,本书的作者多年来坚持不懈地总结分布式计算领域的研究成果,不断地更新本书的内容,使其能与时俱进地反映新的、已可用的系统设计原理和技术(包括算法、策略和机制等)。例如,本书的第4版增加了对等系统、移动和无处不在计算、Web服务等相关内容,第5版又新增了3章,分别是第6章“间接通信”,第8章“分布式对象和组件”,第21章“分布式系统设计:Google实例研究”。
  本书第3版至第5版由中国科学院软件研究所研究员金蓓弘博士组织并主持翻译,具体情况如下:参与第3版翻译工作的有金蓓弘、李剑博士、丁柯博士、刘绍华博士、阮彤博士、王仲玉、刘志军;参与第4版翻译和校对的有金蓓弘、曹冬磊博士、张发恩、张英、臧志;在第5版中,新增的第6章由张扶桑、杨宇威翻译,第8章由张利锋博士翻译,第21章由李森、杨宇威翻译,金蓓弘、马应龙博士对第5版全文做了统稿。
  限于时间和水平,翻译中不当之处在所难免,欢迎广大读者批评和指正。
感谢机械工业出版社华章分社在引进、编辑、出版本书过程中所做的努力。

金蓓弘
中国科学院软件研究所
马应龙
华北电力大学控制与计算机工程学院
2012年12月于北京

图书目录

出版者的话
译者序
前言
第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

教学资源推荐
作者: (英)George Coulouris  Jean Dollimore  Tim Kindberg  Gordon Blair 著
作者: 张玉洁,孟祥武,徐塞虹
作者: [美]蒂莫西 J. 奥利里(Timothy J. O'Leary) 琳达 I. 奥利里(Linda I. O'Leary) 丹尼尔 A. 奥利里(Daniel A. O'Leary) 著
参考读物推荐
作者: [美]布莱恩·W. 柯尼汉(Brian W. Kernighan) 著
作者: [美] 菲利普 G.伊佐特 (Phillip G.Ezolt) 著