You are on page 1of 63

SLOT 1

2:30 pm – 3.30 pm

Internet-of-Things based
Middleware
Dr. Zaheera Zainal Abidin
zaheera@utem.edu.my
CONTENT
• Internet-of-Things (IoT)
• IoT Layers
• IoT Middleware

2
Internet-of-Things

3
Different Names of IoT

Tsensors Web of
Things

Machine-to-
The Fog
Machine

Smarter
Planet

Internet of The Industrial


Everything Internet /
Revolution

Industry 4.0 Smart System

Pervasive
Computing

Internet for
Devices

4
Evolutionary Phases of the Internet

Internet of
Things
Immersive
• People
Experience • Process
Networked • Data
• Social
Economy • Mobility • Things
Connectivity • Cloud
• E-commerce • Video
• Email • Digital Supply Chain
• Web Browser • Collaboration
• Search

5
Definition of IoT

“A global infrastructure for


information society which enables
advanced services by interconnecting
(physical and virtual) things based on
existing and evolving, interoperable
information and communication
technologies”.

International Telecommunication Union (ITU)

6
Internet-of-Things (IoT)
• The Internet of Things is a network of connected computing
devices or “things” that transmit data over the Internet without
requiring any human-to-human or human-to-computer
interaction and is based on a common communication protocol.
• IoT is a vast network of interconnected things that gathers
information about their usage and the environment around
them.
• IoT network is a heterogeneous network with complex structure
that connecting a wide range of devices using evolving technologies
such as Bluetooth, Zigbee, Wi-Fi, 4G, 5G, and bring to challenges
(interoperability, security, confidentiality, privacy and energy saving).
7
Internet-of-Things (IoT)
• The “Things” refers to unidentifiable objects or devices, which are in
previous, the object or device is unconnected to the Internet. Refer to
unknown device or object.
• Sensors in the devices or objects feed the data to various IoT
platforms.
• Further, IoT platforms are used to gather the pinpointed information, and
detect patterns from the raw data generated by different connected
things or objects that provide new services in the specific domain.
• In 2025, the IoT connections will reach to almost 25 billion things over
the Internet.

8
Internet-of-Things-Architecture (IoT-A)
•“Physical” components / capabilities
– Sensors / Actuators Heterogeneous
Devices
– Compute, store, communicate data

Resource-
•Additional “logical” Components Energy Safe
constrained
– Security and dependability composition
– Time bound composition
Criteria
– Cross ownership service composition
– Policy negotiation and governance
– Federated orchestration Intelligence
Spontaneous
interaction

• Objectives Distributed and


– Predictable scalability, stability, dynamic
network
correctness, time to complete

9
Challenges of IoT Deployment
• The explosion amount of data collected and exchanged over
the Internet.
• Energy consumption required to operate intelligent
devices.
• Miniaturization of devices the devices are becoming
increasingly smaller.
• IPv6 as an integration layer allows to exploit the potential of
IPv6 and related standards.
• Autonomic management of devices/systems in future will have
self management, self healing, and self configuration
capabilities.
• A major challenge faced by application developers today is
finding the most appropriate IoT middleware solution in
terms of the provided functionalities that aligned with existing
or new technology.
10
• Application Layer
• Middleware Layer
• Internet Layer
IoT Layers • Gateway Layer
• Edge Technology Layer

11
Layers of Architecture of the Internet-of-Things

Edge Technology Layer

Access Gateway Layer

Internet Layer

Middleware Layer

Application Layer

12
IoT Layers
Edge Technology layer
• This is a hardware layer that consists of embedded systems, RFID tags, sensor
networks and all of the other sensors in different forms. This hardware layer
performs several functions, such as collecting information from a system or an
environment, processing information and supporting communication.

Gateway layer
• This layer is concerned with data handling, and is responsible for publishing and
subscribing the services that are provided by the Things, message routing, and
hovelling the communication between platforms.

13
IoT Layers
Internet layer
• The Internet layer is responsible for logical transmission of data packets over the
internet. It can be compared to the network layer of the OSI model.

Middleware layer
• This layer has some critical functionalities, such as aggregating and filtering the
received data from the hardware devices, performing information discovery and
providing access control to the devices for applications.

Application layer
• This layer is responsible for delivering various application services. These services
are provided through the middleware layer to different applications and users in
IoT-based systems. The application services can be used in different industries such
as, logistics, retail, healthcare, and manufacturing.

14
IoT Middleware

15
• What is the IoT middleware ?
• General Architecture
• Category of IoT Middleware Platforms
IoT Middleware • Types of Middleware
• Functional Components of Middleware for IoT based
system
• IoT Middleware Technology

16
What is the IoT
Middleware ?
• In an Internet of Things (IoT) system, IoT
middleware is software that lies
between the hardware and application
layers and offers a range of services and
functions to control communication and
interaction between various IoT devices,
platforms, and applications.
• IoT middleware essentially acts as the
glue that joins various IoT system parts
and enables seamless communication
between them.
17
IoT Middleware Platform General Architecture
Gateway - Sometimes gateway is required to connect
device to IoT platform. Gateway is an interface that
provides technologies and mechanism to interconnect
between communication technologies and protocols.
All devices can access gateway if they are IP enabled.
Gateway is also able to store, filter and process
received data before sending to cloud.

Device - A Device is a hardware component consisting


of processor and storage. It is connected to sensors and
actuators. By the help of software, it can establish
connection to IoT Integration middleware.

Actuator - It is a hardware component, which receives


command in form of electrical signals from connected
device and performs some kid of physical action. Like
sensor, it can also be connected to device either in a
wired or wireless manner.

Sensor - Sensor consists of a hardware component


capable of acquiring information about physical
environment. This acquired information is transmitted
in form of electrical signals to the connected devices.
Devices connectivity can be either wired or wireless.
18
IoT Middleware Platform General Architecture
• IoT Platform:
• It integrates data received from different kind of connected devices.
• Process the received data.
• Control devices
• Provide received data to various applications.

IoT cloud Platform directly communicate with device if both are using
compatible technologies and protocols.
IoT Cloud Platform layer is also responsible for providing functionalities
such as time series database or graphical dashboards, aggregation and
utilization of data received from devices.
Mostly, IoT platforms are accessed through HTTP-based REST APIs.
19
IoT Middleware Platform General Architecture
• Application:
• Applications are built on top of various IoT Cloud Platforms to
provide
• services to some real-life scenario such as Smart Cities, Smart
Healthcare, Smart Industry and Smart Office.

20
Middleware in OSI Model

21
Category of IoT Middleware
Platforms
22
Category of IoT Middleware Platforms

CATEGORY 1 CATEGORY 2 CATEGORY 3 CATEGORY 4

Publicly Traded IoT Open Source IoT Developer Friendly End to End
Middleware Middleware IoT Middleware Connectivity
Platforms Platforms Platforms Middleware
Platforms
23
Category of IoT Middleware Platforms
• Publicly Traded IoT Middleware Platforms:
• This category consists of platforms developed and maintained by large
public traded companies such as AWS IoT Platform, Microsoft Azure IoT
Hub, IBM Watson IoT Platform and Google IoT Platform and Oracle IoT
Platform.

• Open source IoT Middleware Platforms:


• This category consists of platforms that provide data management services
under open licenses such as Kaa, and Thing-Speak.

24
Category of IoT Middleware Platforms
• Developer Friendly IoT Middleware Platforms:
• This category of platforms is developer friendly and can be easily
integrated with Arduino, Raspberry etc. to develop users’ applications.
• Some of the platforms belonging to this category are Carriots, and
Temboo.

• End to End Connectivity IoT Middleware Platforms:


• Platforms designed based on supplied hardware and required solution
such as Samsara and Particle Cloud.
• The Transport Layer is responsible to perform data transmission from
sender to receiver called as, the end-to-end communication.

25
Category of IoT Middleware Platforms

26
The Suitable IoT Middleware Platform Criteria for Selection
Availability:
• Availability and stability are important parameters for application requirement. For
example, Smart healthcare application requires patient medical data to be monitored
continuously (24*7). Therefore, application related to patient data monitoring needs to
choose a platform with 24*7 availability whereas, in case of Smart industry timings can be
restricted to limited hours.

Deployment type:
• Open source platforms allow platforms to be managed by application developer according
their need, in contrast, this facility is not provided by commercial IoT platforms such as
AWS IoT, IBM Watson. Professionals at the middleware provider end manage the
commercial platforms. Most of middleware platforms use cloud technology for storage
purpose. According to the resource requirement, developer can choose among different
cloud deployment models- Infrastructure as a Service (IaaS), Platform as a Service (PaaS),
and Software as a Service (SaaS).
27
The Suitable IoT Middleware Platform Criteria for Selection
Pricing Model:
• Different vendors adopt different pricing models. Some support pay as you execute, some
pay per storage, pay according to number of connected devices, some are subscription
based. For small-scale applications, some platforms provide free limited storage. Particle
cloud provides free access up to 100 devices.
• AWS IoT charges only when function is executed on stored data. Microsoft Azure charges
based on number of devices and messages. This can be suitable for applications where
there is variance in number of devices and messages every time.
• IBM Watson charges on basis of storage required.
• Kaa and ThingSpeak are open sources and free, good for personalized applications.

28
The Suitable IoT Middleware Platform Criteria for Selection
Support for required Hardware:
• Number of IoT boards like Arduino Yun, Photon, Raspberry Pi, etc. are available in market.
Each supporting different standards and features. These boards mainly differ on basis of
processor, GPU, clock speed, size, RAM, memory, support for different programming
language, and price.
• Choosing right one close to requirement is important. AWS IoT have highest number of
compatible hardware devices.

Security Requirement:
• Levels of required security vary in different applications, as banking application requires
high security as compared to Smart Healthcare.
• Different platforms provide different level of security. Some platforms even allow
application developers to implement their own security algorithms.
29
The Suitable IoT Middleware Platform Criteria for Selection
Type of communication protocol support:
• Multiple communication protocols are supported by IoT devices. Some are lightweight,
and some are secure. Which protocol to choose depends on application requirement.
CoAP is similar to HTTP but is lightweight, therefore more suitable for mobile
applications. MQTT is also lightweight and supports broker concept, making it good for
limited bandwidth applications. CoAP is good for multicast and broadcast.

Storage Technologies used:


• Mainly vendors use cloud as their storage. Different storage and processing technologies
on top of cloud support different type of analytics. As per processing requirement of
data, cloud with different storage technologies can be selected. AWS IoT supports largest
number of storage technologies.

30
Features of IoT Middleware Platforms
Basic Features of Publicly Traded Platform
IoT Middleware Open Source Data Format Deployment Programming Language Pricing
/ Open SDK Supported Type
AWS IoT Platform Open source JSON Paas, IaaS Java, C, NodeJS, Pay when execute your own
SDK Javascript, Python, SDK written functions.
for Arduino,
iOS, Android
Microsoft Azure Open Source JSON IaaS .NET, UWP, Java, C, Pay according to number of
IoT Hub API NodeJS, Ruby, Android, devices and messages per
iOS day
IBM Watson IoT Open source JSON, CSV Paas, IaaS C#, C, Python, Java, Pay according to number of
Platform SDK NodeJS devices, data traffic and data
storage
Google IoT Open API JSON PaaS, IaaS Go,Java, .NET, Node.js, Priced per MB
Platform php, Python, Ruby
Oracle IoT Open source CSV, REST API PaaS Java, Javascript, Subscription based
Platform SDK Android, C, iOS
31
Features of IoT Middleware Platforms
Basic Features of Open Source Platform
IoT Middleware Open Source Data Format Deployment Programming Language Pricing
/ Open SDK Supported Type
Kaa Open SDK REST API, IaaS Java, C, C++ Free
JSON
ThinkSpeak Open source ThinkSpeak PaaS Matlab Free
API, JSON,
XML

32
Features of IoT Middleware Platforms
Basic Features of Developer Friendly Platform
IoT Middleware Open Source Data Format Deployment Programming Language Pricing
/ Open SDK Supported Type
Carriots Open Source XML, JSON, PaaS Java Subscription based
API REST API
Temboo Open Source Excel, CSV, PaaS C, Java, Python, iOS, Subscription based
API XML, JSON Android, Javascript

33
Features of IoT Middleware Platforms
Basic Features of End-to-End Connectivity Platform
IoT Middleware Open Source Data Format Deployment Programming Language Pricing
/ Open SDK Supported Type
Samsara Open API JSON - - Paid services
Particle Cloud Open Source CSV PaaS, SaaS Javascript, particle js. Free access for the first 100
devices after paid the
subscription

34
Types of IoT Middleware
• Event-based
• Service oriented based
• VM based
• Agent based
• Tuple spaces
• Database oriented
• Application specific based

35
Event-based
• Application components are
split into publishers and user.

• Events are classified by topic


and published through a
database to select users who
subscribed.

• Uses publish-subscribe model.

36
Service oriented
• Application are split based on
functionality into services.
• Services are reusable, loosely
coupled, composable and
discoverable.
• Requirements have to be
addressed through
functionalities such as
discovery, service, data, and
QoS management.
37
38
39
40
41
42
Functional Components of a
Middleware for IoT based System
44
45
Components of middleware for IoT based System

Central Control,
Interface Context
Protocols Detection and
Management

Device Application
Abstraction Abstraction

46
Component 1 – Interface Protocol

Provide Enable M2M – Centered


Interoperability – 2 association of communication
systems using same hardware and protocols
communication software
protocols components

47
Component 2 – Device Abstraction

Provide an abstract Syntactic interoperability Semantic The device abstraction


format to facilitate – message transferred by interoperability – layer provides an
the interaction communication
the content of interface for
between application protocols must have
syntax and encoding message is application developers
components and format, such as HTML or understandable by to interact with device
devices. XML. human. to gateway.

48
Component 3 – Central Control, Context Detection & Management

CCM component is Context characterizes Context awareness – Context processing –


responsible to the situation of an collect data from use the gathered
support context- entity, which is resources, and selecting information to
aware computation. people, place or an the information that perform a task or
object. impact the computation. make a decision

49
Component 4 – Application Abstraction
The application abstraction provides an
interface for high-level applications and
end users to interact with devices.

This interface is a RESTful interface and


implemented with query-based
language.

REST permits different data format such


as plain text, HTML, JSON, and XML.

RESTful web services inherits security


measure from the transport.

50
IoT Middleware Technology

51
HYDRA
IoT AURA
Middleware
Technology TinyDB
WiseMID

52
IoT Middleware Technology
• HYDRA is a middleware that provide heterogeneous physical devices using
easy-to-use web service interfaces for controlling any type of physical
device in network technology. Also, HYDRA enables devices and services
be secure and trustworthy through the Internet.
• All devices and services comprising the middleware have been integrated
in a Service Oriented Architecture (SoA), which effectively turns all
devices into web services and thus provides extensive interoperability at
the syntactic level. Devices communicate regardless of their physical
location using the similar protocol such as XML, SOAP, and WSDL.

53
HYDRA

54
IoT Middleware Technology
• AURA is middleware focus on elaboration and manipulation of
the gathered data from devices. It’s aim is to provide ease of
configuration and deployment for end user and developer.
• With AURA, the developer is provided with RESTful API through
which is possibly to easily know what kind of sensors and
actuators are available.
• AURA instructs the device to perform actions or activities to
create conditions and send commands to the specific devices.

56
AURA

57
IoT Middleware Technology
• TinyDB focus on gathering data from various devices of IoT-
based system. Also, TinyDB allows multiple instances on the
same data.

• WiseMID is a middleware that focuses on integrating Internet


and WSN at service level instead of integrating protocol stacks
and/or mapping logical addresses. WISeMid allows the
integration of WSN and Internet services by providing
transparency of access, location and technology.

58
WiseMid Architecture

59
Comparative Analysis of the IoT Middleware Technology

60
IoT Middleware Technology Comparison

61
IoT-middleware technology interfaces

62
Quiz

63
Thank you

64

You might also like