IP Library Granted Patent US 11,700,196
Granted Patent B2
US 11,700,196 · App. 17/240,890 · Granted Jul 11, 2023

High performance software-defined core network

Inventors: Nithin Michael (San Francisco, CA); Ao Tang (San Francisco, CA); Victor de Souza Lima e Silva (San Francisco, CA); Thiago Sousa Santos (San Francisco, CA); Ning Wu (San Francisco, CA); Archit Baweja (San Francisco, CA); Ki Suh Lee (San Francisco, CA); Yao Wang (San Francisco, CA); Andrey Gushchin (San Francisco, CA); Sakethnath Are (San Francisco, CA)
Assignee: VMWARE, INC.
H04L45/22H04L43/0864H04L43/0876H04L45/24H04L45/745
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,700,196
App. No.
17/240,890
Granted
Jul 11, 2023
Kind
B2
Abstract

A system comprising nodes coupled to a network including virtual links in an overlay network provisioned over an underlay network. The system includes a virtual machine (VM) provisioned at a node and coupled to the network. The VM is configured to receive feedback data of link conditions, and use the feedback data to dynamically determine and adapt an optimal route through the network. The VM is configured to control routing of traffic flows using the optimal route. The routing includes split routing of a traffic flow from the node via two or more of the virtual links.

Claims (35)

1. A system comprising:

a plurality of nodes configured to form a plurality of overlay networks for a plurality of tenants, each overlay network comprising a set of virtual links and provisioned over an underlay network including servers of one or more public networks; and

a plurality of virtual routers (VRs) at each node, wherein each VR is deployed for a tenant of the plurality of tenants and configured to form the virtual links in the set of virtual links of the overlay network of the tenant, wherein at least one particular VR for at least one particular tenant includes a feedback control system comprising at least one objective function that characterizes the overlay network for the particular tenant, wherein the particular VR is configured to receive link state data of the set of virtual links of the overlay network of the particular tenant and to use the received link state data in the at least one objective function to define routes for traffic flows of the particular tenant.

2. The system of claim 1 , wherein:

each node includes a plurality of virtual machines (VMs);

each VM includes a VR of the plurality of VRs and corresponds to the tenant; and

each VR separately controls routing of traffic flows of the corresponding tenant to at least one next node along a routing path.

3. The system of claim 2 , wherein each VM is configured to isolate at least one of a control plane and a data plane of each tenant from the control or data plane of other tenants in the plurality of tenants.

4. The system of claim 2 , wherein the control of the routing of the tenant traffic flows comprises routing at least one traffic flow from an ingress node to an egress node of the plurality of nodes.

5. The system of claim 1 , wherein:

the set of virtual links associated with each VR utilizes the underlay network for delivery of the traffic flows of the VR's tenant; and

the set of virtual links of each VR is configured to form a private tenant network for the VR's tenant that is isolated from private networks defined for other tenants by other VRs in order to maintain the separation of the traffic flows of the different tenants through the underlay network.

6. The system of claim 1 , wherein the particular VR is configured (i) to apply the objective function to the link state data and generate a link weight for each link of the set of links and (ii) to use the link weights to identify routes for the traffic flows of the VR's tenant.

7. The system of claim 6 , wherein the particular VR periodically receives update link state data and continually adapts the routes that it defines based on changes in the link state data as processed by the objective function.

8. The system of claim 1 , wherein each VR of a plurality of VRs includes the feedback control system comprising the at least one objective function that is used to define routes through the VR's corresponding overlay network.

9. The system of claim 1 , wherein the defined routes include (i) at least multiple paths to the same destination in the overlay network for the VR's tenant and (ii) at least one shortest path to another destination in the overlay network for the VR's tenant.

10. The system of claim 1 , wherein the links state data includes at least one of latency, jitter, packet loss, throughput, utilization, link state, and link status.

11. The system of claim 1 , wherein

each VR is configured to maintain configuration data for the VR's corresponding tenant and to use the configuration data to define routes for traffic flows of the VR's corresponding tenant; and

the configuration data includes traffic class configuration data that identifies traffic classes, and configures routing behavior corresponding to each traffic class.

12. The system of claim 1 , wherein:

each node includes a plurality of virtual machines (VMs);

each VM includes a VR of the plurality of VRs and corresponds to the tenant; and

each VM includes a monitoring agent coupled to the VR, wherein the monitoring agent is configured to collect data representing the link state data of the set of virtual links of the overlay network.

13. The system of claim 12 , wherein each monitoring agent is configured to collect link state data from at least one of a plurality of monitoring agents and a plurality of VRs of the plurality of VMs.

14. The system of claim 12 , wherein each monitoring agent is configured to collect the link state data using probe signals exchanged with monitoring agents of other VMs in the plurality of VMs.

15. A method comprising:

deploying a plurality of virtual routers (VRs) at each node of a plurality of nodes that form a plurality of overlay networks for a plurality of tenants, wherein each VR is deployed for a tenant of the plurality of tenants, each overlay network comprising a set of virtual links and provisioned over an underlay network including servers of a public network; and

configuring each VR to use the virtual links in the set of virtual links of the overlay network of the tenant, wherein at least one particular VR for at least one particular tenant includes a feedback control system comprising at least one objective function that characterizes the overlay network for the particular tenant,

wherein configuring each VR comprises configuring the particular VR to receive link state data of the set of virtual links of the overlay network of the particular tenant and to use the received link state data in the at least one objective function to define routes for traffic flows of the particular tenant.

16. The method of claim 15 , wherein each node includes a plurality of virtual machines (VMs), each VM includes a VR of the plurality of VRs and corresponds to the tenant, and each VR separately controls routing of traffic flows of the corresponding tenant to at least one next node along a routing path.

17. The method of claim 15 , wherein the set of virtual links associated with each VR utilizes the underlay network for delivery of the traffic flows of the VR's tenant, the method further comprising configuring the set of virtual links of each VR to form a private tenant network for the VR's tenant that is isolated from private networks defined for other tenants by other VRs in order to maintain the separation of the traffic flows of the different tenants through the underlay network.

18. The method of claim 15 , wherein configuring each VR further comprises configuring the VR to maintain configuration data for the VR's corresponding tenant and to use the configuration data to define routes for traffic flows of the VR's corresponding tenant, the configuration data including traffic class configuration data that identifies traffic classes, and configures routing behavior corresponding to each traffic class.

19. The system of claim 15 , wherein each node includes a plurality of virtual machines (VMs), each VM includes a VR of the plurality of VRs and corresponds to the tenant, each VM includes a monitoring agent coupled to the VR, and the monitoring agent is configured to collect data representing the link state data of the set of virtual links of the overlay network.

20. The system of claim 19 , wherein each monitoring agent is configured to collect link state data from at least one of a plurality of monitoring agents and a plurality of VRs of the plurality of VMs.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Cited By (31)
US 12,237,990 US 12,250,114 US 12,255,797 US 12,261,777 US 12,267,364 US 12,316,524 US 12,335,131 US 12,355,655 US 12,375,403 US 12,401,654 US 12,425,332 US 12,425,335 US 12,425,347 US 12,425,395 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,652,217 US 12,659,719 US 12,695,763