Stateless Database Cache for Reducing Access Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database access methods are inefficient, leading to repetitive data retrieval and high resource consumption, especially when dealing with complex queries and frequent connection openings and closings, which slows down data access and increases resource usage.

Innovation Solution

Implementing a stateless cache that mirrors the database state, allowing data to be stored and retrieved from a cache instead of the database for subsequent requests, and using a cluster table structure to manage data access efficiently, including fuzzy searching and automatic updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is retrieved from the database for each request, then data consistency is maintained, but data access time increases and resource consumption rises

Engineering Contradiction:
Improvedata access timeVSAvoidrepetitive data retrieval time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent implements a cache that pre-stores frequently accessed data before it is actually needed. When data is first retrieved from the database, it is proactively cached for future use, so subsequent requests can be served from the cache without querying the database again, thereby reducing data access time and eliminating repetitive retrieval operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the database data and stores it in a separate cache structure. This copy contains the same data as the database but is optimized for faster retrieval. The cache copy allows multiple requests to be served without repeatedly accessing the original database, thus improving speed while maintaining data consistency through update mechanisms.

Inventive Principle:
Principle #26Copying

2Productivity

If connections are opened and closed for each data request, then resource usage is managed, but data access performance deteriorates

Engineering Contradiction:
Improvedata access throughputVSAvoidconnection establishment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent maintains the cache in a continuous state between requests, avoiding the need to repeatedly establish connections to the database. The cache persists data in memory across multiple requests, allowing the system to continuously serve data from the cache without interrupting the useful action of data retrieval, thereby improving productivity and eliminating connection establishment overhead.

Inventive Principle:
Principle #20Continuity of useful action

3Speed

If a cache is implemented to store data, then data access speed improves, but system complexity increases

Engineering Contradiction:
Improvedata retrieval speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements automatic cache update mechanisms where the system self-manages the cache without requiring complex external control. When data in the database is updated, the cache automatically detects and updates itself through event-driven notifications or periodic synchronization, reducing the need for manual cache management and simplifying the overall system architecture while maintaining fast data retrieval.

Inventive Principle:
Principle #25Self-service

4Use of energy by moving object

If data is cached for subsequent requests, then resource consumption is reduced, but data consistency with the database may be compromised

Engineering Contradiction:
Improveenergy consumption for data accessVSAvoiddata consistency
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the system continuously monitors for database updates and automatically refreshes the cache when changes are detected. Database change notifications or synchronization protocols provide feedback to the cache layer, ensuring that cached data remains consistent with the database while still providing the energy efficiency benefits of caching. This closed-loop approach maintains reliability without sacrificing resource optimization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2874077B1Stateless database cache
Publication Date: 2019.07.03 SAP SE
  • EP2874077B1 patent drawingFigure 1
  • EP2874077B1 patent drawingFigure 2
  • EP2874077B1 patent drawingFigure 3

AI summary

The present disclosure relates to a computer implemented method for accessing data stored in a storage system comprised in a computer system, the storage system comprising one or more data tables, the computer system further comprising a backend server and a gateway, wherein the backend server is operable to receive a data request from a stateless portal application via the gateway, the gateway comprising one or more gateway services associated with respective one or more data entities, wherein a data entity is defined by one or more properties, wherein a gateway service of the one or more gateway services comprises a class for accessing properties of a respective data entity, wherein the backend server comprises one or more data objects, wherein a data object of the one or more data objects has attributes that are defined by one or more fields of the one or more data tables. The method comprises: providing a cache in the computer system for storing requested data of the storage system in the cache; receiving at the gateway the data request from the portal application, for accessing a dataset stored in the storage system, wherein the dataset is indicative of a data entity of the one or more data entities, the data request being received via at least one connection between the portal application and the gateway; selecting at least one gateway service from the one or more gateway services having at least part of the properties of the data entity; selecting at least one data object of the one or more data objects whose attributes match the at least part of properties of the selected gateway service; creating a data entity instance from the class of the gateway service and the selected data object; extracting search terms from the data request to a format interpretable by the storage system.