You are on page 1of 67

Course Information

ITE 4003 Internet of


Things

Besma Smida
Associate Professor
Electrical and Computer Engineering
Today’s outline

• Course information
• Introduction to IoT
• The rest of course will delve deeper into what you hear about today...

22
Administrivia

Hours and location:


• Mon 10-11, Wed 11-1, Thu 8-9
• Teaching staff:
• Instructor Dr. Besma Smida -- smida@uic.edu
• Instructor Dr. M Pounambal

33
Instructor -- Besma Smida

T T
Engineering r Master Research Ph.D r
PostDoc Assistant Prof. Associate
High School Degree a University of Engineer University of a
Harvard Purdue Prof.
Tunis -Tunisia SUPCOM v Quebec Roger Quebec v
University Calumet UIC
Tunis - Tunisia e Canada Wireless Canada e
l l

My research on Wireless Communications – webpage


https://smida.people.uic.edu

44
University of Illinois—Chicago UIC

• University of Illinois—Chicago is a public


institution that was founded in 1965.
• It has a total enrollment of 34000 students, its
setting is urban, and the campus size is 240
acres.
• The second campus established under
the University of Illinois system, UIC is also
the largest university in the Chicago
metropolitan area, having more than 16
colleges. It is classified among "R1: Doctoral
Universities – Very high research activity."

55
NICEST Lab - Networks Information Communications
and Engineering Systems Laboratory

Besma Smida Natasha Devroye

Founded in 2015
• The NICEST lab's research focuses on information and
data processing, communication and storage over
networks.
• Our goal is to understand — from theory to practice — how
to “best” communicate data over networks.
• We tackle this from information theoretic, statistical signal
processing, communication theoretic, and networking
angles.
Team
• 5 Co-directors and around 20 PhD students and post-
doctoral follows

Daniela Tuninetti Erdem Koyuncu Hulya Seferoglu

66
Textbook

The basic organization of the course will be taken


from
Vijay Madisetti and Arshdeep Bahga, Internet of Things: A Hands-
On Approach, VPT edition1, 2014.

Jonathan Follett, Designing for Emerging - UX for


Genomics, Robotics, and the Internet of

77
Course structure

• Introduction to Internet of Things


• IoT Enabling Technologies
• Domain Specific IoTs -- 1 and 2
• IoT and M2M
• IoT Platforms - Design Methodology
• IoT Physical Servers & Cloud Offerings
• Contemporary issues

88
Introduction to Internet of
Things
IoT definition - Wikipedia

Wikipedia -- The Internet of things (IoT) describes devices with sensors,


processing ability, software and other technologies that connect and exchange
data with other devices and systems over the Internet or other communications
networks

In the consumer market, IoT technology is most synonymous with "smart


home" products, including devices and appliances (lighting
fixtures, thermostats, home security systems, cameras, and other home
appliances) that support one or more common ecosystems, and can be
controlled via devices associated with that ecosystem, such
as smartphones and smart speakers. IoT is also used in healthcare
systems.

10
10
IoT definition - Textbook

Textbook -- A dynamic global network infrastructure with self-configuring


capabilities based on standard and interoperable communication
protocols where physical and virtual "things" have identities, physical
attributes, and virtual personalities and use intelligent interfaces, and
are seamlessly integrated into the information network, often
communicate data associated with users and their environments.

11
11
Characteristics of IoT

• Dynamic & Self-Adapting


• Self-Configuring
• Interoperable Communication Protocols
• Unique Identity
• Integrated into Information Network

12
12
The major benefits of IoT are:

Improved User Engagement – IoT improves user


experience by automating the action.
Technical Optimization – IoT has helped a lot in
improving technologies and making them better.
Reduced Waste – Our current insights are
superficial, but IoT provides real-time information
leading to effective decision-making &
management of resources.

13
13
The major challenges of IoT are:

Security and Privacy Attacks:


All indications suggest that countless Internet of Things (IoT) devices that power
everyday technology like closed-circuit cameras and smart- home devices
were hijacked by the malware and used against the servers.

There have been industry and government moves to address these concerns,
including the development of international and local standards, guidelines,
and regulatory frameworks.

