• 沒有找到結果。

不規則多點傳播路由演算法

4.1 建樹機制

在建樹機制中,要如何利用每個感測節點接受請求機率的不同,將無線感測 網路建構成樹狀網路結構,在這裡我們提出了五套不同的分散式建樹機制,分別 為 FPMR-highest (Finding Parent Multicast Routing-highest)、FPMR-closest (Finding Parent Multicast Routing-closest)、DCMR (Distance Confined Multicast Routing)、

TDMR (Threshold Decreasing Multicast Routing)、CLMR (Contour Lines Multicast Routing)等五種建樹演算法。在這五套演算法中,FPMR 及 FPMRII 演算法是說 明感測節點如何尋找自己的父節點,另外兩套 DCMR、TDMR 演算法則是說明

感測節點如何挑選其子節點,而最後一套 CLMR 演算法則是使用等高線的概念 建出路由路徑,希望藉由這概念可以為樹狀結構建立主脈,使路由路徑更家有效 率。在 FPMR 演算法中,說明著感測節點從近區域中(Near region)中選取一個機 率值與自己相等或高於自己的感測節點當作父節點,但其缺點為與父節點的距離 過遠增加了父節點的能量消耗,因為將會集中在機率高之節點上,因此造成整體 感測節點能量消耗不平衡,相反地,所形成的樹深度不深,傳輸的延遲時間短。

第二套 FPMRII 演算法與 FPMR 演算法相似,此套演算法則是從近區域中選取最 靠近之鄰近節點做父節點,如此做來不會增加父節點的能量消耗並且可以使整體 感測節點的能量消耗達到平衡,相反地,所形成的樹深度較深,傳輸的延遲時間 會較長。第三套 DCMR 演算法是一套挑選子節點的演算法,在這套演算法中,

感測節點會設定出一個接受範圍 Range,從這接受範圍中挑選出適當的鄰近節點 當子節點,而剩餘的節點則挑選最接近其鄰近節點加入當子節點,而這套演算法 會因為 Range 的設置而將避免過遠的鄰居成為子節點,使父節點不會因為遠距離 的傳輸而增加能量消耗,並且也可以使整體能量消耗平衡,五套建樹機制中也只 有這套需要調整機制,透過調整機制將使 DCMR 演算法整體的能量消耗降低。

第四套 TDMR 演算法與 DCMR 相同,是一套說明感測節點如何挑選子節點的演 算法,這套演算法是將門檻值作遞減的動作,依序比較鄰近節點之機率值來挑選 為子節點,所以當最遠之鄰近節點的機率值高於門檻值的話,則感測節點將會因 為距離過遠而造成父節點之能量消耗負荷過高導致提早耗盡能量,相反地,所形 成的樹深度較淺,傳輸的延遲時間較短。第五套 CLMR 演算法分兩個階段建樹,

先將所有感測節點之鄰近節點中機率最高的節點集合起來,然後以最短路徑的方 式為他們之間建出路由路徑當作主脈,第二階段將剩餘的感測節點也以最短路徑 的方式加入主脈形成整個樹狀結構,如此做來將使感測節點的能量消耗達到平 衡,但在傳輸上的延遲時間會較長。以下將依序為此五套建樹演算法作詳細介紹

一、 FPMR-highest (Finding Parent Multicast Routing-highest)演算法

圖 4-1 FPMR-highest 演算法之流程圖

Step 1: 從近區域(Near region)內之鄰近節點中,挑出機率值最高的感測節點為候 選節點 P。如圖 4-1-1 所示,感測節點 1 從鄰近節點中尋找出父節點,在 距離基地台較近的鄰近節點中找出最高機率值之候選節點 4。如此尋找是 為了可以方便尋找出機率值較高的感測節點作為父節點,進而達到我們的 目的,使傳輸路徑有效率。

2 5

6

3

9 1

8 7

4 BS

BS Base Station Candidate Node

Connnection 0.6

0.4

0.3

0.4

0.7

0.5 0.3

0.6 0.5

Sensor Node

Transmission Range

圖 4-1-1 FPMR-highest 演算法之步驟一範例圖

Step 2: 將候選節點 P 作為父節點。如圖 4-1-2 所示,候選節點 4 的機率值比節點 1 高時,則選作為節點 1 的父節點。

圖 4-1-2 FPMR-highest 演算法之步驟二範例圖

FPMR-highest 演 算 法 經 由 以 上 的 詳 細 介 紹 後 , 我 們 將 實 驗 中 模 擬 的 FPMR-highest 演算法所產生的樹狀結構圖呈現如下:

圖 4-1-3 FPMR-highest 演算法樹狀圖

