Load balancing across a group of load balancers
First Claim
1. A load balancing system for load balancing data messages sent to a group of destination compute nodes (DCNs), the system comprising:
- a load balancer (LB) group comprising a primary load balancer (PLB) and at least one secondary load balancer (SLB),the PLB for (i) receiving new data message flows for the DCN group, (ii) using layer 2 (L2) header parameters of the data message flows to identify at least one load balancing rule including a first set of load balancing parameters to evaluate in a first-type load balancing operation to identify an LB in the LB group for each data message flow, and, (iii) using data message header parameters that are for layers higher than layer 2 to identify at least one load balancing rule including a second set of load balancing parameters evaluated in a second-type load balancing operation to identify a DCN in the DCN group for each data message flow for which the PLB identifies the PLB as the identified load balancer, andthe SLB for distributing to the DCNs the data messages of each flow for which the PLB identifies the SLB as the identified load balancer.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide an elastic architecture for providing a service in a computing system. To perform a service on the data messages, the service architecture uses a service node (SN) group that includes one primary service node (PSN) and zero or more secondary service nodes (SSNs). The service can be performed on a data message by either the PSN or one of the SSN. However, in addition to performing the service, the PSN also performs a load balancing operation that assesses the load on each service node (i.e., on the PSN or each SSN), and based on this assessment, has the data messages distributed to the service node(s) in its SN group. Based on the assessed load, the PSN in some embodiments also has one or more SSNs added to or removed from its SN group. To add or remove an SSN to or from the service node group, the PSN in some embodiments directs a set of controllers to add (e.g., instantiate or allocate) or remove the SSN to or from the SN group. Also, to assess the load on the service nodes, the PSN in some embodiments receives message load data from the controller set, which collects such data from each service node. In other embodiments, the PSN receives such load data directly from the SSNs.
-
Citations
20 Claims
-
1. A load balancing system for load balancing data messages sent to a group of destination compute nodes (DCNs), the system comprising:
-
a load balancer (LB) group comprising a primary load balancer (PLB) and at least one secondary load balancer (SLB), the PLB for (i) receiving new data message flows for the DCN group, (ii) using layer 2 (L2) header parameters of the data message flows to identify at least one load balancing rule including a first set of load balancing parameters to evaluate in a first-type load balancing operation to identify an LB in the LB group for each data message flow, and, (iii) using data message header parameters that are for layers higher than layer 2 to identify at least one load balancing rule including a second set of load balancing parameters evaluated in a second-type load balancing operation to identify a DCN in the DCN group for each data message flow for which the PLB identifies the PLB as the identified load balancer, and the SLB for distributing to the DCNs the data messages of each flow for which the PLB identifies the SLB as the identified load balancer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory machine readable medium of a primary load balancing node (LBN), the medium storing a program for load balancing data messages for a group of destination compute nodes (DCNs), the program comprising sets of instructions for:
-
receiving a data message that is part of a data message flow; using a first subset of header parameters of the received data message to identify a first load balancing rule including a first set of load balancing criteria to evaluate in a first-type load balancing operation to identify an LBN in an LBN group to process data messages that are in the same flow as the received data message, said group comprising the primary LBN; when the first-type load balancing operation identifies the primary LBN for processing the received data message, using a second subset of header parameters of the received data message to identify a second load balancing rule with a second set of load balancing criteria, evaluating the second set of load balancing criteria to identify a DCN in the DCN group and directing to the identified DCN the received data message and other data messages of the data message flow; and when the first-type load balancing operation identifies a second LBN in the LBN group for processing the received data message, directing the received data message and other data messages that are part of the data message flow to the second LBN for the second LBN to identify a DCN in the DCN group for the received data message and the other data messages of the data message flow. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification