單 洪,馬 濤
(解放軍電子工程學院網絡工程系,合肥230037)
在無線傳感器網絡中,睡眠機制是節點最常用的節能方法。但在使用睡眠機制的同時,會增加數據包的發送延遲,因為當節點有數據要發送時,節點必須等待下一跳節點喚醒,才能發送數據,這樣就產生了額外的延遲[1]。目前,睡眠機制分為兩類[2]:異步睡眠機制和同步睡眠機制。異步睡眠機制是每個節點的喚醒時間獨立于其他節點,會造成很大的延遲,如RI-MAC[3]和 PA-MAC[4]。同步睡眠機制要求節點的睡眠和活動狀態是時間同步的,然而時間同步的開銷較大,當節點在同一個時間槽喚醒,容易造成沖突,如S-MAC[5]、RLL-MAC[6]、EP-MAC[7]、DW-MAC[8]、WiseMAC[9]、XMAC[10]協議。可以看出,現有的睡眠調度機制主要是針對無線傳感器網絡的具體應用進行時延或能耗的改進,并不具有普適性。
本文結合所設計無線傳感器具有層次性、節點密度大、傳輸數據流差異大等特點,為了達到能量消耗和時延均衡提出了一種交錯的周期倍增同步休眠調度方案。通過與現有的同步方案和交錯同步方案仿真比較,該方案使節點盡量多的處在休眠狀態以降低能耗,同時能以解決同步休眠調度帶來的時延增大問題。
無線傳感器網絡由匯聚節點(Sink)、高級節點(H-Sensor)和普通節點(L-Sensor)組成。節點依據不同的感知任務和地理位置劃分為多個簇,每個簇形成一個子組。H-Sensor因為具有較高的存儲、計算和傳輸能力、能量大或者可以補充,所以選定其作為簇首,L-Sensor將監測數據通過H-Sensor傳輸到Sink。網絡有兩層:所有H-Sensor構成一個組(HSensor Group,HG),為骨干層;每個簇構成一個子組(L-Sensor Group,LG),為基礎層。本文的研究重點是基礎層中的MAC協議休眠調度方案。
該層次網絡在應用中還存在自身的一些特點:①沒有基礎設施,部署之后自動運行,組織成網絡;②節點數量多、密度大、分布隨機,拓撲不能事先確定;同時節點不具有移動性,故網絡部署后覆蓋范圍在一段時間內不會發生變化;③兩層網絡的數據流有不同的特點:基礎層網絡節點產生的數據分組較小,以周期性數據為主,具有時間相關性;同時通信信號活躍區域可產生大量數據,具有空間相關性。另外,基礎層數據有明顯的方向性,向簇首及骨干節點匯集,并以流向這兩類節點的數據為主。骨干層網絡產生的數據分組較大,通訊信號活躍區域網絡負載較重,同時數據流不存在向某些節點匯聚的現象。
圖1給出了簇結構的分層示意圖。

圖1 簇結構的分層示意
在簇狀結構中,根據到簇首節點的最小跳數對簇內節點進行分層,簇首節點為第0層,距簇首節點k跳的簇成員節點為第k層,一個簇最多有h層。從簇成員節點發往簇首節點的數據稱為上行數據,上行數據經歷的平均休眠等待時延用ti(i代表第i層)表示。從簇首節點發往簇成員節點的數據稱為下行數據,下行數據經歷的平均休眠等待時延用si表示。假設數據產生的過程服從泊松過程。
基礎層使用分簇結構來降低網絡中數據流的密度,減少跳數過多的數據轉發,用輪換簇首的方法平衡能量消耗。基礎層的數據具有明顯的方向性,但存在兩個方向的數據流向。
有固定周期的同步休眠調度在節約節點能量的同時會帶來一定的休眠等待時延,而基礎層的數據是時延敏感的,如果經過很長時間才到達骨干節點,可能數據已經失去了意義。基礎層的MAC協議在節約能量的同時要保證較小的時延,并且對從簇成員節點到簇首節點的數據,以及簇首節點到骨干節點的數據都要保證較小的時延。此時,優化一個方向的數據的時延而犧牲另一個方向的數據時延是不可取的,需要努力同時降低簇狀拓撲中上行和下行兩個方向的數據時延。
在簇狀結構中,數據從簇成員節點向簇首節點匯聚的特點導致處于中間層的節點不僅需要發送自己的數據,還要承擔大量的轉發任務,而大部分休眠調度中節點的激活/休眠周期都是相同的,容易造成大量的數據在轉發節點處累積,加劇了轉發過程中競爭的激烈程度,也使數據時延較長。因此,不同層節點的激活/休眠周期應該適應它們不同的接收、發送任務,簇首以及靠近簇首的成員節點由于接收、發送的任務較重,可以增加它們的激活/休眠的頻率,使其他節點有更多的接入機會,降低多跳數據轉發經歷的休眠等待時延,同時這樣也可以減輕每次競爭信道時的激烈程度。雖然這樣會增加一部分節點的能耗,但由于簇是周期輪轉的,節點在不同的時期會處在不同簇內的不同層,能夠使得節點間的能耗平衡。出于以上的考慮,提出了一種交錯的周期倍增同步休眠調度方案,該方案主要應用在基礎層MAC協議。


圖2 交錯的周期倍增同步休眠調度
交錯的周期倍增同步休眠調度中的上下行數據經歷的平均休眠等待時延是不同的,對上行數據的平均休眠等待時延有式(1),下行數據的平均休眠等待時延有式(2)。

推導過程如下。
(1)上行數據


圖3 交錯的周期倍增休眠調度上行數據時延分析

(2)下行數據


圖4 交錯的周期倍增休眠調度下行數據時延分析

將交錯的周期倍增同步休眠調度機制應用到無線傳感器網絡的基礎層MAC層協議(GFN-MAC)中,具體仿真分析如下。
利用QualNet5對GFN-MAC進行建模及仿真。在仿真實驗中,節點的能耗計算使用TR1000技術手冊的參數值,見表1。其中Itx、Irx、Isleep分別代表節點通信模塊處在發送、接收和休眠三個狀態時的工作電流,U代表通信模塊的工作電壓,并且通信模塊空閑狀態時的電流等于接收狀態時的電流,即Iidle=Irx。
基礎層節點分布密集,平均鄰居節點數目大約為10,因此固定的競爭窗口設置為32。通信距離較短,帶寬較窄,分別設為40 m和40 kbit/s,其它實驗參數設置見表1。

表1 GFN-MAC仿真實驗主要參數設置
(1)實驗1
在一個到簇首節點最大5跳的拓撲中(圖5),相鄰節點相距40 m。節點6為簇首節點,節點1~5分別在簇中的第1~5層。完全同步和交錯同步的節點激活/休眠周期為1 s,GFM-MAC簇首節點的激活/休眠周期為62.5 ms,那么第5層節點的激活/休眠周期為2 s。

圖5 GFN-MAC實驗一拓撲
對上行數據,依次仿真每層簇成員節點向簇首節點發送1 000個大小為40字節數據分組,對下行數據,依次仿真簇首節點向每層節點發送100個大小為1 000字節分組。
在仿真試驗中,簇成員節點從第10 s開始發送數據,數據發送間隔為5.01 s,發送多個分組時可以使數據的發送的時間較均勻的分布在節點的激活/休眠周期中。仿真時間為5 020 s。簇首節點從第10 s開始發送數據,數據發送間隔5.01 s,仿真時間512 s。
對使用完全同步[11]、交錯同步[12]和交錯的周期倍增同步三種休眠調度方案時數據傳輸經歷的平均休眠等待時延進行比較,仿真結果如圖6所示。由于沒有沖突重傳和排隊等待,影響時延的主要因素是等待目的節點激活的休眠等待時延。從圖中可以看出,由于下行的數據分組較大,傳輸時間較大,因此完全同步和交錯同步兩種休眠調度的下行數據時延沒有和上行數據時延重合,而是略大于上行數據的時延。在GFN-MAC中,最外層簇成員節點上行數據的時延能保持在1 s左右,從簇首節點發到第外層成員節點的數據經歷的時延大約1.7 s,而交錯同步此時的時延已達2.5 s以上,完全同步的調度更是達到了4.5 s。

圖6 不同休眠調度時延仿真驗證
(2)實驗2
實驗二是比較負載不同時GFN-MAC與完全同步的、交錯同步的休眠調度協議的時延、吞吐量和每字節能耗三個方面的性能。實驗拓撲為扇形區域,如圖7所示。圓心為簇首節點,簇最外層節點距簇首5跳。

圖7 GFN-MAC仿真拓撲結構
所有簇成員節點從第10 s開始同時向簇首節點發送大小40字節的恒定比特速率數據,仿真時間1 000 s。為保證數據到達時間在休眠周期中均勻分布,發送間隔分別為1.01 s和5.01 s。完全同步和交錯同步的節點激活/休眠周期為1 s,GFN-MAC簇首節點的周期為62.5 ms和125 ms,此時簇的最外層成員節點的激活/休眠周期為2 s和4 s。實驗結果如圖8所示。

