舒 堅 ,葛 旭,劉琳嵐,洪 明
(1.南昌航空大學軟件學院,南昌330063;2.南昌航空大學物聯網技術研究所,南昌330063;3.南昌航空大學信息工程學院,南昌330063)
因商業、軍事和科研等應用環境的需求,無線傳感網絡對數據傳輸的可靠性提出了較高的要求,但無線傳感網絡自身的能量限制使得這個研究課題成為一個兩難決策,而網絡數據的傳輸路徑優化方案從一定程度上較好地解決了這個問題,有助于網絡能耗和傳輸可靠度達到平衡。因此,無線傳感網絡可靠傳輸的一個重要方面是路徑的優化。要對網絡路徑進行優化,首先必須依據某一項或幾項網絡參數指標建立一種有效的路徑可靠性評估方法。利用數據融合機制能夠對網內數據進行有效處理,有助于對路徑的可靠性進行準確判斷,使得端到端的數據傳輸達到較理想的可靠性。在利用融合算法設計路徑可靠性估計算法時,主要考慮以下5個因素:(1)算法的代表性;(2)平衡路徑能耗;(3)算法應用性;(4)理想可靠度條件下的其它網絡代價;(5)算法實時性。
目前對傳輸路徑可靠性估計的研究主要集中在數據傳輸層吞吐量、鏈路層服務質量、消息擁塞控制、數據傳輸容錯控制、數據冗余度控制以及均衡能耗等。由于其簡單和實用性,對傳輸消息的冗余度控制方法被廣泛應用于無線傳感網絡的傳輸可靠性研究,這種方法需要建立路徑的冗余度估計標準,然后根據路徑當前的可靠度范圍,對消息包的重傳次數、發包率等影響數據傳輸冗余度的相關參數進行控制,以此提高或降低路徑的冗余度、達到較理想的可靠性。
Luo等人[1]對用網內數據融合方法來提高傳輸可靠度過程中的最小能量可靠信息匯聚問題進行了探索,采用無消息確認機制,對融合路徑中節點間進行冗余消息傳輸,對大數據存量的消息包提供更可靠的數據傳輸支持;為達到保持低網絡開銷和延時的同時獲取理想的數據傳輸可靠性目標,Miller等人[2]提出了一種點到點數據可靠傳輸算法——PALER算法,采用基于NACK的錯誤探測和恢復機制來構建雙向傳輸路徑,并利用優先級MAC參數融合機制[3]對消息擁塞和路徑冗余度進行自適應控制;Luo和Li等人[4]針對能量有效路徑中低可靠性和鏈路失效的問題,根據當前路徑的消息包大小,提出了一種冗余控制數據融合方法提高路徑的數據傳輸可靠性;針對Tree-based Aggregation[5]與 Multi-path Aggregation[6]兩種協議方法中傳輸可靠性和冗余開銷的不對稱性問題,Soo等人[7]提出了一種折中方案—Cushion方法,通過對消息進行控制,由節點自主選擇單路徑融合或多路徑融合方法來傳輸數據,在轉發的過程中,中間節點通過調整冗余程度使得傳輸可靠性在一定開銷存在的情況下達到一個合理的水平;Paek等人[8]提出了RCRT算法,通過擁塞時動態窗口調整(Additive Increase Multiplicative Decrease,AIMD)機制來自適應調整節點的數據發送頻率,并以此來平衡路徑可靠性和擁塞控制之間的關系;文獻[9]針對傳輸可靠性與網絡生存周期的不均衡性以及WSNs的鏈路通信特性,提出一種功率控制和路由度量相結合的PCETX優化方法,以平衡端到端的傳輸可靠性和網絡生存周期;文獻[10]在研究WSNs鏈路質量與及節點剩余能量對網絡整體可靠性和能效的影響的基礎上,提出了一種基于博弈理論的可靠融合模型,以提高路徑的可靠度和能效性。
在上述研究的基礎上,本文根據路徑平均收包率、冗余變化粒度以及平均能耗,提出一種動態可調的基于路徑可靠性的估計方法(Dynamic Tunable Reliability Estimation Algorithms,DTREA)。數據融合在Sink節點進行,融合處理過程采用傳輸需求冗余度預測算法,對消息傳輸路徑上的冗余變化粒度進行計算,以此來獲取一定時間范圍內的路徑可靠度統計值,采用連續序列最大差值算法對路徑可靠度估計曲線上的可靠突變點進行動態定位,對下一回合路徑的冗余度進行調整,提高路徑可靠性、平衡網絡能耗。
無線傳感網絡中,能量有效路徑的數據傳輸可靠性較低與鏈路失效等問題是影響監測區域內事件探測信息準確性的重要研究課題之一。該問題主要表現為單位測量時間內,能量有效路徑中,鏈路層的收包率不理想,以及由此引起的Sink節點接收的信息可靠性較低。本文從以下兩方面對這個問題進行分析:一是路徑跳數(距離相關)對鏈路的影響;二是能耗的波動對鏈路的影響。
如圖1所示,實驗中選用Crossbow公司的TelosB節點,在室內環境下,觀測不同路徑上12個節點的路徑跳數(最大跳數為4跳)與收包率之間的關系,觀測單通信路徑上的5個節點的平均能耗與收包率之間的關系。其中,源節點(1號節點)和Sink節點(0號節點)各1個,中間節點負責消息的轉發,節點對間距為7.5米,發射功率為3,每30 s發送100個包。

