黃 曼,程良倫
(廣東工業(yè)大學(xué)自動(dòng)化學(xué)院,廣州 510006)
隨著無(wú)線網(wǎng)絡(luò)技術(shù)的突破以及因特網(wǎng)業(yè)務(wù)的飛速發(fā)展,人們對(duì)通信業(yè)務(wù)的需求不再是單純的語(yǔ)音通話,越來(lái)越多地傾向于圖像、音頻、視頻等復(fù)雜的混合業(yè)務(wù),迫切需要將信息豐富的多媒體技術(shù)引入到無(wú)線傳感器網(wǎng)絡(luò)中,因此無(wú)線多媒體傳感器網(wǎng)絡(luò)(Wireless Multiple Sensor Networks,WMSNs)應(yīng)運(yùn)而生[1]。但是,目前的無(wú)線傳感器網(wǎng)絡(luò)仍存在嚴(yán)重的能量受限、帶寬資源約束、鏈路不穩(wěn)定、以及節(jié)點(diǎn)處理能力不夠強(qiáng)大等問(wèn)題,而多媒體數(shù)據(jù)的傳輸需要網(wǎng)絡(luò)具有更強(qiáng)的媒體傳輸能力,能否有效解決多媒體數(shù)據(jù)實(shí)時(shí)的傳輸問(wèn)題,是 WMSNs實(shí)用化的關(guān)鍵[2]。
無(wú)線多媒體傳感器網(wǎng)絡(luò)傳送的信息中包含實(shí)時(shí)的圖像、音頻或視頻等多媒體信息,必須提供一定的服務(wù)質(zhì)量(QoS)保證。QoS是網(wǎng)絡(luò)將用戶數(shù)據(jù)從源端傳到目的端的過(guò)程中必須滿足的一系列的服務(wù)要求,包括可用性、吞吐量、時(shí)延、時(shí)延抖動(dòng)、丟包率、能耗等參數(shù)[3]。無(wú)線多媒體傳感器網(wǎng)絡(luò)中,不同數(shù)據(jù)包重要性差別很大,應(yīng)該為不同應(yīng)用提供不同的QoS支持。目前支持QoS的路由協(xié)議可以分為非跨層協(xié)議和跨層協(xié)議。如 ACOGA[4]、TMQODR[5]、SPEED[6]均為非跨層協(xié)議。ACOGA協(xié)議結(jié)合了ACO和 GAS兩個(gè)算法,實(shí)現(xiàn)了動(dòng)態(tài) QoS路由。TMQODR協(xié)議具有QoS選路功能,根據(jù)業(yè)務(wù)流的QoS偏好選擇最合適的路徑,體現(xiàn)了區(qū)分服務(wù)的思想。但是這兩個(gè)協(xié)議均未考慮網(wǎng)絡(luò)的能量有效性問(wèn)題??鐚訁f(xié)議有 QSAP[7]、QBDSR[8]等。QSAP 協(xié)議是在多天線系統(tǒng)中,根據(jù)數(shù)據(jù)流的大小來(lái)自適應(yīng)地調(diào)節(jié)天線陣列,產(chǎn)生相應(yīng)數(shù)量的空間信道,從而達(dá)到QoS中的能耗要求。QBDSR協(xié)議將QoS策略、延時(shí)、丟包率、帶寬等參數(shù)加到RREQ包的包頭,節(jié)點(diǎn)可以根據(jù)這些信息選擇路由??鐚勇酚蓞f(xié)議相對(duì)于非跨層協(xié)議,在節(jié)點(diǎn)物理結(jié)構(gòu)和路由機(jī)制上的復(fù)雜性都有所增加,但是性能較好。
本文在研究SPEED協(xié)議的基礎(chǔ)上,改善設(shè)計(jì)了一種QoS保證的無(wú)線多媒體傳感器網(wǎng)絡(luò)實(shí)時(shí)路由協(xié)議(WMSNRR),主要保證QoS的實(shí)時(shí)性要求,在實(shí)時(shí)性和能量成本之間進(jìn)行有效折衷。該協(xié)議在路由發(fā)現(xiàn)過(guò)程中,充分考慮兩跳鄰居節(jié)點(diǎn)的剩余能量,避免“速率空洞”和“路由空洞”。同時(shí),采用一種基于緩存隊(duì)列長(zhǎng)度和節(jié)點(diǎn)收發(fā)數(shù)據(jù)率的控制方法,對(duì)不同業(yè)務(wù)進(jìn)行區(qū)分擁塞控制。該協(xié)議在能量有效性和數(shù)據(jù)實(shí)時(shí)傳輸性方面比SPEED協(xié)議有所提高,更適合無(wú)線多媒體傳感器網(wǎng)絡(luò)。
SPEED協(xié)議[6]是一個(gè)實(shí)時(shí)路由協(xié)議。在一定程度上實(shí)現(xiàn)了端到端的傳輸速率保證、網(wǎng)絡(luò)擁塞控制以及負(fù)載平衡機(jī)制。SPEED協(xié)議首先交換節(jié)點(diǎn)的傳輸延遲,以得到網(wǎng)絡(luò)負(fù)載情況,并判斷網(wǎng)絡(luò)是否發(fā)生擁塞。然后節(jié)點(diǎn)利用局部地理位置信息和傳輸速率信息作出路由決策。當(dāng)SNGF路由協(xié)議找不到滿足傳輸速率的下一跳節(jié)點(diǎn)時(shí),則通過(guò)鄰居反饋機(jī)制(neighborhood feedback loop,NFL)保證網(wǎng)絡(luò)傳輸速率在一個(gè)全局定義的傳輸速率閾值之上。同時(shí),SPEED協(xié)議還通過(guò)反向壓力路由變更機(jī)制來(lái)避免擁塞和路由空洞,使節(jié)點(diǎn)重新選擇合適的下一跳路由。
SPEED協(xié)議主要由以下四部分組成:
(1)延遲估計(jì)機(jī)制。延遲估計(jì)機(jī)制是用來(lái)得到網(wǎng)絡(luò)的負(fù)載情況,判斷網(wǎng)絡(luò)是否發(fā)生擁塞。將單跳延時(shí)來(lái)近似模擬當(dāng)前節(jié)點(diǎn)負(fù)載情況,而延遲主要分為兩部分,包括廣播延遲和單播延遲。通常使用單播數(shù)據(jù)包的延時(shí)來(lái)決定下一跳節(jié)點(diǎn)的選擇。單播數(shù)據(jù)包的延時(shí)是指發(fā)送節(jié)點(diǎn)將數(shù)據(jù)分組加上時(shí)間戳后發(fā)送給鄰居接收節(jié)點(diǎn),鄰居節(jié)點(diǎn)記錄收到數(shù)據(jù)分組到發(fā)出ACK的時(shí)間間隔,并將其作為一個(gè)字段加入ACK報(bào)文。發(fā)送節(jié)點(diǎn)接收到ACK報(bào)文后,從收發(fā)時(shí)間中減去接收節(jié)點(diǎn)的處理時(shí)間。由于數(shù)據(jù)包在空中傳播的時(shí)間很短,因此將其忽略不計(jì)。延時(shí)計(jì)算公式為:
式(1)中,α(0<α<1)為當(dāng)前延時(shí)的權(quán)重,用來(lái)權(quán)衡當(dāng)前測(cè)得的延時(shí)和前一時(shí)刻的延時(shí)的比重,從而求得當(dāng)前的平均延時(shí)。
(2)SNGF協(xié)議。SNGF協(xié)議用來(lái)選擇滿足傳輸速率要求的下一跳節(jié)點(diǎn)。該協(xié)議將下一跳候選節(jié)點(diǎn)分為兩組,第一組中節(jié)點(diǎn)的轉(zhuǎn)播速度大于給定的轉(zhuǎn)播速度Ssetpoint,第二組中節(jié)點(diǎn)的轉(zhuǎn)播速度則小于給定的轉(zhuǎn)播速度Ssetpoint。Ssetpoint依賴于應(yīng)用層的QoS要求以及節(jié)點(diǎn)自身的通訊能力,其范圍為:
式(2)中,R為節(jié)點(diǎn)的有效通訊半徑,T為網(wǎng)絡(luò)帶寬,L為數(shù)據(jù)包長(zhǎng)。
在選擇下一跳節(jié)點(diǎn)時(shí),通常使用第一組中的節(jié)點(diǎn)作為候選節(jié)點(diǎn)。選擇節(jié)點(diǎn)j(j為第一組中的節(jié)點(diǎn))的概率為:
式(3)中,Speedj為節(jié)點(diǎn)j的轉(zhuǎn)播速度,k為節(jié)點(diǎn)負(fù)載和傳輸延遲的折衷系數(shù)。K值越大,端到端的延遲越小。
(3)鄰居反饋策略。鄰居反饋策略是當(dāng)SNGF路由協(xié)議中找不到滿足傳輸速率的下一跳節(jié)點(diǎn)時(shí)采取的補(bǔ)償機(jī)制。定義當(dāng)傳輸一個(gè)數(shù)據(jù)包給鄰居節(jié)點(diǎn)的速率小于給定的轉(zhuǎn)播速度Ssetpoint,或者是由于碰撞造成的數(shù)據(jù)丟失為鄰居節(jié)點(diǎn)丟失率。數(shù)據(jù)鏈路層將鄰居節(jié)點(diǎn)丟失率信息反饋給轉(zhuǎn)播率控制器,由轉(zhuǎn)播率控制器給出決策。
(4)反向壓力路由變更機(jī)制。反向壓力路由變更機(jī)制用來(lái)避免擁塞和路由空洞。當(dāng)某個(gè)局部的節(jié)點(diǎn)負(fù)載較重時(shí),該局部節(jié)點(diǎn)的候選節(jié)點(diǎn)也將進(jìn)行標(biāo)記,在路由選擇時(shí),這些節(jié)點(diǎn)與負(fù)載較重的節(jié)點(diǎn)一樣,不作為路由的被選節(jié)點(diǎn),從而減小擁塞度。
(1)SPEED協(xié)議在路由發(fā)現(xiàn)時(shí),只考慮了節(jié)點(diǎn)的實(shí)時(shí)轉(zhuǎn)播速度,并沒(méi)有考慮到節(jié)點(diǎn)的剩余能量問(wèn)題。在選擇下一跳節(jié)點(diǎn)時(shí),通常只選擇轉(zhuǎn)播速度大于給定的轉(zhuǎn)播速度Ssetpoint的節(jié)點(diǎn)作為候選節(jié)點(diǎn)。這樣容易使得某些轉(zhuǎn)播速度較大的節(jié)點(diǎn)被選擇為傳播節(jié)點(diǎn)的次數(shù)較多,能量消耗過(guò)快,從而過(guò)早死亡,引起網(wǎng)絡(luò)拓?fù)渥兓?/p>
(2)SPEED協(xié)議在選擇下一跳節(jié)點(diǎn)時(shí),只考慮數(shù)據(jù)從當(dāng)前節(jié)點(diǎn)傳輸?shù)较乱惶?jié)點(diǎn)的速率大小。采用這種方式可能存在下面的這種情況:下一跳節(jié)點(diǎn)的鄰居節(jié)點(diǎn)集中所有的節(jié)點(diǎn)的數(shù)據(jù)傳輸速率非常小,小到幾乎為零時(shí),就會(huì)出現(xiàn)“速率空洞”現(xiàn)象。
(3)SPEED協(xié)議在出現(xiàn)擁塞現(xiàn)象時(shí),使用反向壓力信標(biāo)消息向上一跳節(jié)點(diǎn)報(bào)告擁塞,上一跳節(jié)點(diǎn)在路由時(shí)盡量避開(kāi)出現(xiàn)擁塞的節(jié)點(diǎn),另辟路徑。但是由于多媒體傳感器網(wǎng)絡(luò)主要針對(duì)的是大數(shù)據(jù)量、復(fù)雜媒體信息的獲取、處理和傳輸,需要對(duì)用戶的需求業(yè)務(wù)進(jìn)行區(qū)分。因此,SPEED中的反向壓力變更機(jī)制并不能完全直接應(yīng)用到無(wú)線多媒體傳感器網(wǎng)絡(luò)中。
考慮一個(gè)隨機(jī)部署的多媒體傳感器節(jié)點(diǎn)形成的網(wǎng)絡(luò),多媒體傳感器節(jié)點(diǎn)隨機(jī)部署在監(jiān)測(cè)區(qū)域內(nèi),其采集的數(shù)據(jù)沿著其他多媒體傳感器節(jié)點(diǎn)逐跳進(jìn)行傳輸,經(jīng)過(guò)多跳路由傳送到匯聚節(jié)點(diǎn),最后通過(guò)Internet網(wǎng)絡(luò)或通信衛(wèi)星到達(dá)控制中心。假設(shè):①匯聚節(jié)點(diǎn)位于一個(gè)方形觀測(cè)區(qū)域的外側(cè),節(jié)點(diǎn)和匯聚點(diǎn)部署后均不再移動(dòng);②所有節(jié)點(diǎn)同構(gòu),每個(gè)節(jié)點(diǎn)都有一個(gè)唯一的標(biāo)識(shí);③節(jié)點(diǎn)已知自己和匯聚節(jié)點(diǎn)的地理位置信息。
傳感器節(jié)點(diǎn)的絕大部分能量消耗在無(wú)線通信模塊,為了減少節(jié)點(diǎn)的通信能量消耗,WMSNRR協(xié)議在路由轉(zhuǎn)發(fā)策略中考慮兩跳鄰居節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)速率、剩余能量、地理位置等信息。除此之外,采用一種基于緩存隊(duì)列長(zhǎng)度和節(jié)點(diǎn)收發(fā)數(shù)據(jù)率的擁塞控制方法。該協(xié)議在能量有效性和數(shù)據(jù)實(shí)時(shí)傳輸性方面比SPEED協(xié)議有所提高。
定義1節(jié)點(diǎn)物理距離:節(jié)點(diǎn)間的實(shí)際直線距離。
定義2鄰居節(jié)點(diǎn):在節(jié)點(diǎn)i有效通信范圍內(nèi),且到目的節(jié)點(diǎn)Sink的物理距離小于節(jié)點(diǎn)i到Sink的物理距離。
為滿足WMSNs的特殊要求,WMSNRR協(xié)議主要在SPEED協(xié)議的路由決策和擁塞控制兩個(gè)方面進(jìn)行改善。
2.3.1 路由決策
WMSNRR協(xié)議在路由決策時(shí)仍先進(jìn)行延遲估計(jì),但是路由決策時(shí)不再只是將轉(zhuǎn)播速率作為唯一的參考標(biāo)準(zhǔn)。而是綜合考慮兩跳節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)播速率、剩余能量,地理位置等方面。在尋找路由時(shí),節(jié)點(diǎn)i首先廣播一個(gè)探測(cè)包,探測(cè)包包含該節(jié)點(diǎn)自身的位置信息和需要轉(zhuǎn)播的數(shù)據(jù)包的大小等,然后等待其鄰居節(jié)點(diǎn)的回復(fù)信息?;貜?fù)信息包括每個(gè)鄰居節(jié)點(diǎn)的ID號(hào)、剩余能量、延時(shí)、地理位置等。
假設(shè)當(dāng)前節(jié)點(diǎn)為i,目的節(jié)點(diǎn)為s,節(jié)點(diǎn)i的一跳鄰居節(jié)點(diǎn)j。dis為節(jié)點(diǎn)i到目的節(jié)點(diǎn)為s的物理距離,djs為節(jié)點(diǎn)j到目的節(jié)點(diǎn)的物理距離。節(jié)點(diǎn)j的轉(zhuǎn)播速率Speedj可表示為:
式(4)中,Delayij為節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的單跳延遲估計(jì)值。在Speed協(xié)議中,根據(jù)式(4)中的速率值來(lái)計(jì)算選擇節(jié)點(diǎn)j作為下一跳的概率。Speedj越大,選擇節(jié)點(diǎn)j的概率越大。但是,可能存在這種情況:節(jié)點(diǎn)j的轉(zhuǎn)播速率很大,因此選擇節(jié)點(diǎn)j作為下一跳節(jié)點(diǎn)。而節(jié)點(diǎn)j的所有鄰居節(jié)點(diǎn)鏈路質(zhì)量較差或者擁塞較嚴(yán)重,這時(shí)將沒(méi)有滿足節(jié)點(diǎn)j要求的下一跳節(jié)點(diǎn),會(huì)出現(xiàn)較嚴(yán)重的延時(shí)。
因此本文考慮兩跳節(jié)點(diǎn)的速率信息,即考慮節(jié)點(diǎn)j轉(zhuǎn)播速率的同時(shí),還考慮節(jié)點(diǎn)j的鄰居節(jié)點(diǎn)k的轉(zhuǎn)播速率。與式(4)原理相同,節(jié)點(diǎn)k的轉(zhuǎn)播速率為:
如果節(jié)點(diǎn)j和節(jié)點(diǎn)k的單跳延時(shí)一直處于較小狀態(tài),節(jié)點(diǎn)j和節(jié)點(diǎn)k可能一直被選擇為轉(zhuǎn)播節(jié)點(diǎn)。同時(shí),如果轉(zhuǎn)播的數(shù)據(jù)量較大,節(jié)點(diǎn)j和節(jié)點(diǎn)k攜帶的能量將很快被消耗完,處于死亡狀態(tài),甚至引起路由“空洞”。在延時(shí)參數(shù)限度內(nèi),當(dāng)數(shù)據(jù)包數(shù)量較大時(shí),不必要每次都選擇最大速度,可以對(duì)能耗和延時(shí)兩個(gè)參數(shù)進(jìn)行折衷考慮。因此,選擇節(jié)點(diǎn)j作為下一跳時(shí),不僅要考慮節(jié)點(diǎn)j自身的轉(zhuǎn)播速率、節(jié)點(diǎn)j的下一跳節(jié)點(diǎn)k的轉(zhuǎn)播速率,同時(shí)還要考慮節(jié)點(diǎn)j、k的剩余能量。選擇節(jié)點(diǎn)j的度量標(biāo)準(zhǔn)如下:
式(6)中,cj為選擇節(jié)點(diǎn)j作為下一跳的度量標(biāo)準(zhǔn)。w1為節(jié)點(diǎn)j的速率權(quán)重,w2為節(jié)點(diǎn)k的的速率權(quán)重,w1、w2滿足:w1+w2=1,且w1>w2。由于在第一跳鄰居節(jié)點(diǎn)轉(zhuǎn)播數(shù)據(jù)時(shí)間段內(nèi),第二跳鄰居節(jié)點(diǎn)可能出現(xiàn)被其它節(jié)點(diǎn)提前占用、或者自身感知到事件發(fā)生需要發(fā)送數(shù)據(jù)等新任務(wù),導(dǎo)致節(jié)點(diǎn)轉(zhuǎn)播速率降低,所以通常選擇第一跳鄰居節(jié)點(diǎn)的權(quán)重較大。Speedj、Speedk分別是通過(guò)式(4)、式(5)計(jì)算出來(lái)的節(jié)點(diǎn)j和節(jié)點(diǎn)k的轉(zhuǎn)播速率。Ej、Ek分別是節(jié)點(diǎn)j和節(jié)點(diǎn)k的剩余能量。α和β可以調(diào)整節(jié)點(diǎn)的剩余能量在節(jié)點(diǎn)度量標(biāo)準(zhǔn)函數(shù)中的比重。當(dāng)業(yè)務(wù)對(duì)延時(shí)要求非常高時(shí),α和β值應(yīng)調(diào)整到很小。反之,α和β值較大時(shí),網(wǎng)絡(luò)節(jié)點(diǎn)的能量消耗較均勻,出現(xiàn)路由空洞的情況減少。
節(jié)點(diǎn)j被選擇為下一跳節(jié)點(diǎn)的概率為:
式(7)中,Nj為鄰居節(jié)點(diǎn)集。k為節(jié)點(diǎn)負(fù)載和傳輸延遲的折衷系數(shù)。
圖1中,A為源節(jié)點(diǎn),F(xiàn)為Sink節(jié)點(diǎn),B、D為節(jié)點(diǎn)A的下一跳鄰居節(jié)點(diǎn),節(jié)點(diǎn)C為節(jié)點(diǎn)B的鄰居節(jié)點(diǎn),節(jié)點(diǎn)E為節(jié)點(diǎn)D的鄰居節(jié)點(diǎn)。根據(jù)上述路由機(jī)制,出現(xiàn)圖(1)所示的網(wǎng)絡(luò)狀況時(shí),節(jié)點(diǎn) B、C、D、E的轉(zhuǎn)播速率分別為:
取w1=0.6,w2=0.4,α、β 和k均為 0.5。計(jì)算得:
節(jié)點(diǎn)B和節(jié)點(diǎn) D分別將以0.43和0.57的概率被選擇為下一跳節(jié)點(diǎn)。
圖1 基于兩跳節(jié)點(diǎn)信息的路由
2.3.2 擁塞控制
擁塞導(dǎo)致的數(shù)據(jù)多次重傳,不僅使得網(wǎng)絡(luò)傳輸能力的下降,同時(shí)增加了網(wǎng)絡(luò)流量和節(jié)點(diǎn)的能耗[9]。因此,有效的擁塞控制策略是系統(tǒng)節(jié)能和減少延時(shí)的一個(gè)重要因素。相對(duì)于普通無(wú)線傳感器網(wǎng)絡(luò)而言,多媒體傳感器網(wǎng)絡(luò)由于其需要對(duì)大數(shù)據(jù)量、復(fù)雜媒體信息的獲取、處理和傳輸?shù)忍厥庑?,?duì)網(wǎng)絡(luò)擁塞控制的要求更加嚴(yán)格[10-11]。
本文采用了一種基于緩存隊(duì)列長(zhǎng)度和節(jié)點(diǎn)收發(fā)數(shù)據(jù)率的擁塞控制方法。該方法使用的前提是數(shù)據(jù)在發(fā)送之前,需要根據(jù)用戶需求進(jìn)行優(yōu)先級(jí)劃分,優(yōu)先級(jí)按照實(shí)時(shí)性到非實(shí)時(shí)性依次遞減。采用文獻(xiàn)[12]中的反饋機(jī)制,通過(guò)調(diào)整不同優(yōu)先級(jí)數(shù)據(jù)包的發(fā)送速率和丟包概率來(lái)達(dá)到預(yù)防和控制擁塞的目的。如果當(dāng)前節(jié)點(diǎn)緩沖器中的隊(duì)列長(zhǎng)度L小于Lmin,則說(shuō)明沒(méi)有任何的擁塞情況發(fā)生,通知上游節(jié)點(diǎn),將不同優(yōu)先級(jí)的數(shù)據(jù)發(fā)送速率按照同一比例增大。如果隊(duì)列長(zhǎng)度L處于Lmin和Lmax之間,屬于正常情況,這時(shí)上游節(jié)點(diǎn)按照優(yōu)先級(jí)的順序依次減少數(shù)據(jù)發(fā)送速率。當(dāng)隊(duì)列長(zhǎng)度L大于Lmax時(shí),說(shuō)明即將出現(xiàn)擁塞,應(yīng)按照一定比例減小兩種數(shù)據(jù)發(fā)送節(jié)點(diǎn)的發(fā)送速率。不同優(yōu)先級(jí)的分組數(shù)據(jù)發(fā)送速率可表示為式(8):
式(8)中,N表示優(yōu)先級(jí)數(shù)目;Pi(i=0,1…,N-1)表示分組的優(yōu)先級(jí),且優(yōu)先級(jí)高低順序?yàn)镻0>P1>…>PN-1;V為數(shù)據(jù)包的平均發(fā)送速率;L為節(jié)點(diǎn)當(dāng)前緩沖區(qū)隊(duì)列長(zhǎng)度;Lmin:為緩沖區(qū)的下限閥值;Lmax為緩沖區(qū)的上限閥值;k和α均為速率參數(shù),1<k<vmax/v,0<α<1,vmax為最大發(fā)送速率。當(dāng)節(jié)點(diǎn)當(dāng)前的隊(duì)列長(zhǎng)度L>Lmax+l時(shí)(l為緩沖隊(duì)列裕量),節(jié)點(diǎn)出現(xiàn)了擁塞。如果該節(jié)點(diǎn)的數(shù)據(jù)發(fā)送速率大于數(shù)據(jù)接收速率,則減小上游節(jié)點(diǎn)的發(fā)送速率仍達(dá)不到消除擁塞的目的。此時(shí),采用一定概率進(jìn)行丟包。優(yōu)先級(jí)為Pi的分組丟包概率為i/N,優(yōu)先級(jí)越高,丟包概率越小。反之,優(yōu)先級(jí)越低,丟包概率越大。
仿真工具采用 NS2和 MATLAB,仿真平臺(tái)在Linux系統(tǒng)下搭建。由于實(shí)際應(yīng)用中,受到監(jiān)測(cè)環(huán)境、監(jiān)測(cè)要求等因素的影響,視頻、音頻等多媒體信號(hào)采集節(jié)點(diǎn)通常是隨機(jī)的非均勻部署。因此,本實(shí)驗(yàn)將50個(gè)節(jié)點(diǎn)非均勻地分布在100×100的區(qū)域內(nèi),節(jié)點(diǎn)的坐標(biāo)使用正太分布產(chǎn)生的隨機(jī)數(shù)確定。節(jié)點(diǎn)的通信范圍為40 m,每個(gè)節(jié)點(diǎn)的初始能量為1 J。在相同的節(jié)點(diǎn)分布條件下,對(duì)SPEED協(xié)議和WMSNRR協(xié)議進(jìn)行實(shí)驗(yàn)對(duì)比分析。主要從以下2個(gè)方面來(lái)評(píng)估WMSNRR協(xié)議的性能。
從圖2可以看出,在能量開(kāi)銷方面,WMSNRR協(xié)議比SPEED協(xié)議更加節(jié)能。原因在于WMSNRR協(xié)議在路由選擇過(guò)程中,因考慮了兩跳節(jié)點(diǎn)的信息,及時(shí)發(fā)現(xiàn)路由空洞,避免了一些因路由空洞造成的數(shù)據(jù)丟失或重傳帶來(lái)的能量開(kāi)銷。其次,采用了基于分組優(yōu)先級(jí)的丟包策略,在發(fā)生數(shù)據(jù)擁塞時(shí),減少了可丟棄的分組多次重傳消耗的能量。
圖2 能量消耗
圖3中,WMSNs網(wǎng)絡(luò)使用 WMSNRR協(xié)議比SPEED協(xié)議時(shí)壽命更長(zhǎng),節(jié)點(diǎn)死亡時(shí)間延長(zhǎng)。WMSNRR協(xié)議在選擇路由時(shí),將節(jié)點(diǎn)的剩余能量作為一個(gè)考慮因素,避免速率較大的節(jié)點(diǎn)一直處于數(shù)據(jù)分組的接收與轉(zhuǎn)發(fā)狀態(tài)。因?yàn)椴糠株P(guān)鍵路徑上的節(jié)點(diǎn)過(guò)早死亡,對(duì)后續(xù)的重要數(shù)據(jù)的傳輸以及整個(gè)網(wǎng)絡(luò)的壽命影響較大。
圖3 網(wǎng)絡(luò)壽命
WMSNRR協(xié)議與SPEED協(xié)議在時(shí)延性能方面比較結(jié)果如圖4,在數(shù)據(jù)分組較小時(shí),WMSNRR協(xié)議的優(yōu)越性并不十分明顯,而在數(shù)據(jù)分組超過(guò)一定值后,WMSNRR協(xié)議的時(shí)延性能大幅度提高。因?yàn)樵跀?shù)據(jù)包發(fā)送速率增大到一定數(shù)值后,部分節(jié)點(diǎn)會(huì)出現(xiàn)擁塞現(xiàn)象,WMSNRR協(xié)議的擁塞控制發(fā)揮了明顯的作用?;诜纸M優(yōu)先級(jí)信息的丟包控制策略,及時(shí)丟棄低優(yōu)先級(jí)的數(shù)據(jù)分組,保證重要數(shù)據(jù)及時(shí)達(dá)到目的節(jié)點(diǎn)。
圖4 數(shù)據(jù)傳輸延遲
本文提出了一種QoS保證的無(wú)線多媒體傳感器網(wǎng)絡(luò)實(shí)時(shí)路由協(xié)議(WMSNRR)。該協(xié)議在路由決策時(shí),在保證端到端的傳輸速率基礎(chǔ)上,不僅充分考慮兩跳鄰居節(jié)點(diǎn)的轉(zhuǎn)播速率信息,盡量避免“路由空洞”和“速率空洞”的發(fā)生,同時(shí)還考慮兩跳鄰居節(jié)點(diǎn)的剩余能量,避免一些關(guān)鍵路徑上的轉(zhuǎn)播速率大的節(jié)點(diǎn)過(guò)早死亡,造成網(wǎng)絡(luò)拓?fù)浒l(fā)生變化。此外,本文還采用一種基于緩存隊(duì)列長(zhǎng)度和節(jié)點(diǎn)收發(fā)數(shù)據(jù)率的擁塞控制方法,對(duì)不同業(yè)務(wù)進(jìn)行區(qū)分管理和擁塞控制,保證QoS的實(shí)時(shí)性和準(zhǔn)確性等要求。仿真實(shí)驗(yàn)表明,該路由協(xié)議在實(shí)時(shí)服務(wù)和能量開(kāi)銷等方面具有較好的性能。
[1]Wang Chong-gang,LiBo,Kazem Sohraby,etal.Upstream Congestion Control in Wireless Sensor Networks Through Cross-Layer Optimization[J].IEEE Journal on Selected Areas in Communications,2007,25(4):786-795.
[2]張正宜,金心宇.無(wú)線多媒體傳感器網(wǎng)絡(luò)實(shí)時(shí)任務(wù)分配算法[J].傳感技術(shù)學(xué)報(bào),2009,22(5):688-693.
[3]Luis Cobo,Alejandro Quintero,Samuel Pierre.Ant-Based Routing for Wireless Multimedia Sensor Networks Using Multiple Qos Metrics[J].Computer Networks,2010,54(17):2991-3020.
[4]崔夢(mèng)天,鐘勇,趙海軍,等.ACOGA算法的多媒體網(wǎng)絡(luò)QoS實(shí)現(xiàn)[J].電子科技大學(xué)學(xué)報(bào),2009,38(2):266-269.
[5]郭攀紅,楊揚(yáng),唐先明,等.基于業(yè)務(wù)流偏好的多QoS目標(biāo)決策分層路由研究[J].計(jì)算機(jī)科學(xué),2010,37(6):56-59.
[6]He Tian,Stankovic J A,Lu Chenyang,et al.A Spatiotemprol Communication Protocol for Wireless Sensor Networks[J].IEEE Trans.on Parallel and Distributed Systems,2005,16(10):995-1006.
[7]Mundarath J C,Ramanathan P,Van Veen B D.A Quality of Service AwareCross-LayerApproach forWirelessAd Hoc Networks with Smart Antennas[J].Ad Hoc Networks,2009,7(5):891-903.
[8]Keming Du,Yilin Chang,Bin Li.DSR-Based Cross-Layer QoS Design in Ad Hoc Networks[C]//Communications and Intelligence Information Security(ICCIIS),2010,224-227.
[9]趙永輝,史浩山.基于云模型的無(wú)線傳感器網(wǎng)絡(luò)擁塞及速率控制策略[J].傳感技術(shù)學(xué)報(bào),2010,23(1):133-138.
[10]Mohammad Hossein Yaghmaee,Donald A.Priority-Based Rate Control for Service Differentiation and Congestion Control in Wireless Multimedia Sensor Networks[J].Computer Networks,2009,53(11):1798-1811.
[11]Sinan Isik,Mehmet Yunus Donmez,Cem Ersoy.Cross Layer Load Balanced Forwarding Schemes for Video Sensor Networks[J].Ad Hoc Networks,2011,9(3):265-284.
[12]吳國(guó)偉,張巖.無(wú)線傳感器網(wǎng)絡(luò)中的逐跳跨層擁塞控制[J].計(jì)算機(jī)工程,2010,36(16):108-115.