Diameter Routing Agent Generic Binding Context for Message Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Diameter Routing Agents (DRAs) lack the ability to easily and flexibly define complex behaviors for message processing, relying on hard coding or scripting, which limits user empowerment and data persistence between rule engine invocations.
Innovation Solution
A method and system for a DRA that includes a processor, network interface, and volatile memory, enabling the evaluation of rules by accessing a generic binding context object to locate and retrieve data, and transmit messages based on rule evaluations, with features like data storage in volatile memory and timestamp-based record retention and deletion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If hard coding or scripting is used for message processing, then the DRA can process messages, but users cannot easily or flexibly define complex behaviors
Solution Approach 1:
The system segments message processing into discrete rules that can be independently defined and evaluated. Each rule operates on specific context objects (session context, message context, binding context), allowing users to build complex behaviors through composition of simple, manageable rule units rather than monolithic hard-coded logic.
Solution Approach 2:
Context objects serve as intermediaries between incoming messages and processing rules. The session context, message context, and binding context objects abstract the complex state management, allowing rules to operate on standardized data structures without directly manipulating raw message content or internal state.
2Duration of action of moving object
If data is stored in volatile memory for persistence, then data can be retained between rule engine invocations, but data loss may occur on system restart
Solution Approach 1:
The system performs preliminary actions by storing binding data in volatile memory during active sessions, enabling fast access and persistence between invocations. The binding context object maintains this data throughout the session lifecycle, and cleanup operations are performed preliminarily when sessions expire or are terminated.
Solution Approach 2:
The system changes the persistence parameter from permanent (non-volatile storage) to temporary (volatile storage) based on session lifecycle. Binding data is maintained in volatile memory with automatic expiration based on session timeout parameters, providing persistence for the required duration while allowing automatic cleanup.
3Adaptability or versatility
If a rule engine with context objects is implemented, then users can define complex behaviors, but the system complexity increases
Solution Approach 1:
The context objects (session context, message context, binding context) serve multiple functions: they store state information, provide data to rules for evaluation, and maintain binding information across different rule invocations. This multi-functionality reduces the need for separate specialized structures for each purpose.
Solution Approach 2:
The system creates standardized copies of context information across different context objects. The binding context, for example, is copied and made available to multiple rules and evaluation processes, allowing consistent access to binding data without requiring each rule to independently access or manage the underlying data source.
4Loss of time
If timestamp-based record retention is implemented, then old records can be automatically deleted, but additional processing overhead is introduced
Solution Approach 1:
The system implements periodic cleanup of expired binding records based on timestamps. Rather than continuous monitoring, the rule engine periodically evaluates and removes records that have exceeded their retention period, balancing the need for data retention with the overhead of management operations.
Data Source
AI summary
Various exemplary embodiments relate to a method and related network node including one or more of the following: receiving a first Diameter message at the DRA; evaluating a first rule, including accessing data from a generic binding context object including: locating a record associated with a key specified by the first rule, and retrieving the data from the record; and transmitting a message based on the evaluation of the first rule. Various embodiments additionally relate to receiving a second Diameter message at the DRA; and evaluating a second rule, including accessing the generic binding context object, including storing the data in the record associated with the key.


