CN114303342A - 提供用于实现虚拟网络的推荐 - Google Patents

提供用于实现虚拟网络的推荐 Download PDF

Info

Publication number
CN114303342A
CN114303342A CN202080060188.2A CN202080060188A CN114303342A CN 114303342 A CN114303342 A CN 114303342A CN 202080060188 A CN202080060188 A CN 202080060188A CN 114303342 A CN114303342 A CN 114303342A
Authority
CN
China
Prior art keywords
public cloud
virtual network
mfn
entity
cloud data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080060188.2A
Other languages
English (en)
Inventor
I·希东
P·维努戈帕尔
A·伯格曼
C·达尔
A·马尔库兹
E·左哈尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VMware LLC
Original Assignee
VMware LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by VMware LLC filed Critical VMware LLC
Publication of CN114303342A publication Critical patent/CN114303342A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2535Multiple local networks, e.g. resolving potential IP address conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • H04L2012/5609Topology
    • H04L2012/5612Ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • H04L2012/562Routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • H04L2012/5623Network design, dimensioning, topology or optimisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0826Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Generation (AREA)

Abstract

一些实施例提供了一种用于在用于不同实体的若干公共云数据中心上部署不同虚拟网络的新颖方法。对于每个实体,该方法(1)识别一个或多个公共云提供者的公共云数据中心的集合以连接该实体的机器的集合,(2)在识别出的公共云数据中心的集合中为实体部署受管理转发节点(MFN),然后(3)配置MFN以实现虚拟网络,该虚拟网络跨其识别出的公共云数据中心的集合连接实体的机器的集合。在一些实施例中,该方法通过接收来自实体的网络管理员的输入来识别用于实体的公共云数据中心的集合。在一些实施例中,这个输入指定要使用的公共云提供者和/或应当在其中定义虚拟网络的公共云区域。相结合地或可替代地,这个输入在一些实施例中指定要使用的实际公共云数据中心。

Description

提供用于实现虚拟网络的推荐
背景技术
如今,公司企业网络是安全地连接公司的不同机构和分部的通信骨干。这种网络通常是广域网(WAN),它连接(1)分支机构和区域园区中的用户、(2)托管业务应用、内联网及其对应数据的公司数据中心,以及(3)通过公司防火墙和DMZ(非军事区)的全球互联网。企业网络包括专用硬件,诸如交换机、路由器和通过昂贵的租用线路(诸如帧中继和MPLS(多协议标签交换))互连的中间盒设备。
在最近几年中,公司服务和消费通信服务的方式发生了范式翻译。首先,移动性革命已允许用户使用移动设备(主要是智能电话)随时随地访问服务。此类用户通过公共互联网和蜂窝网络访问业务服务。同时,第三方SaaS(软件即服务)供应商(例如,Salesforce、Workday、Zendesk)已取代了传统的本地应用,而托管在私有数据中心中的其它应用已重定位到公共云。虽然这种流量仍在企业网络内承载,但其中很大一部分是在企业网络范围之外发起和终止的并且必须穿越公共互联网(一次或两次)以及企业网络。最近的研究表明,有40%的公司网络报告回传流量(即,在公司网络中观察到的互联网流量)所占的百分比超过80%。这意味着公司流量的大部分都通过昂贵的租用线路和消费者互联网承载。
作为以消费者为中心的服务,互联网本身是业务流量的坏媒介。它缺乏关键业务应用预期的可靠性、QoS(服务质量)保证和安全性。而且,不断增长的消费者流量需求、网络中立法规以及主要参与者(例如,Netflix、Google、公共云)创建的互联网绕过技术降低了每个流量单位的货币回报。这些趋势降低了服务提供者迅速赶上消费者需求并提供适当的业务服务的动机。
鉴于公共云的增长,公司正在将其更多的计算基础设施迁移到公共云数据中心。公共云提供者一直处于计算和联网基础设施投资的前沿。这些云服务已在全球范围内建立了许多数据中心,Azure、AWS、IBM和Google在2016分别扩展到了38、16、25和14个全球区域。每个公共云提供者都使用昂贵的高速网络来互连自己的数据中心,这些高速网络采用由潜艇部署的暗光纤和海底电缆。
如今,虽然进行了这些改变,但是公司网络策略常常强制所有公司流量通过其安全的WAN网关。随着用户变得移动并且应用迁移到SaaS和公共云,公司WAN的绕道成本变高,这减慢了所有公司通信的速度。大多数公司WAN的流量都或者来自互联网或者发往互联网。通过互联网发送这种流量的替代安全解决方案由于性能差且不可靠而不适用。
发明内容
一些实施例为实体在一个或多个区域(例如,若干城市、州、国家等)中的一个或多个公共云提供者的多个公共云数据中心上建立虚拟网络。可以为其建立这种虚拟网络的实体的示例包括商业实体(例如,公司)、非营利实体(例如,医院、研究机构等)和教育实体(例如,大学、学院等)或任何其它类型的实体。公共云提供者的示例包括Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Microsoft Azure等。
在一些实施例中,高速、可靠的私有网络互连公共云数据中心(公共云)中的两个或更多个。一些实施例将虚拟网络定义为跨越若干公共云以互连一个或多个私有网络(例如,实体的分支、分部、部门或其相关联的数据中心内的网络)、移动用户、SaaS(软件即服务)提供者的机器、(一个或多个)公共云中的机器和/或服务以及其它web应用的覆盖网络。
一些实施例利用逻辑上集中的控制器集群(例如,一个或多个控制器服务器的集合),其配置公共云部件在若干公共云上实现虚拟网络。在一些实施例中,这个集群中的控制器位于各种不同的位置(例如,位于不同的公共云数据中心中),以便改进冗余性和高可用性。在一些实施例中,控制器集群按比例放大或缩小用于建立虚拟网络的公共云部件或分配给这些部件的计算或网络资源的数量。
一些实施例在相同公共云提供者的相同公共云集合上和/或在相同或不同公共云提供者的不同公共云集合上为不同实体建立不同的虚拟网络。在一些实施例中,虚拟网络提供者提供软件和服务,该软件和服务允许不同的租户在相同或不同的公共云上定义不同的虚拟网络。在一些实施例中,相同的控制器集群或不同的控制器集群可以被用于配置公共云部件,以针对若干不同实体在相同或不同的公共云集合上实现不同的虚拟网络。
为了在一个或多个公共云上为租户部署虚拟网络,控制器集群(1)基于租户的分支机构、数据中心、移动用户和SaaS提供者的位置来识别用于进入和离开租户的虚拟网络的可能入口和出口路由器,以及(2)识别通过实现虚拟网络的其它中间公共云路由器从识别出的入口路由器遍历到识别出的出口路由器的路由。在识别出这些路由之后,控制器集群将这些路由传播到(一个或多个)公共云中虚拟网络路由器的转发表。在使用基于OpenvSwitch(OVS)的虚拟网络路由器的实施例中,控制器通过使用OpenFlow来分发路由。
一些实施例提供了一种用于在用于不同实体的若干公共云数据中心上部署不同虚拟网络的新颖方法。对于每个实体,该方法(1)识别一个或多个公共云提供者的公共云数据中心的集合以连接该实体的机器的集合,(2)为识别出的公共云数据中心的集合中的实体部署受管理转发节点(MFN),然后(3)配置MFN以实现跨其识别出的公共云数据中心的集合连接实体的机器集合的虚拟网络。
在一些实施例中,受管理转发节点包括在一个或多个主机计算机的集合上执行以执行转发操作的一个或多个模块。在一些实施例中,MFN还执行其它操作,诸如服务操作,例如NAT操作、负载平衡操作等。在一些实施例中,该方法为实体部署的MFN仅用于处理用于那个实体的机器的数据消息流。例如,在一些实施例中,为实体部署的MFN是专用MFN,因为它们仅携带用于那个实体的数据消息流。
在一些实施例中,该方法为不同实体定义的不同虚拟网络可以在它们跨越的公共云数据中心、它们使用的不同公共云提供者的公共云和/或它们在其中被定义的不同公共云区域中不同。在一些实施例中,通过其虚拟网络连接的实体的机器是任何公共云之外的机器。在其它实施例中,实体的机器中的一些在公共云中,而其它机器驻留在公共云之外。而且,在一些实施例中,实体的机器包括实体用于某些SaaS操作的SaaS提供者机器。
在一些实施例中,该方法通过接收来自实体的网络管理员的输入来识别用于实体的公共云数据中心的集合。在一些实施例中,这个输入指定要使用的公共云提供者和/或应当在其中定义虚拟网络的公共云区域。附加地或可替代地,这个输入在一些实施例中指定要使用的实际公共云数据中心。在上述方法下,不同实体常常以非常不同的虚拟网络结束,因为实体常常提供关于期望的公共云提供者、区域和/或数据中心的不同输入。一些实施例的方法用该方法识别为期望数据中心的一个或多个公共云数据中心来补充通过实体的输入为实体识别出的公共云数据中心的集合以添加到实体的数据中心的集合,如下文进一步描述的。
为了配置MFN,该方法在公共云数据中心(PCD)中部署测量代理,并让这些代理交换消息以便生成网络测量,该网络测量量化PCD的不同对或PCD组的不同对之间(例如,不同公共云区域或可用区之间)的网络连接的质量。该方法为两个PCD或PCD组之间的连接生成的网络测量的示例包括在这个连接上经历的丢失、延迟和抖动,以及连接的可靠性和成本。
在一些实施例中,该方法基于它为它为实体识别出的PCD的集合生成的网络测量来配置为该实体部署的MFN。例如,在一些实施例中,该方法通过以下来配置为实体部署的MFN:(1)执行路径识别处理,该处理使用为实体的识别出的PCD集合生成的测量来识别跨识别出的PCD的集合连接实体的机器的路径的集合,以及(2)使用识别出的路径来定义配置MFN以沿着不同路径转发数据消息流的下一跳记录。为了配置MFN,在一些实施例中该方法将下一跳记录提供给将它们分发到MFN的控制器的集合。
为了识别路径,该方法使用生成的测量来执行最小成本(例如,最短)路径搜索。一些实施例允许不同实体指导该方法在执行其路径搜索时使用不同类型的测量,例如,一个实体可以指导该方法最小化消息延迟,另一个实体可以指导该方法最小化消息抖动,又一个实体可以指导该方法最小化损失和延迟,等等。对于每个实体,该方法在一些实施例中自定义配置其路径搜索操作以优化由该实体指定的准则的集合。
如上面所提到的,一些实施例的方法用该方法识别为期望数据中心的一个或多个PCD或PCD组来补充其通过实体的输入为实体识别出的公共云数据中心的集合以添加到实体的数据中心的集合。在一些实施例中,该方法向实体提供在为实体部署任何MFN之前将某些公共云、PCD组或PCD添加到由实体指定的公共云或PCD的列表的推荐。附加地或可替代地,在一些实施例中该方法提供在部署实体的MFN之后添加一个或多个公共云或PCD的推荐,收集关于它们的使用情况的统计信息并分析统计信息以确定是否期望添加公共云或PCD。基于其对收集的统计信息的分析,该方法在一些实施例中还推荐移除未充分利用的公共云或PCD。
一些实施例的方法允许实体在某些情形下使用尚未专门为该实体部署的其它MFN。在一些实施例中,这些其它MFN是共享MFN,因为多个实体可以使用它们,而不是专门为单个实体部署的专用MFN。在一些实施例中,专门为一个实体部署的专用MFN具有与由多个实体部署和使用的共享MFN相同的属性并执行相同的操作(例如,在执行其转发操作时检查租户标识符)。在这些实施例中,专用MFN与共享MFN之间的唯一区别在于专用MFN被用于处理针对仅一个租户的数据消息,而共享MFN被用于处理针对多个实体的数据消息。
实体可以使用尚未专门为该实体部署的共享MFN的一个示例涉及由位于远程位置的实体的移动设备在远程位置使用MFN。例如,实体可以主要在一个地区操作(例如,仅在北美设有机构等),但可以有用户进行国际旅行并且需要通过在公共云上为其部署的虚拟网络访问该实体的网络。对于此类情况,一些实施例的方法允许这些旅行用户的移动设备(例如,电话、平板电脑、膝上型计算机等)通过该方法在国外的一个或多个PCD(例如,欧洲或亚洲的公共云)中部署的MFN来访问其虚拟网络。
另一个示例涉及使用部署在互联网骨干附近的数据中心中或用作互联网骨干的一部分的MFN。在互联网主干附近或在互联网主干处设置机器是困难的,并且对于任何一个实体来说都是昂贵的。因而,实体通常可能不会要求其虚拟网络在互联网骨干附近或互联网骨干处部署专用的MFN。甚至可能无法部署此类专用MFN。
在为实体部署MFN之前或之后,该方法的路径搜索可能确定,对于实体的某些计算节点,期望使用穿过部署在互联网骨干附近或互联网骨干处的一个或多个共享MFN(即,使用离开实体的专用虚拟网络的路径以使用互联网骨干附近或互联网骨干处的一个或多个MFN)的路径。在此类情况下,一些实施例的方法向实体提供应当使用部署在互联网骨干附近或互联网骨干处的共享MFN的推荐。当实体接受这个推荐时,该方法将MFN配置为使用识别出的(一条或多条)路径,这些路径在互联网主干附近或互联网骨干处使用共享MFN。
一些实施例的方法允许当实体的专用虚拟网络出现拥塞或预期在为实体专门部署的一个或多个MFN处拥塞时临时使用共享MFN。在一些实施例中,该方法收集并分析关于已经为特定实体部署的专用MFN的使用情况的统计信息。基于这种分析,该方法识别出一个或多个拥塞的MFN,并且作为响应,重新配置一个或多个网络元件(例如,负载平衡器)以将数据消息流中的一些重定向到共享MFN,并重新配置这些共享MFN转发实体的数据消息流,直到它们到达其目的地节点或它们到达实体的虚拟网络中的另一个入口节点。
在一些实施例中的方法不部署和配置MFN来实现虚拟网络。例如,在一些实施例中,该方法向部署和配置MFN的其它处理提供量化PCD或PCD组之间的连接的测量。在其它实施例中,该方法将这些测量提供给执行其它基于云的操作的其它处理,诸如在公共云中部署应用机器并使用测量来识别用于此类部署的最佳位置的处理。还有其它实施例的方法使用这些测量来执行其它基于云的操作本身(例如,在公共云中部署应用机器并使用测量来识别用于此类部署的最佳位置)。
前面的发明内容旨在用作本发明的一些实施例的简要介绍。它并不意味着是本文档中公开的所有发明性主题的介绍或概述。以下的具体实施方式和在具体实施方式中引用的附图说明将进一步描述在发明内容中描述的实施例以及其它实施例。因而,为了理解本文档描述的所有实施例,需要对发明内容、具体实施方式、附图说明和权利要求书的全面回顾。而且,要求保护的主题不受发明内容、具体实施方式和附图说明中的说明性细节的限制。
附图说明
在所附权利要求书中阐述了本发明的新颖特征。但是,出于解释的目的,在以下附图中阐述本发明的若干实施例。
图1A给出了在两个公共云提供者的若干公共云数据中心上为公司定义的虚拟网络。
图1B图示了在公共云上部署的两个公司租户的两个虚拟网络的示例。
图1C可替代地图示了两个虚拟网络的示例,其中一个网络部署在公共云上,而另一个虚拟网络部署在另一对公共云上。
图2图示了本发明一些实施例的受管理转发节点和控制器集群的示例。
图3图示了在一些实施例中控制器测量-处理层产生的测量图的示例。
图4A图示了在一些实施例中控制器路径识别层从测量图产生的路由图的示例。
图4B图示了将两个SaaS提供者的已知IP添加到路由图中的两个节点(其是在最接近这些SaaS提供者的数据中心的数据中心中的两个节点)的示例。
图4C示出了通过添加代表两个SaaS提供者的两个节点而生成的路由图。
图4D图示了路由图,其中添加了附加节点以表示具有分别连接到两个公共云的已知IP地址的分支机构和数据中心。
图5图示了控制器路径识别层用来根据从控制器测量层接收到的测量图生成路由图的处理。
图6图示了一些实施例的IPsec数据消息格式。
图7图示了一些实施例的两个封装报头的示例,而图8给出了图示在一些实施例中如何使用这两个报头的示例。
图9-11图示了当入口、中间和出口受管理转发节点(MFN)接收在两个不同分支机构中的两个计算设备之间发送的消息时分别由入口、中间和出口MFN执行的消息处置处理。
图12图示了不涉及入口和出口MFN之间的中间MFN的示例。
图13图示了当入口MFN接收到从分支机构中的公司计算设备发送到另一个分支机构或SaaS提供者数据中心中的另一个设备的消息时由入口MFN的云转发元件(CFE)执行的消息处置处理。
图14给出了示出一个或多个公共云提供者的N个公共云中具有网络基础设施和(一个或多个)控制器集群的虚拟网络提供者的M个租户的M个虚拟公司WAN的示例。
图15从概念上图示了由虚拟网络提供者的控制器集群执行的用于为特定租户部署和管理虚拟WAN的处理。
图16图示了一些实施例的三层SaaS部署模型。
图17图示了一些实施例的两层SaaS部署模型。
图18图示了一些实施例的中央控制器集群用来定义用于多宿主、多机器计算节点(MMCN)的路由的处理。
图19给出了两个MMCN和SaaS数据中心的两个分支节点的示例。
图20图示了一些实施例的中央控制器集群用来定义用于多宿主SaaS提供者的路由的处理。
图21图示了VNP在一些实施例中用于部署和配置专用MFN以建立用于实体的专用虚拟网络的处理,该实体请求将这种网络部署在公共云提供者的特定集合、公共云区域的特定集合和/或公共云数据中心的特定集合上。
图22给出了图示为三个不同公司在美国的若干公共云上部署的三个不同虚拟网络的示例。
图23概念性地图示了基于收集到的统计信息和新测量来产生添加MFN的推荐的VNP处理。
图24图示了将新PCD添加到虚拟网络以提高其性能的示例。
图25概念性地图示了产生移除一个或多个未充分利用的MFN的推荐的VNP处理。
图26图示了从虚拟网络中移除PCD以便移除这个PCD中未充分利用的MFN的示例。
图27概念性地图示了产生在至少一对机器端点之间的至少一条路径的至少一持续时间内将数据消息流量中的一些从实体的专用虚拟网络的专用MFN卸载到一个或多个共享MFN的推荐的VNP处理。
图28-30图示了将数据消息流中的一些从专用虚拟网络的过度拥塞的专用MFN指引到共享MFN的示例。
图31图示了停止将数据流量负载中的一些重定向离开专用MFN的处理。
图32概念性地图示了为实体的专用虚拟网络产生使用一个或多个骨干MFN的推荐的处理。
图33和34图示了将数据消息流中的一些从实体的专用虚拟网络的一个或多个专用MFN指引到其目的地共享骨干MFN的示例。
图35图示了一些实施例用于为具有从通过VNP的共享MFN提供的远程位置的移动设备访问支持的实体部署专用虚拟网络的处理。
图36图示了连接到在北美定义的专用虚拟网络的中国移动设备的示例。
图37图示了一些实施例用于识别从VNP为其部署和配置专用MFN以建立专用虚拟网络的实体的机器的集合到SaaS提供者的最优路径的处理。
图38图示了其中基于实体选择用于部署其虚拟网络的PCD来选择SaaS数据中心的示例。
图39图示了通过多个链路将MMCN位置(机构、数据中心等)处的多个计算设备连接到互联网的边缘节点的示例。
图40图示了考虑SD-WAN边缘节点和互联网之间的不同链路的可用性并将SD-WAN边缘节点配置为使用用于该边缘节点连接到的一个或多个MFN的集合中的每个MFN的最佳链路的处理。
图41给出了图示配置SD-WAN边缘节点以使用最佳链路/MFN对作为到虚拟网络中目的地端点的最佳路径的示例。
图42图示了一些实施例用于基于由一些实施例的测量基础设施生成的测量在公共云中以最优位置部署一个或多个资源的集合的处理。
图43是一些实施例用来识别公共云中的最优状态的若干部件。
图44给出了图示用于为具有需要访问机器的边缘节点的特定集合的特定实体部署该机器的最优位置的示例。
图45概念性地图示了利用其实现本发明的一些实施例的计算机系统。
具体实施方式
在本发明的以下详细描述中,阐述并描述了本发明的许多细节、示例和实施例。但是,对于本领域技术人员而言将显而易见的是,本发明不限于所阐述的实施例,并且可以在不讨论其中一些具体细节和示例的情况下实践本发明。
一些实施例为实体在一个或多个区域(例如,若干城市、州、国家等)中的一个或多个公共云提供者的多个公共云数据中心上建立虚拟网络。可以为其建立这种虚拟网络的实体的示例包括商业实体(例如,公司)、非营利实体(例如,医院、研究机构等)和教育实体(例如,大学、学院等)或任何其它类型的实体。公共云提供者的示例包括Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Microsoft Azure等。
一些实施例将虚拟网络定义为跨越若干公共云数据中心(公共云)以互连一个或多个私有网络(例如,实体的分支、分部、部门或其相关联的数据中心内的网络)、移动用户、SaaS(软件作为服务)提供者的机器、(一个或多个)公共云中的机器和/或服务以及其它web应用的覆盖网络。在一些实施例中,高速、可靠的私有网络互连公共云数据中心(公共云)中的两个或更多个。
在一些实施例中,虚拟网络可以被配置为优化实体的数据消息到其目的地的路由,以获得最佳的端到端性能、可靠性和安全性,同时尝试最小化通过互联网的这种流量的路由。而且,在一些实施例中,虚拟网络可以被配置为优化通过网络的数据消息流的层4处理。例如,在一些实施例中,虚拟网络通过跨连接路径拆分速率控制机制来优化TCP(传输控制协议)连接的端到端速率。
一些实施例通过配置在若干公共云中部署的若干部件来建立虚拟网络。在一些实施例中,这些部件包括基于软件的测量代理、软件转发元件(例如,软件路由器、交换机、网关等)、层4连接代理和中间盒服务机器(例如,电器、VM、容器等)。
一些实施例利用逻辑上集中的控制器集群(例如,一个或多个控制器服务器的集合),其配置公共云部件在若干公共云上实现虚拟网络。在一些实施例中,这个集群中的控制器位于各种不同的位置(例如,位于不同的公共云数据中心中),以便改进冗余性和高可用性。当控制器集群中的不同控制器位于不同的公共云数据中心中时,在一些实施例中,控制器共享它们的状态(例如,它们生成以识别租户、通过虚拟网络的路由等的配置数据)。在一些实施例中,控制器集群按比例放大或缩小用于建立虚拟网络的公共云部件或分配给这些部件的计算或网络资源的数量。
一些实施例在相同公共云提供者的相同公共云集合上和/或在相同或不同公共云提供者的不同公共云集合上为不同实体建立不同的虚拟网络。在一些实施例中,虚拟网络提供者提供软件和服务,该软件和服务允许不同的租户在相同或不同的公共云上定义不同的虚拟网络。在一些实施例中,相同的控制器集群或不同的控制器集群可以被用于配置公共云部件,以针对若干不同实体在相同或不同的公共云集合上实现不同的虚拟网络。
在下面的讨论中提供公司虚拟网络的若干示例。但是,本领域的普通技术人员将认识到的是,一些实施例为其它类型的实体(诸如其它业务实体、非营利组织、教育实体等)定义虚拟网络。而且,如本文档中所使用的,数据消息是指跨网络发送的特定格式的位的集合。本领域普通技术人员将认识到的是,术语“数据消息”在本文档中用于指代跨网络发送的各种格式的位的集合。这些位的格式可以由标准化协议或非标准化协议指定。遵循标准化协议的数据消息的示例包括以太网帧、IP分组、TCP片段、UDP数据报等。而且,如本文档中所使用的,对L2、L3、L4和L7层(或层2、层3、层4或层7)的引用分别是对OSI(开放系统互连)层模型的第二数据链路层、第三网络层、第四传输层和第七应用层的引用。
图1A给出了虚拟网络100,该虚拟网络100是在两个公共云提供者A和B的若干公共云数据中心105和110上为公司定义的。如图所示,虚拟网络100是安全的覆盖网络,通过在不同的公共云中部署不同的受管理转发节点150并通过覆盖隧道152将受管理转发节点(MFN)彼此连接来建立。在一些实施例中,MFN是公共云数据中心中的若干不同部件的概念性分组,其与其它公共云数据中心中的其它MFN(具有部件的其它组)一起为一个或多个实体建立一个或多个覆盖虚拟网络。
如以下进一步描述的,在一些实施例中,形成MFN的部件的组包括(1)一个或多个VPN网关,用于与作为公共云数据中心外部的外部机器位置的实体的计算节点(例如,机构、私有数据中心、远程用户等)建立VPN连接,(2)一个或多个转发元件,用于在彼此之间转发封装的数据消息,以便在共享的公共云网络架构上定义覆盖虚拟网络,(3)一个或多个服务机器,用于执行中间盒服务操作以及L4-L7优化,以及(4)一个或多个测量代理,用于获得关于公共云数据中心之间的网络连接质量的测量,以便识别通过公共云数据中心的期望路径。在一些实施例中,出于冗余和可伸缩性的原因,不同的MFN可以具有不同的布置和不同数量的此类部件,并且一个MFN可以具有不同数量的此类部件。
而且,在一些实施例中,每个MFN的部件组在MFN的公共云数据中心中的不同计算机上执行。在一些实施例中,MFN的若干或全部部件可以在公共云数据中心的一个计算机上执行。在一些实施例中,MFN的部件在还执行其它租户的其它机器的主机计算机上执行。这些其它机器可以是其它租户的其它MFN的其它机器,或者可以是其它租户的不相关的机器(例如,计算VM或容器)。
在一些实施例中,虚拟网络100由虚拟网络提供者(VNP)部署,该虚拟网络提供者在相同或不同的公共云数据中心上针对不同实体(例如,虚拟网络提供者的不同公司客户/租户)部署不同的虚拟网络。在一些实施例中,虚拟网络提供者是部署MFN并提供用于配置和管理这些MFN的控制器集群的实体。
虚拟网络100将公司计算端点(诸如数据中心、分支机构和移动用户)彼此连接,并连接到驻留在公共云中或驻留在可通过互联网访问的私有数据中心中的外部服务(例如,公共web服务,或SaaS服务,诸如Office365或Salesforce)。如下面进一步描述的,在一些实施例中,SaaS是软件分发模型,其中第三方提供者托管应用,并使应用可以通过互联网供客户使用。
虚拟网络充分利用不同公共云的不同位置将不同的公司计算端点(例如,不同的私有网络和/或公司的不同移动用户)连接到它们附近的公共云。在下面的讨论中,公司计算端点也称为公司计算节点。在一些实施例中,虚拟网络100还充分利用将这些公共云互连的高速网络以通过公共云将数据消息转发到它们的目的地或尽可能接近它们的目的地,同时减少它们通过互联网的遍历。当公司计算端点在虚拟网络所跨越的公共云数据中心之外时,这些端点被称为外部机器位置。公司分支机构、私有数据中心和远程用户的设备就是这种情况。
在图1A所示的示例中,虚拟网络100跨越公共云提供者A的六个数据中心105a-105f和公共云提供者B的四个数据中心110a-110d。在跨越这些公共云时,这种虚拟网络连接位于不同地理区域的多个分支机构、公司数据中心、SaaS提供者和公司租户的移动用户。具体而言,虚拟网络100连接两个不同城市(例如,加利福尼亚州的旧金山和印度的浦那)中的两个分支机构130a和130b、另一个城市(例如,华盛顿州的西雅图)中的公司数据中心134、在另外两个城市(华盛顿的雷德蒙德和法国的巴黎)中的两个SaaS提供者数据中心136a和136b,以及世界各地的移动用户140。照此,这种虚拟网络可以被视为虚拟公司WAN。
在一些实施例中,分支机构130a和130b具有其自己的私有网络(例如,局域网),该私有网络连接分支处的计算机和公共云外部的分支私有数据中心。类似地,在一些实施例中,公司数据中心134具有其自己的私有网络并且驻留在任何公共云数据中心之外。但是,在其它实施例中,公司数据中心134或分支130a和130b的数据中心可以在公共云内,但是虚拟网络不跨越这个公共云,因为公司或分支数据中心连接到虚拟网络100的边缘。
如上面所提到的,通过通过覆盖隧道152连接不同公共云中以不同方式部署的受管理转发节点150来建立虚拟网络100。每个受管理转发节点150包括若干可配置的部件。如上面进一步描述和下面进一步描述的,在一些实施例中,MFN部件包括基于软件的测量代理、软件转发元件(例如,软件路由器、交换机、网关等)、层4代理(例如,TCP代理)和中间盒服务机器(例如,VM、容器等)。在一些实施例中,这些部件中的一个或多个使用标准化或通常可用的解决方案,诸如Open vSwitch、OpenVPN、strongSwan等。
在一些实施例中,每个MFN(即,概念上形成MFN的部件的组)可以由在公共云数据中心中部署和配置MFN的虚拟网络提供者的不同租户共享。结合地或可替代地,在一些实施例中,虚拟网络提供者可以在用于特定租户的一个或多个公共云数据中心中部署唯一的MFN集合。例如,出于安全性原因或服务质量原因,特定租户可能不希望与另一个租户共享MFN资源。对于这样的租户,虚拟网络提供者可以跨若干公共云数据中心部署其自己的MFN集合。
在一些实施例中,逻辑上集中的控制器集群160(例如,一个或多个控制器服务器的集合)在公共云105和110中的一个或多个的内部或外部操作,并配置受管理转发节点150的公共云部件,以在公共云105和110上实现虚拟网络。在一些实施例中,这个集群中的控制器位于各种不同的位置(例如,位于不同的公共云数据中心中),以便改进冗余性和高可用性。在一些实施例中,控制器集群按比例放大或缩小用于建立虚拟网络的公共云部件或分配给这些部件的计算或网络资源的数量。
在一些实施例中,控制器集群160或虚拟网络提供者的另一个控制器集群在相同的公共云105和110上和/或在不同公共云提供者的不同公共云上为另一个公司租户建立不同的虚拟网络。除了(一个或多个)控制器集群之外,在其它实施例中,虚拟网络提供者还在公共云中部署转发元件和服务机器,这允许不同租户在相同或不同的公共云上部署不同的虚拟网络。图1B图示了用于在公共云105和110上部署的两个公司租户的两个虚拟网络100和180的示例。图1C可替代地图示了两个虚拟网络100和182的示例,其中一个网络100部署在公共云105和110上,而另一个虚拟网络182部署在另一对公共云110和115上。
通过MFN的配置的部件,图1A的虚拟网络100允许公司租户的不同私有网络和/或不同移动用户连接到相对于这些私有网络和/或移动用户而言处于最优位置(例如,如在物理距离方面、在连接速度、丢失、延迟和/或成本方面,和/或在网络连接可靠性方面等等所测量的)的不同公共云。在一些实施例中,这些部件还允许虚拟网络100使用互连公共云的高速网络,以通过公共云将数据消息转发到其目的地,同时减少它们通过互联网的遍历。
在一些实施例中,MFN部件还被配置为在网络、传输和应用层运行新颖的处理,以优化端到端的性能、可靠性和安全性。在一些实施例中,这些处理中的一个或多个实现专有的高性能联网协议,而没有当前的网络协议僵化。照此,在一些实施例中,虚拟网络100不受互联网自治系统、路由协议或者甚至端到端传输机制的限制。
例如,在一些实施例中,MFN 150的部件(1)创建优化的多路径和自适应集中式路由,(2)提供强大的QoS(服务质量)保证,(3)优化通过中间TCP拆分和/或终止的端到端TCP速率,以及(4)将可伸缩的应用级中间盒服务(例如,防火墙、入侵检测系统(IDS)、入侵防御系统(IPS)、WAN优化等)重新定位到全局网络功能虚拟化(NFV)中云的计算部分。因而,可以优化虚拟网络以适应公司的定制的且不断变化的需求,而不必绑定到现有的网络协议。而且,在一些实施例中,虚拟网络可以被配置为“随用随付”的基础设施,其可以根据连续的要求改变而动态且弹性地在性能能力和地理范围上进行伸缩。
为了实现虚拟网络100,虚拟网络所跨越的每个公共云数据中心105a-105f和110a-110d中的至少一个受管理转发节点150必须由控制器集合来配置。图2图示了本发明一些实施例的受管理转发节点150和控制器集群160的示例。在一些实施例中,每个受管理的转发节点150是在公共云数据中心中的主机计算机上执行的机器(例如,VM或容器)。在其它实施例中,每个受管理转发节点150由在一个公共云数据中心中的同一主机计算机上执行的多个机器(例如,多个VM或容器)实现。在还有其它实施例中,一个MFN的两个或更多个部件可以由在一个或多个公共云数据中心中的两个或更多个主机计算机上执行的两个或更多个机器来实现。
如图所示,受管理转发节点150包括测量代理205、防火墙和NAT中间盒服务引擎210和215、一个或多个优化引擎220、边缘网关225和230以及云转发元件235(例如,云路由器)。在一些实施例中,这些部件205-235中的每一个可以被实现为两个或更多个部件的集群。
在一些实施例中,控制器集群160可以动态地按比例放大或缩小每个部件集群(1)以添加或移除机器(例如,VM或容器)以实现每个部件的功能,和/或(2)以向实现那个集群的部件的先前部署的机器添加或移除计算和/或将网络资源。照此,公共云数据中心中的每个部署的MFN 150可以被视为MFN的集群,或者它可以被视为包括执行MFN的不同操作的多个不同部件集群的节点。
而且,在一些实施例中,控制器集群在公共云数据中心中为不同的租户部署MFN的不同集合,控制器集群在公共云数据中心上为租户定义了虚拟网络。在这种方法中,任何两个租户的虚拟网络都不共享任何MFN。但是,在下面描述的实施例中,每个MFN可以被用于为不同的租户实现不同的虚拟网络。普通技术人员将认识到的是,在其它实施例中,控制器集群160可以利用其自己的部署的MFN的专用集合来实现第一租户集合的每个租户的虚拟网络,同时利用部署的MFN的共享集合来实现第二租户集合的每个租户的虚拟网络。
在一些实施例中,分支网关225和远程设备网关230分别与连接到MFN 150的一个或多个分支机构130和远程设备(例如,移动设备140)建立安全的VPN连接,如图2中所示。这种VPN连接的一个示例是IPsec连接,下面将对其进行进一步描述。但是,本领域普通技术人员将认识到的是,在其它实施例中,此类网关225和/或230建立不同类型的VPN连接。
在一些实施例中,MFN 150包括执行一个或多个中间盒服务操作(诸如防火墙操作、NAT操作、IPS操作、IDS操作、负载平衡操作、WAN优化操作等)的一个或多个中间盒引擎。通过在公共云中部署的MFN中结合这些中间盒操作(例如,防火墙操作、WAN优化操作等)中,虚拟网络100在公共云中实现传统上由公司的(一个或多个)数据中心和/或(一个或多个)分支机构处的公司WAN基础设施执行的许多功能。
因而,对于许多中间盒服务,公司计算节点(例如,远程设备、分支机构和数据中心)不再必须访问私有数据中心或分支机构中公司的WAN基础设施,因为这些服务中的许多现在已部署在公共云中。这种方法加快了企业计算节点(例如,远程设备、分支机构和数据中心)对这些服务的访问,并避免了私有数据中心原本专用于提供此类服务的昂贵的拥塞网络瓶颈。
这种方法有效地将WAN网关功能分发到公共云数据中心中的各种MFN。例如,在一些实施例的虚拟网络100中,大多数或全部传统公司WAN网关安全功能(例如,防火墙操作、入侵检测操作、入侵防御操作等)被移动到公共云MFN(例如,将来自计算端点的数据接收到虚拟网络中的入口MFN)。这有效地允许虚拟网络100具有在实现虚拟网络100的许多不同的MFN处实现的分布式WAN网关。
在图2所示的示例中,MFN 150被示为包括防火墙引擎210、NAT引擎215和一个或多个L4-L7优化引擎。普通技术人员将意识到的是,在其它实施例中,MFN 150包括用于执行其它中间盒操作的其它中间盒引擎。在一些实施例中,防火墙引擎210(1)对其进入虚拟网络的入口路径上的数据消息流(例如,对网关225和230从分支机构130和移动设备140接收并处理的数据消息流)以及(2)对虚拟网络之外的其出口路径上的数据消息流(例如,对通过NAT引擎215和互联网202发送到SaaS提供者数据中心的数据消息流)强制实施防火墙规则。
在一些实施例中,当防火墙引擎属于MFN时,MFN 150的防火墙引擎210还强制实施防火墙规则,该MFN是数据消息流进入虚拟网络的入口MFN与数据消息流离开虚拟网络的出口MFN之间的中间跳。在其它实施例中,防火墙引擎210仅在它是数据消息流的入口MFN和/或出口MFN的一部分时才强制实施防火墙规则。
在一些实施例中,NAT引擎215执行网络地址翻译,以将在其虚拟网络的出口路径上的数据消息流的源网络地址通过互联网202改变为第三方设备(例如,改变为SaaS提供者机器)。此类网络地址翻译确保可以将第三方机器(例如,SaaS机器)正确地配置为处理数据消息流,如果没有地址转换,则可能会指定租户和/或公共云提供者的私有网络地址。由于不同租户和/或云提供者的私有网络地址可能重叠,因此这尤其成问题。地址翻译还确保来自第三方设备(例如,SaaS机器)的回复消息可以被虚拟网络(例如,被消息从其离开虚拟网络的MFN NAT引擎)正确接收。
在一些实施例中,MFN的NAT引擎215对离开虚拟网络到达第三方机器或从第三方机器进入虚拟网络的每个数据消息流执行双NAT操作。如美国公开专利申请2019-0103990A1(通过引用并入本文)中进一步描述的,两个NAT操作中的一个NAT操作在其进入虚拟网络时对其入口MFN处的这种数据消息流执行,而另一个NAT操作在其离开虚拟网络时对其出口MFN处的数据消息流执行。
这种双NAT方法允许将更多租户私有网络映射到公共云提供者的网络。这种方法还减轻了用于将关于改变的MFN数据分发给租户私有网络的负担。在入口或出口NAT操作之前,一些实施例执行租户映射操作,该操作使用租户标识符首先将租户的源网络地址映射到另一个源网络地址,然后通过NAT操作将其映射到另一个源网络地址。执行双NAT操作减轻了用于将关于改变的数据分发给租户私有网络的数据分发负担。
优化引擎220执行新颖的处理,该处理优化实体的数据消息到其目的地的转发,以实现最佳的端到端性能和可靠性。其中一些处理实现专有的高性能联网协议,而没有当前的网络协议僵化。例如,在一些实施例中,优化引擎220通过中间TCP拆分和/或终止来优化端到端TCP速率。
云转发元件235是MFN引擎,当数据消息流必须对另一个公共云进行遍历以到达其目的地时,其负责将数据消息流转发到下一跳MFN的云转发元件(CFE),或者当数据消息流可以通过同一公共云到达其目的地时,将数据消息流转发到同一公共云中的出口路由器。在一些实施例中,MFN 150的CFE 235是软件路由器。
为了转发数据消息,CFE用隧道报头封装消息。不同的实施例使用不同的方法来用隧道报头封装数据消息。当数据消息必须遍历一个或多个中间MFN以到达出口MFN时,以下描述的一些实施例使用一个隧道报头来识别用于进入和离开虚拟网络的网络入口/出口地址,并使用另一个隧道报头来识别下一跳MFN。
具体而言,在一些实施例中,CFE发送具有两个隧道报头的数据消息:(1)识别进入和离开虚拟网络的入口CFE和出口CFE的内部报头,以及(2)识别下一跳CFE的外部报头。在一些实施例中,内部隧道报头还包括租户标识符(TID),以便允许虚拟网络提供者的多个不同租户使用虚拟网络提供者的常见的MFN CFE集合。其它实施例以不同方式定义隧道报头,以便定义覆盖虚拟网络。
为了在一个或多个公共云上为租户部署虚拟网络,控制器集群(1)基于租户的公司计算节点(例如,分支机构、数据中心、移动用户和SaaS提供者)的位置来识别用于进入和离开租户的虚拟网络的可能入口和出口路由器,以及(2)识别通过实现虚拟网络的其它中间公共云路由器从识别出的入口路由器遍历到识别出的出口路由器的路由。在识别出这些路由之后,控制器集群将这些路由传播到(一个或多个)公共云中的MFN CFE 235的转发表。在使用基于OVS的虚拟网络路由器的实施例中,控制器通过使用OpenFlow来分发路由。
在一些实施例中,控制器集群160还可以配置实现虚拟网络以优化若干网络处理层的每个MFN 150的部件205-235,以便获得最佳的端到端性能、可靠性和安全性。例如,在一些实施例中,这些部件被配置为(1)优化层3流量路由(例如,最短路径、分组重复),(2)优化层4TCP拥塞控制(例如,分段、速率控制),(3)实现安全性特征(例如,加密、深度分组检查、防火墙),以及(4)实现应用层压缩特征(例如,重复数据删除、高速缓存)。在虚拟网络内,对公司流量进行安全保护、检查和日志记录。
在一些实施例中,为公共云数据中心中的每个MFN部署一个测量代理。在其它实施例中,公共云数据中心或数据中心的集合中(例如,附近相关联的数据中心(诸如一个可用区中的数据中心)的集合中)的多个MFN共享一个测量代理。为了优化层3和层4处理,与每个受管理转发节点150相关联的测量代理205重复生成测量值,该测量值量化其节点与若干其它“相邻”节点中每一个之间的网络连接的质量。
不同的实施例以不同方式定义相邻节点。对于特定公共云提供者的一个公共云数据中心中的特定MFN,在一些实施例中,相邻节点包括(1)在特定公共云提供者的任何公共云数据中心中操作的任何其它MFN,以及(2)在与特定MFN处于同一“区域”内的另一个公共云提供者的数据中心中操作的任何其它MFN。
不同的实施例以不同方式定义相同区域。例如,一些实施例按照距离来定义区域,该距离指定围绕特定受管理转发节点的边界形状。其它实施例按照城市、州或地区来定义区域,诸如北加利福尼亚、南加利福尼亚等。这种方法的假设是,同一公共云提供者的不同数据中心以非常高速度网络连接被连接,而不同公共云提供者的数据中心之间的网络连接在数据中心位于同一区域内时可能快,而当数据中心位于不同区域中时可能不那么快。当数据中心位于不同区域中时,不同公共云提供者的数据中心之间的连接可能必须遍历通过公共互联网的长距离。
在不同的实施例中,测量代理205以不同方式生成测量值。在一些实施例中,测量代理周期性地(例如,每秒、每N秒、每分钟、每M分钟等一次)向其相邻的受管理转发节点的每个测量代理发送ping消息(例如,UDP回声消息)。鉴于ping消息的小尺寸,它们不会导致大的网络连接费用。例如,对于100个节点,每个节点每10秒向每个其它节点发送一次ping,那么为每个节点生成大约10kb/s的入口和出口测量流量,并且鉴于当前的公共云价格,这将导致每个节点每年几美元的网络消费费用(例如,5美元)。
基于其接收到的回复消息的速度,测量代理205计算并更新测量度量值(诸如网络连接吞吐速度、延迟、丢失和链路可靠性)。通过重复进行这些操作,测量代理205定义并更新测量结果矩阵,该矩阵表述与其相邻节点的网络连接的质量。当代理205与其相邻节点的测量代理交互时,其测量矩阵仅量化与其本地节点小集团的连接的质量。
不同的受管理转发节点的测量代理将其测量矩阵发送到控制器集群160,该控制器集群然后聚合所有不同的团连接数据以获得不同对的受管理转发节点之间的连接的聚合网格视图。当控制器集群160为两对转发节点之间的链路收集不同的测量(例如,一个节点在不同时间进行的测量)时,控制器集群从不同的测量中产生混合的值(例如,产生测量的平均值或加权平均值)。在一些实施例中,聚合网格视图是每对受管理转发节点之间的所有网络连接的全网格视图,而在其它实施例中,它是比由各个受管理转发节点的测量代理产生的视图更完整的视图。
如图2中所示,控制器集群160包括一个或多个测量处理引擎280、一个或多个路径识别引擎282和一个或多个管理接口284的集群。为了避免用不必要的细节模糊本描述,下面将按照单个引擎或接口层(即,按照测量处理层280、路径识别层282和管理接口层284)引用这些集群中的每一个。
测量处理层280从受管理转发节点的测量代理205接收测量矩阵,并处理这些测量矩阵以产生表述不同对的受管理转发节点之间的连接质量的聚合网格矩阵。测量处理层280将聚合网格矩阵提供给路径识别层282。基于聚合网格矩阵,路径识别层282通过虚拟网络识别用于连接不同公司数据端点(例如,不同分支机构、公司数据中心、SaaS提供者数据中心和/或远程设备)的不同期望路由路径。然后,这个层282在路由表中提供这些路由路径,路由表被分发给受受管理转发节点150的云转发元件235。
在一些实施例中,针对每对数据消息端点的识别出的路由路径是基于优化准则集合被认为最优的路由路径,例如,它是最快的路由路径、最短的路由路径或使用互联网最少的路径。在其它实施例中,路径识别引擎可以在相同的两个端点之间识别并提供(在路由表中)多个不同的路由路径。在这些实施例中,受管理转发节点150的云转发元件235然后基于它们正在执行的QoS准则或其它运行时准则来选择路径之一。在一些实施例中,每个CFE235不接收从CFE到虚拟网络的出口点的整个路由路径,而是接收该路径的下一跳。
在一些实施例中,路径识别层282使用聚合网格矩阵中的测量值作为其执行以构造全局路由图的路由算法的输入。在一些实施例中,这个全局路由图是测量处理层280产生的测量图的聚合和优化版本。图3图示了在一些实施例中控制器测量处理层280产生的测量图300的示例。这个图描绘了AWS和GCP公共云310和320中(即,AWS和GCP的数据中心中)各个受管理转发节点150之间的网络连接。图4A图示了在一些实施例中控制器路径识别层282从测量图300产生的路由图400的示例。
图5图示了控制器路径识别层用来根据从控制器测量层接收到的测量图生成路由图的处理500。当路径识别层282从控制器测量层重复接收到更新后的测量图时,路径识别层282重复执行这个处理500(例如,每次接收到新测量图时或每第N次接收到新测量图时执行处理500)。在其它实施例中,路径识别层282周期性地执行这个处理(例如,每12小时或24小时一次)。
如图所示,路径识别层最初将路由图定义(在505处)为与测量图完全相同(即,在相同对的受管理转发节点之间具有相同的链路)。在510处,该处理从测量图300中移除坏链路。坏链路的示例包括消息丢失过多或可靠性差的链路(例如,最近15分钟内消息丢失大于2%的链路,或最近2分钟内消息丢失大于10%的链路)。图4A图示了在路由图400中排除了测量图300中的链路302、304和306。这个图通过用虚线描绘这些链路来图示这些链路的排除。
接下来,在515处,处理500计算链路权重得分(成本得分)作为若干计算出的且特定于提供者的值的加权组合。在一些实施例中,权重得分是链路的(1)计算出的延迟值、(2)计算出的丢失值、(3)提供者网络连接成本和(4)提供者计算成本的加权组合。在一些实施例中,由于通过链路连接的受管理转发节点是在(一个或多个)公共云数据中心中的主机计算机上执行的机器(例如,VM或容器),因此考虑了提供者的计算成本。
在520处,该处理将用于虚拟网络中的数据消息流的已知源和目的地IP地址(例如,由公司实体使用的SaaS提供者的已知IP)添加到路由图。在一些实施例中,该处理将可能的消息流端点的每个已知IP地址添加到路由图中最接近那个端点的节点(例如,添加到表示MFN的节点)。在这样做时,在一些实施例中,该处理假设每个这样的端点通过具有零延迟成本和零丢失成本的链路连接到虚拟网络。图4B图示了将两个SaaS提供者的已知IP添加到路由图中的两个节点402和404(表示两个MFN)的示例,该两个节点在最靠近这些SaaS提供者的数据中心的数据中心中。在这个示例中,一个节点在AWS公共云中,而另一个节点在GCP公共云中。
可替代地或相结合地,在一些实施例中,通过将节点添加到这个图中以表示源和目的地端点、将IP地址指派给这些节点并将权重值指派给将这些添加的节点连接到路由图中的其它节点(例如,连接到路由图中表示公共云中的MFN的节点),处理500将已知的源和目的地IP地址添加到路由图。当流的源和目的地端点被添加为节点时,路径识别引擎282可以在识别出通过不同源和目的地端点之间的虚拟网络的不同路由时考虑到达这些节点的成本(例如,距离成本、延迟成本和/或财务成本等)。
图4C图示了通过将两个节点412和414添加到图4A的节点图400而生成的路由图410,以便表示两个SaaS提供者。在这个示例中,已知IP地址被指派给节点412和414,并且这些节点通过链路416和418连接到节点402和404(表示两个MFN),链路416和418被指派了权重W1和W2。这种方法是用于将两个SaaS提供者的已知IP地址添加到图4B中所示方法的替代方法。
图4D图示了更详细的路由图415。在这个更详细的路由图中,添加了附加节点422和424,以表示分别连接到AWS和GCP公共云310和320的具有已知IP地址的外部公司计算节点(例如,分支机构和数据中心)。这些节点422/424中的每一个通过具有相关联的权重值Wi的至少一个链路426连接到表示MFN的路由图节点中的至少一个。这些节点中的一些(例如,分支机构中的一些)通过多条链路连接到同一个MFN或不同的MFN。
接下来,在525处,处理500计算每个MFN与每个其它MFN之间的最低成本路径(例如,最短路径等),MFN可以用作公司实体的数据消息流的虚拟网络出口位置。在一些实施例中,出口MFN包括连接到外部公司计算节点(例如,分支机构、公司数据中心和SaaS提供者数据中心)的MFN,以及作为移动设备连接和出口互联网连接的候选位置的MFN。在一些实施例中,这种计算使用传统的最低成本(例如,最短路径)识别处理,该处理识别不同MFN对之间的最短路径。
对于每个候选MFN对,当在MFN对之间存在多条这样的路径时,最低成本识别处理使用计算出的权重得分(即,在510处计算出的得分)来识别具有最低得分的路径。下面将进一步描述用于计算最低成本路径的若干方式。如上面所提到的,在一些实施例中,路径识别层282识别两个MFN对之间的多条路径。这是为了允许云转发元件235在不同情况下使用不同路径。因而,在这些实施例中,处理500可以识别两个MFN对之间的多条路径。
在530处,该处理从路由图中移除在525处识别出的任何最低成本路径未使用的MFN对之间的链路。接下来,在535处,该处理根据路由图生成用于云转发元件235的路由表。在535处,该处理将这些路由表分发给受管理转发节点的云转发元件235。在535之后,该处理结束。
在一些实施例中,虚拟网络具有两种类型的外部连接,它们是:(1)与实体的计算节点(例如,分支机构、数据中心、移动用户等)的外部安全连接,以及(2)通过互联网与第三方计算机(例如,SaaS提供者服务器)的外部连接。一些实施例通过为终止于虚拟网络之外的源和目的地节点处的每条数据路径找到最优虚拟网络入口和出口位置来优化虚拟网络。例如,为了将分支机构连接到SaaS提供者服务器(例如,salesforce.com服务器),一些实施例将分支机构连接到最优边缘MFN(例如,具有到分支机构最快的网络连接或最接近分支机构的网络连接的MFN),并识别到最优定位的SaaS提供者服务器(例如,对于分支机构而言,最接近边缘MFN的SaaS,或者对于分支机构而言,具有通过连接到SaaS提供者服务器的边缘MFN到该边缘MFN的最快路径的SaaS)的最优边缘MFN。
为了通过VPN连接将实体的每个计算节点(例如,分支机构、移动用户等)与最近的MFN相关联,在一些实施例中,虚拟网络提供者在公共云中部署一个或多个权威域名服务器(DNS)供计算节点联系。在一些实施例中,在一些实施例中每次当公司计算节点需要建立到虚拟网络提供者的MFN的VPN连接(即,为了初始化或重新初始化VPN连接)时,计算节点首先解析与其具有这个权威DNS服务器的虚拟网络(例如,virtualnetworkX.net)相关联的地址,以便从这个服务器获得这个服务器识别为最接近企业计算节点的MFN的MFN的身份。为了识别这个MFN,在一些实施例中,权威DNS服务器提供MFN标识符(例如,MFN的IP地址)。然后,公司计算节点建立到这个受管理转发节点的VPN连接。
在其它实施例中,企业计算节点在每次需要建立与VNP的MFN的VPN连接时都并不首先执行DNS解析(即,不首先解析特定域的网络地址)。例如,在一些实施例中,公司计算节点在特定持续时间(例如,一天、一周等)内坚持使用DNS解析的MFN,然后执行另一个DNS解析以确定这个MFN是否仍然是应当连接的最优MFN。
当DNS请求中的源IP地址是公司计算节点的本地DNS服务器的源IP地址而不是节点本身的源IP地址时,在一些实施例中,权威DNS服务器识别最接近本地DNS服务器的MFN而不是最接近公司计算节点的MFN。为了解决这个问题,在一些实施例中,DNS请求按照域名来识别公司计算节点,该域名包括一个或多个由点连接和定界的部分(标签),其中这些部分之一识别公司,而另一个部分识别公司的计算节点。
在一些实施例中,这个域名指定从域名中的右标签到左标签降序的域和子域的层次结构。最右侧的第一个标签识别特定的域,第一个标签左侧的第二个标签识别公司实体,并且如果实体有多于一个外部机器位置,那么第二个标签左侧的第三个标签识别实体的外部机器位置。例如,在一些实施例中,DNS请求将公司计算节点识别为公司myCompany的myNode,并请求解析地址myNode.myCompany.virtualnetwork.net。然后,DNS服务器使用myNode标识符更好地选择公司计算节点应当建立VPN连接的入口MFN。在不同的实施例中,myNode标识符以不同方式表述。例如,可以将其寻址为IP地址、位置的纬度/经度描述、GPS(全球定位系统)位置、街道地址等。
即使IP地址正确地反映了位置,也可能存在若干个潜在的入口路由器,例如,属于同一个云中的不同数据中心或属于同一区域中的不同云。在这种情况下,在一些实施例中,虚拟网络权威服务器发回潜在的MFN CFE的IP列表(例如,C5、C8、C12)。然后,在一些实施例中,公司计算节点对列表中的不同CFE执行ping操作,以产生测量(例如,距离或速度测量),并通过在CFE候选的集合之间比较测量来选择最接近的一个。
此外,企业计算节点可以通过识别企业实体的其它计算节点当前使用的MFN来建立这种选择。例如,在一些实施例中,公司计算节点将连接成本添加到每个MFN,因此,如果许多公司分支已经连接到给定的云,那么新的计算节点将具有连接到同一个云的动机,从而在处理、等待时间和美元成本方面最小化云间成本。
其它实施例使用其它DNS解析技术。例如,每次当公司计算节点(例如,分支机构、数据中心、移动用户等)需要执行DNS解析时,公司计算节点(例如,分支机构或数据中心处的移动设备或本地DNS解析器)与DNS服务提供者进行通信,该服务提供者充当许多实体的权威DNS解析器。在一些实施例中,这个DNS服务提供者具有位于一个或多个私有数据中心中的DNS解析机器,而在其它实施例中,它是一个或多个公共云数据中心的一部分。
为了识别应当使用直接连接到互联网的N个受管理转发节点中的哪一个来到达SaaS提供者服务器,在一些实施例中,虚拟网络(例如,入口MFN或配置该MFN的控制器集群)识别来自N个受管理转发节点的一个或多个候选边缘MFN的集合。如以下进一步描述的,在一些实施例中,每个候选边缘MFN是基于准则集合(诸如到SaaS提供者服务器的距离、网络连接速度、成本、延迟和/或丢失、网络计算成本等)被认为是最优的边缘MFN。
为了帮助识别最优边缘点,一些实施例的控制器集群为实体维护最流行的SaaS提供者和消费者web目的地及其IP地址子网的列表。对于每个这样的目的地,控制器集群将最优MFN(再次根据物理距离、网络连接速度、成本、丢失和/或延迟、计算成本等进行判断)中的一个或多个指派为候选出口节点。对于每个候选出口MFN,控制器集群然后计算从每个可能的入口MFN到该候选MFN的最佳路由,并相应地在MFN中设置结果产生的下一跳表,使得互联网SaaS提供者或web目的地关联到正确的虚拟网络下一跳节点。
鉴于常常可以通过位于若干位置处的若干IP子网(如由权威DNS服务器提供的)到达服务目的地,存在若干潜在的出口节点,以最小化等待时间并提供负载平衡。因而,在一些实施例中,控制器集群为每个MFN计算最佳位置和出口节点,并相应地更新下一跳。而且,到达SaaS提供者(例如,office365.com)的最佳出口节点可以是通过一个公共云提供者(例如,Microsoft Azure),但是单纯从距离或连接速度上来看,最佳入口MFN可以是在另一个公共云提供者(例如,AWS)中。在此类情况下,就等待时间、处理和成本而言,离开虚拟网络之前遍历到另一个云(即,具有最佳出口MFN的公共云)可能不是最优的。在这种情况下,提供多个候选边缘节点将允许选择最优边缘MFN和到所选择的边缘MFN的最优路径。
为了识别通过虚拟网络到连接到互联网或连接到公司实体的公司计算节点的出口MFN的最优路径,控制器集群识别MFN之间的最优路由路径。如上面所提到的,在一些实施例中,控制器集群通过例如基于反映估计的等待时间和财务成本的加权总和的度量得分首先对一对直接连接的MFN之间的每个链路进行成本计算(costing)来识别任何两个MFN之间的最佳路径。在一些实施例中,等待时间和财务成本包括(1)链路延迟测量、(2)估计的消息处理等待时间、(3)从特定数据中心或者到同一公共云提供者的另一个数据中心或者离开公共云(PC)提供者的云(例如,到另一个公共云提供者的另一个公共云数据中心或到互联网)的出站流量的云费用,以及(4)估计的与在公共云中的主机计算机上执行的MFN相关联的消息处理成本。
使用这些成对(pair-wise)链路的计算出的成本,控制器集群可以通过聚合路由路径所使用的各个成对链路的成本来计算使用这些成对链路中的一个或多个的每条路由路径的成本。如上所述,控制器集群然后基于计算出的路由路径成本来定义其路由图,并基于定义的路由图来生成MFN的云路由器的转发表。而且,如上面所提到的,控制器集群周期性地(例如,每12小时、24小时等)或者在从MFN的测量代理接收到测量更新时重复执行这些成本计算、图形构建以及转发表更新和分发操作。
每当在MFN CFE Ci处的转发表指向下一跳MFN CFE Cj时,CFE Ci就将Cj视为邻居。在一些实施例中,CFE Ci建立到CFE Cj的安全、主动维护的VPN隧道。在一些实施例中,安全隧道是要求对封装的数据消息的有效载荷进行加密的隧道。而且,在一些实施例中,隧道通过隧道的一个或两个端点向另一个端点发送保持活动信号来主动维护。
在其它实施例中,CFE不建立安全、主动维护的VPN隧道。例如,在一些实施例中,CFE之间的隧道是静态隧道,其不通过保持活动信号的传输而被主动监视。而且,在一些实施例中,CFE之间的这些隧道不对其有效载荷进行加密。在一些实施例中,成对的CFE之间的隧道包括两个封装报头,其中内部报头识别租户ID以及用于数据消息进入和离开虚拟网络(即,进入和离开公共云)的入口和出口CFE,而外部封装报头指定从入口CFE到出口CFE穿过零个或多个CFE的源和目的地网络地址(例如,IP地址)。
除了内部隧道之外,在一些实施例中,虚拟网络还使用VPN隧道将公司计算节点连接到其边缘MFN,如上面所提到的。因此,在使用安全隧道连接CFE的实施例中,数据消息使用完全安全的VPN路径通过虚拟网络中转(transit)。
当使用虚拟网络内的封装来转发虚拟网络数据消息时,在一些实施例中,虚拟网络使用其自己的唯一网络地址,该地址不同于租户的不同私有网络所使用的私有地址。在其它实施例中,虚拟网络使用它在其上定义的公共云的私有和公共网络地址空间。在还有其它实施例中,对于其一些部件(例如,其MFN、CFE和/或服务中的一些),虚拟网络使用自身唯一网络地址中的一些,而对于其其它部件,使用公共云的私有和公共网络地址空间。
而且,在一些实施例中,虚拟网络使用具有其自己的专有协议的简洁通信平台。在数据消息完全通过软件MFN路由器(例如,通过软件CFE)转发的实施例中,虚拟网络可以为长距离端到端连接提供优化的速率控制。在一些实施例中,这是通过在每个MFN 150处操作TCP优化代理引擎220来实现的。在不破坏TCP本身(例如,使用HTTPS)的其它实施例中,这是通过代理引擎220使用中间每流缓冲以及TCP接收器窗口和ACK操纵分割速率控制来实现的。
由于其简洁性质,在一些实施例中,虚拟网络优化了其许多部件以提供甚至更好的服务。例如,在一些实施例中,虚拟网络使用多路径路由来支持跨虚拟网络进行路由的高级带宽保证的VPN设置。在一些实施例中,类似于ATM/MPLS路由,此类VPN在每个MFN中包括状态数据,并且它们的建立和移除是集中控制的。一些实施例或者通过直接测量(通过分组对或类似处理)或者通过具有针对链路的给定容量并从这个容量中减少已经通过这个链路发送的流量来识别每个传出链路的可用带宽。
一些实施例使用链路的剩余带宽作为约束。例如,当链路不具有至少2Mbps的可用带宽时,一些实施例的控制器集群从用于计算到任何目的地的最低成本路径(例如,最短路径)的链路集合中移除该链路(例如,从路由图(诸如图400)中移除该链路)。如果在移除这个链路之后端到端路由仍然可用,那么新的VPN将跨这个新路由进行路由。VPN的移除可以使给定链路的可用容量恢复,这进而可以将这个链路包括在最低成本路径(例如,最短路径)计算中。一些实施例将其它选项用于多路径路由,诸如跨多路径的流量的负载平衡,例如,使用MPTCP(多路径TCP)。
一些实施例通过利用路径并行性和廉价的云链路通过虚拟网络内的两个不相交的路径(例如,最大不相交的路径)复制从入口MFN到出口MFN的流量来为高级客户提供更好的服务。在这种方法下,最早到达的消息被接受,之后的消息被丢弃。这种方法以增加出口处理复杂性为代价增加了虚拟网络可靠性并减少了延迟。在一些此类实施例中,使用前向纠错(FEC)技术来增加可靠性,同时减少重复流量。由于其简洁性质,一些实施例的虚拟网络执行其它上层优化,诸如应用层优化(例如,去除重复和高速缓存操作)和安全性优化(例如,加密的添加)、DPI(深度分组检查)和防火墙)。
一些实施例的虚拟网络考虑了与云提供者的协作,以通过使用任播消息传递来进一步改进虚拟网络设置。例如,在一些实施例中,当所有MFN获得相同的外部IP地址时,使用任播连接将任何新的公司计算节点连接到最优边缘节点(例如,最接近的边缘节点)更容易。同样,任何SaaS提供者都可以获得这个IP地址并连接到最优MFN(例如,最接近的MFN)。
如上面所提到的,不同的实施例使用不同类型的VPN连接将公司计算节点(例如,分支和移动设备)连接到建立公司实体的虚拟网络的MFN。一些实施例使用IPsec来设置这些VPN连接。图6图示了一些实施例的IPsec数据消息格式。具体而言,该图图示了由机器在公司计算节点处生成的数据消息605的原始格式,以及在数据消息605已被封装之后(例如,在公司计算节点或MFN处)的IPsec封装的数据消息610,用于通过IPsec隧道传输(例如,传输到MFN或传输到公司计算节点)。
在这个示例中,利用ESP隧道模式(端口50)设置IPsec隧道。如图所示,在这个示例中通过利用ESP协议标识符替换IP报头中的TCP协议标识符来设置这个模式。ESP报头识别消息615的开始(即,报头620和有效载荷625)。消息615必须由IPsec封装的数据消息的接收者(例如,由MFN的IPsec网关)认证。有效载荷625的开始由消息615的下一字段622的值识别。而且,有效载荷625被加密。这个有效载荷包括原始数据消息605的IP报头、TCP报头和有效载荷,以及包括下一字段622的填充字段630。
在一些实施例中,每个MFN IPsec网关可以为相同或不同的虚拟网络租户(例如,为同一公司或为不同的公司)处置多个IPsec连接。因而,在一些实施例中,MFN IPsec网关(例如,网关230)按照隧道ID、租户ID(TID)和公司计算节点子网来识别每个IPsec连接。在一些实施例中,租户的不同公司节点(例如,不同的分支机构)不具有重叠的IP子网(根据RFC 1579)。在一些实施例中,IPsec网关具有将每个IPsec隧道ID(其包含在IPsec隧道报头中)映射到租户ID的表。对于配置了IPsec网关以便处置的给定租户,该IPsec网关还具有那个租户的所有子网的映射,这些子网连接到由MFN及其云转发元件建立的虚拟网络。
当第一公共云数据中心中的入口第一MFN通过IPsec隧道接收到与租户ID相关联并发往连接到第二公共云数据中心中的出口第二MFN的目的地(例如,分支或数据中心子网或SaaS提供者)的数据消息时,第一MFN的IPsec网关移除IPsec隧道报头。在一些实施例中,第一MFN的CFE然后利用两个封装报头来封装消息,这两个封装报头允许消息直接地或者通过一个或多个其它中间MFN来遍历从入口第一MFN到出口第二MFN的路径。第一MFN的CFE通过使用其控制器配置的路由表来识别这条路径。
如上面所提到的,在一些实施例中,两个封装报头包括(1)外部报头,该外部报头指定下一跳MFN CFE,以允许封装的数据消息穿过虚拟网络的MFN以到达出口MFN CFE,以及(2)内部报头,该内部报头指定租户ID以及识别用于进入和离开虚拟网络的数据消息的MFN的入口和出口MFN CFE。
具体而言,在一些实施例中,内部封装报头包括有效IP报头,其具有出口第二MFN的CFE的目的地IP地址和入口第一MFN的CFE的源IP地址。这种方法允许在MFN的每个CFE中使用标准IP路由器软件。封装还包括租户ID(例如,客户CID)。当消息到达出口第二MFN的CFE时,它被解封装并由第二MFN发送到其目的地(例如,由第二MFN的IPsec网关经由与消息的租户ID和目的地子网相关联的另一个IPsec隧道将其发送到目的地)。
某些云提供者禁止机器“欺骗”源IP,和/或对TCP和UDP流量施加其它限制。为了应对此类可能的限制,一些实施例使用外部报头来连接由一条或多条路由使用的MFN的相邻对。在一些实施例中,这个报头是指定源和目的地IP地址以及UDP协议参数的UDP报头。在一些实施例中,入口MFN CFE将其IP地址指定为外部报头的源IP地址,同时将下一个MFN CFE跳的IP地址指定为外部报头的目的地IP地址。
当到出口MFN的CFE的路径包括一个或多个中间MFN CFE时,中间CFE用其IP地址替换其接收到的双重封装消息的外部报头中的源IP地址。它还使用内部报头中的目的地IP地址在其路由表中执行路由查找,以识别位于内部报头的目的地IP地址的路径上的下一跳MFN CFE的目的地IP地址。然后,中间CFE将外部报头中的目的地IP地址替换为其通过其路由表查找所识别出的IP地址。
当双重封装的数据消息到达出口MFN的CFE时,CFE在检索内部报头中的目的地IP地址并确定这个目的地IP地址属于它时确定它是该数据消息的出口节点。然后,这个CFE从数据消息中移除两个封装报头,然后将其发送到目的地(例如,经由与数据消息的原始报头中的租户ID和目的地IP地址或子网相关联的另一个IPsec隧道,通过其MFN的IPsec网关到达目的地)。
图7图示了一些实施例的两个封装报头的示例,而图8给出了图示在一些实施例中如何使用这两个报头的示例。在下面的讨论中,内部报头称为租户报头,因为它包括租户ID以及与租户的公司计算端节点相连的虚拟网络入口/出口节点的身份。外部报头在下文中被称为VN-hop隧道报头,因为当数据消息穿过入口和出口MFN CFE之间的通过虚拟网络的路径时,它用于识别通过虚拟网络的下一跳。
图7示出了VN-hop隧道报头705和租户隧道报头720,其封装了具有原始头755和有效载荷760的原始数据消息750。如图所示,在一些实施例中,VN-hop隧道报头705包括UDP报头710和IP报头715。在一些实施例中,UDP报头是根据UDP协议定义的。在一些实施例中,VN-hop隧道是标准UDP隧道,而在其它实施例中,这个隧道是专有UDP隧道。在还有其它实施例中,这个隧道是标准或专有的TCP隧道。在一些实施例中,隧道报头705是加密其有效载荷的加密的报头,而在其它实施例中,它是未加密的报头。
如以下进一步描述的,在一些实施例中,隧道报头705被用于定义覆盖VNP网络,并且被每个MFN CFE用于在底层公共云网络上到达下一跳MFN CFE。照此,隧道报头705的IP报头715识别由VNP隧道连接的第一和第二相邻MFN的第一和第二CFE的源和目的地IP地址。在一些情况下(例如,当下一跳目的地MFN与源MFN在不同公共云供应商的不同公共云中时),源IP地址和目的地IP地址是由包括MFN的公共云数据中心使用的公共IP地址。在其它情况下,当源和目的地MFN CFE属于同一个公共云时,源和目的地IP地址可以是仅在公共云中使用的私有IP地址。可替代地,在此类情况下,源和目的地IP地址仍可能是公共云供应商的公共IP地址。
如图7中所示,租户隧道报头720包括IP报头725、租户ID字段730和虚拟电路标签(VCL)735。在入口跳CFE之后由每一跳CFE使用租户隧道报头720来识别下一跳,以将数据消息转发到出口MFN的出口CFE。照此,IP报头725包括作为入口CFE的IP地址的源IP地址和作为出口CFE的IP地址的目的地IP地址。与VN-hop报头705的源和目的地IP地址一样,租户报头720的源和目的地IP地址可以或者是一个公共云提供者的私有IP地址(当数据消息遍历仅通过一个公共云提供者的数据中心的路由时),或者是一个或多个公共云提供者的公共IP地址(例如,当数据消息穿过两个或更多个公共云提供者的数据中心的路由时)。
在一些实施例中,可以通过使用任何标准的软件路由器和IP路由表来路由租户报头720的IP报头。租户ID字段730包含租户ID,该租户ID是唯一的租户标识符,其可以在入口和出口MFN处使用以唯一地识别租户。在一些实施例中,虚拟网络提供者为作为提供者的租户的不同公司实体定义不同的租户ID。VCL字段735是可选的路由字段,一些实施例使用该字段来提供用于将消息转发通过网络的替代方式(基于非IP的方式)。在一些实施例中,租户隧道报头720是GUE(通用UDP封装)报头。
图8给出了图示在一些实施例中如何使用这两个隧道报头705和710的示例。在这个示例中,数据消息800从公司的第一分支机构805中的第一机器802(例如,第一VM)发送到公司的第二分支机构810中的第二机器804(例如,第二VM)。这两个机器位于两个不同的子网中,分别是10.1.0.0和10.2.0.0,其中第一个机器的IP地址为10.1.0.17,而第二个机器的IP地址为10.2.0.22。在这个示例中,第一分支805连接到第一公共云数据中心830中的入口MFN 850,而第二分支810连接到第二公共云数据中心838中的出口MFN 855。而且,在这个示例中,第一和第二公共云数据中心的入口和出口MFN 850和855通过第三公共云数据中心836的中间MFN 857间接连接。
如图所示,来自机器802的数据消息800沿着IPsec隧道870被发送到入口MFN 850,该IPsec隧道870将第一分支机构805连接到入口MFN 850。这个IPsec隧道870在第一分支机构的IPsec网关848和入口MFN 850的IPsec网关852之间建立。通过利用IPsec隧道报头806封装数据消息800来建立这个隧道。
MFN 850的IPsec网关852对数据消息进行解封装(即,移除IPsec隧道报头806),并将解封装后的消息直接地或通过一个或多个中间盒服务机(例如,通过防火墙机器,诸如图2的机器210)传递给这个MFN的CFE 832。在传递这个消息时,在一些实施例中,MFN 850的IPsec网关或某个其它模块将该消息与IPsec隧道的隧道ID和公司的租户ID相关联。这个租户ID在虚拟网络提供者的记录中识别公司。
基于相关联的租户ID和/或IPsec隧道ID,入口MFN 850的CFE 832识别消息通过虚拟网络到达其目的地机器的子网(即,到达第二分支机构810)的路由,该路由由不同公共云数据中心中的MFC建立。例如,CFE 832使用租户ID和/或IPsec隧道ID来识别公司的路由表。然后,在这个路由表中,CFE 832使用接收到的消息的目的地IP地址10.2.022来识别记录,该记录将公共云数据中心838的出口MFN 855的CFE 853识别为用于数据消息800的目的地出口转发节点。在一些实施例中,识别出的记录将第二分支机构810的整个子网10.2.0.0/16映射到MFN 855的CFE 853。
在识别出出口CFE 853之后,入口MFN 850的CFE 832用租户隧道报头860封装接收到的数据消息,该租户隧道报头860在其IP报头725中包括入口CFE 832的源IP和出口CFE853的目的IP。在一些实施例中,这些IP地址在公共IP地址空间中定义。隧道报头860还包括与入口MFN 850处的数据消息相关联的租户ID。如上面所提到的,在一些实施例中,这个隧道报头还包括VCL报头值。
在一些实施例中,入口CFE 832还识别在到出口CFE 853的期望CFE路由路径上的下一跳MFN。在一些实施例中,入口CFE 832通过使用出口CFE 853的目的地IP地址在其路由表中识别这个下一跳CFE。在这个示例中,下一跳MFN CFE是第三公共云数据中心836的第三MFN 857的CFE 856。
在识别出下一跳MFN CFE之后,入口MFN CFE用VN-hop、第二隧道报头862封装封装的数据消息800。这个隧道报头允许消息路由到下一跳CFE 856。在这个外部报头862的IP报头715中,入口MFN CFE 832指定源和目的地IP地址作为入口CFE 832的源IP和中间CFE 856的目的地IP。在一些实施例中,它还将其层4协议指定为UDP。
当第三MFN 857的CFE 856接收到双重封装的数据消息时,它移除VN-hop、第二隧道报头862,并且从租户报头860中提取出口MFN 855的CFE 853的目的地IP地址。由于这个IP地址未与CFE 856相关联,因此该数据消息仍必须遍历到另一个MFN以到达其目的地。因而,CFE 856使用提取出的目的地IP地址来识别其路由表中识别下一跳MFN CFE 853的记录。然后,它利用外部报头705改变重新封装数据消息,并在其IP报头715中将源和目的地IP地址指定为其自己的IP地址和MFN CFE 853的目的地IP地址。接下来,CFE 856通过公共云数据中心836和838的居间路由架构将双重封装的数据消息800转发到出口CFE 853。
在接收到封装的数据消息之后,当出口CFE 853检索内部报头860中的目的地IP地址并确定这个目的地IP地址属于它时,出口CFE 853确定封装的消息是指向它的。出口CFE853从数据消息800中移除两个封装报头860和862,并在数据消息的原始报头中提取目的地IP地址。这个目的地IP地址识别第二分支机构的子网中的第二机器804的IP地址。
使用移除的租户隧道报头860中的租户ID,出口CFE 853识别要搜索的正确路由表,然后基于从接收到的数据消息的原始报头值中提取出的目的地IP地址来搜索这个路由表。根据这种搜索,出口CFE 853识别识别用于将数据消息转发到其目的地的IPsec连接的记录。然后,它将数据消息以及IPsec连接标识符提供给第二MFN的IPsec网关858,后者再用IPsec隧道报头859封装这个消息,然后将其转发到第二分支机构810的IPsec网关854。然后,网关854移除IPsec隧道报头,并将数据消息转发到其目的地机器804。
现在将参考图9-15描述若干更详细的消息处理示例。在这些示例中,假设每个租户IPsec接口以及VNP隧道都在同一本地公共IP地址上。照此,在一些实施例中,接口被附接到单个VRF(虚拟路由和转发)命名空间。这个VRF命名空间在下文中被称为VNP命名空间。
图9-11图示了消息处置处理900-1100,它们分别在入口、中间和出口MFN接收到在租户的两个不同的外部机器位置(例如,分支机构、数据中心等)的两个计算设备之间发送的消息时由它们执行。在一些实施例中,当每个这样的CFE是用作用于租户的不同数据消息流的入口、中间和出口CFE的候选时,控制器集群160将每个MFN的CFE配置为作为入口、中间和出口CFE操作。
下面将参考图8和12中的两个示例来解释处理900-1100。如上面所提到的,图8图示了当数据消息经过中间MFN到达出口MFN时的示例。图12图示了在入口和出口MFN之间不涉及中间MFN的示例。具体而言,其图示了当两个分支机构利用两个直接连接的MFN 1250和1255连接到两个公共云数据中心1230和1238时数据消息1200从第一分支机构1205中的第一设备1202发送到第二分支机构1220中的第二设备1210。如图所示,在这些示例中,MFN的CFE 1232和1253执行与每个MFN相关联的路由操作。
在一些实施例中,入口MFN 850和1250的入口CFE(例如,入口CFE 832或1232)执行处理900。如图9中所示,入口处理900通过基于接收到的数据消息中的IPsec隧道的标识符(例如,806或1206)最初识别(在905处)租户路由上下文而开始。在一些实施例中,IPsec网关或其它MFN模块在映射表中存储针对IPsec隧道ID的租户ID。每当沿着特定IPsec隧道接收到数据消息时,IPsec网关都会提取IPsec隧道ID,这个网关或另一个MFN模块随后将使用这个IPsec隧道ID通过参考其映射表来识别相关联的租户ID。通过识别租户ID,该处理识别租户路由表或VRF命名空间的租户部分以便使用。
在910处,该处理递增识别出的IPsec隧道的RX(接收)计数器,以考虑接收这个数据消息。接下来,在915处,该处理在识别出的租户路由上下文中(例如,在VRF命名空间的租户的部分中)执行路由查找(例如,最长前缀匹配(LPM)查找)以识别用于离开在公共云数据中心上构建的租户的虚拟网络的出口接口的IP地址。对于分支到分支的示例,出口接口是连接到目的地分支的MFN的出口CFE(例如,CFE 853或1253)的IP地址。
在920处,处理将租户隧道报头(例如,报头860或1260)添加到接收到的数据消息,并且嵌入入口CFE(例如,入口CFE 832或1252)的源IP地址和出口CFE(例如,出口CFE 853或1253)的目的地IP地址作为这个隧道报头中的源IP地址和目的地IP地址。在租户报头中,该处理还将租户ID(在905处识别)存储在租户报头中。在920处,该处理在租户报头之外添加VN-hop隧道报头(例如,报头862或1262),并将其IP地址作为源IP地址存储在这个报头中。该处理还指定(在920处)VNP隧道报头的UDP参数(例如,UDP端口)。
接下来,在925处,该处理为租户递增VN-传输计数器,以考虑这个数据消息的传输。在930处,该处理在识别出的VNP路由上下文中(例如,在VRF命名空间的VNP的部分中)执行路由查找(例如,LPM查找),以识别这个数据消息的下一跳接口。在一些实施例中,这个路由查找是至少部分地基于出口CFE的目的地IP的LPM查找(例如,在VRF命名空间的VNP的部分中)。
在935处,该处理确定下一跳出口接口是否是入口CFE的本地接口(例如,物理或虚拟端口)。如果是,那么该处理将VN-hop外部隧道报头中的目的地IP地址定义(在937处)为915处识别出的出口接口IP地址。接下来,在940处,该处理将双重封装的数据消息提供给其本地接口,以便可以将其转发到目的地出口CFE。在940之后,处理900结束。
图12图示了入口CFE 1232从第一分支机构1205的设备1202接收的数据消息1200的操作905-940的示例。如图所示,这个CFE的MFN 1250在其IPsec网关1252处从第一分支机构1205的IPsec网关1248接收这个数据消息作为IPsec封装的消息。入口CFE 1232用VN-hop隧道报头1262和租户隧道报头1260封装接收到的消息1200(在其IPsec报头已被IPsec网关1252移除之后),并将这个双重封装的消息转发到公共云1238的MFN 1255的出口CFE 1253。如图所示,在这个示例中,两个隧道报头1260和1262的源和目的地IP地址都完全相同。鉴于这两个IP地址集合是完全相同的,一些实施例在数据消息未通过任何居间CFE(诸如CFE856)进行路由时将放弃使用外部IP报头1262。
当该处理确定(在935处)下一跳出口接口不是入口CFE的本地接口而是另一个路由器的目的地IP地址时,该处理在VN-hop隧道中报头中嵌入(在945处)下一跳中间CFE(例如,中间CFE 856)的目的地IP地址作为VN-hop隧道报头的目的地IP地址。
接下来,在950处,该处理在识别出的VNP路由上下文中(例如,在VRF命名空间的VNP的部分中)执行另一个路由查找(例如,LPM查找)。这次,查找是基于VNP隧道报头中识别出的中间CFE的IP地址。由于中间CFE(例如,CFE 856)是虚拟网络中用于入口CFE(例如,CFE832)的下一跳CFE,因此路由表识别用于被发送到中间CFE的数据消息的本地接口(例如,本地端口)。因此,在VNP路由上下文中的这种查找识别入口CFE向其提供(在950处)双重封装的消息的本地接口。然后,该处理递增(在955处)VN中间计数器以考虑这个数据消息的传输。在955之后,该处理结束。
图10图示了在一些实施例中出口MFN的CFE(例如,CFE 853或1253)在接收到应当转发到连接到该MFN的公司计算节点(例如,分支机构、数据中心、远程用户位置)的数据消息时执行的处理1000。如图所示,该处理最初在与虚拟网络相关联的接口上接收(在1005处)数据消息。这个消息用VN-hop隧道报头(例如,报头862或1262)和租户隧道报头(例如,报头860或1260)封装。
在1010处,该处理确定VN-hop隧道报头中的目的地IP地址是其CFE的目的地IP地址(例如,CFE 853或1253的IP地址)。接下来,在1015处,该处理移除两个隧道报头。然后,该处理从被移除的租户隧道报头中检索(在1020处)租户ID。为了考虑接收到的数据消息,CFE然后递增(在1025处)它为由提取出的租户ID指定的租户维护的RX(接收)计数器。
接下来,在1030处,该处理在识别出的租户路由上下文中(即,在由在1020处提取出的租户ID识别出的租户的路由上下文中)执行路由查找(例如,LPM查找)以识别用于这个数据消息的下一跳接口。在一些实施例中,该处理基于接收到的数据消息的原始报头(例如,报头755)中的目的地IP地址来执行这个查找。从通过这种查找识别出的记录中,处理1000识别IPsec接口,数据消息必须通过该IPsec接口发送到其目的地。因而,处理1000将解封装的接收到的数据消息发送到其MFN的IPsec网关(例如,网关858或1258)。
然后,这个网关用IPsec隧道报头(例如,隧道报头859或1259)封装数据消息,并将其转发到目的地公司计算节点(例如,目的地分支机构)中的网关(例如,网关854或1254),然后将其解封装并转发到其目的地。在1030之后,CFE或其MFN递增(在1035处)它维护的计数器,用于沿着IPsec连接向目的地公司计算节点(例如,网关854和858之间或网关1254和1258之间的IPsec连接)传输消息。
图11图示了在一些实施例中中间MFN的CFE(例如,CFE 856)在接收到应当转发到另一个MFN的另一个CFE的数据消息时执行的处理1100。如图所示,该处理最初在与虚拟网络相关联的接口上接收(在1105处)数据消息。在一些实施例中,这个消息用两个隧道报头,VN隧道报头(例如,报头862)和租户隧道报头(例如,报头860),进行封装。
在1110处,该处理终止VN-hop隧道,因为它确定这个隧道报头中的目的地IP地址是其CFE的目的地IP地址(例如,是CFE 856的目的地IP地址)。接下来,在1115处,该处理确定VN-hop隧道报头是否指定了正确的UDP端口。如果不是,那么该处理结束。否则,在1120处,该处理移除VN-hop隧道报头。为了考虑接收到的数据消息,CFE然后递增(在1125处)它维护的RX(接收)计数器,以量化其作为中间跳CFE已经接收到的消息的数量。
在1130处,该处理在识别出的VNP路由上下文中(例如,在VRF命名空间的VNP的部分中)执行路由查找(例如,LPM查找),以识别用于这个数据消息的下一跳接口。在一些实施例中,这个路由查找是至少部分地基于在内部租户隧道报头中识别的出口CFE的目的地IP的LPM查找(例如,在VRF命名空间的VNP的部分中)。
然后,该处理确定(在1135处)下一跳出口接口是否是中间CFE的本地接口。如果是,那么该处理将VN-hop隧道报头添加(在1140处)到数据消息,该数据消息已经用租户隧道报头进行了封装。该处理将VN-hop隧道报头中的目的地IP地址设置(在1142处)为在租户隧道报头中指定的出口CFE的目的地IP地址。还将VN-hop隧道报头中的源IP地址设置(在1142处)为其CFE的IP地址。在这个隧道报头中,该处理还设置UDP属性(例如,UDP端口等)。
接下来,在1144处,该处理将双重封装的数据消息提供给其本地接口(在1130处识别),以便可以将其转发到目的地出口CFE。上面参考图8中的CFE 856的操作描述了这种VN-hop隧道解封装和转发的示例。为了考虑接收到的数据消息,CFE然后递增(在1146处)它维护的TX(传输)计数器,以量化它作为中间跳CFE已传输的消息的数量。在1146之后,处理1100结束。
另一方面,当该处理确定(在1135处)下一跳出口接口不是其CFE的本地接口而是另一个路由器的目的地IP地址时,该处理将VN-hop隧道报头添加(在1150处)到它先前从中移除了VN-hop隧道报头的数据消息。在新的VN-hop隧道报头中,处理1100嵌入(在1150处)其CFE的源IP地址和下一跳中间CFE的目的地IP地址(在1130处识别出的)作为VN-hop隧道报头的源和目的地IP地址。这个VNP隧道报头还指定了具有UDP目的地端口的UDP层4协议。
接下来,在1155处,该处理在识别出的VNP路由上下文中(例如,在VRF命名空间的VNP的部分中)执行另一个路由查找(例如,LPM查找)。这次,查找是基于新VN-hop隧道报头中识别出的下一跳中间CFE的IP地址。由于这个中间CFE是虚拟网络中当前中间CFE的下一跳,因此路由表识别用于发送到下一跳中间CFE的数据消息的本地接口。因此,VNP路由上下文中的这个查找识别当前中间CFE向其提供双重封装的消息的本地接口。然后,该处理递增(在1160处)VN中间TX(传输)计数器,以考虑这个数据消息的传输。在1160之后,该处理结束。
图13图示了当入口MFN的CFE接收到从租户的公司计算设备(例如,在分支机构中)发送到另一个租户机器(例如,在另一个分支机构、租户数据中心或SaaS提供者数据中心中)的针对租户的消息时由入口MFN的CFE执行的消息处置处理1300。如下面进一步描述的,图9的处理900是这个处理1300的子集。如图13中所示,处理1300通过基于传入IPsec隧道的标识符初始识别(在905处)租户路由上下文而开始。
在1310处,该处理确定接收到的数据消息的报头中的源和目的地IP地址是否均为公共IP地址。如果是,那么该处理(在1315处)丢弃该数据消息,并递增其为接收到的数据消息的IPsec隧道维护的丢弃计数器。在1315处,该处理减小计数器,因为当它通过租户的IPsec隧道接收消息时,它不应当接收寻址到公共IP地址的消息和来自公共IP地址的消息。在一些实施例中,处理1300还将ICMP错误消息发送回源公司计算机器。
另一方面,当该处理确定(在1310处)数据消息不是来自公共IP地址和去往另一个公共IP地址时,该处理确定(在1320处)接收到的数据消息的报头中的目的地IP地址是否是公共IP地址。如果是,那么,除了在处理1300的开始已经执行的操作905之外,该处理转移到1325以执行图9的处理900。在1325之后,处理1300结束。另一方面,当处理1300确定(在1320处)接收到的数据消息的报头中的目的地IP地址不是公共IP地址时,该处理递增(在1330处)识别出的IPsec隧道的RX(接收)计数器,以考虑接收这个数据消息。
然后,处理1300在识别出的租户路由上下文中(例如,在VRF命名空间的租户的部分中)执行(在1335处)路由查找(例如,LPM查找)。这个查找识别用于离开在公共云数据中心之上构建的租户虚拟网络的出口接口的IP地址。在图13所示的示例中,当数据消息旨在针对SaaS提供者数据中心中的机器时,处理1300到达查找操作1335。因此,这个查找识别用于离开租户的虚拟网络以到达SaaS提供者机器的出口路由器的IP地址。在一些实施例中,所有SaaS提供者路由都被安装在一个路由表中或VRF命名空间的一个部分中,而在其它实施例中,用于不同SaaS提供者的路由被存储在不同的路由表或不同的VRF命名空间部分中。
在1340处,该处理将租户隧道报头添加到接收到的数据消息,并嵌入入口CFE的源IP地址和出口路由器的目的地IP地址作为这个隧道报头中的源和目的地IP地址。接下来,在1345处,该处理为租户递增VN-传输计数器,以考虑这个数据消息的传输。在1350处,该处理在VNP路由上下文中(例如,在VRF命名空间的VNP的部分中)执行路由查找(例如,LPM查找)以将其本地接口之一识别为用于这个数据消息的下一跳接口。当下一跳是另一个CFE(例如,在其它公共云数据中心中)时,在一些实施例中,该处理还用VN-hop报头封装数据消息,并且嵌入其CFE的IP地址和另一个CFE的IP地址作为VN-hop报头的源和目的地地址。在1355处,该处理将封装的数据消息提供给其识别出的本地接口,以便可以将数据消息转发到其出口路由器。在1355之后,处理1300结束。
在一些情况下,入口MFN可以接收其CFE可以直接转发到数据消息的目的地机器而无需通过另一个MFN的CFE的针对租户的数据消息。在一些此类情况下,当CFE不需要将任何特定于租户的信息中继到任何其它后续的VN处理模块或者所需的信息可以通过其它机制提供给后续的VN处理模块时,不需要用租户报头或VN-hop报头来封装数据消息。
例如,为了将租户的数据消息直接转发到外部SaaS提供者数据中心,入口MFN的NAT引擎215将必须基于租户标识符执行NAT操作,如下面进一步描述的。入口CFE或入口MFN中的另一个模块必须将租户标识符提供给入口MFN的相关联NAT引擎215。当入口CFE和NAT引擎在同一个计算机上执行时,一些实施例通过将其存储在共享存储器位置中而在这两个模块之间共享这个信息。另一方面,当CFE和NAT引擎不在同一个计算机上执行时,一些实施例使用其它机制(例如,带外通信)在入口CFE和NAT引擎之间共享租户ID。但是,在此类情况下,其它实施例使用封装报头(即,使用带内通信)在入口MFN的不同模块之间存储和共享租户ID。
在一些实施例中,虚拟网络提供者使用上述处理、系统和部件来在相同或不同的公共云提供者的多个公共云上为多个不同租户提供多个虚拟WAN(例如,多个公司的多个不同公司WAN)。图14给出了一个示例,该示例示出了在一个或多个公共云提供者的N个公共云1405中具有网络基础设施和(一个或多个)控制器集群1410的虚拟网络提供者的M个租户的M个虚拟公司WAN 1415。
每个租户的虚拟WAN 1415可以跨越所有N个公共云1405或这些公共云的子集。每个租户的虚拟WAN 1415连接一个或多个分支机构1420、数据中心1425、SaaS提供者数据中心1430和租户的远程设备。在一些实施例中,每个租户的虚拟WAN跨越VNP的控制器集群认为对于在租户的不同计算节点1420-1435之间高效转发数据消息所必需的任何公共云1405。在选择公共云时,在一些实施例中,控制器集群还考虑租户选择的公共云和/或租户或租户的至少一个SaaS提供者在其中具有一个或多个机器的公共云。
每个租户的虚拟WAN 1415允许租户的远程设备1435(例如,移动设备或远程计算机)避免在任何分支机构或租户数据中心处与租户的WAN网关进行交互,以便访问SaaS提供者服务(即,访问SaaS提供者机器或机器集群)。在一些实施例中,通过将这些WAN网关(例如,WAN安全网关)的功能移至虚拟WAN所跨越的公共云中的一个或多个机器,租户的虚拟WAN允许远程设备避开分支机构和租户数据中心处的WAN网关。
例如,为了允许远程设备访问租户或其SaaS提供者服务的计算资源,在一些实施例中,WAN网关必须强制实施控制远程设备如何访问租户的计算机资源或其SaaS提供者服务的防火墙规则。为了避开租户的分支机构或数据中心WAN网关,将租户的防火墙引擎210放置在由租户的虚拟WAN跨越的一个或多个公共云中的虚拟网络MFN中。
这些MFN中的防火墙引擎210对往返于远程设备的数据消息流执行防火墙服务操作。通过在部署在一个或多个公共云上的虚拟网络中执行这些操作,与租户的远程设备相关联的数据消息流量无需不必要地通过租户的(一个或多个)数据中心或分支机构进行路由以便接收防火墙规则处理。这减轻了租户数据中心和分支机构中的流量拥塞,并避免了在这些位置上消费昂贵的入口/出口网络带宽来处理不去往这些位置处的计算资源的流量。由于这种方法允许在数据消息流遍历到它们的目的地(例如,在它们的入口MFN、出口MFN或中间跳MFN处)时在虚拟网络内进行居间防火墙规则处理,因此它还有助于加快往返于远程设备的数据消息流量的转发。
在一些实施例中,MFN的防火墙强制实施引擎210(例如,防火墙服务VM)从VNP中央控制器160接收防火墙规则。在一些实施例中,防火墙规则包括规则标识符和动作。在一些实施例中,规则标识符包括要与数据消息属性(诸如层2属性(例如,MAC地址)、层3属性(例如,五元组标识符等)、租户ID、位置ID(例如,办公位置ID、数据中心ID、远程用户ID等))进行比较的一个或多个匹配值,以便确定防火墙规则是否与数据消息匹配。
在一些实施例中,防火墙规则的动作指定当防火墙规则与数据消息的属性匹配时防火墙强制实施引擎210必须采取的动作(例如,允许、丢弃、重定向等)的动作。为了解决多个防火墙规则匹配数据消息的可能性,防火墙强制实施引擎210将(从控制器集群160接收的)防火墙规则以分层的方式存储在防火墙规则数据存储装置中,以便一个防火墙规则可以比另一个防火墙规则具有更高的优先级。在一些实施例中,当数据消息与两个防火墙规则匹配时,防火墙强制实施引擎以更高的优先级应用该规则。在其它实施例中,防火墙强制实施引擎根据防火墙规则的层次结构检查防火墙规则(即,在较低优先级规则之前检查较高优先级规则),以便确保在另一个较低优先级规则也可能是针对数据消息的匹配的情况下,它首先与较高优先级规则匹配。
一些实施例允许控制器集群配置MFN部件,以使防火墙服务引擎在其进入虚拟网络时在入口节点(例如,节点850)处、在虚拟网络的中间节点(例如,节点857)处或者在其离开虚拟网络时在出口节点(例如,节点855)处检查数据消息。在一些实施例中,在这些节点中的每个节点处,CFE(例如,832、856或858)调用其相关联的防火墙服务引擎210以对CFE接收到的数据消息执行防火墙服务操作。在一些实施例中,防火墙服务引擎将其决定返回给调用它的模块(例如,返回给CFE),以便这个模块可以对数据消息执行防火墙操作,而在其它实施例中,防火墙服务引擎对数据消息执行其防火墙动作。
在一些实施例中,其它MFN部件指导防火墙服务引擎执行其操作。例如,在一些实施例中,在入口节点处,VPN网关(例如,225或230)指示其相关联的防火墙服务引擎执行其操作,以便确定是否应当将数据消息传递到入口节点的CFE。而且,在一些实施例中,CFE在出口节点处将数据消息传递到其关联的防火墙服务引擎,如果它决定允许数据消息通过,那么防火墙服务引擎将数据消息传递通过外部网络(例如,互联网)以到达其目的地或将数据消息传递到其相关联的NAT引擎215,以在通过外部网络将数据消息传递到其目的地之前执行其NAT操作。
一些实施例的虚拟网络提供者允许在公共云中定义的租户的WAN安全网关实现除防火墙服务之外或代替防火墙服务的其它安全服务。例如,租户的分布式WAN安全网关(在一些实施例中,其分布在由租户的虚拟网络跨越的每个公共云数据中心上)不仅包括防火墙服务引擎,而且还包括入侵检测引擎和入侵防御引擎。在一些实施例中,入侵检测引擎和入侵防御引擎在体系架构上被结合在MFN150中以占据与防火墙服务引擎210相似的位置。
在一些实施例中,这些引擎中的每一个包括一个或多个存储由中央控制器集群160分发的入侵检测/预防策略的存储装置。在一些实施例中,这些策略将引擎配置为检测/防止对租户的(部署在多个公共云数据中心上的)虚拟网络的未经授权的入侵,并响应于检测到的入侵事件而采取动作(例如,生成日志、发送通知、关闭服务或机器等)。就像防火墙规则,可以在定义虚拟网络的各种不同的受管理转发节点(例如,数据消息流的入口MFN、中间MFN和/或出口MFN)处强制实施入侵检测/预防策略。
如上面所提到的,虚拟网络提供者通过在由虚拟WAN跨越的每个公共云中部署至少一个MFN并配置已部署的MFN定义MFN之间允许租户的消息流进入和离开虚拟WAN的的路由来部署每个租户的虚拟WAN。而且,如上面所提到的,在一些实施例中,每个MFN可以由不同的租户共享,而在其它实施例中,每个MFN仅为一个特定的租户部署。
在一些实施例中,每个租户的虚拟WAN是通过经由覆盖隧道连接由那个WAN使用的MFN来建立的安全虚拟WAN。在一些实施例中,这种覆盖隧道方法用每个租户唯一的隧道报头封装每个租户的数据消息流,例如,包含唯一地识别该租户的租户标识符。对于租户,在一些实施例中,虚拟网络提供者的CFE使用一个隧道报头来识别用于进入/离开租户的虚拟WAN的入口/出口转发元件,并使用另一个隧道报头来遍历虚拟网络的居间转发元件。在其它实施例中,虚拟WAN的CFE使用不同的覆盖封装机制。
为了在一个或多个公共云上为租户部署虚拟WAN,VNP的控制器集群(1)基于租户的公司计算节点(例如,分支机构、数据中心、移动用户和SaaS提供者)的位置为租户识别可能的边缘MFN(其可以用作用于不同数据消息流的入口或出口MFN),并且(2)识别所有可能的边缘MFN之间的路由。一旦识别出这些路由,它们就被传播到CFE的转发表(例如,使用OpenFlow传播到不同的基于OVS的虚拟网络路由器)。具体而言,为了识别通过租户虚拟WAN的最佳路由,与这个WAN相关联的MFN生成量化它们与其相邻MFN之间的网络连接质量并定期将其测量提供给VNP的控制器集群的测量值。
如上面所提到的,控制器集群然后聚合来自不同MFN的测量、基于这些测量生成路由图、定义通过租户的虚拟WAN的路由,然后将这些路由分发到MFN的CFE的转发元件。为了动态更新用于租户的虚拟WAN的已定义路由,与这个WAN相关联的MFN周期性地生成其测量并将这些测量提供给控制器集群,然后控制器集群基于它接收到的更新后的测量周期性地重复其测量聚合、路由图生成、路由识别和路由分发。
在定义通过租户的虚拟WAN的路由时,VNP的控制器集群针对期望的端到端性能、可靠性和安全性优化路由,同时尝试最小化通过互联网的租户的消息流的路由。控制器集群还配置MFN部件,以优化传递通过网络的数据消息流的层4处理(例如,通过跨连接路径拆分速率控制机制来优化TCP连接的端到端速率)。
随着公共云的激增,常常很容易在公司的每个分支机构附近找到主要的公共云数据中心。类似地,SaaS供应商越来越多地将其应用托管在公共云内,或者类似地位于某个公共云数据中心附近。因此,虚拟公司WAN 1415安全地使用公共云1405作为在公司计算节点(例如,分支机构、数据中心、远程设备和SaaS提供者)附近存在的公司网络基础设施。
公司WAN要求带宽保证,以便始终以可接受的性能提供关键业务应用。此类应用可以是交互式数据应用,例如:ERP、财务或采购、面向最后期限的应用(例如,工业或IoT控制)、实时应用(例如,VoIP或视频会议)。因此,传统的WAN基础设施(例如,帧中继或MPLS)提供了这样的保证。
在多租户网络(例如,在其上定义多个虚拟网络的共享虚拟网络)中提供带宽保证的主要障碍是需要通过一条或多条路径为某个客户预留带宽。在一些实施例中,VNP提供QoS服务,并提供入口承诺速率(ICR)保证和出口承诺速率(ECR)保证。ICR是指进入虚拟网络的流量速率,而ECR是指离开虚拟网络到租户站点的流量速率。
只要流量不超过ICR和ECR限制,在一些实施例中,虚拟网络就可以提供带宽和延迟保证。例如,只要HTTP入口或出口流量不超过1Mbps,就可以保证带宽和低延迟。这是点到云模型,因为出于QoS的目的,只要VNP的目的地在ICR/ECR界限之内,VNP就无需跟踪其流量目的地。这个模型有时被称为软管模型。
对于更严格的应用,其中客户期望点对点保证,那么需要构建虚拟数据管道来递送高度关键的流量。例如,企业可能想要两个以高服务水平协议保证连接的集线器站点或数据中心。为此,VNP路由自动选择满足每个客户带宽约束的路由路径。这被称为点对点模型或管道模型。
VNP在向终端用户提供有保证的带宽方面的主要优点是根据变化的带宽需求来调整VNP基础设施的能力。大多数公共云在位于同一个云的不同区域的每两个实例之间提供最小带宽保证。如果当前网络没有足够的未使用容量来为新请求提供有保证的带宽,那么VNP为其设施添加新资源。例如,VNP可以在高需求区域中添加新的CFE。
一个挑战是在规划路线以及扩展和缩小基础设施时优化这个新维度的性能和成本。为了促进算法和带宽核算,一些实施例假设不拆分端到端带宽预留。以其它方式,如果在某个租户的分支机构A和分支机构B之间保留了一定的带宽(例如,10Mbps),那么在从分支机构A所连接的入口CFE开始然后经过零个或多个中间CFE的集合到达连接到分支B的出口CFE的单条路径上分配带宽。一些实施例还假设带宽有保证的路径仅遍历单个公共云。
为了考虑在网络拓扑上相交的各种带宽预留,在一些实施例中,VNP静态地定义在预留的带宽路径上的路由,使得数据消息流总是穿过为该带宽要求预留的相同路由。在一些实施例中,用单个标签来识别每条路由,该路由所遍历的每个CFE与和这条路由相关联的单个传出接口匹配。具体而言,每个CFE将单个传出接口与在其报头中具有这个标签并从具体传入接口到达的每个数据消息匹配。
在一些实施例中,控制器集群维护由若干互连节点形成的网络图。图中的每个节点n都具有与这个节点相关联的已分配的总的有保证的带宽(TBWn),以及这个节点已经预留(分配给某条预留路径)的带宽量(RBWn)。此外,对于每个节点,该图包括以分/千兆字节为单位的成本(Cij),以及与这个节点和图中所有其它节点之间的发送流量相关联的以毫秒为单位的延迟(Dij)。在节点i和节点j之间的发送流量相关联的权重为Wij=a*Cij+Dij,其中a是通常在1到10之间的系统参数。
当对于分支A和B之间的值为BW的带宽预留请求被接受时,控制器集群首先将该请求映射到分别绑定到分支A和B的具体入口和出口路由器n和m。然后,控制器集群执行路由处理,该处理在n和m之间进行两次最低成本(例如,最短路径)的计算。第一次是n和m之间的最低成本(例如,最短路径)的路由,与沿着计算出的路由的可用带宽无关。这条路线的总权重被计算为W1
第二最低成本(例如,最短路径)计算最初通过消除BW>TBWi-RBWi的所有节点i来修改图。经修改的图被称为经修剪的图。然后,控制器集群在经修剪的图上执行第二次成本最低(例如,最短路径)路线计算。如果第二条路由的权重不超过第一条路由的K%(K通常为10%-30%),那么选择第二条路由作为优选路径。另一方面,当不满足这个要求时,控制器集群将具有TBWi-RBWi的最小值的节点i添加到第一条路径,然后重复两次最低成本(例如,最短路径)的计算。控制器集群将继续添加更多路由器,直到满足条件为止。那时,保留的带宽BW被添加到所有RBWi,其中i是所选择的路由上的路由器。
对于为已经具有预留带宽的路由请求附加带宽的特殊情况,控制器集群将首先删除节点A和B之间的当前带宽预留,并将计算针对这些节点之间的总带宽请求的路径。为此,在一些实施例中为每个节点保存的信息还包括为每个标签或每个源和目的地分支预留的带宽,而不仅仅是预留的总带宽。在将带宽预留添加到网络之后,只要通过虚拟网络测得的网络延迟或成本没有重大改变,一些实施例就不会重新访问路由。但是,当测量和/或成本改变时,这些实施例重复带宽预留和路由计算处理。
图15概念性地图示了由虚拟网络提供者的控制器集群160执行以便为特定租户部署和管理虚拟WAN的处理1500。在一些实施例中,处理1500由在控制器集群160上执行的若干不同的控制器程序执行。这个处理的操作不一定必须遵循图15中所示的顺序,因为这些操作可以由不同程序并行或以不同顺序执行。因而,在这个图中示出这些操作仅是为了描述由控制器集群执行的操作的一个示例性序列。
如图所示,控制器集群最初在若干不同的公共云提供者(例如,Amazon AWS、Google GCP等)的若干公共云数据中心中部署(在1505处)若干MFN。在一些实施例中,控制器集群为一个或多个其它租户配置(在1505处)这些部署的MFN,这一个或多个其它租户与为其示出了处理1500的特定租户不同。
在1510处,控制器集群从特定租户接收关于外部机器属性和特定租户的位置的数据。在一些实施例中,这个数据包括由特定租户使用的私有子网以及该特定租户具有外部机器的一个或多个租户机构和数据中心的标识符。在一些实施例中,控制器集群可以通过API或通过控制器集群提供的用户界面来接收租户数据。
接下来,在1515处,控制器集群从由作为候选MFN的MFN 150的测量代理205收集的测量中为特定租户生成路由图,以用于为特定租户建立虚拟网络。如上面所提到的,路由图具有表示MFN的节点,以及表示MFN之间的网络连接的节点之间的链路。链路具有相关联的权重,该权重是量化使用由链路表示的网络连接的质量和/或成本的成本值。如上面所提到的,控制器集群首先从收集的测量中生成测量图,然后通过从测量图中移除不是最优的链路(例如,具有大的延迟或丢包率的链路)来生成路由图。
在构造路由图之后,控制器集群执行(在1520处)路径搜索,以识别不同对的候选入口和出口节点(即,MFN)之间租户的外部机器可以用来将数据消息发送到(由MFN部署的)虚拟网络并从虚拟网络接收数据消息的可能路由。在一些实施例中,控制器集群使用已知的路径搜索算法来识别节点的每个候选入口/出口对之间的不同路径。用于此类对的每条路径都使用一个或多个链路,这些链路在被级联时从入口节点通过零个或多个中间节点遍历到出口节点。
在一些实施例中,任何两个MFN之间的成本包括两个MFN之间的连接链路的估计等待时间和财务成本的加权和。在一些实施例中,等待时间和财务成本包括以下一项或多项:(1)链路延迟测量、(2)估计的消息处理等待时间、(3)从特定数据中心或者到同一公共云提供者的的另一个数据中心或者离开公共云(PC)提供者的云(例如,到达另一个公共云提供者的另一个公共云数据中心或到达互联网)的传出流量的云费用,以及(4)与在公共云中的主机计算机上执行的MFN相关联的估计的消息处理成本。
一些实施例评估遍历公共互联网的两个MFN之间的连接链路的害处,以便在任何可能的情况下最小化这种遍历。一些实施例还激励两个数据中心之间的私有网络连接的使用(例如,通过降低连接链路成本),以便使路由生成偏向使用这种连接。使用这些成对链路的计算出的成本,控制器集群可以通过聚合由路由路径使用的各个成对链路的成本来计算使用这些成对链路中的一个或多个的每条路由路径的成本。
控制器集群然后基于每个候选入口/出口节点对之间识别出的候选路径的计算出的成本(例如,最低聚合成本)来选择(在1520处)一条或多达N条识别出的路径(其中N是大于1的整数)。在一些实施例中,如上面所提到的,每条路径的计算出的成本基于该路径使用的每个链路的权重成本(例如,是每个链路的相关联权重值之和)。当两个MFN之间需要多于一条路由以允许入口MFN或中间MFN执行多路径操作时,控制器集群可以选择一对入口/出口节点之间的多于一条路径。
在为每个候选的入口/出口节点对选择(在1520处)一条或N条路径之后,控制器集群基于所选择的路径定义一条或N条路由,然后为实现特定租户的虚拟网络的MFN生成路由表或路由表部分。生成的路由记录识别到达特定租户的不同子网的边缘MFN,并识别用于遍历从入口MFN到出口MFN的路由的下一跳MFN。
在1525处,控制器集群将路由记录分发到MFN,以便配置这些MFN的转发元件235以实现用于特定租户的虚拟网络。在一些实施例中,控制器集群通过使用当前在软件定义的多租户数据中心中用于配置在主机计算机上执行的软件路由器实现跨越主机计算机的逻辑网络的通信协议来与转发元件通信以传递路由记录。
一旦已经配置了MFN并且虚拟网络可操作用于特定租户,边缘MFN就从租户的外部机器(即,虚拟网络外部的机器)接收数据消息并将这些数据消息转发到虚拟网络中的边缘MFN,该边缘MFN将数据消息转发到租户的其它外部机器。在执行此类转发操作时,入口、中间和出口MFN收集关于其转发操作的统计信息。而且,在一些实施例中,每个MFN上的一个或多个模块在一些实施例中收集关于公共云数据中心中的网络或计算消费的其它统计信息。在一些实施例中,公共云提供者收集此类消费数据,并将收集的数据传递给虚拟网络提供者。
当接近计费周期时,控制器集群收集(例如,在1530处)由MFN收集的统计信息,和/或由MFN收集或由公共云提供者提供的网络/计算消费数据。基于收集的统计信息,和/或提供的网络/计算消费数据,控制器集群生成(在1530处)计费报告,并将计费报告发送给特定租户。
如上面所提到的,在计费报告中的计费金额考虑控制器集群接收(例如,在1530处)的统计信息和网络/消费数据。而且,在一些实施例中,账单考虑虚拟网络提供者运营MFN(为特定租户实现虚拟网络)所产生的成本加上回报率(例如,增加10%)。这种计费方案对于特定租户而言是方便的,因为特定租户不必处理来自其上部署了租户的虚拟网络的多个不同公共云提供者的账单。在一些实施例中,VNP的所发生的成本包括由公共云提供者向VNP收取的成本。在1530处,控制器集群还收取信用卡的费用或针对反映在账单报告中的费用以电子方式从银行账户中提取资金。
在1535处,控制器集群确定它是否已经从测量代理205接收到新的测量。如果不是,那么处理过渡到1545,这将在下面进行描述。另一方面,当控制器集群确定它已经从测量代理接收到新的测量时,它确定(在1540处)它是否需要基于新的测量为特定租户重新检查其路由图。在没有MFN故障的情况下,在一些实施例中,控制器集群最多在特定时间段期间(例如,每24小时或每周一次)基于接收到的更新后的测量为每个租户更新一次其路由图。
当控制器集群基于其已接收到的新测量确定(在1540处)它需要重新检查路由图时,该处理基于新接收到的测量生成(在1545处)新的测量图。在一些实施例中,控制器集群使用加权和将每个新测量与先前测量混合,以便确保与测量图的链路相关联的测量值不会在每次接收到新的测量集时剧烈波动。
在1545处,控制器集群还基于经调整的测量图来确定是否需要调整路由图(例如,是否需要为路由图链路调整权重值,或者由于与链路相关联的经调整的测量值,在路由图中添加还是移除链路)。如果是,那么控制器集群(在1545处)调整路由图、执行路径搜索操作(诸如操作1520)以识别入口/出口节点对之间的路由、基于识别出的路由生成路由记录,并将路由记录分发到MFN。从1545,处理过渡到1550。
当控制器集群确定(在1540)它不需要重新检查路由图时,处理也过渡到1550。在1550处,控制器集群确定它是否必须收集关于被处理的数据消息和消费的网络/计算资源的统计信息。如果不是,那么处理返回到1535,以确定它是否已经从MFN测量代理接收到新的测量。否则,处理返回到1530,以收集统计信息和网络/计算消费数据并生成和发送计费报告。在一些实施例中,控制器集群重复执行处理1500的操作,直到特定租户不再需要跨公共云数据中心部署的虚拟网络。
在一些实施例中,控制器集群不仅在公共云数据中心中为租户部署虚拟网络,而且还协助租户在公共云数据中心中部署和配置计算节点机器和服务机器。所部署的服务机器可以是与MFN的服务机器分开的机器。在一些实施例中,发给特定租户的控制器集群计费报告还考虑了由部署的计算和服务机器消费的计算资源。再次,与从多个公共云提供者接收多个账单相比,对于租户而言,对于在多个公共云提供者的多个公共云数据中心中消费的网络和计算资源具有来自一个虚拟网络提供者的一个账单是更优选的。
其它实施例使用其它部署模型来部署专用或共享MFN,以在两个或更多公共云提供者的网络和计算基础设施上实现专用或共享虚拟网络。例如,在一些实施例中,虚拟网络提供者允许一个或多个云服务经销商为他们的一个或多个客户部署专用或共享MFN。在一些实施例中,专用虚拟网络是用为一个实体部署的专用MFN建立的网络。另一方面,在这些实施例中的一些当中,共享虚拟网络是用被部署以供多个实体使用的共享MFN建立的网络。在一些实施例中,可以在共享虚拟网络上定义用于多个实体的多个隔离虚拟网络。
图16图示了一种这样的部署模型。如图所示,这个部署模型使用三个级别的SaaS提供者1605-1615,它们提供SaaS服务的三个集合。第一SaaS层1605由一个或多个公共云提供者1620提供,它们在多个不同的公共云1650中提供计算和网络基础设施(例如,计算元件(诸如主机计算机、VM和/或容器)和连接计算元件的网络元件(硬件或软件交换机、路由器、中间盒元件等)。第二SaaS层1610由VNP 1625提供,VNP 1625提供用于跨多个公共云1650为云转销商部署虚拟网络的工具。云转销商1630向其客户1640提供第三SaaS层1615,其使用云转销商工具来定义计算元件和网络基础设施(例如,虚拟网络)以在一个或多个公共云1650上进行部署。
在一些实施例中,云转销商1630具有其自己的与每个公共云提供者的客户账户。在一些实施例中,云转销商直接与每个公共云提供者建立其客户账户(如虚线1652所识别的),然后将用于这个客户账户的安全凭证提供给VNP提供者1625。在其它实施例中,云转销商通过VNP提供者的机器1625建立其公共云客户账户。为了指导VNP在公共云基础设施上为其租户之一部署虚拟网络,云转销商机器1630最初向VNP机器1625提供云转销商的VNP安全凭证(例如,用户名、密码、证书等),以便认证云转销商。
如图所示,云转销商还向VNP 1625提供期望的网络配置。这种配置描述了需要为租户部署的虚拟网络的属性。在一些实施例中,这种配置数据还包括云转销商1630用于其客户的租户标识符,它指导VNP 1625为其部署虚拟网络。在一些实施例中,这个租户标识符是从VNP获得的。在其它实施例中,配置数据包括由VNP提供的租户标识符,云转销商将其映射到其自己的用于其租户的租户标识符。
在一些实施例中,VNP机器1625在为转销商的客户部署虚拟网络时(例如,当部署MFN、用适当的路由记录配置MFN CFE等时)向公共云机器1620提供云转销商的安全凭证。这些安全凭证(例如,用户名、密码、安全证书等)允许VNP机器将自身认证为按照云转销商的要求运行的机器(例如,登录到公共云机器1620上,就像云转销商机器1630正在登录到公共云机器1620)。
为了为云转销商的每个租户部署虚拟网络,在一些实施例中,VNP机器还用用于云转销商的租户的租户标识符配置形成虚拟网络的部件(例如,MFN、MFN网关/服务箱/CFE等)。在一些实施例中,这些配置的部件然后将它们收集的统计信息(例如,路由统计信息和部署机器计算统计信息)与租户标识符相关联,以便可以基于这些统计信息对云转销商的客户进行适当收费,如下面进一步描述的。
在其中云转销商将其客户的租户标识符提供给VNP机器1625的一些实施例中,VNP机器1625将由云转销商1630提供的每个租户标识符映射到VNP的唯一租户标识符,并且在将统计信息提供给云转销商之前将收集到的统计信息的VNP租户标识符翻译成云转销商的租户标识符。在其它实施例中,云转销商机器1630和/或VNP提供者机器1625使用由公共云提供者机器1620提供的租户标识符。
VNP机器1625使用由云转销商1630提供的租户网络配置数据来为云转销商的每个客户部署和/或配置虚拟网络的虚拟网络部件(例如,MFN等)。在一些实施例中,多个不同的客户共享相同的虚拟网络和/或虚拟网络部件。结合地或可替代地,在一些实施例中,VNP机器1625可以为云转销商的任何个体客户定义专用虚拟网络。如图所示,VNP机器1625通过公共云提供者机器1620部署和配置虚拟网络和/或虚拟网络部件。在一些实施例中,转销商、VNP和公共云机器1620-1630通过其各自的API接口和居间网络架构(例如,互联网)彼此通信。
VNP机器1625从部署虚拟网络部件收集每个租户统计信息(例如,来自CFE和网关等的路由统计信息)、聚合统计信息,并将聚合的统计信息转发到云转销商。在VNP机器将转销商客户标识符映射到VNP租户标识符的实施例中,VNP机器在向聚合统计信息供应给经翻译的客户标识符之前将租户标识符翻译为客户标识符。而且,在VNP机器将公共云标识符映射到VNP租户标识符的实施例中,VNP机器将公共云标识符翻译成VNP标识符。
如图所示,VNP机器1625周期性地将计费报告发送到云转销商1630,以便为由VNP执行的服务收取费用。在一些实施例中,这些计费报告向云转销商收取VNP的服务费,以便在两个或更多个公共云上为云转销商部署虚拟网络。这些部署费用包括执行支持此类部署的辅助操作(诸如产生量化公共云中MFN之间以及租户的外部机器位置之间的链接的质量和/或成本的测量的测量操作)的费用。
而且,在一些实施例中,VNP机器1625从一个或多个公共云提供者接收针对云转销商的计费数据。在一些实施例中,这种计费数据与云转销商的客户凭证(例如,云转销商的PC提供者客户编号)相关联。在这些实施例中,VNP机器1625将计费数据传递给云转销商(例如,具有加价调整(markup adjustment)或不具有加价调整)。在其它实施例中,如虚线1652所示,公共云提供者将计费报告直接发送到云转销商机器1630。
在一些实施例中,云转销商机器1630使用由VNP机器1625提供的使用统计信息来向其客户收取虚拟网络的费用。在一些实施例中,VNP机器1625不仅部署网络基础设施,而且还部署用于云转销商1630的计算基础设施。在这些实施例中的一些当中,使用统计信息反映了所使用的计算资源,并且云转销商机器1630使用这些统计信息来向转销商的客户收费。在一些实施例中,云转销商不使用收集的统计信息来向其客户收费,而是基于客户请求部署的计算和/或网络配置向其客户收费。
为了进一步说明图16的三层SaaS部署模型之间的差异,图17图示了上面先前描述的两层SaaS部署模型的相似图。图17的这个两层模型没有任何云转销商1615。而是,在这种两层模型中,VNP的客户是使VNP为其部署专用虚拟网络或使用VNP已为若干客户部署的共享虚拟网络的实体。如上所述,由于每个客户的网络流量与其它客户的网络流量安全地隔离,因此不同的客户可以在一个或多个公共云上安全地共享定义共享虚拟网络的部件。在一些实施例中,通过使用租户标识符来分离不同客户的流量,为共享虚拟网络上的多个客户定义多个虚拟网络,如上所述。
在图17的两层模型中,第一SaaS层1605由一个或多个公共云提供者1620提供,它们在多个不同的公共云1650中提供计算和网络基础设施,而第二SaaS层1610由VNP 1625,它为其客户中的几个提供用于跨多个公共云1650部署虚拟网络的工具。如图所示,VNP机器1625向公共云提供者提供用于公共云的VNP安全凭证。
VNP机器为(与租户标识符相关联的)每个客户接收租户网络配置数据,并且基于这个数据,部署和/或配置用于其每个客户的虚拟网络的虚拟网络部件(例如,MFN等)。如图所示,VNP机器1625通过公共云提供者机器1620部署和配置虚拟网络和/或虚拟网络部件。在一些实施例中,VNP和公共云机器1620和1625通过它们各自的API接口和居间网络架构(例如,互联网)彼此通信。
如进一步所示,VNP机器1625按照每个租户从部署虚拟网络部件收集统计信息(例如,来自CFE和网关的路由统计信息等),并且聚合所收集的统计信息。VNP机器1625周期性地向每个VNP客户发送计费报告,以收集由VNP执行的服务的费用。如上面所提到的,在一些实施例中,这些费用包括公共云提供者针对客户的虚拟网络消耗的资源(例如,计算和/或网络资源)向VNP收取的费用,再加上一定的加价百分比。VNP机器基于这些机器为客户的关联标识符收集和聚合的统计信息来识别每个客户的虚拟网络的资源量。在其它实施例中,VNP机器将每个公共云提供者对客户虚拟网络消耗的资源的费用,再加上每个客户对VNP资源使用的费用,转嫁给每个客户。
一些实施例通过到一个或多个公共云提供者的多个公共云(例如,多个公共云数据中心)的多个连接链路将租户的多机器计算节点(例如,分支机构或数据中心)连接到租户的公共云虚拟网络。在多机器计算节点(MMCN)与公共云虚拟网络之间具有多个链接允许虚拟网络具有高可用性,因为它可以承受一个或多个连接路接的故障。在一些实施例中,一个链路是主要链路,而其它每个链路是故障转移链路。通过选择用以从MMCN进入虚拟网络的最佳入口节点用于通过虚拟网络到达用以离开虚拟网络到达另一个MMCN或SaaS提供者数据中心的出口节点的最佳路由,这种方法还允许建立从每个MMCN到每个另一个MMCN或SaaS提供者数据中心的最佳路由。
下面的讨论使用术语多宿主(multi-homed)MMCN来指租户的多机器计算节点,该节点通过到一个或多个公共云提供者的多个公共云的多个连接链路连接到租户的公共云虚拟网络。下面的讨论还使用术语多宿主SaaS数据中心来指虚拟网络将一个或多个公共云提供者的一个或多个公共云(例如,多个公共云数据中心)中的多个MFN与之关联的SaaS数据中心。在一些实施例中,这些MFN是用于遍历经过虚拟网络到达SaaS提供者的路由的候选出口节点。使用两个或更多个出口节点来连接SaaS数据中心的虚拟网络的优势还在于它启用链路故障转移支持并且允许在不同对的外部计算机节点(例如,远程计算机或MMCN)和SaaS提供者数据中心之间使用最优路由。
在一些实施例中,即使当虚拟网络控制器160将多个MFN与SaaS数据中心关联时,SaaS数据中心也不需要发起到多个公共云数据中心中虚拟网络的多个MFN的路由。另一方面,在一些实施例中,多宿主MMCN需要通过到虚拟网络的不同链路来主动发起路由。为此,通过具有带故障转移能力的适当路由器(例如,通过使用Cisco2800系列),在多宿主MMCN中促进提供回退能力。
为了最优路由,在一些实施例中,多宿主MMCN包括一个或多个计算机或设备,这些计算机或设备执行测量处理以测量MMCN与MMCN可以连接的不同公共云数据中心之间的性能(延迟、丢失等)。此外,在一些实施例中,MMCN基于由集中式控制器集群(例如,控制器集群160)定义的路由来执行其总体路由操作,该集中式控制器集群(例如,控制器集群160)为实体(例如,为租户)定义虚拟网络。为了实现这一点,多宿主MMCN配备有SD-WAN能力(诸如Velocloud和Viptela设备),这些能力作为用于部署虚拟网络的集中式控制平面的一部分进行操作。如上面所提到的,在一些实施例中,集中式控制平面由两个或更多个控制器的集群来实现。
图18图示了一些实施例的中央控制器集群用来为特定的多宿主MMCN定义路由的处理1800。这个处理在特定的多宿主MMCN中使用专用路由器来使用所定义的路由以执行通过多个连接链路将数据消息从MMCN转发到虚拟网络的路由操作。在一些实施例中,专用路由器是软件路由器或软件路由器的集群,而在其它实施例中,专用路由器是路由设备(例如,SD-WAN设备)。MMCN中的专用路由器或路由器集群在以下讨论中被称为MMCN的边缘节点。在一些实施例中,中央控制器集群通过互联网远程控制MMCN的边缘节点。
如图所示,中央控制器集群最初根据DNS服务器服务和边缘节点的IP地址从最接近特定MMCN边缘节点的N个不同云区域中识别(在1805处)N个MFN(例如,10到12个)的子集。在一些实施例中,N个MFN在特定MMCN的一定距离内具有来自每个云提供者的至少一个候选MFN。而且,在一些实施例中,N个MFN中的每一个都包括网关(例如,分支网关225)以与特定MMCN边缘节点建立安全连接链路。
而且,如上面所提到的,在一些实施例中,DNS服务器服务是在一个或多个公共云中操作并向实体的MMCN的DNS服务器提供DNS信息的服务机器或几个服务机器的集群。在这些实施例中的一些当中,DNS服务器由虚拟网络提供者或由另一个实体操作。在其它实施例中,DNS服务器服务是驻留在公共云外部的实现虚拟网络并且可以识别公共云中靠近为其执行处理1800的特定MMCN的边缘节点的Geo-IP服务(例如,第三方的)。
接下来,在1810处,控制器集群将识别出的列表下载到特定MMCN的边缘节点的N个节点,以便MMCN的边缘节点可以进行量化与列表中N个MFN中的每一个的连接的质量的测量。在一些实施例中,每个MMCN边缘节点具有生成此类测量的测量代理(例如,在MMCN计算机之一上执行的处理)。在不同实施例中,这个测量代理不同地生成测量值。在一些实施例中,测量代理周期性地(例如,每秒、每N秒、每分钟、每M分钟等)向列表中的N个MFN的测量代理中的每一个发送查验(pinging)消息(例如,UDP回声消息)。基于其接收到的答复消息的速度,MMCN测量代理计算并更新测量度量值(诸如网络连接吞吐速度、延迟、丢失和链路可靠性)。在一些实施例中,多个MFN共享一个测量代理(例如,在托管MFN的公共云提供者的相同数据中心或附近数据中心中)。
在一些实施例中,特定MMCN的测量代理周期性地执行这些测量,并且将新的测量周期性地发送到控制器集群,使得控制器集群可以更新其权重计算和路由生成,如下面参考1820-1835进一步描述的。而且,每当在新添加的或先前使用的公共云数据中心中添加新的MFN时,在一些实施例中,控制器集群就生成N个候选MFN的更新列表。
在1815处,控制器集群接收由特定MMCN的边缘节点进行的测量。基于这些测量,集中式控制器集群为将特定MMCN的边缘节点连接到N个MFN中的每一个的每个连接链路计算(在1820处)链路权重。例如,在一些实施例中,中央控制器通过对延迟测量使用指数过滤器并使用丢失参数作为权重乘数(例如,对于每1%的丢失将权重加倍)来计算每个链路的权重。
基于计算出的权重,中央控制器然后将M个(例如,5个或6个)MFN的子集识别(在1825处)为边缘节点将连接到的“归属”节点。在一些实施例中,这M个节点是具有最低权重值的节点。在其它实施例中,这M个节点是具有最低权重值的节点,但是每个云提供者中的至少一个代表性MFN被包括在这M个节点中。M个节点的列表可以随时间改变,并且在添加新MFN时和/或从特定的MMCN边缘节点接收到新测量时可以将MFN丢弃和添加到列表中。在一些实施例中,控制器集群使用“滞后”处理来避免M个MFN的列表中的频繁改变。在一些实施例中,滞后处理使用MFN列表的先前状态(即,先前成员)来减少向MFN列表添加/从MFN列表移除成员的速率。而且,在一些实施例中,除非另一个MFN的测量窗口(例如,时间段)的平均权重减小10%,否则控制器集群不会从列表中丢弃MFN。
如上面所提到的,在一些实施例中,特定MMCN边缘节点维护到M个MFN中的每个MFN的虚拟网络网关的安全连接(例如,IPsec连接)。在一些实施例中,控制器集群指示(在1825处)特定MMCN边缘节点与M个MFN中的每一个建立安全连接。在1830处,控制器集群使用所选择的M个MFN的计算出的权重来识别最优路由和故障转移路由,以用于使特定MMCN边缘节点与每个其它可能的节点连接,以使数据消息流通过虚拟网络在特定MMCN边缘节点与其它MMCN边缘节点或SaaS提供者数据中心之间遍历。为了生成此类路由,如上所述,在一些实施例中,控制器集群使用最短路径路由识别处理。
在一些实施例中,控制器集群周期性地或每当计算出的权重值改变时(例如,基于新测量或M个MFN的列表中MFN的添加/删除)重复其路由识别处理。在一些实施例中,控制器集群一起执行针对特定MMCN边缘节点的路由标识操作(在1830处)连同针对其它多宿主MMCN和/或多宿主SaaS提供者的路由识别操作,因为到其它MMCN和到SaaS提供者的多个连接链路在识别往返于特定MMCN的最优路由时将是相关的。这些计算出的路由还解释了往返于虚拟网络MFN的路由,这些虚拟网络MFN是用于连接到远程设备(例如,远程膝上型计算机、台式机或移动设备(诸如智能电话、平板电脑等))的候选。
在识别出这些路由之后,控制器集群供应(在1835处)到特定MMCN边缘节点和MFN的一条或多条路由的转发记录。例如,在一些实施例中,控制器集群向特定MMCN边缘节点并向MFN CFE提供转发记录(例如,指定下一跳的路由记录、指定虚拟网络出口节点的路由记录等)。通过使用这些转发记录来执行其路由操作,特定MMCN边缘节点和MFN CFE实现了由控制器集群定义(在1830处)的最优和故障转移路由。在一些实施例中,每当控制器集群识别出新的最优或故障转移路由时,它就将新的路由记录供应给特定MMCN边缘节点和MFNCFE。
以这种方式,图18的处理1800将其路由计算基于计算出的权重值,该权重值表达特定MMCN及其与虚拟网络的几个连接中的每一个之间的连接的质量。在这种方法下,可以为特定MMCN边缘节点和不同的MMCN、不同的SaaS节点和/或不同的远程设备选择不同的虚拟网络入口/出口节点对。因此,如上面所提到的,在一些实施例中,控制器集群针对一个或多个多宿主MMCN和/或多宿主SaaS提供者一起执行路由识别操作(即,操作1830)。
图19给出了两个MMCN 1905和1910以及SaaS数据中心1915的两个分支节点EN1和EN2的示例。每个分支节点通过在两个或三个公共云提供者的三个公共云数据中心中定义的虚拟网络MFN 1925-1935连接到虚拟网络1920。另一方面,可以通过虚拟网络MFN 1940和1945访问SaaS数据中心1915。在这些节点之间的链路上描绘了在相关分支节点EN1和EN2、MFN 1925-1945和SaaS数据中心1915之间测得的权重。在这个示例中,假设其它权重(如节点1925和1935之间的权重)要高得多(例如,10),因此最短路径路由算法不会在最佳成本路径中使用它们。
如从这个示例可以看到的,从EN1到SaaS数据中心的最佳路径遍历节点1925和1940,因为这条路径的权重之和为14,这小于其它路径的其它权重成本。例如,经过节点1930将在第一跳中产生较小的权重,但将导致总的最小权重为15。来自分支节点EN2的最优路由将通过路由器1935和1945,总权重为15。因此,两个分支将使用两个不同的路由到达SaaS数据中心。为了在EN1和EN2之间进行通信,最佳路由将是通过MFN 1930,总权重为13。
如上面所提到的,一些实施例将两个或更多个虚拟网络MFN与每个SaaS提供者的数据中心相关联。SaaS是一种软件分发模型,其中第三方提供者托管应用并通过互联网使客户可获得。SaaS移除了组织在自己的计算机或自己的数据中心上安装和运行应用的需要。这消除了硬件购置、供应和维护以及软件许可、安装和支持的费用。而且,客户订阅SaaS产品,而不是购买软件以安装或其它硬件来支持该软件。一般而言,他们使用即付即用模式按月为这项服务付费。将成本转换成经常性运营费用允许许多企业行使更好、更可预测的预算。用户还可以随时终止SaaS产品,以停止这些经常性费用。
SaaS提供高可扩展性,这使客户可以选择访问更多或更少的服务或特征,而无需供应或购买更多计算机。当需要更新软件而不是购买新版本或更新客户自己拥有的版本时,客户可以依靠SaaS提供者来自动执行更新和补丁管理。这进一步减轻了室内IT员工的负担。由于SaaS应用是通过互联网交付的,因此用户可以从任何启用互联网的设备和位置访问它们。这些优势使SaaS成为使用客户硬件安装在客户场所的打包软件的非常受欢迎的替代方案。SaaS提供者可以将服务托管在其(一个或多个)私有数据中心中的一个或多个服务器上,或托管在公共云中的一个或多个区域中的一个或多个服务器上。
通常,通过其服务的域名(例如,www.myworkday.com)来识别SaaS提供者。常常,与运行SaaS提供者的公共网页的服务器相关联的域名(www.workday.com)与运行SaaS应用的服务器的域名(www.myworkday.com)不同。可以通过DNS查询来解析这个域名,以提供SaaS应用服务器的IP地址。
在存在多个服务器的情况下,DNS服务器可以向可以与不同服务器相关联的两个不同请求返回不同的IP地址。不同名称的逻辑是基于位置的。如果SaaS提供者在世界上具有它拥有服务器的多个区域,那么每个请求者都将取回与其更近的IP服务器。在同一区域内,DNS服务仍可以根据负载平衡观点选择不同的服务器;返回的IP地址与同一区域中的不同服务器相关联。后一种情况将返回通常共享同一IP子网的不同服务器的IP地址。
在一些实施例中,虚拟网络的控制器集群保持已知IP SaaS地址的表。当虚拟网络从客户那里得到分组时,目的地IP可以是三种不同的类型。首先,分组可以与实体的私有位置相关联(即,具有在实体的私有IP空间中的目的地地址)。在这种情况下,在一些实施例中,虚拟网络将分组路由到与分组的目的地地址相关联的实体的对应计算节点。
第二,分组具有被寻址的目的地,该目的地是虚拟网络未知的公共(非私有)IP地址。这些IP地址被称为通用公共IP地址。在一些实施例中,虚拟网络将这种分组从入口虚拟网络节点发送到互联网。第三,分组具有作为虚拟网络已知的公共(非私有)IP地址的目的地地址,该地址是SaaS提供者的IP地址。此类IP地址被称为SaaS IP地址。在一些实施例中,这种分组将从第一虚拟网络节点(例如,第一MFN的第一CFE)路由到第二虚拟网络节点(例如,第二MFN的第二CFE),在一些实施例中,它从那里以最短可能方式提供给SaaS IP。
图20图示了一些实施例的中央控制器集群用来为多宿主SaaS提供者定义路由的处理2000。这个处理识别与SaaS服务相关联的各种IP地址并识别从不同的计算端节点到一个或多个SaaS提供者数据中心的最短可能路由。如图所示,在一些实施例中,当控制器集群接收到SaaS域名列表时,处理2000开始(在2005处)。在一些实施例中,由公共云虚拟网络提供者的管理员提供SaaS域列表,而在其它实施例中,由虚拟网络提供者为其定义公共云虚拟网络的实体的管理员提供这个列表。下表提供了这种SaaS列表的示例。
名称
1. login.adaptiveinsights.com
2. adobeid-nal.services.adobe.com
3. athenanet.athenahealth.com
4. login.bws.birst.com
5. account.box.com
6. centrify.com
7. identity.citrix.com
8. login.constantcontact.com
9. account.docusign.com
10. login.github.com
11. secure.gooddata.com
12. app.hubspot.com
13. login.huddle.net
14. hub.insidesales.com
15. login.marketo.com
16. system.netsuite.com
17. login.newrelic.com
18. login.microsoftonline.com
19. login.okta.com
20. login.oracle.com
21. myapps.paychex.com
22. login.salesforce.com
23. servicemax.cloudforce.com
24. hi.service-now.com
25. auth.tableausoftware.com
26. login.ultimatesoftware.com
27. support.veeva.com
28. login.xero.com
29. www.zendesk.com
在2010处,控制器集群将SaaS域列表存储在数据库中。在一些实施例中,这个数据库可通过一个或多个接口(例如,web服务器接口和/或API接口)被虚拟网络提供者和/或为其部署虚拟网络的实体(例如,租户)的管理员访问。通过这个接口,管理员可以在列表中添加或移除SaaS提供者和/或相关联的域名。
接下来,在2015处,控制器集群在其域名列表中学习与该域相关联的SaaS服务器的尽可能多的IP地址。为此,在一些实施例中,控制器集群指引公共云中的不同测量代理205(由VNP为在不同公共云上部署的一个或多个虚拟网络部署)对列表中的每个域名执行DNS查询。周期性地(例如,每30分钟)重复这种查询。测量代理205将它们为每个域名学习的IP地址传送回(在2015处)控制器集群。
由于许多SaaS正在使用地理DNS服务来将相邻服务器与客户端进行匹配,因此不同的测量代理可以返回不同的IP地址。SaaS提供者通常使用具有SaaS服务器及其位置的列表的权威DNS服务器。当这种DNS服务器得到DNS请求时,它接收测量代理的IP地址,并将这个IP地址用于Geo-IP映射以识别测量代理的位置并返回用于测量代理的“最佳”服务器的IP地址。在一些实施例中,测量代理还提供虚拟网络的端计算节点的IP地址,并且由SaaS提供者使用的DNS服务器基于端计算节点的IP地址提供IP地址。
控制器集群(在2020处)将返回的IP地址及其相关联的域名存储在数据库中。当至少一定数量的IP(例如,5个)属于同一IP子网(例如,包含255个或更少的不同地址的C类子网)时,控制器集群将子网本身添加到数据库。在一些实施例中,这个数据库可通过一个或多个接口(例如,web服务器接口和/或API接口)被虚拟网络提供者和/或为其部署虚拟网络的实体(例如,租户)的管理员访问。通过这个接口,管理员可以添加或移除IP地址。这个接口还允许添加/移除与由管理员添加/移除的域名相关联的记录。而且,在一些实施例中,控制器集群清除在一段时间内(例如,每天、每几天、每周或每几周等)未报告为正在使用的IP地址。
在2020之后,中央控制器针对在一个或多个公共云(报告区域)中从报告测量代理接收的每个报告的IP地址识别(在2025处)在报告区域附近(即,在其阈值距离之内)的公共云的集合(附近区域)。在一些实施例中,两个区域的接近度是根据区域之间分别测量的网络距离来确定的。在一些实施例中,处理2000使用第三方DNS服务来识别每个IP地址的近似位置,然后使用识别出的IP地址的位置来量化两个IP地址之间的距离。为所有报告的IP地址识别出的区域集的列表被称为IP邻近报告。当不执行这种操作时,IP邻近报告将把所有虚拟网络区域定义为位于每个IP地址附近。
在2030处,中央控制器将IP邻近报告提供给由VNP为在不同公共云上部署的一个或多个虚拟网络部署的已部署的测量代理205。然后,每个测量代理周期性地(例如,每隔几分钟或几小时一次)测量测量代理与每个SaaS提供者IP地址之间的距离,该SaaS提供者IP地址在IP邻近报告中被识别为在测量代理附近。在一些实施例中,测量代理根据用于在这个IP地址处发起与服务器的TCP连接的延迟来计算到IP地址的这个距离。当具有这个IP地址的服务器响应时,测量到那个响应的时间。在一些实施例中,一旦被认为是第一响应,测量代理就主动终止TCP连接。在一些实施例中,测量代理还计数成功TCP连接事件和/或丢失分组的数量。其它实施例中的测量代理使用其它测量技术,诸如以上描述的测量技术中的任何一种。
在2035处,控制器集群从测量代理接收距离测量。接下来,在2040处,控制器集群使用返回的测量(例如,从每个测量代理报告的延迟和丢失数)来识别从每个可能的入口MFN和/或从每个可能的MMCN到每个SaaS提供者(例如,到每个SaaS IP地址)的路由。为了识别路由,在一些实施例中,控制器集群执行最短路径路由识别处理,该处理依赖于基于到不同SaaS IP地址、不同MFN之间和到不同MMCN的测量计算出的权重值。
在一些实施例中,控制器集群周期性地或每当计算出的权重值改变(例如,基于新测量或MFN和SaaS IP地址的添加/删除)时重复其路由识别处理。在一些实施例中,由于与MMCN和SaaS提供者相关联的多个出口节点将在识别到任何一个SaaS提供者的最优路由方面是相关的,因此控制器集群针对多个MMCN和SaaS IP地址一起执行路由识别操作(在2040处)。
在识别出这些路由之后,控制器集群将这些路由供应给(在2045处)MMCN边缘节点和MFN。例如,在一些实施例中,控制器集群向MMCN边缘节点和MFN CFE提供转发记录(例如,指定下一跳的路由记录、指定虚拟网络出口节点的路由记录等)。通过使用这些转发记录来执行其路由操作,特定MMCN边缘节点和MFN CFE实现由控制器集群定义的最优路由(在2040处)。在一些实施例中,每当控制器集群识别出新路由时,它就向MMCN边缘节点和MFN CFE供应新的路由记录。
在一些实施例中,假设通过上述处理发现的SaaS IP地址到它们所连接的虚拟网络节点的路由距离为零(即,假设其虚拟地位于虚拟网络的公共云区域中)。在其它实施例中,公共云区域和SaaS IP地址之间的路由链路具有与之相关联的权重(如图19的示例中所反映的),并且这些权重反映了与从这些公共云区域到SaaS IP地址的路径相关联的成本(例如,测得的延迟和/或丢失)。在这种方法下,连接到特定IP地址的最佳区域是计算出的权重值(即,根据分组延迟和丢失测得的成本)小的区域。
将SaaS IP地址与多于一个公共云区域中的多于一个MEN CFE相关联的一种合理性是SaaS服务器到多个区域的距离远小于区域之间的典型距离。此外,路由源自一个公共云的流量的成本可能更低,因此它将一直保留到同一个云中的出口节点。在这种情况下,在一些实施例中,控制器集群将每个SaaS IP绑定到每个公共云中的至少一个区域,只要来自最近的区域的成本(例如,延迟和丢失)低于某个成本(例如,延迟和丢失)阈值即可。当路由识别处理需要计算到某个IP地址的最短路径时,它首先查看这个IP地址绑定到的区域,然后计算从每个出口节点到绑定区域的最短路径。在一些实施例中,路由器中的路由表本身不需要包括外部IP地址,因为数据消息将在隧道中被携带直到目的地出口节点,然后目的地出口节点将继续查看(look up to)隧道中的IP地址。
如上面所提到的,在一些实施例中,计算出的权重值考虑了两个公共云区域之间、公共云区域与SaaS提供者数据中心之间或公共云区域和租户的计算端节点之间的链路中的分组延迟和/或丢失的成本。在其它实施例中,根据其它类型的参数(诸如由公共云提供者收取的数据吞吐成本和/或由公共云提供者收取的计算成本(对于用于在公共云中实现MFN部件的计算元件))来计算针对每个这种链路的计算出的权重值。
在一些实施例中,实体可以向VNP提供关于使用哪些公共云来部署实体的虚拟网络的输入。在一些实施例中,这个输入还伴随着对VNP的请求,以在一个或多个公共云提供者的一个或多个公共云上为实体(例如,为VNP的租户)创建专用虚拟网络。在一些实施例中,实体的输入指定要使用的公共云提供者和/或应当在其中定义虚拟网络的公共云区域。相结合地或可替代地,这个输入在一些实施例中指定要使用的实际公共云数据中心(PCD)。在一些实施例中,VNP用VNP识别为期望数据中心的一个或多个PCD补充通过实体的输入为实体识别出的公共云数据中心的集合,以添加到实体的数据中心的集合。
图21图示了VNP在一些实施例中用于部署和配置专用MFN以建立用于实体的专用虚拟网络的处理2100,该实体请求将这种网络部署在公共云提供者的特定集合、公共云区域的特定集合和/或公共云数据中心的特定集合上。对于实体,这个处理(1)识别一个或多个公共云提供者的公共云数据中心的集合以连接该实体的机器的集合,(2)在识别出的公共云数据中心的集合中为该实体部署专用MFN,然后(3)配置这些MFN以实现专用虚拟网络,该网络跨其识别出的公共云数据中心的集合连接实体的机器的集合。
这个专用虚拟网络是在一个或多个公共云数据中心的计算和网络基础设施上定义的。在一些实施例中,专门为一个实体部署的专用MFN具有与由多个实体部署和使用的共享MFN相同的属性并执行相同的操作(例如,在执行其转发操作时检查租户标识符)。在这些实施例中,专用MFN与共享MFN之间的唯一区别在于专用MFN被用于处理针对仅一个租户的数据消息,而共享MFN被用于处理针对多个实体的数据消息。
如上面所提到的,在一些实施例中MFN是公共云数据中心中若干不同部件的概念分组,其与其它公共云数据中心中的其它MFN(与部件的其它组)为一个或多个实体建立一个或多个覆盖虚拟网络。这些部件之一是云转发元件(CFE),它执行实现通过虚拟网络的路径所需的下一跳转发。而且,在一些实施例中,每个MFN的部件的组在MFN的公共云数据中心中的不同计算机上执行,而在其它实施例中,MFN的几个或全部部件在公共云数据中心的一个计算机上执行。在一些实施例中,MFN的部件在主机计算机上执行,主机计算机也执行其它租户的其它机器,诸如VNP的租户或公共云提供者的其它租户的虚拟机或容器。
在一些实施例中,由处理2100部署的虚拟网络连接的实体的机器是任何公共云之外的机器。在其它实施例中,实体的机器中的一些在公共云中,而其它机器驻留在公共云之外。而且,在一些实施例中,实体的机器包括实体用于某些SaaS操作的SaaS提供者机器。
在接收实体的输入之前,处理2100在一个或多个PCD和/或PCD组中部署(在2105处)测量代理,并让这些代理交换消息以便生成网络测量,该网络测量量化PCD的不同对或PCD组的不同对之间(例如,不同公共云区域或可用区之间)以及PCD/PCD组的不同对之间的网络连接的质量。该处理为两个PCD、两个PCD组和/或PCD和PCD组之间的连接生成的网络测量的示例包括在这个连接上经历的丢失、延迟和抖动,以及连接的可靠性和成本。
如上所述,一些实施例通过测量要在两个PCD和/或两个PCD组中的两个测量代理之间交换的消息的往返时间(RTT)来测量两个PCD和/或两个PCD组之间的连接链路中的延迟。在一些实施例中,抖动是延迟(例如,RTT)的导数。在一些实施例中,丢失得自在特定时间范围内丢弃的分组的数量。在一些实施例中,可靠性得自丢失,例如,有损连接具有差可靠性分数。
从实体的网络管理员那里,该处理接收部署专用虚拟网络的请求(在2110处)。在一些实施例中,这个请求提供关于与实体的机器相关联的位置(例如,网络地址)的信息,该实体的机器位于需要通过虚拟网络连接的公共云的外部和内部。这个位置信息包括包含多个机器的任何机构和数据中心的属性(例如,名称、(一个或多个)网络地址等)。
在一些实施例中,机构和数据中心中的各个端计算节点机器的位置没有被具体识别,而是通过它们与机构和数据中心的关联来识别。在一些实施例中,所提供的位置信息还可以识别公共云中一个或多个机器的一个或多个组的位置,以及由实体使用的SaaS提供者的身份(并且在一些情况下是位置)。
在一些实施例中,在2110处接收到的请求还指定要使用的公共云提供者和/或应当在其中定义虚拟网络的公共云区域。相结合地或可替代地,这个输入在一些实施例中指定要使用的实际公共云数据中心。在一些情况下,这个输入可以指定多个不同的公共云提供者,和/或不同公共云提供者的PCD和/或PCD组。
基于在2110处接收到的输入,该处理识别(在2115处)在其上可以定义虚拟网络的候选PCD和/或PCD组的集合。在一些实施例中,识别出的PCD和/或PCD组的集合包括在2110处接收到的输入中明确识别出的PCD和/或PCD组,和/或是在这个输入中明确识别出的公共云提供者的PCD和PCD组。在一些实施例中,该处理仅包括这些明确识别出的PCD和/或PCD组。
但是,在其它实施例中,该处理在识别出的候选PCD和/或PCD组的集合中包括(在2115处)其它PCD和/或PCD组,其可能是实体的虚拟网络的期望数据中心。具体而言,为了向实体提供推荐,在一些实施例中,处理2100用处理识别为期望PCD和/或PCD组以添加到实体的数据中心集的一个或多个其它PCD和/或PCD组来补充通过实体的输入为实体识别出的公共云数据中心的集合。
为了识别这个其它PCD和/或PCD组,在一些实施例中该处理使用预先配置的规则,其识别某些位置和/或区域的期望PCD和/或PCD组(例如,对于由实体指定和/或实体的机构和数据中心所在的位置和/或区域)。这些规则在一些实施例中基于先前为其它实体部署的虚拟网络和/或基于由VNP在不同PCD和/或PCD组中部署的测量代理连续进行的测量来定义。
从由测量代理为它们在其中部署的所有公共云生成的当前网络测量集合,该处理选择(在2120处)用于在2115处识别出的PCD和/或PCD组的网络测量的子集。在一些实施例中,连接链路在任何给定时间的任何一个网络测量(例如,延迟)是在过去持续时间(例如,过去几秒、几分钟、几小时、几天等)为那个连接链路生成的测量值(例如,延迟)的权重混合的平均值。这种平均值会平滑测量值,以确保所使用的测量值不会过于依赖于任何给定时间点的瞬态网络条件。
接下来,基于识别出的PCD和PCD组,该处理通过使用上面参考图3-5描述的技术中的一种或多种来生成(在2125处)路由图。在2125处,该处理使用路由图来执行路径搜索,该路径搜索使用在2120处选择的测量来识别跨识别出的PCD集合连接实体的机器(包括要使用的SaaS机器)的路径的集合。为了考虑移动设备连接,路径搜索还识别所有可能的PCD对之间的路径,这些PCD对可以用作跨专用虚拟网络的路径的入口和出口节点。
为了识别路径,在一些实施例中该处理使用在2120处选择的测量来执行最短路径搜索。在一些实施例中,处理2100执行路径搜索的两个集合。路径搜索的第一集合仅考虑在2110处接收到的实体请求中或通过该实体请求明确识别出的PCD和PCD组。这些实施例中的路径搜索的另一个集合不仅考虑明确识别出的PCD和PCD组,而且还包括处理在2115处识别为潜在期望的PCD和PCD组。
如上所述,最短路径搜索基于指派给路由图的链路的权重,权重是从生成的网络测量中得出的。鉴于在不同实施例中使用不同的网络测量,最短路径搜索是基于任何一个或多个不同准则(诸如延迟、抖动、丢失、可靠性等)识别虚拟网络中机器端点之间(或边缘节点之间)的最优路径的最小成本搜索。如上面所提到的,一些实施例中的成本搜索准则还包括由公共云提供者收取的一项或多项财务成本(例如,计算成本、存储成本、联网成本)。
一些实施例允许不同实体指导处理使用不同类型准则的不同组合在其执行其路径搜索时对路径进行成本计算,例如,一个实体可以指导处理以最小化消息延迟,另一个实体可以指导处理最小化消息抖动,又一个实体可以指导处理最小化丢失和延迟等。对于每个实体,在一些实施例中该处理自定义配置其路径搜索操作以优化由实体指定的准则的集合。
在2130处,处理确定路径搜索的第二集合(其使用通过在2110处接收到的实体请求明确识别出的PCD/PCD组和处理在2115处识别为潜在期望的其它PCD/PCD组)导致比由路径搜索的第一集合生成的任何路径(仅使用通过在2110处接收到的实体请求明确识别出的PCD/PCD组)更适合连接实体的两个机器端点(包括用于连接到移动设备的端点)的任何路径。
如果不是,那么该处理为由路径搜索的第一集合生成的路径使用的PCD和PCD组中的实体部署(在2135处)专用MFN。在一些实施例中,这些专用MFN仅转发针对那个实体的数据消息流。在一些实施例中,专用MFN不转发用于除了为其执行处理2100的实体以外的任何其它实体的数据消息流。在其它实施例中,这些MFN还携带VNP需要发送和接收的VNP数据消息流,以便为特定实体管理虚拟网络。在一些实施例中,该处理为由路径搜索的第一集合生成的路径使用的每个PCD或PCD组中的实体部署一个MFN。在其它实施例中,当需要附加的MFN来处置流量负载时,该处理可以为PCD或PCD组中的实体部署多于一个MFN。
为了在公共云提供者的PCD/PCD组中部署MFN,在一些实施例中,处理2100使用PCD的公共云提供者的API来指导提供者的服务器以添加实现MFN的不同部件(例如,其CFE等)的一个或多个机器。类似地,本文描述的其它处理也通过使用此类API在PCD/PCD组中部署MFN。
处理2100还配置(在2135处)这些MFN(例如,这些MFN的转发元件)通过以下来实现这些路径:(1)使用识别出的路径来定义转发规则(例如,下一跳记录),这些转发规则配置MFN和边缘节点(在实体的多机器计算节点中)沿着不同路径转发数据消息流,以及(2)将这些转发规则分发到MFN和边缘节点。为了分发转发规则,在一些实施例中该处理将规则提供给控制器的集合,然后控制器将它们分发到MFN和边缘节点。在一些实施例中,该处理通过与这些边缘节点通信(例如,通过服务API或一些其它机制),或者当VNP管理器/控制器不能直接访问边缘节点时通过使用边界网关协议(BGP)来配置边缘节点。在2135之后,处理结束。
当处理2100确定(在2130处)路径搜索的第二集合产生了至少一条更好的路径时,该路径使用处理在2115处识别为可能期望的其它PCD/PCD组之一,该处理生成(在2140处)通过UI(用户界面)管理控制台或其它接口(例如,电子邮件等)显示的报告,以向实体管理员提供将其它PCD和/或PCD组添加到实体在其请求中明确识别出的公共云、PCD或PCD组的列表的推荐。在一些实施例中,推荐的PCD/PCD组可以属于与实体指定的那些不同的公共云提供者,和/或可以在与实体指定的PCD/PCD组不同的区域中。
在一些实施例中,处理2100甚至在第二搜索集合没有产生任何更好路径时在2135处部署MFN之前也生成用于在用户界面中显示的报告,以便实体管理员可以审查关于要部署的虚拟网络的信息并提供修改。在其它实施例中,处理2100在部署它基于在2125处生成的路径识别出的虚拟网络之前不生成任何这样的报告,而是在已经部署虚拟网络之后提供这个报告。而且,在一些实施例中,处理2100在部署专用虚拟网络之前不提供推荐,而仅在部署专用虚拟网络以跨越通过在2110处接收到的输入识别出的PCD和/或PCD组之后提供推荐。
在2145处,该处理确定实体的管理员是否接受了报告在2140处给出的任何推荐。如果不是,那么处理过渡到2135以部署和配置专用MFN,用于实现通过路径搜索的第一集合生成的路径。另一方面,当实体的管理员接受添加一个或多个PCD/PCD组的一个或多个推荐时,该处理在由路径搜索的第二集合生成的路径使用的PCD和PCD组中为实体部署(在2150处)专用MFN。在一些实施例中,该处理在通过路径搜索的第二集合识别出的路径所经过的每个PCD或PCD组中部署一个MFN。在其它实施例中,当需要附加的MFN来处置流量负载时,该处理可以在这种PCD或PCD组中部署多于一个MFN。
处理2100配置(在2150处)部署的MFN(例如,MFN的CFE)以实现由路径搜索的第二集合生成的路径。为了配置这些MFN,该处理(1)使用识别出的第二搜索集路径来定义配置MFN和边缘节点(在实体的多机器计算节点中)的转发规则(例如,下一跳记录)以沿着不同路径转发数据消息流,并且(2)将这些转发规则分发到MFN(例如,MFN的CFE)和边缘节点(例如,这些MFN和边缘节点的转发元件)。
为了分发转发记录,在一些实施例中该处理将转发记录提供给控制器的集合,然后控制器将它们分发到MFN和边缘节点。在一些实施例中,该处理通过与这些边缘节点通信(例如,通过服务API或某种其它机制)来配置边缘节点,而在其它实施例中,当边缘节点不能被VNP管理器/控制器直接访问时,它使用BGP或其它路由协议。在2150之后,处理结束。
在一些实施例中,VNP处理对它们部署的专用和共享虚拟网络两者使用相同的转发方案。例如,在一些实施例中,这些处理对专用和共享虚拟网络都使用相同的双重封装方法。但是,其它实施例对专用虚拟网络使用不同的转发方案。例如,当部署跨越一个公共云提供者的PCD/PCD组的专用虚拟网络时,一些实施例不使用上述基于IP的双重封装方法,而是通过使用单个封装报头路由数据消息,因为在一些实施例中租户标识符不再用于专用MFN。
当针对不同实体执行时,处理2100可以为这些实体产生非常不同的虚拟网络,因为这个处理的起始输入是每个实体对使用公共云提供者的特定集合、PCD的特定集合或PCD的组的请求。图22给出了图示为三个不同公司在美国的若干公共云上部署的三个不同虚拟网络2202、2204和2206的示例。在这个示例中,前两家公司仅在旧金山、帕洛阿尔托和洛杉矶设有机构,但它们最终拥有跨越不同数据中心的两个非常不同的虚拟网络2202和2204,因为一个选择亚马逊的公共云基础设施,另一个选择谷歌的公共云基础设施。这个示例中的第三家公司拥有其专用虚拟网络2206,其跨越旧金山和芝加哥Google PCD以及纽约Amazon PCD。
即使在为实体完成处理2100之后,一个或多个VNP处理也监视网络状况和为实体部署的虚拟网络,并且调整或推荐对可能需要的虚拟网络的调整。例如,在一些实施例中,这些处理重复检查测量代理迭代生成的网络测量。这些网络测量是需要的,因为公共云之间和到公共云的连接的质量可以随时间而改变。
利用新的测量,VNP处理执行新的路径搜索,这可能导致通过公共云的新优选路径,和/或为实体部署新的专用MFN。在一些实施例中,VNP处理自动进行这些改变。在其它实施例中,这些处理生成使用这些新路径和/或部署新MFN的推荐,并提供这些推荐以通过UI管理控制台或其它接口(例如,电子邮件等)呈现给实体的网络管理员。
VNP处理还基于它们从为实体部署的专用MFN收集的统计信息执行新路径搜索、调整虚拟网络和/或生成新推荐。在这些实施例中的一些当中,VNP处理基于从MFN收集的统计信息和来自测量代理的新测量来执行新路径搜索。基于这些新路径搜索,在一些实施例中VNP处理提供用以添加一个或多个公共云、PCD和/或PCD组的推荐。基于对收集的统计信息和/或新测量的分析,在一些实施例中VNP处理还推荐移除未充分利用的公共云、PCD和/或PCD组。
图23概念性地图示了基于收集到的统计信息和新测量来产生添加MFN的推荐的VNP处理2300。在一些实施例中,针对每个实体的每个部署的虚拟网络迭代地执行这个处理(例如,每小时一次、几小时一次、一天一次等)。如图所示,处理2300最初从实现实体的虚拟网络的MFN和边缘节点收集(在2305处)统计信息。所收集的统计信息与MFN和边缘节点对数据消息流的转发(例如,数据消息的数量、字节数、数据消息的传输延迟等)相关。
接下来,在2310处,该处理收集由部署在其中部署了虚拟网络的MFN的PCD或PCD组中(即,在虚拟网络当前跨越的PCD或PCD组中)的测量代理生成的新测量值。这些测量是对这些PCD和/或PCD组之间以及到这些PCD和/或PCD组的连接的网络测量。如上面所提到的,在一些实施例中,在任何给定时间用于连接链路的任何一个网络测量(例如,延迟)是在过去持续时间(例如,过去几秒、几分钟、几小时、几天等)为那个连接链路生成的测量值(例如,延迟)的加权混合平均值。
在2315处,该处理识别一个或多个候选PCD和/或PCD组以添加到用于实现虚拟网络的当前PCD和/或PCD组,并收集测量代理已经为这些新候选PCD和/或PCD组生成的网络测量。这些测量是对这些PCD和/或PCD组之间和到这些PCD和/或PCD组的连接的网络测量。
在一些实施例中,候选PCD和/或PCD组是在当前用于实现虚拟网络的PCD和/或PCD组附近或其之间的PCD和/或PCD组。在一些实施例中,候选PCD和/或PCD组是从查找表中识别出来的,所述查找表将每个PCD或PCD组(例如,由虚拟网络当前使用的PCD或PCD组)与其它候选PCD或PCD组,或将每个连接的PCD和/或PCD组的对(其中一对中的每个PCD/PCD组让MFN与该对中的另一个PCD/PCD组中的MFN交换数据消息流)与其它候选PCD或PCD组相关联。在这些或其它实施例中,通过识别在虚拟网络当前使用的PCD和/或PCD组的阈值距离内的所有PCD和/或PCD组来识别候选PCD和/或PCD组。
在一些实施例中,处理2300不为虚拟网络使用的每个当前PCD/PCD组识别新的候选PCD/PCD组。相反,在这些实施例中,处理2300仅为过度拥塞、性能不佳或在性能不佳的路径上的现有PCD/PCD组识别候选替换PCD/PCD组。在一些实施例中,处理2300不识别实体先前已针对虚拟网络明确拒绝的候选PCD或PCD组。
基于现有的和候选PCD/PCD组,该处理通过使用上面参考图3-5描述的方法之一来创建(在2320处)路由图。接下来,在2325,该处理执行一组新的路径搜索以识别用于连接实体机器端点(例如,分支机构、数据中心、移动设备访问位置等)的路径。为了识别这些路径,处理2300使用上述路径搜索技术。
在2330处,处理2300确定新的路径搜索集合是否导致比虚拟网络当前使用的任何路径更好地连接实体的机器端点中的两个的任何路径。在一些实施例中,如果一条路径具有更好的成本(例如,更小的延迟、更少丢弃的分组、更少的抖动、更可靠、财务成本等),那么它比另一条路径更好。在一些实施例中,成本是通过混合多个度量值(例如,延迟、丢弃的分组、抖动、可靠性、财务成本等)生成的混合成本。在一些实施例中使用的度量值由VNP处理选择,而在其它实施例中它们由实体指定。而且,一些实施例使用在2305处收集的统计信息作为度量值或生成用于当前路径的度量值,同时使用由测量代理生成的测量来生成用于新识别出的路径的一个或多个部分的度量值。一些实施例还使用测量代理的测量来至少部分地生成当前路径的度量值。
当处理2300确定(在2330处)每个新识别出的路径比其用于连接相同的两个实体机器端点的对应当前路径差时,处理结束。否则,该处理生成(在2335处)报告以通过UI(用户界面)管理控制台或其它接口(例如,电子邮件等)显示,以向实体管理员提供添加一个或多个候选PCD和/或PCD组的推荐,这提高由评估的度量分数衡量的虚拟网络性能。
在一些实施例中,度量分数包括虚拟网络部署的成本。在其它实施例中,度量分数不包括成本。但是,即使在一些此类实施例中,处理2300也提供(在2335处)用于虚拟网络的成本估计以及它提供给实体的网络管理员的推荐。在2335处,推荐的PCD/PCD组可以属于与由实体指定的那些不同的公共云提供者,和/或可以在与由实体指定的PCD/PCD组不同的区域中。
在2340处,该处理确定实体的管理员是否接受了报告在2335处提出的任何推荐。如果不是,那么处理结束。另一方面,当实体的管理员接受添加一个或多个PCD/PCD组的一个或多个推荐时,该处理为新添加的PCD和/或PCD组中的实体部署(在2345处)新的专用MFN。在一些实施例中,该处理在每个这样的PCD或PCD组中部署一个MFN。在其它实施例中,当需要附加的MFN来处置流量负载时,该处理可以在PCD或PCD组中部署更多的MFN。
处理2300配置(在2345处)新部署的MFN(例如,新部署的MFN的CFE)以实现比一条或多条先前使用的路径更好的一条或多条新识别出的路径。它还重新配置(在2345处)先前部署的MFN(例如,先前部署的MFN的CFE)以移除被替换的旧路径。为了配置新部署的MFN并重新配置之前部署的MFN,该处理(1)定义配置MFN和边缘节点(在实体的多机器计算节点中)的转发规则(例如,下一跳记录)以沿着期望的新旧路径转发数据消息流,并且(2)将这些转发规则分发到新旧MFN和边缘节点。
为了分发转发规则(例如,下一跳记录),在一些实施例中该处理将转发规则提供给控制器的集合,然后控制器将它们分发到MFN和边缘节点。当移除一条或多条旧路径时,可能不再需要一条或多条先前部署的MFN。在这种情况下,该处理终止(一个或多个)不必要的MFN的操作。在2345之后,处理结束。
图24图示了将新PCD添加到虚拟网络2400以提高其性能的示例。这个图示出了虚拟网络2400的两个操作阶段2405和2410。第一操作阶段2405示出在其初始部署之后虚拟网络2400跨越旧金山、纽约和费城这三个城市的两个公共云提供者的三个PCD。这个虚拟网络连接公司的两个分支机构2422和2424以及一个数据中心2426。
第二操作阶段2410示出了在其已被修改以在芝加哥添加第四PCD之后的虚拟网络2400。添加这个PCD是为了提高旧金山分公司2422和纽约分公司2424之间路径的性能。如第一阶段2405中所示,旧金山和纽约PCD之间的点对点路径具有12的权重值(例如,延迟值),而从旧金山到芝加哥PCD的路径和从芝加哥到纽约PCD的路径的组合权重值为10。因此,在这个示例中,在虚拟网络部署之后添加了芝加哥PCD,以改善旧金山和纽约机构之间的连接。但是,在这个示例中,虚拟网络2400继续使用纽约和旧金山机构之间的直接连接来实现从纽约到旧金山的流。
如上面所提到的,在一些实施例中,VNP处理还推荐基于对收集的统计信息和/或新测量的分析来移除未充分利用的公共云、PCD和/或PCD组。图25概念性地图示了产生移除一个或多个未充分利用的MFN的推荐的VNP处理2500。在一些实施例中,对于每个实体的每个部署的虚拟网络,这个处理被周期性地(例如,每小时、几个小时、一天等一次)或迭代地执行。在一些实施例中,处理2500还基于其它事件(例如,数据流量的显著改变、PCD的操作中断等)迭代地执行。
如图所示,处理2500最初从实现实体的虚拟网络的MFN收集(在2505处)统计信息。所收集的统计信息与MFN在特定时间段期间转发数据消息流(例如,数据消息的数量、字节数、数据消息的传输延迟等)相关。在2510处,处理2500分析所收集的统计信息以识别虚拟网络的任何未充分利用的MFN。在一些实施例中,未充分利用的MFN是在特定时间段内处理低于某个阈值的多个数据消息流的MFN。在其它实施例中,未充分利用的MFN是在特定时间段内转发少于阈值数据量(例如,每秒阈值量的位)的MFN。
在2515处,该处理然后确定它是否在2510处识别出任何未充分利用的MFN。如果不是,那么处理结束。否则,处理检查(在2520处)通过在没有(一个或多个)识别出的MFN的情况下执行路径搜索来移除(一个或多个)识别出的未充分利用的MFN。当识别出多于一个未充分利用的MFN时,在一些实施例中,该处理通过移除所有未充分利用的MFN并在没有任何移除的MFN的情况下识别最优路径的集合来仅执行路径搜索的一个集合。在具有多个未充分利用的MFN的这种情况下,在其它实施例中处理2500执行路径搜索的不同集合,其中移除了一个或多个利用的MFN的不同组合。这些不同的路径搜索使该处理能够基于被移除的未充分利用的MFN的不同组合提供不同的推荐。
接下来,基于在2520处执行的路径搜索,该处理生成(在2525处)报告以通过UI(用户界面)管理控制台或其它接口(例如,电子邮件等)显示,以向实体管理员提供移除一个或多个现有PCD和/或PCD组的一个或多个推荐,这提高了虚拟网络性能(如由评估的度量分数衡量的)或提高了虚拟网络成本。
在每个PCD/PCD组中部署一个MFN的实施例中,在每个推荐中识别出的(一个或多个)PCD和/或(一个或多个)PCD组是其中部署了未充分利用的MFN的(一个或多个)PCD和/或(一个或多个)PCD组。在其它实施例中,在一些实施例中每个推荐是通过参考移除特定MFN来提供的(例如,当多于一个MFN可以部署在每个PCD/PCD组中时)。在一些实施例中,处理2500不仅推荐移除未充分利用的MFN,而且还推荐基于其它准则来移除其它MFN。例如,在一些实施例中,中间MFN的移除可能导致虚拟网络的更好的速度或延迟性能,因为中间MFN减慢了它的性能。
在一些实施例中,每个提供的推荐(在2525处)伴随有虚拟网络的成本估计和/或一个或多个预期性能度量,如果推荐被接受的话。例如,推荐可以说,如果推荐被接受并且基于这个推荐部署虚拟网络,那么虚拟网络每月的成本将减少X美元,但一对或多对机器端点之间的一条或多条路径将根据一个度量衡量恶化某个百分比(例如,减慢多达Y%)。当在特定推荐中移除一个或多个MFN的特定组合影响多于一条路径时,该推荐还表达了这些路径中的每一条如何受影响(例如,通过为每条路径提供表达路径会更糟或更好多少的度量分数百分比)。
在2530处,该处理确定实体的管理员是否接受了报告在2525处提出的任何推荐。如果不是,那么处理结束。另一方面,当实体的管理员接受移除一个或多个PCD/PCD组的一个或多个推荐时,该处理移除(在2535处)在所选择的推荐中指定要移除的任何MFN。当移除的MFN由部署在PCD中的一个或多个机器实现时,处理2500通过使用PCD的公共云提供者的API指导提供者的服务器移除MFN来移除MFN。
在2535处,该处理还重新配置其余部署的MFN(例如,这些MFN的CFE)和/或边缘节点以实现一条或多条新路径(在2520处识别)以连接一个或多个机器端点,其中每个机器端点先前由使用已移除的MFN的先前路径连接。与其它上述处理一样,在一些实施例中处理2500通过定义下一跳转发规则(例如,下一跳记录)并将其分发到一个或多个其余MFN来重新配置MFN和/或边缘节点。在2535之后,处理结束。
图26图示了从虚拟网络2600中移除PCD 2616以便移除这个PCD中未充分利用的MFN 2620的示例。这个图示出了虚拟网络2600的两个操作阶段2605和2610。第一操作阶段2605示出在其初始部署之后虚拟网络2600跨越旧金山、洛杉矶和圣地亚哥这三个城市的两个公共云提供者的三个PCD 2612、2614和2616。这个虚拟网络连接公司的三个分支机构2622、2624、2626。
第二操作阶段2610示出了在其被修改以移除圣地亚哥的PCD 2616之后的虚拟网络2600。这个PCD已被移除,因为其MFN 2620未被充分利用。通过移除这个PCD,圣地亚哥机构2626连接到洛杉矶的PCD 2614。如第二阶段2610中所示,洛杉矶和圣地亚哥机构2624和2626之间的路径慢了10%,但虚拟网络的每月成本降低了30%。考虑到往返圣地亚哥机构的数据消息流的数量少,这是可接受的折衷方案。
一些实施例的VNP处理允许具有专用虚拟网络的实体使用在某些情形下尚未专门为该实体部署的其它MFN。在一些实施例中,这些其它MFN是共享MFN,因为它们被用于为不同的实体部署不同的虚拟网络,而不是专门为单个实体部署的专用MFN以仅为这个实体部署专用虚拟网络。为具有专用虚拟网络的实体使用共享MFN的一个示例是用于缓解专用虚拟网络中特定位置处的拥塞。
具体而言,当实体的专用虚拟网络的一部分(例如,实体的一个或多个专用MFN)出现拥塞或预期会出现拥塞时,一些实施例的VNP处理允许临时使用一个或多个共享MFN。在一些实施例中,这些共享MFN是共享虚拟网络的一部分,VNP提供者部署该共享MFN以处置其已部署的所有专用虚拟网络的流量溢出。在其它实施例中,共享MFN不仅处置具有专用虚拟网络的一个或多个实体的溢出数据流量,而且还被用于为多个其它实体定义多个分离的虚拟网络,这些虚拟网络中的每一个都传递其关联实体的主要数据消息流量。上面参考图1-20描述了此类共享虚拟网络的示例。
图27概念性地图示了产生在至少一对机器端点之间的至少一条路径的至少持续时间内将数据消息流量中的一些从实体的专用虚拟网络卸载到一个或多个共享MFN的推荐的VNP处理2700。在一些实施例中,针对每个实体的每个部署的虚拟网络迭代地执行这个处理(例如,每小时一次、几小时一次、一天一次等)。
如图所示,处理2700最初从实现实体的虚拟网络的MFN收集(在2705处)统计信息。所收集的统计信息涉及MFN在特定时间段期间转发数据消息流(例如,数据消息的数量、字节数、数据消息的传输延迟等)。在2710处,处理2700分析收集的统计信息以识别虚拟网络的一个或多个过度使用的MFN。在一些实施例中,过度使用的MFN是在特定时间段内转发多个数据消息或大于某个阈值的数据消息量的MFN。
在2715处,该处理然后确定它是否在2710处识别出任何过度使用的MFN。如果不是,那么处理结束。否则,处理执行(在2720处)路径搜索以检查添加一条或多条路径,该路径将数据消息流从每个识别出的过度使用的专用MFN转移到一个或多个共享MFN(即,用于为多个实体部署多个虚拟网络的MFN),以便减少过度使用的MFN的负载。为了仅将一些数据消息流从过度使用的MFN转移开,在一些实施例中,路径搜索定义权重(即,阈值等)以控制应当从现有过度使用的MFN重定向到候选共享MFN的数据消息流的量。
为了识别每条转移路径,该方法识别一个或多个候选共享MFN以转移针对实体的每个识别出的、过度使用的专用MFN的流量的某个部分。在一些实施例中,候选的共享MFN在与过度使用的专用MFN相同的PCD或PCD组中,当这种候选的共享MFN可用时,它被识别出来。当没有这种共享MFN候选可用时,VNP处理2700在过度使用的专用MFN的PCD或PCD组中部署一个这种MFN,或者在位于过度使用的专用MFN的PCD或PCD组附近的PCD或PCD组中选择现有的共享MFN(或部署在这种MFN上)。
接下来,基于在2720处执行的路径搜索,该处理生成(在2725处)报告以通过UI(用户界面)管理控制台或其它接口(例如,电子邮件等)显示以向实体管理员提供将数据消息流中的一些从一个或多个过度使用的专用MFN重定向到共享虚拟网络的一个或多个推荐。在一些实施例中,如果推荐被接受,那么每个提供的推荐(在2725处)都伴随有虚拟网络的成本估计和/或性能预期。例如,推荐可以说,如果推荐被接受,那么虚拟网络每月将花费X美元更多或更少,并改善至少一对特定端点机器之间的连接(如由若干度量中的一个或多个所表达的)Y%。当调整将改进两个或更多个端点-机器对之间的两个或更多个连接的性能时,一些实施例中的推荐分别表达针对每对的改进。
在2730处,该处理确定实体的管理员是否接受了报告在2725处提出的任何推荐。如果不是,那么处理结束。另一方面,当实体的管理员接受将数据消息流中的一些转移到共享虚拟网络的一个或多个推荐时,该处理定义(在2735处)新的配置数据(1)以重新配置专用虚拟网络以将数据消息流中的一些转移到共享MFN,以及(2)配置共享MFN(例如,共享MFN的CFE)以将重定向的数据消息流转发到它们的目的地或在该专用虚拟网络的另一个边缘节点处返回到专用虚拟网络。
在一些实施例中,处理2700通过配置一个或多个前端负载平衡器以将数据消息流中的一些转移到用于为多个实体部署多个共享虚拟网络的共享MFN来重新配置专用虚拟网络。在一些实施例中,这个处理通过使用新定义的路径定义转发规则(例如,下一跳转发规则)来配置共享MFN(例如,共享MFN的CFE),然后它(通过控制器)将其分发到共享MFN以配置这些MFN。
在一些实施例中,该处理向前端负载平衡器提供此类转发规则以配置它们的操作,连同指定负载平衡器应当将多少数据消息流转移到共享MFN的权重值。在其它实施例中,处理2700通过用新WCMP(权重成本多路径操作)参数配置一个或多个专用MFN(例如,MFN的CFE)来重新配置专用虚拟网络,这些参数控制这些MFN如何将流分发到过度使用的专用MFN和(一个或多个)替代共享MFN,以便减少过度使用的专用MFN的负载。在2735之后,处理结束。
图28图示了将数据消息流中的一些从专用虚拟网络2800中的过度拥塞的专用MFN2820引导到共享虚拟网络2850的示例。这个图示出了连接位于洛杉矶、芝加哥和纽约的实体的三个机构2880、2882和2884的虚拟网络2800的两个操作阶段2805和2810。第一操作阶段2805示出芝加哥PCD 2814中的专用MFN 2820过度拥塞。这个MFN连接Los Angles PCD2812和New York PCD 2816中的专用MFN 2822和2824。
第二阶段2810示出专用MFN 2822在洛杉矶PCD 2812中重新配置以通过与过度使用的专用MFN 2820相同的芝加哥PCD 2814中的共享MFN 2830将数据消息流从洛杉矶专用MFN 2822重定向到纽约专用MFN 2824。共享MFN 2830是共享虚拟网络2850的一部分,第二家公司使用该虚拟网络连接其芝加哥和纽约机构2870和2872。
在这个示例中,芝加哥的这个共享MFN 2830将这些数据消息转发到纽约的MFN2832,然后MFN 2832将它们提供给纽约的专用MFN 2824。在其它示例中,芝加哥的共享MFN2830可以将这些数据消息转发到纽约的专用MFN 2824。而且,在图28的示例中,芝加哥PCD2814仍被用于在洛杉矶和芝加哥机构2880和2882之间、纽约和芝加哥机构2884和2882之间以及从纽约机构2884到洛杉矶机构2880交换其它消息。
在一些实施例中,从洛杉矶到纽约的数据消息流由负载平衡器转发到芝加哥的共享MFN 2830,该负载平衡器可以与LA MFN 2822分离,或者是这个MFN 2822的一部分。在还有其它实施例中,这个负载平衡操作是MFN 2822的云转发元件执行的WCMP操作的一部分。还有其它实施例在芝加哥PCD 2814中部署这个负载平衡器以在专用MFN 2820和共享MFN2830之间分发其中一些负载。代替只是通过共享虚拟网络将所有流从洛杉矶转发到纽约,其它实施例使用其它技术在芝加哥的专用MFN 2820和共享MFN 2830之间分发负载。例如,洛杉矶和纽约的MFN执行WCMP以在这两个MFN之间分发它们发送到芝加哥的流量,即,使用权重来指定它们指向这些MFN中的每一个的流的百分比。
在图28中,共享MFN 2830是中间节点,其将其中一些流重定向离开专用MFN 2820,但将这些流递送回另一个专用MFN 2824处的专用虚拟网络。在其它示例中,共享虚拟网络将重定向的数据消息流递送到实体的机器端点,例如实体的机构或分支机构位置。图29图示了一个这样的示例。除了纽约的共享MFN 2832提供从LA机构直接到纽约机构2884的流而无需首先经过纽约的专用MFN 2824之外,这个示例与图28的示例相似。
在又一个示例中,在一些实施例中,使用一个或多个共享虚拟网络的一个或多个共享MFN作为缓解沿着通过专用虚拟网络的路径的多个不同位置处的流拥塞的方式。图30图示了一个这样的示例。这个图中的第一阶段3005示出了沿着专用虚拟网络3000进行五跳的路径,该专用虚拟网络3000在东京、洛杉矶、纽约、巴塞罗那和特拉维夫使用五个PCD3011、3012、3014、3016和3018连接东京和特拉维夫的两个机构3080和3082。它还示出洛杉矶和巴塞罗那的MFN 3020和3024被用于处理过多的流。
第二阶段3010示出在东京和特拉维夫机构之间交换的数据消息流中的一些在LAPCD 3012和巴塞罗那PCD 3016中被重定向到共享虚拟网络3090。在重定向这些流时,东京MFN 3021被配置为将一定数量的流转发到LA PCD 3012中的共享MFN 3060。纽约共享MFN3062接收这些重定向的流并将它们指引回位于纽约PCD 3014中的专用MFN 3022处的专用虚拟网络3000。
由于专用虚拟网络3000在巴塞罗那沿着从东京到特拉维夫的路径拥塞,因此巴塞罗那的专用MFN 3024通过将数据消息流中的一些指引到巴塞罗那PCD 3016的共享MFN3064来再次将这些流重定向到共享虚拟网络3090。巴塞罗那共享MFN 3064接收这些重定向的流,将它们转发到特拉维夫共享MFN 3066,然后通过将它们转发到特拉维夫专用MFN3026而将它们指引回专用虚拟网络3000。
在图30的示例中,重定向在一些实施例中通过使用负载平衡器来完成,而在其它实施例中,它是通过MFN的云转发元件用于执行数据消息流从东京机构3080到特拉维夫机构3082的WCMP操作的权重集合来完成的。而且,在这个示例中,卸载共享虚拟网络的共享MFN与其对应的专用MFN位于相同的数据中心中。如上面所提到的,不一定是这种情况(即,数据消息流可以被重定向到其它数据中心(诸如附近的数据中心)中的其它MFN)。
在配置一个或多个共享MFN以处置实体的专用虚拟网络的数据消息流量中的一些之后,一些实施例的VNP处理继续监视专用虚拟网络的MFN以确定先前拥塞的MFN上的负载是否已大幅下降,以至于不再需要一个或多个共享MFN。图31图示了一个这样的处理3100。在处理2700检测到用于该实体的至少一个专用MFN过度拥塞并且应当将一些或全部流量从它重定向离开它到一个或多个共享MFN之后,这个处理由VNP机器迭代地执行。
如图所示,处理3100最初从实现实体的专用虚拟网络的MFN收集(在3105处)统计信息。所收集的统计信息涉及MFN在特定时间段期间转发数据消息流(例如,数据消息的数量、字节数、数据消息的传输延迟等)。在3110处,处理3100分析所收集的统计信息以确定它是否应当将处理2700先前识别为过度拥塞的任何专用MFN重新分类为不拥塞。对于先前识别出的过度使用的MFN的这种重新分类,处理3100在一些实施例中要求MFN上的数据消息负载(例如,由MFN处理的数据消息流的数量,或所处理的总字节数)对于一定的持续时间(例如,对于处理3100的多次迭代)低于某个阈值。这样做是为了确保一个MFN不会不断地在过度拥塞状态和非拥塞状态之间切换。
在3115处,该处理然后确定它是否将任何MFN的状态从拥塞改变(在3110处)为不拥塞。如果不是,那么处理结束。否则,该处理重新配置(在3120处)专用虚拟网络以不再将任何数据消息流量重定向离开其状态从拥塞改变(在3110处)为不拥塞的任何专用MFN。在其中处理2700使用前端负载平衡器将一些数据消息流重定向离开拥塞的专用MFN的实施例中,处理3100通过将新的负载平衡准则分发到处理2700为任何重新分类的MFN部署的任何前端负载平衡器来进行重新配置(在3110处)。
另一方面,在处理2700通过将WCMP参数分发到MFN和边缘节点的转发元件来重定向数据消息流的一部分远离拥塞的专用MFN的实施例中,处理3100通过将新WCMP参数分发到将数据消息转发到重新分类的MFN的这些云转发元件和边缘节点(在3110处)来进行其重新配置(在3120处)。这些新WCMP参数使得这些转发元件不重定向任何数据消息流离开重新分类的MFN。在3120处,处理3100还从VNP共享虚拟网络的任何共享MFN(例如,任何共享MFN的CFE)中移除转发专用虚拟网络的重定向流量不再需要的转发记录。在3120之后,处理结束。
允许专用虚拟网络使用一个或多个共享MFN的一些实施例的VNP处理的另一个示例发生在当使用这种MFN将提高实体的整体虚拟网络的性能时这些处理允许专用虚拟网络使用互联网骨干(以下称为骨干MFN)附近或互联网骨干处的共享MFN时。众所周知,互联网骨干是由众多公司拥有的若干冗余网络的集合,这些公司包括商业、政府、学术和其它大容量网络中心等。骨干通常由核心网络和这些中心的路由器之间的主要数据路由定义。
某些数据中心(例如,Equinux数据中心)靠近作为互联网骨干的一部分的数据中心,并且凭借它们的位置,提供到互联网的非常快速的连接。这些数据中心和一些其它为互联网骨干提供服务的数据中心提供有限的托管服务。但是,在互联网骨干附近或在互联网骨干上设置机器是困难的,并且对于任何一个实体来说都是昂贵的。因而,实体通常可能不会要求其虚拟网络在互联网骨干附近或互联网骨干处部署专用MFN。对于各个实体,甚至可能无法部署此类专用的MFN。但是,在一些实施例中,VNP在一个或多个骨干PCD的每一个中或骨干PCD附近部署一个或多个MFN,使得这些MFN可以被VNP部署的共享和专用虚拟网络使用。
在为实体部署MFN之前或之后,VNP处理执行路径搜索,该路径搜索可能确定对于实体的某些计算节点,期望使用穿过部署在互联网骨干附近或互联网骨干处的一个或多个共享MFN的路径(即,使用离开用于一条或多条路径的至少一部分的实体的专用虚拟网络的路径,以便在互联网骨干网附近或互联网骨干处使用(一个或多个)MFN)。在此类情况下,一些实施例的处理向实体提供应当使用部署在互联网骨干附近或互联网骨干处的共享MFN的推荐。当实体接受这个推荐时,该处理将MFN配置为使用已识别出的(一条或多条)路径,这些路径使用在互联网骨干附近或互联网骨干处的共享MFN。
图32概念性地图示了为专用虚拟网络产生使用一个或多个骨干MFN的推荐的VNP处理3200。在一些实施例中,针对每个实体的每个部署的虚拟网络迭代地执行这个处理(例如,每周一次、每月一次等)。在一些实施例中,对于已经明确拒绝使用骨干MFN或拒绝在处理3200的先前迭代中识别出的所有可行骨干MFN的实体不执行处理3200。
如图所示,处理3200最初识别(在3205处)一个或多个共享骨干MFN,它们是用于转发实体的数据消息流量中的一些的候选。在一些实施例中,处理3200通过识别在其上定义实体的虚拟网络的PCD或PCD组的阈值物理距离内和/或阈值网络距离内(例如,在某个连接延迟内)的每个骨干MFN来识别(在3205处)候选骨干MFN。
在3210处,该处理执行路径搜索,其不仅包括当前由实体的虚拟网络跨越PCD和/或PCD组的MFN作为路由图节点,而且还包括在3205处被识别为路由组节点(即,作为路由图中用于路径搜索的节点)的任何共享骨干MFN。通过在路径搜索中包括(一个或多个)骨干MFN作为路由图节点,该处理尝试识别任何最优路径,该路径使用骨干共享MFN将数据消息流从专用虚拟网络中的一个位置路由到流目的地或返回到专用虚拟网络中的另一个位置。对于实体的一对机器端点,当这些搜索识别出通过仅穿过专用虚拟网络连接相同端点对的更好路径时(当根据一个或多个度量(诸如延迟、丢失、抖动、可靠性等)的任何集合进行衡量时),该处理的路径搜索不识别使用共享骨干MFN的任何路径。
在3215处,该处理确定它是否识别出(在3210处)对于一对机器端点比它识别出的用于通过仅穿过专用虚拟网络连接相同端点对的所有其它路径更好的任何使用骨干的路径。如果不是,那么处理结束。否则,在3220处,该处理生成报告以通过UI(用户界面)管理控制台或其它接口(例如,电子邮件等)显示,以向实体管理员提供使用一个或多个骨干MFN转发实体的数据消息流中的至少一些的一个或多个推荐。
在一些实施例中,如果推荐被接受,那么每个提供的推荐(在3220处)都伴随有虚拟网络的成本估计和/或性能预期。例如,推荐可以说,如果该推荐被接受,那么虚拟网络每月的费用将减少X美元,并将特定机器端点对(由若干度量中的任何一个表达)的连接速度提高Y%。如果调整将改进两个或更多个端点机器对之间的两个或更多个连接的性能,那么在一些实施例中推荐分开表达每一对的改进。
在3225处,该处理确定实体的管理员是否接受了报告在3220处提出的任何推荐。如果不是,那么处理结束。另一方面,当实体的管理员接受将数据消息流中的一些转移到提出的(一个或多个)推荐中识别出的一个或多个骨干MFN的一个或多个推荐时,该处理定义(在3230处)新配置数据(1)以重新配置专用虚拟网络,以将数据消息流中的一些转移到VNP的共享虚拟网络及其共享骨干MFN,以及(2)以配置共享虚拟网络及其共享骨干MFN(例如,共享骨干MFN的CFE)以将重定向的数据消息流转发到它们的目的地或在这个专用虚拟网络的另一个边缘节点处返回到专用虚拟网络。
在一些实施例中,处理3200通过配置MFN和/或边缘节点的一个或多个转发元件来重新配置专用虚拟网络以将数据消息流中的一些转移到共享骨干MFN。在一些实施例中,这个处理通过使用新定义的路径定义转发规则(例如,下一跳转发规则)来配置共享虚拟网络,然后它(通过控制器)将其分发到共享虚拟网络的共享MFN以配置这些MFN。在3230之后,处理结束。
图33图示了通过共享虚拟网络3350及其共享骨干MFN 3355将数据消息流中的一些从专用虚拟网络3300指引到其目的地的示例。这个图示出了连接洛杉矶、芝加哥和纽约的实体的三个机构3380、3382和3384的虚拟网络3300的两个操作阶段3305和3310。
第一操作阶段3305示出芝加哥PCD 3314中的专用MFN 3320连接LA和芝加哥机构3380和3382。这个MFN 3320还连接LA和NY PCD 3312和3316中的专用MFN 3322和3324,以便将数据消息从LA机构3380转发到NY机构3384。对于从NY到LA的数据消息,NY专用MFN 3324使用NY和LA PCD 3316和3312之间的连接链路将数据消息直接转发到LA专用MFN 3322。尽管从LA到NY的直接路径比从LA到芝加哥和芝加哥到NY的路径慢,但这种直接路径对于从NY到LA的流来说更快。
第二阶段3310示出使用共享骨干MFN 3355和VNP的共享虚拟网络3350将流从LA机构3380转发到NY机构3384。如图所示,LA MFN 3322将这些流提供给骨干PCD 3360中的MFN3355,MFN 3355然后将流转发到另一个骨干PCD 3362中的另一个共享MFN 3357。这另一个MFN 3357将流提供给NY PCD 3316中的共享MFN 3332,然后将流转发到这个PCD中的MFN3324。使用这条路径是因为它比从洛杉矶到纽约的流量通过芝加哥PCD的路径更快。但是,芝加哥PCD及其MFN仍用于洛杉矶和芝加哥之间的流,以及芝加哥和纽约之间的流。
在图33中,共享骨干MFN 3355是中间节点,其将一些流重定向离开LA PCD 3312处的专用虚拟网络,但将这些流递送回NY PCD 3316处的专用虚拟网络。在其它示例中,共享骨干MFN直接连接到实体边缘节点(例如,在分支机构或数据中心处)以直接从实体的机器端点(例如,实体的机构或分支机构位置)接收流和/或直接向实体的机器端点提供流。图34图示了一个这样的示例。除了LA机构边缘节点将其流直接提供给骨干MFN 3355,而骨干MFN3357将这些流直接提供给NY机构3384的边缘节点之外,这个示例与图33的示例相似。在其它示例中,洛杉矶和纽约机构之一直接向/从骨干网发送/接收数据消息流,而另一个通过PCD中的MFN发送/接收数据消息流。
实体可以使用共享MFN的另一个示例涉及远程位置中的实体的移动设备在远程位置使用共享MFN。例如,实体可以主要在一个地区操作(例如,仅在北美设有机构等),但可以有用户进行国际旅行并且需要通过那些远程位置的虚拟网络访问实体的专用虚拟网络。对于此类情况,一些实施例的处理允许这些旅行用户的移动设备(例如,电话、平板电脑、膝上型计算机等)通过该处理在国外部署在一个或多个PCD中的一个或多个共享MFN访问其虚拟网络(例如,欧洲或亚洲的公共云)。
图35图示了处理3500,一些实施例使用该处理为具有通过VNP的共享MFN提供的来自远程位置的移动设备访问支持的实体部署专用虚拟网络。如图所示,处理3500接收(在3505处)应当在其上定义实体的专用虚拟网络的第一区域集合。在一些实施例中,该处理接收这些区域作为城市(例如,旧金山、洛杉矶、纽约等)或地区(例如,北加利福尼亚、南加利福尼亚等)等的列表。在实施例中,该处理接收这些区域作为一个或多个公共云提供者的PCD或PCD组的列表。
接下来,在3510处,该处理接收在第一区域集合之外实体想要移动设备支持的第二区域集合。例如,当实体在北美设有机构但有员工定期前往中国和日本时,它可能指定专用虚拟网络部署在美国多个城市或地理区域的多个公共云数据中心,但也要求移动设备从中国和日本的某些城市或地理区域访问这个专用虚拟网络。
在识别出的第一和第二区域集合中,该处理(在3515处)然后识别专用虚拟网络应当跨越的PCD或PCD组,或者移动设备访问应当在远程位置可用的PCD或PCD组。在一些实施例中,PCD和/或PCD组在3505和3510处提供的用户输入中被具体识别,而在其它实施例中,一些或全部PCD和/或PCD组不被实体识别。
接下来,在3520处,该处理执行一系列路径搜索以识别用于定义专用虚拟网络的路径以及从支持移动设备的远程位置访问的共享MFN到这个网络的路径。为了执行这些路径搜索,该处理生成路由图并使用上述路径搜索技术(例如,最短路径技术)。在通过VNP的共享MFN识别出实现专用虚拟网络和从远程位置远程访问这个网络的路径之后,处理3500为实体部署(在3525处)识别出的第一区域集合中的识别出的PCD和/或PCD组的集合中的专用MFN。
当这些(一个或多个)PCD和/或(一个或多个)PCD组之前没有任何此类MFN时,该处理还在识别出的第二区域集合中的识别出的(一个或多个)PCD和/或(一个或多个)PCD组中部署(在3525处)共享MFN。当共享的MFN已经部署在识别出的第二区域集合中的识别出的(一个或多个)PCD和/或(一个或多个)PCD组中时,该处理识别(在3525处)这些共享MFN。在3525处,该处理还向已部署的专用MFN(例如,这些专用MFN的CFE)分发转发规则(例如,下一跳转发规则)以实现识别出的路径(在3520处)以实现专用虚拟网络。它还向共享MFN(在3525部署和/或识别的)分发(在3525处)转发规则(例如,下一跳转发规则)以实现从(一个或多个)VNP共享MFN到实体的专用虚拟网络的路径。在一些实施例中,这些转发规则配置这些共享MFN的CFE以实现3520处识别出的一条或多条路径。
一旦用适当的转发规则配置了专用和共享MFN,该处理就可以在识别出的第二区域集合中的一个中从连接到PCD或PCD组的移动设备接收(在3530处)访问专用虚拟网络的请求。为了连接,移动设备最初执行DNS操作以识别连接到专用虚拟网络的最优位置。由于移动设备位于专用虚拟网络不跨越的第二区域集合之一中,因此DNS服务器提供移动设备应当连接到的第二区域集合中的共享MFN的网络地址。
移动设备然后连接到这个共享MFN并通过认证/授权处理来访问专用虚拟网络。在处理了移动设备的认证/授权(例如,将移动设备的认证/授权凭证转发到认证/授权服务器)之后,共享MFN基于它配置的转发规则将数据消息流从移动设备转发(在3535处)到专用虚拟网络。这个共享MFN可能能够将数据消息流直接提供给专用虚拟网络跨越的PCD和/或PCD组,或者它可能必须通过VNP的一个或多个其它共享MFN间接提供这些流。在3535之后,处理3500结束。
在一些实施例中,共享MFN在能与专用MFN交换流之前必须在相同的PCD或PCD组中。在其它实施例中,共享MFN可以与不同PCD或PCD组中的专用MFN交换流。在这些其它实施例中的一些当中,共享MFN只能与另一个PCD或PCD组中的专用MFN交换流,只要两个MFN都在同一公共云提供者的设施中操作即可。
当来自移动设备的数据消息流到达实体的专用虚拟网络(即,到达为实体部署的专用MFN)时,它们通过这个网络被转发到它们的机器端点目的地,该目的地可以是分支机构或数据中心机器(通过分支机构或数据中心边缘节点)、SaaS机器或在公共云中操作的实体的机器。移动设备连接到的远程共享MFN以及VNP的任何中间共享MFN还将数据消息流从连接到专用虚拟网络的实体机器传回移动设备。
在一些实施例中,VNP与对专用虚拟网络的直接机器访问(移动或其它方式)不同地对移动设备从远程位置对专用虚拟网络的访问收费。例如,在一些实施例中,专用和共享MFN维护关于数据消息流的统计信息,并将这些统计信息提供给VNP的服务器集。然后,这个服务器集使用一个费用集合来计算不使用共享MFN的数据消息流的费用,同时使用另一个不同的费用集合来计算使用共享MFN的数据消息流的费用。在一些实施例中,VNP与对专用虚拟网络的直接机器访问不同地对从远程位置对专用虚拟网络的移动设备访问收费。
图36图示了连接到在北美定义的专用虚拟网络3600的中国移动设备3605的示例。如图所示,移动设备3605连接到中国PCD 3612中的VNP共享MFN 3610,以便通过日本PCD3614中的另一个共享MFN 3615和洛杉矶的PCD 3616中的共享MFN 3620连接到专用虚拟网络3600。PCD 3616中的共享MFN 3620连接到洛杉矶的同一PCD 3616中的虚拟网络3600的专用MFN 3625。从那里,移动设备3605连接到专用虚拟网络3600。在其它实施例中,共享MFN3610被配置为将数据消息从移动设备3605直接转发到专用MFN 3625或共享MFN 3620。具体而言,一些实施例可以在实现实体的虚拟网络的区域之外的外部区域中仅配置一个共享MFN,以将来自外部区域中或其附近的移动设备的数据消息流转发到实体的虚拟网络。
图37图示了处理3700,一些实施例使用该处理来识别从VNP为其部署专用虚拟网络的实体的机器的集合到SaaS提供者的最优路径。从实体,处理3700最初接收(在3705处)应当在其上定义实体的专用虚拟网络的PCD和/或PCD组的集合。例如,对于在洛杉矶、旧金山和纽约设有机构的公司,该公司可能指定亚马逊在这三个城市的PCD用于定义其虚拟网络。
在3710处,该处理还接收机器端点和用于这些端点的网络地址(当可用时)的列表。例如,在以上示例中,在一些实施例中该处理将接收洛杉矶、旧金山和纽约分支机构和/或数据中心的网络地址。在3710处,在一些实施例中该处理还接收实体想要移动设备访问支持的区域的标识。在一些实施例中,实体还提供(在3715处)该实体使用的SaaS提供者的列表。在一些实施例中,这个列表上的SaaS提供者是通过他们的域名或通过用于识别上述SaaS提供者的任何其它方式来识别的。
接下来,在3720处,处理3700执行一系列路径搜索以识别用于定义专用虚拟网络的路径。这些识别出的路径不仅连接在不同位置的实体的机器端点,而且还将这些机器连接到SaaS提供者机器。为了执行这些路径搜索,如上所述该处理生成路由图并使用路径搜索技术(例如,最短路径技术)。
而且,为了识别到SaaS提供者机器端点的最优路径,处理3700使用上述方法。但是,由于处理3700在由实体为实体的专用虚拟网络指定的PCD和/或PCD组的上下文中使用这种方法,因此这种方法可以为该实体识别与如果实体没有选择PCD和/或PCD组的特定集合的话VNP处理将识别的那些或者VNP处理将为与实体的PCD和/或PCD组的指定集合相同的区域中定义的共享虚拟网络识别的那些不同的SaaS提供者机器端点集合。将参考图38描述关于PCD和/或PCD组的期望集合的特定实体输入如何导致使用另一个SaaS提供者机器端点集合的一个示例。
在识别出通过这个网络实现专用虚拟网络和SaaS提供者访问的路径之后,处理3700为实体在PCD和/或PCD组的指定的集合中部署(在3725处)专用MFN。在3725处,该处理向已部署的专用MFN(例如,这些专用MFN的CFE)分发转发规则(例如,下一跳转发规则)以实现识别出的(在3725处)用于实现专用虚拟网络的路径。在3725之后,处理3700结束。
图38图示了其中基于实体选择用于部署其虚拟网络的PCD来选择SaaS数据中心的示例。在这个示例中,示出了四个PCD,两个PCD 3802和3804被实体选择,两个PCD 3806和3808未被实体选择。在一些实施例中,所选择的PCD属于由该实体选择的一个公共云提供者,而未被选择的PCD属于该实体未选择的另一个公共云提供者。如果实体选择了PCD 3806和3808,那么到SaaS提供者的最佳路径是从机构3803中的边缘节点3801通过这两个PCD3806和3808到SaaS数据中心2,因为这条路径的成本仅为4。但是,由于没有选择这两个PCD,因此选择了SaaS数据中心1并且到它的最佳路径通过PCD 3802和3804的MFN 3812和3814。这条路径的总成本为5,而其它路径的成本为6和7。
在一些实施例中,多机器计算节点(MMCN)的边缘节点是通过多个不同网络连接(称为链路)连接到一个或多个外部网络的SD-WAN边缘节点,该外部网络将其连接到互联网。图39图示了这种SD-WAN边缘节点3900的示例,其通过多个链路3902、3904和3906将MMCN位置3905(机构、数据中心等)处的多个计算设备3910连接到互联网3920。不同的互联网服务提供者可以将每条链路连接到互联网,例如,MPLS链路将通过MPLS提供者的网络连接,高速互联网连接链路(例如,电缆调制解调器)将通过高速互联网提供者的网络(电缆提供者的网络)连接,无线链路将通过无线电信网络提供者连接,等等。
在一些实施例中,VNP处理考虑这些不同链路的可用性,并将每个SD-WAN边缘节点配置为使用边缘节点连接到的一个或多个MFN的集合中的每个MFN的最佳链路。图40图示了一些实施例的一个这样的处理4000。对于每个SD-WAN边缘节点,处理4000最初让(在4005处)附近候选PCD和/或PCD组中的测量代理对用于SD-WAN的每条链路的边缘节点进行网络连接测量(例如,测量RTT延迟)。
在一些实施例中,附近的候选PCD和/或PCD组是到每个SD-WAN边缘节点的阈值物理或连接距离内的PCD和/或PCD组,它们是可行的PCD和/或PCD组(即,针对其专用虚拟网络,未被实体拒绝,和/或不属于不被实体接受的PCD/PCD组的一部分)。为了对链路进行测量,向测量代理提供与每条链路相关联的一个或多个网络地址(例如,静态IP地址)。在一些实施例中,这些测量代理使用每个地址来发送ping消息(例如,UDP回声消息)并测量这些消息的RTT延迟和其它特点。
接下来,在4010处,该处理为每个SD-WAN边缘节点生成具有一条或多条链路的集合的路由图。对于每个附近的候选PCD和/或PCD组(即,对于每个这样的候选PCD/PCD组中的MFN),处理4000为路由图指定(在4010处)每个SD-WAN边缘节点的一条链路。当基于单个度量值(例如,延迟、丢失等)或两个或更多个度量的混合度量值进行衡量时,每个PCD/节点对的指定链路是用于该对的最佳链路。在其它实施例中,该处理在路由图中包括在每个边缘节点与其候选PCD/PCD组之间的多于一条链路。
在4015处,该处理执行路径搜索,该路径搜索使用由测量代理生成的测量(包括对每个SD-WAN边缘节点的不同链路的不同测量)以识别跨PCD和/或PCD组的集合连接实体机器(包括要使用的SaaS机器)的路径的集合。为了考虑移动设备连接,路径搜索还识别所有可能的PCD/PCD组对之间的路径,这些对可以用作跨专用虚拟网络的路径的入口和出口节点。这些路径搜索是最短搜索路径搜索,它试图找到两个机器端点之间的最小成本路径,其中路径成本用一个或多个度量值(例如,延迟、抖动、丢失、可靠性等)表达。
在识别出用于连接虚拟网络的不同机器端点的最优路径之后,处理4000(在4020处)为由识别出的路径跨越的PCD和/或PCD组中的实体部署和配置专用MFN(例如,这些MFN的CFE)。为了配置这些MFN,处理(1)使用识别出的路径来定义供MFN用来沿着路径转发数据消息流的转发规则(例如,下一跳记录),以及(2)将这些转发规则分发到MFN(例如,分发到这些MFN的CFE)。为了分发转发规则,在一些实施例中该处理将规则提供给控制器的集合,然后控制器将它们分发到MFN。在一些实施例中,处理4000被用于为实体部署共享虚拟网络。在此类实施例中,处理4000配置(在4020处)共享MFN以实现在4015处识别出的路径。
处理4000还配置SD-WAN边缘节点以沿着特定链路将数据消息流转发到特定目的地,到被4015处识别出的路径跨越的PCD/PCD组中的特定MFN。为此,该处理让MFN的云转发元件通过使用BGP协议来配置这些边缘节点,以向边缘节点提转发记录的集合以供使用。使用BGP协议,MFN为边缘节点提供路由和路由属性,这允许边缘节点识别最佳路由供它们使用(例如,基于权重属性、本地偏好属性等)。
图41呈现了图示配置SD-WAN边缘节点以使用最佳链路/MFN对用于到虚拟网络中目的地端点的最佳路径的示例。在这个示例中,墨西哥城的机构4102必须通过两个公共云提供者A和B的两个数据中心集合访问俄勒冈州的数据中心4104。机构4102具有边缘节点4105,其具有两条不同的连接链路4112和4114,这可以是MPLS链路和电缆调制解调器链路。
如图所示,这些链路中的每一条都具有与其相关联的成本(即,链路4112的成本为1,链路4114的成本为2)。在一些实施例中,这些成本是由PCP A和B的墨西哥城PCD 4122和4124中的测量代理生成的。如进一步所示,在墨西哥城机构4102和俄勒冈州数据中心4104之间探索了三条不同路径。其中两条路径通过链路4112,这对于PCP A来说是更好的链路,而一条路径通过链路4114,这对于PCP B来说是更好的链路。
在这三条路径中,经过PCP A的墨西哥城PCD 4122和PCP A的俄勒冈PCD 4126的路径4150是从墨西哥城机构到俄勒冈数据中心4104的数据消息流的最佳路径。如图所示,当基于一个或多个度量值的集合计算时,这条路径的成本为4。穿过PCP A的墨西哥城PCD4122和PCP A的SF PCD 4128的路径成本为5,而穿过PCP B的墨西哥城PCD 4124和PCP B的俄勒冈PCD 4132的路径成本为7。因此,通过BGP协议,墨西哥城PCD 4122的MFN 4130在一些实施例中配置边缘节点4105以通过链路4112和MFN 4130将流转发到俄勒冈数据中心4104。
上面通过参考虚拟网络提供者的处理和操作描述了许多实施例。普通技术人员将认识到的是,上述处理和操作中许多在其它实施例中由一个公共云提供者执行以定义跨越其多个PCD和/或PCD组的虚拟网络。可替代地,在一些实施例中,每个实体将操作执行这些处理和操作的网络管理器/控制器,以将实体的虚拟网络部署在一个或多个PCD的一个或多个PCP/PCD组上。
对于此类网络管理器/控制器,一些实施例不部署和配置MFN来实现虚拟网络。代替地,这些实施例提供量化PCD或PCD组与部署和配置MFN的其它处理之间的连接的测量。一些实施例将这些测量提供给执行其它基于云的操作的其它处理,诸如在公共云中部署应用机器并使用测量来识别用于此类部署的最佳位置的处理。其它处理(例如,实体的网络管理器/控制器)使用这些测量来执行其它基于云的操作本身(例如,在公共云中部署应用机器并使用测量来识别用于此类部署的最佳位置)。
图42图示了一些实施例用来基于由一些实施例的测量基础设施生成的测量在公共云中以最优位置部署一个或多个资源的集合的处理4200。所部署的资源集可以包括任何类型的资源,诸如计算资源(例如,VM、容器、服务器等)、网络资源(例如,路由器、交换机、网关等)或服务资源(例如,任何中间盒服务机器或器具,例如防火墙、负载平衡器等)。但是,在下面提供的几个示例中,所部署的资源是执行应用或应用的集合的机器。在一些实施例中,处理4200由图43中所示的部署-位置识别器4300执行。
如图42中所示,当部署-位置识别器4300接收到(在4205处)对服务器集4305中的服务器的请求时,处理4200开始,该请求针对部署机器(例如,VM或容器)的优化位置以在各种可能的候选PCD4330当中的一个PCD中执行特定应用或应用的集合。在一些实施例中,服务器组4305是一个或多个计算管理器或控制器的集合,它们通过网络4350(例如,LAN、WAN或互联网)与部署-位置识别器4300通信。
在一些实施例中,接收到的请求提供(1)候选PCD、PCD组和/或PCP提供者的列表和/或(2)将访问要部署的机器的实体的边缘节点4345的位置(例如,网络地址)。在一些实施例中,这个信息的全部或部分(即,候选PCD、PCD组和/或PCP提供者和/或边缘节点位置的列表)不随请求一起提供,因为该信息先前为实体提供,因此存储在用于实体的配置数据库中。为了优化用于移动设备访问位置的机器位置部署,一些实施例将边缘-节点位置定义为移动设备通常连接到的PCD或PCD组的位置。而且,在一些实施例中,边缘节点通过定义为跨越多个PCD和/或PCD组的虚拟网络通信连接。在其它实施例中,没有定义用于连接边缘节点的这种虚拟网络。
在4210处,部署-位置识别器4300通过网络4350向测量聚合器4310发送对作为候选PCD和/或PCD组的不同对PCD和/或PCD组之间的网络-连接测量的集合的请求,(1)用于部署所请求的资源集或(2)用于遍历以到达所部署的资源集。在4205处的请求不提供候选PCD和/或PCD组的列表(例如,该请求仅提供PCP提供者的列表和/或用于连接到PCD的节点的网络地址)的实施例中,处理4200必须首先识别候选PCD和/或PCD组的列表,然后在4210处请求测量。
为了在此类情况下识别候选PCD和/或PCD组,在一些实施例中,处理4200使用它在4205处随请求一起接收的输入的集合来过滤可用PCD和/或PCD组的列表以丢弃不合适的PCD和/或PCD组。例如,在一些实施例中,服务器集4305提供两个PCP作为可接受的PCP,并且提供与北加利福尼亚的机构相关联的网络地址以用于访问所部署的资源。在这种情况下,部署-位置识别器将丢弃不由两个可接受的PCP操作的所有PCD和/或PCD组,然后将丢弃这两个可接受的PCP在北加利福尼亚之外的PCD和/或PCD组。
在4210处,部署-位置识别器4300发送到测量聚合器4310的请求在一些实施例中还请求与不同PCD/PCD组和实体的边缘节点位置(例如,实体的MMCN位置)之间的网络连接相关的网络-连接测量的集合。这些测量在一些实施例中被用于表达PCD/PCD组和实体边缘节点之间的链路成本。在这些实施例中的一些当中,测量代理不仅ping其它PCD/PCD组中的其它测量代理,而且ping实体边缘节点中的转发元件以在PCD/PCD组和实体边缘节点之间生成测量。
在4215处,部署-位置识别器4300从测量聚合器4310接收为候选PCD和/或PCD组请求的测量。如上所述,一些实施例的测量装置包括在众多PCD和/或PCD组4330的每一个中的测量代理4335,并且每个这样的测量代理连续地生成网络测量以量化其相应的PCD或PCD组与其它测量代理的PCD/PCD组之间的网络连接的质量。上面描述了此类网络测量(例如,延迟测量、抖动测量、丢失测量、可靠性测量等)的生成。在一些实施例中,测量代理由测量聚合器部署。在其它实施例中,测量代理由虚拟网络提供者或另一个实体的控制器和/或管理器部署。
测量代理4335将它们生成的网络-连接测量提供给测量聚合器4310。在一些实施例中,测量代理4335周期性地将这些测量推送(转发)到聚合器4310,而在其它实施例中,周期性地从代理4335拉取(检索)这些测量。报告周期在一些实施例中是可配置的,但通常设置为每小时、几个小时(例如,6或12小时)、每天等。
在一些实施例中,测量聚合器使用加权聚合公式(例如,加权和)来混合用于PCD/PCD组对(例如,两个PCD、一个PCD和一个PCD组或两个PCD组)之间的网络连接的新测量,以便确保新测量不单独定义对之间的网络连接的质量。测量聚合器4310也在其它实施例中使用,例如,在部署和配置MFN以定义跨越用于实体的多个PCD/PCD组的虚拟网络的实施例中。
在接收(在4215处)网络测量之后,该处理使用(在4220处)接收到的测量来识别应当在其中部署所请求的资源集合的最优PCD或PCD组。为此,处理4200执行路径搜索的集合以识别导致从必须访问已部署的资源集的所有位置到所部署位置的最佳整体路径集的部署位置。为了识别最佳的整体路径集,在一些实施例中,处理4200基于一种类型的测量(例如,连接速度)对路径进行成本计算,而在其它实施例中,它基于多种类型的测量(例如,连接速度和分组丢失)对路径进行成本计算。
为了执行这些路径搜索,在一些实施例中,处理4200不仅使用关于PCD/PCD组之间的网络连接的测量,而且还使用关于PCD/PCD组与将访问已部署资源的实体的位置(例如,网络地址)之间的网络连接的测量。例如,在图43的示例中,部署-位置识别器4300使用接收到的测量的集合和边缘节点4345的位置来执行路径搜索的集合以识别其中应当为边缘节点4356部署所请求的机器(用于执行应用或应用集)的最优PCD或PCD组。
图44呈现了进一步图示用于为具有需要访问机器的特定边缘节点集合的特定实体部署机器的优化位置的示例。在这个示例中,有八个PCD 4410-4426作为候选PCD,其中机器可以被部署以供两个边缘节点4402和4404中的两个机器访问。而且,在这个示例中,假设可以在每个PCD中部署至少一个MFN 4130,以使数据消息流在边缘节点处的机器和部署的机器之间传输。
图44还显示了不同PCD对之间的连接链路以及该链路旁边的每条链路的成本。在一些实施例中,两个PCD之间的每条连接链路的成本是从这两个PCD中的测量代理生成的用于量化两个PCD之间的网络连接质量的网络连接测量得出的。例如,PCD 4422和4424之间的成本3表示这两个PCD之间的网络连接比PCD 4410和4412之间的成本1差得多。
对于这个示例,部署-位置识别器4300将探索每个边缘节点4402或4402到PCD之一的各种路径。部署-位置识别器然后识别导致来自两个边缘节点的两条路径的最低成本总和的PCD。在图44中,这个识别出的PCD是PCD 4412,因为来自边缘节点4402的路径4440和来自边缘节点4404的路径4445的成本总和是从边缘节点4402和4404到任何其它PCD的任何其它路径对中最小的总成本。下表1列出了所有路径对的总成本:
表1
候选PCD 来自4402的成本 来自4404的成本 总计
4410 1 3 4
4416 2 4 6
4422 2 4 6
4412 2 2 4
4418 3 3 6
4414 5 1 6
4420 5 1 6
4424 5 1 6
在这个示例中,PCD 4410和4412如表1中所指示的具有相同的总成本,但基于其它准则(例如,基于成本、基于与边缘节点4402和4404二者的物理接近度等)选择PCD 4412。
在图44中所示的示例中,每个边缘节点被视为与另一个边缘节点相同。在实践中,一个边缘节点可能需要比另一个边缘节点更频繁地访问部署的机器。为了促进这一点,一些实施例使用权重来区分不同边缘节点的访问成本。例如,如果第一边缘节点将具有80%的访问而第二边缘节点将具有20%的访问,那么一些实施例将第一边缘节点的路径成本乘以0.8,而将第二边缘节点的路径成本乘以0.2,然后将结果所得的路径成本值相加。
在识别出用于部署资源集的最优PCD或PCD组之后,处理4225将最优PCD或PCD组的身份提供给调用该处理的服务器。然后可以将这个资源部署在识别出的PCD/PCD组处(例如,由计算管理器/控制器部署和配置)。在提供最优位置之后,处理4200结束。
许多上述特征和应用被实现为被指定为记录在计算机可读存储介质(也称为计算机可读介质)上的指令集的软件处理。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核心或其它处理单元)执行时,它们使(一个或多个)处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线地或通过有线连接传递的载波和电子信号。
在本说明书中,术语“软件”意在包括驻留在只读存储器中的固件或存储在磁性存储装置中的应用,其可以被读入存储器以供处理器处理。而且,在一些实施例中,可以将多个软件发明实现为更大程序的子部分,同时保留不同的软件发明。在一些实施例中,多个软件发明也可以被实现为分开的程序。最后,一起实现这里描述的软件发明的分开的程序的任意组合都在本发明的范围内。在一些实施例中,软件程序在被安装以在一个或多个电子系统上操作时定义运行并执行软件程序的操作的一种或多种具体机器实施方式。
虽然以上讨论主要是指执行软件的微处理器或多核处理器,但是一些实施例是由一个或多个集成电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))执行的。在一些实施例中,此类集成电路执行存储在电路本身上的指令。
如本说明书中使用的,术语“计算机”、“服务器”、“处理器”和“存储器”均指电子或其它技术设备。这些术语不包括一个人或一群人。为了本说明书的目的,术语“显示”是指在电子设备上显示。如本说明书中所使用的,术语“计算机可读介质”、“计算机可读介质”和“机器可读介质”完全限于以计算机可读的形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其它短暂或暂态的信号。
图45概念性地图示了计算机系统4500,利用该计算机系统4500来实现本发明的一些实施例。计算机系统4500可以被用于实现任何上述主机、控制器和管理器。照此,它可以被用于执行任何上述处理。这个计算机系统包括各种类型的非暂态机器可读介质以及用于各种其它类型的机器可读介质的接口。计算机系统4500包括总线4505、(一个或多个)处理单元4510、系统存储器4525、只读存储器4530、永久存储设备4535、输入设备4540和输出设备4545。
总线4505共同表示通信连接计算机系统4500的众多内部设备的所有系统总线、外围和芯片集总线。例如,总线4505将(一个或多个)处理单元4510与只读存储器4530、系统存储器4525和永久存储设备4535通信连接。
(一个或多个)处理单元4510从这些各种存储单元中检索要执行的指令和要处理的数据,以便执行本发明的处理。在不同的实施例中,(一个或多个)处理单元可以是单个处理器或多核处理器。只读存储器(ROM)4530存储(一个或多个)处理单元4510和计算机系统的其它模块所需的静态数据和指令。另一方面,永久存储设备4535是读写存储器设备。这个设备是非易失性存储器单元,即使计算机系统4500关闭,它也存储指令和数据。本发明的一些实施例使用大容量存储设备(诸如磁盘或光盘及其对应的磁盘驱动器)作为永久存储设备4535。
其它实施例使用可移动存储设备(诸如软盘、闪存驱动器等)作为永久存储设备。就像永久存储设备4535一样,系统存储器4525是读写存储器设备。但是,与存储设备4535不同,系统存储器是易失性读写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时所需的一些指令和数据。在一些实施例中,本发明的处理被存储在系统存储器4525、永久存储设备4535和/或只读存储器4530中。(一个或多个)处理单元4510从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行一些实施例的处理。
总线4505还连接到输入和输出设备4540和4545。输入设备使用户能够向计算机系统传达信息并选择命令。输入设备4540包括字母数字键盘和指点设备(也称为“光标控制设备”)。输出设备4545显示由计算机系统生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施例包括诸如触摸屏之类的设备,其既充当输入设备又充当输出设备。
最后,如图45中所示,总线4505还通过网络适配器(未示出)将计算机系统4500耦合到网络4565。以这种方式,计算机可以是计算机网络(诸如局域网(LAN)、广域网(WAN)或内联网,或网络的网络(诸如互联网))的一部分。计算机系统4500的任何或所有部件可以与本发明结合使用。
一些实施例包括电子部件,诸如微处理器、将计算机程序指令存储在机器可读或计算机可读介质(可替代地称为计算机可读存储介质、机器可读介质、或机器可读存储介质)的存储装置和存储器。此类计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字多功能光盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如,SD卡、mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可记录的
Figure BDA0003519908870001101
盘、超密度光盘、任何其它光学或磁性介质,以及软盘。计算机可读介质可以存储可由至少一个处理单元执行并且包括用于执行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包括机器代码(诸如由编译器产生的),以及文件,包括由计算机、电子部件或微处理器使用解释器执行的高级代码。
虽然已经参考许多具体细节描述了本发明,但是本领域普通技术人员将认识到的是,在不脱离本发明的精神的情况下,可以以其它具体形式来实施本发明。例如,上述示例中的若干示例说明了虚拟网络提供者的公司租户的虚拟公司WAN。本领域普通技术人员将认识到的是,在一些实施例中,虚拟网络提供者在一个或多个公共云提供者的若干公共云数据中心上为非公司租户(例如,学校、学院、大学、非营利实体等)部署虚拟网络。这些虚拟网络是连接非公司实体的多个计算端点(例如,机构、数据中心、远程用户的计算机和设备等)的虚拟WAN。
上述若干实施例在覆盖封装报头中包括各种数据。普通技术人员将认识到的是,其它实施例可能不使用封装报头来中继所有这种数据。例如,代替在覆盖封装报头中包括租户标识符,其它实施例从转发数据消息的CFE的地址中导出租户标识符,例如,在其中不同租户在公共云中部署了其自己的MFN的一些实施例中,租户身份与处理租户消息的MFN相关联。
而且,若干附图概念性地图示了本发明的一些实施例的处理。在其它实施例中,这些处理的具体操作可以不按照这些图中所示和描述的确切次序来执行。具体操作可以不在一个连续的操作系列中执行,并且不同的具体操作可以在不同实施例中执行。例如,对于实体,一些实施例在为实体生成路径之前将一些或全部MFN部署在PCD/PCD组中,即使上述图中的一些图示了在路径搜索之后MFN的部署。此外,该处理可以使用若干子处理来实现,或者作为更大的宏处理的一部分来实现。
上面描述的几个实施例允许为一个实体部署的专用虚拟网络以在该实体的专用虚拟网络的一部分(例如,该实体的一个或多个专用MFN)出现拥塞或预期出现拥塞时使用一个或多个共享MFN。其它实施例以不同方式处理这种拥塞。例如,一些实施例将附加的专用MFN(即,冗余MFN)部署到专用虚拟网络的拥塞或预期拥塞的部分。这些实施例中的一些然后在PCD、MMCN处的边缘节点和其它专用MFN中配置转发元件(例如,前端负载平衡器),以在重复(例如,冗余)MFN的集群之间分发负载。因此,本领域的普通技术人员将理解的是,本发明不限于前述说明性细节,而是由所附权利要求书限定。

Claims (34)

1.一种提供关于实体的虚拟网络的推荐的方法,所述实体的虚拟网络是在两个或更多个公共云数据中心的集合上定义的,所述方法包括:
从实体接收应当在其上定义用于该实体的虚拟网络的公共云数据中心的集合的身份;
部署和配置在公共云数据中心的集合中操作的转发元件的集合以实现用于实体的虚拟网络;
为了改进虚拟网络的性能度量,识别特定公共云中不在所述公共云数据中心的集合中的至少一个转发元件以添加到所述转发元件的集合;
提供将所述特定公共云添加到所述公共云数据中心的集合的推荐,以便改进虚拟网络的性能度量。
2.如权利要求1所述的方法,还包括:
从所述实体接收将所述特定公共云添加到所述公共云数据中心的集合的请求;
在所述特定公共云中部署至少一个特定转发元件;
配置所述特定转发元件并重新配置所述转发元件的集合中的至少一个转发元件,使得所述特定转发元件和所述转发元件的集合实现虚拟网络。
3.如权利要求1所述的方法,其中配置所述转发元件的集合包括
执行路径搜索处理以识别通过虚拟网络以连接所述实体的机器的路径;
基于识别出的路径生成转发记录;以及
使用转发记录来配置所述转发元件的集合。
4.如权利要求3所述的方法,其中所述实体的机器包括所述公共云数据中心的集合之外的机器,所述机器包括实体的移动机器、办公机器或私有数据中心机器。
5.如权利要求3所述的方法,其中转发元件包括路由器,并且转发记录是路由记录。
6.如权利要求5所述的方法,其中路由记录是下一跳记录。
7.如权利要求5所述的方法,其中路由器被实现为在公共云数据中心的第一集合中的主机计算机上执行的机器。
8.如权利要求1所述的方法,还包括:
在包括公共云数据中心的第一集合以及公共云数据中心的第一集合之外的公共云数据中心的公共云数据中心的第二集合中的公共云数据中心中部署测量机器;
接收测量以评估不同对的公共云数据中心之间的网络连接;
使用所生成的测量来执行路径搜索的第一集合以识别通过公共云数据中心的第一集合的第一路径集合,以便配置所述转发元件的集合以实现虚拟网络;
使用所生成的测量来执行路径搜索的第二集合以识别通过公共云数据中心的第二集合的第二路径集合,以便识别使用公共云数据中心的第一集合之外的特定公共云并且比第一路径集合中的一条路径更好的至少一条特定路径。
9.如权利要求8所述的方法,其中网络测量包括以下项中的至少一项:
(i)量化各对公共云数据中心之间的连接上经历的丢失的测量;
(ii)量化各对公共云数据中心之间的连接上经历的延迟的测量;
(iii)量化各对公共云数据中心之间的连接上经历的抖动的测量;以及
(iv)表达各对公共云数据中心之间的连接的可靠性的测量;
10.如权利要求1所述的方法,其中至少一对公共云数据中心是同一区域中的两个公共云数据中心,而另一对公共云数据中心是两个不同区域中的两个公共云数据中心。
11.一种提供关于实体的虚拟网络的推荐的方法,所述实体的虚拟网络是在两个或更多个公共云数据中心的集合上定义的以连接所述实体的机器集合,所述方法包括:
从实体接收应当在其上定义用于所述实体的虚拟网络的公共云数据中心的第一集合的身份;
为了配置在公共云数据中心的第一集合中操作的转发元件的第一集合以实现用于实体的虚拟网络,执行路径搜索的第一集合以识别通过转发元件的第一集合的第一路径集合;
为所述实体执行通过公共云数据中心的第二集合的路径搜索的第二集合,所述公共云数据中心的第二集合包括不在公共云数据中心的第一集合中的至少一个特定公共云;
当路径搜索的第二集合识别出使用所述特定公共云并且优于通过公共云数据中心的第一集合的识别出的路径的第一集合中的路径的至少一条特定路径时,提供将所述特定公共云添加到公共云数据中心的第一集合的推荐。
12.如权利要求11所述的方法,还包括:
当所述实体不接受所述推荐时,用第一路径集合配置转发元件的第一集合;
当实体接受推荐时,
向转发元件的第一集合添加所述特定公共云中的特定转发元件;
使用识别出的第一路径集合和所述特定路径,而不是使用所述特定路径替换的第一路径集合中的任何路径,配置具有所述特定转发元件的转发元件的第一集合。
13.如权利要求11所述的方法,还包括在配置转发元件之前将转发元件部署在它们相应的公共云数据中心中。
14.如权利要求13所述的方法,其中转发元件包括被实现为在所述公共云数据中心中的主机计算机上执行的机器的转发元件。
15.如权利要求14所述的方法,其中转发元件机器包括在主机计算机上执行的虚拟机以及所述公共云数据中心的与所述实体不同的租户的其它虚拟机。
16.如权利要求13所述的方法,其中转发元件包括路由器并且配置转发元件包括基于识别出的路径向路由器提供路由记录。
17.如权利要求16所述的方法,其中路由记录是下一跳记录。
18.如权利要求11所述的方法,其中公共云数据中心的第一集合包括由不同公共云提供者操作的公共云数据中心。
19.如权利要求11所述的方法,其中公共云数据中心的第一集合包括由第一公共云提供者操作的公共云数据中心,而公共云数据中心的第二集合包括由第二公共云提供者操作的至少一个公共云数据中心。
20.如权利要求11所述的方法,其中所述实体的机器集合包括在公共云数据中心的集合之外的机器,并且包括所述实体的移动机器、办公机器或私有数据中心机器。
21.一种提供关于实体的虚拟网络的推荐的方法,所述实体的虚拟网络是在两个或更多个公共云数据中心上定义的,所述方法包括:
从实体接收公共云数据中心的集合的身份,以定义用于所述实体的虚拟网络;
部署和配置在所述公共云数据中心的集合中操作的转发元件的集合,以实现用于实体的虚拟网络;
监视虚拟网络的操作以识别要从所述公共云数据中心的集合中移除的至少一个特定公共云数据中心;
提供从所述公共云数据中心的集合中移除所述特定公共云数据中心的推荐,以便改进虚拟网络的性能度量。
22.如权利要求21所述的方法,其中监视虚拟网络的操作包括:
收集关于穿过所述转发元件的集合中的转发元件的数据消息流的统计信息;
使用统计信息来识别所述特定公共云数据中心中被使用低于阈值量的转发元件;
基于所述识别,确定应当从为实体部署和配置的转发元件的第一集合中移除所述转发元件。
23.如权利要求21所述的方法,还包括:
当实体接受推荐时,
从所述转发元件的集合中移除所述特定公共云数据中心中的特定转发元件以产生经修改的转发元件的集合;以及
重新配置经修改的转发元件的集合中的所述转发元件以实现没有所述特定转发元件的虚拟网络。
24.如权利要求23所述的方法,其中移除所述特定转发元件包括终止所述特定转发元件在所述特定公共云数据中心中的操作。
25.如权利要求24所述的方法,其中
所述特定转发元件是部署在所述特定公共云数据中心中的主机计算机上并且被配置为执行转发元件操作的特定机器实例,以及
移除所述特定转发元件包括使用所述特定公共云数据中心的API以关闭所述特定机器实例。
26.如权利要求23所述的方法,其中
在监视之前配置所述转发元件的集合包括执行路径搜索的第一集合以识别通过所述转发元件的集合的第一路径集合并使用识别出的第一路径集合来配置所述转发元件的集合以实现虚拟网络;以及
重新配置经修改的转发元件的集合包括执行路径搜索的第二集合以识别通过经修改的转发元件的集合的第二路径集合以实现虚拟网络。
27.如权利要求26所述的方法,其中转发元件包括路由器并且配置转发元件包括基于识别出的路径向路由器提供路由记录。
28.如权利要求27所述的方法,其中路由记录是下一跳记录。
29.如权利要求21所述的方法,其中转发元件包括被实现为在公共云数据中心中的主机计算机上执行的机器的转发元件,至少一个主机计算机执行公共云数据中心的不同于所述实体的至少一个租户的至少一个机器实例。
30.如权利要求21所述的方法,其中性能度量是成本值。
31.如权利要求30所述的方法,其中提供推荐包括:如果所述推荐被接受并且从虚拟网络所跨越的公共云数据中心的集合中移除所述特定公共云数据中心,那么提供改进的成本值以及对于虚拟网络预期的经调整的操作度量值。
32.如权利要求21所述的方法,其中所述公共云数据中心的集合包括由不同公共云提供者操作的公共云数据中心。
33.如权利要求21所述的方法,其中虚拟网络连接所述实体的机器的集合,所述机器包括在所述公共云数据中心的集合之外的机器并且包括所述实体的移动机器、办公机器或私有数据中心机器。
34.一种机器可读介质,存储要由至少一个处理单元执行的程序,所述程序包括用于实现根据权利要求1-33中任一项所述的方法的指令集。
CN202080060188.2A 2019-08-27 2020-07-25 提供用于实现虚拟网络的推荐 Pending CN114303342A (zh)

Applications Claiming Priority (23)

Application Number Priority Date Filing Date Title
US201962892473P 2019-08-27 2019-08-27
US62/892,473 2019-08-27
US16/662,510 US11171885B2 (en) 2019-08-27 2019-10-24 Providing recommendations for implementing virtual networks
US16/662,587 US11153230B2 (en) 2019-08-27 2019-10-24 Having a remote device use a shared virtual network to access a dedicated virtual network defined over public clouds
US16/662,489 2019-10-24
US16/662,379 US11121985B2 (en) 2019-08-27 2019-10-24 Defining different public cloud virtual networks for different entities based on different sets of measurements
US16/662,587 2019-10-24
US16/662,531 US11018995B2 (en) 2019-08-27 2019-10-24 Alleviating congestion in a virtual network deployed over public clouds for an entity
US16/662,570 2019-10-24
US16/662,363 US11310170B2 (en) 2019-08-27 2019-10-24 Configuring edge nodes outside of public clouds to use routes defined through the public clouds
US16/662,379 2019-10-24
US16/662,427 US11212238B2 (en) 2019-08-27 2019-10-24 Providing recommendations for implementing virtual networks
US16/662,402 US11252105B2 (en) 2019-08-27 2019-10-24 Identifying different SaaS optimal egress nodes for virtual networks of different entities
US16/662,402 2019-10-24
US16/662,510 2019-10-24
US16/662,591 2019-10-24
US16/662,489 US10999137B2 (en) 2019-08-27 2019-10-24 Providing recommendations for implementing virtual networks
US16/662,570 US11252106B2 (en) 2019-08-27 2019-10-24 Alleviating congestion in a virtual network deployed over public clouds for an entity
US16/662,427 2019-10-24
US16/662,531 2019-10-24
US16/662,591 US11258728B2 (en) 2019-08-27 2019-10-24 Providing measurements of public cloud connections
US16/662,363 2019-10-24
PCT/US2020/043635 WO2021040934A1 (en) 2019-08-27 2020-07-25 Providing recommendations for implementing virtual networks

Publications (1)

Publication Number Publication Date
CN114303342A true CN114303342A (zh) 2022-04-08

Family

ID=74680225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080060188.2A Pending CN114303342A (zh) 2019-08-27 2020-07-25 提供用于实现虚拟网络的推荐

Country Status (7)

Country Link
US (13) US11121985B2 (zh)
EP (1) EP4022863A1 (zh)
JP (1) JP7417812B2 (zh)
CN (1) CN114303342A (zh)
AU (2) AU2020336161B2 (zh)
CA (1) CA3147722C (zh)
WO (1) WO2021040934A1 (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US11121962B2 (en) 2017-01-31 2021-09-14 Vmware, Inc. High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US11089111B2 (en) 2017-10-02 2021-08-10 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10608844B2 (en) 2017-10-02 2020-03-31 Vmware, Inc. Graph based routing through multiple public clouds
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US11893404B2 (en) * 2019-08-06 2024-02-06 Nutanix, Inc. Efficient traffic forwarding between virtual machines
US11121985B2 (en) 2019-08-27 2021-09-14 Vmware, Inc. Defining different public cloud virtual networks for different entities based on different sets of measurements
US10938717B1 (en) * 2019-09-04 2021-03-02 Cisco Technology, Inc. Policy plane integration across multiple domains
US12008557B2 (en) * 2019-10-03 2024-06-11 Titan IO, Inc. Method, apparatus, and computer-readable medium for routing data services over a decentralized network
US11363060B2 (en) * 2019-10-24 2022-06-14 Microsoft Technology Licensing, Llc Email security in a multi-tenant email service
US11611507B2 (en) 2019-10-28 2023-03-21 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
US11372634B1 (en) * 2020-01-29 2022-06-28 Amazon Technologies, Inc. Specialized cloud provider regions for availability-sensitive workloads
US11985534B2 (en) * 2020-03-18 2024-05-14 Equinix, Inc. Application workload routing and interworking for network defined edge routing
US11304115B2 (en) * 2020-03-18 2022-04-12 Equinix, Inc. Network defined edge routing for an application workload
JP2021170289A (ja) * 2020-04-17 2021-10-28 富士通株式会社 情報処理システム、情報処理装置およびプログラム
US11283695B2 (en) * 2020-04-21 2022-03-22 Aviatrix Systems, Inc. System and method for determination of network operation metrics and generation of network operation metrics visualizations
US11418381B2 (en) * 2020-06-05 2022-08-16 Accenture Global Solutions Limited Hybrid cloud integration deployment and management
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US10911407B1 (en) 2020-08-04 2021-02-02 Palo Alto Networks, Inc. Localization at scale for a cloud-based security service
US11362992B2 (en) 2020-09-21 2022-06-14 Vmware, Inc. Allocating additional bandwidth to resources in a datacenter through deployment of dedicated gateways
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
CN114598634A (zh) * 2020-12-02 2022-06-07 华为技术有限公司 报文传输的方法、获取对应关系的方法、装置及系统
US11765188B2 (en) * 2020-12-28 2023-09-19 Mellanox Technologies, Ltd. Real-time detection of network attacks
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11611512B2 (en) * 2020-12-30 2023-03-21 Arris Enterprises Llc System to dynamically detect and enhance classifiers for low latency traffic
US11777760B2 (en) * 2020-12-30 2023-10-03 Hughes Network Systems, Llc VPN classification to reduce usage costs while retaining responsiveness
US20230362245A1 (en) * 2020-12-31 2023-11-09 Nutanix, Inc. Orchestrating allocation of shared resources in a datacenter
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11368401B1 (en) * 2021-01-20 2022-06-21 Cisco Technology, Inc. Globally avoiding simultaneous reroutes in a network
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
CN112887158B (zh) * 2021-03-19 2022-02-08 中国电子科技集团公司第三十研究所 一种基于域模式的设备通信规则配置方法
US11252029B1 (en) * 2021-03-24 2022-02-15 Facebook, Inc. Systems and methods for configuring networks
US11606290B2 (en) 2021-03-25 2023-03-14 Vmware, Inc. Connectivity between virtual datacenters
US11824773B2 (en) * 2021-03-30 2023-11-21 Amazon Technologies, Inc. Dynamic routing for peered virtual routers
US20220329576A1 (en) * 2021-04-09 2022-10-13 Hewlett Packard Enterprise Development Lp Securing communication between a cloud platform and an application hosted on an on-premise private network
US11496556B1 (en) * 2021-04-26 2022-11-08 Cisco Technology, Inc. Service provider selection for application-driven routing
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11582147B2 (en) 2021-05-24 2023-02-14 Vmware, Inc. Allocating additional bandwidth to resources in a datacenter through deployment of dedicated gateways
EP4282136A1 (en) * 2021-06-18 2023-11-29 VMware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
EP4109842B1 (en) * 2021-06-23 2024-02-28 Airbus SAS Distributed name resolution for geo-location based networking
US11799731B2 (en) * 2021-06-25 2023-10-24 Microsoft Technology Licensing, Llc Representation and orchestration for virtual wide area networks
US11729094B2 (en) 2021-07-02 2023-08-15 Vmware, Inc. Source-based routing for virtual datacenters
US11627075B2 (en) * 2021-07-15 2023-04-11 Microsoft Technology Licensing, Llc Stitching multiple wide area networks together
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US11956142B2 (en) * 2021-08-19 2024-04-09 Versa Networks, Inc. Path selection for data traffic within a software-defined wide area network using traffic metrics
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11968203B2 (en) * 2021-11-29 2024-04-23 Salesforce, Inc. Administration of services executing in cloud platform based datacenters using token with data structure
US11463544B1 (en) 2021-11-29 2022-10-04 Salesforce.Com, Inc. Administration of services executing in cloud platform based datacenters
US20230198944A1 (en) * 2021-12-22 2023-06-22 Palo Alto Networks, Inc. Networking and security split architecture
US20230261990A1 (en) * 2021-12-22 2023-08-17 Peter Chacko Methods for exchanging content routing information in exclusive path routing overlay network
CN114553508B (zh) * 2022-02-12 2023-06-30 中国银联股份有限公司 一种数据访问方法及装置
US12021746B2 (en) * 2022-02-17 2024-06-25 Cisco Technology, Inc. Inter-working of a software-defined wide-area network (SD-WAN) domain and a segment routing (SR) domain
US20230344770A1 (en) * 2022-04-21 2023-10-26 Palo Alto Networks, Inc. Firewall load balancing with tunnel switching protocols
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs
US20230412483A1 (en) * 2022-06-17 2023-12-21 Cisco Technology, Inc. Software-as-a-service probe aggregation in networks
US11962493B2 (en) 2022-06-21 2024-04-16 VMware LLC Network address translation in active-active edge cluster
WO2024019853A1 (en) * 2022-07-20 2024-01-25 Vmware, Inc. Method for modifying an sd-wan using metric-based heat maps
US11997065B1 (en) * 2023-02-22 2024-05-28 Charter Communications Operating, Llc System and method of client-side DNS prioritization using time zone offset to select from configured list of DNS servers
US12021743B1 (en) 2023-03-27 2024-06-25 Amazon Technologies, Inc. Software-defined multi-network-segment gateways for scalable routing of traffic between customer-premise network segments and cloud-based virtual networks
US11929838B1 (en) * 2023-05-11 2024-03-12 VMware LLC Egress cost optimization for multi-cloud network

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170034046A1 (en) * 2015-07-29 2017-02-02 International Business Machines Corporation Multipathing using a network of overlays
US20170097841A1 (en) * 2015-10-06 2017-04-06 Cisco Technology, Inc. Performance-based public cloud selection for a hybrid cloud environment
US20170181210A1 (en) * 2015-12-16 2017-06-22 Verizon Patent And Licensing Inc. Cloud wan overlay network
CN106998284A (zh) * 2016-01-25 2017-08-01 阿里巴巴集团控股有限公司 通过虚拟私有网络连接私有网络的网络系统和方法
US20170339070A1 (en) * 2016-05-23 2017-11-23 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
US20190104053A1 (en) * 2017-10-02 2019-04-04 Nicira, Inc. Defining and distributing routes for a virtual network
US20190103993A1 (en) * 2017-10-02 2019-04-04 Nicira, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external saas provider

Family Cites Families (825)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094575A (en) 1993-11-01 2000-07-25 Omnipoint Corporation Communication system and method
US5652751A (en) 1996-03-26 1997-07-29 Hazeltine Corporation Architecture for mobile radio networks with dynamically changing topology using virtual subnets
JP2964957B2 (ja) 1996-08-15 1999-10-18 日本電気株式会社 高速ルーティング制御方式
US5909553A (en) 1997-02-19 1999-06-01 International Business Machines Corporation Systems and methods for controlling the transmission of relatively large data objects in a communications system
US6157648A (en) 1997-03-06 2000-12-05 Bell Atlantic Network Services, Inc. Network session management
US20080055241A1 (en) 1998-03-26 2008-03-06 Immersion Corporation Systems and Methods for Haptic Feedback Effects for Control Knobs
US6154465A (en) 1998-10-06 2000-11-28 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligenty bridged TDM and packet buses and methods for performing telephony and data functions using the same
JP2002525913A (ja) 1998-09-11 2002-08-13 シェアウェーブ・インコーポレーテッド コンピュータ・ネットワーク内の通信を制御するための方法および装置
US6445682B1 (en) 1998-10-06 2002-09-03 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same
US6363378B1 (en) 1998-10-13 2002-03-26 Oracle Corporation Ranking of query feedback terms in an information retrieval system
US6578083B2 (en) 1999-02-05 2003-06-10 Pluris, Inc. Method for monitoring data flow at a node on a network facilitating data transfer on at least one link having at least one class of service
US6930983B2 (en) 2000-03-15 2005-08-16 Texas Instruments Incorporated Integrated circuits, systems, apparatus, packets and processes utilizing path diversity for media over packet applications
US6744775B1 (en) 1999-09-27 2004-06-01 Nortel Networks Limited State information and routing table updates in large scale data networks
EP2288083B1 (en) 2000-06-16 2013-07-31 Fujitsu Limited Communication device having VPN accomodation function
US20020087716A1 (en) 2000-07-25 2002-07-04 Shakeel Mustafa System and method for transmitting customized multi priority services on a single or multiple links over data link layer frames
US7003481B2 (en) 2000-08-25 2006-02-21 Flatrock Ii, Inc. Method and apparatus for providing network dependent application services
US7320017B1 (en) 2000-09-06 2008-01-15 Cisco Technology, Inc. Media gateway adapter
US9525696B2 (en) 2000-09-25 2016-12-20 Blue Coat Systems, Inc. Systems and methods for processing data flows
US6976087B1 (en) 2000-11-24 2005-12-13 Redback Networks Inc. Service provisioning methods and apparatus
US7333512B2 (en) 2000-12-18 2008-02-19 Rmi Corporation Dynamic mixing TDM data with data packets
US7519048B2 (en) 2000-12-28 2009-04-14 Nec Corporation Communication system and packet switching method thereof
US7536715B2 (en) 2001-05-25 2009-05-19 Secure Computing Corporation Distributed firewall system and method
JP3737385B2 (ja) * 2001-06-07 2006-01-18 富士通株式会社 最適化パス設定方法及びそれを用いた網管理システム
JP3621987B2 (ja) 2001-09-07 2005-02-23 独立行政法人情報通信研究機構 無線システムのシームレス統合ネットワークシステム
US20030061269A1 (en) 2001-09-17 2003-03-27 Flow Engines, Inc. Data flow engine
DE60140471D1 (de) 2001-12-13 2009-12-24 Sony Deutschland Gmbh Adaptive Dienstqualitätsreservierung mit vorheriger Ressourcenzuweisung für Mobilfunksysteme
US20030112808A1 (en) 2001-12-13 2003-06-19 Net Reality Ltd Automatic configuration of IP tunnels
AU2003217640A1 (en) 2002-02-22 2003-09-09 The Trustees Of The University Of Pennsylvania System and method for distributing traffic in a network
JP2003258854A (ja) 2002-02-27 2003-09-12 Toshiba Corp ルータ装置及びインターネットサービスプロバイダ選択方法
US7751409B1 (en) 2002-03-20 2010-07-06 Oracle America, Inc. Logical service domains for enabling network mobility
US7289456B2 (en) 2002-04-08 2007-10-30 Telcordia Technologies, Inc. Determining and provisioning paths within a network of communication elements
US7280476B2 (en) 2002-06-04 2007-10-09 Lucent Technologies Inc. Traffic control at a network node
AU2002345467A1 (en) 2002-06-19 2004-01-06 Telefonaktiebolaget L M Ericsson (Publ) A network device driver architecture
US7086061B1 (en) 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US8656050B2 (en) 2002-09-24 2014-02-18 Alcatel Lucent Methods and systems for efficiently configuring IP-based, virtual private networks
US7440573B2 (en) 2002-10-08 2008-10-21 Broadcom Corporation Enterprise wireless local area network switching system
US8154581B2 (en) 2002-10-15 2012-04-10 Revolutionary Concepts, Inc. Audio-video communication system for receiving person at entrance
US7606156B2 (en) 2003-10-14 2009-10-20 Delangis Eric M Residential communications gateway (RCG) for broadband communications over a plurality of standard POTS lines, with dynamic allocation of said bandwidth, that requires no additional equipment or modifications to the associated class 5 offices or the PSTN at large
US7386605B2 (en) 2002-11-05 2008-06-10 Enterasys Networks, Inc. Methods and apparatus for automated edge device configuration in a heterogeneous network
AU2003300900A1 (en) 2002-12-13 2004-07-09 Internap Network Services Corporation Topology aware route control
US7397795B2 (en) 2003-02-24 2008-07-08 Intel California Method and system for label-based packet forwarding among multiple forwarding elements
JP4354201B2 (ja) 2003-03-18 2009-10-28 富士通株式会社 不正アクセス対処システム、及び不正アクセス対処処理プログラム
US7452278B2 (en) 2003-05-09 2008-11-18 Microsoft Corporation Web access to secure data
US7373660B1 (en) 2003-08-26 2008-05-13 Cisco Technology, Inc. Methods and apparatus to distribute policy information
US7313629B1 (en) 2003-11-06 2007-12-25 Sprint Communications Company L.P. Method for altering link weights in a communication network within network parameters to provide traffic information for improved forecasting
US7903555B2 (en) 2003-12-17 2011-03-08 Intel Corporation Packet tracing
JP4398263B2 (ja) 2004-01-13 2010-01-13 富士通株式会社 経路設計方法
US7246256B2 (en) 2004-01-20 2007-07-17 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
US8145785B1 (en) 2004-02-13 2012-03-27 Habanero Holdings, Inc. Unused resource recognition in real time for provisioning and management of fabric-backplane enterprise servers
US7376122B2 (en) * 2004-02-23 2008-05-20 Microsoft Corporation System and method for link quality source routing
US7428214B2 (en) 2004-03-04 2008-09-23 Cisco Technology, Inc. Methods and devices for high network availability
US7496661B1 (en) 2004-03-29 2009-02-24 Packeteer, Inc. Adaptive, application-aware selection of differentiated network services
US7957266B2 (en) 2004-05-28 2011-06-07 Alcatel-Lucent Usa Inc. Efficient and robust routing independent of traffic pattern variability
US7561534B2 (en) 2004-06-30 2009-07-14 Alcatel-Lucent Usa Inc. Methods of network routing having improved resistance to faults affecting groups of links subject to common risks
US7684374B2 (en) 2004-07-28 2010-03-23 Broadcom Corporation Handling of multimedia call sessions and attachments using multi-network simulcasting
US8572234B2 (en) 2004-11-30 2013-10-29 Hewlett-Packard Development, L.P. MPLS VPN fault management using IGP monitoring system
US7936762B2 (en) 2004-12-09 2011-05-03 The Boeing Company QOS provisioning in a network having dynamic link states
US8250214B2 (en) 2004-12-20 2012-08-21 Vmware, Inc. System, method and computer program product for communicating with a private network
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
CA2590669A1 (en) 2004-12-31 2006-07-06 British Telecommunications Public Limited Company Method to run a connectionless network as a connection oriented network
EP1679835A1 (en) 2005-01-07 2006-07-12 Koninklijke KPN N.V. Method, device and system for predicting a data session time
US7395277B2 (en) 2005-01-25 2008-07-01 International Business Machines Corporation Content framework method
US20060171365A1 (en) 2005-02-02 2006-08-03 Utstarcom, Inc. Method and apparatus for L2TP dialout and tunnel switching
US9306831B2 (en) 2005-02-14 2016-04-05 Cisco Technology, Inc. Technique for efficient load balancing of TE-LSPs
US7710865B2 (en) 2005-02-25 2010-05-04 Cisco Technology, Inc. Disaster recovery for active-standby data center using route health and BGP
US7609619B2 (en) 2005-02-25 2009-10-27 Cisco Technology, Inc. Active-active data center using RHI, BGP, and IGP anycast for disaster recovery and load distribution
US7701851B2 (en) 2005-07-20 2010-04-20 Vidyo, Inc. System and method for the control of the transmission rate in packet-based digital communications
US7945678B1 (en) 2005-08-05 2011-05-17 F5 Networks, Inc. Link load balancer that controls a path for a client to connect to a resource
CN1909501A (zh) 2005-08-05 2007-02-07 华为技术有限公司 一种端到端业务快速收敛的方法和路由设备
US7426626B2 (en) 2005-08-23 2008-09-16 Qualcomm Incorporated TLB lock indicator
US8259566B2 (en) 2005-09-20 2012-09-04 Qualcomm Incorporated Adaptive quality of service policy for dynamic networks
US7920572B2 (en) 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
US7401198B2 (en) 2005-10-06 2008-07-15 Netapp Maximizing storage system throughput by measuring system performance metrics
US20070091794A1 (en) 2005-10-20 2007-04-26 Clarence Filsfils Method of constructing a backup path in an autonomous system
US20070115812A1 (en) 2005-11-22 2007-05-24 Silver Peak Systems, Inc. Sequence numbers for multiple quality of service levels
US7693047B2 (en) 2005-11-28 2010-04-06 Cisco Technology, Inc. System and method for PE-node protection
US20070162639A1 (en) 2005-11-30 2007-07-12 Chu Hsiao-Keng J TCP-offload-engine based zero-copy sockets
US7673042B2 (en) 2005-12-06 2010-03-02 Shunra Software, Ltd. System and method for comparing service levels to a service level objective
US8141156B1 (en) 2005-12-28 2012-03-20 At&T Intellectual Property Ii, L.P. Method and apparatus for mitigating routing misbehavior in a network
US7581022B1 (en) 2005-12-29 2009-08-25 At&T Corp. Method for tunable inter domain egress selection
CN101356783B (zh) 2006-01-12 2014-06-04 博通以色列研发公司 虚拟化网络环境中具有i/o共享的协议卸载和直接i/o的方法和系统
US7633956B1 (en) 2006-01-19 2009-12-15 Cisco Technology, Inc. System and method for providing support for multipoint L2VPN services in devices without local bridging
US7680925B2 (en) 2006-01-24 2010-03-16 Cisco Technology, Inc. Method and system for testing provisioned services in a network
US7633882B2 (en) 2006-02-02 2009-12-15 Eaton Corporation Ad-hoc network and method employing globally optimized routes for packets
US20150003240A1 (en) 2006-02-21 2015-01-01 Rockstar Consortium Us Lp Adaptive call routing in ip networks
US7873025B2 (en) 2006-02-23 2011-01-18 Cisco Technology, Inc. Network device that determines application-level network latency by monitoring option values in a transport layer message
US7729257B2 (en) 2006-03-30 2010-06-01 Alcatel-Lucent Usa Inc. Method and apparatus for link transmission scheduling for handling traffic variation in wireless mesh networks
US7865615B2 (en) 2006-05-08 2011-01-04 Cisco Technology, Inc. Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol
US7953020B2 (en) 2006-05-22 2011-05-31 At&T Intellectual Property Ii, L.P. Method for implementing and reporting one-way network measurements
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
DE102006032832A1 (de) 2006-07-14 2008-01-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Netzwerksystem und Verfahren zur Steuerung verteilter Speicher
WO2008011354A2 (en) * 2006-07-18 2008-01-24 Gordon Bolt Controlled incremental multi-protocol label switching (mpls) traffic engineering
US8566452B1 (en) 2006-08-03 2013-10-22 F5 Networks, Inc. Intelligent HTTP based load-balancing, persistence, and application traffic management of SSL VPN tunnels
US7907595B2 (en) 2006-09-29 2011-03-15 Avaya, Inc. Method and apparatus for learning endpoint addresses of IPSec VPN tunnels
KR100817798B1 (ko) 2006-10-20 2008-03-31 한국정보보호진흥원 인터넷 제어 메시지 프로토콜의 타임스탬프 기능을 이용한네트워크 링크 가용 대역폭 추정 방법
US7885180B2 (en) 2006-12-15 2011-02-08 Check Point Software Technologies Inc. Address resolution request mirroring
WO2008089305A2 (en) 2007-01-17 2008-07-24 Nortel Networks Limited Border gateway protocol procedures for mpls and layer-2 vpn using ethernet-based tunnels
US7830804B2 (en) 2007-01-17 2010-11-09 Sierra Wireless, Inc. Quality of service application programming interface over socket
CN100484037C (zh) 2007-03-14 2009-04-29 华为技术有限公司 设备跟踪系统、装置及方法
US8205246B2 (en) 2007-05-10 2012-06-19 Cisco Technology, Inc. User sensitive filtering of network application layer resources
US8111692B2 (en) 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
EP2208311B1 (en) 2007-06-19 2012-08-22 Sand Holdings, LLC An autonomous, automatic-reset/restore client and a monitoring system
US8094659B1 (en) 2007-07-09 2012-01-10 Marvell Israel (M.I.S.L) Ltd. Policy-based virtual routing and forwarding (VRF) assignment
US7974264B2 (en) 2007-07-13 2011-07-05 Michael Rothschild Method and a system for determining the spatial location of nodes in a wireless network
EP2201474B1 (en) 2007-10-03 2020-05-06 NTT Global Networks Incorporated Virtualized application acceleration infrastructure
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
CA2704958A1 (en) 2007-11-05 2009-05-14 Intelli-Check--Mobilisa Inc. Dynamic access control in response to flexible rules
US8667095B2 (en) 2007-11-09 2014-03-04 Cisco Technology, Inc. Local auto-configuration of network devices connected to multipoint virtual connections
US8503334B2 (en) 2007-12-14 2013-08-06 Level 3 Communications, Llc System and method for providing network services over shared virtual private network (VPN)
US9130968B2 (en) 2008-01-16 2015-09-08 Netapp, Inc. Clustered cache appliance system and methodology
GB2458154B (en) 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
US8681709B2 (en) 2008-03-27 2014-03-25 At&T Mobility Ii Llc Dynamic allocation of communications resources
US8170123B1 (en) 2008-04-15 2012-05-01 Desktone, Inc. Media acceleration for virtual computing services
US8964548B1 (en) 2008-04-17 2015-02-24 Narus, Inc. System and method for determining network application signatures using flow payloads
US8395989B2 (en) 2008-04-23 2013-03-12 Verizon Patent And Licensing Inc. Method and system for network backbone analysis
US8001413B2 (en) 2008-05-05 2011-08-16 Microsoft Corporation Managing cluster split-brain in datacenter service site failover
US8160063B2 (en) 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
US7962458B2 (en) 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US8125907B2 (en) 2008-06-12 2012-02-28 Talari Networks Incorporated Flow-based adaptive private network with multiple WAN-paths
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US8098663B2 (en) 2008-07-08 2012-01-17 Cisco Technology, Inc. Carrier's carrier without customer-edge-to-customer-edge border gateway protocol
US8243589B1 (en) 2008-08-14 2012-08-14 United Services Automobile Association (Usaa) Systems and methods for data center load balancing
JP5074327B2 (ja) 2008-08-21 2012-11-14 株式会社日立製作所 経路制御システム
US9715401B2 (en) 2008-09-15 2017-07-25 International Business Machines Corporation Securing live migration of a virtual machine from a secure virtualized computing environment, over an unsecured network, to a different virtualized computing environment
US7974219B2 (en) 2008-09-26 2011-07-05 Hewlett-Packard Development Company, L.P. Network troubleshooting using path topology
US8006129B2 (en) 2008-10-03 2011-08-23 Cisco Technology, Inc. Detecting and preventing the split-brain condition in redundant processing units
US9270595B2 (en) 2008-10-10 2016-02-23 Hewlett Packard Enterprise Development Lp Method and system for controlling a delay of packet processing using loop paths
US7978612B2 (en) 2008-10-13 2011-07-12 Cisco Technology, Inc. Two-hop relay for reducing distance vector routing information
US8116225B2 (en) 2008-10-31 2012-02-14 Venturi Wireless Method and apparatus for estimating channel bandwidth
US8155158B2 (en) 2008-11-12 2012-04-10 Patricio Humberto Saavedra System, apparatus and method for providing aggregated network connections
US9929964B2 (en) 2008-11-12 2018-03-27 Teloip Inc. System, apparatus and method for providing aggregation of connections with a secure and trusted virtual network overlay
US8442043B2 (en) 2008-12-29 2013-05-14 Cisco Technology, Inc. Service selection mechanism in service insertion architecture data plane
US20110302068A1 (en) 2010-06-04 2011-12-08 David Garrett Method and system for multi-tier billing for downloading content via a broadband gateway
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US8893009B2 (en) 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US8289997B2 (en) 2009-02-02 2012-10-16 Novara Technology, LLC Bandwidth sharing in a distributed wireless client application using inverse multiplexing termination
US7961599B2 (en) 2009-03-03 2011-06-14 Alcatel Lucent Pseudowire tunnel redundancy
US8094575B1 (en) 2009-03-24 2012-01-10 Juniper Networks, Inc. Routing protocol extension for network acceleration service-aware path selection within computer networks
JP5391777B2 (ja) 2009-03-30 2014-01-15 日本電気株式会社 経路選択方法及び経路選択システム並びにそれに用いるルータ
US8582502B2 (en) 2009-06-04 2013-11-12 Empire Technology Development Llc Robust multipath routing
US8199753B2 (en) 2009-06-05 2012-06-12 Juniper Networks, Inc. Forwarding frames in a computer network using shortest path bridging
US9069727B2 (en) 2011-08-12 2015-06-30 Talari Networks Incorporated Adaptive private network with geographically redundant network control nodes
US10785117B2 (en) 2009-06-11 2020-09-22 Talari Networks Incorporated Methods and apparatus for configuring a standby WAN link in an adaptive private network
US9210065B2 (en) 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization
US8489744B2 (en) 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US8885667B2 (en) 2009-07-10 2014-11-11 Time Warner Cable Enterprises Llc Destination based methodology for managing network resources
US8744807B2 (en) 2009-08-10 2014-06-03 Siemens Aktiengesellschaft Scalable and extensible framework for storing and analyzing sensor data
JP5398410B2 (ja) 2009-08-10 2014-01-29 アラクサラネットワークス株式会社 ネットワークシステム,パケット転送装置,パケット転送方法及びコンピュータプログラム
US8346808B2 (en) 2009-08-12 2013-01-01 Westell Technologies, Inc. System and method of accessing resources in a computer network
US8787380B2 (en) * 2009-08-20 2014-07-22 Nec Europe Ltd. Method for controlling the traffic within a network structure and a network structure
CN102025591B (zh) 2009-09-18 2013-12-18 中兴通讯股份有限公司 虚拟专用网络的实现方法及系统
US8619779B2 (en) 2009-09-30 2013-12-31 Alcatel Lucent Scalable architecture for enterprise extension in a cloud topology
CN102035814B (zh) 2009-09-30 2014-08-27 瞻博网络公司 通过vpn ipsec隧道确保服务质量
IN2012DN02858A (zh) 2009-10-13 2015-07-24 Ericsson Telefon Ab L M
US8260830B2 (en) 2009-11-09 2012-09-04 Middlecamp William J Adapting a timer bounded arbitration protocol
US8488491B2 (en) 2009-11-12 2013-07-16 Cisco Technology, Inc. Compressed virtual routing and forwarding in a communications network
JP5392049B2 (ja) 2009-12-11 2014-01-22 富士通株式会社 経路制御方法、通信システム、及び通信装置
US8422379B2 (en) 2009-12-15 2013-04-16 At&T Intellectual Property I, Lp Method of simple and efficient failure resilient load balancing
US20110153909A1 (en) 2009-12-22 2011-06-23 Yao Zu Dong Efficient Nested Virtualization
US8224971B1 (en) 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
US8452932B2 (en) 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
US9378473B2 (en) 2010-02-17 2016-06-28 Alexander Wolfe Content and application delivery network aggregation
CN102783089B (zh) 2010-03-10 2017-06-06 瑞典爱立信有限公司 用于估计子路径的可用带宽的方法
US8588066B2 (en) 2010-03-26 2013-11-19 Citrix Systems, Inc. Systems and methods for link load balancing on a multi-core device
US8665722B2 (en) 2010-03-29 2014-03-04 Ted Szymanski Method to achieve bounded buffer sizes and quality of service guarantees in the internet network
CA2796431C (en) 2010-04-15 2018-04-10 Vonage Network, Llc Systems and methods of improving the quality of voip communications
US9300576B2 (en) 2010-05-03 2016-03-29 Pluribus Networks Inc. Methods, systems, and fabrics implementing a distributed network operating system
US8724456B1 (en) 2010-05-19 2014-05-13 Juniper Networks, Inc. Network path selection for multi-homed edges to ensure end-to-end resiliency
US8799504B2 (en) 2010-07-02 2014-08-05 Netgear, Inc. System and method of TCP tunneling
US8705530B2 (en) 2010-07-29 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to implement multipoint and replicated communication paths using upstream and recursive downstream label mappings
US8989185B2 (en) 2010-08-05 2015-03-24 Thomson Licensing Method and apparatus for converting a multicast session to a unicast session
US9323561B2 (en) 2010-08-13 2016-04-26 International Business Machines Corporation Calibrating cloud computing environments
US9215175B2 (en) 2010-09-09 2015-12-15 Nec Corporation Computer system including controller and plurality of switches and communication method in computer system
WO2012038722A1 (en) 2010-09-24 2012-03-29 Bae Systems Plc Admission control in a self aware network
US8547835B2 (en) 2010-10-21 2013-10-01 Telefonaktiebolaget L M Ericsson (Publ) Controlling IP flows to bypass a packet data network gateway using multi-path transmission control protocol connections
US8589558B2 (en) 2010-11-29 2013-11-19 Radware, Ltd. Method and system for efficient deployment of web applications in a multi-datacenter system
WO2012078142A1 (en) 2010-12-07 2012-06-14 Empire Technology Development Llc Audio fingerprint differences for end-to-end quality of experience measurement
US8385225B1 (en) 2010-12-14 2013-02-26 Google Inc. Estimating round trip time of a network path
US9031059B2 (en) 2010-12-17 2015-05-12 Verizon Patent And Licensing Inc. Fixed mobile convergence and voice call continuity using a mobile device/docking station
US9330162B2 (en) 2010-12-21 2016-05-03 Telefonaktiebolaget L M Ericsson Method and apparatus for providing temporal context for recommending content for consumption by a user device
US8806482B1 (en) 2011-01-06 2014-08-12 Amazon Technologies, Inc. Interaction with a virtual network
US9009217B1 (en) 2011-01-06 2015-04-14 Amazon Technologies, Inc. Interaction with a virtual network
US9135037B1 (en) 2011-01-13 2015-09-15 Google Inc. Virtual network protocol
US10637782B2 (en) 2011-03-23 2020-04-28 Hughes Network Systems, Llc System and method for policy-based multipath WAN transports for improved quality of service over broadband networks
US8462780B2 (en) 2011-03-30 2013-06-11 Amazon Technologies, Inc. Offload device-based stateless packet processing
US8774213B2 (en) 2011-03-30 2014-07-08 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
US8661295B1 (en) 2011-03-31 2014-02-25 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US20120266026A1 (en) 2011-04-18 2012-10-18 Ramya Malanai Chikkalingaiah Detecting and diagnosing misbehaving applications in virtualized computing systems
WO2012154506A1 (en) 2011-05-06 2012-11-15 Interdigital Patent Holdings, Inc. Method and apparatus for bandwidth aggregation for ip flow
US9253252B2 (en) 2011-05-06 2016-02-02 Citrix Systems, Inc. Systems and methods for cloud bridging between intranet resources and cloud resources
US9054999B2 (en) 2012-05-09 2015-06-09 International Business Machines Corporation Static TRILL routing
US8873398B2 (en) 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane
US9154327B1 (en) 2011-05-27 2015-10-06 Cisco Technology, Inc. User-configured on-demand virtual layer-2 network for infrastructure-as-a-service (IaaS) on a hybrid cloud network
JP5672154B2 (ja) 2011-05-31 2015-02-18 株式会社バッファロー ネットワークシステム、ゲートウェイ装置、経路決定方法、プログラム、および記憶媒体
EP2716132A2 (en) 2011-06-02 2014-04-09 Interdigital Patent Holdings, Inc. Methods, apparatus, and systems for managing converged gateway communications
US9304798B2 (en) 2011-06-07 2016-04-05 Hewlett Packard Enterprise Development Lp Scalable multi-tenant network architecture for virtualized datacenters
US20120317270A1 (en) 2011-06-10 2012-12-13 Alcatel-Lucent Usa Inc. Intelligent presence cost management based upon congestion status and subscriber profile
US20120331160A1 (en) 2011-06-22 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Multi-path transmission control protocol proxy service
US8804745B1 (en) 2011-06-27 2014-08-12 Amazon Technologies, Inc. Virtualization mapping
US9100305B2 (en) 2011-07-12 2015-08-04 Cisco Technology, Inc. Efficient admission control for low power and lossy networks
KR101607180B1 (ko) 2011-08-17 2016-03-29 후아웨이 테크놀러지 컴퍼니 리미티드 패킷 재조립 및 재배열 방법, 장치 및 시스템
JP5870192B2 (ja) 2011-08-17 2016-02-24 ニシラ, インコーポレイテッド 論理l3ルーティング
US8830835B2 (en) 2011-08-17 2014-09-09 Nicira, Inc. Generating flows for managed interconnection switches
US8630291B2 (en) 2011-08-22 2014-01-14 Cisco Technology, Inc. Dynamic multi-path forwarding for shared-media communication networks
CA2750345C (en) 2011-08-24 2013-06-18 Guest Tek Interactive Entertainment Ltd. Method of allocating bandwidth between zones according to user load and bandwidth management system thereof
US10044678B2 (en) 2011-08-31 2018-08-07 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks with virtual private networks
US8797874B2 (en) 2011-09-09 2014-08-05 Futurewei Technologies, Inc. Apparatus and system for packet routing and forwarding in an interior network
US8811212B2 (en) 2012-02-22 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
CN102377630A (zh) 2011-10-13 2012-03-14 华为技术有限公司 基于流量工程隧道的虚拟专用网络实现方法及系统
US9923826B2 (en) 2011-10-14 2018-03-20 Citrix Systems, Inc. Systems and methods for dynamic adaptation of network accelerators
US9300548B2 (en) 2011-10-14 2016-03-29 Alcatel Lucent Providing dynamic reliability and security in communications environments
US20130103834A1 (en) 2011-10-21 2013-04-25 Blue Coat Systems, Inc. Multi-Tenant NATting for Segregating Traffic Through a Cloud Service
US8700683B2 (en) 2011-10-24 2014-04-15 Nokia Corporation Method and apparatus for providing a key-value based storage interface
US8745177B1 (en) 2011-11-01 2014-06-03 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
CN103095543B (zh) 2011-11-07 2016-10-05 华为技术有限公司 用于域间虚拟专用网络对接的方法和设备
KR20130050156A (ko) 2011-11-07 2013-05-15 한국전자통신연구원 가상 주소 공간 전환 장치
US8769089B2 (en) 2011-11-15 2014-07-01 International Business Machines Corporation Distributed application using diagnostic heartbeating
US8874974B2 (en) 2011-11-15 2014-10-28 International Business Machines Corporation Synchronizing a distributed communication system using diagnostic heartbeating
US8756453B2 (en) 2011-11-15 2014-06-17 International Business Machines Corporation Communication system with diagnostic capabilities
US20130142201A1 (en) 2011-12-02 2013-06-06 Microsoft Corporation Connecting on-premise networks with public clouds
CN103166824B (zh) 2011-12-13 2016-09-28 华为技术有限公司 一种互联方法、装置和系统
US9411655B2 (en) 2011-12-30 2016-08-09 Dell Products, Lp System and method for detection and deployment of virtualization capable assets in a managed datacenter
CN102413061B (zh) 2011-12-31 2015-04-15 杭州华三通信技术有限公司 一种报文传输方法及设备
US8855071B1 (en) 2012-01-04 2014-10-07 Juniper Networks, Inc. Handling errors in subscriber session management within mobile networks
US20130185729A1 (en) 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9106555B2 (en) 2012-01-25 2015-08-11 Cisco Technology, Inc. Troubleshooting routing topology based on a reference topology
US8660129B1 (en) 2012-02-02 2014-02-25 Cisco Technology, Inc. Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks
CN104106242B (zh) 2012-02-24 2017-06-13 华为技术有限公司 分片网络中委托转发和地址解析
US20130223226A1 (en) 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Providing a Split Data Plane in a Flow-Based Switching Device
US20130238782A1 (en) 2012-03-09 2013-09-12 Alcatel-Lucent Usa Inc. Method and apparatus for identifying an application associated with an ip flow using dns data
US8730793B2 (en) 2012-03-16 2014-05-20 Avaya Inc. Method and apparatus providing network redundancy and high availability to remote network nodes
US8892936B2 (en) 2012-03-20 2014-11-18 Symantec Corporation Cluster wide consistent detection of interconnect failures
US8885562B2 (en) 2012-03-28 2014-11-11 Telefonaktiebolaget L M Ericsson (Publ) Inter-chassis redundancy with coordinated traffic direction
US8730806B2 (en) 2012-04-03 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Congestion control and resource allocation in split architecture networks
US8856339B2 (en) 2012-04-04 2014-10-07 Cisco Technology, Inc. Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment
US8923149B2 (en) 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
US9996370B1 (en) 2012-04-18 2018-06-12 Open Invention Network Llc Page swapping in virtual machine environment
US9203784B2 (en) 2012-04-24 2015-12-01 Cisco Technology, Inc. Distributed virtual switch architecture for a hybrid cloud
US9071541B2 (en) 2012-04-25 2015-06-30 Juniper Networks, Inc. Path weighted equal-cost multipath
US9389920B2 (en) 2012-05-02 2016-07-12 Futurewei Technologies, Inc. Intelligent data center cluster selection
JP5991013B2 (ja) 2012-05-08 2016-09-14 富士通株式会社 基地局及び無線リソース割当て方法
US9379971B2 (en) 2012-05-11 2016-06-28 Simula Inovation AS Method and apparatus for determining paths between source/destination pairs
US9602348B2 (en) 2012-05-15 2017-03-21 Telefonaktiebolaget Lm Ericsson Methods and apparatus for detecting and handling split brain issues in a link aggregation group
WO2013173973A1 (zh) 2012-05-22 2013-11-28 华为技术有限公司 网络通信方法和装置
TWI482469B (zh) 2012-05-23 2015-04-21 Gemtek Technology Co Ltd 路由裝置
US10063443B2 (en) 2012-05-29 2018-08-28 Openet Telecom Ltd. System and method for managing VoLTE session continuity information using logical scalable units
US9898317B2 (en) 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US8959185B2 (en) 2012-06-06 2015-02-17 Juniper Networks, Inc. Multitenant server for virtual networks within datacenter
US9647938B2 (en) 2012-06-11 2017-05-09 Radware, Ltd. Techniques for providing value-added services in SDN-based networks
US9729424B2 (en) 2012-06-11 2017-08-08 Futurewei Technologies, Inc. Defining data flow paths in software-defined networks with application-layer traffic optimization
US10031782B2 (en) 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US9100329B1 (en) 2012-06-28 2015-08-04 Juniper Networks, Inc. Providing non-interrupt failover using a link aggregation mechanism
US9203764B2 (en) 2012-07-11 2015-12-01 Telefonaktiebolaget L M Ericsson (Publ) Quality of experience enhancement through feedback for adjusting the quality of service in communication networks
US9819658B2 (en) 2012-07-12 2017-11-14 Unisys Corporation Virtual gateways for isolating virtual machines
WO2014027989A1 (en) 2012-08-13 2014-02-20 Unify Gmbh & Co. Kg Method and apparatus for indirectly assessing a status of an active entity
US9210079B2 (en) 2012-08-14 2015-12-08 Vmware, Inc. Method and system for virtual and physical network integration
US9563480B2 (en) 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US9331940B2 (en) 2012-08-28 2016-05-03 Alcatel Lucent System and method providing distributed virtual routing and switching (DVRS)
CN103227843B (zh) 2012-08-31 2016-05-04 杭州华三通信技术有限公司 一种物理链路地址管理方法及装置
CN103685026A (zh) 2012-08-31 2014-03-26 中兴通讯股份有限公司 一种虚拟网络的接入方法和系统
US9807613B2 (en) 2012-09-06 2017-10-31 Dell Products, Lp Collaborative method and system to improve carrier network policies with context aware radio communication management
US9106548B2 (en) 2012-09-11 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Network fault localization
WO2014052878A1 (en) 2012-09-28 2014-04-03 Cornell University System and methods for improved network routing
CN103731407B (zh) 2012-10-12 2017-08-11 华为技术有限公司 Ike报文协商的方法及系统
US9917865B2 (en) 2012-10-16 2018-03-13 Citrix Systems, Inc. Systems and methods for bridging between public and private clouds through multilevel API integration
US20140112171A1 (en) 2012-10-23 2014-04-24 Mr. Babak PASDAR Network system and method for improving routing capability
US9223635B2 (en) 2012-10-28 2015-12-29 Citrix Systems, Inc. Network offering in cloud computing environment
US9497250B2 (en) 2012-10-29 2016-11-15 International Business Machines Corporation Runtime grouping of tuples in a streaming application
US9930011B1 (en) 2012-11-30 2018-03-27 United Services Automobile Association (Usaa) Private network request forwarding
US9417922B2 (en) 2012-12-03 2016-08-16 Cutting Edge Consulting Associates, Inc. Systems and methods for protecting an identity in network communications
CN103688489B (zh) 2012-12-03 2017-02-22 华为技术有限公司 一种策略处理的方法及网络设备
US9185114B2 (en) 2012-12-05 2015-11-10 Symantec Corporation Methods and systems for secure storage segmentation based on security context in a virtual environment
KR20140073243A (ko) 2012-12-06 2014-06-16 삼성전자주식회사 Http 메시지 처리 방법 및 장치
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US10057183B2 (en) 2012-12-07 2018-08-21 Hewlett Packard Enterprise Development Lp Network resource management
US20140164718A1 (en) 2012-12-07 2014-06-12 Open Kernel Labs, Inc. Methods and apparatus for sharing memory between multiple processes of a virtual machine
US9055000B1 (en) 2012-12-17 2015-06-09 Juniper Networks, Inc. Distributed network subnet
US9515899B2 (en) 2012-12-19 2016-12-06 Veritas Technologies Llc Providing optimized quality of service to prioritized virtual machines and applications based on quality of shared resources
US9053058B2 (en) 2012-12-20 2015-06-09 Apple Inc. QoS inband upgrade
US9563423B1 (en) 2012-12-21 2017-02-07 EMC IP Holding Company LLC System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9203748B2 (en) 2012-12-24 2015-12-01 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
US9680870B2 (en) 2012-12-28 2017-06-13 Verizon Patent And Licensing Inc. Software-defined networking gateway
WO2014108173A1 (en) 2013-01-08 2014-07-17 Telefonaktiebolaget L M Ericsson (Publ) Distributed traffic inspection in a telecommunications network
US9621460B2 (en) 2013-01-14 2017-04-11 Versa Networks, Inc. Connecting multiple customer sites over a wide area network using an overlay network
JP6024474B2 (ja) 2013-01-23 2016-11-16 富士通株式会社 マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法
EP2763362A1 (en) 2013-01-31 2014-08-06 Thomson Licensing A method for connecting a multi-homed and MPTCP capable client with a regular TCP server
US9060025B2 (en) 2013-02-05 2015-06-16 Fortinet, Inc. Cloud-based security policy configuration
EP2945320B1 (en) 2013-02-06 2018-01-31 Huawei Technologies Co., Ltd. Method, device and routing system for data transmission of network virtualization
US9225647B2 (en) 2013-02-11 2015-12-29 Vmware, Inc. Distributed deep packet inspection
WO2014127280A2 (en) 2013-02-14 2014-08-21 Huawei Technologies Co., Ltd. System and method for network resource allocation considering user experience, satisfaction and operator interest
JP5953421B2 (ja) 2013-02-25 2016-07-20 株式会社日立製作所 仮想サーバおよび非仮想サーバ混在環境におけるテナントネットワーク構成の管理方法
US9699034B2 (en) 2013-02-26 2017-07-04 Zentera Systems, Inc. Secure cloud fabric to connect subnets in different network domains
US10348767B1 (en) 2013-02-26 2019-07-09 Zentera Systems, Inc. Cloud over IP session layer network
US9525564B2 (en) 2013-02-26 2016-12-20 Zentera Systems, Inc. Secure virtual network platform for enterprise hybrid cloud computing environments
US9065734B2 (en) 2013-03-08 2015-06-23 Telefonaktiebolaget L M Ericsson (Publ) Network bandwidth allocation in multi-tenancy cloud computing networks
US9306949B1 (en) 2013-03-12 2016-04-05 Amazon Technologies, Inc. Configure interconnections between networks hosted in datacenters
US20140269690A1 (en) 2013-03-13 2014-09-18 Qualcomm Incorporated Network element with distributed flow tables
WO2014153233A1 (en) 2013-03-14 2014-09-25 Google Inc. Systems and methods for wireless backhaul transport
WO2014153237A1 (en) 2013-03-14 2014-09-25 Google Inc. Optimizing packet/frame forwarding or routing in a wireless backhaul transport system
US9477500B2 (en) 2013-03-15 2016-10-25 Avi Networks Managing and controlling a distributed network service platform
US9075771B1 (en) 2013-03-15 2015-07-07 Symantec Corporation Techniques for managing disaster recovery sites
US9628328B2 (en) 2013-03-15 2017-04-18 Rackspace Us, Inc. Network controller with integrated resource management capability
US9450817B1 (en) 2013-03-15 2016-09-20 Juniper Networks, Inc. Software defined network controller
US8818892B1 (en) * 2013-03-15 2014-08-26 Palantir Technologies, Inc. Prioritizing data clusters with customizable scoring strategies
US9354983B1 (en) 2013-03-15 2016-05-31 Entreda, Inc. Integrated it service provisioning and management
US9832205B2 (en) 2013-03-15 2017-11-28 International Business Machines Corporation Cross provider security management functionality within a cloud service brokerage platform
WO2014147197A1 (en) 2013-03-20 2014-09-25 Wolting Holding B.V. Compiler for and method for software defined networks
EP2784996A1 (en) 2013-03-27 2014-10-01 British Telecommunications public limited company Deadline driven content delivery
JP5977706B2 (ja) 2013-03-29 2016-08-24 株式会社日立ソリューションズ データ交換システム、及び仮想プライベートクラウド間でデータ交換を可能とする環境を設定する方法
US9432245B1 (en) 2013-04-16 2016-08-30 Amazon Technologies, Inc. Distributed load balancer node architecture
US10021027B2 (en) 2013-04-30 2018-07-10 Comcast Cable Communications, Llc Network validation with dynamic tunneling
US20140337674A1 (en) 2013-05-10 2014-11-13 Nec Laboratories America, Inc. Network Testing
US20140355441A1 (en) 2013-05-29 2014-12-04 Ashok Kumar Jain Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone
JP6310066B2 (ja) 2013-05-31 2018-04-11 テレコム・イタリア・エッセ・ピー・アー パケット交換通信ネットワークのリンクのパフォーマンス測定
CN104219147B (zh) 2013-06-05 2018-10-16 中兴通讯股份有限公司 边缘设备的vpn实现处理方法及装置
US9529692B2 (en) 2013-06-07 2016-12-27 Apple Inc. Memory management tools
US9471356B2 (en) 2013-06-12 2016-10-18 Dell Products L.P. Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation
US9264289B2 (en) 2013-06-27 2016-02-16 Microsoft Technology Licensing, Llc Endpoint data centers of different tenancy sets
US9648547B1 (en) 2013-06-28 2017-05-09 Google Inc. Self-organizing topology management
US9608962B1 (en) 2013-07-09 2017-03-28 Pulse Secure, Llc Application-aware connection for network access client
US9722815B2 (en) 2013-07-10 2017-08-01 Sunil Mukundan Edge-gateway multipath method and system
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US9197529B2 (en) 2013-07-12 2015-11-24 Nicira, Inc. Tracing network packets through logical and physical networks
US10003536B2 (en) 2013-07-25 2018-06-19 Grigore Raileanu System and method for managing bandwidth usage rates in a packet-switched network
US9979622B2 (en) 2013-07-30 2018-05-22 Cisco Technology, Inc. Elastic WAN optimization cloud services
US9203781B2 (en) 2013-08-07 2015-12-01 Cisco Technology, Inc. Extending virtual station interface discovery protocol (VDP) and VDP-like protocols for dual-homed deployments in data center environments
US9641551B1 (en) 2013-08-13 2017-05-02 vIPtela Inc. System and method for traversing a NAT device with IPSEC AH authentication
US9311140B2 (en) 2013-08-13 2016-04-12 Vmware, Inc. Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses
US9338223B2 (en) 2013-08-14 2016-05-10 Verizon Patent And Licensing Inc. Private cloud topology management system
CN103703724B (zh) 2013-08-15 2015-06-10 华为技术有限公司 一种资源发放方法
US9559951B1 (en) 2013-08-29 2017-01-31 Cisco Technology, Inc. Providing intra-subnet and inter-subnet data center connectivity
US9875355B1 (en) 2013-09-17 2018-01-23 Amazon Technologies, Inc. DNS query analysis for detection of malicious software
CN105745886B (zh) 2013-09-23 2019-06-04 迈克菲有限公司 在两个实体之间提供快速路径
US20150089628A1 (en) 2013-09-24 2015-03-26 Michael Lang System and Method for Provision of a Router / Firewall in a Network
US20150088942A1 (en) 2013-09-25 2015-03-26 Westell Technologies, Inc. Methods and Systems for Providing File Services
US9379981B1 (en) 2013-09-27 2016-06-28 Google Inc. Flow level dynamic load balancing
US9461969B2 (en) 2013-10-01 2016-10-04 Racemi, Inc. Migration of complex applications within a hybrid cloud environment
US9635580B2 (en) 2013-10-08 2017-04-25 Alef Mobitech Inc. Systems and methods for providing mobility aspects to applications in the cloud
US9628290B2 (en) 2013-10-09 2017-04-18 International Business Machines Corporation Traffic migration acceleration for overlay virtual environments
US20160212773A1 (en) 2013-10-10 2016-07-21 Telefonaktiebolaget L M Ericsson (Publ) Pool of network gateways
US9361336B2 (en) 2013-10-11 2016-06-07 Vmware, Inc. Methods and apparatus to manage virtual machines
US9608917B1 (en) 2013-10-21 2017-03-28 Google Inc. Systems and methods for achieving high network link utilization
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
JP2015095784A (ja) 2013-11-12 2015-05-18 富士通株式会社 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム
US9912582B2 (en) 2013-11-18 2018-03-06 Telefonaktiebolaget Lm Ericsson (Publ) Multi-tenant isolation in a cloud environment using software defined networking
DE102013113023A1 (de) 2013-11-25 2015-05-28 Reiner Kunz Innovative Operationsleuchte für Operationsräume, welche zu einem Datenaustausch mit anderen Operationsraum-Geräten in der Lage ist
US9231871B2 (en) 2013-11-25 2016-01-05 Versa Networks, Inc. Flow distribution table for packet flow load balancing
US9813343B2 (en) 2013-12-03 2017-11-07 Akamai Technologies, Inc. Virtual private network (VPN)-as-a-service with load-balanced tunnel endpoints
TWI528755B (zh) 2013-12-06 2016-04-01 財團法人工業技術研究院 軟體定義網路中用於延遲量測之網路控制器、延遲量測系統及延遲量測方法
US9461923B2 (en) 2013-12-06 2016-10-04 Algoblu Holdings Limited Performance-based routing in software-defined network (SDN)
US9288135B2 (en) 2013-12-13 2016-03-15 International Business Machines Corporation Managing data flows in software-defined network using network interface card
US9612854B2 (en) 2013-12-18 2017-04-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method for virtualizing a remote device
US9363178B2 (en) 2013-12-18 2016-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
US9467478B1 (en) 2013-12-18 2016-10-11 vIPtela Inc. Overlay management protocol for secure routing based on an overlay network
US20150189009A1 (en) 2013-12-30 2015-07-02 Alcatel-Lucent Canada Inc. Distributed multi-level stateless load balancing
US9450852B1 (en) 2014-01-03 2016-09-20 Juniper Networks, Inc. Systems and methods for preventing split-brain scenarios in high-availability clusters
US10097372B2 (en) 2014-01-09 2018-10-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments
JP6328432B2 (ja) 2014-01-16 2018-05-23 クラリオン株式会社 ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法
US9436813B2 (en) 2014-02-03 2016-09-06 Ca, Inc. Multi-tenancy support for a product that does not support multi-tenancy
US20150257081A1 (en) 2014-02-04 2015-09-10 Architecture Technology, Inc. Hybrid autonomous network and router for communication between heterogeneous subnets
US9825822B1 (en) 2014-02-13 2017-11-21 Amazon Technologies, Inc. Group networking in an overlay network
US20150236962A1 (en) 2014-02-14 2015-08-20 Exinda Networks PTY, Ltd. of Australia Method and system for using dynamic bandwidth detection to drive quality of service control refinement
US8989199B1 (en) 2014-02-24 2015-03-24 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
JP5858205B1 (ja) 2014-03-07 2016-02-10 日本電気株式会社 ネットワークシステムと拠点間ネットワーク連携制御装置及びネットワーク制御方法並びにプログラム
US9479481B2 (en) 2014-03-14 2016-10-25 Soha Systems, Inc. Secure scalable multi-tenant application delivery system and associated method
US9479424B2 (en) 2014-03-18 2016-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Optimized approach to IS-IS LFA computation with parallel links
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9401851B2 (en) 2014-03-28 2016-07-26 Verizon Patent And Licensing Inc. Network management system
US9787559B1 (en) 2014-03-28 2017-10-10 Juniper Networks, Inc. End-to-end monitoring of overlay networks providing virtualized network services
US9807004B2 (en) 2014-04-01 2017-10-31 Google Inc. System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security
US10846257B2 (en) 2014-04-01 2020-11-24 Endance Technology Limited Intelligent load balancing and high speed intelligent network recorders
US9226156B2 (en) 2014-04-28 2015-12-29 Stad.Io, Llc Authenticated registration of participants for web access at live events
US9407541B2 (en) 2014-04-24 2016-08-02 International Business Machines Corporation Propagating a flow policy by control packet in a software defined network (SDN) based network
US20150317169A1 (en) 2014-05-04 2015-11-05 Midfin Systems Inc. Constructing and operating high-performance unified compute infrastructure across geo-distributed datacenters
RU2667039C2 (ru) 2014-05-12 2018-09-13 Хуавэй Текнолоджиз Ко., Лтд. Частичная замена коммутатора программно-конфигурируемой сети в ip сетях
US9455922B2 (en) 2014-05-19 2016-09-27 Intel Corporation Technologies for moderating packet ingress interrupt generation
EP2966815A4 (en) 2014-05-29 2016-04-13 Huawei Tech Co Ltd PACKET PROCESSING AND VXLAN GATEWAY
US9961545B2 (en) 2014-06-03 2018-05-01 Qualcomm Incorporated Systems, methods, and apparatus for authentication during fast initial link setup
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9866487B2 (en) 2014-06-05 2018-01-09 KEMP Technologies Inc. Adaptive load balancer and methods for intelligent data traffic steering
US9413659B2 (en) 2014-06-11 2016-08-09 Cisco Technology, Inc. Distributed network address and port translation for migrating flows between service chains in a network environment
US10062045B2 (en) 2014-06-12 2018-08-28 International Business Machines Corporation Project workspace prioritization
US9350710B2 (en) 2014-06-20 2016-05-24 Zscaler, Inc. Intelligent, cloud-based global virtual private network systems and methods
US10019278B2 (en) 2014-06-22 2018-07-10 Cisco Technology, Inc. Framework for network technology agnostic multi-cloud elastic extension and isolation
US10075329B2 (en) 2014-06-25 2018-09-11 A 10 Networks, Incorporated Customizable high availability switchover control of application delivery controllers
US9634936B2 (en) 2014-06-30 2017-04-25 Juniper Networks, Inc. Service chaining across multiple networks
US9876723B2 (en) 2014-12-21 2018-01-23 Pismo Labs Technology Limited Methods and systems for evaluating network performance of an aggregated connection
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US20160035183A1 (en) 2014-07-31 2016-02-04 Wms Gaming Inc. Electronic gaming machine service bus
CN105323136B (zh) 2014-07-31 2020-01-10 中兴通讯股份有限公司 信息的处理方法及装置
WO2016069077A1 (en) 2014-08-03 2016-05-06 Hughes Network Systems, Llc Centralized ground-based route determination and traffic engineering for software defined satellite communications networks
US10609159B2 (en) 2014-08-04 2020-03-31 Microsoft Technology Licensing, Llc Providing higher workload resiliency in clustered systems based on health heuristics
US9665432B2 (en) 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9356943B1 (en) 2014-08-07 2016-05-31 Symantec Corporation Systems and methods for performing security analyses on network traffic in cloud-based environments
CN105684382A (zh) 2014-08-11 2016-06-15 华为技术有限公司 报文的控制方法、交换机及控制器
US10038629B2 (en) 2014-09-11 2018-07-31 Microsoft Technology Licensing, Llc Virtual machine migration using label based underlay network forwarding
US9336040B2 (en) 2014-09-15 2016-05-10 Intel Corporation Techniques for remapping sessions for a multi-threaded application
CN107078921A (zh) 2014-09-16 2017-08-18 云端吉尼斯公司 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统
EP3198931B1 (en) 2014-09-23 2020-10-21 Nokia Solutions and Networks Oy Transmitting data based on flow input from base station
US9935829B1 (en) 2014-09-24 2018-04-03 Amazon Technologies, Inc. Scalable packet processing service
US10038601B1 (en) 2014-09-26 2018-07-31 Amazon Technologies, Inc. Monitoring a multi-tier network fabric
US9825905B2 (en) 2014-10-13 2017-11-21 Vmware Inc. Central namespace controller for multi-tenant cloud environments
US9723065B2 (en) 2014-10-13 2017-08-01 Vmware, Inc. Cross-cloud object mapping for hybrid clouds
US10931478B2 (en) 2014-10-14 2021-02-23 Mido Holdings Ltd. System and method for distributed flow state P2P setup in virtual networks
US20160164886A1 (en) 2014-10-17 2016-06-09 Computer Sciences Corporation Systems and methods for threat analysis of computer data
US10594659B2 (en) 2014-11-07 2020-03-17 British Telecommunications Public Limited Company Method and system for secure communication with shared cloud services
US9590902B2 (en) 2014-11-10 2017-03-07 Juniper Networks, Inc. Signaling aliasing capability in data centers
KR102233645B1 (ko) 2014-11-11 2021-03-30 한국전자통신연구원 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법
US9930013B2 (en) 2014-11-14 2018-03-27 Cisco Technology, Inc. Control of out-of-band multipath connections
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US10135956B2 (en) 2014-11-20 2018-11-20 Akamai Technologies, Inc. Hardware-based packet forwarding for the transport layer
US9602544B2 (en) 2014-12-05 2017-03-21 Viasat, Inc. Methods and apparatus for providing a secure overlay network between clouds
US9560018B2 (en) 2014-12-08 2017-01-31 Cisco Technology, Inc. Autonomic locator/identifier separation protocol for secure hybrid cloud extension
EP3238401B1 (en) 2014-12-23 2019-02-20 Huawei Technologies Co., Ltd. Network extended tcp splicing
EP3238402B1 (en) 2014-12-23 2019-11-27 Telecom Italia S.p.A. Method and client apparatus for dynamic rate adaptation of a stream of multimedia contents in a wireless communication network
US9747249B2 (en) 2014-12-29 2017-08-29 Nicira, Inc. Methods and systems to achieve multi-tenancy in RDMA over converged Ethernet
US20160192403A1 (en) 2014-12-30 2016-06-30 Qualcomm Incorporated Mechanism to provide lte voice, internet and embms services over ethernet for connected home architecture
US9787573B2 (en) 2014-12-31 2017-10-10 Juniper Networks, Inc. Fast convergence on link failure in multi-homed Ethernet virtual private networks
CN105812260B (zh) 2014-12-31 2019-03-19 华为技术有限公司 一种控制mac地址转发表发送的方法、装置及系统
US20160197834A1 (en) 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for traffic engineering between diverse cloud providers
US20160197835A1 (en) 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for virtualization of cloud networking components
US20160198003A1 (en) * 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for sharing dedicated public cloud connectivity
US10257021B2 (en) 2015-01-12 2019-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for router maintenance
US10061664B2 (en) 2015-01-15 2018-08-28 Cisco Technology, Inc. High availability and failover
US9722906B2 (en) 2015-01-23 2017-08-01 Cisco Technology, Inc. Information reporting for anomaly detection
US9819565B2 (en) 2015-01-26 2017-11-14 Ciena Corporation Dynamic policy engine for multi-layer network management
KR102029849B1 (ko) 2015-01-27 2019-10-08 노키아 솔루션스 앤드 네트웍스 오와이 트래픽 흐름 모니터링
WO2016123314A1 (en) 2015-01-28 2016-08-04 Hewlett-Packard Development Company, L.P. Data loop determination in a software-defined network
CN115834534A (zh) 2015-01-28 2023-03-21 安博科技有限公司 用于全局虚拟网络的系统
US10313428B2 (en) 2015-02-07 2019-06-04 Vmware, Inc. Multi-subnet participation for network gateway in a cloud environment
CN104639639B (zh) 2015-02-09 2018-04-27 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统
US9800507B2 (en) 2015-02-10 2017-10-24 Verizon Patent And Licensing Inc. Application-based path computation
US20160255169A1 (en) 2015-02-27 2016-09-01 Futurewei Technologies, Inc. Method and system for smart object eviction for proxy cache
CN105991430B (zh) 2015-03-05 2022-01-14 李明 跨多个自治网络系统的数据路由
US9729451B2 (en) 2015-03-06 2017-08-08 Juniper Networks, Inc. Managing routing information in a hub-and-spokes network
US9628380B2 (en) 2015-03-06 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Method and system for routing a network function chain
US10491525B2 (en) 2015-03-10 2019-11-26 Huawei Technologies Co., Ltd. Traffic engineering feeder for packet switched networks
US10614056B2 (en) 2015-03-24 2020-04-07 NetSuite Inc. System and method for automated detection of incorrect data
US10756929B2 (en) 2015-04-07 2020-08-25 Umbra Technologies Ltd. Systems and methods for providing a global virtual network (GVN)
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US9948552B2 (en) * 2015-04-17 2018-04-17 Equinix, Inc. Cloud-based services exchange
US9848041B2 (en) 2015-05-01 2017-12-19 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
US10681058B2 (en) 2015-05-01 2020-06-09 Pcms Holdings, Inc. Systems, methods, and devices to defend against attacks
US9769065B2 (en) 2015-05-06 2017-09-19 Telefonaktiebolaget Lm Ericsson (Publ) Packet marking for L4-7 advanced counting and monitoring
US9954799B2 (en) 2015-05-14 2018-04-24 International Business Machines Corporation Adaptive service chain management
US10834054B2 (en) 2015-05-27 2020-11-10 Ping Identity Corporation Systems and methods for API routing and security
US10349240B2 (en) 2015-06-01 2019-07-09 Huawei Technologies Co., Ltd. Method and apparatus for dynamically controlling customer traffic in a network under demand-based charging
US9729348B2 (en) 2015-06-04 2017-08-08 Cisco Technology, Inc. Tunnel-in-tunnel source address correction
US10397277B2 (en) 2015-06-14 2019-08-27 Avocado Systems Inc. Dynamic data socket descriptor mirroring mechanism and use for security analytics
US9563514B2 (en) 2015-06-19 2017-02-07 Commvault Systems, Inc. Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
US20160380886A1 (en) 2015-06-25 2016-12-29 Ciena Corporation Distributed data center architecture
US10503532B2 (en) 2015-06-26 2019-12-10 Vmware, Inc. Creating a virtual machine clone of the host computing device and handling of virtual machine clone requests via an I/O filter
US10498664B2 (en) 2015-06-29 2019-12-03 Vmware, Inc. Hybrid cloud resource scheduling
US10136359B2 (en) 2015-06-30 2018-11-20 Qualcomm Incorporated Traffic flow migration in backhaul networks
US9787641B2 (en) 2015-06-30 2017-10-10 Nicira, Inc. Firewall rule management
US10550093B2 (en) 2015-07-01 2020-02-04 The Research Foundation For The State University Of New York Third generation taxoids and methods of using same
US9462010B1 (en) 2015-07-07 2016-10-04 Accenture Global Services Limited Threat assessment level determination and remediation for a cloud-based multi-layer security architecture
US10797992B2 (en) * 2015-07-07 2020-10-06 Cisco Technology, Inc. Intelligent wide area network (IWAN)
US10397283B2 (en) 2015-07-15 2019-08-27 Oracle International Corporation Using symmetric and asymmetric flow response paths from an autonomous system
US10050951B2 (en) 2015-07-20 2018-08-14 Cisco Technology, Inc. Secure access to virtual machines in heterogeneous cloud environments
CN106375231B (zh) 2015-07-22 2019-11-05 华为技术有限公司 一种流量切换方法、设备及系统
US10637889B2 (en) 2015-07-23 2020-04-28 Cisco Technology, Inc. Systems, methods, and devices for smart mapping and VPN policy enforcement
US10298489B2 (en) 2015-07-24 2019-05-21 International Business Machines Corporation Adding multi-tenant awareness to a network packet processing device on a software defined network (SDN)
CN106412628B (zh) 2015-07-30 2020-07-24 华为技术有限公司 一种带宽调整方法及相关设备
US9819581B2 (en) 2015-07-31 2017-11-14 Nicira, Inc. Configuring a hardware switch as an edge node for a logical router
US10567347B2 (en) 2015-07-31 2020-02-18 Nicira, Inc. Distributed tunneling for VPN
JP6673356B2 (ja) 2015-08-04 2020-03-25 日本電気株式会社 通信システム、通信装置、通信方法、端末、プログラム
US10630749B2 (en) 2015-08-14 2020-04-21 Cisco Technology, Inc. Timely delivery of real-time media problem when TCP must be used
US9763054B2 (en) 2015-08-19 2017-09-12 Locix Inc. Systems and methods for determining locations of wireless sensor nodes in a tree network architecture having mesh-based features
US10198724B2 (en) 2015-08-21 2019-02-05 Mastercard International Incorporated Payment networks and methods for facilitating data transfers within payment networks
CN106487534B (zh) 2015-08-24 2019-08-13 华为技术有限公司 网络控制策略的生成方法、装置及网络控制器
US10038650B2 (en) 2015-08-25 2018-07-31 Futurewei Technologies, Inc. System and method for tunnel stitching transport
US9894103B2 (en) 2015-08-28 2018-02-13 Nicira, Inc. Performing source network address translation based on remote device management attributes
US10547540B2 (en) 2015-08-29 2020-01-28 Vmware, Inc. Routing optimization for inter-cloud connectivity
JP6440203B2 (ja) 2015-09-02 2018-12-19 Kddi株式会社 ネットワーク監視システム、ネットワーク監視方法およびプログラム
US9733973B2 (en) 2015-09-16 2017-08-15 Cisco Technology, Inc. Automatically determining sensor location in a virtualized computing environment
JP2017059991A (ja) 2015-09-16 2017-03-23 株式会社日立製作所 ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム
EP3318047B1 (en) 2015-09-23 2020-12-09 Google LLC Systems and methods for load balancing in a distributed software defined network packet core system
US10178032B1 (en) 2015-09-23 2019-01-08 EMC IP Holding Company LLC Wide area network distribution, load balancing and failover for multiple internet protocol addresses
US9680704B2 (en) 2015-09-25 2017-06-13 Ubiquiti Networks, Inc. Compact and integrated key controller apparatus for monitoring networks
US10229017B1 (en) 2015-10-01 2019-03-12 EMC IP Holding Company LLC Resetting fibre channel devices for failover in high availability backup systems
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
US10033607B2 (en) 2015-10-13 2018-07-24 Nxp Usa, Inc. Packet loss debug system and method
US9672074B2 (en) 2015-10-19 2017-06-06 Vmware, Inc. Methods and systems to determine and improve cost efficiency of virtual machines
US10333897B2 (en) 2015-10-23 2019-06-25 Attala Systems Corporation Distributed firewalls and virtual network services using network packets with security tags
US9948503B2 (en) 2015-10-23 2018-04-17 Hughes Network Systems, Llc Gateway redundancy protocol for communications networks
CN106656801B (zh) 2015-10-28 2019-11-15 华为技术有限公司 业务流的转发路径的重定向方法、装置和业务流转发系统
US9747179B2 (en) 2015-10-29 2017-08-29 Netapp, Inc. Data management agent for selective storage re-caching
US10027530B2 (en) 2015-10-30 2018-07-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for troubleshooting SDN networks using flow statistics
US11025514B2 (en) 2015-10-30 2021-06-01 Nicira, Inc. Automatic health check and performance monitoring for applications and protocols using deep packet inspection in a datacenter
WO2017070970A1 (zh) 2015-10-31 2017-05-04 华为技术有限公司 一种确定路由的方法、对应装置及系统
US9794370B2 (en) 2015-11-09 2017-10-17 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for distributed network-aware service placement
US9916214B2 (en) 2015-11-17 2018-03-13 International Business Machines Corporation Preventing split-brain scenario in a high-availability cluster
KR20170058201A (ko) 2015-11-18 2017-05-26 한국전자통신연구원 다중 클라우드 환경에서의 가상 네트워크 제공 시스템 및 그 방법
US9825911B1 (en) 2015-11-18 2017-11-21 Amazon Technologies, Inc. Security policy check based on communication establishment handshake packet
WO2017083975A1 (en) 2015-11-19 2017-05-26 Teloip Inc. System, apparatus and method for providing a virtual network edge and overlay with virtual control plane
US10904142B2 (en) 2015-11-19 2021-01-26 Adaptiv Networks Inc. System, apparatus and method for providing a virtual network edge and overlay with virtual control plane
US9602389B1 (en) 2015-11-21 2017-03-21 Naveen Maveli Method and system for defining logical channels and channel policies in an application acceleration environment
US10425302B2 (en) 2015-11-23 2019-09-24 International Business Machines Corporation Scalable end-to-end quality of service monitoring and diagnosis in software defined networks
US9992091B2 (en) 2015-11-30 2018-06-05 Cisco Technology, Inc. Performing network topology traces with minimal data collection
US9843485B2 (en) 2015-11-30 2017-12-12 International Business Machines Coprporation Monitoring dynamic networks
US10257019B2 (en) 2015-12-04 2019-04-09 Arista Networks, Inc. Link aggregation split-brain detection and recovery
US10148756B2 (en) 2015-12-09 2018-12-04 At&T Intellectual Property I, L.P. Latency virtualization in a transport network using a storage area network
US9426030B1 (en) 2015-12-11 2016-08-23 International Business Machines Coporation Automatically generating configuration images and deploying computer components in a computing environment that comprises a shared pool of configurable computing resources
US9542219B1 (en) 2015-12-17 2017-01-10 International Business Machines Corporation Automatic analysis based scheduling of jobs to appropriate cloud resources
US20170180220A1 (en) 2015-12-18 2017-06-22 Intel Corporation Techniques to Generate Workload Performance Fingerprints for Cloud Infrastructure Elements
US10187289B1 (en) 2015-12-28 2019-01-22 Amazon Technologies, Inc. Route advertisement management using tags in directly connected networks
EP3229405B1 (en) 2015-12-31 2020-07-15 Huawei Technologies Co., Ltd. Software defined data center and scheduling and traffic-monitoring method for service cluster therein
US10536326B2 (en) 2015-12-31 2020-01-14 Affirmed Networks, Inc. Network redundancy and failure detection
US11025477B2 (en) 2015-12-31 2021-06-01 Akamai Technologies, Inc. Overlay network ingress edge region selection
US10103947B2 (en) 2016-01-08 2018-10-16 Universal Research Solutions, Llc Processing of portable device data
WO2017119950A1 (en) 2016-01-08 2017-07-13 Inspeed Networks, Inc. Bidirectional data traffic control
US9866637B2 (en) 2016-01-11 2018-01-09 Equinix, Inc. Distributed edge processing of internet of things device data in co-location facilities
WO2017121460A1 (en) 2016-01-12 2017-07-20 Telefonaktiebolaget Lm Ericsson (Publ) System, method, and apparatus for managing co-channel interference
US20170214701A1 (en) 2016-01-24 2017-07-27 Syed Kamran Hasan Computer security based on artificial intelligence
US10389643B1 (en) 2016-01-30 2019-08-20 Innovium, Inc. Reflected packets
CN115955723A (zh) 2016-02-03 2023-04-11 三菱电机株式会社 通信系统
WO2017141078A1 (en) 2016-02-15 2017-08-24 Telefonaktiebolaget Lm Ericsson (Publ) Ospf extensions for flexible path stitching and selection for traffic transiting segment routing and mpls networks
US9842045B2 (en) 2016-02-19 2017-12-12 International Business Machines Corporation Failure recovery testing framework for microservice-based applications
US10200278B2 (en) 2016-03-02 2019-02-05 Arista Networks, Inc. Network management system control service for VXLAN on an MLAG domain
US10142163B2 (en) 2016-03-07 2018-11-27 Cisco Technology, Inc BFD over VxLAN on vPC uplinks
WO2017152396A1 (zh) 2016-03-09 2017-09-14 华为技术有限公司 流表处理方法及装置
CN107533668B (zh) 2016-03-11 2021-01-26 慧与发展有限责任合伙企业 用于计算神经网络的节点值的硬件加速器和方法
US10158727B1 (en) 2016-03-16 2018-12-18 Equinix, Inc. Service overlay model for a co-location facility
US9942787B1 (en) 2016-03-22 2018-04-10 Amazon Technologies, Inc. Virtual private network connection quality analysis
US10404727B2 (en) 2016-03-25 2019-09-03 Cisco Technology, Inc. Self organizing learning topologies
US9935955B2 (en) 2016-03-28 2018-04-03 Zscaler, Inc. Systems and methods for cloud based unified service discovery and secure availability
US10205683B2 (en) 2016-03-28 2019-02-12 Mellanox Technologies Tlv Ltd. Optimizing buffer allocation for network flow control
US10313241B2 (en) 2016-03-28 2019-06-04 Cox Communications, Inc. Systems and methods for routing internet packets between enterprise network sites
US10250466B2 (en) 2016-03-29 2019-04-02 Juniper Networks, Inc. Application signature generation and distribution
US10277505B2 (en) 2016-03-30 2019-04-30 Juniper Networks, Inc. Routing inter-AS LSPs with centralized controller
US20170289002A1 (en) 2016-03-31 2017-10-05 Mrittika Ganguli Technologies for deploying dynamic underlay networks in cloud computing infrastructures
US10187292B2 (en) 2016-04-15 2019-01-22 Microsoft Technology Licensing, Llc Data center topology having multiple classes of reliability
US10819630B1 (en) 2016-04-20 2020-10-27 Equinix, Inc. Layer three instances for a cloud-based services exchange
CN105827623B (zh) 2016-04-26 2019-06-07 山石网科通信技术股份有限公司 数据中心系统
CN116112539A (zh) 2016-04-26 2023-05-12 安博科技有限公司 吊索路由逻辑与负载均衡
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10841273B2 (en) 2016-04-29 2020-11-17 Nicira, Inc. Implementing logical DHCP servers in logical networks
US10484515B2 (en) 2016-04-29 2019-11-19 Nicira, Inc. Implementing logical metadata proxy servers in logical networks
CN107332812B (zh) 2016-04-29 2020-07-07 新华三技术有限公司 网络访问控制的实现方法及装置
US10305807B2 (en) 2016-05-03 2019-05-28 Citrix Systems, Inc. Systems and methods to choose an optimal path from multiple high latency links
CN109076013B (zh) 2016-05-10 2021-01-15 华为技术有限公司 分组交换业务识别方法及终端
US20170339022A1 (en) 2016-05-17 2017-11-23 Brocade Communications Systems, Inc. Anomaly detection and prediction in a packet broker
US10389621B2 (en) 2016-05-24 2019-08-20 Level 3 Communications, Llc Route selection system for a communication network and method of operating the same
US10200264B2 (en) 2016-05-31 2019-02-05 128 Technology, Inc. Link status monitoring based on packet loss detection
US10275325B2 (en) 2016-06-17 2019-04-30 Weixu Technology Co., Ltd. Method of site isolation protection, electronic device and system using the same method
CA3028397A1 (en) 2016-06-18 2017-12-21 Clevernet, Inc. Intelligent adaptive transport layer to enhance performance using multiple channels
US10404827B2 (en) 2016-06-22 2019-09-03 Cisco Technology, Inc. Client network information service
US10182035B2 (en) 2016-06-29 2019-01-15 Nicira, Inc. Implementing logical network security on a hardware switch
CN107547393B (zh) 2016-06-29 2021-06-01 华为技术有限公司 一种计算转发路径的方法及网络设备
US9992154B2 (en) 2016-06-30 2018-06-05 Juniper Networks, Inc. Layer 3 convergence for EVPN link failure
US10404788B2 (en) 2016-06-30 2019-09-03 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
US20180013636A1 (en) 2016-07-07 2018-01-11 Cisco Technology, Inc. System and method for scaling application containers in cloud environments
US9888278B2 (en) 2016-07-07 2018-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth and ABR video QoE management based on OTT video providers and devices
US10320664B2 (en) 2016-07-21 2019-06-11 Cisco Technology, Inc. Cloud overlay for operations administration and management
US10608928B2 (en) 2016-08-05 2020-03-31 Huawei Technologies Co., Ltd. Service-based traffic forwarding in virtual networks
JP6505172B2 (ja) 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム
US10193749B2 (en) 2016-08-27 2019-01-29 Nicira, Inc. Managed forwarding element executing in public cloud data compute node without overlay network
US10225103B2 (en) 2016-08-29 2019-03-05 Vmware, Inc. Method and system for selecting tunnels to send network traffic through
US10681131B2 (en) 2016-08-29 2020-06-09 Vmware, Inc. Source network address translation detection and dynamic tunnel creation
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10326830B1 (en) 2016-09-02 2019-06-18 Amazon Technologies, Inc. Multipath tunneling to a service offered at several datacenters
US10491531B2 (en) 2016-09-13 2019-11-26 Gogo Llc User directed bandwidth optimization
US10552267B2 (en) 2016-09-15 2020-02-04 International Business Machines Corporation Microcheckpointing with service processor
US10587700B2 (en) 2016-09-16 2020-03-10 Oracle International Corporation Cloud operation reservation system
US10116593B1 (en) 2016-09-23 2018-10-30 Amazon Technologies, Inc. Transmission and storage of routing path information and routing topology information using a single routing protocol
JP6763267B2 (ja) 2016-09-29 2020-09-30 株式会社リコー 情報処理システム、情報処理装置、プログラム及びレポート作成方法
CN106230650A (zh) 2016-09-30 2016-12-14 赛特斯信息科技股份有限公司 SDN Overlay网络故障定位系统及方法
US10148564B2 (en) 2016-09-30 2018-12-04 Juniper Networks, Inc. Multiple paths computation for label switched paths
US10250498B1 (en) 2016-10-03 2019-04-02 Sprint Communications Company L.P. Session aggregator brokering of data stream communication
US9667619B1 (en) 2016-10-14 2017-05-30 Akamai Technologies, Inc. Systems and methods for utilizing client side authentication to select services available at a given port number
US10355944B2 (en) 2016-10-31 2019-07-16 Riverbed Technology, Inc. Minimally invasive monitoring of path quality
US10263882B2 (en) 2016-10-31 2019-04-16 Riverbed Technology, Inc. Dynamically influencing route re-distribution between an exterior gateway protocol and an interior gateway protocol
US10778722B2 (en) 2016-11-08 2020-09-15 Massachusetts Institute Of Technology Dynamic flow system
US9906401B1 (en) 2016-11-22 2018-02-27 Gigamon Inc. Network visibility appliances for cloud computing architectures
US10749856B2 (en) 2016-11-23 2020-08-18 Ingram Micro, Inc. System and method for multi-tenant SSO with dynamic attribute retrieval
US10826905B2 (en) 2016-12-05 2020-11-03 Citrix Systems, Inc. Secure access to on-premises web services from multi-tenant cloud services
US10560431B1 (en) 2016-12-05 2020-02-11 Amazon Technologies, Inc. Virtual private gateway for encrypted communication over dedicated physical link
US10298619B2 (en) 2016-12-16 2019-05-21 Nicira, Inc. Application template generation and deep packet inspection approach for creation of micro-segmentation policy for network applications
US10868760B2 (en) 2016-12-19 2020-12-15 Vmware, Inc. System and method for managing public IP addresses for virtual data centers
US10237123B2 (en) 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US10887173B2 (en) 2016-12-21 2021-01-05 Juniper Networks, Inc. Communicating state information in distributed operating systems
US10802858B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Collecting and processing contextual attributes on a host
US10263832B1 (en) 2016-12-29 2019-04-16 Juniper Networks, Inc. Physical interface to virtual interface fault propagation
CN108306831B (zh) 2017-01-13 2021-12-03 华为技术有限公司 选路方法及装置
US10440049B2 (en) 2017-01-19 2019-10-08 Paypal, Inc. Network traffic analysis for malware detection and performance reporting
US20190280962A1 (en) 2017-01-31 2019-09-12 The Mode Group High performance software-defined core network
US20200106696A1 (en) 2017-01-31 2020-04-02 The Mode Group High performance software-defined core network
US10992558B1 (en) 2017-11-06 2021-04-27 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US20190372889A1 (en) 2017-01-31 2019-12-05 The Mode Group High performance software-defined core network
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20200296026A1 (en) 2017-01-31 2020-09-17 The Mode Group High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US20190280964A1 (en) 2017-01-31 2019-09-12 The Mode Group High performance software-defined core network
US20190238449A1 (en) 2017-01-31 2019-08-01 The Mode Group High performance software-defined core network
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US20200021514A1 (en) 2017-01-31 2020-01-16 The Mode Group High performance software-defined core network
US20200021515A1 (en) 2017-01-31 2020-01-16 The Mode Group High performance software-defined core network
US20180219766A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US11121962B2 (en) 2017-01-31 2021-09-14 Vmware, Inc. High performance software-defined core network
US20190280963A1 (en) 2017-01-31 2019-09-12 The Mode Group High performance software-defined core network
US10574528B2 (en) 2017-02-11 2020-02-25 Nicira, Inc. Network multi-source inbound quality of service methods and systems
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US10506926B2 (en) 2017-02-18 2019-12-17 Arc Devices Limited Multi-vital sign detector in an electronic medical records system
US10382492B2 (en) 2017-03-02 2019-08-13 Draios Inc. Automated service-oriented performance management
US11032248B2 (en) 2017-03-07 2021-06-08 Nicira, Inc. Guest thin agent assisted host network encryption
US10002530B1 (en) 2017-03-08 2018-06-19 Fujitsu Limited Traffic signal control using multiple Q-learning categories
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
CN106656847B (zh) 2017-03-10 2019-05-24 重庆邮电大学 网络效用最大化的sdn负载均衡方法
WO2018165934A1 (en) 2017-03-16 2018-09-20 Intel Corporation Systems, methods and devices for user plane traffic forwarding
US9832128B1 (en) 2017-03-20 2017-11-28 Engine Media, Llc Dynamic advertisement routing
US10367712B2 (en) 2017-03-20 2019-07-30 Citrix Systems, Inc. Auto tuning of hybrid wan links by adaptive duplication of packets on alternate links
US10959124B2 (en) 2017-03-23 2021-03-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Uplink data transmission method, terminal, network side device and system
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10172020B2 (en) 2017-04-06 2019-01-01 Common Networks, Inc. Systems and methods for networking and wirelessly routing communications
CN108696434B (zh) * 2017-04-11 2022-01-14 华为技术有限公司 一种转发数据报文的方法、设备和系统
US10333836B2 (en) 2017-04-13 2019-06-25 Cisco Technology, Inc. Convergence for EVPN multi-homed networks
CA3001394A1 (en) 2017-04-13 2018-10-13 Iot Cloud Technologies Inc. Method and system to sanitize, recover, analyze and wipe data stored on memory devices connected to a dedicated embedded microcomputer system with a network connection
US10498810B2 (en) 2017-05-04 2019-12-03 Amazon Technologies, Inc. Coordinating inter-region operations in provider network environments
US10142226B1 (en) 2017-05-24 2018-11-27 Amazon Technologies, Inc. Direct network connectivity with scalable forwarding and routing fleets
US10382333B2 (en) 2017-05-31 2019-08-13 Juniper Networks, Inc. Fabric path context-based forwarding for virtual nodes
US10432523B2 (en) 2017-05-31 2019-10-01 Juniper Networks, Inc. Routing protocol signaling of multiple next hops and their relationship
US10476817B2 (en) 2017-05-31 2019-11-12 Juniper Networks, Inc. Transport LSP setup using selected fabric path between virtual nodes
US10164873B1 (en) 2017-06-01 2018-12-25 Ciena Corporation All-or-none switchover to address split-brain problems in multi-chassis link aggregation groups
US10462042B2 (en) 2017-06-20 2019-10-29 Cisco Technology, Inc. Network path selection
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10616379B2 (en) 2017-06-23 2020-04-07 Futurewei Technologies, Inc. Seamless mobility and session continuity with TCP mobility option
US10742447B2 (en) 2017-07-10 2020-08-11 Level 3 Communications, Llc Connecting to multiple cloud instances in a telecommunications network
JP6904127B2 (ja) 2017-07-19 2021-07-14 富士通株式会社 中継ノード決定プログラム、中継ノード決定方法および並列処理装置
US10742750B2 (en) 2017-07-20 2020-08-11 Cisco Technology, Inc. Managing a distributed network of function execution environments
US10454812B2 (en) 2017-07-28 2019-10-22 Juniper Networks, Inc. Service level agreement based next-hop selection
US10523560B2 (en) 2017-07-28 2019-12-31 Juniper Networks, Inc. Service level agreement based next-hop selection
US10461993B2 (en) 2017-07-31 2019-10-29 Cisco Technology, Inc. Network hub site redundancy and failover
US20190046056A1 (en) 2017-08-10 2019-02-14 VVVital Patent Holdings Limited Multi-Vital Sign Detector in an Electronic Medical Records System
US20190058709A1 (en) 2017-08-16 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Tenant management method and system in a cloud computing environment
CN109412964B (zh) 2017-08-18 2022-04-29 华为技术有限公司 报文控制方法及网络装置
US11695648B2 (en) 2017-08-23 2023-07-04 Nec Corporation Method for supporting service level agreement monitoring in a software defined network and corresponding software defined network
US10491516B2 (en) 2017-08-24 2019-11-26 Nicira, Inc. Packet communication between logical networks and public cloud service providers native networks using a single network interface and a single routing table
CN111052686B (zh) 2017-08-27 2022-03-29 Nicira股份有限公司 在公共云中执行在线服务的方法和机器可读介质
EP3518479B1 (en) 2017-08-30 2021-12-01 NTT Communications Corporation Network control device, communication system, network control method, program, and recording medium
EP3677000B1 (en) 2017-08-30 2022-11-16 Telefonaktiebolaget LM Ericsson (PUBL) Method and system for tracing packets in software defined networks
US10616085B2 (en) 2017-08-31 2020-04-07 Zte Corporation Residence time measurement for optimizing network services
US10554538B2 (en) 2017-09-12 2020-02-04 Adara Networks, Inc. Dynamic link state routing protocol
US10511546B2 (en) 2017-09-29 2019-12-17 Juniper Networks, Inc. Connecting virtual nodes in a network device using abstract fabric interfaces
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10999165B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud
US11089111B2 (en) 2017-10-02 2021-08-10 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10959098B2 (en) 2017-10-02 2021-03-23 Vmware, Inc. Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
EP3701687A4 (en) 2017-10-27 2021-02-17 Telefonaktiebolaget LM Ericsson (publ) OPTIMIZED DATA PATH ERROR RECOVERY WITH FOLLOW-UP ENGINE
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10778651B2 (en) 2017-11-15 2020-09-15 Nicira, Inc. Performing context-rich attribute-based encryption on a host
US10644978B2 (en) 2017-11-22 2020-05-05 Hughes Network Systems, Llc Latency increase estimated rate limiter adjustment
US10565464B2 (en) 2017-12-21 2020-02-18 At&T Intellectual Property I, L.P. Adaptive cloud offloading of mobile augmented reality
US20190207844A1 (en) 2018-01-03 2019-07-04 Hewlett Packard Enterprise Development Lp Determining routing decisions in a software-defined wide area network
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10673781B2 (en) 2018-01-31 2020-06-02 Hewlett Packard Enterprise Development Lp Dedicated virtual local area network for peer-to-peer traffic transmitted between switches
US10439927B2 (en) 2018-01-31 2019-10-08 International Business Machines Corporation Distributed storage path configuration
AU2019214925B2 (en) 2018-01-31 2022-01-27 Assia Spe, Llc Systems and methods for broadband communication link performance monitoring
EP3747167B1 (en) 2018-02-19 2022-08-31 Huawei Technologies Co., Ltd. Multi-cloud vpc routing and registration
US10932322B2 (en) 2018-02-23 2021-02-23 Cisco Technology, Inc. Policy mapping methods and apparatus for use in interconnecting software-defined wide area network (SD-WAN) fabrics with mobile networks for communications with UEs
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US20190319881A1 (en) 2018-04-13 2019-10-17 Microsoft Technology Licensing, Llc Traffic management based on past traffic arrival patterns
US11102079B2 (en) * 2018-04-17 2021-08-24 Microsoft Technology Licensing, Llc Cross-regional virtual network peering
US10778464B2 (en) 2018-04-20 2020-09-15 Futurewei Technologies, Inc. NSH encapsulation for traffic steering establishing a tunnel between virtual extensible local area network (VxLAN) tunnel end points (VTEPS) using a NSH encapsulation header comprising a VxLAN header whose VNI field has been replaced by an NSH shim
US20200301764A1 (en) 2018-04-23 2020-09-24 SCRRD, Inc. Operating system on a computing system
US10715427B2 (en) 2018-04-27 2020-07-14 Hewlett Packard Enterprise Development Lp Determining routing decisions in a software-defined wide area network overlay
US11388096B2 (en) 2018-05-04 2022-07-12 T-Mobile Usa, Inc. Performance driven software defined networking
EP3808040B1 (en) 2018-06-13 2023-08-02 Telefonaktiebolaget LM Ericsson (publ) Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch
US10666497B2 (en) 2018-06-22 2020-05-26 Intel Corporation Localized service resiliency
US11184327B2 (en) 2018-07-05 2021-11-23 Vmware, Inc. Context aware middlebox services at datacenter edges
US10749773B2 (en) 2018-07-06 2020-08-18 International Business Machines Corporation Determining a location of optimal computing resources for workloads
WO2020012491A1 (en) 2018-07-10 2020-01-16 Telefonaktiebolaget L M Ericsson (Publ) Mechanism for hitless resynchronization during sdn controller upgrades between incompatible versions
WO2020018704A1 (en) 2018-07-18 2020-01-23 The Mode Group High performance software-defined core network
CN109024893A (zh) 2018-07-24 2018-12-18 清华大学 一种自体成型弹性杆空间曲面编织结构体系及其施工方法
US10892958B2 (en) 2018-08-03 2021-01-12 Huawei Technologies Co., Ltd. Methods and functions of network performance monitoring and service assurance
US10999163B2 (en) 2018-08-14 2021-05-04 Juniper Networks, Inc. Multi-cloud virtual computing environment provisioning using a high-level topology description
US11233778B2 (en) 2018-08-15 2022-01-25 Juniper Networks, Inc. Secure forwarding of tenant workloads in virtual networks
US10992654B2 (en) 2018-08-17 2021-04-27 Cisco Technology, Inc. Secure WAN path selection at campus fabric edge
US11115327B2 (en) 2018-08-24 2021-09-07 Oracle International Corporation Methods, systems, and computer readable media for providing mobile device connectivity
US11182209B2 (en) 2018-09-21 2021-11-23 Google Llc Distributed job scheduling system
US11271905B2 (en) 2018-09-21 2022-03-08 Google Llc Network architecture for cloud computing environments
US10834004B2 (en) 2018-09-24 2020-11-10 Netsia, Inc. Path determination method and system for delay-optimized service function chaining
US10911374B1 (en) 2018-09-28 2021-02-02 Riverbed Technology, Inc. Software defined wide area network (SD WAN) enabled network fabric for containers
US11108664B2 (en) 2018-10-19 2021-08-31 Comcast Cable Communications, Llc Prioritized message routing
DE112018008119T5 (de) 2018-11-01 2021-08-12 Hewlett Packard Enterprise Development Lp Modifizieren einer Ressourcenzuweisung oder einer Strategie in Reaktion auf Steuerungsinformationen von einer virtuellen Netzwerkfunktion
US11102113B2 (en) 2018-11-08 2021-08-24 Sap Se Mapping of internet protocol addresses in a multi-cloud computing environment
US10708144B2 (en) 2018-11-14 2020-07-07 Juniper Networks, Inc. Predicting application quality of experience metrics using adaptive machine learned probes
EP3878160A1 (en) 2018-11-15 2021-09-15 VMware, Inc. Layer four optimization in a virtual network defined over public cloud
US10795817B2 (en) 2018-11-16 2020-10-06 Western Digital Technologies, Inc. Cache coherence for file system interfaces
US10893004B2 (en) 2018-11-20 2021-01-12 Amazon Technologies, Inc. Configurable detection of network traffic anomalies at scalable virtual traffic hubs
US10715402B2 (en) 2018-11-27 2020-07-14 Servicenow, Inc. Systems and methods for enhanced monitoring of a distributed computing system
US11201854B2 (en) 2018-11-30 2021-12-14 Cisco Technology, Inc. Dynamic intent-based firewall
US10999197B2 (en) 2018-11-30 2021-05-04 Cisco Technology, Inc. End-to-end identity-aware routing across multiple administrative domains
US11233822B2 (en) 2018-11-30 2022-01-25 Cisco Technology, Inc. Dynamic honeypots
US10951529B2 (en) 2018-12-13 2021-03-16 Fortinet, Inc. Dynamic service-based load balancing in a software-defined wide area network (SD-WAN)
US11115426B1 (en) 2018-12-13 2021-09-07 Cisco Technology, Inc. Distributed packet capture for network anomaly detection
US11095558B2 (en) 2018-12-28 2021-08-17 Alibaba Group Holding Limited ASIC for routing a packet
US11032175B2 (en) 2018-12-31 2021-06-08 Hughes Network Systems Packet loss isolation test
US11099873B2 (en) 2019-01-04 2021-08-24 Microsoft Technology Licensing, Llc Network configuration updates for virtual machine
US11012299B2 (en) 2019-01-18 2021-05-18 Cisco Technology, Inc. Seamless multi-cloud routing and policy interconnectivity
US11552874B1 (en) 2019-01-18 2023-01-10 Keysight Technologies, Inc. Methods, systems and computer readable media for proactive network testing
US10892989B2 (en) 2019-01-18 2021-01-12 Vmware, Inc. Tunnel-based service insertion in public cloud environments
US20200244721A1 (en) * 2019-01-30 2020-07-30 Hewlett Packard Enterprise Development Lp Deploying a workload
US11336482B2 (en) 2019-01-31 2022-05-17 Juniper Networks, Inc. Policy-driven on-demand tunnel creation/deletion based on traffic information in a wide area network (WAN)
US11271795B2 (en) 2019-02-08 2022-03-08 Ciena Corporation Systems and methods for proactive network operations
US10911517B2 (en) 2019-02-17 2021-02-02 Cisco Technology, Inc. Determining end times for single page applications
US11165828B2 (en) 2019-02-28 2021-11-02 Cisco Technology, Inc. Systems and methods for on-demand flow-based policy enforcement in multi-cloud environments
US11134126B2 (en) 2019-03-06 2021-09-28 Hewlett Packard Enterprise Development Lp Adaptive routing of branch traffic in software-defined wide area network (SDWAN) deployments
US10855575B2 (en) 2019-03-06 2020-12-01 Hewlett Packard Enterprise Development Lp Adaptive traffic routing in a software-defined wide area network
US11005729B2 (en) 2019-03-14 2021-05-11 Juniper Networks, Inc. Satisfying service level agreement metrics for unknown applications
US11423254B2 (en) * 2019-03-28 2022-08-23 Intel Corporation Technologies for distributing iterative computations in heterogeneous computing environments
US10972386B2 (en) 2019-03-29 2021-04-06 Juniper Networks, Inc. Scalable multi-tenant underlay network supporting multi-tenant overlay network
US20200314614A1 (en) 2019-03-29 2020-10-01 Apple Inc. Systems and methods for autonomous vehicle communication
US11201800B2 (en) 2019-04-03 2021-12-14 Cisco Technology, Inc. On-path dynamic policy enforcement and endpoint-aware policy enforcement for endpoints
US11128492B2 (en) 2019-04-16 2021-09-21 Hewlett Packard Enterprise Development Lp Automated gateway selection in SD-WAN
US11502936B2 (en) 2019-04-18 2022-11-15 Hewlett Packard Enterprise Development Lp Heuristic-based SD-WAN route reconfiguration
US11128490B2 (en) 2019-04-26 2021-09-21 Microsoft Technology Licensing, Llc Enabling access to dedicated resources in a virtual network using top of rack switches
US11212223B2 (en) 2019-04-27 2021-12-28 Hewlett Packard Enterprise Development Lp Uplink selection in a SD-WAN
US11303727B2 (en) 2019-04-30 2022-04-12 Jio Platforms Limited Method and system for routing user data traffic from an edge device to a network entity
US11050644B2 (en) 2019-04-30 2021-06-29 Hewlett Packard Enterprise Development Lp Dynamic device anchoring to SD-WAN cluster
US11025522B2 (en) 2019-05-04 2021-06-01 Juniper Networks, Inc. Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter- autonomous system (AS) segment routing (SR) networks
US11093287B2 (en) 2019-05-24 2021-08-17 Intel Corporation Data management for edge architectures
US10693739B1 (en) 2019-05-29 2020-06-23 Accenture Global Solutions Limited Network design platform
US10979316B2 (en) 2019-05-31 2021-04-13 Juniper Networks, Inc. Dynamic application SLA metric generation, distribution, and intent-based SD-WAN link selection
US10826775B1 (en) 2019-06-19 2020-11-03 Cisco Technology, Inc. Policy plane integration across multiple domains
US20200412483A1 (en) 2019-06-25 2020-12-31 Cisco Technology, Inc. Xor forward error correction for isolated and burst losses over a software-defined-wide area network
US11526434B1 (en) 2019-06-25 2022-12-13 Amazon Technologies, Inc. Network-level garbage collection in an on-demand code execution system
US11071005B2 (en) 2019-06-27 2021-07-20 Cisco Technology, Inc. Congestion avoidance with adaptive QoS policy enforcement from SD-WAN controller in SD-WAN networks
US11032107B2 (en) 2019-06-28 2021-06-08 Juniper Networks, Inc. GRE tunneling with reduced packet encryption at intermediate routers
US10498665B1 (en) * 2019-07-15 2019-12-03 Capital One Services, Llc Method for managing state of cloud-based systems
US11184273B2 (en) 2019-07-24 2021-11-23 Vmware, Inc. Machine learning-based path priority determination for routing data in software-defined networks
JP7388032B2 (ja) 2019-07-29 2023-11-29 富士フイルムビジネスイノベーション株式会社 情報処理システム及び情報処理システム用制御プログラム
US11374791B2 (en) 2019-07-31 2022-06-28 Hewlett Packard Enterprise Development Lp Orchestration of subnetwork extensions across a wide area network
US11329950B2 (en) 2019-08-02 2022-05-10 Cisco Technology, Inc. Wide area network edge device connectivity for high availability and extensibility
WO2021029856A1 (en) 2019-08-09 2021-02-18 Hewlett-Packard Development Company, L.P. Network connectivity performance determination on computing devices
US10691728B1 (en) * 2019-08-13 2020-06-23 Datadog, Inc. Transforming a data stream into structured data
US11121985B2 (en) 2019-08-27 2021-09-14 Vmware, Inc. Defining different public cloud virtual networks for different entities based on different sets of measurements
US10938717B1 (en) 2019-09-04 2021-03-02 Cisco Technology, Inc. Policy plane integration across multiple domains
US11169816B2 (en) 2019-09-05 2021-11-09 Facebook Technologies, Llc System and method for key value store
US20210092062A1 (en) 2019-09-20 2021-03-25 Citrix Systems, Inc. Quality of experience (qoe) enhancement device and related techniques
US11082304B2 (en) 2019-09-27 2021-08-03 Oracle International Corporation Methods, systems, and computer readable media for providing a multi-tenant software-defined wide area network (SD-WAN) node
US11115347B2 (en) 2019-10-14 2021-09-07 Hewlett Packard Enterprise Development Lp Dynamic monitoring and migration of applications
US11153119B2 (en) 2019-10-15 2021-10-19 Cisco Technology, Inc. Dynamic discovery of peer network devices across a wide area network
US11509534B2 (en) 2019-10-23 2022-11-22 Juniper Networks, Inc. Collection of error packet information for network policy enforcement
US20210126854A1 (en) 2019-10-23 2021-04-29 Arista Networks, Inc. Tcp performance model based in-band network telemetry
US11611507B2 (en) 2019-10-28 2023-03-21 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11411857B2 (en) 2019-11-25 2022-08-09 Cisco Technology, Inc. Multicast performance routing and policy control in software defined wide area networks
US11483796B2 (en) 2019-11-25 2022-10-25 Cisco Technology, Inc. Systems and methods for dynamically generating a mobile software-defined wide area network gateway location for remote users
US11316869B2 (en) 2019-12-10 2022-04-26 Cisco Technology, Inc. Systems and methods for providing attestation of data integrity
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
EP3991359A1 (en) 2019-12-12 2022-05-04 VMware, Inc. Collecting an analyzing data regarding flows associated with dpi parameters
FR3105681B1 (fr) 2019-12-20 2021-12-03 Sagemcom Broadband Sas Procédé et dispositif de détermination d’une topologie d’un réseau de points d’accès sans fils
CN111198764B (zh) 2019-12-31 2024-04-26 江苏省未来网络创新研究院 一种基于sdn的负载均衡实现系统及方法
US11398969B2 (en) 2020-01-22 2022-07-26 Cisco Technology, Inc. Network conversation testing of flow level operations
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
US11665095B2 (en) 2020-02-21 2023-05-30 Cisco Technology, Inc. Fine-grained SD-WAN optimization services for cloud-native applications
US11556349B2 (en) 2020-03-04 2023-01-17 International Business Machines Corporation Booting a secondary operating system kernel with reclaimed primary kernel memory
US11316773B2 (en) 2020-04-06 2022-04-26 Vmware, Inc. Configuring edge device with multiple routing tables
US11108851B1 (en) 2020-04-10 2021-08-31 Hewlett Packard Enterprise Development Lp Dynamic application routing in a software defined wide area network
WO2021207922A1 (zh) 2020-04-14 2021-10-21 华为技术有限公司 报文传输方法、装置及系统
US20200241927A1 (en) 2020-04-15 2020-07-30 Intel Corporation Storage transactions with predictable latency
WO2021211906A1 (en) 2020-04-15 2021-10-21 Gunuganta Ramakanth Application-agnostic tenant onboarding onto a multi-tenant system
US11750512B2 (en) 2020-04-22 2023-09-05 Hewlett Packard Enterprise Development Lp Identifying a dynamic network parameter probe interval in an SD-WAN
US11394606B2 (en) 2020-05-26 2022-07-19 Cisco Technology, Inc. Auto-provisioning of SD-WAN hubs and spokes
US20200322287A1 (en) 2020-06-18 2020-10-08 Intel Corporation Switch-managed resource allocation and software execution
US11297513B2 (en) 2020-06-23 2022-04-05 T-Mobile Usa, Inc. System for administering test cases from a mobile device for a telecommunications network
US11398948B2 (en) 2020-06-29 2022-07-26 Cisco Technology, Inc. Generation and deployment of inherited network topology models
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
CN115668865A (zh) 2020-07-21 2023-01-31 谷歌有限责任公司 网络异常检测
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US11240153B1 (en) 2020-07-31 2022-02-01 Cisco Technology, Inc. Scoring policies for predictive routing suggestions
US11516104B2 (en) 2020-08-10 2022-11-29 Cisco Technology, Inc. Systems and methods for determining a network path trace
US11588711B2 (en) 2020-08-14 2023-02-21 Cisco Technology, Inc. Intent-driven cloud branches
US11337227B2 (en) 2020-08-24 2022-05-17 Amazon Technologies, Inc. Distributed network connectivity monitoring of provider network edge location resources from cellular networks
US11356319B2 (en) 2020-09-11 2022-06-07 Arista Networks, Inc. Distinguishing network vs server issues when diagnosing application performance problems
CN116325900A (zh) 2020-10-22 2023-06-23 华为技术有限公司 一种通信方法及装置
US20220131807A1 (en) 2020-10-28 2022-04-28 Vmware, Inc. Identification of faulty sd-wan segment
US11095612B1 (en) 2020-10-30 2021-08-17 Palo Alto Networks, Inc. Flow metadata exchanges between network and security functions for a security service
CN115918139A (zh) 2020-11-16 2023-04-04 瞻博网络公司 网络切片的主动保证
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11522780B1 (en) 2020-12-10 2022-12-06 Amazon Technologies, Inc. Monitoring networks by detection of noisy agents
CN117157628A (zh) 2020-12-21 2023-12-01 吉尼赛斯云服务第二控股有限公司 与所应用的异常检测和联络中心计算环境相关的系统和方法
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11765057B2 (en) 2020-12-30 2023-09-19 Oracle International Corporation Systems and methods for performing end-to-end link-layer and IP-layer health checks between a host machine and a network virtualization device
US11575651B2 (en) 2020-12-31 2023-02-07 Palo Alto Networks, Inc. Dynamically scalable application firewall deployment for cloud native applications
US11381474B1 (en) 2020-12-31 2022-07-05 Juniper Networks, Inc. Wan link selection for SD-WAN services
US11595231B2 (en) 2021-01-07 2023-02-28 Hewlett Packard Enterprise Development Lp Metric based dynamic virtual private network (VPN) tunnel between branch gateway devices
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US20220231949A1 (en) 2021-01-18 2022-07-21 Vmware, Inc. Network-aware load balancing
WO2022154850A1 (en) 2021-01-18 2022-07-21 Vmware, Inc. Network-aware load balancing
EP4189935A1 (en) 2021-01-21 2023-06-07 VMware, Inc. Proactive optimization across network segments to maintain end-to-end performance
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US11797510B2 (en) 2021-04-20 2023-10-24 Netapp, Inc. Key-value store and file system integration
WO2022231668A1 (en) 2021-04-29 2022-11-03 Vmware, Inc. Methods for micro-segmentation in sd-wan for virtual networks
US20220353190A1 (en) 2021-04-29 2022-11-03 Vmware, Inc. Methods for micro-segmentation in sd-wan for virtual networks
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN
EP4282140A1 (en) 2021-05-03 2023-11-29 VMware, Inc. On demand routing mesh for routing packets through sd-wan edge forwarding nodes in an sd-wan
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US20220407915A1 (en) 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
EP4282136A1 (en) 2021-06-18 2023-11-29 VMware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
US20220407773A1 (en) 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of sub-types of resource elements in the public clouds
US20220407774A1 (en) 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for modifying the deployment of resource elements in public clouds based on harvested performance metrics
US20220407790A1 (en) 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US20230028872A1 (en) 2021-07-22 2023-01-26 Vmware, Inc. Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in sd-wan
WO2023009159A1 (en) 2021-07-24 2023-02-02 Vmware, Inc. Network management services in a point-of-presence
US20230026865A1 (en) 2021-07-24 2023-01-26 Vmware, Inc. Network management services in a virtual network
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US20230026330A1 (en) 2021-07-24 2023-01-26 Vmware, Inc. Network management services in a point-of-presence
US20230025586A1 (en) 2021-07-24 2023-01-26 Vmware, Inc. Network management services in a secure access service edge application
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170034046A1 (en) * 2015-07-29 2017-02-02 International Business Machines Corporation Multipathing using a network of overlays
US20170097841A1 (en) * 2015-10-06 2017-04-06 Cisco Technology, Inc. Performance-based public cloud selection for a hybrid cloud environment
US20170181210A1 (en) * 2015-12-16 2017-06-22 Verizon Patent And Licensing Inc. Cloud wan overlay network
CN106998284A (zh) * 2016-01-25 2017-08-01 阿里巴巴集团控股有限公司 通过虚拟私有网络连接私有网络的网络系统和方法
US20170339070A1 (en) * 2016-05-23 2017-11-23 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
US20190104053A1 (en) * 2017-10-02 2019-04-04 Nicira, Inc. Defining and distributing routes for a virtual network
US20190103993A1 (en) * 2017-10-02 2019-04-04 Nicira, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external saas provider

Also Published As

Publication number Publication date
US11171885B2 (en) 2021-11-09
US11212238B2 (en) 2021-12-28
US11018995B2 (en) 2021-05-25
US20210067372A1 (en) 2021-03-04
US11252105B2 (en) 2022-02-15
US20210067467A1 (en) 2021-03-04
US20210067461A1 (en) 2021-03-04
US20230179543A1 (en) 2023-06-08
US20210067427A1 (en) 2021-03-04
CA3147722C (en) 2024-03-19
US10999137B2 (en) 2021-05-04
US20210067464A1 (en) 2021-03-04
JP2022545608A (ja) 2022-10-28
JP7417812B2 (ja) 2024-01-19
WO2021040934A1 (en) 2021-03-04
AU2020336161A1 (en) 2022-03-31
US20210067373A1 (en) 2021-03-04
US11831414B2 (en) 2023-11-28
US11153230B2 (en) 2021-10-19
US20210067468A1 (en) 2021-03-04
AU2020336161B2 (en) 2023-06-22
US20210067407A1 (en) 2021-03-04
AU2023233058A1 (en) 2023-10-05
US11310170B2 (en) 2022-04-19
US11252106B2 (en) 2022-02-15
EP4022863A1 (en) 2022-07-06
US20230412525A1 (en) 2023-12-21
US20220094644A1 (en) 2022-03-24
CA3147722A1 (en) 2021-03-04
US11121985B2 (en) 2021-09-14
US20210067374A1 (en) 2021-03-04
US11258728B2 (en) 2022-02-22
US11606314B2 (en) 2023-03-14
US20210067375A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
US11831414B2 (en) Providing recommendations for implementing virtual networks
CN111095876B (zh) 用于创建跨多个公共云的虚拟网络的方法、介质和设备
US20230179445A1 (en) Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external saas provider
US10959098B2 (en) Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
US10999165B2 (en) Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud
US20230239234A1 (en) Providing dns service in an sd-wan

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: U.S.A.

Address after: California, USA

Applicant after: Weirui LLC

Address before: California, USA

Applicant before: VMWARE, Inc.

Country or region before: U.S.A.

CB02 Change of applicant information