Cache Invalidation via Message Queue Subscription

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current content delivery systems face challenges in efficiently invalidating caches across multiple server nodes, leading to delays, stale content, and resource consumption issues due to unavailability of nodes and mismatched invalidation mechanisms.

Innovation Solution

A cache invalidation system that includes a repository, an object cache, a memory for storing a cache invalidation queue and status, and a processor to manage notifications of operations affecting repository objects, store invalidations, and periodically clear cached objects based on unprocessed invalidations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential remote calls are used to invalidate caches at delivery stage nodes, then cache invalidation can be performed, but delays occur when nodes are unavailable and resource consumption increases due to maintaining backlogs

Engineering Contradiction:
Improvecache invalidation reliabilityVSAvoidinvalidation delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by publishing cache invalidation events to a message queue before the actual invalidation is needed. Delivery stage nodes continuously subscribe to and consume these events, ensuring that invalidation is triggered immediately when nodes become available, rather than waiting for sequential retry attempts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A message queue acts as an intermediary between the management stage and delivery stage nodes. Instead of direct sequential communication, invalidation requests are published to the queue, which then distributes them to available nodes, decoupling the sender from receivers and eliminating the need to maintain backlogs for unavailable nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If sequential remote calls with backlogs are used to handle unavailable nodes, then all nodes can eventually receive invalidation messages, but processing and network resources are consumed by maintaining and retrying backlogs

Engineering Contradiction:
Improveinvalidation delivery completenessVSAvoidprocessing and network resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The message queue serves as an intermediary that naturally handles unavailable nodes without requiring the deployment agent to maintain backlogs. When nodes are unavailable, they simply cannot consume messages from the queue; when they become available, they automatically receive and process pending invalidation events without requiring retry logic or backlog management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Delivery stage nodes autonomously subscribe to and consume invalidation events from the message queue based on their own availability. Each node independently manages its own state and processes invalidations as they become available, eliminating the need for centralized backlog management and retry mechanisms at the deployment agent.

Inventive Principle:
Principle #25Self-service

3Reliability

If delivery stage nodes are registered with the management stage for invalidation, then invalidation messages can be sent, but new nodes do not receive messages until registration and agent restart

Engineering Contradiction:
Improveinvalidation message deliveryVSAvoidnew node integration speed
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Delivery stage nodes automatically subscribe to invalidation events in the message queue based on their own initialization, without requiring registration with the management stage or agent restart. When a new node starts, it independently establishes its subscription and begins receiving invalidation events immediately, enabling seamless integration into the system.

Inventive Principle:
Principle #25Self-service

4Productivity

If different mechanisms are used for content changes and invalidations, then content delivery can proceed, but mismatches occur between object cache and updated content

Engineering Contradiction:
Improvecontent delivery throughputVSAvoidcache content consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system merges the content change mechanism and the invalidation mechanism by using the same message queue for both purposes. Content changes are published as events to the queue, and invalidation events are also published to the same queue, ensuring that delivery stage nodes receive both types of events through a unified subscription model, eliminating mismatches between cache state and actual content.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12292833B2System and method for cache invalidation
Publication Date: 2025.05.06 OPEN TEXT SA ULC
  • US12292833B2 patent drawing
  • US12292833B2 patent drawing
  • US12292833B2 patent drawing

AI summary

One embodiment of a cache invalidation method includes storing an invalidation status usable by a computing node to identify, from a broadcast cache invalidation queue, a last processed invalidation that was processed with respect to an object cache used by the node. The method further comprises the node determining a set of unprocessed invalidations from the broadcast cache invalidation queue that are subsequent to the last processed invalidation determined from the invalidation status. The node processes the set of unprocessed invalidations to clear cached objects from the object cache. Based on processing the set of unprocessed invalidations to clear cached objects from the object cache, the invalidation status is updated with an identifier corresponding to a last invalidation from the set of previously unprocessed invalidations.