Systems and methods for efficiently load balancing based on least connections
First Claim
1. A method for more efficiently load balancing services based on fewest connections by decreasing granularity of service selection as a number of fewest connections serviced by the services increases, the method comprising:
- (a) establishing, by a load balancing appliance intermediary to a plurality of clients and a plurality of servers, a table indexed by a set of identifiers corresponding to numbers of connections serviced by a service, the set of identifiers comprising a first plurality of identifiers each identifying a predetermined number of connections and a second plurality of identifiers each identifying a predetermined range of numbers of connections;
(b) assigning, by the load balancing appliance, an indicia of each of a plurality of services servicing connections to an entry in the table, an identifier indexing the entry corresponding to the number of connections serviced by the service, at least one of the identifiers selected from the second plurality of identifiers;
(c) receiving, by the appliance, a request for a service;
(d) determining, by the appliance, the identifier of the table corresponding to a fewest number of connections with an indicia of at least one service assigned to the identifier; and
(e) forwarding, by the appliance, the request to a service identified by the determined identifier.
7 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for load balancing services based on fewest connections by decreasing granularity of service selection as a number of fewest connections serviced by the services increases may include establishing, by an appliance, a set of identifiers corresponding to a number of connections serviced by a service, the set comprising a first plurality of identifiers each identifying a predetermined number of connections and a second plurality of identifiers each identifying a predetermined range of numbers of connections. The appliance assigns, to each service servicing connections, an identifier corresponding to the number of connections serviced by the service, at least one of the identifiers selected from the second plurality of identifiers. The appliance receives a request for a service, and forwards the request to a service assigned to the identifier corresponding to a fewest number of connections with at least one service assigned to the identifier.
25 Citations
20 Claims
-
1. A method for more efficiently load balancing services based on fewest connections by decreasing granularity of service selection as a number of fewest connections serviced by the services increases, the method comprising:
-
(a) establishing, by a load balancing appliance intermediary to a plurality of clients and a plurality of servers, a table indexed by a set of identifiers corresponding to numbers of connections serviced by a service, the set of identifiers comprising a first plurality of identifiers each identifying a predetermined number of connections and a second plurality of identifiers each identifying a predetermined range of numbers of connections; (b) assigning, by the load balancing appliance, an indicia of each of a plurality of services servicing connections to an entry in the table, an identifier indexing the entry corresponding to the number of connections serviced by the service, at least one of the identifiers selected from the second plurality of identifiers; (c) receiving, by the appliance, a request for a service; (d) determining, by the appliance, the identifier of the table corresponding to a fewest number of connections with an indicia of at least one service assigned to the identifier; and (e) forwarding, by the appliance, the request to a service identified by the determined identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A load balancing appliance, intermediary to a plurality of clients and a plurality of servers, for more efficiently load balancing services based on fewest connections by decreasing granularity of service selection as a number of fewest connections serviced by the services increases, the appliance comprising:
-
a memory element which stores a table indexed by a set of identifiers corresponding to numbers of connections serviced by a service, the set of identifiers comprising a first plurality of identifiers each identifying a predetermined number of connections and a second plurality of identifiers each identifying a predetermined range of numbers of connections; a receiver which receives a request for a service; a processor in communication with the receiver and the storage element which assigns an indicia of each of a plurality of services servicing connections to an entry in the table, an identifier indexing the entry corresponding to the number of connections serviced by the service, at least one of the identifiers selected from the second plurality of identifiers; and
determines an identifier of the table corresponding to the fewest number of connections with an indicia of at least one service assigned to it; anda transmitter, in communication with the processor which forwards the request to a service identified by the determined identifier. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for more efficiently load balancing services based on fewest connections by decreasing granularity of service selection as a number of fewest connections serviced by the services increases, the method comprising:
-
(a) establishing, by a device intermediary to a plurality of a clients and a plurality of servers, a table indexed by numbers of connections, indices in a first plurality of indices to the table each representing a predetermined number of connections and indices in a second plurality of indices to the tables each representing a predetermined range of numbers of connections; (b) identifying, by the device, a first number of connections serviced by a first service; (c) storing, by the device, an indicia of the first service in a first entry in the table, the first number of connections matching a predetermined number of connections represented by a first index of the first entry; (d) identifying, by the device, a second number of connections serviced by a second service; (e) storing, by the device, an indicia of the second service in a second entry in the table, the second number of connections falling within a predetermined range of numbers of connections represented by a second index of the second entry; (f) detecting, by the device, a change from the first number of connections serviced by the first service to a third number of connections serviced by the first service; (g) identifying, by the device, an index representing a predetermined number of connections or predetermined range of number of connections corresponding to the third number of connections; (h) storing, by the device, the indicia of the first service in an entry in the table corresponding to the identified index; (i) receiving, by the appliance, a request for a service; (j) determining, by the appliance, an index corresponding to a fewest number of connections with at least one indicia of a service stored in an entry of the index; and (k) forwarding, by the appliance, the request to the service corresponding to the entry of the determined index.
-
Specification