Patentable/Patents/US-9686178
US-9686178

Configuring link aggregation groups to perform load balancing in a virtual environment

PublishedJune 20, 2017
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Exemplary methods, apparatuses, and systems configure a first set of ports of a host device to be included within a link aggregation group (LAG) with a switch coupled to the first set of one or more ports. A second set of one or more ports of a second host device is also included within the LAG. The configuration of the LAG includes the switch performing load balancing between ports within the LAG. The first host device receives, via the LAG, a packet to be processed by a service implemented by each of one or more virtual machines running on the first host device. The first host device receives the packet as a result of the switch selecting a port within the first and second sets of ports based upon the load balancing between uplinks to the ports within the LAG.

Patent Claims
17 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A computer-implemented method of load balancing across a plurality of host devices, the method comprising: configuring, via negotiation by a first host device with a switch coupled to a first set of one or more ports of the first host device, the first set of ports to be included within a first link aggregation group (LAG); configuring, via negotiation by a second host device with the switch, a second set of one or more ports of the second host device to also be included within the first LAG, wherein the second set of ports are coupled to the switch, and wherein the configuration of the first LAG includes the switch performing load balancing between uplinks to ports within the first LAG; and receiving, by the first host device via the first LAG, a packet to be processed by one of a first plurality of virtual machines running on the first host device or one of a second plurality of virtual machines running on the second host device, a first virtual machine of the first and second pluralities of virtual machines implementing a service to process the packet and each other virtual machine of the first and second pluralities of virtual machines also implementing the service to process the packet, wherein the first host device receives the packet as a result of the switch selecting an uplink to a port within the first and second sets of ports based upon the load balancing between the ports within the first LAG, and wherein the packet is addressed to a destination address, and the destination address is a common address assigned to each virtual machine of the first plurality of virtual machines and each virtual machine of the second plurality of virtual machines.

Plain English Translation

A system balances network traffic across multiple servers in a virtual environment. A first server negotiates with a network switch to group its network ports into a Link Aggregation Group (LAG). A second server also negotiates with the same switch to add its ports to the same LAG. The switch then load balances network traffic across all the ports within this LAG. When a packet arrives at the switch destined for a service running on virtual machines on either the first or second server, the switch selects a port in the LAG based on load balancing, forwarding the packet to the appropriate server. The packet's destination address is a common address shared by all the virtual machines providing that service.

Claim 2

Original Legal Text

2. The computer-implemented method of claim 1 , wherein a plurality of the virtual machines running on the first host device implement the service, further comprising: selecting one of the first plurality of virtual machines to receive the packet, the selection based upon load balancing performed by virtualization software of the first host device; and delivering the packet to the selected virtual machine.

Plain English Translation

The load balancing system where multiple virtual machines on the first server run the service. After the first server receives the packet via the LAG, it further load balances the traffic *within* the server. The virtualization software on the first server selects one of its virtual machines to receive the packet based on its internal load balancing algorithm and delivers the packet to that specific virtual machine.

Claim 3

Original Legal Text

3. The computer-implemented method of claim 1 , further comprising: assigning the first plurality virtual machines running on the first host device to the first LAG, wherein a second plurality virtual machines running on the second host device is also assigned to the first LAG.

Plain English Translation

The load balancing system that also assigns virtual machines to a LAG. All the virtual machines on the first server that are running the service are assigned to the first LAG. Similarly, all the virtual machines running the service on the second server are also assigned to the same first LAG, ensuring they receive traffic load-balanced by the switch.

Claim 4

Original Legal Text

4. The computer-implemented method of claim 1 , further comprising: configuring a third set of one or more ports of the first host device to be included within a second LAG, wherein a fourth set of one or more ports of the second host device is also included within the second LAG, each port within the first set of ports being different from ports within the third set of ports and each port within the second set of ports being different from ports within the fourth set of ports.

Plain English Translation

The load balancing system extending link aggregation to multiple LAGs. The first server also configures a second LAG, consisting of a *different* set of its ports. The second server also configures a second LAG, consisting of a *different* set of its ports. Thus, each server uses multiple independent LAGs to communicate with the switch, and ports belong to only one LAG.

Claim 5

Original Legal Text

5. The computer-implemented method of claim 1 , wherein the destination address is a virtual network layer address associated with the first and second pluralities of virtual machines.

Plain English Translation

The load balancing system where the packet's destination address is a virtual network layer address. This address is associated with all the virtual machines running the service on both the first and second servers, allowing the switch to route the packet to either server without needing to know the specific IP address of each virtual machine.

Claim 6

Original Legal Text

6. The computer-implemented method of claim 5 , wherein delivering the packet to the selected virtual machine includes modifying the destination address of the packet.

Plain English Translation

The load balancing system, after selecting a virtual machine to receive a packet, modifies the destination address of the packet. This modification might involve replacing the common virtual network layer address with the specific IP address of the selected virtual machine, ensuring correct delivery within the server.

Claim 7

Original Legal Text

7. A non-transitory computer-readable medium storing instructions, which when executed by a management server, cause the management server to configure a first host device and a second host device to perform a method comprising: configuring, via negotiation by the first host device with a switch coupled to a first set of one or more ports of the first host device, the first set of ports to be included within a first link aggregation group (LAG), configuring, via negotiation by the second host device with the switch, a second set of one or more ports of the second host device to also be included within the first LAG, wherein the second set of ports are coupled to the switch, and wherein the configuration of the first LAG includes the switch performing load balancing between uplinks to ports within the first LAG; and receiving, by the first host device via the first LAG, a packet to be processed by one of a first plurality of virtual machines running on the first host device or one of a second plurality of virtual machines running on the second host device, a first virtual machine of the first and second pluralities of virtual machines implementing a service to process the packet and each other virtual machine of the first and second pluralities of virtual machines also implementing the service to process the packet, wherein the first host device receives the packet as a result of the switch selecting an uplink to a port within the first and second sets of ports based upon the load balancing between the ports within the first LAG, and wherein the packet is addressed to a destination address, and the destination address is a common address assigned to each virtual machine of the first plurality of virtual machines and each virtual machine of the second plurality of virtual machines.

Plain English Translation

A non-transitory computer-readable medium storing instructions for a management server to configure a system that balances network traffic across multiple servers in a virtual environment. The instructions, when executed, cause the management server to configure a first server to negotiate with a network switch to group its network ports into a Link Aggregation Group (LAG). The management server also configures a second server to negotiate with the same switch to add its ports to the same LAG. The switch then load balances network traffic across all the ports within this LAG. When a packet arrives at the switch destined for a service running on virtual machines on either the first or second server, the switch selects a port in the LAG based on load balancing, forwarding the packet to the appropriate server. The packet's destination address is a common address shared by all the virtual machines providing that service.

Claim 8

Original Legal Text

8. The non-transitory computer-readable medium of claim 7 , wherein a plurality of the virtual machines running on the first host device implement the service, the method further comprising: selecting one of the first plurality of virtual machines to receive the packet, the selection based upon load balancing performed by virtualization software of the first host device; and delivering the packet to the selected virtual machine.

Plain English Translation

The non-transitory computer-readable medium of the load balancing system where multiple virtual machines on the first server run the service. After the first server receives the packet via the LAG, it further load balances the traffic *within* the server. The virtualization software on the first server selects one of its virtual machines to receive the packet based on its internal load balancing algorithm and delivers the packet to that specific virtual machine.

Claim 9

Original Legal Text

9. The non-transitory computer-readable medium of claim 7 , the method further comprising: assigning the first plurality virtual machines running on the first host device to the first LAG, wherein a second plurality virtual machines running on the second host device is also assigned to the first LAG.

Plain English Translation

The non-transitory computer-readable medium for the load balancing system that also assigns virtual machines to a LAG. All the virtual machines on the first server that are running the service are assigned to the first LAG. Similarly, all the virtual machines running the service on the second server are also assigned to the same first LAG, ensuring they receive traffic load-balanced by the switch.

Claim 10

Original Legal Text

10. The non-transitory computer-readable medium of claim 7 , the method further comprising: configuring a third set of one or more ports of the first host device to be included within a second LAG, wherein a fourth set of one or more ports of the second host device is also included within the second LAG, each port within the first set of ports being different from ports within the third set of ports and each port within the second set of ports being different from ports within the fourth set of ports.

Plain English Translation

The non-transitory computer-readable medium for the load balancing system extending link aggregation to multiple LAGs. The first server also configures a second LAG, consisting of a *different* set of its ports. The second server also configures a second LAG, consisting of a *different* set of its ports. Thus, each server uses multiple independent LAGs to communicate with the switch, and ports belong to only one LAG.

Claim 11

Original Legal Text

11. The non-transitory computer-readable medium of claim 7 , wherein the destination address is a virtual network layer address associated with the first and second pluralities of virtual machines.

Plain English Translation

The non-transitory computer-readable medium for the load balancing system where the packet's destination address is a virtual network layer address. This address is associated with all the virtual machines running the service on both the first and second servers, allowing the switch to route the packet to either server without needing to know the specific IP address of each virtual machine.

Claim 12

Original Legal Text

12. The non-transitory computer-readable medium of claim 11 , wherein delivering the packet to the selected virtual machine includes modifying the destination address of the packet.

Plain English Translation

The non-transitory computer-readable medium for the load balancing system, after selecting a virtual machine to receive a packet, modifies the destination address of the packet. This modification might involve replacing the common virtual network layer address with the specific IP address of the selected virtual machine, ensuring correct delivery within the server.

Claim 13

Original Legal Text

13. A system comprising: a first host device including a first processing device, wherein the first processing device executes instructions that cause the first host device to perform a method comprising: configuring, via negotiation by the first host device with a switch coupled to a first set of one or more ports of the first host device, the first set of ports to be included within a first link aggregation group (LAG); and a second host device including a second processing device, wherein the second processing device executes instructions that cause the second host device to perform a method comprising: configuring, via negotiation by a second host device with the switch, a second set of one or more ports of a second host device to also be included within the first LAG, wherein the second set of ports are coupled to the switch, and wherein the configuration of the first LAG includes the switch performing load balancing between uplinks to ports within the first LAG; and receiving, by the second host device via the first LAG, a packet to be processed by one of a first plurality of virtual machines running on the first host device or one of a second plurality of virtual machines running on the second host device, a first virtual machine of the first and second pluralities of virtual machines implementing a service to process the packet and each other virtual machine of the first and second pluralities of virtual machines also implementing the service to process the packet, wherein the first host device receives the packet as a result of the switch selecting an uplink to a port within the first and second sets of ports based upon the load balancing between the ports within the first LAG, and wherein the packet is addressed to a destination address, and the destination address is a common address assigned to each virtual machine of the first plurality of virtual machines and each virtual machine of the second plurality of virtual machines.

Plain English Translation

A system balances network traffic across multiple servers in a virtual environment. A first server negotiates with a network switch to group its network ports into a Link Aggregation Group (LAG). A second server also negotiates with the same switch to add its ports to the same LAG. The switch then load balances network traffic across all the ports within this LAG. When a packet arrives at the switch destined for a service running on virtual machines on either the first or second server, the switch selects a port in the LAG based on load balancing, forwarding the packet to the *second* server. The packet's destination address is a common address shared by all the virtual machines providing that service.

Claim 14

Original Legal Text

14. The system of claim 13 , wherein a plurality of the virtual machines running on the second host device implement the service, wherein the second host device selects one of the first plurality of virtual machines to receive the packet, the selection based upon load balancing performed by virtualization software of the second host device, and wherein the second host device delivers the packet to the selected virtual machine.

Plain English Translation

The load balancing system where multiple virtual machines on the *second* server run the service. After the *second* server receives the packet via the LAG, it further load balances the traffic *within* the *second* server. The virtualization software on the *second* server selects one of its virtual machines to receive the packet based on its internal load balancing algorithm and delivers the packet to that specific virtual machine.

Claim 15

Original Legal Text

15. The system of claim 13 , the method further comprising: assigning the first plurality virtual machines running on the first host device to the first LAG; and assigning the second plurality virtual machines running on the second host device to the first LAG.

Plain English Translation

The load balancing system that also assigns virtual machines to a LAG. All the virtual machines on the first server that are running the service are assigned to the first LAG. Similarly, all the virtual machines running the service on the second server are also assigned to the same first LAG, ensuring they receive traffic load-balanced by the switch.

Claim 16

Original Legal Text

16. The system of claim 13 , the method further comprising: configuring, by the first host device, a third set of one or more ports of the first host device to be included within a second LAG; and configuring, by the second host device, a fourth set of one or more ports of the second host device to also be included within the second LAG, each port within the first set of ports being different from ports within the third set of ports and each port within the second set of ports being different from ports within the fourth set of ports.

Plain English Translation

The load balancing system extending link aggregation to multiple LAGs. The first server also configures a second LAG, consisting of a *different* set of its ports. The second server also configures a second LAG, consisting of a *different* set of its ports. Thus, each server uses multiple independent LAGs to communicate with the switch, and ports belong to only one LAG.

Claim 17

Original Legal Text

17. The system of claim 13 , wherein the destination address is a virtual network layer address associated with the first and second pluralities of virtual machines.

Plain English Translation

The load balancing system where the packet's destination address is a virtual network layer address. This address is associated with all the virtual machines running the service on both the first and second servers, allowing the switch to route the packet to either server without needing to know the specific IP address of each virtual machine.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

July 22, 2013

Publication Date

June 20, 2017

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Configuring link aggregation groups to perform load balancing in a virtual environment” (US-9686178). https://patentable.app/patents/US-9686178

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-9686178. See llms.txt for full attribution policy.