CN105264493B - 信息中心网络上的动态虚拟机迁移 - Google Patents

信息中心网络上的动态虚拟机迁移 Download PDF

Info

Publication number
CN105264493B
CN105264493B CN201480008425.5A CN201480008425A CN105264493B CN 105264493 B CN105264493 B CN 105264493B CN 201480008425 A CN201480008425 A CN 201480008425A CN 105264493 B CN105264493 B CN 105264493B
Authority
CN
China
Prior art keywords
server
network
agency
identifier
migration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480008425.5A
Other languages
English (en)
Other versions
CN105264493A (zh
Inventor
王国强
刘光宇
瑞维享卡·瑞维达冉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105264493A publication Critical patent/CN105264493A/zh
Application granted granted Critical
Publication of CN105264493B publication Critical patent/CN105264493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种装置,所述装置包括存储器和耦合到所述存储器的处理器,其中所述存储器包含指令,当所述处理器执行所述指令时,使所述装置从托管VM的第一服务器上运行的虚拟机(VM)代理接收迁移请求,其中所述迁移请求包括与所述VM关联的VM标识符,所述VM标识符包括全局唯一的VM名称和与所述第一服务器关联的当前VM地址,与所述VM关联的数据包基于所述VM标识符被路由到所述VM;以及指示在第二服务器上运行的VM代理接收来自所述第一服务器的所述VM以响应于所述迁移请求,其中所述第二服务器接收所述VM,在所述第二服务器接收所述VM之后,所述VM名称保持不变而所述当前VM地址变为与所述第二服务器关联。

Description

信息中心网络上的动态虚拟机迁移
相关申请案交叉申请
本发明要求2013年12月9日由Guo-Qiang Wang等人递交的发明名称为“信息中心网络上的动态虚拟机迁移(Dynamic Virtual Machines Migration Over InformationCentric Network)”的第14/100,238号美国非临时专利申请案的在先申请优先权,该专利申请要求2013年2月12日由Guo-Qiang Wang等人递交的发明名称为“用于信息中心网络上的动态虚拟机迁移的方法(Method For Dynamic Virtual Machines Migration OverInformation Centric Networks)”的第61/763,622号美国临时专利申请案的在先申请优先权,这两个在先申请的内容均以引入的方式并入本文本中,如全文再现一般。
关于由联邦政府赞助研究或开发的声明
研究或开发
不适用。
参考缩微胶片附录
不适用。
背景技术
虚拟机(VM)是用于共享数据中心系统和/或计算能力、路由和数据存储等网络资源的虚拟化软件系统。一个VM可同时与其它VM在一台服务器上运行。VM操作可能需要支持数据中心服务器之间的迁移,以便有效地利用数据中心和/或网络资源并动态地维持VM的生命周期。VM从一台服务器到另一台服务器的迁移可能需要专用网络和集中存储能力。此外,迁移可能需要在移动之后保持VM的互联网协议(IP)/媒体接入控制(MAC)地址不变。这个过程可被称作大型二层(L2)路由网络。某些网络技术的发展可允许VM在骨干路由网中移动。这些要求可能无法随着现代数据中心(DC)和/或网络中的服务器和/或路由器的不断增多而很好地扩展。此外,在地理上分散的数据中心和接入网之间迁移大规模VM会使该过程进一步复杂化。因此,可能需要一种在不进一步复杂化该过程的情况下解决可扩展性的VM迁移方法。
发明内容
在一项实施例中,本发明包括一种装置,所述装置包括存储器和耦合到所述存储器的处理器,其中所述存储器包含指令,当所述处理器执行所述指令时,使所述装置从托管VM的第一服务器上运行的VM代理接收迁移请求,其中所述迁移请求包括与所述VM关联的VM标识符,所述VM标识符包括全局唯一的VM名称和与所述第一服务器关联的当前VM地址,与所述VM关联的数据包基于所述VM标识符被路由到所述VM;以及指示在第二服务器上运行的VM代理接收来自所述第一服务器的所述VM以响应于所述迁移请求,其中所述第二服务器接收所述VM,在所述第二服务器接收所述VM之后,所述VM名称保持不变而所述当前VM地址变为与所述第二服务器关联。
在另一项实施例中,本发明包括一种服务器,所述服务器包括至少一个管理所述服务器托管的多个VM的虚拟机监视器,以及与所述虚拟机监视器通信的VM代理,所述VM代理用于从所述虚拟机监视器接收含第一VM业务配置文件的移动性消息,其中所述第一VM业务配置文件包括与第一VM关联的VM标识符、与所述第一VM服务的至少一个客户端关联的VM客户端标识符,以及含可共享资源和不可共享资源的VM配置文件,第一VM可启动映像可从所述可共享资源和所述不可共享资源中组装,所述VM标识符包括全局唯一的第一VM名称和与所述服务器关联的当前第一VM地址,与所述第一VM关联的数据包基于所述VM标识符被路由到所述第一VM;以及将迁移请求发送给第一网络域的VM移动性管理器(VMMM)以响应于所述移动性消息,其中所述迁移请求包括所述第一VM业务配置文件,所述迁移请求使所述第一网络域VMMM将迁移匹配消息发送给所述第一网络域内的任意VM代理和第二网络域的VMMM,所述迁移匹配消息包括所述第一VM业务配置文件。
在另一项实施例中,本发明包括一种方法,所述方法包括从托管VM的第一服务器上运行的VM代理接收迁移请求,所述迁移请求包括与所述VM关联的VM标识符,所述VM标识符包括全局唯一的VM名称和与所述第一服务器关联的当前VM地址,与所述VM关联的数据包基于所述VM标识符被路由到所述VM;以及指示在第二服务器上运行的VM代理接收来自所述第一服务器的所述VM以响应于所述迁移请求,其中所述第二服务器接收所述VM,所述VM名称保持不变而所述当前VM地址在所述第二服务器接收所述VM之后变为与所述第二服务器关联。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是DC网络的实施例的示意图。
图2是图1的DC网络中的服务器的实施例的示意图。
图3是通过基于地址的移动性控制支持VM移动性的DC网络的实施例的示例图。
图4示出了通过基于名称的移动性控制支持移动节点(MN)移动性的移动网络的实施例。
图5是虚拟机监视器在服务器上建立VM的方法的实施例的流程图。
图6是通过基于地址的数据路由支持VM移动性的DC网络的实施例的示例图。
图7是通过基于名称的数据路由支持VM移动性的DC网络的实施例的示例图。
图8是通过基于名称的移动性控制和基于名称的数据路由支持VM移动性的网络的实施例的示例图。
图9是可在DC网络中实施的VM移动性管理方法的实施例的示例图。
图10是具有以太网光纤通道(FCoE)叠加的支持基于名称的VM移动性的DC网络的实施例的示意图。
图11是网元的实施例的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
虚拟化可在DC网络中使用以使多个VM在单个物理计算机(例如,服务器)上运行。服务器可操作虚拟机监视器,虚拟机监视器可充当VM的平台以提供对服务器的共享处理器、内存、存储器和/或网络路由资源的访问。VM从一台服务器到另一台服务器的动态移动(例如,实时迁移)可以允许进行动态负载均衡或工作分发,这在DC网络中是有利的。由于许多DC网络在二层中实施,所以可使用二层(例如,以太网)和/或2.5层(例如,多协议标记交换(MPLS)技术)来实施VM移动性。如果包在服务器机架内交换和/或在服务器机架之间(例如,完全在二层中)桥接,那么DC网络可被视作基于二层。从IP角度而言(例如,网络层/开放系统互连(OSI)三层),二层网络服务器节点可连接到单条链路。基于二层的网络允许VM移动性,但是可能无法很好地在地址解析协议(ARP)等地址解析协议下进行扩展。所公开的VM系统、装置和/或方法在DC网络的上下文中进行描述。然而,所公开的VM移动性还可在面向服务的接入网的上下文中实施。
本文公开了一种在DC网络中将VM从源服务器迁移到目标服务器的系统、装置和/或方法。DC网络可包括多个网络域,并且源服务器可位于与目标服务器不同的网络域中。全局唯一的VM标识符(例如,IP和/或MAC地址)可在迁移之后保持不变。托管VM的服务器可以作为VM的附着点(PoA),因此可作为与VM关联的任意数据流量的网络代理。DC网络域网关可作为DC网络域内的服务器所托管的任意VM的本地移动性锚点。VM移动性管理器(VMMM)可耦合到DC网络网关并且可管理与DC网络域内的服务器关联的VM的预订和切换。VMMM可在它的DC网络域内执行以下操作:实现数据流锚定控制;促进DC网络负载均衡;维护与DC网络域关联的任意VM的VM业务配置文件;促进DC网络域间和/或内实体名称解析和通信;以及提高上下文感知的VM资源管理。DC网络域间和/或内通信的形式可以是多播、组播、单播或双播。此外,VMMM可与业务分发网络(SDN)功能集成。第一DC网络域中的VMMM可与第二DC网络域中的VMMM协调进行任何DC网络域间功能。DC网络内实现并且能够本地存储数据包并且路由数据包的路由器和/或交换机可以是信息中心网络(ICN)。
图1示出了DC网络100的实施例,在DC网络100中,可能发生VM和其它实体的移动性。DC网络100可使用基于机架的架构,在该架构中,多个设备或机器(例如,服务器)可被放置在机架单元中。出于说明性目的,其中一个机架示为机架110,其中一台机器示为安装在机架110上的服务器112。机架上可能存在机架(ToR)交换机,例如位于机架110上的ToR交换机120。还可能存在尾行交换机或汇聚交换机,例如汇聚交换机130,每个尾行交换机或汇聚交换机与多个ToR交换机120和路由器互联。多个路由器可用于互联其它路由器和交换机。例如,路由器140可耦合到其它路由器和包含汇聚交换机130的交换机。
核心交换机和/或路由器可用于将DC网络100与另一DC网络的网关或与互联网互联。汇聚交换机130和ToR交换机120可形成DC内网络。路由器140可向另一DC网络或互联网提供网关。DC网络100可实施叠加网络并且可包括大量机架、服务器、交换机和路由器。由于每台服务器可托管在VM上运行的大量应用程序,所以DC网络100会变得非常复杂。DC网络100中的服务器可托管多个VM。为了促进一台物理服务器(例如,服务器112)托管的多个VM之间的通信,可在服务器112上设置一个或多个虚拟机监视器。
图2示出了DC网络100中的服务器112的实施例,DC网络100包括虚拟机监视器210和耦合到虚拟机监视器210的多个VM 220(图2中的编号为220)。虚拟机监视器210可用于管理VM 220,每个VM 220可实施操作系统(OS)上运行的至少一个应用程序(表示为App)。在实施例中,虚拟机监视器210可包括虚拟交换机(下文表示为vSwitch)212。vSwitch 212可通过端口耦合到VM 220并提供基本的交换功能以允许在任意两个VM 220之间进行通信而无需退出服务器112。
此外,为了促进VM 220和服务器112之外的实体之间的通信,虚拟机监视器210可提供封装功能或协议,例如虚拟扩展局域网(VXLAN)和使用通用路由封装的网络虚拟化(NVGRE)。虚拟机监视器210将数据帧从VM 220转发给另一网络节点时,可通过向数据帧添加外部报头来封装数据帧。外部报头可包括服务器112的地址(例如,IP地址),并且VM 220的地址可只包含在数据帧的内部报头中。因此,VM 220的地址可对其它网络节点(例如,路由器、交换机)隐藏。类似地,虚拟机监视器210将数据从另一网络转发给VM 220时,可通过移除外部报头并仅保留内部报头来解封装数据帧。
“叠加”网络是一个术语,有时用来描述携带封装数据帧的实际网络。“叠加”网络与运营商网络中的“核心”或“骨干”网络非常类似。“叠加”网络和“底层”网络在本文中随意互换使用。有时,“叠加”网络在本文中用于指代具有许多执行数据帧封装的边界(或边缘)节点的网络,这样中间的节点/链路看不见边界(边缘)节点之外的节点的地址。术语“叠加边界节点”或“边缘节点”可指代将外部报头添加至发往/来自核心网之外的主机的外部报头的节点。叠加边界节点可以是虚拟机监视器上的虚拟交换机、ToR交换机,甚至是汇聚交换机。
图3示出了通过基于地址的移动性控制支持VM移动性的网络300的实施例。网络300可包括源服务器(服务器A)320、目标服务器(服务器B)330、虚拟交换机(vSwitch)340,以及DC网关(GW)350,这些可分别类似于图1的服务器112、DC内网络交换机和路由器140。服务器A 320和服务器B 330分别包括至少一个管理许多VM的虚拟机监视器(例如,图2的虚拟机监视器210),每个VM通过vSwitch 340和DC网关350与远程客户端通信。网络300中的标识符(例如,IP/MAC地址)可同时起到标识实体(例如,内容、内容的一部分、网元(NE),或VM)和实体的拓扑位置的双重作用。网络300需要支持VM从一台服务器迁移到另一台服务器以平衡DC网络负载,从而有效地利用DC网络资源并动态维持VM的生命周期。VM的标识符需要在迁移之后保持不变以保持VM迁移对其对应的客户端透明。处于迁移前的时间点A的VM 310(VM310A)可能需要具有与处于迁移后的时间点B的VM 310(VM 310B)相同的标识符以在迁移期间提供客户端业务连续性。例如,VM 310的客户端改变标识符后可能失去对网络资源、与特定标识符绑定的软件许可证权利,以及应用程序会话的访问权限。在网络300中维持不变的标识符要求VM 310A与VM 310B处于同一子网上(即,保持扁平的L2拓扑)网络300可能需要VM 310A和VM 310B之间的快速直接连接以保持扁平的L2拓扑并支持此类迁移。这样,网络300可能需要是具有分布式VM移动性控制和用于集中式网络存储的专用网络的大型L2路由网络。然而,分布式VM移动性控制和用于集中式网络存储的专用网络无法随着现代DC网络中的服务器的不断增多而很好地扩展。某些DC网络中可能具有数千台服务器,其中每台服务器上具有20至40个VM。因此,网络300可能需要L2路由协议以便在迁移之后为VM310B更新位置数据,这将导致扩展性、协议复杂性和互操作性问题。网络300可通过为DC网络域内VM迁移使用vSwitch方法或为DC网络域间VM迁移使用L2隧道方法在VM迁移期间保持扁平的L2拓扑。
在实施例中,网络300可通过使用vSwitch方法在VM迁移期间保持扁平的L2拓扑。vSwitch方法可包含实施在物理L2交换机和虚拟机监视器之上构建的vSwitch。在虚拟机监视器控制之下运行的vSwitch可为服务器(例如,图1的服务器112)上的虚拟网络接口控制器(vNIC)执行切换。在实施例中,服务器A 320可能需要执行VM 310向服务器B 330的DC网络域内迁移。服务器B 330可能需要进行手动配置来接受VM 310的附着。一旦VM 310附着到服务器B 330,可能需要第四版IP(IPv4)ARP或第六版IP(IPv6)邻居发现(ND)协议,例如Internet工程任务组(IETF)请求注解(RFC)826中描述的IPv4ARP和IETF RFC 4861中描述的IPv6ND,这两个请求注解的内容均以引入的方式并入本文本中。只有服务器B 330知道迁移何时结束,因此服务器B 330发送某些数据或控制包(例如,免费ARP请求、免费APR回复,或反向ARP)以通知网络300的实体VM 310的迁移已完成并且VM 310已准备好在新位置接收包。这样可能导致大量ARP消息泛洪到网络300的所有实体来解析主机链路层地址,从而消耗了大量系统资源(例如,带宽)。例如,服务器B 330可能需要通知vSwitch 340VM 310B正在运作,这样vSwitch 340开始为VM 310将数据包转发给服务器B 330而不是转发给服务器A 320。此外,服务器B 330可能需要通知服务器A 320VM 310B正在运作这样服务器A320可以终断VM 310A并重新分配其资产。随着服务器和/或VM的数目增加,这种ARP泛洪机制可导致扩展性问题。相对简单的实施使得vSwitch方法更有吸引力,但是vSwitch是供应商特定的。因此,供应商A的vSwitch可能无法与供应商B的vSwitch进行互操作。此外,在物理L2交换机上实施vSwitch的密度可限制vSwitch方法的可扩展性。例如,由于只有大概4个vSwitch在一个物理L2交换机上实施,所以用于DC内迁移的L2MAC层路由受到限制。由于L2MAC层路由的限制,一个DC只能支持约10000至20000台服务器。
在另一项实施例中,网络300通过使用L2隧道(利用L3扩展L2,L2-over-L3)方法在VM迁移期间保持扁平的L2拓扑。利用三层(L3)扩展L2的方法可用于VM 310的DC间迁移,VM310可向L2路由应用OSI L3路由概念。L2-over-L3方法可将新报头信息添加至L2帧内并且支持使用中间系统到中间系统(IS-IS)路由等L3路由协议进行L2路由、转发和拓扑发现。新报头信息可形成L2路由角度的隧道,该隧道携带两个L2交换机之间的所有VM信息。网络300可通过各种方式实施L2-over-L3方法用于VM 310的DC网络域间迁移。例如,网络300可在二层虚拟专用网(L2VPN)上使用基于硬件的虚拟专用LAN业务(VPLS),例如MPLS,在服务器A320和服务器B 330之间构建L3桥接。服务器A 320和服务器B 330可使用VPLS封装/解封装L2帧。在另一示例中,网络300可构建L3桥接来使用基于软件的、L2-over-L3隧道协议封装/解封装L2帧。网络300可相应地使用用户数据包协议(UDP)充当通用路由封装(GRE)网络、多链接透明互联(TRILL)网络、最短路径桥接(SPB)网络,和/或光传输虚拟化(OTV)网络。支持更为大型的L2网络拓扑以供VM迁移的能力使得L2-over-L3方法很有吸引力。然而,L2-over-L3方法通过引入新的路由和/或转发协议增加了网络300的实施和管理复杂性,这可能需要新的硬件和/或软件。另外,L2交换机可包括相对简单地具有快速性能的数据转发平面(例如,太网交换机端口的速率为10至40吉比特/秒(Gbps)),在引入L3路由/转发概念之后,这个速率不太可能实现。
图4示出了通过基于名称的移动性控制支持MN移动性的移动网络400的实施例。网络400可包括第一附着点(PoA1)420、第二附着点(PoA2)430、L2交换机440和无线网关(GW)450。耦合到无线GW 450的控制器可集中管理网络400并维护网络400内任意实体的附着拓扑知识。无线GW 450作为网络400的集中式控制器可充当MN的移动性锚点,MN可附着到网络400内的任意附着点(PoA)。无线GW 450可存储数据流表,该表包括网络400内的每个实体(例如,MN 410、PoA1420、PoA2430、L2交换机440,和/或无线GW 450)的多个实体配置文件。多个实体配置文件中的每个实体配置文件均包括实体标识符(例如,IP/MAC地址)和位置标识符,这两个标识符可标识实体在网络400中的拓扑位置。网络400中的实体标识符可起到唯一标识实体(例如,内容、内容的一部分、NE或MN)的作用。网络400可使用位置标识符进行域间/内路由。L2交换机440可配置为网络400内所有PoA的汇聚点并根据数据流表将数据包路由给网络400内的实体和路由来自网络400内的实体的数据包。PoA可以是用于为一个或多个MN提供网络400的接入点的实体(例如,蜂窝网基站和/或IEEE标准802.11网络的任意类型的接入点)。MN(例如,智能手机、膝上型电脑或平板电脑)可以是与具有网络域漫游能力的网络400通信的归属网络域的客户端。MN可与一个或多个实体通信,这些实体通常称作通信节点(CN)。CN可以是能够维持与MN的数据通信的任意客户端或对等实体。MN(例如,MN410)可由归属网络域内的集中式控制器分配实体标识符。实体标识符可从与归属网络域通信的任意其它实体中唯一标识MN。集中式控制器可用于管理归属网络域的所有域间和域内路由(例如,MN和CN之间的数据包)并存储将客户端的(例如,MN的)实体标识符与客户端的当前位置映射的归属数据流表。
在实施例中,MN 410已漫游到网络400中,同时与网络400之外的CN(未示出)通信。处于时间点A的MN 410(MN 410A)可通过使用附着协议附着到PoA1420来接入网络400。PoA1420可将代理更新转发给无线GW 450,代理更新包括MN 410和PoA1420的实体标识符。无线GW 450可更新网络数据流表,使用确认对PoA1420作出响应,并通过更新后的位置标识符将MN 410的当前位置通知给归属网络域的集中式控制器。网络域的集中式控制器可更新归属数据流表中的MN 410的位置标识符(保持MN 410的实体标识符不变)。PoA1420可将MN410添加至其路由表,路由表对应于分配给MN 410的端口。只要MN 410仍然在网络400内,无线GW 450就可作为针对归属网络域的MN 410的本地移动性锚点,并且PoA1420可作为MN410的本地代理。归属网络域的集中式控制器可开始将MN 410的数据包路由给无线GW 450,无线GW 450可将数据包转发给分配给MN 410的PoA1420的端口。这样,MN 410从在前的PoA到PoA1420的切换可对CN保持透明,因为只有中间的路由信息改变而MN 410的实体标识符保持不变。处于时间点B的MN 410(MN410B)可继续在网络400内漫游并通过附着协议附着到PoA2430。PoA2430可将代理更新转发给无线GW 450,无线GW 450可更新网络数据流表中MN410的位置标识符。无线GW 450可能不更新归属网络域的集中式控制器,因为MN 410仍然在网络400中,使得无线GW 450作为针对归属网络域的MN 410的本地移动性锚点。在PoA2430被注册作为MN 410B的本地代理之后,PoA1420可注销作为本地代理。无线GW 450可开始通过PoA2430将数据包从归属网络域的集中式控制器转发给MN 410B。因此,网络400可使用实体标识符来唯一标识实体(例如,MN 410)而不是用于路由,这样当实体改变网络400内的PoA时允许无缝转换。
图5是虚拟机监视器在服务器上建立VM的方法500的实施例的流程图。方法500可用于VM(例如,图2的VM 220)及其相关数据从源服务器(例如,图3的服务器A 320)到目标服务器(例如,图3的服务器B 330)的迁移。在方框510中,包含计算能力和/或VM OS等相关数据资源的可共享内容文件可由目标虚拟机监视器(例如,图2的虚拟机监视器210)获取。可共享内容文件可包括VM核心OS、应用程序/服务软件,和/或应用程序或服务需要操作的库。可共享内容文件可包括不特定于任何特定VM的数据资源,因此无需为网络中的每个VM重新配置可共享内容文件。因此,可共享内容文件可能不需要从网络内的任何特定位置获取,并且许多VM可使用相同的可共享内容文件。因此,可共享内容文件可存储在网络内的多个位置中,或作为单个文件,或划分为多个包级文件片段。在实施例中,目标虚拟机监视器可利用多条路径从多个存储位置获取多个较小的文件片段,而不是从一个中心位置获取一个较大的可共享内容文件。在方框520中,不可共享内容文件可由目标虚拟机监视器获取,不可共享内容文件包括客户端数据和/或VM配置信息。不可共享内容文件可包括VM特定的应用程序/服务,以及相关数据和/或运行时间事务状态信息(例如,协议状态、端口配置,和/或端口状态信息)。因此,不可共享内容可包括特定VM专用的数据资源,因此目标虚拟机监视器可能需要与源服务器进行端到端的单播通信来获取不可共享内容文件。VM内容文件的双重属性可允许网络支持双重模式分发VM内容文件。可共享内容文件的一种分发模式是网络缓存形式,而不可共享内容文件的另一种分发模式是端点到端点连接形式。目标虚拟机监视器随后可在方框530中将可共享内容文件安装到目标服务器上来建立通用VM。在方框540中,目标虚拟机监视器可使用不可共享内容启动从源服务器迁移到目标服务器的VM。
图6示出了通过基于地址的数据路由支持VM移动性的DC网络600的实施例。网络600可以是基于地址的路由网络,该网络可使用实体标识符(例如,IP/MAC地址)同时起到标识实体和实体在网络内的位置的双重作用。网络600可包括源服务器610、目标服务器620、L2路由块630,以及网络存储块640。源服务器610可托管由虚拟机监视器(例如,图2的虚拟机监视器210)管理的VM(例如,图3的VM 310)。可建立由源服务器610托管的VM以迁移到目标服务器620,同时服务远程客户端。为了在迁移期间提供客户端服务连续性,源服务器610和目标服务器620可能需要位于同一子网上以保持VM的实体标识符在迁移之后不变。L2路由块630可包括与源服务器610、目标服务器620和网络存储块640互联的一个或多个节点(例如,路由器和/或交换机)。每个节点可用于提供数据路径组件和控制路径组件。数据路径组件可允许节点在网络600内路由数据包,而控制路径组件可确定数据包的合适路由路径。在网络600中,数据路径和控制路径组件可独立操作。网络600可使用基于地址的数据流表,该表可指示数据路径组件如何和/或在何处路由接收到的数据包。如果数据路径组件接收数据流表未寻址的数据包,那么数据路径组件可将数据包转发给控制路径组件。控制路径组件可检查接收到的数据包以确定如何和/或在何处路由数据包。基于该决定,控制路径组件可更新数据流表并将数据包返回给数据路径组件用于路由。因此,L2路由块630的每个节点可独立进行路由决策,这将导致网络600内分散的VM移动性控制。在实施例中,在迁移VM之前,可能需要手动配置L2路由块630的节点。该手动配置可能需要可共享内容存储位置、不可共享内容存储位置和目标服务器620的实体标识符的先前知识。一旦手工配置了L2路由块630的节点,目标服务器620上运行的虚拟机监视器(目标虚拟机监视器)可实施建立VM的方法(例如,方法500)。目标虚拟机监视器可从网络存储块640中获取VM可共享内容文件,以及通过L2路由块630从源服务器610中获取VM不可共享内容文件。VM可共享内容可安装在目标服务器620上,目标虚拟机监视器随后可使用VM不可共享内容文件来启动迁移后的VM。一旦迁移后的VM准备好服务远程客户端,那么目标服务器620可发起ARP或ND协议消息,这样VM的实体标识符可在每个数据流表中更新以反映VM的当前位置。迁移后的VM随后可在目标服务器620处接收数据包。
图7示出了通过基于名称的数据路由支持VM移动性的DC网络700的实施例。网络700可以是基于名称的网络,该网络在中心位置维护包含网络内每个命名实体(例如,VM、服务器、业务/应用程序可执行代码库、可共享内容文件,以及不可共享内容文件)的实体配置文件的数据流表。每个实体配置文件可包括实体标识符(例如,IP/MAC地址)和位置标识符,这两个标识符可标识实体在网络700中的拓扑位置。网络700中的实体标识符可发挥唯一标识网络内的实体的作用,而位置标识符可用于数据包路由。网络700可包括源服务器710、目标服务器720、信息中心网络(ICN)路由块730,以及网络存储块740(例如,图6的网络存储块640)。源服务器710可托管由虚拟机监视器(例如,图2的虚拟机监视器210)管理的VM(例如,图3的VM 310)。与图6的L2路由块630类似,ICN路由块730还可包括一个或多个与源服务器710、目标服务器720,和网络存储块740互联的节点(例如,路由器和/或交换机)。与L2路由块630不同,ICN路由块730的每个节点可仅用于提供数据路径组件。如果接收到数据路径组件不知道如何和/或在何处路由的数据包,那么数据路径组件可在中心位置与控制路径组件商议以便指示。此外,ICN路由块730的每个节点还可包括节点存储组件和/或计算池,这些可形成VM可共享内容文件和业务/应用程序可执行代码的网络数据存储缓存和/或计算基的一部分。VM可共享内容文件和业务/应用程序可执行代码可存储为单个文件或划分为多个包级文件片段。不管如何存储VM可共享内容,与VM可共享内容(或包级文件片段)关联的实体配置文件可在数据流表中维护。具有存储和计算能力的启用ICN的分散式路由器可实现VM可共享内容文件在网络700中的分散存储。此外,网络700可通过将控制路径组件从ICN路由块730的每个节点移至中心位置来保持集中式VM移动性控制。
在实施例中,可建立由源服务器710托管的VM以迁移到目标服务器720,同时服务远程客户端。由于网络700可使用实体的位置标识符用于域间/内路由,所以实体标识符在VM的迁移期间保持不变以提供客户端服务连续性。在目标服务器720上运行的虚拟机监视器可实施建立VM的方法(例如,方法500)。目标虚拟机监视器可表示出对在没有VM可共享内容文件的存储位置的先前知识的情况下使用其实体标识符获取VM可共享内容文件的兴趣。在网络700中,与ICN路由块730节点的存储能力耦合的集中式VM移动性控制可实现目标虚拟机监视器获取VM可共享内容文件的灵活性。可对ICN路由块730进行配置使得目标虚拟机监视器可从网络存储块740和/或从节点形成的网络数据存储缓存中获取VM可共享内容文件。VM可共享内容文件通过将VM可共享内容文件的存储分布在网络700中来使用多路径通信(例如,多播、组播和/或任意播)进行获取。然而,VM不可共享内容只可通过端到端、单播通信连接从源服务器710中获取。一旦目标虚拟机监视器获取到VM可共享内容文件,该文件可被安装在目标服务器720上。目标虚拟机监视器随后可使用VM不可共享内容文件启动迁移到目标服务器720之上的VM。一旦迁移后的VM准备好服务远程客户端,目标服务器720可管理集中式VM移动性控制,这样VM对应的实体配置文件的位置标识符可被更新。
图8示出了通过基于名称的移动性控制和基于名称的数据路由支持VM移动性的移动性管理网络800的实施例。网络800内的VM移动性可涉及两层管理系统,包括基于每个域的VMMM 810和基于每台服务器的VM代理820。VMMM 810可位于DC GW路由器和/或耦合到DCGW路由器的控制器盒之上。DC GW路由器可用作与VMMM 810的DC网络域内的服务器关联的所有数据流流量的移动性锚点。VMMM 810可用作对位于其DC网络域内的服务器进行集中式管理,与移动IP网络内的无线网络控制器和/或归属位置寄存器类似。因此,VMMM 810可维护其DC网络域内所有实体的附着拓扑的知识。此外,VMMM 810可耦合到DC资源管理器(未示出),DC资源管理器可集中管理形成DC网络的多个DC网络域的资源。VMMM 810可与另一DC网络域的VMMM协调以便进行任何DC网络域内VM迁移。
VM代理820可附着到VMMM 810集中管理的DC网络域内的每台服务器830。VM代理820可与VMMM 810协调进行任何VM移动,涉及托管VM代理820的服务器830。例如,VM代理820可向VMMM 810发送消息以在由服务器830托管的VM被迁移到另一台服务器时释放VM与服务器830的附着。或者,VM代理820可向VMMM 810发送消息以在由另一台服务器托管的VM被迁移到服务器830时预定VM与服务器815的附着。
图9示出了VM移动性管理方法900的实施例,该方法可在DC网络(例如,图1的DC网络100)中实施方法900可用于VM(例如,图2的VM 220)的DC间和/或内迁移。在方框910中,可指定VM用于从源服务器迁移到目标服务器。在实施例中,在源服务器上运行的源虚拟机监视器可基于VM、源服务器和/或DC网络的要求变化确定VM应当迁移到另一台服务器。例如,由于VM的客户端的位置变化,VM可能需要更多的计算能力、更大的带宽,和/或缩短响应时间。DC网络和/或网络域管理系统还可发起VM的迁移以通过负载均衡提高DC资源利用率。DC网络管理系统可支持DC网络资源管理和/或相关名称解析业务。源虚拟机监视器可在DC网络资源管理器上查询VM的业务配置文件。VM业务配置文件可包括特定于VM的信息,例如OS类型和版本,安装在VM上的应用程序/业务,和/或VM的其它要求(例如,带宽和计算能力要求)。源虚拟机监视器可请求管理源服务器的VM移动性的源VM代理发起VM移动性操作。
在方框920中,可发送VM迁移请求消息以发起定位VM的最佳匹配目标服务器的过程。源VM代理可将迁移请求消息发送给源VMMM以发起定位最佳匹配目标服务器的过程。迁移请求消息可包括VM业务配置文件、感兴趣的业务名称/配置文件上下文,以及与VM的当前客户端关联的信息。源VMMM可将迁移匹配消息转发给源VMMM域内的所有VM代理和/或管理其它域的其它VMMM。迁移匹配消息可通过多路径通信(例如,多播、组播,和/或任意播)进行发送,这可取决于如何为VMMM实施业务名称解析。其它VMMM随后可将迁移匹配消息转发给它们各自域内的所有VM代理。
在方框930中,可为VM定位最佳匹配目标服务器。源VMMM可从源域内的VM代理和/或源VMMM域之外的其它VMMM接收响应。源VMMM可编译响应并基于响应确定在VM迁移之后托管VM的最佳匹配的目标服务器。
在方框940中,目标VM代理可被通知关于迁移的信息并且可获取VM可共享内容文件以开始将VM从源服务器迁移到目标服务器。如果目标服务器位于源域内,那么源VMMM可通过将包含VM业务配置文件的VM迁移发起消息转发给目标VM代理来发起VM迁移。如果目标服务器位于源域之外,那么源VMMM可将迁移请求消息转发给管理目标服务器域内的VM移动性的目标VMMM。目标VM代理可基于VM业务配置文件从ICN网络中获取用于VM的VM可共享内容文件。VM可共享内容文件可作为单个文件或划分为多个包级文件片段存储在ICN网络内的一个或多个ICN路由器上。如果以包级文件片段形式获取可共享内容文件,那么目标VM代理可将文件片段组装为单个文件。
在方框950中,目标VM代理可基于VM业务配置文件获取用于VM的VM不可共享内容文件。如果目标服务器位于源域内,那么源VMMM可创建源服务器和目标服务器之间的端到端连接。如果目标服务器位于源域之外,那么与源VMMM协调的目标VMMM可创建源服务器和目标服务器之间的端到端连接。在实施例中,VM不可共享内容文件只能从与VM关联的随机存取存储器(RAM)中获取。VM还可继续在迁移期间服务客户端,因此可能需要修改特定于VM的VM不可共享内容文件。由于VM不可共享内容文件的修改,源服务器和目标服务器之间的通信需要是端到端数据传输。因此,端到端连接(例如,域内或域间)可以是具有高带宽和低延迟的专用网络连接上的安全通信信道(例如,VPN或安全套接层(SSL)连接)。端到端连接可以是先前存在的连接或可以按需建立(例如,如果叠加网络启用了SDN,则通过SDN控制器)。
在方框960中,迁移后的VM可由目标虚拟机监视器安装在目标服务器上。目标VM代理可将VM可共享和不可共享内容文件转发给目标虚拟机监视器。目标虚拟机监视器可将VM可共享和不可共享内容文件组合到VM可启动映像中。迁移后的VM可由目标虚拟机监视器通过VM可启动映像来启动。当迁移后的VM正在启动时,目标虚拟机监视器可使有VM非共享内容文件的修改更新分配给迁移后的VM的RAM。
在方框970中,目标VM代理可将迁移后的VM与目标VMMM预订来完成迁移后的VM与目标服务器的附着。如果目标服务器位于源域内,那么源VMMM可在源服务器上的VM和迁移后的VM之间创建双播数据流。如果目标服务器位于源域之外,那么目标VMMM可与源VMMM协调创建双播数据流。双播数据流可通过域网关交换机将传入数据流引导到源服务器上的VM和迁移后的VM。因此,VM和迁移后的VM可在VM迁移期间接收相同的客户端流量。
在方框980中,目标VM代理可通知源VM代理迁移后的VM准备好服务客户端。源VMMM(或者目标VMMM,如果目标服务器位于源域之外)可向DC网络资源管理器注册迁移后的VM及其与目标服务器的附着。DC网络资源管理器可更新VM业务配置文件。一旦更新了VM业务配置文件,数据流的双播可被终止,其中所有数据流被引导到迁移后的VM。此外,源VMMM可将源服务器上的VM从其预订中移除并释放分配给VM的源服务器资源。
图10示出了具有以太网光纤通道(FCoE)叠加的支持基于名称的VM移动性的DC网络1000的实施例的示意图。在网络1000中,VM可共享和/或不可共享内容文件可存储在存储区域网络(SAN),SAN包括托管虚拟磁盘(VD)的存储服务器1030。存储服务器1030和FCoE交换机1040之间的数据流流量可映射到光纤通道(FC)帧中。托管VM(例如,图2的VM 220)的应用服务器1020和FCoE交换机1040之间的数据流流量可被映射到以太网帧中。网络1000可通过实施FCoE技术将基于FC的存储服务器1030数据流流量与基于以太网的应用服务器1020数据流流量集成。FCoE是一种用于通过以太网传输光纤通道(FC)帧的技术,该技术当前由国际信息技术标准委员会(INCITS)的光纤通道技术委员会(T11)进行标准化。FCoE技术使用以太网架构的以太网物理和MAC层替代FC架构的FC物理(FC-0)和FC编码(FC-1)层,无需改变FC成帧(FC-2)层及更高层。通过使用FCoE技术,FC帧和标准以太网帧可以在网络中独立传输。相应地,存储服务器1030FC帧可由FCoE交换机1040映射在以太网帧上,FCoE交换机1040可提供基于FC的网络和基于以太网的网络之间的大体无缝集成。随后,DC域1010内的应用服务器1020和存储服务器1030数据流可根据同一数据流表进行路由。随后,应用服务器1020和存储服务器1030的DC域间数据流均可由DC GW路由器1050通过DC域间通信链路1060(例如,光链路)接收。DC GW路由器1050可通过基于名称的路由/转发启动以支持数据块接入、数据块获取、业务查找、应用程序查找,和/或用于VM移动性的多播/任意播路由。在实施例中,这些功能可在FCoE之上的ICN协议层中实施。DC网络域数据流表可由DC资源管理器集中管理,DC资源管理器可进一步促进DC域间VM移动性。因此,网络1000可像单个汇聚网络一样操作,这样可降低维护网络基础架构所必须的复杂度、空间和成本,同时将本地以太网保持为高速转发平面。
本发明中所述的至少一些特征/方法可在NE中实施。例如,本发明的特征/方法可以使用硬件、固件和/或安装在硬件上运行的软件来实现。例如,网元可以是通过网络传送数据的任何设备,例如,交换机、路由器、网桥、服务器、客户端等。图11是NE 1100的实施例的示意图,NE 1100可包括图1的服务器112、图6的网络存储块640,和/或图10的DC GW路由器1050。例如,NE 1100可用于更新DC数据流路由表。
NE 1100可包括耦合到收发器(Tx/Rx)1110的一个或多个入端口或面,Tx/Rx 1110可以是发射器、接收器,或其组合。Tx/Rx 1110可耦合到多个下游端口1120用于发送和/或接收来自其它节点的数据包。Tx/Rx1110可耦合到多个上游端口1150用于发送和/或接收来自其它节点的数据包。处理器1130可耦合到Tx/Rx 1110以处理包和/或确定向哪些节点发送包。处理器1130可包括一个或多个多核处理器和/或存储器模块1140,存储器模块1140可用作数据存储器、缓冲器等。处理器1130可以实现为一个通用处理器或者一个或多个专用集成电路(ASIC)和/或数字信号处理器(DSP)的一部分。下游端口1120和/或上游端口1150可以包含电和/或光发射和/或接收组件。NE 1100可以是或可以不是进行路由决策的路由组件。NE 1100还可包括DC数据流路由表块1160。DC数据流路由表块1160可用于例如在OSI模型中的数据链路层或L2中实施数据流路由表更新,其中可基于更新的实体配置文件更新DC数据流路由表。这些实体配置文件信息可在存储器模块1140处的内容表中维护。DC数据流路由表块1160可为DC网络中的VM从基于每台服务器管理VM移动性的VM代理接收实体配置文件更新以更新DC数据流路由表块1160。DC数据流路由表块1160可使用软件、硬件或这两者进行实施,并且可在OSI模型中的IP层和/或L2上操作。存储器模块1140可包括用于临时存储内容的缓存1142,例如RAM。此外,存储器模块1140可包括用于将内容存储相对较长时间的长期存储设备1144,例如只读存储器(ROM)。例如,缓存1142和长期存储设备1144可包括动态随机存取存储器(DRAM)、固态驱动器(SSD)、硬盘或它们的组合。应注意,存储器模块1140可用于存放用于执行本文所述的系统和方法的指令。
应理解,通过将可执行指令编程和/或加载到NE 1100上,处理器1130、缓存1142,和长期存储设备1144中的至少一个被更改,从而将NE 1100部分转变成具有本发明所教示的新颖功能的特定机器或装置,例如VM移动性架构。加载可执行软件至计算机所实现的功能可以通过公知设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实施,因为重新编写硬件实施比重新编写软件更为昂贵。一般而言,将投入量产的稳定设计可首选以硬件实现,例如通过ASIC实现,这是因为对于大型生产活动,硬件实现的成本可能要低于软件实现。设计通常可以以软件形式进行开发和测试,之后通过公知设计规定转变成专用集成电路中等同的硬件实施,该集成电路硬线软件指令。机器由新的ASIC控制后就成为具有特殊用途的机器或装置,同样,经过编程和/或已加载有可执行指令的计算机也可视为具有特殊用途的机器或装置。
本发明公开了至少一项实施例,而且所属领域的一般技术人员对实施例和/或实施例的特征做出的变化、组合和/或修改均在本发明的范围内。通过组合、整合和/或忽略各项实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制应被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0.10包括0.11、0.12、0.6等)。例如,每当公开具有下限Rl和上限Ru的数值范围时,具体是公开落入所述范围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:R=R1+k*(Ru–R1),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、5%……50%、51%、52%……95%、96%、97%、98%、99%或100%。此外,由上文所定义的两个数字R定义的任何数字范围也是明确公开的。相对于权利要求的任一元素使用术语“选择性地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由……组成”、“基本上由……组成”以及“大体上由……组成”等较窄术语的支持。因此,保护范围不受上文所陈述的说明限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每条权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。对所述揭示内容中的参考进行的论述并非承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文本中,其提供补充本发明的示例性、程序性或其它细节。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其他特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或组件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间组件间接地耦合或通信。其他变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。

