IP Library Granted Patent US 7,321,926
Granted Patent B1
US 7,321,926 · App. 10/074,462 · Granted Jan 22, 2008

Method of and system for allocating resources to resource requests

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,321,926
App. No.
10/074,462
Granted
Jan 22, 2008
Kind
B1
Abstract

A system and method of allocating a resource to a service request. Servers are virtually assigned through a hierarchy including groups of servers and super groups of the groups of servers. Each service request type is associated with a service index that determines both a super group and a load balancing policy for that service request type. A load balancing policy may be applied to select a group of servers among several server groups associated with the super group. Another load balancing policy is applied to the selected group of servers to select a server to handle the service request. The hierarchical data structure allows servers to be configured into overlappable, arbitrary subsets that can address service requests matching configured content rules. Load balancing policies can be selected by service request type.

Claims (35)

1. A system for allocating resources to service requests comprising:

a load balancing manager;

a service index table, part of the load balancing manager, having a plurality of super group indexes, the service index table to receive a first service index corresponding to a service request, the service index table to provide a first of a plurality super group indexes in response to the first service index, the service index table to provide a first of a plurality of balancing policies in response to receiving the service index;

a super group block, part of the load balancing manager, to provide a first of a plurality of super groups, each super group having one or more resource group indexes in response to the provision of the first super group index;

a first load balancer, part of the load balancing manager, to select a first resource group index from among the first super group based on the first load balancing policy;

a group block, part of the load balancing manager, to provide one or more resource indexes in response to the provision of the first resource group index, each resource index corresponding to one of a plurality of resources; and

a second load balancer, part of the load balancing manager, to select a first resource index from among the one or more resource indexes based on a second load balancing policy, to allocate the resource corresponding to the first resource index.

2. The system of claim 1 wherein the resource is a server.

3. The system of claim 1 wherein the second load balancing policy is selected based on the first load balancing policy index.

4. The system of claim 1 wherein the second load balancing policy is selected independently of the first load balancing policy index.

5. The system of claim 1 further comprising a content analysis engine configured to receive at least a portion of a data packet and generate a service index based on at least one of domain name and URL pattern matching.

6. The system of claim 1 further comprising a lookup table coupled to receive at least a portion of a data packet, the lookup table to select the service index based on at least one of a destination IP, a destination port and a protocol corresponding to the data packet.

7. The system of claim 1 further comprising a history table to override the load balancing manager and select a resource based on a persistence policy if a match is found in the history table corresponding to the service request.

8. A method for allocating resources to service requests comprising:

receiving a service index at a load balancing manager comprising a service index table having a plurality of super group indexes, the service index corresponding to a service request;

selecting a first of the super group indexes in response to receiving the service index;

generating a first load balancing policy index in response to receiving the service index;

selecting a first load balancing policy from among a plurality of load balancing policies based on the first load balancing policy index;

generating a plurality of resource group indexes in response to the selecting of the first super group index;

applying the first load balancing policy to select one of the plurality of resource group indexes:

generating one or more resource indexes in response to the selection of the one resource group index, the at least one resource index corresponding to at least one of a plurality of resources;

selecting a second load balancing policy;

applying the second load balancing policy to select one of the at least one resource index; and

assigning a first resource to the service request, the one resource index indicating the resource.

9. The method of claim 8 wherein the resource is a server.

10. The method of claim 8 further comprising selecting the second load balancing policy based on the first load balancing policy index.

11. The method of claim 8 further comprising selecting the second load balancing policy independently of the first load balancing policy index.

12. The method of claim 8 further comprising:

receiving at least a portion of a data packet having a domain name and a URL; and

generating a service index based on the domain name and pattern matching of within the URL.

13. The method of claim 8 further comprising:

receiving at least a portion of a data packet having a destination IP, a destination port and a protocol; and

generating a service index based on at least one of the destination IP, the destination port and the protocol.

14. The method of claim 8 further comprising overriding the assigning of the first resource and assigning a second resource to the service request based on a persistence policy if a match is found in a history table corresponding to the service request.

15. The method of claim 14 wherein the steps of generating the first super group index, generating a first load balancing policy index selecting a first load balancing policy, generating a plurality of group indexes, generating one or more resource indexes, and assigning a first resource being performed only if a match is not found in the history table corresponding to the service request.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2017
From: EXTREME NETWORKS, INC.
To: RPX CORPORATION
Reel/Frame 044087/0334 →
RELEASE OF SECURITY INTEREST Recorded Sep 29, 2017
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 043747/0694 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2002
From: ZHANG, HUI; DE LA IGLESIA, ERIK; GOMEZ, MIGUEL; LIU, LIANG; LOWE, RICK K.; WALLACE, MARK AARON; WANG, WEI
To: EXTREME NETWORKS
Reel/Frame 012938/0461 →