Web Browser Speculative Resource Prefetching for Load Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional web browsers fail to fully utilize the multiprocessing capabilities of modern mobile devices, leading to slow document load speeds and high latency times when loading webpages, as they sequentially parse and download external resources without identifying required resources until the entire document is analyzed.
Innovation Solution
The method involves parallel processing and speculative resource prefetching, where an HTML document is scanned concurrently with an HTML parser to identify and download external resources, using heuristics to predict required resources and initiate prefetching, thereby overlapping transfer latencies and improving bandwidth utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional web browsers sequentially parse and download external resources, then the processing is simple and reliable, but the document load speed is slow and latency time is high
Solution Approach 1:
The patent divides the resource discovery and downloading process into multiple independent processes: an HTML parser process that parses HTML documents, a CSS parser process that processes CSS style sheets, and a resource downloader process that downloads external resources. These processes operate concurrently rather than sequentially, significantly improving document load speed while managing complexity through process specialization.
Solution Approach 2:
The patent implements speculative resource prefetching where the resource downloader proactively downloads external resources before they are strictly needed. The system predicts which resources are likely to be required and initiates their download in advance, overlapping the transfer latency with other processing operations. This preliminary action reduces the overall time to load and render webpages.
2Loss of time
If the browser sequentially analyzes the entire document before identifying required resources, then the accuracy of resource identification is high, but the time to load resources is extended
Solution Approach 1:
The patent performs preliminary scanning of HTML documents and CSS style sheets to identify external resources before complete parsing is finished. The HTML parser and CSS parser concurrently scan their respective documents, building lists of required resources in advance. This allows the system to start downloading resources earlier without waiting for complete document analysis.
Solution Approach 2:
The patent uses feedback mechanisms where the HTML parser and CSS parser continuously update the resource downloader about discovered external resources. As each parser encounters resource references, it feeds this information back to the downloader, which then initiates downloads. This feedback loop enables dynamic adaptation to actual document content while maintaining parallel processing.
3Productivity
If multiple processes scan documents simultaneously, then resource utilization is optimized and load time is reduced, but the coordination complexity increases
Solution Approach 1:
The patent segments the document processing workload into distinct processes: an HTML parser process for parsing HTML documents, a CSS parser process for processing CSS style sheets, and a resource downloader process for downloading external resources. Each process has a specific function and operates independently, reducing coordination complexity while improving overall productivity through parallel execution.
Solution Approach 2:
The patent implements a universal resource manager that coordinates all parsing and downloading operations. This central coordinator handles the complexity of managing multiple concurrent processes, allocating resources, and synchronizing operations. The resource manager provides a single point of coordination that simplifies the overall system architecture despite the parallel processing complexity.
Data Source
AI summary
Browser systems and methods of loading/rendering a webpage include preprocessing the web document (HTML page) using speculation/prediction techniques to identify the resources that are likely to be required from an incomplete set of information, and requesting/pre-fetching the resources that are determined to have a high probability of being required for proper rending of the web document. The speculation/prediction techniques may include the use of heuristics to improve the efficiency and speed of document loads and network communications.


