IP Library › Granted Patent US 11,431,635
Granted Patent B2
US 11,431,635 · App. 16/813,691 · Granted Aug 30, 2022

Load balancing designated routers for multicast groups

Inventors: Vijayalaxmi Basavaraj (Cupertino, CA); Ankur Dubey (Santa Clara, CA); Sami Boutros (Union City, CA)
Assignee: VMWARE, INC.
H04L47/125H04L12/18H04L12/66
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 11,431,635
App. No.
16/813,691
Granted
Aug 30, 2022
Kind
B2
Abstract

Some embodiments provide a method for a host computer that executes a set of data compute nodes (DCNs), for identifying a designated router for a multicast group. The method receives a membership request message to join the multicast group from a particular DCN of the set of DCNs, the membership request message including an address associated with the multicast group. The method identifies a logical router gateway from a set of logical router gateways as the designated router for the multicast group, based at least in part on the address associated with the multicast group, where different logical router gateways from the set of logical router gateways are assigned as designated routers for different multicast groups with different associated addresses. The method forwards the membership request message to the identified logical router gateway.

Claims (45)

1. A method for identifying a designated router for a multicast group, the method comprising:

at a forwarding element executing on a host computer that also executes a set of data compute nodes (DCNs) that are sources and destinations of data messages:

receiving a membership request message to join the multicast group from a particular DCN of the set of DCNs executing on the host computer, wherein the particular DCN connects to a logical network implemented in a datacenter, said membership request message comprising an address associated with the multicast group;

identifying a logical router gateway from a set of logical router gateways as the designated router for the multicast group based at least in part on the address associated with the multicast group, the logical router gateways for handling data messages between the logical network in the datacenter and external networks, wherein different logical router gateways from the set of logical router gateways are assigned as designated routers for different multicast groups with different associated addresses; and

forwarding the membership request message to the identified logical router gateway, wherein the identified logical router gateway sends a join message to a router in the external networks requesting to join the multicast group.

2. The method of claim 1 further comprising, at the forwarding element executing on the host computer:

receiving a data message directed to the address associated with the multicast group from the identified logical router gateway; and

forwarding the received data message to the particular DCN.

3. The method of claim 2 further comprising, storing an association between the particular DCN and the multicast group based on the membership request message, wherein the data message is forwarded to the particular DCN based on the stored association.

4. The method of claim 1 , wherein the membership request message is a first membership request message, the multicast group is a first multicast group, the address is a first address, the join message is a first join message, and the identified logical router gateway is a first logical router gateway, the method further comprising:

receiving a second membership request message to join a second multicast group, said membership request message comprising a second address associated with the second multicast group;

identifying a second logical router gateway from the set of logical router gateways as the designated router for the second multicast group based at least in part on the second address; and

forwarding the second membership request message to the second logical router gateway, wherein the second logical router gateway sends a second join message to a second router in the external networks requesting to join the second multicast group.

5. The method of claim 4 , wherein the particular DCN is a first DCN, wherein the second membership request message is received from a second DCN of the set of DCNs, the second DCN also connected to the logical network.

6. The method of claim 4 , wherein the second membership request message is also received from the particular DCN.

7. The method of claim 1 , wherein each of the logical router gateways is assigned a different rank, wherein identifying the logical router gateway as the designated router for the multicast group comprises:

calculating a value based on the address associated with the multicast group; and

identifying the logical router gateway with the assigned rank equal to the calculated value as the designated router for the multicast group.

8. The method of claim 1 , wherein calculating the value comprises computing a portion of the address modulo a number of logical router gateways currently available to receive data messages in the set of logical router gateways.

9. The method of claim 8 , further comprising:

determining that the identified logical router gateway is no longer available to receive data messages;

identifying a different one of the logical router gateways from the set of logical router gateways by (i) recalculating the value as the portion of the address modulo a modified number of logical router gateways currently available to receive data messages in the set of logical router gateways and (ii) identifying the logical router gateway with the assigned rank equal to the recalculated value.

10. The method of claim 1 , wherein prior to sending the join message, the identified logical router gateway verifies that the identified logical router gateway is the correct logical router gateway to be the designated router for the multicast group based on the address associated with the multicast group.

11. The method of claim 1 , wherein the identified logical router gateway receives the membership request message on a particular interface and stores an association of the multicast group with the particular interface.

12. The method of claim 11 , wherein the identified logical router gateway uses the stored association to forward data messages for the multicast group to the forwarding element on the host computer.

13. A non-transitory machine readable medium storing a program forwarding element for execution by at least one processing unit of a host computer on which a set of data compute nodes (DCNs) execute, wherein the DCNs are sources and destinations of data messages, the forwarding element for identifying a designated router for a multicast group, the forwarding element comprising sets of instructions for:

receiving a membership request message to join the multicast group from a particular DCN of the set of DCNs executing on the host computer, wherein the particular DCN connects to a logical network implemented in a datacenter, said membership request message comprising an address associated with the multicast group;

identifying a logical router gateway from a set of logical router gateways as the designated router for the multicast group based at least in part on the address associated with the multicast group, the logical router gateways for handling data messages between the logical network in the datacenter and external networks, wherein different logical router gateways from the set of logical router gateways are assigned as designated routers for different multicast groups with different associated addresses; and

forwarding the membership request message to the identified logical router gateway, wherein the identified logical router gateway sends a join message to a router in the external networks requesting to join the multicast group.

14. The non-transitory machine readable medium of claim 13 , the forwarding element further comprising sets of instructions for:

receiving a data message directed to the address associated with the multicast group from the identified logical router gateway;

forwarding the received data message to the particular DCN; and

storing an association between the particular DCN and the multicast group based on the membership request message, wherein the data message is forwarded to the particular DCN based on the stored association.

15. The non-transitory machine readable medium of claim 13 , wherein the membership request message is a first membership request message, the multicast group is a first multicast group, the address is a first address, the join message is a first join message, and the identified logical router gateway is a first logical router gateway, the forwarding element further comprising sets of instructions for:

receiving a second membership request message to join a second multicast group, said membership request message comprising a second address associated with the second multicast group;

identifying a second logical router gateway from the set of logical router gateways as the designated router for the second multicast group based at least in part on the second address; and

forwarding the second membership request message to the second logical router gateway, wherein the second logical router gateway sends a second join message to a second router in the external networks requesting to join the second multicast group.

16. The non-transitory machine readable medium of claim 15 , wherein the particular DCN is a first DCN, wherein the second membership request message is received from a second DCN of the set of DCNs, the second DCN also connected to the logical network.

17. The non-transitory machine readable medium of claim 15 , wherein the second membership request message is also received from the particular DCN.

18. The non-transitory machine readable medium of claim 13 , wherein each of the logical router gateways is assigned a different rank, wherein the set of instructions for identifying the logical router gateway as the designated router for the multicast group comprises sets of instructions for:

calculating a value based on the address associated with the multicast group; and

identifying the logical router gateway with the assigned rank equal to the calculated value as the designated router for the multicast group.

19. The non-transitory machine readable medium of claim 13 , wherein the set of instructions for calculating the value comprises a set of instructions for computing a portion of the address modulo a number of logical router gateways currently available to receive data messages in the set of logical router gateways, the program further comprising sets of instructions for:

determining that the identified logical router gateway is no longer available to receive data messages;

identifying a different one of the logical router gateways from the set of logical router gateways by (i) recalculating the value as the portion of the address modulo a modified number of logical router gateways currently available to receive data messages in the set of logical router gateways and (ii) identifying the logical router gateway with the assigned rank equal to the recalculated value.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2020
From: BASAVARAJ, VIJAYALAXMI; DUBEY, ANKUR; BOUTROS, SAMI
To: VMWARE, INC.
Reel/Frame 052059/0392 →
Continuity (1)
Related Publication 20210281515A1 · Sep 9, 2021
Cited By (1)
US 12,603,838