You are on page 1of 51

Syllabus

Introduction
• Internet of Things (IoT) comprises things that have unique identities
and are connected to the Internet.
• While many existing devices, such as networked computers or 4G-
enabled mobile phones already have unique identities and also
connected to internet.
• The focus on IoT is the configuration, control and networking via
the Internet of devices or things that are traditionally not associated
with the Internet.
• Ex: Thermostats, Utility meters, a Bluetooth-Connected headset,
Irrigation pumps and sensors.
• Experts forecasts that by the year 2020 there will be a total of 50
billion device/things connected to the Internet,
• The Scope of the IoT is not limited to just connecting things to the
Internet.
• IoT allows these things to communicate and exchange data while
executing meaningful applications.
Applications of IoT
• Applications on IoT networks extract and create information from
lower level data by filtering, processing, categorizing, condensing
and contextualizing the data.
• This information obtained is then organized and structured into infer
knowledge about the system and/or its users, its environment, and its
operations.
• Ex: Consider a series of raw sensor measurements((72,45);(84,56))
generated by a weather monitoring system.
• To give meaning to the data, a context is added for this example
each tuple in data represents the temperature and humidity.
• With this we can raise the queries and retrieve the answers.
Definition of IoT
• 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.
Characteristics of IoT
• Dynamic & Self-Adapting
• Self-Configuring
• Interoperable Communication Protocols
• Unique Identity
• Integrated into Information Network
• Dense node deployment
• Severe energy computation and storage constraints
• Battery and Bandwidth Constraints
• Dynamic topology
• Unreliable sensor nodes
• Data redundancy
• Traffic pattern
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).
• Collect data from other devices and process the data
locally .
• Send the data to centralized servers or cloud-based application
back-ends for processing the data.
• Perform some tasks locally and other tasks within the IoT
infrastructure, based on temporal and space constraints.
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.

• An IoT device can collect various types of data from the on-
board or attached sensors such as temperature, humidity, light
intensity.
• The sensed data can be communicated either to other devices
or cloud-based servers/storage.
• IoT devices can be connected to actuators that allow them to
interact with other physical entities.
• Ex: Relay switch connected to an IoT device can turn an
appliance on/off based on the commands sent to the IoT
device over the Internet.
IoT Protocols
• Link Layer
• 802.3 – Ethernet
• 802.11 – WiFi
• 802.16 – WiMax
• 802.15.4 – LR-WPAN
• 2G/3G/4G
• Network/Internet Layer
• IPv4
• IPv6
• 6LoWPAN
• Transport Layer
• TCP
• UDP
• Application Layer
• HTTP
• CoAP
• WebSocket
• MQTT
• XMPP
• DDS
• AMQP
Link Layer:
1) 802.3-Ethernet:
• IEEE 802.3 is a collection of wired Ethernet standards for the link layer.
• Ex:802.3 is the standard for 10BASE5 Ethernet that uses coaxial cable,
802.3.i is the standard for 10BASE-T, 802.3.j is the standard for
10BASE-F, 802.3ae is the standard for 10 Gbit/s Ethernet over fiber.
• These standards provide data rates from 10 Mb/s to 40 GB/s and higher.
2) 802.11-WiFi:
• IEEE 802.11 is a collection of wireless local area network(WLAN).
• 802.11a operates in 5 GHz band,802.11b and 802.11g operate in the 2.4
GHz band, 802.11n operates in 2.4/5 GHz bands, 802.11ac operates in
the 5 GHz band and 802.11ad operates in the 60 GHz band.
• These standards provide data rates from 1 Mb/s to upto 6.75 Gb/S.
3) 802.16-WiMax:
• IEEE 802.16 is a collection of wireless broadband standards.
• It provides data rates from 1.5 Mb/s to 1 Gb/s.
• The recent update provides data rates of 100 Mbit/s for mobile
stations and 1 Gbit/s for fixed stations.
4) 802.15.4-LR-WPAN:
• IEEE 802.15.4 is a collection of standards for low-rate wireless
personal area networks(LR-WPANs).
• These standards form the basis of specifications for high level
communication protocols such as ZigBee.
• LR-WPAN provide data rates from 40 Kb/s to 250 Kb/s.
• These standards provide low-cost and low-speed communication for
power constrained devices.
5) 2G/3G/4G-Mobile Communication:
• There are different generations of mobile communication standards
including Second Generation(2G including GSM and CDMA).
• Third generation(3G- including UMTS and CDMA2000) and fourth
generation(4G-including LTE).
• Data rates for these standards range from 9.6 Kb/s(for 2G) to upto
100 Mb/s(for 4G).

