Defining and distributing routes for a virtual network
First Claim
1. A method of defining routes for data message flows associated with an entity through a virtual network defined over a plurality of public cloud datacenters, the method comprising:
- deploying, in a plurality of public cloud datacenters, a plurality of virtual machines (VMs) to operate as edge routers for the virtual network to connect machines outside of the public cloud datacenters;
based on a set of one or more optimization criteria, identifying different paths through different pairs of edge router VMs operating as ingress/egress routers in the public cloud datacenters for data message flows through the virtual network, wherein each path originates and terminates at machines associated with the entity that are located outside of the public cloud datacenters, and traverses at least (i) an ingress VM router deployed in a first public cloud datacenter and (ii) an egress VM router deployed in a second public cloud datacenter;
based on the identified paths, defining routing data for directing a plurality of edge router VMs deployed in a set of two or more public cloud datacenters to route the data message flows along the identified paths through the virtual network, wherein the routing data comprises a plurality of next hop routing records that identify a next hop along each identified path between an ingress VM router at an ingress public cloud datacenter of a data message flow to an egress VM router at an egress public cloud datacenter of the data message flow; and
distributing the routing data to the deployed edge router VMs.
3 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments establish for an entity a virtual network over several public clouds of several public cloud providers and/or in several regions. In some embodiments, the virtual network is an overlay network that spans across several public clouds to interconnect one or more private networks (e.g., networks within branches, divisions, departments of the entity or their associated datacenters), mobile users, and SaaS (Software as a Service) provider machines, and other web applications of the entity. The virtual network in some embodiments can be configured to optimize the routing of the entity'"'"'s data messages to their destinations for best end-to-end performance, reliability and security, while trying to minimize the routing of this traffic through the Internet. Also, the virtual network in some embodiments can be configured to optimize the layer 4 processing of the data message flows passing through the network.
-
Citations
18 Claims
-
1. A method of defining routes for data message flows associated with an entity through a virtual network defined over a plurality of public cloud datacenters, the method comprising:
-
deploying, in a plurality of public cloud datacenters, a plurality of virtual machines (VMs) to operate as edge routers for the virtual network to connect machines outside of the public cloud datacenters; based on a set of one or more optimization criteria, identifying different paths through different pairs of edge router VMs operating as ingress/egress routers in the public cloud datacenters for data message flows through the virtual network, wherein each path originates and terminates at machines associated with the entity that are located outside of the public cloud datacenters, and traverses at least (i) an ingress VM router deployed in a first public cloud datacenter and (ii) an egress VM router deployed in a second public cloud datacenter; based on the identified paths, defining routing data for directing a plurality of edge router VMs deployed in a set of two or more public cloud datacenters to route the data message flows along the identified paths through the virtual network, wherein the routing data comprises a plurality of next hop routing records that identify a next hop along each identified path between an ingress VM router at an ingress public cloud datacenter of a data message flow to an egress VM router at an egress public cloud datacenter of the data message flow; and distributing the routing data to the deployed edge router VMs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory machine readable medium storing a program for defining routes for data message flows associated with an entity through a virtual network defined over a plurality of public cloud datacenters, the program comprising sets of instructions for:
-
deploying, in a plurality of public cloud datacenters, a plurality of virtual machines (VMs) to operate as edge routers for the virtual network to connect machines outside of the public cloud datacenters; based on a set of one or more optimization criteria, identifying different paths through different pairs of edge router VMs operating as ingress/egress routers in the public cloud datacenters for data message flows through the virtual network, wherein each path originates and terminates at machines associated with the entity that are located outside of the public cloud datacenters, and traverses at least (i) an ingress VM router deployed in a first public cloud datacenter and (ii) an egress VM router deployed in a second public cloud datacenter; based on the identified paths, defining routing data for directing a plurality of edge router VMs deployed in a set of two or more public cloud datacenters to route the data message flows along the identified paths through the virtual network, wherein the routing data comprises a plurality of next hop routing records that identify a next hop along each identified path between an ingress VM router at an ingress public cloud datacenter of a data message flow to an egress VM router at an egress public cloud datacenter of the data message flow; and distributing the routing data to the deployed edge router VMs. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification