Embodiments of the present invention relate to network analysis tools and more particularly to network analysis tools configured for providing an analysis of different classes of network traffic being served at multiple inputs to a scheduler in a network and for use in scheduler hierarchies.
A communication network is a collection of network elements interconnected so as to support the transfer of information from a user at one network node to a user at another. The principal network elements are links and switches. A link transfers a stream of bits from one end to another at a specified rate with a given bit error rate and a fixed propagation time. The rate at which a buffer is served is the service capacity, measured in bits per second. Other common terms for service capacity are link-rate and bandwidth. Important links are:
Several incoming and outgoing links meet at a switch, a device that transfers bits from its incoming links to its outgoing links. The name “switch” is used in telephony, while in computer communications, the device that performs routing is called a router; the terms are used interchangeably in this specification. When the rate of incoming bits exceeds that of outgoing bits, the excess bits are queued in a buffer at the switch. The receiver of each incoming link writes a packet of bits into its input buffer; the transmitter of each outgoing link reads from its output buffer. The switch transports packets from an input buffer to the appropriate output buffer. An schematic example of such a network arrangement is shown in
The quality of a communications network service, as perceived by a user, varies greatly with the state of the network. To make packet-switched networks economically viable, it is necessary to be able to guarantee quality while reducing capital investment and operating expenses.
Degradation in the perceived quality of a service can often be traced back to loss or delay of data packets at a node or switch in the network. User satisfaction can be guaranteed by managing loss and delay of packets at those nodes where congestion can occur.
Typically, users transmit bits in bursts: active periods are interspersed with periods of inactivity. The peak rate of transmission cannot exceed the link rate. The mean rate of transmission, by definition, cannot exceed the peak rate. The ratio:
is a measure of what is called the burstiness of the source.
Loss and delay of data packets at a node in the network arise from the queuing of packets in the buffers of switches or routers. Buffers are required to cope with fluctuations in the bit-rate on incoming links. However, if the buffers are too small, packets will be lost as a result of buffer overflow; if the buffers are too large, some packets will experience unacceptable delays. For a given buffer-size, loss and delay can be reduced by increasing the capacity of the outgoing link.
To eliminate packet loss entirely, it would be necessary to increase the capacity of the outgoing link to equal the sum of the capacities of the incoming links. This is prohibitively expensive. Nevertheless, it is a strategy employed sometimes by network operators who take a conservative view on assuring network quality of service.
Another known technique is based on an understanding that it is unnecessary to eliminate packet loss and unacceptable packet delay in order to give satisfactory perceived quality. It is enough to keep their frequency within predetermined bounds. These bounds are referred to as Quality of Service (QoS) targets. The term Quality of Service (QoS) is used to describe the level of packet loss, packet delay and variation in delay experienced when traffic crosses a network.
The optimal way to ensure satisfactory perceived quality is to provide the minimum capacity that will guarantee the QoS targets. This minimum capacity is referred to as the Bandwidth Requirement (BWR) of the bit-stream. It lies somewhere between mean rate and the peak-rate requirement.
Modern internet protocol (IP) networks are used by many different applications and each one requires a different level of service from the network. Some transmit small volumes of data but depend critically on the variation in time for individual packets to transit the network; some require timely transmission of large volumes of data but are insensitive to the variation in delay experienced by individual packets. The wide variety of applications carried by a network can be grouped into broad categories according to their QoS requirements. For example, a real-time category might contain applications such as “Voice over IP” or “video conferencing” which require tight control on the delay experienced by their traffic.
The QoS obtained by a particular application's traffic is determined by the route the traffic takes across the network and the amount of queuing that is encountered at each of the routers along that path. The more service that is available on the link between a pair of routers, the smaller the queues will be at those routers. Each link is likely to be shared by the traffic from many different applications. If all this traffic is queued together, it will all experience similar QoS. The first step in obtaining differing levels of QoS for different applications is sorting the traffic into classes based on its QoS requirements. The traffic from each class can then be queued separately, allowing different QoS for each.
Having classified the traffic into different queues, the operator can then define a scheduling policy that defines the order in which packets from the different queues will be transmitted on the link. The most common scheduling algorithms consist of two basic disciplines:
The simplest scheduling discipline is to allocate strict priority to one queue over another. In that case, if both queues have traffic awaiting transmission then all the packets from the higher priority queue will be transmitted first. We refer to such a scheduler as a Priority Scheduler.
Sometimes it is not possible or desirable to rank the service classes in strict priority. In that case, the usual alternative is to share the available service capacity between the classes in configured proportions. There are several different algorithms for doing this; examples include Weighted Fair Queuing (WFQ) or Deficit Weighted Round Robin (DWRR). In this document, we refer to these algorithms collectively as Weighted Schedulers.
These algorithms can be combined to create more complex scheduling hierarchies. For example, consider a four-queue system where one queue has high priority and the remaining service is shared between the other three queues by a WFQ scheduler.
These classification and scheduling mechanisms allow for differentiating between service classes and ensure that different classes obtain different levels of QoS. However, they do not alone solve the problem of ensuring that classes achieve their QoS targets. Classes can be arranged into a complex scheduling hierarchy with prioritisation and weighted sharing of service, but it is often still unclear whether the service-level objectives for the classes are being met. The missing piece is the relationship between the available bandwidth and the QoS received by the classes. This relationship is at the heart of the following questions:
What QoS is being achieved by each class?
For a given scheduling configuration, which classes are meeting their QoS targets?
How much bandwidth is required to achieve desired levels of QoS?
Existing approaches to this problem include:
applying heuristic “rules of thumb” or general manufacturer's guidelines; adjusting a default configuration to the demands of a specific site by trial-and-error based on the quality received;
calculating the bandwidth needs of each class from models of the traffic (e.g. multiplying the bit-rate of a single VoIP call by the average number of calls in progress);
testing configurations with synthetic traffic generators before using them in a live network.
These techniques do not respond to changes in the traffic, or at best respond slowly. The latter two require modelling of the network traffic which has a very complex structure not easily captured by statistical models. The first technique is time-consuming, requires detailed measurements of the QoS being received and can not be used to examine the effect of changes in configuration without first making the changes.
One statistical attempt which is based on a single class of traffic is known from U.S. Pat. Specification No. 6,580,691 (Bjoerkman et al) which provides an estimation of the band width requirement (BWR) by making certain statistical assumptions about the traffic flow. The method described provides a polygonal approximation to a scaled cumulant generating function (sCGF). This US Patent Specification discloses a method and system for estimating the sCGF on-line in real time and using it to estimate the BWR. The statistical assumptions made by the sCGF method require a particular relationship between a quality target (such as a packet delay) and the frequency with which that target is exceeded. This relationship is exploited in the production of a compact traffic descriptor. This method suffers in that it is limited to a single class and therefore cannot be applied to the normal IP networks of today where multiple classes are carried on a single network and their flow through the network needs to be scheduled appropriately.
A first embodiment of the invention may use a scaled cumulant generating function (sCGF) to capture the relevant statistical properties of the traffic. Embodiments of this invention may provide a method of calculating a sCGF that describes the statistical service available to a class by combining the sCGFs of the traffic on the other classes in a manner that reflects the detailed scheduling configuration. The quality being achieved at each class can then be determined from the CGFs of its traffic and its available service.
Embodiments of the invention also provide a network analysis tool according to claim 1 with advantageous embodiments provided in the dependent claims thereto. A network architecture according to claim 11 may also be provided. Furthermore in accordance with the teaching of embodiments of the present invention a bandwidth analyser according to claim 12 may also be provided. A scheduler optimiser in accordance with the teaching of claim 13 may also be provided. Embodiments of the invention may further teach a method of analysing different classes of network traffic being served at multiple inputs to a node in the network in accordance with the operations of claim 14.
Exemplary embodiments of the present invention will now be described with reference to the accompanying drawings in which:
Embodiments of the present invention will now be described with reference to the following drawings.
Various aspects of the illustrative embodiments will be described using terms commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. However, it will be apparent to those skilled in the art that alternate embodiments may be practiced with only some of the described aspects. For purposes of explanation, specific numbers, materials, and configurations are set forth in order to provide a thorough understanding of the illustrative embodiments. However, it will be apparent to one skilled in the art that alternate embodiments may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the illustrative embodiments.
Further, various operations will be described as multiple discrete operations, in turn, in a manner that is most helpful in understanding the illustrative embodiments; however, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation.
The phrase “in one embodiment” is used repeatedly. The phrase generally does not refer to the same embodiment; however, it may. The terms “comprising,” “having,” and “including” are synonymous, unless the context dictates otherwise. The phrase “A/B” means “A or B”. The phrase “A and/or B” means “(A), (B), or (A and B)”. The phrase “at least one of A, B and C” means “(A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C)”. The phrase “(A) B” means “(B) or (A B)”, that is, A is optional.
Within an IP network traffic can be classified according to its nature or class. As mentioned above in the Background to the Invention, classes may include Voice over IP (VoIP), data traffic and the like. Embodiments of the present invention may provide for a capture of the statistical nature of the service available to each class in a scheduling hierarchy. Using an approach based on large deviation theory, the statistical characteristics of traffic and service that are relevant to the queueing properties of the traffic can be summarised by mathematical functions called scaled Cumulant Generating Functions (sCGF's). The sCGF may describe the statistics of a random process. If we view the traffic arriving at a queue as a random process and denote the cumulative volume arriving at the queue as a function of time by A(t) (i.e. the Arrivals Process), then the sCGF of the traffic λA(θ) may be given by,
As will be known from a review of U.S. Pat. No. 6,580,691 (the contents of which are incorporated herein by way of reference), it is known to use the sCGF to analyse the queuing properties of traffic being served at a constant rate. The key to the analysis is the calculation from the traffic's CGF and the constant service rate of an asymptotic decay rate for the queue-length distribution. It is possible to extend this analysis to the case where the service rate is not constant but instead varies stochastically; for example, see “Large Deviations and overflow probabilities for the general single server queue, with Applications” Duffield and O'Connell, Mathematical Proceedings of the Cambridge Philosophical Society, 118 (1995) 363-374).
Just as the traffic can be described by a sCGF, so too can the service available to the queue. In a similar fashion to how the sCGF of the traffic can be given by Equation 1, for a random process S, the sCGF (λS(θ)) of the service may be determined from Equation 2 below,
where the cumulative available service is denoted by S(t).
The sCGF of the service available to a class may depend on the total service available at the link, the details of the scheduling policy and the sCGFs of the other classes in the hierarchy. Heretofore, it was not possible to take the possibility and effect of the contribution of different classes into account. Embodiments of this invention may provide a method of calculating the service sCGF for each class in scheduling hierarchy. The calculation may be done in a modular fashion that mirrors the structure of the hierarchy. Firstly, a service sCGF may be constructed to represent the total capacity available at the link. For the first scheduler in the hierarchy, this may be used to calculate a service sCGF for each of the inputs. In turn, these sCGFs may be used as the input to schedulers further up the hierarchy.
For example, consider the scheduling hierarchy shown in
The service sCGF for the input to a scheduler may depend on the traffic sCGFs at the other inputs and the sCGF describing the service available to the scheduler as a whole. The calculation of an input's service sCGF may also depend on the scheduler type, and certain assumptions can be made:
Priority. For any input to a Priority scheduler, the traffic may be transmitted using the excess service after all the waiting traffic of higher priority has been served. So the service available to any input may be that available to the scheduler minus that taken up by higher priority inputs.
Weighted. The service sCGF for an input may be modelled as the sum of two parts:
1) a share of the scheduler's service sCGF proportional to the class's weight
2) low-priority access to the remainder of the scheduler's service. This is a simplified assumption which captures most of the sharing of service between classes.
Finally, if the service sCGF (λS) and the sCGF of the traffic arriving at a queue, λA, are both known, then it can be determined whether the traffic arriving at the queue will achieve its quality targets. QoS targets for a queue may consist of a tolerated level of packet loss (due to buffer overflow) pl, together with a delay bound D and an associated tolerated level of delay violation pd. In other words, in a queue that is meeting such a target, the fraction of packets dropped will be less than pl and the fraction delayed by more than D seconds will be less than pd. It will therefore be appreciated that the QoS can be determined in respect of either a delay constraint or a loss constraint—ie how long a particular packet is delayed at a point in the network or how many packets are lost respectively.
The delay constraint will be met if
With regard to the determination of whether a loss constraint is being met by the available stochastic service, one technique in accordance with embodiments of the invention may be to convert it into an equivalent delay constraint. In order to convert the loss constraint it may be necessary to obtain a second sCGF which further characterises the traffic in the class. This second sCGF may be called the packet-arrivals CGF and may be defined by the equation:
where N(t) may denote the cumulative number of packets seen in t seconds. In conjunction with the arrivals or input sCGF, the packet-arrivals sCGF may characterise the packet-size distribution and can be used to derive a delay constraint that is equivalent to a specified loss-constraint by techniques such as those described in “Logarithmic asymptotics for unserved messages at a FIFO” Duffy and O'Sullivan, Markov Processes and Related Fields, 10 (1), 175-189, 2004. If the traffic meets this delay constraint in the multi-class system with stochastic service (as determined by equation 3) then the loss constraint may be met.
With regard to the calculation or estimation of service sCGF's, it will be appreciated that these can be subdivided into constant, priority and weighted depending on the application. A constant service rate may be defined as follows: if the service available to a class is constant at rate C, then S(t)=Ct and λS(θ)=Cθ, i.e. there may be a linear relationship between the service sCGF and the service available to the class. In a priority scheduler, the service available to any input may simply be the service available to the scheduler minus the amount of service used by higher priority inputs. Let Ω(θ) denote the service available to the scheduler and λi(θ) the sCGF of input i. Assuming that the inputs are numbered according to their priority (so that input 1 has higher priority than input 2), then the sCGF of the service available to input j may be
A weighted scheduler may be modelled by firstly allocating each input its configured share of the service; then each input may be additionally considered to have low-priority access to the remainder of the service, where the other inputs share high priority access. To be more concrete, if the input's weight is φ, then using the same notation as above we get that the sCGF for the service available to input j as
Equation 6
It may be possible to determine for each class, based on the service sCGF and traffic sCGF, whether specified QoS targets will be met. The bandwidth required at the link to satisfy the QoS demands of all classes can be determined by repeating the above procedure with various different values for the total service capacity until the minimum is found that allows the targets to be met at every class. Similarly, different scheduling hierarchies can be tested to find out if it is possible to meet the demands of all classes by adjusting the weights or prioritising classes differently.
It will be understood that the methodology of embodiments of the present invention heretofore described may require the calculation of a sCGF for the traffic at the router. One technique for such calculation of a sCGF is described in detail in U.S. Pat. No. 6,580,691 and may be readily apparent to the person skilled in the art on a review of this disclosure.
Another possibility is to select a statistical model for the traffic in a class and to calculate the sCGF from the mathematical expression. For instance, some particular traffic class may consist of very regular traffic which arrives at a constant rate R; in that case, the sCGF of the traffic may be simply given by the expression Rθ, in a manner similar to that described with reference above to the estimation of service rate sCGF for a constant service rate. More generally, if the statistical behaviour of the traffic closely approximates a mathematical model (e.g. the Poisson process) then the corresponding sCGF can be calculated for the model in accordance with known mathematical techniques. It will be appreciated that each of these techniques may have associated error parameters and that these errors can be compensated for or ignored depending on the degree of accuracy required for the specific measurement.
It will be appreciated that embodiments of the present invention may provide for a number of benefits including:
Real-time reporting of the QoS being achieved by traffic passing through a router or the bandwidth required at the link to achieve specified QoS levels. Such reporting may be advantageous for a number of reasons including the capability to modify the bandwidth available to specific applications dependent on criteria being met;
Off-line planning: for instance, determining in advance the effect of changing a scheduling discipline or introducing multi-class queuing or the benefits of a link upgrade;
Extensible distributed algorithm enables support for arbitrary combinations of the supported scheduler types. Supporting additional scheduler types may simply involve determining how the service CGF is transformed by the scheduler.
The embodiments of the present invention are advantageous in that they provide for a real-time update on the traffic as it is passing through the network as opposed to the traditional approach, which has tended to rely on statistical modelling of the traffic and subsequently may be unresponsive to changes in the traffic.
It will be further understood that the methodology of embodiments of the present invention, being based on large deviation theory may make certain assumptions relating to size of the buffer systems being analysed. If the system being analysed does not conform to these ideal criteria then modifications may be made to avoid inaccuracies. For example, if the delay constraints are relatively small then it may be necessary to account for the effects of serialisation delay; this can be done by adjusting the delay constraint target.
As will be apparent to the person skilled in the art, embodiments of the present invention may provide for an analysis of the network traffic based on measurements of the traffic and calculations based on those measurements. The tool and methodology of embodiments of the present invention may be implemented in hardware and/or software configurations. For example, the provision of the counters necessary to provide for the counting of the volume and/or packets being routed through the schedulers may be provided in analog or digital electronics or for example as a software module adapted to cooperate with one or more microprocessors.
The words comprises/comprising when used in this specification are to specify the presence of stated features, integers, operations or components but does not preclude the presence or addition of one or more other features, integers, operations, components or groups thereof.
Number | Date | Country | Kind |
---|---|---|---|
PCTIE2004000177 | Dec 2004 | WO | international |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IE04/00177 | 12/23/2004 | WO | 6/27/2007 |