RMI-IIOP Java Serialization Encoding Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RMI-IIOP implementations face inefficiencies in data encoding, relying on CORBA's CDR, which can have overheads, and lack flexibility in switching between encoding types during message exchanges.

Innovation Solution

Implementing Java serialization as an alternative or additional encoding mechanism for RMI-IIOP messages, allowing dynamic selection between Java serialization and CDR, while maintaining the GIOP protocol, and using tagged components in IORs to indicate supported encoding types and versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CDR encoding is used for RMI-IIOP messages, then compatibility with CORBA standards is maintained, but encoding overhead increases and performance decreases

Engineering Contradiction:
Improvemessage encoding performanceVSAvoidencoding overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent changes the encoding parameter from CDR to Java serialization format, allowing the system to use a more efficient encoding mechanism while maintaining RMI-IIOP functionality. This parameter change directly addresses the performance and overhead issues without breaking compatibility at the protocol level.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces dynamic encoding selection capability, allowing the system to switch between different encoding types (CDR and Java serialization) based on runtime conditions. This dynamic approach enables optimization of encoding performance while maintaining flexibility and compatibility.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If a single encoding type is used for RMI-IIOP, then implementation is simpler, but flexibility in encoding choices is reduced

Engineering Contradiction:
Improveencoding type flexibilityVSAvoidencoding management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes the RMI-IIOP implementation universally compatible with multiple encoding types (both CDR and Java serialization). The system can handle different encoding formats through a unified interface, providing adaptability without requiring separate implementation paths for each encoding type.

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

Solution Approach 2:

The patent introduces an intermediary encoding selection mechanism that mediates between the application layer and the transport layer. This intermediary component handles the complexity of multiple encoding types, allowing the rest of the system to remain simple while gaining encoding flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If Java serialization is adopted for RMI-IIOP, then encoding efficiency improves, but compatibility with older versions may be compromised

Engineering Contradiction:
Improvedata encoding efficiencyVSAvoidbackward compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary encoding type negotiation and selection before actual message transmission. By determining the appropriate encoding type in advance, the system can use efficient Java serialization when both parties support it, while falling back to CDR for compatibility with older versions, thus preventing compatibility issues before they arise.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic encoding selection that adapts to the capabilities of communicating parties. The system can dynamically choose between Java serialization and CDR based on runtime conditions, allowing efficient encoding when possible while maintaining backward compatibility when needed, thus resolving the contradiction between efficiency and compatibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7533156B1Method and apparatus for RMI-IIOP implementation with java serialization
Publication Date: 2009.05.12 ORACLE AMERICAN INC
  • US7533156B1 patent drawing
  • US7533156B1 patent drawing
  • US7533156B1 patent drawing

AI summary

Method and apparatus for RMI-IIOP implementation using Java serialization as a data encoding mechanism. Embodiments may provide a mechanism to use Java serialization rather than, or as an alternative to, CORBA Common Data Representation (CDR), for the marshaling and unmarshaling of data in RMI-IIOP message exchanges. In one embodiment, a server-side Object Request Broker (ORB) may be configured to support the encoding of data in RMI-IIOP messages in accordance with CDR encoding and Java serialization encoding. A client-side ORB may optionally use Java serialization or CDR as the data encoding format for RMI-IIOP messages to invoke the associated object on the server. Response messages from the server to the client may include data encoded according to Java serialization or CDR.