0% found this document useful (0 votes)
18 views18 pages

M4 - Cloud Computing

Uploaded by

Priybrat Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views18 pages

M4 - Cloud Computing

Uploaded by

Priybrat Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

i i

“CP10” — 2020/11/7 — 12:09 — page 237 — #1


i i

Chapter 10
Cloud Computing

Learning Outcomes
After reading this chapter, the reader will be able to:
• Understand the concept of cloud computing and its features
• Understand virtualization, different cloud models, and service-level agreements
(SLAs)
• Identify the salient features of various cloud computing models
• Understand the concept of sensor-clouds

10.1 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. This chapter 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

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 238 — #2


i i

238 Introduction to Internet of Things

in Figure 10.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.

User

(a) Network computing

Resource
pool User A

User B

User C
(b) Cloud computing

Figure 10.1 Network computing versus cloud computing

Points to ponder

• Gmail, Facebook, and Twitter are examples of cloud computing applications.

• Currently, many companies such as Amazon Web Service and Microsoft Azure
provide cloud services.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 239 — #3


i i

Cloud Computing 239

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. These resources
are accessible by multiple users through a regular command-line terminal at the same
or different time instants. The services of cloud computing are based on the pay-per-use
model. The concept is the same as paying utility bills based on consumption. In cloud
computing, a user pays for the cloud services as per the duration of their resource
usage. On the other hand, there is a CSP, that provides cloud services to end user
organizations.

10.2 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. Figure 10.2(a) represents a traditional desktop,
where an application (App) is running on top of an OS, and resources are utilized
only for that particular application. On the other hand, multiple resources can be used
by different end users through virtualization software, as shown in Figure 10.2(b).
Virtualization software separates the resources logically so that there is no conflict
among the users during resource utilization.

Applications (APP) APP APP APP APP


OS OS OS OS
Operating system (OS) Virtualization software

Resource Resource

(a) Desktop (b) Virtualization

Figure 10.2 Traditional desktop versus virtualization

10.2.1 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.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 240 — #4


i i

240 Introduction to Internet of Things

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:

(i) Advantages for End Users

(a) Variety: The process of virtualization in cloud computing enables an


end user organization to use various types of applications based on the
requirements. As an example, suppose John takes up still photography as
a hobby. His resource-limited PC can barely handle the requirements for
a photo editing software, say X-photoeditor. In order to augment his PC’s
regular performance, he uninstalls the X-photoeditor software and purchases
a cloud service, which lets him access a virtual machine (VM). In his
VM, he installs the X-photoeditor software, by which he can edit photos
efficiently and, most importantly, without worrying about burdening his
PC or running out of processing resources. After six months, John’s interest
in his hobby grows and he moves on to video-editing too. For editing his
captured videos, he installs a video editing software, Y-videoeditor, in his VM
and can edit videos efficiently. Additionally, he has the option of installing
and using a variety of software for different purposes.
(b) Availability: Virtualization creates a logical separation of the resources
of multiple entities without any intervention of end users. Consequently,
the concept of virtualization makes available a considerable amount of
resources as per user requirements. The end users feel that there are
unlimited resources present dedicatedly for him/her. Let us suppose that
Jane uses a particular email service. Her account has been active for over
ten years now; however, it offers limited storage of 2 GB. Due to the ever-
accumulating file attachments in different emails, her 2 GB complimentary
space is exhausted. However, there is a provision that if she pays $100
annually, she can attach additional space to her mail service. This upgrade
allows her to have more storage at her disposal for a considerable time in
the future.
(c) Portability: Portability signifies the availability of cloud computing services
from anywhere in the world, at any instant of time. For example, a person
flying from the US to the UK still has access to their documents, although
they cannot physically access the devices on which the data is stored. This
has been made possible by platforms such as Google Drive.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 241 — #5


i i

Cloud Computing 241

