Catch-up log for distributed object store synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed object stores experience suboptimal performance during data redistribution after an outage, as the data distribution algorithm moves additional data to restore resiliency and balanced distribution, leading to unnecessary migration and duplication.

Innovation Solution

Implementing a catch-up log that stores unordered entries for data modification operations, allowing the affected data store to synchronize with other stores by reading entries from the log and performing operations only when necessary, thereby avoiding unnecessary data movement and enabling parallel synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the data distribution algorithm is rerun to restore data resiliency after a data store failure, then data resiliency and balanced distribution are restored, but system performance deteriorates due to additional background I/Os and data migration

Engineering Contradiction:
Improvedata resiliencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by logging data modification operations during the data store outage before the store comes online. The catch-up log captures all operations (writes, deletes, updates) that occurred while the store was offline, so when the store is restored, these pre-captured operations can be applied without triggering a full data redistribution algorithm, thereby maintaining performance while ensuring resiliency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of copying all data during redistribution, the system creates a catch-up log that copies only the necessary operation metadata (key, operation type, timestamp) for operations that occurred during the outage. This selective copying approach restores resiliency by replaying only the essential operations rather than migrating all data, significantly reducing I/O overhead and improving performance.

Inventive Principle:
Principle #26Copying

2Stability of the object's composition

If data redistribution operations are performed to restore balanced distribution, then data distribution balance is improved, but unnecessary data migration and duplication occur causing suboptimal performance

Engineering Contradiction:
Improvedata distribution balanceVSAvoidunnecessary data migration
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system extracts only the necessary information from the full data distribution state and stores it in the catch-up log as operation metadata (key, operation type, timestamp). This extraction eliminates the need to migrate all data during recovery, as only the changed operations need to be replayed. The full data distribution balance is restored through selective operation replay rather than complete data redistribution, reducing unnecessary data migration and energy consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If a catch-up log is implemented to track data modification operations during outage, then synchronization efficiency is improved, but device complexity increases due to additional logging and processing mechanisms

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidlogging and processing mechanisms
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The catch-up log mechanism serves multiple functions: it logs operations during outage, tracks data modification history, enables selective replay on recovery, and maintains operation ordering. By making this single mechanism multi-functional, the system avoids adding separate complex subsystems for each function. The log structure itself (with key, operation type, timestamp fields) handles multiple purposes, reducing overall system complexity while improving synchronization efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11860897B2Method for using catch-up logging to time-synchronize object stores during maintenance or recovery operations
Publication Date: 2024.01.02 SAMSUNG ELECTRONICS CO LTD
  • US11860897B2 patent drawing
  • US11860897B2 patent drawing
  • US11860897B2 patent drawing

AI summary

Provided is a method of synchronizing a distributed object store including a plurality of data stores, the method including bringing a first data store of the data stores online after having been offline, choosing a second data store of the data stores, the second data store being online while the first data store was offline, reading, by the first data store, an entry from a catch-up log, and performing a data modification operation corresponding to the entry on the first data store to synchronize the plurality of data stores.