Monolithic Application Decomposition Using Runtime Behavior Profiles
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Decomposing monolithic applications into modular, distributed software architectures is costly and impractical due to data dependencies and lack of real-time critical application behavior consideration in existing decomposition approaches.
Innovation Solution
A method involving deploying a monolithic application on a data processing device, generating a behavioral profile through runtime analysis, determining possible decompositions, and optimizing deployment by maximizing similarity between monolithic and distributed applications using virtualized bytecode representation and runtime monitoring.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If monolithic application is decomposed into software modules for distributed deployment, then deployment flexibility and resource utilization are improved, but additional network traffic and complexity increase
Solution Approach 1:
The patent applies segmentation by dividing the monolithic application into multiple software modules that can be independently deployed and executed on different compute nodes. This segmentation enables distributed deployment flexibility while the patent manages the resulting complexity through automated orchestration and runtime analysis mechanisms.
2Ease of manufacture
If static analysis-based decomposition is used, then decomposition cost is reduced, but real-time critical application behavior is not preserved
Solution Approach 1:
The patent implements feedback by continuously monitoring the runtime behavior of the distributed application and comparing it against the behavioral profile of the original monolithic application. This feedback loop enables the system to detect deviations in real-time behavior and adjust the decomposition or execution accordingly, ensuring reliability while maintaining automated decomposition.
Solution Approach 2:
The patent applies preliminary action by generating a behavioral profile of the monolithic application before decomposition. This profile serves as a reference model that guides the decomposition process and enables subsequent verification that the distributed application maintains the same real-time behavior characteristics.
3Measurement precision
If runtime analysis is performed to generate behavioral profile, then real-time critical behavior is captured, but analysis time and computational resources increase
Solution Approach 1:
The patent applies partial action by performing runtime analysis on selected critical paths and behaviors rather than analyzing every aspect of the application. This approach captures the essential real-time behavior characteristics needed for accurate decomposition while reducing the overall analysis time and computational overhead.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The invention relates to a method (100) for decomposing and distributing a monolithic application, comprising the following steps: - Deploying (101) the monolithic application on a data processing device (1), - Generating (102) a behavior profile of the monolithic application based on an analysis of the monolithic application during its runtime, - Determining (103) at least one possible decomposition of the monolithic application into modules (2) based on the generated behavior profile, - Initiating (104) deployment of the modules (2) on a distributed system (3) to provide a distributed application, - Initiating (105) monitoring of the runtime behavior of the distributed application, - Initiating (106) optimization of the decomposition and deployment of the modules (2) by maximizing similarity between the monolithic application and the distributed application.Furthermore, the invention relates to a computer program, a device and a storage medium for this purpose.