Background Program Execution via Segmented Child Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer systems face a user experience issue where long-latency program instructions, such as downloading large files, cease to execute when a web application is backgrounded, as environments like WebView do not support continuous execution in the background, leading to a poor user experience.

Innovation Solution

The implementation of a parent environment that spawns a second child environment, such as a JavaScriptCore environment, to continue executing program instructions even when the client application is backgrounded, allowing long-latency operations to complete without user intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a web application is backgrounded in a WebView environment, then the application switches to another application in the foreground, but long-latency program instructions cease to execute in the background

Engineering Contradiction:
Improveapplication switchingVSAvoidcontinuous execution of program instructions
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments the execution environment into a WebView for UI rendering and a separate JavaScriptCore environment for executing long-latency program instructions. This segmentation allows the WebView to be backgrounded while the JavaScriptCore continues executing instructions, resolving the contradiction between application switching and continuous execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where the WebView communicates execution requests to the JavaScriptCore environment. The JavaScriptCore acts as a mediator that maintains continuous execution of long-latency instructions independently from the WebView's foreground/background state, enabling reliable background execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If long-latency program instructions are executed in a WebView environment, then web application functionality is provided, but execution stops when the application is backgrounded

Engineering Contradiction:
Improveweb application functionalityVSAvoidexecution duration of program instructions
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of moving object

Solution Approach 1:

The system separates the execution context into two independent environments: WebView for handling web application functionality and JavaScriptCore for maintaining long-latency instruction execution. This allows the program instructions to execute continuously regardless of WebView state changes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system preliminarily establishes a JavaScriptCore execution environment that is specifically configured to maintain continuous execution of long-latency instructions. This pre-configured environment ensures that when the WebView is backgrounded, the instructions continue executing without interruption.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the application remains in the foreground to maintain execution, then program instructions continue to execute, but user interface responsiveness is reduced

Engineering Contradiction:
Improvecontinuous executionVSAvoiduser interface responsiveness
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the application into UI rendering (WebView) and execution maintenance (JavaScriptCore) components. This allows the WebView to remain responsive to user interactions while the JavaScriptCore independently maintains continuous execution of program instructions, resolving the trade-off between reliability and responsiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The JavaScriptCore environment serves as an intermediary that handles the execution maintenance task, freeing the WebView from the burden of maintaining continuous execution. This mediator approach allows the UI to remain fully responsive while execution reliability is maintained by the specialized JavaScriptCore environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11625265B2Enabling execution of program instructions in the background
Publication Date: 2023.04.11 SALESFORCE INC
  • US11625265B2 patent drawing
  • US11625265B2 patent drawing
  • US11625265B2 patent drawing

AI summary

Techniques are disclosed relating to the execution of a set of program instructions in the background. A parent environment of an application executing on a computer system may receive a request from a first child environment within the parent environment to execute a set of program instructions. The first child environment does not permit the set of program instructions to be executed within the first child environment while the application is backgrounded. In response to the request, the parent environment may spawn a second child environment within the parent environment that permits the set of program instructions to be executed while the application is backgrounded. The parent environment may cause the set of program instructions to be executed within the second child environment and may return a result of the executing to the first child environment.