Linux Block I/O Replication via BIO Structure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Linux kernel lacks a native mechanism for suitably replicating or synchronizing block device I/O operations, which is crucial for continuous data protection, and existing methods are inefficient and can cause system instability.

Innovation Solution

The system utilizes a block input/output (BIO) structure to capture changes on a master block device and replicate them on a standby device, providing multiple-layer data replication at the whole block device, partition, and file system levels, using a monitoring mechanism and replay engine to ensure synchronization without the need for cumbersome file system filters or I/O operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional data replication methods are used in Linux architecture, then data synchronization can be achieved, but system stability deteriorates and performance is reduced

Engineering Contradiction:
Improvedata synchronization reliabilityVSAvoidsystem instability
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent introduces a BIO structure as an intermediary layer between the file system and block device. This BIO structure captures I/O requests at the kernel level and enables data replication without interfering with the stability of the file system or block device operations, thus achieving data synchronization while maintaining system stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements data replication by creating copies of I/O requests through the BIO structure. Instead of modifying existing file system filters or block device operations, the system captures and replicates I/O requests at the BIO level, ensuring data synchronization without causing system instability.

Inventive Principle:
Principle #26Copying

2Loss of information

If file system filters are used for data replication, then data changes can be captured, but device complexity and operation difficulty increase

Engineering Contradiction:
Improvedata change capture accuracyVSAvoidreplication mechanism complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The BIO structure serves as an intermediary that captures data changes at the kernel I/O level, eliminating the need for complex file system filters. This approach simplifies the replication mechanism while maintaining accurate capture of data changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical approach of using file system filters with a more efficient mechanism operating at the BIO level in the kernel. This substitution reduces complexity by moving the capture point closer to the I/O operation source, where changes can be detected more directly.

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

3Reliability

If multiple-layer data replication is implemented, then data protection coverage is improved, but processing time and computational resources increase

Engineering Contradiction:
Improvedata protection coverageVSAvoidreplication processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The BIO structure is prepared and configured in advance within the kernel I/O subsystem. By having the replication mechanism pre-established at the BIO level, the system can capture and replicate data changes immediately without additional processing overhead, thus improving data protection coverage while minimizing time loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous data replication through the BIO structure, which operates seamlessly as part of the normal I/O flow. This continuous operation ensures comprehensive data protection without interrupting or slowing down the I/O operations, maintaining efficiency while providing multi-layer protection.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9384253B1System and method for multiple-layer data replication in a Linux architecture
Publication Date: 2016.07.05 CA TECH INC
  • US9384253B1 patent drawing
  • US9384253B1 patent drawing
  • US9384253B1 patent drawing

AI summary

The system and method described herein may support multiple-layer data replication using a block input/output (“BIO”) structure that an operating system kernel employs to provide an intermediate mechanism between file systems and block devices. For example, the system and method described herein may capture events that occur when the kernel uses the BIO structure to encapsulate input/output requests that will change data on a master block device. As such, a replication mechanism may send the changes encapsulated within the BIO structure to a replay mechanism, which may then replicate the changes on a standby block device to ensure that the master block device and the standby block device have an identical state. Alternatively, a filter may be used to only replicate changes to certain partitions or file system objects on the master block device.