State-ofthe-Art Congestion Control Protocols in WSN : A Survey

Wireless Sensor Networks (WSNs) inherently are resource-constrained in terms of available energy, bandwidth, processing power and memory space. In these networks, congestion occurs when the incoming traffic load surpasses the available capacity of the network. There are various factors that lead to congestion in WSNs such as buffer overflow, varying rates of transmission, a many-to-one communication paradigm, channel contention and interference. Congestion leads to depletion of the nodes energy, deterioration of network performance and an increase in network latency and packet loss. As a result, energy-efficient and reliable state-of-the art congestion control protocols need to be designed to detect, notify and control congestion effectively. In this paper, we present a review of the latest state-of-the-art congestion control protocols. We analyze these protocols from various perspectives such as, their deployed environments, internal operational mechanisms, their advantages and disadvantages. Depending on their inherent nature of control mechanisms, these protocols are classified either as traffic-based congestion control or resource-based congestion control. Based on our analysis, we further subdivided these protocols based on their hop-by-hop and end-to-end delivery modes.


Introduction
Wireless sensor network (WSN) is a collection of nodes capable of sensing, processing and communication in an autonomous manner.These miniature sensor nodes are typically deployed in hazardous and human-inaccessible terrains to sense and monitor various applications [1].Some of these applications are seismic sensing, habitat monitoring, healthcare, intelligent transportation, home automation, industrial automation, agricultural monitoring and target tracking [2][3].These networks require application-specific, context-oriented Quality of Service (QoS) support and reliability because they support diverse range.
The deployment of heterogeneous sensor nodes and their capability to support a wide range of applications generate and forward a huge amount of data towards the sink.The data flow from a source node to the sink is applicationspecific in nature and may either be periodic or continuous in nature [4].In WSNs, the data flow from sensor nodes toward the base station, i.e., upstream, in a many-to-one fashion.
The flow of packets from source nodes towards the sink may overload, both the channel and nodes, and may exceed their handling capacity.An irregular upstream traffic may result in an increased delay, packet loss, energy utilization and an increase in the number of retransmission attempts.As a result, performance of the underlying network deteriorates which adversely affect the reliability of a monitored application.The scarcity of resources, the overloading of nodes and the presence of error-prone communication links coupled with irregular upstream traffic flows lead to an increased retransmission attempts, leading to network congestion.
Congestion arises when the number of transmitting packets exceeds the packet handling capacity of a particular network [5][6].This significantly decreases the performance of the network, which results in higher data losses at the node level.In a multi-hop environment, the intermediate nodes suffer from resource exhaustion due to an unfair traffic distribution, routed towards the base station via them.These nodes consume a considerable amount of resources as compared to the source nodes.As a result, energy-efficient congestion control protocols need to be designed that effectively alleviate congestion, ensure fairness and reliability of the network.To be precise, congestion control mechanisms that balance the load, avoid packet drops and prevent network deadlock, need to be designed.
In WSN, congestion can be avoided using two different mechanisms, i.e., traffic-based and resource-based.In a traffic-based congestion control mechanism, the data rate of incoming flows from the downstream nodes is adjusted against the forwarding capacity of the upstream node.Resource-based mechanism, on the other hand, exploits the idle network resources to balance the traffic load whenever congestion occurs.
The advantages and feasibility of these mechanisms may vary from one application to another.For example, traffic-based congestion control mechanism is feasible in situations where transient overload occurs [7][8].While resource-based congestion control protocols achieve a much higher data rate without compromising the network lifetime, as discussed in detail in the following sections.
The rest of the paper is organized as follow.In Section II, we present the latest state-of-the-art survey of congestion-based protocols in WSN.Finally, the paper is concluded, and future research directions are provided in Section III.

CLASSIFICATION OF CONGESTION CONTROL PROTOCOLS
In this section, we present a detailed survey of the latest state-of-the-art congestion protocols in WSNs.We categorize these protocols as either traffic-based, resource-based or hybrid.In case of traffic-based control protocols, we further classify them based on their hop-by-hop and end-to-end communication paradigms.Hybrid congestion control protocols, on the other hand, consider the distinguishing features of traffic-based and resource-based protocols, for network operation.We further explain these protocols in terms of their application-specific nature, their advantages and disadvantages.

