Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2011100615) METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR PERFORMING DIAMETER ANSWER MESSAGE-BASED NETWORK MANAGEMENT AT A DIAMETER SIGNALING ROUTER (DSR)
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

DESCRIPTION

METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR PERFORMING DIAMETER ANSWER MESSAGE-BASED NETWORK MANAGEMENT AT A DIAMETER SIGNALING ROUTER (DSR)

PRIORITY CLAIM

This application claims the benefit of U.S. Provisional Patent Application Serial No. 61/304,310 filed February 12, 2010; the disclosure of which is incorporated herein by reference in its entirety.

STATEMENT OF INCORPORATION BY REFERENCE

The disclosures of each of the following commonly-owned, copending U.S. Patent Applications filed on February 11 , 2011 are hereby incorporated herein by reference in their entireties:

"Methods, Systems, And Computer Readable Media for Inter- Diameter-Message Processor Routing," Attorney Docket No. 1322/399/2 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media For Source Peer Capacity-Based Diameter Load Sharing" Attorney Docket No. 1322/399/3 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media for Inter-Message Processor Status Sharing," Attorney Docket No. 1322/399/4 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media for Providing Priority Routing at a Diameter Node," Attorney Docket No. 1322/399/5 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media for Providing Peer Routing at a Diameter Node," Attorney Docket No. 1322/399/6/2 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media for Providing

Origin Routing at a Diameter Node," Attorney Docket No. 1322/399/7 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media for Providing Local Application Routing at a Diameter Node," Attorney Docket No. 1322/399/8 (Serial No. not yet assigned);

"Methods, Systems, And_Computer_Readable_MediaJFor_Answer-Based Routing of Diameter Request Messages," Attorney Docket No. 1322/399/9 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media for Multi-Interface Monitoring and Correlation of Diameter Signaling Information," Attorney Docket No. 1322/399/11 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media for Diameter

Protocol Harmonization," Attorney Docket No. 1322/399/12 (Serial No. not yet assigned);

"Methods, Systems, And Computer Readable Media for Diameter Network Management," Attorney Docket No. 1322/399/13 (Serial No. not yet assigned); and

"Methods, Systems, And Computer Readable Media for Diameter Application Loop Prevention," Attorney Docket No. 1322/399/14 (Serial No. not yet assigned).

TECHNICAL FIELD

The subject matter described herein relates to processing of Diameter answer messages. More specifically, the subject matter relates to methods, systems, and computer readable media for performing Diameter answer message-based network management at a Diameter message routing agent, such as a Diameter signaling router (DSR) node.

BACKGROUND

Diameter is an authentication, authorization and accounting (AAA) protocol for computer networks, and is a successor to RADIUS. The Diameter base protocol is defined in IETF RFC 3588, the disclosure of which is incorporated herein by reference herein in its entirety. Diameter communications may use a request-answer message exchange. Conventional Diameter answer message processing, including conventional relaying and proxying of answer messages, may be performed by a Diameter message routing agent. The base Diameter specification requires that answer message responses be routed over the same network path as the corresponding request message was forwarded. When a Diameter agent receives an answer message, it must route the message to the peer from which it received the corresponding request message. In order to ensure that each answer message is returned along the same path as its corresponding request message, the Diameter routing agent may maintain routing state information for each pending Diameter transaction (i.e., a Diameter request awaiting an answer).

As such, a Diameter routing agent is typically deployed in such a manner so as to permit the Diameter routing agent to see both the request and answer message portions of a Diameter transaction. However, the processing of answer messages is limited to their specific transactions, even though the answer messages may contain information that is usable for network management purposes. Accordingly, in light of these difficulties, a need exists for improved methods, systems, and computer readable media for improved network management in Diameter networks.

SUMMARY

Methods, systems, and computer readable media for performing Diameter answer message-based network management at a DSR are disclosed. According to one method, a Diameter answer message that includes error indicator information is received from a first Diameter node at a DSR. The error indicator information included in the Diameter answer message is examined, at the DSR, and the error indicator information is used to update status information for routes maintained by the DSR to the first Diameter node.

A system for performing Diameter answer message-based network management is also disclosed. The system includes a Diameter signaling router (DSR). The DSR includes a Diameter message processor for receiving a Diameter answer message that includes error indicator information from a first Diameter node. A network management (NM)

module examines the error indicator information contained in the Diameter answer message and uses the error indicator information to update status information for routes maintained by the DSR to the first Diameter node.

According to another aspect, a method for providing network management is disclosed. The method includes establishing a lost answer message timer signifying a time period, after which, if an answer message responsive to a Diameter request message has not been received, it is determined that the answer message is lost. In response to determining that an answer message is lost, network management information maintained at the DSR may be updated and potentially distributed to other interested Diameter peer nodes. Additionally, resources may be deallocated by the DSR, which may include removing one or more pending transaction records maintained by the DSR.

According to another aspect, a system for unsolicited network management communication is disclosed. The system includes a DSR. The DSR includes a network management module for establishing a lost answer message timer signifying a time period, after which, if an answer message responsive to a Diameter request has not been received, it is determined that the answer message is lost and for updating Diameter network management information associated with a Diameter request message in response to determining that no Diameter answer message related to a Diameter request message was detected prior to expiration of the lost answer message timer. The system further includes a Diameter message processor for communicating Diameter network management information associated with a Diameter request message to one or more Diameter nodes in the network.

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 executable instructions that when executed by the processor of a computer control the processor to perform steps.

Exemplary non-transitory computer readable media suitable for implementing the subject matter described herein include chip memory devices or disk memory devices accessible by a processor, 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 computing platform or may be distributed across plural computing platforms.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter described herein will now be explained with reference to the accompanying drawings of which:

Figure 1A is a block diagram of an exemplary Diameter signaling router for performing Diameter answer message-based network management according to an embodiment of the subject matter described herein;

Figure 1B is a block diagram of a Diameter signaling router having a distributed internal architecture according to an embodiment of the subject matter described herein;

Figure 2 is a flow chart illustrating exemplary steps for updating status information for routes based on error indicator information contained in a Diameter message as part of performing Diameter answer message-based network management at a DSR according to an embodiment of the subject matter described herein;

Figure 3 is a message sequence diagram illustrating an exemplary broadcast scenario as part of performing Diameter answer message-based network management at a DSR according to an embodiment of the subject matter described herein;

Figure 4 is a flow chart illustrating exemplary steps for caching Diameter information and responding on behalf of another Diameter node as part of performing Diameter answer message-based network management at a DSR according to an embodiment of the subject matter described herein;

Figure 5 is a message sequence diagram illustrating an exemplary conditional-on-Response "error" condition proxy scenario as part of performing Diameter answer message-based network management at a DSR according to an embodiment of the subject matter described herein;

Figure 6 is a message sequence diagram illustrating an exemplary conditional-on-absence of Response condition proxy scenario as part of performing Diameter answer message-based network management at a DSR according to an embodiment of the subject matter described herein; and

Figures 7A and 7B are diagrams illustrating an exemplary answer-based internal status sharing scenario as part of performing Diameter answer message-based network management at a DSR according to an embodiment of the subject matter described herein.

DETAILED DESCRIPTION

As mentioned above, a Diameter routing agent is typically deployed in such a manner so as to permit the Diameter routing agent to see both the request and answer message portions of a Diameter transaction. Accordingly, the subject matter described herein includes methods, systems, and computer readable media for exploiting this particular characteristic of Diameter message routing / propagation through a Diameter network in order to obtain and share Diameter network status / network management information among interested Diameter entities in the network.

