Java Serialized Object Stream Modelling Tool

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for inspecting and modifying serialized object streams in Java Object Serialization require writing an ad hoc application or using automatic tools that need the definition classes, making it cumbersome and requiring manual steps to view or modify the content.

Innovation Solution

A tool that dynamically builds a class directory and model from the serialized stream, allowing inspection and modification without requiring the definition classes, using a parser to construct a model and a writer to produce a conformant stream, and an editor to display and edit the payload content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If an ad hoc Java application is written to inspect serialized streams, then the ability to view and modify serialized content is achieved, but the complexity and manual effort required increases

Engineering Contradiction:
Improveease of inspecting serialized streamsVSAvoidcomplexity of inspection tool
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary tool that acts as a mediator between the serialized byte stream and the user. This tool automatically parses the stream, builds a model representation, and presents it in a human-readable format, eliminating the need for users to write custom applications while maintaining ease of operation

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a simplified copy or model representation of the serialized object graph that can be inspected and modified without dealing with the raw byte stream. This model serves as an intermediate representation that is easier to work with while preserving the essential structure and data

Inventive Principle:
Principle #26Copying

2Ease of operation

If automatic tools are used to deserialize and display content, then inspection capability is provided, but the requirement for definition classes library increases complexity

Engineering Contradiction:
Improveautomation of inspection processVSAvoiddependency on definition classes
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the inspection process into distinct phases: parsing the byte stream, building a model representation, and displaying/modifying content. This segmentation allows the tool to handle different scenarios independently, reducing dependency on complete definition classes while maintaining automation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic approach where the tool adapts its behavior based on the content of the serialized stream. It can dynamically determine what information is available, build appropriate models on-the-fly, and adjust its inspection capabilities without requiring pre-defined class structures

Inventive Principle:
Principle #15Dynamics

3Productivity

If manual steps are required to view serialized stream content, then basic inspection is possible, but productivity and efficiency decrease

Engineering Contradiction:
Improveefficiency of serialized stream inspectionVSAvoidtime required for manual inspection steps
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by automatically parsing the serialized stream and building the model representation before the user needs to inspect or modify content. This pre-processing eliminates the need for users to perform manual deserialization steps, significantly improving productivity and reducing time loss

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8930888B2Modelling serialized object streams
Publication Date: 2015.01.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8930888B2 patent drawing
  • US8930888B2 patent drawing
  • US8930888B2 patent drawing

AI summary

Modelling a serialized object stream can include receiving a stream of bytes corresponding to the serialized form of a first object, creating an empty initial model for containing a generic object and a generic class, and, upon detection of a class from the stream, constructing a corresponding generic class object in the model using a processor. Upon detection of a new object from the stream, a corresponding generic object in the model can be constructed. Further objects and classes in the model that are associated with the generic objects and classes can be referenced.