Legacy Software Data Migration With Parallel Parity Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Replacing legacy software programs, such as those written in COBOL, with newer languages like PYTHON or JAVA is time-consuming and costly, and ensuring parity between the old and new systems is difficult due to format mismatches and the inability to manually compare large volumes of code.
Innovation Solution
Systems and methods for determining software parity by running new and legacy programs in parallel, transforming data models, and migrating data efficiently to ensure consistent outputs, allowing only threads with errors to be stopped while others continue processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual comparison of legacy and new software code is performed, then software parity can be ensured, but the process becomes time-consuming and costly
Solution Approach 1:
The patent replaces manual mechanical code comparison with automated computational systems. The system automatically retrieves source code from version control, generates executable code from both legacy and new implementations, and performs systematic comparison of outputs across multiple test cases, eliminating the need for time-consuming manual review while maintaining verification accuracy
Solution Approach 2:
The system performs preliminary actions by automatically setting up the comparison environment before actual verification begins. It retrieves source code, configures build environments, compiles both legacy and new code, and prepares test datasets in advance, so that the actual parity verification can proceed efficiently without manual intervention
2Reliability
If all threads are stopped when an error is detected in parallel processing, then data accuracy is maintained, but processing efficiency decreases
Solution Approach 1:
The patent segments the thread processing into independent comparable units. Each thread's output is independently verified against the legacy system's output, allowing the system to identify and isolate only the specific threads with discrepancies. This enables selective continuation of processing for threads without errors while maintaining accuracy for those that do have errors
Solution Approach 2:
The system implements feedback mechanisms where each thread's output is continuously monitored and compared against the legacy system. When a discrepancy is detected in a specific thread, the system provides feedback to stop only that particular thread while allowing other threads to continue processing, thus maintaining data accuracy for problematic threads without halting overall processing efficiency
3Adaptability or versatility
If data format transformation is performed between legacy and new software, then compatibility is improved, but system complexity increases
Solution Approach 1:
The patent introduces an intermediary data format layer that both the legacy and new software systems can interact with. The system retrieves data in the legacy format, transforms it to a standardized intermediary format suitable for the new system, and performs comparisons in this neutral format. This intermediary approach maintains compatibility between systems without requiring complex direct transformation logic
Solution Approach 2:
The system applies parameter changes by systematically transforming data format parameters from the legacy system to match the new system's requirements. It identifies format differences, applies appropriate transformation rules, and validates the transformed data, thereby improving compatibility through controlled parameter adjustments rather than complex structural changes
4Reliability
If expert programmers manually update legacy code, then system reliability is maintained, but the process becomes costly and slow
Solution Approach 1:
The patent enables self-service by automating the code verification and comparison process. The system automatically retrieves source code, generates executable code from both legacy and new implementations, runs comprehensive test suites, and generates detailed comparison reports without requiring expert programmer intervention. This maintains reliability through systematic automated verification while dramatically improving ease of code replacement
Data Source
AI summary
Systems and methods for migrating data from a legacy software program to a new software program. In some aspects, the system captures a snapshot of the current state of static data for multiple threads from the legacy software program. The system processes the static data for the multiple threads using the new software program to generate dynamic data for a period of time. During the same period of time, the legacy software program also produces dynamic data for the multiple threads. If there is a mismatch between dynamic data from the new and legacy software programs for at least one thread, the system generates metadata for the at least one thread to supplement static data for the at least one thread for processing by the new software program.


