IoT Enabling Technologies

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

38 Introduction to Internet of Thine

WebSocket Protocol

Client Server

Request to setup WebsSocket Connection

Initial Handshake
Response accepting the request (over HTTP)

Data frame

Data frame
Bidirectional Communication
Data frame (over persistent
WebSocket connection)
Data frame

Connection close request

Connection close response Closing Connection

Figure 1.13: Exclusive pair model used by WebSocket APls

WebSocket APIs allow full duplex communication and do not require a new connection to
be setup for each
message to be sent. WebSocket communication begins with a
setup request sent by the client to the server. This request (called a WebSocket connection
handshake)
is sent over HTTP and the server
interprets it as an upgrade request. If the server supports
WebSocket protocol, the server responds to the WebSocket
handshake response. After the
connection is setup, the client and server can send
mode. WebSocket APls reduce the network traffic data/messages to each other in full-duplex
and latency as there is no overhead for
connection setup and termination
requests for each message. WebSocket is suitable for lol
applications that have low latency or high throughput requirements.
1.4 loT Enabling Technologies
IoT is enabled by several
technologies including wireless sensor networks, cloud
big data analytics, embedded systems, security
protocols and
computing
protocols, web services, mobile Internet, and semantic search architectures, communication
an overview of some of these engines. This section provides
technologies which play a key-role in loT.

Bahga & Madisetti, 2015


1.4 loT Enabling Technologies 39

1.4.1 Wireless Sensor Networks


A Wireless Sensor Network (WSN) comprises of distributed devices with sensors which are
used to monitor the environmental and physical conditions. A WSN consist of a number
of end-nodes and routers and a coordinator. End nodes have several sensors attachedto
them. End nodes can also act as routers. Routers are responsible for routing the data packets
from end-nodes to the coordinator. The coordinator collects the data from all the nodes.
Coordinator also acts as a gateway that connects the WSN to the Internet. Some examples of
WSNs used in loT systems are described as follows:
.Weather monitoring systems use wSNs in which the nodes collect temperature.
humidity and other data, which is aggregated and analyzed.
Indoor air quality monitoring systems use WSNs to collect data on the indoor air
quality and concentration of various gases.
.Soil moisture monitoring systems use WSNs to monitor soil moisture at various
locations.
.Surveillance systems use WSNs for collecting surveillance data (such as motion
detection data)
Smart grids use WSNs for monitoring the grid at various points.
Structural health monitoring systems use WSNs to monitor the health of structures
(buildings, bridges) by collecting vibration data from sensor nodes deployed at variou
points in the structure.
WSNs are enabled by wireless communication protocols such as IEEE 802.15.4. ZigBee
is one of the most popular wireless technologies used by WSNs. ZigBee specifications are
based on IEEE 802.15.4. ZigBee operates at 2.4 GHz frequency and offers data rates upto
250 KB/s and range from 10 to 100 meters depending on the power output and environmental
conditions. The power of WSNs lies in their ability to deploy large number of low-cost
and low-power sensing nodes for continuous
monitoring of environmental and physical
conditions. WSNs are self-organizing networks. Since wSNs have large number of nodes,
manual configuration for each node is not
possible. The self-organizing capability of WSN
makes the network robust. In the event of failure of some nodes or addition of new nodes to
the network, the network can reconfigure itself.

1.4.2 Cloud Computing


Cloud computing is a transformative
computing paradigm 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, without requiring interactions with the cloud service
Internet of Things- A Hands-On Approach
40
Introduction to Internet of
Thinos
provider. The process of provisioning resources is automated. Cloud computing resources
can be accessed over the network using standard access mechanisms that provide
platform-independent access through the use of heterogeneous client platforms such
as
workstations. laptops, tablets and smart-phones. The computing and storage resources
provided by cloud service providers are pooled to serve multiple userS using multi-tenancy
Mult-tenant aspects of the cloud allow multiple users to be served by the same physical
hardware. Users are assigned virtual resources that run on top of the physical resources.
Cloud computing services are offered to users in different forms (see the authors
companion book on Cloud Computing, for instance):
Infrastructure-as-a-Service (laaS) : laaS 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 provisioned in the
cloud
The cloud service provider manages the underlying infrastructure. 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, application programming
interfaces (APIs), software libraries and services 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
theunderlying cloud infrastructure including servers, network, operating systems,
storage and application software, and the user is unaware of the underlying architecture
of the cloud. Applications are provided to the user through a thin client intertace
(e.g., a browser). SaaS applications are platform independent and can be accessed
from various client devices such as workstations, laptop, tablets and smart-phones,
running diferent operating systems. Since the cloud service provider manages both
the application and data, the users are able to access the applications from anywhere.

14.3 Big Data Analytics


Big data is defined as collections of data sets whose volume, velocity (in terms of its temporal
variation), or 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

Bahga& Madisett, 2015


1.4 loT Enabling Technologies 41

several steps starting from data cleansing, dala munging (or wrangling), data processing and
visualization. Some examples of big data generated by loT systems are described as follkws:

.Sensor data generated by loT systems such as weather monitoring stations.


Machine sensor data collected from sensors embedded in industrial and energy systems
for monitoring their health and detecting failures.
.Health and fitness data generated by loT devices such as wearable fitnes bands.
Data generated by IoT systems for location and tracking of vehicles
.Data generated by retail inventory monitoring systems.

The underlying characteristics of big data include:

Volume: Though there is no fixed threshold for the volume of data to be considered
as big data, however, typically, the term big data is used for massive scale data that is
difñicult to store, manage and process using traditional databases and data processing
architectures. The volumes of data generated by modern IT, industrial, and health-care
systems, for example, is growing exponentially driven by the lowering costs of data
storage and processing architectures and the need to extract valuable insights from the
data to improve business processes, efficiency and service to consumers.
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 frequently it varies. Modern IT, industrial and other systems are
generating data at increasingly higher speeds.
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.

1.4.4 Communication Protocols

Communication protocols form the backbone of loT systems and enable network connectivity
andcoupling to applications. Communication protocols allow devices to.exchange data
over the network. In section 1.2.2 you learned about various link. network, transport
and application layer protocols. These protocols define the data exchange formats, data
encoding, addressing schemes for devices and routing of packets from source to destination.
Other functions of the protocols include sequence control (that helps in ordering packets
determining lost packets), flow control (that helps in controlling the rate at which the sender
is sending the data so that the receiver or the network is not overwhelmed) and retransmission
of lost packets.

internet of Things A Hands-On Approach


Introduction to Internet of Things
42

1.4.5 Embedded Systems


An Embedded System is a computer system that has computer hardware and software
embedded to perform specific tasks. In contrast to general purpose computers or personal
omputers (PCs) which can perform various types of tasks, embedded systems are designed
to perform a specific set of tasks. Key components of an embedded system include.
microprocessor or microcontroller, memory (RAM, ROM, cache), networking units (Ethernet.
Wi adapters), input/output units (display, keyboard, etc.) and storage (such as flash
memory). Some embedded systems have specialized processors such as digital signal
processors DSPs), graphics processors and application specific processors. Embedded
systems run enmbedded operating systems such as real-time operating systems (RTOS).
Embedded systems range from low-cost miniaturized devices such as digital watches to
devices such digital cameras, point of sale terminals, vending machines, appliances (such
as

as washing machines), etc. In the next chapter we describe how such devices form an
integral
part of loT systems.

1.5 lOT Levels& Deployment Templates

In this section we define various levels of loT systems with increasing completely. An loT
system comprises of the following components:
Device: An loT device allows identification, remote sensing, actuating and remote
monitoring capabilities. You leaned about various examples of IoT devices in section
1.2.1.
Resource: Resources software components on the IoT device for accessing,
are
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.
.Database: Database can beeither local or in the cloud and stores the data generated
by the loT device.
.Web Service: Web services serve as a link between the loT
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). A comparison of REST and WebSocket is provided below:
1.5 loT Levels & Deployment Templates 43

Stateless/Stateful: REST services are stateless in nature. Each


request contains
all the information needed to process it.
Requests are independent of cach other.
WebSocket on the other hand is stateful in nature where the server
maintains the
state and is aware of all the connections.
open
-

Uni-directional/Bi-directional: REST services operate over HTTP and are


uni-directional. Request is always sent by a client and the server
responds to the
requests. On the other hand, WebSocket is a bi-directional protocol and allows
both client and server to send messages to each other.
-

Request-Response/Full Duplex: REST services follow a request-response


communication model where the client sends requests and the server
responds
to the requests. WebSocket on the other hand allow full-duplex communication
between the client and server, i.e., both client and server can send messages to
each other independently.
TCP Connections: For REST services, each HTTP request involves
setting up
-

a new TCP connection. WebSocket on the other hand involves a single TCP
connection over which the client and server communicate in a full-duplex mode.
Header Overhead: REST services operate over HTTP, and each request is
independent of others. Thus each request carries HTTP headers which is an
overhead. Due the overhead of HTTP headers, REST is not suitable for real-time
applications WebSocket on the other hand does not involve overhead of headers.
After the initial handshake (that happens over HTTP), the client and server
exchange messages with minimal frame information. Thus WebSocket is suitable
for real-time applications.
- Scalability: Scalability is easier in the case of REST services as requests are

independent and no state information needs to be maintained by the server.


Thus both horizontal (scaling-out) and vertical scaling (scaling-up) solutions
are possible for REST services. For WebSockets, horizontal scaling can be
cumbersome due to the stateful nature of the communication. Since the server
maintains the state of a connection, vertical scaling is easier for WebSockets
than horizontal scaling.
Analysis Component: The Analysis Component is responsible for analyzing the loT
data and generate results in a form which are easy for the user to understand. Analysis
of loT data can be performed either locally or in the cloud. Analyzed results are stored
in the local or cloud databases.
Application: loT applications provide an interface that the users can use to control
and monitor various aspects of the loT system. Applications also allow users to view
the system status and view the processed data.

Internet of Things A Hands-On Approach

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy