Multi-Stage View for Sequential Application Latency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex software applications with multiple sequential stages, identifying and optimizing bottlenecks to reduce message processing latency is challenging due to varying latency of stages and inter-arrival rates, making it difficult to predict and prioritize improvements effectively.

Innovation Solution

A Multi-Stage View is introduced, allowing users to visualize and manipulate stage latencies and message arrival rates interactively, enabling simulation of different application states and predicting overall application latency, thereby facilitating the identification of bottlenecks and optimal resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If latency information is collected and logged for each message through traditional monitoring systems, then message processing latency can be measured, but the complexity of analyzing and optimizing multi-stage application performance increases significantly

Engineering Contradiction:
Improvemessage processing latency measurementVSAvoidperformance analysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the application performance analysis into distinct stages, with each stage having its own state representation. The Multi-Stage View divides the complex multi-stage application into manageable individual stages, allowing latency measurement at each stage without overwhelming complexity in the overall analysis system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary state generation system that sits between the message processing stages and the analysis tools. This system generates standardized state representations that simplify the interface between complex application internals and external analysis tools, reducing the complexity burden on both sides.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If traditional performance monitoring systems are used to track message latency through multiple sequential stages, then latency data can be collected, but the difficulty of identifying and prioritizing bottlenecks increases

Engineering Contradiction:
Improvelatency information completenessVSAvoidbottleneck identification difficulty
Core Design Contradiction:
Loss of informationVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms where the state generation system continuously monitors stage latencies and provides feedback through the Multi-Stage View. This feedback loop enables dynamic identification of bottlenecks by comparing actual performance against expected performance, making bottleneck detection systematic rather than manual.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces manual bottleneck analysis with an automated state-based system. Instead of manually examining latency logs and trying to identify bottlenecks, the system automatically generates states, computes latencies, and presents them in the Multi-Stage View, substituting mechanical manual analysis with automated computational analysis.

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

3Productivity

If software engineers manually analyze latency logs to optimize application performance, then some performance insights can be gained, but the time and resources required for optimization increase significantly

Engineering Contradiction:
Improveapplication optimization efficiencyVSAvoidtime required for performance optimization
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-computing and caching state representations and latency information. The state generation system prepares performance data in advance, organizing it into the Multi-Stage View structure before optimization analysis is needed. This preliminary organization significantly reduces the time required for actual optimization work.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified copies of the complex application state through state representations. Instead of analyzing the full complexity of the multi-stage application directly, engineers work with copied state data in the Multi-Stage View that preserves essential performance characteristics while being much easier to analyze and manipulate.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3502891B1State generation system for a sequential stage application
Publication Date: 2023.06.21 CHICAGO MERCANTILE EXCHANGE INC
  • EP3502891B1 patent drawingFigure 1
  • EP3502891B1 patent drawingFigure 2
  • EP3502891B1 patent drawingFigure 3

AI summary

A computer implemented method includes collecting, at a memory of a computing device having a processor, message processing latency information about processing electronic data transaction request messages over a timeframe by an application including a plurality of sequential stages; presenting, in a graphical user interface (GUI) rendered on a display coupled to the computing device, a digital dashboard, the digital dashboard displaying: for each stage, a stage box representing the stage positioned on a y-axis so as to represent a message processing latency associated with the stage over the timeframe; an inter-arrival message rate line positioned on the y-axis so as to represent an arrival rate between the electronic data transaction request messages over the timeframe; and an application box representing the application positioned on the y-axis so as to represent a message processing latency associated with the application over the timeframe; and in response to detecting a re-positioning of a stage box or the inter-arrival message rate line, displaying, on the digital dashboard, the application box at a different position associated with an expected message processing latency.