Distributed Filesystem Deduplication via Cloud Controller Metadata
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network-based storage systems face challenges in maintaining data consistency and scalability, particularly in cloud-based storage solutions, where access latency and data consistency issues arise due to network failures and the need for substantial management overhead.
Innovation Solution
The implementation of a distributed filesystem with cloud controllers that cache and manage data, using deduplication techniques and incremental metadata snapshots to ensure data consistency and reduce storage overhead, by collectively managing data across multiple cloud storage systems and employing deduplication tables to identify and manage duplicate data blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If cloud-based storage systems are used to provide large-scale remote network storage solutions, then storage capacity and ease of scaling are improved, but access latency and data consistency problems worsen
Solution Approach 1:
The system segments storage management into multiple cloud controllers that collectively manage different portions of the distributed filesystem. Each cloud controller maintains local metadata and data blocks, allowing the system to scale storage capacity while maintaining data consistency through distributed coordination. This segmentation enables independent management of storage regions while preserving overall system reliability.
2Quantity of substance
If cloud-based storage systems are used to provide large-scale remote network storage solutions, then storage capacity and ease of scaling are improved, but access latency worsens
Solution Approach 1:
The system performs preliminary actions by pre-fetching data blocks and metadata from cloud storage systems before they are actually needed. Cloud controllers anticipate data access patterns and proactively retrieve data from remote storage, thereby reducing access latency when clients request data. This preliminary action maintains large storage capacity while improving access speed.
3Reliability
If traditional storage management techniques are used to maintain data consistency and redundancy, then data integrity is improved, but management overhead worsens
Solution Approach 1:
The system implements self-service mechanisms where cloud controllers automatically maintain data consistency and redundancy without requiring substantial manual management overhead. The controllers autonomously perform deduplication, metadata synchronization, and data recovery operations. This self-service approach maintains high data integrity while significantly reducing the time, effort, and expertise required for storage management.
4Loss of substance
If deduplication techniques are implemented in distributed filesystem, then storage overhead is reduced, but system complexity worsens
Solution Approach 1:
The system merges deduplication functionality into the existing cloud controller architecture, combining data storage, metadata management, and deduplication operations into a unified system. By integrating these functions rather than adding separate deduplication infrastructure, the system reduces storage overhead while minimizing the increase in system complexity. The cloud controllers perform deduplication as part of their normal data management operations.
Data Source
AI summary
The disclosed embodiments provide techniques for performing deduplication for a distributed filesystem. Two or more cloud controllers collectively manage distributed filesystem data that is stored in one or more cloud storage systems; the cloud controllers cache and ensure data consistency for the stored data. During operation, a cloud controller receives an incremental metadata snapshot that references new data that was added to the distributed filesystem by a remote cloud controller. The cloud controller extracts a set of deduplication information from this incremental metadata snapshot. Upon receiving a subsequent client write request (e.g., a file write that includes one or more data blocks), the cloud controller uses the extracted deduplication information to determine that one or more data blocks in the client write request have already been written to the distributed filesystem.


