Snapshot Key Inter-dependency Resolution in Cross-Region Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current file system cross-region replication technologies face inefficiencies due to dependency relationships between parent directories and child files, leading to high IO traffic, long latency, and hindered parallel processing, especially when storage devices are remote, and lack effective mechanisms for snapshot key inter-dependency resolution.

Innovation Solution

A hierarchical caching mechanism is introduced, utilizing a B-tree layout for replication-related information and a hierarchy of caches to enable efficient parallel processing and inter-dependency resolution, where a dummy entry is created in the B-tree to allow processing of second-type information without waiting for the first-type information, and crypto keys are reused and updated across caches for encryption and decryption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional replication methods are used with dependency relationships between parent directories and child files, then data consistency is maintained, but IO traffic increases, latency increases, and parallel processing is hindered

Engineering Contradiction:
Improvedata consistencyVSAvoidparallel processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the B-tree structure into multiple cache levels (L1, L2, L3 caches) that can be processed independently. Each cache level stores specific types of information (e.g., L1 for parent directory keys, L2 for child file keys, L3 for data blocks), allowing parallel processing of different segments without waiting for dependencies to be resolved sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-loading and caching metadata information in hierarchical cache structures before actual replication operations. The B-tree keys and metadata are organized in advance across multiple cache levels, so that during replication, the system can directly access pre-positioned data without real-time dependency resolution, enabling parallel processing while maintaining consistency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If storage devices are remote, then data security and availability are improved, but IO traffic increases and latency increases

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

Solution Approach 1:

The patent implements a nested hierarchical cache structure where L1 cache is nested within L2 cache, and L2 is nested within L3 cache. This nested arrangement allows the system to access frequently used metadata and keys in faster L1/L2 caches before falling back to remote storage, reducing the need for frequent remote IO operations and thereby reducing latency while maintaining data availability.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces a temporal dimension to storage by creating a hierarchical time-based cache structure. Recently accessed and frequently used data are kept in faster, closer cache levels, while less frequently accessed data remain in remote storage. This dimensional organization allows the system to optimize access patterns based on temporal usage patterns, reducing latency for active operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If hierarchical caching mechanism with B-tree layout is used, then parallel processing efficiency and throughput are improved, but device complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidcaching mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent designs the hierarchical cache structure to serve multiple functions simultaneously: it acts as a B-tree organization structure, a caching mechanism, and a parallel processing framework. The same L1/L2/L3 cache hierarchy is used for both metadata storage and data block storage, eliminating the need for separate complex structures and reducing overall system complexity while enabling parallel processing.

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

Solution Approach 2:

The hierarchical cache structure is designed to be self-organizing and self-managing. The B-tree keys automatically route to appropriate cache levels based on their type and access patterns, without requiring complex external management. The system automatically manages cache coherence and data placement across levels, reducing the operational complexity despite the multi-level architecture.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240104062A1Techniques for resolving snapshot key inter-dependency during file system cross-region replication
Publication Date: 2024.03.28 ORACLE INT CORP
  • US20240104062A1 patent drawing
  • US20240104062A1 patent drawing
  • US20240104062A1 patent drawing

AI summary

Techniques are described for snapshot key inter-dependency resolution during cross-region replications. Dependency between a first type of replication-related information (e.g., crypto keys associated with a parent directory iNode or a file iNode) and a second type of replication-related information (e.g., files, file data/FMAPs, or symbolic links) during a cross-region replication may be resolved to enable non-blocking delta application in a target file system. In some embodiments, temporary dummy entries for the first type of information may be created in the B-tree of the target file system for the out-of-order download (e.g., the second type being downloaded before the first type) of these two types of information. In some embodiments, a consolidation process may be performed between the dummy entries and the later-arriving first type of information.