IP Library Granted Patent US 12,425,329
Granted Patent B2
US 12,425,329 · App. 18/625,150 · Granted Sep 23, 2025

Multi-cloud site-site secure connectivity as a service

Inventors: Vijay Chander (San Ramon, CA); Raghu Ram Duddumpudi (Bangalore, IN); Ganesh Narayanaswamy (Sunnyvale, CA); Sunil Kumar (San Jose, CA); Michael Chan (San Jose, CA); Praveen Kumar Patnala (Santa Clara, CA)
Assignee: Cisco Technology, Inc.
H04L45/04H04L45/38H04L63/20
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 12,425,329
App. No.
18/625,150
Granted
Sep 23, 2025
Kind
B2
Abstract

The present technology provides intercloud connectivity as a service by discovering components of the organization's deployment in various sites, irrespective of the cloud provider, such that two sites can merely be selected along with a few standard options, and the controller can handle the complexity of instantiating a tunnel between the cloud sites automatically. Further, the controller can monitor the health of one or more tunnels between the cloud sites to automatically scale bandwidth up or down.

Claims (69)

1. A method comprising:

receiving a first input at a user interface to initiate an automatic set up of tunnel for communication between a first site and a second site;

receiving second inputs in the user interface to select devices populated in a list for selection, wherein the second inputs are effective in selecting the devices at the first site and the second site which will form respective connection points for a site-to-site connection, wherein the devices are routers or gateways to which a respective router is associated;

receiving third inputs in the user interface, wherein the third inputs are effective to input settings for use in connecting the selected devices at the first site and the second site;

causing the site-to-site connection to be created between one or more network sites using the settings, wherein the site-to-site connection is a tunnel between the selected devices at the first and second sites, wherein the creating the site-to-site connection includes interacting with the first site using first site-specific protocols and configurations and interacting with the second site using second site-specific protocols and the configurations.

2. The method of claim 1 , wherein the causing the site-to-site connection to be created includes optimizing use of existing devices, the method comprising:

determining that multiple instances of at least one of the selected devices exist at the first site;

causing creation a first site-to-site connection using a first instance of the multiple instances of at least one of the selected devices to create a first tunnel to the second site; and

causing creation of a second site-to-site connection using a second instance of the multiple instances of at least one of the selected devices to create a second tunnel to a third site.

3. The method of claim 1 , wherein the devices are populated in the list for selection by a controller having access to the one or more network sites.

4. The method of claim 1 , the method further comprising:

generating a template for site-to-site connections between the first site and the second site, the template is created from the input settings for use in connecting the selected devices at the first site and the second site, the first site-specific protocols and configurations, and the second site-specific protocols and configurations.

5. The method of claim 4 , the method further comprising:

automatically configuring a network address translation (NAT) by a controller to prevent conflicts from overlapping IP addresses at the first site and the second site, wherein the NAT is included in the template for site-to-site connections between the first site and the second site.

6. The method of claim 4 , the method further comprising:

receiving one or more metrics from the devices at the first site and the second site, wherein the one or more metrics provide information about a health and a load for an existing instance of tunnel between the selected devices at the first and second sites;

analyzing a first sample of the one or more metrics to determine a trend that traffic will exceed a threshold level; and

dynamically creating a second tunnel between the first site and the second site using the template based on a determination of the trend that the traffic will exceed the threshold level.

7. The method of claim 1 , wherein settings for use in connecting the selected devices at the first site and the second site include a selection of BGP, and/or IP Sec.

8. The method of claim 1 , the method further comprising:

receiving one or more metrics from the devices at the first site and the second site, wherein the one or more metrics provide information about a health and a load for an existing instance of the tunnel between the selected devices at the first and second sites;

analyzing a sample of the one or more metrics to determine a trend that traffic will fall below a threshold level; and

dynamically removing the existing instance of the tunnel based on a determination of the trend that the traffic will fall below the threshold level.

9. The method of claim 8 , the method further comprising:

determining whether any traffic within the existing instance of the tunnel is stateless traffic;

routing traffic through a remaining tunnel when the traffic is stateless traffic; and

removing the existing instance of the tunnel from an ECMP route table prior to tearing down the tunnel when the traffic is stateful traffic.

10. The method of claim 1 , the method further comprising:

receiving one or more metrics from the devices at the first site and the second site, wherein the one or more metrics provide information about a health and a load for an existing instance of tunnel between the selected devices at the first and second sites;

analyzing a moving window of one or more metrics as a first sample of the one or more metrics to determine a trend in traffic levels and connection health for the existing instance of the tunnel between the selected devices at the first and second sites; and

determine whether to create a new instance of the tunnel or remove the existing instances of the tunnel based on an analysis of the moving window of sample collection to prevent bouncing when handling bursting traffic trends.

11. The method of claim 10 , the method further comprising:

determining, from the moving window of one or more metrics, that a first application at the first site experiences a burst of traffic at one or more time periods;

determining a head room needed for handling the burst of traffic from the first application;

determining that one or more existing instance of the tunnel is capable of handling the head room prior to removing the tunnel.

12. The method of claim 1 , the method further comprising:

when BGP is part of the settings for use in connecting the selected devices at the first site and the second site, the site-to-site connection is learned and added to an equal cost multi-path (ECMP) routing table.

13. A computing system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, configure the system to:

receive a first input at a user interface to initiate an automatic set up of tunnel for communication between a first site and a second site;

receive second inputs in the user interface to select devices populated in a list for selection, wherein the second inputs are effective in selecting the devices at the first site and the second site which will form respective connection points for a site-to-site connection, wherein the devices are routers or gateways to which a respective router is associated;

receive third inputs in the user interface, wherein the third inputs are effective to input settings for use in connecting the selected devices at the first site and the second site;

cause the site-to-site connection to be created between one or more network sites using the settings, wherein the site-to-site connection is a tunnel between the selected devices at the first and second sites, wherein the creating the site-to-site connection includes interacting with the first site using first site-specific protocols and configurations and interacting with the second site using second site-specific protocols and configurations.

14. The computing system of claim 13 , wherein the instructions further configure the system to:

generate a template for site-to-site connections between the first site and the second site, the template is created from the input settings for use in connecting the selected devices at the first site and the second site, the first site-specific protocols and configurations, and the second site-specific protocols and configurations.

15. The computing system of claim 14 wherein the instructions further configure the system to:

receive one or more metrics from the devices at the first site and the second site, wherein the one or more metrics provide information about a health and a load for an existing instance of tunnel between the selected devices at the first and second sites;

analyze a first sample of the one or more metrics to determine a trend that traffic will exceed a threshold level; and

dynamically create a second tunnel between the first site and the second site using the template based on a determination of the trend that the traffic will exceed a threshold level.

16. The computing system of claim 13 , wherein the instructions further configure the system to:

receive one or more metrics from the devices at the first site and the second site, wherein the one or more metrics provide information about a health and a load for an existing instance of tunnel between the selected devices at the first and second sites;

analyze a sample of the one or more metrics to determine a trend that traffic will fall below a threshold level; and

dynamically remove the existing instance tunnel based on a determination of the trend that the traffic will fall below the threshold level.

17. The computing system of claim 13 , wherein the instructions further configure the system to:

receive one or more metrics from the devices at the first site and the second site, wherein the one or more metrics provide information about a health and a load for an existing instance of tunnel between the selected devices at the first and second sites;

analyze a moving window of one or more metrics as a first sample of the one or more metrics to determine a trend in traffic levels and connection health for the existing instance of the tunnel between the selected devices at the first and second sites; and

determine whether to create a new instance of the tunnel or remove the existing instances of the tunnel based on an analysis of the moving window of sample collection to prevent bounce when handling bursting traffic trends.

18. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by at least one processor, cause the at least one processor to:

