Dynamic Web Resource Packaging for Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complex web pages assembled dynamically at a client with multiple resource fetches from various endpoints result in high latencies and increased network data consumption, with static packaging leading to inefficiencies due to 'over push' conditions and lack of a single optimal package for all clients.
Innovation Solution
A computing device receives a manifest from a proxy device identifying resources for a web page, modifies it to exclude cached resources, and sends it back to the proxy, which then delivers a single package of resources not already cached, optimizing network traffic and reducing latency by aggregating requests into one or two HTTP requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If static packaging is used to deliver pre-packaged content, then network data consumption is reduced, but over push conditions occur where clients download resources already present or need to fetch additional resources from origin sites
Solution Approach 1:
The patent transforms static packaging into dynamic packaging by enabling the package composition to change based on client-specific factors. The system dynamically determines which resources to include in each package based on the client's cached resources, device characteristics, and requested web page, ensuring each client receives a customized package that avoids over-push conditions while maximizing resource delivery efficiency.
Solution Approach 2:
The patent changes the parameters of package composition by incorporating client-specific variables such as cached resource identifiers, device type, network conditions, and web page characteristics. These parameter changes enable the system to adapt the package contents to each client's specific situation, resolving the contradiction between reducing network data consumption and providing package customization.
2Reliability
If multiple resources are fetched from multiple endpoints to assemble web pages dynamically, then resource availability is improved, but latencies increase and network data consumption increases
Solution Approach 1:
The patent merges multiple resource fetch operations into a single consolidated package delivery. Instead of requiring the client to fetch multiple resources from multiple endpoints separately, the proxy server aggregates the necessary resources into one package and delivers it in a single network transaction, thereby maintaining resource availability while dramatically reducing latency and the number of network requests.
Solution Approach 2:
The patent applies preliminary action by pre-assembling resource packages at the proxy server before the client needs them. The system prepares the customized package containing all necessary resources in advance, so when the client requests a web page, the resources are already packaged and ready for immediate delivery, eliminating the need for the client to perform multiple separate fetch operations.
3Ease of manufacture
If static packages are used, then implementation simplicity is maintained, but no single optimal package exists for every client due to different client configurations and states
Solution Approach 1:
The patent implements self-service by enabling the client to provide information about its cached resources and characteristics to the proxy server. The client sends a request that includes identifiers of resources already cached, allowing the proxy server to automatically determine the optimal package contents without manual intervention. This self-service mechanism maintains implementation simplicity while achieving customized package optimization for each client.
Data Source
AI summary
Embodiments optimize web page downloads through a customized manifest to reduce latency and network data consumption. A proxy device creates or selects a pre-defined manifest identifying page resources associated with the web page. The manifest is customized by identifying the page resources already cached on a computing device. A single package of resources representing the web page is created. The single package of resources excludes the identified page resources already cached on the computing device. The computing device renders the web page using the single package and the page resources already cached. Some embodiments perform web crawling to create manifests for other web pages.


