Distributed File System Inode Intents for Concurrent Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed file systems face challenges in maintaining consistency and concurrency while handling concurrent access and node failures, particularly in secondary storage environments where multiple nodes may update the file system simultaneously, leading to potential inconsistencies and incomplete transactions.

Innovation Solution

A two-level locking scheme combined with an update intent mechanism is employed, where nodes request node-level and process-level locks, and inodes store update intents specifying the ordered sequence of operations. This ensures that incomplete transactions are either completed or aborted, maintaining file system consistency without relying on centralized databases or journaling techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If concurrent access to file system objects is supported, then productivity is improved, but reliability deteriorates due to potential inconsistencies

Engineering Contradiction:
Improveconcurrent access capabilityVSAvoidfile system consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by storing update intents in inodes before actually performing file system operations. When a node intends to update a file system object, it first writes an update intent record to the inode, which includes the operation type and target inode sequence. This preliminary recording allows the system to later verify whether operations were completed successfully, resolving the consistency issue while maintaining concurrent access capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where nodes check update intents in inodes to determine the status of file system operations. By reading the update intent records and comparing them against actual operation completion status, the system receives feedback about whether operations succeeded or failed. This feedback loop enables automatic recovery actions (retry or rollback) to maintain consistency while allowing concurrent access to proceed.

Inventive Principle:
Principle #23Feedback

2Reliability

If node failures are tolerated, then reliability is improved, but loss of information occurs due to incomplete transactions

Engineering Contradiction:
Improvenode failure toleranceVSAvoidincomplete transaction data
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent stores update intents in inodes as a preliminary record before executing file system operations. This preliminary action ensures that even if a node fails during operation execution, the intent record remains in the inode. Other nodes can later read this intent record to understand what operation was supposed to be performed and whether it was completed, preventing loss of transaction information.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The update intent record stored in the inode acts as an intermediary between the failed node's incomplete operation and the recovering nodes. Instead of directly tracking operation status across distributed nodes (which is complex and error-prone), the patent uses the inode as a mediator that stores and communicates the operation intent and status. This intermediary mechanism preserves transaction information across node failures without requiring complex inter-node communication protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If centralized databases or journaling techniques are used to maintain consistency, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvetransaction safetyVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the transaction safety mechanism from external centralized components (databases or journaling systems) and embeds it directly into the file system metadata structure (the inode). Instead of maintaining separate centralized databases or journaling systems to track operation status, the patent stores update intents directly in the inodes themselves. This extraction eliminates the need for complex external systems while maintaining transaction safety.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The inode structure becomes self-service by containing its own update intent information. Rather than requiring external centralized databases to track and manage file system operation status, the inode itself stores the update intent records that enable consistency verification and recovery. This self-service approach eliminates the need for complex external management systems while maintaining transaction safety.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12505074B2Concurrent access and transactions in a distributed file system
Publication Date: 2025.12.23 COHESITY INC
  • US12505074B2 patent drawing
  • US12505074B2 patent drawing
  • US12505074B2 patent drawing

AI summary

An inode is associated with an incomplete file system operation to a file system object is determined based on an update intent stored in the inode. It is determined that a set of inodes is associated with the incomplete file system operation based on the update intent stored in the inode. The update intent indicates the set of inodes is associated with the incomplete file system operation. It is determined to complete the incomplete file system operation based on evaluating the set of inodes that is associated with the incomplete file system operation. Evaluating the set of inodes that is associated with the incomplete file system operation includes determining whether the set of inodes that is associated with the incomplete file system operation stores a corresponding update intent. The incomplete file system operation is completed based on the evaluation of the set of inodes that is associated with the incomplete file system operation.