Dynamic Shared-Storage Access Keys for Cluster Service Fencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems in clusters lack effective methods to ensure data consistency and prevent unauthorized access by nodes that have lost cluster membership, particularly in scalable and cloud-based environments, leading to inefficiencies and resource wastage.

Innovation Solution

Implement a system that generates new secret access keys based on cluster membership changes, using generation identifiers and cryptographic functions to authenticate access requests, ensuring only valid cluster members can access shared storage resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If cluster nodes share common access keys to shared storage, then ease of operation is improved, but security deteriorates because non-member nodes can still access resources after being removed from the cluster

Engineering Contradiction:
Improveaccess to shared storageVSAvoiddata consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The access key is made dynamic by associating it with a generation identifier that changes when cluster membership changes. The storage system generates a new access key for each generation, ensuring that only nodes with the current generation's key can access resources. This resolves the contradiction by maintaining ease of operation for member nodes while automatically preventing access by non-member nodes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary action by invalidating old access keys before a node is officially removed from the cluster. When the storage system detects a generation change, it proactively revokes previous access keys, ensuring that even if a node is not properly removed from the cluster, it cannot access resources with its old key. This prevents the security vulnerability while maintaining operational simplicity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If access keys are changed frequently to maintain security, then reliability is improved, but device complexity increases due to key management overhead

Engineering Contradiction:
Improveaccess controlVSAvoidkey management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The generation identifier serves as an intermediary between the cluster membership state and the access key. Instead of directly managing complex key rotation when nodes are added or removed, the system uses the generation identifier as a simple mediator that triggers automatic key updates. This reduces key management complexity while maintaining reliable access control, as the intermediary abstracts the complexity of when and how keys should change.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the storage system generates new access keys for each cluster generation, then security is improved, but use of energy increases due to additional cryptographic operations

Engineering Contradiction:
Improveaccess controlVSAvoidcryptographic processing
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system uses periodic action by generating new access keys only at specific intervals - specifically, when the generation identifier changes. Instead of continuously validating or rotating keys, the system performs cryptographic operations periodically at generation boundaries. This reduces energy consumption compared to continuous key management while maintaining security through regular key updates triggered by cluster events.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS12443446B2Fencing off cluster services based on shared storage access keys
Publication Date: 2025.10.14 DELL PROD LP
  • US12443446B2 patent drawing
  • US12443446B2 patent drawing
  • US12443446B2 patent drawing

AI summary

A cluster service receives a cluster message based on a removal of a first service from membership in a first node in a cluster, and requests a shared storage to generate and then provide a new access key, thereby enabling the shared storage to use the new access key to validate requests to access resources stored by the shared storage. The cluster service receives the new access key from the shared storage, and sends the new access key in at least some cluster messages to at least a second service in a second node in the cluster of nodes. The second service creates a key based on the new access key. The second service uses the key to create a request to access a resource stored by the shared storage, sends the request to the shared storage, and then accesses the resource, which was previously accessed by the first service.