Professional Documents
Culture Documents
Author
Mike Oluwatayo Ojo
Tutor (s)
Prof. Stefano Giordano
Prof. Michele Pagano
Ing. Davide Adami
Reviewer (s)
Prof. Periklis Chatzimisios
Prof. Burak Kantarci
The Coordinator of the PhD Program
Prof. Marco Luise
IEEE 802.15.4-2015 Time Slotted Channel Hopping (TSCH) Networks have gained a
lot of attention within the Industrial Internet of Things (IIoT) research community due
to its effectiveness in improving reliability and providing ultra-low power consumption
for industrial applications, where communication is orchestrated by a schedule. The key
feature of TSCH is the scheduling of time slots and frequencies, which can be typically
created in various ways but should be computed according to specific requirements,
such as throughput, energy, reliability and latency. Despite the promising features of
the TSCH, IEEE 802.15.4 standard leaves out of its scope in defining how the sched-
ule is built and maintained, which is the focus of this research. This thesis presents
a centralized scheduling model in IEEE 802.15.4-2015 TSCH Networks, where the
gateway makes frequency allocations and time slot assignments. We propose differ-
ent scheduling models focusing on maximizing the overall throughput, minimizing the
average scheduling delay, maximizing the energy efficiency, and providing throughput
fairness through max-min fair approach. In achieving these, we devise algorithm-based
optimal, sub-optimal yet heuristic algorithms. In addition to the heuristic algorithms
and simulation-based studies, this thesis also provides a graph theoretical approach and
proposes polynomial time graph algorithms. Moreover, experimental measurements
are conducted on different platforms and various operating systems to assess the energy
consumption and evaluate the impact of TSCH protocol. Lastly, the thesis focuses on
emerging technologies for the Internet of Things (IoT), where we present a simple and
general Software Defined Networking (SDN)-IoT architecture with Network Function
Virtualization (NFV) implementation, providing specific choices on where and how to
adopt SDN and NFV approaches to address the new challenges of the IoT.
I
List of publications
International Journals
1. Ojo, M.O., Giordano, S., Adami, D. and Pagano, M. (2018, September). Through-
put Maximizing and Fair Scheduling Algorithms in Industrial Internet of Things
Networks. IEEE Transactions of Industrial Informatics. IEEE.
2. Ojo, M.O., Giordano, S., Procissi, G. and Seitanidis, I. (2018, November). A
Review of Low-end, Middle-end and High-end IoT Devices. IEEE Access. IEEE.
III
6. Ojo, M., Adami, D., and Giordano, S. (2016, December). A SDN-IoT Architec-
ture with NFV Implementation. In Globecom Workshops (GC Wkshps), 2016 (pp.
1-6). IEEE.
7. Ojo, M., and Giordano, S. (2016, October). An Efficient Centralized Scheduling
Algorithm in IEEE 802.15.4e TSCH networks. In Standards for Communications
and Networking (CSCN), 2016 IEEE Conference on (pp. 1-6). IEEE.
8. Ojo, M., Adami, D., and Giordano, S. (2016, July). Performance Evaluation
of Energy Saving MAC Protocols in WSN Operating Systems. In Performance
Evaluation of Computer and Telecommunication Systems (SPECTS), 2016 Inter-
national Symposium on (pp. 1-7). IEEE.
IV
List of Abbreviations
Symbols
6LBR 6LoWPAN Border Router. 10, 11
6LoWPAN IPv6 over Low-Power Wireless Personal
Area Networks. 13, 15, 17
A
ACK Acknowledgement. 7, 87
API Application Programming Interface. 14, 68
B
BILP Binary Integer Linear Programming. 8
BSD Berkeley Software Distribution. 15, 16
BSP Board Support Package. 16
BSS Business Support Systems. 70
C
CapEx Capital Expenditure. 62
CCT Charnes Cooper Transformation. 42, 55, 83
CFP Concave Fractional Programming. 42
CoAP Constrained Application Protocol. 15–17
CSMA-CA Carrier-Sense Multiple Access with Colli-
sion Avoidance. 7, 15
D
DAG Directed Acyclic Graph. 10
DAO DODAG Advertisement Object. 11
DIO DODAG Information Object. 11
DIS DODAG Information Solicitation. 11
DODAG Destination Oriented Directed Acyclic
Graph. 10, 11, 73
V
List of Abbreviations
E
EE Energy Efficiency. 42, 53–55
EES Energy Efficient Scheduler. 42, 43, 56, 60
EPC Evolved Packet Core. 65
G
GA Genetic Algorithm. 5, 7, 9, 18, 20, 30, 31,
36, 38, 39, 41, 83
H
HTTP HyperText Transfer Protocol. 16, 17
I
I2C Inter-Integrated Circuit. 12
IEEE Institute of Electrical and Electronics Engi-
neers. 3
IETF Internet Engineering Task Force. 3, 10, 15,
17, 74
IIoT Industrial Internet of Things. 2–5, 19, 20,
42–44, 48, 82, 84, 90
ILP Integer Linear Programming. 42, 45, 83
IoT Internet of Things. 2, 4–7, 12, 15, 62–68,
70–72, 79–81, 84
IPv6 Internet Protocol Version 6. 15
L
LLN Low Lossy Networks. 10
M
M2M Machine-to-Machine. 64, 65
MAC Medium Access Control. 3, 7, 15, 16, 19
MANO Management and Network Orchestration.
69
MCU Microcontroller Unit. 12, 13
MFS Max-Min Fair Scheduler. 42, 44, 46, 48,
50, 60, 83
MILP Mixed Integer Linear Programming. 14
MOCell Multi-Objective Cellular Genetic Algo-
rithm. 33, 37
N
NFC Near-Field Communication. 66
NFV Network Function Virtualization. 4–7, 11,
62–66, 68–72, 79, 83, 84
NFVI Network Function Virtualized Infrastruc-
ture. 69, 81
VI
List of Abbreviations
O
OF Objective Function. 10, 11, 15
ONOS Open Network Operating System. 68, 73
OpEx Operating Expense. 62
OS Operating System. 5, 12, 15, 17, 36, 63, 87
OSS Operations Support Systems. 70
P
PF Pareto Front. 14, 38
PHY Physical. 3, 15
Q
QoE Quality of Experience. 66
QoS Quality of Service. 2, 65, 66
R
RAM Random Access Memory. 12, 36
RDC Radio Duty Cycle. 3, 15, 85
RFID Radio-Frequency Identification. 66
ROLL Routing Over Low power and Lossy net-
works. 10
RPL IPv6 Routing Protocol for Low Power and
Lossy Networks. 5, 6, 10, 11, 15, 17, 63,
73–75, 79, 80, 84
S
SDN Software Defined Networking. 4–7, 11,
62–68, 70–75, 77, 79, 80, 83, 84
SDR Software Defined Radio. 14
SoC System on Chip. 15
SPEA2 Strength Pareto Evolutionary Algorithm-2.
33, 37, 38
SPI Serial Peripheral Interface. 12
T
TCP Transmission Control Protocol. 16, 17
TSCH Time Slotted Channel Hopping. 3–5, 7, 8,
12, 16, 18–20, 22, 23, 28, 30, 34, 42–44,
48, 50, 82–85
VII
List of Abbreviations
U
UDP User Datagram Protocol. 16, 17
V
VAM Vogel’s Approximation Method. 43, 57
VIM Virtualized Infrastrcuture Manager. 69
VM Virtual Machine. 69
VNF Virtual Network Function. 69–71, 81
W
WSN Wireless Sensor Network. 10, 13, 17, 63,
65, 66, 72, 85, 86
VIII
Contents
List of Abbreviations V
List of tables 1
1 Introduction 2
1.1 Key Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Thesis Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Background 7
2.1 TSCH in a Nutshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Optimization Techniques . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Auction Theory . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 RPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.3 NFV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.1 OpenMote-CC2538 . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.2 Tmote Sky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.3 Zolertia Z1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
IX
Contents
6 Conclusion 82
X
Contents
Bibliography 91
XI
List of Figures
2.1 Time Slotted Channel Hopping (TSCH) Slot-Channel matrix with a sim-
ple topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Flow Chart for our proposed GA-based algorithm . . . . . . . . . . . . 10
2.3 NFV architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 The OpenMote hardware ecosystem: (from left to right) OpenMote-
CC2538, OpenBattery and OpenBase . . . . . . . . . . . . . . . . . . 13
2.5 Network Stack of Contiki, OpenWSN Operating systems . . . . . . . . 16
3.1 TSCH Slot-Channel matrix where each nk maintains a link with the
gateway (GW ) for both frequency f and time slot t, where k ∈ {1, · · · , N };
f ∈ {1, · · · , F }, t ∈ {1, · · · , T } . . . . . . . . . . . . . . . . . . . . . 21
3.2 Auction theory based scheduler flow diagram . . . . . . . . . . . . . . 30
3.3 Average total throughput comparison of the proposed auction scheduling
algorithm vs the optimum results obtained through CPLEX simulations 35
3.4 Average total network throughput for the throughput maximization schedul-
ing problem by varying the number of antennas and frequencies . . . . 35
3.5 Execution Times of the Algorithm . . . . . . . . . . . . . . . . . . . . 37
3.6 Minimizing the violated deadlines . . . . . . . . . . . . . . . . . . . . 38
3.7 Average network throughput for the GA-based scheduling scheme with
N = 10, crossover = 0.9, mutation probability = 0.01 and varying the
population size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.8 Average network throughput for the GA-based scheduling scheme with
N = 10 while varying µm . . . . . . . . . . . . . . . . . . . . . . . . 40
3.9 Average network throughput for the GA-based scheduling scheme with
population size = 100, crossover = 0.9, mutation probability = 0.01 and
varying number of nodes . . . . . . . . . . . . . . . . . . . . . . . . . 41
XII
List of Figures
XIII
List of Tables
1
CHAPTER 1
Introduction
2
Application
Application
CoAP HTTP
UDP TCP
IPv6 RPL IPv6
6LoWPAN
IEEE802.15.4-2015 TSCH
IEEE802.15.4 (PHY)
industrial networks) and information technology (i.e. the Internet). Moreover, the prin-
ciples of IIoT give rise to the implementation of Industry 4.0, driven by the dramatic
altering of manufacturing, energy, transportation and other industrial and municipal
sectors, and where networks have been classified as one of the emerging key technolo-
gies [4, 5].
IIoT will revolutionize manufacturing and also drive growth in productivity across
various types of applications. A common requirement across various IIoT applications
is to deliver both low-power and wire-like reliability. This can be achieved through the
work of various standardization bodies, which have made so much effort in propos-
ing standards to support the development of IIoT and also address fast growing market
needs. One of the leading standard in the IIoT is IEEE 802.15.4, which defined the
Physical (PHY) and the Medium Access Control (MAC) layers for low-power, low rate
wireless personal area networks. Various industrial and automation technologies such
as ISA.100.11a [6], WirelessHART [7], that reside under the IIoT umbrella, have in-
corporated the IEEE 802.15.4 PHY layer components.
Reliability, scalability and unbounded latency are some of the limits of IEEE 802.15.4
MAC. The third version of the IEEE 802.15.4 standard, called IEEE 802.15.4-2015 [8],
addresses this limitation by improving the previous PHY and MAC layers. Among
the operating modes in this standard is the Time Slotted Channel Hopping (TSCH),
which aims at addressing the strict requirements in terms of timeliness and reliability
especially in the industrial domain and has been incorporated in the industrial tech-
nologies mentioned above. TSCH provides network robustness through spectral and
temporal redundancy, ensuring low power operation, and also mitigating the effects of
interference and multipath fading, while it increases the network throughput. This is
done by combining time synchronization and channel hopping capabilities. Previous
researches have shown that TSCH could achieve 99% end-to-end reliability with a Ra-
dio Duty Cycle (RDC) below 1% [9]. Motivated by the great potential of IIoT, both
Institute of Electrical and Electronics Engineers (IEEE) and Internet Engineering Task
Force (IETF) standardization bodies propose the architecture for the IIoT shown in Fig-
ure 1.1.
IEEE 802.15.4-2015 standard defines the mechanism of how TSCH executes a
schedule, however, it does not mandate a specific scheduling mechanism, which is open
to different implementations from the industry. The proper functioning of a TSCH
3
Chapter 1. Introduction
network depends on a schedule which can be typically created in various ways but
should be computed according to the specific requirements of the applications, such
as throughput, energy, reliability and latency. In this thesis, we present a scheduling
model for IIoT-TSCH networks. Our scheduling model consists of a set of schedulers
that is aimed at achieving data rate, time slot and frequency allocation in a hetero-
geneous multi-channel environment where nodes are equipped with multiple antennas.
Our scheduling model works in a centralized manner where the scheduler that resides at
the gateway makes frequency and time slot allocations to the nodes, avoiding collision
among them, and ensuring that communications between the nodes and the gateway are
maintained.
We present different scheduling models focusing on throughput maximizing, delay
minimization, energy efficiency maximization and providing throughput fairness. We
address the problems by providing optimal, sub-optimal yet heuristic algorithms. In
addition to the heuristic algorithms and simulation-based studies, we present a graph
theoretical approach and propose polynomial time graph algorithms.
Another critical aspect in the IoT is the diverse heterogeneous devices that rely on
sensory, communication, networking and information processing technologies required
to provide advanced services aimed to improve our quality of life. The complexity, pos-
sible limitations and heterogeneity of various IoT devices connected to the Internet will
require specific tools to manage them, and to improve the performance of the whole
network. Capability mismatch between devices can also be an issue when we have
large number of IoT devices deployed in an urban environment with different protocols
and designs. This will be more severe in real-time environments such as robot controls,
self-driving cars etc. where the need to exchange real-time information will also need
technologies to provide IoT applications in an efficient, scalable, seamless and cost-
effective manner. Unfortunately, traditional technologies are not capable of providing
such requirements in an efficient way [10].
Traditional architectures and network protocols for IoT devices are not designed
to support high level of scalability, high amount of traffic and mobility together with
the above-mentioned requirements. They are inefficient and have limitations to satisfy
these new requirements. According to GSMA Intelligence1 , it is forecasted that there
will be about 25 billion IoT devices by 2025, and managing these devices generating
an impressive amount of data as a whole, without having elasticity and flexibility in-
herently defined in the network would be difficult. If the networks are not prepared,
the flood of IoT where a lot of traffic are generated could leave the network paralyzed.
To achieve such goals, emerging technologies such as Software Defined Networking
(SDN) and Network Function Virtualization (NFV) are being considered as technol-
ogy enablers to provide adequate solutions. SDN and NFV are related and paired to
each other but they come from different standard organizations with no combined stan-
dardized architecture. This thesis presents a simple SDN-IoT architecture coupled with
NFV to address the challenges of IoT particularly in the issues of routing, scalability
and mobility. This is visualized to increase the efficiency and network agility of IoT
applications.
1 https://www.gsmaintelligence.com/
4
1.1. Key Contributions
5
Chapter 1. Introduction
6
CHAPTER 2
Background
This chapter introduces the background of the study and some important concepts that
will be used throughout the thesis. First, we present about TSCH background, and
describe some optimization techniques proposed for addressing this problem including
GA and Auction-based mechanism. We also present SDN and NFV paradigm that al-
lows a flexible network management for IoT devices. We introduce the open source
hardwares that are used for the performance evaluation and experimental results. Fi-
nally, we describe the software tools used to perform our experiments.
7
Chapter 2. Background
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Channel Offset
1 A>B A>B
4 B>C B>C
fications. In our work, all data transmissions are scheduled in dedicated time slots as it
introduces a more reliable link-layer communication. A slot frame can be represented
as a time-slot, channel-offset matrix as shown in Figure 2.1. Figure 2.1 illustrates a
typical TSCH slot frame - channel matrix for a simple network topology. In the figure
shown, we have a slot frame, which is 8 time slots long and there are 5 channel offsets.
Each node in the cell only cares about the cell it participates in. A link is a transac-
tion that occurs within a cell. The two nodes at either end of the link communicate
periodically once in every slot frame. TSCH does not impose a slot frame size and
this depends on the application needs. TSCH schedule determines the time slot and
frequency each node should transmit/receive data to/from its neighbours. An essential
benefit of TSCH over asynchronous solutions in terms of low power operation and link
stability has been demonstrated through experimental analysis in [12, 13].
8
2.2. Optimization Techniques
9
Chapter 2. Background
Start
Number of
iterations and Yes
termination
End
criteria
No
Mutate the
offspring
motivation for using the first-price sealed-bid auction mechanism is also highlighted in
Chapter 3.4.2.
2.3 Technologies
2.3.1 RPL
RPL is defined by the IETF Routing Over Low power and Lossy networks (ROLL)
working group [16, 17] to meet the unique requirements of routing in RPL. Low Lossy
Networks (LLN) is a routing protocol adapted for information routing with low power,
low memory and processing sensor devices in static topologies commonly found in
Wireless Sensor Networks (WSNs). It is a distance vector type routing protocol that
builds Directed Acyclic Graphs (DAGs) based on routing metrics and constraints. RPL
builds a Destination Oriented Directed Acyclic Graph (DODAG) to route traffic from
the client nodes to the sink (the root node) in a multi-point-to-point fashion. Further
options also allows point-to-multi-point traffic (from the central control point(s) to the
devices) as well as point-to-point traffic (from the root node to the designated device).
Building the DODAG requires the computation of an Objective Function (OF) - that
operates on a combination of metrics and constraints to compute the ‘best’ path.
RPL defines a rank, which is basically the node’s individual position with respect to
the DODAG root. The term 6LoWPAN Border Router (6LBR) is used interchangeably
with the term "DODAG root" defined in RFC6550 [16]. The OF defines how RPL nodes
10
2.3. Technologies
compute their rank values and select their parents. Basically, DODAG construction is
started by the 6LBR that sends DODAG Information Object (DIO) messages to its
neighbors to announce a minimum rank value. These messages are sent in broadcast
and periodically, with a frequency that depends on the network stability. Upon receiving
a DIO message, a RPL node computes its own rank by using a given OF, and selects
it preferred parent, which is used as the next hop on the upward route to the sink.
After joining a DODAG, an RPL node begins to transmit DIO messages to announce
its rank value and to continue the DODAG formation. An RPL node can use DODAG
Advertisement Object (DAO) to advertise one or more of its parents to other nodes. A
DODAG Information Solicitation (DIS) message can also be used to accelerate the join
process of a node during network formation or to recover from errors during regular
network operations.
2.3.2 SDN
SDN [18] is a networking paradigm that changes the limitations of current network
infrastructures. It decouples the forwarding plane (data plane) from the network’s con-
trol logic (control plane) traditionally coupled with one another. The control plane is
implemented in a logically centralized controller (or network operating system), simpli-
fying policy enforcement and network configuration and evolution [19], thus ensuring
network flexibility. SDN is a new approach for network programmability where the
network operator programs the controller to automatically manage data plane devices
and optimize network resource usage. This results in improved network performance in
terms of network management, control and data handling [20]. Network management
decisions such as routing can be done at the SDN controller and moreover, the pro-
grammability allows for any updates for new proposals or even clean state approaches.
This brings additional advantages by avoiding extra resources for routing decisions
since the controller make all the routing and policies decision. For example, in the
case of data congestion, the controller will make the decision to redirect the flow of
traffic and mandate the devices to update their flow accordingly. This feature of traffic
management is not possible with the traditional networking models as changes to the
routing paths cannot be implemented directly.
2.3.3 NFV
NFV [21] is a network architecture concept of replacing dedicated network appliances
such as switches, routers, firewalls, to name a few, with software running on commer-
cial off-the-shelf servers. This introduce an advantage in terms of energy savings, load
optimization and network scalability. Figure 2.3 shows a NFV architecture which may
consist of one or more virtual machines running different applications and processes in
network servers, switches, storage, or even cloud computing infrastructure, instead of
having custom hardware appliances for each network function. NFV can serve SDN
by virtualizing the SDN controller to be rendered in the cloud thus allowing dynamic
migration of the controllers to the optimal locations while SDN can serve NFV by pro-
viding programmable network connectivity between NFVs to achieve optimized traffic
engineering [22].
11
Chapter 2. Background
Hardware Resources
2.4 Hardware
2.4.1 OpenMote-CC2538
12
2.4. Hardware
Figure 2.4: The OpenMote hardware ecosystem: (from left to right) OpenMote-CC2538, OpenBattery
and OpenBase
2.4.3 Zolertia Z1
Zolertia Z1 is a low power WSN module compliant with IEEE 802.15.4 and ZigBee
protocols that serves to help WSN developers to test and deploy their own applications
and prototypes with the best trade-off between time of deployment and hardware flex-
ibility. Z1 [25] was designed having in mind two main features: maximum backwards
compatibility with the successful Tmote-like family motes while improving the per-
formance in several aspects and maximum flexibility and expandability with regards
to any combination of power-supplies, sensors and connectors. Its core architecture is
based upon the MSP430 + CC2420 family of micro-controllers and radio transceivers
by Texas Instruments, which makes it compatible with motes based on this same ar-
chitecture. The radio operates in the 2.4GHz band and is fully compliant with IPv6
over Low-Power Wireless Personal Area Networks (6LoWPAN) and IEEE 802.15.4
standard. It has an optional external antenna and micro-USB connector for power and
debugging. The Z1 is compatible with Tiny OS(2.X or higher), ContikiOS, OpenWSN.
13
Chapter 2. Background
Finally, the Zolertia Z1 mote is a power efficient WSN mote with a footprint less than
18.8mA. The main characteristics of the IoT devices described in this section are re-
ported in Table 2.1 and more details can be found in [26].
Radio
Mote Processing Clock On-board On-board
RAM Transceiver OS Support
Platform Unit speed Storage Sensors
OpenWSN,
temperature,
OpenMote- ContikiOS,
humidity,
CC2538 Cortex-M3 32MHz 32KB 512KB CC2538 Thingsquare,
light,
FreeRTOS,
accelerometer
RIOT
TI temperature, ContikiOS,
Tmote
MSP430F1611 8MHz 10KB 48KB CC2420 humidity, TinyOS,
Sky
light MantisOS
TI ContikiOS,
Zolertia accelerometer,
MSP430F2617 16MHz 8KB 92KB CC2420 TinyOS,
Z1 temperature
OpenWSN
2.5 Tools
In this section we briefly introduce all the software tools that we used to perform our
experiments.
jMetal
jMetal is a Java-based framework mainly focused on development, experimentation and
study of meta-heuristics for solving multi-objective optimization problems [27]. This
framework includes a number of classic and modern state-of-the-art optimizers and
genetic heuristic implementation, and it computes automatically all the Pareto Front
(PF) quality indicators.
ILOG-CPLEX
ILOG OPL-CPLEX Development System is a rapid development system for optimiza-
tion models adopting a high-level interface to embed models for solving Mixed Integer
Linear Programming (MILP) problems [28].
Red Pitaya
Red Pitaya STEMlab [29] is an open-source experimental and measurement platform
that has the advantages of ease of use, high performance-to-price ratio, and excellent
performance. It is designed for various instrumentation purposes including signal gen-
erator, oscilloscope, spectrum analyzer. It can be used as multifunction lab instrument,
a data acquisition platform, a Software Defined Radio (SDR) transceiver, also as a
teaching and learning tool. Device functionalities and data can be accessed through
MatLab, Labview, Scilab and python Application Programming Interface (API). The
14
2.6. Operating Systems
analog front-end of Red Pitaya STEMlab has a 2×125 MS/s fast analog output RF
channels and a 2×125 MS/s fast analog input RF channels, both with 50 MHz analog
bandwidth. The hardware of the Red Pitaya STEMlab consists of a Zynq 7010 System
on Chip (SoC) from Xilinx. The SoC integrates in a single device a dual core ARM
Cortex-A9 and an Artix-7 FPGA. Red Pitaya runs Linux, which provides, among other
features, different protocols for remote connection.
Contiki OS
Contiki OS is an open source, highly portable, multi-tasking OS for low-end IoT de-
vices. Contiki OS follows a monolithic kernel architecture, making all components of
the system to be developed together, thereby leading to a simpler and overall efficient
design. Contiki code is available under Berkeley Software Distribution (BSD) license
on GitHub2 and other platforms. In Contiki, processes run to completion, however,
event handlers can use internal mechanisms for preemption. Contiki maintains a queue
of pending events, and events are dispatched to target processes in a First in First out
(FIFO) manner. Contiki processes use lightweight protothreads [30] that provide a lin-
ear, thread-like programming style on top of the event-driven kernel. Contiki follows
a cooperative (non-preemptive) scheduling approach, where each thread is responsible
to yield itself, because no other task, and in some cases not even the kernel, is able to
interrupt a task. Contiki is written in the C programming language, and it is one of the
most used OSs for constrained nodes, where its network stack is shown in Figure 2.5a.
At the lower layer of the stack comprises of the PHY layer and the MAC layer. Tradi-
tionally, duty cycling mechanisms are built into the MAC layer of the OSs networking
stack. Contiki, however, employs duty cycling tactics in a separate level of the network-
ing stack known as the RDC layer. Currently, Contiki provides various RDC protocols
that follow the asynchronous paradigm, which relies heavily on low-power probing and
low-power listening (LPL) including ContikiMAC [31], X-MAC [32].
Contiki uses CSMA-CA mechanism that places outgoing packets on a queue. Pack-
ets from the queue are transmitted in order through the RDC layer. The RDC layer in
turn transmits the packets through the radio link layer, which are IEEE 802.15.4 compli-
ant. The MAC layer will retransmit packets until it sees a link layer acknowledgement
from the receiver. If a collision occurs, the MAC layer does a linear back-off and re-
transmits the packet. Outgoing Internet Protocol Version 6 (IPv6) packets flow from the
IPv6 layer to the 6LoWPAN layer for header compression and fragmentation and more-
over, the 6LoWPAN layer sends outgoing packets to the MAC layer. ContikiRPL [33]
implements the RPL protocol, as specified in version 18 of the IETF RPL draft [16].
The ContikiRPL implementation separates protocol logic, message construction and
parsing, and OF into different modules. Contiki uses Constrained Application Protocol
(CoAP), which enables interoperability at the application layer through RESTful Web
2 [Online]. Available: https://github.com/contiki-os/contiki.
15
Chapter 2. Background
services but with a lower cost in terms of bandwidth and implementation complexity
than HyperText Transfer Protocol (HTTP)-based REST interfaces. Unlike HTTP over
Transmission Control Protocol (TCP), CoAP uses User Datagram Protocol (UDP).
16
2.6. Operating Systems
Supported
Architecture Programming Programming License
OS MCU families Scheduling
Model language
or Vendors
AVR, MSP430,
Event-driven,
Contiki Monolithic ARM7, ARM C Cooperative BSD
Protothreads
Cortex-M
non-preemptive
OpenWSN MSP430, ARM
Monolithic Event-driven C scheduling with BSD
Cortex-M
priorities
and implementation. OpenWSN like most WSN OS utilizes the IETF 6LoWPAN for
header compression that allow IPv6 packets to be sent and received over IEEE 802.15.4
based networks. It is mandatory to use a protocol that will find the multi-hop path
connecting the nodes in the network with a small number of destination nodes, this
functionality is achieved with the use of IETF RPL [16] protocol. Finally, on the upper
layers we see both TCP and UDP with HTTP and CoAP respectively, with the CoAP
over UDP being the most used combination due to the constraint resources. The main
characteristics of the OSs described in this section are reported in Table 2.2.
17
CHAPTER 3
Throughput Maximizing Scheduler under
Interference Constraints
The key feature of TSCH networks is the scheduling of time slots and frequencies,
which falls outside of the current standards. The TSCH scheduling task is an NP-hard
problem [36]. Hence, most of the available scheduling algorithms use sub-optimal so-
lutions, aiming at providing specific performance guarantees such as throughput, delay,
fairness, just to mention a few.
In this chapter, we formulate the scheduling problem as throughput maximization
and delay minimization. The throughput maximization problem is identified as combi-
natorial optimization problem and NP-hard. For solving the throughput maximization
scheduling problem, we propose a polynomial time algorithm by adopting a graph the-
oretical approach, which introduce a tractable equivalent integer linear programming
formulation. We examine and deliberate on some instances of the throughput maxi-
mization scheduling problem with their combinatorial properties. We also introduce
a novel auction-based heuristic algorithm to solve for the throughput maximization
scheduling problem. A first-price sealed bid auction was used as the auction mecha-
nism, where frequencies and time slots are considered as the auctioned resources and
nodes as the bidders. Moreover, time complexity analysis of the algorithm is also pro-
vided.
We made modifications to the throughput maximization problem by introducing
deadline constraints. We address this problem by introducing a GA-based sub-optimal
scheduler that yields a very close performance to the optimal scheduler. Finally, we
evaluate all the algorithms performance through simulations. For the delay minimiza-
tion problem, this is said to be a non-linear binary integer programming problem known
to be NP-hard and can be solved using Branch-and bound algorithms.
The rest of this chapter is organized as follows. Section 3.1 presents the related
18
3.1. Related Works
works and the system model is presented in Section 3.2. Next, we introduce the prob-
lem formulation in Section 3.3. Section 3.4 presents the approaches and algorithms to
address the throughput maximization problem. Section 3.5 provides the performance
evaluation of the proposed schedulers with discussion and possible enhancements and
finally Section 3.6 concludes the chapter with a summary.
19
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
20
3.2. System Model and Assumptions
GW
ࡺ
ࢁࡺǡࡲǡࢀ
1 2 3 4 5 6 7 ڮ T
1
2
3
ڮ
F
Cycle
Figure 3.1: TSCH Slot-Channel matrix where each nk maintains a link with the gateway (GW ) for
both frequency f and time slot t, where k ∈ {1, · · · , N }; f ∈ {1, · · · , F }, t ∈ {1, · · · , T }
where B is the channel bandwidth. Consequently, we can calculate the throughput that
will be obtained if nk transmits at lk,f,t .
where T is the slot frame duration. Note that nk can not transmit more than the number
of packets in its buffer; Accordingly;
21
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
Interference and spectrum availabilities are constrained in the derivation of the formula
for Uk,f,t . For instance, if a node k is very close to a node i that uses frequency f in
time slot t, then node k cannot use frequency f in the same time slot, i.e., Uk,f,t = 0.
Uk,f,t value quantifies the slot availabilities (i.e., the higher the Uk,f,t value is, the higher
the data rate node k can have if it uses frequency f in time slot t). Uk,f,t values are in-
put variables for the optimization problem in this paper. In the following, Uk,f is used
instead of Uk,f,t because we assume that all parameters are to remain constant for each
time-slot t of the slot frame period. The slot frame period is a time duration in which
the network conditions remain fairly stable. For instance, in voice applications, the
value of T tends to be fairly large.
N
X
Xk,f,t ≤ 1 ∀k ∈ N ; ∀t ∈ T (3.8)
k=1
22
3.3. Problem Formulation
X
Xk,f,t ≤ ak ∀k ∈ N ; ∀t ∈ T (3.9)
f
s.t
N X
X F X
T
Uk,f Xk,f,t > 0; (3.12)
k=1 f =1 t=1
23
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
packets in the schedule. It minimizes the scheduling delay in terms of time slots per
packet. The constraint in Equation (3.12) is necessary to avoid the situation that the
scheduler always selects the frequencies with which the nodes can send at most zero
packets for the sake of reducing the average delay. Without (3.12), the scheduler can
arrive at the irrational decision of having none of the nodes being able to transmit
any packets, which would result in zero throughput. This constraint can be modified as
F P
P T
follows Uk,f Xk,f,t > Γ, where Γ is the required minimum total throughput value.
f =1 t=1
Branch and bound algorithms are usually used to solve this kind of problems [56].
Preliminaries
A polynomial time algorithm can be solved if the appropriate number of steps to com-
plete the algorithm for a given input is O(ml ) for some non-negative integer l, where
m is the complexity of the input. This denote that the running time grows as a polyno-
mial function of the size of the input. Unless P = N P , there is no polynomial time
algorithm for a given input size that finds an optimal solution for all instances of an
NP-hard problem. A reasonable approach can be done by relaxing the requirements of
finding the optimal solution and try to obtain a "good" solution that can be performed
in polynomial time.
Let ∆ be a maximization problem formulation and let γ be a positive real num-
ber, γ ≥ 1. A feasible solution s of an instance I of ∆ is a γ factor approximation
∗ O∗ (I)
if O∆ (I, s) is at least a factor γ of O∆ (I) of I, i.e., O∆ (s) ≥ ∆γ , where O∆ (I, s)
∗
denotes the objective function value of solution s of instance I and O∆ denotes the
objective function value of an optimal solution of instance I. An algorithm is said to
be a γ-approximation algorithm for a maximization problem ∆ if the algorithm returns
a γ-approximation for every instance I supplied to it. A problem ∆ is said to be γ-
approximable if there is a polynomial-time γ-approximation algorithm for it. ∆ is said
to be γ-inapproximable if there is no polynomial-time γ-approximation algorithm for
it unless P = N P [57].
The essential concept is to reduce the variables of the problem such that it will be
computationally more efficient and easy to solve. On this basis, an equivalent sim-
pler problem formulation is proposed, which will be demonstrated as follows. Assume
∆ and ∆0 are two optimization problems such that the instances of one problem can
be mapped onto instances of the other such that nearly optimal solution of ∆0 can be
transformed back to yield nearly optimal solution of ∆. If there is an approximation
algorithm for ∆0 and an adequate approximation-preserving reduction from problem ∆
to problem ∆0 , by composition, an approximation algorithm for ∆ also exists.
24
3.4. Throughput Maximizing Scheduling Algorithms
Lemma 1. With the preliminaries explained, let ∆ be the optimization problem involv-
T
P
ing only Xk,f,t variables in the form of Xk,f,t in its objective function O∆ . We denote
t=1
∆0 to be the optimization problem obtained from ∆ by substituting
T
X
Yk,f = Xk,f,t ∀k ∈ N ; ∀f ∈ F (3.14)
t=1
F
X
Yk,f ≤ ak T ; ∀k ∈ N (3.16)
f =1
25
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
with the use of some optimization and modelling software such as ILOG-CPLEX [28]
to find nearly optimal solutions. To describe the polynomial time algorithm, we begin
by providing some preliminaries concerning matchings as defined in [58].
Consider a graph G = (V, E) with a weight function w, where w: E → R is a
weight (or cost) function defined on its edges, and also denoting H to be a function of
natural numbers with each vertex in V . Let δG (v) be the set of incident edges of v in
G, i.e., δG (v) = {e ∈ E|v ∈ e}, and dG (v) = |δG (v)| denotes the degree of vertex v,
Pto v in graph G. Given a function h: E → N,
which is equal to the number of incident
a H-matching is such that for v ∈ V, h(e) is in the interval of H(v).
e∈δG (v)
If H(v) = {0, 1} for each vertex v, then a H-matching is in fact a matching, i.e., a
set of vertex-disjoint edges. A perfect matching is a H-matching such that
PH(v) = 1
for each v ∈ V . A maximum H-matching is a H-matching h such that h(e)w(e)
e∈E
is maximized. A polynomial time solution exists for a maximum H-matching [59]. A
sub-graph B of G is equivalent to H-matching h such that, the multiplicity of the edges
of G in B is given by the function h. In the rest of the paper, B will also be called a
H-matching.
A bipartite graph is a set of graph vertices that can be separated into two disjoint
and independent sets such that no two graph vertices within the same sets are adjacent.
A matching is a set of mutually disjoint edges, in other words, no two edges share a
vertex in common. A perfect matching is a matching in which every vertex in the graph
is matched, and a maximum matching is a matching that contains as many edges as
possible. PWe denote G = (U, V, E) to be an edge weighted bipartite graph, and with
d(u) = h(e)w(e), ∀u ∈ U . A maximum weighted matching B of G is to find a
e∈δG (u)
matching with the maximum total weight.
In the sequel, we build a bipartite graph G = (U, V, E) from vector Y such that
U = {u1 , u2 , ..., uN }, V = {v1 , v2 , ...vF } and E = {(u, v)|u ∈ U, v ∈ V } are the
edges of G. In our case, we have Yk,f parallel edges associating uk ∈ U and vf ∈ V .
The degree of vertex vf ∈ V is at most T by constraint in Equation (3.15), and the
degree of vertex uk ∈ U is at most ak T by constraint in Equation (3.16). Introducing
another bipartite graph G0 = (U 0 , V 0 , E 0 ) obtained from G by substituting each vertex
uk ∈ U with ak vertices in U 0 and dividing the at most ak T edges adjacent to uk to
these new vertices such that each vertex receives at most T edges. This ensures that the
degree of each vertex G0 is at most T . In addition, each vertex vf ∈ V is the same in V 0 .
To ensure perfect matching, we introduce another bipartite graph G∗ = (U ∗ , V ∗ , E ∗ )
obtained from G0 by adding ||U 0 | − |V 0 || dummy vertices to either U 0 or V 0 such that
|U ∗ | = |V ∗ |, and also adding dummy edges as long as we have vertices within the graph
with a degree less than T . Such graph using Hungarian Algorithm [60] can be found in
polynomial time as demonstrated by Tutte [61]. If we remove the perfect matching from
G∗ , we remain with a (T − 1) regular bipartite graph. Applying this inductively, G∗ is
partitioned into T perfect matchings B1∗ , B2∗ , ..., BT∗ . Moreover, we obtain T matchings
B10 , B20 , ..., BT0 of G0 by removing all the dummy vertices and edges of G∗ from the
perfect matchings. In each matching Bt0 , where t ∈ T , ak vertices of U 0 is contracted
back to the node uk for every k ∈ N to get T bipartite graphs B1 , B2 , ..., BT , where
each vertex uk ∈ U has degree at most ak and each node vf ∈ V has degree at most 1.
26
3.4. Throughput Maximizing Scheduling Algorithms
Instance 1: If constraint in Equation (3.19) is ignored and also assuming that the num-
ber of antennas for a node k is one i.e., ak = 1 ∀k ∈ N , then a solution exists to
the maximum weighted bipartite matching (MWBM) problem between the nodes (∀k
∈ N ) and the frequencies (∀f ∈ F). The matching result can be applied to every time
slot ∀t ∈ T . Once the mapping process is done, there exist many graphical methods for
solving the MWBM problem. Hungarian Algorithm [60] is often used because of its
simplicity, its computational complexity limited to O(n3 ) and its ability to strike good
balance between performance and computational complexity.
27
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
problem formulation, then an optimal solution is obtained when a node with maximum
Uk,f is allocated a frequency f in every time slot t ∈ T , breaking ties arbitrarily. Specif-
ically, Xk,f,t = 1 when k = argmaxk Uk,f , and 0 otherwise, ∀t ∈ T , ∀f ∈ F. Ignoring
constraint in Equation (3.16) corresponds to having ak ≥ F , ∀k ∈ N .
Instance 3: This problem is a variant of the knapsack problem where the frequencies
correspond to the items and the nodes correspond to the knapsacks each with capacity
ak . In particular, the problem in Equation (3.18) - Equation (3.20) is a variant of the
multiple knapsack problem where the items profits (Uk,f ) vary with knapsacks and all
item sizes are identical, which can be applied in every time slot ∀t ∈ T . A general
F
P
case of Equation (3.16) would be wk,f Yk,f ≤ ak where wk,f values correspond to
f =1
the weights of the items. The constraint in Equation (3.16) is a special case where
wk,f = 1 ∀k ∈ N , ∀f ∈ F. A polynomial time algorithm for a knapsack algorithm
has been demonstrated and solved in [62] with varying item profits and the sizes are
identical.
28
3.4. Throughput Maximizing Scheduling Algorithms
Computational Complexity
In this section, we compute the computational complexity of our algorithm. At the end
of step 1, assigning a F T RP to each node has a complexity of O(N F ) because for each
frequency, we determine the maximum number of packets Uk,f . This is the best case
scenario, when every node is assigned at least one frequency. In the worst case scenario,
i.e., when all the frequencies are assigned to only one node (which in practice is very
unlikely), we need to take into account the additional complexity of steps 2–6. In step
2, the frequencies are sorted out and will require O(F log F ) in terms of its complexity.
Since we have N − 1 starving nodes to bid for the frequencies, it will require O((N −
1) log (N − 1)) time to sort out their bids according to N − 1 starving node. Therefore
the total computational complexity of the algorithm is O(N F ) + O(F log F ) + (N −
1) × O((N − 1) log (N − 1)), that simplifies to O((N F ) + N 2 log(N )).
29
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
Yes
Do we
Is Yes have a
No ݎ ܽ ǫ starving
node?
Yes
(i) Any ݊ that is assigned more than one frequency
auctions ݎ െ ͳ number of its frequencies which
(i) Any ݊ whose ݎ ܽ auctions all time slots of ݎ െ ܽ of
have the smallest ܷǡ until no starving node
its frequencies which have the smallest ܷǡ values No
remains or the auctioned ܴܲܶܨruns out.
(ii) Starving node bids to the FTRP whose corresponding ܷǡ
(ii) When all nodes have at most a single frequency, if
any starving node exists they auction out their value is the greatest one among all corresponding ݏܴܲܶܨ
remaining frequencies. (iii) A starving node is removed from the auction procedure
after it is assigned a ܴܲܶܨ The ݏܴܲܶܨwhich belong to the
(iv) It continues until all the starving node gets a ܴܲܶܨor remaining ݎ െ ܽ frequencies are
when no ܴܲܶܨremains assigned greedily to the nodes who
have available transceivers
Stop
to maximize the system throughput before the energy is depleted for further transmis-
sions.
The problem formulation is identified as a combinatorial optimization problem and
NP-hard. In view of this, we address this issue of complexity and propose a GA-based
sub-optimal scheduler that yields a very close performance to the optimal scheduler.
To the best of our knowledge, the use of GAs for scheduling in TSCH networks has
not previously explored. In the sequel, we introduce the problem formulation for the
throughput maximizing scheduler with deadline constraints which is illustrated as fol-
lows.
N X
X F X
T
30
3.4. Throughput Maximizing Scheduling Algorithms
In our work, we assume that each packet has a deadline of one time slot. Most work
focused on dropping a packet from the system if it is not delivered within the estimated
deadline. Conversely, our aim is not to drop the unacknowledged packet that is not
delivered within the estimated deadline, but to minimize the number and the entity of
the delay. Moreover, in real-time applications, data arrive at the node’s buffer on a
frame-by-frame structure. This means that multiple packets (constituting to the same
frame) arrive simultaneously rather than one at a time. A slot frame consists of a fixed
number of packets, and each packet fits into exactly one time slot of duration t (both
transmission and acknowledgment).
Each slot frame has its own deadline, and therefore, packets belonging to the same
frame have the same deadline [63]. This deadline represents the maximum number of
time slots by which packets belonging to the same slot frame need to be transmitted,
on average. P3.4 can be thought of a special case, where the deadline was equal to one
time slot, and each slot frame consists of packets.
Proposed GA Scheduler
Our motivation for using GAs in designing sub-optimal schedulers for the throughput
scheduling problem is manifold. First, GAs are suitable for problems with large search
spaces. They are equipped with many tools to reduce computational complexity and
also to produce a diverse set of solutions. This is possible because they can quickly
focus in a specific area and diversify search to develop wide range of solutions to ad-
dress unknown environments. Considering that the solution space in the throughput
scheduling problem is huge (even for 5 nodes, 5 frequencies, and 5 time slots, the size
of the solution space for the throughput optimal scheduler is 2125 ). Secondly, the binary
decision variables Xk,f,t can be easily encoded to a binary string, and therefore, GAs
can be suitably applied.
Encoding
The feasibility of using genetic algorithm is problem dependent. Its success strongly
depends on whether the right encoding scheme can be adopted or not. We detail all the
adopted symbols in Table 3.1 below. We associate with each source node three integer
values: a unique identifier (n), the number of packets that should be transmitted (t), and
the deadline (δ) as described in Equation (3.24).
In our work, we encode the solutions as an integer vector having length equal to M .
We represent our solution in Equation (3.25) and Equation (3.26), and we detail the
encoding scheme in Equation (3.27).
N
X
M= ti ∀i = 1, 2, . . . .., N. (3.25)
i=1
31
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
Symbol Description
S a generic solution
si the k-th element of the solution
N the number of source devices
M the total number of slots that should be transmitted
S ∈ NM = {s1 , s2 , . . . , sm }, (3.26)
si ∈ {1, 2, . . . , N } ∀i ∈ {1, 2, . . . , M }. (3.27)
Solutions must guarantee to each source node the transmission of all the required time
slots in order to be feasible.
0 if W1 + W2 > 0;
F Ta = N P
F P
T
P (3.28)
Uk,f Xk,f,t otherwise;
k=1 f =1 t=1
0 if W1 + W2 = 0;
F Tb =
1 (3.29)
otherwise;
W1 + W2
32
3.4. Throughput Maximizing Scheduling Algorithms
where
1 if δ > rij
Wij (δ, r) = (3.31)
0 otherwise
and ri is the allocation vector of each time slot of the i-th mote. If we are not able to
obtain the best schedule, we always prefer small time violations of each deadline.
Operator
The mutation operator alters a single solution and generates a new one; this operator is
used to re-introduce genes that are lost during the recombination phase with a certain
mutation probability; the aim of this operator is to avoid establishing a uniform popu-
lation unable to evolve. In our case, we randomly permutate the solution. Moreover,
since our goal is to find the best ordering, we rely on the PMX Crossover that performs
some permutations among the two parents.
Search Strategy
MOCell The Multi-Objective Cellular Genetic Algorithm (MOCell) [67] uses a decen-
tralized population structure called cellular whereby individuals are isolated by distance
and only solutions in neighbouring cells are allowed to interact, which prevents good
solutions from spreading quickly and hence maintains solution diversity.
SPEA2 Approach Strength Pareto Evolutionary Algorithm-2 (SPEA2) [68] uses an archive
to store non-dominated solutions. SPEA2 maintains an external set of individuals that
take into account the number of solutions for each solution it dominates and the num-
ber of solutions by which it is dominated. Individuals in population and external set are
evaluated interdependently.
33
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
In this section, we introduce another scheduler called round robin scheduler. The round
robin scheduler considers all the source nodes and allocates a one time slot to each node
in a slot frame without keeping track of the channel gains until all the transmissions are
performed. More into the details, the scheduler allocates the first n − 1 time slots to
source nodes s1 , s2 , ..., sn−1 , then it performs another round allocating slots to source
nodes having a second packet to transmit. The total number of rounds is equal to the
maximum number of packets that should be transmitted among all the source nodes,
and the procedure ends when all the packets are scheduled.
On the other hand, the random scheduler which is based on the round robin paradigm
allocates all the time slots randomly and it does not follow a precise strategy. Also in
this case, the random scheduler assigns time slots only to source nodes that should
transmit at least one packet; source nodes that have already transmitted all their packets
are not taken into account.
Parameters Value
Radio band 2.4GHz
Bit Rate 250kbps
Deployment area square, 100m × 100m
Channel Bandwidth 2MHz
Channel numbers 11-26
Slotframe duration 720ms
Deadline δk
Transmitted power Ptx
the optimal result obtained through ILOG-CPLEX. Figure 3.3 highlights how the av-
erage network throughput is affected by varying the number of nodes and frequencies.
In Figure 3.3, we present the resulting total throughput values for F = 3, F = 9 and
F = 16, where the number of frequencies used in the ILOG-CPLEX simulations is in-
34
3.5. Performance Evaluation
100
90
Fauc =3
Total Throughput (Packets/time-slot)
Fopt =3
80
Fauc =9
Fopt =9
70 Fauc =16
Fopt=16
60
50
40
30
20
2 4 6 8 10 12 14 16
Nodes
Figure 3.3: Average total throughput comparison of the proposed auction scheduling algorithm vs the
optimum results obtained through CPLEX simulations
100
90
Total Throughput (Packets/time-slot)
80
70
a=1 antenna
60 a=2 antenna
a=3 antenna
50
40
30
20
10
2 4 6 8 10 12 14 16
Number of frequencies (F)
Figure 3.4: Average total network throughput for the throughput maximization scheduling problem by
varying the number of antennas and frequencies
35
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
dicated as Fopt , and Fauc is indicated as the number of frequencies used in our proposed
auction based heuristic algorithm. We notice that the performance of our heuristic is
very close to the optimum in all cases. Moreover, we observe from the same figure that
the average network throughput is almost invariant for varying the number of nodes
when we have small number of frequencies in the system (i.e. F = 3) in both cases.
This is due to the fact that the number of frequencies present for the nodes is small,
which makes no much difference increasing the number of nodes in the system, reason
being that almost all the resources are already occupied when the number of nodes is
small. As the number of frequencies increases, the average network throughput grows
with the number of nodes. This behaviour does not change up to a threshold where net-
work throughput saturates. Moreover, the auction algorithm tends to exhibit its worst
case behaviour when the nodes generally bid to the same auctioned frequencies and
thus the total number of auction procedures increases. In spite of that, since the worst
case computational complexity is O((N F ) + N 2 log(N )) (proved in Section 3.4.2), our
algorithm has a reasonable running time even when the situation of having akin Uk,f
values occurs.
We also point out in Figure 3.4 how the number of frequencies and antennas af-
fects the performance of the throughput maximization scheduler. We can observe that
it is reasonable to increase each node antenna in the network provided there is a definite
number of frequencies in the network. For example, having ak = 1 has the same perfor-
mance as ak > 1 when the number of frequencies is small (when F < 8). On the other
hand, there is a significant difference in the throughput with an increase in the number
of antennas from 1 to 2 if number of frequencies are between 8 and 16. The reason
for this behaviour is highlighted by constraint in Equation (3.7), where each node is
assigned at least one F T RP . To be compliant with this constraint, some frequencies
are allocated to the first antenna of each node by the scheduler, and the scheduler con-
tinues to allocate frequencies to other antennas. For instance, in Figure 3.4, we assume
that N = 8, and until a certain point when N = F , frequencies are allocated to the
first antennas of each node by the scheduler. A corresponding effect occurs on the total
throughput between the increase in the number of antennas and also the increase in the
number of nodes. Moreover, from when N = F to F = 2N , the second antenna of
each node is assigned a frequency by the scheduler.
We also implemented the GA-sub-optimal schedulers with jmetal framework, where
the original parameters proposed for the GA are shown in Table 3.3. We used the orig-
inal parameters proposed for NSGA-II as indicated in [64]. The genetic algorithms
parameters are selected with respect to The chromosome size is equal to N × F × T
and we implemented the classical crossover and mutation operators, where various ex-
periments were performed. The platform used to execute these experiments was an i7
CPU 860@2.80GHz x 8 equipped with 12GB RAM running Ubuntu OS 16.04 LTS.
One of the objective is to minimize the violated deadlines, so we propose GA-
based algorithms to solve for the objective function. At first, we compare the execution
times of the search heuristic indicated in Section 3.4.3. We use the genetic algorithm
parameters indicated in Table 3.3. As shown in Figure 3.5, GAs solves the allocated
problem faster than CPLEX. NSGA-III performs better compare to others in terms of
the execution time. It performs faster because it focuses on multiple predefined refer-
ence points rather than multiple search directions as seen in other GAs. Each reference
36
3.5. Performance Evaluation
Parameter Value
Population size 100
Evaluations number 100
Crossover operator one point
Crossover probability 0.9
Mutation operator Random mutation
1
Mutation probability
task number
2200
2000
1800 NSGAII
MOCell
1600 NSGAIII
Execution times [ms]
SPEA2
1400 CPLEX
1200
1000
800
600
400
200
10 20 30 40 50 60 70 80 90 100
Nodes
Table 3.4: Average Execution times in ms of the various Genetic Algorithm Search Strategies
37
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
6000
CPLEX
GA
5000 RoundRobin
Random
4000
3000
f
2000
1000
0
10 20 30 40 50 60 70 80 90 100
Nodes
point can be emphasized to find the set of pareto-optimal points. The worst among the
GAs is SPEA2 because it has a complexity of O(L log L), where L is related to the
population size and the PF instance. Table 3.4 gives a detailed values for the execution
times of the search heuristics.
In Figure 3.6, with the parameter settings in Table 3.3, we compare the result of GA
with CPLEX, round robin scheduler and random scheduler with respect to the objective
of minimizing the violated deadlines. We implemented the GA using various search
strategies indicated in Section 3.4.3, but since we are considering a mono-objective
function, they both have the same result. We indicate the search heuristics as GA. As
shown in Figure 3.6, we can see that GA outperforms both round robin and random
schedulers, and at the same time yielding very close result to the optimal solution.
Moreover, we consider 10 nodes with mutation rate = 0.01, and a crossover to be
0.9. Figure 3.7 presents the average throughput optimal as well as the throughput max-
imizing GA-based scheduling scheme with the parameters in Table 3.3 while varying
the population size. It can be shown that increasing the population size increases the
throughput, however, the computational cost of a single iteration increases since more
chromosomes have to be processed at each iteration. In addition, the performance im-
provement decreases as the population size increases. The results indicate that setting
the population size to 100 is a sensible choice in terms of both criteria. Furthermore,
the GA-based approach outperforms the round robin scheduler while at the same time
yielding a close performance to the throughput optimal.
Figure 3.8 shows the average throughput for the throughput optimal as well as the
throughput maximizing GA-based scheduling scheme with N = 10, crossover to be
0.9 and population size = 100, while varying the mutation probability. The result shows
that the average throughput increases as µm increases, nevertheless, at some point, the
38
3.5. Performance Evaluation
90
Throughput-Optimal
80 GA
Throughput (packet/time-slot)
Round Robin
70
60
50
40
30
20
10 20 30 40 50 60 70 80 90 100
population size
Figure 3.7: Average network throughput for the GA-based scheduling scheme with N = 10, crossover
= 0.9, mutation probability = 0.01 and varying the population size
throughput starts to decrease. Setting µm to a high value can result in having the solu-
tion space getting further away from the good solution area while trying to get out of
the local optimum. In Table 3.5, setting µm = 0.01 shows the throughput scheduling
performance of the GA-based scheme yield a close performance to the throughput op-
timal as compared to other mutation rates.
Figure 3.9 presents the average network throughput performance for the through-
put optimal, the auction-based, Round Robin and the GA-based sub-optimal scheduler
with population size of 100, mutation rate of 0.01 and crossover to be 0.9, varying the
number of nodes. For all the schemes mentioned above, the GA-based sub-optimal
scheduler outperforms the round robin scheduler in terms of throughput with several
orders of magnitude, while at the same time yielding a very close performance to the
throughput optimal scheduler. The throughput increases as the number of nodes in-
Table 3.5: Average Throughput for GA-based scheduling scheme with N = 10, population size = 100,
crossover = 0.9 and varying the mutation probability
39
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints
90
Throughput-Optimal
Throughput (packet/time-slot)
GA
80 Round Robin
70
60
50
40
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
mutation probability
Figure 3.8: Average network throughput for the GA-based scheduling scheme with N = 10 while
varying µm
Table 3.6: Parameters settings for the GA scheduler with varying number of nodes
N 5 10 15 20
Population size 100 100 100 100
µm 0.01 0.01 0.01 0.01
Crossover probability 0.9 0.9 0.9 0.9
Average Throughput 87.92 88.69 88.34 87.22
Throughput Optimal 91.67 91.72 91.69 91.65
Round Robin 65.71 65.55 64.31 63.91
creases. In terms of complexity, its complexity is based on its search heuristics, thereby
alleviating the computational complexity drawback of the optimal scheduler. In addi-
tion, the parameters such as the population size, the mutation probability influence the
performance depending on the number of nodes. Table 3.6 outlined the values of these
parameters that we found to yield near optimal results for varying the number of nodes.
40
3.6. Chapter Summary
Throughput-Optimal
auction-based
80 GA
Round robin
70
60
50
40
2 4 6 8 10 12 14 16
Nodes
Figure 3.9: Average network throughput for the GA-based scheduling scheme with population size =
100, crossover = 0.9, mutation probability = 0.01 and varying number of nodes
also discuss on some of its special cases. We also propose an auction-based heuristic
sub-optimal scheduler based on first-price sealed-bid to address the complexity of the
problem. Moreover, the sub-optimal scheduler yields a very close performance to the
optimal scheduler with a lower complexity.
In addition, we modified the throughput maximizing scheduling problem by intro-
ducing deadline constraints. Reasons for introducing deadline constraints were given,
and we addressed the problem by proposing a GA sub-optimal scheduler to maximize
the throughput and as well as to minimize the violated deadlines. Execution times of
the various GA search heuristics were demonstrated, and it was indicated that NSGA-
III performs better than other search heuristics and CPLEX as well. The GA also
achieve very close performance to the optimal scheduler while at the same time op-
erating with much lower complexity. Moreover, GA-based scheduler present a very
reasonable trade-off between computational complexity and performance.
41
CHAPTER 4
Throughput Fair Scheduling and Energy Efficient
Centralized Scheduling Algorithms
42
4.1. Related Works
43
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
where Mωk is expressed as the average throughput of node k accumulated in the last
ω slot frame periods and is expressed as packets per time slot. The values of Mωk are
F P
P T
initialized to zero. Uk,f Xk,f,t indicates the throughput of node k in the current
f =1 t=1
k
slot frame period with ω1 as the weight given to it. Mωk is updated as Mωk ← M ω at the
end of each slot frame period.
Given the values of F , N , T , ak , ω, Mωk and Uk,f , the max-min fair scheduling
44
4.2. Max-Min Fairness Scheduler
45
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
A fairness measure is essential to assess the degree of fairness. Jain’s index is pre-
dominantly used as a fairness measure [78]. It is defined as
N
P 2
Γk
k=1
J(T ) = N
(4.11)
Γ2k
P
N×
k=1
46
4.2. Max-Min Fairness Scheduler
=5
25
Throughput-maximum
MFS
20
Average Throughput (Packets/time-slot)
15
10
0
1 2 3 4 5
node ID
=5
100 Throughput-maximum
MFS
90
Average total throughput (Packets/time-slot)
80
70
60
50
40
30
20
10
0
0.5 1 1.5 2 2.5
47
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
100
80 Throughput-maximum
MFS
70
60
50
40
30
20
10
0
0 5 10 15 20 25 30 35 40
where Γk denotes the throughput of node k, and N denotes the total number of nodes.
Jain’s index approaches one when the throughput values of the nodes move closer to
each other. Jain’s fairness index ranges from N1 (only one node is served) to 1 (all
nodes are served) [78]. Figure 4.3 and Figure 4.4 illustrates the average total through-
put values and the average Jain’s fairness index values respectively varying ω for both
throughput maximizing scheduler and MFS. When determining the average Jain’s in-
dex values, the mean is measured and put into consideration after every slot frame
period is taken into account. The performance of the throughput maximizing scheduler
in respect to the average total throughput values and the average Jain’s fairness index is
invariant since ω is not a parameter of the formulated scheduling problem. Jain’s index
and the total throughput performances of MFS are almost invariant of ω.
In Figure 4.5 and Figure 4.6, we present the average total throughput and average
Jain’s Index values for the MFS and throughput maximizing scheduler using ω = 5
while varying the number of nodes. The number of frequencies and the number of an-
tennas are set to be F = 15 and ak = 2 respectively. It is apparent that the average
total throughput for both schedulers is almost invariant when increasing the number of
nodes. In the case of the average Jain’s fairness, the throughput maximizing scheduler
decreases while increasing the number of nodes, while the average Jain’s fairness is
invariant for MFS when the number of nodes is increased. In most cases, throughput
maximizing scheduler allocates frequencies and time slots to the node that has the best
channel conditions. As the number of nodes in the IIoT-TSCH cell increases, the prob-
ability to have a node with a better condition also increases. This multi-node diversity
of the throughput maximizing scheduler increases the differences between the through-
put values of the nodes. Moreover, as the number of nodes increases, the Jain’s fairness
index decreases based on the differences between the node’s throughput values. MFS
exhibits low total throughput and high Jain’s fairness index since its goal is to ensure
48
4.2. Max-Min Fairness Scheduler
1
Throughput-maximum
0.95 MFS
0.9
Average Jain Fairness Index
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
0 5 10 15 20 25 30 35 40
100
90
Average total throughput (Packets/time-slot)
80
Throughput-Maximum
MFS
70
60
50
40
30
20
10
0
4 6 8 10 12 14 16
Number of nodes
Figure 4.5: Average total throughput for varying the number of nodes
49
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
Throughput-Maximum
0.8
0.7
0.6
0.5
0.4
0.3
0.2
4 6 8 10 12 14 16
Number of nodes
Figure 4.6: Average Jain’s Fairness Index for varying the number of nodes
Xk,f,t standing for the binary decision variable that represents the allocation state of
nk at frequency f in time slot t, i.e. Xk,f,t = 1 if f is assigned to nk in time slot t,
and Xk,f,t = 0 otherwise. Uk,f is used instead of Uk,f,t because we assume that all
parameters are to remain constant for each time-slot t of the slot frame period. The slot
frame period is a time duration in which the network conditions remain fairly stable.
For instance, in voice applications, the value of T tends to be fairly large.
50
4.3. Energy Efficient Modeling
19
MFS
17
16
15
14
13
12
4 6 8 10 12 14 16
Number of nodes
Figure 4.7: Average minimum throughput for HMFS while varying the number of nodes
51
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
Length of timeslot
AGT
TsTxOffset
TsRxAckDelay
Start End
of of
timeslot timeslot
= transmitter on
= receiver on
Figure 4.8: Time slot template for a transmitter (top) and the receiver node (bottom)
We denote Ptx as the transmission power which is said to be constant. In the transmis-
sion mode, we sent out a packet and we expect to receive back an acknowledgement.
In this case, the energy consumed by the transmitter to transmit one packet, and receive
the corresponding feedback is given by:
where Ptx is the power required to transmit a packet; tp is the time required to transmit
a packet which is equal to T sT xP acket; Prx is the power for receiving a packet; ta is
the time required to receive an acknowledgement equal to T sRxAck. Moreover, tp =
Lp La
Rr
; ta = R r
where Lp , La and Rr are the data frame packet, acknowledgement frame
packet and data rate respectively. By analogy the total energy used by the receiver node
to receive one packet, and transmits a corresponding feedback packet is given by
This is the energy consumed when a node listens for data but receives none. Conse-
quently, it consumes an amount of power denoted as Pidle (idle power) for a duration of
time tidle which results in the energy consumption Eidle .
52
4.3. Energy Efficient Modeling
The energy in the sleep state can be modeled as the product of Psleep and tsleep .
Esleep = Psleep tsleep (4.16)
where Psleep is the power consumption during the sleep mode which can be computed
from the current consumption obtained from the node’s radio data sheet. For example,
the sleep power in OpenMote-CC2538 [23] can be calculated by multiplying its current
in the sleep mode which is 0.4µA and the operational voltage of the platform (3.6V ).
tsleep is the time slot during which the node’s radio stays off.
tsleep = t − tp − ta − tidle (4.17)
where the t is the length of the time slot.
Taking all the above states into account, energy consumption of nk at frequency f
is formulated as follows:
Ek,f = Ptx tp + Prx ta + Pidle tidle + Psleep tsleep (4.18)
Accordingly, total energy consumption of a node k in a slot frame is calculated as
follows XX X X
E= Ek,f Yk,f + (1 − Yk,f )Psleep T (4.19)
k∈N f ∈F k∈N f ∈F
In the above formulation of Equation (4.19), the first term is due to node k that are
assigned a frequency f and the second term is due to node k that do not transmit.
We assumed that all parameters are to remain constant for each time slot t of the slot
frame period. The slot frame period is a time duration in which the network conditions
remain fairly stable.
T
X
Yk,f = Xk,f,t ∀k ∈ N ; ∀f ∈ F (4.21)
t=1
Considering the binary variable Yk,f defined as:
1 if nk transmits using frequency f ;
Yk,f =
0 otherwise;
53
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
N P
P F
Uk,f Yk,f
k=1 f =1
ηEE = P P
Ek,f Yk,f +
P
(1 −
P
Yk,f )Psleep T
(4.23)
k∈N f ∈F k∈N f ∈F
Due to the complexity of the exhaustive search, and scheduling should be both efficient
and computationally easy, the EE problem is transformed into a tractable problem by
presenting an optimal methodology for solving the Binary Nonlinear Programming
problem, which will be described in the next section. In addition, two resource efficient
heuristic algorithms are proposed, which give near-optimal solution.
54
4.4. Energy-Efficient Centralized Schedulers
lem. In addition, we also introduce another scheduler that works in a round-robin way
in this section, which will be considered for performance evaluation.
subject to
F
X
Zk,f ≤ ω; k∈N (4.32)
f =1
N
X
Zk,f ≤ ω; f ∈F (4.33)
k=1
XX
(Ek,f − Psleep T )Yk,f + N Psleep T ω = 1 (4.34)
k∈N f ∈F
55
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
This section introduces a heuristic scheduler to solve for the complexity of the energy
efficient maximization problem. We denote E = {Ek,f }, the set of energy consumption
values if nk is assigned to frequency f and transmits at this frequency. M = {Mk,f }
indicates the set of effective rate of each link lk,f and ηk,f symbolizes resulting energy
efficiency of nk transmitting through frequency f . ηk,f is formulated as:
Mk,f
ηk,f =
Ek,f
(4.37)
We denote Wtx = |Wtx | as the number of nodes with a transmission request (i.e., nk
with Qk > 0). The algorithm detailed in Algorithm 2 uses a greedy approach, where
each available frequency is assigned to the node that can acquire the maximum energy
efficiency at that frequency, i.e. highest ηk,f . If there are more nodes than the number of
available frequencies, then the best node denoted by n∗k , for each available frequency is
selected in channel assignment. We indicate the node attaining the highest energy effi-
ciency at a frequency the best node for f as shown in (line 4) where k ∗ ← arg max ηk,f .
k
In case where we have two or more nodes having the same energy efficiency, then the
node with the highest effective rate i.e. Mk,f is selected for this frequency. On the other
hand, if we have enough frequencies available, then the best frequency indicated by f ∗
is selected for each node k in Wtx . The best frequency is the frequency at which node
k achieves the highest energy efficiency. After a frequency is assigned to node nk , it
is removed from the list of available frequencies. Likewise, if nk is assigned with a
frequency, it is removed from Wtx .
Algorithm 2 terminates after assigning all frequencies and nodes in F and Wtx . The
given algorithm operates in polynomial time for a constant F . As Wtx is a function of
the number of nodes (N), the complexity of EES is in the order of O(F N ).
7: else
8: for nk = 1 to Wtx do
Mk,f
9: ηk,f = Ek,f , ∀f ∈ F
10: f ∗ ← arg max ηk,f
f
11: Add{f ∗ , nk } to ~y
12: F ← fF∗
56
4.4. Energy-Efficient Centralized Schedulers
57
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
Table 4.1: Summary of Symbols and Basic Simulation Parameters
Symbol
Description/Value Value/Metric
Binary decision variable indicating
Yk,f {0,1}
whether nk is assigned to frequency f
packets/second
Ck,f Channel Capacity of lk,f if used by nk
Energy consumption of nk if it transmits
Ek,f mJ
using frequency f
Mk,f Effective rate of lk,f if nk transmits at f packets
Qk Number of packets in nk buffer packets
Maximum number of packets that can be
Uk,f packets
sent by nk at link lk,f during a slot frame
Ptx Transmitted power 20.23mW
Prx Received power 16.92mW
Pidle Idle power 16.92mW
E Total energy consumed Joule
for these schedulers are evaluated including energy efficiency ηEE and success prob-
ability Ps . The probability of success represents the fraction of the generated node’s
traffic that is delivered successfully. We use it as a means to evaluate the throughput
performance.
We assume that the traffic generated by the node follow a Batch Bernoulli process.
In the literature [81], it was considered that the node have infinite queues so that the
traffic flows are continuously backlogged; i.e., there are enough number of packets to
transmit with the data rate determined by the scheduling algorithm. This assumption
simplifies the analysis by avoiding the possible influence of traffic arrival process, but
it is not realistic. InPour simulations, each node generates k packets with probability pk
which makes λ = kPk packets in a slot frame on the average.
k
We utilize the power consumption profile utilized in WirelessHART [82]. Hence,
we set Ptx = 20.23mW, Prx = 16.92mW and Pidle = 16.92mW. The slot frame duration
is set at 720ms and each packet is assumed to be 1KB. Table 4.1 summarizes the sym-
bol and the basic simulation parameters. Mk,f and Ek,f values are obtained for 3000
slot frame periods in each set of simulations. We simulate our results using Java.
In the first scenario, we highlight the interaction between frequency and the num-
ber of nodes (how the schedulers are affected for varying the number of nodes and
frequencies in terms of success probability). At first, we set N = 10, and analyse the
effect of increasing F . Figure 4.9 shows the algorithms in terms of success probability
plotted for the number of frequencies, which is the fraction of the node’s traffic that is
successfully transmitted. It can be seen that increase in F also leads to an increase in
success probability for all the schedulers. Moreover, all the heuristic schedulers pro-
posed yield a very close result to the optimal. For F ≥ 10, all the scheduler achieve
similar throughput performance i.e. (Ps = 1).
Figure 4.10 illustrates the performance of the schedulers with increasing number of
nodes for F = 16; This scenario is similar to the previous one in a way that increase in
the number of nodes (N ) represents the increase in the node’s traffic. EES and VAM-
58
4.4. Energy-Efficient Centralized Schedulers
1
Throughput-Maximum
EE-OPT
0.9 VAM-HSA
EES
Success Probability
0.8
0.7
0.6
0.5
0.4
2 4 6 8 10 12 14 16
Number of frequencies
1.05
0.95
EE-OPT
VAM-HSA
0.9 EES
Success Probability
0.85
0.8
0.75
0.7
0.65
0.6
0.55
2 4 6 8 10 12 14 16 18 20
Number of Nodes
59
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms
70
Energy Efficinecy (packets/mJ)
60 EE-OPT
VAM-HSA
EES
50
40
30
20
10
2 4 6 8 10 12 14 16
Number of frequencies
HSA yield a close result to the optimal. This is true because both schedulers greedily
assign each frequency to the nodes that can attain the maximum energy efficiency at
that node.
Figure 4.11 shows the performance with increasing F . For low F , energy efficiency
per node is low for all schemes due to inefficient resources. With increasing F , the
throughput increases alongside with the energy efficiency for all the schedulers until
the nodes send all their traffic successfully. Moreover, having so many frequencies in-
creases the chances for each node to transmit quickly because the node’s queues are
shorter and thereby making each node to switch to low energy state after transmission.
EES and VAM-HSA assign frequencies in a way to that lead to lower energy consump-
tion and its energy efficiency is close to the optimal solution EE-OPT. The performance
of the EES and VAM-HSA is compared with the optimal solution (EE-OPT) of prob-
lem 4.3. This shows that EES and VAM-HSA has comparable performance with that of
the optimal solution. As the EES has low complexity, we consider it to be an efficient
solution for a maximum energy efficiency scheduling problem.
60
4.5. Chapter Summary
be significantly considered.
In terms of energy efficiency, we formulated the scheduling problem as energy ef-
ficiency maximization. At first, we provided an optimal methodology for solving the
energy efficiency maximizing scheduling problem which shows the upper bound for
the problem. Motivated by the high computational complexity of this problem, we
proposed two heuristics running in polynomial time for energy efficient channel allo-
cation. We evaluated the performance of these algorithms and compared them with the
throughput maximizing scheduler described in Chapter 3. The heuristic schedulers pro-
posed perform better than the throughput maximum scheduler in terms of the success
probability. We concluded that schedulers with energy efficiency concerns should be
the preferred scheduling scheme for more energy-efficient IIoT-TSCH networks.
61
CHAPTER 5
A SDN-IoT Architecture with NFV Implementation
The complexity, possible limitations and heterogeneity of various IoT devices con-
nected to the Internet requires specific tools to manage them, and to improve the per-
formance of the whole network. Moreover, capability mismatch between devices and
communication protocols, with huge number of stakeholders and the pervasive and
persistent nature of the IoT stimulates a set of new opportunities and challenges. Tradi-
tional architectures and network protocols for IoT devices are not designed to support
high level of scalability, high amount of traffic and mobility together with the above-
mentioned requirements. SDN and NFV are considered as the technology enablers to
provide adequate solutions and address these problems. NFV can serve SDN by virtual-
izing the SDN controller to be rendered in the cloud, thus allowing dynamic migration
of the controllers to the optimal locations while SDN can serve NFV by providing
programmable network connectivity between NFVs to achieve optimized traffic engi-
neering [22]. NFV and SDN are related and paired to each other but they come from
different standard organizations with no combined standardized architecture. This the-
sis represents the early effort that synergies SDN, NFV and IoT. Its deployment will
enable IoT devices to share network resources in an efficient and reliable manner.
There are huge expectations from all stakeholders to implement infrastructures for
IoT applications that will reduce both capital and operational expenditures, in addition
to opening new doors for rapid deployment of innovative and lucrative business ser-
vices. With SDN and NFV approach in IoT, the initial Capital Expenditure (CapEx)
and annual Operating Expense (OpEx) will be kept to minimum [83]. This will make
network equipment more open, and hence allow telecommunication service providers
to become more flexible, faster at service innovations and reduce operation and main-
tenance costs. In this thesis chapter, we present a simple SDN-IoT architecture coupled
with NFV to address the challenges of IoT particularly in the issues of scalability and
62
5.1. Related Works
mobility, which has been fundamental to other works in [84–86] and among others.
This is visualized to increase the efficiency and network agility of IoT applications.
The proposed architecture enables sharing various resources, including devices, data,
and softwares, among various applications at different levels. We perform an evaluation
of SDN on WSN by providing a performance analysis on real-hardware based experi-
mental measurements using OpenMote-CC2538 and Zolertia Z1 as WSN is considered
as one of the leading paradigm in the IoT.
The rest of this chapter is organized as follows. Section 5.1 reviews the most per-
tinent related works from the literature. We take a look of how SDN and NFV can be
used to apply to IoT emphasizing their domains of application, illustrated with exam-
ples in Section 5.2. In Section 5.3, we propose a SDN Architecture for IoT Network
coupled with NFV. Section 5.4 introduces the methodology and the evaluation envi-
ronment. Section 5.5 presents the simulated and experimental results and discusses
its performance and finally in Section 5.6, we conclude the chapter with some final
remarks. This section also highlights the limitations of this chapter.
There are several works in [87–90] that have adopted the use of SDN in WSN and
IoT in general. The authors in [90] proposed an energy-efficient routing algorithm for
software defined wireless sensor network (SDWSN). The control nodes are selected
to assign different task dynamically in order to make the network functional. The se-
lection is formulated as NP-hard problem and a particle swarm optimization algorithm
was proposed to address the problem. The authors in [89], proposed an open SDWSN
tool called IT-SDN, which provided many features such as independent OS specifica-
tion, neighbour discovery, but lacks complex flow table actions and controller decision
mechanisms. In [88], an open-source framework to enable SDN controller for WSN is
proposed. The proposed work is hardware independent and can only be implemented
into many existing WSN devices such as TelosB and MicaZ. Moreover, the perfor-
mance evaluation is limited which provided doubts about the benefits of applying SDN
to WSN. The authors in [87] proposed SDN-WISE, a SDN solution for WSN. How-
ever, it introduces several limitations such as implementation on real network devices
and was not able to prove the benefits of SDN with WSN. In this work, we imple-
ment a simple and general SDN-IoT on real-hardware devices. Our implementation
is compatible with any kind of low-end open source IoT devices. We compare the
results with the simulated nodes in terms of reliability, packet loss and end-to-end de-
lay. In addition, there have been several architectures on IoT utilizing the SDN such as
SDWN [91], Sensor OpenFlow [92], and [93] but many of these efforts lacked a vir-
tualized approach. This work represents the early effort that synergies SDN, NFV and
IoT. Its deployment will enable IoT devices to share network resources in an efficient
and reliable manner.
On the other hand, performance evaluation of RPL have been conducted in vari-
ous research papers [94] and only a handful is based on real-hardware implementation,
where most works are simulation-based. We provided a real-based hardware measure-
ment using OpenMote-CC2538 by evaluating the performance of RPL.
63
Chapter 5. A SDN-IoT Architecture with NFV Implementation
Discoverability
If Interoperability is ensured among IoT devices, discoverability is another issue that
needs to be addressed. Discoverability in IoT devices is one of the main factors in
achieving a successful deployment of IoT applications to prevent long outages and
configuration errors. The ability to self-configure and adapt to the environment without
human intervention brings about requirements such as resource and service discovery.
It is not feasible to manually configure each and every device in order to discover which
objects are nearby and which functions they provide. SDN approach can be used to
address this issue which allows applications to operate with devices with minimal or no
configuration.
Security
Having large number of heterogeneous devices that are involved in the IoT, there is
high propensity to be vulnerable to attacks. Ensuring data protection, data authenti-
cation needs to be taken seriously. SDN can be used to solve problems of security
maturity in IoT applications. It can meet the needs to secure the data generated by vir-
tualizing network components and services. With this, authorization and authentication
can be applied which can ensure secure data delivery. Security threats can be easier to
attack through the improved visibility SDN provides to the network. SDN can also pro-
vide a dynamic, intelligent, self-learning layered model of security that provides access
rules to ensure authorization for people who are allowed to change the configuration of
devices. SDN will serve as a critical tool to ensure a secured network in an IoT envi-
ronment, thanks to its adaptability, which will allow it to address new threats as they
emerge and evolve.
64
5.2. Why SDN/NFV in IoT
Efficiency
Integrating the IoT with NFV can increase the efficiency of the network by helping
network operators to control their networks in an efficient way. One used case for NFV
can be in mobile core network. NFV can make use of Cloud Evolved Packet Core
(EPC) in mobile core networks to ease the problem of cost and also solve the problem
of long-distance permanent tunnels which are very expensive to control and maintain
for cellular operators. This is done by virtualizing the mobile core network with the
use of Cloud EPC. This can be applied to M2M and IoT applications where NFV can
help the service providers to build network intelligence both in a centralized and dis-
tributed way to control the traffic, to enable flexible distribution of hardware resources
for eliminating bottlenecks and also provide analytics at the edge of the network for
latency reduction. It also helps in securing network resources to meet the needs of IoT
applications.
Management
The SDN controller manages and supervises the entire network. The centralized po-
sition of the SDN controller makes it suitable to have a global vision of the network
topology and conditions, performing network control such as routing and QoS control.
The controller can determine the best routing decisions and inserting these decisions
into the flow tables. The sensor nodes do not make routing decisions but only forward
and drop packets according to the rules set by the controller. The scheduling must be
built over defined routes and the controller can optimize the sleep/active cycles of the
sensors by choosing the most energy-efficient set in every scheduling cycle. Latency
can be reduced and significant energy savings can be achieved. SDN approach on hav-
ing a centralized routing model has being adopted by ISA100.11a and WirelessHART,
which are one of the main networks in the Industrial WSN [95].
Scalability Issues
65
Chapter 5. A SDN-IoT Architecture with NFV Implementation
Perception Layer
This layer comprises of the sensing layer and the aggregator. The sensing layer com-
prises of various kind of physical devices which include sensors, Radio-Frequency
Identification (RFID), smart meters, WSN, Near-Field Communication (NFC) etc. that
allows communication with the IoT Gateway. They sense and collect data from various
kind of devices in an intelligent way. The aggregator i.e. sink collects information pro-
duced by the sensing layer. For example, a WSN typically have one or more sink nodes
66
5.3. SDN-IoT Architecture with NFV
Application
IoT Apps IoT Apps IoT Apps Layer
Network
IoT GATEWAY Layer
Smart
meter
RFID
sensors
Perception
Layer
that collect data and upload them to the Internet through the IoT Gateway. An aggre-
gator can integrate sensing or actuating services in the local network and it can also act
as a bridge to communicate between wireless sensors and the rest of the nodes in the
local network. In summary, the main function of the Perception layer is identification
and communication of objects.
Network Layer
The network layer collects the data from the lower layer and routes it via the gate-
way to the Internet. The network layer comprises of connection of various technolo-
gies from the access networks to the core network which includes heterogeneous and
multi-technology connectivity. The gateways and routers are part of this layer and are
responsible for data forwarding, caching local data etc. The IoT Gateway is one of the
most important components in the IoT architecture which acts as a bridge between the
perception layer and the core network. It must be flexible enough to manage available
resources and connects the local IoT system to the rest of the global IoT system. There
are many challenges facing the IoT gateway such as addressing the heterogeneity of
different protocols and components in the IoT. The problem will be addressed with
SDN approach. The network layer provides connectivity and it should also take care
of management in terms of security, information processing, protocol conversion and
fault handling.
Application Layer
This is the layer that includes IoT applications such as smart health, smart city, smart
transportation and lots of different applications. It also includes server and cloud in-
67
Chapter 5. A SDN-IoT Architecture with NFV Implementation
frastructures that shares content and provide real-time services. Data processing and
providing services are one of the most important functions of this layer. The layer pro-
vides a global management of the IoT system. It receives information from the network
layer which allows developers to build various applications using an open, high level
abstraction and interfaces.
68
5.3. SDN-IoT Architecture with NFV
Application
IoT Apps IoT Apps IoT Apps Layer
Balancing
Mobility
Security
Routing
Load
SDN Controller (e.g ONOS, ODL) Control
Plane
Data
SDN-enabled GW Plane
Smart
meter
RFID
sensors Perception
Layer
the hardware, which make it possible to add, move or change network functions at
the server level in a simplified provisioning process. For example, if a Virtual Network
Function (VNF) running on a virtual machine requires more bandwidth, the administra-
tor can move the Virtual Machine (VM) to another physical server or provision another
virtual machine on the original server to handle part of the load.
From the architecture, we have the NFV Management and Network Orchestration
(MANO) plane, which is the framework for the management and orchestration of all
resources including compute, networking, storage and VM resources. NFV MANO
manages the Network Function Virtualized Infrastructure (NFVI) and has the respon-
sibility for life-cycle management of the VNFs. NFV MANO comprises of an Orches-
trator, Virtualized Infrastrcuture Manager (VIM) and VNF Manager. The orchestrator
performs resource and service orchestration by managing the resources from different
VIMs and also coordinating the end-to-end service between different VNF. VIM con-
trols and manages NFVI resources in its domain, where such tasks include performance
and fault management of hardware, software and virtual resources; manages life cycle
of virtual resources in an NFVI domain; collection of performance measurements and
events among others. (NFVI is the environment in which VNFs run which include
physical resources, virtual resources and virtualization layer in an NFV environment).
VNF manager manages the VNFs or multiple VNFs. It manages the life cycle of VNFs
by maintaining and terminating VNF instances, it also scales up and down VNFs (elas-
ticity).
69
NFV IoT Architecture
Chapter 5. A SDN-IoT Architecture with NFV Implementation
OSS/BSS Applications
NFV MANO
VNFM
VNFs VIM
IoT Heat
WSN
General purpose
servers/devices
IoT
RFID
General purpose
servers/devices
At the topmost of the architecture, we have the application layer that comprises
of IoT servers for different IoT applications. We also have the Operations Support
Systems (OSS) and Business Support Systems (BSS) which include collection of sys-
tems/applications that a service provider uses to operate its business. The OSS/BSS is
migrating to a new generation form due to the emerging technologies of SDN and NFV
by which operators are proactively implementing to create innovative ways of doing
business and exploring business models for the Internet of Things. The OSS/BSS of
an operator may be integrated with the management and orchestration using standard
interfaces.
70
5.3. SDN-IoT Architecture with NFV
Application
IoT Apps OSS/BSS IoT Apps
Layer
Balancing
Mobility
Security
Routing
Load
SDN Controller (e.g ONOS, ODL)
Control
Layer
Virtual Network Elements
NFVI
Data
Layer
SDN-enabled GW SDN-enabled GW
sensors
sensors
RFID
Smart
RFID meter Perception
Layer
way we may have network functions virtualized with no SDN capabilities. For this rea-
sons we denote the VNF that are SDN aware to be called virtual network elements. We
made use of SDN/NFV edge node to allow network operator to rapidly deploy new ser-
vices which ensures delivering unique services to the IoT applications such as ultra-low
latency, rich user context (location information), high bandwidth etc., as demonstrated
in Figure 5.5. This is one of the major requirement for tactile Internet where extreme-
real time communications are needed between IoT applications with numerous large
number of devices.
A used case to highlight the effectiveness of the proposed architecture could be in
the area of scalability. With the use of multiple gateways, we assume to solve scala-
bility concerns but there are limitations at the bottleneck due to overloaded data traffic
when numerous IoT devices tend to send data at the same time. With NFV, there will
be elasticity by running our network functions in the cloud which brings huge benefits
for scalability. NFV can be leveraged to relocate some of the IoT gateway functionality
into the virtual gateway giving both the user and service operator flexibility due to the
increased number of IoT devices that arises each day. The separation of the network
71
Chapter 5. A SDN-IoT Architecture with NFV Implementation
MANO
Control
Plane
Controller (e.g
ONOS, ODL)
IoT Heat
WSN VNF
IoT Data
GW Center
SDN/NFV
Edge Node
IoT
RFID
IoT
GW
Slide
functions coupled with SDN will allow resources to be automatically allocated by the
cloud infrastructure to handle increase load. This also brings dynamic scalability by
providing flexibility to scale the virtual network functions performance in a dynamic
way.
Another domain where the applicability of the proposed approach could be ex-
tremely effective is the area of mobility management. As described, we make use
of virtualized SDN-Gateways that replaces the traditional gateways. Both NFV and
SDN will help to enable a programmable SDN plane by virtualizing the IoT gateway to
maintain active session continuity for IoT devices. Gateway virtualization helps in im-
proving IoT by enabling dynamic attachment of sensors to multiple networks. This can
allow the smart devices to move from one location to another with the SDN controller
modifying the flow tables in OpenFlow switches to take into account the mobility of
the device.
72
5.4. Methodology and Evaluation Environment
SDN Controller
Sink
Node 1 Node 6
Node 2 Node 5
Node 3 Node 4
The source code of SDN-WISE was provided and several modifications were carried
out to suit our purpose. The implementation of a SDN controller was not introduced in
SDN-WISE and no recommendation was given on the type of controller to use. In our
work, we made use of ONOS controller by implementing the Djistkra algorithm to find
the shortest paths between the nodes in a graph. Moreover, to ensure effective commu-
nication between the nodes, the serial communication callback function was modified
to address buffering of incoming bytes.
SDN-WISE introduces 8 different kind of packets namely Data, Beacon, Report,
Request, Response OpenPath, Config and RegProxy. These packets are used to commu-
nicate between the devices and the controller. We made modifications to the request and
response packets which are the common packets for installing flow entries. The modifi-
cations allow the controller to manage incoming requests and by sending an OpenPath
packet to the destination with the installed flow rules.
In the case of RPL, the DODAG graph starts building its topology by broadcasting
RPL control packets to all devices within its range and the messages are responded
back to the sink node. After joining the routing tree, source node tends to generate data
packets intended to the sink node. Each packet is generated every 10 secs from the
source node in a fixed interval in our experiments. Since the evaluation environment
used was Cooja, the network simulator distributed as part of Contiki OS1 , we made use
1 http://wwww.contiki-os.org/start.html
73
Chapter 5. A SDN-IoT Architecture with NFV Implementation
SDN Controller
Sink
Node 2 Node 4
Node 1
Node 5
Node 3
Node 6
74
5.5. Performance Evaluation
75
Chapter 5. A SDN-IoT Architecture with NFV Implementation
SDN Real
50
RPL Real
45
40
35
30
packet/hr
25
20
15
10
0
Node 1 Node 2 Node 3 Node 4 Node 5 Node 6
node ID
Figure 5.8: Average Packet Loss Distribution for a Single-hop Mesh Topology (Scenario 1)
200
140
120
packet/hr
100
80
60
40
20
0
Node 1 Node 2 Node 3 Node 4 Node 5 Node 6
node ID
Figure 5.9: Average Packet Loss Distribution for a Multi-hop Topology (Scenario 2)
76
5.5. Performance Evaluation
45
SDN Real
40 RPL Real
RPL Simulation
convergence time (s)
35 SDN Simulationl
30
25
20
15
10
0
Scenario 1 Scenario 2
Run #
Figure 5.10: Average convergence time for SDN and RPL in a single-hop mesh topology and multi-hop
topology
topology to fluctuate which becomes a challenge for the SDN controller taking time
to understand the topology and computing the shortest path. Thus, the controller takes
time in installing the flow rules and setting up the right path. Moreover, the control
message overhead increases more in Scenario 2 than Scenario 1 due to the increase in
the number of hops in Scenario 2. This increases the complexity, thereby making the
intermediate nodes between each device generate flow requests to set up a path, thus
increasing the control message overhead. The instability of the radio links affects the
performance, thereby increasing the control message overhead and also resulting into
packet loss. In the case of the simulated devices, both scenarios have the same number
of control messages, as there is no need for extra requests and responses.
In Figure 5.12, we provided the flow rule entry time that a node requires in order to
install a flow rule. The flow rule entry time is the time taken from the moment a node
sends the request to the controller and the controller responses. The procedure is as
follows, the node checks if the rule matches with the packet, if not, it sends the request
to the controller and the controller responses with a flow rule. The result shows the flow
rule entry time. The data packets are generated from Node 1, where the measurement
was repeated 20 times. In average, it takes around 0.193s and 0.56s to install flow rules
in Node 1 in real-based and simulation-based respectively.
We show in Figure 5.13 the effect of the hop distance with respect to the average
packet loss. It can be seen that the effect of hop distance affects the average packet loss
in a huge way. The intermediate nodes between the nodes and the sink have to send
more flow entry requests to the controller to establish a path which takes more time,
thereby having results to packet loss.
77
Chapter 5. A SDN-IoT Architecture with NFV Implementation
500
350
Requests-responses/hr
300
250
200
150
100
50
0
Scenario 1 Scenario 2
0.8
SDN real
SDN simulation
0.7
0.6
0.5
time (s)
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
Run #
78
5.6. Chapter Summary
200
180
SDN Real
RPL Real
160
140
Average packet loss
120
100
80
60
40
20
0
1 hop 2 hops 3 hops
number of hops
Figure 5.14 illustrates the average packet delay for both topologies for evaluating
RPL and SDN. We can see that the packet delay increases with respect to the number
of hops. The average packet delay of nodes at the same hop distance are close to each
other as shown in Scenario 1. In the case of Scenario 2 (the multi-hop topology), the
packet delay varies.
79
Chapter 5. A SDN-IoT Architecture with NFV Implementation
0.035
RPL scenario 1
RPL scenario 2
0.03 SDN scenario 1
SDN scenario 2
Average packet delay (s)
0.025
0.02
0.015
0.01
0.005
0
Node 1 Node 2 Node 3 Node 4 Node 5 Node 6
to install flow entries and clear flow table of each sensor node in the network from a
centralized point, which gives great control over the network. Robustness, flexibility,
and ease of management are some of the great qualities that all IoT networks should
possess. SDN has the potential to provide these qualities. However, there are several
cases where RPL performed better than SDN. In order to evaluate the effectiveness of
SDN, more implementation and standardization of communication protocols need to
be further studied.
In addition, a correlation observed in our experiment is also the effect of the topol-
ogy, the hop-distance, the rate of the packet arrival, and the radio link instability on the
performance of the testbed. We observed that as the topology grows with more sensor
nodes, the complexity also increases, thereby making the performance to decline. The
same is true when the hop distance and rate of packet arrivals increase also. The insta-
bilities of the radio links were also contributing to the slow convergence time and more
control message overheads which negatively affect the performance.
Lastly, SDN also provided some difficulties such as installing the flow rules reac-
tively, which increases the control messages overhead and packet loss as demonstrated
in our testbed. Installing a flow rule in a proactive way minimizes the control message
overhead, rather than waiting for a sensor node to make a request for flow entries reac-
tively. Our implementation is compatible with majority of the open-source low-end IoT
devices. In the performance evaluation, we neglected the use of virtualization, which
will be demonstrated in our future work.
80
5.6. Chapter Summary
Chapter Limitations
Even though the research has achieved its objectives, combining both implementation
and experimentation, it also had some limitations.
• At first, the testbed consisted of 7 sensors node including the sink node. This was
used for easy management of the devices and simplicity, since we carried out a
real-based experiment. A testbed with many sensor nodes would be difficult to
manage in carrying out our measurements, but it would have been better to have
more nodes. Moreover, simulation tools enable flexibility in implementing and
testing a network but replicating it in real life scenarios are challenging and often
not practical.
• Secondly, we made a comparison between two different radios which are CC2420
and CC2538. The CC240 was used in the simulation where CC2538 was used
in the testbed experimentation. However, the differences are small in terms of its
features but having the same radio would provide a more accurate comparison.
• Thirdly, synchronization is very important when measuring delay and other per-
formance parameters. Internet based synchronization was used in our case, and it
was not possible to achieve absolute synchronization.
Future Works
In our future work, we will implement a SDN-enabled NFV deployment illustrating
the importance of network slicing for the IoT, with several slices running on a common
NFVI. Each slice will consist of VNFs that are appropriately composed and chained to
support and build up the network service(s). In addition, we will implement complex
IoT scenarios (e.g. related to smart cities) with the integration of multiple information
sources and performance evaluation to validate our architecture. Moreover, the testbed
developed in this thesis can be used as a benchmark for future studies. Optimization
of the implementation and standardization of communication protocols can be further
studied.
81
CHAPTER 6
Conclusion
This chapter presents the achievements and contributions of this thesis, with final re-
marks and future directions.
82
violated deadlines. Execution times of various GA search strategies were com-
pared, and NSGA-III executed faster than the other search heuristics considered
in this work. Moreover, GA yielded a very close results to the optimal results with
a low computational complexity, which was a function of the search strategies.
The delay minimization problem is said to be a binary integer problem and can be
solved using branch and bound algorithms.
In addition to the throughput maximizing and delay minimization, this thesis also
provided a scheduling model that considered energy efficiency of a TSCH net-
work. We formulated energy-efficient scheduling scheme as a non-linear integer
programming problem that is difficult to solve. First, due to the nonlinearity of
the problem formulation, we decomposed the problem into an ILP problem us-
ing CCT to provide the optimal solution as the upper bound for energy efficiency.
Furthermore, motivated by the high computational complexity of the problem, we
devised two sub-optimal scheduling algorithms with polynomial time complex-
ity. The heuristics are shown to achieve high throughput and energy efficiency
performance compared to the throughput maximizing scheduler. Moreover, both
algorithms yield a very close performance to the optimal one.
3. SDN-IoT: SDN, NFV are changing the telecommunications industry and this will
form the backbone of a very large number of enterprises going forward. We de-
83
Chapter 6. Conclusion
fined where and how to apply SDN and NFV in an IoT ”framework”. A simple
and general SDN-IoT Architecture coupled with NFV was proposed to address the
issues of routing, scalability and mobility in IoT network. By virtualizing the IoT
gateway made it possible to be dynamic, scalable and elastic in an IoT environ-
ment. Experimental measurements were carried out to evaluate the performance
of SDN and RPL on resource constrained devices. Various performance metrics
were performed to demonstrate the effectiveness of SDN and RPL in a single-hop
mesh topology and multi-hop topology. The use of SDN introduced its flexibil-
ity but also provided some difficulties such as installing the flow rules reactively,
which increased the control messages overhead and packet loss as demonstrated
in our testbed. Installing a flow rule in a proactive way minimizes the control
message overhead, rather than waiting for a sensor node to make a request for
flow entries reactively. RPL performs better in most cases as compared to SDN.
To evaluate the effectiveness of SDN, more implementation and standardization
of communications protocols need to be further studied.
Our contribution aimed at providing various scheduling models for IIoT-TSCH net-
works to achieve various applications. The scheduling models proposed can be utilized
by the gateway and can work in a dynamic and adaptive style. This is very essen-
tial as Industrial Internet of Things Networks is transforming companies and countries,
thereby improving efficiency and cost savings for industrial organizations. The inte-
gration of machine learning techniques and other scheduling approaches to address the
scheduling problems would be the direction for our future work. In addition, joint rout-
ing and scheduling alongside distributed techniques will also be considered.
In addition, another aspect in our future direction is providing deterministic commu-
nication in wireless industrial networks. This can be demonstrated with the use of RPL
and TSCH as the base protocols since RPL performed than SDN from the results in this
dissertation. Our future works aims to provide joint scheduling and routing algorithms
in a centralized or distributed way in order to guarantee reliability and determinism
in industrial type applications. Deterministic approaches such as packet duplication
and elimination, over-provisioning, overhearing mechanism can be investigated on how
they can enhance end-to-end reliability by taking advantage of the nature of a wireless
medium.
84
APPENDIX A
Energy Consumption Measurements in WSN
Operating Systems
85
Appendix A. Energy Consumption Measurements in WSN Operating Systems
viding a realistic model is limited in describing the environment, moreover the trade/off
between latency, cost and portability essentially limits models to testing.
Direct measurements on the other hand offer the best accuracy on energy consump-
tion measurement estimation and evaluation, and widely used. It is feasible and all
the functions are set correctly, also no inaccurate presumption is made. Direct mea-
surements can be carried out on hardware using power meters, oscilloscope or specific
instrumentation under fixed conditions.
Usage of simulation tools such as AVOVRA etc. can also be used to measure the
energy consumption of a WSN node. By using simulation tools, various scenarios of
the real environment can be modeled. In this section, we will demonstrate the pow-
er/energy consumption of a WSN node with experimental evaluation focusing on the
direct measurement.
86
A.1. Energy Consumption Measurements and Results
Oscilloscope
V1 V2
R1
Vcc Load
(both OpenBase and OpenBattery). The main objective of this section is to provide
consolidated information extracted from these measurements in useful and practical
manner to facilitate a modeling approach. We make use of a tree-topology with 9 motes
(open battery) and one OpenBase board acting as the root node shown in Figure A.2.
We utilize two different MAC protocols on OpenMote-CC2538 running Contiki OS,
which are TSCH and ContikiMAC. On the other hand, TSCH is only implemented on
OpenMote-CC2538 when running OpenWSN. Secondly, we utilize the same topology
for the Tmote Sky comprising of 10 motes including the sink. ContikiMAC and TSCH
protocols are utilized on Tmote Sky when running Contiki OS. The node’s spacing be-
tween each node is in 15 meters on the average. 60 bytes was chosen as the payload
size which corresponds to all necessary information for application operations. The
power consumption of the LEDs in both devices also have their effect on the overall
energy consumption.
At first, we make a comparison between TSCH running on Contiki and OpenWSN OS.
At the time of this writing, OpenWSN and Contiki are the two widely used OS that have
incorporated TSCH as their MAC protocol. In OpenWSN, data transmission and recep-
tion possesses 2.7ms and 5ms respectively. The transmission and the reception ACK
take 2ms. In Contiki, data transmission and reception possesses 3.3ms and 5.5ms re-
spectively, while the transmission and the reception ACKs take 2.5ms. Figure A.3 illus-
trates the energy consumption for both OpenWSN and Contiki on OpenMote-CC2538
implementing the TSCH protocol. On the other hand, we compare the energy con-
sumption of the two most energy efficient MAC protocols utilized in Contiki, which
are ContikiMAC and TSCH as shown in Figure A.4. ContikiMAC is an asynchronous
protocol that repeatedly transmits a full packet until it is acknowledged by the receiver.
Figure A.5 shows the energy Consumption in Tmote Sky running Contiki with Con-
tikiMAC and TSCH. Based on the experimental analysis, TSCH proves itself to be
better than ContikiMAC in terms of energy consumption. Another observation about
the experimental analysis, is the non-conformation of our results to that of the refer-
ence data sheet of TI-CC2538. This is due to the power consumption of the LEDs that
are neglected in determining the energy consumption in the reference data sheets of
TI-CC2538.
Figure A.6 shows a snap shot of the current drawn in the transmission mode using
the experimental setup described in Figure A.1.
87
Appendix A. Energy Consumption Measurements in WSN Operating Systems
TSCH
0.35
Data Tx
Data Rx
0.3 Tx ACK
Rx ACK
Energy Consumption (mJ)
0.25
0.2
0.15
0.1
0.05
0
Contiki OpenWSN
Figure A.3: Energy Consumption in OpenMote-CC2538 running OpenWSN and Contiki using TSCH
protocol
88
A.1. Energy Consumption Measurements and Results
0.3
0.25
0.2
0.15
0.1
0.05
0
ContikiMAC TSCH
Figure A.4: Energy Consumption in OpenMote-CC2538 running Contiki with ContikiMAC and Contiki
with TSCH
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
ContikiMAC TSCH
Figure A.5: Energy Consumption in Tmote Sky running Contiki with ContikiMAC and Contiki with
TSCH
89
Appendix A. Energy Consumption Measurements in WSN Operating Systems
Figure A.6: Current drawn in the TX mode of OpenMote-CC238 running OpenWSN with TSCH
A.2 Summary
This work presented an experimental comparison of IIoT protocol stacks of Contiki
and OpenWSN in terms of energy consumption on OpenMote-CC2538 and Tmote
Sky. This study highlighted the pros and cons of the available software and hardware
solutions in terms of energy consumption. Obtained results indicated that OpenMote
platforms exhibit higher energy consumption with respect to Tmote Sky, where Open-
WSN provides a better energy consumption performance in TSCH enabled scenarios
compare to ContikiMAC.
90
Bibliography
[1] Maria Rita Palattella, Nicola Accettura, Xavier Vilajosana, Thomas Watteyne, Luigi Alfredo Grieco, Gennaro
Boggia, and Mischa Dohler. Standardized Protocol Stack for the Internet of (important) Things. IEEE
communications surveys & tutorials, 15(3):1389–1406, 2013.
[2] Andreas Willig. Recent and Emerging Topics in Wireless Industrial Communications: A Selection. IEEE
Transactions on industrial informatics, 4(2):102–124, 2008.
[3] Xiaomin Li, Di Li, Jiafu Wan, Athanasios V Vasilakos, Chin-Feng Lai, and Shiyong Wang. A Review of
Industrial Wireless Networks in the Context of Industry 4.0. Wireless networks, 23(1):23–41, 2017.
[4] Henning Kagermann, Johannes Helbig, Ariane Hellinger, and Wolfgang Wahlster. Recommendations for
Implementing the Strategic Initiative INDUSTRIE 4.0: Securing the future of German Manufacturing
Industry; Final Report of the Industrie 4.0 Working Group. Forschungsunion, 2013.
[5] Shahid Mumtaz, Ahmed Alsohaily, Zhibo Pang, Ammar Rayes, Kim Fung Tsang, and Jonathan Rodriguez.
Massive Internet of Things for Industrial Applications: Addressing Wireless II OT Cconnectivity Challenges
and Ecosystem Fragmentation. IEEE Industrial Electronics Magazine, 11(1):28–33, 2017.
[6] ISA-100.11a-2011. Wireless Systems for Industrial Automation: Process Control and Related Applications.
ISA.100.11a-2011, 2011.
[7] Deji Chen, Mark Nixon, Song Han, Aloysius K Mok, and Xiuming Zhu. W IRELESS HART and IEEE
802.15.4e. In Industrial Technology (ICIT), 2014 IEEE International Conference on, pages 760–765. IEEE,
2014.
[8] IEEE Standard for Low-Rate Wireless Networks. IEEE Std 802.15.4-2015 (Revision of IEEE Std 802.15.4-
2011), April 2016.
[9] David Stanislowski, Xavier Vilajosana, Qin Wang, Thomas Watteyne, and Kristofer SJ Pister. Adaptive
Synchronization in IEEE802.15.4e Networks. IEEE Transactions on Industrial Informatics, 10(1):795–802,
2014.
[10] Akram Hakiri, Aniruddha Gokhale, Pascal Berthou, Douglas C Schmidt, and Thierry Gayraud. Software-
Defined Networking: Challenges and Research Opportunities for Future Internet. Computer Networks,
75:453–471, 2014.
[11] X Vilajosana and K Pister. Minimal 6T I SCH Configuration-draft-ietf-6tisch-minimal-00. IETF: Fremont,
CA, USA, 2013.
[12] Mike Ojo, Davide Adami, and Stefano Giordano. Performance Evaluation of Energy Saving MAC Protocols
in WSN Operating Systems. In Performance Evaluation of Computer and Telecommunication Systems
(SPECTS), 2016 International Symposium on, pages 1–7. IEEE, 2016.
[13] Simon Duquennoy, Beshr Al Nahas, Olaf Landsiedel, and Thomas Watteyne. Orchestra: Robust Mesh
Networks Through Autonomously Scheduled TSCH. In Proceedings of the 13th ACM Conference on Em-
bedded Networked Sensor Systems, pages 337–350. ACM, 2015.
[14] Mitsuo Gen and Runwei Cheng. Genetic Algorithms and Engineering Optimization, volume 7. John Wiley
& Sons, 2000.
91
Bibliography
92
Bibliography
[37] Junchao Ma, Wei Lou, Yanwei Wu, X-Y Li, and Guihai Chen. Energy Efficient TDMA Sleep Scheduling in
Wireless Sensor Networks. In INFOCOM 2009, IEEE, pages 630–638. IEEE, 2009.
[38] Sinem Coleri Ergen and Pravin Varaiya. TDMA Scheduling Algorithms for Wireless Sensor Networks.
Wireless Networks, 16(4):985–997, 2010.
[39] Ángelo Antonio Farías and Diego Dujovne. A Queue-Based Scheduling Algorithm for PCE-Enabled
Industrial Internet of Things Networks. In Embedded Systems (CASE), 2015 Sixth Argentine Conference
on, pages 31–36. IEEE, 2015.
[40] Rasool Tavakoli, Majid Nabi, Twan Basten, and Kees Goossens. Topology Management and TSCH
Scheduling for Low-Latency Convergecast in I N-Vehicle WSNs. IEEE Transactions on Industrial Infor-
matics, 2018.
[41] Maria Rita Palattella, Nicola Accettura, Mischa Dohler, Luigi Alfredo Grieco, and Gennaro Boggia. Traffic
Aware Scheduling Algorithm for Reliable Low-Power Multi-Hop IEEE 802.15.4e Networks. In Personal
Indoor and Mobile Radio Communications (PIMRC), 2012 IEEE 23rd International Symposium on, pages
327–332. IEEE, 2012.
[42] Mike Ojo, Stefano Giordano, Giuseppe Portaluri, Davide Adami, and Michele Pagano. An Energy Efficient
Centralized Scheduling Scheme in TSCH Networks. In Communications Workshops (ICC Workshops), 2017
IEEE International Conference on, pages 570–575. IEEE, 2017.
[43] Inès Hosni and Fabrice Théoleyre. Self-healing Distributed Scheduling for end-to-end Delay Optimization
in Multihop Wireless Networks with 6T I SCH. Computer Communications, 110:103–119, 2017.
[44] Nicola Accettura, Maria Rita Palattella, Gennaro Boggia, Luigi Alfredo Grieco, and Mischa Dohler. Decen-
tralized Traffic Aware Scheduling for Multi-Hop Low Power Lossy Networks in the Internet of Things. In
World of Wireless, Mobile and Multimedia Networks (WoWMoM), 2013 IEEE 14th International Symposium
and Workshops, pages 1–6. IEEE, 2013.
[45] Jinhwan Jung, Daewoo Kim, Joonki Hong, Joohyun Kang, and Yung Yi. Parameterized Slot Scheduling for
Adaptive and Autonomous TSCH Networks. Channels, 2(3):5.
[46] Xenofon Fafoutis, Atis Elsts, George Oikonomou, Robert Piechocki, and Ian Craddock. Adaptive Static
Scheduling in IEEE 802.15. 4 TSCH Networks. In Internet of Things (WF-IoT), 2018 IEEE 4th World
Forum on, pages 263–268. IEEE, 2018.
[47] Maria Rita Palattella, Nicola Accettura, Luigi Alfredo Grieco, Gennaro Boggia, Mischa Dohler, and Thomas
Engel. On Optimal Scheduling in Duty-Cycled Industrial IOT Applications Using IEEE 802. 15.4 E TSCH.
IEEE Sensors Journal, 13(10):3655–3666, 2013.
[48] Zheng Chu, Tuan Anh Le, Duc To, and Huan X Nguyen. Sum Throughput Optimization for Wireless
Powered Sensor Networks. In GLOBECOM 2017-2017 IEEE Global Communications Conference, pages
1–6. IEEE, 2017.
[49] Ibrahim Habib, Mahmoud Sherif, Mahmoud Naghshineh, and Parviz Kermani. An Adaptive Quality of
Service Channel Borrowing Algorithm for Cellular Networks. International Journal of Communication
Systems, 16(8):759–777, 2003.
[50] Alexis I Aravanis, Bhavani Shankar MR, Pantelis-Daniel Arapoglou, Grégoire Danoy, Panayotis G Cot-
tis, and Björn Ottersten. Power Allocation in Multibeam Satellite Systems: A two-stage Multi-Objective
Optimization. IEEE Transactions on Wireless Communications, 14(6):3171–3182, 2015.
[51] LI Jielin and Ming Chen. Multi-Objective Topology Optimization Based on Mapping Matrix and NSGA-II
for Switched Industrial Internet of Things. IEEE Internet of Things Journal, 2016.
[52] Sunil Kr Jha and Egbe Michael Eyong. An energy optimization in wireless sensor networks by using genetic
algorithm. Telecommunication Systems, 67(1):113–121, 2018.
[53] Djabir Abdeldjalil Chekired, Lyes Khoukhi, and Hussein T Mouftah. Industrial I OT data scheduling based on
hierarchical fog computing: a key for enabling smart factory. IEEE Transactions on Industrial Informatics,
14(10):4590–4602, 2018.
[54] Seema Kharb and Anita Singhrova. Fuzzy based priority aware scheduling technique for dense industrial I OT
networks. Journal of Network and Computer Applications, 125:17–27, 2019.
[55] Tie Qiu, Kaiyu Zheng, Min Han, CL Philip Chen, and Meiling Xu. A data-emergency-aware scheduling
scheme for Internet of Things in smart cities. IEEE Transactions on Industrial Informatics, 14(5):2042–
2051, 2018.
93
Bibliography
[56] HD Sherali and DC Myers. The Design of Branch and Bound Algorithms for a Class of Nonlinear Integer
Programs. Annals of Operations Research, 5(2):463–484, 1986.
[57] David P Williamson and David B Shmoys. The Design of Approximation Algorithms. Cambridge university
press, 2011.
[58] László Lovász and Michael D Plummer. Matching Theory, volume 367. American Mathematical Soc., 2009.
[59] Alexander Schrijver. Combinatorial Optimization: Polyhedra and Efficiency, volume 24. Springer Science
& Business Media, 2003.
[60] Dieter Jungnickel and Tilla Schade. Graphs, Networks and Algorithms. Springer, 2005.
[61] William T Tutte. The Factorization of Linear Graphs. Journal of the London Mathematical Society, 1(2):107–
111, 1947.
[62] Chandra Chekuri and Sanjeev Khanna. A Polynomial Time Approximation Scheme for the Multiple
Knapsack Problem. SIAM Journal on Computing, 35(3):713–728, 2005.
[63] Lei Yang, Yalin Evren Sagduyu, and Jason Hongjun Li. Adaptive Network Coding for Scheduling Real-time
Traffic with Hard Deadlines. In Proceedings of the thirteenth ACM international symposium on Mobile Ad
Hoc Networking and Computing, pages 105–114. ACM, 2012.
[64] Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and TAMT Meyarivan. A Fast and Elitist Multiobjective
Genetic Algorithm: NSGA-II. IEEE transactions on evolutionary computation, 6(2):182–197, 2002.
[65] Carlo R Raquel and Prospero C Naval Jr. An Effective Use of Crowding Distance in Multiobjective Particle
Swarm Optimization. In Proceedings of the 7th annual conference on Genetic and evolutionary computation,
pages 257–264. ACM, 2005.
[66] Kalyanmoy Deb and Himanshu Jain. An Evolutionary Many-Objective Optimization Algorithm using
Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems with Box Constraints.
IEEE Trans. Evolutionary Computation, 18(4):577–601, 2014.
[67] Antonio J Nebro, Juan J Durillo, Francisco Luna, Bernabé Dorronsoro, and Enrique Alba. Mocell: A Cellular
Genetic Algorithm for Multiobjective Optimization. International Journal of Intelligent Systems, 24(7):726–
746, 2009.
[68] Eckart Zitzler, Marco Laumanns, Lothar Thiele, et al. SPEA2: Improving the Strength Pareto Evolutionary
Algorithm, 2001.
[69] Abraham Charnes and William W Cooper. Programming with Linear Fractional Functionals. Naval Research
Logistics (NRL), 9(3-4):181–186, 1962.
[70] Xiao Long Huang and Brahim Bensaou. On Max-Min Fairness and Scheduling in Wireless Ad-Hoc
Networks: Analytical Framework and Implementation. In Proceedings of the 2nd ACM international sym-
posium on Mobile ad hoc networking & computing, pages 221–231. ACM, 2001.
[71] Yuan Le, Liran Ma, Wei Cheng, Xiuzhen Cheng, and Biao Chen. A time Fairness-based MAC algorithm for
Throughput Maximization in 802.11 Networks. IEEE Transactions on Computers, 64(1):19–31, 2015.
[72] Li Wang and Li Zhigang. Research on Control System of Belt Conveyor in Coal Mine. In Electrical,
Information Engineering and Mechatronics 2011, pages 885–891. Springer, 2012.
[73] Shihuan Liu, Lei Ying, and R Srikant. Throughput-Optimal Opportunistic Scheduling in the Presence of
Flow-Level Dynamics. IEEE/ACM Transactions on Networking, 19(4):1057–1070, 2011.
[74] M. O. Ojo, S. Giordano, D. Adami, and M. Pagano. Throughput Maximizing and Fair Scheduling Algorithms
in Industrial Internet of Things Networks. IEEE Transactions on Industrial Informatics, pages 1–1, 2018.
[75] Leandros Tassiulas and Anthony Ephremides. Stability Properties of Constrained Queueing Systems and
Scheduling Policies for maximum throughput in Multihop Radio Networks. IEEE transactions on automatic
control, 37(12):1936–1948, 1992.
[76] Peter van de Ven, Sem Borst, and Seva Shneer. Instability of Maxweight Scheduling Algorithms. In INFO-
COM 2009, IEEE, pages 1701–1709. IEEE, 2009.
[77] J Stuart Hunter et al. The Exponentially Weighted Moving Average. J. Quality Technol., 18(4):203–210,
1986.
[78] Raj Jain, Dah-Ming Chiu, and William R Hawe. A Quantitative Measure of Fairness and Discrimination
for Resource Allocation in Shared Computer System, volume 38. Eastern Research Laboratory, Digital
Equipment Corporation Hudson, MA, 1984.
94
Bibliography
[79] Nyles V Reinfeld and William R Vogel. Mathematical Programming. Prentice-Hall, 1958.
[80] M Mathirajan and B Meenakshi. Experimental Analysis of some Variants of Vogel’s Approximation Method.
Asia-Pacific Journal of Operational Research, 21:447–462, 2004.
[81] Mike Ojo and Stefano Giordano. An Efficient Centralized Scheduling Algorithm in IEEE 802.15.4e TSCH
Networks. In Standards for Communications and Networking (CSCN), 2016 IEEE Conference on, pages 1–6.
IEEE, 2016.
[82] Pouria Zand, Emi Mathews, Paul Havinga, Spase Stojanovski, Emiliano Sisinni, and Paolo Ferrari. Imple-
mentation of Wirelesshart in the NS-2 Simulator and Validation of its Correctness. Sensors, 14(5):8633–
8668, 2014.
[83] Rashid Mijumbi, Joan Serrat, Juan-Luis Gorricho, Niels Bouten, Filip De Turck, and Raouf Boutaba.
Network Function Virtualization: State-of-the-Art and Research Challenges. IEEE Communications Sur-
veys & Tutorials, 18(1):236–262, 2016.
[84] Carla Mouradian, Narjes Tahghigh Jahromi, and Roch H Glitho. NFV and SDN-based Distributed I OT
Gateway for Large-Scale Disaster Management. IEEE Internet of Things Journal, 5(5):4119–4131, 2018.
[85] Ivan Farris, Tarik Taleb, Yacine Khettab, and Jae Seung Song. A survey on emerging SDN and NFV security
mechanisms for I OT systems. IEEE Communications Surveys & Tutorials, 2018.
[86] Iqbal Alam, Kashif Sharif, Fan Li, Zohaib Latif, Md Monjurul Karim, Boubakr Nour, Sujit Biswas, and
Yu Wang. Iot Virtualization: A survey of Software Definition & Function Virtualization Techniques for
Internet of Things. arXiv preprint arXiv:1902.10910, 2019.
[87] Laura Galluccio, Sebastiano Milardo, Giacomo Morabito, and Sergio Palazzo. SDN-WISE: Design, pro-
totyping and experimentation of a Stateful SDN Solution for WI RELESS SE NSOR networks. In Computer
Communications (INFOCOM), 2015 IEEE Conference on, pages 513–521. IEEE, 2015.
[88] Bruno Trevizan De Oliveira, Lucas Batista Gabriel, and Cintia Borges Margi. TINYSDN: Enabling
Multiple Controllers for Software-Defined Wireless Sensor Networks. IEEE Latin America Transactions,
13(11):3690–3696, 2015.
[89] Renan CA Alves, Doriedson AG Oliveira, Gustavo A Núñez, and Cintia B Margi. IT-SDN: Improved
Architecture for SDWSN. In XXXV Brazilian Symposium on Computer Networks and Distributed Systems,
2017.
[90] Wei Xiang, Ning Wang, and Yuan Zhou. An Energy-Efficient Routing Algorithm for Software-Defined
Wireless Sensor Networks. IEEE Sensors Journal, 16(20):7393–7400, 2016.
[91] Salvatore Costanzo, Laura Galluccio, Giacomo Morabito, and Sergio Palazzo. Software Defined Wireless
Networks: Unbridling SDN S. In Software Defined Networking (EWSDN), 2012 European Workshop on,
pages 1–6. IEEE, 2012.
[92] Tie Luo, Hwee-Pink Tan, and Tony QS Quek. Sensor Openflow: Enabling Software-Defined Wireless Sensor
Networks. IEEE Communications letters, 16(11):1896–1899, 2012.
[93] Zhijing Qin, Grit Denker, Carlo Giannelli, Paolo Bellavista, and Nalini Venkatasubramanian. A Software
Defined Networking Architecture for the Internet-of-Things. In Network Operations and Management Sym-
posium (NOMS), 2014 IEEE, pages 1–9. IEEE, 2014.
[94] Kosmas Kritsis, Georgios Z Papadopoulos, Antoine Gallais, Periklis Chatzimisios, and Fabrice Théoleyre.
A Tutorial on Performance Evaluation and Validation Methodology for Low-Power and Lossy Networks.
IEEE Communications Surveys & Tutorials, 2018.
[95] Pascal Thubert, Maria Rita Palattella, and Thomas Engel. 6T I SCH Centralized Scheduling: When SDN
Meet I OT. In Proc. of IEEE Conf. on Standards for Communications & Networking (CSCN’15), 2015.
[96] Soheil Hassas Yeganeh, Amin Tootoonchian, and Yashar Ganjali. On Scalability of Software-Defined
Networking. Communications magazine, IEEE, 51(2):136–141, 2013.
[97] Ala Al-Fuqaha, Mohsen Guizani, Mehdi Mohammadi, Mohammed Aledhari, and Moussa Ayyash. Internet
of Things: A Survey on Enabling Technologies, Protocols, and Applications. Communications Surveys &
Tutorials, IEEE, 17(4):2347–2376, 2015.
[98] Pankaj Berde, Matteo Gerola, Jonathan Hart, Yuta Higuchi, Masayoshi Kobayashi, Toshio Koide, Bob Lantz,
Brian O’Connor, Pavlin Radoslavov, William Snow, et al. ONOS: Towards an Open, Distributed SDN OS.
In Proceedings of the third workshop on Hot topics in software defined networking, pages 1–6. ACM, 2014.
[99] Jan Medved, Robert Varga, Anton Tkacik, and Ken Gray. Opendaylight: Towards a Model-Driven SDN
Controller Architecture. In 2014 IEEE 15th International Symposium on, pages 1–6. IEEE, 2014.
95
Bibliography
[100] Thomas Zachariah, Noah Klugman, Bradford Campbell, Joshua Adkins, Neal Jackson, and Prabal Dutta. The
Internet of Things has a Gateway Problem. In Proceedings of the 16th International Workshop on Mobile
Computing Systems and Applications, pages 27–32. ACM, 2015.
[101] Aggeliki Prayati, Ch Antonopoulos, Tsenka Stoyanova, Christos Koulamas, and George Papadopoulos. A
Modeling Approach on the Telosb WSN Platform Power Consumption. Journal of Systems and Software,
83(8):1355–1363, 2010.
[102] Antonio Moschitta and Igor Neri. Power Consumption Assessment in Wireless Sensor Networks. ICT-
Energy-Concepts Towards Zero-Power Information and Communication Technology, 2014.
[103] Javier Alonso, Sergio Gómez, Miguel Alejandrez, Marisa Gil, and Nacho Navarro. Experimental
Measurements of the Power Consumption for Wireless Sensor Networks. Computer Architecture Depart-
ment Universitat Politècnica de Catalunya June, 26, 2006.
96