Multi-Level Graph Cache for Query Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing in-memory caching schemes for graph data processing are limited in handling graph queries efficiently due to the lack of consideration for neighboring vertices and result in memory overload and high input/output costs, as they either cache all neighboring vertices or fail to account for access patterns.

Innovation Solution

A multi-level caching method that predicts and caches data likely to be used in subsequent graph queries by separating subgraph and neighboring data based on access frequency and usage patterns, using a two-layer cache memory hierarchy with different caching schemes for each layer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all neighboring vertices are cached in the cache memory, then graph query processing can be performed, but memory overload occurs and input/output costs increase

Engineering Contradiction:
Improvegraph query processing capabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the cache memory into multiple levels (first cache memory for subgraph data, second cache memory for neighboring data). This segmentation allows selective caching of only necessary data portions, preventing memory overload while maintaining graph query processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different caching strategies to different types of graph data. Frequently accessed subgraph data is cached in the first cache memory, while neighboring data is cached in the second cache memory based on access patterns. This local quality approach optimizes memory usage by caching only what is necessary.

Inventive Principle:
Principle #3Local quality

2Productivity

If existing in-memory caching schemes are used, then data can be cached in cache memory, but neighboring vertices with connectivity are cached resulting in memory overload

Engineering Contradiction:
Improvedata access speedVSAvoidcached data volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent uses access history information to predict which neighboring vertices will be accessed in future queries and pre-caches only those specific vertices in the second cache memory. This preliminary action based on prediction avoids caching unnecessary data while maintaining fast access to needed data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent incorporates access history feedback to dynamically adjust caching decisions. By analyzing past access patterns, the system determines which neighboring vertices to cache, creating a feedback loop that optimizes cached data volume based on actual usage patterns.

Inventive Principle:
Principle #23Feedback

3Productivity

If subgraph data and neighboring data are cached separately in different cache memories, then graph processing performance is enhanced, but device complexity increases

Engineering Contradiction:
Improvegraph processing performanceVSAvoidcache memory structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the caching system into two distinct cache memories with specialized functions. The first cache memory stores subgraph data while the second cache memory stores neighboring data. This segmentation enhances processing performance by optimizing access patterns for each data type while managing complexity through clear functional separation.

Inventive Principle:
Principle #1Segmentation

4Ease of manufacture

If data is cached based on access frequency without considering graph usage patterns, then caching can be performed, but query response times are not optimized

Engineering Contradiction:
Improvecaching implementationVSAvoidquery response time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent uses access history feedback to identify frequently accessed subgraphs and their neighboring vertices. This feedback mechanism enables the system to prioritize caching decisions based on actual usage patterns, optimizing query response times by ensuring high-probability accessed data is cached.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary analysis of access patterns to predict which data will be needed for future queries. By pre-caching predicted data based on usage patterns before it is actually requested, the system optimizes query response times without requiring complex real-time decisions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10891229B2Multi-level caching method and multi-level caching system for enhancing graph processing performance
Publication Date: 2021.01.12 CHUNGBUK NAT UNIV IND ACADEMIC COOP FOUNDATION
  • US10891229B2 patent drawing
  • US10891229B2 patent drawing
  • US10891229B2 patent drawing

AI summary

A multi-level caching method and a multi-level caching system for enhancing a graph processing performance are provided. The multi-level caching method includes searching for graph data associated with a query from a first cache memory in which data output in response to a previous query request is stored, when a query request for the query is received, re-searching for the graph data from a second cache memory in which neighboring data with a history of an access to each of data stored in the first cache memory is stored, when the graph data is not found in the first cache memory, and outputting first neighboring data found by the re-searching as the graph data when a response to the query request is output.