呂 翊,朱 博,吳大鵬
(1.重慶郵電大學 通信與信息工程學院,重慶 400065;2.重慶高校市級光通信與網絡重點實驗室,重慶 400065;3.泛在感知與互聯重慶市重點實驗室,重慶 400065)
隨著用戶對視頻業務的需求不斷增加,視頻業務在未來消耗的網絡資源將達到75%。為了保證視頻業務的高帶寬及良好的時延敏感特性,網絡必須擁有更加優秀的承載能力[1-2]。光纖無線(Fiber-Wireless,FiWi)接入網絡是一種結合光網絡與無線接入方式的新型融合網絡,其后端的無源光網絡(Passive Optical Network,PON)具有大容量、高帶寬的優勢,能夠保證視頻業務的高效傳輸,而前端無線網狀網絡(Wireless Mesh Network,WMN)的靈活性可以為用戶提供可移動性的連接[3]。
研究表明,采用單路徑傳輸視頻數據容易導致網絡中出現瓶頸鏈路,進而產生網絡擁塞;同時用戶的移動性和無線信道的隨機性(例如多徑衰落和陰影效應)會導致鏈路傳輸能力具有時變特性,使得FiWi接入網絡難以提供令用戶滿意的體驗質量[4]。因此,為保證用戶的視頻傳輸需求和網絡在傳輸過程中的負載均衡,在視頻的多路徑傳輸中普遍應用可擴展視頻編碼(Scalable Video Coding,SVC)技術[5]??蓴U展視頻編碼技術將視頻內容編碼成多個層:以低比特率承載最重要信息的基礎層和一個或多個增強層,接收的視頻層數越多,相應的視頻質量越好[6]。FiWi網絡兩端的結構不同,傳輸能力也存在較大的差異,后端無源光網絡雖然可以為日益增長的帶寬需求提供良好的物理條件,但不能進行大范圍的鋪設;前端無線網狀網具有自組織、自愈的特性,能夠提供較大的通信范圍,有效地彌補了光網絡的缺點,但是前端網絡的帶寬資源有限,容易出現負載不均衡的問題[7]。對于數據量較大的視頻業務,前端無線網狀網中的單路徑傳輸會增加節點隊列長度和傳輸時延,進而產生不必要的丟包,影響用戶體驗質量(Quality of Experience,QoE)和網絡負載均衡的性能[8]。文獻[9]將數據包丟失率、干擾和網關負載結合,形成新的路由度量,提出了一種新的路由和網關選擇方案,但未考慮帶寬利用率的度量,容易使網絡局部負載不均衡。文獻[10]提出一種視頻傳輸的延遲響應擁塞控制算法,當往返延遲信號超過閾值時,通過降低發送速率緩解緩沖區的擁塞,避免數據的丟失,但缺乏對多路徑負載均衡的考慮。文獻[11]在多路徑傳輸中提出一種面向用戶體驗質量的速率分配方案,通過松弛函數將速率分配問題轉化為無約束優化問題,并采用模式搜索方法得到最優解,但視頻傳輸沒有對路徑進行合理選擇。文獻[12]利用核心網中云服務器的存儲能力和計算能力收集網絡的狀態,獲得視頻的多路徑傳輸策略,并聯合帶寬、延遲和差分延遲的約束處理視頻的多路徑傳輸,然而其低延遲僅能滿足網絡的服務質量(Quality of Service,QoS)需求,而忽略了用戶體驗質量需求。以上解決方案主要采用了多路徑傳輸機制,一定程度地均衡了網絡的負載。但是,上述方案只是單一地考慮網絡服務質量或者用戶端的體驗質量,存在一定的局限性。
筆者在FiWi網絡架構下提出了一種負載均衡的視頻多路徑傳輸機制(Video Multipath Transmission mechanism with Load Balancing,VMTLB)。首先將網關利用率、鏈路剩余帶寬和鏈路帶寬利用率作為衡量網關和路徑可靠性的因素,并利用路徑可靠性改進分裂多徑路由(Split Multipath Routing,SMR)協議,找出滿足條件的路徑;其次計算視頻在無線側的延遲和路徑差分延遲閾值并作為用戶體驗的質量約束條件;最后采用多級懲罰函數的粒子群優化算法,在用戶體驗質量約束內為不同的視頻質量層選擇合適的路徑。
在無線網狀網中,多接口網關節點成為業務的交匯點與轉發點,隨著視頻業務的急劇增長,網關節點的擁塞概率增大,進而將導致整個無線網絡性能急劇下降。通信網絡的快速發展也使得網關存在多樣化,其接口數量、容量及處理速度的不一致,使得量化網關的標準存在差異性,因此網關節點的合理選擇已成為避免網絡性能下降的有效手段之一。傳統的網關負載均衡的目的主要是均衡網關接收的數據量,接收數據量的增加會對低容量網關產生較大的影響。筆者將網關利用率UG作為衡量其提供負載能力的指標:
(1)
其中,IG為網關G的接口數量,Lx、dx、mx分別表示網關G的單個接口可用容量、處理速度和最大容量。視頻數據接入無線網狀網時應該選擇高可靠性的網關節點,即選擇最大的UG。
1.2.1 瓶頸鏈路剩余帶寬
在無線網狀網中,如果鏈路的剩余帶寬很小,表明該鏈路的負載較大,容易出現鏈路擁塞和丟包的情況,甚至負載繼續增大至一定數值時,鏈路的吞吐量會下降為零,造成“死鎖”現象,以致鏈路無法工作。為避免出現“死鎖”現象,在視頻傳輸前,應考慮傳輸路徑中瓶頸鏈路的剩余帶寬。文中將路徑k的瓶頸鏈路剩余帶寬記為ek=min{ek1,ek2,…,ekn},其中ekz表示路徑k中第z條鏈路的剩余帶寬。
1.2.2 鏈路帶寬利用率
筆者將鏈路帶寬利用率作為負載均衡的主要影響因素。鏈路帶寬利用率Ukz的計算式為
Ukz=(pkz+dkz)/bkz,
(2)
其中,pkz和dkz表示單位時間內路徑k中第z條鏈路的上行流量和下行流量,bkz表示路徑k中鏈路z的總帶寬。
無線網狀網具有移動自組織網絡和無線局域網的優勢,因此無線網狀網仍然可以使用基于移動自組織網絡的傳統路由協議[13]。筆者針對多路徑中負載不完全均衡的問題,在移動自組織網絡的分裂多徑路由協議基礎上進行改進,考慮路徑帶寬利用率以及最小路徑帶寬因素。針對一條路徑中,其鏈路的帶寬利用率可能存在較大差異,網絡容易出現局部負載不均衡,對此給定閾值δ,使得路徑的鏈路帶寬利用率具有穩定的范圍-δ≤max(U)-min(U)≤δ,其中max(U)與min(U)分別表示路徑所含鏈路的最大帶寬利用率與最小帶寬利用率。如圖1所示的5字節報文是筆者設計的帶寬利用率路由(Bandwidth Utilization Rate Routing,BURR)報文。圖1中,Source-ID為源節點的ID;Path-ID為用于標識鏈路所屬路徑的編號;MAX-LBU為用于標識路徑目前最大的鏈路帶寬利用率;MIN-LBU為指明路徑目前最小的鏈路帶寬利用率;MIN-BW表示當前路徑的最小帶寬。