二、 FPMR-closest (Finding Parent Multicast Routing-closest)演算法

圖 4-2 FPMR-closest 演算法之流程圖

Step 1: 從近區域內之鄰近節點中,挑出距離最近的感測節點為候選節點 P。如圖 4-2-1 所示,感測節點 1 從鄰近節點中尋找出父節點,在近區域內的鄰近 節點中選出最靠近之候選節點 5。如此挑選是避免父節點因距離過遠而造 成父節點之能量消耗過大,使父節點縮短壽命。

2 5

6

3

9 1

8 7

BS

0.6

0.4

0.3

0.4

0.7

0.5 0.3

0.6 0.5

1 3

3

2

1 1

3 2

4

BS Base Station

Candidate Node

Connnection Sensor Node

Transmission Range

圖 4-2-1 FPMR-closest 演算法之步驟一範例圖

Step 2: 將候選節點 P 作為父節點。如圖 4-2-2 所示,候選節點 5 最靠近節點 1,

則選作為節點 1 的父節點。

圖 4-2-2 FPMR-closest 演算法之步驟二範例圖

FPMR-closest 演 算 法 經 由 以 上 的 詳 細 介 紹 後 , 我 們 將 實 驗 中 模 擬 的 FPMR-closest 演算法所產生的樹狀結構圖呈現如下:

圖 4-2-3 FPMR-closest 演算法樹狀圖

三、 DCMR (Distance Confined Multicast Routing)演算法

圖 4-3 DCMR 演算法建樹機制之流程圖

Step 1: 初始 Range 的範圍,Range 取的範圍為 N(Si)中最遠距離的 0.25,如圖 4-3-1。如此設定是避免感測節點 Si 與子節點因為距離過長,而導致感測 節點 Si的傳輸能量消耗過高而提早能量耗盡。Range 制定為 0.25 是經由模 擬實驗的結果決定,這部份會在第五章模擬實驗作介紹。

圖 4-3-1 DCMR 建樹機制之步驟一範例圖

Step 2: 從 N(Si) 遠區域內的感測節點中,除了具有父節點之感測節點外,計算感 測節點 Si與鄰近節點 Sa之間的距離。如圖 4-3-2 所示,感測節點 1 計算與 遠區域內之鄰近節點之間的距離。

圖 4-3-2 DCMR 建樹機制之步驟二範例圖

Step 3: 將計算出來的感測節點 Si 與鄰近節點 Sa 之距離與 Range 做比較,如圖 4-3-3。如果小於 Range 則進入 Step 4。反之,則進入 Step 5。

Step 4: 感測節點 Sa之機率值 proba與門檻值做比較。如果 proba高於門檻值的話,

將進入 Step 6。反之,則進入 Step 5,如圖 4-3-4。制定門檻值機率值作比 較,是為了達到我們的目標,使請求可以挑選高效率之傳輸路徑進行傳 輸,而不需繞道行走低效率之傳輸路徑。

圖 4-3-4 DCMR 建樹機制之步驟四範例圖

Step 5: 尋找最靠近之感測節點加入成為其子節點,如圖 4-3-5。尋找最近之感測 節點加入,是避免傳輸路徑過長而導致父節點能量消耗過高,因此,挑選 最靠近之節點加入。

圖 4-3-5 DCMR 建樹機制之步驟五範例圖

Step 6: 直接加入當作感測節點 Si之子節點。如圖 4-3-6 所示,節點 2 在 Range 內 且機率值比節點 1 高,所以加入節點 1 當其子節點。

圖 4-3-6 DCMR 建樹機制之步驟六範例圖

DCMR 演算法中的建樹機制經由以上的詳細介紹後,我們將實驗中模擬的 DCMR 建樹機制所產生的樹狀結構圖呈現如下:

圖 4-3-7 DCMR 建樹機制樹狀圖

為了使基地台請求傳輸路徑更有效率,我們再為 DCMR 演算法做出調整機 制,接下來說明 DCMR 演算法中的調整機制,每一步驟如圖 4-4,以下將以圖解 方式詳細說明。

圖 4-4 DCMR 演算法調整機制之流程圖

Step 1: 感測節點 Si與父節點 Sa的機率值 probi與 proba做比較,當如果 probi大於 proba 的話,則需要進入路徑修改調整機制。反之,則不需進行路徑修改 離開此機制。如圖 4-4-1 所示,節點 1, 3 之機率值比父節點高,所以需作 調整。因為節點 Sa的機率值比節點 Si低,代表的是請求經過節點 Sa的機 會比節點 Si小,假使基地台送出請求給節點 Si,則會因為需經過節點 Sa

