See discussions, stats, and author profiles for this publication at:
https://www.researchgate.net/publication/306519267
Real Time Operating System for the Internet of Things; Vision, Architecture, and
Research Directions
Conference Paper
· March 2016
DOI: 10.1109/WSCAR.2016.21
CITATIONS
10
READS
8,221
3 authors
, including:
Some of the authors of this publication are also working on these related projects:
FPGA Implementation of Iris Recognition Based on Fast DCT Coding
View project
Power system state estimation
View project
M. Zorkany
National Telecommunication Institute, Egypt
30
PUBLICATIONS
213
CITATIONS
SEE PROFILE
Mothafer A. Hussein Hussein
Middle Technical University
22
PUBLICATIONS
331
CITATIONS
SEE PROFILE
All content following this page was uploaded by
M. Zorkany
on 30 September 2018.
The user has requested enhancement of the downloaded file.
Real Time Operating Systems for the Internet of
Things; Vision, Architecture, and Research
Directions
M. Hussein
Electronics Department
National Telecommunication Institute, NTI
Cairo, Egypt
e-mail: mah.hussein@nti.sci.eg
M. Zorkany
Electronics Department
National Telecommunication Institute, NTI
Cairo, Egypt
e-mail: m_zorkany@nti.sci.eg
Neamat S. Abdel Kader
Electrical Department
Faculty of Engineering, Cairo University
Cairo, Egypt
e-mail: nemat2000@hotmail.com
Abstract
—Internet of Things (IoT) is an environment in which
everywhere and every device became smart in a smart world.
Internet of Things is growing vastly, it is implemented using smart
devices which involve with Embedded Systems (ESs). Real Time
Operating Systems (RTOS) are used in ESs development due to
RTOS added important features as RTOS simplifies development
and makes systems more reliable. Many researches directed to
the Internet of Things, RTOS became a part of IoT development.
In this paper, A generic vision and architecture of RTOS for IoT
and the way it could be implemented in different applications are
presented. Implementation and testing methods of the RTOS for
IoT are discussed. Finally, Research directions in using RTOS
for IoT are discussed.
Index Terms
—Internet of Things (IoT), Real Time Operating
Systems (RTOS), Embedded Systems (ESs).
I. I
NTRODUCTION
Internet of Things is fundamentally a network of connected
devices through the internet which is the physical layer of a
network made up routers and switches, its primary role to
transport data from point to another quickly, but The web
is an application on the Internet [1]. The IoT purpose is to
make things smarter and it provides intelligent services. IoT
consists of sensors, actuators and computing system. Sensors
are used to sense the environment and send this information to
the computing unit through the internet. The computing unit
will process these data and will send the suitable action back
to the actuators which will affect the environment [2]. Briefly,
the IoT is a network of networks as shown in Fig.1.
The world became smart, smart devices are used in smart
systems. Smart systems are embedded systems which have
sensing, actuation and control. Smart systems are the gate to
smart society.Billions of smart devices and systems make up
IoT. The majority of these “things” are embedded systems,
An embedded system is a computer system which is limited in
hardware and does specific tasks, it is embedded in a complete
system. An embedded system could be implemented using
the central processing unit (CPU) and external peripherals,
or implemented using microcontrollers which are CPU with
integrated memory and peripherals. Many of these smart
devices are running a real-time operating system (RTOS).
Fig.1 IoT as network of networks [1]
Real time systems (RTSs) are embedded systems which
have time constrains. RTS has many time requirements where
its output must meet these requirements and the system results
should appear at the right time as they are correct. There are
main two types of real time systems; hard RTSs, and soft
RTSs.
Real Time Operating Systems (RTOSs) are embedded op-
erating systems, it is an operating system running on an
embedded device in a real time system, it provides many
services like; task management, time management, input and
output supervision, memory management, and intertask com-
munication and synchronization. RTOS also has many features
like; reliability, predictability, performance, compactness and
scalability.
Multitasking is a main service provided by the RTOS, it is a
scheduling algorithm apIn many IoT applications, developers
use the RTOS in the application development of the IoT.
The RTOS has many services which enable IoT application
enhancements, many researchers introduce an enhanced RTOS
2016 World Symposium on Computer Applications & Research
978-0-7695-5832-5/16 $31.00 © 2016 IEEE
DOI 10.1109/WSCAR.2016.21
106
2016 World Symposium on Computer Applications & Research
978-1-5090-4114-5/16 $31.00 © 2016 IEEE
DOI 10.1109/WSCAR.2016.21
72
for IoT applications, and they propose different architectures
related to the RTOS for the IoT, they prepare frameworks
for that.plied to the system tasks in which tasks will run as
if they are running in parallel, it makes the system design
and maintenance are easier. Any complicated smart system
needs to use an RTOS for multitasking and to benefit from its
features.
In many IoT applications, developers use the RTOS in the
application development of the IoT. The RTOS has many
services which enable IoT application enhancements, many
researchers introduce an enhanced RTOS for IoT applications,
and they propose different architectures related to the RTOS
for the IoT, they prepare frameworks for that.
There are many researches in IoT and RTOS. But most
of these researches deal with each of them separately. The
number of researches which merged IoT with RTOS are
limited. This paper presents the main architecture of the RTOS
for the IoT. It introduces the current hot research areas related
to the RTOS for the IoT. In each direction, sample applications
are presented.
In this paper, Section II presents the Internet of Things
Overview. Section III presents an illustration of the Real
Time Operating Systems. Section IV presents the proposed
general architecture of RTOS for IoT. Section V discusses IoT
Research Directions using an RTOS as an embedded powering
operating system. This research has three important areas; IoT,
RTOS and finally RTOS for IoT, the related work is presented
in Section V.
II. I
NTERNET OF
T
HINGS
Internet of Things (IoT) is growing as it is one of the recent
hot research areas. IoT is fundamentally a group of networks
connected to the internet. It consists of actuators, sensors, and
computing system to provide smart services to society [3]. IoT
connects everything in everywhere to control, Fig.2 shows a
schematic diagram for the IoT based on data exchange. The
main features of the IoT devices are:
•
Unique identify.
•
Wireless communication technologies (RFID, Bluetooth,
Wi-Fi, and 3G).
•
Sensors to sense the environment.
•
Remote controlling through embedded computers.
•
Cloud services.
The main idea of the IoT is the impact which has in
everyday-life aspects. The main concepts, standards and tech-
nologies are shown in Fig.3. It has a wide range of ap-
plications, the IoT top applications [5]; smart cities, smart
environment, smart water, smart metering, security and emer-
gencies, retail, logistics, industrial control, smart agriculture,
smart animal farming, home automation, and e Health.
IoT faces many challenges, like ; providing full interoper-
ability of the interconnected devices, Increasing the smartness
Fig.2 IoT Schematic Based on Data [4]
level for autonomous behavior of devices, guaranteeing trust,
privacy, and security. It also has several problems concerning
the networking aspects. The IoT devices are characterized by
low resources in computation and energy capacity [6].
Fig.3 IoT Concepts, standards, and technologies [6].
III. R
EAL
T
IME
O
PERATING
S
YSTEMS
An RTOS is an operating system which made for real-time
systems (RTS), RTSs are systems which have time constrains
with the system output [7]. RTSs are classified into hard and
soft RTSs; hard real-time systems have hard deadlines which
any time requirement violation leads to system failure, but
the soft real-time systems don’t, in which performance is
decreased but doesn’t fail.
107
73
RTOSs provide a group of services, Task Management is
one of these services which provides multitasking, and RTOSs
have other important services like Inter-task synchronization
and communication which is responsible for data passed and
events shared between system tasks. Every Task has a priority
which helps the scheduler to select the highest priority task to
run. There are different scheduling algorithms; priority-based
and non-priority-based schedulers.
Priority-based schedulers are classified into Preemptive and
Non-Preemptive schedulers, Preemptive schedulers (Fig.4) se-
lect the highest priority task to run even if there is another
running task, but the Non-Preemptive schedulers (Fig.5) wait
until the lower running task to leave the processor explicitly.
Non-priority-based schedulers select each task to run a quan-
tum of time [8].
Fig.4 Preemptive Scheduler [8]
Fig.5 Non-Preemptive Scheduler [8]
RTOS has many features; scalability which means your
system could be extended, modularity which means system
consists of different modules, compact which means it is
small and efficient, reliability, which means it is available and
doesn’t fail, predictability which means it is deterministic and
performance which means it is fast enough. Finally, RTOS
based systems are more perfect than Non-RTOS based systems
when it has a lot of tasks to do or when it is a very complex
system, as shown in Fig.6, RTOS-based systems have almost
constant switching time for a huge number of tasks while Non-
RTOS is not [8].
Fig.6 RTOS vs. Non-RTOS Systems [8]
IV. T
HE
G
ENERAL
A
RCHITECTURE OF
RTOS
FOR
I
O
T
The IoT makes things smart, the smart things are embedded
systems which use an RTOS in development. The IoT has
many challenges; security risks, system development costs,
reducing, product building flexibility, huge number of con-
nected devices. These challenges, as shown in Fig.7, raise a
lot of requirements which must be handled by the RTOS, so
RTOS must have the following features; scalability, modular-
ity, connectivity, security, safety, and cutting-edge feature set.
Fig.7 IoT challenges [9]
Modularity is to implement your system in modules, if
you want to add new features to your smart device, it will
be simple. Scalability means that the IoT system capable
of extended in the future. Connectivity feature is to support
many communication standards. Security is important against
108
74
threats and malicious attacks. Cutting-Edge Feature Set; rich
user interface, custom-tailored RTOS, multi-core, and 64-bit
processing. Safety feature is to prevent any malfunction can
cause injury or death [9].
The need to use an RTOS in any youth device makes
many architectures which shows the RTOS for the IoT. A
general RTOS architecture is shown in Fig.8, where the IoT
applications are the top layer, they use RTOS services in
development. The hardware abstraction layer (HAL) is the
hardware related drivers.
Fig.8 General Architecture of The RTOS for the IoT.
V. T
HE
R
ESEARCH
D
IRECTIONS OF THE
I
O
T
FOR
RTOS
A lot of applications have used RTOS in their system
architectures causing new trends in using RTOS in IoT systems
as shown in Fig.9. Let us answer why RTOS is important
to the IoT systems?. Using RTOS in development makes the
system more reliable, efficient, and predictable, it simplifies
the system management.
Fig.9 IoT Architecture using RTOS [10]
After a lot of research and studying in the research published
in the internet of things based on RTOS, We found that it can
be divided into five major trends or research directions, as
shown in Fig.10:
•
Using RTOS in implementation of IoT
•
Using RTOS to propose an IoT framework
•
Using RTOS to propose performance evaluation of IoT
protocols
•
Picking the right RTOS for your next-gen embedded IoT
design
•
Adapting RTOS to work with IoT.
These research directions will be discussed in more detail in
the following subsections:
Implementation
Framework
Performance & Evaluation
Adapting
Using RTOS in
implementation
of IoT
Using RTOS to propose
an IoT
framework
.
Using RTOS to propose
performance
evaluation of
IoT protocols.
Adapting
RTOS to
work with IoT.
Picking the right RTOS/IOT
Picking
the
right RTOS
for your
next-gen embedded IoT design
Fig.10 Research Directions of The IoT for RTOS.
A. Using RTOS in implementation of the IoT
In this direction of research, Authors used RTOS in IoT
projects implementation such as smart buildings, hospitals,
agriculture,. . . . , etc. as will be shown in the following
subsections:
1) Smart Buildings Using IoT :
Researchers introduce IoT
control architecture that enables building up intelligent re-
sources for fast integration within intelligent building systems
[11], they use the IoT architecture as shown in Fig.11.
Fig.11 IoT architecture for Smart Buildings [11]
2) Implementation of the EXI:
Researchers investigate the
Efficient XML Interchange (EXI) benefits in a real scenario,
using a Contiki RTOS in their IoT system, they have imple-
mented a lightweight version of EXI for Contiki RTOS running
on STM32 board [12].
3) Bringing IoT to Hospital Logistics Systems:
The re-
searchers present an architecture of the IoT based on cheap
devices which interact with an application server on the
Internet, and they propose an architecture for M2M systems.
The system will run its applications over FreeRTOS [13].
109
75
4) IoT in Field Information Monitoring:
A remote moni-
toring system of field information is implemented. It focuses
on the key factors of early warning in agriculture, such as on-
site temperature, relative humidity and so on. The system is
based on ucos-II RTOS [14].
B. Using RTOS to propose an IoT framework
In this direction of research, Authors used RTOS to propose
an IoT framework. as in the following.
1) Efficient 6LoWPAN Framework:
The authors introduce
an IoT framework; it allows a single microcontroller unit to
perform the real-time processing for control of the device
and wireless communication through 6LoWPAN without addi-
tional controller units. They use RTOS services to adapt their
work with the single proposed MCU [15] as shown in Fig.12.
Fig.12 IoT 6LoWPAN architecture [15]
2) Embedded Micro Application Server:
The authors pro-
pose an architecture for small system on chip devices that
dynamically transfer objects in configurable devices, and they
are controlled using an application server. The RTOS here is
used to transform the things in dynamic objects, where the
main function can be managed by a micro application server
[16] as shown in Fig.13.
.
C. Using RTOS to propose performance evaluation of IoT
protocols
In this direction of research, Authors used RTOS with the
IoT architecture to do IoT protocols evaluation. as will be
shown in the following.
1) Performance Evaluation of IoT security protocols:
The
authors introduce a performance comparison between two
main security protocols: IPSec protocol and DTLS protocol.
They provide their impact analysis on the embedded devices
resources. For this purpose, they have modified previous
implementations of the two protocols to make them run prop-
erly on the hardware platforms, and they have performed an
evaluation study. The results are not consequence of a classical
Fig.13 RTOS architecture [16]
simulation, but they obtained in a real scenario which uses
hardware and software of the current developments. Therefore,
they help the network designers to determine the appropriate
secure mechanism for end to end IP communications which
involve constrained devices.
They implemented the both protocols on the Contiki Oper-
ating System [17].
D. Adapting RTOS to work with IoT
In this direction of research, Authors adapted a RTOS to fit
with IoT challenges. as will be shown in the following.
1) RIOT OS for IoT:
The authors state the requirements
of an operating system in the IoT. They introduce RIOT
OS, which works with minimal resources devices and makes
development easier. it allows for the C and C++ programming,
it provides multitasking as well as real-time features, and needs
1.5 kB of RAM only [18].
E. Picking the right RTOS for IoT
In this direction of research, Authors tried to select a RTOS
to be the best which will meet the IoT requirements. as will
be shown in the following.
1) Applicability of the CMSIS-RTOS to the IoT:
The ap-
plicability of CMSIS-RTOS standard to the IoT is discussed,
then authors introduce a standardized platform for the devices
class known as Smart Objects [10].
VI. C
ONCLUSION
The Internet of Things (IoT) requires a configurable, mod-
ular, and expandable real time operating systems. The RTOS
will add enhanced security, connectivity, scalability, safety, and
110
76
extended features to the hard real-time specifications; small
latency, and multiple of cores processor support of the real
time operating systems. The RTOS in the future will give the
embedded systems manufacturers a competitive edge in the
IoT by; bringing industry leading devices to the market faster,
reducing the risks, reducing the development, and reducing the
maintenance costs.
In this paper, there are many research directions which
involve in using RTOS with IoT systems are presented. From
studying and analysis of these researches, It can be divided
these trends of IoT based RTOS into five directions. These
research directions are; Using RTOS in the implementation of
IoT, Using RTOS to propose an IoT framework, Using RTOS
to propose performance evaluation of IoT protocols, Picking
the right RTOS for your next-gen embedded IoT design and
Adapting RTOS to work with IoT.
R
EFERENCES
[1] D. Evans, “The Internet of Things,” white paper, 2011.
[2] S. Bandyopadhyay, P. Balamuralidhar and A. Pal, “Interoper-
ation among IoT Standards,” Journal of ICT Standardization,
Vol. 1, 253–270, 2013.
[3] P. Castillejo, J. Martínez, L. López, and G. Rubio, "An Internet
of Things Approach for Managing Smart Services Provided
by Wearable Devices," Hindawi International Journal of Dis-
tributed Sensor Networks, 2013.
[4] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, “Internet
of Things (IoT): A vision, architectural elements, and future
directions,” Future Generation Computer Systems, 2013.
[5] http://www.libelium.com/top_50_iot_sensor_applications_ranking/.
[6] L. Atzor, A. Iera and G. Morabito, “The Internet of Things: A
survey,” Elsevier B.V., 2010
[7] .P.A. Laplante, Real-Time Systems Design and Analysis: An
Engineer’s Handbook, Second edition, IEEE Press, 1997.
[8] J. Labrosse, MicoC/OS-II The Real-Time Kernel, Second Edi-
tion.
[9] B. Graham, and M. Weinstein, “The RTOS as the engine
powering the internet of things,” white paper,2014.
[10] .D. Renaux, and F. Pöttker, “Applicability of the CMSIS-RTOS
Standard to the Internet of Things,” IEEE 17th International
Symposium, 2014.
[11] B. Brad, and M. Murar, “Smart Buildings Using IoT Technolo-
gies," Construction of Unique Buildings and Structures, 2014.
[12] D. Caputo, L. Mainetti, L. Patrono, and A. Vilei, “Implementa-
tion of the EXI schema on wireless sensor nodes using Contiki,"
IEEE 978-0-7695-4684-1, 2012.
[13] J. Rico, B. Cendón, J. Lanza, and J. Valiño, “Bringing IoT to
Hospital Logistics Systems," WCNC, 2012.
[14] K. Cai, “Internet of Things Technology Applied in Field In-
formation Monitoring,” Advances in information Sciences and
Service Sciences(AISS), 2012.
[15] .M. Kamio, T. Yashiro, and K. Sakamura, “6LoWPAN Frame-
work for Efficient Integration of Embedded Devices to the
Internet of Things,” IEEE 3rd Global Conference, 2014.
[16] E. Frigieri, P. Sérgio, F. Pedroso, and N. Afonso , “Embedded
Micro Application Server in Intel MiniITX DN2800MT for
Interaction with the ARM Cortex-M3,”, 2013.
[17] A. Rubertis, L. Mainetti, V. Mighali, L. Patrono, I. Sergi,
M. Stefanizzi, "Performance Evaluation of end-to-end security
protocols in an Internet of Things," , 2013
[18] .D. Baccelli, O. Hahm, M. Gunes, M. Wahlisch, T. Schmidt,
“RIOT OS: Towards an OS for the Internet of Things,” IEEE
978-1-4673-5946-7,2013.
111
77
View publication stats
View publication stats
Do'stlaringiz bilan baham: |