Dual Merkle Tree File System Backup Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in updating backup copies of file systems, particularly in cloud-based object storage systems, due to high network traffic and unnecessary read/write operations, which can be costly and resource-intensive.

Innovation Solution

The implementation of a dual Merkle tree structure, comprising a metadata Merkle tree and a data Merkle tree, allows for efficient updates of backup copies by calculating temporary Merkle trees and comparing keys to identify changed sub-trees, reducing the need for extensive read operations and minimizing network traffic through incremental updates and de-duplication techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional backup methods are used to synchronize file systems to cloud storage, then data redundancy is achieved, but network traffic and read/write operations increase significantly

Engineering Contradiction:
Improvedata redundancyVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The file system is divided into two separate Merkle trees: a metadata Merkle tree for directory structures and file metadata, and a data Merkle tree for actual file contents. This segmentation allows independent verification and updating of metadata and data, enabling selective synchronization that reduces unnecessary network traffic while maintaining data redundancy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing full backup operations, the system performs partial actions by comparing Merkle tree roots and updating only the specific sub-trees or nodes that have changed. This partial action approach maintains data redundancy while significantly reducing network traffic and write operations compared to complete resynchronization.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If full file system copies are synchronized to cloud storage, then data security is improved, but storage costs and write operations increase

Engineering Contradiction:
Improvedata securityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system creates cryptographic copies (Merkle trees) of the file system structure and data rather than physical copies. These Merkle trees serve as verified representations that enable security verification without requiring complete duplicate storage of all file contents, thereby reducing storage capacity requirements while maintaining data security through cryptographic verification.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system changes the representation parameters of stored data from raw file contents to cryptographic hash-based Merkle tree structures. This parameter transformation enables efficient verification and selective updates, reducing the quantity of data that needs to be stored and transferred while maintaining security through the mathematical properties of hash functions.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If incremental updates are performed without verification, then update speed increases, but data integrity verification becomes complex

Engineering Contradiction:
Improveupdate speedVSAvoidverification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Merkle trees serve as intermediary structures between the file system and cloud storage verification processes. The tree structure provides intermediate hash values at each node, enabling efficient verification of incremental updates without requiring complex verification logic. Any change in the file system propagates up the Merkle tree, making it easy to identify and verify only the affected portions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary calculation of Merkle tree roots and intermediate node hashes before synchronization operations. This preliminary action prepares verification data in advance, enabling fast incremental updates with simple verification processes, as the cryptographic fingerprints of data blocks are already computed and stored in the Merkle tree structure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10387271B2File system storage in cloud using data and metadata merkle trees
Publication Date: 2019.08.20 GOOGLE LLC
  • US10387271B2 patent drawing
  • US10387271B2 patent drawing
  • US10387271B2 patent drawing

AI summary

A data storage apparatus includes an interface for communicating with a backup storage system, and one or more processors. The one or more processors are configured to store a local copy of at least part of a file system represented by hierarchical structure of directories and files, to store a backup copy of the at least part of the file system in the backup storage system, to store a dual Merkle tree that is calculated over the backup copy and includes (i) a metadata Merkle tree including Metadata Merkle-Tree Keys (MD-MTKs) and (ii) a data Merkle tree including Data Merkle-Tree Keys (D-MTKs), and to update the backup copy to match the local copy using the dual Merkle tree.