• 沒有找到結果。

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

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

本節將以範例說明孤點優先圖形演算法之設計以及與 Improved Hamming Distance Algorithm 結果之比較

5.1 改進目的

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

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

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 的最大缺點為 先挑選有最好重傳吞吐量的網路編碼組合封包,而導致剩下的封包無法挑選到 有較好重傳吞吐量的組合進行編碼,因此在本章節所提出的孤點優先圖形演算 法中,最先挑選的條件為最少封包組合數的點,避免孤點的產生導致重傳吞吐 量的低落,而在挑選這些孤點中也不忘了要盡量讓重傳的封包盡快完成傳輸,

故在第二個篩選條件中我們挑選了連線數較大的點,連線代表點與點之間若進 行網路編碼,此兩點皆能解開編碼封包順利的完成重傳動作,因此挑選連線數 較大的點可以選出重傳吞吐量較高組合,也代表封包傳輸成功率相對較其他組 合高。

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;

}

圖 5-1 Isolated Point Graph Algorithm

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:找出封包組合數最少之點

排除沒有連線之頂點,找出所有點之中,封包組合數最少的點。若只有一 組或不相衝突的數組,則將這些組合進行網路編碼;若有多組選項則進行 下個步驟。

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

P

1

P

2

P

3

P

4

P

5

P

6

U

1

1 0 0 0 0 0

U

2

0 0 0 1 1 0

U

3

1 0 0 1 1 1

U

4

0 1 0 1 1 0

U

5

0 1 1 1 1 0

U

6

1 1 1 1 1 0

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 -

圖 5-2 Example of Graph Algorithm

39

Summary

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

40

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