Interim Notifications for Distributed Filesystem Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network storage systems face challenges in maintaining data consistency and performance, especially in large-scale cloud-based storage solutions, where access latency and network failures can lead to data consistency issues and prolonged downtime.
Innovation Solution
A distributed filesystem approach where cloud controllers collectively manage and cache data, ensuring consistency by sending interim notifications to clients, tracking delays, and using transactional filesystems to facilitate client requests, allowing asynchronous file access and byte-range locking to improve performance and collaboration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If cloud-based storage systems are used to simplify storage management, then storage management overhead is reduced, but access latency increases
Solution Approach 1:
The system segments storage management by introducing multiple cloud controllers that collectively manage distributed filesystem data. Each cloud controller caches portions of the distributed filesystem locally, allowing clients to access frequently used data from local caches rather than remote storage, thereby reducing access latency while maintaining simplified storage management.
Solution Approach 2:
Cloud controllers act as intermediaries between clients and remote cloud storage systems. They receive client requests, determine whether data can be served from local caches or requires remote access, and manage the synchronization of data between remote storage and local caches, thus reducing client access latency to cloud storage.
2Adaptability or versatility
If data is stored remotely in cloud-based storage, then storage capacity can be easily increased, but network failures can prevent data access for significant periods
Solution Approach 1:
The system performs preliminary actions by having cloud controllers proactively cache portions of the distributed filesystem before clients need to access them. This pre-caching ensures that frequently accessed data is already available locally, reducing the impact of network failures on data availability.
Solution Approach 2:
The system provides beforehand cushioning by maintaining local caches of filesystem data at cloud controllers. These caches act as a buffer or cushion that protects against network failures, allowing clients to continue accessing cached data even when network connectivity to remote storage is interrupted.
3Reliability
If cloud controllers contact remote cloud controllers to service client requests, then data consistency can be maintained, but request processing time increases
Solution Approach 1:
The system applies local quality by having each cloud controller maintain local caches of filesystem portions and metadata. When servicing client requests, controllers first check local caches and only contact remote controllers when necessary, thereby maintaining data consistency while minimizing remote communication overhead and request processing time.
Solution Approach 2:
The system uses partial action by having cloud controllers contact remote controllers only partially - specifically, only when local caches need to be updated or when data is not available locally. This selective remote communication maintains data consistency while reducing overall request processing time compared to always contacting remote controllers.
4Reliability
If clients wait for remote operations to complete before proceeding, then data consistency is ensured, but client file access performance decreases
Solution Approach 1:
The system enables continuity of useful action by allowing cloud controllers to continue processing new client requests and performing remote operations asynchronously. Controllers can initiate remote operations without blocking client requests, maintaining data consistency through background synchronization while improving client file access performance by eliminating waiting time.
Solution Approach 2:
The system uses feedback mechanisms to notify clients when remote operations complete. Cloud controllers send interim notifications to clients about pending requests and use feedback loops to synchronize data consistency in the background, allowing clients to proceed with file access operations without waiting for remote operations to complete while still ensuring eventual consistency.
Data Source
AI summary
The disclosed embodiments disclose techniques for sending interim notifications to a client of 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 ensure data consistency for the stored data, and each cloud controller caches portions of the distributed filesystem. During operation, a cloud controller receives a client request to access a file. The cloud controller determines that it will need to contact at least one of another peer cloud controller or a cloud storage system to service the request, and sends an interim notification to the client to notify the client that the request is pending.


