天天看點

《分布式系統:概念與設計》一第3節 練習

《分布式系統:概念與設計》一第3節 練習

在網際網路和web持續發展并且對我們社會的每個方面都産生影響的時候,這本教材的第5版問世了。本書的介紹性章節提到網際網路和web對諸多(如金融、商業、藝術、娛樂等)應用領域的影響以及對資訊社會的普遍影響。它還強調了諸如web搜尋和多人線上遊戲等應用領域中的需求。從分布式系統的角度出發,這些開發在應用的範圍、多個現代系統所支援的工作負載和系統大小等方面正在對底層系統架構提出實質性的新需求。重要的趨勢包括網絡技術上不斷增加的多樣性和普遍性(包括不斷增加的無線網絡的重要性)、移動和無處不在計算元素及分布式系統架構的內建(這導緻了相當不同的實體體系結構),還包括支援多媒體服務的需求和雲計算模式的出現,這些都對分布式系統服務的觀點提出了挑戰。

第4章 程序間通信

 4.1 簡介

 4.2 網際網路協定的api

  4.2.1 程序間通信的特征

  4.2.2 套接字

  4.2.3 udp資料報通信

  4.2.4 tcp流通信

 4.3 外部資料表示和編碼

  4.3.1 corba的公共資料表示

  4.3.2 java對象序列化

  4.3.3 可擴充标記語言

  4.3.4 遠端對象引用

 4.4 多點傳播通信

  4.4.1 ip多點傳播——多點傳播通信的實作

  4.4.2 多點傳播的可靠性和排序

 4.5 網絡虛拟化:覆寫網絡

  4.5.1 覆寫網絡

  4.5.2 skype:一個覆寫網絡的例子

 4.6 執行個體研究:mpi

 4.7 小結

 練習

第5章 遠端調用

 5.1 簡介

 5.2 請求-應答協定

 5.3 遠端過程調用

  5.3.1 rpc的設計問題

  5.3.2 rpc的實作

  5.3.3 執行個體研究:sun rpc

 5.4 遠端方法調用

  5.4.1 rmi的設計問題

  5.4.2 rmi的實作

  5.4.3 分布式無用單元收集

 5.5 執行個體研究:java rmi

  5.5.1 建立客戶和伺服器程式

  5.5.2 java rmi的設計和實作

 5.6 小結

第6章 間接通信

 6.1 簡介

 6.2 組通信

  6.2.1 程式設計模型

  6.2.2 實作問題

  6.2.3 執行個體研究:jgroups工具箱

 6.3 釋出-訂閱系統

  6.3.1 程式設計模型

  6.3.2 實作問題

  6.3.3 釋出-訂閱系統的例子

 6.4 消息隊列

  6.4.1 程式設計模型

  6.4.2 實作問題

  6.4.3 執行個體研究:java消息服務

 6.5 共享記憶體的方式

  6.5.1 分布式共享記憶體

  6.5.2 元組空間通信

 6.6 小結

第7章 作業系統支援

 7.1 簡介

 7.2 作業系統層

 7.3 保護

 7.4 程序和線程

  7.4.1 位址空間

  7.4.2 新程序的生成

  7.4.3 線程

 7.5 通信和調用

  7.5.1 調用性能

  7.5.2 異步操作

 7.6 作業系統的體系結構

 7.7 作業系統層的虛拟化

  7.7.1 系統虛拟化

  7.7.2 執行個體研究:系統虛拟化的xen方法

 7.8 小結

第8章 分布式對象群組件

 8.1 簡介

 8.2 分布式對象

 8.3 執行個體研究:corba

  8.3.1 corba rmi

  8.3.2 corba的體系結構

  8.3.3 corba遠端對象引用

  8.3.4 corba服務

  8.3.5 corba客戶和伺服器執行個體

 8.4 從對象到元件

 8.5 執行個體研究:企業javabeans和fractal

  8.5.1 企業javabeans

  8.5.2 fractal

 8.6 小結

