IP Library Granted Patent US 10,778,528
Granted Patent B2
US 10,778,528 · App. 15/707,124 · Granted Sep 15, 2020

Method and system of connecting to a multipath hub in a cluster

Inventors: Ajit Ramachandra Mayya (Saratoga, CA); Parag Pritam Thakore (Los Gatos, CA); Stephen Craig Connors (San Jose, CA); Steven Michael Woo (Los Altos, CA); Sunil Mukundan (Chennai, IN); Nitin Kumar Ananda (San Jose, CA)
Assignee: NICIRA, INC.
H04L41/12H04L12/4633H04L41/0803H04L43/0811H04L43/0876H04L47/125H04L63/029H04L63/0272
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 10,778,528
App. No.
15/707,124
Granted
Sep 15, 2020
Kind
B2
Abstract

In one aspect, a computerized method useful for connecting to a multipath hub in a cluster includes the step of, with a gateway in a same network as the cluster, receiving, from a branch edge, a request to connect to a logical identifier (ID) of the multipath hub. The gateway recognizes a logical ID representing a cluster. The gateway determines a least-loaded edge in the cluster to be the multipath hub. The gateway returns a connectivity information for the multipath hub. The branch edge configures a tunnel to the multipath hub.

Claims (58)

1. A method for connecting an edge device of a branch network to a multipath hub in an enterprise datacenter, the method comprising:

at an access node for a cluster comprising a plurality of multipath hubs in the enterprise datacenter:

receiving, from the edge device of the branch network, a connection request to connect to the multipath hub cluster;

identifying a logical identifier in the connection request as an identifier representing the cluster;

selecting a particular multipath hub of the cluster to serve as a hub for traffic to and from the branch network; and

returning to the edge device a set of connectivity data identifying the particular multipath hub,

wherein the edge device uses the connectivity data to establish a tunnel between the edge device in the branch network and the particular multipath hub in the enterprise datacenter.

2. The method of claim 1 , wherein selecting the particular multipath hub comprises selecting a least-loaded available multipath hub in the cluster to be a multipath hub for the branch network.

3. The method of claim 2 , wherein:

selecting the least-loaded multipath hub comprises selecting an available multipath hub with a lowest edge utilization number; and

each available multipath hub has an edge utilization number computed based on at least one of a tunnel usage count percentage, a CPU usage percentage, and a memory usage percentage of the multipath hub.

4. The method of claim 3 , wherein a maximum value for the tunnel usage count percentage of a multipath hub is based on a model number of a hardware model of the multipath hub.

5. The method of claim 1 , wherein the edge device is a first edge device, the branch network is a first branch network, and the particular multipath hub is a first multipath hub, the method further comprising:

at the access node:

receiving, from a second edge device of a second branch network, another connection request to connect to the multipath hub cluster;

identifying a logical identifier in the other connection request as an identifier representing the cluster;

selecting a second multipath hub of the cluster to serve as a hub for traffic to and from the second branch network; and

returning to the second edge device a set of connectivity data identifying the second multipath hub;

wherein the second edge device uses the connectivity data to configure a tunnel between the second edge device in the second branch network and the second multipath hub in the enterprise datacenter.

6. The method of claim 5 , wherein when the first multipath hub determines that a data message received from the first edge device should be forwarded to the second branch network, the first multipath hub forwards the data message to the second multipath hub and the second multipath hub forwards the data message to the second edge device of the second branch network.

7. The method of claim 6 , wherein forwarding the data message from the first multipath hub to the second multipath hub comprises forwarding the data message from the first multipath hub to a physical forwarding element in the enterprise datacenter, wherein the physical forwarding element forwards the data message to the second multipath hub.

8. The method of claim 5 , wherein the first branch network is a first subnet of a third network and the second branch network is a second subnet of the third network.

9. The method of claim 8 , wherein the enterprise datacenter comprises a third subnet of the third network.

10. The method of claim 5 further comprising:

at the access node:

determining that the first edge device and the second edge device should connect directly;

sending to the first edge device a set of connectivity data identifying the second edge device; and

sending to the second edge device a set of connectivity data identifying the first edge device,

wherein the first and second edge devices use the sets of connectivity data identifying the first and second edge devices to establish a direct tunnel between the first edge device and the second edge device, wherein traffic between the first branch network and the second branch network is transmitted through the direct tunnel.

11. The method of claim 1 , wherein the enterprise datacenter comprises a plurality of physical datacenters.

