Replication Queue Batching for Data Load Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data replication between systems is resource-intensive, particularly during large data loads, leading to memory and performance issues, and existing methods fail to efficiently manage the replication process, especially when handling a huge volume of data.

Innovation Solution

Implementing a system where data is pre-packaged by assigning a 'replication time' to groups of records in a replication queue, limiting the number of objects replicated together, and dynamically adjusting the package size based on system capabilities, frequency of queries, and historical performance data to optimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If all changed data objects are replicated together in one batch, then the replication process is simple to implement, but the system experiences memory and performance issues during large data loads

Engineering Contradiction:
Improvesimplicity of replication processVSAvoidsystem performance during replication
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent divides the replication process into multiple batches by assigning different replication times to different groups of data objects. Instead of replicating all changed objects simultaneously, the system segments them into batches of a specified maximum number, with each batch assigned a sequential replication time. This segmentation reduces memory pressure and improves system performance during replication operations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a large number of data objects are assigned the same replication time, then replication efficiency is improved, but resource consumption increases significantly

Engineering Contradiction:
Improvereplication efficiencyVSAvoidresource consumption during replication
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts the replication process by implementing a queue-based mechanism where data objects are assigned replication times based on current system conditions and queue status. The replication time assignment is not static but adapts to the volume of changed data, system capacity, and historical performance, allowing efficient resource utilization while maintaining good replication throughput.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the replication queue stores all changed data objects without time assignment, then data completeness is maintained, but memory usage increases during high data volume

Engineering Contradiction:
Improvedata completenessVSAvoidmemory usage in replication queue
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary action by assigning replication times to data objects as they are added to the replication queue, rather than waiting until replication time. This pre-assignment organizes data into manageable batches in advance, allowing the system to maintain data completeness while controlling memory usage by immediately structuring the queue with time-based groupings.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10152490B2Sequential replication with limited number of objects
Publication Date: 2018.12.11 SUCCESSFACTORS INC
  • US10152490B2 patent drawing
  • US10152490B2 patent drawing
  • US10152490B2 patent drawing

AI summary

A current time associated with a first received notification of a new object in a data set of a first system is accessed and a replication time is set to the current time. For each notification received regarding a new object in the data set of the first system, the new object is added to the replication queue. The new objects added to the queue are assigned the replication time until a specified maximum number of new objects have been added to the replication queue. Afterwards, new objects are added to the queue with no assigned replication time. When the objects in the queue are to be replicated, only the objects with the assigned replication time are copied from the queue to a second system. A new replication time is set to a new current time associated with confirmation of receipt of the copied objects received from the second system.