使用分解计算资源迁移虚拟机的技术的制作方法

文档序号:16530290发布日期:2019-01-05 10:41阅读:217来源:国知局
使用分解计算资源迁移虚拟机的技术的制作方法

这里描述的示例通常涉及网络中的节点、服务器或计算平台之间的虚拟机(vm)迁移。



背景技术:

由计算节点、底座(sled)、服务器或计算平台托管的虚拟机(vm)的实时迁移是用于诸如数据中心的系统实现容错能力、灵活资源管理或动态工作负载重新平衡的重要特征。实时迁移可能包括迁移由源服务器托管的vm以由目的地服务器托管。vm的迁移可能在源服务器和目的地服务器之间的网络连接上进行。如果在主机服务器之间进行迁移期间,由迁移的vm正在执行的一个或多个应用程序继续由vm执行,则迁移可被视为“实时”迁移。如果一个或多个应用程序在原始或源服务器上挂起,然后在迁移完成后在目的地服务器上恢复,则迁移可能被视为“离线”迁移。

附图说明

图1图示了示例系统。

图2图示了示例性第一方案。

图3图示了示例性第一虚拟机(vm)流程。

图4示出了示例性第二方案。

图5示出了示例第二vm流程。

图6示出了第一装置的示例框图。

图7图示了第一逻辑流程的示例。

图8示出了第一存储介质的示例。

图9示出了第二装置的示例框图。

图10示出了第二逻辑流程的示例。

图11示出了第二存储介质的示例。

图12图示了示例计算平台。

具体实施方式

如本公开所设想的,如果在迁移期间由vm执行的应用程序和/或客户操作系统(os)内核继续被vm执行,则vm从源服务器到目的地服务器的实时迁移可以被认为是实时的,或者如果在迁移过程中暂停了一个或多个应用程序并且在迁移完成后在目的地服务器上恢复,则vm从源服务器到目的地服务器的迁移可以被认为是离线的。通常,各个源/目的地服务器分离地支持的vm管理程序或vm管理器(vmm)可以被布置为协调服务器之间vm的实时或离线迁移。

vm的实时迁移的大部分可以是包括由vm在执行一个或多个应用程序时使用的存储器的vm状态信息。在一些示例中,实时迁移可以涉及两阶段过程。第一阶段可以是预存储器复制阶段,其包括复制分配给vm的存储器(例如,易失性存储器)以执行一个或多个应用程序并且将分配的存储器(例如,脏页)从原始或源服务器改变到目的地服务器,同时vm仍在执行一个或多个应用程序,或者vm仍在源服务器上运行。第一或预存储器复制阶段可以继续,直到源服务器上剩余的脏页降到阈值以下。第二阶段可以包括最终复制阶段,该阶段将剩余的状态信息(例如,剩余脏页、处理器状态或输入/输出状态)快速复制到目的地服务器,然后在目的地服务器处快速加载vm的该剩余状态信息,使得在一个或多个应用程序上几乎没有中断。这两个阶段的信息复制可以通过在源服务器和目的地服务器之间维护的网络连接来进行。

在最终复制阶段花费的时间量是重要的,因为由vm执行的一个或多个应用程序可能在这段时间内短暂地停止。因此,执行应用程序的同时提供的任何服务可能暂时无响应。在预存储器复制阶段花费的时间量也很重要,因为此阶段可能对完成实时迁移的总时间有最大的时间影响。如果预存储器复制阶段花费太长时间或需要太多复制事件,则它可能超时或达到阈值数量的复制事件。超时或达到阈值可以被称为“合并失败”。在操作场景中,若由迁移的vm执行的一个或多个应用程序可以支持由软件定义网络(sdn)和/或电信网络(例如,用于4g或5g无线通信)提供的服务,数据/控制分组可以快速到达vm。高延迟迁移对于这样的操作场景可能是有害的,并且可能导致不可接受的破坏和/或sdn和/或电信网络提供的服务的用户的不良用户体验。

在一些示例中,如果对vm的实时迁移的尝试导致合并失败,则可以暂停在vm处执行的一个或多个应用程序,并且可以代之以使用离线迁移。由于服务中断持续时间较长,离线迁移不太理想。

根据一些示例,可以在涉及欧洲电信标准协会(etsi)网络功能虚拟化(nfv)或sdn的操作场景中利用由各个vm执行的一个或多个应用程序支持的虚拟网络功能(vnf)。nfv或sdn中的vnf可以高速处理数据/控制分组,并且可以在主动-主动或主动-被动模式下运行,以实现高可用性(ha)和故障切换/容错用途。在这些操作场景中,支持vnf的一个或多个应用程序的正常运行时间非常重要,且很难在没有数据/控制分组丢失的情况下完成实时迁移。这可能会导致服务提供商从sdn和/或nfv使用模式离开,并移回到基于专用和/或专有硬件的使用模式。

图1示出了示例系统100。在一些示例中,如图1中所示,系统100包括通过网络150与目的地服务器120耦合的源服务器110。对于这些示例,系统100可以是数据中心的一部分,并且网络150可以表示内部网络的元件,这些元件通信地耦合包括在数据中心中的多个服务器,例如通信地耦合源服务器110与包括目的地服务器120的各种其他服务器或节点。这些互连的服务器或节点可以向一个或多个客户端或客户提供网络服务作为sdn或etsinfv基础设施的一部分。

根据一些示例,源服务器110和目的地服务器120均可以是数据中心中的由分解的资源组成的节点(即,由来自计算底座的计算资源、来自存储底座的存储资源、来自加速器底座的加速器资源组成的节点)以支持分离地执行一个或多个vnf应用程序的vm作为向客户端或客户提供网络服务的一部分。例如,vm130-1至130-n(其中“n”表示任何大于2的正整数)和vm180-1至180-m(其中“m”表示任何大于1的正整数)可由与相应的源服务器110和目的地服务器120相关联的组合计算资源来支持。源服务器110处的vm130-1至130-n可由诸如vmm112的vm管理器(vmm)或管理程序来管理或控制。目的地服务器120处的vm180-1到180-m可以由vmm122管理或控制。在其他示例中,源服务器110或目的地服务器120均可以被配置为具有包含在相同的物理外壳或容器内的各种上述计算资源的更传统的服务器。

在一些示例中,如图1所示,用于源服务器110的组合计算资源中的至少一些可以位于计算底座140处,并且可以包括用于支持vm130-1至130-n的具有分离地分配的存储器144的部分的诸如cpu/核心142-1至142-n的处理元件。存储器144的分配的部分,诸如分配145-1到145-n,可以被相应的cpu/核心142-1到142-n访问,并且可以为分别支持的vm130-1到130-n维护存储器页面。用于vm130-1至130-n的存储器页面可以包括一个或多个vnf应用程序(应用)132-1至132-n的相应的状态信息以及相应的客户操作系统(os)134-1至134-n的状态信息。给定vm的状态信息可以反映vm在执行一个或多个vnf应用程序以履行工作负载作为提供网络服务的一部分时的当前状态。网络服务可以包括但不限于数据库网络服务、网站托管网络服务、路由网络服务、电子邮件网络服务、防火墙服务、域名服务(dns)、高速缓存服务、网络地址转换(nat)服务或病毒扫描网络服务。

根据一些示例,如图1所示,用于目的地服务器120的至少一些组合计算资源可以位于计算底座170处并且可以包括用于支持vm180-1至180-m并用于支持迁移的vm130-1的具有存储器174的分配的部分的cpu/核心172-1至172-n。存储器174的分配的部分,诸如分配175-1至175-n,可以被相应的cpu/核心142-1至142-n访问,并且可以分别为支持的vm130-1和vm180-2至180-m维护存储器页面。用于vm130-1和vm180-1至180-m的存储器页面可以包括一个或多个vnf应用132-1和vnf应用182-1至182-m的相应的状态信息以及相应的客户os134-1和客户os184-1到184-m的状态信息。状态信息可以反映vm130-1和vm180-1至180-m在执行相应的vnf应用132-1和vnf应用182-1至182-m以履行工作负载作为提供网络服务的一部分时的操作状态,诸如先前针对源服务器110所提及的那些。

在一些示例中,cpu/核心142-1至142-n或cpu/核心172-1至172-n可以单独地或共同地表示各种市场上可买到的处理器,包括但不限于atomtmcore(2)corei3、corei5、corei7、处理器;以及类似的处理器。

