Multi-Layer Caching System with Cache Loader Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Server systems face slow data access and high response times due to disk-based relational databases, with caching solutions often providing stale data due to inadequate updating processes.

Innovation Solution

An improved caching system with multiple layers, including an in-process cache and a shared cache, where data is progressively checked across layers, and proactive refreshing techniques are employed to maintain data accuracy, using a cache loader module to retrieve and update data from a main data store.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in a disk-based relational database, then data can be stored in large capacity, but data retrieval speed is slow and response time increases

Engineering Contradiction:
Improvedata retrieval speedVSAvoidresponse time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent divides the caching system into multiple layers: in-process cache (first layer), shared cache (second layer), and main data store (third layer). Each layer serves different purposes and has different access speeds, allowing the system to balance between storage capacity and retrieval speed by segmenting the data storage hierarchy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces cache loader modules as intermediaries between the application server and the main data store, and between different cache layers. These intermediaries manage data retrieval, caching, and synchronization, reducing the direct access burden on the main database and improving overall system performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If a cache system is implemented to improve data access speed, then data retrieval time is reduced, but data may become stale due to inadequate updating processes

Engineering Contradiction:
Improvedata access speedVSAvoiddata accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the cache loader module continuously monitors and synchronizes cache data with the main data store. When data changes occur in the main store, the system detects these changes and updates the appropriate cache layers, ensuring data consistency while maintaining fast access speeds.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system employs periodic refresh operations where cache data is updated at scheduled intervals or triggered by specific events. This periodic synchronization ensures that cached data remains current without requiring constant real-time updates, thus maintaining both speed and reliability.

Inventive Principle:
Principle #19Periodic action

3Loss of time

If multiple cache layers are implemented to reduce latency, then data retrieval speed is improved, but system complexity increases

Engineering Contradiction:
ImprovelatencyVSAvoidcaching system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the caching system into distinct layers with clearly defined responsibilities: in-process cache for immediate access, shared cache for collaborative access across nodes, and main data store for persistent storage. This segmentation reduces complexity by assigning specific functions to each layer rather than creating a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache loader modules serve as intelligent intermediaries that manage the complexity of multi-layer cache coordination. They handle data synchronization, validity checking, and cross-layer communication automatically, shielding the application logic from the underlying caching complexity while achieving low-latency performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11954039B2Caching system and method
Publication Date: 2024.04.09 ATLASSIAN US INC
  • US11954039B2 patent drawing
  • US11954039B2 patent drawing
  • US11954039B2 patent drawing

AI summary

Methods and computer-readable medium for improved caching are disclosed. The method includes receiving, at a server node, a first data request including an identifier of a requested data entry; performing a lookup in the in-process cache for data corresponding to the identifier; upon determining that data corresponding to the identifier is missing in the in-process cache, invoking a cache loader module configured to: communicate a second data request for the identifier to a shared cache; receive a response from the shared cache; upon determining that data for the identifier was not returned in the response, communicate a third data request for the identifier to a main data store; receive data for the identifier from the main data store; and add the data for the identifier received from the main data store in the in-process cache; and communicating the data for the identifier of the data entry to a requesting system.