________________________________________________________________________________ ATM Forum Document Number: ATM_Forum/98-0830 ________________________________________________________________________________ Title: Packing Density of Voice Trunking using AAL2. ________________________________________________________________________________ Abstract: In this contribution, we study the effect of CPS Timer_CU value on the packing density of voice trunking using AAL2. Assuming ITU G.723.1 is used for voice encoding, we set up a Markov chain model to analyze the AAL2 packing process. We find that the packing density, which is directly linked to link efficiency, depends on the Timer_CU value and number of users in the system. The analysis of this contribution gives an algorithm to calculate a reference Timer_CU value to achieve desired link efficiency. ________________________________________________________________________________ Source: 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 This presentation of this contribution is sponsored by NASA Lewis Research Center. This research was sponsored in part by US Army CECOM Contract DAAB08-98-C-B305. ________________________________________________________________________________ Date: November 29 - December 4, 1998 ________________________________________________________________________________ Distribution:ATM Forum Technical Committee VTOA, TM working groups ________________________________________________________________________________ Notice: This contribution has been prepared to assist the ATM Forum. It is offered to the Forum as a basis for discussion and is not a binding proposal on the part of any of the contributing organizations. The statements are subject to change in form and content after further study. Specifically, the contributors reserve the right to add to, amend or modify the statements contained herein. ________________________________________________________________________________ 1 Introduction ________________ In ATM_Forum contribution 98-0630[3], Kevin Zhang analyzed the effect of the CPS Timer_CU value on packet delay variation (PDV), and found the CPS Timer_CU value is not relevant in total PDV calculation. By considering the talkspurt and packet arrival pattern, we found that while the statement about PDV is correct, the Timer_CU value has to be set appropriately since it significantly affects the link efficiency. Timer_CU value determines the time after which a cell should be dispatched, even if it is not fully packed. If the 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 contribution, we set up a Markov chain model to analyze the packing process of AAL2 using 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 NetSim simulation was launched to actually implement the AAL2 packing process. The results of simulation confirm our analysis. They are presented in the last section. The result of this contribution allows us to choose an appropriate Timer_CU value according to the number of voice sources to improve link efficiency. 2 Simulation Model ____________________ [Figure 1: AAL2 model] Figure 1 shows our simulation model and the packing process. On the left, a number of variable bit rate 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, where packets are packed into cells. 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. The parameter Timer_CU is used to avoid prolonged delay in case no packets arrive for a long period. When the first packet is put in the cell, the Timer_CU is started. If the cell is not fully packed within the Timer_CU time, the cell (timer) "expires" and the partially packed cell is sent. If the working cell is partially packed and an arriving packet can not fit in the remaining space, the first part of the packet is put into the remaining space and the remainder will be put in the next cell. The Timer_CU for the next cell is started at the arrival of this packet. The cells go through the links and switches and arrive at the destination AAL2. The destination AAL2 will unpack the cells and dispatch each packet to its destination according to the channel identifier(CID) contained in the mini- header of the packet. 3 Voice Model and Packet Arrival Pattern __________________________________________ Human voice consists of alternating talkspurts and silence intervals. It has been found that talkspurt length and silence interval 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 [2]. There a number of standards for coding voice before transmission over the networks. ITU 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 contribution, 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 quite short. This means, during a talkspurt, the arrival of the packets from one voice source is highly predictable. Suppose that the number of voice sources in the system is N and 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 tau ms, where tau is the Timer_CU value. Consider one voice source first. During an average 352 ms talkspurt and 650 ms silence cycle, an average of 12 packets need to be sent as shown in Figure 2. [Figure 2: packet arrival pattern from one source] Let s denote the number of packets generated during a talkspurt interval. In order to have no packet arrival in tau ms, the starting point of this tau ms cannot fall in the tau ms interval before any of these s arrivals. The probability of no packet arrival from this source is (1002- s * tau)/1002, Here we assume tau < 30. On the average, the probability of no packet arrival from one source is p = (1002-E[s] * tau)/1002 = (1002-12 tau)/1002 (1) Voice sources are assumed to be independent. After the receipt of the first packet in the cell, the probability of no packet arrival from all other sources within tau ms is R0= p^(N-1) (2) The probability of one packet arrival from all other sources is R1= (N - 1) * p^(N-2) * (1 - p) (3) 4 Calculation of Packing Density __________________________________ After we have the probability R0, R1, we can now calculate the average packing density. 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 is put in the cell. Let rn be a random variable to denote the remainder length left from the (n-1)th cell. Since each packet has a 3-byte header and a 20-byte payload, the remainder bytes are always less than 23 bytes, i.e., 0 rn 22. This value is exactly the STF field in the nth AAL2 cell. Event rn = 0 happens only when cell n - 1 expires or when rn-1= 1 and cell n - 1 does not expire. Event rn = 1 happens only when rn-1= 2 and cell n - 1 does not expire. Event rn = 2 happens only when rn-1= 3 and cell n - 1 does not expire. . . . . . . Event rn = 22 happens only when rn-1= 0 and cell n - 1 does not expire. Therefore, {rn} is a Markov chain. Consider the stationary state where all {rn} have the same probability distribution. Let r be any of these rn, denote pi= P{r = i}, i = 0, ..., 22. (4) and Qi= P{timer_CU expires| r = i}, i = 0, ..., 22, (5) Since an AAL2 cell has 47 bytes payload, and for G.723.1 a CPS packet has 23 bytes, it happens that for all i = 0, ..., 22, Qi= P{less than 2 packets are received in tau ms} = R0+ R1. (6) Denote Q = R0+ R1. (7) then the transition matrix is r=0 r=1 r=2 r=3 ... r=21 r=22 r=0 || Q 0 0 0 ... 0 1-Q || r=1 || Q+(1-Q) 0 0 0 ... 0 0 || r=2 || Q 1-Q 0 0 ... 0 0 || r=3 || Q 0 1-Q 0 ... 0 0 || (8) . || . . . . . . || . || . . . . . . || r=21|| Q 0 0 0 ... 0 0 || r=22|| Q 0 0 0 ... 1-Q 0 || In stationary distribution, p0 = Q + p1 * (1-Q), pi = p_{i+1} * (1-Q), i = 1, 2, ..., 21, (9) p22 = p0 * (1-Q). So p1= p0 * (1-Q)^22, p0= p0(1-Q)^23 + Q, and p0 = Q/(1-(1-Q)^23), pi= p_{i-1}/(1-Q), i = 1, 2, ..., 22. (10) Using these probabilities, we can find the average number of bytes in the AAL2 cell is C = p0*(23*R0+46*R1+47*(1-Q))+sum_{i=1}^{22} pi*(i*R0+(i+23)*R1+47*(1-Q)). (11) Because each 20-byte voice packet has a 3 bytes mini-header and each AAL2 cell has a 6-bytes overhead, the packing density is therefore, D = C/53 * 20/23 * 100%. (12) Notice that 47/53 * 20/23 * 100% = 77.11% is the maximum possible density. 5 Results and Conclusion __________________________ To validate our analysis, we wrote a NetSim 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 are the number of cells that have 0, 1, 2 or more packet arrivals since the packing of the first packet. The average density calculated from the total number of bytes in all cells is listed in the last column. ______________________________________________________________ | tau |total cells|receiver 0|receiver 1|received2|density(%)| | 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 | |_____|___________|__________|__________|_________|__________| Table 1: Simulation results: number of packets received within tau ms We calculate the corresponding R0, R1, R2+ = 1 - R0- R1, and compare them with our analysis results. In Figure 3, the analytic probabilities are shown with solid lines and simulation data are shown with "+"s. [Figure 3: R0; R1 and R2+ for different Timer_CU values. 60 sources. solid line: calculation; "+": simulation.] The resulting packing density for different Timer_CU values is shown in Figure 4. Again the analytic calculation is shown with solid line and the simulation data are shown with "+"s. This simulation data match the analytic calculation perfectly. [Figure 4: Packing density for different Timer_CU values. 60 sources. solid line: calculation; "+": simulation.] From the analytic formula for density, we can calculate the appropriate Timer_CU value to reach the desired packing density. Figure 5 shows the needed Timer_CU values in order to reach 90% and 95% of the maximum packing density. [Figure 5: Timer_CU values to reach 90% and 95% of the maximum packing density.] In conclusion, we find that Timer_CU value can have significant effect on the link efficiency. An appropriate choice of Timer_CU value depends on the number of voice sources and delay requirements. A smaller number of sources requires a larger Timer_CU value to reach a certain level of link efficiency, while a larger number of sources needs a smaller value. The analysis of this contribution gives an algorithm to calculate a reference Timer_CU value to achieve desired link efficiency. References __________ [1] Paul T. Brady, A model for generating ON-OFF speech patterns in two-way conversations. Bell System Technical Journal, Vol 48, pp 2445-2472, Sept 1969. [2] Shuang Deng, Traffic characteristics of packet voice, IEEE International Conference on Communications, Vol 3, pp 1369-1374, 1995. [3] Kevin Zhang, Packet Delay Variation in Voice Trunking using AAL2, ATM Forum contribution 98-0630, October 4-9, 1998, Australia.