第9章 web服務

 9.1 簡介

 9.2 web服務

  9.2.1 soap

  9.2.2 web服務與分布式對象模型的比較

  9.2.3 在java中使用soap

  9.2.4 web服務和corba的比較

 9.3 web服務的服務描述和接口定義語言

 9.4 web服務使用的目錄服務

 9.5 xml安全性

 9.6 web服務的協作

 9.7 web服務的應用

  9.7.1 面向服務的體系結構

  9.7.2 網格

  9.7.3 雲計算

 9.8 小結

第10章 對等系統

 10.1 簡介

 10.2 napster及其遺留系統

 10.3 對等中間件

 10.4 路由覆寫

 10.5 路由覆寫執行個體研究:pastry和tapestry

  10.5.1 pastry

  10.5.2 tapestry

  10.5.3 從結構化對等方法到非結構化對等方法

 10.6 應用執行個體研究:squirrel、oceanstore和ivy

  10.6.1 squirrel web緩存

  10.6.2 oceanstore檔案存儲

  10.6.3 ivy檔案系統

 10.7 小結

第11章 安全性

 11.1 簡介

  11.1.1 威脅和攻擊

  11.1.2 保護電子事務

  11.1.3 設計安全系統

 11.2 安全技術概述

  11.2.1 密碼學

  11.2.2 密碼學的應用

  11.2.3 證書

  11.2.4 通路控制

  11.2.5 憑證

  11.2.6 防火牆

 11.3 密碼算法

  11.3.1 密鑰(對稱)算法

  11.3.2 公鑰(不對稱)算法

  11.3.3 混合密碼協定

 11.4 數字簽名

  11.4.1 公鑰數字簽名

  11.4.2 密鑰數字簽名——mac

  11.4.3 安全摘要函數

  11.4.4 證書标準和證書權威機構

 11.5 密碼實用學

  11.5.1 密碼算法的性能

  11.5.2 密碼學的應用和政治障礙

 11.6 執行個體研究:needham-schroeder、kerberos、tls和802.11 wifi

  11.6.1 needham-schroeder認證協定

  11.6.2 kerberos

  11.6.3 使用安全套接字確定電子交易安全

  11.6.4 ieee 802.11 wifi安全設計中最初的缺陷

 11.7 小結

第12章 分布式檔案系統

 12.1 簡介

  12.1.1 檔案系統的特點

  12.1.2 分布式檔案系統的需求

  12.1.3 執行個體研究

 12.2 檔案服務體系結構

 12.3 執行個體研究:sun網絡檔案系統

 12.4 執行個體研究:andrew檔案系統

  12.4.1 實作

  12.4.2 緩存的一緻性

  12.4.3 其他方面

 12.5 最新進展

 12.6 小結

第13章 名字服務

 13.1 簡介

 13.2 名字服務和域名系統

  13.2.1 名字空間

  13.2.2 名字解析

  13.2.3 域名系統

 13.3 目錄服務

 13.4 執行個體研究:全局名字服務

 13.5 執行個體研究:x.500目錄服務

 13.6 小結

第14章 時間和全局狀态

 14.1 簡介

 14.2 時鐘、事件和程序狀态

 14.3 同步實體時鐘

  14.3.1 同步系統中的同步

  14.3.2 同步時鐘的cristian方法

  14.3.3 berkeley算法

  14.3.4 網絡時間協定

 14.4 邏輯時間和邏輯時鐘

 14.5 全局狀态

  14.5.1 全局狀态和一緻割集

  14.5.2 全局狀态謂詞、穩定性、安全性和活性

  14.5.3 chandy和lamport的“快照”算法

 14.6 分布式調試

  14.6.1 收集狀态

  14.6.2 觀察一緻的全局狀态

  14.6.3 判定可能的

  14.6.4 判定明确的

  14.6.5 在同步系統中判定可能的和明确的

 14.7 小結

