US20160373348A1 - Methods, systems, and computer readable media for multi-protocol stateful routing - Google Patents

Methods, systems, and computer readable media for multi-protocol stateful routing Download PDF

Info

Publication number
US20160373348A1
US20160373348A1 US14/742,679 US201514742679A US2016373348A1 US 20160373348 A1 US20160373348 A1 US 20160373348A1 US 201514742679 A US201514742679 A US 201514742679A US 2016373348 A1 US2016373348 A1 US 2016373348A1
Authority
US
United States
Prior art keywords
protocol
message
session
client
policy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US14/742,679
Other versions
US10951519B2 (en
Inventor
Jared Michael Renzullo
Tarek Abou-Assali
Sayan Chowdhury
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Priority to US14/742,679 priority Critical patent/US10951519B2/en
Assigned to ORACLE INTERNATIONAL CORPORATION reassignment ORACLE INTERNATIONAL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ABOU-ASSALI, TAREK, CHOWDHURY, SAYAN, RENZULLO, JARED MICHAEL
Publication of US20160373348A1 publication Critical patent/US20160373348A1/en
Application granted granted Critical
Publication of US10951519B2 publication Critical patent/US10951519B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Definitions

  • the subject matter described herein relates to routing traffic in a network. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for multi-protocol stateful routing of traffic within a network.
  • PCRFs Policy and Charging Rules Functions
  • PGW PDN gateway
  • AF application function
  • DAA Diameter routing agent
  • Existing routing functions such as DRAs, are only configured to route across a single protocol, in some aspects by performing a lookup in a binding table.
  • existing binding tables accessed by existing routing functions only utilize keys for a single type of protocol, such as the Diameter protocol. To date, there is not a standard way to route across multiple protocols.
  • An exemplary method of multi-protocol stateful routing is performed at a multi-protocol stateful router and includes receiving a first message of a client session that is communicated using a first communication protocol, wherein the first message requires processing by one or more policy servers.
  • the method further comprises obtaining, from the first message, one or more client identifiers and determining a policy server that is assigned to the client session.
  • the method further comprises storing the one or more client identifiers and a policy server identifier that is associated with the policy server that is assigned to the client session as a multi-protocol binding record.
  • the method further comprise receiving a second message that is communicated using a second protocol that is different from the first protocol, determining, using the multi-protocol binding record, that the second message is in the client session, and routing the second message to the policy server that is assigned to the client session.
  • An exemplary multi-protocol stateful routing system comprises a multi-protocol stateful router including at least one processor and at least one network interface.
  • the at least one network interface is configured to receive a first message of a client session that is communicated using a first communication protocol.
  • One or more client identifiers are obtained from the first message.
  • the system further comprises a memory element having binding information stored therein for determining a first policy server that is assigned to the client session, wherein the one or more client identifiers and a first policy server identifier that is associated with the first policy server that is assigned to the client session are stored within the memory element as a multi-protocol binding record.
  • the multi-protocol stateful router is configured to receive a second message that is communicated using a second protocol that is different from the first protocol and determine, using the multi-protocol binding record, that the second message is assigned to the first policy server.
  • the subject matter described herein can be implemented in software in combination with hardware and/or firmware.
  • the subject matter described herein can be implemented in software executed by a processor.
  • the subject matter described herein can be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps.
  • Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits.
  • a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
  • node refers to a physical computing platform including one or more processors and memory.
  • the terms “function” or “module” refer to software in combination with hardware and/or firmware for implementing features described herein.
  • policy server refers to a Policy Charging and Rules Function (PCRF) and/or a node having PCRF functionality or capability.
  • PCRF Policy Charging and Rules Function
  • FIG. 1 is a network diagram illustrating multi-protocol stateful routing according to an exemplary implementation of the subject matter described herein;
  • FIGS. 2 to 5 are message flow diagrams illustrating exemplary messaging for multi-protocol stateful routing according to an embodiment of the subject matter described herein;
  • FIG. 6 is a block diagram of a special purpose computer system suitable for use in performing the functions described herein;
  • FIG. 7 is a flow chart illustrating an exemplary process for multi-protocol stateful routing according to an exemplary implementation of the subject matter described herein.
  • the subject matter described herein relates to routing traffic in a network for subscribers and/or subscriber sessions across multiple protocols to one server or to one pool of servers.
  • methods, systems, and special purpose computing systems executing computer readable media described herein can route all protocol messages, including multiple different protocol messages, for a same user to a same server, for a same user to a same group of servers, and/or to any server that can handle multiple protocols.
  • multi-protocol stateful routers route messages across multiple, different protocols to a policy server, such as a Policy and Charging Rules Functions (PCRF).
  • PCRF Policy and Charging Rules Functions
  • Methods, systems, and computer readable media herein utilize stateful bindings (e.g., binding records) between clients and servers (or machine groups) which are protocol agnostic.
  • the bindings can identify a user through a number of different “keys” or “client identifiers” as described below, which all map to a same destination, or end machine. Every time a new protocol message is received by the multi-protocol stateful router, it first looks to see if there is an existing binding for any of the given keys. If one is found, the binding is updated by adding relevant information contained in the protocol including any new user keys. If no binding is found, a new binding is created with all included user keys mapping to a new end machine that is selected.
  • session communicating using protocol A may be established for a particular user with an IP Address key.
  • a Diameter session may then be established from a DPI for the same user and IP Address.
  • the multi-protocol stateful router assures that both session initiation messages are routed to the same server so that the different protocol messages can be updated with policy information for providing a session having a consistent policy.
  • FIG. 1 is an exemplary network diagram illustrating multi-protocol stateful routing within a network, generally designated 100 .
  • network 100 one or more clients initiate a packet communication session (e.g., voice, data, audio/video streaming, downloading information, an Internet session, or the like) via interacting with any type of User Equipment (UE), generally designated 102 .
  • UE User Equipment
  • Exemplary UEs 102 include any type of physical or virtual machine that is configured to transmit and/or receive packet communications, not limited to a web-enabled device, a mobile device, a smart device, a phone, a computer, a packet streaming device, a tablet, or the like.
  • UEs 102 may include a device having a hardware processor and/or a memory that collectively execute or process software for sending and/or receiving packet communications.
  • Network 100 includes one or more nodes or servers configured to provide support and/or policy charging and information for any given session associated with any given UE 102 .
  • the nodes or servers included a plurality of back-end PCRFs, generally designated 104 .
  • PCRFs 104 can be configured within a pool of PCRFs for sharing and/or balancing the implementation of policy and charging functionality within network 100 . Once a UE 102 session is assigned to a PCRF, typically all of the traffic associated with that session is routed to the same PCRF until the session is terminated. However, PCRFs 104 may offload traffic to another PCRF, where desired.
  • An enforcement node residing in an access network 106 may establish a policy session with one of the PCRFs 104 for obtaining policy and charging instructions for client sessions involving one of the UEs 102 .
  • Enforcement nodes may include a Deep Packet Inspection (DPI), a gateway, another node, or the like.
  • DPI Deep Packet Inspection
  • access network 106 may establish a policy session for any of UE 1 to UE N with any of PCRF 1 to PCRF N (where N is a whole number integer >2).
  • Each UE 102 is associated with one or more unique identifiers (IDs), which may include addresses or identifiers that are associated with a subscriber, a specific UE 102 (e.g., an identifier for the physical device), a phone number, a session identifier, a port address, a connection address, an Internet Protocol (IP) address or the like.
  • IDs may include addresses or identifiers that are associated with a subscriber, a specific UE 102 (e.g., an identifier for the physical device), a phone number, a session identifier, a port address, a connection address, an Internet Protocol (IP) address or the like.
  • IP Internet Protocol
  • a first device 102 A can establish a session with access network 106 by sending packets having a first identifier ID 1
  • a second device 102 B can establish a session by sending packets having a second identifier ID 2 and a third identifier ID 3
  • the N th device 102 C can establish a session by sending packets having a fourth identifier ID 4 , a fifth identifier ID 5 , and/or a sixth identifier ID 6 .
  • Each UE 102 may be associated with any number (quantity) of identifiers (e.g., IDs) transmitted to access network 106 , where the identifiers are used for routing purposes.
  • packets communicated across different protocols may utilize different identifiers or “keys” that are used for multi-protocol routing as described herein.
  • Exemplary identifiers which may be used individually as “keys” or in combination as “composite keys” for looking up information within a routing or binding table, can include an International Mobile Subscriber Identity (IMSI), a Mobile Station International Subscriber Directory Number (MSISDN), an Internet Protocol (IP) address, an International Mobile Equipment Identifier (IMEI), a Mobile Station Roaming Number (MSRN), a user name, a Network Address Identifier (NAI), an Access Point Name (APN), a Media Access Control (MAC) address, a subscriber phone number, a handover number (HON), a port number, an E164 number, or the like.
  • IMSI International Mobile Subscriber Identity
  • MSISDN Mobile Station International Subscriber Directory Number
  • IP Internet Protocol
  • IMEI International Mobile Equipment Identifier
  • MSRN Mobile Station Roaming Number
  • AAI Network Address Identifier
  • APN Access Point Name
  • MAC Media Access Control
  • Combinations of two or more identifiers may be collectively used and stored in a binding table as a complex or composite key for routing messages across all protocols or across multiple different protocols to the same server (e.g., PCRF), where possible.
  • one or more UE identifiers are associated with a policy server identifier in a binding table, once the session is assigned to a policy server, where the policy server identifier identifies a PCRF to which all traffic within a client session is to be routed. The UE identifiers are used to lookup the PCRF for future messages, including messages using all different protocols.
  • a multi-protocol stateful router (MPSR) 110 may be deployed within network 100 for receiving and/or intercepting traffic prior to the traffic being received at any one PCRF in a pool of PCRFs 104 .
  • a pool of PCRFs 104 may include at least a first PCRF 104 A and a second PCRF 104 B, etc.
  • a third PCRF 104 C may be provided. More than three PCRFs may also be provided.
  • the term “traffic” refers to any and/or all network packet communications or messages, including network messages for one or more sessions within a network.
  • MPSR 110 is configured to receive messages sent across any and all protocols and/or any and all interfaces prior to receipt at any PCRF in the pool of PCRFs 104 , not limited to messages communicated using protocols including Diameter, remote authentication dial-in user service (RADIUS), Mobile Application Protocol (MAP), HyperText Transfer Protocol (HTTP), HyperText Transfer Protocol Secure (HTTPS), eXtensible Markup Language (XML), Session Initiation Protocol (SIP), Internet Protocol (IP), or the like.
  • RADIUS remote authentication dial-in user service
  • MAP Mobile Application Protocol
  • HTTP HyperText Transfer Protocol
  • HTTPS HyperText Transfer Protocol Secure
  • XML eXtensible Markup Language
  • SIP Session Initiation Protocol
  • IP Internet Protocol
  • MPSR 110 is a routing agent configured to receive and route messages from any node within a network, for example, messages from access network 106 , messages from at least one node, Node A 112 via at least one interface 114 communicated via a first protocol A, and message from at least one other node, 116 via at least one other interface 118 communicated via protocol B.
  • First and second nodes may include any suitable component, for example, a gateway, a router, a switch, a server, a DPI, a Broadband Network Gateway (BNG), an application function (AF), etc.
  • nodes include any node within a core network.
  • MPSR 110 is configured to receive messages across all (different) protocols (e.g., generally designated protocol A, protocol B, etc.), obtain identification information from the messages communicated across different protocols, update a routing or binding table with the obtained information, route messages from the different protocols to a same PCRF for a same user, a same client, and/or for a same session.
  • MPSR 110 is also configured to store and/or remember the routing information (e.g., the association between the client identifier and the policy server identifier) for future use.
  • MPSR 110 has access to a local or remote storage element (see e.g., FIG. 6 ) that contains binding information 120 .
  • binding information 120 is illustrated as being stored locally at MPSR 110 ; however, binding information 120 may be stored remote from MPSR 110 for retrieval at any time.
  • Binding information 120 includes data or information used to route multi-protocol messages for a given client and/or session to a same PCRF.
  • binding information includes one or more unique identifiers (e.g., ID1, ID2, etc.) associated with a client (e.g., any one of UEs 102 ) and one or more policy server identifiers associated with a serving (assigned) PCRF. Where a session has not yet been assigned to a PCRF, MPSR 110 is configured to assign the session to a PCRF and store information regarding the assigned session for future use.
  • binding information 120 may be stored within a hardware memory storage element or a hardware storage device, and may include a table, a database, a cache, or the like.
  • binding information 120 includes information stored in a binding table having one or more entries. Each entry includes at least one client identifier (e.g., a subscriber or a session identifier) as well as destination information including at least one server identifier.
  • MPSR 110 is configured to receive multi-protocol message traffic and use a unique identifier obtained (e.g., extracted) from the multi-protocol messages to look up a PCRF 104 that is assigned to handle the traffic for an assigned session. For new sessions that are unassigned, MPSR 110 is configured to assign each session to a given PCRF 104 in accordance with a prioritized list, a load-balancing calculation, or any other suitable assignment methodology.
  • Table 1 is an exemplary embodiment of binding information 120 that may be stored in a routing or binding table.
  • binding information 120 includes a plurality of multi-protocol binding records comprising one or more multi-protocol client identifiers and a PCRF identifier.
  • Table 1 is a multi-protocol binding table created from a plurality of multi-protocol binding records, where each of the plurality of multi-protocol binding records comprises a user equipment identifier (e.g., “USER/CLIENT ID(S)) and a PCRF Identifier (e.g., “SERVER ID” that is assigned to the user equipment identifier).
  • a user equipment identifier e.g., “USER/CLIENT ID(S)
  • PCRF Identifier e.g., “SERVER ID”
  • each message received at MPSR 110 may be associated with one or more user or client IDs.
  • the user IDs are keys that are used to look up the server (e.g., PCRF) that is assigned to a given client session.
  • User IDs include keys that are indexed or associated with a serving PCRF and stored as binding information 120 in a binding (routing) table, a database, etc. If a session is offloaded or the session is assigned to another PCRF, MPSR 110 is configured to inspect messages exchanged between the client and PCRF for origination and destination information and update the table with the updated binding.
  • messages routed across different protocols utilize multiple, different identifiers. Thus, multiple identifiers may be used to lookup binding information in the binding table. For example, in entry 0, three user IDs may be associated with a client and the PCRF assigned to the client session. The three user IDs may be used as a composite key to determining routing, where the different IDs are used for different protocols.
  • MPSR 110 is configured to receive and/or intercept all messages, even messages from nodes and/or interfaces that communicate across different protocols, and extract and store the client identifiers and policy server identifiers as binding information so that future messages may be correlated to a same server that is assigned to that client and/or client session.
  • MPSR 110 is also configured to assign unassigned messages for sessions it receives to a PCRF according to a prioritized list, capacity, and/or any other assignment methodology.
  • MPSR 110 is configured to store the client identifier and the assigned policy server identifier for use in future routing decisions.
  • the data below may be stored as a record or optionally in a table, such as in Table 1 above.
  • the data below may be stored within any suitable form and any suitable storage element.
  • the data above includes several user IDs (client identifiers) that may be associated with a single session.
  • the user IDs may be used to correlate session traffic for routing to a same server (e.g., a PCRF) or a same pool of servers.
  • session traffic can be communicated across multiple, different protocols that utilize different keys (e.g., User IDs or identifiers).
  • MPSR 110 utilizes the user IDs as keys to index, lookup, and/or otherwise determine which server is appropriate for all protocol messages communicated during one session. That is, first and second messages of a client session each include at least one common client identifier, thus providing for more efficient lookup of binding information and PCRF assignments.
  • MPSR 110 is configured to then route all session traffic to the same server until either the session is terminated or the traffic is offloaded to another server.
  • a policy session origination node may include a Broadband Network Gateway (BNG) node that communicates messages via RADIUS protocol across a RADIUS interface.
  • BNG Broadband Network Gateway
  • PDN Packet Data Network
  • PGW Packet Data Network Gateway
  • MPSR 110 is configured to utilize the different types of user IDs communicated via messages using different protocols to correlate all session traffic, including the Diameter and RADIUS traffic, to the same server (e.g., PCRF).
  • MPSR 110 is configured to receive all messages, extract and/or store binding information, determine routing, and route all session traffic to a same PCRF.
  • FIG. 1 is for illustrative purposes and that various nodes, their locations, and/or their functions described above in relation to FIG. 1 may be changed, altered, added, or removed. For example, some nodes and/or functions may be combined into a single entity, or separated into multiple entities.
  • FIGS. 2 to 5 are message flow diagrams illustrating exemplary messaging for multi-protocol stateful routing according to an embodiment of the subject matter described herein.
  • MPSR 110 is configured to receive or intercept all messages (traffic) prior to the messages being routed to first PCRF 104 A and/or second PCRF 104 B.
  • MPSR 110 is configured to inspect the messages to determine whether the messages belong to a client session that is already assigned to a PCRF, and then route the messages to the PCRF if so assigned.
  • MPSR 110 may assign the session to a given PCRF, associate the client user ID with a policy server identifier associated with the PCRF, and route all future messages belonging to that session to the same PCRF.
  • an accounting request 204 is sent from a Broadband Network Gateway (BNG) 200 to MPSR 110 , which selects a PCRF based on the binding information.
  • BNG Broadband Network Gateway
  • the accounting request 204 is communicated using the RADIUS protocol across a RADIUS interface.
  • the message includes a first user ID in the form of an IP address (i.e., 10.12.13.45).
  • the IP address is one form of a client identifier or a user ID, which is extracted from the accounting request 204 and stored within a routing or binding table for routing all future messages within a client session.
  • MPSR 110 receives the accounting request, and extracts and stores the user ID (e.g., IP address) as a data record in a database, a table, or the like.
  • MPSR 110 routes the request to first PCRF 104 A at 208 .
  • First PCRF 104 A acknowledges the request and sends a response 210 .
  • MPSR 110 routes the response to BNG 200 at 212 .
  • a Deep Packet Inspection (DPI) node communicates a Diameter Credit Control Request (CCR) message 214 using a Diameter interface (e.g., a Gx interface) to the MPSR, which selects the PCRF based on the binding information.
  • DPI Deep Packet Inspection
  • CCR Diameter Credit Control Request
  • MPSR 110 is configured to receive messages communicated across different protocols for determining and implementing appropriate routing for that session. MPSR 110 advantageously eliminates the need for any additional, extraneous signaling that would otherwise be required to handle the RADIUS and Diameter requests separately for determining routing.
  • MPSR 110 is configured to receive the Diameter CCR message and perform a lookup within a binding table for identifying and determining the correct PCRF to which the session is already bound.
  • MPSR 110 utilizes the user ID (e.g., IP:10.12.13.45) as a key to lookup and determine routing of session traffic.
  • MPSR 110 determines that session traffic for IP:10.12.13.45 is bound to first PCRF 104 A, and forwards the Diameter CCR message to first PCRF 104 A at 218 .
  • first PCRF 104 A When first PCRF 104 A receives the Diameter CCR message, it may determine that policy parameters need to change. Policy parameters may include anything relating to policy and charging, such as Quality of Service (QoS), an amount of bandwidth allocated to the session, a change in an amount being charged for the session, activation of application functionality, or the like. Policy parameters may be changed by passing them down to other nodes in the network, such as policy decision points or enforcement nodes (e.g. in case of Diameter this can be achieved using PCC rules).
  • QoS Quality of Service
  • Policy parameters may be changed by passing them down to other nodes in the network, such as policy decision points or enforcement nodes (e.g. in case of Diameter this can be achieved using PCC rules).
  • first PCRF 104 A implements a policy change for the session.
  • first PCRF 104 A acknowledges the Diameter CCR message via a Diameter Credit Control Answer (CCA) message.
  • CCA Diameter Credit Control Answer
  • first PCRF 104 A sends a RADIUS Change of Authorization (CoA) message to BNG 200 .
  • the CoA message indicates a change in the attributes of an authentication, authorization, and accounting (AAA) session after it is authenticated.
  • MPSR 110 forwards (routes) the Diameter CCA message to DPI 202 .
  • MPSR 110 forwards the RADIUS CoA message to BNG 200 .
  • BNG 200 acknowledges the RADIUS CoA message sent from first PCRF 104 A.
  • MPSR 110 forwards the CoA-ACK to first PCRF 104 A.
  • FIG. 3 is a message flow diagram illustrating another embodiment of messaging for multi-protocol stateful routing.
  • MPSR 110 is configured to receive messages (traffic) prior to the messages being routed to first and second PCRFs 104 A and 104 B.
  • MPSR 110 can receive or intercept multi-protocol traffic, for example, from a PDN Gateway (PGW) 300 communicating using Diameter and a Diameter interface (e.g., Gx interface) and a trusted, non-3GPP access node, such as a WiFi access node 302 communicating using RADIUS and a RADIUS access.
  • PGW PDN Gateway
  • Diameter interface e.g., Gx interface
  • a trusted, non-3GPP access node such as a WiFi access node 302 communicating using RADIUS and a RADIUS access.
  • WiFi access node 302 may direct a RADIUS accounting request message 304 towards MPSR 110 , which selects a PCRF based on the binding information.
  • the message may require processing by one of the PCRFs.
  • RADIUS accounting request message 304 is communicated according to the RADIUS protocol across a RADIUS interface.
  • the message includes a user ID (i.e., 6234150999999999@nai.epc.mnc015.mcc234.3gppnetwork.org), which includes a client identifier associated with a client session.
  • the user ID may include any suitable type of identifier used by the RADIUS protocol such as an IMSI, MSISDN, MSRN, NAI, etc. Any type(s) of user, subscriber, client, device, and/or session identifiers may be provided.
  • MPSR 110 receives the RADIUS accounting request message 304 , and extracts and stores the user ID.
  • the user ID is a client identifier that becomes associated with a PCRF and stored as binding information in a data record, a database, a table, or the like.
  • MPSR 110 may recognize that this is a new request, and assign the session to second PCRF 104 B.
  • MPSR 110 forwards the request to second PCRF 104 B.
  • Second PCRF 104 B acknowledges the request and sends a response 310 .
  • MPSR 110 forwards the response to BNG 200 at 312 .
  • MPSR 110 includes functionality to remember the association between the client identifier and an identifier associated with the second PCRF 104 B for future use.
  • MPSR 110 is configured to receive all messages for a given session, including messages communicated across different protocols for determining and implementing appropriate routing for that session.
  • MPSR 110 is configured to receive the Diameter CCR message and perform a lookup in a binding table to identify and determine the correct PCRF to which the client session is bound. At 316 , MPSR 110 determines the binding using the user ID or session identifier communicated in the Diameter CCR message. MPSR 110 determines that session traffic for the user ID is bound to second PCRF 104 B, and forwards the Diameter CCR message to second PCRF 104 B at 318 .
  • second PCRF 104 B When second PCRF 104 B receives the Diameter CCR message, it may determine that policy parameters need to change and/or that new or specific rules need to be installed at policy decision points. At 320 , second PCRF 104 B implements a policy change for the session, which may include installation of one or more access specific policy rules.
  • second PCRF 104 B acknowledges the Diameter CCR message via a Diameter CCA message.
  • MPSR 110 forwards the Diameter CCA message to PGW 300 .
  • second PCRF 104 B modifies the RADIUS parameters based on the Diameter parameters.
  • second PCRF 104 B sends a RADIUS CoA message to WiFi access node 302 .
  • MPSR 110 forwards the RADIUS CoA message to WiFi access node 302 .
  • WiFi access node 302 acknowledges the RADIUS CoA message from second PCRF 104 B.
  • FIG. 4 is a message flow diagram illustrating another embodiment of exemplary messaging for multi-protocol stateful routing.
  • MPSR 110 is configured to receive traffic prior to receipt at any one of the first and second PCRFs 104 A and 104 B, respectively.
  • MPSR 110 can receive traffic communicated across multiple different protocols and/or interfaces.
  • MPSR 110 can receive traffic from a BNG 400 and an Application Function (AF) 402 , each of which communicate using a different protocol (e.g., Diameter, RADIUS, HTTP, HTTPS, XML, SIP, IP, or the like).
  • AF Application Function
  • BNG 400 communicates using RADIUS and a RADIUS interface
  • AF 402 communicates using Diameter and a Diameter interface (e.g., an Rx interface).
  • BNG sends a RADIUS accounting request message 404 MPSR 110 , which selects the PCRF based on the binding information.
  • RADIUS accounting request message 404 is communicated according to the RADIUS protocol across a RADIUS interface.
  • the message includes a user ID (i.e., IP address 10.12.13.45) that is extracted, stored, and associated with a PCRF for use in future routing via a future lookup.
  • MPSR 110 receives the request, and extracts and stores the user ID.
  • the extracted user ID is associated with a policy identifier for an assigned PCRF and stored as binding information in a data record, in a database, a table, or the like.
  • MPSR 110 may recognize that this is a new request, and assign the session to first PCRF 104 A.
  • the extracted user ID is associated with an identifier (e.g., an address, a location, a node, etc.) of first PCRF 104 A and stored as binding information.
  • MPSR 110 forwards the request to first PCRF 104 A.
  • First PCRF 104 A acknowledges the request and sends a RADIUS accounting response 410 .
  • MPSR 110 forwards the response to BNG 200 at 412 .
  • AF 402 sends a RADIUS AAR message 414 to MPSR 110 , which selects a PCRF based on the binding information.
  • MPSR 110 is configured to receive all messages for a given session, including messages communicated across different protocols for determining and implementing appropriate routing for that session.
  • MPSR 110 is configured to receive the RADIUS AAR message and perform a lookup to identify and determine the correct PCRF to which the session is already assigned or bound.
  • MPSR 110 determines the binding using the user ID communicated in the Diameter AAA message as a key to lookup the appropriate server information that was previously stored.
  • MPSR 110 determines that session traffic for the user ID IP: 10.12.13.45 is bound to first PCRF 104 A, and forwards the Diameter AAA message to first PCRF 104 A at 418 .
  • First PCRF 104 A receives the Diameter AAA message and acknowledges receipt at 420 .
  • MPSR 110 forwards the acknowledgement to AF 402 .
  • first PCRF 104 A activates a video service based upon the request from AF 402 (e.g., via an Rx interface trigger).
  • first PCRF 104 A sends a RADIUS CoA to BNG 400 based upon the policy change in allowing a video service.
  • MPSR 110 forwards the RADIUS CoA message to BNG 400 .
  • BNG 400 acknowledges the RADIUS CoA message from first PCRF 104 A.
  • MPSR 110 forwards the acknowledgement (ACK) message to first PCRF 104 A.
  • FIG. 5 is a message flow diagram illustrating exemplary messaging for multi-protocol stateful routing according to a further embodiment of the subject matter described herein.
  • MPSR 110 is configured to receive session traffic prior to the messages being routed to first PCRF 104 A and/or second PCRF 104 B.
  • MPSR 110 can receive multi-protocol traffic, for example, from a PGW 500 and an Over The Top (OTT) server 502 , each of which may communicate using a different communication protocol.
  • PGW 500 communicates using Diameter and a Diameter interface (e.g., Gx interface), and OTT server 502 communicates using HTTP.
  • OTT Over The Top
  • a Diameter CCR message 504 is sent from PGW 500 towards MPSR 110 .
  • Diameter CCR message 504 is communicated using the Diameter protocol across a Diameter interface.
  • the message includes a first user ID in the form of an IP address (i.e., 10.12.13.45).
  • MPSR 110 receives the message, and extracts and stores the user ID with at least one policy server identifier as a data record, in a database, a table, or the like.
  • MPSR 110 stores user ID and a PCRF identifier for the PCRF that is assigned to the client session.
  • the user ID is associated with a PCRF and stored as binding information.
  • MPSR 110 routes the request to second PCRF 104 B at 508 .
  • Second PCRF 104 B acknowledges the CCR and responds by sending a CCA 510 .
  • MPSR 110 routes the CCA to PGW 500 at 512 .
  • OTT server 502 sends and HTTP POST message 514 requiring processing by a policy and charging information associated with streaming or downloading data (e.g., audio data, video data, etc.) during the client session.
  • MPSR 110 is configured to receive different protocol messages for the user, including messages communicated across multiple different protocols for determining and implementing appropriate routing for that session.
  • MPSR 110 is configured to eliminate the additional, extraneous signaling that would otherwise be required to separately process and/or handle the Diameter and HTTP policy and charging requests.
  • MPSR 110 receives the HTTP POST message and performs a lookup to identifying and determining the correct PCRF to which the session is already bound. MPSR 110 determines that the HTTP POST message is in the same client session as the CCR message, and thus routes the HTTP POST message to the PCRF that is assigned to the client session. At 516 , MPSR 110 utilizes the user ID (e.g., IP:10.12.13.45) as a key to lookup and determine routing of session traffic. MPSR 110 determines that session traffic for IP:10.12.13.45 is bound to second PCRF 104 B, and forwards HTTP POST message to second PCRF 104 B at 518 . Second PCRF 104 B acknowledges the HTTP POST message by sending a 200 OK acknowledgment messages at 520 and 522 .
  • the user ID e.g., IP:10.12.13.45
  • MPSR 110 determines that session traffic for IP:10.12.13.45 is bound to second PCRF 104 B, and forwards HTTP POST message to second PCRF 104 B at 518 .
  • second PCRF 104 B When second PCRF 104 B receives the HTTP POST message, it may determine that additional policy services need invoked and/or activated. At line 524 , second PCRF 104 B activates and/or authorizes a video service based upon the trigger communicated via the HTTP POST message from OTT server 502 .
  • second PCRF 104 B sends a Diameter Re-Auth-Request (RAR) message with the new charging rule.
  • RAR Diameter Re-Auth-Request
  • MPSR 110 forwards the Diameter RAR message to PGW 500 .
  • PGW 500 acknowledges the Diameter RAR message by sending a Re-Auth-Answer (RAA) message.
  • RAA Re-Auth-Answer
  • FIGS. 2 to 5 are for illustrative purposes and that various other types of nodes and/or messaging may be provided within a network for providing multi-protocol stateful routing. Any other types of nodes and/or messaging, other than that shown, may be provided. Nodes communicating using any protocol may be provided, wherein the messages are received or intercepted and inspected for providing stateful routing prior to reaching a PCRF.
  • FIG. 6 is a block diagram illustrating exemplary components of a special purpose computer system suitable for use in performing the functions described herein, namely multi-protocol stateful routing via MPSR 110 is a special computer system configured for multi-protocol stateful routing.
  • MPSR 110 includes at least one processor 602 , at least one memory 604 , and a network interface 608 .
  • Processor 602 may be a physical hardware processor including a single core or multiple cores.
  • Processor 602 may also be a virtual processor that runs on a hypervisor layer that control access to underlying processor hardware.
  • Memory 604 may be volatile or non-volatile memory that stores instructions executed by processor 602 .
  • memory 604 may be a physical memory chip or virtualized memory that is mapped to one or more physical memory chips by a hypervisor layer.
  • Network interface 608 may be a physical or virtual interface for sending packets to and receiving packets from a network, within a network, and/or between network elements. In some embodiments, interface 608 is configured to receive messages communicated across all protocols. In other embodiments, multiple interfaces 608 are provided, where each interface is dedicated to receiving messages communicated across a single protocol.
  • memory 604 stores a routing engine 606 and binding information 120 accessed by routing engine 606 for multi-protocol stateful routing.
  • Routing engine 606 receives all protocol messages (e.g., Diameter, RADIUS, HTTP, HTTPS, XML, SIP, IP, etc.) and, performs a lookup in binding information 120 (e.g., a table, a data record, a cache, a database, etc.) to determine whether traffic corresponds to a session for which a server has already been assigned. If a server has already been assigned to a given session, routing engine 606 routes the traffic to the corresponding server.
  • protocol messages e.g., Diameter, RADIUS, HTTP, HTTPS, XML, SIP, IP, etc.
  • binding information 120 e.g., a table, a data record, a cache, a database, etc.
  • routing engine 606 assigns the traffic to a new PCRF and stores binding information (i.e., a policy server identifier and one or more client identifiers) so that future traffic is routed to the same PCRF to which the new session traffic was assigned.
  • binding information i.e., a policy server identifier and one or more client identifiers
  • Routing engine 606 receives multi-protocol message traffic and identifies traffic belonging to a common client session. Routing engine 606 also determines whether the traffic for a given client session has been assigned to a PCRF (e.g., 104 A, 104 B, and 104 C, FIG. 1 ). If traffic for a client session has been assigned, routing engine 606 routes the different protocol messages to the PCRF to which the client session has been assigned based on the stored binding information. Routing engine 606 is configured to identify traffic for which sessions have not been assigned to a PCRF (e.g., 104 A, 104 B, and 104 C, FIG. 1 ). For such traffic, routing engine 606 assigns the sessions to a PCRF and routes the traffic to the assigned PCRF.
  • a PCRF e.g., 104 A, 104 B, and 104 C, FIG. 1
  • Routing engine stores the binding information (e.g., one or more client identifiers and a policy server identifier) as binding information 120 for future routing. Should the routing to a given PCRF change at all during a given session, MPSR 110 is configured to extract and update binding information 120 .
  • binding information e.g., one or more client identifiers and a policy server identifier
  • MPSR 110 may include additional or alternative components without departing from the scope of the subject matter described herein.
  • MPSR 110 may be implemented on a processor blade in a rack-mounted system. Multiple MPSR 110 processor blades may plug into a backplane to form a shelf. The MPSR 110 processor blades may themselves operate in a stateful and redundant manner.
  • MPSR 110 may be a virtual MPSR that runs on a hypervisor layer that shares access to underlying hardware, such as processor, memory, and network interfaces.
  • FIG. 6 is for illustrative purposes and that various components, their locations, and/or their functions described above in relation to FIG. 6 may be changed, altered, added, and/or removed.
  • FIG. 7 is a flow chart illustrating an exemplary process, generally designated 700 , for multi-protocol stateful routing according to an exemplary implementation of the subject matter described herein.
  • Multi-protocol stateful routing may be performed at a multi-protocol stateful router including at least one processor, such as MPSR 110 (e.g., FIGS. 1 to 6 ).
  • the MPSR receives a first message of a client session that is communicated using a first communication protocol.
  • the first message requires processing by one or more PCRFs.
  • the message may include an accounting request, a charging request, an AAA request, a trigger for effecting a change in a policy session, or the like.
  • the MPSR obtains, from the first message, one or more first client identifiers.
  • Client identifiers may be obtained via extraction and stored, along with a policy identifier as binding information.
  • Client identifiers may include an IMSI, a MSISDN, an IP address, an IMEI, a MSRN, a user name, a NAI, an APN, a MAC address, a subscriber phone number, a HON, a port number, or the like.
  • MPSR determines a policy server (PCRF) that is assigned to the client session.
  • PCRF policy server
  • MPSR may determine a policy server via performing a lookup in a binding table or binding record. If the client session is a new session, MPSR may assign a policy server and store identifiers associated with the newly assigned session as binding information and/or as a binding record.
  • MPSR stores the one or more client identifiers and a policy server identifier, which is associated with the policy server that is assigned to the client session as a multi-protocol binding record.
  • MPSR receives a second message that is communicated using a second protocol that is different from the first protocol.
  • the second message also requires processing by the one or more policy servers.
  • the second message includes one or more second client identifiers. At least one of the first client identifiers and at least one of the second client identifiers may include a same, common identifier.
  • MPSR determines, using the multi-protocol binding record that the second message is in the same client session as the first message.
  • MPSR routes the second message to the policy server that is assigned to the client session.
  • Multi-protocol stateful routing as described herein functions on special purpose computing platforms, such as MPSR and PCRFs.
  • the routing functionality and binding information described herein improve the functionality of messaging and server allocation and/or policy server utilization within a network, as routing and processing packets between network components (e.g., MPSR, PCRFs, gateways) and the core network in general is more intelligent, simplified, and less costly as the need to retrieving a user profile from various locations is eliminated.
  • Multi-protocol stateful routing as described herein improves the technological field of server assignment for policy and charging control and stateful routing. By receiving user information from many sources and across multiple, different protocols, server utilization efficiency is also increased.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Methods, systems, and computer readable media for multi-protocol stateful routing are provided. One method of routing is performed at a multi-protocol stateful router and includes receiving a first message of a client session that is communicated using a first protocol. The method includes obtaining, from the first message, one or more client identifiers, determining a policy server that is assigned to the client session, and storing the one or more client identifiers and a policy server identifier that is associated with the policy server assigned to the client session as a multi-protocol binding record. The method also includes receiving a second message that is communicated using a second protocol that is different from the first protocol, using the multi-protocol binding record to determine that the second message is in the client session, and route the second message to the policy server that is assigned to the client session.

Description

    TECHNICAL FIELD
  • The subject matter described herein relates to routing traffic in a network. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for multi-protocol stateful routing of traffic within a network.
  • BACKGROUND
  • Policy and Charging Rules Functions (PCRFs) are network nodes or servers that perform policy and charging functions for a network. To invoke the policy or charging function of a PCRF, another node establishes a policy or charging session with the PCRF. For example, an access node (e.g., a PDN gateway (PGW) an application function (AF), or the like) may establish a policy session with a PCRF to obtain policy and charging instructions for sessions involving a given client. A Diameter routing agent (DRA) can assign a session to a PCRF and route policy based requests or messages associated with that session to the PCRF to which the corresponding session has been assigned. Once a session is assigned to a PCRF, it is preferable that all traffic associated with that session be routed to the same PCRF until the session is terminated.
  • A problem exists when a user moves between different types of networks (e.g., wired, wireless, etc.) utilizing nodes that communicate using different protocols. Existing routing functions, such as DRAs, are only configured to route across a single protocol, in some aspects by performing a lookup in a binding table. However, existing binding tables accessed by existing routing functions only utilize keys for a single type of protocol, such as the Diameter protocol. To date, there is not a standard way to route across multiple protocols.
  • Accordingly, there exists a need for methods, systems, and computer readable media for multi-protocol stateful routing, as it is desirable to route all messages for a given client and/or a given session to a same server and/or to any server that can handle messages communicated using different protocols.
  • SUMMARY
  • The subject matter described herein includes methods, systems, and computer readable media for multi-protocol stateful routing. An exemplary method of multi-protocol stateful routing is performed at a multi-protocol stateful router and includes receiving a first message of a client session that is communicated using a first communication protocol, wherein the first message requires processing by one or more policy servers. The method further comprises obtaining, from the first message, one or more client identifiers and determining a policy server that is assigned to the client session. The method further comprises storing the one or more client identifiers and a policy server identifier that is associated with the policy server that is assigned to the client session as a multi-protocol binding record. The method further comprise receiving a second message that is communicated using a second protocol that is different from the first protocol, determining, using the multi-protocol binding record, that the second message is in the client session, and routing the second message to the policy server that is assigned to the client session.
  • An exemplary multi-protocol stateful routing system comprises a multi-protocol stateful router including at least one processor and at least one network interface. The at least one network interface is configured to receive a first message of a client session that is communicated using a first communication protocol. One or more client identifiers are obtained from the first message. The system further comprises a memory element having binding information stored therein for determining a first policy server that is assigned to the client session, wherein the one or more client identifiers and a first policy server identifier that is associated with the first policy server that is assigned to the client session are stored within the memory element as a multi-protocol binding record. The multi-protocol stateful router is configured to receive a second message that is communicated using a second protocol that is different from the first protocol and determine, using the multi-protocol binding record, that the second message is assigned to the first policy server.
  • The subject matter described herein can be implemented in software in combination with hardware and/or firmware. For example, the subject matter described herein can be implemented in software executed by a processor. In one exemplary implementation, the subject matter described herein can be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
  • As used herein, the term “node” refers to a physical computing platform including one or more processors and memory.
  • As used herein, the terms “function” or “module” refer to software in combination with hardware and/or firmware for implementing features described herein.
  • As used herein, the term “policy server” refers to a Policy Charging and Rules Function (PCRF) and/or a node having PCRF functionality or capability.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The subject matter described herein will now be explained with reference to the accompanying drawings of which:
  • FIG. 1 is a network diagram illustrating multi-protocol stateful routing according to an exemplary implementation of the subject matter described herein;
  • FIGS. 2 to 5 are message flow diagrams illustrating exemplary messaging for multi-protocol stateful routing according to an embodiment of the subject matter described herein;
  • FIG. 6 is a block diagram of a special purpose computer system suitable for use in performing the functions described herein; and
  • FIG. 7 is a flow chart illustrating an exemplary process for multi-protocol stateful routing according to an exemplary implementation of the subject matter described herein.
  • DETAILED DESCRIPTION
  • The subject matter described herein relates to routing traffic in a network for subscribers and/or subscriber sessions across multiple protocols to one server or to one pool of servers. Rather than using a routing function to route across a single protocol, methods, systems, and special purpose computing systems executing computer readable media described herein can route all protocol messages, including multiple different protocol messages, for a same user to a same server, for a same user to a same group of servers, and/or to any server that can handle multiple protocols. In some embodiments, multi-protocol stateful routers route messages across multiple, different protocols to a policy server, such as a Policy and Charging Rules Functions (PCRF).
  • Methods, systems, and computer readable media herein utilize stateful bindings (e.g., binding records) between clients and servers (or machine groups) which are protocol agnostic. The bindings can identify a user through a number of different “keys” or “client identifiers” as described below, which all map to a same destination, or end machine. Every time a new protocol message is received by the multi-protocol stateful router, it first looks to see if there is an existing binding for any of the given keys. If one is found, the binding is updated by adding relevant information contained in the protocol including any new user keys. If no binding is found, a new binding is created with all included user keys mapping to a new end machine that is selected. For example, session communicating using protocol A may be established for a particular user with an IP Address key. A Diameter session may then be established from a DPI for the same user and IP Address. The multi-protocol stateful router assures that both session initiation messages are routed to the same server so that the different protocol messages can be updated with policy information for providing a session having a consistent policy.
  • FIG. 1 is an exemplary network diagram illustrating multi-protocol stateful routing within a network, generally designated 100. In network 100, one or more clients initiate a packet communication session (e.g., voice, data, audio/video streaming, downloading information, an Internet session, or the like) via interacting with any type of User Equipment (UE), generally designated 102. Exemplary UEs 102 include any type of physical or virtual machine that is configured to transmit and/or receive packet communications, not limited to a web-enabled device, a mobile device, a smart device, a phone, a computer, a packet streaming device, a tablet, or the like. In some embodiments, UEs 102 may include a device having a hardware processor and/or a memory that collectively execute or process software for sending and/or receiving packet communications.
  • Network 100 includes one or more nodes or servers configured to provide support and/or policy charging and information for any given session associated with any given UE 102. In some embodiments, the nodes or servers included a plurality of back-end PCRFs, generally designated 104. PCRFs 104 can be configured within a pool of PCRFs for sharing and/or balancing the implementation of policy and charging functionality within network 100. Once a UE 102 session is assigned to a PCRF, typically all of the traffic associated with that session is routed to the same PCRF until the session is terminated. However, PCRFs 104 may offload traffic to another PCRF, where desired.
  • An enforcement node residing in an access network 106 may establish a policy session with one of the PCRFs 104 for obtaining policy and charging instructions for client sessions involving one of the UEs 102. Enforcement nodes may include a Deep Packet Inspection (DPI), a gateway, another node, or the like. For example, access network 106 may establish a policy session for any of UE1 to UEN with any of PCRF1 to PCRFN (where N is a whole number integer >2). Each UE 102 is associated with one or more unique identifiers (IDs), which may include addresses or identifiers that are associated with a subscriber, a specific UE 102 (e.g., an identifier for the physical device), a phone number, a session identifier, a port address, a connection address, an Internet Protocol (IP) address or the like.
  • For example, a first device 102A can establish a session with access network 106 by sending packets having a first identifier ID1, a second device 102B can establish a session by sending packets having a second identifier ID2 and a third identifier ID3, and the Nth device 102C can establish a session by sending packets having a fourth identifier ID4, a fifth identifier ID5, and/or a sixth identifier ID6. Each UE 102 may be associated with any number (quantity) of identifiers (e.g., IDs) transmitted to access network 106, where the identifiers are used for routing purposes. Notably, packets communicated across different protocols may utilize different identifiers or “keys” that are used for multi-protocol routing as described herein.
  • Exemplary identifiers, which may be used individually as “keys” or in combination as “composite keys” for looking up information within a routing or binding table, can include an International Mobile Subscriber Identity (IMSI), a Mobile Station International Subscriber Directory Number (MSISDN), an Internet Protocol (IP) address, an International Mobile Equipment Identifier (IMEI), a Mobile Station Roaming Number (MSRN), a user name, a Network Address Identifier (NAI), an Access Point Name (APN), a Media Access Control (MAC) address, a subscriber phone number, a handover number (HON), a port number, an E164 number, or the like. Combinations of two or more identifiers may be collectively used and stored in a binding table as a complex or composite key for routing messages across all protocols or across multiple different protocols to the same server (e.g., PCRF), where possible. In some embodiments, one or more UE identifiers are associated with a policy server identifier in a binding table, once the session is assigned to a policy server, where the policy server identifier identifies a PCRF to which all traffic within a client session is to be routed. The UE identifiers are used to lookup the PCRF for future messages, including messages using all different protocols.
  • Notably, a multi-protocol stateful router (MPSR) 110 may be deployed within network 100 for receiving and/or intercepting traffic prior to the traffic being received at any one PCRF in a pool of PCRFs 104. A pool of PCRFs 104 may include at least a first PCRF 104A and a second PCRF 104B, etc. In some embodiments, a third PCRF 104C may be provided. More than three PCRFs may also be provided. As used herein, the term “traffic” refers to any and/or all network packet communications or messages, including network messages for one or more sessions within a network.
  • In some embodiments, MPSR 110 is configured to receive messages sent across any and all protocols and/or any and all interfaces prior to receipt at any PCRF in the pool of PCRFs 104, not limited to messages communicated using protocols including Diameter, remote authentication dial-in user service (RADIUS), Mobile Application Protocol (MAP), HyperText Transfer Protocol (HTTP), HyperText Transfer Protocol Secure (HTTPS), eXtensible Markup Language (XML), Session Initiation Protocol (SIP), Internet Protocol (IP), or the like.
  • In some embodiments, MPSR 110 is a routing agent configured to receive and route messages from any node within a network, for example, messages from access network 106, messages from at least one node, Node A 112 via at least one interface 114 communicated via a first protocol A, and message from at least one other node, 116 via at least one other interface 118 communicated via protocol B. First and second nodes (e.g., 112 and 116) may include any suitable component, for example, a gateway, a router, a switch, a server, a DPI, a Broadband Network Gateway (BNG), an application function (AF), etc. In some embodiments, nodes (e.g., 112 and 116) include any node within a core network. Notably, MPSR 110 is configured to receive messages across all (different) protocols (e.g., generally designated protocol A, protocol B, etc.), obtain identification information from the messages communicated across different protocols, update a routing or binding table with the obtained information, route messages from the different protocols to a same PCRF for a same user, a same client, and/or for a same session. MPSR 110 is also configured to store and/or remember the routing information (e.g., the association between the client identifier and the policy server identifier) for future use.
  • In some embodiments, MPSR 110 has access to a local or remote storage element (see e.g., FIG. 6) that contains binding information 120. For illustration purposes, binding information 120 is illustrated as being stored locally at MPSR 110; however, binding information 120 may be stored remote from MPSR 110 for retrieval at any time. Binding information 120 includes data or information used to route multi-protocol messages for a given client and/or session to a same PCRF. In some embodiments, binding information includes one or more unique identifiers (e.g., ID1, ID2, etc.) associated with a client (e.g., any one of UEs 102) and one or more policy server identifiers associated with a serving (assigned) PCRF. Where a session has not yet been assigned to a PCRF, MPSR 110 is configured to assign the session to a PCRF and store information regarding the assigned session for future use.
  • Still referring to FIG. 1 and in some embodiments, binding information 120 may be stored within a hardware memory storage element or a hardware storage device, and may include a table, a database, a cache, or the like. In some aspects, binding information 120 includes information stored in a binding table having one or more entries. Each entry includes at least one client identifier (e.g., a subscriber or a session identifier) as well as destination information including at least one server identifier. MPSR 110 is configured to receive multi-protocol message traffic and use a unique identifier obtained (e.g., extracted) from the multi-protocol messages to look up a PCRF 104 that is assigned to handle the traffic for an assigned session. For new sessions that are unassigned, MPSR 110 is configured to assign each session to a given PCRF 104 in accordance with a prioritized list, a load-balancing calculation, or any other suitable assignment methodology.
  • Table 1 is an exemplary embodiment of binding information 120 that may be stored in a routing or binding table. In some embodiments, binding information 120 includes a plurality of multi-protocol binding records comprising one or more multi-protocol client identifiers and a PCRF identifier. In some aspects, Table 1 is a multi-protocol binding table created from a plurality of multi-protocol binding records, where each of the plurality of multi-protocol binding records comprises a user equipment identifier (e.g., “USER/CLIENT ID(S)) and a PCRF Identifier (e.g., “SERVER ID” that is assigned to the user equipment identifier).
  • TABLE 1
    ENTRY
    NUM- SERVER
    BER USER/CLIENT ID(S) ID
    0 IMSI: 310150123456789 PCRF1
    IP: 2661:433:0:1:0:0:0:0
    IP: 10.203.77.125
    1 IP: 12.345.678.09 PCRF 2
    2 MSISDN: 7307406945 PCRFN
    NAI =
    6234150999999999@nai.epc.mnc015.mcc234.3gpp
    network.org
    3 MSISDN: 1234567890 PCRF1
    4 MSRN: 86139025553 PCRF2
    IP: 12.345.678.10
    5 AppId: 16777238 PCRFN
  • As illustrated in Table 1 above, each message received at MPSR 110 may be associated with one or more user or client IDs. The user IDs are keys that are used to look up the server (e.g., PCRF) that is assigned to a given client session. User IDs include keys that are indexed or associated with a serving PCRF and stored as binding information 120 in a binding (routing) table, a database, etc. If a session is offloaded or the session is assigned to another PCRF, MPSR 110 is configured to inspect messages exchanged between the client and PCRF for origination and destination information and update the table with the updated binding. In some embodiments, messages routed across different protocols utilize multiple, different identifiers. Thus, multiple identifiers may be used to lookup binding information in the binding table. For example, in entry 0, three user IDs may be associated with a client and the PCRF assigned to the client session. The three user IDs may be used as a composite key to determining routing, where the different IDs are used for different protocols.
  • Notably, MPSR 110 is configured to receive and/or intercept all messages, even messages from nodes and/or interfaces that communicate across different protocols, and extract and store the client identifiers and policy server identifiers as binding information so that future messages may be correlated to a same server that is assigned to that client and/or client session. MPSR 110 is also configured to assign unassigned messages for sessions it receives to a PCRF according to a prioritized list, capacity, and/or any other assignment methodology. MPSR 110 is configured to store the client identifier and the assigned policy server identifier for use in future routing decisions.
  • Below is exemplary data that utilized by MPSR 110 for use as binding information 120. The data below may be stored as a record or optionally in a table, such as in Table 1 above. The data below may be stored within any suitable form and any suitable storage element.
  • UserId:
    Entry: IMSI:234150999999999
    Entry: IP:2661:433:0:1:0:0:0:0
    Entry: IP:10.203.77.125
    PdnConnectionMapping:
    Entry:
    ServerIdentity: pcrf1.example.com
    PdnConnectionInfo:
    Entry:
    APN: internetaccess
    IPAddress:
    Entry: 10.203.77.125
    IPv6Prefix:
    Entry: 2661:433:0:1:0:0:0:0
    SessionInfo:
    Entry:
    SessionId:
    10.148.234.56:FFE3260044AEEDA3
    Origin: bng_nas_id
    NASIp: 10.148.234.56
    Protocol: RADIUS
    Entry
    SessionId: pgw;1428950356;1
    AppId: 16777238
    Origin: pgw.example.com
    Protocol: Diameter
  • The data above includes several user IDs (client identifiers) that may be associated with a single session. The user IDs may be used to correlate session traffic for routing to a same server (e.g., a PCRF) or a same pool of servers. Notably, session traffic can be communicated across multiple, different protocols that utilize different keys (e.g., User IDs or identifiers). MPSR 110 utilizes the user IDs as keys to index, lookup, and/or otherwise determine which server is appropriate for all protocol messages communicated during one session. That is, first and second messages of a client session each include at least one common client identifier, thus providing for more efficient lookup of binding information and PCRF assignments. MPSR 110 is configured to then route all session traffic to the same server until either the session is terminated or the traffic is offloaded to another server.
  • As the data above illustrates, a policy session origination node may include a Broadband Network Gateway (BNG) node that communicates messages via RADIUS protocol across a RADIUS interface. As the user moves and/or the type of network communication changes, an intervening access node including a Packet Data Network (PDN) Gateway (PGW) communicating messages via Diameter protocol across a Diameter interface will need to access policy and charging information for that session from the same PCRF. Thus, MPSR 110 is configured to utilize the different types of user IDs communicated via messages using different protocols to correlate all session traffic, including the Diameter and RADIUS traffic, to the same server (e.g., PCRF). Thus, MPSR 110 is configured to receive all messages, extract and/or store binding information, determine routing, and route all session traffic to a same PCRF.
  • It will be appreciated that FIG. 1 is for illustrative purposes and that various nodes, their locations, and/or their functions described above in relation to FIG. 1 may be changed, altered, added, or removed. For example, some nodes and/or functions may be combined into a single entity, or separated into multiple entities.
  • FIGS. 2 to 5 are message flow diagrams illustrating exemplary messaging for multi-protocol stateful routing according to an embodiment of the subject matter described herein. Referring to FIG. 2, MPSR 110 is configured to receive or intercept all messages (traffic) prior to the messages being routed to first PCRF 104A and/or second PCRF 104B. MPSR 110 is configured to inspect the messages to determine whether the messages belong to a client session that is already assigned to a PCRF, and then route the messages to the PCRF if so assigned. If the messages belong to a client session that is unassigned, then MPSR 110 may assign the session to a given PCRF, associate the client user ID with a policy server identifier associated with the PCRF, and route all future messages belonging to that session to the same PCRF.
  • Referring to FIG. 2, an accounting request 204 is sent from a Broadband Network Gateway (BNG) 200 to MPSR 110, which selects a PCRF based on the binding information. The accounting request 204 is communicated using the RADIUS protocol across a RADIUS interface. The message includes a first user ID in the form of an IP address (i.e., 10.12.13.45). The IP address is one form of a client identifier or a user ID, which is extracted from the accounting request 204 and stored within a routing or binding table for routing all future messages within a client session.
  • At 206, MPSR 110 receives the accounting request, and extracts and stores the user ID (e.g., IP address) as a data record in a database, a table, or the like. MPSR 110 routes the request to first PCRF 104A at 208. First PCRF 104A acknowledges the request and sends a response 210. MPSR 110 routes the response to BNG 200 at 212.
  • During the same client session associated with a same UE having IP address (e.g., 10.12.13.45), a Deep Packet Inspection (DPI) node communicates a Diameter Credit Control Request (CCR) message 214 using a Diameter interface (e.g., a Gx interface) to the MPSR, which selects the PCRF based on the binding information. Notably, MPSR 110 is configured to receive messages communicated across different protocols for determining and implementing appropriate routing for that session. MPSR 110 advantageously eliminates the need for any additional, extraneous signaling that would otherwise be required to handle the RADIUS and Diameter requests separately for determining routing.
  • At 216, MPSR 110 is configured to receive the Diameter CCR message and perform a lookup within a binding table for identifying and determining the correct PCRF to which the session is already bound. At 216, MPSR 110 utilizes the user ID (e.g., IP:10.12.13.45) as a key to lookup and determine routing of session traffic. MPSR 110 determines that session traffic for IP:10.12.13.45 is bound to first PCRF 104A, and forwards the Diameter CCR message to first PCRF 104A at 218.
  • When first PCRF 104A receives the Diameter CCR message, it may determine that policy parameters need to change. Policy parameters may include anything relating to policy and charging, such as Quality of Service (QoS), an amount of bandwidth allocated to the session, a change in an amount being charged for the session, activation of application functionality, or the like. Policy parameters may be changed by passing them down to other nodes in the network, such as policy decision points or enforcement nodes (e.g. in case of Diameter this can be achieved using PCC rules).
  • At 220, first PCRF 104A implements a policy change for the session. At 220A, first PCRF 104A acknowledges the Diameter CCR message via a Diameter Credit Control Answer (CCA) message. At 220B, first PCRF 104A sends a RADIUS Change of Authorization (CoA) message to BNG 200. The CoA message indicates a change in the attributes of an authentication, authorization, and accounting (AAA) session after it is authenticated.
  • At 222, MPSR 110 forwards (routes) the Diameter CCA message to DPI 202. At 224, MPSR 110 forwards the RADIUS CoA message to BNG 200. At 226, BNG 200 acknowledges the RADIUS CoA message sent from first PCRF 104A. At 228, MPSR 110 forwards the CoA-ACK to first PCRF 104A.
  • FIG. 3 is a message flow diagram illustrating another embodiment of messaging for multi-protocol stateful routing. As FIG. 3 illustrates, MPSR 110 is configured to receive messages (traffic) prior to the messages being routed to first and second PCRFs 104A and 104B. MPSR 110 can receive or intercept multi-protocol traffic, for example, from a PDN Gateway (PGW) 300 communicating using Diameter and a Diameter interface (e.g., Gx interface) and a trusted, non-3GPP access node, such as a WiFi access node 302 communicating using RADIUS and a RADIUS access.
  • Referring to FIG. 3, WiFi access node 302 may direct a RADIUS accounting request message 304 towards MPSR 110, which selects a PCRF based on the binding information. The message may require processing by one of the PCRFs. RADIUS accounting request message 304 is communicated according to the RADIUS protocol across a RADIUS interface. The message includes a user ID (i.e., 6234150999999999@nai.epc.mnc015.mcc234.3gppnetwork.org), which includes a client identifier associated with a client session. The user ID may include any suitable type of identifier used by the RADIUS protocol such as an IMSI, MSISDN, MSRN, NAI, etc. Any type(s) of user, subscriber, client, device, and/or session identifiers may be provided.
  • At 306, MPSR 110 receives the RADIUS accounting request message 304, and extracts and stores the user ID. The user ID is a client identifier that becomes associated with a PCRF and stored as binding information in a data record, a database, a table, or the like. MPSR 110 may recognize that this is a new request, and assign the session to second PCRF 104B. At 308, MPSR 110 forwards the request to second PCRF 104B. Second PCRF 104B acknowledges the request and sends a response 310. MPSR 110 forwards the response to BNG 200 at 312. MPSR 110 includes functionality to remember the association between the client identifier and an identifier associated with the second PCRF 104B for future use.
  • During the same client session associated with the previously stored client identifier (e.g., NAI), PGW 300 sends a Diameter CCR message 314 towards MPSR 110. Notably, MPSR 110 is configured to receive all messages for a given session, including messages communicated across different protocols for determining and implementing appropriate routing for that session.
  • At 316, MPSR 110 is configured to receive the Diameter CCR message and perform a lookup in a binding table to identify and determine the correct PCRF to which the client session is bound. At 316, MPSR 110 determines the binding using the user ID or session identifier communicated in the Diameter CCR message. MPSR 110 determines that session traffic for the user ID is bound to second PCRF 104B, and forwards the Diameter CCR message to second PCRF 104B at 318.
  • When second PCRF 104B receives the Diameter CCR message, it may determine that policy parameters need to change and/or that new or specific rules need to be installed at policy decision points. At 320, second PCRF 104B implements a policy change for the session, which may include installation of one or more access specific policy rules.
  • At 322, second PCRF 104B acknowledges the Diameter CCR message via a Diameter CCA message. At 324, MPSR 110 forwards the Diameter CCA message to PGW 300.
  • At 326, second PCRF 104B modifies the RADIUS parameters based on the Diameter parameters. At 328, second PCRF 104B sends a RADIUS CoA message to WiFi access node 302. At 330, MPSR 110 forwards the RADIUS CoA message to WiFi access node 302. At 332, WiFi access node 302 acknowledges the RADIUS CoA message from second PCRF 104B.
  • FIG. 4 is a message flow diagram illustrating another embodiment of exemplary messaging for multi-protocol stateful routing. As FIG. 4 illustrates, MPSR 110 is configured to receive traffic prior to receipt at any one of the first and second PCRFs 104A and 104B, respectively. MPSR 110 can receive traffic communicated across multiple different protocols and/or interfaces. For example, MPSR 110 can receive traffic from a BNG 400 and an Application Function (AF) 402, each of which communicate using a different protocol (e.g., Diameter, RADIUS, HTTP, HTTPS, XML, SIP, IP, or the like). In some embodiments, BNG 400 communicates using RADIUS and a RADIUS interface, and AF 402 communicates using Diameter and a Diameter interface (e.g., an Rx interface).
  • Still referring to FIG. 4, BNG sends a RADIUS accounting request message 404 MPSR 110, which selects the PCRF based on the binding information. RADIUS accounting request message 404 is communicated according to the RADIUS protocol across a RADIUS interface. The message includes a user ID (i.e., IP address 10.12.13.45) that is extracted, stored, and associated with a PCRF for use in future routing via a future lookup.
  • At 406, MPSR 110 receives the request, and extracts and stores the user ID. The extracted user ID is associated with a policy identifier for an assigned PCRF and stored as binding information in a data record, in a database, a table, or the like. MPSR 110 may recognize that this is a new request, and assign the session to first PCRF 104A. The extracted user ID is associated with an identifier (e.g., an address, a location, a node, etc.) of first PCRF 104A and stored as binding information. At 408, MPSR 110 forwards the request to first PCRF 104A. First PCRF 104A acknowledges the request and sends a RADIUS accounting response 410. MPSR 110 forwards the response to BNG 200 at 412.
  • As part of the same client session associated with the previously stored User ID, AF 402 sends a RADIUS AAR message 414 to MPSR 110, which selects a PCRF based on the binding information. Notably, MPSR 110 is configured to receive all messages for a given session, including messages communicated across different protocols for determining and implementing appropriate routing for that session.
  • At 416, MPSR 110 is configured to receive the RADIUS AAR message and perform a lookup to identify and determine the correct PCRF to which the session is already assigned or bound. At 416, MPSR 110 determines the binding using the user ID communicated in the Diameter AAA message as a key to lookup the appropriate server information that was previously stored. MPSR 110 determines that session traffic for the user ID IP: 10.12.13.45 is bound to first PCRF 104A, and forwards the Diameter AAA message to first PCRF 104A at 418. First PCRF 104A receives the Diameter AAA message and acknowledges receipt at 420. At 422, MPSR 110 forwards the acknowledgement to AF 402.
  • At 424, first PCRF 104A activates a video service based upon the request from AF 402 (e.g., via an Rx interface trigger). At 426, first PCRF 104A sends a RADIUS CoA to BNG 400 based upon the policy change in allowing a video service. At 428, MPSR 110 forwards the RADIUS CoA message to BNG 400. At 430, BNG 400 acknowledges the RADIUS CoA message from first PCRF 104A. At 432, MPSR 110 forwards the acknowledgement (ACK) message to first PCRF 104A.
  • FIG. 5 is a message flow diagram illustrating exemplary messaging for multi-protocol stateful routing according to a further embodiment of the subject matter described herein. As FIG. 5 illustrates, MPSR 110 is configured to receive session traffic prior to the messages being routed to first PCRF 104A and/or second PCRF 104B. MPSR 110 can receive multi-protocol traffic, for example, from a PGW 500 and an Over The Top (OTT) server 502, each of which may communicate using a different communication protocol. In some embodiments, PGW 500 communicates using Diameter and a Diameter interface (e.g., Gx interface), and OTT server 502 communicates using HTTP.
  • Referring to FIG. 5, a Diameter CCR message 504 is sent from PGW 500 towards MPSR 110. Diameter CCR message 504 is communicated using the Diameter protocol across a Diameter interface. The message includes a first user ID in the form of an IP address (i.e., 10.12.13.45).
  • At 506, MPSR 110 receives the message, and extracts and stores the user ID with at least one policy server identifier as a data record, in a database, a table, or the like. MPSR 110 stores user ID and a PCRF identifier for the PCRF that is assigned to the client session. Thus, the user ID is associated with a PCRF and stored as binding information. MPSR 110 routes the request to second PCRF 104B at 508. Second PCRF 104B acknowledges the CCR and responds by sending a CCA 510. MPSR 110 routes the CCA to PGW 500 at 512.
  • During the same client session associated with a same UE having IP address (e.g., 10.12.13.45), OTT server 502 sends and HTTP POST message 514 requiring processing by a policy and charging information associated with streaming or downloading data (e.g., audio data, video data, etc.) during the client session. Notably, MPSR 110 is configured to receive different protocol messages for the user, including messages communicated across multiple different protocols for determining and implementing appropriate routing for that session. MPSR 110 is configured to eliminate the additional, extraneous signaling that would otherwise be required to separately process and/or handle the Diameter and HTTP policy and charging requests.
  • At 516, MPSR 110 receives the HTTP POST message and performs a lookup to identifying and determining the correct PCRF to which the session is already bound. MPSR 110 determines that the HTTP POST message is in the same client session as the CCR message, and thus routes the HTTP POST message to the PCRF that is assigned to the client session. At 516, MPSR 110 utilizes the user ID (e.g., IP:10.12.13.45) as a key to lookup and determine routing of session traffic. MPSR 110 determines that session traffic for IP:10.12.13.45 is bound to second PCRF 104B, and forwards HTTP POST message to second PCRF 104B at 518. Second PCRF 104B acknowledges the HTTP POST message by sending a 200 OK acknowledgment messages at 520 and 522.
  • When second PCRF 104B receives the HTTP POST message, it may determine that additional policy services need invoked and/or activated. At line 524, second PCRF 104B activates and/or authorizes a video service based upon the trigger communicated via the HTTP POST message from OTT server 502.
  • At 526, second PCRF 104B sends a Diameter Re-Auth-Request (RAR) message with the new charging rule. At 528, MPSR 110 forwards the Diameter RAR message to PGW 500. At 530, PGW 500 acknowledges the Diameter RAR message by sending a Re-Auth-Answer (RAA) message. At 532, MPSR 110 forwards the RAA message to second PCRF 104B.
  • It will be appreciated that FIGS. 2 to 5 are for illustrative purposes and that various other types of nodes and/or messaging may be provided within a network for providing multi-protocol stateful routing. Any other types of nodes and/or messaging, other than that shown, may be provided. Nodes communicating using any protocol may be provided, wherein the messages are received or intercepted and inspected for providing stateful routing prior to reaching a PCRF.
  • FIG. 6 is a block diagram illustrating exemplary components of a special purpose computer system suitable for use in performing the functions described herein, namely multi-protocol stateful routing via MPSR 110 is a special computer system configured for multi-protocol stateful routing. In FIG. 6, MPSR 110 includes at least one processor 602, at least one memory 604, and a network interface 608. Processor 602 may be a physical hardware processor including a single core or multiple cores. Processor 602 may also be a virtual processor that runs on a hypervisor layer that control access to underlying processor hardware.
  • Memory 604 may be volatile or non-volatile memory that stores instructions executed by processor 602. As with processor 602, memory 604 may be a physical memory chip or virtualized memory that is mapped to one or more physical memory chips by a hypervisor layer. Network interface 608 may be a physical or virtual interface for sending packets to and receiving packets from a network, within a network, and/or between network elements. In some embodiments, interface 608 is configured to receive messages communicated across all protocols. In other embodiments, multiple interfaces 608 are provided, where each interface is dedicated to receiving messages communicated across a single protocol.
  • In the illustrated example, memory 604 stores a routing engine 606 and binding information 120 accessed by routing engine 606 for multi-protocol stateful routing. Routing engine 606 receives all protocol messages (e.g., Diameter, RADIUS, HTTP, HTTPS, XML, SIP, IP, etc.) and, performs a lookup in binding information 120 (e.g., a table, a data record, a cache, a database, etc.) to determine whether traffic corresponds to a session for which a server has already been assigned. If a server has already been assigned to a given session, routing engine 606 routes the traffic to the corresponding server. For the traffic for which a session has not been assigned to a server (i.e., new session traffic), routing engine 606 assigns the traffic to a new PCRF and stores binding information (i.e., a policy server identifier and one or more client identifiers) so that future traffic is routed to the same PCRF to which the new session traffic was assigned.
  • Routing engine 606 receives multi-protocol message traffic and identifies traffic belonging to a common client session. Routing engine 606 also determines whether the traffic for a given client session has been assigned to a PCRF (e.g., 104A, 104B, and 104C, FIG. 1). If traffic for a client session has been assigned, routing engine 606 routes the different protocol messages to the PCRF to which the client session has been assigned based on the stored binding information. Routing engine 606 is configured to identify traffic for which sessions have not been assigned to a PCRF (e.g., 104A, 104B, and 104C, FIG. 1). For such traffic, routing engine 606 assigns the sessions to a PCRF and routes the traffic to the assigned PCRF. Routing engine stores the binding information (e.g., one or more client identifiers and a policy server identifier) as binding information 120 for future routing. Should the routing to a given PCRF change at all during a given session, MPSR 110 is configured to extract and update binding information 120.
  • It is understood that the architecture illustrated in FIG. 6 is simplified in that a MPSR 110 may include additional or alternative components without departing from the scope of the subject matter described herein. In one example, MPSR 110 may be implemented on a processor blade in a rack-mounted system. Multiple MPSR 110 processor blades may plug into a backplane to form a shelf. The MPSR 110 processor blades may themselves operate in a stateful and redundant manner. In addition, MPSR 110 may be a virtual MPSR that runs on a hypervisor layer that shares access to underlying hardware, such as processor, memory, and network interfaces.
  • It will be appreciated that FIG. 6 is for illustrative purposes and that various components, their locations, and/or their functions described above in relation to FIG. 6 may be changed, altered, added, and/or removed.
  • FIG. 7 is a flow chart illustrating an exemplary process, generally designated 700, for multi-protocol stateful routing according to an exemplary implementation of the subject matter described herein. Multi-protocol stateful routing may be performed at a multi-protocol stateful router including at least one processor, such as MPSR 110 (e.g., FIGS. 1 to 6).
  • In block 702, the MPSR (e.g., 110, FIGS. 1 to 6) receives a first message of a client session that is communicated using a first communication protocol. The first message requires processing by one or more PCRFs. For example, the message may include an accounting request, a charging request, an AAA request, a trigger for effecting a change in a policy session, or the like.
  • In block 704, the MPSR obtains, from the first message, one or more first client identifiers. Client identifiers may be obtained via extraction and stored, along with a policy identifier as binding information. Client identifiers may include an IMSI, a MSISDN, an IP address, an IMEI, a MSRN, a user name, a NAI, an APN, a MAC address, a subscriber phone number, a HON, a port number, or the like.
  • In block 706, MPSR determines a policy server (PCRF) that is assigned to the client session. MPSR may determine a policy server via performing a lookup in a binding table or binding record. If the client session is a new session, MPSR may assign a policy server and store identifiers associated with the newly assigned session as binding information and/or as a binding record.
  • In block 708, MPSR stores the one or more client identifiers and a policy server identifier, which is associated with the policy server that is assigned to the client session as a multi-protocol binding record.
  • In block 710, MPSR receives a second message that is communicated using a second protocol that is different from the first protocol. The second message also requires processing by the one or more policy servers. The second message includes one or more second client identifiers. At least one of the first client identifiers and at least one of the second client identifiers may include a same, common identifier.
  • In block 712, MPSR determines, using the multi-protocol binding record that the second message is in the same client session as the first message.
  • In block 714, MPSR routes the second message to the policy server that is assigned to the client session.
  • Multi-protocol stateful routing as described herein functions on special purpose computing platforms, such as MPSR and PCRFs. The routing functionality and binding information described herein improve the functionality of messaging and server allocation and/or policy server utilization within a network, as routing and processing packets between network components (e.g., MPSR, PCRFs, gateways) and the core network in general is more intelligent, simplified, and less costly as the need to retrieving a user profile from various locations is eliminated. Multi-protocol stateful routing as described herein improves the technological field of server assignment for policy and charging control and stateful routing. By receiving user information from many sources and across multiple, different protocols, server utilization efficiency is also increased.
  • It will be understood that various details of the presently disclosed subject matter may be changed without departing from the scope of the presently disclosed subject matter. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.

Claims (20)

What is claimed is:
1. A method for providing multi-protocol stateful routing, the method comprising:
at a multi-protocol stateful router including at least one processor:
receiving a first message of a client session that is communicated using a first communication protocol, wherein the first message requires processing by one or more policy servers;
obtaining, from the first message, one or more client identifiers;
determining that the client session is assigned to a first policy server;
storing the one or more client identifiers and a first policy server identifier that is associated with the first policy server as a multi-protocol binding record;
receiving a second message that is communicated using a second protocol that is different from the first protocol;
determining, using the multi-protocol binding record, that the second message is assigned to the first policy server; and
routing the second message to the first policy server.
2. The method of claim 1, wherein the first protocol includes Diameter, RADIUS, Mobile Application Protocol (MAP), HyperText Transfer Protocol (HTTP), HyperText Transfer Protocol Secure (HTTPS), eXtensible Markup Language (XML), Session Initiation Protocol (SIP), or Internet Protocol (IP).
3. The method of claim 2, wherein the second protocol includes Diameter, RADIUS, MAP, HTTP, HTTPS, XML, SIP, or IP.
4. The method of claim 1, wherein the one or more client identifiers include an International Mobile Subscriber Identity (IMSI), a Mobile Station International Subscriber Directory Number (MSISDN), an Internet Protocol (IP) address, an International Mobile Equipment Identifier (IMEI), a Mobile Station Roaming Number (MSRN), a user name, a Network Address Identifier (NAI), an Access Point Name (APN), a Media Access Control (MAC) address, a subscriber phone number, a handover number (HON), or a port number.
5. The method of claim 1, wherein the one or more policy servers comprise one or more Policy and Charging Rules Functions (PCRFs).
6. The method of claim 1, further comprising creating a multi-protocol binding table from a plurality of multi-protocol binding records, wherein each of the plurality of multi-protocol binding records comprises a user equipment identifier and a policy server identifier that is assigned to the user equipment identifier.
7. The method of claim 6, further comprising receiving session traffic associated with a second client session and routing the session traffic that is associated with the second client session to a second policy server using the multi-protocol binding table.
8. The method of claim 1, wherein the first message of the client session and the second message of the client session each include at least one common client identifier.
9. The method of claim 1, wherein the first message is received from a gateway, a router, a switch, a server, an access point, an access node, a Deep Packet Inspection (DPI) node, a Broadband Network Gateway (BNG), an application function (AF), an Over The Top (OTT) server, a PDN Gateway (PGW), or any non-3GPP access node.
10. A system for multi-protocol routing, the system comprising:
a multi-protocol stateful router including at least one processor;
at least one network interface configured to receive a first message of a client session that is communicated using a first communication protocol, wherein the first message requires processing by one or more policy servers, and wherein one or more client identifiers are obtained from the first message; and
a memory element having binding information stored therein for determining a first policy server that is assigned to the client session, wherein the one or more client identifiers and a first policy server identifier that is associated with the first policy server are stored within the memory element as a multi-protocol binding record; and
wherein the multi-protocol stateful router is configured to receive a second message that is communicated using a second protocol that is different from the first protocol and determine, using the multi-protocol binding record, that the second message is assigned to the first policy server.
11. The system of claim 10, wherein the multi-protocol stateful router routes the second message to the first policy server.
12. The system of claim 10, wherein the first protocol includes Diameter, RADIUS, Mobile Application Protocol (MAP), HyperText Transfer Protocol (HTTP), HyperText Transfer Protocol Secure (HTTPS), eXtensible Markup Language (XML), Session Initiation Protocol (SIP), or Internet Protocol (IP).
13. The system of claim 12, wherein the second protocol includes Diameter, RADIUS, MAP, HTTP, HTTPS, XML, SIP, or IP.
14. The system of claim 10, wherein the one or more client identifiers include an International Mobile Subscriber Identity (IMSI), a Mobile Station International Subscriber Directory Number (MSISDN), an Internet Protocol (IP) address, an International Mobile Equipment Identifier (IMEI), a Mobile Station Roaming Number (MSRN), a user name, a Network Address Identifier (NAI), an Access Point Name (APN), a Media Access Control (MAC) address, a subscriber phone number, a handover number (HON), or a port number.
15. The system of claim 10, wherein the one or more policy servers comprise one or more Policy and Charging Rules Functions (PCRFs).
16. The system of claim 10, further comprising a multi-protocol binding table stored within the memory element, wherein the multi-protocol binding table comprises a plurality of multi-protocol binding records, and wherein each of the plurality of multi-protocol binding records comprises at least one client identifier and at least one policy server identifier that is assigned to the at least one client identifier.
17. The system of claim 16, wherein the multi-protocol stateful router receives session traffic associated with a second client session, and routes the traffic associated with the second client session to a second policy server using the multi-protocol binding table.
18. The system of claim 10, wherein the first message of the client session and the second message of the client session each include at least one common client identifier.
19. The system of claim 10, wherein the first message is received from a gateway, a router, a switch, a server, an access point, an access node, a Deep Packet Inspection (DPI) node, a Broadband Network Gateway (BNG), an application function (AF), an Over The Top (OTT) server, a PDN Gateway (PGW), or any non-3GPP access node.
20. A non-transitory computer readable medium having stored thereon executable instructions that when executed by a processor of a computer controls the computer to perform steps comprising:
receiving a first message of a client session that is communicated using a first communication protocol, wherein the first message requires processing by one or more policy servers;
obtaining, from the first message, one or more client identifiers;
determining that the client session is assigned to a first policy server;
storing the one or more client identifiers and a first policy server identifier that is associated with the first policy server as a multi-protocol binding record;
receiving a second message that is communicated using a second protocol that is different from the first protocol;
determining, using the multi-protocol binding record, that the second message is assigned to the first policy server; and
routing the second message to the first policy server.
US14/742,679 2015-06-17 2015-06-17 Methods, systems, and computer readable media for multi-protocol stateful routing Active US10951519B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/742,679 US10951519B2 (en) 2015-06-17 2015-06-17 Methods, systems, and computer readable media for multi-protocol stateful routing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/742,679 US10951519B2 (en) 2015-06-17 2015-06-17 Methods, systems, and computer readable media for multi-protocol stateful routing

Publications (2)

Publication Number Publication Date
US20160373348A1 true US20160373348A1 (en) 2016-12-22
US10951519B2 US10951519B2 (en) 2021-03-16

Family

ID=57588622

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/742,679 Active US10951519B2 (en) 2015-06-17 2015-06-17 Methods, systems, and computer readable media for multi-protocol stateful routing

Country Status (1)

Country Link
US (1) US10951519B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9918229B2 (en) 2015-08-14 2018-03-13 Oracle International Corporation Methods, systems, and computer readable media for providing access network protocol interworking and authentication proxying
US9923984B2 (en) 2015-10-30 2018-03-20 Oracle International Corporation Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) message loop detection and mitigation
US9930528B2 (en) 2015-08-14 2018-03-27 Oracle International Corporation Methods, systems, and computer readable media for providing access network signaling protocol interworking for user authentication
US10084755B2 (en) 2015-08-14 2018-09-25 Oracle International Corporation Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) proxy and diameter agent address resolution
US10554661B2 (en) 2015-08-14 2020-02-04 Oracle International Corporation Methods, systems, and computer readable media for providing access network session correlation for policy control
WO2020081224A1 (en) * 2018-10-16 2020-04-23 Oracle International Corporation Methods, systems, and computer readable media for lock-free communications processing at a network node
US11039501B2 (en) * 2016-11-08 2021-06-15 Huawei Technologies Co., Ltd. Converged controller selection method, device, and converged controller selection system
CN112994996A (en) * 2021-02-25 2021-06-18 中国联合网络通信集团有限公司 Home network sharing method, MEC server, computer device, and medium
EP3753200A4 (en) * 2018-02-15 2021-12-01 128 Technology, Inc. Service related routing method and apparatus
US11283883B1 (en) 2020-11-09 2022-03-22 Oracle International Corporation Methods, systems, and computer readable media for providing optimized binding support function (BSF) packet data unit (PDU) session binding discovery responses
US11363447B2 (en) * 2019-08-01 2022-06-14 Verizon Patent And Licensing Inc. Method and device for managing and allocating binding service in a wireless network
US20220224553A1 (en) * 2019-06-04 2022-07-14 Telefonaktiebolaget Lm Ericsson (Publ) Managing a charging operation in a communication network
US11658902B2 (en) 2020-04-23 2023-05-23 Juniper Networks, Inc. Session monitoring using metrics of session establishment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120177028A1 (en) * 2011-01-10 2012-07-12 Alcatel-Lucent Canada Inc. Radius gateway on policy charging and rules function (pcrf) for wireline/wireless converged solution
US20120202550A1 (en) * 2011-02-04 2012-08-09 Marsico Peter J Methods, systems, and computer readable media for provisioning a diameter binding repository
US20120225679A1 (en) * 2011-03-01 2012-09-06 Mccann Thomas Matthew Methods, systems, and computer readable media for dynamically learning diameter binding information
US20130279497A1 (en) * 2012-04-18 2013-10-24 Subhash Verma Method for correlating messages across multiple protocols in a telecommunication network
US20150036486A1 (en) * 2013-07-31 2015-02-05 Oracle International Corporation Methods, systems, and computer readable media for destination-host defined overload scope
US9398470B2 (en) * 2010-01-05 2016-07-19 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for gateway session establishment

Family Cites Families (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1872857A (en) 1931-04-20 1932-08-23 Peerless Handcuff Company Police officer's shackle
US5878347A (en) 1996-03-26 1999-03-02 Ericsson, Inc. Routing a data signal to a mobile station within a telecommunications network
JPH1098470A (en) 1996-09-20 1998-04-14 Hitachi Ltd Incoming call transfer method for atm network
US6008098A (en) 1996-10-04 1999-12-28 Advanced Micro Devices, Inc. Ultra shallow junction formation using amorphous silicon layer
JPH11224219A (en) 1998-02-05 1999-08-17 Nippon Telegr & Teleph Corp <Ntt> Decentralized cache control method, decentralization controller, decentralizzed cache system, and storage medium stored with decentralized cache control program
US6298383B1 (en) 1999-01-04 2001-10-02 Cisco Technology, Inc. Integration of authentication authorization and accounting service and proxy service
US6785730B1 (en) 1999-02-16 2004-08-31 Rebecca S. Taylor Generic communications protocol translator
US6836477B1 (en) 1999-12-23 2004-12-28 Tekelec Methods and systems for routing messages in a communications network
US6977917B2 (en) 2000-03-10 2005-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for mapping an IP address to an MSISDN number within a service network
US6775262B1 (en) 2000-03-10 2004-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for mapping an IP address to an MSISDN number within a wireless application processing network
US6967956B1 (en) 2000-07-18 2005-11-22 Tekelec Methods and systems for providing message translation, accounting and routing service in a multi-protocol communications network environment
US20020147845A1 (en) 2001-03-06 2002-10-10 Juan-Antonio Sanchez-Herrero Flexible user distribution between user's serving entities
US20020194378A1 (en) 2001-04-05 2002-12-19 George Foti System and method of hiding an internet protocol (IP) address of an IP terminal during a multimedia session
ATE452517T1 (en) 2001-06-18 2010-01-15 Nokia Corp ROAMING FROM THE IMS AREA TO THE CS AREA
US7027433B2 (en) 2001-06-20 2006-04-11 Nokia Corporation Routing a call between different types of networks
ES2235065T3 (en) 2001-07-03 2005-07-01 Telefonaktiebolaget Lm Ericsson (Publ) METHOD AND SYSTEM FOR MANAGING MULTIPLE RECORDS.
US6885861B2 (en) 2001-08-24 2005-04-26 Nokia Corporation Service mobility and recovery in communication networks
US7028311B2 (en) 2002-01-04 2006-04-11 Telefonaktiebolaget Lm Ericsson (Publ) Communications node architecture and method for providing control functions in a telecommunications network
GB0206849D0 (en) 2002-03-22 2002-05-01 Nokia Corp Communication system and method
DE50301105D1 (en) 2002-03-27 2005-10-06 Siemens Ag AAA SERVER SYSTEM FOR EFFICIENT ACCESS CONTROL AND ADDRESS ALLOCATION
US20040103157A1 (en) 2002-04-17 2004-05-27 Nokia Corporation Store-and-forward server and method for storing and forwarding for instant messaging service implemented in IP multimedia core network subsystem (IMS)
ES2250581T3 (en) 2002-04-22 2006-04-16 Telefonaktiebolaget Lm Ericsson (Publ) USER SELECTOR MANDATORY, METHOD AND SYSTEM FOR AUTHENTICATION, AUTHORIZATION AND ACCOUNTING.
US7814015B2 (en) 2002-05-21 2010-10-12 Tekelec Methods and systems for performing a sales transaction using a mobile communications device
KR100454680B1 (en) 2002-11-07 2004-11-03 한국전자통신연구원 A Method for Batch Processing of Accounting in AAA System
US7310307B1 (en) 2002-12-17 2007-12-18 Cisco Technology, Inc. System and method for authenticating an element in a network environment
ATE390816T1 (en) 2003-01-10 2008-04-15 Ericsson Telefon Ab L M SINGLE SIGN-ON (SSO) FOR USERS OF PACKET ROAD NETWORK ROAMING IN A MULTINATIONAL OPERATOR NETWORK
US9369498B2 (en) 2003-01-30 2016-06-14 Nokia Technologies Oy Message-based conveyance of load control information
US7408930B2 (en) 2003-02-07 2008-08-05 Fujitsu Limited Address learning to enable high speed routing table lookups
GB0306830D0 (en) 2003-03-25 2003-04-30 Nokia Corp Routing messages
US20040205212A1 (en) 2003-03-31 2004-10-14 Nokia Corporation Method and system for forwarding a service-related information to a network user
TW200818780A (en) 2003-05-02 2008-04-16 Interdigital Tech Corp Method and architecture for accessing an internet protocol multimedia subsystem (IMS) over wireless local area network (WLAN)
US7421732B2 (en) 2003-05-05 2008-09-02 Nokia Corporation System, apparatus, and method for providing generic internet protocol authentication
US7522613B2 (en) 2003-05-07 2009-04-21 Nokia Corporation Multiplexing media components of different sessions
JP4041038B2 (en) 2003-08-13 2008-01-30 富士通株式会社 Higher layer processing method and system
US7885208B2 (en) 2003-09-11 2011-02-08 Nokia Corporation IP-based services for circuit-switched networks
US7283506B2 (en) 2003-10-13 2007-10-16 Nokia Corporation System and method for releasing sessions at network entities associated with the sessions
KR101001622B1 (en) 2003-11-05 2010-12-17 삼성전자주식회사 Wireless communication system capable of optimized routing and a measuring method of network magnitude
FI20031784A0 (en) 2003-12-05 2003-12-05 Nokia Corp Registration control in a communication system
US20050155036A1 (en) 2003-12-19 2005-07-14 Nokia Corporation Application server addressing
GB0329857D0 (en) 2003-12-23 2004-01-28 Nokia Corp User registration in a communication system
CA2552531C (en) 2004-01-07 2011-01-04 Huawei Technologies Co., Ltd. A method for reducing interface load of home subscriber server
GB0400883D0 (en) 2004-01-15 2004-02-18 Nokia Corp Controlling communication sessions in a communication system
KR100834457B1 (en) 2004-03-26 2008-06-05 삼성전자주식회사 Method and system for subscribing a digital broadcasting service by using mobile telecommunication network
KR100823128B1 (en) 2004-06-30 2008-04-21 삼성전자주식회사 Apparatus and method of information management in multimedia service providing system
GB0417296D0 (en) 2004-08-03 2004-09-08 Nokia Corp User registration in a communication system
US7844745B1 (en) 2004-08-19 2010-11-30 Nortel Networks Limited Alternate home subscriber server (HSS) node to receive a request if a first HSS node cannot handle said request
US7170982B2 (en) 2004-08-26 2007-01-30 Lucent Technologies Inc. Call authorization and billing message routing capability
US7319857B2 (en) 2004-09-13 2008-01-15 Tekelec Methods, systems, and computer program products for delivering messaging service messages
WO2006031927A2 (en) 2004-09-15 2006-03-23 Tekelec Methods, systems, and computer program products for providing wireless-fidelity (wi-fi) gateway visitor location register (vlr) functionality
US20060068816A1 (en) 2004-09-30 2006-03-30 Lucent Technologies Inc. Network based contacts with optional DTMF exchange of the same
US7292592B2 (en) 2004-10-08 2007-11-06 Telefonaktiebolaget Lm Ericsson (Publ) Home network-assisted selection of intermediary network for a roaming mobile terminal
US7551926B2 (en) 2004-10-08 2009-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Terminal-assisted selection of intermediary network for a roaming mobile terminal
KR100651716B1 (en) 2004-10-11 2006-12-01 한국전자통신연구원 Bootstrapping method in mobile network based on Diameter protocol and system therein
US8527003B2 (en) 2004-11-10 2013-09-03 Newlans, Inc. System and apparatus for high data rate wireless communications
ATE553584T1 (en) 2004-12-17 2012-04-15 Tekelec Us METHODS, SYSTEMS AND COMPUTER PROGRAM PRODUCTS FOR CLUSTERING AND COMMUNICATE BETWEEN INTERNET PROTOCOL MULTIMEDIA SUBSYSTEM (IMS) ENTITIES
JP4305396B2 (en) 2005-01-31 2009-07-29 ブラザー工業株式会社 COMMUNICATION SYSTEM, DATA TRANSMITTING DEVICE, AND OUTPUT DEVICE
WO2006102850A1 (en) 2005-03-30 2006-10-05 Huawei Technologies Co., Ltd. A method and system for implementing route control
US7760732B2 (en) 2005-04-01 2010-07-20 Cisco Technology, Inc. Constant time signature methods for scalable and bandwidth-efficient multicast
CN101151914B (en) 2005-04-01 2011-11-16 艾利森电话股份有限公司 Method for starting communication based on IMS
US20060259759A1 (en) 2005-05-16 2006-11-16 Fabio Maino Method and apparatus for securely extending a protected network through secure intermediation of AAA information
JP4738901B2 (en) 2005-06-07 2011-08-03 株式会社日立製作所 VLANID dynamic allocation method and packet transfer apparatus
WO2007019583A2 (en) 2005-08-09 2007-02-15 Sipera Systems, Inc. System and method for providing network level and nodal level vulnerability protection in voip networks
KR100753820B1 (en) 2005-12-10 2007-08-31 한국전자통신연구원 Network system and communication method for secure bootstrapping of Mobile IPv6 mobile node based on PSKPre-Shared Key
US8170055B2 (en) 2005-12-29 2012-05-01 Alcatel Lucent Method of converting between radius message and diameter messages
CN100474854C (en) 2006-01-10 2009-04-01 华为技术有限公司 Method and network system for selecting called continued network
CN100464550C (en) 2006-02-27 2009-02-25 东南大学 Network architecture of backward compatible authentication, authorization and accounting system and implementation method
US8406191B2 (en) 2006-04-14 2013-03-26 Qualcomm Incorporated Pseudo wires for mobility management
DE102006022369A1 (en) 2006-05-12 2007-11-15 Siemens Ag Method and device for redirecting messages of a mobile terminal
US8208930B2 (en) 2006-06-21 2012-06-26 Hewlett-Packard Development Company, L. P. Message routing in a telecommunication system
US20090313379A1 (en) 2006-07-03 2009-12-17 Telefonaktiebolaget L M Ericsson (Publ) Topology Hiding Of Mobile Agents
WO2008058487A1 (en) 2006-11-15 2008-05-22 Huawei Technologies Co., Ltd. Message interworking method, system, entity and message delivery report processing method, system, the entity, terminal for message interworking
CN101212420B (en) 2006-12-27 2010-09-29 华为技术有限公司 Redirector, relay and route information configuration system and update method
CN101247321B (en) 2007-02-14 2012-07-04 华为技术有限公司 Method, device and system for routing diagnosis in network based on diameter protocol
US9871872B2 (en) 2007-04-13 2018-01-16 Nokia Technologies Oy Mechanism for executing server discovery
US7996541B2 (en) 2007-06-15 2011-08-09 Tekelec Methods, systems, and computer program products for identifying a serving home subscriber server (HSS) in a communications network
CN101079742A (en) 2007-07-03 2007-11-28 中兴通讯股份有限公司 Data synchronization method and system between disaster tolerance home user servers
US8155128B2 (en) 2007-09-26 2012-04-10 Alcatel Lucent Method and apparatus for establishing and managing diameter associations
EP3291636B1 (en) 2007-10-25 2020-04-29 Cisco Technology, Inc. Interworking gateway for mobile nodes
EP2056570A1 (en) 2007-10-29 2009-05-06 Nokia Siemens Networks Oy Session and media binding to common control
EP2220841B1 (en) 2007-11-01 2011-09-28 Telefonaktiebolaget LM Ericsson (publ) Method and system for correlating aaa sessions
US7855982B2 (en) 2007-11-19 2010-12-21 Rajesh Ramankutty Providing services to packet flows in a network
US8468267B2 (en) 2007-12-01 2013-06-18 Alcatel Lucent IMS diameter router with load balancing
US8218459B1 (en) 2007-12-20 2012-07-10 Genbrand US LLC Topology hiding of a network for an administrative interface between networks
WO2009086759A1 (en) 2007-12-27 2009-07-16 Zte Corporation Method for selecting policy and charging rules function
CN101483826B (en) 2008-01-07 2012-06-27 华为技术有限公司 Method and apparatus for selecting policy and fee charging rule functional entity
CN101227391B (en) 2008-01-09 2012-01-11 中兴通讯股份有限公司 method for selecting function entity of tactics and charging rules under non-roaming condition
US7778203B2 (en) 2008-02-01 2010-08-17 Microsoft Corporation On-demand MAC address lookup
US8787249B2 (en) 2008-02-06 2014-07-22 Qualcomm Incorporated Mobile IP multiple registrations and PCC interactions
US9749404B2 (en) 2008-04-17 2017-08-29 Radware, Ltd. Method and system for load balancing over a cluster of authentication, authorization and accounting (AAA) servers
US8116728B2 (en) 2008-04-22 2012-02-14 Alcatel Lucent Charging in LTE/EPC communication networks
US9240946B2 (en) 2008-05-01 2016-01-19 Alcatel Lucent Message restriction for diameter servers
CN101277541B (en) 2008-05-22 2012-02-08 中兴通讯股份有限公司 Method for forwarding message of Diameter route entity
US8125999B2 (en) 2008-05-30 2012-02-28 At&T Intellectual Property I, L.P. Systems and methods to minimize customer equipment downtime in a voice over internet protocol (VOIP) service network
US8249551B2 (en) 2008-06-05 2012-08-21 Bridgewater Systems Corp. Long-term evolution (LTE) policy control and charging rules function (PCRF) selection
CN101742009B (en) 2008-11-07 2012-06-27 华为技术有限公司 Method, system and device for session association
US8359402B2 (en) 2008-11-19 2013-01-22 Seachange International, Inc. Intercept device for providing content
US8516080B2 (en) 2008-12-03 2013-08-20 Mobophiles, Inc. System and method for providing virtual web access
WO2010115455A1 (en) 2009-04-07 2010-10-14 Togewa Holding Ag Method and system for authenticating a network node in a uam-based wlan network
CN101867873B (en) 2009-04-14 2012-08-29 电信科学技术研究院 Information sending and receiving processing method and equipment in long-term evolution system
JP5453928B2 (en) 2009-05-29 2014-03-26 日本電気株式会社 Routing device, communication control method, and communication system
US20120076125A1 (en) 2009-06-03 2012-03-29 Telefonaktiebolaget Lm Ericsson (Publ) Operator control of resources for roaming subscribers
US9258368B2 (en) 2009-06-09 2016-02-09 Nokia Solutions And Networks Oy Methods, apparatuses, and related computer program product for network element recovery
EP2441233B1 (en) 2009-06-11 2015-04-22 Telefonaktiebolaget L M Ericsson (publ) User data convergence (udc) notification management
US8351964B2 (en) 2009-06-30 2013-01-08 Alcatel Lucent Message delivery over LTE networks
CN101969632B (en) 2009-07-28 2013-06-05 中兴通讯股份有限公司 Implementation method of policy charging control in roaming scene
EP2489161B1 (en) 2009-10-16 2019-06-12 Tekelec, Inc. Methods, systems, and computer readable media for providing diameter signaling router with integrated monitoring and/or firewall functionality
US9313759B2 (en) 2009-10-16 2016-04-12 Tekelec, Inc. Methods, systems, and computer readable media for providing triggerless equipment identity register (EIR) service in a diameter network
JP5441158B2 (en) 2009-11-25 2014-03-12 日本電気株式会社 Management device, control device, communication system, control method, and program
US9560082B2 (en) 2009-11-30 2017-01-31 Nokia Solutions And Networks Oy Method and network device establishing a binding between a plurality of separate sessions in a network
US8787174B2 (en) 2009-12-31 2014-07-22 Tekelec, Inc. Methods, systems, and computer readable media for condition-triggered policies
US9350876B2 (en) 2010-01-04 2016-05-24 Tekelec, Inc. Methods, systems, and computer readable media for detecting initiation of a service data flow using a Gx rule
US8615237B2 (en) 2010-01-04 2013-12-24 Tekelec, Inc. Methods, systems, and computer readable media for policy and charging rules function (PCRF) node selection
US8578050B2 (en) 2010-02-12 2013-11-05 Tekelec, Inc. Methods, systems, and computer readable media for providing peer routing at a diameter node
EP2534811B1 (en) 2010-02-12 2018-08-08 Tekelec, Inc. Methods, systems, and computer readable media for diameter network management
US9917700B2 (en) 2010-03-15 2018-03-13 Tekelec, Inc. Systems, methods, and computer readable media for policy enforcement correlation
US8650572B2 (en) 2010-03-15 2014-02-11 Alcatel Lucent Diverse message synchronization
WO2011115991A2 (en) 2010-03-15 2011-09-22 Tekelec Methods, systems, and computer readable media for communicating policy information between a policy charging and rules function and a service node
CN103039049B (en) 2010-06-06 2016-08-24 泰克莱克股份有限公司 For covering the method for Diameter node information, system and computer-readable medium in a communication network
EP2583415B1 (en) 2010-06-15 2018-07-25 Tekelec, Inc. Method, diameter node, and computer readable medium for providing dynamic origination-based routing key registration in a diameter network
CN101945047B (en) 2010-09-14 2014-11-05 中兴通讯股份有限公司 Diameter routing method and system
US8750825B2 (en) 2010-09-25 2014-06-10 Tekelec, Inc. Methods, systems, and computer readable media for inter-carrier roaming cost containment
US8824370B2 (en) 2010-12-16 2014-09-02 Openet Telecom Ltd. Methods, systems and devices for dynamic context-based routing
US8675659B2 (en) 2010-12-16 2014-03-18 Openet Telecom Ltd. Methods, systems and devices for multiphase decoding
US8693423B2 (en) 2011-02-16 2014-04-08 Tekelec, Inc. Methods, systems, and computer readable media for providing enhanced mobile subscriber location register fault recovery
EP2681939B1 (en) 2011-03-01 2016-09-14 Tekelec, Inc. Methods, systems, and computer readable media for sharing diameter binding data
EP2681937B1 (en) 2011-03-01 2019-09-25 Tekelec, Inc. Method, system, and computer readable medium for hybrid session based diameter routing
JP5732550B2 (en) 2011-03-03 2015-06-10 テケレック・インコーポレイテッドTekelec, Inc. Method, system, and computer-readable medium for enhancing Diameter signaling messages
EP2686986B1 (en) 2011-03-18 2019-09-11 Tekelec, Inc. Method, system, and computer readable media for configurable diameter address resolution
US9225849B2 (en) 2011-05-06 2015-12-29 Tekelec, Inc. Methods, systems, and computer readable media for steering a subscriber between access networks
TWI463847B (en) 2012-02-29 2014-12-01 Mstar Semiconductor Inc Transceiver iq calibration system and associated method
US8874766B2 (en) 2012-03-09 2014-10-28 Mcafee, Inc. System and method for flexible network access control policies in a network environment
US9860323B2 (en) 2012-05-15 2018-01-02 At&T Intellectual Property I, L.P. System and apparatus for providing policy control and charging to support communications
US8953592B2 (en) 2012-09-28 2015-02-10 Juniper Networks, Inc. Network address translation for application of subscriber-aware services
US9319378B2 (en) 2013-01-23 2016-04-19 Tekelec, Inc. Methods, systems, and computer readable media for using a diameter routing agent (DRA) to obtain mappings between mobile subscriber identification information and dynamically assigned internet protocol (IP) addresses and for making the mappings accessible to applications
US10243862B2 (en) 2013-03-15 2019-03-26 Gigamon Inc. Systems and methods for sampling packets in a network flow
US9131071B2 (en) 2013-05-14 2015-09-08 Alcatel Lucent Binding of SD messages with radius messages
US9521695B2 (en) 2013-06-04 2016-12-13 Tallac Networks, Inc. Initializing network advertisements from probe requests
US9438555B2 (en) 2013-10-31 2016-09-06 Aruba Networks, Inc. Communicating with a distribution system via an uplink access point
US11388082B2 (en) 2013-11-27 2022-07-12 Oracle International Corporation Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality
US9668134B2 (en) 2015-08-14 2017-05-30 Oracle International Corporation Methods, systems, and computer readable media for providing access network protocol interworking and authentication proxying
US9923984B2 (en) 2015-10-30 2018-03-20 Oracle International Corporation Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) message loop detection and mitigation
US10554661B2 (en) 2015-08-14 2020-02-04 Oracle International Corporation Methods, systems, and computer readable media for providing access network session correlation for policy control
US9668135B2 (en) 2015-08-14 2017-05-30 Oracle International Corporation Methods, systems, and computer readable media for providing access network signaling protocol interworking for user authentication
US10084755B2 (en) 2015-08-14 2018-09-25 Oracle International Corporation Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) proxy and diameter agent address resolution

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9398470B2 (en) * 2010-01-05 2016-07-19 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for gateway session establishment
US20120177028A1 (en) * 2011-01-10 2012-07-12 Alcatel-Lucent Canada Inc. Radius gateway on policy charging and rules function (pcrf) for wireline/wireless converged solution
US20120202550A1 (en) * 2011-02-04 2012-08-09 Marsico Peter J Methods, systems, and computer readable media for provisioning a diameter binding repository
US20120225679A1 (en) * 2011-03-01 2012-09-06 Mccann Thomas Matthew Methods, systems, and computer readable media for dynamically learning diameter binding information
US20130279497A1 (en) * 2012-04-18 2013-10-24 Subhash Verma Method for correlating messages across multiple protocols in a telecommunication network
US20150036486A1 (en) * 2013-07-31 2015-02-05 Oracle International Corporation Methods, systems, and computer readable media for destination-host defined overload scope

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9918229B2 (en) 2015-08-14 2018-03-13 Oracle International Corporation Methods, systems, and computer readable media for providing access network protocol interworking and authentication proxying
US9930528B2 (en) 2015-08-14 2018-03-27 Oracle International Corporation Methods, systems, and computer readable media for providing access network signaling protocol interworking for user authentication
US10084755B2 (en) 2015-08-14 2018-09-25 Oracle International Corporation Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) proxy and diameter agent address resolution
US10554661B2 (en) 2015-08-14 2020-02-04 Oracle International Corporation Methods, systems, and computer readable media for providing access network session correlation for policy control
US9923984B2 (en) 2015-10-30 2018-03-20 Oracle International Corporation Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) message loop detection and mitigation
US11039501B2 (en) * 2016-11-08 2021-06-15 Huawei Technologies Co., Ltd. Converged controller selection method, device, and converged controller selection system
EP3753200A4 (en) * 2018-02-15 2021-12-01 128 Technology, Inc. Service related routing method and apparatus
US11652739B2 (en) 2018-02-15 2023-05-16 128 Technology, Inc. Service related routing method and apparatus
US10798609B2 (en) 2018-10-16 2020-10-06 Oracle International Corporation Methods, systems, and computer readable media for lock-free communications processing at a network node
CN112889029A (en) * 2018-10-16 2021-06-01 甲骨文国际公司 Methods, systems, and computer readable media for lock-free communication processing at a network node
WO2020081224A1 (en) * 2018-10-16 2020-04-23 Oracle International Corporation Methods, systems, and computer readable media for lock-free communications processing at a network node
US20220224553A1 (en) * 2019-06-04 2022-07-14 Telefonaktiebolaget Lm Ericsson (Publ) Managing a charging operation in a communication network
US11363447B2 (en) * 2019-08-01 2022-06-14 Verizon Patent And Licensing Inc. Method and device for managing and allocating binding service in a wireless network
US11658902B2 (en) 2020-04-23 2023-05-23 Juniper Networks, Inc. Session monitoring using metrics of session establishment
US11283883B1 (en) 2020-11-09 2022-03-22 Oracle International Corporation Methods, systems, and computer readable media for providing optimized binding support function (BSF) packet data unit (PDU) session binding discovery responses
CN112994996A (en) * 2021-02-25 2021-06-18 中国联合网络通信集团有限公司 Home network sharing method, MEC server, computer device, and medium

Also Published As

Publication number Publication date
US10951519B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
US10951519B2 (en) Methods, systems, and computer readable media for multi-protocol stateful routing
JP6509219B2 (en) Methods, systems, and computer readable media for Diameter routing using software defined network (SDN) functionality
US9621362B2 (en) System and method for providing policy charging and rules function discovery in a network environment
US8953592B2 (en) Network address translation for application of subscriber-aware services
JP5938052B2 (en) Method, system and computer-readable medium for Diameter routing based on hybrid session
EP2932745B1 (en) Method and system for hub breakout roaming
US8615237B2 (en) Methods, systems, and computer readable media for policy and charging rules function (PCRF) node selection
EP3491798B1 (en) Methods, systems, and computer readable media for applying a subscriber based policy to a network service data flow
US9319867B2 (en) Method and apparatuses for policy and charging control of machine-to-machine type communications
US10554661B2 (en) Methods, systems, and computer readable media for providing access network session correlation for policy control
US9083705B2 (en) Identifying NATed devices for device-specific traffic flow steering
US9749306B2 (en) Method, device and communications system for network convergence
US8498286B2 (en) Radius gateway on policy charging and rules function (PCRF) for wireline/wireless converged solution
US20150207776A1 (en) Intelligent ip resolver
CN105981345B (en) The Lawful intercept of WI-FI/ packet-based core networks access
US9521077B2 (en) Network connection via a proxy device using a generic access point name
KR102117434B1 (en) Method for improved handling of at least one communication exchange between a telecommunication network and at least one user equipment, telecommunication network, user equipment, systems, programs and computer program products
US9906887B2 (en) PCRN home network identity
US8971215B2 (en) Subscriber assignment
US10959095B2 (en) Method, system and apparatus for policy based authorization and authentication of data traffic bypassing mobile network
CN109921918B (en) Quality of service (QoS) control method and device
KR102315347B1 (en) HSS(Home Subscriber Server) and HSS control method
JP2016034116A (en) Path setting device, path setting method, path setting program, and communication system
US20220311768A1 (en) Method and system for defining and enforcing ip traffic policy for connected devices
US9203920B2 (en) Method and node for automatically exchanging network service provider information

Legal Events

Date Code Title Description
AS Assignment

Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RENZULLO, JARED MICHAEL;ABOU-ASSALI, TAREK;CHOWDHURY, SAYAN;REEL/FRAME:035968/0804

Effective date: 20150616

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: AWAITING TC RESP., ISSUE FEE NOT PAID

STCF Information on status: patent grant

Free format text: PATENTED CASE