Web Page Loading Optimization via Chunked DOM Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing web page loading techniques, such as object inlining, reduce HTTP requests but lead to increased bandwidth consumption during page updates and limit cacheability, resulting in slower load times and user dissatisfaction.

Innovation Solution

An enhanced web server breaks HTML documents with embedded script and style files into chunks, using client-side DOM storage to determine which chunks are already cached, and only sends missing chunks, allowing browsers to cache previously uncachable objects and reducing HTTP requests and bandwidth usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If object inlining is used to reduce HTTP requests, then the number of HTTP requests is reduced, but bandwidth consumption increases during page updates

Engineering Contradiction:
ImproveHTTP request reductionVSAvoidbandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent segments the inlined HTML document into multiple chunks (e.g., first chunk, second chunk, third chunk) that can be independently cached and retrieved. This allows the browser to store portions of the document in DOM storage and only fetch updated chunks on subsequent requests, reducing bandwidth consumption while maintaining the benefits of inlining.

Inventive Principle:
Principle #1Segmentation

2Productivity

If object inlining is used to reduce HTTP requests, then the number of HTTP requests is reduced, but cacheability is limited

Engineering Contradiction:
ImproveHTTP request reductionVSAvoidcacheability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By dividing the inlined document into discrete chunks, the patent enables individual chunks to be cached in DOM storage. This segmentation restores cacheability to inlined objects, allowing browsers to retain and serve cached portions of the document on subsequent requests.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces DOM storage as an intermediary caching mechanism between the server and browser. This intermediary allows cached chunks to be stored and retrieved, enabling the browser to reduce HTTP requests while maintaining effective caching of inlined objects.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all inlined objects are re-fetched on revisits, then cacheability is maintained, but bandwidth consumption increases

Engineering Contradiction:
ImprovecacheabilityVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent segments the inlined document into chunks that can be selectively re-fetched. When a page is revisited, the browser can check which chunks are already cached in DOM storage and only re-fetch the updated chunks, rather than re-fetching all inlined objects, thus reducing bandwidth consumption while maintaining cacheability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9077681B2Page loading optimization using page-maintained cache
Publication Date: 2015.07.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9077681B2 patent drawing
  • US9077681B2 patent drawing
  • US9077681B2 patent drawing

AI summary

Web page loading time may be decreased with the use of a page-maintained storage cache on a client device. In various implementations, a server may receive a request for a web page from a web browser that is on the client device. The server may provide a chunk reassembler to the client device that determines whether any chunks in the web page are already stored on the client device. Subsequently, the server may send one or more chunk of the web page to the client device when the chunk reassembler determines that the one or more chunks of the web page are missing from the client device. The chunk reassembler may then instruct the web browser to assemble the one or more received chunks with the one or more chunks that are stored on the client device into the web page for presentation on the client device.