Autocomplete Suggestion Buffering for Latency Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing text input methods on computing devices are time-consuming and prone to errors, with current autocomplete systems often providing incomplete or outdated suggestions due to delays in network responses, especially over high-latency connections.

Innovation Solution

A computing device receives an n-gram of characters, identifies cached autocomplete suggestions, and delays presenting them until a presentation event occurs, which is either the receipt of additional suggestions from a server or a predetermined period, allowing for a balanced tradeoff between quick and comprehensive suggestions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If autocomplete suggestions are provided immediately from local cache, then response speed is improved, but suggestion completeness and quality deteriorate due to outdated or limited local data

Engineering Contradiction:
Improveresponse speedVSAvoidsuggestion completeness
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The system performs preliminary actions by requesting autocomplete suggestions from the server in advance and storing them in a buffer before they are needed. When the user types, the system checks if relevant suggestions have been pre-fetched and buffered, allowing immediate display without waiting for network responses. This resolves the contradiction by preparing data beforehand so that complete suggestions can be provided instantly when needed.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If the system waits for server responses before presenting autocomplete suggestions, then suggestion quality is improved, but user experience deteriorates due to delays especially over high-latency connections

Engineering Contradiction:
Improvesuggestion qualityVSAvoiduser experience delay
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system proactively requests autocomplete suggestions from the server before the user actually needs them, storing responses in a buffer. When typing occurs, the system checks the buffer for relevant pre-fetched suggestions and displays them immediately without waiting for network responses, thus maintaining high suggestion quality while eliminating delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer acts as an intermediary between the server and the user interface. Instead of directly waiting for server responses or displaying potentially outdated local cache data, the system uses the buffer to store pre-fetched suggestions and serve them when needed, mediating between asynchronous network operations and synchronous user interaction requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If frequent requests are sent to the server for autocomplete suggestions, then suggestion quality is improved, but network resource consumption increases

Engineering Contradiction:
Improvesuggestion qualityVSAvoidnetwork resource consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

Instead of requesting autocomplete suggestions on every keystroke, the system implements periodic action by requesting suggestions at predetermined intervals or based on triggers such as pauses in typing. The buffer stores these periodically fetched suggestions for reuse, reducing the frequency of network requests while maintaining adequate suggestion quality for user needs.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9514111B1Providing autocomplete suggestions
Publication Date: 2016.12.06 GOOGLE LLC
  • US9514111B1 patent drawing
  • US9514111B1 patent drawing
  • US9514111B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for providing autocomplete suggestions. A computing device can receive an n-gram of characters. Cached autocomplete suggestions can be identified in a local cache of the computing device. Additional autocomplete suggestions can be requested at a first time. The computing device can prevent presentation of the cached autocomplete suggestions until a presentation event occurs. The presentation event can include (i) receiving the requested additional autocomplete suggestions by the computing device or (ii) the end of a predetermined period after the first time. The computing device can determine that that the presentation event has occurred, and in response, can display one or more autocomplete suggestions.