Distributed Application Topology Discovery via Network Traffic Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed applications with complex topologies are difficult for developers and operations engineers to reason about, troubleshoot, and analyze due to their dynamic and evolving nature, especially in large-scale environments with multiple interconnected hosts and microservices, where the 'as-designed' topology often deviates from the 'as-built' configuration.
Innovation Solution
A process is developed to infer the topology of a distributed application by analyzing transport-layer metadata in network traffic, identifying connected components and gateway hosts, and presenting a visual representation of the topology in a graphical user interface, allowing users to select and edit inferred entry points and hosts, thereby facilitating understanding and management of the application's structure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If distributed applications use more and more diverse services to handle complex functionality, then the application's functionality and scalability are improved, but the complexity of the topology and difficulty of reasoning about the system increase
Solution Approach 1:
The patent introduces an intermediary system (topology discovery system) that mediates between the complex distributed application infrastructure and the users/developers. This system automatically discovers, infers, and visualizes the topology by analyzing network traffic metadata, serving as a bridge that translates complex infrastructure into understandable visual representations without requiring users to directly comprehend the underlying complexity.
Solution Approach 2:
The topology discovery system enables the distributed application infrastructure to self-document and self-describe its own topology. By automatically analyzing network traffic and inferring topology information without requiring manual configuration or intervention, the system allows the infrastructure to serve its own documentation needs, reducing the burden on developers and operations engineers.
2Productivity
If the scale of computing loads grows and functionality is broken into microservices, then scalability and code reuse are improved, but the difficulty of troubleshooting and analyzing the system increases
Solution Approach 1:
The patent introduces an intermediary system (topology discovery system) that mediates between the complex distributed application infrastructure and the users/developers. This system automatically discovers, infers, and visualizes the topology by analyzing network traffic metadata, serving as a bridge that translates complex infrastructure into understandable visual representations without requiring users to directly comprehend the underlying complexity.
Solution Approach 2:
The patent replaces manual troubleshooting and topology analysis methods with an automated system that uses network traffic metadata analysis. Instead of requiring developers and operations engineers to manually trace through complex microservice interactions, the system automatically infers topology by analyzing packet metadata, substituting mechanical manual analysis with automated computational analysis.
3Adaptability or versatility
If distributed applications are designed with dynamic and evolving configurations, then adaptability and responsiveness to changing requirements are improved, but the reliability of maintaining accurate topology information decreases
Solution Approach 1:
The patent implements a dynamic topology discovery approach that continuously monitors and updates topology information by analyzing network traffic metadata in real-time. Rather than relying on static configuration files or periodic snapshots, the system dynamically adapts to configuration changes as they occur, ensuring topology information remains current and accurate in evolving distributed application environments.
Solution Approach 2:
The system implements feedback mechanisms by continuously analyzing network traffic metadata and using this information to infer and update topology information. The analysis of actual network communications provides feedback about the true operational topology, allowing the system to self-correct and maintain accurate topology information even as configurations change, ensuring the visual representation reflects the actual 'as-built' state.
Data Source
AI summary
Provided is a process including: obtaining, with one or more processors, network-traffic data describing a graph of network traffic among a plurality of hosts of one or more distributed applications executing on a plurality of computing devices between which the network traffic is sent; inferring, with one or more processors, a topology of a first distributed application among the one or more distributed applications based on the network-traffic data; causing, with one or more processors, a visual representation of the topology to be presented in a graphical user interface.


