Flexible Virtual Machine Memory Allocation via Dynamic Host Resource Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine memory management techniques allocate a fixed amount of memory at boot-up, leading to inefficient and inflexible use of host memory resources, resulting in memory contention and potential instruction failures.

Innovation Solution

Implementing dynamic memory allocation by a virtual machine manager that adjusts memory based on events generated by the virtual machine and/or signals indicating high memory pressure, allowing additional memory to be allocated transparently without requiring the virtual machine to be reconfigured or rebooted.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed amount of memory is allocated to a virtual machine at boot-up, then the virtual machine has guaranteed memory resources available, but the host memory resources are used inefficiently and inflexibly

Engineering Contradiction:
Improvememory availabilityVSAvoidmemory resource efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic memory allocation by allowing the virtual machine to access memory beyond its initially allocated amount. When the virtual machine attempts to access unallocated memory, the system dynamically allocates additional memory from available host resources, transforming the static memory allocation model into a dynamic one that adapts to actual usage needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the memory allocation parameter from a fixed value determined at boot-up to a variable value that can be adjusted during runtime. The virtual machine's effective memory allocation evolves from an initial static amount to a dynamic amount that responds to memory access patterns and host availability, optimizing both reliability and efficiency.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If additional memory is allocated to a virtual machine during execution, then memory resource efficiency improves, but the virtual machine requires reconfiguration or reboot

Engineering Contradiction:
Improvememory resource efficiencyVSAvoidconfiguration simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces a memory management intermediary layer that sits between the virtual machine and the physical memory resources. This intermediary handles memory allocation requests transparently, intercepting attempts to access unallocated memory and facilitating dynamic allocation without requiring the virtual machine to be aware of or participate in the reconfiguration process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service memory allocation where the memory management infrastructure automatically handles additional allocation in response to virtual machine memory access patterns. The virtual machine effectively serves itself by attempting to access memory, and the system automatically provides the necessary resources without external intervention or virtual machine reconfiguration.

Inventive Principle:
Principle #25Self-service

3Loss of information

If memory access is attempted at unallocated memory locations, then the system can detect memory pressure events, but instruction execution fails

Engineering Contradiction:
Improvememory pressure detectionVSAvoidinstruction execution
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The system performs preliminary action by pre-establishing monitoring mechanisms that detect memory access attempts to unallocated locations before instruction failure occurs. The memory management infrastructure is configured in advance to intercept and handle such access attempts, transforming potential failures into opportunities for dynamic memory allocation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent converts the harmful event of memory access failure into a beneficial trigger for dynamic memory allocation. Instead of treating unallocated memory access as an error condition to be prevented, the system embraces it as a signal that indicates the virtual machine needs more memory, transforming a reliability problem into an opportunity for resource optimization.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS20250147786A1Flexible memory management for virtual machines
Publication Date: 2025.05.08 GOOGLE LLC
  • US20250147786A1 patent drawing
  • US20250147786A1 patent drawing
  • US20250147786A1 patent drawing

AI summary

A virtual machine monitor (VMM) of a computing system may provide flexible memory management for guest virtual machines (guest VMs). The VMM may allocate a flexible amount of memory that is accessible to a guest VM. A guest VM may be configured, such as by VMM, to utilize a larger fixed amount of guest memory. A memory access error may be generated when guest VM accesses a memory location outside of the flexible memory. The VMM may receive the memory access error and allocate additional memory including at least the memory location to the flexible memory. The memory location may then be accessed without triggering a failure.