DETERMINING AN EFFICIENT KEEP-ALIVE INTERVAL FOR A NETWORK CONNECTION
First Claim
1. A method for use in communication between a client and a server, via a networking device, comprising:
- sending a request to establish a data connection from the client to the server via the networking device;
setting a data connection keep-alive interval for the data connection to a predetermined safe value;
sending a request to establish a test connection between the client and the server;
determining an efficient keep-alive interval for communication between the client and server via the networking device, using the test connection;
setting the data connection keep-alive interval to the efficient keep-alive interval determined using the test connection; and
uploading the efficient keep-alive interval from the client to the server in an efficient keep-alive interval notification message, for communication to additional clients connected to the server.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for use in communication between a client and a server, via a networking device, are provided. The method may include sending a request to establish a data connection from the client to the server via the networking device, setting a data connection keep-alive interval for the data connection to a predetermined safe value, and sending a request to establish a test connection between the client and the server. The method may further include determining an efficient keep-alive interval for communication between the client and server via the networking device, using the test connection, setting the data connection keep-alive interval to the efficient keep-alive interval determined using the test connection, and uploading the efficient keep-alive interval from the client to the server in an efficient keep-alive interval notification message, for communication to other clients connected to the server.
-
Citations
20 Claims
-
1. A method for use in communication between a client and a server, via a networking device, comprising:
-
sending a request to establish a data connection from the client to the server via the networking device; setting a data connection keep-alive interval for the data connection to a predetermined safe value; sending a request to establish a test connection between the client and the server; determining an efficient keep-alive interval for communication between the client and server via the networking device, using the test connection; setting the data connection keep-alive interval to the efficient keep-alive interval determined using the test connection; and uploading the efficient keep-alive interval from the client to the server in an efficient keep-alive interval notification message, for communication to additional clients connected to the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for use in communication between a plurality of clients and a server, via respective networking devices, comprising:
-
at the server, providing a data store configured to store efficient keep-alive intervals received from the plurality of clients via respective networking devices; receiving a request for a data connection from a requesting client; querying the data store to determine if a cached efficient keep-alive interval is present in the data store, which has been received from another client connected to the same or a related networking device and stored in the data store; and if the cached efficient keep-alive interval is present, sending the cached efficient keep-alive interval from the server to the requesting client for application to the data connection. - View Dependent Claims (17, 18, 19)
-
-
20. A method for use in communication between a plurality of clients and a server, via a networking device, comprising:
-
sending a request to establish a data connection from the client to the server via the networking device; setting a data connection keep-alive interval for the data connection to a predetermined safe value; sending a request to establish a test connection between the client and the server; determining an efficient keep-alive interval for communication between the client and server via the networking device, using the test connection, by setting the test connection keep-alive interval to the predetermined safe value; on each of one or more passes through a control loop, setting the data connection keep-alive interval to a current value for the test connection keep-alive interval; incrementing the test connection keep-alive interval by a predetermined increment value; sending a keep-alive message from the client to the server, at the incremented test connection keep-alive interval, over the test connection; and if it is determined that an acknowledgement is received to the keep-alive message on the test connection, then setting the data connection keep-alive interval to the test connection keep-alive interval value. if it is determined that no acknowledgement is received on the test connection in response to a keep-alive message on the test connection, then checking the status of the data connection by determining whether an acknowledgement has been received on the data connection during a concurrent time interval; and if it is determined that an acknowledgement was received on the data connection during the concurrent time interval, then decrementing the test connection keep-alive interval by a decrement value; and determining if the test connection keep-alive interval is less than or equal to the data connection keep-alive interval; and if it is determined that the test connection keep-alive interval is less than or equal to the data connection keep-alive interval, then outputting an output value indicating the current value of the data connection keep-alive value as the efficient keep-alive value; uploading the efficient keep-alive interval from the client to the server in an efficient keep-alive interval notification message.
-
Specification