Opportunistic Multitasking via Dynamic Process Suspension
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Power-constrained hand-held devices struggle to support concurrent processes without degrading user experience and consuming excessive power resources, limiting multitasking capabilities to conserve energy.
Innovation Solution
Implementing a set of operational restrictions and services that allow user applications to perform background processing while minimizing impact on foreground processes and power consumption, including processor scheduling, disk access, network management, graphics operations, and memory management, to enable limited multitasking without significant negative consequences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If background processing is supported for user applications, then user experience and interactivity are improved, but power consumption increases and foreground process performance may be degraded
Solution Approach 1:
The system dynamically adjusts the execution state of background processes based on power availability and foreground process needs. Processes can transition between executing, suspended, and terminated states, allowing the system to optimize power consumption while maintaining multitasking capability when beneficial.
Solution Approach 2:
The patent changes the operational parameters of background processes by introducing execution time limits, suspension thresholds, and priority levels. These parameter adjustments allow the system to control power consumption while enabling selective multitasking under optimal conditions.
2Adaptability or versatility
If multiple concurrent processes are executed, then user interactivity and functionality are enhanced, but device performance and user experience are degraded
Solution Approach 1:
The patent segments processes into foreground and background categories with distinct execution rules. Background processes are further segmented into executable and suspended states based on system conditions, allowing selective concurrency that maintains performance while enabling multitasking.
Solution Approach 2:
The operating system acts as an intermediary that mediates between foreground and background processes. It enforces execution policies, manages process transitions, and controls resource allocation to ensure background processes do not degrade foreground user experience.
3Adaptability or versatility
If background processes are allowed to execute freely, then application functionality is improved, but interference with foreground processes and power waste occur
Solution Approach 1:
The system applies preliminary restrictions to background processes before they can interfere with foreground operations. Execution time limits, suspension policies, and priority assignments are established in advance to prevent harmful interference while allowing beneficial functionality.
Solution Approach 2:
The operating system continuously monitors system state and provides feedback to adjust background process execution. When foreground process performance degrades or power constraints are approached, the system suspends or terminates background processes to eliminate harmful effects.
Data Source
AI summary
Services for a personal electronic device are provided through which a form of background processing or multitasking is supported. The disclosed services permit user applications to take advantage of background processing without significant negative consequences to a user's experience of the foreground process or the personal electronic device's power resources. To effect the disclosed multitasking, one or more of a number of operational restrictions may be enforced. By way of example, thread priority levels may be overlapped between the foreground and background states. In addition, system resource availability may be restricted based on whether a process is receiving user input. In some instances, an application may be suspended rather than being placed into the background state. Implementation of the disclosed services may be substantially transparent to the executing user applications and, in some cases, may be performed without the user application's explicit cooperation.


