• 沒有找到結果。

File-based Affinity Propagation Cluster (FAPC)系統架構

第三章 研究方法

3.3 File-based Affinity Propagation Cluster (FAPC)系統架構

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

此地區密度低,加上車輛的高動態性,車輛位置變換極快,網路拓樸變動性高,與cluster head失去連結的可能性也較高,再次與之連結的可能性也低,因此門檻時間設定較短。

根據車流大小動態調整搜尋cluster head時間值,找到適當的cluster head或是自行變為 cluster head。

分群特性

1. 具備動態性考量,群組內的每台車,計算各車之間的相對速度,再進行分群,

群組內的車輛會有相似的行動性,群組有相當可靠的穩定性。

2. 擁有檔案相似性,群組中的車輛具備相似的檔案類型,就會被分到相同的群組,

提供各車輛偏好的檔案類型。

3. 根據行車流量密度,調整尋找 cluster head 最大可等待的時間,適當決定等待 時間以搜尋和轉換 cluster head。

3.3 File-based Affinity Propagation Cluster (FAPC)系統架構

執行整合行動性和檔案相似的架構,每台車都擁有Ri陣列、Ai陣列和鄰居節點的清單,

Ri陣列、Ai陣列分別記錄r(i,j)和 a(j,i),每個鄰居節點清單所記錄的資訊如下:

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

此時值設為 1

整個流程分為三個主要部份:首先為廣播和接收 HELLO beacon 封包,其次為廣播 RESP 和 AVAIL 封包,最後為接收 RESP 和 AVAIL 封包。首先,每台車廣播 HELLO beacon

計算出 Affinity Propagation 演算法中初始的r(i, j)和 a(j, i),再利用公式(9)算出收斂的 r i, j 和a j,i 。 的r(i,j)和 a(j,i),再加上α和β權重值,根據公式(10)選出可用的 cluster head。

α{r i,i + a i,i } + β{s i, j } > 0

(10) α 為動態相似性的加權值,β為檔案相關性的加權值,選擇動態性或是檔案相關性為主,

同時考量兩種分群因素,根據α和β權重值設定,選出的 cluster head 則會有三種可能性:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

較高動態相似性和較低檔案相似性、較低動態相似性和較高檔案相似性,最後一種為中 等動態相似性和中等檔案相似性的三種 cluster head。符合公式的節點,表示已有適合的 cluster head,則將CHcnvg ,j設為 1,若無適合的節點則跳過此步驟,最後傳送 RESP 和 AVAIL 封包,其中 RESP 包含Ri陣列的資訊,VAIL 則擁有Ai陣列和CHcnvg欄位。

第三部份為節點 i 收到節點 j 的 RESP 或 AVAIL 封包的處理,節點 i 在此兩種封包 內查詢Rj和Aj資料,是否有節點 i 的編號,若有則更新鄰居節點清單節點 j 的r(j, i)和 a(i,j) 欄位,更新鄰居節點清單節點 i 的CHcn vg ,j,並檢查CHcnvg ,j欄位是否為 1。若為 1,則將 節點 j 設為節點 i 的 cluster head,並將鄰居節點清單中的CHi更新為節點 j。若不存在或 欄位不為 1,就等待下一個可成為 cluster head 的節點,直到找到一個適當的 cluster head。

將各節點分配至各相似的群組後,節點對檔案有所需求時,只需查詢鄰近節點清單 內各個節點的檔案相似性s i, j ,選擇較高相似性的節點。接下來則查看該節點的Pj向量,

得知該節點所擁有的檔案,查詢該群組中何節點擁有所需要的資料,最後向此節點發出 要求以獲得資料。若該群組沒有要求的資料,則透過 cluster head 延伸通訊範圍,向更 遠的群組發出要求,以獲得檔案資料。

查 cluster head 是否還存在於鄰居節點清單中,若還在代表叢集正常運作,若已無 cluster head,則代表在短時間內,需要尋找一個適當的 cluster head。

不同車流密度影響車輛的行動距離,在失去 cluster head 時,處於不同車流密度的 車輛,找到新的 cluster head 的機率也不同。Artimy [9]利用公式(11)判定所在區域的行車 密度,動態決定傳送範圍的大小,判斷車流壅塞或稀疏 流。Cluster Interval CI 為原本所設定的決定時間,計算出行動節點位於高低密度區域 後,經過行車流量動態調整後稱為CIdyn(dynamic Cluster Interval),公式如下

CIdyn = CI ∗ fS = CI ∗Ts

Tt

(12) 計算出CIdyn後,失去 cluster head 連結的行動節點就開始倒數,當時間結束時該點才成 為 cluster head。藉由公式,根據車流量的大小調整等待尋找 cluster head 的時間,車流 量大密度高的區域,機動性低,找到原本 cluster head 的機率大。並且如果找到新的 cluster head,因為該區域行動性低,與此 cluster head 的通訊時間也會拉長,因此設定較高的等 待時間。車流量小密度低的區域,機動性較高,找到原本 cluster head 的機率低,因此

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

設定較低的等待時間。而在門檻時間結束後,若仍未找到適合的 cluster head,則該節點 成為新的 cluster head。

File-based Affinity Propagation Cluster (FAPC)架構流程圖

前節完整敘述整體架構流程,從如何將檔案相似性與具行動性的 Affinity Propagation 結 合。而整合檔案和行動相似性之 Affinity Propagation 的主要步驟和原本 Affinity

Propagation 一樣,為廣播和接收 HELLO beacon、廣播 RESP 和 AVAIL 封包及接收 RESP 和 AVIL。關於維護 cluster 的部分,本論文著重在 cluster head 的部分,根據車流大小,

決定一個搜尋 cluster head 的最大時間,而整體流程如圖 3-1 所示:

Become cluster member and maintain cluster

Check cluster head exists?

Yes

Calculate time to search cluster head

No

This node become a new cluster head

Time is over?

Yes Broadcast

HELLO beacon

Broadcast RESP and AVAIL

packet

Receive RESP and AVAIL

Check car leave ?

FAPC start

行動節點所擁有的狀態為:Node does not cluster、Cluster Member、Node does not have cluster head 和 Cluster Head。首先,執行完 FAPC,根據演算法判斷節點成為分群的管理 員或是成員,因此轉變為 Cluster Member 或是 Cluster Head,Cluster Member 如果在一 段時間後,在維持 cluster 時,更新鄰居節點清單時,發現已無 cluster head 能提供服務,

此時則轉為 Node does not have cluster head 的狀態,並計算出最大搜尋等待 cluster head 的時間。時間使用完,則此節點成為 cluster head 並轉變為 Cluster Head 狀態,若在時間 未用完就找到 cluster head,就再次變回 Cluster Member 狀態,狀態轉變圖如下:

Node does not cluster

Use FAPC cluster

Cluster Head Become a cluster head

Cluster Member

Node do not have cluster

head

Timeout Detect no cluster head

Detect no neighbor

Detect no neighbor

Use FAPC cluster

Find cluster head

圖 3.2 行動節點狀態變換圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

File-based Affinity Propagation Cluster (FAPC) 分群虛擬碼

根據上一節的流程圖、節點狀態圖及文字敘述,將 FAPC 分群架構寫成原始虛擬碼。

Step1 Broadcast and Reception Hello Beacons

foreach node j

broadcast HELLO beacon :< 𝑗, (𝑥, 𝑦)𝑗, (𝑣𝑥, 𝑣𝑦)𝑗,𝑃𝑗>

end foreach foreach node i

receive HELLO beacon if node j and node i have the same direction

calculate dynamic similarity 𝑑 𝑖, 𝑗 calculate data similarity 𝑆 𝑖, 𝑗

Update j’s neighbor list entry:<𝑗, (𝑥, 𝑦)𝑗,(𝑣𝑥, 𝑣𝑦)𝑗,𝑑 𝑖, 𝑗 , 𝑆 𝑖, 𝑗 , 𝑡𝑒𝑥𝑝𝑖𝑟𝑒>

//更新鄰居節點清單資訊

end if end foreach

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

Step2 Broadcast RESP and AVAIL messages

foreach node i

calculate neighbor j’s 𝑟 𝑖, 𝑗 //計算𝑟 𝑖, 𝑗 update new 𝑟 𝑖, 𝑗 𝑎𝑛𝑑 𝑜𝑙𝑑 𝑟 𝑖, 𝑗 with damping factor

//多次計算收斂𝑟 𝑖, 𝑗 store 𝑟 𝑖, 𝑗 𝑖𝑛 𝑎𝑟𝑟𝑎𝑦 𝑅𝑖

calculate neighbor j’s 𝑎 𝑗, 𝑖 //計算𝑎 𝑗, 𝑖 update new 𝑎 𝑗, 𝑖 𝑎𝑛𝑑 𝑜𝑙𝑑 𝑎 𝑗, 𝑖 with damping factor

//多次計算收斂𝑎 𝑗, 𝑖 store 𝑟 𝑖, 𝑗 𝑖𝑛 𝑎𝑟𝑟𝑎𝑦 𝐴𝑖

if α{r i,i + a i, i } + β{s i, j } > 0

//檢查有沒有可用的cluster head 𝐶𝐻𝑐𝑛𝑣𝑔 = 1

End if

broadcast RESP packet < 𝑅𝑖 >

broadcast AVAIL packet < 𝐴𝑖, 𝐶𝐻𝑐𝑛𝑣𝑔 >

end foreach

Step3 Receive RESP and AVAIL messages

foreach node i

receive RESP or AVAIL packet form node j

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

if node i’s id in 𝑅𝑖 𝑜𝑟 𝐴𝑖

update 𝑟 𝑗, 𝑖 𝑜𝑟 𝑎 𝑖, 𝑗 in the neighbor list entry

//將鄰居節點清單的資料更新

if 𝐶𝐻𝑐𝑛𝑣𝑔==1 //有可用的cluster head update 𝐶𝐻𝑐𝑛𝑣𝑔 ,𝑗

set 𝐶𝐻𝑖= 𝑗

//將節點j設定為cluster head end if

end if end foreach

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第四章

模擬實驗與結果分析

4.1 模擬環境

本論文研究目的,是讓使用者在行車時盡可能獲得需要的檔案,進而建立穩定又不失檔 案資料相關性的群組,因此採用 TCP 的傳送方式。本模擬將與 Social-Based Cluster 與 Affinity Propagation-Based Cluster 比較,以模擬時間、車輛速度和車輛數檢驗 FAPC 分 群架構,並使用四個效能指標做為參考值:Average Cluster Member Duration、Average Cluster Head Duration、Query Hit Ratio 及 Retrieve File Ratio。Average Number of Clusters 是指整個網路拓樸中有幾個分群,Average Cluster Head Duration 是指群組中的 Cluster Head 能提供服務時間的平均值,Query Hit Ratio 是指發出資料要求的車輛跟群組內車輛 比對擁有資料的命中率,Retrieve File Ratio 則是發出資料要求,而取得資料檔案大小的 比率。前面兩個指標可以判斷此叢集架構的穩定性,是否可以長時間使用,而後面兩個 指標可以判定使用資料檔案相關性分群後,是否能提供群組所需要的資料。此模擬將採 用網路層以 TCP 的方式持續不斷送出要求資料,進行群組內的比對,並回傳要求的資 料。

模擬平台所採用的模擬器版本為 Network Simulator 2.35 [12],它能計算真實環境的 網路系統架構,進而在電腦中模擬提供研究人員在此模擬軟體加入所提出的演算法,進 行分析和驗證。除此之外,也是許多文獻、研究人員所採用的模擬軟體,而且 NS2 用於 車用網路中的路由模組也比其他模擬軟體顯得完善,因此具備較高的公信力。在本論文

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

中,我們選用 NS-2 做為模擬器,修改其中的模組,將本論文的研究機制實作在模擬中,

