License: CC BY 4.0
arXiv:2402.07261v1 [cs.NI] 11 Feb 2024

A Novel Technique to Parameterize Congestion Control in 6TiSCH IIoT Networks

Kushal Chakraborty1, Aritra Kumar Dutta1, Mohammad Avesh Hussain1 Syed Raafay Mohiuddin1,
Nikumani Choudhury1, Rakesh Matam2, Mithun Mukherjee3 Email: {h20221030089, h20221030096, h20221030090, f20190382, nikumani}@hyderabad.bits-pilani.ac.in,
[email protected], [email protected]
1 Dept. of Computer Science & Information Systems, Birla Institute of Technology & Science, Pilani, Hyderabad, India 2 Dept. of Computer Science & Engineering, Indian Institute of Information Technology Guwahati, India 3 Nan**g University of Information Science and Technology, Nan**g, China,
Abstract

The Industrial Internet of Things (IIoT) refers to the use of interconnected smart devices, sensors, and other technologies to create a network of intelligent systems that can monitor and manage industrial processes. 6TiSCH (IPv6 over the Time Slotted Channel Hop** mode of IEEE 802.15.4e) as an enabling technology facilitates low-power and low-latency communication between IoT devices in industrial environments. The Routing Protocol for Low power and lossy networks (RPL), which is used as the de-facto routing protocol for 6TiSCH networks is observed to suffer from several limitations, especially during congestion in the network. Therefore, there is an immediate need for some modifications to the RPL to deal with this problem. Under traffic load which keeps on changing continuously at different instants of time, the proposed mechanism aims at finding the appropriate parent for a node that can forward the packet to the destination through the least congested path with minimal packet loss. This facilitates congestion management under dynamic traffic loads. For this, a new metric for routing using the concept of exponential weighting has been proposed, which takes the number of packets present in the queue of the node into account when choosing the parent at a particular instance of time. Additionally, the paper proposes a parent selection and swap** mechanism for congested networks. Performance evaluations are carried out in order to validate the proposed work. The results show an improvement in the performance of RPL under heavy and dynamic traffic loads.

Index Terms:
6TiSCH, Industrial Internet of Things, Congestion Control, RPL.

I Introduction

Over the last decade, there has been a huge rise in the use of wireless Internet of Things (IoT) devices, especially in the industrial sectors [1, 2, 3]. IoT has numerous applications in the industrial sector, such as predictive maintenance, supply chain management, quality control, energy management, worker safety, etc [4, 5]. Due to the exponential increase in the use of constrained devices, a strategy to uniquely address these devices became an issue. In order to deal with this problem, IEEE 802.15.4e [6] 6TiSCH working group has standardized the control plane and IP layer on top of the TSCH MAC layer [7]. Integration of IPv6 to the TSCH network gave rise to certain issues, the proper handling of which, was extremely essential. One such challenge was addressing the arrangement of nodes in the 6TiSCH networks. To resolve this issue, an efficient network routing protocol was needed, which can route the data in the network, considering the power consumption and the limited computing capabilities of the IoT devices. In pursuit of a routing algorithm suitable for the given network, RPL was integrated with the 6TiSCH stack which was designed by the IETF Roll WG, specified in [RFC6550]. RPL is an IPv6-based routing protocol that is designed to operate in low-power and lossy networks (LLNs), and is especially suited to TiSCH-based IoT networks. RPL supports multipoint-to-point and point-to-multipoint communication, energy-efficient routing, and multicast traffic, among other characteristics that make it a good fit for LLNs. Overall, RPL is a crucial protocol for effective communication in low-power and lossy networks, which are increasingly common in the Internet of Things (IoT) and other applications.

RPL is observed to suffer from several limitations during network congestion [8, 9, 10]. Although IIoT devices generate small amounts of data, congestion can still occur in 6TiSCH IIoT networks due to high network density, synchronization due to clock inaccuracies, scheduling conflicts, data spikes during certain events in the industrial processes, packet loss, and retransmission. Smart Grid Management is an application scenario where congestion has been observed to occur in IIoT networks. This congestion can lead to sub-optimal network efficiency and performance and, in severe cases, may even cause network failure. Hence, it is extremely necessary to develop efficient congestion detection and control mechanisms for 6TiSCH networks. RPL was initially designed with the primary objective of handling low and moderate traffic in the network. As a result, its performance degraded when data traffic rates in the network fluctuated or increased by a very high amount (bursty data). Therefore, in this paper, we aim to address the aforesaid issue by computing the appropriate parent to route the packets with the least congestion path. Additionally, this assists in achieving energy-efficiency by reducing packet loss and re-transmissions.

I-A Motivation

The effectiveness of congestion control depends on the network’s ability to remain resilient under high-traffic conditions. Inefficient routing protocols result in network congestion. In 6TiSCH-based IoT network applications, the congestion can be avoided through the dynamic swap** of parents. The primary idea is to swap (or associate) to a less congested parent for routing the packets. However, unnecessary or excessive swap** of parents can lead to an unstable network with high swap** overhead as an association/disassociation requires the exchange of several control frames. Further, it may result in packet transmission failures since the child node often remains idle, waiting for new parents to be assigned most of the time. Therefore, there is a necessity to minimize the parent swap** unless the node is congested for a longer duration. In the paper, we aim to associate the child node with a less congested parent based on certain conditions discussed further.

From [11], it can be observed that when a parent node reaches a critical congestion level defined by a factor θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT, the child nodes are swapped. However, this threshold does not consider the parent node’s previous congestion records. Additionally, a parent node may experience temporary congestion due to sporadic data bursts. In such cases, it will likely return to its normal operation mode after some time. Further, the technique considered in [11] marks the parent node from which the child nodes have been swapped due to the exceeding prescribed value of θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT (critical level of congestion) as a poor candidate for parent for a k𝑘kitalic_k amount of time. However, for sporadic data bursts, the computed mean value of β𝛽\betaitalic_β (level of congestion at a particular node) does not change significantly, and hence, swap** a parent is not an optimal choice.

We illustrate the need to reduce unnecessary swap** during sporadic data bursts in Fig. 1 and Fig. 1. In Fig. 1, we observe that there is a sudden data burst for a parent node resulting in a peak represented by βMax(QOF(k))subscript𝛽Max(QOF(k))\beta_{\text{Max(QOF(k))}}italic_β start_POSTSUBSCRIPT Max(QOF(k)) end_POSTSUBSCRIPT [11]. This results in parent swap** as βMax(QOF(k))subscript𝛽Max(QOF(k))\beta_{\text{Max(QOF(k))}}italic_β start_POSTSUBSCRIPT Max(QOF(k)) end_POSTSUBSCRIPT exceeds the θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT value. However, it can be observed the traffic load reduces quickly, indicating a sub-optimal choice of parent swap. In this scenario, the average level of congestion in the considered parent node does not significantly change. This is shown by the βpropsubscript𝛽prop\beta_{\text{prop}}italic_β start_POSTSUBSCRIPT prop end_POSTSUBSCRIPT in Fig. 1. Further, Fig. 1 shows a parent node with consistently high traffic but below the θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT. This node becomes a good parent candidate for the child nodes swapped from parent nodes having traffic characteristics of Fig. 1. But, due to this swap, the candidate parent node may incur more congestion resulting in packet retransmissions and losses. This degradation in network performance could have been avoided if parent swap** is performed based on the average level of congestion in the parent, given by βpropsubscript𝛽prop\beta_{\text{prop}}italic_β start_POSTSUBSCRIPT prop end_POSTSUBSCRIPT.

Refer to caption
Refer to caption
Figure 1: (a) Abrupt hike in traffic and (b) consistent high traffic

I-B Contribution & Organization

In this paper, we propose a novel technique to reduce unnecessary parent swaps and later compute an appropriate parent for routing packets. This is achieved by incorporating exponential weighting to select the parent node based on the number of packets in the node’s queue at a given instance of time. The proposed mechanism identifies and manages congestion in 6TiSCH networks. The contributions of the paper are summarized below.

  1. 1.

    Development of a parent selection and swap** mechanism for congested networks and avoiding unnecessary parent swap** during sporadic traffic data bursts.

  2. 2.

    Development of a new metric for RPL-based routing using the concept of exponential weighting to compute the appropriate parent with the least congested path. This helps in managing congestion in the network.

  3. 3.

    Performance comparison with existing work shows the proposed mechanism improves RPL-based several QoS measurements under heavy and dynamic traffic loads.

The rest of the paper has been divided into the following sections: Section II discusses the related work in the routing domain of 6TiSCH and LLN networks. The network model considered has been discussed in Section III. Section IV describes the proposed work and the algorithms used. Section V discusses in extensive detail the experimentation performed and the performance evaluations. Section VI concludes the paper.

II Related Work

The rapid growth of network size caused by the implementation of IPV6 into the TSCH schedule for IIoT devices has led to a significant issue of network congestion that needs to be addressed, given that RPL was initially designed for small to moderate-size topologies. To achieve congestion control in RPL, various techniques [12, 13, 14, 15, 16, 17, 11] can be employed, such as rate control, congestion notification, and congestion avoidance. Rate control involves limiting the rate at which data is sent through the network, while congestion notification involves signaling to nodes that congestion is occurring. Congestion avoidance involves adjusting the routing paths in the network to avoid congested areas. The authors in [12] relied only on objects defined by RPL and proposed a new objective function for network formation based on the rank criteria, which is merely a track of the hop count of a particular node to its DODAG sink. It also provides a mechanism to increase the rank of a particular node when the upward data transmission fails, though an increase in rank may trigger network reformation, which creates a high network overhead. Moreover, it does not discuss any method to calculate congestion or load balancing. In [13], an objective function that incorporates various metrics for path calculation, preferred parent selection, and parent swap** is presented. For parent swap**, it uses a threshold to select a new preferred parent based on the path’s cost through the current preferred parent compared to the minimum cost path. Although it prevents unnecessary swaps when an upstream transmission fails, it does not consider congestion status for either the current or preferred parent for the reallocation of child nodes. The authors in [14] proposed a congestion control mechanism primarily focused on Queue utilization and rank i.e., the number of hops from a node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to the sink/DODAG root node. The scheme was relatively inadequate since they only considered the ratio of the number of packets in the queue to the buffer size, which would prompt a parent swap once it met a specific threshold. However, there may be instances where the data transmitted in bursts fill the queue temporarily, and the queue remains underutilized for the remainder of the network session.  [15] describes an objective function that addresses both low and high data transmission scenarios. The authors propose an objective function that considers link quality and buffer occupancy and a combined matrix for congestion detection with two prioritizing factors that balance suitable features for congestion detection. However, this approach has the same disadvantage with sporadic data bursts as discussed previously. In [11], the proposed approach includes two parent selection techniques to adjust to changing network traffic loads. The level of each node’s queue backlog is monitored to identify congestion, and new parent nodes are chosen following the balance of the network’s load. Unnecessary parent swaps are a major issue in this technique. In view of this, we present a novel technique that minimizes unnecessary parent swaps and computes an appropriate parent node for routing packets in a congested network.

III Network Model

Refer to caption
Figure 2: Destination Oriented DAG and RPL routing control messages in RPL network

The network model considered in this paper has been shown in Fig. 2. The network has a Destination Oriented Directed Acyclic Graph (DODAG) structure. The DODAG has a stratified routing structure that organizes nodes in a tree-like topology which has a single root node at the top, leaf nodes at the bottom, and each node has one or more parents, which are responsible for forwarding packets toward the destination. Each DODAG network topology has a version number. This same number is present in all the nodes of the network. There are two modes of operation, namely, a) Storing mode: wherein all the nodes contain full information of the network topology in their routing table. As a result, all the nodes have information about directly reaching the other nodes, and b) Non-Storing mode: wherein only the border router or DODAG root has the complete information of the network topology in their routing table. All other nodes only maintain their list of parents and use this list as a route to send their packets toward the border router. In this paper, we considered the network functions in the Non-Storing Mode. A node sends a DIS control message when it wishes to join a DODAG but hears no announcement or cannot detect any DODAG network. When a node in a DODAG network receives DIS messages, it multicasts the DIO message and announces to other nodes the presence of itself and the DODAG network. Each node in the network maintains a routing table that lists the next-hop node for each destination. When a node needs to send a packet to a destination, it looks up the destination in its routing table and forwards it to the next-hop node listed. If a node doesn’t have a routing table entry for a particular destination or wants to join the network, it sends a DAO message up the DODAG toward the root node. The root node then replies with a DAO-ACK message that contains information about the destination, including its rank and the next-hop node towards the destination.

IV Proposed Work

TABLE I: Symbol Table
Symbols Meaning
CuPi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT Current Parent node of node i
CaPi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT Candidate Parent of node i
PS(Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) Parent Score of node Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT
minPS minimum Parent Score
DAG Directed Acyclic Graph
DODAG Destination Oriented DAG
DIS DODAG Information Solicitation
DIO DODAG Information Object
DAO DODAG Advertisement Object
DAO-ACK DODAG Advertisement Object Acknowedgement
Parent(ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) Potential set of parent candidates
ETX(ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT,Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) Estimated Transmission Count from node ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT to Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT
TNOP(ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT,Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) total number of packets sent from node ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT to Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT
TNOPSS (ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT,Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) total number of packets sent successfully from
node ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT to Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT
QOF (ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) Queue Occupancy Factor of node ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT
EWQOF Exponential Weighted Queue Occupancy Factor
HDLAC (ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT,Pi𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) Hop Distance Link Assessment Criterion
NONTP (ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) Number of non-transmitted packets of queue of ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT
QL (ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT) Length of Queue of ni𝑖{}_{i}start_FLOATSUBSCRIPT italic_i end_FLOATSUBSCRIPT

In this section, we present our proposed mechanism, which is based on our novel approach termed Exponential Weighted Queue Occupancy Factor (EWQOF) for identifying and managing congestion in 6TiSCH networks. Initially, the DODAG tree is formed by disseminating and receiving RPL control messages, namely DIS, DIO, DAO, and DAO-ACK. In the first instance, the parent Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is selected by a node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT from its potential set of parents Parent(ni)𝑃𝑎𝑟𝑒𝑛𝑡subscript𝑛𝑖Parent(n_{i})italic_P italic_a italic_r italic_e italic_n italic_t ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) based on their distance from the DODAG root i.e., node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT selects the parent Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT which has the minimum distance to the DODAG root. However, this congestion metric is insufficient and not useful for the nodes during the entire network lifetime due to the dynamic nature of the traffic. In the 6TiSCH network, the traffic load may change during its lifetime due to various reasons: addition of new IoT devices to the network with heterogeneous sending rate, change in packet sending rate of IoT devices during certain intervals of time, malfunction or shutdown for maintenance of certain IoT devices during certain time intervals. Our proposed work comes into action after the initial DODAG tree is formed. Next, we consider metrics that are used for the detection and prevention of congestion in the network. The first metric criterion for selecting a better potential parent is called Rank𝑅𝑎𝑛𝑘Rankitalic_R italic_a italic_n italic_k. The Rank𝑅𝑎𝑛𝑘Rankitalic_R italic_a italic_n italic_k of a parent pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the number of nodes between the pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the DODAG root. Alternatively, it can be defined as the number of hops or hop distance from pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to DODAG root plus one. It is represented as Rank(pi)𝑅𝑎𝑛𝑘subscript𝑝𝑖Rank(p_{i})italic_R italic_a italic_n italic_k ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ).

Rank(pi)=Hop_distance(pi)+1𝑅𝑎𝑛𝑘subscript𝑝𝑖𝐻𝑜𝑝_𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒subscript𝑝𝑖1Rank(p_{i})=Hop\_distance(p_{i})+1italic_R italic_a italic_n italic_k ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_H italic_o italic_p _ italic_d italic_i italic_s italic_t italic_a italic_n italic_c italic_e ( italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) + 1 (1)

The second metric criterion for selecting a parent to send the packets through the least congested path is called EstimatedTransmissionCount(ETX)𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑑𝑇𝑟𝑎𝑛𝑠𝑚𝑖𝑠𝑠𝑖𝑜𝑛𝐶𝑜𝑢𝑛𝑡𝐸𝑇𝑋Estimated\ Transmission\ Count\ (ETX)italic_E italic_s italic_t italic_i italic_m italic_a italic_t italic_e italic_d italic_T italic_r italic_a italic_n italic_s italic_m italic_i italic_s italic_s italic_i italic_o italic_n italic_C italic_o italic_u italic_n italic_t ( italic_E italic_T italic_X ). ETX𝐸𝑇𝑋ETXitalic_E italic_T italic_X is the ratio of the total number of packet transmissions from node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to parent pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to the total number of successful transmissions of packets from node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to parent pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. This metric gives us a notion of the link quality connecting node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to parent pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

ETX(ni,pi)=TNOP(ni,Pi)TNOPSS(ni,Pi)𝐸𝑇𝑋subscript𝑛𝑖subscript𝑝𝑖𝑇𝑁𝑂𝑃subscript𝑛𝑖subscript𝑃𝑖𝑇𝑁𝑂𝑃𝑆𝑆subscript𝑛𝑖subscript𝑃𝑖ETX(n_{i},p_{i})=\frac{TNOP\ (n_{i},P_{i})}{TNOPSS\ (n_{i},P_{i})}italic_E italic_T italic_X ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = divide start_ARG italic_T italic_N italic_O italic_P ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG start_ARG italic_T italic_N italic_O italic_P italic_S italic_S ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG (2)

The third metric for selecting the least congested parent from the candidate parent set is the QueueOccupancyFactor(QOF)𝑄𝑢𝑒𝑢𝑒𝑂𝑐𝑐𝑢𝑝𝑎𝑛𝑐𝑦𝐹𝑎𝑐𝑡𝑜𝑟𝑄𝑂𝐹Queue\ Occupancy\ Factor\ (QOF)italic_Q italic_u italic_e italic_u italic_e italic_O italic_c italic_c italic_u italic_p italic_a italic_n italic_c italic_y italic_F italic_a italic_c italic_t italic_o italic_r ( italic_Q italic_O italic_F ). It is also called the backlog factor. It is the ratio of the number of packets in the queue of nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, which has not yet been transmitted to the length of the queue.

QOF(ni)=NONTP(ni)QL(ni)𝑄𝑂𝐹subscript𝑛𝑖𝑁𝑂𝑁𝑇𝑃subscript𝑛𝑖𝑄𝐿subscript𝑛𝑖QOF(n_{i})=\frac{NONTP\ (n_{i})}{QL\ (n_{i})}italic_Q italic_O italic_F ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = divide start_ARG italic_N italic_O italic_N italic_T italic_P ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG start_ARG italic_Q italic_L ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG (3)

The information about these metrics of a node is circulated to various nodes of the network through DIO messages.

IV-A Parent Selection and Swap** Mechanism

1 Input: DIO messages from Parent(nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT)
2 Output: Most appropriate parent Pi*superscriptsubscript𝑃𝑖P_{i}^{*}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT with minimum Parent Score
3 minPS = very high value
if β(CuPi)>θth𝛽𝐶𝑢subscript𝑃𝑖subscript𝜃𝑡\beta(CuP_{i})>\theta_{th}italic_β ( italic_C italic_u italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) > italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT then
       for each parent CaPi𝐶𝑎subscript𝑃𝑖absentCaP_{i}\initalic_C italic_a italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ Parent(nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT) do
             if (HDLAC(ni,CuPi)HDLAC(ni,CaPi))>δth𝐻𝐷𝐿𝐴𝐶subscript𝑛𝑖𝐶𝑢subscript𝑃𝑖𝐻𝐷𝐿𝐴𝐶subscript𝑛𝑖𝐶𝑎subscript𝑃𝑖subscript𝛿𝑡(HDLAC(n_{i},CuP_{i})-HDLAC(n_{i},CaP_{i}))>\delta_{th}( italic_H italic_D italic_L italic_A italic_C ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_C italic_u italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) - italic_H italic_D italic_L italic_A italic_C ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_C italic_a italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ) > italic_δ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT then
                  4 Find out PS(CaPi)𝑃𝑆𝐶𝑎subscript𝑃𝑖PS(CaP_{i})italic_P italic_S ( italic_C italic_a italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ;
                   if  minPS>PS(CaPi)𝑚𝑖𝑛𝑃𝑆𝑃𝑆𝐶𝑎subscript𝑃𝑖minPS>PS(CaP_{i})italic_m italic_i italic_n italic_P italic_S > italic_P italic_S ( italic_C italic_a italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT )  then
                         minPS = PS(CaPi)𝑃𝑆𝐶𝑎subscript𝑃𝑖PS(CaP_{i})italic_P italic_S ( italic_C italic_a italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT );
                         Pi*=CaPisuperscriptsubscript𝑃𝑖𝐶𝑎subscript𝑃𝑖P_{i}^{*}=CaP_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = italic_C italic_a italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT;
                        
                   end if
                  
             end if
            
       end for
      
end if
else
      5 Do not consider that CuPi𝐶𝑢subscript𝑃𝑖CuP_{i}italic_C italic_u italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is congested yet
      6 Continue to transmit packets to CuPi𝐶𝑢subscript𝑃𝑖CuP_{i}italic_C italic_u italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT
      
end if
7return The Parent Pi*superscriptsubscript𝑃𝑖P_{i}^{*}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT with minimum PS𝑃𝑆PSitalic_P italic_S
Algorithm 1 Proposed Parent Selection and Swap** Mechanism.

In this section, we present the proposed parent selection and swap** Algorithm 1. It describes how the parent nodes are selected from the candidate parent set to prevent congestion in the network. The different parameters used in the proposed algorithm are explained below.

The level of congestion at a particular node nisubscript𝑛𝑖{n_{i}}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is given by β(ni)𝛽subscript𝑛𝑖{\beta(n_{i})}italic_β ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ). It is a very essential parameter since it triggers the node nisubscript𝑛𝑖{n_{i}}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to switch its parent to avert congestion. We define β(ni)𝛽subscript𝑛𝑖{\beta(n_{i})}italic_β ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) as follows:

β(ni)=αk×QOF1(ni)+αk1×(1α)×QOF2(ni)+αk2×(1α)×QOF3(ni)++(1α)×QOFk(ni)𝛽subscript𝑛𝑖superscript𝛼𝑘𝑄𝑂subscript𝐹1subscript𝑛𝑖superscript𝛼𝑘11𝛼𝑄𝑂subscript𝐹2subscript𝑛𝑖superscript𝛼𝑘21𝛼𝑄𝑂subscript𝐹3subscript𝑛𝑖1𝛼𝑄𝑂subscript𝐹𝑘subscript𝑛𝑖\begin{multlined}{\beta(n_{i})}={\alpha^{k}}\times QOF_{1}(n_{i})+{\alpha^{k-1% }}\times(1-\alpha)\times QOF_{2}(n_{i})+\\ {\alpha^{k-2}}\times(1-\alpha)\times QOF_{3}(n_{i})+...+(1-\alpha)\times QOF_{% k}(n_{i})\ \ \ \ \ \ \ \end{multlined}{\beta(n_{i})}={\alpha^{k}}\times QOF_{1% }(n_{i})+{\alpha^{k-1}}\times(1-\alpha)\times QOF_{2}(n_{i})+\\ {\alpha^{k-2}}\times(1-\alpha)\times QOF_{3}(n_{i})+...+(1-\alpha)\times QOF_{% k}(n_{i})\ \ \ \ \ \ \ start_ROW start_CELL italic_β ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_α start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT × italic_Q italic_O italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) + italic_α start_POSTSUPERSCRIPT italic_k - 1 end_POSTSUPERSCRIPT × ( 1 - italic_α ) × italic_Q italic_O italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) + end_CELL end_ROW start_ROW start_CELL italic_α start_POSTSUPERSCRIPT italic_k - 2 end_POSTSUPERSCRIPT × ( 1 - italic_α ) × italic_Q italic_O italic_F start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) + … + ( 1 - italic_α ) × italic_Q italic_O italic_F start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_CELL end_ROW (4)

In Eq. (4), we calculate the congestion level at a particular node nisubscript𝑛𝑖{n_{i}}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT by using the concept of QOF. Sometimes it may happen that the parent of nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, i.e., Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is highly congested even though nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is not congested. In such a case, it would be an optimal choice for the child node of nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT not to select the parent as nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT because it would eventually lead to congestion and loss of packets. So we modify the equation of QOF as follows:

QOF(ni)=max{QOF(Pi),NONTP(ni)QL(ni)}𝑄𝑂𝐹subscript𝑛𝑖𝑚𝑎𝑥𝑄𝑂𝐹subscript𝑃𝑖𝑁𝑂𝑁𝑇𝑃subscript𝑛𝑖𝑄𝐿subscript𝑛𝑖QOF(n_{i})=max\ \{QOF(P_{i}),\frac{NONTP\ (n_{i})}{QL\ (n_{i})}\}italic_Q italic_O italic_F ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_m italic_a italic_x { italic_Q italic_O italic_F ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , divide start_ARG italic_N italic_O italic_N italic_T italic_P ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG start_ARG italic_Q italic_L ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG } (5)

Let us assume that the current time instant is t𝑡titalic_t, then QOFk(ni)𝑄𝑂subscript𝐹𝑘subscript𝑛𝑖QOF_{k}(n_{i})italic_Q italic_O italic_F start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) is the queue occupancy factor of the node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT from time instant (t1)(k1)𝑡1𝑘1(t-1)-(k-1)( italic_t - 1 ) - ( italic_k - 1 ) to time instant (t1)𝑡1(t-1)( italic_t - 1 ) . In Eq. (4), α𝛼\alphaitalic_α is called the smoothing factor. We have considered α=0.5𝛼0.5\alpha=0.5italic_α = 0.5. The Eq. (4) calculates the congestion level of a node by taking into account its QOF for the previous k𝑘kitalic_k time slots and giving more weightage to the QOF of the recent time slots and less weightage to the QOF of former time slots. This concept is being applied using exponential weighting.

The value of k𝑘kitalic_k is determined such that k×T>Imin𝑘𝑇subscript𝐼𝑚𝑖𝑛k\times\ T>I_{min}italic_k × italic_T > italic_I start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT where T𝑇Titalic_T is the duration of the slotframe and Iminsubscript𝐼𝑚𝑖𝑛I_{min}italic_I start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT is the minimum interval of the Trickle Timer [18]. It should be noted that k>1T𝑘1𝑇k>\frac{1}{T}italic_k > divide start_ARG 1 end_ARG start_ARG italic_T end_ARG. Resource limitations are common in LLN nodes, which often have restricted storage capacity. As k𝑘kitalic_k is increased to accommodate more values of QOF, it could potentially surpass the node’s storage limit, creating a constraint for the node beyond a certain point. The upper bound of k𝑘kitalic_k is decided based on the available resources in the node.

β(Pi)>θth𝛽subscript𝑃𝑖subscript𝜃𝑡{\beta(P_{i})}>\theta_{th}italic_β ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) > italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT (6)

Each node nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT records the β(Pi)𝛽subscript𝑃𝑖{\beta(P_{i})}italic_β ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) of its current parent Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. If the node finds that the β(Pi)𝛽subscript𝑃𝑖{\beta(P_{i})}italic_β ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) is greater than θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT, then it infers that the congestion level of its parent is high, so the loss of its transmitted packets will be high, and hence the node decides to change its parent. Thus the value of θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT enables the node to decide when to switch its parent due to a high congestion level. Here we consider that the θth=0.5subscript𝜃𝑡0.5\theta_{th}=0.5italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT = 0.5. The value of θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT must be chosen very carefully. If the value of θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT is very high, then the congestion detection and parent swap** mechanism will get delayed. If the value is very low, then there will be unnecessary swap** of parents even with a low congestion level which will increase the power consumption and overhead in the network.

In this proposed work, the parent selection strategy combines the Rank, ETX, and level of congestion (β(Pi)𝛽subscript𝑃𝑖{\beta(P_{i})}italic_β ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT )) metrics to compute node congestion and select the most appropriate parent Pi*superscriptsubscript𝑃𝑖{P_{i}}^{*}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT with less congestion level. Using this concept, a routing metric ParentScore(PS)𝑃𝑎𝑟𝑒𝑛𝑡𝑆𝑐𝑜𝑟𝑒𝑃𝑆Parent\ Score(PS)italic_P italic_a italic_r italic_e italic_n italic_t italic_S italic_c italic_o italic_r italic_e ( italic_P italic_S ) is introduced. PS(Pi)𝑃𝑆subscript𝑃𝑖PS(P_{i})italic_P italic_S ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) is defined as follows:

PS(Pi)=Rank(Pi)+ETX(ni,Pi)+η×QOF(Pi)𝑃𝑆subscript𝑃𝑖𝑅𝑎𝑛𝑘subscript𝑃𝑖𝐸𝑇𝑋subscript𝑛𝑖subscript𝑃𝑖𝜂𝑄𝑂𝐹subscript𝑃𝑖PS(P_{i})\ =\ Rank(P_{i})\ +\ ETX(n_{i},P_{i})\ +\ \eta\times QOF(P_{i})italic_P italic_S ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_R italic_a italic_n italic_k ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) + italic_E italic_T italic_X ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) + italic_η × italic_Q italic_O italic_F ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) (7)

where η𝜂\etaitalic_η is a weight factor. It controls the effect of QOF(Pi)𝑄𝑂𝐹subscript𝑃𝑖QOF(P_{i})italic_Q italic_O italic_F ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) in PS𝑃𝑆PSitalic_P italic_S during the parent selection process. Since QOF𝑄𝑂𝐹QOFitalic_Q italic_O italic_F is a fraction, so 0QOF10𝑄𝑂𝐹10\leq QOF\leq 10 ≤ italic_Q italic_O italic_F ≤ 1. To have a significant effect of QOF𝑄𝑂𝐹QOFitalic_Q italic_O italic_F in PS𝑃𝑆PSitalic_P italic_S, η>1𝜂1\eta>1italic_η > 1.

In addition to Eq. (6), there exists another criterion that needs to be satisfied to avoid unnecessary parent change. It is HopDistanceLinkAssessmentCriterion(HDLAC)𝐻𝑜𝑝𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝐿𝑖𝑛𝑘𝐴𝑠𝑠𝑒𝑠𝑠𝑚𝑒𝑛𝑡𝐶𝑟𝑖𝑡𝑒𝑟𝑖𝑜𝑛𝐻𝐷𝐿𝐴𝐶Hop\ Distance\ Link\ Assessment\ Criterion(HDLAC)italic_H italic_o italic_p italic_D italic_i italic_s italic_t italic_a italic_n italic_c italic_e italic_L italic_i italic_n italic_k italic_A italic_s italic_s italic_e italic_s italic_s italic_m italic_e italic_n italic_t italic_C italic_r italic_i italic_t italic_e italic_r italic_i italic_o italic_n ( italic_H italic_D italic_L italic_A italic_C ). It is defined as follows:

HDLAC(ni,Pi)HDLAC(ni,Pi*)>δth𝐻𝐷𝐿𝐴𝐶subscript𝑛𝑖subscript𝑃𝑖𝐻𝐷𝐿𝐴𝐶subscript𝑛𝑖superscriptsubscript𝑃𝑖subscript𝛿𝑡HDLAC(n_{i},P_{i})-HDLAC(n_{i},P_{i}^{*})>\delta_{th}\\ italic_H italic_D italic_L italic_A italic_C ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) - italic_H italic_D italic_L italic_A italic_C ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ) > italic_δ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT (8)

where,

HDLAC(ni,Pi)=Rank(Pi)+ETX(ni,Pi)𝐻𝐷𝐿𝐴𝐶subscript𝑛𝑖subscript𝑃𝑖𝑅𝑎𝑛𝑘subscript𝑃𝑖𝐸𝑇𝑋subscript𝑛𝑖subscript𝑃𝑖HDLAC(n_{i},P_{i})=Rank(P_{i})+ETX(n_{i},P_{i})italic_H italic_D italic_L italic_A italic_C ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_R italic_a italic_n italic_k ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) + italic_E italic_T italic_X ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) (9)

