The present invention relates to a method of operating a communications network, and in particular to a method of controlling the admission of sessions into and across a communications network.
Call or session admission requests are made using component protocols, for example the Session Initiation Protocol (SIP) or a protocol from the H.323 protocol suite, although it would be understood that other protocols are known. H.323, in a Voice over IP (VoIP) example, uses H.225.0 to make an admission request (ARQ), with protocol H.245 being used to negotiate audio parameters that will be used in the sessions. Even if a proprietary protocol is being used, such a request will contain information about the supported and desired Quality of Service parameters—a function of, for example, bandwidth (B) required at bitrate rb, maximum loss supportable for service Im, maximum tolerable delay td and jitter tj. This admission request can be expressed in a generalised form as;
ARQ=f(B,rb,Im,td,tj)
This request can be translated into one of many pre-defined 6-bit DSCP (Differentiated Services Code Point) values used, in IP/MPLS data packets either at the source of the data, that is within a customer's network or at the Provider Edge (PE) of the network. There are several label distribution protocols that can be used to create and make bindings of labels to forwarding equivalence classes (FEC) in MPLS networks. Examples include BGP (Border Gateway Protocol), RSVP-TE (Resource Reservation Protocol—Traffic Engineering), LDP (Label Distribution Protocol) and TDP (Tag Distribution Protocol). The following discussion will focus on the use of RSVP-TE in this IRF but the principles of the present invention have broader relevance than the message carrying protocols used in a particular embodiment.
Bashar et al, “Machine Learning Based Call Admission Control Approaches: A Comparative Study” discloses a technique of estimating the current value of a network parameter that is difficult to measure based on the current measurement of other network parameters based on historical variations of the different parameters.
According to a first aspect of the present invention there is provided a method of operating a communications network, the method comprising the steps of: receiving a request to admit a session to the network, the session being routed between a first network node and a second network node; selecting a route through the network from the first network node to the second network node, the route comprising a plurality of communications links; selecting a communication link which is most likely to fail; for that selected communications link: a) determining the expected performance of that link for the duration of the requested session; b) determining the impact of admitting the requested session to the sessions already supported by the selected communications link; and c) evaluating the historical performance of the selected communications link; and accepting the request to admit a session to the network if the admitted session can be supported throughout the duration of the session without impacting presently supported sessions.
According to a second aspect of the present invention there is provided a network gatekeeper configured, in use, to receive a request to admit a session to a communications network, the session being routed between a first network node and a second network node; select a route through the network from the first network node to the second network node, the route comprising a plurality of communications links; select a communication link which is most likely to fail; assess the suitability of the selected communications link on the basis of: a) the expected performance of that communications link for the duration of the requested session; b) the impact of admitting the requested session to the sessions already supported by the selected communications link; and c) the historical performance of the selected communications link; and accepting the request to admit a session to the network the selected communications link is assessed to be suitable.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which:
A method according to the present invention requires the application of one or more predictive models to predict network performance or related parameters. Predictive models can be built from historical data and are then used to predict certain variables used in making decisions about traffic admission, routing or load balancing. There are several data sources used to build predictive network models:
1. OSPF Type 10 Link State Advertisements (LSAs) that provide information about the maximum, reservable and unreserved bandwidth on the links that send this update. These are extensions proposed for OSPF to support MPLS TE.
2. Link failure predictions, for example as described in WO2011/117570
3. Management information Base (MIB) parameters polled regularly and collected using an existing protocol (for example the Simple Network Management Protocol). Examples of parameters collected include, without limitation:
4. Rate of change of Explicit Congestion Notification (ECN) flags for services in classes of services that use them (e.g. Assured Forwarding)
5. Bandwidth threshold at which Weighted Random Early Detection (WRED) is triggered for the Assured Forwarding classes of service
6. Forecasts about predicted incoming content/sessions based on personal recommendations, subscription information and other user details (for example as disclosed in GB2011/001773)
7. Local performance predictions per link (such as those disclosed in GB2011/001733)
8. Historical performance of a link for a given class of service.
The above metrics are used to create a per DCSP value model of each network entity, either at an interface or router level. Such a model may be created by:
The result of the above is a decision engine or decision process using a number of time-dependent models per router, or per interface, for each class of service. The models can be created by several possible machine learning methods (e.g. Bayesian network, neural network, decision tree, time series prediction, regression) or by explicit knowledge representation (e.g. rule base). If a Bayesian network is used then each variable or attribute required for making a decision will be represented as a node in the Bayesian network. Each node provides a probability distribution for the possible values of the respective variable, or decision point, it represents. For example, one of the nodes could indicate the likelihood of satisfying a certain class of service request given all the other predictions, impact calculations and past performance. It is also possible to calculate, given that a session is admitted, the expected QoS parameters for all the other sessions. There are well known learning algorithms that can generate a Bayesian network from data (see, for example, D. Heckerman, ‘A Tutorial on Learning with Bayesian Networks’ from “Learning in Graphical Models”, M. Jordan, ed. MIT Press, Cambridge, Mass., 1999).
The data required for the learning algorithm is historic network performance data that records values for each required decision variable. The principle is the same for other machine learning models. However, a Bayesian network has the advantage that all its variables can function both as input and output variables. Other machine learning models like neural networks, decision trees or regression models distinguish between input and output variables. This can mean that for each decision variable a separate model has to be built, whilst in the case of a Bayesian network a single model is sufficient. The type of model to be used will depend upon the preferences of a network operator in relation to computational requirements, available raining data and model accuracy.
In operation the network gatekeeper (the following description is equally applicable to the gatekeeper function that may be implemented within a router) will generate a Capability Look-up Table (CLT), the derivation of which will be described below. Table 1 below shows an example of such a CLT:
When a routing request is made to use an MPLS tunnel, for example from a session using SIP, H.323 or similar, the following actions are taken based on the capability look up table:
When a request is made to the network, the gatekeeper function determines whether or not to admit the service at the requested class of service. This decision is made by using the decision process described below based on parameters such as predicted impact, availability of resources to support the QoS requirement specified in the session request, expected performance of existing sessions, predictions of other incoming content etc. The corresponding H.323/SIP messages are sent back according to the decision made.
The first step on the decision process for the admission of session s0 (the output of each step will be used in the subsequent step, along with other inputs):
This call admission technique works very well if the network is not under high load and especially if the bottleneck link has unused capacity that exceeds the requirements of the session request. In this case, this admission control technique is quick in examining the bottleneck link of the shortest path using prediction models that have been periodically built and updated. Based on the thorough analysis of the bottleneck link, all other links in the path chosen can be assumed to perform better than the bottleneck link. This method above solution is a balanced trade-off between being lightweight and thorough.
The steps of creating a decision mechanism to evaluate a link (or similarly a tunnel, in the following discussion) using traffic characteristics of the link (or the links which comprise a tunnel), future expected performance of the link, expected impact if a session is admitted on the link (or tunnel) and evaluation against historical performance are key steps to the core prediction model.
In a network operating at high load, evaluating one link from the shortest path gives a quick decision mechanism but might result in rejecting calls because of the shortest route's bottleneck link. In such a case, further traffic engineering can be added once a call admission decision is performed. Alternatively, call admission can be performed after a suitable route has been found, although this route may not be the shortest path.
In a further embodiment of the present invention there is provided a method which enables the selection of a number of potential routes from a plurality of candidate routes to a given destination. This method can also be incorporated with session admission such that a session is only admitted if there is at least one route that can be used to take all the required traffic to the destination. This approach is more laborious as the analysis must be extended to several tunnels, rather than just a single link. Using this technique, call admission could take longer but better traffic management will be provided during high network loads. MPLS TE has traditionally been static, with routes for customers and the marking of DSCP values being pre-determined. The present invention provides a dynamic way of allocating available tunnels to incoming trunk traffic requests that also uses the above-described core predictive model.
The capability look up table is used to choose one or more tunnels on a policy and availability basis. It maintains a list of tunnels available over time for bins of service requests to geographical regions (either individual IP addresses or a PE router at the egress node from which simple IP can be used). For example, one of the bins could be bandwidth requirement for a given class of service. Taking into account an applicable predictive model, at a time T, tunnel0 might be able to carry 0-500 kbps of EF data while tunnel1 might be able to carry 500-2500 kbps of EF data. The two bins here are unevenly sized (0-500 kbps and 500-2500 kbps). The capability tunnel may also adjust bin sizes over time. It is possible that tunnel0 can support up to 1000 kbps after time T=450 seconds because a service that is currently flowing through it is expected to end or it is known that the operator will increase the available tunnel bandwidth at T=450 seconds.
The gatekeeper may change its advertised MPLS routes proactively based on, for example, scheduled engineering work. If tunnel0 is expected to be affected by pre-planned work at time 0100-0300 hours, the advertised route to the IGP will be changed beforehand so that any service that is admitted and transmitted through the MPLS network is not subjected to a sudden re-route when the failure actually happens (using FRR or similar resilience technology).
Referring to
The choice of tunnels depends firstly on its availability and this can be determined from the capability look up table. If a service is known to last for 90-minutes and is a video channel (which can be determined from predictions about content and user statistics), then a tunnel that is expected to carry traffic at a higher priority at a later time to a geographically closer destination might not be chosen for this session. Also, a tunnel that is expected to tear down during the session is unlikely to be chosen. Alternatively, if a DSCP value specifies end-to-end loss and delay values, the tunnel(s) might be chosen based on the predicted performance of the existing sessions on the tunnel(s) as well as the expected impact of the new session on the other services. This uses the MIB, OSPF LSA and content prediction data from the core predictive model. Any number of policies can be implemented based on: the operator's preference; the QoS expected by the incoming service; and the current and predicted network state. For each of these policies, different decision points from the original model will be used.
This provides a progression from a known static LSP to traffic trunk mapping to a more dynamic, predictive method of MPLS. This dynamic assignment of MPLS LSPs to service requests means that pre-configured LSPs can be kept alive using ‘hello’ messages even after all the data has traversed, so that it can be reused for another customer or another class of service at a later time.
Once a set of tunnels have been chosen, the relevant MPLS lookup tables, such as the Forwarding Information Base (FIB, used mainly by the PE routers) and Label Forwarding Information Base (LFIB, used by all core MPLS routers), are altered. The same LSP can be assigned to several traffic trunks as long as the cumulative bandwidths and QoS of the LSPs chosen meets the requirements of the ARQ. This is a challenging task and cannot be done manually or while first setting up the network.
We now provide one detailed example of a decision process and the capability look up table:
Due to the core prediction model being time-dependent, if a certain service is allocated a given tunnel at a certain time, the same service request at a later time might be allocated a different tunnel. Another advantage of this approach is that it minimises the need to create more MPLS LSPs using RSVP TE (or similar), which makes the forwarding process resume quicker. The advantage of this is that when a session request arrives with a given DSCP request to a given destination, tunnel allocation to the service using our model can be done with minimal delay, i.e. without having to send RSVP. This is so that when a session request arrives with a given DSCP request to a given destination, tunnel allocation to the service using our model can be done with minimal delay.
After the choice of tunnels is made and the service request is assigned a mapping entry in the relevant tables (e.g. FIB, LFIB), the assignment of packets to each of the chosen tunnels can be done in any fashion. The idea is to decouple LSP creation and maintenance entirely from the services that use them so that the tunnel allocation is done on the fly according to QoS requirements and network state based on a prediction model. We propose in this IRF one method of choosing the MPLS tunnel(s) for a given session request.
It should be noted that once a certain bandwidth has been allocated to a given service in a tunnel, it must be subtracted from available bandwidth for lower priorities. This must be updated in the capability look up table. Alternatively, if the frequency of session request arrival exceeds the frequency of updates of available link capability, a reservation protocol such as RSVP TE can be used to verify that the required reservation can still be met by the available tunnels. This, however, delays the time taken before session transmission can begin.
Also, if LSP tunnels expire after a timeout period (e.g. RSVP tunnel timeout period, typically 157.5 seconds, this value is either increased to a large value and/or tunnel keep-alive message must be sent as required even if the tunnel is not being used so that it is ready for deployment when the session request arrives.
As the present invention may be implemented on software within a router, or other device, it may be possible to upgrade a conventional router (or device) to one which can perform a method according to the present invention. Computer code may be deployed to a modem (or router) via download, for example via the internet, or on some physical media, for example, DVD, CD-ROM, USB memory stick, etc.
The present invention provides a session admission process which identifies the weakest link in a route between a first node and a second node and determines if the route is able to cope if the session is admitted. The suitability of a link is determined on the basis of: historical link performance; the predicted future performance of the link; and the predicted future demands on the link from other sessions supported by that link.
Number | Date | Country | Kind |
---|---|---|---|
12250084.6 | Mar 2012 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/GB2013/000142 | 3/28/2013 | WO | 00 |