Method and system of overlay flow control

Abstract
In one aspect, A computerized method of a gateway distributing routes learned through routing protocols (RP) into a Border Gateway Protocol (BGP) includes the step of providing a first gateway that receives a route over a routing protocol. The method includes the step of with the first gateway, redistributing the route to one or more peer routers as a BGP route based on one or more specified criteria. The method includes the step of setting a gateway precedence based on the redistribution of the route to the one or more peer routers as the BGP route. The method includes the step of, based on the gateway precedence, setting a second gateway to automatically redistribute the route with different priorities to influence steering of traffic to a preferred gateway.
Description
FIELD OF THE INVENTION

This application relates generally to computer networking, and more specifically to a system, article of manufacture and method of establishing and managing overlay flow control in a computer network.


DESCRIPTION OF THE RELATED ART

Employees working in branch offices of an Enterprises typically need to access resources that are located in another branch office. In some cases, these are located in the Enterprise Data Center, which is a central location for resources. Access to these resources is typically obtained by using a site-to-site VPN, which establishes a secure connection over a public network (e.g. the Internet, etc.). There may be dedicated computer equipment in the branch office, the other branch office and/or Data Center which establishes and maintains the secure connection. These types of site-to-site VPNs can be setup one at a time and can be resource intensive to set up and maintain.


BRIEF SUMMARY OF THE INVENTION

In one aspect, A computerized method of a gateway distributing routes learned through routing protocols (RP) into a Border Gateway Protocol (BGP) includes the step of providing a first gateway that receives a route over a routing protocol. The method includes the step of with the first gateway, redistributing the route to one or more peer routers as a BGP route based on one or more specified criteria. The method includes the step of setting a gateway precedence based on the redistribution of the route to the one or more peer routers as the BGP route. The method includes the step of, based on the gateway precedence, setting a second gateway to automatically redistribute the route with different priorities to influence steering of traffic to a preferred gateway.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates an example network for implementing Overlay Flow Control, according to some embodiments.



FIG. 2 illustrates another example network for implementing Overlay Flow Control, according to some embodiments.



FIG. 3 illustrates another example network for implementing Overlay Flow Control, according to some embodiments.



FIG. 4 illustrates another example network for implementing Overlay Flow Control, according to some embodiments.



FIGS. 5 A-B illustrate an example topology of two data centers can be configured as edge-to-edge VPN hubs, according to some embodiments.



FIGS. 6 A-B illustrate example failover behaviors for preferred and non-preferred routes, according to some embodiments.



FIGS. 7 A-B illustrate example failover behaviors for preferred and non-preferred routes, according to some embodiments.



FIG. 8 depicts an exemplary computing system that can be configured to perform any one of the processes provided herein.



FIG. 9 illustrates an example screen shot of an Overlay Flow Control table, according to some embodiments.



FIG. 10 illustrates an example process for overlay flow control, according to some embodiments.





The Figures described above are a representative set, and are not exhaustive with respect to embodying the invention.


DESCRIPTION

Disclosed are a system, method, and article of manufacture for overlay flow control. The following description is presented to enable a person of ordinary skill in the art to make and use the various embodiments. Descriptions of specific devices, techniques, and applications are provided only as examples. Various modifications to the examples described herein can be readily apparent to those of ordinary skill in the art, and the general principles defined herein may be applied to other examples and applications without departing from the spirit and scope of the various embodiments.


Reference throughout this specification to “one embodiment,” “an embodiment,” ‘one example,’ or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.


Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art can recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.


The schematic flow chart diagrams included herein are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow chart diagrams, and they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.


Definitions

Example definitions for some embodiments are now provided.


Border Gateway Protocol (BGP) can be a standardized exterior gateway protocol designed to exchange routing and reachability information among autonomous systems (AS) on the Internet.


Cloud computing can involve deploying groups of remote servers and/or software networks that allow centralized data storage and online access to computer services or resources. These groups of remote serves and/or software networks can be a collection of remote computing services.


CE router (customer edge router) can be a router located on the customer premises that provides an Ethernet interface between the customer's LAN and the provider's core network. CE routers can be a component in an MPLS architecture.


Customer-premises equipment (CPE) can be any terminal and associated equipment located at a subscriber's premises and connected with a carrier's telecommunication channel at the demarcation point.


Edge device can be a device that provides an entry point into enterprise or service provider core networks. An edge device can be software running in a virtual machine (VM) located in a branch office and/or customer premises.


Firewall can be a network security system that monitors and controls the incoming and outgoing network traffic based on predetermined security rules.


Flow can be a grouping of packets that match a five (5) tuple which is a combination of Source IP Address (SIP), Destination IP Address (DIP), L4 Source Port (SPORT) and L4 Destination Port (DPORT) and the L4 protocol (PROTO).


Forward error correction (FEC) (e.g. channel coding) can be a technique used for controlling errors in data transmission over unreliable or noisy communication channels.


Deep learning can be a type of machine learning based on a set of algorithms that attempt to model high-level abstractions in data by using model architectures, with complex structures or otherwise, composed of multiple non-linear transformations


Deep Packet Inspection (DPI) can be the ability to analyze the different layers of a packet on the network.


Gateway can be a node (e.g. a router) on a computer network that serves as an access point to another network.


Internet Protocol Security (IPsec) can be a protocol suite for securing Internet Protocol (IP) communications by authenticating and encrypting each IP packet of a communication session.


Multi-Exit Discriminator (MED) can be an attribute of the Border Gateway Protocol used to influence route preference.


Multiprotocol Label Switching (MPLS) can be a mechanism in telecommunications networks that directs data from one network node to the next based on short path labels rather than long network addresses, thus avoiding complex lookups in a routing table.


Orchestrator can include a software component that provides multi-tenant and role based centralized configuration management and visibility.


Open Shortest Path First (OSPF) can be a routing protocol for Internet Protocol (IP) networks. OSPF ca use a link state routing (LSR) algorithm and falls into the group of interior gateway protocols (IGPs), operating within a single autonomous system (AS).


Overlay Flow Control table can be a user interface on the Orchestrator which displays all routes in the customer and allows for editing routing attributes, preferred exits, and default behaviors for future learned routes.


Quality of Service (QoS) can include the ability to define a guaranteed set of actions such as routing, resource constraints (e.g. bandwidth, latency etc.).


Software as a service (SaaS) can be a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted.


Tunneling protocol can allow a network user to access or provide a network service that the underlying network does not support or provide directly.


Virtual Desktop Infrastructure (VDI) is a desktop-oriented service that hosts user desktop environments on remote servers and/or blade PCs. Users access the desktops over a network using a remote display protocol.


Virtual private network (VPN) can extend a private network across a public network, such as the Internet. It can enable users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network, and thus benefit from the functionality, security and management policies of the private network.


Voice over IP (VoIP) can a methodology and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet.


Additional example definitions are provided herein.


Examples Systems and Processes of Overlay Flow Control

In order to integrate into customer environments with minimal configuration required on existing devices, an Edge device and a gateway system can support dynamic routing protocols. In order to facilitate simplified use and management of these dynamic routing protocols such as OSPF. Accordingly, various Overlay Flow Control methods and system can be implemented. These can provide a user a single, simple point of configuration for all routes in a network without requiring changes to the protocol configuration itself.



FIG. 1 illustrates an example network 100 for implementing Overlay Flow Control, according to some embodiments. Network 100 provides an example topology with a single L3 switch 116 that is connected on the LAN 118 side of an edge device 112 (e.g. a Velocloud® edge device, etc.). L3 switch 116 can also be connected to a CE router 110. CE router 110 can redistribute an MPLS 102 and/or BGP 106 routes into OSPF 114 routes. In this topology, the edge device can learn routes from the L3 switch 116. Edge device 112 can inject its own routes as well. Network 100 can be communicatively coupled with the Internet 104 utilizing routing protocol 108 (e.g. Velocloud® routing protocol (VCRP), etc.). CE router 110 can be a customer-edge (CE) router. It is noted that in some examples, BGP can prefer routes with the shortest AS-path. The AS-path-prepend adds the AS number to the beginning of the AS path to make a shorter path appear longer and therefore less preferable.



FIG. 2 illustrates another example network 200 for implementing Overlay Flow Control, according to some embodiments. Network 100 provides an example topology where the Internet 204 and MPLS 202 links both terminate on a single router 210. Edge device 212 can be deployed in a ‘one-arm’ configuration attached to CE router 210. The edge device can redistribute an MPLS 102 and/or BGP 106 routes into OSPF 114 routes. In this topology, edge device 212 can learn routes from the L3 switch 116. In this example topology, edge device 212 can learn routes from the CE router 210, as well as injecting its own routes.



FIG. 3 illustrates another example network 300 for implementing Overlay Flow Control, according to some embodiments. In an example large branch site, an active/active L3 switches 316-318 can communicate routes using OSPF 314 between two upstream devices (e.g. an Edge device) using OSPF 314 and a CE router 310. CE router 310 redistribute MPLS BGP routes 302, 306 into OSPF routes 314. It is noted that network 300 includes the notion of a single WAN link (e.g. MPLS) is accessible via two routed interfaces. In order to support this, a virtual IP address can be provisioned inside the edge and used in OSPF advertisement.



FIG. 4 illustrates another example network 400 for implementing Overlay Flow Control, according to some embodiments. Network 400 can implement Overlay Flow Control in a datacenter site. A datacenter can have a distinct separation between the MPLS core and DMZ switch. The L3 switch can be talking OSPF and can be used for route learning and injection. The firewall within the DMZ can use routes injected via OSPF (though none may be learned) to ensure that returning Internet traffic is routed symmetrically.



FIGS. 5 A-B illustrate an example topology 500 of two data centers can be configured as edge-to-edge VPN hubs, according to some embodiments. Example topology 500 can include redundant data centers which advertise the same subnets with different costs. In this scenario, both data centers (e.g. a primary datacenter and a backup datacenter, etc.) can be configured as edge-to-edge VPN hubs 502 and 504. As all edges connect directly to each hub 502 and 504 (e.g. via MPLS 506 and/or Internet 508) using paths 516, hubs 502 and 504 can also connect directly to each other using paths 514. Based on a route cost value, network traffic can be steered to the preferred active datacenter.


The customer can indicate whether routes are preferred (e.g. VeloCloud® Overlay becomes the default path with MPLS 506 as a backup) and/or non-preferred (e.g. where MPLS 506 remains the default path with VeloCloud® Overlay as a backup). The route costs for preferred, non-preferred and/or default routes can be configurable. For example, they can have different defaults based on whether OE1 or OE2 routes are used in the redistribution.


In one example, a CE Router can advertise an OE2 route. For routes with cost ‘n’ (where ‘n>1’), it can be advertised with cost ‘n−1’. For routes with cost ‘1’, it can be advertised with cost ‘1’ and a link cost ‘m−1’, where ‘m’ is the link cost from the L3 Switch/Router to the CE router.


In another example, CE Router advertises an OE1 route. Take the OE1 route cost as ‘n’. The link cost can be obtained from the L3 Switch/Router to the CE router as ‘m’. It can be advertised a route with cost ‘n-prime’ and link cost ‘m-prime’ such that (‘n-prime’+‘m-prime’)<(‘n+m’).



FIGS. 6 A-B illustrate example failover behaviors for preferred and non-preferred routes, according to some embodiments. FIGS. 7 A-B illustrate example failover behaviors for preferred and non-preferred routes, according to some embodiments.


It is noted that though route costs can be calculated for preferred and non-preferred routes (e.g. as provided supra), for simplicity they are presented below as ‘n’ for CE router cost, ‘n−1’ for a preferred route cost and ‘n+1’ for a non-preferred route cost.


To simplify the visualization and management of routes, they can be presented in an Overlay Flow Control table (e.g. see FIG. 9 infra). This table provides an enterprise-wide view of routes, routing adjacencies and preferred exits for each specific route. The preferred exit for any given route can be selected which can result in the routing preferences being automatically updated at each Edge device and advertised to influence routing changes across the network without the customer having to perform any further configuration actions. An edge device can implement the following rules for redistributing VCRP into OSPF. First, an edge device can redistribute VCRP prefixes that belong to various bronze sites as OE1, metric <m> if VCRP route preference is lower than DIRECT (if available) route preference. Else the prefixes are redistributed as OE2, metric <m> where m=low priority. A Direct route preference can be fixed to two-hundred and fifty-six (256). A VCRP route preference lower than 256 can indicate a route as a preferred route otherwise a Direct rout (if available) is preferred. The system can watch out for how CPE's redistribute this prefix into the MPLS cloud. The system can determine if the metric type is preserved by BGP attributes while redistributing into OSPF. The system can determine if the cost is preserved by BGP attributes while redistributing into OSPF.


Route insertion rules can be implemented. Routes can be inserted into a unified routing table based on the type of VPN profile configured. Hubs can setup direct routes for all VCRP prefixes. Branches can setup direct routes for prefixes via CG and/or VPN-hubs and/or DE2E direct route. For the same prefix, there can be two routes per transit point. This can be because the prefix is advertised by the owner and the hub. A first route can have a next_hop logical ID as transit point and destination logical ID as the owner. A next route can have a next hop logical ID and/or destination logical ID as VPN hub (e.g. not applicable for CG and DE2E).


A first example use case can include provisioning an edge device inside a datacenter location that previously did not contain one. In this example, Hub1 can be inserted into the Datacenter site as shown in the picture with a routed interface connected to 1.3 switch and the other WAN link connected to the Internet. The leg connecting 1.3 switch and Hub1 can have OSPF enabled. Hub1 can advertise default route 0.0.0.0/0 (originate-default) with metric 0 to L3 switch. This can allow Hub1 to take over Internet traffic sourced by subnets connected to L3 switch. Route H can have been learned as intra-area route (O). Route ‘S’ can have been learned as external type route (e.g. OEx). Route H and Route S can be added to OSPF view and are sent to VCO for GNDT sync up. Hub1 can be marked as owner of prefix ‘H’ and VCO responds to Hub1 with advertise flag set to True for prefix ‘H’. Sites that advertise intra-area (O) or inter-area (IA) routes can be marked as owner of the routes in GNDT and can be allowed to advertise the routes to VCG. VCO can respond to Hub1 with advertise flag set to False for prefix ‘S’ as ‘S’ is an external-route and requires administrator's intervention. Hub1 can advertises route ‘H’ to VCG through VCRP.