圖8 不同負載下各休眠調度協議的性能比較
從圖8可以看出,兩種不同休眠調度的GFNMAC在不同的數據發送間隔下,比完全同步和交錯同步的休眠調度方案,具有更高的吞吐量,更低的時延和能耗。這是由于GFN-MAC中使用的的休眠調度通過使靠近簇首的節點的更頻繁的激活給其他節點更多的接入機會,讓數據能夠更快的轉發。由于減輕了數據在轉發節點的堆積,降低了沖突碰撞的概率,減少了因沖突重發帶來的能耗,因此GFNMAC的平均每個成功收發字節消耗的能量也小于其他兩種休眠調度的。
本文根據基礎層數據以周期性短數據為主的特點選擇使用同步的休眠調度,使節點盡量多的處在休眠狀態以降低能耗。又提出了一種交錯的周期倍增的同步休眠調度,以解決同步休眠調度帶來的時延增大的問題。最后通過仿真實驗,驗證了GFNMAC可以保證簇中上下行兩個方向的數據都有較低的時延,適合基礎層的數據特點,并且由于降低了沖突碰撞和快速轉發數據,協議在節能和降低時延的同時擁有較大的吞吐量,能夠較好的滿足群系統基礎層的要求。
[1] 蹇強,龔正虎,朱培棟,等.無線傳感器網絡MAC協議研究進展[J].軟件學報,2008,19(2):389-403.
[2] 楊建,李金寶,郭龍江,等.Dual-Radio無線傳感器網絡睡眠調度機制[J].軟件學報,2011,22(1):62-72.
[3] 唐震洲,施曉秋,金可仲.PA-MAC:一種被動的異步低占空比無線傳感器網絡MAC協議[J].傳感技術學報,2011,24(3):423-428.
[4] Sun Y J,Gurewitz O,Johnson D B.RI-MAC:A Receiver Initiated Asynchronous Duty Cycle MAC Protocol for Dynamic Traffic Loads in Wireless Sensor Networks[C]//Abdelzaher T,ed.Proc.of the 6th ACM Conf.on Embedded Network Sensor Systems.New York:ACM Press,2008.1-14.
[5] Kim J,Lin X J,Shroff N B,et al.Minimizing Delay and Maximizing Lifetime for Wireless Sensor Networks with any Cast[J].IEEE/ACM Trans.on Networking,2009,18(2):515-528.
[6] 唐震洲,胡倩.基于數據重排序的無線傳感器網絡低延時節能MAC 協議[J].傳感技術學報,2010,23(7):1037-1043.
[7] 崔海霞,黎文樓,丁志文.無線傳感器網絡中基于能量效率的分布式 MAC 協議[J].傳感技術學報,2010,23(1):104-109.
[8] Sun Y J,Du S,Gurewitz O,et a;.DW-MAC:A Low Latency,Energy Efficient Demand-Wakeup Mac Protocol for Wireless Sensor Networks[C]//Jia XH,ed.Proc.of the 9th ACM Int’l Symp.on Mobile Ad Hoc Networking and Computing.New York:ACM Press,2008.53-62.
[9] El-Hoiydi A,Decotignie J D.WiseMAC:An Ultra Low Power MAC Protocol for Multi-Hop Wireless Sensor Networks[C]//Nikoletseas S,ed.Proc.of the 1st Int’l workshop on Algorithmic Aspects of Wireless Sensor Network.Turku:Springer-Verlag,2004.
[10] Lai S W,Ravindran B.On Distributed Time-Dependent Shortest Paths over Duty-Cycled Wireless Sensor Networks[C]//Mandyam G,ed.Proc.of the 29th Annual Joint Conf.of the IEEE Computer and Communications Societies.Washington:IEEE Press,2010.1-9.
[11] Wan C Y,Eisenman S E,Campbell A T,et al.Siphon:Overload Traffic Management Using Multi-Radio Virtual Sinks[C]//Proc.of 3rdACM Conf.on Embedded Networked SensorSystems(SenSys).San Diego:ACM Press,116-119,2005.
[12] Gang Lu,Narayanan Sadagopan,Bhaskar Krishnamachari.Ashish Goel:Delay Efficient Sleep Scheduling in Wireless Sensor Networks[J].IEEE Infocom,2005.