通信服务提供商网络中的云计算的制作方法

文档序号:31126473发布日期:2022-08-13 03:38阅读:43来源:国知局
通信服务提供商网络中的云计算的制作方法
通信服务提供商网络中的云计算


背景技术:

1.云计算平台通常向客户提供按需管理的计算资源。此类计算资源(例如,计算和存储容量)通常由安装在数据中心的大型容量池提供。客户可以从“云”请求计算资源,而云可以为这些客户提供计算资源。诸如虚拟机和容器等技术通常用于让客户安全地共享计算机系统的容量。
附图说明
2.将参考以下附图描述根据本公开的各种实施例。
3.图1图示了根据一些实施例的包括云提供商网络并且进一步包括云提供商网络的各种提供商底层扩展的示例性系统。
4.图2图示了根据一些实施例的其中云提供商网络底层扩展部署在通信服务提供商网络内的示例性系统。
5.图3更详细地图示了根据一些实施例的云提供商网络和通信服务提供商网络内的提供商底层扩展的示例性部件以及云提供商网络和所述提供商底层扩展之间的连接性。
6.图4图示了根据一些实施例的包括地理上分散的提供商底层扩展(或“边缘位置”)的示例性云提供商网络。
7.图5图示了根据一些实施例的其中计算实例在云提供商网络边缘位置中启动的示例性环境。
8.图6图示了根据一些实施例的其中计算实例在云提供商网络边缘位置中启动的另一个示例性环境。
9.图7图示了根据一些实施例的其中计算实例在云提供商网络边缘位置中启动的另一个示例性环境。
10.图8是根据一些实施例的其中由于电子装置移动性而启动计算实例的示例性环境。
11.图9是图示根据一些实施例的用于在云提供商网络边缘位置启动计算实例的方法的操作的流程图。
12.图10是图示根据一些实施例的用于在云提供商网络边缘位置启动计算实例的另一个方法的操作的流程图。
13.图11是图示根据一些实施例的用于由于电子装置移动性而启动计算实例的方法的操作的流程图。
14.图12图示了根据一些实施例的示例性提供商网络环境。
15.图13是根据一些实施例的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。
16.图14是图示可以在一些实施例中使用的示例性计算机系统的框图。
具体实施方式
17.本公开涉及用于在通信服务提供商网络内提供云提供商网络计算资源的方法、设备、系统和非暂时性计算机可读存储介质。根据一些实施例,由云提供商管理的计算资源部署在集成在通信服务提供商(csp)网络内的云提供商网络的边缘位置。csp通常包括已部署网络的公司,最终用户通过这些网络获得网络连接。例如,csp可以包括移动或蜂窝网络提供商(例如,运营3g、4g和/或5g网络)、有线互联网服务提供商(例如,电缆、数字用户线、光纤等)和wifi提供商(例如,在诸如酒店、咖啡店、机场等的位置)。虽然数据中心中计算资源的传统部署由于集中化而提供了各种好处,但最终用户装置与这些计算资源之间的诸如网络距离和网络跳数等物理约束会阻止实现非常低的延时。通过在csp网络中安装或部署容量,云提供商网络运营商可以以显着降低的访问延时向最终用户装置提供计算资源——在某些情况下达到个位数毫秒的延时。这种对计算资源的低延时访问是为现有的基于云的应用提供改进的响应性并使能游戏流、虚拟现实、实时渲染、工业自动化和自主汽车的下一代应用的重要使能者。
18.云提供商网络(或“云”)是指大的网络可访问计算资源池(诸如计算、存储和网络资源、应用和服务)。云可以提供对可配置计算资源共享池的便捷、按需网络访问,这些计算资源可以响应于客户命令以编程方式提供和释放。因此,云计算可以被视为通过公共可访问网络(例如,互联网、蜂窝通信网络)作为服务交付的应用以及提供这些服务的云提供商数据中心中的硬件和软件。一些客户可能希望使用此类云提供商网络的资源和服务,但出于各种原因(例如,与客户装置的通信延时、法律合规性、安全性或其他原因),更愿意在其自己的网络内部(例如在客户的场所)、由云提供商管理的单独网络、通信服务提供商的网络内部或另一个独立网络内部供应这些资源和服务。
19.在一些实施例中,云提供商网络的段——在本文中称为“提供商底层扩展”(pse)或“边缘位置”(el)——可以在与云提供商网络分离的网络内提供。例如,云提供商网络通常包括称为底层的物理网络(例如,金属板盒、电缆、机架硬件)。可以将底层视为包含运行提供商网络服务的物理硬件的网络架构。在一些实现方式中,提供商底层“扩展”可以是云提供商网络底层的扩展,其由预置的位于客户或合作伙伴设施、单独的云提供商管理的设施中、通信服务提供商设施中、或在包括服务器的任何其他类型的设施中的一个或多个服务器形成,其中此类服务器通过网络(例如,诸如互联网的公共可访问的网络)与云提供商网络的附近可用区或区域进行通信。客户可以经由云提供商底层或其他网络访问提供商底层扩展,并且可以使用相同的应用编程接口(api)来创建和管理提供商底层扩展中的资源,就像它们将用于创建和管理云提供商网络的区域中的资源一样。
20.如上所述,提供商底层扩展的一种示例类型是由预置的位于客户或合作伙伴设施内的服务器形成的。这种类型的位于云提供商网络数据中心之外的底层扩展可以称为云提供商网络的“前哨”。另一种示例类型的提供商底层扩展是由位于由云提供商管理的设施中的服务器形成的,但包括至少部分地由云提供商网络的单独控制平面控制的数据平面容量。
21.在一些实施例中,提供商底层扩展的又一示例是部署在通信服务提供商网络内的网络。通信服务提供商通常包括已部署网络的公司,最终用户通过这些网络获得网络连接。例如,通信服务提供商可以包括移动或蜂窝网络提供商(例如,运营3g、4g和/或5g网络)、有
线互联网服务提供商(例如,电缆、数字用户线、光纤等)和wifi提供商(例如,在诸如酒店、咖啡店、机场等位置)。虽然数据中心中计算资源的传统部署由于集中化而提供了各种好处,但最终用户装置与这些计算资源之间的诸如网络距离和网络跳数等物理约束会阻止实现非常低的延时。通过在通信服务提供商网络中安装或部署容量,云提供商网络运营商可以以显着降低的访问延时向最终用户装置提供计算资源——在某些情况下达到个位数毫秒的延时。这种对计算资源的低延时访问是为现有的基于云的应用提供改进的响应性并使能游戏流、虚拟现实、实时渲染、工业自动化和自主汽车的下一代应用的重要使能者。
22.如本文所用,安装在通信服务提供商网络(或可能的其他网络)内的云提供商网络的计算资源有时也称为“云提供商网络边缘位置”或简称为“边缘位置”,因为它们比集中式数据中心中的计算资源更接近于最终用户连接到网络的“边缘”。这样的边缘位置可以包括一个或多个网络化的计算机系统,这些计算机系统为云提供商网络的客户提供计算资源,以便以比那些计算实例托管在数据中心站点中可实现的延时更低的延时为最终用户提供服务。部署在通信服务提供商网络中的提供商底层扩展也可以称为“波长区”。
23.图1图示了根据一些实施例的包括云提供商网络并且进一步包括云提供商网络的各种提供商底层扩展的示例性系统。云提供商网络100(有时简称为“云”)是指可以是虚拟化的或裸机的网络可访问计算资源池(诸如,计算、存储和网络资源、应用和服务)。云可以提供对可配置计算资源共享池的便利的按需网络访问,这些计算资源可以响应于客户命令以编程方式提供和释放。可以动态地提供和重新配置这些资源以适应于可变负载。因此,云计算可以被视为通过公共可访问网络(例如,互联网、蜂窝通信网络)作为服务交付的应用以及提供这些服务的云提供商数据中心中的硬件和软件。
24.云提供商网络100可以通过网络向用户提供按需的、可扩展的计算平台,例如,允许用户经由使用计算服务器(其经由使用中央处理单元(cpu)和图形处理单元(gpu)中的一个或两个,可选地与本地存储一起使用,来提供计算实例)和块存储服务器(其为指定的计算实例提供虚拟化持久块存储)拥有可扩展的“虚拟计算装置”供他们使用。这些虚拟计算装置具有个人计算装置的属性,包括硬件(各种类型的处理器、本地存储器、随机存取存储器(ram)、硬盘和/或固态驱动(ssd)存储装置)、操作系统选择、联网能力和预装载应用软件。每个虚拟计算装置还可以虚拟化其控制台输入和输出(例如,键盘、显示器和鼠标)。这种虚拟化允许用户使用诸如浏览器、应用编程接口(api)、软件开发工具包(sdk)等计算机应用连接至他们的虚拟计算装置,以便像个人计算装置一样配置和使用他们的虚拟计算装置。与拥有用户可用的固定数量的硬件资源的个人计算装置不同,与虚拟计算装置相关联的硬件可以根据用户需要的资源放大或缩小。
25.如上所述,用户(例如,用户138)可以经由中间网络136使用各种接口104(例如,api)连接到虚拟化计算装置和其他云提供商网络100资源和服务。api是指客户端(例如,电子装置134)和服务器之间的接口和/或通信协议,使得如果客户端以预定义格式发出请求,则客户端应该接收特定格式的响应或导致启动定义的操作。在云提供商网络背景中,api为客户提供访问云基础设施的网关,通过允许客户从云提供商网络获取数据或在云提供商网络内执行操作,从而开发与托管在云提供商网络中的资源和服务交互的应用。api还可以使云提供商网络的不同服务能够相互交换数据。用户可以选择部署他们的虚拟计算系统以提供基于网络的服务供自己使用和/或供他们的客户或客户端使用。
26.云提供商网络100可以包括被称为底层的物理网络(例如,金属板盒、电缆、机架硬件)。可以将底层视为包含运行提供商网络服务的物理硬件的网络架构。底层可以与云提供商网络100的其余部分隔离,例如,可能无法从底层网络地址路由到运行云提供商服务的生产网络中的地址,或路由到托管客户资源的客户网络。
27.云提供商网络100还可以包括在底层上运行的虚拟化计算资源的覆盖网络。在至少一些实施例中,网络底层上的管理程序或其他装置或进程可以使用封装协议技术来封装和路由在提供商网络内不同主机上的客户端资源实例之间通过网络底层的网络数据包(例如,客户端ip数据包)。封装协议技术可用于网络底层上,以经由覆盖网络路径或路由在网络底层上的端点之间路由封装的数据包(也称为网络底层数据包)。封装协议技术可以被视为提供覆盖在网络底层上的虚拟网络拓扑。照此,可以根据覆盖网络中的构造(例如,可以称为虚拟私有云(vpc)的虚拟网络、可以称为安全组的端口/协议防火墙配置)沿底层网络路由网络数据包。映射服务(未示出)可以协调这些网络数据包的路由。映射服务可以是将覆盖互联网协议(ip)和网络标识符的组合映射到底层ip的区域分布式查找服务,使得分布式底层计算装置可以查找将数据包发送到哪里。
28.为了说明,每个物理主机装置(例如,计算服务器106、块存储服务器108、对象存储服务器110、控制服务器112)可以在底层网络中具有ip地址。硬件虚拟化技术可以使多个操作系统能够在主计算机上同时运行,例如作为计算服务器106上的虚拟机(vm)。主机上的管理程序或虚拟机监视器(vmm)在主机上的各种vm之间分配主机的硬件资源并监视vm的执行。每个vm可设置有覆盖网络中的一个或多个ip地址,并且主机上的vmm可以知晓主机上vm的ip地址。vmm(和/或网络底层上的其他装置或进程)可以使用封装协议技术封装和路由在云提供商网络100内的不同主机上的虚拟化资源之间通过网络底层的网络数据包(例如,客户端ip数据包)。封装协议技术可用于网络底层上,以经由覆盖网络路径或路由在网络底层上的端点之间路由封装的数据包。封装协议技术可以被视为提供覆盖在网络底层上的虚拟网络拓扑。封装协议技术可以包括映射服务,该映射服务维护映射目录,该目录将ip覆盖地址(例如,对客户可见的ip地址)映射到底层ip地址(对客户不可见的ip地址),底层ip地址可以由云提供商网络上的各种进程访问,用于在端点之间路由数据包。
29.如图所示,在各种实施例中,云提供商网络底层的流量和操作可以广泛地细分为两类:在逻辑控制平面114a上承载的控制平面流量和在逻辑数据平面116a上承载的数据平面操作。虽然数据平面116a表示用户数据通过分布式计算系统的移动,但控制平面114a表示控制信号通过分布式计算系统的移动。控制平面114a通常包括分布在一个或多个控制服务器112上并由其实现的一个或多个控制平面部件或服务。控制平面流量通常包括管理操作,诸如为各种客户建立隔离的虚拟网络、监控资源使用和健康、识别要启动请求的计算实例的特定主机或服务器、根据需要提供额外的硬件等等。数据平面116a包括在云提供商网络上实现的客户资源(例如,计算实例、容器、块存储卷、数据库、文件存储)。数据平面流量通常包括非管理操作,诸如将数据传输到客户资源和从客户资源传输数据。
30.控制平面部件通常在与数据平面服务器分开的一组服务器上实现,并且控制平面流量和数据平面流量可以通过分开/不同的网络发送。在一些实施例中,控制平面流量和数据平面流量可以由不同的协议支持。在一些实施例中,通过云提供商网络100发送的消息(例如,数据包)包括用于指示流量是控制平面流量还是数据平面流量的标志。在一些实施
例中,可以检查流量的有效载荷以确定其类型(例如,是控制平面还是数据平面)。用于区分流量类型的其他技术是可能的。
31.如图所示,数据平面116a可以包括一个或多个计算服务器106,其可以是裸机(例如,单个租户)或者可以由管理程序虚拟化以运行用于一位或多位客户的多个vm(有时称为“实例”)或microvm。这些计算服务器106可以支持云提供商网络的虚拟化计算服务(或“硬件虚拟化服务”)。虚拟化计算服务可以是控制平面114a的一部分,允许客户经由接口104(例如,api)发布命令以启动和管理用于他们的应用的计算实例(例如,vm、容器)。虚拟化计算服务可以提供具有不同计算和/或存储器资源的虚拟计算实例。在一个实施例中,虚拟计算实例中的每一个可以对应于若干实例类型之一。实例类型可以通过其硬件类型、计算资源(例如,cpu或cpu内核的数量、类型和配置)、存储器资源(例如,本地存储器的容量、类型和配置)、存储资源(例如,本地可访问存储的容量、类型和配置)、网络资源(例如,其网络接口和/或网络能力的特性)和/或其他合适的描述性特性来表征。使用实例类型选择功能,可以为客户选择实例类型,例如,(至少部分地)基于来自客户的输入。例如,客户可以从一组预定义的实例类型中选择一个实例类型。作为另一个示例,客户可以指定实例类型的期望资源和/或实例将运行的工作负载的要求,并且实例类型选择功能可以基于这样的指定来选择实例类型。
32.数据平面116a还可以包括一个或多个块存储服务器108,其可以包括用于存储客户数据卷的持久性存储装置以及用于管理这些卷的软件。这些块存储服务器108可以支持云提供商网络的管理的块存储服务。管理的块存储服务可以是控制平面114a的一部分,允许客户经由接口104(例如,api)发布命令以创建和管理在计算实例上运行的它们的应用的卷。块存储服务器108包括一个或多个服务器,数据在所述服务器上存储为块。块是一系列字节或位,通常包含一些完整的记录,具有块大小的最大长度。分块数据通常存储在数据缓冲区中并且一次读取或写入整个块。通常,卷可以对应于数据的逻辑集合,诸如代表用户维持的一组数据。用户卷(可以被视为大小的范围例如从1gb到1太字节(tb)(或更大)的个别硬盘驱动器)由存储在块存储服务器上的一个或多个块组成。尽管被视为个别硬盘驱动器,但是应当理解,卷可以被存储为在一个或多个底层物理主机装置上实现的一个或多个虚拟化装置。卷可以被分区几次(例如,最多16次),每个分区由不同的主机托管。卷的数据可以在云提供商网络内的多个装置之间复制,以便提供卷的多个副本(其中这些副本可以共同表示计算系统上的卷)。分布式计算系统中的卷副本可以有益地提供自动故障转移和恢复,例如通过允许用户访问卷的主副本或与块级别的主副本同步的卷的辅助副本,这样主副本或辅助副本的故障都不会抑制对卷信息的访问。主副本的作用可以是促进卷上的读取和写入(有时称为“输入输出操作”或简称为“i/o操作”),并将任何写入传播到辅助副本(优选同步地在i/o路径中,虽然也可以使用异步复制)。辅助副本可以与主副本同步更新,并在故障转移操作期间提供无缝转换,由此辅助副本承担主副本的角色,并且以前的主副本被指定为辅助副本或提供新的替换辅助副本。尽管本文中的某些示例讨论了主副本和辅助副本,但是应当理解,逻辑卷可以包括多个辅助副本。计算实例可以通过客户端将i/o虚拟化到卷。客户端表示使计算实例能够连接到远程数据卷(例如,存储在通过网络访问的物理分离的计算装置上的数据卷)并在远程数据卷处执行i/o操作的指令。客户端可以在包括计算实例的处理单元(例如,cpu或gpu)的服务器的卸载卡上实现。
33.数据平面116a还可以包括一个或多个对象存储服务器110,其表示云提供商网络内的另一种类型的存储。对象存储服务器110包括一个或多个服务器,数据在所述服务器上存储为称为桶的资源内的对象,并且可以用于支持云提供商网络的管理的对象存储服务。每个对象通常包括存储的数据、使能对象存储服务器关于分析所存储对象的各种能力的可变数量的元数据、以及可以用于检索对象的全局唯一标识符或密钥。每个桶与给定的用户账户相关联。客户可以将任意数量的对象存储在他们的桶中,可以写入、读取和删除他们的桶中的对象,并且可以控制对他们的桶和其中包含的对象的访问。此外,在具有分布在上述区域中的不同区域上的多个不同对象存储服务器的实施例中,用户可以选择存储桶的区域(或多个区域),例如以优化延时。客户可以使用桶来存储各种类型的对象,包括可用于启动vm的机器映像,以及表示卷数据的时间点视图的快照。
34.提供商底层扩展102(“pse”)在单独的网络内提供云提供商网络100的资源和服务,从而将云提供商网络100的功能扩展到新位置(例如,出于与客户装置通信延时相关的原因、法律合规性、安全性等)。如所指示的,这样的提供商底层扩展102可以包括云提供商网络管理的提供商底层扩展140(例如,由位于与云提供商网络100相关联的那些分开的云提供商管理的设施中的服务器形成)、通信服务提供商底层扩展142(例如,由与通信服务提供商设施相关联的服务器形成)、客户管理的提供商底层扩展144(例如,由预置的位于客户或合作伙伴设施内部的服务器形成),以及其他可能类型的底层扩展。
35.如示例提供商底层扩展140中所示,提供商底层扩展102可以类似地包括控制平面118b和数据平面120b之间的逻辑分离,分别扩展云提供商网络100的控制平面114a和数据平面116a。提供商底层扩展102可以例如由云提供商网络运营商预先配置为具有硬件与软件和/或固件元素的适当组合,以支持各种类型的计算相关资源,并且以镜像使用云提供商网络的体验的方式进行。例如,一个或多个提供商底层扩展位置服务器可以由云提供商提供以部署在提供商底层扩展102内。如上所述,云提供商网络100可以提供一组预定义实例类型,每个实例类型具有不同类型和数量的底层硬件资源。也可以以各种大小提供每种实例类型。为了使客户能够如同他们在该区域中所做的那样在提供商底层扩展102中继续使用相同的实例类型和大小,服务器可以是异构服务器。异构服务器可以同时支持相同类型的多个实例大小,并且还可以重新配置以托管其底层硬件资源支持的任何实例类型。异构服务器的重新配置可以使用服务器的可用容量即时发生,也就是说,当其他vm仍在运行并消耗提供商底层扩展位置服务器的其他容量时。这可以通过允许更好地打包服务器上的运行实例来提高边缘位置内计算资源的利用率,并且还可以提供关于跨云提供商网络100和云提供商网络提供商底层扩展的实例使用的无缝体验。
36.如图所示,提供商底层扩展服务器可以托管一个或多个计算实例122。计算实例122可以是vm,或打包代码及其所有依赖项的容器,因此应用可以跨计算环境(例如,包括vm)快速且可靠地运行。此外,如果客户需要,服务器可以托管一个或多个数据卷124。在云提供商网络100的区域中,这些卷可以托管在专用块存储服务器上。然而,由于在提供商底层扩展102处具有比在该区域中明显更小的容量的可能性,如果提供商底层扩展包括这样的专用块存储服务器,则可能无法提供最佳利用体验。因此,块存储服务可以在提供商底层扩展102中被虚拟化,使得vm之一运行块存储软件并存储卷124的数据。类似于云提供商网络100的区域中的块存储服务的操作,提供商底层扩展102内的卷124可以被复制以实现持
久性和可用性。可以在提供商底层扩展102内的它们自己的隔离虚拟网络中提供卷。计算实例122和任何卷124共同在提供商底层扩展102内构成提供商网络数据平面116a的数据平面扩展120b。
37.在一些实现方式中,提供商底层扩展102内的服务器可以托管某些本地控制平面部件126,例如,如果与云提供商网络100的回连中断,则使得提供商底层扩展102能够继续运行的部件。这些部件的示例包括迁移管理器(如果需要保持可用性,迁移管理器可以在提供商底层扩展服务器之间移动计算实例122),以及指示卷副本所在位置的键值数据存储区。然而,通常用于提供商底层扩展的控制平面118b功能将保留在云提供商网络100中,以便允许客户使用尽可能多的提供商底层扩展的资源容量。
38.迁移管理器可能具有在区域中运行的集中协调部件,以及在pse服务器(以及云提供商数据中心中的服务器)上运行的本地控制器。当迁移被触发时,集中协调部件可以识别目标边缘位置和/或目标主机,而本地控制器可以协调源主机和目标主机之间的数据传输。所描述的不同位置的主机之间的资源移动可以采用多种迁移形式之一。迁移是指在云计算网络中的主机之间或在云计算网络之外的主机和云内的主机之间移动虚拟机实例(和/或其他资源)。有不同类型的迁移,包括实时迁移和重启迁移。在重启迁移期间,客户会遇到其虚拟机实例的断电和有效的电力循环。例如,控制平面服务可以协调重启迁移工作流程,该工作流程涉及拆除原始主机上的当前域,然后为新主机上的虚拟机实例创建一个新域。实例通过在原始主机上关闭并在新主机上再次启动来重启。
39.实时迁移是指在不同物理机之间移动正在运行的虚拟机或应用而不会显著中断虚拟机可用性(例如,最终用户不会注意到虚拟机的停机时间)的过程。当控制平面执行实时迁移工作流程时,它可以创建与实例关联的新“非活动”域,而实例的原始域继续作为“活动”域运行。虚拟机的存储器(包括正在运行的应用的任何存储器中状态)、存储和网络连接从具有活动域的原始主机转移到具有非活动域的目的地主机。在将存储器内容传输到目的地主机时,虚拟机可能会短暂暂停以防止状态更改。控制平面可以将非活动域转换为活动域并将原始活动域降级为非活动域(有时称为“翻转”),之后可以丢弃非活动域。
40.各种类型的迁移技术涉及管理关键阶段——虚拟机实例对客户不可用的时间——应该尽可能短。在当前公开的迁移技术中,这可能特别具有挑战性,因为资源正在地理上分离的位置的主机之间移动,这些主机可以通过一个或多个中间网络连接。对于实时迁移,所公开的技术可以动态确定要预复制(例如,当实例仍在源主机上运行时)和后复制(例如,在实例开始在目的地主机上运行之后)的存储器状态数据量,例如基于位置之间的延时、网络带宽/使用模式和/或实例最常使用的存储器页面。此外,可以基于位置之间的网络状况动态地确定传输存储器状态数据的特定时间。该分析可以由区域中的迁移管理部件执行,或者由在源边缘位置本地运行的迁移管理部件执行。如果实例访问了虚拟化存储,则源域和目标域都可以同时附加到存储上,以便在迁移过程中以及在需要回滚到源域的情况下不间断地访问其数据。
41.在提供商底层扩展102上运行的服务器软件可以由云提供商设计为在云提供商底层网络上运行,并且该软件可以通过使用本地网络管理器128在提供商底层扩展102中实现未经修改地运行以在边缘位置内创建底层网络的私有副本(“影子底层”)。本地网络管理器128可以在提供商底层扩展102服务器上运行,并且例如通过充当提供商底层扩展102和云
提供商网络100中的代理130、132之间的虚拟专用网络(vpn)端点或多个端点,并通过实现映射服务(用于流量封装和解封装)将数据平面流量(来自数据平面代理)和控制平面流量(来自控制平面代理)关联到适当的服务器来桥接影子底层与提供商底层扩展102网络。通过实现提供商网络的底层-覆盖映射服务的本地版本,本地网络管理器128允许提供商底层扩展102中的资源与云提供商网络100中的资源无缝通信。在一些实现方式中,单个本地网络管理器可以为在提供商底层扩展102中托管计算实例122的所有服务器执行这些动作。在其他实现方式中,托管计算实例122的服务器中的每一个可以具有专用的本地网络管理器。在多机架边缘位置,机架间通信可以通过本地网络管理器,本地网络管理器保持彼此之间的开放隧道。
42.提供商底层扩展位置可以利用通过提供商底层扩展102网络到云提供商网络100的安全联网隧道,例如,在遍历提供商底层扩展102网络和任何其他中间网络(可能包括公共互联网)时保持客户数据的安全性。在云提供商网络100内,这些隧道由包括隔离的虚拟网络(例如,在覆盖网络中)、控制平面代理130、数据平面代理132和底层网络接口的虚拟基础设施部件组成。这样的代理可以实现为在计算实例上运行的容器。在一些实施例中,托管计算实例的提供商底层扩展102位置中的每个服务器可以利用至少两个隧道:一个用于控制平面流量(例如,约束应用协议(coap)流量),且一个用于封装的数据平面流量。云提供商网络内的连接管理器(未示出)管理这些隧道及其部件的云提供商网络侧生命周期,例如,通过在需要时自动提供它们并将它们保持在健康的操作状态。在一些实施例中,提供商底层扩展102位置和云提供商网络100之间的直接连接可以用于控制平面通信和数据平面通信。与通过其他网络的vpn相比,直接连接可以提供恒定的带宽和更一致的网络性能,因为它的网络路径相对固定和稳定。
43.可以在云提供商网络100中提供控制平面(cp)代理130以表示边缘位置中的特定主机。cp代理是云提供商网络100中的控制平面114a和提供商底层扩展102的控制平面118b中的控制平面目标之间的中介。也就是说,cp代理130提供基础设施用于去往区域底层之外并到提供商底层扩展102的提供商底层扩展服务器的api流量隧穿管理。例如,云提供商网络100的虚拟化计算服务可以向提供商底层扩展102的服务器的vmm发出命令以启动计算实例122。cp代理保持到提供商底层扩展的本地网络管理器128的隧道(例如,vpn)。在cp代理中实现的软件确保只有格式良好的api流量离开底层和返回到底层。cp代理提供了一种机制以暴露云提供商底层上的远程服务器,同时仍然保护底层安全材料(例如,加密密钥、安全令牌)不离开云提供商网络100。cp代理强加的单向控制平面流量隧道还防止任何(可能受到损害的)装置回叫到底层。cp代理可以与提供商底层扩展102处的服务器一对一地实例化,或者可以能够管理同一提供商底层扩展中的多个服务器的控制平面流量。
44.数据平面(dp)代理132也可以在云提供商网络100中提供,以表示提供商底层扩展102中的特定服务器。dp代理132充当服务器的影子或锚点,并且可以被云提供商网络100内的服务用来监控主机的健康(包括其可用性、已使用/空闲计算和容量、已使用/空闲存储和容量、以及网络带宽使用/可用性)。dp代理132还允许隔离的虚拟网络通过充当云提供商网络100中的服务器的代理来跨越提供商底层扩展102和云提供商网络100。每个dp代理132可以实现为数据包转发计算实例或容器。如图所示,每个dp代理132可以与本地网络管理器128维持vpn隧道,本地网络管理器128管理到dp代理132所代表的服务器的流量。该隧道可
用于在提供商底层扩展服务器和云提供商网络100之间发送数据平面流量。在提供商底层扩展102和云提供商网络100之间流动的数据平面流量可以通过与该提供商底层扩展相关联的dp代理132。对于从提供商底层扩展102流向云提供商网络100的数据平面流量,dp代理132可以接收封装的数据平面流量,验证其正确性,并允许其进入云提供商网络100。dp代理132可以将封装的流量从云提供商网络100直接转发到提供商底层扩展102。
45.本地网络管理器128可以提供与在云提供商网络100中建立的代理130、132的安全网络连接。在本地网络管理器128和代理之间建立连接之后,客户可以经由接口104发出命令,以使用提供商底层扩展资源以类似于其中针对托管在云提供商网络100内的计算实例发出此类命令的方式的方式实例化计算实例(和/或使用计算实例执行其他操作)。从客户的角度来看,客户现在可以无缝地使用提供商底层扩展内的本地资源(以及位于云提供商网络100中的资源,如果需要的话)。根据需要,在提供商底层扩展102处的服务器上设置的计算实例既可以与位于同一网络中的电子装置通信,也可以与在云提供商网络100中设置的其他资源通信。本地网关146可以实现为提供提供商底层扩展102和与该扩展相关联的网络(例如,在提供商底层扩展142的示例中的通信服务提供商网络)之间的网络连接。
46.可能存在需要在对象存储服务和提供商底层扩展102之间传输数据的情况。例如,对象存储服务可以存储用于启动vm的机器映像,以及表示卷的时间点备份的快照。对象网关可以在pse服务器或专用存储装置上提供,并为客户提供其pse中对象存储桶内容的可配置的按桶缓存,以最大限度地减少pse区域延时对客户工作负载的影响。对象网关还可以临时存储pse中卷快照的快照数据,然后在可能的情况下与区域中的对象服务器同步。对象网关还可以存储客户指定在pse内或在客户的场所上所使用的机器映像。在一些实现方式中,pse内的数据可以用唯一密钥加密,并且出于安全原因,云提供商可以限制密钥从区域共享到pse。因此,在对象存储服务器和对象网关之间交换的数据可以利用加密、解密和/或重新加密,以便保留关于加密密钥或其他敏感数据的安全边界。变换中介可以执行这些操作,并且可以(在对象存储服务器上)创建pse桶,以使用pse加密密钥存储快照和机器映像数据。
47.在上述方式中,pse 102形成边缘位置,因为它在传统云提供商数据中心之外并且更靠近客户装置提供云提供商网络的资源和服务。如本文所指的边缘位置可以以多种方式构造。在一些实现方式中,边缘位置可以是云提供商网络底层的扩展,包括在可用区之外提供的有限数量的容量(例如,在位于靠近客户工作负载并且可能远离任何可用区的云提供商的小型数据中心或其他设施中)。此类边缘位置可称为“远区”(由于远离其他可用区)或“近区”(由于靠近客户工作负载)。近区可以以各种方式连接到诸如互联网之类的公共可访问网络,例如直接、经由另一个网络或经由到区域的私有连接。尽管通常近区比区域具有更有限的容量,但在某些情况下,近区可能具有相当大的容量,例如数千个机架或更多。
48.在一些实现方式中,边缘位置可以是由预置的位于客户或合作伙伴设施中的一个或多个服务器形成的云提供商网络底层的扩展,其中这些服务器通过网络(例如,诸如互联网的公共可访问的网络)与云提供商网络的附近可用区或区域通信。这种类型的位于云提供商网络数据中心之外的底层扩展可以称为云提供商网络的“前哨”。一些前哨可以集成到通信网络中,例如作为多接入边缘计算(mec)站点,其具有分布在电信数据中心、电信聚合站点和/或电信网络内的电信基站中的物理基础设施。在预置示例中,前哨的有限容量可能仅供拥有该场所(以及客户允许的任何其他账户)的客户使用。在电信示例中,前哨的有限
容量可以在向电信网络的用户发送数据的多个应用(例如,游戏、虚拟现实应用、医疗保健应用)之间共享。
49.边缘位置可以包括至少部分地由提供商网络的附近可用区的控制平面控制的数据平面容量。照此,可用区组可以包括“父”可用区和归属于父可用区(例如,至少部分地由其控制平面控制)的任何“子”边缘位置。某些有限的控制平面功能(例如,需要与客户资源进行低延时通信的特征,和/或使边缘位置在与父可用区断开连接时能够继续运行的特征)也可能存在于一些边缘位置中。因此,在以上示例中,边缘位置是指位于靠近客户装置和/或工作负载的云提供商网络边缘的至少数据平面容量的扩展。
50.图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可以用于将来自许多不同无线电接入网络的流量整合到核心网络,并将源自核心网络的流量引导到各种无线电接入网络。
51.如图2中从左到右,最终用户电子装置212无线连接到无线电接入网络202的基站(或无线电基站)214。这样的电子装置212有时被称为用户装备(ue)或客户场所装备(cpe)。数据流量通常通过由第3层路由器的多跳(例如,在聚合站点)组成的光纤传输网络路由到核心网络210。核心网络210通常位于一个或多个数据中心中。对于去往csp网络200外部位置的数据流量,网络部件222-226通常包括防火墙,流量可以通过防火墙进入或离开csp网络200到外部网络,诸如互联网或云提供商网络100。要注意的是,在一些实施例中,csp网络200可以包括允许流量从核心网络210更下游的站点(例如,在聚合站点或ran处)进入或离开的设施。
52.提供商底层扩展216-220包括作为云提供商网络的一部分被管理但安装或定位在csp网络的各个点内的计算资源(例如,预置在csp拥有或租用的空间中)。计算资源通常提供一定数量的计算和存储器容量,使得云提供商可以分配给客户使用。计算资源还可以包括存储和加速器容量(例如,固态驱动器、图形加速器等)。这里,提供商底层扩展216、218和220与云提供商网络100通信。
53.通常,提供商底层扩展距离云提供商网络100越远(或更靠近电子装置212)(例如,就网络跳数和/或距离而言),提供商底层扩展内的计算资源和电子装置212之间的网络延时越低。然而,物理站点约束通常会限制可以安装在csp内各个点的提供商底层扩展位置计算容量的数量,或者确定是否可以在各个点安装计算容量。例如,与位于ran 202、204内的提供商底层扩展相比,位于核心网络210内的提供商底层扩展通常可以具有大得多的占用空间(就物理空间、电力需求、冷却需求等而言)。
54.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地址。
55.在5g无线网络开发工作中,边缘位置可能被视为多接入边缘计算(mec)的一种可能的实现方式。这种边缘位置可以连接到csp 5g网络中的各个点,这些点作为用户平面功能(upf)的一部分为数据流量提供分流。较旧的无线网络也可以包含边缘位置。例如,在3g无线网络中,边缘位置可以连接到csp网络的分组交换网络部分,诸如服务通用分组无线电服务支持节点(sgsn)或网关通用分组无线电服务支持节点(ggsn)。在4g无线网络中,边缘位置可以连接到服务网关(sgw)或分组数据网络网关(pgw),作为核心网络或演进分组核心(epc)的一部分。
56.在一些实施例中,提供商底层扩展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去往提供商底层扩展的流量引导到提供商底层扩展。
57.在一些实施例中,提供商底层扩展可以连接到一个以上的csp网络。例如,当两个csp通过一个公共点共享或路由流量时,提供商底层扩展可以连接到两个csp网络。例如,每个csp可以将其网络地址空间的某部分分配给提供商底层扩展,并且提供商底层扩展可以包括可以区分与csp网络中的每一个交换的流量的路由器或网关。例如,与从另一个csp网络接收的流量相比,来自一个csp网络的去往提供商底层扩展的流量可能具有不同的目的地ip地址、源ip地址和/或虚拟局域网(vlan)标签。源自提供商底层扩展到csp网络之一上的目的地的流量可以类似地封装以具有适当的vlan标签、源ip地址(例如,来自从目的地csp网络地址空间分配给提供商底层扩展的池)和目的地ip地址。
58.请注意,虽然图2的示例性csp网络架构包括无线电接入网络、聚合站点和核心网络,csp网络的架构在多代无线技术、不同csp之间以及无线和固定线路csp网络之间的命名和结构可能有所不同。此外,虽然图2示出了边缘位置可以位于csp网络内的几个位置,但是其他位置也是可能的(例如,在基站处)。
59.图3更详细地图示了根据一些实施例的云提供商网络和通信服务提供商网络内的提供商底层扩展的示例性部件以及云提供商网络和所述提供商底层扩展之间的连接性。提供商底层扩展300在csp网络302内提供云提供商网络的资源和服务,从而将云提供商网络100的功能扩展为更靠近连接到csp网络的最终用户装置304。
60.提供商底层扩展300类似地包括控制平面306b和数据平面308b之间的逻辑分离,分别扩展云提供商网络100的控制平面114a和数据平面116a。提供商底层扩展300可以例如由云提供商网络运营商预先配置为具有硬件与软件和/或固件元素的适当组合,以支持各
种类型的计算相关资源,并且以镜像了使用云提供商网络的体验的方式进行。例如,一个或多个提供商底层扩展位置服务器310可以由云提供商提供以部署在csp网络302内。
61.在一些实现方式中,提供商底层扩展300内的服务器310可以托管某些本地控制平面部件314,例如,如果与云提供商网络100的回连中断,则使得提供商底层扩展300能够继续运行的部件。此外,某些控制器功能通常可以在数据平面服务器上本地实现,甚至在云提供商数据中心中实现,例如用于收集用于监控实例健康的度量并将其发送到监控服务的功能,以及用于协调实时迁移期间实例状态数据传输的功能。然而,通常用于提供商底层扩展300的控制平面306b功能将保留在云提供商网络100中,以便允许客户使用尽可能多的提供商底层扩展的资源容量。
62.如图所示,提供商底层扩展服务器310可以托管计算实例312。计算实例可以是vm、microvm、或打包代码及其所有依赖关系的容器,因此应用可以跨计算环境(例如,包括vm)快速且可靠地运行。因此,容器是应用层的抽象化(意味着每个容器模拟不同的软件应用过程)。尽管每个容器都运行隔离的进程,但多个容器可以共享一个通用操作系统,例如通过在同一虚拟机中启动。相比之下,虚拟机是硬件层的抽象化(意味着每个虚拟机都模拟了一台可以运行软件的物理机)。虚拟机技术可以使用一台物理服务器运行相当于多台服务器(每台称为虚拟机)。虽然多个虚拟机可以在一台物理机上运行,但每个虚拟机通常都有自己的操作系统副本,以及应用及其相关文件、库和依赖关系。虚拟机通常被称为计算实例或简称为“实例”。有些容器可以在运行容器代理的实例上运行,而有些容器可以在裸机服务器上运行。
63.在一些实施例中,边缘优化计算实例的执行由运行在服务器310上的轻量级虚拟机管理器(vmm)支持,在其上基于应用配置文件启动边缘优化的计算实例。这些vmm可以在几分之一秒内启动轻量级微型虚拟机(microvm)。这些vmm还可以使容器运行时和容器编排器能够将容器作为microvm进行管理。尽管如此,这些microvm还是利用了传统vm提供的安全性和工作负载隔离以及容器带来的资源效率,例如通过vmm作为隔离进程运行。如本文所用,microvm是指使用有限的装置模型和/或使用轻量级vmm支持的最小os内核初始化的vm,并且每microvm可以具有《5mib的低存储器开销,使得数千的microvm可以打包到单个主机上。例如,microvm可以具有os内核的精简版本(例如,仅具有所需的os部件及其依赖关系)以最小化开机时间和存储器占用空间。在一种实现方式中,轻量级vmm的每个进程封装一个且仅一个microvm。该进程可以运行以下线程:api、vmm和vcpu。api线程负责api服务器和相关联的控制平面。vmm线程暴露了机器模型、最小遗留装置模型、microvm元数据服务(mmds)以及virtio装置仿真网络和块装置。此外,还有一个或多个vcpu线程(每个客来宾cpu核心一个)。
64.此外,如果客户需要,服务器310可以托管一个或多个数据卷324。可以在提供商底层扩展300内的它们自己的隔离虚拟网络中提供卷。计算实例312和任何卷324共同在提供商底层扩展300内构成提供商网络数据平面116a的数据平面扩展308b。
65.可以实现本地网关316以提供提供商底层扩展300和csp网络302之间的网络连接。云提供商可以用csp网络302上的ip地址配置本地网关316,并与csp网络部件320交换路由数据(例如,经由边界网关协议(bgp))。本地网关316可以包括一个或多个路由表,这些路由表控制到提供商底层扩展300的入站流量和离开提供商底层扩展300的出站流量的路由。在
csp网络302对csp网络302的不同部分使用单独的vlan(例如,一个vlan标签用于无线网络,且另一个vlan标签用于固定网络)的情况下,本地网关316还可以支持多个vlan。
66.在提供商底层扩展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可以提供私有自治系统编号(asn)用于边缘位置和csp网络302的asn以促进路由数据的交换。
67.源自提供商底层扩展300的数据平面流量可以具有多个不同的目的地。例如,寻址到云提供商网络100的数据平面116a中的目的地的流量可以经由提供商底层扩展300和云提供商网络100之间的数据平面连接来路由。本地网络管理器318可以接收来自计算实例312的数据包,该数据包被寻址到例如云提供商网络100中的另一个计算实例,并且在将数据包发送到云提供商网络100(例如,通过直接连接或隧道)之前,用目的地为托管另一个计算实例的服务器的底层ip地址封装数据包。对于从计算实例312寻址到托管在另一提供商底层扩展322中的另一计算实例的流量,本地网络管理器318可以用目的地为分配给另一提供商底层扩展322的ip地址封装数据包,从而允许csp网络部件320来处理数据包的路由。或者,如果csp网络部件320不支持边缘位置间流量,则本地网络管理器318可以将数据包寻址到云提供商网络100中的中继器,该中继器可以经由其到云提供商网络100的数据平面连接(未示出)将数据包发送到其他提供商底层扩展322。类似地,对于从计算实例312寻址到csp网络302或云提供商网络100之外的位置(例如,在互联网上)的流量,如果csp网络部件320允许路由到互联网,则本地网络管理器318可以用与分配给计算实例312的承运商地址空间中的ip地址对应的源ip地址封装数据包。否则,本地网络管理器318可以将数据包发送到云提供商网络100中的互联网网关,该网关可以为计算实例312提供互联网连接。对于从计算实例312寻址到电子装置304的流量,本地网关316可以使用网络地址转换(nat)将数据包的源ip地址从云提供商网络的地址空间中的地址更改为承运商网络的地址空间。
68.本地网关316、本地网络管理器318和其他本地控制平面部件314可以在托管计算实例312的相同服务器310上运行,可以在与边缘位置服务器310集成的专用处理器(例如,卸载卡上)上运行,或者可以由与托管客户资源的服务器分开的服务器执行。
69.图4图示了根据一些实施例的包括地理上分散的提供商底层扩展(或“边缘位置”)的示例性云提供商网络。如图所示,云提供商网络400可形成为多个区域402,其中一个区是其中云提供商具有一个或多个数据中心404的单独地理区域。每个区域402可以包括经由诸如例如光纤通信连接的私有高速网络彼此连接的两个或更多个可用区(az)。可用区是指一个隔离的故障域,包括一个或多个数据中心设施,相对于其他可用区,具有单独的电源、单独的网络和单独的冷却。云提供商可能会努力将可用区彼此相距足够远定位在一个区域内,使得自然灾害、大范围停电或其他意外事件不会同时使一个以上可用区脱机。客户可经由公共可访问的网络(例如,互联网、蜂窝通信网络、csp网络)连接到云提供商网络的可用
区内的资源。中转中心(tc)是将客户连接到云提供商网络的主要骨干位置,并且可能同位于其他网络提供商设施(例如,互联网服务提供商、电信提供商)中。每个区域可以运行两个或多个tc以实现冗余。
70.与区域数据中心或可用区的数量相比,边缘位置406的数量可以高得多。边缘位置406的这种广泛部署可以为大得多的最终用户装置组(与那些碰巧非常靠近区域数据中心的装置相比)提供到云的低延时连接。在一些实施例中,每个边缘位置406可以对等到云提供商网络400的某部分(例如,父可用区或区域数据中心)。这种对等允许在云提供商网络400中运行的各种部件来管理边缘位置的计算资源。在某些情况下,多个边缘位置可能位于或安装在同一设施中(例如,计算机系统的单独机架)并由不同的区或数据中心管理以提供额外的冗余。要注意的是,尽管边缘位置在本文中通常被描述为在csp网络内,但在某些情况下,诸如当云提供商网络设施相对靠近通信服务提供商设施时,边缘位置可以保留在云提供商网络的物理场所内,同时经由光纤或其他网络链路连接到通信服务提供商网络。
71.边缘位置406可以以多种方式构造。在一些实现方式中,边缘位置406可以是云提供商网络底层的扩展,包括在可用区之外提供的有限数量的容量(例如,在位于靠近客户工作负载并且可能远离任何可用区的云提供商的小型数据中心或其他设施中)。这样的边缘位置可以称为本地区(由于比传统的可用区更本地或更接近一组用户)。。本地区可以以各种方式连接到诸如互联网之类的公共可访问网络,例如直接、经由另一个网络或经由到区域的私有连接。尽管通常本地区比区域具有更有限的容量,但在某些情况下,本地区可能具有相当大的容量,例如数千个机架或更多。一些本地区可以使用与典型的云提供商数据中心类似的基础设施,而不是本文描述的边缘位置基础设施。
72.如本文所述,云提供商网络可形成为多个区域,其中每个区域表示云提供商将数据中心聚集在其中的地理区域。每个区域还可以包括经由例如光纤通信连接的私有高速网络彼此连接的多个(例如,两个或更多个)可用区(az)。一个az可以提供一个隔离的故障域,包括一个或多个数据中心设施,相对于另一个az中的那些具有单独的电源、单独的网络和单独的冷却。优选地,一区域内的az彼此之间的距离足够远,以至于同一自然灾害(或其他引发故障的事件)不应同时影响一个以上az脱机或使一个以上az脱机。客户可经由公共可访问的网络(例如,互联网、蜂窝通信网络)连接到云提供商网络的az。
73.给定边缘位置到云提供商网络的az或区域的父处理可以基于许多因素。一个这样的父处理因素是数据主权。例如,为了将源自某个国家的csp网络的数据保留在该国家内,部署在该csp网络中的边缘位置可以被父处理到该国家内的az或区域。另一个因素是服务的可用性。例如,某些边缘位置可能具有不同的硬件配置,诸如是否存在用于客户数据的本地非易失性存储(例如固态驱动器)、图形加速器等部件。某些az或区域可能缺少利用这些额外的资源的服务,因此,边缘位置可以被父处理到支持使用这些资源的az或区域。另一个因素是az或区域与边缘位置之间的延时。虽然在csp网络中部署边缘位置具有延时优势,但这些优势可能会通过将边缘位置父处理到遥远的az或区域导致边缘位置到区域流量的显着延时来抵消。因此,边缘位置通常父处理到附近(就网络延时而言)az或区域。
74.图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的网络。
75.图5中编号的圆圈“1”到“3”示出了用户138(例如,云提供商网络的客户)可以通过其在边缘位置510之一处启动计算实例的示例性过程。在图5的圆圈“1”处,用户138使用电子装置134请求识别可用边缘位置。如上所述,电子装置134和提供商网络100之间的通信,诸如识别边缘位置以在边缘位置启动实例的请求,可以通过接口104(诸如通过使用应用编程接口(api)调用)经由实现为网站或应用的控制台等进行路由。除了用作控制平面服务的前端之外,接口104还可以执行操作,诸如验证发起请求的用户的身份和权限、评估请求并将其路由到适当的控制平面服务等等。
76.识别边缘位置的请求可以包括零个或多个参数以过滤、限制或以其他方式约束返回的边缘位置的集合少于所有边缘位置510。例如,一个这样的参数可以是特定csp的识别(例如,当云提供商网络500具有与多个csp集成的边缘位置时)。另一个这样的参数是csp的特定网络的识别(例如,如果csp具有用于4g网络、5g网络等的边缘位置)。另一个这样的参数可能会将返回的边缘位置限制为具有某些硬件支持(例如,加速器)的边缘位置。另一个这样的参数可以将返回的边缘位置限制为靠近或在某个地理指示符(例如,城市、州、邮政编码、地理坐标等)的某个距离内的边缘位置。
77.在所示实施例中,该请求由硬件虚拟化服务506处理。在接收到请求时,硬件虚拟化服务506从边缘位置数据509获取满足请求的边缘位置的身份,如果有的话。示例性边缘位置数据509可以存储在由数据库服务508提供的数据库中。对于每个边缘位置,边缘位置数据509可以包括分配给边缘位置的标识符、在其中部署边缘位置的csp网络的指示或标识符、以及边缘位置的地理位置的指示或标识符。例如,用户可能会请求识别csp公司x的5g网络上纽约市10英里内的边缘位置。在识别出满足用户请求的边缘位置后,硬件虚拟化服务506将边缘位置的列表或集合返回给电子装置134。
78.在图5的圆圈“2”处,用户138请求在指定边缘位置启动计算实例。这样的请求可以包括各种参数,诸如要启动的实例的类型。在接收到请求时,硬件虚拟化服务506可以检查以确保指定的边缘位置具有足够的容量来启动实例及其他操作。要注意的是,在一些实施例中,硬件虚拟化服务506可以避免响应于用户在圆圈“1”的请求而返回处于或接近全部资源容量的边缘位置,以避免拒绝在圆圈“2”的请求。
79.在图5的圆圈“3”处,硬件虚拟化服务506向指定边缘位置发出控制平面命令以启动所请求的计算实例(例如,经由代理130)。例如,硬件虚拟化服务407然后可以向边缘位置或边缘位置服务器上的vmm发出命令以为客户启动计算实例。
80.由于可能会部署大量边缘位置,因此客户可能难以手动识别和选择适合其应用的边缘位置。在参考图6和图7所描述的方法下,可以由云提供商网络的部件执行选择托管计算实例的边缘位置。
81.图6示出了根据一些实施例的其中虚拟化计算资源(包括vm、mircovm和/或容器)在云提供商网络边缘位置中启动的另一个示例性环境。如图所示,云提供商网络600包括硬件虚拟化服务606、边缘位置安置服务620和数据库服务622。云提供商网络600在各种csp网络501中具有多个边缘位置510(例如,诸如上文参考图5所描述的)。
82.图6中编号的圆圈“1”到“3”示出了用户138(例如,云提供商网络的客户)可以通过其在边缘位置510之一处启动计算实例的示例性过程。在图6的圆圈“1”处,用户138向硬件虚拟化服务606发出启动计算实例的请求。这里,请求的参数可以包括地理指示符和延时约束或要求的指示。取决于实现方式,地理指示符可以采用多种形式(例如,地理坐标、邮政编码、大都市区等)。例如,地理标识符可以是与区域698相关联的邮政编码、区域698内的坐标、与区域698对应的面积(例如,城市限制)等。延时指示符可以按照与地理指示符(例如,在区域698中)相关联的装置和最终选择托管所请求的计算实例的服务器之间的时间(例如,小于10毫秒)来指定。
83.来自用户138的更复杂的启动请求可以包括指定附加延时要求的参数。例如,该请求可以指定所请求的实例与和地理指示符(例如,在区域内)相关联的装置之间以及所请求的实例与最终选择托管实例的边缘位置父处理至其的云提供商网络区域或可用区之间的通信的延时要求。再如,该请求可以请求分布在多个边缘位置的多个实例,指定所请求的实例与和地理指示符相关联的装置之间以及边缘位置之间的通信的延时要求。
84.附加的启动请求参数可以包括要启动的计算实例的数量、计算实例的类型、计算实例(在多个的情况下)是应该紧密地打包在一起(例如,在同一服务器或边缘位置上)还是分散开(例如,跨服务器或边缘位置)。
85.如在参考图5描述的方法中,可以提供附加启动参数以限制边缘位置安置服务720对合适边缘位置的搜索(例如,识别特定csp或csp的特定网络的参数、识别边缘位置的硬件要求的参数等)。
86.在一些实施例中,约束在图6的圆圈“1”处请求启动的参数可以存储为应用配置文件的一部分。应用配置文件可以包括与在提供商底层扩展处执行用户工作负载相关的参数(例如,包括用于基于配置文件启动的实例的所需计算资源量、启动实例的所需延时和地理约束、实例安置和扩展配置等)。云提供商网络客户之前可能已经创建了一个应用配置文件,以后可以引用该配置文件,诸如在圆圈“1”启动实例的请求中。
87.在一些实施例中,可以包括在应用配置文件中的一个参数值是识别要用作基于应用配置文件启动计算实例的模板的资源的值。例如,如果用户创建了vm映像、虚拟设备、容器映像或可用于启动计算实例的任何其他类型的资源(诸如例如vm、microvm、容器等),用户可以提供资源的标识符(例如,云提供商网络100已知的资源的标识符)。在一些实施例中,用户可以提供存储可用于启动计算实例的资源的存储位置的标识符(例如,云提供商网络100内或存储资源的其他地方的存储位置的url或其他标识符)。
88.在一些实施例中,可以在应用配置文件中指定的另一示例参数包括与将专用于基于配置文件启动的实例的计算资源有关的参数。例如,用户可以根据cpu、存储器、网络性能或任何其他与资源相关的参数来指定资源约束(例如,用户可以指定要基于应用配置文件启动的实例被分配两个vcpu、8gib存储器、高达10gbps的网络或任何其他资源组合),以便为基于应用配置文件启动的实例提供所请求的资源(假设所请求的资源在满足其他应用配置文件约束的任何提供商底层扩展位置可用)。在一些实施例中,用户可以根据定义的实例类型(例如,与定义的cpu、存储器、网络等数量相关联的实例类型,云提供商网络100定义的资源)来指定资源约束。其他与资源相关的参数可以包括要由启动的实例、内核版本等使用的块装置映射。
89.在一些实施例中,其他示例参数包括与将边缘优化实例安置在提供商底层扩展处的其他方面有关的参数。例如,可以指定的一个与通信服务提供商相关的参数包括特定通信服务提供商的识别(例如,以指示用户希望在与通信服务提供商a或通信服务提供商b相关联的提供商底层扩展处,而不在与通信服务提供商c相关联的提供商底层扩展处启动实例)。可以指定的另一个示例的与通信服务提供商相关的参数包括一个或多个特定地理位置,在该地理位置上期望启动边缘优化实例(例如,在奥斯汀市中心附近的提供商底层扩展处,在靠近旧金山湾区的提供商底层扩展处,在西南地区或东北地区的提供商底层扩展等等)。又一个示例参数包括用于在提供商底层扩展处执行用户工作负载的延时配置文件,其中延时配置文件通常指示边缘优化实例相对于最终用户或其他网络点之间的期望延时(例如,在pse对最终用户具有20毫秒或更短的延时,在洛杉矶附近的pse对最终用户有30毫秒或更短的时间等)。
90.在一些实施例中,可以在应用配置文件中指定的其他示例参数包括各种网络配置。例如,为了实现在私有网络中运行的区域内应用与在提供商底层扩展中运行的应用之间的通信,可以指定应用配置文件配置,以便将私有网络端点提供给区域内私有网络调用边缘优化实例。为了实现双向通信,客户还可以向他们的提供商底层扩展应用提供私有网络端点,其可用于从提供商底层扩展到区域的通信。
91.在一些实施例中,可以在应用配置文件中指定的又其他示例参数包括一旦已经基于应用配置文件启动了另一个实例就使用的扩展策略。例如,用户可以在应用配置文件中为他们的应用指定向内扩展和向外扩展策略,其中此类策略可以调整提供商底层扩展位置内和跨提供商底层扩展位置的容量。在一些实施例中,当向内扩展时,新容量默认在负载下的相同位置启动并且扩展到其他位置,只要它们满足客户端延时约束(如果有的话)。例如,如果未指定客户端延时约束,则新容量可以在负载下的同一位置添加并扩展到其他位置,直到监控的度量低于扩展阈值。
92.在图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的数据库)。
93.在从硬件虚拟化服务606接收到对满足客户要求的合适边缘位置的请求时,边缘位置安置服务622可以访问延时数据609以识别哪些边缘位置满足那些要求。举个例子。假设用户已经提供了对应于区域698的地理指示符。无线csp网络501可能包括许多基站,其中一些提供对地理区域698的覆盖。那些基站和边缘位置510之间的路由可能会有所不同(例
如,一些可能必须遍历聚合站点,诸如聚合站点206,一些可能在从基站到边缘位置的网络路径中具有附加的跳等)。延时数据可以包括基站和边缘位置之间的点对点延时,并且边缘位置安置服务620可以基于这些延时识别具有满足客户延时约束的通信延时的候选边缘位置的集合。例如,边缘位置安置服务620可以确定到边缘位置510-1的延时1满足客户的约束,而到另一个边缘位置510的延时2不满足。因此,边缘位置安置服务620将边缘位置510-1作为候选边缘位置返回给硬件虚拟化服务606。
94.除了识别满足客户延时要求的边缘位置之外,边缘位置安置服务622还可以通过客户的其他参数(如果指定)(例如,特定csp的边缘位置、csp的特定网络等)进一步缩小合适的边缘位置。
95.基于边缘位置安置服务620返回的候选边缘位置(如果有的话),如果请求不能得到满足,硬件虚拟化服务606可以向客户返回错误,或者继续启动计算实例。例如,如果没有边缘位置满足客户的延时要求,或者如果客户已请求分布在n个边缘位置的n个计算实例但少于n个边缘位置满足客户的延时要求,则请求可能会失败。假设可以满足客户的请求,硬件虚拟化服务606可以向边缘位置发出控制平面命令以启动所请求的实例,如图6的圆圈“3”所示(例如,参见图5的圆圈“3”的上述描述)。
96.在一些情况下,边缘位置安置服务622返回的合适边缘位置的数量可能超过客户请求的计算实例的数量。在这种情况下,硬件虚拟化服务606可以继续进行附加的选择标准,以选择将使用哪个合适的边缘位置来托管客户请求的计算实例。硬件虚拟化服务606可以基于各种标准使用某一成本函数来对合适的边缘位置中的每一个进行评分,并基于其相对于其他边缘位置的分数的分数来选择“最佳”边缘位置。一个这样的标准是容量成本——部署在曼哈顿的pse可能比部署在新泽西州纽瓦克的pse具有更高的货币成本(例如,基于为纽约曼哈顿的用户提供更低的延时或对该站点的需求增加)。另一个这样的标准是合适边缘位置的可用容量。衡量可用容量的一种方法是跟踪每个边缘位置或每个边缘位置服务器之前启动的计算实例的数量。硬件虚拟化服务606可以跟踪(例如,在数据库中)哪些边缘位置先前已用于启动计算实例以及这些计算实例的资源消耗。另一种衡量可用容量的方法是基于边缘位置或边缘位置服务器的资源利用率。在边缘位置或边缘位置服务器上本地执行的代理或其他进程可以监视用于托管计算实例的处理器、存储器、网络适配器和存储装置的利用率,并将该利用率数据报告给硬件虚拟化服务606。硬件虚拟化服务606可以从边缘位置安置服务620返回的合适边缘位置中选择具有最高量容量(或最低利用率)的边缘位置。
97.获得延时数据609的各种方法是可能的,包括下面描述的那些方法。为了促进一组稳健的客户延时要求,边缘位置安置服务622可以使用本文描述的方法中的一种或多种或其他方法来确定例如最终用户电子装置和基站之间、基站和边缘位置之间、基站和云提供商网络区域或可用区数据中心之间、边缘位置和边缘位置之间、以及边缘位置到云提供商网络区域或可用区数据中心的延时。延时通常是指一个装置向接收者发送消息和接收者接收消息之间的单向时间,或者是指一个装置发出请求和随后接收对该请求的响应之间的往返时间。在一些实施例中,延时数据609提供或允许推导各个点之间的延时以用于边缘位置安置服务622的安置确定。
98.在第一种方法下,csp网络可以包括延时服务。延时服务可以定期接收或以其他方
式监控整个csp网络的延时。延时服务可以包括api,边缘位置安置服务622可以通过该api发出调用以获取延时数据609。这种方法可以称为基于查询的方法。延时服务的示例性api接收一个或多个路由(例如,经由csp网络内的端点指定)并返回路由的延时。提供csp网络中各种端点的识别(例如,通过ip地址),边缘位置安置服务622可以使用csp网络的延时服务来构建通过csp网络的点对点延时的视图。例如,基于对csp网络的各种接入点(例如,基站)、接入点的覆盖区域和边缘位置的了解,边缘位置安置服务622可以构建与地理区域到边缘位置相关的延时数据集。另外,基于对与csp网络集成的各种边缘位置的了解,边缘位置安置服务622还可以测量云提供商网络和边缘位置中的每个之间的延时。例如,边缘位置安置服务622可以在数据库服务622的数据库中存储或缓存来自延时服务和其他延时测量的响应。
99.在第二种方法下,csp可以提供关于csp的网络拓扑的详细信息,边缘位置安置服务622可以从中导出信息以基于网络的各个点之间的距离和跳跃延迟的模型做出安置确定。这种方法可以被称为基于模型的方法。网络拓扑信息可以在图形或其他合适的数据结构中提供或转换为图形或其他合适的数据结构,该图形或其他合适的数据结构表示诸如网络跳数和网络节点之间(例如,基站和边缘位置之间、边缘位置之间以及边缘位置和云提供商网络之间——后者可能由云提供商使用与csp网络和云提供商网络之间的连接相关的网络拓扑信息进行扩充)的距离之类。此外,网络拓扑信息可以包括与最终用户装置到网络的接入点的地理位置有关的信息(例如,基站覆盖范围)。使用一组试探法,网络拓扑信息可用于对通过csp网络的各种延时(例如,点对点延时)进行建模,以生成延时数据609。例如,试探法可以包括在给定距离(例如,使用光速)的网络节点之间的信号估计延迟、通过网络的各种跳增加的建模延时(例如,由于路由器或其他网络装备的处理延时)等。由于网络拓扑可能随时间变化,csp可以定期提供更新的网络拓扑信息。
100.在第三种方法下,csp和/或云提供商可以建立“发布者”节点网络,这些节点收集延时数据并将其报告给边缘位置安置服务622。此类发布者节点可以通过多种方式收集延时数据,诸如通过ping其他装置、订阅csp网络部件发出的事件或定期轮询csp网络api以收集qos数据。虽然类似于基于查询的方法,因为它提供了比基于模型的方法更最新的网络延时视图,但第三种方法(称为基于监控的方法)可以在较少依赖csp(无论是通过获取对内部网络api(诸如延时服务)的访问权限,要求csp部署可能不存在的延时监控设施,还是依靠csp获取网络拓扑数据)的情况下实现。例如,边缘位置和/或最终用户电子装置可以包括监控到其他装置的延时的应用。在边缘位置,应用可以由计算实例执行或作为控制平面部件执行。在最终用户电子装置处,应用可以是作为用于将应用部署到最终用户装置的软件开发工具包的一部分并入的后台进程。在任何一种情况下,应用都可以定期从云提供商网络或csp网络的服务中获取其他边缘位置、基站或csp网络接入点和/或连接到csp网络(例如,通过ip地址)的电子装置的识别,测量识别装置的延时(例如,通过ping请求),并将结果报告给边缘位置安置服务622。在最终用户装置的情况下,应用可以进一步报告最终用户装置与到csp网络的其接入点(例如,基站)之间的延时数据。边缘位置安置服务409可以聚合和存储报告的数据作为延时数据609。
101.图7图示了根据一些实施例的其中计算实例在云提供商网络边缘位置中启动的另一个示例性环境。如图所示,云提供商网络700包括硬件虚拟化服务706、边缘位置安置服务
720和数据库服务722。尽管未示出,但云提供商网络700在csp网络中具有多个边缘位置(例如,诸如上述参考图5所描述的)。
102.在图7中编号为“1”至“3”的圆圈示出了用户138(例如,云提供商网络的客户)可以通过其在边缘位置510中的一者处启动计算实例的示例性过程。在图7的圆圈“1”处,用户138向硬件虚拟化服务606发出启动计算实例的请求。这里,请求的参数可以包括装置标识符和对延时约束或要求的指示。取决于实现方式,装置标识符可以采用多种形式(例如,imei号码、ip地址等)。延时指示符可以根据所识别的装置和最终选择来托管所请求的计算实例的服务器之间的时间(例如,小于10毫秒)来指定。启动请求可以各种其他参数,诸如上面参考图6所描述的。
103.在图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所述。
104.基于由边缘位置安置服务720返回的候选边缘位置(如果有),如果请求不能得到满足,硬件虚拟化服务706可以向客户返回错误,或者继续启动计算实例。例如,如果没有边缘位置满足客户的延时要求,则请求可能会失败。假设可以满足客户的请求,硬件虚拟化服务606可以向边缘位置发出控制平面命令以启动所请求的实例,如图7的圆圈“3”处指示(例如,参见对图5和/或图6的圆圈“3”的上述描述)。
105.要注意的是,在一些实施例中,地理指示符可以基于电子装置的延时来推断而不是从装置位置服务742或代理744获得特定地理指示符。例如,用户138可以提供装置标识符和延时要求。在这种情况下,指定的装置可以用作确定地理指示符的代理。例如,硬件虚拟化服务706或边缘位置安置服务720可以使多个其他装置(未示出)从几个已知位置ping装置的ip地址以推断装置的地理位置并因此推断出对应的地理指示符。
106.除了向选定边缘位置发送控制平面命令以启动计算实例之外,硬件虚拟化服务506、606、706还可以向选定边缘位置发送控制平面命令以将csp网络上的ip地址与已启动的计算实例关联。ip地址可以从分配给pse的csp网络地址空间中的ip地址池中选择。例如,可能会为启动的实例给定一个ip地址“a”,pse的网关将其通告给csp网络部件,以便当通过csp网络连接的装置向地址“a”发送数据包时,该数据包被路由到pse。
107.图8是根据一些实施例的其中由于电子装置移动性而启动计算实例的示例性环境。在某些情况下,云提供商网络可以在部署在通信服务提供商网络内的各个边缘位置自动启动计算实例,以继续满足客户指定的延时约束,即使电子装置的移动更改到通信服务提供商网络的电子装置的接入点。随着移动装置更改到csp网络的其接入点,这些接入点与部署在csp网络中的特定边缘位置之间的延时可能会发生变化。作为示例并参考图2,由于
通过聚合站点206的附加流量路由,电子装置212到当通过ran 202的接入点连接时边缘位置216所托管的计算实例可具有比当通过ran 202的接入点连接时连接时到边缘位置228所托管的计算实例更低的延时。相反,与边缘位置228托管的计算实例相比,通过ran 204的接入点连接的另一个电子装置到边缘位置216托管的计算实例可能具有更高的延时。如果云提供商网络的客户提供了延时约束作为在csp网络的边缘位置内启动计算实例的一部分,则通过csp网络连接的装置接入点的变化可能会导致违反该约束。例如,当云提供商网络的客户启动计算实例以向指定装置提供低延时连接并且该装置随后更改接入点时,可能会出现该场景。
108.返回图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的移动。
109.在图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从一个接入点切换到另一个接入点,以及哪个接入点是最好的连接点。
110.在该示例中,电子装置890正在移动,以使其与csp网络801的连接经由接入点889比接入点888更好或将更好。在图8的圆圈“2”处,csp网络801的移动性管理部件862向边缘位置连接管理器811提供涉及电子装置890的移动性事件的指示。如上所述,移动性管理部件862可以基于从电子装置890接收的测量或基于由该部件以其他方式获得的信号质量数据来做出这样的确定。在一些实施例中,移动性事件的指示是电子装置实际上正在从由第一接入点888提供的第一小区移动到由第二接入点889提供的第二小区的指示。在一些实施例中,移动性事件的指示包括电子装置890将从第一接入点888提供的小区移动到由csp网络801的其他接入点提供的一个或多个其他小区的一个或多个预测。这样的预测移动性事件可以包括电子装置890将其接入点变更到一个或多个其他小区的可能性,并且可以包括事件何时将实际发生的指示。
111.在一些实施例中,移动性管理部件862将移动性事件发送到部署到csp网络801的边缘位置总数的全部或某部分。在其他实施例中,每个边缘位置的边缘位置连接管理器811跟踪已连接到由该边缘位置托管的计算实例的电子装置,并请求移动性管理部件862发送与这些电子装置有关的更新。
112.在图8的圆圈“3”处,边缘位置连接管理器811将移动性事件的指示和装置特定连接数据发送到云提供商网络800的边缘位置移动性服务830。在一些实施例中,边缘位置连
接管理器811从边缘位置810-1维护的连接数据812中获得一些或全部装置特定连接数据。连接数据812可以包括与电子装置(例如,电子装置890)和计算实例(例如,计算实例813)之间的连接相关联的源和目的地网络地址、建立连接的时间、连接的状态、使用的协议的类型等。在一些实施例中,在向边缘位置移动性服务830发送该电子装置的移动性事件和装置特定连接数据的指示之前,边缘位置连接管理器811检查连接数据812以确定与接收到的移动性事件相关联的电子装置是否连接到由边缘位置810-1托管的计算实例中的一个或多个。
113.在一些实施例中,边缘位置移动性服务830确定电子装置890和第一计算实例813之间经由第二接入点889的通信延迟将不满足延时约束(并且因此将发生计算实例的迁移以便满足延时约束)。由于从第二接入点889到现有计算实例813的路由通信引入了附加的跳数或距离,或者因为边缘位置810-1从第二接入点889不可到达(例如,由于csp网络801的网络拓扑和配置),该约束可能不被满足。边缘位置移动性服务830可以从请求启动实例期间存储(例如,存储在数据库中,诸如应用配置文件的一部分,当客户请求启动实例诸如上面参考图5、图6和图7所描述的)的数据中获得与实例相关联的延时约束。边缘位置移动性服务830可以获得现有计算实例和新接入点之间的延迟,该延迟可以从延时数据(例如,延时数据609)中确定。
114.尽管未示出,但在一些实施例中,给定边缘位置的边缘位置连接管理器可以向边缘位置移动性服务发送连接数据,并且csp网络801的移动性管理部件可以向边缘位置移动性服务发送移动性事件。
115.假设计算实例813和接入点889之间的新延迟超过延时约束,边缘位置移动性服务830将实例启动请求发送到云提供商网络800的硬件虚拟化服务806,如图8的圆圈“4”所示。如上所述,地理指示符可根据实现方式采取多种形式(例如,地理坐标、邮政编码、大都市区等)。在一些实施例中,地理指示符基于提供给边缘位置移动性服务830的移动性事件的指示,例如,使得地理指示符对应于电子装置890正在移动到或预测会移动到的接入点的位置。在一些实施例中,附加的启动参数可以包括特定csp或csp的特定网络的标识符、识别边缘位置的硬件要求的参数等,使得计算实例的迁移被执行到具有与边缘位置810-1类似的特性的边缘位置)。
116.在图8的圆圈“5”处,硬件虚拟化服务806向边缘位置安置服务820请求候选边缘位置的识别,其满足从边缘位置移动性服务830接收的启动请求的参数。边缘位置安置服务820可以对照边缘位置安置服务820可用的延时数据评估参数。通常,延时数据提供对csp网络801内的点(例如,在区域和边缘位置内提供连接性的基站)之间以及可能在csp网络801内的点与云提供商网络800中的点(例如,由云提供商网络数据中心中的服务器托管的计算实例)之间的延时的指示。延时数据还可以包括关于到csp网络801的各个接入点的位置的地理数据,以允许边缘位置安置服务820将指定的地理指示符与csp网络(例如,基站或电子设备接入csp网络801所用的其他装备的覆盖区域)相关联。
117.在从硬件虚拟化服务806接收到满足在请求中指定的各种参数的合适边缘位置的请求时,边缘位置安置服务820可以访问延时数据和其他信息以识别哪些边缘位置满足那些要求。基于由边缘位置安置服务820返回的候选边缘位置(如果有的话),硬件虚拟化服务806可以选择候选者之一,诸如通过如本文所述评估候选者的成本函数。要注意的是,如上所述,移动性事件可能包括电子装置890从接入点889移动到890的概率(尽管切换尚未发
生)。在这种情况下,硬件虚拟化服务806可以将该可能性作为因素计入到成本函数中以确定是否启动实例。例如,如果移动的可能性低(例如,《50%)并且候选边缘位置的资源利用率高(例如,有足够的未使用资源容量用于100个实例的总容量中有10个新实例),则硬件虚拟化服务806可以选择等待实际的移动性事件。
118.在一些实施例中,新接入点889的标识符可以用作地理指示符的代理。边缘位置移动性服务830可以从移动性管理部件862(可能经由边缘位置连接管理器811)接收标识符并将该标识符发送到硬件虚拟化服务806。硬件虚拟化服务806可以将该标识符发送到边缘位置安置服务820,该边缘位置安置服务又可以使用接入点标识符来估计到候选边缘位置的延时。
119.在该示例中,边缘位置安置服务820返回边缘位置810-2的识别作为候选边缘位置,并且如果返回了一个以上候选者,则硬件虚拟化服务806选择边缘位置810-2。硬件虚拟化服务806向边缘位置810-2处的本地资源管理器814发出控制平面命令以启动所请求的实例,如图8的圆圈“6”所示。在一些实施例中,响应于与电子装置890相关联的移动性事件而在边缘位置810-2启动的计算实例815可以基于相同的资源(例如,虚拟机映像、容器映像等),如用于启动电子装置890先前连接到的计算实例813。一旦启动,电子装置890可以与在边缘位置810-2启动的计算实例815建立连接并恢复使用与该装置交互的任何应用。
120.在一些实施例中,csp网络地址空间中的ip地址池由csp网络为一个或多个边缘位置保留。会从池中分配一个ip地址给在这些边缘位置上启动的计算实例。以这种方式,边缘位置托管的计算实例可以被视为csp网络上的另一个装置,从而促进通过csp网络获得连接的电子装置(例如,电子装置890)和边缘位置托管的计算实例之间的流量路由。在一些实施例中,诸如硬件虚拟化服务806之类的控制平面部件为新计算实例815分配来自池的新ip地址。
121.硬件虚拟化服务806可以将新计算实例815的标识符返回给边缘位置移动性服务830。在一些实施例中,边缘位置移动性服务830可以检查与原始计算实例813相关联的连接数据以确定是让计算实例813运行还是将其迁移到计算实例815。例如,如果计算实例813仍在与其他电子装置通信,则计算实例813可以在电子装置890开始与计算实例815通信的同时继续支持这些其他装置。在一些实施例中,边缘位置移动性服务830可以触发以计算实例815作为目标并且以计算实例813作为源的“迁移”,如图8的圆圈“7”所示。迁移通常是指在主机之间移动虚拟机实例(和/或其他资源)。有不同类型的迁移,包括实时迁移和重启迁移。在重启迁移期间,客户会遇到其虚拟机实例的断电和有效的电力循环。例如,控制平面服务可以协调重启迁移工作流程,所述重启迁移工作流程涉及拆除原始主机上的当前计算实例,随后在新主机上创建新计算实例。实例通过在原始主机上关闭并在新主机上再次启动来重启。
122.实时迁移是指在不同物理机之间移动正在运行的虚拟机或应用而不会显著中断虚拟机可用性(例如,最终用户不会注意到虚拟机的停机时间)的过程。当控制平面执行实时迁移工作流程时,它可以在新主机上创建一个新的“非活动”计算实例,而原始主机上的原始计算实例继续运行。状态数据,诸如存储器(包括正在运行的应用的任何存储器中状态)、存储和/或虚拟机的网络连接,从具有活动计算实例的原始主机传输到具有非活动计算实例的新主机。控制平面可以将非活动计算实例转换为活动计算实例,并将原始活动计
算实例降级为非活动计算实例,之后可以丢弃非活动计算实例。
123.如图8中圆圈“8”所示,从计算实例813迁移到计算实例815的状态数据可以直接通过csp网络801发送。在其他实施例中,状态数据可以遍历云提供商网络800的一部分(例如,如果一个边缘位置不能通过csp网络801与另一边缘位置通信)。
124.要注意的是,边缘位置810-1包括本地资源管理器814,而边缘位置810-2包括边缘位置连接管理器811和连接数据812。虽然图8的论述设想电子装置890移动“更接近”边缘位置810-2,但是反之亦然,或者电子装置890可能稍后移动到另一个接入点(未示出),该接入点未能满足与边缘位置810-2的通信中的延时约束。因此,边缘位置810-1的操作的描述可以适用于边缘位置810-2,反之亦然。
125.图9是图示根据一些实施例的用于在云提供商网络边缘位置启动计算实例的方法的操作的流程图。操作(或本文描述的其他过程,或其变型和/或组合)的一些或全部在配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合实现。代码以例如包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质是非暂时性的。在一些实施例中,操作中的一个或多个(或所有)由部署在其他图中的通信服务提供商网络内的提供商底层扩展的一个或多个本地控制部件(例如,本地资源管理器或管理启动、配置和终止计算实例(诸如虚拟机或容器)的其他部件))执行。
126.该操作包括在框902处,在嵌入通信服务提供商网络内的云提供商网络的提供商底层扩展处接收用于启动客户计算实例的消息,其中该消息是从云提供商网络的控制平面服务接收的。该操作包括,在框904处,在提供商底层扩展的计算机系统上启动客户计算实例,该计算机系统具有执行客户计算实例的能力,其中提供商底层扩展经由通信服务提供商网络与云提供商网络通信,并且其中客户计算实例经由通信服务提供商网络与通信服务提供商网络的订户的移动装置进行通信。
127.如图2所示,云提供商网络底层扩展(pse)可以部署在通信服务提供商(csp)网络中。这些csp网络通常为订户的装置提供与csp网络和其他网络(诸如互联网)的数据连接。pse可以包括计算资源(例如,处理器、存储器等),云提供商网络的客户可以在这些资源上启动计算实例,诸如虚拟机或容器。pse的本地管理部件(诸如容器引擎或虚拟机管理器)可以管理使用pse资源托管的计算实例。云提供商网络的控制平面部件(诸如硬件虚拟化服务)可以向本地管理部件发出命令以启动实例。这些命令可以经由通过csp网络的云提供商网络和pse之间的安全隧道进行路由。
128.在csp网络内部署或集成pse可以减少在远离csp网络(例如,在云提供商网络的区域数据中心中)托管计算实例时可能存在的延时。例如,由部署在csp网络内的pse托管的计算实例与移动装置之间的通信可以完全在csp网络内路由,而不需要流量离开csp网络(例如,经由互联网交换路由)。
129.图10是图示根据一些实施例的用于在云提供商网络边缘位置启动计算实例的另一个方法的操作的流程图。操作(或本文描述的其他过程,或其变型和/或组合)的一些或全部在配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由
硬件或其组合实现。代码以例如包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质是非暂时性的。在一些实施例中,操作中的一个或多个(或所有)由其他图的云提供商网络的一个或多个控制平面服务(例如,硬件虚拟化服务606、706、边缘位置安置服务620、720)执行。
130.该操作包括,在框1002处,在云提供商网络的服务处接收来自客户的启动计算实例的请求,其中该请求包括延时要求。如上所述,在通信服务提供商网络内部署或嵌入提供商底层扩展或边缘位置的优势之一是减少最终用户装置和客户计算实例之间的延时。为了向云提供商网络的客户提供利用减少的延时的能力,允许客户指定控制客户的计算实例最终在何处启动的延时要求或约束是有益的。因此,云提供商网络可以包括诸如api之类的接口,客户可以通过该接口请求在给定延时要求的情况下启动实例,诸如上文参考图6和图7所述。
131.该操作包括,在框1004处,从云提供商网络的多个提供商底层扩展中选择提供商底层扩展来托管计算实例,其中该选择至少部分地基于延时要求,并且其中选择的提供商底层扩展连接到通信服务提供商网络并且至少部分地由云提供商网络的服务经由通过通信服务提供商网络的至少一部分的连接来控制。如参考图6和图7所述,边缘位置安置服务620、720可以评估候选边缘位置以确定哪些边缘位置满足客户延时要求。为此,边缘位置安置服务获得一个地理指示符,该指示符可以与csp网络中一个或多个接入点所覆盖的地理区域相关联,并评估从该一点或多点到部署在csp网络中的边缘位置的延时。这种地理指示符可以利用在框1002(例如,由客户指定地理区域,诸如城市、邮政编码等)接收的请求提供,或者例如通过确定用请求识别的装置的位置来获得。可以使用各种技术来获得csp网络的点(例如,边缘位置到接入点)之间的延时值或估计值。边缘位置安置服务可以确定哪些边缘位置(如果有)满足客户的延时要求,并将该候选集合返回给硬件虚拟化服务。该集合可以包括该集合中的边缘位置中的每一个相对于延时要求之间的延时裕度的指示。使用成本函数或其他技术对候选边缘位置进行排名,硬件虚拟化服务可以选择一个边缘位置来托管所请求的计算实例。选择中可能使用的因素包括候选边缘位置的可用硬件容量、容量的整体利用率、容量的成本、延时相对于客户延时要求的裕度等。
132.该操作包括,在框1006处,发送消息以使选择的提供商底层扩展为客户启动计算实例。基于所选择的提供商底层扩展,硬件虚拟化服务可以向提供商底层扩展发出一个或多个命令以启动所请求的实例(例如,经由云提供商网络和部署在csp网络内的提供商底层扩展之间的隧道)。
133.图11是图示根据一些实施例的用于由于电子装置移动性而启动计算实例的方法的操作的流程图。操作(或本文描述的其他过程,或其变型和/或组合)的一些或全部在配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合实现。代码以例如包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质是非暂时性的。在一些实施例中,操作中的一个或多个(或所有)由其他图的云提供商网络的一个或多个控制平面服务(例如,边缘位置移动性服务830、硬件虚拟化服务806、边缘位置安置服务820)执行。
134.该操作包括在框1102接收包括与通信服务提供商网络的移动装置相关联的移动
性事件的指示的消息,其中该移动性事件指示移动装置与通信服务提供商网络的连接点从第一接入点变更到第二接入点。如参考图8所解释,当装置在csp网络的不同接入点之间移动时,基于延时要求的计算实例的初始安置确定可能不再满足该延时要求。为了继续满足延时要求,云提供商网络可以响应csp网络的移动性管理部件(诸如用于5g网络的接入和移动性以及移动性管理功能(amf)或用于4g或lte网络的移动性管理实体(mme))输出的移动性事件。这样的移动性事件可以是实际事件(例如,移动装置已经将其连接点从第一接入点变更为第二接入点)或预测事件(例如,移动装置可能连接到第二接入点)。
135.该操作包括,在框1104处,确定移动装置与第一计算实例之间经由第二接入点的网络路径的至少一部分的通信延迟将不满足延时约束,其中第一计算实例由云提供商网络的第一提供商底层扩展托管。如参考图8所述,并非所有移动性事件都可能导致违反延时要求。例如,托管计算实例的一个提供商底层扩展可能满足对csp网络的一组接入点的延时要求,因此在这些接入点之间切换的移动装置不会导致违反延时要求。边缘位置移动性服务830可以推迟启动新实例,直到延时要求(或预测)被违反。例如,边缘位置移动性服务830可以评估第一接入点和由第一提供商底层扩展托管的计算实例之间以及第二接入点和由第一提供商底层扩展托管的计算实例之间的延时数据(例如,延时数据609)。
136.该操作包括,在框1106处,识别满足经由第二接入点与移动装置通信的延时约束的云提供商网络的第二提供商底层扩展。如参考图8所述,给定移动装置通过第二接入点的连接性,安置技术(诸如参考图6和7描述的那些)可以用于识别满足延时要求的另一个合适的提供商底层扩展。例如,边缘位置移动性服务830可以在给定延时要求和新(第二)接入点的指示(例如,是否基于地理标识符或识别csp网络内的接入点的接入点标识符)请求启动新实例。硬件虚拟化服务806和边缘位置安置服务820可以操作以识别候选提供商底层扩展并从那些候选者中选择提供商底层扩展以在其上启动计算实例。
137.该操作包括,在框1108处,发送消息以使第二提供商底层扩展启动第二计算实例。基于所选择的提供商底层扩展,硬件虚拟化服务可以向提供商底层扩展发出一个或多个命令以启动所请求的实例(例如,经由云提供商网络和部署在csp网络内的提供商底层扩展之间的隧道)。
138.图12图示了根据一些实施例的示例性提供商网络(或“服务提供商系统”)环境。提供商网络1200可以经由一个或多个虚拟化服务1210向客户提供资源虚拟化,所述一个或多个虚拟化服务允许客户购买、租借或以其他方式获得在一个或多个数据中心中的一个或多个提供商网络内的装置上实现的虚拟化资源(包括但不限于计算资源和存储资源)的实例1212。本地互联网协议(ip)地址1216可以与资源实例1212相关联;本地ip地址是提供商网络1200上的资源实例1212的内部网络地址。在一些实施例中,提供商网络1200还可以提供客户可以从提供商1200获得的公共ip地址1214和/或公共ip地址范围(例如,互联网协议版本4(ipv4)或互联网协议版本6(ipv6)地址)。
139.常规上,提供商网络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。
140.如本文中所使用的,本地ip地址是指例如提供商网络中的资源实例的内部或“私有”网络地址。本地ip地址可以在由互联网工程任务组(ietf)的注释请求(rfc)1918保留的地址块内和/或具有由ietf rfc 4193指定的地址格式,并且可以在提供商网络内更改。源自提供商网络外部的网络流量不会直接路由到本地ip地址;而是,流量使用映射到资源实例的本地ip地址的公共ip地址。提供商网络可以包括提供网络地址转换(nat)或类似功能以执行从公共ip地址到本地ip地址的映射以及反之亦然的网络装置或器具。
141.公共ip地址是由服务提供商或客户分配给资源实例的互联网可变网络地址。路由到公共ip地址的流量被转换,例如经由1:1nat,并转发到资源实例的相应本地ip地址。
142.一些公共ip地址可能由提供商网络基础设施分配给特定的资源实例;这些公共ip地址可以称为标准公共ip地址,或简称为标准ip地址。在一些实施例中,标准ip地址到资源实例的本地ip地址的映射是所有资源实例类型的默认启动配置。
143.至少一些公共ip地址可被分配给提供商网络1200的客户或由提供商网络的客户获得;然后,客户可将其分配到的公共ip地址分配给分配给客户的特定资源实例。这些公共ip地址可以被称为客户公共ip地址,或简称为客户ip地址。与如在标准ip地址的情况下由提供商网络1200分配给资源实例不同,客户ip地址可以由客户例如经由服务提供商提供的api分配给资源实例。与标准ip地址不同,客户ip地址被分配给客户账户,并且可以根据需要或期望由相应客户重新映射到其他资源实例。客户ip地址与客户账户相关联,而不是与特定资源实例相关联,并且客户控制该ip地址,直到客户选择释放它。与常规静态ip地址不同,客户ip地址允许客户通过将客户的公共ip地址重新映射到与客户账户关联的任何资源实例来屏蔽资源实例或可用区故障。例如,客户ip地址使客户能够通过将客户ip地址重新映射到替换资源实例来解决客户资源实例或软件的问题。
144.图13是根据一些实施例的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。硬件虚拟化服务1320向客户提供多个计算资源1324(例如,vm)。例如,可以将计算资源1324租借或租赁给提供商网络1300的客户(例如,实现客户网络1350的客户)。每个计算资源1324可以设置有一个或多个本地ip地址。提供商网络1300可以被配置为将数据包从计算资源1324的本地ip地址路由到公共互联网目的地,以及从公共互联网源路由到计算资源1324的本地ip地址。
145.提供商网络1300可以为例如经由本地网络1356耦合到中间网络1340的客户网络1350提供经由耦合到中间网络1340和提供商网络1300的硬件虚拟化服务1320实现虚拟计算系统1392的能力。在一些实施例中,硬件虚拟化服务1320可以提供一个或多个api 1302(例如,web服务接口),经由该api,客户网络1350可以例如经由控制台1394(例如,基于web的应用、独立应用、移动应用等)访问由硬件虚拟化服务1320提供的功能。在一些实施例中,
在提供商网络1300处,客户网络1350处的每个虚拟计算系统1392可以对应于被租赁、租借或以其他方式提供给客户网络1350的计算资源1324。
146.客户可以例如经由一个或多个api 1302从虚拟计算系统1392和/或另一客户装置1390(例如,经由控制台1394)的实例访问存储服务1310的功能性,以从提供商网络1300所提供的虚拟数据存储区1316(例如,文件夹或“桶”、虚拟化卷、数据库等)的存储资源1318a-1318n中访问数据以及将数据存储到所述存储资源。在一些实施例中,可以在客户网络1350处提供虚拟化数据存储网关(未示出),所述虚拟化数据存储网关可以在本地缓存至少一些数据(例如,频繁访问的或关键的数据),并且可以经由一个或多个通信信道与存储服务1310通信以从本地缓存上传新的或修改的数据,使得数据的主存储区(虚拟化数据存储区1316)被维护。在一些实施例中,用户经由虚拟计算系统1392和/或在另一客户装置1390上可以经由充当存储虚拟化服务的存储服务1310安装和访问虚拟数据存储区1316卷,并且这些卷在用户看来可以是本地(虚拟化)存储1398。
147.虽然在图13中未示出,但是还可以经由api 1302从提供商网络1300内的资源实例访问虚拟化服务。例如,客户、设备服务提供商或其他实体可以经由api 1302从提供商网络1300上的相应的虚拟网络内部访问虚拟化服务,以请求在虚拟网络内或另一虚拟网络内分配一个或多个资源实例。
148.在一些实施例中,实现本文描述的技术的一部分或全部的系统可包括通用计算机系统,所述通用计算机系统包括或被配置为访问一个或多个计算机可访问介质,诸如图14所示的计算机系统1400。在所示的实施例中,计算机系统1400包括经由输入/输出(i/o)接口1430耦合到系统存储器1420的一个或多个处理器1410。计算机系统1400还包括耦合到i/o接口1430的网络接口1440。虽然图14将计算机系统1400示出为单个计算装置,但在各种实施例中,计算机系统1400可以包括一个计算装置或被配置为作为单个计算机系统1400一起工作的任何数量的计算装置。
149.在各种实施例中,计算机系统1400可以是包括一个处理器1410的单处理器系统或者包括若干处理器1410(例如,两个、四个、八个或另一合适数量)的多处理器系统。处理器1410可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器1410可以是实现多种指令集架构(isa)中的任一种(诸如x86、arm、powerpc、sparc、或mips isa或任何其他合适的isa)的通用或嵌入式处理器。在多处理器系统中,处理器1410中的每一个通常可以(但不一定)实现相同的isa。
150.系统存储器1420可以存储可由一个或多个处理器1410访问的指令和数据。在各种实施例中,可以使用任何合适的存储器技术(诸如随机存取存储器(ram)、静态ram(sram)、同步动态ram(sdram)、非易失性/快闪型存储器或任何其他类型的存储器)来实现系统存储器1420。在示出的实施例中,实现一个或多个期望功能的程序指令和数据(诸如,上述那些方法、技术和数据)被示出为作为服务代码1425和数据1426存储在系统存储器1420内。例如,服务代码1425可以包括用于实现硬件虚拟化服务(例如,506、606、706、806)、边缘位置安置服务(例如,620、720、820)、边缘位置移动性服务(例如,832)、或其他图中所示的其他服务或部件的代码。数据1426可以包括诸如延时数据609、应用配置文件、与csp网络内的点相关的地理数据、边缘位置数据509等数据。
151.在一个实施例中,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中。
152.网络接口1440可以被配置为允许在计算机系统1400与附接到一个或多个网络1450的其他装置1460(例如诸如,其他计算机系统或如图1中示出的装置)之间交换数据。在各种实施例中,网络接口1440可以支持经由任何合适的有线或无线通用数据网络(例如,诸如以太网网络类型)进行的通信。另外,网络接口1440可以支持经由电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、经由存储区域网(san)(诸如光纤通道san)或经由i/o任何其他合适类型的网络和/或协议进行的通信。
153.在一些实施例中,计算机系统1400包括一个或多个卸载卡1470(包括一个或多个处理器1475,并且可能包括一个或多个网络接口1440),所述一个或多个卸载卡使用i/o接口1430(例如,实现快速外围部件互连(pci-e)标准的一个版本或诸如快速路径互连(qpi)或超路径互连(upi)的另一互连的总线)来连接。例如,在一些实施例中,计算机系统1400可以充当托管计算实例的主机电子装置(例如,作为硬件虚拟化服务的一部分进行操作),并且一个或多个卸载卡1470执行可管理在主机电子装置上执行的计算实例的虚拟化管理器。作为示例,在一些实施例中,一个或多个卸载卡1470可以执行计算实例管理操作,诸如暂停和/或取消暂停计算实例、启动和/或终止计算实例、执行存储器转移/复制操作等。在一些实施例中,这些管理操作可以由一个或多个卸载卡1470与由计算机系统1400的其他处理器1410a-1410n执行的管理程序(例如,根据来自管理程序的请求)协作来执行。然而,在一些实施例中,由卸载卡1470实现的虚拟化管理器可以容纳来自其他实体(例如,来自计算实例本身)的请求,并且可以不与任何单独的管理程序协作(或不服务于任何单独的管理程序)。
154.在一些实施例中,系统存储器1420可以是被配置为存储如上所述的程序指令和数据的计算机可访问介质的一个实施例。然而,在其他实施例中,程序指令和/或数据可以在不同类型的计算机可访问介质上接收、发送或存储。一般来说,计算机可访问介质可以包括非暂时性存储介质或存储器介质,诸如磁性介质或光学介质,例如经由i/o接口1430耦合到计算机系统1400的磁盘或dvd/cd。非暂时性计算机可访问存储介质还可包括任何易失性或非易失性介质,诸如ram(例如,sdram、双倍数据速率(ddr)sdram、sram等)、只读存储器(rom)等,它们可作为系统存储器1420或另一种类型的存储器包括在计算机系统1400的一些实施例中。此外,计算机可访问介质可以包括经由通信介质(诸如网络和/或无线链路,诸如可以经由网络接口1440实现)传达的传输介质或信号,诸如电信号、电磁信号或数字信号。
155.本文所讨论或提出的各种实施例可在多种多样的操作环境中实现,在一些情况下,所述操作环境可包括能够被用来操作若干应用中的任一个的一个或多个用户计算机、计算装置或处理装置。用户或客户端装置可包括:若干通用个人计算机中的任一个,诸如运
行标准操作系统的台式计算机或笔记本计算机;以及运行移动软件并且能够支持若干联网协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括若干工作站,所述工作站运行多种可购得的操作系统和用于诸如开发和数据库管理等目的的其他已知应用中的任一个。这些装置还可包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统和/或能够经由网络通信的其他装置。
156.大多数实施例利用本领域技术人员将熟悉的至少一个网络来支持使用多种可购得的协议中的任一个进行通信,所述协议诸如传输控制协议/互联网协议(tcp/ip)、文件传送协议(ftp)、通用即插即用(upnp)、网络文件系统(nfs)、公共互联网文件系统(cifs)、可扩展消息传递和现场协议(xmpp)、appletalk等。所述一个或多个网络可包括例如局域网(lan)、广域网(wan)、虚拟专用网(vpn)、互联网、内联网、外联网、公用电话交换网(pstn)、红外网络、无线网络以及它们的任何组合。
157.在使用web服务器的实施例中,web服务器可以运行各种服务器或中间层应用中的任一种,包括http服务器、文件传输协议(ftp)服务器、通用网关接口(cgi)服务器、数据服务器、java服务器、业务应用服务器等。服务器还能够响应来自用户装置的请求而执行程序或脚本,如通过执行可以实施为以任何编程语言(如c、c#或c++)或任何脚本语言(如perl、python、php或tcl)以及其组合写成的一个或多个脚本或程序的一个或多个web应用。所述一个或多个服务器还可包括数据库服务器,包括但不限于可从oracle(r)、microsoft(r)、sybase(r)、ibm(r)等购得的数据库服务器。数据库服务器可为关系型或非关系型(例如,“nosql”)、分布式或非分布式等。
158.本文所公开的环境可包括如上所述的多种数据存储区以及其他存储器和存储介质。这些可驻留在多种位置,诸如驻留在计算机中的一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或驻留在跨网络位于计算机中的任一个或全部计算机远程的存储介质上。在实施例的特定集中,信息可驻留在本领域技术人员熟悉的存储区域网(san)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要的文件可视情况本地和/或远程存储。在系统包括计算机化装置的情况下,每个这种装置可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(cpu)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和/或至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可包括一个或多个存储装置,如硬盘驱动器、光存储装置和如随机存取存储器(ram)或只读存储器(rom)的固态存储装置、以及可移动介质装置、存储卡、闪存卡等。
159.此类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和工作存储器,如上所述。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,计算机可读存储介质表示远程、本地、固定和/或可移动存储装置以及用于暂时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用或web浏览器。应当了解,替代实施例可具有与上述实施例不同的众多变体。例如,也可使用定制硬件,和/或特定元件可以在硬件、软件(包括可移植软件,诸如小程序)或两者中实现。此外,可采用与诸如网络输入/输出装置的其他计算装置的连接。
160.用于含有代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,如但不限于以用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实现的易失性和非易失性、可移动和不可移动的介质,包括ram、rom、电可擦可编程只读存储器(eeprom)、闪存或其他存储器技术、压缩盘只读存储器(cd-rom)、数字通用光盘(dvd)或其他光学存储器、磁盒、磁带、磁盘存储装置或其他磁性存储装置、或可用于存储所需信息且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教示内容,本领域普通技术人员将了解实现各种实施例的其他方式和/或方法。
161.在前面的描述中,描述了各种实施例。出于解释的目的,将阐述具体的配置和细节,以便提供对实施例的透彻理解。然而,对本领域的技术人员将是显而易见的是,没有具体细节的情况下也可以实行实施例。此外,为了不使所描述的实施例变得模糊,可能会省略或简化众所周知的特征。
162.在本文中使用带有虚线边框(例如,大破折号、小破折号、点破折号和点)的带括号的文本和框来说明向一些实施例添加附加特征的任选操作。然而,这种表示法不应被视为意味着这些是仅有的选项或任选操作和/或在某些实施例中带有实线边界的框不是任选的。
163.在各种实施例中,具有后缀字母的附图标记(例如,1318a-1318n)可以用于指示所引用实体可有一个或多个实例,并且当存在多个实例时,每个实例不必相同,而是可以替代地共享一些一般特征或按惯例行事。此外,除非有相反的明确说明,否则所使用的特定后缀并非意在暗示存在特定量的实体。因此,在各种实施例中,使用相同或不同后缀字母的两个实体可以具有或可以不具有相同数量的实例。
164.提及“一个实施例”、“实施例”、“示例性实施例”等指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可能不一定包括所述特定特征、结构或特性。此外,此类短语不一定是指同一实施例。此外,当结合实施例来描述特定特征、结构或特性时,应认为,无论是否有明确描述,结合其他实施例来实现此类特征、结构或特性也在本领域技术人员的知识范围内。
165.此外,在上述各种实施例中,除非另外特别指出,否则诸如词语“a、b或c中的至少一个”的析取语言意图被理解为表示a、b或c或其任何组合(例如,a、b和/或c)。因此,析取语言通常不意图并且不应被理解为暗示给定实施例要求a中的至少一个、b中的至少一个或c中的至少一个各自存在。
166.可根据以下条款描述所公开的技术的至少一些实施例:
167.1.一种系统,其包括:
168.云提供商网络,包括多个区域,所述多个区域中的每个区域包括控制平面和数据平面,所述控制平面包括硬件虚拟化服务以管理托管在所述云提供商网络的所述区域的资源上的客户计算实例;和
169.多个边缘位置,嵌入在一个或多个通信服务提供商网络中,其中所述多个边缘位置中的第一边缘位置:
170.至少部分地由所述多个区域中的第一区域的控制平面经由通过其中嵌入了所述第一边缘位置的第一通信服务提供商网络的网络连接来控制,
171.包括用于托管客户计算实例的容量,以及
172.使用所述第一通信服务提供商网络与所述第一通信服务提供商网络的订户的移动装置进行通信。
173.2.根据条款1所述的系统,其中所述边缘位置和所述移动装置之间的流量不遍历运载未订阅第一通信服务提供商网络的用户的流量的网络。
174.3.根据条款1-2中任一项所述的系统,其还包括所述多个边缘位置中的第二边缘位置,其中所述第二边缘位置:
175.至少部分地由所述多个区域中的第二区域的控制平面控制,
176.包括用于托管客户计算实例的容量,以及
177.使用所述第二通信服务提供商网络与所述第二通信服务提供商网络的订户的移动装置进行通信。
178.4.一种系统,其包括:
179.云提供商网络,其包括第一控制平面服务,以管理托管在所述云提供商网络的资源上的客户计算实例;和
180.连接到第一通信服务提供商网络的所述云提供商网络的第一提供商底层扩展,其中所述第一提供商底层扩展:
181.包括具有用于执行客户计算实例的容量的第一计算机系统;
182.至少部分地由所述第一控制平面服务经由通过所述第一通信服务提供商网络的至少一部分的连接来控制,并且
183.使用所述第一计算机系统执行至少第一客户计算实例,其中所述第一客户计算实例与经由所述第一通信服务提供商网络连接的第一移动计算机系统通信。
184.5.根据条款4所述的系统,其中所述第一通信服务提供商网络向所述第一通信服务提供商网络的订户的装置提供连接性。
185.6.根据条款5所述的系统,其中所述第一客户计算实例与所述第一移动计算机系统进行通信,而无需遍历运载未订阅所述第一通信服务提供商网络的用户的流量的网络。
186.7.根据条款4-6中任一项所述的系统,其中通过所述第一通信服务提供商网络的至少一部分的连接是安全隧道。
187.8.根据条款4-7中任一项所述的系统,其中所述第一提供商底层扩展连接到所述第一通信服务提供商网络的无线电接入网络的网络部件、所述第一通信服务提供商网络的聚合站点的网络部件、或所述第一通信服务提供商网络的核心网络的网络部件中的至少一个。
188.9.根据条款4-8中任一项所述的系统,其还包括在不同地理位置的部署在所述通信服务提供商网络内的所述云提供商网络的多个提供商底层扩展,其中所述多个提供商底层扩展包括所述第一提供商底层扩展。
189.10.根据条款9所述的系统,
190.其中所述第一控制平面服务属于所述云提供商网络的第一区域,并且用于管理托管在所述云提供商网络的所述第一区域的资源上的客户计算实例,
191.其中所述云提供商网络包括第二区域,所述第二区域包括第二控制平面服务以管理托管在所述云提供商网络的所述第二区域的资源上的客户计算实例,并且所述系统还包

192.第二提供商底层扩展,其连接到第二通信服务提供商网络,其中所述第二提供商底层扩展:
193.包括具有用于执行客户计算实例的容量的第二计算机系统,至少部分地由所述第二控制平面服务经由通过所述第二通信服务提供商网络的至少一部分的连接来控制,并且
194.使用所述第二计算机系统执行至少第二客户计算实例,其中所述第二客户计算实例与经由所述第二通信服务提供商网络连接的第二移动计算机系统通信。
195.11.根据条款10所述的系统,其中所述第二控制平面服务至少部分地基于以下一项或多项来控制所述第二提供商底层扩展:所述第二区域与所述第二通信服务提供商网络在相同国家、所述第二区域包括支持使用所述第一计算机系统中不存在的所述第二计算机系统的部件的控制平面服务、或所述第二提供商底层扩展和所述第二区域之间的延时。
196.12.根据条款9所述的系统,其还包括:
197.所述多个提供商底层扩展中的第二提供商底层扩展,所述第二提供商底层扩展连接到第二通信服务提供商网络,其中所述第二提供商底层扩展:
198.包括具有用于执行客户计算实例的容量的第二计算机系统;
199.至少部分地由所述第一控制平面服务经由通过所述第二通信服务提供商网络的至少一部分的连接来控制,并且
200.使用所述第二计算机系统执行至少第二客户计算实例,其中所述第二客户计算实例与经由所述第二通信服务提供商网络连接的第二移动计算机系统通信;并且
201.其中所述第一通信服务提供商网络是通信服务提供商的第四代移动电信网络,而所述第二通信服务提供商网络是所述通信服务提供商的第五代移动电信网络。
202.13.一种计算机实现的方法,其包括:
203.在嵌入通信服务提供商网络内的云提供商网络的提供商底层扩展处接收用于启动客户计算实例的消息,其中所述消息是从所述云提供商网络的控制平面服务接收的;
204.在所述提供商底层扩展的计算机系统上启动所述客户计算实例,所述计算机系统具有用于执行客户计算实例的容量,其中所述提供商底层扩展经由所述通信服务提供商网络与所述云提供商网络通信,并且其中所述客户计算实例经由所述通信服务提供商网络与所述通信服务提供商网络的订户的移动装置进行通信。
205.14.根据条款13所述的计算机实现的方法,其中所述通信服务提供商网络向所述通信服务提供商网络的订户的装置提供连接性。
206.15.根据条款13-14中任一项所述的计算机实现的方法,其中所述客户计算实例与所述移动装置进行通信,而无需遍历运载未订阅所述通信服务提供商网络的用户的流量的网络。
207.16.根据条款13-15中任一项所述的计算机实现的方法,其中所述提供商底层扩展经由通过所述通信服务提供商网络的安全隧道与所述云提供商网络通信。
208.17.根据条款13-16中任一项所述的计算机实现的方法,其中所述提供商底层扩展连接到所述通信服务提供商网络的无线电接入网络的网络部件、所述通信服务提供商网络的聚合站点的网络部件、或所述通信服务提供商网络的核心网络的网络部件中的至少一个。
209.18.根据条款13-17中任一项所述的计算机实现的方法,其中所述客户计算实例是虚拟机或容器中的至少一个。
210.19.根据条款13-18中任一项所述的计算机实现的方法,其还包括将互联网协议地址与所述客户计算实例相关联,其中所述互联网协议地址来自分配给所述提供商底层扩展的所述通信服务提供商网络的所述地址空间中的ip地址池。
211.20.根据条款13-19中任一项所述的计算机实现的方法,其中所述控制平面服务是硬件虚拟化服务。
212.因此,说明书和附图应被认为是说明性的而不是限制性的。然而,将显而易见的是,在不脱离如在权利要求中阐述的本公开的更宽泛精神和范围的情况下,可对其做出各种修改和改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1