Rule Engine Marshalling Plug-ins for User Object Serialization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If customized marshalling plug-ins are implemented for different user object types, then processing efficiency improves, but system complexity increases
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.
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.
3Ease of operation
If conventional binary stream serialization is used, then data transmission is achieved, but session management and stateful operations become complicated
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.
Data Source
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.