US2019222667A1PendingUtilityA1

Speculative prefetch of resources across page loads

56
Assignee: INSTART LOGIC INCPriority: Jan 21, 2016Filed: Mar 27, 2019Published: Jul 18, 2019
Est. expiryJan 21, 2036(~9.5 yrs left)· nominal 20-yr term from priority
G06F 16/9574H04L 67/02H04L 67/2847G06F 17/2247H04L 67/5681G06F 40/143
56
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A plurality of sets of information is received, wherein each set of information indicates dependent resources of a corresponding referred web content, wherein each set of information is collected in response to the corresponding referred web content having been loaded on one of one or more client devices. The received sets of information associated with the corresponding referred web content are used to update a list of candidate prefetchable resources for a referring web content that refers to the corresponding referred web content. A request requesting for a list of prefetchable resources is received from a requestor, wherein the request is associated with loading the referring web content on the requestor's client device. One or more resources from the list of candidate prefetchable resources are selected as prefetchable resources based on one or more criteria. One or more identifiers identifying the one or more selected resources are sent.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for identifying prefetchable resources, comprising:
 receiving a plurality of sets of information, wherein each set of information indicates dependent resources of a corresponding referred web content, wherein each set of information is collected in response to the corresponding referred web content having been loaded on one of one or more client devices;   using the received sets of information associated with the corresponding referred web content to update a list of candidate prefetchable resources for a referring web content that refers to the corresponding referred web content;   receiving, from a requestor on a client device, a request requesting for a list of prefetchable resources, wherein the request is associated with loading the referring web content on the client device;   selecting one or more resources from the list of candidate prefetchable resources as prefetchable resources associated with the referring web content based on one or more criteria; and   sending to the requestor one or more identifiers identifying the one or more selected resources.   
     
     
         2 . The method of  claim 1 , further comprising:
 for each of the one or more client devices:
 injecting a virtualization client on a web browser running on the client device by adding JavaScript client code to a webpage, wherein the webpage is sent to the web browser, and wherein each set of information collected on the client device is collected by the virtualization client, and wherein the virtualization client comprises the requestor. 
   
     
     
         3 . The method of  claim 1 , wherein each set of information is collected after the webpage has completed loading. 
     
     
         4 . The method of  claim 1 , wherein each set of information is collected by accessing the PerformanceResourceTiming API. 
     
     
         5 . The method of  claim 1 , wherein each set of information includes identifiers of the dependent resources, a start and an end loading time corresponding to each dependent resource, and an identifier of the referring web content. 
     
     
         6 . The method of  claim 1 , wherein the plurality of sets of information is received from a publish-subscribe messaging system that stores the sets of information sent from the one or more client devices. 
     
     
         7 . The method of  claim 1 , wherein selecting the one or more resources further comprises:
 for a resource on the list of candidate prefetchable resources:
 determining a probability of the resource being a dependent resource that will need to be downloaded to a web browser of the client device when the web browser transits from the referring web content to one or more subsequent referred web content; and 
 comparing the probability with a predetermined threshold percentage and selecting the resource in the event that the probability is above the predetermined threshold percentage, wherein one of the one or more criteria requires that the probability be above the predetermined threshold percentage. 
   
     
     
         8 . The method of  claim 1 , further comprising: filtering a resource from being selected as a prefetchable resource in the event that the resource is determined to be a non-cacheable resource. 
     
     
         9 . The method of  claim 1 , further comprising:
 determining, among the list of candidate prefetchable resources for the referring web content, a plurality of resources that forms a critical path, wherein the plurality of resources forming the critical path comprises a sequence of resources that are sequentially downloaded and that take the longest total time to download, and wherein the total time to download the plurality of resources forming the critical path is determined based on the sets of information.   
     
     
         10 . The method of  claim 9 , wherein selecting the one or more resources further comprises:
 for a resource on the list of candidate prefetchable resources:
 determining whether the resource is one of the resources forming the critical path, and selecting the resource in the event that the resource is one of the resources forming the critical path, wherein one of the one or more criteria requires that the selected resource be forming the critical path. 
   
     
     
         11 . A system for identifying prefetchable resources, comprising:
 a processor configured to:
 receive a plurality of sets of information, wherein each set of information indicates dependent resources of a corresponding referred web content, wherein each set of information is collected in response to the corresponding referred web content having been loaded on one of one or more client devices; 
 use the received sets of information associated with the corresponding referred web content to update a list of candidate prefetchable resources for a referring web content that refers to the corresponding referred web content; 
 receive, from a requestor on a client device, a request requesting for a list of prefetchable resources, wherein the request is associated with loading the referring web content on the client device 
 select one or more resources from the list of candidate prefetchable resources as prefetchable resources associated with the referring web content based on one or more criteria; and 
 send to the requestor one or more identifiers identifying the one or more selected resources; and 
   a memory coupled to the processor and configured to provide the processor with instructions.   
     
     
         12 . The system of  claim 11 , the processor is further configured to:
 for each of the one or more client devices:
 inject a virtualization client on a web browser running on the client device by adding JavaScript client code to a webpage, wherein the webpage is sent to the web browser, and wherein each set of information collected on the client device is collected by the virtualization client, and wherein the virtualization client comprises the requestor. 
   
     
     
         13 . The system of  claim 11 , wherein each set of information is collected after the webpage has completed loading. 
     
     
         14 . The system of  claim 11 , wherein each set of information is collected by accessing the PerformanceResourceTiming API. 
     
     
         15 . The system of  claim 11 , wherein each set of information includes identifiers of the dependent resources, a start and an end loading time corresponding to each dependent resource, and an identifier of the referring web content. 
     
     
         16 . The system of  claim 1 , wherein the plurality of sets of information is received from a publish-subscribe messaging system that stores the sets of information sent from the one or more client devices. 
     
     
         17 . The system of  claim 11 , wherein selecting the one or more resources further comprises:
 for a resource on the list of candidate prefetchable resources:
 determining a probability of the resource being a dependent resource that will need to be downloaded to a web browser of the client device when the web browser transits from the referring web content to one or more subsequent referred web content; and 
 comparing the probability with a predetermined threshold percentage and selecting the resource in the event that the probability is above the predetermined threshold percentage, wherein one of the one or more criteria requires that the probability be above the predetermined threshold percentage. 
   
     
     
         18 . The system of  claim 11 , wherein the processor is further configured to:
 filter a resource from being selected as a prefetchable resource in the event that the resource is determined to be a non-cacheable resource.   
     
     
         19 . The system of  claim 11 , wherein the processor is further configured to:
 determine, among the list of candidate prefetchable resources for the referring web content, a plurality of resources that forms a critical path, wherein the plurality of resources forming the critical path comprises a sequence of resources that are sequentially downloaded and that take the longest total time to download, and wherein the total time to download the critical path is determined based on the sets of information.   
     
     
         20 . The system of  claim 19 , wherein selecting the one or more resources further comprises:
 for a resource on the list of candidate prefetchable resources:
 determining whether the resource is one of the resources forming the critical path, and selecting the resource in the event that the resource is one of the resources forming the critical path, wherein one of the one or more criteria requires that the selected resource be forming the critical path. 
   
     
     
         21 . A computer program product for identifying prefetchable resources, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:
 receiving a plurality of sets of information, wherein each set of information indicates dependent resources of a corresponding referred web content, wherein each set of information is collected in response to the corresponding referred web content having been loaded on one of one or more client devices;   using the received sets of information associated with the corresponding referred web content to update a list of candidate prefetchable resources for a referring web content that refers to the corresponding referred web content;   receiving, from a requestor on a client device, a request requesting for a list of prefetchable resources, wherein the request is associated with loading the referring web content on the client device;   selecting one or more resources from the list of candidate prefetchable resources as prefetchable resources associated with the referring web content based on one or more criteria; and   sending to the requestor one or more identifiers identifying the one or more selected resources.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.