IP Library Granted Patent US 11,121,985
Granted Patent B2
US 11,121,985 · App. 16/662,379 · Granted Sep 14, 2021

Defining different public cloud virtual networks for different entities based on different sets of measurements

Inventors: Israel Cidon (San Francisco, CA); Prashanth Venugopal (San Francisco, CA); Aran Bergman (Givatayim, IL); Chen Dar (Magshimim, IL); Alex Markuze (Ramat Gan, IL); Eyal Zohar (Shimshit, IL)
Assignee: VMWARE, INC.
H04L49/354H04L12/4633H04L12/4641H04L12/66H04L41/046H04L41/0803H04L41/0806H04L41/0813H04L41/142H04L43/026H04L43/045H04L43/06H04L43/08H04L43/0811H04L45/24H04L45/38H04L45/42H04L45/50H04L47/827H04L49/20H04L49/252H04L61/1511H04L67/10H04L67/101H04L67/1097H04L2012/562H04L2012/5612H04L2012/5623
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,121,985
App. No.
16/662,379
Granted
Sep 14, 2021
Kind
B2
Abstract

Some embodiments provide a novel method for deploying different virtual networks over several public cloud datacenters for different entities. For each entity, the method (1) identifies a set of public cloud datacenters of one or more public cloud providers to connect a set of machines of the entity, (2) deploys managed forwarding nodes (MFNs) for the entity in the identified set of public cloud datacenters, and then (3) configures the MFNs to implement a virtual network that connects the entity's set of machines across its identified set of public cloud datacenters. In some embodiments, the method identifies the set of public cloud datacenters for an entity by receiving input from the entity's network administrator. In some embodiments, this input specifies the public cloud providers to use and/or the public cloud regions in which the virtual network should be defined. Conjunctively, or alternatively, this input in some embodiments specifies actual public cloud datacenters to use.

Claims (52)

1. A method of creating a plurality of virtual networks over a set of two or more public cloud datacenters, the method comprising:

generating network measurements between different pairs of public cloud datacenters;

using a first set of measurements to define a first set of paths across a first subset of public cloud datacenters to connect a first set of machines of a first entity across the first subset of public cloud datacenters and using the first set of paths to configure a first set of forwarding elements operating in the first subset of public cloud datacenters exclusively for the first entity; and

using a second set of measurements to define a second set of paths across a second subset of public cloud datacenters to connect a second set of machines of a second entity across the second subset of public cloud datacenters and using the second set of paths to configure a second set of forwarding elements operating in the second subset of public cloud datacenters exclusively for the second entity,

wherein using the first and second sets of paths to configure the first and second sets of forwarding elements comprises providing next hop forwarding records to a set of controllers that configure the first and second sets of forwarding elements.

2. A method of creating a plurality of virtual networks over a set of two or more public cloud datacenters, the method comprising:

generating network measurements between different pairs of public cloud datacenters;

using a first set of measurements to define a first set of paths across a first subset of public cloud datacenters to connect a first set of machines of a first entity across the first subset of public cloud datacenters and using the first set of paths to configure a first set of forwarding elements operating in the first subset of public cloud datacenters exclusively for the first entity;

using a second set of measurements to define a second set of paths across a second subset of public cloud datacenters to connect a second set of machines of a second entity across the second subset of public cloud datacenters and using the second set of paths to configure a second set of forwarding elements operating in the second subset of public cloud datacenters exclusively for the second entity; and

before using each set of measurements:

receiving from the first entity an identification of the first subset of public cloud datacenters as a subset of public cloud datacenters over which the first entity wants to define a first virtual network; and

receiving from the second entity an identification of the second subset of public cloud datacenters as a subset of public cloud datacenters over which the second entity wants to define a second virtual network.

3. The method of claim 2 , wherein the first and second virtual networks are defined by respectively configuring the first and second sets of forwarding elements.

4. A method of creating a plurality of virtual networks over a set of two or more public cloud datacenters, the method comprising:

generating network measurements between different pairs of public cloud datacenters;

using a first set of measurements to define a first set of paths across a first subset of public cloud datacenters to connect a first set of machines of a first entity across the first subset of public cloud datacenters and using the first set of paths to configure a first set of forwarding elements operating in the first subset of public cloud datacenters exclusively for the first entity; and

using a second set of measurements to a define second set of paths across a second subset of public cloud datacenters to connect a second set of machines of a second entity across the second subset of public cloud datacenters and using the second set of paths to configure a second set of forwarding elements operating in the second subset of public cloud datacenters exclusively for the second entity,

wherein using the first and second sets of paths to configure the first and second sets of forwarding elements comprises using the first and second sets of paths to define first and second sets of next hop forwarding records for the first and second sets of forwarding elements, wherein the first and second sets of next hop forwarding records enable the first and second sets of forwarding elements to forward data messages to move along the first and seconds sets of paths through the first and second sets of public cloud datacenters.

5. A method of creating a plurality of virtual networks over a set of two or more public cloud datacenters, the method comprising:

generating network measurements between different pairs of public cloud datacenters;

