Virtual Machine Application Dependency Mapping via TCP Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveapplication dependency informationVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

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

2Measurement precision

If middleware instrumentation is used to track requests, then application dependencies can be discovered, but the implementation complexity and overhead increase

Engineering Contradiction:
Improvedependency detection accuracyVSAvoidimplementation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

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

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveapplication event informationVSAvoidsystem maintainability
Core Design Contradiction:
Loss of informationVSEase of operation

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If comprehensive monitoring is implemented to detect software performance issues, then detection accuracy improves, but system overhead and resource consumption increase

Engineering Contradiction:
Improveperformance issue detection accuracyVSAvoidsystem resource overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8881145B2System and method for generating application-level dependencies in one or more virtual machines
Publication Date: 2014.11.04 IND TECH RES INST
  • US8881145B2 patent drawing
  • US8881145B2 patent drawing
  • US8881145B2 patent drawing

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.