管理多个虚拟机的分级系统、方法和计算机程序的制作方法

文档序号:6505883阅读:171来源:国知局
管理多个虚拟机的分级系统、方法和计算机程序的制作方法
【专利摘要】本发明涉及管理多个虚拟机的分级系统、方法和计算机程序。一种管理多个虚拟机的分级系统,包括:可连接到第一组的至少两个物理机(100a、100b)的第一局部迁移锚点(110);可连接到第二组的至少两个物理机(120a、120b)的第二局部迁移锚点(130);连接到第一局部迁移锚点和第二局部迁移锚点的全局迁移锚点(140);和虚拟机位置寄存器(150),虚拟机位置寄存器(150)被配置成保存关于第一虚拟机的第一数据条目(150a),第一数据条目包括第一服务标识、第一虚拟机的标识和第一局部迁移锚点的标识,并且包含第二数据条目(150b),第二数据条目(150b)包含第二服务标识、第二虚拟机的标识、和第二虚拟机所位于的物理机可连接到的第二局部迁移锚点的标识。
【专利说明】管理多个虚拟机的分级系统、方法和计算机程序
【技术领域】
[0001]本发明涉及计算机系统,特别地,涉及位于不同物理机的虚拟机的管理。
【背景技术】
[0002]虚拟化、虚拟机、迁移管理和云计算是变得越来越重要的过程。虚拟机的管理尤其有益于和适用于云服务、基于网络的迁移管理、灾难管理或者节能。
[0003]本质上,虚拟机计算使得能够在不同的机器,即,物理机上进行某些服务。物理机是位于某个位置的计算机。实现虚拟机是为了进行某种服务,不过虚拟机被设计成以致虚拟机能够从一个物理机迁移到不同的物理机。特别地,这意味为实现虚拟机而由某个物理机提供的计算资源可在第一时段,由所述虚拟机使用,然后在从一个物理机到不同的物理机的迁移之后,由早先的物理机提供的计算资源被释放,用于其它服务,虚拟机利用新的物理机的计算资源进行新的服务,或者继续当前进行的处理。
[0004]从会话连续性的观点看,从一个物理机到另一个物理机的虚拟机迁移是个问题,就整个网络的对虚拟机的位置的更新来说也是个问题。特别地,当存在几组分别控制的物理机(也称为“云”)时,虚拟机从一个云到不同云的迁移也是一项富有挑战性的任务。
[0005]存在层2虚拟专用网络(L2VPN)工作组,该工作组负责定义和规定支持提供商提供的层2虚拟专用网络的数目有限的解决方案。对云内迁移管理来说,L2VPN是最常用的解决方案。对于L2VPN,层2交换机记忆通过哪个端口可到达虚拟机。当虚拟机从一个物理机迁移到另一个物理机时,对虚拟机来说,端口发生变化。然而,目前的L2交换机具有学习能力,检查通过端口的输入分组的MAC地址。由于一直到迁移为止,虚拟机MAC地址都不变化,因此通过探听经不同的端口,来自虚拟机的输入分组,L2交换机能够识别虚拟机。特别地,L2交换机依据虚拟机的MAC地址识别虚拟机,并识别通过哪个端口可到达该虚拟机。不过,考虑到目前的云的大规模部署,从可扩展性的观点看,L2VPN根本不可扩展,因为L2VPN是人工配置的,并且VLAN标签只有12字节长,于是只能够创建4096个VLAN。另外,这种解决方案还不适用于云间迁移情形。
[0006]在研究领域中主要见到的另一种解决方案是基于Open Flow的解决方案。对云内迁移情形来说,该解决方案和L2VPN相同。特别地,一直到迁移为止,把流量重新路由到虚拟机的正是Open Flow控制器。Open Flow控制器可监视虚拟机迁移。在迁移之后,OpenFlow控制器重写Open Flow交换机的转发表,以致所述交换机能够通过适当的端口转发分组。然而,该解决方案也不适用于云间迁移情形。
[0007]美国专利8,042,108B1公开服务器之间的虚拟机迁移。在两个服务器之间迁移虚拟机。在第一个服务器,卸除上面保存与虚拟机相关的所有文件的卷。在第二个服务器,安装其中保存与虚拟机相关的所有文件的卷,以致第二个服务器能够托管虚拟机。这样,可以迁移虚拟机,而不必把所有文件从第一个服务器复制到第二个服务器。与虚拟机相关的文件被保存在存储区域网(SAN)上。然而,认为一个云的SAN能够被另一个云访问,利用这种解决方案支持云间迁移是不切实际的。即使实现这一点,也必须解决改变到虚拟机的新位置的路径的问题。
[0008]美国2011/0161491公开在每个数据中心和WAN之间的协同中,进行虚拟机迁移,而不中断处理,以致使有效的节能实现、负载分布或故障对策处理成为可能。位于WAN和另一个网络之间的边界点处的每个节点具备可以动态设定的网络地址转换(NAT)功能,以避免由虚拟机迁移引起的地址复制。另一方面,包含在WAN中的每个节点具备网络虚拟化功能;实现了连接到数据中心,以包括迁移前的虚拟机的虚拟网络,和连接到数据中心,以包括迁移后的虚拟机的虚拟网络,从而允许相同地址的同时提供;从而,能够消除在虚拟机迁移时,改变网络路由信息的需要,能够快速实现关于迁移的设定变化。

【发明内容】

