• 沒有找到結果。

在行動通訊網路下利用網路編碼執行群播重傳的排程機制

N/A
N/A
Protected

Academic year: 2021

Share "在行動通訊網路下利用網路編碼執行群播重傳的排程機制"

Copied!
79
0
0

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

全文

(1)

國立臺中教育大學資訊工程學系碩士論文

在行動通訊網路下利用網路編碼執行

群播重傳的排程機制

Multicast Retransmission Scheduling in

Mobile Communication Networks

Using Network Coding

指導教授:王讚彬 教授

研究生:謝怡如 撰

中華民國一百零四年七月

(2)

謝誌

首先感謝我的家人,在學習的路上支持我並且鼓勵我的所有決定,讓我能無顧慮的完成 學業。再來就是感謝我的指導教授─王讚彬教授,從大學的畢業專題到碩士論文,都一直支 持我的想法,並且在遇到問題或是困難時從旁輔助,給我很大的幫助。 本碩士論文從無到有接受了許多人的幫忙以及協助,首先是學長姐們的論文範本,讓我 在無所適從的時候能夠有個方向,再來是系辦的瑋珊姐,從口試準備一直到論文建檔,所有 的行政工作都細心的提醒著我們,讓我們能順利畢業,最後一樣是感謝王讚彬教授,不厭其 煩地幫助我修改論文,提出更好的修改建議,讓本論文變得更完美。 再來感謝在大學一年級暑假時,救了我一命的台大醫院林明燦副院長,讓我能恢復健康 順利的在六年內完成大學以及碩士班的學業。接著要感謝從大學到碩士班,一路上所有遇到 的老師、學長姐、同學、學弟妹們,讓我在台中教育大學的這六年來累積了許多美好的回憶, 特別感謝黃國展副教授,從大學的班導師直到碩士班畢業前,都不斷地關心我的狀況,以及 大學的好姊妹們,在我無助、心情不好時聽我抱怨,並且想盡辦法的幫助我。最後感謝生命 中曾經幫助過我的所有人,沒有你們的幫忙我不會順利地走到今天,謝謝你們。

(3)

I

摘要

近年來行動通訊網路隨著智慧型手機的普及,行動通訊網路的使用率也迅速的上升。雖 然行動通訊網路在移動性或是延展性方面都較傳統網路為佳以及方便,但是因為無線訊號的 衰減或是訊號干擾,封包傳輸時較容易造成封包損毀或是遺失的情況發生,此時則必須重傳 封包。而重傳的封包會增加整體網路的 overhead,產生額外的傳輸成本,因此將網路編碼 (Network coding)的技術帶入重傳機制中,進而減少重傳所造成額外的 overhead。

利用網路編碼(Network coding)的技術應用在行動通訊網路的重傳機制上,透過合併封包 傳送的方式,不僅可以降低重傳對於網路造成的 overhead,更可以將多餘的網路頻寬資源用 來傳遞新的封包,增進整體網路的效能。

在此篇論文中,我們將提出一個改良式重傳排程演算法 Improved Hamming Distance Algorithm (IHD Algorithm)以及孤點優先圖形演算法,此兩種演算法利用 Network coding 合併 重傳的封包,並且透過不同的篩選條件,進而選出較佳的封包合併組合,藉以提升吞吐量 (throughput),並降低被延遲的封包數量。最後的實驗結果證實了本論文提出的 Improved Hamming Distance Algorithm 除了可以有效增加送達成功率並且相較於原先的重傳排程

演算法有更佳的網路吞吐量,而孤點優先圖形演算法則能有效的提升重傳封包的傳輸 成功率。

(4)

II

Abstract

In Mobile communication networks, a data packet would be corrupted or lost during the wireless transmission due to the fading and interference characteristic of the transmission channel. However, retransmission would increase the processing load of the base station and lead to the overhead of networks. To reduce retransmission overhead and increase throughput, Network coding is adopted in retransmissions. Network coding can increase network throughput by allowing the routers to mix the bits in forwarded messages.

In this thesis, we propose Improved Hamming-Distance (IHD) Algorithm and Isolated Point Graph Algorithm using Network coding to improve throughput and packet successful delivery ratio. Simulation results show that the proposed algorithms are promising for packet retransmission in Mobile communication networks.

(5)

III

目錄

摘要 ... I Abstract ... II 第一章 緒論 ... 1 1.1. 前言 ... 1 1.2. 研究動機與目的 ... 2 1.3. 論文架構 ... 3 第二章 背景與相關研究 ... 4 2.1 網路編碼技術(Network coding)簡介 ... 4

2.2 行動通訊網路群播模型(Multicast Network Model) ... 6

2.3 相關文獻研究 ... 8

2.2.1. Delay Aware Broadcast Scheduling in Wireless Networks using Network Coding[12] ... 8

2.2.2. An Efficient Network Coding Based Multicast Retransmission Scheme for Mobile Communication Networks with Relays[7] ... 11

2.2.3. Network coding based multicast retransmission for mobile communication networks[4] ... 15

第三章 在行動通訊網路下利用網路編碼執行群播重傳的排程機制 ... 19

3.1 問題描述 ... 19

(6)

IV

3.3 Improved Hamming Distance Algorithm 之範例 ... 22

第四章 Improved Hamming Distance Algorithm 效能之分析與結果 ... 25

4.1 比較方法、分析項目及評估場景 ... 26

4.2 吞吐量之結果比較 ... 26

4.3 封包傳輸成功率之結果比較 ... 28

4.4 數據分析與改進方式 ... 30

第五章 利用孤點優先圖形演算法改進 Improved Hamming Distance Algorithm ... 32

5.1 改進目的 ... 32

5.2 孤點優先圖形演算法 ... 33

5.3 孤點優先圖形演算法之範例 ... 36

第六章 孤點優先圖形演算法與 Improved Hamming Distance Algorithm 效能之分析 與結果 ... 40 6.1 環境與參數說明 ... 40 6.2 孤點優先圖形演算法之效能比較 ... 41 6.2.1 重傳吞吐量 ... 41 6.2.2 封包傳輸成功率 ... 46 6.2.3 重傳回合數 ... 51 6.2.4 丟棄封包數量 ... 56 6.3 數據分析 ... 61 第七章 結論與未來工作 ... 63

(7)

V

7.1 結論 ... 63

7.2 未來工作 ... 64

(8)

VI

表目錄

表 2-1 Retransmission Information Table (n=6) ... 14

表 2-2 Packet Status Table of Hamming Distance Based Algorithm ... 17

表 3-1 Packet Status Table of IHD Algorithm ... 23

表 3-2 Coding Opportunity Table of IHD Algorithm ... 23

表 4-1 實驗參數、場景設定 ... 26

表 4-2 Packet Status Table of Simulation ... 30

表 5-1 Vertex Table ... 33

表 5-2 Edge Table ... 34

表 5-3 Packet Status Table of Graph Algorithm Example ... 37

表 5-4 Coding Opportunity Table of Graph Algorithm Example ... 38

表 6-1 實驗參數、場景設定 ... 41

表 6-2 HD、IHD、IPG 演算法優缺點比較表 ... 61

(9)

VII

圖目錄

圖 2-1(a) 傳統方法交換封包 ... 5 圖 2-1(b) 使用 Network Coding 交換封包 ... 5 圖 2-2 蝴蝶圖 ... 6 圖 2-3 行動通訊網路群播模型 ... 7

圖 2-4 m-parallel stop-and-wait protocol (m=6) ... 7

圖 2-5 An Example of Delay Aware Broadcast Scheduling ... 9

圖 2-6 Graph model ... 9

圖 2-7 Mobile Communication Network model with relay ... 12

圖 2-8 A simple retransmission scheme using time division ... 13

圖 2-9 A Network coding based retransmission scheme using TD ... 13

圖 2-10 A Network coding based retransmission scheme using FD ... 13

圖 2-11 Illustration of the Most Least algorithm ... 16

圖 3-1 Improved Hamming Distance Algorithm ... 21

圖 4-1 Throughput in One Transmission Slot ... 27

圖 4-2 Throughput with One Hundred Retransmitted Packets ... 27

(10)

VIII

圖 4-4 Packet Successful Delivery Ratio with One Hundred Retransmitted Packets ... 29

圖 5-1 Isolated Point Graph Algorithm ... 35

圖 5-2 Example of Graph Algorithm... 38

圖 6-1(a) 重傳吞吐量(50%-100 個封包) ... 42 圖 6-1(b) 重傳吞吐量(50%-10000 個封包) ... 42 圖 6-1(c) 重傳吞吐量(70%-100 個封包) ... 43 圖 6-1(d) 重傳吞吐量(70%-10000 個封包) ... 43 圖 6-1(e) 重傳吞吐量(90%-100 個封包) ... 43 圖 6-1(f) 重傳吞吐量(90%-10000 個封包) ... 44

圖 6-1(g) 封包成功到達率比較-重傳吞吐量 (6 Window Size*6 Mobile Terminal) ... 44

圖 6-1(h) 封包成功到達率比較-重傳吞吐量 (8 Window Size*8 Mobile Terminal) ... 44

圖 6-1(i) 封包成功到達率比較-重傳吞吐量 (10 Window Size*10 Mobile Terminal) ... 45

圖 6-1(j) 封包成功到達率比較-重傳吞吐量 (12 Window Size*12 Mobile Terminal) ... 45

圖 6-1(k) 重傳吞吐量 (固定 Window Size=6、packet delivery ratio = 70%) ... 45

圖 6-1(l) 重傳吞吐量 (固定 Window Size=12、packet delivery ratio = 70%) ... 46

圖 6-2(a) 封包傳輸成功率(50%-100 個封包) ... 47

(11)

IX

圖 6-2(c) 封包傳輸成功率(70%-100 個封包) ... 48

圖 6-2(d) 封包傳輸成功率(70%-10000 個封包) ... 48

圖 6-2(e) 封包傳輸成功率(90%-100 個封包) ... 48

圖 6-2(f) 封包傳輸成功率(90%-10000 個封包) ... 49

圖 6-2(g) 封包成功到達率比較 -封包傳輸成功率(6 Window Size*6 Mobile Terminal) 49 圖 6-2(h) 封包成功到達率比較 -封包傳輸成功率(8 Window Size*8 Mobile Terminal) 49 圖 6-2(i) 封包成功到達率比較 -封包傳輸成功率(10 Window Size*10 Mobile Terminal) ... 50

圖 6-2(j) 封包成功到達率比較 -封包傳輸成功率(12 Window Size*12 Mobile Terminal) ... 50

圖 6-2(k) 封包傳輸成功率(固定 Window Size=6、packet delivery ratio = 70%) ... 50

圖 6-2(l) 封包傳輸成功率(固定 Window Size=12、packet delivery ratio = 70%) ... 51

圖 6-3(a) 重傳回合數(50%-100 個封包) ... 52

圖 6-3(b) 重傳回合數(50%-10000 個封包) ... 52

圖 6-3(c) 重傳回合數(70%-100 個封包) ... 53

圖 6-3(d) 重傳回合數(70%-10000 個封包) ... 53

(12)

X

圖 6-3(f) 重傳回合數(90%-10000 個封包) ... 54

圖 6-3(g) 封包成功到達率比較-重傳回合數(6 Window Size*6 Mobile Terminal) ... 54

圖 6-3(h) 封包成功到達率比較-重傳回合數(8 Window Size*8 Mobile Terminal) ... 54

圖 6-3(i) 封包成功到達率比較-重傳回合數(10 Window Size*10 Mobile Terminal) ... 55

圖 6-3(j) 封包成功到達率比較-重傳回合數(12 Window Size*12 Mobile Terminal) ... 55

圖 6-3(k) 重傳回合數(固定 Window Size=6、packet delivery ratio = 70%) ... 55

圖 6-3(l) 重傳回合數(固定 Window Size=12、packet delivery ratio = 70%) ... 56

圖 6-4(a) 丟棄封包數量(50%-100 個封包) ... 57 圖 6-4(b) 丟棄封包數量(50%-10000 個封包) ... 57 圖 6-4(c) 丟棄封包數量(70%-100 個封包) ... 58 圖 6-4(d) 丟棄封包數量(70%-10000 個封包) ... 58 圖 6-4(e) 丟棄封包數量(90%-100 個封包) ... 58 圖 6-4(f) 丟棄封包數量(90%-10000 個封包) ... 59

圖 6-4(g) 封包成功到達率比較-丟棄封包數量(6 Window Size*6 Mobile Terminal) ... 59

圖 6-4(h) 封包成功到達率比較-丟棄封包數量(8 Window Size*8 Mobile Terminal) ... 59

圖 6-4(i) 封包成功到達率比較-丟棄封包數量(10 Window Size*10 Mobile Terminal) ... 60

(13)

XI

圖 6-4(k) 丟棄封包數量(固定 Window Size=6、packet delivery ratio = 70%) ... 60 圖 6-4(l) 丟棄封包數量(固定 Window Size=12、packet delivery ratio = 70%) ... 61

(14)

1

第一章 緒論

1.1. 前言 現 今 社 會 中 因 智 慧 型 手 機 使 用 率 大 幅 的 增 加 , 行 動 通 訊 網 路 (Mobile communication networks)的使用率也隨之增加。在行動通訊網路中,多媒體資料 較常使用群播(multicasting)的方式來進行資料傳遞。而在行動通訊網路的網路模 型中會有一個 Base Station (BS)透過無線訊號同時廣播資料(data)給所有在同一 群組裡的所有行動終端節點(mobile terminal)。雖然行動通訊網路在移動性或是 延展性都較傳統網路為佳以及方便,但是封包傳輸時可能會因為無線訊號的衰 減或是干擾而造成封包損毀或是封包遺失的情況發生。當發生封包損毀或是遺 失時,行動終端節點會向 Base Station 發出一個封包重傳的請求。但是重傳會增 加 Base Station 的工作量並造成整體網路額外的頻寬負擔。 隨著智慧型手機以及各種穿戴式裝置各式應用的大量發展,這些應用的流 通也在行動通訊網路中產生大量封包。然而,一旦網路中的封包數量增加,就 容易產生封包碰撞進而遺失封包,此時就會有大量的重傳請求向 Base Station 發 出,而重送會使得網路中重複的封包變多,也因為群播的特性即使只有極少數 節點未收到封包也會進行封包重傳,造成頻寬資源的浪費。 而網路編碼技術在行動通訊網路中可幫助節省無線資源,減少網路中封包 的數量,進一步可減少封包發生碰撞的機率,適當地增加 throughput。將網路編 碼的技術運用在行動通訊網路的重傳機制上,不但可以減少 Base Station 發送封 包的次數及網路中的封包數量,還可以用單次傳輸來發送多個封包,增加封包 發送的效率,並且節省重傳封包使用的網路頻寬,而多出來的頻寬即可用來傳

(15)

2 遞新的封包,增加整體網路的吞吐量。 1.2. 研究動機與目的 本論文的方法針對行動通訊網路做重傳封包排程的改善,減少重傳封包占 用過多網路資源,進而增進整體網路的效能。 現行行動通訊網路的封包重傳是當發生封包損毀或是遺失時,行動終端節 點會向 Base Station 發出一個封包重傳的請求,Base Station 收到請求後會再針 對損毀或遺失的封包進行群播。雖然對於有大量終端節點皆發出重傳請求的封 包而言,單一封包的群播重傳會是一個直接且有效率的方法,但是針對只有少 數重傳請求的封包,群播重傳的方式較無效率,且對於多數終端節點而言只是 重複的封包。 因此利用網路編碼(Network coding)[1][2][6][8]的技術應用在行動通訊網路 的重傳機制上,透過合併封包傳送的方式,不僅可以降低重傳對於網路造成的 overhead,更可以將多餘的網路頻寬資源用來傳遞新的封包,增進整體網路的 效能,並且透過維持所有終端節點對於封包狀態的 packet status table,進行封包 組合的篩選,而非盲目地進行封包合併,來提升整體網路的效能。

本論文主要著重在利用網路編碼做行動通訊網路重傳封包的排程機制,我 們將改善 Hao Wu et al.所提出的 Hamming Distance based Algorithm[3][4],考慮 網路編碼成功解開合併後的封包機率以及封包合併的選擇性後,提出一個改良 式的重傳排程演算法 Improved Hamming Distance Algorithm (IHD Algorithm),利 用此演算法可以有效的增加成功重傳封包的比例,以及網路吞吐量的提升。並 且針對 IHD Algorithm 的缺點加以改進,提出孤點優先圖形演算法(Isolated Point

(16)

3 Graph Algorithm),將封包編碼機會較少的封包進行優先配對,減少因無法重傳 被丟棄的封包數量,提升整體的傳輸成功率。 1.3. 論文架構 本篇論文共分為七個章節,各章節的簡介如下:第二章先介紹利用網路 編碼執行行動通訊網路重傳機制的相關發展與研究,並且包含網路編碼的簡 介以及行動通訊網路的網路模型;第三章詳述本論文提出之利用網路編碼做 行 動 通 訊 網 路 改 良 式 的 重 傳 排 程 演 算 法 Improved Hamming Distance Algorithm (IHD Algorithm);第四章則針對原始 Hamming Distance Based Algorithm 以及本論文提出之 Improved Hamming Distance Algorithm 做重傳 吞吐量以及封包傳輸成功率的比較;第五章將提出孤點優先圖形演算法,用 來改善 Improved Hamming Distance Algorithm 無考慮的孤點情形;第六章將

(17)

4

第二章 背景與相關研究

本章針對研究的背景與相關文獻進行描述與說明,並介紹後面的章節所要 解決之問題的基礎知識,以下列出本章各節的內容概述: 2.1 網路編碼技術(Network coding)簡介 說明 Network coding 的技術概念及相關的優缺點。

