Runtime Serialization Remediation for Module Reflection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Serialization of runtime objects can fail due to serialization incompatibilities when a non-transient field references another object that is not open to reflective operations, leading to runtime errors and unpredictable system behavior.

Innovation Solution

The runtime environment identifies serialization incompatibilities by analyzing objects and performing remedial operations such as emitting a serial form of the referenced object of a declared type, ancestor type, or refraining from emitting any serial form, or opening the package to reflective operations to ensure successful serialization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a non-transient field of a serializable runtime object references another object that is not open to reflective operations, then the serialization process attempts to include the referenced object in the serial form, but this leads to runtime errors and unpredictable system behavior

Engineering Contradiction:
Improveserialization successVSAvoidruntime errors
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary analysis before serialization to identify referenced objects that are not open to reflective operations. By detecting these incompatibilities in advance and applying remedial operations (such as emitting serial forms of declared types or ancestor types), the system prevents runtime errors from occurring during the actual serialization process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary analysis phase that acts as a mediator between the serialization process and referenced objects. This intermediary layer identifies serialization incompatibilities and applies remedial operations, allowing the serialization to proceed successfully without directly encountering the reflective operation restrictions of the referenced objects.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If reflective operations are performed on objects not open to reflection, then serialization of the referencing object may fail, but prohibiting reflective operations entirely limits the serialization capability

Engineering Contradiction:
Improveserialization capabilityVSAvoidsystem behavior predictability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system applies different handling strategies to different referenced objects based on their individual characteristics. Objects that are open to reflective operations are serialized normally, while objects that are not open to reflection receive remedial operations (such as emitting serial forms of declared types or ancestor types). This localized approach maintains serialization capability while ensuring predictable behavior for each object type.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the serialization parameters dynamically based on the referenced object's properties. When a referenced object is not open to reflective operations, the system alters the serialization approach by emitting serial forms of the declared type or ancestor type instead of attempting direct reflection, thereby maintaining adaptability while ensuring reliable behavior.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If serialization includes all non-transient field values, then complete data preservation is achieved, but referencing incompatible objects causes data loss and process termination

Engineering Contradiction:
Improvedata preservationVSAvoidprocess continuity
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system extracts and handles problematic referenced objects separately from the main serialization process. By identifying objects that are not open to reflective operations and applying remedial operations to them, the system removes the source of data loss and process termination while still preserving the serialization of the main object and its compatible referenced objects.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system prepares compensatory measures in advance by analyzing referenced objects before serialization. When objects incompatible with reflection are detected, remedial operations are pre-applied (such as emitting serial forms of declared types or ancestor types), cushioning against potential data loss and process termination that would otherwise occur during serialization.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10120777B1Remediating serialization incompatibilities
Publication Date: 2018.11.06 ORACLE INT CORP
  • US10120777B1 patent drawing
  • US10120777B1 patent drawing
  • US10120777B1 patent drawing

AI summary

Techniques for remediating serialization incompatibilities are disclosed. A runtime environment of a module system identifies a first serializable runtime object comprising a reference to a second serializable runtime object. The first serializable runtime object is an instantiation of a first element in a first package of the module system. The first package is open to one or more reflective operations. Based on determining that (a) the second serializable runtime object is an instantiation of a second element in a second package of the module system and (b) the second element is not open to the one or more reflective operations, a remedial operation, associated with the first serializable runtime object, is executed.