Data Synchronization Failover Management for Software Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for enhancing the reliability and performance of software applications through redundancy, such as running multiple instances, are costly and not scalable, as they require significant resources and can lead to increased failure risks due to environmental factors, and performance improvements like JIT compilation come with initial slowdowns during profiling.

Innovation Solution

Implementing Data Synchronization and Failover Management (DSFM) systems that optimize multiple non-identical instances of a software application to run simultaneously, each compiled with different compiler options to maximize resource utilization and performance, allowing for efficient failover without substantial delays or errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple instances of the software application are executed simultaneously to improve reliability, then reliability is improved, but resource consumption and cost increase

Engineering Contradiction:
Improveapplication reliabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent creates a backup instance (copy) of the software application that mirrors the primary instance's execution. This copy is maintained through synchronization mechanisms that replicate state and data without requiring full independent execution, reducing resource overhead while ensuring reliability through failover capability

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent merges the execution paths of primary and backup instances by synchronizing their state through shared data structures and coordinated execution flows. This allows the system to maintain reliability through redundancy while reducing overall resource consumption by having instances work in coordination rather than complete independence

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If multiple backup instances are executed to increase redundancy and reliability further, then reliability is improved, but cost of execution increases even further

Engineering Contradiction:
Improveapplication reliabilityVSAvoidexecution cost
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies different compilation optimizations to different parts of the application execution. The hot path (frequently executed code) receives aggressive JIT compilation optimizations, while cold paths use lighter compilation strategies. This local differentiation allows the system to maintain multiple instances with reduced resource overhead while preserving reliability

Inventive Principle:
Principle #3Local quality

3Speed

If JIT compilation is used to improve performance, then execution speed is improved, but initial profiling phase causes slowdown

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

Solution Approach 1:

The patent performs preliminary profiling and compilation of the hot path during the initial execution phase. By identifying and pre-compiling the most frequently executed code paths before they are needed at full speed, the system minimizes the performance impact of profiling while maximizing JIT compilation benefits for critical paths

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic compilation strategies where the JIT compiler continuously adapts compilation decisions based on runtime profiling data. Code paths that become hot during execution are dynamically identified and compiled, allowing the system to transition from interpreted to compiled execution adaptively, minimizing initial slowdown while maximizing long-term performance

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10210005B2Systems and methods for data synchronization and failover management
Publication Date: 2019.02.19 IEX GROUP INC
  • US10210005B2 patent drawing
  • US10210005B2 patent drawing
  • US10210005B2 patent drawing

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.