Virtual Machine Profile Distribution via Message Bus
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine technologies face challenges in efficiently creating, managing, and distributing virtual machines due to large binary file sizes and tedious construction processes, which hinder quick deployment and resource allocation across multiple machines.
Innovation Solution
A virtual manager system comprising UI modules, a database, and a configuration management system that uses a lightweight virtual profile to create, manage, and distribute virtual machines, allowing for centralized management and easy resource allocation across physical machines via a message bus, enabling quick deployment and management of virtual machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtual machines are distributed as binary files, then the virtual machine can be deployed, but the file size is large requiring large communication bandwidth and time
Solution Approach 1:
The virtual machine is segmented into two parts: a lightweight profile (text-based configuration) and a separate disk image. The profile contains metadata about the VM's configuration, while the disk image stores the actual operating system and applications. This segmentation allows the profile to be transmitted quickly while the disk image can be downloaded separately or cached.
Solution Approach 2:
Instead of transmitting the complete virtual machine binary file, the system transmits a profile that describes the VM's configuration and characteristics. The actual disk image is either downloaded on-demand or retrieved from a repository, effectively copying only the essential configuration information rather than the entire VM state.
2Productivity
If virtual machines are manually constructed, then the VM can be customized, but the construction process is tedious and time consuming
Solution Approach 1:
Virtual machine profiles are pre-defined and stored in a repository before deployment is needed. These profiles contain all the configuration information required to create the VM, including hardware specifications, operating system versions, and software configurations. When a VM is needed, the pre-prepared profile is simply retrieved and applied, eliminating the need for manual construction.
Solution Approach 2:
The system automatically applies the profile to create the virtual machine without requiring manual intervention in the construction process. The profile serves as a self-contained template that the system uses to automatically configure hardware resources, install operating systems, and deploy applications, making the VM creation process autonomous and efficient.
3Adaptability or versatility
If multiple VMs are created on a single host, then resource utilization improves, but management complexity increases
Solution Approach 1:
The profile-based system serves multiple functions: it defines VM configuration, manages resource allocation, handles VM migration, and coordinates with the cloud controller. This universal approach consolidates management tasks into a single framework that can handle various VM operations uniformly, reducing overall management complexity despite having multiple VMs.
Solution Approach 2:
The system continuously monitors the state of virtual machines and adjusts resource allocation based on feedback from the cloud controller and VM status. This feedback mechanism enables dynamic resource management where the system can automatically migrate VMs between hosts based on resource availability and demand, simplifying the management of multiple VMs through automated decision-making.
Data Source
AI summary
An embodiment relates generally to a method of distributing virtual machines. The method includes specifying a set of requirements for a virtual machine and instantiating a virtual machine based on a lightweight reusable profile, based on the set of requirements as described in the profile. The method also includes importing the profile to a distribution server; and distributing the profile to at least one physical machine in response to a request. Software can be added to the at least one physical machine that can manage the deployment of the physical hosts as a farm to hosting the virtual images.