Traffic-based Congestion Control Protocols
In this subsection, we discuss various protocols which control congestion based on the regulation of traffic flows in WSNs.Furthermore, we classify these protocols based on their traffic-control strategies, i.e., hop-by-hop and end-to-end, how they detect, notify and control congestion.Furthermore, their weaknesses and strengths are also discussed.A summary of these protocols is provided in Table I.
PASCCC [9] Priority-based application specific congestion control clustering (PASCCC) protocol was proposed for congestion detection in cluster-based hierarchical WSNs.PASCCC uses the mobility along with heterogeneity of the sensor nodes, for congestion detection and mitigation.Whenever the reading of a captured packet exceeds a predefined threshold value, each source node activates, senses the environment, collects the data and forwards it upstream towards the base station.During congestion, time-critical packets get prioritized to make sure their timely arrival at the base station.Simulation results show that PASCCC enhance network life time, energy efficient and other QoS parameters.Despite all these advantages, PASCCC limitations are that excessive delay occurs during setup phase.This is because, the position of a node changes at regular intervals.Furthermore, the dropping of humidity packets has an adverse effect on applications where, none of the packets need to be dropped in presence and absence of congestion.

PRRP [10]
Priority Rate-based Routing Protocol (PRRP) was proposed for Multimedia WSNs (MWSNs).The proposed protocol assigns priorities to the data traffic, based on their service requirements.PRRP arranges the nodes in a hierarchical tree structure in such a way that only the child node is capable to sense multimedia contents, forwards them to a parent node, which in turn, transmits to a base station.PRRP classifies the data traffic into four separate queues which are, high priority realtime traffic, high priority non-real time traffic, medium priority non-real time traffic and low priority non-real time traffic.The data in these queues are allocated bandwidth based on their priorities.There are three phases of the PRRP protocol, i.e., congestion detection, congestion notification and rate adaptation.The drawback of PRRP protocol is that, it does not select an optimal route from source node to the sink.In addition to that, during congestion, all the queues with the exception of the high priority queue, may suffer due to minimal allocation of network resources.As a result, fair allocation of network resources among various queues must be ensured.PRRP sets minimal value of active traffic sending rate to 0.1 for lower queues, i.e., the sensor nodes will not reduce the transmission rate below this value.However, a better value can be obtained from experiments.

Table 1. Traffic-based control based congestion control protocols WWCP [11]
Wireless multimedia congestion control protocol (WCCP) is a multi-layered protocol architecture proposed for alleviating congestion in multimedia WSNs.WCCP is a combination of two protocols, i-e., Source Congestion Avoidance Protocol (SCAP) and Receiver Congestion Control Protocol (RCCP).WCCP considers the features of frames within the multimedia packets at transport layer, also known as group of picture (GOP), at the application layer.GOP contains three different types of frames with varying combinations, i.e., one I frame and multiple P and B-frames.Furthermore, these varying types of frames have a varying effect on the overall quality of the received video.I-frames are the key frames in terms of quality and are highly important than the remaining two frames.As a result, loss of I-frames adversely effects the underlying multimedia applications.During feature selection of WCCP protocol, I Frames is over P and B frames.Once congestion is detected, SCAP protocol at the source node is informed.WCCP keeps I-frames at the base station, while ignores P and B frames during congestion.This improves the performance of the network and quality of the video received at the base station.Despite all these benefits, WCCP does not take into account the energy efficiency of the network.

Resource-based Congestion Control Protocols
In this subsection, we discuss various protocols which control congestion, based on the resource utilization in WSNs.The utilization of resources is controlled either by using dynamic alternative routes or efficient allocation of the available bandwidth.A summary of these resourcebased congestion control protocols is provided in Table 2.

