A Multipath Energy Efficient Congestion Control Scheme for Wireless Sensor Network

: Problem statement: In most of the existing works either detection of congestion or scheme for congestion control in wireless sensor networks are presented. A very few works have been done, taken in to account of both congestion detection and congestion control. In most of the congestion detection works they have not achieved accuracy in detecting congestion and have resulted with high latency time. Approach: In this study, we propose to design a multi-path energy efficient congestion control scheme to reduce the packet loss due to congestion. In our congestion detection approach, we follow a combined congestion estimation technique taking in to account on three main parameters specifically queue size, contention and traffic rate. For the congestion control, we design a rate control technique and a multipath routing protocol. Results and Conclusion: Simulation results show that our proposed approach achieves better throughput and packet delivery ratio with reduced delay, packet drop and energy.

the lack of centralized co-ordination make the congestion problem in WSNs more challenging than in traditional networks. Moreover, congestion control in WSNs has to consider not only the network capacity, but also the application requirements on information fidelity (Fang et al., 2010). Congestion in wireless sensor networks not only causes packet loss, but also leads to excessive energy consumption. Therefore congestion in WSNs needs to be controlled in order to prolong system lifetime. In addition, this is also essential to improve fairness and provide better Quality of Service (QoS), which is required by multimedia applications in wireless multimedia sensor networks.
Types of congestion: Generally there are two types of congestion that could occur in WSNs. Node-level congestion is caused by buffer overflow in the node and can result in packet loss and increased queuing delay. Link-level congestion is caused due to collisions when multiple active sensor nodes try to seize the channel at the same time. It increases packet service time and decreases both link utilization and overall throughput and wastes energy at the sensor nodes (Malar, 2010).

Various congestion control schemes:
Congestion control generally consists of three important components: congestion detection, congestion notification and rate adjustment. After detecting congestion, in-order to prevent the negative aspects of congestion in the network, the transport protocol needs to propagate congestion information from the congested node to the upstream sensor nodes or the source nodes that contribute to congestion. This can be done explicitly by sending a special control message to the other sensors, or implicitly using piggybacking techniques. When a node receives a congestion notification message, it should adjust its transmission rate using a rate control technique (Moghaddam and Adjeroh, 2010). The efficiency of a congestion control protocol depends on how much it can achieve the following performance objectives The energy efficiency requires to be improved in order to extend system lifetime. Therefore congestion control protocols need to avoid or reduce packet loss due to buffer overflow and remain lower control overhead that will consume additional energy more or less.
Fairness needs to be observed so that each node can achieve fair throughput. Fairness can be achieved through rate adjustment and packet scheduling at each sensor node.
Furthermore, support of traditional Quality of Service (QoS) metrics such as packet loss ratio and packet delay along with throughput may also be necessary (Heikalabad et al., 2011) There are various congestion control schemes in sensor networks. The congestion control protocols can be classified into the following categories, • Rate based • Buffer based • Priority based • Hybrid (Jaballah and Tabbane, 2009).
• Priority based (Heikalabad et al., 2011;Malar, 2010) Proposed solution: In most of the existing works either detection of congestion or scheme for congestion control are presented. A very few works have been done taken in to account of both congestion detection and congestion control. Also in most of the congestion detection works they have not achieved accuracy in detecting congestion and have resulted with high latency time. While in the case of congestion control, most proposed schemes have obtained large control overhead values and most of them are not energy efficient approaches.
In this proposal, we propose to develop a multipath energy efficient congestion detection and control scheme for sensor networks. In our congestion detection approach we follow a combined congestion estimation technique taking in to account on three main parameters namely: • Queue Size (Buffer Size) • Contention • Traffic Rate Based on the above three parameters a combined metric is determined to represent the degree of congestion.
After the detection of accurate congestion, we are selecting possible multiple paths in order to avoid the congestion. In our congestion control approach we are selecting multiple energy efficient paths and use the best path for transmission thereby avoiding congestion. Since we are transmitting through a single energy efficient path it will result in reduced overhead.
Related work: Jaballah and Tabbane (2009) have enhanced the QoS in sensor networks. They have studied the MMSPEED routing protocol (Multi path Multi SPEED) conceived to ensure the quality of realtime services in sensor networks. They have also presented a second approach which took advantage of the standard 802.11e EDCA protocol that ensured effective end to end delay and good quality of traffic.
Finally, they have tried to improve the provision of quality of service in sensor networks by offering a new approach which aimed to improve the mechanism of service differentiation implemented in the 802.11e. In their new protocol, they have changed the classical contention window mechanism implemented in EDCA protocol by the contention window adapter mechanism. Li et al. (2011) have proposed a multipath energyefficient routing protocol for wireless sensor considering wireless interference. In this techique, the nodes that are in discovered path of the interference zone are marked. These nodes are not permitted to participate in the successive routing process. Their protocol enhances the quality of wireless communication by reducing the wireless interference effects. In spite of using a single path, multipath are involved to distribute the network load and the nodes energy cost of nodes are balanced. Razzaque and Hong (2009) have first proposed a source data packet loading scheme over multiple paths and then have presented congestion detection and control algorithms suited for multipath data forwarding. Their congestion detection was based on buffer occupancy of a node and the control algorithm was driven by preconceived packet loading rates maintained at each source node. Their proposed scheme was simple but efficient for packet loading rate along the multiple paths from a source. Their approach helped a node to increase the congestion detection accuracy which minimized the chance of false congestion detection. Also their proposed congestion control algorithm took the presence of multiple paths into consideration while adjusting the packet loading rates along them. Alam and Hong (2009) have proposed congestion aware and rate Controlled Reliable Transport (CRRT), an efficient and low overhead data transport mechanism for sensor networks. Their CRRT have used efficient MAC retransmission to increase one hop reliability and end-to-end retransmission for loss recovery. Their mechanism have also controlled the total rate of the sources centrally, avoiding the congestion in the bottleneck based on congestion notifications from intermediate nodes and centrally assigned the rate to the sources based on rate assignment policy of the applications. Their CRRT have achieved very high transmission efficiency and energy efficiency due to the reservation based MAC retransmission mechanism. Their proposed CRRT have also supported multiple sinks and multiple concurrent applications in the network. For multi-sink network, sinks could assign rate to the individual sources cooperatively and maintained fairness for the aggregate source rate. Basaran et al. (2010) have proposed a hop-by-hop approach for congestion control (CONSEQ) in wireless sensor networks. They developed two metrics such as the virtual and effective queue length, to detect potential load imbalance and congestion in each node. Additionally each node applies fuzzy control and probabilistic load balancing to avoid creating congestion or hot spots. Since CONSEQ is executed in a hop-by-hop manner, it offers quick reaction to potential congestion, but incurring little overhead.
Malar (2010) have proposed a Priority based Congestion Control (PCCP) for Wireless Sensor Networks (WSNs). Their technique makes use of crosslayer optimization and hop by hop approach for congestion control and the packet forwarding rate at intermediate nodes which is dependent on MAC protocol. For multipath routing, they employ a scheduling algorithm. Their approach attains high link utilization and flexible fairness. Their protocol also reduces packet loss and enhances the energy efficiency and offers minimum delay.

Congestion estimation:
Based on traffic rate: Our congestion control algorithm can be explained by the following steps executed at each node every control interval: • Measure the average rate (Out R) at which packets can be sent from the node and the average aggregate input rate (In R ) • Based on the difference between In R and Out R, compute δR, which is the total change in aggregate traffic Our congestion control algorithm gets invoked every control interval at the gateway nodes. For any other node, the algorithm is invoked when the transmission rate of its parent changes. This essentially makes the congestion control to be invoked at all nodes every control interval.
Estimation of average output rate: Let Out t be the time required to transmit a packet, measured starting from the time the packet was sent by the network layer to the MAC layer to the time when the MAC layer notifies the network layer that the packet was successfully transmitted. We also assume that the MAC protocol in use is CSMA/CA with an acknowledgement based scheme. Then, we note that the effective rate Out R packets per second is the inverse of the time interval Out t seconds, i.e., Out R = 1 / Out t . The value of Out t obtained per packet transmitted is one particular instance of the average time taken to transmit a packet. We compute the average value by using the exponential moving average which is given by Eq. 1: where, i Out t is the exponential moving average value of the variable Out t in the i th iteration, Out W is the weight and Out T is the current value of the variable Out t . Calculating Out r = 1/ Out t gives us the average rate at which packets can be transmitted from a particular node.
Estimation of average input rate: Let In t seconds be the inter packet arrival time at a node which is measured, starting from the time a packet was queued to the time when the next packet is successfully queued. Then, the effective aggregate input rate In R at a node is the inverse of the time interval In t i.e, In R = 1/ In t. We compute the average value of tin using the exponential moving average which is given by Eq. 2: where, i In t is the exponential moving average value of the variable tin in the i th iteration, In W is the weight and In T is the current value of the variable In t . Calculating In R = 1/ In t gives us the average aggregate input rate at a node.

Controlling efficiency:
In controlling efficiency, we look for maximizing link utilization, while minimizing buffer drop rates and persistent queues. The efficiency controlling component considers only the aggregate traffic and does not take into account fairness issues. The efficiency controller computes the required increase or decrease of the aggregate transmission rate of the traffic (δR) in a control interval (in packets/second). This is computed using Eq. 3: • If δR>0, (i.e.) Out R >In R , the link is underutilized and positive feedback needs to be send to increase the transmission rates of the flows • If δR = 0, (i.e.) Out R = In R , the input capacity matches the link capacity, we have to provide feedback in a manner which drains the persistent queue size • If δR<0, (i.e.,) Out R <In R , the link is congested and negative feedback is required to decrease the transmission rates

Based on Contention (C t ):
We represent Contention (C t ) as a ratio of downstream and upstream nodes for a particular node and define its usage and characteristics. It requires a set of steps to be followed at each node to gather the required information for the congestion avoidance solution. Each node is required to maintain a list of upstream and downstream nodes. This count of the specific number of nodes would be used to calculate the C t value at each node. The neighbor list and C t values would be ideally stored at the network layer of a node and be accessible to the transport layer protocol which would set its sending window in coordination with this number. Congestion can be avoided by using C t values at each node along with the candidate node queue lengths to forward packets to appropriate candidate nodes. C t is computed using Eq. 4:

Where: N (d) = The number of downstream nodes N (u) = The number of upstream nodes
In some special cases, sensor nodes within the network may have zero upstream/downstream nodes, which essentially mean that they are disconnected from the network. The C t 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 yields itself well to achieving load balancing and fairness in WSN's.
The individual C t values at each node can be used to make forwarding decisions. When a node has a packet to send out, it checks its C t value before taking action.
If C t >1, (i.e.,) N (d)>N (u), means that the node has multiple downstream nodes and so can implement any Fair Queuing technique to forward packets. The simplest technique would be to forward the packet to the candidate downstream node with the least queue occupancy.
If C t <1, (i.e.,) N (d) <N (u), means there are more upstream nodes than the downstream nodes, thereby requiring a rate reduction to prevent incipient congestion. As the node's queue fills up, it needs to inform its neighboring upstream nodes to send lesser number of packets.
If C t = 1, (i.e.,) N (d) = N (u), then the node could check queue sizes of the candidate downstream nodes and route packets through them fairly while also avoiding congestion.
Based on the above discussion we can define Congestion degree with three possible cases namely High level (H C ), Medium level (M C ) and low level (L C ) congestions: Case-1: When δR<0, B S <B thr and C t <1, Congestion degree is High level. Case-2: When δR<0, B S <B thr and C t >1, Congestion degree is Medium level. Case-3: When δR<0, B S >B thr and C t >1, Congestion degree is Low level.
where, δR is the rate total change in aggregate traffic, B thr is the buffer threshold and C t is the contention. The congestion degree message is then propagated to the source from the congested node. Suppose if there are multiple congestion degree messages are received by the source, for a single path, then the congestion control is performed as follows: For a path P i, if the received congestion degree messages contain at least one high level congestion (H C ), then we go for the multipath routing approach. In the other cases, we go for any of the rate reduction techniques Congestion control: Multipath routing protocol: The term multipath routing has been used to describe the class of routing mechanisms that allow the establishment of multiple paths between source and destination. Classical multipath routing has been explored for two reasons. The first is load balancing: traffic between a sourcedestination pair is split across multiple disjoint paths. The second use of multipath routing is to increase the likelihood of reliable data delivery. In these approaches, multiple copies of data are sent along different paths, allowing for resilience to failure of a certain number of paths. Both these uses of multipath are applicable to wireless sensor networks. Load balancing can spread energy utilization across nodes in a network, potentially resulting in longer lifetimes. Duplicate data delivery along multi-paths can result in more accurate tracking in surveillance applications, at the possible expense of increased energy.
In our multipath routing protocol explicit congestion notifications are used. A Congestion Warning (CW) message is sent back to the sources for each path id known by the node. A CW message contains the node id and the path id: CW (N id , P id ). When there is more than one Congestion Warning (CW) messages received by the source with at least one high level congestion then multipath routing is triggered. For simplicity, we assume that each source sends one data flow identified by the source id. A source S i should react to a CW message if the path id contained in the CW message corresponds to an active path in its local forwarding table. The basic principle behind these load balancing strategy is to make each source aware of a congestion on path i and reacting to it by load balancing the current traffic on this path on a larger number of paths. Selected paths at the source are then marked as active with the in Use flag and the data rate splitting for each path is kept in the forwarding table.
In our approach the source starts initially with one path. Upon reception of a CW (N id , P id ) message the source will uniformly balance the traffic of path P id on all available paths including path P id .
In the scenario depicted in Fig. 1, the source S sends a flow of events/messages to the sink. Assuming that flows from S are 100kbit/s flows. We assume that such a data rate triggers CW messages in the primary path P 2 . Upon reception of CW messages, the source will determine whether there are more than one Congestion Warning (CW) messages received by them and also checks whether it have at least one high level congestion. If any such case is determined, the source announces congestion on the active path in its local forwarding table. In Fig.1 the nodes in primary path P 2 sends CW messages to the source S.
For each active path P i , the source S will load balance its current traffic on the entire available path. Hence in the Fig. 2, source S will use multiple paths P 1 , P 3 and P 4 in addition to its primary path P 2 on reception of CW and will send on each of these paths with equal amount of data rate (i.e.,) 100/4 = 25 kbit sec −1 of data.
Rate reduction: In case of medium and low level congestion degree messages, we have δR<0 and C t >1. It implies that the aggregate incoming rate is more than the outgoing rate and there is moderate number of upstream nodes, thereby requiring a rate reduction to prevent incipient congestion. As the node's queue fills up, it needs to inform its neighboring upstream nodes to send lesser number of packets. The chosen rate reduction scheme may be any of the existing mechanisms such as the Fusion (Wu et al., 2011) or by using backpressure messages (Sridharan et al., 2009).

RESULTS AND DISCUSSION
Simulation parameters: We evaluate our Multipath Energy Efficient Congestion Control (MEECC) scheme through NS2 Network simulation. We use a bounded region of 1000×1000 sqm, in which we place nodes using a uniform distribution. We assign the power levels of the nodes such that the transmission range and the sensing range of the nodes are all 250 meters. In our simulation, the channel capacity of mobile hosts is set to the same value: 2 Mbps. We use the Distributed Coordination Function (DCF) of IEEE 802.11 for wireless LANs as the MAC layer protocol. The simulated traffic is Constant Bit Rate (CBR). The following Table 1 summarizes the simulation parameters used.

Performance metrics:
We compare the performance of our proposed MEECC with the existing CRRT scheme (Alam and Hong, 2009). We evaluate mainly the performance according to the following metrics: Average packet delivery ratio: It is the ratio of the number of packets received successfully and the total number of packets transmitted.
Average end-to-end delay: The end-to-end-delay is averaged over all surviving data packets from the sources to the destinations.
Throughput: It is the number of packets received successfully.
Average energy consumption: The average energy consumed by the nodes in receiving and sending the packets. Based on rate: In our initial experiment we vary the data sending rate as 50, 75, 100, 125 and 150kb. From Figure 3, we can see that the average end-toend delay of the proposed MEECC scheme is less when compared to the CRRT scheme. Figure 4 presents the packet delivery ratio of both the schemes. Since the packet drop is less and the throughput is more, MEECC achieves good delivery ratio, compared to CRRT. Figure 5 gives the throughput of both the schemes. As we can see from the figure, the throughput is more in the case of MEECC, than CRRT.  Figure 6, we can ensure that the packet drop is less for MEECC when compared to CRRT. Figure 7 shows the results of energy consumption. From the results, we can see that MEECC scheme has less energy than CRRT scheme, since it has the energy efficient routing.

Based on flow:
In our second experiment we vary the number of flows as 2, 4, 6, 8 and 10.
From Figure 8, we can see that the average end-toend delay of the proposed MEECC scheme is less when compared to the CRRT scheme. Figure 9 presents the packet delivery ratio of both the schemes. Since the packet drop is less and the throughput is more, MEECC achieves good delivery ratio, compared to CRRT. Figure 10 gives the throughput of both the schemes. As we can see from the figure, the throughput is more in the case of MEECC, than CRRT.
From Figure 11, we can ensure that the packet drop is less for MEECC when compared to CRRT. Figure 12 shows the results of energy consumption. From the results, we can see that MEECC scheme has less energy than CRRT scheme, since it has the energy efficient routing.

CONCLUSION
In this study, we have designed a multi path Energy Efficient Congestion Control Scheme to reduce the packet loss due to congestion. In our congestion detection approach we follow a combined congestion estimation technique taking in to account on three main parameters namely queue size, contention and traffic rate. We then classify the congestion into three cases such as high level, medium level and low level congestions depending upon which we go either for a multipath routing approach or a rate reduction technique. From simulation results we have shown that our proposed protocol achieves better throughput and packet delivery ratio with reduced delay, packet drop and energy.