Program Killing System Using Usage Pattern Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems where applications are killed due to low memory, high-priority programs are often mistakenly terminated, leading to user inconvenience as they are not efficiently differentiated from low-priority ones based on usage patterns.

Innovation Solution

A program killing system and method that collects usage counts, times, and orders of programs to generate candidate lists, comparing these with operation lists to produce a judgment list that prioritizes and sequentially kills low-priority programs, thereby reducing the likelihood of high-priority applications being terminated.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the system grants lower process priority to applications in the background, then memory management efficiency is improved, but user convenience deteriorates because frequently used applications are mistakenly killed

Engineering Contradiction:
Improvememory management efficiencyVSAvoiduser convenience
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system performs preliminary learning of user usage patterns before memory pressure occurs. By collecting usage counts, usage times, and usage orders in advance, the system builds a knowledge base that enables intelligent differentiation between high and low priority applications when memory killing becomes necessary, preventing frequently used apps from being terminated.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring and collecting application usage data. This feedback loop allows the system to learn from user behavior patterns and adjust its priority assignment dynamically, ensuring that applications frequently accessed by users are protected from being killed even when they are in the background.

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If the low memory killer terminates background applications to free memory, then memory availability is improved, but application restart time increases due to loss of user behavior context

Engineering Contradiction:
Improvememory availabilityVSAvoidapplication restart time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary learning of user usage patterns before memory pressure occurs. By collecting usage counts, usage times, and usage orders in advance, the system builds a knowledge base that enables intelligent differentiation between high and low priority applications when memory killing becomes necessary, preventing frequently used apps from being terminated.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring and collecting application usage data. This feedback loop allows the system to learn from user behavior patterns and adjust its priority assignment dynamically, ensuring that applications frequently accessed by users are protected from being killed even when they are in the background.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20230244501A1Program killing system and program killing method
Publication Date: 2023.08.03 ASUSTEK COMPUTER INC
  • US20230244501A1 patent drawing
  • US20230244501A1 patent drawing
  • US20230244501A1 patent drawing

AI summary

The disclosure discloses a program killing system including a memory and a processor. The processor obtains instructions from the memory to perform the following steps: collecting use counts, use times, and a first use order of programs; generating a first candidate list based on the plurality of use counts and the use times, generating a second candidate list based on the use counts, and generating a third candidate list based on the first use order; collecting a second use order of the programs in an operation time to generate an operation list; comparing each of the first candidate list, the second candidate list, and the third candidate list with the operation list to produce a comparison result; and outputting one of the first candidate list, the second candidate list, or the third candidate list as a judgment list according to the comparison result.