Cloud and Fog Computing Platforms for Internet of Things
eBook - ePub

Cloud and Fog Computing Platforms for Internet of Things

Pankaj Bhambri, Sita Rani, Gaurav Gupta, Alex Khang, Pankaj Bhambri, Sita Rani, Gaurav Gupta, Alex Khang

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

Cloud and Fog Computing Platforms for Internet of Things

Pankaj Bhambri, Sita Rani, Gaurav Gupta, Alex Khang, Pankaj Bhambri, Sita Rani, Gaurav Gupta, Alex Khang

Book details
Book preview
Table of contents
Citations

About This Book

Today, relevant data are typically delivered to cloud-based servers for storing and analysis in order to extract key features and enable enhanced applications beyond the basic transmission of raw data and to realize the possibilities associated with the impending Internet of Things (IoT). To allow for quicker, more efficient, and expanded privacy-preserving services, a new trend called Fog Computing has emerged: moving these responsibilities to the network's edge.

Traditional centralized cloud computing paradigms confront new problems posed by IoT application growth, including high latency, limited storage, and outages due to a lack of available resources. Fog Computing puts the cloud and IoT devices closer together to address these issues. Instead of sending IoT data to the cloud, the fog processes and stores it locally at IoT devices. Unlike the cloud, fog-based services have a faster reaction time and better quality overall.

Fog Computing, Cloud Computing, and their connectivity with the IoT are discussed in this book, with an emphasis on the advantages and implementation issues. It also explores the various architectures and appropriate IoT applications. Fog Computing, Cloud Computing, and Internet of Things are being suggested as potential research directions.

Features:

  • A systematic overview of the state-of-the-art in Cloud Computing, Fog Computing, and Internet of Things
  • Recent research results and some pointers to future advancements in architectures and methodologies
  • Detailed examples from clinical studies using several different data sets

Frequently asked questions

How do I cancel my subscription?
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.
Can/how do I download books?
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.
What is the difference between the pricing plans?
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.
What is Perlego?
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.
Do you support text-to-speech?
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.
Is Cloud and Fog Computing Platforms for Internet of Things an online PDF/ePUB?
Yes, you can access Cloud and Fog Computing Platforms for Internet of Things by Pankaj Bhambri, Sita Rani, Gaurav Gupta, Alex Khang, Pankaj Bhambri, Sita Rani, Gaurav Gupta, Alex Khang in PDF and/or ePUB format, as well as other popular books in Informatik & Cloud Computing. We have over one million books available in our catalogue for you to explore.

Information

Year
2022
ISBN
9781000593945
Edition
1

1 Resource Allocation Techniques in Cloud Computing

K. Krishna Sowjanya and S. K. Mouleeswaran
Dayananda Sagar University, Bengaluru, India
DOI: 10.1201/9781003213888-1

Contents

  1. 1.1 Introduction
  2. 1.2 Resource Management
  3. 1.3 Virtualization
  4. 1.4 Resource Allocation Algorithms
    • 1.4.1 Priority-Based Resource Allocation Algorithm (PB-RA Algorithm)
    • 1.4.2 Round-Robin-Based Resource Allocation Algorithm (RRB-RA Algorithm)
    • 1.4.3 QoS-Based Resource Allocation Algorithms (QoSB-RA Algorithms)
    • 1.4.4 Energy-Aware Based Resource Allocation Algorithms (EAB-RA Algorithms)
    • 1.4.5 Machine Learning-Based Resource Allocation Algorithms (MLB-RA Algorithms)
    • 1.4.6 Dynamic Resource Allocation Algorithms (DRA Algorithms)
  5. 1.5 Resource Allocation Factors
  6. 1.6 Conclusion and Future Works
  7. References

1.1 Introduction

