IP Library Granted Patent US 12,155,718
Granted Patent B2
US 12,155,718 · App. 18/185,784 · Granted Nov 26, 2024

Deploying a distributed load balancer in a virtualized computing system

Inventors: DongPing Chen (Beijing, CN); Jingchun Jiang (Beijing, CN); Bo Lin (Beijing, CN); Xinyang Liu (Beijing, CN); Donghai Han (Beijing, CN); Xiao Liang (Beijing, CN); Yi Zeng (Beijing, CN)
Assignee: VMware LLC
H04L67/101G06F9/45558H04L67/1008G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,155,718
App. No.
18/185,784
Granted
Nov 26, 2024
Kind
B2
Abstract

An example method of distributed load balancing in a virtualized computing system includes: configuring, at a logical load balancer, a traffic detector to detect traffic to a virtual internet protocol address (VIP) of an application having a plurality of instances; detecting, at the traffic detector, a first request to the VIP from a client executing in a virtual machine (VM) supported by a hypervisor executing on a first host; sending, by a configuration distributor of the logical load balancer in response to the detecting, a load balancer configuration to a configuration receiver of a local load balancer executing in the hypervisor for configuring the local load balancer to perform load balancing for the VIP at the hypervisor using the load balancer configuration.

Claims (45)

1. A method of distributed load balancing in a virtualized computing system, comprising:

configuring, at a logical load balancer, a traffic detector to detect traffic to a virtual internet protocol address (VIP) of an application having a plurality of instances, the logical load balancer being a centralized part of a distributed load balancer;

detecting, at the traffic detector, a first request to the VIP from a client executing in a virtual machine (VM) supported by a hypervisor executing on a first host; and

sending, by a configuration distributor of the logical load balancer in response to the detecting, a load balancer configuration to a configuration receiver of a local load balancer executing in the hypervisor for configuring the local load balancer to perform load balancing for the VIP at the hypervisor using the load balancer configuration, the local load balancer being a distributed part of the distributed load balancer.

2. The method of claim 1 , wherein the logical load balancer load balances the first request from the client, and wherein the local load balancer load balances at least one additional request from the client or load balances one or more requests from another VM supported by the hypervisor.

3. The method of claim 1 , further comprising:

sending, by the traffic detector, a notification to the configuration distributor in response to detecting the request;

sending, by the configuration distributor, a connecting method to the configuration receiver; and

requesting, by the configuration receiver, the load balancer configuration from the configuration distributor using the connecting method.

4. The method of claim 1 , further comprising:

receiving, at the logical load balancer, the load balancer configuration through a control plane as defined by a user; and

storing the load balancer configuration in a database of the logical load balancer.

5. The method of claim 1 , wherein the logical load balancer executes in a second host connected to the first host by a network, and wherein the instances of the application execute in at least one additional host connected to the first host and the second host by the network.

6. The method of claim 1 , further comprising:

configuring, based on the load balancer configuration, a load balancer engine of the logical load balancer.

7. The method of claim 6 , further comprising:

configuring, by the configuration receiver based on the load balancer configuration, a load balancer engine of the local load balancer.

8. A non-transitory computer readable medium comprising instructions to be executed in a computing device to cause the computing device to carry out a method of distributed load balancing in a virtualized computing system, comprising:

configuring, at a logical load balancer, a traffic detector to detect traffic to a virtual internet protocol address (VIP) of an application having a plurality of instances, the logical load balancer being a centralized part of a distributed load balancer;

detecting, at the traffic detector, a first request to the VIP from a client executing in a virtual machine (VM) supported by a hypervisor executing on a first host; and

sending, by a configuration distributor of the logical load balancer in response to the detecting, a load balancer configuration to a configuration receiver of a local load balancer executing in the hypervisor for configuring the local load balancer to perform load balancing for the VIP at the hypervisor using the load balancer configuration, the local load balancer being a distributed part of the distributed load balancer.

9. The non-transitory computer readable medium of claim 8 , wherein the logical load balancer load balances the first request from the client, and wherein the local load balancer load balances at least one additional request from the client or load balances one or more requests from another VM supported by the hypervisor.

10. The non-transitory computer readable medium of claim 8 , further comprising:

sending, by the traffic detector, a notification to the configuration distributor in response to detecting the request;

sending, by the configuration distributor, a connecting method to the configuration receiver; and

requesting, by the configuration receiver, the load balancer configuration from the configuration distributor using the connecting method.

11. The non-transitory computer readable medium of claim 8 , further comprising:

receiving, at the logical load balancer, the load balancer configuration through a control plane as defined by a user; and

storing the load balancer configuration in a database of the logical load balancer.

12. The non-transitory computer readable medium of claim 8 , wherein the logical load balancer executes in a second host connected to the first host by a network, and wherein the instances of the application execute in at least one additional host connected to the first host and the second host by the network.

13. The non-transitory computer readable medium of claim 8 , further comprising:

configuring, based on the load balancer configuration, a load balancer engine of the logical load balancer.

14. The non-transitory computer readable medium of claim 13 , further comprising:

configuring, by the configuration receiver based on the load balancer configuration, a load balancer engine of the local load balancer.

15. A virtualized computing system, comprising:

a first host configured to executing a logical load balancer, the logical load balancer including a traffic detector configured to detect a virtual internet protocol address (VIP) of an application having a plurality of instances, the logical load balancer being a centralized part of a distributed load balancer; and

a second host configured to execute a hypervisor and a virtual machine (VM) supported by the hypervisor, the hypervisor including a local load balancer, the local load balancer being a distributed part of the distributed load balancer;

wherein the traffic detector is configured to detect a first request to the VIP from a client executing in the VM;

wherein a configuration distributor of the logical load balancer sends, in response to detecting the request, a load balancer configuration to a configuration receiver of the local load balancer; and

wherein the configuration receiver configures the local load balancer to perform load balancing for the VIP at the hypervisor using the load balancer configuration.

16. The virtualized computing system of claim 15 , wherein the logical load balancer load balances the first request from the client, and wherein the local load balancer load balances at least one additional request from the client or load balances one or more requests from another VM supported by the hypervisor.

17. The virtualized computing system of claim 15 , wherein the traffic detector is configured to send a notification to the configuration distributor in response to detecting the request, wherein the configuration distributor is configured to send a connecting method to the configuration receiver, and wherein the configuration receiver is configured to request the load balancer configuration from the configuration distributor using the connecting method.

18. The virtualized computing system of claim 15 , wherein the logical load balancer is configured to receive the load balancer configuration through a control plane as defined by a user, and wherein the load balancer configuration is stored in a database of the logical load balancer.

19. The virtualized computing system of claim 15 , wherein the logical load balancer executes in a second host connected to the first host by a network, and wherein the instances of the application execute in at least one additional host connected to the first host and the second host by the network.

20. The virtualized computing system of claim 15 , wherein a load balancer engine of the logical load balancer is configured with the load balancer configuration, and wherein a load balancer engine of the local load balancer is configured by the configuration receiver with the load balancer configuration.

Assignments (2)
CHANGE OF NAME Recorded Apr 25, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067239/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: CHEN, DONGPING; JIANG, JINGCHUN; LIN, BO; LIU, XINYANG; HAN, DONGHAI; LIANG, XIAO; ZENG, YI
To: VMWARE, INC.
Reel/Frame 063020/0734 →
Priority Claims (1)
WO PCT/CN2023/000026 · Jan 19, 2023 · international
Continuity (1)
Related Publication 20240251010A1 · Jul 25, 2024