Logical Operation Coalescer for Concurrent File System Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern data storage systems face challenges in maintaining coherence and scalability, particularly when concurrent access by multiple clients leads to interference with data security, as existing methods for improving scalability can conflict with security and coherence requirements.

Innovation Solution

The system employs logical operation coalescing, using fine-grained locking and extended attributes to concurrently update file system objects, allowing for resource sharing communication locking and updating of data structures while maintaining coherence and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exclusive locks of different scope are used to maintain coherence, then data coherence is improved, but system scalability deteriorates

Engineering Contradiction:
Improvedata coherenceVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the locking mechanism into fine-grained locks at the inode level rather than using coarse-grained exclusive locks. Each inode can be locked independently, allowing multiple inodes to be updated concurrently by different clients. This segmentation enables both coherence (through controlled locking) and scalability (through parallel operations on different inodes)).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic locking where locks are acquired and released based on actual update operations. The locking mechanism adapts to different access patterns and update scenarios, allowing flexible concurrency control that maintains coherence when needed while permitting parallel operations to improve scalability.

Inventive Principle:
Principle #15Dynamics

2Reliability

If selective caching and serialization of changes are applied to improve coherence, then data coherence is improved, but system performance deteriorates

Engineering Contradiction:
Improvedata coherenceVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary locking before updates to ensure coherence, but then allows concurrent execution of updates once locks are acquired. The locking is done in advance at the inode level, and subsequent update operations can proceed in parallel without requiring continuous serialization, thus maintaining both coherence and performance.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple clients access data concurrently to improve scalability, then system scalability is improved, but data security and coherence deteriorate

Engineering Contradiction:
Improvesystem scalabilityVSAvoiddata coherence and security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

By segmenting the data structure into independent inodes, the system allows multiple clients to access and update different inodes concurrently without interference. Each inode maintains its own lock, enabling fine-grained concurrency control that supports scalability while preserving coherence through proper locking discipline.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11921678B2Using a logical operation coalescer to concurrently update file system objects
Publication Date: 2024.03.05 DELL PROD LP
  • US11921678B2 patent drawing
  • US11921678B2 patent drawing
  • US11921678B2 patent drawing

AI summary

The technologies described herein are generally directed toward using logical operation coalescing to concurrently update file system objects. According to an embodiment, a system can comprise a processor and a memory that can enable performance of operations including receiving a first data update from first node equipment for a first part of an entry of a data structure comprising multiple linked entries, and a second data update from second node equipment for a second part of the entry of the data structure. The operations can further include locking, by the first computing equipment, the first part and the second part of the entry. Further, the operations can include, based on the first data update and the second data update, updating, by the first computing equipment, respectively, the first part and the second part of the entry.