Background Task Resource Control via Dual Pools
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Background tasks in computing environments consume resources, impacting battery life and user experience, as they can disrupt foreground applications and lead to reduced performance and functionality when restricted from executing.
Innovation Solution
Implementing an application resource pool with a replenishment timer and a global resource pool to manage resource access for background tasks, allowing prioritization and controlled access to CPU processing cycles and network bandwidth, ensuring that critical tasks are executed while conserving power.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If background tasks are allowed unfettered access to resources, then task functionality is maintained, but power consumption increases and battery life decreases
Solution Approach 1:
The system dynamically adjusts background task execution based on device state (screen on/off, charging status, battery level). When the screen is off or battery is low, background tasks are restricted or denied. When the screen is on or device is charging, background tasks are permitted. This dynamic adaptation resolves the contradiction by making resource access conditional rather than static.
Solution Approach 2:
The patent changes the parameter of resource availability based on device state. The system monitors parameters such as screen state, charging status, and battery level, and uses these to determine whether background tasks can access resources. By changing the resource allocation parameter dynamically, the system maintains task functionality when appropriate while conserving power when necessary.
2Use of energy by moving object
If background tasks are restricted from executing, then power consumption is reduced, but user experience deteriorates due to missed updates and notifications
Solution Approach 1:
The system dynamically controls background task execution based on real-time device state. Instead of permanently restricting background tasks, the system permits them during periods when the device is on or charging, and restricts them only during low-power states. This dynamic approach maintains user experience during normal operation while reducing power consumption during standby.
Solution Approach 2:
The system implements periodic checks of device state to determine whether background tasks should execute. By monitoring device state periodically and adjusting task execution accordingly, the system ensures that background tasks run during appropriate periods (maintaining user experience) and are restricted during inappropriate periods (conserving power).
3Reliability
If background tasks consume resources continuously, then task completion is ensured, but foreground application performance is degraded
Solution Approach 1:
The system dynamically prioritizes resource allocation between background and foreground tasks based on current device state. When the screen is on or the device is charging, background tasks are permitted to execute without interfering with foreground applications. When the screen is off or battery is low, background tasks are restricted, eliminating resource contention and ensuring foreground application performance is not degraded.
Solution Approach 2:
The patent applies different resource allocation policies to different contexts. Instead of a uniform approach, the system applies local quality by treating background task execution differently based on the specific device state (screen on/off, charging status, battery level). This contextual approach ensures that background tasks only consume resources when it will not negatively impact foreground application performance.
Data Source
AI summary
Among other things, one or more techniques and/or systems are provided for controlling resource access for background tasks. For example, a background task created by an application may utilize a resource (e.g., CPU cycles, bandwidth usage, etc.) by consuming resource allotment units from an application resource pool. Once the application resource pool is exhausted, the background task is generally restricted from utilizing the resource. However, the background task may also utilize global resource allotment units from a global resource pool shared by a plurality of applications to access the resource. Once the global resource pool is exhausted, unless the background task is a guaranteed background task which can consume resources regardless of resource allotment states of resource pools, the background task may be restricted from utilizing the resource until global resource allotment units within the global resource pool and/or resource allotment units within the application resource pool are replenished.


