US Patent No. 10,193,810

CONGESTION-AWARE LOAD BALANCING


Patent No. 10,193,810
Issue Date January 29, 2019
Title Congestion-aware Load Balancing
Inventorship Mukesh Hira, Palo Alto, CA (US)
Assignee VMware, Inc., Palo Alto, CA (US)

Claim of US Patent No. 10,193,810

1. A method for performing congestion-aware load balancing in a network, the method comprising:receiving, by a virtual switch running as software on a first physical host machine, a packet sent by a source endpoint at the first physical host machine and destined for a destination endpoint at a second physical host machine, the packet comprising a header comprising a source address field, a destination address field, and a source port field, wherein the source address field comprises a source address of the source endpoint, the source port field comprises a source port of the source endpoint, and the destination address field comprises a destination address of the destination endpoint;
selecting, by the virtual switch, a first physical path of a plurality of physical paths coupling the virtual switch with the destination endpoint over a physical network, wherein the first physical path is selected based on congestion state information indicating congestion on each of the plurality of physical paths;
modifying, by the virtual switch, the source address field of the header to include a source address associated with the first physical host machine and not the source endpoint instead of the source address of the source endpoint;
modifying, by the virtual switch, the destination address field of the header to include a destination address associated with the second physical host machine and not the destination endpoint instead of the destination address of the destination endpoint;
modifying, by the virtual switch, the source port field of the header based on the selected first physical path; and
sending, by the virtual switch, the modified packet to the destination endpoint via a second virtual switch running as software on the second physical host machine such that the packet is forwarded via the first physical path based on a value of the source address field being a source address associated with the first physical host machine and not the source endpoint, a value of the destination address field being a destination address associated with the second physical host machine and not the destination endpoint, and a value of the source port field being based on the selected first physical path.