Service Manager Priority Scheduling for Background Execution Limits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Background application execution on computing devices consumes resources, leading to processing delays, battery depletion, and network slowdowns, prompting operating systems to impose limits, which can result in undesirable foreground notifications when attempting to start services.

Innovation Solution

A service manager determines priority categories for services, allowing high-priority services to start as foreground services, queuing low-priority services, or scheduling them with the jobs scheduler, to optimize service scheduling under background execution limits, ensuring seamless execution without excessive user notification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If background execution limits are imposed to conserve computing resources, then battery life and system performance are improved, but service execution reliability deteriorates

Engineering Contradiction:
Improvebattery consumptionVSAvoidservice execution reliability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system dynamically adjusts service execution behavior based on foreground/background state. When in foreground mode, services execute normally with full resource access. When transitioning to background, the system dynamically modifies execution parameters by queuing service intents and delaying actual execution until foreground conditions return, thus adapting resource consumption to current system state while maintaining service functionality.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The service manager preemptively queues service intents before background execution limits are enforced. Instead of attempting to start services directly (which would fail under background limits), the system preliminarily prepares service requests in a queue, ensuring they are ready to execute immediately when foreground conditions are restored, thereby maintaining service execution reliability without violating background execution constraints.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If foreground services are started to ensure service execution, then service reliability is improved, but user distraction increases due to foreground notifications

Engineering Contradiction:
Improveservice execution reliabilityVSAvoiduser distraction
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system applies different execution qualities to different service intents based on their priority and type. High-priority services that require immediate execution can trigger foreground mode with appropriate notifications, while low-priority services are queued for deferred execution without user notification. This local differentiation allows the system to maintain service reliability for critical functions while avoiding unnecessary user distraction for non-critical services.

Inventive Principle:
Principle #3Local quality

3Object-affected harmful factors

If services are queued for later execution to avoid foreground notifications, then user experience is improved, but service execution speed deteriorates

Engineering Contradiction:
Improveuser distractionVSAvoidservice execution speed
Core Design Contradiction:
Object-affected harmful factorsVSSpeed

Solution Approach 1:

The system implements periodic checking of foreground/background state conditions. The service manager continuously monitors whether the application has returned to foreground mode and periodically attempts to process queued service intents. When foreground conditions are detected, the system immediately processes accumulated service requests, providing burst execution capability that maintains overall service speed while avoiding continuous foreground notification during background periods.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11455185B2Service schedule optimization for background execution limits
Publication Date: 2022.09.27 OMNISSA LLC
  • US11455185B2 patent drawing
  • US11455185B2 patent drawing
  • US11455185B2 patent drawing

AI summary

Scheduling optimizations for services are described. In one example, a priority category, such as a high, low, or other priority category, can be determined for a service of an application executing on a computing device. If the application is running as a background application on the computing device, an exception to the start of the service can be returned by the operating system of the device, due to background execution limits on the device. In that case, the start of the service can be managed by a service manager of the application based on the priority category for the service. If the priority category for the service is high, the background application can call a foreground service. The call for the foreground service can bring the application to the foreground, and the service manager can again call for the start of the service after the foreground service is running.