Fault-Tolerant File Replication via Concurrent Block Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional fault-tolerant file replication systems are inefficient due to sequential writing of changes, requiring two independent I/O operations for each update, which increases storage and processing burdens and does not exploit concurrent execution capabilities of storage devices.

Innovation Solution

A system that identifies primary and secondary replica files, allowing concurrent processing and direct modification of replicas, with a processor that receives requests, updates local and remote replica files, and ensures replication success by matching responses against a quorum value, thereby minimizing storage and processing loads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional replication mechanisms write changes sequentially to persistent logs and then to replica files, then data consistency is maintained, but storage devices face additional storage and processing burdens and cannot exploit concurrent execution capabilities

Engineering Contradiction:
Improvedata consistencyVSAvoidconcurrent execution capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the file into multiple independent parts or blocks that can be updated concurrently. Instead of treating the entire file as a single sequential update unit, each block can be replicated and updated independently across multiple storage devices, enabling parallel processing while maintaining overall data consistency through version control and conflict resolution mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by maintaining persistent logs that record all changes before they are applied to replica files. This allows the system to pre-process and queue updates, then apply them concurrently to multiple replicas using techniques like vector clocks and conflict-free replicated data types (CRDTs), rather than strictly sequential application.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional replication mechanisms require two independent I/O operations for each update (once to persistent log, second time to replica file), then data integrity is ensured, but storage and processing burdens increase

Engineering Contradiction:
Improvedata integrityVSAvoidstorage and processing burden
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the persistent log and replica file update operations into a single coordinated I/O operation. By using distributed transaction protocols and atomic commit mechanisms, the system ensures that both the log and the replica file are updated together in one atomic operation, eliminating the need for two separate I/O operations while maintaining data integrity through rollback capabilities if the operation fails.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses copying techniques where the persistent log structure is replicated across multiple storage devices in the same manner as the actual file data. This allows each storage device to have both the log and data copies locally, enabling concurrent updates without centralized coordination overhead and reducing the burden on any single device.

Inventive Principle:
Principle #26Copying

3Productivity

If traditional replication systems update the persistent log first and then update the replica file at a later time, then processing load is reduced, but the system must consult the persistent log each time the replica is accessed to ensure up-to-date data

Engineering Contradiction:
Improveprocessing loadVSAvoiddata accessibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements feedback mechanisms through version vectors and timestamps that are embedded with each data block and log entry. When a replica is accessed, the system checks these version indicators to determine if the local copy is up-to-date without needing to consult the persistent log. If the version matches, the data is considered current; if not, the system knows to fetch updates, eliminating continuous log consultation while ensuring data freshness.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11249955B2System and method of providing fault-tolerant file replication
Publication Date: 2022.02.15 QUOBYTE INC
  • US11249955B2 patent drawing
  • US11249955B2 patent drawing
  • US11249955B2 patent drawing

AI summary

Systems and methods are provided for fault-tolerant file replication. A request including an operation and a file identifier is received. It is determined if the operation is of a predetermined type of operations. If the operation is of a predetermined type of operation, a target local replica file is identified. It is determined whether the target local replica file is a primary replica. If the target local replica file is the primary replica, the operation included in the request is executed. Otherwise, one or more of the set of storage devices on which remote replica files associated with the file identifier are stored are identified. In turn, the remote replica file that is the primary replica is identified. The request is transmitted to storage device on which the identified remote replica file that is the primary replica is stored.