Methods and apparatus for performing dynamic load balancing of processing resources
First Claim
1. A method for a load balancer to manage allocation of a plurality of processing resources to perform server-related processing tasks requested by client applications over a network, the method comprising:
- electronically receiving registration requests from at least some of the plurality of processing resources;
registering each processing resource from which a registration request was received to produce registered processing resources;
receiving, from each registered processing resource, information relating to utilization of the registered processing resource to collectively produce utilization information, the receiving comprising remotely executing a script at the registered processing resource that enables the load balancer to retrieve a data structure from the registered processing resource, wherein the data structure includes the information relating to utilization of the registered processing resource;
in response to receiving the information relating to utilization of the registered processing resource, updating a list of received information relating to the utilization of the processing resources at the load balancer;
receiving a request to perform a server-related processing task from a client application over the network; and
responsive to the request to perform the server-related processing task, allocating at least one of the registered processing resources to perform the server-related processing task based on the utilization information.
2 Assignments
0 Petitions
Accused Products
Abstract
A load balancer coupled between a network and a pool of processing resources utilizes a method for performing automatic, dynamic load balancing with respect to allocating the resources to handle processing requests received over the network. According to the method, the load balancer electronically receives registration requests from the processing resources and registers each resource from which a registration request was received. After the resources have been registered but before they are allocated to handle processing requests, the load balancer receives, from each registered resource, information relating to utilization of the resource. The utilization information may include operational metrics for the resource. Some time thereafter, the load balancer receives a request over the network to perform a server-related processing task. Responsive to the request, the load balancer allocates at least one of the registered resources to perform the requested processing task based at least on the previously received utilization information.
-
Citations
22 Claims
-
1. A method for a load balancer to manage allocation of a plurality of processing resources to perform server-related processing tasks requested by client applications over a network, the method comprising:
-
electronically receiving registration requests from at least some of the plurality of processing resources; registering each processing resource from which a registration request was received to produce registered processing resources; receiving, from each registered processing resource, information relating to utilization of the registered processing resource to collectively produce utilization information, the receiving comprising remotely executing a script at the registered processing resource that enables the load balancer to retrieve a data structure from the registered processing resource, wherein the data structure includes the information relating to utilization of the registered processing resource; in response to receiving the information relating to utilization of the registered processing resource, updating a list of received information relating to the utilization of the processing resources at the load balancer; receiving a request to perform a server-related processing task from a client application over the network; and responsive to the request to perform the server-related processing task, allocating at least one of the registered processing resources to perform the server-related processing task based on the utilization information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 22)
-
-
13. A computing system for implementing a load balancer, the computing system comprising:
-
one or more interfaces for interfacing the computing system to one or more networks and to a plurality of processing resources; and a controller coupled to the one or more interfaces, the controller being configured to; electronically receive registration requests from at least some of the plurality of processing resources; register each processing resource from which a registration request was received to produce registered processing resources; receive, from each registered processing resource, information relating to utilization of the registered processing resource to collectively produce utilization information, the receiving comprising remotely executing a script at the registered processing resource that enables the load balancer to retrieve a data structure from the registered processing resource, wherein the data structure includes the information relating to utilization of the registered processing resource; update a list of received information relating to the utilization of the processing resources at the load balancer; receive a request to perform a server-related processing task from a client application over a network; and responsive to the request to perform the server-related processing task, allocate at least one of the registered processing resources to perform the server-related processing task based on the utilization information. - View Dependent Claims (14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium including instructions that, when executed by a computing system, cause the computing system to:
-
electronically receive registration requests from at least some of a plurality of processing resources; register each processing resource from which a registration request was received to produce registered processing resources; receive, from each registered processing resource, information relating to utilization of the registered processing resource to collectively produce utilization information, the receiving comprising remotely executing a script at the registered processing resource that enables the load balancer to retrieve a data structure from the registered processing resource, wherein the data structure includes the information relating to utilization of the registered processing resource; update a list of received information relating to the utilization of the processing resources at the load balancer; receive a request to perform a server-related processing task from a client application over a network to which the computing system is communicatively coupled; and responsive to the request to perform the server-related processing task, allocate at least one of the registered processing resources to perform the server-related processing task based on the utilization information.
-
-
18. A method for a processing resource to assist a load balancer in performing dynamic load balancing, the processing resource being one of a plurality of processing resources allocatable by the load balancer and capable of performing server-related processing tasks as requested by remotely-executing client applications, the method comprising:
-
generating information relating to utilization of the processing resource to produce utilization information; performing a registration sequence with the load balancer; subsequent to the registration sequence, receiving a request for the utilization information from the load balancer; executing a script at the processing resource that enables the load balancer to retrieve the requested utilization information; and communicating the requested utilization information to the load balancer responsive to the request, the communication enabling the load balancer to update a list of received information relating to the utilization of the processing resources. - View Dependent Claims (19, 20, 21)
-
Specification