Sustaining session connections
First Claim
1. A method performed by a computing device for sustaining a session connection, comprising:
- opening a session with a second computing device using a session initiation protocol, the session having a connection; and
sending a heartbeat message using a transport layer protocol, 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 sending the heartbeat message sustains the session connection;
wherein the session is established and sustained between the computing device and a second computing device through a proxy server and wherein after transferring the heartbeat message from the computing device to the second computing device, the proxy server resets a message clock of the connection.
2 Assignments
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.
-
Citations
29 Claims
-
1. A method performed by a computing device for sustaining a session connection, comprising:
-
opening a session with a second computing device using a session initiation protocol, the session having a connection; and sending a heartbeat message using a transport layer protocol, 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 sending the heartbeat message sustains the session connection; wherein the session is established and sustained between the computing device and a second computing device through a proxy server and wherein after transferring the heartbeat message from the computing device to the second computing device, the proxy server resets a message clock of the connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium excluding transmission media, wherein computer-readable medium having stored thereon computer-executable instructions which, when executed, cause a computing system to perform a method comprising:
-
opening a session with a second computing device using a session initiation protocol, the session having a connection; sending messages using the session initiation protocol, wherein the messages are segmented by a transport layer into a set of messages of a transport layer protocol; and sending a heartbeat message using a second protocol, wherein the session initiation protocol is employed by a higher layer of a data communications stack than the transport layer protocol, and wherein the heartbeat message is a valid message of the transport layer protocol and is not provided to an application employing the session initiation protocol, and sending the heartbeat message sustains the session connection; wherein the session is established and sustained between the computing device and a second computing device through a proxy server, and wherein after transferring the heartbeat message from the computing device to the second computing device, the proxy server resets a message clock of the connection. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for sustaining a session connection, comprising:
-
a computing device including a processing unit and memory; a component operating on the computing device that receives a message via a connection with a remote computing device; and
a component operating on the computing device that determines whether the received message is a heartbeat message, wherein the heartbeat message is a valid message of a lower level protocol and has no effect on a higher level protocol, and wherein the higher level protocol is a session initiation protocol and the lower level protocol is a transport layer protocol; andwhen the received message is a heartbeat message, acknowledges the received message; and when the received message is not a heartbeat message, forwards the message; wherein the message is received from the remote computing device via a proxy server, and wherein after transferring the message, the proxy server resets a message clock of the session connection. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification