Professional Documents
Culture Documents
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
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
44
University of Illinois—Chicago UIC
55
NICEST Lab - Networks Information Communications
and Engineering Systems Laboratory
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
66
Textbook
77
Course structure
88
Introduction to Internet of
Things
IoT definition - Wikipedia
10
10
IoT definition - Textbook
11
11
Characteristics of IoT
12
12
The major benefits of IoT are:
13
13
The major challenges of IoT are:
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
16
16
Physical Design of IoT
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
18
18
Physical design of IoT
19
Generic block diagram of an IoT Device
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
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
26
26
Networking standards and technologies -1
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
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.
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
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
37
IoT Communication APIs
38
38
REST-based Communication APIs -1
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
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 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
47
47
Cloud Computing
48
Cloud Computing
49
49
Cloud Computing -- Examples
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
53
53
Embedded systems
54
Embedded systems
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
62
IoT Level-2
63
IoT Level-3
64
IoT Level-4
65
IoT Level-5
66
IoT Level-6
67