在一些示例中,如图1所示,存储底座160可以包括存储器164。如下面更多描述的,存储底座160可以表示被布置为支持在源服务器110或目的地服务器120处的vm的组合计算资源的另一部分。例如,存储底座160可以表示可以位于与源服务器110的计算底座140或目的地服务器120的计算底座170相关的不同物理位置的分解的计算资源。例如,存储底座160可以被保持在数据中心中的第一机柜中,而计算底座140和170可以位于数据中心的相应第二或第三机柜中。可替代地,存储底座160、计算底座140和计算底座170可位于同一机柜中,但可位于同一机柜的分离的机架、架子或层级中。在这些示例中的任一个中,存储底座160可以经由网络150与计算底座140和170通信地耦合。

根据一些示例,资源管理器190可以包括促进系统100的如图1所示的分解计算资源的组合的逻辑和/或特征。资源管理器190的逻辑和/或特征可以将数据中心中的多个计算底座当中的计算底座140分配给源服务器110,并且将多个计算底座中的计算底座170分配给目的地服务器120。尽管在图1中未示出,资源管理器190可以分配其他计算资源,例如但不限于联网资源(例如,物理端口、网络交换能力、网络接口卡、加速器等)。在一些示例中,各个计算底座140处的存储器144和存储器174可以是与相应cpu/核心142-1至142-n或172-1至172-m紧密接近放置以最小化延迟的相对较快存取存储器的类型。包括在存储器144或存储器174中的相对较快存取存储器的类型可以包括但不限于诸如动态随机存取存储器(dram)或静态随机存取存储器(sram)的易失性类型的存储器。对于这些示例,图1中示为分配145-1至145-n的存储器144的分离的部分可以被分配给vm130-1至130-n作为由cpu/核心142-1至142-n用于支持在源服务器110处的这些vm的系统存储器的类型。而且,图1中示为分配175-2至175-n的存储器174的分离的部分可以分配给vm180-1至180-n作为由cpu/核心142-1至142-n用于支持在目的地服务器120处的这些vm的系统存储器的类型。

在一些示例中,存储底座160可以由资源管理器190的逻辑和/或特征分配以支持由数据中心中的服务器(诸如源服务器110和目的地服务器120)托管的vm。对于这些示例,存储器164可以包括能够提供额外系统存储器以增加计算底座140处的存储器144或增加计算底座170处的存储器174的存储器类型。存储器164还可包括能够为源服务器110或目的地服务器120所支持的vm提供存储能力的存储器类型。这些类型的存储器可以包括易失性存储器、非易失性存储器或易失性和非易失性类型的存储器的组合。易失性类型的存储器可以包括但不限于dram、sram、晶闸管ram(tram)或零电容器ram(zram)。非易失性类型的存储器可以包括具有三维(3d)交叉点存储器结构的字节或块可寻址类型的非易失性存储器,所述三维(3d)交叉点存储器结构的字节或块可寻址类型的非易失性存储器,下文称为“3d交叉点存储器,3d交叉点存储器结构包括硫族化物相变材料(例如,硫属化物玻璃)。非易失性类型的存储器还可以包括其他类型的字节或块可寻址非易失性存储器,例如但不限于多阈值级nand闪存、nor闪存、单级或多级相变存储器(pcm)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(fetram)、结合忆阻器技术的磁阻随机存取存储器(mram)、自旋转移力矩mram(stt-mram)或上述任意组合。

根据一些示例,包含在计算底座140处的存储器144中或者包括在计算底座170的存储器174中的相对较快的存储器类型可以被分配给vm作为将存储器144和存储器174分类为近存储器的两级存储器(2lm)架构的一部分。包括在存储底座160中的存储器164可被分配以支持vm作为可将存储器164分类为远存储器的2lm架构的一部分。

