Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Journal of Reliable Intelligent Environments

https://doi.org/10.1007/s40860-021-00134-5

ORIGINAL ARTICLE

CAFOR: congestion avoidance using fuzzy logic to find an optimal


routing path in 6LoWPAN networks
J. Shreyas1 · Hemant Singh1 · Soumya Tiwari1 · N. N. Srinidhi1 · S. M. Dilip Kumar1

Received: 11 February 2020 / Accepted: 5 December 2020


© The Author(s), under exclusive licence to Springer Nature Switzerland AG part of Springer Nature 2021

Abstract
Internet of Things is an increasing technology that has recently seen growth in the field of research. In a 6LoWPAN network,
congestion at nodes is caused by huge network traffic, which reduces the overall performance, as well as the quality of routing
metrics. Congestion in IoT network affects various performance measures such as energy inefficiency, decrease in throughput
and loss of data packets. Therefore, in this paper, congestion avoidance using fuzzy logic algorithm has been proposed to
avoid congestion by selecting the best parent in a tree-structured IoT network to find the optimal routing path. Fuzzy weighted
sum model is used to model the problem of parent selection into multi-attribute decision making based problem. Routing
metrics used are buffer occupancy, expected transmission count and routing metric (RtMetric). The objective function selects,
the parent based on the combination of these routing metrics. The proposed algorithm’s dynamic nature can identify the
congestion and then selects the non-congested path by selecting the best parent and thus creates a best routing path for the
packets. The algorithm has been implemented and simulated on Contiki OS and a comparison of performance is carried out
against optimization-based hybrid congestion alleviation (OHCA) and queue utilization-based RPL (QU-RPL) algorithms.
Simulation results indicate that the proposed algorithm has 15% more throughput, 10% more goodput, 4.5% less packets loss,
10.1% less energy use, and 19% less one-way delay over OHCA and QU-RPL algorithms.

Keywords Fuzzy logic (FL) · Internet of things (IoT) · Multi attribute decision making (MADM) · Optimization based hybrid
congestion alleviation (OHCA) · Soft computing (SC)

1 Introduction the network can deal with. Congestion makes a tremendous


effect on the energy of sensing element node and standard of
Internet of things (IoT) is a growing technology with its cer- service parameters [5,6].
tain challenges to be faced when one is working in this field. In general, two important techniques are incorporated
Typically, in an IoT setup, multiple objects in a network can to alleviate congestion in IoT networks: traffic engineer-
communicate with their neighbours to reach a common goal ing and traffic control. In the traffic engineering method,
[1]. An important element of IoT is wireless sensor networks. the data packet is sent to the destination node via an alter-
Ipv6 over low power wireless personal area networks (6Low- native non-congested path. In traffic control method, the
PAN) are used for combining WSN with the web. The sensor rate at which data packets are sent from the source node
nodes are responsible for implementing the internet proto- is reduced to a particular point to manage the flow of data
col stack in IoT. Large mesh networks and low power IP in the system and therefore resulting in reduced congestion
driven nodes make this technology a popular choice among in the network. However, for delay constrained and time-
IoT applications [2]. Network congestion occurs when vari- bounded applications (e.g fire detection applications and
ous nodes send packets simultaneously at a higher rate than medical application), reduction of the data rate is impracti-
cal and not necessary. Let’s take a real-life example. Suppose
there is a factory with millions of sensor nodes working to
B J. Shreyas
achieve a common goal. Suppose a fire breaks out in the com-
joseph.shreyas3@gmail.com
pany, in response to this, many packets will be generated by
1 Department of Computer Science and Engineering, fire alarms and are sent within the network. This is a situation
University Visvesvaraya College of Engineering, Bangalore, where congestion might happen and due to which the pack-
Karnataka, India

123
Journal of Reliable Intelligent Environments

ets generated by the fire alarm will not reach the sink node 2 Preliminaries
and hence action cannot be taken immediately. Thus, it is
required to use the optimistic measures of traffic engineering 2.1 Definitions
to address congestion in an IoT network.
The structure of a network is determined by it’s objec- 1. Network congestion: Network congestion occurs when a
tive function in routing protocol for low-power and lossy network route becomes completely occupied. It is a situa-
networks (RPL) [7]. It is separated from the network’s tion when there is overflowing traffic on a network route,
key protocol requirements and hence, allows the objec- leading to the loss of data packets. When large number of
tive function to easily design and implement the network data packets attempt to travel through a specific network
demands of the application. Objective function usually incor- route, the outcome is network congestion.
porates multiple routing metrics to generate a rank which
(a) Congestion alleviation: Reducing the network con-
is then broadcasted via control messages. The proposed
gestion to increase the quality of service is called
work combines three routing metrics and uses a multi-
congestion alleviation.
criteria decision-making method. The proposed algorithm
(b) Congestion control: These are techniques that help a
chooses a non-congested path from all available paths and
network recover from a congested state.
subsequently, settles the issue of parent selection during con-
(c) Congestion avoidance: These are techniques that help
gestion. A rank value is generated to select the parent with
a network to avoid getting into the congested state.
the combination of three metrics i.e. buffer occupancy (BO),
expected transmission count (ETX) and RtMetric. Congestion avoidance is a prevention mechanism while
One of the popular soft computing techniques is the fuzzy congestion control is an improvement mechanism.
logic which is used for representing fuzzy data, i.e the data 2. RPL: Routing protocol for low-power and lossy networks
which is not precise. It is a technique that closely represents (LLN) or RPL, is a mechanism to distribute data over a
the real world and can propose diverse non-direct control dynamically formed topology. It is a distance-vector rout-
arrangement. Fuzzy logic minimizes complex mathematical ing protocol which is extremely flexible around network
modeling and provides the ability to deal with greater inac- conditions and can recommend backup routes whenever
curacy and uncertainty [8]. Consequently, the utilization of default routes are unavailable. It supports different sorts
fuzzy logic in the proposed work upgrades the dynamic and of traffic flows such as point-to-multipoint, point-to-point
improves network performance. The proposed work con- and multipoint-to-point.
siders multiple parents while selecting the best parent. In 3. QU-RPL: In Queue Utilization-based Routing Protocol
doing so it takes different metrics which are then multiplied for Low-Power and Lossy Networks, every single node
with their respective weights and then added to create a rank. chooses its parent after considering the queue utilization
These ranks are generated for all possible parents and then the of its neighbouring nodes and their hop distances to the
one with least positive value is selected, hence the proposed LLN border router [9].
work normalize the whole parent set between the values 1– 4. OHCA: Optimization-based hybrid congestion allevia-
10,000 and compare them to find the best parent. This work tion is a hybrid solution achieved from the combination of
creates a fuzzy set from the ranks of the available parents in traffic as well as resource control strategies. It exerts the
the network and then determine the best parent. positives of each approach to utilize network resources
The main contributions included in the work are: [10].
5. Directed acyclic graph (DAG): It is directed and has no
1. Best parent is selected based on a composite routing met- cycles among its edges, i.e one cannot traverse the whole
ric, which is generated from different routing metrics i.e. graph starting at one edge. The graph is topological sort-
ETX, BO and RtMetric. ing, where each node is in a certain order.
2. The proposed work achieves network efficiency with 6. Destination oriented directed acyclic graph (DODAG):
complexity reduction embedded in the RPL protocol. The This a type of DAG, which is rooted at the sink.
proposed algorithm has a complexity of O(n) where n is 7. Sink node: This is the root node. It provides connectivity
the number of parents. to other nodes.
3. The proposed work selects the optimal path for routing by 8. Leaf node: These are end nodes, i.e they do not participate
applying fuzzy decision-making model. In the proposed in routing.
work the optimal path always represents a least congested 9. DODAG information object (DIO) message: This mes-
path. sage is fundamental in setting up and modifying the
4. The performance of the proposed CAFOR algorithm is DODAG. The building of a new DODAG is always
investigated by comparing against existing OHCA and initiated from the root and then continued from the inter-
QU-RPL algorithms. mediate node to the end node. The DIO is always the first

