Sustaining session connections
First Claim
1. A method performed by a proxy computing device for sustaining a session connection between client and server computing devices, the method comprising:
- receiving a heartbeat message at the proxy computing device from the client computing device, the client and server computing device having an open session using a session initiation protocol, and the heartbeat message being a valid message of a transport layer protocol and ignored by the session initiation protocol;
resetting a message clock of the session connection between the client and server computing devices;
transmitting the heartbeat message from the proxy computing device to the server computing device, whereby sending the heartbeat message sustains the session connection between the client and server computing devices; and
a period of time after receiving the heartbeat message, receiving a second heartbeat message at the proxy computing device from the client computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
In an embodiment, techniques for sustaining session connections are provided. The techniques send heartbeat messages when not sending a message may cause the session connection to close because of a timeout condition. Heartbeat messages are valid transport layer messages that will be ignored by protocols at higher levels of a data communications stack. As an example, the techniques may send a TCP message containing only a carriage return and line feed (“CRLF”) in its payload. Because the TCP layer considers a message containing only a CRLF to be a valid TCP message, intermediary computing devices such as proxy servers may not interpret heartbeat messages as “keep alive” messages, and may sustain session connections.
32 Citations
22 Claims
-
1. A method performed by a proxy computing device for sustaining a session connection between client and server computing devices, the method comprising:
-
receiving a heartbeat message at the proxy computing device from the client computing device, the client and server computing device having an open session using a session initiation protocol, and the heartbeat message being a valid message of a transport layer protocol and ignored by the session initiation protocol; resetting a message clock of the session connection between the client and server computing devices; transmitting the heartbeat message from the proxy computing device to the server computing device, whereby sending the heartbeat message sustains the session connection between the client and server computing devices; and a period of time after receiving the heartbeat message, receiving a second heartbeat message at the proxy computing device from the client computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A proxy computing device communicatively coupled between client and server computing devices and configured to sustain a session connection between the client and server computing devices, the proxy computing device comprising:
-
a first component executable on the proxy computing device that receives a message via a connection with the client computing device; a second component executable on the proxy computing device that transmits the received message to the server computing device; and a third component executable on the proxy computing device that determines whether the received message is a heartbeat message, the heartbeat message being a valid message of a transport layer protocol and ignored by a session initiation protocol, and upon determining that the received message is a heartbeat message, resets a message clock of the session connection between the client and server computing devices, thereby sustaining the session connection between the client and server computing devices wherein, a period of time after receiving the message, the first component receives a second message via a connection with the client computing device, the second message determined by the third component to be a second heartbeat message. - View Dependent Claims (15, 21)
-
-
16. A method performed by a server computing device for sustaining a session connection, comprising:
-
establishing a session with a client computing device using a session initiation protocol, the session having a session connection; and receiving a heartbeat message using a transport layer protocol from the client computing device via a proxy computing device, wherein the session initiation protocol is employed by a higher layer of a data communications stack than the second protocol, and wherein the heartbeat message is a valid message of the transport layer protocol and ignored by the session initiation protocol, and receiving the heartbeat message sustains the session connection at the server computing device; and a period of time after receiving the heartbeat message, receiving a second heartbeat message at the proxy computing device from the client computing device; wherein the session is established and sustained between the client computing device and the server computing device through the proxy computing device, and wherein after receiving the heartbeat message at the server computing device from the client computing device, a message clock of the session connection is reset prior to receiving the second heartbeat message. - View Dependent Claims (17, 18, 19, 20, 22)
-
Specification