• 沒有找到結果。

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 的缺點,考慮封包順利重傳完 成 的 成 功 率 以 及 封 包 合 併 的 選 擇 性 後 , 提 出 一 個 改 良 式 重 傳 排 程 演 算 法

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 演算法所示,首先考量任兩個封包對所

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 中有多種封包合

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;

}

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 並且

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

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 有更佳的重傳吞吐量,

以及封包傳輸的成功率。

25

第四章 Improved Hamming Distance Algorithm 效能之