IP Library Granted Patent US 9,300,695
Granted Patent B2
US 9,300,695 · App. 13/892,494 · Granted Mar 29, 2016

Method and apparatus for manipulating AVPs in a diameter routing agent

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,300,695
App. No.
13/892,494
Granted
Mar 29, 2016
Kind
B2
Abstract

Various exemplary embodiments relate to a method and related network node including one or more of the following: receiving a Diameter message at the DRA from an origin device; establishing a message context object in response to receiving the Diameter message, wherein the message context object includes a first collection of child objects; evaluating at least one rule, including: modifying, based on a first instruction, a first index value associated with the first collection of child objects, accessing, based on a second instruction and from the first collection of child objects, a child object corresponding to the first index value; and transmitting a message based on the evaluation of the at least one rule.

Claims (66)

1. A method performed by a Diameter Routing Agent (DRA) for processing a Diameter message, the method comprising:

receiving a Diameter message at the DRA from an origin device;

establishing a message context object in response to receiving the Diameter message, wherein the message context object includes a first collection of child objects;

evaluating at least one rule, comprising:

modifying, based on a first instruction, a first index value associated with the first collection of child objects, wherein:

the first index value is a read index value;

accessing, based on a second instruction and from the first collection of child objects, a child object corresponding to the first index value comprises retrieving a value from the child object;

modifying, based on a third instruction, a write index value associated with the collection of child objects; and

modifying, based on a fourth instruction, a value of another child object of the first collection of child objects, wherein the other child object corresponds to the write index value; and

transmitting a message based on the evaluation of the at least one rule.

2. The method of claim 1 , wherein evaluating at least one rule further comprises determining, based on a third instruction, a number of elements belonging to the collection of objects.

3. The method of claim 1 , wherein:

the first collection of child objects includes a plurality of second collections of child objects;

the child object is one of the plurality of second collections of grandchild objects; and

evaluating at least one rule further comprises:

modifying, based on a third instruction, a second index value associated with at least one of the second collections of child objects, and

accessing, based on the second instruction and from the child object, a grandchild object corresponding to the second index value.

4. The method of claim 3 , wherein evaluating at least one rule further comprises determining, based on a fourth instruction, a total number of objects belonging to any of the plurality of second collections of child objects.

5. The method of claim 1 , wherein

accessing the child object comprises modifying the Diameter message, and

transmitting the message comprises transmitting a modified version of the Diameter message.

6. The method of claim 1 , wherein the child object corresponds to a multi-valued attribute value pair (AVP) carried by the Diameter message.

7. A Diameter Routing Agent (DRA) for processing a Diameter message, the DRA comprising:

a rules storage configured to store at least one rule;

a Diameter stack configured to receive a Diameter message from an origin device;

a context creator configured to establish a message context object in response to receiving the Diameter message, wherein the message context object includes a first collection of child objects;

a rule engine configured to evaluate the at least one rule, comprising:

modifying, based on a first instruction, a first index value associated with the first collection of child objects, wherein: the first index

value is a read index value;

accessing by the rule engine, based on a second instruction and from the first collection of child objects, a child object corresponding to the first index value to retrieve a value from the child object;

modifying by the rule engine, based on a third instruction, a write index value associated with the collection of child objects; and

modifying by the rule engine, based on a fourth instruction, a value of another child object of the first collection of child objects, wherein the other child object corresponds to the write index value; and

a message handler configured to transmit, via the Diameter stack, a message based on the evaluation of the at least one rule.

8. The DRA of claim 7 , wherein, in evaluating at least one rule, the rule engine is further configured to determine, based on a third instruction, a number of elements belonging to the collection of objects.

9. The DRA of claim 7 , wherein:

the first collection of child objects includes a plurality of second collections of child objects;

the child object is one of the plurality of second collections of child objects; and

in evaluating at least one rule, the rule engine is further configured to:

modify, based on a third instruction, a second index value associated with at least one of the second collections of child objects, and

access, based on the second instruction and from the child object, a grandchild object corresponding to the second index value.

10. The DRA of claim 9 , wherein evaluating at least one rule further comprises determining, based on a fourth instruction, a total number of objects belonging to any of the plurality of second collections of child objects.

11. The DRA of claim 7 , wherein:

in accessing the child object, the rule engine is configured to modify the Diameter message, and

in transmitting the message, the message handler is configured to transmit a modified version of the Diameter message.

12. The DRA of claim 7 , wherein the child object corresponds to a multi-valued attribute value pair (AVP) carried by the Diameter message.

13. A non-transitory machine-readable storage medium encoded with instructions for execution by a Diameter Routing Agent (DRA) for processing a Diameter message, the medium comprising:

instructions for receiving a Diameter message at the DRA from an origin device; instructions for establishing a message context object in response to receiving the

Diameter message, wherein the message context object includes a first collection of child objects;

instructions for evaluating at least one rule, comprising:

instructions for modifying, based on a first instruction,

a first index value associated with the first collection of child objects, wherein: the first index value is a read index value;

instructions for accessing, based on a second instruction and from the first collection of child objects, a child object corresponding to the first index value comprise instructions for retrieving a value from the child object; and

instructions for modifying, based on a third instruction, a write index value associated with the collection of child objects, and

instructions for modifying, based on a fourth instruction, a value of another child object of the first collection of child objects, wherein the other child object corresponds to the write index value; and

instructions for transmitting a message based on the evaluation of the at least one rule.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions for evaluating at least one rule further comprise instructions for determining, based on a third instruction, a number of elements belonging to the collection of objects.

15. The non-transitory machine-readable storage medium of claim 13 , wherein:

the first collection of child objects includes a plurality of second collections of child objects;

the child object is one of the plurality of second collections of child objects; and

instructions for evaluating at least one rule further comprise:

instructions for modifying, based on a third instruction, a second index value associated with at least one of the second collections of child objects, and

instructions for accessing, based on the second instruction and from the child object, a grandchild object corresponding to the second index value.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the instructions for evaluating at least one rule further comprise instructions for determining, based on a fourth instruction, a total number of objects belonging to any of the plurality of second collections of child objects.

17. The non-transitory machine-readable storage medium of claim 13 , wherein

the instructions for accessing the child object comprise instructions for modifying the Diameter message, and

the instructions for transmitting the message comprise instructions for transmitting a modified version of the Diameter message.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Sep 3, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT CANADA INC.
Reel/Frame 033683/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2014
From: ALCATEL-LUCENT CANADA INC.
To: ALCATEL LUCENT
Reel/Frame 033231/0434 →
SECURITY AGREEMENT Recorded Jul 22, 2013
From: ALCATEL LUCENT CANADA INC.
To: CREDIT SUISSE AG
Reel/Frame 030851/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2013
From: MANN, ROBERT A; VIHTARI, MIKE
To: ALCATEL LUCENT CANADA, INC.
Reel/Frame 030401/0785 →