• 沒有找到結果。

Crown :分散式格網服務搜尋協定

N/A
N/A
Protected

Academic year: 2021

Share "Crown :分散式格網服務搜尋協定"

Copied!
8
0
0

加載中.... (立即查看全文)

全文

(1)Crown :分散式格網服務搜尋協定 (Crown:a Stable Distributed Grid Service Lookup Protocol) 李易寰 蔡昆樺 王宗一 智慧型網路應用實驗室 國立成功大學工程科學系 台南市大學路一號 TEL: (06)2757575-63338 E-mail:[email protected] E-mail:[email protected] E-mail:[email protected] 於分散式計算網路環境,因此本文提出一適用 於格網運算的資源搜尋協定-- Crown。Crown 是一個基於 Chord Protocol [15] 所發展出的機 制協定,將其原先的網路拓樸由環狀(Ring)擴 充成群組環狀(Group-Ring),另外再加入複本 (Replica)及錯誤回復機制(Error Recovering)來 強化資源搜尋的速度、可靠、及可用性。並且 透過分散式雜湊表(Distributed Hashing Table -DHT)的機制,Crown 將搜尋網路資源的工作 分散給網路的某些節點(Peers)、並讓它們一 起合作,因此不會像原先格網運算所使用的其 他 方法 、造成 某些節 點工 作量大 增。 另外 Crown 的群組設計也可以讓使用者、資源等, 在加入或離開格網時,整個格網計算環境還是 可以很平順的運作,不會造成額外的負擔。. 摘要 格網計算是目前相當熱門的研究領域,而 如何在格網環境下快速的搜尋找到使用者所 需的運算資源已成為一個很重要的議題。本文 提出一個基於分散式並且以群組群環狀 (Group-Ring)拓樸為基礎的網路資源搜尋協 定、稱之 Crown。透過 Crown,使用者可以在 格網環境中快速的搜尋到想要且合適的網路 資源來使用,而且也可以降低個別資源在加入 與離開的網路時的負擔,因此 Crown 具有優 良的擴充性(scalability),另外在協定內也設計 複本與回復機制加強整個網路的可用性 (availability)及強固性(robustness)。 關鍵詞:格網服務,服務搜尋協定,分散式網 路. 二、相關研究. 一、簡介. 目前在分散式網路上所提出的網路資源 搜尋架構大致可系分成三種類型,茲分別介紹 如下。. 近幾年,格網服務(Grid Service)[2]相 當受到重視,在網際網路技術及速度日益精進 下,如何讓網路中的閒置資源被充分利用,已 成為最熱門的研究領域之一。而要完成上述的 共享應用有一個很重要的研究課題—就是如 何在網路上方便快速地找到使用者想要而且 適用的資源。也就是說要讓使用者在 Grid 網 路中,使用各式各樣的服務或資源時,必須要 有一套快速、穩固、並且可幸賴的資源搜尋機 制作為基礎建設的一環。. (一) 集中式類型(Centralized) 集中式類型是指每一個節點要取得網路 上 的資 源時, 必須先 像一 個特定 的伺 服器 (server)查詢,當查詢訊息回應回來後,則節點 可以直接和搜尋到的節點直接連線取得資源 而不需再透過伺服器的斡旋轉達。. 在格網計算目前的發展,基本上多數研究 還是屬於集中式的搜尋方式,但是在其他分散 式網路的應用,例如點對點(P2P)網路應用, 目前已經有很多研究提出許多不同的拓樸與 協定、應用於 P2P 網路資源搜尋。仔細考慮格 網的整體網路環境,可看出其基本上也是類似. -1-. Napster [9]算是使用此方式最出名的 P2P 系統,透過 Napster 伺服器的查詢服務,使用 者可以查詢到他想要的 MP3 音樂所在位置, 然後再直接連到此節點直接存取。另外像是 Web Service [5]中的 UDDI [6]機制也是使用 SOAP 協定向特定的 UDDI Node 來查詢服務 內容。使用集中式類型的優點在於使用者可以 容易快速的搜尋到大量相似的資源,但是缺點.

(2) 式比較又不容易造成網路訊息氾濫的問題,因 此在搜尋資源的成本上是屬於較好的方式,但 是使用分散式雜湊表機制其缺點在於當鄰近 節點有變動時,需要較多的通訊來處理維護鄰 近節點的資訊。在格網服務的環境中節點的變 動是非常頻繁的,因此如何減低節點變動時所 造成的網路負擔便是一重要的課題。CAN 採 用的邏輯拓樸可以避免這個問題,但 CAN 相 對存在有繞送路徑過長的問題,Pastry 也嘗試 解決這個問題,但其節點加入的過程較為繁 複。Crown 主要的貢獻之一就是利用分散式雜 湊表的架構,維持網路資源搜尋上的速度,同 時也提出克服節點變動頻繁時所造成的問題 的方法。. 則是提供查詢服務的伺服器會成為此系統的 瓶頸,如果伺服器發生故障或是網路頻寬不 足,都會大大降低整個系統的可用性 (availability)與強固性(robustness)。 (二) 廣播式類型(Flooding or Gnutella-like) 顧名思義,廣播式類型便是透過廣播的方 式由節點向其鄰近相連的節點發出搜尋的訊 息,如果其鄰近的節點有此資源則會回傳訊息 給發出要求的節點,否則就將訊息在發送給其 鄰近的節點,以此類推。 Gnutella [16] 是最具代表性的系統,透過 廣播的方式,要求資源的訊息會被散佈到有相 連的節點上,每一個節點收到要求訊息會立刻 檢查本身是否擁有要求的資源,如果存在的話 則回傳訊息回去,否則就將要求訊息再散佈出 去,一些改良 Gnutella 的系統則是增加所謂歷 史紀錄,例如接收到要求資源訊息的節點如果 之前也曾要求過類似的資源,那他便能直接回 傳這些節點的資訊,而不需在散佈要求訊息出 去,而每一個要求訊息都有一個存活期(TTL) 的紀錄,一旦訊息流動的次數超過存活期則此 要求訊息將被捨棄。. 三、Crown 邏輯覆蓋網路(Crown Overlay Network) 在這一章節,將首先描述 Crown 使用的 邏輯覆蓋網路(Crown Overlay Network),並介 紹其中節點的類型以及如何決定節點在邏輯 覆蓋網路中的角色類型。接著介紹所使用的分 散式雜湊演算法如何產生節點唯一名稱與格 網服務資源的索引值(索引值),最後說明在 格網中服務資源索引值的散佈規則與如何搜 尋這些索引值來獲取格網服務。. 這一類的系統最大的好處是作到完全的 分散式,每一個節點只需管理自己的資源,但 是由於是採取廣播的方式,雖然每一個要求訊 息會被存活期限制住,但在廣域網路上還是容 易 產生 訊息氾 濫的現 象增 加整個 網路 的負 擔,其次由於存活期的限制可能造成每次只能 搜尋到部分資源,或甚至找不到所需資源。. (一) Crown 拓樸架構(Crown Topology). ( 三 ) 分 散 式 雜 湊 表 類 型 ( Distributed Hash Table Based,DHT) 目前許多分散式資源搜尋的研究多採用 此種方法,使用雜湊表與生俱來的好處,就是 可以達到平衡負載(Load Balancing) [7] 的效 果,本論文所提出的 Crown 也是屬於此種類 型,透過分散式雜湊表的方式,每一個節點及 提供的資源都會經由雜湊函數(Hash Function) 被轉換成一串的數值(索引值),這些索引值 s 會被放置於某一些特定的節點 s 上,當使用 者想要搜尋一資源時,所輸入的資源資料會被 轉換成索引值,透過分散式雜湊表的對應,便 能很快的查詢到此資源的所在位置。. 圖 3.1:Crown 拓樸架構. 分散式雜湊表機制較早見於 Plaxton [10] 等提出之搜尋機制,之後的 Chord、CAN [12]、 Tapestry [17]與 Pastry [14] 都是採用分散式雜 湊表相當有名的幾個協定,利用此方式的架構 本質上都屬於分散式架構,在搜尋資源時既不 像集中式的類型需考量伺服器的問題,與廣播. -2-. 如圖 3.1 所示,Crown 使用的拓樸基本上 是由多個群組所構成的環狀的架構(Group Ring-liked) ,搜尋服務的訊息只會在環狀上跳 躍繞送(Jump & Forwarding),而群組架構是 用來降低節點加入或離開時的網路負擔,在 Crown 拓樸中節點被分成三種類型,而同一時 間 一 個 節 點 只 會 屬 於 群 組 主 節 點 (Super Peer-SP)或是群組備份主節點(Backup Super Peer-BSP)其中一種類型,以下是三種類型的介 紹: z 群組主節點(Super Peer,SP) :群組主 節點負責維持拓樸中環狀架構的連結, 搜尋服務的訊息會在群組主節點中跳躍.