Network/Internet Later:
• The network layer are responsible for sending of IP datagrams from
the source network to the destination network.
• This layer performs the host addressing and packet routing.
• Host identification is done using hierarchical IP addressing schemes
such as IPv4 or IPv6.
IPv4:
• IPv4 uses a 32-bit address scheme that allows total of 232 addresses.
• In the year 2011,IPv4 is succeeded by IPv6.
IPv6:
• It uses 128-bit address scheme that allows total of 2128 address.
6LoWPAN:
• 6LoWPAN stands for IPv6 over Low Power Wireless Personal Area
Networks.
• It brings IP protocol to the low-power devices which have limited
processing capability.
• 6LoWPAN operates in 2.4 GHz frequency range and provides data
transfer rates of 250 Kb/s.
• It works with the 802.15.4 link layer protocol and defines
compression mechanisms for IPv6 datagrams over IEEE 802.15.4
based networks
Transport Layer:
• The transport layer protocols provide end-to-end message transfer
capability.
• It provides functions such as error control, segmentation, flow control and
congestion control.
TCP(Transmission Control Protocol):
• It is a connection-oriented and stateful protocol.
• TCP ensures reliable transmission of packets in-order.
• TCP also provides error detection capability ,retransmission of lost packets,
flow control, congestion control.
UDP(User Datagram Protocol):
• UDP is a connectionless protocol.
• UDP is useful for time sensitive applications that have very small data units
to exchange.
• UDP is a transaction oriented and stateless protocol.
• It does not provide guaranteed delivery, ordering of messages and duplicate
elimination.
Application Layer
• Application layer protocols define how the applications interface with
the lower layer protocols to send the data over the network.
HTTP:
• Hypertext Transfer Protocol(HTTP) is the application layer protocol
that forms the foundation of WWW.
• HTTP includes commands such as GET, PUT, POST, DELETE,
HEAD, TRACE etc.
• The protocol follows a request-response model where a client sends
requests to a server using the HTTP commands.
• HTTP is a stateless protocol and each HTTP request is independent of
the other requests.
• A HTTP client can be a browser or an application running on the client.
• HTTP uses URIs to identify HTTP resources.
CoAP(Constrained Application Protocol)
• CoAP is an application layer protocol for Machine-to-Machine
(M2M) applications, meant for constrained environments with
constrained devices and networks.
• Like HTTP, CoAP is a web transfer protocol and uses a request-
response model.
• CoAP uses a client-server architecture.
• Like HTTP, CoAP supports methods such as GET, PUT, POST and
DELETE.
WebSocket
• WebSocket protocol allows a full-duplex communication over a single
socket connection for sending messages between client and server.
• WebSocket is based on TCP and allows streams of messages between
client and server.
• The client can be a browser, a mobile application or an IoT Device.
MQTT
• Message Queue Telemetry Transport(MQTT) is a light-weight
messaging protocol based on the Publish-Subscribe Model.
• MQTT uses a client-server architecture where the client(such as IoT
device) connects to the server(also called MQTT Broker) and
publishes messages to topics on the server.
• The broker forwards the messages to the clients subscribed to topics.
• MQTT is well suited for constrained environments where the devices
have the limited processing and memory resources and the network
bandwidth is low.
XMPP
• Extensible Messaging and Presence Protocol(XMPP) is a protocol for
real-time communication and streaming XML data between network
entities.
• XMPP includes messaging, presence, data syndication, gaming,
multi-party chat and voice/video calls.
• XMPP allows sending small chunks of XML data from one network
entity to another in real-time.
• XMPP is a decentralized protocol and uses a client-server
architecture.
• XMPP supports both client-to-server and server-to-server
communication paths.
• In the context of IoT, XMPP allows real-time communication
between IoT devices.
DDS
• Data Distribution Service(DDS) is a data-centric middleware
standard for device-to-device or M2M communication.
• DDS uses a publish-subscribe model where publishers create topics
to which subscribers can subscribe.
• Publisher is an object responsible for data distribution and the
subscriber is responsible for receiving published data.
• DDS provides QoS control and configurable reliability.
AMQP

