Memory Leak Detection via Growth Pattern Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices experience memory leaks due to software components not properly releasing allocated memory, leading to instability and potential system failure, which is difficult to detect as temporary increases in memory usage can mimic genuine requirements.

Innovation Solution

A monitor daemon tracks memory usage patterns to establish a baseline and calculates a memory growth pattern score, identifying deviations indicative of memory leaks and generating alerts to prevent system failure by distinguishing between temporary increases and leaks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory usage is monitored to detect memory leaks, then system reliability is improved, but false positives occur when temporary memory increases are misidentified as leaks

Engineering Contradiction:
Improvesystem reliabilityVSAvoidmemory leak detection precision
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by establishing a memory growth pattern baseline before detecting memory leaks. The monitor daemon collects memory usage data over time and creates a baseline representing normal memory growth patterns. When detecting potential memory leaks, the system compares current patterns against this pre-established baseline, allowing it to distinguish between temporary memory increases and genuine memory leaks, thereby reducing false positives while maintaining high reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by continuously monitoring memory usage and comparing it against the established baseline. The monitor daemon periodically collects memory usage data, analyzes growth patterns, and adjusts its detection thresholds based on observed patterns. This feedback mechanism allows the system to learn from normal memory usage variations and improve its ability to accurately identify genuine memory leaks while avoiding false alarms

Inventive Principle:
Principle #23Feedback

2Reliability

If memory usage is continuously monitored, then memory leak detection capability is improved, but device complexity increases

Engineering Contradiction:
Improvememory leak detection capabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The monitor daemon implements self-service by autonomously performing memory usage monitoring, baseline establishment, pattern analysis, and leak detection without requiring external intervention. The system automatically collects memory usage data from the operating system, processes the information, and generates alerts when memory leaks are detected. This self-contained approach provides comprehensive memory leak detection capability while managing complexity through automated operation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The monitor daemon serves as an intermediary component between the operating system memory management and the system administrator. It interfaces with the OS to collect memory usage data, processes this information through pattern analysis, and presents simplified alerts to administrators. This intermediary layer abstracts the complexity of continuous memory monitoring while providing effective leak detection capability to the broader system

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11960382B2Memory leak detection using real-time memory growth pattern analysis
Publication Date: 2024.04.16 JUNIPER NETWORKS INC
  • US11960382B2 patent drawing
  • US11960382B2 patent drawing
  • US11960382B2 patent drawing

AI summary

The disclosure describes techniques that enable detection of memory leaks of software executing on devices within a computer network. An example network device includes memory and processing circuitry. The processing circuitry monitors a usage of the memory by a software component operating within the network device. The processing circuitry periodically determines a memory growth pattern score for the software component based on the usage of the memory. The processing circuitry also predicts whether the user-level process is experiencing a memory leak based on the memory growth pattern score. The processing circuitry applies confirmation criteria to current memory usage of the software component to confirm that the software component is experiencing the memory leak. When the software component is experiencing the memory leak, the processing circuitry generates an alert.