The subject matter described herein relates to processing signaling messages received over long-lived connections. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for load balancing Diameter message traffic received over long-lived Diameter connections.
Diameter is a signaling protocol used extensively in core networks to carry subscriber and policy information among core network elements. One feature of Diameter is that Diameter connections between Diameter network elements, once established, may remain in service for long periods of time, such as weeks, months, or years. Once a connection is established, the message traffic sent over the connection can vary greatly over time. Accordingly, if the processing of Diameter message traffic is initially divided based on connections, this variation in traffic over a given connection can cause an imbalanced load among Diameter processing resources.
For example, in one Diameter message processing architecture, the message processors that perform Diameter connection layer processing also perform Diameter routing and/or application layer processing. Because the message processors each perform connection, routing, and/or application processing, all of the message processing for a given connection is performed by the same processor. As a result, if one connection assigned to one processor experiences a spike in traffic, that processor may become overburdened as compared to another processor whose assigned connections do not experience a spike in message traffic. However, because the connections are tied to the same processors that perform the routing and/or application processing for the messages, there is no ability to load balance the processing of the messages between the processors without tearing down and re-establishing the Diameter connections on different processors.
Requiring the tear down and re-establishment of Diameter connections to perform load balancing is undesirable as it results in unnecessary overhead on connection endpoints in tearing down and re-establishing the connections. In addition, once the connections are re-established to more evenly balance the load, any subsequent load imbalance on the newly assigned processors will require that the tearing down and re-establishing of the Diameter connections be repeated.
Accordingly, there exists a need for methods, systems, and computer readable media for balancing Diameter message traffic received over long lived Diameter connections.
Methods, systems, and computer readable media for providing a workload balancer for balancing message traffic received over long-lived Diameter connections are disclosed. One exemplary workload balancer includes at least one connection front end processor for terminating Diameter connections with external nodes. The workload balancer further includes a plurality of Diameter back end processors for performing application or routing processing for the Diameter messages received over the Diameter connections. The at least one connection front end processor load shares Diameter messages received over existing Diameter connections among the back end processors.
According to another aspect of the subject matter described herein, a method for workload balancing of Diameter message traffic received over long-lived Diameter connections is provided. The method includes, at a connection front end processor, terminating Diameter connections with external nodes. The method further includes, at the connection front end processor, receiving Diameter messages over the Diameter connections. The method further includes, at the connection front end processor, load sharing the Diameter messages received over the Diameter connections among the plurality of back end processors. The method further includes, at the back end processors, performing application or routing processing for the messages received from the connection front end processor.
A workload balancer, as described herein, may comprise a special purpose computing platform that improves the technological field of processing Diameter signaling messages more efficiently in a communications network. Thus, a workload balancer may include hardware, such as a microprocessor and associated memory for performing the functions described herein. In one implementation, the connection front end processors and the routing and application back end processors may each be implemented on a printed circuit board or blade that is pluggable into a shelf that implements the overall functionality of the workload balancer. As new connection front ends and/or routing or application back ends are needed, additional blades can be added to the shelf. Similarly, when a connection front end processor or routing or application back end processor fails, the failed processor can be replaced by unplugging the blade from the shelf and plugging a new blade into the slot corresponding to the failed processor.
The subject matter described herein may be implemented in hardware, software, firmware, or any combination thereof. As such, the terms “function” or “module” as used herein refer to hardware, software and/or firmware components for implementing the feature(s) being described. In one exemplary implementation, the subject matter described herein may be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by the processor of a computer cause 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.
The subject matter described herein will now be explained with reference to the accompanying drawings of which:
The subject matter described herein includes methods, systems, and computer readable media for balancing Diameter message traffic received over long-lived Diameter connections.
Connection front end processors 102 may load share Diameter messages received over connections terminated at the connection front end processors 102 among routing and application back end processors 104 and 106. Any suitable load sharing algorithm may be used. For example, load sharing may be performed using a static load sharing algorithm, such as a round robin algorithm, or a dynamic algorithm that considers the relative processing utilization of routing and application back end processors 104 and 106.
Because many Diameter messages may be related to the same session, it may be necessary to ensure that messages relating to the same session go to the same routing or application back end processor 104 or 106. Connection front end processors 102 may utilize the session identifier in Diameter messages to ensure that messages associated with the same transaction go to the same routing or application back end processor 104 or 106. The same session identifier may also be used to direct answers to Diameter request messages to the back end processors that process the requests. In yet another alternate implementation, the hop-by-hop identifier in Diameter messages can be used to ensure that messages associated with the same session, e.g., requests and corresponding answer messages, are sent to the same routing or application back end processor 104 or 106.
If either the session identifier or the hop-by-hop identifier is used to ensure that messages relating to the same session are sent to the same routing or back end processor, the connection front end processor that receives a particular message may perform a hash of the appropriate parameter (i.e., the session identifier or the hop-by-hop identifier) to determine whether a back end processor has been assigned for the session. After performing a hash of the session identifier, the connection front end processor may perform a lookup in a hash table to check for a back end processor assignment. If a back end processor has not been assigned to the session, the connection front end processor may assign the session to one of the back end processors based on relative processor utilization or other load balancing algorithm as described above. If the hash of the session identifier indicates that a back end processor has been assigned to the session, the connection front end processor 102 that received the message may send the message to the previously assigned back end processor. Thus, by using a hash of a session identifier or other parameter in a received message, connection front end processors 102 may load balance sessions received over long-lived connections among back end processors on a session by session basis.
Alternatively, rather than ensuring that messages relating to the same session are processed by the same application back end processor 106, state information regarding a session can be stored in a database accessible to all application back end processors 106. In such an implementation, Diameter request messages associated with the same session can be serviced by any application back end processor 106, since all application back end processors 106 will have the updated state of the session. In
For some types of messages, it may be desirable to bypass load sharing among back end processors. For example, it may be desirable to give priority to Diameter message traffic relating to communications to or from emergency personnel. In such an embodiment, connection front end processors 102 could be configured to forward Diameter traffic on a Diameter connection known to be associated with emergency personnel communications to the same back end processor 106 or group of back end processors 106 and to refrain from sending non-emergency traffic to the back end processor 106 or group of back end processors 106 that are dynamically allocated for emergency communications, at least for a configurable time period. In such an example, the emergency traffic would bypass the load sharing mechanisms described herein. In another example, connection front end processors 102 may be configured to recognize individual message parameters associated with emergency communications and forward such messages to the same back end processor 106 or group of back end processors 106. In either scenario, the processing of non-emergency traffic would be automatically re-distributed among the non-emergency back end processors 106.
In another example, using the back end processors to prioritize processing of the Diameter message traffic identified as requiring prioritized treatment may include performing traffic shedding for ingress rate control of the non-prioritized Diameter message traffic or performing CPU overload control to preferentially process the Diameter message traffic identified as requiring prioritized processing.
According to an aspect of the subject matter described herein, peers may have redundant connections with different connection front end processors 102. If a peer detects a failure of one connection front end processor 102, the peer may automatically switch outgoing Diameter traffic to the connection front end processor 102 with which the peer has a redundant connection. Peers may also use connection front end processors in a load sharing configuration. In a load sharing configuration, peers may allocate connections to front end processors 102 in proportion to the respective processing capacities of connection front end processors 102. It should also be noted that the processing capacities of connection front end processors 102 may be equal or unequal.
Routing back end processors 104 perform Diameter routing for messages received from connection front end processors 102. Performing Diameter routing may include obtaining Diameter layer routing information from incoming messages and using that information to perform Diameter layer routing of the messages. Performing Diameter layer routing of the messages may include preforming a lookup in a Diameter routing database using parameters extracted from Diameter routing attribute value pairs (AVPs) in each message.
Some messages received by Diameter routing back end processors 104 may be routed to nodes external to workload balancer 100. As stated above, such messages may exit workload balancer on an egress connection front end processor 102 associated with a connection. Unlike traditional architectures, it is not necessary that the egress messages be routed to an egress Diameter routing layer processor. Other messages may be routed from Diameter routing back end processors 104 to application back end processors 106, which may be internal to workload balancer 100.
Application back end processors 106 perform application processing for received messages. Examples of application processing that may be performed by application back end processors 106 include Diameter-to-mobile application part (MAP) conversion, MAP-to-Diameter conversion, range-based address resolution, and Diameter traffic generation. Diameter-to-MAP conversion includes receiving Diameter signaling messages relating to mobility management in the SS7 network and mapping fields in the Diameter signaling messages to fields in MAP messages. The MAP messages may then be sent to a node external to workload balancer 100, such as a home subscriber server (HSS), home location register (HLR), or a mobile switching center (MSC) that uses MAP protocol. An application processor 106 that supports Diameter-to-MAP conversion may also support the reverse process of converting received MAP messages to Diameter messages.
Range-based address resolution may include extracting a mobile subscriber or mobile station identifier, such as a mobile subscriber ISDN number (MSISDN) or an international mobile station identifier (IMSI) from a received Diameter message and performing a lookup in a database that includes entries or records keyed by ranges of MSISDNs or IMSIs. If an identifier in a received message falls within a range of identifiers for an entry in the database, an address may be extracted from the database entry. The address may correspond to a destination for the message. For example, the address may correspond to a home subscriber server that contains subscription information for a subscriber whose identity appears in a received message. In such a case, the application back end processor 106 may either reply to the received message with the proper destination address for the message or may insert the destination address in the message and forward the message to a routing back end processor. The routing back end processor may then use the newly inserted destination information to route the message.
Diameter traffic generation may include transmitting one or more Diameter messages to an external node for diagnostic and/or performance purposes. Thus, an application back end processor 106 that contains a traffic generation application may send Diameter test messages to and receive Diameter test messages from an external node. The application back end processor 106 that supports such traffic generation may log the performance of the external node in processing the Diameter test messages.
A Diameter application back end processor 106 may support any combination of one or more of these and other applications without departing from the scope of the subject matter described herein. In addition, the functionality of Diameter routing back end processors 104 and application back end processors 106 may be combined on a single processor without departing from the scope of the subject matter described herein.
Once a routing back end processor 104 routes a message by determining the appropriate destination for the message, the routing back end processor 104 may forward the message to the connection front end processor 102 associated with the egress connection. Similarly, when an application back end processor 106 formulates a response to a received message, the response may exit workload balancer 100 via the connection front end processor 102 that is associated with the egress Diameter connection.
As stated above, Diameter connection front end processors 102 perform transport layer and Diameter connection establishment and maintenance.
In response to the INIT chunk, in line 2 of the message flow diagram, connection front end processor 102 sends an INIT ACK chunk to MME 200. The INIT ACK chunk may include the IP address of connection front end processor 102 and other optional parameters. The INIT chunk may also include a state cookie that is sent back to MME 200. The next message sent in the message flow in line 3 is the cookie echo chunk, where MME sends the state cookie back to connection front end processor 102 with additional information that is inserted by the MME. In response to the cookie echo message, in line 4, connection front end processor 102 sends a cook ACK chunk back to MME 200. Once the cookie ACK chunk is received, an SCTP association is established between MME 200 and connection front end processor 102.
Once an SCTP association is established, a Diameter connection may be established over the SCTP association. Accordingly, in line 5, MME 200 sends a Diameter capabilities exchange request (CER) to connection front end processor 102. The Diameter capabilities exchange request message includes parameters, such as protocol version number, Diameter identity, security mechanisms, etc. In line 6 of the message flow diagram, connection front end processor 102 sends a Diameter capabilities answer message (CEA) to MME 200. The Diameter capabilities exchange answer message communicates the Diameter capabilities (e.g., which applications are supported by back end processors 106) of workload balancer 100 to MME 200.
Once the Diameter capabilities exchange has occurred, a Diameter connection exists between connection front end processor 102 and MME 200. Once such a connection exists, Diameter traffic can be sent and received over the connection, as indicated by line 7 in the message flow diagram.
The Diameter connection may be long-lived, i.e., lasting for days, weeks, months, or even years. By terminating the Diameter connection on connection front end processor 102, load sharing of Diameter traffic among back end processors 104 illustrated in
In the example illustrated in
In
Once the TCP connection is established, a Diameter connection can be established over the TCP connection by sending capability exchange request and answer messages as indicated by lines 4 and 5 of the message flow diagram. Once the Diameter capabilities have been exchanged, the Diameter connection is up or established, and Diameter traffic can be sent over the connection as indicated by line 6 of the message flow diagram. Because the Diameter connection may be up for long periods of time, the Diameter traffic over the connection may vary. Because connection front end processor 102 terminates the Diameter and transport layer connections on connection front end processor 102, variations in message traffic over time can be accounted for without tearing down the connection by continually load balancing the message traffic among back end processors 104 and 106. As with the SCTP case, the subject matter described herein is not limited to MME 200 initiating the establishment of the transport layer and Diameter connections. Connection front end processor 102 may initiate the establishment of either or both connections without departing from the scope of the subject matter described herein.
As stated above, one aspect of the subject matter described herein is the ability to load balance the processing of Diameter message traffic among routing or application back end processors 104 or 106.
In the example illustrated in
Although the example illustrated in
According to another aspect of the subject matter described herein, connection front end processors 102 allow legacy Diameter back end processors to be used along with newer Diameter back end processors without requiring complete replacement of the legacy back end processors. Because the connections are terminated on connection front end processors 102, back end processors can be added based on the aggregate processing demand required by all of the connections handled by a particular workload balancer. In addition, the newly added back end processors may have the same or different processing capacities than the existing back end processors, and the connection front end processors can be configured to load share Diameter message traffic received over long-lived connections to back end processors in proportion to the relative processing capacities of the back end processors.
According to another aspect of the subject matter described herein, workload balancer 100 allows virtualization of back end resources to meet message processing demands and dynamic assignment of traffic flows to newly instantiated virtual back end resources.
Once virtual routing resources are available on application back end processor 106, connection front end processor 102 may learn of the newly instantiated virtual back end processor from virtualization manager 400. Alternatively, once virtual routing back end instance 402 is created, it may inform connection front end processor 102 of its existence by any suitable mechanism. In one example, virtual routing back end instance 402 may notify connection front end processor 102 of its existence using a proprietary protocol running over TCP. Once connection front end processor 102 is aware of routing/application back end processor 106, connection front end processor 102 may load share the processing of messages that require routing among routing back end processors 104 and routing/application back end processor 106 such that the load among back end processors is more balanced.
For example, referring to
Although in the example illustrated in
Connection front end processors 102 may monitor the processing capacities of routing and application back end processors 104 and 106 via a proprietary message exchange over the connection between connection front end processor 102 and routing and application back end processors 104 and 106. As a result, connection front end processor 102 can adaptively control the flow of traffic to back end processors 104 and 106 based on processing capacity feedback received at run time.
One advantage of the subject matter described herein is modularity. For example, a connection front end processor 102 can be deployed with one or more application back end processors 106 to form an end node without an intermediate routing back end processor 104. Similarly, a connection front end processor 102 can be deployed with one or more routing back end processors 104 and no application processors 106 to form a Diameter routing node, such as a Diameter signaling router (DSR). In yet another configuration, as illustrated in
The modularity aspect of the subject matter described herein also allows back end processors from different vendors to be implemented in the same Diameter node. Application back end processors 106 that host different vendor applications can be deployed behind the same connection front end processor 102 with minimal reconfiguration of connection front end processor 102. For example, one application back end processor 106 may be a home subscriber server (HSS) application from vendor A. When the HSS from vendor A becomes overloaded, additional HSS processing capacity can be added by adding a new HSS application back end processor 106. The new HSS application back end processor 106 may be from the same vendor as the initial HSS application back end processor 106 or from a different vendor. As long as connection front end processor 102 is made aware of the existence and the application type of the new application back end processor 106, the fact that the application back end processor 106 may be from a different vendor than another application back end processor 106 within the same node does not adversely affect the functionality of workload balancer 100.
Another advantage of the subject matter described herein is leniency in redundancy requirements. Because load is automatically adjusted around routing and application back end processors 104 and 106, redundancy among such nodes is less important because failure of a back end processor is less individually important than failure of a front end processor. For example, if a back end processor fails, the remaining back end processors automatically take over the load of the failed back end processor. In contrast, in an architecture with connection, routing, and application processing all occurring on a single server, the failure of a server means the loss of connections as well as the loss of routing and application processing capacity.
As illustrated in
Another advantage of the subject matter described herein is increased tolerance to traffic overload imbalance. For example, a connection front end processor 102 can avoid transient traffic spikes by continually balancing the message traffic during such spikes among back end processors 104 and 106. Even if connection front end processor 102 receives an imbalance in Diameter traffic over a period of time, the imbalance in traffic will have minimal effect on connection front end 102 because the only function performed by connection front end processor 102 is to forward the traffic to the appropriate routing or application back end processor 104 or 106. Further, due to the aggregation of connections at the front end, only a traffic spike from a large number of sources simultaneously can cause the connection front end to be overloaded. Such a scenario is believed to be unlikely.
Another advantage of the subject matter described herein is better utilization of processing resources. Because connection front end processors 102 and routing and application back end processors 104 and 106 each perform a specialized function, function-specific threading model can be implemented in each processor, resulting in reduced context switching as well as better cache locality.
Yet another advantage of the subject matter described herein is increased fault tolerance among back end processing resources. For example, if one or more routing or application back end processors fail, the associated connection front end processor 102 may automatically redistribute the processing load of the failed processor among the remaining routing or application back end processors. This scenario is illustrated in
When one of routing back end processors 104 fails, connection front end processor 102 rebalances the load among existing routing back end processors 104 such that the remaining or existing routing back end processors 104 each receive a Diameter traffic volume equal to X/2, as indicated by
In step 502, messages received over the Diameter connections are load shared among Diameter routing and application back end processors. For example, connection front end processors 102 may use a round robin or other load sharing algorithm that load shares message traffic received over existing Diameter connections to routing back end processors 104 and application back end processors 106.
In step 504, the load sharing is dynamically and automatically adjusted in response to back end resource utilization changes. As stated above, connection front end processors 102 may monitor the processing capacities of routing and application back end processors 104 and 106 and adaptively adjust the Diameter message load on the processors in real time at run time to equally balance the utilization or to meet a desired utilization goal. In addition, as described above, if new back end resources are added or if a back end processor fails, the load may be redistributed among the newly added or remaining back end processors.
As described above, a workload balancer as described herein increases the efficiency and reliability in processing and routing Diameter messages received over long-lived connections by decoupling connection processing from routing and application processing. In addition, such a decoupled architecture facilitates virtualization of Diameter routing and back end processing resources, and virtualization provides numerous advantages, including elasticity in resource allocation, the ability to dedicate resources, the ability to provide a network-function-as-a-service, etc.
It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter.
Number | Name | Date | Kind |
---|---|---|---|
5278890 | Beeson et al. | Jan 1994 | A |
5926482 | Christie et al. | Jul 1999 | A |
6029191 | Kurashima | Feb 2000 | A |
6108409 | Cooper et al. | Aug 2000 | A |
6157621 | Brown et al. | Dec 2000 | A |
2132280 | Rekieta et al. | Aug 2001 | A1 |
6327472 | Westroos et al. | Dec 2001 | B1 |
6515985 | Shmulevich et al. | Feb 2003 | B2 |
6628672 | Cabello | Sep 2003 | B1 |
6647113 | McCann et al. | Nov 2003 | B2 |
6662017 | McCann et al. | Dec 2003 | B2 |
6678369 | DeMent et al. | Jan 2004 | B2 |
6760343 | Krishnamurthy et al. | Jul 2004 | B1 |
6785378 | Mar | Aug 2004 | B2 |
6788774 | Caldwell et al. | Sep 2004 | B1 |
6826198 | Turina et al. | Nov 2004 | B2 |
6901262 | Allison et al. | May 2005 | B2 |
6944184 | Miller et al. | Sep 2005 | B1 |
6965567 | Ramos et al. | Nov 2005 | B2 |
7023794 | Khan et al. | Apr 2006 | B2 |
7043003 | Friedl | May 2006 | B1 |
7050562 | Allison et al. | May 2006 | B2 |
7068773 | McCann et al. | Jun 2006 | B2 |
7079499 | Akhtar et al. | Jul 2006 | B1 |
7092388 | Jarlstedt | Aug 2006 | B2 |
7092505 | Allison et al. | Aug 2006 | B2 |
7127057 | Delaney et al. | Oct 2006 | B2 |
7136477 | Craig et al. | Nov 2006 | B2 |
7197036 | Craig | Mar 2007 | B2 |
7222192 | Allison et al. | May 2007 | B2 |
7257215 | Angermayr et al. | Aug 2007 | B2 |
7260086 | Delaney et al. | Aug 2007 | B2 |
7286524 | Loftus | Oct 2007 | B1 |
7298725 | Rune | Nov 2007 | B2 |
7372953 | Delaney et al. | May 2008 | B2 |
7403492 | Zeng et al. | Jul 2008 | B2 |
7440472 | Delaney et al. | Oct 2008 | B2 |
7522580 | Miller et al. | Apr 2009 | B2 |
7532647 | Eichler et al. | May 2009 | B2 |
7554974 | Palmer et al. | Jun 2009 | B2 |
7564870 | Miller et al. | Jul 2009 | B2 |
7590732 | Rune | Sep 2009 | B2 |
7633969 | Caugherty et al. | Dec 2009 | B2 |
7760706 | Delaney et al. | Jul 2010 | B2 |
7898957 | Lea et al. | Mar 2011 | B2 |
8201219 | Jones | Jun 2012 | B2 |
8369313 | Lu et al. | Feb 2013 | B2 |
8423678 | Darbyshire et al. | Apr 2013 | B2 |
8468267 | Yigang et al. | Jun 2013 | B2 |
8478828 | Craig et al. | Jul 2013 | B2 |
8483233 | Craig et al. | Jul 2013 | B2 |
8504630 | Craig et al. | Aug 2013 | B2 |
8578050 | Craig | Nov 2013 | B2 |
8799391 | Craig et al. | Aug 2014 | B2 |
8817627 | Delaney et al. | Aug 2014 | B2 |
8879431 | Ridel et al. | Nov 2014 | B2 |
8958306 | McCann | Feb 2015 | B2 |
9088478 | Craig | Jul 2015 | B2 |
20010029182 | McCann et al. | Oct 2001 | A1 |
20010055380 | Benedyk et al. | Dec 2001 | A1 |
20020116522 | Zelig | Aug 2002 | A1 |
20020141346 | Garcia-Luna-Aceves et al. | Oct 2002 | A1 |
20020176430 | Sangha et al. | Nov 2002 | A1 |
20020186702 | Ramos et al. | Dec 2002 | A1 |
20030061234 | Ali et al. | Mar 2003 | A1 |
20030108067 | Craig et al. | Jun 2003 | A1 |
20030115358 | Yun | Jun 2003 | A1 |
20030169779 | Craig | Sep 2003 | A1 |
20040037278 | Wong et al. | Feb 2004 | A1 |
20040081206 | Allison et al. | Apr 2004 | A1 |
20040203849 | Allison et al. | Oct 2004 | A1 |
20040240658 | Delaney et al. | Dec 2004 | A1 |
20040264675 | Delaney et al. | Dec 2004 | A1 |
20050013290 | Allison et al. | Jan 2005 | A1 |
20050047401 | Garnero et al. | Mar 2005 | A1 |
20050111442 | Delaney et al. | May 2005 | A1 |
20050120095 | Aman et al. | Jun 2005 | A1 |
20050232407 | Craig et al. | Oct 2005 | A1 |
20050235065 | Le et al. | Oct 2005 | A1 |
20060013264 | Eichler et al. | Jan 2006 | A1 |
20060067503 | Caugherty et al. | Mar 2006 | A1 |
20060101159 | Yeh et al. | May 2006 | A1 |
20070180113 | Van Bemmel | Aug 2007 | A1 |
20080013446 | Xu et al. | Jan 2008 | A1 |
20080043614 | Soliman | Feb 2008 | A1 |
20080127232 | Langen | May 2008 | A1 |
20090083861 | Jones | Mar 2009 | A1 |
20100299451 | Yigang et al. | Nov 2010 | A1 |
20110116382 | McCann et al. | May 2011 | A1 |
20110199906 | Kanode et al. | Aug 2011 | A1 |
20110200053 | Kanode et al. | Aug 2011 | A1 |
20110200054 | Craig et al. | Aug 2011 | A1 |
20110202604 | Craig et al. | Aug 2011 | A1 |
20110202612 | Craig et al. | Aug 2011 | A1 |
20110202613 | Craig et al. | Aug 2011 | A1 |
20110202614 | Graig et al. | Aug 2011 | A1 |
20110202676 | Craig et al. | Aug 2011 | A1 |
20110202677 | Craig et al. | Aug 2011 | A1 |
20110202684 | Craig et al. | Aug 2011 | A1 |
20110314178 | Kanode et al. | Dec 2011 | A1 |
20130094362 | Qiu et al. | Apr 2013 | A1 |
20130322430 | Mann | Dec 2013 | A1 |
20130329740 | Wallace et al. | Dec 2013 | A1 |
20130346549 | Craig et al. | Dec 2013 | A1 |
20140237111 | McMurry et al. | Aug 2014 | A1 |
20140304415 | Prakash | Oct 2014 | A1 |
20160191631 | Haraszti | Jun 2016 | A1 |
20170034048 | Karandikar et al. | Feb 2017 | A1 |
Number | Date | Country |
---|---|---|
1777143 | May 2006 | CN |
101136943 | Mar 2008 | CN |
101150512 | Mar 2008 | CN |
101588606 | Nov 2009 | CN |
201180018814.2 | Feb 2011 | CN |
201180013681.X | Jun 2015 | CN |
102893556 | Aug 2016 | CN |
1 134 939 | Sep 2001 | EP |
2 534 790 | Apr 2016 | EP |
H0537596 | Feb 1993 | JP |
WO 0060812 | Oct 2000 | WO |
WO 2005052743 | Jun 2005 | WO |
WO 2006036500 | Apr 2006 | WO |
WO 2008105976 | Sep 2008 | WO |
WO 2009070179 | Jun 2009 | WO |
WO 2009128837 | Oct 2009 | WO |
WO 2011100587 | Aug 2011 | WO |
WO 2011100594 | Aug 2011 | WO |
WO 2011100603 | Aug 2011 | WO |
Entry |
---|
Fajardo et al., “Diameter Base Protocol,” IETF RFC 6733, pp. 1-152 (Oct. 2012). |
“Traffix Diameter Load Balancer; Scaling the Diameter Control Plane,” Traffix Systems, pp. 1-4 (Publication Date Unknown) (Downloaded from the Internet on Feb. 8, 2010). |
Letter regarding Certificate of Patent for Israeli Patent Application No. 221424 (Jul. 1, 2016). |
Letter regarding Decision to Grant for Chinese Application No. ZL201180013555.4 (Apr. 21, 2016). |
Letter regarding Decision to Grant for European Application No. 11742901.9 (Apr. 1, 2016). |
Letter regarding Notification to Grant for Chinese Patent Application No. ZL201180013814.2 (Jul. 20, 2015). |
Extended European Search Report for European Application No. 11742906.8 (Jun. 26, 2015). |
Letter regarding Decision to Grant for Chinese Patent Application No. ZL201180013681.X (Apr. 13, 2015). |
Second Office Action for Chinese Patent Application No. 201180013555.4 (Mar. 20, 2015). |
Letter regarding Notice Before Examination for Israel Patent Application No. 221424 (Jan. 11, 2015). |
First Office Action for Chinese Patent Application No. 201180018814.2 (Oct. 30, 2014). |
First Office Action for Chinese Application No. 201180013681.X (Aug. 18, 2014). |
First Office Action for Chinese Patent Application No. 201180013555.4 (Jul. 3, 2014). |
Notice of Allowance for U.S. Appl. No. 12/797,197 dated May 21, 2014. |
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 13/932,608 (Apr. 9, 2014). |
Final Office Action for U.S. Appl. No. 12/797,197 dated Jan. 27, 2014. |
“Diameter Interface Support,” Chapter 2, Cisco Service Control Mobile Solution Guide, http://www.cisco.com/c/en/us/td/docs/cable/serv—exch/serv—control/broadband—app/rel41x/mobile—sol/mobile—sol/02—mobile—diameter.pdf, pp. 2-1-2-8 (Dec. 23, 2013). |
Extended European Search Report for European Application No. 11742894.6 (Dec. 3, 2013). |
“IP Front End (IPFE) User Guide,” Eagle® XG Diameter Signaling Router, 910-6826-001 Revision A, pp. 1-29 (Nov. 2013). |
Non-Final Office Action for U.S. Appl. No. 12/797,197 dated Jul. 3, 2013. |
Commonly-Assigned, Co-Pending U.S. Appl. No. 13/932,608 titled “Methods, Systems, and Computer Readable Media for Inter-Diameter-Message Processor Routing,” (unpublished, filed Jul. 1, 2013). |
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 13/026,075 (Jun. 27, 2013). |
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 13/026,031 (May 30, 2013). |
Supplemental Notice of Allowability for U.S. Appl. No. 13/026,031 (Mar. 22, 2013). |
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 13/025,968 (Feb. 27, 2013). |
Final Office Action for U.S. Appl. No. 12/797,197 dated Feb. 11, 2013. |
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 13/026,031 (Jan. 30, 2013). |
Final Official Action for U.S. Appl. No. 13/026,076 (Dec. 7, 2012). |
Communication of European Publication Number and Information on the Application of Article 67(3) EPC for European Patent Application No. 11742906.8 (Nov. 21, 2012). |
Communication of European Publication Number and Information on the Application of Article 67(3) EPC for European Patent Application No. 11742901.9 (Nov. 21, 2012). |
Communication of European Publication Number and Information on the Application of Article 67(3) EPC for European Patent Application No. 11742894.6 (Nov. 21, 2012). |
Non-Final Office Action for U.S. Appl. No. 12/797,197 dated Jul. 9, 2012. |
Non-Final Official Action for U.S. Appl. No. 13/026,076 (Jun. 4, 2012). |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2011/024614 (Oct. 31, 2011). |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2011/024601 (Oct. 20, 2011). |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2011/024588 (Oct. 20, 2011). |
Communication pursuant to Article 94(3) EPC for European Application No. 04 811 530.7 (Feb. 11, 2011). |
Notice of Allowance for U.S. Appl. No. 10/993,738 dated Jun. 25, 2010. |
Commonly-assigned, co-pending U.S. Appl. No. 12/797,197 for “Methods and Systems for Message Transfer Part (MTP) Load Sharing Using MTP Load Sharing Groups”, (Unpublished, filed Jun. 9. 2010). |
Notice of Allowance for U.S. Appl. No. 10/993,738 dated Mar. 5, 2010. |
“Traffix Diameter Gateway; Instant Diameter Connection to any Network Element,” Traffix Systems, pp. 1-4 (Publication Date Unknown) (Downloaded from the Internet on Feb. 8, 2010). |
“Next Generation Networks Load Balancing—The Key to NGN Control, Management, and Growth,” Whitepaper by Traffix Systems, pp. 1-7 (Publication Date Unknown) (Downloaded from the Internet on Feb. 8, 2010). |
“Universal Mobile Telecommunications Systems (UMTS): LTE: InterWorking Function (IWF) Between MAP Based and Diameter Based interfaces (3GPP TS 29.305 Version 9.0.0 Release 9),” ETSI TS 129 305 V9.0.0 (Jan. 2010). |
“Digital Cellular Telecommunications System (Phase 2+); Universal Mobile Telecommunications System (UMTS); LTE; IP Multimedia (IM) Subsystem Cx and Dx Interfaces; Signalling Flows and Message Contents (3GPP TS 29.228 Version 8.7.0 Release 8),” ETSI TS 129 228 v8.7.0 (Jan. 2010). |
Jones et al., “Diameter Extended NAPTR,” Individual Submission Internet-Draft, draft-ietf-dime-extended-naptr-00, pp. 1-9 (Dec. 29, 2009). |
3GPP, “3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Diameter-based Protocols Usage and Recommendations in 3GPP (Release 9),” 3GPP TR 29.909 V9.0.0 (Dec. 2009). |
Jiao et al., “The Diameter Capabilities Update Application,” Network Working Group Internet-Draft draft-ietf-dime-capabilities-update-01, pp. 1-8 (Dec. 1, 2009). |
Supplemental Notice to Allowability for U.S. Appl. No. 11/147,144 (Nov. 17, 2009). |
Tsou et al. “Realm-Based Redirection in Diameter,” Internet Engineering Task Force, draft-ietf-dime-realm-based-redirect-02, pp. 1-7 (Oct. 27, 2009). |
Huang et al., “The Diameter Precongestion Notification (PCN) Data Collection Applications,” Network Working Group Internet-Draft <draft-huang-dime-pcn-collection-02>, pp. 1-19 (Oct. 26, 2009). |
Carlberg et al., “Diameter Priority Attribute Value Pairs,” Diameter Maintenance and Extensions (DIME) Internet-Draft <draft-carlberg-dime-priority-avps-00.txt>, pp. 1-6 (Oct. 19, 2009). |
Korhonen et al., “Diameter User-Name and Realm Based Request Routing Clarifications,” Diameter Maintenance and Extensions (DIME) Internet-Draft, draft-ietf-dime-nai-routing-04.txt, pp. 1-13 (Oct. 6, 2009). |
Fajardo et al., “Diameter Base Protocol,” DIME Internet-Draft, draft-ietf-dime-rfc3538bis-19.txt, pp. 1-160 (Sep. 2, 2009). |
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 11/147,144 (Aug. 17 , 2009). |
Tsou et al., “Session-Spectific Explicit Diameter Request Routing,” Network Working Group Internet-Draft, draft-tsou-diameter-explicit-routing-03, pp. 1-18 (Aug. 5. 2009). |
Non-Final Office Action for U.S. Appl. No. 10/993,733 dated Jul. 16, 2009. |
Official Action for U.S. Appl. No. 11/147,144 (Jul. 7, 2009). |
Bhardwaj, “Roaming Hubbing & LTE,” GSMA London, pp. 1-11 (May 19, 2009). |
Matija{hacek over (s)}ević et al., “Mechanisms for Diameter service performance enhancement,” http://www.mrtc.mdh.se/qimpress/files/SoftCOM—DMatijasevic.pdf, pp. 1-5 (2009). |
Non-Final Office Action for U.S. Appl. No. 10/993,733 dated Nov. 13, 2008. |
Official Action for U.S. Appl. No. 11/147,144 (Nov. 13, 2008). |
Tsou et al., “Diameter Routing Extensions,” draft-tsou-dime-base-routing-ext-04, Internet-Draft, pp. 1-28 (Jul. 29, 2008). |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US05/32070 (Jul. 11, 2008). |
Supplementary European Search Report for European Patent Application No. 04811530.7-1249 (Apr. 15, 2008). |
Non-Final Office Action for U.S. Appl. No. 10/993,738 dated Feb. 5, 2008. |
Notification of European publication number and information on the application of Article 67(3) EPC for European Application No. 04811530.7 (Aug. 9, 2006). |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2004/38827 (Jul. 11, 2006). |
Liu et al., “Introduction to Diameter,” Developer Works http://www.ibm.com/developerworks/library/wi-diameter/index.html (Downloaded from the Internet on Aug. 2, 2011), pp. 1-9 (Jan. 24, 2006). |
Eronen et al., “Diameter Extensible Authentication Protocol (EAP) Application,” Network Working Group, RFC 4072, pp. 1-31 (Aug. 2005). |
Calhoun et al., “Diameter Base Protocol,” Network Working Group, RFC 3588, pp. 1-148 (Sep. 2003). |
Sidebottom et al., “Signaling System 7 (SS7) Message Transfer Part 3 (MTP3)—User Adaptation Layer (M3UA),” RFC 3332, pp. 1-113 (Sep. 2002). |
Stewart et al., “Stream Control Transmission Protocol,” Network Working Group RFC 2960, pp. 1-134 (Oct. 2000). |
Greene et al., “Bi-Directional Session Setup Extension to Diameter,” Internet Draft <draft-greene-diameter-ss7-session-00.txt>, pbs. 1-12 (Jul. 1998). |
Jabbari, “Routing and Congestion Control in Common Channel Signaling System No. 7”, Proceedings of the IEEE, vol. 80, No. 4, pp. 607-617 (Apr. 1992). |
Number | Date | Country | |
---|---|---|---|
20160212052 A1 | Jul 2016 | US |