Lock Replication for Storage Node Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing locks in networked storage systems is challenging, particularly in ensuring continuity of access when one storage system becomes unavailable, as existing technologies lack effective mechanisms for lock replication and recovery across multiple nodes.

Innovation Solution

A method and system where a first storage system node grants a lock to a client and updates a lock data structure, with the information being mirrored at a second storage system node, enabling the second node to recover the lock and take over when the first node becomes unavailable, ensuring seamless client access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock information is stored only at the primary storage system node, then the system structure is simple, but the reliability deteriorates when the primary node becomes unavailable

Engineering Contradiction:
Improveservice continuityVSAvoidlock management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a copy of the lock data structure at the secondary storage system node. When the primary node becomes unavailable, the secondary node can recover the lock using this copied data, ensuring service continuity without requiring complex distributed locking protocols across the network.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The lock data structure is updated and replicated at the secondary node in advance, before the primary node fails. This preliminary action ensures that when failover is needed, the secondary node already has the necessary lock information to immediately take over without interruption to the client application.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If lock data is replicated at the secondary storage system node, then the reliability improves for failover, but the device complexity increases

Engineering Contradiction:
ImproveredundancyVSAvoiddata structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The lock data structure is segmented into essential components (lock identifier, client identifier, access rights) that are replicated at the secondary node. This segmentation allows the system to replicate only the necessary information for lock recovery, rather than duplicating the entire primary node's state, thus reducing the complexity increase from replication.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If the secondary node maintains lock information, then the ease of operation improves during failover, but the loss of information increases due to potential synchronization issues

Engineering Contradiction:
Improvelock recoveryVSAvoidlock state consistency
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The secondary node maintains a copy of the lock data structure that is updated by the primary node. This copying mechanism ensures that the secondary node has the necessary information to recover locks during failover, while the primary node remains the authoritative source, preventing information loss and maintaining lock state consistency.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8868530B1Method and system for managing locks in storage systems
Publication Date: 2014.10.21 NETAPP INC
  • US8868530B1 patent drawing
  • US8868530B1 patent drawing
  • US8868530B1 patent drawing

AI summary

Machine implemented method and system for a networked storage system having a first storage system node providing storage space to a client computing system at a first storage device and a second storage system node managing a second storage device are provided. A lock is granted by the first storage system node to the client computing system for accessing a data container stored at the first storage device. The first storage system node updates a lock data structure for managing the lock granted to the client computing system. Information regarding the lock is then replicated at the second storage system node, such that the second storage system node can recover the lock, when the first storage system node becomes unavailable and the second storage system node takes over the first storage device to interface with the client computing system.