14
14
History
• The main concept of a network of smart devices was discussed as early as
1982, with a modified Coca-Cola vending machine at Carnegie Mellon
University becoming the first ARPANET-connected appliance, able to report
its inventory and whether newly loaded drinks were cold or not.
• The concept of the "Internet of things" and the term itself, first appeared in a
speech by Peter T. Lewis, published in September 1985. According to
Lewis, "The Internet of Things, or IoT, is the integration of people,
processes and technology with connectable devices and sensors to enable
remote monitoring, status, manipulation and evaluation of trends of such
devices.”
• The term "Internet of things" was coined independently by Kevin
Ashton of Procter & Gamble, later of MIT's Auto-ID Center, in 1999, though
he prefers the phrase "Internet for things”. At that point, he viewed radio-
frequency identification (RFID) as essential to the Internet of things.

15
15
IoT Evolution

Interconnect more and smaller devices cheaply and


easily:
• Ubiquitous Connectivity—Low–cost, high–speed,
pervasive network connectivity, licensed and
unlicensed wireless services
• Widespread adoption of IP
• Miniaturization
• Advances in Data Analytics
• Rise of Cloud Computing

16
16
Physical Design of IoT

The "Things" in IoT usually refers to IoT devices which have


unique identities and can perform remote sensing, actuating
and monitoring capabilities.
IoT devices can:
• Exchange data with other connected devices and
applications (directly or indirectly), or
• Collect data from other devices and process the data
locally or
• Send the data to centralized servers or cloud-based
application back-ends for processing the data, or
• Perform some tasks locally and other tasks within the IoT
infrastructure, based on temporal and space constraints

17
IoT devices Vs Computers
• In the Internet of Computers, the main data producers and
consumers are human beings. However, in the IoT, the
main actors become things, where things are the majority of
data producers and consumers

• IoT devices are special-purpose devices. Computers are


general-purpose devices.

18
18
Physical design of IoT

19
Generic block diagram of an IoT Device

An IoT device may consist of several


interfaces for connections to other
devices, both wired and wireless.
• I/O interfaces for sensors
• Interfaces for Internet connectivity
• Memory and storage interfaces
• Audio/video interfaces.

20
IoT Networking considerations and challenges

• Range
• Bandwidth
• Power usage
• Intermittent
connectivity /Interoperability
• Security

21
21
Range
LAN MAN/WAN
PAN
MAN (Metropolitan Area Network)
LAN(LocalAreaNetwork) LAN is MAN is long-range (city wide),
PAN(PersonalAreaNetwork) short- to medium-range, where where distances are measured
PAN is short-range, where distances can be up to up to a few kilometers, such as
distances can be measured hundreds of meters, such as smart parking sensors installed
in meters, such as a home automation or sensors throughout a city that are
wearable fitness tracker that are installed within a factory connected in a mesh network
device that communicates production line that topology.
with an app on a cell phone communicate over wifi with a
over BLE. gateway device that is installed WAN (Wide Area Network) WAN is
within the same building. long-range, where distances can
be measured in kilometers,
such as agricultural sensors that
are installed across a large farm
or ranch that are used to monitor
micro-climate environmental
conditions across the property.

22
Bandwidth – Data Rate

Bandwidth is the amount of data that can be transmitted per unit of time. It
limits the rate at which data can be collected from IoT devices and
transmitted upstream. Bandwidth is affected by many factors, which
include:
• The volume of data each device gathers and transmits
• The number of devices deployed
• Whether data is being sent as a constant stream or in intermittent bursts,
and if any peak periods are notable

23
23
Power usage

Transmitting data from a device consumes power. Transmitting data over long
ranges requires more power than over a short range. You must consider the
power source – such as a battery, solar cell, or capacitor – of a device and its
total lifecycle. A long and enduring lifecycle will not only provide greater reliability
but reduce operating cost. Steps may be taken to help achieve longer power
supply lifecycles. For example, to prolong the battery life, you can put the device
into sleep mode whenever it is idle. Another best practice is to model the energy
consumption of the device under different loads and different network conditions
to ensure that the device’s power supply and storage capacity matches with the
power that is required to transmit the necessary data by using the networking
technologies that you adopted.

24
Security

Authentication Adopt secure protocols to support authentication for devices,


gateways, users, services, and applications. Consider using adopting the
X.509 standard for device authentication.

Encryption
Port protection Port protection ensures that only the ports required for
communication with the gateway or upstream applications or services remain
open to external connections. All other ports should be disabled or protected
by firewalls

25
25
Channel Capacity

The channel capacity, C, is defined to be the maximum


rate at which information can be transmitted
through a channel. The fundamental theorem of
information theory says that at any rate below channel
capacity, an error control code can be designed whose
probability of error is arbitrarily small.

26
26
Networking standards and technologies -1

The Open Systems Interconnection (OSI) model is


an ISO-standard abstract model is a stack of seven
protocol layers.
Although the TCP/IP and OSI models provide you
with useful abstractions for discussing networking
protocols and specific technologies that implement
each protocol, some protocols don’t fit neatly into
these layered models and are impractical.

27
27
Networking standards and technologies - 2
Network Access & Physical Layer The Transport Layer
physical (PHY) layer (Layer 1 of OSI) The transport layer (Layer 4 in OSI)
governs how each device is physically focuses on end-to-end
connected to the network with communication and provides
hardware, for example with an optic features such as reliability,
cable, wires, or radio in the case of congestion avoidance, and
wireless network like wifi IEEE 802.11 guaranteeing that packets will be
a/b/g/n). At the link layer (Layer 2 of delivered in the same order that they
OSI), devices are identified by a MAC were sent. UDP (User Datagram
address, and protocols at this level are protocol) is often adopted for IoT
concerned with physical addressing, transport for performance reasons.
such as how switches deliver frames to Application Layer
devices on the network. The application layer (Layers 5, 6,
Internet Layer This layer maps to the OSI and 7 in OSI) covers application-level
Layer 3 (network layer). OSI Layer 3 messaging. HTTP/S is an example of
relates to logical addressing. Protocols an application layer protocol that is
at this layer define how routers deliver widely adopted across the internet.
packets of data
28
28
IoT Protocols
Link Layer
• 802.3 – Ethernet
• 802.11 – WiFi
• 802.16 – WiMax
• 802.15.4 – LR-WPAN
• 2G/3G/4G etc.
Network/Internet Layer
• IPv4
• IPv6
• 6LoWPAN
Transport Layer
• TCP
• UDP
Application Layer
• HTTP
• CoAP
• WebSocket
• MQTT
• XMPP
• DDS
• AMQP

29
Logical Design of IoT

30
Logical Design of IoT

Logical design of an IoT system


refers to an abstract
representation of the entities and
processes without going into the
low-level specifics of the
implementation.

An IoT system comprises of a


number of functional blocks that
provide the system the
capabilities for identification,
sensing, actuation,
communication, and
management.

31
Request-Response communication model -1

Request-Response is a
communication model in which
the client sends requests to the
server and the server responds to
the requests.

When the server receives a request,


it decides how to respond, fetches
the data, retrieves resource
representations, prepares the
response, and then sends the
response to the client.

32
Request-Response communication model -2

Advantages:
• Centralized system with all data in a single place.
• Cost efficient requires less maintenance cost and Data recovery is possible.
• The capacity of the Client and Servers can be changed separately.
Disadvantages:
• Clients are prone to viruses, Trojans and worms if present in the Server or
uploaded into the Server.
• Server are prone to Denial of Service (DOS) attacks.
• Data packets may be spoofed or modified during transmission.

33
Publish-Subscribe communication model-1

Publish-Subscribe is a communication
model that involves publishers,
brokers and consumers.
Publishers are the source of data.
Publishers send the data to the
topics which are managed by the
broker. Publishers are not aware of
the consumers.
Consumers subscribe to the topics
which are managed by the broker.
When the broker receives data for a
topic from the publisher, it sends
the data to all the subscribed
consumers.

34
Publish-Subscribe communication model -2

Advantages: When should you use the Pub/Sub pattern?


• Sending event notifications.
• Loose coupling between components,
making your system more modular and • Distributed caching.
flexible.
Situations where Pub/Sub is a bad choice
• High scalability (in theory, Pub/Sub
allows any number of publishers to • Overkill for simpler systems. Pub/Sub is an overkill
communicate with any number of for simple systems which are unlikely to scale up.
subscribers). • Not suitable for media streaming. Audio and video
• Language-agnostic and protocol- streaming have nuanced requirements for smooth
agnostic, which makes it straightforward rendering
and fast to integrate Pub/Sub into your
tech stack.
• Asynchronous, event-driven
communication that’s ideal for real-time,
low-latency apps.

35
Push-Pull communication model
Push-Pull is a communication model
in which the data producers push
the data to queues and the
consumers pull the data from the
queues. Producers do not need to
be aware of the consumers.
Queues help in decoupling the
messaging between the producers
and consumers.
Queues also act as a buffer which
helps in situations when there is a
mismatch between the rate at which
the producers push data and the
rate rate at which the consumers
pull data.

36
Exclusive Pair communication model

Exclusive Pair is a bidirectional, fully


duplex communication model that
uses a persistent connection
between the client and server.
Once the connection is setup it
remains open until the client
sends a request to close the
connection.
Client and server can send
messages to each other after
connection setup.

37
IoT Communication APIs

An application programming interface (API) is a way for two or


