鄭更生,亢治虎,高 強(qiáng)
武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢 430205
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, 以下簡(jiǎn)稱:WSN)[1]是由大量廉價(jià)微型傳感器節(jié)點(diǎn)以無(wú)線通訊方式自主形成的一個(gè)多跳自組織網(wǎng)絡(luò)系統(tǒng),具有數(shù)據(jù)采集、預(yù)處理、無(wú)線通信和自動(dòng)組網(wǎng)的能力.由于無(wú)線傳感器網(wǎng)絡(luò)具有監(jiān)測(cè)精度高、覆蓋區(qū)域大、適應(yīng)能力強(qiáng)等優(yōu)點(diǎn),通常被用于完成復(fù)雜環(huán)境下的遠(yuǎn)程監(jiān)測(cè)任務(wù).無(wú)線傳感器節(jié)點(diǎn)攜帶的能量有限,所以一個(gè)好的節(jié)能無(wú)線傳感器網(wǎng)絡(luò)的媒體訪問(wèn)控制協(xié)議(Medium Access Control Protocol,以下簡(jiǎn)稱:MAC 協(xié)議)能夠盡量延長(zhǎng)網(wǎng)絡(luò)的生存時(shí)間[2].
無(wú)線傳感器網(wǎng)絡(luò)存在數(shù)據(jù)傳輸量小、節(jié)點(diǎn)協(xié)同完成共同的任務(wù)、節(jié)點(diǎn)能量有限及網(wǎng)絡(luò)能容忍一定程度的通訊延遲等特點(diǎn),因此傳感器節(jié)點(diǎn)的無(wú)線通信模塊所處狀態(tài)可大致劃分為發(fā)送、接收、空閑(偵聽(tīng)) 和睡眠4種,并且節(jié)點(diǎn)大部分時(shí)間都處于空閑狀態(tài).圖1為傳感器節(jié)點(diǎn)的能耗圖[3],由圖1可以看出,傳感器節(jié)點(diǎn)在空閑狀態(tài)與接收狀態(tài)所消耗的能量相當(dāng),如果能夠適當(dāng)減少無(wú)線傳感器網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的空閑時(shí)間,就可以延長(zhǎng)整個(gè)無(wú)線傳感器網(wǎng)絡(luò)的生存周期.正是基于這種思想,低占空比無(wú)線傳感器網(wǎng)絡(luò)應(yīng)運(yùn)而生.目前,國(guó)際上和國(guó)內(nèi)針對(duì)低占空比環(huán)境下的無(wú)線傳感器網(wǎng)絡(luò)協(xié)議通訊算法已有不少研究[1,4-5],并涌現(xiàn)出大量的成果.筆者在無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)媒體訪問(wèn)控制(Sensor-MAC,以下簡(jiǎn)稱:S-MAC )[6]協(xié)議基礎(chǔ)上提出了一種基于單服務(wù)臺(tái)排隊(duì)系統(tǒng)模型(M/M/1/n隊(duì)列模型)的無(wú)線傳感器網(wǎng)絡(luò)自適應(yīng)調(diào)節(jié)占空比MAC協(xié)議(ADC-SAMC協(xié)議),它可以使節(jié)點(diǎn)根據(jù)負(fù)載變化自適應(yīng)地調(diào)節(jié)占空比,改變節(jié)點(diǎn)發(fā)送率,從而有效地減少能量消耗,提高網(wǎng)絡(luò)的吞吐量,延長(zhǎng)網(wǎng)絡(luò)壽命.
圖1 傳感器節(jié)點(diǎn)能耗情況
排隊(duì)論[7-8]又稱隨機(jī)服務(wù)系統(tǒng)理論,是研究擁擠現(xiàn)象的一門(mén)數(shù)學(xué)學(xué)科,它通過(guò)研究各種服務(wù)系統(tǒng)在排隊(duì)等待中的概率特性,來(lái)指導(dǎo)服務(wù)系統(tǒng)的最優(yōu)設(shè)計(jì)和最優(yōu)經(jīng)營(yíng)策略.日常生活中存在大量有形和無(wú)形的排隊(duì)或擁擠現(xiàn)象,如旅客購(gòu)票排隊(duì)、市內(nèi)電話占線等現(xiàn)象.M/M/1/n[9]是排隊(duì)論最基本的模型,其中兩個(gè)M分別代表呼叫相繼到達(dá)間隔時(shí)間為負(fù)指數(shù)分布和服務(wù)時(shí)間服從Markov性負(fù)指數(shù)分布,1代表只有一個(gè)并聯(lián)服務(wù)器,n表示隊(duì)列長(zhǎng)度.即M/M/1/n服務(wù)系統(tǒng)滿足條件: 系統(tǒng)只有一個(gè)服務(wù)臺(tái),每次只能處理一個(gè)數(shù)據(jù),系統(tǒng)容量為n,數(shù)據(jù)按照參數(shù)為λ的Poisson流到達(dá).
通過(guò)對(duì)網(wǎng)絡(luò)中節(jié)點(diǎn)的思考,筆者對(duì)所有的鏈路層隊(duì)列模型都采用了如圖2所示的基本概念和結(jié)構(gòu).
圖2 一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的M/M/1隊(duì)列模型
該模型中,數(shù)據(jù)包以突發(fā)速率為λ的泊松過(guò)程到達(dá)節(jié)點(diǎn),B表示節(jié)點(diǎn)的緩沖區(qū),長(zhǎng)度為N,系統(tǒng)以μ的服務(wù)率從緩沖區(qū)中按照數(shù)據(jù)到達(dá)的先后順序移出數(shù)據(jù).于是可以得到如圖3所示的整個(gè)系統(tǒng)的轉(zhuǎn)換狀態(tài)圖.
圖3 系統(tǒng)狀態(tài)圖
不妨假設(shè)系統(tǒng)處于狀態(tài)n的概率為Pn,
ρ=λ/μ≤1,則系統(tǒng)的常微分方程為:
(1)
通過(guò)計(jì)算可以得到系統(tǒng)的穩(wěn)態(tài)解,即當(dāng)
t→∞,Pn(t)時(shí)有:
Pn=ρn(1-ρ),n=1,2,3,…,
(2)
則平衡狀態(tài)下系統(tǒng)的隊(duì)長(zhǎng)為:
(3)
需要指出的是Nn在系統(tǒng)中的真正含義是系統(tǒng)的處理模塊和緩沖模塊中的所有數(shù)據(jù)的平均數(shù)量,可以看出節(jié)點(diǎn)是一個(gè)典型的M/M/1/n排隊(duì)系統(tǒng).
由排隊(duì)論知識(shí)可知,該系統(tǒng)在穩(wěn)態(tài)下,系統(tǒng)中隊(duì)列在緩沖區(qū)等待的平均數(shù)Nq為:
(4)
將Ts與μ的關(guān)系Ts=1/μ帶入ρ=λ/μ有:
ρ=λTs.
(5)
由式(4)、式(5)和服務(wù)時(shí)間Ts可得:
(6)
將Ts與μ的關(guān)系Ts=1/μ帶入式(4)并簡(jiǎn)化可得:
(7)
即當(dāng)?shù)竭_(dá)率λ一定時(shí),μ的值與Nq成反比.
依據(jù)式(7)來(lái)調(diào)整系統(tǒng)服務(wù)率μ以實(shí)現(xiàn)對(duì)節(jié)點(diǎn)占空比的調(diào)整.由于節(jié)點(diǎn)在第i幀的服務(wù)率μi與其每個(gè)同步周期開(kāi)始時(shí)隊(duì)列中已有的數(shù)據(jù)包個(gè)數(shù)ni有關(guān),若ni的大小與緩存器的長(zhǎng)度N越接近,就應(yīng)立即增大μi,使隊(duì)列中的數(shù)據(jù)包能夠更快的發(fā)送出去,故將式(7)中μ乘上一個(gè)懲罰系數(shù)k,得到下列關(guān)系式:
μi=μi-1·ki.
(8)
設(shè)式(7)中懲罰系數(shù)ki為:
(9)
雖然S-MAC協(xié)議改進(jìn)了IEEE 802.11的能耗問(wèn)題,但是它本身存在許多缺陷.如全網(wǎng)統(tǒng)一設(shè)置固定占空比使得在網(wǎng)絡(luò)流量負(fù)載較小時(shí),會(huì)導(dǎo)致空閑監(jiān)聽(tīng)能耗的增加;在流量負(fù)載較大時(shí),會(huì)導(dǎo)致節(jié)點(diǎn)排隊(duì)時(shí)延的增加.為解決S-MAC協(xié)議能耗和延遲方面的缺陷,ADC-SMAC協(xié)議在S-MAC協(xié)議的基礎(chǔ)上通過(guò)周期性的廣播SYNC同步包來(lái)更新節(jié)點(diǎn)的休眠調(diào)度表.SYNC幀中包含發(fā)送者的地址及下次休眠時(shí)間表.發(fā)送SYNC同步包的時(shí)間間隔稱為一個(gè)同步周期.S-MAC協(xié)議同步周期大小可以根據(jù)無(wú)線傳感器網(wǎng)絡(luò)的實(shí)際情況而定,如果網(wǎng)絡(luò)數(shù)據(jù)流量比較少或是比較穩(wěn)定,同步周期可以長(zhǎng)一點(diǎn),通常間隔幾個(gè)偵聽(tīng)周期后進(jìn)行一次同步.通過(guò)同步包調(diào)整下次休眠時(shí)間,網(wǎng)絡(luò)中節(jié)點(diǎn)發(fā)送SYNC同步包即可更新與調(diào)整占空比.
當(dāng)網(wǎng)絡(luò)達(dá)到穩(wěn)定后,節(jié)點(diǎn)在同步周期根據(jù)其緩沖區(qū)隊(duì)列現(xiàn)有的數(shù)據(jù)量來(lái)調(diào)整下一個(gè)周期的占空比.在可調(diào)整范圍內(nèi),若預(yù)測(cè)的占空比較上一幀小,則節(jié)點(diǎn)下一個(gè)周期的占空比在上一幀占空比的基礎(chǔ)上增大kci倍,以保證在下一幀中系統(tǒng)能很快的將數(shù)據(jù)發(fā)送出去,從而減少數(shù)據(jù)延遲、緩解網(wǎng)絡(luò)的過(guò)載和增大網(wǎng)絡(luò)吞吐量;若預(yù)測(cè)的占空比較上一幀大,則節(jié)點(diǎn)下一個(gè)周期的占空比在上一幀占空比的基礎(chǔ)上減小kci倍,以保證下一幀中系統(tǒng)有較長(zhǎng)的休眠時(shí)間,從而減少能量消耗,延長(zhǎng)節(jié)點(diǎn)壽命.占空比具體算法如下:
給定節(jié)點(diǎn)占空比的初始值[duty_cycle]init,該初始值也為節(jié)點(diǎn)允許的最小占空比,即
[duty_cycle]min=[duty_cycle]init.
若[duty_cycle]i>[duty_cycle]min且[duty_cycle]i<[duty_cycle]i-1,則[duty_cycle]i=[duty_cycle]i-1*(1-kci),其中kci=ki/λi.
若[duty_cycle]i<[duty_cycle]max且[duty_cycle]i>[duty_cycle]i-1,則[duty_cycle]i=[duty_cycle]i-1*(1+kci).
若[duty_cycle]i<[duty_cycle]min,則[duty_cycle]i=[duty_cycle]min.
若[duty_cycle]i>[duty_cycle]max,則[duty_cycle]i=[duty_cycle]max,其中,[duty_cycle]max為節(jié)點(diǎn)最大占空比.
筆者使用NS2仿真器分別對(duì)S-MAC協(xié)議、網(wǎng)絡(luò)信道接入自適應(yīng)占空比協(xié)議(ADC協(xié)議)[10]和ADC-SMAC協(xié)議進(jìn)行仿真實(shí)驗(yàn).節(jié)點(diǎn)隨機(jī)分布于200 m×200 m的仿真區(qū)域內(nèi)并采用節(jié)點(diǎn)到sink節(jié)點(diǎn)的距離信息對(duì)網(wǎng)絡(luò)進(jìn)行分層,網(wǎng)絡(luò)節(jié)點(diǎn)只能向低層鄰接點(diǎn)發(fā)送數(shù)據(jù),仿真實(shí)驗(yàn)分別從能量消耗、平均時(shí)延和吞吐量3個(gè)方面來(lái)比較和衡量無(wú)線傳感器網(wǎng)絡(luò)性能.為了模擬不同負(fù)載下網(wǎng)絡(luò)性能,隨機(jī)選取網(wǎng)絡(luò)中某節(jié)點(diǎn)以每隔1 s,2 s,3 s,4 s,5 s,6 s,7 s,8 s,9 s,10 s的時(shí)間間隔向sink節(jié)點(diǎn)發(fā)送數(shù)據(jù)包.
主要實(shí)驗(yàn)參數(shù)如表1所示.
表1 仿真參數(shù)
圖4、圖5和圖6分別反映網(wǎng)狀拓?fù)浣Y(jié)構(gòu)下網(wǎng)絡(luò)在S-MAC協(xié)議、ADC協(xié)議和ADC-SMAC協(xié)議下的能量消耗、平均延時(shí)和網(wǎng)絡(luò)吞吐量.從圖4、圖5、圖6中可以看出,與S-MAC協(xié)議相比,ADC-SMAC協(xié)議表現(xiàn)出很好的能耗狀況、平均延時(shí)狀況和吞吐量狀況.
圖4 不同負(fù)載下的能量消耗比較情況
圖5 不同負(fù)載下的延時(shí)比較情況
圖6 不同負(fù)載下的吞吐量比較情況
由圖4可以看出,當(dāng)數(shù)據(jù)發(fā)送時(shí)間間隔小于5 s時(shí),網(wǎng)絡(luò)負(fù)載較重,網(wǎng)絡(luò)流量較大,此時(shí)的能量節(jié)約主要表現(xiàn)在串音避免和有效的長(zhǎng)消息傳遞;當(dāng)數(shù)據(jù)發(fā)送時(shí)間間隔為10 s時(shí),此時(shí)網(wǎng)絡(luò)負(fù)載較小,ADC-SMAC協(xié)議動(dòng)態(tài)的調(diào)節(jié)節(jié)點(diǎn)的占空比,節(jié)點(diǎn)占空比增大,使節(jié)點(diǎn)處于休眠狀態(tài)的時(shí)間變長(zhǎng),減少了通訊時(shí)間和次數(shù),因此表現(xiàn)的更加節(jié)省能量.仿真結(jié)果顯示,ADC-SMAC協(xié)議的平均能耗比S-MAC協(xié)議減少了48%,從圖4中可以看出,雖然ADC協(xié)議能夠在一定程度上減少能量消耗,但由于其是對(duì)節(jié)點(diǎn)過(guò)去7個(gè)周期內(nèi)的數(shù)據(jù)流量進(jìn)行加權(quán)統(tǒng)計(jì)來(lái)預(yù)測(cè)節(jié)點(diǎn)下一個(gè)周期的數(shù)據(jù)流量,進(jìn)而調(diào)整節(jié)點(diǎn)占空比,這就導(dǎo)致其對(duì)節(jié)點(diǎn)流量變化不夠靈敏而產(chǎn)生能量消耗.ADC-SMAC協(xié)議的能耗比ADC協(xié)議的要低,平均能耗為其79%,這說(shuō)明ADC-SMAC采取的占空比調(diào)節(jié)機(jī)制更加的合理.
由圖5可以看出,ADC-SMAC協(xié)議比ADC協(xié)議的延遲低,為其95%,ADC-SMAC協(xié)議的平均延遲比S-MAC協(xié)議減少了21%.由圖6可以看出,ADC-SMAC協(xié)議的平均吞吐量比ADC協(xié)議的略高9%,ADC-SMAC協(xié)議的平均吞吐量比S-MAC協(xié)議提高了33%.ADC-SMAC協(xié)議比S-MAC協(xié)議具有更小的延時(shí)和更高的吞吐量,這是由于ADC-SMAC協(xié)議使用的休眠調(diào)度方案通過(guò)使在繁忙路徑上的節(jié)點(diǎn)具有更頻繁的激活以給其他節(jié)點(diǎn)更多的接入機(jī)會(huì),讓數(shù)據(jù)能夠更快的轉(zhuǎn)發(fā).由于減輕了數(shù)據(jù)在轉(zhuǎn)發(fā)節(jié)點(diǎn)的堆積,降低了沖突的概率,減少了因沖突重發(fā)帶來(lái)的能耗和延時(shí),因此在相同條件下ADC-SMAC協(xié)議的網(wǎng)絡(luò)平均延時(shí)更短、網(wǎng)絡(luò)吞吐量更大.
無(wú)線傳感器網(wǎng)絡(luò)技術(shù)的飛速發(fā)展使得其可以被應(yīng)用于不同的環(huán)境和背景下,而有效的MAC協(xié)議設(shè)計(jì)是確保網(wǎng)絡(luò)節(jié)點(diǎn)生存的基礎(chǔ).筆者在S-MAC協(xié)議所提出的固定占空比的基礎(chǔ)上融入了M/M/1/n隊(duì)列思想,提出了一種改進(jìn)的自適應(yīng)占空比MAC協(xié)議并對(duì)其核心思想進(jìn)行闡述與仿真實(shí)驗(yàn).結(jié)果顯示在不同的網(wǎng)絡(luò)負(fù)載中ADC-SMAC協(xié)議與ADC協(xié)議和S-MAC協(xié)議相比,能有效的調(diào)節(jié)節(jié)點(diǎn)的占空比,減少能量消耗,并根據(jù)隊(duì)列模型預(yù)測(cè)節(jié)點(diǎn)下一周期的數(shù)據(jù)量,從而調(diào)整其占空比,減少碰撞和阻塞發(fā)生的概率,協(xié)議在減少網(wǎng)絡(luò)延同時(shí),能有效的提高網(wǎng)絡(luò)的吞吐量.
致 謝
湖北省教育廳為本研究提供了資金資助,在此致以衷心的感謝!
[1] 畢玉婷,陳昕.低占空比無(wú)線傳感器網(wǎng)絡(luò)能量感知路由算法[J].北京信息科技大學(xué)學(xué)報(bào),2012,27(6):93-98.
BI Yu-ting, CHEN Xin. Energy-aware routing algorithm for low duty cycle wireless sensor networks[J].Journal of Beijing Information Science and Technology University,2012,27(6):93-98.(In Chinese)
[2] DEMIRKOL I, ERSOY C, ALAGOZ F, et a1.MAC protocols for wireless sensor networks:a survey[J]. IEEE Communications Magazine,2006, 44(4): 115-121.
[3] YAN Yu-bo, YANG Pan-long, Zhang Lei, et al. Achieving lower delay with energy efficiency in extremely low-duty-cycle and unreliable WSN[C]// Proceedings-16th International Conference on Parallel and Distributed Systems( ICPADS). United States: IEEE Computer Society, 2013: 857-862.
[4] 王俊美.低占空比無(wú)線傳感器網(wǎng)絡(luò)鄰居發(fā)現(xiàn)算法研究[J]. 數(shù)字通訊, 2013, 40(2): 36-39.
WANG Jun-mei. Neighbor discovery in wireless sensor networks with low duty cycle[J] Digital Communication, 2013, 40(2): 36-39.(In Chinese)
[5] CHEOE JUNSEONG, KHANH HA, NGUYEN PHAN, et al. Fast and reliable data forwarding in low-duty-cycle wireless sensor networks[C]//Computational Science and Its Applications-12th International Conference(ICCSA). Germany: Springer Verlag, 2012: 324-338.
[6] KIM J, LIN X J, SHROFF N B, et a1.Minimizing delay and maximizing lifetime for wireless sensor networks with any cast[J]. IEEE/ACM Transactions on Networking, 2010, 18(2): 515-528.
[7] 任敏麗. 排隊(duì)論在銀行服務(wù)系統(tǒng)中的若干應(yīng)用研究[D]. 哈爾濱: 哈爾濱工業(yè)大學(xué), 2010.
REN Min-li. Some application researches in bank's service system of queuing theory [D]. Harbin:Harbin Institute of Technology,2010. (In Chinese)
[8] 賈小嬌,方紅雨,李曉輝. 基于OPNET的M/M/m隊(duì)列仿真[J].通訊技術(shù), 2008, 41(12): 183-185.
JIA Xiao-jiao, FANG Hong-yu, LI Xiao-hui. Simulation of M/M/m sequence based on OPNET[J]. Communications Technology, 2008, 41(12): 183-185.(In Chinese)
[9] 林小蘭. 一種基于自適應(yīng)占空比的無(wú)線傳感器網(wǎng)絡(luò)MAC協(xié)議研究[D]. 廈門(mén):廈門(mén)大學(xué), 2008.
LIN Xiao-lan. A study of MAC protocol in wireless sensor network with adaptive duty cycle[D].Xiamen: Xiamen University, 2008. (In Chinese)
[10] 趙洪鋼, 史浩山,邢云冰. 一種無(wú)線傳感器網(wǎng)絡(luò)信道接入自適應(yīng)占空比算法[J]. 傳感技術(shù)學(xué)報(bào), 2007, 20(21): 393-397.
ZHAO Hong-gang, SHI Hao-shan, XING Yun-bing. Adaptive duty-cycle algorithm for channel access in wireless sensor networks[J]. Chinese Journal of Sensors and Actuators, 2007, 20(21): 393-397. (In Chinese)