Application Memory Management via State Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing devices with limited memory face challenges in managing multiple applications, leading to memory overflow conditions that can cause crashes, as traditional memory management techniques are unsuitable for portable devices and require user intervention.

Innovation Solution

A system that monitors memory usage and identifies less important applications to terminate, saving their state parameters to free up memory, allowing these applications to be re-launched transparently when needed, prioritizing dominant applications and using criteria like usage frequency and visibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional virtual memory management systems are used on portable devices, then memory overflow conditions can be handled, but the system requires frequent read and write operations to the hard drive which are ill-suited for portable devices with flash memory

Engineering Contradiction:
Improvememory overflow handlingVSAvoidmemory management system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential memory management function from complex virtual memory systems by implementing a simplified kernel-based approach that directly monitors and manages application memory usage without relying on disk-based virtual memory swapping. This allows portable devices to handle memory overflow through direct memory control rather than complex disk operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memory management system operates autonomously by automatically monitoring memory usage thresholds and terminating applications without user intervention. The system self-regulates by detecting when memory limits are reached and executing termination policies based on pre-configured criteria, eliminating the need for manual memory management by the user.

Inventive Principle:
Principle #25Self-service

2Quantity of substance

If the user manually manages applications to free up memory, then memory usage can be controlled, but the user experience is disrupted and the system requires continuous user participation

Engineering Contradiction:
Improvememory usage controlVSAvoiduser interaction requirement
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system automatically monitors memory usage and terminates applications based on predefined thresholds and policies without requiring user action. The kernel-based memory manager continuously tracks application memory consumption and executes termination decisions autonomously, freeing the user from manual memory management tasks while maintaining effective memory control.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The memory management system implements continuous feedback loops where the kernel monitors memory usage in real-time and adjusts application termination decisions based on current system state. When memory thresholds are reached, the system receives feedback about available memory resources and automatically adjusts which applications to terminate based on priority and usage patterns.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If applications are terminated to free up memory, then memory availability increases, but the applications lose their state and must be re-launched

Engineering Contradiction:
Improvememory availabilityVSAvoidapplication state
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

Before terminating an application, the system performs preliminary actions by saving the application's state information to storage. This ensures that when the application needs to be re-launched after memory recovery, its state can be restored without loss, maintaining user progress and application context while still freeing memory for new applications.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system temporarily discards application state during termination to free memory, but then recovers this state information by saving it to persistent storage. This allows the application to be re-launched with its state intact, effectively recovering the information that would otherwise be lost during the memory-freeing process.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP2208140B1Application management
Publication Date: 2019.03.27 GOOGLE LLC
  • EP2208140B1 patent drawingFigure 1
  • EP2208140B1 patent drawingFigure 2
  • EP2208140B1 patent drawingFigure 3

AI summary

The subject matter of this specification can be embodied in, among other things, a method that includes executing one or more computer applications and ranking the applications according to one or more criteria that change in response to a user's interaction with the applications. State information for certain of the one or more applications is saved and one or more applications are terminated in response to a memory condition. Subsequently, one of the terminated applications is revived using the saved state information.