IP Library Granted Patent US 11,729,095
Granted Patent B2
US 11,729,095 · App. 17/344,958 · Granted Aug 15, 2023

Allocating additional bandwidth to resources in a datacenter through deployment of dedicated gateways

Inventors: Ganesh Sadasivan (Fremont, CA); Chidambareswaran Raman (Sunnyvale, CA); Dileep K. Devireddy (San Jose, CA); Hongwei Zhu (Mountain View, CA); Sreenivas Duvvuri (San Ramon, CA)
Assignee: VMWARE, INC.
H04L45/38H04L45/24H04L45/42H04L45/44H04L45/586H04L45/72H04L45/74H04L47/762H04L47/781H04L47/801H04L47/803
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,729,095
App. No.
17/344,958
Granted
Aug 15, 2023
Kind
B2
Abstract

Some embodiments provide policy-driven methods for deploying edge forwarding elements in a public or private SDDC for tenants or applications. For instance, the method of some embodiments allows administrators to create different traffic groups for different applications and/or tenants, deploys edge forwarding elements for the different traffic groups, and configures forwarding elements in the SDDC to direct data message flows of the applications and/or tenants through the edge forwarding elements deployed for them. The policy-driven method of some embodiments also dynamically deploys edge forwarding elements in the SDDC for applications and/or tenants after detecting the need for the edge forwarding elements based on monitored traffic flow conditions.

Claims (49)

1. A method of deploying edge forwarding elements in a software defined datacenter (SDDC), the method comprising:

deploying, for a set of one or more applications, a first edge forwarding element to process data message flows associated with the application set, wherein the application set comprises a multi-component application with a plurality of components that execute on a plurality of computers;

detecting that the data message flows associated with the application set consume more than a threshold amount of bandwidth;

based on a policy that specifies allocation of additional bandwidth for data message flows associated with the application set when the data message flows consume more than the threshold amount, determining that additional bandwidth needs to be allocated for the data message flows associated with the application set in response to said detecting; and

deploying, for the application set, a second edge forwarding element to process at least a portion of the data message flows associated with the application set in order to allocate more bandwidth to the application set,

wherein before the deployment of the second edge forwarding element, the first edge forwarding element processes all the data message flows of each component of the application,

wherein after the deployment of the second edge forwarding element, the first edge forwarding element processes the data message flows of a first component of the application while the second edge forwarding element processes the data message flows of a second component of the application.

2. The method of claim 1 , wherein deploying the first and second edge forwarding elements comprises deploying the first and second edge forwarding elements on different devices in the SDDC.

3. The method of claim 2 , wherein the different devices are first and second host computers on which the first and second edge forwarding elements execute.

4. The method of claim 1 , wherein said deploying, detecting, and determining operations are performed by a set of one or more controllers.

5. A method of deploying edge forwarding elements in a software defined datacenter (SDDC), the method comprising:

deploying, for a set of one or more applications, a first edge forwarding element to process data message flows associated with the application set, wherein the application set comprises a first application and a second application different from the first application, the first application implemented by a plurality of application instances executing on a first plurality of host computers to perform a common set of operations of the first application and the second application implemented by a plurality of application instances executing on a second plurality of host computers to perform a common set of operations of the second application;

detecting that the data message flows associated with the application set consume more than a threshold amount of bandwidth;

based on a policy that specifies allocation of additional bandwidth for data message flows associated with the application set when the data message flows consume more than the threshold amount, determining that additional bandwidth needs to be allocated for the data message flows associated with the application set in response to said detecting;

deploying, for the application set, a second edge forwarding element to process at least a portion of the data message flows associated with the application set in order to allocate more bandwidth to the application set,

wherein before the deployment of the second edge forwarding element, the first edge forwarding element processes all the data message flows of all of the application instances of the first and second applications,

wherein after the deployment of the second edge forwarding element, the first edge forwarding element processes the data message flows of the application instances of the first application while the second edge forwarding element processes the data message flows of the application instances of the second application.

6. A method of deploying edge forwarding elements in a software defined datacenter (SDDC), the method comprising:

deploying, for a set of one or more applications, a first edge forwarding element to process data message flows associated with the application set, wherein the application set comprises only one application that is implemented by a plurality of application instances executing on a plurality of host computers, all application instances performing a common set of operations of the application;

detecting that the data message flows associated with the application set consume more than a threshold amount of bandwidth;

based on a policy that specifies allocation of additional bandwidth for data message flows associated with the application set when the data message flows consume more than the threshold amount, determining that additional bandwidth needs to be allocated for the data message flows associated with the application set in response to said detecting;

deploying, for the application set, a second edge forwarding element to process at least a portion of the data message flows associated with the application set in order to allocate more bandwidth to the application set,

wherein before the deployment of the second edge forwarding element, the first edge forwarding element processes all the data message flows of all the application instances of the application,

wherein after the deployment of the second edge forwarding element, the first edge forwarding element processes the data message flows of a first set of application instances of the application while the second edge forwarding element processes the data message flows of a second set of application instances of the application.

7. A method of deploying edge forwarding elements in a software defined datacenter (SDDC), the method comprising:

deploying, for a set of one or more applications, a first edge forwarding element to process data message flows associated with the application set;

detecting that the data message flows associated with the application set consume more than a threshold amount of bandwidth;

based on a policy that specifies allocation of additional bandwidth for data message flows associated with the application set when the data message flows consume more than the threshold amount, determining that additional bandwidth needs to be allocated for the data message flows associated with the application set in response to said detecting; and

deploying, for the application set, a second edge forwarding element to process at least a portion of the data message flows associated with the application set in order to allocate more bandwidth to the application set,

wherein allocated bandwidth is for data message flows between a subset of applications executing on a set of machines in a first network of the SDDC and machines external to the first network of the SDDC and the data message flows are data message flows entering or exiting the first network,

wherein deploying the second edge forwarding element comprises (i) configuring the second edge forwarding element to forward a first subset of the portion of the data message flows to forwarding elements in the external network and (ii) configuring a set of forwarding elements in the first network to forward the first subset of the data message flows from the set of machines of the first network to the second edge forwarding element.

8. The method of claim 7 , wherein the set of machines comprises at least virtual machines, containers, or Pods.

9. The method of claim 7 , wherein configuring the set of forwarding elements in the first network comprises configuring the set of forwarding elements to forward to the second edge forwarding element data message flows with (i) destination IP addresses that are associated with the second edge forwarding element and (ii) source IP addresses associated with the set of machines.

10. The method of claim 9 further comprising configuring a gateway of the SDDC to forward data message flows with destination IP addresses associated with the set of machines to the second edge forwarding element.

11. The method of claim 7 , wherein

the edge forwarding elements are edge routers; and

configuring the second edge forwarding element comprises configuring the second edge forwarding element to advertise to forwarding elements in the external network routes to the set of machines.

12. The method of claim 7 , wherein

the set of forwarding elements comprises a set of intervening routers; and

configuring the set of forwarding elements comprises providing next-hop forwarding rules to the set of intervening routers.

13. The method of claim 7 , wherein:

the set of forwarding elements comprises a set of intervening switches that implement a logical switch and

configuring the set of forwarding elements comprises providing forwarding rules to the set of intervening switches to direct the switches to forward data messages of the first set to the second edge forwarding element through a set of tunnels that connect the set of intervening switches to the second edge forwarding element.

14. The method of claim 7 , wherein

the SDDC is a public cloud datacenter having a second network;

the first network is a private network that is defined in the second network to implement a virtual private cloud (VPC) for the application set in the public cloud datacenter; and

deploying the second edge forwarding element comprises:

deploying a gateway in the public cloud datacenter to serve as the second edge forwarding element for the VPC; and

configuring a set of forwarding elements in the second network to forward a second subset of the portion of the data message flows from outside of the VPC to the deployed gateway.

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 Jun 11, 2021
From: SADASIVAN, GANESH; RAMAN, CHIDAMBARESWARAN; DEVIREDDY, DILEEP K.; ZHU, HONGWEI; DUVVURI, SREENIVAS
To: VMWARE, INC.
Reel/Frame 056511/0304 →
Continuity (2)
Provisional Application 63192560 · May 24, 2021
Related Publication 20220377021A1 · Nov 24, 2022
Cited By (4)
US 12,212,494 US 12,237,989 US 12,375,533 US 12,407,598