馬玉軍 ,陳 敏 ,王軍鋒 ,3
(1.華中科技大學計算機科學與技術學院 武漢 430074;2.南陽理工學院計算機網絡中心 南陽 473004;3.鄭州大學信息工程學院 鄭州 450001)
近年來,無線體域網 (wireless body area network,WBAN)逐漸成為研究熱點,吸引了許多學術界和工業界的研究人員,在醫療護理、體育、娛樂、軍工企業、社會公共等領域應用需求很大。目前,在WBAN中廣泛使用的無線標準是IEEE 802.15.4,它支持非常低的功耗,特別適合低速率近距離的無線傳輸。
在WBAN中,終端節點(end device)是人身上佩戴的傳感器,如心電圖(ECG)、腦電圖(EEG)、重力加速計等,如圖1所示。通常情況下,人體傳感器不會和外界接入點直接通信,因此引入PS(personal server,個人服務器)作為聯接人體傳感器和外界接入點的橋梁。除了路由人體感知數據分組之外還可以有其他功能,例如,用于人體感知信息融合、降低數據冗余度,或作為網絡協調器。
與傳統的無線傳感器網絡 (wireless sensor network,WSN)中QoS特性不同,WBAN中對業務實時性、可靠性等服務質量(quality of service,QoS)要求更高,而且對于不同的WBAN應用場景,QoS要求也需量身定做。比如在醫院的真實應用中,在帶寬有限的情況下,不同傳感數據的QoS及傳輸優先級將不同,根據醫院實際情況考慮以下3種情況。

圖1 無線體域網樹型結構
·病人之間的優先級,即不同病人之間提供的服務優先級不同(例如急診危重病人的數據比慢性病人的數據優先傳輸,因此需要設置更高的優先級)。
·傳感器節點之間的優先級,即同一病人的不同種類傳感數據的服務優先級不同(例如心電數據通常要優先于體溫數據)。
·傳感器節點內部的優先級,即同一節點同一類傳感數據,在不同時間的優先級可能動態變化(例如血糖數據通常指定較低的優先級,然而當血糖過高或過低時,需要指定高優先級)。
IEEE 802.15.4中MAC層有兩種模式,信標模式和非信標模式,目前已經有了一些基于這兩種模式的QoS研究,例如Bilel Nefzi等人設計的CoSenS系統實現了簡單的可擴展服務區分方法,在保證盡力傳輸流量的同時能夠自動適應流量變化;Cao H等人則基于信標使能模式下超幀結構提出了一種單層級的QoS方案。但是這些研究沒有從多個等級對WBAN業務數據之間的優先級做出更為細致的區分。本文基于IEEE 802.15.4信標使能模式和樹型拓撲結構,提出一種基于等級的QoS框架,分別對競爭訪問期(contention access period,CAP)和非競爭訪問期(contention free period,CFP)提出了適應不同優先級數據的QoS算法。通過網絡仿真驗證了所提出框架的可行性和實用性。
IEEE 802.15.4提供兩種操作模式:信標模式和非信標模式。在非信標模式中,使用非時隙的CSMA/CA機制進行通信,這種機制比信標模式中采用的基于時隙的CSMA/CA機制簡單,所有節點均以競爭方式接入信道。信標模式更適合實時數據和周期性數據傳送,也適合在WBAN中實現QoS。本文主要研究信標模式下的網絡通信。
在信標模式中,有一個非常重要的概念:超幀(superframe),它是一個周期性的時間結構,分為活躍期(active)和可選的非活躍期(inactive),每個協調器都有自己的超幀,超幀結構如圖2所示。協調器周期性發送信標幀,節點通過信標幀進行同步操作。兩個相鄰信標幀的時間間隔稱為信標間隔(beacon interval,BI)。節點在活躍期打開接收機接收數據或者準備接收數據,在非活躍期休眠以節約能量。超幀活躍期的持續時間用參數SD(superframe duration)表示,它被劃分為16個相等的時隙(a Num Superframe Slots)。整個活躍期又被分為競爭訪問期(contention access period,CAP)和非競爭訪問期(contention free period,CFP),節點在CAP采用基于時隙的CSMA/CA機制訪問信道,而在CFP內則采用TDMA(time division multiple access)進行通信,使用保障時隙(guaranteed time slot,GTS)描述時隙資源,在CFP中包括一個或多個GTS,被分配給某個設備的GTS包括一個或多個時隙用于和協調器通信。
信標間隔和超幀持續時間分別由信標階(beacon order,BO)和超幀階(superframe order,SO)決定,計算方法如式(1)和式(2)所示。SO 和 BO 必須滿足:0≤SO≤BO≤14。


