Object Serialization Using Multiple Algorithms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of serializing and deserializing complex objects with cycles and immutable objects is challenging due to issues with cyclic references and the need for efficient serialization algorithms that ensure security and compatibility across different deserialization systems.

Innovation Solution

The implementation of multiple serialization algorithms, including traditional, temporally split, record, and deferred serialization, which select the appropriate method based on object graph analysis to handle cycles and immutability, ensuring secure and compatible deserialization processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional serialization algorithm is used, then compatibility with existing systems is maintained, but security vulnerabilities arise due to access to non-transient private members

Engineering Contradiction:
ImprovecompatibilityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the serialization process into multiple distinct algorithms (traditional, temporally split, record, deferred), each with specific security characteristics. This allows the system to select the appropriate segmentation based on security requirements while maintaining compatibility where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of serialization behavior by introducing different algorithms with varying levels of security and compatibility. The temporally split algorithm modifies the traditional approach by separating handle assignment from object creation, thereby enhancing security while maintaining compatibility with existing deserialization systems.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple serialization algorithms are implemented, then security and compatibility are enhanced, but device complexity increases

Engineering Contradiction:
Improvesecurity and compatibilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal serialization framework that supports multiple algorithms through a common interface. The serializer can be configured to use different algorithms (traditional, temporally split, record, deferred) depending on the object graph characteristics, providing multi-functionality without requiring separate complete systems.

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

Solution Approach 2:

The patent introduces dynamic algorithm selection based on analysis of the object graph. The system automatically determines which serialization algorithm to use by examining object characteristics such as immutability and cyclic references, making the complexity management dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

3Productivity

If object graph analysis is performed to select serialization algorithm, then serialization efficiency is improved, but processing time increases

Engineering Contradiction:
Improveserialization efficiencyVSAvoidanalysis time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs object graph analysis as a preliminary action before actual serialization. By analyzing the object graph structure (identifying immutability, cyclic references) in advance, the system selects the optimal serialization algorithm beforehand, improving overall efficiency while the analysis time is amortized across the serialization process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses feedback from object graph analysis to dynamically select the appropriate serialization algorithm. The analysis results feed back into the serialization decision-making process, allowing the system to adjust its behavior based on the specific characteristics of the object graph being serialized.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11477258B2Serialization of objects using multiple serialization algorithms
Publication Date: 2022.10.18 ORACLE INT CORP
  • US11477258B2 patent drawing
  • US11477258B2 patent drawing
  • US11477258B2 patent drawing

AI summary

Techniques for serializing objects stored in system memory are disclosed. The system may receive data representing an object stored in system memory. The system may select a particular serialization process, from among a plurality of serialization processes, for serializing the received data. The particular serialization process may be selected based at least in part on the received data. The system may serialize the data representing the object in system memory using the selected serialization process. Serializing the data may yield one or more stream objects.