TMCC : An Optimal Mechanism for Congestion Control in Wireless Sensor Networks

Most proposed methods for congestion control of Wireless Sensor Networks (WSNs) have disadvantages such as central congestion control mechanism through the sink node, using only one traffic control or resource control mechanism and also having the same throughput on all nodes. For the purpose of addressing these problems, in this paper, a new congestion control protocol is presented in order to increase network lifetime and reliability of WSNs. Since the priority of generated traffic in network level is not uniform in WSNs, an architecture framework is proposed based on priority of generated traffics for service identification in network level in order to meet better service quality and efficiency. The proposed method called TMCC has been compared with Traffic-Aware Dynamic Routing (TADR) method to show the effectiveness of the proposed method in terms of end to end delay, throughput, power consumption and lifetime of network. Keywords—Wireless Sensor Network (WSN); traffic management; resource control; alternative path; QoS; TMCC


INTRODUCTION
Wireless Sensor Networks (WSNs) consist of a number of sensor nodes which are widely distributed in environment [1].They can be operated in air, underwater, or ground [2]- [3].Recent advances in electronics and wireless communication have led to design and build sensors with low power consumption, small size and low price.These small sensors can perform actions such as receiving environmental information based on sensor type, processing them and sending data through other sensor nodes [4].With the capabilities of pervasive surveillance, sensor networks have attracted significant attention in many applications domains, such as habitat monitoring [5], [6], object tracking [7], [8], environment monitoring [9]- [11], military [12,13], disaster management [14], as well as smart environment [15].Welldesigned congestion control techniques allow efficient transmission of significant volumes of data from a large number of nodes along one or more routes towards the data processing centers (usually known as 'sink') [16].With the increasing on the application of WSNs [17], different traffic levels generated by these sensors require providing different quality of services.In such condition, congestion occurs when data capacity transmitted through the network is above the network packet handling capacity [18].Congestion occurs when the traffic load exceeds the available capacity on node level (buffer overflow) or link level (interference or contention) [19].
WSNs are divided into two categories of event-based and data stream-based in terms of collecting data and sending data [20].In both methods, data stream is formed from source nodes to base station that can lead to the creation of congestion in network.In fact, mismatch of sent and received data rate leads to congestion formation in network.Therefore, reliability of sending packets and network throughput will be reduced.Lost packets due to congestion should be resent resulting waste of energy and reducing overall network lifetime [21].Thus, congestion has direct effect on energy efficiency and quality of service.Moreover, congestion in WSNs interacts with node energy limitation, low buffer capacity of nodes, sensitivity to delay and topology changing of sensors.Network congestion must be controlled in order to increase the reliability and longevity of network.To this end, the proposed protocol must be capable of controlling congestion step by step and end to end by rate setting in order to prevent packet loss and reducing traffic at each node and increasing network reliability.Most of the proposed protocols for congestion control of WSNs have disadvantages like having central congestion control mechanism (rate setting by sink), using only one of the mechanisms for traffic control or resource control as well as having the same throughput on all nodes [22].
Since the priority of generated traffic in network level is not uniform in WSNs, an architecture framework is needed based on priority of generated traffics for service identification in network level in order to meet better service quality and efficiency.According to above materials, paying attention to different priorities for different levels of network traffic is essential which is discussed in this paper.This remainder of this paper is organized as follows: in Section 2 recent works on congestion control protocols in WSNs are reviewed.In Section 3, the proposed method explained.Simulation results and performance evaluation are explained in Section 4. Finally in Section 5, conclusion is outlined.

II. RELATED WORKS
Recently many researched are performed for congestion control in WSNs [23]- [25]; among them, some of related works are reviewed.
Wan et al. [26] proposed a complete research for detecting and preventing congestion in WSNs in which congestion is detected by sampling wireless areas and supervising queue www.ijacsa.thesai.orgoccupation.When congestion is detected, an upward inverse message is propagated and the upward nodes reduce the traffic volume to moderate congestion.In addition, closed circuit resource adjustment is used in which end-to-end constant longterm feedback from the base station to source nodes requires adjusting the transmission rate by using additive gain and multiplicative reduction.Although, this method supports congestion reduction, it does not insure balance among resources.
Heikalabad et al. proposed a dynamic predictive congestion control which prevents congestion using precise rate control based on dynamic priority [27].Some applications of multimedia wireless sensor networks may need urgent traffic sending to base station.The essential traffic requires low latency and high reliability so that immediate escape and defensive measures can be used when needed.The proposed approach in this protocol consists of three different types of traffic; immediate type that is important real-time traffic, fast type that is real-time traffic that is not so important and normal traffic.Any traffic with different priority is initialized, that may change in different phases of congestion.This strategy can prevent effectively the problem with extreme demands of quality and, service performance maintenance, when congestion is high in multimedia WSNs.
Zhao et al. [28] proposed an alternative path-based congestion control mechanism that uses free resources in order to reduce the congestion of multi networks.Congestion of nodes is classified into two groups and two distributed algorithms are offered that can find an alternate route through a neighborhood table.Alternative path-based congestion control uses existing paths, instead of creating new paths due to the limited energy of sensor nodes.In addition, according to tree topology of sensor networks, one distributed algorithm is used in order to select the appropriate way through preventing new congestion simultaneously.The protocol focuses on WSN congestion that occurs by sudden data.The main focus of this protocol is on reducing traffic rate to avoid congestion.
In traffic-aware dynamic routing to alleviate congestion protocol of TADR, dynamic capacity timing is used in order to reduce congestion and maintain reliability through an aware of traffic dynamic routing protocol [29].The main intention of this protocol is that if two nodes send their packets in the shortest path and the parent node is congested, source nodes must use a suitable alternative path consisting of passive nodes or low load once.Based on this method, a hybrid scalar potential field is defined which contains a depth field and a queue length field.The depth field provides the basic routing backbone which routes the packets directly to the sink along the shortest path.The queue length field makes TADR traffic aware.When the congestion appears, the excessive packets are dynamically rerouted to multiple paths consisting of idle or under-loaded nodes.
In a separate and fair congestion control a distributed and adaptive mechanism is provided for congestion control in sensor networks that seeks to find an optimal transmission rate for nodes [30].In this scenario, two separate modules are used for network control and fairness among flows.Each node controls the overall rates of input and output.Firstly, one node calculates the increase (if the output rate is higher) or decrease (if the input rate is greater) of needed traffic.Then, the fairness control module is applied on this assembly and divides it to independent streams in order to achieve the desired fairness.Control information is carried in data packets.
Sergiou et al. in [31] proposed a congestion control algorithm that creates alternative paths from sources to sinks to prevent congestion.Alternative path algorithm is based on a hierarchical tree that changes routs based on local information such as congestion of neighbors.In fact, a "source control" algorithm tries to reduce congestion of WSNs through simple steps to create dynamic alternative paths to sink.
Table I shows brief comparisons between different protocols including the proposed method.As mentioned so far, almost all of the protocols for congestion control in WSNs have disadvantages like having central congestion control mechanism, using only one of the mechanisms for traffic control or resource control as well as having the same throughput on all nodes.

III. THE PROPOSED METHOD
The proposed method in this paper called TMCC, tries to implement an acceptable level of reliability factor in network during the congestion avoidance and congestion control of sensor networks.The main motivation of the proposed method is that the mechanism uses both congestion control methods including source control and traffic management.The purpose of the proposed method is to obtain a congestion control mechanism that applies the highest reliability in sensor networks.www.ijacsa.thesai.orgFig. 1 shows the proposed congestion control plan.If two source nodes send their packets in the shortest route and the receiving node is congested, the receiving node after detecting congestion and notifying the source nodes, will begin to implement an congestion control algorithm.Under normal circumstances, if a packet is received by node but receiving node cannot send packet to the sink node, it must prioritize the data and place it in its buffer based on some preferences.However, if congestion conditions prevail, an appropriate congestion control algorithm must be implemented while each of data will be manipulated in node buffer based on their priorities.According to output phase, the congestion detection algorithm will send data to the sink or base station node by precise rate setting or by creating a suitable alternative path with low load or having passive neighbor nodes.Therefore high reliability and more energy saving scheme is achieved.
In the proposed method, we need to design congestion detection mechanism, congestion declaration mechanism and congestion control mechanisms in order to provide a general method of congestion control.The proposed congestion control method as shown in Fig. 2, includes three main phases of congestion detection, congestion declaration and traffic management that traffic management phase itself is divided into two traffic control (rate setting) and resource control (alternative path).The details of the proposed method are explained in the following subsections.

A. Congestion Detection Phase
The main task of this phase is to detect congestion type.Two congestion types are distinguished: node level congestion and link level congestion.Node level congestion can be detected through every node buffer overflow while link level congestion is created because of multiple accesses to a common media or link between two nodes or node shutdown because of ending energy.
In the proposed method, such information will be used: crowded queue of a receiving node, demanding rate for packet retransmission in buffer, higher receiving rate to sending rate and etc. Node congestion in the buffer can be performed through implementing the algorithm on receiving packet.That is, if the buffer at each node reaches the congestion threshold right after receiving a new packet, it will begin to implement a congestion detection algorithm after calculating the absolute priority of packet and putting it in queue.Buffer threshold is usually set 0.9 to queue length.Necessary conditions for occurrence or non-occurrence of congestion can be seen in flowchart of Fig. 3.The congestion detection algorithm will be implemented according to the above parameters after occurrence of one or more conditions mentioned so far in each node and output of this algorithm will determine reasonably the presence or absence of congestion in the vicinity of node.In fact, in congestion detection phase, in addition to the detection of congestion, the type of congestion must also be determined.Finally congestion opposite method of the third phase will be selected according to conditions of these three criteria: queue End if www.ijacsa.thesai.orgoccupancy, the ratio of buffer packets that are reapplied to total number of packets in buffer, and the rate difference between receiving node and sending node that can be rate setting or path alternative method.

B. Congestion Declaration Phase
Usually congestion declaration can be performed in two implicit and explicit ways.In the proposed method, since nodes must know the type of mechanism that is used to relieve congestion and they should be aware of congestion occurrence in their neighbors, the explicit congestion declaration is used.Therefore, they can choose an appropriate congestion control mechanism.

C. Congestion Control Phase
In the proposed method, instead of using just a single scheme, the main objective is to use both congestion control mechanisms: "traffic management" and "resource control".According to congestion type that has been occurred, one of these two methods will be adopted.Based on explicit congestion method, necessary information will be sent to each neighboring nodes.Afterward, resource control, path alternative or a new alternative path creation can be used for link type congestion control.All these are explained in the following subsections.

 Traffic Management
In general, the incoming traffic at a node is in two main types: source traffic sensed by sensor and transit traffic which is the traffic transmitted from child nodes.Assume that these traffic rates denoted by R s and R t .As a result, the total amount of traffic at each node called R in is defined as R in = R t + R s .R in is the total rate of all data flow in node i. Driving rate of node at time t is considered A r,t calculated according to Eq. (1).

A r,t = Max rate -R in,t
( Where R in,t shows total rate of all data flow in node i at time t.For node i, it can be concluded that the total rate of child nodes must be less that A r,t in order to keep away node i from congestion. If the rate of packet transfer R trans is greater than the rate of incoming traffic R in , output rate will be equal to the rate of incoming traffic R out = R in .Otherwise, the packet transmission rate reaches to the output rate of packet that is R out is close to R trans .In the proposed method, Eq. ( 2) is used to calculate the rate of packet output.
This suggests that R out can be partially reduced through reducing R in and increase through increasing it.It can be effective in achieving the main objective of this research that is congestion control be reliable.

 Control of Resources
With increasing the number of nodes in a sensor network, "resource control" method can enhance the performance in comparison with "traffic management" methods.It can deliver a lot of packets to sinks through using different paths to distribute the sudden traffic in order to reduce congestion.In the proposed approach this feature of resource control method is used for solving the problem of link level congestion.When the desired node receives the control packet of congestion declaration, it will find the congestion control method and will implement the resource control mechanism.

 Alternative path Method
If the congestion is the result of incompetency of a node, the damaged node regulates its node available transmission rate A r (i) to null value and informs it to the other adjacent nodes.The child nodes update their adjacency table by regulating A r (i) and start to find an alternative.When a node damaged, all of its child nodes start to find other ways to forward the packets.The suggested method is presented using pseudo code in Fig. 4. Since sink node is the root of routing tree, the nodes with the lowest height is closer to the sink node, therefore, they spend less cost for transportation.For nodes on the same level, algorithm must guarantee that the node is not a child node.When node i found a path alternative candidate for node k, requested packet will be sent to the node k by node i. when node k replied to request, another alternative path will be established and node i can forward data to new path.If node i does not receive an answer, it will research other neighboring nodes.
If a node fails to find the candidate node in step 3, it will send a path alternative request to node with minimum H k and nonzero Ar.Request includes request node ID, faulty node ID, and congestion height and the node that receives the request will find an alternative path in neighborhood table.In case of ring request, when a node starts to find the requested path, firstly, it must check the flag, if the flag is not set, the algorithm will be implemented.It is easy to find an alternative path to send packets from congestion due to the large number of idle nodes.Also, if more than one neighboring node is found for changing the path with equal conditions, the other two criteria can be used, that is, the remaining energy of node and occupancy rate of the node buffer to select one from several candidate nodes.Therefore, traffic management process is performed after declaring congestion and traffic can be controlled through replacing other path.

IV. EVALUATION AND EXPERIMENTAL RESULTS
In order to demonstrate the capability of the proposed method, it has been compared with Traffic-Aware Dynamic Routing (TADR) method [16] that is a well-known method to reduce traffic in WSNs.The evaluation is performed using NS-2 simulator.Important routing parameters such as energy consumption, end to end delay, network lifetime and throughput are measured to measure the performance.In this paper, several scenarios with different number of network nodes equal to 50, 100 and 250 nodes are carried out.The dimension of simulation environment for these scenarios is equal to 700 m×700 m.Radio propagation range for each node is considered 250 and its MAC layer protocol is selected as IEEE 802.11.In addition, there are two traffic flows simulates on the network that send fixed rate of packets to the network.Simulations have been carried out at different times: at 100, 250 and 500 seconds.Buffer size is selected as 150 packets.Finally, position of nodes is considered to be random.All the simulations are performed once using the proposed method of TMCC and again on the method of TADR to compare the results as demonstrated in the following subsections.

A. End-to-end delay
End to end delay of wireless sensor networks refers to the time when information packets are transferred across the network from source node to destination node.Fig. 5 shows a diagram where end to end delay for TMCC is significantly lower compared to TADR.It shows that our proposed method, TMCC has better performance at different times and this argument reflects the better performance of the proposed method.

B. Throughput
The measure is achieved through dividing received amount of data received at destination by data delivery time.In throughput, criteria such as packet delivery rate and end to end delay are also involved.The better these criteria, the network throughput will be higher.Throughput is expressed as: In Eq. (3) X represents the throughput and C shows the number of requests that have been completed.T represents the entire time.Fig. 6 shows the results.

C. Consumed energy
This measure represents the amount of energy that is consumed in routing.Fig. 7 shows the results for energy consumption for different simulation time while Fig. 8 shows energy consumption by varying of the number of nodes in the network.As shown in Fig. 7 and 8 proposed method of TMCC is lower compared to the TADR method.This is due to the rapid selection of alternatives which makes traffic not be on a specific route and total energy consumption on the network will be reduced through quick notification of congestion and selecting alternative appropriate routes.So in this case, the proposed method has better performance.

D. Network Lifetime
Network overall lifetime is the time when the network is stable and can send data packets and beyond this time the network is not under operation.As it can be seen in Fig. 9, the proposed TMCC method has acted better than TADR in terms of network lifetime.This shows the superiority of the proposed method both on energy consumption and increasing lifetime of the network.
A brief summarization of advantages and disadvantages or limitations regarding the proposed method is shown in Table II.In order to resolve the congestion problem in Wireless Sensor Networks (WSNs), in this paper a solution for congestion control based on safe traffic management is proposed.Most proposed protocols for congestion control of WSNs suffer from some problems including central sink congestion control, using only one traffic control or resource control mechanisms and also having the same throughput for all nodes.However, the proposed method used both of "resource control" and "traffic management" approaches to congestion control in WSNs.In "resource control" part, the proposed method uses the available resources to reduce congestion and in "traffic management" part; it uses the exact rate setting.The main objective of the proposed solution is to avoid congestion problem and after that in second step, managing traffic with minimal energy consumption.Moreover, this method uses resource control strategy by selecting an alternative path that will control the traffics The simulation results show that the proposed method improves the throughput, end to end delay, energy consumption and lifetime as compared to TADR base method.

Advantage
Since the proposed congestion control method uses both rate adjustment and alternative path method, it realized congestion occurrence immediately, then controled it by an optimal alternative path or rate adjustment.

Disadvantage or limitation
Since in explicit congestion declaration method, sensor nodes for exchanging congestion information, thy use special control packets, that led to the imposition of additional overhead to the network.

Fig. 3 .
Fig. 3. Boolean congestion detection procedure of the proposed method

Fig. 4 .
Fig. 4. Alternative path search pseudo code of the proposed method

1 .
Sort neighbor table (except the father node) according to ascending of H 2. For each node k If H i > H k AND N k <>N i AND A r (k) > 0 Then send request Else if A r (k)>0 Then send request for node with minimum H k 3. Receive response, start forwarding packets using new path www.ijacsa.thesai.orgSimulations with different parameters such as simulation time are performed and the results of evaluations are outlined.

TABLE II .
SUMMARIZE THE ADVANTAGES AND DISADVANTAGES/LIMITATIONS OF THE PROPOSED METHOD