IP Library Granted Patent US 11,979,325
Granted Patent B2
US 11,979,325 · App. 17/568,795 · Granted May 7, 2024

Dynamic SD-WAN hub cluster scaling with machine learning

Inventors: Gopa Kumar (Milpitas, CA); Navaneeth Krishnan Ramaswamy (Chennai, IN); Murtaza Zafer (San Jose, CA)
Assignee: VMware LLC
H04L47/12H04L41/147H04L41/16H04L43/02
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,979,325
App. No.
17/568,795
Granted
May 7, 2024
Kind
B2
Abstract

Some embodiments of the invention provide a method of dynamically scaling a hub cluster in a software-defined wide area network (SD-WAN) based on particular traffic statistics, the hub cluster being located in a datacenter of the SD-WAN and allowing branch sites of the SD-WAN to access resource of the datacenter by connecting to the hub cluster. A controller of the SD-WAN receives, from the hub cluster, traffic statistics centrally captured at the hub cluster. The controller then analyzes these statistics to identify traffic load fluctuations, and determines that a number of hubs in the hub cluster should be adjusted based on the identified fluctuations. The controller adjusts the number of hubs in the hub cluster based on the determination.

Claims (31)

1. A method of dynamically scaling a hub cluster in a software-defined wide area network (SD-WAN) based on particular traffic statistics, wherein the hub cluster is located in a datacenter of the SD-WAN and allows a plurality of branch sites of the SD-WAN to access resources of the datacenter by connecting to the hub cluster, the method comprising:

at a controller of the SD-WAN:

receiving, from the hub cluster, a plurality of traffic statistics that were captured at the hub cluster;

analyzing the plurality of traffic statistics to identify traffic load fluctuations, said analyzing comprising identifying repetitive load fluctuations based on the received plurality of traffic statistics and based on historical traffic statistics previously received by the controller from the hub cluster, said analyzing comprising using a set of one or more machine-trained engines to identify the load fluctuations by subtracting cyclical and seasonal parameters from time-series data derived from the received plurality of traffic statistics and the historical traffic statistics;

using the identified load fluctuations to predict traffic loads, and based on the predicted traffic load, adjusting a number of hubs in the hub cluster.

2. The method of claim 1 , wherein the plurality of traffic statistics is a first plurality of traffic statistics, the method further comprising receiving a second plurality of traffic statistics from the plurality of branch sites, wherein the second plurality of traffic statistics were captured at each branch site in the plurality of branch sites.

3. The method of claim 2 , wherein each branch site in the plurality of branch sites comprises an edge forwarding node, wherein the second plurality of traffic statistics captured at each branch site in the plurality of branch sites were captured by the edge forwarding nodes at the plurality of branch sites.

4. The method of claim 1 , wherein the set of one or more machine-trained engines comprises (i) a learning engine for identifying real-time, cyclical, and seasonal load fluctuations based on received traffic statistics and (ii) a decision-making and evaluation engine for computing overall flow performance to determine whether to adjust the number of hubs in the hub cluster.

5. The method of claim 4 , wherein the plurality of received traffic statistics is a plurality of real-time traffic statistics, wherein the learning engine and decision-making and evaluation engine are trained on the historical traffic statistics previously received by the controller.

6. The method of claim 5 , wherein the learning engine identifies the cyclical and seasonal load fluctuations by using a mathematical model to analyze the plurality of real-time traffic statistics along with the historical traffic statistics.

7. The method of claim 1 , wherein using the identified traffic load fluctuations to predict traffic loads further comprises (i) predicting the traffic loads over a particular time interval and (ii) determining a number of hubs needed to handle the predicted traffic load.

8. The method of claim 1 , wherein adjusting the number of hubs in the hub cluster further comprises one of increasing the number of hubs in the hub cluster and decreasing the number of hubs in the hub cluster.

9. The method of claim 1 , wherein the traffic statistics comprise traffic load statistics and flow performance statistics.

10. The method of claim 9 , wherein the traffic load statistics comprise at least (i) a number of branch sites, (ii) rate of flow creation per branch site, (iii) total number of flows per branch site, (iv) flows that are further categorized by application, (v) average bandwidth per flow, (vi) total number of fat flows per branch, and (vii) average bandwidth per fat flow.

11. The method of claim 9 , wherein the flow performance statistics comprise at least (i) packet re-transmits per flow, (ii) packet drops per flow, and (iii) mean opinion scores (MOS) of real-time flows.

12. A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for dynamically scaling a hub cluster in a software-defined wide area network (SD-WAN) based on particular traffic statistics, wherein the hub cluster is located in a datacenter of the SD-WAN and allows a plurality of branch sites of the SD-WAN to access resources of the datacenter by connecting to the hub cluster, the program comprising sets of instructions for:

at a controller of the SD-WAN:

receiving, from the hub cluster, a plurality of traffic statistics that were captured at the hub cluster;

analyzing the plurality of traffic statistics to identify traffic load fluctuations, said analyzing comprising identifying repetitive load fluctuations based on the received plurality of traffic statistics and based on historical traffic statistics previously received by the controller from the hub cluster, said analyzing comprising using a set of one or more machine-trained engines to identify the load fluctuations by subtracting cyclical and seasonal parameters from time-series data derived from the received plurality of traffic statistics and the historical traffic statistics;

using the identified load fluctuations to predict traffic loads, and based on the predicted traffic load, adjusting a number of hubs in the hub cluster.

13. The non-transitory machine readable medium of claim 12 , wherein the plurality of traffic statistics is a first plurality of traffic statistics, the program further comprising a set of instructions for receiving a second plurality of traffic statistics from the plurality of branch sites, wherein the second plurality of traffic statistics were captured at each branch site in the plurality of branch sites.

14. The non-transitory machine readable medium of claim 13 , wherein each branch site in the plurality of branch sites comprises an edge forwarding node, wherein the second plurality of traffic statistics captured at each branch site in the plurality of branch sites were captured by the edge forwarding nodes at the plurality of branch sites.

15. The non-transitory machine readable medium of claim 12 , wherein the set of one or more machine-trained engines controller comprises (i) a learning engine for identifying real-time, cyclical, and seasonal load fluctuations based on received traffic statistics and (ii) a decision-making and evaluation engine for computing overall flow performance to determine whether to adjust the number of hubs in the hub cluster.

16. The non-transitory machine readable medium of claim 15 , wherein the plurality of received traffic statistics is a plurality of real-time traffic statistics, wherein the learning engine and decision-making and evaluation engine are trained on the historical traffic statistics previously received by the controller.

17. The non-transitory machine readable medium of claim 16 , wherein the learning engine identifies the cyclical and seasonal load fluctuations by using a mathematical model to analyze the plurality of real-time traffic statistics along with the historical traffic statistics.

18. The non-transitory machine readable medium of claim 12 ,

wherein the set of instructions for using the identified traffic load fluctuations to predict traffic loads further comprises a set of instructions for (i) predicting the traffic loads over a particular time interval and (ii) determining a number of hubs needed to handle the predicted traffic load, and

wherein adjusting the number of hubs in the hub cluster further comprises one of increasing the number of hubs in the hub cluster and decreasing the number of hubs in the hub cluster.

19. The non-transitory machine readable medium of claim 12 , wherein the traffic statistics comprise traffic load statistics and flow performance statistics.

20. The non-transitory machine readable medium of claim 19 , wherein the traffic load statistics comprise at least (i) a number of branch sites, (ii) rate of flow creation per branch site, (iii) total number of flows per branch site, (iv) flows that are further categorized by application, (v) average bandwidth per flow, (vi) total number of fat flows per branch, and (vii) average bandwidth per fat flow.

21. The non-transitory machine readable medium of claim 19 , wherein the flow performance statistics comprise at least (i) packet re-transmits per flow, (ii) packet drops per flow, and (iii) mean opinion scores (MOS) of real-time flows.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2025
From: VMWARE, LLC
To: VELOCLOUD NETWORKS, LLC
Reel/Frame 072326/0693 →
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2022
From: KUMAR, GOPA; RAMASWAMY, NAVANEETH KRISHNAN; ZAFER, MURTAZA
To: VMWARE, INC.
Reel/Frame 058555/0017 →