而額外多消耗節點 Sa之能量。因此,需為節點 Si作路徑修改,以致於傳 輸請求時更有效率。

圖 4-4-1 DCMR 調整機制之步驟一範例圖

Step 2: 從 N(Si)中尋找出機率值高於 probi的所有感測節點收入 Candi(Si)集合內當 候選節點集合。如圖 4-4-2 所示,鄰近節點 1 的機率值比節點 3 高,所以 收入候選集合內。找出機率值比節點 Si高的鄰近節點 Sb,代表著請求經 過節點 Sb機率高於節點 Si,因此,當請求傳送至節點 Si時,不會多餘消 耗節點 Sb的能量。

圖 4-4-2 DCMR 調整機制之步驟二範例圖

Step 3: 從 Candi(Si)中,機率值由高至低依序挑出路徑能量消耗比感測節點 Si低的 候選節點 Sb,接下來則進入 Step 4。反之,則離開修改調整機制。如圖 4-4-3 所示,請求從節點 1 傳送到節點 3 所需的路徑消耗比從節點 6 小。制定這 個條件式是為了避免路徑產生繞路而增加整體能量消耗。

圖 4-4-3 DCMR 調整機制之步驟三範例圖

Step 4: 檢查假使感測節點 Si加入候選節點 Sb成為其子節點後,候選節點 Sb的能 量消耗是否增加,如果增加的話,將離開調整修改機制。反之,則加入節 點 Sb當其子節點。如圖 4-4-4 所示,節點 1 的最大能量消耗為 5,如果節 點 3 加入只需消耗 3,所以不會增加節點 1 之能量消耗,因此將節點 3 調 整成為節點 1 之子節點。

圖 4-4-4 DCMR 調整機制之步驟四範例圖

DCMR 演算法中的調整機制經由以上的詳細介紹後,我們將實驗中模擬的 DCMR 調整機制所產生的樹狀結構圖呈現如下:

圖 4-4-5 DCMR 調整機制樹狀圖

四、 TDMR (Threshold Decreasing Multicast Routing)演算法

Step 1: 設定門檻值大小,在此範例門檻值為 0.3。設立門檻值是為了透過與門檻 值的比較來決定感測節點 Si是否開始挑選適合的子節點,如圖 4-5-1。

圖 4-5-1 TDMR 演算法之步驟一範例圖

Step 2: 在感測節點 Si的遠區域(Far region)內,未有父節點之所有鄰近節點 Sa挑選 成為子節點。如圖 4-5-2 所示,節點 1 遠區域內的鄰近節點中有節點 7,

則節點 7 則挑選為節點 1 之子節點。

圖 4-5-2 TDMR 演算法之步驟二範例圖

Step 3: 若有多個感測節點同時挑選相同節點 Sa為子節點,則節點 Sa將這些感測 節點作為候選父節點,從候選父節點中挑選最近之感測節點加入為其子節 點。如圖 4-5-3 所示,節點 2, 5 同時為節點 6 之候選父節點,節點 6 則挑 選最近之節點 5 加入為其子節點。

圖 4-5-3 TDMR 演算法之步驟三範例圖

Step 4: 檢查是否每個感測節點都具有父節點。假使每個節點都具有父節點,則結 束流程。反之,將進入 Step 5,降低門檻值重新進入 Step 2,直到每個感 測節點加入為止。如圖 4-5-4 所示,還有節點 2, 3, 4, 5, 8, 9 還未加入。

0.5

6

3

9

1

8 2

Threshold: 0.6 0.5

0.3 0.7

0.6 0.6

0.4

0.3

0.4 7 5

4

No Parent Node

Sensor Node

圖 4-5-4 TDMR 演算法之步驟四範例圖

Step 5: 降低門檻值。

TDMR 演算法經由以上的詳細介紹後,我們將實驗中模擬的 TDMR 演算法 所產生的樹狀結構圖呈現如下:

圖 4-5-6 TDMR 演算法樹狀圖

五、 CLMR (Contour Lines Multicast Routing)演算法

圖 4-6 CLMR 演算法之流程圖

Step 1: 為了讓路由路徑更加有效率,建立一棵高機率的樹當主脈。在每個感測節 點之鄰近節點中挑出機率值最高的感測節點當作結構點(Contour node)。

圖 4-6-1 CLMR 演算法之步驟一範例圖

Step 2: 將所有挑出的結構點 cn建構成最短路徑樹 T。

圖 4-6-2 CLMR 演算法之步驟二範例圖

Step 3: 在 T 中建構點之間的連結用最短路徑連接,最後則形成一棵高機率樹 T’

當主脈。

相關文件