Background Application Foreground Transition via Interprocess Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvebattery power consumptionVSAvoidautomated testing capability
Core Design Contradiction:
Use of energy by moving objectVSExtent of automation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvemultitasking capabilityVSAvoidtesting operation
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvebattery power consumptionVSAvoidtesting productivity
Core Design Contradiction:
Use of energy by moving objectVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9378054B2Testing system with methodology for background application control
Publication Date: 2016.06.28 DROPBOX INC
  • US9378054B2 patent drawing
  • US9378054B2 patent drawing
  • US9378054B2 patent drawing

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.