• Advanced Message Queuing Protocol(AMQP) is an open


application layer protocol for business messaging.
• AMQP supports both point-to-point and publish/subscriber models,
routing and queuing.
• AMQP brokers receive messages from publishers and route them
over connections to consumers.
• Publishers publish the messages to exchanges which then distribute
message copies to queues.
• Messages are either delivered by the broker to the consumers which
have subscribed to the queues or the consumers can pull the
messages from the queues.
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.
IoT Functional Blocks
• The functional blocks are described as follows:
• Device: An IoT system comprises of devices that provide sensing, actuation,
monitoring and control functions.
• Communication: The communication block handles the communication for
the IoT system.
• Services: An IoT system uses various types of IoT services such as services for
device monitoring, device control services, data publishing services and
services for device discovery.
• Management: Management functional block provides various functions to
govern the IoT system.
• Security: Security functional block secures the IoT system and by providing
functions such as authentication, authorization, message and content integrity
and data security.
• 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 or analyze the processed data.
IoT Communication Models
Request-Response
communication model
• 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.
Publish-Subscribe
communication model
• 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.
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.
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.
IoT Communication APIs
REST-based Communication APIs
• 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.
• The REST architectural constraints are as follows:
• Client-Server: The principle behind the client-server constraint is the
separation of concerns. For example, clients should not be concerned with
the storage of data which is a 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 developed
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. The session state is kept entirely on the
client.

• Cache-able: Cache constraints requires that the data within a response to a


request be implicitly or explicitly labeled as Cache-able or non-cache-able.
If a response is cache-able, then a client cache is given the right to reuse
that response data for later, equivalent requests. Caching can partially or
completely eliminate some interactions and improve efficiency and
scalability.
• Layered System: Layered system constraint, constraints the
behavior of components such that each component cannot see the
immediate layer with which they are interacting. For example a
client cannot tell whether it is connected directly to the end server.
System scalability can be improved by allowing intermediaries to
respond to requests instead of the end server.

• Uniform Interface: Uniform Interface constraints requires that the


method of communication between a client and server must be
uniform. Resources are identified in the requests and are separate
from the representations of the resources that are returned to the
client.

• Code on demand: Servers can provide executable code or scripts


for clients to execute in their context.
WebSocket-based
Communication APIs
• WebSocket APIs allow
bi- directional, full
duplex communication
between clients and
servers.
• WebSocket APIs follow
the exclusive pair
communication model
Applications of IoT
Home Automation:
• Smart Lighting
• Smart Appliances
• Intrusion Detection
• Smoke/Gas Detectors
Cities:
• Smart Parking
• Smart Lighting
• Smart Roads
• Structural Health Monitoring
• Surveillance
• Emergency Response
Environment:
• Weather Monitoring
• Air Pollution Monitoring
• Noise Pollution Monitoring
• Forest Fire Detection
• River Floods Detection
Energy:
• Smart Grids
• Renewable Energy Systems
• Prognostics
Retail:
• Inventory Management
• Smart Payments
• Smart Vending Machines
Logistics:
• Route Generation & Scheduling
• Fleet Tracking
• Shipment Monitoring
• Remote Vehicle Diagnostics
Agriculture:
• Smart Irrigation
• Green House Control
Industry:
• Machine Diagnosis & Prognosis
• Indoor Air Quality Monitoring
Health & Lifestyle:
• Health & Fitness Monitoring
• Wearable Electronics
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.
• 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.
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.
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.
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.
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.
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.
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.
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.
IoT Enabling Technologies
IoT is enabled by many technologies like

• Wireless Sensor Networks


