Dynamically adjusting load balancing
First Claim
1. A non-transitory machine readable medium storing sets of instructions for performing load balancing operations on a particular host computer on which at least one particular source compute node (SCN) executes, the sets of instructions comprising instructions for:
- based on a set of load balancing criteria, distributing data messages sent by the particular SCN among the destination compute nodes (DCNs) of a DCN group,sending, to a set of controllers, message traffic statistics relating to data messages that are distributed among the DCNs of the DCN group;
receiving, from the set of controllers, data that identifies at least one DCN that has been removed from the DCN group;
receiving, from the set of controllers, a set of adjusted load balancing criteria that the set of controllers calculates by (1) collecting message traffic statistics from a plurality of host computers performing load balancing operations for data messages sent by SCNs executing on the host computers, (2) aggregating the collected message traffic statistics, and (3) computing the adjusted load balancing criteria from the aggregated collected message traffic statistics;
based on the received set of adjusted load balancing criteria, adjusting the distribution of the data message flows from the particular SCN among the DCNs of the DCN group; and
directing, after receiving the updated membership data, all new data message flows to a subset of DCNs in the DCN group that does not include the removed DCN.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a novel method for load balancing data messages that are sent by a source compute node (SCN) to one or more different groups of destination compute nodes (DCNs). In some embodiments, the method deploys a load balancer in the source compute node'"'"'s egress datapath. This load balancer receives each data message sent from the source compute node, and determines whether the data message is addressed to one of the DCN groups for which the load balancer spreads the data traffic to balance the load across (e.g., data traffic directed to) the DCNs in the group. When the received data message is not addressed to one of the load balanced DCN groups, the load balancer forwards the received data message to its addressed destination. On the other hand, when the received data message is addressed to one of load balancer'"'"'s DCN groups, the load balancer identifies a DCN in the addressed DCN group that should receive the data message, and directs the data message to the identified DCN. To direct the data message to the identified DCN, the load balancer in some embodiments changes the destination address (e.g., the destination IP address, destination port, destination MAC address, etc.) in the data message from the address of the identified DCN group to the address (e.g., the destination IP address) of the identified DCN.
-
Citations
15 Claims
-
1. A non-transitory machine readable medium storing sets of instructions for performing load balancing operations on a particular host computer on which at least one particular source compute node (SCN) executes, the sets of instructions comprising instructions for:
-
based on a set of load balancing criteria, distributing data messages sent by the particular SCN among the destination compute nodes (DCNs) of a DCN group, sending, to a set of controllers, message traffic statistics relating to data messages that are distributed among the DCNs of the DCN group; receiving, from the set of controllers, data that identifies at least one DCN that has been removed from the DCN group; receiving, from the set of controllers, a set of adjusted load balancing criteria that the set of controllers calculates by (1) collecting message traffic statistics from a plurality of host computers performing load balancing operations for data messages sent by SCNs executing on the host computers, (2) aggregating the collected message traffic statistics, and (3) computing the adjusted load balancing criteria from the aggregated collected message traffic statistics; based on the received set of adjusted load balancing criteria, adjusting the distribution of the data message flows from the particular SCN among the DCNs of the DCN group; and directing, after receiving the updated membership data, all new data message flows to a subset of DCNs in the DCN group that does not include the removed DCN. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for performing load balancing operations on a particular host computer on which at least one particular source compute node (SCN) executes, the method comprising:
-
based on a set of load balancing criteria, distributing data messages sent by the particular SCN among the destination compute nodes (DCNs) of a DCN group, sending, to a set of controllers, message traffic statistics relating to data messages that are distributed among the DCNs of the DCN group; from the set of controllers, receiving a set of adjusted load balancing criteria that the set of controllers calculates by (1) collecting message traffic statistics from a plurality of host computers performing load balancing operations for data messages sent by SCNs executing on the host computers, (2) aggregating the collected message traffic statistics, and (3) computing the adjusted load balancing criteria from the aggregated collected message traffic statistics; and from the set of controllers, receiving data that identifies at least one DCN that has been removed from the DCN group; based on the received set of adjusted load balancing criteria, adjusting the distribution of the data message flows from the particular SCN among the DCNs of the DCN group; and directing, after receiving the updated membership data, all new data message flows to a subset of DCNs in the DCN group that does not include the removed DCN. - View Dependent Claims (15)
-
Specification