Link grouping for route optimization
US-9015299-B1 · Apr 21, 2015 · US
US11894949B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11894949-B2 |
| Application number | US-202318102685-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 28, 2023 |
| Priority date | Oct 2, 2017 |
| Publication date | Feb 6, 2024 |
| Grant date | Feb 6, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Some embodiments establish for an entity a virtual network over several public clouds of several public cloud providers and/or in several regions. In some embodiments, the virtual network is an overlay network that spans across several public clouds to interconnect one or more private networks (e.g., networks within branches, divisions, departments of the entity or their associated datacenters), mobile users, and SaaS (Software as a Service) provider machines, and other web applications of the entity. The virtual network in some embodiments can be configured to optimize the routing of the entity's data messages to their destinations for best end-to-end performance, reliability and security, while trying to minimize the routing of this traffic through the Internet. Also, the virtual network in some embodiments can be configured to optimize the layer 4 processing of the data message flows passing through the network.
Opening claim text (preview).
We claim: 1. A method for defining multiple routes to a SaaS (Software as a Service) provider through a virtual network defined by a plurality of managed routers deployed in a set of one or more one public clouds, the method comprising: providing, to each of a plurality of measurement agents deployed in the set of public clouds, an identifier identifying the SaaS provider for the measurement agent to generate a measurement that quantifies an attribute of a network path between the measurement agent and the identified SaaS provider, wherein the identifier for the SaaS provider is a network address associated with a set of one or more datacenters of the SaaS provider; receiving, from each measurement agent, measurements for the identified SaaS provider; based on the received measurements, selecting a set of at least two managed forwarding nodes (MFNs), deployed in one or more public clouds of the set of public clouds, to use to reach the SaaS provider from the virtual network; and using the selected set of at least two MFNs to define routes through the virtual network to the SaaS provider. 2. The method of claim 1 , wherein providing, to each of the plurality of measurement agents, an identifier identifying the SaaS provider comprises providing, to each of the plurality of measurement agents, identifiers identifying a plurality of SaaS providers for the measurement agent to generate a measurement that quantifies an attribute of a connection between an MFN associated with the measurement agent and each identified SaaS provider datacenter, and selecting the set of at least two MFNs to use to reach the SaaS provider comprises for each of a set of the SaaS providers, selecting at least two MFNs to use to reach the SaaS provider. 3. The method of claim 2 , wherein the virtual network is for an entity, and selecting the set of MFNs for each SaaS provider comprises: generating a routing graph for identifying routes from compute nodes of the entity that are external to the virtual network to each SaaS provider through the virtual network; using the received measurements to compute weights of links in the routing graph; and using the routing graph to perform route-identifying process to identify routes to the SaaS providers that use for each SaaS provider the set of MFNs for that SaaS provider. 4. The method of claim 3 further comprising providing the routes to MFNs used to define the virtual network and to at least one multi-computer node of the entity that is external to the virtual network, each route identifying a next hop for traversing a routing path to a SaaS provider from the MCN or a routing path to a SaaS provider. 5. The method of claim 1 , wherein each measurement agent generates a plurality of measurements regarding a plurality of attributes associated with the path between the public cloud in which the measurement agent is deployed and the SaaS provider, the method further comprising computing a weight value for the path between each measurement agent's public cloud and the SaaS provider based on the plurality of measurements received from the measurement agents. 6. The method of claim 5 , wherein the plurality of measurements comprises message loss rate and message delay for the path between the SaaS provider and each MFN. 7. The method of claim 6 , wherein the plurality of measurements further comprises financial cost associated with the path between the SaaS provider and each MFN. 8. The method of claim 1 , wherein each measurement agent has, in a same public cloud, at least one associated managed router for forwarding messages to the SaaS provider. 9. A non-transitory machine readable medium storing a program for defining multiple routes to a SaaS (Software as a Service) provider through a virtual network defined by a plurality of managed routers deployed in a set of one or more one public clouds, the program comprising sets of instructions for: providing, to each of a plurality of measurement agents deployed in the set of public clouds, an identifier identifying the SaaS provider for the measurement agent to generate a measurement that quantifies an attribute of a network path between the measurement agent and the identified SaaS provider, wherein the identifier for the SaaS provider is a network address associated with a set of one or more datacenters of the SaaS provider; receiving, from each measurement agent, measurements for the identified SaaS provider; based on the received measurements, selecting a set of at least two managed forwarding nodes (MFNs), deployed in one or more public clouds of the set of public clouds, to use to reach the SaaS provider from the virtual network; and using the selected set of at least two MFNs to define routes through the virtual network to the SaaS provider. 10. The non-transitory machine readable medium of claim 9 , wherein: the set of instructions for providing, to each of the plurality of measurement agents, an identifier identifying the SaaS provider comprises a set of instructions for providing, to each of the plurality of measurement agents, identifiers identifying a plurality of SaaS providers for the measurement agent to generate a measurement that quantifies an attribute of a connection between an MFN associated with the measurement agent and each identified SaaS provider datacenter, and the set of instructions for selecting the set of at least two MFNs to use to reach the SaaS provider comprises for each of a set of the SaaS providers, a set of instructions for selecting at least two MFNs to use to reach the SaaS provider. 11. The non-transitory machine readable medium of claim 10 , wherein the virtual network is for an entity, and the set of instructions for selecting the set of MFNs for each SaaS provider comprises sets of instructions for: generating a routing graph for identifying routes from compute nodes of the entity that are external to the virtual network to each SaaS provider through the virtual network; using the received measurements to compute weights of links in the routing graph; and using the routing graph to perform route-identifying process to identify routes to the SaaS providers that use for each SaaS provider the set of MFNs for that SaaS provider. 12. The non-transitory machine readable medium of claim 11 further comprising a set of instructions for providing the routes to MFNs used to define the virtual network and to at least one multi-computer node of the entity that is external to the virtual network, each route identifying a next hop for traversing a routing path to a SaaS provider from the MCN or a routing path to a SaaS provider. 13. The non-transitory machine readable medium of claim 9 , wherein each measurement agent generates a plurality of measurements regarding a plurality of attributes associated with the path between the public cloud in which the measurement agent is deployed and the SaaS provider, the program further comprising a set of instructions for computing a weight value for the path between each measurement agent's public cloud and the SaaS provider based on the plurality of measurements received from the measurement agents. 14. The non-transitory machine readable medium of claim 13 , wherein the plurality of measurements comprises message loss rate and message delay for the path between the SaaS provider and each MFN. 15. The non-transitory machine readable medium of claim 14 , wherein the plurality of measurements further comprises financial cost associated with the path between the SaaS provider and each MFN. 16. The non-transitory machine readable medium of claim 9 , wherein each
Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters · CPC title
Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76) · CPC title
Policy-based network configuration management · CPC title
Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements · CPC title
Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.