×

Distributing application traffic to servers based on dynamic service response time

  • US 9,961,136 B2
  • Filed: 03/15/2017
  • Issued: 05/01/2018
  • Est. Priority Date: 12/02/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for distributing application traffic received by a service gateway from a host to a server of a plurality of servers based on dynamic service response time of the server, the method comprising:

  • receiving a first service request for a service session from the host by the service gateway, the first service request having a service request time;

    relaying the first service request from the service gateway to a first server of the plurality of servers, the relaying occurring over the service session between the service gateway and the first server;

    receiving by the service gateway a service response from the first server, the service response having a service response time;

    calculating by the service gateway a dynamic service processing time for the first service request from the service request time and the service response time;

    comparing the dynamic service processing time with an expected service processing time for the first server to determine whether the dynamic service processing time exceeds the expected service processing time by at least a threshold amount, wherein the expected service processing time is based at least in part on a service attribute of the first service request or a service attribute of the first server;

    wherein the expected service processing time is determined by the service gateway and stored in a datastore together with an associated service attribute of a service request or service attribute of a server, the service gateway determining the expected service processing time by;

    comparing the first service request or the first server with the service attribute in the datastore; and

    if the first service request or the first server matches the service attribute in the datastore, retrieving the expected service processing time associated with the matching service attribute from the datastore, wherein the expected service processing time is variable based on the matching service attribute;

    updating a server busy indicator for the first server in response to the comparing, wherein a server busy indicator for each of the plurality of servers is maintained at the service gateway;

    receiving a second service request from the host by the service gateway;

    checking the server busy indicator for the first server by the service gateway;

    in response to determining that the server busy indicator indicates that the first server is busy, placing the second service request in a service request buffer of the service gateway and maintaining a connection to the host; and

    in response to determining that the server busy indicator indicates that the first server is not busy, relaying the second service request from the service gateway to the first server over the service session between the service gateway and the first server.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×