Module 4
Module 4
BTECK10
MODULE 4: ASSOCIATED IOT TECHNOLOGIES
CLOUD COMPUTING
INTRODUCTION
Sensor nodes are the key components of Internet of Things (IoT). These nodes are resource-
constrained in terms of storage, processing, and energy. Moreover, in IoT, the devices are
connected and communicate with one another by sharing the sensed and processed data.
Handling the enormous data generated by this large number of heterogeneous devices is a non-
trivial task. Consequently, cloud computing becomes an essential building block of the IoT
architecture. It aims at providing an extensive overview of cloud computing. Additionally,
check yourself will help the learner to learn different concepts are related to cloud computing.
Cloud computing is more than traditional network computing. Unlike network computing,
cloud computing comprises a pool of multiple resources such as servers, storage, and network
from single/multiple organizations. These resources are allocated to the end users as per
requirement, on a payment basis. In cloud computing architecture, an end user can request for
customized resources such as storage space, RAM, operating systems, and other software to a
cloud service provider (CSP) as shown in Figure 4.1. For example, a user can request for a
Linux operating system for running an application from a CSP; another end user can request
for Windows 10 operating system from the same CSP for executing some application. The
cloud services are accessible from anywhere and at any time by an authorized user through
Internet connectivity.
Advantages of virtualization
With the increasing number of interconnected heterogeneous devices in IoT, the importance of
virtualization also increases. In IoT, a user is least bothered about where the data from different
heterogeneous devices are stored or processed for a particular application. Users are mainly
concerned for their services. Typically, there are different software such as VMware, which
enable the concept of virtualization. With the increasing importance of cloud computing,
different organizations and individuals are using it extensively. Moreover, there is always a
risk of system crash at any instant of time. In such a scenario, cloud computing plays a vital
role by keeping backups through virtualization. Primarily, there are two entities in a cloud
computing architecture: end users and CSP. Both end users and CSP are benefited in several
aspects through the process of virtualization. The major advantages, from the perspective of
the end user and CSP, are as follows:
Types of virtualization
Based on the requirements of the users, we categorized virtualization as shown in Figure 4.3.
Hardware Virtualization: This type of virtualization indicates the sharing of hardware
resources among multiple users. For example, a single processor appears as many
Introduction to Internet of Things(IOT)
BTECK10
different processors in a cloud computing architecture. Different operating systems can
be installed in these processors and each of them can work as stand-alone machines.
CLOUD MODELS
As per the National Institute of Standards and Technology (NIST) and Cloud Computing
Standards Roadmap Working Group, the cloud model can be divided into two parts: (1) Service
model and (2) Deployment model as shown in Figure 4.4. Further the service model is
categorized as: Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and
Infrastructure-as-a-Service (IaaS). On the other hand, the deployment model is further
categorized as: Private cloud, Community cloud, Public cloud, and Hybrid cloud.
Introduction to Internet of Things(IOT)
BTECK10
Service Model
The service model is depicted in Figure 4.5.
Software-as-a-Service (SaaS): This service provides access to different software
applications to an end user through Internet connectivity. For accessing the service, a
user does not need to purchase and install the software applications on his/her local
desktop. The software is located in a cloud server, from where the services are provided
to multiple end users. SaaS offers scalability, by which users have the provision to use
multiple software applications as per their requirements. Additionally, a user does not
need to worry about the update of the software applications. These software are
accessible from any location. One example of SaaS is Microsoft Office 365.
Platform-as-a-Service (PaaS): PaaS provides a computing platform, by which a user
can develop and run different applications. The cloud user need not go through the
burden of installing and managing the infrastructure such as operating system, storage,
and networks. However, the users can develop and manage the applications that are
running on top of it. An example of PaaS is Google App Engine.
Infrastructure-as-a-Service (IaaS): IaaS provides infrastructure such as storage,
networks, and computing resources. A user uses the infrastructure without purchasing
the software and other network components. In the infrastructure provided by a CSP, a
user can use any composition of the operating system and software. An example of IaaS
is Google Compute Engine.
Introduction to Internet of Things(IOT)
BTECK10
Deployment Model
Private Cloud: This type of cloud is owned explicitly by an end user organization. The
internal resources of the organization maintain the private cloud.
Community Cloud: This cloud forms with the collaboration of a set of organizations
for a specific community. For a community cloud, each organization has some shared
interests.
Public Cloud: The public cloud is owned by a third party organization, which provides
services to the common public. The service of this cloud is available for any user, on a
payment basis.
Hybrid Cloud: This type of cloud comprises two or more clouds (private, public, or
community).
Importance of SLA
An SLA is essential in cloud computing architecture for both CSP and customers. It is
important because of the following reasons:
Customer Point of View: Each CSP has its SLA, which contains a detailed description
of the services. If a customer wants to use a cloud service, he/she can compare the SLAs
of different organizations. Therefore, a customer can choose a preferred CSP based on
the SLAs.
CSP Point of View: In many cases, certain performance issues may occur for a
particular service, because of which a CSP may not be able to provide the services
efficiently. Thus, in such a situation, a CSP can explicitly mention in the SLA that they
are not responsible for inefficient service.
CLOUD IMPLEMENTATION
Cloud simulation
With the rapid deployment of IoT infrastructure for different applications, the requirement for
cloud computing is also increasing. It is challenging to estimate the performance of an IoT
system with the cloud before real implementation. On the other hand, real deployment of the
cloud is a complex and costly procedure. Thus, there is a requirement for simulating the system
through a cloud simulator before real implementation. There are many cloud simulators that
provide pre-deployment test services for repeatable performance evaluation of a system.
Typically, a cloud simulator provides the following advantages to a customer:
Pre-deployment test before real implementation
System testing at no cost
Repeatable evaluation of the system
Pre-detection of issues that may affect the system performance
Flexibility to control the environment
Currently, different types of cloud simulators are available. A few cloud simulators are listed
here:
CloudSim
Description: CloudSim is a popular cloud simulator that was developed at the University of
Melbourne. This simulator is written in a Java-based environment. In CloudSim, a user is
allowed to add or remove resources dynamically during the simulation and evaluate the
performance of the scenario.
Introduction to Internet of Things(IOT)
BTECK10
Features: CloudSim has different features, which are listed as follows:
The CloudSim simulator provides various cloud computing data centers along with
different data center network topologies in a simulation environment.
Using CloudSim, virtualization of server hosts can be done in a simulation.
A user is able to allocate virtual machines (VMs) dynamically.
It allows users to define their own policies for the allocation of host resources to VMs.
It provides flexibility to add or remove simulation components dynamically.
A user can stop and resume the simulation at any instant of time.
CloudAnalyst
Description: CloudAnalyst is based on CloudSim. This simulator provides a graphical user
interface (GUI) for simulating a cloud environment, easily. The CloudAnalyst is used for
simulating large-scale cloud applications.
Features:
The CloudAnalyst simulator is easy to use due to the presence of the GUI.
It allows a user to add components and provides a flexible and high level of
configuration.
A user can perform repeated experiments, considering different parameter values.
It can provide a graphical output, including a chart and table.
GreenCloud
Description: GreenCloud is developed as an extension of a packet level network simulator,
NS2. This simulator can monitor the energy consumption of different network components
such as servers and switches.
Features:
GreenCloud is an open-source simulator with user-friendly GUI.
It provides the facility for monitoring the energy consumption of the network and its
various components.
It supports the simulations of cloud network components.
It enables improved power management schemes.
It allows a user to manage and configure devices, dynamically, in simulation.
Features of AWS
It provides flexibility to scale and manage the server capacity.
AWS provides control to OS and deployment software.
It follows the pay-per-use model.
The cloud allows a user to establish connectivity between the physical network and
private virtual network.
The developer tools in this cloud infrastructure help a user for fast development and
deployment of the software.
AWS provides excellent management tools, which help a user to monitor and automate
different components of the cloud.
The cloud provides machine learning facilities, which are very useful for data scientists
and developers.
Introduction to Internet of Things(IOT)
BTECK10
For extracting meaning from data, analytics play an important role. AWS also provides
a data analytics platform.
SENSOR-CLOUD: SENSORS-AS-A-SERVICE
The new concept known as Sensors-as-a-Service (Se-aaS) in a sensor-cloud architecture is
explored. Virtualization of resources is the backbone of cloud computing. Similarly, in a
sensor-cloud, virtualization of sensors plays an essential role in providing services to multiple
users. Typically, in a sensor-cloud architecture, multiple users receive services from different
a sensor nodes, simultaneously. However, the users remain oblivious to the fact that a set of
sensor nodes is not dedicated solely to them for their application requirements. In reality, a
particular sensor may be used for serving multiple user applications, simultaneously. The main
aim of sensor-cloud infrastructure is to provide an opportunity for the common mass to use
Wireless Sensor Networks (WSNs) on a payment basis. Similar to cloud computing, sensor-
cloud architecture also follows the pay-per-use model.
Importance of sensor-cloud
The sensor-cloud infrastructure is based on the concept of cloud computing, in which a user
application is served by a set of homogeneous or heterogeneous sensor nodes. These sensor
nodes are selected from a common pool of sensor nodes, as per the requirement of user
applications. Using the sensor-cloud infrastructure, a user receives data for an application from
multiple sensor nodes without owning them. Unlike sensor-cloud, if a user wants to use
traditional WSN for a certain application, he/she has to go through different pre-deployment
and post-deployment hurdles.
Figures 4.6 depicts the usage of sensor nodes using traditional WSN and sensor cloud
infrastructure. With the help of a case study, we will discuss the advantages of sensor-cloud
over traditional WSN.
Case Study: John is a farmer, and he has a significantly vast farmable area with him. As manual
supervision of the entire field is very difficult, he has planned to deploy a WSN in his farming
field. Before purchasing the WSN, he has to decide which sensors should be used in his fields
for sensing the different agricultural parameters. Additionally, he has to decide the type and
number of other components such as an electronics circuit board and communication module
required along with the sensors. As there are numerous vendors, it is challenging for him to
choose the correct (in terms of quality and cost) vendor, as well as the sensor owner from whom
the WSN will be procured. He finally decides the type of sensors along with the other
components that are required for monitoring his agricultural field. Now, John faces the
difficulty of optimally planning the sensor node deployment in his fields. After going through
these hurdles, he decides on the number of sensor nodes that are required for monitoring his
field. Finally, John procures the WSNs from a vendor. After procurement, he deploys the sensor
nodes and connects different components. As WSN consists of different electronic
components, he has to maintain the WSN after its deployment. After three months, as his
requirement of agricultural field monitoring is completed, he removes the WSN from the
agricultural field. Six months later, John plans to use the WSN that was deployed in the
agricultural field for home surveillance.
As the agriculture application is different from the home surveillance application, the sensor
required for the system also changes. Thus, John has to go through all the steps again, including
maintenance, deployment, and hardware management, for the surveillance system. Thus, we
observe that the users face different responsibilities for using a WSN for an application. In such
a situation, if sensor-cloud architecture is present, John can easily use WSNs for his application
on a rental basis. Moreover, through the use of sensor-cloud, John can easily switch the
Introduction to Internet of Things(IOT)
BTECK10
application without any manual intervention. On the other end, service providers of the sensor-
cloud infrastructure may serve multiple users with the same sensors and earn profit.
Storage is one of the important operations in the agri-chain. It is responsible for storing crops
on a long term basis. Typically, cold storage is used for preserving the crops for a long time
and providing them with the necessary climatic and storage conditions and protection. In the
storage, cameras are used to keep a check and protect the harvested crops. The camera feeds
are transferred through wireless connectivity to a remote server or a cloud infrastructure.
Moreover, the amount and type of crops stored in a storage location are tracked and recorded
with the help of sensors and cloud computing. For pushing the crops into the market, processing
plays a crucial role in an agrichain. Processing includes proper drying and packaging of crops.
For drying and packaging, different sensors are used. Packaging is the immediate operation
prior to pushing the crop into the market. Thus, it is essential to track every package and store
all the details related to the crops in the cloud. Logistics enables the transfer of the packed crops
to the market with the help of smart vehicles. These smart vehicles are equipped with different
sensors that help in loading and unloading the packed crop autonomously. Additionally, GPS
is used in these smart vehicles for locating the position of the packed crops at any instant and
tracking their whereabouts. All the logistical information gets logged in the cloud with the help
of wireless connectivity. Finally, the packed items reach the market using logistical channels.
From the market, these items are accessible to consumers. The details of the sale and purchase
of the items are stored in the form of records in the cloud.
CASE STUDIES
In this section, we discuss a few case studies that will provide an overview of real
implementation of IoT infrastructure for agriculture.
Hardware
For sensing and transmitting the data from the deployment fields to a centralized unit, such as
a server and a cloud, different hardware components are used in the system. The commercial
off-the-shelf (COTS) TelosB platform is used in the system. The TelosB motes are equipped
with three types of sensors: temperature, humidity, and light sensors. With the help of an optical
filter and diffuser accessory on the light sensors, the PAR is calculated to estimate the LAI.
The system is based on the cluster concept. A Raspberry-Pi is used as a cluster head, which
connects with four ground sensor motes. The Raspberry-Pi is a tiny single board, which works
as a computer and is used to perform different operations in IoT. Humidity and wet plants
intermittently cause attenuation to the system, which is minimized with the help of forward
error coding (FEC) technique. The real deployment of the LAI assessment system involves
various environmental and wild-life challenges. Therefore, for reliable data delivery, the
authors take the redundant approach of using both wired and wireless connectivity. In the first
deployment generation, USB power supply is used to power-up the sensors motes.
Additionally, the USB is used for configuring the sensor board and accessing the failure as per
requirement. In this setup, a mechanical timer is used to switch off the sensor nodes during the
night. In the second deployment generation, the cluster is formed with wireless connectivity.
The ground sensor motes consist of external antennas, which help to communicate with the
cluster head. A Raspberry-Pi with long-term evolution (LTE) is used as a gateway in this
system.
Communication
The LAI system consists of multiple components, such as WSN, IoT gateway, and IoT based
Introduction to Internet of Things(IOT)
BTECK10
network. All of these components are connected through wired or wireless links. The public
land mobile network (PLMN) is used to establish connectivity between external IoT networks
and the gateway. The data are analyzed and visualized with the help of a farm management
information system (FMIS), which resides in the IoT-based infrastructure. Further, a prevalent
data transport protocol: MQTT, is used in the system. MQTT is a very light-weight,
publish/subscribe messaging protocol, which is widely used for different IoT applications. The
wireless LAN is used for connecting the cluster head with a gateway. The TelosB motes are
based on the IEEE 802.15.4 wireless protocol.
Software
Software is an essential part of the system by which different operations of the system are
executed. In order to operate the TelosB motes, TinyOS, an open-source, low-power operating
system, is used. This OS is widely used for different WSN applications. Typically, in this
system, the data acquired from the sensor node is stored with a timestamp and sequence number
(SN). For wired deployments (the first generation deployment), the sampling rate used is 30
samples/hour. However, in the wireless deployment (the second generation), the sampling rate
is significantly reduced to 6 samples/hour. The TinyOS is capable of activating low-power
listening modes of a mote, which is used for switching a mote into low-power mode during its
idle state. In the ground sensor, TelosB motes broadcast the data frame, and the cluster head
(Raspberry-Pi) receives it. This received data is transmitted to the gateway. Besides acquiring
ground sensor data, the Raspberry-Pi works as a cluster head. In this system, the cluster head
can re-boot any affected ground sensor node automatically.
IoT Architecture
The MQTT broker runs in the Internet server of the system. This broker is responsible for
receiving the data from the WSN. In the system, the graphical user interface (GUI) is built
using an Apache server. The visualization of the data is performed at the server itself. Further,
when a sensor fails, the server informs the users. The server can provide different system-
related information to the smartphone of the registered user.
Architecture
The architecture of this system consists of three layers: Sensing and actuating layer, remote
processing and service layer, and application layer. These layers perform dedicated tasks
Introduction to Internet of Things(IOT)
BTECK10
depending on the requirements of the system. Figure 4.13 depicts the architecture of the system.
The detailed functionalities of different layers of this system are as follows:
Sensing and Actuating layer: This layer deals with different physical devices, such as sensor
nodes, actuators, and communication modules. In the system, a specially designated sensor
node works as a cluster head to collect data from other sensor nodes, which are deployed on
the field for sensing the value of soil moisture and water level. A cluster head is equipped with
two communication module: ZigBee (IEEE 802.15.4) and General Packet Radio Service
(GPRS). The communication between the deployed sensor nodes and the cluster head takes
place with the help of ZigBee. Further, the cluster heads use GPRS to transmit data to the
remote server. An electrically erasable programmable read-only memory (EEPROM),
integrated with the cluster head, stores a predefined threshold value of water levels and soil
moisture. When the sensed value of the deployed sensor node drops below this predefined
threshold value, a solenoid (pump) activates to start the irrigation process. In the system, the
standard EC-05 soil moisture sensor is used along with the water level sensor, which is
specifically designed and developed for this project. A water level sensor is shown in Figure
4.14(a).
Processing and Service layer: This layer acts as an intermediate layer between the sensing
and actuating layer and the application layer. The sensed and process data is stored in the server
for future use. Moreover, these data are accessible at any time from any remote location by
authorized users. Depending on the sensed values from the deployed sensor nodes, the pump
actuates to irrigate the field. A processing board as depicted in Figure 4.14(b) is developed for
the project.
Introduction to Internet of Things(IOT)
BTECK10
Application layer: The farmer can access the status of the pump, whether it is in switch on/off,
and the value of different soil parameters from his/her cell phone. This information is accessible
with the help of the integrated GSM facility of the farmers’ cell phone. Additionally, an LED
array indicator and LCD system is installed in the farmers’ house. Using the LCD and LED, a
farmer can easily track the condition of his respective fields. Apart from this mechanism, a
farmer can manually access field information with the help of a Web-based application.
Moreover, the farmer can control the pump using his/her cell phone from a remote location.
Deployment
The system has been deployed and experimented in two agricultural fields: (i) an agricultural
field at the Indian Institute of Technology Kharagpur (IIT Kharagpur), India, and (ii) Benapur,
a village near IIT Kharagpur, India. Both the agricultural fields were divided into 10 equal sub-
fields of 3x3m2. In order to examine the performance, the system was deployed at over 4 sub-
fields. Each of these sub-fields consists of a solenoid valve, a water level sensor, and a soil
moisture sensor, along with a processing board. On the other hand, the remaining six sub-fields
were irrigated through a manual conventional irrigation process. The comparison analysis
between these six and four fields summarily reports that the designed system’s performance is
superior to the conventional manual process of irrigation.