δthsubscript𝛿𝑡\delta_{th}italic_δ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT is a threshold value used to prevent rapid switching of parents or oscillations between parents in order to reduce the excessive attrition in the network. After satisfying Eq. (6) and Eq. (8), the most appropriate least congested parent Pi*superscriptsubscript𝑃𝑖{P_{i}}^{*}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT, having the minimum Parent Score, is determined and chosen as per the following expression.

Pi*=minPiϵParent(ni){PS(Pi)}superscriptsubscript𝑃𝑖subscriptsubscript𝑃𝑖italic-ϵ𝑃𝑎𝑟𝑒𝑛𝑡subscript𝑛𝑖𝑃𝑆subscript𝑃𝑖{P_{i}}^{*}=\min_{P_{i}\epsilon Parent(n_{i})}\{PS(P_{i})\}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = roman_min start_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_ϵ italic_P italic_a italic_r italic_e italic_n italic_t ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT { italic_P italic_S ( italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) } (10)
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 3: (a) Throughput, (b) Packet Delivery Ratio, (c) Average Number of swaps, (d) Average Energy Consumed.

V Experimental Results

In this section, the performance of the proposed EWQOF mechanism is evaluated and compared with Max QOF scheme, which has already been proved to outperform RPL with OF0 and MHROF objective functions [11]. The performance metrics considered for the evaluation of the proposed scheme are 1) Throughput, 2) Packet Delivery Ratio, 3) Average number of Swaps, and 4) Average Energy Consumption.

V-A Simulation Setup

The network topology considered for the experiment is shown in Fig 2. Extensive simulations were conducted in MATLAB to assess the effectiveness of the proposed approach. The parameters and settings specified in Table  II were employed for the evaluations. The value of η𝜂\etaitalic_η considered for the experiment is 0.25 [11]. The value of α𝛼\alphaitalic_α considered for the experiment is 0.5. This value was chosen as it enables to track QOF data closely by giving a balanced weight between recent QOF data and past QOF data and provides a significant increase in Packet Delivery Ratio as compared to other values of α𝛼\alphaitalic_α.

TABLE II: Simulation Parameters
Simulation Parameters Values Considered
Propagation Model Shadowing (Log-Normal)
Standard Deviation 14 dB
Deployment Area 200m x 200m
Transmission Range 30m
Data Rate 250 kb/s
Packet Length 100 B
Slotframe Length 100 slots
Time slot duration 10ms
Output buffer size 10 packets
Iminsubscript𝐼𝑚𝑖𝑛I_{min}italic_I start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT 3s
θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT 0.5
α𝛼\alphaitalic_α 0.5
δthsubscript𝛿𝑡\delta_{th}italic_δ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT 0.5

V-B Throughput

Throughput is one of the most important QoS parameters for any IoT application. It can be observed from Fig 3 that the proposed mechanism outperforms the Max QOF technique. This is largely due to the fact that the parent nodes are not swap immediately after a sudden spike in traffic, which otherwise results in packet loss. Unnecessary swap** increases network overhead from the association process and reduces throughput. Additionally, the proposed mechanism computes an optimal parent for data transmission in a congested channel resulting in higher successfully transmitted packets. We observe a 6-30% improvement in the RPL performance on implementing the proposed mechanism.

V-C Packet Delivery Ratio

The performance metric known as the packet delivery ratio (PDR) is commonly used in sensor network literature and is a vital parameter to measure the performance of a routing protocol like RPL. It measures the proportion of successfully delivered packets to the total number of packets transmitted by the sensors. Fig3) shows that on scaling up the network, the PDR of the proposed mechanism is higher than the Max QOF technique. This can be attributed to its inherent nature of identifying and swap** parents based on the average level of congestion in the parent, βpropsubscript𝛽prop\beta_{\text{prop}}italic_β start_POSTSUBSCRIPT prop end_POSTSUBSCRIPT and avoiding needless swaps. We observe a 4-10% improvement in the RPL performance on implementing the proposed mechanism.

V-D Average number of swaps

Swap** are associated with additional overhead as discussed earlier. Frequent unnecessary swap** result in excessive power consumption with the exchange of control frames and transmission of messages. Fig. 3 shows the total number of swaps over a fixed period of time. Max QoF suffers from excessive swaps as it selects a new parent whenever the current data burst increases beyond θthsubscript𝜃𝑡\theta_{th}italic_θ start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT. However, the proposed EWQOF mechanism has lesser number of swaps compared to the Max QOF, especially on increasing the network size beyond 30 nodes (15-60%).

V-E Average Energy Consumption

As the devices considered in a 6TiSCH-based IoT network application are energy constrained, it is of utmost importance to have techniques that increase the overall network lifetime. The incorporation of the proposed mechanism in RPL results in higher energy savings compared to the Max QoF technique. The primary reason is the reduced number of parent swaps and the ability to compute and select the appropriate parent for the transmission route during network congestion. The energy savings is further noticeable for large-sized networks as shown in Fig3.

VI Conclusion & Future Work

In this paper, we address the issue of inefficient congestion control mechanisms in RPL arising from inefficient in-built congestion control mechanisms. The severity of the issue is observed in bursty data traffic resulting in frequent changes in the parent-child associations. In this paper, we address this issue by reducing unnecessary parent changes and computing an appropriate parent and route. This ensures that a node forwards its packets to the destination through the least congested path, resulting in minimal packet loss. A novel routing metric incorporating exponential weighting has been proposed to select the parent node based on the number of packets in the node’s queue at a given moment. Additionally, the proposed parent selection and swap** mechanism enables efficient transmissions in congested networks. The simulation results show that the proposed mechanism outperforms the related technique by reducing the number of parent swaps and energy dissipation and improving the packet delivery rate and throughput. As a part of future work, we plan to investigate and further analyze the parameters affecting the parent swaps and implement them in a real testbed.

References

  • [1] F. Guo, F. R. Yu, H. Zhang, X. Li, H. Ji, and V. C. Leung, “Enabling massive IoT toward 6G: A comprehensive survey,” IEEE Internet of Things Journal, vol. 8, no. 15, pp. 11 891–11 915, March 2021.
  • [2] N. Choudhury, R. Matam, M. Mukherjee, and L. Shu, “Beacon Synchronization and Duty-cycling in IEEE 802.15.4 Cluster-tree Networks: A Review,” IEEE Internet Things J., vol. 5, no. 3, pp. 1765–1788, June 2018.
  • [3] M. Mahyoub, A. S. H. Mahmoud, M. Abu-Amara, and T. R. Sheltami, “An efficient RPL-based mechanism for node-to-node communications in IoT,” IEEE Internet of Things Journal, vol. 8, no. 9, pp. 7152–7169, May 2020.
  • [4] A. Kumbam, N. Choudhury, and M. M. Nasralla, “LIDS: Lightweight Dynamic Scheduling Technique for 6G-enabled Massive LoRa based IoT Systems,” in 2022 IEEE Globecom Workshops (GC Wkshps), Dec. 2022, pp. 1622–1627.
  • [5] N. Choudhury, R. Matam, M. Mukherjee, and J. Lloret, “A non-threshold-based cluster-head rotation scheme for IEEE 802.15.4 cluster-tree networks,” in 2018 IEEE global communications conference (GLOBECOM), Dec. 2018, pp. 1–6.
  • [6] I. S. Association, “IEEE Std 802.15.4e: Low-Rate Wireless Personal Area Networks (LR-WPANs)—Amendment 1: MAC Sublayer; IEEE Std 802.15.4e-2012 (Amendment to IEEE Std 802.15.4-2011),” IEEE Comp. Soc.: New York, NY, USA, 2012.
  • [7] X. Vilajosana, T. Watteyne, T. Chang, M. Vučinić, S. Duquennoy, and P. Thubert, “Ietf 6tisch: A tutorial,” IEEE Communications Surveys & Tutorials, vol. 22, no. 1, pp. 595–615, Sept. 2019.
  • [8] F. Righetti, C. Vallati, D. Rasla, and G. Anastasi, “Investigating the CoAP congestion control strategies for 6TiSCH-based IoT networks,” IEEE Access, vol. 11, pp. 11 054–11 065, Feb. 2023.
  • [9] H. Lamaazi and N. Benamar, “A comprehensive survey on enhancements and limitations of the RPL protocol: A focus on the objective function,” Ad Hoc Networks, vol. 96, p. 102001, 2020.
  • [10] C. Lim, “A survey on congestion control for RPL-based wireless sensor networks,” Sensors, vol. 19, no. 11, p. 2567, 2019.
  • [11] H. Farag, P. Österberg, and M. Gidlund, “Congestion Detection and Control for 6TiSCH Networks in IIoT Applications,” in IEEE International Conference on Communications (ICC), June. 2020, pp. 1–6.
  • [12] P. Thubert, “Objective Function Zero for the Routing Protocol for Low-Power and Lossy Networks (RPL),” RFC 6552, Mar. 2012. [Online]. Available: https://www.rfc-editor.org/info/rfc6552
  • [13] O. Gnawali and P. Levis, “The Minimum Rank with Hysteresis Objective Function,” RFC 6719, Sept. 2012. [Online]. Available: https://www.rfc-editor.org/info/rfc6719
  • [14] H.-S. Kim, J. Paek, and S. Bahk, “Qu-rpl: Queue utilization based rpl for load balancing in large scale industrial applications,” in 2015 12th Annual IEEE International Conference on Sensing, Communication, and Networking (SECON), 2015, pp. 265–273.
  • [15] H. A. A. Al-Kashoash, Y. Al-Nidawi, and A. H. Kemp, “Congestion-aware rpl for 6l0wpan networks,” in 2016 Wireless Telecommunications Symposium (WTS), 2016, pp. 1–6.
  • [16] K. S. Bhandari, A. S. M. S. Hosen, and G. H. Cho, “Coar: Congestion-aware routing protocol for low power and lossy networks for iot applications,” Sensors, vol. 18, no. 11, 2018. [Online]. Available: https://www.mdpi.com/1424-8220/18/11/3838
  • [17] M. A. Lodhi, A. Rehman, M. M. Khan, and F. B. Hussain, “Multiple path rpl for low power lossy networks,” in 2015 IEEE Asia Pacific Conference on Wireless and Mobile (APWiMob), 2015, pp. 279–284.
  • [18] D. Z. Fawwaz and S.-H. Chung, “Adaptive Trickle Timer for Efficient 6TiSCH Network Formation using Q-Learning,” IEEE Access, vol. 11, pp. 37 931–37 943, April 2023.