Web Resource Cache Classification via ML Timing Clustering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

It is challenging to determine whether web browser resources are being fetched from the cache or not due to security concerns and limitations in certain web browsers, making it difficult to detect and manage inefficiencies in resource caching.

Innovation Solution

The proposed solution involves determining the duration of resources loaded during web page rendering and clustering them into cached, non-cached, and unclassified resources using machine learning techniques, allowing for accurate classification regardless of browser version or origin.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional monitoring methods are used to track resource fetching, then implementation simplicity is maintained, but measurement precision deteriorates due to inability to detect cached resources

Engineering Contradiction:
Improveresource cache detection accuracyVSAvoidmonitoring system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces a machine learning model as an intermediary between resource loading events and cache status determination. The model receives multiple input features (timing data, resource characteristics, network conditions) and processes them to predict whether a resource was fetched from cache or network, thereby achieving accurate cache detection without direct browser API access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the cache detection problem from a binary yes/no determination into a multi-parameter classification task. By analyzing multiple features including load timing, resource size, content-type, and network conditions, the system achieves precise cache status identification through changed parameter analysis rather than single-metric detection.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If machine learning clustering is applied to classify resources, then measurement precision improves for cache identification, but device complexity increases due to additional processing requirements

Engineering Contradiction:
Improvecache classification accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary data collection and feature extraction during the resource loading process itself. By gathering timing information, resource metadata, and network conditions before the actual loading completes, the system prepares classification-ready data in advance, reducing the computational burden during the actual classification phase and enabling real-time cache detection.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If resource loading duration is measured for classification, then measurement precision improves, but loss of time increases due to additional measurement overhead

Engineering Contradiction:
Improveresource status identification accuracyVSAvoidresource loading time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent leverages timing data that is naturally generated by the browser's resource loading process itself. By utilizing the inherent timing information already captured during normal resource fetching (such as start time, end time, and intermediate events), the system obtains classification features without adding external measurement overhead, thereby avoiding additional time loss.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10650079B2Resource cache classification using machine learning
Publication Date: 2020.05.12 CISCO TECHNOLOGY INC
  • US10650079B2 patent drawing
  • US10650079B2 patent drawing
  • US10650079B2 patent drawing

AI summary

In one embodiment, techniques herein determine a plurality of resources loaded during rendering of a web page on a client device, and determine a duration of time taken for each of the plurality of resources to fully load. Accordingly, the techniques herein may then cluster the plurality of resources into clusters, comprising a first cluster consisting of resources having the shortest durations of the plurality of resources and a second cluster consisting of resources having the longest durations of the plurality of resources. Those resources of the first cluster may then be classified as cached resources, while those resources of the second cluster may be classified as non-cached resources.