Distributed Lock Manager Bitmap for Cluster Cache Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In clustered environments, existing caching solutions are limited by the lack of interaction between disjoint caches, leading to increased latency and reduced throughput due to the inability to share data and access information, resulting in unnecessary I/O operations with slower backend storage devices.

Innovation Solution

The method involves determining and establishing an owner node within a cluster to manage data object ownership, using a distributed lock manager to ensure cache coherency, and selecting an owner node based on various policies such as random, circular, or cache characteristic methods, allowing for efficient data access and reduction of I/O operations by utilizing local caches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If local caches are implemented at each node, then processing load is distributed and single points of failure are minimized, but data sharing between nodes is prevented causing increased I/O latency

Engineering Contradiction:
Improvesystem reliabilityVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A distributed lock manager is introduced as an intermediary component that coordinates between disjoint caches in a cluster. The lock manager maintains a bitmap data structure to track which nodes hold locks on data objects, enabling coherent data sharing across nodes while preserving the reliability benefits of distributed caching. When a node needs data, it queries the lock manager to determine if another node has cached the data and can serve the request.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If disjoint caches in a cluster operate independently, then each node maintains its own cache locally, but data cannot be shared between nodes resulting in reduced throughput

Engineering Contradiction:
Improvecache operation simplicityVSAvoidapplication throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The distributed lock manager implements a feedback mechanism where nodes query the lock manager's bitmap to determine data ownership status. When a node requests data, the lock manager provides feedback about which node currently holds the lock and can serve the data. This enables automatic data sharing decisions without complex manual coordination, improving throughput while maintaining operational simplicity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The distributed lock manager serves multiple functions: it tracks data ownership across the cluster, mediates data sharing requests, maintains cache coherency, and enables efficient data routing. This multi-functionality allows disjoint caches to share data effectively without requiring separate mechanisms for each function, thereby improving throughput while keeping the system manageable.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Stability of the object's composition

If no data sharing mechanism is implemented between caches, then cache coherence is maintained locally, but unnecessary I/O operations to backend storage occur increasing latency

Engineering Contradiction:
Improvecache coherenceVSAvoidI/O efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The distributed lock manager acts as an intermediary that prevents unnecessary I/O operations by first determining whether data is already cached at another node before initiating a backend storage read. The lock manager's bitmap tracking mechanism enables efficient data sharing decisions, maintaining cache coherence while improving I/O efficiency by avoiding redundant reads from backend storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12147344B2Methods and systems for maintaining cache coherency between nodes in a clustered environment by performing a bitmap lookup in response to a read request from one of the nodes
Publication Date: 2024.11.19 ARCTERA US LLC
  • US12147344B2 patent drawing
  • US12147344B2 patent drawing
  • US12147344B2 patent drawing

AI summary

Disclosed herein are methods, systems, and processes to provide coherency across disjoint caches in clustered environments. It is determined whether a data object is owned by an owner node, where the owner node is one of multiple nodes of a cluster. If the owner node for the data object is identified by the determining, a request is sent to the owner node for the data object. However, if the owner node for the data object is not identified by the determining, selects a node in the cluster is selected as the owner node, and the request for the data object is sent to the owner node.