圖2 超幀結構

基于時隙的CSMA/CA機制有3個重要的參數:NB(number of back off)、CW(content windows)和 BE(back off exponent)。其中NB表示退避次數,初始值為0,最大值為4。當節點完成隨機延遲,并監測到信道繁忙,則NB加1;若NB超過最大值,則發送失敗。CW為競爭窗,表示發送數據前需要確認信道空閑的次數,默認值為2。當確認信道空閑成功一次,則CW值減1,當CW為0并且網絡信道空閑時開始傳輸數據。BE表示退避指數,表示檢測信道是否空閑之前需要隨機退避時間,BE的取值范圍是0~5,默認值為3。
IEEE 802.15.4協議對NB、BE和CW值的設定不是強制性的,可以根據實際情況進行調整,具有較高的靈活性。后面將對這些參數進行適當的調整以滿足QoS需求。
IEEE 802.15.4信標模式中CFP使用保障時隙(guaranteed time slot,GTS)為接入設備提供信道訪問。設備訪問信道前必須申請GTS,GTS請求命令幀格式如圖3所示。

圖3 GTS申請命令幀格式
節點(終端設備或路由器)使用GTS進行數據傳輸時,必須向其父節點(路由器或協調器)發送GTS分配請求命令幀,當命令幀中characteristics type域的值為1時,表示申請GTS,GTS length域表示所申請時隙個數。父節點接收到GTS請求命令幀后發送確認幀。父節點在分配GTS時必須同時滿足如下3個條件。
·父節點當前超幀的CFP中剩余時隙個數大于或等于節點請求的GTS長度。
·父節點中已分配的GTS數小于7(每個超幀最多分配 7個 GTS)。
·分配GTS后父節點的CAP長度大于或等于aMinCAP Length的值(IEEE 802.15.4規定的CAP最小長度,其值為440個符號)。
在帶寬資源允許的情況下,父節點使用先來先服務原則為節點分配GTS,并將GTS分配情況存入信標幀的GTS域。請求GTS的節點在約定的信標周期內對收到的信標幀的GTS域進行分析,判斷是否被分配了GTS,如果父節點為自己分配了GTS,則可在指定的GTS時隙范圍內發送數據,否則GTS分配請求失敗。
本部分提出一種采用樹型拓撲結構并基于IEEE802.15.4信標模式的無線體域網服務質量框架。框架整合IEEE 802.15.4信標使能通信模式、采用樹型拓撲結構以及樹路由??蚣軐⒎諈^分為3個等級,第1個等級為病人級別的服務區分,根據病人的疾病緊急程度或者交費情況確定其優先級,保證優先級高的病人的通信,將其稱為病人間的優先級。第2個等級為病人內部傳感器間的優先級。通常,WBAN中人體一般攜帶多個傳感器節點 (例如EEG、ECG),根據實際情況,這些傳感器節點通常具有不同的優先級,例如,心臟病病人的ECG傳感器的優先級應該比其他傳感器高,當心臟病發作時,ECG數據必須優先于其他傳感器節點被發送出去。第3個等級為傳感器節點內部數據的優先級,傳感器節點內部要發送的數據幀,根據其緊急程度進行優先級區分,保證重要的突發緊急數據優先發送,例如心臟病病人在心臟病發作時,必須立即將這個數據信息發送到醫療中心。利用IEEE 802.15.4信標模式中的競爭訪問期和非競爭訪問期來實現這3個等級的優先級。
每個病人身上都帶有一個PS,它負責接收病人攜帶的傳感器數據并將數據轉發出去。PS具備樹路由功能。
在醫療應用中,有些病人的某個傳感器數據需要優先傳輸,因此需要對數據區分優先級。比如在緊急醫療場合,危重病人的數據需要采用更高的優先級傳輸??紤]使用GTS characteristic字段中的reserved中的兩位來指定數據的優先級,它可以指定00~03共4個優先級。
醫護人員根據病人具體情況設置節點或路由器的優先級,節點申請GTS時,將優先級設置到reserved字段中。當其父節點(路由器或協調器)接收到其GTS請求之后,根據reserved請求的優先級將其插入GTS隊列中。
父節點GTS隊列中優先級越低的排在隊列越前面。分配GTS從隊列的最后開始往前分配,如圖4所示。

圖4 保障時隙隊列示意
插入隊列之后,父節點按照GTS隊列優先級從高到底重新分配GTS,可能導致低優先級的GTS失去時隙,則失去分配時隙的GTS成為“waiting GTS”狀態,等待高優先級GTS釋放時隙資源。當高優先級的GTS節點釋放GTS時,則父節點重新進行GTS分配,后面的“waiting GTS”可能重新獲得時隙資源。
樹型結構下,當路由器下的節點優先級改變之后,將路由器的優先級也相應改變,路由器的優先級是各子節點優先級的加權平均,計算方法如式(3)所示。

其中Pr表示路由器的優先級,Si和Pi分別表示第i個子節點的時隙數和優先級。
GTS申請流程如下:
(1)終端節點向路由器發送GTS請求;
(2)路由器向終端節點回復ACK幀;
(3)路由器為終端節點分配時隙,更新自己的優先級;
(4)如果路由器優先級發生變化,則向協調器發送新的GTS請求;
(5)如果路由器已經分配了GTS,則協調器更新其GTS信息,否則,協調器根據路由器優先級為其分配GTS時隙;
(6)路由器向終端節點發送帶有新的分配信息的信標幀;
(7)協調器向路由器發送帶有新的分配信息的信標幀。
步驟(3)父節點分配GTS的算法如下。
算法1 分配保障時隙(GTS)
通過優先級在隊里中查找正確的位置,
將新的GTS請求信息插入隊列并排序

當終端節點接收到信標幀時,如發現自己的GTS起始時隙為-1,則停止發送數據,直到信標幀重新分配到GTS(其起始時隙不是-1),再傳輸數據。
路由器優先級變化之后,向協調器發送新的GTS請求,協調器根據路由器的優先級更新其GTS隊列,然后通過信標幀通知路由器,處理過程和路由器類似。
人身體上可能帶有多個傳感器節點(如EEG、ECG)。傳感器節點間的QoS實現有兩種方法。
·利用基于時隙的CSMA/CA機制中CAP的BE。
·利用CFP的GTS,這部分功能已經整合到基于不同用戶的QoS實現中。
下面具體介紹第1種方法。
退避指數表示節點在探測信道忙閑狀態時需要隨機退避等待的時間,它的值要根據電池壽命擴展參數mac BattLife ExtPeriod設置,如果這個屬性值為true,則BE=min(2,macMinBE),即2和 macMinBE之間的最小值,如果這個屬性值為false,則BE=macMinBE。因為在體域網中節點電池的更換相對比較容易,假設macBattLifeExtPeriod屬性值為false,macMinBE的值即為BE的值。用T表示隨機退避等待的時間,用R表示0~(2BE-1)之間的隨機整數。T可以用式(4)表示。

