You are on page 1of 111

U NIVERSITÁ DI P ISA

D OTTORATO DI RICERCA IN I NGEGNERIA DELL’I NFORMAZIONE

S CHEDULING M ODELS FOR I NDUSTRIAL I NTERNET OF


T HINGS N ETWORKS
D OCTORAL T HESIS

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

Pisa, October 2018


XXXI
Abstract

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.

International Conferences/Workshops with Peer Review


1. Tsapardakis, E., Ojo, M., Chatzimisios, P., and Giordano, S. (2018, October).
Performance Evaluation of SDN and RPL in Wireless Sensor Networks. In Global
Information Infrastructure and Networking Symposium (GIIS), 2018 (pp. 1-5).
IEEE.
2. Ojo, M., Giordano, S., Adami, D., and Pagano, M. (2018, June). A Novel Auc-
tion Based Scheduling Algorithm in Industrial Internet of Things Networks. In
International Conference on Computer Networks, 2018 (pp. 103-114). Springer,
Cham.
3. Giordano, S., Seitanidis, I., Ojo, M., Adami, D., and Vignoli, F. (2018, March).
IoT Solutions for Crop Protection against Wild Animal Attacks. In 2018 IEEE
International Conference on Environmental Engineering (EE), 2018 (pp. 1-5).
IEEE.
4. Ojo, M., Giordano, S., Portaluri, G., and Adami, D. (2017, December). Through-
put Maximization Scheduling Algorithm in TSCH Networks with Deadline Con-
straints. In Globecom Workshops (GC Wkshps), 2017 (pp. 1-6). IEEE.
5. Ojo, M., Giordano, S., Portaluri, G., Adami, D., and Pagano, M. (2017, May). An
Energy Efficient Centralized Scheduling Scheme in TSCH Networks. In Commu-
nications Workshops (ICC Workshops), 2017 IEEE International Conference on,
(pp. 570-575). 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

NLP Nonlinear Programming. 42


NSGA-II Non-dominated Sorting Genetic
Algorithm-II. 33, 37
NSGA-III Non-dominated Sorting Genetic
Algorithm-III. 33, 36, 37, 41, 83

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 figures XII

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

3 Throughput Maximizing Scheduler under Interference Constraints 18


3.1 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 System Model and Assumptions . . . . . . . . . . . . . . . . . . . . . 20
3.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1 Throughput Maximization Problem . . . . . . . . . . . . . . . . 22
3.3.2 Delay Minimization Problem . . . . . . . . . . . . . . . . . . . 23

IX
Contents

3.4 Throughput Maximizing Scheduling Algorithms . . . . . . . . . . . . 24


3.4.1 Graph-Based Theoretical Approach . . . . . . . . . . . . . . . . 24
3.4.2 Auction-Based Scheduling Approach . . . . . . . . . . . . . . . 28
3.4.3 Genetic Algorithm Based Scheduling Approach . . . . . . . . . 29
3.5 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4 Throughput Fair Scheduling and Energy Efficient Centralized Scheduling Algo-


rithms 42
4.1 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Throughput Fair Scheduling Algorithms . . . . . . . . . . . . . 43
4.1.2 Energy Efficiency in IIoT-TSCH Networks . . . . . . . . . . . . 43
4.2 Max-Min Fairness Scheduler . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.1 Algorithm for the Max-Min Fair Scheduling Problem . . . . . . 46
4.2.2 Computational Complexity . . . . . . . . . . . . . . . . . . . . 46
4.2.3 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . 46
4.3 Energy Efficient Modeling . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.1 Link Capacity Calculation/ Network Throughput Modeling . . . 50
4.3.2 Energy Consumption Model . . . . . . . . . . . . . . . . . . . . 51
4.3.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . 53
4.4 Energy-Efficient Centralized Schedulers . . . . . . . . . . . . . . . . . 54
4.4.1 Optimal Energy-Efficient Scheduling (EE-OPT) . . . . . . . . . 55
4.4.2 Energy Efficient Scheduler (EES) . . . . . . . . . . . . . . . . . 56
4.4.3 Vogel’s Approximation Based Heuristic Scheduling Algorithm
(VAM-HSA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4.4 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . 57
4.5 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5 A SDN-IoT Architecture with NFV Implementation 62


5.1 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2 Why SDN/NFV in IoT . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 SDN-IoT Architecture with NFV . . . . . . . . . . . . . . . . . . . . . 66
5.3.1 IoT Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.2 SDN-IoT Framework . . . . . . . . . . . . . . . . . . . . . . . 68
5.3.3 NFV-IoT Architecture . . . . . . . . . . . . . . . . . . . . . . . 68
5.3.4 SDN-IoT Architecture with NFV . . . . . . . . . . . . . . . . . 70
5.4 Methodology and Evaluation Environment . . . . . . . . . . . . . . . . 72
5.5 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6 Conclusion 82

A Energy Consumption Measurements in WSN Operating Systems 85


A.1 Energy Consumption Measurements and Results . . . . . . . . . . . . 85
A.1.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . 86
A.1.2 Experimental Comparison . . . . . . . . . . . . . . . . . . . . . 86
A.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

X
Contents

Bibliography 91

XI
List of Figures

1.1 IEEE/IETF Standardized Industrial IoT Architecture . . . . . . . . . . 3

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

4.1 Average throughput of all nodes . . . . . . . . . . . . . . . . . . . . . 47


4.2 Average total throughput . . . . . . . . . . . . . . . . . . . . . . . . . 47

XII
List of Figures

4.3 Average total throughput vs ω . . . . . . . . . . . . . . . . . . . . . . 48


4.4 Average Jain’s Fairness Index vs ω . . . . . . . . . . . . . . . . . . . . 49
4.5 Average total throughput for varying the number of nodes . . . . . . . 49
4.6 Average Jain’s Fairness Index for varying the number of nodes . . . . . 50
4.7 Average minimum throughput for HMFS while varying the number of
nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.8 Time slot template for a transmitter (top) and the receiver node (bottom) 52
4.9 Probability of success for increasing F . . . . . . . . . . . . . . . . . . 59
4.10 Probability of success for increasing N . . . . . . . . . . . . . . . . . 59
4.11 Energy Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.1 An IoT Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2 SD-IoT Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3 A NFV-IoT Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4 SDN-IoT Architecture with NFV . . . . . . . . . . . . . . . . . . . . . 71
5.5 SDN/NFV Edge Node for IoT Services . . . . . . . . . . . . . . . . . 72
5.6 Single-hop mesh topology . . . . . . . . . . . . . . . . . . . . . . . . 73
5.7 Multi-hop topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.8 Average Packet Loss Distribution for a Single-hop Mesh Topology (Sce-
nario 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.9 Average Packet Loss Distribution for a Multi-hop Topology (Scenario 2) 76
5.10 Average convergence time for SDN and RPL in a single-hop mesh topol-
ogy and multi-hop topology . . . . . . . . . . . . . . . . . . . . . . . 77
5.11 Control Message Overhead Distribution . . . . . . . . . . . . . . . . . 78
5.12 Flow Rule Entry time . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.13 Average Packet Loss vs Number of Hops . . . . . . . . . . . . . . . . 79
5.14 Average Packet Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
A.1 Measurement Setup with an Oscilloscope . . . . . . . . . . . . . . . . 87
A.2 A tree topology using OpenMote-CC2538 . . . . . . . . . . . . . . . . 88
A.3 Energy Consumption in OpenMote-CC2538 running OpenWSN and Con-
tiki using TSCH protocol . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.4 Energy Consumption in OpenMote-CC2538 running Contiki with Con-
tikiMAC and Contiki with TSCH . . . . . . . . . . . . . . . . . . . . 89
A.5 Energy Consumption in Tmote Sky running Contiki with ContikiMAC
and Contiki with TSCH . . . . . . . . . . . . . . . . . . . . . . . . . . 89
A.6 Current drawn in the TX mode of OpenMote-CC238 running OpenWSN
with TSCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

XIII
List of Tables

2.1 IoT Device Specifications . . . . . . . . . . . . . . . . . . . . . . . . 14


2.2 Low-end IoT operating systems comparison . . . . . . . . . . . . . . . 17
3.1 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Basic Simulation Parameters . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Genetic Algorithm Parameters . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Average Execution times in ms of the various Genetic Algorithm Search
Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5 Average Throughput for GA-based scheduling scheme with N = 10,
population size = 100, crossover = 0.9 and varying the mutation probability 39
3.6 Parameters settings for the GA scheduler with varying number of nodes 40
4.1 Summary of Symbols and Basic Simulation Parameters . . . . . . . . . 58

5.1 Basic Experimental Parameters . . . . . . . . . . . . . . . . . . . . . . 75

1
CHAPTER 1
Introduction

The increasing number of physical objects connected to the Internet at a remarkable


rate brings the idea of the rapid evolution of the Internet of Things (IoT). The tremen-
dous impact IoT has on several aspects of everyday life has drawn significant research
attention from both academic and industrial sectors over the past few years. Despite
its popularity, its definition is still fuzzy due to its vast area of concepts (semantics,
security, interoperability, reliability, data/control/management functions, etc.) and the
ambiguity of the unique meaning of the two terms “Internet” and “Things” [1]; al-
though both remain a physical and virtual counterpart. IoT is understood to be a global
network infrastructure composed of diverse heterogeneous devices that rely on sensory,
communication, networking and information processing technologies required to pro-
vide advanced services aimed to improve our quality of life.
Industrial Internet of Things (IIoT), a natural evolution of the IoT, is indeed trans-
formative and will change the basis of competition. It emphasizes the nonexistence of
human intervention as well as the autonomous nature of machines. IIoT encompasses a
vast amount of disciplines by providing a way to improve visibility into the company’s
operations and assets through the integration of machine sensors, middleware and the
cloud systems.
New developments have been undertaken in the field of IIoT in recent times to shape
the need for high Quality of Service (QoS) and determinism to the industries. Devel-
opments such as Wireless, IP-enabled for industrial networks have led to IIoT and have
been identified as an attractive alternative for communication. It is rapidly becoming
the technology of choice for communication so as to provide a viable and cost-effective
solution in a growing class of applications such as distributed control systems, smart
grids, automotive systems, and other kinds of network embedded systems [2, 3]. This
has played a significant role towards the convergence of operational technology (i.e.

2
Application
Application
CoAP HTTP
UDP TCP
IPv6 RPL IPv6

6LoWPAN
IEEE802.15.4-2015 TSCH
IEEE802.15.4 (PHY)

Figure 1.1: IEEE/IETF Standardized Industrial IoT Architecture

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

1.1 Key Contributions


The main contributions of this thesis can be grouped into four as follows:
• Scheduling in TSCH model: We formulate the scheduling problem as throughput
maximizing, delay minimizing and energy efficiency maximizing. In the through-
put scheduling maximizing problem, we propose a polynomial time algorithm and
we elaborate on certain special cases of this problem and explore their combina-
torial properties. We introduce heuristic algorithms based on auction-based and
Genetic Algorithms (GAs) to address the scheduling problem. For the energy effi-
ciency maximization, we model the energy consumption of a TSCH node thereby,
formulating the energy-efficient scheduling and providing optimal, sub-optimal
yet heuristic algorithms.
• Fairness in TSCH Networks: We formulate a max-min fair scheduling problem
that provides throughput fairness. It incorporates the past transmission history of
each node to provide some degree of fairness among of the nodes. We proceed
to propose a novel heuristic for the max-min fair scheduling problem and demon-
strate its performance through extensive simulations.
• SDN-IoT: We present a simple and general SDN-IoT architecture coupled with
NFV with specific choices on where and how to adopt SDN and NFV approaches
in order to address the new challenges of the Internet of Things. We focus on
routing as it is an essential way of ensuring reliability, lifetime and end-to-end
delay of a network. We investigate on the performance of SDN and IPv6 Routing
Protocol for Low Power and Lossy Networks (RPL) by providing a performance
analysis on real-hardware based experimental measurements using OpenMote-
CC2538.
• Energy Consumption in IoT devices: In order to gain deeper insights in the en-
ergy consumption of IIoT-TSCH implementations. We focus on the energy con-
sumption by conducting experimental measurements on different platforms i.e.
OpenMote-CC2538 and Tmote Sky on various Operating Systems (OSs) includ-
ing Contiki, OpenWSN.
To sum things up, in this thesis we are concerned with the problem of scheduling in
IIoT-TSCH Networks by considering various scheduling models. We also focus on
SDN and NFV applied to IoT. Lastly, we focus on energy consumption in IoT OSs.

1.2 Thesis Structure


The rest of the thesis is structured as follows:
• Chapter 2 introduces the background of the study and some important concepts
related to some optimization techniques, technologies paradigms, low-end IoT
devices, IoT operating systems and the tools that have been adopted.
• Chapter 3 presents the system model and the problem formulation for the through-
put maximization and delay minimization problem. A polynomial-time algorithm

5
Chapter 1. Introduction

and auction-based heuristic algorithm is proposed for the throughput maximiza-


tion problem. In addition, deadline constraint is introduced in the problem formu-
lation for the throughput maximization problem, and genetic algorithm is intro-
duced to address this problem, in which its performance is demonstrated through
simulations.
• Chapter 4 presents the max-min fair scheduling problem and the proposed heuris-
tic algorithm to address this problem. The energy efficiency maximization prob-
lem is also formulated, and the proposed scheduling algorithms are described in
this chapter.
• Chapter 5 take a look of how SDN and NFV can be used to apply to IoT emphasiz-
ing their domains of application, illustrated with examples. SDN-IoT architecture
with NFV is also demonstrated in this chapter. Moreover, performance evalu-
ation of SDN and RPL are performed based on low-end IoT devices including
OpenMote-CC2538 and Zolertia Z1.
• Chapter 6 concludes the thesis with final remarks.

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.

2.1 TSCH in a Nutshell


IEEE 802.15.4-2015 TSCH standard introduces time scheduled transmission multi-
plexed in frequency, where nodes are synchronized using a frame structure. Com-
munication in TSCH networks occurs at well-defined times within a time slot and it
is orchestrated by a schedule. The proper functioning of a TSCH 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. The duration of a time slot is not defined by the standard. A
typical time slot duration in IEEE 802.15.4-2015 TSCH networks is 15ms [11], which
is large enough to transmit a MAC frame of maximum size from a sender to a receiver,
and to receive back an Acknowledgement (ACK) frame. Several time slots form a slot
frame, which repeats over time. Depending upon the application, there can be a single
slot-frame or multiple slot-frames within the network. Each time slot can be dedicated
(i.e. contention free) or it can be shared1 (contention-based) according to TSCH speci-
1 the standard defines a Carrier-Sense Multiple Access with Collision Avoidance (CSMA-CA) algorithm to reduce the proba-

bility of repeated collision

7
Chapter 2. Background

Each link will have different channel number in each cycle


Timeslot

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Channel Offset

0 A>C A>C A>C A>C


(ch13) (ch21)

1 A>B A>B

F>B A>F F>B A>F


2 B>F B>F

3 C>D A>D C>D A>D

4 B>C B>C

First Cycle k Second Cycle k+1


Shared cells, in which more
than one transmitter are A F
Allocated cell for the link
scheduled to use a cell with
between node C as a a random back-off D
sender and node D as a algorithm
receiver B
C
Figure 2.1: Time Slotted Channel Hopping (TSCH) Slot-Channel matrix with a simple topology

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].

2.2 Optimization Techniques

The scheduling problem is combinatorial and it is a variant of knapsack problem which


is NP-hard, where the frequencies correspond to the items and the nodes correspond to
the knapsacks each with capacity ak (see chapter 3.3). In this section, we introduce dif-
ferent heuristics for the optimization of the Binary Integer Linear Programming (BILP).

8
2.2. Optimization Techniques

2.2.1 Genetic Algorithm


Genetic Algorithm (GA) is a meta-heuristic that mimics the natural evolution process.
It considers an initial set of solutions named population that are generated in a ran-
dom way. During the execution of the algorithm, the population evolves across the
iterations to a better one. Solution in GA is called chromosome and includes one or
more characteristics with each one mapped into a gene. Each solution can be encoded
as a string of symbols, a binary string, a vector of numbers, or a combination of the
previous structure. The selection operator chooses some of the elements of the current
population to produce new elements. New chromosomes are formed either by merging
two chromosomes from current generation using a crossover operator or by modifying
a chromosome using a mutation operator. The new chromosomes that are generated
are called offspring. A new population is formed using a proper search strategy which
chooses the best chromosomes and rejects the others, keeping the population size con-
stant. GA associates a numerical value with each chromosome named fitness. The
fitness value is related to the objective of the computation, and the goal of the GA is to
find the most fitting solutions. Fitter chromosomes have higher probabilities of being
selected with respect to the others. After several iterations, the algorithms converge
to the best chromosome which hopefully represents the optimal or a sub-optimal solu-
tion of the problem. The GA is an effective optimization technique that emulates the
crossover and mutation phases in the evolution of a chromosome to effectively search
for the optimal solution [14]. It is an efficient meta-heuristic search technique espe-
cially for problems with large search spaces. A flowchart representing the behavior of
GA is represented in Figure 2.2

2.2.2 Auction Theory


Auction theory originally developed in economics, is a branch of game theory that
has been applied to solve various (network resource allocation) problems in engineer-
ing. An auction mechanism works as follows, first, buyers submit bids for purchasing
commodities, and sellers ask to sell commodities. There are four main types of auc-
tions described in most literatures; which are the ascending-bid auctions (English auc-
tions), descending-bid auctions (Dutch auctions), first-price sealed-bid auctions, and
the second-price sealed-bid auctions, also called Vickrey auctions [15].
In the ascending auction, all bidders start in the auction with a price of zero. The
seller raises the price, bidders drop out until finally one bidder remains, and that bidder
wins the object at this final price. Once a bidder drop out, he/she cannot re-enter. It is
an open competition, where information is passed across to other bidders when other
bidders drop out. In the descending auction, the auctioneer starts at a very high price,
and then lowers the price continuously. At any point in time, the bidder can stop the
auction, and then pays the current price. In the first-price sealed-bid, all bidders simul-
taneously submit sealed bids (hidden from other bidders) to the auctioneer. The bidder
with the highest bid wins the auction. In the second-price sealed-bid auctions, bidders
simultaneously and independently submit sealed bids to the auctioneer without observ-
ing the bids made by other competitors. The highest bidder wins the price and pays the
value of the second highest bid. In our work, we utilized the first-price sealed-bid auc-
tion mechanism for addressing the problem formulation described in Chapter 3.3. Our

9
Chapter 2. Background

Start

Generate Initial Population

Number of
iterations and Yes
termination
End
criteria

No

Select the Crossover the


chromosomes to be chromosomes to
mated (selection) produce offspring

Mutate the
offspring

Evaluate Population according


to the search strategy

Figure 2.2: Flow Chart for our proposed GA-based algorithm

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

VNF 1 VNF 2 VNF 3 VNF n

Management and Orchestration


Network Function Virtualization Infrastructure
Virtual Virtual Virtual
Compute Storage Network
Virtualization layer

Hardware Resources

Compute Storage Network

Figure 2.3: NFV architecture

2.4 Hardware

2.4.1 OpenMote-CC2538

The OpenMote-CC2538 is an open-hardware platform designed to facilitate the pro-


totyping and technology adoption of IEEE 802.15.4-2015 TSCH networks, and it is
fully supported by OpenWSN. It is a 2.4GHz low-energy mote complaint that is based
on the popular platform of Texas Instruments CC2538 housing a Cortex-M3 Micro-
controller Unit (MCU), clocked up to 32MHz with a 32-bit architecture, with inte-
grated radio module and 32KB of Random Access Memory (RAM) and 512KB of
Flash making it a state-of-the-art micro-controller [23]. The device itself provides inter-
faces including Inter-Integrated Circuit (I2C), Serial Peripheral Interface (SPI), which
gives the opportunity to connect any kind of sensors. The OpenMote offers alongside
with the OpenMote-CC2538 mote two modules, the OpenBase and the OpenBattery.
OpenBase is a module with JTAG, mini USB Type-A for flashing a mote, an exten-
der header for the OpenMote-CC2538 mote and power supply through the mini USB
Type-A ports. On the other hand, the OpenBattery has a built in support for 2-AAA
batteries, a SHT21 temperature/ humidity sensor, a ADXL346 3-axis accelerometer
sensor, a MAX4409 light sensor, four led lights and two buttons. Regarding the OS
support for the OpenMote-CC2538 there is a wide range of IoT OS such as OpenWSN,
ContikiOS, Thingsquare, FreeRTOS, RIOT. The performance evaluation of OpenMote-
CC2538 have been demonstrated in [12]. The OpenMote hardware ecosystem is shown
in Figure 2.4

12
2.4. Hardware

OpenMote-CC2538 OpenBattery OpenBase

Figure 2.4: The OpenMote hardware ecosystem: (from left to right) OpenMote-CC2538, OpenBattery
and OpenBase

2.4.2 Tmote Sky


The Tmote Sky [24] is an ultra low-power 2.4GHz WSN module. The MCU of the
Tmote Sky is a Texas Instruments MSP430F1611 clocked at 8MHz paired with 10KB
of RAM and 48KB of flash. The development board comes with optional sensors like
temperature/humidity sensor, light sensor, total solar radiation sensor, photo-synthetically
active radiation sensor, a 10-pin expansion and a 6-pin expansion connectors. Further-
more, the board provides an on-board JTAG controller and a USB 2.0 port. The radio
module of Tmote Sky is a CC2420 module, which provides IEEE 802.15.4 connectiv-
ity with a data rate up to 250Kbps. Tmote Sky is a low energy device with a power
consumption as low as 5.1µA with the MCU on standby mode, while the maximum
energy footprint of the device being less than 23mA. The device is compatible with
TinyOS and ContikiOS.

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].

Table 2.1: IoT Device Specifications

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.

2.6 Operating Systems


We take a look at the network stack of Contiki and OpenWSN OSs as shown in Fig-
ure 2.5. This is necessary for the energy consumption measurements that will be
demonstrated in the Appendix section.

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

CoAP/REST ENGINE 6LoWPAN


PCE CoAP ND
UDP
ICMP ICMP ICMP
IPv6 ContikiRPL
IPv6 RPL
6LoWPAN
6LoWPAN
CSMA
IEEE 802.15.4e
RDC*
IEEE 802.15.4
IEEE 802.15.4
(b) OpenWSN
(a) Contiki OS

Figure 2.5: Network Stack of Contiki, OpenWSN Operating systems

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).

OpenWSN Network Stack


OpenWSN project’s goal is to construct and provide a complete protocol stack based
on open-source implementations of Internet of Things standards while being hardware
independent [34]. OpenWSN comprises of a basic scheduler, and a Board Support
Package (BSP), i.e., a simple hardware extraction, making it possible to run OpenWSN
on a dozen IoT hardware platforms. OpenWSN code is available online under the BSD
on GitHub3 . OpenWSN is more of a network stack than a full-fledged OS. OpenWSN
is organized into two sub-projects: firmware and software. The firmware sub-project is
the code that runs in embedded devices. It is written in standard C99 and uses the GCC
as the default compiler, which enables compatibility of the firmware with AVR, ARM
cortex and MSP processor architectures [35].
OpenWSN uses IEEE 802.15.4e as its MAC, which is an amendment to the well-
known and widely used IEEE 802.15.4-2001 standard as shown in Figure 2.5b. IEEE
802.15.4-2015 is the improved version of IEEE 802.15.4e standard, which presents
TSCH to achieve ultra-high reliability through frequency agility; and low-power through
tight time synchronization. Synchronization accuracy directly relates to power con-
sumption, and can vary from microseconds to milliseconds, depending on the hardware
3 [Online]. Available: https://github.com/openwsn-berkeley/openwsn-fw.

16
2.6. Operating Systems

Table 2.2: Low-end IoT operating systems comparison

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.

3.1 Related Works


Several schedule-based MACs have been proposed in the wireless networking litera-
ture [37], [38], but they can not be applied to the TSCH MAC. Nonetheless, TSCH
paradigm brings this topic into the focus of research again due to the following rea-
sons: (a) IEEE 802.15.4-2015 standard defines the mechanism for a TSCH node to
communicate, but the standard does not specify how to build an optimized schedule
and to construct a schedule is policy specific; and (b) TSCH brings new opportunities
and challenges because of its time synchronization multiplexed in frequency to improve
reliability.
The TSCH scheduling task is an NP-hard problem [36]. Hence, most of the avail-
able scheduling algorithms use sub-optimal solutions, aiming at providing specific per-
formance guarantees such as throughput, delay, fairness, just to mention a few. The
centralized approaches rely on a central entity where the scheduler resides. Farias et
al. [39] proposed a queue-based algorithm for the path computation element to increase
the reliability in industrial scenarios. The authors in [40] proposed a cross-layer low-
latency topology management and TSCH scheduling technique that provides a very
high time slot utilization to minimize communication latency. Palattella et al. de-
veloped TASA [41], a centralized scheduler that exploits an innovative matching and
colouring technique of graph theory to plan the distribution of time slots and channel
offsets. The works in [39, 40] does not concern itself with throughput – a challenge
we aim to handle in the paper. Other centralized scheduling approaches in IIoT-TSCH
networks worth mentioning are [42], which maximizes the energy efficiency, and [43]
addressing latency issues.
Under distributed algorithms, DeTAS [44] relies on exchanging traffic information
based on neighbour-to-neighbour signalling. Jung et al. [45] proposed a scheduling
algorithm to minimize the energy consumption while guaranteeing reliability. It works
adaptively with traffic intensity and reliability requirements. Orchestra [13] is an au-
tonomous scheduling mechanism, where each node independently builds its own sched-
ule without any negotiation. While orchestra is flexible and able to achieve 99.99%
packet delivery, it is unable to address bursty traffic. Further works in the literature
have addressed the issue of bursty traffic [46]. In this paper, we focus on a centralized
approach by providing a more compact scheduling model and accomplishing many
tasks at the same time, since a centralized method has been demonstrated to be more
efficient in practice [47]. The scheduling model is able to provide time, frequency
and data rate allocation in a multi-node, multi-channel environment where nodes are
equipped with multiple antennas for data transmission. The use of multiple transceivers
can improve link quality and throughput, ensuring communication reliability [48]. This
chapter is designed on maximizing the total throughput in an interference-aware system
by proposing a polynomial time algorithm and an auction-based mechanism.

19
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints

We shift from the above-mentioned techniques to addresses scheduling in TSCH


networks using combinatorial properties based on Genetic Algorithms. The classic al-
gorithms such as integer programming, branch-and-bound algorithm can achieve the
global optimal solutions, but as a kind of NP-hard problem, the network optimization
problem needs exponential time to be solved by using exact algorithms. To reduce the
computational complexity and speed up the computation process, the use of heuristic
methods such as GA can be presented.
The use of GAs has been proven to be quite successful for time slot and frequency
assignment in both cellular networks [49] and satellite communications [50]. In IIoT,
particularly the industrial wireless sensor network, the studies about the usage of GAs
mainly revolve around the configuration of various sensor parameters such as symbol
rate, modulation etc. [51], [52]. Other scheduling methods in IIoT networks worth
mentioning that are applied in various applications are [53, 54] applied to smart factory
and smart manufacturing, and [55] applied to smart cities.
The scheduling problem considered in this paper can be distinguished from other
related works by introducing deadlines for job completion. Moreover, it differs from
previous works due to TSCH attributes i.e. by accommodating the usage of differ-
ent frequencies, the maximum allowable transmission rates of the frequency which are
time-varying.

3.2 System Model and Assumptions


We consider a time-slotted IEEE 802.15.4-2015 network, where the nodes are managed
by the gateway in a centralized manner as shown in Figure 3.1. The network consists
of static nodes, and their locations are assumed to be known. Each node equipped with
a radio has a communication range Rf , and the radio is assumed to transmit at a fixed
transmission power. In addition, different channels can support different link capacities
and transmission ranges. We are given a set of nodes nk where k ∈ {1, 2, · · · , N },
characterized by its frequency f ∈ {1, · · · , F } and its time slot t ∈ {1, · · · , T }. A
communication graph G(V, E) is used to model the network, where every node k ∈ V
corresponds to a device in the network, and there is a link e = (u, v) ∈ E if there
exists a common channel available between u and v. Transmission is successful if the
distance between them ku − vk ≤ Rf condition is satisfied.
At the beginning of the slot frame, each node nk calculates the transmission ca-
pacity of the channel for each available frequency in time slot t, and transmits this
information to the gateway in addition to the number of packets in its buffer (Qk ). In
this way, the gateway constructs a matrix U = [Uk,f,t ], where Uk,f,t is the number of
packets that can be transmitted by node k using frequency f in time slot t. Upon col-
lection of all state information such as topology information, traffic generated by each
node etc., the scheduler which resides at the gateway determines a transmission sched-
ule applying its scheduling policy and broadcasts it to the nodes. The scheduler decides
on the time slot and frequency assignment with the goal of maximizing the throughput.
Let Ck,f,t denote the Shannon’s capacity of the link lk,f,t between nk and the gate-
way GW . Ck,f,t is a function of the signal-to-noise ratio SN Rk,f,t and represents the
theoretical upper bound. In the calculation of Ck,f,t , only the background noise is con-

20
3.2. System Model and Assumptions

GW

࢔ࡺ

࢔૜
࢔૛
࢔૝ ࢁࡺǡࡲǡࢀ
࢔࢑
࢔૚

ࢁ࢑ǡࢌǡ࢚ ࢁ࢑ǡ૛ǡ૚ ࢁ࢑ǡࡲǡࢀ


Timeslot
Channel offset

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 }

sidered as we focus on an orthogonal frequency assignment as shown below:

Ck,f,t = Blog2 (1 + SN Rk,f,t ) (3.1)

where B is the channel bandwidth. Consequently, we can calculate the throughput that
will be obtained if nk transmits at lk,f,t .

Mk,f,t = Ck,f,t T (3.2)

where T is the slot frame duration. Note that nk can not transmit more than the number
of packets in its buffer; Accordingly;

Uk,f,t = min(Mk,f,t , Qk ) (3.3)

Considering the binary variable Xk,f,t defined as:

21
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints

if node nk transmits using



 1


frequency f in time slot t;
Xk,f,t =

 (3.4)

0 otherwise;

~x = [Xk,f,t , k ∈ {1, · · · , N }; f ∈ {1, · · · , F }; t ∈ {1, · · · , T }] is the scheduling


decision vector with elements Xk,f,t . Note that Xk,f,t is a function of the information
available to nk . We calculate the total throughput in TSCH network as
N X
X F X
T
M= Uk,f,t Xk,f,t (3.5)
k=1 f =1 t=1

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.

3.3 Problem Formulation


In this section, we introduce the problem formulation for the throughput maximization
and delay minimization.

3.3.1 Throughput Maximization Problem


Given the Uk,f values determined in the first phase, we introduce the binary integer
linear programming to maximize the total throughput as follows:
N X
X F X
T
P3.1: max Uk,f Xk,f,t (3.6)
k=1 f =1 t=1
s.t
F X
X T
Xk,f,t ≥ 1; ∀k ∈ N (3.7)
f =1 t=1

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

Xk,f,t ∈ {0, 1}; ∀k ∈ N ; ∀f ∈ F; ∀t ∈ T (3.10)


In the problem formulation, the objective function in Equation (3.6) maximizes the total
throughput of all the nodes in the TSCH network governed by the gateway. At least one
time slot is allocated to each node as indicated by the constraint in Equation (3.7), thus
achieving temporal fairness. Without this temporal fairness constraint in Equation (3.7),
some nodes with bad channel conditions may end up not sending a packet for a long
time. This constraint guarantees each node to send a packet. The constraint in Equa-
tion (3.8) is used to prevent collision among the nodes, by guaranteeing that at most
one node can transmit in a certain slot and frequency. Node k cannot transmit more
frequencies than the number of antennas at the same time as indicated by constraint in
Equation (3.9) because a node’s antenna can only tune to at most one frequency at a
time, and finally constraint in Equation (3.10) indicates a binary decision variable. Note
that, the problem formulation is valid for both single antenna i.e., ak = 1 ∀k ∈ N and
multiple antennas i.e., ak > 1 ∀k ∈ N . The use of multiple antennas provides the need
for simultaneous data transmission using different frequencies.
We assume in the simulations part of this work that the buffers of the nodes are
continuously backlogged; i.e., there are always enough packets to be transmitted. This
condition is relevant in order to adequately access our proposed scheduling algorithms
by avoiding any possible traffic fluctuations.

3.3.2 Delay Minimization Problem


In this section, we formulate the scheduling problem in terms of delay minimization.
The problem formulation is said to be a non-linear binary integer programming with
linear constraints as shown below:
N X
X F X
T
tUk,f Xk,f,t
k=1 f =1 t=1
P3.2: min N X
F X
T
(3.11)
X
Uk,f Xk,f,t
k=1 f =1 t=1

s.t
N X
X F X
T
Uk,f Xk,f,t > 0; (3.12)
k=1 f =1 t=1

(3.7), (3.8), (3.9), (3.10) (3.13)


When Xk,f,t = 1, each one of Uk,f waits for t number of time slots, starting from the
beginning of the schedule. Scheduling delay is used and refers to the number of time
slots that a packet has to wait until its transmission; given that the packet is scheduled
for transmission in that particular schedule. Therefore, the total scheduling delay of
these Uk,f number of packets is equal to tUk,f . The numerator of the objective function
in Equation (3.11) denotes the total scheduling delay experienced by all transmitted

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].

3.4 Throughput Maximizing Scheduling Algorithms


3.4.1 Graph-Based Theoretical Approach
In this section, we propose a polynomial-time algorithm for the binary integer linear
programming of the throughput maximization problem and investigate on some of the
special instances of the problem.

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

in O∆ except constraints in Equation (3.8) – Equation (3.10). Constraints in Equation


(3.8) – Equation (3.10) are replaced by the following constraints as shown below.
N
X
Yk,f ≤ T ; ∀f ∈ F (3.15)
k=1

F
X
Yk,f ≤ ak T ; ∀k ∈ N (3.16)
f =1

Yk,f ∈ {0, T }; ∀k ∈ N , ∀f ∈ F (3.17)


0
Then ∆ and ∆ are equivalent under the approximation-preserving reduction condi-
tions.
Proof. The two optimization problems ∆ and ∆0 are related. It is adequate to show that
X of ∆ can be converted to a solution Y of ∆0 with O∆0 (Y ) = O∆ (X) in polynomial
time and vice versa. This holds for an optimum solution X ∗ which makes both prob-
lems to have the same optimal solution and a γ-approximated solution for one problem
corresponds to a γ-approximated solution for the other.

With a solution X of ∆, the solution Y defined in Equation (3.14) clearly satisfies


all constraints except Equation (3.8) – Equation (3.10). Constraints in Equation (3.15)
– Equation (3.17) are obtained by summing up T inequalities of Equation (3.8) – Equa-
tion (3.10) respectively, each of which is satisfied by our assumption.
Under the approximation-preserving reduction conditions, ∆ and ∆0 are equivalent.
Given ∆0 , the throughput maximization scheduling problem is equivalent to finding the
vector Y given the following ILP formulation.
N X
X F
P3.3: max Uk,f Yk,f ∀k ∈ N ; ∀f ∈ F; (3.18)
k=1 f =1
s.t
F
X
Yk,f ≥ 1; ∀k ∈ N (3.19)
f =1

(3.15), (3.16), (3.17) (3.20)


It can be seen that the problem formulation (objective function and constraints) of
0
∆ has less variables than ∆ formulation. With this, it is computationally easy to solve

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

We denote Xk,f,t = 1 if uk is adjacent to vf in Bt , and 0 otherwise. With this, it can be


concluded that X satisfies constraints in Equation (3.8) – Equation (3.10).
Algorithm 1 Throughput Maximization Scheduler
Require: F, N , ak , k ∈ N
Ensure: Yk,f values ∀k ∈ N ; ∀f ∈ F
1: E = ∅
2: Build an edge weighted bipartite graph G = (U, V, E) as follows:
3: For each node k ∈ N add a vertex uk to U .
4: For each frequency f ∈ F add a vertex vf to V .
5: For each pair of vertices uk ∈ U and vf ∈ V , add the edge {uk , vf } to E with Uk,f
6: Define the function H in G
7: H(uk ) = [1, ak T ] ∀k ∈ N ;
8: H(vf ) = [0, T ] ∀f ∈ F
9: Find a maximum weighted B of G
10: For all k ∈ N and f ∈ F, we denote by Yk,f the number of edges between vertices
uk and vf in B

Algorithms for the Throughput Maximization Scheduling Problem

1. A Polynomial Time Algorithm

Theorem 2. There is a polynomial time algorithm to address the throughput maximiza-


tion scheduling problem.
Proof. We show that Algorithm 1 is the optimal algorithm for the throughput maxi-
mization scheduling problem. In Algorithm 1, we can see that the lower bound 1 and
upper bound ak T of H(uk ) in line 7 is equivalent to constraints in Equation (3.19) and
Equation (3.16) respectively. Moreover, line 8 which denotes the upper bound T of
H(vf ) corresponds to constraint in Equation (3.15). As G is a bipartite graph, step 9 is
also solvable in polynomial time.
2. Special Instances

We investigate the combinatorial properties of certain instances of the throughput


maximization scheduling problem.

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.

Instance 2: If constraints in Equation (3.16) and Equation (3.19) are ignored in ∆

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.

3.4.2 Auction-Based Scheduling Approach


In this section, we propose an auction-based scheduling algorithm using first price
sealed bid mechanism to address the optimization problem formulated in Equation
(3.6) – Equation (3.10). Our motivation for using a first-price sealed-bid auction in
designing sub-optimal scheduler for the throughput maximizing scheduling problem is
manifold. First, Uk,f values of any node k are independent from other nodes’ values,
and each node knows only its own Uk,f , namely its bid value. Since the bid values are
independent and does not influence other bid values, the auctions are held in a sealed
bid fashion. Secondly, first-price sealed-bid auctions are used in order to maximize the
total throughput where an auctioned frequency time resource pair (F T RP ) is assigned
to the node who has the highest bid among all other bids. The result of an auction with
respect to an F T RP does not alter another auction result if they occur concurrently.
In our TSCH model, we assume that all nodes managed by the same gateway have
the same number of transceivers. The auctioning procedure requires three main identi-
fiers which are:
1. The auctioned resources r
2. The bidders
3. The auctioneer
We indicate the auctioned resources as F T RP ; the bidders as the nodes in the network;
and lastly the auctioneer as the gateway (where the scheduler resides).
If we ignore the constraints in Equation (3.7), Equation (3.9) and Equation (3.10),
then the optimal solution is achieved when a F T RP is assigned to the node k that has
the maximum Uk,f value for the frequency f (of this resource r). The aim is to assign
at least one F T RP to each node, and to avoid any starving node at the end of the al-
gorithm. A starving node is indicated as the node that has not been assigned any time
slot during any stage of the algorithm. Our proposed scheduling algorithm is explained
through steps 1 to 6 below and for the sake of clarity, we also provide an auction flow

28
3.4. Throughput Maximizing Scheduling Algorithms

diagram in Figure 3.2.


STEP 1: For each frequency f , find the node who transmits the maximum number of
packets using that frequency. Assign the frequency to that node for all time slots of the
slot frame period. In other words, assign f to node k where k = argmaxk Uk,f . The
number of frequencies assigned to node k at the end of step 1 is identified as rk .
STEP 2: If every node is assigned at least one F T RP and rk ≤ ak , ∀k, end. Otherwise,
each node that is assigned more than one frequency sorts its frequencies according to
their Uk,f values. If any node k has rk > ak , go to step 3, otherwise go to step 6.
STEP 3: Do we have a starving node? if yes, go to step 4, otherwise go to step 5.
STEP 4: Any nk whose rk ≥ ak auctions all time slots of rk − ak of its frequen-
cies which have the smallest Uk,f values. The F T RP s are auctioned simultaneously.
F T RP whose corresponding Uk,f value is the highest one are bided by the starving
node. When the starving node gets a F T RP , it is removed from the auction procedure.
The auctions continue until all the starving node are assigned at least a F T RP or when
there are no more F T RP s. At the end of the auctioning procedure, if we still have
some F T RP s that are not allocated to any node, the remaining F T RP s are auctioned
out to the nodes that have available antennas. Otherwise, if there still exists a starving
node and all resources are assigned, then go to step 6.
STEP 5: Any nk whose rk ≥ ak keeps its ak frequencies with the largest Uk,f values.
The auction algorithm greedily assigns the F T RP belonging to the remaining rk − ak
to the nodes who have available antennas.
STEP 6: Any nk that is assigned more than one frequency auctions rk − 1 number of
its frequencies which have the smallest Uk,f values until when the auctioned F T RP
runs out or no starving node remains.
The use of first-price sealed-bid auctions simplifies our algorithm and makes it more
efficient, by preventing any additional operations for ensuring the termination of the al-
gorithm.

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 )).

3.4.3 Genetic Algorithm Based Scheduling Approach


In this section, we made a modification to the problem formulation in Equation (3.6) –
Equation (3.10), by introducing deadline constraints to the problem formulation. Intro-
ducing deadline constraints is very important in the automation sectors, such as indus-
trial robot control. It can also be applied to finite energy systems where the objective is

29
Chapter 3. Throughput Maximizing Scheduler under Interference Constraints

Are all nodes Each ݊௞ that is assigned


Assign ‫ ݏܴܲܶܨ‬to No more than one ‫ܴܲܶܨ‬
assigned at least
Start ݊௞ where ݇ ൌ sort out its resource pair
one ‫ ܴܲܶܨ‬and
ܽ‫ݔܽ݉݃ݎ‬௞ ܷ௞ǡ௙ according to their ܷ௞ǡ௙
‫ݎ‬௞ ൑ ܽ௞ ?

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

Auction Procedure ends


‫ ܴܲܶܨ‬are auctioned out
to the nodes that have
available transceivers
If there still exists
No
FTRP that are not
assigned?
Yes

Stop

Figure 3.2: Auction theory based scheduler flow diagram

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

P3.4 max Uk,f Xk,f,t (3.21)


k=1 f =1 t=1
s.t
δk X
X F
Xk,f,t = Pk ; ∀k ∈ N (3.22)
t=1 f =1

(3.7), (3.8), (3.9), (3.10) (3.23)


In the problem formulation, the objective function in Equation (3.21) maximizes the
total throughput of all the nodes in TSCH network governed by the gateway. Constraint
in Equation (3.22) is used to ensure that each node has to transmit a certain number of
packets within a deadline frame. Each node is characterized by the deadline δk where
Pk denote the number of packets that can be transmitted. We also denote Pk as the

30
3.4. Throughput Maximizing Scheduling Algorithms

number of packets that can be transmitted. We assume that one-hop transmission of a


packet consumes one time slot at most.

Generalization of the Deadline Constraint

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).

(n, t, δ) n ∈ {1, 2, . . . , N } t, δ ∈ N. (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

Table 3.1: Symbols

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.

Fitness Function Evaluation

The amount to which a chromosome satisfies a problem requirements depends on how


much it maximizes or minimizes the objective function and how many problem con-
straints it violates. In view of this, our goal is to maximize the throughput and also
minimize the amount of violated deadline for all the transmissions. In maximizing the
throughput, we introduce two values F Ta as maximizing the throughput and F Tb as
the problem constraints it violates. If any constraint is violated, F Ta equals zero and
F Tb is non-zero. Likewise, if no constraint is violated, F Tb equals zero and F Ta is
non-zero. We formulate the fitness value for maximizing the throughput as follows:



 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

where W1 is the number of violations of constraint in Equation (3.7), and W2 is the


number of violations of constraint in Equation (3.8). If W1 + W2 > 0, it means that
some constraints are violated. If W1 + W2 = 0, it means that none of the constraints is
violated.

32
3.4. Throughput Maximizing Scheduling Algorithms

On the other hand, we minimize the current fitness function:


ti
N X
X
f= (δi − rij )Wj (δi , ri ) (3.30)
i=1 j=1

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

NSGA-II Non-dominated Sorting Genetic Algorithm-II (NSGA-II) [64] is based on


the concept of Pareto dominance and optimality and uses a fast non-dominating sort-
ing approach in classifying the solutions. Using sorting in NSGA-II, i.e. rapid and
non-dominated solution can reduce computational complexity. NSGA-II selection op-
erator uses non-dominated rank and a crowding distance [65] value to choose a winner
between two feasible individuals from the parent population.

NSGA-III Non-dominated Sorting Genetic Algorithm-III (NSGA-III) [66], is an im-


proved version of NSGA-II, able to efficiently evolve solutions where problems in-
clude a large number of objectives. Since we are dealing with a single objective prob-
lem, NSGA-III will pick a random solution for its recombination and mutation opera-
tors. The key behind the success of NSGA-III is the niching based selection operator,
which adapts pressure automatically according to the dimensionality of the problem in
hand. The major difference between NSGA-II and NSGA-III is replacing the crowding-
distance-based niching [65] with reference-directions-based niching [66].

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

Round Robin Scheduler and Random Scheduler

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.

3.5 Performance Evaluation


In this section, we examine the performance of the proposed algorithms through a
simulation-based study. We simulate our results using Java. A TSCH network consist-
ing of sensor nodes randomly placed in a square area of 100m × 100m was considered
with the gateway (GW ) located in the center of the network. The x and y coordi-
nates of each node follow a uniform distribution. Every node is equipped with a radio
that has a transmission range of 30 meters. Uk,f values differ owing to the changes in
network conditions, and are obtained for 3000 slot frame periods in each set of simu-
lations where the average is considered. The same set of the Uk,f values are compared
for each scheduling algorithms. Each slot frame period consists of 72 time slots, where
t = 10ms. We use ILOG-CPLEX [28] to solve the throughput maximizing scheduling
problem in Equation (3.6) – Equation (3.10). Table 3.2 summarizes the basic simula-
tion parameters.
In this paragraph, the proposed auction based heuristic scheduler is compared with
Table 3.2: Basic Simulation Parameters

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

Table 3.3: Genetic Algorithm Parameters

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

Selection operator Binary tournament


Search heuristic NSGA-II, NSGA-III, SPEA2, MOCell

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

Figure 3.5: Execution Times of the Algorithm

Table 3.4: Average Execution times in ms of the various Genetic Algorithm Search Strategies

Number of Nodes NSGA-II NSGA-III MOCell SPEA2


10 74 12 30 1665
20 76 14 30 1683
30 77 15 33 1760
40 79 15 34 1774
50 80 16 35 1792
60 80 16 37 1822
70 82 18 39 1868
80 85 18 40 1955
90 89 23 40 1964
100 93 27 42 1983

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

Figure 3.6: Minimizing the violated deadlines

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

Scheduler type Average Throughput


Throughput Maximizing GA, µm = 0.001 84.5
Throughput Maximizing GA, µm = 0.005 87.1
Throughput Maximizing GA, µm = 0.01 88.69
Throughput Maximizing GA, µm = 0.025 84.2
Throughput Maximizing GA, µm = 0.05 77.3
Throughput Maximizing GA, µm = 0.1 62.4
Throughput Optimal 91.7

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.

3.6 Chapter Summary


In this work, we focused on scheduling in IIoT-TSCH networks, where we formu-
lated the scheduling problem in terms of throughput maximizing and delay minimiz-
ing. In the case of delay minimizing scheduling problem, branch and bound algorithms
are usually adopted to address this type of problems. For the throughput maximiz-
ing scheduling problem, we presented a polynomial time algorithm, and we show that
it is the optimal algorithm for the throughput maximizing scheduling problem. We

40
3.6. Chapter Summary

Average Total Throughput (Packets/time-slot)


90

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

In this chapter, we focus on scheduling in IIoT-TSCH networks in terms of throughput


fairness and energy efficiency (EE). In terms of the throughput fairness, a scheme de-
signed only to maximize the overall throughput can be unfairly biased, especially when
there are nodes with persistently bad channel conditions. Therefore, maintaining some
notion of fairness such as max-min fairness is a vital criterion a scheduling algorithm
should address. We incorporate the past transmission history of each node as a satis-
faction parameter in order to provide some degree of fairness among the nodes. We
formulate a Max-Min Fair Scheduler (MFS), where the nodes possibly have multiple
antennas for data transmission. We propose a heuristic algorithm for our fair scheduler
and evaluate its performance through simulations.
In terms of the energy efficiency, we introduce the network throughput modeling
by calculating the link capacity and the total throughput for a slot frame. We also
outline the components of energy dissipation in a TSCH network: transmission, re-
ception, idling and sleeping. These components are very relevant in wireless networks
and multi-channel networks. We formulate the centralized assignment problem as an
Energy Efficiency (EE) maximization problem. The formulated problem is a Nonlin-
ear Programming (NLP), which is mostly known to be computationally hard to solve.
Therefore, we seek for computationally easier solutions. At first, due to the non-
linearity of the problem formulation of the EE maximization problem and identified as
a Concave Fractional Programming (CFP), we transform the EE maximization problem
into a tractable problem by decomposing the problem into an Integer Linear Program-
ming (ILP) problem using Charnes Cooper Transformation (CCT) [69] to provide the
optimal solution as the upper bound for energy efficiency. Secondly, we propose a poly-
nomial time heuristic algorithm, Energy Efficient Scheduler (EES) that aims to provide

42
4.1. Related Works

maximum energy efficiency in a frame. Next, we propose another heuristic scheduler


(referred to as VAM-HSA) based on Vogel’s Approximation Method (VAM) that aims
to address the pitfalls of the greedy allocation in the EES algorithm. We evaluate the
performance of these algorithms by comparing them with the throughput maximizing
scheduler for various performance indexes including probability of success, energy ef-
ficiency by varying the number of nodes and frequencies.
The rest of this chapter is organized as follows. Section 4.1 presents the related
works. Section 4.2 presents the max-min fair scheduler. The proposed heuristic algo-
rithm is also demonstrated in this section. Section 4.3 presents the energy consumption
model and the problem formulation for the energy efficiency maximization. Section 4.4
presents the proposed algorithms to address the energy efficiency maximization prob-
lem. The performance evaluation of the algorithms is also demonstrated in this section.
Section 4.5 concludes the chapter with a summary.

4.1 Related Works


4.1.1 Throughput Fair Scheduling Algorithms
In the scheduling algorithms described in Chapter 3 [13, 39, 40, 42–46], the notion of
fairness fails to exist. Several works in the literature have addressed fairness in the
wireless networks domain [70, 71]. In [70], the authors introduced various distributed
algorithms that allows each node to calculate its max-min link share in a wireless ad-hoc
network. In [71], the authors proposed a distributed MAC algorithm to share network
resources in a fairly way in 802.11-based networks. This paper addresses time and fre-
quency resource pair to be shared fairly among the nodes in the IIoT-TSCH networks.
Unlike most works [70,71], our emphasis in this article is on IIoT-TSCH networks. We
present a fair scheduling model that takes into account the joint provision of throughput
and temporal fairness by considering the throughput values in the past and the use of
this information in the current scheduling decision.
A typical scenario in IIoT applications can be applied to smart grids, where the link
throughput between smart meters and aggregators can be maximized under specific
constraints. The meters can be equipped with directional antennas, while transmitting
at fixed power and the transmissions are coordinated to avoid packet collisions. It can
also be used in industrial process monitoring applications to take advantage of flexible
data rate allocation. For example, in the mining industry [72] require several sens-
ing points such as speed monitors, belt conveyor monitors etc. When the dynamics of
the belt changes, it triggers a spike in data generation until a new equilibrium point is
reached.

4.1.2 Energy Efficiency in IIoT-TSCH Networks


When throughput-optimality is considered, max-weight scheduling is usually a solu-
tion. Simply, the scheduler maximizes the sum of the product of the queue length
and channel rate of all nodes. Thus, the node with the maximum product is assigned
the corresponding resource (e.g. time-slot, frequency). This has been demonstrated
in [73–75]. It is shown in [76] that it holds for networks that have their traffic flows to
be continuously backlogged.

43
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms

Performance of centralized scheduling is strongly dependent on the state of the node


and also the environment awareness of the scheduler. Hence, schedulers usually collect
information from the nodes (i.e. traffic generated from each node, the topology, queue
sizes etc.). However, information exchange may become a burden on the networks in
terms of energy consumption. To overcome this, instead of intensive information ex-
change between the nodes and the gateway, the gateway can rely on less frequently
collected information and estimate the subsequent states. Moreover, the scheduler can
apply frame-by-frame scheduling instead of slot-by-slot allocation. Authors in [13]
propose a frame-by-frame scheduling where each slot frame is assigned to a particular
traffic plane. The length of each slot frame introduces a trade-off in traffic capacity,
network latency and energy consumption.
Furthermore, with the emerging green communications paradigm, IIoT and other
next generation networks are desired to be greener. Hence, protocols for IIoT net-
works must also be designed with an energy efficiency perspective in order to have a
longer battery lifetime. With this, a scheduler located at the gateway should consider
the energy efficiency while determining a schedule. We focus on scheduling in IEEE
802.15.4-2015 TSCH networks from the energy efficiency perspective.

4.2 Max-Min Fairness Scheduler


In this section, we propose a fair based scheduling model for IIoT-TSCH networks.
In prior algorithms in Chapter 3, the throughput maximization scheduling problem is
aimed at maximizing the total throughput while providing time and frequency alloca-
tion in a multi-channel environment where nodes are equipped with multiple antennas.
However, this scheduling model may favour some nodes that have good channel con-
ditions while leading to the deprivation of some other nodes. Hence, sustaining some
notion of fairness among the nodes is an essential criteria a scheduling model should
address. To achieve this aim, we propose a MFS. The goal is to fully maximize the
total throughput while sustaining a certain fairness among the nodes. We present a
scheduling model that attains fairness by maximizing the node throughput that has the
minimum throughput amidst all nodes, and the same time having an efficient commu-
nication between the nodes and the gateway. We utilize the exponential weighted low
pass filter [77] to get the average throughput of node k in the slot frame period. This
can be expressed as
  F T
k 1 k 1 XX
Mω = 1− Mω + Uk,f Xk,f,t (4.1)
ω ω f =1 t=1

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

problem is formulated as follows:


P4.1: max D (4.2)
s.t
  F T
1 k 1 XX
D ≤ 1− Mω + Uk,f Xk,f,t ∀k ∈ N (4.3)
ω ω f =1 t=1
(3.7), (3.8), (3.9), (3.10) (4.4)
The max-min fair scheduling problem is a mixed ILP, which is executed by the gateway
for each slot frame period. The objective function in Equation (4.2) and the constraints
in Equation (4.3) and Equation (4.4) maximizes
k
min M ω (4.5)
k∈N

Providing fairness is indicated by introducing a windowing mechanism that takes into


account the throughput of the nodes in the recent slot frame periods. For example, if
a node suffers from low throughput due to interference from other devices within its
vicinity in the current slot frame period, it can be compensated from the loss in the
next slot frame period due to the history of the throughput information accumulated
in Mωk . ω can be referred to the number of past slot frame periods during which the
network conditions changes are significant. If ω is very small, the scheduler will be
stringent in reacting to the changes in the network conditions. If ω is too large, the
scheduler will react quickly to the fluctuations in the network conditions. When ω = 1,
it denotes that the network conditions in the current slot frame period are considered
without regarding what happened in the past.
Theorem 3. We denote ΓOP T
M F S to be the optimum solution of the problem formulation
of the max-min fair scheduling (M F S) problem in Equation (4.2) – Equation (4.4) for
ω = 1. Let ΓUMBF S be the upper bound for the optimum solution of M F S for ω = 1 and
ΓOP T
T hrM ax be the total throughput of the problem formulation of the throughput maxi-
mizing scheduling problem in Equation (3.6) – Equation (3.10) for ω = 1. Therefore
ΓOP T
T hrM ax
ΓOP T
MF S ≤ΓUMBF S ≤ (4.6)
N
Proof. We denote ΓTMOT F S as the total throughput resulting from the execution of the
max-min fair scheduling problem. Since the throughput of the node with minimum
throughput is indicated as ΓOP T
M F S , the throughput of any other node among the remaining
N − 1 nodes is at least ΓOP T
MF S.
Then,
ΓTMOT OP T
F S ≥ ΓM F S + (N − 1)ΓM F S
OP T
(4.7)
So,
ΓTMOT OP T
F S ≥ N × ΓM F S (4.8)
Since,
ΓOP T T OT
T hrM ax ≥ ΓM F S (4.9)
Therefore
OP T ΓOP T
T hrM ax
ΓM F S ≤ (4.10)
N

45
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms

4.2.1 Algorithm for the Max-Min Fair Scheduling Problem


We present a heuristic algorithm for the max-min fair scheduling problem and it is high-
lighted in steps 1–6. Γk is denoted as the sum of Uk,f values that are yet to be allocated
to node k during any phase of the heuristic algorithm.
STEP 1: Γk are initialized to zero.
STEP 2: We denote Nkav as the list of nodes that have an available antenna for fre-
quency assignment. Nkav is initialized to N because all node’s antennas are accessible
for all time slot at the start of the algorithm. In other words Nkav ← N ∀k ∈ N .
STEP 3: Each F T RP is assigned to the node that has the minimum Γ value among
the nodes that have an available antenna (ties are broken arbitrarily).
STEP 4: We denote Z(k) as the new objective function value, i.e., sum of Γk values if
F T RP is assigned to node k.
STEP 5: The assignment is made to the selected k ∗ . If node k ∗ is assigned as many
F T RP as antennas, then the node is removed from the list of available nodes for time
slot t (Nkav ).
STEP 6: The algorithm terminates after all F T RP s are assigned to some node.
The fairness heuristic algorithm for max-min scheduler greedily selects the node
that attains the best possible objective function at each iteration. This aim to increase
the throughput of the node with minimum throughput in max-min fair scheduling.

4.2.2 Computational Complexity


The algorithm scans for the list of nodes in Nkav , the size of which is no more than N
throughout the assignment of f . Since there are F frequencies, the complexity of the
fairness heuristic scheduler is O(N F ).

4.2.3 Performance Evaluation


In this section, we examine the performance of the fair scheduler through a simulation-
based study. We utilize the same simulation environment as described in Chapter 3.5
and indicated in Table 3.2. We use ILOG-CPLEX [28] to solve the throughput maxi-
mizing scheduling problem in Equation (3.6) – Equation (3.10) and the max-min fair
scheduling problem in Equation (4.2) – Equation (4.4). Figure 4.1 and Figure 4.2
presents the performance of the Throughput Maximizing Scheduler (Throughput-maximum)
and the MFS with N = 5, ω = 5, F = 15 and ak = 2. It can be seen that MFS
achieves uniform throughput among the nodes compared to the throughput maximizing
scheduler at the expense of a minimal reduction in the total throughput, thus attaining
fairness.

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

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

Figure 4.1: Average throughput of all nodes

=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

Figure 4.2: Average total throughput

47
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms

100

Average Total Throughput (Packets/time-slot)


90

80 Throughput-maximum
MFS
70

60

50

40

30

20

10

0
0 5 10 15 20 25 30 35 40

Figure 4.3: Average total throughput vs ω

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

Figure 4.4: Average Jain’s Fairness Index vs ω

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

Average total throughput (Packets/time-slot)


0.9 MFS

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

close proximity between the throughput values.

The average minimum throughput of MFS results (obtained using ILOG-CPLEX)


and our proposed heuristic fairness algorithm (HMFS) are presented in Figure 4.7 when
F = 15, ak = 2 ∀k ∈ N , ω = 5 while varying the number of nodes. It can be
seen that the performance of our heuristic is very close to the optimum value obtained
from ILOG-CPLEX. Moreover, as the number of node increases, the average minimum
throughput decreases. This happens because there are many nodes contending for the
same amount of resources which makes the average minimum throughput to decrease.

4.3 Energy Efficient Modeling


4.3.1 Link Capacity Calculation/ Network Throughput Modeling
This has been demonstrated in Chapter 3.2. The total throughput in TSCH network is
calculated as
XN X F X T
M= Uk,f,t Xk,f,t (4.12)
k=1 f =1 t=1

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

Average total throughput (Packets/time-slot)


18
HMFS

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

4.3.2 Energy Consumption Model


We model the energy consumed by a node, which is the sum of the energy consumed
in each time slot. In each time slot, a node can either transmit, receive or sleep. To
build the energy consumption model, we start by investigating the energy consumed
in each type of slot. A typical time slot duration in IEEE 802.15.4-2015 is 15ms [11].
Figure 4.8 shows the full analysis of the activity of a node in a Transmission-Data-
Receiver-Ack slot at the transmitter, and a Receiver-Data-Transmission-Ack slot at the
receiver. The figure shows the time slot template for the operation of both the sender
at the top and the receiver node at the bottom. The transmitter starts by waiting for
T sT xOf f set, during which it prepares to send the data and configures the radio ac-
cording to the frequency from the schedule. Then, the sender transmits a packet denoted
by T xP acket. We use T sT xP acket to denote the time to transmit a packet. After the
transmission of the last byte of the packet, the source node gives the receiver some
time to prepare the acknowledegment packet by waiting for T sRxAckDelay. If no ac-
knowledegment is received after the Acknowledegment Guard Time (AGT ), then the
transmission is considered failed and the radio switches off.
On the other hand, the receiver must keep the radio on to listen to potential packet
transmission. We denote by Packet Guard Time (P GT ) as the minimum time to wait
for the start of a message after the device has waited for T sRxOf f set to turn its radio
on. If no packet is received, the device turns its radio off. If a packet is received, the
node waits for T sT xAckDelay after the reception of the last byte, before turning its
radio on and sending the acknowledegment.
For simplicity, we reduced the energy states to 4 states which are (1) energy con-
sumed to transmit a packet, (2) energy required to receive a packet, (3) energy con-
sumed in the idle state and lastly (4) energy consumed in the sleep state.

51
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms

Length of timeslot

AGT

Transmitter TxPacket Prepare to receive RxAck

TsTxOffset
TsRxAckDelay

Receiver Process packet


Prepare to receive RxPacket prepare to ack TxAck

TsRxOffset PGT TsTxAckDelay

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)

Transmission (Etx and Erx )

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:

Etx = Ptx tp + Prx ta (4.13)

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

Erx = Ptx ta + Prx tp (4.14)

Idle Energy (Eidle )

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 .

Eidle = Pidle tidle (4.15)

52
4.3. Energy Efficient Modeling

Sleep Energy (Esleep )

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

which is equal to:


XX
E= (Ek,f − Psleep T )Yk,f + N Psleep T (4.20)
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;

4.3.3 Problem Formulation


We formulate the scheduling problem in terms of EE maximization taking into account
the throughput. EE or ηEE can be defined as the ratio of the transmitted data and the
total energy consumption. The objective of maximizing energy efficiency is to utilize
the least amount of energy to transmit a fixed amount of data. In more detail, ηEE can
be defined as
ηEE = M E
(4.22)

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

where the unit is bits per joule.


We formulate the EE maximization problem as
P4.2: max ηEE (4.24)
s.t
F
X
Yk,f ≤ 1; k ∈ {1, ..., N } (4.25)
f =1

Yk,f + Yk0 ,f ≤ 1; ∀k, k 0 ∈ {1, ..., N }k, 6= k 0 ; ∀f (4.26)


Yk,f ∈ {0, 1}; ∀k ∈ N ; ∀f ∈ F (4.27)
where ~y = [Yk,f , k ∈ {1, · · · , N }; f ∈ {1, · · · , F } is the allocation decision vector
with elements Yk,f .
In details, the objective function in Equation (4.24) maximizes the energy efficiency
of the network. The constraint in Equation (4.25) ensures that each node is assigned at
most one frequency due to the assumption that each node has an omni-directional an-
tenna. The constraint in Equation (4.26) is used to avoid collision, by guaranteeing that
at most one user can transmit in a certain slot and frequency offset. The constraint also
prevent simultaneous transmissions to avoid collision which are defined in the interfer-
ence model. Lastly, the constraint in Equation (4.27) indicate a binary variable deci-
sion. The objective function is a non-linear objective formulation and it is difficult to
solve. The integer programming formulation of the EE problem maximizes a nonlinear
concave objective function subject to linear constraints, therefore it is time-consuming
process to search globally optimal solution and moreover using an exhaustive search
is not efficient when considering large instances of the problem. Considering that the
solution space in the energy efficient scheduling problem is huge (N = 15 nodes with
F = 10 frequencies and T = 15 time slots), the size of the solution space consisting of
all possible assignments will be
F
X F! N!
(4.28)
k=0
(F − k)!k! (N − k)!

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.

4.4 Energy-Efficient Centralized Schedulers


In this section, we transform the energy efficiency maximization problem into a tractable
problem. Next, we propose two polynomial-time algorithms to address the EE prob-

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.

4.4.1 Optimal Energy-Efficient Scheduling (EE-OPT)


In this section, we present an optimal methodology for solving the above Binary Non-
linear Programming problem. The integer programming formulation of the EE problem
maximizes a nonlinear concave objective function subject to linear constraints, where
the concavity is due to the logarithm operation in the objective function. We will trans-
form the problem in Equation (4.24) – Equation (4.27) into a tractable problem by
relaxing the binary constraints in Equation (4.27) using CCT [69]. This is done by
introducing new variables ω and Zk,f .
1
ω= P P (4.29)
(Ek,f − Psleep T )Yk,f + N Psleep T
k∈N f ∈F

Zk,f = Yk,f ω (4.30)


With charnes-cooper transformation, Problem (P4.2) can be linearized as follows:
XX
P4.3: max Uk,f Zk,f (4.31)
k∈N f ∈F

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

0 ≤ Zk,f ≤ ω; k ∈ N;f ∈ F (4.35)


It can be observed that P4.3 can be solved using existing algorithms and its objective
constitutes an upper bound for P4.2. Applying the reserve transformation from Zk,f to
Yk,f using
Zk,f
Yk,f = (4.36)
ω
we observe that Yk,f values meet the binary constraint in Equation (4.27) of P4.2 in all
cases. Hence, the optimal solution of P4.3 is both feasible and optimal for P4.2. In the
following, we will introduce our polynomial time algorithms that both aim to improve
the energy efficiency of the TSCH networks as in P4.2 and its linearized version P4.3,
by considering individual node energy efficiencies for assignment.

55
Chapter 4. Throughput Fair Scheduling and Energy Efficient Centralized Scheduling
Algorithms

4.4.2 Energy Efficient Scheduler (EES)

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 ).

Algorithm 2 Energy Efficient Scheduler (EES)


Require: M, E, ηk,f ,
Ensure: ~y : [(f, nk )] Yk,f , nk ∈ Wtx and f ∈ F;
1: if F < Wtx then
2: for f = 1 to F do
Mk,f
3: ηk,f = Ek,f , ∀nk ∈ Wtx

4: k ← arg max ηk,f
k
5: Add {f, n∗k } to ~y
6: Wtx ← Wn∗tx
k

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

4.4.3 Vogel’s Approximation Based Heuristic Scheduling Algorithm (VAM-HSA)


In this section, we describe a more refined heuristic solution to solve for the complexity
of the energy efficiency maximization problem. Our proposal is based on Vogel’s Ap-
proximation Method (VAM) [79] and considers the difference between the assignment
and the next best assignment to avoid drawbacks of the greedy allocation (i.e., making
a good assignment in an initial step does not guarantee a good assignment in the next
step). VAM is a technique for finding a good initial feasible solution to an allocation
problem with the properties of easy implementation and cost effectiveness.
VAM can be used to obtain a feasible solution that is close to the optimal one as
shown in [80] through experimental research that VAM approach yielded the optimal
solution about 20% of the time, and about 80% of the time, it yielded a solution very
close to optimal (0.5% loss of optimality). Unlike other greedy approaches, VAM does
not construct a solution based on a currently best option in terms of the objective value
but choses an option by the maximum amount of opportunity cost which could be
caused if this option is not chosen.
As earlier indicated, E = {Ek,f } and M = {Mk,f } are the set of the energy con-
sumption values and the effective rate respectively. Our proposed scheduling algorithm
is explained through steps 1 to 5 below.
STEP 1: For all (k, f ) pairs, calculate the energy efficiency ηk,f as depicted in Equa-
tion 4.37. We denote Z as the matrix consisting of ηk,f .
STEP 2: Identify the highest two values and the related penalty cost for each row and
column of Z. The penalty cost is defined as the difference of assigning a node to the
frequency that results in the second highest energy efficiency instead of the frequency
yielding the highest energy efficiency. In other words, it is the difference between the
highest energy efficiency and the second highest energy efficiency. We denote βr,i as
the penalty for ith row and βc,j for jth column.
STEP 3: Identify the row or column with the greatest penalty cost and select the high-
est penalty value. Ties may be broken arbitrarily. If the maximum penalty is at βc,l , find
the highest element in the column. If the maximum penalty is at βr,k , find the highest
element in the corresponding row.
STEP 4: We indicate ηk,l to be the highest element in either case. Then we assign
frequency l to nk . Eliminate all the entries related to the selected node and frequency
pair by setting ηi,l = 0 for all i ∈ {1, ..., N } and ηk,j for all j ∈ {1, ..., F }.
STEP 5: Repeat STEP 2, STEP 3, STEP 4 until all the requirements have been met
(i.e., stop if all nodes are assigned a frequency, otherwise go to STEP 2).
Computational Complexity
The overall complexity of VAM-HSA is Omin(N, F )(N F ). Considering the gen-
eral case where there are more nodes than the number of frequencies in the system, the
complexity of VAM-HSA can be approximated as Omin(N, F )(N F 2 ).

4.4.4 Performance Evaluation


In this section, we evaluate the throughput and energy efficiency performance of the
proposed schedulers. As an upper bound for the throughput efficiency, we introduce the
throughput
P P P maximizing scheduler (Throughput-maximum), which solves the following
Uk,f Xk,f,t subject to the same set of constraints. Basic performance metrics
k∈N f ∈F t∈T

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

Figure 4.9: Probability of success for increasing F

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

Figure 4.10: Probability of success for increasing N

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

Figure 4.11: Energy Efficiency

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.

4.5 Chapter Summary


In this chapter, we devised various centralized channel assignments in terms of energy
efficiency and throughput fairness. In terms of the throughput fairness, a max-min fair
scheduling (MFS) problem was formulated. A heuristic algorithm was proposed to
address the problem and its performance was demonstrated via simulation study. We
made an assessment of MFS with respect to the average total throughput and Jain’s
fairness index varying ω and the number of nodes. We observed that the scheduling
model can execute MFS when the number of nodes is large, which makes fairness to

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.

5.1 Related Works

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

5.2 Why SDN/NFV in IoT


SDN and NFV solutions are expected to be relevant in addressing different challenges
in an IoT environment. In this section, we summarize the key advantages in employing
SDN/NFV in IoT.

Solving Interoperability in the Internet of Things


The interoperability of IoT devices can be solved using SDN by overcoming hetero-
geneity of devices. Interoperability challenge in IoT arises when we have heteroge-
neous devices exchanging data formats and diverse protocols for Machine-to-Machine
(M2M) data exchange, and also with the interconnectivity of large number of different
devices, there is lack of cooperation and capability mismatch between devices which
can hinder the performance of the network. However, SDN approach brings flexibility
which can be used to allow different objects connected to heterogeneous networks to
communicate with each other. This will be able to handle simultaneous connections
of various communication technologies. Network management decisions such as rout-
ing, scheduling can be done at the SDN controller and moreover, the programmability
allows for any updates for new proposals or even clean state approaches.

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

The rapid growth of embedded technologies is leading to enormous deployment of


miniaturized devices (sensors, actuators, etc.). As the number of devices grows, the
data produced by these devices grow unboundedly. Thus, handling the growth of num-
ber of devices and information they produce is a massive challenge in IoT. SDN can
improve scalability issues [96] in IoT network where the SDN controller oversees the
network domain and communicates with other SDN controllers to exchange aggregated
network-wide formation. The distributed SDN model tends to share the load among
several controllers. This easily helps in adapting to the users and applications. This
is a distributed way and spreads functionality across several nodes. This brings many
benefits such as (1) scalability (2) reducing latency from the sensor nodes to closest
controller, (3) load balancing (4) fault-tolerance among others. With multiple con-
trollers, this can be used to offload computational tasks which brings benefits in terms
of administration. Each domain has its SDN controller which controls all traffic in its
domain. When one SDN controller fails, another SDN controller can take control to
avoid network failures.

65
Chapter 5. A SDN-IoT Architecture with NFV Implementation

Application Specific Requirements


As earlier stated that some IoT applications works in real-time, so a need to support
real-time applications is required in an IoT environment where it is expected to monitor
different things at different time periods. SDN is able to strengthen network controlling
ability and also perform dynamic adaptation of control logic by the devices in real-time.
SDN and its extension to the Wireless Sensors and Actuators Domain will give the
possibility to support application specific requirements with control logic that jointly
act at the network and processing level enhancing the QoS/Quality of Experience (QoE)
of the entire system.

Service Chain Simplification and Application Provisioning


SDN and NFV can make service chain shorter and simpler by increasing the efficiency
and capacity of the network without radically changing hardware making it easier to
spin up IoT applications. Service chaining enables network operators to configure dy-
namically in software without having to make changes to the network at the hardware
level. Expansion of the network can be done through the use of an orchestrator where
new services can be added without the need of upgraded support for new devices as re-
quired in the traditional networking approach. The orchestrator will be responsible for
service provisioning and network connectivity where the need for over-provisioning is
not needed since addition capacity can be added when needed. SDN & NFV will help
service providers to enhance their service delivery infrastructure which is very impor-
tant in the contribution to the IoT. This addresses the issues of network ossification
by utilizing the network resources in a better way and transiting to software-centric
programmable networks due to the rapid evolution and dynamicity of IoT applications.

5.3 SDN-IoT Architecture with NFV


In this section, we propose an architecture with SDN-based IoT framework coupled
with NFV. Firstly, we take a look at an IoT Architecture, then we improve our architec-
ture with SDN-enabled IoT and NFV-enabled IoT, then lastly, we introduce SDN-IoT
with NFV.

5.3.1 IoT Architecture


Figure 5.1 shows an IoT Architecture which is composed of three layers according to
Al-Fuqaha, Ala, et al [97] namely Perception Layer, the network layer and the applica-
tion layer.

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

Figure 5.1: An IoT Architecture

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.

5.3.2 SDN-IoT Framework


This section introduces the typical architecture of an IoT system with the adoption of a
SDN as described in Figure 5.2. As illustrated in the introduction section, SDN allows
network administrators to manage network services through abstraction of higher-level
functionality. The network layer includes different access networks that provide con-
nectivity to devices and/or gateways by means of heterogeneous technologies. The
network layer as shown in Figure 5.1 is now divided into two layers: the data layer and
the control layer while other layers remain unchanged. The data layer comprising of
SDN switches and routers do not make the decision making of the information being
received/transmitted by/to the sensing layer. Instead they leave the decision making to
the control layer by allowing programmable control of the switches and routers through
a southbound API such as OpenFlow. Alternatives to Openflow include protocols like
NETCONF, OVSDB, BGP, PCEP etc. which have different functions and capabilities
and they can be used to manage different aspects of network operation. The control
layer is logically centralized by the role of the SDN controller that operate on a global
network view leveraging the information received via the southbound API and can pro-
vide an innovative solution in terms of system development and implementation. It
computes forwarding rules, implement scheduling and routing schemes and deals with
network services such as mobility, QoS, and load balancing among others which are
delivered to the application layer via northbound APIs. SDN centralized controllers
may pose scalability problems, however controllers such as Open Network Operating
System (ONOS) [98], OpenDaylight (ODL) [99] operates in a distributed way to solve
this issues.
One of the key objectives of the proposed architecture is the replacement of tra-
ditional gateways with SDN-Gateways. The use of SDN-enabled gateway will offer
good solutions for today’s gateway problem listed by Zachariah, Thomas, et al [100].
Since the sensing devices are connected to the network domain via a gateway through
local network technologies that are either wireless such as 6LowPAN, Bluetooth, Zig-
Bee etc. or wired, the IoT gateway must be flexible enough to manage huge amount
of data, QoS, security and various available resources etc. Due to the heterogeneity of
IoT devices, the SDN-enabled gateway is able to accommodate huge amount of traffic
coming from various heterogeneous smart objects and also employ intelligent routing
protocols and caching techniques to route traffic across the less constrained paths.

5.3.3 NFV-IoT Architecture


This section introduces how IoT architecture can be redesigned with NFV as shown
in Figure 5.3. Re-architecting IoT architecture with NFV have advantages in terms of
flexibility and cost reduction. NFV’s ability to distribute intelligence throughout the
network enables real-time analytics and business intelligence. Thanks to NFV, the net-
work services of the general purpose servers/devices are virtualized, thus eliminating

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

Figure 5.2: SD-IoT Architecture

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

End-to-End Orchestration NFVO

NFV MANO
VNFM

VNFs VIM

IoT Heat
WSN
General purpose
servers/devices

IoT
RFID

General purpose
servers/devices

Figure 5.3: A NFV-IoT Architecture


Slide

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.

5.3.4 SDN-IoT Architecture with NFV


The enabling of NFV for IoT complimented with SDN offers incredible opportuni-
ties which can increase the network efficiency and network agility of IoT applications.
The decoupling of the network control and management function from the hardware
makes the infrastructure to be flexible and sustainable by implementing network func-
tions in the cloud which reduces the dependency of emerging wireless technologies on
hardware. We propose a SDN with NFV architecture for IoT as shown in Figure 5.4
This architecture builds upon the SDN architecture for IoT and considers a virtualized
approach for the IoT framework. The architecture conforms to the NFV architecture
shown in Figure 2.3 with a few modifications to accommodate the SDN concept. The
data layer comprises of different network resources organized into virtualized resources
thanks to NFV. In this work, we assume that all VNF are SDN-enabled, because in some

70
5.3. SDN-IoT Architecture with NFV

Application
IoT Apps OSS/BSS IoT Apps
Layer

Management and Orchestration

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

Figure 5.4: SDN-IoT Architecture with NFV

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

Figure 5.5: SDN/NFV Edge Node for IoT Services

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.

5.4 Methodology and Evaluation Environment


In this section, we evaluate the performance of SDN on IoT devices. At first, we present
the methods and the tools used for the extraction of the results. In our implementation,
we made use of the Open Network Operating System (ONOS) [98] controller with the
extension of SDN-WISE [87]. SDN-WISE is a project designed to provide a SDN solu-
tion for WSN. It is a stateful approach to reduce the amount of information exchanged
between sensor nodes and to make the sensor nodes programmable. SDN-WISE was
found to be very challenging but not currently maintained. SDN-WISE was selected to
be the basis of our research work and used for our performance evaluation.

72
5.4. Methodology and Evaluation Environment

SDN Controller

Sink

Node 1 Node 6

Node 2 Node 5

Node 3 Node 4

Figure 5.6: Single-hop mesh topology

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

Figure 5.7: Multi-hop topology

of ContikiRPL which implements the RPL protocol, as specified in version 18 of the


IETF RPL draft [16].
We carried out our evaluation by considering two different topologies which are
the single-hop mesh topology and the multi-hop topology as shown in Figure 5.6 and
Figure 5.7 respectively. Both topologies are made up of 7 nodes including the sink
node. In the single-hop mesh topology, each node is placed at one hop distance to the
sink node, where in the multi-hop topology, multiple hops are considered. For example
in figure 5.7, node 6 will require multiple hops to get to the sink. To clarify, Figure 5.6
and Figure 5.7 are indicated as Scenario 1 and Scenario 2 respectively.
No benchmark network setup has been standardized in the literature for evaluat-
ing both RPL and SDN performance. The performance was evaluated using Contiki
OS with Cooja simulator. The available SDN-WISE source code is integrated with
the Contiki OS. Z1 motes2 was emulated for the simulation evaluation and OpenMote-
CC2538 was used for the real hardware measurement. We present results collected
from a testbed of 7 OpenMote CC2538 motes distributed over a floor of an office build-
ing. The node’s spacing between each node is in 15 meters on the average. 60 bytes was
chosen as the payload size which corresponds to all necessary information for applica-
tion operations. The Directed Acyclic Graph (DAG) was carried out by RPL protocol.
Each simulation lasted for 60 mins. In case of assessment, we made different analysis
by comparing both SDN and RPL in both simulation and real-based experimentation.
The details of the setup are presented in Table 5.1.
2 http://wwww.zolertia.io/z1

74
5.5. Performance Evaluation

Table 5.1: Basic Experimental Parameters


Topology Value
Topology 1 Single-hop, Scenario 1, see figure 5.6
Topology 2 Multi-hop, Scenario 2, see figure 5.7
Number of nodes 7 (including the sink)
Node spacing 15m (in average)
Routing model RPL, SDN
Duration 60 mins
Traffic Pattern 1 pkt/10sec
Payload size 60 bytes
Radio Propagation 2.4GHz
Experiment Value
Radio Transceiver CC2538
Simulation Value
Radio Transceiver CC2420

5.5 Performance Evaluation


This section discusses the performance evaluation of SDN and RPL for both single-
hop mesh topology and multi-hop topology. In Figure 5.8 and Figure 5.9, we show the
packet loss distribution for both SDN and RPL for both scenarios. Packet loss occurs
due to the instability of the radio links and when the path is not established between the
source and the destination nodes. It takes a shorter time for the paths to be established
in Scenario 1 due to the one-hop distance from each node to the sink. The packet loss
is small in Scenario 1 for both SDN and RPL compared to Scenario 2, which is higher.
The packet loss slightly changes for the same hop distance due to the fluctuations of
the radio links. In Scenario 2, the packet loss increases with increase in the number of
hops. It takes more time to establish a path between intermediate nodes, thus packets
are dropped until the path is established. Nodes at the same distance have more or less
approximate packet loss values, except where the radio links fluctuate and cause more
packet loss. The figure also shows that there are fewer packet loss in RPL compare to
SDN.
Figure 5.10 shows the average convergence time for the whole topology to be dis-
covered in order to make routing decisions. In both scenarios, the convergence time
for SDN increases more than the RPL. In the case of SDN for both scenarios, the con-
vergence time should be equal or greater than 20 secs because the report messages are
programmed at every 20 secs to send message and report to the controller. In Scenario
2, the convergence time in the real-hardware based measurement increases more than
the simulation-based due to the failure for the controller to start on time as envisioned
when it tries to access the USB serial line based on running background programs, thus
creating some delay for the start of the controller.
In Figure 5.11, we illustrate the average total control messages overhead for both
scenarios. Control messages overhead considered in this article are the flow requests
and responses that the controller receives from the nodes whenever there is no match-
ing entry in the flow table. From the experiment performed with SDN, the control
messages overhead increase due to the instability of the radio links. This makes the

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

180 SDN Real


RPL Real
160

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

450 SDN Real


SDN Simulation
400

350
Requests-responses/hr

300

250

200

150

100

50

0
Scenario 1 Scenario 2

Figure 5.11: Control Message Overhead Distribution

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 #

Figure 5.12: Flow Rule Entry time

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.13: Average Packet Loss vs 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.

5.6 Chapter Summary


In this section, we draw out the conclusion from the experimental results. We also dis-
cussed about the limitations and lastly, we discussed about the future work.
The growth of the IoT is increasing significantly every day as consumers, businesses,
and governments recognize the benefit of connecting inert devices to the Internet. At
first, this thesis chapter defined where and how to apply SDN and NFV in an IoT
“framework”. Then, we proposed a SDN-IoT architecture coupled with NFV to address
the issues of scalability and mobility in IoT network. By virtualizing the IoT gateway
makes it possible to be dynamic, scalable and elastic in an IoT environment. We eval-
uated our proposed architecture by performing a simple SDN and RPL evaluation on
resource-constrained real hardware-based devices, which are the main characteristics of
the IoT. RPL was used as the reference point for routing to compare the performance
of SDN with RPL. Various performance metrics were carried out to demonstrate the
effectiveness of SDN and RPL in a single-hop mesh topology and multi-hop topology.
From the performance evaluation, the experimental works described how flexible
SDN is in terms of handling the dynamicity changes of the network. We were able

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

Figure 5.14: Average Packet Delay

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.

The main contributions of this thesis can be summarized as follows:


1. Scheduling in TSCH networks: This thesis proposed a scheduling model for cen-
tralized TSCH networks managed by the gateway. Our model consisted of a set
of schedulers with different features. All scheduling problems in this thesis were
concentrated on the data transmission of the nodes to the gateway, making fre-
quency, time slot, and data rate assignments to the nodes. The scheduling model
tends to avoid collisions among the nodes and ensured that communications be-
tween the nodes and the gateway are maintained.
At first, we formulated the scheduling problem as throughput maximizing and
delay minimizing for IIoT-TSCH networks. We proposed a polynomial time al-
gorithm for the throughput maximizing, which showed the optimal algorithm for
the scheduling problem. Certain instances of the throughput maximizing schedul-
ing problem were discussed along with their combinatorial properties. In addition
to the polynomial time algorithm, a first price sealed bid auction was presented
to address the throughput maximizing scheduling problem. The proposed auction
algorithm, a sub-optimal scheduler yielded a very close results to the optimal re-
sults. We observed that having many antennas more than 2 does not increase the
average throughput. Moreover, the computational complexity for the best case
scenario is O(N F ) while for the worst case scenario is O((N F ) + N 2 logN ). We
added deadline constraints to the problem formulation of the throughput maximiz-
ing scheduling problem, and we proposed a GA based sub-optimal scheduler to
address this problem by maximizing the throughput and as well as minimizing the

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.

2. Fairness in TSCH Networks: This thesis elaborated on fair scheduling in TSCH


networks. We formulated a max-min fair scheduling (MFS) problem that provided
throughput fairness. The proposed scheduling scheme is a very general model
that jointly accomplished many goals such as frequency, time slot, data rate to the
nodes which possibly have multiple antennas, in a heterogeneous multi-channel
and multi-node scenario. The scheduling model incorporated the past transmis-
sion history of each node to provide some degree of fairness among of the nodes.
A distinguishing attribute of the proposed MFS problem is that it takes into ac-
count the throughput values of the nodes in the recent past. In this way, the re-
duction in throughput experienced by the nodes in the past can be compensated
for in subsequent slot frame periods. The fair schedulers also have the property
of providing joint temporal and throughput fairness. An assessment was made in
terms of the average total throughput and Jain’s fairness index varying the num-
ber of nodes and the windowing mechanism ω. We observed based on simulation
results that increasing ω does not affect MFS. We developed a heuristic algorithm
to address MFS problem, and based on simulations, the algorithm yielded a close
performance to the optimal one. The set of scheduling algorithms proposed in this
thesis can dynamically change the executed scheduler according to the network
conditions. In particular, the scheduling model can implement the throughput
maximizing scheduler when the number of nodes is small because the simulation
result indicate the fairness index of the throughput maximizing scheduler is only
slightly lower than the MFS. Therefore, it does not make sense to sacrifice from
total throughput when there is a small number of nodes. Moreover, the scheduling
model can execute MFS when the number of nodes is large, which makes fairness
to be significantly considered. In addition, there is no priority difference between
nodes, and the channel conditions between the nodes is fairly random.

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

The contribution of this chapter provides an experimental measurements comparison


of the protocol stack implementations running on different platforms i.e. OpenMote-
CC2538 and Tmote Sky. In particular, energy consumption measurements are con-
ducted to characterize the behaviour of TSCH and ContikiMAC in OpenWSN and
Contiki operating systems. Contiki OS provides various RDC protocols that follow the
asynchronous paradigm, where ContikiMAC is the default protocol and most widely
used.

A.1 Energy Consumption Measurements and Results


There have been tremendous advancement in the development of different areas in
WSN but regrettably the energy densities of the batteries did not follow the same trend.
In order to ensure the expected lifetime in a WSN, it is important to properly define
the work-flow of the nodes, evaluating and measuring their energy consumption. Such
evaluation may provide feedback during application design phase, consenting to im-
prove the overall energy efficiency [101]. The energy consumption profiling of a node
is also an important stage in the deployment of a WSN, since it consents to properly
configure the duty-cycle and the number of transmissions as a function of the avail-
able energy. There are several methods to estimate the energy consumption of a WSN
node, including theoretical estimation, direct measurements and usage of simulation
tools [102].
Theoretical estimation relies on the abstraction of the network, including the sur-
rounding environment [103]. It can simplify the modelling procedure, but they cannot
accurately represent the inherent complexity of sensor networks. The accuracy in pro-

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.

A.1.1 Experimental Setup


The measurements presented in this paper uses the OpenMote and Tmote Sky platform.
OpenMote is based on the Texas Instruments CC2538 micro-controller integrating a
Cortex-M3 processing unit and a radio module while Tmote Sky uses a CC2420 radio
module and a MSP430F1611 MCU. A very common series insertion of a small resis-
tance (10Ω) is connected with the devices to measure the consumed current as shown
in Figure A.1. An oscilloscope is used to measure the current generating very accurate
measurements that can be used to visualize all the steps of data transmission. This setup
allows us to monitor the power consumption when different components of the board
are active, and its time dependence. A key role in the reliability of such measurement is
played by the oscilloscope, the tolerance on the shunt resistor value, the stability of the
supply voltage, and the measurement rate, that should be compatible with the analyzed
phenomena.
Since embedded systems usually operate at constant supply voltage, power con-
sumption measurements can be carried out indirectly, by measuring and monitoring the
absorbed current. Then, by measuring the voltage drop ∆V = V2 − V1 across the re-
sistor, current I can be measured indirectly, using Ohm’s law, as shown in the equation
below.
∆V V2 − V1
I= = (A.1)
R1 R1
and the absorbed power and the energy consumption can be estimated as
P = I ×V) (A.2)
E = I × V × t) (A.3)
where t denotes the specific reference time interval. The real energy consumption (ex-
pressed in Joule) is measured as the product of the batteries voltage values, the current
measured and the specific time interval as described in Equation (A.3).

A.1.2 Experimental Comparison


We perform two different experimental measurements since we are dealing with two
different hardware platforms (OpenMote-CC2538 and Tmote Sky). At first, we deter-
mine the energy consumption using OpenWSN and Contiki OS with OpenMote boards

86
A.1. Energy Consumption Measurements and Results

Oscilloscope

V1 V2

R1
Vcc Load

Figure A.1: Measurement Setup with an Oscilloscope

(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

Figure A.2: A tree topology using OpenMote-CC2538

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

Contiki with OpenMote


0.45
Data Tx
0.4 Data Rx
Tx ACK
Rx ACK
0.35
Energy Consumption (mJ)

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

Contiki with Tmote Sky


0.5
Data Tx
0.45 Data Rx
Tx ACK
0.4 Rx ACK
Energy Consumption (mJ)

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

[15] Vijay Krishna. Auction Theory. Academic press, 2009.


[16] Tim Winter, Pascal Thubert, Anders Brandt, J Hui, Richard Kelsey, Philip Levis, Kris Pister, Rene Struik,
J Philippe Vasseur, and R Alexander. RPL: IP V 6 Routing Protocol for Low-Power and Lossy Networks,
RFC 6550. Technical report, 2012.
[17] J Vasseur, Navneet Agarwal, Jonathan Hui, Zach Shelby, Paul Bertrand, and Cedric Chauvenet. RPL: The IP
Routing Protocol Designed for Low Power and Lossy Networks. Internet Protocol for Smart Objects (IPSO)
Alliance, 36, 2011.
[18] Open Networking Fundation. Software-Defined Networking: The New Norm for Networks. ONF White
Paper, 2:2–6, 2012.
[19] Diego Kreutz, Fernando MV Ramos, Paulo Esteves Verissimo, Christian Esteve Rothenberg, Siamak Azodol-
molky, and Steve Uhlig. Software-Defined Networking: A Comprehensive Survey. Proceedings of the IEEE,
103(1):14–76, 2015.
[20] Hyojoon Kim and Nick Feamster. Improving Network Management with Software Defined Networking.
Communications Magazine, IEEE, 51(2):114–119, 2013.
[21] Bo Han, Vijay Gopalakrishnan, Lusheng Ji, and Seungjoon Lee. Network Function Virtualization:
Challenges and Opportunities for Innovations. Communications Magazine, IEEE, 53(2):90–97, 2015.
[22] Yong Li and Min Chen. Software-Defined Network Function Virtualization: A Survey. Access, IEEE,
3:2542–2553, 2015.
[23] Xavier Vilajosana, Pere Tuset, Thomas Watteyne, and Kris Pister. Openmote: Open-Source Prototyping
Platform for the Industrial IoT. In Ad Hoc Networks, pages 211–222. Springer, 2015.
[24] Tmote Sky Datasheet. Available Online.
[25] WSN Zolertia. platform, z1 datasheet.
[26] M. O. Ojo, S. Giordano, G. Procissi, and I. N. Seitanidis. A Review of Low-end, Middle-end and High-end
I OT Devices. IEEE Access, pages 1–1, 2018.
[27] Juan J Durillo and Antonio J Nebro. jMetal: A Java Framework for Multi-Objective Optimization. Advances
in Engineering Software, 42(10):760–771, 2011.
[28] IBM ILOG CPLEX. V12. 1: User’s manual for cplex. International Business Machines Corporation,
46(53):157, 2009.
[29] STEMLab. Red Pitaya. Documentation and Technical Information, Available Online:
http://redpitaya.readthedocs.io/en/latest/. Products (Accessed on October 31, 2018).
[30] Adam Dunkels, Oliver Schmidt, Thiemo Voigt, and Muneeb Ali. Protothreads: Simplifying event-driven
programming of memory-constrained embedded systems. In Proceedings of the 4th international conference
on Embedded networked sensor systems, pages 29–42. Acm, 2006.
[31] Adam Dunkels, Luca Mottola, Nicolas Tsiftes, Fredrik Österlind, Joakim Eriksson, and Niclas Finne. The
Announcement Layer: Beacon Coordination for the Sensornet Stack. In Wireless sensor networks, pages
211–226. Springer, 2011.
[32] Michael Buettner, Gary V Yee, Eric Anderson, and Richard Han. X-MAC: A Short Preamble MAC Protocol
for Duty-Cycled Wireless Sensor Networks. In Proceedings of the 4th international conference on Embedded
networked sensor systems, pages 307–320. ACM, 2006.
[33] Nicolas Tsiftes, Joakim Eriksson, and Adam Dunkels. Low-Power Wireless IP V 6 Routing with C ON -
TIKI RPL. In Proceedings of the 9th ACM/IEEE International Conference on Information Processing in
Sensor Networks, pages 406–407. ACM, 2010.
[34] Thomas Watteyne, Xavier Vilajosana, Branko Kerkez, Fabien Chraim, Kevin Weekly, Qin Wang, Steven
Glaser, and Kris Pister. O PEN WSN: A standards-based low-power wireless development environment. Trans-
actions on Emerging Telecommunications Technologies, 23(5):480–493, 2012.
[35] Tengfei Chang, Pere Tuset-Peiro, Xavier Vilajosana, and Thomas Watteyne. Openwsn & Openmote:
Demo’ing a Complete Ecosystem for the Industrial Internet of Things. In 2016 13th Annual IEEE Inter-
national Conference on Sensing, Communication, and Networking (SECON), pages 1–3. IEEE, 2016.
[36] Shashidhar Gandham, Milind Dawande, and Ravi Prakash. Link Scheduling in Wireless Sensor Networks:
Distributed Edge-Coloring Revisited. Journal of Parallel and Distributed Computing, 68(8):1122–1134,
2008.

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

You might also like