Content uploaded by Oliver Jukic
Author content
All content in this area was uploaded by Oliver Jukic on Jan 11, 2021
Content may be subject to copyright.
IoT cloud-based services in network management
solutions
O. Jukić, I. Heđi, E.Ciriković
Virovitica College, ICT department, Virovitica, Republic of Croatia
{ oliver.jukic | ivan.hedi | enes.cirikovic } @vsmti.hr
Abstract – Main goal of research in this paper is to improve
resilience of network management in networks with IoT
devices. To set up a network with many IoT devices in the
constrained environment can be a challenge. IoT objects
refer to a wide variety of devices which are most often
equipped with sensors. They can generate a large amount of
real time data which can serve as an input to network
management systems. If we consider the functional
architecture of the TMN network, it is obvious that the QAF
(Q adapter function) and MF (mediation function) will serve
a great purpose in monitoring the above-mentioned network
architectures. These two functions enable the integration of
data from multiple sources, in which we include the data
from the other control systems. Collecting data from devices
most often requires developing custom-made applications
which imply time and cost consumption. If devices are
connected to Internet there are several cloud providers
offering connectivity between devices and the cloud. One of
them is AWS IoT (Amazon Internet of Things). AWS IoT
services can collect data from many different devices and
connect them to endpoints for other tools, like network
management solutions. Authentication and authorization
are covered. Also, rules engine can filter and uniform data.
The rule is triggered when a message that matches some
filter is received. This paper describes some aspects of
implementation of such system. Performance is evaluated by
connecting small, single-board device, like Raspberry Pi to
cloud service through different scenarios.
Keywords – Internet of Things; Cloud services; Amazon
IoT; Network management; TMN; MQTT; Raspberry Pi
I. INTRODUCTION
When problem appears in some part of network,
network generates large number of some events called
alarms. That alarms are typically delivered in one center
called network and service operating center. In this case
we are talking about centralized network management
concept. Alarms are carrying information about failure or
some other types of malfunction. They can be classified
in categories [1]. Sequence of that alarms can be
recognized as a global problem with some root-cause.
Detection of network alarms is called fault management.
“Fault management primarily covers the detection,
isolation and correction of unusual operational behaviors
of telecommunication network and its environment” [2].
Services provided by telecom operators are implemented
in telecommunication network in such a way that they are
dispersed through network resources [3] (Figure 1):
Figure 1. Service spreadng over network resources
Knowing how service is implemented using network
resources, it is possible to detect potential problems that
can degrade quality of service¸that is guaranteed to
customers. In functional architecture of the TMN network
[2] (Figure 2), we can consider that the QAF (Q adapter
function) and MF (mediation function) will serve a great
purpose in monitoring data from other sources [3], like
data from IoT devices in the constrained environment.
Figure 2. TMN functional architecture
Because all services depends on state of certain
network element, it is obvious that network problems will
have impact on quality of service which is offered to
customer. IoT devices equipped with sensors can
generate a large amount of real time data which can serve
as an input to network management systems. In
centralized network management systems real network
resourse is represented with network object. Status of this
object is recalculated periodically using fault and
performance management data. In our model, status of
these objects can be enriched with additional information.
Every network element has its own attributes. For
example, in GSM network architecture base station
controllers (BSC) controls number of base station
transceivers (BTS). Example of attributes for base
stations controller is number of operational base station
transceivers. In our experimental architecture temperature
in base station transceiver is meassured with IoT device
equipped with temperature sensor. IoT device is
connected to Amazon AWS IoT core service which
collecting temperature values. Information is propagated
to network management system.
Paper is structured as follows: first we will present
short introduction; then, we are going to present the
network model overview. Next, we have touched basic
implementation aspects of model presented, such as data
collection requirements and object's status visualizations.
A. Related work
Network management is very known term described in
many papers, there is lack of management integration of
data from other management systems and sources. In [4]
is presented integrated view on telecommunication
network in which relevant data sources are fault
management data, performance management data, end-to-
end testing results, customer complaints and other
sources. It is said that “irrelevant data sources can
decrease reliability and userfulness of model”. Authors in
that model are focused primarly on fault management
data and performance management data. Term other
sources is used for obtaining data by other network
management systems through some interface like
northbound interface. In [5] similar model is used. Data
from other sources are used for management data
between two operaters in case when service is delivered.
to customers using other operators infrastructure
II. MODEL OVERVIEW
A. IoT
IoT is known term and refers to the Internet of Things,
system with computing devices with ability to transfer
some kind of data to the Internet but there is no universal
definition. By the [6] IoT is network that interconnects
objects also known as Internet of Objects. When devices
are connected to the Internet they can communicate with
other devices or deliver information to certain endpoint.
These devices can be connected to Internet directly using
standard technology like 3G, 4G or they can connect to
local area network which is connected to Internet. On
other hand, devices can form M2M (Machine to
Machine) networks in which devices are connected using
radio technology communication standards and protocols
like Wi-Fi (based on the standard IEEE 802.11),
Bluetooth (based on the IEEE 802.15.1), Zigbee (based
on the standard IEEE 802.15.4) or 6LowPAN over
Zigbee (IPv6 over Low Power Personal Area Networks).
In most cases application layer protocols are used for
handling communication. The most representative
application layer protocols are CoAP (Constrained
Application Protocol), MQTT (Message Queue
Telemetry Transport), XMPP (Extensible Messaging and
Presence Protocol), RESTFUL Services
( Representational State Transfer), AMQP (Advanced
Message Queuing Protocol) and Websockets [7].
For collecting and analyzing data generated from
sensors attached to the IoT devices most often requires
developing custom-made applications which imply time
and cost consumption. There are several cloud providers
offering connectivity between devices and the cloud. One
of them is AWS IoT (Amazon Internet of Things). AWS
IoT services can collect data from a large number of
different devices and connect them to endpoints for other
tools, like network management solutions. In our
previous work [8] cloud-based services aimed for the
connectivity, monitoring, and management of the IoT
devices are presented on Amazon AWS IoT case study.
Number of cloud providers offering IoT services is
constantly growing. What is common to all is possibility
to connect IoT devices using some protocol to handle
connection and store data generated by that devices. After
that each cloud provider offers number of specific
features which is characteristic of them only [9].
B. MQTT
MQTT is a M2M (Machine to Machine) Internet of
Things lightweight connectivity protocol. Protocol is
application layer protocol, released by IBM. Small code
footprint makes it suitable to implement in small devices
(e.g., 8-bit, 256KB RAM controllers). Protocol fulfills
requirements for low power consumption, low bandwith
consumption and low latency. It uses the publish and
subscribe pattern for transmitting and receiving messages
between devices and applications (e.g., gateways or
servers). Communication between devices and AWS IoT
platform relies on this protocol. It is described in many
papers [7], [8], [10], [11].
Connected devices are known under term „clients“,
which can communicate with an applications referred to
as the „broker“. Broker handles data transmission
between clients. When client wants to distribute data, it
will publish data to a certain topic. In that case client is
„publisher“. Broker then sends this data to any clients
that have subscribed to that topic. All clients which can
receive data are known as „subscribers“ to certain topics
(Figure 3) [8]. On figure 3 is presented communication
between client equipped with temperature sensor and
some data presenting application. Client is publisher to
topic under name „temperature“. Client push values about
temperature to given topic, client is publisher. Presenting
aplication reads data from given topic, presenting
application is subscriber.
Figure 3. MQTT protocol messages
Messages on each topic are retained, which means
that each topic can have one retained message that a
client automatically receives when it subscribes. MQTT
protocol has libraries in many programming languages,
so implementation is very simple.
Protocol is based on Message Oriented Middleware
(MOM) approach. It is kind of architecture in which
messages travel between entities rather than function
calls. It is most useful in heterogeneous and high
performace systems. In MQTT protocol each client
registers its interests to broker, publisher or subscriber.
Advantages. Benefit of that architecture is separation of
identities for different kinds of clients.
Amazon AWS IoT supports MQTT over the
WebSocket protocol to enable browser-based and remote
applications to send and receive data from AWS IoT-
connected devices using AWS credentials. It means that
MQTT broker places the MQTT message into a
websocket message, and sends it to the client. The client
unpacks the MQTT message from the websocket
message and then processes it as a normal MQTT
message. Every browser can be both publisher and
subscriber. WebSocket support is available on TCP port
443, which allows messages to pass through most
firewalls and web proxies [12]. features which is
characteristic of them only [9].
C. Amazon Web Service IoT platform
IoT platform is multi-layer technology which is used to
manage IoT devices. If devices are connected to Internet
there are several cloud providers offering connectivity
between devices and the cloud. One of them is AWS IoT
(Amazon Internet of Things). The primary function of the
IoT platform is to act as middleware layer to connect
devices or applications from one end to another end. IoT
concept contains a variety of functions like sensors and
controllers, gateway devices, software for data analyzing
and end application services. IoT cloud platform can
handle huge data volume from sensors, devices,
applications, and take actions to give a real-time
response. According to [12] Amazon AWS IoT platform
is one of the most popular platforms in 2020. It provides
communication between IoT objects and the cloud in
both directions, it collects data from devices or enable
users to control devices remotely. All devices or
applications that are supported by AWS IoT cloud
platform are called “thing”. Thing is connected to AWS
IoT by device gateway which serves as an entry point for
all things. Device gateway handles connection and
security. It supports a couple of protocols used for IoT
networks: Message Queue Telemetry Transport (MQTT),
MQTT over Web Sockets, MQTT over the Secure
WebSocket and HTTP protocols. In one project
communication with devices can be realized using one or
more available protocols. Security is covered using X.509
certificates. AWS IoT can generate own certificate, but
also has ability to another one specified by customer. In
either case, both types of certificates must be registered
and activated in AWS IoT device management portal. All
connected devices must undergo an authentication and
authorization process. Authorization process determines
which action device can perform. All information about
device is stored in registry as well as certificates used. By
the registry, each device is given a unique identifier. The
state of each device is stored in device shadow part.
Device Shadows is virtual version of each device that
includes latest state so that other devices or applications
can evaluate messages and communicate with the device.
It is service allows not only retrieve state of device but
also change state using RESTful API or specialized
MQTT topics (Figure 4).
Figure 4. AWS IoT architecture components
To easily and quickly connect device to AWS IoT, the
AWS IoT device SDK is needed. The AWS IoT Device
SDK include open-source libraries and developer guides
with samples. The Rules engine makes it possible to build
custom IoT applications that analyze and act on data
generated by connected devices without having to
manage any infrastructure.
III. IOT AND NETWORK MANAGEMENT SOLUTION USE
CASE
Based on model overview mentioned above, we have
integrated AWS IoT data into concept of existing
network management system solution used in GSM
network architecture. Presentation layer of network
management system solution shows object for base
station controller (BSC) which controls number of base
station transceivers (BTS). Example of attributes for base
stations controller is number of operational or number of
non-operational base station transceivers calculated from
fault management data (Figure 5).
Figure 5. Graphical user interface for service monitoring
In our experimental architecture these set of fault
management attributes is enriched with additional data
coming from different sources, like AWS IoT cloud
service. Temperature in base station transceiver is
meassured with IoT device equipped with temperature
sensor. To collect data from these IoT devices it is
necesssary to develope custom-made application, like
access module in network management system, with
implemented aplication layer protocol for handling
connection, like MQTT. Hence, IoT device is connected
to Amazon AWS IoT core service using for collecting
temperature values. Information is propagated to network
management system.
As an IoT device Raspberry Pi 4 Model B is used.
Device is single board computer with integrated 2.4 GHz
and 5.0 GHz IEEE 802.11ac wireless module, bluetooth
5.0 module and gigabit ethernet module for connecting to
network. For measuring temperature, Raspberry Pi must
be equipped with some temperature sensor. DS18B20
digital temperature sensor is used which communicates
with Raspberry Pi using 1-wire method (Figure 6).
Figure 6. Graphical user interface for service monitoring
Device is not coming with preinstalled operating
system. There are number of operating systems optimized
for Raspberry Pi, we used Raspbian which is based on
Debian operating system but optimized for Raspberry Pi
board.
Device is registered in AWS IoT as a thing and got
unique identifier called Amazon Resource Name (ARN).
After that appropriated certificates must be created and
downloaded to IoT device. At the end there is need to set
up authorizations which means to define which actions a
device can perform. It is JSON structure containing
policies:
{
"Version": "2020-02-02",
"Statement": [{
"Effect": "Allow",
"Action": [
"iot:Connect", "iot:Publish"
],
"Resource": "arn:aws:iot:…:topic/temp"
}]
}
Statement consists of three parameters: Effect consists of
values allow or deny, Action in this case is ability to
connect to AWS IoT cloud and publish message to
certain topic and Resource consists of device ARN and
topic.
To easily and quickly connect device to AWS IoT, the
AWS IoT device SDK is needed. The AWS IoT Device
SDK enables end devices to connect, authenticate, and
exchange messages with AWS IoT Core using the
MQTT, HTTP, or Websocket protocols. The AWS IoT
Device SDK supports C, Javascript, and Python
programming languages. We used Javascript
programming language in Node.js environment and
MQTT protocol. Part of source code for creating instance
of device ready for authentication and authorization to
AWS IoT:
var oAws = require('aws-iot-device-sdk');
var oDevice = oAws.device({
keyPath: <PrivateKeyPath>,
certPath: <CertificatePath>,
caPath: <RootCACertificatePath>,
clientId: <UniqueClientIdentifier>,
host: <CustomEndpoint>
});
To send MQTT message it is only necessary to call
function for publishing data to certain topic:
setInterval(function){
var fTemp = GetTemperatureValue();
var oDate = new Date();
device.publish(‘temperature’,JSON.stringify({
value:fTemp,
datetime: oDate.getTime();
}));
},30000)
Published message look like:
{
"value": 50,
"datetime": 1581700066476
}
IoT device publish message (temperature value) every
30 seconds. AWS IoT Rules engine gives device ability to
interact with other AWS services adding rules. Rules are
analyzed and actions are performed based on the MQTT
topic. Presentation layer of network management system
solution has RESTful API interface to set additional
temperature status attribute value. Every rule created on
AWS IoT platform has its own query statement in form of
SQL query statements. For example:
SELECT value FROM 'temperature' WHERE value
>= 50
where value is part of MQTT published messages and
temperature is MQTT topic. Rule is triggered when
temperature value rises 50 degrees Celsius. Rules execute
one or more actions like insert a message into DynamoDB
table, send a message as an SNS push notification or Send
a message to a Lambda function.
AWS Lambda service can run some code without
provisioning or managing servers. For creating Lambda
function, it is necessary to choose a runtime. A runtime is
a version of a programming language or framework that
can be used to write Lambda functions. AWS Lambda
supports runtimes for the following languages:
C#/PowerShell, Go, Java, Node.js, Python and Ruby. We
used Node.js that calls RESTful API interface on
presentation layer of network management system
solution. On figure 7, object BTS01 has changed status
and color for warning notification because temperature
value is 54 degrees Celsius. Object is still operational.
Figure 7. Graphical user interface for service monitoring
AWS IoT services can collect data from many
different devices and connect them to endpoints for other
tools, like network management solutions. One scenario
when temperature rises 50 degrees is shown with message
sequence chart on figure 8.
Figure 8. Messages exchanged in one scenario
IV. CONCLUSION
In this paper, we have presented an integration of IoT
cloud services with network management solutions. Main
goal of research in this paper is to improve resilience of
network management in networks with IoT devices.
Collecting data from devices most often requires
developing custom-made applications which imply time
and cost consumption. If devices are connected to Internet
there are several cloud providers offering connectivity
between devices and the cloud. One of them is AWS IoT
(Amazon Internet of Things). We have briefly described
architecture and components of the AWS IoT. AWS IoT
services can collect data from many different devices and
connect them to endpoints for other tools, like network
management solutions.
LITERATURE
[1] O. Jukic, M. Špoljaric and V. Halusek, “Low-level alarm filtration
based based on alarm classification”, Proceedings of the 51st
International Symposium ELMAR 2009, pp. 143-146, Zadar,
September 2009.
[2] Udupa, K.D., TMN – Telecommunications Management Network,
McGraw-Hill Telecommunications, New York, 1999.
[3] O. Jukić and I. Heđi, “Service monitoring and alarm correlations”,
4th International congress on ultra modern telecommunications
and control systems, pp. 330-334, Saint Petersburg, 2012.
[4] O. Jukić and M. Kunštić, “Integrated view on telecommunication
network status”, Proceedings of the 34rd International Convention
MIPRO 2011, pp. 141-145, MIPRO, Opatija, 2011.
[5] O. Jukić and I. Heđi, “Some aspects of network management
system for video service”, Proceedings of the 39th International
Convention MIPRO 2016, pp. 805-808, MIPRO, Opatija, 2016.
[6] F. Xia, L. T. Yang, L. Wang and A. Vinel, “Internet of Things”,
International Journal of Communication Systems, Vol. 25, pp.
1101-1102, 2012.
[7] V. Karagiannis, P. Chatzimisios, F. Vazquez-Gallego and J.
AlonsoZarate „A Survey on Application Layer Protocols for the
Internet of Things“, Transaction on IoT and Cloud Computing
2015.
[8] O. Jukić, I. Špeh and I. Heđi, “Cloud-based services for the
Internet of Things”, Proceedings of the 41st International
Convention MIPRO 2018, pp. 407-412, MIPRO, Opatija, 2018.
[9] T. Pflanzner, A. Kertesz, “A Survey of IoT Cloud Providers”,
Proceedings of the 39th International Convention MIPRO 2016,
MIPRO, Opatija, 2016.
[10] P.P. Ray, “A survey on Internet of things architectures”, Journal of
King Saud University – Computer and Information Sciences, pp.
1319-1578, 2016.
[11] D. Kang, M. Park, H. Kim, D. Kim, S. Kim, H. Son and S. Lee,
“Room Temperature Control and Fire Alarm/Suppression IoT
Service Using MQTT on AWS”, Platform Technology and
Service (PlatCon), 2017 .
[12] https://docs.aws.amazon.com/iot/latest/developerguide/mqtt-
ws.html
[13] https://www.softwaretestinghelp.com/best-iot-platforms/
[14] https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-
how-it-works.html