Figure 1A is a block diagram of an exemplary Diameter relay / signaling routing node for performing Diameter answer message-based network management according to embodiments of the subject matter described herein. Referring to Figure 1A, Diameter signaling router (DSR) 100 may include a Diameter connection layer (DCL), Diameter routing layer (DRL), one or more applications, and one or more routing tables. DSR 100 may perform a variety of Diameter message routing functions and, therefore, may include functionality of a Diameter routing agent, Diameter relay agent, Diameter redirect agent, Diameter proxy agent, and/or Diameter translation agent. Exemplary DRL capabilities may include: routing request messages to peers or local applications based on message content, discarding or rejecting Diameter request messages based on message content rules, peer congestion control, allowing an operator to access only the features and capacities that are purchased, and easier configuration. In addition to message routing, DSR 100 may support a variety of value-add services/applications. In order to support both application processing and core Diameter routing functions, DSR 100 may support two message routing tables: an application routing table (ART) and a peer routing table (PRT). Additionally, the subject matter described herein for performing Diameter answer message-based network management may be designed with the assumption that answer messages and/or request messages will be lost and, therefore, effectively handle lost answer messages in order to avoid wasting memory or other resources to maintain pending transaction records for transactions that are no longer pending.

Diameter message processor 101 may be a printed circuit board including the processor and associated memory for performing Diameter routing and answer based message processing as described herein. As such, Diameter message processor 101 may support a variety of layers and applications by performing these functions. One layer on Diameter message processor 101 is Diameter application layer (DAL) 102.

DAL 102 may include applications 104. Exemplary applications 104 may include, but are not limited to, a Diameter client, Diameter server, translation agent, proxy agent, redirect agent, and a load generator. DAL 102 may also include timer 106 and application data 108. DAL 102 may interface with Diameter message encode/decode library 110 for encoding and decoding Diameter messages.

Common platform services 112 may include buffer services 114, database services 116, measurements events alarms and logs (MEAL) services 118, and high availability (HA) services 120.

Diameter message processor 101 may further include Diameter routing layer (DRL) 124. DRL 124 may be responsible for the following functions. DRL 124 may perform ingress and egress message looping detection and prevention. DRL 124 may route ingress message to one or more local DSR applications based upon user-define rules. DRL 124 may reroute messages upon failures. DRL 124 may perform message routing based upon route priorities and weights. DRL 124 may perform message routing based upon user-defined message content. DRL 124 may perform message routing to peers with multiple transport connections. DRL 124 may manage peer transport connections (TPS). DRL 124 may throttle ingress messages based upon local DSR congestion. DRL 124 may detect and avoid peer congestion. DRL 124 may load balance peer connection load to meet MP TPS constraints.

DRL 124 may include answer-based request routing module 126, event processing module 128, DRL rerouting module 130, answer routing module 132, routing data 134, and DRL timer task 136. Answer-based request routing module 126 may route request messages based on information determined from previously received answer messages. The functionality of routing answer messages based on request messages is described in detail in the above-described commpnly-assigned patent application entitled, "Methods, Systems, and Computer Readable Media for Answer-Based Routing of Diameter Request Messages." Message processor 101 may further include Diameter network management module 137 for updating route data 134 based on information learned from answer messages. The functionality of network management module 137 will be described in further detail below.

DRL 124 may communicate with DAL 102 via message-based APIs. For example, DRL 124 may use application indication and application request APIs to communicate with DAL 102.

Diameter connection layer (DCL) 138 may perform the following functions. DCL 138 may implement Diameter connection state machine 140 for each Diameter peer. DCL 138 may establish transport connections with Diameter peers and process Diameter peer-to-peer messages and related functionality. This may include capabilities exchange request/answer (CER/CEA), Diameter Watchdog request/answer (DWR/DWA), and Disconnect Peer request/answer (DPR/DPA). DCL 138 may interface with the DRL 124 by sending Diameter messages received from peers to DRL

124 using one or more message-based APIs. DCL 138 may send Diameter messages received from DRL 124 to the appropriate peer. DCL 138 may notify DRL of peer transport connection and congestion status changes. DCL 138 may process configuration and maintenance requests from DSR OAM for transport configuration objects. DCL 138 may update MEAL data for transport configuration objects. DCL 138 may perform transport layer capacity control.

DCL 138 may include Diameter message dispatch module 140, DCL listener module 142, DCL timer task 144, and connection data 145.

DCL 138 may also include one or more IP transport tasks. For example, DCL 138 may include IP transport task 146 and 148, where each IP transport task includes a receiving thread and a transmitting thread. For example, IP transport task 146 includes Rx thread 150 and Tx thread 152 and IP transport task 148 includes Rx thread 154 and Tx thread 156. IP transport tasks 146 and 148 may each communicate with SCTP/TCP sockets for interfacing with an operating system. For example, IP transport task 146 may communicate with SCTP/TCP socket 158 and IP transport task 148 may communicate with SCTP TCP socket 160. SCTP/TCP sockets 158 and 160 may be associated with OS 162.

For simplicity, DSR 100 illustrated in Figure 1A includes a single message processor 101. This is one possible configuration of DSR 100, where a single message processor routes all Diameter signaling messages. However, DSR 100 may include full message processors, each configured as message processor 101 illustrated in Figure 1A. Figure 1 B illustrates such an embodiment. In Figure 1B, DSR 100 includes a plurality of message processors 101A-D, each of which sends Diameter signaling messages to and receives Diameter signaling messages from a Diameter network. Message processors 101A-D may be connected through an internal network 162. Although each message processor 101A-D may include all of the components of message processor 101 illustrated in Figure 1A, for simplicity, only network management modules 137 and routing data 134 are illustrated in Figure 1 B. In operation, when a Diameter message arrives at one of message processors 101A-D, the message is routed based on Diameter signaling information and the message from the ingress message processor to the egress message processor, and from the egress message processor to the Diameter network. As will be described in detail below, each Diameter message processor 101A-D may perform the steps described herein for answer-based network management, which may be used to update routing or status information maintained by each message processor.

Figure 2 is a flow chart illustrating exemplary steps for providing network management in a communications network that includes a Diameter relay / signaling routing node according to an embodiment of the subject matter described herein. Referring to Figure 2, in step 200, a Diameter answer message sent by a first Diameter node may be received at a DSR element that maintains Diameter route and route status information for routing Diameter messages to nodes in a Diameter network, where the Diameter answer message includes error indicator information.

In step 202, the error indicator information contained in the Diameter message may be examined. For example, the error indicator information may include error Diameter_TooJ3usy or any other error indicators specified in the Diameter base protocol.

In step 204, the error indicator information may be used to update status information for routes to the first Diameter node. For example, network management module 137 may update routing data 134 based on status information from a received answer message.

Figure 3 is a message flow diagram illustrating an exemplary message sequence for providing network management in a communications network that includes a Diameter routing agent / translation agent / proxy agent / relay agent / redirect agent / signaling routing node according to an embodiment of the subject matter described herein. Referring to Figure 3, DSR 100 and associated answer-based network management module 137 may communicate with Diameter peer node 300, Diameter peer node 302 and Diameter node 304. For example, Diameter peer node 300 may send Diameter request message 306 to DSR 100. DSR 100 may forward Diameter request message 308 to Diameter node 304. In response,

Diameter node 304 may return Diameter response message 310 that includes error indicator information to DSR 100. At step 312, DSR 100 may analyze Diameter answer message 310 and its error indicator information and generate a network management message. DSR 100 may then send Diameter answer message 314 including the error indicator information to Diameter peer node 300 and Diameter network management message 316 to Diameter peer 302. Diameter network management message 316 may, for example, include an error cause code and the identity of the affected Diameter node (e.g., the fully qualified domain name for Diameter node 304).

Figure 4 is a flow chart illustrating exemplary steps for providing answer-based network management according to an embodiment of the subject matter described herein. Referring to Figure 4, in step 400, a first Diameter answer message sent by a first Diameter node is received at a DSR node, where the first Diameter answer message includes error indicator information. For example, DSR 100 may receive an answer message from a Diameter server node.

In step 402, information that identifies the affected Diameter node (or an application subsystem associated with the affected Diameter node) and associated error indicator information is cached based on the first Diameter answer message. For example, DSR 100 may cache information from the answer message that identifies an affected subsystem of the Diameter server.

In step 404, a first Diameter request message sent by a second Diameter node is received at the DSR node, where the first Diameter request message is destined for the first Diameter node. For example, a Diameter client may send a request message to DSR 100, where the request is destined for the Diameter server.

In step 406, a second Diameter answer message is generated on behalf of the first Diameter node, where the second Diameter answer message includes information that is based on at least a portion of the error indicator information. For example, DSR 100 may use the cached information to generate an answer message on behalf of the server.

In step 408, the second Diameter answer message is communicated to the second Diameter node. For example, DSR 100 may send the generated answer to the client that originated the request.

Figure 5 is a message sequence diagram illustrating an exemplary message sequence for providing network management in a communications network that includes a Diameter relay / signaling routing node according to an embodiment of the subject matter described herein. Referring to Figure

5, Diameter peer node 300 may send Diameter request message 500 to DSR 100. DSR 100 may forward Diameter request message 502 to Diameter node 304. In response, Diameter node 304 may return Diameter answer message 504 that includes error indicatorjnformation to DSR 100. At step 506, DSR 100 may analyze Diameter answer message 504 and its error indicator information. DSR 100 may then send Diameter answer message 508 including the error indicator information or information that is based at least in part on the error indicator information to Diameter peer node 300. DSR 100 may also send Diameter request message 510 and Diameter answer message 512 including the error information or information that is based at least in part on the error indicator information to Diameter peer node 302.

Figure 6 is a message sequence diagram illustrating an exemplary message sequence for providing network management in a communications network that includes a Diameter relay / signaling routing node according to an embodiment of the subject matter described herein. Referring to Figure

6, Diameter peer node 300 may send Diameter request message 600 to DSR 100. DSR 100 may route Diameter request message 602 to Diameter node 304. At step 604, DSR 100 may start a timer for awaiting an answer to Diameter request message 602. At step 606, the response timer may expire without receiving a Diameter response message to Diameter request message 602. At step 608, status information associated with Diameter node 304 may be updated. Additionally, at step 608, upon receipt of a next Diameter request message destined for Diameter node 304, DSR 100 may proxy a Diameter response message including error indicator information on behalf of Diameter node 304. DSR 100 may then send Diameter request

message 610 and Diameter response message including the error indicator information to Diameter peer node 302.

In an alternate embodiment, DSR 100 may start a timer when a Diameter request message is routed to or towards a destination and subsequently detect the expiration of this timer. If a Diameter answer message, related to the previously routed Diameter request message, is not detected prior to the expiration of the timer, then DSR 100 may be adapted to update internal route or destination status information associated with the Diameter request message. DSR 100 may further communicate associated Diameter network management / status information associated with the route or destination of the Diameter request message to one or more Diameter nodes in the network. For example, DSR 100 may communicate a network management message to a Diameter node in the network, where the network management message includes information which indicates that the route or destination associated with the Diameter request message is experiencing problems (e.g., congested, unavailable, unreachable, is not responding, etc.). Such unsolicited network management notifications may be made to other Diameter nodes (e.g., Diameter routing agents, Diameter application servers, etc.) that have been either statically or dynamically provisioned. A statically provisioned list / table / database of subscribing and subscribed-to Diameter nodes may be pre-provisioned at DSR 100. A dynamically provisioned list / table / database of subscribing and subscribed-to Diameter nodes may be constructed in real-time at DSR 100 as each "interested" Diameter node signals the router with information identifying those Diameter nodes to which it would like to subscribe to network management information updates. Such network management subscription information may be maintained, for example, at DSR 100 by a process or module associated with DRL 124 or DAL 102.

Answer-Based Internal Status Sharing

Figure 7A and 7B are diagrams illustrating an exemplary answer-based internal status sharing scenario as part of performing Diameter answer message-based network management at a DSR according to an embodiment of the subject matter described herein. Referring to Figure 7A, DSR logical network element 700 may include multiple virtual Diameter relay nodes 702, 704, 706, and 708. Each virtual Diameter relay node 702-708 may be associated with a peer routing table (PRT) and application routing table (ART) 710, 712, 714, and 716, respectively. DSR logical network element 700 may be a DSR, such as DSR 100, where each MP functions as a virtual Diameter relay node. As such, network management information learned by one virtual relay node based on a received answer message may be directed to other relay nodes within NE 700.

ARTs 710-716 may each contain a prioritized list of user-configurable routing rules which define which local applications to invoke, and in which order, based upon message content.

PRTs 710-716 may each contain a prioritized list of user-configurable routing rules which define where to route a message to a peer based upon message content.

Diameter peer node 718 may send Diameter request message 720 to virtual Diameter relay node 702. Virtual Diameter relay node 702 may then direct Diameter request message 722 to egress virtual Diameter relay node 708. Virtual Diameter relay node 708 may then start a response/answer timer and route Diameter request message 726 to Diameter peer node 728.

Referring to Figure 7B, at step 730, the response/answer timer may expire before virtual Diameter relay node 708 receives Diameter response message 732 associated with Diameter request message 726. It is appreciated that Diameter response message 732 may include internal status update information for Diameter peer node 728.

Virtual Diameter relay node 708 may then communicate status update information to some or all virtual Diameter relay nodes in the DSR. For example, virtual Diameter relay node 708 may communicate status updates 734A, 734B, and 734C to virtual Diameter relay nodes 706, 702, and 704, respectively. In response, virtual Diameter relay nodes 706, 702, and 704 may update their respective ARTs and PRTs 714, 710, and 712, respectively, with the status information provided in status updates 734A, 734B, and 734C.

Lost Answer Responses

When answer messages are lost prior to their receipt by DSR 100, the "pending transactions" associated with the lost answer messages should either be aborted (answer response sent to peer) or re-routed. Since DSR 100 cannot directly "detect" a lost answer message, nor can it query the remote status of a forwarded Request message, it may predict with high probability that one has been lost.

One such prediction method may be time-based. If an answer has not been received in "X" seconds, then the answer message may be assumed to most likely be lost. The larger the value of "X", the higher the probability of loss. In one embodiment, a DRL "Lost answer Timer" may be supported and operator-configurable. An exemplary default value for X may be 30 seconds. It may be appreciated that the value of X may also be application dependent. For example, if the "Lost answer Timer" is application specific and DSR 100 supports multiple applications, the value may be per-application specific. It may also be appreciated that when the "Lost answer Timer" expires, DRL 124 may abort the transaction (default) and send an answer Response message. In another embodiment, DRL 124 may re-route the transaction.

Processing Answer Responses From Redirect Agents

It may be appreciated that the process for redirecting a response message may be a DRL-configurable option.

According to one embodiment, the response message may be propagated backwards. This may be a default option.

According to another embodiment, the response message may be rerouted using Redirect-Host AVPs.

Routing Answer Responses to Unavailable/Congested Peers

When DRL 124 receives an answer message and the message cannot be immediately delivered because the transport layer queue for the peer is full or the peer is congested, then DRL 124 has two options: delay delivery of the message within DRL 124 or immediately discard the answer message.

Delaying delivery of the message within DRL 124 may include buffering answer messages for a configurable time-period X1. If the peer's status changes before the timer expires, then the buffered answer messages may be forwarded. If the timer expires and the peer is Available, then an attempt may be made to forward the buffered answer message until the buffer is flushed or another blocking condition occurs (e.g., transport queue full). In order to prevent an answer message from being queued indefinitely, a "maximum answer message queue delay" may be supported (i.e., message aging) where the answer message may be discarded when the above mentioned maximum delay is exceeded. It may be appreciated that if the transport connection is blocked for an inordinate period of time, preventing any answer messages from being sent, the transport layer may be disconnected in order to clear the condition and trigger the peer to re-forward the messages in the pending transaction queue(s).

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.