Client Resource Manager for Structured Document Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limited capacity of web browsers' caches leads to frequent displacement of cached resources, resulting in delayed rendering of web pages due to the need for numerous individual requests to fetch resources not stored locally, which consumes bandwidth and affects performance.

Innovation Solution

Implementing a resource manager at the remote client device that utilizes Local Storage, independent from the browser's cache, to store and manage resources, allowing for efficient retrieval and bundling of requests for resources needed to render structured documents, thereby reducing the number of requests to the server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If resources are stored in the web browser's cache, then resource retrieval speed is improved, but the cache memory is quickly filled and resources are displaced due to limited capacity

Engineering Contradiction:
Improveresource retrieval speedVSAvoidcache capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent transitions from using the browser's volatile cache memory to using the device's persistent Local Storage, effectively moving resource storage to a different memory dimension with vastly larger capacity. This allows resources to be stored long-term without displacing other cache contents, resolving the capacity limitation while maintaining fast retrieval speeds.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The system performs preliminary actions by storing resources in Local Storage immediately when they are first cached in the browser cache. This dual-storage approach ensures that resources are pre-positioned in both the fast-access cache and the large-capacity persistent storage, so that when cache eviction occurs, the resources can be quickly retrieved from Local Storage without waiting for network re-fetching.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If individual requests are sent for each resource not stored locally, then resource completeness is improved, but bandwidth usage increases and rendering is delayed

Engineering Contradiction:
Improveresource completenessVSAvoidrendering delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple individual resource requests into a single bundled request by collecting all required resource identifiers from the document's resource list and transmitting them together in one network call. This reduces the number of round-trips from potentially dozens of individual requests to just one consolidated request, dramatically reducing rendering delay while ensuring all necessary resources are retrieved for complete document rendering.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary analysis of the document's resource list to identify all required resources before making network requests. By pre-calculating which resources are needed and bundling them in a single request, the system eliminates the sequential overhead of individual requests while ensuring resource completeness, thus resolving the contradiction between reliability and time loss.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If resources are frequently re-fetched from the server due to cache eviction, then resource freshness is improved, but bandwidth consumption increases

Engineering Contradiction:
Improveresource freshnessVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the system monitors which resources are evicted from the browser cache and automatically re-stores them in Local Storage. This feedback loop ensures that frequently accessed resources are maintained in the persistent storage, reducing the need for repeated network re-fetches and thereby lowering bandwidth consumption while maintaining resource freshness through selective re-caching.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the storage parameter from volatile cache memory to persistent Local Storage, fundamentally altering how resources are retained. This parameter change allows resources to survive beyond the browser's cache eviction policies, reducing the frequency of re-fetches from the server and consequently reducing bandwidth consumption while maintaining up-to-date resources through periodic validation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8676978B2Efficient storage and retrieval of resources for rendering structured documents
Publication Date: 2014.03.18 META PLATFORMS INC
  • US8676978B2 patent drawing
  • US8676978B2 patent drawing
  • US8676978B2 patent drawing

AI summary

In one embodiment, a method includes accessing a resource list associated with a structured document loaded by a client application executing within a client device; identifying a first set of resources referenced in the resource list that are stored within a storage space of the client device; retrieving the first set of resources from the storage space; loading the first set of resources into a model representation of the structured document generated by a client document-rendering application for rendering by the client document-rendering application; identifying a second set of resources referenced in the resource list that are not stored within the storage space of the client device; formulating and transmitting one or more requests for the second set of resources; receiving the second set of resources in response to the requests; and loading the second set of resources into the model representation for rendering by the client document-rendering application.