Object Graph Memory Measurement in OO Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In object-oriented programming environments, measuring memory consumption differences between objects is inefficient due to the complexity of object networks and the need to analyze structural data without knowledge of the underlying object semantics, especially in large-scale enterprise systems where frequent changes and scalability are required.

Innovation Solution

A system and method that generates a math graph structure to represent object networks, allowing for the visualization and storage of object graph data, including memory size, type, and reference information, enabling the measurement of memory consumption differences between objects without transferring actual data, using weighted values and serialization techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional methods are used to measure memory consumption in object-oriented environments, then measurement can be performed, but the process becomes inefficient and complex due to object network complexity

Engineering Contradiction:
Improvemeasurement efficiencyVSAvoidobject network complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a mathematical graph structure that copies and represents the object network in a simplified form. Instead of analyzing the actual complex object network directly, the system generates a mathematical model (graph) that replicates the essential structural relationships, enabling efficient measurement of memory consumption differences without dealing with the full complexity of the original object network

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The mathematical graph structure serves as an intermediary between the complex object network and the memory measurement process. This intermediate representation allows the system to analyze memory consumption by working with the simplified graph structure rather than the original complex objects, thereby improving measurement efficiency while handling complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If actual object data is transferred for analysis, then complete information is available, but data transfer and processing becomes inefficient

Engineering Contradiction:
Improveinformation completenessVSAvoiddata transfer time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

Instead of transferring actual object data, the patent transfers a mathematical graph representation that copies the essential structural information. This copied representation contains all necessary information about object relationships and memory consumption patterns without requiring the transfer of the actual large-scale object data, thus maintaining information completeness while reducing data transfer time

Inventive Principle:
Principle #26Copying

3Measurement precision

If detailed object semantics are analyzed, then precise memory measurement is achieved, but analysis complexity increases

Engineering Contradiction:
Improvememory consumption measurement accuracyVSAvoidanalysis complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential structural information needed for memory measurement from the complex object semantics. By taking out and focusing solely on the relational structure and memory-relevant properties while ignoring unnecessary semantic details, the system achieves precise memory consumption measurement without the complexity of analyzing complete object semantics

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP1977320B1System and method for measuring memory consumption differences between objects within an object-oriented programming environment
Publication Date: 2016.05.18 SAP SE
  • EP1977320B1 patent drawingFigure 1a
  • EP1977320B1 patent drawingFigure 1b
  • EP1977320B1 patent drawingFigure 2

AI summary

A computer-implemented system and method are described for measuring the memory consumption difference between two objects in an object-oriented programming environment. For example, one embodiment of a method comprises: analyzing relationships between objects within a network of objects to determine an object network structure; generating object graph data representing the object network structure, the object graph data including nodes representing objects and arcs representing relationships between objects; removing all incoming arcs to each of two nodes; building resulting sub-graphs for each of the two nodes; summing the memory consumed by each of the subgraphs of the two nodes; and subtracting the memory amounts consumed by each of the sub-graphs to determine the memory consumption different between the two nodes.