DETERMINING AN EFFICIENT KEEP-ALIVE INTERVAL FOR A NETWORK CONNECTION
First Claim
1. 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 the 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.
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 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 the 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 (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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 the respective networking devices; receiving a first request for a first data connection from a first 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; upon determining that no cached efficient keep-alive interval is present in the data store, receiving an efficient keep-alive interval from the first requesting client, and caching the efficient keep-alive interval in the data store for availability to other requesting clients; receiving a second request for a second data connection from a second 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 the first client connected to the same or the related networking device and stored in the data store; and upon determining that the cached efficient keep-alive interval is present in the data store, sending the cached efficient keep-alive interval from the server to the second requesting client for application to the data connection. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. 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 the respective networking devices; receiving a first request for a first data connection from a first 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; upon determining that no cached efficient keep-alive interval is present in the data store, then; sending a predetermined safe keep-alive value from the server to the first requesting client, to cause the first requesting client to set the keep-alive value for the data connection to the predetermined safe keep-alive value; receiving a request to establish a test connection between the server and the first requesting client; determining an efficient keep-alive interval for communication between the first requesting client and the server via the networking device using the test connection, by, on each of one or more passes through a control loop; receiving a keep-alive message from the client at the server, at an increasingly incremented test connection keep-alive interval, over the test connection, until no more keep-alive messages are received on the test connection; sending an acknowledgment to the first requesting client in response to each keep-alive message successfully received on the test connection; and after completion of the control loop, receiving from the first requesting client a new efficient keep-alive interval determined by the first requesting client, which is set to a largest value for the test connection keep-alive interval at which an acknowledgement was sent by the server during the control loop; caching the efficient keep-alive interval in the data store for availability to other requesting clients; receiving a second request for a second data connection from a second 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 the first requesting client connected to the same or the related networking device and stored in the data store; and upon determining that the cached efficient keep-alive interval is present in the data store, sending the cached efficient keep-alive interval from the server to the second requesting client for application to the data connection.
-
Specification