馬玉軍 ,陳 敏 ,王軍鋒 ,3
(1.華中科技大學計算機科學與技術學院 武漢 430074;2.南陽理工學院計算機網(wǎng)絡中心 南陽 473004;3.鄭州大學信息工程學院 鄭州 450001)
近年來,無線體域網(wǎng) (wireless body area network,WBAN)逐漸成為研究熱點,吸引了許多學術界和工業(yè)界的研究人員,在醫(yī)療護理、體育、娛樂、軍工企業(yè)、社會公共等領域應用需求很大。目前,在WBAN中廣泛使用的無線標準是IEEE 802.15.4,它支持非常低的功耗,特別適合低速率近距離的無線傳輸。
在WBAN中,終端節(jié)點(end device)是人身上佩戴的傳感器,如心電圖(ECG)、腦電圖(EEG)、重力加速計等,如圖1所示。通常情況下,人體傳感器不會和外界接入點直接通信,因此引入PS(personal server,個人服務器)作為聯(lián)接人體傳感器和外界接入點的橋梁。除了路由人體感知數(shù)據(jù)分組之外還可以有其他功能,例如,用于人體感知信息融合、降低數(shù)據(jù)冗余度,或作為網(wǎng)絡協(xié)調器。
與傳統(tǒng)的無線傳感器網(wǎng)絡 (wireless sensor network,WSN)中QoS特性不同,WBAN中對業(yè)務實時性、可靠性等服務質量(quality of service,QoS)要求更高,而且對于不同的WBAN應用場景,QoS要求也需量身定做。比如在醫(yī)院的真實應用中,在帶寬有限的情況下,不同傳感數(shù)據(jù)的QoS及傳輸優(yōu)先級將不同,根據(jù)醫(yī)院實際情況考慮以下3種情況。
圖1 無線體域網(wǎng)樹型結構
·病人之間的優(yōu)先級,即不同病人之間提供的服務優(yōu)先級不同(例如急診危重病人的數(shù)據(jù)比慢性病人的數(shù)據(jù)優(yōu)先傳輸,因此需要設置更高的優(yōu)先級)。
·傳感器節(jié)點之間的優(yōu)先級,即同一病人的不同種類傳感數(shù)據(jù)的服務優(yōu)先級不同(例如心電數(shù)據(jù)通常要優(yōu)先于體溫數(shù)據(jù))。
·傳感器節(jié)點內部的優(yōu)先級,即同一節(jié)點同一類傳感數(shù)據(jù),在不同時間的優(yōu)先級可能動態(tài)變化(例如血糖數(shù)據(jù)通常指定較低的優(yōu)先級,然而當血糖過高或過低時,需要指定高優(yōu)先級)。
IEEE 802.15.4中MAC層有兩種模式,信標模式和非信標模式,目前已經(jīng)有了一些基于這兩種模式的QoS研究,例如Bilel Nefzi等人設計的CoSenS系統(tǒng)實現(xiàn)了簡單的可擴展服務區(qū)分方法,在保證盡力傳輸流量的同時能夠自動適應流量變化;Cao H等人則基于信標使能模式下超幀結構提出了一種單層級的QoS方案。但是這些研究沒有從多個等級對WBAN業(yè)務數(shù)據(jù)之間的優(yōu)先級做出更為細致的區(qū)分。本文基于IEEE 802.15.4信標使能模式和樹型拓撲結構,提出一種基于等級的QoS框架,分別對競爭訪問期(contention access period,CAP)和非競爭訪問期(contention free period,CFP)提出了適應不同優(yōu)先級數(shù)據(jù)的QoS算法。通過網(wǎng)絡仿真驗證了所提出框架的可行性和實用性。
IEEE 802.15.4提供兩種操作模式:信標模式和非信標模式。在非信標模式中,使用非時隙的CSMA/CA機制進行通信,這種機制比信標模式中采用的基于時隙的CSMA/CA機制簡單,所有節(jié)點均以競爭方式接入信道。信標模式更適合實時數(shù)據(jù)和周期性數(shù)據(jù)傳送,也適合在WBAN中實現(xiàn)QoS。本文主要研究信標模式下的網(wǎng)絡通信。
在信標模式中,有一個非常重要的概念:超幀(superframe),它是一個周期性的時間結構,分為活躍期(active)和可選的非活躍期(inactive),每個協(xié)調器都有自己的超幀,超幀結構如圖2所示。協(xié)調器周期性發(fā)送信標幀,節(jié)點通過信標幀進行同步操作。兩個相鄰信標幀的時間間隔稱為信標間隔(beacon interval,BI)。節(jié)點在活躍期打開接收機接收數(shù)據(jù)或者準備接收數(shù)據(jù),在非活躍期休眠以節(jié)約能量。超幀活躍期的持續(xù)時間用參數(shù)SD(superframe duration)表示,它被劃分為16個相等的時隙(a Num Superframe Slots)。整個活躍期又被分為競爭訪問期(contention access period,CAP)和非競爭訪問期(contention free period,CFP),節(jié)點在CAP采用基于時隙的CSMA/CA機制訪問信道,而在CFP內則采用TDMA(time division multiple access)進行通信,使用保障時隙(guaranteed time slot,GTS)描述時隙資源,在CFP中包括一個或多個GTS,被分配給某個設備的GTS包括一個或多個時隙用于和協(xié)調器通信。
信標間隔和超幀持續(xù)時間分別由信標階(beacon order,BO)和超幀階(superframe order,SO)決定,計算方法如式(1)和式(2)所示。SO 和 BO 必須滿足:0≤SO≤BO≤14。
圖2 超幀結構
基于時隙的CSMA/CA機制有3個重要的參數(shù):NB(number of back off)、CW(content windows)和 BE(back off exponent)。其中NB表示退避次數(shù),初始值為0,最大值為4。當節(jié)點完成隨機延遲,并監(jiān)測到信道繁忙,則NB加1;若NB超過最大值,則發(fā)送失敗。CW為競爭窗,表示發(fā)送數(shù)據(jù)前需要確認信道空閑的次數(shù),默認值為2。當確認信道空閑成功一次,則CW值減1,當CW為0并且網(wǎng)絡信道空閑時開始傳輸數(shù)據(jù)。BE表示退避指數(shù),表示檢測信道是否空閑之前需要隨機退避時間,BE的取值范圍是0~5,默認值為3。
IEEE 802.15.4協(xié)議對NB、BE和CW值的設定不是強制性的,可以根據(jù)實際情況進行調整,具有較高的靈活性。后面將對這些參數(shù)進行適當?shù)恼{整以滿足QoS需求。
IEEE 802.15.4信標模式中CFP使用保障時隙(guaranteed time slot,GTS)為接入設備提供信道訪問。設備訪問信道前必須申請GTS,GTS請求命令幀格式如圖3所示。
圖3 GTS申請命令幀格式
節(jié)點(終端設備或路由器)使用GTS進行數(shù)據(jù)傳輸時,必須向其父節(jié)點(路由器或協(xié)調器)發(fā)送GTS分配請求命令幀,當命令幀中characteristics type域的值為1時,表示申請GTS,GTS length域表示所申請時隙個數(shù)。父節(jié)點接收到GTS請求命令幀后發(fā)送確認幀。父節(jié)點在分配GTS時必須同時滿足如下3個條件。
·父節(jié)點當前超幀的CFP中剩余時隙個數(shù)大于或等于節(jié)點請求的GTS長度。
·父節(jié)點中已分配的GTS數(shù)小于7(每個超幀最多分配 7個 GTS)。
·分配GTS后父節(jié)點的CAP長度大于或等于aMinCAP Length的值(IEEE 802.15.4規(guī)定的CAP最小長度,其值為440個符號)。
在帶寬資源允許的情況下,父節(jié)點使用先來先服務原則為節(jié)點分配GTS,并將GTS分配情況存入信標幀的GTS域。請求GTS的節(jié)點在約定的信標周期內對收到的信標幀的GTS域進行分析,判斷是否被分配了GTS,如果父節(jié)點為自己分配了GTS,則可在指定的GTS時隙范圍內發(fā)送數(shù)據(jù),否則GTS分配請求失敗。
本部分提出一種采用樹型拓撲結構并基于IEEE802.15.4信標模式的無線體域網(wǎng)服務質量框架??蚣苷螴EEE 802.15.4信標使能通信模式、采用樹型拓撲結構以及樹路由??蚣軐⒎諈^(qū)分為3個等級,第1個等級為病人級別的服務區(qū)分,根據(jù)病人的疾病緊急程度或者交費情況確定其優(yōu)先級,保證優(yōu)先級高的病人的通信,將其稱為病人間的優(yōu)先級。第2個等級為病人內部傳感器間的優(yōu)先級。通常,WBAN中人體一般攜帶多個傳感器節(jié)點 (例如EEG、ECG),根據(jù)實際情況,這些傳感器節(jié)點通常具有不同的優(yōu)先級,例如,心臟病病人的ECG傳感器的優(yōu)先級應該比其他傳感器高,當心臟病發(fā)作時,ECG數(shù)據(jù)必須優(yōu)先于其他傳感器節(jié)點被發(fā)送出去。第3個等級為傳感器節(jié)點內部數(shù)據(jù)的優(yōu)先級,傳感器節(jié)點內部要發(fā)送的數(shù)據(jù)幀,根據(jù)其緊急程度進行優(yōu)先級區(qū)分,保證重要的突發(fā)緊急數(shù)據(jù)優(yōu)先發(fā)送,例如心臟病病人在心臟病發(fā)作時,必須立即將這個數(shù)據(jù)信息發(fā)送到醫(yī)療中心。利用IEEE 802.15.4信標模式中的競爭訪問期和非競爭訪問期來實現(xiàn)這3個等級的優(yōu)先級。
每個病人身上都帶有一個PS,它負責接收病人攜帶的傳感器數(shù)據(jù)并將數(shù)據(jù)轉發(fā)出去。PS具備樹路由功能。
在醫(yī)療應用中,有些病人的某個傳感器數(shù)據(jù)需要優(yōu)先傳輸,因此需要對數(shù)據(jù)區(qū)分優(yōu)先級。比如在緊急醫(yī)療場合,危重病人的數(shù)據(jù)需要采用更高的優(yōu)先級傳輸。考慮使用GTS characteristic字段中的reserved中的兩位來指定數(shù)據(jù)的優(yōu)先級,它可以指定00~03共4個優(yōu)先級。
醫(yī)護人員根據(jù)病人具體情況設置節(jié)點或路由器的優(yōu)先級,節(jié)點申請GTS時,將優(yōu)先級設置到reserved字段中。當其父節(jié)點(路由器或協(xié)調器)接收到其GTS請求之后,根據(jù)reserved請求的優(yōu)先級將其插入GTS隊列中。
父節(jié)點GTS隊列中優(yōu)先級越低的排在隊列越前面。分配GTS從隊列的最后開始往前分配,如圖4所示。
圖4 保障時隙隊列示意
插入隊列之后,父節(jié)點按照GTS隊列優(yōu)先級從高到底重新分配GTS,可能導致低優(yōu)先級的GTS失去時隙,則失去分配時隙的GTS成為“waiting GTS”狀態(tài),等待高優(yōu)先級GTS釋放時隙資源。當高優(yōu)先級的GTS節(jié)點釋放GTS時,則父節(jié)點重新進行GTS分配,后面的“waiting GTS”可能重新獲得時隙資源。
樹型結構下,當路由器下的節(jié)點優(yōu)先級改變之后,將路由器的優(yōu)先級也相應改變,路由器的優(yōu)先級是各子節(jié)點優(yōu)先級的加權平均,計算方法如式(3)所示。
其中Pr表示路由器的優(yōu)先級,Si和Pi分別表示第i個子節(jié)點的時隙數(shù)和優(yōu)先級。
GTS申請流程如下:
(1)終端節(jié)點向路由器發(fā)送GTS請求;
(2)路由器向終端節(jié)點回復ACK幀;
(3)路由器為終端節(jié)點分配時隙,更新自己的優(yōu)先級;
(4)如果路由器優(yōu)先級發(fā)生變化,則向協(xié)調器發(fā)送新的GTS請求;
(5)如果路由器已經(jīng)分配了GTS,則協(xié)調器更新其GTS信息,否則,協(xié)調器根據(jù)路由器優(yōu)先級為其分配GTS時隙;
(6)路由器向終端節(jié)點發(fā)送帶有新的分配信息的信標幀;
(7)協(xié)調器向路由器發(fā)送帶有新的分配信息的信標幀。
步驟(3)父節(jié)點分配GTS的算法如下。
算法1 分配保障時隙(GTS)
通過優(yōu)先級在隊里中查找正確的位置,
將新的GTS請求信息插入隊列并排序
當終端節(jié)點接收到信標幀時,如發(fā)現(xiàn)自己的GTS起始時隙為-1,則停止發(fā)送數(shù)據(jù),直到信標幀重新分配到GTS(其起始時隙不是-1),再傳輸數(shù)據(jù)。
路由器優(yōu)先級變化之后,向協(xié)調器發(fā)送新的GTS請求,協(xié)調器根據(jù)路由器的優(yōu)先級更新其GTS隊列,然后通過信標幀通知路由器,處理過程和路由器類似。
人身體上可能帶有多個傳感器節(jié)點(如EEG、ECG)。傳感器節(jié)點間的QoS實現(xiàn)有兩種方法。
·利用基于時隙的CSMA/CA機制中CAP的BE。
·利用CFP的GTS,這部分功能已經(jīng)整合到基于不同用戶的QoS實現(xiàn)中。
下面具體介紹第1種方法。
退避指數(shù)表示節(jié)點在探測信道忙閑狀態(tài)時需要隨機退避等待的時間,它的值要根據(jù)電池壽命擴展參數(shù)mac BattLife ExtPeriod設置,如果這個屬性值為true,則BE=min(2,macMinBE),即2和 macMinBE之間的最小值,如果這個屬性值為false,則BE=macMinBE。因為在體域網(wǎng)中節(jié)點電池的更換相對比較容易,假設macBattLifeExtPeriod屬性值為false,macMinBE的值即為BE的值。用T表示隨機退避等待的時間,用R表示0~(2BE-1)之間的隨機整數(shù)。T可以用式(4)表示。
可見BE值的選取直接影響隨機退避時間T,BE的范圍為0~macMaxBE,而macMaxBE的值為0~5。較小的BE值意味著設備有較大的可能優(yōu)先使用信道發(fā)送數(shù)據(jù)。由此可見,如果節(jié)點的退避指數(shù)不同,則節(jié)點在使用CSMA/CA機制訪問信道時,占用信道的概率也不相同。通過調節(jié)每個終端設備的BE值實現(xiàn)服務區(qū)分,BE越小,終端設備的優(yōu)先級越高,從而保證在競爭訪問期內的服務質量。
在每一個傳感器節(jié)點的內部,存在多種需要發(fā)送的數(shù)據(jù)類型,例如,周期性發(fā)送的非緊急數(shù)據(jù),突發(fā)事件的緊急數(shù)據(jù),要求確認的數(shù)據(jù)和不要求確認的數(shù)據(jù)以及MAC層的命令幀等。為了保證發(fā)生突發(fā)事件時緊急數(shù)據(jù)能夠立即成功發(fā)送,需要對這些數(shù)據(jù)進行服務區(qū)分,提供QoS保證。
節(jié)點內部在CAP內發(fā)送的數(shù)據(jù)的分類、優(yōu)先級設置見表1。
表1 節(jié)點內部優(yōu)先級
當節(jié)點內部生成數(shù)據(jù)流量后,內部處理程序根據(jù)其數(shù)據(jù)類型設置優(yōu)先級,然后將數(shù)據(jù)加入CAP發(fā)送隊列中,如果隊列為空,則數(shù)據(jù)直接加入隊列即可,如果隊列不為空,則需要根據(jù)數(shù)據(jù)分組的優(yōu)先級將數(shù)據(jù)分組插入隊列中,優(yōu)先級高的數(shù)據(jù)分組排在優(yōu)先級低的數(shù)據(jù)前面,以保證優(yōu)先被發(fā)送出去。具體算法如下。
算法2 設置競爭訪問期CAP優(yōu)先級
通過計算機仿真對提出的QoS框架和實現(xiàn)算法進行性能評估。使用OPNET Modeler仿真工具和開放源代碼的IEEE 802.15.4/ZigBee OPNET仿真模型,實現(xiàn)了提出的基于等級的QoS框架和算法,修改了仿真模型中的樹路由算法以滿足QoS的要求,加入了支持QoS的GTS調度算法。
假設病人身上攜帶3個傳感器節(jié)點,這3個傳感器節(jié)點都需要和PS通信。傳感器節(jié)點node1、node2和node3的BE值分兩種情況:第1種情況,3個傳感器節(jié)點的BE值都為3;第2種情況,3個傳感器節(jié)點的BE值分別為1、2和3。3個傳感器節(jié)點在CAP內的流量開始時間相同,流量速率設置為 100 bit/0.03 s,仿真時間為 50 s。BE兩種取值的CAP隊列時延仿真結果如圖5和圖6所示。當節(jié)點的BE值相等時,3個節(jié)點要發(fā)送的數(shù)據(jù)在隊列中的時延集中為0.005~0.010 s。設置不同BE值后,node 1節(jié)點的隊列時延為0.003~0.004 s,node2節(jié)點的隊列時延為 0.006~0.008 s,node3節(jié)點的隊列時延為0.008~0.012 s。仿真結果表明3個節(jié)點將數(shù)據(jù)發(fā)送出去的時延隨著BE值的增大依次增加,實現(xiàn)了按照優(yōu)先級發(fā)送數(shù)據(jù)的效果。
圖5 節(jié)點退避指數(shù)都為3
圖6 節(jié)點退避指數(shù)依次為1、2、3
在一個路由器下設置6個子節(jié)點,BO設置為6,SO設置為2,每個子節(jié)點分組間隔為1 s,分組大小為500 bit,仿真時間設置為60 s。
首先看修改之前,如果4個節(jié)點申請的GTS優(yōu)先級相同,node1~node6都申請4個時隙,仿真結果如圖7所示。
圖7 未設優(yōu)先級的網(wǎng)絡輸出負載
可以看到,根據(jù)先來先服務的原則,node1至node3都申請到4個時隙,因為最小CAP的限制,CFP最大可分時隙數(shù)為13個,node4申請到1個時隙,當node5和node6開始申請時,已經(jīng)沒有時隙可用,因此一直沒有申請成功。
改進GTS分配算法之后,仿真的GTS參數(shù)設置見表2。仿真結果如圖8所示。
表2 節(jié)點仿真參數(shù)
圖8 設置優(yōu)先級后的網(wǎng)絡輸出負載
圖9是node4開始發(fā)送數(shù)據(jù)之后,父節(jié)點GTS隊列隨著node5、node6的開始和結束發(fā)送數(shù)據(jù) (第16 s~第50 s)的變化。當node4申請GTS時隙時,優(yōu)先分得4個時隙,node2和node3仍然各占有4個時隙,因為node2的優(yōu)先級最低,所以其時隙只剩下 1個。GTS隊列如圖 9(a)所示。
圖9 保障時隙隊列變化
當 node5在第 20 s申請到 4個時隙之后,node2的GTS被剝奪,進入等待狀態(tài),從圖8可以看到node2的網(wǎng)絡輸出負載在第20 s時開始走平,node1只剩一個時隙。GTS隊列如圖 9(b)所示。
當 node6在第 24 s申請到 4個時隙之后,node1的GTS也被剝奪,進入等待狀態(tài),GTS隊列如圖9(c)所示,圖8中的node1的網(wǎng)絡輸出負載開始走平。
在第40 s時,node5到達結束時間,釋放了GTS,node1重新獲得了 1個時隙的 GTS,GTS隊列如圖 9(d)所示。圖9中node5的網(wǎng)絡輸出負載開始走平,而node1則又開始傳輸數(shù)據(jù),網(wǎng)絡輸出負載開始向上走。
在第50 s時,node6到達結束時間,釋放了GTS,node1增加了3個時隙,成為4個時隙,node2重新獲得了1個時隙的 GTS,GTS隊列狀態(tài)恢復到圖9(a)。圖8中node6的網(wǎng)絡輸出負載開始走平,而node2則又開始傳輸數(shù)據(jù),網(wǎng)絡輸出負載向上走。
以上結果說明實現(xiàn)了CFP中不同GTS優(yōu)先級數(shù)據(jù)的彈性傳送。
路由器的優(yōu)先級是所有GTS時隙優(yōu)先級的加權平均,當GTS隊列發(fā)生變化時,路由器的優(yōu)先級也發(fā)生了變化,路由器的優(yōu)先級如圖10所示。如果路由器優(yōu)先級發(fā)生變化,則向協(xié)調器發(fā)送GTS分配請求。
圖10 路由器優(yōu)先級變化
可以看到第4 s和第8 s時因為node1、node2優(yōu)先級都是1,因此沒有改變,當?shù)?2 s時node3開始申請GTS,路由器平均優(yōu)先級變?yōu)?.3,隨著node4~node6開始申請GTS,平均優(yōu)先級接近 3,node5,node6 在第 40 s、第 50 s退出GTS之后,平均優(yōu)先級最后稍低于2。根據(jù)式(4)計算,總的時隙數(shù)是 13,則路由器優(yōu)先級為(4×3+4×2+4×2+1×1)/13≈1.9。這說明了節(jié)點的優(yōu)先級變化導致路由器的優(yōu)先級發(fā)生了變化。
由于節(jié)點內部QoS的設置和數(shù)據(jù)傳送僅與傳感器自身和PS相關,為了簡化設置過程和對仿真結果的分析,僅設置1個傳感器節(jié)點與PS進行通信。由于MAC命令幀個數(shù)在整個通信中所占的比例較小,故僅仿真ACK和NO ACK流量。傳感器節(jié)點的ACK和NO ACK流量發(fā)送的間隔時間都為0.01 s(按指數(shù)分布),數(shù)據(jù)分組大小都為100 bit,發(fā)送時間都為0.2~4.0 s。仿真時間為5 s。
在未設置優(yōu)先級情況下的數(shù)據(jù)幀平均端到端時延(end to end delay)仿真結果如圖11所示,設置優(yōu)先級后的仿真結果如圖12所示。在未設置優(yōu)先級時ACK流量和NACK流量的端到端平均時延集中在0.007~0.009 s,設置優(yōu)先級后,ACK流量的平均端到端時延集中在0.004 s,而NACK流量的平均端到端時延集中在0.014~0.018 s。也就是說,通過設置優(yōu)先級確保了ACK數(shù)據(jù)優(yōu)先發(fā)送到目的地。
圖11 沒有優(yōu)先級的端到端時延
圖12 設置優(yōu)先級后的端到端時延
在無線體域網(wǎng)中提供有效的QoS保障機制,對于WBAN的推廣應用具有重要意義。本文利用IEEE 802.15.4信標模式和基于樹型拓撲的樹路由實現(xiàn)了基于等級的QoS框架,從3個不同等級確保高優(yōu)先級數(shù)據(jù)傳送,在保證實現(xiàn)QoS的同時與現(xiàn)有通信協(xié)議完全兼容,并通過計算機仿真驗證了提出的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/