Out-of-band keep-alive mechanism for clients associated with network address translation systems
First Claim
1. A computer-implemented system that facilitates connection management, comprising:
- a connection component including a network device having an inactivity timer, the connection component providing a communications connection between a first software entity on a first computer system and a second software entity on a second computer system, the connection component being configured to drop the communications connection if the network device does not receive an in-band packet communicated over the communications connection between the first software entity and the second software entity within a timeout period of the inactivity timer initiated for the communications connection by the network device; and
a keep-alive component, distinct from the first software entity and the second software entity, for sending out-of-band (OOB) spoofed packets to the connection component that are perceived by the network device as in-band traffic over the communications connection between the first software entity and the second software entity and reset the timeout period of the inactivity timer to maintain the communications connection between the first software entity and the second software entity,wherein OOB spoofed packets that appear to be communicated over the communications connection from the first software entity to the second software entity are inserted by the keep-alive component into the communications connection between the first software entity and the network device, processed by the network device to reset the timeout period of the inactivity timer, and removed by the keep-alive component from the communications connection after being processed by the network device and before reaching the second software entity, andwherein the keep-alive component maintains the communications connection between the first software entity and the second software entity by inserting OOB spoofed packets into the communication connection before the timeout period expires until receiving an indication from at least one of the first software entity and the second software entity that the communications connection is no longer desired.
2 Assignments
0 Petitions
Accused Products
Abstract
Architecture for maintaining connection state of network address translation (NAT) devices by employing an out-of-band (OOB) technique externally to application connections without imposing additional requirements on the underlying native application(s). The OOB solution can be applied to arbitrary connections without requiring modification to an application protocol and works with TCP and UDP. A keep-alive (KA) application is employed as an OOB mechanism that injects KA packets that appear to the NAT device to be coming from the native connection. These injected packets fool the NAT device into resetting the inactivity timer for that connection, but do not fool or confuse the native application, which is oblivious to the spoofing. Accordingly, the connection will not terminate due to NAT timeouts, and therefore, a client/server protocol, for example, will not need to generate fake activity packets to keep the connection alive.
-
Citations
20 Claims
-
1. A computer-implemented system that facilitates connection management, comprising:
-
a connection component including a network device having an inactivity timer, the connection component providing a communications connection between a first software entity on a first computer system and a second software entity on a second computer system, the connection component being configured to drop the communications connection if the network device does not receive an in-band packet communicated over the communications connection between the first software entity and the second software entity within a timeout period of the inactivity timer initiated for the communications connection by the network device; and a keep-alive component, distinct from the first software entity and the second software entity, for sending out-of-band (OOB) spoofed packets to the connection component that are perceived by the network device as in-band traffic over the communications connection between the first software entity and the second software entity and reset the timeout period of the inactivity timer to maintain the communications connection between the first software entity and the second software entity, wherein OOB spoofed packets that appear to be communicated over the communications connection from the first software entity to the second software entity are inserted by the keep-alive component into the communications connection between the first software entity and the network device, processed by the network device to reset the timeout period of the inactivity timer, and removed by the keep-alive component from the communications connection after being processed by the network device and before reaching the second software entity, and wherein the keep-alive component maintains the communications connection between the first software entity and the second software entity by inserting OOB spoofed packets into the communication connection before the timeout period expires until receiving an indication from at least one of the first software entity and the second software entity that the communications connection is no longer desired. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method of managing a connection, comprising:
-
establishing a Network Address Translation (NAT) connection for communicating in-band packets between a first native application of a first computing system and a second native application of a second computing system through a NAT device having an inactivity timer, wherein the NAT connection is dropped by the NAT device if the NAT device does not receive an in-band packet communicated over the NAT connection between the first native application and the second native application within a timeout period of the inactivity timer initiated for the NAT connection by the NAT device; and launching a keep-alive application, distinct from the native applications, configured to automatically send out-of band (OOB) spoofed packets to the NAT device that are perceived by the NAT device as in-band traffic over the NAT connection between the first native application and the second native application and reset the timeout period of the inactivity timer to maintain the NAT connection between the first native application and the second native application, wherein the OOB spoofed packets that appear to be communicated over the NAT connection from the first native application to the second native application are inserted by the keep-alive application into the NAT connection between the first native application and the NAT device, processed by the NAT device to reset the timeout period of the inactivity timer, and removed by the keep-alive application from the connection after being processed by the NAT device and before reaching the second native application, and wherein the keep-alive application maintains the NAT connection between the first native application and the second native application by inserting OOB spoofed packets into the NAT connection before the timeout period expires until receiving an indication from at least one of the first native application and the second native application that the NAT connection is no longer desired. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-implemented system including a processing unit and memory, the computer-implemented system comprising:
-
computer-implemented means for automatically establishing a Network Address Translation (NAT) connection for communicating in-band packets between a first native application of a first computer system and a second native application of a second computer system through a NAT device having an inactivity timer, wherein the NAT connection is dropped by the NAT device if the NAT device does not receive an in-band packet communicated over the NAT connection between the first native application and the second native application within a timeout period of the inactivity timer initiated for the NAT connection by the NAT device; computer-implemented means for automatically launching one or more keep-alive applications which are distinct from the first native application and the second native application; computer-implemented means for monitoring the NAT connection for inactivity based on a system table; and computer-implemented means for automatically sending out-of-band (OOB) spoofed packets to the NAT device in response to sensing the inactivity that are perceived by the NAT device as in-band traffic over the NAT connection between the first native application and the second native application and reset the timeout period of the inactivity timer to maintain the NAT connection between the first native application and the second native application, wherein OOB spoofed packets that appear to be communicated over the NAT connection from the first native application to the second native application are inserted by a keep-alive application into the NAT connection between the native application and the NAT device based on one of TCP packets and UDP packets, processed by the NAT device to reset the timeout period of the inactivity timer, and removed by a keep-alive application from the NAT connection after being processed by the NAT device and before reaching the second native application, and wherein the keep-alive application maintains the NAT connection between the first native application and the second native application by inserting OOB spoofed packets into the NAT connection before the timeout period expires until receiving an indication from at least one of the first native application and the second native application that the NAT connection is no longer desired.
-
Specification