本發(fā)明涉及一種虛擬傳輸協(xié)議(Virtual Transmission Protocol)中的擁塞控制機制,特別涉及一種無線Ad Hoc網(wǎng)絡(luò)的通信帶寬大跨度變更下的網(wǎng)絡(luò)擁塞控制機制。
背景技術(shù):
在移動Ad hoc網(wǎng)絡(luò)中傳輸多媒體流會因為網(wǎng)絡(luò)中諸如節(jié)點的移動、網(wǎng)絡(luò)擁塞、信道故障等造成帶寬時變,如:
以不同形式的媒體編碼不能迅速適應(yīng)時變帶寬(Ad hoc網(wǎng)絡(luò)),帶寬的需求通常以離散和大跨度變更;
節(jié)點能有某種特別的需求,例如當(dāng)檢測到擁塞時并不降低媒體流的帶寬;
媒體流解碼對于丟包敏感,而實時性又阻止了丟包重傳機制的使用。
上述這些問題使得移動Ad hoc網(wǎng)絡(luò)擁塞控制變得具有挑戰(zhàn)性和研究價值。
因此,特別需要一種基于虛擬傳輸協(xié)議的無線Ad Hoc網(wǎng)絡(luò)擁塞控制機制,以解決上述現(xiàn)有存在的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于虛擬傳輸協(xié)議的無線Ad Hoc網(wǎng)絡(luò)擁塞控制機制,針對Ad Hoc網(wǎng)絡(luò)中帶寬的需求通常以離散和大跨度變更的特點,解決以不同形式的媒體編碼能迅速適應(yīng)時變帶寬的擁塞問題。
本發(fā)明所解決的技術(shù)問題可以采用以下技術(shù)方案來實現(xiàn):
一種基于虛擬傳輸協(xié)議的無線Ad Hoc網(wǎng)絡(luò)擁塞控制機制,其特征在于,它包括如下步驟:
1)在Ad Hoc網(wǎng)絡(luò)中接收端觀察報文接收時序,建立時間到達(dá)模型;
2)在接收端對時間到達(dá)模型中偏移量mi估計值與門限值進行比較,作為判斷帶寬過用和帶寬少用的指示;
3)在接收端建立速率控制器,使其具有遞增(Increase)、遞減(Decrease)和保持(Hold)3種狀態(tài);根據(jù)帶寬過用或者帶寬少用,以遞歸自適應(yīng)的可用帶寬估計的方法實現(xiàn)狀態(tài)直接的轉(zhuǎn)換;
4)在發(fā)送端,通過接收端反饋的環(huán)回時間、丟包率和可用帶寬估計,計算對發(fā)送隊列進行帶寬控制,當(dāng)通道隊列足夠大的時候,由接收端計算出的可用帶寬評估作為有效反饋,而隊列非常短時由網(wǎng)絡(luò)丟包檢測作為帶寬過用的判斷依據(jù);
5)建立VTP的丟包重傳機制,通過最大丟包參數(shù)的設(shè)置,實現(xiàn)VTP虛擬傳輸協(xié)議的網(wǎng)絡(luò)媒體帶。
在本發(fā)明的一個實施例中,所述步驟1)中,時間到達(dá)模型如下:
其中,wi是隨機過程W的樣本,是關(guān)于鏈路容量C、當(dāng)前背景流量Xi和當(dāng)前發(fā)送速率Ri的函數(shù);W為高斯白噪聲隨機過程,如果過用通道帶寬則wi增加、如果網(wǎng)絡(luò)隊列中數(shù)據(jù)正在清空,wi將會減少、否則wi為零。
在本發(fā)明的一個實施例中,所述步驟1)中,從wi中分離mi使得隨機過程零均值,得到等式如下:
其中,di是相對于前一幀報文到達(dá)時延,鏈路容量C、偏移量mi當(dāng)時一個隨機過程量,vi為零均值帶有高斯白噪聲的觀測值。
進一步,所述步驟1)中,參數(shù)di和dli可以通過每一完整的幀fi(i>1)獲取,可以估計Ci和mi,并利用Ci和mi檢測是否過用當(dāng)前帶寬,這些參數(shù)通過卡爾曼Kalman filter濾波得到估計;
其中,vi為零均值帶有協(xié)方差σ2(v,i)高斯白噪聲的觀測值,卡爾曼濾波遞歸更新估計。
再進一步,其中i-K+1≤j≤i是由攝像機采集近K幀中最大速率,α為濾波系數(shù),典型值為α∈[0.2 0.002],引入了附加項;如果(協(xié)方差估計),濾波器將使用代替zi進行更新,當(dāng)數(shù)據(jù)報文以更高速率發(fā)送到通道鏈路時,隨機變量vi并不能被建模為隨機白噪聲,這種情況下數(shù)據(jù)報文會排隊緩存在隊列中。
再進一步,Qi被設(shè)計為主對角矩陣:
diag(Qi)=45/1000fmax[10-9 10-3]T。
在本發(fā)明的一個實施例中,所述步驟2)中,過用探測工作原理是:將偏移量mi估計值與門限值γ1進行比較,當(dāng)估計值高于門限值時將指示為帶寬過用,僅此信號指示并不能夠使得帶寬過用探測器觸發(fā)率控子系統(tǒng),還需要額外附加條件,即至少γ2毫秒并且至少γ3幀,此時明確的帶寬過用信號將被觸發(fā);如果偏移量mi估計在最后一次更新中下降,帶寬過用檢測依然不會被觸發(fā),盡管上述條件全部滿足;同理,當(dāng)偏移量mi估計mi<-γ1,相反的狀態(tài)-帶寬少用信號將被檢測;如果既不是帶寬過用狀態(tài)也不是帶寬少用狀態(tài),則探測器將處于正常狀態(tài)。
在本發(fā)明的一個實施例中,所述步驟4)中,只要帶寬過用探測器處于正常狀態(tài),接收端率控系統(tǒng)就會增加在接收端上的可用帶寬估計通多不斷的增加,探測器將會檢測到帶寬過用,只要帶寬過用被檢測到,那么接收端可用帶寬評估就會降低,進而利用此種方式實現(xiàn)了遞歸的自適應(yīng)的可用帶寬估計。
在本發(fā)明的一個實施例中,所述步驟4)中,當(dāng)接收端報告到來的時候,算法就會被運行,運行的時間間隔一般在Tmin_fb時間間隔內(nèi)和Tmax_fb時間間隔內(nèi),如果再2Tmax_fb時間間隔內(nèi)沒有接收到報告信息,這表明至少丟失兩個返回報告信息,那么算法會認(rèn)為在這段時間間隔內(nèi)的包已經(jīng)丟失,將發(fā)送速率減半,最終達(dá)到對帶寬的控制。
在本發(fā)明的一個實施例中,所述步驟5)中,由于網(wǎng)絡(luò)擁塞、物理設(shè)備等因素會造成網(wǎng)絡(luò)媒體數(shù)據(jù)包的丟失,VTP根據(jù)丟包率估計值Rloss設(shè)計一個分段執(zhí)行函數(shù),在(0,0.02),[0.02,0.1],(0.1,∞)三個區(qū)間返回執(zhí)行結(jié)果。
本發(fā)明的基于虛擬傳輸協(xié)議的無線Ad Hoc網(wǎng)絡(luò)擁塞控制機制,與現(xiàn)有技術(shù)相比,針對Ad hoc網(wǎng)絡(luò),在實時傳輸協(xié)議RTP(Real-time Transport Protocol)的基礎(chǔ)上重新封裝了協(xié)議的對象:發(fā)送端(VTP Sender),接收端(VTP Receive),管道(Vpipe),所建立的VTP(Virtual Transmission Protocol)為虛擬傳輸協(xié)議,介于網(wǎng)絡(luò)IO層和應(yīng)用層之間,利用網(wǎng)絡(luò)IO接口, 實現(xiàn)實時數(shù)據(jù)的傳輸,并且通過對擁塞控制建模和優(yōu)化,很好的解決了針對Adhoc網(wǎng)絡(luò)的實時流媒體傳輸?shù)膸掃m應(yīng)性難題,使得傳輸協(xié)議既能滿足實時通訊的要求,很好的解決了帶寬變更帶來的擁塞問題,實現(xiàn)本發(fā)明的目的。
本發(fā)明的特點可參閱本案圖式及以下較好實施方式的詳細(xì)說明而獲得清楚地了解。
附圖說明
圖1為本發(fā)明的VTP協(xié)議的層次架構(gòu)圖;
圖2為本發(fā)明的基于VTP協(xié)議的擁塞控制系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本發(fā)明的速率控制系統(tǒng)的狀態(tài)轉(zhuǎn)換圖;
圖4為本發(fā)明的帶寬估計曲線的擬合圖。
具體實施方式
為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進一步闡述本發(fā)明。
實施例
本發(fā)明的基于虛擬傳輸協(xié)議的無線Ad Hoc網(wǎng)絡(luò)擁塞控制機制,它包括如下步驟:
1)在Ad Hoc網(wǎng)絡(luò)中接收端觀察報文接收時序,建立時間到達(dá)模型;
2)在接收端對時間到達(dá)模型中偏移量mi估計值與門限值進行比較,作為判斷帶寬過用和帶寬少用的指示;
3)在接收端建立速率控制器,使其具有遞增(Increase)、遞減(Decrease)和保持(Hold)3種狀態(tài);根據(jù)帶寬過用或者帶寬少用,以遞歸自適應(yīng)的可用帶寬估計的方法實現(xiàn)狀態(tài)直接的轉(zhuǎn)換;
4)在發(fā)送端,通過接收端反饋的環(huán)回時間、丟包率和可用帶寬估計,計算對發(fā)送隊列進行帶寬控制,當(dāng)通道隊列足夠大的時候,由接收端計算出的可用帶寬評估作為有效反饋,而隊列非常短時由網(wǎng)絡(luò)丟包檢測作為帶寬過用的判斷依據(jù);
5)建立VTP的丟包重傳機制,通過最大丟包參數(shù)的設(shè)置,實現(xiàn)VTP虛擬傳輸協(xié)議的網(wǎng)絡(luò)媒體帶。
VTP(Virtual Transmission Protocol)為虛擬傳輸協(xié)議,介于網(wǎng)絡(luò)IO層和應(yīng)用層之間,實現(xiàn)了有關(guān)網(wǎng)絡(luò)擁塞控制等功能,主要目的是利用網(wǎng)絡(luò)IO接口,實現(xiàn)實時數(shù)據(jù)的傳輸,并且通過對擁塞控制的針對性建模和優(yōu)化(主要針對Ad hoc網(wǎng)絡(luò)),能夠很好的應(yīng)用于及時通訊(IM)等領(lǐng)域。
圖1為VTP協(xié)議的層次結(jié)構(gòu),如圖所示:VTP建立在UPD協(xié)議層之上,實現(xiàn)了Socket Interface的協(xié)議,同時VTP也提供了VTP Inerface的接口,為應(yīng)用層提供,可靠性擁塞控制的虛擬連接。
圖2描述了VTP中重要的3個對象之間的關(guān)系:發(fā)送端(VTP Sender),接收端(VTP Receive),管道(Vpipe)。對象內(nèi)部分別實現(xiàn)帶寬估計,速率控制,丟包重傳以及碼率控制等子對象類型。不同功能的對象分開獨立設(shè)計,實現(xiàn)了RTP的虛擬化,應(yīng)用層只需要維護數(shù)據(jù)的完整,由VTP層接管物理連接的所有資源,使得擁塞控制管理更精確和高效。
建立時間到達(dá)模型通過數(shù)據(jù)報文的到達(dá)時間差異判斷網(wǎng)絡(luò)帶寬的過用和少用情況,為發(fā)送端速率控制提供擁塞控制的依據(jù)。
基于接收幀的時序,通過連續(xù)更新網(wǎng)絡(luò)參數(shù)的估計值實現(xiàn)自適應(yīng)濾波。在接收端觀察輸入報文組,每個報文組擁有相同的時間戳Ti。每幀被指定接收時間ti,ti是整幀被接收后所記錄的到達(dá)時間并忽略丟包。如果ti-ti-1>Ti-Ti-1,即相對于前一幀,此幀是延遲的,即如果幀到達(dá)時間差分大于時間戳差分。定義相對內(nèi)部到達(dá)時間di為:
di=(ti-ti-1)-(Ti-Ti-1) (1)
由于發(fā)送長度為L的幀到鏈路容量為C的路徑中,所用時間ts為:
ts=L/C (2)
時間到達(dá)模型如下:
基礎(chǔ)模型,考慮到長度大的幀比長度小的幀需要更多的傳輸時間,因此整幀到達(dá)具有更高的相對延時。噪聲項代表了網(wǎng)絡(luò)抖動,其他延遲影響并為在本模型中給出。
當(dāng)以散點圖繪制函數(shù)di時,會發(fā)現(xiàn)大多數(shù)樣本點聚集在中心,其他偏離點則匯聚在截距為零斜率為1/C的直線上。使用視頻編碼器,產(chǎn)生的大部分編碼后的幀都有相同大小,但是關(guān)鍵幀例外,關(guān)鍵幀要比平均幀大,并且在關(guān)鍵幀前 后會產(chǎn)生正向偏離點和負(fù)向偏離點。音頻幀通常由單獨的等長度的包組成,音頻流中dL=0。
這里i-K+1≤j≤i是由攝像機采集近K幀中最大速率,α為濾波系數(shù),典型值為α∈[0.1 0.001]。由于在某些情況下我們簡單假設(shè)vi為高斯白噪聲隨機變量并不是精確的,所以我們引入了附加項。如果(協(xié)方差估計),濾波器將使用代替zi進行更新。當(dāng)數(shù)據(jù)報文以更高速率發(fā)送到通道鏈路時,隨機變量vi并不能被建模為隨機白噪聲,這種情況下數(shù)據(jù)報文會排隊緩存在隊列中。利用同樣的方式Qi被設(shè)計為主對角矩陣:
diag(Qi)=30/1000fmax[10-10 10-2]T
利用幀速率來測量是很有必要的,這使得帶寬過用探測器能夠在低幀率和高幀率一樣快速的響應(yīng)。
圖3描述了速率控制其劃分的3種狀態(tài),遞增、遞減和保持。遞增狀態(tài)是沒有檢測到擁塞,遞減狀態(tài)是檢測到擁塞,保持是在進入遞增狀態(tài)時內(nèi)嵌隊列被清空中。
首先系統(tǒng)將進入遞增狀態(tài),此狀態(tài)將持續(xù)到帶寬過用探測器檢測到過用帶寬或者少用帶寬,每次更新接收端可用帶寬估計會以一個因子增長,該因子為全局系統(tǒng)響應(yīng)時間和測量噪聲方差估計值的函數(shù)。全局系統(tǒng)響應(yīng)時間是從帶寬過用被檢測到最終由帶寬過用檢測器檢測到帶寬過用的時間間隔。協(xié)方差被用作為延遲指示器
這里B、b、d、c1和c2為預(yù)先設(shè)置的參數(shù)。
由于率控系統(tǒng)依靠通道帶寬過用來計算當(dāng)前可用帶寬評估,我們必須確保估計值不能偏離發(fā)送端的實際發(fā)送速率,因此,如果發(fā)送端不能產(chǎn)生接收端請求的相應(yīng)的碼率媒體流,那么可用帶寬就保持在一個給定的邊界內(nèi)。因此定義一個門限:
這里用T秒時間窗口測量出的輸入速率:
Ni是過去T秒接收到的幀數(shù)量,Lj是幀j的大小。
當(dāng)帶寬過用被觸發(fā)時,系統(tǒng)就轉(zhuǎn)移到遞減狀態(tài),接收端可用帶寬估計將會遞減到一個因子乘以當(dāng)前輸入比特率:
當(dāng)帶寬過用探測器觸發(fā)率控系統(tǒng)的帶寬少用狀態(tài)時,我們就知道網(wǎng)絡(luò)路徑中隊列中的數(shù)據(jù)正在被清空,這表明可用帶寬估計比實際可用帶寬低。
每當(dāng)接收端報告到來的時候,算法就會被運行,運行的時間間隔一般在Tmin_fb時間間隔內(nèi)和Tmax_fb時間間隔內(nèi),如果再2Tmax_fb時間間隔內(nèi)沒有接收到報告信息,這表明至少丟失兩個返回報告信息,那么算法會認(rèn)為在這段時間間隔內(nèi)的包已經(jīng)丟失,將發(fā)送速率減半:
●如果通過接收端的反饋報告信息,計算出2-10%丟包率,發(fā)送端可用帶寬Asi將保持不變;
●如果超過10%的丟包,可用帶寬估計將會被更新為Asi=Asi-1(1-0.5p),p是丟包率;
●如果丟包率低于2%,可用帶寬將會被更新為Asi=1.05(Asi-1+1000)。
新的發(fā)送端帶寬評估由TCP友好率控公式和接收端可用帶寬Ai所控制:
Asi≤Ai
b是ack包的數(shù)量,trto為超時時間,s為平均的包長度,R為環(huán)回時間。
當(dāng)接收端報告到來的時候,算法就會被運行,運行的時間間隔一般在Tmin_fb時間間隔內(nèi)和Tmax_fb時間間隔內(nèi),如果再2Tmax_fb時間間隔內(nèi)沒有接收到報告信息,這表明至少丟失兩個返回報告信息,那么算法會認(rèn)為在這段時間間隔內(nèi)的包已經(jīng)丟失,將發(fā)送速率減半:
●如果通過接收端的反饋報告信息,計算出2.5-10%丟包率,發(fā)送端可用帶寬Asi將保持不變;
●如果超過10%的丟包,可用帶寬估計將會被更新為Asi=Asi-1(1-0.7p),p 是丟包率;
●如果丟包率低于2.5%,可用帶寬將會被更新為Asi=1.07(Asi-1+1000)。
新的發(fā)送端帶寬評估由TCP友好率控公式和接收端可用帶寬Ai所控制:
Asi≤Ai
b是ack包的數(shù)量,trto為超時時間,s為平均的包長度,R為環(huán)回時間。
發(fā)送端帶寬估計值不會超過接收端帶寬估計值,不會低于TFRC公式計算出的帶寬估計值。
圖4描述了不同帶寬下,不同包長度和延遲的關(guān)系圖。本發(fā)明的基于虛擬傳輸協(xié)議的無線Ad Hoc網(wǎng)絡(luò)擁塞控制機制的核心就是精確估計帶寬,在此基礎(chǔ)上才能達(dá)到帶寬自適應(yīng),擁塞控制目的。通過對Ad hoc無線移動網(wǎng)絡(luò)設(shè)置固定帶寬l1:1mbps、l2:2mbps、l3:3mbps并設(shè)置丟包率為5%,網(wǎng)絡(luò)延遲為雙向延遲,單向延遲為5ms(接近互聯(lián)網(wǎng)延遲)。
以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi),本發(fā)明要求保護范圍由所附的權(quán)利要求書及其等效物界定。