(d) Elasticity: Through the concept of virtualization, an end user can scale-up
or scale-down resource utilization as per requirements. We have already
explained that cloud computing is based on a pay-per-use model. The end
user needs to pay the amount based on their usage. For example, Jack
rents two VMs in a cloud computing infrastructure from a CSP. VM1 has
the Ubuntu operating system (OS), on which Jack is simulating a network
scenario using Network Simulator-2 (NS2). VM2 has Windows 10 OS, on
which he is running a MATLAB simulation. However, after a few days,
Jack feels that his VM2 has served its purpose and is no longer required.
Consequently, he releases VM2 and, after that, he is only billed for VM1.
Thus, Jack can scale-up or scale-down his resources in cloud computing,
which employs the concept of virtualization.

(ii) Advantages for CSP

(a) Resource Utilization: Typically, a CSP in a cloud computing architecture


procures resources on their own or get them from third parties. These
resources are distributed among different users dynamically as per their
requirements. A segment of a particular resource provided to a user at a
time instant, can be provided to another user at a different time instant.
Thus, in the cloud computing architecture, resources can be re-utilized for
multiple users.
(b) Effective Revenue Generation: A CSP generates revenue from the end
users based on resource utilization. As an example, today, a user A is
utilizing storage facility from a particular CSP. The user will release the
storage after a few days when his/her requirement is complete. The CSP
earns some revenue from user A for the utilization of the allocated storage
facility. In the future, the CSP can provide the same storage facility to
a different user, B. Again, the CSP can generate revenue from user B for
his/her storage utilization.

Check yourself

VMware, hypervisor, virtual machine

10.2.2 Types of virtualization


Based on the requirements of the users, we categorized virtualization as shown in
Figure 10.3.

(i) 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.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 242 — #6


i i

242 Introduction to Internet of Things

Virtualization

Hardware Storage Application Desktop

Figure 10.3 Types of virtualization

Different operating systems can be installed in these processors and each of them
can work as stand-alone machines.
(ii) 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.
(iii) 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. Similar to storage
virtualization, in application virtualization, the users get the impression that
applications are stored and executed in their local computer.
(iv) 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.

Check yourself

Server virtualization, Para virtualization, User virtualization

10.3 Cloud Models


As per the National Institute of Standards and Technology (NIST) [1] 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 10.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.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 243 — #7


i i

Cloud Computing 243

Software-as-a-service

Service model Platform-as-a-service


Cloud model

Infrastructure-as-a-service

Private cloud

Community cloud
Deployment model
Public cloud

Hybrid cloud

Figure 10.4 Cloud model

(i) Service Model


The service model is depicted in Figure 10.5.

(a) 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.
(b) 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.
(c) 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.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 244 — #8


i i

244 Introduction to Internet of Things

User 2 User 2
App 2
App 1 App 3
User 1 User 3 User 3
User 1

Software B
Software A

Software D
Software C Platform

(a) SaaS (b) PaaS

User 2

User 1 User 3

Database Networks

(c) IaaS

Figure 10.5 Service models

(ii) 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).

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 245 — #9


i i

Cloud Computing 245

10.4 Service-Level Agreement in Cloud Computing


The most important actors in cloud computing are the end user/customer and CSP.
Cloud computing architecture aims to provide optimal and efficient services to the
end users and generate revenue from them as per their usage. Therefore, for a clear
understanding between CSP and the customer about the services, an agreement is
required to be made, which is known as service-level agreement (SLA). 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 them. An SLA may include multiple organizations for making the legal
contract with the customers.

10.4.1 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.

10.4.2 Metrics for SLA


Depending on the type of services, an SLA is constructed with different metrics.
However, a few common metrics that are required to be included for constructing
an SLA are as follows:

(i) Availability: This metric signifies the amount of time the service will be
accessible for the customer.
(ii) Response Time: The maximum time that will be taken for responding to a
customer request is measured by response time.
(iii) Portability: This metric indicates the flexibility of transferring the data to another
service.
(iv) Problem Reporting: How to report a problem, whom and how to be contacted,
is explained in this metric.
(v) Penalty: The penalty for not meeting the promises mentioned in the SLA.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 246 — #10


i i

246 Introduction to Internet of Things

10.5 Cloud Implementation


10.5.1 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:

(i) CloudSim

(a) Description: CloudSim [3] 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.
(b) Features: CloudSim has different features, which are listed as follows:
(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.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 247 — #11


i i

Cloud Computing 247

(ii) CloudAnalyst

(a) Description: CloudAnalyst [4] 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.
(b) Features:
(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.

(iii) GreenCloud

(a) Description: GreenCloud [2] 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.
(b) Features:
(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.

10.5.2 An open-source cloud: OpenStack


For the real implementation of cloud, there are various open-source cloud platforms
available such as OpenStack, CloudStack, and Eucalyptus. Here, we will discuss the
OpenStack platform briefly. The OpenStack [12] is free software, which provides a
cloud IaaS to users. A user can easily use this cloud with the help of a GUI-based web
interface or through the command line. OpenStack supports a vastly scalable cloud
system, in which different pre-configured software suites are available. The service
components of OpenStack along with their functions are depicted in Table 10.1.
Features of OpenStack

(i) OpenStack allows a user to create and deploy virtual machines.


(ii) It provides the flexibility of setting up a cloud management environment.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 248 — #12


i i

248 Introduction to Internet of Things

Table 10.1 Components in OpenStack

Component Function
Nova Compute
Neutron Networking
Cinder Block storage
Keystone Identity
Glance Image
Swift Object storage
Horizon Dashboard
Trove Database
Sahara Elasticmap reduce
Manila Shared file system
Designate DNS
Searchlight Search
Barbican Key manager

(iii) OpenStack supports an easy horizontal scaling: dynamic addition or removal of


instances for providing services to multiple numbers of users.
(iv) This cloud platform allows the users to access the source code and share their
code to the community.

10.5.3 A commercial cloud: Amazon web services (AWS)


Besides the open-source cloud, there are various commercial cloud infrastructures
available in the market. Few of the popular commercial cloud infrastructures
are Amazon Web Services (AWS), Microsoft Azure, and Google App Engine. In this
section, we will discuss the different features of AWS [13]. A user can launch and
manage server instances in AWS. Typically, a web interface is used to handle the
instances. Additionally, AWS provides different APIs (application programming
interfaces), tools, and utilities for users. Like other commercial clouds, 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

(i) It provides flexibility to scale and manage the server capacity.


(ii) AWS provides control to OS and deployment software.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 249 — #13


i i

Cloud Computing 249

(iii) It follows the pay-per-use model.


(iv) The cloud allows a user to establish connectivity between the physical network
and private virtual network
(v) The developer tools in this cloud infrastructure help a user for fast development
and deployment of the software.
(vi) AWS provides excellent management tools, which help a user to monitor and
automate different components of the cloud.
(vii) The cloud provides machine learning facilities, which are very useful for data
scientists and developers.
(viii) For extracting meaning from data, analytics play an important role. AWS also
provides a data analytics platform.

Check yourself

CloudStack cloud, Eucalyptus cloud, Amazon cloud

10.6 Sensor-Cloud: Sensors-as-a-Service


In this chapter, we have already discussed different services of cloud computing,
which include SaaS, PaaS, and IaaS. Now, we will explore a new concept known
as Sensors-as-a-Service (Se-aaS) in a sensor-cloud architecture [5]. 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
asensor 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.

10.6.1 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,

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 250 — #14


i i

250 Introduction to Internet of Things

he/she has to go through different pre-deployment and post-deployment hurdles.


Figures 10.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 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.

Check yourself

Difference between sensor-cloud and virtual sensor network (VSN)

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 251 — #15


i i

Cloud Computing 251

Used by
multiple users

Single user
application

Aggregated data

Deployed WSN
by single user

(a) Traditional WSNs

Used by
multiple users

Multiple user
applications

Data for multiple


applications

Sensor
virtualization

Aggregated data

Deployed sensor
nodes by different
scnsor-owners

(b) Sensor cloud

Figure 10.6 Traditional WSN versus sensor-cloud

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 252 — #16


i i

252 Introduction to Internet of Things

10.6.2 Architecture of a sensor-cloud platform


In a traditional cloud computing architecture, two actors, cloud service provider (CSP)
and end users (customer) play the key role. Unlike cloud computing, in sensor-cloud
architecture, the sensor owners play an important role along with the service provider
and end users. However, a service provider in sensor-cloud architecture is known as
a sensor-cloud service provider (SCSP). The detailed architecture of a sensor-cloud is
depicted in Figure 10.7.

Cloud

Web interface
SCSP

Sensor
owners

End-users

Deployed sensor nodes

Figure 10.7 Architecture of a sensor-cloud platform

Actors in sensor-cloud architecture


Typically, in a sensor-cloud architecture, three actors are present. We briefly describe
the role of each actor.
(i) 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. Thereafter, he/she chooses the template of the services that are
available in the sensor-cloud architecture to which he/she is registered. Finally,
through the Web portal, the end user receives the services, as shown in Figure
10.7. Based on the type and usage duration of service, the end user pays the
charges to the SCSP.
(ii) Sensor Owner: We have already discussed that the sensor-cloud architecture
is based on the concept of Se-aaS. Therefore, the deployment of the sensors is
essential in order to provide services to the end users. These sensors in a sensor-

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 253 — #17


i i

Cloud Computing 253

cloud architecture are owned and deployed by the sensor owners, as depicted
in Figure 10.7. 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. On the other hand, a sensor owner receives rent depending upon
the duration and usage of his/her sensor node(s).
(iii) Sensor-Cloud Service Provider (SCSP): An 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. The SCSP receives rent from end users with the help of
a pre-defined pricing model. The pricing scheme may include the infrastructure
cost, sensor owners’ rent, and the revenue of the SCSP. Typically, different
algorithms are used for managing the entire infrastructure. The SCSP receives
the rent from the end users and shares a partial amount with the sensor owners.
The remaining amount is used for maintaining the infrastructure. In the process,
the SCSP earns a certain amount of revenue from the payment of the end users.

Check yourself

Pricing scheme for sensor-cloud [6, 9], Caching in sensor-cloud [11], data center
scheduling for sensor-cloud, Big sensor-cloud [8], Mobile sensor-cloud [7]

Sensor-Cloud Architecture from Different Viewpoints


We explore the sensor-cloud architecture from two view points: (i) User organizational
view and (ii) real architectural view [5]. Different views of sensor-cloud architecture
are shown in Figure 10.8.

(i) User Organizational View: This view of sensor-cloud architecture is simple. In


a sensor-cloud, end users interact with a Web interface for selecting templates
of the services. Thereafter, the services are received by the end users through
the Web interface. In this architecture, an end user is unaware of the complex
processes that are running at the back end.
(ii) Real Architectural View: The complex processing of sensor-cloud architecture
is visualized through this view. The processes include sensor allocation, data
extraction from the sensors, virtualization of sensor nodes, maintenance of the
infrastructure, data center management, data caching, and others. For each
process, there is a specific algorithm or scheme.

i i

i i
i i

“CP10” — 2020/11/7 — 12:09 — page 254 — #18


i i

254 Introduction to Internet of Things

User organizational view Real architectural view

Sensor allocation
Virtualization
Registration Data center
Login management
Template selection Data extraction
Service Maintenance
Data caching
....

Figure 10.8 Sensor-cloud architecture

Summary
This chapter covered different aspects of cloud computing which would help the
reader to visualize its requirement in IoT. Additionally, we discussed commercial
cloud platforms along with simulation tools. We explored the different aspects of
the OpenStack cloud platform, which would help a learner to implement and use it.
Finally, we concluded the chapter with a newly explored concept known as sensor-
cloud, which deals with sensors-as-a-service.

Exercises
(i) What are the advantages of cloud computing?
(ii) With an example, explain how software-as-a-service is different from platform-as-
a-service?
(iii) What is an SLA? Why it is important in cloud computing?
(iv) Differentiate between scalability and elasticity.
(v) What is an Amazon Machine Image?
(vi) What are the differences between modular and containerized data centers?
(vii) What is the relationship between IoT and cloud computing?
(viii) What is a sensor-cloud? Why do we use sensor-cloud?
(ix) Differentiate among different cloud deployment models.

i i

i i

You might also like