IP Library Granted Patent US 7,779,116
Granted Patent B2
US 7,779,116 · App. 11/351,242 · Granted Aug 17, 2010

Selecting servers based on load-balancing metric instances

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 7,779,116
App. No.
11/351,242
Granted
Aug 17, 2010
Kind
B2
Abstract

In an embodiment, a request is received that is directed to a page. A determination is made whether a session associated with the request already exists by determining whether the request is dependent on a previous request. If the session does not already exist, then a decision is made whether the request will result in creating a session. If the request will result in creation of a session, then a server is selected based on a load-balancing metric instance associated with the page, and the request is sent to the selected server. The load-balancing metric instance has an algorithm and an input parameter to the algorithm. The server is selected by executing the algorithm and selecting the server identified by an output parameter from the algorithm.

Claims (42)

1. A method comprising:

receiving a current request from a client, wherein the current request specifies a first page;

determining whether a first session associated with the current request already exists;

if the determining is false, deciding whether the request will result in creation of a second session;

if the deciding is true, selecting a first load-balancing metric instance associated with the first page from among a plurality of load-balancing metrics associated with a plurality of pages, wherein each of the plurality of pages is associated with a different of the plurality of load-balancing metrics, selecting a first server based on the first load-balancing metric instance associated with the first page, and sending the current request to the first server, wherein the first load-balancing metric instance comprises an algorithm and an input parameter to the algorithm and an output parameter from the algorithm, and wherein the selecting further comprises executing the algorithm, providing the input parameter to the algorithm, and performing the selecting the first server identified by the output parameter from the algorithm; and

sending the first page to the client.

2. The method of claim 1 , wherein the deciding further comprises:

deciding whether a previous request was directed to the first page and the previous request created a third session.

3. The method of claim 2 , wherein the deciding further comprises:

deciding whether a response was received to the previous request, wherein the response indicated that the previous request created the third session.

4. The method of claim 1 , further comprising:

if the determining is true, sending the current request to a second server that is associated with the first session.

5. The method of claim 1 , wherein the selecting further comprises:

providing the output parameter from a previous execution of the algorithm as the input parameter to a current execution of the algorithm.

6. The method of claim 1 , further comprising:

if the deciding is false, selecting a third server based on a default load-balancing metric instance, wherein the default load-balancing metric instance is not associated with the first page, and sending the current request to the third server.

7. A non-transitory computer-readable storage medium encoded with instructions, wherein the instructions when executed comprise:

receiving a current request from a client, wherein the current request specifies a first page;

determining whether a first session associated with the current request already exists, wherein the determining further comprises determining whether the current request is dependent on a previous request;

if the determining is false, deciding whether the request will result in creation of a second session;

if the deciding is true, selecting a first load-balancing metric instance associated with the first page from among a plurality of load-balancing metrics associated with a plurality of pages, where each of the plurality of pages is associated with a different of the plurality of load-balancing metrics, selecting a first server based on the first load-balancing metric instance associated with the first page, and sending the current request to the first server, wherein the first load-balancing metric instance comprises an algorithm and an input parameter to the algorithm and an output parameter from the algorithm, and wherein the selecting further comprises executing the algorithm, providing the input parameter to the algorithm, and performing the selecting the first server identified by the output parameter from the algorithm;

if the determining is true, sending the current request to a second server that is associated with the first session; and

sending the first page to the client.

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

deciding whether a previous request was directed to the first page and the previous request created a third session.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the deciding further comprises:

deciding whether a response was received to the previous request, wherein the response indicated that the previous request created the third session.

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

providing the output parameter from a previous execution of the algorithm as the input parameter to a current execution of the algorithm.

11. The non-transitory computer-readable storage medium of claim 7 , further comprising:

if the deciding is false, selecting a third server based on a default load-balancing metric instance, wherein the default load-balancing metric instance is not associated with the first page, and sending the current request to the third server.

12. A method for configuring a computer, comprising:

configuring the computer to receive a current request from a client, wherein the current request specifies a first page;

configuring the computer to determine whether a first session associated with the current request already exists, wherein the configuring the computer to determine further comprises configuring the computer to determine whether the current request is dependent on a previous request;

configuring the computer to, if the determining is false, decide whether the request will result in creation of a second session, wherein the current request will result in the creation of a second session if a previous request was directed to the page and the previous request created a third session;

configuring the computer to, if the deciding is true, select a first load-balancing metric instance associated with the first page from among a plurality of load-balancing metrics associated with a plurality of pages, wherein each of the plurality of pages is associated with a different of the plurality of load-balancing metrics, select a first server based on the first load-balancing metric instance associated with the first page, and send the current request to the first server, wherein the first load-balancing metric instance comprises an algorithm and an input parameter to the algorithm and an output parameter from the algorithm, and wherein the select further comprises executing the algorithm, providing the input parameter to the algorithm, and performing the select of the first server identified by the output parameter from the algorithm;

configuring the computer to, if the determining is true, send the current request to a second server that is associated with the first session; and

configuring the computer to send the first page to the client.

13. The method of claim 12 , wherein the configuring the computer to decide further comprises:

configuring the computer to decide whether a response was received to the previous request, wherein the response indicated that the previous request created the third session.

14. The method of claim 12 , further comprising:

if the deciding is false, configuring the computer to select a third server based on a default load-balancing metric instance and send the current request to the third server, wherein the default load-balancing metric instance is not associated with the first page.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2006
From: STECHER, JOHN J.; WISNIEWSKI, ROBERT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 017296/0194 →