« PreviousContinue »
VOIP QUALITY TRADEOFF SYSTEM
FIELD OF THE INVENTION
The invention relates generally to an Internet Protocol Net- 5 work and methods for transmitting speech and other types of signals during periods of decreased network performance.
It is a problem in Internet Protocol (IP) Networks that some of the data packets transmitted by one communication device may fail to arrive at their intended destination. Transmission/ transportation level protocols such as the Transmission Control Protocol (TCP) can be used to transmit data across the IP 15 network. The TCP is a virtual circuit protocol that is one of the core protocols of the IP suite and is often referred to as TCP/IP. Endpoints connected to an IP network can employ TCP to create connections to one another, then use those connections to exchange streams of data in audio, text, video, 20 or other media. The TCP protocol guarantees reliable and in-order delivery of data from the sender to the receiver. TCP currently supports many of the Internet's most popular application protocols and resulting applications, including the World Wide Web, e-mail, and Secure Shell. 25
Lossless transportation protocols such as TCP permit receiving devices to request that missing packets be retransmitted. Unfortunately, this retransmission process often results in long pauses in the data stream, as well as data transmission latencies of more than several hundred millisec- 30 onds. For these reasons, TCP/IP is not commonly used in communication applications where real-time communications are desired, such as telephony applications.
For these reasons, Voice over Internet Protocol (VoIP) systems commonly use a transmission/transportation scheme 35 called the User Datagram Protocol (UDP). UDP and TCP are the two main transport-level Internet protocols. The UDP protocol does not suffer from the pauses or transmission latencies that would be seen if TCP/IP were used for VoIP, mainly because retransmission of missing packets is not car- 40 ried out by UDP. Instead, UDP does not provide the reliability and ordering guarantees that TCP does, because UDP attempts to transport data quickly from endpoint to endpoint for real-time applications. Instead, IP networks try to reduce VoIP packet loss by assigning a higher priority to UDP pack- 45 ets. Additionally, many VoIP telephones include packet loss concealment algorithms that try to trick the human ear by inserting extrapolated data as a placeholder for the lost packets. Unless the level of packet loss becomes extreme, the use of high quality packet loss concealment algorithms allows 50 UDP to be an acceptable transportation protocol for two-way voice conversations. However, when an IP network becomes congested due to high volumes of traffic, network bandwidth availability tends to decrease. The number of lost packets begins to increase as the network bandwidth availability 55 begins to decrease. If too many packets are lost or received in the wrong order, a VoIP conversation can become unintelligible and frustrating for both parties.
Transportation protocols, such as UDP-type protocols, that are designed to eliminate latency between transmission and 60 reception of a signal are typically designed to forego some amount of transmission quality. On the other hand, protocols such as TCP-type protocols are designed to increase transmission quality at the expense of latency.
IP telephony is often conducted over network connections 65 that vary in quality, in aspects such as delay, packet loss, bandwidth, and so on. There are a number of ways to cope
with these problems, but the solutions are generally predicated on the assumption that the network problems are minor and/or temporary. When the network encounters a larger and/ or longer-term problem, conversations using UDP-type transportation protocols can become fragmented and unintelligible. As a result, users will begin to talk over the top of each other and the ability to transfer information via the conversation becomes almost impossible.
Such problems may be considered trivial for casual conversations; however, for military applications or other applications where the accurate dissemination of information is of the utmost importance, such problems may carry serious consequences. Particularly in military applications, where network bandwidth may be substantially degraded and subject to large fluctuations (due to field conditions, mobility, enemy actions, etc.), callers have a strong need to communicate clear instructions or information even at the cost of some delay.
There have been some attempts to address such problems in the prior art. For example, U.S. Patent Application No. 20050180323 to Beightol et al., the entire contents of which are incorporated herein by reference, describes using a TCPlike connection protocol to allow missing packets in a VoIP connection to be restored. The application describes adding extra information to standard UDP packets to allow TCP-like retransmission. Extra information is added to the standard UDP packet headers since it is observed that changing a connection between TCP and UDP is not permitted. One problem with this particular solution is that it applies only to unidirectional conversations, where Interactive Voice Response (IVR) units are involved. The unidirectional conversation allows for larger than normal delays as a sacrifice for clarity. However, this particular solution does not address the issue of talk-over since it is designed for unidirectional communications instead of bidirectional communications. Additionally, the TCP-like transportation is not designed to cope with a network connection whose bandwidth is substantially below that required for normal speech.
These and other needs are addressed by various embodiments and configurations of the present invention. The present invention is directed generally to a system, device, and method for improving VoIP communications.
In accordance with one embodiment of the present invention, a method is provided for communicating between communication devices over an IP-based communication network, especially in a bidirectional conversation. The method comprises the steps of:
(a) transmitting data packets from a first communication device to a second communication device using a transportation protocol that does not retransmit lost and/or damaged data packets;
(b) determining performance parameters associated with performance of the communication network;
(c) determining that the performance parameters do not meet a threshold of performance for the communication network;
(d) in response to identifying that the performance parameters do not meet the threshold of performance, storing a number of data packets in a buffer prior to providing the data packets to an intended recipient; and
(e) indicating to at least one of the first and second communication device that a number of data packets are being stored in the buffer.
A number of transportation protocols may be employed in accordance with embodiments of the present invention. The transportation protocols employed during periods of adequate network performance may include protocols designed for real-time transmission of signals. Examples of 5 such protocols include UDP-like transportation protocols that do not retransmit lost and/or damaged data packets. Rather, UDP-like transportation protocols attempt to interpolate or otherwise compensate for lost and/or damaged data packets. Alternatively, during periods of inadequate network perfor- 10 mance, transportation protocols that sacrifice real-time or near real-time transmission for quality may be employed. Examples of such protocols that provide higher signal transmission quality include TCP-like transportation protocols. TCP-like transportation protocols afford the option of 15 retransmission of lost and/or damaged data packets rather than relying upon interpolation and compensation algorithms. The TCP-like transportation protocols sacrifice quickness for signal quality and accuracy.
As a part of changing to a TCP-like transportation protocol, 20 data packets may be buffered prior to and after transmission across the communication network. Data packets may be buffered such that user perceivable segments are formed for transmission and prior to being presented to a user. A user perceivable segment is completely reconstructed prior to 25 being provided to a user. Such a provision ensures that a conversation is intelligible, albeit at the expense of possible delays due to reconstruction of the segment.
In one embodiment, the invention may be used to change transportation protocols during a conversation or communi- 30 cation session. The communication session may be bidirectional, in which case both parties to the communication session may need to be aware that the transportation protocol has changed such that data packets are being buffered. The participants may be notified via user outputs on their respective 35 communication devices. Additionally, the participants may be shown the status of the buffering, thereby allowing the participants to know when the other party is done talking and all of the data has been received. This helps eliminate the problem of talk over because each participant knows when 40 the other participant is talking, even if the participant has not yet received any data from the talking participant due to the data being buffered. Therefore, users can successfully participate in a bidirectional communication session even when using a TCP-like transportation protocol that inherently intro- 45 duces delays in the transmission of data between participants.
The performance parameters associated with the communication network may be monitored in a couple of different ways. In one embodiment, the performance parameters may be automatically monitored to determine when the buffer 50 should be used. In an alternative embodiment, such monitoring of the performance parameters of the network may be user initiated. Of course, a combination of the two methods may also be employed.
In accordance with another embodiment, a method is provided for communicating between communication devices over an IP-based network. The method generally comprises the steps of:
(a) transmitting data packets from a first communication 60 device to a second communication device using a transportation protocol that allows retransmission of lost or damaged data packets;
(b) storing a number of data packets in a buffer prior to providing the data packets to an intended recipient; 65
(c) determining performance parameters associated with performance of the communication network;
(d) determining that the performance parameters at least one of meet and exceed a threshold of performance for the communication network; and
(e) in response to identifying that the performance parameters at least one of meet and exceed the threshold of performance, discontinuing use of the buffer.
This particular embodiment is designed to change transportation protocols in response to the communication network regaining a certain amount of bandwidth and therefore being able to provide better performance. When the network performance rises above certain thresholds, a slower quality based transportation protocol that allows for retransmission of lost or damaged data packets may be changed in favor of a transportation protocol that does not allow retransmission of lost or damaged data packets. The transportation protocol that does not allow retransmission of lost or damaged data packets, in one embodiment, is better able to provide real-time or near real-time data transmission across the communication network.
These and other advantages will be apparent from the disclosure of the invention(s) contained herein. The abovedescribed embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
As used herein, "at least one", "one or more", and "and/or" are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions "at least one of A, B and C", "at least one of A, B, or C", "one or more of A, B, and C", "one or more of A, B, or C" and "A, B, and/or C" means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram depicting a communication system in accordance with embodiments of the present invention;
FIG. 2 is a block diagram depicting a communication device in accordance with embodiments of the present invention;
FIG. 3 is a flow chart illustrating a method for changing transportation protocols in response to a degradation of network quality during a VoIP conversation in accordance with embodiments of the present invention; and
FIG. 4 is a flow chart illustrating a method for changing transportation protocols in response to an improvement of network quality during a VoIP conversation in accordance with embodiments of the present invention.
The invention will be illustrated below in conjunction with an exemplary communication system. Although well suited for use with, e.g., a system using a switch(es) and/or server(s), the invention is not limited to use with any particular type of communication system or configuration of system elements. Those skilled in the art will recognize that the disclosed techniques may be used in any communication application in which it is desirable to change between various communication protocols during a bidirectional VoIP conversation.
Referring initially to FIG. 1, a communication system 100 will be described in accordance with at least some embodiments of the present invention. The communication system 100 generally comprises a communication network 104, one