Distributed Cache Data Access Tool for Database Load Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed data processing systems, repeated access to a back-end database by multiple processors leads to processing bottlenecks, increasing the load on database servers and potentially causing request failures and timeouts.

Innovation Solution

A data access tool that enables processors to cooperate by selecting a master processor to access the database, with other processors obtaining data from a distributed cache, dynamically rotating the master processor role and allowing new processors to be added without disrupting existing infrastructure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processors access the database simultaneously to execute applications in parallel, then processing speed and productivity are improved, but the load on database servers increases leading to request failures and timeouts

Engineering Contradiction:
Improveprocessing speedVSAvoiddatabase request success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a distributed cache as an intermediary layer between processors and the database. Processors first check the cache for required data, and only access the database when data is not cached. This mediator reduces direct database access load while maintaining data availability, resolving the contradiction between high processing speed and database reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-loading and caching data in the distributed cache before processors need it. The cache stores frequently accessed data in advance, allowing processors to retrieve data quickly without immediate database access. This preliminary caching action enables high productivity while preventing database overload.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If multiple processors access the database separately to read datasets, then each processor can independently execute application components, but processing bottlenecks occur due to increased database server load

Engineering Contradiction:
Improveindependent processor executionVSAvoidprocessing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges database access operations by implementing a master-slave processor architecture. One processor (master) is designated to access the database and store data in the distributed cache, while other processors (slaves) retrieve data from the cache. This combining of access operations maintains independent execution capability while eliminating redundant database access and processing bottlenecks.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system creates copies of database data in the distributed cache. Instead of each processor accessing the original database separately, data is copied to the cache where multiple processors can access it simultaneously without affecting the original database. This copying mechanism preserves independent processor execution while dramatically improving processing efficiency.

Inventive Principle:
Principle #26Copying

3Reliability

If a fixed master processor is designated to access the database and write to cache, then database access is centralized reducing load, but system adaptability decreases when new processors are added

Engineering Contradiction:
Improvedatabase load managementVSAvoiddynamic processor addition
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic master-slave assignment mechanism where the master processor role is not fixed but can be reassigned based on system conditions and processor availability. When new processors are added to the cluster, the system dynamically determines which processor should serve as the master for database access. This dynamic adaptation maintains effective database load management while preserving system versatility and scalability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10802973B1Data access tool
Publication Date: 2020.10.13 BANK OF AMERICA CORP
  • US10802973B1 patent drawing
  • US10802973B1 patent drawing
  • US10802973B1 patent drawing

AI summary

An apparatus includes a first database, a memory, and first and second processors. The first database stores a list including a first identifier assigned to the first processor and a second identifier assigned to the second processor. The processors each randomly shuffle a copy of the list and place the first element of their shuffled copy in a third list. Each processor further determines that the first identifier appears a first number of times and the second identifier appears a second number of times in the third list, the first number greater than the second number. In response to determining that the first number is greater than the second number, the first processor copies data stored in a second database into the memory and sets a flag to true, while the second processor determines that the flag is set to true and accesses the data copy stored in the memory.