• 沒有找到結果。

第一章 簡介

1.3 論文組織與架構

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

種分群方式只能提供一般大眾會用到的資料訊息,無法兼顧每位使用者的需求。所以我 們提出一個兼具動態性和檔案喜好的群組架構,此架構考慮兩個重要因素:節點行動性 和使用者對檔案的喜好特性。整合後的群組架構既擁有相似的動態性,也具備了相似的 檔案類型,以便群組內進行檔案傳輸。建立叢集後,考慮車輛速度變化大,可能造成群 組內車輛與 cluster head 失去聯繫,如何有效重新選擇一個新的 cluster head 或是轉變新 的 cluster head 是個大問題。在網路拓樸變動性大的環境中,某節點發現無可用的 cluster head,都使用事先定義的等待時間,直到時間結束,該節點才轉變成新的 cluster head,

此作法會造成當下頻寬資源的浪費,但該節點馬上轉換為 cluster head,也會衍伸出其他 問題,萬一在短時間內遇到可用的 cluster head,那麼小範圍內存在著兩個 cluster head,

會彼此競爭資源、傳遞封包時產生碰撞。有鑑於此,我們在失去 cluster head 時,設定 新的 cluster head 決定時間,此值隨著車流密度動態調整,一旦時間結束,依然無可用 的 cluster head,該節點就變更為新的 cluster head,提供鄰近節點服務,以減少資源的浪 費,快速提供 cluster 成員服務。

1.3 論文組織與架構

本論文分為五個章節:第一章為緒論,簡單介紹研究背景及論文的研究動機與架構。第 二章為相關研究,介紹各種分群的方式與其失敗的可能原因及其解決方法。這些失敗的 原因包括:考慮動態性未考量檔案喜好、考慮了檔案相似性但傳送距離可能過長。第三 章為研究方法,介紹本篇論文要解決的問題,並提出適當的解決方法 FAPC。第四章為 模擬實驗,觀察群組的分群傳輸驗證效能。第五章為結論與未來研究。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第二章 相關研究

2.1 Affinity Propagation

文獻[1]中,將使靜態資料中的分群演算法與車用網路結合在一起,計算各個節點的動態 相似性進而分群。與VANET整合後的架構稱為Affinity PROpagation for VEhiclar networks (APROVE),在此架構中,網路中的節點會與鄰近節點交換上一章所介紹的Responsibility 與Availability,並決定分群結果。此演算法規定:在一個hop內的鄰近節點才能劃分在同 一群組。演算法的相似性公式為

S i, j = − xi− xj + x′i − x′j xi = Xi

Yi x′i = Xi + Vx ,i∗ τt Yi+ Vy,i∗ τt

(4) 使用負的Euclidean距離,來表示未來此兩節點的動態相似性。 Xi是i節點現在的位 置, xi為X節點根據速度Vx ,i和時間τt計算未來位置,同理xj也會經過相同的計算得知未 來時間τt後的位置。

此架構有兩個主要的部份為Message Passing and the Neighbor List與

Cluster Formation and Maintenance。首先,Message Passing and the Neighbor List:

的r(i,j)、a(i, j)、傳送出的r(i, j)、a(i,j)。

(x, y)j 節點 j 的位置

CHcnvg ,j 收斂(converge)時,表示節點 j 為可用的 cluster head,

此時值設為 1

CHj 節點 j 的 cluster head

texpire 節點 j 剩餘的連結時間

TM 傳送 Responsibility 和 Availability 訊息的時間

TCM 維護分群的時間

CI 分群決定的時間 Clustering Interval 表 2.1 鄰近節點資訊及環境參數

叢集的維護方式和格式:分群決定的時間Clustering Interval 簡稱為CI,傳送 Responsibility和Availability訊息的時間定為TM, TM比CI小。在每個CI,節點i會使用公 式:

CHi= arg maxj a i,j + r i, j

(5)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

來決定cluster head。節點i只會考慮有設定 CHcnvg flag的鄰居節點,假設節點為j,此時 節點j就會成為cluster head。假設附近都沒有鄰居節點設定 CHcnvg flag,節點i就成為這 個群組的cluster head。而在每個Cluster Interval (CI)區間內,此架構也會維護這些分群,

