Local Cache Write Request Handling in App Server Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Application server clusters face challenges in efficiently processing write requests while maintaining high performance throughput, as existing systems often rely on direct data storage and retrieval from database servers, which can lead to resource bottlenecks and slower access times.

Innovation Solution

Implementing a local cache in application servers to store write request payloads, allowing for faster access and processing of read requests, and signaling other servers to prioritize propagation of payloads to data stores when needed, thereby optimizing resource utilization and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write requests are processed by directly storing data in database servers, then data persistence is ensured, but resource bottlenecks occur and access times increase

Engineering Contradiction:
Improvedata persistenceVSAvoidthroughput performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the data storage function by introducing local caches in application servers that separate the write request processing from the database server. The local cache handles write requests locally while the database server handles persistence, dividing the monolithic storage operation into two independent stages that can operate in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The local cache acts as an intermediary between application servers and database servers. It receives write requests, stores data locally, and later propagates it to the database server asynchronously. This intermediary buffer decouples the immediate write operation from the persistence operation, eliminating the bottleneck.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is stored directly in database servers, then centralized data management is achieved, but access times increase due to network latency

Engineering Contradiction:
Improvecentralized data managementVSAvoidaccess time
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary action by pre-storing write request payloads in local caches before they are propagated to database servers. When read requests occur, the data is already available locally in the cache, eliminating the need for network access and reducing latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system adds a spatial dimension to data storage by distributing caches across multiple application servers. Instead of all data residing in a single centralized location (database server), data is replicated across multiple nodes (local caches), allowing就近 access and parallel operations.

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

3Reliability

If payloads are propagated to data stores immediately upon receiving write requests, then data availability is improved, but resource utilization decreases

Engineering Contradiction:
Improvedata availabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of continuous immediate propagation, the system uses periodic batch propagation where accumulated payloads are transferred to data stores in scheduled intervals. This converts continuous resource-intensive operations into periodic bursts, improving overall resource utilization while maintaining data availability through the cache.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8930518B2Processing of write requests in application server clusters
Publication Date: 2015.01.06 ORACLE INT CORP
  • US8930518B2 patent drawing
  • US8930518B2 patent drawing
  • US8930518B2 patent drawing

AI summary

An application server of a server cluster may store a payload of a write request in a local cache and thereafter serve read requests based on payloads in the local cache if the corresponding data is present when such read requests are received. The payloads are however later propagated to respective data stores at a later suitable time. Each application server in the server cluster retrieves data from the data stores if the required payload is unavailable in the respective local cache. According to another aspect, an application server signals to other application servers of the server cluster if a required payload is unavailable in the local cache. In response, the application server having the specified payload (in local cache) propagates the payload with a higher priority to the corresponding data store, such that the payload is available to the requesting application server.