Designing a Network
A method of designing a network given a set of network nodes, a set of adjacencies defining which nodes can be connected together directly and so are topologically adjacent and a traffic matrix comprising a plurality of entries each indicating a source node, a destination node and a number being the number of connections from the source node to the destination node that are to be present in the network; the method comprising the steps of: simulating the network nodes and the adjacencies thereof to generate a simulated network; simulating applying the traffic matrix entry by entry, each application of an entry causing a number of links consistent with the entry to be simulated between the source and destination nodes indicated in the entry, via a chain of topologically adjacent nodes; simulating the effect of at least one failure on the simulated network, including simulating the re-routing of the links onto a replacement chain where the chain is broken; determining the number of links between each pair of topologically adjacent nodes; repeating these steps for a plurality of iterations, the order in which the entries in the traffic matrix and the faults are applied being different in different iterations; for each iteration and for each topologically adjacent pair of nodes, determining an average number of links between the pair of nodes for all iterations so far; for each iteration and for each pair of topologically adjacent pair of nodes, determining a variance in the average number of links for all iterations so far; for each iteration, determining an average variance in the average number of links for all iterations so far, the average being taken across the entire network; for each iteration, determining a variance in the variances in the average number of links for all iterations so far, the variance being taken across the entire network; determining when to cease iterating based upon the variance in the variances in the average number of links.
This invention relates to a method of designing a network.
BACKGROUNDCapacity planning—determining the necessary amount of resources to satisfy a certain traffic matrix given the network topology and the required traffic survivability—is one of the most challenging tasks a network architect is required to perform. A traffic matrix contains a plurality of entries each describing the number of circuits to be created between a source and a destination or set of destinations. The capacity planning may also contain any of the following inputs:
-
- the required protection/restoration scheme, e.g. 1+1 protected, Fast ReRoute (FRR), On The Fly (the protection circuit is calculated and implemented at failure time), SNCP; (Subnetwork Connection Protection; basically, path 1+1).
- the required diversity between worker and protection/restoration circuit (link, node or SRLG—shared risk link groups);
- resources (link, node or SRLG) to be included or excluded during the route computation for the circuits;
- traffic parameters for the circuit(s) e.g. the bandwidth, CoS (class of service);
- the physical topology of the network, that is, the connectivity relationship among the network elements;
- the required network survivability, that is, the number and type of the failure(s) the network must survive (e.g. double links failure, single SRLG failure, . . . ) and the order of application of failures (deterministic or stochastic);
- an ordered list of network interface to be used during the capacity planning process, such that a user can select a priori, that is, before the simulation runs, which kind of network interfaces (e.g. which capacity, STM64, STM16, 10 Gb, 100 Mb, etc) must be used or not used during the capacity planning process.
The outcome of the capacity planning process is the number and type of the needed resources. The resulting network can be saved as inventory report and used to purchase the required material.
The main technical and theoretical problem with the capacity planning is due to the fact that the final result is dependent on:
-
- The sequence the traffic matrix is applied, that is, the order the circuits are created in the network
- The order the failures are applied in the network
Given the above, the only way to be sure that the capacity planning results are valid for each sequence of both circuit creation and failures is to run the simulation for each possible case that is a NP complex problem. It easy to see that given a traffic matrix with N entries there are N! possible sequences of applying it.
An already available planning tool (ON-Planner) performs capacity planning with a heuristic algorithm.
Each Capacity Planning instance allocates automatically enough resources in order to satisfy increasing traffic (given by a Traffic Matrix) and/or to survive to a specified combination of faults assuming a certain order of circuit creation and performing a certain number of procedure steps. An Automatic Optimization process has been introduced to launch several instances of Capacity Planning aiming at the stability of the network resources. The process ends when an optimal and stable solution is obtained.
This Automatic Optimization is meaningful only if:
-
- The Traffic Matrix is applied in random order and/or
- The fault sequence generation is random
The Automatic Optimization is stopped when a set of consecutive Capacity Planning instances (i.e. 3 consecutive iterations) brings to the same result in terms of network upgrades.
At the time being, the automatic optimization works as follow:
-
- An ideal scenario is considered (no faults are simulated in the network). Traffic matrix is applied several times by adding required ports and removing the unused ones until no more ports are added or removed for 3 consecutive iterations.
- On the network optimized for the ideal scenario, carrying the traffic updated by the traffic matrix, a set of faults (on Link, SRLG, NE . . . ) is produced and ports are added or removed to support the new traffic in presence of faults. The automatic optimization is stopped when no more ports are added or removed for 3 consecutive iterations.
According to a first aspect of the invention, there is provided a method of designing a network given a set of network nodes, a set of adjacencies defining which nodes can be connected together directly and so are topologically adjacent and a traffic matrix comprising a plurality of entries each indicating a source node, a destination node and a number being the number of connections from the source node to the destination node that are to be present in the network;
-
- the method comprising the steps of:
- a) simulating the network nodes and the adjacencies thereof to generate a simulated network;
- b) simulating applying the traffic matrix entry by entry, each application of an entry causing a number of links consistent with the entry to be simulated between the source and destination nodes indicated in the entry, via a chain of topologically adjacent nodes;
- c) simulating the effect of at least one failure on the simulated network, including simulating the re-routing of the links onto a replacement chain where the chain is broken;
- d) determining the number of links between each pair of topologically adjacent nodes;
- e) repeating steps (a) to (d) for a plurality of iterations, the order in which the entries in the traffic matrix and the faults are applied being different in different iterations;
- f) for each iteration and for each topologically adjacent pair of nodes, determining an average number of links between the pair of nodes for all iterations so far;
- g) for each iteration and for each pair of topologically adjacent pair of nodes, determining a variance in the average number of links for all iterations so far;
- h) for each iteration, determining an average variance in the average number of links for all iterations so far, the average being taken across the entire network;
- i) for each iteration, determining a variance in the variances in the average number of links for all iterations so far, the variance being taken across the entire network; and
- j) determining when to cease iterating based upon the variance in the variances in the average number of links.
By using the variance in the variance of the average number of links between the nodes, it can be determined when a sufficient number of iterations have been performed rather than simply requiring a fixed number. This reduces the need to calculate all the possible combinations of the order in which the traffic matrix and the faults are applied.
Preferably, the method comprises the step of storing and/or outputting, as a number of links to be provided between each topologically adjacent pair of nodes, the average number of links for that pair of nodes. The storing may be in a memory, hard disc or any other storage medium of a computer, which may be used to carry out the method. The outputting may be on a screen, printed out, or as a data file or any other suitable method.
The method may further comprise implementing the network in line with the number of links to be provided between each topologically adjacent pair of nodes.
Step (j) of the method may comprise determining whether the variance in the variances in the average number of links is below a threshold.
Alternatively, it may comprise determining whether the variance in the variances in the average number of links has converged to within a predetermined margin of error. The Tchebycheff inequality can be used as criterion to stop the simulation. Tchebycheff inequality assures that
-
- At least 75% of the values are included in μ−2σ and μ+2σ
- At least 88% of the values are included in μ−3σ e μ+3σ
- At least 93% of the values are included in μ−4σ e μ−4σ
- where μ is the average and σ is the variance.
The entries in the traffic matrix may also each comprise an indication of the protection desired for the link. This may comprise at least one of the following:
-
- 1:1 protection, where a backup channel is provided for every link
- 1:N protection, where a backup channel is provided for every N links
- Fast ReRoute (FRR), where every link in a chain is protected by a backup path that commences from the first node in the link that can be activated should that link fail
- On the fly, where the protection circuit is calculated and implemented at failure time
- Shared risk link group, where any protection circuit cannot be carried over a physical link that is likely to fail at the same time as the link itself (for example, being on the same optical fiber)
- Link or node diversity; link diversity means that protection path and failed one do not share any links while node diversity requires that no node is shared.
Step (b) may comprise simulating both the link and the protection desired. Step (c) may comprise simulating rerouting of a failed link based on the protection applied to the link in line with the protection desired.
The set of adjacencies may include data relating to the physical connections between the nodes; for example, data may be included that indicates that a given physical connection is carried over the same conduit (fiber, cable, etc) as another physical connection.
The entries in the traffic matrix may comprise an indication of the bandwidth to be carried by the links. The entries may also comprise an indication of the Class or Quality of Service (CoS/QoS) to be carried by the link.
The network may be a synchronous network, such as SDH (synchronous digital hierarchy) or SONET (synchronous optical networking) networks. Alternative networks include photonic, G.709, T-MPLS, PBB-TE, MPLS.
The average may be the mean.
The method may be implemented as a computer program, running on an appropriate computer.
The set of steps shown with respect to
The algorithm takes as an input a traffic matrix 1 and a description of the topological adjacencies of the nodes 2 (that is, which nodes are physically linked to which other nodes). Each entry in the traffic matrix comprises a source and one or more destination nodes for a particular desired link, together with other such data as the capacity planning algorithm may require, such as the bandwidth desired for the link, the protection required for the link and so on.
At each iteration, the capacity planning algorithm 3 applies the entries in the traffic matrix in a random order, so that the arrangement of the circuits set up by the algorithm may differ from iteration to iteration. The output of the capacity planning algorithm is a number of circuits to be provided between each pairing of topologically adjacent nodes. There are considered to be no bandwidth constraints during the capacity planning simulation; that is, circuits are routed counting that there are infinite resources in the network.
The next stage within each iteration is to apply a randomly ordered series of network failures (the order changing at each iteration), and to simulate the effect that these would have on the network's protection mechanisms, the rerouting of circuits and so on. A suitable algorithm for this is known from the software product “ON-Planner”. Circuits rerouted are added to the number of circuits between each pairing of topologically adjacent network nodes.
Thus, at each iteration, for each pairing of topologically adjacent nodes, a number of circuits will be indicated.
For the first iteration, Iteration 0 in
For this initial iteration, the average (in this embodiment the mean is employed as the average) number of circuits for each adjacency will be equal to the actual number of circuits for that adjacency—taking the mean of a single number is a mathematical identity. The variance of number of circuits for each adjacency will be zero, as will the average variance of number of circuits over the whole network and the variance in the variances for each adjacency.
The simulation of the network is then cleaned; all the circuits are deleted and all the failure(s) are removed.
For the next and each succeeding iteration, the method operates in the same manner, applying the traffic matrix and failures so as to arrive at a number of circuits for each adjacency stored in adj_circuit_k_n, where n is the number of the iteration.
At the end of Iteration n, the following data are calculated as follows:
-
- for each adjacency k the average number of connections over that adjacency for all iterations so far:
-
- for each adjacency k the variance in the number of circuits on that adjacency for all iterations so far:
-
- for the network as a whole, the average variance (where Nadj is the total number of adjacencies):
-
- for the network as a whole, the variance in the individual variances:
The iterations continue until a criterion 5 is met; at the end of each iteration the simulation is cleaned as described above and the method carried out once more. The criterion is based upon the variance in the individual variances net_variance_n. When net_variance_n falls below a threshold or converges to within a certain limit, the iterations cease; in the Figures this is depicted as iteration N.
For each adjacency the adj_average_k_N is converted into port information given the policy requested by the operator. As example if adj_average_N is 60 and the technology is SDH then a STM64 port is allocated for that adjacency, because STM64 can host 60 VC4 circuits using a single fiber.
In order to determine the Threshold the Chebyshev inequality assures that:
-
- at least the 75% of the values of net_average_i where i indicates a possible sequence of failures are contained in the interval:
- [net_average_n−2·net_variance_n;net_average_n+2·net_variance_n]
- at least the 88% of the values will be between:
- [net_average_n−3·net_variance_n;net_average_n+3·net_variance_n]
- at least the 93% of the values will be between:
- [net_average_n−4·net_variance_n;net_average_n+4·net_variance_n]
- at least the 75% of the values of net_average_i where i indicates a possible sequence of failures are contained in the interval:
An example network on which the method according to the embodiment of the invention described above can be seen in
The outputs of the capacity planning iterations are shown in Appendix A. For each of the 200 iterations, the number of circuits indicated by the capacity planning algorithm 3 after the faults 4 have been applied is shown in the columns adj1, adj2 and adj3. As can be seen in the Total Circuits column, these add up to 27.
For each adjacency and each iteration, the average number of circuits over that adjacency for all iterations up to the current one is displayed in the columns adj_average_1_n, adj_average_2_n and adj_average_3_n respectively. The corresponding variances in the number of circuits over each adjacency is displayed in adj_variance_1_n, adj_variance_2_n and adj_variance_3_n respectively. The average variance over all adjacencies is shown in net_average_n and the variance of the variances adj_variance_1_n, adj_variance_2_n and adj_variance_3_n is shown at net_variance_n.
The results are shown graphically in
Claims
1. A method of designing a network given a set of network nodes, a set of adjacencies defining which nodes can be connected together directly and so are topologically adjacent and a traffic matrix comprising a plurality of entries each indicating a source node, a destination node and a number being the number of connections from the source node to the destination node that are to be present in the network; the method comprising the steps of:
- a) simulating the network nodes and the adjacencies thereof to generate a simulated network;
- b) simulating applying the traffic matrix entry by entry, each application of an entry causing a number of links consistent with the entry to be simulated between the source and destination nodes indicated in the entry, via a chain of topologically adjacent nodes;
- c) simulating the effect of at least one failure on the simulated network, including simulating the re-routing of the links onto a replacement chain where the chain is broken;
- d) determining the number of links between each pair of topologically adjacent nodes;
- e) repeating steps (a) to (d) for a plurality of iterations, the order in which the entries in the traffic matrix and the faults are applied being different in different iterations;
- f) for each iteration and for each topologically adjacent pair of nodes, determining an average number of links between the pair of nodes for all iterations so far;
- g) for each iteration and for each pair of topologically adjacent pair of nodes, determining a variance in the average number of links for all iterations so far;
- h) for each iteration, determining an average variance in the average number of links for all iterations so far, the average being taken across the entire network;
- i) for each iteration, determining a variance in the variances in the average number of links for all iterations so far, the variance being taken across the entire network; and
- j) determining when to cease iterating based upon the variance in the variances in the average number of links.
2. The method of claim 1, comprising the step of storing and/or outputting, as a number of links to be provided between each topologically adjacent pair of nodes, the average number of links for that pair of nodes.
3. The method of claim 1, further comprising implementing the network in line with the number of links to be provided between each topologically adjacent pair of nodes.
4. The method of claim 1, in which step (j) of the method comprises determining whether the variance in the variances in the average number of links is below a threshold.
5. The method of claim 1, in which step (j) comprises determining whether the variance in the variances in the average number of links has converged to within a predetermined margin of error.
6. The method of claim 1, in which the entries in the traffic matrix each comprise an indication of protection desired for the link.
7. The method of claim 6, in which the protection desired comprises at least one of the following:
- 1:1 protection, where a backup channel is provided for every link;
- 1:N protection, where a backup channel is provided for every N links;
- Fast ReRoute, where every link in a chain is protected by a backup path that commences from the first node in the link that can be activated should that link fail;
- on the fly;
- shared risk link group, where any protection circuit cannot be carried over a physical link that is likely to fail at the same time as the link itself; and
- link or node diversity.
8. The method of claim 6, in which step (b) comprises simulating both the link and the protection desired.
9. The method of claim 6, in which step (c) comprises simulating rerouting of a failed link based on the protection applied to the link in line with the protection desired.
10. The method of claim 1, in which the set of adjacencies includes data relating to the physical connections between the nodes.
11. The method of claim 1, in which the entries in the traffic matrix comprise an indication of the bandwidth to be carried by the links.
12. The method of claim 1, in which the network is a synchronous network.
13. The method of claim 12, in which the network is one of a synchronous digital hierarchy (SDH) and a synchronous optical networking (SONET).
14. A computer program, which when loaded onto a suitable computer, takes a set of network nodes, a set of adjacencies defining which nodes can be connected together directly and so are topologically adjacent and a traffic matrix comprising a plurality of entries each indicating a source node, a destination node and a number being the number of connections from the source node to the destination node that are to be present in the network and causes the computer to carry out the following method:
- a) simulating the network nodes and the adjacencies thereof to generate a simulated network;
- b) simulating applying the traffic matrix entry by entry, each application of an entry causing a number of links consistent with the entry to be simulated between the source and destination nodes indicated in the entry, via a chain of topologically adjacent nodes;
- c) simulating the effect of at least one failure on the simulated network, including simulating the re-routing of the links onto a replacement chain where the chain is broken;
- d) determining the number of links between each pair of topologically adjacent nodes;
- e) repeating steps (a) to (d) for a plurality of iterations, the order in which the entries in the traffic matrix and the faults are applied being different in different iterations;
- f) for each iteration and for each topologically adjacent pair of nodes, determining an average number of links between the pair of nodes for all iterations so far;
- g) for each iteration and for each pair of topologically adjacent pair of nodes, determining a variance in the average number of links for all iterations so far;
- h) for each iteration, determining an average variance in the average number of links for all iterations so far, the average being taken across the entire network;
- i) for each iteration, determining a variance in the variances in the average number of links for all iterations so far, the variance being taken across the entire network; and
- j) determining when to cease iterating based upon the variance in the variances in the average number of links.
15. A computer, programmed to take a set of network nodes, a set of adjacencies defining which nodes can be connected together directly and so are topologically adjacent and a traffic matrix comprising a plurality of entries each indicating a source node, a destination node and a number being the number of connections from the source node to the destination node that are to be present in the network and to carry out the following method:
- a) simulating the network nodes and the adjacencies thereof to generate a simulated network;
- b) simulating applying the traffic matrix entry by entry, each application of an entry causing a number of links consistent with the entry to be simulated between the source and destination nodes indicated in the entry, via a chain of topologically adjacent nodes;
- c) simulating the effect of at least one failure on the simulated network, including simulating the re-routing of the links onto a replacement chain where the chain is broken;
- d) determining the number of links between each pair of topologically adjacent nodes;
- e) repeating steps (a) to (d) for a plurality of iterations, the order in which the entries in the traffic matrix and the faults are applied being different in different iterations;
- f) for each iteration and for each topologically adjacent pair of nodes, determining an average number of links between the pair of nodes for all iterations so far;
- g) for each iteration and for each pair of topologically adjacent pair of nodes, determining a variance in the average number of links for all iterations so far;
- h) for each iteration, determining an average variance in the average number of links for all iterations so far, the average being taken across the entire network;
- i) for each iteration, determining a variance in the variances in the average number of links for all iterations so far, the variance being taken across the entire network; and
- j) determining when to cease iterating based upon the variance in the variances in the average number of links.
Type: Application
Filed: Sep 24, 2008
Publication Date: Jan 6, 2011
Inventors: Diego Caviglia (Savona), Giulio Bottari (Livorno)
Application Number: 12/678,278
International Classification: G06F 17/50 (20060101);