Distributed Transaction Log Resynchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, when a node goes offline and then returns, it often becomes unusable due to being out-of-sync with the current state of the cluster, leading to inefficient resource utilization as it cannot service operations until resynchronized.

Innovation Solution

A method is implemented to update a previously offline resource component object by retrieving and merging distributed transaction logs from active nodes, filtering missing data, and persisting staleness information to prevent the component from servicing operations until it is brought up-to-date, maintaining a 'live set' of up-to-date components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a node returns to the cluster after being offline, then the node becomes available again, but the node is out-of-sync with the current state of the cluster and cannot service operations

Engineering Contradiction:
Improveresource utilizationVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by maintaining transaction logs on active nodes before a failure occurs. When a node returns, these pre-maintained logs are used to resynchronize the node without requiring it to replay operations from scratch, enabling fast recovery while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Transaction logs serve as an intermediary mechanism between active nodes and returning nodes. The logs capture the state changes and operations performed while a node was offline, allowing the returning node to reconstruct its state by applying these logged operations in sequence.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the offline node is allowed to service operations immediately upon return, then resource utilization improves, but data inconsistency occurs

Engineering Contradiction:
Improveresource utilizationVSAvoiddata synchronization
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system implements a feedback mechanism where the status of nodes is continuously monitored. When a node returns, the system detects its absence and tracks the operations performed on other nodes during the offline period. This feedback information is then used to determine when the returning node is synchronized and can safely rejoin the cluster.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system prepares resynchronization data in advance by maintaining transaction logs that record all operations performed on the distributed resources. When a node returns, these pre-prepared logs are immediately available for application, eliminating the need for the returning node to query or reconstruct its state from other sources.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If transaction logs are retrieved and merged from multiple active nodes, then data consistency is restored, but communication overhead and time increase

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

Solution Approach 1:

The system segments the transaction log data into discrete, manageable units that can be independently retrieved and applied. Each log entry represents a specific operation or state change, allowing the returning node to process only the relevant segments needed to reach consistency, rather than transferring entire datasets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of having the returning node query multiple active nodes for its data, the system maintains copies of the transaction logs on each active node. The returning node simply retrieves these pre-existing copies and applies them locally, eliminating the need for complex multi-node coordination and reducing resynchronization time.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10769036B2Distributed transaction log
Publication Date: 2020.09.08 VMWARE INC
  • US10769036B2 patent drawing
  • US10769036B2 patent drawing
  • US10769036B2 patent drawing

AI summary

Embodiments of the disclosure provide techniques for updating a distributed transaction log on a previously offline resource object component using distributed transaction logs from active host computer nodes from separate RAID mirror configurations. Each component object maintains a journal (log) where distributed transactions are recorded. If a component object goes offline and subsequently returns (e.g., if the node hosting the component object reboots), the component object is marked as stale. To return the component object to an active state, a distributed resources module retrieves the journals from other resource component objects from other RAID configurations where the data is mirrored. The module filters corresponding data that is missing in the journal of the previously offline corresponding object and merges the filtered data to the journal.