Kubernetes NBD Continuous Replication via Intermediary Filter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current backup mechanisms for Kubernetes container management systems only support system-level backups and lack integrated replication, making continuous replication complex and limited, especially since array-based replication is not heterogeneous and kernel splitter methods depend on the operating system.

Innovation Solution

Implementing a Network Block Device (NBD) based continuous replication method that configures a pod with an NBD container to intercept I/Os, using a filter driver within the NBD server to write data to both a persistent volume and a remote replication server, allowing for point-in-time recovery and seamless failover.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If array-based replication technique is used, then replication can be performed, but it requires specific array and is not heterogeneous

Engineering Contradiction:
Improvereplication compatibilityVSAvoidarray configuration requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a storage array intermediary layer that sits between the host systems and the replication process. This intermediary abstracts the replication logic from the specific array hardware, allowing replication to occur across different array types and configurations without requiring host-specific array implementations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If kernel splitter is used, then replication can be performed, but it depends on the OS and requires access to the kernel

Engineering Contradiction:
Improveoperating system independenceVSAvoidkernel access requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The storage array acts as an intermediary that implements the replication function at the storage layer rather than requiring kernel-level access on host systems. This eliminates the dependency on specific operating systems and kernel versions, making the replication solution portable across different OS platforms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical/kernel-level interception approach with a storage-array-based interception mechanism. Instead of using kernel filters or splitters that require OS-level access, the replication function is implemented in the storage array itself, substituting the need for kernel-level modifications with a storage-layer solution.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If system level backups are used, then backup can be performed, but application level backups are not supported

Engineering Contradiction:
Improvebackup granularityVSAvoidbackup mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the backup function into application-level operations that can be performed independently on different data volumes. The storage array enables granular backup of specific application data without requiring full system-level backup, allowing selective backup of individual volumes, LUNs, or data sets based on application requirements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10908999B2Network block device based continuous replication for Kubernetes container management systems
Publication Date: 2021.02.02 EMC IP HLDG CO LLC
  • US10908999B2 patent drawing
  • US10908999B2 patent drawing
  • US10908999B2 patent drawing

AI summary

Providing continuous replication for container management system that allows configuration of a volume as a replicated network block device (NBD) volume to an actual backend volume. The system configures a pod with an NBD container running and with the actual backend volume device attached. An NBD server intercepts all I/O data arriving to the NBD volume and a filter driver intercepts writes to the NBD volume and writes them to the actual backend volume. The intercepted I/O data is also sent to a remote replication server container with persistent and journal volumes. The data is applied to the replication volume using the journal as a recover point for recovery for any point in time.