• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      無源感知網(wǎng)絡(luò)中能耗和延遲平衡的機(jī)會(huì)路由協(xié)議?

      2019-10-28 11:22:50高宏超陳曉江湯戰(zhàn)勇房鼎益
      軟件學(xué)報(bào) 2019年8期
      關(guān)鍵詞:無源數(shù)據(jù)包路由

      高宏超 , 陳曉江,2 , 徐 丹,2 , 彭 瑤,2 , 湯戰(zhàn)勇,2 , 房鼎益,2

      1(西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,陜西 西安 710127)

      2(陜西省無源物聯(lián)網(wǎng)國際聯(lián)合研究中心(西北大學(xué)),陜西 西安 710127)

      目前,感知網(wǎng)絡(luò)中絕大部分感知節(jié)點(diǎn)是有源節(jié)點(diǎn),即采用電池供電[1].于是,電池能量耗盡就會(huì)導(dǎo)致感知網(wǎng)絡(luò)工作異常或者所獲信息失真.因此,節(jié)能降耗以延長感知節(jié)點(diǎn)乃至感知網(wǎng)絡(luò)的工作時(shí)間,成為一個(gè)重要的研究課題.現(xiàn)有的在低功耗感知元器件、低功耗處理模塊芯片、低功耗通信等方面技術(shù)的不斷發(fā)展,在很大程度上緩解了節(jié)點(diǎn)能量有限性問題,然而,它們無法從根本上解決感知節(jié)點(diǎn)能量耗竭導(dǎo)致節(jié)點(diǎn)失效以及感知網(wǎng)絡(luò)異常這一難題.而且在一些特殊的應(yīng)用中,如在火山監(jiān)測預(yù)警系統(tǒng)這樣的自然條件惡劣的野外環(huán)境中[2],或者軍事作戰(zhàn)中要監(jiān)視敵方行動(dòng)這樣的需求,有些待監(jiān)測本體如農(nóng)作物需要在24 小時(shí)全天候監(jiān)控[3]等場景下,由于環(huán)境具有監(jiān)測范圍大、部署區(qū)域偏遠(yuǎn)、難以進(jìn)行長時(shí)間的人力監(jiān)測等特點(diǎn),我們無法定期更換布置在惡劣環(huán)境或敵對環(huán)境中的感知節(jié)點(diǎn)的電池.因此,解決感知節(jié)點(diǎn)不因電池電量耗竭而停止工作,一直是需要解決的問題.

      近年來,無源感知網(wǎng)絡(luò)研究的興起給感知網(wǎng)絡(luò)帶來了新的發(fā)展機(jī)遇,為解決節(jié)點(diǎn)電量有限問題帶來了曙光.這種網(wǎng)絡(luò)的主要特點(diǎn)是:(1) 網(wǎng)絡(luò)中感知節(jié)點(diǎn)自身不攜帶電池,節(jié)點(diǎn)通過能量捕獲技術(shù)將環(huán)境中的能源充分利用,來補(bǔ)充自己的能耗,本文中將這類節(jié)點(diǎn)稱為能量收集型節(jié)點(diǎn),即無源節(jié)點(diǎn);(2) 無源感知網(wǎng)絡(luò)中的感知節(jié)點(diǎn)具有低功耗的感知模塊、處理模塊以及低能耗通信協(xié)議,能夠完成特定的感知和數(shù)據(jù)傳輸任務(wù).利用能量收集型節(jié)點(diǎn)的特性,無源感知網(wǎng)絡(luò)能夠獲得更長的生存周期,從而更好地完成長期監(jiān)測型任務(wù).

      根據(jù)無源網(wǎng)絡(luò)的特點(diǎn),節(jié)點(diǎn)可以通過能量收集技術(shù)[4],利用存在于人們周圍的可利用的能源,如光能、熱能、風(fēng)能、電磁波等,周期性地為自己供電,以保證其正常工作.然而,無源節(jié)點(diǎn)在每一個(gè)周期內(nèi)所捕獲的能量遠(yuǎn)遠(yuǎn)小于有源節(jié)點(diǎn)中電池所提供的能量,因此,如何在節(jié)點(diǎn)所獲能量如此小的無源網(wǎng)絡(luò)中降低節(jié)點(diǎn)能耗,以保證節(jié)點(diǎn)足以支撐自身順利完成數(shù)據(jù)傳輸?shù)倪^程,成為亟需解決的問題.再者,網(wǎng)絡(luò)延遲的問題一直是有源網(wǎng)絡(luò)中致力于要解決的挑戰(zhàn),在無源網(wǎng)絡(luò)中也不例外.如在火山監(jiān)測預(yù)警系統(tǒng)中,因?yàn)閿?shù)據(jù)傳輸?shù)拈L時(shí)間延遲而導(dǎo)致沒有及時(shí)發(fā)現(xiàn)險(xiǎn)情,就會(huì)造成人員傷害及重大財(cái)產(chǎn)損失等嚴(yán)重后果.但是,無源節(jié)點(diǎn)每一次捕獲的能量和電池所提供的能量有很大差別,已有的用于傳統(tǒng)有源網(wǎng)絡(luò)中降低延遲的方法不能直接用在無源網(wǎng)絡(luò)中.因此,在節(jié)點(diǎn)能夠持續(xù)收集能量,但每一次所捕獲的能量都非常小的約束下去提高網(wǎng)絡(luò)的延遲性能,以滿足在無源感知網(wǎng)絡(luò)中的應(yīng)用需求很有必要.

      然而,現(xiàn)有的路由協(xié)議在應(yīng)用于無源感知網(wǎng)絡(luò)環(huán)境時(shí),大多缺乏兼顧能耗和延遲性能的考慮.如何設(shè)計(jì)一種在無源網(wǎng)絡(luò)中能夠兼顧能耗和延遲的合理的路由協(xié)議,盡可能低地降低節(jié)點(diǎn)能耗的同時(shí)降低網(wǎng)絡(luò)延遲,是本文所面臨的挑戰(zhàn).因此,本文提出能耗和延遲平衡的機(jī)會(huì)路由協(xié)議(balance of energy and delay opportunistic routing protocol,簡稱EDOR).該協(xié)議通過提出節(jié)點(diǎn)能耗模型,并考慮轉(zhuǎn)發(fā)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)占空比的綜合影響來進(jìn)行路由決策,獲得能耗和延遲平衡的良好效果,并提出合理的退避策略實(shí)現(xiàn)數(shù)據(jù)包被單一轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā),來減少通信過程中碰撞帶來的能量和時(shí)間的消耗,減少網(wǎng)絡(luò)中無效的數(shù)據(jù)副本數(shù)量,延長網(wǎng)絡(luò)生存周期和提高數(shù)據(jù)傳輸效率,以完成在自然條件惡劣的野外環(huán)境中的監(jiān)測任務(wù).

      本文的貢獻(xiàn)在于分析了在無源感知網(wǎng)絡(luò)中所面臨的挑戰(zhàn)是兼顧能耗和延遲,即在盡可能降低網(wǎng)絡(luò)中能耗的同時(shí),如何合理地權(quán)衡考慮延遲問題,以提高數(shù)據(jù)的傳輸效率,使得網(wǎng)絡(luò)中的節(jié)點(diǎn)達(dá)到能耗和延遲平衡的工作狀態(tài).而且,針對這一挑戰(zhàn)提出了能耗和延遲平衡的機(jī)會(huì)路由協(xié)議EDOR.

      1 相關(guān)研究

      近年來,科研人員在能量收集技術(shù)方面展開了研究.相比于太陽能、風(fēng)能等能源,泛在的電磁波是未來無源感知網(wǎng)絡(luò)的最主要能量來源之一.科研人員對如何從泛在的電磁波中獲取能量這一問題有了一些研究成果.例如,研究人員在射頻識別(RFID)系統(tǒng)[5]中RFID 閱讀器發(fā)送射頻波給周圍RFID 標(biāo)簽時(shí),RFID 標(biāo)簽通過捕獲來自閱讀器的射頻能量來驅(qū)動(dòng)內(nèi)置微芯片工作,并通過調(diào)制反射電磁波,將其自身ID 調(diào)制在反射電磁波中發(fā)送給閱讀器.2007 年,Sample 等人開發(fā)了無線識別和感知平臺(tái)(wireless identification sensing platform,簡稱WISP)[6,7],它是第一個(gè)以射頻讀取器的射頻信號為能量源、且能夠通過反射電磁波將所感知到的數(shù)據(jù)回復(fù)給射頻讀取器.2011 年,Vyas 等人設(shè)計(jì)了能夠捕獲470MHz~570MHz 頻段射頻能量的電路;用超級電容給微控制器和無線收發(fā)器供電,以實(shí)現(xiàn)能夠無源自主感知和自主發(fā)送數(shù)據(jù)的無線傳感器[8].2013 年,Parks 等人研究了從無線蜂窩射頻信號和電視廣播射頻信號中捕獲能量的技術(shù),設(shè)計(jì)出射頻能量捕獲電路,其測試結(jié)果表明:所設(shè)計(jì)的基于能量捕獲的低功耗傳感節(jié)點(diǎn)在距離發(fā)送功率為1mW 的電視塔約10km 范圍內(nèi)能夠正常工作[9].Liu 等人進(jìn)一步研究了無源節(jié)點(diǎn)之間的通信技術(shù),使無源節(jié)點(diǎn)能夠以泛在射頻作為唯一的能量源來獲取能量,且通過控制射頻信號的反射給鄰近無源節(jié)點(diǎn)傳輸數(shù)據(jù),實(shí)現(xiàn)了1Kbps 傳輸速率[10].

      由此可見,從周圍泛在的電磁波中捕獲能量以支持無源感知節(jié)點(diǎn)工作,已取得了一些成果.然而,它們無法直接應(yīng)用于無源感知網(wǎng)絡(luò),其主要原因有兩點(diǎn).其一,無源感知節(jié)點(diǎn)在捕獲能量時(shí)存在著瓶頸:儲(chǔ)能單元(如電容)只能儲(chǔ)存非常有限的電量,一旦電容儲(chǔ)存滿電量,就無法繼續(xù)捕獲能量;同時(shí),泛在的電磁波信號強(qiáng)度低導(dǎo)致充電過程非常緩慢;其二,感知節(jié)點(diǎn)的主要任務(wù)是感知環(huán)境變化,尤其是捕捉突發(fā)事件所產(chǎn)生的物理量,如火災(zāi)、泥石流等自然災(zāi)害等,對網(wǎng)絡(luò)延遲性能有很高的要求.因此,需要設(shè)計(jì)合理的路由協(xié)議,以實(shí)現(xiàn)無源網(wǎng)絡(luò)的感知.

      傳統(tǒng)的確定性路由協(xié)議在應(yīng)對無線鏈路時(shí)存在諸多限制,其固定的路由選擇可能會(huì)因?yàn)闊o線鏈路的不穩(wěn)定性而造成嚴(yán)重的性能下降.因此,為了克服確定性路由協(xié)議的諸多局限性,機(jī)會(huì)路由策略被越來越廣泛地使用[11].這類協(xié)議充分利用廣播特性,使得在解決不可靠鏈路方面相比傳統(tǒng)路由有著得天獨(dú)厚的優(yōu)勢.該協(xié)議使得節(jié)點(diǎn)的轉(zhuǎn)發(fā)選擇不再固定,而是很多下一跳節(jié)點(diǎn)都可能進(jìn)行轉(zhuǎn)發(fā),從而使得網(wǎng)絡(luò)性能在能耗、延遲等方面都有所提升.

      現(xiàn)有的機(jī)會(huì)路由協(xié)議大多應(yīng)用在有源節(jié)點(diǎn)網(wǎng)絡(luò)中,并在發(fā)展過程中逐漸形成了五大類別,分別是基于地理信息類、鏈路狀態(tài)感知類、隨機(jī)類、基于圖論和概率思想類以及跨層設(shè)定類.基于地理信息類的機(jī)會(huì)路由協(xié)議,如DTRP[12],LinGo[13]以及COR[14]等協(xié)議,利用地理定位信息克服傳感網(wǎng)絡(luò)中的基礎(chǔ)設(shè)備不足的問題.鏈路狀態(tài)感知類的機(jī)會(huì)路由協(xié)議利用無線傳輸?shù)奶烊粡V播特性,通過某種計(jì)算標(biāo)準(zhǔn)來交換評估鏈路質(zhì)量信息并作為轉(zhuǎn)發(fā)決策來提升包傳輸?shù)目煽啃?MORE[15]和CCACK[16]等協(xié)議都是基于這種思路設(shè)計(jì)的.而隨機(jī)類機(jī)會(huì)路由協(xié)議則是為了應(yīng)對移動(dòng)節(jié)點(diǎn)的情況,這種網(wǎng)絡(luò)環(huán)境下節(jié)點(diǎn)選擇轉(zhuǎn)發(fā)候選節(jié)點(diǎn)時(shí),很難判斷究竟選擇哪個(gè)候選節(jié)點(diǎn)可以得到低能耗或者延遲,因此采用隨機(jī)的策略如OPF[17]以及OOF[18]等策略.隨著前3 種策略的機(jī)會(huì)路由協(xié)議的發(fā)展,機(jī)會(huì)路由算法慢慢成熟.基于圖論和概率思想的機(jī)會(huì)路由算法是近年來受到關(guān)注的新思路,通過結(jié)合一些計(jì)算機(jī)領(lǐng)域的新的研究點(diǎn)來提升協(xié)議的性能,例如基于圖論研究的MAP[19]以及基于學(xué)習(xí)的ORL[20]協(xié)議等.最后一類使用跨層策略的機(jī)會(huì)路由算法則利用底層的信息來輔助路由決策,例如利用物理層信息的EEOR[21]和HS-OR[22]協(xié)議、利用MAC 層信息的ORCD[23]和ORW[24]以及利用物理層和MAC 層兩層信息的CL-EE[25]和SCAD[26]協(xié)議,這些機(jī)會(huì)路由協(xié)議通過利用下層的關(guān)鍵信息來輔助決策,往往能夠取得很好的能耗或者延遲方面的性能.

      然而,應(yīng)用于傳統(tǒng)使用電池的傳感器網(wǎng)絡(luò)的路由協(xié)議雖然能夠很好地解決有源網(wǎng)絡(luò)中的能耗和延遲問題,但卻不能把它們直接應(yīng)用到無源網(wǎng)絡(luò)中來,因?yàn)檫@些方法未能充分考慮無源感知網(wǎng)絡(luò)的下述因素:(1) 無源節(jié)點(diǎn)每一次所捕獲的能量非常小,這使得節(jié)點(diǎn)可以用于探路以及發(fā)送數(shù)據(jù)包的能量極為受限,因此需要盡可能地降低能耗,以確保節(jié)點(diǎn)所獲得的能量足以支撐其完成數(shù)據(jù)傳輸?shù)娜蝿?wù);(2) 在一些無法按期更換電池的應(yīng)用中,對數(shù)據(jù)的實(shí)時(shí)性要求較高,還要提高網(wǎng)絡(luò)的延遲性能,否則可能造成嚴(yán)重后果.鑒于此,需要設(shè)計(jì)適用于無源感知網(wǎng)絡(luò)的路由協(xié)議.而現(xiàn)有的應(yīng)用于無源感知網(wǎng)絡(luò)的機(jī)會(huì)路由協(xié)議并不多,并且由于能量收集型節(jié)點(diǎn)能級的不穩(wěn)定以及相對較長的生存周期,其應(yīng)用時(shí)的側(cè)重點(diǎn)和設(shè)計(jì)思路也有所區(qū)別[27].例如,文獻(xiàn)[28]提出的EoR 協(xié)議就是在ORW 協(xié)議的基礎(chǔ)上進(jìn)行改進(jìn),使其適用于無源感知網(wǎng)絡(luò)的特點(diǎn),并取得了較好的延遲效果;文獻(xiàn)[29]提出的TPGFPlus 協(xié)議同樣利用跨層思想降低了延遲;文獻(xiàn)[30]提出的OR-AHaD 協(xié)議在無源感知網(wǎng)絡(luò)中取得了較低的能耗效果;文獻(xiàn)[31]中提出的協(xié)議實(shí)現(xiàn)了處理不同延遲要求包的機(jī)會(huì)路由協(xié)議.所以,本文要設(shè)計(jì)一種適用于無源感知網(wǎng)絡(luò)的兼顧低延遲和低能耗特性的路由協(xié)議.

      2 能耗和延遲平衡的機(jī)會(huì)路由協(xié)議EDOR

      在無源感知網(wǎng)絡(luò)中,能量不再是唯一關(guān)注的因素,對延遲性能的提升,將會(huì)使節(jié)點(diǎn)向基站發(fā)送數(shù)據(jù)時(shí)獲得更高的效率.但現(xiàn)有的路由協(xié)議在應(yīng)用于無源節(jié)點(diǎn)的網(wǎng)絡(luò)環(huán)境時(shí),大多缺乏兼顧能耗和延遲性能的考慮,因此,本節(jié)提出能耗和延遲平衡的機(jī)會(huì)路由協(xié)議(EDOR).該協(xié)議通過分析節(jié)點(diǎn)通信的過程來估算節(jié)點(diǎn)的預(yù)期能耗值,讓節(jié)點(diǎn)選擇令自己能耗較低的鄰居節(jié)點(diǎn)作為轉(zhuǎn)發(fā)候選節(jié)點(diǎn).在最終確定轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí),本協(xié)議通過結(jié)合候選節(jié)點(diǎn)下一跳鄰居節(jié)點(diǎn)的占空比信息來進(jìn)行決策,使得發(fā)送節(jié)點(diǎn)選擇能更快將數(shù)據(jù)轉(zhuǎn)發(fā)出去的候選節(jié)點(diǎn)來降低延遲,獲得了能耗和延遲平衡的良好效果;然后提出合理的退避策略,實(shí)現(xiàn)了數(shù)據(jù)包被單一轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā),減少了網(wǎng)絡(luò)中無效的數(shù)據(jù)副本數(shù)量.

      2.1 EDOR協(xié)議設(shè)計(jì)

      2.1.1 機(jī)會(huì)路由策略

      為了減少節(jié)點(diǎn)的能耗和延遲,不能使用確定性的路由方法來固定選擇某一個(gè)節(jié)點(diǎn)作為數(shù)據(jù)轉(zhuǎn)發(fā)的唯一選擇.因?yàn)殡S著網(wǎng)絡(luò)環(huán)境的變化以及無線鏈路狀態(tài)的不穩(wěn)定性,如果選定的唯一下一跳節(jié)點(diǎn)與當(dāng)前發(fā)送節(jié)點(diǎn)的工作周期恰好交錯(cuò)開,等待過程會(huì)增加節(jié)點(diǎn)的能耗和延遲;若節(jié)點(diǎn)在等待過程中持續(xù)發(fā)送探測包消耗了過多能量,可能造成將無源節(jié)點(diǎn)上一個(gè)周期收集的能量消耗殆盡,使節(jié)點(diǎn)得重新進(jìn)入能量收集階段而無法進(jìn)行通信.因此,我們考慮使用機(jī)會(huì)路由策略.

      機(jī)會(huì)路由的主要思路可以總結(jié)如下:用Cu表示節(jié)點(diǎn)u使用某種機(jī)會(huì)路由策略向目標(biāo)節(jié)點(diǎn)發(fā)包時(shí)預(yù)計(jì)所需消耗的能量,初始階段,目標(biāo)節(jié)點(diǎn)的期望能耗值設(shè)定為0,其他所有節(jié)點(diǎn)的期望能耗值設(shè)定為正無窮.同基于距離向量的路由機(jī)制類似,機(jī)會(huì)路由協(xié)議機(jī)制中,每個(gè)節(jié)點(diǎn)的期望能耗值以及轉(zhuǎn)發(fā)列表將會(huì)周期性地計(jì)算并且更新.當(dāng)一個(gè)節(jié)點(diǎn)準(zhǔn)備向目的節(jié)點(diǎn)發(fā)送或者轉(zhuǎn)發(fā)包時(shí),該節(jié)點(diǎn)只需簡單地將數(shù)據(jù)包朝著基站方向廣播出去,并利用一定的選擇策略選擇轉(zhuǎn)發(fā)節(jié)點(diǎn),從而完成整個(gè)發(fā)送過程[32].如圖1 所示.

      Fig.1 Model of opportunistic routing圖1 機(jī)會(huì)路由傳輸實(shí)例

      假定發(fā)送節(jié)點(diǎn)經(jīng)過兩跳到達(dá)目標(biāo)節(jié)點(diǎn),并且發(fā)送節(jié)點(diǎn)的下一跳范圍內(nèi)有v1,v2,…,vn共n個(gè)節(jié)點(diǎn).從發(fā)送節(jié)點(diǎn)到下一跳每個(gè)節(jié)點(diǎn)的傳輸錯(cuò)誤率都是en,而下一跳的所有節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)都是完美鏈路,即傳輸錯(cuò)誤概率都是0.對于傳統(tǒng)路由方法而言,每次傳輸時(shí),源節(jié)點(diǎn)都會(huì)選擇固定的節(jié)點(diǎn),比如vi作為下一跳進(jìn)行傳輸,則根據(jù)假設(shè)整個(gè)傳輸成功所需要的預(yù)期次數(shù)為.而如果使用機(jī)會(huì)路由策略,由于發(fā)送節(jié)點(diǎn)會(huì)監(jiān)聽所有下一跳節(jié)點(diǎn)的狀態(tài),只要至少有1 個(gè)節(jié)點(diǎn)醒來就立刻傳輸數(shù)據(jù),因此傳輸成功需要預(yù)期次數(shù)降到了(證明過程見下).尤其當(dāng)e值越接近于1,n值也較大時(shí),兩種策略下的預(yù)期傳輸次數(shù)差距也會(huì)越大,消耗能量的差距也就越大.也就是說,機(jī)會(huì)路由對于鏈路質(zhì)量較差并且節(jié)點(diǎn)個(gè)數(shù)較多的網(wǎng)絡(luò)環(huán)境性能有著較明顯的提升.同樣,如果下一跳中哪個(gè)節(jié)點(diǎn)最先醒來進(jìn)入工作狀態(tài),機(jī)會(huì)路由就最先將其選擇為轉(zhuǎn)發(fā)節(jié)點(diǎn)的話,整個(gè)轉(zhuǎn)發(fā)過程的延遲相較于固定節(jié)點(diǎn)也會(huì)顯著降低.

      證明:假設(shè)從發(fā)送節(jié)點(diǎn)到下一跳每個(gè)節(jié)點(diǎn)的傳輸錯(cuò)誤率是e,則傳輸成功率為1?e,在傳統(tǒng)路由方法中,傳輸成功的預(yù)期次數(shù)即為.當(dāng)使用機(jī)會(huì)路由策略時(shí),只要有至少1 個(gè)節(jié)點(diǎn)醒來時(shí)就會(huì)立刻傳輸數(shù)據(jù),則傳輸失敗的概率為en,因此傳輸成功所需要的預(yù)期次數(shù)降低為.證明完畢. □

      2.1.2 EDOR 協(xié)議設(shè)計(jì)思路

      現(xiàn)有的機(jī)會(huì)路由協(xié)議,有些僅從能耗角度出發(fā),雖然取得了不錯(cuò)的效果,但是完全舍棄了延遲;有些協(xié)議則從延遲入手,卻忽略了能耗的計(jì)算,這些都不符合使用能量收集型節(jié)點(diǎn)的網(wǎng)絡(luò)特點(diǎn).本文提出一種適用于異構(gòu)占空比網(wǎng)絡(luò)下的兼顧延遲和能耗問題的路由協(xié)議,該協(xié)議整體的設(shè)計(jì)思路如圖2 所示.

      Fig.2 Overview of the EDOR protocol圖2 EDOR 協(xié)議設(shè)計(jì)思路

      發(fā)送節(jié)點(diǎn)通過廣播探測包獲取周圍鄰居節(jié)點(diǎn)反饋的關(guān)于能耗的信息,確定轉(zhuǎn)發(fā)候選集合.候選集中的節(jié)點(diǎn)則根據(jù)考慮了延遲因素的通信代價(jià)計(jì)算標(biāo)準(zhǔn)來決定自己的退避時(shí)間,退避時(shí)間短的節(jié)點(diǎn)即為選中的轉(zhuǎn)發(fā)節(jié)點(diǎn),從而實(shí)現(xiàn)發(fā)送節(jié)點(diǎn)選擇使自己能耗和延遲性能平衡的轉(zhuǎn)發(fā)節(jié)點(diǎn).

      2.2 能耗和延遲的影響因素

      2.2.1 網(wǎng)絡(luò)模型

      為了保證整個(gè)網(wǎng)絡(luò)有著穩(wěn)定和合適的任務(wù)循環(huán)周期,同時(shí)為了不同類型的節(jié)點(diǎn)完成不同的數(shù)據(jù)采集和傳輸任務(wù),本文設(shè)定所有節(jié)點(diǎn)擁有相同的總周期長度L和各自不同的占空比Dv.

      設(shè)定傳感網(wǎng)中所有的節(jié)點(diǎn)都有一個(gè)獨(dú)一無二的id 號i∈[1,n].在野外部署的多跳無線網(wǎng)絡(luò)環(huán)境下,本文抽象出一個(gè)圖的模型,并將其表示為G=(V,E),其中,V代表網(wǎng)絡(luò)中n個(gè)節(jié)點(diǎn)組成的集合,E表示兩個(gè)可以直接通信的節(jié)點(diǎn)之間的鏈路.比如,對網(wǎng)絡(luò)中任意兩個(gè)可以直接通信的節(jié)點(diǎn)u∈V,v∈V而言,(u,v)代表兩個(gè)節(jié)點(diǎn)間的一條鏈路,每條鏈路都有一個(gè)非負(fù)的權(quán)值,表示為w(u,v),這個(gè)權(quán)值代表了節(jié)點(diǎn)u給節(jié)點(diǎn)v發(fā)包成功所耗費(fèi)的能量,稱其為傳輸功率.這個(gè)值根據(jù)所處監(jiān)測環(huán)境的不同,以及能量收集型節(jié)點(diǎn)能量源的不同而有所區(qū)別.由于當(dāng)節(jié)點(diǎn)u以不同的傳輸功率進(jìn)行通信時(shí),其通信范圍會(huì)不同,進(jìn)而單跳范圍內(nèi)的鄰居節(jié)點(diǎn)個(gè)數(shù)也會(huì)有所差別,因此這種情況下,路由更新的代價(jià)將會(huì)增大,并且網(wǎng)絡(luò)的通信會(huì)不穩(wěn)定.因此對節(jié)點(diǎn)i,為了整個(gè)監(jiān)測網(wǎng)絡(luò)的穩(wěn)定傳輸,假定在其通信過程中擁有的傳輸功率w保持不變.本文以NW(u)用來表示當(dāng)節(jié)點(diǎn)u以w能量進(jìn)行通信時(shí)它的鄰居節(jié)點(diǎn)的集合,為了簡化起見,當(dāng)節(jié)點(diǎn)以設(shè)定好的傳輸功率進(jìn)行通信時(shí),省略下標(biāo)W,記為N(u).另外,現(xiàn)實(shí)環(huán)境部署情況下節(jié)點(diǎn)間的通信鏈路不可能是完美鏈路,將每條鏈路(u,v)的傳輸不成功的概率表示為euv.通過以上假設(shè)可以得出:對每一個(gè)節(jié)點(diǎn)u,其傳輸一次至少會(huì)消耗w(u,v)的能量,并且傳輸成功的概率為1?euv.為了提升網(wǎng)絡(luò)性能,接下來,本文將從影響能耗和延遲的因素對協(xié)議的設(shè)計(jì)進(jìn)行分析.

      2.2.2 節(jié)點(diǎn)的預(yù)期能耗

      雖然無源節(jié)點(diǎn)的生存周期得到顯著延長,但并不意味著其能量可以無限使用.在路由過程中,選擇能量消耗少的節(jié)點(diǎn)更有利于網(wǎng)絡(luò)的長期生存.我們首先研究了將節(jié)點(diǎn)發(fā)包時(shí)的預(yù)期能耗計(jì)算標(biāo)準(zhǔn)(expected consumed cost,簡稱ECC)來作為發(fā)送節(jié)點(diǎn)選擇轉(zhuǎn)發(fā)候選節(jié)點(diǎn)的依據(jù).

      機(jī)會(huì)路由通信過程中,考慮從當(dāng)前節(jié)點(diǎn)的下一跳節(jié)點(diǎn)中有節(jié)點(diǎn)收到包時(shí)到轉(zhuǎn)發(fā)出去為止這一整段過程,主要分為以下兩個(gè)部分:一部分為當(dāng)前節(jié)點(diǎn)向其轉(zhuǎn)發(fā)候選集廣播探測包發(fā)現(xiàn)候選節(jié)點(diǎn)時(shí),其下一跳節(jié)點(diǎn)中至少有1 個(gè)節(jié)點(diǎn)接收到這一過程,由于受鏈路質(zhì)量以及能量收集型節(jié)點(diǎn)剩余電量的影響,可能出現(xiàn)下一跳節(jié)點(diǎn)均未成功接收發(fā)送節(jié)點(diǎn)信息的情況,該部分能耗稱為失敗代價(jià);另一部分則是轉(zhuǎn)發(fā)候選集中至少有1 個(gè)節(jié)點(diǎn)成功將該包轉(zhuǎn)發(fā)出去這一過程,該過程的能耗稱為轉(zhuǎn)發(fā)代價(jià).針對這兩個(gè)過程,本文將分別討論其能耗的計(jì)算標(biāo)準(zhǔn).

      (1) 失敗代價(jià)

      如果U表示一個(gè)節(jié)點(diǎn)集合,那么Usort表示一個(gè)節(jié)點(diǎn)集合,其中所包含的節(jié)點(diǎn)與U相同,但其中的元素排布順序按照每個(gè)節(jié)點(diǎn)向某一個(gè)固定的目標(biāo)節(jié)點(diǎn)發(fā)包時(shí)的期望能耗升序排列.假定Fwd(u)表示節(jié)點(diǎn)u的轉(zhuǎn)發(fā)候選集(該轉(zhuǎn)發(fā)候選集的選擇策略將在下一節(jié)進(jìn)行討論),那么Fwdsort(u)表示候選集中的點(diǎn)已經(jīng)按照其期望能耗升序排列.例如,如果i

      其中,vi表示屬于集合Fwdsort(u)中的任意一個(gè)節(jié)點(diǎn),SumFwd表示Fwdsort(u)包含的節(jié)點(diǎn)個(gè)數(shù).

      當(dāng)前節(jié)點(diǎn)u是以w的能量功率進(jìn)行每次通信過程,即發(fā)包消耗的能量為w.令表示節(jié)點(diǎn)u發(fā)包給候選集中至少1 個(gè)節(jié)點(diǎn)預(yù)計(jì)消耗的能量,由于w消耗能量的過程是在該節(jié)點(diǎn)發(fā)送的包成功被其轉(zhuǎn)發(fā)候選集中節(jié)點(diǎn)接收到的情況下假定的,因此該過程中實(shí)際消耗的能量為

      (2) 轉(zhuǎn)發(fā)代價(jià)

      當(dāng)前節(jié)點(diǎn)的候選集中有至少1 個(gè)節(jié)點(diǎn)成功收到發(fā)送的包后,這時(shí)進(jìn)入了轉(zhuǎn)發(fā)階段.這個(gè)階段經(jīng)歷的過程如下:首先選擇候選集中優(yōu)先級最高的節(jié)點(diǎn)作為下一跳完成轉(zhuǎn)發(fā)過程(候選集的節(jié)點(diǎn)選取和建立過程以及候選集中節(jié)點(diǎn)優(yōu)先級的確定方法將在下一節(jié)詳細(xì)討論),如果轉(zhuǎn)發(fā)未能成功完成,在不考慮重傳的情況下,則繼續(xù)選擇優(yōu)先級第二高節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),以此類推,直到至少有1 個(gè)候選節(jié)點(diǎn)完成了轉(zhuǎn)發(fā)過程.同時(shí),在節(jié)點(diǎn)轉(zhuǎn)發(fā)過程中,轉(zhuǎn)發(fā)代價(jià)中已經(jīng)包含了節(jié)點(diǎn)由于占空比導(dǎo)致的等待和空閑監(jiān)聽帶來的消耗.因?yàn)楫?dāng)前節(jié)點(diǎn)向下一跳轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),當(dāng)前節(jié)點(diǎn)的工作周期需要與下一跳節(jié)點(diǎn)的工作周期對應(yīng)上,若兩個(gè)節(jié)點(diǎn)的工作周期沒有對接上時(shí),當(dāng)前節(jié)點(diǎn)就會(huì)等待下一跳節(jié)點(diǎn)醒來時(shí),再完成轉(zhuǎn)發(fā)過程.

      假定節(jié)點(diǎn)u的轉(zhuǎn)發(fā)候選集已經(jīng)按照其中節(jié)點(diǎn)的預(yù)期能耗值按升序排列得到了含有優(yōu)先級的轉(zhuǎn)發(fā)候選集,則首先選擇其中的第1 個(gè)節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),如果沒有成功,則選擇第2 個(gè)節(jié)點(diǎn),依次類推.由此可以得到第1 個(gè)節(jié)點(diǎn)v1將以的概率成功轉(zhuǎn)發(fā),并消耗的能量,節(jié)點(diǎn)v2則將以的概率成功轉(zhuǎn)發(fā)并消耗的能量.由于該過程同樣建立在候選集中至少有1 個(gè)節(jié)點(diǎn)成功接收的基礎(chǔ)上,則該過程中預(yù)期消耗的能量可通過公式(3)計(jì)算.

      令Cu表示節(jié)點(diǎn)u通過轉(zhuǎn)發(fā)候選集發(fā)包過程中產(chǎn)生的預(yù)期能量,那么通過前文分析可知,即

      2.2.3 轉(zhuǎn)發(fā)候選集的選擇策略

      機(jī)會(huì)路由過程中,合適的轉(zhuǎn)發(fā)候選集的選擇策略將會(huì)對網(wǎng)絡(luò)性能的提升產(chǎn)生重要影響.本節(jié)提出一個(gè)基于ECC值的轉(zhuǎn)發(fā)候選集選擇策略.

      首先,當(dāng)前節(jié)點(diǎn)u的轉(zhuǎn)發(fā)候選集合是其鄰居節(jié)點(diǎn)集的子集,即Fwd(u)?N(u).轉(zhuǎn)發(fā)候選集合中節(jié)點(diǎn)的數(shù)目的增加對發(fā)送節(jié)點(diǎn)的預(yù)期能耗將會(huì)產(chǎn)生以下影響.

      (1) 增加候選集中的節(jié)點(diǎn)數(shù)目,將會(huì)使得當(dāng)前發(fā)送節(jié)點(diǎn)的轉(zhuǎn)發(fā)候選變多,從而提高至少1 個(gè)節(jié)點(diǎn)接收到探測信息的可能性,對發(fā)送節(jié)點(diǎn)的失敗代價(jià)產(chǎn)生正面的收益.

      (2) 轉(zhuǎn)發(fā)候選集中節(jié)點(diǎn)數(shù)目過多,也可能會(huì)將與當(dāng)前發(fā)送節(jié)點(diǎn)通信鏈路失敗率較高的節(jié)點(diǎn)或其本身預(yù)期能耗較高的節(jié)點(diǎn)加入轉(zhuǎn)發(fā)的候選集,導(dǎo)致通信質(zhì)量不好的節(jié)點(diǎn)加入候選,如果發(fā)送節(jié)點(diǎn)選擇其作為轉(zhuǎn)發(fā)節(jié)點(diǎn),將會(huì)對轉(zhuǎn)發(fā)代價(jià)帶來負(fù)面的收益.

      因此,如何在當(dāng)前節(jié)點(diǎn)的鄰居節(jié)點(diǎn)集中選擇合適的節(jié)點(diǎn)加入轉(zhuǎn)發(fā)候選集,是降低節(jié)點(diǎn)能耗的關(guān)鍵過程.

      在確定轉(zhuǎn)發(fā)候選集的過程中,已知當(dāng)前節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)集N(u),該集合中每個(gè)點(diǎn)的預(yù)期能耗值以及節(jié)點(diǎn)u與每一個(gè)鄰居節(jié)點(diǎn)間傳輸成功的概率,于是,當(dāng)前的問題轉(zhuǎn)化為如何找到合適的轉(zhuǎn)發(fā)候選集Fwd(u)?N(u),使得發(fā)送節(jié)點(diǎn)的預(yù)期能耗Cu值最小.假設(shè)當(dāng)前節(jié)點(diǎn)u的鄰居集中的節(jié)點(diǎn)已經(jīng)按照其預(yù)期能耗值進(jìn)行了升序排列,并將這個(gè)排好后的鄰居集記為Nsort(u),于是可以得到如下定理.

      定理1.對當(dāng)前節(jié)點(diǎn)u而言,如果現(xiàn)在起鄰居集中有一個(gè)節(jié)點(diǎn)vk不屬于當(dāng)前已經(jīng)確定的轉(zhuǎn)發(fā)候選集,即vk?Fwdsort(u),那么如果,則

      定理2.對當(dāng)前節(jié)點(diǎn)u而言,如果現(xiàn)在起鄰居集中有一個(gè)節(jié)點(diǎn)vk不屬于當(dāng)前已經(jīng)確定的轉(zhuǎn)發(fā)候選集,即vk?Fwdsort(u),那么,如果,則Cu(Fwdsort(u)∪{vk})>Cu.

      證明:根據(jù)公式(4)可知,節(jié)點(diǎn)u當(dāng)前的ECC值為

      嘗試加入鄰居節(jié)點(diǎn)vk后,節(jié)點(diǎn)u的ECC值更新為

      于是,兩項(xiàng)相減可得:

      則通分后可得:

      兩個(gè)定理共同指出,為了使當(dāng)前發(fā)送節(jié)點(diǎn)的ECC最小而判斷一個(gè)鄰居節(jié)點(diǎn)是否可以加入當(dāng)前節(jié)點(diǎn)的轉(zhuǎn)發(fā)候選集時(shí),根據(jù)自身不斷更新的ECC值即可:如果該鄰居節(jié)點(diǎn)的ECC值小于當(dāng)前候選節(jié)點(diǎn)集情況下確定的發(fā)送節(jié)點(diǎn)的ECC值,則加入該鄰居節(jié)點(diǎn)到候選集中會(huì)使發(fā)送節(jié)點(diǎn)的ECC值變小,所以策略上應(yīng)該將該鄰居節(jié)點(diǎn)加入轉(zhuǎn)發(fā)候選集;反之,當(dāng)該鄰居節(jié)點(diǎn)的ECC值大于當(dāng)前候選節(jié)點(diǎn)集情況下確定的發(fā)送節(jié)點(diǎn)的ECC值,則不加入該節(jié)點(diǎn).由于Nsort(u)中的節(jié)點(diǎn)已經(jīng)按照ECC值升序排列,因此當(dāng)發(fā)送節(jié)點(diǎn)遇到第1 個(gè)大于當(dāng)前ECC值的鄰居節(jié)點(diǎn)時(shí),轉(zhuǎn)發(fā)候選集的構(gòu)建便宣告完畢.下面是創(chuàng)建當(dāng)前發(fā)送節(jié)點(diǎn)u的候選集的算法描述,通過該算法確定的轉(zhuǎn)發(fā)候選集會(huì)將通信過程中預(yù)期能耗較大的節(jié)點(diǎn)剔除,使得當(dāng)前節(jié)點(diǎn)在能耗較低的鄰居節(jié)點(diǎn)中選擇轉(zhuǎn)發(fā)節(jié)點(diǎn).

      算法1.構(gòu)建轉(zhuǎn)發(fā)候選集.

      輸入:N(u)中所有節(jié)點(diǎn)的EEC值.

      輸出:當(dāng)前節(jié)點(diǎn)的EEC值Cu以及轉(zhuǎn)發(fā)候選集Fwdsort(u).

      顯然,該算法中存在一個(gè)以鄰居節(jié)點(diǎn)個(gè)數(shù)為長度的循環(huán),并且節(jié)點(diǎn)最多需要保存所有鄰居節(jié)點(diǎn),因此,該算法的時(shí)間復(fù)雜度和空間復(fù)雜度均為O(SumFwd).

      2.2.4 占空比對延遲的影響

      為了降低節(jié)點(diǎn)能耗的同時(shí)降低延遲,在利用ECC值完成了轉(zhuǎn)發(fā)候選集的構(gòu)建之后,本協(xié)議還需要考慮節(jié)點(diǎn)運(yùn)行的整個(gè)過程中,影響延遲的因素.

      大多數(shù)文獻(xiàn)和現(xiàn)有機(jī)會(huì)路由方法中考慮節(jié)點(diǎn)能耗和延遲時(shí)只從通信過程入手,分析從下一跳節(jié)點(diǎn)中至少有1 個(gè)節(jié)點(diǎn)收到包時(shí)到轉(zhuǎn)發(fā)出去為止這一段過程中,就是上一節(jié)中討論過的組成ECC度量標(biāo)準(zhǔn)的兩個(gè)部分.然而當(dāng)考慮如下情況時(shí):一個(gè)節(jié)點(diǎn)跟另一個(gè)節(jié)點(diǎn)進(jìn)行通信,如果其工作周期與另一個(gè)節(jié)點(diǎn)的工作周期沒有對接上,那么發(fā)送節(jié)點(diǎn)就得不停地發(fā)探測包等待該節(jié)點(diǎn)醒,這樣會(huì)增加網(wǎng)絡(luò)延遲.這一部分可以稱為等待代價(jià),如圖3 所示,發(fā)送節(jié)點(diǎn)前3 次探測,接收節(jié)點(diǎn)都處于休眠狀態(tài),直到探測到第4 次才成功遇上接收節(jié)點(diǎn)的工作周期,因此整個(gè)傳輸分為前后兩部分過程.本次傳輸?shù)难舆t也如圖3 所示分為等待過程和通信過程兩部分.文獻(xiàn)[22]中提出了一種考慮等待代價(jià)的路由協(xié)議,其思路是利用MAC 信息進(jìn)行跨層處理,本文參考其方法并做出了改進(jìn).

      Fig.3 Waiting cost during transmission圖3 節(jié)點(diǎn)發(fā)送過程中等待代價(jià)示意圖

      當(dāng)前節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),由于使用了基于CSMA 的MAC 層協(xié)議,因此必須通過探測的方式來進(jìn)行通信.然而當(dāng)真正選擇某個(gè)節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)時(shí),考慮該節(jié)點(diǎn)獲得數(shù)據(jù)后再向后進(jìn)行轉(zhuǎn)發(fā)的過程,顯然是該轉(zhuǎn)發(fā)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的工作周期覆蓋越全面,該轉(zhuǎn)發(fā)節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí)的等待時(shí)間就越短,延遲就越低,如圖4 所示.

      Fig.4 Waiting costs in the network layer圖4 網(wǎng)絡(luò)層中的等待代價(jià)示例

      當(dāng)前節(jié)點(diǎn)有兩個(gè)鄰居節(jié)點(diǎn)A和B,而A,B分別擁有兩個(gè)和3 個(gè)下一跳的鄰居節(jié)點(diǎn),其中,A的兩個(gè)鄰居節(jié)點(diǎn)的占空比分別為50%和60%,B的3 個(gè)候選節(jié)點(diǎn)的占空比為10%,20%和10%,并且工作周期在總周期中的位置如圖中所示.因此可以看出,如果選擇A節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),那么A節(jié)點(diǎn)在下一跳時(shí)可以很快將數(shù)據(jù)繼續(xù)轉(zhuǎn)發(fā)下去(因?yàn)锳節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的占空比之和達(dá)到了100%);如果選擇B節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),則意味著B拿到數(shù)據(jù)后有70%的時(shí)間是不能直接轉(zhuǎn)發(fā)的,必須等待候選節(jié)點(diǎn)的蘇醒(因?yàn)锽節(jié)點(diǎn)鄰居節(jié)點(diǎn)之間除去重疊部分,其占空比之和只有30%).因此,如果按照ECC的值排序,B的預(yù)期能耗小于A,從而優(yōu)先選擇B進(jìn)行轉(zhuǎn)發(fā)的話僅僅是在當(dāng)前情況下的最優(yōu)選擇,而在進(jìn)行到下一跳的轉(zhuǎn)發(fā)過程時(shí),B的選擇代價(jià)是大于A的.因此當(dāng)轉(zhuǎn)發(fā)候選集確定后,具體選擇哪個(gè)節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),本文協(xié)議考慮了通過轉(zhuǎn)發(fā)候選節(jié)點(diǎn)的鄰居節(jié)點(diǎn)占空比之和的判斷因素.

      在節(jié)點(diǎn)的每個(gè)周期中,易知其周期性醒來工作的時(shí)間為Twake=L×Du.假設(shè)使用表示轉(zhuǎn)發(fā)候選集中節(jié)點(diǎn)i和j醒來時(shí)間的重疊部分,那么對于該過程的等待代價(jià)而言,所有鄰居節(jié)點(diǎn)除過重疊部分的占空比之和越大,該節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)時(shí)的等待代價(jià)就越低.可以通過公式(10)計(jì)算對當(dāng)前節(jié)點(diǎn)u的所有鄰居節(jié)點(diǎn)的有效工作時(shí)間占總周期的比例RoFu:

      在上式的分子表示的時(shí)間段內(nèi),由于鄰居節(jié)點(diǎn)中總有節(jié)點(diǎn)是處于喚醒狀態(tài),因此在該時(shí)間段內(nèi),當(dāng)前節(jié)點(diǎn)總是能夠立刻將數(shù)據(jù)發(fā)送出去.而等待階段則由于沒有任何一個(gè)候選節(jié)點(diǎn)處于喚醒狀態(tài),故當(dāng)前節(jié)點(diǎn)的等待時(shí)間所占總周期的比例RoWu為

      可以看出,轉(zhuǎn)發(fā)候選節(jié)點(diǎn)的RoWu越小,其等待代價(jià)越小,節(jié)點(diǎn)發(fā)送數(shù)據(jù)的延遲也就越小.

      2.3 EDOR協(xié)議原理

      2.3.1 協(xié)議概述

      上一小節(jié)中討論了在異構(gòu)占空比網(wǎng)絡(luò)中影響節(jié)點(diǎn)能耗和延遲的因素,為了達(dá)到平衡能耗和延遲性能的目的,本節(jié)提出綜合能耗和延遲代價(jià)的機(jī)會(huì)路由協(xié)議.

      本協(xié)議主要分為探測鄰居節(jié)點(diǎn)、構(gòu)建轉(zhuǎn)發(fā)候選集以及選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)這幾個(gè)過程.其中,探測鄰居節(jié)點(diǎn)即為廣播探測包獲取鄰居節(jié)點(diǎn)ECC值以及RoW值的過程,而轉(zhuǎn)發(fā)候選集將根據(jù)第2.3.3 節(jié)中提出的轉(zhuǎn)發(fā)候選集選擇策略來構(gòu)建.接下來,本節(jié)將重點(diǎn)討論選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)的過程.

      2.3.2 轉(zhuǎn)發(fā)代價(jià)Cost

      本協(xié)議使用Cost值作為節(jié)點(diǎn)的通信代價(jià)來作為轉(zhuǎn)發(fā)節(jié)點(diǎn)的選擇標(biāo)準(zhǔn).考慮轉(zhuǎn)發(fā)代價(jià)時(shí),為了實(shí)現(xiàn)平衡能耗和延遲的目標(biāo),該值將通過各個(gè)轉(zhuǎn)發(fā)候選節(jié)點(diǎn)的ECC值以及RoWu來聯(lián)合確定.

      RoWu的值顯然處于[0,1]之間,因此當(dāng)候選集確定后選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí),也必須將傳輸代價(jià)的值歸一化到[0,1]區(qū)間內(nèi).假設(shè)由算法1 確定的轉(zhuǎn)發(fā)候選集中存在n個(gè)候選節(jié)點(diǎn),其ECC值分別為,則對轉(zhuǎn)發(fā)候選節(jié)點(diǎn)vi而言,通過公式(12)將其進(jìn)行歸一化處理.

      于是,真正衡量轉(zhuǎn)發(fā)候選節(jié)點(diǎn)通信代價(jià)標(biāo)準(zhǔn)的Cost值將由公式(13)計(jì)算.

      其中,系數(shù)a的數(shù)值將決定能耗因素和延遲因素的占比,將在評估與實(shí)驗(yàn)章節(jié)通過仿真實(shí)驗(yàn)來具體驗(yàn)證確定.轉(zhuǎn)發(fā)候選集中Cost值最低的節(jié)點(diǎn),即為應(yīng)該選擇的轉(zhuǎn)發(fā)節(jié)點(diǎn).

      2.3.3 轉(zhuǎn)發(fā)節(jié)點(diǎn)退避策略

      這一節(jié)中,本協(xié)議討論當(dāng)前發(fā)送節(jié)點(diǎn)如何將數(shù)據(jù)單播給通過上一節(jié)方法選定的轉(zhuǎn)發(fā)候選節(jié)點(diǎn),從而減少網(wǎng)絡(luò)中無效數(shù)據(jù)副本的數(shù)量.利用無線傳感網(wǎng)絡(luò)的廣播特性,當(dāng)前節(jié)點(diǎn)可以很容易將數(shù)據(jù)包發(fā)送給轉(zhuǎn)發(fā)候選集中的節(jié)點(diǎn),但這樣也會(huì)造成潛在的問題:如果一個(gè)數(shù)據(jù)包被很多候選節(jié)點(diǎn)收到而沒有合適的退避處理策略的話,這些候選節(jié)點(diǎn)將都給發(fā)送節(jié)點(diǎn)回復(fù)ACK,會(huì)大大提升碰撞的可能性,造成不必要的能量消耗;即便合理地使用了退避策略,如果一個(gè)候選節(jié)點(diǎn)不知道已經(jīng)有其他候選節(jié)點(diǎn)完成了轉(zhuǎn)發(fā)而選擇繼續(xù)轉(zhuǎn)發(fā),就會(huì)使同一個(gè)數(shù)據(jù)包在網(wǎng)絡(luò)中存在很多不必要的副本,造成能量浪費(fèi)和無效吞吐.針對這些問題,本協(xié)議提出基于選擇策略度量值Cost的退避策略以及ACK 壓制策略.

      為了減少碰撞帶來的能量和時(shí)間消耗,本協(xié)議利用Cost值設(shè)計(jì)一種退避策略.當(dāng)發(fā)送節(jié)點(diǎn)確定了自己的轉(zhuǎn)發(fā)候選集并計(jì)算出ECC值后,該節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí)將轉(zhuǎn)發(fā)候選集中最大的ECC值Cmax以及轉(zhuǎn)發(fā)候選集中所有節(jié)點(diǎn)的ECC值之和包含在內(nèi).收到數(shù)據(jù)節(jié)點(diǎn)通過與自身的ECC值進(jìn)行對比:如果,則該鄰居節(jié)點(diǎn)將自己選為轉(zhuǎn)發(fā)候選節(jié)點(diǎn),并在回復(fù)ACK 之前執(zhí)行退避過程.該節(jié)點(diǎn)的退避時(shí)間應(yīng)該同Cost值成正比,假設(shè)Bmax是MAC 層預(yù)設(shè)的最大的隨機(jī)退避時(shí)間,那么對候選集中的節(jié)點(diǎn)vi,其退避時(shí)間由公式(14)計(jì)算:

      通過這種退避機(jī)制,候選集中代價(jià)最小的節(jié)點(diǎn)將會(huì)退避最短的時(shí)間,即其擁有了最高的轉(zhuǎn)發(fā)優(yōu)先級.當(dāng)其退避時(shí)間結(jié)束后,將優(yōu)先廣播ACK 信息.這樣,當(dāng)發(fā)送節(jié)點(diǎn)接收到第1 個(gè)ACK 信息時(shí),得知其數(shù)據(jù)包已經(jīng)被成功接收.而其他收到該數(shù)據(jù)包的轉(zhuǎn)發(fā)候選節(jié)點(diǎn)由于退避時(shí)間較長,在其退避時(shí)間內(nèi)如果收到了來自其他節(jié)點(diǎn)的數(shù)據(jù)包ACK 信息,則該節(jié)點(diǎn)將收到的數(shù)據(jù)包丟棄,不再進(jìn)行轉(zhuǎn)發(fā)和回復(fù).通過這樣的退避以及ACK 壓制策略,本協(xié)議就實(shí)現(xiàn)了發(fā)送節(jié)點(diǎn)把數(shù)據(jù)單播給某一選定的轉(zhuǎn)發(fā)節(jié)點(diǎn),從而減少了該過程中額外的能量消耗.

      2.3.4 網(wǎng)絡(luò)初始化

      在網(wǎng)絡(luò)第1 次啟動(dòng)時(shí),整個(gè)網(wǎng)絡(luò)的初始建立過程將從基站(sink)開始到邊緣節(jié)點(diǎn),直到每一個(gè)節(jié)點(diǎn)都完成自身的初始化過程后進(jìn)入休眠狀態(tài)為止.每個(gè)節(jié)點(diǎn)在其初始化階段保持工作狀態(tài)不休眠,直到完成該節(jié)點(diǎn)的初始化過程后將休眠一整個(gè)時(shí)間周期L,之后,將根據(jù)其設(shè)定好的占空比開始正常的工作周期.

      當(dāng)網(wǎng)絡(luò)初始化開始時(shí),基站首先向全網(wǎng)發(fā)送廣播信息.廣播信息中包括其占空比D、ECC值C和其等待代價(jià)度量標(biāo)準(zhǔn)RoW(對基站而言,由于其是組網(wǎng)的第1 個(gè)節(jié)點(diǎn)并且不休眠,因此Dsink=100%,Csink=0,RoWsink=0).因?yàn)閟ink 是該網(wǎng)絡(luò)中所有數(shù)據(jù)包的歸宿,因此收到其廣播包的節(jié)點(diǎn)都將其視為自己的下一跳以及轉(zhuǎn)發(fā)唯一的轉(zhuǎn)發(fā)候選節(jié)點(diǎn),并據(jù)此計(jì)算自己相應(yīng)的ECC值.計(jì)算完畢后,為了防止碰撞消耗不必要的能量,每個(gè)節(jié)點(diǎn)隨機(jī)退避一個(gè)時(shí)間后,繼續(xù)將含有自己占空比和ECC值信息的包廣播出去.節(jié)點(diǎn)廣播之后,將會(huì)監(jiān)聽一段時(shí)間(T1)來確認(rèn)自己的包是否被至少1 個(gè)節(jié)點(diǎn)接收到,如果沒有問題,節(jié)點(diǎn)將休眠一整個(gè)周期.

      對于網(wǎng)絡(luò)中距離匯聚節(jié)點(diǎn)兩跳及以上的節(jié)點(diǎn)u,當(dāng)其接受到其他節(jié)點(diǎn)廣播包中的信息時(shí),將其id 號加入到自己的鄰居節(jié)點(diǎn)集N(u).當(dāng)經(jīng)過一段監(jiān)聽時(shí)間(T2)不再收到廣播信息時(shí),利用前文中提出的轉(zhuǎn)發(fā)候選集構(gòu)建方案,將N(u)中的節(jié)點(diǎn)按C值排序后依次嘗試加入并最終形成候選集Fwdsort(u),同時(shí)計(jì)算出該轉(zhuǎn)發(fā)候選集情況下當(dāng)前節(jié)點(diǎn)的預(yù)期能耗值Cu,并根據(jù)當(dāng)前時(shí)間和廣播包中的占空比信息計(jì)算出節(jié)點(diǎn)的RoWu,以便為之后的轉(zhuǎn)發(fā)決策服務(wù).通過每個(gè)廣播包,可以計(jì)算該發(fā)包節(jié)點(diǎn)(即轉(zhuǎn)發(fā)候選節(jié)點(diǎn))下次醒來的時(shí)間為

      則其工作時(shí)間的范圍即為

      通過此計(jì)算方法,還可以估算出不同發(fā)送節(jié)點(diǎn)占空比的重疊部分,從而計(jì)算出當(dāng)前轉(zhuǎn)發(fā)候選集情況下節(jié)點(diǎn)u的RoWu值.之后,當(dāng)前節(jié)點(diǎn)同樣隨機(jī)退避一個(gè)時(shí)間之后將自己的占空比D、ECC值C及其等待代價(jià)度量標(biāo)準(zhǔn)RoW值加入包中廣播出去,廣播完成后,使用同樣的機(jī)制監(jiān)聽一段時(shí)間(T1)進(jìn)入休眠.同理,網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)初始化過程中都執(zhí)行這樣一整套流程后,整個(gè)網(wǎng)絡(luò)初始化過程結(jié)束.這時(shí),網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的轉(zhuǎn)發(fā)候選集以及等待代價(jià)度量標(biāo)準(zhǔn)RoWu都得以確定.

      2.3.5 網(wǎng)絡(luò)通信過程

      當(dāng)網(wǎng)絡(luò)的初始化過程完成后,網(wǎng)絡(luò)中的節(jié)點(diǎn)將陸續(xù)醒來進(jìn)行發(fā)送或轉(zhuǎn)發(fā)數(shù)據(jù)包的工作.當(dāng)一個(gè)節(jié)點(diǎn)有數(shù)據(jù)包要發(fā)送時(shí),首先廣播探測包,然后利用收到回復(fù)的節(jié)點(diǎn)中根據(jù)其ECC值參考前文提出的算法選擇是否加入轉(zhuǎn)發(fā)候選集.由于初始化過程結(jié)束后網(wǎng)絡(luò)中節(jié)點(diǎn)的ECC值是按照遠(yuǎn)離匯聚節(jié)點(diǎn)逐漸增大而排布的,因此根據(jù)算法中加入候選集的節(jié)點(diǎn)都是ECC值小于當(dāng)前值這一規(guī)則,可以避免將上一跳的節(jié)點(diǎn)加入候選集而形成路由環(huán)路.當(dāng)前節(jié)點(diǎn)也隨著候選集中節(jié)點(diǎn)的不斷加入而重新計(jì)算自己的C值,直到不再有可以降低本身ECC值的節(jié)點(diǎn)出現(xiàn)時(shí),當(dāng)前發(fā)送節(jié)點(diǎn)的轉(zhuǎn)發(fā)候選集就確定了.轉(zhuǎn)發(fā)候選集的確定會(huì)使一部分能耗代價(jià)較高的鄰居節(jié)點(diǎn)被排除,這樣可以降低節(jié)點(diǎn)之間通信的能耗.之后,轉(zhuǎn)發(fā)候選節(jié)點(diǎn)通過公式(13)計(jì)算出的Cost值執(zhí)行退避,從而完成轉(zhuǎn)發(fā)過程.在此過程中,把轉(zhuǎn)發(fā)數(shù)據(jù)的延遲降到最小.如圖5 所示為一個(gè)節(jié)點(diǎn)通信過程示例.

      Fig.5 Example of communication process圖5 通信過程示例

      如圖5 所示,Sender 為發(fā)送節(jié)點(diǎn),其含有3 個(gè)鄰居節(jié)點(diǎn)A,B,C;同時(shí),節(jié)點(diǎn)A有3 個(gè)鄰居節(jié)點(diǎn)B,D和E,節(jié)點(diǎn)B有鄰居節(jié)點(diǎn)A,C,E和F,節(jié)點(diǎn)C的鄰居節(jié)點(diǎn)為B,F,G,H.Sender 首先廣播探測包,假設(shè)得到節(jié)點(diǎn)A,B,C回復(fù)的各自的ECC值分別為1,1.5 和3.假設(shè)發(fā)送節(jié)點(diǎn)同A,B,C之間鏈路的錯(cuò)誤率都為0.5,而發(fā)送功率為1.

      (1) Sender 根據(jù)ECC值將A,B,C節(jié)點(diǎn)從小到大排序,首先將節(jié)點(diǎn)A加入轉(zhuǎn)發(fā)候選集,并計(jì)算出自己當(dāng)前的ECC值為3;之后比較節(jié)點(diǎn)B的ECC值小于3,于是將B也加入轉(zhuǎn)發(fā)候選集,重新計(jì)算自己的ECC值為2.25;此時(shí)發(fā)現(xiàn)節(jié)點(diǎn)C的ECC值大于當(dāng)前計(jì)算出的ECC值,于是不將C值加入,轉(zhuǎn)發(fā)候選集構(gòu)建結(jié)束,將能耗代價(jià)較高的鄰居節(jié)點(diǎn)C被排除,降低節(jié)點(diǎn)之間通信的能耗.

      (2) Sender 將轉(zhuǎn)發(fā)候選集中節(jié)點(diǎn)最大的ECC值1.5 作為閾值和所有ECC值之和2.5 加入數(shù)據(jù)包進(jìn)行廣播,收到數(shù)據(jù)包的節(jié)點(diǎn)A,B,C將自己的ECC值與閾值1.5 進(jìn)行對比,其中,節(jié)點(diǎn)A,B發(fā)現(xiàn)自己的ECC值小于等于該閾值,于是將自己視為轉(zhuǎn)發(fā)節(jié)點(diǎn),準(zhǔn)備執(zhí)行退避后轉(zhuǎn)發(fā),節(jié)點(diǎn)C則丟棄該數(shù)據(jù)包.

      (3) 節(jié)點(diǎn)A,B根據(jù)退避計(jì)算公式計(jì)算自己需要退避的時(shí)間,如果節(jié)點(diǎn)A退避時(shí)間短,則首先廣播ACK,Sender 節(jié)點(diǎn)收到ACK 后得知轉(zhuǎn)發(fā)成功;而節(jié)點(diǎn)B收到A的ACK 則得知自己的轉(zhuǎn)發(fā)優(yōu)先級較低,于是丟棄收到的數(shù)據(jù)包,使得轉(zhuǎn)發(fā)數(shù)據(jù)的延遲最短,實(shí)現(xiàn)能耗和延遲的平衡.

      在該過程中,單個(gè)節(jié)點(diǎn)的占空比雖然不會(huì)發(fā)生變化,但是由于網(wǎng)絡(luò)中鏈路質(zhì)量有可能改變,從而造成節(jié)點(diǎn)的鄰居節(jié)點(diǎn)集可能發(fā)生變化;并且由于時(shí)鐘累計(jì)后出現(xiàn)誤差現(xiàn)象的存在,節(jié)點(diǎn)的鄰居節(jié)點(diǎn)工作周期的重疊部分也可能發(fā)生變化,這些都可能改變一個(gè)節(jié)點(diǎn)的RoW值,從而影響路由決策.為了解決這個(gè)問題,本協(xié)議設(shè)計(jì)了更新節(jié)點(diǎn)RoW值的策略:初始化階段時(shí),鄰居節(jié)點(diǎn)回復(fù)發(fā)送節(jié)點(diǎn)時(shí)會(huì)捎帶自己的占空比等信息;而在網(wǎng)絡(luò)結(jié)束初始化過程開始正常運(yùn)行時(shí),鄰居節(jié)點(diǎn)將在回復(fù)的信息中添加一項(xiàng)Tpass,代表其睡醒后經(jīng)過的時(shí)間;而發(fā)送節(jié)點(diǎn)接收到后,可以根據(jù)自身的時(shí)鐘來修正時(shí)鐘漂移帶來的誤差.

      3 實(shí)驗(yàn)設(shè)計(jì)與分析

      為了驗(yàn)證所提出的路由協(xié)議的有效性,本文利用Omnet++仿真平臺(tái)在MAC 層使用CSMA 的基礎(chǔ)上對EDOR 協(xié)議進(jìn)行了多組實(shí)驗(yàn).由于能量收集型節(jié)點(diǎn)的能量收集過程對上層來說是隱藏的,并且該過程也不是本協(xié)議研究的范疇,因此本文使用占空比較高的節(jié)點(diǎn)模擬代替能量收集型節(jié)點(diǎn),并研究所提出的EDOR 協(xié)議的能耗和延遲性能.

      本文對不同數(shù)量、不同占空比類型的節(jié)點(diǎn)組成的網(wǎng)絡(luò)環(huán)境都進(jìn)行了測試.由于本協(xié)議適用于擁有相對較高占空比的能量收集型節(jié)點(diǎn),因此將使用4 種不同占空比類型的節(jié)點(diǎn),分別是占空比為40%,30%,20%以及低于10%的節(jié)點(diǎn).實(shí)驗(yàn)中使用N-X%-Y%-Z%分別表示節(jié)點(diǎn)的總個(gè)數(shù)為N、占空比為40%的節(jié)點(diǎn)占比為X%、30%的占比為Y%、20%的占比為Z%、其余為占空比低于10%的節(jié)點(diǎn).所有節(jié)點(diǎn)的總周期長度L一致,其他一些網(wǎng)絡(luò)設(shè)置的關(guān)鍵參數(shù)見表1.

      Table 1 Settings of network parameter表1 網(wǎng)絡(luò)參數(shù)設(shè)置

      3.1 系數(shù)確定實(shí)驗(yàn)

      為了確定轉(zhuǎn)發(fā)候選節(jié)點(diǎn)選擇標(biāo)準(zhǔn)Cost值計(jì)算公式中的系數(shù)a,本實(shí)驗(yàn)將系數(shù)a在[0,1]的區(qū)間內(nèi)每次變化0.1,從而產(chǎn)生11 組對比數(shù)據(jù);同時(shí),利用OMNeT++平臺(tái)的拓?fù)洚a(chǎn)生器隨機(jī)產(chǎn)生6 組不同規(guī)模和節(jié)點(diǎn)類型的拓?fù)?見表2.

      Table 2 Example of test networking表2 測試網(wǎng)絡(luò)示例

      本文首先對端到端延遲進(jìn)行了仿真實(shí)驗(yàn),得到了如圖6 所示的結(jié)果.從圖中可以看出,隨著Cost值計(jì)算公式中系數(shù)a取值的不斷增大,不同的網(wǎng)絡(luò)拓?fù)渚憩F(xiàn)出延遲上升的總體趨勢.這時(shí),因?yàn)殡S著系數(shù)a取值的增大,RoW值在Cost中的占比就越來越小,因此在對轉(zhuǎn)發(fā)候選集中的節(jié)點(diǎn)進(jìn)行選擇時(shí),候選節(jié)點(diǎn)的鄰居節(jié)點(diǎn)占空比之和對決策的影響就越小,發(fā)送節(jié)點(diǎn)更傾向于選擇能耗較小而不是延遲較低的節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),因而端到端延遲隨之變大.同時(shí)可以看出,隨著節(jié)點(diǎn)個(gè)數(shù)的增多,每個(gè)節(jié)點(diǎn)鄰居節(jié)點(diǎn)數(shù)目的增多,網(wǎng)絡(luò)中平均延遲的數(shù)值是在減小的.對于具有相同節(jié)點(diǎn)數(shù)目的網(wǎng)絡(luò)T4,T5,T6,則隨著網(wǎng)絡(luò)中高占空比節(jié)點(diǎn)數(shù)目的增加使得通信節(jié)點(diǎn)之間工作周期相遇的概率提升,從而延遲減少.

      對于節(jié)點(diǎn)的能量消耗問題,本實(shí)驗(yàn)使用發(fā)包的數(shù)量來模擬衡量.本文使6 組網(wǎng)絡(luò)分別仿真相同的時(shí)間,在同樣的時(shí)間跨度內(nèi),發(fā)包次數(shù)越多,代表節(jié)點(diǎn)處于工作狀態(tài)的時(shí)間越長,進(jìn)行的通信過程越多,從而能耗越大.結(jié)果如圖7 所示.

      從圖7 中可以看出,隨著系數(shù)a值的不斷增大,Cost值計(jì)算中關(guān)于ECC值的占比不斷上升,即發(fā)送節(jié)點(diǎn)在從轉(zhuǎn)發(fā)候選集中選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí),會(huì)更傾向于能耗較少而不是延遲較低的節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā).因此,節(jié)點(diǎn)平均發(fā)包數(shù)量整體在減少.同時(shí)還發(fā)現(xiàn),在T1和T2的網(wǎng)絡(luò)情況下,發(fā)包數(shù)量的下降并不明顯.這是因?yàn)樵诰W(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量較少時(shí),每個(gè)發(fā)送節(jié)點(diǎn)的鄰居節(jié)點(diǎn)以及選定的轉(zhuǎn)發(fā)候選中的節(jié)點(diǎn)數(shù)量都不會(huì)很多,在轉(zhuǎn)發(fā)候選集選擇過程中已經(jīng)將能耗較大的節(jié)點(diǎn)排除在外的情況下,節(jié)點(diǎn)發(fā)包數(shù)量的變化并不明顯.而隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,能耗下降的趨勢就逐漸顯現(xiàn)出來.從圖中可以看出,隨著網(wǎng)絡(luò)中節(jié)點(diǎn)個(gè)數(shù)的增加,節(jié)點(diǎn)的平均能耗也會(huì)增加.這是由于隨著鄰居節(jié)點(diǎn)個(gè)數(shù)的增多,節(jié)點(diǎn)的通信頻率增加造成的.T5,T6相比于T4則是隨著網(wǎng)絡(luò)中高占空比節(jié)點(diǎn)數(shù)量的增加,能耗相應(yīng)增加.

      Fig.6 Average delay of end-to-end圖6 端到端延遲平均值

      Fig.7 Average number of packets圖7 發(fā)包數(shù)量平均值

      從兩個(gè)圖中可知,隨著系數(shù)a的增大,節(jié)點(diǎn)的延遲和能耗的整體變化趨勢是相反的,這符合前文的分析和設(shè)定.由于轉(zhuǎn)發(fā)候選集的確定已經(jīng)使得一部分能耗代價(jià)較高的鄰居節(jié)點(diǎn)被排除,因此在從轉(zhuǎn)發(fā)候選集中選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí),本協(xié)議更傾向于考慮降低延遲.從圖中可以看出,a值處于[0,0.4]范圍時(shí),延遲相對處在較低水平,能耗則在a值取得0.2 開始,T4,T5,T6均出現(xiàn)較明顯的能耗下降,因此本協(xié)議選擇a值為0.2.

      3.2 單一轉(zhuǎn)發(fā)節(jié)點(diǎn)驗(yàn)證實(shí)驗(yàn)

      為了減少網(wǎng)絡(luò)中無效的數(shù)據(jù)副本數(shù)量,本文協(xié)議設(shè)定了從轉(zhuǎn)發(fā)候選集中選擇單一節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)的退避過程.對6 種隨機(jī)網(wǎng)絡(luò)拓?fù)?分別測試了每個(gè)數(shù)據(jù)包被轉(zhuǎn)發(fā)的次數(shù),以此來驗(yàn)證該退避過程對于確定單一轉(zhuǎn)發(fā)節(jié)點(diǎn)的有效性.仿真結(jié)果如圖8 所示.

      Fig.8 Average number of forwarding nodes per hop圖8 每跳平均轉(zhuǎn)發(fā)節(jié)點(diǎn)個(gè)數(shù)

      從上圖中可以看出,隨著網(wǎng)絡(luò)拓?fù)湟?guī)模的增大,真正轉(zhuǎn)發(fā)數(shù)據(jù)包的節(jié)點(diǎn)有所增加,但總體基本接近于一個(gè).這時(shí),由于雖然本文協(xié)議使用基于Cost值的退避來選擇唯一轉(zhuǎn)發(fā)節(jié)點(diǎn),并且利用Cost值較小的節(jié)點(diǎn),使用ACK壓制了其他轉(zhuǎn)發(fā)候選節(jié)點(diǎn),但是因隱藏終端問題的存在,有可能被選中的轉(zhuǎn)發(fā)節(jié)點(diǎn)發(fā)送的ACK 無法被所有轉(zhuǎn)發(fā)候選節(jié)點(diǎn)收到,而誤以為自己是被選中的轉(zhuǎn)發(fā)節(jié)點(diǎn).這種情況出現(xiàn)的次數(shù)隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大、鄰居節(jié)點(diǎn)數(shù)目的增多而增加,因此使得有些數(shù)據(jù)包可能會(huì)被兩個(gè)節(jié)點(diǎn)轉(zhuǎn)發(fā).然而,因?yàn)樵谵D(zhuǎn)發(fā)候選集的構(gòu)建過程中已經(jīng)排除了一部分鄰居節(jié)點(diǎn),剩余的加入轉(zhuǎn)發(fā)候選集的節(jié)點(diǎn)彼此之間不在通信范圍內(nèi)的概率很低,所以出現(xiàn)兩個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)的概率很低,兩個(gè)以上的情況幾乎沒有.因此,本文協(xié)議基本實(shí)現(xiàn)了數(shù)據(jù)包單一轉(zhuǎn)發(fā)的功能,從而有效減少了網(wǎng)絡(luò)中的無用副本.

      3.3 對比實(shí)驗(yàn)

      3.3.1 延遲比較

      為了驗(yàn)證本協(xié)議(EDOR-Cost)的有效性,實(shí)驗(yàn)中對比了同樣是機(jī)會(huì)路由的比較經(jīng)典的ORW 協(xié)議(ORWETC)以及對其進(jìn)行改進(jìn)的EoR 協(xié)議(EoR-ETC),從平均延遲和平均能耗兩方面,同樣使用了6 種隨機(jī)網(wǎng)絡(luò)拓?fù)溥M(jìn)行了對比實(shí)驗(yàn).

      本文對6 種網(wǎng)絡(luò)拓?fù)湎? 種方法的端到端延遲和單跳延遲進(jìn)行了實(shí)驗(yàn),結(jié)果如圖9 和圖10 所示.

      Fig.9 Comparison of the average end-to-end delay圖9 平均端到端延遲比較

      Fig.10 Comparison of average one-hop delay圖10 平均單跳延遲比較

      從兩圖中可以看出,無論是端到端延遲還是單跳延遲,本文提出協(xié)議的延遲都在ORW 和EoR 方法之間,并且更靠近延遲較低的EoR 方法.因?yàn)镺RW 只是根據(jù)候選節(jié)點(diǎn)的下一跳鄰居節(jié)點(diǎn)的個(gè)數(shù)來進(jìn)行選擇,相當(dāng)于忽略了等待過程產(chǎn)生的代價(jià),其選擇的轉(zhuǎn)發(fā)節(jié)點(diǎn)并不是下一跳轉(zhuǎn)發(fā)時(shí)延遲較小的節(jié)點(diǎn).而EoR 方法則充分考慮了節(jié)點(diǎn)自身和其轉(zhuǎn)發(fā)候選節(jié)點(diǎn)占空比的情況,在進(jìn)行選擇時(shí)相比ORW 方法提升了延遲性能.本文的方法EDOR綜合考慮了節(jié)點(diǎn)的能耗和延遲兩方面因素,在平衡兩者的同時(shí),在延遲方面取得了接近EoR 方法的良好效果.

      3.3.2 能耗比較

      本文隨機(jī)選取了網(wǎng)絡(luò)拓?fù)銽3來比較3 個(gè)協(xié)議的節(jié)點(diǎn)能耗.為了使得能耗的數(shù)值更貼近于數(shù)據(jù)收集網(wǎng)絡(luò)的實(shí)際情況,選取基站收集到同樣數(shù)量的數(shù)據(jù)包時(shí),節(jié)點(diǎn)產(chǎn)生的平均能耗,即當(dāng)基站收集到相同數(shù)量的數(shù)據(jù)包時(shí),節(jié)點(diǎn)平均能耗更低的協(xié)議可以使得網(wǎng)絡(luò)能夠更好地完成收集任務(wù).能量收集型節(jié)點(diǎn)的能量級別很低,節(jié)點(diǎn)一次發(fā)送或接收過程產(chǎn)生的能耗在10?1mA 甚至微安級別,本實(shí)驗(yàn)根據(jù)文獻(xiàn)[33]中提供的參考,將節(jié)點(diǎn)進(jìn)行一次發(fā)送和傳輸?shù)哪芰肯姆謩e設(shè)定為0.56mW 和0.67mW 進(jìn)行仿真實(shí)驗(yàn),得到的結(jié)果如圖11 所示.

      Fig.11 Comparison of average energy consumption圖11 平均能耗比較

      由上圖可以看出,隨著基站收集到的包的數(shù)量的增加,節(jié)點(diǎn)的能耗基本呈線性增加的趨勢(前提是該節(jié)點(diǎn)擁有足夠的能量).其中,EoR 方法由于減少了節(jié)點(diǎn)的平均等待時(shí)間,使得不用頻繁地發(fā)送探測包或者監(jiān)聽信道,從而能耗情況也優(yōu)于ORW 協(xié)議.而本協(xié)議由于能量模型的存在,轉(zhuǎn)發(fā)候選集中選擇的節(jié)點(diǎn)都向后轉(zhuǎn)發(fā)時(shí)預(yù)計(jì)能量消耗較少的節(jié)點(diǎn),因此取得了最優(yōu)的能耗特性.

      4 總結(jié)與展望

      針對于無源感知網(wǎng)絡(luò),本文提出了基于綜合能耗和延遲代價(jià)的機(jī)會(huì)路由協(xié)議,利用節(jié)點(diǎn)的預(yù)期能耗模型以及單一轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇策略,平衡了節(jié)點(diǎn)的能耗和延遲.通過仿真實(shí)驗(yàn),證明了本文提出的協(xié)議取得了良好的能耗和延遲效果,并且成功降低了網(wǎng)絡(luò)中的無效數(shù)據(jù)副本數(shù)目.在實(shí)驗(yàn)方面,將研制自己的無源感知節(jié)點(diǎn),考慮在HitchHike 的基礎(chǔ)上做進(jìn)一步的改進(jìn),參考WISP5 上的energy harvesting 部分的電路,使用能量收集技術(shù),結(jié)合無線能量獲取與太陽能,為系統(tǒng)構(gòu)建專門的軟件,通過指令集優(yōu)化系統(tǒng),節(jié)約能耗,對實(shí)驗(yàn)加以擴(kuò)展.

      猜你喜歡
      無源數(shù)據(jù)包路由
      一種三相無源逆變電源供電方案設(shè)計(jì)
      電子制作(2019年12期)2019-07-16 08:45:14
      SmartSniff
      探究路由與環(huán)路的問題
      基于PCH模型的航天器姿態(tài)無源控制
      無源互調(diào)干擾對TD-LTE系統(tǒng)的影響研究
      新型無源無損軟開關(guān)Cuk變換器的研制
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
      PRIME和G3-PLC路由機(jī)制對比
      WSN中基于等高度路由的源位置隱私保護(hù)
      eNSP在路由交換課程教學(xué)改革中的應(yīng)用
      河南科技(2014年5期)2014-02-27 14:08:56
      新巴尔虎右旗| 阳曲县| 灵寿县| 普洱| 石嘴山市| 永靖县| 南丹县| 漯河市| 青州市| 静乐县| 左云县| 诸暨市| 繁峙县| 红原县| 桦南县| 江都市| 青海省| 荥经县| 英超| 上杭县| 青海省| 扎囊县| 忻州市| 湘潭县| 兴和县| 正阳县| 望城县| 竹北市| 抚顺县| 绥滨县| 北海市| 麻栗坡县| 台中县| 安平县| 宜兰县| 汕尾市| 琼海市| 平南县| 双峰县| 周至县| 盐边县|