Application Dependency Detection via Centralized Log Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Determining dependencies between applications in large and complex computing environments is challenging due to scale and complexity, with existing methods requiring resource-intensive agents or limited scalability, and failing to capture services protected by rootkits.

Innovation Solution

The method employs application logs analyzed using a trained application inventory model, employing machine learning and natural language processing to parse communication information and determine dependencies between applications without the need for agents on compute nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If agents are deployed on compute nodes to monitor application dependencies, then dependency detection capability is improved, but resource overhead and system complexity increase

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

Solution Approach 1:

The patent extracts the dependency analysis function from the compute nodes themselves and relocates it to a centralized server. Instead of deploying agents on each compute node, the server collects logs from all nodes and performs dependency analysis centrally, thereby reducing device complexity while maintaining measurement precision

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces application logs as an intermediary medium between compute nodes and the centralized server. Rather than direct agent-server communication, logs serve as the intermediary carrier of application behavior data, enabling dependency detection without requiring agents on compute nodes

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If agents are deployed on compute nodes to monitor application dependencies, then dependency detection capability is improved, but resource consumption increases

Engineering Contradiction:
Improvedependency detection capabilityVSAvoidresource overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent extracts the computationally intensive dependency analysis workload from individual compute nodes and consolidates it on a centralized server. This extraction eliminates the need for each node to run monitoring agents, thereby reducing resource overhead while preserving detection capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses log files as copies of application behavior data instead of requiring direct access to running applications via agents. These log copies contain sufficient information for dependency analysis without consuming additional runtime resources on compute nodes

Inventive Principle:
Principle #26Copying

3Quantity of substance

If traditional monitoring methods are used in large computing environments, then comprehensive monitoring coverage is achieved, but scalability is limited

Engineering Contradiction:
Improvemonitoring coverageVSAvoidscalability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal log collection and analysis system that can handle multiple types of applications and compute nodes through a single centralized server. This universal approach maintains comprehensive monitoring coverage while enabling easy scalability to larger environments without requiring specialized agents for each node type

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

Solution Approach 2:

The patent transitions from a horizontal scaling model (adding agents to each node) to a vertical scaling model (increasing server capacity). This dimensional change allows the system to scale to larger computing environments by simply increasing the power of the centralized server rather than proportionally increasing the number of distributed agents

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

4Measurement precision

If agents are deployed on compute nodes, then application behavior monitoring is improved, but security vulnerabilities increase

Engineering Contradiction:
Improveapplication behavior monitoringVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the monitoring function from the compute nodes by using pre-existing log files instead of deploying agents. This extraction eliminates security vulnerabilities associated with agent deployment while preserving the ability to monitor application behavior through log analysis

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent leverages the self-service capability of log file generation. Applications automatically generate their own logs without external intervention, providing monitoring data without requiring security-compromising agents. The system uses these self-generated logs to infer dependencies safely

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10862779B2Application dependency determination based on application logs
Publication Date: 2020.12.08 VMWARE INC
  • US10862779B2 patent drawing
  • US10862779B2 patent drawing
  • US10862779B2 patent drawing

AI summary

Techniques for determining dependencies between applications based on application logs are disclosed. In one embodiment, a system may include a log analyzer to receive application logs generated by a plurality of applications running in a computing environment and analyze the received application logs using a trained application inventory model to parse communication information of the plurality of applications. Further, the system may include an application management unit to determine dependency between a first application and a second application of the plurality of applications running on different compute nodes in the computing environment using the parsed communication information.