Abstract
Effectiveness of a Wireless Sensor Network (WSN) is determined by its performance and any WSN can lose packets when it is congested. Sinks collecting information from other nodes are most likely to be less efficient when there is congestion. There are many congestion control algorithms while congestion detection and control are major research areas. There are various congestion control techniques in WSN’s based on many factors but controlling congestion becomes mandatory in WSN’s for better performance. The main contribution of this paper is a congestion control mechanism for reliability and management in a WSN. This paper presents a novel technique to overcome congestion and improve performance of a WSN while detailing other routing and congestion algorithms.
Introduction
Wireless sensor nodes act autonomously and interface with actuators to communicate by using wireless transmitters. A large number of sensor nodes are scattered into wide geographical regions. They form a logical network to route packets towards managing nodes called sinks or base stations. They can be used effectively in many in-accessible areas and applications like environmental monitoring. They operate on very less loads, but become active when a related event occurs. Though targeted for military application they are being deployed in civilian applications like health monitoring [1], habitat study [2], object tracking [3]. WSN usage in mission-critical applications [4] demand performance controls for accomplishment thus making node placement an essential for sensing coverage. The traffic in a WSN can be both ways i.e. to and fro from the sink. The innumerous nodes in a WSN can be imagined as subnets with a sensor node for each subnet. Directed diffusion for structured data was proposed [5]. The communication between the nodes forwarded named-data. The nodes were equipped with memory and processing ability. A node requests data by sending a query on named-data and on finding a match the results are transferred to the querying node. Intermediate nodes aggregate data and redirect them to nearby nodes. Each probe consists of a type, duration and interval called an interest. The sink periodically broadcasts interests with the latest time stamp (exploratory interests) to check on node for the required data. Based on a node’s confirmation, gradients are setup and data transfer occurs from a source to the sink using an optimal path. This proposes a congestion avoidance algorithm for better and efficient congestion management.
Congestion in WSN’s
The main objective of a WSN is to achieve reliable event detection while minimizing packet losses in transmissions from sensors to the sink. The nodes sense and transport different types of information triggered by events, thus leading to overcrowded information. This overcrowding called congestion results in d an increase in data losses. The nodes suddenly burst into action due to events thus flooding the sink with sudden bursts of information causing packet losses. Though many schemes have been proposed for event detection and data transmission in WSN’s, the issues of reliable data transfer needs more attention. Mechanisms providing a general set of components which can be plugged into applications, are needed. Congestion can be managed with detection and control. Congestion control study is an important part of research in WSN congestion and alleviating congestion using various techniques enhances the output of a WSN. Collision occur when all packets are sent through the same medium and when if a protocol handles collisions, it helps improve congestion control in a WSN. Applying directed diffusion in WSN’s has its own drawbacks. The nodes need to be equipped with some amount of computational capabilities and memory for storing interests with various time stamps, thus causing major overhead for sensor networks [6]. Directed diffusion’s guaranteed data delivery becomes less significant, since data flows from several source nodes in event detection [7]. Moreover, the limited storage capacity of the nodes cannot be increased when congestions occur and congestion control techniques like making nodes sleep and efficient congestion control protocols need to be employed, to overcome congestion. Campbell et al. in their study observed that WSN’s were generally tolerant to loss of data packets[8]. In spite of this observation there exists an amount of vulnerability in message losses, when the data flows from the sink to source. Their proposed Pump Slowly Fetch Quickly (PSFQ) mechanism for WSN’s supported a simple and scalable yet customized transport scheme to meet the requirements of reliable data transfer. PSFQ is based on propagation of data from source node by injecting data at relatively low speed and allowing nodes that experience data loss to fetch any missing data packets from immediate neighbors by requesting for retransmission. The problem with PSFQ is that the authors assume that packet loss based on poor quality of wireless links, while the traffic congestion is not considered making it an unrealistic assumption for WSN’s [7]. Event to Sink Reliable Transport Protocol (ESRT) , proposed in [7], was designed for reliable event detection in WSN’s. It necessitates a multipoint flow to a sink opposed to the point-to-point transport protocols. Data flow from several source nodes to a single sink are loss tolerant increasing the reliability. The objective of ESRT is to achieve reliable event detection in wireless sensor networks with minimum energy expenditure and maximum congestion control. The reliable transfer of an event from source to sink is measured in terms of number of data packets received at the sink within a given time interval. In ESRT, the sink does not try to optimize the number of nodes required to sense the data for a given task. Further it transfers raw data to the sink and does not reduce redundancy of data from the source nodes [6]. WSN nodes get loaded or become idle based on event occurrences. Any occurrence experiences a sudden burst of data transports within a WSN leading to congestion at various stages. Retransmission of data lost in congestion incurs additional energy cost. Congestion Detection and Avoidance (CODA) proposed in [9], attempts to address these challenges by using energy efficient heuristic mechanisms in the network and avoids congestion. Though CODA tries to achieve congestion control, the extra messaging required in controlling congestion leads to higher energy dissipation. The above discussed approaches achieve individual packet reliability in packet re-transmissions without considering the effects of buffer limitations of sensing devices.
Effects of congestion in WSNs
Congestion avoidance is mandatory in WSN applications. For example, hundreds of sensors can be scattered over a flat area in an environmental monitoring system, to support periodic sensing. Applications with high data-rates are susceptible to congestion problems, especially at intermediary nodes near the sink and detection of congestion is necessary to avoid congestion collapse. MAC protocol has to ensure correct delivery of packets to one-hop neighbors using various techniques An important effect of network congestion is the increase of packet collision at the MAC layer due to sensors overhearing other radio transmissions when they are densely populated. When each sensors buffer is full, it creates retransmissions, traffic and results in increased contention or decreased packet delivery ratios. Applications requiring high levels of transmission can use tiered networks [10] or [11] for imaging. Routing in a WSN has to focus on energy efficiency which is a key metric, as the transport layer has to synchronize with the routing protocol for minimum use of node energy. The routing schemes can be separated into categories based on attributes or network models [12]. Multipath routing techniques focus on multiple paths from a source to a destination to circumvent invalid links or failed nodes [13], [14]. When a single link fails, a secondary route is available to re-route packets to the destination. Multiple routes could also be used to implement congestion avoidance by re-routing packets when neighbor nodes’ queues are filled up. For packet drops, due to broken links or buffer overflow, multiple routes allow an alternate routing decision, thus creating a self-regulating system for load balancing in a WSN.
Proposed Method for Congestion Management
Tilak et. al. [15] study on the effect of congestion in a WSN, one of the earliest, determines probable techniques for avoiding congestion. They increased the sensor density and network load through simple experiments, thus demonstrating deployment infrastructure as the base for avoiding congestion. Rangwala et. al. [16] presented an interference based control technique to monitors queue lengths for detecting congestion. CODA [17], Fusion [18], and Phase-divided tcp congestion control schemes were proposed for WSN’s to recover from congestion. This paper proposes a queue monitoring technique in which the packet forwarding decision is based on the number of downstream nodes with their queue sizes. Congestion avoidance is done with multi-path routing in a WSN using the characteristics of upstream and downstream flows. The method is also compared with existing protocols. The scheme assumes a WSN with sensors and multiple sinks with a set of stationary sensors distributed in a rectangular area which are collision free at the MAC level, thus abstracting packet losses due to collisions.
Congestion avoidance
Queue monitoring checks congestion levels of nodes in the network thus implementing congestion avoidance. The proposed avoidance model requires a set of steps at each node to gather the required information for the congestion avoidance solution. Each node maintains a list of streaming nodes used to calculate the Attribute Ratio (AR) value at each node. The nodes regularly advertise their current queue sizes to enable neighbor nodes to update the queue sizes in their respective neighbor tables. The congestion is avoided by using the AR values at each node along with the candidate node queue lengths to forward packets to appropriate candidate nodes. Fig. 1 depicts the example scenario.
5
3 2 1
4
BS1 BS2
Fig. 1. A grid of sensor nodes with one source (5) and two base stations.
Congestion Avoidance Algorithm
Setup the Node neighborhood list for NLi
while packets forwarded in WSN do
if packet received for forwarding then
Buffer packet
Update NLi with received info
Check NLi length (leni) and compare with nlth
if leni ≥ nlth then
Run neighbor table management algorithm
end if
Calculate Attribute Ratio Ri
if Ri > 1 then
forward packets
else if Ri < 1 then
Use technique to reduce sending rate
else if Ri = 1 then
Check downstream nodes from NLi
Route traffic through these nodes
end if
end if
end while
The Congestion Avoidance Algorithm and terms are described below
Attribute Ratio: Using neighbor discovery protocol, each sensor node knows its streaming neighbors including nodes closer to the source and nodes near the sink. Intermediate nodes, based on its location will gauge the flowing nodes, both ways. Source nodes and sinks are special nodes with no streaming nodes. The Attribute Ratio (AR), Ri, is the ratio of the number of streaming nodes of a node in the network. In Fig. 1, ‘5’ denotes the sensing node and the arrows denote the various paths possible to the sinks, since multiple paths could exist from the source. The nodes ‘1’, ‘2’ and ‘3’ are the intermediate nodes for the hops from the source to the sink. Node ‘1’ has four streaming nodes (three downstream and one upstream), with an AR of 3 for R1as listed in Table 1. Similarly, R2 and R3 becomes 1 and 0.5 respectively. Sensor nodes may have zero streaming nodes, implying they are disconnected. The AR at a particular node presents useful information of the network state at that position. Nodes can determine the probable measure of incoming traffic and decide on the output link to route the traffic. This technique balances load in WSNs. Table 1 lists some of the AR values for various nodes in the assumed network.
TABLE 1
Attribute Ratio Values
Node ID Number of Streaming nodes down Number of Streaming nodes up Attribute
Ratio (AR)
1 3 1 3
2 2 2 1
3 1 2 0.5
4 2 1 2
5 3 0 Source
Base stations ( 1,2) 0 2 Sink
Congestion avoidance with multiple paths: The individual AR values at each node can be used to forward sensed data. A node checks on the Ri value before forwarding a packet, where Ri > 1 implies it has multiple, it means that the node has multiple streaming nodes and implement any of the paths in forwarding packets. Ri < 1, means there are no more nodes up. When Ri = 1, the node checks streaming nodes down and routes packets through them fairly avoiding congestion.
Attribute Ratio Importance: The AR usage represents decisions at the nodes for forwarding, especially in times of collisions or incipient congestion. The AR value helps a forwarding node to take an informed decision on forwarding information down and balancing load. Conventional congestion control mechanisms aim at recovering from a congestion collapse after a bottleneck occurs. This scheme would produce the best output when there is a mixture of AR values in nodes
It can be applied to randomly deployed WSNs. Pseudo code for the congestion avoidance algorithm and Neighbor Table Updation Algorithm is presented below
Neighbor Table Updation Algorithm
Receive packet from NND // neighbor node NND
for all Records Ri of NND header table NNDTQ do //Que size Table NNDTQ
Check for Ri in existing // Ri Attribute Ratio of Current Node
if Ri < NNDRi then
Choose and delete record with least queue size (Ri)for NND
end if
end for
Rate Reduction
Since current node queue sizes are advertised to neighbor nodes for regular updates of the neighbor tables, they are advantageous in controlling packet overhead, leading to reduced processing and frequent updates. A node forwards a packet after ensuring the next hop will be accommodated in the neighbors queue else it holds the packet in its queue. In times of extreme congestion, the node finds a neighbor with least queue to accommodate the packet in its next hop thus reducing congestion, The packet is not forwarded unless it finds a neighbor which can accommodate the forwarded packet, thus stopping the transmission temporarily, but lessening the chances of collision or congestion. The implementation considers the flows up and down to be the same. the forwarding rates for upstream and downstream nodes to be the same. Multiple nodes forwarding packets to bottleneck nodes, do not actually forward, unless the bottleneck is down. The nodes only check the queue size and availability instead of forwarding the entire packet, thus stopping packet drops and congestion.
Conclusion
Designing congestion avoidance algorithms for WSNs is a challenging task, since the frequency of events sensed is a deciding factor for the occurrence of congestion. Multiple sensors transmitted sensed information increase the probability of congestion and eventually packet drops. This paper proposes a novel congestion avoidance algorithm based on Attribute Ratio, where multiple yet reachable paths to a destination are pre-informed. Simulated studies indicate a better packet delivery ratio in comparison with other mechanisms.