Versioned File System Sharing via Distributed Locks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage solutions lack reliable atomic object replacement in cloud-based object repositories, leading to incomplete data integrity and the need for global locks, which restricts the ability to maintain a complete state of a file system at any point-in-time.
Innovation Solution
A versioned file system interface that transforms a local file system into a series of structured data representations, such as XML documents, allowing for the reconstruction of the file system to any point-in-time without requiring global locks, by creating and exporting snapshots of changes to a write-once data store, enabling asynchronous updates and sharing among multiple entities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If global locks are used to ensure data integrity in cloud-based object repositories, then data integrity is improved, but system availability and access speed deteriorate due to restricted concurrent access
Solution Approach 1:
The patent segments the file system into versioned snapshots, where each snapshot is a complete but immutable representation of the file system at a specific point in time. This segmentation allows multiple nodes to access different versions simultaneously without requiring global locks, as each node operates on its own versioned data structure. The segmentation of data into discrete, versioned units enables concurrent access while maintaining integrity through immutable snapshots rather than through locking mechanisms.
Solution Approach 2:
The system performs preliminary actions by creating complete snapshots of the file system state before any changes occur. These pre-captured versions are stored in an immutable manner, ensuring that data integrity is preserved without requiring locks during access. The preliminary creation of versioned snapshots allows nodes to access historical states without interfering with ongoing writes, thereby maintaining both reliability and availability.
2Reliability
If versioned snapshots are created for every file system change, then data integrity is improved, but storage requirements and system complexity increase
Solution Approach 1:
The patent implements copying by creating complete snapshots of the file system state at version boundaries. Each snapshot is a full copy of the file system metadata and data structures at that moment, stored in an immutable format. This copying approach ensures that every node receives an identical, complete version of the file system state, guaranteeing data integrity without requiring complex distributed consensus protocols. The copies are distributed to nodes, which then operate independently on their local versions.
Solution Approach 2:
The system treats individual file system versions as disposable objects that can be created, distributed, and discarded efficiently. Each snapshot is a self-contained, immutable version that can be independently managed. When new versions are created, old versions can be discarded or archived without affecting the integrity of current operations. This disposable approach to version management simplifies the system by allowing straightforward creation and deletion of versioned snapshots without complex retention policies or dependency tracking.
3Adaptability or versatility
If multiple nodes share a cloud-based file system with write capabilities, then collaboration is improved, but data consistency deteriorates without proper synchronization mechanisms
Solution Approach 1:
The patent implements periodic action through scheduled snapshot creation and distribution cycles. Nodes periodically receive and apply versioned snapshots from the cloud service, ensuring they maintain consistent views of the shared file system. This periodic synchronization approach allows nodes to operate independently between updates while maintaining data consistency through regular version distribution. The periodic nature of snapshot distribution enables collaboration without requiring continuous synchronization or complex conflict resolution mechanisms.
Data Source
AI summary
A method of data sharing among multiple entities is provided. Each entity exports to a data store a structured data representation comprising a versioned file system local to that entity. The method begins by forming a sharing group that includes two or more entities. Sharing of the structured data representations by members of the sharing group is enabled. The filers use a single distributed lock to protect each version of the file system. This lock is managed to allow each filer access to the shared file system volume to create its new version. To share a fully-versioned file system, asynchronous updates at each of the filers is permitted, and each node is then allowed to “push” its individual changes to the store to form the next version of the file system. A mechanism also may be used to reduce the period during which filers in the group operate under lock.


