Cache Invalidation via Token Segmentation and Mediator Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a cache system, identifying and managing invalid entries for lists of items is challenging when the backing store returns the same list of items for specific search criteria, leading to difficulties in cache invalidation and data freshness.

Innovation Solution

The processor determines invalid elements within the cache by comparing tokens associated with data from the cache and the backing store, removes invalid entries, and updates the cache with new master keys and lookup keys to ensure data freshness and correct cache management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the cache stores lists of items with master keys for efficient retrieval, then the data retrieval speed is improved, but the complexity of managing invalid entries and ensuring data freshness increases

Engineering Contradiction:
Improvedata retrieval speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache management system is segmented into distinct components: master keys for list-level management, individual item tokens for element-level validation, and separate invalidation tracking mechanisms. This segmentation allows efficient retrieval through master keys while managing complexity through modular invalidation handling at the token level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Tokens are introduced as intermediary elements between the cache entries and the backing store. Each item in the cache list has an associated token that acts as a mediator to validate whether the item is still valid, eliminating the need for complex direct validation between master keys and individual items.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the cache validates each item individually for correctness, then the data accuracy is improved, but the processing time and computational resources increase

Engineering Contradiction:
Improvedata accuracyVSAvoidvalidation processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Tokens are pre-generated and stored with each cache item before validation is needed. This preliminary action allows the system to perform simple token comparison during validation rather than performing complex integrity checks, significantly reducing validation processing time while maintaining data accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of storing and validating the complete item data, the system stores compact token copies that represent each item's validity state. This copying approach maintains data accuracy through token verification while minimizing processing time and computational resources required for validation.

Inventive Principle:
Principle #26Copying

3Reliability

If the cache maintains comprehensive metadata for each entry, then the reliability of cache invalidation is improved, but the memory overhead and cache entry size increase

Engineering Contradiction:
Improvecache invalidation reliabilityVSAvoidmemory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The validity information is extracted from the main cache entry and stored separately as tokens. This extraction reduces the memory overhead within each cache entry while maintaining reliable invalidation tracking through the separate token storage mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of maintaining uniform comprehensive metadata for all cache entries, the system applies local quality by storing only essential validity tokens for items that require validation. This approach reduces overall memory overhead while maintaining high reliability for items that need cache invalidation tracking.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10725926B2Managing a list of items stored in a cache
Publication Date: 2020.07.28 SALESFORCE INC
  • US10725926B2 patent drawing
  • US10725926B2 patent drawing
  • US10725926B2 patent drawing

AI summary

A processor can receive a request for a list of items. The request can include a group identifier and search criteria. The search criteria can be configured to return the list of items. The processor can produce, using the group identifier and in response to the request, a determination about a location of a master key associated with the group identifier. The processor can produce, in response to the master key being in the cache, a lookup key. The lookup key can include the master key, the group identifier, and a form of the search criteria. The processor can produce, using a form of the lookup key, a determination about a location of the list of items. The processor can retrieve, in response to the list of items being in the cache, the list of items from the cache.