Dynamic URL Template Prefetching for Faster Web Resource Caching
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 results in a unique URL, leading to inefficiencies in web resource fetching.
Innovation Solution
A system that tracks dynamically generated URL information, referred to as breadcrumbs, and uses a hinting server to generate templates for dynamic URLs, allowing prefetchers to proactively cache resources by matching the generated URLs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional prefetching systems use static URLs for caching, then cache matching is simple and efficient, but dynamic URLs cannot be successfully fetched because each generation creates a unique URL that does not match previously fetched URLs
Solution Approach 1:
The patent segments the dynamic URL into a template portion (static structure) and a dynamically-generated value portion. The prefetching system stores only the template structure in the cache, separating it from the variable dynamic values. When a dynamic URL is encountered, the system extracts its template and matches it against cached templates, enabling cache hits without storing every possible dynamic URL variation.
Solution Approach 2:
The patent creates template copies of dynamic URLs by extracting the structural pattern from dynamically-generated URLs. Instead of caching the actual dynamic URLs themselves, the system caches simplified template representations that can match multiple instances of the same dynamic URL pattern across different page renderings.
2Reliability
If the prefetching system stores and compares complete dynamic URLs, then exact matching can be achieved, but the system becomes inefficient because each dynamic URL is unique and cannot be matched with previously fetched URLs
Solution Approach 1:
The patent extracts the template structure from complete dynamic URLs by removing the dynamically-generated value portions. This extraction process isolates the reusable structural pattern from the variable elements, allowing the system to store compact template representations that maintain matching accuracy while improving prefetching efficiency.
Solution Approach 2:
The patent performs preliminary extraction of URL templates during the page rendering process, before actual resource fetching is needed. By pre-processing URLs to identify and extract their template structures, the system prepares matching keys in advance, enabling rapid template comparison and cache lookup when dynamic URLs are subsequently encountered.
3Measurement precision
If dynamic URLs are generated uniquely for each page rendering, then URL freshness and specificity are improved, but prefetching capability deteriorates because the prefetching system cannot match requests from browsers to prefetched web resources
Solution Approach 1:
The patent makes the URL template universal by designing it to represent a class of dynamic URLs rather than a single specific instance. The template structure captures the common pattern across multiple dynamic URL generations, allowing one cached template to serve as a match key for numerous different dynamic URLs generated at different times, thereby enabling prefetching while preserving URL specificity.
Data Source
Figure 1
Figure 2
Figure 3~4
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.