在2lm架构中用作近存储器的存储器144或存储器174的存储器容量或大小可以被设定大小以用于取决于各种因素的最佳的低延迟性能。对于由每个vm执行的不同的vnf应用程序,这些因素可能有所不同,并且存储器144或存储器174的部分可以被分配以履行工作负载作为提供网络服务的一部分。例如,包含在存储器144或存储器174中的dram或sram可以具有几千兆字节(gb)到几百gb的容量。通常,由于与能耗、冷却和存储密度相关联的运行成本,与远存储器相比,2lm架构中的近存储器可能具有显著更低的存储器容量。而且,因为延迟密集型存储器需求可能主要通过近存储器来满足,所以远存储器可能不需要紧密靠近计算底座140,并且还可以包括更高延迟类型的存储器,诸如各种类型的非易失性存储器(例如,3d交叉点存储器)。这些各种类型的非易失性存储器可以具有与能量消耗和冷却相关的较低的运行成本,并且还可以具有实质上较高的存储器密度(例如,存储器芯片的每个区域的更多字节)。从给定的vnf应用程序、vm、客户os或vmm的角度来看,存储器164可以被分配为字节可寻址ram(例如,系统存储器的一部分)和块可寻址存储装置(例如,作为固态驱动器(ssd)。

在一些示例中,源服务器110处的vmm112的迁移逻辑113和vmm122的迁移逻辑123可以分别包括能够促进vm从源服务器110到目的地服务器120的实时迁移的逻辑和/或特征。例如,迁移逻辑113和迁移逻辑123可以通过使用具有作为近存储器的存储器144和存储器174和作为远存储器的存储器164的2lm架构来促进vm130-1从源服务器110到目的地服务器120的实时迁移。如下面更多描述的,各种方案可以利用这种2lm架构来减少实时迁移时间并最小化(如果不能消除的话)离线迁移,如果在源和目的地服务器之间移动vm存储器页面的复制阶段导致实时迁移期间合并失败则导致离线迁移。

根据一些示例,如图1所示,vm130-1可以通过使用这些各种方案从源服务器110实时迁移到目的地服务器120,这些方案利用具有被布置为近存储器的存储器144和存储器174和被布置为远存储器的存储器164的2lm架构。这些各种方案可以包括至少暂时分配存储器144的部分(例如,分配145-1)、存储器164的部分(分配165-1)和存储器174的部分(例如分配175-1)以在整个实时迁移过程中至少临时存储vm130-1的存储器页面。如前所述,vm130-1的存储器页面可以包括vnf应用132-1和客户os134-1的状态信息。各种方案可以加速vm130-1的实时迁移,vm130-1的实时迁移可以响应于诸如负载平衡、雾化/边缘计算或系统维护之类的原因而被启动。vm130-1在存储器164和存储器174处的存储器页面的短划线框表示在实时迁移期间这些存储器页面的瞬时移动。此外,vm130-1、vnf应用132-1和客户os134-1的短划线框表示仅在实时迁移完成之前vm130-1到目的地服务器120的实时迁移。

图2示出了示例方案200。在一些示例中,方案200可以描绘vm存储器页面如何在与第一计算底座一起位于第一服务器的第一近存储器与位于存储底座的远存储器之间移动然后移动到与第二计算底座一起位于第二服务器处的第二近存储器以便促进vm在第一服务器和第二服务器之间实时迁移的示例。对于这些示例,如上面针对图1所述的vm130-1存储器页面在图2中示出为用于示例方案200。

根据一些示例,系统100的资源管理器190和/或管理逻辑可以确定vm130-1需要从源服务器110迁移到目的地服务器120(例如,用于负载平衡)。作为实时迁移的一部分,vmm112的迁移逻辑113可以使vm130-1在存储器144处的存储器页面被复制到存储器164,同时vm130-1继续在源服务器110处使用计算底座140执行vnf应用132-1。如上所述,存储器144和存储器164可以是存储器144充当近存储器而存储器164充当远存储器的2lm架构的一部分。对于这些示例,资源管理器190可以已经分配了存储器164的一部分供vm130-1在执行一个或多个vnf应用132-1时使用,而不管哪个服务器托管vm130-1。在将vm130-1存储器页面初始复制到存储器164之后,所有存储器页面改变(脏存储器页面)将直接转到存储器164。

在一些示例中,资源管理器190还可以向目的地服务器120处的vmm122的迁移逻辑123发送指示:vm130-1将被实时迁移到目的地服务器120。该指示例如可以包括存储器分配指示,指示存储器164的分配165-1已被布置为在实时迁移期间从源服务器110的元件接收vm130-1存储器页面。例如,vm130-1存储器页面最初从存储器144的分配145-1复制,然后存储在一个或多个vnf应用132-1在源服务器110处继续执行时产生的后续存储器页面变化。迁移逻辑123可以然后能够将vm130-1存储器页面从存储器164复制到在目的地服务器120处与计算底座170一起维护的存储器174的分配175-1。一旦vm132-1存储器页面被复制到存储器174,vnf应用132-1和客户os134-1的状态信息可被cpu/核心172-1使用来加载cpu状态,以用于在目的地服务器120处由vm130-1执行vnf应用。迁移逻辑123然后可以向迁移逻辑113指示已经加载了cpu状态。cpu状态的加载可以指示vnf应用132-1现在可以由目的地服务器120处的vm130-1执行。用于由vnf应用132-1处理的数据业务然后可以重新路由到目的地服务器120。在数据业务的重新路由之后,可以在源服务器110处禁用vm130-1,并且可以重新分配诸如cpu/核心142-1之类的计算资源以支持其他vm。现在可以将vm130-1的实时迁移视为已完成。

图3图示了示例vm迁移流程300。在一些示例中,vm迁移流程300可以描述利用2lm架构的服务器之间的vm迁移的逻辑流程,该2lm架构包括使用与计算底座一起位于源服务器处的近存储器以及使用作为远存储器的分解存储器,如上面对于图1以及关于图2所示的方案200所提到的。对于这些示例,系统100的元件(诸如但不限于源服务器110、目的地服务器120、vm130-1、迁移逻辑113/123、计算底座140/170、存储底座160或资源管理器190)可以与vm迁移流300的至少部分相关联和/或可以实现vm迁移流300的至少部分。但是,示例不限于系统100的元件与vm迁移流300的至少部分相关联和/或实现vm迁移流300的至少部分。

从框310开始,可以开始或启动vm130-1从源服务器110到目的地服务器120的实时迁移。在一些示例中,如针对方案200所提及的,系统100的资源管理器190和/或管理逻辑可以确定vm130-1需要从源服务器110迁移到目的地服务器120(例如,用于负载平衡)并且可以开始或启动实时迁移。

转到框320,迁移逻辑113可以使存储在存储器144的分配145-1中的vm130-1存储器页面被复制到存储底座160处的存储器164的分配165-1。迁移逻辑113还可以使vm130-1在存储器144处的存储器页面被复制到存储器164,同时vm130-1继续使用计算底座140在源服务器110处执行vnf应用132-1。

转到框330,目的地服务器120处的迁移逻辑123可以接收vm130-1将被迁移到计算底座170所支持的目的地服务器120的指示。迁移逻辑123还可以接收vm130-1存储器页面已被复制到存储底座160的存储器164的指示以便将cpu状态发送到目的地服务器120处的计算底座170的存储器174。在一些示例中,被复制到存储器164处的分配165-1的vm130-1存储器页面可以包括vnf应用132-1和客户os134-1的状态信息,其可以与用于支持vm130-1在目的地服务器120处执行vnf应用132-1的cpu/核心172-1的cpu状态相关联。

转到框340,目的地服务器120处的迁移逻辑可以使用包括在被复制到存储器中的分配165-1的vm130-1的存储器页面中的vnf应用132-1的状态信息,来加载cpu/核心172-1的cpu状态以支持在目的地服务器120处的vm130-1执行vnf应用132-1。

转到框350,迁移逻辑123可以向迁移逻辑113指示cpu状态已被加载。如前所述,cpu状态的加载可以指示vnf应用132-1现在可以由目的地服务器120处的vm130-1执行。然后,由vnf应用132-1进行处理的数据业务可以重新路由到目的地服务器120。在重新路由数据业务之后,vm130-1到目的地服务器120的实时迁移现在可以被认为已完成。

图4示出了示例方案400。在一些示例中,方案400可以描绘vm存储器页面如何可以在与第一计算底座一起位于第一服务器的第一近存储器与位于存储底座的远存储器之间移动然后移动到与第二计算底座一起位于第二服务器处的第二近存储器以便促进vm在第一服务器和第二服务器之间的实时迁移的另一示例。类似于上面针对图2所描述的方案200,如上文关于图1所提到的vm130-1存储器页面如图4中关于方案400所示。可以在以下情况下实现方案400:需要更高性能,并且如上面对于方案200和逻辑流300所描述的利用远存储器来至少临时存储脏存储器页面可能导致在实时迁移期间由vm130-1执行一个或多个vnf应用程序的存储器延迟的不可接受的增加。这可能发生在可能需要以如此高的速率处理数据/控制分组以致增加的存储器延迟可能导致以比可在第一或源服务器处的第一近存储器与远存储器之间且然后在远存储器与第二或目的地服务器处的第二近存储器之间可接受地传送脏存储器页面更快的速率产生脏存储器页面的情况下。

根据一些示例,用于系统100的资源管理器190和/或管理逻辑可以确定需要将vm130-1从源服务器110迁移到目的地服务器120。对于这些示例,迁移逻辑113可以激活直写模式,该模式可以使得对存储器144处的vm130-1存储器页面(脏页面)的所有写入或改变能够在存储器164中以基本上立即的方式可见。因此,如图4所示,vm130-1的存储器页面可以被复制到存储器164,并且随后在vm130-1在源服务器110处执行vnf应用132-1时可以同时在存储器144和存储器164中维护存储器页面改变。这可以保持vm130-1的操作状态的远存储器映像是最新的(例如,类似于如何可以使用板上高速缓存实现独立磁盘冗余阵列(raid)控制器处的直写模式)。因此,后续或未来的vm130-1存储器页面变化被隐式镜像在存储器164中。

在一些示例中,类似于方案200,资源管理器190还可以向目的地服务器120处的vmm122的迁移逻辑123发送指示:vm130-1将被实时迁移到目的地服务器120。该指示例如可以包括存储器分配指示以指示存储器164的分配165-1已被布置为在实时迁移期间从源服务器110的元件接收vm130-1存储器页面。然而,对于方案400,资源管理器190可以指示并行处理可以在加载cpu状态之后发生,并且要处理的业务被重新路由到目的地服务器120。目的地服务器120处的vm130-1然后可以开始执行vnf应用132-1,以便高速缓存vnf应用132-1和/或客户os134-1的最关键结构,以使得能够在数据业务仅被路由到目的地服务器120之前尽早处理数据业务。根据一些示例中,可以使用sdn方法来配置源服务器110和目的地服务器120之间的路由基础设施,该sdn方法可以包括从目的地服务器120处的vm130-1中丢弃已处理的分组,直到实时迁移被认为已完成并且进行了到目的地服务器120的切换。对最关键结构的高速缓存可以允许目的地服务器120处的vm130-1以基本上无缝的方式在背景模式中提升(rampup)。

图5示出了示例性vm迁移流程500。在一些示例中,vm迁移流程500可描绘利用2lm架构的服务器之间的vm迁移的逻辑流程,所述2lm架构包括使用与计算底座一起位于源服务器处的近存储器以及使用作为远存储器的分解存储器,如上面对于图1以及关于图4所示的方案400所提到的那样。对于这些示例,系统100的元件(诸如但不限于源服务器110、目的地服务器120、vm130-1、迁移逻辑113/123、计算底座140/170、存储底座160或资源管理器190)可以与vm迁移流程500的至少部分相关联和/或可以实现vm迁移流程500的至少部分。尽管示例不限于系统100的元件与vm迁移流程500的至少部分相关联和/或实现vm迁移流程500的至少部分。

在框510开始,可以开始vm130-1从源服务器110到目的地服务器120的实时迁移。在一些示例中,如针对方案200所提及的,系统100的资源管理器190和/或管理逻辑可以确定vm130-1需要从源服务器110迁移到目的地服务器120(例如,用于负载平衡)。

转到框520,迁移逻辑113可以使存储在存储器144的分配145-1中的初始vm130-1存储器页面被复制到存储器底座160处的存储器164的分配165-1。

转到框530,迁移逻辑113可以切换用作近存储器的存储器144以在直写模式下操作。

转到框540,如上所述,直写模式通过对后续vm130-1存储器页面改变的复制使得对存储器144处的vm130-1存储器页面的所有写入或改变能够在用作远存储器的存储器164中以基本上立即的方式看到。因此,在服务器110处的vnf应用132-1的继续执行期间引起的后续vm130-1存储器页面改变被镜像到存储器164的远存储器中。

转到框550,目的地服务器120处的迁移逻辑123可以接收vm130-1将被迁移到计算底座170所支持的目的地服务器120的指示。迁移逻辑123还可以接收vm130-1存储器页面已经被复制到存储底座160的存储器164中的指示,以便将cpu状态发送到目的地服务器120处的计算底座170的存储器174以提前激活vm130-1。在一些示例中,可以将cpu状态从存储器174的分配175-1加载到cpu/核心172-1,并且可以在源服务器110和目的地服务器120处并行处理一些分组。在将数据业务从在源服务器110处执行vnf应用132-1的vm130-1重新路由到在目的地服务器120处执行vnf应用132-1的vm130-1之前,由在目的地服务器120处的vm130-1执行的vnf应用132-1处理的分组可以被丢弃。

转到框560,vm130-1执行vnf应用132-1时的短暂暂停可能发生在源服务器110处。在一些示例中,源服务器110处的vm130-1切换到只读模式(例如,停止处理数据业务),并且数据业务被重新路由以使得在目的地服务器120处的vm130-1执行的vnf应用132-1处理重路由的数据业务的分组。对于这个示例,可以存在硬件一致性协议以保持通过包括用于vm130-1存储器页面的近存储器174和远存储器164的2lm架构的变化的同步,因为这些存储器页面在发生实时迁移时同时改变。

转到框570,迁移逻辑123可以向迁移逻辑113指示已经加载了cpu状态,并且数据业务已经被重新路由以供在目的地服务器120处的vm130-1执行的vnf应用132-1进行处理。vm130-1到目的地服务器120的实时迁移现在可被认为已完成。

根据一些示例,可以实现诸如但不限于安全防护扩展(sgx)、基于vm的存储器加密(vm-tme)和总存储器加密(tme)的公司技术的类型以提供在源服务器处执行一个或多个vnf应用程序的vm与在目的地服务器处执行一个或多个vnf应用程序的vm之间执行密钥管理的附加步骤,以在实时迁移期间提供数据安全性。对于这些示例,vm/vnf可以能够将密钥配置到维护在支持源和目的地服务器处的vm/vnf的计算底座处的相应的存储器加密引擎(mee)中,以启用远存储器加密。

在一些示例中,附加步骤可以包括被配置用于实时迁移的vm/vnf。源或目的地服务器处的这些实时迁移配置的vm/vnf可以使用可以与vm/vnf中的每个的安全飞地一起运行的现有协议(例如传输层安全性(tls)握手或sgx认证协议)。安全飞地可以防止密钥交换、凭证和密钥生成暴露于非安全访问。可以使用例如sgx认证协议将安全飞地配置为具有适当的安全凭证,安全飞地还可以将这些安全凭证用于实时迁移加密密钥生成。这些生成的密钥也可以充当执行实时迁移的“授权”。

根据一些示例,附加步骤还可以包括将密钥配置到mee的vm/vnf。根据英特尔公司的sgx技术,mee可以位于计算底座的存储器控制器中,以及位于cpu/核心处理器封装边界内,以便于维护sgx和tme安全属性。

在一些备选示例中,实时迁移可以允许在需要实时迁移的vm/vnf飞地之间利用预共享密钥(预)配置受影响的安全飞地。此预共享密钥可以作为sgx认证协议的一部分递送,也可以作为sdn实时迁移流程的一部分递送。

根据一些其他替代示例,被转化的安全性和可管理性(csme)/管理引擎(me)可以通过中央安全服务器执行带外密钥管理并且将sgx加密和tme密钥安全地配置到维护在计算底座的mee。在某些运营商/服务提供商部署中,这可以使用专门用于安全平台配置的安全带外管理网络来完成。

图6图示了装置600的示例框图。尽管图6中示出的装置600在特定拓扑中具有有限数量的元件,但可以理解的是,装置600可以根据给定实现方式的需要在替代拓扑中包括更多或更少元件。

根据一些示例,装置600可以与vmm的逻辑和/或特征(例如,如图1所示的vmm112的迁移逻辑113)相关联并且可以由电路620支持。对于这些示例,电路620可以被并入在源服务器中维护的电路、处理器电路、处理元件、cpu或核心内(例如,如图1中所示的计算底座140的一部分)。电路620可以被布置为执行一个或多个软件或固件或硬件实现的模块、组件或逻辑622-a。在该上下文中,模块、组件或逻辑可以互换使用。值得注意的是,本文中使用的“a”和“b”和“c”以及类似的指示符旨在是表示任何正整数的变量。因此,例如,如果实现方式设置a=5的值,则用于逻辑622-a的全套软件、固件和/或硬件可以包括逻辑622-1、622-2、622-3、622-4或622-5。所呈现的示例在此上下文中不受限制,并且遍及使用的不同变量可以表示相同或不同的整数值。而且,“逻辑”、“模块”或“组件”还可以包括存储在计算机可读介质中的软件/固件,并且尽管图6中示出了逻辑的类型为离散框,这不会将这些组件限制为存储在不同的计算机可读介质组件(例如,单独的存储器等)中。

根据一些示例,电路620可以包括处理器、处理器电路、处理器电路系统、处理器元件、核心或cpu。电路620通常可以被布置为执行或实现一个或多个模块、组件或逻辑622-a。电路620可以是任何各种商业上可用的处理器的全部或至少一部分,包括但不限于core(2)corei3、corei5、corei7、xeon处理器;以及类似的处理器。根据一些示例,电路620还可以包括专用集成电路(asic),并且至少一些逻辑622-a可以被实现为asic的硬件元件。根据一些示例,电路620还可以包括现场可编程门阵列(fpga),并且至少一些逻辑622-a可以被实现为fpga的硬件元件。

根据一些示例,装置600可以包括启动逻辑622-1。启动逻辑622-1可以由电路620执行或实现以启动由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移。对于这些示例,一个或多个第一处理元件和第一存储器可以由源服务器托管。实时迁移可以使vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持。一个或多个第二处理元件和第二存储器可以由目的地服务器托管。实时迁移的指示可以被包括在实时迁移指示605中。在一个示例中,实时迁移指示605可以由数据中心的资源管理器发送,该数据中心包括用于负载平衡目的的源服务器和目的地服务器。

在一些示例中,装置600可以包括复制逻辑622-2。复制逻辑622-2可以由电路620执行或实现以将vm存储器页面复制到第三存储器的分配的部分。对于这些示例,vm存储器页面可以与执行应用程序同时由一个或多个第一处理元件支持的vm相关联。所述第三存储器可以被布置为用作所述一个或多个第一处理元件和所述一个或多个第二处理元件的远存储器,而所述第一存储器和所述第二存储器被布置为用作相应的一个或多个第一和第二处理元素元件的相应的近存储器。在一些示例中,vm存储器页面630可以包括要被复制到第三存储器的vm存储器页面。

根据一些示例,复制逻辑622-2还可以激活直写模式以使得用作一个或多个第一处理元件的近存储器的第一存储器中维持的后续vm存储器页面变化能够被复制到第三存储器,然后复制到用作一个或多个第二处理元件的近存储器的第二存储器。对于这些示例,可以在高性能情况下激活直写模式,以允许迁移的vm在目的地服务器处提升正在执行的应用程序,在应用程序提升同时共同处理源服务器和目的地服务器处的数据业务(例如,将关键结构复制到第二存储器中),然后使目标为该应用程序的数据业务仅路由到目的地服务器。

根据一些示例,装置600可以包括指示逻辑622-3。指示逻辑622-3可以由电路620执行或实现,以向目的地服务器指示vm存储器页面已经被复制到第三存储器的分配的部分以使得vm存储器页面被复制到第二存储器的分配的部分。对于这些示例,vm存储器页面可以包括由一个或多个第二处理元件用于支持vm执行应用程序的状态信息。在一些示例中,分配的部分引用640可以是vm存储器页面已被复制到第三存储器的分配的部分的指示。分配的部分引用640可以包括对vm存储器页面已被复制到的第三存储器的分配的部分的引用。

在一些示例中,装置600可以包括接收逻辑622-4。接收逻辑622-4可由电路620执行或实现以接收状态信息已被用于加载处理状态以使得一个或多个第二处理元件能够支持vm执行应用程序的指示。对于这些示例,该指示可以被包括在状态信息加载指示610中。

根据一些示例,装置600可以包括路由逻辑622-5。路由逻辑622-5可以由电路620执行或实现,以使得数据业务被路由以供由一个或多个第二处理元件支持的vm执行的应用程序进行处理。对于这些示例,路由的数据业务650可以包括使得数据业务被路由到目的地服务器以进行处理的信息。

装置600的各种组件可以通过各种类型的通信介质彼此通信地耦合以协调操作。协调可以涉及信息的单向或双向交换。例如,组件可以以通过通信介质传送的信号的形式传送信息。该信息可以被实现为分配给各种信号线的信号。在这种分配中,每个消息都是一个信号。然而,其他实施例可以可选地使用数据消息。这种数据消息可以通过各种连接发送。示例连接包括并行接口、串行接口和总线接口。

图7图示了逻辑流程700的示例。逻辑流程700可以表示由诸如装置600的本文描述的一个或多个逻辑、特征或设备执行的一些或全部操作。更具体地,逻辑流程700可以通过至少启动逻辑622-1、复制逻辑622-2、指示逻辑622-3、接收逻辑622-4或路由逻辑622-5来实现。

根据一些示例,框702处的逻辑流程700可以启动由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移,一个或多个第一处理元件和第一存储器由所述源服务器托管,所述实时迁移使得所述vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持,所述一个或多个第二处理元件和所述第二存储器由目的地服务器托管。对于这些示例,启动逻辑622-1可以启动实时迁移。

在一些示例中,框704处的逻辑流程700可将vm存储器页面复制到第三存储器的分配的部分,vm存储器页面与执行应用程序同时由一个或多个第一处理元件支持的vm相关联,所述第三存储器被布置为用作所述一个或多个第一处理元件和所述一个或多个第二处理元件的远存储器,而所述第一存储器和所述第二存储器被布置为用作相应的一个或多个第一处理元件和第二处理元件的相应的近存储器。对于这些示例,复制逻辑622-2可以将vm存储器页面复制到第三存储器的分配的部分。

根据一些示例,框706处的逻辑流程700可以向目的地服务器指示vm存储器页面已经被复制到第三存储器的分配的部分,以使vm存储器页面被复制到所述第二存储器的分配的部分,所述vm存储器页面包括由所述一个或多个第二处理元件用于支持所述vm在所述目的地服务器处执行所述应用程序的状态信息。对于这些示例,指示逻辑622-3可以向目的地服务器指示。

在一些示例中,框708处的逻辑流程700可以接收状态信息已被用于加载处理状态以使得一个或多个第二处理元件支持vm执行应用程序的指示。对于这些示例,接收逻辑622-4可以接收该指示。

根据一些示例,框710处的逻辑流程700可以使得数据业务被路由以供由一个或多个第二处理元件所支持的vm执行的应用程序进行处理。对于这些示例,路由逻辑622-5可以使数据业务被路由以由应用程序处理。

图8示出了存储介质800的示例。存储介质800可以包括制品。在一些示例中,存储介质800可以包括任何非暂时性计算机可读介质或机器可读介质,诸如光学、磁性或半导体存储装置。存储介质800可以存储各种类型的计算机可执行指令,诸如用于实现逻辑流800的指令。计算机可读或机器可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。计算机可执行指令的示例可以包括任何合适类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码等。示例在该上下文中不受限制。

图9示出了装置900的示例框图。尽管图9中示出的装置900在特定拓扑中具有有限数量的元件,但可以意识到,装置900可以在替代拓扑中根据给定实现的需要而包括更多或更少元件。

根据一些示例,装置900可以与vmm的逻辑和/或特征(例如,如图1所示的vmm122的迁移逻辑123)相关联并且可以由电路920支持。对于这些示例,电路920可以并入维护在目的地服务器的电路、处理器电路、处理元件、cpu或核心内(例如,如图1中所示的计算底座170的一部分)。电路920可以被布置为执行一个或多个软件、固件或硬件实现的模块、组件或逻辑922-a。在该上下文中,模块、组件或逻辑可以互换使用。值得注意的是,本文中使用的“a”和“b”和“c”以及类似的指示符旨在是表示任何正整数的变量。因此,例如,如果实现方式设置a=5的值,则用于逻辑922-a的全套的软件、固件和/或硬件可以包括逻辑922-1、922-2、922-3、922-4或922-5。所呈现的示例在此上下文中不受限制,并且遍及使用的不同变量可以表示相同或不同的整数值。而且,“逻辑”、“模块”或“组件”还可以包括存储在计算机可读介质中的软件/固件,并且尽管图9中示出了逻辑的类型为离散的框,这不将这些组件限制为存储在不同的计算机可读介质组件(例如,单独的存储器等)中。

根据一些示例,电路920可以包括处理器、处理器电路或处理器电路系统。电路920通常可以被布置为执行或实现一个或多个模块、组件或逻辑922-a。电路920可以是各种市售处理器中的任一种的全部或至少一部分,以包括但不限于以上针对装置900提及的处理器。而且,根据一些示例,电路920还可以是asic并且至少一些逻辑922-a可以被实现为asic的硬件元件。根据一些示例,电路920还可以包括fpga,并且至少一些逻辑922-a可以被实现为fpga的硬件元件。

在一些示例中,装置900可以包括接收逻辑922-1。接收逻辑922-1可以由电路920执行或实现以在目的地服务器处从源服务器接收已经启动使得由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移的指示。对于这些示例,一个或多个第一处理元件和第一存储器可以由源服务器托管。实时迁移可以使vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持。一个或多个第二处理元件和第二存储器可以由目的地服务器托管。根据一些示例,实时迁移的指示可以被包括在实时迁移指示905中。在一个示例中,实时迁移指示905可以由数据中心的资源管理器发送用于负载平衡目的,该数据中心包括源服务器和目的地服务器。

根据一些示例,装置900可以包括复制逻辑922-2。复制逻辑922-2可以由电路920执行或实现以接收对vm存储器页面已经从第一存储器的分配的部分复制到的第三存储器的分配的部分的引用。对于这些示例,vm存储器页面可以与执行应用程序同时由一个或多个第一处理元件支持的vm相关联。所述第三存储器可以被布置为用作所述一个或多个第一处理元件和所述一个或多个第二处理元件的远存储器,而所述第一存储器和所述第二存储器被布置为用作相应的一个或多个第一和第二处理元件的相应的近存储器。在一些示例中,分配部分引用910可以包括对第三存储器的分配的部分的引用。

根据一些示例,复制逻辑922-2可以使得vm存储器页面被复制到第二存储器的分配的部分。对于这些示例,vm存储器页面可以包括由一个或多个第二处理元件用于支持vm执行应用程序的状态信息。在一些示例中,vm存储器页面930可以包括复制的vm存储器页面。

在一些示例中,装置900可以包括指示逻辑922-3。指示逻辑922-3可以由电路920执行或实现,以使状态信息已经被用于加载处理状态以使得一个或多个第二处理元件能够支持vm执行应用程序的指示被发送到源服务器。对于这些示例,状态信息加载指示960可以包括已经使用状态信息来加载处理状态的指示。

根据一些示例,装置900可以包括数据业务逻辑922-4。数据业务逻辑922-4可以由电路920执行或实现,以使得数据业务被接收以供由一个或多个第二处理元件所支持的vm执行的应用程序进行处理。

装置900的各种组件可以通过各种类型的通信介质彼此通信地耦合以协调操作。协调可能涉及信息的单向或双向交换。例如,组件可以以通过通信介质传送的信号的形式传送信息。该信息可以被实现为分配给各种信号线的信号。在这种分配中,每个消息都是一个信号。然而,其他实施例可以可选地使用数据消息。这种数据消息可以通过各种连接发送。示例连接包括并行接口、串行接口和总线接口。

图10图示了逻辑流程1000的示例。逻辑流程1000可以表示由诸如装置900的这里描述的一个或多个逻辑、特征或设备执行的一些或全部操作。更具体地,逻辑流程1000可以由至少接收逻辑922-1、复制逻辑922-2、指示逻辑922-3或数据业务逻辑922-4实现。

根据一些示例,在框1002处的逻辑流程1000可以在目的地服务器处接收来自源服务器的关于已经启动使得由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移的指示,所述一个或多个第一处理元件和所述第一存储器由所述源服务器托管,所述实时迁移使所述vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持,所述一个或多个第二处理元件和第二存储器由目的地服务器托管。对于这些示例,接收逻辑922-1可以接收该指示。

在一些示例中,框1004处的逻辑流程1000可以接收对vm存储器页面已经从第一存储器的分配的部分复制到的第三存储器的分配的部分的引用,vm存储器页面与执行应用程序同时被所述一个或多个第一处理元件支持的vm相关联,所述第三存储器被布置为用作所述一个或多个第一处理元件和所述一个或多个第二处理元件的远存储器,而所述第一存储器和所述第二存储器被布置为用作相应的一个或多个第一和第二处理元件的相应的近存储器。对于这些示例,复制逻辑922-2可以接收对第三存储器的分配的部分的引用。

根据一些示例,在框1006处的逻辑流程1000可以使得vm存储器页面被复制到第二存储器的分配的部分,vm存储器页面包括供一个或多个第二处理元件用于支持vm执行应用程序的状态信息。对于这些示例,复制逻辑922-1可以使得vm存储器页面被复制到第二存储器的分配的部分。

在一些示例中,在框1008处的逻辑流程1000可以使得向源服务器发送关于已经使用状态信息来加载处理状态以使得一个或多个第二处理元件能够支持vm执行应用程序的指示。对于这些示例,指示逻辑922-3可以使指示被发送到源服务器。

根据一些示例,在框1010处的逻辑流程1000可以使得数据业务被接收以供由一个或多个第二处理元件所支持的vm执行的应用程序处理。对于这些示例,数据业务逻辑922-4可以使数据业务被接收以进行处理。

图11示出了存储介质1100的示例。存储介质1100可以包括制品。在一些示例中,存储介质1100可以包括任何非暂时性计算机可读介质或机器可读介质,诸如光学、磁性或半导体存储装置。存储介质1100可以存储各种类型的计算机可执行指令,诸如用于实现逻辑流程1000的指令。计算机可读或机器可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。计算机可执行指令的示例可以包括任何合适类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码等。示例在该上下文不受限制。

图12示出了示例计算平台1200。在一些示例中,如图12所示,计算平台1200可以包括处理组件1240、其他平台组件1250或通信接口1260。根据一些示例,计算平台1200可以在服务器中实现。服务器能够通过网络耦合到其他服务器,并且可以是包括多个网络连接的服务器的数据中心的一部分,该多个网络连接的服务器被布置为托管被布置为支持vm的一个或多个计算底座或布置为托管一个或多个存储底座。

根据一些示例,处理组件1240可以执行装置600/900和/或存储介质800/1100的处理操作或逻辑。处理组件1240可以包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括设备、逻辑设备、组件、处理器、微处理器、电路、处理器电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路,专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、设备驱动程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现示例可以根据任何数量的因素而变化,诸如期望的计算速率、功率水平、热容差、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束,如给定示例所需的。

在一些示例中,其他平台组件1250可以包括公共计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外设、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(i/o)组件(例如数字显示器)、电源等等。存储器单元的示例可以包括但不限于以一个或多个较高速度存储器单元的形式的各种类型的计算机可读和机器可读存储介质,诸如只读存储器(rom)、随机存取存储器(ram)、动态ram(dram)、双数据速率dram(ddram)、同步dram(sdram)、静态ram(sram)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom),如可能是字节或块寻址的3d交叉点存储器的非易失性存储器类型。非易失性类型的存储器还可以包括其他类型的字节或块可寻址非易失性存储器,诸如但不限于多阈值级别nand闪存、nor闪存、单级或多级pcm、电阻式存储器、纳米线存储器、fetram、包含忆阻器技术的mram、stt-mram或上述任意组合。其他类型的计算机可读和机器可读存储介质还可以包括磁卡或光卡,诸如独立磁盘冗余阵列(raid)驱动器的设备的阵列、固态存储器设备(例如usb存储器)、固态驱动器(ssd)以及适用于存储信息的任何其他类型的存储介质。