(3) z. z. 說,藉由 SHA-1 輸入位址前 m bit 來產生群組 名稱,因此在每一個群組中將最多會有 2(32-m) 的節點數目,目前本文是採用位址前 24 bit(即 m=24)來產生群組名稱,如圖 3.2 所示:. 繞送,另外群組主節點也會維護一些和 他鄰近的群組主節點資訊來維持 Crown 的運作,並且在每一個群組中同一時間 只允許一個群組主節點的存在。 群組備份主節點(Backup Super Peer, BSP) :群組備份主節點是存在於拓樸中 的群組架構部份,群組備份主節點主要 的作用是為了預防群組主節點錯誤或離 開時能快速接手原本群組主節點的工 作,保持 Crown 運作的順暢,在群組架 構中群組備份主節點可能不只一個,在 稍後的章節會詳細描述如何決定群組備 份主節點的數目。 一般節點(Normal Peer,NP):一般節 點則是群組架構中一般的成員,基本上 這些節點只需維護管理本身的資源。. 圖 3.2:群組名稱產生方式. 在格網服務環境中,節點的加入與離開是 非常頻繁的(考量目前行動設備的快速增加, 節點更動頻繁是可以想像的),因此若是僅單 純使用環狀拓樸,則節點的加入與離開上將會 造成環狀拓樸的斷裂,整個環狀網路將一直處 於更動的狀態下,所以本文將環狀拓樸擴充成 為群組環狀拓樸,搜尋服務的訊息依然是在環 狀上繞送,仍然可以保證擁有一定程度的服務 搜尋速度,此外利用群組架構,可以降低環狀 的大小、也就是訊息繞送的次數外。節點加入 或離開時其需要的資料變動可以限制在群組 架構中而減少環狀的變動,讓整個網路中節點 的加入與離開變得更有效率,進而增加整個 Crown 在搜尋格網服務的可獲得性及強固性。 (二) 分散式雜湊表格(Distributed Hashing Table) 在前面的章節簡單的介紹了分散式雜湊 表的概念與格網服務索引值產生的目的,使用 分散式雜湊表好處在於可將所需資源名稱或 其他關鍵字透過雜湊函數轉換成獨一無二的 索引值,經由索引值的比對來達到有效率的繞 送及搜尋,並且達到平衡負載的效果。因此雜 湊函數的選擇就相當關鍵,經參考[15] [17]及 比較各種雜湊函數的性質後,發現 SHA-1 [13] 為合適的演算法。SHA-1 可將不同的輸入值轉 成獨一無二(Unique)的輸出值,並且其輸出值 的分佈(distribution)相當平均。因此 SHA-1 相 當適合用在分散式雜湊表格的機制上。. 原本環狀拓樸節點數量過多時會影響到 整個環狀上訊息傳輸與節點運作的效率,因此 使用群組架構來容納局部區域的節點個數,如 上圖 3.2 所示,雜湊位址前 24 bit,如此即可 減少環上節點的數量,另外也可達到鄰近的位 址節點會落於同一群組的效果。 以圖 3.2 的 例子來說,一個群組的大小剛好是一個 Class C 子網路的大小,群組中的節點都在同一個 LAN 之內,因此群組內,節點間的通訊相當 快速。在考量 m 值的大小時,不一定需要是 24 bit,但是本文建議最好是介於 16 bit 至 24 bit 之間,在這個範圍內的節點很大的機率會 處於鄰近的區域,因此可以保證節點之間的通 訊連線品質可以維持在一定程度上,這對於稍 後下一章節所提到的複本及回復機制將會有 相當的幫助。 (四) 群組主節點評估推舉機制(SP Evaluation Mechanism,SPEM) 在 Crown 協定中,群組必須推選一個群 組主節點來維持對 Crown 邏輯覆蓋網路的連 結。如果群組中只有一個節點,則它一定會成 為群組主節點,但是若群組中有許多節點,則 採取一評估機制,來決定群組主節點,其主要 是依照以下五個參數來決定成為群組主節點 的優先順序: z. 網路的頻寬與使用狀況(Bandwidth and Utility):在正常狀況下,頻寬越大或是 使用率較低的節點,應該先被優先選為 群組主節點。. z. (三) 群組名稱(Group ID)與節點名稱(Peer ID)的產生. 可獲得性(Availability):節點連線的時 間長短(Up-time)或是其歷史紀錄的評 價越高者(History Record)應該優先成 為群組主節點,歷史紀錄的評價則包括 常發生斷線或錯誤與否,比較穩固的節 點應該優先選擇成為群組主節點。. z. Crown 協定中的節點都有一個節點名稱 及一個群組名稱,每一個節點是直接以本身的 實際 IP 位址當作節點名稱,而群組名稱是透 過 SHA-1 得到。以目前 IPv4 IP 位址的格式來. 計算能力(Computing) :節點計算能力 越強,表示處理訊息的速度越快,也比 較不會因為處理大量的訊息而發生錯 誤。. z. 設備的特性(Device Characteristic) :由. -3-.

(4) 於現在行動設備(Mobile Devices)的增 加,有些節點是屬於此類型的設備,而 行動設備的特性便是具高度的移動性, 因此其容易在多個網域中移動,並不適 合成為群組節點或是群組備份主節點。 z. (Message Forwarding Table)查閱。. 使用者設定(User Setting) :此參數比較 特別,是由使用者來決定是否有意願成 為群組主節點。. 圖 3.3 訊息繞送表紀錄的區域範圍. 上述中第 1、2 項參數可利用 SNMP 網路 管理中所使用的 Health Function [4] 來取得 參考值,第 3、4 項則可經由存取系統的資訊 來取得,若使用的為行動設備則其第四項參數 值會較低,除非在群組中的節點數目不足時, 否則這些設備不會成為群組主節點或群組備 份主節點,第 5 項則是使用者選擇,若使用者 不願意其設備成為群組主節點,除非在沒有其 他節點可選擇的情況下,否則不會成為群組主 節點。 (五)索引值散佈機制(Key Distributed Mechanism) Crown 是將節點上的服務的內容(例如檔 案名稱、服務程式名稱等)透過 SHA-1 產生 一個索引值,接著再將此索引值放置在 Crown 邏輯覆蓋網路中一個對應的節點上,資源內容 的轉換則須視所應用的目的為何。本文的目的 是 應用 在格網 環境中 搜尋 可利用 的格 網服 務,因此採用像電話簿黃頁的分類方式將服務 劃分在許多子類別中,再針對這些子類別及服 務程式名稱透過 SHA-1 作轉換。 當一個格網服務被轉換成一索引值後,會 依照下面的規則來散佈此索引值: (1) 首先搜尋 Crown 邏輯覆蓋網路中是否 有 群組 主節點 的群組 名稱 的值等 於此 索引 值,如果有則將索引值放置於此群組主節點 上。. 訊息繞送表會紀錄至多 m(=logN,N 是 群組的數目)筆記錄,每一筆資料記錄代表一 個區段範圍。如圖 3.3 所示,範圍的大小是以 2 的次方成長,每一塊區段負責的群組主節點 為群組名稱+2(m-1)(假設群組主節點為 G32, 則其第一個紀錄的區段要參考的群主主節點 等於 32+2(1-1)=33,因此要參考 G33 的群組主 節點) ,但是如圖 3.4 所示,G33 此群組目前 並不存在於 Crown 邏輯覆蓋網路中,因此必 須選擇第一個比 G33 名稱還大的群組的群組 主節點來負責(在圖 3.4 中第一個比 G33 大的 是 G40,因此 G32 的訊息繞送表中,其第一筆 紀錄為 G40),這樣選擇的原因是要符合前一 節中描述索引值放置的規則,如此訊息才會被 正確繞送。假設要查詢的索引值若位於第一塊 範圍,則群組主節點會將訊息轉傳給負責第一 塊範圍的群組主節點,以此類推,在訊息繞送 表上每一筆紀錄有三個欄位: z 群組參照(Group Reference):每個區 段負責的群組主節點,所要求索引值落 於此區段的,便會被繞送至此主節點上。 z 群組主節點參照(SP Reference):用來 紀錄區段負責群組主節點的實際位址。 z 群組備份主節點參照(BSP Reference): 群組中會有群組備份主節點支援群組主 節點,當訊息被繞送失敗時,則會使用 群組備份主節點位址來嘗試繞送訊息。 在說明訊息繞送表的意義後,接下來以圖 3.4 來描述在服務索引值的搜尋過程。. (2) 若沒有等於索引值的主節點,則搜尋 目前 Crown 邏輯覆蓋網路中群組主節點群組 名稱比索引值大,而距離(|群組主節點群組名 稱–索引值|)最小者。 透過這簡單的散佈機制,索引值會很容易 的散佈在 Crown 邏輯覆蓋網路,並且根據 SHA-1,可以保證索引值的均勻分布。. 圖 3.4:服務索引值的搜尋過程. (六)索引值搜尋機制(Key Lookup Mechanism) 在 Crown 邏輯覆蓋網路中,搜尋訊息透 過群組主節點跳躍繞送,並不會被繞送至群組 中 的節 點,而 繞送路 徑則 是向訊 息繞 送表 -4-. (1) 首先節點根據訊息繞送表的資訊,發 出資源要求的訊息,在圖 3.4 中,假設群組 32 (G32)中的某一個節點要搜尋某一服務,此 服務經 SHA-1 轉換成索引值 82(K82) ,則搜 尋機制將搜尋 K82。.

