Sandboxed Script Engine Speculative Resource Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web browsers face challenges in efficiently rendering HTML documents on mobile devices due to serial processing of resources, leading to slow page loads and high network latency, as they sequentially download and parse resources, including JavaScript and CSS, which limits the ability to predict and pre-fetch required resources effectively.

Innovation Solution

Implementing speculative resource pre-fetching methods by using a sandboxed JavaScript engine to scan and execute select portions of scripts in parallel with browser operations, pre-fetching resources not explicitly requested in the HTML document, and applying heuristics to optimize execution and data structure size, allowing for concurrent resource downloading and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If web browsers sequentially download and parse resources including JavaScript and CSS, then resource management is simplified, but page load time increases and network latency is not effectively masked

Engineering Contradiction:
Improvepage load timeVSAvoidprocessing architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by speculatively executing JavaScript scripts before the HTML document is fully parsed to pre-fetch resources that will be needed. The browser engine identifies script tags in the HTML document and executes them in advance in a sandboxed environment, allowing the discovery of resource URLs (images, CSS, other scripts) before they are officially required by the rendering process. This speculative execution masks network latency by downloading resources ahead of time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the resource loading process into distinct phases: HTML parsing, speculative script execution, resource discovery, and resource downloading. By separating script execution from the main rendering thread and using sandboxed environments, the browser can parallelize these operations. The HTML scanner operates independently to identify scripts, while a separate process executes them speculatively, and another process handles resource downloading, effectively dividing the monolithic sequential process into concurrent segments.

Inventive Principle:
Principle #1Segmentation

2Productivity

If web browsers execute scripts in parallel with browser operations, then resource pre-fetching efficiency improves, but system resource consumption increases

Engineering Contradiction:
Improveresource pre-fetching efficiencyVSAvoidprocessor energy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by executing only select portions of JavaScript scripts that are most likely to contain resource declarations, rather than fully executing entire scripts. The sandboxed execution environment is configured to perform limited speculative execution focused on discovering resource URLs, stopping before complete script execution. This partial execution approach discovers necessary resources while consuming less processor energy than full script execution would require.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If speculative script execution is used to discover resources, then resource pre-fetching accuracy improves, but false positive resource downloads increase

Engineering Contradiction:
Improveresource prediction accuracyVSAvoidnetwork bandwidth waste
Core Design Contradiction:
Measurement precisionVSLoss of substance

Solution Approach 1:

The patent implements feedback mechanisms where the results of speculative script execution are validated against the actual HTML document parsing results. When speculative execution discovers resource URLs, the system monitors whether these resources are actually needed during the official rendering process. Resources that were speculatively downloaded but not actually used (false positives) are identified through this feedback loop, allowing the system to learn and adjust its speculative execution strategy to reduce future bandwidth waste.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9898445B2Resource prefetching via sandboxed execution
Publication Date: 2018.02.20 QUALCOMM INC
  • US9898445B2 patent drawing
  • US9898445B2 patent drawing
  • US9898445B2 patent drawing

AI summary

The aspects include browser systems and methods of loading/rendering a webpage by preprocessing scripts within the web document (HTML page) in a sandboxed script engine to discover resources not explicitly requested in the web document so such resources can be pre-fetched and downloaded speculatively. The sandboxed execution of scripts and downloading of discovered resources may proceed in parallel with the performance of other browser operations (e.g., HTML parsing) and other resource requests. The sandboxed script engine may be isolated or separated from the other browser components. The sandboxed script engine may operate to speedup the process of identifying resources inconsistent with standard script execution processes.