Inline load balancing

US11075842B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11075842-B2
Application numberUS-201916427294-A
CountryUS
Kind codeB2
Filing dateMay 30, 2019
Priority dateSep 30, 2014
Publication dateJul 27, 2021
Grant dateJul 27, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

We claim: 1. A non-transitory machine readable medium storing sets of instructions for adjusting load balancing operations of a particular load balancer that executes on a particular computer to load balance data messages sent by at least one source compute node (SCN) also executing on the particular computer to a group of destination compute nodes (DCNs), the sets of instructions for comprising instructions for: distributing, based on a first set of load balancing criteria, data message flows from the SCN to the DCNs in the DCN group; sending, to a set of controllers, traffic data related to data message load directed to different DCNs in the DCN group; receiving, from the set of controllers, a modified second set of load balancing criteria that the set of controllers computes based on message traffic data collected by the set of controllers from a plurality of load balancers executing on a plurality of computers along with a plurality of SCNs, wherein the controller set computes the modified, second set of load balancing criteria by (1) collecting traffic data related to data message loads directed to different DCNs in the DCN group by the plurality of load balancers, (2) aggregating the collected message traffic data, and (3) computing the modified, second set of load balancing criteria from the aggregated collected message data, wherein the aggregated message traffic data expresses a load on each DCN; and adjusting, based on the modified second set of load balancing criteria, the distribution of the data message flows from the particular SCN among the DCNs of the DCN group. 2. The non-transitory machine readable medium of claim 1 , wherein the sets of instructions further comprises sets of instructions for: identifying each data message sent by the SCN; determining whether the data message is addressed to the DCN group; and directing the data message to one of the DCNs in the DCN group when the data message is addressed to the DCN group. 3. The non-transitory machine readable medium of claim 2 , wherein the sets of instructions further comprises a set of instructions for incrementing traffic data relating to data message load directed to the DCNs in the DCN group. 4. The non-transitory machine readable medium of claim 2 , wherein the set of instructions for directing the data message comprises a set of instructions for supplying the data message to a software forwarding element (SFE) that executes on the particular computer in order for the SFE to forward the data message to an addressed destination. 5. The non-transitory machine readable medium of claim 2 , wherein the set of instructions for distributing the data message flows comprises a set of instructions for distributing at least two different data messages that are part of two different data message flows to two different DCNs of the DCN group based on the first set of load balancing criteria. 6. The non-transitory machine readable medium of claim 1 , wherein the aggregated message traffic data expresses either the number of flows, number of data messages or number of bytes directed to each DCN. 7. The non-transitory machine readable medium of claim 1 , wherein the aggregated message traffic data expresses a relative congestion percentage of each DCN. 8. The non-transitory machine readable medium of claim 1 further comprising a set of instructions for receiving at the particular computer the first set of load balancing criteria as part of an initial configuration for the particular load balancer. 9. The non-transitory machine readable medium of claim 1 , wherein each set of load balancing criteria comprises a numerical value for each DCN in the group that affects how the data messages are distributed to the DCN. 10. The non-transitory machine readable medium of claim 9 , wherein the numerical values include one weight value for each DCN. 11. The non-transitory machine readable medium of claim 9 , wherein the set of instructions for distributing the data messages comprises a set of instructions for performing based on the weight values, a weighted round robin selection of the DCNs for new data message flows. 12. A method for adjusting load balancing operations of a particular load balancer that executes on a particular computer to load balance data messages sent by at least one source compute node (SCN) executing on the particular computer to a group of destination compute nodes (DCNs), the method comprising: distributing, based on a first set of load balancing criteria, data message flows from the SCN to the DCNs in the DCN group; sending, to a set of controllers, traffic data related to data message load directed to different DCNs in the DCN group; receiving, from the set of controllers, a modified second set of load balancing criteria that the set of controllers computes based on message traffic data collected from a plurality of load balancers executing on a plurality of computers along with a plurality of SCNs, wherein the controller set computes the modified, second set of load balancing criteria by (1) collecting traffic data related to data message loads directed to different DCNs in the DCN group by the plurality of load balancers, (2) aggregating the collected message traffic data, and (3) computing the modified, second set of load balancing criteria from the aggregated collected message data, wherein the aggregated message traffic data expresses a load on each DCN; and adjusting, based on the modified second set of load balancing criteria, the distribution of the data message flows from the particular SCN among the DCNs of the DCN group. 13. The method of claim 12 further comprising: identifying each data message sent by the SCN; determining whether the data message is addressed to the DCN group; and directing the data message to one of the DCNs in the DCN group when the data message is addressed to the DCN group. 14. The method of claim 13 further comprising incrementing traffic data relating to data message load directed to the DCNs in the DCN group. 15. The method of claim 13 , wherein directing the data message comprises supplying the data message to a software forwarding element (SFE) that executes on the particular computer in order for the SFE to forward the data message to an addressed destination. 16. The method of claim 12 , wherein distributing the data message comprises distributing at least two different data messages that are part of two different data message flows to two different DCNs of the DCN group based on the first set of load balancing criteria. 17. The method of claim 12 further comprising a set of instructions for receiving at the particular computer the first set of load balancing criteria as part of an initial configuration for the particular load balancer. 18. The method of claim 17 , wherein each set of load balancing criteria comprises one weight value for each DCN.

Assignees

Inventors

Classifications

  • Admission control; Resource allocation · CPC title

  • Layer-2 addresses, e.g. medium access control [MAC] addresses · CPC title

  • for group communication, multicast communication or broadcast communication · CPC title

  • for accessing one among a plurality of replicated servers · CPC title

  • using data related to the state of servers by a load balancer · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11075842B2 cover?
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 …
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/125. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 27 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).