RMI-IIOP Java Serialization Encoding Mechanism
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If a single encoding type is used for RMI-IIOP, then implementation is simpler, but flexibility in encoding choices is reduced
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.
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.
3Productivity
If Java serialization is adopted for RMI-IIOP, then encoding efficiency improves, but compatibility with older versions may be compromised
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.
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.
Data Source
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.