2.2 行動通訊網路群播模型(Multicast Network Model)

說明行動通訊網路的群播運作方式。 2.3 相關文獻研究 2.1 網路編碼技術(Network coding)簡介 網路編碼(Network coding)[1][2][6][8]的概念是在網路中的轉送節點處,用編 碼的方式合併多個來自不同資料流的封包,只要接收端擁有足夠的資訊就能解 開封包,以減少轉送時的發送次數並節省頻寬,同時還可增加每次傳輸的資料 量。只要能節省傳輸次數,相對地就可以減少網路中的封包數量,可以降低發 生封包碰撞及封包丟棄的機率。同時對於無線節點來說,減少發送次數就可以 節省能源,省下來的能源可以拿來發送更多封包。 我們將以傳統的封包交換以及使用網路編碼的封包交換範例來做說明和比

(18)

5 較兩者的差異,在圖 2-1 中,節點 A 和 C 要經由節點 B 來交換封包 P1 和 P2, 圖 2-1(a)為傳統的封包交換;圖 2-1(b)為使用網路編碼的封包交換。在圖 2-1(a) 中使用傳統的封包交換方法,需要四個回合才能完成交換。而在圖 2-1(b)中, 節點 B 實作網路編碼,把 P1 和 P2 編碼合併之後再透過廣播的方式一次送給節 點 A、B,這樣只需使用三個回合的傳輸就可完成交換,並可省下 1/4 的封包數 量。 而網路編碼最經典的例子為蝴蝶圖(Butterfly Example),如圖 2-2 中,單一 傳輸路徑每回合只能傳送一個封包,S1 及 S2 各自要將 ai及 bi封包傳送給兩個 節點 D1 和 D2,透過中間節點將 ai及 bi封包合併傳送後,D1 和 D2 可順利地解 開封包得到 ai和 bi,同時也減少了傳輸的次數。 圖 2-1(a) 傳統方法交換封包 圖 2-1(b) 使用 Network Coding 交換封包

(19)

6 圖 2-2 蝴蝶圖

2.2 行動通訊網路群播模型(Multicast Network Model)

圖 2-3 為行動通訊網路之群播模型,如圖所示模型中會有一個 Base Station (BS)透過無線訊號同時廣播資料(data)給所有在同一群組裡的所有行動終端節 點(mobile terminal)。若任一行動終端節點未收到封包,此時則會向 BS 發出重 傳的請求,BS 收到請求後會再次的廣播重傳的封包給所有節點。

本論文將採用 m-parallel stop-and-wait protocol 為基礎,進行重傳的運作, 而 m-parallel stop-and-wait protocol 的基礎原理是根據傳統 stop-and-wait protocol 的方法進行改良。m 代表 window size 並且 m transmission slots 構成一個 transmission cycle,如圖 2-4。假設封包在第 l 回合 (l =1, 2, 3 ...) 的 transmission slot 中被提出要求重傳,則此封包會在下個回合的 transmission slot 被重傳。若

(20)

7

無重傳要求時,則下個回合的 transmission slot 將被用來傳輸新的封包。

圖 2-3 行動通訊網路群播模型

(21)

8 2.3 相關文獻研究

本節將針對本論文最主要概念之相關研究做介紹,包含將圖形演算法概念 帶入網路編碼之應用,以及行動通訊網路之相關的重傳機制。

2.2.1. Delay Aware Broadcast Scheduling in Wireless Networks using Network Coding[12]

此篇文章主要是探討在無線網路下的 Network coding 之排程,改變 COPE 中最大效益者先 encode 的做法,目標在於最小化會因為 deadline 而 miss 的封包 數量,以下為此文章的重點:

 利用 graph model 來解決考慮封包 deadline 情況下的網路編碼排程問題。

Graph model 中會給予每個邊一個權重值,而此權重值是根據 deadline 來決定的,而根據所提出的 encoding algorithm 找出最大權重之 clique 進行網路編碼。 作者 Z. Dong et al.利用圖 2-5 的例子來說明若在網路編碼時增加封包 deadline 因素的考量來改變排程方式時,會產生更大的利益,圖 2-5 中 s 為傳輸 端,而 r1 、r2、 r3為三個接收端,此三個接收端已經各自擁有一些封包,r1 有 P1、r2有 P1而 r3有 P2及 P3;右下角為 s 傳輸端要傳送不同封包給各個接收端的 需求以及封包的 deadline。COPE 的原始做法是將 P1跟 P3做網路編碼,因為傳 輸 P1⊕P3時三個節點都能得到想要的封包。在不考慮 deadline 的情況下傳輸 P1 ⊕P3的確可以得到最大的利益,但是若在考慮 deadline 的狀況下,此時 P2封包

(22)

9

就會造成 miss,於是作者 Z. Dong et al.提出了另一個想法,先傳送 P1⊕P2再傳

送 P3,如此一來不但所有封包都能順利傳送,也避免 miss 之後重傳的發生,進

而增加效率。

圖 2-5 An Example of Delay Aware Broadcast Scheduling

(23)

10 Graph model

圖 2-6 是根據圖 2-5 範例所畫出之 Graph model,節點 Vij代表傳輸需求,

表示 Pj需傳送至 r i,而建立連線有兩種規則,規則一為當需要的 Pj一樣且 r i不

同時連線;規則二為 Pj不同但傳送 Pj1⊕Pj2時,r i1以及 r i2可順利解開封包同時

解決需求時,Vi1j1和 Vi2j2連線。並且根據 deadline 給予每個邊權重值。

Maximum Weight Clique Based Algorithm

clique 定義為傳送 P’ =Pc1⊕Pc2 . . .⊕Pct時各個節點都能順利解開封包,得

到所需的 Pj時為一個 clique,如圖 2-6 中,V13、V23、V31會形成一個 clique,

而此 clique 代表在傳送時我們可以藉由網路編碼將 P1和 P3兩封包合併傳送,r1 、

r2、 r3三個接收端皆可順利地解開 P1⊕P3。根據觀察發現給予擁有最多 vertex

的 clique 或是找到有最短 deadline 的 clique 給予較高的權重會有較好效益產生。

Summary

透過 Graph model 的輔助以及 maximum weight clique based algorithm 能有效 的達到降低 packets miss deadlines 的發生,藉此提高效能。本篇文章的優點是作 者提出新的排程方式,並考慮 deadline 的因素讓 Network coding 不是只考慮當 下情況的最大傳輸效益,而是先考慮 deadline 降低 miss 的發生,進而得到更高 的效率。

(24)

11

2.2.2. An Efficient Network Coding Based Multicast Retransmission Scheme for Mobile Communication Networks with Relays[7]

本篇文章提出行動通訊網路在有 relay 的情況下利用網路編碼的重傳機制, 此機制主要使用 frequency division (FD)的方式來傳送封包,以利提升網路的傳 輸量以及重傳的效能。 Weight Pick 是一個選擇封包有效率的演算法,用來幫助在行動通訊網路下 的重傳,而此演算法也提出了一個新的概念,動態選擇網路編碼單次合併的封 包數量。 如圖 2-7 為本篇文章之網路模型架構,在行動通訊網路中會有一個基地台

BS,和多個行動通訊終端節點 U1、U2、U3,以及一個 relay 節點,而 relay 主要

負責封包的重傳。並且假設 BS 和 relay 在每個 transmission cycle 中會有 m 個回 合來傳送新的和舊的封包,假設 BS 在 transmission cycle 之內沒有收到 ACK 封

包,則該封包視為傳送失敗,而封包的最大 Delay 設為 Dmax cycles,若封包在

Dmax cycles 內沒有傳輸完畢則會被忽略掉,而動態組合封包數量的最大值為

(25)

12

圖 2-7 Mobile Communication Network model with relay

Resource Allocation 傳統上,在 relay network 的環境下會有兩種資源配置的方式:  Time Division (TD)  Frequency Division (FD) 以下將介紹原始重傳的方式以及 TD 和 FD 兩種方式利用網路編碼之後的重 傳結果。

圖 2-8 為 Time Division 之下的原始重傳方式,Cycle1 時傳送 P1、P2、P3、

P4,假設此四個封包皆要重傳,而在 Cycle2 時最多也只能重傳兩個封包 P1和

P2而已。圖 2-9 也是利用 Time Division 的方式,但加上使用網路編碼來增進重

傳的效能,可以發現原本只能重傳 P1和 P2,加入網路編碼的機制後便可同時重

傳 P1、P2、P3、P4,大大的提升了重傳的效能。圖 2-10 為 Frequency Division 的

(26)

13

重傳的動作,因此整體傳輸的封包數量變多,在重傳方面也因為使用網路編碼, 便可以有更多的頻寬重傳封包。

圖 2-8 A simple retransmission scheme using time division

圖 2-9 A Network coding based retransmission scheme using TD

圖 2-10 A Network coding based retransmission scheme using FD

Weight Pick Algorithm

為了演算法的運行,在 BS 必須儲存一個重傳資訊的 Table,而 Table 中會 儲存新封包以及需要重傳的舊封包狀態,status = 1 代表傳輸成功;status = 0 代 表需要重傳,如表 2-1。

(27)

14

表 2-1 Retransmission Information Table (n=6)

演算法包含三大基本原理:  原理 1:為了增進重傳的效率,被編碼的重傳封包若可以被越多的使用者解 開越好,最好所有的使用者都能解開此封包。  原理 2:被編碼的原始封包為越舊的越好,並且需要此封包的使用者可以順 利解開編碼封包  原理 3:為了增進重傳效能,舊的封包在 transmission cycle 若不只傳送一次

且不額外增加 retransmission slot 的狀況下,可以在同一個 transmission cycle

中傳輸一次以上。舉例說明,若 slot 1 傳送 Pr1=P1⊕P5 而在 slot 2 中傳輸

Pr2'= (P2⊕P3)⊕P5 會比 Pr2=P2⊕P3 來的更有效率,這是因為 Pr2'和 Pr2皆可

(28)

15 Summary

本篇文章提出利用 Frequency Division 的方式重傳,並且運用網路編碼的機 制來提高網路的傳輸效率。Weight Pick Algorithm 是一個有效率選擇網路編碼配 對封包的演算法,用來幫助在行動通訊網路下的重傳,而此演算法也提出了一 個新的概念,動態選擇網路編碼單次合併的封包數量,實驗數據也顯示出此方 法能有效地提升重傳的吞吐量。

2.2.3. Network coding based multicast retransmission for mobile communication networks[4]

本篇文章針對行動通訊網路之群播重傳機制提出兩種演算法,而此兩種演 算法皆使用網路編碼的技術運用在重傳上,網路編碼不僅可以提升重傳的效率 並且增加重傳之可靠性。此兩種演算法分別為 Most-Least selection 和 Hamming distance based (Hamming-D) selection。

網路架構如圖 2-3,如圖所示架構中會有一個 Base Station (BS)透過無線訊 號 同 時 廣 播 資 料 (data) 給 所 有 在 同 一 群 組 裡 的 所 有 行 動 終 端 節 點 (mobile terminal)。若任一行動終端節點未收到封包,此時則會向 BS 發出重傳的請求, BS 收到請求後會再次的廣播重傳的封包給所有節點。

並且本文章採用 m-parallel stop-and-wait protocol 為基礎,進行重傳的運作, 而 m-parallel stop-and-wait protocol 的基礎原理是根據傳統 stop-and-wait protocol 的方法進行改良。m 代表 window size 並且 m transmission slots 構成一個

(29)

16

transmission cycle,假設封包在第 l 回合 (l =1, 2, 3 ...) 的 transmission slot 中被 提出要求重傳,則此封包會在第 l+m 回合的 transmission slot 被重傳。若無重傳 要求時,則第 l+m 回合的 transmission slot 將被用來傳輸新的封包。 Most-Least Algorithm 和以往我們隨機選擇封包配對的 Random Pick 方式不同,本演算法是採取 被提出重傳要求最多和最少的兩個封包做配對組合,依照網路編碼的概念,若 將此兩封包進行編碼後,被終端節點順利解開並獲取封包之可能性相對較高。 如圖 2-11 所示,假設我們總共有 15 個封包需要重傳(Packet ID = 1,2,3…,15), Window size = 6 時,第一輪各個封包被提出重傳要求的次數分別為 10、8、5、 0、2、3,則我們先將不需要重傳的 Packet4 剃除,接著找尋被要求最多次和最 少次的封包並將以合併,以此類推……直到最後無其他更小封包時選擇和上一 輪一樣的封包做網路編碼,如下圖 2-12 中所示,第一回合重傳封包 1⊕5、2⊕6、 3⊕6,剩餘的 window size 則負責傳遞新封包。

(30)

17 Hamming Distance Based Algorithm

另一方面,為降低重傳對於整體網路效能的影響,Hamming Distance Based Algorithm 是以 Network coding 為基礎 的一種封包重傳排程機制。為了使 Hamming Distance Based Algorithm 能順利的運作,我們需要在 BS 建立一個 Packet Status Table (如表 2-2),用來儲存封包是否成功傳輸;其中每列代表各個 行動終端節點,而每行代表一個 transmission slot 傳輸的所有封包。每個行動終 端節點必須透過 NACK message 傳送自己的 user ID 和封包接收狀態,狀態 0 代 表未收到封包,狀態 1 代表成功傳輸,而 Packet Status Table 也會依據此 NACK message 來更新狀態。

表 2-2 Packet Status Table of Hamming Distance Based Algorithm

Hamming Distance Based Algorithm 是根據 Packet Status Table 中任兩行的

Hamming Distance 來 決 定 網 路 編 碼 需 要 如 何 合 併 封 包 會 有 較 好 的 結 果 , Hamming Distance 的定義為兩個字符串對應位置的不同字符的個數[11]。換句話

(31)

18

說,就是將一個字符串變換成另外一個字符串所需要替換的字符個數。例如: 1011101 與 1001001 之間的漢明距離是 2。BS 將選擇 Hamming Distance 距離最 大的兩個封包先做網路編碼,因為 Hamming Distance 越大代表能順利解開此編 碼封包的終端節點越多。而因為使用了網路編碼合併了重傳的封包,故新的 transmission slot 可以傳送比未使用網路編碼的 transmission slot 還要多個新的封 包,進而提升網路整體的吞吐量,同時也降低了重傳的 overhead。

Summary

本篇文章提出的兩種演算法 Most-Least Algorithm 和 Hamming Distance Based Algorithm,此兩種演算法皆為運用在行動通訊網路中利用網路編碼進行 的重傳排程機制,根據實驗結果可以發現在重傳效率以及可靠度方面,皆是 Hamming Distance Based Algorithm 優於 Most-Least Algorithm,而 Most-Least Algorithm 優於傳統之 Random Pick。

(32)

19

第三章 在行動通訊網路下利用網路編碼執行群播重傳

的排程機制

在此篇論文中,我們將改善 Hao Wu et al.所提出的 Hamming Distance Based

Algorithm[3][4],考慮網路編碼成功解開編碼封包的機率以及封包合併的選擇性 後,提出一個改良式重傳排程演算法 Improved Hamming Distance Algorithm。以 下列出本章各節的內容概述:

3.1 問題描述

描述研究動機及目前的解決方法所遇到的問題。

3.2 Improved Hamming Distance Algorithm 之設計

詳細描述 Improved Hamming Distance Algorithm 的運作方法

3.3 Improved Hamming Distance Algorithm 之範例

3.1 問題描述

在 2.3.3 節中可以得知 Hamming Distance Based Algorithm 雖然可以大幅增進 重傳的效能以及可靠度,但是若封包組合有多個相同大小的 Hamming Distance 時,Hamming Distance Based Algorithm 並無法選擇到之中較好的配對,於是此 篇論文將改善 Hamming Distance Based Algorithm 的缺點,考慮封包順利重傳完 成 的 成 功 率 以 及 封 包 合 併 的 選 擇 性 後 , 提 出 一 個 改 良 式 重 傳 排 程 演 算 法

(33)

20

Improved Hamming Distance Algorithm 。 在 3.2 節 中 將 詳 細 描 述 Improved Hamming Distance Algorithm 的演算法內容以及作法,而 3.3 節將會提供一個簡 單的範例來說明此演算法的運作過程,並跟 Hamming Distance Based Algorithm 的結果做比較。

3.2 Improved Hamming Distance Algorithm 之設計

Improved Hamming Distance Algorithm 的網路架構如圖 2-3 所示,架構中會 有一個 Base Station (BS)透過無線訊號同時廣播資料(data)給所有在同一群組裡 的所有行動終端節點(mobile terminal)。若任一行動終端節點未收到封包,此時 則會向 BS 發出重傳的請求,BS 收到請求後會再次的廣播重傳的封包給所有節 點,但是針對只有少數重傳請求的封包,群播重傳的方式較無效率,且對於多 數終端節點而言只是重複的封包,因此將網路編碼概念帶入群播重傳不僅可以 提高重傳效率,也能節省網路頻寬。

重傳方式以 m-parallel stop-and-wait protocol 為基礎原理,此方法是根據傳 統 stop-and-wait protocol 的 方 法 進 行 改 良 。 m 代 表 window size 並 且 m transmission slots 構成一個 transmission cycle,如上章節的圖 2-4 所示。

Improved Hamming Distance Algorithm 和 Hamming Distance Based Algorithm 相同,也需要在 BS 建立一個 Packet State Table,用來儲存封包是否 成功傳輸。選擇合併封包時,如圖 3-1 演算法所示,首先考量任兩個封包對所

(34)

21

圖 3-1 Improved Hamming Distance Algorithm

有終端節點之 Hamming Distance 的大小,Hamming Distance 的定義為兩個字符 串對應位置的不同字符的個數[11]。舉例如下,1011101 與 1001001 之間的 Hamming Distance 為 2。BS 將選擇 Hamming Distance 距離最大的兩個封包先做 網路編碼,因為 Hamming Distance 越大代表終端節點能順利解開此編碼封包的 終端節點越多,故將擁有最大 Hamming Distance 之封包組合放進 HD queue 中, 若有多個封包組合 Hamming Distance 皆相同時,即 HD queue 中有多種封包合 併的選擇,則再計算在 Packet State Table 中同列不同行的兩個狀態皆為 0 的數 量(以下稱 00 數量),數量越小者優先合併封包,故將 00 數量最小者放進 N00 queue 中。00 數量代表的意義為,此兩封包合併後有多少終端節點無法順利解 開此封包,所以當 00 數為 0 代表此兩封包合併之後,在不掉包的假設下每個終

IHD Algorithm {

Build a Packet State Table S;

Count the Hamming Distance of any two packets; Count the numbers of 00-number of any two packets;

Select the packet combination which has the largest Hamming Distance;

Put the packet combination into HD queue; /*HD queue is used for store the packet

combination with largest Hamming Distance */

if (HD queue has more than one packet combination)

{ Select the packet combination with the smallest 00-number;

Put the packet combinations into N00 queue; /*N00 queue is used for store the

packet combination with the smallest 00-number */

if (N00 queue has more than one packet combination)

Select the packet combination which has the smallest opportunity;

}

Perform Network Coding to encode the packet combination;

(35)

22

端節點皆能收到此兩封包,也代表此兩封包合併重傳後,下一個 transmission slot 一定能傳輸新的封包,因此挑選 00 數量越小者優先做網路編碼。

若 Hamming Distance 以及 00 數量皆相同時,即 HD queue 和 N00 queue 中 皆有一個以上的封包合併選擇時,再比較這些合併組合中單一封包被選擇的機 率,被選擇機率越小者優先做網路編碼。

而在同一 transmission slot 中剩下的 windows 將用來傳送新的封包。並且每 個行動終端節點必須透過 NACK message 傳送自己的 user ID 和封包接收狀態, 而 Packet Status Table 會依據此 NACK message 來更新狀態。

3.3 Improved Hamming Distance Algorithm 之範例

本章節將以實際範例來凸顯在多重選擇的狀況下, Improved Hamming Distance Algorithm 的網路編碼封包選擇會優於原始的 Hamming Distance Based Algorithm。

表 3-1 為 window size 為 6 且在此 BS 下總共有 6 個行動終端節點之封包狀 態表,狀態 1 表示傳輸成功;狀態 0 表示傳輸失敗,即此封包需要重傳。 而表 3-2 是根據表 3-1 Packet Status Table 所運算出來所有封包配對組合的 Hamming Distance 以及 00 數量的 Coding Opportunity Table,斜線左邊代表封包 配對之 Hamming Distance;斜線右邊代表封包配對之 00 數量。以表 3-2 為例, P1⊕P6、P2⊕P3、P2⊕P6 此三個封包組合的 Hamming Distance 皆為 5 並且

(36)

23

表 3-1 Packet Status Table of IHD Algorithm

P

1

P

2

P

3

P

4

P

5

P

6

U

1

1

0

1

0

0

1

U

2

1

1

1

1

0

0

U

3

0

1

0

1

0

1

U

4

0

0

1

0

1

1

U

5

1

1

0

1

0

0

U

6

1

1

0

0

1

0

表 3-2 Coding Opportunity Table of IHD Algorithm (Hamming Distance / 00 數量)

P

1

P

2

P

3

P

4

P

5

P

6

P

2

2/1

-

-

-

-

-

P

3

3/1 5/0

-

-

-

-

P

4

3/1 1/2 4/1

-

-

-

P

5

4/1 4/1 3/2 5/1

-

-

P

6

5/0 5/0 2/2 4/1 3/2

-

00 數量皆為 0,會發現 P1 以及 P3 能選擇的合併封包數量較少,故此兩者優先 考量,於是此回合 Improved Hamming Distance Algorithm 的網路編碼結果為 P1 ⊕P6、P2⊕P3、P4⊕P5,而此回合中成功重傳的封包數量為 15,並且只有 P4

(37)

24

和 P5 會繼續留在 window 中等待重傳。

相較於 Improved Hamming Distance Algorithm,原始的 Hamming Distance Based Algorithm 在一開始即會有 P1⊕P6、P2⊕P3、P2⊕P6、P4⊕P5 此四種封 包組合 Hamming Distance 皆為 5 的選擇,在這之中若不幸挑到 worst case,此 時最後的網路編碼配對為 P2⊕P6、P4⊕P5、P1⊕P3,而此回合成功重傳的封包 數量僅為 13,並且 P1、P3、P4、P5 四個封包皆會留在 window 中繼續重傳。 若原始 Hamming Distance Based Algorithm 幸運的挑到了 best case,也僅跟本論 文所提出之 Improved Hamming Distance Based Algorithm 結果相等,因此從此範 例中可以明顯的發現,Improved Hamming Distance Algorithm 會有較好的重傳吞 吐量,以及傳輸封包的成功率也會提升。

在第四章將會有更詳細的數據分析來證明 Improved Hamming Distance Algorithm 相較於傳統 Hamming Distance Based Algorithm 有更佳的重傳吞吐量, 以及封包傳輸的成功率。

(38)

25

第四章 Improved Hamming Distance Algorithm 效能之

分析與結果

本章節將詳細分析 Improved Hamming Distance Algorithm 的效能以及封包 傳輸成功率,並且將傳統之 Hamming Distance Based Algorithm 以及本論文提出 之 Improved Hamming Distance Algorithm 做比較。以下列出本章各節的內容概 述: 4.1 比較方法、分析項目及評估場景 本節將針對實驗數據分析之參數以及場景做詳細說明 4.2 吞吐量之結果比較 本節將比較兩演算法之重傳吞吐量 4.3 封包傳輸成功率之結果比較 本節將比較兩演算法之封包傳輸成功率 4.4 數據分析與改進方式 本節將進行上述比較結果之數據分析,以及改進的方法

(39)

26 4.1 比較方法、分析項目及評估場景

此章節我們將比較原始之 Hamming Distance Based Algorithm 以及本論文提 出之 Imoroved Hamming Distance Algorithm 兩演算法的重傳吞吐量以及封包傳 輸的成功率。表 4-1 為參數設定之詳細內容,window size 我們將設定為 6、8、 10、12,而終端節點數也設定為 6、8、10、12,並且我們擁有兩種不同的場景, 場景一為只進行單一回合的比較;場景二為比較重傳 100 個封包的比較。接下 來的章節中將顯示出比較結果,其中 HD 代表 Hamming Distance Based Algorithm; IHD 代表 Improved Hamming Distance Based Algorithm。

表 4-1 實驗參數、場景設定

Window Size 6、8、10、12

Mobile Terminal 6、8、10、12

Scenario

one transmission slot、 one hundred retransmitted packets

4.2 吞吐量之結果比較

吞吐量的定義為合併封包組合之 Hamming Distance 的總和;換句話說即是 假設在沒有 Packet loss 的情況下,有多少封包可以成功的重傳。

圖 4-1 為單一 transmission slot 下兩演算法之吞吐量比較,可以明顯的發現 Improved Hamming Distance Based Algorithm 不論 window size 以及 mobile terminal 的數量多寡,皆能有較高的重傳吞吐量。

(40)

27

圖 4-1 Throughput in One Transmission Slot

圖 4-2 Throughput with One Hundred Retransmitted Packets

圖 4-2 為兩演算法重傳 100 個封包後的吞吐量比較,結果顯示在較小 window size 以及較少 mobile terminal 的狀況下,Improved Hamming Distance

0 5 10 15 20 25 30 35 40 45 6*6 8*8 10*10 12*12 Th e n u n b e r o f p ac ke t

Window size*Mobile Terminals

HD IHD 5 10 15 20 25 30 35 6*6 8*8 10*10 12*12 Th e n u m b e r o f p ac ke t

Window size*Mobile Terminals

HD IHD

(41)

28

Algorithm 跟原始 Hamming Distance Based Algorithm 有相近的重傳吞吐量,但 在 window size 較大、mobile terminal 較多的狀況下無法取得較好的重傳吞吐 量。

4.3 封包傳輸成功率之結果比較

封包傳輸成功率的定義為需要重傳之封包中成功重傳的比率,以下我們也

將比較單一 transmission slot 的情況以及重傳 100 個封包後的結果比較。

圖 4-3 Packet Successful Delivery Ratio in One Transmission Slot

圖 4-3 為比較單一 transmission slot 之下的封包傳輸成功率,如圖所示不論 window size 的大小以及 mobile terminal 的數量,Improved Hamming Distance Algorithm 的封包傳輸成功率皆比原始的 Hamming Distance Based Algorithm 來

0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 6*6 8*8 10*10 12*12 p ac ke t d e liv e ry r atio

Window size*Mobile Terminals

HD IHD

(42)

29

的出色,但是隨著 window size 以及 mobile terminal 的增加,兩者之間成功率的 差距越小。

圖 4-4 Packet Successful Delivery Ratio with One Hundred Retransmitted Packets

圖 4-4 為重傳 100 個封包的封包傳輸成功率,結果顯示在較小 window size 和較少 mobile terminal 的情況下,Improved Hamming Distance Algorithm 雖然沒 有較好的結果,但在 window size 以及 mobile terminal 數量較大時,相較原始的 Hamming Distance Based Algorithm 有較好的封包傳輸成功率。

造成此現象的因素為在 window size 較小的狀態下,Improved Hamming Distance Algorithm 較容易造成特定使用者皆無收到任何封包的情況,導致在 window size 小的情況下無法有比原始 Hamming Distance Based Algorithm 更好 的封包傳輸成功率,在 4.4 節中我們將更詳細的說明造成此情況的原因。 0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 6*6 8*8 10*10 12*12 p ac ke t d e liv e ry r atio

Window size*Mobile Terminals

HD IHD

(43)

30 4.4 數據分析與改進方式

從上一節的實驗結果數據可以發現,在單一 transmission slot 的狀況下,本 論 文 提 出 的 Improved Hamming Distance Algorithm 相 較 於 原 始 Hamming Distance Based Algorithm 都能有相近甚至有更好重傳吞吐量以及封包傳輸成功 率,但是在重傳 100 個封包的狀況下,我們提出的 Improved Hamming Distance Algorithm 就未必能擁有較好的吞吐量以及成功率,而造成此現象的因素將由下 面敘述的範例來說明。

表 4-2 Packet Status Table of Simulation

P

1

P

2

P

3

P

4

P

5

P

6

U

1

1

0

1

0

0

1

U

2

1

1

1

1

0

0

U

3

0

0

0

0

0

0

U

4

0

0

1

0

1

1

U

5

1

1

0

1

0

0

U

6

1

1

0

0

1

0

表 4-2 中為造成 Improved Hamming Distance Algorithm 在重傳 100 個封包的

情況下,無法擁有較好的吞吐量以及成功率的範例,表中可以發現 U3節點皆無

收到本 transmission slot 中的所有封包,因此不論網路編碼以何種配對方式重傳

封包,U3 皆無法順利解開,也造成此回合的所有封包無法離開重傳的 window

中。為了要避免此狀況的發生,在上面的實驗過程中,我們將 pass 這六個封包 不再做重傳動作,而本論文提出的 Improved Hamming Distance Algorithm 沒有 考慮到上述例子中類似孤點的狀態形成的情況,因此在 window size 以及 mobile

(44)

31

terminal 數量較小的狀況下,導致此情況形成的機會大幅增加,因此造成了在吞 吐量以及封包傳輸成功率都無法有所突破,甚至出現相對於原始 Hamming Distance Based Algorithm 較差的情形發生。

在下個章節中,我們將提出一個孤點優先圖形演算法來幫助解決孤點無法 重傳的問題,進而改善重傳的吞吐量以及封包傳輸成功率,並且改善實驗方式, 將設計一個暫存 Queue 用來儲存部份封包,來減少被 pass 掉的封包數量。

(45)

32

第五章 利用孤點優先圖形演算法改進

Improved Hamming Distance Algorithm

本章節將根據第四章所分析 Improved Hamming Distance Algorithm 的效能 以及封包傳輸成功率的結果,針對影響效能之孤點問題提出一個新的圖形演算 法,以下列出本章各節的內容概述: 5.1 改進目的 本節將詳細描述提出孤點優先圖形演算法的動機 5.2 孤點優先圖形演算法 本節將說明圖形演算法之詳細內容 5.3 孤點優先圖形演算法之範例 本節將以範例說明孤點優先圖形演算法之設計以及與 Improved Hamming Distance Algorithm 結果之比較 5.1 改進目的

由 4.4 節的數據分析中可以得知,Improved Hamming Distance Algorithm 的 最大缺點是,因為將條件較好的封包先選取配對,以至於條件較差的封包配對 機會較少,故這些條件較差的封包一直無法得到較好的機會離開 window 中,

(46)

33 導致孤點的產生。而站在終端節點的角度來看,封包配對 00 之組合優先順序較 差,多個 transmission slot 之後會產生某個終端節點皆無收到任何封包的情況, 導致多個封包皆無法成功傳遞。 因此我們參考 2.2.1 節中的 Graph Model[12],提出一個新的孤點優先圖形 演算法,透過尋找配對組合較少的重傳需求節點(孤點),來改善這些節點導致 上述讓重傳無法順利運作的因素,進而提升整體的重傳吞吐量以及封包傳輸成 功率。 5.2 孤點優先圖形演算法 孤點優先圖形演算法詳細如圖 5-1,首先同樣的我們必須在 base station 中儲

存一個 Packet Status Table 用來記錄封包狀態,狀態 1 為成功傳送;狀態 0 為傳 送失敗。接下來為了建構圖形,我們必須擁有兩個 table 用來儲存圖形資訊, Vertex Table 用來儲存點的資訊,而 Edge Table 用來儲存連線的資訊,如表 5-1、 表 5-2 所示,其中建立“點”的條件為封包狀態為 0 的封包,即需要重傳的封包; 而“邊”的建立條件則為兩點之間需要互相擁有需求的封包,即兩點進行封包編 碼後可以順利解碼的封包組合,Edge Table 中狀態 1 為連線;狀態 0 為無連線。 表 5-1 Vertex Table User Packet 配對組合數 連線數 Node 1 1 2 3 3 Node 2 1 4 1 5 Node 3 2 2 0 0 ‧‧‧ ‧‧‧ ‧‧‧ ‧‧‧ ‧‧‧ Node n 6 5 1 3

(47)

34 表 5-2 Edge Table

Node 1 Node 2 ‧‧‧ Node n Node 1 0 1 ‧‧‧ 0 Node 2 1 0 ‧‧‧ 1 ‧‧‧ ‧‧‧ ‧‧‧ ‧‧‧ ‧‧‧ Node n 1 1 ‧‧‧ 0 將圖形建構完成後,先不考慮完全沒有機會的點,我們必須尋找擁有最少 封包組合數的點進行網路編碼,若有多個點皆擁有最少封包組合,此時我們要 在這些點中找到連線數最大之點先進行網路編碼,若依舊有多個點擁有最大連 線數,則此時則隨機挑選。

由 4.4 的分析中得知,Improved Hamming Distance Algorithm 的最大缺點為 先挑選有最好重傳吞吐量的網路編碼組合封包,而導致剩下的封包無法挑選到 有較好重傳吞吐量的組合進行編碼,因此在本章節所提出的孤點優先圖形演算 法中,最先挑選的條件為最少封包組合數的點,避免孤點的產生導致重傳吞吐 量的低落,而在挑選這些孤點中也不忘了要盡量讓重傳的封包盡快完成傳輸, 故在第二個篩選條件中我們挑選了連線數較大的點,連線代表點與點之間若進 行網路編碼,此兩點皆能解開編碼封包順利的完成重傳動作,因此挑選連線數 較大的點可以選出重傳吞吐量較高組合,也代表封包傳輸成功率相對較其他組 合高。

(48)

35 Isolated Point Graph Algorithm {

Build a Packet State Table S [user][packet];

/*store user name, packet number and vertex’s information */ Build a Vertex Table V [vertex][3];

Build an Edge Table E [vertex][vertex];

/*Search Table S where need retransmission to build vertexs*/

While (packet status=0)

{ Create a vertex;

Store the retransmition packet's user name in Table V [vertex][0]; Store the retransmition packet's packet unmber in Table V [vertex][1];

}

/*Search Table S and creat edges*/

While (the packet combination would be decoded successfully)

{ /* Create an edge, vertex1 and vertex2 are edge's vertexes */ Set Edge [vertex1][vertex2] = 1;

Set Edge [vertex2][vertex1] = 1; }

/*Search Table S and Table E to set vertex’s information*/

Count the number of vertex’s connections and store in Table V [vertex][2]; Count the number of packet combinations and store in Table V [vertex][3];

Select the vertex which has the least choice of packet combination;

if (more than one vertex has the least choice of packet combination)

{ Select the vertex with the maximum edges; }

Perform Network coding to encode the packet combination; }

(49)

36 5.3 孤點優先圖形演算法之範例

圖 5-2 為圖形演算法之範例,根據表 5-3 的封包狀態所畫出之可配對封包組

合之可能,繪畫及運作方式步驟如下:

 Step 1:將點資訊(User ID、Packet ID)存入 Vertex Table 中

Packet Status Table 中所有狀態為 0 的地方為需要繪出的點(即封包傳輸失敗 之處),而點的表示方法為 ij,其中 i 代表 user(mobile terminal);而 j 表示

packet。如圖 5-1 中,點 12 則代表 User1需要 Packet2。

 Step 2:將各自需求封包編碼後,可以順利解碼的兩點連線

連線規則為若點與點之間,互相擁有對方需求封包時連線。如圖 5-2 中,

點 12 與點 41,則根據表 5-3 顯示 User4擁有 Packet2;User1擁有 Packet1,

此時將兩點連線,以此類推找出所有編碼之可能。  Step 3:找出每個點的相關資訊(封包組合數以及連線數) 根據點與點之間的連線可以找出封包配對組合以及連線數,在對於每個點 進行分析,並列出所有的封包組合以及連線數。  Step 4:找出封包組合數最少之點 排除沒有連線之頂點,找出所有點之中,封包組合數最少的點。若只有一 組或不相衝突的數組,則將這些組合進行網路編碼;若有多組選項則進行 下個步驟。

(50)

37  Step 5:找出連線數最多之點 若有多個點之封包組合數皆為最小值,則挑選連線數最多之點的封包組合 進行網路編碼;若有多個點皆有最大連線數則隨機選取。 根據上述孤點優先圖形演算法的運算後,圖 5-2 的編碼結果為 P1⊕P4、P2 ⊕P6、P3⊕P5 或 P1⊕P5、P2⊕P6、P3⊕P4,重傳吞吐量兩種可能皆為 11 個封 包;而根據 Improved Hamming Distance Algorithm 之網路編碼結果,參考表 5-4 結果為 P1⊕P5、P4⊕P6、P3⊕P2,重傳吞吐量為 9 個封包。

可以明顯的看出 Improved Hamming Distance Algorithm 在挑選第二組封包 P4⊕P6 時,因為挑選了較好的封包配對組合,導致無法兼顧到最後一組 P3⊕ P2 的重傳吞吐量,相反的孤點優先圖形演算法的封包挑選注重在較少編碼機會 的封包上,因此可以避免讓這些封包不會因為配對的封包被挑選走而無法得到 較好的重傳吞吐量。

表 5-3 Packet Status Table of Graph Algorithm Example

P1

P2 P3 P4 P5 P6

U

1

1

0

0

0

0

0

U2

0

0

0

1

1

0

U3

1

0

0

1

1

1

U4

0

1

0

1

1

0

U

5

0

1

1

1

1

0

U6

1

1

1

1

1

0

(51)

38

表 5-4 Coding Opportunity Table of Graph Algorithm Example (Hamming Distance / 00 數量)

P

1

P

2

P

3

P

4

P

5

P

6

P

2

4/1

-

-

-

-

-

P

3

3/2 1/3

-

-

-

-

P

4

4/0 2/1 3/1

-

-

-

P

5

4/0 2/1 3/1 0/1

-

-

P

6

2/3 4/2 3/3 4/1 4/1

-

(52)

39 Summary

由 5.3 的範例中可以得知,孤點優先圖形演算法會針對條件比較差的編碼 點先進行網路編碼的動作,目的在於希望提高重傳封包的傳輸成功率,而第六 章中我們將改善第四章效能分析的缺陷,並且將原始的 Hamming Distance Based Algorithm、本論文提出的 Improved Hamming Distance Algorithm 以及孤點優先 圖形演算法做效能的分析與比較。

(53)

40

第六章 孤點優先圖形演算法與 Improved Hamming

Distance Algorithm 效能之分析與結果

本章節將詳細分析孤點優先圖形演算法的各項效能,並且將孤點優先圖形 演算法與傳統之 Hamming Distance Based Algorithm 以及本論文提出之 Improved Hamming Distance Algorithm 做比較。以下列出本章各節的內容概述:

6.1 環境與參數說明 本節將針對實驗數據分析之參數以及場景做詳細說明 6.2 孤點優先圖形演算法之效能比較 本節將比較各項演算法之重傳吞吐量、封包傳輸成功率、重傳回合數以及丟 棄封包數量 6.3 數據分析 本節將進行上述比較結果之數據分析 6.1 環境與參數說明

此章節我們將比較原始之 Hamming Distance Based Algorithm 以及本論文提 出之 Imoroved Hamming Distance Algorithm 和孤點優先圖形演算法,各演算法 的重傳吞吐量、封包傳輸成功率、重傳回合數以及丟棄封包數量。表 6-1 為參

(54)

41

數設定之詳細內容,window size 我們將設定為 6、8、10、12,而終端節點數也 設定為 6、8、10、12,並且比較在不同封包成功到達率為 50%、70%、90%的 情況下,場景為重傳 100 個封包和 10000 個封包的比較。接下來的章節中將顯 示出比較結果,其中 HD 代表 Hamming Distance Based Algorithm;IHD 代表 Improved Hamming Distance Based Algorithm;IPG 代表孤點優先圖形演算法。

表 6-1 實驗參數、場景設定

Window Size 6、8、10、12

Mobile Terminal 6、8、10、12

Packet Successful Delivery Ratio 50%、70%、90%

Scenario

one hundred retransmitted packets、 10000 retransmitted packets 6.2 孤點優先圖形演算法之效能比較 6.2.1 重傳吞吐量 圖 6-1 為三種演算法之每個回合平均成功重傳的吞吐量,圖 6-1(a)-(f)分別 為封包成功到達率為 50%、70%、90%,並且重傳 100 個和 10000 個封包的情 形;圖 6-1(g)-(j)為比較不同封包成功到達率對重傳吞吐量的影響;圖 6-1(k)-(l) 為固定 window size 大小,比較不同使用者數量對重傳吞吐量的影響。由圖 6-1(a)-(f)可以發現孤點優先圖形演算法的重傳吞吐量明顯較其他兩者差,造成 此現象是因為孤點優先圖形演算法在挑選封包時選擇孤點優先,並無考慮到吞 吐量的大小,導致無法挑選到最好的編碼組合造成吞吐量較低的情況,而圖中

(55)

42

也可以看出在封包成功到達率為 50%時,Improved Hamming Distance Algorithm 隨著 window size 和使用者數量的增大,和原始 Hamming Distance Based Algorithm 的差距越大;而在封包成功到達率為 70%和 90%時,兩者幾乎無差異。 而從圖 6-1(g)-(j)可以發現,因為封包成功到達率越高,需要重傳的封包較少會 導致重傳吞吐量的下降,並且三種演算法的下降趨勢相同。圖 6-1(k)-(l)可以觀 察到在較小 window size 的情況下,使用者數量並不影響三種演算法的重傳吞吐 量,而在較大 window size 的情況下可以發現使用者越多會降低重傳吞吐量。 圖 6-1(a) 重傳吞吐量(50%-100 個封包) 圖 6-1(b) 重傳吞吐量(50%-10000 個封包) 0 5 10 15 20 25 30 35 40 6*6 8*8 10*10 12*12 The n u m b er of p acke t

Window Size*Mobile Terminal

HD IHD IPG 0 5 10 15 20 25 30 35 40 6*6 8*8 10*10 12*12 The n u m b er of p acke t

Window Size*Mobile Terminal

HD IHD IPG

(56)

43 圖 6-1(c) 重傳吞吐量(70%-100 個封包) 圖 6-1(d) 重傳吞吐量(70%-10000 個封包) 圖 6-1(e) 重傳吞吐量(90%-100 個封包) 0 5 10 15 20 25 30 35 6*6 8*8 10*10 12*12 The n u m b er of p acke t

Window Size*Mobile Terminal

HD IHD IPG 0 5 10 15 20 25 30 35 6*6 8*8 10*10 12*12 The n u m b er of p acke t

Window Size*Mobile Terminal

HD IHD IPG 0 5 10 15 20 6*6 8*8 10*10 12*12 The n u m b er of p acke t

Window Size*Mobile Terminal

HD IHD IPG

(57)

44

圖 6-1(f) 重傳吞吐量(90%-10000 個封包)

圖 6-1(g) 封包成功到達率比較-重傳吞吐量 (6 Window Size*6 Mobile Terminal)

圖 6-1(h) 封包成功到達率比較-重傳吞吐量 (8 Window Size*8 Mobile Terminal) 0 2 4 6 8 10 12 14 16 6*6 8*8 10*10 12*12 The n u m b er of p acke t

Window Size*Mobile Terminal

HD IHD IPG 0 2 4 6 8 10 12 50% 70% 90% The n u m b er of p acke t

Packet Successful Delivery Ratio HD IHD IPG 0 5 10 15 20 50% 70% 90% The n u m b er of p acke t

Packet Successful Delivery Ratio HD IHD IPG

(58)

45

圖 6-1(i) 封包成功到達率比較-重傳吞吐量 (10 Window Size*10 Mobile Terminal)

圖 6-1(j) 封包成功到達率比較-重傳吞吐量 (12 Window Size*12 Mobile Terminal)

圖 6-1(k) 重傳吞吐量 (固定 Window Size=6、packet delivery ratio = 70%) 0 5 10 15 20 25 30 50% 70% 90% Th e n u m b e r o f p ac ke t

Packet Successful Delivery Ratio HD IHD IPG 0 10 20 30 40 50% 70% 90% The n u m b er of p acke t

Packet Successful Delivery Ratio HD IHD IPG 0 2 4 6 8 10 6*6 6*8 6*10 6*12 The n u m b er of p acke t

Window Size*Mobile Terminal

HD IHD IPG

(59)

46

圖 6-1(l) 重傳吞吐量 (固定 Window Size=12、packet delivery ratio = 70%)

6.2.2 封包傳輸成功率 圖 6-2 為封包傳輸成功率的比較,圖 6-2(a)-(f)分別為封包成功到達率為 50%、 70%、90%,並且重傳 100 個和 10000 個封包的情形;圖 6-2(g)-(j)為比較不同 封包成功到達率對封包傳輸成功率的影響;圖 6-2(k)-(l)為固定 window size 大小, 比較不同使用者數量對封包傳輸成功率的影響。由圖 6-2(a)-(f)可以明顯的發現 孤點優先圖形演算法不論 window size 以及使用者數量的多寡,封包傳輸成功率 都能維持在一定的百分比以上,且多數狀況皆能有較好的表現,而 Improved Hamming Distance Algorithm 也比原始的 Hamming Distance Based Algorithm 有 較好的封包傳輸成功率,並且也是隨著 window size 和使用者數量的增大,有更 顯著的改善,而在封包成功到達率為 90%時,所有重傳封包皆可以在下一個 transmission slot 中,將封包重傳完畢,故封包傳輸成功率在各種情況下皆為百 分之百。而從圖 6-2(g)-(j)可以發現,因為封包成功到達率越低,需要重傳的封 包較多會導致封包傳輸成功率的下降,但是三種演算法的封包傳輸成功率並不 0 10 20 30 40 50 60 12*6 12*8 12*10 12*12 The n u m b er of p acke t

Window Size*Mobile Terminal

HD IHD IPG

(60)

47

會因為不同的封包成功到達率有不同的趨勢結果。圖 6-1(k)-(l)可以觀察到在較 大 window size 的 情況下可以明顯發 現本論文提出的 Improved Hamming Distance Algorithm 以及孤點優先圖形演算法相較於原始的 Hamming Distance Based Algorithm 皆能有較好的封包傳輸成功率。 圖 6-2(a) 封包傳輸成功率(50%-100 個封包) 圖 6-2(b) 封包傳輸成功率(50%-10000 個封包) 0.78 0.8 0.82 0.84 0.86 0.88 0.9 6*6 8*8 10*10 12*12 p acke t d el iv er y rati o

Window Size*Mobile Terminal

HD IHD IPG 0.76 0.78 0.8 0.82 0.84 0.86 0.88 0.9 0.92 6*6 8*8 10*10 12*12 p acke t d el iv er y rati o

Window Size*Mobile Terminal

HD IHD IPG

(61)

48 圖 6-2(c) 封包傳輸成功率(70%-100 個封包) 圖 6-2(d) 封包傳輸成功率(70%-10000 個封包) 圖 6-2(e) 封包傳輸成功率(90%-100 個封包) 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 6*6 8*8 10*10 12*12 p acke t d el iv er y rati o

Window Size*Mobile Terminal

HD IHD IPG 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 6*6 8*8 10*10 12*12 p acke t d el iv er y rati o

Window Size*Mobile Terminal

HD IHD IPG 0 0.2 0.4 0.6 0.8 1 1.2 6*6 8*8 10*10 12*12 p acke t d el iv er y rati o

Window Size*Mobile Terminal

HD IHD IPG

(62)

49

圖 6-2(f) 封包傳輸成功率(90%-10000 個封包)

圖 6-2(g) 封包成功到達率比較

-封包傳輸成功率(6 Window Size*6 Mobile Terminal)

圖 6-2(h) 封包成功到達率比較

-封包傳輸成功率(8 Window Size*8 Mobile Terminal) 0 0.2 0.4 0.6 0.8 1 1.2 6*6 8*8 10*10 12*12 p acke t d el iv er y rati o

Window Size*Mobile Terminal

HD IHD IPG 0 0.2 0.4 0.6 0.8 1 1.2 50% 70% 90% p acke t d el iv er y rati o

Packet Successful Delivery Ratio

HD IHD IPG 0.75 0.8 0.85 0.9 0.95 1 1.05 50% 70% 90% p acke t d el iv er y rati o

Packet Successful Delivery Ratio

HD IHD IPG

(63)

50

圖 6-2(i) 封包成功到達率比較

-封包傳輸成功率(10 Window Size*10 Mobile Terminal)

圖 6-2(j) 封包成功到達率比較

-封包傳輸成功率(12 Window Size*12 Mobile Terminal)

圖 6-2(k) 封包傳輸成功率(固定 Window Size=6、packet delivery ratio = 70%) 0.75 0.8 0.85 0.9 0.95 1 1.05 50% 70% 90% p acke t d el iv er y rati o

Packet Successful Delivery Ratio

HD IHD IPG 0.75 0.8 0.85 0.9 0.95 1 1.05 50% 70% 90% p acke t d el iv er y rati o

Packet Successful Delivery Ratio

HD IHD IPG 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 1.01 6*6 6*8 6*10 6*12 p acke t d el iv er y rati o

Window Size*Mobile Terminal

HD IHD IPG

(64)

51

圖 6-2(l) 封包傳輸成功率(固定 Window Size=12、packet delivery ratio = 70%)

6.2.3 重傳回合數 圖 6-3 為三種演算法重傳 100 個封包以及 10000 個封包所需要的回合數, 圖 6-3(a)-(f)分別為封包成功到達率為 50%、70%、90%,並且重傳 100 個和 10000 個封包的情形;圖 6-3(g)-(j)為比較不同封包成功到達率對重傳回合數的影響; 圖 6-3(k)-(l)為固定 window size 大小,比較不同使用者數量對重傳回合數的影響。 由圖 6-3(a)-(f)可以發現孤點優先圖形演算法在封包成功到達率為 50%及 70%時, 不論 window size 的大小,皆需要相近的回合數,並不會隨著 window size 變大 而減少重傳回合數。而相較於孤點優先圖形演算法,Hamming Distance Based Algorithm 以及 Improved Hamming Distance Algorithm 會隨著 window size 的遞 增,重傳回合數也會隨之遞減,兩演算法的重傳回合數差異不大,但是 Improved Hamming Distance Algorithm 還是略優於 Hamming Distance Based Algorithm,而 在封包成功到達率為 90%時,三種演算法的重傳回合數皆相近。而從圖 6-3(g)-(j) 可以發現,因為封包成功到達率越高,需要重傳的封包較少會導致重傳回合數 的下降,並且三種演算法的下降趨勢相同,但在 window size 較大時,可以發現 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 12*6 12*8 12*10 12*12 p acke t d el iv er y rati o

Window Size*Mobile Terminal

HD IHD IPG

數據

圖 2-3 為行動通訊網路之群播模型,如圖所示模型中會有一個 Base Station  (BS)透過無線訊號同時廣播資料(data)給所有在同一群組裡的所有行動終端節 點(mobile  terminal)。若任一行動終端節點未收到封包,此時則會向 BS 發出重 傳的請求,BS 收到請求後會再次的廣播重傳的封包給所有節點。
圖  2-3 行動通訊網路群播模型
圖  2-5 An Example of Delay Aware Broadcast Scheduling
圖 2-6 是根據圖 2-5 範例所畫出之 Graph  model,節點 V ij 代表傳輸需求,
+7

參考文獻

相關文件

(A)憑證被廣播到所有廣域網路的路由器中(B)未採用 Frame Relay 將無法建立 WAN

雜誌 電台 數碼廣播 期刊 漫畫 電影 手機短訊 圖書 手機通訊應用程式 即時通訊工具 網路日誌(blog) 車身廣告 霓虹燈招牌 電子書

倒傳遞神經網路的演算法使 SPOT 假色影像轉換到 SPOT 自然色影 像。影像的結果。(3)以不同天的 SPOT 假色影像進行網路回想,產 生

本論文之目的,便是以 The Up-to-date Patterns Mining 演算法為基礎以及導 入 WDPA 演算法的平行分散技術,藉由 WDPA

根據研究背景與動機的說明,本研究主要是探討 Facebook

另外,透過表 4-2 的結果可以看出,金融業受訪者最不重視的五項評估準則 因素依序為「C 41 親友推薦我使用網路電子支付」(權重為 0.013)、 「C 44 消費金額

Hanning Window 可用來緩和輸入訊號兩端之振幅,以便使得訊號呈現 週期函數的形式。Hanning Window

科技日新月異的發展為人們帶來不少的改變,以購物行為來說根據 Rayport and Sviokla(1994)所提出的看法,網際網路的出現以使商業競爭從「實體市場