Virtual Machine Pool Scaling for Cloud Deployment Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, existing systems face inefficiencies in scaling application deployments due to the time-consuming process of provisioning virtual machines during scale-out operations, leading to performance bottlenecks and resource wastage, especially when workloads fluctuate.

Innovation Solution

The implementation of virtual machine pools, where machines are provisioned and configured in advance, allowing for rapid fetching and deployment during scaling operations, reducing the time required for scale-out from minutes to seconds by leveraging pre-provisioned, suspended-state virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtual machines are provisioned during scale-out operations, then application deployment flexibility is improved, but provisioning time increases causing performance bottlenecks

Engineering Contradiction:
Improveapplication deployment flexibilityVSAvoidprovisioning time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system pre-provisions virtual machines in a suspended state before scaling operations are needed. These pre-provisioned VMs are stored in a pool and can be rapidly activated during scale-out operations, eliminating the time-consuming provisioning process while maintaining deployment flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically transitions virtual machines between suspended and active states based on scaling requirements. This dynamic state management allows the system to quickly respond to workload changes by activating pre-prepared VMs rather than provisioning them from scratch during scale-out operations.

Inventive Principle:
Principle #15Dynamics

2Productivity

If virtual machines are fully configured and active, then immediate deployment capability is improved, but resource consumption increases causing wastage during low workloads

Engineering Contradiction:
Improvedeployment capabilityVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system applies different quality states to virtual machines based on their operational status. Pre-provisioned VMs in suspended state consume minimal resources while maintaining their configuration, and only transition to full active state with complete resource consumption when actually deployed, thus avoiding continuous resource wastage during low workloads.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Configuration work is performed in advance on suspended virtual machines, preparing them for rapid deployment without requiring full activation. This preliminary configuration maintains deployment capability while keeping resource consumption minimal until the VMs are actually needed.

Inventive Principle:
Principle #10Preliminary action

3Speed

If virtual machines are provisioned in advance, then scale-out speed is improved, but system complexity increases

Engineering Contradiction:
Improvescale-out speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system creates simplified copies of virtual machine configurations in a suspended state for the pool, rather than managing complex active VMs. These copied configurations can be rapidly instantiated when needed, achieving fast scale-out while the suspended state keeps the management complexity lower than managing fully active VMs.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10275270B2Method and apparatus to scale application deployments in cloud computing environments using virtual machine pools
Publication Date: 2019.04.30 VMWARE INC
  • US10275270B2 patent drawing
  • US10275270B2 patent drawing
  • US10275270B2 patent drawing

AI summary

Methods and apparatus are disclosed to scale application deployments in cloud computing environments using virtual machine pools. An example method disclosed herein includes preparing a virtual machine pool including a virtual machine for use in a scaling operation, the virtual machine prepared in accordance with a blueprint of the application deployed in a deployment environment separate from the virtual machine pool, in response to receiving a request to scale the application, determining by executing an instruction with a processor, whether configuration information of the virtual machine pool satisfies a scaling requirement included in the request, and based on the determination, executing an instruction with the processor to transfer the virtual machine from the virtual machine pool to the deployment environment to perform the scaling operation in accordance with the request to scale.