圖1 帶寬利用率路由報文

圖2 最大不相交路徑選取模型
最大不相交路徑選取的步驟如圖2所示,具體說明如下:
(1) 計算網關負載的可靠性(見式(1))并選擇可靠性最大的網關。
(2) 將選擇的網關視為源節點S,源節點S廣播路由請求(Route REQuest,RREQ)報文給Ay(y=1,2,3)路由器,路由器接收到請求后分別計算S、Ay的鏈路帶寬利用率以及鏈路剩余帶寬,并設置Path-ID編號。
(3) 接收到請求信息的路由器沿原路徑發送BURR報文給S。
(4) 中間節點接收到非副本的RREQ時,它附加其節點ID并重新廣播報文(除去已接收RREQ的節點),如Ay將其路由器的ID添加進RREQ報文繼續廣播至By。
(5) 路由器接收到請求后分別計算AyBy(y=1,2,3)的鏈路帶寬利用率以及鏈路剩余帶寬。
(6) 分別計算AyBy的鏈路帶寬利用率與路徑的max(U)、min(U)的差值δdmax、δdmin是否滿足閾值δ。若都小于閾值δ,便選擇最小max(δdmax,δdmin)所在的鏈路;若存在差值相等的情況,則選擇剩余鏈路帶寬最大的鏈路(如A1B1,A2B2,A3B3),并將其路由器ID賦予Path-ID字段內,其余鏈路被標識為失效鏈路(如A2B1,A3B2);若大于閾值δ,則將AyBy標識為失效鏈路。
(7) 當鏈路帶寬利用率大于報文字段的MAX-LBU時,將其值賦予MAX-LBU字段;當鏈路帶寬利用率小于報文字段的MIN-LBU時,將其值賦予MIN-LBU字段。
(8) 路由器沿原路徑發送BURR報文給S,重復(4),直至找到目的節點D。
在多路徑的視頻分發策略中,為了避免視頻播放過程中發生中斷以及等待播放延遲過長的情況,選取用戶在無線側的路徑差分延遲閾值和容忍延遲閾值作為用戶體驗質量約束,并將其作為網絡負載均衡的約束條件。

(3)
(4)
多路徑傳輸存在路徑差分延遲D,即多條路徑中最大延遲與最小延遲的差值。為保證視頻傳輸業務不中斷,對路徑差分延遲設置閾值Dd。當接收端緩沖區數據量低于播放門限σ時,視頻會中斷播放并進入重緩沖狀態,直到數據緩存到視頻播放條件后重新播放。所以閾值Dd主要由用戶設備的存儲能力和視頻播放界限決定:
Dd=T[(C-σ)/An]。
(5)
An表示終端正在播放圖片組的數據量,并且必須接收一個完整的圖片組才能播放,先到達緩存區的質量層會等待其余質量層到達,假設視頻以緩存區最大容量C通過An的速率消耗,當緩存區容量消耗至播放門限σ,而同一圖片組的視頻層未到達緩沖區時,視頻便會出現“卡頓”現象。為滿足用戶的播放體驗,多路徑傳輸需滿足路徑差分延遲小于閾值Dd,即D≤Dd。
視頻傳輸的基本目標是及時交付視頻,避免用戶的流失,因此視頻傳輸延遲需滿足在用戶容忍延遲閾值Tth內。視頻傳輸的端到端延遲包括光纖傳輸延遲和編解碼的緩沖延遲、無線路徑延遲。
2.2.1 光纖傳輸延遲
視頻在光纖傳輸的延遲tfiber可表示為
(6)
其中,Ccloud表示光線路終端與服務器之間鏈路的剩余傳輸容量,并假定其傳輸容量與無源光網絡相同。
2.2.2 編解碼緩沖延遲
未壓縮的視頻首先以特定的幀速率進入編碼器,壓縮后的圖片組退出視頻編碼器,并進入編碼器出口緩沖區。相似地,在解碼器側,壓縮圖片組離開解碼器入口緩沖器并進行解碼處理。文中將tencode和tdecode作為視頻編碼器和視頻解碼器的緩沖延遲,并且緩沖延遲是恒定的,將編碼和解碼的處理延遲忽略不計,編解碼的緩沖延遲tbu可表示為
tbu=tencode+tdecode。
(7)
2.2.3 無線路徑延遲

