Data Synchronization Failover Management for Software Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software application execution methods face challenges in achieving high performance and reliability due to environmental failures, which can be unpredictable and costly to mitigate through redundancy, and are hindered by the slower execution of interpreted languages compared to compiled ones.

Innovation Solution

The implementation of Data Synchronization and Failover Management (DSFM) systems, which involve generating and managing multiple non-identical instances of a software application, each optimized for different resource goals using various compilers and compiler options, allowing for simultaneous execution and seamless failover without significant performance degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple backup instances are executed simultaneously to increase redundancy and reliability, then the reliability of the software application is improved, but the cost of executing the software application in terms of required resources increases even further

Engineering Contradiction:
ImprovereliabilityVSAvoidresources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple instances (primary and secondary) into a single coordinated system where instances share resources and communicate through synchronization barriers. The secondary instance shares the same heap memory and resources as the primary instance, reducing overall resource consumption while maintaining reliability through failover capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The secondary instance is designed to serve multiple functions: it acts as a backup that can take over if the primary fails, and it also contributes to performance optimization by potentially providing faster results through different compilation optimizations. This multi-functionality justifies the resource investment.

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

2Reliability

If multiple backup instances are executed simultaneously to increase redundancy, then the reliability of the software application is improved, but the scalability of the system is limited

Engineering Contradiction:
ImprovereliabilityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically determines whether to use the primary or secondary instance based on runtime performance characteristics. The secondary instance is activated when it demonstrates faster execution for certain code portions, allowing the system to adapt to changing workloads and optimize performance while maintaining reliability.

Inventive Principle:
Principle #15Dynamics

3Productivity

If just-in-time compilation is used to improve performance of interpreted languages, then the execution speed is improved, but the code must be run many times using the interpreter to collect sufficient profiling information during the profiling phase

Engineering Contradiction:
Improveexecution speedVSAvoidprofiling time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The secondary instance is pre-configured with alternative compilation optimizations that may be faster for certain code portions. Instead of waiting for profiling to determine optimizations, the secondary instance already has optimized code paths ready, allowing it to potentially provide faster results earlier in the execution process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a secondary instance that copies the primary instance's functionality but with different compilation optimizations. This copy allows the system to explore alternative execution paths without interfering with the primary instance's profiling and optimization process.

Inventive Principle:
Principle #26Copying

4Reliability

If two instances of the software application are executed simultaneously to improve reliability, then the reliability is improved, but the cost of executing the software application in terms of required resources increases

Engineering Contradiction:
ImprovereliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The primary and secondary instances are designed to be homogeneous in terms of their interface and functionality, both implementing the same SoftwareApplication interface. This homogeneity simplifies the coordination and failover logic, reducing system complexity despite having multiple instances.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentEP3117308B1Systems and methods for data synchronization and failover management
Publication Date: 2020.02.19 IEX GROUP INC
  • EP3117308B1 patent drawingFigure 1
  • EP3117308B1 patent drawingFigure 2
  • EP3117308B1 patent drawingFigure 3

AI summary

A Data Synchronization and Failover Management (DSFM) system monitors simultaneous execution of non-identical instances of a software application and may label as a particular result of the software application the earliest output corresponding to that result produced by one of the instances. The DSFM may label one of the instances as a primary instance and the other instances as secondary instances and, if the primary instance fails, may re-label one of the secondary instances that computed all of the operations associated with the last result produced prior to the failure of the primary instance, as a new primary instance.