Template Virtual Machines for Memory Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing, servers are often underutilized in terms of CPU utilization, leading to bottlenecks in physical memory as consolidation ratios increase, with existing memory overprovisioning techniques consuming system resources and reducing available resources for virtual machines.

Innovation Solution

The creation and use of template virtual machines without initial machine-specific identifiers, which are later updated, allows for the sharing of uniform code pages among virtual machines, optimizing memory usage and improving consolidation ratios without additional CPU resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory overprovisioning is used to increase consolidation ratios, then physical memory requirements are reduced, but system resources are consumed to dynamically monitor page sharing operations

Engineering Contradiction:
Improvephysical memory requirementsVSAvoidsystem resources consumed
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by pre-configuring template virtual machines with uniform code pages before deployment. The template VMs are prepared in advance with standardized operating systems and applications, allowing their code pages to be identified and shared across multiple instances without requiring dynamic monitoring during runtime. This advance preparation eliminates the need for continuous system resource consumption in monitoring page sharing operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating multiple virtual machine instances from a single template VM. The template VM's code pages are copied and shared across multiple derived VMs, eliminating the need for each VM to maintain separate copies of identical code. This copying approach reduces physical memory requirements while minimizing overhead, as the sharing relationship is established through the template structure rather than dynamic monitoring.

Inventive Principle:
Principle #26Copying

2Productivity

If consolidation ratios are increased by deploying more virtual machines, then resource utilization improves, but physical memory becomes a bottleneck

Engineering Contradiction:
Improveconsolidation ratiosVSAvoidphysical memory available
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies universality by creating a template VM that serves multiple functions across different virtual machine instances. The template VM contains standardized code pages that are shared universally across multiple derived VMs, allowing the same physical memory pages to serve multiple computational tasks. This multi-functionality approach enables higher consolidation ratios without proportionally increasing physical memory requirements.

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

Solution Approach 2:

The patent merges identical code pages from multiple virtual machine instances into shared memory spaces. By combining the code sections of multiple VMs that execute the same operating system and applications, the system reduces total memory consumption while maintaining the ability to run multiple VMs simultaneously, thus resolving the memory bottleneck that limits consolidation ratios.

Inventive Principle:
Principle #5Merging (Combining)

3Quantity of substance

If template virtual machines are created without machine-specific identifiers, then uniform code pages can be shared among multiple instances, but machine-specific customization is delayed

Engineering Contradiction:
Improvememory sharing efficiencyVSAvoidtime to add machine-specific identifiers
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the virtual machine creation process into distinct phases: first creating the template VM without machine-specific identifiers to enable immediate memory sharing, then subsequently adding customizations to derived instances. This segmentation allows memory sharing to begin immediately while deferring customization to a later stage, resolving the contradiction between sharing efficiency and customization timing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by preparing the base VM structure with shared code pages before adding machine-specific identifiers. The template VM is configured in advance with universal code that can be immediately shared, and customization is performed as a subsequent step when derived instances are created. This approach ensures memory sharing efficiency is achieved first, with customization following without blocking the sharing benefit.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8959511B2Template virtual machines
Publication Date: 2015.02.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8959511B2 patent drawing
  • US8959511B2 patent drawing
  • US8959511B2 patent drawing

AI summary

There is provided a method of providing a template virtual machine. An exemplary method comprises creating a template virtual machine comprising an image of an operating system and software running on the operating system. The template virtual machine does not include machine-specific identifiers. The template virtual machine is booted into a virtual machine environment. Subsequently, machine-specific identifiers for the template virtual machine are updated. The template virtual machine may then be booted with machine-specific identifiers into a service instance to perform a function determined by the software running on the operating system such that uniform code pages representing the operating system and software running on the operating system are shared among virtual machines in the virtual machine environment.