Workflow Comparison System for Software Migration Readiness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for determining software migration readiness are inefficient, requiring significant resources and time due to serial execution of subtasks across large datasets, leading to idle processing capacity and prolonged processing times.

Innovation Solution

A method and system that split a batch file into component workflows, allowing parallel processing through multiple stages with capacity limits, computing differences between baseline and target systems using tree matching algorithms, and generating reports that exclude excludable differences, enabling real-time status tracking and independent workflow execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serial execution of subtasks is used for each data item, then processing order is maintained and correctness is ensured, but processing time increases and resource utilization decreases

Engineering Contradiction:
Improveprocessing correctnessVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The batch file is divided into multiple component workflows, and each component workflow is divided into multiple subtasks. This segmentation allows independent parallel execution of subtasks across different data items while maintaining correctness through proper synchronization and state management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from one-dimensional serial execution to multi-dimensional parallel execution by introducing workflow and subtask layers. Multiple subtasks can execute concurrently on different data items, effectively utilizing additional processing dimensions to improve throughput while maintaining correctness.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If full sequence of subtasks is executed on each data item before moving to the next, then completeness of processing is ensured, but processing time increases due to idle capacity

Engineering Contradiction:
Improveprocessing completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system maintains continuous useful action by allowing subtasks to execute in parallel across different data items. When one subtask completes, another can immediately begin, eliminating idle time and ensuring continuous utilization of processing resources while maintaining processing completeness through proper workflow tracking.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent implements preliminary action by pre-defining component workflows and subtasks before execution. This allows the system to prepare and schedule multiple subtasks in advance, enabling parallel execution while ensuring that all necessary processing steps are accounted for and completed.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If one processor executes subtasks serially on data items, then resource requirements are reduced, but processing efficiency decreases due to idle/unused capacity

Engineering Contradiction:
Improveprocessor quantityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic subtask execution where the processing structure adapts based on data item characteristics and subtask dependencies. This dynamic approach allows a single processor to efficiently manage parallel subtasks by dynamically allocating resources and adjusting execution flow, maintaining low device complexity while improving productivity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

By segmenting the processing into component workflows and subtasks, the system enables a single processor to efficiently manage multiple concurrent subtasks through proper scheduling and state management, achieving parallel processing efficiency without requiring multiple processors.

Inventive Principle:
Principle #1Segmentation

4Reliability

If conventional batch processing is used for migration readiness checks, then comprehensive comparison is achieved, but technical resources including developers, processor utilization, and memory utilization increase significantly

Engineering Contradiction:
Improvecomparison accuracyVSAvoidtechnical resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The comparison process is segmented into component workflows and subtasks that can be executed independently and in parallel. This segmentation reduces the cumulative resource requirements by allowing efficient resource allocation and release between subtasks, while maintaining comprehensive comparison accuracy through systematic processing of all data items.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system efficiently discards and recovers technical resources by completing subtasks and releasing associated resources (processor time, memory, developer attention) as each subtask finishes. This allows resources to be quickly reallocated to subsequent subtasks, reducing the peak resource requirements compared to conventional batch processing where all resources must be maintained throughout the entire process.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS12197943B2System and method for comparing behavior of software components
Publication Date: 2025.01.14 JPMORGAN CHASE BANK NA
  • US12197943B2 patent drawing
  • US12197943B2 patent drawing
  • US12197943B2 patent drawing

AI summary

A method for performing workflow comparisons for determining data migration readiness is provided. The method includes initiating a comparison run for a batch file, and splitting the batch file into multiple component workflows. Each of the component workflows are then scheduled for processing across multiple processing stages. When a component workflow is determined to have completed all of the processing stages: compute a difference between a baseline and a target system for the component workflow, and cross reference the difference generated with prestored rules as well as machine learning techniques to determine whether the difference can be ignored (e.g., excluded) or explained (e.g., already encompassed in the book of work). When all of the component workflows originating from the batch file passes, merging reports for all of the component workflows for generating a merged report.