System and method for binding flows in a service cluster deployment in a network environment
US-9148367-B2 · Sep 29, 2015 · US
US10320679B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10320679-B2 |
| Application number | US-201414557287-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 1, 2014 |
| Priority date | Sep 30, 2014 |
| Publication date | Jun 11, 2019 |
| Grant date | Jun 11, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
Opening claim text (preview).
We claim: 1. A non-transitory machine readable medium of a host computing device storing a program for load balancing data messages that are sent by a software source compute node (SCN) executing on the host computing device to a group of destination compute nodes (DCNs), the program comprising sets of instructions for: intercepting a data message sent by the SCN before it reaches a software forwarding element executing on the host computing device and determining whether the data message is addressed to the DCN group; when the data message is addressed to the DCN group, identifying a DCN in the DCN group that should receive the data message; and sending the data message to the identified DCN, wherein the program executes on the host computing device. 2. The machine readable medium of claim 1 , wherein the set of instructions for sending the data message to the identified DCN comprises a set of instructions for changing a destination address in the data message from an address of the DCN group to an address of the identified DCN. 3. The machine readable medium of claim 2 , wherein the addresses of the DCN group and the identified DCN used to change the destination address include Internet Protocol (IP) addresses. 4. The machine readable medium of claim 2 , wherein the addresses of the DCN group and the identified DCN used to change the destination address include media access control (MAC) addresses. 5. The machine readable medium of claim 2 , wherein the addresses of the DCN group and the identified DCN used to change the destination address include Internet Protocol (IP) port addresses. 6. The machine readable medium of claim 2 , wherein the set of instructions for sending the data message to the identified DCN further comprises a set of instructions for supplying the data message, after the destination address has been changed, to the software forwarding element (SFE) that executes on the host computing device, in order to have the SFE forward the data message to the identified DCN. 7. The machine readable medium of claim 6 , wherein the SFE forwards the data message to the identified DCN through a set of intermediate forwarding elements that operate outside of the host computing device. 8. The machine readable medium of claim 6 , wherein the identified DCN is a software DCN that executes on the host computing device, and the SFE forwards the data message directly to the identified DCN. 9. The machine readable medium of claim 1 , wherein the program further comprising a set of instructions for forwarding the data message to a DCN that is not in the DCN group when the data message is not addressed to the DCN group. 10. The machine readable medium of claim 9 , wherein the set of instructions for forwarding the data message to a DCN that is not in the DCN group comprises a set of instructions for supplying the data message to the software forwarding element (SFE) that executes on the host computing device, in order to have the SFE forward the data message to the DCN that is not in the DCN group. 11. The machine readable medium of claim 1 , wherein the program is a load balancer that executes in a hypervisor of the host computing device in an egress datapath of the SCN. 12. The machine readable medium of claim 11 , wherein the SCN's egress datapath comprises a datapath along which data messages that are sent by the SCN are sent out of the host computing device. 13. The machine readable medium of claim 11 , wherein the SCN is not configured to send the data message to the load balancer, the SCN does not address the data message to the load balancer, data messages sent from the SCN to the DCN group are load balanced among the DCNs in the group as the data messages specify a DCN group address. 14. The machine readable medium of claim 1 , wherein the DCN group is a first DCN group, the program further comprises sets of instructions for: determining whether the data message is addressed to a second DCN group; and when the data message is addressed to the second DCN group, identifying a DCN in the second DCN group that should receive the data message; and sending the data message to the identified DCN in the second DCN group. 15. The machine readable medium of claim 1 , wherein DCNs include data compute end nodes or middle box service nodes. 16. The machine readable medium of claim 1 , wherein the SCN is a virtual machine. 17. The machine readable medium of claim 1 , wherein the SCN is a container. 18. The machine readable medium of claim 1 , wherein identifying the DCN comprises selecting the DCN from the group of DCNs based on a set of load balancing criteria that is specified in order to spread data messages that are sent to the DCN group among the DCNs in the group. 19. The machine readable medium of claim 18 , wherein the set of load balancing criteria is specified to evenly spread data messages that are sent to the DCN group among the DCNs in the group. 20. A method for load balancing data messages that are sent to a group of destination compute nodes (DCNs) from a source compute node (SCN) executing on a host computing device, the method comprising on the host computing device, intercepting data messages sent by the SCN that are addressed to the DCN group as the data messages traverse along an egress datapath of the host computing device before the data messages reach a software forwarding element executing on the host computing device; for each intercepted data message, identifying one DCN in the DCN group that should receive the intercepted data message; and sending each intercepted data message to the DCN that is identified for that intercepted data message. 21. The method of claim 20 , wherein sending the data message comprises sending at least one data message out of the host computing device. 22. The method of claim 20 , wherein the software forwarding element executes in a hypervisor of the host computing device. 23. The method of claim 20 , wherein intercepting each data message comprises intercepting each data message in a network interface card of the host computing device. 24. The method of claim 20 , wherein the DCNs for the different data messages are identified based on a set of load balancing criteria that distributes the data messages across the DCNs of the DCN group. 25. The method of claim 20 , wherein the DCN group is a first DCN group, wherein the method further comprises: on the host computing device, intercepting data messages that are addressed to a second DCN group; for each intercepted data message addressed to the second DCN group, identifying one DCN in the second DCN group that should receive the intercepted data message; and sending each intercepted data message that was addressed to the second DCN group to the DCN in the second group that is identified for that intercepted data message. 26. The method of claim 20 , wherein identifying DCNs for the data messages comprises: when a data message is a first data message intercepted from a new data message flow, identifying the DCN by examining a set of load balancing rules that specify how to redirect data messages sent to the DCN group; and storing the identified DCN for the data message flow in a connection data store; when an intercepted data message is part of a data message flow that has had a prior data message intercepted, identifying the DCN by examining the connection data store.
Distribution of virtual machine instances; Migration and load balancing · CPC title
Hypervisor-specific management and integration aspects · CPC title
based on a round robin mechanism · CPC title
by balancing the load, e.g. traffic engineering · CPC title
Multipath · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.