Ecosystem Unit Identification for Program Dependency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face inefficiencies in identifying and managing dependencies among computer programs and data resources within a computer program ecosystem, leading to resource wastage and incomplete task execution during migration or testing.

Innovation Solution

The approach involves analyzing static, runtime, and schedule dependencies to identify an ecosystem unit, treating computer programs and data resources as a single entity for system tasks, thereby conserving resources and ensuring all relevant elements are included in tasks like migration and testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all computer programs and data resources are included in system tasks, then completeness of task execution is improved, but resource consumption increases

Engineering Contradiction:
Improvecompleteness of task executionVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the computer program ecosystem into distinct ecosystem units based on dependency analysis. Each ecosystem unit represents a self-contained subset of computer programs and data resources that can be independently analyzed and managed. This segmentation allows system tasks to be performed on only the relevant subset rather than the entire ecosystem, reducing resource consumption while maintaining task completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the minimal necessary subset of computer programs and data resources that form a complete ecosystem unit. By identifying and extracting only those elements that are statically or runtime-dependent on each other, the system performs tasks on a reduced set of components, avoiding unnecessary resource consumption from including unrelated programs and resources.

Inventive Principle:
Principle #2Taking out (Extraction)

2Speed

If static analysis alone is used to identify dependencies, then analysis speed is improved, but accuracy of dependency identification deteriorates

Engineering Contradiction:
Improveanalysis speedVSAvoidaccuracy of dependency identification
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent performs static analysis as a preliminary step to identify potential dependencies between computer programs and data resources before runtime execution. This preliminary identification creates an initial map of the ecosystem structure that guides subsequent runtime analysis, allowing the system to focus resources on verifying and refining dependencies that are actually exercised during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent combines static analysis results with runtime analysis results in a feedback loop. Static analysis provides an initial dependency map, runtime analysis validates and refines this map based on actual execution behavior, and the combined information is used to accurately identify ecosystem units. This feedback mechanism ensures both speed (from static analysis) and accuracy (from runtime validation).

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3973400B1Static and runtime analysis of computer program systems
Publication Date: 2023.12.20 AB INITIO TECHNOLOGY LLC
  • EP3973400B1 patent drawingFigure 1A
  • EP3973400B1 patent drawingFigure 1B
  • EP3973400B1 patent drawingFigure 1C

AI summary

A method for analyzing a computer program ecosystem including multiple computer programs includes performing a static analysis of the ecosystem, including identifying static dependencies among ecosystem elements based on values of parameters in parameter sets associated with the ecosystem, the elements including the computer programs and data resources associated with the computer programs. The method includes performing a runtime analysis of the ecosystem, including identifying elements that were utilized during execution of the ecosystem to process data records. The method includes performing a schedule analysis of the ecosystem, including identifying a computer program that has a schedule dependency from another computer program. The method includes identifying a subset of the elements as an ecosystem unit based on the results of the static, runtime, and schedule analyses; and migrating the ecosystem unit from a first to a second computer system, testing the ecosystem unit, or both.