IoT Enabling Technologies
IoT Enabling Technologies
IoT Enabling Technologies
WebSocket Protocol
Client Server
Initial Handshake
Response accepting the request (over HTTP)
Data frame
Data frame
Bidirectional Communication
Data frame (over persistent
WebSocket connection)
Data frame
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.
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:
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.
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.
as washing machines), etc. In the next chapter we describe how such devices form an
integral
part of loT systems.
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
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