Compiler Variable Analysis for High Availability Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In contact centers, identifying and managing critical variables within inner loops that cause high availability backup systems to drift out of synchronization with master systems is challenging due to the large number of variables changing during execution, making it difficult to maintain synchronization and detect inappropriate loop usage.
Innovation Solution
A compiler technology that analyzes inner loops, traces data paths, and determines variable changes to send critical updates to a backup server, using data flow analysis and keyword sequencers to maintain synchronization and provide warnings for infinite loops, while optimizing code changes to minimize performance penalties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If continuous data transfer is used to maintain synchronization between master and backup systems, then synchronization reliability is improved, but network bandwidth consumption and system overhead increase
Solution Approach 1:
The patent extracts only the critical changed variables from the inner loop and transfers them to the backup system, rather than continuously transferring all data. This selective extraction approach maintains synchronization reliability while significantly reducing network bandwidth consumption and system overhead.
Solution Approach 2:
The patent implements partial action by sending only the necessary critical variable changes to the backup system rather than complete data synchronization. This partial transfer approach achieves adequate synchronization for high availability while minimizing resource consumption.
2Measurement precision
If all variables in inner loops are monitored and transferred, then synchronization accuracy is improved, but processing complexity and time increase
Solution Approach 1:
The patent applies local quality by differentiating between critical variables that require synchronization and non-critical variables that do not. The compiler analyzes and identifies only those variables with local importance to high availability, transferring them selectively to maintain synchronization accuracy while reducing processing complexity.
Solution Approach 2:
The patent segments the large set of all variables into critical and non-critical categories. By segmenting the variable set and only processing the critical subset, the system achieves necessary synchronization accuracy without the overwhelming complexity of monitoring and transferring all variables.
3Measurement precision
If critical variable identification is performed manually, then detection accuracy is improved, but time consumption and operational complexity increase
Solution Approach 1:
The patent implements self-service by enabling the compiler to automatically identify, analyze, and determine critical variables within inner loops without manual intervention. This automated self-service approach maintains high detection accuracy while eliminating the time consumption and operational complexity associated with manual variable identification.
Solution Approach 2:
The patent replaces the mechanical manual process of variable identification with an automated compiler-based system. This substitution uses programmatic analysis and data flow tracking to automatically detect critical variables, maintaining detection accuracy while dramatically reducing time consumption and operational overhead.
Data Source
AI summary
Methods and systems are provided that utilize compiler technology in identifying changed critical variables in work assignment code that cause synchronization issues between a master system and another server. The identified changed critical variables are shared by the master server in a high availability environment. In general, the sharing of changed critical variables includes sending, via a master system, changed code or critical variables to a receiving system. The receiving system can implement the changed code or critical variables to maintain synchronization with the master system.