(8)
其中,Nk和Zk分別表示路徑k的路由器數量和鏈路數量。視頻在傳輸過程中受到延遲閾值Tth的限制,由于光纖傳輸延遲和編解碼緩沖延遲是穩定可靠的,因此無線側傳輸的延遲閾值twire-th可表示為
twire-th=Tth-tfiber-tbu。
(9)
多路徑傳輸廣泛應用于無線網絡,以實現負載均衡和擁塞控制,然而能否找到多個可以滿足視頻流帶寬要求的高可靠性路徑,并在可用路徑之間分發視頻流進行多路徑傳輸,是多路徑傳輸面臨的主要挑戰。筆者利用粒子群優化算法在網絡資源有限的情況下為視頻流中的質量層選擇合適的路徑,使得路徑間的負載均衡度L最小,以達到最優狀態。其目標函數和約束條件可表示為:
(10)
D-Dd≤0,
(11)
twire-twire-th≤0,
(12)
(13)

(14)
其中,Ukz表示路徑k中第z條鏈路的帶寬利用率;ηkz表示在路徑k中鏈路z的權重比值,是由路徑k所有鏈路的帶寬利用率比值決定的。粒子群算法中用粒子表示可用方案,粒子適應度用該粒子當前位置對應的目標函數值表示,粒子的速度則表示算法的搜索步長,決定算法的最終優化性能。每次迭代過程中,將粒子個體pbl與粒子群gbl的最優解代入下式,進行粒子位置xbl和速度vbl的更新,即
vbl=ωvbl+c1r(pbl-xbl)+c2r(gbl-xbl),
(15)
xjl=xjl+vjl,
(16)
其中,c1和c2為學習因子,主要反映粒子對自身最優值和全局最優值的學習能力;ω為權重系數;r為[0,1]內的隨機數。視頻流共有Mn個質量層,每個粒子的當前位置Xb=(xb1,xb2,…,xbMn)表示一種路徑分配方案,其中xbm表示第m層數據所選路徑;Pb=(pb1,pb2,…,pbMn)表示第b個粒子當前搜索的最優位置;G=(g1,g2,…,gMn)表示整個粒子群搜索到的最優位置。文中將路徑的負載均衡度作為目標函數,但是目標函數受約束條件限制,直接使用負載均衡度作為適應度函數,會產生許多粒子適應度高但不滿足約束條件的情況,因此文中加入約束條件構成懲罰函數f(x)。但是粒子群算法存在以下兩個問題:①懲罰值過高時,目標函數容易收斂在局部值,懲罰值過低時難以找到最優解;②目標值與懲罰值的差異較大,難以區分可行解與非可行解。因此,設計了動態變化的多級懲罰函數F(x),多級懲罰函數定義如下:
F(x)=g(i)G(x)。
(17)
為緩解動態變化的多級懲罰函數導致復雜度過高,造成收斂速度較低的現象,需在懲罰函數中選定合適的懲罰因子。若懲罰因子過大,則容易造成算法較早收斂于局部最小值;若懲罰因子過小,則不但造成所解值不是最優目標值,還會使得收斂速度過小。因此,將多級懲罰函數的懲罰因子g(i)設置為i1/2,i表示算法的迭代次數。由于冪函數的內在性質,懲罰因子隨著迭代次數增加而增大,使得在最后階段仍有較好的收斂速度,保證算法的全局搜索能力。G(x)表示約束條件構成的函數:
(18)
p(x)=max{0,f(x)},
(19)
其中,s表示約束函數的數量,γ(p(x))表示單個懲罰函數的級數。當p(x)<1時,懲罰函數的級數為1;當p(x)≥1時,級數為2。
文中將目標函數Lnew和懲罰函數Fnew(x)定義如下:
Lnew=(L-Lmin)/(Lmax-Lmin),
(20)
Fnew(x)=(Fmax(x)-F(x))/Fmax(x),
(21)
其中,Lmax,Lmin表示負載均衡度的最大值和最小值,Fmax(x)表示個體違反約束條件的最大值。Lnew越小,其負載均衡度越好;相似地,Fnew(x)越小,約束滿足越高。因此適應度函數可以為
V=Lnew+Fnew(x)。
(22)
視頻流分發策略步驟如下:
(1) 基于分裂多徑路由改進協議選擇符合條件的多條路徑。
(2) 初始化,包括種群規模,慣性權重ω,加速因子τ1、τ2,粒子個數Y,粒子維度J,最大迭代次數I。
(3) 根據粒子個數和粒子維度生成初始種群。
(4) 判斷迭代次數是否滿足條件,如果滿足條件則開始計算粒子適應度函數(見式(22)),更新粒子序列,計算種群個體極值與全局極值(P,G),更新粒子速度和位置以及粒子適應度(見式(15)、(16)、(22))。
(5) 如果經過i次迭代后粒子的全局適應度Vb(Gm)變化幅度小于設置的閾值ψ,則適應度函數達到最優值,迭代結束,否則重復步驟(4)。
采用NS2仿真平臺對文中所提機制進行驗證,選取文獻[15]提出的吞吐能力感知負載分發(Goodput-Aware Load Distribution,GALTON)、文獻[16]提出的增強延遲控制負載分發(Enhanced-Delay Controlled Load Distribution,E-DCLD)和文獻[17]提出的延遲-能量-質量感知多路徑(Delay-Energy-Quality Aware Multipath,DEQAM)算法作為對比算法。網絡拓撲包括1個光線路終端,4個光網絡單元-基站,4個網關,64個路由器。在粒子群算法中,設置種群規模為20,迭代次數為40,慣性權重ω為0.8,加速因子τ1、τ2為2。
為避免視頻傳輸延遲過長以及視頻播放發生中斷所造成用戶放棄播放視頻的現象,將傳輸延遲和差分延遲作為用戶滿意度的影響參數。在用戶觀看視頻時,相比傳輸延遲,中斷會給用戶帶來更大的影響,因此將用戶滿意度設置為η=ρ1[1-(Twire/Twire-th)]+ρ2[1-(D/Dd)],并設ρ1=0.4,ρ2=0.6。圖3反映了用戶滿意度與網絡負載的關系:網絡負載較小時,用戶傳輸延遲和路徑差分延遲較低,用戶滿意度較為平穩;當負載達到20 Mb/s時,排隊將超出閾值,造成數據重傳,傳輸延遲與差分延遲迅速增大,用戶滿意度下降較快;網絡負載增至35 Mb/s時,由于數據丟失,網關將調整各路徑的發送速率,緩解差分延遲過度增加的現象,用戶滿意度下降幅度逐漸減小。筆者提出的VMTLB算法充分考慮無線側的延遲和路徑差分延遲,從而可以更加合理地分配帶寬資源,減少傳輸延遲與差分延遲,提升視頻傳輸的有效性。而另外3種算法在多路徑選取模型中,忽略了差分延遲過大將導致緩沖區數據幀丟失的情況,其差分延遲將隨著網絡負載增大而快速增加,最終使得用戶滿意度的下降幅度高于所提算法。仿真結果表明,相比另外3種算法,筆者提出的算法提高了約6.2%的用戶滿意度。
圖4反映了視頻播放中斷概率與網絡負載之間的關系。網絡負載較低時,路徑剩余帶寬較大,中斷概率隨負載增加呈上升趨勢,4種算法的中斷概率相差不大。當網絡負載達到20 Mb/s時,隨著網絡負載的繼續增大,剩余帶寬緊缺,導致排隊延遲增加,路徑間的差分延遲變大,從而使中斷概率上升幅度較大。VMTLB算法上升幅度和整體中斷概率均低于3種對比算法,因為該算法在選擇路徑組合時,充分考慮了用戶設備緩存區的差分延遲閾值,從而避免了緩存區上溢,有效降低了視頻播放的中斷概率。
在多路徑傳輸過程中,可用路徑數量直接影響視頻的傳輸與接收性能。圖5反映了不同路徑數量下的端到端延遲,針對固定的視頻數據,可用路徑數量的增加,能夠有效緩解在視頻傳輸過程中因緩沖區排隊而使延遲增加的現象。路徑越多,可用帶寬越充足,排隊引起的延遲受路徑數量的影響越小,因此延遲下降梯度逐漸減小。VMTLB算法的延遲略高于其余對比算法,但其延遲仍在用戶可接受范圍內。延遲略高的原因主要在于該算法是在用戶容忍的無線側延遲和差分延遲內,在滿足路徑間負載均衡差異最小的前提下對視頻分發傳輸,充分考慮到了網絡的負載均衡和用戶的體驗質量。
路徑間的負載差異度設置為Ld=[(L/K)-min(B)]/min(B),圖6描述了路徑負載差異度與可用路徑數量的關系,當路徑數量為1時,不存在路徑負載差異;路徑數量增至兩條時,增加的路徑可以顯著分擔數據傳輸任務,但由于兩條路徑的可用容量不一致,差異度變化明顯。隨著可用路徑數量的不斷增加,每條路徑實際傳輸的數據量不斷減小,各路徑之間的負載差異度逐漸減少,并趨于平穩狀態,但由于路徑帶寬利用率和路徑可用帶寬的差異,差異度趨于一個固定的非零值。VMTLB算法的路徑負載差異度優于其他對比算法,主要是該算法的多路徑選取模型考慮了單條路徑的鏈路帶寬利用率差異較大的問題,設定閾值使得路徑的鏈路帶寬利用率具有穩定的范圍,避免網絡出現局部負載差異過大的現象,并且設定延遲閾值來保證視頻數據合理分配給傳輸路徑,有效降低了路徑間的負載差異度。

