CN110582997A - 协调提供商网络环境中的区域间操作 - Google Patents
协调提供商网络环境中的区域间操作 Download PDFInfo
- Publication number
- CN110582997A CN110582997A CN201880029416.2A CN201880029416A CN110582997A CN 110582997 A CN110582997 A CN 110582997A CN 201880029416 A CN201880029416 A CN 201880029416A CN 110582997 A CN110582997 A CN 110582997A
- Authority
- CN
- China
- Prior art keywords
- peer
- area
- inter
- network
- interconnect
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5006—Creating or negotiating SLA contracts, guarantees or penalties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及用于协调提供商网络中的区域间操作的方法和设备。区域间协调器(IRC)与区域网络的控制平面异步地操作以协调区域间操作。区域中的IRC可以包含一个或多个IRC服务器。为了执行区域间操作,所述服务器可以实施本地‑远程‑本地方法,在所述方法中,服务器调用本地区域中的API以获得工作,将所述工作发送到远程区域的控制平面,从所述远程区域接收响应,并告知所述本地区域中的所述控制平面所述工作的状态。
Description
背景技术
许多公司和其它组织操作计算机网络,所述计算机网络互连许多计算***以支持其操作,如其中计算***处于相同位置(例如,作为本地网络的一部分)或代替地位于多个不同的地理位置中(例如,通过一个或多个专用或公共中间网络连接)。例如,容纳大量互连计算***的数据中心已经变得司空见惯,如由单个组织和代表单个组织运营的专用数据中心,以及由作为企业的实体运营以向客户或客户端提供计算资源的公共数据中心。一些公共数据中心运营商为各种客户端拥有的硬件提供网络接入、电力和安全安装设施,而其它公共数据中心运营商提供“全方位服务(full service)”设施,所述全方位服务设施还包含可供所述运营商的客户端使用的硬件资源。然而,随着典型数据中心的规模和范围增大,提供、施行和管理物理计算资源的任务变得越来越复杂。
用于商品硬件的虚拟化技术的出现已经在管理具有不同需求的许多客户端的大规模计算资源方面提供了益处,从而允许多个客户端有效且安全地共享各种计算资源。例如,虚拟化技术可以通过向每个用户提供由单个物理计算机托管的一个或多个虚拟机来允许单个物理计算机在多个用户之间共享,并且每个这样的虚拟机都是充当不同逻辑计算***的软件模拟,所述逻辑计算***向用户提供他们是给定硬件计算资源的唯一操作员和管理员的错觉,同时还提供各种虚拟机之间的应用程序隔离和安全性。此外,一些虚拟化技术能够提供跨越两个或更多物理资源的虚拟资源,如具有跨越多个不同物理计算***的多个虚拟处理器的单个虚拟机。作为另一实例,虚拟化技术可以通过向每个用户提供可以跨越多个数据存储装置分布的虚拟化数据存储来允许在多个用户之间共享数据存储硬件,其中每个这样的虚拟化数据存储都充当不同逻辑数据存储,所述逻辑数据存储向用户提供他们是数据存储资源的唯一操作员和管理员的错觉。
附图说明
图1示出可以实施用于区域间对等互连的方法和设备的实施例的示例提供商网络环境。
图2示出根据一些实施例的协调提供商网络的不同区域网络中的专用网络之间的对等互连的组件和操作。
图3A和3B示出根据一些实施例的提供商网络的区域网络中的IRC服务的组件和操作。
图4示出根据一些实施例的被实施为跨越提供商网络的区域网络中的区分布的虚拟机的区域间协调器(IRC)服务器的机群(fleet)。
图5示出根据一些实施例的IRC服务器的组件。
图6A和6B示出根据一些实施例的用于创建对等互连和接受对等互连操作的本地-远程-本地操作期间的分布状态变化。
图7A和7B示出根据一些实施例的响应于发起对不同区域网络中的两个专用网络之间的对等互连的区域间对等互连请求而执行的一系列操作。
图8A和8B示出根据一些实施例的响应于接受对不同区域网络中的两个专用网络之间的对等互连的区域间对等互连请求而执行的一系列操作。
图9示出根据一些实施例的提供商网络的不同区域网络中的两个对等互连专用网络之间的数据流。
图10是根据一些实施例的用于在提供商网络的两个区域网络之间执行本地-远程-本地操作的方法的流程图。
图11是根据一些实施例的用于发起区域间对等互连请求的方法的流程图。
图12是根据一些实施例的用于接受区域间对等互连请求的方法的流程图。
图13是根据一些实施例的用于以恒定速率执行IRC工作的方法的流程图。
图14示出根据一些实施例的示例区域间对等互连界面。
图15示出根据一些实施例的示例提供商网络环境。
图16示出根据一些实施例的使用IP隧道技术在网络基体上实施覆盖网络的示例数据中心。
图17是根据一些实施例的对客户端提供存储虚拟化服务和硬件虚拟化服务的示例提供商网络的框图。
图18示出根据一些实施例的对至少一些客户端提供虚拟网络的示例提供商网络。
图19是示出可以在一些实施例中使用的示例计算机***的框图。
虽然本文通过若干个实施例和说明性附图的实例的方式对实施例进行了描述,但是本领域技术人员将认识到,实施例不限于所描述的实施例或附图。应理解的是,附图和对其的详细描述并非旨在将实施例限制于所公开的特定形式,而相反,其意图是涵盖落入由所附权利要求限定的精神和范围内的所有修改、等效物和替代方案。本文使用的标题仅用于组织目的,并非意指用于限制说明书或权利要求的范围。如在整个本申请中所使用的,词语“可以”以允许的意义使用(即,意指具有潜在的意义),而不是强制意义(即,意指必须)。类似地,词语“包含(include)”、“包含(including)”和“包含(includes)”意指包含但不限于。
具体实施方式
描述了用于提供商网络的不同区域网络中的专用网络之间的区域间对等互连的方法及设备的各种实施例。用于区域间对等互连的方法和设备的实施例可以例如在提供商网络的环境中实施,所述提供商网络通过例如因特网等中间网络将例如作为虚拟机(VM)执行的计算资源等虚拟资源以及例如虚拟存储等其它虚拟资源提供给客户。提供商网络可包含多个区域网络;每个区域网络可以对应并覆盖单独且不同的地理区域。每个区域网络可包含由一个或多个数据中心实施的网络基体和控制平面,并且每个区域网络可以托管一个或多个服务和应用程序编程接口(API),所述服务和应用程序编程接口允许客户在相应区域网络内的虚拟化专用网络(在本文中称为专用网络)中建立、提供和管理客户的虚拟化资源。
区域网络可以由网络主干连接,所述网络主干允许在区域网络之间进行高速、安全的业务传输。然而,为了在提供商网络中实现期望的容错性和稳定性,每个区域网络可以独立于其它区域网络并与其它区域网络隔离。为了防止对一个区域网络中的影响影响其它区域网络,区域网络中的网络基体与控制平面之间不应存在依赖性。例如,一个区域网络中的控制平面过程不应与另一区域网络中的控制平面过程直接通信。此外,每个区域网络托管其自身的服务和API实例,这些实例允许客户仅在相应区域网络内的专用网络中建立、提供和管理客户的虚拟化资源。
在物理网络环境中,两个专用数据中心可以通过连接或“接插(patch)”在数据中心之间的物理电缆,例如连接或接插在传输中心等处的物理电缆彼此对等互连。可以使用边界路由协议来交换关于数据中心处的专用网络的信息(例如,将在对等互连中使用的专用网络地址范围)。
在允许客户端提供虚拟专用网络,例如图1所示的提供商网络的虚拟网络环境中,客户端的虚拟专用网络是离散的路由IP容器,其被托管在提供商网络的区域网络上,并且可以被视为对物理数据中心的虚拟模拟。区域网络上的不同专用网络中的端点之间的数据包流(例如,客户的虚拟资源)通过区域网络的网络基体被路由到中间公共网络,如因特网。中间网络将数据包路线回区域网络。在区域网络上,数据包通过网络基体路由到目标专用网络。
为了向接插有数据中心之间的物理电缆的物理传输中心提供虚拟模拟以在提供商网络的区域网络内的虚拟网络环境中的数据中心处的相应专用网络之间创建对等互连,可以提供对等互连服务和API,其允许客户在其区域网络上的专用网络与同一区域网络上的其它专用网络之间请求虚拟对等互连,并且允许客户接受对其区域网络上的专用网络的对等互连请求。区域网络上的专用网络之间的虚拟对等互连可在本文中称为区域内对等互连。在接受对区域网络上的两个专用网络之间的虚拟对等互连的请求后,由区域网络的控制平面建立区域内对等互连;区域内对等互连允许数据包通过区域网络的网络基体在两个专用网络中的端点之间流动,而不通过中间公共网络。应注意,对等互连服务和API可以支持跨客户区域内对等互连,在这种情况下,分别拥有区域网络中两个不同专用网络的两个不同客户在区域网络中的两个虚拟网络之间建立对等互连关系,并且对等互连服务和API还可以支持相同客户的区域内对等互连,在这种情况下,拥有区域网络中两个专用网络的相同客户在区域网络中的两个客户虚拟网络之间建立对等互连。
然而,常规上,虚拟网络环境尚未在不同区域网络中的专用网络之间提供对等互连(在本文中称为区域间对等互连)。因此,常规上,不同区域网络中的客户专用网络之间的所有业务都经过中间公共网络,例如因特网,这在公共网络上暴露了客户的虚拟资源和业务。想要在区域网络之间进行传输时保护数据的客户必须运行自己的虚拟专用网络(VPN)装置,这可能会很昂贵,增加了客户专用网络实施方案的操作复杂性,并且不提供客户需要的可用性特征。提供商网络服务尚未提供区域间对等互连的原因之一是,支持区域间对等互连需要区域网络中的控制平面之间的协调,并且如上所述,为了防止对一个区域网络的影响影响其它区域,区域网络中的控制平面之间不应存在依赖性。例如,一个区域网络中的控制平面过程不应与另一区域网络中的控制平面过程直接通信以协调专用网络之间的对等互连。
描述了用于提供商网络的不同区域网络中的专用网络之间的区域间对等互连的方法及设备的实施例,其允许客户在不同区域网络中的专用网络之间建立虚拟对等互连而不需要区域网络中的控制平面之间的依赖性。实施例可以支持跨客户区域间对等互连,在这种情况下,分别拥有不同区域网络中两个不同专用网络的两个不同客户在不同区域中的客户专用网络之间建立区域间对等互连,并且实施例还可以支持相同客户的区域间对等互连,在这种情况下,拥有本地和远程区域网络中两个不同专用网络的客户在不同区域中的客户专用网络之间建立区域间对等互连。描述了区域间协调器(IRC)服务的实施例,所述IRC服务与区域网络的控制平面过程异步地操作以协调区域网络中的专用网络之间的对等互连的建立和管理。通过使用IRC来协调区域间对等互连,区域网络的控制平面不必直接通信,并且不需要控制平面之间的依赖性。
在一些实施例中,每个区域网络可以包含IRC服务实施方案。给定区域网络中的IRC服务可以包含一个或多个IRC服务器的机群,所述机群例如通过向提供商网络的客户提供VM资源的相同服务和技术实施为区域网络上的VM。每个区域网络还可以提供区域间对等互连服务和区域间对等互连API,客户可以通过所述区域间对等互连服务和区域间对等互连API对其区域网络中的专用网络请求区域间对等互连,并且客户还可以通过所述区域间对等互连服务和区域间对等互连API接受对其区域网络中的专用网络的区域间对等互连的请求。在一些实施例中,区域间对等互连API还可以允许客户拒绝区域间对等互连请求,并删除其相应专用网络的现有区域间对等互连。图14示出可以显示在客户控制台上的到区域间对等互连API的示例界面。
在每个区域网络中,为了执行区域间对等互连操作,IRC服务可以实施本地-远程-本地方法或过程,在所述方法或过程中,IRC服务器将API调用到本地区域网络的控制平面过程以获得工作(例如,创建对等互连、接受对等互连、删除对等互连等),将API调用到远程区域网络的控制平面过程,以通知远程控制平面要进行的工作(例如,创建对等互连、接受对等互连、删除对等互连等),然后将API调用到本地区域网络的控制平面过程,以告知控制平面过程工作已完成。虽然本文参考代表控制平面协调区域间对等互连来描述IRC服务和通过IRC服务实施的本地-远程-本地方法,但应注意,如本文中所描述的IRC服务和/或本地-远程-本地方法可用以协调提供商网络的区域网络之间或更一般地任何两个独立网络的控制平面之间的其它类型的操作。
根据一些实施例,下文描述了在不同区域网络中的专用网络之间建立区域间对等互连时IRC服务的操作。应注意,实施例可以支持跨客户区域间对等互连,在这种情况下,本地和远程客户是分别拥有本地和远程区域网络中两个不同专用网络的不同客户,并且实施例还可以支持相同客户的区域间对等互连,在这种情况下,本地和远程客户是拥有本地和远程区域网络中两个不同专用网络的相同客户。
根据对等互连API,例如通过如图14所示的到对等互连API的界面从客户接收的区域间对等互连请求指定客户(称为本地客户)希望与之建立对等互连的相应区域网络(称为本地区域网络)上的相应客户的专用网络和不同区域网络(称为远程区域网络)中的另一专用网络。在一些实施例中,在从本地客户接收到区域间对等互连请求后,对等互连API将请求转发到本地区域网络的控制平面过程。本地区域网络的控制平面过程为区域间对等互连请求创建区域间对等互连记录,并在区域间对等互连工作日志中为本地区域网络生成区域间对等互连请求的条目(称为创建对等互连记录)。在一些实施例中,为了安全起见,可以对创建对等互连记录进行签名和加密。
本地区域网络上的IRC服务器定期或不定期地通过API从工作日志中请求工作。在获得创建对等互连记录后,本地区域网络上的IRC服务器调用由创建对等互连记录指定的远程区域网络上的API以将区域间对等互连请求发送到远程区域网络。在远程区域网络上,API将区域间对等互连请求转发到远程区域网络的控制平面过程,所述控制平面过程为区域间对等互连请求创建指示对等互连请求正在等待接受的区域间对等互连记录。在一些实施例中,远程区域网络的控制平面过程可以例如通过根据如图14所示的远程区域网络的对等互连API在远程客户的控制台上显示区域间对等互连请求的指示,通知远程区域网络上的目标专用网络的拥有者(称为远程客户)本地客户已请求本地区域网络上的专用网络与远程区域网络上的远程客户专用网络之间的对等互连。将指示区域间对等互连请求正在等待接受的响应从远程区域网络发送到本地区域网络上的IRC服务器。IRC服务器调用API以通知本地区域网络上的控制平面过程区域间对等互连请求正在远程区域网络上等待接受。控制平面过程更新区域间对等互连请求的区域间对等互连记录以指示其正在等待接受,并将区域间工作日志中的创建对等互连记录标记为完成。在一些实施例中,可接着例如通过根据如图14所示的本地区域网络的对等互连API在本地客户的控制台上显示待定区域间对等互连请求的指示,由对等互连API告知本地客户区域间对等互连请求正在远程区域网络上等待接受。
如前所述,每个区域网络可以提供区域间对等互连API,客户可以通过所述区域间对等互连API对其区域上的专用网络请求区域间对等互连,并且客户还可以通过所述区域间对等互连API例如通过如图14所示的界面接受对其区域上的专用网络的区域间对等互连的请求。在对等互连API告知本地客户已请求本地区域网络上的专用网络与远程区域网络上的远程客户专用网络之间的对等互连之后,例如通过在如图14所示的到对等互连API的界面上显示区域间对等互连请求,远程客户可以通过对等互连API接受或拒绝区域间对等互连请求,或可以仅仅忽略请求。
在一些实施例中,在从远程客户接收到接受区域间对等互连请求后,对等互连API将接受请求转发到远程区域网络的控制平面过程。远程区域网络的控制平面过程更新区域间对等互连请求的区域间对等互连记录以指示正在提供对等互连,并在区域间对等互连工作日志中为远程区域网络生成条目(称为接受对等互连记录)。在一些实施例中,为了安全起见,可以对接受对等互连记录进行签名和加密。
远程区域网络上的IRC服务器定期地通过API从工作日志中请求工作。在获得接受对等互连记录后,远程区域网络上的IRC服务器调用由接受对等互连记录指定的本地区域网络上的API以通知本地区域网络对等互连已被接受。在本地区域网络上,API将接受对等互连消息转发到本地区域网络的控制平面过程,所述控制平面过程更新区域间对等互连请求的区域间对等互连记录以指示对等互连处于活动状态,并例如通过将区域间对等互连的信息推送到本地区域网络的边缘装置而在本地区域网络中提供区域间对等互连。将指示区域间对等互连在本地区域网络上处于活动状态的响应从本地区域网络发送到远程区域网络上的IRC服务器。IRC服务器调用API以通知远程区域网络上的控制平面过程区域间对等互连在本地区域网络上处于活动状态。控制平面过程更新远程区域网络上的区域间对等互连记录以指示区域间对等互连处于活动状态,并例如通过将区域间对等互连的信息推送到远程区域网络的边缘装置而在远程区域网络中提供区域间对等互连。控制平面还可以将区域间工作日志中的接受对等互连记录标记为完成。
在一些实施例中,上文对于请求区域间对等互连(创建对等互连操作)和接受区域间对等互连(接受对等互连操作)所描述的本地-远程--本地方法还可以用于通过IRC服务处理的其它区域间对等互连操作,包含但不限于拒绝区域间对等互连请求、删除活动的区域间对等互连、处理到期对等互连请求(等待接受的时间长于阈值时间量的对等互连请求),并验证区域网络之间的区域间对等互连记录的一致性。创建对等互连、接受对等互连、拒绝对等互连和删除对等互连操作是客户驱动的操作,并且可统称为“驱动完成”操作。因此,IRC服务可以被视为执行三种类型的工作:驱动完成操作、到期对等互连操作以及验证一致性操作。
如上所述,在一些实施例中,给定区域网络中的IRC服务可以包含一个或多个IRC服务器的机群,所述机群例如通过向提供商网络的客户提供VM资源的相同服务和技术实施为区域网络上的VM。区域网络的IRC机群内的每个IRC服务器可以包含与所述区域网络协调的每个其它区域网络的单独线程池;每个其它区域网络具有单独线程池可能有助于防止一个远程区域网络中的问题影响与其它远程区域网络的协调。在每个区域网络中,可以存在n-1个线程池,其中n是区域网络的数量。每个线程池中的线程使网络区域间操作与对应于线程池的远程区域协调。
在一些实施例中,可以使用恒定工作方法来控制由区域网络内的IRC服务器执行的区域间API调用的速率,在恒定工作方法中,IRC服务器使区域间对等互连工作以恒定速率进行(称为每秒交易或TPS)。可以针对区域网络内的IRC服务设置TPS,并且可以在IRC服务器之间细分区域网络的TPS。例如,给定区域网络的TPS为T,并且假定在区域网络中存在m个IRC服务器,那么每个IRC服务器的TPS可以是T/m。
在一些实施例中,恒定工作速率可以用上述三种类型的工作(驱动完成、到期对等互连和验证一致性)的可配置加权比例填充。当IRC服务器准备好根据其TPS进行工作时,所述IRC服务器必须首先进行区域间工作。为了获得工作,IRC服务器调用API并指定要检索的工作类型。在一些实施例中,IRC服务器基于可配置的加权比例随机选择要执行的工作类型。随着时间的推移,这样随机选择工作可能会收敛于配置的百分比。例如,此方法可以防止驱动完成操作使到期对等互连操作不足(starving)。如果IRC服务器随机选择执行驱动完成操作,但没有进行驱动完成工作,那么IRC服务器可以改为执行验证一致性操作。这可能有助于维持区域间对等互连API调用的速率恒定。
如前所述,给定区域网络中的IRC服务可以包含一个或多个IRC服务器的机群。在一些实施例中,可以通过相同的虚拟化服务和技术将IRC服务器实施为区域网络上的VM,所述虚拟化服务和技术向提供商网络的客户提供VM资源和专用网络,以利用由虚拟化服务提供的虚拟化基础架构。然而,虚拟化服务提供的虚拟化基础架构可能不受信任。因此,为了保护IRC服务免受潜在的滥用(例如,如果IRC服务的具有虚拟化服务的帐户被破解),那么通过IRC服务器的区域间对等互连数据中的至少一些可以在被传递到IRC服务器之前由控制平面签名和加密。例如,从区域间对等互连工作日志中检索到的工作项可以在转到IRC服务器之前进行签名和加密,并在通过远程区域网络的API传递到远程区域网络时保持签名和加密。因此,包含在工作项中的区域间对等互连信息(例如,标识和描述待对等互连的本地和远程专用网络的信息)不可访问,并且不会被IRC服务器访问。区域网络中的控制平面过程在区域间对等互连信息传递到IRC服务以转发到另一区域网络之前对区域间对等互连信息进行签名和加密,并且区域网络中的控制平面过程在从另一区域网络上的IRC服务接收信息之后对区域间对等互连信息进行解密。
在区域间对等互连请求被接受后,可以在两个区域网络上提供虚拟区域间对等互连。在一些实施例中,在区域网络上提供区域间对等互连可以包含将关于区域间对等互连的信息从控制平面推送到两个区域网络中的边缘装置。在一些实施例中,在区域网络上提供区域间对等互连可以包含在虚拟网络的相应区域网络上建立或配置每个虚拟网络的虚拟对等互连过程;虚拟对等互连过程可以被视为对物理传输中心或因特网网关的虚拟模拟。虚拟对等互连过程可以实施一个或多个虚拟端口,所述虚拟端口可以在逻辑上连接到另一虚拟对等互连过程上的虚拟端口以建立对等互连连接;对等互连连接可以被视为对连接对等互连物理网络的物理电缆的虚拟模拟。对等互连连接通过每个区域网络中的网络基体传递到相应区域网络的边缘装置,并通过连接区域网络的提供商网络主干在两个区域网络之间传递。通过在区域网络的边缘装置之间的主干上传递对等互连连接,两个专用网络之间的对等互连连接上的业务不通过例如因特网等公共网络。然而,在替代实施例中,对等互连连接可以改为在例如因特网等中间网络上通过安全连接(例如,虚拟专用网(VPN)连接)。一旦在不同区域网络中的两个专用网络之间建立对等互连连接,就可以由相应客户在两个专用网络中设置到对等互连连接的路由,并且两个专用网络中的端点可接着开始通过对等互连连接通信,如同两个专用网络通过物理电缆连接一样。为了安全起见,两个边缘装置之间的对等互连连接上的业务可以由边缘装置签名和加密。
图1示出可以实施用于区域间对等互连的方法和设备的实施例的示例提供商网络环境。提供商网络100可以包含多个区域网络102(例如,在此实例中为三个区域网络102A到102C)。每个区域网络102可以对应于单独且不同的地理区域,并且区域网络102可以分布在州、国家或世界范围内。为了在提供商网络100中实现期望的容错性和稳定性,每个区域网络102独立于提供商网络100中的其它区域网络102并在逻辑上与其隔离。不同区域网络102中的端点之间的通信(例如,客户的虚拟资源)通常经过中间网络150,例如因特网。
在一些实施例中,提供商网络100的每个区域网络102中的数据中心可以在网络基体上实施覆盖网络,所述覆盖网络可以例如使用封装协议技术在区域网络102中的实体之间进行通信。在封装协议技术中,网络包可以由例如在主机装置上执行的VM的区域网络102中的包源生成,或者可以由区域网络102的边缘装置从区域网络102外部的源接收。网络包可以根据封装协议打包或封装在封装层处以产生封装协议包(在本文中也称为封装包或网络基体包)。封装包可接着根据封装包的路由信息通过网络基体路由到区域网络102中的目的地,例如执行VM的主机装置或区域网络102的边缘装置。根据封装信息通过网络基体路由封装包可以被视为通过网络基体上的覆盖网络路由或路径发送封装包。在目的地,封装层从封装包中移除网络包(称为解封装的过程),并将解封装的网络包提供或发送到网络包目的地。例如,如果目的地是区域网络102中的主机装置,那么主机装置可以将网络包提供给在主机装置上执行的VM;如果目的地是区域网络102的边缘装置,那么边缘装置可以将网络包发送到中间网络140上,以路由到外部端点,例如客户端网络150上的端点或另一区域网络102中的端点。
虽然图1中未示出,但在一些实施例中,每个区域网络102可以包含多个可用性区,例如图4所示。每个可用性区可以由相应区域网络102内的一个或多个数据中心实施;数据中心可以实施一个或多个可用性区。区域网络102中的可用性区可以通过低延迟链路(例如,专用高带宽光纤链路)连接并共同形成区域网络102。区域102内的不同可用性区中的端点之间的通信(例如,客户的虚拟资源)可以通过例如因特网等中间网络150或通过低延迟链路。在一些实施例中,服务104可以跨越相应区域网络102内的两个或更多个可用性区提供客户的虚拟资源的复制。如果一个可用性区由于某种原因而停机,那么通过跨越区域网络102内的可用性区复制客户的虚拟资源,客户的虚拟资源可以在区域网络102中的另一可用性区中保持可用。然而,由于提供商网络100的区域网络102是独立的并且在逻辑上是隔离的,因此服务104不会跨越区域网络102扩展,并且不会跨越区域网络102提供客户虚拟资源的复制。为了在另一区域网络102中创建或复制资源,客户必须访问在所述区域网络102中托管的服务104。
如图1所示,每个区域网络102可以包含控制平面122,所述控制平面包含处理业务通过网络基体在区域网络102上的端点之间的路由的装置和过程。控制平面122的功能还包含网络基体配置和管理。如图1所示,服务104和API 103可以托管在每个区域网络102中;服务104和API 103在客户与控制平面122功能性之间提供界面。例如,通过在区域网络102中使用服务104和API 103,客户可以在区域网络102上的专用网络110中实施和管理虚拟资源。
在一些实施例中,每个区域网络102可以包含IRC 130服务实施方案。给定区域网络中的IRC 130可以包含一个或多个IRC服务器的机群,所述机群例如通过向提供商网络的客户提供VM资源的相同服务和技术实施为区域网络上的VM。服务104和API 103可以包含对等互连服务和区域间对等互连API,客户可以通过所述对等互连服务和区域间对等互连API对其区域上的专用网络请求区域间对等互连,并且客户还可以通过所述对等互连服务和区域间对等互连API接受对其区域上的专用网络的区域间对等互连的请求。在一些实施例中,区域间对等互连API还可以允许客户拒绝区域间对等互连请求,并删除其相应专用网络的现有区域间对等互连。
在每个区域网络102中,IRC 130与控制平面122异步地操作以协调相应区域网络102中的专用网络110与其它区域网络102中的专用网络110之间的对等互连的建立和管理。通过使用IRC来协调区域间对等互连,区域网络102的控制平面122不必直接通信,并且不需要控制平面122之间的依赖性。
在每个区域网络102中,为了执行区域间对等互连操作,IRC 130可以实施本地-远程-本地方法或过程,在所述方法或过程中,IRC服务器将API调用到本地区域网络102的控制平面122以获得工作(例如,驱动完成(创建对等互连、接受对等互连、删除对等互连)、到期对等互连或验证一致性工作等),将API调用到远程区域网络102的控制平面122,以通知远程控制平面122要进行的工作(例如,创建对等互连、接受对等互连、删除对等互连等),然后将API调用到本地区域网络102的控制平面122,以告知控制平面122工作已完成。
图2示出根据一些实施例的协调提供商网络的不同区域网络中的专用网络之间的对等互连的组件和操作。图2以图形方式示出根据一些实施例的分别在协调提供商网络200的不同区域网络202A和202B中的专用网络210A和210B之间的区域间对等互连时区域间协调器(IRC)服务的操作。专用网络210A可以由与客户端网络280A相关联的客户拥有或管理,并且专用网络210B可以由与客户端网络210B相关联的客户拥有或管理。应注意,实施例可以支持跨客户区域间对等互连,在这种情况下,客户是分别拥有专用网络210A和210B的不同客户,并且实施例还可以支持相同客户区域间对等互连,在这种情况下,客户是拥有专用网络210A和210B两者的相同客户。
客户可以例如从显示在如图14所示的客户端网络210A中的控制台上的专用网络对等互连界面发起区域间对等互连请求。根据对等互连API 209A从客户接收区域间对等互连请求。区域间对等互连请求指定客户希望与之建立对等互连的区域网络202A上的专用网络210A和区域网络210B中的专用网络210B。对等互连API 209A将请求转发到区域网络202A的控制平面222A。控制平面222A在对等互连记录226A中为区域间对等互连请求创建区域间对等互连记录,并在区域网络202A的区域间对等互连工作日志228A中生成区域间对等互连请求的条目(称为创建对等互连记录)。在一些实施例中,为了安全起见,可以对创建对等互连记录进行签名和加密。
区域网络202A上的IRC 230A机群中的IRC服务器可以定期地通过API 244A从工作日志228A中请求工作。在一些实施例中,可以使用恒定工作方法来控制由区域网络202内的IRC服务器执行的区域间API调用的速率,在恒定工作方法中,IRC服务器使区域间对等互连工作以恒定速率进行(称为每秒交易或TPS)。可以针对区域网络内的IRC服务设置TPS,并且可以在机群230中的IRC服务器之间细分区域网络的TPS。在获得创建对等互连记录区域间对等互连请求后,区域网络202A上的IRC服务器调用由区域间对等互连请求指定的区域网络202B上的API 240B以将区域间对等互连请求发送到区域网络202B。
如前所述,在一些实施例中,可以通过相同的虚拟化服务和技术将IRC服务器实施为区域网络202A上的VM,所述虚拟化服务和技术向提供商网络200的客户提供VM资源和专用网络210,以利用由虚拟化服务提供的虚拟化基础架构。然而,虚拟化服务提供的虚拟化基础架构可能不受信任。因此,为了保护IRC服务免受潜在的滥用(例如,如果IRC服务的具有虚拟化服务的帐户被破解),那么通过机群230A中的IRC服务器的区域间对等互连数据中的至少一些可以在被传递到IRC服务器之前由控制平面222A签名和加密。例如,从区域间对等互连工作日志228A中检索到的工作项可以在转到IRC服务器之前进行签名和加密,并且可以在通过区域网络202B的API 240B传递到区域网络202B时保持签名和加密。因此,包含在工作项中的区域间对等互连信息(例如,标识和描述待对等互连的本地和远程专用网络210A和210B的信息)不可访问,并且不会被IRC服务器访问。因此,在一些实施例中,可以仅使区域网络202A上的IRC服务器知道将向其发送经签名和加密的有效载荷的目标区域网络202B。
在区域网络202B上,API 240B将区域间对等互连请求转发到控制平面222B。控制平面222B对区域间对等互连请求(如果已加密)进行解密并在区域间对等互连请求的对等互连记录226B中创建指示对等互连请求正在等待接受的区域间对等互连记录。在一些实施例中,例如通过根据如图14所示的区域网络202B的对等互连API 209B在客户端网络280B上的控制台上显示区域间对等互连请求的指示,远程区域网络的控制平面过程可以通知客户已请求专用网络210A与专用网络210B之间的区域间对等互连。将指示区域间对等互连请求正在等待接受的响应从区域网络202B发送到区域网络202A上的IRC服务器。IRC服务器调用API 242A以通知区域网络202A上的控制平面222A区域间对等互连请求正在区域网络202B上等待接受,并将区域间工作日志228中的创建对等互连记录标记为完成。控制平面222A在对等互连记录226A中更新区域间对等互连请求的区域间对等互连记录以指示所述区域间对等互连请求正在等待接受。在一些实施例中,可接着例如通过根据如图14所示的对等互连API 209A在客户端网络280A上的控制台上显示待定区域间对等互连请求的指示,由对等互连API 209A告知客户区域间对等互连请求正在区域网络202B上等待接受。
在对等互连API 209B告知已请求专用网络210A与210B之间的区域间对等互连之后,例如通过在如图14所示的到对等互连API 209B的界面上显示区域间对等互连请求,客户可以通过对等互连API接受或拒绝区域间对等互连请求,或可以仅仅忽略请求。下文描述了处理区域间对等互连请求的接受。应注意,在一些实施例中,可以类似方式处理拒绝区域间对等互连请求。
客户可以例如从显示在如图14所示的客户端网络210B中的控制台上的专用网络对等互连界面接受区域间对等互连请求。根据区域网络202B的对等互连API 209B从客户接收接受请求。在一些实施例中,在从客户B接收到接受请求后,对等互连API 209B将接受请求转发到区域网络202B的控制平面222B。控制平面222B在对等互连记录226B中更新区域间对等互连请求的区域间对等互连记录以指示正在提供对等互连,并在区域网络202B的区域间对等互连工作日志228B中生成条目(称为接受对等互连记录)。在一些实施例中,为了安全起见,可以对接受对等互连记录进行签名和加密。
区域网络202B上的IRC 230B机群中的IRC服务器可以例如根据区域网络202B上的IRC服务的TPS定期地通过API 244B从工作日志228B中请求工作。在获得区域间对等互连请求的接受对等互连记录后,区域网络202B上的IRC服务器调用由区域间对等互连请求指定的区域网络202A上的API 240A以通知区域网络202A专用网络210A与210B之间的区域间对等互连已被接受。如前所述,在一些实施例中,可以对接受对等互连记录进行签名和加密,并且可以仅使区域网络202B上的IRC服务器知道将向其发送经签名和加密的有效载荷的目标区域网络202A。
在区域网络202A上,API 240A将接受对等互连消息转发到控制平面222A,控制平面222A在对等互连记录228A中更新区域间对等互连请求的区域间对等互连记录以指示对等互连处于活动状态,并例如通过将信息从区域间对等互连的对等互连记录226A推送到边缘装置206A而在区域网络202A中提供区域间对等互连。将指示区域间对等互连在区域网络202A上处于活动状态的响应从区域网络202A发送到区域网络202B上的IRC服务器。在区域网络202B上,IRC服务器调用API 242B以通知区域网络202B上的控制平面222B区域间对等互连在区域网络202A上处于活动状态。控制平面222B在对等互连记录226B中更新区域间对等互连记录以指示区域间对等互连处于活动状态,并例如通过将信息从区域间对等互连的对等互连记录226B推送到边缘装置206B而在区域网络202B中提供区域间对等互连。控制平面222B还可以将区域间工作日志228B中的接受对等互连记录标记为完成。
在一些实施例中,上文对于请求区域间对等互连(创建对等互连操作)和接受区域间对等互连(接受对等互连操作)所描述的本地-远程--本地方法还可以用于通过IRC服务处理的其它区域间对等互连操作,包含但不限于拒绝区域间对等互连请求、删除活动的区域间对等互连、处理到期对等互连请求(等待接受的时间长于阈值时间量的对等互连请求),并验证区域网络之间的区域间对等互连记录的一致性。创建对等互连、接受对等互连、拒绝对等互连和删除对等互连操作是客户驱动的操作,并且可统称为“驱动完成”操作。因此,IRC服务可以被视为执行三种类型的工作:驱动完成操作、到期对等互连操作以及验证一致性操作。
图3A和3B示出根据一些实施例的提供商网络的区域网络中的IRC服务的组件和操作。如图3A所示,区域网络302A可以包含控制平面322、对等互连数据存储324和由IRC服务器332A到332m的机群330实施的IRC服务。服务器332A到332m可以例如使用向提供商网络的客户提供VM资源的相同服务和技术作为区域网络302A的主机装置上的虚拟机(VM)执行。使用服务将IRC服务器332实施为VM可以例如允许取决于例如提供商网络中的区域网络302的工作负载和数目等因素快速且轻松地扩展或缩小IRC机群330,而不需要添加硬件(例如,物理服务器)。此外,如果服务器332实例停机,由于某种原因而终止服务或出现问题,那么可以通过启动另一个服务器332实例来快速替换服务器332实例。
区域网络302A可以提供区域间对等互连API 309,客户可以通过所述区域间对等互连API 309例如从客户端网络380中的控制台对区域网络302A中所述客户的专用网络请求区域间对等互连,并且客户还可以通过所述区域间对等互连API 309接受对区域网络302A中所述客户的专用网络的区域间对等互连的请求。在一些实施例中,区域间对等互连API 309还可以允许客户拒绝区域网络302A上所述客户的相应专用网络的区域间对等互连请求,并删除区域网络302A上所述客户的相应专用网络的现有区域间对等互连。
区域网络302A可以将API 340提供到控制平面322,所述API 340从其它区域网络302B到302n接收区域间对等互连请求(例如,创建对等互连和接受对等互连请求)并将所述请求转发到控制平面322。区域网络302A还可以将API 342提供到IRC机群330,所述API 342从IRC服务器332A到332m接收通知并将所述通知转发到控制平面322。
在一些实施例中,对等互连数据存储324可以由提供商网络的一个或多个存储区和/或数据库服务实施,并且可以包含对等互连记录326和对等互连工作日志328的数据存储或数据库。控制平面322可以例如响应于来自其它区域网络302B到302n的通过API 340接收的区域间对等互连请求或来自IRC服务器332A到332m的通过API 342接收的通知,在对等互连记录326中创建和更新区域间对等互连记录。在一些实施例中,可以为每个区域间对等互连记录赋予唯一的区域间对等互连标识符。在一些实施例中,每个区域间对等互连记录可以包含但不限于以下中的一个或多个:
·本地区域网络上的专用网络的标识符;
·拥有本地区域网络上的专用网络的客户的标识符;
·远程区域网络的标识符;
·远程区域网络上的专用网络的标识符;和
·拥有远程区域网络上的专用网络的客户的标识符(可以是与拥有本地区域网络上的专用网络的客户相同或不同的客户)。
控制平面322可以例如响应于通过对等互连API 309接收的客户的区域间对等互连请求,或者响应于来自其它区域网络302B到302n的通过API 340接收的区域间对等互连请求,在对等互连工作日志328中生成区域间对等互连工作条目。在一些实施例中,每个区域间对等互连记录可以包含但不限于以下中的一个或多个:
·操作(例如,创建对等互连操作、接受对等互连操作、删除对等互连操作、拒绝对等互连操作或验证一致性操作。)
·状态(例如,注册意图(register intent)、远程完成、最终完成;参见图6A和6B。)
·作为操作目标的远程区域网络的标识符。
区域网络302A可以向对等互连工作日志328提供API 344,IRC服务器332A到332m可以通过API 344请求区域间对等互连工作。在从工作日志328获得另一区域网络302的区域间对等互连工作后,例如获得对区域网络302B的创建对等互连请求或接受对等互连请求后,IRC服务器332调用另一区域网络302(例如,区域网络302B)上的API 340)以告知另一区域网络322上的控制平面322需要执行的工作(例如,创建对等互连或接受对等互连),从另一区域网络302上的API 340接收响应,然后通知区域网络322A的控制平面322通过API 342响应。在一些实施例中,区域网络322A的控制平面322可以接着将工作日志328中的相应条目标记为完成,使得其它IRC服务器322不尝试执行所述工作。
图3B示出,在一些实施例中,图3A所示的控制平面322和对等互连数据存储324在逻辑上可以是区域网络302A的网络基体304并在其中执行,而IRC机群330中的IRC服务器332在向提供商网络的客户提供VM 340和虚拟化专用网络的区域网络302A上的虚拟化服务308环境中作为VM执行。
图4示出根据一些实施例的被实施为跨越提供商网络的区域网络中的区分布的虚拟机的区域间协调器(IRC)服务器的机群。在一些实施例中,区域网络(区域网络402A,在此实例中)可以包含多个可用性区404,例如图4所示的可用性区404A、404B和404C。每个可用性区404可以由相应区域网络402A内的一个或多个数据中心实施;数据中心可以实施一个或多个可用性区404。区域网络402A中的可用性区404A到404C可以通过低延迟链路(例如,专用高带宽光纤链路)连接并共同形成区域网络402A。区域402A内的不同可用性区404中的端点之间的通信(例如,客户的虚拟资源)可以通过例如因特网等中间网络或通过低延迟链路。在一些实施例中,提供商网络服务可以跨越区域网络402A的可用性区404A到404C提供客户的虚拟资源(例如,VM)的复制。如果一个可用性区404由于某种原因而停机,那么通过跨越可用性区404A到404C复制客户的虚拟资源,客户的虚拟资源可以在区域网络402A中的另一可用性区404中保持可用。如图4所示,在一些实施例中,IRC服务器432的机群430可以跨越区域网络402A中的可用性区404A到404C分布。在一些实施例中,可以使用提供商网络服务将IRC服务器432实施为可用性区404A到404C中的VM,所述提供商网络服务为可用性区404A到404C中的主机装置上的客户提供VM并跨越可用性区404A到404C提供客户的VM的复制。
图5示出根据一些实施例的IRC服务器的组件。如上所述,在一些实施例中,给定区域网络(区域网络502A,在此实例中)中的IRC服务可以包含IRC服务器532A到532m的机群,所述机群例如通过向提供商网络的客户提供VM作为资源的相同服务和技术实施为区域网络502A上的VM。如图5所示,区域网络502A的IRC机群内的每个IRC服务器532A可以包含单独线程池534A到534p,所述单独线程池对与区域网络502A协调的每个其它区域网络502B到502p执行区域间对等互连操作;在每个其它区域网络502的每个IRC服务器532上具有单独线程池534可能有助于防止一个远程区域网络502中的问题影响与其它远程区域网络502的区域间协调。因此,在一些实施例中,在每个区域网络502中的每个IRC服务器532中可存在n-1个池,其中n是区域网络502的总数目。
如图5所示,区域网络502A的IRC机群中的每个IRC服务器532A可以包含对应于线程池534A到534p的单独线程池令牌桶536A到536m。在一些实施例中,例如,可以使用恒定工作过程来控制由区域网络502A内的IRC服务器532A到532m执行的区域间API调用的速率,通过所述恒定工作过程,IRC服务器532A到532m使区域间对等互连工作以恒定速率进行(称为每秒交易或TPS)。在一些实施例中,可以针对区域网络502A内的IRC服务设置TPS,并且可以在IRC服务器532A到532m之间细分区域网络502A的TPS。例如,给定区域网络502A的TPS为T,并且假定在区域网络502A中存在m个IRC服务器532,那么每个IRC服务器532的TPS可以是T/m。在一些实施例中,IRC服务可以使用令牌来限制每个IRC服务器532的TPS;令牌可以根据区域网络502A的TPS T在机群中的IRC服务器532之间分布,每个IRC服务器532接收T/m令牌。在一些实施例中,IRC服务器532A上的每个线程池534可存在一个令牌桶536。因此,在一些实施例中,在每个区域网络502中的每个IRC服务器532中可存在n-1个令牌桶536,其中n是区域网络502的总数目。
在一些实施例中,恒定工作速率可以用三种类型的工作(驱动完成、到期对等互连和验证一致性)的可配置加权比例填充。当IRC服务器532A准备好根据其TPS进行工作时,所述IRC服务器必须首先进行区域间工作。为了获得工作,IRC服务器532A将API调用到区域网络502A的区域间工作日志并指定要检索的工作类型。在一些实施例中,IRC服务器532A基于可配置的加权比例随机选择要执行的工作类型。随着时间的推移,这样随机选择工作可能会收敛于配置的百分比。例如,此方法可以防止驱动完成操作使到期对等互连操作不足。在一些实施例中,如果IRC服务器532A随机选择执行驱动完成操作或到期对等互连操作,但没有进行驱动完成工作,那么IRC服务器532A可以改为执行验证一致性操作。这可能有助于维持区域间对等互连API调用的速率恒定。
图6A和6B示出根据一些实施例的用于创建对等互连和接受对等互连操作的本地-远程-本地操作期间的分布状态变化。图6A示出当执行创建对等互连操作时的分布状态改变。图6B示出当执行接受对等互连操作时的分布状态改变。应注意,实施例可以支持跨客户区域间对等互连,在这种情况下,一个客户拥有区域网络602A中与不同客户所拥有的在区域网络602B中的专用网络对等互连的专用网络,并且实施例还可以支持相同客户区域间对等互连,在这种情况下,相同客户拥有对等互连的在区域网络602A中的专用网络和在区域网络602B中的专用网络。
在图6A中,客户例如通过对等互连API在区域网络602A上生成指定区域网络602A上的本地专用网络PN1和区域网络602B上的远程专用网络PN2的区域间对等互连请求。区域网络602A中的对等互连状态是发起请求(PN1),并且区域间状态是注册意图。区域网络602A上的IRC对区域网络602B执行创建对等互连操作;区域网络602B中的对等互连状态是正在等待接受(PN2),并且区域间状态是远程完成。区域网络602A上的IRC从区域网络602B接收对创建对等互连操作的响应;区域网络602A中的对等互连状态变成等待接受(PN1),并且区域间状态是最终完成。
在图6B中,客户例如通过对等互连API,针对区域网络602A上的专用网络PN1和区域网络602B上的专用网络PN2的区域间对等互连请求在区域网络602B上生成接受对等互连请求。区域网络602B中的对等互连状态变成提供(PN2),并且区域间状态是注册意图。区域网络602B上的IRC对区域网络602A执行接受对等互连操作;区域网络602A中的对等互连状态变成活动(PN1),并且区域间状态是远程完成。区域网络602B上的IRC从区域网络602A接收对接受对等互连操作的响应;区域网络602B中的对等互连状态变成活动(PN2),并且区域间状态是最终完成。
图7A和7B示出根据一些实施例的响应于发起对不同区域网络702A和702B中的两个专用网络之间的对等互连的区域间对等互连请求而执行的一系列操作。图7A示出从区域网络702A上的客户接收区域间对等互连请求。在A1处,例如通过区域网络702A的对等互连API,从客户接收区域间对等互连请求。在A2处,将区域间对等互连请求传递到区域网络702A的控制平面。控制平面为区域间对等互连请求创建区域间对等互连记录并在工作日志中为区域间对等互连请求生成创建对等互连工作项。在A3和A4处,操作完成。在一些实施例中,可以通过对等互连API告知客户区域间对等互连请求正在等待接受。
图7B示出使用本地-远程-本地方法来执行创建对等互连操作。图7B与图7A的操作异步地执行。在B1处,区域网络702A的IRC准备好例如根据针对区域网络702A上的IRC指定的TPS执行区域间对等互连工作,并调用区域网络702A控制平面的API以获得工作项。在B2处,将用于区域间对等互连请求的创建对等互连工作项返回到IRC。在B3处,区域网络702A的IRC调用区域网络702B上的API以将创建对等互连工作项发送到区域网络702B。在B4处,将创建对等互连工作项转发到区域网络702B的控制平面。区域网络702B的控制平面为区域间对等互连请求创建区域间对等互连记录,并且将区域间对等互连请求记录为等待接受。在B5和B6处,将响应返回到区域网络702A上的IRC。在B7处,区域网络702A上的IRC调用区域网络702A控制平面的API以向控制平面提供响应。控制平面将区域间对等互连请求记录为等待接受,并将创建对等互连工作项标记为完成。在B8处,完成本地-远程-本地操作。
图8A和8B示出根据一些实施例的响应于接受对不同区域网络中的两个专用网络之间的对等互连的区域间对等互连请求而执行的一系列操作。图8A示出从区域网络802B上的客户接收接受对等互连请求。如前所述,实施例可以支持跨客户区域间对等互连,并且还可以支持相同客户区域间对等互连。因此,客户可以是进行如图7A所示的区域间对等互连请求的相同客户,或者可以是不同客户。在C1处,例如通过区域网络802B的对等互连API,从客户接收接受对等互连请求。在C2处,将接受对等互连请求传递到区域网络802B的控制平面。控制平面更新区域间对等互连请求的区域间对等互连记录以指示区域间对等互连正在提供,并在工作日志中生成接受对等互连工作项。在C3和C4处,操作完成。在一些实施例中,可以通过对等互连API告知客户正在提供区域间对等互连请求。
图8B示出使用本地-远程-本地方法执行接受对等互连操作。图8B与图8A的操作异步地执行。在D1处,区域网络802B的IRC准备好例如根据针对区域网络702B上的IRC指定的TPS执行区域间对等互连工作,并调用区域网络802B控制平面的API以获得工作项。在D2处,将区域间对等互连请求的接受对等互连工作项返回到IRC。在D3处,区域网络802B的IRC调用区域网络802A上的API以将接受对等互连工作项发送到区域网络802A。在D4处,将接受对等互连工作项转发到区域网络802A的控制平面。区域网络802A的控制平面更新区域间对等互连记录以指示区域间对等互连处于活动状态,并例如通过将区域间对等互连的信息推送到区域网络802A的边缘装置而在区域网络802A中提供区域间对等互连。在D5和D6处,将响应返回到区域网络802B上的IRC。在D7处,区域网络802B的IRC调用区域网络区域网络802B控制平面的API以将响应提供到控制平面。控制平面更新区域间对等互连记录以指示区域间对等互连处于活动状态,并例如通过将区域间对等互连的信息推送到区域网络802B的边缘装置而在区域网络802B中提供区域间对等互连。在D8处,本地-远程-本地操作完成。
图9示出根据一些实施例的提供商网络900的不同区域网络902A和902B中的两个对等互连专用网络910A和910B之间的区域间对等互连和数据流。在区域间对等互连请求被接受后,可以在两个区域网络902A和902B上提供虚拟区域间对等互连。在一些实施例中,在区域网络902上提供区域间对等互连可以涉及在虚拟网络910的相应区域网络902上建立或配置每个虚拟网络910的虚拟对等互连过程920;虚拟对等互连过程920可以被视为对物理传输中心的虚拟模拟。虚拟对等互连过程920可以实施一个或多个虚拟端口924,所述虚拟端口可以在逻辑上连接到另一其它虚拟对等互连过程920上的虚拟端口924以建立对等互连连接以建立对等互连连接;对等互连连接可以被视为对连接对等互连物理网络的物理电缆的虚拟模拟。对等互连连接通过每个区域网络902中的网络基体904传递到相应区域网络902的边缘装置906。在一些实施例中,虚拟对等互连过程920根据在网络基体904上使用的协议封装传出IP包,并对传入IP包进行解封。对等互连连接通过连接区域网络902的提供商网络900主干930在两个区域网络902的边缘装置906之间传递。通过在区域网络的边缘装置906之间的主干930上传递对等互连连接,两个专用网络902之间的对等互连连接上的业务不通过例如因特网等公共网络。然而,在替代实施例中,对等互连连接可以改为在例如因特网等中间网络上通过安全连接(例如,虚拟专用网(VPN)连接)。在一些实施例中,边缘装置906对从对等互连过程920接收的IP包进行解封,并在将包发送到另一边缘装置906之前,根据在不同区域网络902中的边缘装置906之间的主干930上使用的协议封装IP包。对边缘装置906从另一边缘装置906接收的包进行解封,然后在将包发送到对等互连过程920之前根据在网络基体904上使用的协议进行封装。在一些实施例中,为了安全起见,两个边缘装置906之间的对等互连连接上的业务可以由边缘装置906签名和加密。一旦在不同区域网络902中的两个专用网络910之间建立对等互连连接,作为专用网络910中的VM执行的路由器实例916所使用的路由表就可以由相应客户用到对等互连连接的路由配置,并且两个专用网络910中的端点可接着开始通过对等互连连接通信,如同两个虚拟专用网络910通过物理电缆连接一样。
在一些实施例中,可提供对等互连服务和API,其允许客户配置和管理对等互连过程920、虚拟端口924、IP地址范围和路由表以用于区域间对等互连。在一些实施例中,客户可以配置特定端口以用于区域间对等互连。例如,除了允许客户限定虚拟端口924的路由表之外,还可以允许客户指定将用于虚拟对等互连的一个或多个特定网络协议(例如,TCP、UDP、ICMP等),指定用于对等互连的安全协议,指定用于对等互连的带宽等等。应注意,端口配置信息中的至少一些可以通过与要对等互连的专用网络910相关联的相应客户之间的带外协商来确定,然后可以通过对等互连服务和API针对对等互连的一个或多个端口进行配置。
图10是根据一些实施例的用于在提供商网络的两个区域网络之间执行本地-远程-本地操作的方法的流程图。两个区域网络可被称作区域A和区域B。如1000处所指示,区域A控制平面接收区域间请求。如1002处所指示,区域A控制平面在数据存储中为区域间请求生成条目。例如,在数据库中、在由控制平面维护的区域间工作日志中,或在某一其它存储位置中。条目指定要执行的区域间操作,并且还指定区域B作为用于区域间操作的目标区域网络。如从元素1002返回到元素1000的箭头指示,区域A控制平面可以继续接收区域间请求并生成工作日志条目。
如1004处所指示,区域A IRC服务器通过API向区域间工作日志请求区域间工作日志条目,并通过API获得区域间请求(本地操作)。在1006到1010处,区域A IRC服务器执行远程操作以将区域间请求发送到区域B。如1006处所指示,区域A IRC服务器通过API将区域间请求转发到区域B控制平面。如1008处所指示,区域B控制平面处理区域间请求。如1010处所指示,区域B控制平面将响应发送到区域A IRC服务器。
在1010和1012处,区域A IRC服务器执行本地操作以完成区域A中的区域间操作。如1012处所指示,区域A IRC服务器通过API将所述响应转发到区域A控制平面。区域A控制平面可以处理所述响应,并且可以执行一个或多个动作以完成区域A中的区域间操作。如1014处所指示,区域A控制平面将数据存储中的条目标记为完成。从元素1014返回到元素1004的箭头指示IRC服务器可以继续根据本地-远程-本地方法请求并处理区域间工作日志条目。在一些实施例中,IRC服务器可以根据恒定工作方法请求和执行区域间工作,在恒定工作方法中,IRC服务器以恒定速率执行区域间工作(称为每秒交易或TPS),例如图13所示。
图10的元素1004到1014与元素1000和1002异步地执行,并且由区域A中的IRC服务实施方案的区域A IRC服务器协调。如图10所示,元素1004是由区域A IRC服务器通过API向区域A控制平面发起的本地操作(即,在区域A本地),元素1006到1010是由区域A IRC服务器通过API向区域B控制平面发起的远程操作,并且元素1012和1014是由区域A IRC服务器通过API向区域A控制平面发起的本地操作。因此,区域A中的IRC服务实施方案与区域A的控制平面异步地操作,以协调提供商网络中的区域A与其它区域(例如,区域B)之间的区域间操作。通过使用IRC来异步地协调区域间操作,区域网络的控制平面不必直接通信,并且不需要控制平面之间的依赖性。
图11和12是根据一些实施例的用于请求和接受提供商网络的两个不同区域网络中的专用网络之间的区域间对等互连的方法的流程图。在所述方法中,通过与区域网络的控制平面异步地操作的两个区域网络中的相应IRC服务实施方案,在提供商网络的两个区域网络(在此实例中称为区域A和区域B)之间执行本地-远程-本地操作。通过使用IRC来异步地协调区域间操作,区域网络的控制平面不必直接通信,并且不需要控制平面之间的依赖性。应注意,实施例可以支持跨客户区域间对等互连,在这种情况下,一个客户拥有区域A中的专用网络并且不同客户拥有区域B中的专用网络,并且实施例还可以支持相同客户区域间对等互连,在这种情况下,相同客户拥有区域A中的专用网络和区域B中的专用网络两者。
图11是根据一些实施例的用于发起区域间对等互连请求的方法的流程图。如1100处所指示,客户通过区域A中的对等互连API发起对区域B的区域间对等互连请求。根据对等互连API从客户接收的区域间对等互连请求指定区域A中的客户的专用网络,并且还指定区域B中客户希望与之建立对等互连的另一专用网络。图14示出到对等互连API的示例区域间对等互连界面,客户可以通过所述对等互连API提交区域间对等互连请求。如1102处所指示,将区域间对等互连请求转发到区域A控制平面。如1104处所指示,区域A控制平面为区域间对等互连创建区域间对等互连记录。如1106处所指示,区域A控制平面为区域间对等互连请求生成创建对等互连区域间工作日志条目。如由从1106返回到1100的箭头指示,区域A控制平面可以继续通过对等互连API接收区域间对等互连请求(以及其它客户发起的请求,例如接受对等互连请求、拒绝对等互连请求和删除对等互连请求)并为客户发起的请求生成工作日志条目。
图11的元素1120到1132与元素1100到1106异步地执行,并且由区域A中的IRC服务实施方案的区域A IRC服务器协调。如1120处所指示,区域A IRC服务器通过API向区域A区域间工作日志请求工作并通过API接收创建对等互连区域间工作日志条目。如1122处所指示,区域A IRC服务器将区域间对等互连请求转发到区域B中的控制平面的API。如1124处所指示,将区域间对等互连请求转发到区域B控制平面。如1126处所指示,区域B控制平面为区域间对等互连创建对等互连记录并将区域间对等互连记录为等待接受。如1128处所指示,区域B控制平面将指示区域间对等互连请求正在等待接受的响应发送到区域A IRC服务器。如1130处所指示,区域A IRC服务器通过API将所述响应转发到区域A控制平面。如1132处所指示,区域A控制平面将区域间对等互连记录为等待接受,并将区域A区域间工作日志中的创建对等互连条目标记为完成。
图12是根据一些实施例的用于接受区域间对等互连请求的方法的流程图。如1200处所指示,客户通过区域B中的对等互连API接受等待的区域间对等互连请求。图14示出到对等互连API的示例区域间对等互连界面,客户可以通过所述对等互连API查看和接受(或拒绝)等待的区域间对等互连请求。如1202处所指示,将区域间对等互连请求的接受转发到区域B控制平面。如1204处所指示,区域B控制平面将区域间对等互连记录为提供,并在区域B区域间工作日志中创建接受对等互连区域间工作日志条目。如由从1204返回到1200的箭头指示,区域B控制平面可以继续通过对等互连API接收接受对等互连请求(以及其它客户发起的请求,例如区域间对等互连请求、拒绝对等互连请求和删除对等互连请求)并为客户发起的请求生成工作日志条目。
图12的元素1220到1232与元素1200到1204异步地执行,并且由区域B中的IRC服务实施方案的区域B IRC服务器协调。如1220处所指示,区域B IRC服务器通过API向区域B区域间工作日志请求工作并通过API接收接受对等互连区域间工作日志条目。如1222处所指示,区域B IRC服务器将区域间对等互连请求的接受转发到区域A中的控制平面的API。如1224处所指示,将区域间对等互连请求的接受转发到区域A控制平面。如1226处所指示,区域A控制平面将区域间对等互连记录为活动的并在区域A中提供区域间对等互连。如1228处所指示,区域A控制平面过程将指示区域间对等互连处于活动状态的响应发送到区域B IRC服务器。如1230处所指示,区域B IRC服务器通过API将所述响应转发到区域B控制平面。如1232处所指示,区域B控制平面过程将区域间对等互连记录为活动的,在区域B中提供区域间对等互连,并将区域B工作日志中的接受对等互连条目标记为完成。
图13是根据一些实施例的用于以恒定速率执行IRC工作的方法的流程图。如1300处所指示,确定区域网络中的IRC服务器的TPS。如1302处所指示,IRC服务器开始在区域网络上执行。在1304处,如果IRC服务器准备好根据TPS执行工作,那么如1306处所指示,IRC服务器基于加权比例随机选择工作的类型(例如,驱动完成、到期对等互连或验证一致性)。作为非限制性实例,加权比例可以使IRC服务器尝试以60%的时间执行驱动完成工作,以30%的时间执行到期对等互连工作,并以20%的时间执行验证一致性工作。在1304处,如果IRC服务器未准备好根据TPS执行工作,那么IRC服务器等待。
在1308处,如果选定的工作类型是驱动完成工作,那么如1310处所指示,IRC服务器从区域网络的区域间对等互连工作日志请求驱动完成工作(例如,创建对等互连、接受对等互连或删除对等互连)。在1312处,如果驱动完成工作是可用的,那么IRC服务器执行驱动完成工作(例如,创建对等互连、接受对等互连或删除对等互连),如1314处所指示。否则,如果驱动完成工作不可用,那么IRC服务器执行验证一致性工作,如1330处所指示。
在1308处,如果选定的工作类型是到期对等互连,那么如1320处所指示,IRC服务器从区域网络的区域间对等互连工作日志请求到期的工作。在1322处,如果到期对等互连工作可用,那么IRC服务器执行到期对等互连工作,如1324处所指示。否则,如果到期对等互连工作不可用,那么IRC服务器执行验证一致性工作,如1330处所指示。
在1308处,如果选定的工作类型是验证一致性,那么IRC服务器执行验证一致性工作,如1330处所指示。在其它类型的工作不可用时执行验证一致性工作确保IRC服务器以恒定的速率执行区域间对等互连工作。
图14示出根据一些实施例的示例区域间对等互连界面。提供商网络1400的客户可以通过提供商网络1400的一个或多个服务建立、提供和管理提供商网络1400的区域网络1402中的专用网络,所述提供商网络是通过客户端网络1480上的管理控制台1482来访问的。客户可以通过管理控制台1482访问区域网络1402A上的对等互连API 1409,以请求、接受、拒绝和删除从区域网络1402上的客户专用网络到提供商网络1400的其它区域中的其它专用网络(区域网络1402B和1402C,在此实例中)的虚拟对等互连。
在至少一些实施例中,对等互连API 1409可在控制台1482上显示对等互连界面1484。对等互连界面1484可以提供一个或多个图形和/或文字界面元素,其允许客户创建和管理从区域网络1402A中的客户专用网络到其它区域网络1402B和1402C中的其它专用网络的虚拟对等互连。为了促进建立区域间对等互连,API 1409可以通过界面1484的界面元素将以下能力中的一个或多个提供给客户:
·请求在区域网络1402A中的本地专用网络(PN 1,在此实例中)与远程专用网络(区域B(区域网络1402B)中的PN 2,在此实例中)之间进行区域间对等互连的能力。
·接受或拒绝由其它客户(或由此客户从另一区域)提交的对区域网络1402A中的客户专用网络的区域间对等互连请求的能力。在此实例中,区域B中的专用网络PN 3与区域A(区域网络1402A)中的客户专用网络PN 1之间的对等互连存在等待的区域间对等互连请求。
·查看和删除对区域网络1402A中的客户专用网络的现有区域间对等互连的能力。在此实例中,区域C(区域网络1402C)中的PN 4与区域A(区域网络1402A)中的客户专用网络PN 5之间存在现有对等互连。
客户可以例如使用光标控制装置来选择由界面1484提供的各种界面元素,以例如提交区域间对等互连请求,接受或拒绝区域间对等互连请求,或删除现有的区域间对等互连。界面1484可以包含除了所示出的那些以外的其它用户界面元素,例如菜单或允许客户配置和管理虚拟传输中心(在图9中示出为对等互连过程)的其它元素、虚拟端口、IP地址范围和路由表以用于区域间对等互连。在一些实施例中,对等互连API 1409可以通过界面1484提供允许客户配置特定端口以用于区域间对等互连的一个或多个界面元素。例如,除了允许客户限定虚拟端口的路由表之外,还可以允许客户指定将用于虚拟对等互连的一个或多个特定网络协议(例如,TCP、UDP、ICMP等),指定用于对等互连的安全协议,指定用于对等互连的带宽等等。应注意,端口配置信息中的至少一些可以通过与要对等互连的专用网络相关联的相应客户之间的带外协商来确定,然后可以通过API 1409针对对等互连的一个或多个端口进行配置。
验证一致性操作
如图13所示,区域网络上的IRC服务器可以执行验证一致性操作以验证区域网络与其它区域网络之间的区域间对等互连记录的一致性。在一些实施例中,为了执行验证一致性操作,第一区域网络上的IRC服务器可以通过API向控制平面请求验证一致性工作。控制平面可以跟踪已经验证的对等互连记录,并且可以查询对等互连记录存储以获得下一个需要验证的对等互连记录。控制平面可以接着将对等互连记录的校验和以及标识对应于所述对等互连记录的区域间对等互连的信息返回给IRC服务器(例如,标识区域网络和第二区域网络的信息以及标识对等互连专用网络的信息)。IRC服务器可以接着执行如图10所示的本地-远程-本地操作,其中IRC服务器通过第二区域网络的API将从控制平面接收的验证对等互连信息发送到第二区域网络的控制平面。在将验证对等互连信息提供给IRC服务器之前,可以对所述信息进行加密。第二区域网络的控制平面例如通过比较所接收的校验和与第二区域网络上相应对等互连记录的校验和来验证第二网络上对应于所接收信息的对等互连记录与第一区域网络上的对等互连记录同步,并将响应发送到第一区域网络上的IRC服务器。IRC服务器将所述响应转发到第一区域网络的控制平面。响应可以指示两个对等互连记录是同步的,在这种情况下,不需要进一步的动作,或者响应可以指示两个对等互连记录是不同步的,在这种情况下,响应可以包含第一区域网络上的控制平面可以用于更新第一区域网络上的对等互连记录的信息。
拒绝对等互连操作
如前所述,客户可以拒绝等待的区域间对等互连请求。在一些实施例中,在从客户接收到对等待的区域间对等互连请求的拒绝后,控制平面和IRC服务可以执行与参考图12描述的方法类似的方法来接受区域间对等互连请求。在一些实施例中,为了处理区域间对等互连请求的拒绝,区域B控制平面将区域间对等互连记录为在区域B中被拒绝,并在区域B区域间工作日志中创建拒绝对等互连区域间工作日志条目。区域B IRC服务器通过API向区域B区域间工作日志请求工作,并通过API接收拒绝对等互连区域间工作日志条目。区域BIRC服务器将区域间对等互连请求的拒绝转发到区域A中的控制平面的API。区域间对等互连请求的拒绝被转发到区域A控制平面。区域A控制平面将区域间对等互连记录为被拒绝,并且向区域B IRC服务器发送指示区域间对等互连被拒绝的响应。区域B IRC服务器通过API将所述响应转发到区域B控制平面。区域B控制平面将区域B工作日志中的拒绝对等互连条目标记为完成。
删除对等互连操作
如前所述,客户可以删除现有的区域间对等互连。在一些实施例中,在从客户接收到删除现有的区域间对等互连的请求后,控制平面和IRC服务可以执行与参考图11描述的方法类似的方法来创建区域间对等互连请求。在一些实施例中,为了处理区域间对等互连的删除,区域A控制平面将区域间对等互连记录为在区域A中被删除,并在区域A区域间工作日志中创建删除对等互连区域间工作日志条目。区域A IRC服务器通过API向区域A区域间工作日志请求工作,并通过API接收删除对等互连区域间工作日志条目。区域A IRC服务器将区域间对等互连的删除转发到区域B中的控制平面的API。区域间对等互连的删除被转发到区域B控制平面。区域B控制平面将区域间对等互连记录为被删除并将指示区域间对等互连在区域B中被删除的响应发送到区域A IRC服务器。区域A IRC服务器通过API将所述响应转发到区域A控制平面。区域A控制平面将区域A工作日志中的删除对等互连条目标记为完成。指示区域间对等互连已经被删除的信息可以由相应控制平面推送到相应区域网络的边缘服务器。
到期对等互连操作
如前所述,区域网络上的IRC服务器可以执行到期对等互连操作,以使等待接受的时间长于阈值时间量(例如,一周)的区域间对等互连请求到期。在一些实施例中,控制平面过程可以监视区域网络的区域间工作日志中的区域间对等互连请求,以检测等待接受的时间长于阈值时间量的区域间对等互连请求,并且可以为检测到的到期对等互连生成到期对等互连工作日志条目。在一些实施例中,为了执行到期对等互连操作,区域网络上的IRC服务器可以执行本地-远程-本地操作,例如图10所示。IRC服务器可以通过API向控制平面请求到期对等互连工作。控制平面可以恢复到期对等互连工作日志条目。IRC服务器可以接着通过到远程区域网络的控制平面的API将到期对等互连工作日志条目转发到远程区域网络。远程区域网络的控制平面可以将区域间对等互连请求(先前处于等待接受状态)记录为到期,并将响应返回到IRC服务器。IRC服务器通过API将所述响应转发到区域网络的控制平面。区域网络的控制平面还可以将区域间对等互连请求(先前处于等待接受状态)记录为到期,并且可以将到期对等互连工作日志条目标记为完成。应注意,到期区域间对等互连请求无法接受。
示例提供商网络环境
此部分描述示例提供商网络环境,其中可以实施参考图1到14描述的方法和设备的实施例。然而,这些示例提供商网络环境并不希望是限制性的。
图15示出根据一些实施例的示例提供商网络环境。提供商网络4000可以通过一个或多个虚拟化服务4010对客户端提供资源虚拟化,所述虚拟化服务允许客户端购买、租用或另外获得虚拟化资源的实例4012,包含但不限于计算和存储资源,所述虚拟化资源在一个或多个数据中心中实施于一个或多个提供商网络内的装置上。专用IP地址4016可以与资源实例4012相关联;专用IP地址是提供商网络4000上的资源实例4012的内部网络地址。在一些实施例中,提供商网络4000还可以提供客户端可以从提供商4000获得的公共IP地址4014和/或公共IP地址范围(例如,第四版因特网协议(IPv4)或第六版因特网协议(IPv6)地址)。
常规地,通过虚拟化服务4010,提供商网络4000可以允许服务提供商的客户端(例如,操作客户端网络4050A的客户端)使被指派或分配给客户端的至少一些公共IP地址4014与被指派给客户端的特定资源实例4012动态地关联。提供商网络4000还可以允许客户端将先前映射到分配给客户端的一个虚拟化计算资源实例4012的公共IP地址4014重新映射到也分配给所述客户端的另一虚拟化计算资源实例4012。使用由服务提供商提供的虚拟化计算资源实例4012和公共IP地址4014,例如客户端网络4050A的运营商的服务提供商的客户端可以例如实施客户端特定的应用并且在例如因特网的中间网络4040上呈现客户端的应用。中间网络4040上的其它网络实体4020可以随后产生到由客户端网络4050A公布的目的地公共IP地址4014的业务;所述业务路由到服务提供商数据中心,并且在数据中心通过网络基体路由到当前映射到目的地公共IP地址4014的虚拟化计算资源实例4012的专用IP地址4016。类似地,来自虚拟化计算资源实例4012的响应业务可以通过网络基体路由回到中间网络4040上到源实体4020。
如本文所使用,专用IP地址指代提供商网络中的资源实例的内部网络地址。专用IP地址仅可在提供商网络内路由。在提供商网络外部发起的网络业务不直接路由到专用IP地址;而是,所述业务使用映射到资源实例的公共IP地址。提供商网络可以包含提供网络地址转换(NAT)或相似功能性的联网装置或器具,以执行从公共IP地址到专用IP地址的映射,以及从专用IP地址到公共IP地址的映射。
如本文所使用,公共IP地址是由服务提供商或由客户端指派给资源实例的因特网可路由的网络地址。路由到公共IP地址的业务例如通过1:1网络地址转换(NAT)而转换并转发到资源实例的相应专用IP地址。
一些公共IP地址可以由提供商网络基础架构指派给特定资源实例;这些公共IP地址可称为标准公共IP地址,或简单地称为标准IP地址。在一些实施例中,资源实例的标准IP地址到专用IP地址的映射是用于所有资源实例类型的默认启动配置。
至少一些公共IP地址可以分配给提供商网络4000的客户端或由其获得;客户端随后可以将其被分配的公共IP地址指派给分配给所述客户端的特定资源实例。这些公共IP地址可称为客户端公共IP地址,或简单地称为客户端IP地址。并非如同标准IP地址的情况由提供商网络4000指派给资源实例,客户端IP地址可以例如通过服务提供商提供的API而由客户端指派给资源实例。不同于标准IP地址,客户端IP地址分配给客户端账户并且可在必要或需要时由相应客户端重新映射到其它资源实例。客户端IP地址与客户端的账户而不是特定资源实例相关联,并且客户端控制所述IP地址直到客户端选择将其释放为止。不同于常规静态IP地址,客户端IP地址允许客户端通过将客户端的公共IP地址重新映射到与客户端的账户相关联的任何资源实例而掩蔽资源实例或可用性区故障。客户端IP地址例如使客户端能够通过将客户端IP地址重新映射到替换资源实例来解决客户端的资源实例或软件的问题。
图16示出根据一些实施例的使用IP隧道技术在网络基体上实施覆盖网络的示例数据中心。提供商数据中心4100可以包含网络基体,所述网络基体包含联网装置4112,例如路由器、交换机、网络地址转换器(NAT)等等。一些实施例可以采用因特网协议(IP)隧道技术以提供覆盖网络,通过所述覆盖网络,可以使用隧道来使封装的包通过网络基体4110。IP隧道技术可以提供用于在网络(例如,图16的数据中心4100中的本地网络)上创建覆盖网络的映射和封装***,并且可以提供用于覆盖层(公共IP地址)和网络基体4110层(专用IP地址)的单独名称空间。可以对照映射目录(例如,由映射服务4130提供)检查覆盖层中的包以确定其隧道基体目标(专用IP地址)应当是什么。IP隧道技术提供虚拟网络拓扑(覆盖网络);呈现给客户端的接口(例如,服务API)附接到覆盖网络,使得当客户端提供客户端想要向其发送包的IP地址时,IP地址通过与知道IP覆盖地址是哪里的映射服务(例如,映射服务4130)通信而在虚拟空间中运行。
在一些实施例中,IP隧道技术可以将IP覆盖地址(公共IP地址)映射到基体IP地址(专用IP地址),将包封装于所述两个名称空间之间的隧道中,并且通过隧道将包递送到正确端点,在所述隧道处从包剥离封装。在图16中,示出从主机4120A上的虚拟机(VM)4124A到中间网络4150上的装置的示例覆盖网络隧道4134A以及主机4120B上的VM 4124B与主机4120C上的VM 4124C之间的示例覆盖网络隧道4134B。在一些实施例中,包可以在发送之前以覆盖网络包格式封装,并且覆盖网络包可以在接收之后被剥离。在其它实施例中,并非将包封装在覆盖网络包中,覆盖网络地址(公共IP地址)可以在发送之前嵌入于包的基体地址(专用IP地址)中,并且在接收之后即刻从包地址剥离。作为实例,可以使用32位第四版因特网协议(IPv4)地址作为公共IP地址来实施覆盖网络,并且IPv4地址可以作为在基体网络上用作专用IP地址的128位第六版因特网协议(IPv6)地址的部分而嵌入。
参考图16,其中可以实施实施例的至少一些网络可以包含硬件虚拟化技术,所述技术使多个操作***能够在主机计算机(例如,图16的主机4120A和4120B)上同时运行,即在主机4120上作为虚拟机(VM)4124运行。VM 4124可以在出租或租用给网络提供商的客户端的主机4120上的槽上执行。主机4120上的监管程序或虚拟机监视器(VMM)4122为主机上的VM 4124呈现虚拟平台并监视VM 4124的执行。可以为每一VM 4124提供一个或多个专用IP地址;主机4120上的VMM 4122可以知道主机上的VM 4124的专用IP地址。映射服务4130可以知道所有网络IP前缀以及在本地网络上服务IP地址的路由器或其它装置的IP地址。这包含服务多个VM 4124的VMM 4122的IP地址。映射服务4130可以例如集中在服务器***上,或替代地可以分布于网络上的两个或更多个服务器***或其它装置之间。网络可以例如使用映射服务技术和IP隧道技术以例如在数据中心4100网络内的不同主机4120上的VM 4124之间路由数据包;应注意,可以使用内部网关协议(IGP)在此本地网络内交换路由信息。
另外,例如提供商数据中心4100网络(有时称为自主***(AS))的网络可以使用映射服务技术、IP隧道技术和路由服务技术以将包从VM 4124路由到因特网目的地,以及从因特网源路由到VM 4124。应注意,外部网关协议(EGP)或边界网关协议(BGP)通常用于因特网上的源与目的地之间的因特网路由。图16示出根据一些实施例的示例提供商数据中心4100,其实施提供资源虚拟化技术并且提供通过连接到因特网传输提供商的边缘路由器4114的完整因特网接入的网络。提供商数据中心4100可以例如为客户端提供通过硬件虚拟化服务实施虚拟计算***(VM 4124)的能力以及通过存储虚拟化服务在存储资源4118上实施虚拟化数据存储4116的能力。
数据中心4100网络可以实施IP隧道技术、映射服务技术和路由服务技术以将业务路由到虚拟化资源和从虚拟化资源路由业务,例如将包从数据中心4100中的主机4120上的VM 4124路由到因特网目的地,以及从因特网源路由到VM 4124。因特网源和目的地可以例如包含连接到中间网络4140的计算***4170和连接到本地网络4150的计算***4152,所述本地网络连接到中间网络4140(例如,通过将网络4150连接到因特网传输提供商的边缘路由器4114)。提供商数据中心4100网络还可以在数据中心4100中的资源之间路由包,例如从数据中心4100中的主机4120上的VM 4124路由到数据中心4100中的同一主机或其它主机4120上的其它VM 4124。
提供数据中心4100的服务提供商还可以提供额外数据中心4160,其包含与数据中心4100相似的硬件虚拟化技术并且也可以连接到中间网络4140。包可以从数据中心4100转发到其它数据中心4160,例如从数据中心4100中的主机4120上的VM 4124转发到另一相似数据中心4160中的另一主机上的另一VM,以及从所述另一VM转发到VM 4124。
虽然上文描述使多个操作***能够在主机计算机上作为主机上的虚拟机(VM)同时运行的硬件虚拟化技术,其中VM可以在出租或租用给网络提供商的客户端的主机上的槽上实例化,但硬件虚拟化技术还可用于以类似方式将其它计算资源,例如存储资源4118,作为虚拟化资源提供到网络提供商的客户端。
图17是根据一些实施例的对客户端提供存储虚拟化服务服务和硬件虚拟化服务的示例提供商网络的框图。硬件虚拟化服务4220提供多个计算资源4224(例如,VM)给客户端。计算资源4224可以例如出租或租用给提供商网络4200的客户端(例如,实施客户端网络4250的客户端)。可以为每一计算资源4224提供一个或多个专用IP地址。提供商网络4200可以被配置成将包从计算资源4224的专用IP地址路由到公共因特网目的地,以及从公共因特网源路由到计算资源4224。
提供商网络4200可以为例如通过本地网络4256联接到中间网络4240的客户端网络4250提供通过联接到中间网络4240和提供商网络4200的硬件虚拟化服务4220实施虚拟计算***4292的能力。在一些实施例中,硬件虚拟化服务4220可以提供一个或多个API4202,例如网络服务接口,通过所述接口,客户端网络4250可以例如通过控制台4294接入由硬件虚拟化服务4220提供的功能性。在一些实施例中,在提供商网络4200处,在客户端网络4250处的每一虚拟计算***4292可以对应于租用、出租或另外提供给客户端网络4250的计算资源4224。
从虚拟计算***4292和/或另一客户端装置4290或控制台4294的实例,客户端可以例如通过一个或多个API 4202接入存储虚拟化服务4210的功能性,以从由提供商网络4200提供的虚拟数据存储4216接入数据和对其存储数据。在一些实施例中,虚拟化数据存储网关(未图示)可以提供在客户端网络4250处,所述网关可以在本地缓存至少一些数据,例如频繁存取的或关键的数据,并且可以通过一个或多个通信信道与虚拟化数据存储服务4210通信以从本地高速缓冲存储器上载新的或修改的数据以使得数据的初级存储(虚拟化数据存储4216)得以维持。在一些实施例中,用户可以通过虚拟计算***4292和/或在另一客户端装置4290上安装和接入虚拟数据存储4216容量,其对用户表现为本地虚拟化存储4298。
虽然图17中未示出,但也可以通过API 4202从提供商网络4200内的资源实例接入虚拟化服务。举例来说,客户端、应用服务提供商或其它实体可以通过API 4202从提供商网络4200上的相应虚拟网络内接入虚拟化服务,以请求虚拟网络内或另一虚拟网络内的一个或多个资源实例的分配。
图18示出根据一些实施例的示例提供商网络,其在提供商网络上对至少一些客户端提供虚拟网络。提供商网络4300上的客户端的虚拟网络4360例如使客户端能够将客户端网络4350上的其现有基础架构(例如,装置4352)连接到一组逻辑上隔离的资源实例(例如,VM 4324A和4324B以及存储4318A和4318B),并且将例如安全服务、防火墙和入侵检测***等管理能力扩展到包含其资源实例。
客户端的虚拟网络4360可以通过专用通信信道4342连接到客户端网络4350。专用通信信道4342可以例如为根据网络隧道技术或某种其它技术在中间网络4340上实施的隧道。中间网络可以例如为共享网络或公共网络,例如因特网。替代地,可以在虚拟网络4360与客户端网络4350之间的直接专用连接上实施专用通信信道4342。
公共网络可以广泛地限定为提供对多个实体的开放接入和它们之间的互连性的网络。因特网或万维网(WWW)是公共网络的实例。共享网络可以广泛地限定为接入被限于两个或更多个实体的网络,而不是接入一般不受限制的公共网络。共享网络可以例如包含一个或多个局域网(LAN)和/或数据中心网络,或者互连以形成广域网(WAN)的两个或更多个LAN或数据中心网络。共享网络的示例可以包含但不限于公司网络和其它企业网络。共享网络可以是从覆盖局部区域的网络到全球网络的范围中的任何地方。应注意,共享网络可以与公共网络共享至少一些网络基础架构,并且共享网络可以联接到可以包含公共网络的一个或多个其它网络,其中在所述其它网络与共享网络之间具有受控接入。与例如因特网的公共网络相比,共享网络也可以被视为专用网络。在一些实施例中,共享网络或公共网络可以充当提供商网络与客户端网络之间的中间网络。
为了在提供商网络4300上为客户端建立虚拟网络4360,可以将一个或多个资源实例(例如,VM 4324A和4324B以及存储4318A和4318B)分配给虚拟网络4360。应注意,其它资源实例(例如,存储4318C和VM 4324C)可以在提供商网络4300上保持可用以供其它客户端使用。也可以将一系列的公共IP地址分配给虚拟网络4360。另外,可以将提供商网络4300的一个或多个联网装置(路由器、交换机等)分配给虚拟网络4360。可以在虚拟网络4360处的专用网关4362与客户端网络4350处的网关4356之间建立专用通信信道4342。
在一些实施例中,除专用网关4362之外或替代于专用网关4362,虚拟网络4360可以包含公共网关4364,所述公共网关使虚拟网络4360内的资源能够通过中间网络4340与实体(例如,网络实体4344)直接通信,反之亦然,作为对通过专用通信信道4342进行通信的替代或补充。
虚拟网络4360可以但不一定细分为两个或更多个子网络或子网4370。举例来说,在包含专用网关4362和公共网关4364两者的实施方案中,虚拟网络4360可以细分为包含通过专用网关4362可到达的资源(在此实例中,VM 4324A和存储4318A)的子网4370A,以及包含通过公共网关4364可到达的资源(在此实例中,VM 4324B和存储4318B)的子网4370B。
客户端可以将特定客户端公共IP地址指派给虚拟网络4360中的特定资源实例。中间网络4340上的网络实体4344随后可以将业务发送到由客户端公布的公共IP地址;所述业务由提供商网络4300路由到相关联资源实例。来自资源实例的返回业务由提供商网络4300在中间网络4340上路由回到网络实体4344。应注意,在资源实例与网络实体4344之间路由业务可能需要网络地址转换以在资源实例的公共IP地址与专用IP地址之间进行转换。
一些实施例可以允许客户端将如图18所示的客户端的虚拟网络4360中的公共IP地址重新映射到客户端的外部网络4350上的装置。当(例如,从网络实体4344)接收到包时,网络4300可以确定由包指示的目的地IP地址已重新映射到外部网络4350上的端点,并且通过专用通信信道4342或通过中间网络4340处置包到相应端点的路由。响应业务可以通过提供商网络4300从端点路由到网络实体4344,或替代地可以由客户端网络4350直接路由到网络实体4344。从网络实体4344的角度来看,似乎如同网络实体4344与提供商网络4300上的客户端的公共IP地址通信一样。然而,网络实体4344实际上与客户端网络4350上的端点通信。
虽然图18示出在中间网络4340上和提供商网络4300外部的网络实体4344,但网络实体可以是提供商网络4300上的实体。举例来说,由提供商网络4300提供的资源实例中的一个可以是将业务发送到由客户端公布的公共IP地址的网络实体。
可根据以下条款描述本公开的实施例:
1.一种提供商网络,其包括:
两个或更多个区域网络,其各自包括:
一个或多个虚拟专用网络,其各自包含在所述虚拟专用网络的相应区域网络上的主机装置上执行的一个或多个虚拟机;
控制平面,其由对所述控制平面的相应区域网络执行网络配置和管理的一个或多个装置实施;和
区域间协调器(IRC)服务,其包括一个或多个IRC服务器;
其中所述两个或更多个区域网络中的第一区域网络的所述控制平面进一步执行:
通过所述第一区域网络的对等互连应用程序编程接口(API)从客户接收对所述第一区域网络上的第一虚拟专用网络的区域间对等互连请求,其中所述区域间对等互连请求指定所述两个或更多个区域网络中的第二区域网络上的第二虚拟专用网络;和
在所述第一区域网络上的区域间工作日志中为所述区域间对等互连请求生成创建对等互连记录;
其中所述第一区域网络上的所述IRC服务器中的一个执行:
通过到所述区域间工作日志的API从所述第一区域网络上的所述区域间工作日志获得所述区域间对等互连请求的所述创建对等互连记录;
根据到所述第二区域网络的所述控制平面的API将所述创建对等互连记录发送到所述第二区域网络的所述控制平面;
从所述第二区域网络接收由所述创建对等互连记录指示的对所述区域间对等互连请求的响应,其中所述响应指示所述区域间对等互连请求正在等待接受;和
通过到所述第一区域网络的所述控制平面的API将对所述区域间对等互连请求的所述响应发送到所述第一区域网络的所述控制平面。
2.根据条款1所述的提供商网络,其中所述两个或更多个区域网络中的所述第二区域网络的所述控制平面进一步执行:
通过所述第二区域网络的对等互连API从与所述两个或更多个区域网络中的所述第二区域网络上的所述第二虚拟专用网络相关联的客户接收所述区域间对等互连请求的接受;和
在所述第二区域网络上的区域间工作日志中为所述区域间对等互连请求生成接受对等互连记录。
3.根据条款2所述的提供商网络,其中所述第二区域网络上的所述IRC服务器中的一个执行:
通过到所述区域间工作日志的API从所述第二区域网络上的所述区域间工作日志获得所述区域间对等互连请求的所述接受对等互连记录;
根据到所述第一区域网络的所述控制平面的所述API将所述接受对等互连记录转发到所述第一区域网络的所述控制平面;
从所述第一区域网络接收对所述接受对等互连记录的响应,其中所述响应指示所述区域间对等互连处于活动状态;和
根据到所述第二区域网络的所述控制平面的所述API将对所述接受对等互连记录的所述响应转发到所述第二区域网络的所述控制平面。
4.根据条款3所述的提供商网络,其中所述第二区域网络的所述控制平面进一步执行:
在从所述第一区域网络的所述IRC服务器接收到所述区域间对等互连请求后,在所述第二区域网络上为所述区域间对等互连请求创建区域间对等互连记录,其中所述对等互连记录指示所述区域间对等互连请求正在等待接受;和
响应于接收到对所述接受对等互连记录的所述响应,更新所述第二区域网络上的所述区域间对等互连记录以指示所述区域间对等互连处于活动状态。
5.根据条款3所述的提供商网络,其中,响应于接收到所述接受对等互连记录,所述两个或更多个区域网络中的所述第一区域网络的所述控制平面为所述第一区域网络上的所述第一虚拟专用网络提供所述区域间对等互连。
6.根据条款5所述的提供商网络,其中所述第一区域网络的所述控制平面进一步执行:
在从所述客户接收到所述区域间对等互连请求后,在所述第一区域网络上为所述区域间对等互连请求创建区域间对等互连记录;
在接收到对所述区域间对等互连请求的所述响应后,更新所述区域间对等互连记录以指示所述区域间对等互连请求正在等待接受;和
响应于接收到所述接受对等互连记录,更新所述区域间对等互连记录以指示所述区域间对等互连处于活动状态。
7.一种方法,其包括:
在提供商网络的区域网络上的控制平面处接收利用所述提供商网络的一或多个其它区域网络中的一个上的虚拟网络执行区域间操作的请求;
由所述区域网络上的所述控制平面在数据存储中为所述请求生成条目,其中所述条目包含所述区域间操作的规范并指示所述提供商网络的所述一或多个其它区域网络中的所述一个;
通过由所述区域网络上的一个或多个装置实施的区域间协调器(IRC)服务将包含在所述条目中的所述区域间操作的所述规范转发到由所述条目指示的所述区域网络的控制平面;
通过所述IRC服务从由所述条目指示的所述区域网络接收对所述区域间操作的响应,其中所述响应指示由所述条目指示的所述区域网络上的所述区域间操作的状态;和
完成所述区域网络上的所述区域间操作。
8.根据条款7所述的方法,其中所述IRC服务包含作为所述区域网络上的一个或多个主机装置上的虚拟机执行的一个或多个IRC服务器。
9.根据条款8所述的方法,其中每个IRC服务器执行一个或多个线程池中的线程,每个线程池对应于所述提供商网络的所述一或多个其它区域网络中的一个特定区域网络,其中每个线程池中的所述线程使区域间操作与对应于所述线程池的所述特定区域网络协调。
10.根据条款8所述的方法,其进一步包括所述IRC服务以恒定速率将区域间操作的规范从所述数据存储中的条目转发到所述其它区域网络的所述控制平面,以针对所述区域网络维持指定数目的每秒区域间交易。
11.根据条款7所述的方法,其进一步包括在所述IRC服务从所述数据存储获得所述条目之前对所述区域间操作的所述规范进行加密。
12.根据条款7所述的方法,其进一步包括根据到所述区域网络的服务的应用程序编程接口(API)从所述提供商网络的客户接收执行所述区域间操作的所述请求。
13.根据条款12所述的方法,其中所述区域间操作是以下中的一个:
创建对等互连操作,以请求所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的区域间对等互连;
接受对等互连操作,以接受所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的所请求的区域间对等互连;
拒绝对等互连操作,以拒绝所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的所请求的区域间对等互连;和
删除对等互连操作,以删除所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的现有区域间对等互连。
14.根据条款12所述的方法,其进一步包括:
响应于接收到执行创建对等互连操作的请求,在所述区域网络上为相应区域间对等互连请求创建区域间对等互连记录;
在从所述其它区域网络接收到对所述创建对等互连请求的响应后,更新所述区域间对等互连记录以指示所述相应区域间对等互连请求正在等待接受;和
响应于从所述其它区域网络接收到所述区域间对等互连请求的接受对等互连操作,更新所述区域间对等互连记录以指示所述相应区域间对等互连处于活动状态。
15.根据条款12所述的方法,其进一步包括:
响应于从另一区域网络接收到创建对等互连操作,在所述区域网络上为相应区域间对等互连请求创建区域间对等互连记录;
响应于接收到对所述区域间对等互连请求执行接受对等互连操作的请求,更新所述区域间对等互连记录以指示正在提供所述相应区域间对等互连;和
响应于从所述其它区域网络接收到对所述接受对等互连操作的响应,更新所述区域间对等互连记录以指示所述相应区域间对等互连处于活动状态。
16.根据条款12所述的方法,其中所述创建对等互连操作、所述接受对等互连操作、所述拒绝对等互连操作和所述删除对等互连操作是驱动完成操作,并且其中所述方法进一步包括所述IRC服务:
执行到期对等互连操作以使等待接受的时间长于阈值时间量的区域间对等互连请求到期;和
执行验证一致性操作以验证所述区域网络上的区域间对等互连记录的一致性。
17.根据条款16所述的方法,其进一步包括所述IRC服务以恒定速率执行区域间操作以针对所述区域网络维持指定数目的每秒区域间交易,其中所述驱动完成操作、所述到期对等互连操作和所述验证一致性操作是根据加权比例来执行的。
18.根据条款17所述的方法,其进一步包括所述IRC服务在确定驱动完成操作和到期对等互连操作无法用于针对所述区域网络维持所述指定数目的每秒区域间交易后,执行验证一致性操作。
19.一种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令当在提供商网络的区域网络上的一个或多个计算机执行时使所述一个或多个计算机:
从所述区域网络上的区域间工作日志获得工作项,其中所述工作项是响应于利用所述提供商网络的一或多个其它区域网络执行区域间操作的请求而由所述区域网络的控制平面生成的,其中每个工作项指定区域间操作和所述提供商网络的所述一或多个其它区域网络中的一个;
将所述工作项转发到由所述工作项指定的所述一或多个其它区域网络的所述控制平面的应用程序编程接口(API);
从由所述工作项指定的所述区域网络接收对所述工作项的响应,其中所述响应指示所述相应区域网络上的相应区域间操作的状态;和
根据所述控制平面的API将所述响应转发到所述区域网络的所述控制平面。
20.根据条款19所述的非暂时性计算机可存取存储介质,其中由所述工作项指定的区域间操作包含以下中的一个或多个:
创建对等互连操作,以请求所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的区域间对等互连;
接受对等互连操作,以接受所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的所请求的区域间对等互连;
拒绝对等互连操作,以拒绝所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的所请求的区域间对等互连;和
删除对等互连操作,以删除所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的现有区域间对等互连。
21.根据条款19所述的非暂时性计算机可存取存储介质,其中所述程序指令当在所述区域网络上的所述一个或多个计算机上执行时,进一步使所述一个或多个计算机从所述区域间工作日志获得所述工作项并以恒定速率将所述工作项转发到所述其它区域网络的所述控制平面以针对所述区域网络维持指定数目的每秒区域间交易。
说明性***
在一些实施例中,如本文中所描述的实施用于重新配置提供商网络环境中的主机装置的方法和设备的一部分或全部的***可以包含通用计算机***,其包含或被配置成接入一个或多个计算机可存取介质,例如图19所示的计算机***5000。在示出的实施例中,计算机***5000包含一个或多个处理器5010,所述处理器通过输入/输出(I/O)接口5030联接到***存储器5020。计算机***5000进一步包含联接到I/O接口5030的网络接口5040。虽然图19将计算机***5000示出为单个计算装置,但在各种实施例中,计算机***5000可以包含一个计算装置或被配置成作为单个计算机***5000一起工作的任何数目的计算装置。
在各种实施例中,计算机***5000可以是包含一个处理器5010的单处理器***,或包含若干处理器5010(例如,两个、四个、八个或另一合适数目)的多处理器***。处理器5010可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器5010可以是实施多种指令集架构(ISA)中的任何一种的通用或嵌入式处理器,所述ISA例如x86、PowerPC、SPARC或MIPS ISA或任何其它合适的ISA。在多处理器***中,处理器5010中的每一个可以共同但不是必须地实施相同的ISA。
***存储器5020可以被配置成存储可由一个或多个处理器5010存取的指令和数据。在各种实施例中,***存储器5020可以使用任何合适的存储器技术实施,例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/快闪型存储器,或任何其它类型的存储器。在示出的实施例中,实施一个或多个所需功能的程序指令和数据,例如上文针对为提供商网络环境中的客户端资源提供客户端限定的规则所描述的那些方法、技术和数据,示出为作为代码5025和数据5026存储在***存储器5020内。
在一个实施例中,I/O接口5030可以被配置成协调处理器5010、***存储器5020和装置中的任何***装置之间的I/O业务,所述***装置包含网络接口5040或其它***接口。在一些实施例中,I/O接口5030可以执行任何必要的协议、定时或其它数据变换以将来自一个组件(例如,***存储器5020)的数据信号转换为适合于由另一组件(例如,处理器5010)使用的格式。在一些实施例中,I/O接口5030可以包含对通过各种类型的***总线附接的装置的支持,例如***组件互连(PCI)总线标准或通用串行总线(USB)标准的变体。在一些实施例中,I/O接口5030的功能可以分成两个或更多个单独的组件,例如,北桥和南桥。而且,在一些实施例中,I/O接口5030的一些或全部功能性,例如到***存储器5020的接口,可以直接并入到处理器5010内。
网络接口5040可以被配置成允许在计算机***5000与附接到一个或多个网络5050的其它装置5060之间交换数据,所述其它装置例如图1到18所示的其它计算机***或装置。在各种实施例中,网络接口5040可以支持通过任何合适的有线或无线通用数据网络的通信,例如,以太网网络的类型。另外,网络接口5040可以支持通过例如模拟语音网络或数字光纤通信网络的电信/电话网络,通过例如光纤通道SAN的存储区域网络或通过任何其它合适类型的网络和/或协议的通信。
在一些实施例中,***存储器5020可以是被配置成存储程序指令和数据的计算机可存取介质的一个实施例,如上文针对图1到14所描述用于重新配置提供商网络环境中的主机装置。然而,在其它实施例中,可以在不同类型的计算机可存取介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可存取介质可以包含非暂时性存储介质或存储器介质,例如磁性或光学介质,例如通过I/O接口5030联接到计算机***5000的磁盘或DVD/CD。非暂时性计算机可存取存储介质还可以包含任何易失性或非易失性介质,例如RAM(例如SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等,其可以作为***存储器5020或另一种类型的存储器包含在计算机***5000的一些实施例中。另外,计算机可存取介质可以包含通过例如网络和/或无线链路等通信介质传送的例如可以通过网络接口5040实施的传输介质或信号,例如电信号、电磁信号或数字信号。
结论
各种实施例可以进一步包含在计算机可存取介质上接收、发送或存储根据前述描述实施的指令和/或数据。一般来说,计算机可存取介质可以包含例如磁性或光学介质等存储介质或存储器介质,例如磁盘或DVD/CD-ROM、易失性或非易失性介质,例如RAM(例如SDRAM、DDR、RDRAM、SRAM等)、ROM等,以及通过例如网络和/或无线链路等通信介质传送的传输介质或信号,例如电信号、电磁信号或数字信号。
如图所示和本文描述的各种方法表示方法的示例性实施例。所述方法可以用软件、硬件或其组合来实施。可改变方法的顺序,并且可添加、重新排序、组合、省略、修改等各种元件。
可以进行各种修改和改变,这对于受益于本公开的所属领域的技术人员来说将是明显的。希望包含所有此类修改和改变,并且因此,以上描述应按说明性而不是限制性意义来看待。
Claims (15)
1.一种提供商网络,其包括:
两个或更多个区域网络,其各自包括:
一个或多个虚拟专用网络,其各自包含在所述虚拟专用网络的相应区域网络上的主机装置上执行的一个或多个虚拟机;
控制平面,其由对所述控制平面的相应区域网络执行网络配置和管理的一个或多个装置实施;和
区域间协调器(IRC)服务,其包括一个或多个IRC服务器;
其中所述两个或更多个区域网络中的第一区域网络的所述控制平面进一步执行:
通过所述第一区域网络的对等互连应用程序编程接口(API)从客户接收对所述第一区域网络上的第一虚拟专用网络的区域间对等互连请求,其中所述区域间对等互连请求指定所述两个或更多个区域网络中的第二区域网络上的第二虚拟专用网络;和
在所述第一区域网络上的区域间工作日志中为所述区域间对等互连请求生成创建对等互连记录;
其中所述第一区域网络上的所述IRC服务器中的一个执行:
通过到所述区域间工作日志的API从所述第一区域网络上的所述区域间工作日志获得所述区域间对等互连请求的所述创建对等互连记录;
根据到所述第二区域网络的所述控制平面的API将所述创建对等互连记录发送到所述第二区域网络的所述控制平面;
从所述第二区域网络接收由所述创建对等互连记录指示的对所述区域间对等互连请求的响应,其中所述响应指示所述区域间对等互连请求正在等待接受;和
通过到所述第一区域网络的所述控制平面的API将对所述区域间对等互连请求的所述响应发送到所述第一区域网络的所述控制平面。
2.根据权利要求1所述的提供商网络,其中所述两个或更多个区域网络中的所述第二区域网络的所述控制平面进一步执行:
通过所述第二区域网络的对等互连API从与所述两个或更多个区域网络中的所述第二区域网络上的所述第二虚拟专用网络相关联的客户接收所述区域间对等互连请求的接受;和
在所述第二区域网络上的区域间工作日志中为所述区域间对等互连请求生成接受对等互连记录。
3.根据权利要求2所述的提供商网络,其中所述第二区域网络上的所述IRC服务器中的一个执行:
通过到所述区域间工作日志的API从所述第二区域网络上的所述区域间工作日志获得所述区域间对等互连请求的所述接受对等互连记录;
根据到所述第一区域网络的所述控制平面的所述API将所述接受对等互连记录转发到所述第一区域网络的所述控制平面;
从所述第一区域网络接收对所述接受对等互连记录的响应,其中所述响应指示所述区域间对等互连处于活动状态;和
根据到所述第二区域网络的所述控制平面的所述API将对所述接受对等互连记录的所述响应转发到所述第二区域网络的所述控制平面。
4.根据权利要求3所述的提供商网络,其中所述第二区域网络的所述控制平面进一步执行:
在从所述第一区域网络的所述IRC服务器接收到所述区域间对等互连请求后,在所述第二区域网络上为所述区域间对等互连请求创建区域间对等互连记录,其中所述对等互连记录指示所述区域间对等互连请求正在等待接受;和
响应于从所述第一区域网络接收到对所述接受对等互连记录的所述响应,更新所述第二区域网络上的所述区域间对等互连记录以指示所述区域间对等互连处于活动状态。
5.根据权利要求3所述的提供商网络,其中所述第一区域网络的所述控制平面进一步执行:
在从所述客户接收到所述区域间对等互连请求后,在所述第一区域网络上为所述区域间对等互连请求创建区域间对等互连记录;
在从所述第二区域网络接收到对所述区域间对等互连请求的所述响应后,更新所述区域间对等互连记录以指示所述区域间对等互连请求正在等待接受;和
响应于从所述第二区域网络接收到所述接受对等互连记录,为所述第一区域网络上的所述第一虚拟专用网络提供所述区域间对等互连并更新所述区域间对等互连记录以指示所述区域间对等互连处于活动状态。
6.一种方法,其包括:
在提供商网络的区域网络上的控制平面处接收利用所述提供商网络的一或多个其它区域网络中的一个上的虚拟网络执行区域间操作的请求;
由所述区域网络上的所述控制平面在数据存储中为所述请求生成条目,其中所述条目包含所述区域间操作的规范并指示所述提供商网络的所述一或多个其它区域网络中的所述一个;
通过由所述区域网络上的一个或多个装置实施的区域间协调器(IRC)服务将包含在所述条目中的所述区域间操作的所述规范转发到由所述条目指示的所述区域网络的控制平面;
通过所述IRC服务从由所述条目指示的所述区域网络接收对所述区域间操作的响应,其中所述响应指示由所述条目指示的所述区域网络上的所述区域间操作的状态;和
完成所述区域网络上的所述区域间操作。
7.根据权利要求6所述的方法,其中所述IRC服务包含作为所述区域网络上的一个或多个主机装置上的虚拟机执行的一个或多个IRC服务器,其中每个IRC服务器执行一个或多个线程池中的线程,每个线程池对应于所述提供商网络的所述一或多个其它区域网络中的一个特定区域网络,其中每个线程池中的所述线程使区域间操作与对应于所述线程池的所述特定区域网络协调。
8.根据权利要求6所述的方法,其进一步包括所述IRC服务以恒定速率将区域间操作的规范从所述数据存储中的条目转发到所述其它区域网络的所述控制平面,以针对所述区域网络维持指定数目的每秒区域间交易。
9.根据权利要求6所述的方法,其中所述区域间操作是以下中的一个:
创建对等互连操作,以请求所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的区域间对等互连;
接受对等互连操作,以接受所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的所请求的区域间对等互连;
拒绝对等互连操作,以拒绝所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的所请求的区域间对等互连;和
删除对等互连操作,以删除所述区域网络上的专用网络与所述其它区域网络上的专用网络之间的现有区域间对等互连。
10.根据权利要求6所述的方法,其进一步包括:
响应于接收到执行创建对等互连操作的请求,在所述区域网络上为相应区域间对等互连请求创建区域间对等互连记录;
在从所述其它区域网络接收到对所述创建对等互连请求的响应后,更新所述区域间对等互连记录以指示所述相应区域间对等互连请求正在等待接受;和
响应于从所述其它区域网络接收到所述区域间对等互连请求的接受对等互连操作,更新所述区域间对等互连记录以指示所述相应区域间对等互连处于活动状态。
11.根据权利要求6所述的方法,其进一步包括:
响应于从另一区域网络接收到创建对等互连操作,在所述区域网络上为相应区域间对等互连请求创建区域间对等互连记录;
响应于接收到对所述区域间对等互连请求执行接受对等互连操作的请求,更新所述区域间对等互连记录以指示正在提供所述相应区域间对等互连;和
响应于从所述其它区域网络接收到对所述接受对等互连操作的响应,更新所述区域间对等互连记录以指示所述相应区域间对等互连处于活动状态。
12.根据权利要求6所述的方法,其中所述创建对等互连操作、所述接受对等互连操作、所述拒绝对等互连操作和所述删除对等互连操作是驱动完成操作,并且其中所述方法进一步包括所述IRC服务:
执行到期对等互连操作以使等待接受的时间长于阈值时间量的区域间对等互连请求到期;和
执行验证一致性操作以验证所述区域网络上的区域间对等互连记录的一致性。
13.根据权利要求12所述的方法,其进一步包括所述IRC服务以恒定速率执行区域间操作以针对所述区域网络维持指定数目的每秒区域间交易,其中所述驱动完成操作、所述到期对等互连操作和所述验证一致性操作是根据加权比例来执行的。
14.根据权利要求13所述的方法,其进一步包括所述IRC服务在确定驱动完成操作和到期对等互连操作无法用于针对所述区域网络维持所述指定数目的每秒区域间交易后,执行验证一致性操作。
15.一种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令当在提供商网络的区域网络上的一个或多个计算机执行时使所述一个或多个计算机:
从所述区域网络上的区域间工作日志获得工作项,其中所述工作项是响应于利用所述提供商网络的一或多个其它区域网络执行区域间操作的请求而由所述区域网络的控制平面生成的,其中每个工作项指定区域间操作和所述提供商网络的所述一或多个其它区域网络中的一个;
将所述工作项转发到由所述工作项指定的所述一或多个其它区域网络的所述控制平面的应用程序编程接口(API);
从由所述工作项指定的所述区域网络接收对所述工作项的响应,其中所述响应指示所述相应区域网络上的相应区域间操作的状态;和
根据所述控制平面的API将所述响应转发到所述区域网络的所述控制平面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111054862.9A CN114095307B (zh) | 2017-05-04 | 2018-04-12 | 协调提供商网络环境中的区域间操作 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/587,280 | 2017-05-04 | ||
US15/587,280 US10498810B2 (en) | 2017-05-04 | 2017-05-04 | Coordinating inter-region operations in provider network environments |
PCT/US2018/027279 WO2018204047A1 (en) | 2017-05-04 | 2018-04-12 | Coordinating inter-region operations in provider network environments |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111054862.9A Division CN114095307B (zh) | 2017-05-04 | 2018-04-12 | 协调提供商网络环境中的区域间操作 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110582997A true CN110582997A (zh) | 2019-12-17 |
CN110582997B CN110582997B (zh) | 2021-09-21 |
Family
ID=62090082
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111054862.9A Active CN114095307B (zh) | 2017-05-04 | 2018-04-12 | 协调提供商网络环境中的区域间操作 |
CN201880029416.2A Active CN110582997B (zh) | 2017-05-04 | 2018-04-12 | 协调提供商网络环境中的区域间操作 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111054862.9A Active CN114095307B (zh) | 2017-05-04 | 2018-04-12 | 协调提供商网络环境中的区域间操作 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10498810B2 (zh) |
EP (2) | EP3619893B8 (zh) |
CN (2) | CN114095307B (zh) |
WO (1) | WO2018204047A1 (zh) |
Families Citing this family (37)
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 |
US10498810B2 (en) | 2017-05-04 | 2019-12-03 | Amazon Technologies, Inc. | Coordinating inter-region operations in provider network environments |
US10778466B2 (en) | 2017-10-02 | 2020-09-15 | Vmware, Inc. | Processing data messages of a virtual network that are sent to and received from external service machines |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
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 |
US11102079B2 (en) * | 2018-04-17 | 2021-08-24 | Microsoft Technology Licensing, Llc | Cross-regional virtual network peering |
US11271846B2 (en) * | 2018-10-22 | 2022-03-08 | Oracle International Corporation | Methods, systems, and computer readable media for locality-based selection and routing of traffic to producer network functions (NFs) |
US11463399B2 (en) * | 2018-12-15 | 2022-10-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Efficient network address translation (NAT) in cloud networks |
US11349718B2 (en) * | 2019-06-24 | 2022-05-31 | Amazon Technologies, Inc. | Capacity bursting using a remote control plane |
US11431553B2 (en) | 2019-06-24 | 2022-08-30 | Amazon Technologies, Inc. | Remote control planes with automated failover |
US10819636B1 (en) | 2019-06-26 | 2020-10-27 | Oracle International Corporation | Methods, systems, and computer readable media for producer network function (NF) service instance wide egress rate limiting at service communication proxy (SCP) |
US11252093B2 (en) | 2019-06-26 | 2022-02-15 | Oracle International Corporation | Methods, systems, and computer readable media for policing access point name-aggregate maximum bit rate (APN-AMBR) across packet data network gateway data plane (P-GW DP) worker instances |
US11159359B2 (en) | 2019-06-26 | 2021-10-26 | Oracle International Corporation | Methods, systems, and computer readable media for diameter-peer-wide egress rate limiting at diameter relay agent (DRA) |
US11212238B2 (en) | 2019-08-27 | 2021-12-28 | Vmware, Inc. | Providing recommendations for implementing virtual networks |
US11082393B2 (en) | 2019-08-29 | 2021-08-03 | Oracle International Corporation | Methods, systems, and computer readable media for actively discovering and tracking addresses associated with 5G and non-5G service endpoints |
US11323413B2 (en) | 2019-08-29 | 2022-05-03 | Oracle International Corporation | Methods, systems, and computer readable media for actively discovering and tracking addresses associated with 4G service endpoints |
US11224009B2 (en) | 2019-12-30 | 2022-01-11 | Oracle International Corporation | Methods, systems, and computer readable media for enabling transport quality of service (QoS) in 5G networks |
US11528334B2 (en) | 2020-07-31 | 2022-12-13 | Oracle International Corporation | Methods, systems, and computer readable media for preferred network function (NF) location routing using service communications proxy (SCP) |
US11290549B2 (en) | 2020-08-24 | 2022-03-29 | Oracle International Corporation | Methods, systems, and computer readable media for optimized network function (NF) discovery and routing using service communications proxy (SCP) and NF repository function (NRF) |
US11483694B2 (en) | 2020-09-01 | 2022-10-25 | Oracle International Corporation | Methods, systems, and computer readable media for service communications proxy (SCP)-specific prioritized network function (NF) discovery and routing |
US11570262B2 (en) | 2020-10-28 | 2023-01-31 | Oracle International Corporation | Methods, systems, and computer readable media for rank processing for network function selection |
US11601356B2 (en) | 2020-12-29 | 2023-03-07 | Vmware, Inc. | Emulating packet flows to assess network links for SD-WAN |
US11792127B2 (en) | 2021-01-18 | 2023-10-17 | Vmware, Inc. | Network-aware load balancing |
US11470544B2 (en) | 2021-01-22 | 2022-10-11 | Oracle International Corporation | Methods, systems, and computer readable media for optimized routing of messages relating to existing network function (NF) subscriptions using an intermediate forwarding NF repository function (NRF) |
US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
US11496954B2 (en) | 2021-03-13 | 2022-11-08 | Oracle International Corporation | Methods, systems, and computer readable media for supporting multiple preferred localities for network function (NF) discovery and selection procedures |
US11888946B2 (en) | 2021-06-02 | 2024-01-30 | Oracle International Corporation | Methods, systems, and computer readable media for applying or overriding preferred locality criteria in processing network function (NF) discovery requests |
US11895080B2 (en) | 2021-06-23 | 2024-02-06 | Oracle International Corporation | Methods, systems, and computer readable media for resolution of inter-network domain names |
US11950178B2 (en) | 2021-08-03 | 2024-04-02 | Oracle International Corporation | Methods, systems, and computer readable media for optimized routing of service based interface (SBI) request messages to remote network function (NF) repository functions using indirect communications via service communication proxy (SCP) |
US11930083B2 (en) | 2021-08-09 | 2024-03-12 | Oracle International Corporation | Methods, systems, and computer readable media for processing network function (NF) discovery requests at NF repository function (NRF) using prioritized lists of preferred locations |
US11871309B2 (en) | 2021-09-28 | 2024-01-09 | Oracle International Corporation | Methods, systems, and computer readable media for network function discovery using preferred-locality information |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
US11849506B2 (en) | 2021-10-08 | 2023-12-19 | Oracle International Corporation | Methods, systems, and computer readable media for routing inter-public land mobile network (inter-PLMN) messages related to existing subscriptions with network function (NF) repository function (NRF) using security edge protection proxy (SEPP) |
US11888957B2 (en) | 2021-12-07 | 2024-01-30 | Oracle International Corporation | Methods, systems, and computer readable media for locality and serving scope set based network function (NF) profile prioritization and message routing |
US11652895B1 (en) | 2022-02-15 | 2023-05-16 | Oracle International Corporation | Methods, systems, and computer readable media for dynamic optimized network function discovery for consumer network functions |
US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1717910A (zh) * | 2002-11-27 | 2006-01-04 | 思科技术公司 | 用于在网络设备之间交换对等参数的方法和设备 |
CN101442557A (zh) * | 2008-12-24 | 2009-05-27 | 北京邮电大学 | 一种对等会话发起协议网络的区域感知优化方法 |
US20120084443A1 (en) * | 2010-09-30 | 2012-04-05 | Amazon Technologies, Inc. | Virtual provisioning with implementation resource boundary awareness |
US20150040125A1 (en) * | 2013-08-02 | 2015-02-05 | International Business Machines Corporation | Allowing management of a virtual machine by multiple cloud providers |
US20160337174A1 (en) * | 2015-05-15 | 2016-11-17 | David Francis Jorm | Automated network peering in a social-network model |
Family Cites Families (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69721752T2 (de) | 1996-03-29 | 2004-04-01 | British Telecommunications P.L.C. | Gebührenanordnung in einem mehrbenutzernetz |
US6690654B2 (en) * | 1996-11-18 | 2004-02-10 | Mci Communications Corporation | Method and system for multi-media collaboration between remote parties |
US6335927B1 (en) * | 1996-11-18 | 2002-01-01 | Mci Communications Corporation | System and method for providing requested quality of service in a hybrid network |
US7145898B1 (en) * | 1996-11-18 | 2006-12-05 | Mci Communications Corporation | System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture |
US8078727B2 (en) * | 1998-10-09 | 2011-12-13 | Netmotion Wireless, Inc. | Method and apparatus for providing mobile and other intermittent connectivity in a computing environment |
US9444785B2 (en) | 2000-06-23 | 2016-09-13 | Cloudshield Technologies, Inc. | Transparent provisioning of network access to an application |
US8204082B2 (en) | 2000-06-23 | 2012-06-19 | Cloudshield Technologies, Inc. | Transparent provisioning of services over a network |
US20030084104A1 (en) | 2001-10-31 | 2003-05-01 | Krimo Salem | System and method for remote storage and retrieval of data |
US7380124B1 (en) | 2002-03-28 | 2008-05-27 | Nortel Networks Limited | Security transmission protocol for a mobility IP network |
US7325140B2 (en) | 2003-06-13 | 2008-01-29 | Engedi Technologies, Inc. | Secure management access control for computers, embedded and card embodiment |
US7421736B2 (en) * | 2002-07-02 | 2008-09-02 | Lucent Technologies Inc. | Method and apparatus for enabling peer-to-peer virtual private network (P2P-VPN) services in VPN-enabled network |
US7949785B2 (en) | 2003-03-31 | 2011-05-24 | Inpro Network Facility, Llc | Secure virtual community network system |
US8521889B2 (en) | 2003-05-15 | 2013-08-27 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network |
US7676552B2 (en) | 2004-02-11 | 2010-03-09 | International Business Machines Corporation | Automatic provisioning of services based on a high level description and an infrastructure description |
US7779461B1 (en) | 2004-11-16 | 2010-08-17 | Juniper Networks, Inc. | Point-to-multi-point/non-broadcasting multi-access VPN tunnels |
US7889738B2 (en) * | 2005-12-21 | 2011-02-15 | Solace Systems Inc. | Shared application inter-working with virtual private networks |
US7505962B2 (en) | 2006-05-15 | 2009-03-17 | Microsoft Corporation | Rating and settlements engine |
US7953089B1 (en) | 2006-05-16 | 2011-05-31 | Cisco Technology, Inc. | Systems and methods for multicast switching in a private VLAN |
US20160277261A9 (en) | 2006-12-29 | 2016-09-22 | Prodea Systems, Inc. | Multi-services application gateway and system employing the same |
US8997206B2 (en) | 2007-06-06 | 2015-03-31 | Avaya Inc. | Peer-to-peer network over a virtual private network |
US7945640B1 (en) | 2007-09-27 | 2011-05-17 | Emc Corporation | Methods and apparatus for network provisioning |
US8429739B2 (en) * | 2008-03-31 | 2013-04-23 | Amazon Technologies, Inc. | Authorizing communications between computing nodes |
US20090304003A1 (en) * | 2008-05-27 | 2009-12-10 | Olivier Huynh Van | Global Virtual VPN |
US8837491B2 (en) * | 2008-05-27 | 2014-09-16 | Glue Networks | Regional virtual VPN |
US7860973B2 (en) * | 2008-06-27 | 2010-12-28 | Microsoft Corporation | Data center scheduler |
US9910708B2 (en) | 2008-08-28 | 2018-03-06 | Red Hat, Inc. | Promotion of calculations to cloud-based computation resources |
US8549281B2 (en) | 2008-10-21 | 2013-10-01 | Cohesive Flexible Technologies Corporation | System and methods for enabling customer network control in third-party computing environments |
US8239538B2 (en) | 2008-11-21 | 2012-08-07 | Samsung Electronics Co., Ltd. | Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments |
US8230050B1 (en) | 2008-12-10 | 2012-07-24 | Amazon Technologies, Inc. | Providing access to configurable private computer networks |
US8201237B1 (en) | 2008-12-10 | 2012-06-12 | Amazon Technologies, Inc. | Establishing secure remote access to private computer networks |
US9106540B2 (en) | 2009-03-30 | 2015-08-11 | Amazon Technologies, Inc. | Providing logical networking functionality for managed computer networks |
US8352941B1 (en) | 2009-06-29 | 2013-01-08 | Emc Corporation | Scalable and secure high-level storage access for cloud computing platforms |
US8611359B1 (en) * | 2009-08-31 | 2013-12-17 | Juniper Networks, Inc. | Scaling MPLS across areas of an autonomous system using labeled interior border gateway protocol |
US20110110377A1 (en) * | 2009-11-06 | 2011-05-12 | Microsoft Corporation | Employing Overlays for Securing Connections Across Networks |
US8995301B1 (en) * | 2009-12-07 | 2015-03-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing cost information |
US7937438B1 (en) | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
US7953865B1 (en) | 2009-12-28 | 2011-05-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing communications between connected computer networks |
US7991859B1 (en) * | 2009-12-28 | 2011-08-02 | Amazon Technologies, Inc. | Using virtual networking devices to connect managed computer networks |
US8224971B1 (en) * | 2009-12-28 | 2012-07-17 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to initiate external actions |
US8224931B1 (en) * | 2010-03-31 | 2012-07-17 | Amazon Technologies, Inc. | Managing use of intermediate destination computing nodes for provided computer networks |
US8345692B2 (en) | 2010-04-27 | 2013-01-01 | Cisco Technology, Inc. | Virtual switching overlay for cloud computing |
US9461996B2 (en) * | 2010-05-07 | 2016-10-04 | Citrix Systems, Inc. | Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application |
US8667171B2 (en) * | 2010-05-28 | 2014-03-04 | Microsoft Corporation | Virtual data center allocation with bandwidth guarantees |
EP2583211B1 (en) * | 2010-06-15 | 2020-04-15 | Oracle International Corporation | Virtual computing infrastructure |
US9178766B2 (en) | 2010-06-28 | 2015-11-03 | Amazon Technologies, Inc. | Provisioning multiple network resources |
US8484353B1 (en) * | 2010-09-28 | 2013-07-09 | Amazon Technologies, Inc. | Resource placement templates for virtual networks |
US10013662B2 (en) | 2010-09-30 | 2018-07-03 | Amazon Technologies, Inc. | Virtual resource cost tracking with dedicated implementation resources |
US9183028B1 (en) * | 2010-09-30 | 2015-11-10 | Amazon Technologies, Inc. | Managing virtual computing nodes |
US9112769B1 (en) * | 2010-12-27 | 2015-08-18 | Amazon Technologies, Inc. | Programatically provisioning virtual networks |
US8966622B2 (en) * | 2010-12-29 | 2015-02-24 | Amazon Technologies, Inc. | Techniques for protecting against denial of service attacks near the source |
US8739244B1 (en) * | 2011-06-07 | 2014-05-27 | Riverbed Technology, Inc. | Configuring and authenticating WAN optimization devices for accessing content delivery networks |
US8601134B1 (en) * | 2011-06-30 | 2013-12-03 | Amazon Technologies, Inc. | Remote storage gateway management using gateway-initiated connections |
US8832039B1 (en) * | 2011-06-30 | 2014-09-09 | Amazon Technologies, Inc. | Methods and apparatus for data restore and recovery from a remote data store |
US8789208B1 (en) * | 2011-10-04 | 2014-07-22 | Amazon Technologies, Inc. | Methods and apparatus for controlling snapshot exports |
US9106469B1 (en) * | 2011-11-29 | 2015-08-11 | Amazon Technologies, Inc. | Interfaces to manage last-mile connectivity for direct network peerings |
US8724642B2 (en) * | 2011-11-29 | 2014-05-13 | Amazon Technologies, Inc. | Interfaces to manage direct network peerings |
US10015083B2 (en) * | 2011-12-22 | 2018-07-03 | Amazon Technologies, Inc. | Interfaces to manage inter-region connectivity for direct network peerings |
US9027024B2 (en) * | 2012-05-09 | 2015-05-05 | Rackspace Us, Inc. | Market-based virtual machine allocation |
US9374270B2 (en) * | 2012-06-06 | 2016-06-21 | Juniper Networks, Inc. | Multicast service in virtual networks |
US9898317B2 (en) * | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9563480B2 (en) * | 2012-08-21 | 2017-02-07 | Rackspace Us, Inc. | Multi-level cloud computing system |
EP2909716B1 (en) * | 2012-10-16 | 2021-02-17 | Citrix Systems, Inc. | Systems and methods for bridging between public and private clouds through multi-level api integration |
US9172579B2 (en) * | 2012-11-16 | 2015-10-27 | At&T Intellectual Property I, L.P. | Virtualization of control plane network elements |
US9699034B2 (en) * | 2013-02-26 | 2017-07-04 | Zentera Systems, Inc. | Secure cloud fabric to connect subnets in different network domains |
US9331998B2 (en) | 2013-03-14 | 2016-05-03 | Forty Cloud Ltd. | Dynamic secured network in a cloud environment |
US20140280595A1 (en) * | 2013-03-15 | 2014-09-18 | Polycom, Inc. | Cloud Based Elastic Load Allocation for Multi-media Conferencing |
US9560016B2 (en) | 2013-04-30 | 2017-01-31 | Futurewei Technologies, Inc. | Supporting IP address overlapping among different virtual networks |
US9306800B2 (en) * | 2013-05-10 | 2016-04-05 | Telefonaktiebolaget L M Ericsson (Publ) | Inter-domain fast reroute methods and network devices |
US9178809B1 (en) * | 2013-07-01 | 2015-11-03 | Juniper Networks, Inc. | End-to-end traffic engineering label switched paths in seamless MPLS |
US9461969B2 (en) * | 2013-10-01 | 2016-10-04 | Racemi, Inc. | Migration of complex applications within a hybrid cloud environment |
US9100138B2 (en) * | 2013-10-14 | 2015-08-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for automatic topology discovery in wavelength division multiplexing (WDM) network |
US10270809B2 (en) * | 2013-12-02 | 2019-04-23 | Akamai Technologies, Inc. | Virtual private network (VPN)-as-a-service with delivery optimizations while maintaining end-to-end data security |
US9813343B2 (en) * | 2013-12-03 | 2017-11-07 | Akamai Technologies, Inc. | Virtual private network (VPN)-as-a-service with load-balanced tunnel endpoints |
US9807057B1 (en) * | 2013-12-17 | 2017-10-31 | Amazon Technologies, Inc. | Private network peering in virtual network environments |
US9811365B2 (en) * | 2014-05-09 | 2017-11-07 | Amazon Technologies, Inc. | Migration of applications between an enterprise-based network and a multi-tenant network |
US10268492B2 (en) * | 2014-05-20 | 2019-04-23 | Amazon Technologies, Inc. | Low latency connections to workspaces in a cloud computing environment |
US9667489B2 (en) | 2014-05-28 | 2017-05-30 | New Media Solutions, Inc. | Generation and management of computing infrastructure instances |
US9628485B2 (en) * | 2014-08-28 | 2017-04-18 | At&T Intellectual Property I, L.P. | Facilitating peering between devices in wireless communication networks |
US9838337B1 (en) * | 2014-09-30 | 2017-12-05 | Juniper Networks, Inc. | Automatic virtual local area network (VLAN) provisioning in data center switches |
US10277705B2 (en) * | 2014-10-30 | 2019-04-30 | Hewlett Packard Enterprise Development Lp | Virtual content delivery network |
EP3230885B1 (en) * | 2014-12-08 | 2024-04-17 | Umbra Technologies Ltd. | Method for content retrieval from remote network regions |
US9699116B2 (en) * | 2015-01-26 | 2017-07-04 | Telefonaktiebolaget L M Ericsson (Publ) | SDN based interdomain and intradomain traffic engineering |
JP2018507639A (ja) * | 2015-01-28 | 2018-03-15 | アンブラ テクノロジーズ リミテッドUmbra Technologies Ltd. | グローバル仮想ネットワークについてのシステム及び方法 |
US11250421B2 (en) * | 2015-02-08 | 2022-02-15 | Apple Inc. | Storing secure credential information in different regions |
WO2016162749A1 (en) * | 2015-04-07 | 2016-10-13 | Umbra Technologies Ltd. | System and method for virtual interfaces and advanced smart routing in a global virtual network |
US10476797B2 (en) * | 2015-04-13 | 2019-11-12 | Dell Products L.P. | Systems and methods to route over a link aggregation group to a true next hop |
US10250699B2 (en) * | 2015-05-12 | 2019-04-02 | Equinix, Inc. | Centralized network control for a cloud-based services exchange |
US10326710B1 (en) * | 2015-09-02 | 2019-06-18 | Amazon Technologies, Inc. | Propagating access rules on virtual networks in provider network environments |
US9692692B1 (en) * | 2015-09-29 | 2017-06-27 | Juniper Networks, Inc. | High-scale data center having LSP transport hierarchy |
US10331613B2 (en) * | 2015-10-30 | 2019-06-25 | Netapp, Inc. | Methods for enabling direct memory access (DMA) capable devices for remote DMA (RDMA) usage and devices therof |
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 |
US20170195132A1 (en) * | 2015-12-30 | 2017-07-06 | Iix, Inc. | Data Monitoring/Aggregation For Evaluating Connections Between Networks |
US10601703B2 (en) * | 2015-12-30 | 2020-03-24 | Akamai Technologies, Inc. | Distributed quality-of-service (QoS) in an overlay network using capacity enforcement |
US10367655B2 (en) * | 2016-01-25 | 2019-07-30 | Alibaba Group Holding Limited | Network system and method for connecting a private network with a virtual private network |
US10659349B2 (en) * | 2016-02-04 | 2020-05-19 | Twilio Inc. | Systems and methods for providing secure network exchanged for a multitenant virtual private cloud |
US9781259B1 (en) * | 2016-07-27 | 2017-10-03 | At&T Intellectual Property I, L.P. | Method and apparatus for asset location tracking in a communication network |
US10148458B2 (en) * | 2016-11-11 | 2018-12-04 | Futurewei Technologies, Inc. | Method to support multi-protocol for virtualization |
US10862796B1 (en) * | 2017-01-18 | 2020-12-08 | Amazon Technologies, Inc. | Flow policies for virtual networks in provider network environments |
US10412603B2 (en) * | 2017-02-28 | 2019-09-10 | At&T Mobility Ii Llc | Hypervisor for access points and edge nodes |
US11068314B2 (en) * | 2017-03-29 | 2021-07-20 | Juniper Networks, Inc. | Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment |
US10291497B2 (en) * | 2017-03-31 | 2019-05-14 | Juniper Networks, Inc. | Session-based traffic statistics logging for virtual routers |
US10498810B2 (en) | 2017-05-04 | 2019-12-03 | Amazon Technologies, Inc. | Coordinating inter-region operations in provider network environments |
-
2017
- 2017-05-04 US US15/587,280 patent/US10498810B2/en active Active
-
2018
- 2018-04-12 EP EP18721237.8A patent/EP3619893B8/en active Active
- 2018-04-12 CN CN202111054862.9A patent/CN114095307B/zh active Active
- 2018-04-12 EP EP21196283.2A patent/EP4009607A1/en active Pending
- 2018-04-12 CN CN201880029416.2A patent/CN110582997B/zh active Active
- 2018-04-12 WO PCT/US2018/027279 patent/WO2018204047A1/en unknown
-
2019
- 2019-11-27 US US16/698,848 patent/US11102291B2/en active Active
-
2021
- 2021-08-23 US US17/409,206 patent/US11582298B2/en active Active
-
2023
- 2023-02-10 US US18/167,793 patent/US11902367B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1717910A (zh) * | 2002-11-27 | 2006-01-04 | 思科技术公司 | 用于在网络设备之间交换对等参数的方法和设备 |
CN101442557A (zh) * | 2008-12-24 | 2009-05-27 | 北京邮电大学 | 一种对等会话发起协议网络的区域感知优化方法 |
US20120084443A1 (en) * | 2010-09-30 | 2012-04-05 | Amazon Technologies, Inc. | Virtual provisioning with implementation resource boundary awareness |
US20150040125A1 (en) * | 2013-08-02 | 2015-02-05 | International Business Machines Corporation | Allowing management of a virtual machine by multiple cloud providers |
US20160337174A1 (en) * | 2015-05-15 | 2016-11-17 | David Francis Jorm | Automated network peering in a social-network model |
Also Published As
Publication number | Publication date |
---|---|
WO2018204047A1 (en) | 2018-11-08 |
US11582298B2 (en) | 2023-02-14 |
EP3619893B8 (en) | 2021-10-27 |
CN114095307B (zh) | 2023-06-30 |
US11102291B2 (en) | 2021-08-24 |
CN114095307A (zh) | 2022-02-25 |
EP3619893B1 (en) | 2021-09-15 |
EP3619893A1 (en) | 2020-03-11 |
CN110582997B (zh) | 2021-09-21 |
US20220038533A1 (en) | 2022-02-03 |
US20180324247A1 (en) | 2018-11-08 |
US20200099744A1 (en) | 2020-03-26 |
US20230283661A1 (en) | 2023-09-07 |
EP4009607A1 (en) | 2022-06-08 |
US10498810B2 (en) | 2019-12-03 |
US11902367B2 (en) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110582997B (zh) | 协调提供商网络环境中的区域间操作 | |
US11509577B2 (en) | Linking resource instances to virtual network in provider network environments | |
US11658936B2 (en) | Resizing virtual private networks in provider network environments | |
EP3646175B1 (en) | Virtual private network service endpoints | |
US11089021B2 (en) | Private network layering in provider network environments | |
US11770364B2 (en) | Private network peering in virtual network environments | |
JP5859519B2 (ja) | データパケットの配信管理方法 | |
US11269673B2 (en) | Client-defined rules in provider network environments | |
US8843600B1 (en) | Providing private access to network-accessible services | |
US10862796B1 (en) | Flow policies for virtual networks in provider network environments | |
US10326710B1 (en) | Propagating access rules on virtual networks in provider network environments | |
US10057267B1 (en) | Integrating external devices with private networks in provider network environments |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |