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 established through a proxy server; and
sending a heartbeat message using a transport layer protocol from the computing device to the second computing device, 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 but ignored by the session initiation protocol, and sending the heartbeat message sustains the session connection by causing reset of a message clock of the connection.
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.
33 Citations
20 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 established through a proxy server; and sending a heartbeat message using a transport layer protocol from the computing device to the second computing device, 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 but ignored by the session initiation protocol, and sending the heartbeat message sustains the session connection by causing reset of a message clock of the connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage device having stored thereon computer-executable instructions which, when executed, cause a computing device to perform a method comprising:
-
opening a session with a second computing device using a session initiation protocol, the session having a connection established through a proxy server; and sending a heartbeat message using a transport layer protocol from the computing device to the second computing device, 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 but ignored by the session initiation protocol, and sending the heartbeat message sustains the session connection by causing reset of a message clock of the connection. - View Dependent Claims (10, 11)
-
-
12. A system for sustaining a session connection, comprising:
-
a processing unit; a memory communicatively coupled to the processing unit and storing computer-executable instructions which, when executed, cause the system to perform a method comprising; receiving a message via a session connection with a remote computing device established through a proxy server, the session connection using a session initiation protocol; determining whether the received message is a heartbeat message, wherein the heartbeat message is a valid message of a transport layer protocol but has no effect on a session initiation protocol; and wherein the session connection with the remote computing device is maintained by the heartbeat message by causing reset of a message clock of the session connection. - View Dependent Claims (13, 14)
-
-
15. A system for sustaining a session connection, comprising:
-
a processing unit; a memory communicatively coupled to the processing unit and storing computer-executable instructions which, when executed, cause the system to perform a method comprising; establishing a session connection with a remote computing device via a proxy server, the session connection using a session initiation protocol; determining whether a message of the session initiation protocol has been sent within a predetermined amount of time, and, if no message of the session initiation protocol has been sent, transmitting a heartbeat message to the remote computing device that is a valid message of the transport layer protocol but ignored by the session initiation protocol, thereby causing reset of a message clock of the connection. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification