Distributing application traffic to servers based on dynamic service response time

US9609052B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9609052-B2
Application numberUS-95843510-A
CountryUS
Kind codeB2
Filing dateDec 2, 2010
Priority dateDec 2, 2010
Publication dateMar 28, 2017
Grant dateMar 28, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A service gateway processes a service request received from a host by: relaying the service request from the service gateway to a server over a service session between the service gateway and the server; determining a service request time for the service session; receiving by the service gateway a service response from the server; determining by the service gateway a service response time; calculating by the service gateway a service processing time for the service request from the service request time and the service response time; comparing the service processing time with an expected service processing time; and updating a server busy indicator for the server in response to the comparing. If the service processing time exceeds the expected service processing time, the server busy indicator is updated to indicate that the server is busy. Otherwise, the server busy indicator is updated to indicate that the server is not busy.

First claim

Opening claim text (preview).

What is claimed is: 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; determining by the service gateway a service request time for the service session; 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; determining by the service gateway 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 determined by the service gateway according to a service attribute of the first service request or according to a service attribute of the first server, wherein the expected service processing time is based on the service attribute of the first service request or a service attribute of the first server and stored in a datastore, wherein the determining the expected service processing time comprises: comparing by the service gateway 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, 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. 2. The method of claim 1 , wherein the updating the server busy indicator for the first server comprises: in response to determining that the dynamic service processing time exceeds the expected service processing time, updating the server busy indicator by the service gateway to indicate that the first server is busy; and in response to determining that the dynamic service processing time does not exceed the expected service processing time, updating the server busy indicator by the service gateway to indicate that the first server is not busy. 3. The method of claim 1 , wherein the calculating by the service gateway the dynamic service processing time for the first service request comprises: calculating by the service gateway the dynamic service processing time for the first service request as a duration between the service request time and the service response time. 4. The method of claim 1 , wherein the service response comprises an error indication, and the service gateway does not calculate the dynamic service processing time if the error indication indicates an error. 5. The method of claim 1 , wherein the comparing further comprises: calculating an adjusted expected service processing time based on the dynamic service processing times of previous service sessions between the service gateway and the first server. 6. The method of claim 1 , wherein the 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 comprises: checking if the service request buffer is empty by the service gateway; in response to determining that the service request buffer is empty, 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; and in response to determining that the service request buffer is not empty, placing the second service request in the service request buffer by the service gateway. 7. The method of claim 1 , wherein the second service request is associated with a priority, wherein the service request buffer is configured to store service requests associated with the priority, wherein the placing the second service request in the service request buffer of the service gateway further comprises: relaying the second service request in the service request buffer from the service gateway to a second server according to the associated priority. 8. The method of claim 1 , wherein the service attribute is one or more of a URL, a protocol, domain name, web folder name, or document type. 9. A non-transitory computer readable storage medium having computer readable program code embodied therewith for processing a service request received from a host, the computer readable program code configured to: receive a first service request for a service session from the host by a service gateway; determine a service request time for the service session; relay the first service request from the service gateway to a server over the service session between the service gateway and the server; receive a service response from the server; determine a service response time; calculate a service processing time for the first service request from the service request time and the service response time; compare the service processing time with an expected service processing time to determine whether the service processing time exceeds the expected service processing time by at least a threshold amount, wherein the expected service processing time is determined by the service gateway according to a service attribute of the first service request or the server, wherein the expected service processing time is associated with the service attribute and stored in a datastore, wherein the computer readable program code is configured to determine the expected service processing time according to the service attribute of the first service request or the server by: comparing the first service request or the server with the service attribute in the datastore; and if the first service request or the server matches the service attribute in the datastore, retrieving the expected service processing time associated with the matching service attribute, wherein the expected service processing time is variable based on the matching service attribute; update a server busy indicator for the server in response to the comparing the service processing time with the expected service processing time, wherein the server busy indicator for the server is maintained at the service gateway; receive a second service request from the host; check the server busy indicator for the server; in response to determining that the server busy indicator indicates that the server is busy, place the second service request in a service request buffer of the service gateway and maintain a

Assignees

Inventors

Classifications

  • considering the load · CPC title

  • wherein the managed service relates to distributed or central networked applications · CPC title

  • Threshold monitoring · CPC title

  • for supporting traffic characterised by the type of applications · CPC title

  • based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9609052B2 cover?
A service gateway processes a service request received from a host by: relaying the service request from the service gateway to a server over a service session between the service gateway and the server; determining a service request time for the service session; receiving by the service gateway a service response from the server; determining by the service gateway a service response time; calc…
Who is the assignee on this patent?
Jalan Rajkumar, Szeto Ronald Wai Lun, Xu Feilong, and 1 more
What technology area does this patent fall under?
Primary CPC classification H04L67/1008. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 28 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).