Double Caching System for Database Traffic Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High traffic to a database in computer gaming systems can cause delays and affect stability, necessitating a reduction in database access volume.

Innovation Solution

Implementing a 'double caching' system with a hot cache and an external cache, where the server first checks the hot cache, then the external cache, and finally the database for requested data, with data stored in both caches if not already present, to reduce the number of database requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored directly in the database, then data retrieval is reliable, but database traffic increases causing delays and stability issues

Engineering Contradiction:
Improvedata retrieval reliabilityVSAvoiddatabase throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces cache servers as intermediary components between client devices and the database server. These cache servers store frequently accessed game data locally, mediating data retrieval requests by serving data from cache when available and only accessing the database when necessary. This reduces database traffic while maintaining reliable data retrieval, directly resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data storage system into multiple cache servers distributed across the network, each holding portions of the game data. This segmentation allows data requests to be distributed across multiple cache servers rather than all traffic going to a single database server, reducing the burden on the database while maintaining data availability and reliability.

Inventive Principle:
Principle #1Segmentation

2Speed

If data is cached in high-speed memory, then retrieval speed increases, but system complexity increases with multiple data stores

Engineering Contradiction:
Improvedata retrieval speedVSAvoiddata store architecture
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache servers are configured to automatically manage their own data storage and retrieval operations without requiring complex centralized control. Each cache server independently determines whether to serve data from its local cache or forward requests to the database, simplifying the overall system architecture while maintaining high retrieval speeds through distributed self-service caching.

Inventive Principle:
Principle #25Self-service

3Stability of the object's composition

If all data is stored in one database, then data consistency is maintained, but access delays occur under high traffic

Engineering Contradiction:
Improvedata consistencyVSAvoiddata access time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system performs preliminary data retrieval from the database and stores frequently accessed data in cache servers before actual client requests arrive. This preliminary action prepares data in advance in high-speed cache memory, so when clients request data, it can be served immediately from cache rather than requiring real-time database access, thereby reducing access time while maintaining data consistency through periodic cache updates from the database.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10140332B2Method and system for data cache handling
Publication Date: 2018.11.27 KING COM
  • US10140332B2 patent drawing
  • US10140332B2 patent drawing
  • US10140332B2 patent drawing

AI summary

A method for caching in a server is provided. Data from a database is duplicated in an external cache and a hot cache which are used to speed up access and distribute server load reducing access traffic the database. The server is configured to process data requests by checking the hot cache first, then the external cache before attempting to retrieve data from the database.