# Congestion Control and Traffic Differentiation for Heterogeneous 6 TiSCH Networks in IIoT
## 2 Problem Statement and Related Work
### Related Work  
In recent years, several works were introduced to improve the performance of RPL-based networks in terms of different metrics [14; 15; 16]. However, most of these efforts overlook reliability and real-time aspects, which are crucial for IIoT applications especially when involving transmission of heterogeneous data. Routing and data transmission scheduling are the key components that directly affect data transport capabilities in terms of reliability and real-time delivery. In the context of data transmission scheduling, a number of research efforts were proposed to support the real-time transmission of critical data in industrial applications [17; 18; 19; 12]. These works are mainly based  
Figure 1: 6 TiSCH network scenario: (**a**) routing topology; (**b**) LIFO queue model of node \(F\). Figure 2: Packet loss for different traffic rates. on improved channel access mechanisms that allow critical data to gain higher priority to access the channel over the non-critical ones. However, those works are only applicable for single-hop networks. However, it has been shown that the multi-queuing strategy plays a major role in affecting the Quality-of-Service (QoS) requirements of wireless sensor networks with multiple traffic types [20]. The work in [21] introduced EARS, an emergency packet scheduling scheme for IoT in smart cities. In EARS, each incoming packet is placed in the corresponding queue based on its priority and deadline information where emergency packets are always processed and transmitted first. A dynamic multilevel priority packet scheduling scheme was proposed in [22], where each node had three levels of priority queues. In this approach, real-time/emergency packets are placed in the highest priority queue and can preempt other queues, while non-real time data are placed into the other two queues and processed based on the shortest job first scheduler. Another multilevel queuing approach was proposed in [23] where each node utilizes a number of queues based on its location. The node decides the packet priority based on its hop count, and accordingly, the packet is placed in the relevant queue. In [24], the authors proposed a cloud-assisted priority-based scheme. The prioritized data packets received by each cluster head are sent to one of two queues: the high priority queue or the low priority queue where the preemptive M/G/1 queuing model is employed. All the aforementioned multi-queuing approaches have been shown to perform well in light traffic conditions; however, the negative impact of congestion in heavy traffic scenarios in 6 TiSCH networks is not considered, which has a direct effect on the reliability real-time communications of high priority traffic. Several works have been introduced to control the congestion in RPL-based networks. The MLEoprotocol [25] was proposed to handle the congestion problem using multiple gateways in IPv6 over Low-Power Wireless Personal Area Networks (6 LoWPAN). Congested gateways share their load in a distributed fashion to achieve a global load fairness; however, the approach is not applicable in RPL networks with a single gateway. The works in [26; 27; 28] proposed to formulate the congestion issue as an optimization problem based on a strictly concave and continuously differentiable function, e.g., congestion cost function or a utility function, where the objective is to select the optimal sending rate to minimize the congestion level. However, this approach is not applicable in many IIoT applications where setting a predefined sending rate is crucial to maintain the network functionality and stability. The authors in [29] proposed M-RPL, a Multi-path extension of RPL to alleviate the congestion problem by providing temporary multiple paths for the congested nodes. Although M-RPL manages to improve the network performance in terms of energy consumption and throughput, it suffers from increased delay when constructing the multi-path routes.