Dynamic Web Resource Packaging for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenetwork data consumptionVSAvoidpackage customization for different clients
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveresource availabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvepackage creation simplicityVSAvoidweb page rendering efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9282137B2Dynamic package creation for predictive page load optimization
Publication Date: 2016.03.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9282137B2 patent drawing
  • US9282137B2 patent drawing
  • US9282137B2 patent drawing

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.