In-Memory Graph Garbage Collection for Content Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data retrieval techniques struggle to handle spikes in content selection requests efficiently, particularly for popular content, leading to overwhelming demands on systems.

Innovation Solution

Preloading and preformatting entire graphs of content selection data in an in-memory data store, such as a Redis cache, to anticipate client requests and provide pre-built, client-specific responses, with graphs being generated and validated in advance based on timepoints to ensure rapid and efficient data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional data retrieval techniques are used, then system simplicity is maintained, but the system cannot handle spikes in content selection requests efficiently

Engineering Contradiction:
Improverequest handling capacityVSAvoiddata retrieval system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent pre-generates and pre-loads content selection graphs into an in-memory data store before requests arrive. This preliminary action allows the system to handle request spikes efficiently by serving pre-computed data without real-time processing delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of content selection graphs and stores them in an in-memory data store (Redis cache). These pre-computed copies are served directly to clients without regenerating the full graphs on each request, significantly improving request handling capacity

Inventive Principle:
Principle #26Copying

2Speed

If entire graphs of content selection data are preloaded and preformatted, then data retrieval speed is improved, but memory usage increases

Engineering Contradiction:
Improvedata retrieval speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary content selection graph data into an in-memory data store, separating it from the full dataset. This selective extraction allows fast retrieval of frequently accessed content information while managing memory consumption by storing only essential pre-computed graphs

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements client-specific graph generation by tailoring content selection graphs to individual client characteristics (device type, software version, user preferences). This local customization allows the system to pre-compute and store only the specific graph variants needed for different client segments, optimizing the balance between retrieval speed and memory usage

Inventive Principle:
Principle #3Local quality

3Loss of time

If graphs are generated and validated in advance, then real-time formatting requirements are reduced, but graph generation and validation time increases

Engineering Contradiction:
Improvereal-time formatting timeVSAvoidgraph generation duration
Core Design Contradiction:
Loss of timeVSDuration of action of moving object

Solution Approach 1:

The patent performs graph generation and validation in advance during off-peak periods, preparing content selection graphs before they are needed. This preliminary processing eliminates real-time formatting requirements during request handling, as pre-validated graphs are served directly from the in-memory data store

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements periodic graph generation and validation, updating content selection graphs at scheduled intervals rather than continuously. This periodic approach allows the system to balance the duration of graph generation operations with the need for current data, reducing real-time processing requirements while maintaining data freshness

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11720488B2Garbage collection of preloaded time-based graph data
Publication Date: 2023.08.08 HOME BOX OFFICE INC
  • US11720488B2 patent drawing
  • US11720488B2 patent drawing
  • US11720488B2 patent drawing

AI summary

The described technology is generally directed towards garbage collecting content selection graphs and related data from in an in-memory content selection graph data store. When a set of content selection graphs expire, a more current content selection graph set becomes active, and the storage space (e.g., in a Redis cache) used by the expired content selection graphs is reclaimed via garbage collection. Some graphs can be replaced before use, referred to as orphaned graphs, and the storage space for any such orphaned graphs is also reclaimed during garbage collection. Also garbage collected is storage space including related data structures used to generate and validate graphs.