using a first set of measurements to define a first set of paths across a first subset of public cloud datacenters to connect a first set of machines of a first entity across the first subset of public cloud datacenters and using the first set of paths to configure a first set of forwarding elements operating in the first subset of public cloud datacenters exclusively for the first entity; and

using a second set of measurements to define a second set of paths across a second subset of public cloud datacenters to connect a second set of machines of a second entity across the second subset of public cloud datacenters and using the second set of paths to configure a second set of forwarding elements operating in the second subset of public cloud datacenters exclusively for the second entity,

wherein using the first and second sets of measurements to define the first and second sets of paths comprises using the first and second sets of measurements to perform shortest path search processes that generate the first and second sets of paths.

6. The method of claim 5 , wherein using the first and second sets of measurements to perform shortest path search processes comprises using the first and second sets of measurements as weight values that are assigned to links that the shortest path search process defines to represent connections between different public cloud pairs.

7. The method of claim 6 , wherein the network measurements include measurements quantifying loss or delay experienced on connections between pairs of public cloud datacenters.

8. A method of creating a plurality of virtual networks over a set of two or more public cloud datacenters, the method comprising:

generating network measurements between different pairs of public cloud datacenters, wherein generating network measurements comprises generating first and second types of measurements between each pair of public cloud datacenters;

using a first set of measurements to define a first set of paths across a first subset of public cloud datacenters to connect a first set of machines of a first entity across the first subset of public cloud datacenters and using the first set of paths to configure a first set of forwarding elements operating in the first subset of public cloud datacenters exclusively for the first entity; and

using a second set of measurements to define a second set of paths across a second subset of public cloud datacenters to connect a second set of machines of a second entity across the second subset of public cloud datacenters and using the second set of paths to configure a second set of forwarding elements operating in the second subset of public cloud datacenters exclusively for the second entity,

wherein using the first sets of measurements to define the first set of paths comprises using the first type of measurements to define the first set of paths for the first entity;

wherein using the second sets of measurements to define the second set of paths comprises using the second type of measurements to define the first set of paths for the first entity.

9. The method of claim 8 , wherein the first type of measurements quantifies delays experienced on connections between pairs of public cloud datacenters, while the second type of measurements quantifies loss experienced on connections between pairs of public cloud datacenters.

10. The method of claim 8 , wherein

the first type of measurements is one of loss, delay, jitter and reliability associated with the connections between pairs of public cloud datacenters, and

the second type of measurements is also one of loss, delay, jitter and reliability associated with the connections between pairs of public cloud datacenters, but is not the same as the first type of measurements.

11. The method of claim 8 further comprising:

receiving an identification of the first type of measurements from the first entity; and

receiving an identification of the second type of measurements from the second entity;

wherein the first and second types of measurements are used to define the first and second sets of paths for the first and second entities based on the received identifications.

12. The method of claim 1 , wherein at least one pair of public cloud datacenters are two public cloud datacenters in a same region, while another pair of public cloud datacenters are two public cloud datacenters in two different regions.

13. The method of claim 1 , wherein at least one pair of public cloud datacenters are two public cloud datacenters.

14. The method of claim 1 , wherein at least one of the subsets of public cloud datacenters comprises public cloud datacenters operated by different public cloud providers.

15. The method of claim 14 , wherein the other subset of public cloud datacenters comprises public cloud datacenters operated by one public cloud provider.

16. The method of claim 1 , wherein the forwarding elements comprise routers executing as machines in the public cloud datacenters.

17. A method of creating a plurality of virtual networks over a set of two or more public cloud datacenters, the method comprising:

generating network measurements between different pairs of public cloud datacenters, wherein generating the measurements comprises:

deploying measurement machines in the public cloud datacenters;

directing the measurement machines to exchange messages;

collecting statistics regarding the exchanged messages;

generating the measurements based on the collected statistics;

using a first set of measurements to define a first set of paths across a first subset of public cloud datacenters to connect a first set of machines of a first entity across the first subset of public cloud datacenters and using the first set of paths to configure a first set of forwarding elements operating in the first subset of public cloud datacenters exclusively for the first entity; and

using a second set of measurements to define a second set of paths across a second subset of public cloud datacenters to connect a second set of machines of a second entity across the second subset of public cloud datacenters and using the second set of paths to configure a second set of forwarding elements operating in the second subset of public cloud datacenters exclusively for the second entity.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2019
From: CIDON, ISRAEL; BERGMAN, ARAN; DAR, CHEN; ZOHAR, EYAL; VENUGOPAL, PRASHANTH; MARKUZE, ALEX
To: VMWARE, INC.
Reel/Frame 050819/0596 →
Cited By (32)
US 12,316,524 US 12,335,131 US 12,355,655 US 12,368,676 US 12,375,403 US 12,401,544 US 12,425,332 US 12,425,335 US 12,425,347 US 12,425,395 US 12,445,419 US 12,457,204 US 12,483,968 US 12,489,672 US 12,506,678 US 12,507,120 US 12,507,148 US 12,507,153 US 12,526,183 US 12,549,465 US 12,563,438 US 12,568,039 US 12,587,468 US 12,603,827 US 12,603,848 US 12,632,330 US 12,634,213 US 12,634,350 US 12,652,217 US 12,659,719 US 12,699,639 US 12,712,727