Resource prefetching via sandboxed execution
First Claim
1. A method of pre-fetching resources, comprising:
- scanning an HTML document to discover a script by an HTML document scanner executing in a processor of a computing device;
invoking a script execution engine and spawning a sandboxed script execution engine in response to the HTML document scanner discovering the script, wherein;
the script execution engine;
commences compiling and executing the discovered script on the computing device concurrent with execution of the HTML document scanner and the sandboxed script execution engine; and
the sandboxed script execution engine;
executes on the computing device concurrent with the execution of the HTML document scanner and the script execution engine;
selects operations in the discovered script that are relevant to discovering external resources; and
executes only the selected operations to discover resources that are not expressly referenced in the discovered script or in the HTML document;
pre-fetching the resources by the sandboxed script execution engine issuing a request to a pre-fetcher to download the discovered resources that are not expressly referenced in the discovered script or in the html document, wherein pre-fetching the resources includes the sandboxed script execution engine pre-fetching a resource in parallel with the script execution engine executing a different script and concurrent with an execution of a browser operation; and
discarding results generated via the sandboxed script execution engine executing the selected operations of the discovered script.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
28 Claims
-
1. A method of pre-fetching resources, comprising:
-
scanning an HTML document to discover a script by an HTML document scanner executing in a processor of a computing device; invoking a script execution engine and spawning a sandboxed script execution engine in response to the HTML document scanner discovering the script, wherein; the script execution engine; commences compiling and executing the discovered script on the computing device concurrent with execution of the HTML document scanner and the sandboxed script execution engine; and the sandboxed script execution engine; executes on the computing device concurrent with the execution of the HTML document scanner and the script execution engine; selects operations in the discovered script that are relevant to discovering external resources; and executes only the selected operations to discover resources that are not expressly referenced in the discovered script or in the HTML document; pre-fetching the resources by the sandboxed script execution engine issuing a request to a pre-fetcher to download the discovered resources that are not expressly referenced in the discovered script or in the html document, wherein pre-fetching the resources includes the sandboxed script execution engine pre-fetching a resource in parallel with the script execution engine executing a different script and concurrent with an execution of a browser operation; and discarding results generated via the sandboxed script execution engine executing the selected operations of the discovered script. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device, comprising:
-
means for scanning an HTML document to discover a script by an HTML document scanner executing in a processor of the computing device; means for invoking a script execution engine and spawning a sandboxed script execution engine in response to the HTML document scanner discovering the script, wherein; the script execution engine includes; means for commencing compilation and execution of the discovered script on the computing device concurrent with execution of the HTML document scanner and the sandboxed script execution engine; and the sandboxed script execution engine includes; means for executing in the computing device concurrent with the execution of the HTML document scanner and the script execution engine; means for selecting operations in the discovered script that are relevant to discovering external resources; and means for executing only the selected operations to discover resources that are not expressly referenced in the discovered script or in the HTML document; means for pre-fetching resources by the sandboxed script execution engine issuing a request to a pre-fetcher to download the discovered resources that are not expressly referenced in the discovered script or in the HTML document, wherein pre-fetching the resources includes the sandboxed script execution engine pre-fetching a resource in parallel with the script execution engine executing a different script and concurrent with an execution of a browser operation; and means for discarding results generated via the sandboxed script execution engine executing the selected operations of the discovered script. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing device, comprising:
a processor configured with processor-executable instructions to perform operations comprising; scanning an HTML document to discover a script by an HTML document scanner; invoking a script execution engine and spawning a sandboxed script execution engine in response to the HTML document scanner discovering the script, wherein; the script execution engine; commences compiling and executing the discovered script on the computing device concurrent with execution of the HTML document scanner and the sandboxed script execution engine; and the sandboxed script execution engine; executes concurrent with the execution of the HTML document scanner and the script execution engine; selects operations in the discovered script that are relevant to discovering external resources; executes only the selected operations to discover resources that are not expressly referenced in the discovered script or in the HTML document; pre-fetching resources by the sandboxed script execution engine issuing a request to a pre-fetcher to download the discovered resources that are not expressly referenced in the discovered script or in the HTML document, wherein pre-fetching the resources includes the sandboxed script execution engine pre-fetching a resource in parallel with the script execution engine executing a different script and concurrent with an execution of a browser operation; and discarding results generated via the sandboxed script execution engine executing the selected operations of the discovered script. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
22. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor in a computing device to perform operations comprising:
-
scanning an HTML document to discover a script by an HTML document scanner; invoking a script execution engine and spawning a sandboxed script execution engine in response to the HTML document scanner discovering the script, wherein; the script execution engine; commences compiling and executing the discovered script on the computing device concurrent with execution of the HTML document scanner and the sandboxed script execution engine; and the sandboxed script execution engine; executes concurrent with the execution of the HTML document scanner and the script execution engine; selects operations in the discovered script that are relevant to discovering external resources; executes only the selected operations to discover resources that are not expressly referenced in the discovered script or in the HTML document; pre-fetching resources by the sandboxed script execution engine issuing a request to a pre-fetcher to download the discovered resources that are not expressly referenced in the discovered script or in the HTML document, wherein pre-fetching the resources includes the sandboxed script execution engine pre-fetching a resource in parallel with the script execution engine executing a different script and concurrent with an execution of a browser operation; and discarding results generated via the sandboxed script execution engine executing the selected operations of the discovered script. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification