Sensors, Cloud, and Fog
eBook - ePub

Sensors, Cloud, and Fog

The Enabling Technologies for the Internet of Things

  1. 262 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Sensors, Cloud, and Fog

The Enabling Technologies for the Internet of Things

Book details
Book preview
Table of contents
Citations

About This Book

This book provides an in-depth understanding of Internet of Things (IoT) technology. It highlights several of today's research and technological challenges of translating the concept of the IoT into a practical, technologically feasible, and business-viable solution. It introduces two novel technologies--sensor-cloud and fog computing--as the crucial enablers for the sensing and compute backbone of the IoT. The book discusses these two key enabling technologies of IoT that include a wide range of practical design issues and the futuristic possibilities and directions involving sensor networks and cloud and fog computing environments towards the realization and support of IoT.

Classroom presentations and solutions to end of chapter questions are available to instructors who use the book in their classes.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Sensors, Cloud, and Fog by Sudip Misra, Subhadeep Sarkar, Subarna Chatterjee in PDF and/or ePUB format, as well as other popular books in Computer Science & Information Technology. We have over one million books available in our catalogue for you to explore.

Information

Publisher
CRC Press
Year
2019
ISBN
9781000020717
Edition
1

INTRODUCTION I

Chapter 1

History and Evolution of Cloud Computing

1.1 Introduction

Cloud computing is an information technology paradigm that ensures on-demand delivery of services in terms of software, platform, and infrastructure. According to NIST [1], cloud computing is defined as “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”
We have always wondered about determining the time when cloud computing was invented. Generally, we consider that the concept first emerged in the 21st century [2]. However, this statement is partially true, as the concept of cloud computing has existed and been in use for years. In the 1950s, when people worked on mainframe computers, they accessed the machines using dumb terminals [2]. Due to the huge costs and overhead associated with the gigantic machines, it was not possible to provide a machine for each employee in an organization. Thus, the idea of sharing access to a single resource emerged. Later in the 1970s, the concept of virtual machines (VMs) emerged. With the help of software for virtualization, computing environments could be created in isolation within mainframe servers. This enabled the existence of multiple operating systems within the same computing environment. In 1990s, telecommunications companies provided virtualized private networks instead of dedicated point-to-point data connections.
We will first discuss the classification of cloud computing and then present the different characteristic aspects of the paradigm.

1.1.1 Classification of Cloud Computing

Computing clouds can be classified by their location or the services they offer. In this subsection, we illustrate the different cloud-computing models based on their deployment patterns and services offered.

1.1.2 Cloud Computing Deployment Models

Figure 1.1 Public cloud deployment model
  1. Public: In this type of cloud deployment [37], the entire computing infrastructure is available to the customers publicly over the Internet, as shown in Figure 1.1. Some examples of public cloud deployments are Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform. For example, end-users can obtain the services of VMs, cloud storage, or application processing; the services can be free or payable based on the use. It is a multi-tenant virtualized environment for sharing and provisioning of resources. It demands a high bandwidth and large storage for transmitting services and redundant replication of stored data.
The primary advantages of public cloud are as follows:
  • It mitigates the requirements of investment and periodic maintenance of on-premise IT resources [2,8].
  • There is less resource wastage, as customers can simply pay for the consumed resources.
Figure 1.2 Private cloud deployment model
2. Private: In private cloud deployment models [912], the infrastructure is solely deployed and maintained within the organization, but it has a proprietary architecture [6], as depicted in Figure 1.2. It fulfills the demands and requirements of services and applications internal to the organization and are not for the public. Private clouds comprise the resources and infrastructure of an organization’s data centers. Typical examples of private clouds are Amazon Elastic Compute Cloud (EC2), IBM’s Blue Cloud, Sun Cloud, Google App Engine, and Windows Azure Services Platform.
The primary advantages of private cloud are as follows:
  • It has all the advantages of public cloud infrastructures.
  • The company can maintain full-fledged control of the resources and the hardware layer of the cloud servers.
3. Hybrid: A hybrid cloud deployment model [1316] is a combination of public and private cloud deployments, as shown in Figure 1.3. For example, the organization may use the public cloud for data storage and processing and use the private cloud for deploying and executing legacy applications. For example [17], if the demands of a company’s cloud services typically increase at a certain time of the year, it can choose to support the heavier traffic by using a hybrid strategy. However, hybrid cloud solutions might be expensive, so they are to be used wisely and strategically.
Figure 1.3 Hybrid cloud deployment model
4. Community: Community cloud is defined as “a cloud service model that provides a cloud computing solution to a limited number of individuals or organizations that is governed, managed and secured commonly by all the participating organizations or a third party managed service provider” [18]. These are the hybrid forms of private clouds [1922] which are developed for a specific customer, as indicated in Figure 1.4.
Figure 1.4 Community cloud deployment models

