Network Application Health Model via Kernel Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network performance monitoring techniques lack real-time health information and semantic understanding of data, making it difficult to identify the source and cause of application issues, and often require application-specific code and may lose packet trace information.

Innovation Solution

A method involving kernel space and user space metrics collection, aggregation, and event generation to monitor network application performance, including detection of network events and health modeling, using collector applications and health data processing applications to provide real-time and historical health models.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If deep packet inspection (DPI) is used to monitor application performance, then statistical information can be collected, but the monitoring becomes data-intensive and ineffective in providing real-time health information

Engineering Contradiction:
Improveapplication health information accuracyVSAvoidreal-time monitoring capability
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts only the essential performance metrics needed for health determination from the data stream, rather than analyzing all packet data. The collector application selectively collects performance data from kernel and user spaces, extracting key indicators like response time, throughput, and error rates without performing comprehensive deep packet inspection on all traffic.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary data collection and processing at the source (kernel and user spaces) before data becomes problematic. By collecting performance data at the point of generation and pre-processing it through aggregation and filtering, the system prepares data for rapid health assessment without requiring intensive analysis later.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If system management products analyze large numbers of data streams to determine application state, then more data is available for analysis, but the products lack semantic understanding and cannot identify the ultimate source or cause of problems

Engineering Contradiction:
Improvedata volume for analysisVSAvoidsemantic understanding of data
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent introduces an intermediary layer (the collector application and health determination system) that sits between raw data collection and analysis. This intermediary performs semantic interpretation by collecting data with inherent meaning attached (performance counters, event logs) and processing it to maintain contextual understanding, thereby preventing loss of semantic information that would occur in blind data analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments data collection into distinct functional areas (kernel space performance data, user space performance data, event data) with specific semantic meanings. Each segment is collected and processed independently with its contextual understanding preserved, allowing the system to analyze multiple data streams while maintaining semantic comprehension of each domain.

Inventive Principle:
Principle #1Segmentation

3Loss of information

If packet trace information is monitored to track application performance, then detailed network activity can be observed, but packet trace information may be lost

Engineering Contradiction:
Improvepacket trace information retentionVSAvoidmonitoring system complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

Instead of attempting to retain all original packet trace information which would be overwhelming, the system creates simplified copies or representations of the essential performance characteristics. Performance data is copied from kernel and user spaces in aggregated form that preserves the meaningful patterns while discarding redundant detailed packet information.

Inventive Principle:
Principle #26Copying

4Measurement precision

If application-specific code is required for monitoring, then application-specific performance data can be collected, but the monitoring solution becomes complex and requires custom development for each application

Engineering Contradiction:
Improveapplication-specific performance measurementVSAvoidimplementation complexity
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The patent creates a universal collector application framework that can collect performance data from multiple applications through standardized interfaces in kernel and user spaces. Rather than requiring custom code for each application, the system uses multi-functional collectors that can adapt to different applications while maintaining a consistent data collection and health determination approach.

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

Data Source

PatentUS9158649B2Methods and computer program products for generating a model of network application health
Publication Date: 2015.10.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9158649B2 patent drawing
  • US9158649B2 patent drawing
  • US9158649B2 patent drawing

AI summary

Provided are methods and computer program products for generating a model of network application health. Methods may include receiving activity data that corresponds to activities of multiple applications that are operable to execute on at least one networked device, and combining the received activity data to remove redundant portions thereof and/or to reconcile inconsistencies therein. Based on the received activity data, ones of the multiple applications are identified, and relationships between the identified applications are determined. A model is generated including the identified applications and the relationships therebetween, and a representation of the model is displayed. Related computer program products are also provided.