Claims (20)

1.一种装置,其特征在于,包括:
存储器;
耦合到所述存储器的处理器,其中所述存储器包含指令,当所述处理器执行所述指令时,使所述装置执行以下操作:
从托管虚拟机VM的第一服务器上运行的VM代理接收迁移请求,其中所述迁移请求包括与所述VM关联的VM标识符,所述VM标识符包括全局唯一的VM名称和与所述第一服务器关联的当前VM地址,与所述VM关联的数据包基于所述VM标识符被路由到所述VM;以及
指示在第二服务器上运行的VM代理接收来自所述第一服务器的所述VM以响应于所述迁移请求,其中在所述第二服务器接收所述VM之后,所述VM名称保持不变而所述当前VM地址变为与所述第二服务器关联。
2.根据权利要求1所述的装置,其特征在于,进一步包括在所述第二服务器接收所述VM之后从所述第二服务器VM代理接收VM注册请求,其中所述当前VM地址基于所述VM注册请求变为与所述第二服务器关联。
3.根据权利要求2所述的装置,其特征在于,所述指令进一步使所述装置执行以下操作:将VM注销消息发送给所述第一服务器VM代理以响应于所述VM注册消息,以及所述注销消息指示所述第一服务器VM代理移除与所述VM关联的所述第一服务器上的数据。
4.根据权利要求1所述的装置,其特征在于,所述迁移请求进一步包括与所述VM服务的至少一个客户端关联的VM客户端标识符,当从所述第一服务器迁移到所述第二服务器时,所述VM继续服务与所述VM客户端标识符关联的任意客户端。
5.根据权利要求4所述的装置,其特征在于,在所述装置发送注销消息之前,来源于与所述VM客户端标识符关联的客户端的数据包被路由到所述第一服务器和所述第二服务器。
6.根据权利要求5所述的装置,其特征在于,在所述装置发送所述注销消息之后,来源于与所述VM客户端标识符关联的客户端的数据包不再路由到所述第一服务器。
7.根据权利要求1所述的装置,其特征在于,所述迁移请求进一步包括用于在所述第二服务器上安装的指示可共享资源和不可共享资源的VM内容文件以支持VM可启动映像的组装。
8.根据权利要求7所述的装置,其特征在于,所述指示的可共享资源不特定于所述VM,所述指示的可共享资源与耦合到所述第二服务器的网络设备关联。
9.根据权利要求8所述的装置,其特征在于,所述指示的可共享资源被划分为所述第二服务器从多个源中获取的多个包级文件。
10.一种服务器,其特征在于,包括:
至少一个管理所述服务器托管的多个虚拟机VM的虚拟机监视器;以及
与所述虚拟机监视器通信的VM代理,所述VM代理用于:
从所述虚拟机监视器接收含第一VM业务配置文件的移动性消息,其中所述第一VM业务配置文件包括与第一VM关联的VM标识符,所述VM标识符包括全局唯一的第一VM名称和与所述服务器关联的当前第一VM地址,与所述第一VM关联的数据包基于所述VM标识符被路由到所述第一VM;以及
将含所述第一VM业务配置文件的迁移请求发送给本地网络域的VM移动性管理器VMMM以使所述本地网络域的VMMM将迁移匹配消息发送给所述本地网络域内的VM代理和远程网络域的VMMM,所述迁移匹配消息包括所述第一VM业务配置文件。
11.根据权利要求10所述的服务器,其特征在于,所述VM代理进一步用于从所述本地网络域的VMMM接收迁移匹配消息。
12.根据权利要求11所述的服务器,其特征在于,所述VM代理进一步用于将匹配响应消息发送给所述本地网络域的VMMM以支持基于第二VM业务配置文件选择目标服务器。
13.根据权利要求10所述的服务器,其特征在于,所述VM代理进一步用于当与所述VM关联的VM地址更改时维护跨域迁移的VM的全局唯一VM名称。
14.根据权利要求10所述的服务器,其特征在于,所述第一VM业务配置文件进一步包括与所述第一VM服务的至少一个客户端关联的VM客户端标识符和指示用于组装VM可启动映像的可共享资源和不可共享资源。
15.根据权利要求14所述的服务器,其特征在于,所述VM不可共享资源特定于所述第一VM,所述VM不可共享资源由所述远程网络域的VMMM和所述本地网络域的VMMM通过端到端连接建立发送给目标服务器。
16.根据权利要求15所述的服务器,其特征在于,所述代理进一步用于在安装迁移后的VM期间将数据包转发给远程域目标服务器。
17.根据权利要求16所述的服务器,其特征在于,在所述本地网络域和所述远程网络域之间传送的一部分所述数据包被映射到以太网帧中封装的光纤通道帧。
18.一种方法,其特征在于,包括:
从托管虚拟机VM的第一服务器上运行的VM代理接收迁移请求,其中所述迁移请求包括与所述VM关联的VM标识符,所述VM标识符包括全局唯一的VM名称和与所述第一服务器关联的当前VM地址,所述VM标识符支持将数据包路由到所述VM;以及
指示在第二服务器上运行的VM代理接收来自所述第一服务器的所述VM以响应于所述迁移请求,使得所述全局唯一的VM名称保持不变并且所述当前VM地址变为与所述第二服务器关联。
19.根据权利要求18所述的方法,其特征在于,进一步包括:
当所述第二服务器接收所述VM时从所述第二服务器VM代理接收VM注册请求;以及
基于所述VM注册请求将所述当前VM地址与所述第二服务器关联。
20.根据权利要求19所述的方法,其特征在于,进一步包括将VM注销消息发送给所述第一服务器VM代理以指示所述第一服务器VM代理移除与所述VM关联的所述第一服务器上的数据。
CN201480008425.5A 2013-02-12 2014-02-12 信息中心网络上的动态虚拟机迁移 Active CN105264493B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361763622P 2013-02-12 2013-02-12
US61/763,622 2013-02-12
US14/100,238 US9477506B2 (en) 2013-02-12 2013-12-09 Dynamic virtual machines migration over information centric networks
US14/100,238 2013-12-09
PCT/US2014/016047 WO2014127013A1 (en) 2013-02-12 2014-02-12 Dynamic virtual machines migration over information centric networks

