IP Library Granted Patent US 12695699
Granted Patent B2
US 12695699 · App. 18/651,383 · Granted Jul 28, 2026

Gateway migration based on resource consumption

Inventors: Gaurav Jindal (Pune, IN); Chandan Ghosh (Bengaluru, IN); Neeraj Mantri (Pune, IN)
Assignee: VMware LLC
H04L45/76H04L43/16H04L45/586
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 12695699
App. No.
18/651,383
Granted
Jul 28, 2026
Kind
B2
Abstract

Some embodiments provide a novel method for configuring edge routers in a first network. The method configures on a first compute node of the first network (1) a first higher-level edge router and (2) a set of lower-level edge routers. Each lower-level edge router is configured for a different set of subnetworks defined in the first network and is connected to an external second network through the first higher-level edge router. The method detects a condition that requires a particular lower-level edge router for a particular subnetwork to be moved to another compute node. The method configures the particular lower-level edge router to operate on a second compute node below a second higher-level edge router operating on the second compute node to connect the particular lower-level edge router to the external second network.

Claims (37)

1 . A method for configuring edge routers in a first network, the method comprising:

configuring on a first compute node of the first network (i) a first higher-level edge router and (ii) a set of lower-level edge routers, each lower-level edge router configured for a different set of subnetworks defined in the first network and connected to an external second network through the first higher-level edge router;

detecting a condition that requires a particular lower-level edge router for a particular subnetwork to be moved to another compute node;

configuring the particular lower-level edge router to operate on a second compute node below a second higher-level edge router operating on the second compute node to connect the particular lower-level edge router to the external second network; and

receiving configuration data for deploying an additional lower-level edge router in the first network; and

examining load on the first and second compute nodes to determine on which compute node to deploy the additional lower-level edge router.

2 . The method of claim 1 , wherein the first network is an underlay network and the different sets of subnetworks are different overlay networks.

3 . The method of claim 1 , wherein the first network is an overlay network of a first virtual private cloud (VPC) that is defined in a set of one or more datacenters of a cloud, and the different sets of subnetworks are other overlay networks defined for other VPCs defined in the datacenter set.

4 . The method of claim 1 , wherein the first and second compute nodes are first and second machines executing on first and second host computers.

5 . The method of claim 4 , wherein the machines are virtual machines (VMs).

6 . The method of claim 4 , wherein the machines are pods.

7 . The method of claim 1 , wherein the first and second compute nodes are first and second host computers.

8 . The method of claim 7 , wherein each higher-level edge router and each lower-level edge router executes as a machine on its respective host computer.

9 . The method of claim 1 , wherein each lower-level edge router is a different lower-level edge router for a different tenant.

10 . The method of claim 1 , wherein the first and second higher-level edge routers are Tier-0 (T0) gateways, and the set of lower-level edge routers is a set of Tier-1 (T1) gateways.

11 . The method of claim 1 , wherein the first and second higher-level edge routers are gateways, and the set of lower-level edge routers is a set of virtual routing and forwarding (VRF) instances.

12 . The method of claim 1 , wherein configuring the particular lower-level edge router to operate on the second compute node comprises migrating the particular lower-level edge router from the first compute node to the second compute node.

13 . The method of claim 1 , wherein detecting the condition comprises:

monitoring load on the first higher-level edge router by the set of lower-level edge routers; and

determining that the load on the first higher-level edge router has exceeded a particular threshold.

14 . The method of claim 1 , wherein detecting the condition comprises:

monitoring load on the first compute node by the set of lower-level edge routers; and

determining that the load on the first compute node has exceeded a particular threshold.

15 . The method of claim 1 further comprising:

receiving configuration data for deploying an additional lower-level edge router in the first network; and

examining load on the first and second compute nodes to determine on which compute node to deploy the additional lower-level edge router.

16 . The method of claim 1 further comprising, after determining that the load on the first compute node will not exceed a particular threshold if the additional lower-level edge router is configured on the first compute node, configuring the additional lower-level edge router to operate on the first compute node below the first higher-level edge router operating on the first compute node to connect the additional lower-level edge router to the external second network.

17 . The method of claim 1 further comprising, after determining (i) that the load on the first compute node will exceed a particular threshold if the additional lower-level edge router is configured on the first compute node and (ii) that the load on the second compute node will not exceed the particular threshold if the additional lower-level edge router is configured on the second compute node, configuring the additional lower-level edge router to operate on the second compute node below the second higher-level edge router operating on the second compute node to connect the additional lower-level edge router to the external second network.

18 . The method of claim 1 further comprising, after determining that the load on the first compute node and the load on the second compute node will exceed a particular threshold if the additional lower-level edge router is respectively configured on the first compute node or the second compute node:

deploying a third higher-level edge router on a third compute node; and configuring the additional lower-level edge router to operate on the third compute node below the third higher-level edge router operating on the third compute node to connect the additional lower-level edge router to the external second network.

19 . The method of claim 1 , wherein the first and second higher-level edge routers exchange a first plurality of data message flows between a plurality of machines of the first network and the external second network, and the set of lower-level edge routers exchange a second plurality of data message flows between the plurality of machines of the first network.

20 . A non-transitory machine readable medium storing a program for execution by at least one processing unit for configuring edge routers in a first network, the program comprising sets of instructions for:

configuring on a first compute node of the first network (i) a first higher-level edge router and (ii) a set of lower-level edge routers, each lower-level edge router configured for a different set of subnetworks defined in the first network and connected to an external second network through the first higher-level edge router;

detecting a condition that requires a particular lower-level edge router for a particular subnetwork to be moved to another compute node;

configuring the particular lower-level edge router to operate on a second compute node below a second higher-level edge router operating on the second compute node to connect the particular lower-level edge router to the external second network; and

receiving configuration data for deploying an additional lower-level edge router in the first network; and

examining load on the first and second compute nodes to determine on which compute node to deploy the additional lower-level edge router.