一种IEEE 802.15.6 Two-Hop拓扑扩展转发节点选择协议*
2018-02-05蒋文斌
谭 劲,蒋文斌
(中国计量大学信息工程学院,杭州 310018)
IEEE 802.15.6[1]是一个支持无线体域网WBANs(Wireless Body Area Networks)的短距离、低功耗和高可靠性的无线通信标准,用于人体内、表面和周围传感节点间的通信。WBAN是位于人体内或外的传感节点的集合,在Sink(网关)节点的统一控制下,监视人体周围环境和身体本身的功能,并将相关数据传送给医生、护士、监护人及其他机构或组织[2]。考虑到人体感受的舒适性和方便性,WBAN中的传感节点在重量和体积上比通用传感网络WSN(Wireless Sensor Network)要求更加严格,节点电池大小的限制使得WBAN网络数据传输比通用WSN要求更加能量有效[3]。由于人体不同姿势、移动造成网络条件的多样性,再加上传输的医学数据直接关系到病人的安全,所以WBAN必须提供可靠的数据传输[4]。
IEEE 802.15.6标准推荐在WBANs中使用星形拓扑结构或2-Hop的星形拓扑扩展结构,如图1所示。由于人体运动和不同姿势变换引起的阴影效应、周围环境和人体组织对电磁波能量的吸收带来的多径效应等,会给WBANs带来严重的信道衰落。在星形结构中,增加节点传输功率和调整数据传输率是应对上面问题的可能解决方案,但增加传输功率会很快地耗尽电池能量,还有可能导致皮肤过热。根据美国联邦通信委员会比吸收率SAR(Specific Absorption Rate)要求,限制所有WBAN中的设备的发射功率在-10 dBm(0.1 mW)到0 dBm(1 mW)之间,这种限制会导致在Sink和传感节点间有比较高的网络中断概率[5];在2-Hop的星形拓扑扩展中,数据源节点(图1中的Relayed节点)为了节省能量而请求转发节点(图1中的Relaying节点,比Sink节点更靠近Relayed节点)帮助其传输数据,Relayed节点通过监听其他节点的信息(ACK或T-Poll)来选择一个Relaying节点。然而,IEEE 802.15.6标准没有指明在2-hop的星形拓扑扩展中如何选择Relaying节点的机制,带来以下3个主要问题:
图1 IEEE 802.15.6 2-Hop的星形拓扑扩展结构
①最优转发节点选择:Relayed节点选择第1个响应ACK或T-Poll消息的中间节点作为Relaying节点,没有考虑从不同多个候选节点中选择最优的问题[4],如图1中,A、B、C是节点F的候选节点,F并不是从中选择一个最优Relaying节点;
②转发节点重新选择:在IEEE 802.15.6中,每个节点有不同的唤醒时间表。因此,Relayed节点一旦选择了第1个Relaying节点,其唤醒时间就会与该Relaying节点同步,就不能改变选择另外的节点作为Relaying节点[6]。如图1中的F选择了B作为Relaying节点后,不能再改选C了;由于转发节点消耗更多的能量,降低了整个网络的寿命。
③网络可靠性:在已选定的Relaying节点能量耗尽的情况下,Relayed节点也没有一种机制检查自己是否还连接到网络,继续向Relaying节点发送数据,增加了包丢失率[5],降低了网络可靠性。
1 相关工作
在WBANs中,研究证明采用多跳低功率传输比单跳传输更加可靠和能量有效[5]。有关Multi-Hop转发节点选择在无线自组网[7]和无线传感网络[8]中进行了比较深入的研究;在WBANs转发节点选择方面,Ahmed、Javaid等[9]提出一种链接感知的能量有效策略,选取高剩余能量和到Sink最小距离的节点作为转发节点;文献[10]根据到Sink节点的跳数、剩余能量和链接成本选取下一跳转发节点,降低了端到端延迟、包丢失率和整个系统能量消耗;文献[11]将Sink节点放在人体的腰部,心电图、血糖水平节点靠近Sink形成1-Hop通信,其他节点通过成本函数选择的转发节点进行通信;Yousaf、Javaid等[12]提出了一种可靠和能量有效的三阶段WBAN中的协同通信中的转发节点选择策略,所有候选节点先接收数据源发出的数据包,然后根据链路情况,0或其中1个候选转发节点参与转发数据,不涉及最优转发节点选择问题。
以上相关研究都是大于2-Hop数据传输中的转发节点选择,不适用于2-Hop扩展的IEEE 802.15.6标准。针对802.15.6的2-Hop星形拓扑扩展结构,Kim、Cho等[4]提出了一种基于层次分析AHP(Analytical Hierarchy Process)的灵活转发节点选择策略,当数据源Relayed节点释放到Sink节点的直接连接时(意味它希望通过Relaying节点传输数据而节省能量),发出一个发现候选转发节点的消息RelayNodeDiscovery,候选转发节点收到该消息后,发出自己到Sink节点和到请求节点的平均信噪比AvgSNR(AverageSignal-to-Noise Ratio)、流量负载和剩余能量3个参数给请求节点;Relayed节点将这3个参数放入一张候选Relaying节点表中,然后根据层次模型和评估矩阵计算出一个最优Relaying节点;该策略解决了上述3个问题中的问题(1),但未考虑节点k重新选择转发节点,同时Relayed节点的计算开销较大。文献[6]针对WBAN中每个节点有不同的唤醒时间表,提出了一种转发节点重新选择策略。在该策略中,Sink根据候选转发节点的剩余能量和处于活动状态的信息,选择一个Relaying节点并给出该节点传输ACK或T-Poll消息的时间指示;数据源节点监听到Relaying节点的ACK或T-Poll消息后成为Relayed节点,该节点还可以改变其他候选转发节点作为Relaying节点,但文献没有说明改变Relaying节点的条件和方法。文献[13]修改了IEEE 802.15.6星形拓扑扩展,通过减少交换信息来延长网络寿命,该方案假定Sink有能力直接传输数据给网络中的所有节点,也就是Sink节点向下传输数据不经过Relaying节点,Relayed节点经过Relaying节点向上(Sink方向)传输数据。这种增大Sink节点发射功率的方法有可能违反了美国联邦通信委员会比吸收率SAR要求,也没有考虑选择最优的Relaying节点。Cabacas、 Yang等[14]根据转发节点自身剩余能量和到Sink的距离等参数构成的低成本函数,提出了一种能量有效的2-Hop传输优化传输策略,前提假设是每个节点都能根据接收到的包信息,能够计算出它自己到Sink节点和其他节点的距离,但该策略也没考虑转发节点重选和Relaying节点耗尽能量等问题。文献[15]提出了一种IEEE 802.15.6 2-Hop的星形拓扑扩展结构转发节点选择算法,该算法根据节点的包丢失率、服务时间和重传输率能够选出最优的Relaying节点,但转发节点重新选择和Relayed节点不知道Relaying节点能量已耗尽的问题仍然存在。
最近的研究[5]利用节点的独立载波侦听周期,采用类似于协同通信的方式,提出了一种WBAN中2-Hop通信中的分布式转发节点算法。当数据源节点给Sink节点传输数据包时,Sink节点和候选转发节点都试图接收该数据包;如果Sink成功接收该数据包,就发出ACK消息,通信完成;否则,在数据源节点和接收了数据包的候选转发节点中,选择一个Relaying节点重传输该数据包。该算法虽然可以选择最优且能量有效的Relaying节点,但它不是严格意义上的IEEE 802.15.6标准中2-Hop的星形拓扑扩展结构通信(部分数据通过1-Hop传输)。
2 协议描述
我们提出了IEEE 802.15.6 2-Hop的星形拓扑扩展结构转发节点选择协议ORR,支持转发节点最优(Optimum)选择和重新选择(Re-selection),提高了可靠性(Reliability)。
图2 RelayNodeDiscovery与RelayInfo消息
2.1 协议消息
在IEEE 802.15.6 2-Hop的星形拓扑扩展结构中,对于请求的Relayed节点k,本身因能量受限(如植入体内节点)而打算采用近距离低功耗通信,希望候选Relaying节点i具有好的链接质量AvgSNRik和能提供更长的持续转发时间TmaxLenik,而文献[4]中节点i的流量负载和剩余能量对请求的Relayed节点k来说意义不大,因为在不知道节点i和它已为转发的其他节点的数据长度和产生频率的情况下,准确计算出节点能够提供给节点k的最长转发时间TmaxLenik是比较困难的;同时在候选转发节点较多的情况下,会带来了比较大的计算开销;最好的办法是节点i自己提供TmaxLenik,因为节点i比k有更充足的能量且能节省通信开销,使节点k选择最优Relaying节点简单且能量有效;对Relaying节点i而言,希望知道请求Relayed节点k的数据产生频率FDatak、请求数据转发的长度LDatak及请求转发的持续时间长度TreqLenk(AHP的RelayNodeDiscovery消息中未指明这些信息),结合自己和已为转发的其他节点数据的能量消耗,在保留自己能量阈值EThresh的情况下,响应或不响应RelayNodeDiscovery消息;如果响应,给出能提供转发的最长持续时间长度TmaxLenik,这里TmaxLenik≤TreqLenk;节点k根据候选转发节点i发出的AvgSNRik和TmaxLenik建立一张表,然后从中选出一个最优Relaying节点,TmaxLenik参数就可作为节点k重新选择Relaying节点的依据。协议中的两条消息RelayNodeDiscovery、RelayInfo如图2所示。
①RelayNodeDiscovery消息
该消息由请求Relayed节点k广播并设置计时器DiscoveryTimer,包含该节点的IDk、FDatak、LDatak及TreqLenk;前3个参数是节点自己的属性,TreqLenk可以根据发送单位数据消耗的能量ErunDatak、剩余能量Erestk和FDatak计算。
TreqLenk=Erestk/(FDatak·LDatak·ErunDatak)
(1)
②RelayInfo消息
该消息由候选Relaying节点i单播给请求节点k,包含节点i自己的IDi,AvgSNRik和TmaxLenik。
AvgSNRik的计算同文献[4],其表达式由式(2)给出:
(2)
(3)
(4)
(5)
TmaxLenik=TreqLenk
(6)
否则:
(7)
2.2 协议算法
本协议算法分为两部分,即Relayed节点和Relaying 节点协议。
①Relayed节点k
步骤1k希望通过转发节点传输数据时,按式(1)计算TreqLenk,形成自己的RelayNodeDiscovery消息并广播,并设置计时器DiscoveryTimer;
步骤2 在DiscoveryTimer时间内,将收到的RelayInfo消息添加到候选Relaying节点表中,选择一个最优Relaying节点,其算法是先满足TmaxLenik最大,这样可以避免频繁地重新选择;如多个TmaxLen相同,再选择最优AvgSNRik;若没有收到任何RelayInfo消息则放弃通过转发节点传输数据,改为单跳方式直接向Sink节点传输数据。
步骤3 向节点i单播发出确认消息,并与节点i唤醒时间表同步;
步骤4 向节点i单播感知数据,并检测是否到达TmaxLenik;
步骤5 如果达到TmaxLenik,说明节点i代为转发的时间已到,转步骤1;否则,转步骤4。
②Relaying节点i
步骤1 向Sink发送自己的数据,监听并接收Relayed节点的RelayNodeDiscovery消息;
图3 Relayed(左)节点与Relaying(右)节点算法流程图
步骤3 接收节点k的确认消息,并与其同步唤醒时间表;
步骤4 接收节点k的数据,并向Sink节点转发,并检测是否到达TmaxLenik;
步骤5 如果达到TmaxLenik,说明节点i代为转发的时间已到,转步骤1;否则,转步骤4。
Relaying节点和Relayed节点的算法流程图如图3所示。
3 性能分析与实验对比
3.1 实验环境与参数
我们使用仿真软件OMNeT++[16]对本文提出的ORR算法进行实验和性能分析,并与IEEE 802.15.6中的传统算法进行比较,实验证明ORR算法在网络寿命上提升了约10%,在网络总吞吐量上提高了约4.5%,relayed节点的吞吐量提升了约8%。
实验模型如图1所示,设置了3个relaying节点和一个relayed节点,实验参数如表1所示;其中ETx、ERx分别代表节点向邻居节点发送和接收单位数据消耗的能量;N节点通过单跳向Sink发送单位数据耗能180 nj/bit(若通过relaying节点转发则需要经过两次发送和一次接收,共耗能90 nj/bit);仿真时间4 000 s。
表1 实验中参数
3.2 性能指标
(1)网络寿命
我们采用与文献[6]相同的定义,将网络寿命定义为网络中最短节点寿命,即仿真开始到出现第1个死亡节点的时间。
(2)吞吐量
①网络吞吐量。该指标定义为仿真结束时Sink端接收到的数据包总数,能够反映整个网络通信的可靠性[12]。
②N节点吞吐量。该指标定义为Sink端接收到的N节点的数据包数,反应了节点N在进行通信时的可靠性[15]。
3.3 实验结果和分析
(1)网络寿命
由图4可知,在ORR算法下网络寿命优于传统IEEE 802.15.6约10%。这是由于在ORR算法下,当relaying节点能量达到阈值后将不再负责转发任务,relayed节点重新选择节点进行转发,平均了网络中的能耗分布,延长了网络寿命。
图4 网络寿命
(2)吞吐量
①N节点吞吐量
由图5可知ORR算法下N节点的流量最高提升了约8%。在实验前半段部分两算法并无明显差距,这是由于此时relaying节点能量充足,可以提供转发任务;当实验运行了3 500 s左右时,IEEE 802.15.6算法下N节点的有效包数由于relaying节点死亡而不再增长(Sink节点无法收到N节点数据包);而ORR算法下relaying节点能量达到阈值后,relayed节点可以自动选择其他relaying节点继续维持转发任务,提高了吞吐量。
图5 N节点吞吐量
图6 网络总吞吐量
②网络吞吐量
图6为仿真结束时网络总吞吐量。由图可知,整个网络的吞吐量提高了约4.5%。这是由于在ORR算法下,relayed节点能够重新选择relaying节点进行数据转发,避免了因单个relaying节点的死亡而无法传输数据的情况,提高了relayed节点的吞吐量;同时由于阈值限制了relaying节点的能耗,因此relaying节点的寿命得到延伸,从而提高了relaying节点的吞吐量。
4 结论
为了节省WBAN网络由于单跳长距离通信带来的能量消耗,IEEE 802.15.6标准提供了一种2-Hop的星形拓扑扩展结构,支持中间转发节点帮助距Sink节点较远的节点转发数据;由于该标准没有指明如何选择转发节点的机制,在实际应用中带来了最优转发节点选择、转发节点重新选择及如何感知已工作转发节点能量耗尽等问题。本文提出了一种IEEE 802.15.6 2-Hop的星形拓扑扩展结构转发节点选择协议ORR,解决了在IEEE 802.15.6标准中2-Hop的星形拓扑扩展的选择Relaying节点带来的3个主要问题;性能分析与模拟实验表明:该协议在网络寿命和网络吞吐量方面优于传统的IEEE 802.15.6策略。
[1] IEEE 802.15 WPAN Task Group 6(TG6).Part 15.6:Wireless Body Area Networks[S]. IEEE Standard 802.15.6,Feb. 2012(http://www.ieee802.org/15/pub/TG6.html).
[2] 谭劲,王艺静,张曼曼. 一种及时可靠的无线体域网络传输协议[J]. 传感技术学报,2014,27(2):233-240.
[3] 谭劲,张玉娟.一种能量平衡的无线体域网络AODV多播路由发现协议[J]. 电信科学,2016,32(8):69-76.
[4] Kim B,Cho J,Jeon S. An AHP-Based Flexible Relay Node Selection Scheme for WBANs[J]. Wireless Personal Communications,2016,89(2):1-20.
[5] Kim S K,Joo Y I. A Distributed Relay Selection Algorithm for Two-Hop Wireless Body Area Networks[J]. Journal of the Korean Society of Marine Engineering,2017,41(2):156-162.
[6] Kim S Y,Kwon J A,Lee J W,et al. Network Lifetime Improvement by Relaying NodeRe-Selection in the IEEE 802.15.6 BAN[C]//Proc of the Fourth International Conference on Ubiquitous and Future Networks(ICUFN),Phuket,Thailand,July,2012.
[7] Abdulhadi S,Jaseemuddin M,Anpalagan A. A Survey of Distributed Relay Selection Schemes in Cooperative Wireless Ad Hoc Networks[J]. Wireless Personal Communications,2012,63(4):917-935.
[8] Etezadi F,Zarifi K,Ghrayeb A,et al. Decentralized Relay Selection Schemes in Uniformly Distributed Wireless Sensor Networks[J]. IEEE Transactions on Wireless Communications,2012,11(3):938-951.
[9] Ahmed S,Javaid N,Akbar M,et al. LAEEBA:Link Aware and Energy Efficient Scheme for Body Area Networks[C]//Proc ofthe IEEE 28th International Conference on Advanced Information Networking and Applications,Victoria,Canada,May,2014.
[10] Ayatollahitafti V,Ngadi M A,Sharif J M,et al. An Efficient Next Hop Selection Algorithm for Multi-Hop Body Area Networks[J]. Plos One,2016,11(1):1-14.
[11] Kaleem M,Mahapatra R P. Energy Consumption Using Network Stability and Multi-Hop Protocol For Link Efficiency in Wireless Body Area Networks[J]. IOSR Journal of Computer Engineering(IOSR-JCE),2014,16(3):113-120.
[12] Yousaf S,Javaid N,Qasim U,et al. Towards Reliable and Energy-Efficient Incremental Cooperative Communication for Wireless Body Area Networks[J]. Sensors,2016,16(284):1-22.
[13] Lin C S,Chuang P J. Energy-Efficient Two-Hop Extension Protocol for Wireless Body Area Networks[J]. Iet Wireless Sensor Systems,2013,3(1):37-56.
[14] Cabacas R,Yang H,Ra I H. Energy-Efficient Two-Hop Transmission Prioritization Scheme for Wireless Body Area Networks[C]//Proc of the 7th International Conference on Soft Computing and Intelligent Systems,Kitakyushu,Japan,December,2014.
[15] Ismail M,Bashir F,Zia Y,et al. Relaying Node Selection Technique for IEEE 802.15.6[J]. Journal of Information Security Research,2016,7(3):91-100.
[16] OMNeT++Discrete Event Simulation System Version 4.0 User Manual[M]. 2009. AndrasVarga and OpenSim Ltd.