[0009]本发明的目的是提供改进的管理多个虚拟机的分级概念。
[0010]所述目的是利用按照权利要求1所述的管理多个虚拟机的分级系统,按照权利要求15所述的管理多个虚拟机的方法,或者按照权利要求16所述的计算机程序实现的。
[0011]本发明涉及一种管理多个虚拟机的分级系统,包括可连接到第一组的至少两个物理机的第一局部迁移或移动锚点,其中第一局部迁移锚点被配置成保存数据集,所述数据集包括位于第一组的至少两个物理机中的一个物理机上的第一虚拟机的虚拟机标识,和所述一个物理机的物理机标识,可连接到第二组的至少两个物理机的第二局部迁移或移动锚点,其中第二局部迁移锚点被配置成保存数据集,所述数据集包括位于第二组的至少两个物理机中的一个物理机上的第二虚拟机的虚拟机标识,和所述一个物理机的物理机标识,连接到第一局部迁移锚点和第二局部迁移锚点的全局迁移或移动锚点,其中全局迁移锚点被配置成在第一数据记录中,保存第一虚拟机进行的应用的第一服务标识,第一虚拟机的关联标识,和第一局部迁移锚点的标识,和在第二数据记录中,保存第二虚拟机进行的应用的服务标识,第二虚拟机的关联标识,和第二局部迁移锚点的标识,和虚拟机位置寄存器,所述虚拟机位置寄存器被配置成保存关于第一虚拟机的第一数据条目,第一数据条目包括第一服务标识、第一虚拟机的标识和第一局部迁移锚点的标识,并且包含第二数据条目,第二数据条目包含第二服务标识、第二虚拟机的标识、和第二虚拟机所位于的物理机可连接到的第二局部迁移锚点的标识。
[0012]本发明的其它方面涉及对应的方法和对应的计算机程序。
[0013]本发明解决了从会话连续性的观点看,进行从一个物理机到另一个物理机的虚拟机迁移的问题,另外解决了关于虚拟机的位置,更新整个网络的问题。特别地,本发明还可用于当虚拟机从一组物理机或云迁移到另一组物理机或云时的情况。
[0014]本发明的实施例涉及迁移(迁移)管理的3层体系结构。一个云由一个局部迁移锚点(LP)管理,多个LP由全局迁移锚点(GP)管理。此外,存在虚拟机位置寄存器(VMLR),VMLR保持表示虚拟机的位置,即通过哪个LP和GP,可到达虚拟机的数据库。特别地,虚拟机位置寄存器包括数据库中的数据条目。在迁移期间或者在迁移之后,通过给相关LP、GP和VMLR的信令,更新虚拟机的位置信息,于是,虚拟机的位置信息始终可用。优选实施例涉及精确数据路径设置和精确修改过程。
[0015]本发明的实施例具有系统是技术无关的优点。不设想例如在Open Flow中使用的特定的路由/转发方法。此外,就某些实施例来说,本发明易于管理,因为只有少数(比如不到20个)全局迁移锚点(GP)是必需的,或者甚至只有一个GP是必需的并且需要被更新的。系统能够同时支持云内和云间迁移(迁移)管理,于是,不一定需要两种不同的迁移(迁移)管理方案。
[0016]此外,实施例是蜂窝网络友好的,因为体系结构和迁移(迁移管理)过程类似蜂窝连网技术,不过在较高的层级。于是,在实现蜂窝网络技术时利用的经验也可用于和适用于实现管理多个虚拟机的分级系统。本发明允许在自然灾难之前、之中或之后的网络重构。虚拟机可被迁移到安全的位置,这将确保服务连续性,于是确保客户满意度。例如,在夜间,诸如把虚拟机迁移到某个位置,并关闭其它资源,即不必需的资源之类的网络重构是完全可能的。这还将降低能耗,从而实现绿色网络。对下面的说明来说,一组物理机也被称为云,云也可被看作有组织的被描述成单一管理实体的多个物理机,所述单一管理实体提供基于虚拟机的应用服务,比如web服务器、视频服务器等。
[0017]与本发明相反,美国2011/0161491中的概念是一种集中式方案。本发明是一种分布式方案。在实施例中,虚拟机向有关的实体,例如局部移动锚点、全局移动锚点登记它自己。不存在中心实体更新/改变到VM的新位置的路线。
[0018]本发明方案的中央网络管理系统不管理迁移本身,也不改变到VM的新位置的路线。它仅仅告诉云/VM迁移到资源可用的另一个云。在本发明的实施例中,其他的操作是自主发生的。
[0019]与上面的现有技术相反,实施例不虚拟化WAN中的每个节点。虚拟化WAN中的每个节点成本很高。在实施例中,只有数目有限的节点,即,锚点需要支持封装。这样就够了。
[0020]此外,注意在WAN中散布LAN/Subnet路由信息是一种完全不可能并且不可扩展的情形。问题是必须把该信息散布多远。在WAN中,存在数以百计的路由器/交换机。于是,在本发明的实施例中只定义了少数锚点。
[0021]实施例不进行缓存。对于诸如语音通话之类的实时应用,缓存不会带来任何好处。
[0022]此外,在现有技术中,VM迁移由管理器集中控制,这缺少可扩展性。当VM迁移的数目变大,例如1000个时,VM迁移也不可扩展。与之相反,实施例具有自我管理并且分布的VM迁移。
[0023]在现有技术中,移交指令把VM的位置的变化通知节点。这同样是一种集中式方法。取决于迁移的数目,必须通知相同数目的节点,这同样导致可扩展性问题。
[0024]此外,受影响的节点等于源和目的地云的数目。这造成可扩展性的缺乏。随着云的数目的增大,受影响节点的数目也增大。然而,在本发明的实施例中,优选局部移动锚点的数目等于云的数目加上一个全局移动锚点。即,上述现有技术所需的数目的一半。
[0025]在实施例中,把VM的新位置通知VM的在先位置,以致分组能够被转发给所述新位置。此外,优选封装方案,以致去往旧位置的分组可被转发给新位置。封装不是进行网络地址转换(NAT)。
[0026]总的说来,对于每个会话,上述现有技术中的网络地址转换的数目为2 ( —个在客户端一侧,一个在VM —侧)。然而,在本发明的实施例中,只在全局移动锚点中进行网络地址转换。目的地地址(即,VM地址)不被替换。相反,利用局部移动锚点等,封装该地址,直到它到达VM为止。【专利附图】