12. The method of claim 1 , wherein the access node is a gateway to which both the edge device and the enterprise datacenter connect.

13. A non-transitory machine readable medium storing a program that, when executed by a set of processing units of a gateway device, connects an edge device of a branch network to a multipath hub in an enterprise datacenter, the program comprising sets of instructions for:

at an access node for a cluster comprising a plurality of multipath hubs in an enterprise datacenter:

receiving, from the edge device of the branch network, a connection request to connect to the multipath hub cluster;

identifying a logical identifier in the connection request as an identifier representing the cluster;

selecting a particular multipath hub of the cluster to serve as a hub for traffic to and from the branch network; and

returning to the edge device a set of connectivity data identifying the particular multipath hub;

wherein the edge device uses the connectivity data to establish a tunnel between the edge device in the branch network and the particular multipath hub in the enterprise datacenter.

14. The non-transitory machine readable medium of claim 13 , wherein the sets of instructions for selecting the particular multipath hub comprise sets of instructions for selecting a least-loaded available multipath hub in the cluster to be a multipath hub for the branch network.

15. The non-transitory machine readable medium of claim 14 , wherein:

the sets of instructions for selecting the least-loaded multipath hub comprise sets of instructions for selecting an available multipath hub with a lowest edge utilization number; and

each available multipath hub has an edge utilization number computed based on at least one of a tunnel usage count percentage, a CPU usage percentage, and a memory usage percentage of the multipath hub.

16. The non-transitory machine readable medium of claim 15 , wherein a maximum value for the tunnel usage count percentage of a multipath hub is based on a model number of a hardware model of the multipath hub.

17. The non-transitory machine readable medium of claim 13 , wherein the edge device is a first edge device, the branch network is a first branch network, and the particular multipath hub is a first multipath hub, the program further comprising sets of instructions for:

at the access node:

receiving, from a second edge device of a second branch network, another connection request to connect to the multipath hub cluster;

identifying a logical identifier in the other connection request as an identifier representing the cluster;

selecting a second multipath hub of the cluster to serve as a hub for traffic to and from the second branch network; and

returning to the second edge device a set of connectivity data identifying the second multipath hub;

wherein the second edge device uses the connectivity data to configure a tunnel between the second edge device in the second branch network and the second multipath hub in the enterprise datacenter.

18. The non-transitory machine readable medium of claim 17 , wherein when the first multipath hub determines that a data message received from the first edge device should be forwarded to the second branch network, the first multipath hub forwards the data message to the second multipath hub and the second multipath hub forwards the data message to the second edge device of the second branch network.

19. The non-transitory machine readable medium of claim 17 , the program further comprising sets of instructions for:

at the access node:

determining that the first edge device and the second edge device should connect directly;

sending to the first edge device a set of connectivity data identifying the second edge device; and

sending to the second edge device a set of connectivity data identifying the first edge device,

wherein the first and second edge devices use the sets of connectivity data identifying the first and second edge devices to establish a direct tunnel between the first edge device and the second edge device, wherein traffic between the first branch network and the second branch network is transmitted through the direct tunnel.

20. The non-transitory machine readable medium of claim 13 , wherein the enterprise datacenter comprises a plurality of physical datacenters.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2025
From: VMWARE, LLC
To: VELOCLOUD NETWORKS, LLC
Reel/Frame 072326/0693 →
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INADVERTENT DISCREPANCIES IN THE ASSIGNMENT PREVIOUSLY RECORDED ON REEL 044917 FRAME 0102. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Jun 18, 2018
From: VELOCLOUD NETWORKS, LLC
To: NICIRA, INC.
Reel/Frame 046129/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: VELOCLOUD NETWORKS, LLC
To: NICIRA, INC.
Reel/Frame 044917/0102 →
CHANGE OF NAME Recorded Jan 30, 2018
From: VELOCLOUD NETWORKS, INC.
To: VELOCLOUD NETWORKS, LLC
Reel/Frame 045195/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2017
From: MAYYA, AJIT RAMACHANDRA; CONNORS, STEPHEN CRAIG; WOO, STEVEN MICHAEL; THAKORE, PARAG PRITAM; MUKUNDAN, SUNIL; ANANDA, NITIN KUMAR
To: VELOCLOUD NETWORKS, INC.
Reel/Frame 043852/0738 →
Cited By (33)
US 12,218,800 US 12,218,845 US 12,237,990 US 12,250,114 US 12,261,777 US 12,267,364 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,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,719,782