圖1
實驗測得路徑跳數與平均收包率之間的關系如圖2所示,在有限的傳輸距離下,路徑跳數越少,鏈路并非最佳;跳數越多的傳輸路徑,鏈路可能越好;跳數相同的路徑,鏈路狀況差異很大。可見,在有限的通信范圍內,路徑的跳數不一定是引起鏈路波動和傳輸可靠性下降的關鍵因素。

圖2 路徑跳數與平均收包率的關系
實驗測得單通信路徑上平均能耗與平均收包率之間的關系如圖3所示(虛線以上部分表示理想的鏈路狀態)。

圖3 單位時間內平均能耗與平均收包率的關系
在0.06~0.09范圍內,路徑的平均收包率保持比較穩定和理想的狀態;隨著能耗波動強度的增加,鏈路的波動開始加劇并在平均能耗為0.16時急劇下降。這是因為,盡管當前路徑的能耗總量不高,但這種能耗是不平均的。鏈路通信實驗表明,這種不平均多數情況下是由于外部干擾導致單個節點的通信失效(如丟包、誤碼或數據丟失),從而使得整個鏈路不穩定,而逐跳的錯誤恢復(Hop-by-Hop Error Recovery[11])機制很難預先對可能出現的異常狀況進行預判和處理,同時容易造成額外的開銷和網絡延遲。因此,建立一個有效的路徑可靠性估計機制,才能根據當前鏈路狀況,對數據的傳輸進行實時調控,使得通信鏈路保持在一個穩定的理想狀態,并能預防通信失效狀況的發生。
網絡層:如圖4所示,監測網絡的消息傳輸是基于HREEMR[12]不相交多路徑路由協議進行的,該協議是基于查詢的定向擴散(Directed Diffdirecteddiffusion,DD[13])的擴展協議,提供次優路徑作為最優路徑失效情況下的多路選擇。首先Sink節點向下發送冗余度查詢信息,源節點根據收到的查詢包,進行數據加載后進行消息回傳;收到回傳的網絡信息參數后,Sink節點根據數據融合處理結果對當前路徑的傳輸可靠度進行評估,如果未達到理想的范圍,則向源節點發送冗余調整控制信息;當源節點收到控制包后,根據需求的理想可靠度對應的路徑冗余變化粒度值,來調整數據的發送頻率。

圖4 HREEMR不相交多路傳輸網絡示意圖
數據鏈路層:實驗中正反雙向鏈路同時存在,即節點間的鏈路實驗是支持消息重傳的,且不要求節點對收到的每個數據包進行確認,而只要求中間節點對收到的來自Sink節點的查詢信息進行逐跳下傳。
根據Cushion[7]協議設計冗余度估計方法,Dtrea算法提出一種逆向設計的思路。通過對下一回合的路徑需求冗余度進行預估,來衡量當前路徑的傳輸可靠程度,路徑的可靠度計算公式如式(1)所示:

其中,Pc為當前路徑冗余度,Pd為下一回合需求冗余度,初始Pc設為1,路徑的可靠度用當前的冗余度與路徑需求的冗余度預測值的變化率來進行衡量。需求的冗余度越低則當前的路徑可靠度越高,Pd的定義如下:

Fr=1,2…為路徑冗余控制次數,RGC是路徑的冗余變化粒度,不同于Cushion算法,這里的冗余變化粒度是隨著網絡實際運行狀態而動態變化的,RGC是一個需求估計值,計算公式如下:

其中,RGC≥0.1,n為路徑跳數,RRP是重復發包率(Required Rate of Packet[14]),RNP 是重復發包數(Required Number of Packet)的估計值,RNPEstd為估計的RNP值[14],即成功接收一個包需要平均發送的數據包數量的估計值,RNPmax為根據具體實驗要求設定的最大RNP值,鏈路實驗表明RNPmax的變化區間一般在8到10之間,本文取10為參照值。具體定義如下:

根據式(1)對當前路徑的傳輸可靠度進行估計后,Sink會根據單位時間內獲取的一個可靠度估計值序列,利用連續序列最大差值算法來求可靠突變點J。該序列是根據平均能耗比(Average Energy Consumption Rate,Avg-ECR)的單調遞增順序建立的,J值是非理想可靠度區間的一個臨界值,這里將可靠度在0.9到1的可靠區間定義為理想的可靠度范圍。平均能耗比以及J值的計算公式如下:

假定單位時間內,依據Avg-ECR單調遞增順序獲取的路徑可靠度估計值組成一個連續序列S[S1,S2,…,Sn],這里的 n 為序列包含的數據總數,而D[Si,Si+1]為這個序列相鄰兩個數值的最大差值區間:

其中:1<i<n,1<j<n,求出 J 值后,可得當前可靠度估計區間分別為:Reliability={R|[min,J),[J,0.9],(0.9,max]}。這里用可靠突變點對應的可靠度J來對路徑的可靠度進行分區,并非是期望按不同的可靠區間進行不同的冗余控制,而是將J看作一個引起路徑可靠性急劇下降的關鍵點。區別于ESRT[15]算法的R值(達到理想可靠度所需求的路徑發包數下限),J對應的RGC值代表的是當前路徑達到理想可靠度所缺少的具體冗余度,該值隨著網絡的變化而動態變化。因此,本文提出的算法能夠滿足一定的實時性應用需求。
監測范圍:8 m×45 m;監測環境:室內;通信方式:端到端;節點發射功率:3;節點型號:Crossbow的節點TelosB;發送頻率:300 ms;初始發包數:100。如圖1所示,節點總數為12,節點編號為0到11號,其中0號為Sink,1號為Source,其它為中間節點,中間節點只負責Relay,Source節點負責數據的采集和發送。測量的主要參數包括節點能耗和逐跳PRR估計值等。
單位時間內,依據Dtrea算法進行冗余傳輸(實際RGC=0.23)后的路徑可靠度如圖5中的DTREA算法曲線所示。為了對Dtrea算法下冗余傳輸的精度進行評估,選取了固定冗余變化粒度RGC=0.25(即Cushion)時的路徑可靠度測試進行對比,如圖5中的Cushion曲線所示。從調整后可靠度上,可以看出隨著路徑冗余度的增加,Cushion和Dtrea兩種方法在單位時間內的可靠度幾乎是一樣的,都在0.9以上,說明Dtrea方法可靠性估計的有效性是較高的,并且隨著冗余度的增加,路徑總體的可靠性始終趨于穩定。

圖5 單位時間內的路徑可靠性對比
在實際監測環境中,特別是存在路由梯度的傳感網絡中,單個節點的能耗波動往往是導致整體網絡性能急劇下降的主要原因,因此一個均衡的網絡能耗是有效提高路徑可靠度的關鍵因素之一。由于節點的初始能量不一樣,工作一段時間后節點剩余能量往往也不均衡,因此如果用簡單的節點能耗均值很難反映出單個節點的能耗狀況,而采用平均能耗能比較好地解決這個問題。
本文中平均能耗指的是監測網絡內部的能量有效路徑上的所有節點當前時刻的能耗占上一時刻能量的百分比均值。
由圖6可知,隨著時間的推移,Original的平均能耗率的極小值是遞增的。總體而言,它的平均能耗率是緩慢上升的,可一旦超過某一個時間閾值(240 s),曲線呈急劇上升態勢,因此不適合長期的網絡環境監測;Cushion算法下的平均能耗率上下波動的幅度太大,隨著時間的推移,其斜率也是急劇遞增的,而且它的最大值和極大值都遠遠高于其它方法,說明它的能耗是非常不穩定的,從而很難做到平衡網絡能耗;而Dtrea算法下的平均能耗率的最小值和最大值均小于另外兩種方法的最小值和最大值,并且隨著時間的推移慢慢趨于穩定,這說明它的平均能耗率較另外兩種方法波動幅度較小而且穩定性較強,因此Dtrea算法的路徑傳輸能耗是均衡的。

圖6 單位時間內的路徑平均能耗對比

