Forked Virtual Machine Instantiation with Online Identity Customization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud services face inefficiencies in VM instantiation and teardown due to slow processor-intensive operations, lack of online customization, and the need for rebooting to set identities within virtual machines, which hampers fast and elastic scaling.
Innovation Solution
The solution involves creating and customizing forked virtual machines that share memory and storage with a parent VM, allowing identity configuration before bootup without rebooting, using copy-on-write memory and storage sharing, and employing a shared compute fabric cloud service for fast, elastic, and automatic provisioning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional VM instantiation methods are used, then VMs can be created with full functionality, but the process is slow and highly processor intensive
Solution Approach 1:
The patent uses linked clones where child VMs copy only the necessary state from a parent VM template, rather than creating full independent copies. This allows rapid VM instantiation by copying minimal data structures while sharing common base images, dramatically reducing both time and processor overhead compared to traditional full VM creation methods
Solution Approach 2:
The patent pre-configures parent VM templates with all necessary software, drivers, and base configurations before cloning. This preliminary preparation allows child VMs to be instantiated rapidly without requiring time-consuming setup operations during or after creation, as the parent template already contains all pre-configured elements
2Ease of operation
If offline domain join techniques are used for VM customization, then VM identities can be configured, but the VMs must be powered-off during customization
Solution Approach 1:
The patent implements dynamic VM customization by allowing domain join and identity configuration operations to occur while the VM remains powered-on. The system dynamically updates VM identities and configurations without requiring shutdown, enabling seamless customization that maintains service continuity and eliminates downtime associated with traditional offline domain join methods
Solution Approach 2:
The patent introduces a configuration management system that acts as an intermediary between the VM and domain controllers. This intermediary handles identity configuration requests, manages the complexity of online domain join operations, and coordinates updates without requiring VM shutdown, thereby simplifying the customization process and eliminating downtime
3Reliability
If guest operating systems require rebooting to set identities, then identity configuration can be performed, but significant time is lost due to reboot operations
Solution Approach 1:
The patent changes the operational parameters of identity configuration by implementing methods that allow domain join and identity setting without triggering operating system reboots. By modifying configuration files, registry entries, or using API calls during runtime, the system achieves reliable identity configuration while eliminating the time loss associated with mandatory reboot operations that traditionally follow identity changes
4Speed
If hot spare VMs are maintained for fast provisioning, then VM instantiation speed improves, but costs increase and IOPS are consumed
Solution Approach 1:
The patent merges multiple VM instances into a shared pool where child VMs are linked clones of a parent template. Instead of maintaining separate hot spare VMs for each potential instantiation, the system combines resources by allowing multiple VMs to share the same base image and common data structures, enabling fast provisioning on-demand without pre-allocating and maintaining idle hot spare instances that consume continuous resources
Data Source
AI summary
Embodiments support instant forking of virtual machines (VMs) and state customization. A computing device initiates execution of a first group of services (e.g., identity-independent) in a first VM. A second VM is instantiated from the first VM. The second VM shares memory and storage with the first VM. The computing device customizes the second VM based on configuration data associated with the second VM. A second group of services (e.g., identity-dependent) starts executing on the second VM after configuring the identity of the second VM. Customizing the second VM includes configuring one or more identities of the second VM. In some embodiments, a domain identity is selected from a pool of previously-created identities and applied to the second VM, before bootup completes on the second VM.


