The present invention relates to a network optimisation system, and a network optimisation process.
Network management systems are used to seek optimal use of resources in communications networks, particularly large scale public telecommunications networks. For any given network topology, the links between the various nodes of a network have a limited capacity to meet network traffic demands or requests, and the network should be managed so as to satisfy the demand as efficiently as possible. Network management systems are available to manage and configure different networks on demand, and multi-protocol label switching (MPLS) networks provide considerable flexibility to network operators to undertake traffic engineering on demand. In particular, MPLS networks allow traffic flows to be directed onto selected paths between originating and destination nodes as selected by the network operator. One particular problem that needs to be solved for network optimisation is to determine the best way in which to distribute the traffic flows over the available network elements in order to improve network performance. In particular, the optimum paths through the network should be selected for the traffic demand at any given point in time. Being able to explicitly select a path allows an operator to effectively employ under-utilised links, when determined, in order to carry extra traffic, and to avoid parts of the network which are congested, again if these parts can be determined. If this can be achieved, packet delay and loss experienced by traffic flows can be minimised, and a consequent increase in effective traffic carrying capacity of the network delivered. Network optimisation will also be more effective if the path selection process allows the network to be reconfigured in real-time so as to react to load conditions in a short time frame to minimise congestion and loss.
A number of processes have been developed to perform network optimisation. One process involves determining optimal paths by formulating the problem in a form that is solved using a linear programme (“LP”) process with integer constraints, known as Mixed Integer Linear Programming (MILP), as discussed in Fabrice Poppe, Sven Van den Bosch, Paloma de La Vallée-Poussin, Hugo Van Hove, Hans De Neve and Guido Petit, Choosing the Objectives for Traffic Engineering in IP Backbone Networks based on Quality-of-Service Requirements, Proceedings of the First International Workshop on Quality of Future Internet Services (QoFIS), Berlin, Germany, Sep. 25-27, 2000, (“Poppe”); Alpár Jüttner, Balázs Szviatovszki, Áron Szentesi, Dániel Orincsay, János Harmatos, On-demand optimization of label switched paths in MPLS networks, Proceedings Ninth International Conference on Computer Communications and Networks, 16-18 Oct. 2000, Las Vegas, Nev., USA, (“Jüttner”); and M. Herzberg and S. J. Bye, Bandwidth Management in Reconfigurable Networks, Australian Telecommunications Research, Vol. 27, No. 2, 1993, (“Herzberg”). Most often the integer constraints are used to represent practical requirements of the network architecture, protocols or management systems. For example, bandwidth might be allocated in quanta, as in Herzberg, or it may be desirable for flows to be restricted to a single path through the network, as in Poppe, or paths which carry flows must be disjoint, as in Jüttner. MILP processes are performed in two-stages which when successful guarantee that the solution is a global optimum selection of paths relative to a chosen objective. The two-stages consist of an LP-relaxation phase in which the integer constraints are ignored and the pure linear programme is executed. This is then followed by a subsequent search for a solution near the pure LP optimum, which further satisfies the integer constraints. It is this second stage that often leads to problems in implementing an MILP process for path selection. For instance, whilst the LP-relaxation phase may have a feasible solution there may not exist a corresponding solution for the complete MILP process. In fact even if such a solution exists there is no guarantee that it can be found within an acceptable time frame for use by a network optimisation system.
The above deficiencies have lead system developers to employ the use of heuristic processes as discussed in, F. A. Kuipers, T. Korkmaz, M. Krunz and P. Van Mieghem, Overview of Constraint-Based Path Selection Algorithms for QoS Routing, IEEE Communications Magazine, Vol. 40, No. 12, December 2002, (“Kuipers”); Yufei Wang and Zheng Wang, Explicit Routing Algorithms for Internet Traffic Engineering, Proc. of IEEE ICCCN'99, Boston, October, 1999, (“Wang”); and G. Gopal, C. Kim, and A. Weinrib, Algorithms for Reconfigurable Networks, Proceedings of 13th International Teletraffic Congress, Copenhagen, Denmark, June 1991, pp. 341-347, (“Gopal”). These processes may provide sub-optimal results, but are generally much faster than solving the problem formulated for the MILP process directly. Often though, the solution provided by a heuristic process is not uniformly good over the entire solution space, and the performance can be affected by the initial conditions assigned to the process.
Accordingly, it is desired to address the above or provide at least a useful alternative.
The present invention provides a network optimisation system, including:
The present invention also provides a network optimisation process, including:
Preferred embodiments of the present invention are hereinafter described, by way of example only, with reference to the accompanying drawings, wherein:
A network optimisation system, as shown in
The data collection system 110 receives traffic data, via communications protocols, such as SNMP, FTP and Telnet, from switches and routers 52 of the network 50. The traffic data supplied by the network elements 52 represents the current measured traffic demand for each origin-destination (OD) pair of nodes 52 in the network 50. Data representing the topology of the network 50 is held in a network topology database 130 for the network optimiser 100 and training data generator system 300. The network topology data includes data on the maximum capacity for each link and the nodes 52 to which each link connects. Each link is assigned an identification (ID) number and the capacities are provided in Mbps or other suitable units.
The network optimiser 100, as described in detail below, generates optimal path configuration data that represents the optimal traffic paths to be utilised between origin and destination points or nodes 52 of the network 50. For any given OD pair of nodes 52, one or more paths through the network may be utilised and defined by the path configuration data. The defined paths each include one or more links between an OD pair and a defined capacity. The paths are each labelled in a manner which enables the path configuration control system 120 to reserve the required capacity on each link of the path and establish the intended sequence of nodes 52 and links that will enable the origin to transmit traffic to the destination at the desired rate.
Hereinafter, the paths are described as being label switched paths (LSPs) of a multi-protocol label switching (MPLS) network which utilises the MPLS protocol, and in particular the MPLS shim header, to send packets along the paths. The nodes 52 may therefore be a label edge router (LER) or a label switch router (LSR). A LER converts Internet protocol (IP) packets into MPLS packets and MPLS packets into IP packets, and are able to determine whether a packet should be labelled based on data held in the LER that matches the destination address to a label of at least one LSP. LSRs analyse packets to determine the outgoing link based on the LSP label data that it holds, and generally perform a label swapping function. The MPLS shim header of MPLS packets is pushed between OSI layers 2 and 3 of IP packets and includes the label data. It will be appreciated by those skilled in the art that the network optimisation system can be applied to operate with any communications network which allows network paths to be defined and then controlled in a similar manner to LSPs, such as the virtual paths of ATM networks.
The network optimiser 100 can work in a variety of ways depending upon the type of traffic being carried by the network 50. If only guaranteed bandwidth traffic is being carried by the network 50, requests for new LSPs, or existing LSPs with a modified bandwidth requirement, arrive at a label switched path (LSP) Manager 140 which passes the request to the network optimiser 100. The network optimiser 100 determines optimal path configuration data for the new LSP request and any already established LSPs carrying guaranteed bandwidth traffic, if these are required to change in order to accommodate the new request.
When a guaranteed bandwidth LSP is no longer required the LSP Manager 140 is notified and the network optimiser 100 is informed of the change. This can lead to a re-optimisation of the remaining LSPs if a more favourable configuration of paths can be found.
For “best effort” traffic there is no minimum bandwidth requirement. If best effort traffic is being carried by the network then the network optimiser 100 collects traffic data from the data collection system 110 which measures the current offered traffic for each OD pair in the network. The network optimiser 100 determines optimal path configuration data based on this measurement or snapshot of the current activity of the OD Pairs.
If a combination of guaranteed bandwidth LSPs and best effort LSPs are required, the network optimiser 100 can determine optimal path configuration data such that the minimum capacity requirement of the guaranteed bandwidth traffic is met first, with any left over capacity in the network 50 used to service the best effort LSPs.
The network optimiser 100 determines the path configuration data for the optimal LSPs based on:
Any new guaranteed bandwidth LSP request is received and passed to the network optimiser 100 by a label switched path (LSP) manager 140. The LSP manager 140 receives a request for new guaranteed bandwidth LSPs to be established in the network 50 from network operators, other network systems or customers. The origin and termination (destination) points of LSPs can be access routers and core routers (to which a group of access routers are connected) within the network operator's network, or routers located on a customer's premises. The LSP request normally specifies a request for an origin destination (OD) path, and in particular, a request for an OD path to carry guaranteed quality of service (QoS) traffic, includes the capacity required of the path. For best effort traffic, the data collection system 110 provides a current measurement of the OD pair traffic demands which could represent an increase or decrease on the previous measurement. These requests for new, or existing LSPs with a modified bandwidth requirement (either guaranteed bandwidth or best effort), are passed to the network optimiser 100. If the network 50, as determined by the network optimiser 100, can satisfy the requirements of the guaranteed bandwidth requests, the LSP manager 140 is advised. Any existing LSPs that have to change due to the new request or varying traffic conditions are also passed on to the LSP manager 140 which updates the database 150 to contain all the LSPs, whether best effort or guaranteed bandwidth, that are currently in use. If the requested parameters of the LSP cannot be met, the LSP manager 140 is advised and has the option of returning a rejection of the LSP request, or modifying the request requirements to a level that the network can satisfy. The database 150 is used to store the complete set of network paths in use by the network at any given time. This information can be used by other network management or customer management systems (eg billing).
The LSP configuration control system 120 receives the LSP configuration data produced by the network optimiser 100, and generates control messages for the network nodes 52 in order to realise the required network configuration specified by the configuration data. The control messages use management protocols, such as SNMP or commands specific to the particular network equipment 52 and communicated using protocols, such as Telnet or FTP.
In order to simplify the description, it is assumed hereinafter that the network only carries best-effort traffic. The handling of only guaranteed bandwidth traffic is virtually identical, the only difference being whether the traffic demand data comes to the network optimiser 100 from the LSP manager 140 or the data collection system 110. The hybrid situation of both types of traffic can be accommodated in a variety of ways. One way is through the introduction of virtual OD pairs. For each real OD pair in the network 50 a virtual OD pair is introduced with access to all the same network paths as the corresponding real OD pair. All the guaranteed bandwidth traffic is associated with the real OD pairs and any best effort traffic with the virtual OD pairs. In such a case the network optimiser is configured to give preferential treatment to the capacity allocations needed by the real OD pairs.
The network optimiser 100, as shown in
The neural network 200 is initially trained using data generated by the training data generation system 300 which produces an optimal LSP solution set 230 for the network 50. The training data generation system 300 is based on a mixed integer linear programming (MILP) solver system 310 which generates the initial solution set for the database 230 based on the network topology data 130 and a set of example traffic demand vector instances stored in a database 320. The example traffic demand vectors may be generated by a random traffic demand vector generator 330 or may consist of historical data collected from the network itself. The random traffic generator 330 produces a set of traffic demand vectors (being demand values for OD pairs of the network) that represent the expected traffic conditions for the OD pairs of the network 50. The generator 330 is controlled by a probability distribution function. The traffic demand vectors 320 and the network topology data from the database 130 are fed to the MILP system 310. The MILP system 310 includes MILP software to generate an optimal LSP solution for each demand vector. MILP software packages that may be used, include the CPLEX package from ILOG Inc. (http://www.ilog.com), XPRESS-MP from Dash Optimization Ltd (http://www.dashoptimization.com) and GLPK, the GNU linear programming kit. Herzberg also describes a particular MILP process for optimising network paths in the telephony environment. Most, if not all of, the constraints of the process derive from the constraints of the network, eg. traffic allocated to a link cannot exceed its maximum capacity.
On occasion the neural network 200 may require re-training, for instance if the network topology changes significantly due to network growth, or the average traffic demand levels increase. In such a case the training data generation system 300 is employed again to generate a new training data set. Any network topology changes are fed in to network topology database 130 and the traffic data generator 330 is updated to reflect any changes in the expected traffic demands prior to generating the new data set.
The training set produced by the training data generating system 300 comprises the optimal LSP solution 230 and the traffic demand vectors stored in the database 320. The vectors each contain one entry for each OD pair in the network 50. Each value in a vector corresponds to the traffic demand for that OD pair, and each vector represents a snapshot in time of the traffic demands for each OD pair. For each traffic demand vector in the database 320 the corresponding labelled LSP routes, as determined by the MILP system 310 are stored in the database 230. The neural network 200 is then trained to learn the relationship between the traffic demand vectors and the optimal network paths. The training process is performed by a neural network trainer 450, as shown in
A number of different neural networks can be employed, together with their respective training processes. An example of a neural network and training process that can be employed is described in A. Kowalczyk and H. L. Ferrá. Developing higher order networks with empirically selected units, IEEE Trans. Neural Networks, pp 698-711, 1994. SAS Enterprise Miner by SAS Institute Inc. (http://www.sas.com), IBM Intelligent Miner by IBM Corporation (http://www.ibm.com), or SPSS Clementine by SPSS Inc. (http://www.spss.com) may be used in the implementation. A significant advantage of generating a neural network 200 from the solution set produced by a MILP solver 310 is that the neural network 200 is able to handle non-obvious relationships between the input traffic demand vectors and the output LSP solution set that may not be able to be produced using heuristic processes.
The MIH process executed by the solution refinement system 210, as shown in
The system 210 operates on the LSP solution list produced by the neural network 200, which is automatically adopted by the refinement system 210 if no OD pairs of the solution produced by the neural network 200 are under capacity. Otherwise, the MIH process iteratively operates through the LSP solution list to produce an optimal LSP solution.
The MIH process commences at step 400 in order to determine the balance (B) and usage (U) for the network 50. Initially the balance variable B is assigned a value 1 and the usage variable U is assigned a value 0 at step 702, as shown in
At the termination of the loop in
Operation subsequently proceeds to step 402, in which the maximum feasible path length of the network 50 is determined and a list of feasible paths for each OD pair determined. At step 802, as shown in
Once all the OD pairs in the solution list are processed, a list of under capacity OD pairs with feasible paths is created at step 406. At step 902, as shown in
At step 408 all link costs are determined. At step 1002, as shown in
At step 410 a cost is determined for each of the paths in the feasible paths list. Path costs may involve path length, transmission time measures or other various path quality metrics, and depends on the objective function, which in this instance is M×B−U. At step 1102, as shown in
At step 412, a benefit value for each OD pair in the under capacity OD pair list is determined. Each OD pair in the list is associated with a benefit value, which represents the change in an objective function if the capacity allocation for the OD pair is increased by one unit. The objective function selected does not need to be linear and the MIH process can be adjusted to apply to different objective functions, as discussed below. At step 1202, as shown in
After step 412 operation proceeds to step 502, as shown in
Operation then proceeds to step 602, as shown in
The network optimisation system is particularly advantageous as the neural network 200 seeds the MIH process 210 with a LSP solution that is close to that desired, and gives rise to a drastically reduced solution time, by about a factor of around 40 at periods of high traffic demand. Once trained, the neural network 200 can produce a solution in the order of milliseconds and the MIH process can be made sufficiently efficient so that the combined time is on average less than 1 second on a current personal computer. This decrease in execution time means that the real-time reconfiguration of network resources becomes feasible. The development of MPLS for IP networks also allows the explicit configuration of the network paths, and gives rise to an opportunity for effectively optimising IP traffic flows using the network optimisation system.
Many modifications will be apparent to those skilled in the art without departing from the scope of the present invention as hereinbefore described with reference to the accompanying drawings. For example, it will be appreciated by those skilled in the art that the components of the network optimisation system can be built using a variety of software and hardware combinations configured to operate as described above. Computer programs written using languages, such as Java (http://www.java.sun.com), Perl (http://www.perl.org) and C++, can be developed to implement various processes of the system and run on existing operating systems and hardware platforms, with the various databases provided using software, such as MySQL4 (http://www.mysql.org). Processes of the optimisation system can also be performed by dedicated hardware circuits, e.g. ASICs and FPGAs.
Number | Date | Country | Kind |
---|---|---|---|
2004903439 | Jun 2004 | AU | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/AU05/00909 | 6/23/2005 | WO | 00 | 2/22/2008 |