The present invention is directed to establishing a communication channel using protected network resources. In particular, the present invention relates to embedding objects related to establishing a communication channel in data packets for reserving network resources.
Various mechanisms for providing minimum quality of service levels with respect to Internet protocol packet flows have been developed. For example, the resource reservation protocol (RSVP) can be used to reserve bandwidth and nominate the desired quality of service (QoS) treatment for a particular network packet flow between two or more network endpoints. Use of RSVP involves sending data packets across a communication network to reserve resources at points along a path or paths that will be used in connection with a communication channel. In particular, the IP addresses of network nodes or routers along the path are collected, and resources on those nodes reserved.
The establishment of protected or reserved network resources can fail for various reasons. For example, the requested resources may not be available. Determining whether requested bandwidth can be reserved at a desired QoS treatment requires sending an RSVP path packet, receiving a RSVP reservation packet, and sending an RSVP confirmation packet. Accordingly, making a determination as to whether requested resources are available takes time.
In connection with reserved network resources, a network packet flow using such resources must usually be established separately. For example, a connection may be established according to the procedures of a protocol such as the transmission control protocol (TCP) or the session initiation protocol (SIP). In general, the establishment of a connection according to such a protocol requires an exchange of messages between endpoints of the communication channel. For various reasons, a requested communication channel may be unavailable.
Accordingly, the establishment of a communication channel using protected network resources requires both the reservation of resources and the establishment of a communication channel. If the steps of obtaining resource reservations is performed in series with the steps of establishing a communication channel to utilize the reserved resources, the process is approximately twice as time consuming. As an alternative, the steps of making resource reservations and establishing a communication channel can be performed in parallel or interleaved with one another. However, even if such steps are performed in parallel, the use of reserved network resources in connection with a communication channel involves increased setup times as compared to a communication channel established without a reservation of network resources. Also, data packet traffic on the network is increased.
In addition, existing methods of establishing communication channels using reserved resources are inefficient. In particular, if one or the other of a requested reservation or communication channel is established, but the other fails, the established reservation or channel must be torn down, and the process must be restarted.
The present invention is directed to solving these and other problems and disadvantages of the prior art. According to an embodiment of the present invention, an object is defined as part of a resource reservation protocol that is capable of tunneling an IP packet in the data packet messages used to reserve the requested resources. The present invention may be used to establish a connection between endpoints where reservation packets are exchanged between those same two endpoints. For example, the present invention may be used to transport connection set up sequence messages used by various communication protocols, such as the transmission control protocol (TCP), the stream control transmission protocol (SCTP) and the session initiation protocol (SIP). In general, the present invention may be used in connection with any Internet protocol (IP) based protocol that uses a three way handshake to establish a communications session.
In accordance with an embodiment of the present invention, messages used to establish a communication channel are mapped to messages used to establish reserved network resources. Accordingly, a single set of data packets may be used to establish both the requested channel and resource reservations. Furthermore, because the required messages are sent simultaneously, a failure to obtain either the requested reservation of resources or the requested communication channel can be apparent sooner and handled more simply by software than using prior art techniques.
The present invention is related to tunneling Internet protocol packets included as part of packets sent in connection with reserving communication network resources. With reference now to
The first and second communication endpoints 104, 120 may comprise any source or receiver of communications data. Accordingly, the communication endpoints 104, 120 may comprise network nodes, such as general purpose computers, routers or gateways. Particular examples of communication endpoints 104, 120 include Internet protocol (IP) telephones, implemented in hardware or software, for example as part of general purpose computers. Other examples of communication endpoints 104, 120 include media terminals and servers. The routers 108, 116 function to interconnect the communication endpoints 104, 120 to the communication network 112. Accordingly, the routers 108, 116 may comprise IP routers. The communication network 112 may comprise one or more networks, of one or more types. For example, the communication network 112 may comprise a packet data network or combination of packet data and switched circuit networks. As a further example, the communication network 112 may comprise the Internet, intranet, or a combination of one or more intranets and the Internet. As can also be appreciated by one of skill in the art, the communication network 112 may comprise either or both of the first and second routers 108, 116. In addition, it should be appreciated that the routers 108, 116 are not necessary to the present invention.
For purposes of description, the establishment of a communication channel between the first and second communication endpoints 104, 120 will be explained in connection with the establishment of a voice telephony communication session using reserved network resources. However, it should be appreciated that the present invention is not so limited. For example, the present invention may be used in connection with reserving resources and establishing communication channels for use in connection with packet data flows for any purpose, including or in addition to any type of real-time transfer protocol (RTP) communications.
With reference now to
At step 208, the first data packet is sent from the first communication endpoint 104. As the first data packet traverses the communication network 112, downstream path messages are stored conventionally (step 212). According to an embodiment of the present invention, nodes on the network 112 that are intermediate to the first and second communication endpoints 104, 120 are not required to recognize the object containing the request for a communication channel. Accordingly, such network nodes simply ignore that object, and instead take action based on other objects included in the first data packet. Eventually, assuming the transmission is successful, the first packet is received at the second communication endpoint 120 (step 216).
At step 220, the second communication endpoint 120 recognizes the message initiating the request for a reservation of network resources and the embedded message for initiating a communication channel, and a determination is made as to whether both the requested connection and requested resource reservation are acceptable. If the second communication endpoint 120 confirms that the requested resource reservation and the requested connection are acceptable, a second data packet containing a resource reservation message and comprising an object acknowledging the connection request is created (step 224). The second data packet is then sent from the second communication endpoint 120 (step 228). Upstream reservations are created on network nodes within the communication network 112 as the second data packet traverses the network (step 232). As the upstream reservations are created, nodes on the network 112 are not required to recognize the object containing an acknowledgment of the connection request, and may ignore that object. Provided the transmission of the packet is successful, the second data packet is received at the first communication endpoint 104 (step 236).
At step 240, the first communication endpoint 104 recognizes the resource reservation message and the embedded message acknowledging the connection request, and a determination is made as to whether both the resource reservation and connection acknowledgment are acceptable. If they are not acceptable, the establishment of a resource reservation and communication channel can be retried (step 222). If the resource reservation and connection acknowledgements are acceptable, a third data packet comprising a reservation confirmation and containing an object acknowledging the connection is created (step 244). The third data packet is then sent from the first communication endpoint 104 to the second communication endpoint 120 (step 248). Again, any intermediate network nodes are not required to recognize the embedded object acknowledging the connection. The transmission of data between the endpoints 104, 120 may then be initiated (step 252).
If an attempted retry (step 222) is made, the process returns to step 204. If no retry is to be attempted, the process ends (step 256). As can be appreciated by one of skill in the art, the process may be retried or abandoned if a time period allotted for receiving a data packet in response to a preceding packet within a handshake sequence expires or if a required message is not received at any point.
With reference now to
If the requested TCP connection and RSVP are acceptable, a second data packet 316 comprising an RSVP RES message 320 and containing a TCP SYN (SEQ=Y, ACK=X+1) data packet 324 is returned to the first communication endpoint 104. As the second data packet 316 traverses the communication network 112, IP address information regarding the network nodes encountered is collected. When the second data packet 316 is received by the first communication endpoint 104, a determination is made as to whether the RSVP is acceptable.
If the RSVP is acceptable, a third data packet 328 comprising an RSVP confirm message 332 and containing a TCP SEQ=X+1, and an ACK=Y+1 message 336 is sent to the second communication endpoint 120. A TCP connection using reserved resources can thus be established using only three separate data packets 304, 316, 328, as compared to requiring at least 6 separate data packets using prior art methods.
With reference now to
If the SIP invitation and RSVP are acceptable, a second data packet 416 comprising an RSVP RES message 420 containing an SIP invite reply object 424 is returned to the first communication endpoint 104. The first communication endpoint 104 then determines whether the SIP reply and RSVP are acceptable.
If the SIP reply and RSVP are acceptable, a third data packet 428 comprising an RSVP confirm message 432 containing an object comprising an SIP ACK message 436 is returned to the second communication endpoint 120. A media channel that is protected by an RSVP reservation is thus established. The second communication endpoint 120 may then send a fourth data packet 440 comprising an SIP ACK reply message to the first communication endpoint 104. Data packet flow using the media channel may then commence.
As can be appreciated, the data object contained in a data packet comprising a message for reserving resources on a network can contain any IP packet that is destined for the same address as the message packet. Accordingly, the data object or objects included as part of a resource reservation message is not limited to those of the type described in the examples provided herein. Likewise, the data object may be defined for other methods and protocols for reserving network resources in addition to RSVP, such as resource reservation protocol traffic engineering (RSVP-TE) and Constraint-Based LSP Setup using LDP (CR-LDP).
In addition, in connection with establishing communication channels in accordance with protocols such as TCP or SIP, any intermediate nodes should typically recognize messages concerning a request for network resources, but are not required to recognize the embedded objects. Instead, those objects and the messages they contain need only be recognized by the communication channel endpoints (e.g., communication endpoints 104, 120). Accordingly, implementation of embodiments of the present invention only requires that the communication channel endpoints (or network nodes that otherwise should recognize embedded objects) be modified or created with the capability to recognize objects embedded as disclosed herein.
As can be appreciated by one of skill in the art, the disclosed invention can be used in connection with packet data communication networks 112. As can further be appreciated, the configuration shown in
The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, within the skill and knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain the best mode presently known of practicing the invention and to enable others skilled in the art to utilize the invention in such or in other embodiments and with various modifications required by their particular application or use of the invention. It is intended that the appended claims be construed to include the alternative embodiments to the extent permitted by the prior art.
Number | Name | Date | Kind |
---|---|---|---|
5802058 | Harris et al. | Sep 1998 | A |
5946311 | Alexander et al. | Aug 1999 | A |
6118785 | Araujo et al. | Sep 2000 | A |
6201791 | Bournas | Mar 2001 | B1 |
6252857 | Fendick et al. | Jun 2001 | B1 |
6353616 | Elwalid et al. | Mar 2002 | B1 |
6353856 | Kanemaki | Mar 2002 | B1 |
6389038 | Goldberg et al. | May 2002 | B1 |
6434139 | Liu et al. | Aug 2002 | B1 |
6438137 | Turner et al. | Aug 2002 | B1 |
6449344 | Goldfinger et al. | Sep 2002 | B1 |
6453349 | Kano et al. | Sep 2002 | B1 |
6477164 | Vargo et al. | Nov 2002 | B1 |
6483835 | Tanigawa et al. | Nov 2002 | B1 |
6515966 | Bardalai et al. | Feb 2003 | B1 |
6519254 | Chuah et al. | Feb 2003 | B1 |
6563793 | Golden et al. | May 2003 | B1 |
6577613 | Ramanathan | Jun 2003 | B1 |
6598080 | Nagami et al. | Jul 2003 | B1 |
6678474 | Masuda et al. | Jan 2004 | B1 |
6763392 | del Val et al. | Jul 2004 | B1 |
6816500 | Mannette et al. | Nov 2004 | B1 |
6931025 | Masuda | Aug 2005 | B1 |
6931448 | Holler et al. | Aug 2005 | B2 |
6934249 | Bertin et al. | Aug 2005 | B1 |
6967927 | Dugeon et al. | Nov 2005 | B1 |
6970450 | Scott | Nov 2005 | B1 |
7009994 | Bahl | Mar 2006 | B2 |
7116682 | Waclawsky et al. | Oct 2006 | B1 |
7126939 | Barany et al. | Oct 2006 | B2 |
7139263 | Miller et al. | Nov 2006 | B2 |
7143191 | Chuah et al. | Nov 2006 | B2 |
20010025321 | Tang et al. | Sep 2001 | A1 |
20020031142 | Metin et al. | Mar 2002 | A1 |
20020087699 | Karagiannis et al. | Jul 2002 | A1 |
20020097798 | Manor | Jul 2002 | A1 |
20030115390 | Iijima | Jun 2003 | A1 |
20030133459 | Siddiqui et al. | Jul 2003 | A1 |
20030161322 | Shaheen et al. | Aug 2003 | A1 |
20030229690 | Kitani et al. | Dec 2003 | A1 |
20040022247 | Chen et al. | Feb 2004 | A1 |
20040081151 | Greis et al. | Apr 2004 | A1 |
20040085949 | Partanen et al. | May 2004 | A1 |
20040109459 | Madour et al. | Jun 2004 | A1 |
20040132481 | Sugaya | Jul 2004 | A1 |
20040139088 | Mandato et al. | Jul 2004 | A1 |
20040151206 | Scholte | Aug 2004 | A1 |
20040196825 | Scholte | Oct 2004 | A1 |
20040196843 | Zinin | Oct 2004 | A1 |
20050013287 | Wallentin et al. | Jan 2005 | A1 |
20050117580 | del Val et al. | Jun 2005 | A1 |
20050207340 | O'Neill | Sep 2005 | A1 |
20050216776 | Watanabe | Sep 2005 | A1 |
20050226235 | Kumar et al. | Oct 2005 | A1 |
20060114889 | Schneider et al. | Jun 2006 | A1 |
20060168337 | Stahl et al. | Jul 2006 | A1 |
20060182117 | Chen et al. | Aug 2006 | A1 |
20060233333 | Brombal et al. | Oct 2006 | A1 |
20060256719 | Hsu et al. | Nov 2006 | A1 |
20070115825 | Roberts | May 2007 | A1 |
20070242677 | Shaheen et al. | Oct 2007 | A1 |
20080019386 | Chen et al. | Jan 2008 | A1 |
Number | Date | Country |
---|---|---|
62-219732 | Sep 1987 | JP |
2000-138711 | May 2000 | JP |
2000-174818 | Jun 2000 | JP |
2002-141932 | May 2002 | JP |
2002-190825 | Jul 2002 | JP |
2002-354020 | Dec 2002 | JP |
WO 0011849 | Mar 2000 | WO |
WO 0213023 | Feb 2002 | WO |