Cloud Computing manages, stores, and provides access to many resources such as storage, network, and computing resources over the Internet using a pay-as-use policy. Using this technology, users don’t have to manage a computer’s hard drive or physical servers for themselves. These servers and resources can be accessed over the Internet along with the software and databases that run on those servers. All these resources are maintained, upgraded, and run by the cloud servers which are spread across the world through data centers. The Cloud Computing overview is represented in Figure 1.1.
Different devices such as computer, laptop, mobile phone, and tablet are accessing the resources such as storage, Virtual Machines (VMs), applications, network, servers, data, and OS in a cloud with the help of the Internet.
Figure 1.1 Cloud Computing overview.
All the computing resources such as storage, processing, and applications are provided to the users on-demand through the Internet services by Cloud Computing. Many organizations nowadays tend to operate their business transactions in a way that reduces the cost by accessing the resources over the Internet. Cloud Computing provides efficient computing by centralizing all the resources and making them available for the users in three ways. First is by providing the computing resources along with storage and network. Second is by providing a platform to develop the products. Third is by providing the application software which is maintained by the cloud. In addition to that, it also provides four ways to deploy the cloud. First, where only the organization can access, i.e., private model; second, all the people can access without any restriction, i.e., public model; third, the combination of private, and public, i.e., hybrid model; and fourth, a model shared by many and different organizations, i.e., community model. It also provides on-demand virtualized services with dynamic computing infrastructure which are represented in Figure 1.2.
The four deployment models of cloud are public, private, hybrid, and community cloud. The service models are of three types: IaaS (provides servers, storage, and network as a service), PaaS (provides a platform, deployment tools as a service), and SaaS (provides software and developed applications as a service).
Figure 1.2 Deployment and service models in Cloud (Metwally, 2016).
The gaining popularity of the cloud had increased requests from users tremendously. To meet the requirements of the client and also to boost the cloud’s performance, all the virtualized resources provided as a service in the cloud need to be optimized. Resource Allocation (RA) is a mechanism to assure the fair and equal distribution of requests to the servers to avoid the situation of over usage (requests accessing the same machine) and under usage (idle machines) of resources, shown in Figure 1.3. This mechanism also ensures the satisfaction of the user by providing the requested configuration details by the service provider. It balances the load effectively by scaling the resources to achieve optimal utilization of the resources, thereby increasing the response time and also reducing the cost.
A group of users sends requests to the Cloud Service Provider. Resource allocator at cloud service provider end installs the VMs and provides the resources as per User’s request.
Figure 1.3 Process of resource allocation.
Cloud Computing is developing rapidly. The gaining popularity of the cloud mainly depends on few important technologies such as virtualization and resource management.

1.2 Resource Management

Resource management includes the overall maintenance of the heterogeneous resources, allocation of the resources to requests, and also maintaining the overall process of request servicing. As there is an increase in cloud users, there will be an increase in the requests also. To maintain the balance between user demands and resource supply, a proper strategy for RA is needed through resource management. Resource management is based on the user’s request the service provider allocates the required resources to the customer.
Before doing that, a series of steps are involved in the process of RA. The customer and the service provider agree about the resource provisioning called SLA (Service Level Agreements). Based on the terms specified in SLA, the mapping of the resources and requests is done. If the number of requests is increasing, dynamically the resources are adjusted to serve the surge of incoming requests, and RA is done. After allocating the resources, the machines are modeled virtually to meet the requirements specified by the user, and the processing of the request is scheduled. The entire process of resource management is depicted in Figure 1.4.
The process of resource management starts with the SLA terms between the users and cloud service providers. The resources are provisioned based on the availability of the resources. The process of allocation happens dynamically based on the incoming requests.
Figure 1.4 Resource management in the Cloud.
In the schedule of processing the request, the appropriate resources for the process completion are identified and apt resources among them are selected by the scheduler. In addition to that, the scheduler should also try to approximate the future requests and should be ready to process those upcoming requests also.
RA can be done effectively with the approach called virtualization. After allocating the resources, based on the user configurations a separate machine is set up and it is provided to the user for the requested service.

1.3 Virtualization

Virtualization is a process of allocating the required resources for users virtually via VMs. The resources that can be allocated are the operating system, CPU, storage devices, network, etc. Instead of giving the real hardware/physical resources, virtualization takes care of providing the resources logically to the user by creating an abstraction layer over the bare metal hardware. The layer over the hardware called a hypervisor or VM monitor takes care of creating several replicas of machines. Using the concept of virtualization, multiple copies of VMs with different configurations can be created and also can be hosted on a single machine to serve multiple requests. Once the user submits the specific requirements, the VM monitor ensures the suitable allocation of the VMs for the execut...

Table of contents