在一些示例中,通信接口1260可以包括支持通信接口的逻辑和/或特征。对于这些示例,通信接口1260可以包括根据各种通信协议或标准进行操作以通过直接或网络通信链路或信道进行通信的一个或多个通信接口。直接通信可以通过使用在一个或多个行业标准(包括后代和变体)中描述的通信协议或标准(例如与pcie规范相关的那些)来发生。网络通信可以通过使用诸如由ieee颁布的一个或多个以太网标准中描述的那些通信协议或标准来发生。例如,一个这样的以太网标准可以包括ieee802.3。网络通信也可以根据一个或多个openflow规范,例如openflow硬件抽象api规范来发生。

如上所述,计算平台1200可以在数据中心的服务器中实现。因此,在计算平台1200的各种实施例中,如在此描述的计算平台1200的功能和/或特定配置可以被包括或省略,如在数据中心中部署的服务器适当地期望的。

计算平台1200的组件和特征可以使用分立电路、asic、逻辑门和/或单芯片体系结构的任何组合来实现。此外,计算平台1200的特征可以在适当地适合情况下使用微控制器、可编程逻辑阵列和/或微处理器或前述的任何组合来实现。注意,硬件、固件和/或软件元件可以在本文中共同或单独地称为“逻辑”或“电路”。

