Memory Management Tools for Virtual Memory Allocation Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management tools are inadequate for tracking and managing virtual memory allocations and deallocations, leading to difficulties in identifying memory leaks and ensuring system performance, as they fail to provide effective monitoring and pairing of allocation and deallocation events.

Innovation Solution

A system that monitors and records virtual memory allocation and deallocation events, automatically pairs corresponding events, and provides graphical tools for tracking and managing memory allocations, using system calls to track regions of virtual memory and infer missing events, thereby offering a comprehensive view of memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If current memory management tools are used to monitor heap memory allocations, then heap memory tracking is improved, but virtual memory allocation tracking capability is lost

Engineering Contradiction:
Improveheap memory tracking accuracyVSAvoidvirtual memory tracking capability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent extends existing memory management tools to perform both heap memory tracking and virtual memory allocation tracking through a unified system. The tool monitors multiple types of memory events (malloc, free, mmap, munmap) using a single framework, allowing users to track both heap and virtual memory allocations simultaneously without requiring separate specialized tools for each memory type.

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

2Measurement precision

If manual analysis of allocation and deallocation events is performed, then event pairing accuracy is improved, but time consumption and operational complexity increase

Engineering Contradiction:
Improveevent pairing accuracyVSAvoidmanual analysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements an automated event pairing mechanism that processes allocation and deallocation events without requiring manual intervention. The system automatically matches events based on memory addresses, timestamps, and stack traces, generating paired event lists that accurately represent the lifecycle of memory allocations. This self-service approach eliminates manual analysis while maintaining high pairing accuracy through algorithmic event matching.

Inventive Principle:
Principle #25Self-service

3Reliability

If comprehensive monitoring of all memory events is implemented, then memory management completeness is improved, but system complexity and tool overhead increase

Engineering Contradiction:
Improvememory management completenessVSAvoidmonitoring system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments memory monitoring into distinct functional components: heap memory allocation tracking, virtual memory allocation tracking, event pairing, and visualization. Each component handles specific memory event types and can operate independently. The system divides complex memory management tasks into manageable modules that process different aspects of memory behavior, reducing overall system complexity while maintaining comprehensive monitoring capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent provides selective monitoring capabilities that allow users to focus on specific memory event types or processes based on their needs. Rather than requiring all users to manage every monitoring detail, the system provides pre-configured monitoring templates and automated event pairing that handle complex scenarios automatically, reducing the operational burden on users while maintaining comprehensive coverage where needed.

Inventive Principle:
Principle #16Partial or excessive action

4Measurement precision

If detailed tracking of memory allocation events is performed, then memory leak detection accuracy is improved, but data processing volume and analysis difficulty increase

Engineering Contradiction:
Improvememory leak detection accuracyVSAvoiddata processing complexity
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent extracts and highlights only the most relevant information from comprehensive memory event data to facilitate leak detection. The system automatically pairs events, identifies potential leaks through automated analysis, and presents only the critical findings with associated memory addresses, timestamps, and stack traces. This extraction approach maintains high detection accuracy by focusing on anomalous patterns while reducing the overwhelming volume of raw data into actionable insights.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9529692B2Memory management tools
Publication Date: 2016.12.27 APPLE INC
  • US9529692B2 patent drawing
  • US9529692B2 patent drawing
  • US9529692B2 patent drawing

AI summary

The present technology monitors events that allocate and deallocate virtual memory regions in a device, wherein the events include system calls from user space. The system can generate a log of events, and based on the log of events, track regions of virtual memory allocated and deallocated via the events. The system can also record events with corresponding stack traces. Next, the system can group recorded events having matching stack traces to yield event groupings, and instrument functions in a compiled code associated with the process to determine retain counts of respective events associated with the functions. The system can then automatically pair at least one of a first portion of the events and a second portion of the respective events based on the event groupings and the retain counts of the respective events to yield paired events.