Virtual Machine Application Dependency Mapping via TCP Interception
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for discovering application dependencies in distributed systems, especially in virtual machines, are inefficient as they rely on monitoring events, instrumenting middleware, or sniffing network traffic, making it difficult to detect software-related performance issues and manage complex virtual data center operations effectively.
Innovation Solution
A system and method that utilizes an Application Performance Management (APM) server, intercepting modules, and introspecting modules to intercept and inspect TCP operations in virtual machines, generating application trajectories and dependencies by analyzing thread and connection information, thereby providing a detailed application dependency map.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If network traffic sniffing is used to discover application dependencies, then dependency information can be obtained, but the system complexity increases and detection accuracy decreases for software-level issues
Solution Approach 1:
The patent introduces an intermediary component (performance monitoring agent/instrumentation module) that sits between the application and the monitoring system. This intermediary intercepts method calls and network traffic at the application level, translating internal software events into observable metrics without requiring complex external sniffing infrastructure. The intermediary acts as a bridge that simplifies the overall system architecture while providing accurate dependency information.
Solution Approach 2:
The patent replaces the mechanical approach of network traffic sniffing with a software-based instrumentation approach. Instead of using external packet capture tools that require complex network configuration and interpretation, the system embeds monitoring code directly within the application that automatically tracks method invocations, network calls, and resource access patterns. This substitution eliminates the need for complex external monitoring infrastructure.
2Measurement precision
If middleware instrumentation is used to track requests, then application dependencies can be discovered, but the implementation complexity and overhead increase
Solution Approach 1:
The patent creates a universal monitoring framework that can track multiple types of dependencies (network calls, file access, database queries, inter-process communication) through a single instrumentation mechanism. The performance monitoring agent implements a unified interface that automatically identifies and tracks various dependency types without requiring separate instrumentation for each protocol or communication method, thereby reducing implementation complexity while maintaining comprehensive detection accuracy.
Solution Approach 2:
The patent dynamically adjusts monitoring parameters such as sampling rates, trace depth, and dependency tracking granularity based on system conditions and user requirements. The system can switch between detailed tracking mode (for accurate dependency mapping) and summary mode (for performance monitoring), allowing flexible control over the trade-off between detection accuracy and implementation complexity without requiring complete redesign of the instrumentation architecture.
3Loss of information
If event monitoring agents are installed on each server, then application events can be collected, but the system becomes more complex and harder to maintain
Solution Approach 1:
The patent merges the functionality of multiple distributed monitoring agents into a centralized performance monitoring system. Instead of having independent agents on each server that require separate configuration and maintenance, the system uses a central monitoring server that coordinates data collection across all nodes. The agents become lightweight data collectors that report to the central system, which handles complex analysis, dependency mapping, and alert generation, thereby significantly improving maintainability while preserving comprehensive event collection capabilities.
Solution Approach 2:
The patent introduces a central monitoring server as an intermediary between distributed application events and the analysis system. This intermediary collects standardized event data from multiple sources, normalizes the information format, and performs centralized processing to generate dependency maps and performance insights. The intermediary layer simplifies the architecture by providing a single point of management and reducing the complexity of coordinating multiple independent monitoring systems.
4Measurement precision
If comprehensive monitoring is implemented to detect software performance issues, then detection accuracy improves, but system overhead and resource consumption increase
Solution Approach 1:
The patent implements selective monitoring that focuses on critical performance indicators and key dependency paths rather than attempting to monitor every system event in detail. The performance monitoring agent identifies and prioritizes high-impact metrics such as network latency, response times, and resource utilization patterns, while using sampling and aggregation techniques to reduce the volume of data collected. This partial monitoring approach maintains sufficient detection accuracy for identifying software performance issues while significantly reducing the computational overhead and resource consumption compared to comprehensive monitoring of all system events.
Data Source
AI summary
A technique generates application-level dependencies in one or more virtual machines (VMs). An intercepting module in a VM monitor intercepts a guest operation system (OS) at TCP send and close related operations. An introspecting module in the VM monitor performs VM introspection for TCP connection and thread information by checking running thread and processing socket kernel objects. It generates an application trajectory and exports application dependencies from the application trajectory for a selected application.


