Low Memory Application Killer for Compute Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded systems and mobile devices face challenges in managing memory effectively, leading to unacceptable user experiences due to low memory conditions, as they cannot employ traditional swap space methods, resulting in slow and unresponsive applications.

Innovation Solution

A compute device is configured to determine the quality of user experience by measuring system benchmarks and storing indications in a database, allowing or killing applications based on expected performance, using a low memory application killer module to proactively manage memory usage and prevent resource shortages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional swap space methods are used to manage memory, then physical memory can be transferred to secondary storage, but embedded systems and mobile devices cannot employ this approach due to system constraints

Engineering Contradiction:
Improveavailable memoryVSAvoidmemory management flexibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The system proactively determines the quality of user experience for different application combinations and stores this information in a database before memory issues occur. When an application is launched, the system checks the database to predict potential memory problems and prevents them by controlling application launches beforehand, rather than reacting after memory becomes insufficient.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system establishes a feedback loop where user experience quality is measured and stored, then used to inform future application launch decisions. The low memory application killer module uses stored quality indicators to determine whether to allow or kill applications, creating a closed-loop control system that continuously optimizes memory management based on observed performance.

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If a low memory application killer is used to kill applications when memory is low, then memory pressure is relieved, but applications run slowly and become unresponsive before the low memory condition is detected

Engineering Contradiction:
Improveavailable memoryVSAvoidapplication responsiveness
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system proactively determines the quality of user experience for different application combinations and stores this information in a database before memory issues occur. When an application is launched, the system checks the database to predict potential memory problems and prevents them by controlling application launches beforehand, rather than reacting after memory becomes insufficient.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments the memory management problem by evaluating each application combination individually and storing quality metrics for specific sets of applications. This allows granular control over which applications to allow or kill based on their specific memory characteristics and user experience quality, rather than applying blanket memory management rules.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If applications are allowed to run without proactive memory management, then user experience quality may be maintained initially, but system resources become depleted leading to slowdowns and crashes

Engineering Contradiction:
Improveapplication performanceVSAvoidsystem stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system establishes a feedback loop where user experience quality is measured and stored, then used to inform future application launch decisions. The low memory application killer module uses stored quality indicators to determine whether to allow or kill applications, creating a closed-loop control system that continuously optimizes memory management based on observed performance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system proactively determines the quality of user experience for different application combinations and stores this information in a database before memory issues occur. When an application is launched, the system checks the database to predict potential memory problems and prevents them by controlling application launches beforehand, rather than reacting after memory becomes insufficient.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11693756B2Technologies for managing memory on a compute device
Publication Date: 2023.07.04 INTEL CORP
  • US11693756B2 patent drawing
  • US11693756B2 patent drawing
  • US11693756B2 patent drawing

AI summary

Technologies for managing memory on a compute device are disclosed. The compute device is configured to determine the quality of a user experience of the compute device when a certain combination of applications are running on the compute device and stores an indication of the quality of the user experience that corresponds to that combination of applications. At a later time, such as when a user selects an application to be launched, the compute device may check if the current combination of applications is expected to have an acceptable quality of a user experience. If not, the compute device may kill one or more of the current combination of applications to improve the expected quality of the user experience.