# Congestion Control and Traffic Differentiation for Heterogeneous 6 TiSCH Networks in IIoT
## 2 Problem Statement and Related Work
### Problem Statement  
Although RPL has been designed to meet the requirements of LLNs, there are issues still challenging to satisfy the stringent requirements of heterogeneous 6 TiSCH networks in IIoT applications. This paper mainly tackles two issues. The first issue is the congestion control under heavy traffic load and imbalanced DODAG construction. RPL is mainly designed to handle traffic in LLNs under light traffic conditions. However, in high traffic conditions, parent nodes are prone to congestion problems, especially those close to the DODAG root. In RPL, the considered OF allows each node to select its preferred parent based on the hop-count and link quality, i.e., Expected Transmission Count (ETX ), regardless of the queue occupancy of neighboring nodes. Hence, the OF does not reflect the congestion of parent nodes, which in turn degrades network performance in terms of packet loss and delay. The problem even exists under light traffic condition where there is unfair load distribution among parent nodes. To better understand the problem, consider the routing topology shown in Figure 1a. Node C is overloaded with children compared to nodes \(A\), \(B\), and \(D\), which have the same RANK. This in turn incurs a significant traffic load at node \(E\), the parent node of node C, which is responsible for forwarding the traffic of more than 50% of the network. In high traffic conditions, the children of \(C\) send packets with high rates, which leads to buffer overflow at node C, while nodes \(A\), \(B\), and \(D\) maintain a stable buffer status. The same, and even worse, occurs at node \(E\). Typically, LLN devices are resource-constrained and have small queue sizes. These small queues start to overflow before the congestion becomes heavy enough to be detected through the ETX and Trickle timer. The children of \(C\) are not aware of the congestion problem, and hence, they continue to transmit packets to \(C\) as they measure low ETX from their perspective. Moreover, the Trickle timer is not aware of the congestion situation; thus, the node cannot change its congested parent in a timely manner. Therefore, the conventional Trickle timer and using ETX for parent selection is not reasonable for load balancing in RPL-based networks. In Figure 2, we investigate packet losses in an RPL network with OF0 under different traffic load conditions. From this figure, we can clearly note that queue losses constitute the dominant part of packet losses compared to channel losses (almost 16%) even in high traffic load conditions. This in turn will be misleading for OF0 to change the parent when the node is congested, thus the need for an efficient parent selection and congestion control mechanism. The second issue is the traffic priority in heterogeneous 6 TiSCH networks. RPL defines no mechanism to prioritize the transmission of heterogeneous traffic types in 6 TiSCH networks according to their timing requirements. All packets are placed in a single queue and scheduled either in an LIFO or FIFO fashion. High priority data are mainly characterized by tight timing constraints, and if they arrive too late, they are of limited use and could lead to system failure, production loss, or even dangerous situations [12]. Both queue scheduling policies adopted by the RPL may cause higher priority transmissions to violate its timing limits when blocked by the transmission of lower priority ones, which typically have relaxed timing requirements. Therefore, the queue scheduling of the current RPL version is an inefficient solution in IIoT applications with heterogeneous traffic. To further illustrate the problem, consider the 6 TiSCH network scenario depicted by Figure 0(a). As a result of a particular emergency event, an emergency packet arrives at the output queue of node \(F\) at time \(t=i\), as shown in Figure 0(b). Due to its criticality, this packet should be transmitted first with the highest priority.