Virtual Machine Provisioning via Schema and Service Layer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and provisioning a large number of virtual machines is cumbersome due to the complexity of configuring and maintaining multiple virtual environments, especially in software testing scenarios where hundreds or thousands of virtual machines with varying settings and applications are required.

Innovation Solution

A computer system dynamically creates and manages virtual machines by accessing a provisioning schema that defines configuration settings and using a virtual service layer to instantiate and provision virtual machines, allowing for automated creation and modification based on user requests and workflows, with the option to use a read-only parent virtual hard disk image as a template.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a large number of virtual machines are created to meet software testing requirements, then the system's adaptability and versatility are improved, but the device complexity and difficulty of management increase significantly

Engineering Contradiction:
Improvevirtual machine configuration varietyVSAvoidvirtual machine management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments virtual machine management into distinct functional components: a provisioning system that handles creation and configuration, a registration system that tracks virtual machines, and a data store that manages templates and schemas. This segmentation allows each component to specialize in specific tasks, reducing overall management complexity while supporting diverse virtual machine configurations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary components including a provisioning schema that defines configuration templates, a registration database that mediates between creation requests and virtual machine instances, and automated workflows that act as intermediaries between user requests and system actions. These intermediaries abstract the complexity of managing numerous virtual machines.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If virtual machines are manually configured and provisioned, then configuration precision can be controlled, but the productivity and time efficiency deteriorate

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidvirtual machine provisioning speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-defining provisioning schemas and configuration templates before virtual machines are actually created. These schemas contain pre-configured settings, resource allocations, and software configurations that can be automatically applied during virtual machine creation, ensuring configuration accuracy while eliminating manual setup time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The provisioning system enables self-service automation where virtual machines automatically configure themselves based on predefined schemas. The system autonomously handles resource allocation, software installation, and configuration without requiring manual intervention, thereby maintaining precision while dramatically improving provisioning speed and productivity.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If multiple versions and variants of virtual machines are created for different testing scenarios, then the system's adaptability improves, but the loss of time and administrative burden increase

Engineering Contradiction:
Improvetesting scenario coverageVSAvoidadministrative management time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements copying by using virtual machine templates and schemas that can be replicated and instantiated multiple times. Instead of manually configuring each virtual machine from scratch, administrators can create a master template with the desired configuration and automatically copy it to generate numerous variant instances for different testing scenarios, significantly reducing administrative time while maintaining adaptability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The provisioning schema and template system provides universality by creating multi-functional base configurations that can serve multiple testing purposes. A single template can be parameterized to generate different virtual machine variants for various testing scenarios, allowing the system to maintain high adaptability across diverse testing needs while minimizing the administrative effort required to manage each individual variant.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8683464B2Efficient virtual machine management
Publication Date: 2014.03.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8683464B2 patent drawing
  • US8683464B2 patent drawing
  • US8683464B2 patent drawing

AI summary

Embodiments are directed to dynamically creating and managing a plurality of virtual machines and automating the instantiation and provisioning of a plurality of virtual machines. A computer system receives a user request to create virtual machines, where each virtual machine is controlled by an associated workflow. The computer system accesses a provisioning schema that indicates various configuration settings that are to be used by the associated workflow when provisioning the virtual machines. The computer system initiates a virtual service layer configured to support multiple virtual machine hosts, where each host is configured to operate at least one virtual machine. The computer system also instantiates the virtual machines on at least one virtual machine host according to the accessed provisioning schema, so that each virtual machine is provisioned according to the indicated configuration settings.