Cache Lock Manager for Concurrent Data Request Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Highly concurrent data requests in distributed cache systems lead to duplicate writes, degrading service availability and causing inefficiencies, particularly during peak events like sales, where millions of redundant requests overwhelm the system, resulting in potential service downtime.

Innovation Solution

Implementing a data filter, such as a bloom filter, to determine if a requested document exists in the cache, reducing duplicate writes by allowing only one service module to update the cache and using aging and decaying keys to manage data expiry, thereby optimizing system performance and availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple service modules concurrently access the cache to fulfill data requests, then the system can handle high traffic volume, but duplicate writes occur causing service degradation and potential downtime

Engineering Contradiction:
Improvetraffic handling capacityVSAvoidservice availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a coordination mechanism (lock manager or coordination service) as an intermediary between service modules and the cache. This mediator manages concurrent access by granting exclusive locks to selected service modules, preventing duplicate writes while maintaining high traffic handling capacity. The intermediary resolves conflicts without requiring changes to the cache structure itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by acquiring locks or permissions before accessing the cache. Service modules must obtain exclusive access rights before writing to the cache, preventing duplicate writes from occurring. This preliminary coordination ensures that only one module writes at a time, maintaining service availability during high traffic periods.

Inventive Principle:
Principle #10Preliminary action

2Speed

If the cache stores frequently accessed data to improve retrieval speed, then read performance increases, but memory consumption increases during peak events like sales

Engineering Contradiction:
Improvedata retrieval speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements dynamic cache management where the cache size and content adapt based on system conditions. During peak events, the cache dynamically adjusts its capacity and eviction policies to balance retrieval speed and memory consumption. The system can expand cache usage when memory is available and contract when resources are constrained, maintaining performance across varying loads.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters such as cache eviction thresholds, memory allocation limits, and data retention policies based on system state. During sales events, parameters are adjusted to optimize for either speed or memory consumption depending on available resources. This allows the cache to maintain effective retrieval speed while adapting memory consumption to system capacity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the system processes all concurrent requests individually to ensure data accuracy, then data integrity is maintained, but system response time increases causing service unavailability

Engineering Contradiction:
Improvedata integrityVSAvoidservice response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple concurrent requests for the same data into a single processing operation. When duplicate requests are detected, the system combines them and processes them together through a single cache write operation. This maintains data integrity by ensuring all requests receive consistent data while significantly reducing the time loss compared to processing each request individually.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system applies preliminary anti-action by detecting and preventing duplicate request processing before it can cause delays. Through request deduplication mechanisms and lock-based coordination, the system identifies redundant requests upfront and consolidates them, preventing the time loss that would result from processing each request separately while maintaining data accuracy.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS12124426B2Systems and methods for managing concurrent data requests
Publication Date: 2024.10.22 WALMART APOLLO LLC
  • US12124426B2 patent drawing
  • US12124426B2 patent drawing
  • US12124426B2 patent drawing

AI summary

In some embodiments, systems, methods, and apparatuses are provided herein useful for managing a plurality of concurrent and nearly concurrent data requests within a computer system. The systems have a main data storage for storing source data, and a high speed, and/or remote data storage for storing computed data. In some embodiments, a combination of data filters and distributed mutex processes are used to eliminate or limit duplicate reads and writes into the high speed data storage units by ensuring only a single service module gets a lock to do the read and update of the cache; and makes it possible for keys to expire and be removed from the data filter. The systems and methods herein have various applications including retail sales environments where the requested data is related to product sales, product availability and the like.