Client Resource Manager for Structured Document Rendering
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If resources are frequently re-fetched from the server due to cache eviction, then resource freshness is improved, but bandwidth consumption increases
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.
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.
Data Source
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.


