Operating System Application Prioritization via De-prioritized Mode

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing devices, multiple applications competing for resources can lead to suboptimal performance, as background applications like text messaging services consume resources needed by foreground applications, resulting in degraded user experiences.

Innovation Solution

Implementing a de-prioritized operating mode that restricts resource access for background applications, ensuring they do not overconsume resources needed by foreground applications, with dynamic adjustments based on launch progress and idle states to optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If background applications are allowed to execute normally, then application functionality is maintained, but computing resources are overconsumed and foreground application performance deteriorates

Engineering Contradiction:
Improveforeground application performanceVSAvoidcomputing resource consumption by background applications
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments applications into two distinct operating modes: standard operating mode for foreground applications and de-prioritized operating mode for background applications. This segmentation allows different quality levels of service for different application types, ensuring foreground applications receive adequate computing resources while background applications execute with restricted access to CPU cycles, memory, and I/O operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by providing differentiated resource allocation policies based on application location (standard vs. de-prioritized mode). Foreground applications in standard mode receive full resource access, while background applications in de-prioritized mode receive limited resources. The CPU scheduler implements this by assigning higher priority to threads in standard mode, ensuring local optimization of resource distribution.

Inventive Principle:
Principle #3Local quality

2Productivity

If de-prioritized operating mode is implemented, then resource allocation is optimized for foreground applications, but application launch progress may be delayed due to resource restrictions

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidapplication launch time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic adjustment of operating modes based on application launch progress. The system monitors whether a de-prioritized application has made sufficient progress toward launch completion. If progress is insufficient, the system dynamically transitions the application from de-prioritized to standard operating mode to accelerate launch. This dynamic switching resolves the contradiction by maintaining resource efficiency while preventing excessive launch delays.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs feedback mechanisms to monitor application launch progress and adjust resource allocation accordingly. The system continuously assesses whether de-prioritized applications are making adequate progress and provides feedback by switching them to standard mode when necessary. This feedback loop ensures that resource restrictions do not cause unacceptable delays while maintaining overall resource allocation efficiency.

Inventive Principle:
Principle #23Feedback

3Speed

If CPU scheduling de-prioritization is applied, then foreground application responsiveness is improved, but background application execution is delayed

Engineering Contradiction:
Improveforeground application responsivenessVSAvoidbackground application execution time
Core Design Contradiction:
SpeedVSDuration of action of moving object

Solution Approach 1:

The patent segments CPU scheduling into two priority levels: high priority for foreground applications in standard mode and low priority for background applications in de-prioritized mode. The CPU scheduler implements this by assigning higher priority to threads in standard mode, ensuring foreground applications receive timely CPU cycles for responsive user interactions, while background applications execute with delayed but guaranteed scheduling.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9489236B2Application prioritization
Publication Date: 2016.11.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9489236B2 patent drawing
  • US9489236B2 patent drawing
  • US9489236B2 patent drawing

AI summary

Among other things, one or more techniques and/or systems are provided for application prioritization. For example, an operating system of a computing device may contemporaneously host one or more applications, which may compete for computing resources, such as CPU cycles, I/O operations, memory access, and/or network bandwidth. Accordingly, an application (e.g., a background task or service) may be placed within a de-prioritized operating mode during launch and/or during execution, which may result in the application receiving a relatively lower priority when competing with applications placed within a standard operating mode for access to computing resources. In this way, an application placed within a standard operating mode (e.g., a foreground application currently interacted with by a user) may have priority to computing resources over the de-prioritized application, such that the application within the standard operating mode may provide enhanced performance based upon having priority to computing resources.