Providing dynamically scaling computing load balancing
First Claim
1. A computer-implemented method comprising:
- receiving, by one or more computing devices of a network service, instructions from a client that include one or more criteria for using provided computing nodes to supplement functionality supplied by a group of computing nodes in a first computer network of the client that is external to the network service;
responding, by the one or more computing devices, to a first request for functionality from the group of computing nodes in the first computer network by selecting at least one of the computing nodes of the group to handle the first request, and initiating handling of the first request by the selected at least one computing node;
determining, by the one or more computing devices, that the one or more criteria for the group are satisfied;
based on the determining, initiating, by the one or more computing devices, a modification to the group of computing nodes in the first computer network by implementing one or more additional computing nodes provided by the network service that also provide the functionality of the group; and
responding, by the one or more computing devices and after the modification, to a second request for the functionality by selecting at least one of the additional computing nodes to handle the second request, and initiating handling of the second request by the selected at least one additional computing node.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for providing load balancing functionality among multiple computing nodes. In some situations, the provided load balancing functionality includes dynamically scaling a group of multiple computing nodes for which the load balancing is performed, such as to dynamically expand and/or shrink the quantity of computing nodes in the group based on predefined criteria. At least some of the computing nodes of a group may be part of one or more physical computer networks in one or more geographical locations under control of a user or other entity, and at least some of the dynamic scaling of the group may use one or more other computing nodes that are part of a remote computer network (e.g., a virtual computer network provided under the control of a network-accessible service). The defined criteria used for the dynamic scaling may be determined in various manners and based on various factors.
15 Citations
25 Claims
-
1. A computer-implemented method comprising:
-
receiving, by one or more computing devices of a network service, instructions from a client that include one or more criteria for using provided computing nodes to supplement functionality supplied by a group of computing nodes in a first computer network of the client that is external to the network service; responding, by the one or more computing devices, to a first request for functionality from the group of computing nodes in the first computer network by selecting at least one of the computing nodes of the group to handle the first request, and initiating handling of the first request by the selected at least one computing node; determining, by the one or more computing devices, that the one or more criteria for the group are satisfied; based on the determining, initiating, by the one or more computing devices, a modification to the group of computing nodes in the first computer network by implementing one or more additional computing nodes provided by the network service that also provide the functionality of the group; and responding, by the one or more computing devices and after the modification, to a second request for the functionality by selecting at least one of the additional computing nodes to handle the second request, and initiating handling of the second request by the selected at least one additional computing node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium having stored contents that cause one or more computing devices of a network service to:
-
receive, by the one or more computing devices of the network service, instructions from a client regarding using provided computing nodes of the network service to improve functionality supplied by a group of one or more computing nodes in a first computer network of the client that is external to the network service; respond, by the one or more computing devices, to a first request for the functionality by selecting at least one of the computing nodes of the group to respond to the first request; determine, by the one or more computing devices, that one or more defined criteria for the group are satisfied; initiate, by the one or more computing devices, one or more modifications to the group of computing nodes that include adding one or more additional computing nodes to the group from a distinct virtual computer network provided by the network service; and respond, by the one or more computing devices, to a second request for the functionality by selecting at least one of the additional computing nodes to respond to the second request. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A computing device comprising:
-
one or more processors; and one or more memories having stored instructions of a network service that, when executed by at least one of the one or more computer processors, cause the computing device to at least; receive instructions from a client regarding using provided computing nodes of the network service to improve functionality supplied by a group of one or more first computing nodes of the client at one or more first geographical locations external to the network service; respond to one or more first requests for the functionality by selecting at least one of the first computing nodes to handle the one or more first requests; determine that one or more defined criteria for the group are satisfied, and responsive to the determining, initiate a modification to the group to add one or more second computing nodes from the network service at a distinct second location to the group; and respond to one or more second requests for the functionality by selecting one of the one or more second computing nodes to handle the one or more second requests. - View Dependent Claims (24, 25)
-
Specification