# CoAR: Congestion-Aware Routing Protocol for Low Power and Lossy Networks for IoT Applications
## 2 Related Works  
In recent years, several works have evaluated the performance of the RPL standard specification and proposed some enhancements to potential shortcomings and open issues [7; 8]. Although RPL greatly satisfied the requirements of LLN for IoT applications, some issues remain open for improvement such as the effect of congestion on QoS. Several new protocols have been proposed for wireless sensor networks (WSNs) [9; 10] in order to avoid and control the presence of congestion. The proposed schemes differ in the way that they detect congestion, notify the occurrence of congestion, and the way they resolve the congestion problem. In many cases, a single metric cannot accurately perform the indication of congestion; therefore, a combination of specific metrics are taking into consideration. Some of the widely used metrics are channel load, buffer occupancy, packet transmission time, packet service time, packet loss and delay [11]. In such a scenario, when congestion is detected, the congestion notification must be broadcasted to allow for taking an appropriate action. This notification can be either implicit, the information can be incorporated in the data packets header that is piggybacked, or explicit, the information can be incorporated in separate control messages. Upon detection of congestion as well as according to application requirements, either the traffic or resource control method is applied [9]. In the case of traffic control method, the sending rate of a source node is reduced to a specific value in which the quantity of the injected packets into the network is suitably reduced that alleviates the congestion. Nevertheless, for some IoT applications, for instance, event-based and time-critical applications, the rate adjustment technique is not efficient and acceptable. On the other hand, in resource control, packets are forwarded to the destination node through alternative non-congested paths. This approach can be used when rate reduction methods cannot meet the application's requirements, since reducing source traffic during a critical situation may violate application requirements. The comparative study between traffic control and resource control protocols has been presented in [12]. The authors proposed an upstream congestion control protocol for WSNs, termed priority-based congestion control protocol in [13]. It periodically detects the congestion, using the ratio between packet service time and packet inter-arrival time as a congestion metric. This ratio is used to achieve exact rate adjustment with priority-based fairness. In [14], a hierarchical tree alternative path algorithm has been proposed to minimize congestion and ensure reliable data transmission in the event-based application through resource control. It tries ensuring application reliability during overload periods without reducing the sources rate while sending critical events. The authors in [15], formulated the problem of congestion control using game theoretic model at the media access control (MAC) layer of IEEE802.11p for wireless transmission in the network. In [16], the authors proposed fairness-based congestion control algorithm for WSNs to monitor the rate at which the node is receiving and sending data packets. Furthermore, data forwarding decision is based on the characteristic ratio and the queue size of a downstream node. However, most of the above-mentioned literature does not consider the specific characteristic of RPL and IEEE 802.15.4 standards. Recently, some research works conducted in this domain have suggested new congestion avoidance and control mechanism for the RPL network. A short review of the suggested mechanisms is given below. In [17], the authors proposed a congestion control mechanism in an IoT environment. The proposed solution is based on the concept of bird flocking to guide the flow of packets in order to avoid congestion. The proposed work performs congestion control in a hop-by-hop manner in the network. The main idea is based on the attraction and repulsion zone of the focal node.