Server Push Optimization Using Resource Timing Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current approaches for using server push mechanisms, such as HTTP 2.0, often result in wasted bandwidth and inefficiency due to incorrect predictions about which resources to push to clients, as they may already have cached resources or not be needed for the current page load or transaction.
Innovation Solution
Utilizing Resource Timing (RT) data to identify and prioritize resources for server push by calculating a score based on frequency, load time, and sequence, and applying thresholding to determine which resources to pre-push, thereby optimizing page load times and reducing waste.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If server push mechanisms are used to deliver resources to clients, then page load times are improved, but bandwidth is wasted when clients already have cached resources or do not need the pushed resources
Solution Approach 1:
The system collects Resource Timing (RT) data from actual client page loads to measure real performance metrics. This feedback loop enables the system to identify which resources actually contribute to page load time and push only those resources that will genuinely improve performance, avoiding waste of bandwidth on already-cached or unnecessary resources.
Solution Approach 2:
The system performs preliminary analysis of RT data to identify high-impact resources before pushing them to clients. By calculating scores based on frequency, load time, and sequence metrics in advance, the system prepares optimized push lists that target only the most beneficial resources, delivering them proactively during idle times to reduce page load time without wasting bandwidth.
2Productivity
If more resources are pushed to clients, then page load performance is improved, but browser cache is displaced with potentially unnecessary resources
Solution Approach 1:
The system changes the parameters used to select resources for pushing by incorporating three specific metrics from RT data: frequency (how often a resource is loaded), load time (how long the resource takes to load), and sequence (the order in which resources are loaded). Resources are scored and ranked based on these parameters, and only high-scoring resources are pushed, ensuring that cache displacement only occurs for resources that provide measurable performance benefit.
3Speed
If server push is used during active loading, then resource delivery is faster, but network congestion increases
Solution Approach 1:
Instead of continuously pushing resources during active loading, the system uses periodic action by identifying idle times between page loads and pushing resources during these intervals. This approach maintains fast resource delivery by utilizing available network capacity during idle periods while avoiding the harmful effect of network congestion that would result from pushing during active loading operations.
Data Source
AI summary
This patent document describes, among other things, methods and systems for determining which if any page resources a server might push to a client (using, e.g., an HTTP 2.0 server push mechanism). The approaches described herein improve web page load times by pushing page resources that a client is likely to need to render the base page, while reducing wasteful server pushes of resources that the client is unlikely to request from the server because, for example, they are already cached at the client.


