Distributed In-Memory Cache Grid Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database caching systems face inefficiencies in mid-tier caching due to communication overhead and limited bandwidth, as well as challenges in maintaining cache consistency and reliability across multiple mid-tier databases.
Innovation Solution
A caching grid is established, where multiple mid-tier databases share a single consistent cache instance of backend data, ensuring transactional consistency and allowing any mid-tier application to access cached data without being tied to a specific database, while maintaining ownership and propagation of cache instances to ensure reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple mid-tier databases are used for caching, then caching capacity and availability are improved, but maintaining cache consistency and reliability becomes more difficult
Solution Approach 1:
The system segments the caching function across multiple independent mid-tier databases (grid members), allowing the caching capacity to be distributed and scaled. Each grid member maintains its own cache instances while participating in the distributed grid system, enabling horizontal scaling of caching capacity without consolidating into a single point of failure.
Solution Approach 2:
The patent implements feedback mechanisms through cache instance propagation and ownership tracking. When a cache instance is modified in one grid member, the system propagates changes to other grid members and updates ownership metadata, ensuring consistency across the distributed cache grid through continuous feedback loops.
2Productivity
If multiple mid-tier databases maintain separate cache instances, then caching availability is improved, but communication overhead and coordination complexity increase
Solution Approach 1:
The patent creates a universal cache instance format that can be shared across multiple grid members with different functions. The cache instance structure and propagation mechanism serve multiple purposes: data storage, consistency maintenance, ownership tracking, and coordination communication, reducing the need for separate coordination infrastructure.
Solution Approach 2:
The system introduces an intermediary ownership metadata mechanism that mediates coordination between grid members. Instead of direct peer-to-peer coordination, grid members interact through the ownership metadata system, which tracks and manages cache instance ownership and propagation status, simplifying the coordination complexity.
3Reliability
If a single consistent cache instance is shared across the grid, then cache consistency is improved, but access transparency and ease of use may be compromised
Solution Approach 1:
The patent implements self-service mechanisms where grid members automatically perform cache instance propagation, ownership updates, and consistency maintenance without requiring manual intervention. The system autonomously manages the distributed cache coordination, making consistent caching transparent to applications while maintaining reliability.
Data Source
AI summary
A plurality of mid-tier databases form a single, consistent cache grid for data in one or more backend data sources, such as a database system. The mid-tier databases may be standard relational databases. Cache agents at each mid-tier database swap in data from the backend database as needed. Ownership locks maintain consistency in the cache grid. Cache agents prevent database operations that will modify cached data in a mid-tier database unless and until ownership of the cached data can be acquired for the mid-tier database. Cache groups define what backend data may be cached, as well as a general structure in which the backend data is to be cached. Metadata for cache groups is shared to ensure that data is cached in the same form throughout the entire grid. Ownership of cached data can then be tracked through a mapping of cached instances of data to particular mid-tier databases.