而這個維護分群的時間為TCM 每個節點會根據鄰居節點清單內的texpire,來清除附近的 鄰居節點。此時節點i需檢查cluster head是否還在鄰居清單內,假設消失,就要搜尋附近 有無其他的cluster head,假如找到一個以上則根據上面公式選取一個較佳的cluster head,

如果沒有找到任何一個cluster head,此節點自己成為新的cluster head。

文獻[1]的架構根據行動性將各節點劃分群組,有效解決contention極 hidden terminal 的問題,適用於車禍事故警告、傳送車況資訊、地區廣播訊息等應用,但對於檔案傳輸 方面沒有實際貢獻,因為各個群組擁有的檔案不一定是此群組成員需要的,很可能需要 向遠方群組發出檔案要求後輾轉獲得的資料。此距離可能過大,造成檔案傳送失敗,降 低整體網路吞吐量。在維護整個cluster上,叢集成員會定期更新鄰居節點清單上那些節 點已無法繼續通訊,進而清除這些節點資訊,接下來再檢查鄰居節點清單,查詢清單中 叢集管理員是否還存在。如果沒有找到,則在一個既定時間內搜尋鄰近節點是否有可用 的叢集管理員,若查無,則此節點就自行成為叢集管理員,提供其他節點服務。然而,

時間長短可能會引發問題,假設設定的時間太長,則此節點長時間無法得到任何服務;

反之,時間設定較短,此節點快速成為叢集管理員,但很可能不久就可以發現可使用的 叢集管理員,此時該節點轉變為叢集管理員的動作分明是不需要的,而且也可能會跟既 有的鄰近管理員靠得太近,通訊範圍重疊,無法達到最大的效能,造成資源浪費的情形。

2.2 Social Cluster-based Overlay Structure

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

由於車輛的高速移動,車載網路中的行動節點需要傳送較多的控制訊息來尋找鄰居節點 的位置和數量,而這些訊息是相當大的負擔,因此產生了一種新的架構:將一群行動節 點和一個固定節點進行分群,固定節點負責管理行動節點的分群架構,架構圖如下。

圖 2.1 群組架構[4]

文獻[4]建構出的分群式架構,分為三個部分:Social Cluster-based Overlay Structure、

Lifetime-aware Flooding Scheme及Connectivity-aware Retrieval Scheme。Social

Cluster-based Overlay Structure的主要架構為:挑選動態節點的因素考量是根據使用者喜 好的檔案類型來進行分配。假設兩個節點的檔案喜好是相似的,就會將此兩節點分到同 一個群組;反之,則分配到另一群組。每個節點i都會將其擁有的檔案分為幾類,並且記 錄起來,採用向量的格式表示:

Wi

= Wi,k1,Wi,k2,… , Wi,kl, …

(6) 其中每一個數值的計算方式為

Wi,k

m = Oi,k

m

Oi

(7)

Lifetime-aware Flooding Scheme是根據公式來決定兩輛車剩餘的連線時間[4],公式 與關係圖如下

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 2.2 節點vi與節點vj關係圖[4]

Connectivity-aware Retrieval Scheme是利用剩餘時間、要求的檔案和傳送的檔案,三 者計算出在剩餘時間內可傳輸的檔案大小,有效率的使用頻寬,不會因為多傳檔案造成 頻寬浪費或是封包碰撞的情形。此架構依照喜好性分群,讓檔案的取得和搜尋更有效 率。

此架構可能會衍生出其他問題,對於動態性極高的車用網路車輛節點行動性高,短 時間內可能進行大範圍的移動,造成與固定位置的cluster head距離過遠,在進行通訊傳 輸時,因為距離過遠需要多次轉傳才能送達目的端,進行多hop的傳送可能會造成封包 遺失,降低效能。

2.3 Video Streaming for Vehicular Communication

文獻[5]提出一種用在即時影音相關的架構,其中包含Distributed Vehicles-Adaptive Clustering algorithm (DVAC)和Vehicles-Adaptive Peer-to-pEer Relay method (VAPER)。

DVAC接收訊息來調整車間通訊和群組架構的方法,這些步驟稱為V-procedures。

V-procedures將車輛節點根據行車方向劃分組別,把相同方向的車輛定義為同一個叢集,

而每個叢集都擁有一個獨特的叢集號碼,每個叢集則包含cluster-head 、cluster-tail和 cluster members。車輛節點使用DVAC來建立叢集並維護叢集相關的訊息,而cluster-head 和cluster-tail扮演了最重要的角色:延伸整個群組的通訊範圍和在VAPER架構中傳送即

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

時影音的應用。決定叢集的方式是執行DVAC演算法以決定誰是cluster-head 、cluster-tail 和cluster members。詳細的方式是在1個hop間廣播自己的位置訊息,位於前方的車輛則 定為cluster-head,一旦決定cluster-head後,在1個hop範圍內的車輛節點的角色也會接著 公布,在最後面的車輛為cluster-tail,其餘車輛則視為此叢集的成員,cluster-head的決定 必須要在一開始就完成,接著決定cluster-tail。在叢集內的通訊,cluster-head是主要的管 理員,cluster-tail則扮演了備份管理員的角色。在叢集間的通訊,cluster-head和cluster-tail 執行延伸通訊範圍和增加可用的即時影音資料。除此之外,cluster-head和cluster-tail避免 相同叢集內封包碰撞的情形,可視為Inter-vehicle Communication (IVC)和

Vehicle-to-Roadside Communication (VRC)的gateway。車輛的各種行為如:加速、減速、

離開、加入,都視為各種事件,V-procedures也提供相對應的處理。

圖 2.3 場景範例[5]

VAPER則是規定由cluster-tail或cluster head其中之一向路旁的infrastructure取得需要 的檔案,再分發給叢集內要求檔案的行動節點,當路旁的infrastructure無法提供資料時,

cluster-tail和cluster head會延伸通訊範圍,向前方或後方的叢集連線,直到找到一個叢集

的cluster-tail或cluster head擁有要求的資料,並且進行HOOK_ON 的步驟進行連結,進而 取得資料。

2.4 CBVANET

Ramakrishnan 等人[7]根據行車速度和相對位置決定分群架構,稱為 Simple Highway Mobility Model (SHMM)。依照行車流量的大小,動態決定分群的大小,降低不同群組 之間的干擾,並改進舊有 VANET 分群模組中的群組建立、群組管理員的決定和重選群 組管理員。其架構隨著車流大小調整分群大小,若車流量大,道路通訊狀況會變差,因 此切割的 cluster 選擇較小的,以減少干擾其他群組;反之,車流量小,切割的 cluster 範圍就大,如圖 2-4 所示。

X

i

, Y

i

= Get_Pos(n);

A

i

, B

i

= Subset (X

i

, Y

i

);

Track the positions of nodes in cluster areas for(k=0;k<count(A

i

);k++)

{

Find Movement Speed(N[k]) }

if(average movement of all node speed is slow) {

Take the cluster size as smaller

}

開此車群,因此選擇車速最慢的,落在車流最後方的車子當 cluster head,以確保較長時 間提供傳輸能力,如圖 2-5 所示。

Procedure

Node_Count=Available nodes in the Cluster For i=0 to Node_Count

Ti x = X position of node i at time T Ti y = Y position of node i at time T U=T+10;

Ui x = X position of node i at time U Ui y = Y position of node i at time U

DIFFi(x)=Find the difference between the X position of node i between

the time T and U

DIFFi(y)=Find the difference between the Y position of node i between

the time T and U

Find the direction of node movement

If(slow moving node is in left end than all other nodes in the cluster and nodes are moving slowly towards the right direction)

then {

select that as Cluster Head

當 cluster head 的速度上升,代表可能會靠近甚至是離開 cluster 通訊範圍,此時以 同樣的方式選擇新的 cluster head 管理 cluster,如圖 2-6 所示。

function Track_Cluster()

endif

Finds the new node which has less mobility;

}

If(Current cluster head is near to cluster boundary) {

Run the cluster head election algorithm;

Copy data from old cluster head to new cluster head;

Broadcasts changes to all other cluster heads;

//cluster head updates its status and also updates their local cluster members//

}

endif

}

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 2.6 重選分群管理員演算法[7]

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第三章 研究方法

3.1 問題分析

車載網路中,分群時考慮檔案相似性,每個行動節點對檔案的需求和喜好都不完全相同。

在[1]中,雖然依照行動性劃分將各節點分配到最穩定的叢集中,但是只考慮到行動性,

在[1]中,雖然依照行動性劃分將各節點分配到最穩定的叢集中,但是只考慮到行動性,

相關文件