应该意识的是,图12的框图中示出的示例性计算平台1200可以代表许多潜在实现方式的一个功能描述示例。因此,附图中描绘的块功能的划分、省略或包含不会推断用于实现这些功能的硬件组件、电路、软件和/或元件在实施例中必须被划分、省略或包含。

至少一个示例的一个或多个方面可以通过代表处理器内的各种逻辑的存储在至少一种机器可读介质上的代表性指令来实现,所述代表性指令在由机器、计算设备或系统读取时使机器、计算设备或系统来制造逻辑以执行本文描述的技术。称为“ip核心”的这样的表示可以被存储在有形的机器可读介质上并且被提供给各种客户或制造设施以加载到实际制造逻辑或处理器的制造机器中。

可以使用硬件元件、软件元件或两者的组合来实现各种示例。在一些示例中,硬件元件可以包括设备、组件、处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、asic、可编程逻辑器件(pld)、数字信号处理器(dsp)、fpga、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。在一些示例中,软件元件可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件组件、例程、子例程、函数、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现示例可以根据给定实施方式的需要根据任意数量的因素而变化,诸如期望的计算速率、功率水平、热容差、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。

一些示例可以包括制品或至少一种计算机可读介质。计算机可读介质可以包括用于存储逻辑的非暂时性存储介质。在一些示例中,非暂时性存储介质可以包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。在一些示例中,逻辑可以包括各种软件元件,诸如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、api、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。

