Dynamic URL Prefetching with Template-Based Hint Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional prefetching systems fail to effectively prefetch dynamic URLs due to their inability to match dynamically generated URLs, as each generation creates a unique URL that does not match previous fetches, leading to inefficiencies in web page loading times.
Innovation Solution
A method involving a web browser that tracks dynamically generated information and methods used to generate these URLs (referred to as breadcrumbs) and transmits this information to a hinting server, which generates templates for dynamic URL prefetching, allowing the prefetcher to match and cache these resources for future requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional prefetching systems use static URLs for caching, then the prefetching mechanism is simple and reliable, but it fails to match dynamically generated URLs causing prefetching inefficiency
Solution Approach 1:
The patent introduces a template as an intermediary between the static URL structure and dynamic URL instances. The template contains placeholders (e.g., `{dynamic_value}`) that represent variable portions of URLs. When generating prefetch keys, the system replaces placeholders with actual dynamic values, enabling matching between prefetched resources and current requests even when URLs change dynamically. This intermediary template mechanism resolves the contradiction by providing a systematic way to handle URL variability without overwhelming complexity.
Solution Approach 2:
The patent changes the parameter representation from fixed static URLs to parameterized templates with placeholders. Instead of storing exact URL strings that may change, the system stores templates that describe URL structures. When a dynamic URL is generated, the system extracts the variable parameters and replaces them in the template to create a matching key. This parameter transformation approach enables efficient prefetching while managing URL dynamics through structured parameter substitution rather than raw string comparison.
2Reliability
If dynamic URLs are generated every time a web page is rendered, then each URL is unique and prevents caching conflicts, but the prefetching system cannot match requests to prefetched resources
Solution Approach 1:
The patent applies preliminary action by generating prefetch keys before the actual web page rendering completes. The system extracts URL templates and dynamic value patterns during the initial page load, creates corresponding prefetch keys, and stores them in advance. When the user interacts with the page or when similar pages are requested, the pre-generated keys enable rapid matching without waiting for URL generation to complete. This advance preparation reduces the time loss by performing URL analysis and key generation during the natural page load process rather than as a separate post-processing step.
3Productivity
If the prefetching system stores complete dynamic URLs, then the matching process is straightforward, but the system cannot handle URL variations and generates false negatives
Solution Approach 1:
The patent extracts the variable portions from complete dynamic URLs and separates them into distinct template components. Instead of storing the full dynamic URL as-is, the system extracts the static base URL and the dynamic value portions, then combines them into a template structure where placeholders represent the extracted variable parts. This extraction process preserves the essential URL pattern information while filtering out the specific dynamic values that cause mismatches. The resulting templates retain enough information to enable accurate matching across different dynamic URL instances without losing the structural relationships between URL components.
Data Source
AI summary
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.


