Chunlei Liu, Sohail Munir, Raj Jain
Department of Computer and Information Science
The Ohio State University, Columbus, OH 43210-1277
email: {cliu,munir,jain}@cse.wustl.edu
Sudhir Dixit
Nokia Research Center
3 Burlington Woods Dr., Suite 250, Burlington, MA 01803
email: sudhir.dixit@research.nokia.com
AAL2 has been adopted in ITU-T and ATM Forum to reduce the packing delay for voice trunking. A parameter called ``Timer_CU'' is used in AAL2 to avoid prolonged delay for any packet. However, the AAL2 documents do not discuss how to set the Timer_CU value. In this paper, we establish a Markov chain model to analyze the AAL2 packing process. We find that the packing density and link efficiency depend significantly on the Timer_CU value. The analysis of this paper gives an algorithm to calculate a reference Timer_CU value to achieve desired link efficiency. Simulation results that verify the analysis are also presented.
Since the emergence of computer networks, efforts have been made to transfer voice over networks[ 2, 3, 7]. Starting as a technical novelty, Internet telephony is now becoming a big business. However, the quality of Internet phone still remains a problem. Because telephony is a real-time application, delay, among other quality measurements, is the most important factor that affects the quality of voice. If a packet arrives late, its contents become obsolete and have to be discarded. According to ITU-T Recommendation G.114[ 5], an end-to-end delay of 0 to 150 ms is acceptable for most user applications. A delay of 150 to 400 ms is acceptable provided that administrators are aware of the transmission time impact on the transmission quality of user applications, but any delay above 400 ms is unacceptable for general network planning purposes.
The problem of delay becomes more severe when efficient compression/decompression methods are used. For example, in order to fill an ATM cell which has 48-byte payload, the ITU-T G.711 (64kbps) codec needs 6 ms, but the more efficient ITU-T G.723.1 (5.3kbps) codec needs 72 ms. Notice this 72 ms does not include the propagation delay, queueing delay, etc, that the cell must undergo when it travels through the networks.
ATM Adaptation Layer 2 (AAL2) has been designed to reduce the packing delay. It is described in ITU-T Recommendation I.366.2[ 6] and ATM Forum specification ``ATM Trunking using AAL2 for Narrowband Services''[ 8] . The idea is to multiplex voice packets from several sources into one ATM cell so that the time to fill a cell can be reduced significantly. Figure 1 illustrates a scenario of voice packets from three sources being packed into cells.
Also shown in Figure 1 is the format of AAL2 cells. Every cell has a standard 5-byte ATM header. After the header is the Start Field (STF) that indicates where in the payload the next complete packet starts. For every packet, there is a 3-byte mini-header (H) which includes the Channel ID (CID), Length Indicator (LI), User-to-User Indication (UUI) and Header Error Control (HEC) of the packet.
However, the above packing mechanism has one problem. Suppose the first packet is put into a cell and is waiting for the arrival of other packets to complete the cell. But after an extended period, no other packets arrive. This packet will suffer a prolonged delay.
To avoid such prolonged delay, a parameter called ``Timer_CU'' is proposed in [ 6]. When the packing begins, a timer is set to this parameter value. If the cell is not completely packed within the time period determined by this Timer_CU value, the timer expires and the partially packed cell will be sent.
Zhang[ 9] analyzed the impact of Timer_CU value on packet delay variation (PDV), and found that the Timer_CU value is not relevant in the total PDV calculation. While the statement about PDV is correct, we found that the Timer_CU value has to be set appropriately since it significantly affects the link efficiency. If the Timer_CU value is too small, more partial cells are likely to be sent and the link efficiency will be low. If it is too large, some packets will suffer prolonged delay and the voice quality will degrade.
In this paper, we establish a Markov chain model to analyze the AAL2 packing process using ITU-T G.723.1 voice encoding. The Markov analysis reveals the correlation between successive cells and gives a formula for calculating the packing density based on the Timer_CU value and the number of voice sources in the system. To validate our analytic result, a simulation was launched to actually implement the AAL2 packing process. The results of the simulation perfectly match our analysis. The comparison is presented in section 5.
Figure 2 shows our simulation model and the packing process. On the left, a number of variable bit rate (VBR) voice sources are connected to the source AAL2. The corresponding VBR destinations are shown on the right. Voice sources send voice signal in the form of packets to the source AAL2. The source AAL2 keeps a working cell. Arriving packets are packed into the working cell. Once the working cell is packed, it is sent to the switch.
When the first packet is put in the cell, a timer is set to Timer_CU parameter value. If the cell is not fully packed within Timer_CU time, the cell ``expires'' and is sent even though it is partially packed.
If an arriving packet can not fit in the remaining space in the working cell, the bytes that can be fit in are put into the available space, and the cell is dispatched. The remainder of the packet is put in the next cell and the timer is initialized to Timer_CU.
The cells go through links and switches in the networks and arrive at the destination AAL2. The destination AAL2 unpacks the cells and dispatches each packet to its destination according to the channel identifier(CID) contained in the mini-header of the packet.
Human voice consists of alternating talkspurts and silence intervals. It has been found that talkspurt lengths and silence intervals are exponentially distributed[ 1]. In a commonly accepted model, the talkspurts have a mean length of 352 ms and silence intervals have a mean length of 650 ms [ 4].
There are a number of standards for coding voice. ITU-T G.723.1 is currently the most widely used encoding standard. During talkspurts, G.723.1 sends out a 20-byte packet every 30 ms. During silence periods, no packets are sent. In this paper, we assume all voice sources use G.723.1 as the encoding method.
Compared with the talkspurt length and silence period, the 30 ms packet length is short. This means, during a talkspurt, the voice source emits a series of packets at 30 ms intervals. Therefore, the arrivals are highly predictable.
Suppose that the number of voice sources in the system is Nand that a packet has just been received from a voice source. We want to calculate the probability of no packet arrival from all sources in the next ms, where is the Timer_CU value.
Consider one voice source first. During an average 352 ms talkspurt and 650 ms silence cycle, 12 packets need to be sent as shown in Figure 3.
Let sdenote the number of packets generated during a talkspurt interval. In order to have no packet arrival in
ms, the starting point of this
ms cannot fall in the
ms interval before any of these sarrivals. The probability of no packet arrival from this source is
Voice sources are assumed to be independent. After the receipt of the first packet in the cell, the probability of no arrivals from all other sources within
ms is
and the probability of one packet arrival from all other sources is
The average number of bytes in an AAL2 cell depends on whether there is a remainder from the last cell and how many packets are received since the first packet was put in the cell. Let r n be the remainder length left from the (n-1)-th cell. Then this r n is exactly the STF field in the n-th AAL2 cell. Since each packet has a 3-byte header and a 20-byte payload, the remainder is always shorter than 23 bytes, i.e., .
Event r n =0 happens only when cell n-1 expires or when r n-1 =1and cell n-1 does not expire.
Event r n =1 happens only when r n-1 =2 and cell n-1 does not expire.
Event r n =2 happens only when r n-1 =3 and cell n-1 does not expire.
......
Event r n =22 happens only when r n-1 =0 and cell n-1 does not expire.
Therefore,
forms a Markov chain. Consider the stationary state where all
have the same probability distribution. Let rdenote the random variable for the remainder length, and denote
Since an AAL2 cell has 47 byte payload, and for G.723.1 a CPS packet requires 23 bytes, it happens that for all ,
Using these probabilities, the average number of bytes in an AAL2 cell is:
Because each 20-byte voice packet has a 3 byte mini-header and each AAL2 cell has a 6-byte overhead, the packing density is:
To validate our analysis, we used a simulation program to actually implement the AAL2 packing process. The simulation model is described in Section 2. The results of 11 simulations are summarized in Table 1. The first column is the Timer_CU value used in the simulation. The second column is the total number of cells being sent. Column 3, 4 and 5 respectively are the number of cells that have 0, 1, 2 or more packet arrivals since the packing of the first packet. The actual density is listed in the last column.
total | rcvd | rcvd | rcvd | density | |
cells | 0 pkt | 1 pkt | 2+ pckt | (%) | |
0.5 | 5621 | 4079 | 1246 | 296 | 46.93 |
1 | 5028 | 2339 | 1787 | 902 | 56.00 |
2 | 4286 | 949 | 1462 | 1875 | 64.78 |
3 | 4077 | 479 | 960 | 2638 | 69.00 |
4 | 3705 | 154 | 626 | 2925 | 72.43 |
5 | 3645 | 69 | 315 | 3261 | 74.35 |
6 | 3587 | 26 | 206 | 3355 | 75.42 |
8 | 3470 | 8 | 66 | 3396 | 76.54 |
10 | 3716 | 0 | 10 | 3706 | 77.05 |
12 | 3779 | 0 | 0 | 3779 | 77.11 |
14 | 3632 | 0 | 0 | 3632 | 77.11 |
We calculate the corresponding R
0
, R
1
,
R
2
+
=1-R
0
-R
1
, and compare them with our analysis results. In Figure 4, the analytic probabilities are shown with solid lines and simulation data are shown with ``+''s.
One application of the analytic formula for density is to find the appropriate Timer_CU value to reach the desired packing density. Figure 6 shows the needed Timer_CU values in order to reach 90% and 95% of the maximum packing density.
In conclusion, we find that Timer_CU value has significant impact on link efficiency. An appropriate choice of Timer_CU value depends on the number of voice sources and delay requirements. The analysis of this paper gives an algorithm to calculate a reference Timer_CU value to achieve the desired link efficiency.