根据一些示例,计算机可读介质可以包括用于存储或维护指令的非暂时性存储介质,当由机器、计算设备或系统执行指令时,使得机器、计算设备或系统根据所述的示例来执行方法和/或操作。指令可以包括任何合适类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等。指令可以根据预定义的计算机语言、方式或语法来实现,用于指示机器、计算设备或系统执行某一功能。指令可以使用任何合适的高级、低级、面向对象、可视、编译和/或解释的编程语言来实现。

可以使用表达“在一个示例中”或“示例”及其衍生词来描述一些示例。这些术语意味着结合该示例描述的特定特征、结构或特性包括在至少一个示例中。在说明书中的各个地方的短语“在一个示例中”的出现不一定都指代同一示例。

本文包括表示用于执行所公开的架构的新颖方面的示例方法的逻辑流或方案。虽然出于简化说明的目的,本文所示的一种或多种方法被显示和描述为一系列动作,但本领域技术人员将理解和意识到,这些方法不受动作顺序的限制。据此,一些动作可以以不同的顺序发生和/或与本文所示和描述不同的其他动作同时发生。例如,本领域的技术人员将理解和意识到,方法可以可替代地表示为一系列相互关联的状态或事件,例如在状态图中。此外,并非方法中阐述的所有动作都可以是新颖实现方式所需要的。

逻辑流程或方案可以用软件、固件和/或硬件来实现。在软件和固件实施例中,逻辑流程或方案可以通过存储在至少一个非暂时性计算机可读介质或机器可读介质(诸如光学、磁性或半导体存储装置)上的计算机可执行指令来实现。实施例在该上下文中不受限制。

可以使用表达“耦合”和“连接”以及它们的衍生词来描述一些示例。这些术语不一定是意在作为彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述指示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合”也可以意味着两个或更多个元件彼此不直接接触,但仍然彼此配合或相互作用。

以下示例涉及在此公开的技术的附加示例。

示例1.示例装置可以包括电路和用于由电路执行的逻辑。该逻辑可以启动由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移。一个或多个第一处理元件和第一存储器可以由源服务器托管。实时迁移可以使vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持。一个或多个第二处理元件和第二存储器可以由目的地服务器托管。逻辑还可以将vm存储器页面复制到第三存储器的分配的部分。vm存储器页面与执行应用程序同时由一个或多个第一处理元件支持的vm相关联。第三存储器被布置为用作一个或多个第一处理元件和一个或多个第二处理元件的远存储器,而第一存储器和第二存储器被布置为用作相应的一个或多个第一和第二处理元件的相应的近存储器。逻辑还可以向目的地服务器指示vm存储器页面已经被复制到第三存储器的分配的部分以使得vm存储器页面被复制到第二存储器的分配的部分。vm存储器页面可以包括由一个或多个第二处理元件用来支持vm执行应用程序的状态信息。

示例2.示例1所述的装置,所述逻辑还可以接收所述状态信息已被用于加载处理状态以使所述一个或多个第二处理元件能够支持所述vm执行所述应用程序的指示。逻辑还可以使数据业务被路由以供由一个或多个第二处理元件支持的vm执行的应用程序进行处理。

示例3.示例2的装置还可以包括用于使得一个或多个处理元件的重新分配以支持一个或多个不同的vm的逻辑。

