The present invention relates generally to telecommunication systems and, more particularly, to a system and method for controlling admission of a voice communication in a connection-oriented packet network, such as an Asynchronous Transfer Mode (ATM) network.
ATM is a switching and multiplexing technique designed for transmitting digital information, such as data, video, and voice, at high speed, with low delay, over a telecommunications network. The ATM network includes a number of switching nodes coupled through communication links. In the ATM network, bandwidth capacity is allocated to fixed-sized units named “cells.” The communication links transport the cells from a switching node to another. These communication links can support many virtual connections, also named channels, between the switching nodes. The virtual connections, for example a Virtual Channel Connection (VCC) or a Permanent Virtual Circuit (PVC), assure the flow and delivery of information contained in the cells.
Each cell contains a cell header and cell data. The cell header includes information necessary to identify the destination of that cell. The components of the cell header include, among other things, a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI), for collectively identifying an ATM connection for that particular cell, and a Payload Type Identifier (PTI), for indicating whether the cell is sent from one user to another, whether cell data refers to administration or management traffic, and whether congestion is present within the network.
The ATM Forum, which is a user and vendor group establishing ATM standards, has also defined several ATM service categories, used in characterization of a virtual connection. For example, among them are categories such as (1) a Constant Bit Rate (CBR), which supports a constant or guaranteed rate to transport services, such as video or voice, as well as circuit emulation, which requires rigorous timing control and performance parameters; (2) a Variable Bit Rate (VBR), real time and non real time, which supports variable bit rate data traffic with average and peak traffic parameters; (3) an Available Bit Rate (ABR), which supports feedback to control the source rate in response to changed characteristics in the network; and (4) an Unspecified Bit Rate (UBR).
Attempts made to allocate the appropriate bandwidth to each connection have resulted in a Connection Admission Control (CAC) process, which uses source traffic characteristics, such as peak cell rate (PCR), average cell rate (ACR), burstiness, and peak duration, and the required quality of service parameters, such as cell loss ratio, cell transfer delay, and jitter, to make a decision whether to accept or reject the connection and to access the amount of bandwidth required by the connection. In the network 100, a user 130 and the network negotiate a traffic contract, whereby the user supplies the traffic characteristics, and the desired quality of service, and the network performs a CAC process to determine whether there is enough free bandwidth to accept the connection.
If the network carries voice communications, such as voice calls, and certain cells are dropped, then all voice calls will suffer degraded voice quality.
A system and method for controlling admission of a voice communication having a communication bandwidth in a network are disclosed. In the network, a virtual circuit having a predetermined bandwidth is provided. An admission request is received for the communication, and a total utilized bandwidth of the virtual circuit is calculated, including the communication bandwidth. If the total utilized bandwidth is less than the predetermined bandwidth of the virtual circuit, then admission is granted to the communication.
Other features and advantages of the present invention will be apparent from the accompanying drawings, and from the detailed description, which follows below.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
a is a flow diagram representing a method for calculating bandwidth savings according to one embodiment.
a is a diagram of a Voice over AAL2 encapsulation of multiple voice packets into cells.
b is a diagram of the Voice over AAL2 encapsulation format.
In an ATM network, an ATM virtual circuit (VC) having a predetermined bandwidth is provided between two nodes within the network to carry voice communications, such as voice calls, between users. As each voice call is added to or removed from the VC, bandwidth requirements are calculated using a table-based algorithm relying on the number and type of voice calls. If a total utilized bandwidth of the VC, including a bandwidth of a newly added voice call, exceeds the predetermined bandwidth of the VC, then the new call is denied access. An intended advantage of one embodiment is a reliable system for voice communications, which ensures that the used bandwidth does not exceed the bandwidth limit of each communication link.
As shown in
In one embodiment, the translation procedure also includes a compression procedure, applied to reduce redundancy in the data packets. Alternatively, the translation may include a silence suppression algorithm, or Voice Activity Detection (VAD), which results in reducing the transmitted bit rate when the user is not communicating. The VAD algorithm will be described in further detail below.
Referring again to
In one embodiment, the CODEC modules 224 and 244 are standardized. Among the available standard CODEC modules are, for example, the G.711 CODEC, providing a standard bandwidth of 64 kilobytes per second (kbps), the G.726 CODEC, having a bandwidth of 32 kbps, and the G.729 CODEC, provided with a bandwidth of 8 kbps.
In the network 230, a virtual circuit (VC) is configured with a predetermined bandwidth BWVC in order to carry a particular service type, for example voice calls. In one embodiment, the network provider sets up the VC based on a user's Service Level Agreement (SLA). For example, with VBR real-time, the network provider must guarantee a sustained cell rate (SCR), while with CBR, the network provider must guarantee a peak cell rate (PCR).
In one embodiment, the bandwidth BWVC is calculated using a spreadsheet available to the network provider, which is based on the number of voice calls, associated CODECs, a number of voice-band data connections (clear channel), and the number of fax/modem up-speeds a customer will be allowed from the total voice calls.
The processing module 222 within the gateway module 220 is provided for calculating a total utilized bandwidth BWU of the VC, and for deciding whether to grant admission to the voice call placed by end user 210. In one embodiment, the processing module 222 is provided with precompiled tables for each encapsulation method, each CODEC type, and each packetization period. These tables give the cell rate (CR), in cells/second, needed when a certain number of voice calls are active. In one embodiment, the precompiled table for different standard CODEC values for the Voice over IP over ATM Adaptation Layer 5(AAL5) encapsulation (VoIP) is shown as Table 1. Similarly, the precompiled table for the Voice over ATM Adaptation Layer 2 (AAL2) encapsulation (VoAAL2) is shown as Table 2. Alternatively, other precompiled tables may be provided for other encapsulation methods, such as the Voice over Frame Relay encapsulation (VoFR).
Bandwidth savings due to VAD are a function of the total number of calls that have the VAD feature active. In one embodiment, bandwidth savings obtained through application of VAD are represented in a precompiled table, having bandwidth savings multipliers as entries. In one embodiment, the bandwidth savings multipliers are calculated off-line based on inputs to a model of VAD bandwidth savings, which could be user configurable.
Alternatively, a set of VAD precompiled tables may be provided without departing from the scope of the present invention. Also, formulas can be used for dynamically calculating table values based on configuration parameters.
VAD Bandwidth Savings Computation
A method for calculating the bandwidth savings will be described in detail below in connection with FIG. 3. In one embodiment, the VAD bandwidth savings multipliers are calculated off-line and the results may be downloaded, hard-coded, or pre-provisioned to the gateway module. Alternatively, the VAD algorithm may be implemented in real time on the gateway module.
In one embodiment, the method for calculating the bandwidth savings relies on a cell drop interval ratio D, representing a measure of the time intervals during which the aggregate bandwidth of simultaneous voice calls exceeds the predetermined bandwidth of the virtual circuit. Considering that
Solving this equation involves an iterative procedure until an acceptable value for C is obtained, given q, A, and D. The bandwidth savings value or VAD factor, f(A), can be calculated as f(A)=C/A. In one embodiment, the method is implemented in C languages software. Alternatively, other software or hardware implementations may be used to obtain C and f(A)=C/A.
a is a flow diagram representing the method for calculating bandwidth savings according to this embodiment. As shown in
Next, at processing block 320, the predetermined bandwidth C is initialized to a value of zero and P(x) is calculated as (1−q) raised to the power of A for x=C=0. Also, a variable Sum is introduced as Sum=P(C).
At processing block 330, (1-Sum) is compared to D and a decision is made whether (1-Sum) is greater than D. If (1-Sum) is greater than D, then the VAD factor f(A)=C/A is returned at processing block 340 and the procedure stops at processing block 350.
Otherwise, at processing block 360, C is incremented and a new value for P(C) is calculated as a function of P(C-1), A, C, and q. Then Sum is updated to Sum=Sum+P(C) and blocks 330 through 360 are iteratively performed until a value f(A) can be returned.
In an alternate embodiment, the method for calculating the bandwidth savings relies on an acceptable over-subscription drop ratio DR, representing a measure of the cell loss that results when the aggregate bandwidth of simultaneous voice calls exceeds the predetermined bandwidth. Considering that
DR is the acceptable over-subscription drop ratio; the optimization task involves finding C such that the drop ratio DR constraint is met.
For example, the task is to find C such that
wherein P{x}=Pr{x calls are active |VAD factor q and A total calls}. In one embodiment, the method is implemented in C language software. Alternatively, other software or hardware implementations may be used to obtain C and the VAD factor f(A), where f(A)=C. This alternate embodiment described above is similar to the method described in the article by Bijan Jabbari and David McDysan entitled Performance of Demand Assignment TDMA and Multicarrier TDMA Satellite Networks, in IEEE Journal on Selected Areas in Communications, vol. 10, No. 2, February 1992, pp. 478-486. However, the method described in the article assumes only integer values for C, wherein the predetermined bandwidth C in this alternate embodiment may be an integer or a non-integer value.
Bandwidth Computation
Generally, every time a call is made, a sum of the total utilized bandwidth, BWU, is calculated. For a voice call to be admitted, the calculated BWU, including the bandwidth of the call to be admitted, must not exceed the predetermined bandwidth BWVC.
If BWU<BWVC, the voice call is accepted.
If BWU>BWVC, the voice call is rejected.
When a voice call is released, BWU is recomputed without taking in consideration the bandwidth of the released call and that call is no longer involved in future calculations. The calculation of BWU for different encapsulations, such as VoIP and VoAAL2, is described in detail below.
1. Bandwidth Computation with VoIP Encapsulation
The headers and AAL-5 trailer total 48 bytes and require one ATM cell 460 to transport data. In one embodiment, in the VoIP encapsulation, irrespective of the encoding scheme considered, two ATM cells 460, 470 are needed to transport one voice data packet. Alternatively, other number of ATM cells, such as three, may be used to transport one digitized voice packet.
At the same time, in one embodiment, an RTP control protocol (RTCP) is used to monitor the quality of service and to convey information about users in an ongoing RTP session. The protocol is based on periodic transmission of control packets to all users in the session, using the same distribution mechanism as the data packets. The underlying protocol must provide multiplexing of data and control packets, for example using separate port numbers with UDP. The main RTCP packets are SR (sender reports) and RR (receiver reports). In one embodiment, the fraction of the session bandwidth allocated to RTCP is 5%, and the RTCP interval between transmissions has a fixed minimum of 5 seconds. Therefore, the fraction of bandwidth needed for RTCP traffic gRTCP is set at gRTCP=0.05.
With i being the CODEC type with a particular packetization period, CRVoIP(i) representing the cell rate, or bandwidth with VoIP encapsulation, in cells per second (cells/s), of one call of a particular encoding type/packetization period with no VAD, vps(i) being the voice packet size for an encoding type with a particular packetization period, ovrhd representing the total overhead of the encapsulation scheme, and pd(i) being the packetization delay of the particular encoding type, then cvp(i) representing a number of ATM cells per voice packet may be calculated with the formula:
and the cell rate
In one embodiment, cvp(i)=2 for a majority of the encoding schemes or CODEC types considered. Alternatively, for the particular G.711 CODEC type, with a 10 ms packetization delay, cvp(i)=3.
Further, considering Ni/VAD as the total number of calls of a particular encoding type (and a specific packetization period) that have the VAD feature active, Ni/no
2. Bandwidth Computation with VoAAL2 Encapsulation
In one embodiment, examples of standards relevant to encapsulating voice over AAL2 are ITU-T I.363.2 and I.366.2, and ATM Forum af-vtoa-113. The ITU-T I.366.2 standard specifies packet formats and procedures to accommodate known techniques of low bit rate audio encoding and silence suppression.
a is a diagram illustrating a VoAAL2 encapsulation of multiple voice packets into ATM cells. Referring to
b illustrates a diagram of the VoAAL2 encapsulation format. Referring to
Thus, with the AAL2 encapsulation, each voice packet 570 has three bytes of overhead, and each cell has an additional one byte overhead. With sub-multiplexing of cells, an ATM cell payload may have more than one voice payload 574. As shown
The computation methods described below account for the bandwidth used by the VoAAL2 connection with a mix of encoding and packetization periods. Considering i a CODEC type with a particular packetization period, Ni a total number of active calls of a particular CODEC type, vps(i) a voice packet size for an encoding type with a particular packetization period, pd(i) a packetization delay of the encoding type, and CRVoAAL2(i,Ni) the cell rate, or bandwidth per call, in cells/s, used by the particular encoding type, then cvp(i,Ni) representing a number of ATM cells that could encapsulate Ni voice packets encoded using the CODEC type i is calculated using the formula:
and CRVoAAL2(i,Ni) is calculated as follows:
In one embodiment, considering a non sub-multiplexed AAL2, where only one voice sample is provided per ATM cell, and voice payloads do not overlap cell boundaries, the bandwidth per call, CRVoAAL2 nomux used by the encoding type i may be calculated as follows:
CRVoAAL2.nomux(i)=CRVoAAL2(i,l)
Then, the total utilized bandwidth BWU becomes:
where f(ΣNi/VAD) is the VAD bandwidth multiplier factor.
Alternatively, considering a sub-multiplexed AAL2, the total utilized bandwidth BWU may be calculated using a succession of formulas shown below.
where i is a CODEC type with a particular packetization period; Ni/VAD is a total number of calls of a particular encoding type (and a specific packetization period) that have the VAD feature active; Ni/no
In a second alternate embodiment relying on the sub-multiplexed VoAAL2 encapsulation, the total utilized bandwidth BWU may be calculated based on a cell rate per polling period, as described in detail below.
In the second alternate embodiment, the voice packets are collected into several buffers. Alternatively, the voice packets may be collected into a single buffer for further processing. Subsequent to the buffering of the voice packets, at certain time intervals, the buffered voice packets are encapsulated into ATM cells and are sent through the network.
Considering that
TP is polling period for a particular hardware implementation, in seconds; the bandwidth savings due to VAD are calculated in this case as described above. If f(N) is the VAD bandwidth savings factor found from a VAD table savings look-up, and N is the number of calls having VAD active, then ƒ(0)=1.
The cell rate required by an AAL2 voice call depends on how the voice data packets are packed into ATM cells. For a particular CODEC, the minimum cell rate CRVoAAL2,min(i) is calculated as follows:
In one embodiment, the voice packets are uniformly distributed to each buffer. The buffers containing voice packets are polled sequentially with a polling period TP using a round-robin polling procedure. Alternatively, other polling methods may be used to contact the buffers and segment the voice packets from each buffer into ATM cells.
At the end of a polling period, the voice packets are sent to the AAL2 CPS layer of the AT M cells. The cell rate will be the sum of the minimum cell rate for each voice call and the cell rate caused by PAD.
In one embodiment, PAD is the average padding that must be added to an ATM cell. In one embodiment, the average value for PAD is half of the size of an ATM cell payload, i.e. 24 bytes. Using the average value of PAD, the adjusted cell rate (ACR) in a polling period, in cells/second, can be calculated using the following formula:
If CRVoAAL2, nomux is the cell rate for non sub-multiplexed AAL2 encapsulation described above, then it can be calculated using the following formula:
Because CRVoAAL2, nomux is an upper bound on the cell rate and ACR sometimes overestimates the cell rate, the final bandwidth is the minimum of the two. For a mix of voice calls Ni of encoding type i, the total utilized bandwidth is then
BWU=min(CRVoAAL2,nomux, ACR)
The foregoing discussion has been presented in the context of an Asynchronous Transfer Mode (ATM) network. However, the invention may be implemented with other types of networks, such as Frame Relay networks or Internet Protocol networks. The specification also refers to a virtual circuit VC within the ATM network as a communication path. Alternatively, the invention may be implemented with other types of communication paths or virtual circuits, such as a Permanent Virtual Circuit (PVC), a Switched Virtual Circuit (SVC), or a combination of PVCs and SVCs.
It is also to be understood that embodiments of this invention may be used as or to support software programs executed upon some form of processing core (such as the CPU of a computer) or otherwise implemented or realized upon or within a machine readable medium. A machine readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine readable medium includes read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); or any other type of media suitable for storing or transmitting information.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
5341366 | Soumiya et al. | Aug 1994 | A |
5357507 | Hughes et al. | Oct 1994 | A |
5583857 | Soumiya et al. | Dec 1996 | A |
5751691 | Soumiya et al. | May 1998 | A |
5812526 | Chang et al. | Sep 1998 | A |
5826169 | Natarajan | Oct 1998 | A |
5838906 | Doyle et al. | Nov 1998 | A |
5862126 | Shah et al. | Jan 1999 | A |
5872771 | Park et al. | Feb 1999 | A |
5881049 | Beshai et al. | Mar 1999 | A |
5886980 | Zheng | Mar 1999 | A |
5894471 | Miyagi et al. | Apr 1999 | A |
5917804 | Shah et al. | Jun 1999 | A |
5970064 | Clark et al. | Oct 1999 | A |
5982748 | Yin et al. | Nov 1999 | A |
6028840 | Worster | Feb 2000 | A |
6046981 | Ramamurthy et al. | Apr 2000 | A |
6067287 | Chung-Ju et al. | May 2000 | A |
6075770 | Chang et al. | Jun 2000 | A |
6141322 | Poretsky | Oct 2000 | A |
6212163 | Aida | Apr 2001 | B1 |
6215768 | Kim | Apr 2001 | B1 |
6266322 | Berger et al. | Jul 2001 | B1 |
6292466 | Droz | Sep 2001 | B1 |
6314085 | Saranka | Nov 2001 | B1 |
6330226 | Chapman et al. | Dec 2001 | B1 |
6400685 | Park | Jun 2002 | B1 |
6411601 | Shaffer et al. | Jun 2002 | B1 |
6418148 | Kumar et al. | Jul 2002 | B1 |
6442138 | Yin et al. | Aug 2002 | B1 |
6459681 | Oliva | Oct 2002 | B1 |
6487170 | Chen et al. | Nov 2002 | B1 |
6490249 | Aboul-Magd et al. | Dec 2002 | B1 |
6529499 | Doshi et al. | Mar 2003 | B1 |
6570855 | Kung et al. | May 2003 | B1 |
6578077 | Rakoshitz et al. | Jun 2003 | B1 |
6608815 | Huang et al. | Aug 2003 | B1 |
6625155 | Dziong | Sep 2003 | B1 |