Interim Notifications for Distributed Filesystem Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage management overheadVSAvoidaccess latency
Core Design Contradiction:
Ease of operationVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvestorage capacity scalabilityVSAvoiddata availability during network failures
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If cloud controllers contact remote cloud controllers to service client requests, then data consistency can be maintained, but request processing time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidrequest processing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If clients wait for remote operations to complete before proceeding, then data consistency is ensured, but client file access performance decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidclient file access performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #20Continuity of useful action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9613048B2Sending interim notifications to a client of a distributed filesystem
Publication Date: 2017.04.04 PANZURA LLC
  • US9613048B2 patent drawing
  • US9613048B2 patent drawing
  • US9613048B2 patent drawing

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.