Static Resource Caching via User Behavior Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in minimizing latency when loading web pages due to the delay in accessing static resource content, as they rely on network bandwidth availability and do not efficiently pre-cache necessary resources.

Innovation Solution

A system that includes a fetcher on the user device, which communicates with a web server via an intelligent API to predict and pre-cache static resource packages based on user activity and web traffic, grouping resources into packages with varying granularity and updating them in real-time to ensure quick access to web pages with minimal latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If static resource data is cached on the user device before browser launch, then web page loading latency is reduced, but system complexity increases due to prediction algorithms and pre-fetching mechanisms

Engineering Contradiction:
Improveweb page loading latencyVSAvoidcaching system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The fetcher pre-fetches and caches static resource packages on the user device before the browser is launched, based on prediction algorithms that analyze web traffic patterns and user activities. This preliminary action ensures resources are already available locally when needed, reducing loading latency without requiring complex real-time fetching mechanisms during browser operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements self-service through automated prediction algorithms that analyze web traffic and user behaviors to autonomously determine which static resources to pre-cache. The fetcher independently manages resource identification, fetching, and caching without requiring manual configuration or complex user intervention, simplifying the overall system architecture.

Inventive Principle:
Principle #25Self-service

2Productivity

If static resources are grouped into packages with fine granularity, then caching flexibility and update efficiency improve, but memory usage and storage overhead increase

Engineering Contradiction:
Improvecaching update efficiencyVSAvoidstorage overhead
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Static resource data is segmented into multiple static resource packages with different granularities. Each package contains specific subsets of resources that can be independently managed, fetched, and updated. This segmentation allows the system to cache only necessary portions of resources, improving update efficiency while optimizing storage utilization by avoiding redundant caching of entire resource sets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different packages are assigned different levels of granularity based on local requirements. Frequently accessed or critical resources are packaged with finer granularity for efficient updates, while less critical resources use coarser granularity to reduce storage overhead. This localized optimization balances caching efficiency with storage constraints.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If prediction algorithms analyze web traffic and user activities in real-time, then accuracy of resource pre-fetching improves, but computational energy consumption increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidcomputational energy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The prediction algorithm operates periodically rather than continuously, analyzing web traffic patterns and user activities at scheduled intervals. This periodic analysis maintains prediction accuracy by regularly updating resource recommendations while significantly reducing computational energy consumption compared to real-time continuous monitoring. The fetcher executes prediction tasks at optimized intervals based on system state and resource availability.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9596312B2Static resource caching
Publication Date: 2017.03.14 META PLATFORMS INC
  • US9596312B2 patent drawing
  • US9596312B2 patent drawing
  • US9596312B2 patent drawing

AI summary

A method and system for static resource caching in a networking system are provided. The system includes a fetcher instantiated on a particular user device. The fetcher can be a browser plug-in, a separate process or a program integrated into another process on the particular user device. The fetcher downloads static resource data from a web server and groups the downloaded static resource data into a plurality of static resource packages. In some embodiments, the fetcher may predict new static resource package(s) that the particular user may need by analyzing the particular user's activities on the web server and web traffics on the particular user device. Therefore, static resource data from the web server may be effectively cached on the particular user device even before any browser is launched on the particular user device.