Bipartite Graph Data Storage for Real-Time Messaging Recommendations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing messaging platforms face challenges in providing real-time recommendations to new users, especially during high-traffic events, as they struggle to efficiently process and index large volumes of user interactions in a scalable and timely manner.

Innovation Solution

A data engine organizes interactions as a bipartite graph using an adjacency list structure, allowing for real-time random sampling and graph traversal techniques, enabling fast and personalized recommendations. This engine supports rapid ingestion of edges and concurrent lookup queries through compact edge encoding and dynamic memory allocation, ensuring efficient processing of interactions during peak events.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the platform stores all user interactions in a complete graph for comprehensive recommendations, then recommendation accuracy is improved, but data storage requirements and processing time increase significantly

Engineering Contradiction:
Improverecommendation accuracyVSAvoiddata storage requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary subset of graph data needed for recommendations by using random sampling to select edges from the complete interaction graph. This allows the system to work with a manageable portion of data (e.g., 100-1000 edges per user) rather than the entire graph, significantly reducing storage requirements while maintaining recommendation quality through the random walk algorithm that explores the sampled graph structure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs partial graph traversal by randomly sampling edges rather than processing the complete graph. This partial action approach allows the recommendation engine to examine only a subset of user interactions (partial graph) sufficient to generate accurate recommendations, avoiding the excessive processing burden of analyzing all possible edges while still achieving the desired recommendation accuracy.

Inventive Principle:
Principle #16Partial or excessive action

2Loss of time

If the platform processes all user interactions in real-time for timely recommendations, then recommendation timeliness is improved, but processing speed and system throughput deteriorate during high-traffic events

Engineering Contradiction:
Improverecommendation timelinessVSAvoidprocessing speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system processes only a partial subset of user interactions at any given time through random sampling. Instead of processing all interactions in real-time, the system samples a manageable number of edges (e.g., 100-1000 per user) which can be processed quickly and in parallel, maintaining high throughput during high-traffic events while still providing timely recommendations based on the sampled data.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent segments the graph data into manageable samples rather than processing the complete graph at once. By dividing the interaction data into random samples of edges, the system can process smaller data chunks in parallel, significantly improving processing speed and system throughput during high-traffic periods while maintaining recommendation timeliness.

Inventive Principle:
Principle #1Segmentation

3Productivity

If the platform uses random sampling of graph edges for recommendations, then processing speed and scalability are improved, but recommendation personalization and accuracy may be compromised

Engineering Contradiction:
Improveprocessing speedVSAvoidrecommendation accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The random sampling process is designed to be representative of the complete graph through proper sampling techniques. The sampling algorithm ensures that edges are selected with appropriate probabilities that reflect the underlying user interaction patterns, providing feedback that maintains recommendation accuracy. The random walk algorithm then uses this sampled data to traverse the graph and generate recommendations that remain personalized and accurate despite working with a subset of the complete graph.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11468069B1Graph-based data storage for real-time content suggestions
Publication Date: 2022.10.11 X CORP
  • US11468069B1 patent drawing
  • US11468069B1 patent drawing
  • US11468069B1 patent drawing

AI summary

The present invention relates generally to messaging platforms, and relates more particularly to data storage such that random sampling can be accomplished in real-time in messaging platforms. Aspects of the present invention include storing a bipartite graph with associations of two node types. The graph can be stored as a power law graph. The graph can be used to provide real-time content recommendations in a messaging platform. The content recommendations can be provided using random sampling of the node types stored in the graph.