Memory Suspect Detection via Tagged Allocation Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting memory suspects in application environments are inefficient, often failing to identify the root cause of memory leaks and mismanagement, which can lead to slow response times and out-of-memory errors, especially during application migration or updates, due to the complexity of processing large heap dumps and the need to associate memory issues with specific use cases.

Innovation Solution

A system and method for detecting memory suspects that involves periodic monitoring of application memory, tagging memory allocation requests with unique identifiers, and generating memory trends based on usage and application use cases, allowing for the isolation of problematic memory locations and their associated use cases, thereby facilitating efficient memory management and leak detection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If heap dumps are periodically taken and analyzed with memory analysis tools, then memory usage can be monitored, but the process is time-consuming and fails to identify root causes of memory leaks

Engineering Contradiction:
Improvememory leak detection accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by tagging memory allocation requests with unique identifiers and tracking their lifecycle from creation to destruction. This pre-established tracking infrastructure enables immediate identification of memory suspects when leaks occur, eliminating the need for time-consuming periodic heap dump analysis and directly pinpointing root causes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a simplified copy or representation of memory allocation data through tagging and tracking mechanisms. Instead of analyzing complete heap dumps, the system maintains a tagged index of memory allocations that can be quickly queried to identify suspects, reducing analysis time while maintaining detection accuracy.

Inventive Principle:
Principle #26Copying

2Measurement precision

If profilers are used to profile memory allocations, then approximate memory usage can be obtained, but the method fails to identify the use case context and root cause

Engineering Contradiction:
Improvememory usage tracking accuracyVSAvoiduse case context information
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent segments memory tracking by associating each memory allocation with its specific use case context through unique identifiers and call stack information. This segmentation allows the system to track not just memory usage quantities but also the contextual information needed to identify root causes, preventing information loss while maintaining precise measurement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback by continuously monitoring memory allocation and deallocation patterns and comparing them against expected behavior. When anomalies are detected, the system provides feedback about the specific use case context and memory suspect locations, enabling precise identification of root causes while preserving contextual information.

Inventive Principle:
Principle #23Feedback

3Productivity

If memory is cached to improve application response time, then application performance improves, but memory mismanagement can lead to out of memory errors

Engineering Contradiction:
Improveapplication response timeVSAvoidmemory management stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies feedback by continuously monitoring memory allocation patterns and providing real-time information about memory suspects and potential leaks. This feedback mechanism enables early detection of memory mismanagement issues before they cause out of memory errors, maintaining both high productivity through caching and reliability through early warning.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent uses preliminary action by establishing tracking infrastructure that identifies memory suspects before problems occur. By tagging and monitoring memory allocations in advance, the system can detect potential memory mismanagement issues before they lead to out of memory errors, ensuring both performance and reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3200080B1Methods and systems for memory suspect detection
Publication Date: 2021.12.22 TATA CONSULTANCY SERVICES LTD
  • EP3200080B1 patent drawingFigure 1~2
  • EP3200080B1 patent drawingFigure 3~4
  • EP3200080B1 patent drawingFigure 5~6A

AI summary

A system and a method for detection of memory suspects in an application runtime environment are disclosed. The method includes systematically executing a plurality of transactions associated with an application. Executing the plurality of transactions result in generation of metrics. Said metrics includes application memory information and memory allocation information associated with the transactions. Said metrics are periodically captured. Based on the metrics that are periodically captured, a set of transactions are detected from amongst the plurality of transactions that are impacted due to suspected memory allocations.