Microservices Topology Graph for Uninstrumented Service Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional monitoring tools fail to efficiently render a graphical representation of instrumented and uninstrumented services in microservices-based distributed systems, lacking the ability to provide meaningful quantitative information about throughput, latency, and error rates, and struggle to visualize the causal chain of operations leading to errors or degraded responses.

Innovation Solution

A method for generating an application topology graph that aggregates and visualizes cross-service relationships between instrumented and uninstrumented services, using span data to infer uninstrumented services and track cross-service span pairs, enabling the preservation of directionality and rendering of service graphs that include both instrumented and uninstrumented services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If conventional monitoring tools are used to track microservices, then basic service monitoring is achieved, but the tools fail to efficiently render graphical representations of instrumented and uninstrumented services and cannot provide meaningful quantitative information about throughput, latency, and error rates

Engineering Contradiction:
Improvevisibility of service interactionsVSAvoidcomplexity of monitoring system
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent combines multiple monitoring functions into a unified topology graph that simultaneously displays instrumented and uninstrumented services, their interactions, and quantitative metrics (throughput, latency, error rates) in a single visual representation, eliminating the need for multiple separate monitoring tools

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The topology graph serves multiple functions: it visualizes service architecture, tracks spans and traces, displays quantitative performance metrics, and enables troubleshooting all in one interface, making the monitoring system versatile and comprehensive

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If microservices architecture is implemented to improve scalability and deployment flexibility, then service independence and frequent updates are achieved, but operational complexity increases and traditional monitoring tools result in information overload

Engineering Contradiction:
Improvedeployment frequencyVSAvoidoperational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The monitoring system segments information by visually distinguishing instrumented services (with instrumentation code) from uninstrumented services (without instrumentation code) in the topology graph, allowing operators to understand which services are being monitored and which are not, thereby reducing information overload

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a visual dimension to monitoring by creating a graphical topology representation that shows service relationships, interactions, and performance metrics spatially, transforming complex operational data into an intuitive visual format that is easier to comprehend and analyze

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If spans and traces from instrumented microservices are collected for analysis, then software performance and errors can be monitored, but the system cannot efficiently visualize cross-service relationships including uninstrumented services

Engineering Contradiction:
Improveperformance monitoring accuracyVSAvoidcross-service visibility
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The topology graph acts as an intermediary that connects instrumented services (which generate spans and traces) with uninstrumented services (which do not generate spans), visually representing their cross-service relationships and enabling comprehensive monitoring of the entire system architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary aggregation and organization of span data by service and by cross-service relationships before visualization, pre-processing the data into a structured format that enables efficient rendering of the topology graph with all relevant information already organized

Inventive Principle:
Principle #10Preliminary action

4Reliability

If traditional symptom-based monitoring tools are used, then specific error tracking is achieved, but the tools are unable to keep up with the dynamic nature of cloud native applications and provide comprehensive monitoring

Engineering Contradiction:
Improveerror tracking capabilityVSAvoidmonitoring efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The topology graph provides continuous, real-time visualization of service interactions and performance metrics, continuously updating as new spans and traces are generated, enabling ongoing monitoring without interruption or manual intervention

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system provides feedback by displaying quantitative metrics (throughput, latency, error rates) directly on the topology graph, allowing operators to immediately see the impact of service interactions and quickly identify and respond to issues

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11755446B1Application topology graph for representing uninstrumented objects in a microservices-based architecture
Publication Date: 2023.09.12 CISCO TECHNOLOGY INC
  • US11755446B1 patent drawing
  • US11755446B1 patent drawing
  • US11755446B1 patent drawing

AI summary

A method of rendering a graphical user interface (GUI) comprising an application topology graph for a microservice architecture comprises generating a plurality of traces from a first plurality of spans generated by instrumented services in the architecture and generating generate a second plurality of spans for uninstrumented services using information extracted from the first plurality of spans. The method further comprises grouping the second plurality of spans with the plurality of traces. Subsequently, the method comprises traversing the traces and collecting a plurality of span pairs from the plurality of traces, wherein each pair of the span pairs is associated with a call between two services. The method also comprises aggregating information across the plurality of span pairs to reduce duplicative information associated with multiple occurrences of a same span pair from the plurality of span pairs. Finally, the method comprises rendering the application topology graph using the aggregated information.