2018-Improved Trickle Algorithm For Routing Protocol For LLN

You might also like

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

2178 IEEE SENSORS JOURNAL, VOL. 18, NO.

5, MARCH 1, 2018

Improved Trickle Algorithm for Routing Protocol


for Low Power and Lossy Networks
Sonam Goyal and Trilok Chand, Senior Member, IEEE

Abstract— Routing protocol for low power and lossy signaling or the control traffic composed of three different
networks (RPL) is designed in order to avoid the routing issues messages named DODAG Information Solicitation (DIS),
in wireless sensor networks due to limited energy of nodes, link DODAG Information Object (DIO), and Destination Adver-
failures, and so on. RPL constructs the destination oriented
directed acyclic graph (DODAG) out of the physical network tisement Object (DAO). The main control traffic overhead
by using various constraints, such as different routing metrics, is due to the DIO messages because DAO message has to
objective functions, and so on. The trickle timer in RPL is used be forwarded up to the sink only while DIO message has
to reduce the control traffic overhead by dividing the time into to be broadcasted to one hop distance and the overhead due
intervals. It increases its sending rate of the control messages to DIS is negligible because these messages are sent only at
if an inconsistency is detected to resolve it quickly otherwise it
decreases its sending rate by exponentially increasing its window the beginning to find the neighbor node in order to solicit
size. The trickle-F algorithm solves the load balancing problem a DIO message.
by implementing the fair broadcast suppression mechanism. Our The main goals to be achieved in RPL are to reduce the
proposed improved-trickle algorithm sets the redundancy counter power and energy consumption as well as to reduce the
to zero not at the beginning of new interval but at the time of network convergence time. Power consumption is directly
suppression or transmission of the DODAG information object
message in the trickle-F algorithm to solve the load balancing proportional to the number of the DIO messages in the
problem and to reduce the energy and power consumption by network. Thus the power consumption can be reduced by
taking into consideration the messages heard from time t to the decreasing the number of the control messages. Therefore,
end of the interval. the Trickle algorithm has been developed to reduce the control
Index Terms— DODAG, RPL, trickle, WSN. traffic overhead while constructing the DODAG topology.
It increases its sending rate of the control messages if an
I. I NTRODUCTION
inconsistency is detected otherwise it decreases its sending rate

T HERE has been an exponential growth in the Inter-


net of Things (IoT) in the last few years. Billions
of heterogeneous devices get connected to the internet like
by exponentially increasing its window size [5]. For achieving
synchronization among the nodes in asynchronous networks,
the listen only period is introduced to overcome the short listen
health monitoring, automated buildings etc. Wireless Sensor problem otherwise the nodes start to send their own control
Networks (WSNs) are generally composed of small battery messages as the interval starts which may result in the dupli-
powered devices [1]. Routing is a critical problem in wireless cate transmissions thus increasing the power consumption. The
sensor networks because of several reasons such as the limited listen only period is the first half of each interval.
energy of nodes, possibility of link failures etc. Routing Over Load balancing issue in the original Trickle Algorithm is
Low power and Lossy networks (ROLL) group of Internet solved by Trickle-F Algorithm [6]. It implements the fair
Engineering Task Force (IETF) has made various efforts for Broadcast suppression mechanism by keeping track of a
designing an efficient routing protocol for low power and variable which increases with DIO suppression but is set to
lossy networks. Then finally came a Routing Protocol for Low zero on DIO transmission. But in this, the redundancy counter
Power and Lossy Networks (RPL) for such networks. RPL has is set to zero at the end of current interval due to which the
been adopted by IETF in March 2012 [2]. It is an Internet DIOs transmission after time t (time at which DIO is either
Protocol version 6.0 (IPv6) based proactive distance vector suppressed or transmitted) to the end of the interval are not
routing protocol [3]. utilized which leads to more power and energy consumption.
RPL constructs the Destination Oriented Directed Acyclic So in our proposed I-Trickle Algorithm, this problem has also
Graph (DODAG) out of the physical network by using been solved by setting redundancy counter to zero at time t
various constraints such as different routing metrics, objec- in Trickle-F algorithm.
tive functions etc [4]. DODAGs are constructed by using The rest of the paper is organized as follows: Section II
Manuscript received August 14, 2017; accepted December 8, 2017. Date of briefly describes Trickle-F algorithm, Section III describes
publication December 27, 2017; date of current version January 31, 2018. literature survey, Section IV explains the proposed I-Trickle
The associate editor coordinating the review of this paper and approving algorithm, simulation results are presented in Section V and
it for publication was Prof. Kazuaki Sawada. (Corresponding author:
Sonam Goyal.) finally Section VI concludes the paper.
The authors are with the Computer Science and Engineering Depart-
ment, Punjab Engineering College, Chandigarh 160012, India (e-mail: II. T RICKLE -F A LGORITHM
sonamgoyal415@gmail.com; trilokchand@pec.ac.in; a_trilok_chand@yahoo.
com). Trickle-F algorithm [6] is a variant of existing Trickle
Digital Object Identifier 10.1109/JSEN.2017.2787584 algorithm [5]. The Trickle algorithm suffers from two main
1558-1748 © 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
GOYAL AND CHAND: I-TRICKLE ALGORITHM FOR RPL 2179

