Abstract:
In a first step a maximum waiting time corresponding to different worst cases at the node is computed, whereby the different worst case scenarios are dependent on the constellation of arrivals of packets of a number of active voice connections. In a next step a delay threshold for the maximum waiting time and a probability are defined. In a last step the bandwidth of the network node&#39;s output line is dimensioned in such a manner, that the delay threshold is not exceeded except in cases which occur as rare as the defined probability. Using this dimensioning concept, no packet has to wait more than the predefined delay threshold in most cases. Only in a few “unfortunate” cases, the threshold is exceeded and that happens with the defined probability and that is when more packets are present in the buffer of a network node than considered while dimensioning.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
         [0001]    This application claims priority of European Application No 03009465.0 filed Apr. 25, 2003 and which is incorporated by reference herein in their entirety.  
         FIELD OF INVENTION  
         [0002]    The invention relates to a method for dimensioning voice over IP networks.  
         BACKGROUND OF INVENTION  
         [0003]    Today&#39;s computer networks were originally designed to support a single type of service treating all kinds of traffic as belonging to one traffic class. However, with ongoing convergence of information technology and telecommunications, new applications are evolving, which generate traffic with various characteristics and which also demand different Quality of Service (QoS) criteria. Thus, the existing IP (Internet Protocol) network architecture needs to be upgraded in order to support a variety of services ranging from non-real-time traffic such as ftp and email to real-time traffic such as interactive voice and video.  
           [0004]    Over the past years, several technologies and mechanisms have been developed, which allow the realization of QoSenabled multi-service networks. One fundamental prerequisite for thee types of networks is the capability to differentiate between packets of different traffic streams and to forward the packets appropriately, each with the desired Quality of Service. This requires that for the various traffic streams, separate queues are set up within network nodes, which are then served according to a certain scheduling scheme. Doing so, each traffic stream receives a certain share of the available bandwidth, which if insufficient leads to quality degradation. The two most important Quality of Service frameworks specified by the IETF (Internet Engineering Task Force)—“Integrated Services” (IntServ) and “Differentiated Services” (DiffServ)—rely on the capability of packet differentiation. In the “Integrated Services”, traffic differentiation is proposed on a per-flow basis (i.e., on a very fine-granular basis), while the “Differentiated Services” suggests that only a few traffic classes be defined, which are then treated differently (i.e., differentiation on a traffic-aggregation basis). However, the proposed mechanisms can only achieve good Quality of Service if sufficient bandwidth is provisioned.  
           [0005]    The characteristics of a traffic stream sent out by a voice over IP (VoIP) source are determined by the type of encoder, which is used to convert voice samples into IP-packets. The most common voice coders are constant bit rate (CBR) coders that transmit a fixed-size IP packet every constant interval of time. AG.711 coder, for example, might generate a 200-byte packet every 20 ms, resulting in data rate of 80 kbps.  
           [0006]    For Voice over IP to become widely accepted, it will have to provide a quality level comparable to conventional telephony systems. One crucial factor for the perceived quality of voice communication is the end-to-end delay of voice samples between the speaker and the listener. In Voice over IP systems, this delay consists mainly of encoding and decoding delays as well as packet transfer times between the sender and the receiver. Furthermore, in order to equalize delay jitter, which arises from traffic variations within the network, a playback buffer is employed in the receiver. Incoming packets, whose interarrival times might vary, are temporarily stored and played out in equidistant time intervals, just as they were sent out by the original sender. This playback buffer time also contributes to the overall delay budget. Altogether, the one-way end-to-end delay value should be less than 150 ms for interactive voice communication.  
           [0007]    Having a rather constant coder aid playback buffer delay, one can derive a certain maximum threshold for the network delay. Thus, for IP networks to be able to appropriately support Voice over IP services, network latency has to be kept lower than this threshold. As the main contribution to latency in IP networks is queuing delay, which occurs at network nodes during congestion phases, this delay component increases with each node. Thus, we can derive a certain per-node delay limit in a way that the total delay of the maximum number of nodes in the network is below the given threshold. Based on this per-node delay limit, the network links can be dimensioned.  
         SUMMARY OF INVENTION  
         [0008]    The present invention is, therefore, directed to a method for dimensioning the required bandwidth of a network node&#39;s output line.  
           [0009]    Generally described, the method comprises the steps of:  
           [0010]    (a) computing a maximum waiting time corresponding to different worst cases at the node, whereby the different worst case scenarios are dependent on the constellation of arrivals of packets of a number of active voice connections,  
           [0011]    (b) defining a delay threshold for the maximum waiting time,  
           [0012]    (c) defining a probability, and  
           [0013]    (d) dimensioning the bandwidth of the network node&#39;s output line in such a manner, that the delay threshold is not exceeded except in cases which occur as rare as the defined probability.  
           [0014]    Using this dimensioning concept, in most cases (up to the defined probability) no packet has to wait more than the predefined delay threshold. Only in a few “unfortunate” cases, the threshold is exceeded and that happens when more packets are present in the buffer of a network node than considered while dimensioning. The probabilities that such unfortunate cases happen can be evaluated based on simulations. As a result of the inventive dimensioning concept, the amount of required bandwidth can be drastically decreased (as compared to that required in hardly guaranteed Quality of Service) if only a very small percentage of all connections at all times are negatively affected.  
           [0015]    In brief, providing hard performance guarantees to voice services is extremely costly as very high bandwidth rates are required in order to account for rare cases. By ignoring these rarecases, the amount of required bandwidth can be decreased significantly. Consequently, an almost guaranteed Quality of Service based on the inventive dimensioning strategy is achievable with rather low costs. In addition to capacity planning in IP networks, this dimensioning strategy could be used for call admission control as well to compute the total number of connections that could be supported with a given Quality of Service at one time.  
           [0016]    According to an embodiment of the invention, different dimensioning algorithms are definded for different scheduling algorithms, e.g. for preemptive and non-preemptive priority queuing (PQ) or class-based weighted fair queuing (CB-WFQ).  
           [0017]    According to another embodiment of the invention, in voice-only networks or networks using preemptive priority queuing, the bandwidth lies between L/D (according to a best case dimensioning strategy) and K·L/D (according to a worst case dimensioning strategy), whereby L is the packet length of a voice over IP packet, D is the delay theshold and K is the number of active voice connections. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0018]    Additional features and advantages of the present invention are described in, and will be apparent from, the following detailed description of the Invention and the Figures.  
         [0019]    The figures show:  
         [0020]    [0020]FIG. 1: a structogram for schematically illustrating the fundamental units of a voice over IP network;  
         [0021]    [0021]FIG. 2: a diagram with the required link capacity for the two dimensioning approaches “worst-case dimensioning” and “best-case dimensioning”;  
         [0022]    [0022]FIG. 3: a diagram with the required link capacity assuming “K−i)-packet worst-case dimensioning”; and  
         [0023]    [0023]FIG. 4 a table with formulas for calculating a link capacity, which is needed to satisfy a certain per-node delay limit using (K−i)-packet worst-case dimensioning for different scheduling algorithms. 
     
    
     DETAILED DESCRIPTION OF INVENTION  
       [0024]    [0024]FIG. 1 shows a network IP-N with several nodes N 1 , . . . , N 4 , each of which supports a set of traffic classes by implementing separate queues Q 1 , Q 2 , Q 3  per output port. In this invention, we consider all voice traffic to be treated as one class, giving it aseparate queue Q 1  while other queues Q 2 , Q 3  may contain any other kind of traffic. In order to account for a general network model with various network topologies, traffic at every node N 1 , . . . , N 4  is assumed to be independent from other nodes N 1 , . . . , N 4 .  
         [0025]    In this example of the invention, we focus on node N 1  and analyze the multiplexing process of several incoming lines Il, . . . , IK onto one outgoing line O. We assume that K voice connections are active and that the corresponding VoIP  
         [0026]    packets need to be forwarded onto the same outgoing line O with capacity C. The traffic of each voice connection  1 , . . . , K is generated by a CBR encoder without silence suppression, i.e., packets of lengthL are sent out with a periodicity of T seconds, resulting in an average rate r=L/T. For simplification, we assume that the K traffic streams reach the node N 1  over different input lines Il, . . . , IK. This way, it is possible that K incoming VoIP packets arrive at the node N 1  at almost the same time and being instantaneously pt into the output buffer. In any case, a threshold D of the queuing delay at each node N 1 , . . . , N 4  should not be exceeded by any of the voice packets. The maximum packet size of the other traffic classes traversing the router is assumed equal to the es put line&#39;s  0  maximum transfer unit (MTU).  
         [0027]    The scheduling algorithms used in the nodes N 1 , . . . , N 4  are priority queuing (PQ) and class-based weighted fair queuing (CB WFQ). Priority queuing assigns priority levels to the different queues Q 1 , Q 2 , Q 3 . Packets in a lower priority queue Q 1 , Q 2 , Q 3  are not processed until all packets of higher priority queues Q 1 , Q 2 , Q 3  are serviced and the corresponding output buffers are empty. A preemptive type of priority queuing aborts transmission of a lower priority packet upon the arrival of a higher priority one, whereas a non-pre-emptive priority queuing allows the completion of the transmission and finishes serving the lower priority packet first. Priority queuing has been proposed as an adequate scheduling for the expedited forwarding per-hop behavior (EF-PHB), which grants premium service to a defined aggregate of traffic in the “Differentiated Services” model and has been introduced to support real-time critical traffic such as voice. Voice traffic is normally given the highest priority as it is also assumed in this invention. With priority queuing, it is possible that traffic classes with the highest priority take up the whole bandwidth and push out lower-priority traffic. Class-based weighted fair queuing is an alternative to priority queuing, which allocates a weight to each class or queue Q 1 , Q 2 , Q 3  and shares the link a capacity among the busy queues Q 1 , Q 2 , Q 3  in direct proportion to their assigned weights. Thus, no traffic class is capable of seizing the whole link at congestion times.  
         [0028]    Assuming that a maximum of K VoIP connections are forwarded to one output line O, we need to find the output line&#39;s O necessary bandwidth that provides a certain Quality of Service. In this invention, Quality of Service is directly related to a certain queuing delay thresholdD at each node N 1 , . . . , N 4 . Furthermore, assuming that all VoIP sources implement the same encoders, K packets (belonging to the K connections) will arrive within any time interval T. During network operations, a call admission control scheme has to assure that not more than K connections are allowed on the output line  0 . Otherwise, the required Quality of Service cannot be provided.  
         [0029]    A first dimensioning approach is based on worst-case considerations, which give hard Quality of Service guarantees, i.e., all packets of the K voice connections are definitely served within a delay threshold of D, irrespective of the load situation. Deterministic upper bounds on queuing delays in packet-switched networks correspond to the case when K IP packets arrive all at exactly the same time instance. It then has to be assured that the packet, which happens to be put into the buffer last and which has to wait longest, is still sent out within timeD. Thus, K·L bytes have to be sent within D requiring a rate of K·L/D. This dimensioning concept, is referred to as worst-case dimensioning or hard-guaranteed dimensioning.  
         [0030]    Instead of deterministic delay bounds, statistical delay values can be considered. Taking into account that the K packets usually arrive in some way distributed over the time periodT, a smaller bandwidth seems to be sufficient. This way, softer Quality of Service guarantees are given and the dimensioning strategy is referred to as average case dimensioning or statistical-guaranteed dimensioning. However, one has to be aware that in some cases, not all of the packets can be serviced within the time threshold D if statistical-guaranteed dimensioning is used.  
         [0031]    The opposite extreme of worst-case dimensioning would be best-case dimensioning. This approach corresponds to a scenario where every packet arrives at the moment when the previous packet has just been sent out. Based on this scenario, the required capacity is at leastL/D. In any case, the minimum required capacity is the mean rate of the K connections.  
         [0032]    [0032]FIG. 2 illustrates the bandwidth range between the two extremes, worst-case dimensioning and best-case dimensioning, for L=200 bytes, T=20 ms, and D=5 ms. For each of these extreme expectations, the required link capacity is shown assuming that the network supports only voice services or employs preemptive priority queuing. As the number of connections or active users K increases, the range gets broader. It is also shown that worst-case dimensioning requires rates much higher than the mean rate of the active users causing very low link utilization values, e.g., for K=10, the link utilization is 10·80/3200=0.25=25%. In contrary, best-case dimensioning starts slightly higher than the mean rate and then coincides with it at K=4, causing a 100% link utilization.  
         [0033]    While best-case dimensioning certainly does not achieve satisfactory Quality of Service in most cases (too many active connections would exceed their delay budget), worst-case dimensioning is considered a highly pessimistic assumption. Here rises the question, how necessary it is to dimension according to the worst-case scenario and how frequent this case exists.  
         [0034]    For the worst-case scenario, we assume a slotted time intervalT where each slot is equal to the service time of one packet. Packet arrivals occur at the beginning of a slot and are uniformly distributed over all available slots in the time intervalT. Having periodic sources, only one packet per active connection appears every interval T. If link utilization is 100%, i.e. the number of usersK equals the number of time slots in T, the probability for the worst-case is  
         P     worst                 case       =       1     K     K   -   1         .                           
 
         [0035]    Obviously, for lower link utilization, P worst case  is even less. Setting K=10 users, P worst case ≦10 −9 . Therefore, we would be wasting 75% of the link capacity (see FIG. 2) just to account for a case that occurs once every 10 9  times. For comparison, the probability of the best-case scenario is computed with 100% utilization as:  
         P     best                 case       =         K   !       K   K       =       P     worst                 case       ·         (     K   -   1     )     !     .                               
 
         [0036]    It evaluates much higher than P worst case  for high K values. Furthermore, for lower link utilization, P best case  is even higher. Setting K=10, P best case ≦3.6·10 −4 . However, if dimensioning is done according to the best case, the desired Quality of Service would not be achieved in at most (1−3.6·10 −4 ) of all cases. It is clear that dimensioning according to either extreme is not realistic. While one approach wastes a lot of bandwidth, the other one leads to service degradation of most voice connections. A practical satisfactory dimensioning strategy should lie somewhere in between.  
         [0037]    We define a (K−i)-packet worst case where during a period T, for K active voice connections, the maximum number of packets in the buffer is K−i, with i=0, 1, . . . , K−1. In other words, the maximum waiting time over all packets is K−i times the individual service time. The last packet waits until (K−i−1) packets in front of it are serviced in addition to ist own service time. Therefore, the worst-case corresponds to i=0 and the best case corresponds to i=K−1.  
         [0038]    [0038]FIG. 3 shows the required link speeds for (K−i)-packet worst cases in voice-only networks or in network IP-N assuming that the used sceduling algorithm is pre-emtive priority queuing. If dimensioning is carried out according to the (K−2)-packet worst case, 20% of the bandwidth can be saved as compared to worst-case dimensioning, leading to service degradation only in (K−0)- and (K−1)-packet worst cases, which arise with a very low probability. In the network IP-N supporting several traffic classes, (K−i)-packet worst-case dimensioning depends on the employed scheduling scheme.  
         [0039]    [0039]FIG. 4 shows a table with formulas for computing the link capacity and bandwidth share, respectively, which are needed to satisfy a certain per-node delay threshold D using (K−i)-packet worst-case dimensioning for priority queuing (PQ) and class-based weighted fair queuing (CB-WFQ). K is the number of active voice connections, L is the packet length, MTU is the maximum transfer unit, r is the voice coder rate at the Internet Protocol layer and C is the outgoing line&#39;s capacity.  
         [0040]    For example the required bandwidth, if pre-emptive priority queuing is used as the scheduling algorithm, is  
             max        (       best                 case     ,       (     k   -   i     )     ×     L   D         )                     with                 i     =   0     ,   …              ,     K   -   1.                           
 
         [0041]    The required bandwidth, if non-preemptive priority queing is used as the scheduling algorithm, is  
             max        (       best                 case     ,           (     K   -   i     )     ×   L     +   MTU     D       )                     with                 i     =   0     ,   …              ,     K   -   1.                           
 
         [0042]    The required bandwidth, if class-based weighted fair queuing is used as the scheduling algorithm, is  
             min   (     C   ,     max        (       best                 case     ,         (     K   -   i     )     ×   L       D   -     MTU   C           )                    )                   with                 i     =   0     ,   …              ,     K   -   1.                           
 
         [0043]    Whereby the required bandwidth, according to the best case dimensioning strategy, is  
             max        (       L   D     ,     K   ×   r       )                     with                 i     =   0     ,   …              ,     K   -   1.