在不同環境中進行分析,並與其他文獻提出的機制做比較,並加上 Mobility Model。而 Mobility Model 是利用 SUMO (Simulation of Urban Mobility)[11]所產生雙向直線共四線 道的道路環境,道路長度設為 1 公里,並使用 SUMO 作為車輛駕駛模擬,以獲得更具真 實性的實驗數據。

4.2 硬體和軟體環境參數設定

使用 SUMO 產生車輛道路環境,產生的封包大小為 1000 bytes,並在 IEEE 802.11p 的模 組中使用 BPSK 6Mbps 的 data rate。資料共有 100 種,分配到不同的 20 類型,每個類型 各有 5 種資料,可傳送的資料共有 4 個檔案大小,以供傳輸。比較對象為 social-based cluster 與 Affinity Propagation-based cluster,藉此期望能達到最為真實的模擬環境。

硬體及軟體如下表:

表 4.1 硬體及軟體環境

硬體 處理器 Intel Core I5 3.3GHz

記憶體 8.0 GB RAM

軟體 作業系統 Ubuntu 11.04

模擬軟體 NS2 version 2.35 分析軟體 Microsoft Excel

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

模擬參數如下表:

環境參數 參數值

車輛數 300,450,600,750,900

每輛車行駛速度限制(m/s) 15~50 m/s

網路拓樸 1000m X 1000m (每個 block 250m X 250m)

道路 4 lanes

無線電傳輸半徑長度 r 250m

傳輸速度 BPSK 6Mbps

傳輸資料封包大小 1k byte

可傳輸資料種數 100

可傳送資料類型 20

可傳送單一資料大小 1MB, 4MB, 10MB

比較對象 Affinity Propagation-Based Cluster Social Cluster-based Cluster

效能指標 Query Hit Ratio

Retrieve File Ratio

Average Number of Clusters Average Cluster Head Duration 表 4.2 參數及參數值

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

4.3 Mobility Model–SUMO and MOVE

在車載網路的模擬上,SUMO 是個知名的 mobility model,而本次實驗也利用 SUMO 產 生雙向共 4 線道的道路模組(圖 4.1),再透過 MOVE 轉換成 tcl(圖 4.2),最後透過 NS2 模擬出實驗結果,如圖(4.3)NAM。其中車輛的行車速度及數量都由 SUMO 做控制。

圖 4.1 SUMO

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U

圖 4.2 MOVE

ni ve rs it y

圖 4.3 NAM

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

4.4 實驗結果及分析

實驗將與 Affinity Propagation-Based Cluster 及 Social Cluster-based Cluster,透過三個層 面做分析比較,分別為模擬時間、車輛速度限制及車輛數目,以驗證 FAPC 是否有較好 的效能。

模擬時間

圖 4.4,4.5,4.6,4.7 為在連續的模擬時間中觀察 Query Hit Ratio、Retrieve File Ratio、

Average Number of Clusters 及 Average Cluster Head Duration,以比較三種分群方法。在 網路層使用 TCP、車輛數量設定為 450 輛車,最高車速限制為 30m/s,分別發出檔案要 求,盡可能取得要求的檔案。

從圖 4.4 和表 4.3 來看 Packet Delivery Ratio 可觀察到將動態性 Affinity Propagation 與檔案性相關的 Social Cluster-based 整合的機制 FACP,在不同的模擬時間點,不同車 輛所發出的檔案要求,FACP 保有了 Social Cluster-based 檔案相關性的特性。因此,在 檔案搜尋方面,與 Social Cluster-based Cluster 的分群方式有相似的數據,兩者差距平均

從圖 4.4 和表 4.3 來看 Packet Delivery Ratio 可觀察到將動態性 Affinity Propagation 與檔案性相關的 Social Cluster-based 整合的機制 FACP,在不同的模擬時間點,不同車 輛所發出的檔案要求,FACP 保有了 Social Cluster-based 檔案相關性的特性。因此,在 檔案搜尋方面,與 Social Cluster-based Cluster 的分群方式有相似的數據,兩者差距平均

相關文件