可見BE值的選取直接影響隨機退避時間T,BE的范圍為0~macMaxBE,而macMaxBE的值為0~5。較小的BE值意味著設備有較大的可能優先使用信道發送數據。由此可見,如果節點的退避指數不同,則節點在使用CSMA/CA機制訪問信道時,占用信道的概率也不相同。通過調節每個終端設備的BE值實現服務區分,BE越小,終端設備的優先級越高,從而保證在競爭訪問期內的服務質量。
在每一個傳感器節點的內部,存在多種需要發送的數據類型,例如,周期性發送的非緊急數據,突發事件的緊急數據,要求確認的數據和不要求確認的數據以及MAC層的命令幀等。為了保證發生突發事件時緊急數據能夠立即成功發送,需要對這些數據進行服務區分,提供QoS保證。
節點內部在CAP內發送的數據的分類、優先級設置見表1。

表1 節點內部優先級
當節點內部生成數據流量后,內部處理程序根據其數據類型設置優先級,然后將數據加入CAP發送隊列中,如果隊列為空,則數據直接加入隊列即可,如果隊列不為空,則需要根據數據分組的優先級將數據分組插入隊列中,優先級高的數據分組排在優先級低的數據前面,以保證優先被發送出去。具體算法如下。
算法2 設置競爭訪問期CAP優先級

通過計算機仿真對提出的QoS框架和實現算法進行性能評估。使用OPNET Modeler仿真工具和開放源代碼的IEEE 802.15.4/ZigBee OPNET仿真模型,實現了提出的基于等級的QoS框架和算法,修改了仿真模型中的樹路由算法以滿足QoS的要求,加入了支持QoS的GTS調度算法。
假設病人身上攜帶3個傳感器節點,這3個傳感器節點都需要和PS通信。傳感器節點node1、node2和node3的BE值分兩種情況:第1種情況,3個傳感器節點的BE值都為3;第2種情況,3個傳感器節點的BE值分別為1、2和3。3個傳感器節點在CAP內的流量開始時間相同,流量速率設置為 100 bit/0.03 s,仿真時間為 50 s。BE兩種取值的CAP隊列時延仿真結果如圖5和圖6所示。當節點的BE值相等時,3個節點要發送的數據在隊列中的時延集中為0.005~0.010 s。設置不同BE值后,node 1節點的隊列時延為0.003~0.004 s,node2節點的隊列時延為 0.006~0.008 s,node3節點的隊列時延為0.008~0.012 s。仿真結果表明3個節點將數據發送出去的時延隨著BE值的增大依次增加,實現了按照優先級發送數據的效果。

圖5 節點退避指數都為3

圖6 節點退避指數依次為1、2、3
在一個路由器下設置6個子節點,BO設置為6,SO設置為2,每個子節點分組間隔為1 s,分組大小為500 bit,仿真時間設置為60 s。
首先看修改之前,如果4個節點申請的GTS優先級相同,node1~node6都申請4個時隙,仿真結果如圖7所示。

圖7 未設優先級的網絡輸出負載
可以看到,根據先來先服務的原則,node1至node3都申請到4個時隙,因為最小CAP的限制,CFP最大可分時隙數為13個,node4申請到1個時隙,當node5和node6開始申請時,已經沒有時隙可用,因此一直沒有申請成功。
改進GTS分配算法之后,仿真的GTS參數設置見表2。仿真結果如圖8所示。

表2 節點仿真參數

圖8 設置優先級后的網絡輸出負載
圖9是node4開始發送數據之后,父節點GTS隊列隨著node5、node6的開始和結束發送數據 (第16 s~第50 s)的變化。當node4申請GTS時隙時,優先分得4個時隙,node2和node3仍然各占有4個時隙,因為node2的優先級最低,所以其時隙只剩下 1個。GTS隊列如圖 9(a)所示。

