CN114902183B - 云计算实例在通信服务提供商网络中的基于延时的布局 - Google Patents

云计算实例在通信服务提供商网络中的基于延时的布局 Download PDF

Info

Publication number
CN114902183B
CN114902183B CN202080090808.7A CN202080090808A CN114902183B CN 114902183 B CN114902183 B CN 114902183B CN 202080090808 A CN202080090808 A CN 202080090808A CN 114902183 B CN114902183 B CN 114902183B
Authority
CN
China
Prior art keywords
network
provider
extension
latency
provider network
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.)
Active
Application number
CN202080090808.7A
Other languages
English (en)
Other versions
CN114902183A (zh
Inventor
I·帕柔卡尔
G·艾利赛欧斯
D·古普塔
D·R·邓斯莫尔
M·P·奎恩
L·A·普罗克
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN114902183A publication Critical patent/CN114902183A/zh
Application granted granted Critical
Publication of CN114902183B publication Critical patent/CN114902183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • H04L1/0018Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement based on latency requirement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文描述了用于在部署于通信服务提供商网络内的云提供商网络底层扩展上启动计算实例的技术。云提供商网络的服务接收来自客户的启动计算实例的请求,所述请求包括延时要求。至少部分地基于延时要求,从云提供商网络的多个提供商底层扩展中选择提供商底层扩展来托管计算实例。多个提供商底层扩展连接到通信服务提供商网络并且至少部分地由云提供商网络的服务经由通过通信服务提供商网络的连接来控制。发送消息以致使选择的提供商底层扩展为客户启动计算实例。

Description

云计算实例在通信服务提供商网络中的基于延时的布局
背景技术
云计算平台通常向客户提供按需、受管理的计算资源。此类计算资源(例如,计算和存储容量)通常由安装在数据中心的大型容量池提供。客户可以从“云”请求计算资源,并且云可以为那些客户提供计算资源。诸如虚拟机和容器等技术通常用于允许客户安全地共享计算机系统的容量。
附图说明
将参考以下附图描述根据本公开的各种实施方案。
图1示出了根据一些实施方案的包括云提供商网络并且还包括云提供商网络的各种提供商底层扩展的示例性系统。
图2示出了根据一些实施方案的其中云提供商网络底层扩展被部署在通信服务提供商网络内的示例性系统。
图3更详细地示出了根据一些实施方案的云提供商网络和通信服务提供商网络内的提供商底层扩展的示例性组件以及它们之间的连接性。
图4示出了根据一些实施方案的包括地理上分散的提供商底层扩展(或“边缘位置”)的示例性云提供商网络。
图5示出了根据一些实施方案的其中计算实例在云提供商网络边缘位置中启动的示例性环境。
图6示出了根据一些实施方案的其中计算实例在云提供商网络边缘位置中启动的另一种示例性环境。
图7示出了根据一些实施方案的其中计算实例在云提供商网络边缘位置中启动的另一种示例性环境。
图8是根据一些实施方案的其中由于电子装置移动性而启动计算实例的示例性环境。
图9是示出根据一些实施方案的用于在云提供商网络边缘位置中启动计算实例的方法的操作的流程图。
图10是示出根据一些实施方案的用于在云提供商网络边缘位置中启动计算实例的另一种方法的操作的流程图。
图11是示出根据一些实施方案的用于由于电子装置移动性而启动计算实例的方法的操作的流程图。
图12示出了根据一些实施方案的示例性提供商网络环境。
图13是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。
图14是示出可以在一些实施方案中使用的示例性计算机系统的框图。
具体实施方式
本公开涉及用于在通信服务提供商网络内提供云提供商网络计算资源的方法、设备、系统和非暂时性计算机可读存储介质。根据一些实施方案,由云提供商管理的计算资源部署在集成于通信服务提供商(CSP)网络内的云提供商网络的边缘位置处。CSP通常包括已部署网络的公司,终端用户通过所述网络获得网络连接性。例如,CSP可以包括移动或蜂窝网络提供商(例如,运营3G、4G和/或5G网络)、有线互联网服务提供商(例如,电缆、数字订户线、光纤等)和WiFi提供商(例如,在诸如酒店、咖啡店、机场等位置处)。虽然数据中心中的计算资源的传统部署由于集中化而提供了各种益处,但是终端用户装置与那些计算资源之间的物理约束(诸如网络距离和网络跃点的数量)可能阻止实现非常低的延时。通过在CSP网络中安装或部署容量,云提供商网络运营商可以为计算资源提供对终端用户装置的显著降低的访问延时,在一些情况下提供个位数毫秒延时。这种对计算资源的低延时访问是为现有的基于云的应用程序提供改进的响应性并实现游戏流、虚拟现实、实时渲染、工业自动化和自主车辆的下一代应用程序的重要推动力。
云提供商网络(或“云”)是指大的网络可访问计算资源池(诸如计算、存储和联网资源、应用程序和服务)。云可以提供对可配置计算资源共享池的方便、按需网络访问,所述计算资源可以响应于客户命令而以编程方式配置和发布。因此,云计算可以被视为通过公共可访问网络(例如,互联网、蜂窝通信网络)作为服务交付的应用程序以及提供那些服务的云提供商数据中心中的硬件和软件。一些客户可能希望使用此类云提供商网络的资源和服务,但是出于各种原因(例如,与客户装置的通信延时、法律合规性、安全性或其他原因)而更愿意在其自身网络内(例如在客户本地)、在由云提供商管理的单独网络处、在通信服务提供商的网络内或在另一种独立网络内配置这些资源和服务。
在一些实施方案中,云提供商网络的片段(在本文中被称为“提供商底层扩展(PSE)”或“边缘位置(EL)”)可以被配置在与云提供商网络分离的网络内。例如,云提供商网络通常包括被称为底层的物理网络(例如,金属板盒、电缆、机架硬件)。可以将底层视为包含运行提供商网络的服务的物理硬件的网络结构。在一些实施方式中,提供商底层“扩展”可以是由一个或多个服务器形成的云提供商网络底层的扩展,所述一个或多个服务器位于客户或合作伙伴设施、单独的云提供商管理的设施中、通信服务提供商设施、或包括服务器的任何其他类型的设施本地,其中此类服务器通过网络(例如,公共可访问网络,诸如互联网)与云提供商网络的附近可用区或区域进行通信。客户可以经由云提供商底层或另一种网络访问提供商底层扩展,并且可以使用相同的应用程序编程接口(API)来创建和管理提供商底层扩展中的资源,就像它们将用于创建和管理云提供商网络的区域中的资源一样。
如上文指示,一种示例性类型的提供商底层扩展是由位于客户或合作伙伴设施本地的服务器形成的提供商底层扩展。位于云提供商网络数据中心之外的这种类型的底层扩展可以被称为云提供商网络的“前哨”。另一种示例性类型的提供商底层扩展是由位于由云提供商管理的设施中的服务器形成但是包括至少部分地由云提供商网络的单独控制平面控制的数据平面容量的提供商底层扩展。
在一些实施方案中,提供商底层扩展的又一示例是部署在通信服务提供商网络内的网络。通信服务提供商通常包括已部署网络的公司,终端用户通过所述网络获得网络连接性。例如,通信服务提供商可以包括移动或蜂窝网络提供商(例如,运营3G、4G和/或5G网络)、有线互联网服务提供商(例如,电缆、数字订户线、光纤等)和WiFi提供商(例如,在诸如酒店、咖啡店、机场等位置处)。虽然数据中心中的计算资源的传统部署由于集中化而提供了各种益处,但是终端用户装置与那些计算资源之间的物理约束(诸如网络距离和网络跃点的数量)可能阻止实现非常低的延时。通过在通信服务提供商网络中安装或部署容量,云提供商网络运营商可以为计算资源提供对终端用户装置的显著降低的访问延时,在一些情况下提供个位数毫秒延时。这种对计算资源的低延时访问是为现有的基于云的应用程序提供改进的响应性并实现游戏流、虚拟现实、实时渲染、工业自动化和自主车辆的下一代应用程序的重要推动力。
如本文所使用,安装在通信服务提供商网络(或可能的其他网络)内的云提供商网络的计算资源有时也被称为“云提供商网络边缘位置”或简称为“边缘位置”,因为它们比集中式数据中心中的计算资源更接近于终端用户连接到网络的“边缘”。此类边缘位置可以包括一个或多个联网计算机系统,所述一个或多个联网计算机系统为云提供商网络的客户提供计算资源,以便以比那些计算实例托管在数据中心站点中可实现的延时更低的延时为终端用户提供服务。部署在通信服务提供商网络中的提供商底层扩展也可以被称为“波长区”。
图1示出了根据一些实施方案的包括云提供商网络并且还包括云提供商网络的各种提供商底层扩展的示例性系统。云提供商网络100(有时简称为“云”)是指网络可访问的计算资源池(诸如计算、存储和联网资源、应用程序和服务),其可以是虚拟化的或裸机的。云可以提供对可配置计算资源共享池的便利的、按需网络访问,所述计算资源可以响应于客户命令而以编程方式配置和释放。可以动态地置备和重新配置这些资源以调整到可变负载。因此,云计算可以被视为通过公共可访问网络(例如,互联网、蜂窝通信网络)作为服务交付的应用程序以及提供那些服务的云提供商数据中心中的硬件和软件。
云提供商网络100可以通过网络向用户提供按需的、可扩展的计算平台,例如,允许用户经由其使用计算服务器(所述计算服务器经由中央处理单元(CPU)和图形处理单元(GPU)中的一者或两者任选地与本地存储装置一起使用而提供计算实例)和块存储服务器(所述块存储服务器为指定的计算实例提供虚拟化持久块存储)而具有可扩展“虚拟计算装置”供他们使用。这些虚拟计算装置具有个人计算装置的属性,所述属性包括硬件(各种类型的处理器、本地存储器、随机存取存储器(RAM)、硬盘和/或固态驱动器(“SSD”)存储装置)、操作系统选项、联网能力和预装载应用程序软件。每个虚拟计算装置还可以将其控制台输入和输出(例如,键盘、显示器和鼠标)虚拟化。这种虚拟化允许用户使用诸如浏览器、应用程序编程接口(API)、软件开发工具包(SDK)等计算机应用程序连接到他们的虚拟计算装置,以便像个人计算装置一样配置和使用他们的虚拟计算装置。与拥有用户可用的固定数量的硬件资源的个人计算装置不同,与虚拟计算装置相关联的硬件可以取决于用户需要的资源而放大或缩小。
如上文指示,用户(例如,用户138)可以经由中间网络136使用各种接口104(例如,API)连接到虚拟化计算装置和其他云提供商网络100资源和服务。API是指客户端(例如,电子装置134)与服务器之间的接口和/或通信协议,使得如果客户端以预定义格式发出请求,则客户端应当接收特定格式的响应或致使发起定义的动作。在云提供商网络背景中,API通过允许客户从云提供商网络获得数据或在云提供商网络内引起动作来为客户提供访问云基础设施的网关,从而使得能够开发与托管在云提供商网络中的资源和服务交互的应用程序。API还可以使得云提供商网络的不同服务能够彼此交换数据。用户可以选择部署他们的虚拟计算系统以提供基于网络的服务供自己使用和/或供他们的客户或客户端使用。
云提供商网络100可以包括被称为底层的物理网络(例如,金属板盒、电缆、机架硬件)。可以将底层视为包含运行提供商网络的服务的物理硬件的网络结构。底层可以与云提供商网络100的其余部分隔离,例如,可能无法从底层网络地址路由到运行云提供商服务的生产网络中的地址,或路由到托管客户资源的客户网络。
云提供商网络100还可以包括在底层上运行的虚拟化计算资源的覆盖网络。在至少一些实施方案中,网络底层上的管理程序或其他装置或进程可以使用封装协议技术来封装并通过网络底层在提供商网络内的不同主机上的客户端资源实例之间路由网络分组(例如,客户端IP分组)。封装协议技术可以用在网络底层上以经由覆盖网络路径或路线在网络底层上的端点之间路由封装的分组(也被称为网络底层分组)。封装协议技术可以被视为提供覆盖在网络底层上的虚拟网络拓扑。因而,可以根据覆盖网络中的构造(例如,可以被称为虚拟私有云(VPC)的虚拟网络、可以被称为安全组的端口/协议防火墙配置)沿着底层网络路由网络分组。映射服务(未示出)可以协调这些网络分组的路由。映射服务可以是将覆盖互联网协议(IP)和网络标识符的组合映射到底层IP使得分布式底层计算装置可以查找将分组发送到哪里的区域分布式查找服务。
为了进行说明,每个物理主机装置(例如,计算服务器106、块存储服务器108、对象存储服务器110、控制服务器112)可以在底层网络中具有IP地址。硬件虚拟化技术可以使得多个操作系统能够例如作为计算服务器106上的虚拟机(VM)在主机计算机上同时运行。主机上的管理程序或虚拟机监视器(VMM)在主机上的各种VM之间分派主机的硬件资源并监视VM的执行。每个VM可以被设置有覆盖网络中的一个或多个IP地址,并且主机上的VMM可以知晓主机上的VM的IP地址。VMM(和/或网络底层上的其他装置或过程)可以使用封装协议技术来封装网络分组(例如,客户端IP分组)并通过网络底层在云提供商网络100内的不同主机上的虚拟化资源之间路由所述网络分组。封装协议技术可以用在网络底层上以经由覆盖网络路径或路线在网络底层上的端点之间路由封装的分组。封装协议技术可以被视为提供覆盖在网络底层上的虚拟网络拓扑。封装协议技术可以包括映射服务,所述映射服务维护映射目录,所述映射目录将IP覆盖地址(例如,对客户可见的IP地址)映射到底层IP地址(对客户不可见的IP地址),所述底层IP地址可以由云提供商网络上的各种进程访问以用于在端点之间路由分组。
如图所示,在各种实施方案中,云提供商网络底层的流量和操作可以被广泛地细分为两类:在逻辑控制平面114A上承载的控制平面流量和在逻辑数据平面116A上承载的数据平面操作。虽然数据平面116A表示用户数据通过分布式计算系统的移动,但是控制平面114A表示控制信号通过分布式计算系统的移动。控制平面114A通常包括分布在一个或多个控制服务器112上并由其实施的一个或多个控制平面组件或服务。控制平面流量通常包括管理操作,诸如为各种客户建立隔离的虚拟网络、监视资源使用率和健康状况、标识要启动请求的计算实例的特定主机或服务器、根据需要置备附加硬件等等。数据平面116A包括在云提供商网络上实施的客户资源(例如,计算实例、容器、块存储卷、数据库、文件存储)。数据平面流量通常包括非管理操作,诸如将数据传送到客户资源以及从客户资源传送数据。
控制平面组件通常在与数据平面服务器不同的一组服务器上实施,并且控制平面流量和数据平面流量可以通过单独/不同的网络发送。在一些实施方案中,控制平面流量和数据平面流量可以由不同的协议支持。在一些实施方案中,通过云提供商网络100发送的消息(例如,分组)包括用于指示流量是控制平面流量还是数据平面流量的标志。在一些实施方案中,可以检查流量的有效载荷以确定其类型(例如,是控制平面还是数据平面)。用于区分流量类型的其他技术是可能的。
如图所示,数据平面116A可以包括一个或多个计算服务器106,所述计算服务器可以是裸机(例如,单个租户)或者可以由管理程序虚拟化以为一个或多个客户运行多个VM(有时被称为“实例”)或microVM。这些计算服务器106可以支持云提供商网络的虚拟化计算服务(或“硬件虚拟化服务”)。虚拟化计算服务可以是控制平面114A的一部分,从而允许客户经由接口104(例如,API)发布命令以启动和管理他们的应用程序的计算实例(例如,VM、容器)。虚拟化计算服务可以提供具有不同的计算和/或存储器资源的虚拟计算实例。在一个实施方案中,虚拟计算实例中的每一个可以对应于若干实例类型中的一种。实例类型的特征可以在于其硬件类型、计算资源(例如,CPU或CPU内核的数量、类型和配置)、存储器资源(例如,本地存储器的容量、类型和配置)、存储资源(例如,本地可访问存储装置的容量、类型和配置)、网络资源(例如,其网络接口和/或网络能力的特性)和/或其他合适的描述性特性。使用实例类型选择功能性,可以例如(至少部分地)基于来自客户的输入为客户选择实例类型。例如,客户可以从一组预定义的实例类型中选择实例类型。作为另一个示例,客户可以指定实例类型的期望资源和/或实例将运行的工作负载的要求,并且实例类型选择功能性可以基于这样的规范来选择实例类型。
数据平面116A还可以包括一个或多个块存储服务器108,所述块存储服务器可以包括用于存储客户数据卷的持久性存储装置以及用于管理这些卷的软件。这些块存储服务器108可以支持云提供商网络的受管理块存储服务。受管理块存储服务可以是控制平面114A的一部分,允许客户经由接口104(例如,API)发布命令以创建和管理他们在计算实例上运行的应用程序的卷。块存储服务器108包括数据在其上被存储为块的一个或多个服务器。块是字节或位序列,通常包含一定的整数个记录,具有块大小的最大长度。分块数据通常存储在数据缓冲区中并且一次对整个块读取或写入所述分块数据。通常,卷可以对应于数据的逻辑集合,诸如代表用户维持的一组数据。用户卷(可以被视为例如大小的范围从1GB至1太字节(TB)或更大的个别硬盘驱动器)由存储在块存储服务器上的一个或多个块组成。虽然被视为个别硬盘驱动器,但是应当理解,卷可以被存储作为在一个或多个底层物理主机装置上实施的一个或多个虚拟化装置。卷可以被分区几次(例如,最多16次),其中每个分区由不同的主机托管。卷的数据可以在云提供商网络内的多个装置之间复制,以便提供卷的多个副本(其中此类副本可以共同表示计算系统上的卷)。分布式计算系统中的卷副本可以例如通过允许用户访问卷的主副本或卷的以块级与主副本同步的辅助副本有益地提供自动故障转移和恢复,使得主副本或辅助副本的故障不会阻止对卷信息的访问。主副本的作用可以是促进卷上的读取和写入(有时被称为“输入输出操作”或简称为“I/O操作”),并将任何写入传播到辅助副本(优选地在I/O路径中同步地传播,但是也可以使用异步复制)。辅助副本可以与主副本同步更新,并在故障转移操作期间提供无缝过渡,由此辅助副本承担主副本的角色,并且以前的主副本被指定为辅助副本或置备新的替换辅助副本。虽然本文中的某些示例讨论了主副本和辅助副本,但是应当理解,逻辑卷可以包括多个辅助副本。计算实例可以通过客户端将其I/O虚拟化为卷。客户端表示使得计算实例能够连接到远程数据卷(例如,存储在通过网络访问的物理分离的计算装置上的数据卷)并在远程数据卷处执行I/O操作的指令。客户端可以在包括计算实例的处理单元(例如,CPU或GPU)的服务器的卸载卡上实施。
数据平面116A还可以包括一个或多个对象存储服务器110,所述对象存储服务器表示云提供商网络内的另一种类型的存储装置。对象存储服务器110包括一个或多个服务器,数据在所述一个或多个服务器上被存储为称为桶的资源内的对象并且可以用于支持云提供商网络的受管理对象存储服务。每个对象通常包括所存储的数据、启用对象存储服务器关于分析所存储对象的各种能力的可变量的元数据,以及可以用于检索对象的全局唯一标识符或密钥。每个桶与给定的用户账户相关联。用户可以将与期望一样多的对象存储在他们的桶中,可以写入、读取和删除他们的桶中的对象,并且可以控制对他们的桶和桶中包含的对象的访问。此外,在具有分布在上述区域中的不同区域上的多个不同对象存储服务器的实施方案中,用户可以选择存储桶的区域(或多个区域),例如以优化延时。客户可以使用桶来存储各种类型的对象,包括可以用于启动VM的机器映像,以及表示卷数据的时间点视图的快照。
提供商底层扩展102(“PSE”)在单独网络内提供云提供商网络100的资源和服务,由此将云提供商网络100的功能性扩展到新位置(例如,出于与客户装置通信的延时、法律合规性、安全性等相关的原因)。如所指示的,此类提供商底层扩展102可以包括云提供商网络管理的提供商底层扩展140(例如,由位于与和云提供商网络100相关联的那些设施分开的云提供商管理的设施中的服务器形成)、通信服务提供商底层扩展142(例如,由与通信服务提供商设施相关联的服务器形成)、客户管理的提供商底层扩展144(例如,由位于客户或合作伙伴设施本地的服务器形成),以及其他可能类型的底层扩展。
如示例性提供商底层扩展140中所示,提供商底层扩展102可以类似地包括控制平面118B与数据平面120B之间的逻辑分离,所述控制平面和数据平面分别扩展云提供商网络100的控制平面114A和数据平面116A。提供商底层扩展102可以例如由云提供商网络运营商预先配置有硬件与软件和/或固件元素的适当组合,以支持各种类型的计算相关资源,并且以反映使用云提供商网络的体验的方式来这样做。例如,一个或多个提供商底层扩展位置服务器可以由云提供商置备以部署在提供商底层扩展102内。如上所述,云提供商网络100可以提供一组预定义的实例类型,每个实例类型具有不同类型和数量的底层硬件资源。也可以以各种大小提供每种实例类型。为了使得客户能够在提供商底层扩展102中继续使用与他们在所述区域中所使用的相同的实例类型和大小,服务器可以是异构服务器。异构服务器可以同时支持相同类型的多个实例大小,并且还可以被重新配置为托管其底层硬件资源支持的任何实例类型。异构服务器的重新配置可以使用服务器的可用容量即时发生,即,当其他VM仍在运行并消耗提供商底层扩展位置服务器的其他容量时发生。这可以通过允许更好地打包服务器上的运行实例来提高边缘位置内计算资源的利用率,并且还提供关于云提供商网络100和云提供商网络提供商底层扩展上的实例使用的无缝体验。
如图所示,提供商底层扩展服务器可以托管一个或多个计算实例122。计算实例122可以是VM,或打包代码及其所有依赖项的容器,因此应用程序可以跨计算环境(例如,包括VM)快速且可靠地运行。另外,如果客户需要,则服务器可以托管一个或多个数据卷124。在云提供商网络100的区域中,此类卷可以托管在专用块存储服务器上。然而,由于在提供商底层扩展102处具有比在所述区域中明显更小的容量的可能性,因此如果提供商底层扩展包括此类专用块存储服务器,则可能无法提供最佳利用体验。因此,块存储服务可以在提供商底层扩展102中被虚拟化,使得VM中的一者运行块存储软件并存储卷124的数据。类似于云提供商网络100的区域中的块存储服务的操作,提供商底层扩展102内的卷124可以被复制以实现持久性和可用性。卷可以被置备在其自己在提供商底层扩展102内的隔离虚拟网络中。计算实例122和任何卷124共同构成提供商网络数据平面116A在提供商底层扩展102内的数据平面扩展120B。
在一些实施方式中,提供商底层扩展102内的服务器可以托管某些本地控制平面组件126,例如,在返回到云提供商网络100的连接发生中断的情况下使得提供商底层扩展102能够继续运行的组件。这些组件的示例包括:迁移管理器,如果需要维持可用性,则所述迁移管理器可以在提供商底层扩展服务器之间移动计算实例122;以及密钥值数据存储区,所述密钥值数据存储区指示卷副本所在的位置。然而,通常用于提供商底层扩展的控制平面118B功能性将保留在云提供商网络100中,以便允许客户使用提供商底层扩展的尽可能多的资源容量。
迁移管理器可能具有在区域中运行的集中协调组件,以及在PSE服务器上运行的本地控制器(以及云提供商数据中心中的服务器)。当迁移被触发时,集中协调组件可以标识目标边缘位置和/或目标主机,而本地控制器可以协调源主机与目标主机之间的数据传输。不同位置中的主机之间的所描述的资源移动可以采取若干形式的迁移中的一者。迁移是指在云计算网络中的主机之间或在云计算网络之外的主机和云内的主机之间移动虚拟机实例(和/或其他资源)。存在不同类型的迁移,包括实时迁移和重启迁移。在重启迁移期间,客户体验到其虚拟机实例的中断和有效的电源循环。例如,控制平面服务可以协调重启迁移工作流程,所述重启迁移工作流程涉及拆除原始主机上的当前域,随后为新主机上的虚拟机实例创建新域。实例通过在原始主机上关闭并在新主机上再次启动来重启。
实时迁移是指在不同的物理机之间移动正在运行的虚拟机或应用程序而不会显著中断虚拟机的可用性(例如,终端用户不会注意到虚拟机的停机时间)的过程。当控制平面执行实时迁移工作流程时,它可以创建与实例相关联的新“非活动”域,而实例的原始域继续作为“活动”域运行。虚拟机的存储器(包括正在运行的应用程序的任何存储器中状态)、存储和网络连接性从具有活动域的原始主机传输到具有非活动域的目标主机。在将存储器内容传输到目标主机时,虚拟机可能会短暂暂停以防止状态改变。控制平面可以将非活动域过渡为变成活动域并将原始活动域降级变成非活动域(有时称为“翻转”),之后可以丢弃非活动域。
用于各种类型的迁移的技术涉及管理关键阶段:虚拟机实例对客户不可用的时间,其应当尽可能保持为短。在当前公开的迁移技术中,这可能特别具有挑战性,因为资源正在可以通过一个或多个中间网络连接的地理上分离的位置中的主机之间移动。对于实时迁移,所公开的技术可以例如基于位置之间的延时、网络带宽/使用模式和/或基于实例最常使用哪些存储器页面来动态地确定要预复制(例如,当实例仍在源主机上运行时)和要后复制(例如,在实例开始在目标主机上运行之后)的存储器状态数据量。此外,可以基于位置之间的网络状况动态地确定传输存储器状态数据的特定时间。该分析可以由区域中的迁移管理组件执行,或者由在源边缘位置中本地运行的迁移管理组件执行。如果实例已访问虚拟化存储装置,则可以将源域和目标域两者同时附加到存储装置,以使得能够在迁移期间以及在需要回滚到源域的情况下不间断地访问其数据。
在提供商底层扩展102上运行的服务器软件可以由云提供商设计为在云提供商底层网络上运行,并且该软件可以能够通过使用本地网络管理器128在提供商底层扩展102中未经修改地运行以在边缘位置内创建底层网络的专用副本(“影子底层”)。本地网络管理器128可以在提供商底层扩展102服务器上运行并且例如通过充当虚拟专用网络(VPN)端点或提供商底层扩展102与云提供商网络100中的代理130、132之间的端点并通过实施映射服务(用于流量封装和解封装)以使数据平面流量(来自数据平面代理)和控制平面流量(来自控制平面代理)与适当服务器相关来桥接影子底层与提供商底层扩展102网络。通过实施提供商网络的底层-覆盖映射服务的本地版本,本地网络管理器128允许提供商底层扩展102中的资源与云提供商网络100中的资源进行无缝通信。在一些实施方式中,单个本地网络管理器可以为托管提供商底层扩展102中的计算实例122的所有服务器执行这些动作。在其他实施方式中,托管计算实例122的服务器中的每一者可以具有专用的本地网络管理器。在多机架边缘位置中,机架间通信可以通过本地网络管理器,其中本地网络管理器维持彼此之间的开放隧道。
提供商底层扩展位置可以利用通过提供商底层扩展102网络到云提供商网络100的安全联网隧道,例如,以在遍历提供商底层扩展102网络和任何其他中间网络(可能包括公共互联网)时维持客户数据的安全性。在云提供商网络100内,这些隧道由包括隔离的虚拟网络(例如,在覆盖网络中)、控制平面代理130、数据平面代理132和底层网络接口的虚拟基础设施组件组成。此类代理可以被实施为在计算实例上运行的容器。在一些实施方案中,托管计算实例的提供商底层扩展102位置中的每个服务器可以利用至少两个隧道:一个隧道用于控制平面流量(例如,约束应用协议(CoAP)流量),一个隧道用于封装的数据平面流量。云提供商网络内的连接性管理器(未示出)例如通过在需要时自动地置备这些隧道及其组件并将它们维持在健康的操作状态来管理它们的云提供商网络侧生命周期。在一些实施方案中,提供商底层扩展102位置与云提供商网络100之间的直接连接可以用于控制数据平面并进行数据平面通信。与通过其他网络的VPN相比,直接连接可以提供恒定的带宽和更一致的网络性能,因为它的网络路径相对固定和稳定。
可以在云提供商网络100中置备控制平面(CP)代理130以表示边缘位置中的特定主机。CP代理是云提供商网络100中的控制平面114A与提供商底层扩展102的控制平面118B中的控制平面目标之间的中介。即,CP代理130提供用于将去往提供商底层扩展服务器的管理API流量从区域底层穿隧到提供商底层扩展102的基础设施。例如,云提供商网络100的虚拟化计算服务可以向提供商底层扩展102的服务器的VMM发出命令以启动计算实例122。CP代理维护到提供商底层扩展的本地网络管理器128的隧道(例如,VPN)。在CP代理中实施的软件确保只有格式良好的API流量离开和返回到底层。CP代理提供了一种机制来暴露云提供商底层上的远程服务器,同时仍然保护底层安全材料(例如,加密密钥、安全令牌)不离开云提供商网络100。由CP代理强加的单向控制平面流量隧道还防止任何(可能受到威胁的)装置回叫到底层。CP代理可以与提供商底层扩展102处的服务器一对一地实例化,或者可能能够管理同一提供商底层扩展中的多个服务器的控制平面流量。
数据平面(DP)代理132也可以在云提供商网络100中置备以表示提供商底层扩展102中的特定服务器。DP代理132充当服务器的影子或锚点,并且可以由云提供商网络100内的服务使用来监视主机的健康状况(包括其可用性、已使用的/免费计算和容量、已使用的/免费存储和容量,以及网络带宽使用率/可用性)。DP代理132还允许隔离的虚拟网络通过充当云提供商网络100中的服务器的代理来跨越提供商底层扩展102和云提供商网络100。每个DP代理132可以被实施为分组转发计算实例或容器。如图所示,每个DP代理132可以与本地网络管理器128维持VPN隧道,所述本地网络管理器管理到DP代理132所表示的服务器的流量。该隧道可以用于在提供商底层扩展服务器与云提供商网络100之间发送数据平面流量。在提供商底层扩展102与云提供商网络100之间流动的数据平面流量可以通过与该提供商底层扩展相关联的DP代理132。对于从提供商底层扩展102流向云提供商网络100的数据平面流量,DP代理132可以接收封装的数据平面流量,验证其正确性,并允许其进入云提供商网络100。DP代理132可以将封装的流量从云提供商网络100直接转发到提供商底层扩展102。
本地网络管理器128可以提供与在云提供商网络100中建立的代理130、132的安全网络连接性。在本地网络管理器128与代理之间已经建立连接之后,客户可以经由接口104发出命令,以使用提供商底层扩展资源以与将针对托管在云提供商网络100内的计算实例发出此类命令的方式类似的方式将计算实例进行实例化(和/或使用计算实例执行其他操作)。从客户的角度来看,客户现在可以无缝地使用提供商底层扩展内的本地资源(以及位于云提供商网络100中的资源,如果需要)。在提供商底层扩展102处的服务器上设置的计算实例可以与位于同一网络中的电子装置通信,以及根据需要与在云提供商网络100中设置的其他资源通信。可以实施本地网关146以提供提供商底层扩展102与和所述扩展相关联的网络(例如,在提供商底层扩展142的示例中的通信服务提供商网络)之间的网络连接性。
可能存在需要在对象存储服务与提供商底层扩展102之间传送数据的情况。例如,对象存储服务可以存储用于启动VM的机器映像,以及表示卷的时间点备份的快照。对象网关可以在PSE服务器或专用存储装置上提供,并为客户提供对其PSE中的对象存储桶内容的可配置的按桶高速缓存,以最大限度地减少PSE区域延时对客户工作负载的影响。对象网关还可以临时存储来自PSE中的卷的快照的快照数据,然后在可能的情况下与区域中的对象服务器同步。对象网关还可以存储客户指定在PSE内或客户场所上使用的机器映像。在一些实施方式中,PSE内的数据可以用唯一密钥加密,并且出于安全原因,云提供商可以限制密钥从区域共享到PSE。因此,在对象存储服务器与对象网关之间交换的数据可以利用加密、解密和/或重新加密,以便保留关于加密密钥或其他敏感数据的安全边界。变换中介可以执行这些操作,并且可以(在对象存储服务器上)使用PSE加密密钥创建PSE桶以存储快照和机器映像数据。
以上述方式,PSE 102形成边缘位置,因为它在传统云提供商数据中心之外和更靠近客户装置处提供云提供商网络的资源和服务。如本文所指的边缘位置可以通过多种方式结构化。在一些实施方式中,边缘位置可以是云提供商网络底层的扩展,包括在可用区之外(例如,在云提供商的小型数据中心或位于靠近客户工作负载并且可能远离任何可用区的其他设施中)提供的有限数量的容量。此类边缘位置可以被称为“远区”(由于远离其他可用区)或“近区”(由于靠近客户工作负载)。近区可以通过各种方式例如直接、经由另一种网络或经由与区域的专用连接而连接到诸如互联网等公共可访问网络。虽然通常近区比某个区域具有更有限的容量,但是在一些情况下,近区可能具有相当大的容量,例如数千个或更多机架。
在一些实施方式中,边缘位置可以是由位于客户或合作伙伴设施本地的一个或多个服务器形成的云提供商网络底层的扩展,其中此类服务器通过网络(例如,公共可访问网络,诸如互联网)与云提供商网络的附近可用区或区域进行通信。位于云提供商网络数据中心之外的这种类型的底层扩展可以被称为云提供商网络的“前哨”。一些前哨可以例如作为多接入边缘计算(MEC)站点集成到通信网络中,所述MEC站点的物理基础设施分布在电信数据中心、电信聚合站点和/或电信网络内的电信基站上。在本地示例中,前哨的有限容量可能仅供拥有场所的客户(以及客户允许的任何其他账户)使用。在电信示例中,前哨的有限容量可以在向电信网络的用户发送数据的多个应用程序(例如,游戏、虚拟现实应用程序、医疗保健应用程序)之间共享。
边缘位置可以包括至少部分地由提供商网络的附近可用区的控制平面控制的数据平面容量。因而,可用区组可以包括“父”可用区和归属于父可用区(例如,至少部分地由其控制平面控制)的任何“子”边缘位置。某些有限的控制平面功能性(例如,需要与客户资源进行低延时通信的特征,和/或使得边缘位置能够在与父可用区断开连接时继续运行的特征)也可能存在于一些边缘位置中。因此,在上述示例中,边缘位置是指位于云提供商网络的边缘处、靠近客户装置和/或工作负载的至少数据平面容量的扩展。
图2示出了根据一些实施方案的其中云提供商网络边缘位置被部署在通信服务提供商网络内的示例性系统。通信服务提供商(CSP)网络200通常包括到终端用户电子装置的下游接口和到其他网络(例如,互联网)的上游接口。在该示例中,CSP网络200是无线“蜂窝”CSP网络,其包括无线电接入网络(RAN)202、204、聚合站点(AS)206、208和核心网络(CN)210。RAN 202、204包括向电子装置212提供无线连接性的基站(例如,NodeB、eNodeB、gNodeB)。核心网络210通常包括与CSP网络的管理相关的功能性(例如,计费、移动性管理等)以及在CSP网络与其他网络之间中继流量的传输功能性。聚合站点206、208可以用于将来自许多不同无线电接入网络的流量整合到核心网络,并将源自核心网络的流量引导到各种无线电接入网络。
终端用户电子装置212在图2中从左到右无线连接到无线电接入网络202的基站(或无线电基站)214。此类电子装置212有时被称为用户设备(UE)或客户场所设备(CPE)。数据流量通常通过由第3层路由器的多个跃点(例如,在聚合站点)组成的光纤传输网络路由到核心网络210。核心网络210通常容纳在一个或多个数据中心中。对于去往CSP网络200之外的位置的数据流量,网络组件222至226通常包括防火墙,流量可以通过所述防火墙进入或离开CSP网络200到达外部网络,诸如互联网或云提供商网络100。注意,在一些实施方案中,CSP网络200可以包括允许流量从核心网络210更下游的站点(例如,在聚合站点或RAN处)进入或离开的设施。
提供商底层扩展216至220包括作为云提供商网络的一部分进行管理但是安装或定位在CSP网络的各个点内(例如,在CSP拥有或租用的空间本地)的计算资源。计算资源通常提供云提供商可以分派给其客户使用的一定量的计算和存储器容量。计算资源还可以包括存储和加速器容量(例如,固态驱动器、图形加速器等)。这里,提供商底层扩展216、218和220与云提供商网络100通信。
通常,例如,就网络跃点和/或距离而言,提供商底层扩展距离云提供商网络100越远(或更靠近电子装置212),提供商底层扩展内的计算资源与电子装置212之间的网络延时越低。然而,物理站点约束通常限制可以安装在CSP内的各个点处的提供商底层扩展位置计算容量的量,或者确定是否可以完全在各个点处安装计算容量。例如,与位于RAN 202、204内的提供商底层扩展相比,位于核心网络210内的提供商底层扩展通常可以具有大得多的占用空间(在物理空间、电力需求、冷却需求等方面)。
CSP网络内提供商底层扩展的安装或定位可能因CSP网络的特定网络拓扑或架构而异。如图2指示,提供商底层扩展通常可以连接到CSP网络可以中断基于分组的流量(例如,基于IP的流量)的任何位置。另外,给定的提供商底层扩展与云提供商网络100之间的通信通常安全地转接CSP网络200的至少一部分(例如,经由安全隧道、虚拟专用网络、直接连接等)。在所示的示例中,网络组件222促进数据流量路由到与RAN 202集成的提供商底层扩展216和从所述提供商底层扩展路由数据流量,网络组件224促进数据流量路由到与AS 206集成的提供商底层扩展218和从所述提供商底层扩展路由数据流量,并且网络组件226促进数据流量路由到与CN 210集成的提供商底层扩展220和从所述提供商底层扩展路由数据流量。网络组件222至226可以包括路由器、网关或防火墙。为了促进路由,CSP可以向边缘位置中的每一者分派来自CSP网络地址空间中的一个或多个IP地址。
在5G无线网络开发工作中,边缘位置可以被视为多接入边缘计算(MEC)的一种可能实施方式。此类边缘位置可以连接到CSP 5G网络中的各个点,所述点作为用户平面功能(UPF)的一部分为数据流量提供中断。较旧的无线网络也可以包含边缘位置。例如,在3G无线网络中,边缘位置可以连接到CSP网络的分组交换网络部分,诸如连接到服务通用分组无线电服务支持节点(SGSN)或连接到网关通用分组无线电服务支持节点(GGSN)。在4G无线网络中,边缘位置可以作为核心网络或演进分组核心(EPC)的一部分连接到服务网关(SGW)或分组数据网络网关(PGW)。
在一些实施方案中,提供商底层扩展228与云提供商网络100之间的流量可以从CSP网络200中断,而无需路由通过核心网络210。例如,RAN 204的网络组件230可以被配置为在RAN 204的提供商底层扩展216与云提供商网络100之间路由流量,而不遍历聚合站点或核心网络210。作为另一个示例,聚合站点208的网络组件231可以被配置为在聚合站点208的提供商底层扩展232与云提供商网络100之间路由流量而不遍历核心网络210。网络组件230、231可以包括网关或路由器,所述网关或路由器具有路由数据以将来自边缘位置的去往云提供商网络100的流量引导到云提供商网络100(例如,通过直接连接或中间网络234)并将来自云提供商网络100的去往提供商底层扩展的流量引导到提供商底层扩展。
在一些实施方案中,提供商底层扩展可以连接到多于一个CSP网络。例如,当两个CSP通过公共点共享或路由流量时,提供商底层扩展可以连接到两个CSP网络。例如,每个CSP可以将其网络地址空间的某个部分分配给提供商底层扩展,并且提供商底层扩展可以包括路由器或网关,所述路由器或网关可以区分与CSP网络中的每一者交换的流量。例如,来自一个CSP网络的去往提供商底层扩展的流量与从另一个CSP网络接收的流量相比可能具有不同的目标IP地址、源IP地址和/或虚拟局域网(VLAN)标签。源自提供商底层扩展的到CSP网络中的一者上的目标的流量可以被类似地封装以具有适当的VLAN标签、源IP地址(例如,来自从目标CSP网络地址空间分派给提供商底层扩展的池)和目标IP地址。
应注意,虽然图2的示例性CSP网络架构包括无线电接入网络、聚合站点和核心网络,但是CSP网络的架构的命名和结构在几代无线技术之间、在不同CSP之间以及在无线CSP网络与固定线路CSP网络之间可能有所不同。另外,虽然图2示出了边缘位置在CSP网络内可以定位的几个位置,但是其他位置也是可能的(例如,在基站处)。
图3更详细地示出了根据一些实施方案的云提供商网络和通信服务提供商网络内的提供商底层扩展的示例性组件以及它们之间的连接性。提供商底层扩展300在CSP网络302内提供云提供商网络的资源和服务,由此将云提供商网络100的功能性扩展为更靠近连接到CSP网络的终端用户装置304。
提供商底层扩展300类似地包括控制平面306B与数据平面308B之间的逻辑分离,所述控制平面和数据平面分别扩展云提供商网络100的控制平面114A和数据平面116A。提供商底层扩展300可以例如由云提供商网络运营商预先配置有硬件与软件和/或固件元素的适当组合,以支持各种类型的计算相关资源,并且以反映使用云提供商网络的体验的方式来这样做。例如,一个或多个提供商底层扩展位置服务器310可以由云提供商置备以部署在CSP网络302内。
在一些实施方式中,提供商底层扩展300内的服务器310可以托管某些本地控制平面组件314,例如,在返回到云提供商网络100的连接发生中断的情况下使得提供商底层扩展300能够继续运行的组件。此外,某些控制器功能通常可以在数据平面服务器上、甚至在云提供商数据中心中本地实施,例如用于收集用于监视实例健康状况的指标并将指标发送到监视服务的功能以及用于协调实时迁移期间实例状态数据的传送的功能。然而,通常用于提供商底层扩展300的控制平面306B功能性将保留在云提供商网络100中,以便允许客户使用提供商底层扩展的尽可能多的资源容量。
如图所示,提供商底层扩展服务器310可以托管计算实例312。计算实例可以是VM、microVM,或打包代码及其所有依赖项的容器,因此应用程序可以跨计算环境(例如,包括VM)快速且可靠地运行。因此,容器是应用程序层的抽象化(意味着每个容器模拟不同的软件应用程序进程)。尽管每个容器都运行隔离的进程,但是多个容器可以例如通过在同一虚拟机中启动而共享通用操作系统。相比之下,虚拟机是硬件层的抽象化(意味着每个虚拟机模拟可以运行软件的物理机)。虚拟机技术可以使用一个物理服务器以运行多个服务器(其中每一者被称为虚拟机)的等效物。虽然多个虚拟机可以在一个物理机上运行,但是每个虚拟机通常具有其自己的操作系统副本,以及应用程序及其相关文件、库和依赖项。虚拟机通常被称为计算实例或简称为“实例”。一些容器可以在运行容器代理的实例上运行,而一些容器可以在裸机服务器上运行。
在一些实施方案中,边缘优化计算实例的执行由在服务器310上运行的轻量级虚拟机管理器(VMM)支持,在所述服务器上基于应用程序配置文件启动边缘优化计算实例。这些VMM使得能够在几分之一秒内启动轻量级微型虚拟机(microVM)。这些VMM还可以使得容器运行时和容器编排器能够将容器作为microVM进行管理。尽管如此,这些microVM还利用由传统VM例如通过VMM将其作为隔离进程运行而提供的安全性和工作负载隔离以及容器带来的资源效率。如本文所使用的,microVM是指如下VM:使用有限装置模型和/或使用由轻量级VMM支持的最小OS内核进行初始化,并且每个microVM可以具有<5MiB的低存储器开销,使得数千个microVM可以打包到单个主机上。例如,microVM可以具有OS内核的精简版本(例如,仅具有所需的OS组件及其依赖项)以最大限度地减少启动时间和存储器占用空间。在一个实施方式中,轻量级VMM的每个进程封装一个且仅一个microVM。所述进程可以运行以下线程:API、VMM和vCPU。API线程负责API服务器和相关联的控制平面。VMM线程公开了机器模型、最小遗留装置模型、microVM元数据服务(MMDS)以及VirtIO装置模拟网络和块装置。另外,存在一个或多个vCPU线程(每个来宾CPU内核一个vCPU线程)。
另外,如果客户需要,则服务器310可以托管一个或多个数据卷324。卷可以被置备在其自己在提供商底层扩展300内的隔离虚拟网络中。计算实例312和任何卷324共同构成提供商网络数据平面116A在提供商底层扩展300内的数据平面扩展308B。
可以实施本地网关316以提供提供商底层扩展300与CSP网络302之间的网络连接。云提供商可以用CSP网络302上的IP地址配置本地网关316,并与CSP网络组件320交换路由数据(例如,经由边界网关协议(BGP))。本地网关316可以包括一个或多个路由表,所述路由表控制入站流量到提供商底层扩展300和出站流量离开提供商底层扩展300的路由。在其中CSP网络302对CSP网络302的不同部分使用单独的VLAN(例如,一个VLAN标签用于无线网络,另一个VLAN标签用于固定网络)的情况下,本地网关316还可以支持多个VLAN。
在提供商底层扩展300的一些实施方案中,扩展包括一个或多个交换机,有时称为架顶(TOR)交换机(例如,在基于机架的实施方案中)。TOR交换机连接到CSP网络路由器(例如,CSP网络组件320),诸如提供商边缘(PE)或软件定义广域网(SD-WAN)路由器。每个TOR交换机可以包括到CSP网络路由器的上行链路链路聚合(LAG)接口,每个LAG支持多个物理链路(例如,1G/10G/40G/100G)。所述链路可以运行链路聚合控制协议(LACP)并被配置为IEEE802.1q干道,以在同一接口上启用多个VLAN。这种LACP-LAG配置允许云提供商网络100的控制平面的边缘位置管理实体将更多对等链路添加到边缘位置而无需调整路由。TOR交换机中的每一者可以与运营商PE或SD-WAN路由器建立eBGP会话。CSP可以为边缘位置和CSP网络302的ASN提供专用自主系统编号(ASN)以促进路由数据的交换。
源自提供商底层扩展300的数据平面流量可以具有多个不同的目标。例如,寻址到云提供商网络100的数据平面116A中的目标的流量可以经由提供商底层扩展300与云提供商网络100之间的数据平面连接来路由。本地网络管理器318可以从计算实例312接收被寻址到例如云提供商网络100中的另一个计算实例的分组,并且用作为服务器的底层IP地址的目标封装所述分组,所述服务器托管另一计算实例,然后将其(例如,经由直接连接或隧道)发送到云提供商网络100。对于从寻址到托管在另一个提供商底层扩展322中的另一计算实例的计算实例312的流量,本地网络管理器318可以用作为被分配给另一提供商底层扩展322的IP地址的目标封装所述分组,由此允许CSP网络组件320处理分组的路由。替代地,如果CSP网络组件320不支持边缘位置间流量,则本地网络管理器318可以将分组寻址到云提供商网络100中的中继器,所述中继器可以经由其与云提供商网络100的数据平面连接(未示出)将分组发送到另一提供商底层扩展322。类似地,对于从计算实例312地址到CSP网络302或云提供商网络100之外的位置(例如,在互联网上)的流量,如果CSP网络组件320允许路由到互联网,则本地网络管理器318可以用与分配给计算实例312的运营商地址空间中的IP地址相对应的源IP地址封装分组。否则,本地网络管理器318可以将分组发送到云提供商网络100中的互联网网关,所述互联网网关可以为计算实例312提供互联网连接性。对于来自寻址到电子装置304的计算实例312的流量,本地网关316可以使用网络地址转译(NAT)来将分组的源IP地址从云提供商网络的地址空间中的地址更改为地址运营商网络空间。
本地网关316、本地网络管理器318和其他本地控制平面组件314可以在托管计算实例312的相同服务器310上运行,可以在与边缘位置服务器310集成的专用处理器上(例如,卸载卡上)运行,或者可以由与托管客户资源的那些服务器分开的服务器执行。
图4示出了根据一些实施方案的包括地理上分散的提供商底层扩展(或“边缘位置”)的示例性云提供商网络。如图所示,云提供商网络400可以形成为多个区域402,其中区域是其中云提供商具有一个或多个数据中心404的单独地理区域。每个区域402可以包括经由诸如例如光纤通信连接等专用高速网络彼此连接的两个或更多个可用区(AZ)。可用区是指包括一个或多个数据中心设施的隔离故障域,所述数据中心设施相对于其他可用区具有单独的电源、单独的联网和单独的冷却。云提供商可能会努力将可用区域定位在某个区域内,使彼此相距足够远,使得自然灾害、大范围停电或其他意外事件不会同时使多于一个可用区脱机。客户可以经由可公共访问的网络(例如,互联网、蜂窝通信网络、CSP网络)连接到云提供商网络的可用区内的资源。转接中心(TC)是将客户链接到云提供商网络的主要骨干位置,并且可以共同位于其他网络提供商设施(例如,互联网服务提供商、电信提供商)中。每个区域可以操作两个或更多个TC以实现冗余。
与区域数据中心或可用区的数量相比,边缘位置406的数量可以高得多。边缘位置406的这种广泛部署可以为大得多的终端用户装置组提供到云的低延时连接性(与碰巧非常靠近区域数据中心的那些终端用户装置组相比)。在一些实施方案中,每个边缘位置406可以对等到云提供商网络400的某个部分(例如,父可用区或区域数据中心)。这种对等允许在云提供商网络400中操作的各种组件管理边缘位置的计算资源。在一些情况下,多个边缘位置可以位于或安装在同一设施(例如,计算机系统的单独机架)中并且由不同的区或数据中心管理以提供附加冗余。应注意,虽然边缘位置在本文中通常被描述为在CSP网络内,但是在一些情况下,诸如当云提供商网络设施相对靠近通信服务提供商设施时,边缘位置可以保留在云提供商网络的物理场所内,同时经由光纤或其他网络链路连接到通信服务提供商网络。
边缘位置406可以通过多种方式结构化。在一些实施方式中,边缘位置406可以是云提供商网络底层的扩展,包括在可用区域之外(例如,在云提供商的小型数据中心或位于靠近客户工作负载处并且可能远离任何可用区的其他设置中)提供的有限数量的容量。此类边缘位置可以被称为本地区(由于比传统的可用区更本地或更接近一组用户)。本地区可以通过各种方式(例如直接、经由另一种网络或经由与区域的专用连接)而连接到诸如互联网等公共可访问网络。虽然通常本地区比某个区域具有更有限的容量,但是在一些情况下,本地区可能具有相当大的容量,例如数千个或更多机架。一些本地区可以使用与典型的云提供商数据中心类似的基础设施,而不是本文描述的边缘位置基础设施。
如本文指示,云提供商网络可以形成为多个区域,其中每个区域表示云提供商将数据中心集群在其中的地理区域。每个区域还可以包括经由例如光纤通信连接等专用高速网络彼此连接的多个(例如,两个或更多个)可用区(AZ)。AZ可以提供包括一个或多个数据中心设施的隔离故障域,所述数据中心设施相对于另一个AZ中的那些数据中心设施具有单独的电源、单独的联网和单独的冷却。优选地,区域内的AZ被定位成彼此相距足够远,而使得同一自然灾害(或其他引发故障的事件)不会同时影响多于一个AZ或使其同时脱机。客户可以经由可公共访问的网络(例如,互联网、蜂窝通信网络)连接到云提供商网络的AZ。
给定边缘位置作为云提供商网络的AZ或区域的父级可以基于许多因素。一种这样的父级因素是数据主权。例如,为了将源自某个国家的CSP网络的数据保留在所述国家,部署在所述CSP网络中的边缘位置可以作为所述国家的AZ或区域的父级。另一个因素是服务的可用性。例如,一些边缘位置可以具有不同的硬件配置,诸如是否存在组件,诸如用于客户数据的本地非易失性存储装置(例如,固态驱动器)、图形加速器等。一些AZ或区域可能缺乏利用这些附加资源的服务,因此边缘位置可以作为支持使用那些资源的AZ或区域的父级。另一个因素是AZ或区域与边缘位置之间的延时。虽然在CSP网络中部署边缘位置具有延时益处,但是那些益处可能会通过将边缘位置作为远处AZ或区域的父级来抵消,这会给边缘位置到区域流量引入显著延时。因此,边缘位置通常是附近(就网络延时而言)AZ或区域的父级。
图5示出了根据一些实施方案的其中计算实例在云提供商网络边缘位置中启动的示例性环境。如图所示,云提供商网络500包括硬件虚拟化服务506和数据库服务508。云提供商网络500具有多个边缘位置510。在该示例中,多个边缘位置510部署在一个或多个CSP网络501的每一者中。边缘位置510-1至510-M部署在CSP网络501-1中,而其他边缘位置(未示出)可以部署在其他CSP网络(例如,501-2至501-N)中。CSP网络501可以是相同CSP的不同网络或网络切片或不同CSP的网络。
图5中编号为“1”至“3”的圆圈示出了用户138(例如,云提供商网络的客户)可以通过其在边缘位置510中的一者处启动计算实例的示例性过程。在图5的圆圈“1”处,用户138使用电子装置134请求标识可用边缘位置。如上文指示,电子装置134与提供商网络100之间的通信(诸如请求标识边缘位置以在边缘位置处启动实例)可以通过接口104(诸如通过经由被实施为网站或应用程序的控制台使用应用程序编程接口(API)调用等等)进行路由。除了用作控制平面服务的前端之外,接口104还可以执行诸如验证发起请求的用户的身份和权限、评估请求并将其路由到适当的控制平面服务等操作。
对标识边缘位置的请求可以包括零个或更多个参数以过滤该组返回的边缘位置、将其限制或以其他方式约束到少于所有边缘位置510。例如,一个这样的参数可以是特定CSP的标识(例如,当云提供商网络500具有与多个CSP集成的边缘位置时)。另一个这样的参数是CSP的特定网络的标识(例如,如果CSP具有用于4G网络、5G网络等的边缘位置)。另一个这样的参数可能会将返回的边缘位置限制为具有某些硬件支持(例如,加速器)的边缘位置。另一个这样的参数可以将返回的边缘位置限制为在某个地理指示符(例如,城市、州、邮政编码、地理坐标等)的某个距离附近或以内的边缘位置。
在所示实施方案中,所述请求由硬件虚拟化服务506处理。在接收到请求时,硬件虚拟化服务506从边缘位置数据509获取满足请求的边缘位置的身份(如果有)。示例性边缘位置数据509可以存储在由数据库服务508提供的数据库中。对于每个边缘位置,边缘位置数据509可以包括分配给边缘位置的标识符、在其中部署边缘位置的CSP网络的指示或标识符、以及边缘位置的地理位置的指示或标识符。作为一个示例,用户可能在CSP公司X的5G网络上请求标识纽约市10英里范围内的边缘位置。在标识满足用户请求的边缘位置时,硬件虚拟化服务506将边缘位置的列表或集合返回给电子装置134。
在图5的圆圈“2”处,用户138请求在指定边缘位置处启动计算实例。这样的请求可以包括各种参数,诸如要启动的实例的类型。在接收到请求时,硬件虚拟化服务506可以进行检查以确保指定边缘位置具有足够的容量来启动实例以及其他操作。应注意,在一些实施方案中,硬件虚拟化服务506可以避免响应于在圆圈“1”处的用户请求而返回处于或接近全部资源容量的边缘位置,以避免拒绝在圆圈“2”处的请求。
在图5的圆圈“3”处,硬件虚拟化服务506向指定边缘位置发出控制平面命令以启动所请求的计算实例(例如,经由代理130)。例如,硬件虚拟化服务407然后可以向边缘位置或边缘位置服务器上的VMM发出命令以启动客户的计算实例。
由于可能部署大量边缘位置,因此客户可能难以手动标识和选择适合其应用程序的边缘位置。根据参考图6和图7所描述的方法,可以由云提供商网络的组件执行选择托管计算实例的边缘位置。
图6示出了根据一些实施方案的在云提供商网络边缘位置中启动虚拟化计算资源(包括VM、microVM和/或容器)的另一种示例性环境。如图所示,云提供商网络600包括硬件虚拟化服务606、边缘位置布局服务620和数据库服务622。云提供商网络600在各种CSP网络501中具有多个边缘位置510(例如,诸如上文参考图5所描述的)。
图6中编号为“1”至“3”的圆圈示出了用户138(例如,云提供商网络的客户)可以通过其在边缘位置510中的一者处启动计算实例的示例性过程。在图6的圆圈“1”处,用户138向硬件虚拟化服务606发出启动计算实例的请求。这里,所述请求的参数可以包括地理指示符和对延时约束或要求的指示。取决于实施方式,地理指示符可以采用多种形式(例如,地理坐标、邮政编码、大都市区等)。例如,地理标识符可能是与区域698相关联的邮政编码、区域698内的坐标、与区域698相对应的区域(例如,城市范围)等。延时指示符可以根据与地理指示符相关联的装置(例如,在区域698中)与最终被选择为托管所请求的计算实例的服务器之间的时间(例如,小于10毫秒)来指定。
来自用户138的更复杂的启动请求可以包括指定附加延时要求的参数。例如,所述请求可以指定所请求的实例与和地理指示符相关联的装置之间(例如,在区域内)以及所请求的实例与最终被选择为托管实例的边缘位置作为其父级的云提供商网络区域或可用区之间的通信的延时要求。作为另一个示例,所述请求可以请求分布在多个边缘位置上的多个实例,指定所请求的实例与和地理指示符相关联的装置之间以及边缘位置之间的通信的延时要求。
附加的启动请求参数可以包括要启动的计算实例的数量、计算实例的类型、计算实例(在多个计算示例的情况下)是应当紧密地打包在一起(例如,在同一服务器或边缘位置上)还是分散开(例如,在服务器或边缘位置上)。
如在参考图5描述的方法中,可以提供附加启动参数以限制边缘位置布局服务720对合适边缘位置的搜索(例如,标识特定CSP或CSP的特定网络的参数、标识边缘位置的硬件要求的参数等)。
在一些实施方案中,将所请求的启动约束在图6的圆圈“1”处的参数可以被存储为应用程序配置文件的部分。应用程序配置文件可以包括与在提供商底层扩展处执行用户工作负载相关的参数(例如,包括将专用于基于配置文件启动的实例的期望的计算资源量、所启动的实例的期望的延时和地理约束、实例布局和扩展配置等)。云提供商网络客户之前可能已经创建了应用程序配置文件,随后可以诸如在圆圈“1”处启动实例的请求中引用所述应用程序配置文件。
在一些实施方案中,可以包括在应用程序配置文件中的一个参数值是标识要用作基于应用程序配置文件启动计算实例的模板的资源的值。例如,如果用户创建了VM映像、虚拟设备、容器映像或可以用于启动计算实例的任何其他类型的资源(诸如,例如,VM、microVM、容器等),则用户可以提供资源的标识符(例如,云提供商网络100已知的资源的标识符)。在一些实施方案中,用户可以提供存储可以用于启动计算实例的资源的存储位置的标识符(例如,云提供商网络100内的存储位置或存储资源的其他位置的URL或其他标识符)。
在一些实施方案中,可以在应用程序配置文件中指定的另一个示例性参数包括与将专用于基于配置文件启动的实例的计算资源有关的参数。例如,用户可以根据CPU、存储器、联网性能或任何其他资源相关参数来指定资源约束(例如,用户可能规定要基于应用程序配置文件启动的实例被分派两个vCPU、8GiB存储器、高达10Gbps的联网或任何其他资源组合),使得为基于应用程序配置文件启动的实例提供所请求的资源(假设所请求的资源在满足其他应用程序配置文件约束的任何提供商底层扩展位置处是可用的)。在一些实施方案中,用户可以根据定义的实例类型(例如,与定义量的CPU、存储器、联网等相关联的实例类型、由云提供商网络100定义的资源)来指定资源约束。其他资源相关参数可以包括要由所启动的实例使用的块装置映射、内核版本等。
在一些实施方案中,其他示例性参数包括与将边缘优化实例布局在提供商底层扩展处的其他方面有关的参数。例如,可以指定的一个通信服务提供商相关参数包括特定通信服务提供商的标识(例如,以指示用户希望在与通信服务提供商A或通信服务提供商B相关联的提供商底层扩展处但是不在与通信服务提供商C相关联的提供商底层扩展处启动实例)。可以被指定的又一示例性通信服务提供商相关参数包括一个或多个特定地理位置,在所述特定地理位置处期望启动边缘优化实例(例如,在奥斯汀市中心附近的提供商底层扩展处、在靠近旧金山湾区的提供商底层扩展处、在西南地区或东北地区的提供商底层扩展处等)。又一个示例性参数包括用于在提供商底层扩展处执行用户工作负载的延时配置文件,其中延时配置文件通常指示边缘优化实例相对于终端用户或其他网络点之间的期望延时(例如,在对终端用户具有20毫秒或更短延时的PSE处、在洛杉矶附近对终端用户具有30毫秒或更短延时的PSE处等)。
在一些实施方案中,可以在应用程序配置文件中指定的其他示例性参数包括各种联网配置。例如,为了实现在专用网络中运行的区域内应用程序与在提供商底层扩展中运行的应用程序之间的通信,可以指定应用程序配置文件配置使得将专用网络端点提供给区域内专用网络以调用边缘优化实例。为了实现双向通信,客户还可以向他们的提供商底层扩展应用程序提供专用网络端点,所述专用网络端点可以用于从提供商底层扩展到区域的通信。
在一些实施方案中,可以在应用程序配置文件中指定的其他示例性参数包括一旦已经基于应用程序配置文件启动了一个或多个实例就使用的扩展策略。例如,用户可以在应用程序配置文件中为他们的应用程序指定向内扩展和向外扩展策略,其中此类策略使得能够调整提供商底层扩展位置中和其上的容量。在一些实施方案中,当向内扩展时,新容量默认在负载下的相同位置中启动并扩展到其他位置,前提是它们满足客户端延时约束(如果有的话)。例如,如果未指定客户端延时限制,则可以在负载下的同一位置中添加新容量并将新容量扩展到其他位置,直到受监视指标低于扩展阈值。
在图6的圆圈“2”处,硬件虚拟化服务606从边缘位置布局服务620请求满足用户启动请求的参数的候选边缘位置510的标识。边缘位置布局服务622可以对照延时数据609评估参数。通常,延时数据609提供对CSP网络501内的点(例如,在区域698和边缘位置510内提供连接性的基站)之间以及可能在CSP网络501内的点与云提供商网络600中的点(例如,由云提供商网络数据中心中的服务器托管的计算实例)之间的延时的指示。延时数据609还可以包括关于CSP网络501的各个接入点的位置的地理数据,以允许边缘位置布局服务620将用户指定的地理指示符与CSP网络(例如,基站或其他设备的覆盖区域,电子装置通过所述其他设备接入CSP网络501)相关联。接入点(有时被称为入口点)包括CSP订户装置通过其连接到CSP网络的装置(例如,诸如基站)。延时数据609可以通过多种方式导出,其中几种方式在下文中描述。如图所示,延时数据609存储在由数据库服务622托管的数据库中。在其他实施方案中,延时数据609可以从CSP网络的服务获得(例如,边缘位置布局服务620查询CSP网络的服务,而不是查询数据库服务622的数据库)。
在从硬件虚拟化服务606接收到对满足客户要求的合适边缘位置的请求时,边缘位置布局服务622可以访问延时数据609以标识哪些边缘位置满足那些要求。示例是说明性的。假设用户已经提供了与区域698相对应的地理指示符。无线CSP网络501可能包括许多基站,其中一些基站提供对地理区域698的覆盖。那些基站与边缘位置510之间的路由可能会有所不同(例如,一些可能必须遍历聚合站点,诸如聚合站点206,一些可能在从基站到边缘位置的网络路径中具有附加的跃点等)。延时数据可以包括基站与边缘位置之间的点对点延时,并且边缘位置布局服务620可以基于那些延时来标识具有满足客户延时约束的通信延时的候选边缘位置的集合。例如,边缘位置布局服务620可以确定到边缘位置510-1的延时1满足客户约束,而到另一个边缘位置510的延时2不满足客户约束。因此,边缘位置布局服务620将边缘位置510-1作为候选边缘位置返回给硬件虚拟化服务606。
除了标识满足客户延时要求的边缘位置之外,边缘位置布局服务622还可以通过客户的其他参数(如果指定)进一步缩小合适的边缘位置(例如,特定CSP的边缘位置、CSP的特定网络等)。
基于由边缘位置布局服务620返回的候选边缘位置(如果有),硬件虚拟化服务606可以在所述请求不能得到满足的情况下向客户返回错误,或者继续启动计算实例。例如,如果没有边缘位置满足客户的延时要求,或者如果客户已请求分布在N个边缘位置上的N个计算实例但少于N个边缘位置满足客户的延时要求,则请求可能会失败。假设可以满足客户的请求,硬件虚拟化服务606可以向边缘位置发出控制平面命令以启动所请求的实例,如图6的圆圈“3”处指示(例如,参见以上对图5的圆圈“3”的描述)。
在一些情况下,由边缘位置布局服务622返回的合适边缘位置的数量可能超过客户请求的计算实例的数量。在此类情况下,硬件虚拟化服务606可以继续进行附加的选择标准,以选择将使用哪个合适的边缘位置来托管客户请求的计算实例。硬件虚拟化服务606可以基于各种标准使用某个成本函数来对合适的边缘位置中的每一者进行评分,并基于其相对于其他边缘位置的分数的分数来选择“最佳”边缘位置。一个这样的标准是容量成本,部署在曼哈顿的PSE可能比部署在新泽西州纽瓦克的PSE具有更高的货币成本(例如,基于为纽约曼哈顿的用户提供更低的延时或对所述站点的需求增加)。另一个这样的标准是合适边缘位置上的可用容量。测量可用容量的一种方式是跟踪每个边缘位置或每个边缘位置服务器先前启动的计算实例的数量。硬件虚拟化服务606可以(例如,在数据库中)跟踪哪些边缘位置先前已用于启动计算实例以及那些计算实例的资源消耗。测量可用容量的另一种方式是基于边缘位置或边缘位置服务器的资源利用率。在边缘位置或边缘位置服务器上本地执行的代理或其他进程可以监视用于托管计算实例的处理器、存储器、网络适配器和存储装置的利用率,并将所述利用率数据报告给硬件虚拟化服务606。硬件虚拟化服务606可以从由边缘位置布局服务620返回的合适边缘位置中选择具有最高容量(或最低利用率)的边缘位置。
用于获得延时数据609的各种方法是可能的,包括下文描述的那些方法。为了促进一组稳健的客户延时要求,边缘位置布局服务622可以使用本文描述的一种或多种方法或其他方法来确定例如终端用户电子装置与基站、基站与边缘位置、基站与云提供商网络区域或可用区数据中心、边缘位置与边缘位置以及边缘位置与云提供商网络区域或可用区数据中心之间的延时。延时通常是指一个装置向接收者发送消息与接收者接收消息之间的单向时间,或者是指一个装置发出请求与随后接收对所述请求的响应之间的往返时间。在一些实施方案中,延时数据609提供或允许推导各个点之间的延时以用于边缘位置布局服务622的布局确定。
根据第一种方法,CSP网络可以包括延时服务。延时服务可以定期接收或以其他方式监视整个CSP网络中的延迟。延时服务可以包括API,边缘位置布局服务622可以通过所述API发出调用以获取延时数据609。这种方法可以被称为基于查询的方法。延时服务的示例性API接收一个或多个路由(例如,经由CSP网络内的端点指定)并返回路由的延时。提供CSP网络中的各种端点的标识(例如,通过IP地址),边缘位置布局服务622可以使用CSP网络的延时服务来构建通过CSP网络的点对点延时的视图。例如,基于对CSP网络的各种接入点(例如,基站)、接入点的覆盖区域和边缘位置的了解,边缘位置布局服务622可以构建使地理区域与边缘位置相关的延时数据集。另外,基于对与CSP网络集成的各种边缘位置的了解,边缘位置布局服务622还可以测量云提供商网络与边缘位置中的每一者之间的延时。例如,边缘位置布局服务622可以在数据库服务622的数据库中存储或缓存来自延时服务和其他延时测量的响应。
根据第二种方法,CSP可以提供关于CSP的网络拓扑的详细信息,边缘位置布局服务622可以从所述详细信息中导出用于基于网络的各个点之间的距离和跃点延迟模型做出布局确定的信息。这种方法可以被称为基于模型的方法。网络拓扑信息可以被提供在表示如网络跃点的数量和网络节点之间(例如,基站与边缘位置之间、边缘位置之间以及边缘位置与云提供商网络之间,云提供商网络可能由云提供商使用与CSP网络和云提供商网络之间的连接性相关的网络拓扑信息进行扩充)的距离等内容的图形或其他合适的数据结构中或被转换为所述图形或其他合适的数据结构。另外,网络拓扑信息可以包括与终端用户装置的对网络的接入点的地理位置有关的信息(例如,基站覆盖范围)。使用一组试探法,网络拓扑信息可以用于对通过CSP网络的各种延时(例如,点对点延时)进行建模,以生成延时数据609。例如,试探法可以包括在给定距离处的网络节点之间的信号的估计延迟(例如,使用光速)、由通过网络的各种跃点增加的建模延时(例如,由于路由器或其他网络设备处的处理延迟)等。因为网络拓扑可能随时间变化,所以CSP可以定期提供更新的网络拓扑信息。
根据第三种方法,CSP和/或云提供商可以建立“发布者”节点网络,所述节点收集延时数据并将其报告给边缘位置布局服务622。此类发布者节点可以通过多种方式收集延时数据,所述多种方式诸如查验其他装置、订阅由CSP网络组件发出的事件或定期轮询CSP网络API以收集QoS数据。虽然类似于基于查询的方法(它提供了比基于模型的方法更新的网络延时视图),但是第三种方法(被称为基于监视器的方法)可以在较少依赖于CSP的情况下实施(无论是通过获得对内部联网API(诸如延时服务)的访问,要求CSP部署可能不存在的延时监视设施,还是通过依赖于CSP得到网络拓扑数据)。例如,边缘位置和/或终端用户电子装置可以包括监视到其他装置的延时的应用程序。在边缘位置处,应用程序可以由计算实例执行或作为控制平面组件执行。在终端用户电子装置处,应用程序可以是作为用于将应用程序部署到终端用户装置的软件开发工具包的一部分并入的后台进程。在任何一种情况下,应用程序都可以定期地从云提供商网络的服务或CSP网络的服务中获取对其他边缘位置、基站或CSP网络接入点和/或连接到CSP网络(例如,经由IP地址)的电子装置的标识,测量到所标识的装置的延时(例如,经由查验请求),并将结果报告给边缘位置布局服务622。在终端用户装置的情况下,应用程序可以进一步将终端用户装置与其接入点之间的延时数据报告给CSP网络(例如,基站)。边缘位置布局服务409可以聚合和存储报告的数据作为延时数据609。
图7示出了根据一些实施方案的其中计算实例在云提供商网络边缘位置中启动的另一种示例性环境。如图所示,云提供商网络700包括硬件虚拟化服务706、边缘位置布局服务720和数据库服务722。虽然未示出,但是云提供商网络700在CSP网络中具有多个边缘位置(例如,诸如上文参考图5所描述的)。
图7中编号为“1”至“3”的圆圈示出了用户138(例如,云提供商网络的客户)可以通过其在边缘位置510中的一者处启动计算实例的示例性过程。在图7的圆圈“1”处,用户138向硬件虚拟化服务606发出启动计算实例的请求。这里,所述请求的参数可以包括装置标识符和对延时约束或要求的指示。取决于实施方式,装置标识符可以采用多种形式(例如,IMEI号码、IP地址等)。延时指示符可以根据所标识的装置与最终被选择来托管所请求的计算实例的服务器之间的时间(例如,小于10毫秒)来指定。启动请求可以是诸如上文参考图6所描述的各种其他参数。
在图7的圆圈“2”处,硬件虚拟化服务706从边缘位置布局服务720请求对满足用户启动请求的参数的候选边缘位置510的标识。边缘位置布局服务720继续标识候选边缘位置510,诸如上文参考图6的圆圈“2”所描述的。为此,边缘位置布局服务720首先使用装置标识符获得与装置位置相关联的地理指示符。例如,边缘位置布局服务720可以从CSP网络701的装置位置服务742请求地理指示符(例如,通过提供IP地址或IMEI号码)。装置位置服务742可以为所标识的装置提供地理指示符。作为另一个示例,边缘位置布局服务720可以从所标识的装置790请求地理指示符。例如,装置标识符可能是正在执行装置位置代理744的电子装置790的IP地址。装置位置代理744可以为电子装置790提供地理指示符。边缘位置布局服务720可以使用地理指示符连同用户指定的延时约束来标识候选边缘位置,如上文针对图6所描述的。
基于由边缘位置布局服务720返回的候选边缘位置(如果有),硬件虚拟化服务706可以在所述请求不能得到满足的情况下向客户返回错误,或者继续启动计算实例。例如,如果没有边缘位置满足客户的延时要求,则请求可能会失败。假设可以满足客户的请求,硬件虚拟化服务606可以向边缘位置发出控制平面命令以启动所请求的实例,如图7的圆圈“3”处指示(例如,参见以上对图5和/或图6的圆圈“3”的描述)。
应注意,在一些实施方案中,地理指示符可以基于到电子装置的延时而不是从装置位置服务742或代理744获得特定地理指示符来推断。例如,用户138可以提供装置标识符和延时要求。在这种情况下,指定的装置可以用作用于确定地理指标的代理。例如,硬件虚拟化服务706或边缘位置布局服务720可以使多个其他装置(未示出)从几个已知位置查验装置的IP地址以推断装置的地理位置并因此推断对应的地理指示符。
除了向选择的边缘位置发送控制平面命令以致使启动计算实例之外,硬件虚拟化服务506、606、706还可以向选择的边缘位置发送控制平面命令以将CSP网络上的IP地址与所启动的计算实例相关联。IP地址可以从被分派给PSE的CSP网络地址空间中的IP地址池中选择。例如,所启动的实例可能被给予IP地址“A”,PSE的网关将所述IP地址通告给CSP网络组件,使得当通过CSP网络连接的装置向地址“A”发送分组时,所述分组被路由到PSE。
图8是根据一些实施方案的其中由于电子装置移动性而启动计算实例的示例性环境。在一些情况下,云提供商网络可以在部署于通信服务提供商网络内的各个边缘位置处自动启动计算实例,以继续满足客户指定的延时约束,即使电子装置的移动改变电子装置对通信服务提供商网络的接入点。随着移动装置改变其对CSP网络的接入点,那些接入点与部署在CSP网络中的特定边缘位置之间的延时可能会发生变化。作为一个示例并参考图2,电子装置212在通过RAN 202的接入点连接时到由边缘位置216托管的计算实例的延时可能比在通过RAN 202的接入点连接时到由边缘位置228托管的计算实例的延时要低,这是由于通过聚合站点206另外路由流量。相反,与由边缘位置228托管的计算实例相比,通过RAN204的接入点连接的另一个电子装置到由边缘位置216托管的计算实例可能具有更高的延时。如果云提供商网络的客户提供了延时约束作为在CSP网络的边缘位置内启动计算实例的部分,则通过CSP网络连接的装置接入点的变化可能导致违反所述约束。当例如云提供商网络的客户启动计算实例以向指定装置提供低延时连接性并且所述装置随后改变接入点时,可能会出现此类情况。
返回到图8,云提供商网络800的控制平面组件管理部署在CSP网络801内的边缘位置810-1和810-2。由边缘位置810-1托管的计算实例813最初满足客户指定的延时约束,因为电子装置890已经由接入点888连接到CSP网络801。在某一时刻,电子装置890将其到CSP网络801的接入点从接入点888改变为接入点889,并且图8中编号为“1”至“8”的圆圈跟踪示例性过程,通过所述过程启动计算实例815以说明电子装置890的移动。
在图8的圆圈“1”处,CSP网络801的移动性管理组件862管理连接到CSP网络801的装置(包括电子装置890)的移动性,因为那些装置移动并且可能改变到CSP网络801的接入点。接入点的这种变化在本文中被称为“移动性事件”。移动性管理组件通常是无线网络中的定义组件,诸如5G网络的接入和移动性管理功能(AMF)或4G或LTE网络的移动性管理实体(MME)。例如,CSP网络801中的此类移动性事件的检测可以基于定期地或当满足其他条件时报告给CSP网络801的由电子装置890测量的某个信号。例如,这些测量值可以包括由电子装置890感知到的来自由不同接入点(例如,接入点888、889)提供的不同地理覆盖区域(或“小区”)的接收功率或信号质量。在一些实施方案中,移动性管理组件862和/或CSP网络801的其他组件可以使用这些测量值来决定是否要进行将电子装置890从一个接入点移交到另一个接入点,以及哪个接入点是最佳连接点。
在该示例中,电子装置890正在移动,使得其经由接入点889与CSP网络801的连接比经由接入点888与CSP网络的连接更好或将会更好。在图8的圆圈“2”处,CSP网络801的移动性管理组件862向边缘位置连接管理器811提供对涉及电子装置890的移动性事件的指示。如上文指示,移动性管理组件862可以基于从电子装置890接收的测量值或基于由所述组件以其他方式获得的信号质量数据来做出这样的确定。在一些实施方案中,对移动性事件的指示是电子装置实际上正在从由第一接入点888提供的第一小区移动到由第二接入点889提供的第二小区的指示。在一些实施方案中,对移动性事件的指示包括电子装置890将从由第一接入点888提供的小区移动到由CSP网络801的其他接入点提供的一个或多个其他小区的一个或多个预测。此类预测性移动性事件可以包括电子装置890将改变其对一个或多个其他小区的接入点的可能性,并且可以包括对事件何时将实际发生的指示。
在一些实施方案中,移动性管理组件862将移动性事件发送到部署到CSP网络801的总数个边缘位置的全部或部分。在其他实施方案中,每个边缘位置的边缘位置连接管理器811跟踪已连接到由所述边缘位置托管的计算实例的电子装置,并请求移动性管理组件862发送与那些电子装置有关的更新。
在图8的圆圈“3”处,边缘位置连接管理器811将对移动事件的指示和装置特定连接数据发送到云提供商网络800的边缘位置移动性服务830。在一些实施方案中,边缘位置连接管理器811从由边缘位置810-1维护的连接数据812中获得一些或全部装置特定连接数据。连接数据812可以包括与电子装置(例如,电子装置890)和计算实例(例如,计算实例813)之间的连接相关联的源和目标网络地址、建立连接的时间、连接的状态、所使用的协议的类型等。在一些实施方案中,边缘位置连接管理器811检查连接数据812以确定与接收到的移动性事件相关联的电子装置是否连接到由边缘位置810-1托管的计算实例中的一者或多者,然后向边缘位置移动性服务830发送对所述电子装置的移动性事件和装置特定连接数据的指示。
在一些实施方案中,边缘位置移动性服务830确定电子装置890与第一计算实例813之间经由第二接入点889的通信延迟将不满足延时约束(并且因此将发生计算实例的迁移使得满足延时约束)。由于通过将通信从第二接入点889路由到现有计算实例813引入了附加的跃点或距离,或者因为边缘位置810-1不可从第二接入点889到达(例如,由于CSP网络801的网络拓扑和配置),因此可能不满足约束。边缘位置移动性服务830可以从在请求启动实例期间存储的数据(例如,当客户请求启动诸如上文参考图5、图6和图7描述的实例时存储在数据库中的数据,诸如应用程序配置文件的一部分)获得与实例相关联的延时约束。边缘位置移动性服务830可以获得现有计算实例与新接入点之间的延迟,所述延迟可以从延时数据(例如,延时数据609)确定。
虽然未示出,但是在一些实施方案中,给定边缘位置的边缘位置连接管理器可以向边缘位置移动性服务发送连接数据,并且CSP网络801的移动性管理组件可以向边缘位置移动性服务发送移动性事件。
假设计算实例813与接入点889之间的新延迟超过延时约束,则边缘位置移动性服务830向云提供商网络800的硬件虚拟化服务806发送实例启动请求,如图8的圆圈“4”处指示。如上文指示,地理指示符可以取决于实施方式采取多种形式(例如,地理坐标、邮政编码、大都市区域等)。在一些实施方案中,地理指示符是基于对提供给边缘位置移动性服务830的移动性事件的指示,例如,使得地理指示符对应于电子装置890正在移动到或预计会移动到的接入点的位置。在一些实施方案中,附加的启动参数可以包括特定CSP或CSP的特定网络的标识符、标识边缘位置的硬件要求的参数等,使得执行计算实例到具有与边缘位置810-1类似的特性的边缘位置的迁移。
在图8的圆圈“5”处,硬件虚拟化服务806从边缘位置布局服务820请求候选边缘位置的标识,所述候选边缘位置满足从边缘位置移动性服务830接收的启动请求的参数。边缘位置布局服务820可以对照边缘位置布局服务820可用的延时数据评估参数。通常,延时数据提供对CSP网络801内的点(例如,在区域和边缘位置内提供连接性的基站)之间以及可能在CSP网络801内的点与云提供商网络800中的点(例如,由云提供商网络数据中心中的服务器托管的计算实例)之间的延时的指示。延时数据还可以包括关于CSP网络801的各个接入点的位置的地理数据,以允许边缘位置布局服务820将指定的地理指示符与CSP网络(例如,基站或其他设备的覆盖区域,电子装置通过所述基站或其他设备接入CSP网络801)相关联。
在从硬件虚拟化服务806接收到对满足各种参数的合适边缘位置的请求(所述参数在所述请求中指定)时,边缘位置布局服务820可以访问延时数据和其他信息以标识哪些边缘位置满足那些要求。基于由边缘位置布局服务820返回的候选边缘位置(如果有),硬件虚拟化服务806可以诸如通过如本文所述评估候选者的成本函数来选择候选者中的一者。应注意,如上文指示,移动性事件可能包括电子装置890从接入点889移动到890的概率(尽管切换尚未发生)。在这种情况下,硬件虚拟化服务806可以将所述可能性因素考虑到成本函数中以确定是否启动实例。例如,如果移动的可能性低(例如,<50%)并且候选边缘位置的资源利用率高(例如,有足够的未使用资源容量用于100个实例的总容量中的10个新实例),则硬件虚拟化服务806可以选择等待实际移动性事件。
在一些实施方案中,新接入点889的标识符可以用作地理指示符的代理。边缘位置移动性服务830可以从移动性管理组件862(可能经由边缘位置连接管理器811)接收标识符并将所述标识符发送到硬件虚拟化服务806。硬件虚拟化服务806可以将所述标识符发送到边缘位置布局服务820,其进而可以使用接入点标识符来估计到候选边缘位置的延时。
在该示例中,边缘位置布局服务820返回边缘位置810-2的标识作为候选边缘位置,并且如果返回多于一个候选者,则硬件虚拟化服务806选择边缘位置810-2。硬件虚拟化服务806向边缘位置810-2处的本地资源管理器814发出控制平面命令以启动所请求的实例,如图8的圆圈“6”所指示。在一些实施方案中,响应于与电子装置890相关联的移动性事件而在边缘位置810-2启动的计算实例815可以基于与启动电子装置890先前所连接的计算实例813所使用的资源相同的资源(例如,虚拟机映像、容器映像等)。一旦启动,电子装置890就可以与在边缘位置810-2处启动的计算实例815建立连接并恢复使用与所述装置交互的任何应用程序。
在一些实施方案中,CSP网络地址空间中的IP地址池由CSP网络为一个或多个边缘位置预留。从池中向在那些边缘位置上启动的计算实例分配IP地址。通过这种方式,由边缘位置托管的计算实例可以被视为CSP网络上的另一个装置,从而促进通过CSP网络获得连接的电子装置(例如,电子装置890)与由边缘位置托管的计算实例之间的流量路由。在一些实施方案中,诸如硬件虚拟化服务806等控制平面组件向新计算实例815分配来自池的新IP地址。
硬件虚拟化服务806可以将新计算实例815的标识符返回给边缘位置移动性服务830。在一些实施方案中,边缘位置移动性服务830可以检查与原始计算实例813相关联的连接数据以确定是让计算实例813运行还是将其迁移到计算实例815。例如,如果计算实例813仍在与其他电子装置通信,则计算实例813可以在电子装置890开始与计算实例815通信的同时继续支持那些其他装置。在一些实施方案中,边缘位置移动性服务830可以触发以计算实例815作为目标并以计算实例813作为源的“迁移”,如图8的圆圈“7”处指示。迁移通常是指在主机之间移动虚拟机实例(和/或其他资源)。存在不同类型的迁移,包括实时迁移和重启迁移。在重启迁移期间,客户体验到其虚拟机实例的中断和有效的电源循环。例如,控制平面服务可以协调重启迁移工作流程,所述重启迁移工作流程涉及拆除原始主机上的当前计算实例,随后在新主机上创建新的计算实例。实例通过在原始主机上关闭并在新主机上再次启动来重启。
实时迁移是指在不同的物理机之间移动正在运行的虚拟机或应用程序而不会显著中断虚拟机的可用性(例如,终端用户不会注意到虚拟机的停机时间)的过程。当控制平面执行实时迁移工作流程时,它可以在新主机上创建新的“非活动”计算实例,而原始主机上的原始计算实例继续运行。虚拟机的状态数据(诸如存储器(包括正在运行的应用程序的任何存储器中状态)、存储和/或网络连接性)从具有活动计算实例的原始主机传输到具有非活动计算实例的新主机。控制平面可以将非活动计算实例过渡为变成活动计算实例并将原始活动计算实例降级变成非活动计算实例,之后可以丢弃非活动计算实例。
如图8的圆圈“8”处指示,从计算实例813迁移到计算实例815的状态数据可以直接通过CSP网络801发送。在其他实施方案中,状态数据可以遍历云提供商网络800的一部分(例如,如果一个边缘位置无法通过CSP网络801与另一边缘位置通信)。
应注意,边缘位置810-1包括本地资源管理器814,并且边缘位置810-2包括边缘位置连接管理器811和连接数据812。虽然图8的讨论可设想电子装置890移动“更接近的”边缘位置810-2,反之亦然,或者电子装置890可能稍后移动到未能满足与边缘位置810-2的通信中的延时约束的又一个接入点(未示出)。因此,对边缘位置810-1的操作的描述可以适用于边缘位置810-2,反之亦然。
图9是示出根据一些实施方案的用于在云提供商网络边缘位置中启动计算实例的方法的操作的流程图。操作(或本文描述的其他过程或其变型和/或组合)中的一些或全部在被配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)实施、由硬件实施或由其组合实施。代码以例如包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读储存介质上。计算机可读存储介质是非暂时性的。在一些实施方案中,操作中的一者或多者(或所有操作)由部署在其他图中的通信服务提供商网络内的提供商底层扩展的一个或多个本地控制组件(例如,本地资源管理器或管理诸如虚拟机或容器等计算实例的启动、配置和终止的其他组件)执行。
所述操作包括:在框902处,在嵌入通信服务提供商网络内的云提供商网络的提供商底层扩展处接收启动客户计算实例的消息,其中所述消息是从云提供商网络的控制平面服务接收的。所述操作包括:在框904处,在提供商底层扩展的计算机系统上启动客户计算实例,所述计算机系统具有执行客户计算实例的能力,其中提供商底层扩展经由通信服务提供商网络与云提供商网络通信,并且其中客户计算实例经由通信服务提供商网络与通信服务提供商网络的订户的移动装置通信。
如图2所示,云提供商网络底层扩展(PSE)可以被部署在通信服务提供商(CSP)网络内。那些CSP网络通常为订户的装置提供与CSP网络和其他网络(诸如互联网)的数据连接性。PSE可以包括计算资源(例如,处理器、存储器等),云提供商网络的客户可以在所述计算资源上启动计算实例,诸如虚拟机或容器。PSE的本地管理组件(诸如容器引擎或虚拟机管理器)可以管理使用PSE资源托管的计算实例。云提供商网络的控制平面组件(诸如硬件虚拟化服务)可以向本地管理组件发出命令以启动实例。所述命令可以经由云提供商网络与PSE之间的安全隧道通过CSP网络进行路由。
在CSP网络内部署或集成PSE可以减少在更远离CSP网络(例如,在云提供商网络的区域数据中心中)托管计算实例时原本可能存在的延时。例如,由部署在CSP网络内的PSE托管的计算实例与移动装置之间的通信可以完全在CSP网络内路由,而不需要流量离开CSP网络(例如,经由互联网交换机路由)。
图10是示出根据一些实施方案的用于在云提供商网络边缘位置中启动计算实例的另一种方法的操作的流程图。操作(或本文描述的其他过程或其变型和/或组合)中的一些或全部在被配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)实施、由硬件实施或由其组合实施。代码以例如包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读储存介质上。计算机可读存储介质是非暂时性的。在一些实施方案中,操作中的一者或多者(或所有操作)由其他图的云提供商网络的一个或多个控制平面服务(例如,硬件虚拟化服务606、706、边缘位置布局服务620、720)执行。
所述操作包括:在框1002处,在云提供商网络的服务处接收来自客户的启动计算实例的请求,其中所述请求包括延时要求。如上文所解释,在通信服务提供商网络内部署或嵌入提供商底层扩展或边缘位置的优势中的一者是减少终端用户装置与客户计算实例之间的延时。为了向云提供商网络的客户提供利用减少的延时的能力,允许客户指定控制客户的计算实例最终在其中启动的位置的延时要求或约束是有益的。因此,云提供商网络可以包括诸如API等接口,客户可以通过所述接口鉴于请求延时要求启动实例,诸如上文参考图6和图7所描述的。
所述操作包括:在框1004处,从云提供商网络的多个提供商底层扩展中选择提供商底层扩展来托管计算实例,其中所述选择是至少部分地基于延时要求,并且其中所述选择的提供商底层扩展连接到通信服务提供商网络并且至少部分地由云提供商网络的服务经由通过通信服务提供商网络的至少一部分的连接来控制。如参考图6和图7所解释的,边缘位置布局服务620、720可以评估候选边缘位置以确定哪些边缘位置满足客户延时要求。为此,边缘位置布局服务获得地理指标,所述地理指标可以与由CSP网络中的一个或多个接入点覆盖的地理区域相关联,并评估从所述一个或多个点到部署在CSP网络中的边缘位置的延时。这种地理指示符可以被提供有在框1002接收的请求(例如,由客户指定地理区域,诸如城市、邮政编码等),或者通过例如确定用请求标识的装置的位置来获得。可以使用各种技术来获得CSP网络的点之间的延时值或估计值(例如,边缘位置到接入点)。边缘位置布局服务可以确定哪些边缘位置(如果有)满足客户的延时要求,并将所述候选集返回给硬件虚拟化服务。所述集合可以包括对所述集合中的边缘位置中的每一者之间相对于延时要求的延时裕度的指示。使用成本函数或其他技术对候选边缘位置进行排名,硬件虚拟化服务可以选择在其上托管所请求的计算实例的边缘位置。在选择中可以使用的因素包括候选边缘位置处的可用硬件容量、容量的整体利用率、容量的成本、延时相对于客户延时要求的裕度等。
所述操作包括:在框1006处,发送消息以致使选择的提供商底层扩展为客户启动计算实例。基于选择的提供商底层扩展,硬件虚拟化服务可以(例如,经由云提供商网络与部署在CSP网络内的提供商底层扩展之间的隧道)向提供商底层扩展发出一个或多个命令以启动所请求的实例。
图11是示出根据一些实施方案的用于由于电子装置移动性而启动计算实例的方法的操作的流程图。操作(或本文描述的其他过程或其变型和/或组合)中的一些或全部在被配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)实施、由硬件实施或由其组合实施。代码以例如包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读储存介质上。计算机可读存储介质是非暂时性的。在一些实施方案中,操作中的一者或多者(或所有操作)由其他图的云提供商网络的一个或多个控制平面服务(例如,边缘位置移动性服务830、硬件虚拟化服务806、边缘位置布局服务820)执行。
所述操作包括:在框1102处,接收包括对与通信服务提供商网络的移动装置相关联的移动性事件的指示的消息,其中移动性事件指示移动装置与通信服务提供商网络的连接点从第一接入点到第二接入点的改变。如参考图8所解释的,当装置在CSP网络的不同接入点之间移动时,基于延时要求对计算实例的初始布局确定可能不再满足所述延时要求。为了继续满足延时要求,云提供商网络可以响应由CSP网络的移动性管理组件输出的移动性事件,诸如用于5G网络的接入和移动性以及移动性管理功能(AMF)或用于4G或LTE网络的移动性管理实体(MME)。此类移动性事件可以是实际事件(例如,移动装置已经将其连接点从第一接入点改变为第二接入点)或预测事件(例如,移动装置可能连接到第二接入点)。
所述操作包括:在框1104处,确定移动装置与第一计算实例之间经由第二接入点的网络路径的至少一部分的通信延迟将不满足延时约束,其中第一计算实例由云提供商网络的第一提供商底层扩展托管。如参考图8所描述的,并非所有移动性事件都可能导致违反延时要求。例如,托管计算实例的一个提供商底层扩展可能满足对CSP网络的一组接入点的延时要求,因此在那些接入点之间切换的移动装置不会导致违反延时要求。边缘位置移动性服务830可以推迟启动新实例,直到违反(或被预测违反)延时要求。例如,边缘位置移动性服务830可以评估第一接入点与由第一提供商底层扩展托管的计算实例之间以及第二接入点与由第一提供商底层扩展托管的计算实例之间的延时数据(例如,延时数据609)。
所述操作包括:在框1106处,标识满足经由第二接入点与移动装置通信的延时约束的云提供商网络的第二提供商底层扩展。如参考图8所描述的,布局技术(诸如参考图6和图7描述的那些技术)可以用于鉴于移动装置通过第二接入点的连接性标识满足延时要求的另一个合适的提供商底层扩展。例如,边缘位置移动性服务830可以鉴于延时要求和对新(第二)接入点的指示(例如,是基于地理标识符还是标识CSP网络内的接入点的接入点标识符)请求启动新实例。硬件虚拟化服务806和边缘位置布局服务820可以操作以标识候选提供商底层扩展并从那些候选者中选择在其上启动计算实例的提供商底层扩展。
所述操作包括:在框1108处,发送消息以致使第二提供商底层扩展启动第二计算实例。基于选择的提供商底层扩展,硬件虚拟化服务可以(例如,经由云提供商网络与部署在CSP网络内的提供商底层扩展之间的隧道)向提供商底层扩展发出一个或多个命令以启动所请求的实例。
图12示出了根据一些实施方案的示例性提供商网络(或“服务提供商系统”)环境。提供商网络1200可以经由一个或多个虚拟化服务1210向客户提供资源虚拟化,所述一个或多个虚拟化服务允许客户购买、租借或以其他方式获得在一个或多个数据中心中的一个或多个提供商网络内的装置上实施的虚拟化资源(包括但不限于计算资源和存储资源)的实例1212。本地互联网协议(IP)地址1216可以与资源实例1212相关联;本地IP地址是提供商网络1200上的资源实例1212的内部网络地址。在一些实施方案中,提供商网络1200还可以提供客户可以从提供商1200获得的公共IP地址1214和/或公共IP地址范围(例如,互联网协议版本4(IPv4)或互联网协议版本6(IPv6)地址)。
常规上,提供商网络1200可以经由虚拟化服务1210来允许服务提供商的客户(例如,操作包括一个或多个客户装置1252的一个或多个客户端网络1250A至1250C的客户)将分配或分派给客户的至少一些公共IP地址1214与分配给客户的特定资源实例1212动态地相关联。提供商网络1200还可以允许客户将先前映射到分派给客户的一个虚拟化计算资源实例1212的公共IP地址1214重新映射到也分派给客户的另一虚拟化计算资源实例1212。例如,服务提供商(诸如客户网络1250A至1250C的运营商)的客户可以使用由服务提供商提供的虚拟化计算资源实例1212和公共IP地址1214来实施客户特定的应用程序并且在诸如互联网等中间网络1240上呈现客户的应用程序。然后,中间网络1240上的其他网络实体1220可以生成到由客户网络1250A至1250C发布的目标公共IP地址1214的流量;所述流量被路由到服务提供商数据中心,并且在数据中心处经由网络底层路由到虚拟化计算资源实例1212的当前映射到目标公共IP地址1214的本地IP地址1216。类似地,来自虚拟化计算资源实例1212的响应流量可以经由网络底层路由回到中间网络1240上到达源实体1220。
如本文中所使用,本地IP地址是指例如提供商网络中的资源实例的内部或“专用”网络地址。本地IP地址可以在由互联网工程任务组(IETF)注释请求(RFC)1918预留的地址块内和/或具有由IETF RFC4193指定的地址格式,并且在提供商网络内可以是可变的。源自提供商网络外部的网络流量不会直接路由到本地IP地址;而是,流量使用映射到资源实例的本地IP地址的公共IP地址。提供商网络可以包括提供网络地址转译(NAT)或类似功能性以执行从公共IP地址到本地IP地址的映射的网络装置或设备,反之亦然。
公共IP地址是由服务提供商或由客户分配给资源实例的互联网可变网络地址。路由到公共IP地址的流量例如经由1:1NAT转译并转发到资源实例的相应本地IP地址。
一些公共IP地址可以由提供商网络基础设施分配给特定资源实例;这些公共IP地址可以被称为标准公共IP地址,或简称为标准IP地址。在一些实施方案中,标准IP地址到资源实例的本地IP地址的映射是所有资源实例类型的默认启动配置。
至少一些公共IP地址可以被分派给提供商网络1200的客户或由所述客户获得;然后,客户可将其分派到的公共IP地址分配给分派给客户的特定资源实例。这些公共IP地址可以被称为客户公共IP地址,或简称为客户IP地址。代替如在标准IP地址的情况下由提供商网络1200分配给资源实例,客户IP地址可以由客户例如经由服务提供商提供的API分配给资源实例。与标准IP地址不同,客户IP地址被分派给客户账户,并且可以根据需要或期望由相应客户重新映射到其他资源实例。客户IP地址与客户账户相关联,而不是与特定资源实例相关联,并且客户控制所述IP地址,直到客户选择释放它。与常规的静态IP地址不同,客户IP地址允许客户通过将客户的公共IP地址重新映射到与客户账户关联的任何资源实例来屏蔽资源实例或可用区故障。例如,客户IP地址使得客户能够通过将客户IP地址重新映射到替换资源实例来解决客户资源实例或软件的问题。
图13是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。硬件虚拟化服务1320向客户提供多个计算资源1324(例如,VM)。例如,可以将计算资源1324租借或租赁给提供商网络1300的客户(例如,实施客户网络1350的客户)。每个计算资源1324可以被设置有一个或多个本地IP地址。提供商网络1300可以被配置为将分组从计算资源1324的本地IP地址路由到公共互联网目标,以及从公共互联网源路由到计算资源1324的本地IP地址。
提供商网络1300可以为例如经由本地网络1356耦合到中间网络1340的客户网络1350提供经由耦合到中间网络1340和提供商网络1300的硬件虚拟化服务1320实施虚拟计算系统1392的能力。在一些实施方案中,硬件虚拟化服务1320可以提供一个或多个API1302(例如,web服务接口),经由所述API,客户网络1350可以例如经由控制台1394(例如,基于web的应用程序、独立应用程序、移动应用程序等)访问由硬件虚拟化服务1320提供的功能性。在一些实施方案中,在提供商网络1300处,客户网络1350处的每个虚拟计算系统1392可以对应于被租赁、租借或以其他方式提供给客户网络1350的计算资源1324。
客户可以例如经由一个或多个API 1302从虚拟计算系统1392和/或另一客户装置1390(例如,经由控制台1394)的实例访问存储服务1310的功能性,以从由提供商网络1300提供的虚拟数据存储区1316(例如,文件夹或“桶”、虚拟化卷、数据库等)的存储资源1318A至1318N中访问数据以及将数据存储到所述存储资源。在一些实施方案中,可以在客户网络1350处提供虚拟化数据存储网关(未示出),所述虚拟化数据存储网关可以在本地缓存至少一些数据(例如,频繁访问的或关键的数据),并且可以经由一个或多个通信信道与存储服务1310通信以从本地缓存上传新的或修改的数据,使得维护数据的主存储区(虚拟化数据存储区1316)。在一些实施方案中,用户经由虚拟计算系统1392和/或在另一客户装置1390上可以经由充当存储虚拟化服务的存储服务1310安装和访问虚拟数据存储区1316卷,并且这些卷在用户看来可以是本地(虚拟化)存储装置1398。
虽然在图13中未示出,但是还可以经由API 1302从提供商网络1300内的资源实例访问虚拟化服务。例如,客户、设备服务提供商或其他实体可以经由API 1302从提供商网络1300上的相应的虚拟网络内部访问虚拟化服务,以请求在虚拟网络内或另一虚拟网络内分派一个或多个资源实例。
在一些实施方案中,实施本文描述的技术的一部分或全部的系统可以包括通用计算机系统(诸如图14中所示的计算机系统1400),所述通用计算机系统包括一个或多个计算机可访问介质,或被配置为访问所述一个或多个计算机可访问介质。在所示实施方案中,计算机系统1400包括经由输入/输出(I/O)接口1430耦合到系统存储器1420的一个或多个处理器1410。计算机系统1400还包括耦合到I/O接口1430的网络接口1440。虽然图14将计算机系统1400示出为单个计算装置,但是在各种实施方案中,计算机系统1400可以包括一个计算装置或被配置为作为单个计算机系统1400一起工作的任何数量的计算装置。
在各种实施方案中,计算机系统1400可以是包括一个处理器1410的单处理器系统或者包括若干处理器1410(例如,两个、四个、八个或另一合适数量)的多处理器系统。处理器1410可以是能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器1410可以是实施多种指令集架构(ISA)中的任一种(诸如x86、ARM、PowerPC、SPARC、或MIPS ISA或任何其他合适的ISA)的通用或嵌入式处理器。在多处理器系统中,每个处理器1410通常可以但不一定实施相同的ISA。
系统存储器1420可以存储可由处理器1410访问的指令和数据。在各种实施方案中,可以使用任何合适的存储器技术(诸如随机存取存储器(RAM)、静态RAM(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器或任何其他类型的存储器)来实施系统存储器1420。在所示实施方案中,实施一个或多个期望功能的程序指令和数据(诸如上述那些方法、技术和数据)被示出为作为服务代码1425和数据1426存储在系统存储器1420内。例如,服务代码1425可以包括用于实施硬件虚拟化服务(例如,506、606、706、806)、边缘位置布局服务(例如,620、720、820)、边缘位置移动性服务(例如,832)或其他图中所示的其他服务或组件的代码。数据1426可以包括诸如延时数据609、应用程序配置文件、与CSP网络内的点相关的地理数据、边缘位置数据509等数据。
在一个实施方案中,I/O接口1430可以被配置为协调装置中的处理器1410、系统存储器1420与任何外围装置(包括网络接口1440或其他外围接口)之间的I/O流量。在一些实施方案中,I/O接口1430可以执行任何必需协议、时序或其他数据变换以将来自一个组件(例如,系统存储器1420)的数据信号转换为适于供另一组件(例如,处理器1410)使用的格式。在一些实施方案中,I/O接口1430可以包括支持通过各种类型的外围总线(例如,诸如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体)附接的装置。在一些实施方案中,I/O接口1430的功能可以分成两个或更多个单独的组件,例如,诸如北桥和南桥。并且,在一些实施方案中,I/O接口1430(诸如到系统存储器1420的接口)的一些或所有功能性可以直接结合到处理器1410中。
网络接口1440可以被配置为允许数据在计算机系统1400与附接到一个或多个网络1450的其他装置1460(例如,诸如如图1中所示的其他计算机系统或装置)之间交换。在各种实施方案中,网络接口1440可以支持经由任何合适的有线或无线通用数据网络(例如,诸如多种类型的以太网)进行的通信。另外,网络接口1440可以支持经由诸如模拟语音网络或数字光纤通信网络等电信/电话网络、经由诸如光纤通道SAN等存储区域网路(SAN)或经由I/O、任何其他合适类型的网络和/或协议进行的通信。
在一些实施方案中,计算机系统1400包括一个或多个卸载卡1470(包括一个或多个处理器1475,并且可能包括一个或多个网络接口1440),所述一个或多个卸载卡使用I/O接口1430(例如,实施外围组件互连-快速(PCI-E)标准的版本或诸如快速路径互连(QPI)或超路径互连(UPI)等另一互连的总线)来连接。例如,在一些实施方案中,计算机系统1400可以充当托管计算实例的主机电子装置(例如,作为硬件虚拟化服务的一部分进行操作),并且一个或多个卸载卡1470执行可以管理在主机电子装置上执行的计算实例的虚拟化管理器。作为一个示例,在一些实施方案中,卸载卡1470可以执行计算实例管理操作,诸如暂停和/或取消暂停计算实例、启动和/或终止计算实例、执行存储器传输/复制操作等。在一些实施方案中,这些管理操作可以由卸载卡1470与由计算机系统1400的其他处理器1410A至1410N执行的管理程序(例如,根据来自管理程序的请求)协作来执行。然而,在一些实施方案中,由卸载卡1470实施的虚拟化管理器可以容纳来自其他实体(例如,来自计算实例本身)的请求,并且可以不与任何单独的管理程序协作(或不服务于任何单独的管理程序)。
在一些实施方案中,系统存储器1420可以是被配置为存储如上所述的程序指令和数据的计算机可访问介质的一个实施方案。然而,在其他实施方案中,程序指令和/或数据可以在不同类型的计算机可访问介质上接收、发送或存储。一般来说,计算机可访问介质可以包括非暂时性存储介质或存储器介质,诸如磁性或光学介质,例如经由I/O接口1430耦合到计算装置1400的磁盘或DVD/CD。非暂时性计算机可访问存储介质还可以包括任何易失性或非易失性介质,诸如RAM(例如,SDRAM、双倍数据速率(DDR)SDRAM、SRAM等)、只读存储器(ROM)等,所述任何易失性或非易失性介质可以作为系统存储器1420或另一种类型的存储器包括在计算机系统1400的一些实施方案中。此外,计算机可访问介质可以包括经由通信介质(诸如网络和/或无线链路,诸如可以经由网络接口1440实施)传达的传输介质或信号,诸如电信号、电磁信号或数字信号。
本文所讨论或提出的各种实施方案可以在多种多样的操作环境中实施,在一些情况下,所述操作环境可以包括可以用于操作许多应用程序中的任一者的一个或多个用户计算机、计算装置或处理装置。用户或客户端装置可以包括:许多通用个人计算机中的任一者,诸如运行标准操作系统的台式计算机或笔记本计算机;以及运行移动软件并且能够支持许多联网协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可以包括许多工作站,所述工作站运行多种可商业购得的操作系统和用于诸如开发和数据库管理等目的的其他已知应用程序中的任一者。这些装置还可以包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统和/或能够经由网络通信的其他装置。
大多数实施方案利用本领域技术人员将熟悉的至少一种网络来支持使用多种广泛可用的协议中的任一者进行通信,所述协议诸如传输控制协议/互联网协议(TCP/IP)、文件传输协议(FTP)、通用即插即用(UPnP)、网络文件系统(NFS)、公共互联网文件系统(CIFS)、可扩展消息传递和到场协议(XMPP)、AppleTalk等。所述网络可以包括例如局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、互联网、内联网、外联网、公用电话交换网(PSTN)、红外网络、无线网络以及它们的任何组合。
在利用web服务器的实施方案中,web服务器可以运行各种服务器或中间层应用程序中的任一种,包括HTTP服务器、文件传输协议(FTP)服务器、通用网关接口(CGI)服务器、数据服务器、Java服务器、流量应用程序服务器等。服务器还可能能够响应于来自用户装置的请求(诸如通过执行可以被实施为以任何编程语言(诸如
Figure BDA0003718985770000541
C、C#或C++)或任何脚本语言(诸如Perl、Python、PHP或TCL)以及它们的组合编写的一个或多个脚本或程序的一个或多个Web应用)而执行程序或脚本。服务器还可以包括数据库服务器,包括但不限于商业上可从Oracle(R)、Microsoft(R)、Sybase(R)、IBM(R)等购得的数据库服务器。数据库服务器可以为关系型或非关系型(例如,“NoSQL”)、分布式或非分布式等。
本文公开的环境可以包括多种数据存储区以及如上文所讨论的其他存储器和存储介质。这些可以驻留在多种位置中,诸如驻留在一个或多个计算机本地(和/或驻留在其中)的存储介质上,或驻留在跨网络远离计算机中的任一者或全部的存储介质上。在实施方案的特定集中,信息可以驻留在本领域技术人员熟悉的存储区域网(SAN)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要文件可以视情况本地或远程存储。在系统包括计算机化装置的情况下,每个这样的装置可以包括可以经由总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和/或至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可以包括一个或多个存储装置,诸如硬盘驱动器、光存储装置和诸如随机存取存储器(RAM)或只读存储器(ROM)等固态存储装置,以及可移除介质装置、存储卡、闪存卡等。
此类装置还可以包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和工作存储器,如上文所述。计算机可读存储介质读取器可以与计算机可读存储介质连接或被配置为接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移除存储装置以及用于暂时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用程序、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用程序或web浏览器。应当明白,备选实施方案可以具有与上述不同的大量变型。例如,还可以使用自定义硬件,和/或特定元件可以在硬件、软件(包括便携式软件,诸如小应用程序)或这两者中实施。此外,可以采用与诸如网络输入/输出装置等其他计算装置的连接。
用于包含代码或部分代码的存储介质和计算机可读介质可以包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实施的易失性和非易失性、可移除和不可移除的介质,包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存存储器或其他存储器技术、只读光盘存储器(CD-ROM)、数字通用光盘(DVD)或其他光存储器装置、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可以用于存储期望信息并且可以由系统装置访问的任何其他介质。基于本文中提供的公开和教导,本领域一般技术人员将会明白用于实施各种实施方案的其他方式和/或方法。
在以上描述中,描述各种实施方案。出于解释目的,阐述了具体配置和细节以便提供对实施方案的透彻理解。然而,对于本领域技术人员来说也显而易见的是,可以在没有具体细节的情况下实践所述实施方案。此外,为了不使所描述的实施方案变得模糊,可能会省略或简化众所周知的特征。
在本文中使用带有虚线边框(例如,大破折号、小破折号、点破折号和点)的带括号的文本和框来示出向一些实施方案添加附加特征的任选操作。然而,这种表示法不应被视为意味着这些是唯一选项或任选操作和/或在某些实施方案中带有实线边界的框不是任选的。
在各种实施方案中,具有后缀字母的附图标记(例如,1318A至1318N)可以用于指示所引用实体可以有一个或多个实例,并且当存在多个实例时,每个实例不必相同,而是可以替代地共享一些一般特征或按惯例做出动作。此外,除非有相反的明确说明,否则所使用的特定后缀并非意在暗示存在特定量的实体。因此,在各种实施方案中,使用相同或不同后缀字母的两个实体可以具有或可以不具有相同数量的实例。
对于“一个实施方案”、“实施方案”、“示例性实施方案”等的提及指示所述的实施方案可以包括特定特征、结构或特性,但是每一个实施方案都可以不必包括所述特定特征、结构或特性。此外,此类短语不一定是指同一实施方案。此外,当结合实施方案来描述特定特征、结构或特性时,应认为,无论是否有明确描述,结合其他实施方案来实现此类特征、结构或特性也在本领域技术人员的知识范围内。
此外,在上述各种实施方案中,除非另外特别指出,否则诸如词语“A、B或C中的至少一个”的析取语言意图被理解为表示A、B或C或其任何组合(例如,A、B和/或C)。因而,析取语言通常并不意图也不应被理解为暗示给定的实施方案要求至少一个A、至少一个B或至少一个C各自都存在。
所公开的技术的至少一些实施方案可以根据以下条款来描述:
1.一种方法,其包括:
在云提供商网络的服务处接收来自客户的启动计算实例的请求,其中所述请求包括延时要求和地理指示符;
通过以下操作从部署在通信服务提供商网络内的所述云提供商网络的多个提供商底层扩展中选择提供商底层扩展来托管所述计算实例:
获得表示至所述通信服务提供商网络的接入点与所述选择的提供商底层扩展之间的延时的值,其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性,以及
确定所述值小于所述接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,其中所述最大允许延时基于所述延时要求;以及
发送消息以致使所述选择的提供商底层扩展为所述客户启动所述计算实例。
2.根据条款1所述的方法,其中所述值是从以下至少一者获得的:所述通信服务提供商网络的服务、所述通信服务提供商网络的至少一部分的网络拓扑的模型、或来自由所述选择的提供商底层扩展执行的应用程序的所报告的延时,所述应用程序测量到所述接入点的延时。
3.根据条款1至2中任一项所述的方法,其中所述通信服务提供商网络是多个通信服务提供商网络中的一个,并且其中所述请求还包括所述通信服务提供商网络的标识。
4.一种计算机实施方法,其包括:
在云提供商网络的服务处接收来自客户的启动计算实例的请求,其中所述请求包括延时要求;
从所述云提供商网络的多个提供商底层扩展中选择提供商底层扩展来托管所述计算实例,其中所述选择是至少部分地基于所述延时要求,并且其中所述选择的提供商底层扩展连接到通信服务提供商网络并且至少部分地由所述云提供商网络的所述服务经由通过所述通信服务提供商网络的至少一部分的连接来控制;以及
发送消息以致使所述选择的提供商底层扩展为所述客户启动所述计算实例。
5.根据条款4所述的计算机实施方法,
其中所述请求还包括地理指示符,
其中所述延时要求定义在连接到所述通信服务提供商网络的接入点的移动装置与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内并且为移动装置提供与所述通信服务提供商网络的连接性。
6.根据条款5所述的计算机实施方法,其中所述延时要求定义所述接入点与所述选择的提供商底层扩展之间的最大允许延时。
7.根据条款5所述的计算机实施方法,其中选择所述提供商底层扩展包括:
获得多个值,所述多个值中的每个值表示所述接入点与所述多个提供商底层扩展中的所述提供商底层扩展中的一者之间的延时;以及
至少部分地基于确定所述多个值中表示所述接入点与所述选择的提供商底层扩展之间的延时的第一值小于所述延时要求来选择所述提供商底层扩展。
8.根据条款7所述的计算机实施方法,其中所述第一值是从以下至少一者获得的:所述通信服务提供商网络的服务、所述通信服务提供商网络的至少一部分的网络拓扑的模型、或来自由所述选择的提供商底层扩展执行的应用程序的所报告的延时,所述应用程序测量到所述接入点的延时。
9.根据条款4至8中任一项所述的计算机实施方法,其中所述请求还包括装置标识符,并且所述方法还包括:
从由通过所述装置标识符标识的电子装置执行的位置服务获得地理指示符,
其中所述延时要求定义接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内并且为移动装置提供与所述通信服务提供商网络的连接性。
10.根据条款4至8中任一项所述的计算机实施方法,其中所述请求还包括装置标识符,并且所述方法还包括:
至少部分地基于所述装置标识符从所述通信服务提供商网络的装置位置服务获得地理指示符,
其中所述延时要求定义至少接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内并且为移动装置提供与所述通信服务提供商网络的连接性。
11.根据条款4至10中任一项所述的计算机实施方法,其中所述选择包括:
对于所述多个提供商底层扩展中的每个提供商底层扩展,使用成本函数对所述提供商底层扩展进行评分,所述成本函数评估所述提供商底层扩展的未使用资源容量、所述提供商底层扩展的资源利用率或所述提供商底层扩展的资源容量的货币成本中的至少一者;以及
至少部分地基于所述选择的提供商底层扩展的分数来选择所述选择的提供商底层扩展。
12.根据条款4至11中任一项所述的计算机实施方法,其中所述通信服务提供商网络是多个通信服务提供商网络中的一个,并且其中所述请求还包括所述通信服务提供商网络的标识。
13.一种系统,其包括:
云提供商网络,所述云提供商网络包括部署在通信服务提供商网络内的多个提供商底层扩展,其中所述多个提供商底层扩展中的每个提供商底层扩展:
经由所述通信服务提供商网络连接到所述云提供商网络;
包括用于托管客户计算实例的容量,并且
可以经由所述通信服务提供商网络与所述通信服务提供商网络的订户的移动装置进行通信;以及
实施一个或多个控制平面服务的所述云提供商网络的第一一个或多个电子装置,所述一个或多个控制平面服务包括在执行时致使所述一个或多个控制平面服务服务进行以下操作的指令:
接收来自客户的启动计算实例的请求,其中所述请求包括延时要求;
至少部分地基于所述延时要求,从所述多个提供商底层扩展中选择提供商底层扩展来托管所述计算实例;以及
发送消息以致使所述选择的提供商底层扩展为所述客户启动所述计算实例。
14.根据条款13所述的系统:
其中所述请求还包括地理指示符,
其中所述延时要求定义在连接到所述通信服务提供商网络的接入点的移动装置与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内并且为移动装置提供与所述通信服务提供商网络的连接性。
15.根据条款14所述的系统,其中所述延时要求定义所述接入点与所述选择的提供商底层扩展之间的最大允许延时。
16.根据条款14所述的系统,其中所述一个或多个控制平面服务包括在执行时致使所述一个或多个控制平面服务服务执行以下操作的进一步指令:
获得多个值,所述多个值中的每个值表示所述接入点与所述多个提供商底层扩展中的所述提供商底层扩展中的一者之间的延时;以及
至少部分地基于确定所述多个值中表示所述接入点与所述选择的提供商底层扩展之间的延时的第一值小于所述延时要求来选择所述提供商底层扩展。
17.根据条款16所述的系统,其中所述第一值是从以下至少一者获得的:所述通信服务提供商网络的服务、所述通信服务提供商网络的至少一部分的网络拓扑的模型、或来自由所述选择的提供商底层扩展执行的应用程序的所报告的延时,所述应用程序测量到所述接入点的延时。
18.根据条款13至17中任一项所述的系统,其中所述请求还包括装置标识符,并且其中所述一个或多个控制平面服务包括在执行时致使所述一个或多个控制平面服务服务执行以下操作的进一步指令:
从由通过所述装置标识符标识的电子装置执行的位置服务获得地理指示符,
其中所述延时要求定义接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内并且为移动装置提供与所述通信服务提供商网络的连接性。
19.根据条款13至17中任一项所述的系统,其中所述请求还包括装置标识符,并且其中所述一个或多个控制平面服务包括在执行时致使所述一个或多个控制平面服务服务执行以下操作的进一步指令:
至少部分地基于所述装置标识符从所述通信服务提供商网络的装置位置服务获得地理指示符,
其中所述延时要求定义至少接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性。
20.根据条款13至19中任一项所述的系统,其中所述通信服务提供商网络是多个通信服务提供商网络中的一个,并且其中所述请求还包括所述通信服务提供商网络的标识。
因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,显而易见的是,在不偏离如所附权利要求中所阐述的本公开的更宽泛的精神及范围的情况下,可以对其进行各种修改及改变。

Claims (20)

1.一种方法,其包括:
在云提供商网络的服务处接收来自客户的启动计算实例的请求,其中所述请求包括延时要求和地理指示符;
通过以下操作从部署在通信服务提供商网络内的所述云提供商网络的多个提供商底层扩展中选择提供商底层扩展来托管所述计算实例:
获得表示至所述通信服务提供商网络的接入点与所述选择的提供商底层扩展之间的延时的值,其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性,以及
确定所述值小于所述接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,其中所述最大允许延时基于所述延时要求;以及
发送消息以致使所述选择的提供商底层扩展为所述客户启动所述计算实例。
2.根据权利要求1所述的方法,其中所述值是从以下至少一者获得的:所述通信服务提供商网络的服务、所述通信服务提供商网络的至少一部分的网络拓扑的模型、或来自由所述选择的提供商底层扩展执行的应用程序的所报告的延时,所述应用程序测量到所述接入点的延时。
3.根据权利要求1所述的方法,其中所述通信服务提供商网络是多个通信服务提供商网络中的一个,并且其中所述请求还包括所述通信服务提供商网络的标识。
4.一种计算机实施方法,其包括:
在云提供商网络的服务处接收来自客户的启动计算实例的请求,其中所述请求包括延时要求;
从所述云提供商网络的多个提供商底层扩展中选择提供商底层扩展来托管所述计算实例,其中所述选择至少部分地基于所述延时要求,并且其中所述选择的提供商底层扩展连接到通信服务提供商网络并且至少部分地由所述云提供商网络的所述服务经由通过所述通信服务提供商网络的至少一部分的连接来控制;以及
发送消息以致使所述选择的提供商底层扩展为所述客户启动所述计算实例。
5.根据权利要求4所述的计算机实施方法:
其中所述请求还包括地理指示符,
其中所述延时要求定义在连接到所述通信服务提供商网络的接入点的移动装置与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性。
6.根据权利要求5所述的计算机实施方法,其中所述延时要求定义所述接入点与所述选择的提供商底层扩展之间的最大允许延时。
7.根据权利要求5所述的计算机实施方法,其中选择所述提供商底层扩展包括:
获得多个值,所述多个值中的每个值表示所述接入点与所述多个提供商底层扩展中的所述提供商底层扩展中的一者之间的延时;以及
至少部分地基于确定所述多个值中表示所述接入点与所述选择的提供商底层扩展之间的延时的第一值小于所述延时要求来选择所述提供商底层扩展。
8.根据权利要求7所述的计算机实施方法,其中所述第一值是从以下至少一者获得的:所述通信服务提供商网络的服务、所述通信服务提供商网络的至少一部分的网络拓扑的模型或来自由所述选择的提供商底层扩展执行的应用程序的所报告的延时,所述应用程序测量到所述接入点的延时。
9.根据权利要求4所述的计算机实施方法,其中所述请求还包括装置标识符,并且所述方法还包括:
从由通过所述装置标识符标识的电子装置执行的位置服务获得地理指示符,
其中所述延时要求定义接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性。
10.根据权利要求4所述的计算机实施方法,其中所述请求还包括装置标识符,并且所述方法还包括:
至少部分地基于所述装置标识符从所述通信服务提供商网络的装置位置服务获得地理指示符,
其中所述延时要求定义至少接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性。
11.根据权利要求4所述的计算机实施方法,其中所述选择包括:
对于所述多个提供商底层扩展中的每个提供商底层扩展,使用成本函数对所述提供商底层扩展进行评分,所述成本函数评估所述提供商底层扩展的未使用资源容量、所述提供商底层扩展的资源利用率或所述提供商底层扩展的资源容量的货币成本中的至少一者;以及
至少部分地基于所述选择的提供商底层扩展的分数来选择所述选择的提供商底层扩展。
12.根据权利要求4所述的计算机实施方法,其中所述通信服务提供商网络是多个通信服务提供商网络中的一个,并且其中所述请求还包括所述通信服务提供商网络的标识。
13.一种系统,其包括:
云提供商网络,所述云提供商网络包括部署在通信服务提供商网络内的多个提供商底层扩展,其中所述多个提供商底层扩展中的每个提供商底层扩展:
经由所述通信服务提供商网络连接到所述云提供商网络;
包括用于托管客户计算实例的容量,并且
能够经由所述通信服务提供商网络与所述通信服务提供商网络的订户的移动装置进行通信;以及
实施一个或多个控制平面服务的所述云提供商网络的第一一个或多个电子装置,所述一个或多个控制平面服务包括在执行时致使所述一个或多个控制平面服务进行以下操作的指令:
接收来自客户的启动计算实例的请求,其中所述请求包括延时要求;
至少部分地基于所述延时要求,从所述多个提供商底层扩展中选择提供商底层扩展来托管所述计算实例;以及
发送消息以致使所述选择的提供商底层扩展为所述客户启动所述计算实例。
14.根据权利要求13所述的系统,
其中所述请求还包括地理指示符,
其中所述延时要求定义在连接到所述通信服务提供商网络的接入点的移动装置与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性。
15.根据权利要求14所述的系统,其中所述延时要求定义所述接入点与所述选择的提供商底层扩展之间的最大允许延时。
16.根据权利要求14所述的系统,其中所述一个或多个控制平面服务包括在执行时致使所述一个或多个控制平面服务执行以下操作的进一步指令:
获得多个值,所述多个值中的每个值表示所述接入点与所述多个提供商底层扩展中的所述提供商底层扩展中的一者之间的延时;以及
至少部分地基于确定所述多个值中表示所述接入点与所述选择的提供商底层扩展之间的延时的第一值小于所述延时要求来选择所述提供商底层扩展。
17.根据权利要求16所述的系统,其中所述第一值是从以下至少一者获得的:所述通信服务提供商网络的服务、所述通信服务提供商网络的至少一部分的网络拓扑的模型、或来自由所述选择的提供商底层扩展执行的应用程序的所报告的延时,所述应用程序测量到所述接入点的延时。
18.根据权利要求13所述的系统,其中所述请求还包括装置标识符,并且其中所述一个或多个控制平面服务包括在执行时致使所述一个或多个控制平面服务执行以下操作的进一步指令:
从由通过所述装置标识符标识的电子装置执行的位置服务获得地理指示符,
其中所述延时要求定义接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性。
19.根据权利要求13所述的系统,其中所述请求还包括装置标识符,并且其中所述一个或多个控制平面服务包括在执行时致使所述一个或多个控制平面服务执行以下操作的进一步指令:
至少部分地基于所述装置标识符从所述通信服务提供商网络的装置位置服务获得地理指示符,
其中所述延时要求定义至少接入点与所述选择的提供商底层扩展之间的网络路径的至少一部分的最大允许延时,并且
其中所述接入点位于与所述地理指示符相关联的地理区域内,并且为移动装置提供至所述通信服务提供商网络的连接性。
20.根据权利要求13所述的系统,其中所述通信服务提供商网络是多个通信服务提供商网络中的一个,并且其中所述请求还包括所述通信服务提供商网络的标识。
CN202080090808.7A 2019-11-29 2020-11-24 云计算实例在通信服务提供商网络中的基于延时的布局 Active CN114902183B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/699,417 US10979534B1 (en) 2019-11-29 2019-11-29 Latency-based placement of cloud compute instances within communications service provider networks
US16/699,417 2019-11-29
PCT/US2020/061932 WO2021108358A1 (en) 2019-11-29 2020-11-24 Latency-based placement of cloud compute instances within communications service provider networks

Publications (2)

Publication Number Publication Date
CN114902183A CN114902183A (zh) 2022-08-12
CN114902183B true CN114902183B (zh) 2023-03-24

Family

ID=73855554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080090808.7A Active CN114902183B (zh) 2019-11-29 2020-11-24 云计算实例在通信服务提供商网络中的基于延时的布局

Country Status (4)

Country Link
US (1) US10979534B1 (zh)
EP (1) EP4049139B1 (zh)
CN (1) CN114902183B (zh)
WO (1) WO2021108358A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11461123B1 (en) 2019-11-21 2022-10-04 Amazon Technologies, Inc. Dynamic pre-copy and post-copy determination for live migration between cloud regions and edge locations
US11734038B1 (en) 2019-11-21 2023-08-22 Amazon Technologies, Inc Multiple simultaneous volume attachments for live migration between cloud regions and edge locations
US11573839B1 (en) * 2019-11-21 2023-02-07 Amazon Technologies, Inc. Dynamic scheduling for live migration between cloud regions and edge locations
US11671429B1 (en) * 2020-02-26 2023-06-06 Equinix, Inc. Authorization automation in procurement of interconnections within a data center
US11671484B2 (en) * 2020-09-25 2023-06-06 Verizon Patent And Licensing Inc. Methods and systems for orchestrating a distributed computing service based on latency performance levels
US11509715B2 (en) * 2020-10-08 2022-11-22 Dell Products L.P. Proactive replication of software containers using geographic location affinity to predicted clusters in a distributed computing environment
WO2022146676A1 (en) * 2020-12-30 2022-07-07 Centurylink Intellectual Property Llc Recommendation and implementation systems and methods for edge computing
US11496556B1 (en) * 2021-04-26 2022-11-08 Cisco Technology, Inc. Service provider selection for application-driven routing
US20230144248A1 (en) * 2021-11-08 2023-05-11 Verizon Patent And Licensing Inc. Dynamic quality of service traffic steering in a multi-access edge computing environment
WO2023136964A1 (en) * 2022-01-12 2023-07-20 Oracle International Corporation Publishing physical topology network locality information for graphical processing unit workloads
WO2023136965A1 (en) * 2022-01-12 2023-07-20 Oracle International Corporation Publishing physical topology network locality for general workloads
WO2023201077A1 (en) * 2022-04-15 2023-10-19 Dish Wireless L.L.C. Decoupling of packet gateway control and user plane functions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681899A (zh) * 2011-03-14 2012-09-19 金剑 云计算服务平台的虚拟计算资源动态管理系统
WO2014182894A2 (en) * 2013-05-08 2014-11-13 Amazon Technologies, Inc. User-influenced placement of virtual machine instances
CN106464592A (zh) * 2015-04-17 2017-02-22 环球互连及数据中心公司 基于云的服务的交换

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590739B2 (en) * 1999-11-22 2009-09-15 Akamai Technologies, Inc. Distributed on-demand computing system
US8532095B2 (en) * 2005-11-18 2013-09-10 Cisco Technology, Inc. Techniques configuring customer equipment for network operations from provider edge
US8189489B2 (en) * 2007-09-26 2012-05-29 Microsoft Corporation Characterization of network path quality for network applications and services
US8745239B2 (en) 2010-04-07 2014-06-03 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US8739170B1 (en) 2010-06-30 2014-05-27 Amazon Technologies, Inc. Managing requests for computing capacity
US8938526B1 (en) * 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US8577992B1 (en) * 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
CN102447980B (zh) * 2010-09-30 2015-01-28 中兴通讯股份有限公司 一种路由控制方法、系统及路由计算装置
US8495648B1 (en) 2011-02-28 2013-07-23 Amazon Technologies, Inc. Managing allocation of computing capacity
US8612599B2 (en) 2011-09-07 2013-12-17 Accenture Global Services Limited Cloud service monitoring system
US9154403B2 (en) * 2012-06-18 2015-10-06 Cisco Technology, Inc. Identifying the best service provider link for performance routing
US9451393B1 (en) * 2012-07-23 2016-09-20 Amazon Technologies, Inc. Automated multi-party cloud connectivity provisioning
US9256452B1 (en) * 2012-11-14 2016-02-09 Amazon Technologies, Inc. Providing an instance availability estimate
US9451013B1 (en) 2013-01-02 2016-09-20 Amazon Technologies, Inc. Providing instance availability information
US10489175B2 (en) * 2013-06-10 2019-11-26 Amazon Technologies, Inc. Pre-configure and pre-launch compute resources
US9720989B2 (en) * 2013-11-11 2017-08-01 Amazon Technologies, Inc. Dynamic partitioning techniques for data streams
US9858322B2 (en) * 2013-11-11 2018-01-02 Amazon Technologies, Inc. Data stream ingestion and persistence techniques
US9893959B1 (en) 2014-02-05 2018-02-13 Goldman Sachs & Co. LLC Resource modeling language to specify and control the placement of resources in a cloud environment
US10268492B2 (en) * 2014-05-20 2019-04-23 Amazon Technologies, Inc. Low latency connections to workspaces in a cloud computing environment
US9641384B1 (en) 2014-09-10 2017-05-02 Amazon Technologies, Inc. Automated management of computing instance launch times
US10040613B2 (en) 2015-03-11 2018-08-07 M & Q Ip Leasing, Llc Liners for cooking vessels
US10069680B1 (en) 2015-03-16 2018-09-04 Amazon Technologies, Inc. Dedicated virtual computing system servers
US20170118127A1 (en) 2015-10-22 2017-04-27 Cox Communications, Inc. Systems and Methods of Virtualized Services
US10089309B2 (en) * 2016-02-05 2018-10-02 Spotify Ab System and method for load balancing based on expected latency for use in media content or other environments
US10764127B2 (en) 2016-05-02 2020-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Techniques for virtualized network capacity management
US10061652B2 (en) 2016-07-26 2018-08-28 Microsoft Technology Licensing, Llc Fault recovery management in a cloud computing environment
US10373284B2 (en) * 2016-12-12 2019-08-06 Amazon Technologies, Inc. Capacity reservation for virtualized graphics processing
US10645020B1 (en) 2017-01-30 2020-05-05 Amazon Technologies, Inc. Virtual networking for compute instances
US10467241B2 (en) * 2017-03-24 2019-11-05 Ca, Inc. Dynamically provisioning instances of a single-tenant application for multi-tenant use
US10374880B1 (en) 2017-03-28 2019-08-06 Amazon Technologies, Inc. Methods and apparatus for reconfiguring hosts in provider network environments
US10474825B1 (en) 2017-09-27 2019-11-12 Amazon Technologies, Inc. Configurable compute instance secure resets
US11516049B2 (en) 2017-10-02 2022-11-29 Vmware, Inc. Overlay network encapsulation to forward data message flows through multiple public cloud datacenters
US10530858B1 (en) 2018-01-05 2020-01-07 Amazon Technologies, Inc. Replication of content using distributed edge cache in wireless mesh networks
US11048538B2 (en) 2018-02-26 2021-06-29 Amazon Technologies, Inc. Autonomous cell-based control plane for scalable virtualized computing
US10791168B1 (en) 2018-05-21 2020-09-29 Rafay Systems, Inc. Traffic aware network workload management system
US11165849B2 (en) 2018-07-31 2021-11-02 Pixspan, Inc. Accelerated cloud data transfers using optimized file handling and a choice of speeds across heterogeneous network paths
US10680945B1 (en) 2018-09-27 2020-06-09 Amazon Technologies, Inc. Extending overlay networks to edge routers of a substrate network
US10833949B2 (en) 2018-11-20 2020-11-10 Amazon Technologies, Inc Extension resource groups of provider network services
US10963282B2 (en) 2018-12-11 2021-03-30 Amazon Technologies, Inc. Computing service with configurable virtualization control levels and accelerated launches
US10761875B1 (en) * 2018-12-13 2020-09-01 Amazon Technologies, Inc. Large scale compute instance launching
US11301396B2 (en) 2019-03-29 2022-04-12 Intel Corporation Technologies for accelerated data access and physical data security for edge devices
US11243817B2 (en) 2019-03-29 2022-02-08 Intel Corporation Technologies for data migration between edge accelerators hosted on different edge locations
US11159408B2 (en) * 2019-06-25 2021-10-26 Intel Corporation Link performance prediction technologies
US11659058B2 (en) * 2019-06-28 2023-05-23 Amazon Technologies, Inc. Provider network connectivity management for provider network substrate extensions
WO2020264323A1 (en) * 2019-06-28 2020-12-30 Amazon Technologies, Inc. Provider network connectivity management for provider network substrate extensions
US11349935B2 (en) * 2019-07-24 2022-05-31 Vmware, Inc. Methods and apparatus to generate migration recommendations to migrate services between geographic regions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681899A (zh) * 2011-03-14 2012-09-19 金剑 云计算服务平台的虚拟计算资源动态管理系统
WO2014182894A2 (en) * 2013-05-08 2014-11-13 Amazon Technologies, Inc. User-influenced placement of virtual machine instances
CN106464592A (zh) * 2015-04-17 2017-02-22 环球互连及数据中心公司 基于云的服务的交换

Also Published As

Publication number Publication date
US10979534B1 (en) 2021-04-13
EP4049139A1 (en) 2022-08-31
WO2021108358A1 (en) 2021-06-03
CN114902183A (zh) 2022-08-12
EP4049139B1 (en) 2024-04-17

Similar Documents

Publication Publication Date Title
CN114902182B (zh) 通信服务提供商网络中的云计算
CN114902183B (zh) 云计算实例在通信服务提供商网络中的基于延时的布局
CN115004661B (zh) 通信服务提供商网络内托管的云计算实例的移动性
CN114946166B (zh) 在包括云边缘位置的异构计算环境中的动态资源移动的方法和系统
US11337227B2 (en) Distributed network connectivity monitoring of provider network edge location resources from cellular networks
US11394662B2 (en) Availability groups of cloud provider edge locations
US11095534B1 (en) API-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
CN114946222A (zh) 对提供商底层扩展的多运营商接入
US11757792B2 (en) Using edge-optimized compute instances to execute user workloads at provider substrate extensions
US11159344B1 (en) Connectivity of cloud edge locations to communications service provider networks
US11470047B1 (en) Managed virtual networks for computing cloud edge locations
US11219034B1 (en) Distributed network connectivity monitoring of provider network edge location resources from cellular networks
US11425054B1 (en) User-configured multi-location service deployment and scaling
US11743325B1 (en) Centralized load balancing of resources in cloud edge locations embedded in telecommunications networks
US11765244B1 (en) Latency-based service discovery and routing for multi-location service-oriented applications
US11595347B1 (en) Dual-stack network addressing in cloud provider network edge locations

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