In-Memory Data Replication via Manifest Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data replication techniques face challenges in achieving fast data access, updating, and recovery simultaneously, with lazy propagation leading to slow failover and eager replication resulting in slow data updating, making them impractical for high-reliability and high-throughput settings.

Innovation Solution

An in-memory data processing system using volatile memory to store and manage data entities, employing a manifest-based resynchronization technique that synchronizes data entities based on version numbers, allowing for fast updating, access, and recovery while efficiently using network resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If lazy propagation techniques are used to synchronize data entities, then fast data updating is achieved, but failover becomes slow because copies must be updated from logs before access can be provided

Engineering Contradiction:
Improvedata updating speedVSAvoidfailover speed
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the data entity into a primary copy and multiple backup copies stored in volatile memory across different devices. Each copy can be independently accessed, allowing the system to provide fast failover by switching to a pre-synchronized backup copy without requiring log replay, while maintaining fast updating through efficient change propagation mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary synchronization where backup copies are proactively updated in volatile memory before failover is needed. This preliminary action ensures that backup copies are already current when the primary device becomes unavailable, enabling immediate failover without the delay of reconstructing data from logs during the failover process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If eager replication techniques are used to synchronize data entities, then fast failover is achieved because all copies are kept synchronized, but data updating becomes slow because copies must be updated before the data entity itself

Engineering Contradiction:
Improvefailover speedVSAvoiddata updating speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent inverts the conventional eager replication approach by allowing the primary data entity to be updated first in volatile memory, and then propagating changes to backup copies. This inversion maintains fast updating by not blocking the primary update operation while still achieving synchronized backups through efficient change propagation, resolving the contradiction between update speed and synchronization.

Inventive Principle:
Principle #13The other way round (Inversion)

3Reliability

If data is stored in non-volatile memory to ensure data integrity, then reliability is improved, but access and updating become slow due to time-consuming reads and writes

Engineering Contradiction:
Improvedata integrityVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent creates volatile memory copies of data entities stored in non-volatile memory. These copies reside in fast volatile memory on multiple devices, enabling rapid access and updating operations. The system maintains data integrity by ensuring copies are synchronized with the authoritative non-volatile storage, allowing fast operations without sacrificing reliability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent changes the storage parameter from exclusively non-volatile memory to a hybrid architecture using volatile memory for active data copies. This parameter change enables high-speed access and updating operations in volatile memory while maintaining the reliability guarantees of non-volatile storage through periodic synchronization and consistency protocols.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10025680B2High throughput, high reliability data processing system
Publication Date: 2018.07.17 AB INITIO TECHNOLOGY LLC
  • US10025680B2 patent drawing
  • US10025680B2 patent drawing
  • US10025680B2 patent drawing

AI summary

A data processing system configured to store a plurality of data entities in volatile memories of multiple different computing devices. The data processing system comprises a first computing device having a first volatile memory configured to store a first data entity; and a second computing device having a second volatile memory configured to store a copy of the first data entity. The first computing device is configured to perform: receiving an indication to update the first data entity; after receiving the indication, updating the first data entity in the first volatile memory, and providing to the second computing device an indication to update the copy of the first data entity; and providing an indication that the first data entity has been updated, after receiving information from the second computing device indicating that the copy of the first data entity has been updated in the second volatile memory.