Application Sleep State Management for Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Running applications continue to consume device resources even when they are not actively engaged by the user, leading to unnecessary power consumption and resource usage.

Innovation Solution

A method and apparatus that modify the application sleep state of running applications based on detected events and runtime characteristics, such as visibility and user interaction, to restrict access to device resources like CPU, GPU, and I/O, by paginating data between volatile and non-volatile storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the application continues to run and access device resources, then the application can respond quickly when needed, but power consumption increases and resources are wasted when the application is not visible or interacting with the user

Engineering Contradiction:
Improveapplication response speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent applies dynamics by making the application's resource access characteristics adjustable rather than fixed. The system dynamically transitions applications between different sleep states (S0, S1, S2, S3) based on runtime conditions such as visibility and user interaction. This allows the application to have high resource access when needed for quick response, and low resource access when not needed to reduce power consumption, resolving the contradiction between speed and energy use.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of resource access characteristics by introducing sleep state levels (S0-S3) that modify CPU access frequency, I/O priority, and memory access patterns. By changing these parameters based on application context (foreground/background, visible/occluded), the system achieves both quick response when needed and low power consumption when not needed, resolving the technical contradiction.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the application updates the window at the same rate even when occluded, then the application maintains readiness, but device resources are consumed unnecessarily

Engineering Contradiction:
Improveapplication readinessVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies partial action by providing different degrees of resource access based on application needs. Instead of fully restricting background applications, the system provides partial resource access through sleep states S1 and S2, which allow limited CPU and I/O access. This maintains sufficient application readiness while consuming fewer resources compared to full access, resolving the contradiction between reliability and energy loss.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The application sleep state management module enables applications to self-regulate their resource usage based on their own runtime characteristics. The system monitors application behavior and automatically adjusts sleep states without requiring explicit user intervention, allowing applications to maintain appropriate readiness levels while conserving energy autonomously.

Inventive Principle:
Principle #25Self-service

3Device complexity

If the operating system sets fixed I/O priority and CPU priority for applications, then resource management is simple, but the system cannot adapt to changing application states and user interactions

Engineering Contradiction:
Improveresource management complexityVSAvoidsystem adaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments resource management into distinct sleep state levels (S0, S1, S2, S3), each with specific resource access characteristics. This segmentation allows the system to manage complexity by providing predefined resource allocation patterns while maintaining adaptability through the ability to transition between segments based on application state, resolving the contradiction between simplicity and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The application sleep state management module implements feedback by continuously monitoring application runtime characteristics (visibility, user interaction, resource usage patterns) and adjusting sleep states accordingly. This feedback mechanism enables the system to adapt to changing conditions while maintaining manageable complexity through automated decision-making based on monitored parameters.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9336068B2Throttling of application access to resources
Publication Date: 2016.05.10 APPLE INC
  • US9336068B2 patent drawing
  • US9336068B2 patent drawing
  • US9336068B2 patent drawing

AI summary

A method and apparatus of a device that modifies an application sleep state of a running application is described. In an exemplary embodiment, the device detects an event associated with the running application. In addition, the device evaluates one or more run-time characteristics of the running application. The device further determines if the running application is a candidate to have the application sleep state of this running application modified based on the monitored one or more run-time characteristics of the running application and the detected event. If the running application is a candidate to have the application sleep state of this running application modified, the device sends a message to the operating system of the device indicating how the application sleep state of the running application is to be modified, where the device includes a virtual memory subsystem that pages data of the running application between volatile storage to non-volatile storage.