IP Library Granted Patent US 11,456,888
Granted Patent B2
US 11,456,888 · App. 16/983,344 · Granted Sep 27, 2022

Traffic replication in overlay networks spanning multiple sites

Inventors: Subin Cyriac Mathew (San Jose, CA); Alexander Tessmer (Mountain View, CA); Chidambareswaran Raman (Sunnyvale, CA)
Assignee: VMWARE, INC.
H04L12/1886H04L12/185H04L12/4633H04L41/0893H04L67/563
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,456,888
App. No.
16/983,344
Granted
Sep 27, 2022
Kind
B2
Abstract

Some embodiments provide a method of replicating messages for a logical network. At a particular tunnel endpoint in a particular datacenter, the method receives a message to be replicated to members of a replication group. The method replicates the message to a set of tunnel endpoints of the replication group located in a same segment of the particular datacenter as the particular tunnel endpoint. The method replicates the message to a first set of proxy endpoints of the replication group, each of which is located in a different segment of the particular datacenter and for replicating the message to tunnel endpoints located in its respective segment of the particular datacenter. The method replicates the message to a second set of proxy endpoints of the replication group, each of which is located in a different datacenter and for replicating the message to tunnel endpoints located in its respective datacenter.

Claims (39)

1. A method of replicating messages to members of a replication group across a plurality of datacenters, the method comprising:

at a particular tunnel endpoint in a particular datacenter:

replicating a message to a first set of proxy endpoints each of which (i) is located in a different segment of the particular datacenter and (ii) is for replicating the message to tunnel endpoints of the replication group located in its respective segment of the particular datacenter; and

replicating the message to a second set of proxy endpoints each of which (i) is located in a different datacenter of the plurality of datacenters and (ii) is for replicating the message to tunnel endpoints of the replication group located in its respective datacenter.

2. The method of claim 1 , wherein:

replicating the message to the first set of proxy endpoints comprises encapsulating the message with a first encapsulating header that stores a first flag indicating that the message should be replicated to all local endpoints of the replication group in the same segment as the proxy endpoint receiving the message; and

replicating the message to the second set of proxy endpoints comprises encapsulating the message with a second encapsulating header that stores a second flag indicating that the message should be replicated to all proxy endpoints of the replication group in different segments of the same datacenter as the proxy endpoint receiving the message.

3. The method of claim 2 further comprising

replicating the message to a set of tunnel endpoints of a replication group located in a same segment of the particular datacenter as the particular tunnel endpoint, by using a third encapsulation header that does not store the first and second flags.

4. The method of claim 1 further comprising replicating the message to a set of tunnel endpoints of a replication group located in a same segment of the particular datacenter as the particular tunnel endpoint.

5. The method of claim 4 , wherein the segments are segments of a logical network implemented across the plurality of datacenters.

6. The method of claim 5 , wherein the logical network is a logical overlay network, and the tunnel endpoints are tunnel endpoints used to establish the logical overlay network.

7. The method of claim 1 , wherein the particular datacenter is a first datacenter, wherein a particular proxy endpoint located in a second datacenter that receives the message from the particular tunnel endpoint replicates the message to tunnel endpoints of the replication group located in the second datacenter by replicating the message to (i) a third set of proxy endpoints of the replication group, each proxy endpoint in the third set located in a different segment of the second datacenter and for replicating the message to tunnel endpoints of the replication group located in its respective segment of the second datacenter and (ii) a set of tunnel endpoints of the replication group located in a same segment of the second datacenter as the particular proxy endpoint.

8. The method of claim 7 , wherein selecting a proxy endpoint for a specific segment of the particular datacenter comprises randomly selecting a tunnel endpoint in the specific segment that is a member of the replication group.

9. The method of claim 7 , wherein selecting a proxy endpoint for a specific datacenter comprises randomly selecting a tunnel endpoint in the specific datacenter that is a member of the replication group.

10. The method of claim 1 further comprising:

receiving, at the particular tunnel endpoint, a list of members for the replication group at all segments of all datacenters; and

based on the received list:

selecting a proxy endpoint for each other segment in the particular datacenter, wherein the first set of proxy endpoints comprises the selected proxy endpoints for the different segments of the same datacenter; and

selecting a proxy endpoint for each other datacenter, wherein the second set of proxy endpoints comprises the selected proxy endpoints for the other datacenters.

11. The method of claim 1 , wherein the plurality of datacenters is a first datacenter group in a plurality of datacenter groups, the method further comprising replicating the message to a third set of proxy endpoints of the replication group, each proxy endpoint in the third set (i) located in a different datacenter group and (ii) for replicating the message to tunnel endpoints of the replication group located its respective datacenter group.

12. A non-transitory machine readable medium storing a program which when executed on a set of processing units of a host computer replicates messages to members of a replication group across a plurality of datacenters, the program comprising sets of instructions for:

at a particular tunnel endpoint in a particular datacenter:

replicating a message to a first set of proxy endpoints each of which (i) is located in a different segment of the particular datacenter and (ii) is for replicating the message to tunnel endpoints of the replication group located in its respective segment of the particular datacenter; and

replicating the message to a second set of proxy endpoints each of which (i) is located in a different datacenter of the plurality of datacenters and (ii) is for replicating the message to tunnel endpoints of the replication group located in its respective datacenter.

13. The non-transitory machine readable medium of claim 12 , wherein:

the set of instructions for replicating the message to the first set of proxy endpoints comprises a set of instructions for encapsulating the message with a first encapsulating header that stores a first flag indicating that the message should be replicated to all local endpoints of the replication group in the same segment as the proxy endpoint receiving the message; and

the set of instructions for replicating the message to the second set of proxy endpoints comprises a set of instructions for encapsulating the message with a second encapsulating header that stores a second flag indicating that the message should be replicated to all proxy endpoints of the replication group in different segments of the same datacenter as the proxy endpoint receiving the message.

14. The non-transitory machine readable medium of claim 13 , the program further comprising a set of instructions for replicating the message to a set of tunnel endpoints of a replication group located in a same segment of the particular datacenter as the particular tunnel endpoint, by using a third encapsulation header that does not store the first and second flags.

15. The non-transitory machine readable medium of claim 12 , the program further comprising a set of instructions for replicating the message to a set of tunnel endpoints of a replication group located in a same segment of the particular datacenter as the particular tunnel endpoint.

16. The non-transitory machine readable medium of claim 15 , wherein the segments are segments of a logical network implemented across the plurality of datacenters.

17. The non-transitory machine readable medium of claim 16 , wherein the logical network is a logical overlay network, and the tunnel endpoints are tunnel endpoints used to establish the logical overlay network.

18. The non-transitory machine readable medium of claim 12 , wherein the particular datacenter is a first datacenter, wherein a particular proxy endpoint located in a second datacenter that receives the message from the particular tunnel endpoint replicates the message to tunnel endpoints of the replication group located in the second datacenter by replicating the message to (i) a third set of proxy endpoints of the replication group, each proxy endpoint in the third set located in a different segment of the second datacenter and for replicating the message to tunnel endpoints of the replication group located in its respective segment of the second datacenter and (ii) a set of tunnel endpoints of the replication group located in a same segment of the second datacenter as the particular proxy endpoint.

19. The non-transitory machine readable medium of claim 18 , wherein the set of instructions for selecting a proxy endpoint for a specific segment of the particular datacenter comprises a set of instructions for randomly selecting a tunnel endpoint in the specific segment that is a member of the replication group.

20. The non-transitory machine readable medium of claim 12 , the program further comprising sets of instructions for:

receiving, at the particular tunnel endpoint, a list of members for the replication group at all segments of all datacenters; and

based on the received list:

selecting a proxy endpoint for each other segment in the particular datacenter, wherein the first set of proxy endpoints comprises the selected proxy endpoints for the different segments of the same datacenter; and

selecting a proxy endpoint for each other datacenter, wherein the second set of proxy endpoints comprises the selected proxy endpoints for the other datacenters.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (2)
Continuation 16445030 · Jun 18, 2019
Related Publication 20200403819A1 · Dec 24, 2020
Cited By (1)
US 12,323,260