第15章 協調和協定

 15.1 簡介

 15.2 分布式互斥

 15.3 選舉

 15.4 組通信中的協調與協定

  15.4.1 基本多點傳播

  15.4.2 可靠多點傳播

  15.4.3 有序多點傳播

 15.5 共識和相關問題

  15.5.1 系統模型和問題定義

  15.5.2 同步系統中的共識問題

  15.5.3 同步系統中的拜占庭将軍問題

  15.5.4 異步系統的不可能性

 15.6 小結

第16章 事務和并發控制

 16.1 簡介

  16.1.1 簡單的同步機制(無事務)

  16.1.2 事務的故障模型

 16.2 事務

  16.2.1 并發控制

  16.2.2 事務放棄時的恢複

 16.3 嵌套事務

 16.4 鎖

  16.4.1 死鎖

  16.4.2 在加鎖機制中增加并發度

 16.5 樂觀并發控制

 16.6 時間戳排序

 16.7 并發控制方法的比較

 16.8 小結

第17章 分布式事務

 17.1 簡介

 17.2 平面分布式事務和嵌套分布式事務

 17.3 原子送出協定

  17.3.1 兩階段送出協定

  17.3.2 嵌套事務的兩階段送出協定

 17.4 分布式事務的并發控制

  17.4.1 加鎖

  17.4.2 時間戳并發控制

  17.4.3 樂觀并發控制

 17.5 分布式死鎖

 17.6 事務恢複

  17.6.1 日志

  17.6.2 影子版本

  17.6.3 為何恢複檔案需要事務狀态和意圖清單

  17.6.4 兩階段送出協定的恢複

 17.7 小結

第18章 複制

 18.1 簡介

 18.2 系統模型群組通信的作用

  18.2.1 系統模型

  18.2.2 組通信的作用

 18.3 容錯服務

  18.3.1 被動(主備份)複制

  18.3.2 主動複制

 18.4 高可用服務的執行個體研究:閑聊體系結構、bayou和coda

  18.4.1 閑聊體系結構

  18.4.2 bayou系統和操作變換方法

  18.4.3 coda檔案系統

 18.5 複制資料上的事務

  18.5.1 複制事務的體系結構

  18.5.2 可用拷貝複制

  18.5.3 網絡分區

  18.5.4 帶驗證的可用拷貝

  18.5.5 法定數共識方法

  18.5.6 虛拟分區算法

 18.6 小結

第19章 移動和無處不在計算

 19.1 簡介

 19.2 關聯

  19.2.1 發現服務

  19.2.2 實體關聯

  19.2.3 小結和前景

 19.3 互操作

  19.3.1 易變系統的面向資料程式設計

  19.3.2 間接關聯和軟狀态

  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 執行個體研究:cooltown

  19.7.1 web存在

  19.7.2 實體超連結

  19.7.3 互操作和esquirt協定

  19.7.4 小結和前景

 19.8 小結

第20章 分布式多媒體系統

 20.1 簡介

 20.2 多媒體資料的特征

 20.3 服務品質管理

  20.3.1 服務品質協商

  20.3.2 許可控制

 20.4 資源管理

 20.5 流自适應

  20.5.1 調整

  20.5.2 過濾

 20.6 執行個體研究:tiger視訊檔案伺服器、bittorrent和端系統多點傳播

  20.6.1 tiger視訊檔案伺服器

  20.6.2 bittorrent

  20.6.3 端系統多點傳播

 20.7 小結

第21章 分布式系統設計:google執行個體研究

 21.1 簡介546

 21.2 執行個體研究簡介:google

 21.3 總體結構和設計理念

  21.3.1 實體模型

  21.3.2 總的系統體系結構

 21.4 底層通信範型

  21.4.1 遠端調用

  21.4.2 釋出-訂閱

  21.4.3 通信的關鍵設計選擇總結

 21.5 資料存儲和協調服務

  21.5.1 google檔案系統

  21.5.2 chubby

  21.5.3 bigtable

  21.5.4 關鍵設計選擇總結

 21.6 分布式計算服務

  21.6.1 mapreduce

  21.6.2 sawzall

  21.6.3 關鍵設計選擇總結

 21.7 小結

參考文獻

索引