圖9 保障時隙隊列變化
當 node5在第 20 s申請到 4個時隙之后,node2的GTS被剝奪,進入等待狀態,從圖8可以看到node2的網絡輸出負載在第20 s時開始走平,node1只剩一個時隙。GTS隊列如圖 9(b)所示。
當 node6在第 24 s申請到 4個時隙之后,node1的GTS也被剝奪,進入等待狀態,GTS隊列如圖9(c)所示,圖8中的node1的網絡輸出負載開始走平。
在第40 s時,node5到達結束時間,釋放了GTS,node1重新獲得了 1個時隙的 GTS,GTS隊列如圖 9(d)所示。圖9中node5的網絡輸出負載開始走平,而node1則又開始傳輸數據,網絡輸出負載開始向上走。
在第50 s時,node6到達結束時間,釋放了GTS,node1增加了3個時隙,成為4個時隙,node2重新獲得了1個時隙的 GTS,GTS隊列狀態恢復到圖9(a)。圖8中node6的網絡輸出負載開始走平,而node2則又開始傳輸數據,網絡輸出負載向上走。
以上結果說明實現了CFP中不同GTS優先級數據的彈性傳送。
路由器的優先級是所有GTS時隙優先級的加權平均,當GTS隊列發生變化時,路由器的優先級也發生了變化,路由器的優先級如圖10所示。如果路由器優先級發生變化,則向協調器發送GTS分配請求。

圖10 路由器優先級變化
可以看到第4 s和第8 s時因為node1、node2優先級都是1,因此沒有改變,當第12 s時node3開始申請GTS,路由器平均優先級變為1.3,隨著node4~node6開始申請GTS,平均優先級接近 3,node5,node6 在第 40 s、第 50 s退出GTS之后,平均優先級最后稍低于2。根據式(4)計算,總的時隙數是 13,則路由器優先級為(4×3+4×2+4×2+1×1)/13≈1.9。這說明了節點的優先級變化導致路由器的優先級發生了變化。
由于節點內部QoS的設置和數據傳送僅與傳感器自身和PS相關,為了簡化設置過程和對仿真結果的分析,僅設置1個傳感器節點與PS進行通信。由于MAC命令幀個數在整個通信中所占的比例較小,故僅仿真ACK和NO ACK流量。傳感器節點的ACK和NO ACK流量發送的間隔時間都為0.01 s(按指數分布),數據分組大小都為100 bit,發送時間都為0.2~4.0 s。仿真時間為5 s。
在未設置優先級情況下的數據幀平均端到端時延(end to end delay)仿真結果如圖11所示,設置優先級后的仿真結果如圖12所示。在未設置優先級時ACK流量和NACK流量的端到端平均時延集中在0.007~0.009 s,設置優先級后,ACK流量的平均端到端時延集中在0.004 s,而NACK流量的平均端到端時延集中在0.014~0.018 s。也就是說,通過設置優先級確保了ACK數據優先發送到目的地。

圖11 沒有優先級的端到端時延

圖12 設置優先級后的端到端時延
在無線體域網中提供有效的QoS保障機制,對于WBAN的推廣應用具有重要意義。本文利用IEEE 802.15.4信標模式和基于樹型拓撲的樹路由實現了基于等級的QoS框架,從3個不同等級確保高優先級數據傳送,在保證實現QoS的同時與現有通信協議完全兼容,并通過計算機仿真驗證了提出的QoS框架。
1 Chen M,Gonzalez S,Vasilakos A,etal.Body area networks:a survey.Mobile Networks and Applications,2011,16(2):171~193
2 Cao H,Gonzalez-Valenzuela S,Leung V C M.Employing IEEE 802.15.4 for quality of service provisioning in wireless body area sensor networks.Proceedings of 2010 the 24th IEEE International Conference on Advanced Information Networking and Applications(AINA),Perth,Australia,2010
3 Nefzi B,Song Y Q.QoS for wireless sensor networks:enabling service differentiation at the MAC sub-layer using CoSenS.Ad Hoc Networks,2012,10(4):680~695
4 Opnet Tech Inc.Opnet Modeler.http://www.opnet.com/
5 OpenSource toolset for IEEE 802.15.4 and ZigBee.http://www.open-zb.net/