Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which:
The subject matter described herein includes methods for individually identifying and disabling circular routes from a plurality of active routes to a common destination.
An exemplary method for maintaining and using multiple active routes to a common destination and for setting congestion levels on the active routes is described in a commonly assigned, co-pending U.S. patent application entitled, “Methods, Systems, and Computer Program Products for Setting Congestion Levels for Plurality of Routes to a Common Destination,” filed on Apr. 28, 2006 (serial no. not yet assigned), the disclosure of which is incorporated herein by reference in its entirety. Briefly, this application discloses a method where congestion levels are set for a primary route and multiple exception routes to a destination. The primary route and the exception routes are keyed by different parameters or routing keys. The routes may be selected in a predetermined hierarchy such that the route to a destination is selected to be the highest-level route in the hierarchy that matches the routing parameters in a message. Such routes may be used by embodiments of the subject matter described herein to selectively route messages over one of a plurality of routes to a destination based on multi- or single-parameter routing keys in each message.
Returning to
In the illustrated example, each node is assigned a point code indicated by the numbers inside each node. For example, SSP 200 is assigned a point code of 1-1-1, SSP 202 is assigned a point code 1-1-2, STP 204 is assigned a point code of 1-1-3, STP 206 is assigned a point code of 1-1-4, SCP 212 is assigned a point code of 1-1-7, and SCP 214 is assigned a point code of 1-1-8. Each line that joins the nodes in
In the illustrated example, a route table 216 that may be maintained by STP 204 is shown. In a first example, a routing table 218A may be maintained by STP 208. Another routing table 218B that may be maintained by STP 208 will be described in a second example below to illustrate functionality of the subject matter described herein. In the first example, route table 216 includes multiple routes to the destination 1-1-7, which corresponds to SCP 212. Each route is keyed by a different combination of routing keys. For example, the first route to the destination is keyed by OPC=1-1-1 and DPC=1-1-7. This route corresponds to linkset LSA. The second route to the destination is keyed by OPC=1-1-2 and DPC=1-1-7. This route corresponds to linkset LSB. The third route to the destination corresponds to SI=3 and DPC=1-1-7. This route corresponds to linkset LSC. Accordingly, depending on the OPC, the DPC, and the SI, different active routes to the destination 1-1-7 may be selected.
In the first example where STP 208 includes route table 218A, it can be seen that the route table contains a circular entry. That is, if a message from STP 204 with DPC 1-1-7 arrives at STP 208, the message will be routed over linkset LSA, which will send the message back to STP 204. The message will be circularly routed between STP 204 and 208 without ever reaching destination SCP 212. If multiple such messages are transmitted, the transmit queues associated with links in linkset LSA will indicate congestion. However, rather than disabling all of the routes to DPC 1-1-7 in route table 216, the subject matter described herein includes individually testing at least one route to the destination, determining whether circularity is present, disabling routes identified as circular, and continuing the remaining active routes to the destination.
In a second example, it is assumed that both STP 204 and 208 include multiple active routes to 1-1-7. However, one of the routes to the destination maintained by STP 208 is a circular route. The circular route is illustrated by the last entry in route table 218B where the routing keys SI=3 and DPC=1-1-7 corresponds to linkset LSA. Using conventional methods, if STP 204 identifies congestion on any links associated with linkset LSA, STP 204 may initiate circular route testing using the DPC 1-1-7. However, since the circular route is only triggered if the message includes SI=3, circularity may not be detected if the circular route test message does not include SI=3. Accordingly, as will be described in more detail below, STP 204 may formulate a circular route test message that mimics at least the routing keys of traffic in the transmit queue associated with the link under congestion. In one implementation, the circular route test message may mimic the routing keys and any additional parameters in signaling message traffic in a transmit queue corresponding to the link being tested.
In step 306, a CRT message is generated with the destination point code plus at least one additional parameter from the message in the transmit queue. As stated above, the parameters that may be included in the CRT message may correspond to the routing keys of the route over which the message would be routed. Using the example above, the CRT message would have at least DPC=1-1-7 and OPC=1-1-1. In order to further increase the likelihood that an individual circular route will be identified, additional parameters from the message in the transmit queue, such as SCCP parameters, TCAP parameters, MAP parameters, or ISUP parameters, may be included in the CRT message. In step 308, the CRT message is routed. Routing the message may include performing a lookup in the route table on the interface module or card that originates the CRT message and routing the CRT message over the appropriate outbound signaling link. A timer may be started when the message is routed.
If the circular route test message is an ISUP message, the message may have a reserved message type parameter and a payload identifying the message as a circular route test message. If the circular route test message is a network management message, the circular route test message may have a reserved h0h1 value and a payload identifying the message as a circular route test message. If the message is an SCCP message, the message may have a reserved message type and a payload identifying the message as a circular route test message.
In step 310, it is determined whether a CRT message is received before the timer expires. Since the sender of the CRT message may include multiple interface modules, step 310 may be performed by informing each of the interface modules of the circular route testing being performed so that any of the signaling link interface modules that receive the CRT message will inform the sending module. If the CRT message is received before the timer expires, control proceeds to step 312 where the route is identified as circular.
Returning to step 304, if the route identified from the message parameters has already been tested, i.e., because another message with identical parameters has been tested within a predetermined time interval, control proceeds to step 314 where it is determined whether the message is the last message in the transmit queue associated with the congested link. Similarly, in step 312, once testing of the first message is completed, control proceeds to step 314 where it is determined whether that message is the last message in the transmit queue. In either case, if the message is not the last message in the transmit queue, control proceeds to step 316 where the next message is identified. Steps 300-314 are then repeated to test the next message and determine whether the route that it followed is circular. In step 314, if the current message being tested is the last message, circular route testing ends.
Although in the example illustrated in
For messages that require routing, discrimination function 414 forwards these messages to route manager 418. Route manager 418 performs a lookup in route database 218 based on the DPC and any additional routing keys in the message that are present in route database 218. Route database 218 may maintain a plurality of active routes to a common destination as illustrated in
Although in the example illustrated in
Communications module 404 comprises a data communications module (DCM) for sending and receiving SS7 signaling messages over IP signaling links. In the illustrated example, DCM 404 includes a physical and data link layer function 422, a network layer function 424, a transport layer function 426, annotation layer function 428, and functions 414, 416, and 418 as well as database 218 described with regard to limbs 400 and 402. Physical and data link layer function 420 may perform open systems interconnect (OSI) physical data link layer operations, such as transmitting signals over the underlying communication medium and performing medium access control. An example of a physical and data link layer function suitable for the subject matter described herein includes an Ethernet function. Network layer function 414 performs OSI network layer functions for sending and receiving messages over a network. In one example, network layer function 424 may implement Internet protocol (IP). Transport layer function 426 performs OSI transport layer functions, such as maintaining connections between endpoints. Examples of transport layer protocols that may be implemented by transport layer function 426 include TCP, UDP, and SCTP. Adaptation layer function 428 performs operations for sending and receiving SS7 messages over IP signaling links. Exemplary adaptation layer functions suitable for use with the subject matter described herein include any of the signaling transport (SIGTRAN) protocols, as described in Internet Engineering Task Force (IETF) requests for comments (RFCs) and internet drafts. Examples of specific SIGTRAN protocols that may be implemented include M2PA, M3UA, and SUA, as described in the correspondingly named IETF Internet drafts and RFCs.
Functions 414, 416, and 418 perform similar operations to their counterparts described above with regard to LIMs 400 and 402. Hence, a description thereof will not be repeated herein. Similarly, route database 218 may include multiple routes to a destination that are keyed by different combinations of routing keys.
Module 406 comprises a database services module (DSM) for providing database services for received signaling messages. In the illustrated example, DSM 406 includes a service selection function 432, a global title translation (GTT) function 434, a GTT database 436, route database 218, and route manager 418. Service selection function 432 receives signaling messages identified as requiring internal processing and selects appropriate processing service. GTT function 434 performs GTT lookups in GTT database 436. Performing a GTT lookup may include a performing a lookup based on a called party address parameter in the SCCP portion of a received signaling message. The result of the GTT lookup may be a point code and a subsystem number corresponding to an intermediate or final destination. This information may be inserted in a signaling message. The signaling message may be passed to route manager 418 where the message is routed to the LIM or DCM associated with the outbound signaling link using data obtained from route database 218.
In operation, when one of route managers 418 detects congestion on a signaling link, the route manager may initiate the circular route testing procedures described above with respect to
If a route manager other than the initiating route manager receives from the network a circular route test message, the route manager may detect that the route is circular and may inform the route managers of the remaining link interface modules of STP 204 so that they can disable the corresponding routes in their respective route databases. Once a route is determined to be circular, that route is preferably disabled in all of routing databases 218. Thus, the steps described above may be implemented using a system, such as the STP illustrated in
The subject matter described herein for individually testing routes to a common destination for circularity may be performed based on any type of signaling message that uses SS7 message transfer part (MTP) routing to reach a common destination, regardless of the underlying transport medium for the signaling messages. For example, the subject matter described herein may be used to test routes for SS7 signaling messages transmitted over TDM-based signaling links using MTP levels 1 through 3 and SS7 over ATM-based signaling links. In addition, the subject matter described herein may be used to test routes for SS7 signaling messages that are sent over Internet protocol networks using any of the adaptation, transport, and network layers described above.
The subject matter described herein may also be used to test circular routes on any network domain type. The domain type of a network refers to the national network SS7 protocol variation used. Examples of different domain type include American National Standards Institute (ANSI), International Telecommunications Union International (ITU-I), or any national variation of the ITU protocol. For example, the circular route test procedures described herein may be used to test routes for messages that arrive from ANSI domains that are destined for ITU domains and vice versa.
It will be understood that various details of the invention may be changed without departing from the scope of the invention. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/812,375, filed Jun. 9, 2006; the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60812375 | Jun 2006 | US |