receive a first input at a user interface to initiate an automatic set up of tunnel for communication between a first site and a second site;

receive second inputs in the user interface to select devices populated in a list for selection, wherein the second inputs are effective in selecting the devices at the first site and the second site which will form respective connection points for a site-to-site connection, wherein the devices are routers or gateways to which a respective router is associated;

receive third inputs in the user interface, wherein the third inputs are effective to input settings for use in connecting the selected devices at the first site and the second site;

cause the site-to-site connection to be created between one or more network sites using the settings, wherein the site-to-site connection is a tunnel between the selected devices at the first and second sites, wherein the creating the site-to-site connection includes interacting with the first site using first site-specific protocols and configurations and interacting with the second site using second site-specific protocols and configurations.

19. The computer-readable storage medium of claim 18 , wherein the instructions further configure the at least one processor to:

generate a template for site-to-site connections between the first site and the second site, the template is created from the input settings for use in connecting the selected devices at the first site and the second site, the first site-specific protocols and configurations, and the second site-specific protocols and configurations.

20. The computer-readable storage medium of claim 19 , wherein the instructions further configure the at least one processor to:

receive one or more metrics from the devices at the first site and the second site, wherein the one or more metrics provide information about a health and a load for an existing instance of tunnel between the selected devices at the first and second sites;

analyze a first sample of the one or more metrics to determine a trend that traffic will exceed a threshold level; and

dynamically create a second tunnel between the first site and the second site using the template based on a determination of the trend that the traffic will exceed a threshold level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2024
From: CHANDER, VIJAY; NARAYANASWAMY, GANESH; PATNALA, PRAVEEN KUMAR; DUDDUMPUDI, RAGHU RAM; KUMAR, SUNIL; CHAN, MICHAEL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 067108/0539 →
Priority Claims (1)
IN 202341066355 · Oct 3, 2023 · national
Continuity (1)
Related Publication 20250112849A1 · Apr 3, 2025
References Cited (28)
US 8074270B1 · Lordello · 2011 [cited by examiner]
US 8130756B2 · Jorgensen · 2012 [cited by examiner]
US 8457085B2 · Izaki · 2013 [cited by examiner]
US 9049146B2 · Liu · 2015 [cited by examiner]
US 9338816B2 · Liu · 2016 [cited by examiner]
US 10374828B2 · Shanks · 2019 [cited by examiner]
US 11089060B2 · Dewan · 2021 [cited by examiner]
US 11303557B2 · Chandrashekhar · 2022 [cited by examiner]
US 11394785B2 · Sung · 2022 [cited by examiner]
US 11451596B2 · Heckler · 2022 [cited by examiner]
US 12034811B2 · Sung · 2024 [cited by examiner]
US 12063155B2 · He · 2024 [cited by examiner]
US 20040037295A1 · Tanaka · 2004 [cited by examiner]
US 20040236855A1 · Peles · 2004 [cited by examiner]
US 20090046686A1 · Izaki · 2009 [cited by examiner]
US 20100100767A1 · Liu · 2010 [cited by examiner]
US 20120170477A1 · Hieda · 2012 [cited by examiner]
US 20150245410A1 · Liu · 2015 [cited by examiner]
US 20170180155A1 · Shanks · 2017 [cited by examiner]
US 20180077202A1 · Xu · 2018 [cited by applicant]
US 20200059420A1 · Abraham · 2020 [cited by applicant]
US 20210314258A1 · Chandrashekhar · 2021 [cited by examiner]
US 20220329459A1 · Sundararajan et al. · 2022 [cited by applicant]
US 20220345400A1 · He · 2022 [cited by examiner]
US 20220345404A1 · Fang · 2022 [cited by examiner]
US 20220360633A1 · Sung · 2022 [cited by examiner]
US 20230064092A1 · Bareket et al. · 2023 [cited by applicant]
US 20230138372A1 · Kreger-Stickles et al. · 2023 [cited by applicant]