70 lines
No EOL
3.8 KiB
TeX
70 lines
No EOL
3.8 KiB
TeX
\acresetall
|
|
\chapter{Conclusion}
|
|
|
|
% - evaluate effect of transient node resets + hardened implementation
|
|
% - create tools for setting up + measuring + analysing experiments
|
|
% - \fitlab
|
|
% - stable topology
|
|
% --> comparable
|
|
% - transient node resets are a thing
|
|
% - if reset: changes ++
|
|
% - less with hardening
|
|
% - if no reset: less good --> depends on use-case
|
|
% - convergence time
|
|
% - restoring state takes time
|
|
% - restoring wrong state even more --> validation helps
|
|
% - performance: delay, packet loss
|
|
% - hardened implementation loses fewer packets when used without restore UID
|
|
% - but both worse without single node reset
|
|
|
|
The topic of this work has been to evaluate the reset of single node restarts
|
|
and the possibly resulting transient node failures on a \ac{WSN} which uses
|
|
the \ac{RPL}. The evaluation has been performed using \fitlab. For this software has
|
|
been created to automate the experiments using the existing infrastructure
|
|
provided by \fitlab and analyze the data obtained from the experiments. For
|
|
running the hardened implementation in \fitlab, the implementation has been
|
|
ported to a newer version of \emph{Contiki} that has device support for the
|
|
sensor nodes.
|
|
|
|
Each experiment has been performed in six different phases, where the first two
|
|
(N and R) use the default implementation of \ac{RPL} in \emph{Contiki}, the
|
|
second pair (H and HR) uses the hardened implementation \cite{mueller2017} and
|
|
the third pair (HS and HSR) uses the hardened implementation that also checks
|
|
the validity of the restored routing information.
|
|
|
|
First, the \ac{DAG} that results from each experiment has been compared and
|
|
checked for variances. It has been discovered that, using \fitlab it is possible
|
|
to reliably create a tree where a certain node (e.g. the node to be
|
|
reset during R, HR and HSR) joins the \ac{DAG} at a certain rank. This means
|
|
that comparable results can be obtained for the effect of single node resets.
|
|
|
|
Next, the instability of the \ac{DAG} has been evaluated by counting the number
|
|
of changes that occur during each phase. It has been observed that a single reset
|
|
will trigger a large amount of changes in the \ac{DAG}, which will result in a
|
|
higher energy consumption. If such resets occur, both versions of the hardened
|
|
implementations will reduce the number of changes to the
|
|
\ac{DAG}, but will increase the number of changes if no resets occur, in which
|
|
case the default implementation performs better.
|
|
|
|
From observing the network convergence times for \ac{RPL} for each
|
|
implementation with and without single node resets, it can be concluded that
|
|
restoring the state takes time, during which arriving packets will be lost. The
|
|
hardened implementation, but without the validity checks enabled, performs best in
|
|
reducing the time packets are dropped while the node recovers from its reset. It
|
|
has been discovered that the validity checks that involve the exchange of
|
|
\ac{DIO} messages take longer than recreating the state without restoring it
|
|
from persistent memory.
|
|
|
|
The final part of the evaluation looked at the message overhead generated by
|
|
each implementation and for a network with and without single node resets. Here
|
|
it has been observed, that the default implementation creates the lowest
|
|
overhead for a scenario without single node resets, while the hardened
|
|
implementations create a large overhead if no single node reset occurs. For a
|
|
scenario where single node resets occur, both of the hardened implementations
|
|
manage to achieve a smaller message overhead than the default implementation.
|
|
|
|
In general, it can be concluded that the energy consumption of the hardened
|
|
implementation is significantly higher than for the default implementation if no
|
|
single node resets occur. If single node resets occur, the hardened
|
|
implementation will only have a small advantage over the default implementation
|
|
in terms of energy consumption. |