File Sync Service Parallelization and Metadata Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Synchronizing data between on-premises storage and hosted data storage services is challenging due to differences in storage paradigms and scaling characteristics, leading to inefficiencies in data synchronization.

Innovation Solution

The system employs a synchronization control plane and gateways that leverage local metadata caching and service modeling to identify and synchronize files efficiently, using parallelization and bulk operations to optimize data transfer based on the characteristics of remote data storage services, thereby minimizing network traffic and errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional data synchronization methods are used between on-premises storage and hosted data storage services, then data can be synchronized, but synchronization efficiency is low and network traffic is excessive

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidnetwork traffic
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by caching metadata locally before actual data synchronization occurs. The synchronization control plane maintains a local cache of metadata from the remote data storage service, allowing the system to pre-determine which files need synchronization without repeatedly querying the remote service during the sync process. This preliminary metadata preparation reduces the amount of network traffic required during actual synchronization operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The synchronization control plane acts as an intermediary between the on-premises data storage system and the remote data storage service. It introduces a local metadata cache and service model that mediate synchronization operations, allowing the system to locally determine synchronization needs before communicating with the remote service. This intermediary layer filters and optimizes network communications by only transferring data when actually necessary.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data synchronization is performed frequently to ensure data consistency, then data accuracy is improved, but system resources and network bandwidth are consumed excessively

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system extracts only the essential metadata information from remote data storage operations and stores it locally in a cache. By separating metadata management from actual data transfer, the system can frequently check for synchronization needs using the local cache without incurring the full cost of actual data transfer operations. This extraction of metadata from the synchronization process enables frequent consistency checks with minimal resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs partial synchronization actions by using the local service model and metadata cache to determine synchronization needs before executing actual data transfers. Rather than performing complete synchronization operations frequently, the system performs partial checks locally and only executes full synchronization actions when necessary, reducing overall system resource consumption while maintaining data consistency.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the system adapts to different remote data storage service characteristics for optimization, then synchronization performance is improved, but system complexity increases

Engineering Contradiction:
Improvesynchronization performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system changes parameters by maintaining a service model that captures the characteristics of different remote data storage services. This service model stores configurable parameters about remote service behavior, allowing the synchronization control plane to adapt its operations based on the specific characteristics of the connected remote service. By parameterizing service characteristics rather than hardcoding behavior, the system achieves adaptability while managing complexity through configuration rather than structural complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10783120B1Service-based storage synchronization
Publication Date: 2020.09.22 AMAZON TECH INC
  • US10783120B1 patent drawing
  • US10783120B1 patent drawing
  • US10783120B1 patent drawing

AI summary

A file synchronization service generates a listing of files stored on a local data volume by executing a plurality of threads corresponding to directories of the data volume. Files to synchronize with a remote data storage service are identified based on comparison of the listed files with cached data indicative of files stored by the remote data storage service. A plurality of file synchronization requests are sent to the remote data storage service, where the plurality of files are sent in an order that is determined at least partly based on a scaling characteristic of the remote data storage service.