Caching Selected Data for Real-Time Content Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content selection systems face challenges in selecting relevant content for users within tight time frames, especially when dealing with large numbers of candidate content, leading to latency issues in real-time bidding processes.

Innovation Solution

Implementing a caching system that stores content based on geographic location, user interactions, and probability models to quickly retrieve and render relevant content, reducing response times by selecting from cached data within 40 milliseconds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If content selection is performed in real-time from a large number of candidates, then content relevance to user is improved, but selection latency increases

Engineering Contradiction:
Improvecontent relevanceVSAvoidselection latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system pre-calculates and caches content selection data including geographic location information, user interaction data, and probability model results before real-time bidding occurs. This preliminary preparation allows the system to quickly retrieve pre-processed content candidates during the 40-millisecond bidding window without performing complex calculations in real-time, thus maintaining both high relevance and low latency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The content selection process is divided into distinct phases: offline data collection and probability model training, caching of pre-processed content candidates with metadata, and final real-time selection from cached results. This segmentation allows computationally intensive operations to be performed offline while keeping real-time operations simple and fast

Inventive Principle:
Principle #1Segmentation

2Speed

If caching is used to reduce selection time, then response speed is improved, but content relevance may deteriorate

Engineering Contradiction:
Improveresponse speedVSAvoidcontent relevance
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system incorporates user interaction feedback and conversion data into the probability model that determines which content to cache and how to rank cached candidates. This feedback mechanism ensures that cached content remains highly relevant to user preferences and behavior patterns, preventing degradation of content quality despite the use of caching for speed

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The caching strategy is dynamic rather than static - the system continuously updates cached content based on changing user interactions, geographic location data, and probability model recalculations. This dynamic approach allows the cache to adapt to evolving user preferences while maintaining fast response times

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11087365B1Caching selected data for use in real-time content selection
Publication Date: 2021.08.10 AMAZON TECH INC
  • US11087365B1 patent drawing
  • US11087365B1 patent drawing
  • US11087365B1 patent drawing

AI summary

Systems, methods, and computer-readable media are disclosed for caching selected data for use in real-time content selection. In one embodiment, an example method may include determining a first set of user identifiers for users that are eligible to be presented with content associated with a first product identifier, the first set having a first number of user identifiers, determining a second set of user identifiers for users that are eligible to be presented with content associated with a second product identifier, the second set having a second number of user identifiers, and determining that the first number is greater than the second number. Example methods may include determining first content associated with the first product identifier, determining first product information associated with the first product identifier, and caching the first content and the first product information at a server instead of second content associated with the second product identifier.