Cloud Controller Caching for Distributed Filesystem Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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 network failures can lead to data consistency issues and significant downtime.

Innovation Solution

The implementation of cloud controllers that manage and cache distributed filesystem data across multiple cloud storage systems, using block metadata to determine which data blocks to cache opportunistically and ensure data consistency, while also generating incremental metadata snapshots to propagate changes across the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data is stored remotely in cloud-based storage systems, then storage management overhead is reduced and data storage capacity is increased, but access latency increases and data consistency problems occur

Engineering Contradiction:
Improvestorage management overheadVSAvoiddata consistency
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent segments the storage system into cloud controllers that collectively manage distributed filesystem data across multiple cloud storage systems. Each cloud controller maintains metadata and caches data blocks, dividing the management responsibility and improving both accessibility and consistency through distributed architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Cloud controllers serve as intermediary components between clients and cloud storage systems. They cache data blocks and maintain metadata, mediating access operations to reduce latency while ensuring data consistency through coordinated management across multiple controllers

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If cloud controllers cache data blocks locally, then access latency is reduced, but system complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Each cloud controller maintains local caches of data blocks and metadata relevant to its managed filesystem portions. This local caching provides fast access for frequently requested data while the distributed nature of the system prevents any single controller from becoming overly complex

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Cloud controllers perform multiple functions: they manage metadata for distributed filesystem data, cache data blocks locally for fast access, handle client requests, and coordinate with other controllers. This multi-functionality is managed through a standardized interface that prevents complexity from escalating

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If multiple cloud controllers collectively manage distributed filesystem data, then data consistency is ensured, but access latency may increase due to coordination overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidcoordination time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Cloud controllers pre-fetch data blocks and maintain caches before they are requested by clients. By anticipating access patterns and pre-loading data into local caches, the system reduces coordination overhead at access time while maintaining data consistency through the distributed metadata management

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9852149B1Transferring and caching a cloud file in a distributed filesystem
Publication Date: 2017.12.26 PANZURA LLC
  • US9852149B1 patent drawing
  • US9852149B1 patent drawing
  • US9852149B1 patent drawing

AI summary

The disclosed embodiments disclose techniques for transferring and caching a cloud file in a cloud controller. 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 a client request for a data block of a target file that is stored in the distributed filesystem but not currently cached in the cloud controller. The cloud controller initiates a request to a cloud storage system for a cloud file containing the requested data block. While receiving the cloud file from the cloud storage system, the cloud controller uses a set of block metadata in the portion of the cloud file that has already been received to determine the portions of the cloud file that should be downloaded to and cached in the cloud controller.