Component Models for Software Application Performance Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Characterizing the operation of software applications with a large number of components deployed across distributed computing infrastructures is challenging due to the complexity of performance management, bottleneck identification, and resource allocation, especially in serverless computing models where visibility into infrastructure resources is limited.

Innovation Solution

A digital processing system constructs machine learning-based component models correlating invocation types and counts with processing metrics to predict acceptable ranges for internal components, facilitating performance management by identifying potential bottlenecks and anomalies, and enabling root cause analysis in the execution flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software applications are deployed with a large number of components in distributed computing infrastructures, then functionality and scalability are improved, but performance management complexity and difficulty of identifying bottlenecks increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidperformance management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary system that acts as a mediator between the distributed software components and the performance monitoring infrastructure. This intermediary captures invocation data and processing metrics from multiple components, aggregates them, and presents unified performance information, thereby simplifying the complexity of managing and monitoring large-scale distributed applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where performance metrics and invocation data are continuously collected from software components, analyzed to identify bottlenecks and anomalies, and then used to generate actionable insights. This closed-loop feedback system enables dynamic performance management and facilitates rapid identification and resolution of performance issues in complex distributed applications.

Inventive Principle:
Principle #23Feedback

2Productivity

If the number of software components is increased to handle more functionality, then processing capability is improved, but the difficulty of detecting and measuring performance metrics increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidperformance metric detection difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent merges the performance monitoring functionality across multiple distributed software components into a unified monitoring system. By consolidating invocation data and processing metrics from numerous components into a single centralized view, the system makes it significantly easier to detect and measure performance metrics without being overwhelmed by the sheer number of individual components.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

An intermediary monitoring system is introduced that sits between the software components and the performance analysis tools. This intermediary captures and standardizes performance metrics from multiple components, transforming raw data into structured, measurable information that is easier to detect, analyze, and interpret.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If visibility into infrastructure resources is limited in serverless computing models, then operational simplicity is improved, but the ability to perform performance management and resource allocation deteriorates

Engineering Contradiction:
Improveoperational simplicityVSAvoidperformance management capability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent enables self-service performance management by implementing automated systems that collect, analyze, and interpret performance data without requiring deep visibility into underlying infrastructure resources. The system automatically identifies bottlenecks, anomalies, and optimization opportunities based on observable application-level metrics, maintaining operational simplicity while preserving performance management capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Automated feedback loops are implemented that continuously monitor application performance and provide actionable insights without requiring infrastructure-level visibility. The system uses feedback from application logs, invocation patterns, and processing metrics to automatically detect performance issues and guide resource allocation decisions, maintaining both operational simplicity and performance management effectiveness.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12174722B2Characterizing operation of software applications having large number of components
Publication Date: 2024.12.24 APPNOMIC SYST PTE LTD
  • US12174722B2 patent drawing
  • US12174722B2 patent drawing
  • US12174722B2 patent drawing

AI summary

An aspect of the present disclosure facilitates characterizing operation of software applications having large number of components. In one embodiment, a digital processing system receives a first data indicating invocation types and corresponding invocation counts at an entry component for multiple block durations, where the entry component causes execution of internal component of the software application. The system also receives a second data indicating values for a processing metric at the internal components for the same block durations. The system then constructs for each internal component, a corresponding component model correlating the values for the processing metrics at the internal component indicated in the second data to the invocation types and invocation counts of the entry component indicated in the first data. The component models can aid in the performance management of the software application.