Graph Modeling for Duplicate Module Detection in Application Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing migration tools struggle to accurately quantify migration time, effort, and resource utilization for applications with shared or duplicated libraries due to the complexity of interconnected application libraries, leading to inefficient resource allocation and potential delays in application migration.

Innovation Solution

A module migration manager utilizes dependency graph models to detect duplicate modules by analyzing hash values and canonical representations, allowing for efficient resource allocation during application migration by identifying and managing duplicate libraries within the migration process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing migration tools are used to analyze applications with interconnected libraries, then migration analysis can be performed, but the accuracy of quantifying migration time, effort, and resource utilization deteriorates due to duplicate module detection failures

Engineering Contradiction:
Improveaccuracy of migration resource quantificationVSAvoidcomplexity of interconnected application libraries
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the application analysis by creating a graph model where individual modules are separated as distinct nodes. This segmentation allows the system to identify and analyze duplicate modules independently while maintaining awareness of their interconnections through graph edges, thereby improving measurement precision without being overwhelmed by the overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a graph model as an intermediary representation between the raw application code and the migration analysis process. This graph model serves as a mediator that structures the complex library interconnections in a manageable format, enabling accurate detection of duplicate modules and precise quantification of migration resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If duplicate modules are not detected, then migration process is simpler, but resource allocation becomes inefficient leading to wasted time and resources

Engineering Contradiction:
Improvemigration efficiencyVSAvoidmigration time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary detection of duplicate modules by constructing a graph model and analyzing module interconnections before the migration process begins. This preliminary action identifies all duplicate modules in advance, allowing for optimized resource allocation and preventing wasted migration efforts, thereby improving productivity while reducing overall migration time.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If comprehensive analysis of all modules is performed, then duplicate detection accuracy improves, but the time and computational resources required increase

Engineering Contradiction:
Improveduplicate detection accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the comprehensive analysis into manageable segments by representing modules as nodes in a graph structure. This segmentation allows the system to efficiently traverse and analyze only the relevant portions of the application, maintaining high duplicate detection accuracy while reducing overall analysis time through targeted examination of module interconnections.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10437885B2Graph modeling of applications for detection of duplicate modules
Publication Date: 2019.10.08 RED HAT INC
  • US10437885B2 patent drawing
  • US10437885B2 patent drawing
  • US10437885B2 patent drawing

AI summary

Implementations of the disclosure provide for graph modeling of applications for detection of duplicate modules. In one embodiment, an apparatus comprising: a memory to store graphs; and a processing device, operatively coupled to the memory is provided. The processing device identify a first executable code module of a plurality of executable code modules associated with an application represented by a graph data structure. The graph data structure is updated with an indicator for each of the executable code modules matching the first module. The indicator references the first executable code module. One or more corresponding modules associated with the graph data structure are selected in view of the indicator. Using the graph data structure, an amount of a computing resource to allocate for a migration of the corresponding modules of the application is determined in view of a selection criterion.