Clustered File System Write Verification via Master Verifier Cookies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing devices, there is a challenge in reliably determining whether data has been persistently stored across a node cluster, especially when nodes reboot, leading to unstable storage and inefficient resource utilization due to unserviced write requests.

Innovation Solution

A method involving master verifier cookies and FM write cookies is used to determine if a write request was persistently stored by comparing cookies in a node cookie hash table, updating the master verifier cookie when mismatches occur, and sending the updated cookie to the client to ensure data integrity and resource optimization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If nodes in a clustered file system are used to store data, then storage capacity and distribution are improved, but data reliability deteriorates when nodes reboot due to unstable writes

Engineering Contradiction:
Improvestorage capacityVSAvoiddata reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary actions by sending commit requests to all relevant nodes before considering a write complete. The client waits for acknowledgments from all nodes, ensuring data is replicated before the writing node can reboot. This preliminary replication prevents data loss during node restarts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where nodes send acknowledgments back to the client confirming successful data reception. The client monitors these feedback signals to determine when all nodes have successfully received and stored the data, ensuring reliability before allowing the writing node to reboot.

Inventive Principle:
Principle #23Feedback

2Reliability

If the system waits for confirmation from all nodes before completing a write operation, then data integrity is improved, but processing time increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs the data replication action preliminarily by sending commits to all nodes in advance. Once all nodes acknowledge receipt, the write operation is considered complete and the node can safely reboot without risking data loss, thus maintaining integrity while enabling efficient operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by keeping the writing node operational throughout the acknowledgment process. Rather than stopping the node, the system continues to receive acknowledgments from other nodes, allowing the writing node to immediately resume normal operations once the commit is complete.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If the system implements comprehensive verification of write operations across all nodes, then data reliability is improved, but system complexity increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the verification process into individual acknowledgment messages from each node. Rather than implementing a single complex verification mechanism, the system divides the task into simple, independent confirmation signals from each node, reducing overall system complexity while maintaining comprehensive verification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses simple feedback signals (acknowledgments) from each node to verify data receipt. This feedback mechanism provides comprehensive verification through straightforward, standardized messages rather than complex verification protocols, keeping the system manageable while ensuring reliability.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If nodes are allowed to reboot frequently, then system maintenance and adaptability are improved, but data stability deteriorates due to unstable writes

Engineering Contradiction:
Improvesystem adaptabilityVSAvoiddata stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary data replication to all nodes before the writing node reboots. This ensures that even if the writing node reboots frequently for maintenance or adaptability purposes, the data has already been safely stored on other nodes, maintaining data stability despite frequent reboots.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses other nodes in the cluster as intermediaries to store and hold the data temporarily. When the writing node needs to reboot for maintenance or adaptability, the data resides safely on intermediary nodes until the writing node returns, preserving data stability during the reboot cycle.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11604786B2Method and system for processing unstable writes in a clustered file system
Publication Date: 2023.03.14 EMC IP HLDG CO LLC
  • US11604786B2 patent drawing
  • US11604786B2 patent drawing
  • US11604786B2 patent drawing

AI summary

A method includes receiving, from a client and by a node, a commit request associated with a first datum, sending, in response to the commit request, a second commit request to a second node, wherein the second node comprises the first datum, after sending the second commit request, receiving a first cookie from the second node, making a first determination that the first cookie does not match a second cookie stored in a node cookie hash table, wherein the second cookie is associated with the second node, in response to the first determination, updating a master verifier cookie on the node to obtain an updated master verifier cookie, and sending the updated master verifier cookie to the client.