Background Application Foreground Transition via Interprocess Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developers face challenges in automating the transition of applications from a background state to a foreground state on portable computing devices, as existing operating systems do not provide a programmatic way for background applications to control their own transitions, limiting the ability to automate testing of features invoked during this state change.
Innovation Solution
A testing system utilizing an interprocess communication facility allows a background application to send messages to a reflector application, which in turn triggers the operating system to transition the application from a background to a foreground state, enabling automated testing of application state transitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If the operating system allows only one application to actively execute in the foreground at a time to limit computer memory usage and conserve battery power, then energy efficiency and memory usage are improved, but the ability of background applications to programmatically foreground themselves is worsened
Solution Approach 1:
The patent introduces an intermediary mechanism (the operating system's message passing facility) that allows background applications to communicate with the foreground application or testing system. This intermediary enables automated foregrounding by having the testing system send messages to trigger state transitions, resolving the contradiction between power conservation and automation capability.
Solution Approach 2:
The patent enables background applications to essentially serve themselves by allowing them to send messages to trigger their own foreground state transitions. The application can initiate its own state change through the message passing mechanism, achieving self-service automation while respecting the operating system's power management constraints.
2Adaptability or versatility
If the operating system transitions applications to background state to allow other applications to execute, then multitasking capability is improved, but the ability to automate testing of features invoked during state change is worsened
Solution Approach 1:
The patent implements a feedback mechanism where the testing system monitors application state transitions and uses message passing to trigger and verify state changes. The system receives feedback about the application's background state and automatically sends messages to transition it to foreground state for testing, making the testing process as easy as manual operation while enabling automation.
Solution Approach 2:
The operating system's message passing facility serves as an intermediary that bridges the testing system and the application under test. This intermediary allows the testing system to control application state transitions automatically, maintaining multitasking capability while simplifying the testing operation through programmatic state management.
3Use of energy by moving object
If the operating system limits background application computation to conserve battery power, then energy efficiency is improved, but the ability to perform comprehensive testing is worsened
Solution Approach 1:
The patent applies preliminary action by having the testing system prepare test scenarios and messages in advance. The system can queue up test messages and automatically execute them when the application transitions to foreground state, ensuring comprehensive testing is performed efficiently without wasting battery power on continuous computation during background state.
Solution Approach 2:
The background application uses its limited computational resources efficiently by sending self-service messages to trigger foreground state transitions for testing. This allows the application to maintain minimal power consumption while still enabling comprehensive testing through its own self-service capability, improving overall testing productivity.
Data Source
AI summary
A testing system with methodology for background application control is described. In one embodiment, for example, a method for controlling a background application is provided that includes steps of: prior to or after a test application enters a background execution state, the test application sending a first message to a reflector application via an interprocess communication facility provided by an operating system executing the test application and the reflector application; in response to the reflector application receiving the first message, the reflector application sending a second message to the first application via the interprocess communication facility; wherein sending the second message causes the operating system to transition the test application from the background execution state to a foreground execution state.


