Java Class Filtering for JVM Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Java language class compatibility across different JVM configurations is challenging due to unique class names within each Java system, leading to potential conflicts when loading classes at runtime.

Innovation Solution

A method and system that create an abstract view of a Java class by filtering and renaming it, allowing compatibility with any Java API configuration, using a Java Stack Machine and a Java Virtual Processor to manage class loading and execution, thereby avoiding conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If Java classes are loaded directly with their original names in each JVM configuration, then class loading is simple and direct, but conflicts arise when the same class name exists in different JVM configurations

Engineering Contradiction:
Improveclass loading simplicityVSAvoidclass compatibility
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent introduces a filtered class as an intermediary between the original Java class and the JVM. This filtered class acts as a mediator that translates between different JVM configurations, allowing classes to be loaded uniquely in each configuration without conflicts. The filtered class includes mappings to original classes, enabling compatibility across different JVM versions and configurations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the class loading process into distinct components: original Java classes, filtered classes (abstract views), and JVM configurations. Each JVM configuration has its own filtered class namespace, separating the class loading responsibilities and preventing name conflicts between different configurations while maintaining access to the original classes through mappings.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If unique class names are enforced within each Java system, then class identification is unambiguous, but compatibility across different JVM configurations becomes difficult

Engineering Contradiction:
Improveclass name uniquenessVSAvoidJVM compatibility
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The filtered class serves multiple functions simultaneously: it provides unique identification within each JVM configuration, maintains mappings to original classes for compatibility, and enables cross-JVM configuration communication. This multi-functional design allows a single filtered class to handle both uniqueness requirements and compatibility needs across different JVM environments.

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

Solution Approach 2:

The patent creates a copy of the original Java class structure in the form of a filtered class for each JVM configuration. This copy includes the necessary class information and mappings, allowing each configuration to have its own unique class names while still accessing the original classes through the filtered class mappings, thus achieving both uniqueness and compatibility.

Inventive Principle:
Principle #26Copying

3Productivity

If class libraries are bundled into packages for code reusability, then programming efficiency improves, but managing compatibility across different API configurations becomes complex

Engineering Contradiction:
Improvecode reusabilityVSAvoidAPI configuration management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The filtered class acts as an intermediary layer between packaged class libraries and different JVM configurations. It maintains the package structure and code reusability benefits while providing configuration-specific mappings, thereby simplifying the management of API configurations across different JVM versions without sacrificing code reusability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8381177B2Method and system of performing Java language class extensions
Publication Date: 2013.02.19 TEXAS INSTRUMENTS INC
  • US8381177B2 patent drawing
  • US8381177B2 patent drawing
  • US8381177B2 patent drawing

AI summary

A method and system of performing Java language class extensions. At least some of the illustrative embodiments are computer-readable mediums storing a program that, when executed by a processor of a host system, causes the processor to identify a first class having a first name, and create a second class based on the first class (the second class is an abstract view of the first class, and the second class has a second name equal to a third name of a third class).