-
无线传感器网络不仅可应用于军事、环境、生态监测、地震和火灾等突发灾难现场的监控,而且可以应用于医疗系统、交通和监控等场景[1]。传感器节点分布密集、范围广泛、链路质量受环境影响很大,节点位置的变化或应用数据的异常都可能造成拥塞。拥塞会降低网络的质量,增加端到端的延时,造成数据丢失或服务响应时间过长,同时严重地浪费网络的带宽。由于传感器节点会不间断地进入到休眠状态,因此网络结构会不断地变化,同时节点由于体积小,其存储能力、计算能力及能量都是非常有限的,拥塞会极度地消耗这些有限的资源。所以使用拥塞检测技术可尽早发现网络中潜在的拥塞现象,提高网络的服务质量 (QoS),设计拥塞检测和避免的策略使网络尽快恢复到正常的工作状态,成为了当今的研究热点[2-3]。
-
本文提出的改进型流量分配算法ECOTA,在对路径进行流量分配的基础上,减少了网络中的延迟。ECOTA创建的路径除了源节点与目标节点外,其余的节点均不相同。在传输路径中,多条路径的重合节点最有可能因为自身的缓存溢出造成路径中的数据包丢弃而引起网络拥塞,而ECOTA采用无重复多路径的方法可避免因为几个节点造成的网络拥塞现象。
由于无线网络自身的因素,导致在数据传输的过程中会出现信道失败的情况。针对这种情况,普遍的解决方法是采用建立多条路径的方式来传输数据以增加数据传输的可靠性。假设信道失败率为e,从源到目标的平均跳数为k,为达到期望的可靠性r,至少要建立的路径数目为N:
$$ N = \frac{{\log (1 - r)}}{{\log (1 - {{(1 - e)}^k})}} $$ 当路径的数目小于N时,其中的一些路径就要分担更多的任务,重复传输数据。但如果路径的数目大于N,则采用后续文章中的算法,从这些路径中挑选N条路径来进行传输,在传输的过程中避免了拥塞的发生以及合理控制网络中节点的剩余能量,解决在传输过程中的延迟问题。
在路径建立的初期,先采用RTT (round time of trip) 来计算路径的往返时间,用RTT作为唯一的外部指示,从而实现总流量在N条路径上的动态分配功能。为了防止RTT的波动而引起流量分配的震荡,所以采用下式对RTT进行调整:
$$ {\rm{RT}}{{\rm{T}}_{{p_{_i}}}} = (1 - \alpha ){\rm{RT}}{{\rm{T}}_{{p_{_i}}}}(t - 1) + \alpha {\rm{RT}}{{\rm{T}}_{{p_{_i}}}}(t)\;\;(1 \le {P_i} \le N) $$ 为了准确地控制分配速率$W_{s, {p_i}}^d$(其中,d、s为常量),将每一条路径都分配一个权重$\alpha $,并为每条路径统计最近t时间段内分配的流量${M_{{p_i}}}$,可得:
$$ W_{s, {p_i}}^d = \frac{{\frac{1}{{{\rm{RT}}{{\rm{T}}_{{p_i}}}}}}}{{\sum\limits_{{p_i} \in P_s^d} {\frac{1}{{{\rm{RT}}{{\rm{T}}_{{p_i}}}}}} }}\frac{{\frac{1}{{{M_{{p_i}}} + 1}}}}{{\sum\limits_{{p_i} \in P_s^d} {\frac{1}{{{M_{{p_i}}} + 1}}} }}\frac{{{E_{{p_i}}}}}{{\sum\limits_{{p_i} \in P_s^d} {{E_{{p_i}}}} }} $$ 式中,${E_{{p_i}}}$为路径pi中能量最小节点能量。
计算得出每一条路径中的分配权重。最后路径上的分配速率为:
$$ \lambda _{s, {p_i}}^d = \frac{{W_{s, {p_i}}^d}}{{\sum\limits_{{p_i} \in P_s^d} {W_{s, {p_i}}^d} }} $$ 则该条路径上分配的流量为:
$$ \lambda _{s, {p_i}}^d = \frac{{W_{s, {p_i}}^d}}{{\sum\limits_{{p_i} \in P_s^d} {W_{s, {p_i}}^d} }}NR $$ 式中,R是数据源的数据发送率;一共构建的路径数量为m;算法复杂度为O(N)。
ECOTA算法
Begin
For ${P_i}$=1 to m
利用RTT来获取路径上${\rm{RT}}{{\rm{T}}_{{p_i}}}$和${E_{{p_i}}}$
End For
If m≥N
选择出路径中$W_{s, {p_i}}^d$最大的N条路径
End If
为N条路径分配流量$\lambda _{s, {p_i}}^d=\frac{{W_{s, {p_i}}^d}}{{\sum\limits_{{p_i} \in P_s^d} {W_{s, {p_i}}^d} }}NR$
End
-
在无线传感器网络中,检测网络中是否出现拥塞状况最普遍的方法是判断缓冲区的占用率 (buffer occupancy, BO) 是否超过某一个阈值,如果节点的占用率超过了阈值则说明在网络中可能出现了拥塞状况。但采用阈值作为网络中出现拥塞的依据并不一定能够真实地反映出网络中的真实状况。另一种普遍的方式是计算节点的报文发送率与接收率之间的比值,此方法可以用来检测当时节点缓冲区的状况,但如果出现高拥塞的情况。缓冲区剩余的空间很小,造成大量的丢包情况,则有可能出现报文的接收率与发送率 (congestion level, CL) 的比值变得很小。本文结合了类似CODEM (cogestion detection and mitigation, ECODEM) 的方法,利用以上的两种技术来判断网络中是否出现拥塞状况,提出了一种ECODEM的方法。由于CODEM在检测拥塞过程中采用的是静态判定方法,仅仅依靠几个固定阈值来判定网络中拥塞是否发生。ECODEM采用梯度的方式来对拥塞的发生进行检测。
通过节点缓冲区的变化幅度 (buffer change, BC) 可以直接预测出节点在下一时刻的状况,并为BO设定阈值${\alpha _1}$和${\alpha _2}$,检测的规则如下:如果预测到在下一时刻有可能会发生拥塞或拥塞解除,则控制节点的发送率为$\rho=\lambda _{s, {p_i}}^d\; (0 \le \rho \le 1)$。
规则1 如果节点的${\rm{BO}} < {\alpha _1}$,且节点收到来自上游拥塞的反馈消息,且${\rm{BC}} > \gamma $,则控制节点的发送速率为$\rho=\lambda _{s, {p_i}}^d$。
规则2 如果节点的缓冲区占用率${\rm{BO}} > {\alpha _1}$,拥塞位被置上,拥塞节点开始发后向压力消息控制上游节点发送数据报文的速率。
规则3 如果节点的缓冲区占用率${\rm{BO}} > {\alpha _2}$,节点开始主动丢包。
规则4 如果节点收到来自前向的拥塞消息,且${\rm{CL}} > \beta $,同规则2。
规则5 如果${\rm{BO}} > {\alpha _1}$且${\rm{CL}} < \beta $,${\rm{BC}} < \gamma $则说明拥塞已缓解,则提高控制节点的发送速率为$\lambda _{s, {p_i}}^d\mu $。
规则6 如果${\rm{BO}} < {\alpha _1}$且${\rm{CL}} < \beta $,则说明拥塞已缓解,此时拥塞位置回0。
如果在网络中出现了拥塞状况,则应该对路径中的流量重新分配,尽可能多地使用那些未使用的路径,同时减少路径中的流量传输。由于ECOTA建立了无重复节点的状况,因此在ECODEM中就可以不用考虑因路径交叉而造成的流量重分配问题。ECODEM的主要思想是在采用无交叉的路径的前提下,把网络中拥塞区域的流量转移到其他非拥塞区域。在判断网络检测拥塞区域的位置时采用CODEM中拥塞深度 (congestion depth, CD) 的方法。而在最终重新分配时仍然会考虑到ECOTA中使用的节点的能量、延迟两个方面的因素,算法复杂度为O(N)。
ECODEM算法
Begin
For ${P_i}$=1 to N
根据后向压力消息获得第${P_i}$条路径的CD值。
End For
If未使用的路径数大于或等于拥塞路径数,则将流量转移到未使用路径上
End If
If未使用的路径数小于拥塞路径数
对于已拥塞的路径
$$ \begin{array}{c} W_{s, {p_i}}^d = \\ \frac{{\frac{1}{{{\rm{RT}}{{\rm{T}}_{{p_i}}}}}}}{{\sum\limits_{{p_i} \in P_s^d} {\frac{1}{{{\rm{RT}}{{\rm{T}}_{{p_i}}}}}} }}\frac{{\frac{1}{{{M_{{p_i}}} + 1}}}}{{\sum\limits_{{p_i} \in P_s^d} {\frac{1}{{{M_{{p_i}}} + 1}}} }}\frac{{{E_{{p_i}}}}}{{\sum\limits_{{p_i} \in P_s^d} {{E_{{p_i}}}} }}{\rm{CD}}_{s, {p_i}}^d\theta \end{array} $$ 重新分配的流量为:
$$ \lambda _{s, pi}^d = \frac{{W_{s, {p_i}}^d}}{{\sum\limits_{{p_i} \in P_s^d} {W_{s, {p_i}}^d} }}NR $$ End If
End
算法中,Q为常量
Wireless Sensor Network Traffic Reallocation Congestion Control Algorithm
-
摘要: 基于流量分配与重分配的算法,提出了一种改进的拥塞流量分配 (ECOTA) 和有效的拥塞检测和缓解 (ECODEM) 算法。在衡量了所有路径的能耗与传输延迟之后,选出若干条能耗低、延时短的路径,增加了数据传输的成功率。通过设定阈值与预测的方法对网络中的拥塞区域进行检测,一旦拥塞发生,采用合理重分配流量的方式,使节点能够更快地从拥塞状况中恢复出来,并保证拥塞区域的数据能尽快被转移到非拥塞区域。仿真结果表明,与其他算法相比,该算法能够提高分组成功递交率,降低端到端延时,提升网络的整体性能。Abstract: An enhanced congestion traffic allocation (ECOTA) and an efficient congestion detection and mitigation (ECODEM) algorithm are proposed in this paper, based on the traffic allocation and reallocation algorithm. After measuring the energy consumption and transmission delay of all paths, some low energy consumption and short delay paths are selected to increase the success rate of data transmission. The congested area is detected by methods of setting the threshold and prediction. Once the congestion occurs, nodes can quickly recover from congested situations by using reasonable traffic reallocation. And traffic in the congested area can be transferred to the non-congested area as soon as possible. Simulation results show that compared with other algorithms, the proposed algorithm can improve the success rate of packet delivery, reduce the end to end delay and improve the overall performance of the network.
-
Key words:
- congestion control /
- data transfer /
- traffic reallocation /
- wireless sensor networks
-
[1] AKYILDIZ I F, SU W, SANKARASUBRAMANIAM Y, et al. Wireless sensor networks:a survey[J]. Computer Networks, 2002, 38(4):393-422. doi: 10.1016/S1389-1286(01)00302-4 [2] KAFI M A, DJENOURI D, BEN-OTHMAN J, et al. Congestion control protocols in wireless sensor networks:a survey[J]. IEEE Communications Surveys & Tutorials, 2014, 16(3):1369-1390. https://www.researchgate.net/publication/264937612_Congestion_Control_Protocols_in_Wireless_Sensor_Networks_A_Survey [3] SERGIOU C, ANTONIOU P, VASSILIOU V. A comprehensive survey of congestion control protocols in wireless sensor networks[J]. IEEE Communication Surveys & Tutorials, 2014, 16(4):1839-1859. https://www.researchgate.net/publication/273396298_A_Comprehensive_Survey_of_Congestion_Control_Protocols_in_Wireless_Sensor_Networks [4] SANKARASUBRAMANIAM Y, AKAN O B, AKYIDIZ I F. ESRT:Event to sink reliable transport in wireless sensor networks[C]//Proc of the 4th ACM Int'l Symp on Mobile Ad Hoc Networking and Computing. New York:ACM, 2003:177-188. [5] WAN C Y, EISENMAN S B, CAMPBELL A T. CODA:Congestion detection and avoidance in sensor networks[C]//Proc of the 1st ACM Conf on Embedded Networked Sensor Systems. New York:ACM, 2003:266-279. [6] HU Yue-ming, XUE Yue-ju, LI Bo, et al. SenTCP:a hop-by-hop congestion control protocol for wireless sensor networks[C]//IEEE INFOCOM 2005. Miami, USA:[s.n.], 2005. [7] DRESSL F. Locality driven congestion control in self-organizing wireless sensor networks[C]//The Int'l Workshop on Software Architectures for Self-Organization, and Software Techniques for Embedded and Pervasive Systems. Munich, Germany:[s.n.], 2005. [8] KARENOS K, KALOGERAKI V, KRISHNAMURTHY S V. Cluster-based congestion control for supporting multiple classes of traffic in sensor networks[C]//The 2nd IEEE Workshop on Embedded Networked Sensors. Sydney:[s.n.], 2005. [9] CHEN Shi-gang, YANG Na. Congestion avoidance based on lightweight buffer management in sensor networks[J]. IEEE Trans on Parallel and Distributed Systems, 2006, 17(9):934-946. doi: 10.1109/TPDS.2006.115 [10] WAN C Y, EISENMAN S B, CAMPBELL A T. Energyefficient congestion detection and avoidance in sensor networks[J]. ACM Transactions on Sensor Networks, 2011, 7(4):289-307. https://www.researchgate.net/publication/220442992_Energy-Efficient_Congestion_Detection_and_Avoidance_in_Sensor_Networks [11] CHAKRAVARTHI R, GOMATHY C. IPD:Intelligent packet dropping algorithm for congestion control in wireless sensor network[C]//T Trendz in Information Sciences & Computing (TISC2010). Chennai:IEEE, 2010:222-225. [12] LI Shan-cang, ZHAO Shan-shan. Adaptive and secure load-balancing routing protocol for service-oriented wireless sensor networks[J]. IEEE Systems Journal, 2014, 8(3):858-867. doi: 10.1109/JSYST.2013.2260626 [13] QIAN Peng, DONG En-qing. Multipath routing protocol based on congestion control mechanism implemented by cross-lay design concept for WSN[C]//IEEE 17th International Conference on Computational Science and Engineering.[S.l.]:IEEE, 2014, 378-384. [14] SUN Guan-nan, QI Jian-dong, ZANG Zhe, et al. A reliable multipath routing algorithm with related congestion control scheme in wireless multimedia sensor networks[C]//20113rd International Conference on Computer Research and Development. Shanghai:[s.n.], 2011, 4:229-233. [15] REN Feng-yuan, HE Tao, DAS S, et al. Traffic-aware dynamic routing to alleviate congestion in wireless sensor networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(9):1585-1599. doi: 10.1109/TPDS.2011.24 [16] 李姗姗, 廖湘科, 朱培栋, 等.传感器网络中一种拥塞避免、检测与缓解策略[J].计算机研究与发展, 2007, 44(8):1348-1356. doi: 10.1360/crad20070810 LI Shan-shan, LIAO Xiang-ke, ZHU Pei-dong, et al. Congestion avoidance, detection and mitigation in wireless sensor networks[J]. Journal of Computer Research and Development, 2007, 44(8):1348-1356. doi: 10.1360/crad20070810