Cache Inconsistency Detection via Key-Based Sampling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inconsistent data caching across multiple data centers can result in users being served stale data, indicating potential software or hardware issues, and existing methods are inadequate for detecting cache inconsistencies in large-scale systems.

Innovation Solution

A system and method for detecting cache inconsistencies using key-based sampling, which captures the complete history of a key to compare cache values across data centers, involving three phases: reverse chronological comparison of operation logs, near real-time evaluation of candidate keys, and real-time verification of cache values to eliminate false positives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If cache is used to store recently retrieved data, then data retrieval speed is improved, but cache consistency across data centers deteriorates

Engineering Contradiction:
Improvedata retrieval speedVSAvoidcache consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements a feedback mechanism by continuously monitoring cache operations across data centers and detecting inconsistencies. The system logs cache operations, compares cache values across data centers, and identifies when caches diverge from the authoritative database, providing feedback to maintain consistency awareness.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary detection system that acts as a mediator between the cache system and data centers. This intermediary component (inconsistency detector) compares cache values across data centers and identifies inconsistencies without directly interfering with the primary cache retrieval function.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If complete history of all keys is captured for comparison, then cache inconsistency detection accuracy is improved, but system complexity and resource consumption worsen

Engineering Contradiction:
Improveinconsistency detection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the necessary information for inconsistency detection by capturing specific cache operation logs and key-value pairs rather than complete history of all keys. The system selectively logs operations that are relevant to detecting inconsistencies, reducing data volume while maintaining detection accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the inconsistency detection process into distinct phases: logging cache operations, comparing cache values across data centers, and identifying inconsistent keys. This segmentation allows the system to process data in manageable stages rather than handling complete key histories simultaneously.

Inventive Principle:
Principle #1Segmentation

3Reliability

If real-time verification of all candidate keys is performed, then false positive elimination is improved, but processing time and computational resources worsen

Engineering Contradiction:
Improvefalse positive eliminationVSAvoidverification processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial verification by focusing computational resources on verifying only the candidate keys identified as potentially inconsistent, rather than verifying all keys in the system. This partial action approach eliminates false positives for the critical subset of keys while avoiding the prohibitive cost of universal verification.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9122717B2System and method of detecting cache inconsistencies
Publication Date: 2015.09.01 META PLATFORMS INC
  • US9122717B2 patent drawing
  • US9122717B2 patent drawing
  • US9122717B2 patent drawing

AI summary

A system and method of detecting cache inconsistencies among distributed data centers is described. Key-based sampling captures a complete history of a key for comparing cache values across data centers. In one phase of a cache inconsistency detection algorithm, a log of operations performed on a sampled key is compared in reverse chronological order for inconsistent cache values. In another phase, a log of operations performed on a candidate key having inconsistent cache values as identified in the previous phase is evaluated in near real time in forward chronological order for inconsistent cache values. In a confirmation phase, a real time comparison of actual cache values stored in the data centers is performed on the candidate keys identified by both the previous phases as having inconsistent cache values. An alert is issued that identifies the data centers in which the inconsistent cache values were reported.