圖3 用戶滿意度對比

圖4 中斷概率對比

圖5 端到端延遲對比
圖7顯示了平均端到端延遲與業務數量之間的關系。隨著業務數量的增加,業務的平均端到端延遲也逐漸增加。業務數量低于4時,延遲增長相對較平緩,原因主要在于當業務數量較低時,路徑可用帶寬充足,業務量增長對延遲的影響較低,4種算法在業務數量較低時的延遲相差不大。隨著業務量的增長,延遲上升趨勢愈加明顯,但VMTLB算法的延遲逐漸低于其余3種算法,因為在業務數量較大時,該算法能夠充分考慮傳輸路徑中各鏈路的帶寬利用率,有效避免了利用率差值較大從而使瓶頸鏈路排隊延遲大幅增加的現象。不僅如此,在無線側傳輸中,該算法也考慮了差分延遲及容忍延遲因素,能夠選擇適應度最優的路徑,所以在面對較大業務量時,所提算法的性能更佳。
圖8反映了不同算法獲得的路徑負載差異度與迭代次數之間的關系。由圖8可看出,不同算法在初始時刻的收斂速度較高,使得負載差異度迅速下降。但隨著迭代次數的增加,對比算法的收斂速度逐漸降低,得到的路徑負載差異度也慢慢趨于穩定值;而筆者所提算法收斂速度的下降幅度變化較小,當迭代20次左右便得到穩定的路徑負載差異度,其迭代次數低于其他算法的迭代次數;這主要原因是視頻分發采用的粒子群優化算法本身具有收斂速度快的性質,并且設置的動態變化懲罰因子避免了多級懲罰函數粒子群優化算法在后期造成收斂速度慢的狀況,可以較快地獲得最優解。

圖6 路徑負載差異度對比

圖7 平均端到端延遲對比

圖8 路徑負載差異度對比
為充分利用網絡資源,提升網絡負載均衡性能,在FiWi網絡架構下,筆者提出一種負載均衡的視頻多路徑傳輸機制。首先確定路徑可靠性能因素,并改進分裂多徑路由協議,獲得滿足條件的路徑;其次計算用戶在無線側容忍的延遲和路徑差分延遲并作為限制條件;最后采用多級懲罰函數的粒子群優化算法分發視頻以提升網絡的負載均衡。仿真結果表明,所提機制不僅可以保證用戶在容忍延遲內有效接收視頻,還能夠有效提升網絡的負載均衡性能。