Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality
AssigneeOracle International Corporation
InventorsSam Eric McMurry, Ajay Padmakar Deo, Apirux Bantukul
Life of this patent
Estimating the term…
Abstract
Methods, systems, and computer readable media for routing a Diameter message are disclosed. According to one method, the method occurs at a Diameter routing node. The method includes receiving, from a Diameter routing controller (DRC) via a software defined network (SDN) related interface, Diameter routing information, wherein the Diameter routing information is determined using application layer information. The method also includes routing a Diameter message using the Diameter routing information.
Claims15
A method for routing a Diameter message, the method comprising:
- at a Diameter routing node:
- receiving a first Diameter message associated with a Diameter session;
- determining an Internet protocol (IP) data tuple associated with the Diameter session using data from an IP packet carrying the first Diameter message, wherein the IP data tuple includes a source IP address, a source port, a destination IP address, a destination port, and a transport protocol;
- after receiving the first Diameter message, determining that the Diameter routing node does not have Diameter routing information associated with the Diameter session indicated in the first Diameter message by querying, using the IP data tuple associated with the Diameter session, a memory containing associations between Diameter routing information associated with a plurality of Diameter sessions and corresponding IP data tuples associated with the plurality of Diameter sessions and not finding the Diameter routing information associated with the Diameter session in the memory;
- sending, to a Diameter routing controller (DRC) via a software defined network (SDN) related interface, a query for requesting the Diameter routing information associated with the Diameter session, wherein the query includes Diameter application layer information from the first Diameter message, wherein the Diameter routing controller makes routing decisions for the first Diameter message using the Diameter application layer information in the first Diameter message in lieu of the Diameter routing node making the routing decisions;
- receiving, from the DRC via the SDN related interface, Diameter routing information associated with the Diameter session, wherein the Diameter routing information associated with the Diameter session is determined using the Diameter application layer information;
- storing, in the memory, an association between the Diameter routing information associated with the Diameter session and the IP data tuple associated with the Diameter session;
- routing the first Diameter message using the Diameter routing information associated with the Diameter session received from the DRC, wherein the routing is performed without the Diameter routing node analyzing the Diameter application layer information in the first Diameter message, wherein the Diameter routing information associated with the Diameter session includes a second destination IP address and a second destination port;
- receiving a second Diameter message associated with the Diameter session, wherein the second Diameter message is associated with the IP data tuple associated with the Diameter session;
- determining, by querying the memory using the IP data tuple, that the Diameter routing information associated with the Diameter session and stored in the memory is usable for routing the second Diameter message;
- and
- routing the second Diameter message using the second destination IP address and the second destination port of the Diameter routing information associated with the Diameter session.
A system for routing a Diameter message, the system comprising:
- a Diameter routing node comprising:
- at least one processor;
- and
- a software defined network (SDN) related interface,
- wherein the Diameter routing node is configured to receive a first Diameter message associated with a Diameter session, to determine an IP data tuple associated with the Diameter session using data from an Internet protocol (IP) packet carrying the first Diameter message, wherein the IP data tuple includes a source IP address, a source port, a destination IP address, a destination port, and a transport protocol;
- after receiving the first Diameter message, to determine that the Diameter routing node does not have Diameter routing information associated with the Diameter session indicated in the first Diameter message by querying, using the IP data tuple associated with the Diameter session, a memory containing associations between Diameter routing information associated with a plurality of Diameter sessions and corresponding IP data tuples associated with the plurality of Diameter sessions and not finding the Diameter routing information associated with the Diameter session in the memory;
- to send, to a Diameter routing controller (DRC) via the SDN related interface, a query for requesting the Diameter routing information, wherein the query includes Diameter application layer information from the first Diameter message, wherein the Diameter routing controller makes routing decisions for the first Diameter message using the Diameter application layer information in the first Diameter message in lieu of the Diameter routing node making the routing decisions, to receive, from the DRC via the SDN related interface, the Diameter routing information for the first Diameter message, wherein the Diameter routing information for the first Diameter message is determined using the Diameter application layer information, wherein the Diameter routing information associated with the Diameter session includes a second destination IP address and a second destination port, to store, in the memory, an association between the Diameter routing information for the first Diameter message and the IP data tuple associated with the Diameter session, to route the first Diameter message using the Diameter routing information associated with the Diameter session received from the DRC, wherein the routing is performed without the Diameter routing node analyzing the Diameter application layer information in the first Diameter message, to receive a second Diameter message associated with the Diameter session, wherein the second Diameter message is associated with the IP data tuple associated with the Diameter session, to determine, by querying the memory using the IP data tuple, that the Diameter routing information associated with the Diameter session and stored in the memory is usable for routing the second Diameter message, and to route the second Diameter message using the second destination IP address and the second destination port of the Diameter routing information associated with the Diameter session.
A non-transitory computer readable medium comprising computer executable instructions embodied in the non-transitory computer readable medium that when executed by a processor of a Diameter routing node control the Diameter routing node to perform steps comprising:
- receiving a first Diameter message associated with a Diameter session;
- determining an Internet protocol (IP) data tuple associated with the Diameter session using data from an IP packet carrying the first Diameter message, wherein the IP data tuple includes a source IP address, a source port, a destination IP address, a destination port, and a transport protocol;
- after receiving the first Diameter message, determining that the Diameter routing node does not have Diameter routing information associated with the Diameter session indicated in the first Diameter message by querying, using the IP data tuple associated with the Diameter session, a memory containing associations between Diameter routing information associated with a plurality of Diameter sessions and corresponding IP data tuples associated with the plurality of Diameter sessions and not finding the Diameter routing information associated with the Diameter session in the memory;
- sending, to a Diameter routing controller (DRC) via a software defined network (SDN) related interface, a query for requesting the Diameter routing information associated with the Diameter session, wherein the query includes Diameter application layer information from the first Diameter message, wherein the Diameter routing controller makes routing decisions for the first Diameter message using the Diameter application layer information in the first Diameter message in lieu of the Diameter routing node making the routing decisions;
- receiving, from the DRC via the SDN related interface, Diameter routing information associated with the Diameter session, wherein the Diameter routing information associated with the Diameter session is determined using the Diameter application layer information;
- storing, in the memory, an association between the Diameter routing information associated with the Diameter session and the IP data tuple associated with the Diameter session;
- routing the first Diameter message using the Diameter routing information associated with the Diameter session received from the DRC, wherein the routing is performed without the Diameter routing node analyzing the Diameter application layer information in the first Diameter message;
- receiving a second Diameter message associated with the Diameter session, wherein the second Diameter message is associated with the IP data tuple associated with the Diameter session, wherein the Diameter routing information associated with the Diameter session includes a second destination IP address and a second destination port;
- determining, by querying the memory using the IP data tuple, that the Diameter routing information associated with the Diameter session and stored in the memory is usable for routing the second Diameter message;
- and
- routing the second Diameter message using the second destination IP address and the second destination port of the Diameter routing information associated with the Diameter session.
Dependencies are inferred from the claim text.