第二章 相關研究
2.3 Scheduling Protocol
2.3.1 MF Routing Protocol
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
7
計算節點到目的地之各個不同路線,其訊息成功傳送的機率。因此當節點相遇時不先交 換訊息,而是等待計算出有較高的傳送機率後才交換訊息。Lebrun 等人亦有證明過,跟 Epidemic 路由協定相比,其 Location-based 路由協定有較好的 Delivery Ratio 和較低的 Overhead[9]。此種路由協定最適合使用在整個 DTN 網路拓樸變動劇烈的環境中,其效 益有著最顯著的提升[10]。
2.2.2 Prophet Routing Protocol
Prophet 是一個概率路由協定,使用節點歷史相遇的次數去計算傳送的機率[11],此 種方法跟 Location-based 相比,需要更多的網路拓樸資訊才能運作良好。
這種路由協定其運作方式為每個節點皆有一個量表(Metric Table),紀錄有可能到達 哪些目的地,其次 Metric Table 必須要能夠傳送給其他節點,進而可以計算出每個節點 到達各個目的地的機率。Etienne 等人亦證明過,若能知道節點相鄰節點的 Metric Table , 其路由協定可以有著更顯著效益[12]。ZebraNet 亦使用節點歷史相遇概念去估計每個節 點的權重值[13]。
2.3 Scheduling Protocol
此類調度路由協定,藉由移動路線的某些特定節點,使用儲存及攜帶 (Store-and-Carry)機制來增加傳送機率。常見的路由協定如下:
2.3.1 MF Routing Protocol
利用訊息偷渡的方式,將資料從來源端傳送到目的地端[3]。其運作模式為:在網路 中利用運送節點(Ferry Node),來專門負責傳送資料給各個節點,其他節點則不傳送訊息。
因為資料傳送都是靠運送節點,因此運送節點其緩衝區的大小和那些規律行走的節點在 此類路由協定中,是非常重要關鍵的資源。Wenrui Zhao 等人亦證明過,MF Routing 可
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
8
有效利用節點的移動性,提高資料傳送效率,並減少節點的電量資源消耗[14]。
因為我們研究的 DTN 網路架構,是希望可以適用在市中心環境且以公車為基礎的 路由協定。然而在現存的路由協定中,存在著些許的不足性,說明如下:
Opportunistic protocol:此類的路由協定,當緩衝區大小足夠時,資料傳送率有著顯 著效率,但在我們研究的市區環境中,行人與公車節點緩衝區大小都是有限的,且公車 行至公車總站後會將儲存待傳送的訊息全部丟棄,因此公車的緩衝區大小也必須是有限 的。
Prediction-based:此類的路由協定,需要較多節點與節點位置關係資訊來計算傳送 機率,且當節點數目變多或移動速度變快時,網路拓樸變動更為劇烈,計算機率將更為 複雜,因此不適用在以公車為基礎的市區環境中。
Scheduling protocol:此類的路由協定,因為訊息的傳送都是靠運送節點,而運送節 點的緩衝區大小不可能為無限制,所以存在著公平分配緩衝區的問題。也因為這樣的問 題,因此這一類路由協定多使用在節點較稀疏的網路環境,並且在眾多節點中,找出最 適合資料傳送的一條行駛路徑,而我們研究環境的是在市中心資料的傳送,故也較不適 用。
因此我們提出一個混合階層式路由演算法,適用於市中心行人與公車這兩種節點資 料的傳送,說明於下一章。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
9
第三章
研究方法與系統架構
3.1 研究方法
我們建立一個適用於市區且以公車為基礎的混合階層式訊息傳送架構。此混合階層 式架構包含兩種節點,其中一個階層全為行人節點,另一個階層則全為公車節點,此兩 階層的架構如圖 1 所示。傳統的階層式架構,當訊息由底層節點傳送給上層節點後,上 層節點即不會再將資料傳送到底層節點,然而本論文提出的混合階層式架構,訊息會在 階層間上上下下進行資料傳送,因此我們稱之為混合階層式架構。我們在不同階層內與 階層間設計不同的訊息交換規則,例如行人相遇行人、行人相遇公車、公車相遇公車或 是公車相遇行人各自有不同的訊息交換規則,其訊息交換規則演算法將於後面小節進行 詳細說明。
3.2 系統架構
本論文提出的混合階層式路由演算法其系統架構如圖 1 所示。底層為行人節點,其 特性為移動速度慢且行走路線為隨機、不規則;上層為公車節點,其特性為移動速度快 且行駛路線固定,而且公車節點尚具有一最大特性,即公車行駛路線的各個停靠站位置 為已知,因此在演算法的設計上亦會多加利用此特性來進行設計。在圖 1 中,每個公車 節點行駛路線為一種顏色,不同顏色表不同行駛路線之公車。在資料傳送部分,橘色箭 頭虛線代表階層內節點資料之傳送;紅色箭頭虛線則代表階層間節點資料之傳送。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
10
我們在這階層架構中提出兩種資料傳送演算法,一為簡單階層式路由演算法,另一 為混合階層式路由演算法。混合階層式路由演算法為簡單階層式路由演算法的改良版,
在訊息傳送判斷上,我們設計較為複雜的演算法,可降低網路負載並增加訊息傳送率。
本論文提出的兩種階層式資料傳送架構,在演算法設計上,有考量到現行常見 DTN 網路路由演算法之優劣點並加以改良。在行人相遇行人方面,考量到行人節點密度通常 較高,因此若相遇即傳送訊息會導致類似 Epidemic Routing 造成網路負載過高,因此在 行人相遇行人方面我們設計一些條件判斷限制。在公車方面,亦會利用公車停靠站位置 已知之特性,去作類似 Prophet Routing 先行計算之優點,達到較佳的傳送率,詳細演算 說明如下節。
圖 1:公車與行人階層式架構圖
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
11
3.3 簡單階層式路由演算法
由於公車節點移動速度相對行人節點較為快速,且公車節點特性為行駛路線固定,
故可以明確知道公車行駛路線之各停靠站站點坐標位置,因此在 DTN 網路上訊息傳送 方式設計上,若能善加利用公車節點特性應可導致較佳的結果。本論文設計之以公車為 基礎的混合階層式演算法,在行人與行人相遇、公車與公車相遇、或是行人與公車間相 遇的訊息傳送判斷規則,也將運用公車節點之特性進行研究設計。
本論文針對訊息、行人與公車節點的設定上有給定一些假設資訊,第一:行人節點 其行走的目的地位置是已知的,且與其他節點相遇時可傳送其行走的目的地位置資訊;
第二:公車節點可以知道自己行駛路線之各個停靠站站點座標位置資訊;第三:每一個 訊息的目的地位置為已知。有關詳細演算法與規則說明如下:
3.3.1 行人相遇行人
當行人相遇行人時,為了避免行人相遇到每個行人節點就傳送資料,造成過多的資 料漫無目的的傳送,導致整個 DTN 網路負載高,同時減少行人可載送資料的緩衝區大 小,因此本論文提出一個四十五度角的判斷規則,即是行人相遇行人時,若行人行走目 的地與訊息傳送目的地所形成之夾角小於四十五度角才傳送資料,若是大於四十五度角 則放棄不傳送,此四十五度角度的數值為透過模擬實驗所得的最佳參數。
如圖 2 所示,當 A 行人相遇 C 行人,A 行人會判斷 C 行人行走目的地與 A 欲傳送 訊息的目的地所形成的夾角為何?若小於四十五度角 A 行人才會將資料傳送給 C 行人,
若大於四十五度角則不傳送,避免網路負載過高。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
12
圖 2:目的地夾角計算示意圖
研究過程中發現,這樣的判斷規則存在著些許問題。第一:部分行人其所在地區較 為偏遠,相遇到其他行人與公車機率偏低;第二:部分行人雖其行走目的地與訊息傳送 目的地所形成之夾角大於四十五度角,但行走路線中可能會經過該目的地或遇到更適合 的傳送者,因此有鑑於上述例外狀況發生,我們修正行人相遇行人時訊息傳送之判斷規 則,提出不對所有行人節點做四十五度角的條件判斷限制。即六分之一的行人不做任何 限制,只要相遇時即傳送資料,且設計由電腦隨機挑選這六分之一行人節點。
這六分之一設定的靈感來自於小世界動態理論。小世界動態理論(Small World Dynamics)為近期在社會網路中提出之理論,它是ㄧ個六度分隔理論,其理論論點為平 均只需六個節點就可以聯繫任何兩個互不相識的節點,如圖 3 所示。而 Elizabeth Daly 等人亦運用小世界動態理論在 DTN 網路架構中進行研究,證實在訊息傳送方面確實有 顯著的效果[15][16]。因此我們利用此理論靈感,將行人相遇行人時不需做判斷的行人 比例設定為六分之一,但這個數字六跟小世界動態理論的六沒有絕對關係,但實驗結果 發現這個參數六有顯著效果。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
13
圖 3:六度分隔理論示意圖[17]
3.3.2 行人相遇公車
當行人相遇公車時,因公車具有移動速度快、行駛路線固定與行駛距離長等優勢,
因此在傳送訊息、資料方面,若將訊息傳遞給公車傳送,傳送到目的地的機會與時間會 比行人來的相對較高並快速,且本論文設計之以公車為基礎的 DTN 網路架構,即是採 用上述特點,盡量以公車節點來傳送訊息為主。
其次公車尚有另一考量點存在,即公車行駛方向相對訊息目的地而言,可以區分為 正向公車與逆向公車,正向公車會隨行駛時間而與訊息目的地距離慢慢縮減,而逆向公 車距離則會慢慢增加。考量上述因素,初期演算法設計規則為,行人相遇公車時須先判 斷公車為正向公車或是逆向公車,若為正向公車才傳送訊息,但實驗研究結果發現若先 判斷公車為正向或逆向,爾後再決定資訊傳送與否,會導致行人相遇公車時部分訊息不 會傳送給公車,無法運用公車移動速度快、行駛路線固定與行駛距離長等特性而增加訊
其次公車尚有另一考量點存在,即公車行駛方向相對訊息目的地而言,可以區分為 正向公車與逆向公車,正向公車會隨行駛時間而與訊息目的地距離慢慢縮減,而逆向公 車距離則會慢慢增加。考量上述因素,初期演算法設計規則為,行人相遇公車時須先判 斷公車為正向公車或是逆向公車,若為正向公車才傳送訊息,但實驗研究結果發現若先 判斷公車為正向或逆向,爾後再決定資訊傳送與否,會導致行人相遇公車時部分訊息不 會傳送給公車,無法運用公車移動速度快、行駛路線固定與行駛距離長等特性而增加訊