Prefetching System Using User History Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

HTTP prefetching systems often incorrectly prefetch objects, wasting resources and failing to identify necessary objects, leading to slower user experiences due to incorrect models and exceptions in predicting user selections.

Innovation Solution

A system that dynamically tracks web page transactions to analyze real user usage data, associating parameters with child HTTP requests and using a history of prefetching success to weight priorities for prefetching, ensuring that only relevant objects are prefetched based on observed correlations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If HTTP prefetching systems pre-request content based on predictions about future user selections, then network transaction time is reduced, but resources are wasted prefetching incorrect objects

Engineering Contradiction:
Improvenetwork transaction timeVSAvoidresource waste
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The system analyzes actual user selections and prefetching outcomes to refine prediction models. By feedback loops that compare predicted objects with actual user requests, the system continuously improves its accuracy in predicting which objects to prefetch, reducing both time loss and resource waste.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts prefetching parameters such as prediction thresholds, object selection criteria, and prefetch timing based on observed user behavior patterns. This adaptive parameter adjustment allows the system to optimize the balance between prefetching accuracy and resource utilization.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If prefetchers request all objects embedded in webpages in anticipation of user requests, then user experience is improved, but incorrect objects are prefetched repeatedly based on incorrect models

Engineering Contradiction:
Improveuser experienceVSAvoidprefetch accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system replaces rigid mechanical prefetching rules with adaptive machine learning models that analyze user behavior patterns. This substitution allows the system to dynamically determine which objects are most likely to be requested based on actual user interactions rather than static prediction algorithms.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The prefetching system serves itself by automatically learning from user interactions and refining its own prediction models. The system uses observed user selections to self-correct and improve its object prediction accuracy without external intervention.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If prefetchers use fixed rules for determining when to prefetch objects, then implementation is simple, but exceptions to the rule result in resource waste

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprefetch efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system transitions from static fixed rules to dynamic adaptive prediction models that automatically adjust to changing user behavior patterns. This dynamic approach allows the system to handle exceptions and edge cases effectively while maintaining high prefetch efficiency across diverse usage scenarios.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9456050B1Browser optimization through user history analysis
Publication Date: 2016.09.27 SNAPPI INC
  • US9456050B1 patent drawing
  • US9456050B1 patent drawing
  • US9456050B1 patent drawing

AI summary

The present invention relates to systems, apparatus, and methods of using real user history data to improve prefetching for a web page transaction. In one potential embodiment a method includes a proxy server observing a first web page transaction that has a first root HTTP request, a first root HTTP response, at least one child HTTP request, and at least one child HTTP response. The server may then extract a parameter from the web page transaction and correlating the parameter with the child HTTP request. In a later web page transaction, the parameter may be used to predict the child HTTP being requested even when the web page transactions are different.