Distributed Cache Framework for Database Load Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing system architectures for handling concurrent user logins and repeated data fetches from databases lead to performance degradation, including increased response times and suboptimal hardware resource utilization.

Innovation Solution

A distributed cache framework is implemented, comprising a first cache partitioned across multiple computing devices for high availability and fault tolerance, and a second cache on a single device for user-specific data, with business logic filtering and sorting capabilities, reducing the need for direct database access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is read repeatedly from the database for concurrent users, then data availability is ensured, but response time increases and system performance degrades

Engineering Contradiction:
Improvedata availabilityVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a two-tier cache system that pre-loads and stores frequently accessed data from the database into cache memory before actual user requests arrive. The first cache (distributed cache) stores data segments across multiple computing devices, while the second cache (local cache) stores data on the requesting device. This preliminary action eliminates the need for repeated database queries, thereby reducing response time while maintaining data availability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a cache system as an intermediary layer between the database and users. This intermediary (comprising first cache and second cache) captures and stores data that would otherwise require direct database access, mediating between the database and user requests to reduce response time while preserving data availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is cached across multiple computing devices, then fault tolerance and availability are improved, but system complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidcache architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the cache system into two distinct segments: the first cache (distributed cache) that stores data segments across multiple computing devices for fault tolerance, and the second cache (local cache) that stores data locally on the requesting device. This segmentation allows the system to achieve fault tolerance through distribution while managing complexity by creating clear, separate cache layers with defined responsibilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the caching architecture by introducing both distributed and local cache layers. Instead of a single-dimensional cache, the system operates across two dimensions: distributed storage across multiple devices (first cache) and local storage on the requesting device (second cache). This multi-dimensional approach enhances fault tolerance while organizing complexity into manageable layers.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of information

If business logic filtering is applied before caching, then data relevance is improved, but processing time increases

Engineering Contradiction:
Improvedata relevanceVSAvoidprocessing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies business logic filtering and data processing in advance before data is stored in the cache. The business object layer filters and processes data before it enters the first cache, and the second cache further filters data based on local requirements. This preliminary filtering ensures data relevance is optimized beforehand, reducing the need for additional processing when data is retrieved from cache.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9880936B2Distributed cache framework
Publication Date: 2018.01.30 SYBASE INC
  • US9880936B2 patent drawing
  • US9880936B2 patent drawing
  • US9880936B2 patent drawing

AI summary

A system includes a database that stores data on one or more memory devices and a business object layer that receives a request for data associated with a user stored on the database. The system includes a first cache that reads and stores the requested data from the database in response to the request from the business object layer, where the first cache is partitioned into different segments and the different segments are stored across multiple different computing devices. The system includes a second cache that reads and stores the requested data from the first cache. The business object layer filters and applies business logic to the data before the second cache reads the requested data from the first cache. The second cache is stored on a single computing device that received the request. The business object layer delivers the requested data from the second cache.