Anticipatory Response Pre-caching for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current caching mechanisms in networked computing systems rely on backward-looking models and require client-initiated precaching, which limits their ability to anticipate and reduce latency for future requests effectively.

Innovation Solution

A service anticipates future client requests by providing unrequested anticipatory data in the same data stream as actual responses, allowing the client to cache and use this data to reduce latency when future requests are made, while prioritizing actual response data to avoid delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the service provides anticipatory data in the same data stream as actual responses, then response latency for future requests is reduced, but the actual requested data may be delayed

Engineering Contradiction:
Improveresponse latencyVSAvoiddata transmission speed
Core Design Contradiction:
Loss of timeVSSpeed

Solution Approach 1:

The service performs preliminary actions by sending anticipatory data (data that may be requested in the future) along with the actual response data. This allows the client to have future data already cached and ready, reducing latency when those future requests are actually made. The service speculatively determines what data the client might need next and provides it in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data stream is segmented into different priority levels: actual requested data and anticipatory data. The service prioritizes transmitting actual requested data first, then sends anticipatory data in the same stream. This segmentation allows both types of data to be transmitted efficiently without one completely blocking the other.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the service prioritizes actual response data over anticipatory data, then actual requests are fulfilled without delay, but anticipatory data transmission is slowed

Engineering Contradiction:
Improverequest fulfillment reliabilityVSAvoidanticipatory data transmission efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The data stream transmission is dynamic in nature, with the service continuously adjusting what data to send based on client needs. After fulfilling an actual request, the service dynamically switches to sending anticipatory data for the next likely request, creating a rhythm of actual-anticipatory data transmission that adapts to client behavior patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The service uses feedback from actual client requests to determine what anticipatory data to send next. By analyzing the pattern of actual requests, the service can speculatively determine future needs and prioritize anticipatory data transmission accordingly, creating a feedback loop that improves both reliability and efficiency over time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8856454B2Anticipatory response pre-caching
Publication Date: 2014.10.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8856454B2 patent drawing
  • US8856454B2 patent drawing
  • US8856454B2 patent drawing

AI summary

Interaction between a client and a service in which the service responds to requests from the client. In addition to responding to specific client requests, the service also anticipates or speculates about what the client may request in the future. Rather than await the client request (that may or may not ultimately be made), the service provides the unrequested anticipatory data to the client in the same data stream as the response data that actual responds to the specific client requests. The client may then use the anticipatory data to fully or partially respond to future requests from the client, if the client does make the request anticipated by the service. Thus, in some cases, latency may be reduced when responding to requests in which anticipatory data has already been provided. The service may give priority to the actual requested data, and gives secondary priority to the anticipatory data.