(5) 要成為 G36 群組主節點,而起始 化節點為 G99 中的任一個節點,首 先 G36 群組主節點送出要求訊息 給位於 G99 中的起始化節點去查 詢 G37、G38、G40、G44、G52、 G68、G100、G164 的群組主節點 資訊,用以建立 G36 群組主節點 訊息繞送表。. (2)搜 尋 機 制根 據 以 下 的原 則 來 繞 送訊 息,由訊息繞送表中的紀錄,第一個小於或等 於的群組將被選擇成為下一個訊息繞送的地 點,如圖 3.4 左上所示,經檢查發現 G70 是第 一個小於 K82 的群組主節點,因此選擇將訊 息繞送至 G70,接著以此類推,在 G70 上也是 透過相同的規則進行繞送,最後會在 G85 上 找到 K82,因此至多只需經過 O(log N) 次的 繞送便回得到結果。. 四、加入/離開與錯誤回復機制 (Join/Leave and Recovery Mechanism) 本章節中描述節點加入與離開 Crown 邏 輯覆蓋網路的詳細步驟。並討論 Crown 的錯 誤回復機制來處理可能發生的錯誤情形。. 圖 4.1 新加入的群組主節點透過起始化節點 建立訊息繞送表. 在 Crown 邏輯覆蓋網路中群組主節點的 主要任務為負責維持 Crown 邏輯覆蓋網路中 環狀的連結,並管理與儲存群組中所存放的服 務索引值,群組主節點會將群組中所存放的索 引值存放成一個列表,稱之為索引值表(Key List) 。在錯誤回復機制中,為了推舉新的群組 主節點以及選取群組備份主節點,群組主節點 須紀錄群組中每個節點經過群組主節點評估 機制所得到結果,並加以排序存放,稱之為推 舉順序表(Top List)。. 2.. 如圖 4.2,G36 群組主節點完成訊 息繞送表建立後,會要求存在於其 訊息繞送表的群組主節點更新它 們本身的訊息繞送表的資訊,同樣 的其訊息繞送表中的群組主節點 再遞迴的要求更新。. (一) 節點加入 Crown 邏輯覆蓋網路 本文假設一節點能夠取得目前 Crown 邏 輯覆蓋網路上某一個節點的資訊,例如透過特 定的伺服器或是經由節點之前的歷史紀錄或 是其他的方法,這個節點一般被稱為起始化節 點(Bootstrap node)。以下則是節點加入的詳 細步驟: (1) 節點經 SHA-1 得到對應的群組名稱。 (2) 節點發出要求加入的訊息給起始化節 點,查詢要加入的群組主節點實際位址。 (3) 根據節點加入時查詢的結果會有兩種不 同的情況,第一種狀況是在此 Crown 邏 輯覆蓋網路上目前並沒有此節點所屬的 群組,第二種狀況則是節點所屬的群組 已經存在,第一種情況則繼續第(4)步 驟,否則跳至第(5)步驟。 (4) 節點欲加入的群組不存在,則此加入節 點必須成為其群組的群組主節點,因此 執行下面的初始群組主節點步驟: 1. 節點透過起始化節點建立訊息繞 送表,節點會請求起始化節點查詢 建立訊息繞送表所需要的資訊。例 如在圖 4.1 中,假設欲加入的節點. -5-. 圖 4.2 訊息繞送表的更新 3.. G36 群組主節點再與相鄰群組主節 點通訊,將應該存放於 G36 群組主 節點的索引值傳送過來,如圖 4.3 所示 K30 將從原本 G40 群組主節 點位置改放於 G36 群組主節點位 置。. 圖 4.3 格網服務索引值的轉移 4.. G36 群組主節點初始其推舉順序 表,並依據群組主節點評估機制得 到一個評估的分數,之後當有新的 節點加入此群組時都會依據評估 機制產生一分數紀錄於推舉順序 表,作為推舉新群組主節點依據。.