1.1.3 Cloud Computing Service Models

Cloud offers a wide range of services from storage to infrastructure, platform, software, and resources. The major categories of cloud services are as follows:
  • Software as a service (SaaS): In SaaS cloud models [2326], providers offer software services in terms of complete products. The end-users are abstracted from the back-end processing and provisioning mechanisms, and they simply do not need to install or maintain the software. SaaS is provisioned in a way to benefit cloud customers to access and utilize any software over the Internet without worrying about the specification, configuration, or internal details of the software, as shown in Figure 1.5. Some typical examples include Google Apps and Cisco WebEx.
  • Platform as a service (PaaS): PaaS cloud deployment models [14,27,28] are generally targeted to developers who intend to build applications on specific platforms. Figure 1.5 shows that PaaS enables easy, quick, and convenient management of applications by the developers. Windows Azure, Google App Engine, and Apache Stratos are popular examples of PaaS models.
  • Infrastructure as a service (IaaS): IaaS cloud services [3032] are primarily utilized for managing applications. The services of IaaS cloud include access and utilization of storage, virtualization, hardware, and network resources, as shown in Figure 1.5. Some common examples of IaaS are AWS, Cisco Metapod, and Microsoft Azure.
Figure 1.5 Cloud service models [29]

1.2 Computation in Cloud

Computation in cloud is a significant and interesting problem even today, as it addresses several technological challenges related to resource management, virtualization, reducing performance overhead, and ensuring energy efficiency. It also addresses a fascinating variety of multiple optimization problems, most of which are of the NP-hard type. We begin by discussing the resource management issues in cloud, followed by a discussion on the aspects of management and monitoring of virtualization.
Figure 1.6 Resource management in cloud computing [33]

1.2.1 Resource Management

In cloud computing, resource management is classified into two different types – static and dynamic [33]. In static resource allocation, the resource requests are known a priori, whereas for dynamic resource allocation, the requests arrive dynamically at application runtime. Therefore, resource management in cloud is a very complex process, as it depends on user behavior, workload patterns, and system load. We separately discuss the issues in the following subsections.

1.2.1.1 Workload Models

Workloads are submitted to cloud servers by the customers. Workloads comprise multiple tasks requiring heterogeneous resources in small, moderate, or large amounts. The granularity of a task may also range from something as simple as an HTTP request or word count application to complicated statistical or distributed batch processing. These tasks can be independent (able to be carried out in distinct computing threads) or dependent (unable to be carried out in isolation). In complex models, where the tasks are interrelated, the dependency is studied using two popular models – Bag of Tasks (BoT) and Directed Acyclic Graph (DAG).
The type of resources serving a workload hugely vary – from the underlying CPU cores, memory, and network resources to physical servers, containers, and even data centers. Data centers may comprise identical or different physical servers, and each server may have heterogeneity in terms of the component physical resources. The network topology of data centers plays a crucial role in determining the performance of the cloud servers in serving workloads. The data center network directly impacts the transmission time, delays, and congestion. The problem is more intense for geo-distributed cloud that comprises geo-distributed data centers. The objectives of cloud computing primarily target the following [33]:
Performance: The performance of cloud services is measured in terms of the response time of end-users, turnaround time of applications, and the overall waiting time. Further, service time is the measurement of the duration of time a cloud service is available, an important metric that indicates the “busy”-ness of a service provider.
Finance: As cloud follows a pay-per-use model, customers are charged only for the units of services they consume. However, in the process of charging, customers tend to choose the service provider who charges the lowest price. Therefore, there is a trade-off between the price charged by the provider and the overall profit.
Environment: The impact on the environment is a concerning issue these days due to the massive emission of CO2 from powerful computing servers. Therefore, minimizing the harmful impact on the environment is critical. The parameters affecting performance in this regard are usage of electrical energy, cooling costs, peak power consumption, and CO2 emission.
Other: Other auxiliary factors that contribute towards performance objectives are reliability, security, data privacy, and legal compliance.
Now, we discuss the different aspects of resource management (see Figure 1.6).
Cloud Brokering: Often, cloud workloads are submitted by third-party brokers. The primary goal of brokers is to match resources t...

Table of contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Dedication
  6. Table of Contents
  7. Foreword
  8. Preface
  9. Acknowledgments
  10. About the Authors
  11. PART I: INTRODUCTION
  12. PART II: THE SENSOR-CLOUD PARADIGM
  13. PART III: FROM THE CORE TO THE EDGE: FOG
  14. Index