Preprovisioned Mutated Templates for Virtual Machine Provisioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large-scale data processing environments, such as data centers, the efficient provisioning of virtual machines (VMs) is hindered by limited storage space on compute nodes and significant data traffic generated by transferring templates over networks, as existing methods require either local storage or complete transfer of templates, which is inefficient and resource-intensive.
Innovation Solution
The system creates a preprovisioned mutated template by selectively combining blocks from multiple templates based on demand and policy, using manifests to reconstruct specific templates, allowing for partial transfer of non-included blocks from external sources, thereby reducing data traffic and storage requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If complete templates are transferred over the network for provisioning, then VM creation accuracy is ensured, but network data traffic increases significantly
Solution Approach 1:
The template is divided into multiple blocks, where frequently used common blocks are pre-provisioned in the mutated template and less frequently used blocks are stored externally. This segmentation allows the system to transfer only necessary template blocks over the network rather than complete templates, reducing network traffic while maintaining VM creation accuracy through on-demand block retrieval.
Solution Approach 2:
Common template blocks are pre-provisioned in the mutated template before VM creation requests occur. This preliminary action ensures that frequently needed template components are already available locally on the compute node, eliminating the need for network transfers during VM provisioning while maintaining the ability to retrieve additional blocks when needed.
2Productivity
If complete templates are stored locally on compute nodes, then VM provisioning speed is improved, but storage space is consumed
Solution Approach 1:
Multiple templates that share common blocks are merged into a single mutated template structure. Instead of storing separate complete templates for each VM configuration, the system combines common template blocks into one mutated template and stores variable blocks externally, reducing total storage requirements while maintaining fast provisioning speeds through local access to common blocks.
Solution Approach 2:
The mutated template serves multiple functions by containing common blocks that can be used across different VM configurations. This universal structure allows a single mutated template to support multiple VM types, eliminating the need to store separate complete templates for each configuration while maintaining rapid provisioning capability.
3Productivity
If multiple complete templates are preprovisioned on compute nodes, then VM creation speed is improved, but device complexity increases
Solution Approach 1:
The template management system is segmented into two parts: a compact mutated template containing common blocks and an external storage containing variable blocks. This segmentation simplifies the on-node template structure while maintaining the ability to provision multiple VM types quickly, as the system only needs to manage the smaller mutated template locally and retrieve additional blocks on demand.
Solution Approach 2:
The manifest acts as an intermediary that maps VM configuration requirements to specific template blocks. This intermediary structure simplifies template management by providing a clear reference system that guides the retrieval and assembly of template blocks, reducing the complexity of managing multiple templates while maintaining fast provisioning speeds.
Data Source
AI summary
Illustrative embodiments include a system, and computer program product for creating a virtual machine using a preprovisioned mutated template. A template to use for creating the virtual machine is identified, a template including data usable to create the virtual machine on a data processing system. A block of data is selected in the mutated template for reconstructing the template from the mutated template. The block of data is included in the mutated template at a location specified in a manifest associated with the mutated template. A data structure of the template is populated with the block of data such that the block of data occupies a predetermined position in the template, thereby reconstructing the template from the mutated template. The virtual machine is created on the data processing system using the template.


