Interconnect Layer for Synchronous NVLog Mirroring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data mirroring techniques are not scalable and add complexity when dealing with distributed filesystems, as they require the client to be aware of multiple replication partners and their locations, leading to performance overhead and management challenges.

Innovation Solution

A system that allows a mirror client to issue a single mirroring command, which is split into multiple instances by an interconnect layer to be sent to multiple mirror partner nodes, enabling simultaneous mirroring of data and metadata without the client needing to know the number or location of partner nodes, and manages the mirroring process to ensure data consistency and availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional data mirroring techniques are used with multiple replication partners, then data redundancy and recovery capability are improved, but system complexity and management overhead increase significantly

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a File System (FS) as an intermediary layer between the client and multiple mirror partners. The FS transparently manages the complexity of multi-node mirroring by handling partner selection, data distribution, and consistency maintenance, while the client only needs to issue a single mirroring command. This mediator approach resolves the contradiction by shielding the client from system complexity while maintaining robust data recovery capabilities across multiple partners.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the client is made aware of multiple replication partners and their locations, then mirroring control and data consistency are improved, but performance overhead and operational complexity increase

Engineering Contradiction:
Improvedata consistencyVSAvoidoperational complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements self-service mechanisms where the File System automatically performs partner selection, data routing, and consistency management without requiring client intervention. The client simply issues a high-level mirroring command, and the FS handles all underlying complexities including selecting appropriate partners, distributing data, and ensuring consistency. This self-service approach maintains data consistency while dramatically reducing operational complexity for the client.

Inventive Principle:
Principle #25Self-service

3Reliability

If traditional mirroring approaches are used in distributed filesystems, then data backup capability is improved, but scalability is limited due to client awareness requirements

Engineering Contradiction:
Improvedata backup capabilityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the mirroring functionality into distinct layers: the client layer issues simple commands, the File System layer manages complexity, and the storage layer handles actual data distribution across multiple partners. This segmentation allows the system to scale independently - new mirror partners can be added to the storage layer without affecting the client, and the FS can dynamically manage an arbitrary number of partners. This resolves the scalability limitation while maintaining robust backup capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9307011B2Synchronous mirroring of NVLog to multiple destinations (architecture level)
Publication Date: 2016.04.05 NETAPP INC
  • US9307011B2 patent drawing
  • US9307011B2 patent drawing
  • US9307011B2 patent drawing

AI summary

Systems and methods herein are operable to simultaneously mirror data to a plurality of mirror partner nodes. In embodiments, a mirror client may be unaware of the number of mirror partner nodes and/or the location of the plurality of mirror partner nodes, and issue a single mirror command requesting initiation of a mirror operation. An interconnect layer may receive the single mirror command and split the mirror command into a plurality of mirror instances, one for each mirror node partner, wherein the mirror instances may be simultaneously launched. After the plurality of mirror operations has begun, the interconnect layer may manage completion reports indicating the completion status of respective mirror operations, and send a single return to the mirror client indicating whether the mirror command succeeded.