IP Library Granted Patent US 9,215,275
Granted Patent B2
US 9,215,275 · App. 12/894,142 · Granted Dec 15, 2015

System and method to balance servers based on server load status

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,215,275
App. No.
12/894,142
Granted
Dec 15, 2015
Kind
B2
Abstract

A method, system, and computer program product for balancing servers based on server load status, include: receiving from a server a service response to a service request, the service response including a result from a processing of the service request and a server status indicating a computing load status of the server; obtaining the server status from the service response; receiving a next service request from a host, the next service request comprising a Uniform Resource Locator (URL); determining that the server is configured to process the URL; determining whether the server status indicates that the server is available to process the next service request; and in response to determining that the server status indicates that the server is available to process the next service request, sending the next service request to the server.

Claims (57)

1. A method for balancing servers by a service gateway comprising:

receiving a first service response from a first server in response to a first service request, the first service request including a first Uniform Resource Locator (URL) associated with the first server;

receiving a second service response from a second server in response to a second service request, the second service request including a second URL associated with the second server;

receiving from a host a third service request including a third URL;

determining the first server is a primary server associated with the third URL and the second server is a secondary server associated with the third URL;

discovering using the first service response the first server temporally cannot act as a primary server for the third URL;

discovering using the second service response the second server temporally can act as a secondary server for the third URL;

providing the third service request to the second server;

getting a third service response from the second server in response to the third service request; and

forwarding the third service response to the host.

2. The method of claim 1 , wherein the receiving the first service response comprises:

locating a server status in the first service response;

removing the server status from the first service response; and

sending a modified first service response to the host.

3. The method of claim 1 , wherein the determining the first server is the primary server associated with the third URL comprises:

applying a hashing function to the third URL; and

determining a hashed value of the third URL is associated with the primary server.

4. The method of claim 1 wherein the first service response is at least one of an HTTP response and an XML document.

5. The method of claim 1 wherein the first service response is at least one of an SIP packet and an FTP response.

6. A non-transitory computer readable storage medium having embodied thereon instructions, the instructions being executable by a processor to perform a method for balancing servers, the method comprising:

receiving a first service response from a first server in response to a first service request, the first service request including a first Uniform Resource Locator (URL) associated with the first server;

receiving a second service response from a second server in response to a second service request, the second service request including a second URL associated with the second server;

receiving from a host a third service request including a third URL;

determining the first server is a primary server associated with the third URL and the second server is a secondary server associated with the third URL;

discovering using the first service response the first server temporally cannot act as a primary server for the third URL;

discovering using the second service response the second server temporally can act as a secondary server for the third URL;

providing the third service request to the second server;

getting a third service response from the second server in response to the third service request; and

forwarding the third service response to the host.

7. The non-transitory computer readable storage medium of claim 6 , wherein the method further comprises:

locating a server status in the first service response;

removing the server status from the first service response; and

sending a modified first service response to the host.

8. The non-transitory computer readable storage medium of claim 6 , wherein the determining the first server is the primary server associated with the third URL comprises:

applying a hashing function to the third URL; and

determining that a hashed value of the third URL is associated with the primary server.

9. The non-transitory computer readable medium of claim 6 wherein the first service response is at least one of an HTTP response and an XML document.

10. The non-transitory computer readable medium of claim 6 wherein the first service response is at least one of an SIP packet and an FTP response.

11. A system comprising: a processor; and a memory coupled to the processor, the memory storing instructions, the instructions being executable by the processor to perform a method for balancing servers, the method comprising:

receiving a first service response from a first server in response to a first service request, the first service request including a first Uniform Resource Locator (URL) associated with the first server;

receiving a second service response from a second server in response to a second service request, the second service request including a second URL associated with the second server;

receiving from a host a third service request including a third URL;

determining the first server is a primary server associated with the third URL and the second server is a secondary server associated with the third URL;

discovering using the first service response the first server temporally cannot act as a primary server for the third URL;

discovering using the second service response the second server temporally can act as a secondary server for the third URL;

providing the third service request to the second server;

getting a third service response from the second server in response to the third service request; and

forwarding the third service response to the host.

12. The system of claim 11 , wherein the receiving the first service response comprises:

locating a server status in the first service response;

removing the server status from the first service response; and

sending a modified first service response to the host.

13. The system of claim 11 , wherein the determining the first server is the primary server associated with the third URL comprises:

applying a hashing function to the third URL; and

determining a hashed value of the third URL is associated with the primary server.

14. The system of claim 11 wherein the first service response is at least one of an HTTP response and an XML document.

15. The system of claim 11 wherein the first service response is at least one of an SIP packet and an FTP response.

Assignments (3)
SECURITY INTEREST Recorded Sep 30, 2013
From: A10 NETWORKS, INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 031485/0284 →
CHANGE OF ADDRESS Recorded Aug 22, 2013
From: A10 NETWORKS, INC.
To: A10 NETWORKS, INC.
Reel/Frame 031075/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2010
From: KANNAN, LALGUDI NARAYANAN; SZETO, RONALD WAI LUN; CHEN, LEE; XU, FEILONG; JALAN, RAJKUMAR
To: A10 NETWORKS, INC.
Reel/Frame 025065/0015 →