Distributed Cache Coherency via Checksum Comparison Utility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for comparing distributed caches are either inaccurate or excessively time-consuming, as they fail to account for individual cache values and do not efficiently identify non-identical caches in a distributed system.

Innovation Solution

A cache comparison utility generates checksum values for selected cache keys and values, storing them in a checksum table and comparing these values across multiple caches to identify any discrepancies, thereby ensuring coherency without the need for thorough individual value comparisons.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional methods compare all individual cache values, then measurement precision is improved, but loss of time increases dramatically

Engineering Contradiction:
Improvecache comparison accuracyVSAvoidcomparison execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the essential elements (cache keys and their corresponding values) needed for comparison and generates checksums for these specific elements rather than comparing all cache contents. This selective extraction maintains measurement precision for the critical comparison targets while significantly reducing the time required by limiting the scope of comparison to key elements only.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the comparison task from directly comparing individual cache values to comparing checksum values derived from those cache values. This parameter transformation changes the comparison from operating on raw data to operating on computed hash values, which maintains accuracy for detecting differences while dramatically reducing the computational time and resources required.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If conventional methods compare only cache keys, then loss of time is reduced, but measurement precision deteriorates

Engineering Contradiction:
Improvecomparison execution timeVSAvoidcache comparison accuracy
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The patent merges the comparison of cache keys with the comparison of their corresponding cache values by generating combined checksums that encompass both elements. This merging ensures that both keys and values are considered in the comparison process, maintaining measurement precision while still using the efficient checksum mechanism to keep time loss minimal.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If the number of caches being compared increases, then reliability of distributed cache system is improved, but loss of time increases dramatically

Engineering Contradiction:
Improvedistributed cache coherencyVSAvoidcomparison execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses checksum values as simplified copies or representations of the actual cache data. Instead of comparing the full cache contents across multiple distributed caches, it compares these compact checksum copies, which maintains the ability to detect coherency issues across any number of caches while keeping the time required manageable through the efficiency of hash value comparison.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7853688B2Method and system for proactively monitoring the coherency of a distributed cache
Publication Date: 2010.12.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7853688B2 patent drawing
  • US7853688B2 patent drawing
  • US7853688B2 patent drawing

AI summary

A method of proactively monitoring the coherency of distributed cache. A cache comparison utility selects a set of cache keys from a replica cache connected to a main cache via a network. The cache comparison utility selects a first cache key from the set of cache keys and fetches a first cache value from the replica cache that corresponds to the first cache key. The cache comparison utility generates a first checksum value corresponding to the first cache value and the first cache key and stores the first checksum value in a first checksum table. The cache comparison utility creates a first total checksum value that corresponds to the first checksum table and compares the first total checksum value with multiple total checksum values that correspond to the main cache and one or more additional replica caches, thereby identifying replica caches that are not identical to the main cache.