趙海軍,賀春林,蒲斌,崔夢(mèng)天
(1. 西華師范大學(xué)計(jì)算機(jī)學(xué)院,四川 南充 637009;2. 西南民族大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川 成都 610041)
無線傳感器和參與者網(wǎng)絡(luò)(WSAN, wireless sensor and actor network)[1]是一種分布式異構(gòu)設(shè)備無線通信系統(tǒng),異構(gòu)設(shè)備主要是傳感器和參與者,其網(wǎng)絡(luò)物理結(jié)構(gòu)如圖1所示。這里的參與者不同于傳統(tǒng)的執(zhí)行器的概念,它除了能夠通過幾個(gè)執(zhí)行器在環(huán)境中工作外,還是一個(gè)執(zhí)行與網(wǎng)絡(luò)相關(guān)功能的單一網(wǎng)絡(luò)實(shí)體,即接收、發(fā)送和轉(zhuǎn)發(fā)數(shù)據(jù)。在大多數(shù)應(yīng)用中,參與者是資源豐富的超大處理能力和高傳輸功率設(shè)備及長(zhǎng)壽命的電池。
圖1 無線傳感器和參與者網(wǎng)絡(luò)的網(wǎng)絡(luò)物理結(jié)構(gòu)
WSAN中的不少應(yīng)用與加強(qiáng)和補(bǔ)充現(xiàn)有的傳感器網(wǎng)絡(luò)應(yīng)用有關(guān)。在這些應(yīng)用中,執(zhí)行活動(dòng)主要是通過啟用或擴(kuò)展其監(jiān)控能力來增強(qiáng)傳感器網(wǎng)絡(luò)的操作。例如,移動(dòng)參與者可以準(zhǔn)確地部署傳感器,實(shí)現(xiàn)對(duì)環(huán)境的自適應(yīng)采樣,從近距離的傳感器拾取數(shù)據(jù)、緩沖數(shù)據(jù),并將數(shù)據(jù)發(fā)送到有線接入點(diǎn),或者執(zhí)行能量收集[2-4]。
關(guān)于WSAN的研究,文獻(xiàn)[5]針對(duì)靜態(tài)WSAN的通信和協(xié)作問題提出了一種框架,并提出了傳感器-參與者協(xié)作和參與者-參與者協(xié)作的概念,以及集中式最佳解決方案和分布啟發(fā)式解決方案。文獻(xiàn)[6]提出了一種適用于無線傳感器網(wǎng)絡(luò)的單純事務(wù)管理模型,主要包括事務(wù)并發(fā)控制策略和事務(wù)原子提交協(xié)議。在事務(wù)并發(fā)控制方面,結(jié)合無線傳感器網(wǎng)絡(luò)的特點(diǎn)使用了輕量級(jí)的向前驗(yàn)證的樂觀并發(fā)控制;在事務(wù)原子提交協(xié)議方面,提出了基于緩存和定時(shí)器的二階段提交協(xié)議,為參與者提供了緩存機(jī)制,有效利用協(xié)調(diào)者的廣播信息,降低能量消耗。在協(xié)調(diào)者和參與者中加入了定時(shí)器,定時(shí)器觸發(fā)后會(huì)提供事務(wù)處理統(tǒng)一的結(jié)果(提交或撤銷);此外,還為協(xié)調(diào)者加入了心跳算法來提高協(xié)議的可靠性;但該模型最大的不足是未考慮協(xié)調(diào)者和參與者之間的通信機(jī)制問題。文獻(xiàn)[7-8]研究了傳感器網(wǎng)絡(luò)中的實(shí)時(shí)通信問題,但并未就傳感器和參與者之間的數(shù)據(jù)交換和協(xié)作進(jìn)行研究。文獻(xiàn)[9]針對(duì)傳感器網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送的能量消耗和時(shí)延之間的權(quán)衡進(jìn)行了研究。文獻(xiàn)[10-11]采用地理位置信息對(duì)傳感器網(wǎng)絡(luò)的可擴(kuò)展路由進(jìn)行了研究,以減少傳感器之間協(xié)作所需要的信號(hào)強(qiáng)度和能耗。
本文針對(duì)有移動(dòng)參與者的 WSAN中的協(xié)作和通信問題進(jìn)行研究,提出的主動(dòng)位置管理方案以最小能量消耗來管理參與者的移動(dòng)性。參與者廣播其位置的更新,基于Voronoi圖限制其范圍,而傳感器基于先前接收到的更新卡爾曼濾波來預(yù)測(cè)參與者的移動(dòng);然后得到一種基于地理路由的最佳能量感知轉(zhuǎn)發(fā)規(guī)則作為傳感器-參與者之間的通信,并采用功率控制來控制數(shù)據(jù)傳輸過程的時(shí)延,通過迫使多個(gè)參與者成為在事件區(qū)域中生成流量的接收者來解決網(wǎng)絡(luò)擁塞;最后基于事件特征提出了參與者-參與者之間的協(xié)作模型來對(duì)參與者之間的移動(dòng)進(jìn)行協(xié)調(diào),以最佳地完成任務(wù)。仿真結(jié)果表明,本文提出的關(guān)于WSAN的通信機(jī)制是有效的。
假設(shè)網(wǎng)絡(luò)由NS個(gè)傳感器和NA個(gè)參與者構(gòu)成,且NS>>NA。每個(gè)傳感器配備一個(gè)低數(shù)據(jù)速率的無線接口,每個(gè)參與者配備2個(gè)無線發(fā)射器,一個(gè)低數(shù)據(jù)速率發(fā)射器用于與傳感器進(jìn)行通信,一個(gè)高速率無線接口用于參與者-參與者之間的通信。
根據(jù)傳感器網(wǎng)絡(luò)路由算法[5,12-13],本文基于地理路由范式來實(shí)現(xiàn)傳感器-參與者之間的協(xié)作管理,因?yàn)檫@樣可以在不增加信令開銷的情況下對(duì)網(wǎng)絡(luò)規(guī)模進(jìn)行擴(kuò)展,且路由判決本質(zhì)上是局部化的。但在具有移動(dòng)節(jié)點(diǎn)和多個(gè)接收者的網(wǎng)絡(luò)中,還依賴于有效的位置管理策略,才能夠提供任何時(shí)刻與移動(dòng)節(jié)點(diǎn)位置相關(guān)的節(jié)點(diǎn)。為此,本文提出了一種主動(dòng)位置管理方法,該方法基于移動(dòng)參與者發(fā)送給傳感器的更新消息。在 WSAN中,每個(gè)參與者是一個(gè)等效的信息接收者,因而傳感器-參與者之間的通信是局部的,即每個(gè)傳感器發(fā)送信息給它的最近參與者。因此,在空域中,廣播可以基于 Voronoi圖[14]進(jìn)行限制;同時(shí),參與者的移動(dòng)在某種程度上是可預(yù)測(cè)的,因?yàn)樗怯蓞⑴c者-參與者之間的協(xié)作過程驅(qū)動(dòng)的。因而在時(shí)域中,位置更新可以被限制到參與者的位置,這個(gè)位置不能在傳感器一側(cè)被預(yù)測(cè)。當(dāng)參與者的實(shí)際位置“遠(yuǎn)”于根據(jù)過去測(cè)量值在傳感器上可預(yù)測(cè)的位置時(shí),位置更新將在參與者上被觸發(fā)。
本文采用Voronoi圖來限制由參與者發(fā)起的位置更新范圍。一組離散站點(diǎn)的Voronoi圖將平面分割成一組凸多邊形,使多邊形內(nèi)的全部點(diǎn)都僅離一個(gè)站點(diǎn)最近。如果一個(gè)傳感器s的位置位于一個(gè)參與者a的Voronoi圖單元中,就說傳感器s由參與者a控制。每個(gè)參與者負(fù)責(zé)其Voronoi圖單元中傳感器的位置更新,并調(diào)節(jié)其功率,以限制超出其Voronoi圖單元的最遠(yuǎn)點(diǎn)的干擾,因此每個(gè)傳感器希望從控制它的參與者處接收位置更新。如果參與者能夠在一跳中到達(dá)其Voronoi圖單元中的全部傳感器(這在許多實(shí)際情況下是可能的),則大部分的能量消耗在參與者上。
在二維坐標(biāo)系中,第i個(gè)參與者的動(dòng)態(tài)運(yùn)動(dòng)模型可以采用狀態(tài)空間法[15]得到其等價(jià)的離散時(shí)間動(dòng)態(tài)方程,即
式(1)表示系統(tǒng)的狀態(tài)轉(zhuǎn)移方程,描述了第i個(gè)參與者在時(shí)間步k-1和k之間的運(yùn)動(dòng),其中,有
時(shí)間步k與第i個(gè)參與者觀察到的位置和狀態(tài)有關(guān),可用測(cè)量方程表示為
卡爾曼濾波[16]提供了一組高效計(jì)算的遞歸方程來估計(jì)參與者的動(dòng)態(tài)運(yùn)動(dòng)過程的狀態(tài),本文利用它來估計(jì)參與者的位置,并在傳感器上預(yù)測(cè)參與者的位置,從而減少信息交換。參與者的位置可以基于在參與者上得到的測(cè)量值z(mì)ik并在參與者的Voronoi圖單元中的傳感器上進(jìn)行估計(jì)和預(yù)測(cè),通過參與者廣播。在時(shí)間步k,第i個(gè)參與者的Voronoi圖單元中的每個(gè)傳感器s根據(jù)式(4)更新狀態(tài)(參與者的位置和速度)。
式(4)描述了在接收測(cè)量值之前(先驗(yàn)估計(jì)值)傳感器s如何預(yù)測(cè)參與者的狀態(tài)。注意,控制輸入在傳感器上是未知的,同時(shí)被用于參與者更新狀態(tài);然后,傳感器s預(yù)先預(yù)測(cè)協(xié)方差矩陣,在接收到來自參與者的測(cè)量值后,更新卡爾曼增益(如式(5)所示),并根據(jù)測(cè)量值校正狀態(tài)估計(jì)值(如式(6)所示)和協(xié)方差矩陣(如式(7)所示),即
在每個(gè)時(shí)間步k,每個(gè)參與者都試圖在它的Voronoi圖單元中的傳感器上執(zhí)行預(yù)測(cè)過程,通過對(duì)新的測(cè)量值濾波,計(jì)算其實(shí)際新的位置,并廣播新的測(cè)量值如果傳感器s在時(shí)間步k沒接收到位置更新,則假設(shè)即預(yù)測(cè)的位置與參與者實(shí)際的新的位置一致,在此基礎(chǔ)上,按式(5)~式(7)更新參與者的狀態(tài)估計(jì)值。
本文提出了一種可靠性概念,即由一個(gè)參與者感知到的事件可靠性r是在一個(gè)判決間隔中的可靠數(shù)據(jù)分組與接收到的全部數(shù)據(jù)分組的比值,如果在給定的時(shí)延范圍內(nèi)數(shù)據(jù)分組被接收,則認(rèn)為這個(gè)數(shù)據(jù)分組是可靠的;事件可靠性閾值rth是所要求的最小的事件可靠性。本文的目標(biāo)是當(dāng)數(shù)據(jù)必須在一個(gè)給定的時(shí)間限制內(nèi)以一個(gè)給定的可靠性閾值rth交付時(shí),換取的能量消耗時(shí)延。
大多關(guān)于地理路由的研究主要考慮貪婪轉(zhuǎn)發(fā),即將數(shù)據(jù)分組轉(zhuǎn)發(fā)給最接近目的端的節(jié)點(diǎn),然而,這通常需要選擇將轉(zhuǎn)發(fā)節(jié)點(diǎn)連接到位于傳輸范圍邊界附近的鄰居。當(dāng)考慮一個(gè)實(shí)際的物理層時(shí),這種連接很可能是不穩(wěn)定的,容易產(chǎn)生高分組差錯(cuò)率,故本文提出在節(jié)能鏈路上轉(zhuǎn)發(fā)數(shù)據(jù)分組,使在每個(gè)單跳上的能量消耗達(dá)到最小化。本文不考慮大多數(shù)路由研究所采用的單位圓盤圖假設(shè),而是考慮一個(gè)更精確的連通模型,即首先得到在快速衰落信道下的節(jié)能轉(zhuǎn)發(fā)距離,然后提出一種通過增加發(fā)射功率來減少端到端時(shí)延的機(jī)制。
考慮轉(zhuǎn)發(fā)器vi和vj之間的通信,用dij表示2個(gè)轉(zhuǎn)發(fā)器之間的距離,則vj接收由vi發(fā)送的數(shù)據(jù)分組的概率可以表示為
其中,Eamp是一個(gè)常數(shù),單位為J/(bit?m),Emarg是包含允許期望分組差錯(cuò)率項(xiàng)的調(diào)整項(xiàng),單位為J/(bit?m),表示在有α損耗下每米每比特所需要的能量。較高的Emarg值會(huì)導(dǎo)致較高的能量消耗,同時(shí)增加接收器成功接收的概率,減少預(yù)期的重發(fā)次數(shù)。
考慮節(jié)點(diǎn)vi向其距離為D的目標(biāo)參與者ak轉(zhuǎn)發(fā)一個(gè)數(shù)據(jù)分組,且鏈路指標(biāo)E=2Eelec+Eampdα,其中Eelec是收發(fā)器電路發(fā)送或接收1 bit所需的能量,單位為J/bit,則端到端能量消耗可以表示為
其中,P(vi,ak)表示vi和ak之間的路徑。理想情況下,當(dāng)數(shù)據(jù)在一組位于連接源和目的線路節(jié)點(diǎn)上(節(jié)點(diǎn)間距離等距dopt)轉(zhuǎn)發(fā)時(shí),端到端能量消耗就達(dá)到最小化。通過將式(10)代入式(12),并考慮重發(fā)可得到
一個(gè)穩(wěn)定點(diǎn)的充分條件是一個(gè)極小值,該極小值通過Hessian ?2Ee-e在穩(wěn)定點(diǎn)計(jì)算得到。最佳轉(zhuǎn)發(fā)距離dopt與D無關(guān),D為轉(zhuǎn)發(fā)節(jié)點(diǎn)和目的端之間的距離。式(13)可以解釋為距離無關(guān)和距離有關(guān)的能量消耗之間的最佳折中,并且適合于局部轉(zhuǎn)發(fā)規(guī)則。在理想信道情形且Emarg=0時(shí),當(dāng)時(shí),式(13)就達(dá)到最小化。
當(dāng)Eelec=50 nJ/bit,Eamp=100 pJ/(bit.m),α=2.5時(shí),對(duì)于理想信道來說,最佳轉(zhuǎn)發(fā)距離dopt=13.47 m。求解式(13)得到一個(gè)瑞利衰落信道上的dopt=8.00 m且Eoptmarg=86 pJ/(bit.m),即Eoptmarg≈Eamp。因此,當(dāng)在一個(gè)瑞利衰落信道上的期望最佳轉(zhuǎn)發(fā)距離比理想信道情況低時(shí),所需的發(fā)射功率就更高。
于是得到結(jié)論:能量最優(yōu)路徑是通過將數(shù)據(jù)分組轉(zhuǎn)發(fā)給位于dopt(單位為 m)之外連接轉(zhuǎn)發(fā)節(jié)點(diǎn)和目的節(jié)點(diǎn)的線路上來得到的,稱這個(gè)二維平面上的點(diǎn)為最佳轉(zhuǎn)發(fā)點(diǎn)。一個(gè)實(shí)用的轉(zhuǎn)發(fā)規(guī)則應(yīng)該選擇與這一點(diǎn)有最小距離的下一跳。當(dāng)下一跳比最佳轉(zhuǎn)發(fā)點(diǎn)更接近目的節(jié)點(diǎn)時(shí),期望的能量消耗會(huì)明顯增加。因此,在這種情況下,把下一跳選擇為離最佳轉(zhuǎn)發(fā)點(diǎn)最近的節(jié)點(diǎn),即那些不比最佳轉(zhuǎn)發(fā)點(diǎn)更靠近目的節(jié)點(diǎn)的節(jié)點(diǎn)。
可靠性可通過參與者反饋信息來控制。當(dāng)事件發(fā)生時(shí),全部傳感器都以最大轉(zhuǎn)發(fā)范圍開始傳輸。然后,根據(jù)觀察到的參與者反饋的可靠性,傳感器可以減小它們的轉(zhuǎn)發(fā)范圍,直至可靠性接近所要求的事件可靠性閾值rth,或達(dá)到最佳轉(zhuǎn)發(fā)范圍。當(dāng)在最大轉(zhuǎn)發(fā)范圍內(nèi)觀察到的可靠性較低時(shí),參與者就啟動(dòng)網(wǎng)絡(luò)層擁塞控制程序。
每當(dāng)參與者ai檢測(cè)到由過度時(shí)延和數(shù)據(jù)分組丟失造成非常低的可靠性時(shí),則選擇另一個(gè)參與者重新發(fā)送來自其Voronoi圖單元中的一半傳感器的流量給這個(gè)參與者。每個(gè)參與者ak被ai分配一個(gè)權(quán)值wk,這個(gè)權(quán)值用于度量它成為一個(gè)在部分事件區(qū)域得到的流量接收者的合理性。權(quán)值
1) 擁塞因子ηk(0≤ηk≤1)。這個(gè)值反映了在參與者ak上觀察到的可靠性,即如果r<rth-ε,則ηk=1,當(dāng)r-rth增大時(shí),ηk單調(diào)減??;對(duì)于那些沒接收流量的參與者來說,ηk=0。其中ε表示可靠性的適當(dāng)裕量,以避免不穩(wěn)定。
2) 指向性因子δk。這個(gè)值反映了參與者ak相對(duì)于參與者ai和事件區(qū)域中心的相對(duì)角位置。
圖2說明了參與者ai正從事件區(qū)域的一部分接收數(shù)據(jù)的情況。圖2中,Cev為事件區(qū)域的中心,表示傳感器位置的加權(quán)和,位于ai的Voronoi圖單元中的事件區(qū)域的部分中心為Cev,i。在圖 2給出的事例中,事件區(qū)域被分成兩部分,且另一個(gè)參與者從事件區(qū)域的第二部分接收數(shù)據(jù)。在一般情況下,事件區(qū)域在多個(gè)參與者間被劃分,假設(shè)全局事件的中心Cev已由參與的參與者合作重建,這樣,將給予位于關(guān)于Cev,i的ai的同方向的參與者更高的權(quán)值,因?yàn)檫@將導(dǎo)致在ai方向的流量增加,或在關(guān)于Cev,i的Cev方向的流量增加,從而增加事件區(qū)域的流量;相反,對(duì)于遠(yuǎn)離這2個(gè)方向(圖2中的最佳方向)的那些參與者的指向性因子應(yīng)該是最大的。角度α、β和θk分別描述了Cev,i與ai、Cev和ak的相對(duì)角位置。
圖2 指向性因子δi的計(jì)算
參與者ak的指向性因子的計(jì)算式為
一個(gè)擁塞的參與者ai選擇具有最小權(quán)值wk?的最佳參與者ak?。然后,參與者ai計(jì)算并告知ak?的一個(gè)新的虛擬位置給其 Voronoi圖單元中的傳感器。虛擬位置必須位于連接參與者的實(shí)際位置xk?和事件區(qū)域Cev,i的線路上,而且對(duì)應(yīng)于Cev,i中的一半傳感器更接近于ai的點(diǎn),而另一半傳感器更接近于ak?。每個(gè)傳感器將選擇其接收參與者,對(duì)于參與者ak?,采用虛擬位置而實(shí)際位置xk?仍用于執(zhí)
3) 距離因子Δk。它是參與者距離事件中心Cev,i的距離,歸一化為監(jiān)控區(qū)域的直徑,即當(dāng)距離最大時(shí),Δk=1。行實(shí)際的轉(zhuǎn)發(fā)功能。虛擬位置允許以這種方式最佳地劃分傳感器,只有那些更接近ak?的傳感器重新發(fā)送它們的流量給ak?,并通知傳感器。這個(gè)過程由在流量分割后仍然擁擠的參與者遞歸運(yùn)用。
本節(jié)構(gòu)建多個(gè)參與者任務(wù)分配問題,其目標(biāo)是協(xié)調(diào)它們的移動(dòng)性。一般而言,選擇最好的參與者構(gòu)成參與者團(tuán)隊(duì),并控制它們向作用區(qū)域移動(dòng)。
通過上述分析可知,生成讀數(shù)的傳感器的位置定義了事件區(qū)域。作用區(qū)域表示參與者應(yīng)當(dāng)起作用的區(qū)域,并通過處理事件數(shù)據(jù)來識(shí)別。通常情況下,事件區(qū)域和作用區(qū)域可能是不同的。
根據(jù)從作用區(qū)域收集到的事件的特征,在事件空間Ω中發(fā)生的每個(gè)事件ω可以用數(shù)組Ψ(ω)={F(ω),Pr(ω),A(ω),S(ω),I(ω),D(ω)}來描述,其中,F(xiàn)(ω)描述事件的類型,即事件所屬的類別;Pr(ω)描述的是優(yōu)先級(jí);A(ω)描述的是事件區(qū)域,單位為 m2;S(ω)描述的是作用區(qū)域,單位為m2;I(ω)描述的是強(qiáng)度,單位為 J/m2;D(ω)描述的是作用完成的時(shí)間限制,即從事件被感知到完成相關(guān)作用的最大允許時(shí)間,單位為 s。這些確定每個(gè)發(fā)生事件的特征參數(shù)由接收傳感器信息的參與者分布式重構(gòu),并構(gòu)成多個(gè)參與者任務(wù)分配問題的輸入;多個(gè)參與者分配問題包括選擇一個(gè)參與者團(tuán)隊(duì)和它們的速度,以最佳地劃分作用工作量,使完成作用所需的能量最小化,同時(shí)滿足作用完成的約束時(shí)間。盡管參與者是資源豐富的節(jié)點(diǎn),但作用和移動(dòng)所需能量的數(shù)量級(jí)要高于通信所需的數(shù)量級(jí),因此,重要的是要節(jié)省作用和移動(dòng)的能量,以延長(zhǎng)參與者的壽命周期。本文把多個(gè)參與者的分配問題構(gòu)建為一個(gè)混合整數(shù)非線性規(guī)劃(MINLP, mixed integer non-linear program)。
首先假設(shè):1)執(zhí)行作用的能量(作用和移動(dòng)能量)比通信所需要的能量要高;2)由于缺乏資源,只有當(dāng)與更高優(yōu)先級(jí)的事件相關(guān)的作用無法完成時(shí),才執(zhí)行任務(wù)再分配。
ηfa:參與者a在一個(gè)事件類型f∈F(ω)上執(zhí)行的效率,即用于作用區(qū)域的作用能量所產(chǎn)生的效應(yīng)與作用能量本身之比。參與者a在事件ω發(fā)生時(shí)得到的可用能量,單位為J。
TC:協(xié)作時(shí)延,即處理事件數(shù)據(jù)、重建事件本身,并通過求解問題來選擇參與者團(tuán)隊(duì)所需要的時(shí)間,不依賴于事件,單位為s。當(dāng)事件ω發(fā)生時(shí)參與者的子集,即沒有分配給在與先前發(fā)生事件相關(guān)聯(lián)的作用區(qū)域執(zhí)行的參與者。發(fā)送數(shù)據(jù)分組給參與者a的資源總數(shù),而是一個(gè)懲罰函數(shù),單位為J,它對(duì)參與者a的選擇進(jìn)行加權(quán),參與者a接收來自源的數(shù)據(jù),是一個(gè)執(zhí)行團(tuán)隊(duì)的一部分。懲罰函數(shù)隨的增加而單調(diào)增加。
尋找
最小化
滿足條件
約束式(17)確定了參與者a移動(dòng)到由發(fā)生事件確定的作用區(qū)域所需要的能量,是移動(dòng)所需的功率和以給定速度到達(dá)作用區(qū)域所需的時(shí)間的乘積;時(shí)間為參與者離作用區(qū)域的距離與所選擇的速度的比值,即式(18);約束式(19)限制了每個(gè)參與者的速度范圍;當(dāng)參與者a是一個(gè)參與者團(tuán)隊(duì)的一部分時(shí),約束式(20)確定了a完成作用所需要的能量;約束式(21)確保所選擇的團(tuán)隊(duì)能夠完成分配的任務(wù),給定組成團(tuán)隊(duì)的參與者的特點(diǎn)和事件的范圍及強(qiáng)度;約束式(22)限制執(zhí)行完成時(shí)間和需要移動(dòng)參與者團(tuán)隊(duì)所需要的時(shí)間總和要小于作用完成時(shí)間與協(xié)作時(shí)延之差;約束式(23)確保每個(gè)參與者有非負(fù)的剩余能量;約束式(24)保證至少有一個(gè)參與者作用于告知的作用區(qū)域。
仿真平臺(tái)采用J-Sim[17],J-Sim采用新的進(jìn)程驅(qū)動(dòng)機(jī)制,且兼容離散事件的驅(qū)動(dòng)。J-Sim采用分裂對(duì)象模型:可用Java語言編寫網(wǎng)絡(luò)組件,采用TCL腳本來描述仿真場(chǎng)景、拓?fù)浣Y(jié)構(gòu)及鏈路中使用的算法和協(xié)議,并對(duì)這些對(duì)象進(jìn)行配置和組合;通過 J-Sim可以很容易建立網(wǎng)絡(luò)拓?fù)?、?jié)點(diǎn)結(jié)構(gòu)和通信行為,從而實(shí)現(xiàn)網(wǎng)絡(luò)仿真,達(dá)到評(píng)價(jià)網(wǎng)絡(luò)算法和協(xié)議的目的。
對(duì)于傳感器-參與者之間的通信,傳感器執(zhí)行3.1節(jié)中所描述的地理轉(zhuǎn)發(fā)算法,MAC層基于CSMA/CA,物理層執(zhí)行本文提出的功率控制過程并設(shè)定帶寬和功耗參數(shù),類似于IEEE 802.15.4兼容無線電。監(jiān)控區(qū)域是一個(gè)200 m×200 m的正方形區(qū)域,隨機(jī)部署200個(gè)傳感器。傳感器的最大傳輸范圍設(shè)置為40 m,帶寬設(shè)置為250 kbit/s。傳感器發(fā)送56 B的數(shù)據(jù)分組,采用每秒一個(gè)數(shù)據(jù)分組的報(bào)告率,隊(duì)列大小設(shè)置為20個(gè)數(shù)據(jù)分組,仿真執(zhí)行持續(xù)400 s。
圖3和圖4分別為中、低流量情形下(即事件分別圍繞中心40 m和20 m的范圍)仿真運(yùn)行得到的平均功率消耗和端到端時(shí)延與轉(zhuǎn)發(fā)范圍的關(guān)系。事件區(qū)域?yàn)閳A形,且中心在(100 m, 100 m),在事件區(qū)域內(nèi)的傳感器報(bào)告測(cè)量值給參與者。在中流量情形下,需要對(duì)位于事件區(qū)域內(nèi)的7個(gè)傳感器求平均;在低流量情形下,大約有25個(gè)傳感器。由圖3和圖4可知,低流量情形下的平均功率消耗和端到端時(shí)延都低于中流量情形,而且在中、低流量情形下,端到端時(shí)延一開始隨著轉(zhuǎn)發(fā)范圍的增大而持續(xù)降低,這是以增加功率消耗來換取的,而后趨于穩(wěn)定。
圖3 中、低流量情形下平均功率消耗與轉(zhuǎn)發(fā)范圍的關(guān)系
圖4 中、低流量情形下端到端時(shí)延與轉(zhuǎn)發(fā)范圍的關(guān)系
圖5~圖7為高流量情形即事件范圍設(shè)置為60 m(相當(dāng)于平均57個(gè)傳感器)且事件區(qū)域完全位于一個(gè)單一的參與者 Voronoi圖單元里得到的仿真結(jié)果。仿真結(jié)果比較了一個(gè)參與者(對(duì)應(yīng)于不采用3.2節(jié)所設(shè)計(jì)的擁塞控制程序)和2個(gè)參與者(對(duì)應(yīng)于采用 3.2節(jié)所設(shè)計(jì)的擁塞控制程序)接收事件區(qū)域生成流量時(shí)的平均功率消耗、端到端時(shí)延和分組丟失率。
圖5 高流量情形下平均功耗與轉(zhuǎn)發(fā)范圍的關(guān)系
圖6 高流量情形下端到端時(shí)延與轉(zhuǎn)發(fā)范圍的關(guān)系
圖7 高流量情形下分組丟失率與轉(zhuǎn)發(fā)范圍的關(guān)系
從圖5~圖7可以看到,在不采用本文提出的擁塞控制程序時(shí),由于事件區(qū)域本身是擁擠的,因此數(shù)據(jù)分組被丟棄的比例較高,如圖7所示,大約為14%~43%。同時(shí)端到端時(shí)延平均增加了約1 s,且不易通過改變轉(zhuǎn)發(fā)范圍來控制,如圖6所示。相反,當(dāng)采用本文提出的擁塞控制程序時(shí),將事件數(shù)據(jù)在2個(gè)參與者之間進(jìn)行劃分,擁塞可以大大降低,這是由于大多數(shù)擁塞和分組丟失發(fā)生事件區(qū)域的多個(gè)節(jié)點(diǎn)嘗試同時(shí)發(fā)送,當(dāng)在事件區(qū)域的另一側(cè)的第二個(gè)參與者接收數(shù)據(jù)時(shí),擁塞就得到了顯著的改善,因?yàn)榱髁繌氖录^(qū)域被轉(zhuǎn)移了,所以分組丟失率接近于0,如圖7所示,平均時(shí)延也降低了近2個(gè)數(shù)量級(jí),且可以采用功率控制來調(diào)節(jié),如圖 6所示。重要的是,即使第二個(gè)參與者遠(yuǎn)離事件區(qū)域,數(shù)據(jù)分組過早地在它們的源參與者路徑上被丟棄,功耗也會(huì)通過擁塞控制程序被降低,主要是由于在MAC層上減少了數(shù)據(jù)分組的重傳,如圖5所示。
假設(shè)參與者隨機(jī)部署在200 m×200 m的區(qū)域,事件強(qiáng)度I=0.5 J/m2,作用范圍S=42π m2隨機(jī)出現(xiàn)在整個(gè)區(qū)域,設(shè)置作用完成時(shí)間限制D(ω)和協(xié)作時(shí)延TC分別為14 s和1 s??紤]同類參與者的情形,其β=0.05 W/(m.s-1),γ=1.5,效率η=1,作用功率l=1 W/m2,初始能量E0=1 000 J,速度為3~12 m/s。
圖8和圖9分別為能量消耗和時(shí)延與最大團(tuán)隊(duì)規(guī)模之間的關(guān)系,圖10為能量消耗與構(gòu)成一個(gè)團(tuán)隊(duì)的參與者的數(shù)目固定且等于團(tuán)隊(duì)大小的關(guān)系。可以看出,當(dāng)參與一個(gè)執(zhí)行團(tuán)隊(duì)的參與者數(shù)目最優(yōu)以使總的能量消耗(即移動(dòng)能量EM和執(zhí)行能量EΩ的總和)最小時(shí),則至少需要3個(gè)參與者來完成執(zhí)行,如圖8所示。且總的執(zhí)行時(shí)間正好是作用完成時(shí)間限制D(ω)減去協(xié)作時(shí)延TC,即13 s,如圖9所示。問題趨于使參與的參與者數(shù)目最小化,并將更高的速度分配給那些更接近作用鄰區(qū)域的參與者。這可以通過考慮每次一個(gè)參與者需要移動(dòng)所消耗的一個(gè)固定大小的功率來解釋,無論其速度如何。相反,當(dāng)全部參與者必須成為團(tuán)隊(duì)的一部分時(shí),執(zhí)行時(shí)間是以犧牲能量消耗為代價(jià)來減少的,如圖10所示。
圖8 能量消耗與最大團(tuán)隊(duì)規(guī)模的關(guān)系
圖9 時(shí)延與最大團(tuán)隊(duì)規(guī)模的關(guān)系
圖10 能量消耗與團(tuán)隊(duì)規(guī)模的關(guān)系
本節(jié)給出采用本文提出的通信模型與文獻(xiàn)[6]提出的單純事務(wù)管理模型在中等流量情形下(大約25個(gè)傳感器)的比較結(jié)果。圖11為2種模型在平均時(shí)延、節(jié)點(diǎn)能量消耗和分組丟失率方面的仿真結(jié)果。
圖11 本文提出的通信模型和文獻(xiàn)[6]提出的單純事務(wù)管理模型的比較
從圖 11(a)和圖 11(b)可以看出,由于本文提出的通信模型既考慮了節(jié)點(diǎn)間的數(shù)據(jù)路由和交換問題,同時(shí)也考慮了節(jié)點(diǎn)和參與者之間及參與者和參與者之間的通信機(jī)制,因此在平均時(shí)延和節(jié)點(diǎn)能量消耗方面均優(yōu)于文獻(xiàn)[6]的單純事務(wù)管理模型,而且當(dāng)達(dá)到一定節(jié)點(diǎn)數(shù)時(shí),隨著節(jié)點(diǎn)數(shù)的增加(對(duì)應(yīng)流量增加),本文提出的通信模型在平均時(shí)延和節(jié)點(diǎn)能量消耗方面增加并不明顯,說明本文提出的通信模型是頑健的和可擴(kuò)展的。
圖11(c)為2種模型在高流量和事件范圍20 m及一個(gè)參與者和2個(gè)參與者情形下得到的分組丟失率仿真結(jié)果。由圖11可知,盡管2種模型的分組丟失率隨著傳感器節(jié)點(diǎn)數(shù)的增多而增大,但本文提出的通信模型無論在一個(gè)參與者還是2個(gè)參與者時(shí)都要低于文獻(xiàn)[6]提出的單純事務(wù)管理模型。特別是在一個(gè)參與者時(shí),由于文獻(xiàn)[6]提出的單純事務(wù)管理模型使用了節(jié)點(diǎn)緩存機(jī)制,隨著傳感器節(jié)點(diǎn)數(shù)的增加,需要維持各個(gè)節(jié)點(diǎn)的提交矩陣,導(dǎo)致動(dòng)態(tài)內(nèi)存消耗增加而出現(xiàn)緩沖溢出,從而增大分組丟失率;而在2個(gè)參與者時(shí),當(dāng)傳感器節(jié)點(diǎn)數(shù)較少時(shí),文獻(xiàn)[6]提出的單純事務(wù)管理模型盡管使用了節(jié)點(diǎn)緩存機(jī)制,但2個(gè)參與者有足夠的緩存接納各個(gè)節(jié)點(diǎn)的提交矩陣,所以其分組丟失率非常接近本文提出的通信模型的分組丟失率,但仍高于本文提出的通信模型的分組丟失率。
本文研究了具有移動(dòng)參與者的無線傳感器和參與者網(wǎng)絡(luò)中的通信問題,并針對(duì)傳感器-參與者之間和參與者-參與者之間的協(xié)作通信問題提出了有效的解決方案。首先,采用傳感器最小能量消耗,提出了一個(gè)主動(dòng)位置管理方案來處理參與者的移動(dòng)性;然后,基于地理路由,提出了一種傳感器-參與者之間通信的有效節(jié)能解決方案,并給出了如何基于功率控制來控制數(shù)據(jù)傳輸過程的時(shí)延,以及如何通過迫使多個(gè)參與者共享事件區(qū)域產(chǎn)生的流量來處理網(wǎng)絡(luò)擁塞;最后,基于事件的特征,提出了一種參與者-參與者之間的協(xié)作通信模型來協(xié)調(diào)它們之間的運(yùn)動(dòng)。結(jié)果表明,本文提出的關(guān)于 WSAN的通信機(jī)制在減少端到端時(shí)延、能量消耗和分組丟失率方面是有效的。未來將針對(duì)選擇最佳參與者來形成參與者團(tuán)隊(duì),以執(zhí)行特定要求的作用,并驅(qū)動(dòng)參與者向相關(guān)的區(qū)域移動(dòng)進(jìn)行深入研究。