Predictive Query Suggestion Caching for Mobile Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile devices experience high network latency, leading to degraded performance in query suggestion services, where suggestions often arrive after the user has typed additional keystrokes, making them inapplicable to the current query, thus degrading the user experience.

Innovation Solution

Implementing a predictive query suggestion system that uses user query history to pre-cache suggestions on the client device, allowing for immediate display of relevant suggestions as the user types, even in high-latency environments, by utilizing a suggest aggregator and suggest server to generate and store likely queries before they are needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If query suggestions are fetched from the search engine with each keystroke, then the suggestions are relevant to the current query prefix, but the network latency causes suggestions to arrive late and degrade user experience

Engineering Contradiction:
Improverelevance of query suggestionsVSAvoidresponse time of query suggestions
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by predicting future query prefixes based on user typing patterns and pre-fetching query suggestions for those predicted prefixes before they are actually needed. This allows suggestions to be cached locally and displayed immediately when the user types, eliminating network latency delays while maintaining relevance through predictive accuracy.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If query suggestions are pre-cached on the client device, then the response time is reduced and user experience is improved, but the suggestions may become outdated or mismatch the current query prefix due to latency

Engineering Contradiction:
Improveresponse time of query suggestionsVSAvoidrelevance of query suggestions
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The system dynamically adjusts its behavior based on network conditions and user input patterns. It continuously monitors typing speed and query patterns to update predictions, and adaptively manages the cache by invalidating or updating suggestions when they become outdated. This dynamic approach ensures cached suggestions remain relevant while providing immediate response.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If the system sends suggestion requests with each keystroke to ensure relevance, then the suggestions match the current query prefix, but the frequent network requests increase network traffic and latency impact

Engineering Contradiction:
Improverelevance of query suggestionsVSAvoidnetwork efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

Instead of fetching suggestions for every possible keystroke combination, the system uses partial action by predicting only the most likely future query prefixes based on user typing patterns and historical data. It fetches suggestions for a subset of predicted prefixes rather than all possible ones, reducing network traffic while still providing relevant suggestions for the user's actual input path.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9323808B1Predictive query suggestion caching
Publication Date: 2016.04.26 GOOGLE LLC
  • US9323808B1 patent drawing
  • US9323808B1 patent drawing
  • US9323808B1 patent drawing

AI summary

Methods, systems, an apparatus, and computer program products, for pre-caching query suggestions. In one aspect, a method includes receiving from a client device a request for a search resource; providing to the client device in response to the request the search resource, the search resource including: first instructions that cause the client device to generate a search interface that includes a first query input field; initial query suggestions; second instructions that cause the client device to: store the initial query suggestions in a suggestion store on the client device; compare query characters input in the first query input field to the query suggestions stored in the suggestion store; select query suggestions that match the query characters input in the first query input field based on the comparison; and display the selected query suggestions as query suggestions for the query characters input into the first query input field.