Publications (2)

Publication Number Publication Date
CN105264493A CN105264493A (zh) 2016-01-20
CN105264493B true CN105264493B (zh) 2018-11-20

Family

ID=51298422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480008425.5A Active CN105264493B (zh) 2013-02-12 2014-02-12 信息中心网络上的动态虚拟机迁移

Country Status (3)

Country Link
US (1) US9477506B2 (zh)
CN (1) CN105264493B (zh)
WO (1) WO2014127013A1 (zh)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011107092B4 (de) * 2011-07-11 2017-09-14 Fujitsu Ltd. Computersystem, Verfahren zum Starten eines Server-Computers, Server-Computer, Managementstation und Verwendung
CN102394831A (zh) * 2011-11-28 2012-03-28 杭州华三通信技术有限公司 基于虚拟机vm迁移的流量不中断方法和装置
US10135732B2 (en) * 2012-12-31 2018-11-20 Juniper Networks, Inc. Remotely updating routing tables
US9251115B2 (en) 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
SG11201601206YA (en) * 2013-09-03 2016-03-30 Univ Nanyang Tech A method for managing a data center network
US9596126B2 (en) 2013-10-10 2017-03-14 Nicira, Inc. Controller side method of generating and updating a controller assignment list
US20170061339A1 (en) 2014-01-02 2017-03-02 Jeremy Lynn Littlejohn Method for facilitating network external computing assistance
TWI531908B (zh) * 2014-04-24 2016-05-01 A method of supporting virtual machine migration with Software Defined Network (SDN)
JP6277853B2 (ja) * 2014-05-12 2018-02-14 富士通株式会社 制御装置、通信装置、および、通信方法
EP3148163B1 (en) * 2014-06-30 2018-11-07 Huawei Technologies Co., Ltd. Function transfer method, device and system
US9973380B1 (en) 2014-07-10 2018-05-15 Cisco Technology, Inc. Datacenter workload deployment using cross-domain global service profiles and identifiers
US10754821B2 (en) 2014-07-29 2020-08-25 Hewlett Packard Enterprise Development Lp Virtual file server
CN104239122B (zh) 2014-09-04 2018-05-11 华为技术有限公司 一种虚拟机迁移方法和装置
CN105391568B (zh) * 2014-09-05 2019-07-23 华为技术有限公司 一种软件定义网络sdn的实现方法、装置和系统
CN104243265B (zh) * 2014-09-05 2018-01-05 华为技术有限公司 一种基于虚拟机迁移的网关控制方法、装置及系统
US10038629B2 (en) 2014-09-11 2018-07-31 Microsoft Technology Licensing, Llc Virtual machine migration using label based underlay network forwarding
US20160373319A1 (en) * 2014-09-24 2016-12-22 Jeremy Lynn Littlejohn Method and device for evaluating the system assets of a communication network
US9923800B2 (en) 2014-10-26 2018-03-20 Microsoft Technology Licensing, Llc Method for reachability management in computer networks
US9936014B2 (en) 2014-10-26 2018-04-03 Microsoft Technology Licensing, Llc Method for virtual machine migration in computer networks
KR101567253B1 (ko) * 2014-10-31 2015-11-06 삼성에스디에스 주식회사 플로우 제어 장치 및 방법
US9712455B1 (en) * 2014-11-13 2017-07-18 Cisco Technology, Inc. Determining availability of networking resources prior to migration of a server or domain
US20160139834A1 (en) * 2014-11-14 2016-05-19 Cisco Technology, Inc. Automatic Configuration of Local Storage Resources
US9594621B1 (en) 2014-12-30 2017-03-14 Juniper Networks, Inc. Online network device diagnostic monitoring and fault recovery system
US9699116B2 (en) * 2015-01-26 2017-07-04 Telefonaktiebolaget L M Ericsson (Publ) SDN based interdomain and intradomain traffic engineering
US9836327B1 (en) * 2015-06-12 2017-12-05 Amazon Technologies, Inc. Network-based storage access control for migrating live storage clients
US10970110B1 (en) 2015-06-25 2021-04-06 Amazon Technologies, Inc. Managed orchestration of virtual machine instance migration
US10228969B1 (en) * 2015-06-25 2019-03-12 Amazon Technologies, Inc. Optimistic locking in virtual machine instance migration
CN106712988B (zh) * 2015-08-25 2019-11-12 新华三技术有限公司 一种虚拟网络管理方法及装置
CN105117274B (zh) * 2015-09-16 2018-09-11 北京百度网讯科技有限公司 虚拟机迁移方法和装置
CN106559451B (zh) 2015-09-29 2020-09-08 新华三技术有限公司 用户迁移方法和装置
WO2017080590A1 (en) * 2015-11-10 2017-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Technique for exchanging datagrams between application modules
CN105573815B (zh) * 2015-12-10 2019-02-15 中国联合网络通信集团有限公司 一种虚拟机迁移的方法及装置
US10152351B2 (en) * 2016-02-01 2018-12-11 Microsoft Technology Licensing, Llc Proxy object system
CN107179879B (zh) * 2016-03-11 2020-04-03 伊姆西Ip控股有限责任公司 用于存储设备的数据迁移的方法和装置
US10083057B1 (en) * 2016-03-29 2018-09-25 EMC IP Holding Company LLC Migration of active virtual machines across multiple data centers
JP6620238B2 (ja) * 2016-06-06 2019-12-11 株式会社日立システムズ データ移行システム、データ移行方法
US11146530B2 (en) * 2016-07-13 2021-10-12 Paypal, Inc. Network containers
US10834484B2 (en) 2016-10-31 2020-11-10 Ciena Corporation Flat, highly connected optical network for data center switch connectivity
US10200305B2 (en) 2016-10-31 2019-02-05 Ciena Corporation Structured rearranged network for data center and high-performance computing applications
US11556363B2 (en) 2017-03-31 2023-01-17 Intel Corporation Techniques for virtual machine transfer and resource management
CN109168328B (zh) 2017-05-05 2020-10-23 华为技术有限公司 虚拟机迁移的方法、装置和虚拟化系统
US10552225B2 (en) * 2017-07-04 2020-02-04 Vmware, Inc. Virtual device migration or cloning based on device profiles
KR102387935B1 (ko) * 2017-10-23 2022-04-15 삼성전자주식회사 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치
US10476815B2 (en) 2017-12-11 2019-11-12 Ciena Corporation Adaptive communication network with cross-point switches
US10613893B2 (en) 2018-02-02 2020-04-07 Nutanix, Inc. System and method for reducing downtime during hypervisor conversion
US10606630B2 (en) 2018-02-02 2020-03-31 Nutanix, Inc. System and method for preserving entity identifiers
US11194608B2 (en) 2018-05-22 2021-12-07 Vmware, Inc. Virtual infrastructure platform mobility
US11184327B2 (en) * 2018-07-05 2021-11-23 Vmware, Inc. Context aware middlebox services at datacenter edges
US10999220B2 (en) 2018-07-05 2021-05-04 Vmware, Inc. Context aware middlebox services at datacenter edge
US11496436B2 (en) * 2018-07-24 2022-11-08 Vmware, Inc. Migration of virtual machine located on its own network
US10721133B2 (en) * 2018-08-08 2020-07-21 Cisco Technology, Inc. Underlay network formation
US10901781B2 (en) 2018-09-13 2021-01-26 Cisco Technology, Inc. System and method for migrating a live stateful container
US11829351B2 (en) * 2018-11-26 2023-11-28 Akamai Technologies, Inc. High performance distributed system of record with hosted origin services
US11023219B2 (en) * 2019-01-16 2021-06-01 Vmware, Inc. Upgrade implementation of a virtualization management system
US10901773B2 (en) * 2019-04-11 2021-01-26 Red Hat, Inc. Sharing devices between virtual machines in view of power state information
US12039354B2 (en) * 2019-06-18 2024-07-16 The Calany Holding S. À R.L. System and method to operate 3D applications through positional virtualization technology
US12033271B2 (en) 2019-06-18 2024-07-09 The Calany Holding S. À R.L. 3D structure engine-based computation platform
US12040993B2 (en) 2019-06-18 2024-07-16 The Calany Holding S. À R.L. Software engine virtualization and dynamic resource and task distribution across edge and cloud
CN110768888A (zh) * 2019-10-12 2020-02-07 苏州浪潮智能科技有限公司 数据传输装置和系统
US11121984B2 (en) 2019-10-18 2021-09-14 Ciena Corporation Routing tables for forwarding packets between switches in a data center network
US11641305B2 (en) 2019-12-16 2023-05-02 Vmware, Inc. Network diagnosis in software-defined networking (SDN) environments
US11153261B2 (en) * 2020-01-22 2021-10-19 Cisco Technology, Inc. Routing traffic for virtualized/containerized network functions
US20210271393A1 (en) * 2020-03-02 2021-09-02 Silicon Motion, Inc. Method and apparatus for performing data access management of all flash array server
US11271868B2 (en) 2020-07-28 2022-03-08 Ciena Corporation Programmatically configured switches and distributed buffering across fabric interconnect
US11563687B2 (en) 2021-02-04 2023-01-24 Ciena Corporation Controlling distributed buffers in a network to manage data packets

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8724515B2 (en) 2010-03-26 2014-05-13 Cisco Technology, Inc. Configuring a secure network
CN103270736B (zh) 2010-06-29 2016-08-10 华为技术有限公司 一种网络设备
CN102457583B (zh) * 2010-10-19 2014-09-10 中兴通讯股份有限公司 一种虚拟机移动性的实现方法及系统
US8756602B2 (en) 2010-11-14 2014-06-17 Brocade Communications Systems, Inc. Virtual machine and application migration over local and wide area networks without timeout
US9292330B2 (en) * 2012-11-29 2016-03-22 International Business Machines Corporation Replacing virtual machine disks

Also Published As

Publication number Publication date
WO2014127013A1 (en) 2014-08-21
CN105264493A (zh) 2016-01-20
US20140229944A1 (en) 2014-08-14
US9477506B2 (en) 2016-10-25

Similar Documents

Publication Publication Date Title
CN105264493B (zh) 信息中心网络上的动态虚拟机迁移
US11546288B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
US9515930B2 (en) Intelligent handling of virtual machine mobility in large data center environments
US10171357B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
EP2982097B1 (en) Method and apparatus for exchanging ip packets among network layer 2 peers
US9491002B1 (en) Managing communications involving external nodes of provided computer networks
CN112470436A (zh) 使用srv6和bgp的多云连通性
US8879394B2 (en) Method and system of packet based identifier locator network protocol (ILNP) load balancing and routing
EP2687983A1 (en) Hierarchical system for managing a plurality of virtual machines, method and computer program
US8503416B2 (en) Method and system for efficient homeless MPLS micro-mobility
US20140075047A1 (en) Network-Assisted Virtual Machine Mobility
EP3069471B1 (en) Optimized multicast routing in a clos-like network
US20140115135A1 (en) Method and system of frame based identifier locator network protocol (ilnp) load balancing and routing
CN111314196A (zh) 一种数据中心网络混合overlay通信的方法
WO2020212998A1 (en) Network address allocation in a virtual layer 2 domain spanning across multiple container clusters
US20220214912A1 (en) Sharing and oversubscription of general-purpose graphical processing units in data centers
JP2024503322A (ja) 仮想化されたクラウド環境におけるレイヤ2ネットワーキングストーム制御
Amamou et al. A trill-based multi-tenant data center network
US11743180B2 (en) System and method for routing traffic onto an MPLS network
US9763135B1 (en) Load balancing with mobile resources
Han et al. Design and implementation of LISP controller in ONOS
JP2014027407A (ja) 通信システム、及びパケット通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant