楊 惠, 高 翔
(1.蘭州文理學(xué)院 傳媒工程學(xué)院,甘肅 蘭州 730000;2.蘭州文理學(xué)院 數(shù)字媒體學(xué)院,甘肅 蘭州 730000)
截止現(xiàn)在,M-WSNs技術(shù)被大量地應(yīng)用在醫(yī)療健康監(jiān)測、車輛跟蹤等方面[1-2].它們都有一個(gè)明顯的特征,那就是靈活可移動.以此看來,M-WSNs中存在的節(jié)點(diǎn)一定要跟上拓?fù)涞淖儎?,這會導(dǎo)致節(jié)點(diǎn)的功耗增加[3].M-WSNs自身的功能效用影響節(jié)點(diǎn)的使用期限.減小節(jié)點(diǎn)的損耗和提升效率的一個(gè)關(guān)鍵方法是利用休眠-喚醒體系[4].在能效問題之外,還有M-WSNs的令人矚目的方向,即對節(jié)點(diǎn)的移動研究.但是M-WSNs的節(jié)點(diǎn)面臨的問題就是如何解決節(jié)點(diǎn)的移動性.
一般通過路由表來輸送信息的是傳統(tǒng)路由協(xié)議.但在互聯(lián)網(wǎng)信息時(shí)代很難創(chuàng)建和維護(hù)路由表[5].互聯(lián)網(wǎng)背景下的動態(tài)拓?fù)涑霈F(xiàn)幾率非常大,創(chuàng)建具有動態(tài)拓?fù)涞穆酚杀肀容^困難,甚至創(chuàng)建路由表也會提升節(jié)點(diǎn)的功耗.
大量研究人員投身于M-WSNs的能效路由發(fā)掘.并且在一維隊(duì)列網(wǎng)絡(luò)上,就達(dá)成最小化能耗做了剖析,為了使節(jié)點(diǎn)應(yīng)用更加高效,使得互聯(lián)網(wǎng)使用期限延長[6].在一些研究中提出節(jié)點(diǎn)是可以預(yù)測并且恒定的[7],還有研究在M-WSNs基礎(chǔ)上建立了能效-可靠路由體系[8],這個(gè)體系是層次-簇體系,所有的簇都具有簇頭,并且對簇內(nèi)節(jié)點(diǎn)的信息運(yùn)送進(jìn)行管控,缺點(diǎn)是這個(gè)體系在高數(shù)據(jù)率互聯(lián)網(wǎng)里無法發(fā)揮作用.
一些研究[9]在RPL基礎(chǔ)上,通過電暈反應(yīng)解決移動環(huán)境.這個(gè)體系會對一樣的控制信息進(jìn)行循環(huán),使得控制消耗明顯減小.它存在的局限性是在M-WSNs中表現(xiàn)不理想,無法匹配M-WSNs需要的服務(wù)質(zhì)量(Quality of Service, QoS).
總結(jié)上述研究,建立了在接觸時(shí)間基礎(chǔ)上的區(qū)路由(CTAR).CTAR體系在區(qū)概念基礎(chǔ)上減小了能量耗損.但也有限制,即只能是處于這個(gè)區(qū)域里的節(jié)點(diǎn)才能加入,當(dāng)區(qū)外的節(jié)點(diǎn)加進(jìn)來時(shí)就會進(jìn)行休眠,以達(dá)到減小節(jié)點(diǎn)能耗的目的.通過接觸時(shí)間進(jìn)行下一跳轉(zhuǎn)節(jié)點(diǎn)的選取手段,路由穩(wěn)定性有了極大增強(qiáng),最后增強(qiáng)數(shù)據(jù)包傳輸率.數(shù)值分析結(jié)果表明,提出的CTAR協(xié)議有效地提高了數(shù)據(jù)包傳遞率.
假設(shè)一種情況,即傳感網(wǎng)絡(luò)采取M個(gè)移動節(jié)點(diǎn)組件,它們在A區(qū)域里無規(guī)律散布.當(dāng)i移動節(jié)點(diǎn)的速度設(shè)為?i時(shí),且i=1,2,…,M.而基站的位置顯示方式是(xb,yb).具體到所有的節(jié)點(diǎn)都在休眠-喚醒體系中,達(dá)到能耗減小的目的.然后假定全部節(jié)點(diǎn)休眠時(shí)間是T,喚醒時(shí)間用ΔT表達(dá),ΔT< 基站和來源節(jié)點(diǎn)的通信區(qū)域是圓的,即以自身作為圓心,半徑就是它可以進(jìn)行通信的區(qū)域.因此,該區(qū)域的兩端都是半圓.基站與源節(jié)點(diǎn)之間有多跳距離,因此它們之間的通信需要一個(gè)多節(jié)點(diǎn)(多跳方式)來協(xié)助重新定向.可以假設(shè)一種情況,當(dāng)源節(jié)點(diǎn)和基站發(fā)生的信息傳遞始終處于圓角矩陣?yán)锩鏁r(shí),則方便空間計(jì)算. CTAR路由一開始構(gòu)成了圓角矩形區(qū)域(圖1),里面的節(jié)點(diǎn)一直是喚醒的,此時(shí)外面的節(jié)點(diǎn)處于休眠,使得網(wǎng)絡(luò)能耗大幅減小.之后,源節(jié)點(diǎn)會把其中一個(gè)節(jié)點(diǎn)作為下一跳的基礎(chǔ),即節(jié)點(diǎn)的相觸時(shí)間 (Contact Time,CT) 做下一跳節(jié)點(diǎn)行為,達(dá)成傳遞信息的目的.CTAR路由區(qū)域進(jìn)行了組成和信息傳遞兩個(gè)過程,之后便會對這個(gè)區(qū)域組成、信息傳遞兩個(gè)過程做出詳細(xì)剖析. 圖1 圓角矩形區(qū)域 有時(shí)候節(jié)點(diǎn)要接收數(shù)據(jù),它就會到區(qū)間里做出配置行動.區(qū)域構(gòu)建的目的是打造一個(gè)新的從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的活動區(qū)域,與此同時(shí),所有的節(jié)點(diǎn)活動區(qū)域是不變的. 進(jìn)行細(xì)化之后,CTAR路由通過源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)發(fā)揮作用.站點(diǎn)信息創(chuàng)建一個(gè)將源節(jié)點(diǎn)連接到目標(biāo)節(jié)點(diǎn)的領(lǐng)域. 第一,源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)為圓心,以r為半徑形成一個(gè)圓,在圓的中心周圍放置一個(gè)位置,然后將其一分為二;第二,使用長為a、寬為2r的矩形,使得兩個(gè)半圓連接,所以矩形面積S為: S=πr2+2ra. (1) 用R表示矩形區(qū)域內(nèi)的節(jié)點(diǎn)集.把互聯(lián)網(wǎng)里的每一個(gè)節(jié)點(diǎn)表示成兩類:第一類是區(qū)域里面節(jié)點(diǎn)(In-area Node, IAN),第二是區(qū)域外面節(jié)點(diǎn)(Out-area Node, OAN).在布爾變量flag基礎(chǔ)上進(jìn)行.當(dāng)i移動節(jié)點(diǎn)datareq處于區(qū)域里的時(shí)候,則datareq=1,否則flagi=0,其定義如式(2)所示: (2) 1.3.1 接觸時(shí)間 數(shù)據(jù)傳輸范圍R內(nèi)涉及位于區(qū)域中的節(jié)點(diǎn).如果該節(jié)點(diǎn)(源節(jié)點(diǎn))包含數(shù)據(jù)傳輸,它將選擇其相鄰節(jié)點(diǎn)當(dāng)成下一個(gè)節(jié)點(diǎn)的發(fā)送目標(biāo).在此基礎(chǔ)上,它開始朝著相鄰節(jié)點(diǎn)發(fā)出數(shù)據(jù)請求datareq,鄰居節(jié)點(diǎn)在有datareq時(shí),立即運(yùn)行計(jì)時(shí)器T,該計(jì)時(shí)器與連接時(shí)間CT成正比,如公式(3)所示: (3) 連接時(shí)間是指相鄰節(jié)點(diǎn)保持在通信區(qū)域里的時(shí)間.細(xì)分開來,假設(shè)在t0通信范圍內(nèi)有兩個(gè)移動節(jié)點(diǎn)分別用si和sj表示每個(gè)給定點(diǎn).這些都是節(jié)點(diǎn)位置的矢量表達(dá),具體有節(jié)點(diǎn)的位置和速度表達(dá),如圖2所示. 圖2 節(jié)點(diǎn)位置矢量示意圖 在t0的時(shí)間點(diǎn)上,這兩個(gè)節(jié)點(diǎn)在彼此通信范圍內(nèi),即它們間的距離d0=‖Xi(t0)-Xj(t0)‖≤r.假定在t1時(shí)刻,節(jié)點(diǎn)sj不在si的通信范圍內(nèi),即它們的歐式距離大于r,如式(4)所示. t1=mint‖Xi(t0)-Xj(t0)‖>r. (4) 因此,接觸時(shí)間CT為t1時(shí)刻與t0時(shí)刻的差,即CT=t1-t0. 所以這個(gè)時(shí)間點(diǎn)上si與sj的相對速度矢量?r就可以用?r=?i-?j.根據(jù)圖2可知,相對速度矢量?r在x軸上方向矢量?r(x). ?r(x)=|?i|cosθ1-|?j|cosθ2. (5) 相應(yīng)地,相對速度矢量?r在y軸上方向矢量?r(y)=|?i|sinθ1-|?j|sinθ2,其中θ1是si與x軸的夾角、θ2是sj與x軸的夾角.其中相對速度矢量?r的模和相位分別如式(6)和(7)所示. (6) (7) 因?yàn)閠0是兩個(gè)移動范圍的時(shí)間節(jié)點(diǎn)中在彼此聯(lián)系時(shí)刻內(nèi)的一個(gè)率先時(shí)間點(diǎn),t1是兩個(gè)移動沒有聯(lián)系時(shí)間范圍內(nèi)的首要時(shí)刻,所以CT可表示為. (8) 源節(jié)點(diǎn)做數(shù)據(jù)運(yùn)作時(shí),就會朝著鄰節(jié)點(diǎn)發(fā)出數(shù)據(jù)請求datareq,具體包括本身的位置信息、速度大小和目的節(jié)點(diǎn)ID.當(dāng)接收到這個(gè)datareq時(shí)候,會首先確定自身是不是目的節(jié)點(diǎn),當(dāng)確定自己是目的節(jié)點(diǎn)時(shí),會回傳確認(rèn)包ACK(Acknowledgement, ACK),這時(shí)候源節(jié)點(diǎn)對ACK進(jìn)行接收,然后直接向此節(jié)點(diǎn)進(jìn)行數(shù)據(jù)輸送行動. 當(dāng)發(fā)現(xiàn)自己不是數(shù)據(jù)包的目的節(jié)點(diǎn)(或者是自己即將成為中間節(jié)點(diǎn))時(shí),就可以借助公式(8)來進(jìn)一步對接觸時(shí)間大小做一個(gè)計(jì)算,并且借助公式(3)來確定一個(gè)時(shí)間定時(shí)裝置.由此可知接觸時(shí)間如果越長,定時(shí)器時(shí)間就會短,就越有可能成為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),即最大接觸時(shí)間建立下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn). 一旦定時(shí)結(jié)束,就直接回復(fù)確認(rèn).在等計(jì)時(shí)器定時(shí)的時(shí)候,如果發(fā)現(xiàn)其他節(jié)點(diǎn)傳輸了ACK數(shù)據(jù)包,這時(shí)就應(yīng)該取消定時(shí)器.如果發(fā)現(xiàn)源節(jié)點(diǎn)已經(jīng)收到了ACK包,那么就可以向這個(gè)時(shí)間節(jié)點(diǎn)來傳輸數(shù)據(jù)包.這個(gè)過程可以用圖3表示. 圖3 中間節(jié)點(diǎn)接收數(shù)據(jù)包的示意圖 源節(jié)點(diǎn)作為下一跳轉(zhuǎn)節(jié)點(diǎn)的最先相應(yīng)ACK包的節(jié)點(diǎn).借助這種方法,可以減少傳輸時(shí)間,從而增強(qiáng)數(shù)據(jù)包的傳輸效果.圖4展示了下一跳節(jié)點(diǎn)具體步驟. 圖4 下一跳節(jié)點(diǎn)的選擇過程 通過Castalia創(chuàng)建平臺對CTAR性能做深層次的發(fā)掘.假定55個(gè)移動節(jié)點(diǎn)在200 m×200 m這個(gè)區(qū)域中,然后隨便選取其中的一個(gè),讓每一個(gè)節(jié)點(diǎn)在Random-waypoint移動模型基礎(chǔ)上做出移動行為,此時(shí)數(shù)據(jù)包的大小在128字節(jié)左右. 在這個(gè)時(shí)候,選擇接收器的機(jī)會轉(zhuǎn)發(fā)協(xié)議(Receiver based Opportunistic Forwarding,RoF)和貪婪邊界轉(zhuǎn)發(fā)路由(Greedy Perimeter Stateless Routing, GPSR). 應(yīng)該率先對那些據(jù)包傳遞速率根據(jù)數(shù)據(jù)包發(fā)送速率的變化進(jìn)行修改.在這個(gè)過程中,移動速度為0.5 m/s,如圖5所示. 圖5 數(shù)據(jù)包傳遞率隨發(fā)送率 根據(jù)圖5研究出的CTAR協(xié)議的數(shù)據(jù)包傳遞的效率非常高,比RoF和GPSR協(xié)議更優(yōu)秀,但是GPSR協(xié)議的數(shù)據(jù)包傳遞效率不高.一個(gè)關(guān)鍵原因是CTAR協(xié)議源節(jié)點(diǎn)和目的節(jié)點(diǎn)組成的轉(zhuǎn)發(fā)范圍,會在接觸時(shí)間基礎(chǔ)上對定時(shí)器做出設(shè)定,從而確定最適合的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn).數(shù)據(jù)包傳遞率和發(fā)送率呈反比例關(guān)系是因?yàn)椋喊l(fā)送率升高時(shí),里面數(shù)據(jù)包量也隨之變大,網(wǎng)絡(luò)就會變得堵塞,使得數(shù)據(jù)包傳遞的速率降低. 進(jìn)一步研究移動速度同數(shù)據(jù)包傳遞率之間存在的影響機(jī)制,關(guān)注他們的移動速度從0.5 m/s到10 m/s時(shí)是如何改變的,從圖5可以看出此時(shí)源節(jié)點(diǎn)數(shù)據(jù)包的發(fā)出效率是20 pps.如圖6所示. 圖6 數(shù)據(jù)包傳遞率隨車速的變化情況 根據(jù)圖6得出,車速的增加與數(shù)據(jù)包傳遞率成反比例關(guān)系,這主要是因?yàn)檐囁俚倪M(jìn)一步加快,減少了接觸時(shí)間的長短,進(jìn)一步減少了鏈路的持續(xù)時(shí)間,使得數(shù)據(jù)包傳遞成功率降低.相比RoF和GPSR協(xié)議,正在進(jìn)行的CTAR協(xié)議的數(shù)據(jù)包傳遞率就有了一個(gè)非常明顯的升高趨勢.如圖7所示. 圖7 平均接觸時(shí)間隨車速變化情況 圖7展示了平均接觸時(shí)間數(shù)隨車速變化情況,隨著車速的進(jìn)一步提升,平均接觸時(shí)間將會有一個(gè)非常明顯的減少.這些現(xiàn)象產(chǎn)生的原因是:車速的上升,使得鏈路連通時(shí)間減小.對比RoF協(xié)議,CTAR協(xié)議的平均接觸時(shí)間將會有一個(gè)質(zhì)的飛躍.例如,在車速是5 m/s時(shí),CTAR協(xié)議的平均接觸時(shí)間測定是65 s,這時(shí)RoF協(xié)議的平均接觸時(shí)間小于它,只有28 m/s. 面對移動傳感網(wǎng)絡(luò),接觸時(shí)間的區(qū)域范圍大部分是CTAR.CTAR路由是根據(jù)喚醒-休眠機(jī)制來進(jìn)行工作的,CTAR的進(jìn)一步使用借助了區(qū)的概念,減少節(jié)點(diǎn)能耗.在此過程中,借助接觸時(shí)間來對下一跳節(jié)點(diǎn)做挑選以便接下來的運(yùn)用.根據(jù)本文數(shù)值的研究可以得知,CTAR路由可以對數(shù)據(jù)包傳遞效率進(jìn)一步增強(qiáng),對平均接觸時(shí)間進(jìn)一步減少.1.2 區(qū)域構(gòu)建
1.3 數(shù)據(jù)傳輸階段
2 數(shù)值仿真
2.1 仿真環(huán)境
2.2 數(shù)值分析
3 結(jié)束語