Distributing application traffic to servers based on dynamic service response time
First Claim
1. A system for distributing application traffic, the system comprising:
- a server of a plurality of servers, the server being configured to process service requests; and
a service gateway comprising a processor and a computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable program code, when executed by the processor, causes the service gateway to;
receive, from a host, a first service request for a first service session, the first service request being associated with a service request time;
relay the first service request from the service gateway to the server;
receive, from the server, a service response, the service response being associated with a service response time;
calculate a service processing time for the first service request based on the service request time and the service response time, the expected service processing time being determined by the service gateway and stored in a datastore together with a service attribute of a service request or a service attribute of one of the plurality of servers, the service gateway determining the expected service processing time by comparing the service attribute of the first service request or the service attribute of the server with the service attribute in the datastore, and if the service attribute of the first service request or the service attribute of the 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;
compare the service processing time with an expected service processing time for the server to determine whether the service processing time exceeds the expected service processing time by at least a threshold amount;
receive, from the host, a second service request for a second service session; and
selectively relay the second server request to the server based on the service processing time.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are methods and systems for distributing application traffic. A method for distributing application traffic may commence with receiving, from a host, a first service request for a first service session. The first service request may be associated with a service request time. The method may continue with relaying the first service request from a service gateway to a server. The method may further include receiving, from the server, a service response. The service response may be associated with a service response time. The method may continue with calculating a service processing time for the first service request based on the service request time and the service response time. The method may further include receiving, from the host, a second service request for a second service session. The method may continue with selectively relaying the second server request to the server based on the service processing time.
370 Citations
15 Claims
-
1. A system for distributing application traffic, the system comprising:
-
a server of a plurality of servers, the server being configured to process service requests; and a service gateway comprising a processor and a computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable program code, when executed by the processor, causes the service gateway to; receive, from a host, a first service request for a first service session, the first service request being associated with a service request time; relay the first service request from the service gateway to the server; receive, from the server, a service response, the service response being associated with a service response time; calculate a service processing time for the first service request based on the service request time and the service response time, the expected service processing time being determined by the service gateway and stored in a datastore together with a service attribute of a service request or a service attribute of one of the plurality of servers, the service gateway determining the expected service processing time by comparing the service attribute of the first service request or the service attribute of the server with the service attribute in the datastore, and if the service attribute of the first service request or the service attribute of the 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; compare the service processing time with an expected service processing time for the server to determine whether the service processing time exceeds the expected service processing time by at least a threshold amount; receive, from the host, a second service request for a second service session; and selectively relay the second server request to the server based on the service processing time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for distributing application traffic, the method comprising:
-
receiving, from a host, by a service gateway, a first service request for a first service session, the first service request being associated with a service request time; relaying, by the service gateway, the first service request from the service gateway to a server of a plurality of servers; receiving, by the service gateway, from the server, a service response, the service response being associated with a service response time; calculating, by the service gateway, a service processing time for the first service request based on the service request time and the service response time, the expected service processing time being determined by the service gateway and stored in a datastore together with a service attribute of a service request or a service attribute of one of the plurality of servers, the service gateway determining the expected service processing time by comparing the service attribute of the first service request or the service attribute of the server with the service attribute in the datastore, and if the service attribute of the first service request or the service attribute of the 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; compare the service processing time with an expected service processing time for the server to determine whether the service processing time exceeds the expected service processing time by at least a threshold amount; receiving, by the service gateway, from the host, a second service request for a second service session; and selectively relaying, by the service gateway, the second server request to the server based on the service processing time. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
Specification