issues. One is the load balancing problem in which some nodes B. Function INTERVALBEGINS ( )
don’t get a chance to send its DIO message due to which some In this phase, whenever a new interval begins it resets
of the routes remain undiscovered. Other problem with the redundancy counter c to zero and it chooses a random time t in
Trickle algorithm is the more power and energy consumption. [I/2(s+1), I/2s ] instead of choosing it in [I/2, I] which is done
Load balancing problem is solved by Trickle-F algorithm in the original Trickle algorithm. A node which has larger
by maintaining a variable s which represents successive value of s i.e. whose number of successive DIO suppressions
DIO suppressions. are more is given the chance to send its DIO message in next
Trickle-F algorithm uses three parameters namely: turn because the random time t is inversely proportional to the
Imin – The minimum interval length value s.
Imax – The maximum interval length
k – The redundancy constant C. Function CONSISTENTTRANSMISSIONRECEIVED ( )
Trickle-F algorithm uses three variables namely:
In this phase, upon receiving a consistent DIO message
c – A redundancy counter which records the number of
from its neighboring node it simply increments the redundancy
consistent DIO messages in current interval.
counter c by 1.
I – The current interval length which lies between
[Imin , Imax ].
D. Function TIMEREXPIRES ( )
t – A random time in [I/2(s+1), I/2s ].
In this phase, when the timer expires i.e. when the random
time t is reached, it compares the value of redundancy con-
Algorithm 1 Trickle-F Algorithm stant k and redundancy counter c. If the value of c is less
function INITIALIZATION ( ) than or equal to the value of k then it simply transmits its
I = Imin DIO message and the value of variable s is set to zero. But if
s=0 the value of variable c is larger than the value of redundancy
function INTERVALBEGINS ( ) constant k then the DIO transmission is suppressed and the s
t = random(I/2(s+1), I/2s ) variable is incremented by 1.
c=0
function CONSISTENTTRANSMISSIONRECEIVED ( ) E. Function INTERVALENDS ( )
c = c+1
In this phase, when the current interval ends it resets the
function TIMEREXPIRES ( )
redundancy counter c to zero. If no inconsistent messages are
if (k >= c) then
heard then it simply doubles the length of current interval.
Transmit DIO message
If the interval length exceeds the value of Imax , it resets I
s=0
to Imax only. But if inconsistent messages are heard then it
else
simply sets I to Imin and also sets the variable s to zero.
DIO transmission is suppressed
s = s+1 III. R ELATED W ORK
endif
One of the major research challenges in RPL protocol
function INTERVALENDS ( )
is to reduce the control traffic overhead. The control traffic
c=0
overhead is composed of three different types of control
if InconsistentTransmisssionReceived then
messages named DODAG Information Solicitation (DIS),
I = Imin
DODAG Information Object (DIO), and Destination Adver-
s=0
tisement Object (DAO). Trickle algorithm has been proposed
else
in [5] which divides the time into the intervals. To resolve any
I = I∗2
inconsistency, it increases its sending rate of control messages
if (I >= Imax ) then
otherwise decreases it. But in this there are two main routing
I = Imax
issues which are load balancing and the power and the energy
endif
consumption problem.
endif
Another approach which takes into consideration the load
balancing issue has been presented in [6]. It aims to solve the
Each function used in Trickle-F algorithm is described in load balancing problem. Each node maintains a variable s to
detail in the following subsections. keep track of the number of consecutive DIO suppressions.
At time t, if DIO is suppressed then s is incremented other-
wise s is set to zero. The time t is chosen in the interval
A. Function INITIALIZATION ( ) [I/2(s+1), I/2s ]. So the node with higher s value is given
In this phase, when the algorithm begins to execute, the priority to transmit in the next time interval. This algo-
it selects I from the interval [Imin , (2Imax )∗ Imin ]. Usually it rithm implements the Fair Broadcast Suppression mechanism.
begins by setting I to Imin and it also initializes a variable s An Optimized Trickle algorithm has been presented in [7].
to zero where variable s represents the number of successive It decreases the latency of the original Trickle algorithm.
DIO suppressions. It also does not incur any extra cost in doing this. On resetting
2180 IEEE SENSORS JOURNAL, VOL. 18, NO. 5, MARCH 1, 2018

I to Imin when an inconsistency gets detected, choose time t The I-Trickle algorithm differs from Trickle-F algorithm in
in [0, Imin ] interval instead of [I/2, I] to resolve the incon- a manner that the redundancy counter c is set to zero at the
sistencies quickly. It suffers from the listen only period in random time t instead of setting it to zero at the end of current
the subsequent time intervals which increases the network interval or at the beginning of new interval. The I-Trickle
convergence time. algorithm is presented below.
Adaptive Trickle algorithm has been proposed in [8] which
mainly focuses on redundancy constant k. This algorithm Algorithm 2 I-Trickle Algorithm
allows each node to adapt its suppression mechanism by function INITIALIZATION ( )
considering its local node density. Value of k should be low I = Imin
in sparse networks and should be high in dense networks. s=0
Adaptive-k algorithm suggests that each node sets its own k c=0
(k = f (c)) value by considering the local neighboring function INTERVALBEGINS ( )
node density contained in redundancy counter c. E-Trickle t = random(0, I/2s )
algorithm has been presented in [9]. It reduces the network function CONSISTENTTRANSMISSIONRECEIVED ( )
convergence time by reducing the need of listen only period c = c+1
to a greater extent. This algorithm sets c to zero at time t not at function TIMEREXPIRES ( )
the beginning of the interval. It chooses time t in [0, I] instead if (k >= c) then
of [I/2, I]. It thus improves the efficiency of RPL by reducing Transmit DIO message
the network convergence time but the power consumption and s=0
the scalability remains the same. c=0
ME-Trickle algorithm has been proposed in [10]. It is an else
optimized version of E-Trickle algorithm. If no inconsistency DIO transmission is suppressed
is detected, then there is no need to exponentially increase s = s+1
the transmission window size but automatically move to Imax . c=0
Fewer control messages needs to be sent hence saving the endif
energy. At the beginning of new interval, set I equals to Imax function INTERVALENDS ( )
instead of I = 2∗ I. Thus the total number of packets sent and if InconsistentTransmisssionReceived then
the network latency both are less in ME-Trickle as compared I = Imin
to E-Trickle because of direct jumping to Imax . Trickle-plus s=0
algorithm has been proposed in [11]. With Trickle, a network c=0
can have either both lower convergence time and high energy else
consumption or high convergence time and low energy con- I = I∗ 2
sumption. Trickle-plus aims at achieving optimum values of If (I >= Imax ) then
both the network convergence time and energy consumption. I = Imax
It makes the new interval size equals to 2∗ I∗ SF, where SF is endif
the Shift Factor indicating how many interval doublings can endif
be skipped. Thus the network gets converged quickly with less
energy consumption.
A. Function INITIALIZATION ( )
IV. I-T RICKLE A LGORITHM In this phase, when the algorithm begins to execute,
An Improved Trickle Algorithm (I-Trickle) has been it selects I from the interval [Imin , (2Imax )∗ Imin ]. Usually it
proposed which overcomes the shortcomings of Trickle-F begins by setting I to Imin and it also initializes a variable s
algorithm. This I-Trickle Algorithm uses three different para- to zero where variable s represents the number of successive
meters which are described as follows. DIO suppressions. It also sets the redundancy counter c to
k – It is an integer representing the redundancy factor or the zero in this phase.
redundancy constant. B. Function INTERVALBEGINS ( )
Imin – It is the minimum length of the interval. It is measured In this phase, whenever a new interval begins it chooses a
in milliseconds or seconds. random time t in [0, I/2s ] instead of choosing it in [I/2, I]
Imax – It is an integer representing the number of Imin dou- which is done in the original Trickle algorithm. A node
blings. So the maximum length of the interval is (2Imax )∗ Imin . which has larger value of s i.e. whose number of successive
The I-Trickle Algorithm uses four variables namely: DIO suppressions are more is given the chance to send its
c – a redundancy counter which stores the number of DIO message in next turn because the random time t is
consistent messages received up to a certain time. inversely proportional to the value s.
I – the current interval length. It lies in between
[Imin , (2Imax )∗ Imin ]. C. Function CONSISTENTTRANSMISSIONRECEIVED ( )
t – a random time in the second half of the interval [I/2, I]. In this phase, upon receiving a consistent DIO message
s – a variable representing the number of successive DIO from its neighboring node it simply increments the redundancy
suppressions. counter c by 1.
GOYAL AND CHAND: I-TRICKLE ALGORITHM FOR RPL 2181

TABLE I TX mode or RX mode. R_TIMER is 32768 ticks per second.


S IMULATION PARAMETERS R_TIMER is used to convert the time from ticks into seconds.
The current is measured in milliAmperes (mA). The values
of current for CPU, LPM, TX and RX modes are 0.33 mA,
0.0011 mA, 18.8 mA and 17.4 mA respectively. The voltage
value is same for all the four states i.e. 3 volts. Runtime value
is obtained from powertrace_start(CLOCK_SECOND∗ a)
function where ‘a’ is the runtime and the power profile is
printed after every ‘a’ seconds.
2) Packet Delivery Ratio (PDR): The Packet Delivery Ratio
is the number of packets successfully delivered to the total
D. Function TIMEREXPIRES ( )
number of packets sent as shown by (3)
In this phase, when the timer expires i.e. when the random
No.o f packets r ecei ved by desti nati on node
time t is reached, it compares the value of redundancy con- PDR =
stant k and redundancy counter c. If the value of c is less No.o f packets sent by sour ce node
than or equal to the value of k then it simply transmits its (3)
DIO message and the value of variable s is set to zero. But if 3) Average Energy Consumption: Average Energy Con-
the value of variable c is larger than the value of redundancy sumption refers to the energy consumed by a node in all the
constant then the DIO transmission is suppressed and the s four states of a system i.e. in CPU mode, LPM mode, TX
variable is incremented by 1. But in this phase in all the cases mode and RX mode. Energy is measured in milliJoules (mJ).
i.e. either k is greater than c or k is equal to c or k is lesser It is calculated using the formula given by (4) and (5).
than c, c is set to zero at time t instead of setting it to zero at
Energest_value ∗ Curr ent ∗ V oltage
the end of current interval at the beginning of new interval. Energy (m j ) =
R_T I M E R
E. Function INTERVALENDS ( ) (4)
In this phase, if no inconsistent messages are heard then it Aver age Energy (m j )
simply doubles the length of current interval. If the interval Energy(m j )
= (5)
length exceeds the value of Imax , it resets I to Imax only. But T otal number o f nodes
if inconsistent messages are heard then it simply sets I to Imin Thus Energy consumption is the sum of Energies consumed
and also sets both the variable s and c to zero. in CPU, LPM, TX, RX modes.
V. S IMULATION R ESULTS AND D ISCUSSION
The performance of I-Trickle algorithm has been analyzed B. Simulation Results
with respect to the existing Trickle-F algorithm in terms of We have simulated the network in which all the nodes are
average power consumption, packet delivery ratio and average running ContikiOS over the Cooja simulator which is based
energy consumption. The simulation has been performed in on the UBUNTU operating system.
Cooja simulator based on the simulation parameters illustrated Average power consumption refers to the power con-
in Table I. sumed by a node in all the four states of the system i.e.
CPU mode, LPM mode, TX mode and RX mode. Average
A. Performance Parameters for Simulation power consumption of Trickle-F and our proposed algorithm
Performance parameters used to compare the improved I-Trickle is shown in Fig. 1. Our I-Trickle algorithm has
algorithm (I-Trickle) with Trickle-F algorithm are explained less average power consumption as compared to the existing
in the following subsections. Trickle-F Algorithm. In Trickle-F algorithm, the redundancy
1) Average Power Consumption: Average power consump- counter c is set to zero at the end of current interval or at
tion refers to the power consumed by a node in all the four the beginning of the new interval. This leads to more average
states of the system i.e. CPU mode, Low Power Mode (LPM), power consumption as the DIO messages heard from time t to
Transmitting (TX) mode and Receiving (RX) mode. Power is the end of the current interval are not utilized. But in
measured in millwatts (mw). It is calculated using the formula I-Trickle algorithm, the value of redundancy counter c is set
given by (1) and (2). to zero at random time t not at the beginning of new interval
Energest_value ∗ Curr ent ∗ V oltage which leads to less average power consumption.
Power (mw) = The Packet Delivery Ratio is measured by the ratio of the
R_T I M E R ∗ Runti me
(1) number of packets a target node receives to the number of
packets a user node injects in to the network. Fig. 2 gives a
Aver age Power (mw)
comparative analysis of the performance of Trickle-F and the
Power (mw)
= (2) improved one I-Trickle. It can be inferred from the Fig. 2 that
T otal number o f nodes the I-Trickle algorithm and the existing Trickle-F algorithm
Where Energest_value is the time in ticks the system is in have almost the same performance in terms of packet delivery
specific state. The system can be in CPU mode, LPM Mode, ratio. Trickle algorithms aims only to reduce the control traffic
2182 IEEE SENSORS JOURNAL, VOL. 18, NO. 5, MARCH 1, 2018

as compared to the existing Trickle-F algorithm. In Trickle-F


algorithm, the redundancy counter c is set to zero at begin-
ning of the new interval. This leads to more average energy
consumption as the DIO messages heard from time t to the
end of the current interval are not utilized. But in I-Trickle
algorithm, the value of redundancy counter c is set to zero
at random time t not at the beginning of new interval which
leads to less average energy consumption.

VI. C ONCLUSION
A technique for solving both the problems of Trickle
Algorithm has been presented in this paper. The scheme
of Trickle-F has been modified to attain better power and
energy consumption. Results shows that the I-Trickle algo-
rithm achieves better performance than Trickle-F in terms of
Fig. 1. Power versus number of nodes.
both average power and average energy consumption i.e. both
power and energy consumption is less in I-Trickle algorithm
than the Trickle-F algorithm. But the packet delivery ratio
almost remains the same.

R EFERENCES
[1] J. Yick, B. Mukherjee, and D. Ghosal, “Wireless sensor network survey,”
Comput. Netw., vol. 52, no. 12, pp. 2292–2330, Aug. 2008. [Online].
Available: http://www.sciencedirect.com/science/article/pii/S138912860
8001254
[2] T. Winter et al., RPL: IPv6 Routing Protocol for Low Power and Lossy
Networks, document RFC 6550, IETF ROLL WG, Mar. 2012. [Online].
Available: https://tools.ietf.org/html/rfc6550
[3] T. Clausen, U. Herberg, and M. Philipp, “A critical evaluation of
the IPv6 routing protocol for low power and lossy networks (RPL),”
presented at the IEEE 7th Int. Conf. Wireless Mobile Comput., Netw.
Commun. (WiMob), May 2011, pp. 365–372. [Online]. Available:
Fig. 2. PDR versus number of nodes. http://ieeexplore.ieee.org/abstract/document/6085374/
[4] N. Accettura, L. Grieco, G. Boggia, and P. Camarda, “Performance
analysis of the RPL routing protocol on mechatronics (ICM),” presented
at the IEEE Int. Conf., Apr. 2011, pp. 767–772. [Online]. Available:
http://ieeexplore.ieee.org/abstract/document/5971218/
[5] P. Levis, T. Clausen, J. Hui, O. Gnawali, and J. Ko, The Trickle
Algorithm, document RFC 6206, Mar. 2011. [Online]. Available:
http://www.ietf.org/rfc/rfc6206.txt
[6] C. Vallati and E. Mingozzi, “Trickle-F: Fair broadcast suppression
to improve energy-efficient route formation with the RPL rout-
ing protocol,” presented at the Sustain. Internet ICT Sustain. (Sus-
tainIT), 2013, pp. 1–9. [Online]. Available: http://ieeexplore.ieee.org/
abstract/document/6685187/
[7] B. Djamaa, and M. Richardson, “Optimizing the trickle algorithm,”
IEEE Commun. Lett., vol. 19, no. 5, pp. 819–822, May 2015. [Online].
Available: http://ieeexplore.ieee.org/iel7/4234/5534602/07051205.pdf
[8] T. M. M. Meyfroyt, M. Stolikj, and J. J. Lukkien, “Adaptive broadcast
suppression for Trickle-based protocols,” presented at the IEEE 16th
Int. Symp. World Wireless, Mobile Multimedia Netw. (WoWMoM),
Fig. 3. Energy versus number of nodes. Boston, MA, USA, Jun. 2015. [Online]. Available: http://ieeexplore.
ieee.org/document/7158134/
[9] B. Ghaleb, A. Al-Dubai, and E. Ekonomou, “E-Trickle: Enhanced trickle
algorithm for low-power and lossy networks,” presented at the 14th
IEEE Int. Conf. Ubiquitous Comput. Commun. (IUCC), Liverpool,
overhead by dividing the time into intervals. So there is no U.K., Oct. 2015. [Online]. Available: http://ieeexplore.ieee.org/abstract/
significant difference in terms of packet delivery ratio in both document/7363212/
the Trickle-F algorithm and the I-Trickle algorithm. [10] D. Benson, “A performance study of RPL with trickle algorithm vari-
ants,” Ph.D. dissertation, Dept. Comput. Eng., Worcester Polytech. Inst.,
Average Energy Consumption refers to the energy con- Worcester, MA, USA, Apr. 2016. [Online]. Available: https://web.cs.
sumed by a node in all the four states of a system i.e. in wpi.edu/~rek/Projects/Trickle_MQP_D16.pdf
CPU mode, LPM mode, TX mode and RX mode. Fig. 3 gives [11] B. Ghaleb, A. Al-Dubai, E. Ekonomou, B. Paechter, and M. Qasem,
a comparative analysis of performance of Trickle-F and the “Trickle-plus: Elastic trickle algorithm for low-power networks and
Internet of Things,” presented at the IEEE Wireless Commun. Netw.
improved one I-Trickle. It can be inferred from the Fig. 3 that Conf. (WCNC), Doha, Qatar, Apr. 2016, pp. 1–6. [Online]. Available:
the I-Trickle algorithm has less average energy consumption http://ieeexplore.ieee.org/document/7564654/?part=1
GOYAL AND CHAND: I-TRICKLE ALGORITHM FOR RPL 2183

Sonam Goyal is a Research Scholar with the Computer Science and Engi- Trilok Chand (SM’17) is a Professor with the Com-
neering Department, Punjab Engineering College (Deemed to be University), puter Science and Engineering Department, Punjab
Sector-12, Chandigarh, India. She has completed two months training at Engineering College (Deemed to be University),
IIT Kanpur. Her professional skills include programming in C, C++, and Sector-12, Chandigarh, India. He has teaching expe-
Python languages. She has published two research papers in international rience of approximately 23 years. He has published
journals/conferences. Her research interests include Internet of Things, com- more than 100 papers in international and national
puter networks, and other similar related areas. journals and conferences. He has guided three Ph.D.
thesis, 34 M.E. thesis, and 29 B.E. projects. His
research interests include wireless and mobile net-
works, wireless sensor networks, and computer net-
works and related areas. He is a member of the
following professional societies: a Fellow of the Institution of Engineers India,
a Fellow of the Institution of Electronics and Telecommunication Engineers,
a Member of the Indian Society of Technical Education, a Member of the
Computer Society of India, and a Member of the System Society of India.

You might also like