Runtime Class Extractor for Virtual Machine Footprint Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In enterprise-level software applications, efficiently identifying and extracting only the necessary runtime classes from multiple modules or JAR files to reduce system footprint and improve performance is challenging due to complex dependency relationships and the time-consuming process of analyzing source code.

Innovation Solution

A runtime class extractor is introduced that uses a record class loader to dynamically track and extract runtime classes based on context information, allowing for the creation of minimal sets of classes required for specific functionalities without modifying the original class loader or application code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If all modules or JAR files are loaded into the virtual machine, then the application has complete functionality, but the system footprint increases and performance decreases

Engineering Contradiction:
Improveapplication functionalityVSAvoidsystem footprint
Core Design Contradiction:
Adaptability or versatilityVSWeight of stationary object

Solution Approach 1:

The patent extracts only the necessary runtime classes from multiple modules or JAR files that are actually used by the application. The class loader records context information for each loaded class and extracts only those classes that are required, leaving out unused classes. This extraction principle directly resolves the contradiction by separating necessary functionality from unnecessary bloat, reducing system footprint while maintaining required adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Manufacturing precision

If source code analysis is performed to identify required classes, then the necessary classes can be extracted, but the process becomes time-consuming

Engineering Contradiction:
Improveclass identification accuracyVSAvoidanalysis time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary action by having the class loader automatically record context information for each runtime class as it is loaded during normal application execution. This preliminary recording of class loading patterns and dependencies eliminates the need for time-consuming source code analysis later, while still achieving accurate identification of required classes through the recorded context information.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The class loader serves itself by automatically tracking and recording its own class loading activities and context information. Instead of requiring external analysis tools to examine source code, the class loader autonomously monitors which classes it loads and records their context, enabling automatic identification of necessary classes without manual intervention or lengthy analysis processes.

Inventive Principle:
Principle #25Self-service

3Productivity

If a record class loader is implemented to track runtime classes, then necessary classes can be identified, but the class loader complexity increases

Engineering Contradiction:
Improveclass extraction efficiencyVSAvoidclass loader structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the class loading function with the class tracking function into a single record class loader. Instead of having separate components for loading classes and recording their context information, the patent combines these functions so that the class loader simultaneously performs both tasks. This merging reduces overall system complexity while maintaining high productivity in class extraction, as the dual functionality is achieved within one unified component.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8473936B2System and method for runtime class extracting
Publication Date: 2013.06.25 ORACLE INT CORP
  • US8473936B2 patent drawing
  • US8473936B2 patent drawing
  • US8473936B2 patent drawing

AI summary

An application running on a virtual machine includes a plurality of runtime classes. A class loader can load one or more runtime classes of the plurality of runtime classes into the virtual machine to support an operation on the application. In addition, the class loader can record a context information for each runtime class of the one or more runtime classes. Based on the recorded context information of each runtime class, the one or more runtime classes can be extracted.