Client-Side Search Keyword Caching for Social Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Social networking systems face delays in providing search query suggestions due to the time required for retrieving and generating suggestions from the server, which can hinder user experience.

Innovation Solution

Implementing client-side caching of search keywords allows for the generation and provision of keyword query suggestions locally, reducing latency by pre-fetching and storing keywords from the social networking system on the user's client device, such as trending topics, user history, and popular terms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If query suggestions are generated server-side by retrieving keywords from the social-networking system, then the suggestions are comprehensive and relevant, but the response time is delayed

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

Solution Approach 1:

The system performs preliminary actions by extracting and caching keywords from multiple sources (user profiles, posts, comments, images, videos, and search history) on the client device before they are needed for query suggestions. This pre-processing enables fast local generation of suggestions without server round-trips during actual search interactions

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements local quality by differentiating between hot data (frequently accessed keywords and suggestions) stored locally on the client device and cold data (comprehensive keyword databases) maintained on the server. The client-side cache contains personalized keywords extracted from user-specific sources, providing locally optimized suggestions for common queries while maintaining relevance

Inventive Principle:
Principle #3Local quality

2Loss of time

If query suggestions are generated client-side using cached keywords, then the response time is reduced, but the comprehensiveness of suggestions may be limited

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

Solution Approach 1:

The system achieves universality by implementing a multi-layered keyword extraction mechanism that processes multiple data sources (user profiles, posts, comments, images, videos, search history) through the same client-side caching framework. This allows the system to provide comprehensive suggestions across different user contexts and query types while maintaining fast local response times

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The client-side cache acts as an intermediary layer between the user and the server. It stores pre-extracted keywords locally and generates suggestions from this cached data, mediating between the need for fast local responses and the availability of comprehensive server-side data. The cache can be refreshed from the server to maintain up-to-date keywords

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10282483B2Client-side caching of search keywords for online social networks
Publication Date: 2019.05.07 META PLATFORMS INC
  • US10282483B2 patent drawing
  • US10282483B2 patent drawing
  • US10282483B2 patent drawing

AI summary

In one embodiment, a method includes receiving a text query inputted by a first user of an online social network, the text query including one or more n-grams. The method also includes identifying a first set of candidate keywords from multiple keywords stored on a local cache of a client system, each keyword being extracted from a source of multiple sources associated with the online social network, where each candidate keyword in the first set matches one or more n-grams of the text query and calculating a rank for each of the identified candidate keywords based at least in part on the source associated with the candidate keyword. The method also includes displaying, in response to the first user inputting the one or more n-grams of the text query, one or more suggested queries, each suggested query including an identified candidate keyword having a rank higher than a threshold rank.