1 ^Rj = 〇的性質,即兩者中至少有一個為〇,否則兩個數據流仍可以繼續編碼。為了更容易的說明 問題的形式化過程,我們首先定義問題的標準解形式。
[0049] 定義一:問題的標準解形式是指時間段內的數據包按照他們的時延從小到大排序 的隊列。同一條數據流中的數據包在隊列中相鄰。這樣的隊列也可以被看作是由連續的 D,R,S數據塊排列而成的,我們認為編碼數據包D的時延對應于編碼對中序號較小的數據 流的時延。
[0050] 定理一:給定調度時間段內任意的一個可行解,我們都能將它轉換成一個等價的 標準解形式。
[0051] 證明:對于任意可行調度,我們首先觀察其中相鄰的兩個數據包,如果他們來自不 同的數據流,那么我們總是可以時延較短的數據包移到前面,同時保證兩個數據包的時延 約束都不被破壞。重復這一交換過程就可以將任意可行解調整為標準解形式。證明完畢。
[0052] 我們可以根據D,R,S的有關定義來對我們的問題進行形式化,將其規約為一個整 數線性規劃問題
[0058] D11R11S1G {〇, 1,2,3,...}. (4)
[0059] 約束(1)表示單流發送的數據包個數不能超其緩存的數據包個數,約束(2)表示 編碼數據包的長度約束,約束(3)表示數據包的發送不能超過其時延約束,約束(4)要求發 送的數據包個數必須是正整數。目標是最大化在時延到達之前被發送的數據分組的權重 和。
[0060] 通過線性規劃方法可以給出每個數據流發送的分組個數,我們按照時延從小到大 的順序,將單個數據包或是編碼數據包移動到中間節點R的發送隊列中,讓數據包等待MC 層的發送機會。同時我們清理原來的緩存數據隊列,等待新數據包的到達。每當中間節點 取得一個發送機會,就從發送隊列的最前端取一個數據包發送。在調度區間內到達節點的 數據包,經過IP層的路由后,就被緩存在新的隊列里,在本輪調度結束后,參與下一輪的調 度。
[0061] 我們的協議有良好的可移植性。這個協議能夠用于基于時隙劃分的MAC協議,每 個節點有固定的發送時間,如TDMA。也能用于基于信道競爭的802. 11協議。雖然802. 11 會引入額外的信道競爭時延,無發保證數據包在設定的時隙發送。但我們不需要知道每個 數據包具體發送時間,就能夠提供最優的發送順序,即使有信道競爭時延存在,我們相信調 整后的數據包發送順序一定能為網絡性能帶來提升。
[0062] 階段三:分組編碼
[0063] PTCS分組調度模塊輸出的發送順序是一系列的數據流中被調度的數據包個數,這 些數據流可能是單流,也可能是編碼流。中間節點按照這個發送順序,從每個數據流隊列的 最前端取出相應個數的數據包發送。如果遇到編碼數據流,則要從一對編碼流中分別取出 數據包進行編碼。我們稱這兩個數據一個為主編碼包,另一個為從屬編碼包。IP頭部中保 存的是主編碼包的源節點、目的節點、時延信息、權重信息、發送時間等信息。我們還需要給 每個數據包加上一個編碼頭部用于記錄從屬編碼包的信息,我們稱之為CodeHead,放在IP 頭部和MAC頭部之間。CodeHead的結構如圖2所示,其中編碼標識位顯示此數據包是否為 編碼包,以及從屬編碼包的源節點、目的節點、下一跳地址、時延信息、權重信息、發送時間 等信息。編碼后的數據包和其他單包一樣按序加入節點的發送端口處,交由MC層發送。為 了接收到編碼數據包,節點需要打開混雜模式。也就是無線節點利用信道的廣播特性,接受 一切可以聽到的數據包,包括不是發送給它自己的。MC層收到單播數據包,就將數據包移 交PTCS層。PTCS層判斷數據包是否編碼,并對編碼的數據包進行解碼,最后將解碼后的單 包提交IP層進行路由或是交付。
[0064] 將PTCS協議與兩個著名的協議,802. 11和C0PE,進行實驗對比,發現PTCS不僅能 夠利用網絡編碼的優點提升吞吐量,還能夠通過有效的調度策略降低數據流平均時延,提 高滿足時延需求的數據包的權重和。對于較大規模較高流量的無線自組織網絡有良好的適 應能力。
[0065] 本發明的實驗平臺是QualNet仿真器。QualNet是一種應用于無線、有線以及混合 動態網絡的快速而且精確的開發、仿真系統。在QualNet中,仿真協議的移植性很強。仿真 協議與真實設備上的協議相似,只需要作簡單的修改就可以下載到設備中去使用,并且與 CHJ無關。甚至可以作為真實網絡的一部分,參與到網絡的測試中。我們基于802. 11協議 實現我們的中間層協議,將其命名為802.ll-pcs(PairwiseCodingScheduling)。同時我 們還在802. 11上實現了編碼協議COPE,能夠對數據包成對編碼,對數據包的調度遵循先進 先出的原則,我們將這個協議命名為802. 11-pc(PairwiseCoding)。我們還與沒有編碼功 能的802. 11比較,檢驗成對編碼對性能帶來的增益。
[0066] 如圖3所示,我們有21個節點布置在1000m*600m范圍內,節點的通信距離為 250m,有效鏈路都在圖中標記出來。數據流的源節點和目的節點隨機選出,網絡中總共存在 16條CBR數據流,數據包的大小為lOOOByte。我們調整網絡中總吞吐量,從3Mbps逐步增 長到7Mbps,觀察三種協議下吞吐量和時延的性能。
[0067] 圖4顯示了三種協議的吞吐量性能。圖4(a)為三種協議在網絡總流量的變化下, 所有被目的節點接收的數據包吞吐量。802. 11-pcs和802. 11-pc的吞吐量接近,但都遠 高于802. 11的吞吐量,說明網絡編碼能有效的提高網絡吞吐量性能。當網絡流量增加時, 802. 11-pcs和802. 11-pc都能趨近線性增長。而802. 11有時性能會不穩定,可能與網絡中 數據流的走向有關,若某些節點中的數據包嚴重擁塞,會造成大量數據包丟棄,大大降低吞 吐量。如圖4(a)中流量為5Mbps處,802. 11吞吐量降至最低,而802. 11-pcs和802. 11-pc 只有小幅度下降。圖4(b)為三種協議在網絡總流量的變化下,所有被目的節點及時接收的 數據吞吐量。可以看到802. 11-pcs的及時吞吐量始終優于802. 11-pc和802. 11。由于編 碼帶來的增益,當網絡交通量增長時,802. 11-pcs和802. 11-pc的有效吞吐量都能穩步提 升。因為編碼減少了網絡的轉發次數,降低了數據包的排隊時間。而802. 11則對網絡流量 的增加和數據流的路由結構更為敏感,有效吞吐量增幅不大,并且會產生性能很低的情況。 由于802. 11-pcs有數據流調度的功能,其及時吞吐量比802. 11-pc可高出18. 2%。
[0068] 圖5顯示了三種協議的效用性能。圖5(a)為三種協議在網絡總流量的變化下,所 有被目的節點接收的數據包權重和。圖5(b)為三種協議在網絡總流量的變化下,所有被目 的節點及時接收的數據包權重和。可以發現三種協議的效用性能走向與吞吐量性能走向類 似,有較強的相