Embodiments of the present invention are 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:
Embodiments of a system are described to provide bandwidth management for Internet telephony on a packet-switched network are described as well as methods for implementing bandwidth management for Internet telephony. In particular, a system is described to employ bandwidth management for a Voice over Internet Protocol telephone on a packet-switched network. The system includes equipment that monitors the network use and communicates with an Internet telephone in use on the system to adjust the bandwidth usage of the phones dynamically as conditions on the network change. Thus, the bandwidth used by an Internet telephone may be adjusted during the phone call to minimize the bandwidth of the Internet telephone to avoid congestion on the network. Moreover, the system may increase the bandwidth that is used by an Internet telephone, for example to provide better voice quality or quality of service, if extra bandwidth is available on the network. Therefore, the network needs between voice and data may be managed dynamically based on real-time network information.
For an embodiment, Internet telephones 115, 120 and computers 125 are connected to a packet-switch network such as the Internet through the network switch 110 through an Internet connection 140. Internet connection 140 may be a T1, Digital Subscriber Line (DSL), or Cable connection to a packet-switched network. In an embodiment, all the bandwidth 301 of Internet connection 140 is available for both data and Internet telephony as illustrated in
Network switch 105 monitors the performance of the packet-switched network. Specifically, the network switch 105 may monitor resources used on the network including bandwidth usage, number of active sessions, number of phone conversations, and other aspects that affect network performance. The information monitored by the network switch 105 may be sent to the telephone switch 110, so the telephone switch 110 may determine how to adjust the bandwidth of an Internet telephone 115, 120 in use on the network. In an alternative embodiment, the network switch 110 may send the telephone switch 110 a command to adjust the bandwidth of an Internet telephone 115, 120 in use on the network responsive to activity on the network. Yet another embodiment includes a telephone switch 110 that retrieves the network performance information from the network switch 105. Once the information is retrieved from the network switch 105, the telephone switch 110 uses the information to determine how to adjust the bandwidth of an Internet telephone 115, 120 on the network.
An embodiment includes a telephone switch 110 that directs the network switch 105 to minimize the use of data bandwidth through the network switch 105 to provide more bandwidth for internet telephony. For an embodiment, the telephone switch 110 may direct the network switch 105 to restrict or limit bandwidth use for data based on the need for the telephone switch 110 to provide bandwidth for an Internet telephone 115, 120 designated as high priority. For one embodiment, the network switch 105 may minimize data bandwidth by refusing to accept data traffic from data devices such as computers 125. If the network switch 105 determines that data bandwidth cannot be reduced, an embodiment of a network switch 105 will inform a telephone switch 110 that the data bandwidth cannot be reduced. An embodiment of a telephone switch 110 may then refuse to allow any Internet telephones 115, 120 access to the network. For an embodiment, the user of an Internet telephone 115, 120 would hear a voice recording indicating all circuits are busy and to try the call at a later time.
For an embodiment, the communication between a network switch 105 and a telephone switch 110 may be established in overhead bytes of a communication stream. Another embodiment includes communication established between a network switch 105 and a telephone switch 110 through a dedicated channel. Yet another embodiment includes the network switch 105 and a telephone switch 110 communicating through packets.
To adjust the bandwidth of the Internet phone the telephone switch 110 may negotiate with an Internet phone 115, 120 in use on the network to use a different codec. In such an embodiment, the telephone switch 110 may negotiated the use of a codec that requires less bandwidth if the network requires more bandwidth. Conversely, the telephone switch 110 may negotiate the use of a codec that requires more bandwidth to improve voice quality if the network has spare bandwidth. Moreover, an embodiment may negotiate with an Internet telephone 115, 120 to use a codec more tolerant of packet jitter or packet loss to improve quality of service. One embodiment may drop Internet telephone conversations if using a different codec is not possible or would not increase network performance. The telephone switch 110 may handle any number of codecs including standardized codecs such as a Global System for Mobile communications codec (GSM), G.711, G.729, G.723.1, G.722, and G.728. Moreover, the telephone switch 110 may handle non-standardized codecs or proprietary codecs. Because some codecs require licenses, an embodiment of a telephone switch 110 may monitor the use of a licensed codec and negotiate the use of another codec if the maximum number of a licensed codec in use is reached or exceeded.
Embodiments of the telephone switch 110 may use VoIP control protocols such as Session Initiation Protocol (SIP), Inter-Asterisk exchange (IAX), H.323, Media Gateway Control (MEGACO), and Telecommunications and Internet Protocol Harmonization over Networks (TIPHON) to negotiate the use of a new codec with an Internet telephone 115, 120. For an embodiment, a telephone switch 110 may use a priority scheme to determine which Internet telephone 115, 120 to dynamically manage. For example, Internet telephone 115 may have a guaranteed bandwidth but Internet telephone 120 may not. In such a circumstance that Internet telephone 115 is already operating at a bandwidth guaranteed by the network, an embodiment of a telephone switch 110 would only negotiate with Internet telephone 120 to use a codec requiring less bandwidth. If the Internet telephone 120 is already operating at the lowest bandwidth available, the telephone switch 110 may disconnect the Internet telephone 120 from the network. For an embodiment, the phone conversation on Internet telephone 120 may be interrupted by a message indicating the call will be disconnected and to try the call later.
An embodiment of a packet-switched network according to the present invention Internet telephones 115, 120 may support video as well as audio. For an embodiment the telephone switch 110 may reduce the quality of the video to reduce bandwidth usage or suspend the video portion of the stream when the network switch 105 indicates more bandwidth is needed on the network. Moreover, the system may also negotiate a different codec for the audio portion.
The criteria used to manage the bandwidth of Internet telephony on a packet-based network may be based solely on the need for bandwidth or can be more complex and consider many variables. For example and not limitation,
Another embodiment may use criteria as illustrated in the
In the foregoing specification, specific exemplary embodiments of the invention have been described. It will, however, be evident that various modifications and changes may be made thereto. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.