Client Assistant Predicting User Actions to Reduce Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a significant latency between a user clicking on a hyperlink and the document being rendered in a web browser, which can be attributed to the time taken to download and render the document, and this latency is not efficiently reduced by existing technologies.

Innovation Solution

A client assistant is implemented on the client computer to predict the user's next document selection by monitoring browsing activities and preloading or prefetching the document from the client cache or server, using content differences to update stale versions, thereby reducing the latency by initiating document retrieval before the user's mouse-up action.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the web browser waits for user click before downloading documents, then user control is maintained, but document rendering latency increases

Engineering Contradiction:
Improvedocument rendering latencyVSAvoiduser control
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The system performs preliminary actions by monitoring mouse movements and predicting the next hyperlink the user will click, then proactively initiating document downloads before the actual click occurs. This prefetching mechanism reduces rendering latency by having documents ready in advance, while still respecting user control by only downloading documents that are predicted to be requested based on actual mouse behavior patterns.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the client assistant monitors and predicts user browsing activities, then document retrieval speed improves, but system complexity increases

Engineering Contradiction:
Improvedocument retrieval speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The client assistant implements self-service by automatically monitoring mouse movements, predicting user intentions, and initiating document downloads without requiring explicit user commands. The system serves itself by using the browser's own resource tracking capabilities to make predictions and execute prefetching operations, reducing the need for complex external intervention while improving retrieval speed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system employs feedback mechanisms by continuously monitoring actual user mouse movements and comparing them against predicted selections. This feedback loop allows the client assistant to refine its prediction algorithms and adjust its prefetching behavior, improving accuracy over time while managing system complexity through iterative optimization rather than requiring overly complex initial designs.

Inventive Principle:
Principle #23Feedback

3Duration of action of moving object

If the client assistant preloads documents from server, then rendering time decreases, but network bandwidth consumption increases

Engineering Contradiction:
Improvedocument rendering timeVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Duration of action of moving objectVSQuantity of substance

Solution Approach 1:

The system applies partial action by selectively prefetching only the portion of documents that are most likely to be needed based on mouse movement predictions, rather than loading entire documents or all possible documents. This targeted approach reduces unnecessary bandwidth consumption while still achieving significant rendering time improvements for the predicted documents.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7558822B2Accelerating user interfaces by predicting user actions
Publication Date: 2009.07.07 GOOGLE LLC
  • US7558822B2 patent drawing
  • US7558822B2 patent drawing
  • US7558822B2 patent drawing

AI summary

A client assistant, sometimes called a browser helper, runs on a client computer. The client assistant monitors a user's browsing activities and infers one or more next documents that are most likely to be requested by the user. The client assistant attempts to locate a fresh copy of the inferred next document within a client cache. If a fresh copy of the inferred document is not found in the client cache, the client assistant submits a document download request to a document server.