ADAPTIVE TRUNK-COMPRESSION SYSTEM

Abstract: A dynamic trunk compression system for processing digitized speech signals. The system includes a monitoring apparatus which measure current traffic intensity at the trunk. The current traffic intensity drives an algorithm that periodically estimates blocking probabilities. When the blocking probabilities fall outside of a predetermined range, the trunk is repartitioned to provide more speech channels.

Description: Technical Field The present invention relates to speech processing in general and more particularly to the concentration/deconcentration of speech from and into a PBX system. Background Art The technique for processing telephone messages from a PBX installation onto a trunk line and vice versa is well known in the prior art. The conventional technique is usually static in that the trunk line is partitioned into a fixed number of channels designated to accommodate a particular number of incoming lines. Even though the total number of lines is not being utilized, the unused capacity in the trunk cannot be allocated to the active incoming lines. Needless to say that the reapportionment of the unused trunk line to the active incoming lines would greatly improve the overall operating characteristics of the PBX system. In the document JP-A-56 146 340, the blocking probability of the trunk is reduced by suppressing the redundancy of the input signals and by blocking the idle channel when the using efficiency of transmission line exceeds a certain level to inhibit the new input signals. Whereas, in document "Proceedings International Conference en Acoustics, Speech and Signal Processing", Boston, 1983, vol. 3 of 3, pages 1284-1287, a system is used for adapting some values of the bitrate and the number of channels of a trunk. Summary of the Invention It is therefore the general object of the present invention to provide a more efficient PBX telephone system than was heretofore possible. It is another object of the present invention to provide a PBX system wherein the trunk capacity is dynamically partitioned to achieve a demand-determined degree of user compression while maintaining at least a specified grade of service. The improved PBX telephone system provides the maximum speech quality consistent with the specified grade of service by dynamically trading quality against compression ratio. The invention provides a method for partitioning a trunk into channels so that each telephone line is assured access to a channel, in a telephone switching system having a trunk for carrying messages from a plurality of telephone lines comprising the steps of: (a) determining the message intensity (E) periodically at updating times; (b) generating an electrical signal representative of said message intensity; (c) utilizing the electrical signal to compute a blocking probability (P b ) for the value of the current number of channels (N); (d) correlating the blocking probability with a desired range of values; and (e) if the current blocking probability falls outside the desired range, adjusting the number of channels in said trunk to obtain the correct blocking probability, and rectifying simultaneously the coding rate (R) for each channel according to the equation R = great er integer (trunk rate / number of channels) , with upper and lower boundaries and no unallowed rates within these boundaries. In one embodiment of the present invention the desired range was as follows : 0.01≦P b ≦0.05. The foregoing features and advantages of this invention will be more fully described in the accompanying drawings. Brief Description of the Invention Fig. 1A shows a block diagram of a PBX telephone system embodying the teachings of the present invention. The figure shows telephone traffic in an outbound direction from the PBX telephone installation to a T-1 trunk. Fig. 1B shows a block diagram of the PBX telephone system embodying the teachings of the present invention. The figure shows telephone traffic in the inbound direction from the T-1 trunk to the PBX telephone installation. Fig. 2 shows a flow chart of the process steps and algorithm used to partition the T-1 trunk. Fig. 3A shows an algorithm and process steps used to determine the probability of blocking. Fig. 3B shows an algorithm and process steps used to determine the required number of channels. Detailed Description of the Invention Figs. 1A and 1B show in block diagram form the PBX telephone system according to the teaching of the present invention. Fig. 1A shows traffic in the outbound direction while Fig. 1B shows traffic in the inward bound direction. The system is designed to compress a number of digitized signals into a single T-1 trunk. Although a trunk line with varying capacity is available, in the preferred embodiment of this invention the capacity of the trunk line is approximately 1.536Mb/sec. It has been determined that a T-1 trunk having a capacity of 1.536Mb/sec. can reasonably accommodate from 48 to 96 voice grade channels. This information is recorded in Table I below. In addition to the channel capacity, Table I also shows the traffic intensity measured in Erlangs and the probability of system blocking which occurs when the trunk is partitioned into 48 and 96 channels. As will be described subsequently, whenever the probability of blocking falls outside of the range of .01 and .05, the algorithms to be described subsequently will partition the channel into an acceptable number of channels. It should be noted that the information of Table I is determined mathematically. It should be noted that the capacity of the T-1 trunk, the number of channels assigned thereto, the traffic intensity, and the probability of system blocking chosen above are merely exemplary and are not intended to limit the scope or contents of the present invention since it is well within the skill of one skilled in the art to change these numbers without departing from the scope and spirit of the present invention. Referring again to Fig. 1A, a number of lines identified by numerals 1-96 are outputted from a PBX telephone installation (not shown) into the PBX interface means 100. At a given time "N" of these 96 lines may be in use. Of course, the maximum number of lines may be more or less than 96. Speech signals enter the system via these input lines in either analog form or as eight or twelve bit PCM. The number of active ports are fed over conductor 102 to system configuration means 104. As will be explained subsequently, the function of system configuration means 104 is to determine the values of the parameters "R" and "N", respectively. The value of the parameter R is fed over conductor 106 to the bank of speech coders identified by numeral 108. The coder's specific operating rate is determined by a single input parameter (to be described subsequently) that is entered into the coder's bit assignment algorithm. The parameter takes the integer value R-3, where R is the desired bit rate in Kb/sec. It should be noted that the number 3 represents a 3 Kb/sec. overhead channel which among other things passes information regarding a block compander integral to the coding algorithm. As will be explained subsequently, the rate R is determined by the following relationship: R=GI(1536/n), where n is the number of channels required and "GI" represents the greatest integer function. Given a real floating-point variable x falling between two consecutive positive integers K and L, such that K ≦ x < L, then the greatest integer function maps x to k: GI(x) = K. Likewise, the parameter "N" which is outputted from system configuration means 104 (Fig. 1) over conductor 110 into organize and multiplex means 112 identifies the number of channels which must be provided to accommodate a particular level of system loading. Still referring to Fig. 1A, a bank of switches identified by numeral 114 interconnects the output from the PBX interface means 100 to the input of the bank of sub-band speech coders 108. Each speech signal is compressed by a sub-band coder. Analog-to-digital conversion, if needed, is performed at this stage. Speech coders providing good speech quality at rates between 16kb/sec. and 32 kb/sec. are well known in the prior art. Other types of speech coders (e.g., adaptive transform, adaptive differential PCM, etc.) are suitable for use in the present system. Similarly, a bank of switches identified by numeral 116 interconnects the output from the bank of speech coders 108 to the input of organize and multiplex means 112. By activating a number of selected switches from banks 114 and 116, respectively, a given number of coders N is made to output speech signals into the organize and multiplex means 112. The number of coders that are active at a particular time is determined (from the system loading and the allowed range of expected blocking probability) by the algorithm to be described below. Likewise, the same procedure (to be described below) sets the rate R of the speech coders. A traffic monitor means 118 is coupled by means 120 to T-1 trunk. The traffic monitor means (to be described subsequently) tabulates the traffic intensity impinging on the trunk. The intensity or utilization is measured in Erlangs and is fed over conductor 122 to system configuration means 104. A running average (that is, lowpass filter) of this measurement is the parameter "E" shown and described below in Figs. 2 and 3 to be described subsequently. From "E" and the current number of channels "N", the projected system blocking is calculated (Figs. 2 and 3 to be described hereinafter) and the repartitioning decision (choosing a new number of channels "N") is made. Still referring to Fig. 1A, the resulting signals from the bank of speech coders are serialized and multiplexed by organize and multiplex means 112 onto the T-1 trunk interface means 124. This interface guarantees that the interconnection restrictions imposed by the common carrier (for example, overvoltage protection, compatibility of signal levels, etc) are met. The value of "N" is included in transmission to the receiver. The receiver uses N to ensure proper decoding. The traffic monitor decodes the in-band and explicit call establishment signaling transmitted via the T-1 carrier. The time of arrival of new traffic (i.e., the establishment of a circuit) at the T-1 interface is recorded in a call progress table, as is the time of departure (termination of the circuit) for said traffic. The "call arrival rate" (in calls/second) is determined from the record of arrivals. The average holding time per circuit or traffic duration is determined by the difference of the departure and arrival times. Traffic intensity "E" is the running average of the product of arrival rate and duration, expressed in Erlangs, for completed traffic. This value "E" is periodically sent to configuration means 104 by conductor 122, with update every 30 seconds in the preferred embodiment. At this time, the call-progress table entries for completed calls, comprising "E" are erased, freeing space for new arrivals, and the running average is reset. Referring now to Fig. 2, there is shown the process step and algorithm that are used in the configuration means 104 to determine R and N. Although it is well within the skill of the art to implement the algorithm in hardware, in the preferred embodiment of this invention the algorithm was implemented in a programmed microcomputer. Any conventional off-the-shelf microcomputer which is programmed in accordance with the flow chart shown in Fig. 2 can be used to implement the present invention. Therefore, a specific microprocessor will not be identified. Each block in Fig. 2 signifies a process step in the program of Fig. 2 and will now be described. The first step in the program is identified by block 126. Block 126 is an entry point and signifies the point whereat the program is entered. Step B is practiced in block 128. In this block the program checks to see if it is time for the next update. If it is not, the program re-enters block 126. If it is, the program exits the block into block 130. In block 130 the program checks to see what is the average traffic intensity "E". As described above, in relationship with Fig. 1A, the value of E is outputted from the traffic monitor means 118. The program then descends into block 132 where it computes the blocking probability "P b ". Details of this computation will be given subsequently in relationship with Fig. 3A. From block 132 the program enters into block 134. There the program checks to see if the blocking probability P b falls within a prescribed range. As stated above, in the preferred embodiment of this invention, the prescribed range of blocking probability is between 0.01 and 0.05. Of course, other limits on the blocking probability P b can be selected without deviating from the scope and spirit of the present invention. probability P b . The blocking probability P b is determined from a parameter recursively. The recursion is defined as follows: where E is traffic intensity in Erlangs, M is the number of channels and P b is the probability of blocking. Referring again to Fig. 3A, the first step to calculate the probability of blocking is identified in block 148. In block 148 the following boundary conditions are set: P b (O) = 1.0; M = 1 = dummy counter. The program then descends into block 150 where it calculates the first pass in the recursion algorithm. The recursion function is identified above and will not be repeated here. From block 150 the program descends into block 152. In block 152 the program tests to see if M is equal to N. If it is not, then the program descends into block 154 where M is set equal to (M+1) and the program loops back into block 150. The looping (that is recursion) continues until whenever M is equal to N the program exits along the "yes" path. The value of P b is then utilized as is previously described. Fig. 3B shows the program which is used to calculate the required number of channels identified in block 136, Fig. 2. As stated above, the program also utilizes the recursion algorithm to determine N. The first step in the process is identified by block 156. In block 156 certain boundary functions for P and N are set. The program then descends into block 58 where it calculates the first value in the recursion algorithm. The program then descends into block 160 where it tests to see if P b (N) is less than the lower limits of the probability range. In the preferred embodiment the lower range is set to 0.05. As stated before, a different value than 0.05 may be used. If P b (N) is greater than 0.05, the program exits the block along the no path into block 162. In block 162 the program sets N = (N+1) and enters into a loop. The looping continues until P b (N) is less than 0.05. The program then exits block 160 along the yes path. Fig. 1B shows the PBX telephone system with inbound signals from the T-1 trunk. These signals are inputted to the T-1 trunk interface means 200, which provides signal-level conditioning and proper termination for the common carrier T-1 trunk. Digital signals representing serialized voice links and signaling information are carried by conductor 202 to the organize and demultiplex means 204. Means 204 extracts the parameter "N," the number of active channels, and separates the serialized digital signal into its component voice-links and signaling parameters. The number of active channels "N" is carried to the configuration means 208 via conductors 206. Configuration means 208 determines the previously described parameter "R" which assigns, via conductor 212, bit rates to the speech decoder bank means 210. "R" is determined from the greatest integer function, as previously described, by the relationship R=GI[1536/N]. The value of "N" is carried via conductor 214 to the enabling means 216. The enabling means operates switch banks 218 and 220 by signals carried via conductors 222. By activating a number of selected switches from banks 218 and 220, a given number of speech decoders N is made to decode and output speech signals into the PBX interface means 224. Speech is outputted on lines 301-396 as analogue or 12 or 8-bit PCM signals as appropriate for the attached PBX. As we have shown, a circuit for the transmission of speech is established from input line 1 (Fig. 1A), through PBX interface means 100, switch banks means 114 and 116, speech coder means 108, organize and multiplex means 112, through the T-1 trunk interface means 124, via the common carrier T-1 trunk into interface means 200 (Fig. 1B), organize and demultiplex means 204, through switch banks 218 and 220, speech decoder means 210, and delivered to the PBX interface means 224 via conductor 301. The number of such end-to-end circuits is N. The bit rate of the speech coders is R k bits/sec. Both R and N are changed as described to maintain the desired grade of service and blocking probability. The apparatus shown in Figs. 1A and 1B appear at both ends of said voice circuit. A return path for the bidirectional voice circuit is provided with the sense of transmission reversed, as would be obvious to one skilled in the art.

Claims: A method for partitioning a trunk into channels so that each telephone line is assured access to a channel, in a telephone switching system having a trunk with a given trunk rate for carrying messages for a plurality of telephone lines, comprising the steps of: (a) determining the message intensity (E) periodically at updating times; (b) generating an electrical signal representative of said message intensity; (c) utilizing the electrical signal to compute a blocking probability (P b ) for the value of the current number of channels (N) at each updating time; (d) correlating the blocking probability with a desired range of values; and (e) if the current blocking probability falls outside the desired range, adjusting the number of channels in said trunk to obtain the correct blocking probability, and rectifying simultaneously the coding rate (R) for each channel according to the equation R = greater integer (trunk rate / number of channels) , with upper and lower boundaries and no unallowed rates within these boundaries. The method set forth in claim 1 wherein the blocking probability P b (N) is being determined in accordance with the recursive relation where E represents message intensity in Erlangs, M represents the number of channels and P represents the block probability during the last sampling period. The method set forth in claim 2 wherein the computing recursive method includes the steps of: (a) setting P(O) = 1.0 wherein P represents the probability of blocking; (b) setting M = 1; with M representing the value of a dummy counter; (c) utilizing the algorithm set forth in claim 2 for calculating an initial value of P; (d) utilizing the value for P as a final value for said P only if M=N. The method set forth in any one of claims 1 to 3 wherein the desired blocking probability range includes 0.01 ≦ P b ≦ 0.05. A circuit arrangement for dynamically partitioning the trunk T-1 so that each telephone user 1..96 is being assured access to a channel, in a telephone switching system having a trunk for carrying messages generated from a plurality of telephone users comprising: means (118, 122, 130) for monitoring said trunk and operable for generating a signal representing the intensity of traffic thereon; means (104, 132) responsive to said signal and operable for calculating a blocking probability parameter (P b ) for the current number of channels; means (104, 134) for comparing said blocking probability parameter with a desired range of values; and means (104, 136 to 146) operable, only if the current blocking probability falls outside the desired range, for adjusting the number of channels in said trunk to obtain the correct P b , and changing in the same time the coding rate (R) for each channel.

Inventors: IRVIN, DAVID RAND
Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1986
Main classification: H04J3
IPC codes: H04J3, H04M3, H04Q3