Stateless Preallocation Pool for Virtual Machine Instantiation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine management systems face inefficiencies in instantiating new virtual machines, leading to increased time, effort, and operational costs due to the need for on-demand resource allocation and provisioning, which can impact performance and agility.
Innovation Solution
Implementing a stateless preallocation pool for virtual machines, where unused or unneeded virtual machines are cleansed of stateful data and stored, allowing for rapid reconfiguration and allocation to meet demand without the overhead of creating new machines, thus maintaining a constant ratio of virtual machine types based on predictive load analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If virtual machines are instantiated on-demand, then resource utilization is optimized, but instantiation time and operational complexity increase
Solution Approach 1:
The patent applies preliminary action by pre-instantiating virtual machines in a preallocation pool before they are needed. Virtual machines are created, configured, and stored in advance with their state cleansed, so when demand arises, they can be rapidly allocated without going through the full instantiation process. This resolves the contradiction by performing the time-consuming instantiation work beforehand.
Solution Approach 2:
The patent uses copying by maintaining multiple copies of virtual machine templates in the preallocation pool. Instead of creating new virtual machines from scratch when needed, the system copies pre-configured virtual machine states from the pool. This significantly reduces instantiation time while maintaining resource optimization through selective allocation.
2Productivity
If virtual machines are preallocated, then instantiation speed improves, but resource overhead increases
Solution Approach 1:
The patent applies dynamics by making the preallocation pool dynamic rather than static. Virtual machines are not permanently held in the pool but are allocated and de-allocated based on actual demand. The pool size and composition adjust dynamically, allowing the system to maintain high instantiation speed while minimizing resource overhead by releasing unused virtual machines back to the pool or destroying them when not needed.
Solution Approach 2:
The patent implements discarding and recovering by cleansing virtual machines of their stateful data when they are returned to the preallocation pool. This allows the system to discard the unique state information that consumes resources while recovering the base virtual machine template for reuse. This resolves the contradiction by removing unnecessary state data to reduce resource overhead while maintaining the ability to rapidly re-instantiate when needed.
3Adaptability or versatility
If virtual machines maintain stateful data, then operational flexibility is improved, but allocation complexity and time increase
Solution Approach 1:
The patent applies segmentation by separating virtual machines into two distinct pools: a preallocation pool with cleansed stateless virtual machines for rapid allocation, and an active pool with stateful virtual machines for actual operations. This segmentation resolves the contradiction by handling the allocation and operation phases separately, reducing allocation complexity while maintaining operational flexibility through the active pool.
Solution Approach 2:
The patent extracts stateful data from virtual machines when they are moved from the active pool back to the preallocation pool. By taking out the unique state information and leaving only the base template, the system reduces allocation complexity for future assignments while preserving the ability to restore operational flexibility by re-adding state data when virtual machines are activated in the active pool.
Data Source
AI summary
A method, computer system, and computer program product for allocating virtual machines in a stateless preallocation pool on a computing device is provided. In response to determining that a virtual machine is to be removed from an active pool in a computing device, it is determined whether the virtual machine is to be moved to a preallocation pool of the computing device. In response to determining that the virtual machine is to be moved to the preallocation pool, the virtual machine is cleansed of stateful data by removing unique information about the virtual machine's prior allocation while in the active pool. The virtual machine is moved to the preallocation pool. In response to determining that the virtual machine is needed in the active pool, the virtual machine is moved from the preallocation pool to the active pool.


