Module 4
Cloud Computing
• Sensor nodes are resource-constrained in terms of storage, processing, and energy.
• 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.
• 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)
• The cloud services are accessible from anywhere and at any time by an authorized user
through Internet connectivity.
• Cloud computing comprises a shared pool of computing resources, which are accessible
dynamically, ubiquitously, and on-demand basis by the users.
• This shared pool of resources includes networks, storage, processor, and servers.
Fig 1:Network computing versus cloud computing
Virtualization
• The key concept of cloud computing is virtualization.
• The technique of sharing a single resource among multiple end user organizations or end
users is known as virtualization.
• In the virtualization process, a physical resource is logically distributed among multiple users.
• However, a user perceives that the resource is unlimited and is dedicatedly provided to
him/her.
Types of virtualization
Fig: 3 Types of virtualization
5
Hardware Virtualization:
• This type of virtualization indicates the sharing of hardware resources among multiple
users.
• For example, a single processor appears as many 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.
Storage Virtualization:
• In storage virtualization, the storage space from different entities are accumulated virtually,
and seem like a single storage location.
• Through storage virtualization, a user’s documents or files exist in different locations in a
distributed fashion.
• However, the users are under the impression that they have a single dedicated storage space
provided to them.
Application Virtualization:
• A single application is stored at the cloud end.
• However, as per requirement, a user can use the application in his/her local computer
without ever actually installing the application.
Desktop Virtualization:
• This type of virtualization allows a user to access and utilize the services of a desktop that
resides at the cloud.
• The users can use the desktop from their local desktop.
Cloud Models
Fig 4: Types of virtualization
Service Model
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. 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. An example of PaaS is Google App Engine.
• The cloud user need not go through the burden of installing and managing the
infrastructure such as operating system, storage, and networks.
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.
Fig 5: Service models
2. Deployment Model
(a)Private Cloud: This type of cloud is owned explicitly by an end user organization. The
internal resources of the organization maintain the private cloud.
(b)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.
(c)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.
(d)Hybrid Cloud: This type of cloud comprises two or more clouds (private, public, or
community).
Service-Level Agreement in Cloud Computing
• An SLA provides a detailed description of the services that will be received by the customer.
• Based on the SLA, a customer can be aware of each and every term and condition of the
services before availing of them. An SLA may include multiple organizations for making the
legal contract with the customers.
• An SLA is essential in cloud computing architecture for both CSP and customers.
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.
Metrics for SLA
Depending on the type of services, an SLA is constructed with different metrics.
Availability: This metric signifies the amount of time the service will be accessible for the
customer.
Response Time: The maximum time that will be taken for responding to a customer request
is measured by response time.
Portability: This metric indicates the flexibility of transferring the data to another service.
Problem Reporting: How to report a problem, whom and how to be contacted, is explained
in this metric.
Penalty: The penalty for not meeting the promises mentioned in the SLA.
Cloud Implementation
Cloud simulation
• It is challenging to estimate the performance of an IoT system with the cloud before real
implementation.
• Real deployment of the cloud is a complex and costly procedure.
• 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
A few cloud simulators are:
1. CloudSim
2. CloudAnalyst
3. GreenCloud
Features of CloudSim are:
1. The CloudSim simulator provides various cloud computing data centers along with different
data center network topologies in a simulation environment.
2. Using CloudSim, virtualization of server hosts can be done in a simulation.
3. A user is able to allocate virtual machines (VMs) dynamically.
4. It allows users to define their own policies for the allocation of host resources to VMs.
5. It provides flexibility to add or remove simulation components dynamically.
6. A user can stop and resume the simulation at any instant of time
Features of CloudAnalyst are:
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.
1. The CloudAnalyst simulator is easy to use due to the presence of the GUI.
2. It allows a user to add components and provides a flexible and high level of configuration.
3. A user can perform repeated experiments, considering different parameter values.
4. It can provide a graphical output, including a chart and table.
Features of GreenCloud are:
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.
1. GreenCloud is an open-source simulator with user-friendly GUI.
2. It provides the facility for monitoring the energy consumption of the network and its
various components.
3. It supports the simulations of cloud network components.
4. It enables improved power management schemes.
5. It allows a user to manage and configure devices, dynamically, in simulation.
A commercial cloud: Amazon web services (AWS)
• AWS provides different APIs (application programming interfaces), tools, and utilities for users.
• Amazon AWS follows the pay-per-use model.
• This cloud infrastructure provides a virtual computing environment, where different
configurations, such as CPU, memory, storage, and networking capacity are available.
Features of AWS
1. It provides flexibility to scale and manage the server capacity.
2. AWS provides control to OS and deployment software.
3. It follows the pay-per-use model.
4. The cloud allows a user to establish connectivity between the physical network and
private virtual network.
5. The developer tools in this cloud infrastructure help a user for fast development
and deployment of the software.
6. AWS provides excellent management tools, which help a user to monitor and automate
different components of the cloud.
7. The cloud provides machine learning facilities, which are very useful for data scientists and
developers.
8. For extracting meaning from data, analytics play an important role. AWS also
provides a data analytics platform.
Sensor-Cloud: Sensors-as-a-Service
• 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.
• In a sensor-cloud architecture, multiple users receive services from different a sensor
nodes, simultaneously.
• 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.
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.
• 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.
Fig 6: Traditional WSN versus sensor-cloud
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.
• 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.
• 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.
• Six months later, John plans to use the WSN that was deployed in the agricultural field for
home surveillance.
• John has to go through all the steps again, including maintenance, deployment, and
hardware management, for the surveillance system.
• Through the use of sensor-cloud, John can easily switch the application without any manual
intervention.
• Service providers of the sensor-cloud infrastructure may serve multiple users with the same
sensors and earn profit.
Architecture of a sensor-cloud platform
• Unlike cloud computing, in sensor-cloud architecture, the sensor owners play an important
role along with the service provider and end users.
• A service provider in sensor-cloud architecture is known as a sensor-cloud service provider
(SCSP).
Fig 7: Architecture of a sensor-cloud platform
Actors in sensor-cloud architecture
Typically, in a sensor-cloud architecture, three actors are present.
End User:
• This actor is also known as a customer of the sensor-cloud services.
• Typically, an end user registers him/herself with the infrastructure through a Web portal.
• He/She chooses the template of the services that are available in the sensor-cloud
architecture to which he/she is registered.
Sensor Owner:
• A particular sensor owner can own multiple homogeneous or heterogeneous sensor
nodes.
• Based on the requirements of the users, these sensor nodes are virtualized and assigned to
serving multiple applications at the same time.
• A sensor owner receives rent depending upon the duration and usage of his/her sensor
node(s).
Sensor-Cloud Service Provider (SCSP):
• SCSP is responsible for managing the entire sensor-cloud infrastructure (including
management of sensor owners and end users handling, resource handling, database
management, cloud handling etc.), centrally.
• SCSP receives rent from end users with the help of a pre-defined pricing model.
• The SCSP receives the rent from the end users and shares a partial amount with the sensor
owners.
Sensor-Cloud Architecture from Different Viewpoints
The sensor-cloud architecture from two view points:
(i) User organizational view and (ii) real architectural view
Fig 8: Sensor-cloud architecture
User Organizational View:
• End users interact with a Web interface for selecting templates of the services.
• The services are received by the end users through the Web interface.
• An end user is unaware of the complex processes that are running at the back end.
Real Architectural View:
• Sensor allocation,
• Maintenance of the infrastructure,
• Data extraction from the sensors,
• Virtualization of sensor nodes,
• Data center management,
• Data caching
For each process, there is a specific algorithm or scheme.
Agricultural IoT
• Agricultural loT systems perform crop health monitoring, water management, crop
security, farming vehicle tracking, automatic seeding, and automatic pesticide spraying
over the agricultural fields.
• The sensed data from the sensors need to be transmitted to a centralized entity such as a
server, cloud, or fog devices.
• Further, these data have to be processed and analyzed to provide various agricultural
services.
• Finally, a user should be able to access these services from handheld devices or
computers. Fig 9 depicts a basic architecture of an agricultural IoT.
Fig 9: Architecture of agricultural IoT
Components of an agricultural IoT
• The development of an agricultural IoT has helped farmers enhance crop productivity and
reduce the overhead of manual operations of the agricultural equipment in the fields.
Fig 10: Components of agricultural IoT
Cloud computing:
• Sensors such as the camera, devices to measure soil moisture, soil humidity, and soil pH-
level are used for serving different agricultural applications.
• Based on the data analysis, action needs to be taken, such as switching on the water
pump for irrigation.
• Further, the data from the deployed sensors are required to be stored on a long-term basis
since it may be useful for serving future applications.
Sensors:
• Sensors are an indispensable component. A few of the common sensors used in agriculture
are sensors for soil moisture, humidity, water level, and temperature.
Cameras:
• Multispectral, thermal, and RGB cameras are commonly used for scientific agricultural IoT.
• These cameras are used for estimating the nitrogen status, thermal stress, water stress, and
crop damage due to inundation, as well as infestation.
• Video cameras are used for crop security.
Satellites:
• The satellite images are used in agricultural applications to monitor different aspects of the
crops such as crop health monitoring and dry zone assessing over a large area.
Analytics:
• With the help of analytics, farmers can take different agricultural decisions, such as
estimating the required amount of fertilizer and water in an agricultural field and
estimating the type of crops that need to be cultivated during the upcoming
season.
• Data analytics can also be used for estimating the crop demand in the market.
• Analytics is not only responsible for making decisions locally; it is used to analyze data for
the entire agricultural supply chain.
Wireless Connectivity:
• Wireless connectivity enables the transmission of the agricultural sensor data from the field
to the cloud/server.
• Enables farmers to access various application services over handheld devices, which rely
on wireless connectivity for communicating with the cloud/server.
Handheld devices:
• Fundamental components e-agriculture is a handheld device such as a smartphone.
• Farmers can access different agricultural information, such as soil and crop conditions of
their fields and market tendency, over their smartphones.
• Farmers can also control different field equipment, such as pumps, from their phones.
Drones:
• Drones has become very attractive in different applications such as surveillance, healthcare,
product delivery, photography, and agriculture.
• Provide better resolution land mapping visuals, drones are used in agriculture for crop
monitoring, pesticide spraying, and irrigation.
A typical agricultural food chain with the different operations that are involved in it.
Fig 11: Use of IoT components in the agricultural chain
1. Farming:
• Operations, such as seeding, irrigation, fertilizer spreading, and pesticide spraying, are
involved.
• For monitoring the soil health, soil moisture and temperature sensors are used.
• Drones are used for spraying pesticides
• Through wireless connectivity, a report on on-field soil conditions is sent directly to a users’
handheld device or cloud.
2. Transport
• Transport indicates the transfer of crops from the field to the local storage, and after that,
to long-term storage locations.
• Smart vehicles can automatically load and unload crops.
• GPS plays an important role by tracking these smart devices, and radio frequency
identification (RFID) is used to collect information regarding the presence of a particular
container of a crop at a warehouse.
3. Storage
• Cold storage is used for preserving the crops for a long time and providing them with the
necessary climatic and storage conditions and protection.
• Cameras are used to keep a check and protect the harvested crops.
• The amount and type of crops stored in a storage location are tracked and recorded with
the help of sensors and cloud computing.
4. Processing
• 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.
5. Logistics
• Enables the transfer of the packed crops to the market with the help of smart vehicles.
• Different sensors help in loading and unloading the packed crop autonomously.
• GPS is used in these smart vehicles for locating the position of the packed crops at any
instant and tracking their whereabouts.
• Logistical information gets logged in the cloud with the help of wireless connectivity.
6. Market
• The details of the sale and purchase of the items are stored in the form of records in the
cloud.
Advantages of IoT in agriculture
1. Automatic seeding:
• IoT-based agricultural systems are capable of autonomous seeding and planting over the
agricultural fields.
• These systems significantly reduce manual effort, error probability, and delays in seeding
and planting.
2. Efficient fertilizer and pesticide distribution:
• Develop solutions that are capable of applying and controlling the amount of fertilizers and
pesticides efficiently.
• These solutions are based on the analysis of crop health.
3. Water Management:
• Using the various solutions available for agricultural IoT, water can be distributed efficiently,
all the while, increasing field productivity and yields.
• IoT-enabled agricultural systems are capable of monitoring the water level and moisture in
the soil, and accordingly, distribute the water to the agricultural fields.
4. Real-time and remote monitoring:
• IoT-based farming, a stakeholder can remotely monitor different agricultural parameters.
• Using a smart handheld device (e.g., cellphone), a farmer can actuate on-field
farming machinery such as a water pump, valves, and other pieces of machinery.
5. Easy Yield Estimation:
• Agricultural IoT solutions can be used to record and aggregate data, which may be
spatially or temporally diverse, over long periods.
• These records can be used to come up with various estimates related to farming and farm
management.
• The most prominent among these estimates is crop yield, which is done based on
established crop models and historical trends.
5. Production Overview:
• IoT-based agriculture acts as a force multiplier for farmers by enabling them to have a
stronger hold on their farming as well as crop management practices, and that too mostly
autonomously.
• Agricultural IoT provides a detailed product overview on the farmers’ handheld devices.