Rule Engine Marshalling Plug-ins for User Object Serialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional rule engines face inefficiencies in processing and transmitting user objects due to the need for serialization and deserialization of binary streams, which can complicate data management and session handling, especially in scenarios involving different user object types.

Innovation Solution

The implementation of marshalling plug-ins within the rule engine allows for customized conversion of user objects into and out of the engine, using strategies like serialized and identity marshalling, enabling efficient data management and session handling, including support for stateful sessions and snapshotting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional serialization and deserialization of binary streams is used for all user objects, then data transmission is achieved, but processing efficiency decreases and data management becomes complicated

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the marshalling parameter from conventional binary serialization to type-specific marshalling formats. Different user object types use different marshalling strategies (e.g., value objects use value-based marshalling, reference objects use reference-based marshalling), which optimizes processing efficiency while simplifying data management for each specific type.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different marshalling qualities to different parts of the data structure. Each user object type receives customized marshalling treatment appropriate to its nature, rather than a uniform approach. This local optimization improves overall processing efficiency while reducing the complexity of managing diverse data types.

Inventive Principle:
Principle #3Local quality

2Productivity

If customized marshalling plug-ins are implemented for different user object types, then processing efficiency improves, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal marshalling framework that handles multiple user object types through a common interface. The rule engine core contains a marshalling plug-in manager that can invoke different specialized plug-ins while maintaining a unified architecture. This allows the system to achieve high processing efficiency for specific types without proportionally increasing overall system complexity.

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

Solution Approach 2:

The patent segments the marshalling functionality into separate plug-ins for different user object types, each optimized for its specific data characteristics. The rule engine core remains simple while delegating type-specific marshalling to specialized components. This segmentation allows efficient processing per type while keeping the core system manageable.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If conventional binary stream serialization is used, then data transmission is achieved, but session management and stateful operations become complicated

Engineering Contradiction:
Improvesession management easeVSAvoidsession handling complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent changes the session management approach by using type-specific marshalling parameters instead of uniform binary serialization. This allows the system to naturally handle stateful sessions and snapshots with appropriate marshalling strategies for each user object type, simplifying session management operations while maintaining the necessary complexity only where required.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9361582B2Efficient binary protocol marshalling for rule engine sessions
Publication Date: 2016.06.07 RED HAT INC

AI summary

Some embodiments of efficient binary protocol marshalling for rule engine sessions have been presented. In one embodiment, a set of marshalling plug-ins is provided to a rule engine. Each of the set of marshalling plug-ins is customized for a type of user objects. In response to encountering a user object, the rule engine selects a marshalling plug-in out of the set of marshalling plug-ins based on a type of the user object to marshall in or to marshall out the user object.