Virtual Machine Memory Expansion via Host OS Swap File Block Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Virtual Machine technologies are limited by the finite virtual memory allocation imposed by host operating systems, which is insufficient for server applications requiring larger address spaces and memory allocations.

Innovation Solution

A system and method that virtualizes processor and memory by using virtualization software to manage memory blocks stored in an image file, allowing for larger virtual memory allocations beyond the host OS limitations, with mechanisms for block mapping, swapping, and counter-based management to optimize memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the host operating system allocates finite virtual memory to each Virtual Machine process, then the system maintains simplicity and compatibility with existing OS limitations, but the Virtual Machine cannot access sufficient memory for server applications requiring large address spaces

Engineering Contradiction:
Improvevirtual memory allocation sizeVSAvoidmemory management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a virtualization software layer that acts as an intermediary between the host operating system and the Virtual Machine. This intermediary manages memory blocks, aggregates them into larger virtual memory spaces, and handles the mapping between host physical memory and virtual machine address spaces, enabling large memory allocations without requiring the host OS to natively support such large process virtual memory limits

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments memory management into discrete blocks that can be independently managed. Memory is divided into manageable units (blocks) that the virtualization software can aggregate, swap, and manage according to Virtual Machine needs, allowing flexible memory allocation that exceeds traditional OS process memory limits while maintaining systematic control

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the Virtual Machine is given a larger address space and memory allocation, then server applications can benefit from increased memory capacity, but the host operating system's traditional process memory limits are exceeded

Engineering Contradiction:
Improvephysical memory access capacityVSAvoidhost OS memory management stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The virtualization software serves as a mediator that translates large Virtual Machine memory requests into manageable host OS operations. It manages block aggregation and swapping mechanisms that allow the Virtual Machine to access large physical memory spaces while the host OS maintains its traditional memory management stability and process limits

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic memory management where memory blocks can be dynamically swapped in and out of the Virtual Machine's address space based on actual needs. This dynamic aggregation and de-aggregation of memory blocks allows flexible memory allocation that adapts to server application requirements while maintaining host OS stability

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If traditional host OS memory limits are enforced for Virtual Machines, then system simplicity and compatibility are maintained, but flexibility for diverse memory requirements (especially server applications) is reduced

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidvirtualization software complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

By segmenting memory into manageable blocks that can be independently aggregated and managed, the system achieves flexible memory allocation for different Virtual Machine needs. This segmentation allows server applications to receive large memory allocations while desktop applications use traditional limits, all managed through a unified virtualization layer

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtualization software provides universal memory management that serves multiple functions: it manages traditional process memory limits for desktop applications, enables large memory allocations for server applications, handles block aggregation and swapping, and maintains compatibility with existing host OS memory management mechanisms

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

Data Source

PatentUS8135899B1Expansion of virtualized physical memory of virtual machine
Publication Date: 2012.03.13 PARALLELS INT GMBH
  • US8135899B1 patent drawing
  • US8135899B1 patent drawing
  • US8135899B1 patent drawing

AI summary

A system, method and computer program product for virtualizing a processor and its memory, including a host operating system (OS); and virtualization software that maintains a virtualization environment for running a Virtual Machine (VM) without system level privileges and having a guest operating system running within the Virtual Machine. A plurality of processes are running within the host OS, each process having its own virtual memory, wherein the virtualization software is one of the processes. A host OS swap file is stored in persistent storage and maintained by the host operating system. The host OS swap file represents virtualized physical memory of the VM. A plurality of memory pages are aggregated into blocks, the blocks being stored in the host OS swap file and addressable in block form. The virtualization software manages the blocks so that blocks can be mapped to the virtualization software process virtual memory and released when the blocks are no longer necessary. The host OS swaps the blocks between the host OS swap file and physical memory when a block that is not in physical memory is accessed by the VM. The host OS swap file size is not subject to limitation on virtual process memory size. A user of the VM can access a larger virtual process memory than the host OS permits.