【附图说明】[0027]下面参考附图,说明本发明的优选实施例,其中:
[0028]图1是管理多个虚拟机的分级系统的实施例的方框图;
[0029]图2a是由全局迁移锚点进行的过程的流程图;
[0030]图2b是由局部迁移锚点进行的过程的流程图;
[0031]图3a是图解说明对于云内迁移进行的处理的流程图;
[0032]图3b是在云间迁移中进行的过程的流程图;
[0033]图3c图解说明在寻呼处理期间进行的过程;
[0034]图3d图解说明当存在多个全局迁移锚点时进行的处理;
[0035]图4图解说明关于本发明的应用情形的目标结构;
[0036]图5图解说明与蜂窝网络迁移管理架构相比的本发明的系统/方法的概况;
[0037]图6图解说明具体的初始化过程;
[0038]图7图解说明具体的服务发现和会话建立过程;
[0039]图8图解说明在会话建立之后的数据路径;
[0040]图9a图解说明启动模式下的迁移支持/移交过程;
[0041]图9b图解说明云内迁移的迁移支持/移交过程;
[0042]图9c图解说明云间迁移的迁移支持/移交过程;
[0043]图9d图解说明z?间迁移的最终状态;
[0044]图10图解说明位置更新过程的流程图;
[0045]图11图解说明带有网络配置平台的高级图示;
[0046]图12图解说明位置登记/更新过程。
【具体实施方式】
[0047]在更详细地说明实施例之前,说明与虚拟机技术有关的一些要素。一个过程是一个虚拟机实例化。这里,进行到管理程序的登录,随后发出发布命令。所述发布命令意味将实例化虚拟机,该虚拟机被赋予某个标识(ID)。此外,定义一定的存储器,比如128Mbps。此外,定义具有例如一个或多个核的CPU,并给出诸如I X.y.z之类的IP地址。在本例中,该数据是为在某个硬件或物理机上实例化,即,实现虚拟机所必需的。虚拟机的具体实现在本发明的范围之外。一些例证实现是XEN、VMWare、KVM等。
[0048]对虚拟机迁移来说,所述实现的虚拟机必须从第一物理服务器或物理机A迁移到第二物理服务器或物理机B。在物理服务器A上以前实例化的虚拟机利用为该虚拟机定义的资源进行某些会话。一般地,通过在第二物理服务器B上实例化相同的虚拟机,并通过启动从物理服务器A到物理服务器B的存储器复制,实现虚拟机迁移。
[0049]随后,从物理服务器A实际移出所述虚拟机,并放入物理服务器B中,然后在物理服务器B上进行会话,虚拟机使用的物理服务器A上的资源现在被释放。不过,这只有在一个管理域内,比如在一个云中才是可能的。
[0050]下面讨论图4,图4图解说明核心传输网络400,核心传输网络400例如是日本核心传输网络。此外,作为一个云402,例示了因特网,另外例示了用于日本城市大阪和仙台的单独节点云404、406。[0051]此外,例示了用于日本首都东京的两个服务云408、410,例示了用于日本首都的3个节点云412、414、416。此外,例示了两个区域,比如区域A和区域B418和420。本质上,本发明的概念依赖于如果固定电话机能够变得移动,那么固定服务器也可变得移动的事实。这种过程的应用情况是灾难管理。为此,例如,放在服务云东京408上的应用程序可被迁移到服务云大阪410。其它应用情况是维护。为此,例如,一个应用程序可从节点云东京-1412被迁移到节点云东京-3。其它过程可以是例如把应用程序从节点云东京-2414转移到416。另一种应用情况可以是节能。尤其是对于灾难管理来说,会认识到小于I分钟的迁移时间的重要性。
[0052]在地理分散的云系统中,云内(微迁移)和云间(宏迁移)迁移管理应是有益的。挑战在于归因于虚拟化技术的普及,虚拟机不再被束缚于任何物理位置。为了使它们完全可移动,这些挑战尤其涉及无缝会话迁移,迁移后的虚拟机的发现,和路线优化,即,通过核心传输网络到某个云,然后到某个虚拟机/物理机(虚拟机运行于其上)的通信路线。
[0053]图5中特别图解说明了本发明的基本概念。在图5的右手侧图解说明了按照本发明概念的最后得到的结构,其中第一组物理机100连接到局部迁移锚点110,第二组物理机120连接到第二迁移锚点130。此外,两个局部迁移锚点110,130都连接到在一侧的全局迁移锚点140,另外,通信连接到虚拟机位置寄存器150。此外,全局迁移锚点140另外具有与虚拟机位置寄存器(VMLR) 150的通信连接。下面更详细地说明图1。图1图解说明管理多个虚拟机的分级系统。
[0054]系统包括第一局部迁移锚点110,第一局部迁移锚点110可连接到第一组的至少两个单独的物理机100a、100b、100c。局部迁移锚点110被配置成保存单独的数据集110a、110b,其中每个数据集包含第一虚拟机,比如位于第一组的至少两个物理机中的一个物理机上,比如位于物理机IOOb或者说PM2上的VMl的虚拟机标识,和所述一个物理机,即PM2的物理机标识。并行地,可连接到第二组的至少两个物理机,比如120a、120b、120c的第二局部迁移锚点130另外被配置成保存对应的数据集130a、130b。每个数据集130a、130b同样包括位于第二组的至少两个物理机中的一个物理机上的虚拟机的虚拟机标识,和该物理机的对应物理机标识。特别地,当虚拟机η位于具有物理机标识ΡΜ4的物理机120c上时,那么数据集包括与虚拟机η所位于的物理机ID ΡΜ4相联系的VM ID VMn。例证地,另一个虚拟机VM(n+l)位于具有物理机ID PM5的物理机120b上,于是,第二数据集130b具有彼此相联系的虚拟机VM(n+1)的ID和关联物理机PM5的ID。自然地,物理机另外可托管更多的虚拟机,在这种情况下,每个虚拟机会具有某一数据集,其中对于位于该特定物理机上的每个虚拟机,这些数据集会具有相同的物理机ID。
[0055]此外,在GPl指示的全局迁移锚点140通过第一连接线141a,连接到第一局部迁移锚点LP1,并通过另一个连接线141b,连接到第二局部迁移锚点LP2。
[0056]全局迁移锚点GPl被配置成在某个数据记录中,保存第一虚拟机进行的应用的第一服务标识,所述第一服务标识被表示成数据记录140a中的IDl,或者被表示成第二数据记录140b中的ID2。此外,数据记录140a包括第一虚拟机VMl的关联标识,和第一局部迁移锚点LPl的标识。此外,第二数据记录140b具有由第二虚拟机,比如具有物理ID PM4的物理机120c中的VMn进行的应用的服务标识ID2。不过,在全局迁移锚点的数据记录中,不需要任何物理机ID,因为本发明具有分级的2层结构。[0057]虚拟机位置寄存器可被连接到局部迁移锚点,如用阴影线151a和151b所示,不过情况未必如此。另一方面,VMLR150通过连接线151c,连接到全局迁移锚点,通过连接线151d,连接到诸如GP2之类的任何其它全局迁移锚点。
[0058]VMLR包含关于在与连接到VMLR的全局迁移锚点相联系的任意物理机中运行的每个虚拟机的数据条目。从而,单个VMLR用于具有多个不同云的整个网络,VMLR具有关于在这些云任意之一中运行的每个虚拟机的数据条目。此外,VMLR具有诸如ID1、ID2之类的服务的标识,具有虚拟机的标识,具有带有虚拟机的物理机连接到的局部迁移锚点的标识,另外,对于每个ID,VMLR具有对应的全局迁移锚点。由于两个虚拟机VMl,VMn都被连接到GPl,因此两个数据条目具有相同的GPl条目。当仅仅使用单个全局迁移锚点时,VMLR中的GP条目不必要。
[0059]此外,分级系统另外包括中央网络管理系统160,和用于第一组物理机100的组管理器101,以及用于第二物理机的独立的组管理器121。
[0060]此外,如后所述,每个局部迁移锚点最好包括指示有效时期的定时器,对LPl来说为110c,对LP2来说为130c。特别地,当需要时,图1中图解所示的每个设备被配置成把某些消息传送给其它通信伙伴,和/或接收、解释并处理从其它通信伙伴接收的消息。
[0061]此外,如图2a中图解所示,全局迁移锚点140被配置成关于利用服务标识(ID)识别的服务,从客户端接收数据消息(方框200),其中显示在方框200的右侧的所述数据消息具有源条目201、目的地条目202和有效负载条目203。源条目指示打算由该服务提供服务的客户端,而目的地条目识别接收该数据消息的全局迁移锚点。随后,如步骤205中所示,全局迁移锚点被配置成处理接收的数据消息,以致源条目201识别全局迁移锚点,而目的地条目一方面识别局部迁移锚点LP,另一方面识别虚拟机,全局迁移锚点能够完成所述处理,因为保存的数据记录包含特定的服务标识。
[0062]如图2b中图解所示,局部迁移锚点被配置成从全局迁移锚点接收数据消息,如在210图解所示。特别地,局部迁移锚点然后被配置成根据保存的包含利用所述数据消息指示的虚拟机标识的数据集,在数据消息中,用物理机标识代替局部迁移锚点标识,如关于目的地字段202所示。具体地,在方框215中也图解说明了利用特定的物理机对目的地条目的替换。
[0063]下面讨论图3a。图3a图解说明图1中图解所示的中央网络管理器(CNMS) 160的一种功能。特别地,CNMS接收关于组内迁移的请求或决定,如在300所示。局部迁移锚点被配置成从其对应的组管理器,比如图1中的101接收新的物理机的ID,如在305所示。然后,局部迁移锚点在数据集中,用第二(新的)物理机的标识代替第一物理机的标识。如在310图解所示。从而,组或云内的迁移只对保存在局部迁移锚点中的数据集有影响,而对保存在全局迁移锚点中的数据记录没有任何影响。也不需要VMLR中的任何变化,因为VMLR不保存任何物理机标识,而只保存LP/GP和服务ID数据。
[0064]图3b图解说明其中中央网络管理器160对组间迁移,即,虚拟机从与第一局部迁移锚点相关的第一物理机到与不同的局部迁移锚点相关的第二物理机的迁移作出决定的情况。图1的CNMS160于是接收组间迁移的请求或决定,如在315所示。然后,作为迁移目的地的第二局部迁移锚点被配置成从第二组物理机中的第一物理机,接收第一虚拟机位于第二组物理机中的第一物理机,即新的物理机中的信息,如在320图解所示。另外,第二局部迁移锚点被配置成向全局迁移锚点发送消息,如在325图解所示。该消息指示第一虚拟机现在位于第二组物理机中,然后如在330图解所示,全局迁移锚点被配置成访问虚拟机位置寄存器VMLR150,以便获得关于先前的局部迁移锚点的信息(330)。另一方面,或者另外地,第二局部迁移锚点被配置成向VMLR发送消息,以获得关于先前的局部迁移锚点的信息,如在335图解所示。基本上,过程330和335之一就足够了,不过取决于实现,可以累加地进行这两个过程。
[0065]在步骤340,第一局部迁移锚点被配置成通过在数据消息的目的地条目中,指示第二局部迁移锚点,把将被送往第一虚拟机的该数据消息发送给第二局部迁移锚点,以致所述数据消息被路由到所需的虚拟机存在于的正确物理机。另外,第一虚拟机可把迁移后的第一局部移动锚点通知第二局部移动锚点。
[0066]随后讨论图3c,图3c指示某种寻呼功能。在步骤350,局部迁移锚点向连接到该局部迁移锚点的一组物理机中的所有物理机,发送识别某个虚拟机的位置登记更新请求。在步骤355,该局部迁移锚点接收来自所述某个虚拟机位于的物理机的答复。在步骤360,局部迁移锚点被配置成把所述某个虚拟机所位于的物理机通知虚拟机位置寄存器,或者另外通知全局迁移锚点。此外,VM可直接答复LP,以致使整个通信量对PM来说是透明的。
[0067]图3d图解说明最好在具有两个全局迁移锚点,比如GPl和GP2的系统中进行的过程。在步骤370,GPl接收对具有服务ID的服务的客户端请求。然后,在步骤375,GP1关于所述服务ID,检查其数据记录。如果未找到包含在该消息中的服务ID,那么GPl访问VMLR,如步骤380中图解所示。然后,在步骤385,GPl从VMLR接收GP2的ID。然后,在步骤390,GPl把所述客户端和/或具有所述服务ID的服务通知GP2,在步骤395,GP2直接寻址该客户端,或者通信经GPl被路由到GP2,然后被路由到该客户端。不过,一旦所述数据消息的接收者,即,某个局部迁移锚点在分级网络中,识别出利用服务标识寻址的某个虚拟机连接到的实际全局迁移锚点,就也可进行其它备选方案。
[0068]下面更详细地说明图6,以便举例说明初始化过程的详细实施例。
[0069]在600图解所示的物理机包括迁移管理模块601。在通过定义虚拟机的ID、IP地址、存储器和诸如核心I之类的某个硬件资源,实例化虚拟机之后,虚拟机602存在于物理机中。然后,物理机控制器603发送它自己的物理机ID,所述物理机ID被表示成PM ID。然后,虚拟机的迁移管理模块604保存所述PM ID,并把它自己的VM-1D或者“服务ID”回送给物理机迁移管理601。注意本领域中众所周知,所述服务ID和应用ID或URL相同。物理机的迁移管理功能随后把虚拟机的服务ID和物理机的物理机ID传送给指定的迁移锚点,如在605所示。随后,局部迁移锚点保存虚拟机ID、物理机ID,然后把服务ID、虚拟机ID、物理机ID和局部迁移锚点ID通知全局迁移锚点,如在步骤606中所示。然后,全局迁移锚点保存服务ID、虚拟机ID和局部迁移锚点ID,并把服务ID、虚拟机ID、局部迁移锚点ID和全局迁移锚点ID通知VMLR,如在607所示。VMLR然后打开一个条目,相互关联地保存服务ID、虚拟机ID、局部迁移锚点ID和全局迁移锚点ID。此外,最好利用来自接收登记的每个模块的ACK (确认)消息和答复,进行整个登记处理,即,LP向物理机回送答复,GP向LP回送答复,VMLR向GP回送答复。
[0070]下面在图7的环境中,说明服务发现和会话建立。
[0071]首先,在图7中的700图解所示的客户端向所谓的DNS服务器发送消息。具体地,客户端想要访问某个服务,该服务运行于客户端自然不知道的虚拟机上。然而,客户端知道web地址,于是,客户端利用第一消息711访问DNS服务器701,以便关于该URL,找出服务器ID的信息。然后,DNS服务器702答复以第二消息,所述第二消息指示虚拟机所关联的全局迁移锚点的ID。该信息可由DNS服务器提供,因为就一方面的全局迁移锚点和另一方面的服务ID或URL的关联而论,DNS服务器被更新,如在步骤712图解所示。然后,在第三步骤中,客户端700访问在请求该客户端想要建立关于所述URL的会话的消息712中指示的GP,如在713图解所示。
[0072]GPl随后通过告诉LP1,所述GPl (而不是客户端700本身)想要建立关于该URL的会话,并且GPl指出所述会话是GP1,而不是客户端的会话,如在714图解所示,来寻址关联的LPl。该信息经对应的LP,比如LPl被路由到第一个云720,LPl知道在消息714中指示的虚拟机ID所属于的物理机ID721。在722指示了虚拟机ID。然后,物理机,具体地,物理机的迁移管理,和虚拟机的迁移管理,或者只有在图6中讨论的迁移管理元件借助表示许可会话建立,并且会话主持者为GPl的消息715进行答复。然后,如716图解所示,GPl向客户端报告许可会话,并且会话是客户端的会话。然而,客户端未注意到特定的会话主持者是GP1,而不是客户端自己。
[0073]下面参考图8,说明数据路径。在利用图7的过程建立会话之后,客户端700现在开始传送有效负载。这是利用具有指示GPl作为客户端发送的消息的目的地的目的地部分,具有指示所述客户端作为源的源部分,和具有有效负载部分的消息800实现的。随后,GPl把消息802发送到与特定服务ID相关的局部迁移锚点。为此,源字段从客户端I被改变成GP1,目的地字段一方面被改变成虚拟机,另一方面被改变成局部迁移锚点ID,如在消息802所示。然后,局部迁移锚点把消息803发送给特定的物理机。同样,源字段未变化,仍然为GPl,然而,目的地字段被改变,以指示物理机ID和虚拟机,而不是消息802中的局部迁移锚点ID和虚拟机。然后,具有指示的物理机ID的物理机把消息804发送给利用目的地字段指示的虚拟机,所述虚拟机然后处理该消息,并在消息805中回送结果。于是,该消息具有目的地GPl和作为在云1720内,实际产生该消息的虚拟机的源。然后,与托管虚拟机的物理机相关的迁移管理器从与虚拟机相关的迁移管理器接收消息805。物理机随后把消息806发送到源字段仍然为VM,目的地字段仍然为GP1,并且目的地另外被指示成为LPl的局部迁移锚点。不过,只有当LP未被配置成云的输出网关时,才必须这样。然而,如果LPl被自动配置成云720中的所有物理机的输出网关,那么不需要消息806的LP1,从而消息805和806相同ο
[0074]然后,LPl把消息807发送到GP1,在GP1,除了 LPl标识的剥离之外,源字段和目的地字段保持不变。然后,实际具有URL-VM条目的GPl把文件消息808发送给客户端700,从而客户端实际上觉得客户端的服务是由GPl提供的。从而,图8图解说明本发明的分级系统的显著优点,即,客户端不必关心分级系统中往下的任何事,只需要注意消息将被发送给的全局迁移锚点。
[0075]下面,讨论图9a,以便举例说明迁移支持/移交。图中图解说明了 3个云901、902、903,其中图解说明了物理机904和不同的物理机905。此外,图解说明了 VMLRl50、LP1110、LP2130和另一个局部迁移锚点#n,另外,图解说明了两个全局迁移锚点140和另一个全局迁移锚点910。消息911具有有效负载部分和目的地部分,目的地部分具有VM ID和物理机904的物理机ID。现在,如图9b中图解所示,虚拟机将从物理机904被迁移到物理机905,即,在云内迁移。借助消息912,把该信息从物理机传达给局部迁移锚点,局部迁移锚点LPl于是把消息911中的物理ID条目从机器904的物理ID改变成机器905的物理ID。然而,当虚拟机从云901的物理机905被转移到第二个云的物理机915时,另外的过程是必需的,下面在图9c的环境中讨论所述另外的过程。在第一步骤,具有虚拟机ID的虚拟机从物理机905被转移到物理机915,如在920图解所示。下一个步骤是物理机915把该新情况通知其关联的局部迁移锚点130。这是借助消息921完成的。然后,局部迁移锚点130借助消息922,把该新情况通报其关联的全局迁移锚点。另外,可以借助消息923,从LP2130向LPlllO通报该新情况,或者可以借助消息924,从GP1140向VMLR通报该新情况。然后,仍然拥有图%的消息911的局部迁移锚点110必须处理该消息。因此,先前指示物理机905的目的地字段现在指示局部迁移锚点130,如在图9c中的925图解所示。随后,该消息可实际到达局部迁移锚点130。然后,如在图9d中图解所示,LP2130用物理机915的物理机ID,代替它自己,即,局部迁移锚点的物理ID。然后,如在图9d中所示,到达全局迁移锚点的消息被路由到局部迁移锚点110,然后从局部迁移锚点110被路由到局部迁移锚点130,以便最终到达现在位于方框915的虚拟机。然而,如果分组排序不是问题,即,如果虚拟机具备分组重排序功能,那么全局迁移锚点140可以采取直接路线940,而不是经由LPl的间接路线939。
[0076]从而,这种过程避免由迁移引起的会话中断,因为平滑地发生重新路由,而不存在客户端会经历的任何过程。此外,由于所有的重新路由过程是利用可用信息发生的,因此LPl110、113或GP能够利用如前所述,对源字段或目的地字段的对应操作,容易地转发消息。与其中只存在中央控制器的集中式解决方案相比,路线939、940明显更短。
[0077]下面讨论图10,以便图解说明和各个实体的协同有关的流程图。在方框1000,判定是否已发生VM实例化或VM迁移。当确定未发生类似VM实例化或VM迁移的任何事时,该过程结束。然而,当确定发生了实例化或迁移时,那么进行步骤1010,在步骤1010中,虚拟机向物理机登记它自己。如果物理机已具有有效的虚拟机信息,那么该步骤可被跳过。在步骤1020,虚拟机和对应的物理机登记它们对应的局部迁移锚点。如果这是云内过程,那么进行在方框1030中图解所示的过程。然而,当在方框1025中,判定是云间过程时,那么目前具有该虚拟机的局部迁移锚点把云间迁移通知先前的局部迁移锚点、全局迁移锚点和VMLR,如在方框1035中图解所示。然而当方框1025确定云内迁移时,那么进行方框1030。方框1030指示登记定时器到期,或者由LP、GP或VMLR发出的有意更新请求。所述定时器位于局部迁移锚点,如在方框110c、130c所示,当定时器到期时,LP或者GP或者VMLR或者所有各个实体进行位置更新。然而,当定时器未到期时,方框1040指示什么也没发生,直到登记定时器到期为止。于是,响应各个触发,进行在方框1010和后续各个方框中图解所示的过程。一个触发是登记定时器到期,另一个触发是来自任意LP、任意GP或者VMLR的位置更新请求。
[0078]下面,讨论特定的优选寻呼功能。如果VMLR、GP、LP中的有效条目由于任何原因而不可用,其中一个原因也可以是数据破坏或者数据传输错误或者类似的某事,那么VMLR、GP和/或LP可以要求所有LP (或者虚拟机在不久的过去最近驻留过的一些LP)进行寻呼。这也可通过GP进行,另外,VMLR可以独自进行寻呼,或者要求GP进行寻呼,GP随后要求在其覆盖范围内的LP进行寻呼。
[0079]然后,LP向它们各自的云中的所有物理机(PM)广播位置登记/更新请求。然后,托管所讨论的VM的物理机(或者VM它自己)答复LP,具体地,答复位置登记/更新请求,于是,LP知道哪个物理机托管该虚拟机。LP然后通知VMLR,还可通知GP或者更多的全局迁移锚点。为此,LP然后把它自己的LP ID转发给VMLR,VMLR随后可关于服务ID更新对应的数据条目,以致来自客户端的新的会话请求可通过正确的GP,被实际转发给正确的LP,并从正确的LP被转发给正确的物理机。
[0080]图11图解说明作出迁移决定的另外的过程。网络配置平台NCP1100维持与不同云,尤其是与不同的云控制器1110和1120的接口。网络配置平台NCP维持与这些不同的云控制器(云0&M)的这些接口,并且最好根据它自己的监测或者根据来自云控制器1120、1110的信号,作出决定。所述决定指出虚拟机应从哪个云迁移到哪个云。云控制器1120、1110负责向在受也被表示成图1中的组管理器101、121的云控制器控制的物理机上的虚拟机分配资源。特别地,VMLR保存服务ID或“URL”、关联的虚拟机ID、LP ID和GP ID。
[0081 ] 路线改变、服务提供和虚拟机发现是结合GP进行的,前面已对此进行了讨论。
[0082]由于下述原因,本发明是有利的。本发明的分级系统可扩展,因为只需要少许锚点,比如LP和GP。例如从信令的角度看,这降低了复杂性。此外,本发明的过程是蜂窝网络友好的,在全球广泛运营蜂窝网络的情况下,从运营蜂窝网络获得的经验也可用于云计算。本发明的优选实施例涉及包含至少两个物理机的云或组的系统,其中多个物理计算机(PM)托管多个虚拟机。此外,所述系统包含一个或多个局部迁移锚点(LP),一个或多个全局迁移锚点GP,和虚拟机位置寄存器,其中这些实体都拥有待识别的唯一 ID,并且拥有到虚拟机的位置的指针。
[0083]本发明的一个特征是将在VM、PM、LP和/或GP进行的位置登记步骤,通过位置登记步骤,VM、PM、LP、GP和/或VMLR获得关于先前提及的VM位于网络中的何处,即,它在哪个PM中,和它提供何种服务的知识,所述何种服务由服务ID或URL识别。
[0084]本发明还涉及一种数据库系统,所述数据库系统保持应用程序访问ID,比如服务ID/URL,其托管虚拟机,虚拟机位于哪个物理机中,物理机/LP关联,和LP/GP关联的映射,其中这些实体,即,物理机、局部迁移锚点和全局迁移锚点是利用它们的ID识别的。
[0085]在本发明的另一个方面,局部迁移锚点支持虚拟机在相同云内的迁移,并保持关于哪个虚拟机位于哪个物理机中的信息。特别地,当虚拟机转移到新的物理机时,局部迁移锚点改变物理机ID。从而,局部迁移锚点被配置成把送往虚拟机的数据路由到该虚拟机所位于的适当物理机,这最好是通过在数据报头的前面增加适当的物理机ID完成的。
[0086]局部迁移锚点负责通过例如在数据报头中附加新的LP-1D,把送往虚拟机的数据转发给虚拟机在迁移之后的新的局部迁移锚点,所述新的局部迁移锚点位于所述局部迁移锚点负责的云中。
[0087]如果VM从一个云迁移到另一个云,那么局部迁移锚点此外通知VMLR和GP,另外,先前的LP也被通知。
[0088]局部迁移锚点可依据来自VMLR或GP的请求,或者独立地向在其云中的所有物理机发出广播寻呼消息,以通过在所述寻呼消息中明确地提及特定的虚拟机ID,对于所有虚拟机或者对于一个或几个虚拟机发起虚拟机位置更新。[0089]全局迁移锚点(GP)支持虚拟机在云之间/之中的迁移,并保持关于通过哪个局部迁移锚点可如何到达虚拟机的信息。另外,GP起解析应用ID和应用机器,比如VM的主机之间的关系的解析器的作用,GP把它自己的ID作为客户端正在搜索的应用的ID,返回给查询客户端。它保持App-1D-VM-LP-GP信息,或者所述信息的至少一部分。
[0090]GP最好代表客户端设置/开启与应用所位于的虚拟机的会话,并假装它自己是源,在会话拆分的环境中也已讨论了这一点。
[0091]GP最好通过用它自己的ID,替换作为源的客户端ID,转发来自客户端的数据。随后,它在数据报头前面附加适当的LP ID。
[0092]当GP从局部迁移锚点收到关于虚拟机的位置更新时,通过附加代替先前的LP的新LP的ID,GP能够改变正在进行的会话到虚拟机的新位置的路线。
[0093]GP另外被配置成当从虚拟机收到送往客户端的数据时,替换虚拟机的源ID,GP独自进行该操作,并假装它是数据的源。GP还把数据的目的地从它自己替换成客户端ID。
[0094]虚拟机位置寄存器保持关于哪个应用ID位于哪个虚拟机中,该虚拟机被哪个局部迁移锚点覆盖,而该局部迁移锚点又被哪个全局迁移锚点覆盖的信息(URL-VM-LP-GP),或者至少该信息的一部分。应用ID指的是诸如web应用、视频之类应用服务的标识符。例如,URL是应用ID的一个例子。
[0095]注意LP、GP和VMLR的位置相对于彼此是任意的。这些实体可以物理地或者功能地部署在相同的地方,可以就其功能而论部署在一起,或者可以就其物理位置或功能位置而论保持分离。
[0096]在一个实施例中,GP可以与LP合并。在这种情况下,GP的功能由LP实现。然而,合并设备具有GP功能,即,数据记录,和LP功能,即,数据集。
[0097]如果会话不被拆分,即,不进行封闭,那么客户端始终以虚拟机ID作为目的地发送数据,旧LP把数据转发给迁移后的新LP。在这样的情况下,LP起云的入口 /出口网关的作用。
[0098]于是,本发明另外涉及多个服务器联合体(firm),其中每个服务器联合体具有多个物理服务器。每个物理服务器机器保持多个虚拟服务器机器,其中每个服务器联合体连接到局部迁移锚点,其中多个局部迁移锚点连接到全局迁移锚点。局部迁移锚点和全局迁移锚点被连接到虚拟服务器机器位置寄存器,所述虚拟服务器机器位置寄存器保持关于哪个应用位于哪个虚拟机中,哪个虚拟机被哪个LP覆盖,和哪个LP被哪个GP覆盖的信息。特别地,VM、PM、LP和GP具备迁移管理功能,从而通过GP-LP-PM链可追踪虚拟机的位置。
[0099]在另一个实施例中,提供网络配置平台,所述网络配置平台维持与不同的云控制器或组管理器(比如图1的101和121)的接口。该网络配置平台或云间迁移管理模块,比如图11的1100根据它自己的监测或者根据来自组管理器的信号,作出应如何进行迁移和/或哪个虚拟机应从哪个云迁移到其它的哪个云的决定。每个云的组管理器或者“云0&M”负责向在由对应的组管理器管理的物理机上的虚拟机分配资源。
[0100]下面更详细地说明位置登记/更新处理。具有其初始ID的虚拟机向它目前所在的物理机PM登记它自己。
[0101]或者,虚拟机向局部迁移锚点发送位置登记消息。在这种情况下,它从它所在物理机接收物理机的ID和LP的ID。另一方面,PM代表虚拟机进行位置登记。在这种情况下,物理机把它自己的ID和VM ID发送给LP,以致LP知道该VM存在于该特定PM中。LP把虚拟机到物理机的映射保存在其数据库/其多个数据集中。该条目的有效性由在最好由LP中的对应定时器定义的预定时期之后的到期所决定。在该时期中,虚拟机或物理机必须重新执行位置登记处理。
[0102]如果PM未收到关于虚拟机/物理机条目的位置更新消息,那么PM被配置成向虚拟机/物理机发送位置更新请求。
[0103]如果收到肯定的答复,那么VM-PM条目有效性被延长到预定的时期。
[0104]PM也可发送否定的答复,S卩,VM不再在该PM之中,或者可以忽视这样的消息。如果对于其位置更新请求,LP获得否定的答复或者没有获得答复,那么它从多个数据集中删除该特定条目。LP还可通知VMLR,关于该特定VM的VM-LP条目的条目不再有效。
[0105]当虚拟机被实例化,或者被转移到不同的PM时,进行位置登记。
[0106]LP还可在任何时候(例如,如果该LP必须重启它自己,从而失去所有的VM-PM映射),要求在其覆盖范围内的所有PM进行位置登记/更新。在这种情况下,PM可以利用单一消息进行位置登记/更新,所述单一消息把PM ID和所有的VM ID包含在一条消息中。
[0107]下面图解说明图12,图12表示在实例化/迁移/重启之后,由虚拟机进行的过程。
[0108]首先,VM把其VM-1D发送给VM所位于的PM,如在图12的1200所示。然后,PM把消息内的VM-1D和它自己的PM-1D发送给连接的LP,如在1202所示。特别地,LP能够猜测它正在从其接收消息的PM-1D,因而这会是PM-1D的隐含通知,在这种情况下,在消息1201中不需要PM-1D。
[0109]LP随后在消息1204中,把VM-1D和LP-1D发送给连接的GP,把该信息发送给先前的LP,如在1206所示,并利用消息1208,把该信息发送给VMLR。另一方面或者另外地,GP把该信息发送给VMLR,如在1210所示,即,作为消息1208的替换物,或者除了消息1208之外。
[0110]下面进一步说明会话设置,以呈现本发明的优选实施例。
[0111]客户端首先关于URL/VM-1D转换检查其DNS服务器。例如,一种情形是GP作为与DNS过程类似的URL — VM-1D转换器。于是,所有客户端向GP要求URL到可路由ID转换。在这种情况下,所有客户端被预先编程,以向GP要求URL—可路由ID解析。
[0112]其它URL — VM-1D转换器可把URL — VM-1D解析请求重定向到GP,这与DNS重定向相似。
[0113]GP检查它自己的内部数据库,寻找有效(未到期)的VM-1D — LP-1D映射。如果GP未找到所述映射,那么GP向VMLR要求适当的URL — GP-1D — LP-1D — VM-1D映射。按照来自VMLR的响应,GP回送它自己的ID,作为相对于客户端正在请求的URL的目的地ID (并把URL-GP-LP-VM映射保存在其数据库中),如果GP发现LP在它自己的覆盖范围内,并且如果它想要服务的话(由于负载或运营商策略的缘故)。
[0114]如果VM附属于不在该GP的覆盖范围内的LP,那么GP把来自客户端的解析请求重定向到充当虚拟机的全局迁移锚点的GP,在该全局迁移锚点,该信息被包含在来自VMLR的响应中。
[0115]在数据会话开始之前,GP也需要与虚拟机建立会话。在客户端获得目的地可路由ID(比如GP-1D)之后,它在数据传输之前,开始会话建立过程。在会话建立消息中,GP用它自己的ID代替源ID( S卩,客户端ID),并用VM-1D代替目的地ID ( S卩,它自己的ID)。然后它附加负责的LP的ID,并转发这样处理的消息。
[0116]于是,送往VM的数据分组首先到达GP。GP用目的地VM-1D替换它自己的ID,只有GP把目的地VM-1D当作源,客户端把GP,而不是实际应用所位于的VM视为目的地,然后GP转发该数据分组。于是,GP保持进行客户端-GP — GP-VM会话的映射的表格,这与NAT特征类似。
[0117]在把数据转发给VM之前,GP用LP-1D封装该数据,以致在到VM的途中,所述数据到达LP。当收到所述数据时,LP剥离外部的ID,S卩,它自己的ID。LP找出作为下一个ID的VM-1D。LP检查其数据库,以找出VM-1D — PM-1D映射。LP随后用作为目的地的PM-1D封装所述数据。
[0118]于是,PM接收数据,PM随后剥离外部ID (它自己的ID),于是VM-1D变得可见,于是,所述数据被传送给由现在可见的VM-1D识别的适当VM。
[0119]尽管关于设备说明了一些方面,不过显然这些方面也代表对应方法的说明,其中块或装置对应于方法步骤,或者方法步骤的特征。类似地,关于方法步骤说明的方面也代表对应设备的对应块或零件或特征的说明。
[0120]取决于某些实现要求,本发明的实施例可用硬件或软件实现。可以利用保存有电可读控制信号的数字存储介质,比如软盘、DVD、CD、R0M、PR0M、EPR0M、EEPR0M或闪速存储器,完成所述实现,所述电可读控制信号与(或者能够与)可编程计算机系统协作,以致实现相应方法。
[0121]按照本发明的一些实施例包含非临时性数据载体,所述非临时性数据载体具有能够与可编程计算机系统协作,以致实现这里说明的方法之一的电可读控制信号,或者保存
有第一或第二采集信号或者第一或第二混合信号。
[0122]通常,本发明的实施例可被实现成具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,所述程序代码能够实现所述方法之一。例如,程序代码可保存在机器可读载体上。
[0123]其它实施例包含保存在机器可读载体上的,实现这里说明的方法之一的计算机程序。
[0124]换句话说,于是,本发明的方法的一个实施例是具有程序代码的计算机程序,当所述计算机程序在计算机上运行时,所述程序代码实现这里说明的方法之一。
[0125]于是,本发明的方法的另一个实施例是一种数据载体(或者数字存储介质,或者计算机可读介质),所述数据载体包含记录在上面的,用于实现这里说明的方法之一的计算机程序。
[0126]于是,本发明的方法的另一个实施例是代表用于实现这里说明的方法之一的计算机程序的数据流或信号序列。例如,所述数据流或信号序列可被配置成经数据通信连接,例如经因特网传送。
[0127]另一个实施例包含配置成或者适合于实现这里说明的方法之一的处理装置,例如计算机,或者可编程逻辑器件。
[0128]另一个实施例包含装有实现这里说明的方法之一的计算机程序的计算机。
[0129]在一些实施例中,可以使用可编程逻辑器件(例如,现场可编程门阵列)来实现这里说明的方法的一些或所有功能。在一些实施例中,现场可编程门阵列可以与微处理器协作,以实现这里说明的方法之一。通常,所述方法最好用任意硬件设备实现。
[0130]上述实施例只是本发明的原理的举例说明。显然对本领域的技术人员来说,这里说明的安排和细节的各种修改和变化是显而易见的。于是,本发明仅由以下权利要求的范围限定,而不受利用这里的实施例的说明和解释给出的具体细节限定。
【权利要求】
1.一种用于管理多个虚拟机的分级系统,包括: 可连接到第一组的至少两个物理机(IOOaUOOb)的第一局部迁移锚点(110),其中第一局部迁移锚点被配置成保存数据集(IlOaUlOb),所述数据集(IlOaUlOb)包括位于第一组的至少两个物理机中的一个物理机上的第一虚拟机的虚拟机标识,和所述一个物理机的物理机标识; 可连接到第二组的至少两个物理机(120a、120b)的第二局部迁移锚点(130),其中第二局部迁移锚点被配置成保存数据集(130a、130b),该数据集(130a、130b)包括位于第二组的至少两个物理机中的一个物理机上的第二虚拟机的虚拟机标识,和所述一个物理机的物理机标识; 连接到第一局部迁移锚点和第二局部迁移锚点的全局迁移锚点(140),其中全局迁移锚点被配置成在第一数据记录(140a)中保存第一虚拟机执行的应用的第一服务标识、第一虚拟机的关联标识、以及第一局部迁移锚点的标识,并且在第二数据记录(140b)中保存第二虚拟机执行的应用的服务标识、第二虚拟机的关联标识、以及第二局部迁移锚点的标识; 虚拟机位置寄存器(150),虚拟机位置寄存器(150)被配置成保存关于第一虚拟机的第一数据条目(150a),第一数据条目包含第一服务标识、第一虚拟机的标识以及第一局部迁移锚点的标识,并且包含第二数据条目(150b),第二数据条目(150b)包含第二服务标识、第二虚拟机的标识、以及第二虚拟机所位于的物理机可连接到的第二局部迁移锚点的标识; 中央网络管理系统(16 0);以及 用于每组物理机的组管理器(101、121), 其中中央网络管理系统(160)被配置成接收(315)或者作出把第一虚拟机从第一组物理机迁移到第二组物理机中的第一物理机的决定, 其中第二局部迁移锚点被配置成从第二组物理机中的第一物理机接收(320)第一虚拟机位于第二组物理机中的第一物理机中的信息, 其中第二局部迁移锚点被配置成向全局迁移锚点发送(325)第一虚拟机位于第二组物理机中的消息,其中全局迁移锚点被配置成访问(330)虚拟机位置寄存器,以便接收关于先前的局部迁移锚点的信息,或者其中第二局部迁移锚点被配置成向虚拟机位置寄存器发送(335)消息,以获得关于先前的局部迁移锚点的信息,并且 其中第一局部迁移锚点被配置成通过在要送往第一虚拟机的数据消息的目的地条目中指示第二局部迁移锚点,把所述数据消息发送给(340)第二局部迁移锚点。
2.按照权利要求1所述的分级系统,还包括连接到第三局部迁移锚点和第四局部迁移锚点的第二全局迁移锚点, 其中虚拟机位置寄存器(150)被配置成在每个数据条目中另外保存在所述数据条目中识别的局部迁移锚点连接到的全局迁移锚点的全局迁移锚点标识。
3.按照权利要求1或2所述的分级系统, 其中全局迁移锚点被配置成接收(200)来自客户端的关于利用服务标识识别的服务的数据消息,其中所述数据消息具有识别客户端的源条目和识别全局迁移锚点的目的地条目,其中全局迁移锚点被配置成根据保存的包含所述服务标识的数据记录,处理(205)所述数据消息,以致源条目识别全局迁移锚点,并且目的地条目识别局部迁移锚点和虚拟机。
4.按照前述权利要求之一所述的分级系统, 其中局部迁移锚点被配置成接收(210)来自全局迁移锚点的数据消息,其中局部迁移锚点被配置成根据保存的包含利用所述数据消息指示的虚拟机标识的数据集,在所述数据消息中用物理机标识替换(215)局部迁移锚点标识。
5.按照前述权利要求之一所述的分级系统, 其中局部迁移锚点被配置成接收包含作为源的虚拟机标识和作为目的地的全局迁移锚点的数据消息(806),并且把数据消息(807)转发给在包含虚拟机的标识的数据条目中识别的全局迁移锚点。
6.按照前述权利要求之一所述的分级系统, 其中全局迁移锚点被配置成接收来自局部迁移锚点的数据消息(807),所述数据消息具有作为源的虚拟机标识和作为目的地的全局迁移锚点, 其中全局迁移锚点被配置成根据包含虚拟机的标识的数据记录来处理所述数据消息,以用客户端标识替换作为目的地的全局迁移锚点,并且用全局迁移锚点的全局迁移锚点标识替换作为源的虚拟机。
7.按照权利要求1所述的分级系统,其中中央网络管理系统(1100)被配置成接收(300)把第一虚拟机从第一组中的第一物理机迁移到第一组中的第二物理机的请求, 其中第一局部迁移锚点被配置成响应于所述决定从组管理器(1020、1110)接收(305)关于第二物理机的标识的信息,并且 其中局部迁移锚点在数据集中用第二物理机的标识替换(310)第一物理机的标识。
8.按照前述权利要求之一所述的分级系统, 其中第一局部迁移锚点和第二局部迁移锚点、全局迁移锚点以及虚拟机位置寄存器中的至少一个被配置成在虚拟机位置寄存器、第一和第二局部迁移锚点或者全局迁移锚点中的数据无效的情况下,执行寻呼功能。
9.按照权利要求8所述的分级系统, 其中虚拟机位置寄存器、全局迁移锚点或第一和第二局部迁移锚点中的至少一个被配置成只要求过去登记过虚拟机的所有局部迁移锚点进行寻呼,或者 其中虚拟机位置寄存器被配置成要求全局迁移锚点进行寻呼,并且全局迁移锚点被配置成要求连接到全局迁移锚点的局部迁移锚点进行寻呼。
10.按照前述权利要求之一所述的分级系统, 其中局部迁移锚点被配置成把识别某个虚拟机的位置登记/更新请求发送给(350) —组可连接的物理机中的所有物理机, 其中局部迁移锚点被配置成接收(335)来自所述某个虚拟机所位于的物理机的答复,并且 其中局部迁移锚点被配置成把所述某个虚拟机所在的物理机通知(360)虚拟机位置寄存器,或者另外还通知全局迁移锚点。
11.按照前述权利要求之一所述的分级系统,还包括: 第一组物理机,其中每个物理机包括迁移管理控制功能和虚拟机功能,其中迁移管理控制功能被配置成与第一局部迁移锚点通信。
12.按照前述权利要求之一所述的分级系统, 其中第一和第二局部迁移锚点都具有指示有效时期的定时器(110c、130c), 其中物理机或虚拟机被配置成把在有效时期内的位置登记消息发送给局部迁移锚点,以致对应的数据集被延长另一个时期,或者 如果在有效时期内未收到位置登记消息,那么第一和第二局部迁移锚点被配置成删除识别某个虚拟机的对应数据集。
13.按照前述权利要求之一所述的分级系统, 其中全局迁移锚点被配置成把从客户端接收的服务标识转换成虚拟机的IP地址。
14.按照前述权利要求之一所述的分级系统, 其中所述分级系统包含至少两个全局迁移锚点, 其中第一全局迁移锚点被配置成接收(370)具有服务标识的客户端请求, 其中第一全局迁移锚点被配置成检查(375)所述数据记录以获得所述服务标识,其中当在第一全局迁移锚点保存的数据记录中未找到所述服务标识时,第一全局迁移锚点被配置成向虚拟机位置寄存器请求(380)与所述服务标识关联的全局迁移锚点的标识, 其中所述全局迁移锚点被 配置成接收(385)在数据记录中具有所述服务标识的第二全局迁移锚点的标识, 其中第一全局迁移锚点被配置成把要求利用所述服务标识识别的服务的客户端通知(390)利用虚拟机位置寄存器识别的第二全局迁移锚点。
15.一种管理多个虚拟机的方法,包括: 连接第一局部迁移锚点(110)和第一组的至少两个物理机,其中第一局部迁移锚点被配置成保存数据集,所述数据集包含位于第一组的至少两个物理机中的一个物理机上的第一虚拟机的虚拟机标识,和所述一个物理机的物理机标识; 连接第二局部迁移锚点(130)和第二组的至少两个物理机,其中第二局部迁移锚点被配置成保存数据集,所述数据集包含位于第二组的至少两个物理机中的一个物理机上的第二虚拟机的虚拟机标识,和所述一个物理机的物理机标识; 连接全局迁移锚点(140)与第一局部迁移锚点和第二局部迁移锚点,其中全局迁移锚点被配置成在第一数据记录中保存第一虚拟机执行的应用的第一服务标识、第一虚拟机的关联标识、和第一局部迁移锚点的标识,并且在第二数据记录中保存第二虚拟机执行的应用的服务标识、第二虚拟机的关联标识、和第二局部迁移锚点的标识; 在虚拟机位置寄存器(150)中保存关于第一虚拟机的第一数据条目,第一数据条目包含第一服务标识、第一虚拟机的标识和第一局部迁移锚点的标识,并包含第二数据条目,第二数据条目包含第二服务标识、第二虚拟机的标识、和第二虚拟机所位于的物理机可连接到的第二局部迁移锚点的标识; 中央网络管理系统(160)接收(315)或者作出把第一虚拟机从第一组物理机迁移到第二组物理机中的第一物理机的决定, 第二局部迁移锚点从第二组物理机中的第一物理机接收(320)第一虚拟机位于第二组物理机中的第一物理机的信息,第二局部迁移锚点向全局迁移锚点发送(325)第一虚拟机位于第二组物理机中的消息,全局迁移锚点访问(330)虚拟机位置寄存器,以便获得关于先前的局部迁移锚点的信息,或者第二局部迁移锚点向虚拟机位置寄存器发送(335)消息,以获得关于先前的局部迁移锚点的信息,以及 第一局部迁移锚点通过在要送往第一虚拟机的数据消息的目的地条目中指示第二局部迁移锚点,把所述数据消息发送给(340)第二局部迁移锚点。
16.一种计算 机程序,所述计算机程序包括当在计算机上运行时,实现按照权利要求15所述的管理多个虚拟机的方法的程序代码。
【文档编号】G06F9/455GK103544043SQ201310298268
【公开日】2014年1月29日 申请日期:2013年7月16日 优先权日:2012年7月16日
【发明者】阿西克·卡恩, 神津和志, I·瓦伊什纳维 申请人:株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1