Shard-Level Cloud File System Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face significant processing overhead and resource utilization due to the need to create new versions of an entire file system upon changes, even when only a granular portion of the system has been modified, leading to inefficient data synchronization in large file systems with many users.

Innovation Solution

Implementing a shared versioned file system that synchronizes data at the shard or sub-directory level, using XML-based structured data representations and filer servers to manage changes locally before updating cloud storage, thereby limiting propagation of changes to the closest directory or sub-directory level, reducing unnecessary processing and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire file system is versioned upon any change, then data integrity and version control are maintained, but processing overhead and resource consumption increase significantly

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The file system is divided into independent shards (sub-directories), where each shard can be versioned and synchronized independently. This segmentation allows only the affected shard to be updated rather than the entire file system, reducing processing overhead while maintaining data integrity through selective versioning.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the entire directory structure is walked to detect changes, then accurate change detection is achieved, but time consumption and computational resources increase

Engineering Contradiction:
Improvechange detection accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The directory structure is segmented into shards, and change detection is performed only on the specific shard where a change occurred rather than walking the entire directory structure. This maintains accurate change detection for the affected area while significantly reducing time consumption and computational resources.

Inventive Principle:
Principle #1Segmentation

3Reliability

If new versions of parent directories are created for every file change, then complete version history is preserved, but processing overhead and resource usage increase

Engineering Contradiction:
Improveversion history completenessVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Version history is maintained at the shard level rather than creating new versions of entire parent directory structures. Each shard maintains its own version history independently, preserving version completeness for modified portions while reducing processing overhead by avoiding unnecessary version creation in unaffected areas.

Inventive Principle:
Principle #1Segmentation

4Productivity

If granular portion synchronization is implemented, then processing overhead is reduced, but system complexity increases due to sharding management

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The file system is segmented into shards managed by filer servers, enabling granular synchronization that improves processing efficiency. The complexity of sharding management is handled by the filer server infrastructure, which provides automated shard management and coordination.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11442902B2Shard-level synchronization of cloud-based data store and local file system with dynamic sharding
Publication Date: 2022.09.13 NASUNI CORP
  • US11442902B2 patent drawing
  • US11442902B2 patent drawing
  • US11442902B2 patent drawing

AI summary

An operations server synchronizes updates to a cloud-based shared versioned file system. The shared versioned file system includes directories and sub-directories that are divided into shards. The operations server coordinates requests from local filer servers, each running a respective local version of the shared versioned file system, to update a shard in the cloud-based shared versioned file system. The operations server can provide a global lock on the shard to a local filer server before it updates the shard in the cloud-based shared versioned file system. Preferably, shards are sized dynamically based on the number of entries in the directories associated therewith.