USRE50691EActiveUtility

Systems and methods for prefetching dynamic URLs

Assignee: VIASAT INCPriority: Aug 28, 2015Filed: Aug 26, 2016Granted: Dec 9, 2025
Est. expiryAug 28, 2035(~9.1 yrs left)· nominal 20-yr term from priority
G06F 16/9566G06F 16/95G06F 16/9574H04L 67/02
53
PatentIndex Score
0
Cited by
91
References
45
Claims

Abstract

The present disclosure relates to prefetching dynamic URLs. For example, one disclosed method includes the steps of receiving breadcrumb information from a first client device, the breadcrumb information comprising a dynamic URL, a dynamically-generated value, and an indication of a method of generating the dynamically-generated value; determining a template for the dynamic URL based on the dynamically-generated value and the method of generating the dynamically-generated value; receiving a request for a hint for the URL; and in response to receiving the request for the hint from a second client device, transmitting the template for the dynamic URL to the second client device.

Claims

exact text as granted — not AI-modified
That which is claimed is: 
     
         1 . A method comprising:
 storing breadcrumb information comprising:
 identifications of generating methods for generating dynamic values, wherein the generating methods in the breadcrumb information each correspond to a different function, and 
 for each of the generating methods, at least one dynamic value generated by the generating method, wherein each of the dynamic values in the breadcrumb information is a value returned by a call to one of the functions; 
   receiving a dynamic URLfrom a first client device, the dynamic URL comprising a first dynamically-generated value;   determining a template for generating the a dynamic URL based on the a first dynamically-generated value included in the dynamic URL and the breadcrumb information, wherein the determining a the template comprises:
 identifying a static portion of the dynamic URL, and 
 matching the dynamically-generated value of the dynamic URL with a value or a transformation of a value in the breadcrumb information returned by one of the functions, 
 wherein the template comprises the identified static portion and the one of the functions; and 
   transmitting the template to a second client device in response to a request for hinting information corresponding to the dynamic URL.   
     
     
         2 . The method of  claim 1 , wherein the determining a template comprises:
 finding in the dynamic URL a static portion, and   identifying one of the generating methods in the breadcrumb information that corresponds to a method that generated the first dynamically-generated value of the dynamic URL,   the template comprising the static portion and an identification of the one of the generating methods.   
     
     
         3 . The method of  claim 1 , wherein the breadcrumb information further comprises cache hit information associated with one or more templates, the method further comprising validating at least one template based on the cache hit information. 
     
     
         4 . The method of claim  1   25 , wherein the first client device and the second client device are different client devices. 
     
     
         5 . The method of  claim 1 , wherein the determining a template comprises:
 matching the dynamically-generated value of the dynamic URL with one of the dynamic values in the breadcrumbs, and   identifying one of the generating methods in the breadcrumbs that generated the matching dynamic value.   
     
     
         6 . The method of  claim 5 , wherein the template comprises a static portion of the dynamic URL and the identified generating method. 
     
     
         7 . The method of  claim 1 , wherein the determining a template further comprises:
 identifying a transform that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified transform.   
     
     
         8 . The method of  claim 1 , wherein the determining a template further comprises:
 identifying a sequence of transforms that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified sequence of transforms.   
     
     
         9 . A device comprising:
 a storage device in which breadcrumb information is stored comprising:
 identifications of generating methods for generating dynamic values, wherein the generating methods in the breadcrumb information each correspond to a different function, and 
 for each of the generating methods, at least one dynamic value generated by the generating method, wherein each of the dynamic values in the breadcrumb information is a value returned by a call to one of the functions; and 
   a processor configured to execute processor-executable program code stored in a memory, the processor-executable program code configured to cause the processor to:
 receive a dynamic URLfrom a first client device, the dynamic URL comprising a first dynamically-generated value; 
 determine a template for generating the a dynamic URL based on the a first dynamically-generated value included in the dynamic URL and the breadcrumb information, wherein the processor-executable program code configured to cause the processor to determine a template comprises processor-executable program code configured to cause the processor to:
 identify a static portion of the dynamic URL, and 
 match the dynamically-generated value of the dynamic URL with a value or a transformation of a value in the breadcrumb information returned by one of the functions, 
 wherein the template comprises the identified static portion and the one of the functions; and 
 
 transmit the template to a second client device in response to a request for hinting information corresponding to the dynamic URL. 
   
     
     
         10 . The device of  claim 9 , wherein the processor-executable program code is further configured to cause the processor to:
 find in the dynamic URL a static portion, and   identify one of the generating methods in the breadcrumb information that corresponds to a method that generated the first dynamically-generated value of the dynamic URL,   the template comprising the static portion and an identification of the one of the generating methods.   
     
     
         11 . The device of  claim 9 , wherein the breadcrumb information further comprises cache hit information associated with one or more templates, wherein the processor-executable program code is further configured to cause the processor to validate at least one template based on the cache hit information. 
     
     
         12 . The devicemethod of claim  9   26 , wherein the first client device and the second client device are different client devices. 
     
     
         13 . The device of  claim 9 , wherein the processor-executable program code is further configured to cause the processor to:
 match the dynamically-generated value of the dynamic URL with one of the dynamic values in the breadcrumbs, and   identify one of the generating methods in the breadcrumbs that generated the matching dynamic value.   
     
     
         14 . The device of  claim 13 , wherein the template comprises a static portion of the dynamic URL and the identified generating method. 
     
     
         15 . The device of  claim 9 , wherein the processor-executable program code is further configured to cause the processor to:
 identify a transform that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified transform.   
     
     
         16 . The device of  claim 9 , wherein the processor-executable program code is further configured to cause the processor to:
 identify a sequence of transforms that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified sequence of transforms.   
     
     
         17 . A non-transitory computer-readable medium comprising processor-executable program code to cause a processor to:
 receive a dynamic URLfrom a first client device, the dynamic URL comprising a first dynamically-generated value;   determine a template for generating the a dynamic URL based on the a first dynamically-generated value included in the dynamic URL and breadcrumb information comprising identifications of generating methods for generating dynamic values, wherein the generating methods in the breadcrumb information each correspond to a different function, and for each of the generating methods, at least one dynamic value generated by the generating method,   
       wherein each of the dynamic values in the breadcrumb information is a value returned by a call to one of the functions, wherein the processor-executable program code to cause a processor to determine the template comprises processor-executable program code to cause the processor to:
 identify a static portion of the dynamic URL, and 
 match the dynamically-generated value of the dynamic URL with a value in the breadcrumb information returned by one of the functions, and 
 wherein the template comprises the identified static portion and the one of the functions; and 
 transmit the template to a second client device in response to a request for hinting information corresponding to the dynamic URL. 
 
     
     
         18 . The computer-readable medium of  claim 17 , wherein the processor-executable program code is further configured to cause the processor to:
 find in the dynamic URL a static portion, and   identify one of the generating methods in the breadcrumb information that corresponds to a method that generated the first dynamically-generated value of the dynamic URL,   the template comprising the static portion and an identification of the one of the generating methods.   
     
     
         19 . The computer-readable medium of  claim 17 , wherein the breadcrumb information further comprises cache hit information associated with one or more templates, the method further comprising validating at least one template based on the cache hit information. 
     
     
         20 . The computer-readable mediummethod of claim  17   27 , wherein the first client device and the second client device are different client devices. 
     
     
         21 . The computer-readable medium of  claim 17 , wherein the processor-executable program code is further configured to cause the processor to:
 match the dynamically-generated value of the dynamic URL with one of the dynamic values in the breadcrumbs, and   identify one of the generating methods in the breadcrumbs that generated the matching dynamic value.   
     
     
         22 . The computer-readable medium of  claim 21 , wherein the template comprises a static portion of the dynamic URL and the identified generating method. 
     
     
         23 . The computer-readable medium of  claim 17 , wherein the processor-executable program code is further configured to cause the processor to:
 identify a transform that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified transform.   
     
     
         24 . The computer-readable medium of  claim 17 , wherein the processor-executable program code is further configured to cause the processor to:
 identify a sequence of transforms that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified sequence of transforms.   
     
     
       25. The method of  claim 1  further comprising:
 receiving the dynamic URL from a first client device, the dynamic URL comprising the first dynamically-generated value; and 
 transmitting the template to a second client device in response to a request for hinting information corresponding to the dynamic URL. 
 
     
     
       26. The method of  claim 25 , wherein the determining a template comprises:
 finding in the dynamic URL a static portion, and   identifying one of the generating methods in the breadcrumb information that corresponds to a method that generated the first dynamically-generated value of the dynamic URL,   the template comprising the static portion and an identification of the one of the generating methods.   
     
     
       27. The method of  claim 25 , wherein the breadcrumb information further comprises cache hit information associated with one or more templates. the method further comprising validating at least one template based on the cache hit information. 
     
     
       28. The method of  claim 25 , wherein the determining a template comprises:
 matching the dynamically-generated value of the dynamic URL with one of the dynamic values in the breadcrumbs, and   identifying one of the generating methods in the breadcrumbs that generated the matching dynamic value.   
     
     
       29. The method of  claim 28 , wherein the template comprises a static portion of the dynamic URL and the identified generating method. 
     
     
       30. The method of  claim 25 , wherein the determining a template further comprises:
 identifying a transform that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified transform.   
     
     
       31. The method of  claim 25 , wherein the determining a template further comprises:
 identifying a sequence of transforms that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically- generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified sequence of transforms.   
     
     
       32. The device of  claim 9 , wherein the processor-executable program code is further configured to cause the processor to:
 receive the dynamic URL from a first client device, the dynamic URL comprising the first dynamically-generated value; and   transmit the template to a second client device in response to a request for hinting information corresponding to the dynamic URL.   
     
     
       33. The device of  claim 32 , wherein the processor-executable program code is further configured to cause the processor to:
 find in the dynamic URL a static portion, and   identify one of the generating methods in the breadcrumb information that corresponds to a method that generated the first dynamically-generated value of the dynamic URL,   the template comprising the static portion and an identification of the one of the generating methods.   
     
     
       34. The device of  claim 32 , wherein the breadcrumb information further comprises cache hit information associated with one or more templates, wherein the processor- executable program code is further configured to cause the processor to validate at least one template based on the cache hit information. 
     
     
       35. The device of  claim 32 , wherein the processor-executable program code is further configured to cause the processor to:
 match the dynamically-generated value of the dynamic URL with one of the dynamic values in the breadcrumbs, and   identify one of the generating methods in the breadcrumbs that generated the matching dynamic value.   
     
     
       36. The device of  claim 35 , wherein the template comprises a static portion of the dynamic URL and the identified generating method. 
     
     
       37. The device of  claim 32 , wherein the processor-executable program code is further configured to cause the processor to:
 identify a transform that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified transform.   
     
     
       38. The device of  claim 32 , wherein the processor-executable program code is further configured to cause the processor to:
 identify a sequence of transforms that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified sequence of transforms.   
     
     
       39. The computer-readable medium of  claim 17 , wherein the processor-executable program code is further configured to cause the processor to:
 receive the dynamic URL from a first client device, the dynamic URL comprising the first dynamically-generated value; and   transmit the template to a second client device in response to a request for hinting information corresponding to the dynamic URL.   
     
     
       40. The computer-readable medium of  claim 39 , wherein the processor-executable program code is further configured to cause the processor to:
 find in the dynamic URL a static portion, and   identify one of the generating methods in the breadcrumb information that corresponds to a method that generated the first dynamically-generated value of the dynamic URL,   the template comprising the static portion and an identification of the one of the generating methods.   
     
     
       41. The computer-readable medium of  claim 39 , wherein the breadcrumb information further comprises cache hit information associated with one or more templates, the method further comprising validating at least one template based on the cache hit information. 
     
     
       42. The computer-readable medium of  claim 39 , wherein the processor-executable program code is further configured to cause the processor to:
 match the dynamically-generated value of the dynamic URL with one of the dynamic values in the breadcrumbs, and   identify one of the generating methods in the breadcrumbs that generated the matching dynamic value.   
     
     
       43. The computer-readable medium of  claim 42 , wherein the template comprises a static portion of the dynamic URL, and the identified generating method. 
     
     
       44. The computer-readable medium of  claim 39 , wherein the processor-executable program code is further configured to cause the processor to:
 identify a transform that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified transform.   
     
     
       45. The computer-readable medium of  claim 39 , wherein the processor-executable program code is further configured to cause the processor to:
 identify a sequence of transforms that, when applied to one of the values in the breadcrumb information, results in the transformed value that matches the dynamically-generated value of the dynamic URL,   wherein the template comprises the identified static portion, a function that corresponds to the one of the values in the breadcrumb information, and the identified sequence of transforms.

Join the waitlist — get patent alerts

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

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