• Cloud Computing
• Big Data Analytics
• Embedded Systems
• Security Protocols and Architectures
• Communication Protocols
• Web Services
• Mobile Internet
• Semantic Search Engines
Wireless Sensor Networks(WSNs):
• A WSNs comprises of distributed devices with sensors which are used to
monitor the environmental and Physical conditions.
• A WSNs consist of a number of end nodes, routers and a coordinator.
• Each node have several sensors attached to them.
• Each nodes can also act as routers.
• Routers are responsible for routing the data packets from end-nodes to the
coordinator.
• The coordinator collects data from all the nodes.
• Coordinator also acts as a gateway that connects the WSNs to the Internet.
• Examples are: Weather Monitoring, Indoor Air Quality Monitoring
system, Soil Moisture monitoring System, Surveillance system, Smart
Grids, Structural health monitoring system.
• WSNs are enabled by wireless communication protocols such as IEEE
802.15.4 ZigBee.
• WSNs are Self-Organizing Networks.
Cloud Computing:
• Cloud Computing is a transformative computing model that involves
delivering applications and services over the Internet.
• 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
users.
• The computing and storage resources provided by cloud service
providers are pooled to serve multiple users using multi-tenancy.
• Multi-tenant aspects of the cloud allow multiple users to be served
by the same physical hardware.
• Users are assigned virtual resources that run on the top of the
physical resources.
• Cloud computing services are offered to users in different forms:
Infrastructure-as-a-Service( IaaS):
• IaaS provides the users the ability to provision computing and storage
resources.
• These resources are provided to the users as virtual machine instances
and virtual storage.
• Users can start, stop, configure and manage the virtual machine
instances and virtual storage.
• Users can deploy Operating Systems and applications of their choice on
the virtual resources.
• Virtual resources provisioned by the users are billed based on a pay-
per-use paradigm.
Platform-as-a-Service( PaaS):
• PaaS provides the users the ability to develop and deploy application in
the cloud using the development tools, APIs and Software libraries
provided by the cloud service provider.
• The Cloud service provider manages the underlying cloud
Infrastructure including servers, network, Operating Systems and
storage.
• The users themselves are responsible for developing, deploying,
configuring and managing applications on the cloud infrastructure.
Software-as-a-Service( SaaS):
• SaaS provides the users a complete software application or the user
interface to the application itself.
• The cloud service provider manages the underlying cloud
infrastructure including servers, network, Operating Systems,
storage and application software.
• SaaS applications are platform independent and can be accessed
from various clients devices.
• Cloud Service provider manages both the application and data, the
users are able to access the applications from anywhere.
Big Data Analytics:
• Big data is defined as collections of data sets whose volume,
velocity, variety is so large that it is difficult to store, manage,
process and analyze the data using traditional databases and data
processing tools.
• Big data analytics involves several steps like data cleaning, data
munging, data processing and visualization.
• Examples: Weather Monitoring Stations, Industrial and Energy
Systems, Health and Fitness, Location and tracking of vehicles,
Inventory Management System.
• The Underlying Characteristics of Big data are:
• Volume: There is no fixed threshold for the volume of data to be
considered as big data. The term Big data is used for massive scale
data that is difficult to store, manage and process using traditional
databases and data processing architectures.
• Velocity: Velocity is another important characteristic of Big data and the
primary reason for exponential growth of data. Velocity of data refers to
how fast the data is generated and how the frequently it varies.
• Variety: Variety refers to the forms of the data. Big data comes in different
forms such as structured or unstructured data including text data, image,
audio, video and sensor data.
Embedded Systems:
• An Embedded System is a computer system that has computer hardware
and software embedded to perform specific tasks.
• Key components of an Embedded systems include microprocessor or
microcontroller, memory, networking units, input/output units and storage.
• Some Embedded Systems have specialized processors such as DSPs,
Graphic Processors and application specific processors.
• Embedded Systems run embedded operating systems such as real-time
operating systems (RTOS).
• Embedded Systems range from low-cost small devices such as digital
watches to devices such as digital cameras, PoS Terminals, Vending
Machines, Appliances etc.
Communication Protocols
• Link Layer
• 802.3 – Ethernet
• 802.11 – WiFi
• 802.16 – WiMax
• 802.15.4 – LR-WPAN
• 2G/3G/4G
• Network/Internet Layer
• IPv4
• IPv6
• 6LoWPAN
• Transport Layer
• TCP
• UDP
• Application Layer
• HTTP
• CoAP
• WebSocket
• MQTT
• XMPP
• DDS
• AMQP

You might also like