This invention is generally related to Internet Protocol (“IP”) communications, and more particularly to flow admission control in an IP communications network carrying different traffic types, such as voice, that can require some minimum transmission behavior to meet the traffic performance requirements.
IP telephony has been a focus of research and development in the telecommunications industry for years. One reason the technology has been a focus is because of potential advantages such as converging voice and data networks, simplifying equipment and reducing management requirements, thereby reducing capital expenditures and operating expenditures. However, the deployment of certain services such as IP telephony services has been complicated because the protocol lacks some of the features of protocols specifically developed for support of telephony such as Asynchronous Transfer Mode (“ATM”).
One particular feature that is not a fundamental part of the IP protocol is admission control. It is known to employ a static model of IP network capacity in conjunction with calculated over-provisioning and special quality of service techniques such as per-flow bandwidth reservation or class-of-service per-hop queuing-priority behavior to help avoid a situation where so many IP flows are handled by a network that the IP flows suffers delays or packet loss due to congestion. However, network usage and topology are not static, and over-subscription from high volume can result in degraded service quality and even service failure.
In accordance with the present invention, network resources, topology and usage in an IP network are monitored, and a new flow, such as a voice call, is not admitted if it is determined that the flow would push the usage beyond a predetermined threshold relative to the amount of network bandwidth pre-provisioned for the relevant traffic type. If admittance of the flow would push usage beyond the threshold, the flow is not admitted. If admittance of the flow would not push usage beyond the threshold, the flow is admitted.
The invention advantageously provides flow admission control in an IP network for traffic flows requiring some minimum transmission performance, such as voice, video, gaming, etc. The invention relies on one part on the ability of the IP network elements to provide prioritized and preferential treatment to certain type of IP packets. If the aggregate of these prioritized IP packet flows does not exceed a predetermined percentage of the network capacity, the prioritized packets will be transmitted within a known performance envelope by the network. For example, in a voice over IP (VoIP) telephony implementation, the VoIP traffic can be differentiated from other flows via IP packet inspection, using for example DiffSery packet marking, enabling differentiated prioritization of the VoIP IP flow by the IP network elements. The network topology transited by one VoIP IP flow may be referred as the route or the path. In an IP network, the route used by a VoIP flow can be derived based on the VoIP packet IP destination address and knowledge of the topology and routing protocol policies of the IP network. Further the route can be different between the forward and reverse directions. Further, the amount of bandwidth (both forward and reverse) required for a VoIP call can be determined. Hence, admission control decisions may be made by maintaining a running count of the bandwidth used by active VoIP calls on each of the links between nodes along its route and comparing that number with the pre-provisioned bandwidth limit for each link. Since each link may have different usage at the time of VoIP call setup and a separate predetermined threshold, the determination of whether the call would push usage beyond the threshold is made for each link in the route. In particular, the call is permitted for the route only if a determination is made that the call will not increase usage beyond the threshold on each and every link in the path. This approach to admission control can be extended to multiple service controllers and multiple service types.
The present invention is an improvement over existing techniques because actual usage is employed to provide admission control, rather than employing an engineered estimate of probable usage and no admission control.
Another advantage of the present invention is that network monitoring is dynamic. Routes may change recurrently due to network upgrades, but even more abruptly in the case of link or node failure. Dynamic monitoring recognizes such changes and may account for the potential effects of the failure of links and nodes in the network. For example, alternate routes may be re-calculated for each active call and used to determine the resulting utilization of each associated link in the event of the failure of one or more links. This information can be employed to adjust the call admission threshold.
In order to facilitate a fuller understanding of the present invention, reference is now made to the appended drawings. These drawings should not be construed as limiting the present invention, but are intended to be exemplary only.
The admission control module 10 monitors and maintains data indicating the traffic flow forwarding attributes of the nodes of each type and their respective interconnecting links. In particular, the admission control module monitors which nodes and links of each type are active in the network. For example, the admission control module may utilize a protocol such as Simple Network Management Protocol (“SNMP”) to query nodes for information. Alternatively, the admission control module may monitor messages multicast by nodes such as Link State Updates (“LSUs”) or MPLS label distribution messages to obtain the information. The capacity of the links in the network in terms of available bandwidth, i.e., the amount of bandwidth allocated for traffic type by a control mechanism such as class of service (“CoS”) or quality of service (“QoS”) may be learned or preloaded into the admission control module.
Admission control decisions are made based on network topology, available bandwidth, and the amount of available bandwidth being utilized. In the illustrated embodiment, call admission control is triggered by a call setup procedure which is executed before a call is established through the network. The purpose of the call setup procedure is to determine whether or not to setup the call. The call server 30 manages the call setup procedure in response to standard telephony signals such as ISUP (ISDN user part), ITU H.248 or IETF SIP (Session Invitation Protocol, RFC 3261) received from the gateways GW1,2, 3 or a signaling network such as SS7 (not shown). To determine whether a call can be admitted, the call server 30 identifies the source and destination gateways (GW1,2,3) IP address to the admission control module 10 and the required bandwidth for the call via a signal 34. In response to signaling from the call server, the admission control module performs admission control calculations.
The first admission control calculation is to determine the edge to edge-GW path in terms of transit links based on the network's IP traffic forwarding protocols and policies. For example, the network's nodes may use Open Shortest Path First (“OSPF”) protocol; in which case the admission control module would calculate the paths by utilizing the same Open Shortest Path First (“OSPF”) protocol. There are several techniques to simplify and hence speed up the necessary calculations. For example Classless Inter-Domain Routing (CIDR) may be used to group GWs located in a ‘stub’ network i.e. where the group of GWs is all reachable through a single CIDR IP address.
In an alternate embodiment of the first calculation, all possible paths between GW pairs are initially computed i.e. before the admission control module is put into service, and stored apriori in matrix 36 (
The second admission control calculation performed by the admission control module compares utilization of available bandwidth inclusive of the proposed call with a predetermined threshold. Utilization may be determined by monitoring call set-up and tear down. In other words, a running total of the bandwidth utilized by active calls may be maintained from zero at the time of pre-provisioning or some other time=0, incrementing the total for each admitted call by the amount of bandwidth required for the call type, and decrementing the total for each terminated call by the amount of bandwidth required for the call type. The threshold is predetermined, and may be set based on total available bandwidth as shown in
In another embodiment the threshold is further adjusted to allow some ‘head-room’ for calls that might arrive while the matrix is re-synchronizing due to a dynamic topology change. In response to dynamic changes in network topology and or link capacity from the pre-provisioned amount at time t=0, the admission control module re-computes matrix 36 for all active calls. The first computation is to evaluate the scope of the topology change in terms of urgency and impact on active calls. For example, suppose link L6 had purpose-built protection bandwidth on link L10 and link L2 equivalent to that pre-provisioned for link L6. Now suppose link L6 failed. As a result active calls are quickly redirected with no impact, over the purpose-built protection route. Hence, no call path re-computations are required. If however, it is determined that the topology change will result in active calls transitting link L6, being rerouted by the network nodes; a second calculation is made to determine the new route (i.e. transited links) for active calls. Until the calculations are complete the matrix is considered stale and there exists a possibility of admitting calls over a route with insufficient bandwidth. To mitigate this possibility of running out of bandwidth during this period, ‘head room’ may be added to the admission control bandwidth utilization threshold in accordance with the duration of the stale period and taking into account the rate at which new calls arrive. Further, there exist techniques to speeding up the necessary computations. For example, the computation can be prioritized for effected active calls first (i.e. those that will be rerouted as a result of a link or node failure) followed by new calls until eventually the matrix is completed.
A specific example will now be described with respect to
When the called party answers, an H.248 Answer message is sent from GW2 to CS2, following which a SIP 200 OK message is sent from CS2 to CS1. Subsequently, a series of messages including H.248 ModifyConnection (SDP B), ISUP Answer Message, H.248 ModifyConnection(Tx/Rx), SIP ACK, H.248 ModifyConnection(Tx/Rx) are sent in accordance with the protocols as shown and the call occurs.
When a call disconnect is signaled to GW2, an H.248 Onhook message is sent from GW2 to CS2. CS2 then sends a SIP BYE message to CS1, and an H.248 DeleteConnection message to GW2, and a Release message to admission control including the call identifier. Admission control then releases the bandwidth on the links associated with the identified call and updates the utilization tables. In response to the SIP BYE message CS1 sends an H.248 DeleteConnection message to GW1 and an ISUP Release message to the PSTN source.
In an alternative embodiment the call admission control module 10 determines the path for all possible calls a-priori to any calls being set up. The determination is made in accordance with the network topology, routing protocols and policies in place at that time. In this embodiment the admission control module need not calculate the path as discussed above unless there is a change in the topology or routing policies in the network. However, unlike the previous embodiment, when a call set up request is signaled to the call admission control module it simply does a lookup into matrix 36 to determine whether to admit the call.
In another alternative embodiment the admission control module 10 performs link failure analysis. Link failure analysis includes calculating the impact of rerouting of traffic to alternate paths in the event of link failure. It will be appreciated that this calculation will indicate whether the alternate paths have sufficient unused bandwidth to handle the rerouted traffic. If, for example, link L6 where to fail, the admission control module would, as soon as it were to learn of the failure, begin to compute the new routes for all affected active calls. In this example, the admission control module examines matrix 36 and determines that only affected active calls are between GW1 to GW3. The resultant matrix is shown in
While the invention is described through the above exemplary embodiments, it will be understood by those of ordinary skill in the art that modification to and variation of the illustrated embodiments may be made without departing from the inventive concepts herein disclosed. Moreover, while the preferred embodiments are described in connection with various illustrative data structures, one skilled in the art will recognize that the system may be embodied using a variety of specific data structures. Accordingly, the invention should not be viewed as limited except by the scope and spirit of the appended claims.
Number | Date | Country | |
---|---|---|---|
Parent | 10883207 | Jul 2004 | US |
Child | 12728459 | US |