×

Determining an efficient keep-alive interval for a network connection

  • US 8,375,134 B2
  • Filed: 06/08/2009
  • Issued: 02/12/2013
  • Est. Priority Date: 06/08/2009
  • Status: Active Grant
First Claim
Patent Images

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, by;

    setting a 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, the set data connection keep-alive interval being the efficient keep-alive interval;

    if it is determined that no acknowledgement is received on the test connection in response to the keep-alive message on the test connection, then checking a 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 no acknowledgment was received on the data connection during the concurrent time interval, then outputting a message indicating that no efficient keep-alive value was computed due to a network failure; and

    if an efficient keep alive interval was determined, then 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 all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×