Autonomic Caching for In-Memory Data Grid Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory data grids (IMDGs) face challenges in implementing traditional caching methods due to their highly distributed nature and unpredictable node configurations, leading to inefficiencies in query processing and cache management, which complicates the connection between small queries and their resulting data.

Innovation Solution

A method and system for autonomic caching in IMDGs, where a proxy cache module proactively directs and caches sub-queries concurrently with primary queries, predicting and preparing for subsequent requests without waiting for explicit client requests, thereby enhancing temporal performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If traditional caching algorithms (LRU, LFU) are used in IMDG, then cache management becomes simpler, but query processing efficiency deteriorates due to fragmented data distribution and unpredictable node configurations

Engineering Contradiction:
Improvecache management complexityVSAvoidquery processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system performs preliminary actions by proactively caching sub-query results before they are actually requested. The proxy cache module predicts which sub-queries will be needed and pre-fetches their results, storing them in the cache before the main query execution completes. This eliminates the need for complex cache management algorithms while significantly improving query processing efficiency by having data ready when needed.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If numerous small queries are executed to achieve relational queries in IMDG, then data retrieval becomes more flexible, but cache retrieval process becomes unwieldy and complex

Engineering Contradiction:
Improvedata retrieval flexibilityVSAvoidcache retrieval complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system merges multiple small sub-queries into a unified caching strategy. The proxy cache module groups related sub-queries together and caches their results collectively, treating them as a single unit rather than individual cache operations. This merging approach maintains the flexibility of retrieving data from multiple sources while simplifying the cache retrieval process through consolidated management.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The proxy cache module acts as an intermediary between the client and the distributed data nodes. It receives the main query, identifies required sub-queries, pre-fetches their results, and serves them to the client. This intermediary layer abstracts the complexity of numerous small queries away from the client, providing a simplified interface while maintaining data retrieval flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If sub-queries are executed sequentially after primary query, then query processing becomes more straightforward, but temporal performance deteriorates due to waiting time

Engineering Contradiction:
Improvequery processing straightforwardnessVSAvoidquery execution waiting time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by executing sub-queries in parallel before the main query completes, rather than sequentially after. The proxy cache module identifies sub-queries that can be executed independently and launches them concurrently with the main query execution. This preliminary parallel execution eliminates waiting time while maintaining straightforward query processing through automated query decomposition and result aggregation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by overlapping sub-query execution with main query execution. Instead of completing the main query before starting sub-queries, the proxy cache module ensures that sub-queries are executed concurrently and continuously, with results being aggregated as they complete. This continuous parallel processing eliminates idle waiting time while keeping the query processing logic straightforward through automated coordination.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11556536B2Autonomic caching for in memory data grid query processing
Publication Date: 2023.01.17 NIKE INC
  • US11556536B2 patent drawing
  • US11556536B2 patent drawing

AI summary

A method, system and computer program product for autonomic caching in an IMDG has been provided. A method for autonomic caching in an IMDG includes receiving from a client of the IMDG a request for a primary query in the IMDG. The method also includes associating the primary query with a previously requested sub-query related to the primary query. Finally, the method includes directing the sub-query concurrently with a directing of the primary query without waiting to receive a request for the sub-query from the client. In this way, the method can proactively predict a receipt of the request for a sub-query following a request for a primary query prior the actual receipt of the request for the sub-query.