CN103238136B - 对于异构迁移环境的虚拟机变化 - Google Patents

对于异构迁移环境的虚拟机变化 Download PDF

Info

Publication number
CN103238136B
CN103238136B CN201180058425.2A CN201180058425A CN103238136B CN 103238136 B CN103238136 B CN 103238136B CN 201180058425 A CN201180058425 A CN 201180058425A CN 103238136 B CN103238136 B CN 103238136B
Authority
CN
China
Prior art keywords
virtual machine
migration
assembly
type
resource
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
CN201180058425.2A
Other languages
English (en)
Other versions
CN103238136A (zh
Inventor
P·文森特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN103238136A publication Critical patent/CN103238136A/zh
Application granted granted Critical
Publication of CN103238136B publication Critical patent/CN103238136B/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine 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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

虚拟机可以允许虚拟机高效且有效地适应新的实施资源的方式在异构实施资源集之间迁移。另外,虚拟机可在迁移期间改变类型而无需终止所述虚拟机。可建立迁移模板来管理虚拟机集在实施资源集和/或虚拟机类型集之间的迁移。可至少部分基于添加到考虑迁移的虚拟机的迁移代理所提供的信息来建立迁移模板。迁移代理可检测并增强相关虚拟机的能力,也可以根据迁移模板触发虚拟机组件的重新配置。

Description

对于异构迁移环境的虚拟机变化
技术领域
本发明涉及虚拟计算机系统,尤其涉及对于异构迁移环境的虚拟机变化。
背景技术
个人和组织很普遍地使用联网的计算机来执行并协助各种任务。比起拥有并维护物理计算机硬件和合适的数据网络环境,越来越普遍的做法是在所述虚拟系统的专业供应商处提供虚拟计算机系统。虚拟计算机系统的使用可提供许多优势,包括成本优势和/或迅速适应改变的计算资源需求的能力。然而,常规虚拟计算机系统提供有许多缺点。
虚拟计算机系统最终是用物理计算硬件和其它实施资源来实施的。然而,虚拟计算机系统的存在性和配置可不依赖于底层实施资源。更换特定的实施资源甚至整个实施资源集而不终止它们实施的虚拟计算机系统并不少见。这样,虚拟计算机系统可具有相对长的使用寿命。然而,随着所述使用寿命变长,可产生关于底层实施资源的各种问题。
可由于各种原因包括为了提高技术和/或成本性能而改变特定虚拟计算机系统供应商所使用的实施资源。例如,硬件制造商的技术进步可使得能够更有效地实施虚拟计算机系统。然而,实施资源改变可能与未改变的虚拟计算机系统不兼容,或者虚拟计算机系统可需要重新配置来充分利用新的实施资源。使相对长寿命的虚拟计算机系统适应改变的实施资源的不够强大和/或灵活的机构可能使虚拟计算机系统不可用,或使虚拟计算机系统以不可接受的效率操作。
发明内容
本发明的虚拟机迁移的计算机实施的方法包括:在配备有可执行指令的一个或多个计算机系统的控制下,接收特征化虚拟机的至少一个组件的信息,所述虚拟机属于第一虚拟机类型且被维护有第一实施资源集;至少部分基于所述接收的信息来建立迁移模板,所述迁移模板对应于从所述第一虚拟机类型到第二虚拟机类型的虚拟机迁移;根据所述迁移模板,把所述虚拟机从所述第一实施资源集迁移到第二实施资源集,使得所述虚拟机被变换为具有所述第二虚拟机类型;根据所述迁移模板触发所述虚拟机的所述至少一个组件的重新配置;和用所述虚拟机向用户提供服务。
此外,本发明的用于虚拟机迁移的计算机化系统包括:共同地能够维护多个虚拟机的多个实施资源;被配置来至少进行以下操作的用户接口:使用户能够建立对应于从第一虚拟机类型到第二虚拟机类型的虚拟机迁移的迁移模板,所述虚拟机迁移包括所述第一虚拟机类型的至少一个组件的重新配置;和使所述用户能够选择属于所述第一类型的虚拟机集以根据所述迁移模板来迁移所述虚拟机集;至少被配置来接收特征化所述第一虚拟机类型的所述至少一个组件的信息的迁移代理接口;和至少被配置来把所述虚拟机集从所述多个实施资源的第一集迁移到所述多个实施资源的第二集使得所述虚拟机集根据所述迁移模板且至少部分基于所述接收的信息来被变换为所述第二虚拟机类型的迁移管理组件。
附图说明
将参看附图描述根据本公开的各种实施方案,其中:
图1是根据至少一个实施方案的示出用于实施方面的示范性环境的示意图;
图2是根据至少一个实施方案的描绘示范性虚拟资源配置体系结构的方面的示意图;
图3是根据至少一个实施方案的描绘示范性虚拟资源供应商的方面的示意图;
图4是根据至少一个实施方案的描绘示范性虚拟资源供应商控制平面的方面的示意图;
图5是根据至少一个实施方案的描绘示范性迁移代理的方面的示意图;
图6是根据至少一个实施方案的描绘示范性迁移模板的方面的示意图;
图7是根据至少一个实施方案的描绘迁移虚拟机集的示范性步骤的流程图;
图8是根据至少一个实施方案的描绘处理迁移选项查询的示范性步骤的流程图;
图9是根据至少一个实施方案的描绘处理迁移选项选择的示范性步骤的流程图;
图10是根据至少一个实施方案的描绘能力增强的示范性步骤的流程图;和
图11是根据至少一个实施方案的描绘工作流管理的示范性步骤的流程图。
整个公开和附图中使用相同的编号来代表相同的组件和特征,但是所述编号的重复是为了说明和理解的简洁,而不应视为对各种实施方案的限制。
具体实施方式
在以下描述中,将描述各种实施方案。为了说明的目的,阐述特定配置和细节来提供对实施方案的透彻理解。然而,对于本领域的技术人员显而易见的是可在没有特定细节的情况下实践实施方案。另外,可能省略或简化众所周知的特征,以免使所描述的实施方案晦涩难懂。
虚拟资源供应商可提供各种虚拟资源(即,模拟计算资源),例如,具有各种物理计算硬件集和其它实施资源的各种类型的虚拟计算机(“虚拟机”)。例如,物理虚拟机(VM)服务器可维护多个虚拟机,其中不同类型的虚拟机需要VM服务器资源的不同部分。虚拟机可以允许虚拟机高效且有效地适应新的实施资源的方式在不同(例如,异构)实施资源集之间迁移(即,通过实施资源集被连续实施)。例如,虚拟机可从老化VM服务器迁移到新的VM服务器,同时最佳地适应处理单元(例如,中央处理单元)类型或数量、存储器模块类型或数量和/或硬盘驱动器类型或数量的改变。另外,虚拟机可改变类型(“变化”)而无需终止。例如,新的VM服务器可能不支持特定虚拟机的当前类型,且虚拟机可变化到支持的类型,作为迁移到新的VM服务器的部分。在至少一个实施方案中,虚拟机变化与虚拟机迁移无关。例如,虚拟机集可从第一虚拟机类型变化为第二虚拟机类型,而不改变用以实施虚拟机集的实施资源集。
第一虚拟机类型迁移到第二虚拟机类型可根据针对两种类型的迁移模板来执行。迁移模板可指定一个或多个虚拟机、虚拟化层和/或在迁移虚拟机之前、期间和/或之后执行的实施资源重新配置。虚拟机的管理员和/或其它授权用户(统称“管理员”)可使用用户接口(例如,基于网络的、编程和/或图形用户接口)来建立迁移模板。迁移模板可至少部分通过提供的迁移选项集的用户选择来指定。另外或替代,迁移模板可至少部分基于将要迁移的虚拟机的配置来指定。
当被授权时,可将迁移代理添加到选择进行迁移的虚拟机。迁移代理可适应特定类型的虚拟机和/或它的组件。例如,迁移代理类型可对应于由虚拟机维护的操作系统的类型。迁移代理可被配置来检测是否存在任何合适的虚拟机能力。另外,迁移代理可被配置来为了迁移的目的而增强特定虚拟机的能力。可将虚拟机的检测和/或增强的能力报告给迁移模板编辑器和至少部分基于所述报告的对应迁移模板。除了能力检测之外,迁移管理器可与迁移代理交互来触发各种类型的虚拟机重新配置,包括管理员指定的自定义重新配置。
可在各种环境中实施各种方法来进行各种应用。例如,图1示出用于实施根据各种实施方案的方面的示范性环境100的方面。应理解,虽然为达说明的目的可使用基于网络的环境,但是适当时可使用不同的环境来实施各种实施方案。示出的环境100包括测试或开发部分(或端)和生产部分。生产部分包括电子客户端设备102,电子客户端设备102可包括可操作以通过适当的网络104发送和接收请求、消息或信息并把信息传递回设备102的用户的任何适当的设备。所述客户端设备的实例包括个人计算机、手机、手持通讯设备、膝上型计算机、平板计算机、机顶盒、个人数据助理、电子书阅读器等。
网络104可包括任何适当的网络,包括内联网、互联网、蜂窝网络、局域网络、广域网络、无线数据网络,或任何其它这样的网络或它们的组合。所述系统使用的组件可至少部分依赖于所选择的网络和/或环境的类型。用于通过这样的网络通信的协议和组件是众所周知的,本文将不再详细讨论。通过网络的通信可通过有线或无线连接和它们的组合来实现。在本实例中,当环境包括用于接收请求并回应于请求提供内容的网络服务器106时,网络104包括互联网,但是本领域的普通技术人员将显而易见,对于其它网络,也可使用用于类似目的的替代的设备。
说明性环境100包括至少一个应用服务器108和数据存储110。应理解,可能有几个应用服务器、层或可链接或以其它方式配置的其它元件、过程或组件,所述应用服务器、层或其它元件、过程或组件可交互来执行例如从适当数据存储获得数据的任务。本文使用的用语“数据存储”指能够存储、访问和/或检索数据的任何设备或设备的组合,这可包括任何标准、分布式或集群环境中的数据任何组合和数量的服务器、数据库、数据存储设备和数据存储介质。
应用服务器108可包括用于如所需地与数据存储集成来执行用于客户端设备102的一个或多个应用的方面的任何适当的硬件和软件,且甚至可处理大多数用于应用的数据访问和业务逻辑。应用服务器108与数据存储110合作提供访问控制服务,且能够产生例如将传递给用户的文字、图形、音频和/或视频的内容,在本实例中该内容可通过网络服务器106以HTML、XML或另一适当的结构化语言的形式提供给用户。
所有请求和响应的处理以及客户端设备102和应用服务器108之间的内容传递可由网络服务器106来处理。应理解,网络服务器106和应用服务器108不是必需的,且它们只是示范性的组件,因为本文讨论的结构化的代码可在本文别处讨论的任何适当的设备或主机上执行。另外,环境100可被构建成使得可提供测试自动化框架来作为用户或应用可订阅的服务。可提供测试自动化框架来作为任何本文讨论的各种测试模式的实施,但是如本文所讨论或指出的,也可使用各种其它实施。
环境100也可包括开发和/或测试端,开发和/或测试端包括允许例如开发人员、数据管理员或测试员的用户访问系统的用户设备118。用户设备118可以是例如上文相对于客户端设备102所描述的任何适当的设备或机器。例如,环境100也可包括开发服务器120,开发服务器120功能类似于应用服务器108,但是通常在开发和测试期间运行代码,然后才在生产端上部署并执行代码且外部用户才可访问代码。在一些实施方案中,应用服务器可充当开发服务器,且可不使用单独的生产和测试存储。
数据存储110可包括几个单独的数据表、数据库或用于存储与特定方面相关的数据的其它数据存储机构和介质。例如,示出的数据存储110包括用于存储生产数据112和用户信息116的机构,生产数据112和用户信息116可用来为生产端提供内容。数据存储110也示出为包括用于存储测试数据114的机构,测试数据114可与用户信息一起用于测试端。应理解,可能有存储在数据存储110中的例如用于页面映像信息和访问权限信息的许多其它方面,页面映像信息和访问权限信息适当时可存储在上文列出的任何机构中或数据存储110中另外的机构中。
数据存储110可通过与之相关的逻辑来操作,以接收来自应用服务器108或开发服务器120的指令,并作为回应获得、更新或处理数据。在一个实例中,用户可提交对某一类型项目的搜索请求。在这种状况下,数据存储110可访问用户信息116来验证用户身份,且可访问目录详细信息来获得关于该类型项目的信息。然后,可将信息返回到用户,例如,以在用户能够通过用户设备102上的浏览器来查看的网页上列出的结果的形式。可在专用页面或浏览器的窗口中查看感兴趣的特定项目的信息。
每个服务器通常将包括提供用于该服务器的一般管理和操作的可执行程序指令的操作系统,且通常将包括存储被服务器的处理器执行时允许服务器执行其预定功能的指令的计算机可读介质。服务器的操作系统和一般功能的适当实施是已知的或可购得的,且易于由本领域的普通技术人员特别是根据本文的公开来实施。
在一个实施方案中,环境100是使用几个计算机系统和组件的分布式计算环境,这些计算机系统和组件使用一个或多个计算机网络或直接连接通过通信链路互连。然而,本领域的普通技术人员应理解,所述系统可在具有比图1示出的组件更多或更少组件的系统中同样操作良好。因此,图1中系统100的描绘应理解为本质上是说明性,而不是限制本公开的范围。
在至少一个实施方案中,环境100的一个或多个方面可合并和/或合并成虚拟资源提供体系结构。图2描绘了根据至少一个实施方案的示范性虚拟资源提供体系结构200的方面。示范性虚拟资源提供体系结构200包括通过网络208通信地连接到虚拟资源供应商206的多个客户端202-204。例如,客户端202-204可对应于例如图1的计算设备102的计算设备和/或并入这样的计算设备的客户端程序。客户端202和客户端204之间的省略号指示虚拟资源提供体系结构200可包括任何适当数量的客户端,但是为了简洁,图2中只示出两个客户端。在整个附图部分中类似地使用了省略号。
客户端202-204中的一个或多个可被虚拟资源供应商206的一个或多个客户用来与虚拟资源供应商206的控制平面210交互,从而提供一个或多个虚拟资源212。另外或替代,客户端202-204中的一个或多个可被(不一定是虚拟资源供应商206的客户)用来与提供的虚拟资源212交互。提供的虚拟资源212可包括任何适当类型和/或数量的虚拟资源214-216。适当虚拟资源212的实例包括虚拟机,例如虚拟计算机系统、虚拟网络连接、虚拟数据存储、专门的数据处理代理、包括音频和视频流代理的媒体流代理、消息队列、被配置来通知订阅者具有匹配发布到发布-订阅主题的事件的订阅的发布-订阅主题、监控代理、负载平衡代理和它们的适当组合。
虚拟资源供应商206可包括任何适当类型和/或数量的实施资源220-222。虚拟资源214-216中的每一个可被实施资源218集来实施。在至少一个实施方案中,实施资源218的各种实施资源可被配置来参与至少部分实施虚拟资源212的多个虚拟资源。适当的实施资源220-222的实例包括VM服务器、数据存储服务器、计算机、服务器机架、网络硬件(包括交换机、路由器、网关、网桥、集线器、中继器、防火墙和无线收发器)、电源、发电机、数据中心、数据中心的房间、移动数据中心,以及非易失性存储设备(包括硬盘驱动器)、例如中央处理单元(CPU)的处理单元、处理单元中的高速缓存、多核处理单元中的处理核心、易失性存储设备(例如包括随机存取存储器(RAM)模块的存储器模块和多芯片存储器模块的RAM芯片)、网络接口硬件和它们的适当的组合。控制平面210可处理虚拟资源提供请求、管理虚拟资源212到实施资源218的分配和/或管理实施资源218到虚拟资源212的分配。下文参看图4更详细描述根据至少一个实施方案的示范性虚拟资源供应商控制平面。
虚拟机可提供物理计算机系统的一些或所有功能,尤其关于远程可访问的计算机系统功能。图3描绘了根据至少一个实施方案的在虚拟资源供应商300处提供的示范性虚拟机302-304的方面。虚拟资源供应商300是图2的虚拟资源供应商206的实例,且具有对应的实施资源306和包括虚拟机302-304的虚拟资源308。在图3中,虚拟化层310明确示出为在实施资源306和虚拟资源308之间。虚拟化层310可使虚拟机302-304与底层实施资源306分离和/或即使在虚拟机302-304共享特定的实施资源时也可使它们彼此分开。例如,虚拟化层310可并入实施资源306的VM服务器所执行的所谓的“管理程序”。这样的管理程序和虚拟化层在本领域是已知的,所以本文只描述它们的一些细节。
每个虚拟机302、304示出为分别包括操作系统312、314和多个应用316-318、320-322。虚拟机302-304可包括任何适当的计算机操作系统(例如,UNIX操作系统),且不同的虚拟机302、304可包括不同的操作系统312、314和/或不同的操作系统版本和配置。每个虚拟机302、304可包括多个操作系统,但是为了简洁并没有在图3中示出。应用316-322可以是任何适当的计算机应用,包括任何适当的计算机可执行指令。应用316-322可向虚拟机的用户提供任何适当的服务,包括对应于图1的网络服务器106、应用服务器108、开发服务器120和/或数据存储110提供的服务的服务。虚拟机302-304不需要具有与操作系统312-314分开的应用316-322。
包括虚拟机302-304的虚拟资源308的提供、配置、重新配置和/或解除提供(统称为“提供”)可由虚拟资源供应商206的控制平面210(图2)来控制。图4描绘了根据至少一个实施方案的示范性控制平面402的方面。图4的控制平面402是图2的控制平面210的实例。控制平面402可包括至少被配置来接收来自客户端202-204中的一个或多个的虚拟资源212提供请求的提供接口404;至少被配置来根据一个或多个提供工作流引导对提供请求的响应的工作流组件406;和至少被配置来管理实施资源218到虚拟资源212的分配的资源分配组件408。
提供接口404可包括任何适当的提供接口元件。适当的提供接口元件的实例包括对应于提供虚拟资源212(图2)的请求的接口元件、提供到虚拟资源212配置信息的访问的接口元件和能够实现认证来建立用于这样的提供相关操作的授权的一个或多个接口元件。提供接口404可并入和/或被并入用户接口(UI),例如,图形用户接口(GUI)、基于网络的接口、例如对应于提供接口元件的应用编程接口(API)和/或远程过程调用(RPC)集的程序接口、例如提供接口404的接口元件对应于通信协议的消息的消息接口的消息接口,和/或它们的任何适当的组合。
在至少一个实施方案中,提供接口404和资源分配组件408可创建和/或使工作流组件406创建后来由工作流组件406维护的一个或多个工作流。例如提供工作流和策略执行工作流的工作流可包括将被执行来执行例如提供或策略执行的工作的一个或多个任务序列。本文使用的用语“工作流”不是任务本身,而是可控制到任务或来自任务的信息流的任务控制结构,以及它所控制的任务的执行顺序。例如,工作流可被认为是可在执行期间的任何时候管理并返回过程状态的状态机。工作流可从工作流模板创建。例如,提供工作流可由资源分配组件408从配备有参数的提供工作流模板创建。
工作流组件406可修改、进一步指定和/或进一步配置建立的工作流。例如,工作流组件406可选择虚拟资源供应商206的特定实施资源218(图2)来执行特定任务和/或分配到特定任务。这样的选择可至少部分基于如工作流组件406所评估的特定任务的计算资源需求。作为另一实例,工作流组件406可添加另外和/或重复的任务到建立的工作流并且/或者重新配置建立的工作流中任务之间的信息流。建立的工作流的所述修改可至少部分基于工作流组件406的执行效率分析。例如,一些任务可有效地并行执行,而其它任务依赖于之前任务的成功完成。
作为提供虚拟资源的部分,提供接口404和/或工作流组件406可请求资源分配组件408确定需要的适当的实施资源218(图2)集来实施虚拟资源、确定所需要的实施资源是否可用和/或是否符合虚拟资源供应商206分配策略和/或分配所需要的实施资源。资源分配组件408可并入任何适当的资源分配和/或资源调度算法。本领域的技术人员已知这样的算法的各方面,所以本文只描述了一些细节。
控制平面402还可包括至少被配置来在不同实施资源306集之间迁移虚拟机302-304(图3)的虚拟机迁移组件410。虚拟机迁移组件410可包括用户接口412,客户端202-204(图2)可与用户接口412来交互,从而指定并请求虚拟机迁移。用户接口412可提供到迁移模板编辑器414的访问,迁移模板编辑器414至少被配置来使用户能够创建、读取、更新和删除(统称为“编辑”)一个或多个迁移模板416。例如,用户接口412可包括至少被配置来使得授权用户能够编辑迁移模板416的图形用户接口(GUI)418。下文参看图6更详细描述了根据至少一个实施方案的迁移模板的实例。
用户接口412还可使用户能够请求虚拟机302-304(图3)的指定集的迁移选项集。例如,虚拟机302-304的指定集可包括一个或多个特定类型和/或配置的虚拟机,且迁移选项可被特定类型和/或配置限制。响应于请求和/或明确授权,虚拟机迁移组件410可添加一个或多个迁移代理420到虚拟机302-304的指定集中的一个或多个,且所添加的迁移代理420可确定和/或提供特征化它们被添加到的虚拟机的特定类型和/或配置的信息。下文参看图5更详细描述了根据至少一个实施方案的迁移代理的实例。
添加到虚拟机302(图3)的迁移代理420可通过迁移代理接口422把特征化虚拟机302的信息提供返回到虚拟机迁移组件410。另外或替代,任何适当的代理(例如,客户用户代理)可通过迁移代理接口422提供特征化信息。特征化虚拟机302的信息可以是适于确定必要和/或理想的动作来变换和/或重新配置虚拟机从而有效和/或高效地迁移虚拟机的任何信息。这样的特征化信息的实例包括分配给虚拟机的多个物理处理单元、分配给虚拟机的多个处理核心、分配给虚拟机的物理处理单元的一个或多个类型、分配给虚拟机的易失性数据存储的大小和/或类型、分配给虚拟机的非易失性数据存储的大小和/或类型和包括例如网络接口设备的网络设备的分配给虚拟机的网络资源的数量和/或类型。这样的特征化信息的另外的实例包括虚拟机302的操作系统312的一个或多个组件的特征,例如,操作系统312是否包括关于特定实施资源306的热插入功能,实施资源306例如是物理处理单元、处理核心、例如存储器模块的易失性存储设备和例如硬盘驱动器的非易失性存储设备。
虚拟机迁移组件412可基于在迁移代理接口422和/或用户接口412处接收的特征化信息来过滤可用迁移选项(例如,从VM类型A到VM类型B-Z)集,从而确定迁移选项(例如,从VM类型A到VM类型C、D和K)的候选集,且迁移选项的候选集可被提供给管理员来进行选择。当将迁移代理420添加到虚拟机的不被授权时,虚拟机迁移组件410可把特征化信息的保守默认值集用作过滤器,从而有可能产生较小的候选集。管理员可重新提交具有另外的所述授权的迁移选项请求,来试图在必要时产生更大的候选集。迁移选项可对应于迁移模板416。另外或替代,从提供的迁移选项的候选集中选择可过滤可用迁移模板416的集。另外或替代,迁移选项选择可配置和/或指定迁移模板416的一个或多个部分。
一旦适当的迁移选项和/或迁移模板416可用,管理员就可把特定迁移模板416分配到虚拟机302-304(图3)的特定集。然后,迁移管理组件424可根据分配的迁移模板416迁移虚拟机302-304的集。迁移模板416可指定一个或多个虚拟机302-304、虚拟化层310和/或将在迁移对应虚拟机302-304之前、期间和/或之后执行的实施资源306重新配置。当指定的重新配置在虚拟机302-304内部时,迁移管理组件424和虚拟机302-304被添加了一个合适的迁移代理420,迁移管理组件424可通过使用迁移代理接口422与添加的迁移代理420交互来触发内部重新配置。
迁移代理420可包括可由虚拟机302-304(图3)执行来执行一个或多个迁移任务的指令。图5描绘了根据至少一个实施方案的示范性迁移代理502的方面。迁移代理502是图4的迁移代理420的实例。迁移代理502可包括能力检测组件504。能力检测组件504可检测一个或多个虚拟机302-304能力。例如,能力检测组件504可检测操作系统312是否包括关于特定实施资源306的热插入功能。能力检测组件504可包括至少被配置来检测特定虚拟机类型的特定能力的一个或多个检测器506-508。例如,能力检测组件504可至少部分基于迁移代理502添加到的虚拟机302的操作系统312的检测的类型和/或版本来选择检测器506-508的特定集。
能力检测组件504可检测到特定虚拟机302(图3)不具有关于迁移的特定能力。在这种状况下,当被授权时,能力增强组件510可暂时或永久地增强虚拟机302的能力。例如,能力增强组件510可增强虚拟机302的操作系统312来包括关于特定实施资源306(例如物理处理单元、处理核心、例如存储器模块的易失性存储设备和例如硬盘驱动器的非易失性存储设备)的热插入功能。能力增强组件510可包括将被部署到虚拟机302的一个或多个增强包512-514。例如,增强包512-514可对应于特定增强功能包和/或例如操作系统312类型和/或版本的特定虚拟机302组件类型和/或版本。
一旦添加到虚拟机302(图3),迁移代理502可起到能力检测和增强之外的作用。迁移代理502还可包括重新配置组件516,重新配置组件516至少被配置来根据迁移模板416中的一个或多个来如迁移管理组件424(图4)所指示般重新配置虚拟机302。由于迁移代理502与虚拟机302一起被迁移到新的实施资源集,所以重新配置组件516可在迁移之前和之后重新配置虚拟机302。例如,假设迁移将使虚拟机302从第一类型变化为被分配有较少物理处理器的第二类型。在为迁移做准备时,重新配置组件516可重新配置虚拟机302来访问较少物理处理器。作为另一实例,假设迁移使虚拟机302从第一类型变化为具有较大非易失性数据存储分配的第二类型。在迁移之后,重新配置组件516可调整文件系统或逻辑数据存储卷的大小来利用较大的分配。重新配置组件516可包括适于迁移代理添加到的虚拟机302的一个或多个配置器518-520。例如,配置器518-520可适于例如操作系统312类型和/或版本的特定虚拟机302组件类型和/或版本。
虽然许多操作系统312-314(图3)和应用316-322被标准化,但是虚拟机302-304可包括自定义应用和操作系统,且甚至标准化的应用可被配置来管理具有非标准特征的数据结构。因此,迁移代理502可包括自定义操作组件522,自定义操作组件522至少被配置来根据迁移模板416中的一个或多个来如迁移管理组件424(图4)所指示般激活一个或多个用户提供的组件524-526。例如,管理员可在创建迁移模板416期间提供组件524-526中的一个或多个。用户提供的组件524-526可包括可由虚拟机302以包括解释性编程语言和/或脚本语言的任何适当的编程语言执行的指令。例如,用户提供的组件524-526可响应于分配实施资源306的增大和/或减小而执行应用级重新配置。
迁移代理502的活动可根据迁移模板416中的一个或多个被迁移管理组件424(图4)控制。图6描绘了根据至少一个实施方案的示范性迁移模板602的方面。迁移模板602可指定适于建立将由控制平面402的工作流组件406管理的虚拟机迁移工作流的一个或多个任务。迁移模板602指定的任务可包括迁移前重新配置任务604、热拔掉操作606、一个或多个迁移任务608、热插入操作610和迁移后重新配置任务612。
热拔掉操作606可包括对应于目前可用于虚拟机302的实施资源306(图3)中的一个或多个的移除的一个或多个任务。例如,热拔掉操作606可包括减小可用于虚拟机302的物理处理单元和/或处理核心的数量;减小可用于虚拟机302的物理存储器模块的数量和/或分配的易失性数据存储大小;和减小可用于虚拟机302的物理硬盘驱动器的数量和/或分配的非易失性数据存储大小。所述操作606可具有对应于把物理组件从物理计算机系统拔掉的效果。因此,一些应用级和/或操作系统级的准备可能是理想的和/或必需的。迁移模板602的迁移前重新配置任务604部分可包括在为热拔掉操作606做准备时执行的一个或多个任务。
类似地,热插入操作610可包括对应于目前不可用于虚拟机302的实施资源306(图3)中的一个或多个的添加的一个或多个任务。例如,热插入操作610可包括增大可用于虚拟机302的物理处理单元和/或处理核心的数量;增大可用于虚拟机302的物理存储器模块的数量和/或分配的易失性数据存储大小;和增大可用于虚拟机302的物理硬盘驱动器的数量和/或分配的非易失性数据存储大小。所述操作610可具有对应于把物理组件插入物理计算机系统的效果。因此,一些应用级和/或操作系统级的重新配置可能是理想的和/或必需的,以利用另外的实施资源。迁移模板602的迁移后重新配置任务612部分可包括为适应热插入操作610添加的资源而执行的一个或多个任务。
迁移模板602的迁移任务608部分可指定把虚拟机302(图3)从第一实施资源集迁移到第二实施资源集和/或从第一虚拟机类型迁移到第二虚拟机类型所需的一个或多个任务。迁移可以是“现场的”,其中虚拟机302的操作不间断或被最小中断(例如,中断小于1秒)。另外或替代,迁移可以是涉及虚拟机操作的更明显中断的“保存和恢复”迁移并且/或者涉及虚拟机的“重新启动”。本领域的技术人员已知虚拟机的这种迁移和/或现场迁移技术,所以本文只描述了一些细节。在至少一个实施方案中,迁移任务608可指定将在虚拟机302迁移期间执行的一个或多个任务,例如变换虚拟机302的类型。迁移模板602的部分604-612中的一个或多个可能是空的。例如,当第二实施资源集与第一实施资源集相同(例如,虚拟机302将变化但是不迁移)时的迁移模板602的迁移任务608部分。在这种状况下,迁移模板602可被称为变化模板。
现在描述根据至少一个实施方案的可执行的示范性步骤和/或过程。图7描绘了根据至少一个实施方案的迁移虚拟机集的示范性步骤。在步骤702,可提供一个或多个第一类型(“类型A”)的虚拟机。例如,虚拟机302-304(图3)可配备有控制平面402的提供接口404(图4)。在步骤704,一个或多个服务可配备有在步骤702提供的虚拟机。例如,虚拟机302可维护提供基于网络的服务的应用316。
提供的虚拟机可提供服务一段时间,之后迁移变得理想和/或必需。在步骤706,为了促进迁移,可建立适于迁移提供的虚拟机的迁移模板。例如,可用图形用户接口418来建立迁移模板416(图4)中的一个。在本实例中,迁移涉及虚拟机从第一虚拟机类型到第二虚拟机类型(“类型B”)的变换。在步骤708,可选择提供的虚拟机集来进行迁移。例如,可用虚拟机迁移组件410的图形用户接口418来选择虚拟机集,且所述虚拟机集可与在步骤706建立的迁移模板相关。
在步骤710,可选择指定虚拟机集中的下一个(例如,第一个)来进行迁移。在步骤712,可根据在步骤706建立的迁移模板来迁移所选择的虚拟机。例如,迁移管理组件424可根据相关的迁移模板来触发和/或执行迁移。另外或替代,迁移管理组件424可与工作流组件406合作来完成虚拟机迁移。迁移工作流可至少部分基于相关的迁移模板。在步骤714,可确定在指定集中是否还有虚拟机要迁移。如果是,那么包括步骤714的过程可前进到步骤710来选择虚拟机集中的下一个进行迁移。如果不是,那么过程可前进到步骤716。在步骤716,迁移和变换的虚拟机可继续提供步骤704的服务。
建立迁移模板602(图6)可能是复杂的过程。虚拟机迁移组件410(图4)可提供工具来帮助管理员建立迁移模板602。图8描绘了根据至少一个实施方案的处理迁移选项查询的示范性步骤。在步骤802,可接收迁移选项查询。例如,查询可被虚拟机迁移组件410的图形用户接口418接收。查询可与管理员针对其考虑迁移选项的特定虚拟机集相关。在步骤804,可请求把一个或多个迁移代理添加到虚拟机集的授权。例如,图形用户接口418可从置入步骤802的查询的管理员请求授权。
在步骤806,可确定所请求的授权是否已被接收。例如,管理员可提供授权添加的加密凭证集。如果接收了授权,那么包括步骤806的过程可前进到步骤808。否则,过程可前进到步骤810。
在步骤808,可将适当迁移代理集添加到虚拟机集。例如,虚拟机迁移组件410(图4)可把适当的迁移代理420添加到虚拟机302(图3)。被选择添加到特定虚拟机的特定迁移代理可被选择为与虚拟机兼容,例如,与虚拟机的操作系统兼容。或者,迁移代理420可并入与每个可用虚拟机302-304类型兼容的组件和/或能够自身配备有这样的组件来变得兼容。在步骤812,所添加的迁移代理可例如使用迁移代理502(图5)的能力检测组件504来特征化虚拟机集和/或它的组件。在步骤814,可接收特征化信息。例如,所添加的迁移代理可使用虚拟机迁移组件410的迁移代理接口422来提供特征化信息。
如果未接收到把迁移代理添加到虚拟机集来确定步骤814的特征化信息的授权,那么在步骤810,可代替特征化信息来识别“故障安全”默认值集。在默认值将防止可由于虚拟机类型和/或实施资源不兼容而使迁移失败的迁移选项的意义上,默认值可以是故障安全的。在步骤816,可基于在步骤814接收的特征化信息或步骤810的故障安全默认值来确定迁移选项集。例如,虚拟机迁移组件410(图4)可确定迁移选项集。在步骤818,例如,可向使用图形用户接口418提交步骤802的查询的管理员提供迁移选项集。
迁移选项集可包括迁移模板602(图6)配置选项,例如,部署(若有)哪些增强包512-514(图5)、是否模拟不兼容的实施资源(可能增大目标VM类型的数量)、迁移后是否“暴露”兼容但不同的实施资源(或者把新的实施资源“隐藏”为它们的迁移前类型)和候选目标VM类型集。图9描绘了根据至少一个实施方案的处理迁移选项选择的示范性步骤。在步骤902,可接收迁移选项选择。例如,虚拟机迁移组件410(图4)可通过图形用户接口418从管理员接收选择。在步骤904,可至少部分基于所接收的迁移选项选择来建立一个或多个迁移模板。例如,迁移模板编辑器414可基于所接收的迁移选项选择来建立和/或配置迁移模板416。
在步骤906,例如,如上文参看图7所述,可根据所建立的迁移模板来迁移所选择的虚拟机。步骤906的迁移可本身包括多个步骤。例如,假设将根据图6的迁移模板602来迁移图3的虚拟机302。在步骤908,可执行虚拟机302的一个或多个组件的迁移前重新配置。例如,可执行迁移前重新配置任务604和热拔掉操作606。在步骤910,可暂停虚拟机302来完成状态转移(步骤912)。在继续运行虚拟机302(步骤916)之前,可执行虚拟机的一个或多个组件的迁移中(或迁移中间)重新配置。例如,应用316-318可被重新链接到不同的操作系统312组件,且/或可在操作系统312级触发设备重新发现。在步骤918,可执行虚拟机302的一个或多个组件的迁移后重新配置。例如,可如迁移模板602所指定地执行热插入操作610和迁移后重新配置任务612。
如上文参看图5所述,迁移代理502可包括能力增强组件510。图10描绘了根据至少一个实施方案的能力增强的示范性步骤。在步骤1002,例如,虚拟机能力检测可由迁移代理502的特定检测器506来执行。在步骤1004,可确定是否检测能力。如果是,那么并入步骤1004的过程可前进到步骤1006。否则,过程可前进到步骤1008。
在步骤1008,可确定未检测到的能力是否可由迁移代理502(图5)添加。例如,能力增强组件510可确定增强包512-514中的一个是否提供该能力且是否与已将迁移代理502添加到的虚拟机兼容。如果可添加该能力,那么过程可前进到步骤1010。否则,过程可前进到步骤1006。
在步骤1010,可确定迁移代理502(图5)是否被授权来添加能力。例如,管理员可能已授权迁移代理502来添加可用增强包512-514的特定子集,且迁移代理502可核实它是否被授权来添加在步骤1008识别的特定增强包。如果是,那么过程可前进到步骤1012。否则,过程可前进到步骤1006。
在步骤1012,可将能力添加到虚拟机302。例如,迁移代理502可把增强包512添加到虚拟机302的操作系统312。在步骤1006,可报告能力检测过程的结果,包括步骤1002、步骤1008、步骤1010和步骤1012的结果。例如,可使用迁移代理接口422把报告提供给虚拟机迁移组件410(图4)。
如上文参看图4所述,控制平面402可被工作流组件406维护的一个或多个工作流促进。图11描绘了根据至少一个实施方案的工作流管理的示范性步骤。在步骤1102,请求可被控制平面402(图4)的接口接收。例如,控制平面402的用户接口中的一个可接收来自虚拟资源供应商206(图2)的用户、客户和/或管理员的请求。例如,请求可能是使用简单对象访问协议(SOAP)调用的编程接口调用,例如,应用编程接口(API)或网络服务接口。另外或替代,可通过图形用户接口(GUI)(例如基于网络的GUI)来接收请求。在步骤1104,可分析请求来确定成功完成该请求所需要的一个或多个操作。例如,提供接口404可分析请求,并确定提供虚拟资源212集所需要的操作集。当接收请求的接口元件对应于将执行的特定操作时,接口可从请求提取将用以确定要执行的操作的方面和/或参数的信息。
在步骤1106,可发送请求来至少部分基于在步骤1104确定的一个或多个操作创建工作流。例如,提供接口404(图4)可把请求发送到工作流组件406。创建工作流的请求可包括操作、例如操作类型的操作元数据和/或操作参数。在至少一个实施方案中,控制平面402和/或工作流组件406维护这种请求的作业队列,且响应于到作业队列的新的添加来创建工作流。在步骤1108,可创建工作流和一个或多个组件任务。例如,工作流组件406可分析步骤1106的请求来确定要创建的合适的工作流和组件任务。
在步骤1110,可根据工作流来引导组件任务的执行。例如,工作流组件406(图4)可激活各种实施资源的接口的元件来提供虚拟资源集。另外或替代,工作流组件406可管理虚拟资源供应商206(图2)的组件执行组件任务的出价。在步骤1112,可确定工作流是否已完成。例如,工作流组件406可确定工作流管理的任务序列中的最终任务是否已完成。如果是,那么并入步骤1112的过程可前进到步骤1114。否则,过程可返回到步骤1110来进行下一任务和/或任务序列。工作流可引导并行执行的多个任务序列。在这种状况下,有可能工作流未完成,直到多个任务序列中的每一个均完成和/或组件任务中的一个设置明确的工作流完成标志为止。在步骤1114,可将操作的结果告知步骤1102的请求的发送者。
条款:
条款1.一种用于虚拟机迁移的计算机实施的方法,其包括:
在配备有可执行指令的一个或多个计算机系统的控制下,
用虚拟机向用户提供服务,所述虚拟机属于第一虚拟机类型且被维护有第一实施资源集;
把迁移代理添加到所述虚拟机,并至少部分基于从所述迁移代理接收的信息来建立迁移模板,所述信息包括特征化所述虚拟机的至少一个组件的信息;
根据所述迁移模板的迁移前部分来用所述迁移代理触发所述虚拟机的至少第一组件的重新配置;
根据所述迁移模板,把所述虚拟机从所述第一实施资源集迁移到第二实施资源集,使得迁移后所述虚拟机属于第二虚拟机类型;
根据所述迁移模板的迁移后部分来用所述迁移代理触发所述虚拟机的至少第二组件的重新配置;和
继续用属于所述第二虚拟机类型的所述虚拟机向所述用户提供所述服务。
条款2.如条款1所述的计算机实施的方法,其中所述第二实施资源集与所述第一实施资源集对于以下至少一项而言不同:物理处理单元的数量、每个物理处理单元的处理核心的数量、物理处理单元的类型、易失性数据存储设备的数量、易失性数据存储设备的类型、非易失性数据存储设备的数量、非易失性数据存储设备的类型、网络设备的数量和网络设备的类型。
条款3.如条款1所述的计算机实施的方法,其中所述第二虚拟机类型与所述第一虚拟机类型对于以下至少一项而言不同:物理处理单元的分配数量、处理核心的分配数量、物理处理单元的分配类型、分配的易失性数据存储大小、分配的非易失性数据存储大小和分配的网络资源。
条款4.如条款1所述的计算机实施的方法,其中:
所述虚拟机由虚拟资源供应商为所述虚拟资源供应商的客户维护;且
所述方法还包括从所述客户请求并接收将所述迁移代理添加到所述虚拟机的授权。
条款5.如条款1所述的计算机实施的方法,其中从所述迁移代理接收的所述信息特征化所述虚拟机的操作系统。
条款6.一种用于虚拟机迁移的计算机实施的方法,包括:
在配备有可执行指令的一个或多个计算机系统的控制下,
接收特征化虚拟机的至少一个组件的信息,所述虚拟机属于第一虚拟机类型且被维护有第一实施资源集;
至少部分基于所述接收的信息来建立迁移模板,所述迁移模板对应于从所述第一虚拟机类型到第二虚拟机类型的虚拟机迁移;
根据所述迁移模板,把所述虚拟机从所述第一实施资源集迁移到第二实施资源集,使得所述虚拟机被变换为具有所述第二虚拟机类型;
根据所述迁移模板来触发所述虚拟机的所述至少一个组件的重新配置;和
用所述虚拟机向用户提供服务。
条款7.如条款6所述的计算机实施的方法,其中建立所述迁移模板包括至少部分基于所述接收的信息来确定迁移选项集。
条款8.如条款7所述的计算机实施的方法,其还包括:
向所述虚拟机的管理员提供所述迁移选项集;和
至少部分基于所述管理员相对于所述迁移选项集所做的选择来配置所述迁移模板。
条款9.如条款6所述的计算机实施的方法,其中所述虚拟机的所述至少一个组件的所述重新配置包括把至少一个另外的组件添加到所述虚拟机的操作系统。
条款10.如条款9所述的计算机实施的方法,其中所述至少一个另外的组件重新配置所述操作系统来提供硬件组件热插入能力。
条款11.如条款6所述的计算机实施的方法,其中迁移所述虚拟机包括多个步骤,所述步骤包括暂停所述虚拟机和继续运行所述虚拟机,且所述虚拟机的所述至少一个组件的所述重新配置发生在暂停所述虚拟机之后且在继续运行所述虚拟机之前。
条款12.如条款6所述的计算机实施的方法,其中所述至少一个组件包括链接到所述虚拟机的操作系统的至少一个组件的应用,且所述应用的所述重新配置包括把所述应用重新链接到所述操作系统的至少一个不同组件。
条款13.如条款6所述的计算机实施的方法,其中所述迁移模板指定将用所述第二实施资源集中的至少一个模拟所述第一实施资源集中的至少一个。
条款14.一种用于虚拟机迁移的计算机实施的方法,其包括:
在配备有可执行指令的一个或多个计算机系统的控制下,
把迁移代理添加到虚拟机,所述虚拟机属于第一类型且被维护有第一实施资源集;
从所述迁移代理接收特征化所述虚拟机的至少一个组件的信息;
把所述虚拟机从所述第一实施资源集迁移到第二实施资源集,使得所述虚拟机被变换为属于第二类型;
使用所述迁移代理来触发所述虚拟机的所述至少一个组件的重新配置;和
用所述虚拟机向用户提供服务。
条款15.如条款14所述的计算机实施的方法,其中:
所述至少一个组件与实施资源容量相关;
所述至少一个组件的重新配置包括减小所述实施资源容量;且
所述重新配置发生在把所述虚拟机从所述第一实施资源集迁移之前。
条款16.如条款15所述的计算机实施的方法,其中:
所述实施资源容量对应于参与所述虚拟机的至少一个数据存储的实施的数据存储设备的容量;且
所述至少一个组件的所述重新配置还包括在减小所述实施资源容量之前重新配置所述至少一个数据存储。
条款17.如条款16所述的计算机实施的方法,其中:
所述至少一个数据存储由所述虚拟机的操作系统维护;且
所述至少一个组件的所述重新配置还包括在重新配置所述至少一个数据存储之前通知所述虚拟机的应用级组件。
条款18.如条款14所述的计算机实施的方法,其中:
所述至少一个组件与实施资源容量相关;
所述至少一个组件的所述重新配置包括增大所述实施资源容量;且
所述重新配置发生在把所述虚拟机迁移到所述第二实施资源集之后。
条款19.一种用于虚拟机迁移的计算机化系统,其包括:
共同地能够维护多个虚拟机的多个实施资源;
被配置来至少进行以下操作的用户接口:
使用户能够建立对应于从第一虚拟机类型到第二虚拟机类型的虚拟机迁移的迁移模板,所述虚拟机迁移包括所述第一虚拟机类型的至少一个组件的重新配置;和
使所述用户能够根据所述迁移模板来选择属于所述第一类型的虚拟机集以迁移所述虚拟机集;
至少被配置来接收特征化所述第一虚拟机类型的所述至少一个组件的信息的迁移代理接口;和
至少被配置来把所述虚拟机集从所述多个实施资源的第一集迁移到所述多个实施资源的第二集使得所述虚拟机集根据所述迁移模板且至少部分基于所述接收的信息来被变换为所述第二虚拟机类型的迁移管理组件。
条款20.如条款19所述的计算机化系统,其中:
所述用户接口还至少被配置来使所述用户能够授权把迁移代理集添加到所述虚拟机集;且
所述迁移管理组件还至少被配置来在迁移所述虚拟机集之前把所述迁移代理集添加到所述虚拟机集。
条款21.如条款20所述的计算机化系统,其中所述迁移代理集包括至少被配置来特征化所述至少一个组件并把所述特征化信息提供到所述迁移代理接口的至少一个迁移代理。
条款22.如条款20所述的计算机化系统,其中所述迁移代理集包括对应于由所述虚拟机集维护的多个操作系统类型的多个迁移代理类型。
条款23.如条款19所述的计算机化系统,其中特征化所述至少一个组件的所述信息包括所述至少一个组件是否并入硬件组件热插入功能的指示。
条款24.如条款19所述的计算机化系统,其中特征化所述至少一个组件的所述信息包括足以确定所述至少一个组件是否能够并入硬件组件热插入功能的信息。
条款25.一个或多个计算机可读介质,其上共同地具有配置一个或多个计算机来共同地至少进行以下操作的计算机可执行指令:
接收特征化第一类型的虚拟机的至少一个组件的信息;
至少部分基于所述接收的信息来建立变化模板,所述变化模板至少配置所述虚拟机从所述第一虚拟机类型到第二虚拟机类型的变换;
根据所述变化模板来触发所述虚拟机的所述至少一个组件的重新配置;
根据所述变化模板,把所述虚拟机从所述第一虚拟机类型变换为所述第二虚拟机类型;和
用所述虚拟机向用户提供服务。
本文描述的各种实施方案可在各种操作环境中实施,所述操作环境在一些状况下可包括可被用来操作许多应用中的任何应用的一个或多个用户计算机、计算设备或处理设备。用户或客户端设备可包括许多例如运行标准操作系统的台式或膝上型计算机的通用个人计算机和运行移动软件且能够支持许多网络和消息协议的蜂窝、无线和手持设备中的任何一个。这样的系统也可包括运行各种市售操作系统和用于例如开发和数据库管理的其它已知应用中的任何一个的许多工作站。这些设备也可包括其它电子设备,例如,哑终端、瘦客户机、游戏系统和能够通过网络通信的其它设备。
大多数实施方案使用本领域的技术人员熟悉的用于使用各种市售协议(例如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk)来支持通信的至少一个网络。例如,这样的网络可包括局域网、广域网、虚拟专用网络、互联网、内联网、外联网、公共交换电话网络、红外网络、无线网络及其任何组合。另外,网络可并入任何适当的网络拓扑。适当的网络拓扑的实例包括但不限于,简单点至点、星型拓扑结构、自组织对等拓扑结构及其组合。
在使用网络服务器的实施方案中,网络服务器可运行各种服务器或中间层应用中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和业务应用服务器。服务器可能也能够回应于来自用户设备的请求而例如通过执行一个或多个网络应用来执行程序或脚本,所述网络应用可实施为以例如C、C#或C++的任何编程语言或例如Perl、Python或TCL及其组合的任何脚本语言编写的一个或多个脚本或程序。服务器也可包括数据库服务器,包括但不限于可购自的服务器。
环境可包括如上文所述的各种数据存储和其它存储器和存储介质。它们可位于各种位置,例如在一个或多个计算机本地(和/或驻留在其中)或对于网络上的任何计算机或所有计算机为远程的存储介质上。在实施方案的特定集中,信息可位于本领域的技术人员熟悉的存储区域网络(“SAN”)中。类似地,用于执行归因于计算机、服务器或其它网络设备的功能的任何必需的文件可根据情况存储在本地和/或远程。在系统包括计算机化设备的情况下,每个这样的设备可包括可通过总线电耦接的硬件元件,该元件包括例如至少一个中央处理单元(CPU)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出设备(例如,显示设备、打印机或扬声器)。这样的系统也可包括一个或多个存储设备,例如,磁盘驱动器、光学存储设备和固态存储设备,例如随机存取存储器(“RAM”)或只读存储器(“ROM”),以及可移动介质设备、存储卡、闪存卡等。
这样的设备也可包括如上文所述的计算机可读存储介质读写器、通信设备(例如,调制解调器、网络卡(无线或有线)、红外通信设备等)和工作存储器。计算机可读存储介质读写器可与计算机可读存储介质连接或者被配置来接收计算机可读存储介质,所述计算机可读存储介质代表远程、本地、固定和/或可移动存储设备以及用于暂时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种设备通常也将包括许多软件应用、包括程序模块的模块、服务或位于至少一个工作存储器设备内的其它元件,包括操作系统和应用程序,例如客户端应用或网络浏览器。应理解,替代实施方案可具有许多与上文描述的不同的变体。例如,也可使用定制的硬件,且/或特定元件可用硬件、软件(包括便携软件,例如,小程序)或两者来实施。另外,可使用到例如网络输入/输出设备的其它计算设备的连接。
用于包含代码或代码的部分的存储介质和计算机可读介质可包括在本领域中已知或使用的任何适当的介质,包括存储介质和通信介质,例如但不限于以用于信息(例如计算机可读指令、数据结构、程序模块或其它数据)的存储和/或传输的任何方法或技术来实施的易失性和非易失性、可移动和不可移动介质,包括RAM、ROM、EEPROM、快闪存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或可用来存储所需信息且可由系统设备访问的任何其它介质。程序模块、程序组件和/或编程对象可包括任何适当的计算机编程语言的计算机可读和/或计算机可执行指令和/或对应于任何适当的计算机编程语言的计算机可读和/或计算机可执行指令。在至少一个实施方案中,每个计算机可读介质可为有形的。在至少一个实施方案中,每个计算机可读介质在时间上可能是非暂时性的。基于本文提供的公开和教导,本领域的普通技术人员将理解实施各种实施方案的其它方式和/或方法。
因此,本说明书和附图应被理解为是说明性而不是限制性的。然而,很明显,在不脱离如权利要求书所阐述的本发明的较宽广精神和范围的情况下,可进行各种修改和改变。
在描述实施方案的上下文(特别是在以上权利要求书的上下文)中使用的用语“一个”和“所述”和类似指代应被理解为包括单数和复数,除非本文另有指示或明显与上下文冲突。用语“包括”、“具有”、“包含”和“含有”应被理解为开放式的用语(即,意指“包括但不限于”),除非另有指定。用语“连接”应被理解为部分或完全包括在其中、附接到或连接在一起,即使有一些干预。本文值的范围的叙述仅旨在充当个别指示落入范围内的每个单独值的速记方法,除非本文另有指示,且每个单独值均被并入说明书,如同其在本文被个别陈述一样。本文描述的所有方法可用任何适当的次序来执行,除非本文另有指示或明显与上下文冲突。本文提供的任何和所有实例或示范性语言(例如,“例如”)的使用仅旨在更好地说明实施方案而不是限制本发明的范围,除非另有说明。说明书中的语言不应被理解为指示任何未被请求的元件对于实践至少一个实施方案是必需的。
本文描述了优选实施方案,包括发明者已知的最佳模式。本领域的普通技术人员在阅读上文描述之后将显而易见这些优选实施方案的变化。发明者预期熟练技术人员根据需要使用这种变化,且发明者预计将以本文具体描述的方式之外的方式构造实施方案。因此,适当的实施方案包括如适用法律允许的权利要求书中所述主题的所有修改和相等物。另外,在本发明的所有可能变化中上述元件的任何组合被设想为并入某个适当的实施方案,除非本文另有指示或明显与上下文冲突。
本文引用的包括公开案、专利申请案和专利案的所有参考在此以引用的方式并入,如同每个参考都被个别地并具体地指示为以引用的方式并入并在本文完整地被阐述。

Claims (14)

1.一种用于虚拟机迁移的计算机实施的方法,其包括:
在配备有可执行指令的一个或多个计算机系统的控制下,
接收特征化虚拟机的至少一个组件的信息,所述虚拟机属于第一虚拟机类型且被维护有第一实施资源集;
至少部分基于所接收的特征化所述虚拟机的所述至少一个组件的信息来建立迁移模板,所述迁移模板对应于从所述第一虚拟机类型到第二虚拟机类型的虚拟机迁移;
根据所述迁移模板,把所述虚拟机从所述第一实施资源集迁移到第二实施资源集,使得所述虚拟机被变换为具有所述第二虚拟机类型;
根据所述迁移模板触发所述虚拟机的所述至少一个组件的重新配置;和
用所述虚拟机向用户提供服务。
2.如权利要求1所述的计算机实施的方法,其中建立所述迁移模板包括至少部分基于所接收的特征化所述虚拟机的所述至少一个组件的信息来确定迁移选项集。
3.如权利要求2所述的计算机实施的方法,其还包括:
向所述虚拟机的管理员提供所述迁移选项集;和
至少部分基于所述管理员相对于所述迁移选项集所做的选择来配置所述迁移模板。
4.如权利要求1所述的计算机实施的方法,其中所述虚拟机的所述至少一个组件的所述重新配置包括把至少一个另外的组件添加到所述虚拟机的操作系统。
5.如权利要求4所述的计算机实施的方法,其中所述至少一个另外的组件重新配置所述操作系统来提供硬件组件热插入能力。
6.如权利要求1所述的计算机实施的方法,其中迁移所述虚拟机包括多个步骤,所述步骤包括暂停所述虚拟机和继续运行所述虚拟机,且所述虚拟机的所述至少一个组件的所述重新配置发生在暂停所述虚拟机之后且在继续运行所述虚拟机之前。
7.如权利要求1所述的计算机实施的方法,其中所述至少一个组件包括链接到所述虚拟机的操作系统的至少一个组件的应用,且所述应用的所述重新配置包括把所述应用重新链接到所述操作系统的至少一个不同组件。
8.如权利要求1所述的计算机实施的方法,其中所述迁移模板指定将用所述第二实施资源集中的至少一个模拟所述第一实施资源集中的至少一个。
9.一种用于虚拟机迁移的计算机化系统,其包括:
共同地能够维护多个虚拟机的多个实施资源;
被配置来至少进行以下操作的用户接口:
使用户能够建立对应于从第一虚拟机类型到第二虚拟机类型的虚拟机迁移的迁移模板,所述虚拟机迁移包括所述第一虚拟机类型的至少一个组件的重新配置;和
使所述用户能够选择属于所述第一虚拟机类型的虚拟机集以根据所述迁移模板来迁移所述虚拟机集;
至少被配置来接收特征化所述第一虚拟机类型的所述至少一个组件的信息的迁移代理接口;和
至少被配置来把所述虚拟机集从所述多个实施资源的第一集迁移到所述多个实施资源的第二集使得所述虚拟机集根据所述迁移模板且至少部分基于所接收的特征化所述第一虚拟机类型的所述至少一个组件的信息来被变换为所述第二虚拟机类型的迁移管理组件。
10.如权利要求9所述的计算机化系统,其中:
所述用户接口还至少被配置来使所述用户能够授权把迁移代理集添加到所述虚拟机集;且
所述迁移管理组件还至少被配置来在迁移所述虚拟机集之前把所述迁移代理集添加到所述虚拟机集。
11.如权利要求10所述的计算机化系统,其中所述迁移代理集包括至少被配置来特征化所述至少一个组件并把所述特征化所述第一虚拟机类型的所述至少一个组件的信息提供到所述迁移代理接口的至少一个迁移代理。
12.如权利要求10所述的计算机化系统,其中所述迁移代理集包括对应于由所述虚拟机集维护的多个操作系统类型的多个迁移代理类型。
13.如权利要求9所述的计算机化系统,其中特征化所述第一虚拟机类型的所述至少一个组件的所述信息包括所述至少一个组件是否并入硬件组件热插入功能的指示。
14.如权利要求9所述的计算机化系统,其中特征化所述第一虚拟机类型的所述至少一个组件的所述信息包括足以确定所述至少一个组件是否能够并入硬件组件热插入功能的信息。
CN201180058425.2A 2010-12-10 2011-12-02 对于异构迁移环境的虚拟机变化 Active CN103238136B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/965,723 US9329886B2 (en) 2010-12-10 2010-12-10 Virtual machine morphing for heterogeneous migration environments
US12/965,723 2010-12-10
PCT/US2011/063108 WO2012078471A1 (en) 2010-12-10 2011-12-02 Virtual machine morphing for heterogeneous migration environments

Publications (2)

Publication Number Publication Date
CN103238136A CN103238136A (zh) 2013-08-07
CN103238136B true CN103238136B (zh) 2016-11-09

Family

ID=46200811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180058425.2A Active CN103238136B (zh) 2010-12-10 2011-12-02 对于异构迁移环境的虚拟机变化

Country Status (7)

Country Link
US (4) US9329886B2 (zh)
EP (1) EP2649525B1 (zh)
JP (2) JP5629018B2 (zh)
CN (1) CN103238136B (zh)
CA (1) CA2817760C (zh)
SG (1) SG190792A1 (zh)
WO (1) WO2012078471A1 (zh)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268607B2 (en) 2004-03-13 2016-02-23 Adaptive Computing Enterprises, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP1872249B1 (en) 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9329886B2 (en) 2010-12-10 2016-05-03 Amazon Technologies, Inc. Virtual machine morphing for heterogeneous migration environments
US8667495B1 (en) 2010-12-29 2014-03-04 Amazon Technologies, Inc. Virtual resource provider with virtual control planes
US8954978B1 (en) 2010-12-29 2015-02-10 Amazon Technologies, Inc. Reputation-based mediation of virtual control planes
US8667399B1 (en) 2010-12-29 2014-03-04 Amazon Technologies, Inc. Cost tracking for virtual control planes
US9612855B2 (en) * 2011-01-10 2017-04-04 International Business Machines Corporation Virtual machine migration based on the consent by the second virtual machine running of the target host
US8566838B2 (en) * 2011-03-11 2013-10-22 Novell, Inc. Techniques for workload coordination
US10089127B2 (en) 2011-11-15 2018-10-02 Nicira, Inc. Control plane interface for logical middlebox services
US20130152076A1 (en) * 2011-12-07 2013-06-13 Cisco Technology, Inc. Network Access Control Policy for Virtual Machine Migration
US9098378B2 (en) * 2012-01-31 2015-08-04 International Business Machines Corporation Computing reusable image components to minimize network bandwidth usage
US8825817B1 (en) * 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
TWI610166B (zh) 2012-06-04 2018-01-01 飛康國際網路科技股份有限公司 自動災難復原和資料遷移系統及方法
US8880638B2 (en) 2012-06-18 2014-11-04 International Business Machines Corporation Distributed image cache for servicing virtual resource requests in the cloud
US8418230B1 (en) * 2012-08-28 2013-04-09 Netcomm Wireless Limited Apparatus and method for mobile communications and computing
US10270709B2 (en) 2015-06-26 2019-04-23 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
JP6003590B2 (ja) * 2012-11-30 2016-10-05 富士通株式会社 データセンタ,仮想システムの複写サービスの提供方法,データセンタの管理サーバ及び仮想システムの複写プログラム
US9712375B2 (en) * 2012-12-12 2017-07-18 Microsoft Technology Licensing, Llc Workload deployment with infrastructure management agent provisioning
US9608933B2 (en) * 2013-01-24 2017-03-28 Hitachi, Ltd. Method and system for managing cloud computing environment
US9183062B2 (en) * 2013-02-25 2015-11-10 International Business Machines Corporation Automated application reconfiguration
US9582219B2 (en) 2013-03-12 2017-02-28 Netapp, Inc. Technique for rapidly converting between storage representations in a virtualized computing environment
US9155465B2 (en) 2013-04-30 2015-10-13 IDx, LLC Snapshot spectral domain optical coherence tomographer
US9870268B2 (en) * 2013-08-05 2018-01-16 Amazon Technologies, Inc. Virtual computing instance migration
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9361336B2 (en) * 2013-10-11 2016-06-07 Vmware, Inc. Methods and apparatus to manage virtual machines
US11269926B1 (en) * 2013-10-22 2022-03-08 Amazon Technologies, Inc. Flexible storage volumes
JP6096647B2 (ja) * 2013-11-27 2017-03-15 日本電信電話株式会社 マネジメントシステム及び移動制御方法
US10142192B2 (en) * 2014-04-09 2018-11-27 International Business Machines Corporation Management of virtual machine resources in computing environments
US10129105B2 (en) * 2014-04-09 2018-11-13 International Business Machines Corporation Management of virtual machine placement in computing environments
EP2940582A1 (en) * 2014-04-30 2015-11-04 DoCoMo Communications Laboratories Europe GmbH Automated configuration of virtual infrastructure manager access for the virtual network function manager
US9811365B2 (en) * 2014-05-09 2017-11-07 Amazon Technologies, Inc. Migration of applications between an enterprise-based network and a multi-tenant network
EP3127300B1 (en) * 2014-05-12 2019-09-04 Google LLC Managing nic-encrypted flows for migrating guests or tasks
US10216531B2 (en) 2014-05-12 2019-02-26 Netapp, Inc. Techniques for virtual machine shifting
US9841991B2 (en) * 2014-05-12 2017-12-12 Netapp, Inc. Techniques for virtual machine migration
JP2016071562A (ja) 2014-09-29 2016-05-09 富士通株式会社 判定プログラム、方法及び装置
US9612765B2 (en) * 2014-11-19 2017-04-04 International Business Machines Corporation Context aware dynamic composition of migration plans to cloud
US10146567B2 (en) * 2014-11-20 2018-12-04 Red Hat Israel, Ltd. Optimizing virtual machine allocation to cluster hosts
US9946614B2 (en) * 2014-12-16 2018-04-17 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for managing faults in a virtual machine network
US10715460B2 (en) * 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
US9667656B2 (en) 2015-03-30 2017-05-30 Amazon Technologies, Inc. Networking flow logs for multi-tenant environments
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
EP3295358B1 (en) * 2015-05-08 2020-07-08 Telefonaktiebolaget LM Ericsson (publ) Migration service method and module for software modules
US10216555B2 (en) * 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US10108455B2 (en) 2015-08-26 2018-10-23 Vmware, Inc. Methods and apparatus to manage and execute actions in computing environments based on a type of virtual compute node
US10122649B2 (en) * 2015-08-26 2018-11-06 Vmware, Inc. Methods and apparatus to manage and execute actions in computing environments based on a routing path
US10110505B2 (en) 2015-08-26 2018-10-23 Vmware, Inc. Methods and apparatus to manage and execute actions in computing environments using a graphical user interface
US9898323B2 (en) 2015-11-18 2018-02-20 International Business Machines Corporation Composite virtual machine template for virtualized computing environment
US10133593B1 (en) * 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
US9817592B1 (en) 2016-04-27 2017-11-14 Netapp, Inc. Using an intermediate virtual disk format for virtual disk conversion
CN106775928B (zh) * 2016-11-25 2020-12-01 国家电网公司 一种异构云平台间的虚拟机自动迁移系统及方法
US11231912B2 (en) * 2016-12-14 2022-01-25 Vmware, Inc. Post-deployment modification of information-technology application using lifecycle blueprint
US11231910B2 (en) * 2016-12-14 2022-01-25 Vmware, Inc. Topological lifecycle-blueprint interface for modifying information-technology application
CN107256167B (zh) * 2017-05-27 2020-07-03 中国科学院深圳先进技术研究院 应用于应用系统迁移的升级控制方法及升级控制设备
US11645090B2 (en) 2017-06-23 2023-05-09 Nokia Solutions And Networks Oy Method and apparatus for resource management in edge cloud
US11048537B2 (en) 2017-11-10 2021-06-29 Microsoft Technology Licensing, Llc Virtual machine compute re-configuration
US11474847B2 (en) * 2017-12-04 2022-10-18 British Telecommunications Public Limited Company Portable virtual machine image
US11048538B2 (en) * 2018-02-26 2021-06-29 Amazon Technologies, Inc. Autonomous cell-based control plane for scalable virtualized computing
US10698709B2 (en) 2018-03-07 2020-06-30 Microsoft Technology Licensing, Llc Prediction of virtual machine demand
US10990429B2 (en) * 2018-03-12 2021-04-27 Vmware, Inc. Rule-based reallocation of hosted compute resources
US11340929B2 (en) * 2018-05-22 2022-05-24 Vmware, Inc. Hypervisor agnostic cloud mobility across virtual infrastructures
US11121981B1 (en) 2018-06-29 2021-09-14 Amazon Technologies, Inc. Optimistically granting permission to host computing resources
CN109358952A (zh) * 2018-10-30 2019-02-19 张家口浩扬科技有限公司 一种虚拟机迁移方法和系统
CN109656680A (zh) * 2018-11-29 2019-04-19 国云科技股份有限公司 一种虚拟机创建方法
US11474848B2 (en) 2019-10-24 2022-10-18 Red Hat, Inc. Fail-safe post copy migration of virtual machines
US11362895B2 (en) * 2020-02-10 2022-06-14 Nokia Solutions And Networks Oy Automatic configuration of an extended service appliance for network routers
US11736415B2 (en) 2020-02-10 2023-08-22 Nokia Solutions And Networks Oy Backpressure from an external processing system transparently connected to a router
US10958523B1 (en) 2020-07-28 2021-03-23 Bank Of America Corporation Consistent deployment of monitoring configurations on multiple computing systems
US11188437B1 (en) 2020-07-30 2021-11-30 Bank Of America Corporation Remote deployment of monitoring agents on computing systems
US11714615B2 (en) 2020-09-18 2023-08-01 International Business Machines Corporation Application migration using cost-aware code dependency graph
US11803407B1 (en) * 2020-09-29 2023-10-31 Amazon Technologies, Inc. Emulation layer for overcoming incompatibilities in virtual machine instance migration
CN112688988A (zh) * 2020-11-25 2021-04-20 紫光云技术有限公司 一种跨平台迁移网络虚拟资源的方法
CN113192322B (zh) * 2021-03-19 2022-11-25 东北大学 一种基于云边协同的高速公路交通流量计数方法
US11853783B1 (en) * 2021-03-29 2023-12-26 Amazon Technologies, Inc. Identifying hosts for dynamically enabling specified features when resuming operation of a virtual compute instance
EP4327205A1 (en) 2021-04-23 2024-02-28 Transitional Data Services, Inc. Transition manager system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101765225A (zh) * 2008-12-24 2010-06-30 华为技术有限公司 一种虚拟化的集群管理方法和集群节点

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5629018B2 (zh) 1973-03-07 1981-07-06
US7080159B2 (en) 2000-12-15 2006-07-18 Ntt Docomo, Inc. Method and system for effecting migration of application among heterogeneous devices
US6970902B1 (en) * 2001-05-24 2005-11-29 Cisco Technology, Inc. Method and apparatus for providing a distributed service in a network
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
US7761573B2 (en) 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US8661216B2 (en) * 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
JP2007183747A (ja) 2006-01-05 2007-07-19 Hitachi Ltd 物理サーバ間のシステム移動方法およびシステム移動システム
JP4810349B2 (ja) 2006-08-11 2011-11-09 日本電気株式会社 I/o装置及び方法
US9038062B2 (en) 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
WO2008073618A2 (en) * 2006-11-06 2008-06-19 Devicevm, Inc. Instant on platform
JP4438807B2 (ja) 2007-03-02 2010-03-24 日本電気株式会社 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
US8196138B2 (en) * 2007-04-19 2012-06-05 International Business Machines Corporation Method and system for migrating virtual machines between hypervisors
US9086901B2 (en) * 2008-03-07 2015-07-21 Sap Se Migration of applications from physical machines to virtual machines
US7506037B1 (en) * 2008-05-13 2009-03-17 International Business Machines Corporation Method determining whether to seek operator assistance for incompatible virtual environment migration
JP5119077B2 (ja) 2008-07-28 2013-01-16 西日本電信電話株式会社 仮想サーバリソース調整システム、リソース調整装置、仮想サーバリソース調整方法、及び、コンピュータプログラム
US8656018B1 (en) * 2008-09-23 2014-02-18 Gogrid, LLC System and method for automated allocation of hosting resources controlled by different hypervisors
JP5223596B2 (ja) 2008-10-30 2013-06-26 富士通株式会社 仮想計算機システム及びその管理方法、管理プログラム並びに記録媒体、制御方法
JP2010123055A (ja) * 2008-11-21 2010-06-03 Fujitsu Ltd データ移行プログラム,データ移行方法及びデータ移行装置
US9594582B2 (en) * 2009-01-05 2017-03-14 International Business Machines Corporation Detection and management of dynamic migration of virtual environments
US8321862B2 (en) * 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US20100306486A1 (en) * 2009-05-29 2010-12-02 Sridhar Balasubramanian Policy-based application aware storage array snapshot backup and restore technique
US8150971B2 (en) * 2009-05-31 2012-04-03 Red Hat Israel, Ltd. Mechanism for migration of client-side virtual machine system resources
US20110138382A1 (en) * 2009-12-03 2011-06-09 Recursion Software, Inc. System and method for loading resources into a virtual machine
US9626206B2 (en) * 2010-03-18 2017-04-18 Microsoft Technology Licensing, Llc Virtual machine homogenization to enable migration across heterogeneous computers
US8984507B2 (en) * 2010-04-26 2015-03-17 International Business Machines Corporation Cross architecture virtual machine migration
US8171349B2 (en) * 2010-06-18 2012-05-01 Hewlett-Packard Development Company, L.P. Associating a monitoring manager with an executable service in a virtual machine migrated between physical machines
US8484653B2 (en) * 2010-07-28 2013-07-09 Red Hat Israel, Ltd. Mechanism for delayed hardware upgrades in virtualization systems
EP2635557A2 (en) 2010-11-01 2013-09-11 Portola Pharmaceuticals, Inc. Nicotinamides as jak kinase modulators
US9329886B2 (en) 2010-12-10 2016-05-03 Amazon Technologies, Inc. Virtual machine morphing for heterogeneous migration environments
US20130086298A1 (en) * 2011-10-04 2013-04-04 International Business Machines Corporation Live Logical Partition Migration with Stateful Offload Connections Using Context Extraction and Insertion

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101765225A (zh) * 2008-12-24 2010-06-30 华为技术有限公司 一种虚拟化的集群管理方法和集群节点

Also Published As

Publication number Publication date
JP2013544417A (ja) 2013-12-12
US20120151476A1 (en) 2012-06-14
JP2014241178A (ja) 2014-12-25
JP6005706B2 (ja) 2016-10-12
US9329886B2 (en) 2016-05-03
US20160246640A1 (en) 2016-08-25
SG190792A1 (en) 2013-07-31
WO2012078471A1 (en) 2012-06-14
EP2649525A4 (en) 2017-05-03
CA2817760C (en) 2017-06-13
US20190213034A1 (en) 2019-07-11
US10282225B2 (en) 2019-05-07
EP2649525B1 (en) 2019-04-17
JP5629018B2 (ja) 2014-11-19
US20210042144A1 (en) 2021-02-11
US10877794B2 (en) 2020-12-29
CA2817760A1 (en) 2012-06-14
EP2649525A1 (en) 2013-10-16
CN103238136A (zh) 2013-08-07

Similar Documents

Publication Publication Date Title
CN103238136B (zh) 对于异构迁移环境的虚拟机变化
US10042628B2 (en) Automated upgrade system for a service-based distributed computer system
US10733010B2 (en) Methods and systems that verify endpoints and external tasks in release-pipeline prior to execution
US9716746B2 (en) System and method using software defined continuity (SDC) and application defined continuity (ADC) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
TWI520062B (zh) 使用硬性限制及軟性限制在主機上放置物件
CN109803018A (zh) 一种基于Mesos和YARN结合的DCOS云管理平台
US11265202B2 (en) Integrated automated application deployment
CN103649914B (zh) 对于云计算选项的自动推荐
US20170161044A1 (en) Automated-application-release-management subsystem that incorporates script tasks within application-release-management pipelines
CA2929572A1 (en) Automated experimentation platform
US11301262B2 (en) Policy enabled application-release-management subsystem
US20170161023A1 (en) Automated application-release-management subsystem
Benson et al. Survey of automated software deployment for computational and engineering research
CN105827744A (zh) 云存储平台的数据处理方法
CN107969166A (zh) 用于请求访问有限的服务实例的方法和系统
Bosak et al. New QosCosGrid middleware capabilities and its integration with European e-infrastructure
Lysik et al. Combining AiG Agents with Unicore grid for improvement of user support
Antequera et al. Recommending resources to cloud applications based on custom templates composition
Borges et al. Automatic services instantiation based on a process specification
US11829779B2 (en) Scalable specification and self-governance for autonomous databases, cluster databases and multi-tenant databases in cloud and on-prem environment
Barletta Delivering software services in an open multi-cloud environment
Polze A comparative analysis of cloud computing environments
Wufka et al. Overview of Cloud Computing
Canonico et al. Overview of Cloud Computing
Liu Construction and Technology Research of Automated Test Platform Based on Cloud Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant