R21 Iot Notes 4-1
R21 Iot Notes 4-1
R21 Iot Notes 4-1
Introduction - IoT and digitization IoT impact Convergence of Information Technology and
Operational Technology Ancestors without IP IoT enabled applications - IoT challenges
Internet of Things (IoT) is the networking of physical objects that contain electronics
embedded within their architecture in order to communicate and sense interactions amongst each other
or with respect to the external environment. In the upcoming years, IoT-based technology will offer
advanced levels of services and practically change the way people lead their daily lives. Advancements
in medicine, power, gene therapies, agriculture, smart cities, and smart homes are just a very few of the
categorical ex
currently connected to the Internet, as of now. In the near future, this number is expected to rise to a
whopping 20 billion.
There are four main components used in IoT:
Low-power embedded systems: Less battery consumption, high performance are the inverse factors
that play a significant role during the design of electronic systems.
Cloud computing: Data collected through IoT devices is massive and this data has to be stored on a
reliable storage server. This is where cloud computing comes into play. The data is processed and
learned, giving more room for us to discover where things like electrical faults/errors are within the
system.
Availability of big data: We know that IoT relies heavily on sensors, especially in real-time. As these
electronic devices spread throughout every field, their usage is going to trigger a massive flux of big
data.
Networking connection: In order to communicate, internet connectivity is a must where each physical
object is represented by an IP address. However, there are only a limited number of addresses available
according to the IP naming. Due to the growing number of devices, this naming system will not be
feasible anymore. Therefore, researchers are looking for another alternative naming system to
represent each physical object.
There are two ways of building IoT:
Form a separate internetwork including only physical objects.
Make the Internet ever more expansive, but this requires hard-core technologies such as rigorous cloud
computing and rapid big data storage
Fig. 1.1 IoT
IoT
The IoT is a widely used term for a set of technologies, systems, and design principlesassociated with
the emerging wave of Internet-connected things that are based on the physical environment.
In many respects, it can initially look the same as M2M communication connecting sensors and other
devices to Information and Communication Technology (ICT)systems via wired or wireless networks.
In contrast to M2M, however, IoT also refers to the connection of such systems and sensors to the
broader Internet, as well as the use of general Internet technologies.
In the longer term, it is envisaged that an IoT ecosystem will emerge not dissimilar to
allowing things and real world objects to connect, communicate, and interact with one another in the
same way humans do via the web today.
No longer will the Internet be only about people, media, and content, but it will also include all real-
world assets as intelligent creatures exchanging information, interacting with people, supporting
business processes of enterprises, and creatingknowledge.
The IoT is not a new Internet, it is an extension to the existing Internet. IoT is about the technology,
the remote monitoring, and control, and also about where thesetechnologies are applied. IoT can have
a focus on the open innovative promises of the technologies at play, and also on advanced and
complex processing inside veryconfined and close environments such as
Looking towards the applications and services in the IoT, we see that the application opportunities are
open-ended, and only imagination will set the limit of what isachievable.
Starting from typical M2M applications, one can see application domains emerging that are driven
from very diverse needs from across industry, society, and people, and can be of both local interest and
global interest.
Applications can focus on safety, convenience, or cost reduction, optimizing business processes, or
fulfilling various requirements on sustainability and assisted living.
Listing all possible application segments is futile, as is providing a ranking of themost important
ones. We can point to examples of emerging application domains that are driven by different trends
and interests .
As can be seen, they are very diverse and can include applications like urban agriculture, robots and
food safety tracing, and we will give brief explanations of what these three examples might look like.
network, such as the Internet. IoT is a well-understood term used across the industry as a whole. On
the other hand, digitization can mean different things to different people but generally encompasses the
The IoT can find its applications in almost every aspect of our daily life. Below are some of the
examples.
5) Medical applications: The IoT can also find applications in medical sectorfor saving lives or improving
the quality of life e.g., monitoring health parameters, monitoring activities, support for independent
living, m The IoT can find its applications in almost every aspect of our daily life. Below are some of
the examples.
6) Prediction of natural disasters: The combination of sensors and their autonomous coordination and
simulation will help to predict the occurrence of land-slides or other natural disasters and to take
appropriate actions in advance.
7) Industry applications: The IoT can find applications in industry e.g., managing a fleet of cars for an
organization. The IoT helps to monitor their environmental performance and process the data to
determine and pick the one that need maintenance.
8) Water Scarcity monitoring: The IoT can help to detect the water scarcity at different places. The
networks of sensors, tied together with the relevant simulation activities might not only monitor long
term water interventions such as catchment area management, but may even be used to alert users of a
stream, for instance, if an upstream event, such as the accidental release of sewage into the stream,
might have dangerous implications.
9) Design of smart homes: The IoT can help in the design of smart homes e.g., energy consumption
management, interaction with appliances, detecting emergencies, home safety and finding things
easily, home security etc.
10)Medical applications: The IoT can also find applications in medical sector for saving lives or
improving the quality of life e.g., monitoring health parameters, monitoring activities, support for
independent living, monitoring medicines intake etc.
11)Agriculture application: A network of different sensors can sense data, perform data processing and
inform the farmer through communication infrastructure e.g., mobile phone text message about the
portion of land that need particular attention. This may include smart packaging of seeds, fertilizer and
pest control mechanisms that respond to specific local conditions and indicate actions. Intelligent
farming system will help agronomists to have better understanding of the plant growth models and to
have efficient farming practices by having the knowledge of land conditions and climate variability.
This will significantly increase the agricultural productivity by avoiding the inappropriate farming
conditions.
12)Intelligent transport system design: The Intelligent transportation system will provide efficient
transportation control and management using advanced technology of sensors, information and
network. The intelligent transportation can have many interesting featuressuch as non-stop electronic
highway toll, mobile emergency command and scheduling, transportation law enforcement, vehicle
rules violation monitoring, reducingenvironmental pollution, anti-theft system, avoiding traffic jams,
reporting traffic incidents, smart beaconing, minimizing arrival delays etc.
13)Design of smart cities: The IoT can help to design smart cities e.g., monitoring air quality, discovering
emergency routes, efficient lighting up of the city, watering gardens etc.
14)Smart metering and monitoring: The IoT design for smart metering and monitoring willhelp to get
accurate automated meter reading and issuance of invoice to the customers. The IoT can be used to
design such scheme for wind turbine maintenance and remote monitoring, gas, water as well as
environmental metering and monitoring.
15)Smart Security: The IoT can also find applications in the field of security and surveillance e.g.,
surveillance of spaces, tracking of people and assets, infrastructure and equipment maintenance,
alarming, monitoringmedicines intake etc.
16) Agriculture application: A network of different sensors can sense data, perform data
processing and inform the farmer through communicationinfrastructure e.g., mobile phone text message
about the portion of land that need particular attention. This may include smart packaging of seeds,
fertilizer and pest control mechanisms that respond to specific local conditions and indicate actions.
Intelligent farming system will help agronomists to have better understanding of the plant growth
models and to have efficient farming practices by having the knowledge of land conditions and climate
variability. This will significantly increase the agricultural productivity by avoiding the inappropriate
farming conditions.
17) Intelligent transport system design: The Intelligent transportation system will provide
efficient transportation control and management using advanced technology of sensors, information
and network. The intelligent transportation can have many interesting features such as non-stop
electronic highway toll, mobile emergency command and scheduling, transportation law enforcement,
vehicle rules violation monitoring, reducing environmental pollution, anti-theft system, avoiding
traffic jams, reporting traffic incidents, smart beaconing, minimizing arrival delays etc.
18) Design of smart cities: The IoT can help to design smart cities e.g., monitoring air quality,
discovering emergency routes, efficient lighting up ofthe city, watering gardens etc.
19) Smart metering and monitoring: The IoT design for smart metering and monitoring will
help to get accurate automated meter reading and issuance of invoice to the customers. The IoT can be
used to design such scheme for wind turbine maintenance and remote monitoring, gas, water as well as
environmental metering and monitoring.
20) Smart Security: The IoT can also find applications in the field of security
andsurveillance e.g., surveillance of spaces, tracking of people and assets, infrastructure and equipment
maintenance, alarming etc.
Connected Roadways
People have been fantasizing about the self-driving car, or autonomous vehicle, in literature and film
for decades. While this fantasy is now becoming a reality with well- -
driving car, IoT is also a necessary component for implementing a fully connected transportation
infrastructure. IoT is going to allow self-driving vehicles to better interact with the transportation
system around them through bidirectional data exchanges while also providing important data to the
riders. Self-driving vehicles need always-on, reliable communications and data from other
transportation-related sensors to reach their full potential. Connected roadways is the term associated
with both the driver and driverless cars fully integrating with the surrounding transportation
infrastructure. Figure shows a self-driving car designed by Google.
Basic sensors reside in cars already. They monitor oil pressure, tire pressure, temperature, and other
operating conditions, and provide data around the core car functions. From behind the steering wheel,
the driver can access this data while also controlling the car using equipment such as a steering wheel,
pedals, and so on. The need for all this sensory information and control is obvious. The driver must be
able to understand, handle, and make critical decisions while concentrating on driving safely. The
Internet of Things is replicating this concept on a much larger scale.
Today, we are seeing automobiles produced with thousands of sensors, to measure every- thing from
fuel consumption to location to the entertainment your family is watching during the ride. As
automobile manufacturers strive to reinvent the driving experience, these sensors are becoming IP-
enabled to allow easy communication with other systems both inside and outside the car. In addition,
vehicles, traffic signals, school zones, and other elements of the transportation infrastructure. We are
now starting to realize a truly connected transportation solution.
Connected Factory
For years, traditional factories have been operating at a disadvantage, impeded by production
systems, supply chains, and customers and partners. Managers of these traditional factories are
plant floors, front offices, and suppliers For years, traditional factories have been operating at a
disadvantage, imped
targets, and it is easy to determine how quickly employees are completing the various stages of
production. Bottlenecks at any point in production and quality problems are also quickly identified.
Similarly, sensors are often used to control the heating, ventilation, and air-conditioning (HVAC)
system. Temperature sensors are spread throughout the building and are used to influence the building
air flow into a room.
Another interesting aspect of the smart building is that it makes them easier and cheaper to manage.
Considering the massive costs involved in operating such complex structures, not to mention how
many people spend their working lives inside a building, managers have become increasingly
interested in ways to make buildings more efficient and cheaper to manage. Have you ever heard
people complain that they had too little working space
ing used efficiently? When people go to their managers
and ask for a change to the floor plan, such as asking for an increase in the amount of space they work
in, they are often asked to prove their case. But workplace floor efficiency and usage evidence tend to
be anecdotal at best. When smart building sensors and occupancy detection are combined with the
power of data analytics it becomes easy to demonstrate floor plan usage and prove your case.
Alternatively, the building manager can use a similar approach to see where the floor is not being used
efficiently and use this information to optimize the available space. This has brought about the age of
building automation, empowered by IoT. Another promising IoT technology in the smart
connected building, and one that is seeing widespread adoption, is the The
digital ceiling is more than just a lighting control system. This technology encompasses several
of the different networks including lighting, HVAC, blinds, CCTV (closed-circuit
television), and security systems and combines them into a single IP network.
Smart Creatures
When you think about IoT, you probably picture only inanimate objects and machines being
connected. However, IoT also provides the ability to connect living things to the Internet. Sensors can
be placed on animals and even insects just as easily as on machines, and the benefits can be just as
impressive.
One of the most well-known applications of IoT with respect to animals focuses on what is often
- sor that is placed in a
Convergence of IT and OT
Until recently, information technology (IT) and operational technology (OT) have for the most part
lived in separate worlds. IT supports connections to the Internet along with related data and technology
systems and is focused on the secure flow of data across an organization. OT monitors and controls
devices and processes on physical operational systems. These systems include assembly lines, utility
distribution networks, production facilities, roadway systems, and many more. Typically, IT did not
get involved with the production and logistics of OT environments.
Specifically, the IT organization is responsible for the information systems of a business, such as
email, file and print services, databases, and so on. In comparison, OT is responsible for the devices
and processes acting on industrial equipment, such as factory machines, meters, actuators, electrical
distribution automation devices, SCADA (super- visory control and data acquisition) systems, and so
on. Traditionally, OT has used dedi- cated networks with specialized communications protocols to
connect these devices, and these networks have run completely separately from the IT networks.
Management of OT is tied to the lifeblood of a company. For example, if the network connecting the
machines in a factory fails, the machines cannot function, and produc- tion may come to a standstill,
negatively impacting business on the order of millions of dollars. On the other hand, if the email server
(run by the IT department) fails for a few hours, it may irritate people, but it is unlikely to impact
business at anywhere near the same level. Table highlights some of the differences between IT and OT
networks and their various challenges.
With the rise of IoT and standards-based protocols, such as IPv6, the IT and OT worlds are converging
or, more accurately, OT is beginning to adopt the network protocols, technology, transport, and
methods of the IT organization, and the IT organization is beginning to support the operational
requirements used by OT. When IT and OT begin using the same networks, protocols, and processes,
there are clear economies of scale. Not only does convergence reduce the amount of capital
infrastructure needed but networks become easier to operate, and the flexibility of open standards
allows faster growth and adaptability to new technologies.
From table, the convergence of IT and OT to a single consolidated network poses several challenges.
There are fundamental cultural and priority differences between these two organizations. IoT is forcing
these groups to work together, when in the past they have operated rather autonomously. For example,
the
OT organization is baffled when IT schedules a weekend shutdown to update software without regard
to production requirements. On the other hand, the IT group does not understand the prevalence of
proprietary or specialized systems and solutions deployed by OT.
Take the case of deploying quality of service (QoS) in a network. When the IT team deploys QoS,
voice and video traffic are almost universally treated with the highest level of service. However, when
the OT system shares the same network, a very strong argu- ment can be made that the real-time OT
traffic should be given a higher priority than even voice because any disruption in the OT network
could impact the business.
With the merging of OT and IT, improvements are being made to both systems. OT is looking more
toward IT technologies with open standards, such as Ethernet and IP. At the same time, IT is becoming
more of a business partner with OT by better understanding business outcomes and operational
requirements.
The overall benefit of IT and OT working together is a more efficient and profitable business due to
reduced downtime, lower costs through economy of scale, reduced inventory, and improved delivery
times. When IT/OT convergence is managed correctly, IoT becomes fully supported by both groups.
l control systems reside on an
open, integrated, and secure technology foundation.
Challenges of IoT
IoT Challenges
Developing a successful IoT application is still not an easy task due to multiple challenges. These
challenges include: mobility, reliability, scalability, management, availability, interoperability, and
security and privacy. In the following, we briefly describe each of these challenges.
Mobility
IoT devices need to move freely and change their IP address and networks based on their location.
Thus, the routing protocol, such as RPL has to reconstruct the DODAG each time a node goes off the
network or joins the network which adds a lot of overhead. In addition, mobility might result in a
change of service provider which can add another layer of complexity due to service interruption and
changing gateway.
Reliability
System should be perfectly working and delivering all of its specifications correctly. It is a very critical
requirement in applications that requires emergency responses. In IoT applications, the system should
be highly reliable and fast in collecting data, communicating them and making decisions and
eventually wrong decisions can lead to disastrous scenarios.
Scalability
Scalability is another challenge of IoT applications where millions and trillions of devices could be
connected on the same network. Managing their distribution is not an easy task. In addition, IoT
applications should be tolerant of new services and devices constantly joining the network and,
therefore, must be designed to enable extensible services and operations.
Management
Managing all These devices and keeping track of the failures, configurations, and performance of such
large number of devices is definitely a challenge in IoT. Providers should manage Fault,
Configuration, Accounting, Performance and Security (FCAPS) of their interconnected devices and
account for each aspect.
Availability
Availability of IoT includes software and hardware levels being provided at anytime and anywhere for
service subscribers. Software availability means that the service is provided to anyone who is
authorized to have it. Hardware availability means that the existing devices are easy to access and are
compatible with IoT functionality and protocols. In addition, these protocols should be compact to be
able to be embedded within the IoT constrained devices.
Interoperability
Interoperability means that heterogeneous devices and protocols need to be able to inter-work with
each other. This is challenging due to the large number of different platforms used in IoT systems.
Interoperability should be handled by both the application developers and the device manufacturers in
order to deliver the services regardless of the platform or hardware specification used by the customer.
Scale While the scale of IT networks can be large, the scale of OT can be several
orders of magnitude larger. For example, one large electrical utility in Asia
recently began deploying IPv6-based smart meters on its electrical grid.
While this utility company has tens of thousands of employees (which
can be considered IP nodes in the network), the number of meters in the
service area is tens of millions. This means the scale of the network the
utility is managing has increased by more than 1,000-fold! .
Security
security is an increasingly complex issue for IoT. Your threat surface is now
greatly expanded, and if a device gets hacked, its connectivity is a major
concern. A compromised device can serve as a launching point to attack
other devices and systems. IoT security is also pervasive across just about
every facet of IoT. For more information on IoT security
Privacy As sensors become more prolific in our everyday lives, much of the data
they gather will be specific to individuals and their activities. This data
can range from health information to shopping patterns and transactions
at a retail establishment. For businesses, this data has monetary value.
Organizations are now discussing who owns this data and how individuals
can control whether it is shared and with whom.
Big data and IoT and its large number of sensors is going to trigger a deluge of data that
data analytics must be handled. This data will provide critical information and insights
if it can be processed in an efficient manner. The challenge, however, is
evaluating massive amounts of data arriving from different sources in
various forms and doing so in a timely manner.
Challenge Description
IoT Architecture
Introduction
The Internet of Things (IoT) has seen an increasing interest in adaptive frameworks and architectural
designs to promote the correlation between IoT devices and IoT systems. This is because IoT systems are
designed to be categorized across diverse application domains and geographical locations. It, therefore, creates
extensive dependencies acrossdomains, platforms and services. Considering this interdependency between IoT
devices and IoT systems, an intelligent, connection-aware framework has become a necessity, this is where IoT
architecture comes into play! Imagine a variety of smart IoT systems from sensors and actuators to internet
getaways and Data Acquisition Systems all under the centralized
referred to as the IoT architecture, whose effectiveness and applicability directly correlate with the quality of its
building blocks. The way a system interacts and the different functions an IoT device performs are various
to say that the key
causes of poor integration in IoT systems are the shortage of intelligent, connection-aware architecture to
support interaction in IoT systems.
An IoT architecture is the system of numerous elements that range from sensors, protocols, actuators, to
cloud services, and layers. Besides, devices and sensors the Internet of Things (IoT) architecture layers are
distinguished to track the consistency of a system through protocols and gateways. Different architectures have
been proposed by researchers and we can all agree that there is no single consensus on architecture for IoT. The
most basic architecture is a three-layer architecture.
State-of-the-art
The IoT can be considered both a dynamic and global networked infrastructure that manages self-
configuring objects in a highly intelligent way. This, in turn, allows the interconnection of IoT devices that
share their information to create new applications and services which can improve human lives. Originally, the
concept of the IoT was first introduced by Kevin Ashton, who is the founder of MIT auto-identification centre
in 1999. Internet did.
Maybe even more Later, the IoT was officially presented by the International Telecommunication Union
(ITU) in 2005. The IoT has many definitions suggested by many organizations and researchers. However, the
definition provided by ITU the information
society, enabling advanced services by interconnecting (physical and virtual) things based on, existing and
evolving, interoperable information and communication In addition, Guillemin and Friess in
have suggested one of the simplest definitions that describe the IoT in a smooth manner. It stated:
Internet of Things allows people and things to be connected Anytime, Anyplace, with anything and anyone,
ideally using any path/network and definitions were suggested by many researchers
describing the IoT system from different perspectives but the important thing that majority or researchers have
agreed on is the IoT is created for a better world for all the human beings. The IoT is a promising technology
that starts to grow significantly. There were already more objects/things connected to the Internet than people
from 2008. Predictions are made that in the future; the number of Internet-connected devices will reach or even
exceed 50 billion. In addition, the IoT becomes the most massive device market that enables companies to save
billions of dollars. It has added $1.7 trillion in value to the global economy in 2019. This involves hardware,
software, management services, installation costs, and economic value from realized IoT efficiencies.
Nowadays, the IoT notion has evolved to include the perception of realizing a global infrastructure of
interconnected networks of physical and virtual objects. The huge technological development has expanded the
idea of the IoT to involve other technologies such as Cloud computing and Wireless Sensor Networks (WSNs).
The IoT has become able to connect both humans and things anywhere, and anytime, ideally using any
path/network. The IoT has become one of the interesting topics to many researchers. According to Google, the
number of IoT journal and conference papers has almost doubled from 2004 to 2010. From 2010, the IoT
articles are dramatically increased to reach about 985 articles in 2015.
COMMUNICATIONS LAYER
The communication layer supports the connectivity of the devices. There are multiple potential protocols for
communication between the devices and the cloud.
The most well-known three potential protocols are
HTTP/HTTPS (and RESTful approaches on those)
MQTT 3.1/3.1.1(Message Queuing Telemetry Transport)
Constrained application protocol (CoAP)
HTTP is well known, and there are many libraries that support it. Because it is a simple text- based protocol,
many small devices such as 8-bit controllers can only partially support the protocol for example enough code
to POST or GET a resource. The larger 32-bit based devices can utilize full HTTP client libraries that properly
implement the whole protocol. There are several protocols optimized for IoT use. The two best known are
MQTT6 and CoAP7. MQTT was invented in 1999 to solve issues in embedded systems and SCADA. It has
been through some iterations and the current version (3.1.1) is undergoing standardizationin the OASIS MQTT
Technical Committee8. MQTT is a publish-subscribe messaging systembased on a broker model. The protocol
has a very small overhead (as little as 2 bytes per message), and was designed to support lossy and
intermittently connected networks. MQTT was designed to flow over TCP. In addition, there is an associated
specification designed for ZigBee-style networks called MQTT-SN (Sensor Networks). CoAP is a protocol
from the IETF that is designed to provide a RESTful application protocol modeled on HTTP semantics, but
with a much smaller footprint and a binary rather than a text- based approach. CoAP is a more traditional client-
server approach rather than a brokered approach. CoAP is designed to be used over UDP. For the reference
architecture we have opted to select MQTT as the preferred device communication protocol, with HTTP as an
alternative option.
The reasons to select MQTT and not CoAP at this stage are
Better adoption and wider library support for MQTT;
Simplified bridging into existing event collection and event processing systems; and
Simpler connectivity over firewalls and NAT networks
However, both protocols have specific strengths (and weaknesses) and so there will be some situations where
CoAP may be preferable and could be swapped in. In order to support MQTT we need to have an MQTT
broker in the architecture as well as device libraries. We will discuss this with regard to security and scalability
later. One important aspect with IoT devices is not just for the device to send data to the cloud/ server, but also
the reverse. This is one of the benefits of the MQTT specification: because it is a brokered model, clients
connectan outbound connection to the broker, whether or not the device is acting as a publisher or subscriber.
This usually avoids firewall problems because this approach works even behind firewalls or via NAT. In the
case where the main communication is based on HTTP, the traditional approach for sending data to the
device would be to use HTTP Polling. This isvery inefficient and costly, both in terms of network traffic as
well as power requirements. The modern replacement for this is the WebSocket protocol9 that allows an
HTTP connection to be upgraded into a full two-way connection. This then acts as a socket channel (similar to
a pure TCP channel) between the server and client. Once that has been established, it is up to the system to
choose an ongoing protocol to tunnel over the connection. For the reference architecture we once again
recommend using MQTT as a protocol with WebSockets. In some cases, MQTT over Web Sockets will be
the only protocol. This is because itis even more firewall-friendly than the base MQTT specification as well as
supporting pure browser/JavaScript clients using the same protocol. Note that while there is some support for
Web Sockets on small controllers, such as Arduino, the combination of network code, HTTP and Web Sockets
would utilize most of the available code space on a typical Arduino 8-bit device. Therefore, it is recommended
the use of Web Sockets on the larger 32-bit devices.
AGGREGATION/BUS LAYER
An important layer of the architecture is the layer that aggregates and brokers communications. This is an
important layer for three reasons:
1. The ability to support an HTTP server and/or an MQTT broker to talk to the devices
2. The ability to aggregate and combine communications from different devices and to route
communications to a specific device (possibly via a gateway)
3. The ability to bridge and transform between different protocols, e.g. to offer HTTP based APIs that
are mediated into an MQTT message going to the device. The aggregation/bus layer provides these capabilities
as well as adapting into legacy protocols. The bus layer may also provide some simple correlation and mapping
from different correlation models (e.g. -versa). Finally, the
aggregation/bus layer needs to perform two key security roles. It must be able to act as an OAuth2 Resource
Server (validating Bearer Tokens and associated resource access scopes). It must also be able to act as a policy
enforcement point (PEP) for policy-based access. In this model, the bus makes requests to the identity and
access management layer to validate access requests. The identity and access management layer acts as a policy
decision point (PDP) in this process. The bus layer then implements the results of these calls to the PDP to
either allow or disallowresource access.
EVENT PROCESSING AND ANALYTICS LAYER
This layer takes the events from the bus and provides the ability to process and act upon these events. A core
capability here is the requirement to store the data into a database. This may happen in three forms. The
traditional model here would be to write a server-side application,
e.g. this could be a JAX-RS application backed by a database. However, there are many approaches where we
can support more agile approaches. The first of these is to use a big data analytics platform. This is a
cloudscalable platform that supports technologies such as Apache Hadoop to provide highly scalable map
reduce analytics on the data coming from the devices. The second approach is to support complex event
processing to initiate near real- time activities and actions based on data from the devices and from the rest of
the system.
Our recommended approach in this space is to use the following approaches:
Highly scalable, column-based data storage for storing events
Map-reduce for long-running batch-oriented processing of data
Complex event processing for fast in-memory processing and near real-time reaction and autonomic
actions based on the data and activity of devices and other systems
In addition, this layer may support traditional application processing platforms, such as Java Beans,
JAX-RS logic, message-driven beans, or alternatives, such as node.js, PHP, Ruby or Python.
CLIENT/EXTERNAL COMMUNICATIONS LAYER
The reference architecture needs to provide a way for these devices to communicate outside of the device-
oriented system. This includes three main approaches. Firstly, we need the ability to create web-based front-
ends and portals that interact with devices and with the event-processing layer. Secondly, we need the ability to
create dashboards that offer views into analytics and event processing. Finally, we need to be able to interact
with systems outside this network using machine-to-machine communications (APIs). These APIs need to be
managed and controlled and this happens in an API management system. The recommended approach to
building the web front end is to utilize a modular front-end architecture, such as a portal, which allows
simple fast composition of useful UIs. Of course, the architecture also supports existing Web server-side
technology, such as Java Servlets/ JSP, PHP, Python, Ruby, etc. Our recommended approach is based on the
Java framework and the most popular Java-based web server, Apache Tomcat. The dashboard is a re-usable
system focused on creating graphs and other visualizations of data coming from the devices and the event
processing layer.
The API management layer provides three main functions:
The first is that it provides a developer-focused portal (as opposed to the user focused portal
previously mentioned), where developers can find, explore, and subscribe to APIs from the system. There is
also support for publishers to create, version, and manage the available and published APIs;
The second is a gateway that manages access to the APIs, performing access control checks (for
external requests) as well as throttling usage based on policies. It also performs routing and load- balancing;
The final aspect is that the gateway publishes data into the analytics layer where it is stored as well as
processed to provide insights into how the APIs are used.
DEVICE MANAGEMENT
Device management (DM) is handled by two components. A server-side system (the device manager)
communicates with devices via various protocols and provides both individual and bulk control of devices. It
also remotely manages software and applications deployed on the device. It can lock and/or wipe the device if
necessary. The device manager works in conjunction with the device management agents. There are multiple
different agents for different platforms and device types. The device manager also needs to maintain the list of
device identities and map these into owners. It must also work with the identity and access management layer to
manage access controls over devices (e.g. who else can manage the device apart from the owner, how much
control does the owner have vs. the administrator, etc.) There are three levels of device: non-managed, semi-
managed and fully managed (NM, SM, FM). Fully managed devices are those that run a full DM agent.
A full DM agent supports:
Managing the software on the device
Enabling/disabling features of the device (e.g. camera, hardware, etc.)
Management of security controls and identifiers
Monitoring the availability of the device Maintaining a record of the device location ifavailable
Locking or wiping the device remotely if the device is compromised, etc.
Non-managed devices can communicate with the rest of the network, but have no agent involved. These may
include 8-bit devices where the constraints are too small to support the agent. The device manager may still
maintain information on the availability and location of the device if this is available. Semi-managed devices
are those that implement some parts of the DM (e.g. feature control, but not software management).
IDENTITY AND ACCESS MANAGEMENT
The final layer is the identity and access management layer. This layer needs to provide the following services:
OAuth2 token issuing and validation
Other identity services including SAML2 SSO and OpenID Connect support for identifyinginbound
requests from the Web layer
XACML PDP
Directory of users (e.g. LDAP)
Policy management for access control (policy control point)
The identity layer may of course have other requirements specific to the other identity and access management
for a given instantiation of the reference architecture. In this section we have outlined the major components of
the reference architecture as well as specific decisionswe have taken around technologies. These decisions are
motivated by the specific requirements of IoT architectures as well as best practices for building agile,
evolvable, scalable Internet architectures.
IoT Reference Model
In an IoT system, data is generated by multiple kinds of devices, processed in different ways, transmitted to
different locations, and acted upon by applications. The proposed IoT reference model is comprised of seven
levels. Each level is defined with terminology that can be standardized to create a globally accepted frame of
reference. The IoT Reference Model does not restrict the scope or locality of its components. For example,
from a physical perspective, every element could reside in a single rack of equipment or it could be distributed
across the world. The IoT Reference Model also allows the processing occurring at each level to range from
trivial to complex, depending on the situation. The model describes how tasks at each level should be handled
to maintain simplicity, allow high scalability, and ensure supportability. Finally, the model defines the
functions required for an IoT system to be complete. Figure illustrates the IoT Reference model and its
levels. It is important to note that in the IoT, data flows in both directions. In a control pattern, control
information flows from the top of the model (level 7) to the bottom (level 1). In a monitoring pattern, the
flowof information is the reverse. In most systems, the flow will be bidirectional.
Reference Architecture is a starting point for generating concrete architectures and actual systems. A concrete
architecture addresses the concerns of multiple stakeholders of the actual system, and it is typically presented as
a series of views thataddress different stakeholder concerns.
A Reference Architecture, on the other hand, serves as a guide for one or more concrete system architects.
However, the concept of views for the presentation of an architecture is also useful for the IoT Reference
Architecture.
Views are useful for reducing the complexity of the Reference Architecture blueprints by addressing groups of
concerns one group at a time.
However, since the IoT Reference Architecture does not contain details about the environment where the actual
system is deployed, some views cannot be presented in detail or at all; for example, the view that shows the
concrete Physical Entities and Devices for a specific scenario.
The stakeholders for a concrete IoT system are the people who use the system(Human Users); the people who
design, build, and test the Resources , Services, Active Digital Artifacts, and Applications; the people who
deploy Devices and attach them to Physical Entities; the people who integrate IoT capabilities of functions with
an existing ICT system (e.g. of an enterprise); the people who operate, maintain, and troubleshoot the Physical
and Virtual Infrastructure; and the people who buy and own an IoT system or parts thereof (e.g. city
authorities).
In order to address the concerns of mainly the concrete IoT architect, and secondly theconcerns of most of the
above stakeholders, we have chosen to present the Reference Architecture as a set of architectural views .
Functional View: Description of what the system does, and its main functions.
Information View: Description of the data and information that the system handles.
Deployment and Operational View: Description of the main real world components ofthe system such as
devices, network routers, servers, etc.
Focuses on aspects of the system important after the system has been built and is ready to be put into live
operation.
least well-defined view, as many of the details are not fully-defined until construction is underway
Installation and upgrade
s allocated to a cloud
installed or upgra
depends on ho
Consider deployment environment to identify solutions.
Alerting
-error conditions (startup,
alerts
Backup and Restore d, built, and
least any tra
ore.
changing scores.
Documenting System Administration
-blown
of each procedure, when performed, who performs it, and the steps involved.
itions may require administrative intervention (disk full, network failure).
Functional view
The functional view for the IoT Reference Architecture is presented in Figure.5.1 ,and is adapted from IoT-
A.
It consists of the Functional Groups (FGs) presented earlier in the IoT FunctionalModel, each of which
includes a set of Functional Components (FCs).
It is important to note that not all the FCs are used in a concrete IoT architecture, andtherefore the actual
system as explained earlier
Fig.2.6 IoT Functional View
The Device and Application FGs are already covered in the IoT Functional Model. For convenience the
Device FG contains the Sensing, Actuation, Tag, Processing, Storage FCs, or simply components.
These components represent the resources of the device attached to the Physical Entities of interest. The
Application FG contains either standalone applications (e.g. for iOS, Android, Windows phone), or Business
Applications that connect the IoT system to an Enterprise system.
Communication functional group
The Hop-by-Hop Communication is applicable in the case that devices are equipped with mesh radio
networking technologies such as IEEE 802.15.4 for which messages have to traverse the mesh from node-to-
node (hop-by-hop) until they reach a gateway node which forwards the message (if needed) further to the
Internet.
The hop-by-hop FC is responsible for transmission and reception of physical and MAC layer frames to/from
other devices. This FC has two main interfaces: (a) one to/from the actual radio on the device,
and (b) one to/from the Network FC in the Communication FG.
The Network FC is responsible for message routing & forwarding and the necessary translations of various
identifiers and addresses.
The translations can be (a) between network layer identifiers to MAC and/or physical network identifiers, (b)
between high-level human readable host/node identifiers to network layer addresses (e.g. Fully Qualified
Domain Names (FQDN) to IP addresses, a function implemented by a Domain Name System (DNS) server),
and (c) translation between node/service identifiers and network locators in case the higher layers above the
networking layer use node or service identifiers that are decoupled from the node addresses in the network
(e.g.Host Identity Protocol (HIP; Moskovitz & Nikander 2006) identifiers and IP addresses).
Potential fragmentation and reassembly of messages due to limitations of the underlying layers is also handled
by the Network FC.
Finally, the Network FC is responsible for handling messages that cross different networking or MAC/PHY
layer technologies, a function that is typically implementedon a network gateway type of device.
The End-to-End Communication FC is responsible for end-to-end transport of application layer messages
through diverse network and MAC/PHY layers.
In turn, this means that it may be responsible for end-to-end retransmissions of missing frames
depending on the configuration of the FC. For example, if the End-to- End Communication FC is mapped in an
actual system to a component implementingthe Transmission Control Protocol (TCP) protocol, reliable transfer
of frames dictates the retransmission of missing frames.
Finally, this FC is responsible for hosting any necessary proxy/cache and any protocol
translation between networks with different transport/application layer technologies. An example of such
functionality is the HTTP-CoAP proxy, which performs transport-layer protocol translation. The End-to-
End FC interfaces the Network FCon direction.
The IoT Service FG consists of two FCs: The IoT Service FC and the IoT ServiceResolution FC:
The IoT Service FC is a collection of service implementations, which interface the related and
associated Resources. For a Sensor type of a Resource, the IoT Service FC includes Services that receive
requests from a User and returns the Sensor Resource value in synchronous or asynchronous (e.g.
subscription/notification) fashion.
The services corresponding to Actuator Resources receive User requests for actuation, control the Actuator
Resource, and may return the status of the Actuator after the action.
A Tag IoT Service can behave both as a Sensor (for reading the identifier of the Tag), or as an Actuator (for
writing a new identifier or information on the Tag, if possible).
The IoT Service Resolution FC contains the necessary functions to realize a directory of IoT Services that
allows dynamic management of IoT Service descriptions and discovery/lookup/resolution of IoT Services by
other Active Digital Artifacts.
The Service descriptions of IoT Services contain a number of attributes as seen earlier in the IoT Functional
Model section. Dynamic management includes methods such as creation/update/ deletion (CUD) of Service
description, and can be invoked by both the
IoT Services themselves, or functions from the Management FG (e.g.bulk creation of IoT Service descriptions
upon system start-up).
The discovery/lookup and resolution functions allow other Services or Active Digital Artifacts to locate IoT
Services by providing different types of information to the IoT Service Resolution FC.
By providing the Service identifier (attribute of the Service description) a lookup method invocation to the IoT
Service Resolution returns the Service description,while the resolution method invocation returns the contact
information (attribute of the service description) of a service for direct Service invocation (e.g. URL).
The discovery method, on the other hand, assumes that the Service identifier is unknown, and the discovery
request contains a set of desirable Service description attributes that matching Service descriptions should
contain.
The Virtual Entity FG contains functions that support the interactions between Users and Physical Things
through Virtual Entity services.
Assuming that the room is actually instrumented with a temperature sensor, if theUser had the knowledge
of which temperature sensor is installed in the room (e.g. TempSensor #23), then the User could re-formulate
and re- evant IoT Service
representing the temperature resource on the TempSensor #23.
The Virtual Entity interaction paradigm requires functionality such as discovery of IoT Services based on
Virtual Entity descriptions, managing the Virtual Entity-IoT Service associations, and processing Virtual
Entity-based queries. The following FCs are defined for realizing these functionalities:
The Virtual Entity Service FC enables the interaction between Users and Virtual Entities by means of reading
and writing the Virtual Entity attributes (simple or complex), which can be read or written, of course.
Some attributes (e.g. the GPS coordinates of a room) are static and non-writable by nature, and some other
attributes are non-writable by access control rules.
In general attributes that are associated with IoT Services, which in turn represent Sensor
Resources, can only be read. There can be, of course, special Virtual Entities associated with the same Sensor
Resource through another IoT Service that allow write operations.
An example of such a special case is when the Virtual Entity represents the Sensor device itself (for
management purposes).
In general, attributes that are associated with IoT Services, which in turn represent Actuator Resources, can be
read and written. A read operation returns the actuator status, while a write operation results in a command sent
to the actuator.
The Virtual Entity Registry FC maintains the Virtual Entities of interest for the specific IoT system and their
associations.
The component offers services such as creating/reading/updating/deleting Virtual Entity descriptions and
associations. Certain associations can be static; for example,
other associ
due to at least Entity mobility. Update and Deletion operations take the Virtual Entity identifieras a parameter.
The Virtual Entity Resolution FC maintains the associations between Virtual Entities and IoT Services, and
offers services such as creating/reading/updating/deleting associations as well as lookup and discovery of
associations.
The Virtual Entity Resolution FC also provides notification to Users about the status of the dynamic
associations between a Virtual Entity and an IoT Service, and finally allows the discovery of IoT Services
provided the certain Virtual Entity attributes.
The Virtual Entity and IoT Service Monitoring FC includes: (a) functionality to assert static Virtual EntityIoT
Service associations, (b) functionality to discover new associations based on existing associations or
Virtual Entity attributes such as location or proximity, and (c) continuous monitoring of the dynamic
associations between Virtual Entities and IoT Services and updates of their status in case existing associations
are not valid any more.
The IoT Process Management FG aims at supporting the integration of business processes with IoT-related
services. It consists of two FCs:
The Process Modeling FC provides that right tools for modeling a business process that
utilizes IoT-related services.
The Process Execution FC contains the execution environment of the process models created
by the Process Modelling FC and executes the created processes by utilizing the Service Organization FG in
order to resolve high-level application requirements tospecific IoT services.
The Service Organization FG acts as a coordinator between different Services offered by the system. It consists
of the following FCs:
The Service Orchestration FC resolves the requests coming from IoT Process Execution FC
or User into the concrete IoT services that fulfill the requirements.
The Service Choreography FC is a broker for facilitating communication among Services
using the Publish/Subscribe pattern. Users and Services interested in specific IoT- related services subscribe
to the Choreography FC, providing the desirable service attributes even if the desired services do not exist. The
Choreography FC notifies the Users when services fulfilling the subscription criteria are found.
The Security FG contains the necessary functions for ensuring the security and privacy of an IoT system. It
consists of the following FCs:
The Identity Management FC manages the different identities of the involved Services or
Users in an IoT system in order to achieve anonymity by the use of multiple pseudonyms.
The Authentication FC verifies the identity of a User and creates an assertion upon successful
verification. It also verifies the validity of a given assertion.
The Authorization FC manages and enforces access control policies. It provides services to
manage policies (CUD), as well as taking decisions and enforcing them regarding access rights of restricted
any item in an IoT system that needs a
restricted access. Such an item can be a database entry (Passive Digital Artifact), a Service interface, a Virtual
Entity attribute (simple or complex), aResource/Service/Virtual Entity description, etc.
The Key Exchange & Management is used for setting up the necessary security keys between two
communicating entities in an IoT system.
The Trust & Reputation FC manages reputation scores of different interacting entities in an IoT system and
calculates the service trust levels.
The Management FG contains system-wide management functions that may use individual FC management
interfaces. It is not responsible for the management of each component, rather for the management of the
system as
The Configuration FC maintains the configuration of the FCs and the Devices in an IoT
system (a subset of the ones included in the Functional View). The component collects the current
configuration of all the FCs and devices, stores it in a historical database, and compares current and historical
configurations. The component can also set the system-wide configuration (e.g. upon initialization), which in
turn translates to configuration changes to individual FCs and devices.
The Fault FC detects, logs, isolates, and corrects system-wide faults if possible. This means that individual
component fault reporting triggers fault diagnosis and fault recovery procedures in the Fault FC.The Member
FC manages membership information about the relevant entities in an IoT system. Example relevant entities are
the FGs, FCs Services, Resources, Devices, Users, and Applications. Membership
information is typically stored in a database along with other useful information such as capabilities, ownership,