US2014053064A1PendingUtilityA1

Predicting the usage of document resources

Assignee: QUALCOMM INCPriority: Aug 16, 2012Filed: Dec 20, 2012Published: Feb 20, 2014
Est. expiryAug 16, 2032(~6 yrs left)· nominal 20-yr term from priority
G06F 40/103G06F 40/14G06F 16/9574G06F 40/143G06F 17/211
42
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of processing a webpage, comprising:
 scanning an HTML document by a first process to discover external resources referenced in the HTML document, the first process executing in a processor of a computing device concurrent with an HTML parser process;   invoking by the first process a downloading of a resource document for a discovered external resource, the downloading being performed while the first process continues scanning the HTML document;   scanning the downloaded resource document by a second process to discover additional external resources, the second process scanning the downloaded resource document while the first process continues scanning the HTML document;   identifying attributes of the HTML document by the first process while the second process continues scanning the downloaded resource document;   receiving, by the second process, information pertaining to the attributes identified by the first process;   determining whether to initiate downloading of discovered additional resources by the second process based on the received information; and   rendering the HTML document on an electronic display of the computing device using the downloaded resources.   
     
     
         2 . The method of  claim 1 , wherein:
 scanning an HTML document by a first process comprises scanning the HTML document by an HTML document scanner process; and   scanning the downloaded resource document by a second process comprises scanning the downloaded resource document by a cascading style sheet document scanner process.   
     
     
         3 . The method of  claim 1 , wherein determining whether to initiate downloading of discovered additional resources by the second process based on the received information comprises:
 speculating regarding external resources required for rendering the HTML document on the electronic display of the computing device.   
     
     
         4 . The method of  claim 1 , wherein scanning the downloaded resource document to discover additional external resources comprises:
 scanning a style sheet document by the second process to discover additional external resources.   
     
     
         5 . The method of  claim 4 , wherein:
 identifying attributes of the HTML document by the first process while the second process continues scanning the downloaded resource document comprises identifying by the first process HTML id, class, and style attributes associated with HTML elements included the HTML document; and   receiving information pertaining to the attributes identified by the first process comprises receiving by the second process information pertaining to the identified HTML id, class, and style attributes associated with HTML elements included the HTML document.   
     
     
         6 . The method of  claim 5 , wherein determining by the second process whether to download discovered additional resources based on the received information comprises:
 determining whether every identified HTML id, class, and style attribute associated with a style rule has already been encountered by the first process;   immediately requesting resources referenced by the style rule in response to determining that every identified HTML id, class, and style attribute associated with the style rule has already been encountered by first process; and   storing the style rule in memory in response to determining that not every identified HTML id, class, and style attribute associated with the style rule has been encountered by first process.   
     
     
         7 . The method of  claim 6 , further comprising:
 generating a notification by the first process when scanning of the HTML document is complete; and   receiving the notification by the second process.   
     
     
         8 . The method of  claim 7 , further comprising:
 retrieving the stored style rule from memory by the second process in response to the second process receiving the notification;   determining whether every HTML id, class, and style attribute has already been encountered by the first process; and   requesting resources referenced by the retrieved style rule in response to determining that every HTML id, class, and style attribute has already been encountered by the first process.   
     
     
         9 . A computing device, comprising:
 means for scanning an HTML document by a first process to discover external resources referenced in the HTML document, the first process executing concurrent with an HTML parser process;   means for invoking by the first process a downloading of a resource document for a discovered external resource, the downloading being performed while the first process continues scanning the HTML document;   means for scanning the downloaded resource document by a second process to discover additional external resources, the second process scanning the downloaded resource document while the first process continues scanning the HTML document;   means for identifying attributes of the HTML document by the first process while the second process continues scanning the downloaded resource document;   means for receiving by the second process information pertaining to the attributes identified by the first process;   means for determining whether to initiate downloading of discovered additional resources by the second process based on the received information; and   means for rendering the HTML document on an electronic display of the computing device using the downloaded resources.   
     
     
         10 . The computing device of  claim 9 , wherein:
 means for scanning an HTML document by a first process comprises means for scanning the HTML document by an HTML document scanner process; and   means for scanning the downloaded resource document by a second process comprises means for scanning the downloaded resource document by a cascading style sheet document scanner process.   
     
     
         11 . The computing device of  claim 9 , wherein means for determining whether to initiate downloading of discovered additional resources by the second process based on the received information comprises means for speculating regarding external resources required for rendering the HTML document on the electronic display. 
     
     
         12 . The computing device of  claim 9 , wherein means for scanning the downloaded resource document to discover additional external resources comprises means for scanning a style sheet document by the second process to discover additional external resources. 
     
     
         13 . The computing device of  claim 12 , wherein:
 means for identifying attributes of the HTML document by the first process while the second process continues scanning the downloaded resource document comprises means for identifying by the first process HTML id, class, and style attributes associated with HTML elements included the HTML document; and   means for receiving information pertaining to the attributes identified by the first process comprises means for receiving by the second process information pertaining to the identified HTML id, class, and style attributes associated with HTML elements included the HTML document.   
     
     
         14 . The computing device of  claim 13 , wherein means for determining by the second process whether to download discovered additional resources based on the received information comprises:
 means for determining whether every identified HTML id, class, and style attribute associated with a style rule has already been encountered by first process;   means for immediately requesting resources referenced by the style rule in response to determining that every identified HTML id, class, and style attribute associated with the style rule has already been encountered by first process; and   means for storing the style rule in memory in response to determining that not every identified HTML id, class, and style attribute associated with the style rule has been encountered by first process.   
     
     
         15 . The computing device of  claim 14 , further comprising:
 means for generating a notification by the first process when scanning of the HTML document is complete; and   means for receiving the notification by the second process.   
     
     
         16 . The computing device of  claim 15 , further comprising:
 means for retrieving the stored style rule from memory by the second process in response to the second process receiving the notification;   means for determining whether every HTML id, class, and style attribute has already been encountered by the first process; and   means for requesting resources referenced by the retrieved style rule in response to determining that every HTML id, class, and style attribute has already been encountered by the first process.   
     
     
         17 . A computing device, comprising:
 a processor configured with processor-executable instructions to perform operations comprising:
 scanning an HTML document by a first process to discover external resources referenced in the HTML document, the first process executing concurrent with an HTML parser process; 
 invoking by the first process a downloading of a resource document for a discovered external resource, the downloading being performed while the first process continues scanning the HTML document; 
 scanning the downloaded resource document by a second process to discover additional external resources, the second process scanning the downloaded resource document while the first process continues scanning the HTML document; 
 identifying attributes of the HTML document by the first process while the second process continues scanning the downloaded resource document; 
 receiving by the second process information pertaining to the attributes identified by the first process; 
 determining whether to initiate downloading of discovered additional resources by the second process based on the received information; and 
 rendering the HTML document on an electronic display of the computing device using the downloaded resources. 
   
     
     
         18 . The computing device of  claim 17 , wherein the processor is configured with processor-executable instructions such that:
 scanning an HTML document by a first process comprises scanning the HTML document by an HTML document scanner process; and   scanning the downloaded resource document by a second process comprises scanning the downloaded resource document by a cascading style sheet document scanner process.   
     
     
         19 . The computing device of  claim 17 , wherein the processor is configured with processor-executable instructions such that determining whether to initiate downloading of discovered additional resources by the second process based on the received information comprises speculating regarding external resources required for rendering the HTML document on the electronic display of the computing device. 
     
     
         20 . The computing device of  claim 17 , wherein the processor is configured with processor-executable instructions such that scanning the downloaded resource document to discover additional external resources comprises scanning a style sheet document by the second process to discover additional external resources. 
     
     
         21 . The computing device of  claim 20 , wherein the processor is configured with processor-executable instructions such that:
 identifying attributes of the HTML document by the first process while the second process continues scanning the downloaded resource document comprises identifying by the first process HTML id, class, and style attributes associated with HTML elements included the HTML document; and   receiving information pertaining to the attributes identified by the first process comprises receiving by the second process information pertaining to the identified HTML id, class, and style attributes associated with HTML elements included the HTML document.   
     
     
         22 . The computing device of  claim 21 , wherein the processor is configured with processor-executable instructions such that determining by the second process whether to download discovered additional resources based on the received information comprises:
 determining whether every identified HTML id, class, and style attribute associated with a style rule has already been encountered by first process;   immediately requesting resources referenced by the style rule in response to determining that every identified HTML id, class, and style attribute associated with the style rule has already been encountered by first process; and   storing the style rule in memory in response to determining that not every identified HTML id, class, and style attribute associated with the style rule has been encountered by first process.   
     
     
         23 . The computing device of  claim 22 , wherein the processor is configured with processor-executable instructions to perform operations further comprising:
 generating a notification by the first process when scanning of the HTML document is complete; and   receiving the notification by the second process.   
     
     
         24 . The computing device of  claim 23 , wherein the processor is configured with processor-executable instructions to perform operations further comprising:
 retrieving the stored style rule from memory by the second process in response to the second process receiving the notification;   determining whether every HTML id, class, and style attribute has already been encountered by the first process; and   requesting resources referenced by the retrieved style rule in response to determining that every HTML id, class, and style attribute has already been encountered by the first process.   
     
     
         25 . A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor to perform operations for processing a webpage, the operations comprising:
 scanning an HTML document by a first process to discover external resources referenced in the HTML document, the first process executing concurrent with an HTML parser process;   invoking by the first process a downloading of a resource document for a discovered external resource, the downloading being performed while the first process continues scanning the HTML document;   scanning the downloaded resource document by a second process to discover additional external resources, the second process scanning the downloaded resource document while the first process continues scanning the HTML document;   identifying attributes of the HTML document by the first process while the second process continues scanning the downloaded resource document;   receiving by the second process information pertaining to the attributes identified by the first process;   determining whether to initiate downloading of discovered additional resources by the second process based on the received information; and   rendering the HTML document on an electronic display of a computing device using the downloaded resources.   
     
     
         26 . The non-transitory computer readable storage medium of  claim 25 , wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that:
 scanning an HTML document by a first process comprises scanning the HTML document by an HTML document scanner process; and   scanning the downloaded resource document by a second process comprises scanning the downloaded resource document by a cascading style sheet document scanner process.   
     
     
         27 . The non-transitory computer readable storage medium of  claim 25 , wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that determining whether to initiate downloading of discovered additional resources by the second process based on the received information comprises speculating regarding external resources required for rendering the HTML document on the electronic display of the computing device. 
     
     
         28 . The non-transitory computer readable storage medium of  claim 25 , wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that scanning the downloaded resource document to discover additional external resources comprises scanning a style sheet document by the second process to discover additional external resources. 
     
     
         29 . The non-transitory computer readable storage medium of  claim 28 , wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that:
 identifying attributes of the HTML document by the first process while the second process continues scanning the downloaded resource document comprises identifying by the first process HTML id, class, and style attributes associated with HTML elements included the HTML document; and   receiving information pertaining to the attributes identified by the first process comprises receiving by the second process information pertaining to the identified HTML id, class, and style attributes associated with HTML elements included the HTML document.   
     
     
         30 . The non-transitory computer readable storage medium of  claim 29 , wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that determining by the second process whether to download discovered additional resources based on the received information comprises:
 determining whether every identified HTML id, class, and style attribute associated with a style rule has already been encountered by first process;   immediately requesting resources referenced by the style rule in response to determining that every identified HTML id, class, and style attribute associated with the style rule has already been encountered by first process; and   storing the style rule in memory in response to determining that not every identified HTML id, class, and style attribute associated with the style rule has been encountered by first process.   
     
     
         31 . The non-transitory computer readable storage medium of  claim 30 , wherein the stored processor-executable software instructions are configured to cause a processor to perform operations comprising:
 generating a notification by the first process when scanning of the HTML document is complete; and   receiving the notification by the second process.   
     
     
         32 . The non-transitory computer readable storage medium of  claim 31 , wherein the stored processor-executable software instructions are configured to cause a processor to perform operations comprising:
 retrieving the stored style rule from memory by the second process in response to the second process receiving the notification;   determining whether every HTML id, class, and style attribute has already been encountered by the first process; and   requesting resources referenced by the retrieved style rule in response to determining that every HTML id, class, and style attribute has already been encountered by the first process.

Join the waitlist — get patent alerts

Track US2014053064A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.