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