Clustered Cloud Read Cache Without Coherency Messaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional clustered read caches rely on expensive and complex synchronous coherency messaging to maintain cache coherence, which can lead to performance issues and increased complexity, especially in large clusters where messages need to traverse multiple nodes.

Innovation Solution

A clustered coherent cloud read cache system that operates without coherency messaging by using a cloud reader agent to determine the validity of cached data based on node identifiers, current times, and last stubbed times, allowing for independent validation and caching without the need for cache coherency messaging between cloud reader and writer components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous coherency messaging is used to maintain cache coherence in a clustered read cache, then cache coherence is maintained, but system complexity and communication overhead increase significantly

Engineering Contradiction:
Improvecache coherenceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the coherency messaging mechanism from the clustered read cache system entirely. Instead of implementing synchronous messaging between nodes to maintain cache coherence, the system allows each node to independently determine cache validity using version stamps and timestamps stored locally with cached data. This elimination of the messaging subsystem directly reduces system complexity while maintaining coherence through an alternative validation approach.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If synchronous coherency messaging is implemented across multiple nodes, then cache coherence is ensured, but performance deteriorates due to communication delays and blocking

Engineering Contradiction:
Improvecache coherenceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-storing version stamps and timestamps with cached data before any coherence validation is needed. When a read request arrives, the node can immediately validate cache validity using these pre-stored metadata fields without initiating any communication. This eliminates communication delays and blocking, allowing parallel operations across multiple nodes while maintaining coherence through timestamp comparison.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If coherency messaging traverses across multiple nodes, then cache coherence is maintained, but bandwidth consumption and resource usage increase

Engineering Contradiction:
Improvecache coherenceVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements self-service by enabling each node to independently validate its own cached data using locally stored version stamps and timestamps. Instead of relying on other nodes to send coherence messages, each node serves its own coherence validation needs by comparing timestamps and version stamps against the backing store or cache metadata. This eliminates inter-node communication for coherence purposes, reducing bandwidth consumption and resource usage while maintaining reliability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3984200B1Clustered coherent cloud read cache without coherency messaging
Publication Date: 2024.05.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3984200B1 patent drawingFigure 1
  • EP3984200B1 patent drawingFigure 2
  • EP3984200B1 patent drawingFigure 3

AI summary

Described herein is a system and method for performing a clustered coherent cloud read cache without coherency messaging. At a cloud reader agent having a read cache, a request for a particular portion of data is received from a client. The request includes an identifier of the node making the request, a current time on the node making the request, a last stubbed time of the particular portion of data, and/or an identifier of the particular portion of data. When the particular portion of data is stored in the read cache of the cloud reader agent, the cloud reader agent can determine whether the cached particular portion of data is valid based, at least in part, upon the received identifier of the node making the request, the received last stubbed time of the particular portion of data, and/or, a stored time associated with the cached particular portion of data.