Module 2
Module 2
Table 5.1 Basic outline of the differences between transducers, sensors, and actuators
Parameters Transducers Sensors Actuators
Definition Converts energy Converts various Converts electrical
from one form to forms of energy into signals into various
another. electrical signals. forms of energy,
typically mechanical
energy.
Domain Can be used to It is an input It is an output
represent a sensor as transducer. transducer.
well as an actuator.
Function Can work as a Used for quantifying Used for converting
sensor or an actuator environmental signals into
but not stimuli into signals. proportional
simultaneously. mechanical or
electrical outputs.
Humidity sensors, Motors (convert
Temperature electrical energy
sensors, to rotary motion),
Anemometers Force heads
(measures flow (which impose
velocity), a force), Pumps
Examples Any sensor or Manometers (which convert
actuator (measures fluid rotary motion of
pressure), shafts into either a
Accelerometers pressure or a fluid
(measures the velocity).
acceleration of a
body), Gas sensors
(measures
concentration of
specific gas or
gases), and others
2.2. SENSORS
Sensors are devices that can measure, or quantify, or respond to the ambient changes in their
environment or within the intended zone of their deployment. They generate responses to
external stimuli or physical phenomenon through characterization of the input functions (which
are these external stimuli) and their conversion into typically electrical signals. For example,
heat is converted to electrical signals in a temperature sensor, or atmospheric pressure is
converted to electrical signals in a barometer. A sensor is only sensitive to the measured
property (e.g., a temperature sensor only senses the ambient temperature of a room). It is
insensitive to any other property besides what it is designed to detect (e.g., a temperature sensor
does not bother about light or pressure while sensing the temperature). Finally, a sensor does
not influence the measured property (e.g., measuring the temperature does not reduce or
increase the temperature). Figure 2.1 shows the simple outline of a sensing task. Here, a
temperature sensor keeps on checking an environment for changes. In the event of a fire, the
temperature of the environment goes up. The temperature sensor notices this change in the
temperature of the room and promptly communicates this information to a remote monitor via
the processor.
• Power Requirements: The way sensors operate decides the power requirements that
must be provided for an IoT implementation. Some sensors need to be provided with
separate power sources for them to function, whereas some sensors do not require any
power sources. Depending on the requirements of power, sensors can be of two types.
(i) Active: Active sensors do not require an external circuitry or mechanism to provide
it with power. It directly responds to the external stimuli from its ambient environment
and converts it into an output signal. For example, a photodiode converts light into
electrical impulses.
(ii) Passive: Passive sensors require an external mechanism to power them up. The
sensed properties are modulated with the sensor’s inherent characteristics to generate
patterns in the output of the sensor. For example, a thermistor’s resistance can be
detected by applying voltage difference across it or passing a current through it.
Sensors are broadly divided into two types, depending on the type of output generated from
these sensors, as follows.
(i) Analog: Analog sensors generate an output signal or voltage, which is proportional (linearly
or non-linearly) to the quantity being measured and is continuous in time and amplitude.
Physical quantities such as temperature, speed, pressure, displacement, strain, and others are
all continuous and categorized as analog quantities. For example, a thermometer or a
thermocouple can be used for measuring the temperature of a liquid (e.g., in household water
heaters). These sensors continuously respond to changes in the temperature of the liquid.
(ii) Digital: These sensors generate the output of discrete time digital representation (time, or
amplitude, or both) of a quantity being measured, in the form of output signals or voltages.
Typically, binary output signals in the form of a logic 1 or a logic 0 for ON or OFF,
respectively are associated with digital sensors. The generated discrete (non-continuous) values
may be output as a single “bit” (serial transmission), eight of which combine to produce a single
“byte” output (parallel transmission) in digital sensors.
• Measured Property: The property of the environment being measured by the sensors
can be crucial in deciding the number of sensors in an IoT implementation. Some
properties to be measured do not show high spatial variations and can be quantified
only based on temporal variations in the measured property, such as ambient
temperature, atmospheric pressure, and others. Whereas some properties to be
measured show high spatial as well as temporal variations such as sound, image, and
others. Depending on the properties to be measured, sensors can be of two types.
(i) Scalar: Scalar sensors produce an output proportional to the magnitude of the
quantity being measured. The output is in the form of a signal or voltage. Scalar physical
quantities are those where only the magnitude of the signal is sufficient for describing
or characterizing the phenomenon and information generation. Examples of such
measurable physical quantities include color, pressure, temperature, strain, and others.
A thermometer or thermocouple is an example of a scalar sensor that has the ability to
detect changes in ambient or object temperatures (depending on the sensor’s
configuration). Factors such as changes in sensor orientation or direction do not affect
these sensors (typically).
(ii) Vector: Vector sensors are affected by the magnitude as well as the direction and/or
orientation of the property they are measuring. Physical quantities such as velocity and
images that require additional information besides their magnitude for completely
categorizing a physical phenomenon are categorized as vector quantities. Measuring
such quantities are undertaken using vector sensors. For example, an electronic
gyroscope, which is commonly found in all modern aircraft, is used for detecting the
changes in orientation of the gyroscope with respect to the Earth’s orientation along all
three axes.
Figure 2.3 Some common commercially available sensors used for IoT-based sensing
applications
Physical changes in the sensor or its material may result in long-term drift, which can span over
months or years. Noise is a temporally varying random deviation of signals. In contrast, if a
sensor’s output varies/deviates due to deviations in the sensor’s previous input values, it is
referred to as hysteresis error. The present output of the sensor depends on the past input values
provided to the sensor. Typically, the phenomenon of hysteresis can be observed in analog
sensors, magnetic sensors, and during heating of metal strips. One way to check for hysteresis
error is to check how the sensor’s output changes when we first increase, then decrease the
input values to the sensor over its full range. It is generally denoted as a positive and negative
percentage variation of the full-range of that sensor.
Focusing on digital sensors, if the digital output of a sensor is an approximation of the measured
property, it induces quantization error. This error can be defined as the difference between the
actual analog signal and its closest digital approximation during the sampling stage of the
analog to digital conversion. Similarly, dynamic errors caused due to mishandling of sampling
frequencies can give rise to aliasing errors. Aliasing leads to different signals of varying
frequencies to be represented as a single signal in case the sampling frequency is not correctly
chosen, resulting in the input signal becoming a multiple of the sampling rate. Finally, the
environment itself plays a crucial role in inducing sensorial deviations. Some sensors may be
prone to external influences, which may not be directly linked to the property being measured
by the sensor. This sensitivity of the sensor may lead to deviations in its output values. For
example, as most sensors are semiconductor based, they are influenced by the temperature of
their environment.
Hybrid sensing
The act of using scalar as well as multimedia sensing at the same time is referred to as hybrid
sensing. Many a time, there is a need to measure certain vector as well as scalar properties of
an environment at the same time. Under these conditions, a range of various sensors are
employed (from the collection of scalar as well as multimedia sensors) to measure the various
properties of that environment at any instant of time, and temporally map the collected
information to generate new information. For example, in an agricultural field, it is required to
measure the soil conditions at regular intervals of time to determine plant health. Sensors such
as soil moisture and soil temperature are deployed underground to estimate the soil’s water
retention capacity and the moisture being held by the soil at any instant of time. However,
this setup only determines whether the plant is getting enough water or not. There may be a
host of other factors besides water availability, which may affect a plant’s health. The
additional inclusion of a camera sensor with the plant may be able to determine the actual
condition of a plant by additionally determining the color of leaves. The aggregate information
from soil moisture, soil temperature, and the camera sensor will be able to collectively
determine a plant’s health at any instant of time. Other common examples of hybrid sensing
include smart parking systems, traffic management systems, and others. Figure 2.4(c) shows
an example of hybrid sensing, where a camera and a temperature sensor are collectively used
to detect and confirm forest fires during wildlife monitoring.
Virtual sensing
Many a time, there is a need for very dense and large-scale deployment of sensor nodes spread
over a large area for monitoring of parameters. One such domain is agriculture. Here, often,
the parameters being measured, such as soil moisture, soil temperature, and water level, do not
show significant spatial variations. Hence, if sensors are deployed in the fields of farmer A, it
is highly likely that the measurements from his sensors will be able to provide almost concise
measurements of his neighbour B’s fields; this is especially true of fields which are
immediately surrounding A’s fields. Exploiting this property, if the data from A’s field is
digitized using an IoT infrastructure and this system advises him regarding the appropriate
watering, fertilizer, and pesticide regimen for his crops, this advisory can also be used by B for
maintaining his crops. In short, A ’s sensors are being used for actual measurement of
parameters; whereas virtual data (which does not have actual physical sensors but uses
extrapolation-based measurements) is being used for advising B. This is the virtual sensing
paradigm. Figure 2.4(d) shows an example of virtual sensing. Two temperature sensors S1 and
S3 monitor three nearby events E1, E2, and E3 (fires). The event E2 does not have a dedicated
sensor for monitoring it; however, through the superposition of readings from sensors S1 and
S3, the presence of fire in E2 is inferred.
facilitated by these sensors. Industrial sensors are typically very sophisticated, and as a
result, very costly. However, these industrial sensors have very high accuracy and
precision score, even under harsh operating conditions.
• Energy: The energy consumed by a sensing solution is crucial to determine the lifetime
of that solution and the estimated cost of its deployment. If the sensor or the sensor
node is so energy inefficient that it requires replenishment of its energy sources quite
frequently, the effort in maintaining the solution and its cost goes up; whereas its
deployment feasibility goes down. Consider a scenario where sensor nodes are
deployed on the top of glaciers. Once deployed, access to these nodes is not possible.
If the energy requirements of the sensor nodes are too high, such a deployment will not
last long, and the solution will be highly infeasible as charging or changing of the
energy sources of these sensor nodes is not an option.
• Device Size: Modern-day IoT applications have a wide penetration in all domains of
life. Most of the applications of IoT require sensing solutions which are so small that
they do not hinder any of the regular activities that were possible before the sensor node
deployment was carried out. Larger the size of a sensor node, larger is the obstruction
caused by it, higher is the cost and energy requirements, and lesser is its demand for the
bulk of the IoT applications. Consider a simple human activity detector. If the detection
unit is too large to be carried or too bulky to cause hindrance to regular normal
movements, the demand for this solution would be low. It is because of this that the
onset of wearables took off so strongly. The wearable sensors are highly energy-
efficient, small in size, and almost part of the wearer’s regular wardrobe.
2.7. ACTUATORS
An actuator can be considered as a machine or system’s component that can affect the
movement or control the said mechanism or the system. Control systems affect changes to the
environment or property they are controlling through actuators. The system activates the
actuator through a control signal, which may be digital or analog. It elicits a response from the
actuator, which is in the form of some form of mechanical motion. The control system of an
actuator can be a mechanical or electronic system, a software-based system (e.g., an
autonomous car control system), a human, or any other input. Figure 2.5 shows the outline of
a simple actuation system. A remote user sends commands to a processor. The processor
instructs a motor controlled robotic arm to perform the commanded tasks accordingly. The
processor is primarily responsible for converting the human commands into sequential
machine-language command sequences, which enables the robot to move. The robotic arm
finally moves the designated boxes, which was its assigned task.
Hydraulic actuators
A hydraulic actuator works on the principle of compression and decompression of fluids. These
actuators facilitate mechanical tasks such as lifting loads through the use of hydraulic power
derived from fluids in cylinders or fluid motors. The mechanical motion applied to a hydraulic
actuator is converted to either linear, rotary, or oscillatory motion. The almost incompressible
property of liquids is used in hydraulic actuators for exerting significant force. These hydraulic
actuators are also considered as stiff systems. The actuator’s limited acceleration restricts its
usage.
Pneumatic actuators
A pneumatic actuator works on the principle of compression and decompression of gases.
These actuators use a vacuum or compressed air at high pressure and convert it into either linear
or rotary motion. Pneumatic rack and pinion actuators are commonly used for valve controls
of water pipes. Pneumatic actuators are considered as compliant systems. The actuators using
pneumatic energy for their operation are typically characterized by the quick response to
starting and stopping signals. Small pressure changes can be used for generating large forces
through these actuators. Pneumatic brakes are an example of this type of actuator which is so
responsive that they can convert small pressure changes applied by drives to generate the
massive force required to stop or slow down a moving vehicle. Pneumatic actuators are
responsible for converting pressure into force. The power source in the pneumatic actuator does
not need to be stored in reserve for its operation.
Electric actuators
Typically, electric motors are used to power an electric actuator by generating mechanical
torque. This generated torque is translated into the motion of a motor’s shaft or for switching
(as in relays). For example, actuating equipments such as solenoid valves control the flow of
water in pipes in response to electrical signals. This class of actuators is considered one of the
cheapest, cleanest and speedy actuator types available.
Figure 2.6 Some common commercially available actuators used for IoT-based control
Applications
Thermal or magnetic actuators
The use of thermal or magnetic energy is used for powering this class of actuators. These
actuators have a very high power density and are typically compact, lightweight, and
economical. One classic example of thermal actuators is shape memory materials (SMMs) such
as shape memory alloys (SMAs). These actuators do not require electricity for actuation. They
are not affected by vibration and can work with liquid or gases. Magnetic shape memory alloys
(MSMAs) are a type of magnetic actuators.
Mechanical actuators
In mechanical actuation, the rotary motion of the actuator is converted into linear motion to
execute some movement. The use of gears, rails, pulleys, chains, and other devices are
necessary for these actuators to operate. These actuators can be easily used in conjunction with
pneumatic, hydraulic, or electrical actuators. They can also work in a standalone mode. The
best example of a mechanical actuator is a rack and pinion mechanism.
Soft actuators
Soft actuators (e.g., polymer-based) consists of elastomeric polymers that are used as
embedded fixtures in flexible materials such as cloth, paper, fiber, particles, and others. The
conversion of molecular level microscopic changes into tangible macroscopic deformations is
the primary working principle of this class of actuators. These actuators have a high stake in
modern-day robotics. They are designed to handle fragile objects such as agricultural fruit
harvesting, or performing precise operations like manipulating the internal organs during robot-
assisted surgeries.
• Weight: The physical weight of actuators limits its application scope. For example, the
use of heavier actuators is generally preferred for industrial applications and
applications requiring no mobility of the IoT deployment. In contrast, lightweight
actuators typically find common usage in portable systems in vehicles, drones, and
home IoT applications. It is to be noted that this is not always true. Heavier actuators
also have selective usage in mobile systems, for example, landing gears and engine
motors in aircraft.
• Power Rating: This helps in deciding the nature of the application with which an
actuator can be associated. The power rating defines the minimum and maximum
operating power an actuator can safely withstand without damage to itself. Generally,
it is indicated as the power-to-weight ratio for actuators. For example, smaller servo
motors used in hobby projects typically have a maximum rating of 5 VDC, 500 mA,
which is suitable for an operations-driven battery-based power source. Exceeding this
limit might be detrimental to the performance of the actuator and may cause burnout of
the motor. In contrast to this, servo motors in larger applications have a rating of 460
VAC, 2:5 A, which requires standalone power supply systems for operations. It is to be
noted that actuators with still higher ratings are available and vary according to
application requirements.
• Torque to Weight Ratio: The ratio of torque to the weight of the moving part of an
instrument/device is referred to as its torque/weight ratio. This indicates the sensitivity
of the actuator. Higher is the weight of the moving part; lower will be its torque to
weight ratio for a given power.
Figure 3.1 The various data generating and storage sources connected to the Internet and the
plethora of data types contained within it
➢ Structured data
These are typically text data that have a pre-defined structure. Structured data are associated
with relational database management systems (RDBMS). These are primarily created by using
length-limited data fields such as phone numbers, social security numbers, and other such
information. Even if the data is human or machine generated, these data are easily searchable
by querying algorithms as well as human generated queries. Common usage of this type of data
is associated with flight or train reservation systems, banking systems, inventory controls, and
other similar systems. Established languages such as Structured Query Language (SQL) are
Prof. Sathish K Page
13
Introduction to Internet of Things (IOT) BIOTC105
used for accessing these data in RDBMS. However, in the context of IoT, structured data holdsa
minor share of the total generated data over the Internet.
➢ Unstructured data
In simple words, all the data on the Internet, which is not structured, is categorized as
unstructured. These data types have no pre-defined structure and can vary according to
applications and data-generating sources. Some of the common examples of human-generated
unstructured data include text, e-mails, videos, images, phone recordings, chats, and others.
Some common examples of machine-generated unstructured data include sensor data from
traffic, buildings, industries, satellite imagery, surveillance videos, and others. As already
evident from its examples, this data type does not have fixed formats associated with it, which
makes it very difficult for querying algorithms to perform a look-up. Querying languages such
as NoSQL are generally used for this data type.
2.12PROCESSING TOPOLOGIES
The identification and intelligent selection of processing requirement of an IoT application are
one of the crucial steps in deciding the architecture of the deployment. A properly designed
IoT architecture would result in massive savings in network bandwidth and conserve
significant amounts of overall energy in the architecture while providing the proper and
allowable processing latencies for the solutions associated with the architecture. Regarding the
importance of processing in IoT as outlined in Section 3.2, we can divide the various processing
solutions into two large topologies: 1) On-site and 2) Off-site. The off-site processing topology
can be further divided into the following: 1) Remote processing and 2) Collaborative
processing.
➢ On-site processing
Prof. Sathish K Page
14
Introduction to Internet of Things (IOT) BIOTC105
As evident from the name, the on-site processing topology signifies that the data is processed
at the source itself. This is crucial in applications that have a very low tolerance for latencies.
These latencies may result from the processing hardware or the network (during transmission
of the data for processing away from the processor). Applications such as those associated with
healthcare and flight control systems (real-time systems) have a breakneck data generation rate.
These additionally show rapid temporal changes that can be missed (leading to catastrophic
damages) unless the processing infrastructure is fast and robust enough to handle such data.
Figure 3.2 shows the on-site processing topology, where an event (here, fire) is detected
utilizing a temperature sensor connected to a sensor node. The sensor node processes the
information from the sensed event and generates an alert. The node additionally has the option
of forwarding the data to a remote infrastructure for further analysis and storage.
➢ Off-site processing
The off-site processing paradigm, as opposed to the on-site processing paradigms, allows for
latencies (due to processing or network latencies); it is significantly cheaper than on-site
processing topologies. This difference in cost is mainly due to the low demands and
requirements of processing at the source itself. Often, the sensor nodes are not required to
process data on an urgent basis, so having a dedicated and expensive on-site processing
infrastructure is not sustainable for large-scale deployments typical of IoT deployments. In the
off-site processing topology, the sensor node is responsible for the collection and framing of
data that is eventually to be transmitted to another location for processing. Unlike the on-site
processing topology, the off-site topology has a few dedicated high-processing enabled
devices, which can be borrowed by multiple simpler sensor nodes to accomplish their tasks. At
the same time, this arrangement keeps the costs of large-scale deployments extremely
manageable. In the off-site topology, the data from these sensor nodes (data generating sources)
is transmitted either to a remote location (which can either be a server or a cloud) or to multiple
processing nodes. Multiple nodes can come together to share their processing power in order
to collaboratively process the data (which is important in case a feasible communication
pathway or connection to a remote location cannot be established by a single node).
➢ Remote processing
This is one of the most common processing topologies prevalent in present-day IoT solutions.
It encompasses sensing of data by various sensor nodes; the data is then forwarded to a remote
server or a cloud-based infrastructure for further processing and analytics. The processing of
data from hundreds and thousands of sensor nodes can be simultaneously offloaded to a single,
powerful computing platform; this results in massive cost and energy savings by enabling the
reuse and reallocation of the same processing resource while also enabling the deployment of
smaller and simpler processing nodes at the site of deployment. This setup also ensures massive
scalability of solutions, without significantly affecting the cost of the deployment. Figure 3.3
Prof. Sathish K Page
15
Introduction to Internet of Things (IOT) BIOTC105
shows the outline of one such paradigm, where the sensing of an event is performed locally,
and the decision making is outsourced to a remote processor (here, cloud). However, this
paradigm tends to use up a lot of network bandwidth and relies heavily on the presence of
network connectivity between the sensor nodes and the remote processing infrastructure.
➢ Collaborative processing
This processing topology typically finds use in scenarios with limited or no network
connectivity, especially systems lacking a backbone network. Additionally, this topology can
be quite economical for large-scale deployments spread over vast areas, where providing
networked access to a remote infrastructure is not viable. In such scenarios, the simplest
solution is to club together the processing power of nearby processing nodes and
collaboratively process the data in the vicinity of the data source itself. This approach also
reduces latencies due to the transfer of data over the network. Additionally, it conserves
bandwidth of the network, especially ones connecting to the Internet.
Figure 3.4 shows the collaborative processing topology for collaboratively processing data
locally. This topology can be quite beneficial for applications such as agriculture, where an
intense and temporally high frequency of data processing is not required as agricultural data is
generally logged after significantly long intervals (in the range of hours). One important point
to mention about this topology is the preference of mesh networks for easy implementation of
this topology.
parameters that affect the usability, design, and affordability of the designed IoT sensing and
processing solution. In this chapter, we mainly focus on the deciding factors for selecting a
processor for the design of a sensor node. The main factor governing the IoT device design and
selection for various applications is the processor. However, the other important considerations
are as follows.
Size: This is one of the crucial factors for deciding the form factor and the energy consumption
of a sensor node. It has been observed that larger the form factor, larger is the energy
consumption of the hardware. Additionally, large form factors are not suitable for a significant
bulk of IoT applications, which rely on minimal form factor solutions (e.g., wearables).
Energy: The energy requirements of a processor is the most important deciding factor in
designing IoT-based sensing solutions. Higher the energy requirements, higher is the energy
source (battery) replacement frequency. This principle automatically lowers the long-term
sustainability of sensing hardware, especially for IoT-based applications.
Cost: The cost of a processor, besides the cost of sensors, is the driving force in deciding the
density of deployment of sensor nodes for IoT-based solutions. Cheaper cost of the hardware
enables a much higher density of hardware deployment by users of an IoT solution. For
example, cheaper gas and fire detection solutions would enable users to include much more
sensing hardware for a lesser cost.
Memory: The memory requirements (both volatile and non-volatile memory) of IoT devices
determines the capabilities the device can be armed with. Features such as local data
processing, data storage, data filtering, data formatting, and a host of other features rely heavily
on the memory capabilities of devices. However, devices with higher memory tend to be
costlier for obvious reasons.
Processing power: As covered in earlier sections, processing power is vital (comparable to
memory) in deciding what type of sensors can be accommodated with the IoT device/node, and
what processing features can integrate on-site with the IoT device. The processing power also
decides the type of applications the device can be associated with. Typically, applications that
handle video and image data require IoT devices with higher processing power as compared to
applications requiring simple sensing of the environment.
I/O rating: The input–output (I/O) rating of IoT device, primarily the processor, is the deciding
factor in determining the circuit complexity, energy usage, and requirements for support of
various sensing solutions and sensor types. Newer processors have a meager I/O voltage rating
of 3.3 V, as compared to 5 V for the somewhat older processors. This translates to requiring
additional voltage and logic conversion circuitry to interface legacy technologies and sensors
with the newer processors. Despite low power consumption due to reduced I/O voltage levels,
this additional voltage and circuitry not only affects the complexity of the circuits but also
affects the costs.
Add-ons: The support of various add-ons a processor or for that matter, an IoT device provides,
such as analog to digital conversion (ADC) units, in-built clock circuits, connections to USB
and ethernet, inbuilt wireless access capabilities, and others helps in defining the robustness
and usability of a processor or IoT device in various application scenarios. Additionally, the
provision for these add-ons also decides how fast a solution can be developed, especially the
hardware part of the whole IoT application. As interfacing and integration of systems at the
circuit level can be daunting to the uninitiated, the prior presence of these options with the
processor makes the processor or device highly lucrative to the users/ developers.
3.5 shows the typical outline of an IoT deployment with the various layers of processing that are
encountered spanning vastly different application domains from as near as sensing the
environment to as far as cloud-based infrastructure. Starting from the primary layer of sensing,
we can have multiple sensing types tasked with detecting an environment (fire, surveillance,
and others). The sensors enabling these sensing types are integrated with a processor using
wired or wireless connections (mostly, wired). In the event that certain applications require
immediate processing of the sensed data, an on-site processing topology is followed, similar to
the one in Figure 3.2. However, for the majority of IoT applications, the bulk of the processing
is carried out remotely in order to keep the on-site devices simple, small, and economical.
Typically, for off-site processing, data from the sensing layer can be forwarded to the fog or
cloud or can be contained within the edge layer. The edge layer makes use of devices within
the local network to process data that which is similar to the collaborative processing topology
shown in Figure 3.4. The devices within the local network, till the fog, generally communicate
using short-range wireless connections. In case the data needs to be sent further up the chain to
the cloud, long-range wireless connection enabling access to a backbone network is essential.
Fog-based processing is still considered local because the fog nodes are typically localized
within a geographic area and serve the IoT nodes within a much smaller coverage area as
compared to the cloud. Fog nodes, which are at the level of gateways, may or may not be
accessed by the IoT devices through the Internet.
Figure 3.5 The various data generating and storage sources connected to the Internet and the
plethora of data types contained within it
Finally, the approach of forwarding data to a cloud or a remote server, as shown in the topology
in Figure 3.3, requires the devices to be connected to the Internet through long-range
wireless/wired networks, which eventually connect to a backbone network. This approach is
generally costly concerning network bandwidth, latency, as well as the complexity of the
devices and the network infrastructure involved. This section on data offloading is divided into
three parts: 1) offload location (which outlines where all the processing can be offloaded in the
IoT architecture), 2) offload decision making (how to choose where to offload the processing
to and by how much), and finally 3) offloading considerations (deciding when to offload).
➢ Offload location
The choice of offload location decides the applicability, cost, and sustainability of the IoT
application and deployment. We distinguish the offload location into four types:
Edge: Offloading processing to the edge implies that the data processing is facilitated to a
location at or near the source of data generation itself. Offloading to the edge is done to achieve
aggregation, manipulation, bandwidth reduction, and other data operations directly on an IoT
device.
Fog: Fog computing is a decentralized computing infrastructure that is utilized to conserve
network bandwidth, reduce latencies, restrict the amount of data unnecessarily flowing through
the Internet, and enable rapid mobility support for IoT devices. The data, computing, storage
and applications are shifted to a place between the data source and the cloud resulting in
significantly reduced latencies and network bandwidth usage.
Remote Server: A simple remote server with good processing power may be used with IoT
based applications to offload the processing from resource constrained IoT devices. Rapid
scalability may be an issue with remote servers, and they may be costlier and hard to maintain
in comparison to solutions such as the cloud.
Cloud: Cloud computing is a configurable computer system, which can get access to
configurable resources, platforms, and high-level services through a shared pool hosted
remotely. A cloud is provisioned for processing offloading so that processing resources can be
rapidly provisioned with minimal effort over the Internet, which can be accessed globally.
Cloud enables massive scalability of solutions as they can enable resource enhancement
allocated to a user or solution in an on-demand manner, without the user having to go through
the pains of acquiring and configuring new and costly hardware.
Naive Approach: This approach is typically a hard approach, without too much decision
making. It can be considered as a rule-based approach in which the data from IoT devices are
offloaded to the nearest location based on the achievement of certain offload criteria. Although
easy to implement, this approach is never recommended, especially for dense deployments, or
deployments where the data generation rate is high or the data being offloaded in complex to
handle (multimedia or hybrid data types). Generally, statistical measures are consulted for
generating the rules for offload decision making.
Bargaining based approach: This approach, although a bit processing-intensive during the
decision making stages, enables the alleviation of network traffic congestion, enhances service
QoS (quality of service) parameters such as bandwidth, latencies, and others. At times, while
trying to maximize multiple parameters for the whole IoT implementation, in order to provide
the most optimal solution or QoS, not all parameters can be treated with equal importance.
Bargaining based solutions try to maximize the QoS by trying to reach a point where the
qualities of certain parameters are reduced, while the others are enhanced. This measure is
undertaken so that the achieved QoS is collaboratively better for the full implementation rather
than a select few devices enjoying very high QoS. Game theory is a common example of the
bargaining based approach. This approach does not need to depend on historical data for
decision making purposes.
Learning based approach: Unlike the bargaining based approaches, the learning based
approaches generally rely on past behavior and trends of data flow through the IoT architecture.
The optimization of QoS parameters is pursued by learning from historical trends and trying to
optimize previous solutions further and enhance the collective behavior of the IoT
implementation. The memory requirements and processing requirements are high during the
decision making stages. The most common example of a learning based approach is machine
learning.
➢ Offloading considerations
There are a few offloading parameters which need to be considered while deciding upon the
offloading type to choose. These considerations typically arise from the nature of the IoT
application and the hardware being used to interact with the application. Some of these
parameters are as follows.
Bandwidth: The maximum amount of data that can be simultaneously transmitted over the
network between two points is the bandwidth of that network. The bandwidth of a wired or
wireless network is also considered to be its data-carrying capacity and often used to describe
the data rate of that network.
Latency: It is the time delay incurred between the start and completion of an operation. In the
present context, latency can be due to the network (network latency) or the processor
(processing latency). In either case, latency arises due to the physical limitations of the
infrastructure, which is associated with an operation. The operation can be data transfer over a
network or processing of a data at a processor.
Criticality: It defines the importance of a task being pursued by an IoT application. The more
critical a task is, the lesser latency is expected from the IoT solution. For example, detection of
fires using an IoT solution has higher criticality than detection of agricultural field parameters.
The former requires a response time in the tune of milliseconds, whereas the latter can be
addressed within hours or even days.
Resources: It signifies the actual capabilities of an offload location. These capabilities may be
the processing power, the suite of analytical algorithms, and others. For example, it is futile
and wasteful to allocate processing resources reserved for real-time multimedia processing
(which are highly energy-intensive and can process and analyze huge volumes of data in a short
duration) to scalar data (which can be addressed using nominal resources without wasting much
energy).
Data volume: The amount of data generated by a source or sources that can be simultaneously
handled by the offload location is referred to as its data volume handling capacity. Typically,
for large and dense IoT deployments, the offload location should be robust enough to address
the processing issues related to massive data volumes.