more computer programs to communicate with each other.
• It enables a program to send commands to another program and
receive replies from the app.
• IoT APIs are the interface points between an IoT device and the
Internet and/or other network components.

38
38
REST-based Communication APIs -1

REST is a set of architectural


constraints, not a protocol or a
standard.
Representational State Transfer (REST)
is a set of architectural principles by
which you can design web services and
web APIs that focus on a system’s
resources and how resource states are
addressed and transferred.
REST APIs follow the request-response
communication model.
The REST architectural constraints apply
to the components, connectors, and
data elements, within a distributed
hypermedia system.

39
REST-based Communication APIs - Constraints
Client server: The principle behind the client-server conference separations of
concerns for example client should not be concerned with the storage of data
which is their concern of the server. Similarly the server should not be concerned
about the user interface which is a concern of the client. Separation allows client
and server to be independently deployed and updated.
Stateless: Each request from client to server must contain all the information
necessary to understand the request, and cannot take advantage of any stored
context on the server.
Catchable: Catch constrain requires that the data within the response to a request
be implicitly or explicitly labeled as catchable or non-catchable. Then a client
cache is given the right to reuse that response data for later, equivalent requests.
completely eliminate some attractions and improve efficiency and scalability.
Layered system: System constraint, constrains the behavior of components such
that each component cannot see beyond the immediate layer with which they are
interacting.
Uniform interface: Uniform interface constraints requires that the method of
communication between client and server must be uniform.
Code on demand (Optional) : Service can provide executable code script for
clients to execute in their context.
40
WebSocket-based Communication APIs

WebSocket APIs allow bi-


directional, full duplex
communication between clients
and servers.
WebSocket APIs follow the
exclusive pair communication
model

41
Similarities between REST API and
WebSocket API:

• Both REST API and WebSocket API are used to build APIs for web
applications.
• Both REST API and WebSocket API are standardized interfaces that enable
communication between the server and client.
• Both REST API and WebSocket API can be customized to suit the specific
needs of a particular application or system.
• Both REST API and WebSocket API can be secured using various
authentication and encryption methods.

42
42
Difference between Rest API and Web
Socket API :
REST API WEB SOCKET API

It is Stateless protocol. It will not store the data. It is Stateful protocol. It will store the data.

It is Uni-directional. Only either server or client will It is Bi-directional. Messages can be received or sent by both server or
communicate. client.

It is Request-response model. It is Full duplex model.

HTTP request contains headers like head section, title


It is suitable for real-time applications. It does not have any overhead.
section.

New TCP connection will be set up for each HTTP


Only Single TCP connection.
request.

Both horizontal and vertical scaling (we can add many


resources and number of user both horizontally and Only vertical scaling (we can add resources only vertically).
vertically).

It is slower than web socket regarding the transmission of


web socket transmits messages very fast than REST API.
messages.

It does not need memory or buffers to store the data. It requires memory and buffers to store the data.

43
43
IoT Enabling Technologies
Wireless Sensor Network

45
WSN
A WSN consists of a number of end
nodes and routers and a
coordinator.
End nodes have several sensors
attached to them. End node can
also act as a routers.
Routers are responsible for routing
the data packet from end nodes to
the coordinator.
The coordinator node collect the data
from all the notes coordinator also
act as a Gateway that connects the
WSN to the internet.

46
46
WSN -- Examples

• Weather monitoring system


• Indoor air quality monitoring system
• Soil moisture monitoring system
• Surveillance systems
• Smart grid use wireless sensor network for monitoring the grid at
various point.
• Structural health monitoring

47
47
Cloud Computing

48
Cloud Computing

Cloud Computing involves provisioning of computing networking and storage


resources on demand and providing these resources as metered services to
the users, in a “pay as you go” model.

Cloud Computing resources can be provisioned on demand by the user without


requiring interactions with the Cloud Service Provider.

The process of provisioning resources used automatic Cloud Computing


resources can be accessed then it worked using standard access mechanism
that provide platform-independent access through the use of heterogeneous
client platforms.

49
49
Cloud Computing -- Examples

Infrastructure as a service(IAAS) : IaaS provides the user the ability


provision computing and storage resources. These resources are provided
to the users as virtual machine instances and virtual storage.
Platform as a service(PaaS) : platform as a service provides the user the
ability to develop and deploy application in the cloud using the
deployment tool application programming interfaces API, software
libraries and services provided by the Cloud Service Provider.
Software as a service(SaaS) : Provide the user a complete software
applications of the user interface to the application itself.

50
50
Big Data Analytics

51
Big Data

Big data is defined as collections of data set whose volume, velocity in terms
of its temporal variations) or variety, is so large that it is difficult to store,
manage, process and analyze the data using traditional database and data
processing tools.
Big Data Analytics involving several steps starting from Data cleaning data
munging data processing and visualization.

52
52
Big Data Examples

• Sensor data generated by IoT system such as weather monitoring stations


• Machine sensor data collected from sensor embedded in Industrial and
energy system for monitoring their files and protecting failure
• Health and fitness data generated by IoT devices such as wearable fitness
band.
• Data generated by IoT system for Location tracking of vehicle.
• Data generated by retail inventory monitoring system.

53
53
Embedded systems

54
Embedded systems

An Embedded system is computer


system that has computer hardware
and software embedded to perform
specific task.
In contrast to general purpose computers
or personal computers which can
perform various types of tasks,
embedded systems are designed to
perform a specific set of tasks.

55
55
Embedded systems
Embedded system include:
• Microprocessor and Microcontroller memory
• Ram ROM cache networking units
• Ethernet WI-FI adaptor
• Input/output unit display keyboard
• display and storage such as Flash Memory
• Some embedded system have specialist processes such as digital signal
processor DSP graphic processor and application.

56
56
Embedded
Systems --
Examples

57
57
IoT levels and Deployment
Templates
IoT Levels & Deployment Templates
An IoT system comprises of the following components:
Device: An IoT device allows identification, remote sensing, actuating and remote monitoring
capabilities. You learned about various examples of IoT devices in section
Resource: Resources are software components on the IoT device for accessing,
processing, and storing sensor information, or controlling actuators connected to the
device. Resources also include the software components that enable network access for
the device.
Controller Service: Controller service is a native service that runs on the device and
interacts with the web services. Controller service sends data from the device to the web
service and receives commands from the application (via web services) for controlling the
device.

59
Sensors

60
60
IoT Levels & Deployment Templates

Database: Database can be either local or in the cloud and stores the data generated by the
IoT device.
Web Service: Web services serve as a link between the IoT device, application, database
and analysis components. Web service can be either implemented using HTTP and REST
principles (REST service) or using WebSocket protocol (WebSocket service).
Analysis Component: The Analysis Component is responsible for analyzing the IoT data
and generate results in a form which are easy for the user to understand.
Application: IoT applications provide an interface that the users can use to control and
monitor various aspects of the IoT system. Applications also allow users to view the
system status and view the processed data.

61
IoT Level-1

A level-1 IoT system has a single


node/device that performs
sensing and/or actuation, stores
data, performs analysis and hosts
the application
Level-1 IoT systems are suitable for
modeling low-cost and low-
complexity solutions where the
data involved is not big and the
analysis requirements are not
computationally intensive.

62
IoT Level-2

A level-2 IoT system has a single


node that performs sensing and/or
actuation and local analysis.
Data is stored in the cloud and
application is usually cloud-based.
Level-2 IoT systems are suitable for
solutions where the data involved
is big, however, the primary
analysis requirement is not
computationally intensive and can
be done locally itself.

63
IoT Level-3

A level-3 IoT system has a single


node. Data is stored and
analyzed in the cloud and
application is cloud-based.
Level-3 IoT systems are suitable for
solutions where the data involved
is big and the analysis
requirements are computationally
intensive.

64
IoT Level-4

A level-4 IoT system has multiple


nodes that perform local analysis.
Data is stored in the cloud and
application is cloud-based.
Level-4 contains local and cloud-
based observer nodes which can
subscribe to and receive
information collected in the cloud
from IoT devices.
Level-4 IoT systems are suitable for
solutions where multiple nodes are
required, the data involved is big
and the analysis requirements are
computationally intensive.

65
IoT Level-5

A level-5 IoT system has multiple end


nodes and one coordinator node.
The end nodes that perform sensing
and/or actuation.
Coordinator node collects data from
the end nodes and sends to the
cloud.
Data is stored and analyzed in the
cloud and application is cloud-
based.
Level-5 IoT systems are suitable for
solutions based on wireless sensor
networks, in which the data involved
is big and the analysis requirements
are computationally intensive.

66
IoT Level-6

A level-6 IoT system has multiple


independent end nodes that
perform sensing and/or actuation
and send data to the cloud.
Data is stored in the cloud and
application is cloud-based.
The analytics component analyzes
the data and stores the results in
the cloud database.
The results are visualized with the
cloud-based application.
The centralized controller is aware of
the status of all the end nodes and
sends control commands to the
nodes.

67

You might also like