一種多路徑并行傳輸系統有效吞吐量的優化方法
【專利摘要】本發明涉及一種多路徑并行傳輸系統有效吞吐量的優化方法,屬于通信技術領域。該方法包括以下步驟:步驟1)在多路徑并行傳輸系統中,利用卡爾曼濾波算法對各條并發鏈路上的傳播時延進行估計;步驟2)推導出多路徑并行傳輸系統中數據包有序傳輸約束條件;步驟3)根據推導出的傳播時延估計結果和數據包有序傳播的約束條件,對發送端的擁塞窗口進行調整。本發明提供的一種多路徑并行傳輸系統有效吞吐量的優化方法,能夠根據傳播時延估計和數據包有序傳播約束條件,自適應地調整各子流的擁塞窗口大小,從而均衡各鏈路上的負載,減小并發鏈路間的最大時延差,減少數據包亂序,提高多路徑并行傳輸系統有效吞吐量。
【專利說明】
-種多路徑并行傳輸系統有效吞吐量的優化方法
技術領域
[0001] 本發明屬于通信技術領域,設及一種多路徑并行傳輸系統有效吞吐量的優化方 法。
【背景技術】
[0002] 隨著移動通信技術的發展,如今市場上主流的移動終端大都配備了兩個或兩個W 上的無線網絡接口。在此基礎上,人們開始研究如何利用多個不同的網絡接口進行多路徑 傳輸,W便聚合多個無線網絡上的可用帶寬,提升流媒體、視頻會議等帶寬密集型業務的 QoS,其中不少的研究是關于如何提升多路徑并行傳輸系統有效吞吐量的。
[0003] 在無線通信技術高度發達的今天,單一接入網絡的傳輸速率已經接近香農極限, 想要通過底層信號處理優化技術提高速率變得越來越困難。然而在異構網絡環境下,可W 通過聚合多個網絡接口帶寬的方式使得終端的吞吐性能得到大幅度提高,從而滿足業務需 求。在此過程中,發送端的業務流將被分成多個業務子流在多個不同的網絡上并行傳輸,并 在多接口接收端完成匯聚。在理想情況下聚合鏈路的吞吐量可W達到多條鏈路吞吐量之 和。
[0004] 多路徑并行傳輸系統應用于異構網絡環境中時,由于異構網絡不同路徑間的不對 稱性,使得接收端會發生數據包亂序現象,進而限制了多路徑并行傳輸系統吞吐性能的提 升。數據包亂序(packet reordering)問題是由于不同路徑上的傳輸時延差異,數據包到達 接收端的順序與發送順序并不相同,后發送的數據包可能會比之前發送的數據包更早地到 達接收端。然而,SCTP協議中規定,只有按序到達的數據包才能往上遞交應用層進行處理。 當數據包亂序現象比較嚴重時,運就使得亂序的數據包會滯留在接收端緩存中,無法及時 遞交上層應用進行處理,增大了分組的傳輸時延,降低了多路徑并行傳輸的有效吞吐性能。
[0005] 現有的相關研究雖然能夠有效提高多路徑并行傳輸的有效吞吐量,但也存在著一 些問題。多路徑并行傳輸系統在異構網絡環境下性能低于預期的原因包括:不正確的端到 端往返時延(Round-化ip Time,RTT)估計和路徑間的不對稱性等。不正確的RTT估計使得數 據包分流、數據包重傳等算法的執行結果出現誤差,而路徑間的不對稱性則是導致傳輸過 程中出現數據包亂序、有效吞吐量降低的根本原因之一。現有的研究不能很好兼顧端到端 往返時延估計和路徑間的不對稱性問題,從而無法使多路徑并行傳輸系統在異構網絡環境 中達到最優的性能。
【發明內容】
[0006] 有鑒于此,本發明的目的在于提供一種多路徑并行傳輸系統有效吞吐量的優化方 法,該方法由基于卡爾曼濾波的時延估計和基于時延差控制的擁塞控制算法兩部分組成, 能夠有效減少數據亂序現象,提高傳輸系統的吞吐性能。
[0007] 為達到上述目的,本發明提供如下技術方案:
[000引一種多路徑并行傳輸系統有效吞吐量的優化方法,在該方法中,多路徑并行傳輸 系統在發送端與接收端之間存在N條相互獨立的傳輸路徑,分別為b,L2,. . .,Lk,..丄n,N> 2;各條路徑上端到端的路徑傳播時延滿足山含cb含...dk...含dN;該方法包括W下步驟: [0009] S1:在多路徑并行傳輸系統中,運用時延估計算法,估計出當前時刻的最優先驗估 計值dk;
[0010] S2:根據數據包有序傳輸的約束條件d( i) > d( i-1)- A τ( i)和步驟1)中時延估計 算法的估計結果,調節各條鏈路上的擁塞窗口,減小不同鏈路上的端到端時延差,提高在異 構網絡環境下的多路徑并行傳輸有效吞吐量。
[0011] 進一步,具體包括W下步驟:
[0012] 1)采用卡爾曼濾波算法對離散系統的狀態進行最優估計,線性隨機微分方程的形 式為:X化)=AX(k-l)+BU(k-l)+W(k-l),系統狀態的測量值可W描述為:Z(k)=HX(k)+V 化),其中,X化)和X化-1)分別是k時刻和k-1時刻的系統狀態,iKk-l)是k-1時刻系統的控制 量;A、B均為目標系統的參數,若目標系統是多模型系統,則A和B是矩陣的形式;Z化)是k時 刻系統狀態的測量值,Η是測量系統的參數,若是多測量系統,則同理Η是矩陣的形式;WA- 1)是系統過程的噪聲,而V化)表示測量的噪聲,兩者均為高斯白噪聲,方差分別是Q和R;
[0013] 2)假設端到端傳輸時延是一個常量信號與一個高頻變化的分量之和,該高頻分量 是一個高斯白噪聲,則端到端時延可W表示為:X化)=X化-1)+W化-1),Z化)=X化)+Wk), 其中,X化)和Z化)分別表示端到端時延的真實值和通過SACK報文測量得到的測量值;W化) 代表端到端時延的高頻噪聲分量,滿足方差為Q的高斯分布,即W化)~N(0,Q) ;Wk)表示端 到端時延測量值的噪聲,滿足方差為R的高斯分布,即V化)~N(0,R);
[0014] 3)更新時延估計值:X化|k-l)=X化-1 |k-l),P化|k-l)=P化-1 |k-l)+Q;更新估計 誤差
x(k|k)=x(k|k-i)+Kg(k)(zA)-xA|k-i)),PA|k) = (i-Kg(k)) P化|k-i);其中,X化|k-i)是根據k-i時刻的狀態預測得到的k時刻端到端時延的先驗估計, X化-i|k-i)是k-i時刻的最優估計;P化|k-i)是X化|k-i)對應的估計誤差,類似的,P化-1 k-l)是X化-l|k-l)對應的估計誤差;而更新估計誤差階段根據當前時刻的時延估計值對先 驗估計值及其估計誤差進行修正,得到當前時刻的時延最優估計值,作為下一次估計的依 據Jg為卡爾曼增益化alman Gain),Z化)是k時刻的時延測量值(由SACK報文中包含的信息 計算得出);
[0015] 4)取最新的時延測量值作為時延估計初值X(0|0),并輸入估計誤差的初值P(0|0) (可W取任意非零值),根據X化|k-l)=X化-l|k-l)得到當前時刻的時延先驗估計值;
[0016] 5)根據最新的時延估計值,更新時延系數Θ,
[0017]
[001引其中,dmax為端到端時延估計值中最大值,血in端到端時延估計值中最小值;
[0019] 6)定義兩個闊值θ〇和0max,闊值Θ祐義為當0>0〇時,表示當前不同路徑上時延差距 較大,有可能會導致數據亂序現象的發生,由于數據包i的發送路徑與所采用的數據分流策 略有關,因此為了保證滿足數據包有序傳輸約束條件,要求所有路徑上的發送間隔都要滿 足:d(i) >d(i-l)-(T(i)-T(i-l))=d(i-l)-Δパi),因此有;
[0020]
[0021] 闊值0max的定義是,當0>0max表示當前路徑時延差異非常大,傳輸過程中數據亂序 現象嚴重,很有可能會導致接收端緩存阻塞,因此選擇接收端的緩存大小作為計算的參 考標準,記接收端緩存中能夠容納的數據包個數為NBuffer,
[0022]
[0023] 7)判斷θ與θ〇和的關系:
[0024] 若0>0〇,查找當前傳輸時延估計值最大的路徑Pi;
[0025] 若0 <目日< 0max,則將Pi上的擁塞窗口 cwndi減小為
[0026] 若Θ > ,則將Pi上的擁塞窗口 cwn山減小為
[0027] 其中,cwnd:擁塞控制窗口(Congestion conhol window),用于控制發送端一次 性最多可W往網絡中發送的數據包數量;發送端根據當前網絡的擁塞狀況,自適應地調整 cwnd的大小來對網絡進行擁塞控制;
[002引 8)比較減小后的cwndi和該路徑的慢啟動闊值SSthreshi,如果cwndi<SSthreshi, 則令551:11'63山=(3*]1山,其中,331:11的311:慢啟動闊值(51〇*-31日1'1:1:11的311〇1(1),區分慢啟動 階段和擁塞避免階段的臨界值,當cwnd<ssthresh時,執行慢啟動算法;反之,當cwnd> sst虹esh時,執行擁塞避免算法。
[0029] 本發明的有益效果在于:本發明提供的優化方法能夠準確進行路徑時延估計,并 將估計出的時延應用于窗口擁塞控制,自適應地調整發送端擁塞窗口大小,能夠有效減少 數據亂序現象,提高傳輸系統的吞吐性能。
【附圖說明】
[0030] 為了使本發明的目的、技術方案和有益效果更加清楚,本發明提供如下附圖進行 說明:
[0031 ]圖1為多路徑并行傳輸基于卡爾曼濾波的端到端時延估計示意圖;
[0032] 圖2為網絡負載與吞吐量關系圖;
[0033] 圖3為具有兩條并發路徑的多路徑傳輸一般場景示意圖;
[0034] 圖4為具有兩條并發路徑的多路徑傳輸最佳場景示意圖;
[0035] 圖5為多路徑并行傳輸系統有效吞吐量優化方法流程示意圖。
【具體實施方式】
[0036] 下面將結合附圖,對本發明的優選實施例進行詳細的描述。
[0037] 本發明提供的一種多路徑并行傳輸系統有效吞吐量的優化方法,該方法能夠準確 進行路徑時延估計,并將估計出的時延應用于窗口擁塞控制,自適應地調整發送端擁塞窗 口大小,能夠有效減少數據亂序現象,提高傳輸系統的吞吐性能。
[0038] 圖1為多路徑并行傳輸基于卡爾曼濾波的端到端時延估計示意圖;
[0039] 卡爾曼濾波算法可W對離散系統的狀態進行最優估計,線性隨機微分方程的形 式:X化)=AX化-1)+腳化-l)+w化-1),系統狀態的測量值可w描述為:Z化)=版化)+V化), 其中,X化)和X化-1)分別是k時刻和k-1時刻的系統狀態,iKk-l)是k-1時刻系統的控制量。 A、B均為目標系統的參數,若目標系統是多模型系統,則A和B是矩陣的形式。Z化)是k時刻系 統狀態的測量值,Η是測量系統的參數,若是多測量系統,則同理Η是矩陣的形式。W化-1)是 系統過程的噪聲,而V化)表示測量的噪聲,兩者均為高斯白噪聲,方差分別是Q和R。
[0040] 卡爾曼濾波算法的兩個階段可W分別用W下兩組公式描述:
[0041] 更新時延估計值:
[0042] X(k|k-l)=X(k-l |k-l)
[0043] P(k|k-l)=P(k-l |k-l)+Q
[0044] 更新估計誤差:
[0045]
[0046] X(k|k)=X(k|k-l)+KgA)(Z(k)-XA|k-l))
[0047] P(k|k) = (l-Kg(k))P 化 |k-l)
[004引更新時延估計值階段根據前一時刻的時延最優估計值和時延估計誤差完成對當 前時刻的端到端時延的先驗估計。其中,X化|k-l)是根據k-1時刻的狀態預測得到的k時刻 端到端時延的先驗估計,X化-1 |k-l)是k-1時刻的最優估計。P化I k-1)是X化I k-1)對應的估 計誤差,類似的,P化-l|k-l)是X化-l|k-l)對應的估計誤差。而更新估計誤差階段根據當前 時刻的時延估計值對先驗估計值及其估計誤差進行修正,得到當前時刻的時延最優估計 值,作為下一次估計的依據。Kg為卡爾曼增益化alman Gain),Z化)是k時刻的時延測量值 (由SAO(報文中包含的信息計算得出)。
[0049] 在實際運用時,取最新的時延測量值作為時延估計初值X(0|0),并輸入估計誤差 的初值P(〇|〇)(可W取任意非零值),時延估計就能夠自動循環運行,完成對端到端時延的 預測。根據式X化|k-l)=X化-l|k-l)可W得到當前時刻的時延先驗估計值。
[0050] 基于卡爾曼濾波的時延估計可W劃分為兩個不斷循環的階段:更新時延估計值 (預測狀態)和更新估計誤差(修正狀態)。
[0051] 圖2為網絡負載與吞吐量關系圖,隨著互聯網的迅速發展,網絡中傳輸的業務種類 越來越多樣化,新型業務尤其是多媒體業務的大量出現,使得網絡中傳輸的流量越來越大。 然而,對于單一傳輸鏈路來說,鏈路的傳輸能力是有限的,如果缺少必要的擁塞控制機制對 該鏈路上的數據流進行控制,在鏈路負載較輕時,隨著注入的流量的增加,吞吐量尚能逐步 線性增加;當吞吐量超過某個臨界值后,再次增加負載,該鏈路上的傳輸吞吐量也不會繼續 增長,反而會逐步減少,直至產生"死鎖"。在多路徑并行傳輸中,若某一并發鏈路上發生"死 鎖",則鏈路的端到端時延將急劇增大,導致通過該鏈路發送的數據包遲遲不能到達接收 端,在接收端引發嚴重的數據包亂序,使得多路徑并行傳輸的有效吞吐量急劇惡化,因此在 多路徑并行傳輸協議中必須要包含相應的擁塞控制機制,W保證協議的吞吐性能。
[0052] 圖3為具有兩條并發路徑的多路徑傳輸一般場景示意圖,SCTP-CMT協議通過將不 同網絡的資源整合并統一管理,從而達到聚合不同網絡的可用帶寬,提升業務QoS的目的。 然而,該協議并不適合于異構無線網絡環境。在異構網絡中,由于路徑間的不對稱性導致不 同路徑上的端到端傳輸時延差異巨大,在不同路徑上并行傳輸的數據包將無法按照發送時 的順序有序地到達接收端,從而引起數據包亂序現象。亂序的數據包將滯留在接收端緩存 中,等待傳輸序列號較小的數據包全部到達后,才能一同向上層應用遞交,嚴重制約了多路 徑并行傳輸有效吞量的提高。特別的,對于實時視頻會議等對數據實時性要求較高的業務, 即使最終數據包能夠成功遞交給上層應用,數據包內的數據也可能已經超過了有效期限而 被應用丟棄,運將使得多路徑并行傳輸系統的有效吞吐性能進一步惡化。
[0053] 本發明將多路徑并行傳輸的有效吞吐量定義為:單位時間內接收端成功接收并按 序遞交給應用層的數據包數量。當多路徑并行傳輸系統各條并行路徑上的最大時延差足夠 小時,理想狀況下可完全不受亂序的影響。因此,可W通過對多路徑并行傳輸系統中各條并 行鏈路上的最大時延差進行調控,使其滿足d(i)^d(i-l)-AT(i),從而減小發生數據包亂 序的可能性,提高系統的有效吞吐量。參數說明如下:
[0054] τι--發送端各路徑上的數據包發送間隔,其中i為路徑編號(i = l,2)。
[0055] di-一路徑i上的傳播時延(即數據包從離開發送端到抵達接收端所花時間),且山 <d2。
[0化6] Ad--路徑1和路徑2的傳播時延差,Δ d= I d2-di I。
[0057] T-一接收到一個完整有序的數據塊所花費的時間。
[0化引S-一時間T內總共接收到的有序數據塊的大小。
[0化9] G一一多路徑并行傳輸系統的有效吞吐量,。-f
[0060] 假設總共有4個傳輸序列號TSN連續的數據包等待發送,數據包的TSN分別為1、2、3 和4,運里稱運4個數據包為一個按序單元。其中有3個數據包被分配到路徑1上進行傳輸,剩 下的一個數據包通過路徑2傳輸。傳輸開始后,數據包1和數據包2分別由路徑1與路徑2發送 出去。
[0061] Ad>Ti時,當通過傳播時延較大的路徑2上發送的數據包到達接收端時,接收端 才會接收到一個完整的有序數據塊并向上交付給應用層,此時接收該有序數據塊所花費的 時間Τ= Ad,故
[0062]
[0063] 圖4為具有兩條并發路徑的多路徑傳輸最佳場景示意圖;
[0064] 假設總共有4個傳輸序列號TSN連續的數據包等待發送,數據包的TSN分別為1、2、3 和4,運里稱運4個數據包為一個按序單元。其中有3個數據包被分配到路徑1上進行傳輸,剩 下的一個數據包通過路徑2傳輸。傳輸開始后,數據包1和數據包2分別由路徑1與路徑2發送 出去。
[0065] A cK τι時,由于SCTP規定接收端完整地接收到一個有序數據塊后向發送端發送 SACK應答報文,發送端接收到該報文后開始下一輪的數據發送,故運種情況下接收端接收 到一個完整有序數據塊所花費的時間可W近似地用路徑2上的數據包發送間隔代替,故
[0066]
[0067]通過上述分析比較得知,當兩條路徑的傳輸時延差越大,接收端接收到TSN連續的 數據塊并交付給應用層所花的時間就越長,有效吞吐量就越小。因此,我們可W通過在發送 端對數據包發送速率進行調節,均衡不同路徑上的負載,間接地調控并發路徑間的最大時 延差,減輕數據包亂序,提高多路徑并行傳輸系統的吞吐量。
[0068] 圖5為多路徑并行傳輸系統有效吞吐量優化方法流程示意圖,卡爾曼濾波的時延 估計運用卡爾曼濾波的原理對各并發路徑的端到端時延進行準確估計,相比傳統SRTT估計 算法具有更高的精確度,更能適應異構無線網絡中鏈路時延多變的特點,避免因為時延估 計的不準確影響后續優化算法的性能。基于時延差控制的擁塞控制方法根據當前各并發鏈 路間的最大時延差,自適應地調整鏈路的擁塞窗口,實現鏈路間的負載均衡,達到減小最大 時延差的目的。通過結合W上兩個步驟,在發送端將鏈路間的最大時延差調控在一個合理 的范圍內,從而減少數據亂序,提高多路徑并行傳輸系統的有效吞吐量。
[0069] 最后說明的是,W上優選實施例僅用W說明本發明的技術方案而非限制,盡管通 過上述優選實施例已經對本發明進行了詳細的描述,但本領域技術人員應當理解,可W在 形式上和細節上對其作出各種各樣的改變,而不偏離本發明權利要求書所限定的范圍。
【主權項】
1. 一種多路徑并行傳輸系統有效吞吐量的優化方法,其特征在于:在該方法中,多路徑 并行傳輸系統在發送端與接收端之間存在N條相互獨立的傳輸路徑,分別為Li,L 2, ..., Lk,. . .Ln,N2 2;各條路徑上端到端的路徑傳播時延滿足cU < d2 < . . .dk. . . < dN;該方法包括 以下步驟: S1:在多路徑并行傳輸系統中,運用時延估計算法,估計出當前時刻的最優先驗估計值 dk; S2:根據數據包有序傳輸的約束條件d(i)2d(i-l)_AT(i)和步驟1)中時延估計算法的 估計結果,調節各條鏈路上的擁塞窗口,減小不同鏈路上的端到端時延差,提高在異構網絡 環境下的多路徑并行傳輸有效吞吐量。2. 根據權利要求1所述的一種多路徑并行傳輸系統有效吞吐量的優化方法,其特征在 于:具體包括以下步驟: 1) 采用卡爾曼濾波算法對離散系統的狀態進行最優估計,線性隨機微分方程的形式 為:X(k)=AX(k-l)+BU(k-l)+W(k-l),系統狀態的測量值可以描述為:Z(k)=HX(k)+V(k), 其中,X(k)和X(k-l)分別是k時刻和k-1時刻的系統狀態,U(k-l)是k-1時刻系統的控制量; A、B均為目標系統的參數,若目標系統是多模型系統,則A和B是矩陣的形式;Z(k)是k時刻系 統狀態的測量值,Η是測量系統的參數,若是多測量系統,則同理Η是矩陣的形式;W(k-l)是 系統過程的噪聲,而V(k)表示測量的噪聲,兩者均為高斯白噪聲,方差分別是Q和R; 2) 假設端到端傳輸時延是一個常量信號與一個高頻變化的分量之和,該高頻分量是一 個高斯白噪聲,則端到端時延可以表示為:X(k)=X(k-l)+W(k-l),Z(k)=X(k)+V(k),其中, X (k)和Z (k)分別表示端到端時延的真實值和通過SACK報文測量得到的測量值;W( k)代表端 到端時延的高頻噪聲分量,滿足方差為Q的高斯分布,即W(k)~N(0,Q);V(k)表示端到端時 延測量值的噪聲,滿足方差為R的高斯分布,即V(k)~N(0,R); 3) 更新時延估計值:X(k | k-1) =X(k-l | k-1),P(k| k-1) =P(k-l | k-l)+Q;更新估計誤 差X(k|k)=X(k|k-l)+Kg(k)(Z(k)-X(k|k-l)), ?仏|1〇 = (1-此(1〇汗仏|1^1);其中4仏|1^1)是根據1^1時刻的狀態預測得到的1^時刻 端到端時延的先驗估計,X(k_l I k_l)是k_l時刻的最優估計;P(k I k_l)是X(k I k_l)對應的估 計誤差,類似的,P(k-llk-l)是x(k-l|k-l)對應的估計誤差;而更新估計誤差階段根據當前 時刻的時延估計值對先驗估計值及其估計誤差進行修正,得到當前時刻的時延最優估計 值,作為下一次估計的依據;Kg為卡爾曼增益(Kalman Gain),Z(k)是k時刻的時延測量值 (由SACK報文中包含的信息計算得出); 4) 取最新的時延測量值作為時延估計初值X(0 | 0),并輸入估計誤差的初值P(0 | 0)(可 以取任意非零值),根據X(k I k-1) = X(k-11 k-1)得到當前時刻的時延先驗估計值; 5) 根據最新的時延估計值,更新時延系數Θ,其中,dmax為端到端時延估計值中最大值,dmin端到端時延估計值中最小值; 6) 定義兩個閾值θ〇和0max,閾值θ〇定義為當θ>θ〇時,表示當前不同路徑上時延差距較 大,有可能會導致數據亂序現象的發生,由于數據包i的發送路徑與所采用的數據分流策略 有關,因此為了保證滿足數據包有序傳輸約束條件,要求所有路徑上的發送間隔都要滿足: d(i) 2(1(卜1)-(1'(1)-1'(卜1))=(1(卜1)-&丁(1),因此有:閾值9max的定義是,當0>0max表示當前路徑時延差異非常大,傳輸過程中數據亂序現象 嚴重,很有可能會導致接收端緩存阻塞,因此選擇接收端的緩存大小作為9max計算的參考標 準,記接收端緩存中能夠容納的數據包個數為NBuffer,7) 判斷Θ與θ〇和0max的關系: 若0 > θ〇,查找當前傳輸時延估計值最大的路徑Pi ; 若0< θ〇< 0max,則將Pi上的擁塞窗口 cwndi減小為若Θ > 9max,貝lj將Pi上的擁塞窗口 cwndi減小為:卿=cwa^M 其中,cwnd:擁塞控制窗口(Congestion control window),用于控制發送端一次性最 多可以往網絡中發送的數據包數量;發送端根據當前網絡的擁塞狀況,自適應地調整cwnd 的大小來對網絡進行擁塞控制; 8) 比較減小后的cwndi和該路徑的慢啟動閾值SSthreshi,如果cwndi<SSthreshi,則令 SSthreshi = cwndi,其中,ssthresh:慢啟動閾值(Slow-start threshold),區分慢啟動階段 和擁塞避免階段的臨界值,當cwnd<ssthresh時,執行慢啟動算法;反之,當cwnd> ssthresh時,執行擁塞避免算法。
【文檔編號】H04W28/02GK105873096SQ201610178755
【公開日】2016年8月17日
【申請日】2016年3月24日
【發明人】陶洋, 王振宇, 熊炫睿, 張家泳, 赫前進, 李加成, 趙芳金, 嚴志軍
【申請人】重慶郵電大學