Application Architecture Mapping via Runtime Probe Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As applications evolve, their architectures often become inconsistent with documented designs due to undocumented or insufficiently documented modifications, leading to unknown or unclear architectures.

Innovation Solution

A computing platform with a probe executable module monitors and logs the runtime activities of an application, generating a graph representing process and data flow, and uses simulation and analysis modules to determine candidate architectures iteratively until matching predetermined performance conditions, comparing the final architecture against prior documentation and design rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are modified repeatedly over time, then functionality and adaptability improve, but architectural documentation accuracy deteriorates

Engineering Contradiction:
Improveapplication functionalityVSAvoidarchitectural documentation accuracy
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The system performs self-documentation by automatically monitoring runtime activities, generating logs of executed code and accessed resources, and updating architecture representations without requiring manual intervention. The application itself serves to document its own architecture through its execution traces.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors application execution and uses the observed behavior to update and refine the architecture representation. Feedback loops compare actual runtime behavior with documented architecture and automatically adjust the architecture model to reflect current state, ensuring documentation remains accurate despite modifications.

Inventive Principle:
Principle #23Feedback

2Reliability

If manual architecture documentation is maintained, then architectural integrity is preserved, but time and resources are consumed

Engineering Contradiction:
Improvearchitectural integrityVSAvoiddocumentation maintenance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system automatically generates and maintains architecture documentation by monitoring application runtime behavior. It extracts architectural information from execution logs, identifies components and their interactions, and constructs architecture representations without requiring manual documentation efforts.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual documentation processes with automated computational systems. Instead of humans manually updating architecture diagrams and documents, the system uses software agents that automatically trace execution, log activities, and generate architecture models through computational analysis.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If architecture is re-determined through monitoring and simulation, then current architecture accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvearchitecture determination accuracyVSAvoidmonitoring and simulation system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system divides the architecture determination process into separate modular components: activity monitoring modules that collect runtime data, logging modules that store execution traces, simulation modules that model behavior, and analysis modules that interpret data and generate architecture representations. Each module handles a specific aspect of the complex task.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11537414B2Architecture mapping of applications
Publication Date: 2022.12.27 BANK OF AMERICA CORP
  • US11537414B2 patent drawing
  • US11537414B2 patent drawing
  • US11537414B2 patent drawing

AI summary

An executable application's architecture may be mapped by executing the executable application, inputting a series of request data sets into the executable application, receiving one or more responses from the executable application, and performing an evaluation based on the responses. One or more indications of an architectural component may be extracted from metadata associated with the one or more received responses and associated with a corresponding request data set of the series of request data sets. The one or more indications of an architectural component may be associated with processing by the executable application of the corresponding request data set of the series of request data sets. An architecture of the executable application may be determined based on the one or more indications of an architectural component.