Generation-Based Cache for Microservice Data Freshness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservice environments, frequent retrieval of configuration data items leads to costly communication exchanges and reduces cache effectiveness, as existing techniques often result in early or artificial invalidation of cached data, limiting the opportunity for cache hits.

Innovation Solution

Implementing a generation-based cache mechanism where a microservice maintains data items with a generation counter, invalidating cache entries with lower generation counters and retrieving updated items from a configuration microservice only when necessary, ensuring reasonable freshness and reducing unnecessary communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data items are frequently retrieved from the configuration microservice, then data freshness is maintained, but communication overhead increases and cache effectiveness decreases

Engineering Contradiction:
Improvedata freshnessVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by pre-fetching and caching data items before they are actually needed. The configuration microservice proactively pushes data items to consumer microservices, and the consumer microservice stores them in a cache with generation counters, preparing the data in advance to avoid future communication overhead while maintaining freshness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms through generation counters that track data versions. When the configuration microservice updates data, it increments the generation counter and pushes the update to consumers. The consumer microservice compares incoming generation counters with cached ones, automatically detecting changes and refreshing only when necessary, thus maintaining freshness while minimizing unnecessary communication.

Inventive Principle:
Principle #23Feedback

2Reliability

If cache entries are invalidated frequently to maintain freshness, then data accuracy is improved, but cache hit rates decrease

Engineering Contradiction:
Improvedata accuracyVSAvoidcache hit rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The generation counter mechanism provides continuous feedback about data version status. Instead of frequent invalidation, the system uses the generation counter to intelligently determine whether cache entries are still valid. This feedback-based approach maintains data accuracy by detecting actual changes while preserving cache hits when no changes have occurred, directly resolving the contradiction between accuracy and hit rate.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the parameter tracking approach from time-based or event-based invalidation to generation counter-based validation. By attaching a generation counter to each data item and comparing it with the cached version, the system transforms the cache invalidation strategy into a selective validation approach, maintaining accuracy only when parameters (generation counters) actually change.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a generation-based cache mechanism is implemented, then cache effectiveness and data freshness are improved, but memory footprint increases

Engineering Contradiction:
Improvedata freshnessVSAvoidmemory footprint
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system segments the cache storage by organizing data items with their associated generation counters in a structured manner. Rather than storing entire data copies or complex metadata, the system segments information into essential components: the data item itself and a compact generation counter. This segmentation minimizes memory overhead while maintaining the ability to track freshness accurately.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses lightweight copying of only the essential generation counter value rather than copying entire data structures or complex validation metadata. The generation counter serves as a compact copy that encapsulates version information, enabling freshness verification with minimal memory consumption compared to storing full data replicas or complex state machines.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12026512B2Microservice data item storage and retrieval using generation-based cache
Publication Date: 2024.07.02 EMC IP HLDG CO LLC
  • US12026512B2 patent drawing
  • US12026512B2 patent drawing
  • US12026512B2 patent drawing

AI summary

Techniques are provided for microservice configuration information retrieval and storage using a generation-based cache. One method comprises obtaining, by a first microservice, a data item from a second microservice with a corresponding generation counter; maintaining, by the first microservice, the data item in a cache with the corresponding generation counter; invalidating, by the first microservice, one or more entries in the cache having a lower generation counter value than a current generation counter; and in response to a request for the data item, performing, by the first microservice: processing the requested data item, if the requested data item is in the cache after the invalidation; and if the requested data item is not in the cache after the invalidation: (i) retrieving the requested data item from the second microservice, (ii) processing the retrieved data item and (iii) placing the retrieved requested data item in the cache with a corresponding generation counter value.