In a second use-case example, a Bronze site can be brought online. It is noted that the as a prerequisite, the Datacenter are already be online. A Bronze1 site (e.g. a simple branch office site with only Internet connections and no MPLS or dynamic routing protocols such as OSPF in use at the site) can be provisioned and connected to VCG through an Internet link. Bronze1 site can advertise route ‘B’ to VCG through VCRP. VCG can be a reflector that reflects route ‘B’ to Hub1 with Bronze1 site as next hop and can reflect route ‘H’ to Bronze1 site with Hub1 site as next hop.


In a third use-case example, a Silver site (e.g. a branch office site containing a hybrid of MPLS and internet WAN links as well as an L3 device which is learning and advertising routes via OSPF) can be brought online. It is noted that the as a prerequisite, the Datacenter and associated Bronze site are already be online. Silver1 site can be stood up and connected to VCG through an Internet link. Silver1 site can learn routes ‘H’ and ‘B’ through VCG and install the learned sites into a unified route table. For example, Silver1 site can learn routes ‘S’ as an intra-area and routes ‘H’ and ‘B’ as external routes (e.g. from L3 switch). Routes ‘S’, ‘H’, and ‘B’ can be added to OSPF View and are communicated to VCO for GNDT synchronization. VCO responds with advertise flag set to ‘True’ for prefix ‘S’ but set to False for prefix ‘H’ and ‘B’. Silver1 can advertise ‘S’ to other branches via VCG over VCRP.


In a fourth use-case example, a Legacy site route advertisement can be implemented. It is noted that the as a prerequisite, the Datacenter and associated Bronze and Silver sites are already online. Legacy site route ‘L’ can be learned by Hub1 site and Silver1 site as external route (e.g. OEx). Hub1 and Silver1 can communicate route ‘L’ to VCO for GNDT synchronization. Hub1 can be chosen as owner for the external route ‘L’. (e.g. without administrator intervention). Hub1 can advertise route ‘L’ to other branches via VCG over VCRP. This can enable connectivity between legacy site ‘L’ and bronze1 site ‘B’.


Various examples of hybrid sites distributing routes learned through VCRP into OSPF are now discussed. In a first example, a hybrid site on receiving route ‘R’ over VCRP can redistribute ‘R’ to L3 switch as external route based on various criteria. VeloCloud® (B2B) can be set as preferred. Route ‘R’ can be revoked if it was installed with metric type OE2. Route ‘R’ can be redistributed with metric type OE1, metric ‘M’=1; etc. Accordingly, the L3 switch can be programmed with route ‘R’ pointing to an edge device (e.g. a Velocloud® edge, etc.). Additionally, OE1 can provide the adjacent routers to add cost to route ‘R’ as the routes get redistributed further and thus may not impact the route priority for this route ‘R’ on other receiving sites. In one example, Silver1 can install route ‘R’ with metric 1, metric type OE1. This route ‘R’ can be installed as the high priority route on adjacent L3 router(s). However, when this route ‘R’ reaches another hybrid site. For example, Datacenter site can see that the route ‘R’ with metric>one (1). Accordingly, this does not affect the route ‘R’ on adjacent L3 routers of Datacenter site that can be pointing to Datacenter site as next hop.


A Direct criterion can be set as preferred when it is available. In one example, route ‘R’ can be revoked if it was installed with metric type OE1, metric ‘M’=one (1). Route ‘R’ can be redistributed with metric type OE2, metric ‘M’=cost of ‘R’+<low_prio_offset>. <low_prio_offset> can be some value that installs the route as low priority route. The value can be updated based on lab experiment.


Hybrid site redistributing ‘R’ to L3 switch can enable connectivity between ‘R’ and ‘B’ over VeloCloud® B2B overlay. The VeloCloud® B2B Overlay is the VeloCloud® Edge and Gateway multipath system that was defined in the original patent providing multipath VPN connectivity between sites. Additionally, it allows connectivity between legacy sites ‘L’ and ‘B’ over private links and Velocloud B2B overlay.


Various examples of a gateway (e.g. a VeloCloud® Gateway, etc.) distributing routes learned through a routing protocol (e.g. VCRP) into BGP are now discussed. In a first example, a gateway receiving route ‘R’ over VCRP can redistribute ‘R’ to the adjacent L3 router(s) as a BGP route based on various criteria. Based on the gateway precedence, different gateway(s) can automatically redistribute with different priorities to influence steering of traffic to the preferred gateway. In one example, gateway 1 can redistribute route ‘R’ with MED 10 and gateway 2 can redistribute route ‘R’ with MED 20. In another example, a less preferred gateway 2 can send ‘R’ with automatic AS-path-prepend to effectively make gateway 1 preferred. In another example, the user may specify BGP communities in a priority-order (e.g. based on their mapping to local-preference on the provider-edge (PE) router side (e.g. a provider-edge router can be a version of a CE router that sits on the provider's edge instead of the customer's edge, etc.). Gateway 1 can then automatically redistribute route ‘R’ with a community value from this ordered list which is more preferred than the community value chosen on the route redistributed by gateway 2.


To facilitate ease of deployment of transit and non-transit edges (and/or to better categorize routes which are not local to an edge (e.g. routes learned from a separate autonomous system e.g. MPLS)), a new concept Uplink can be provided/implemented. A user may tag routes as Uplink for OFC driven preference/filtering purposes. In one example, user marks a BGP neighbor as Uplink and all routes learnt from this peer are tagged as Uplink (e.g. when replacing MPLS Customer Edge Router with a VeloCloud® Edge, etc.). In another example, the user can set a specific community value for routes not local to the Edge and configures that community value on the Edge BGP config as Uplink Community. Then any BGP learned route that has that community value, can be considered Uplink route. The OFC then provides global configuration options for Uplink routes that the user can use to easily control route propagation without manipulating routes individually.


Additional Exemplary Computer Architecture and Systems



FIG. 8 depicts an exemplary computing system 800 that can be configured to perform any one of the processes provided herein. In this context, computing system 800 may include, for example, a processor, memory, storage, and I/O devices (e.g., monitor, keyboard, disk drive, Internet connection, etc.). However, computing system 800 may include circuitry or other specialized hardware for carrying out some or all aspects of the processes. In some operational settings, computing system 800 may be configured as a system that includes one or more units, each of which is configured to carry out some aspects of the processes either in software, hardware, or some combination thereof.



FIG. 8 depicts computing system 800 with a number of components that may be used to perform any of the processes described herein. The main system 802 includes a motherboard 804 having an I/O section 806, one or more central processing units (CPU) 808, and a memory section 810, which may have a flash memory card 812 related to it. The I/O section 806 can be connected to a display 814, a keyboard and/or other user input (not shown), a disk storage unit 816, and a media drive unit 818. The media drive unit 818 can read/write a computer-readable medium 820, which can contain programs 822 and/or data. Computing system 800 can include a web browser. Moreover, it is noted that computing system 800 can be configured to include additional systems in order to fulfill various functionalities. Computing system 800 can communicate with other computing devices based on various computer communication protocols such a Wi-Fi, Bluetooth® (and/or other standards for exchanging data over short distances includes those using short-wavelength radio transmissions), USB, Ethernet, cellular, an ultrasonic local area communication protocol, etc.



FIG. 9 illustrates an example screen shot 900 of an Overlay Flow Control table, according to some embodiments. Overlay Flow Control table can be a user interface on the Orchestrator. Screen shot 900 displays all routes in the customer system. Overlay Flow Control table allows for editing routing attributes, preferred exits, and default behaviors for future learned routes.



FIG. 10 illustrates an example process 1000 for overlay flow control, according to some embodiments. In step 1002, process 1000 can provide a first gateway that receives a route over a routing protocol. In step 1004, process 1000 can, with the first gateway, redistribute the route to one or more peer routers as a BGP route based on one or more specified criteria. In step 1006, process 1000 can set a gateway precedence based on the redistribution of the route to the one or more peer routers as the BGP route. In step 1008, process 1000 can, based on the gateway precedence, set a second gateway to automatically redistribute the route with different priorities to influence steering of traffic to a preferred gateway. A peer router can be a router configured to be a peer to an edge router (e.g. a VeloCloud® edge, etc.) on a LAN. For example, a peer router can be an adjacent peer routers layer three (L3) router. It is noted that an edge device can be utilized in lieu of and/or as a gateway in some embodiments. For example, an edge device can redistribute the route as a BGP route or an OSPF (Open Shortest Path First) route.


CONCLUSION

Although the present embodiments have been described with reference to specific example embodiments, various modifications and changes can be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, the various devices, modules, etc. described herein can be enabled and operated using hardware circuitry, firmware, software or any combination of hardware, firmware, and software (e.g., embodied in a machine-readable medium).


In addition, it can be appreciated that the various operations, processes, and methods disclosed herein can be embodied in a machine-readable medium and/or a machine accessible medium compatible with a data processing system (e.g., a computer system), and can be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. In some embodiments, the machine-readable medium can be a non-transitory form of machine-readable medium.

Claims
  • 1. A method for using routes in an overlay network created over at least one public cloud datacenter in which a gateway is deployed, the overlay network implemented by the gateway and a set of edge devices outside of the public cloud datacenter, the method comprising: at a location comprising at least one edge device outside of the public cloud datacenter: receiving a first route through the overlay network that is of a first type and that is translated from a second-type route, and a priority level for the first route;receiving a second route through the overlay network that is of the first type and that is translated from a third-type route, and a priority level for the second route;using the received priority levels to determine, for a received packet, whether the first route or the second route is preferable to send the packet to a destination of the packet through the overlay network;when the first route is preferable, forwarding the packet along the first route to the destination; andwhen the second route is preferable, forwarding the packet along the second route to the destination.
  • 2. The method of claim 1, wherein the first and second routes are identified by first and second edge devices at the location.
  • 3. The method of claim 2, wherein the first edge device is an edge device connected to a multi-protocol label switching (MPLS) network, while the second edge device is an edge device connected to the Internet.
  • 4. The method of claim 1, wherein the first-type route comprises interior gateway protocol (IGP) routes.
  • 5. The method of claim 4, wherein the IGP routes comprise open shortest path first (OSPF) routes.
  • 6. The method of claim 4, wherein one of the second-type route and the third-type route is a border gateway protocol (BGP) route, while the other of the second-type route and the third-type route is a route based on a proprietary cloud based routing protocol.
  • 7. The method of claim 1, wherein: the first and second routes are identified by first and second edge devices at the location that provide the first and second routes to a switch at the location; andthe switch uses the priority levels to make the determination and forwarding the packet based on the determination.
  • 8. The method of claim 7, wherein: the overlay network is defined for an entity having a local area network (LAN) at the location; andthe LAN comprises the switch through which the LAN connects to the first and second edge devices.
  • 9. The method of claim 8, wherein the first edge device connects to a multi-protocol label switching (MPLS) network, and the priority levels define the first route through the first edge device as a backup route to the second route for the destination.
  • 10. The method of claim 9, wherein the location is a branch office of an entity.
  • 11. A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for using routes in an overlay network created over at least one public cloud datacenter in which a gateway is deployed, the overlay network implemented by the gateway and a set of edge devices outside of the public cloud datacenter, the program comprising sets of instructions for: at a location comprising at least one edge device outside of the public cloud datacenter: receiving a first route through the overlay network that is of a first type and that is translated from a second-type route, and a priority level for the first route;receiving a second route through the overlay network that is of the first type and that is translated from a third-type route, and a priority level for the second route;using the received priority levels to determine, for a received packet, whether the first route or the second route is preferable to send the packet to a destination of the packet through the overlay network;when the first route is preferable, forwarding the packet along the first route to the destination; andwhen the second route is preferable, forwarding the packet along the second route to the destination.
  • 12. The non-transitory machine readable medium of claim 11, wherein the first and second routes are identified by first and second edge devices at the location.
  • 13. The non-transitory machine readable medium of claim 12, wherein the first edge device is an edge device connected to a multi-protocol label switching (MPLS) network, while the second edge device is an edge device connected to the Internet.
  • 14. The non-transitory machine readable medium of claim 11, wherein the first-type route comprises interior gateway protocol (IGP) routes.
  • 15. The non-transitory machine readable medium of claim 14, wherein the IGP routes comprise open shortest path first (OSPF) routes.
  • 16. The non-transitory machine readable medium of claim 14, wherein one of the second-type route and the third-type route is a border gateway protocol (BGP) route, while the other of the second-type route and the third-type route is a route based on a proprietary cloud based routing protocol.
  • 17. The non-transitory machine readable medium of claim 11, wherein: the first and second routes are identified by first and second edge devices at the location that provide the first and second routes to a switch at the location; andthe switch uses the priority levels to make the determination and forwarding the packet based on the determination.
  • 18. The non-transitory machine readable medium of claim 17, wherein: the overlay network is defined for an entity having a local area network (LAN) at the location; andthe LAN comprises the switch through which the LAN connects to the first and second edge devices.
  • 19. The non-transitory machine readable medium of claim 18, wherein the first edge device connects to a multi-protocol label switching (MPLS) network, and the priority levels define the first route through the first edge device as a backup route to the second route for the destination.
  • 20. The non-transitory machine readable medium of claim 19, wherein a demilitarized zone (DMZ) is implemented between the second edge device and the Internet in order to ensure return traffic from the Internet is routed symmetrically.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patent application Ser. No. 15/624,532, filed Jun. 15, 2017, now published as U.S. Patent Publication 2018/0034668. U.S. patent application Ser. No. 15/624,532 claims priority to U.S. Provisional Patent Application No. 62/457,816, filed on 11 Feb. 2017. U.S. patent application Ser. No. 15/624,532 also claims priority to and is a continuation-in-part of U.S. patent application Ser. No. 14/321,818, filed on Jul. 2, 2014, now issued as U.S. Pat. No. 9,722,815. U.S. patent application Ser. No. 14/321,818 claims priority to U.S. Provisional Patent Application 61/844,822, filed Jul. 10, 2013. U.S. patent application Ser. No. 15/624,532, now published as U.S. Patent Publication 2018/0034668, U.S. patent application Ser. No. 14/321,818, now issued as U.S. Pat. No. 9,722,815, and U.S. Provisional Patent Application 62/457,816, are incorporated by reference in its their entirety.

US Referenced Citations (472)
Number Name Date Kind
5652751 Sharony Jul 1997 A
5909553 Campbell et al. Jun 1999 A
6154465 Pickett Nov 2000 A
6157648 Voit et al. Dec 2000 A
6201810 Masuda et al. Mar 2001 B1
6363378 Conklin et al. Mar 2002 B1
6445682 Weitz Sep 2002 B1
6744775 Beshai et al. Jun 2004 B1
6976087 Westfall et al. Dec 2005 B1
7003481 Banka et al. Feb 2006 B2
7280476 Anderson Oct 2007 B2
7313629 Nucci et al. Dec 2007 B1
7320017 Kurapati et al. Jan 2008 B1
7581022 Griffin et al. Aug 2009 B1
7680925 Sathyanarayana et al. Mar 2010 B2
7681236 Tamura et al. Mar 2010 B2
7962458 Holenstein et al. Jun 2011 B2
8094575 Vadlakonda et al. Jan 2012 B1
8094659 Arad Jan 2012 B1
8111692 Ray Feb 2012 B2
8141156 Mao et al. Mar 2012 B1
8224971 Miller et al. Jul 2012 B1
8228928 Parandekar et al. Jul 2012 B2
8243589 Trost et al. Aug 2012 B1
8259566 Chen et al. Sep 2012 B2
8274891 Averi et al. Sep 2012 B2
8301749 Finklestein et al. Oct 2012 B1
8385227 Downey Feb 2013 B1
8566452 Goodwin et al. Oct 2013 B1
8661295 Khanna et al. Feb 2014 B1
8724456 Hong et al. May 2014 B1
8724503 Johnsson et al. May 2014 B2
8745177 Kazerani et al. Jun 2014 B1
8799504 Capone et al. Aug 2014 B2
8804745 Sinn Aug 2014 B1
8806482 Nagargadde et al. Aug 2014 B1
8856339 Mestery et al. Oct 2014 B2
8964548 Keralapura et al. Feb 2015 B1
8989199 Sella et al. Mar 2015 B1
9009217 Nagargadde et al. Apr 2015 B1
9055000 Ghosh et al. Jun 2015 B1
9060025 Xu Jun 2015 B2
9071607 Twitchell, Jr. Jun 2015 B2
9075771 Gawali et al. Jul 2015 B1
9137334 Zhou Sep 2015 B2
9154327 Marino et al. Oct 2015 B1
9306949 Richard et al. Apr 2016 B1
9336040 Dong et al. May 2016 B2
9354983 Yenamandra et al. May 2016 B1
9356943 Lopilato et al. May 2016 B1
9379981 Zhou et al. Jun 2016 B1
9413724 Xu Aug 2016 B2
9419878 Hsiao et al. Aug 2016 B2
9432245 Sorenson et al. Aug 2016 B1
9438566 Zhang et al. Sep 2016 B2
9450817 Bahadur et al. Sep 2016 B1
9450852 Chen et al. Sep 2016 B1
9462010 Stevenson Oct 2016 B1
9467478 Khan et al. Oct 2016 B1
9485163 Fries et al. Nov 2016 B1
9521067 Michael et al. Dec 2016 B2
9525564 Lee Dec 2016 B2
9559951 Sajassi et al. Jan 2017 B1
9602389 Maveli et al. Mar 2017 B1
9608962 Chang Mar 2017 B1
9621460 Mehta et al. Apr 2017 B2
9641551 Kariyanahalli May 2017 B1
9665432 Kruse et al. May 2017 B2
9686127 Ramachandran et al. Jun 2017 B2
9715401 Devine et al. Jul 2017 B2
9717021 Hughes et al. Jul 2017 B2
9722815 Mukundan et al. Aug 2017 B2
9755965 Yadav et al. Sep 2017 B1
9787559 Schroeder Oct 2017 B1
9807004 Koley et al. Oct 2017 B2
9825822 Holland Nov 2017 B1
9825911 Brandwine Nov 2017 B1
9825992 Xu Nov 2017 B2
9832128 Ashner et al. Nov 2017 B1
9906401 Rao Feb 2018 B1
9930011 Clemons, Jr. et al. Mar 2018 B1
9942787 Tillotson Apr 2018 B1
10038601 Becker et al. Jul 2018 B1
10057183 Salle et al. Aug 2018 B2
10057294 Xu Aug 2018 B2
10135789 Mayya et al. Nov 2018 B2
10142226 Wu et al. Nov 2018 B1
10178032 Freitas Jan 2019 B1
10187289 Chen et al. Jan 2019 B1
10229017 Zou et al. Mar 2019 B1
10237123 Dubey et al. Mar 2019 B2
10250498 Bales et al. Apr 2019 B1
10263832 Ghosh Apr 2019 B1
10320664 Nainar et al. Jun 2019 B2
10326830 Singh Jun 2019 B1
10348767 Lee et al. Jul 2019 B1
10425382 Mayya et al. Sep 2019 B2
10454708 Mibu Oct 2019 B2
10454714 Mayya et al. Oct 2019 B2
10498652 Mayya et al. Dec 2019 B2
10511546 Singarayan et al. Dec 2019 B2
10523539 Mayya et al. Dec 2019 B2
10554538 Spohn et al. Feb 2020 B2
10560431 Chen et al. Feb 2020 B1
10565464 Han et al. Feb 2020 B2
10574528 Mayya et al. Feb 2020 B2
10594516 Cidon et al. Mar 2020 B2
10594659 El-Moussa et al. Mar 2020 B2
10608844 Cidon et al. Mar 2020 B2
10637889 Ermagan et al. Apr 2020 B2
10666460 Cidon et al. May 2020 B2
10686625 Cidon et al. Jun 2020 B2
10749711 Mukundan et al. Aug 2020 B2
10778466 Cidon et al. Sep 2020 B2
10778528 Mayya et al. Sep 2020 B2
10805114 Cidon et al. Oct 2020 B2
10805272 Mayya et al. Oct 2020 B2
10841131 Cidon et al. Nov 2020 B2
20020198840 Banka et al. Dec 2002 A1
20030088697 Matsuhira May 2003 A1
20030112808 Solomon Jun 2003 A1
20030126468 Markham Jul 2003 A1
20030161313 Jinmei et al. Aug 2003 A1
20030189919 Gupta et al. Oct 2003 A1
20030202506 Perkins et al. Oct 2003 A1
20030219030 Gubbi Nov 2003 A1
20040059831 Chu et al. Mar 2004 A1
20040068668 Lor et al. Apr 2004 A1
20040165601 Liu et al. Aug 2004 A1
20040224771 Chen et al. Nov 2004 A1
20050078690 DeLangis Apr 2005 A1
20050154790 Nagata et al. Jul 2005 A1
20050172161 Cruz et al. Aug 2005 A1
20050265255 Kodialam et al. Dec 2005 A1
20060002291 Alicherry et al. Jan 2006 A1
20060114838 Mandavilli et al. Jun 2006 A1
20060171365 Borella Aug 2006 A1
20060182034 Klinker et al. Aug 2006 A1
20060182035 Vasseur Aug 2006 A1
20060193247 Naseh et al. Aug 2006 A1
20060193252 Naseh Aug 2006 A1
20070064604 Chen et al. Mar 2007 A1
20070064702 Bates et al. Mar 2007 A1
20070091794 Filsfils et al. Apr 2007 A1
20070121486 Guichard et al. May 2007 A1
20070130325 Lesser Jun 2007 A1
20070177511 Das et al. Aug 2007 A1
20070237081 Kodialam et al. Oct 2007 A1
20070260746 Mirtorabi et al. Nov 2007 A1
20070268882 Breslau et al. Nov 2007 A1
20080002670 Bugenhagen et al. Jan 2008 A1
20080049621 McGuire et al. Feb 2008 A1
20080080509 Khanna et al. Apr 2008 A1
20080095187 Jung et al. Apr 2008 A1
20080144532 Chamarajanagar et al. Jun 2008 A1
20080219276 Shah Sep 2008 A1
20080240121 Xiong et al. Oct 2008 A1
20090013210 McIntosh et al. Jan 2009 A1
20090125617 Klessig et al. May 2009 A1
20090154463 Hines et al. Jun 2009 A1
20090247204 Sennett et al. Oct 2009 A1
20090276657 Wetmore et al. Nov 2009 A1
20090303880 Maltz et al. Dec 2009 A1
20100008361 Guichard et al. Jan 2010 A1
20100017802 Lojewski Jan 2010 A1
20100046532 Okita Feb 2010 A1
20100088440 Banks et al. Apr 2010 A1
20100091823 Retana et al. Apr 2010 A1
20100107162 Edwards et al. Apr 2010 A1
20100118727 Draves et al. May 2010 A1
20100191884 Holenstein et al. Jul 2010 A1
20100223621 Joshi et al. Sep 2010 A1
20100309841 Conte Dec 2010 A1
20100309912 Mehta et al. Dec 2010 A1
20100322255 Hao et al. Dec 2010 A1
20100332657 Elyashev et al. Dec 2010 A1
20110007752 Silva et al. Jan 2011 A1
20110032939 Nozaki et al. Feb 2011 A1
20110040814 Higgins Feb 2011 A1
20110075674 Li et al. Mar 2011 A1
20110107139 Middlecamp et al. May 2011 A1
20110110370 Moreno et al. May 2011 A1
20110141877 Xu et al. Jun 2011 A1
20110142041 Imai Jun 2011 A1
20110153909 Dong Jun 2011 A1
20120008630 Ould-Brahim Jan 2012 A1
20120027013 Napierala Feb 2012 A1
20120136697 Peles et al. May 2012 A1
20120157068 Eichen et al. Jun 2012 A1
20120173694 Yan et al. Jul 2012 A1
20120173919 Patel et al. Jul 2012 A1
20120221955 Raleigh et al. Aug 2012 A1
20120250682 Vincent et al. Oct 2012 A1
20120250686 Vincent et al. Oct 2012 A1
20120300615 Kempf et al. Nov 2012 A1
20120317291 Wolfe Dec 2012 A1
20130019005 Hui et al. Jan 2013 A1
20130021968 Reznik et al. Jan 2013 A1
20130044764 Casado et al. Feb 2013 A1
20130051399 Zhang et al. Feb 2013 A1
20130054763 Merwe et al. Feb 2013 A1
20130103834 Dzerve et al. Apr 2013 A1
20130124718 Griffith et al. May 2013 A1
20130124911 Griffith et al. May 2013 A1
20130124912 Griffith et al. May 2013 A1
20130128889 Mathur et al. May 2013 A1
20130142201 Kim et al. Jun 2013 A1
20130173788 Song Jul 2013 A1
20130182712 Aguayo et al. Jul 2013 A1
20130191688 Agarwal et al. Jul 2013 A1
20130238782 Zhao et al. Sep 2013 A1
20130242718 Zhang Sep 2013 A1
20130254599 Katkar et al. Sep 2013 A1
20130258839 Wang et al. Oct 2013 A1
20130283364 Chang et al. Oct 2013 A1
20130286846 Atlas et al. Oct 2013 A1
20130301642 Radhakrishnan et al. Nov 2013 A1
20130308444 Sem-Jacobsen et al. Nov 2013 A1
20130315243 Huang et al. Nov 2013 A1
20130329548 Nakil et al. Dec 2013 A1
20130329601 Yin et al. Dec 2013 A1
20130329734 Chesla et al. Dec 2013 A1
20130346470 Obstfeld et al. Dec 2013 A1
20140019604 Twitchell, Jr. Jan 2014 A1
20140019750 Dodgson et al. Jan 2014 A1
20140064283 Balus et al. Mar 2014 A1
20140092907 Sridhar et al. Apr 2014 A1
20140108665 Arora et al. Apr 2014 A1
20140112171 Pasdar Apr 2014 A1
20140115584 Mudigonda et al. Apr 2014 A1
20140126418 Brendel et al. May 2014 A1
20140156818 Hunt Jun 2014 A1
20140156823 Liu et al. Jun 2014 A1
20140164560 Ko et al. Jun 2014 A1
20140173113 Vemuri et al. Jun 2014 A1
20140173331 Martin et al. Jun 2014 A1
20140208317 Nakagawa Jul 2014 A1
20140219135 Li et al. Aug 2014 A1
20140223507 Xu Aug 2014 A1
20140244851 Lee Aug 2014 A1
20140258535 Zhang Sep 2014 A1
20140269690 Tu Sep 2014 A1
20140279862 Dietz et al. Sep 2014 A1
20140280499 Basavaiah et al. Sep 2014 A1
20140317440 Biermayr et al. Oct 2014 A1
20140337500 Lee Nov 2014 A1
20140341109 Cartmell et al. Nov 2014 A1
20140372582 Ghanwani et al. Dec 2014 A1
20150016249 Mukundan et al. Jan 2015 A1
20150029864 Raileanu et al. Jan 2015 A1
20150046572 Cheng et al. Feb 2015 A1
20150052247 Threefoot et al. Feb 2015 A1
20150052517 Raghu et al. Feb 2015 A1
20150056960 Egner et al. Feb 2015 A1
20150058917 Xu Feb 2015 A1
20150088942 Shah Mar 2015 A1
20150089628 Lang Mar 2015 A1
20150092603 Aguayo et al. Apr 2015 A1
20150096011 Watt Apr 2015 A1
20150134777 Onoue May 2015 A1
20150139238 Pourzandi et al. May 2015 A1
20150146539 Mehta et al. May 2015 A1
20150163152 Li Jun 2015 A1
20150172121 Farkas et al. Jun 2015 A1
20150188823 Williams et al. Jul 2015 A1
20150189009 Bemmel Jul 2015 A1
20150195178 Bhattacharya et al. Jul 2015 A1
20150201036 Nishiki et al. Jul 2015 A1
20150222543 Song Aug 2015 A1
20150222638 Morley Aug 2015 A1
20150236945 Michael et al. Aug 2015 A1
20150236962 Veres et al. Aug 2015 A1
20150244617 Nakil et al. Aug 2015 A1
20150249644 Xu Sep 2015 A1
20150271104 Chikkamath et al. Sep 2015 A1
20150312142 Barabash et al. Oct 2015 A1
20150334696 Gu et al. Nov 2015 A1
20150349978 Wu et al. Dec 2015 A1
20150350907 Timariu et al. Dec 2015 A1
20150363733 Brown Dec 2015 A1
20150372943 Hasan et al. Dec 2015 A1
20150372982 Herle Dec 2015 A1
20150381407 Wang et al. Dec 2015 A1
20150381493 Bansal et al. Dec 2015 A1
20160035183 Buchholz et al. Feb 2016 A1
20160036924 Koppolu et al. Feb 2016 A1
20160037434 Gopal et al. Feb 2016 A1
20160072669 Saavedra Mar 2016 A1
20160080502 Yadav et al. Mar 2016 A1
20160105392 Thakkar et al. Apr 2016 A1
20160105471 Nunes et al. Apr 2016 A1
20160134528 Lin et al. May 2016 A1
20160134591 Liao et al. May 2016 A1
20160142373 Ossipov May 2016 A1
20160164832 Bellagamba et al. Jun 2016 A1
20160164914 Madhav et al. Jun 2016 A1
20160173338 Wolting Jun 2016 A1
20160191363 Haraszti et al. Jun 2016 A1
20160191374 Singh et al. Jun 2016 A1
20160197834 Luft Jul 2016 A1
20160197835 Luft Jul 2016 A1
20160198003 Luft Jul 2016 A1
20160210209 Verkaik et al. Jul 2016 A1
20160218947 Hughes et al. Jul 2016 A1
20160255169 Kovvuri et al. Sep 2016 A1
20160261493 Li Sep 2016 A1
20160261495 Xia et al. Sep 2016 A1
20160261639 Xu Sep 2016 A1
20160269926 Sundaram Sep 2016 A1
20160308762 Teng Oct 2016 A1
20160315912 Mayya et al. Oct 2016 A1
20160323377 Einkauf et al. Nov 2016 A1
20160352588 Subbarayan et al. Dec 2016 A1
20160359738 Sullenberger et al. Dec 2016 A1
20160366187 Kamble Dec 2016 A1
20160380886 Blair et al. Dec 2016 A1
20170005986 Bansal et al. Jan 2017 A1
20170012870 Blair et al. Jan 2017 A1
20170019428 Cohn Jan 2017 A1
20170026283 Williams et al. Jan 2017 A1
20170026355 Mathaiyan et al. Jan 2017 A1
20170034046 Cai et al. Feb 2017 A1
20170034129 Sawant et al. Feb 2017 A1
20170053258 Carney et al. Feb 2017 A1
20170055131 Kong et al. Feb 2017 A1
20170063674 Maskalik et al. Mar 2017 A1
20170063782 Jain et al. Mar 2017 A1
20170063794 Jain et al. Mar 2017 A1
20170064005 Lee Mar 2017 A1
20170093625 Pera et al. Mar 2017 A1
20170097841 Chang et al. Apr 2017 A1
20170104755 Arregoces et al. Apr 2017 A1
20170118173 Arramreddy et al. Apr 2017 A1
20170123939 Maheshwari et al. May 2017 A1
20170126564 Mayya et al. May 2017 A1
20170134186 Mukundan et al. May 2017 A1
20170134520 Abbasi et al. May 2017 A1
20170139789 Fries et al. May 2017 A1
20170155557 Desai et al. Jun 2017 A1
20170163473 Sadana et al. Jun 2017 A1
20170171310 Gardner Jun 2017 A1
20170181210 Nadella et al. Jun 2017 A1
20170195169 Mills et al. Jul 2017 A1
20170201585 Doraiswamy et al. Jul 2017 A1
20170207976 Rovner et al. Jul 2017 A1
20170214545 Cheng et al. Jul 2017 A1
20170214701 Hasan Jul 2017 A1
20170223117 Messerli et al. Aug 2017 A1
20170237710 Mayya et al. Aug 2017 A1
20170257260 Govindan et al. Sep 2017 A1
20170257309 Appanna Sep 2017 A1
20170264496 Ao et al. Sep 2017 A1
20170279717 Bethers et al. Sep 2017 A1
20170279803 Desai et al. Sep 2017 A1
20170289002 Ganguli et al. Oct 2017 A1
20170302565 Ghobadi et al. Oct 2017 A1
20170310641 Jiang et al. Oct 2017 A1
20170310691 Vasseur et al. Oct 2017 A1
20170317974 Masurekar et al. Nov 2017 A1
20170337086 Zhu et al. Nov 2017 A1
20170339054 Yadav et al. Nov 2017 A1
20170339070 Chang et al. Nov 2017 A1
20170364419 Lo Dec 2017 A1
20170366445 Nemirovsky et al. Dec 2017 A1
20170374174 Evens et al. Dec 2017 A1
20180006995 Bickhart et al. Jan 2018 A1
20180007123 Cheng et al. Jan 2018 A1
20180014051 Phillips et al. Jan 2018 A1
20180034668 Mayya et al. Feb 2018 A1
20180041425 Zhang Feb 2018 A1
20180062914 Boutros et al. Mar 2018 A1
20180062917 Chandrashekhar et al. Mar 2018 A1
20180063036 Chandrashekhar et al. Mar 2018 A1
20180063233 Park Mar 2018 A1
20180069924 Tumuluru et al. Mar 2018 A1
20180074909 Bishop et al. Mar 2018 A1
20180077081 Lauer et al. Mar 2018 A1
20180077202 Xu Mar 2018 A1
20180084081 Kuchibhotla et al. Mar 2018 A1
20180114569 Strachan et al. Apr 2018 A1
20180131615 Zhang May 2018 A1
20180131720 Hobson et al. May 2018 A1
20180145899 Rao May 2018 A1
20180159856 Gujarathi Jun 2018 A1
20180167378 Kostyukov et al. Jun 2018 A1
20180176073 Dubey et al. Jun 2018 A1
20180176082 Katz et al. Jun 2018 A1
20180176130 Banerjee et al. Jun 2018 A1
20180213472 Ishii et al. Jul 2018 A1
20180219765 Michael et al. Aug 2018 A1
20180219766 Michael et al. Aug 2018 A1
20180234300 Mayya et al. Aug 2018 A1
20180260125 Botes et al. Sep 2018 A1
20180262468 Kumar et al. Sep 2018 A1
20180270104 Zheng et al. Sep 2018 A1
20180278541 Wu et al. Sep 2018 A1
20180295529 Jen et al. Oct 2018 A1
20180302286 Mayya et al. Oct 2018 A1
20180302321 Manthiramoorthy et al. Oct 2018 A1
20180351855 Sood et al. Dec 2018 A1
20180351862 Jeganathan et al. Dec 2018 A1
20180351863 Vairavakkalai et al. Dec 2018 A1
20180351882 Jeganathan et al. Dec 2018 A1
20180373558 Chang et al. Dec 2018 A1
20180375744 Mayya et al. Dec 2018 A1
20180375824 Mayya et al. Dec 2018 A1
20180375967 Pithawala et al. Dec 2018 A1
20190014038 Ritchie Jan 2019 A1
20190020588 Twitchell, Jr. Jan 2019 A1
20190020627 Yuan Jan 2019 A1
20190028552 Johnson et al. Jan 2019 A1
20190036810 Michael et al. Jan 2019 A1
20190046056 Khachaturian et al. Feb 2019 A1
20190058657 Chunduri et al. Feb 2019 A1
20190058709 Kempf et al. Feb 2019 A1
20190068470 Mirsky Feb 2019 A1
20190068493 Ram et al. Feb 2019 A1
20190068500 Hira Feb 2019 A1
20190075083 Mayya et al. Mar 2019 A1
20190103990 Cidon et al. Apr 2019 A1
20190103991 Cidon et al. Apr 2019 A1
20190103992 Cidon et al. Apr 2019 A1
20190103993 Cidon et al. Apr 2019 A1
20190104035 Cidon et al. Apr 2019 A1
20190104049 Cidon et al. Apr 2019 A1
20190104050 Cidon et al. Apr 2019 A1
20190104051 Cidon et al. Apr 2019 A1
20190104052 Cidon et al. Apr 2019 A1
20190104053 Cidon et al. Apr 2019 A1
20190104063 Cidon et al. Apr 2019 A1
20190104064 Cidon et al. Apr 2019 A1
20190104109 Cidon et al. Apr 2019 A1
20190104111 Cidon et al. Apr 2019 A1
20190104413 Cidon et al. Apr 2019 A1
20190140889 Mayya et al. May 2019 A1
20190140890 Mayya et al. May 2019 A1
20190158605 Markuze et al. May 2019 A1
20190199539 Deng et al. Jun 2019 A1
20190238364 Boutros et al. Aug 2019 A1
20190238449 Michael et al. Aug 2019 A1
20190238450 Michael et al. Aug 2019 A1
20190268421 Markuze et al. Aug 2019 A1
20190280962 Michael et al. Sep 2019 A1
20190280963 Michael et al. Sep 2019 A1
20190280964 Michael et al. Sep 2019 A1
20190313907 Khachaturian et al. Oct 2019 A1
20190319847 Nahar et al. Oct 2019 A1
20190364099 Thakkar et al. Nov 2019 A1
20190372888 Michael et al. Dec 2019 A1
20190372889 Michael et al. Dec 2019 A1
20190372890 Michael et al. Dec 2019 A1
20200014615 Michael et al. Jan 2020 A1
20200014616 Michael et al. Jan 2020 A1
20200014661 Mayya et al. Jan 2020 A1
20200021514 Michael et al. Jan 2020 A1
20200021515 Michael et al. Jan 2020 A1
20200036624 Michael et al. Jan 2020 A1
20200059459 Abraham et al. Feb 2020 A1
20200092207 Sipra et al. Mar 2020 A1
20200106696 Michael et al. Apr 2020 A1
20200106706 Mayya et al. Apr 2020 A1
20200127905 Mayya et al. Apr 2020 A1
20200153736 Liebherr et al. May 2020 A1
20200218558 Sreenath et al. Jul 2020 A1
20200235990 Janakiraman et al. Jul 2020 A1
20200235999 Mayya et al. Jul 2020 A1
20200236046 Jain et al. Jul 2020 A1
20200244721 S et al. Jul 2020 A1
20200267184 Vera-Schockner Aug 2020 A1
20200296026 Michael et al. Sep 2020 A1
20200366530 Mukundan et al. Nov 2020 A1
20200366562 Mayya et al. Nov 2020 A1
Foreign Referenced Citations (10)
Number Date Country
1912381 Apr 2008 EP
3041178 Jul 2016 EP
3509256 Jul 2019 EP
03073701 Sep 2003 WO
2012167184 Dec 2012 WO
2017083975 May 2017 WO
2019070611 Apr 2019 WO
2019094522 May 2019 WO
2020018704 Jan 2020 WO
2020101922 May 2020 WO
Non-Patent Literature Citations (14)
Entry
Mudigonda, Jayaram, et al., “NetLord: A Scalable Multi-Tenant Network Architecture for Virtualized Datacenters,” Proceedings of the ACM SIGCOMM 2011 Conference, Aug. 15-19, 2011, 12 pages, ACM, Toronto, Canada.
Petition for Post-Grant Review of U.S. Pat. No. 9,722,815, filed May 1, 2018, 106 pages.
Del Piccolo, Valentin, et al., “A Survey of Network Isolation Solutions for Multi-Tenant Data Centers,” IEEE Communications Society, Apr. 20, 2016, vol. 18, No. 4, 37 pages, IEEE.
Fortz, Bernard, et al., “Internet Traffic Engineering by Optimizing OSPF Weights,” Proceedings IEEE Infocom 2000, Conference on Computer Communications, Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies, Mar. 26-30, 2000, 11 pages, IEEE, Tel Aviv, Israel, Israel.
Francois, Frederic, et al., “Optimizing Secure SDN-enabled Inter-Data Centre Overlay Networks through Cognitive Routing,” 2016 IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), Sep. 19-21, 2016, 10 pages, IEEE, London, UK.
Michael, Nithin, et al., “HALO: Hop-by-Hop Adaptive Link-State Optimal Routing,” IEEE/ACM Transactions on Networking, Dec. 2015, 14 pages, vol. 23, No. 6, IEEE.
Mishra, Mayank, et al., “Managing Network Reservation for Tenants in Oversubscribed Clouds,” 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems, Aug. 14-16, 2013, 10 pages, IEEE, San Francisco, CA, USA.
Non-Published Commonly Owned U.S. Appl. No. 17/068,603, filed Oct. 12, 2020, 37 pages, Nicira, Inc.
Non-Published Commonly Owned U.S. Appl. No. 16/818,862 (MODE.P001C1), filed Mar. 13, 2020, 198 pages, The Mode Group.
Ray, Saikat, et al., “Always Acyclic Distributed Path Computation,” University of Pennsylvania Department of Electrical and Systems Engineering Technical Report, May 2008, 16 pages, University of Pennsylvania ScholarlyCommons.
Webb, Kevin C., et al., “Blender: Upgrading Tenant-Based Data Center Networking,” 2014 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Oct. 20-21, 2014, 11 pages, IEEE, Marina del Rey, CA, USA.
Yap, Kok-Kiong, et al., “Taking the Edge off with Espresso: Scale, Reliability and Programmability for Global Internet Peering,” SIGCOMM '17: Proceedings of the Conference of the ACM Special Interest Group on Data Communication, Aug. 21-25, 2017, 14 pages, Los Angeles, CA.
Non-Published Commonly Owned U.S. Appl. No. 16/945,700, filed Jul. 31, 2020, 37 pages, Nicira, Inc.
Huang, Cancan, et al., “Modification of Q.SD-WAN,” Rapporteur Group Meeting—Doc, Study Period 2017-2020, Q4/11-DOC1 (190410), Study Group 11, Apr. 10, 2019, 19 pages, International Telecommunication Union, Geneva, Switzerland.
Related Publications (1)
Number Date Country
20200119952 A1 Apr 2020 US
Provisional Applications (2)
Number Date Country
62457816 Feb 2017 US
61844822 Jul 2013 US
Continuations (1)
Number Date Country
Parent 15624532 Jun 2017 US
Child 16656555 US
Continuation in Parts (1)
Number Date Country
Parent 14321818 Jul 2014 US
Child 15624532 US