Web Resource Management via Usage-Based Grouping and Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web-based applications face network latency issues due to the large number of resource files (e.g., JAVASCRIPT and CSS files) that need to be downloaded every time a user visits a page, leading to delays in rendering information in the browser.

Innovation Solution

Instrumenting resource files to collect usage data, generating dependencies and priorities lists, and grouping files based on co-occurrence levels, allowing for caching in a local cache pool to reduce the number of files that need to be downloaded and optimizing resource loading.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all resource files are downloaded every time a user visits a page, then complete web application functionality is ensured, but network latency increases and rendering speed decreases

Engineering Contradiction:
Improveweb application functionalityVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by collecting usage data from multiple users and pre-analyzing resource file dependencies before actual page rendering. The server generates dependency lists and priority groupings in advance, so that when a user requests a page, the system can quickly determine which resource files are actually needed rather than downloading all files. This preliminary analysis resolves the contradiction by preparing optimization data beforehand, reducing both network latency and ensuring complete functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by collecting usage data from clients about which resource files are actually accessed during web application usage. This feedback information is used to continuously refine dependency lists and priority groupings. The feedback loop allows the system to learn from actual usage patterns and optimize resource delivery accordingly, resolving the contradiction between downloading all files for reliability and reducing network latency by only downloading necessary files.

Inventive Principle:
Principle #23Feedback

2Speed

If resource files are grouped and cached based on usage data, then network latency is reduced and rendering speed improves, but system complexity increases due to dependency analysis and dynamic grouping

Engineering Contradiction:
Improverendering speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system segments resource files into distinct groups based on their dependency relationships and usage priorities. Instead of treating all resource files as a single unit, the system divides them into multiple categories (e.g., critical resources, optional resources, context-specific resources). This segmentation simplifies the caching strategy by allowing the system to download and cache only the necessary segments for each user session, reducing both network latency and the complexity of managing all files uniformly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes parameters by dynamically adjusting resource file groupings based on collected usage data. Rather than using a static caching strategy, the system modifies the grouping parameters (dependency lists, priority levels, co-occurrence patterns) based on actual usage patterns observed from multiple users. This parameter adaptation allows the system to optimize rendering speed for different user contexts while managing complexity through data-driven decisions rather than hard-coded rules.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If usage data is collected from multiple clients to generate dependency lists, then resource grouping accuracy improves, but data collection and processing overhead increases

Engineering Contradiction:
Improveresource grouping accuracyVSAvoiddata collection overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system implements universality by designing the usage data collection mechanism to serve multiple purposes simultaneously. The same data collection infrastructure is used not only for generating dependency lists but also for identifying co-occurrence patterns, determining resource priorities, and understanding user behavior patterns. This multi-functional approach improves resource grouping accuracy while minimizing additional overhead, as the data is collected once and reused for multiple optimization objectives rather than requiring separate data collection efforts for each purpose.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11275812B2Realtime feedback-based web resource management and optimization system
Publication Date: 2022.03.15 SAP SE
  • US11275812B2 patent drawing
  • US11275812B2 patent drawing
  • US11275812B2 patent drawing

AI summary

Each of a plurality of resource files can be instrumented. Thereafter, usage data of the received files is received from a plurality of clients each executing a different instance of a web application. The usage data comprises is collected by the instances of the web application when being used by a respective one of a plurality of users. A dependencies list is then generated for the resource files based on the received usage data. In addition, a priorities list is generated for the resource files using the received usage data which indicates how frequently the resource files are being used. Further, groups of resource files are generated based on co-occurrence levels of the resource files in the dependencies list and the priorities list. Later, at least a portion of the groups of resource files are transmitted to the client for caching in a local cache pool. Related apparatus, systems, techniques and articles are also described.