Processing a webpage by predicting the usage of document resources
First Claim
Patent Images
1. A method of processing a webpage, comprising:
- processing an HTML document by a first process executing in a processor of a computing device by scanning the HTML document by an HTML document scanning process to discover external resources referenced in the HTML document and attributes of the HTML document, the first process executing in the processor concurrent with an HTML parser process;
invoking by the first process executing in the processor a second process executing in the processor for processing a resource document for a discovered external resource, the second process executing in the processor being performed while the first process executing in the processor continues processing the HTML document;
scanning the resource document using a cascading style sheet document scanner process by the second process executing in the processor to discover additional external resources, the second process executing in the processor scanning the resource document while the first process executing in the processor continues processing the HTML document;
determining attributes associated with each of the discovered additional resources by the second process executing in the processor;
predicting by the second process executing in the processor whether each of the discovered additional resources are likely to be required for rendering the HTML document on an electronic display of the computing device by comparing the respective attributes associated with each of the discovered additional resources to the attributes of the HTML document by determining every HTML ID, class, and style attribute for a style rule associated with any of the discovered additional resources matches a processed HTML ID, class, and style attribute associated with HTML elements included in the HTML document processed by the first process executing in the processor;
downloading by the second process executing in the processor the discovered additional resources predicted by the second process executing in the processor to be likely to be required for rendering the HTML document on the electronic display of the computing device; and
rendering the HTML document on the electronic display of the computing device using the resource document for the discovered external resource.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
96 Citations
20 Claims
-
1. A method of processing a webpage, comprising:
-
processing an HTML document by a first process executing in a processor of a computing device by scanning the HTML document by an HTML document scanning process to discover external resources referenced in the HTML document and attributes of the HTML document, the first process executing in the processor concurrent with an HTML parser process; invoking by the first process executing in the processor a second process executing in the processor for processing a resource document for a discovered external resource, the second process executing in the processor being performed while the first process executing in the processor continues processing the HTML document; scanning the resource document using a cascading style sheet document scanner process by the second process executing in the processor to discover additional external resources, the second process executing in the processor scanning the resource document while the first process executing in the processor continues processing the HTML document; determining attributes associated with each of the discovered additional resources by the second process executing in the processor; predicting by the second process executing in the processor whether each of the discovered additional resources are likely to be required for rendering the HTML document on an electronic display of the computing device by comparing the respective attributes associated with each of the discovered additional resources to the attributes of the HTML document by determining every HTML ID, class, and style attribute for a style rule associated with any of the discovered additional resources matches a processed HTML ID, class, and style attribute associated with HTML elements included in the HTML document processed by the first process executing in the processor; downloading by the second process executing in the processor the discovered additional resources predicted by the second process executing in the processor to be likely to be required for rendering the HTML document on the electronic display of the computing device; and rendering the HTML document on the electronic display of the computing device using the resource document for the discovered external resource. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computing device, comprising:
-
means for processing an HTML document by a first process executing in the computing device by scanning the HTML document by an HTML document scanning process to discover external resources referenced in the HTML document and attributes of the HTML document, the first process executing in the computing device concurrent with an HTML parser process; means for invoking by the first process executing in the computing device a second process executing in the computing device for processing a resource document for a discovered external resource, the second process executing in the computing device being performed while the first process executing in the computing device continues processing the HTML document; means for scanning the resource document using a cascading style sheet document scanner process by the second process executing in the computing device to discover additional external resources, the second process executing in the computing device scanning the resource document while the first process executing in the computing device continues processing the HTML document; means for determining attributes associated with each of the discovered additional resources by the second process executing in the computing device; means for predicting by the second process executing in the computing device whether each of the discovered additional resources are likely to be required for rendering the HTML document on an electronic display of the computing device comprising means for comparing the respective attributes associated with each of the discovered additional resources to the attributes of the HTML document further comprising means for determining every HTML ID, class, and style attribute for a style rule associated with any of the discovered additional resources matches a processed HTML ID, class, and style attribute associated with HTML elements included in the HTML document processed by the first process executing in the computing device; means for downloading by the second process executing in the computing device the discovered additional resources predicted by the second process executing in the computing device to be likely to be required for rendering the HTML document on the electronic display of the computing device; and means for rendering the HTML document on the electronic display of the computing device using the resource document for the discovered external resource. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computing device, comprising:
-
an electronic display; and a processor coupled to the display and configured with processor-executable instructions to perform operations comprising; processing an HTML document by a first process executing in the processor y scanning the HTML document by an HTML document scanning process to discover external resources referenced in the HTML document and attributes of the HTML document, the first process executing in the processor concurrent with an HTML parser process; invoking by the first process executing in the processor a second process executing in the processor for processing a resource document for a discovered external resource, the second process executing in the processor being performed while the first process executing in the processor continues processing the HTML document; scanning the resource document using a cascading style sheet document scanner process by the second process executing in the processor to discover additional external resources, the second process executing in the processor scanning the resource document while the first process executing in the processor continues processing the HTML document; determining attributes associated with each of the discovered additional resources by the second process executing in the processor; predicting by the second process executing in the processor whether each of the discovered additional resources are likely to be required for rendering the HTML document on the electronic display by comparing the respective attributes associated with each of the discovered additional resources to the attributes of the HTML document by determining every HTML ID, class, and style attribute for a style rule associated with any of the discovered additional resources matches a processed HTML ID, class, and style attribute associated with HTML elements included in the HTML document processed by the first process executing in the processor; downloading by the second process executing in the processor the discovered additional resources predicted by the second process executing in the processor to be likely to be required for rendering the HTML document on the electronic display; and rendering the HTML document on the electronic display using the resource document for the discovered external resource. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform operations comprising:
-
processing an HTML document by a first process executing in the processor by scanning the HTML document by an HTML document scanning process to discover external resources referenced in the HTML document and attributes of the HTML document, the first process executing in the processor concurrent with an HTML parser process; invoking by the first process executing in the processor a second process executing in the processor for processing a resource document for a discovered external resource, the second process executing in the processor being performed while the first process executing in the processor continues processing the HTML document; scanning the resource document using a cascading style sheet document scanner process by the second process executing in the processor to discover additional external resources, the second process executing in the processor scanning the resource document while the first process executing in the processor continues processing the HTML document; determining attributes associated with each of the discovered additional resources by the second process executing in the processor; predicting by the second process executing in the processor whether each of the discovered additional resources are likely to be required for rendering the HTML document on an electronic display by comparing the respective attributes associated with each of the discovered additional resources to the attributes of the HTML document by determining every HTML ID, class, and style attribute for a style rule associated with any of the discovered additional resources matches a processed HTML ID, class, and style attribute associated with HTML elements included in the HTML document processed by the first process executing in the processor; downloading by the second process executing in the processor the discovered additional resources predicted by the second process executing in the processor to be likely to be required for rendering the HTML document on the electronic display; and
rendering the HTML document on the electronic display using the resource document for the discovered external resource. - View Dependent Claims (17, 18, 19, 20)
-
Specification