(6) 5.. (5). (三) 群組內回復機制. G36 群組主節點將要分享的資 源,經 SHA-1 轉換成相對應的索引 值,並依照訊息繞送表,將這些索 引值發到所應該存放的群組位置。. 群組主節點可依對資源可用性的需求,來 決定群組備份主節點的數量,當需要越高的可 用性時,則可選取越多的群組備份主節點。參 考其它論文的作法 [11],並考量本論文的設 計。本文提出一公式來計算群組備份主節點數 目建議值:. 第二種情況,新節點要加入的群組已存 在,其加入步驟如下: 1.. 新節點送出加入的訊息(包括節點 本身被評估的分數值)給其所屬群 組的群組主節點,群組主節點會回 傳目前的訊息繞送表給要加入的 節點。. 2.. 群組主節點更新其推舉順序表的 紀錄。. 3.. 新節點將要分享的資源,經 SHA-1 轉換成相對應的索引值,並依照訊 息繞送表,將這些索引值發到所應 該存放的群組位置。. (1) (1 - (1 - p)k ) ≥ AT , N - 1 ≥ k 其中 k 為群組備份主節點個數,p 為節點 正 常 運 作 的 機 率 , AT 為 可 用 性 最 低 限 度 (Availability Threshold),N 為群組中節點數 量。假定節點正常運作的機率(p)為 70%, 則節點發生錯誤的機率即為(1 - p) = 30%,可 用性最低限度的要求為 99%,由公式(1)所得 到的群組備份主節點最小建議數目為 4 個。當 然選取越多群組備份主節點,Crown 邏輯覆蓋 網路中資源的可用性會越高,但相對越多群組 備份主節點則所需花費的通訊成本越高,因此 可針對應用的場合,調整可用性的最低限度, 來得到適當的群組備份主節點數目。. (二) 節點離開 Crown 邏輯覆蓋網路 如果節點是群組備份主節點或一般節 點,它僅需通知其群組中的群組主節點後,便 可離開。但是若離開的節點是此群組的群組主 節點,則便需透過回復機制來維護群組的相關 資訊,下面就各種群組主節點離開時可能發生 的情況加以討論: (1) 假若群組主節點要離開時,若群組中存 在群組備份主節點,則群組主節點會將 其管理的索引值表與推舉順序列表遷移 到評估值較高的群組備份主節點上,然 後將群組主節點的任務轉移給此群組備 份主節點。 (2) 假若群組主節點要離開時,群組中已經 沒有其他節點,此時群組主節點會將索 引值遷移到拓樸中下一個群組的群組主 節點,通知此群組主節點更新其資訊。 (3) 若是群組主節點是發生錯誤而非正常離 開,則繞送訊息到此群組時便會發生 timeout 的情形,則發送此訊息的節點可 以利用其訊息繞送表上群組備份主節點 的記錄聯繫,若聯繫成功,則訊息便可 直接延續,否則便須等到群組中新的群 組主節點產生。 (4) 極端的情況下群組主節點與群組備份主 節點同時發生錯誤,則有可能是整個群 組發生發生網路分割狀態(Network Partition) ,此時只有先將此群組從 Crown 邏輯覆蓋網路上移除。當發生這種情形 時,整個位於群組中的索引值表就會全 部遺失,為了解決這種情形,在後章節 會說明使用複本機制來解決。. 在選定群組備份主節點數目後,群組主節 點會在每個群組備份主節點上儲存一份其負 責索引值表的完整複本,其好處為假若群組主 節點發生錯誤時,任一個群組備份主節點都有 能力馬上接手群組主節點的工作,使搜尋資源 的服務不至於中斷,圖 4.4 顯示一個 k=4 群組 主節點與群組備份主節點之間的連結關係,除 了群組主節點是必須和每一個群組備份主節 點相連外,每一個群組備份主節點之間也是都 必 須互 連,各 點間的 關係 屬於完 整連 結圖 (Complete Graph)。. 圖 4.4 群組主節點與群組備份主節點關係圖. 圖 4.5 複本分區段更新策略 群組備份主節點上的複本更新採用分段 更新的策略,來減少資料傳遞的成本。如圖 4.4 群組備份主節點有 4 個時(k=4) ,群組主 節點會把其管理的索引值表跟推舉順序列表 分成 k 個區段,每一個群組備份主節點只負責 更新其中 1/k 的區段部分的資料。如圖 4.5 所 示,當其索引值表或推舉順序列表有更新時, -6-.

(7) 複本(K37R) 。. 群組主節點就會發出更新訊息給負責該區段 的群組備份主節點,通知其更新資料。 當群組主節點離開或錯誤時,群組備份主 節點中評估分數值最高者會取代原先的群組 主節點,如圖 4.6(a)所示。並由推舉順序列表 中選取評估分數值最高者來取代此群組備份 主節點的位置,如圖 4.6(b)所示。群組備份主 節點取代群組主節點後,在快速的跟其他群組 備份主節點更新索引值表跟推舉順序列表其 他部分的最新的資料以確保資料的一致性。新 的群組主節點產生後,通知訊息繞送表中所紀 錄的群組主節點更新其新的群組主節點資訊。. 圖 4.8 群組間回復機制. 五、效能評估與比較(Performance Evaluation and Comparison) 這節中將比較 Crown 與其他使用分散式 雜湊法為基礎的搜尋機制間的差異,透過數學 運算的推估,可以看到量化的比較結果。各搜 尋機制採用不同的邏輯拓樸,因此不同拓樸間 會有不同的參數(Parameter)設定。Crown 中使 用群組機制,因此必須設定群組的大小,假設 g。CAN 系統的邏輯拓樸是由 d 維度的座標系 統(d-dimensional Cartesian 群組主節點 ace)所 組成,所以必須設定所採用的維度(d)。而 Pastry 與 Tapestry 兩系統都必須設定所選用的 基底(Base)的值,用 b 來代表。透過各項客觀 性質的呈現,可以比較出不同搜尋機制間的差 異,下面將定義各項性質:. (a) (b) 圖 4.6 群組主節點的回復與遞補機制 (四) 群組間回復機制 在某些應用中,索引值需要被保證有一定 程度的可獲得性,在 Crown 邏輯覆蓋網路中 當每一個群組只有一個節點時,則整個邏輯覆 蓋網路會簡化為一個單純的環狀,在這種情況 下,若是其中一個節點錯誤,則存放於此節點 上的索引值表就會丟失;或是當發生網路分割 (Network Partition)狀態時,則整個群組的索引 值表將會無法存取,此時就必須使用群組間回 復機制來解決這樣的錯誤。 群組間回復機制的做法是將群組中的索 引值表之複本,擺在其他群組的群組主節點上 作為備份。一開始索引值在散佈時,除了原本 應該放置的位置要放置一份外,還必須放一份 在補數運算(2’s compoment)後新索引值要放 置的地方,並註明其為複本索引值,來避免與 一般索引值相衝突。當訊息繞送發生 Timeout 時,則將要查詢的索引值值作補數運算,把計 算出來新的索引值取代原本的索引值,然後以 新的索引值重新搜尋。由於索引值表複本要放 在不同的群組主節點上,網路通訊可能不像在 群組中那麼快速,所需的通訊成本較高,因此 需考慮實際應用對索引值表可用性的要求是 否很嚴苛,決定是否要採用複本備份。. z. 繞送路徑長度(Path Length):一 次搜尋所經過的節點數,稱為繞送 路徑長度。. z. 訊息繞送表的大小(MFT Size):在 搜尋機制中,為了要達到正確且有 效率的繞送路徑,所必須維護訊息 繞送表的大小,在不同的搜尋機制 中有不同的名稱,但其代表的意義 是相似的。. z. 節點變動所需的通訊成本 (Communication Cost):當節點加 入或離開,需要發出一些訊息來通 知其他節點,以維護繞送的正確與 效率,訊息量的大小即為所需花費 的通訊成本。表一為搜尋機制間性 質差異的比較。 表一:DHT 搜尋機制性質比較表. 圖 4.8 說明了群組間回復機制運作情況, 當 G5 中的節點要搜尋 K37(100112) ,K37 存 放的 G40 發生錯誤,搜尋訊息的繞送發生 Timeout,此時將 100112 作補數運算得到 11002 (2410),即可得知 K37 的複本擺放於 K24 的 位置,如此就可以順利的在 G36 找到 K37 的. 接著假設初始數據,使用表一的公式, -7-.

(8) 推估各搜尋機制的表現數據。假定邏輯網路中 有 216 個節點 (N=16)。Crown 中群組名稱是 雜湊位址前 24 bit 來產生,因此每一個群組裡 的節點數目為 28(假定在理想狀態,所有群組 皆為填滿)。CAN 使用 2-D 座標空間,因此 d=2,Pastry 與 Tapestry 都使用 b=2 為基底。 假定節點加入/離開的機率為 0.05/per second,發出通知訊息的大小為 1 k。表二則為搜 尋機制表現數據的比較。. on Network Management, April 1993. [5]. http://www.w3.org/2002/ws/. [6]. http://www.uddi.org/pubs/the_evolution_of_ uddi_20020719.pdf. [7]. D. R. Karger, E. Lehman, F. Leighton, M. Levine, D. Lewin, and R. Panigrahy, “Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on theWorldWideWeb,” in Proc. 29th Annu. ACM Symp. Theory of Computing, El Paso, TX, May 1997, pp. 654–663.. [8]. M. Ripeanu, I. Foster , “A Decentralized, Adaptive, Replica Location Service”. 11th IEEE International Symposium on High Performance Distributed Computing (HPDC-11) Edinburgh, Scotland, July 24-16, 2002.. [9]. Napster. http://www.napster.com/. [10]. C. Greg Plaxton, Rajmohan Rajaraman, and Andrea W. Richa. “Accessing nearby copies of replicated objects in a distributed environment”. In Proceedings of ACM SPAA. ACM, June 1997. [11]. Kavitha Ranganathan, Adriana Iamnitchi, and Ian Foster,” Improving Data Availability through Dynamic Model-Driven Replication in Large Peer-to-Peer Communities”, Global and Peer-to-Peer Computing on Large Scale Distributed Systems Workshop, Berlin, Germany, May 2002.. [12]. Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker,”A Scalable Content-Addressable Network”, Proceedings of ACM SIGCOMM 2001. [13]. RFC 3174 US Secure Hash Algorithm 1 (SHA1). 表二:DHT 搜尋機制性質比較表. 六、結論 本文提出了 Crown,在格網計算的概念中 建構分散式的資源搜尋協定,Crown 為完全分 散式的架構,具有很高的擴充性以及良好的繞 送效率,並加上了群組的與複本的設計,進一 步強化資源搜尋的速度及可靠可用性。 Crown 目前的設計環境,都是假設節點是 正 常且 無惡意 的運作 ,當 面對惡 意的 節點 (Malicious Node)的攻擊時,可能產生的各 種安全性問題,如在索引值值的存取加上權限 管理的機制、受惡意攻擊後的錯誤回復等,都 是將來可以發展的方向。. 七、參考文獻 [1]. Foster, I .”Grid computing and web services a natural partnership.pdf” Parallel, Distributed and Network-based Processing, 2002. Proceedings. 10th Euromicro Workshop on , 2002 Page(s): 3 –3.. [14]. A. Rowstron and P. Druschel, "Pastry: Scalable, distributed object location and routing for largescale peer-to-peer systems," in Proc. 18th IFIP/ACM Int'l. Conf. Distributed Systems Platforms (Middleware), 2001.. [2]. I. Foster, C. Kesselman. “Computational Grids” , Chapter 2 of "The Grid: Blueprint for a New Computing Infrastructure", Morgan-Kaufman, 1999.. [15]. [3]. I. Foster, C. Kesselman, J. Nick, S. Tuecke , “The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration”. Open Grid Service Infrastructure WG, Global Grid Forum, June 22, 2002.. Stoica, I.; Morris, R.; Liben-Nowell, D.; Karger, D.R.; Kaashoek, M.F.; Dabek, F.; Balakrishnan,H . “Chord: a scalable peer-to-peer lookup protocol for Internet applications“, Networking, IEEE/ACM Transactions on , Volume: 11 Issue: 1 , Feb. 2003 Page(s): 17 -32.. [16]. The Gnutella Protocol Specification v0.4 Revision 1.2.. [17]. B. Y. Zhao, J. Kubiatowicz, and A. Joseph, "Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and Routing". Tech. Rep. UCB/CSD-01-1141, University of California at Berkeley, 2001.. [4]. Germn Goldszmidt, Yechiam Yemini. “Evaluating Management Decisions via Delegation”. IFIP International Symposium -8-.

(9)

數據

圖 3.1:Crown  拓樸架構
圖 3.3  訊息繞送表紀錄的區域範圍  訊息繞送表會紀錄至多 m(=logN,N 是 群組的數目)筆記錄,每一筆資料記錄代表一 個區段範圍。如圖 3.3 所示,範圍的大小是以 2 的次方成長,每一塊區段負責的群組主節點 為群組名稱+2 (m-1) (假設群組主節點為 G32, 則其第一個紀錄的區段要參考的群主主節點 等於 32+2 (1-1) =33,因此要參考 G33 的群組主 節點) ,但是如圖 3.4 所示,G33 此群組目前 並不存在於 Crown 邏輯覆蓋網路中,因此必 須選擇第一個比 G33

參考文獻

相關文件

並存入百事可樂企業內部網站的 伺服 並存入百事可樂企業內部網站的 IBM RS/6000 伺服 器資料庫。然後,主管與分析師可以使用上型電腦

105 年第二季(4-6

本刊“98 年第 3 季(7~9 月)就業服務統計資訊"主要資料來源為「行政院

本刊“99年第3季(7~9月)就業服務統計資訊"主要資料來源為「行政院勞

路徑 I 是考慮空氣的阻擋效應所算出的運動路徑。球在真 空中的運動路徑 II 是以本章的方法計算出的。參考表 4-1 中的資料。 (取材自“ The Trajectory of a Fly Ball, ” by

本彙集輯錄了多篇學校經驗分享的文章,闡述「管理與組織」範疇的各項全校 參與訓育及輔導工作模式的重點,請參閱教統局網頁,索引: 本局向學生及家 長提供的服務 >

™ 經由 PPP 取得網路IP、Gateway與DNS 等 設定後,並更動 Routing Table,將Default Gateway 設為由 PPP取得的 Gateway

a 全世界各種不同的網路所串連組合而成的網路系統,主要是 為了將這些網路能夠連結起來,然後透過國際間「傳輸通訊 控制協定」(Transmission