Preloaded Content Selection Graphs for Rapid Data Retrieval
Find Innovative SolutionsGenerate 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 and potential service failures.
Innovation Solution
Preloading and preformatting entire content selection graphs in an in-memory data store, such as a Redis cache, with multiple graphs for different client-specific details, allowing rapid retrieval and response without additional formatting, and using a coordinator to manage graph generation, validation, and caching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional data retrieval techniques are used to handle content selection requests, then the system can process requests dynamically, but the system becomes overwhelmed during spikes in demand and cannot retrieve data efficiently
Solution Approach 1:
The patent pre-generates and pre-stores content selection graphs in an in-memory data store before they are needed. When content becomes available, the system proactively creates the selection graph with all possible client-specific variations and stores it in Redis cache. This preliminary action ensures that when demand spikes occur, the pre-computed graphs are already available for immediate retrieval, eliminating the need to process requests dynamically and preventing system overload.
2Loss of time
If content selection graphs are generated and formatted at the time of each request, then the data can be customized for each client, but the retrieval process becomes slow and cannot meet timely delivery requirements
Solution Approach 1:
The system performs client-specific data formatting in advance by generating multiple versions of content selection graphs tailored to different client characteristics (device type, operating system, content preferences) and storing them pre-formatted in the in-memory data store. This eliminates the need to perform formatting operations at request time, reducing retrieval time while maintaining full customization capability.
Solution Approach 2:
Instead of generating unique formatted data for each request, the system creates template graphs that capture client-specific formatting characteristics and stores these as reusable copies in the cache. When a request arrives, the system retrieves the appropriate pre-formatted copy based on client identification, avoiding redundant formatting work while delivering customized data.
3Productivity
If the system preloads entire content selection graphs in advance, then data retrieval becomes rapid and efficient, but system complexity increases due to graph generation, validation, and cache management
Solution Approach 1:
The patent introduces a coordinator component that acts as an intermediary between the graph generation logic, validation logic, and the in-memory data store. The coordinator manages the complex workflow of generating graphs, validating them against schema requirements, handling errors, and storing successful graphs in the cache. This intermediary abstracts the complexity from the request handling path, allowing rapid retrieval while maintaining a robust validation and error handling system in the background.
Data Source
AI summary
The described technology is generally directed towards coordinating the generation, validation and enabling of content selection graphs in an in-memory content selection graph data store. When a set of content selection graphs is requested, a coordinator starts the generation of the relevant graphs. Upon successful generation, the coordinator starts a validation of the generated graphs against rules for the nodes/response data in the graphs. If the generated graphs pass validation, the coordinator enables the graph set for use in an in-memory cache, whereby when a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain and return the response data as the requested content selection data.