示例4.示例2的装置还可以包括激活直写模式的逻辑,以使得用作一个或多个第一处理元件的近存储器的第一存储器中维持的后续vm存储器页面变化能够被复制到第三存储器,然后复制到用作一个或多个第二处理元件的近存储器的第二存储器。对于该示例,逻辑还可以响应于接收到状态信息已被用于加载处理状态的指示,使得数据业务被共同路由到源服务器和目的地服务器,以由一个或多个第一和第二处理元件支持的vm执行的应用程序处理。所述逻辑还可以接收停止由所述一个或多个第一处理元件支持的所述vm执行的应用程序处理所述数据业务的指示;以及

使应用程序处理的数据业务仅重新路由到目的地服务器。

示例5.示例4的装置,停止处理数据业务的指示可以基于vm存储器页面以及后续的vm存储器页面被复制到第二存储器的分配的部分,使得应用程序的关键结构被复制以使得能够由所述一个或多个第二处理元件支持的vm执行的应用程序处理数据业务。

示例6.示例1的装置,一个或多个第一处理元件和第一存储器可驻留在由源服务器托管的第一计算底座上。一个或多个第二处理元件和第二存储器可以驻留在由目的地服务器托管的第二计算底座上。

示例7.示例6所述的装置,所述第三存储器可以驻留在通过网络连接与所述第一计算底座和所述第二计算底座通信耦合的存储底座上。对于该示例,存储底座可以位于相对于托管第一计算底座的源服务器或托管第二计算底座的目的地服务器的不同物理位置处。

示例8.示例7所述的装置,所述不同物理位置可以包括相同机柜的单独机架或多个机柜中的单独机柜。

示例9.示例1的装置,该应用程序可以包括vnf应用程序。对于该示例,包括在vm存储器页面中的状态信息可以反映所述vm在执行所述vnf应用程序以履行工作负载作为提供网络服务的一部分时的状态。

示例10.示例9的装置,所述网络服务包括数据库网络服务、网站托管网络服务、路由网络服务、电子邮件网络服务、防火墙服务、dns、高速缓存服务、nat服务或病毒扫描网络服务。

示例11.示例1的装置,第一和第二存储器包括包含dram或sram的易失性存储器类型。

示例12.示例11所述的装置,所述第三存储器可以包括具有包括硫族化物相变材料的3d交叉点存储器结构的字节或块可寻址非易失性存储器。

示例13.示例11的装置,第三存储器可以包括字节或块可寻址非易失性存储器,包括多阈值级别nand闪存、nor闪存、单级或多级pcm、电阻式存储器、纳米线存储器、fetram、结合忆阻器技术的mram或stt-mram。

示例14.示例1的装置还可以包括耦合到电路以呈现用户界面视图的数字显示器。

示例15.一种示例方法可以包括在源服务器处启动由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移。一个或多个第一处理元件和第一存储器可以由源服务器托管,实时迁移使得vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持。一个或多个第二处理元件和第二存储器可以由目的地服务器托管。该方法还可以包括将vm存储器页面复制到第三存储器的分配的部分。vm存储器页面可以与执行应用程序同时由一个或多个第一处理元件支持的vm相关联。所述第三存储器可以被布置为用作所述一个或多个第一处理元件和所述一个或多个第二处理元件的远存储器,而所述第一存储器和所述第二存储器被布置为用作相应的一个或多个第一和第二处理元件的相应的近存储器。该方法还可以包括向目的地服务器指示已经将vm存储器页面复制到第三存储器的分配的部分以使得vm存储器页面被复制到第二存储器的分配的部分。vm存储器页面可以包括由一个或多个第二处理元件使用以支持vm在目的地服务器处执行应用程序的状态信息。

示例16.示例15的方法还可以包括接收状态信息已被用于加载处理状态以使得一个或多个第二处理元件能够支持vm在目的地服务器处执行应用程序的指示。该方法还可以包括使得数据业务被路由以供由一个或多个第二处理元件支持的vm执行的应用程序进行处理。

示例17.示例15的方法还可以包括重新分配一个或多个处理元件以支持不同的vm。

示例18.示例15的方法还可以包括激活直写模式以使得用作一个或多个第一处理元件的近存储器的第一存储器中维持的后续vm存储器页面变化能够被复制到第三存储器,然后复制到用作一个或多个第二处理元件的近存储器的第二存储器。该方法还可以包括:响应于接收到状态信息已经被用于加载处理状态的指示,使得数据业务被共同路由到源服务器和目的地服务器,以由一个或多个第一和第二处理元件支持的vm执行的应用程序进行处理。该方法还可以包括接收停止由一个或多个第一处理元件支持的vm执行的应用程序处理数据业务的指示。该方法还可以包括使得由应用程序处理的数据业务仅被重新路由到目的地服务器。

示例19.示例18的方法还可以包括停止处理数据业务的指示基于vm存储器页面以及后续vm存储器页面被复制到第二存储器的分配的部分,使得应用程序的关键结构被复制以使得能够通过由所述一个或多个第二处理元件支持的vm执行的应用程序来处理数据业务。

示例20.示例15所述的方法,所述一个或多个第一处理元件和所述第一存储器可驻留在由所述源服务器托管的第一计算底座上。一个或多个第二处理元件和第二存储器可驻留在由目的地服务器托管的第二计算底座上。

示例21.示例20所述的方法,所述第三存储器可以驻留在通过网络连接与所述第一计算底座和所述第二计算底座通信耦合的存储底座上。对于该示例,存储底座可以位于相对于托管第一计算底座的源服务器或托管第二计算底座的目的地服务器的不同物理位置处。

示例22.示例20所述的方法,所述不同物理位置可以是相同机柜的单独机架或多个机柜中的单独机柜。

示例23.示例15所述的方法,该应用程序可以是vnf应用程序。对于该示例,包括在vm存储器页面中的状态信息可以反映所述vm在执行所述vnf应用程序以履行工作负载作为提供网络服务的一部分时的状态。

示例24.示例23所述的方法,网络服务可以是数据库网络服务、网站托管网络服务、路由网络服务、电子邮件网络服务、防火墙服务、dns、高速缓存服务、nat服务或病毒扫描网络服务。

示例25.示例15所述的方法,第一存储器和第二存储器可以是包括dram或sram的易失性存储器类型。

示例26.示例25所述的方法,第三存储器可以是具有包括硫族化物相变材料的3d交叉点存储器结构的字节或块可寻址非易失性存储器。

示例27.示例25所述的方法,所述第三存储器可以是字节或块可寻址非易失性存储器,包括多阈值级nand闪存、nor闪存、单级或多级pcm、电阻式存储器、纳米线存储器、fetram、结合忆阻器技术的mram或stt-mram。

示例28.至少一种机器可读介质可以包括多个指令,响应于由系统执行指令可以使系统执行根据示例15至27中的任何一个的方法。

示例29.一种装置可以包括用于执行示例15至28中的任何一个的方法的单元。

示例30.一种示例方法可以包括:在目的地服务器处从源服务器接收已经启动使得由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移的指示。一个或多个第一处理元件和第一存储器可以由源服务器托管。实时迁移可以使vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持。一个或多个第二处理元件和第二存储器可以由目的地服务器托管。该方法还可以包括接收对vm存储器页面已经从第一存储器的分配的部分被复制到的第三存储器的分配的部分的引用。vm存储器页面与执行应用程序同时由一个或多个第一处理元件支持的vm相关联。第三存储器被布置为用作一个或多个第一处理元件和一个或多个第二处理元件的远存储器,而第一存储器和第二存储器被布置为用作相应的一个或多个第一和第二处理元件的相应的近存储器。该方法还可以包括将vm存储器页面复制到第二存储器的分配的部分。vm存储器页面可以包括由一个或多个第二处理元件使用以支持vm执行应用程序的状态信息。该方法还可以包括向源服务器发送已经使用状态信息来加载处理状态以使得一个或多个第二处理元件支持vm执行应用程序的指示。该方法还可以包括接收数据业务以供由所述一个或多个第二处理元件支持的vm执行的应用程序进行处理。

示例31.示例30所述的方法,所述一个或多个第一处理元件和所述第一存储器可驻留在由所述源服务器托管的第一计算底座上。一个或多个第二处理元件和第二存储器可以驻留在由目的地服务器托管的第二计算底座上。

示例32.示例31所述的方法,所述第三存储器可以驻留在通过网络连接与所述第一计算底座和所述第二计算底座通信耦合的存储底座上。对于该示例,存储底座可以位于相对于托管第一计算底座的源服务器或托管第二计算底座的目的地服务器的不同物理位置处。

示例33.示例32所述的方法,所述不同物理位置可以包括相同机柜的单独机架或多个机柜中的单独机柜。

示例34.示例30的方法,该应用程序可以是vnf应用程序。对于该示例,包括在vm存储器页面中的状态信息可以反映所述vm在执行所述vnf应用程序以履行工作负载作为提供网络服务的一部分时的状态。

示例35.示例30所述的方法,网络服务可以是数据库网络服务、网站托管网络服务、路由网络服务、电子邮件网络服务、防火墙服务、dns、高速缓存服务、nat服务或病毒扫描网络服务。

示例36.示例30所述的方法,所述第一和第二存储器可以是包括dram或sram的易失性存储器类型。

示例37.示例36所述的方法,所述第三存储器可以是具有包括硫属元素化物相变材料的3d交叉点存储器结构的字节或块可寻址非易失性存储器。

示例38.示例36所述的方法,所述第三存储器可以是字节或块可寻址的非易失性存储器,包括多阈值级nand闪存、nor闪存、单级或多级pcm、电阻式存储器、纳米线存储器、fetram、结合忆阻器技术的mram或stt-mram。

示例39.至少一种机器可读介质可以包括多个指令,响应于由系统执行指令可以使系统执行根据示例30至38中的任何一个的方法。

示例40.装置可以包括用于执行示例30至38中的任何一个的方法的单元。

示例41.至少一种机器可读介质可以包括多个指令,响应于由系统执行指令,可以使系统在目的地服务器处从源服务器接收使得由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移已被启动的指示。一个或多个第一处理元件和第一存储器可以由源服务器托管。实时迁移可以使vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持。一个或多个第二处理元件和第二存储器可以驻留由目的地服务器托管。指令还可以使系统接收对vm存储器页面已经从第一存储器的分配的部分复制到的第三存储器的分配的部分的引用。vm存储器页面可以与执行应用程序同时由一个或多个第一处理元件支持的vm相关联。所述第三存储器可以被布置为用作所述一个或多个第一处理元件和所述一个或多个第二处理元件的远存储器,而所述第一存储器和所述第二存储器被布置为用作相应的一个或多个第一和第二处理元件的相应的近存储器。指令还可以使系统使vm存储器页面被复制到第二存储器的分配的部分。vm存储器页面可以包括由一个或多个第二处理元件使用以支持vm执行应用程序的状态信息。所述指令还可以使得所述系统使得向所述源服务器发送所述状态信息已被用于加载处理状态以使所述一个或多个第二处理元件支持所述vm在所述目的地服务器处执行所述应用程序的指示。指令还可以使系统使数据业务被接收以由一个或多个第二处理元件支持的vm执行的应用程序进行处理。

示例42.示例41的至少一种机器可读介质,一个或多个第一处理元件和第一存储器可驻留在由源服务器托管的第一计算底座上。一个或多个第二处理元件和第二存储器可以驻留在由目的地服务器托管的第二计算底座上。

示例43.示例41的至少一种机器可读介质,第三存储器可以驻留在通过网络连接与第一计算底座和第二计算底座通信耦合的存储底座上。对于这个示例,存储底座位于相对于托管第一计算底座的源服务器或托管第二计算底座的目的地服务器的不同物理位置处。

示例44.示例43所述的至少一种机器可读介质,所述不同物理位置可以包括相同机柜的单独机架或多个机柜中的单独机柜。

示例45.示例41的至少一种机器可读介质,该应用程序可以是vnf应用程序。对于该示例,包括在vm存储器页面中的状态信息可以反映所述vm在执行所述vnf应用程序以履行工作负载作为提供网络服务的一部分时的状态。

示例46.示例45所述的至少一种机器可读介质,网络服务可以是数据库网络服务、网站托管网络服务、路由网络服务、电子邮件网络服务、防火墙服务、dns、高速缓存服务、nat服务或病毒扫描网络服务。

示例47.示例41的至少一种机器可读介质,第一和第二存储器可以是包括dram或sram的易失性存储器类型。

示例48.示例47所述的至少一种机器可读介质,第三存储器可以是具有包括硫族化物相变材料的3d交叉点存储器结构的字节或块可寻址非易失性存储器。

示例49.示例47的至少一种机器可读介质,第三存储器可以是字节或块可寻址非易失性存储器,包括多阈值级nand闪存、nor闪存、单级或多级pcm、电阻式存储器、纳米线存储器、fetram、结合忆阻器技术的mram或stt-mram。

示例50.示例装置可包括用于在源服务器处启动由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移的单元。一个或多个第一处理元件和第一存储器可以由源服务器托管。实时迁移可以使vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持。一个或多个第二处理元件和第二存储器可以由目的地服务器托管。该装置还可以包括用于将vm存储器页面复制到第三存储器的分配的部分的单元,vm存储器页面与执行应用程序的同时由一个或多个第一处理元件支持的vm相关联。所述第三存储器可以被布置为用作所述一个或多个第一处理元件和所述一个或多个第二处理元件的远存储器,而所述第一存储器和所述第二存储器被布置为用作相应的一个或多个第一和第二处理元件的相应的近处理器。该装置还可以包括用于向目的地服务器指示vm存储器页面已经被复制到第三存储器的分配的部分以使vm存储器页面被复制到第二存储器的分配的部分的单元。vm存储器页面可以包括由一个或多个第二处理元件使用以支持vm在目的地服务器处执行应用程序的状态信息。

示例51.示例50的装置还可包括用于接收状态信息已被用于加载处理状态以使得一个或多个第二处理元件能够支持vm执行应用程序的指示的单元。该装置还可以包括用于使数据业务被路由以供由所述一个或多个第二处理元件支持的vm执行的应用程序处理的单元。

示例52.示例51的装置还可以包括用于重新分配一个或多个处理元件以支持不同的vm的单元。

示例53.示例装置可以包括用于在目的地服务器处接收来自源服务器的指示的单元,该指示表示已经启动使得由具有第一存储器的分配的部分的一个或多个第一处理元件支持的vm的实时迁移。一个或多个第一处理元件和第一存储器可以由源服务器托管。实时迁移可以使vm由具有第二存储器的分配的部分的一个或多个第二处理元件支持。一个或多个第二处理元件和第二存储器可以由目的地服务器托管。该装置还可以包括用于接收对vm存储器页面已经从第一存储器的分配的部分复制到的第三存储器的分配的部分的引用的单元。vm存储器页面可以与执行应用程序同时由一个或多个第一处理元件支持的vm相关联。所述第三存储器可以被布置为用作所述一个或多个第一处理元件和所述一个或多个第二处理元件的远存储器,而所述第一存储器和所述第二存储器被布置为用作相应的一个或多个第一和第二处理元件的相应的近存储器。该装置还可以包括用于将vm存储器页面复制到第二存储器的分配的部分的单元。vm存储器页面可以包括由一个或多个第二处理元件使用以支持vm执行应用程序的状态信息。该装置还可以包括用于向源服务器发送状态信息已经用于加载处理状态以使得一个或多个第二处理元件能够支持vm执行应用程序的指示的单元。该装置还可以包括用于接收数据业务以供由一个或多个第二处理元件支持的vm执行的应用程序处理的单元。

示例54.示例53的装置,一个或多个第一处理元件和第一存储器可驻留在由源服务器托管的第一计算底座上。而且,一个或多个第二处理元件和第二存储器可以驻留在由目的地服务器托管的第二计算底座上。

示例55.示例54的装置,第三存储器可以驻留在通过网络连接与第一计算底座和第二计算底座通信耦合的存储底座上。存储底座可以位于与托管第一计算底座的源服务器或托管第二计算底座的目的地服务器相关的不同物理位置。

要强调的是,本公开的摘要被提供以符合37c.f.r.第1.72(b)节,要求摘要可以让读者快速确定技术公开的实质。应理解的是,摘要不用于解释或限制权利要求的范围或含义。此外,在前面的具体实施方式中,可以看出,为了简化本公开的目的,在单个实施例中将各种特征组合在一起。这种公开的方法不应被解释为反映所要求保护的实施例要求比每个权利要求中明确叙述的更多特征的意图。相反,如以下权利要求所反映的那样,本发明的主题在于少于所公开的示例的所有特征。因此,以下权利要求被并入具体实施方式中,其中每个权利要求独立地作为单独的示例。在所附权利要求中,术语“包括(including)”和“其中(inwhich)”分别用作相应术语“包括(comprising)”和“其中(wherein)”的通俗英语等同词。此外,术语“第一”、“第二”、“第三”等仅用作标签,并不意图对其对象施加数字要求。

尽管已经以结构特征和/或方法动作特有的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于上述具体特征或动作。相反,上述具体特征和动作被公开为实现权利要求的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1