Cooperative Memory Ballooning for Virtualized Host-Guest Fairness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge in managing memory resources on mobile devices provisioned for both personal and work use is exacerbated by memory shortages, as existing memory management schemes struggle to dynamically allocate memory fairly between the personal and work environments, especially in operating systems like Android that prioritize memory based on user visibility and recency of use, and employ asynchronous process termination.

Innovation Solution

A cooperative memory management technique that dynamically adjusts memory allocation between host and guest systems based on a fairness policy, considering the relative availability of memory resources and memory allocated to hidden applications, using a method called memory ballooning to pin and reallocate memory pages, ensuring that important processes are not terminated prematurely due to memory pressure in one environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory is dynamically allocated between personal and work environments, then memory utilization is improved, but memory management complexity increases

Engineering Contradiction:
Improvememory utilizationVSAvoidmemory management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments memory management into distinct personal and work environments using virtualization. Each environment has its own memory space that can be independently managed, with the hypervisor coordinating resource allocation between them. This segmentation allows dynamic memory allocation while maintaining manageable complexity through clear environmental boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic memory allocation where the hypervisor can reallocate memory pages between personal and work environments based on actual usage requirements. Memory is not statically partitioned but dynamically adjusted, allowing the system to optimize memory utilization while maintaining the ability to manage complexity through controlled dynamic behavior.

Inventive Principle:
Principle #15Dynamics

2Productivity

If memory is allocated based on user visibility and recency of use, then application performance is improved, but fair memory distribution between environments becomes difficult to ensure

Engineering Contradiction:
Improveapplication performanceVSAvoidfair memory distribution
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent employs feedback mechanisms where the system monitors memory usage patterns, user visibility, and recency of use across both personal and work environments. This feedback information is used by the hypervisor to make informed memory allocation decisions that balance application performance requirements with fair resource distribution between the two environments.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes memory allocation parameters dynamically based on usage patterns. The system adjusts allocation decisions considering factors like user visibility and recency of use, allowing performance optimization while maintaining fairness through parameter-based control that adapts to actual usage conditions rather than static quotas.

Inventive Principle:
Principle #35Parameter changes

3Speed

If asynchronous process termination is used, then system responsiveness is improved, but premature termination of important processes becomes more likely

Engineering Contradiction:
Improvesystem responsivenessVSAvoidprocess termination reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements beforehand cushioning by establishing memory reserves and allocation policies that prevent premature process termination. The hypervisor maintains awareness of process importance and ensures adequate memory allocation to critical processes in both personal and work environments, cushioning against the risks of asynchronous termination while preserving system responsiveness.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS8738868B2Cooperative memory resource management for virtualized computing devices
Publication Date: 2014.05.27 VMWARE INC
  • US8738868B2 patent drawing
  • US8738868B2 patent drawing
  • US8738868B2 patent drawing

AI summary

A computing device employs a cooperative memory management technique to dynamically balance memory resources between host and guest systems running therein. According to this cooperative memory management technique, memory that is allocated to the guest system is dynamically adjusted up and down according to a fairness policy that takes into account various factors including the relative amount of readily freeable memory resources in the host and guest systems and the relative amount of memory allocated to hidden applications in the host and guest systems.