Graph Model Bottleneck Detection in Monolith Decomposition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modernizing monolithic software applications to improve performance and scalability is challenging due to the complexity of identifying and addressing resource bottlenecks, which can hinder migration to cloud-based deployments and lead to inefficiencies in resource usage.

Innovation Solution

An application modernization system constructs a graph model of the software application based on application artifacts, generates application profile metrics, and applies weights to identify and prioritize bottlenecks, enabling efficient decomposition into scalable subunits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If monolithic software applications are modernized to improve performance and scalability, then the application can handle more users and requests, but the complexity of identifying and addressing resource bottlenecks increases

Engineering Contradiction:
Improveapplication performanceVSAvoidbottleneck identification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the monolithic application into modular components with distinct responsibilities. Each component is independently analyzed for bottlenecks using graph models that represent application artifacts and their relationships. This segmentation allows targeted modernization of specific components rather than requiring complete system redesign, thereby improving performance while managing complexity through localized analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces graph models as intermediary representations between the application artifacts and the bottleneck analysis process. These graph models serve as mediators that automatically capture dependencies, data flows, and resource usage patterns, eliminating the need for manual complexity in identifying bottlenecks while enabling systematic performance optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If monolithic applications are decomposed into subunits, then scalability is improved, but the process becomes more complex and difficult to manage

Engineering Contradiction:
ImprovescalabilityVSAvoiddecomposition process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by automatically dividing the monolithic application into scalable subunits based on graph model analysis of application artifacts. The system identifies natural boundaries and dependencies to create modular components that can be independently deployed and scaled, achieving adaptability while the automated analysis process manages the complexity of decomposition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis using graph models to map application artifacts and identify decomposition opportunities before actual decomposition occurs. This preliminary action includes weighting graph elements based on resource usage metrics, allowing the system to plan and execute decomposition in an optimized sequence that reduces management complexity while maximizing scalability benefits.

Inventive Principle:
Principle #10Preliminary action

3Loss of energy

If resource bottlenecks are identified and addressed, then efficiency in resource usage improves, but the analysis and prioritization process becomes more complex

Engineering Contradiction:
Improveresource usage efficiencyVSAvoidanalysis process complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent replaces manual bottleneck analysis with automated graph-based analysis that processes application artifacts and generates weighted models. This substitution eliminates the need for complex manual assessment while systematically identifying resource usage patterns and bottlenecks, thereby improving resource efficiency without proportionally increasing analysis complexity.

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

Solution Approach 2:

The patent changes the parameters of analysis by introducing weighted graph models that incorporate multiple resource usage metrics (CPU, memory, I/O, network). By transforming raw artifact data into weighted representations, the system automatically prioritizes bottlenecks based on their impact on resource efficiency, making the analysis process more systematic and less complex while improving resource optimization outcomes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11853753B1Detection, presentation, and resolution of bottlenecks in monolith decomposition
Publication Date: 2023.12.26 AMAZON TECH INC
  • US11853753B1 patent drawing
  • US11853753B1 patent drawing
  • US11853753B1 patent drawing

AI summary

Techniques are described for identifying resource bottlenecks in decomposing monolithic software applications as part of software modernization processes. An application modernization system constructs a graph model of a software application based on an analysis of application artifacts associated with the software application. The graph model includes nodes representing independent application components, and further includes edges representing identified dependency relationships among the application components. An application modernization system further generates application profile metrics associated with the identified dependencies, and weights derived from the metrics are applied to the nodes and/or the edges of the graph model to generate a weighted graph model that identifies the resource bottlenecks among the application components and the identified dependency relationships. The weighted graph model is transmitted to a computing device for display to a user.