This invention relates to systems for, and methods of, transmitting voice signals without congestion from a first station to a second station through a plurality of network nodes and a plurality of data links. More particularly, the invention relates to a system for, and a method of, regulating the rate of transmission of voice signals from the first station to the second station so that no congestion occurs at any of the network nodes between the first and second stations.
Telecommunications systems involving the transmission of different types of media through telephone lines are becoming increasingly common. For example, systems involving the transmission of processed data, facsimile and voice are becoming increasingly common. The transmission of each type of media involves different parameters. For be in real time. Stated differently, it generally does not matter whether data transmitted at one instant from a first station is received at that instant or at a slightly later instant at a second station.
The transmission and reception of voice information have different criteria. It is generally desirable to transmit and receive voice information in as close to real time as possible. Otherwise, a delay in the transmission of voice from a first station to a second station may cause the delayed information to be received at the second station at the same time that voice information in real time is starting to be transmitted from the second station to the first station. As a result, garbled communication between the two stations may occur.
It is accordingly desirable that voice information be transmitted between first and second stations in real time without any congestion of the information at any network node between the stations. This has not been provided until now. Until now, when information has become congested at a network node between the first and second stations, the congestion has continued until the system has been able to work itself out of the congestion. This situation has existed even though a considerable effort has been made to resolve the problem.
This invention provides a system for, and a method of, instantaneously eliminating congestion in voice signals transmitted from a first voice channel to a second voice channel through network nodes and data links. In one embodiment of the invention, a first channel transmits voice signals into a second channel through a plurality of network nodes and data links. Preferably the voice signals are in packets each having a plurality of bits containing voice information and each having at least one additional bit to indicate whether a congestion has been encountered at any of the nodes. Preferably the voice signals in each packet have a particular bandwidth and a particular compression. When a congestion of a packet is encountered at one of the nodes, the node produces at the additional bit in the packet an indication that congestion has occurred. The packet with this indication then passes through the nodes to the second station.
The second channel then produces and sends to the first channel signals acknowledging the reception of the packets and the encountering of congestion. The first channel then reduces the bandwidths of the signals in the packets transmitted to the second channel and increases the compression of the signals in the packets. When the second channel receives these packets without encountering any congestion for at least a particular period of time, it sends a congestion clear signal to the first channel. The first channel then increases the bandwidth of the voice signals in the packets to the particular value and decreases the compression of these signals to the particular value. The second channel decompresses the voice signals in the packets and restores the voice signals to their original values.
In the drawings:
FIG. 1 is a system, primarily in block form, schematically illustrating an embodiment of a telecommunications system;
FIG. 2 is a schematic block diagram of a system for detecting, and adjusting to, congestion of voice signals in the telecommunications system shown in FIG. 1; and
FIG. 3 is a schematic block diagram of a system for detecting, and adjusting to the clearance of congestion in the telecommunications system shown in FIG. 1.
A telecommunications system generally indicated at 10 is shown on a simplified basis in FIG. 1. The telecommunications system 10 includes a voice channel 12 for providing voice signals in a manner well known in the art. The voice 12 may also provide other types of information such as data and facsimile in a manner well known in the art. The voice channel 12 passes the voice signals through a data link 14 such as telephone wires to a network node 16 (node A) which may be constructed in a manner well known in the art. The network node 16 may be a repeater in the general sense. It may constitute a central hub or a voice channel as in the voice channel 12. The voice channel 12 is indicated as "Voice Channel 1" or "VC1" in the drawings.
A data link 18 is shown as being attached to the network node 16. A network node 20 (node B) is in turn attached to the data link 18. As shown by broken lines 22, a plurality of data links and network nodes may be included in the system 10. The last network node in the system 10 is indicated at 24 (node x). A data link 26 extends from the network node 24 to a voice channel 28 which may be similar to that at the voice channel 12. Voice signals may be transmitted in a conventional manner from the voice channel 12 to the voice channel 28. The voice channel 28 is indicated as "Voice Channel 2" or "VC2" in the drawings.
The system shown in FIG. 2 detects congestion of voice signals at any one of the network nodes such as the nodes 16, 20 and 24 and adjusts the bandwidth of the voice signals transmitted from the voice channel 12 to the voice channel 28 in accordance with such detection. The voice signals may be in the form of packets in a manner well known in the art. The packets may occur in a sequence. Each packet may have a plurality of binary bits representing voice information.
Each packet may also contain an additional binary bit indicating whether congestion has occurred at one of the network nodes 12, 20 and 24 in the transmission of the packets from the voice channel 12 to the voice channel 28. For example, the use of packets to provide voice information is disclosed in U.S. Pat. No. 5,187,591 issued on Feb. 16, 1993, to Kenneth R. Guy, Andrew M. Kameya and Herbert M. Wildfeuer for a "System for Transmitting and Receiving Aural Information and Modulated Data" and assigned of record to the assignee of record of this application.
The packets of voice information may be initially transmitted from the voice channel 12 with a particular bandwidth and at a particular compression. The compression is related to the bandwidth. In other words, as the bandwidth of the voice information in the packets is increased, more information can be transmitted per unit of time than with a decreased bandwidth. This allows the compression of the voice information in the packets to be reduced as the bandwidth of the voice information in the channels is increased.
Each packet of voice information may contain bits at the beginning of the packet to identify that the packet contains voice information as distinguished from other types of information such as data or facsimile. Furthermore, the voice information in each packet may be in digital form. As a result, the voice information in each packet may be converted from an analog form to a digital form before it is transmitted from the station 12 to the station 28. Separate bits may be provided at the end of each packet and may be coded with a particular binary pattern to identify the end of the packet. The transmission of the packets of voice information from the voice channel 12 to the voice channel 28 is indicated at 50 in FIG. 2.
When the packets of voice information are sent from the voice channel 12 at the particular bandwidth and with the particular compression, they may encounter congestion at one of the network nodes 16, 20 and 24. This may be detected at such network node by an inability of such network node to process packets of the voice information passing to such network node. For example, congestion may occur at the network node 20. The network node 20 may detect such congestion by an inability of the network node to process such information at the time that it receives such packets. The congestion may be detected by a back-up of one or a plurality of packets of the voice information at the network node.
Preferably a congestion occurs when there is a delay at the network node 20 in the transmission of only a single packet of voice information. A congestion is preferably indicated at this time because any delay prevents the voice information from passing from the voice channel 12 to the voice channel 28 in real time. Alternatively, the congestion may be indicated when there is at least a particular time delay in the passage of the packets of voice information through the network node 20.
When one of the network nodes such as the node 20 detects a congestion in the packets of voice information passing to the node, it produces a binary indication at the particular position reserved in the packet to indicate congestion. For example, the network node 20 may produce a binary "1" at this particular position to indicate congestion. The detection of congestion at a node such as the node 20 is indicated at 52 in FIG. 2. The packet with the binary indication of "1" at the particular position then passes through the nodes including the node 24 to the voice channel 28. This is indicated at 54 in FIG. 2.
The voice channel 28 receives the packets of voice information with the binary "1" at the particular position to indicate congestion. The voice channel 28 does not know the particular node in the sequence where the congestion has occurred. It knows only that congestion has occurred at one of the nodes. When the voice channel 28 receives the "congestion encountered" signal, it enters a "remote congested" state at the voice channel. This is indicated at 56 in FIG. 2.
The voice channel 28 then transmits a message through the network nodes (e.g. 24, 20, 16) to the voice channel 12. This transmission acknowledges the receipt by the voice channel 28 of the packets of voice information. It also indicates that congestion has been encountered at one of the network nodes between the voice channel 12 and the voice channel 28. This may be provided as by a binary "1" at a particular bit position in the acknowledgement. This transmission is indicated at 58 in FIG. 2.
When the voice channel 12 receives the "message acknowledged" message from the voice channel 28 as indicated at 60 in FIG. 2, it enters a "local congested" state into the voice channel. This entry is indicated at 62 in FIG. 2. This "local congested" state may be provided by a pattern of signals in the voice channel 12. While the voice channel 12 is in the "local congested" state, it transmits the packets of voice information with a reduced bandwidth relative to the particular bandwidth of the voice signals previously transmitted. When the bandwidth is reduced, the compression is correspondingly increased to compensate for the reduced bandwidth. The transmission of voice information from the voice channel 12 to the voice channel 28 with reduced bandwidth and increased compression is indicated at 70 in FIG. 3.
The packets of voice information transmitted from the voice channel 12 at the reduced bandwidth and with the increased compression pass through the network nodes (e.g. 16, 20 and 24) without any congestion. The reduced bandwidth of the voice information in the packets tends to eliminate any congestion in the network nodes 16, 20 and 24. This is indicated at 72 in FIG. 3. This is indicated by a binary value of "0" at the particular position in the packets.
When the voice channel 28 has received (as indicated at 74) the packets of voice information, each with an indication of no congestion, for a particular period of time, the voice channel 28 produces a "congestion clear" indication. This is indicated at 76 in FIG. 3.
The voice channel 28 transmits the "congestion clear" indication to the voice channel 12 through the network nodes (e.g. 16, 20, 24), as indicated at 78 in FIG. 3. The voice channel 12 then receives the "congestion clear" signal (80 in FIG. 3) and clears the "local congested" state in the voice channel as indicated at 82 in FIG. 3. The voice channel 12 then transmits the packets of voice information at the particular bandwidth and with the particular compression until a congestion is again encountered in one of the network nodes (e.g. 16, 20, 24). This is indicated at 84 in FIG. 3.
In this way, the voice information is transmitted at each instant from the voice channel 12 to the voice channel 28 with an optimal bandwidth and with a minimal compression to eliminate any congestion in the nodes 16, 20 and 24. This provides an optimal voice quality at the voice channel 28 at each instant. It will be appreciated that a similar system to that shown above may be provided for the transmission of voice information or data from the voice channel 28 to the voice channel 12 through the nodes 24, 20 and 16.
Although this invention has been disclosed and illustrated with reference to particular embodiments, the principles involved are susceptible for use in numerous other embodiments which will be apparent to persons skilled in the art. The invention is, therefore, to be limited only as indicated by the scope of the appended claims.