武海生,王貴錦,王子秋,林行剛
(清華大學(xué) 電子工程系,北京 100084)
無(wú)線自組織網(wǎng)(Wireless Ad Hoc Networks)是一種無(wú)中心的對(duì)等式網(wǎng)絡(luò),和傳統(tǒng)的網(wǎng)絡(luò)相比,它具有自組織、多跳路由和動(dòng)態(tài)拓?fù)涞忍攸c(diǎn)。具有Ad Hoc功能的終端之間很容易實(shí)現(xiàn)網(wǎng)絡(luò)的組建,是下一代無(wú)線網(wǎng)絡(luò)的重要組成部分。但由于無(wú)線自組織網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)經(jīng)常發(fā)生變化,加上無(wú)線信道自身的不穩(wěn)定、易被干擾等特性,使得視頻通信這種需要高帶寬、低延時(shí)、小抖動(dòng)的數(shù)據(jù)業(yè)務(wù)難以在網(wǎng)絡(luò)上展開(kāi),因此設(shè)計(jì)保障視頻通信服務(wù)質(zhì)量(QoS)的方法很重要,并且對(duì)無(wú)線自組織網(wǎng)絡(luò)上進(jìn)行的其他數(shù)據(jù)業(yè)務(wù)也具有借鑒意義。
由于缺乏中心控制,有線網(wǎng)和無(wú)線局域網(wǎng)(WLAN)上已經(jīng)比較成熟的QoS保障方法不能直接應(yīng)用于無(wú)線自組織網(wǎng)絡(luò)。目前無(wú)線自組織網(wǎng)絡(luò)上針對(duì)視頻通信的QoS保障方法主要分為兩大類(lèi),其中一類(lèi)采用跨層設(shè)計(jì)的方法,結(jié)合應(yīng)用層、傳輸層和鏈路層的特點(diǎn),通過(guò)低層的鏈路信息來(lái)調(diào)節(jié)頂層信源編碼速率、數(shù)據(jù)發(fā)送速率等參數(shù),從而達(dá)到QoS保障的目的[1],但這類(lèi)方法僅考慮自身及上行鏈路的質(zhì)量,是一種局部控制的方法;另一類(lèi)方法通過(guò)節(jié)點(diǎn)之間互相傳遞本地的鏈路狀況來(lái)獲得全局信息,網(wǎng)絡(luò)中各節(jié)點(diǎn)根據(jù)本地和網(wǎng)絡(luò)內(nèi)其他相關(guān)節(jié)點(diǎn)的信息來(lái)調(diào)節(jié)自身的數(shù)據(jù)發(fā)送速率等參數(shù)[2-3],這種方法的缺陷在于網(wǎng)絡(luò)開(kāi)銷(xiāo)龐大,反應(yīng)速度慢,而且當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí)這些控制信息也容易發(fā)生丟失,視頻通信的QoS得不到保障。
GSM網(wǎng)絡(luò)作為一種成熟的網(wǎng)絡(luò)應(yīng)用具有網(wǎng)絡(luò)覆蓋范圍大、延時(shí)小、服務(wù)質(zhì)量高等特點(diǎn),這些特點(diǎn)彌補(bǔ)了無(wú)線自組織網(wǎng)絡(luò)的缺陷[4]。筆者利用GSM網(wǎng)絡(luò)作為中心節(jié)點(diǎn)來(lái)控制調(diào)節(jié)無(wú)線自組織網(wǎng)絡(luò)上進(jìn)行的視頻通信業(yè)務(wù),帶來(lái)的好處有:1)及時(shí)高效,保障視頻通信QoS的控制信令,通過(guò)GSM網(wǎng)絡(luò)傳輸,可靠且延時(shí)小,不受信道變化的無(wú)線自組織網(wǎng)絡(luò)影響,幾乎可同時(shí)對(duì)業(yè)務(wù)發(fā)起端和各個(gè)中繼點(diǎn)進(jìn)行調(diào)整控制,同時(shí)控制信令不占用數(shù)據(jù)傳輸帶寬;2)中心控制節(jié)點(diǎn)可以通過(guò)各用戶終端的信息得到整條數(shù)據(jù)業(yè)務(wù)鏈上的網(wǎng)絡(luò)狀況,從而制定更加有效合理的控制方式。
筆者提出的QoS保障方法整體框架如圖1所示。
圖1 視頻通信QoS保障方法整體框圖
方法的總體流程如下:客戶端節(jié)點(diǎn)(無(wú)線自組織網(wǎng)絡(luò)節(jié)點(diǎn))定期上報(bào)信道質(zhì)量和擁塞狀況,中心服務(wù)器(GSM網(wǎng)絡(luò)節(jié)點(diǎn))根據(jù)上報(bào)信息對(duì)整個(gè)網(wǎng)絡(luò)和數(shù)據(jù)業(yè)務(wù)路由的狀況做出判斷,對(duì)于輕度的網(wǎng)絡(luò)擁塞和抖動(dòng),服務(wù)器對(duì)業(yè)務(wù)的源端進(jìn)行速率控制;當(dāng)網(wǎng)絡(luò)狀況持續(xù)惡化,現(xiàn)有路由不能再支持業(yè)務(wù)的最低帶寬要求時(shí),服務(wù)器通知業(yè)務(wù)源端重新尋找路由并上報(bào),服務(wù)器對(duì)比新路由質(zhì)量和原有路由質(zhì)量來(lái)決定業(yè)務(wù)是否更換路由。
根據(jù)QoS控制的需求設(shè)計(jì)相應(yīng)的信令,主要分為客戶端的信息上報(bào)信令和服務(wù)器端的控制信令兩大類(lèi)。其中,信息上報(bào)信令包括本地網(wǎng)絡(luò)狀況上報(bào)信令和新路由發(fā)現(xiàn)上報(bào)信;控制信令包括速率調(diào)整信令、重新發(fā)現(xiàn)新路由信令和更改路由信令。
客戶端從動(dòng)作上分為兩類(lèi),一類(lèi)是視頻業(yè)務(wù)的發(fā)起端,主要?jiǎng)幼魇歉鶕?jù)中心節(jié)點(diǎn)的指令調(diào)整數(shù)據(jù)發(fā)送速率或重新尋找路由,并將相應(yīng)的一些參數(shù)和路由查詢結(jié)果上報(bào)給中心服務(wù)器;一類(lèi)是數(shù)據(jù)業(yè)務(wù)的中繼節(jié)點(diǎn),主要?jiǎng)幼魇嵌ㄆ谏蠄?bào)本地鏈路質(zhì)量(如可用帶寬等)以及是否發(fā)生擁塞。
視頻通信發(fā)起客戶端動(dòng)作如下:在啟動(dòng)一項(xiàng)新的視頻通信業(yè)務(wù)時(shí)上報(bào)編號(hào)、當(dāng)前的發(fā)送速率及所能容忍的最低發(fā)送速率。當(dāng)接收到中心服務(wù)器調(diào)整速率的指令時(shí),按照中心服務(wù)器的指令相應(yīng)的增大或降低發(fā)送速率,并將調(diào)整后的發(fā)送速率報(bào)告給中心服務(wù)器。當(dāng)接收到中心服務(wù)器重新尋找路由的指令時(shí),保持當(dāng)前應(yīng)用的路由不變,同時(shí)將中心服務(wù)器給出的瓶頸節(jié)點(diǎn)的IP屏蔽后,尋找另一條新路由。若未找到新路由,則通知中心服務(wù)器未能找到新路由;若找到新路由,則發(fā)送探測(cè)包測(cè)量路由帶寬,然后將這條新路由及相應(yīng)的帶寬上報(bào)給中心服務(wù)器,等待通知。若得到中心服務(wù)器更改路由的通知,則將此視頻通信的路由更改到新路由上來(lái)發(fā)送;若得到中心服務(wù)器不更改路由的通知,則不改變路由,并將此情況上報(bào)給本地應(yīng)用層等待相應(yīng)處理(繼續(xù)降低發(fā)送速率或停止視頻通信)。
中繼客戶端動(dòng)作如下:實(shí)時(shí)測(cè)量所有上一跳節(jié)點(diǎn)到本節(jié)點(diǎn)的鏈路帶寬,并根據(jù)鏈路帶寬和實(shí)際承擔(dān)的業(yè)務(wù)量計(jì)算出鏈路可用帶寬,同時(shí)記錄下這條鏈路所承載的所有視頻通信業(yè)務(wù)的編號(hào),將這些信息定期上報(bào)給中心服務(wù)器。
中心服務(wù)器要記錄每個(gè)應(yīng)用的編號(hào)、相應(yīng)的路由、當(dāng)前發(fā)送速率及所能容忍的最低發(fā)送速率。若有節(jié)點(diǎn)通知中心服務(wù)器該節(jié)點(diǎn)發(fā)生擁塞,則向所有經(jīng)過(guò)該節(jié)點(diǎn)的路由所對(duì)應(yīng)的應(yīng)用發(fā)端發(fā)出降低發(fā)送速率的指令。若暫無(wú)節(jié)點(diǎn)發(fā)生擁塞,則根據(jù)每個(gè)應(yīng)用對(duì)應(yīng)路由上各節(jié)點(diǎn)上報(bào)的信息,計(jì)算該路由為該應(yīng)用所能提供的帶寬和剩余帶寬。若剩余帶寬大于帶寬的20%,則向視頻通信的源端發(fā)出提高發(fā)送速率的指令;若剩余帶寬小于帶寬的20%,則向源端發(fā)出降低發(fā)送速率的指令。若帶寬小于發(fā)端所能容忍的最低發(fā)送速率,則向發(fā)端發(fā)出重新尋找路由的指令,同時(shí)將這條路由上瓶頸節(jié)點(diǎn)的IP通知給發(fā)端,并等待發(fā)端尋找新路由的結(jié)果。若發(fā)端通知中心服務(wù)器未能找到新路由,則中心服務(wù)器向發(fā)端發(fā)送不更改路由指令;若發(fā)端找到新路由,則中心服務(wù)器將新路由的帶寬與原路由帶寬進(jìn)行比較。如果新路由帶寬大于原路由帶寬且大于該視頻通信所能容忍的最低發(fā)送速率,中心服務(wù)器向發(fā)端發(fā)出更改路由的指令。否則,中心服務(wù)器向發(fā)端發(fā)出不更改路由的指令。
每個(gè)客戶端上行鏈路的可用帶寬是整個(gè)QoS控制中重要的參數(shù),中心服務(wù)器需要根據(jù)它來(lái)制定速率調(diào)整和路由重新選擇的策略。文中帶寬測(cè)量方法采用文獻(xiàn)[5]中的單探測(cè)包測(cè)量方法:在發(fā)送端發(fā)送不同長(zhǎng)度的探測(cè)數(shù)據(jù)包,在接收端計(jì)算每個(gè)數(shù)據(jù)包的延時(shí),在理想情況下這些延時(shí)將成直線分布,該直線斜率的倒數(shù)就是整條路由的帶寬,如式(1)和圖2所示
式中:P為數(shù)據(jù)包長(zhǎng),L為固定延時(shí),T為每個(gè)包的總延時(shí),B為帶寬。
這種帶寬測(cè)量方法簡(jiǎn)單,網(wǎng)絡(luò)開(kāi)銷(xiāo)小,但受節(jié)點(diǎn)間時(shí)間同步的影響一般誤差較大,在本文的混合網(wǎng)絡(luò)結(jié)構(gòu)下,無(wú)線自組織網(wǎng)絡(luò)中的各個(gè)用戶節(jié)點(diǎn)可以通過(guò)GSM中心服務(wù)器進(jìn)行時(shí)間同步,從而減少時(shí)間同步對(duì)測(cè)量結(jié)果的影響。
圖2 帶寬測(cè)量示意圖
速率控制方法是通過(guò)測(cè)量得到的網(wǎng)絡(luò)狀況參數(shù),主要是帶寬和擁塞狀況,來(lái)決定客戶端視頻編碼的量化參數(shù)和幀率。首先通過(guò)調(diào)整量化參數(shù)微調(diào)數(shù)據(jù)發(fā)送速率來(lái)適應(yīng)當(dāng)前帶寬,當(dāng)量化參數(shù)連續(xù)變化時(shí),說(shuō)明信道急劇變化,這時(shí)通過(guò)調(diào)整視頻的幀率來(lái)大幅度調(diào)節(jié)數(shù)據(jù)發(fā)送速率。
3.4.1 擁塞出現(xiàn)后的速率調(diào)整策略
根據(jù)丟包率可以判斷網(wǎng)絡(luò)擁塞的狀況,針對(duì)視頻通信業(yè)務(wù)的特點(diǎn),當(dāng)網(wǎng)絡(luò)擁塞之后并不馬上大幅降低數(shù)據(jù)發(fā)送速率,允許一定限度的丟包,盡量保證包發(fā)送速率平穩(wěn),抖動(dòng)小,發(fā)送不中斷。只有在網(wǎng)絡(luò)發(fā)生重度擁塞時(shí)才進(jìn)行相應(yīng)的速率調(diào)整,速率調(diào)整策略如式(2)所示,其中Rmin為視頻通信所能容忍的最低發(fā)送速率,Rprev為調(diào)整前數(shù)據(jù)發(fā)送速率。
3.4.2 恢復(fù)階段的速率調(diào)整策略
當(dāng)擁塞情況緩解后,速率調(diào)整遵循以下原則:避免擁塞再次出現(xiàn),保證速率可以較快增長(zhǎng)到較高值。速率調(diào)整公式為
式中:Rcongs是前次擁塞發(fā)生時(shí)的發(fā)送速率,α是和式增加因子,0.1和0.99是經(jīng)驗(yàn)值。
3.4.3 量化參數(shù)變化策略
量化參數(shù)的改變首先是目前的數(shù)據(jù)發(fā)送速率和幀率計(jì)算幀長(zhǎng)度,即
式中:R為當(dāng)前網(wǎng)絡(luò)狀況下數(shù)據(jù)發(fā)送速率;n為幀率;m為I幀間隔;4.3為經(jīng)驗(yàn)值。然后根據(jù)P幀長(zhǎng)度選擇量化參數(shù),這里采用的模型是
式中:L 為 P 幀長(zhǎng)度;q 為采用的量化參數(shù);MAD(f,fref)為當(dāng)前幀與參考幀之間的平均絕對(duì)偏差;α,β,γ為經(jīng)驗(yàn)值。對(duì)于每一個(gè)即將編碼為P幀的圖像,計(jì)算出這幀圖像與參考幀之間的平均絕對(duì)偏差和當(dāng)前帶寬所允許的該P(yáng)幀的長(zhǎng),從而確定出最優(yōu)量化參數(shù)。
3.4.4 幀率變化策略
幀率的變化調(diào)整不能過(guò)于頻繁,否則容易造成抖動(dòng),影響用戶主觀質(zhì)量。本方法中幀率變化的策略為計(jì)算過(guò)去一個(gè)GoP(Group of Picture)中各幀的量化參數(shù)的變化情況,當(dāng)量化參數(shù)變化劇烈時(shí)調(diào)整幀率。
筆者搭建了一個(gè)包含10個(gè)客戶端節(jié)點(diǎn)和1個(gè)中心服務(wù)器的測(cè)試平臺(tái)。其中10個(gè)客戶端節(jié)點(diǎn)組成一個(gè)無(wú)線自組織網(wǎng)絡(luò),每個(gè)客戶端節(jié)點(diǎn)安裝IEEE802.11b/g網(wǎng)卡和GSM上網(wǎng)卡,分別用于進(jìn)行數(shù)據(jù)業(yè)務(wù)通信和控制信令通信,中心服務(wù)器安裝GSM上網(wǎng)卡,模擬GSM基站功能,實(shí)現(xiàn)對(duì)無(wú)線自組織網(wǎng)絡(luò)的控制功能。測(cè)試視頻通過(guò)攝像頭實(shí)時(shí)采集編碼傳輸,傳輸視頻分辨力為320×240,幀率根據(jù)信道情況可在5~30 f/s(幀/秒)進(jìn)行自適應(yīng)調(diào)整。
在測(cè)試平臺(tái)上分別對(duì)1路視頻的2跳、4跳、5跳通信,和2路有交叉路由的視頻通信進(jìn)行了實(shí)驗(yàn)。部分實(shí)驗(yàn)結(jié)果如圖3、圖4所示。
圖3 1路視頻路由跳數(shù)變化后幀率變化情況
圖4 2路視頻交叉和斷開(kāi)情況下P幀編碼長(zhǎng)度變化
圖3顯示了當(dāng)視頻通信過(guò)程中由于距離變化造成路由跳數(shù)變化的情況下視頻幀率的變化情況,可以看到本文所提方法可以根據(jù)信道帶寬的變化調(diào)整源端的數(shù)據(jù)發(fā)送速率,并且調(diào)整效果不會(huì)造成數(shù)據(jù)發(fā)送速率的劇烈變化,影響用戶的主觀感受。
圖4顯示了當(dāng)2路視頻發(fā)生交叉和斷開(kāi)交叉時(shí)P幀編碼長(zhǎng)度的變化情況??梢钥吹疆?dāng)2路視頻交叉時(shí)發(fā)生擁塞,信道急劇惡化,本文所提方法可以馬上對(duì)擁塞作出反應(yīng),調(diào)節(jié)信源編碼長(zhǎng)度,同時(shí)通知源端重新發(fā)現(xiàn)路由,當(dāng)擁塞問(wèn)題解決后,源端編碼效率立即恢復(fù)。
所有實(shí)驗(yàn)均給出了較為滿意的結(jié)果,表明該方法可以有效地減少信道及路由變化對(duì)視頻通信造成的抖動(dòng)等影響,為無(wú)線自組織網(wǎng)絡(luò)上進(jìn)行視頻通信提供了有效的QoS保障。
筆者提出了一種結(jié)合GSM和無(wú)線自組織網(wǎng)絡(luò)兩者特點(diǎn)的視頻通信QoS保障方法。通過(guò)可靠的GSM網(wǎng)絡(luò)信道來(lái)傳遞控制信令,實(shí)現(xiàn)高速有效的QoS控制,為無(wú)線自組織網(wǎng)絡(luò)上的視頻通信提供保障。本文中的方法基于現(xiàn)有的技術(shù)和硬件條件,應(yīng)用于對(duì)QoS要求更為苛刻的視頻通信中,因此可滿足實(shí)際應(yīng)用并能擴(kuò)展到Ad Hoc網(wǎng)絡(luò)上運(yùn)行的其他數(shù)據(jù)業(yè)務(wù)中。
[1]QU Q,APPUSWAMY R,CHAN Y S.QoS guarantee and provisioning for real-time digital video over mobile Ad Hoc CDMA networks with cross-layer design[J].IEEE Wireless Communications,2006(10):82-88.
[2]YANG Yaling,KRAVETS R.Distributed QoS guarantees for realtime traffic in Ad Hoc networks[C]//Proc.IEEE Sensor and Ad Hoc Communications and Networks.[S.l.]:IEEE Press,2004:118-127.
[3]方旭明,朱曉東,姚忠輝,等.一種無(wú)線網(wǎng)絡(luò)的二層擁塞控制方法∶中國(guó),200610098583.1[P].2008-01-02.
[4]BHARGAVA B,WU Xiaoxin,LU Yi,et al.Integrating heterogeneous wireless technologies∶a cellular aided mobile Ad Hoc network (CAMA)[J].Mobile Networks and Applications,2004,9(4):393-408.
[5]DOWNEY A B.Using pathchar to estimate internet link characteristics[C]//Proc.ACM SIGCCOM.New York:ACM,1999,29(4):241-250.