Parallel Transaction Scheduling for Data Restoration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data restoration methods from serial transaction logs are inefficient, leading to a significant increase in restoration time due to the need for sequential execution of concurrent data changes, which can result in a tenfold increase in time required for data recovery.

Innovation Solution

Converting the serial transaction log into multiple concurrent queues, where transactions are sorted based on dependencies and executed in parallel, ensuring that each transaction is only executed once its dependencies have been completed, thereby speeding up the restoration process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If transactions are executed in serial format to ensure accurate representation, then data integrity is maintained, but restoration time increases significantly (up to tenfold)

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

Solution Approach 1:

The patent divides the serial transaction log into multiple parallel execution queues, segmenting the restoration process into concurrent threads. Each queue handles a subset of transactions that can be safely executed in parallel, maintaining data integrity through dependency tracking while reducing overall restoration time by eliminating sequential bottlenecks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic transaction scheduling where the execution order is determined at runtime based on dependency analysis. Transactions are dynamically assigned to available worker threads based on current system state and dependency resolution, allowing the system to adaptively balance between parallel execution speed and serial execution correctness rather than using a fixed execution model.

Inventive Principle:
Principle #15Dynamics

2Productivity

If concurrent execution is implemented to speed up restoration, then restoration rate increases, but risk of executing transactions in incorrect order increases

Engineering Contradiction:
Improverestoration rateVSAvoidtransaction ordering accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a dependency tracking mechanism as an intermediary between the transaction log and execution queues. This mediator analyzes transaction dependencies, determines safe parallel execution boundaries, and coordinates between multiple worker threads to ensure that transactions are applied in the correct logical order even when executed concurrently, thus maintaining reliability while enabling parallelism.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If serial transaction log format is used, then implementation simplicity is maintained, but restoration efficiency decreases

Engineering Contradiction:
Improveimplementation simplicityVSAvoidrestoration efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments the monolithic serial transaction processing into multiple independent worker queues and threads, each capable of processing transactions independently. This segmentation maintains implementation simplicity by using standard parallel processing patterns while dramatically improving restoration efficiency through concurrent execution of multiple transaction batches.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2998863B1Converting a serial transaction schedule to a parallel transaction schedule
Publication Date: 2018.12.05 SYBASE INC
  • EP2998863B1 patent drawingFigure 1
  • EP2998863B1 patent drawingFigure 2
  • EP2998863B1 patent drawingFigure 3A

AI summary

A method and system for transforming a serial schedule of transactions into a parallel schedule of transaction is disclosed. In one example, a computer system stores a list of data transactions in a transaction log. The computer system then reads a respective data transaction from the transaction log. The computer system determines whether the respective data transaction is dependent on any other currently pending data transaction. In accordance with a determination that the respective data transaction is not dependent on any other currently pending data transaction, the computer system applies the data changes to a reconstructed data set. In accordance with a determination that the respective data transaction is dependent on a currently pending second data transaction, the computer system delays commitment of the respective data transaction until the second data transaction has been applied to the reconstructed data set.