The invention relates to surveillance and simulation of complex systems. In the context of flow control and congestion control in communication networks, notably of the Internet type, flow analysis is undertaken with a view to determining the impact of network parameters. Various proposals have been made. The most advanced of these include:
[1] proposes a formula to evaluate the throughput rate of a source controlled by TCP in relation to the probability of packet loss.
[2] proposes a representation in so-called “MAX-PLUS” algebra of complex systems, such as communication networks, and notably of flow and congestion control. This “MAX-PLUS” algebra provides a means of allowing for the random character of the network parameters while considering a plurality of nodes. However, [2] considers only a single source using a TCP type protocol.
Refs. [3] and [4] propose an elementary model designed to provide an understanding of the combined evolution of throughput rates of a set of TCP sources sharing a common router. The additive increase and multiplicative decrease model (AIMD) proposed makes it possible to evaluate the performance penalty due to synchronisation of losses in the shared router. However, one parameter remains unknown: the probability function of this synchronisation.
Moreover, the models proposed are limited either to the representation of several routers and a single controlled source, or to a single router shared between several sources controlled by TCP.
In addition, the surveillance and simulation systems for these TCP controlled networks are not autonomous in terms of predicting the throughput rate obtained by the sources. That is to say they are unable to dispense with the necessity for physical observations made on a real network, such as for example the probability of losses in [1] or [2], or the synchronisation principle in [3] or [4]; in turn, they are scarcely able to cover all possible cases with a reasonable degree of reliability, notably in a wide area network.
The invention aims to improve this situation.
The invention relates to a method for testing and predicting the behaviour of a computer network including the following steps:
The invention also relates to a device for testing and predicting the behaviour of a computer network.
In a principal characteristic of the invention, the device includes
Other characteristics and advantages of the invention will become apparent upon reading the following detailed description together with the attached drawings in which:
Appendix A gives the network parameters, source parameters and variables of the model to which the following description refers.
Appendix B gives the computation steps for the algorithms associated with a model to which the following description refers.
Appendix C gives estimates of the synchronisation rate based on certain assumptions.
Appendix D gives the mathematical formula to which the following description refers.
The drawings and the appendices essentially contain elements that are certain in character. They will therefore serve not only to assist understanding of the description, but also contribute to the definition of the invention, as applicable.
The description below refers to publication [2] in respect of the type of additive increase and multiplicative decrease (AIMD) model used. This elementary model is used to represent the combined evolution of throughput rates of a set of TCP sources sharing a common router in a computer network.
In the description, the notation v[j] designates a table variable or vector (“array”) having a value for each value of j. A variable with two dimensions v[i,j] will be referred to as a matrix.
The description relates notably to the prediction of flow performance, for example TCP flows, and the quantity of service (QoS) in a multi-router topology. In other words, the device and the method of the invention are used, inter alia, when a large number of sources controlled by a protocol, of the TCP type for example, share several routers. This simulation is based on a fluid description of the additive increase and multiplicative decrease (AIMD) type model.
A number of sources 1, 2, 3 referenced I1, I2, I3 and destinations 1, 2, 3 referenced D1, D2, D3 are shown in
The present description uses the concept of classes (of traffic). It will be assumed for the moment that a class is defined by a pathway and by certain properties of the transmission that can travel on this pathway.
Different pathways can be taken to connect a source to a destination. The same pathway can be associated with different classes. A pathway is associated with a “type” of class. A class “type” corresponds to the set of classes defining the pathway or the same end-to-end path of a class (Appendix A2-3). Thus, for a pathway connecting one of the sources S to D1, at least two class types are defined, the class type defining the pathway (T4) and the class type defining the pathway (T5, T3) and passing through intermediate router r3. For a pathway connecting one of the sources S to D2, at least two class types are also defined, the class type defining the pathway (T2) and the class type defining the pathway (T1, T2) and passing through intermediate router r2. For a pathway connecting one of the sources S to D3, at least two class types are again defined, the class type defining the pathway (T5) and the class type defining the pathway (T4, T3) and passing through intermediate router r4.
A class is defined by a pathway, a session type, propagation times, and a number of sources. In reference to Appendix A2, a class can be defined for example by the dataset ST,SN,SR,SB,SE. More explicitly, in a given class ‘s’, if SN[s]=100, 100 sources belonging to the class V have the same characteristics as follows:
In the remainder of the description, the classes are designated by the variable s and the routers are designated by the variable r. The same source can be designated as a source of class s and a source of class s′ if the classes s and s′ each define a pathway running from the same source to the same destination as previously illustrated but having a different session. Furthermore, there are several sources for the same class, i.e. several sources that have an identical pathway to reach their destination.
The term “congestion epoch n” denotes an instant n at which the throughput rates of each class s are computed (rates equal to the rate of each source i of class s). This “congestion epoch n” also denotes an instant at which a network router is said to be “congested” or in a “state of congestion”, i.e. a router which will experience one or more packet losses.
In reference to part A1 of Appendix A, the network parameters designate the parameters of the routers defined in A1-1, A1-2, A1-3, A1-4, A1-5. Thus the routers, defined by their capacity to handle packet throughput rates, can include a buffer memory or buffer, which has the role of holding part of the incoming flow in excess of the outgoing flow. In the absence of buffer memory for a router r, the size of the buffer memory of the routers is null B[r]=0. The routers can be of different types such as for example:
In the example traffic evolution model of the additive increase and multiplicative decrease (AIMD) type, the variables are defined in reference to part A3 of Appendix A.
Thus, at step 400 and in reference to part B0 of Appendix B, certain variables of the model are initialised:
This means that the initial load must be compatible with the capacity of network.
Formulation B0-1 is predefined in the case where the following assumption is made:
Furthermore, in the example embodiment of the process, at A1-5 the type of router used is of the FIFO type, and at A2-2 the session type is FTP.
Steps 410, 420, 430 represent the iteration per Appendix B1-0 in each congestion period for steps 1, 2 and 3 defined below.
At step 410, processing of variables is performed for each router r. Thus, step 1 in Appendix B1-1 defines, for each router r at a congestion epoch n, a sum of class source rates for all classes based on the congestion period n-1. Thus, som_n[r] represents the total load (or rate) on the router ‘r’ at the end of the previous iteration (at the first iteration, som_1[r] represents the total load on the router ‘r’ defined by the initial condition). The calculation of tau-n[r] defines a time between the given congestion epoch n-1 and the consecutive congestion epoch n, referred to as the virtual inter-congestion time for each router R. In other words, tau_n[r] is the virtual duration of inter-congestion of router ‘r’ which would be effective if for example all the other routers were of infinite capacity (c[r]).
Step 2 in Appendix B1-2 is used to determine the minimum inter-congestion time in the set of virtual inter-congestion times of the routers r, also referred to as the network inter-congestion time tau_n. This minimum inter-congestion time designates the time between the old congestion epoch and the current congestion epoch. In other words, the value of tau_n gives the n- the inter-congestion time of the network.
At step 420, average throughput rates are processed for each class s. Thus, at step 2 in Appendix B1-2, the current average throughput x_n[s] for each class s in the n-th congestion epoch is calculated at (1). (1) applies the mechanism of linear increase (AI described in the documents presenting the AIMD model) to all the sources. The absolute date of the n-th congestion of the network is given by the value of temps_n.
For the router, termed the n-th router or congested router at instant n, whose virtual inter-congestion time is equal to the inter-loss time of the network and which belongs to the class pathway (also referred to as the end-to-end pathway of the class), the new average throughput rate x_n[s] of each class s defined at the congestion epoch n is then calculated in (2) at step 3 of Appendix B1-3. This new calculated average rate x_n[s] is lower than the previous average rate to avoid congestion, packet loss or other problem at the congested router(s) during congestion epoch n. The new average rate x_n[s] is calculated in relation to the synchronisation rate and the corresponding old average rate. (2) in Appendix B1-3 applies the multiplicative decrease (MD) mechanism of the AIMD mechanism as an average to the sources passing through the congested router.
At step 430, a check is made to determine whether the calculated rates match a throughput status already encountered previously or whether the number of iterations at steps 410 and 420 has reached a specified number of iterations (number defined by the variable Max_iter at step 0 in B1-0). If a negative response is obtained, the iteration of steps 410 and 420 is continued to determine the next minimum inter-virtual time of the routers and the corresponding throughput rates. This iteration of steps 410 and 420 illustrates the mathematical formula of Appendix D including sums of the classes to compute the inter-congestion time of a router, a minimum to be found from the inter-congestion times of the routers, these operations being repeated for each congestion epoch. The average throughput rates are thus computed by virtue of the synchronisation matrix represented by γn+1.
If a positive response is obtained at step 430, the vectorial recurrence equation has a solution (given certain assumptions) which is a periodic orbit at step 440. The theory ensures the uniqueness and the existence of such a finite orbit. In effect, if congestion events (causing losses) occur infinitely often on each router, there is a unique solution to the equation in Appendix D, which has a finite period n independent of the initial conditions of the vector x_n[]. This solution is defined as a so-called periodic orbit in that it will be found in the case of a new cycle of iterations. This orbit is characterised by a finite series of the type B1-4 in which r_n is the series of routers where congestion has occurred (causing packet loss or losses), x_n[s] is the series of average rates of class s, tau_n is the series of inter-congestion times of the network, the series being defined at n congestion epochs. This discrete-time orbit completely defines the continuous trajectory by linearisation of the rates defined in Appendix B1-5. It defines the ‘skeleton’ of the instantaneous rate process.
In a variant of the invention, this orbit can be determined using a traffic evolution model other than the additive increase and multiplicative decrease model.
At step 450, the average rates are analysed. Thus, at this step, instantaneous throughput rates are computed using a stochastic approach if the number of sources per class is high (SN). In this case, the instantaneous throughput rates are computed from the series of average rates obtained. The instantaneous rates x_n[s,i] are computed using formula B2-1 in which the inter-congestion time of the network at the instant n is added to the previous instantaneous rate x_{n-1}[s,i], this being done for each class s and for each source i. For each router in the series r-n included in the pathway defined by a class s SR[s], the new instantaneous rate x_n[s,i] is calculated using formula B2-2. The random variable gamma[s,r] corresponds to the ratio of the rates x_n[s,i] immediately after and before congestion.
It is thus possible to determine the evolution of instantaneous rates in each class and thereby predict the performance of the network.
When a periodic orbit is found before a maximum number of iterations, Max_iter, the results for steady-state mode are derived from processing of the orbit thus obtained. The results for transient mode (for example the time required to attain steady-state mode) can also be obtained. If the iteration stops when a maximum number of iterations is reached, Max_iter, without a periodic orbit being found, it is possible to visually observe whether the steady-state mode has been approximately attained by tracing the evolution of x_n. In the case where this visualisation is difficult, a transient mode is obtained which can still be processes. In this case also, the convergence time to steady-state mode is greater than the simulation time temps_{Max_iter}.
A typical value for the maximum number of iterations is between 103 and 106 depending on the size of the network and the number of sources.
In
At congestion epoch n=3, the average rate at point B is computed. In the example, the virtual inter-congestion time of the router in question is equal to the inter-congestion time of the network between congestion epochs 2 and 3. Thus, for this router belonging to the pathway of the class s in question, at congestion epoch n=3, the average rate x-3 of the router is computed at point B′ in relation to the synchronisation rate.
At congestion epoch n=4, the average rate at point C is computed. In the example, the virtual inter-congestion time of the router is not equal to the inter-congestion time of the network between congestion epochs 3 and 4. Thus, for this router belonging to the pathway of the class s in question, no congestion (resulting in packet loss) occurs, and the average rate x-4 is that computed at point C.
At congestion epoch n=5, the average rate at point D is computed. In the example, the virtual inter-congestion time of the router in question is equal to the inter-congestion time of the network between congestion epochs 4 and 5. Thus, at congestion epoch n=5, for this router belonging to the pathway of the class s in question, the average rate of the router is computed at point D′ in relation to the synchronisation rate.
As this average rate x-5 is equal to average rate x-1, and the same applies to the other classes to which this router belongs and to other routers in the network, a set of average rate values defines the periodic orbit sought.
A variant of the flow diagram given in
Thus, the initialisation of instantaneous rates is carried out at step 0 in Appendix B3. Each instantaneous rate x-n[s,i] takes the value of a function F(s,i). This value is either a given fixed value or a value obtained by random selection. As previously, the iteration in Appendix B4-0 corresponds to the iteration of steps 1, 2 and 3 in Appendices B4-1, B4-2, B4-3. In this alternative embodiment, there is no wait until a periodic orbit is obtained. The value of the maximum number of iterations Max_iter varies, for example according to the length of time for which the network (temps_{Max_iter}) is analysed or in relation to practical constraints such as the simulation time. As previously, “a posteriori” visual graphic observation gives some idea as to whether or not a steady-state mode has been attained.
Thus, step 1 in Appendix B4-1 computes the virtual inter-congestion times of each router, the rates x_n being stochastic (at 0b). Step 2 in Appendix B4-2 computes the virtual inter-congestion time of the network and, at (1b) the current instantaneous rate x_n[s] of each class s at the n-th congestion epoch. (1b) applies the mechanism of linear increase (AI described in the documents presenting the AIMD model) to all the sources.
At step 3 in Appendix B4-3, the multiplicative decrease element (MD) of the AIMD mechanism is applied to the instantaneous rates of the sources passing through the congested router (at 2b).
A further variant of the flow diagram given in
Algorithm 3 corresponds to algorithm 2 in which algorithm elements preceded by an asterisk have been added. The following variables have also been added relative to the buffer memory of the routers:
Thus, at step 0 in Appendix B5, the algorithm elements added to algorithm 2 are the zero initialisations of queue sizes bb_n[r] and bn_n[r].
At step 1 in Appendix B5-1, the computation of the virtual inter-congestion time of a router at congestion epoch n takes into account the virtual inter-congestion time of the router without buffer memory and the calculation of the intermediate queue size of the router.
At step 2 in Appendix B5-2, after computing the inter-congestion time of the network tau_n at the congestion epochs n and updating the rates, the queues bn-n[r] are updated depending on whether or not, for a congestion epoch n and a given router, the inter-congestion time of the network is greater than the time tau0_n[r].
Other embodiments of the invention are envisaged below.
Thus, instead of being predefined, the synchronisation rate is estimated in the following description. Several estimates are possible.
Assuming that synchronisation is independent of throughput rate (case RI), an approximation of synchronisation rate of the type C1-1 can be made, L being the probability of packet loss over a duration of delta[s,r] starting from a full buffer memory (buffer), delta being the reaction time of the protocol, TCP for example, to a loss. This formula is obtained by the approximation that the ratio B[r]/C[r] is well below the average value of the virtual inter-congestion times tau_n[r] for each router, in other words B[r]/C[r]<<average of (tau_n[r]).
When an incoming rate to a router is practically equal to the outgoing rate from the same router, and when the size of the buffer memory B[r] is negligible, the variables of the formulation C1-1 are computed as follows:
When the input rate of a router is different from the output rate of the same router, and when the size of the buffer memory B[r] is not negligible, the variables of formulation C1-1 are computed as follows:
In the case where synchronisation is independent of rate, the random variable gamma[s,r] is determined for example in accordance with Bernoulli's law as previously seen. Assuming that synchronisation is dependent on rate (case RI), the synchronisation rate is computed by an approximation of the type C2-1.
In all estimation cases, the synchronisation rate is estimated for each router and for each class to which this router belongs. In all estimation cases, the random variable gamma[s,r] is determined, for example, in accordance with a linear model, or a model as a function of rate in an exponential or polynomial manner.
The method described assumes that the network parameters and the parameters of each TCP source are given.
The device and the corresponding method can have the following typical applications.
One direct application is the prediction of the performance of the connection for a typical user in a given network configuration. The performance sought is, for example, the average rate obtained by a user, and more generally a guaranteed rate for a certain percentage of the connection time, a loss rate, or any other values which depend of the temporal fluctuation of the instantaneous rate. Another direct application is the implementation of an optimised TCP traffic generator.
Other indirect applications derive from the first of the previous applications. Thus, the local architecture can be optimised for a fixed performance objective by:
The following can also be optimised:
The invention covers the software product including the functions used in the test process. The invention also covers the software product defining the elements of the processing module of the device according to the invention.
It is to be understood that the invention is not limited to the form described above but extends to other alternative embodiments.
Thus, in another embodiment of the invention, the sources are of the HTTP type. In an alternative embodiment, the synchronisation rate is directly estimated by independent simulation. In another embodiment, the routers are of the fair queuing (FQ) type.
This simulation can also be applied to applications other than computer networks, for example any type of network topology in a variety of fields (road network, waterway network, etc.).
A1. Network Parameters
A1-1 N_Router: number of routers;
A1-2 C[N_Router]: capacity of routers (unit in packet/s);
A1-3 B[N_Router]: buffer size of routers (unit in packet/s);
A1-4 L[N_Router][N_Router]: transmission time (pure propagation);
A1-5 RT[N_Router]: router type: FIFO, FQ, RED, etc.
A2. Class Parameters
A2-1 N_Classe: class number of sources;
A2-2 ST[N_Classe]: session type, FTP or HTTP, of the class;
A2-3 SN[N_Classe]: number of sources per class;
A2-4 SR[N_Classe]: end-to-end path of a class;
A2-5 SB[N_Classe]: propagation time (source)-(access router);
A2-6 SE[N_Classe]: propagation time (terminal access router)-(destination);
A3. Description of Model Variables
A3-1 X_n[s,i]: instantaneous rate of source ‘i’ of class ‘s’ at the n-th iteration;
A3-2 x_n[s,i]: average rate of source ‘i’ of class ‘s’ at the n-th iteration;
A3-3 N[r]: number of sources using the router ‘r’;
A3-4 rtt[s]: round-trip time of the class ‘s’;
A3-5 tau_n: n-th inter-congestion time of the network;
A3-6 tau_n[r]: n-th virtual inter-congestion time of the router ‘r’;
A3-7 gamma[s,r]: random variable of synchronisation;
C1. Estimation of Synchronisation Rate Independent of Throughput Rate (Case RI)
C1-1p(RI)[s,r]:=(1−exp(−C[r]*delta[s,r]*L/N[r]))/(1−exp(−C[r]*delta[s,r]*L));
C1-2L=1/(B[r]+1)
C2. Estimation of Synchronisation Rate Dependent on Throughput Rate (Case RD)
C2-1p(RD)[s,r]:=p(RI)[s,r]*x—n[s]/som[r];
C3. Probability of Loss L in the Case of a Non-Negligible Buffer Memory
C3-1L=rho{circumflex over ( )}B[r]*(rho−1)/(rho{circumflex over ( )}(B[r]+1)−1);
Number | Date | Country | Kind |
---|---|---|---|
01/14608 | Nov 2001 | FR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR02/03825 | 11/7/2002 | WO | 6/15/2005 |