圖7 單位時間內的路徑平均收包率對比
算法單位時間內的鏈路狀態如圖7所示,Dtrea算法下的平均PRR基本上是和Cushion算法下的平均PRR重合的,雖然后面有一段時間的平均收包率略低于Cushion算法的實驗結果,但由于各個時段的平均收包率仍大于0.9,因此認為其整體鏈路質量是可靠的。相比Cushion和ESRT算法,Dtrea依靠路徑融合粒度在初始控制階段對路徑的可靠性進行自適應最優處理,降低了來回的消息控制次數,節省了計算空間和能量,算法的實用性得到大幅提升。
本文提出一種基于路徑可靠性估計的多傳感器數據融合方法,該方法能夠實時地對路徑可靠度進行評估,并利用冗余傳輸方法對傳輸可靠度進行動態調整,保證理想可靠度下的能耗均衡性。實測結果驗證了上述結論的真實、有效性。在單位時間內,多條有效路徑(最優、次優)的路由梯度已經預先確立的前提下,該方法同樣適用于交叉多路傳輸的網絡監測環境。因為在多條交叉路徑同時工作的情況下,中間的交叉節點需要準確區分收到的多個消息包的源地址和目的地址,并進行有序轉發。如何對上行或者下行的消息包進行按優先級排序,如何解決實時狀態下的消息擁塞沖突,以及由此引發的路徑可靠性波動問題,需要根據實際的研究需求進行分析,是下一步研究工作的重點。
[1] Luo Hong,Tao Huixiang,Ma Huadong,et al.Data Fusion with Desired Reliability in Wireless SensorNetworks[J].IEEE Transactions on Parallel and Distributed Systems,2011,22(3):501-513.
[2] Miller C,Poellabauer C.PALER:A Reliable Transport Protocol for Code Distribution in Large Sensor Networks[C]//Proc.SECON’08,San Francisco,CA,Jun.2008,206-214.
[3] Wang C,Sohraby K,Lawrence V,et al.Priority-Based Congestion Control in Wireless Sensor Networks[C]//Proc.STCU’06,Taichung,Taiwan,June,2006:21-31.
[4] Hong Luo,Qi Li,Wei Guo.RDA:Reliable Data Aggregation Protocol for WSNs[C]//Wireless Communications,Networking and Mobile Computing,2006.WiCOM 2006.International Conference on 22-24 Sept.2006.
[5] Samuel Madden,Michael J Franklin,Joseph Hellerstein,et al.TAG:a Tiny Aggregation Service for Ad-Hoc Sensor Networks[C]//Proc.of the Fifth Symposium on Operating Systems Design and implementation(OSDI’02),December 9-11,2002,Boston,MA,USA.
[6] Nath S,Gibbons P B,Seshan S,et al.Synopsis Diffusion for Robust Aggregation in Sensor Networks[C]//ACM SenSys,2004.
[7] So Jungmin,Kim Jintae,Gupta I.Cushion:Autonomically Adaptive Data Fusion in Wireless Sensor Networks[C]//IEEE International Conference on Mobile Adhoc and Sensor Systems Conference,2005.NY,USA:ACM,2005:414-425.
[8] Paek J,Govindan R.RCRT:Rate-Controlled Reliable Transport for Wireless Sensor Networks[C]//Proc.ACM SenSys’07,Sydney,Australia,Nov.2007:305-319.
[9] 程大偉,趙海,孫配剛,等.基于于聯合優化的無線傳感器網絡傳輸可靠性研究[J].傳感技術學報,2007,20(12):2701-2708.
[10]黃旗明,劉笑.基于博弈理論的無線傳感器網絡融合路由研究[J].傳感技術學報,2008,21(11):1905-1908.
[11] Lee H,Ko Y,Lee D.A Hop-by-Hop Reliability Support Scheme for Wireless Sensor Networks[C]//Proc.PERCOMW’06,Pisa,Italy,Mar.2006:431-439.
[12] Deepak Ganesan,Ramesh Govindan,Scott Shenker,et al.Highly-Resilient,Energy-Efficient Multipath Routing in Wireless Sensor Networks[C]//ACM SIGMOBILE Mobile Computing and Communications Review,Oct.2001.
[13] Chalermek Intanagonwiwat,Ramesh Govindan,Deborah Estrin,et al.Directed Diffusion for Wireless Sensor Networking[J].IEEE/ACM Transactions on Networking,2003(1): - .
[14] Cerpa A,Wong J L,Potkonjak M,et al.Temporal Properties of Low Power Wireless Links:Modeling and Implications on Multi-Hop Routing[C]//MobiHoc’05:Proceedings of the 6th ACM international symposium on Mobile ad hoc networking and computing.New York 2005.
[15] Akan O B,Akyildiz I F.Event-to-Sink Reliable Transport in Wireless Sensor Networks[J].IEEE/ACM Transactions on Networking,Oct.2005:1003-1016.