123
Journal of Reliable Intelligent Environments

protocol message that each node sends to all its neigh- Kashoash et al. [13] investigated the problem of con-
bouring nodes immediately after start-up. gestion alleviation in 6LowPAN network and proposed
10. Destination advertisement object (DAO) message: This congestion control framework based on game theory. In
message enables support of down traffic and propagates the proposed method, the non-cooperative framework is
destination information along the DODAG. formulated to solve the congestion problem. The Karush–
11. DODAG information solicitation (DIS) message: It is uti- Kulin–Tucker (KKT) conditions and Lagrange multipliers
lized to acknowledge or demand a DIO from the RPL are used to compute optimal game solution. The game the-
node. A node may utilize DIS to scan its neighbourhood ory algorithm is employed to set the application preference
for nearby DODAGs. and node preference to support requirements of IoT applica-
tion. The advised approach is implemented and tested using
Contiki 3.0 through cooja simulator. The results compared
2.2 Assumptions against duty cycle aware congestion and gripping technique
show considerably better outcomes in terms of end to end
Assumption 1: We assume that there is one case of delay and packet loss ratio.
Directed Acyclic Graph i.e. the network comprises of To alleviate congestion in low power and lossy network,
only one DODAG which changes based on the algorithm. Bhandari et al. [14] proposed congestion aware routing proto-
Assumption 2: The energy is initially assumed to be col as a solution. The proposed method combines the multiple
1Joule and the energy used for network formation is not routing matrix and selects a non-congested alternative parent
considered. node by employing multi-criteria decision-making tech-
nique. The alternative parent is selected in the propound work
to control the congestion in the 6LowPAN network. Further,
the proposed work adopts congestion detection mechanism
3 Related works to prevent the transient congestion situation of the affected
nodes within the network. The proposed work has been
Congestion control algorithms play an important part in implemented in Contiki 2.7 and simulation was carried out in
various IoT applications. There have been various works cooja simulator. The obtained results shows better outcome
attempted to identify and control IoT congestion. for throughput, packet delivery ratio and an end to end delay
Kim et al. [11] investigated the problem of congestion performance metrics.
and load balancing for IoT network. They have proposed To mitigate a congestion in 6LoWPAN networks Hellaoui
lightweight queue-based RPL method to attain the effective et al. [15] proposed congestion control technique based on
load balancing. The proposed method allows each node to bird flocking algorithm. The proposed algorithm employs a
consider its neighbours queue utilization and border routers swarm-based bird flocking algorithm to control and direct
hop distance to choose its parent node. The proposed method the packets flow through multipath to mitigate the prevail-
plays a crucial role in decreasing queue loss and increasing ing congestion situation. The proposed technique uses the
the packet delivery ratio. The proposed QU-RPL method has buffer occupancy method to identify the congestion node in
been implemented in a testbed of a multihop LLN over IEEE the network. It further suggests resource control mechanism
802.15.4. The results compared with traditional tiny RPL to avoid congestion by choosing a non-congested node to
indicates a higher end to end packet delivery ratio perfor- transfer the packet to the sink node. The proposed work has
mance by alleviating packet loss at queues. been implemented in Contiki and simulation carried out in
Sunitha et al. [12] put forward an energy-aware routing cooja simulation tool shows better outcome as far as of packet
technique to mitigate congestion in sensor networks. The delivery ratio, packet loss ratio and data latency compared to
proposed technique consists of three phases to overcome existing protocols.
extreme packet loss which results in severe energy consump- Musaddiq et al. [16] investigated the congestion problem
tion. In the first phase, the network region is classified into of heterogeneous IoT network and proposed queue and work-
various similar-sized zones. In the next phase, a node is com- load condition (QW-RPL) based protocol as a solution. The
pared against neighbour nodes based on minimum distance proposed work intends to maintain preferable overall per-
and minimum traffic in the zone. The node with minimum formance by selecting a reliable path for communication.
distance and traffic will be selected as a zone leader. The They proposed a new objective function in which it con-
zone leader will receive and forward the packets to neigh- siders the node’s congestion status using packet queue and
bour zone leaders. In the third phase, the zone leaders are link workload to identify congestion. The proposed QW-
classified as congested and non-congested zones. The result RPL model utilizes periodic workload information and the
obtained from network simulator 2 shows better outcomes in weighted queue to allocate the load effectively. The proposed
terms of end to end delay and packet delivery ratio. work is examined both in varying and fixed heterogeneous

123
Journal of Reliable Intelligent Environments

traffic patterns. The proposed work has been implemented 1. To avoid congestion using a proactive algorithm
in Contiki OS-and cooja simulator. The obtained simulation 2. To maintain the network in a steady state
result indicates the improved performance of QW-RPL in 3. To increase the throughput.
terms of jitter, delay and packet reception ratio. 4. To reduce data loss and energy consumption.
Chakravarthi et al. [17] proposed a new method to 5. To find a non-congested routing path.
detect and alleviate congestion for senor networks. The pro-
posed method initially detects congestion by considering a The proposed algorithm always keeps the network in the
correlation among packet inter-service time and packet inter- best possible state and hence reduces the chance of network
arrival time. The detected congestion is informed by implicit congestion rather than removing it after it happens. The traffic
congestion notification signalling. The proposed work fur- is always routed via the best possible path and hence it keeps
ther controls the transmission rate by using a fuzzy logic the network in steady state i.e. no one link/path is overloaded.
controller to reduce congestion. The proposed work has
been implemented in network simulator 2. The simulation
outcome shows better performance in terms of packet deliv- 5 6LoWPAN network setup using RPL
ery ratio and delays in comparison with existing baseline
approaches. Network topology among 6LoWPAN networks is created
The paper Kashoash et al. [10] proposed a congestion con- using RPL routing protocol i.e the formation of DODAG is
trol algorithm called OHCA which combines the benefits of done by RPL. In this network, there are three kinds of nodes
both resource control and traffic control methods. The pro- that are determined:
posed algorithm uses a MADM technique to apply resource
control strategy. If the resource control technique cannot 1. Leaf nodes: These are at the edge of the network, i.e they
be applied, then the traffic control technique is used. The are terminating nodes and do not participate in routing of
proposed method uses a gray relational analysis (GRA) tech- data packets from other nodes.
nique for the selection of parents when congestion occurs and 2. Intermediate nodes: These are nodes that are intermedi-
forwards packets through non-congested parents. The pro- atory to leaf and sink nodes. They lie in between the
posed work has been implemented in Contiki and simulation network. They simply forward both theirs as well as
carried out in cooja simulation tool. However, the proposed other’s data to sink nodes.
method introduces substantial overheads in the network. 3. Sink nodes: These can be viewed as the root of the
network. Sink nodes connect the whole system to the
internet. They are responsible for providing connectivity
4 Problem description to different networks.

The standard existing routing protocols of 6LowPAN net- Directed acyclic graph method is the foundation of con-
works is based on objective functions and there are two major structing the network topology. The selection of a parent node
objective functions, objective function 0 (OF0) and mini- in DAG by a neighbour node depends on the rank of the objec-
mum rank with hysteresis (MRHOF). Both of these OFs have tive function. Multiple routing metrics are combined to form
major setbacks for example both of them always consider a an objective function. The nodes are organized as DODAG
single parameter while deciding the rank. OF0 decides the using RPL and network topology is created by DODAG
rank based on the number of hop counts to the destination where sink node will act as a root of DODAG. The DODAG’s
node and hence doesn’t care about the traffic in the network. root i.e. sink keeps broadcasting a control message known as
MRHOF is comparatively newer than OF0 and works with DODAG Information Object message at regular intervals to
additive metrics along a route. MRHOF depends on metric all nodes within the network. The DODAG is formed when
which is present in the metric container of DIO message, the intermediate node receives a DODAG Information Object
if it is set to minimum-latency then it finds the route with message and sends a reply to the sink node with Destination
minimum latency otherwise it defaults to minimum-ETX. Advertisement Object. The intermediate nodes then broad-
MRHOF can only work with additive metrics and hence can’t cast the DIO message until it has reached all leaf nodes. A
grasp the condition of the network efficiently. As we can see node may receive DIO messages from multiple neighbours
that both of these OFs can work with a single routing metric but the best parent is chosen dependent on rank. The parent
and while doing so they can’t effectively avoid congestion. node is the node with the best rank. On the off chance that a
Hence, it is required to propose a method over objective node has not got a DIO message within the time limit, then
function MRHOF to avoid congestion by finding the opti- DODAG information solicitation message is sent to all of its
mal routing path in 6LoWPAN networks The objectives of neighbour upon the request of a DIO message, as shown in
the proposed work are: Fig. 1.

123
Journal of Reliable Intelligent Environments

6 Fuzzy weighted sum model based parent


selection

The placement of a particular node in a DODAG is deter-


mined by the rank of the node. The rank is calculated based
on the objective function and the objective function is based
on routing metrics, hence it is responsible for the forma-
tion of DODAG. A routing metric is calculated by routing
algorithms when determining the optimal route for sending
network traffic. The routing metrics have the information
about parameters of a node such as buffer-capacity, queue
length and signal strength. In the proposed work, the objec-
tive function combines multiple routing metrics and uses it
Fig. 1 Signals generated in DODAG formation for parent selection during DODAG formation. This empow-
ers the best parent to be chosen by depending on the metrics
and the non-congested paths. In general, the assignment of
the best parent depends on finding the least congested one.
Various parameters are used to decide the best parent
in a MADM technique. There are many hard computing
Now consider two scenarios, the first scenario having a MADM techniques such as a technique for order preference
DODAG as shown in Fig. 2, which consists of two layers of by similarity to ideal solution (TOPSIS) and grey relational
intermediate nodes in the network. Four-leaf nodes send data analysis. which involves high computation and less flexibil-
to the intermediate node, I 2 whereas, I 1 is handling traffic ity. In the proposed work, fuzzy weighted sum model is used
from seven other leaf nodes. Packet loss is higher in a con- for multiple attribute decision-making which involves mini-
gested network among 6LowPAN networks. In case when mal computation with a greater amount of flexibility. MADM
high traffic is seen from all leaf nodes, I 1 will end up in the techniques work with multiple attributes or parameters for
congested state earlier than I 2. Even in the case of low traf- decision-making. In the proposed work, three parameters that
fic, the network will be in congested state due to imbalanced are used in this decision-making technique, are as follows:
measures of traffic on both the nodes in layer 1. Combining
multiple primary routing metrics to a composite one leads to 1. Expected transmission count: ETX is the quantity of
optimizing multiple performance aspects [18]. Hence, con- expected transmission count of a packet that is neces-
sidering multiple parameters while selecting the best parent sary for it to be received without any error or getting
is of atmost importance. Let’s take the fire-sensors examples dropped at its destination. This number varies from one
again, if the sensor nodes are the leaf nodes and the network to infinity. The path chosen by RPL is determined by the
is already unstable then there will be a delay in transmission minimum ETX value [19]. For instance, a packet needs
of data packets, and after increasing the load in the network three or four transmissions to arrive at a destination. The
the number of packets dropped will also increase. If only one best route has the least ETX which is less than or equiv-
routing metric is considered say hop count, we might end up alent to two. ETX is equivalent to the zero for sink node.
with a network which is more liable to congestion. In the There are two ways to calculate ETX, the first one is link
second scenario, we have a DODAG as appeared in Fig. 3, estimator, which is accountable for calculating ETX for
in this case, the traffic is appropriated among the network neighbours and peers calculating their own ETX by accu-
based on multiple routing metrics as explained later in the mulating all ETXs in the neighbourhood to the root node.
paper. We see that the same network in Fig. 3 has been opti- The other way of calculating ETX values is of a specific
mized to have less congestion. The traffic arising from Layer formula using a forward and reverse delivery ratio of the
2 to Layer 1 is being distributed equally, and traffic from leaf link, the formula can be described as follows:
nodes is also load-balanced among Layer 2 nodes. In Fig. 3,
the traffic appropriation between the networks relies upon
more than one routing metric, the traffic is equally divided E T X = 1/(D f ∗ Dr ) (1)
from layer 2 to layer 1 and from the leaf nodes layer, the load
is equitably isolated into layer 2 nodes. The paper is centered where D f is the forward delivery ratio, is the deliberate
around expanding stability inside the network and enhanc- chance that the neighbour will receive a packet. while Dr
ing the quality of parent selection method, hence making the is the reverse delivery ratio, is the measured possibility of
network dynamically stable. receiving an acknowledgement packet effectively [20].

123
Journal of Reliable Intelligent Environments

Fig. 2 Initial network state

Fig. 3 Network state after


applying algorithm

2. RtMetric: There are multiple paths available between two forwarded at a steady rate. This buffer is limited to some
nodes in a network. Every node make it’s own rout- packets. When congestion occurs at a node, the buffer
ing choices which lead to different congestion levels overflows and the incoming packets are dropped. This
in the network i.e. one path might get more loaded in parameter helps to indicate the level of congestion at a
terms of traffic than the other. The RPL decides the best node in the network. The working flow of the proposed
route among the paths that are available. A route metric model is shown in Fig. 4.
is a value associated with each route. Routing protocol
chooses the path with the best metric available. RtMet-
6.1 Fuzzy weighted sum model (FWSM)
ric allows routing protocol to select a path between two
nodes. The choice of RtMetric is affected by its proper-
The weighted sum model (WSM) is applied to a single-
ties. Routing protocol can select a path with minimum
dimensional value set, which is a multi-attribute decision-
hop-count. It is a source of information about the rank of
making approach. Decision-makers are used with the prob-
a node in the network which is calculated based on vari-
lems when there are multiple but conflicting ideas and these
ous parameters. It helps to choose the preferred parent in
problems can vary from, being as simple as to buy which car
between available neighbors using rank.
or smartphone to selecting the best parent in the network.
3. Buffer Occupancy (BO): A node comprises of many
One such model is when there are Y alternative options and
physical things and one of them is buffer, buffer helps in
X parameters then the average weighted sum model can be
storage and forwarding of packets during transmission.
calculated as:
Buffer is given since each node has distinctive arrival and
transmission rates. BO is the total number of packets that
are stored in the node’s buffer waiting to be retransmit- 
X
AW S M = W j ai j , for i = 1, 2, 3, . . . , Y (2)
ted. It helps in controlling the rate of the packets being j=1

123
Journal of Reliable Intelligent Environments

Fig. 4 Proposed model

In Eq. (2), A W S M is the rank that is calculated for deci- and their correlation numbers were lower as compared with
sion making between the parents, ai j represents the various the other parameters, hence they were best fit to determine
parameters (i.e. ETX, RtMetric and BO) and W represents the condition of a node at any given point of time that is why
the weight that each of these parameters has. The rank is cal- we selected these three parameters. There is a weight which
culated in such a manner that lower the value better the parent is associated with each routing metric and can be represented
is for transmission. Equation (2) can also be represented as a by a weight vector W = {w j , j = 1, 2, 3}. The process of
simple matrix multiplication where the base value ai j is mul- multi-attribute decision-making for parent selection problem
tiplied with jth value of the weight matrix. Let us assume that can be demonstrated in terms of a decision matrix, where the
P = {Pi , i = 1, 2, 3, . . . , n} is a list of candidates i.e. par- decision matrix (N × 3) is a matrix whose elements repre-
ents for a given node and Q = {Q j , j = 1, 2, 3} be the list sents the value of jth routing metric for the ith parent for
of routing metrics for each candidate. Routing metrics taken all i = (1, 2, 3, . . . .N ) and j = (1, 2 and 3). Therefore
into consideration are ETX, BO and RtMetric. The reason for decision matrix M can be written as:
selecting only these parameters is that they are very diverse

123
Journal of Reliable Intelligent Environments

⎡ ⎤
Q 1 (P1 ) Q 2 (P1 ) Q 3 (P1 ) 3. Processing the values to determine a rank for each alter-
⎢ Q 1 (P2 ) Q 2 (P2 ) Q 3 (P2 )⎥ native: To get WSM value of each parent the decision
⎢ ⎥
⎢ . . . ⎥
M =⎢
⎢ .
⎥ (3) matrix, M is multiplied with weight vector W as shown
⎢ . . ⎥ ⎥ in Eq. (10).
⎣ . . . ⎦
Q 1 (Pn ) Q 2 (Pn ) Q 3 (Pn ) AW S M = M ∗ W (9)

For example, let there be three parents say,


⎡ ⎤
Q 1 (a1 ) Q 2 (a1 ) Q 3 (a1 )
P = {P1 , P2 , P3 } (4) ⎢ Q 1 (a2 ) Q 2 (a2 ) Q 3 (a2 )⎥ ⎡ ⎤
⎢ ⎥ W1
⎢ . . . ⎥
AW S M =⎢
⎢ .
⎥ ∗ ⎣ W2 ⎦ (10)
. ⎥
and we have three routing metrics i.e.
⎢ . ⎥
⎣ . W3
. . ⎦
V = {VE T X , V Rt Metric , VB O } (5)
Q 1 (an ) Q 2 (an ) Q 3 (an )
then M can be written as: For example, multiplying Eq. (6) and Eq. (8) we get:
⎡ ⎤ ⎡ ⎤
Q E T X (699) Q Rt Metric (2320) Q B O (0.5) Q E T X (699) Q Rt Metric (2320) Q B O (0.5)
M =⎣ 768 2048 0.625 ⎦ (6) AW S M =⎣ 768 2048 0.625 ⎦
640 1766 0.375 640 1766 0.375
⎡ ⎤
In the given matrix, each row represents the routing metrics W E T X (50)
of parents where the first column is ETX, second is RtMetric ∗ ⎣W Rt Metric (20)⎦
and third is BO. The weighted sum model consists of three W B O (4276)
⎡ ⎤
steps which are explained below: R P1 (83488)
A W S M = ⎣ R P2 (82032.5)⎦
1. Determining the attributes and alternatives: In the pro- R P3 (68923.5)
posed work, the different parents for a node are taken (11)
as a set of alternatives. The three routing metrics BO,
ETX and RtMetric are taken as attributes against which Here R P1 , R P2 and R P3 represent the rank of parent 1, 2
the rank of each parent is calculated. For example, Eq. and 3 respectively. These derived equations are then used in
(4) represents the alternatives and Eq. (5) represents the Algorithm 1.
attributes. The following Algorithm 1 explains how the best parents is
2. Attaching numerical measures to attributes and alter- decided based on the parameter values and using the weighted
natives This step involves extracting numerical values sum model.
of the attributes. Attributes are extracted from the DIO The above Algorithm 1, takes a list of the parent as the
messages received from the parent. To normalize the input say P1 , P2 . . . Pn and returns the object of the best par-
attributes, we multiply them with a weight matrix. The ent (Best Par ent) that will be used for future routing. The
weight matrix is taken to represent the weights associated algorithm can be divided into two parts, given below:
with each routing metric.
⎡ ⎤ 1. Initialization In this part, of the algorithm we assume that
W1
P1 is the best parent until we find some other less con-
W = ⎣ W2 ⎦ (7)
gested parent. Best Par ent is initialized with P1 . Now,
W3
If P1 is the sink node then return P1 else we calculate the
These values are constants that has been calculated math- parameter values for P1 i.e. E T X 1 , B O1 and Rt Metric1 .
ematically r e f 8.2. For example: Then the rank is calculated from the parameter values i.e.
A W S M1 is initialized to be the best rank for future com-
⎡ ⎤
W E T X (50) parisons.
W = ⎣W Rt Metric (20)⎦ (8) 2. Comparison In this part, the algorithm compares these
W B O (4276) parents to find the best parent available. Here also we
have the condition of sink node i.e. If Pi is the sink node
This matrix represents the weights assigned to each of then return Pi this step is added just to skip additional
the routing metrics, here W E T X = 50, W Rt Metric = 20 calculations at arrive to the same answer. Now we cal-
and W B O = 4276. culate the parameter values for Pi i.e. E T X i , B Oi and

123
Journal of Reliable Intelligent Environments

Algorithm 1 Parent Selection Algorithm 7 Implementation


1: procedure
2: input: Parent List ( p1 , p2 ... pn ) for selection The proposed algorithm effectively utilizes network resources
3: output: Best Parent and finds the best parent to be used for data transmission. The
4: initialisation algorithm’s proactive behaviour avoids congestion in the net-
5: BestParent ← p1
6: /* If p1 is the sink node, then return p1 as
work. The most important step in implementing the algorithm
7: the best parent */ is to determine “preferred parent”, it is a listed property of the
8: if ( p1 == sink) then node. The best parent returned by the algorithm is provided to
9: return p1 the preferred parent. The preferred parent is responsible for
10: end if
11:
carrying information about the best parent among all other
12: // Extracting parameter values for the parent p1 parents available for the given node. As shown in Fig. 5,
13: E T X 1 ← p1 .etx //ETX of the p1 the best parent of node 8 is decided based on the proposed
14: B O1 ← p1 .bo //BO of the p1 algorithm.
15: Rt Metric1 ← p1 .RtMetric //RtMetric of the p1
16:
In the first case, the parent of node 8 is set to node 3. Node
17: // WSM score for p1 7 is not selected as its parent, since it already has network
18: A W S M1 ← 0 // Initialised to 0 traffic from three other nodes (2, 5 and 6). Similarly, in the
19: A W S M1 ← E T X 1 * W E T X + B O1 * W B O + second case, the parent is set to node 7 since node 3 has
20: Rt Metric1 * W Rt Metric
21:
network traffic from other nodes as shown in Fig. 6
22: // p1 is intialised as the best parent Periodically, each node in the network generates a DIO
23: A W S Mbest Par ent ← A W S M1 message, which contains the node’s information at a given
24: end initialisation timestamp. The DIO message carries necessary information
25:
26: for each parent in the list do
(ETX, BO and RtMetric) for calculating rank values using
27: MADM-Fuzzy for every parent candidate. The parent which
28: /* If pi is the sink node, then return pi as has the best rank is chosen as the preferred parent for the said
29: the best parent */ node. ‘Bestparent’ function of Minimum Rank with Hys-
30: if ( pi == sink) then
31: return pi
teresis Objective Function routing algorithm with MADM
32: end if technique based on the Weighted Sum Model with Fuzzy as
33: follows:
34: // Extracting parameter values for the parent pi
35: E T X i ← pi .etx //ETX of the pi
36: B Oi ← pi .bo //BO of the pi
37: Rt Metrici ← pi .RtMetric //RtMetric of the pi A W S M(i) = E T X (i) ∗ W E T X + B O(i) ∗ W B O
38:
39: // WSM Score for pi + Rt Metric(i) ∗ W Rt Metric (12)
40: A W S Mi ← 0 //Intialised to 0
41: A W S Mi ← E T X i * W E T X + B Oi * W B O +
42: Rt Metrici * W Rt Metric
43: The Eq. (12) calculates the WSM score of every parent can-
44: /* Selecting the best parent based on AWSM didate. Algorithm 1 then compares the WSM score obtained
45: value*/
46: if (A W S Mi <A W S Mbest Par ent ) then
for every candidate to choose the best parent.
47: // pi is selected as the best parent The outgoing rate of packets at each node is set high, say,
48: BestParent ← pi 6 packets/s. A start delay of 60 s is introduced during the ini-
49: A W S Mbest Par ent ← A W S Mi tial setups and network formation and then the data packets
50: end if
51:
are sent. A payload of 30 bytes in an application is run on
52: end for every node. UDP is used as the transport layer protocol. uIPv6
53: return BestParent with RPL is used for routing in the network layers along with
54: end procedure the objective function, MRHOF. 8 packets is initialized as the
buffer for each node. Only one DODAG instance is consid-
ered during the simulation. The proposed work assumes that
Rt Metrici . Then the rank is calculated from the param- only singular instance of DAG exists during the simulation,
eter values i.e. A W S Mi , now this value is compared to i.e there is only one DODAG and that changes according to
the rank of current best parent i.e. A W S Mbest Par ent . If the the algorithm. As explained in Algorithm 1, it does not look
value of A W S Mi is lesser than A W S Mbest Par ent then Pi is for the best parent if the sink node and child node are in con-
selected as the new best parent for future comparison. At tact, i.e the child is one hop away from the sink, then sink
the end, the algorithm returns the Best Parent (Fig. 4). node is assigned as parent.

123
Journal of Reliable Intelligent Environments

Fig. 5 Initial network state

Fig. 6 Parent change based on


the algorithm

8 Performance evaluation more than one performance aspect. However, the monotonic-
ity property of the composite routing metric has to hold for
The suggested algorithm was executed with multiple network the routing protocol to be loop-free [18].We have kept ETX
typologies and states via simulation using Cooja Simulator as our primary metric and then we calculated the correlation
and Contiki OS 3.0 [21]. All motes which are used in the of ETX with other metrics. For the calculation of correlation,
simulation are Tmore sky, hence the generated outputs are the respective values of each metric are extracted from many
built on Tmote sky and Cooja Simulator. The specification simulations over a period of time. We tried the following
used for the implementation of proposed work is shown in three different metrics with ETX:
Table 1.
1. ETX vs BO: The correlation value calculated for these
8.1 Metrics selection two metrics was 0.7892.
2. ETX vs QD: The correlation value calculated for these
There are many routing metrics to select from like ETX, BO, two metrics was 0.2759.
Hop Count, QD, RtMetric and many more. Objective func- 3. ETX vs RtMetric: The correlation value calculated for
tion defines how to use these metrics to calculate the rank. these two metrics was 0.8801.
In the proposed work we have defined a composite metric
for OF because the combination of multiple primary routing The correlation between ETX and BO, ETX and RtMetric is
metrics into a composite one can lead to the optimization of strongly positive correlation, which means they are directly

123
Journal of Reliable Intelligent Environments

Table 1 Implementation specification


Parameters Value

Sending rate 6 Packets/s


Start of delay 60 s
Application payload 30 bytes
Transport layer protocol UDP
Objective function(OF) MRHOF-OF(CAFOR)
Buffer Size of each node 8 packets
DoDAG Instances 1 instances

Fig. 8 The graph of buffer occupancy vs ETX

The equation obtained is Eq. (13) where c1 is a constant.

E T X = 0.39 ∗ Rt Metric + c1 (13)

The relation between buffer occupancy and ETX again shows


a positive correlation which is shown in Fig. 8.
The equation obtained for these two attributes where c2
is a constant

Fig. 7 The graph of RtMetric vs ETX


E T X = 85.52 ∗ B O + c2 (14)

proportional. However, the correlation between ETX and QD From Eqs. 13 and 14 we can infer that
is quite weak and hence it is relatively less additive than other
two. The additive nature of metrics is important to acheive E T X = 0.2 ∗ Rt Metric + 42.76 ∗ B O + c (15)
monotonicity and hence we decided to use the following three
metrics: This equation represents ETX which is 0.2 times of RtMet-
ric and 42.76 times of BO, here c is a constant which can
1. ETX be ignored while considering the weights. This is how the
2. BO weights are calculated. This shows that all the attributes
3. RtMetric belong to different information regions and the algorithm is
more adaptable and responsive to the changes in the network.

8.3 Simulation scenario


8.2 Weight calculation
Let’s take a sparse network topology containing a single sink
The weights used for performance evaluation needs to be spe- node, four-leaf nodes and five intermediate nodes in the first
cific to the environment and scenario. In the implementation case with the node ID of N 7, N 8, N 9 and N 10 as shown in
of the proposed work, the weights used are inter-correlated Fig. 9.
using linear regression. The most preferred attribute is ETX Consider a dense topology of one sink node, eight inter-
and other attributes are taken in reference to the ETX. mediate nodes and four-leaf nodes in the second case with
The simulated results were analyzed and the graph node ID of N20, N21, N22, N23, N24 and N25 as shown in
between the various attributes was plotted. The graph Fig. 10. Here we shall compare CAFOR, OHCA and QU-
between RtMertic and ETX is shown in Fig. 7. It shows a RPL in terms of overall throughput, average throughput per
very high positive correlation between these two attributes. node, end-to-end delay and number of lost packets. For power

123
Journal of Reliable Intelligent Environments

Fig. 9 Network setup (sparse network)

Fig. 12 Throughput per node (sparse network)

It can be inferred from the figure that the resulting throughput


of QU-RPL is 1.7 packets/s and OHCA is close to 2 pack-
ets/s and for proposed CAFOR is 2.3 packets/s. It can be
concluded that the suggested work shows an improvement
of 15% throughput compared to OHCA. Higher throughput
is obtained in the suggested work as lower computability
and multiple distinctive attributes are taken into considera-
tion while choosing the optimal parent. As seen in Fig. 11,
we can infer that even in case of a dense network, higher
throughput per node is observed. Lower ETX and lower
Fig. 10 Network setup (dense network) buffer occupancy will result in higher throughput. RtMet-
ric is dependent on properties such as latency, then even a
lower value of RtMetric will lead to higher throughput.

8.3.2 Throughput per node

Throughput is only calculated for each sender nodes which


are also the leaf nodes in the network. The analysis of pack-
ets received per node is evaluated for all the leaf nodes. The
calculation is carried out separately for the sparse and dense
network. Throughput is calculated for every node in the net-
work separately.
Figure 12 shows throughput for all the leaf nodes in case
of sparse network and Fig. 13 shows the average throughput
per node for the leaf nodes in case of a dense network. As
shown in the graph the throughput for the sparse network is
Fig. 11 Throughput comparison higher as compared to OHCA and QU-RPL while follow-
ing similar network topology. The throughput for CAFOR
is considerably higher than OHCA on average. The average
consumption, mapping the attributes of all the nodes in the throughput for CAFOR is higher as compared to QU-RPL
network is carried out. and the throughput is stable across the network for all the
nodes. In CAFOR throughput for n7 is ≈ 0.52 and for n10 is
8.3.1 Throughput ≈ 0.59 which are in case of edge nodes, and the other nodes
that are n8, n9 has ≈ 0.57 and ≈ 0.66 respectively is consid-
Throughput is determined at the sink node. The net through- erably higher in case of CAFOR as compared to OHCA. This
put of all the mentioned algorithms can be seen in Fig. 11. is due to the division on traffic better at the higher congested

123
Journal of Reliable Intelligent Environments

Fig. 14 Comparison of number of packets dropped

Fig. 13 Throughput per node (dense network)

areas which OHCA and QU-RPL is fails to work on higher


congested areas.
As shown in Fig. 13, even in dense networks, we see there
is higher throughput per node. The dependency of throughput
per node on selected metrics is the same as that of throughput.

8.3.3 Number of packets dropped

Number of packets dropped per node is the total number of


packets dropped in a unit amount of time. Packets dropped are
packets which were sent from any leaf node but not received Fig. 15 Power consumption (sparse network)
at the sink node. Based on the results, CAFOR has roughly
dropped 2.36 packets/second, whereas QU-RPL has 21.9
packets/second and OHCA drops 2.47 packets/second. As
inferred from Fig. 14, CAFOR experiences 4.5% less packet
drops per unit time. This is because at any given point of time,
CAFOR tends to keep the network in the best state possible
and hence it avoids congestion which leads to less number of
packets dropped. Number of packets dropped will be less if
the buffer occupancy is lower, this is because even if the net-
work is in congested state the buffer can hold more packets.
Since there is a positive correlation between ETX and buffer
occupancy, a lower value of ETX and RtMetric will result in
low packet loss.

8.3.4 Power consumption Fig. 16 Power consumption (dense network)

Power consumption per node is measured in watts consumed


by each node during the entire period of transmission and The power consumption by CPU in the dense network can
network formation. The information is further divided into be seen in Fig. 16.
the different parts of the node which consume the power in Since power consumption is the power consumed in net-
a node. It consists of power consumption between the CPU, work transmission and formation, a lower value of ETX will
Radio listener and transmitter and Low Power Mode (LPM). mean that energy spent in retransmissions is less. Similarly,
Figure 15 shows the power consumption in the sparse net- a lower value of BO and RtMetric will also lead to low power
work, where the power consumption by CPU is consistent. consumption.

123
Journal of Reliable Intelligent Environments

Fig. 17 Comparison of end-to-end delay Fig. 18 Comparison of energy consumption per successful packet

8.3.5 End to end delay

End to end delay is evaluated between the sink node and the
leaf node. The delay is calculated by the absolute difference
between the time stamp when the packet was received on
the sink node and the time when the packet was created. For
observation, we calculated the average delay for packets dur-
ing a time range. The plot can be seen in Fig. 17. The Average
delay in CAFOR is 7.34 seconds, whereas QU-RPL is 16.84
seconds and OHCA is 9.07 seconds. It can be concluded that
CAFOR has 19% lower average end to end delay compared
to OHCA. This is because CAFOR consumes less time in
network formation and parent selection. This, in turn, leads
to reduced waiting time for packets in CAFOR than OHCA.
CAFOR shows higher route optimization and reduced delays. Fig. 19 Energy remaining in the network (mJ)
To reduce end to end delay we need the routing metric to be
reliable and choose the lowest RtMetric. This means that a
lower value of ETX and BO is also expected to minimise end
to end delay. spent in retransmissions will be less. A lower BO will also
lead to a reduction in energy while retransmitting the pack-
8.3.6 Energy consumption ets.

Energy consumption is calculated by adding all the energies


i.e. CPU, LPM, Rx and T x. Figure 18 shows that the aver-
age energy consumed throughout the simulation in OHCA 8.3.7 Remaining energy
is 40.33 mJ and in QU-RPL is 55.2 m J approximately,
whereas in CAFOR’s case it is only 36.25 m J . It is observed The energy was initially assumed to be 1J and the energy used
that CAFOR’s energy consumption is 10.1% better than the for network formation is not considered. From the Fig. 19 it is
OHCA’s. This is because the energy consumed by the CPU is observed that the energy remaining after the given amount of
comparatively less than that of OHCA. Even the energy used time is maximum in CAFOR as compared to OHCA and
for retransmission of the packets in the buffer is reduced QU-RPL methods. The unit of energy is mJ and is plot-
by considering the BO while calculating the rank. Energy ted against time as shown in Fig. 19. As CAFOR’s average
consumption is the sum of all energies, that is energy spent energy consumption is less, the remaining energy is max-
during transmission, receiving and when idle. It is observed imum. Remaining energy is entirely dependent on energy
that energy consumption is highest when transmitting. This consumption. If the energy consumed is minimum, then the
can be brought down with a lower value of ETX as energy energy remaining is maximum.

123
Journal of Reliable Intelligent Environments

Fig. 20 Goodput Fig. 22 Goodput per node (dense network)

where the goodput is calculated for all the leaf nodes.


Goodput is dependant on throughput. Hence, it’s dependency
on metrics is the same as that of throughput.

9 Conclusion

In this paper, the proposed work has solved congestion issues


within IoT networks by making use of fuzzy logic. The prob-
lem of parent selection is modelled as a MADM problem
and then solved using fuzzy weighted sum technique. It cal-
culates the rank for each parent against the three routing
metrics: expected transmission count, RtMetric and buffer
occupancy. The proposed algorithm is proactive in nature and
Fig. 21 Goodput per node (dense network) identifies the congestion and then selects the non-congested
path by selecting the best path in the network topology. The
network adapts itself to the traffic by dynamically chang-
8.3.8 Goodput ing its topology based on parent selection for each node.
The packets are then forwarded via non-congested paths.
Goodput is generally defined as application-level throughput, The incorporation of fuzzy logic elevates the algorithm to
i.e. the number of useful bits per unit of time forwarded by be more efficient and have less computation overhead. The
the network from source to destination, excluding protocol algorithm has been simulated and implemented using Con-
overhead such as re-transmissions. Goodput is measured as tiki OS and Cooja simulator. The obtained results suggest
a total number of packets multiplied by size of the packet that the proposed algorithm has reduced delay and increased
and measured per second on an average. The average value performance, as well as greater use of network resources.
of throughput is used to calculate for goodput per second. Including the benefits of the genetic algorithm along with
Figure 20 shows the average goodput, which is approxi- fuzzy logic would be interesting as a future work. The
mately 68.4 bytes per second. In the case of OHCA, goodput genetic-fuzzy algorithm would enable to predict the weights
is 61.5 Byes per second. Figure 20 shows that goodput is associated with each routing metric.
higher in case of CAFOR as compared to OHCA. This
is because CAFOR has lower delays and better decision-
making technique for routing. References
Figure 21 shows the goodput per node for sparse network.
1. Shreyas J, Dilip Kumar SM (2019) A Survey on Computational
Goodput is higher in a case for CAFOR than OHCA. And
Intelligence Techniques for Internet of Things. In: International
similarly in case of a dense network that shown in the Fig. Conference on Communication and Intelligent Systems, Springer,
22 Singapore, PP 271–282

123
Journal of Reliable Intelligent Environments

2. Shreyas J, Singh H, Bhutani J, Pandit S, Srinidhi NN, Dilip Kumar 14. Bhandari K, Hosen A, Cho G (2018) Coar: congestion-aware rout-
SM (2019) Congestion Aware Algorithm using Fuzzy Logic to Find ing protocol for low power and lossy networks for iot applications.
an Optimal Routing Path for IoT Networks. In: International Con- Sensors 18(11):3838. https://doi.org/10.3390/s18113838
ference on Computational Intelligence and Knowledge Economy 15. Hellaoui H, Koudil M (2015) Bird flocking congestion control for
(ICCIKE), IEEE, pp. 141–145 coap/rpl/6lowpan networks. In: Proceedings of the 2015 workshop
3. Shreyas J, Jumnal A, Dilip Kumar SM, Venugopal KR (2020) on IoT challenges in mobile and industrial systems. ACM, pp 25–
Application of computational intelligence techniques for internet 30
of things: an extensive survey. International Journal of Computa- 16. Musaddiq A, Zikria Y, Nain Z, Kim SW (2020) Routing protocol for
tional Intelligence Studies 9, 3:234–288 low-power and lossy networks for heterogeneous traffic network.
4. Yang Z, Chang CH (2019) 6LoWPAN Overview and Implementa- EURASIP J Wirel Commun Netw 2020:01
tions. In: International Conference on Embedded Wireless Systems 17. Chakravarthi R, Gomathy C (2011) Internet of things: a survey on
and Networks (EWSN) 2019 25–27 February, Beijing, China, pp. the security of IoT frameworks. Indian J Comput Sci Eng (IJCSE)
357–361 3(3):476–483
5. Peres B, Santos BP, Otavio AO, Goussevskaia O, Vieira MA, Vieira 18. Karkazis P et al (2012) Design of primary and composite rout-
LF, Loureiro AA (2018) Matrix: Multihop address allocation and ing metrics for RPL-compliant wireless sensor networks. In 2012
dynamic any-to-any routing for 6lowpan. Comput Netw 140:28–40 international conference on telecommunications and multimedia
6. Qiu Y, Ma M (2018) Secure group mobility support for 6lowpan (TEMU), IEEE, pp 13–18
networks. IEEE Internet Things J 5(2):1131–1141 19. Shen H, Bai G, Zhao L, Ge J, Tang Z (2015) L2or: low-cost
7. Raoof A, Matrawy A, Lung C-H (2018) Routing attacks and lowcomplexity opportunistic routing for wireless sensor networks.
mitigation methods for RPL-based Internet of Things. IEEE Com- Wirel Personal Commun 82(1):401–422
munications Surveys & Tutorials 21, no. 2 pp 1582–1606 20. Lamaazi H, Benamar N, Imaduddin MI, Jara AJ (2015) Perfor-
8. Chan CO, Lau HC, Fan Y (2018) Iot data acquisition in fashion mance assessment of the routing protocol for low power and lossy
retail application: Fuzzy logic approach. In: 2018 international con- networks. In: 2015 international conference on wireless networks
ference on artificial intelligence and big data (ICAIBD). IEEE, pp and mobile communications (WINCOM). IEEE, pp 1–8
52–56 21. Rathod V, Jeppu N, Sastry S, Singala S, Tahiliani MP (2019)
9. Kim H, Paek J, Bahk S (2015) Qu-rpl: Queue utilization based rpl CoCoA++: Delay gradient based congestion control for Internet
for load balancing in large scale industrial applications. 06 of Things. J. abb title 100:1053–1072
10. Al-Kashoash H (2020) Optimization-based hybrid congestion alle-
viation. In: Congestion Control for 6LoWPAN Wireless Sensor
Networks: Toward the Internet of Things, Springer, Cham, pp 135–
Publisher’s Note Springer Nature remains neutral with regard to juris-
156
dictional claims in published maps and institutional affiliations.
11. Kim H, Kim H, Paek J, Bahk S (2017) Load balancing under heavy
traffic in RPL routing protocol for low power and lossy networks.
IEEE Trans Mob Comput 16(4):964–979
12. Sunitha G, Kumar SD, Kumar BV (2017) Energy balanced zone
based routing protocol to mitigate congestion in wireless sensor
networks. Wirel Pers Commun 97(2):2683–2711
13. Hassan R, Jubair AM, Azmi K, Bakar A (2016) Adaptive conges-
tion control mechanism in coap application protocol for internet of
things (Iot). In: 2016 international conference on signal processing
and communication (ICSC). IEEE, pp 121–125

123

You might also like