PCCDC [12]
Priority-based Congestion Control Dynamic Clustering (PCCDC) is a novel application-specific congestion control protocol.It supports multi-class traffic by considering two application parameters, i.e., flooding and temperature in ice-capped mountains.Flooding occurs whenever the temperature value exceeds a predefined threshold value.Information about flooding is forwarded immediately to the base station without any further delay.In this case, flooding packets are real-time packets and continuous in nature.Temperature packets, on the other hand, are non-real time packets and periodic in nature, having less priority over flooding packets.The real and non-real types of flows intersect each other and create a congestion hotspot, also known as forwarded congestion.It is difficult to identify intersection points in this type of congestion due to network dynamics.One solution to this problem is dynamic clusters, which can handle forwarded congestion, in which a designated cluster head collects the traffic flow from its cluster members, aggregates, and communicates to the base station.One major drawback of PCCDC is that the base station may not be interested in every packet that meets the threshold value.This results in vast number of unwanted packets at the base station and may cause the degradation of network resources.
HTAP [13] Hierarchical Tree Alternative Path (HTAP) is a hop-byhop protocol proposed for event-based sensor applications.The concept of HTAP protocol is based on two algorithms, i.e., Alternative Path Creation (APC) and Hierarchical Tree Creation (HTC), and uses network density to choose the optimal one among the two.There are four stages of HTAP protocol, i.e., topology control, hierarchical tree creation, alternative path creation, and handling of powerless nodes.The main advantage of HTAP protocol is that, it is simple in its operational mechanism and as such results in a much lower overhead.The drawback of HTAP algorithm is that the receiver node receives the same data from multiple sensors, resulting in network redundancy.This problem is solved by using Redundancy Aware Hierarchical Tree Alternative Path (RAHTAP) algorithm [14].In RAHTAP, every node runs a redundancy detection technique.Whenever, a receiver node receives a packet, it checks its queue to see if the packet with the same ID already exists.If the packet with the same ID exists, then that packet is discarded.However, HTAP protocol does not provide fairness results and at the same time, is not energy efficient.

DAIPaS [15]
Dynamic Alternative Path Selection (DAIPaS) is efficient congestion alleviation protocol which dynamically selects the shortest route from source to the base station, while keeping the overhead to its minimum.This protocol utilizes the remaining buffer of a node, its energy level and channel interference for congestion detection.DAIPaS operates in three different phases, which are setup phase, topology control, and soft and hard stage.Backpressure messages are used for reducing traffic rate to avoid any further packet drop and congestion.The selection of an alternative route depends on the availability, buffer occupancy and energy level of the next-hop neighbor, and the number of hops towards the sink.

Flock-CC [16]
Flock-based Congestion Control (Flock-CC) is a scalable, robust, and self-adaptive congestion control protocol proposed for event-based applications.Flock-CC is based on the collective behavior of the bird flocks, inspired by swarm intelligence.The proposed algorithm directs the packets, synonym to birds, to form flocks and forwards them towards a sink, i.e., a global attractor, for avoiding obstacles.In this fashion, congested areas and dead ends are bypassed.The movement of a bunch of packets, i.e., packet flock, depends upon attraction and repulsion forces among neighboring packets, the field view, and the artificial magnetic field, guiding these packets towards the sink.As a result, idle resources of network are efficiently utilized.

Hybrid Congestion Control Protocols
In hybrid congestion control protocols, each protocol uses an integrated approach, i.e., by combining the desirable features of both traffic and resource-based congestion control approaches.In most cases, these protocols use a traffic-based congestion control approach.However, if the aforementioned technique is not feasible and optimal, they then use the resource-based congestion control approach.A summary of these protocols is provided in Table 3.

HRTC [17]
Hybrid Resource and Traffic Control (HRTC) is a hybrid congestion control algorithm in WSN.HRTC combines the desirable features of these two congestion handling techniques and provides a suitable solution, based on the network condition.During congestion, a congested node informs a source node using a hop-by-hop communication link to reduce its data rate, using a back-pressure message.When the back-pressure message traverses the affected downstream nodes on its way towards the source node, HRTC protocol examines to see if resource control technique can be applied to the traversed nodes before reaching the source node.If that is the case, HRTC aborts the transmission of back-pressure message.If HRTC is unable to find an alternative route, then the back-pressure message continues its journey towards its destination, i.e., the source node.Once this message reaches its destination, it then applies traffic control technique by altering the date rate of the source node.Moreover, the new data rate is adapted by nodes across the network.

