計算機領(lǐng)域經(jīng)典著(zhù)作,被譽(yù)為是衡量所有其他分布式系統教材的標準,已被愛(ài)丁堡大學(xué)、伊利諾伊大學(xué)、卡內基-梅隆大學(xué)、南加州大學(xué)、得克薩斯A&M大學(xué)、多倫多大學(xué)、羅切斯特理工學(xué)院、北京大學(xué)等名校采納為高級操作系統、計算機網(wǎng)絡(luò )、分布式系統課程的教材。華章從第3版就開(kāi)始引進(jìn)這本《分布式系統:概念與設計(原書(shū)第5版)》,每個(gè)版本翻譯版印量約為7000冊,影印版約為5000冊。雖然由于屬于高級課程,銷(xiāo)量有局限性,但本書(shū)在高等院校的師生和研究人員中具有很高的知名度,對于華章教育品牌也具有較大的支撐作用,所以確定繼續做這本教材。
《分布式系統:概念與設計(原書(shū)第5版)》旨在全面介紹互聯(lián)網(wǎng)及其他常用分布式系統的原理、體系結構、算法和設計,內容涵蓋分布式系統的相關(guān)概念、安全、數據復制、組通信、分布式文件系統、分布式事務(wù)、分布式系統設計等,以及相關(guān)的前沿主題,包括Web服務(wù)、網(wǎng)格、移動(dòng)系統和無(wú)處不在系統等。
George Coulouris,倫敦大學(xué)皇后瑪利學(xué)院榮譽(yù)教授,劍橋大學(xué)計算機實(shí)驗室訪(fǎng)問(wèn)教授。
Jean Dollimore,倫敦大學(xué)皇后瑪利學(xué)院的高級講師。
Tim Kindberg,matter 2 media創(chuàng )新技術(shù)公司創(chuàng )始人,Pervasive Media Studio研究主任,英國布里斯托爾和美國帕洛阿爾托惠普實(shí)驗室高級研究員,英國巴斯大學(xué)計算機科學(xué)系訪(fǎng)問(wèn)教授。
Gordon Blair,蘭卡斯特大學(xué)計算系分布式系統教授,挪威特羅姆瑟大學(xué)兼職教授。
Distributed Systems:Concepts and Design,Fifth Edition
出版者的話(huà)
譯者序
前言
第1章 分布式系統的特征
1.1 簡(jiǎn)介
1.2 分布式系統的例子
1.2.1 Web搜索
1.2.2 大型多人在線(xiàn)游戲
1.2.3 金融交易
1.3 分布式系統的趨勢
1.3.1 泛在聯(lián)網(wǎng)和現代互聯(lián)網(wǎng)
1.3.2 移動(dòng)和無(wú)處不在計算
1.3.3 分布式多媒體系統
1.3.4 把分布式計算作為一個(gè)公共設施
1.4 關(guān)注資源共享
1.5 挑戰
1.5.1 異構性
1.5.2 開(kāi)放性
1.5.3 安全性
1.5.4 可伸縮性
1.5.5 故障處理
1.5.6 并發(fā)性
1.5.7 透明性
1.5.8 服務(wù)質(zhì)量
1.6 實(shí)例研究:萬(wàn)維網(wǎng)
1.7 小結
練習
第2章 系統模型
2.1 簡(jiǎn)介
2.2 物理模型
2.3 體系結構模型
2.3.1 體系結構元素
2.3.2 體系結構模式
2.3.3 相關(guān)的中間件解決方案
2.4 基礎模型
2.4.1 交互模型
2.4.2 故障模型
2.4.3 安全模型
2.5 小結
練習
第3章 網(wǎng)絡(luò )和網(wǎng)際互連
3.1 簡(jiǎn)介
3.2 網(wǎng)絡(luò )類(lèi)型
3.3 網(wǎng)絡(luò )原理
3.3.1 數據包的傳輸
3.3.2 數據流
3.3.3 交換模式
3.3.4 協(xié)議
3.3.5 路由
3.3.6 擁塞控制
3.3.7 網(wǎng)際互連
3.4 互聯(lián)網(wǎng)協(xié)議
3.4.1 IP尋址
3.4.2 IP協(xié)議
3.4.3 IP路由
3.4.4 IPv
3.4.5 移動(dòng)IP
3.4.6 TCP和UDP
3.4.7 域名
3.4.8 防火墻
3.5 實(shí)例研究:以太網(wǎng)、WiFi、藍牙
3.5.1 以太網(wǎng)
3.5.2 IEEE 802.11無(wú)線(xiàn)LAN
3.5.3 IEEE 802.15.1藍牙無(wú)線(xiàn)PAN
3.6 小結
練習
第4章 進(jìn)程間通信
4.1 簡(jiǎn)介
4.2 互聯(lián)網(wǎng)協(xié)議的API
4.2.1 進(jìn)程間通信的特征
4.2.2 套接字
4.2.3 UDP數據報通信
4.2.4 TCP流通信
4.3 外部數據表示和編碼
4.3.1 CORBA的公共數據表示
4.3.2 Java對象序列化
4.3.3 可擴展標記語(yǔ)言
4.3.4 遠程對象引用
4.4 組播通信
4.4.1 IP組播--組播通信的實(shí)現
4.4.2 組播的可靠性和排序
4.5 網(wǎng)絡(luò )虛擬化:覆蓋網(wǎng)絡(luò )
4.5.1 覆蓋網(wǎng)絡(luò )
4.5.2 Skype:一個(gè)覆蓋網(wǎng)絡(luò )的例子
4.6 實(shí)例研究:MPI
4.7 小結
練習
第5章 遠程調用
5.1 簡(jiǎn)介
5.2 請求-應答協(xié)議
5.3 遠程過(guò)程調用
5.3.1 RPC的設計問(wèn)題
5.3.2 RPC的實(shí)現
5.3.3 實(shí)例研究:Sun RPC
5.4 遠程方法調用
5.4.1 RMI的設計問(wèn)題
5.4.2 RMI的實(shí)現
5.4.3 分布式無(wú)用單元收集
5.5 實(shí)例研究:Java RMI
5.5.1 創(chuàng )建客戶(hù)和服務(wù)器程序
5.5.2 Java RMI的設計和實(shí)現
5.6 小結
練習
第6章 間接通信
6.1 簡(jiǎn)介
6.2 組通信
6.2.1 編程模型
6.2.2 實(shí)現問(wèn)題
6.2.3 實(shí)例研究:JGroups工具箱
6.3 發(fā)布-訂閱系統
6.3.1 編程模型
6.3.2 實(shí)現問(wèn)題
6.3.3 發(fā)布-訂閱系統的例子
6.4 消息隊列
6.4.1 編程模型
6.4.2 實(shí)現問(wèn)題
6.4.3 實(shí)例研究:Java消息服務(wù)
6.5 共享內存的方式
6.5.1 分布式共享內存
6.5.2 元組空間通信
6.6 小結
練習
第7章 操作系統支持
7.1 簡(jiǎn)介
7.2 操作系統層
7.3 保護
7.4 進(jìn)程和線(xiàn)程
7.4.1 地址空間
7.4.2 新進(jìn)程的生成
7.4.3 線(xiàn)程
7.5 通信和調用
7.5.1 調用性能
7.5.2 異步操作
7.6 操作系統的體系結構
7.7 操作系統層的虛擬化
7.7.1 系統虛擬化
7.7.2 實(shí)例研究:系統虛擬化的Xen方法
7.8 小結
練習
第8章 分布式對象和組件
8.1 簡(jiǎn)介
8.2 分布式對象
8.3 實(shí)例研究:CORBA
8.3.1 CORBA RMI
8.3.2 CORBA的體系結構
8.3.3 CORBA遠程對象引用
8.3.4 CORBA服務(wù)
8.3.5 CORBA客戶(hù)和服務(wù)器實(shí)例
8.4 從對象到組件
8.5 實(shí)例研究:企業(yè)JavaBeans和Fractal
8.5.1 企業(yè)JavaBeans
8.5.2 Fractal
8.6 小結
練習
第9章 Web服務(wù)
9.1 簡(jiǎn)介
9.2 Web服務(wù)
9.2.1 SOAP
9.2.2 Web服務(wù)與分布式對象模型的比較
9.2.3 在Java中使用SOAP
9.2.4 Web服務(wù)和CORBA的比較
9.3 Web服務(wù)的服務(wù)描述和接口定義語(yǔ)言
9.4 Web服務(wù)使用的目錄服務(wù)
9.5 XML安全性
9.6 Web服務(wù)的協(xié)作
9.7 Web服務(wù)的應用
9.7.1 面向服務(wù)的體系結構
9.7.2 網(wǎng)格
9.7.3 云計算
9.8 小結
練習
第10章 對等系統
10.1 簡(jiǎn)介
10.2 Napster及其遺留系統
10.3 對等中間件
10.4 路由覆蓋
10.5 路由覆蓋實(shí)例研究:Pastry和Tapestry
10.5.1 Pastry
10.5.2 Tapestry
10.5.3 從結構化對等方法到非結構化對等方法
10.6 應用實(shí)例研究:Squirrel、OceanStore和Ivy
10.6.1 Squirrel Web緩存
10.6.2 OceanStore文件存儲
10.6.3 Ivy文件系統
10.7 小結
練習
第11章 安全性
11.1 簡(jiǎn)介
11.1.1 威脅和攻擊
11.1.2 保護電子事務(wù)
11.1.3 設計安全系統
11.2 安全技術(shù)概述
11.2.1 密碼學(xué)
11.2.2 密碼學(xué)的應用
11.2.3 證書(shū)
11.2.4 訪(fǎng)問(wèn)控制
11.2.5 憑證
11.2.6 防火墻
11.3 密碼算法
11.3.1 密鑰(對稱(chēng))算法
11.3.2 公鑰(不對稱(chēng))算法
11.3.3 混合密碼協(xié)議
11.4 數字簽名
11.4.1 公鑰數字簽名
11.4.2 密鑰數字簽名--MAC
11.4.3 安全摘要函數
11.4.4 證書(shū)標準和證書(shū)權威機構
11.5 密碼實(shí)用學(xué)
11.5.1 密碼算法的性能
11.5.2 密碼學(xué)的應用和政治障礙
11.6 實(shí)例研究:Needham-Schroeder、Kerberos、TLS和802.11 WiFi
11.6.1 Needham-Schroeder認證協(xié)議
11.6.2 Kerberos
11.6.3 使用安全套接字確保電子交易安全
11.6.4 IEEE 802.11 WiFi安全設計中最初的缺陷
11.7 小結
練習
第12章 分布式文件系統
12.1 簡(jiǎn)介
12.1.1 文件系統的特點(diǎn)
12.1.2 分布式文件系統的需求
12.1.3 實(shí)例研究
12.2 文件服務(wù)體系結構
12.3 實(shí)例研究:SUN網(wǎng)絡(luò )文件系統
12.4 實(shí)例研究:Andrew文件系統
12.4.1 實(shí)現
12.4.2 緩存的一致性
12.4.3 其他方面
12.5 最新進(jìn)展
12.6 小結
練習
第13章 名字服務(wù)
13.1 簡(jiǎn)介
13.2 名字服務(wù)和域名系統
13.2.1 名字空間
13.2.2 名字解析
13.2.3 域名系統
13.3 目錄服務(wù)
13.4 實(shí)例研究:全局名字服務(wù)
13.5 實(shí)例研究:X.500目錄服務(wù)
13.6 小結
練習
第14章 時(shí)間和全局狀態(tài)
14.1 簡(jiǎn)介
14.2 時(shí)鐘、事件和進(jìn)程狀態(tài)
14.3 同步物理時(shí)鐘
14.3.1 同步系統中的同步
14.3.2 同步時(shí)鐘的Cristian方法
14.3.3 Berkeley算法
14.3.4 網(wǎng)絡(luò )時(shí)間協(xié)議
14.4 邏輯時(shí)間和邏輯時(shí)鐘
14.5 全局狀態(tài)
14.5.1 全局狀態(tài)和一致割集
14.5.2 全局狀態(tài)謂詞、穩定性、安全性和活性
14.5.3 Chandy和Lamport的“快照”算法
14.6 分布式調試
14.6.1 收集狀態(tài)
14.6.2 觀(guān)察一致的全局狀態(tài)
14.6.3 判定可能的
14.6.4 判定明確的
14.6.5 在同步系統中判定可能的和明確的
14.7 小結
練習
第15章 協(xié)調和協(xié)定
15.1 簡(jiǎn)介
15.2 分布式互斥
15.3 選舉
15.4 組通信中的協(xié)調與協(xié)定
15.4.1 基本組播
15.4.2 可靠組播
15.4.3 有序組播
15.5 共識和相關(guān)問(wèn)題
15.5.1 系統模型和問(wèn)題定義
15.5.2 同步系統中的共識問(wèn)題
15.5.3 同步系統中的拜占庭將軍問(wèn)題
15.5.4 異步系統的不可能性
15.6 小結
練習
第16章 事務(wù)和并發(fā)控制
16.1 簡(jiǎn)介
16.1.1 簡(jiǎn)單的同步機制(無(wú)事務(wù))
16.1.2 事務(wù)的故障模型
16.2 事務(wù)
16.2.1 并發(fā)控制
16.2.2 事務(wù)放棄時(shí)的恢復
16.3 嵌套事務(wù)
16.4 鎖
16.4.1 死鎖
16.4.2 在加鎖機制中增加并發(fā)度
16.5 樂(lè )觀(guān)并發(fā)控制
16.6 時(shí)間戳排序
16.7 并發(fā)控制方法的比較
16.8 小結
練習
第17章 分布式事務(wù)
17.1 簡(jiǎn)介
17.2 平面分布式事務(wù)和嵌套分布式事務(wù)
17.3 原子提交協(xié)議
17.3.1 兩階段提交協(xié)議
17.3.2 嵌套事務(wù)的兩階段提交協(xié)議
17.4 分布式事務(wù)的并發(fā)控制
17.4.1 加鎖
17.4.2 時(shí)間戳并發(fā)控制
17.4.3 樂(lè )觀(guān)并發(fā)控制
17.5 分布式死鎖
17.6 事務(wù)恢復
17.6.1 日志
17.6.2 影子版本
17.6.3 為何恢復文件需要事務(wù)狀態(tài)和意圖列表
17.6.4 兩階段提交協(xié)議的恢復
17.7 小結
練習
第18章 復制
18.1 簡(jiǎn)介
18.2 系統模型和組通信的作用
18.2.1 系統模型
18.2.2 組通信的作用
18.3 容錯服務(wù)
18.3.1 被動(dòng)(主備份)復制
18.3.2 主動(dòng)復制
18.4 高可用服務(wù)的實(shí)例研究:閑聊體系結構、Bayou和Coda
18.4.1 閑聊體系結構
18.4.2 Bayou系統和操作變換方法
18.4.3 Coda文件系統
18.5 復制數據上的事務(wù)
18.5.1 復制事務(wù)的體系結構
18.5.2 可用拷貝復制
18.5.3 網(wǎng)絡(luò )分區
18.5.4 帶驗證的可用拷貝
18.5.5 法定數共識方法
18.5.6 虛擬分區算法
18.6 小結
練習
第19章 移動(dòng)和無(wú)處不在計算
19.1 簡(jiǎn)介
19.2 關(guān)聯(lián)
19.2.1 發(fā)現服務(wù)
19.2.2 物理關(guān)聯(lián)
19.2.3 小結和前景
19.3 互操作
19.3.1 易變系統的面向數據編程
19.3.2 間接關(guān)聯(lián)和軟狀態(tài)
19.3.3 小結和前景
19.4 感知和上下文敏感
19.4.1 傳感器
19.4.2 感知體系結構
19.4.3 位置感知
19.4.4 小結和前景
19.5 安全性和私密性
19.5.1 背景
19.5.2 一些解決辦法
19.5.3 小結和前景
19.6 自適應
19.6.1 內容的上下文敏感自適應
19.6.2 適應變化的系統資源
19.6.3 小結和前景
19.7 實(shí)例研究:Cooltown
19.7.1 Web存在
19.7.2 物理超鏈接
19.7.3 互操作和eSquirt協(xié)議
19.7.4 小結和前景
19.8 小結
練習
第20章 分布式多媒體系統
20.1 簡(jiǎn)介
20.2 多媒體數據的特征
20.3 服務(wù)質(zhì)量管理
20.3.1 服務(wù)質(zhì)量協(xié)商
20.3.2 許可控制
20.4 資源管理
20.5 流自適應
20.5.1 調整
20.5.2 過(guò)濾
20.6 實(shí)例研究:Tiger視頻文件服務(wù)器、BitTorrent和端系統多播
20.6.1 Tiger視頻文件服務(wù)器
20.6.2 BitTorrent
20.6.3 端系統多播
20.7 小結
練習
第21章 分布式系統設計:Google實(shí)例研究
21.1 簡(jiǎn)介
21.2 實(shí)例研究簡(jiǎn)介:Google
21.3 總體結構和設計理念
21.3.1 物理模型
21.3.2 總的系統體系結構
21.4 底層通信范型
21.4.1 遠程調用
21.4.2 發(fā)布-訂閱
21.4.3 通信的關(guān)鍵設計選擇總結
21.5 數據存儲和協(xié)調服務(wù)
21.5.1 Google文件系統
21.5.2 Chubby
21.5.3 Bigtable
21.5.4 關(guān)鍵設計選擇總結
21.6 分布式計算服務(wù)
21.6.1 MapReduce
21.6.2 Sawzall
21.6.3 關(guān)鍵設計選擇總結
21.7 小結
練習
參考文獻
索引