A. Field of the Invention
This invention relates generally to voice over Internet Protocol (VoIP) network connections, and more particularly, to a protocol for reserving bandwidth over an IP network.
B. Description of Related Art
VoIP is a term used in IP telephony for a set of facilities for managing the delivery of voice information using the Internet Protocol (IP). In general, this means sending voice information in digital form in discrete packets rather than in the traditional circuit-committed protocols of the public switched telephone network (PSTN).
Quality of service (QoS) is a significant factor in developing VoIP networks. An acceptable voice call should maintain minimum bandwidth and latency levels throughout the call. This is in contrast to traditional IP-based communications in which variable connection quality is acceptable. Accordingly, IP networks tend to not have native QoS guarantees.
In an effort to enable IP networks to provide guaranteed bandwidth data paths, protocols for reserving resources in an IP network have been developed. Such protocols include the resource reservation protocol (RSVP) and the CR-LDP protocol. Hosts running RSVP request specific qualities of service from a network for particular application data streams or flows. RSVP, however, from the perspective of the client devices running RSVP, can be a relatively complex protocol that occupies the place of a transport protocol in the protocol stack. Additionally, RSVP requires its clients to include a fairly large version of the IP stack.
There is a need in the art for a resource reservation protocol that overcomes the limitations of existing systems and methods.
A slim protocol for reserving QoS levels over an IP network is described that gives clients a real-time “digested” picture of the available QoS links without requiring the clients to actually query the IP network to obtain the QoS links.
A first aspect consistent with the invention is directed to a method that includes transmitting a first message to a router requesting a connection over an IP network to a specified destination. The connection has quality of service requirements. The method further includes receiving a second message from the router indicating whether the requested connection is available and transmitting data over the requested connection when the requested connection is available. Further, the method includes receiving a third message from the router when the needed connection quality of service requirements over the requested connection can no longer be met.
A second aspect consistent with the invention is directed to a system for completing a VoIP call. The system includes a voice gateway that links a PSTN to an IP network, the voice gateway includes a client component that is configured to transmit a message requesting a connection over the IP network to a second voice gateway. The system further includes a router in the IP network that includes a server component. The server component receives the message requesting the connection. The server component includes a first table and a second table. The first table is configured to store a list of media gateways. The second table is configured to store valid IP connections in the IP network and bandwidth and latency information associated with the valid IP connections.
Another aspect consistent with principles of the invention is directed to a network device. The network device includes a protocol handler component configured to interpret and respond to received messages exchanged in a connection reservation protocol. The messages are used to inform media gateways of IP connections having minimum specified bandwidth and latency specifications. The network device further includes a first table configured to store a list of other network devices using the connection reservation protocol and a second table configured to store the IP connections and the bandwidth and latency specifications associated with the IP connections.
Yet another aspect consistent with principles of the invention is directed to a method. The method includes receiving a first message requesting a connection over an IP network to a specified destination, the connection having connection quality of service requirements. The method further includes establishing a connection over the IP network having the connection quality of service requirements, transmitting a second message identifying the established connection, and transmitting a third message when the quality of service of the established connection falls below the connection quality of service requirements.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate the invention and, together with the description, explain the invention. In the drawings,
The following detailed description of the invention refers to the accompanying drawings. The same reference numbers may be used in different drawings to identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and equivalents.
A media gateway, such as a voice gateway, is functionally connected to an IP network through a router. The router and the media gateway communicate through a slim protocol, called the ISVoice protocol herein, that allows the media gateway to reserve connections over the IP network that have certain minimum bandwidth and latency attributes.
Voice gateways 104 perform tasks similar to those performed by PSTNs 103 and additionally perform gateway functions between IP network 101 and PSTNs 103. More particularly, voice gateways 104 may be responsible for call origination, call detection, analog-to-digital conversion of voice, and creation of voice packets (CODEC functions). Voice gateways 104 may include optional features, such as voice (analog and/or digital) compression, echo cancellation, silence suppression, and statistics gathering.
Although voice gateways 104 are described herein as handling voice traffic, voice gateways 104 may be more generally referred to as media gateways that can also handle multimedia data streams, such as a video data stream.
The ISVoice protocol operates on voice gateways and routers in network 100 to allow voice gateways to request network connections. The ISVoice protocol will now be described in further detail.
Edge routers and voice gateways are generally well known in the art. Accordingly, the basic operation of these devices will not be described further.
Voice gateways 104, as part of their gateway function, receive voice calls from, for example, a PSTN network, and transmit the calls as a series of packets to a destination voice gateway. Thus, voice gateway 104-1 may receive a call, determine that voice gateway 104-2 is the appropriate destination gateway, and open a connection through network 101 on which the call is to be transmitted. When the callers begin speaking, the call is transmitted through voice gateway 104-1 and network 101 to voice gateway 104-2, which completes the call to the end user.
The bandwidth and latency requirements for a particular call being handled by the voice gateways may change depending on the type of call. Consistent with an aspect of the invention, voice gateways may, using the ISVoice protocol, request a connection through network 101 having minimum bandwidth and latency requirements from an edge router. Voice gateway 104-1, for example, may send messages to edge router 205 requesting a connection with a certain bandwidth and latency requirement. Edge router 205 then responds to voice gateway 104-1 based on the connections it can locate through network 201.
More particularly, the ISVoice protocol may be implemented between voice gateways and edge routers through software applications residing on the voice gateways and edge routers. These software applications are illustrated in
In general, a server component, such as server component 211-1, handles the creation of the IP connection between edge router 205 and edge router 206, which then creates the connection to voice gateway 104-2. Server component 211-1 may then present the IP connection to client component 210-1 as an “IP circuit.” Server component 211-1 generally creates and manages the IP circuits at the request of client component 210-1. Server component 211-1 may, for example, implement an IP circuit through network 201 via an IP interface stacked above an L2 interface that fulfills the destination, bandwidth, and latency requirements of the IP circuit. From the point of view of client component 210, the IP circuit can be thought of simply as a connection to a particular destination and having given bandwidth and latency attributes.
Voice gateway table 302 stores the identity of those voice gateways that are expected to connect to server component 211. Table 302 may additionally store attributes associated with each of the voice gateways. These attributes may include a list of the IP circuits each voice gateway is entitled to use based on the IP circuit destination address and administrative state information pertaining to the voice gateways.
IP circuit table 303 keeps track of the voice gateway that “owns” a particular IP circuit, keeps track of the state of the IP interface corresponding to each IP circuit, and keeps track of the current latency measurements for the IP circuits. In one implementation, the possible IP circuits are preconfigured into server component 211. In an alternate implementation, server component 211 may dynamically discover suitable IP circuits in network 101.
TCP socket handler 304 performs initial processing of data received via the TCP sockets of the router. TCP socket handler 304 may, for example, communicate with voice gateways 104 via a series of messages exchanged between TCP socket handler 304 and the voice gateways. Protocol handler 305 may interpret the received messages and generate outgoing messages that are consistent with the ISVoice protocol. Protocol handler 305 may also monitor the created IP circuits and update voice gateways 104 when the status of an IP circuit changes. TCP socket handler 304 may additionally store the TCP socket that is being used to communicate with the router and administrative status information for the router.
As previously mentioned, client components 210 and server components 211 executing the ISVoice protocol communicate with one another by exchanging messages.
Message-type field 603 may be an eight bit field used to identify the type of message. Possible message types for one potential implementation of the ISVoice protocol are shown below in Table I.
In the implementation shown in Table I, the voice gateway sends messages to the edge router using one of four different message types (“Keep Alive”, “IP Circuit Registration Request”, “IP Circuit Unregistration Request”, and “IP Circuit Report Request”). Similarly, the edge router sends messages to the voice gateway using one of two different message types (“Keep Alive” and “IP Circuit Event”).
MBZ (must be zero) field 604 may be a 16-bit field that provides a level of error checking for a received message. MBZ field 604 should be set to zero. When a message is received, the receiving component may initially check the version field 601 and the MBZ field 604. The version number in version field 601 should match a recognized version number. MBZ field 604 should always be set to zero. If either of these states are not met in the message, the receiving component may generate an error.
Message-length field 605 may be a 32-bit field that contains the size of the message, in octets, including the common header 501 and all message objects 502. The message-length field 605 may be aligned on a 32 bit boundary.
Referring to Table II, the objects transmitted in messages 500 provide a relatively simple information set between server components 211 and client components 210 that describe an IP circuit created through network 201.
An exemplary end-to-end connection 830 is shown in
As is illustrated in
The ISVoice protocol, as described above, allows media gateways to reserve connections of a specified quality over an IP network. The media gateways only need to execute a relatively simple client application and do not have to be independently capable of reserving IP-QoS information from the IP network. The client requests IP circuits having specified bandwidth and latency requirements from a router running a corresponding software component. The router handles the obtaining of the requested IP circuit for the client.
The foregoing description of preferred embodiments of the invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
Moreover, while a series of acts has been presented with respect to
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used.
The scope of the invention is defined by the claims and their equivalents.
This application is a continuation of U.S. patent application Ser. No. 10/361,626, filed Feb. 11, 2003, the disclosure of which is incorporated herein by reference.
| Number | Name | Date | Kind |
|---|---|---|---|
| 6151309 | Busuioc et al. | Nov 2000 | A |
| 6282192 | Murphy et al. | Aug 2001 | B1 |
| 6600735 | Iwama et al. | Jul 2003 | B1 |
| 6650619 | Schuster et al. | Nov 2003 | B1 |
| 6765921 | Stacey et al. | Jul 2004 | B1 |
| 6768726 | Dorenbosch et al. | Jul 2004 | B2 |
| 6778496 | Meempat et al. | Aug 2004 | B1 |
| 6868080 | Umansky et al. | Mar 2005 | B1 |
| 6904017 | Meempat et al. | Jun 2005 | B1 |
| 6907004 | Ramsey et al. | Jun 2005 | B1 |
| 6956820 | Zhu et al. | Oct 2005 | B2 |
| 7023839 | Shaffer et al. | Apr 2006 | B1 |
| 7031311 | MeLampy et al. | Apr 2006 | B2 |
| 7082120 | Saller | Jul 2006 | B2 |
| 7133923 | MeLampy et al. | Nov 2006 | B2 |
| 7286467 | Sylvain | Oct 2007 | B1 |
| 7330463 | Bradd et al. | Feb 2008 | B1 |
| 7558256 | Peterson et al. | Jul 2009 | B1 |
| 7656866 | Banner et al. | Feb 2010 | B2 |
| 7664036 | Bye | Feb 2010 | B2 |
| 20010024438 | Sugiyama et al. | Sep 2001 | A1 |
| 20020009073 | Furukawa et al. | Jan 2002 | A1 |
| 20020024974 | Karagiannis et al. | Feb 2002 | A1 |
| 20020112073 | MeLampy et al. | Aug 2002 | A1 |
| 20020114274 | Sturges et al. | Aug 2002 | A1 |
| 20020174208 | Morlitz | Nov 2002 | A1 |
| 20030012138 | Abdelilah et al. | Jan 2003 | A1 |
| 20030091024 | Stumer | May 2003 | A1 |
| 20030219006 | Har | Nov 2003 | A1 |
| 20040013090 | Cashiola et al. | Jan 2004 | A1 |
| 20040030797 | Akinlar et al. | Feb 2004 | A1 |
| 20040131057 | Miyashita | Jul 2004 | A1 |
| 20040214581 | Davis et al. | Oct 2004 | A1 |
| 20060010243 | DuRee | Jan 2006 | A1 |
| Number | Date | Country | |
|---|---|---|---|
| Parent | 10361626 | Feb 2003 | US |
| Child | 12475186 | US |