HOCA [18]
Healthcare aware Optimized Congestion Avoidance (HOCA) is a data-centric congestion control protocol proposed for healthcare applications of WSNs.It employs the concept of active queue management (AQM) [19].In HOCA, the data is divided into two categories, i.e., sensitive and non-sensitive.The former requires a higher data rate while the latter requires a lower data rate.HOCA operates in four different stages.In the first stage, i.e, data dissemination request is performed by the sink (medical center) to all the nodes (patients) in the network.During the second stage of HOCA, the occurrences of events are reported by the nodes located on the patient's body, to the sink.During the third stage, route is established by the sink node using multipath and QoSaware routing techniques, to mitigate congestion.During the final stage, data is forwarded by adjusting hop-by-hop source traffic rate.This adjustment of traffic rate occurs specifically during congestion.HOCA avoids congestion by lowering end-to-end delay and maximizes the network lifetime by energy conservation.Furthermore, HOCA ensure fair use of the resources and links of the network.

HTCCFL [20]
Hierarchical Tree based Congestion Control using Fuzzy Logic heterogeneous traffic in WSN (HTCCFL), is a fuzzy-based congestion alleviation protocol.HTCCFL operates in three phases, i.e. hierarchical tree construction, fuzzy-based congestion detection and priority-based rate adjustment.During the first phase, a hierarchical tree is constructed using a topology control algorithm.During the second phase, congestion is detected using a fuzzy logic technique, based on input parameters such as, packet service ratio, number of contender nodes and buffer occupancy.The state of congestion is predicted from the outcome obtained using fuzzy rules.A node experiencing congestion informs all its neighbors about its status, using a control packet.For different classes of traffic, prioritized queues are maintained and weight values are assigned to each queue.Once congestion is detected, the next phase is congestion control.During the final phase, a dynamic rate adjustment is performed.If in case, the rate adjustment is not possible, each source node selects an alternative route from an already existing hierarchical tree for congestion alleviation.

Conclusion
Wireless Sensor Networks (WSNs) are resourceconstrained networks that suffer from various challenges.One such challenge is network congestion which mainly arises when the reception rate of a node exceeds its transmission rate.Congestion also arises due to contention and interference at the link layer.As a result, the performance and reliability of the network, i.e., QoS, deteriorate to a greater extent.In WSNs, congestion needs to be detected by one or more nodes along the upstream path towards the base station.Once congestion is detected, it needs to be notified either explicitly or implicitly across the network in order to take precautionary measures to control it.In this paper, we presented a detailed and comprehensive analysis of the latest congestion control protocols in WSNs.We classified these protocols into two categories, i.e., trafficbased and resource-based.The protocols in these two categories have their own strengths and weaknesses, and are application-specific in nature.Traffic-based congestion control protocols are simple in nature and cost-effective as well.However, they suffer from packet losses and delay, and as such, are not suitable for realtime applications.Resource-based protocols, on the other hand, require local knowledge of the nodes along with their topological deployment and bandwidth demand.One major challenge faced by protocols in this category is the selection of an optimal energy-efficient route from source node towards the base station.We have also examined various metrics for congestion detection.It is concluded that a single metric does not precisely detect congestion.Therefore, more than one metric needs to be used for precise congestion detection.In WSNs, energy-efficient congestion control protocols are needed that control congestion in order to ensure low energy consumption, fairness, and at the same time, achieve higher QoS.More sophisticated congestion control strategies may be explored that are based on automata, neural network, fuzzy logic and machine learning At the present, many such solutions exists but the effectiveness of these already proposed solution may be further investigated for various applications and under various scenarios.

Table 2 .
Hybrid Congestion Control Protocols