CN103221921B - 利用流技术的软件映像的直接迁移 - Google Patents

利用流技术的软件映像的直接迁移 Download PDF

Info

Publication number
CN103221921B
CN103221921B CN201180056182.9A CN201180056182A CN103221921B CN 103221921 B CN103221921 B CN 103221921B CN 201180056182 A CN201180056182 A CN 201180056182A CN 103221921 B CN103221921 B CN 103221921B
Authority
CN
China
Prior art keywords
data processing
processing entities
target data
source
memory block
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
CN201180056182.9A
Other languages
English (en)
Other versions
CN103221921A (zh
Inventor
J·方迪格尼耶
C·马里内利
P·斯科顿
M·弗伊勒乌米尔·斯图克尔伯格
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103221921A publication Critical patent/CN103221921A/zh
Application granted granted Critical
Publication of CN103221921B publication Critical patent/CN103221921B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提出一种用于将安装在源数据处理实体上的软件映像迁移到目标数据处理实体的方案。相应的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610)包括:从提供独立预备操作系统的预备引导程序引导(A306;A406;A506;A606)目标数据处理实体;在目标数据处理实体上将软件映像安装(A307;A407;A507;A607)为远程大容量存储器;将软件映像的主引导程序复制(A308;A408;A508;A608)到目标数据处理实体的本地大容量存储器上,主引导程序包括适于将软件映像迁移到目标数据处理实体的流功能;从本地大容量存储器上的主引导程序重新引导(A309;A409;A509;A609)目标数据处理实体,由此加载流功能;以及由流功能服务(A310;A410;A510;A610)每个访问目标数据处理实体上的存储器块的请求,流功能响应于在本地大容量存储器中缺少该存储器块,从软件映像下载(718-730)该存储器块并将该存储器块存储到本地大容量存储器中,否则,从本地大容量存储器中检索(733)该存储器块。

Description

利用流技术的软件映像的直接迁移
技术领域
根据本发明的一个或更多个实施例的方案涉及数据处理领域。更特别地,本方案涉及软件映像的迁移。
背景技术
软件映像的迁移是包括大量计算机的大型数据处理系统中的关键活动。一般而言,软件映像是包括驻留于计算机上的软件模块的结构——要么是物理类型的要么通过虚拟机被仿真(例如,其操作系统、应用程序和/或数据)。
迁移软件映像的过程(或者简称为迁移过程)可以是分段类型或者直接类型。在分段迁移过程中,主计算机的主软件映像被捕获并被存储于中心仓库中;服务器计算机然后控制主软件映像向任何希望的目标客户机的部署。相反,在向目标客户机直接传送一个或更多个源客户机的软件映像的直接迁移过程中,直接迁移过程更快且更简单(原因是,可以在不需要任何中心仓库的情况下直接从源客户机进行,从而具有在多个源客户机上分布相应的工作负载的可能性)。
特别地,关于直接迁移过程,在现有技术中提出了不同的方法。
特别地,在冷类型的迁移过程中,源客户机被停止以捕获其软件映像(以确保软件映像反映源客户机的一致状态(consistentstate))。冷迁移过程可在具有同构平台或异构平台的源客户机与目标客户机之间工作;但是,由于源客户机和目标客户机都不可用于迁移全部软件映像所需要的全部的时间(为小时的量级),因此,冷迁移过程非常慢。相反,在热类型的迁移过程中,源客户机仅在捕获其一致状态所需要的时间内被暂停(而软件映像向目标客户机的实际传送对于可正常工作的源客户机是透明地进行的)。热迁移过程在源客户机上较快(原因是,它仅在捕获其状态所需要的时间内不可用,为分钟的量级);但是,热迁移过程仅适用于在同构平台上运行的虚拟机之间。类似地,在实时类型(livetype)的迁移过程中,源客户机仅在将其状态封入共享文件中所需要的时间内被暂停。实时迁移过程在源客户机上非常快(因为其不可用性为秒的量级);但是,实时迁移过程也仅适用于在同构平台上运行的虚拟机之间。在任何情况下,在热迁移过程和实时迁移过程中,目标客户机都仅在向其传送了整个软件映像之后才可用(即,从开始迁移过程几个小时之后)。
并且,US-B-7512833(在这里加入其整个公开作为参考)公开了将操作系统克隆到具有不同的硬件配置的计算机的方法。出于此目的,操作系统的主映像通过捕获事先已安装了该操作系统的主计算机的盘的内容来创建;然后,主映像的文件、驱动程序和注册设置被剥离至去除软件和硬件不兼容性的最小基本水平,以使得主映像可在不同的计算机上引导。
US-A-2008/0301425(在这里加入其整个公开作为参考)公开了用于支持主机的远程引导的方法。出于此目的,主机的管理控制器包括将初始操作系统映像的核从远程访问目标加载到主机中的远程访问启动器;核然后使用其自身的远程访问启动器来加载来自远程访问目标的另一操作系统映像。这允许甚至在没有主板LAN(LOM)设备的情况下远程引导主机。
US-A-2006/0031547(在这里加入其整个公开作为参考)公开了用于操作系统和应用程序的集成的按需随时(ondemand)传输的方法。出于该目的,操作系统从流服务器上的相应映像被流式传输到客户机——即,当需要时从网络下载其多个块(进一步的块被预取,而已接收的块被使用);从而可能添加本地高速缓存功能;应用程序类似地从多个单独的映像被流式传输。操作系统的管理是特定于计算机的,而应用程序的管理是特定于用户的——以避免对于每个用户构建组合的操作系统和应用程序映像的需要。
US-A-2010/0174894(在这里加入其整个公开作为参考)公开了用于配置无盘类型的目标计算机的操作系统的方法。出于该目的,施主计算机的配置映像被复制到虚拟盘上,然后根据目标计算机的硬件配置修改它——以允许它下一次从虚拟盘引导。
发明内容
一般而言,根据本发明的一个或更多个实施例的方案基于利用流技术迁移软件映像的思想。
特别地,在独立权利要求中阐述根据本发明的具体实施例的方案的一个或更多个方面,在从属权利要求中阐述同一方案的有利特征,这里逐字加入其文字作为参考(具有参照根据本发明的实施例的方案的具体方面提供的任何有利特征,经过适当的修改也适用其每个其它方面)。
更具体地,根据本发明的实施例的方案的一个方面提供一种用于将安装在源数据处理实体(例如,源计算机或源虚拟机)上的软件映像迁移到目标数据处理实体(例如,目标计算机或目标虚拟机)的迁移方法。该迁移方法包括以下的步骤。从提供独立预备操作系统的预备引导程序(例如,从网络引导程序或临时引导虚拟盘)引导目标数据处理实体。然后在目标数据处理实体上安装软件映像作为远程大容量存储器(例如,通过作为远程访问启动器)。将软件映像的主引导程序复制到目标数据处理实体的本地大容量存储器上(例如,通过在复制访问模式(access-on-copymode)中安装软件映像);主引导程序包括适于将软件映像迁移到目标数据处理实体的流功能。从本地大容量存储器上的主引导程序重新引导目标数据处理实体,由此加载流功能。然后由流功能服务每个访问目标数据处理实体上的存储器块的请求;流功能响应于在本地大容量存储器中缺少该存储器块,从软件映像下载该存储器块并将其存储到本地大容量存储器中;否则,流功能从本地大容量存储器中检索该存储器块。
根据本发明的实施例的方案的另一方面提供一种计算机程序,该计算机程序包括用于当在数据处理系统上执行该计算机程序时使数据处理系统执行该迁移方法的步骤的代码装置;根据本发明的实施例的方案的又一方面提供一种包括体现计算机程序的非暂时计算机可读介质的计算机程序产品,该计算机程序包括可直接加载到数据处理系统的工作存储器中的代码装置,由此配置数据处理系统以执行所述迁移方法。
根据本发明的实施例的方案的另一方面提供一种系统,包括用于执行所述迁移方法的步骤的装置。
附图说明
结合附图参照以下的纯粹作为非限制性表示给出的详细描述,可以最好地理解根据本发明的一个或更多个实施例的方案及其进一步的特征和优点(其中,为了简化,相应的要素由相同或类似的附图标记表示,并且,不重复它们的解释,并且,各实体的名称一般被用于表示其类型及其属性——诸如其值、内容和表示)。具体而言:
图1表示根据本发明的实施例的方案适用于其中的数据处理系统的示意性框图;
图2A~2H表示根据本发明的实施例的迁移过程的概念表示;
图3~6表示根据本发明的相应实施例的方案的不同的示例性实现;
图7表示描述与根据本发明的实施例的方案的实现有关的活动的流程的活动图。
具体实施方式
具体参照图1,示出根据本发明的实施例的方案适用于其中的数据处理系统(或者简称为系统)100的示意性框图。系统100具有分布式架构,该分布式结构基于网络105——例如,局域网(LAN)。多个计算机通过网络105相互连接。特别地,服务器计算机110控制直接类型的迁移过程,其中,软件映像在不同的客户机计算机115(为了简化,图中仅示出两个)之间被直接传送;每个软件映像是包括一个或更多个软件模块(例如,操作系统、应用程序和/或数据)的结构。在每个迁移过程中,源客户机(由(物理)计算机115或在其上面运行的虚拟机组成)提供已安装于其上的相应的软件映像;目标客户机(也由(物理)计算机115或在其上面运行的虚拟机组成)从源客户机下载并安装软件映像。在这一点上,应当指出,术语源客户机和目标客户机仅仅是标识动态角色,这些动态角色可在不同的迁移过程中随时间改变(例如,迁移过程的源客户机可在下一迁移过程中用作目标客户机,或者,迁移过程的目标客户机在下一迁移过程中可用作源客户机);并且,任何数量的源客户机和/或目标客户机可同时是活动的(甚至单个源客户机同时服务多个目标客户机)。
系统100的一般(服务器或客户机)计算机由并行连接到系统总线120的若干个单元形成(其结构根据系统中的计算机的实际功能被适当地缩放)。详细地说,一个或更多个微处理器(μP)125控制计算机的操作,RAM130被微处理器125直接用作工作存储器,并且,ROM135存储计算机的基本代码。若干个外设单元在局部总线140周围(通过各自的接口)群集。特别地,大容量存储器由一个或更多个硬盘145和用于读取光盘155(例如,DVD或CD)的驱动器150组成。并且,计算机包括输入单元160(例如,键盘和鼠标)和输出单元165(例如,监视器和打印机)。适配器170被用于连接计算机与网络105。桥接单元175将系统总线120与局部总线140接口。每个微处理器125和桥接单元175可操作作为请求访问系统总线120以发送信息的主代理。仲裁器180以互斥方式管理对访问系统总线120的准许。
在图2A~2H中示出根据本发明的实施例的迁移过程的概念表示。
从图2A开始,迁移过程是从源客户机215s到目标客户机215t。出于这种目的,源客户机215s的源盘245s被准备好,以便以一致状态提供其软件映像,供目标客户机215t对其远程访问(例如,通过在安全模式中引导相应的物理计算机,或者,通过关闭相应的虚拟机)。然后,从提供独立的预备(preliminary)操作系统(或最小操作系统)(其仅提供其基本功能)的(外部)预备引导程序来引导目标客户机215t(例如,通过从网络引导程序引导相应的物理计算机或者通过从临时性引导虚拟盘来引导相应的虚拟机);以这种方式,目标客户机215t的引导在其任何条件下都总是可能的,即,即使当没有(起作用的)操作系统可用时。
移动到图2B,源盘245s以远程方式被安装于目标客户机215t上;包含于源盘245s中的主引导程序250s然后被复制到目标客户机215t的目标盘245t上,以获得相应的主引导程序250t(例如,通过以访问复制模式(copy-on-accessmode)安装源盘245s)。
此时,如图2C所示,正常情况下从目标盘245t上的主引导程序250t重新引导目标客户机215t(以便提供可提供所有其功能的完整操作系统)。目标客户机215t的引导程序导致包含于主引导程序250s中的流驱动器255t的加载(这优先于其标准文件系统驱动器)。
现在参照图2D,由此通过流驱动器255t来服务在其操作期间访问目标客户机215t上的存储器块的每个请求;存储器块可以包括必须被目标客户机215t访问的任何种类的信息(例如,与操作系统或应用程序有关的一个或更多个扇区、文件、库、目录、它们的组合或部分)。
当在目标盘245t上缺少所请求的存储器块时,如图2E的情况那样,流驱动器255t从源映像245s下载存储器块并然后将其存储于目标盘245t中。
相反,当所请求的存储器块已在目标盘245t中可用时,如图2F的情况那样,流驱动器255t直接从目标盘245t检索存储器块。
移动到图2G,如果存储器块必须被写入到目标客户机215t上,那么仅对存储于目标盘245t中的存储器块施加更新——该存储器块在其中总是可用的,因为它应当在其写入之前已经被读取。因此,即使当迁移过程仍在进行中时,目标盘245s也可被正常地更新(因为它已完全被传送到目标客户机215t)。
最后参照图2H,最终,源盘245s的所有存储器块都被存储于目标盘245t上。此时,迁移过程完成(由于整个源盘245s已从源客户机215s被传送到目标客户机215t,同时添加了可能的本地更新)。目标客户机215t的操作现在完全与源客户机215s无关(流功能255t可被禁用,以便直接从目标盘245t访问存储器块)。
上述的方案提供非常快的直接迁移过程(直接从源客户机215s进行,不需要任何中心仓库,使得可能在多个源客户机上分布工作负载),原因是源客户机215s仅仅在准备源盘245s以供目标客户机215t远程访问所需的短时间内保持不可用。并且,在这种情况下,目标客户机215t也在短时间后就可用。事实上,就在主引导程序250s被复制到目标盘245s上之后(即使迁移过程仍在进行中),目标客户机215t现在可立即使用。从而,与源盘245s的其它存储器块在目标盘245t中的可用性无关(当它访问尚待从源盘245s下载的存储器块时,目标客户机215t的性能仅有轻微的劣化),目标客户机215t的操作是完全正常的;但是,一旦完成了源盘245s到目标盘245t上的传送,目标客户机215t就自主工作(完全不需要源客户机215s),如同已经执行了常规的迁移过程。
在这一方面,应当注意,上述的流功能与在现有技术中已知的用于按需随时提供操作系统和/或应用程序映像的流技术无关。事实上,在已知的流技术中,操作系统和/或应用程序映像的块仅仅是为了它们被立即使用而被下载到目标客户机上。但是,这些块不被持久存储于目标客户机上(即,在它们被使用之后,以及,只要在目标客户机被关闭之后,它们就消失),使得目标客户机再也不能从服务器计算机断开。事实上,即使在块被预取时,它们也仅在它们的(可能的)下一次使用之前保持在目标客户机上;类似地,即使当实施了用于存储器块的本地高速缓存时,也只有很少的存储器块保持在本地高速缓存中以便它们的重新使用(无论如何,为了存储新的存储器块,最终会驱逐本地高速缓存中的最早使用的存储器块)。相反,在本发明的流功能中,源盘245s的所有存储器块总是存储到目标盘245t上(一旦已从源客户机215s下载了它们);事实上,在这种情况下,迁移过程旨在在目标客户机215t上创建源盘245s的完整拷贝以便于其独立操作。
并且,在最小操作系统中的目标客户机215t的初始引导允许将源盘245s迁移到任何类型的目标客户机215t(假定该最小操作系统与源客户机215s之一兼容——即,它支持其文件系统);因此,即使在具有异构平台的源客户机与目标客户机(例如,在不同的管理程序(hypervisor)上运行的虚拟机(无论如何,基于相同的硬件架构――例如,x86))之间,现在也可能获得非常快的迁移过程。
上述的迁移过程提供支持物理计算机和虚拟机(任意组合)二者的单一机制;特别地,其用于物理计算机的实现方式也立即适用于虚拟机(对于其进入市场时间具有有益的影响)。
在图3~6中示出根据本发明的相应的实施例的方案的不同的示例性实现。对于此目的,每个图提供表示可用于实现相应迁移过程的主要软件部件的角色的协作图。特别地,附图描述了系统的静态结构(通过相应的部件)及其动态行为(通过一系列的交换的消息,每条消息代表相应的动作,由前面带符号“A”的渐进序号表示)。信息(程序和数据)一般存储于硬盘上,并在程序运行时(至少部分地)被加载到各计算机的工作存储器中。一开始,程序例如从DVD被安装到硬盘上。
从图3开始,示出物理到物理(P2P)类型的迁移过程的示例性实现,其中,源客户机和目标客户机均是(物理)计算机。可用于实现该迁移过程的软件部件作为整体用附图标记300表示。
特别地,服务器计算机110运行部署管理器305,例如,IBM公司的IBMTivoliProvisioningManagerforOSDeployment(或TPMforOSD)的IBMTivoliProvisioningManagerforImages(或TPMfI)(IBM和Tivoli是IBM公司的商标);部署管理器305被用于将操作系统和/或应用程序从服务器计算机110自动地远程部署到系统的客户机计算机上。出于该目的,部署管理器305管理软件映像310的仓库。浏览器312被操作者313使用,以与部署管理器305交互。
通常,选择的软件映像310在部署管理器305的控制下被部署到源计算机315s上(动作“A310.部署”)。
此时,在根据本发明的实施例的方案中,安装在源计算机315s上的操作系统和/或应用程序可直接迁移到目标计算机315t。出于该目的,操作者313(在部署管理器305上)选择用于迁移过程的源计算机315s和目标计算机315t(动作“A302.迁移”)。作为其响应,部署管理器305关闭(如果必要的话)并然后通过强制其在网络上引导而接通源计算机315s(例如,通过LAN唤醒(WakeonLAN,WoL)服务)(动作“A301.网络引导”)。出于该目的,源计算机315s运行网络引导加载器——例如,嵌入在其网络适配器中的预启动执行环境(PXE)。网络引导加载器利用动态地址服务——例如,基于动态主机配置协议(DHCP)——以获得源计算机315s的动态地址;特别地,网络引导加载器广播由服务器计算机110(用作DHCP服务器)服务的相应请求。网络引导加载器然后广播引导请求,该引导请求再次被服务器计算机110服务,返回网络引导程序的地址;网络引导加载器例如通过琐碎文件传输协议(TFTP)将网络引导程序下载到RAM盘(即,作为大容量存储器的工作存储器的一部分)中,并然后运行它。网络引导程序——例如,Windows预安装环境(WinPE),Windows是MicrosoftCorporation的商标——提供用于源计算机315s的最小操作系统325s(即,不安装任何盘);因此,源计算机315s在完全安全的模式下操作,在该模式下,不能向大容量存储器中的其状态施加变化。最小操作系统325s包括用于允许(例如,基于因特网小型计算机系统接口(iSCSI)协议)远程访问数据的远程访问服务器330s和用于与部署管理器305交互的部署代理335s。此时,部署代理335s准备客户机计算机315s的软件映像的源盘345s以用于通过远程访问服务器330s进行远程访问——在讨论的例子中,简单地将其定义为iSCSI目标;特别地,源映像345s包括相应的引导程序350s。,部署代理335s现在可正常地关闭并然后接通源计算机315s以允许其常规操作(动作“A304.准备”)。
此时,部署代理335s通过向部署管理器305发送相应的消息触发针对目标计算机315t的传送动作(动作“A305.触发”)。作为其响应,通过强制目标计算机315t在网络上引导,部署管理器305关闭(如果必要的话)并然后接通目标计算机315t(动作“A306.网络引导”)。如上所述,目标计算机315t运行网络引导加载器(例如,PXE),该网络引导加载器利用动态地址服务(例如DHCP)以(从服务器计算机110)获得目标计算机315t的动态地址,并然后从服务器计算机110下载网络引导程序并运行它。网络引导程序(例如,WinPE)为目标计算机315t提供最小操作系统325t。最小操作系统325t包括用于与部署管理器305交互的部署代理335t。部署代理335t将源盘345s安装为远程盘(即,在讨论的例子中,通过用作iSCSI启动器),以便通过远程访问服务器330s远程访问它(动作“A307.安装”);源盘345s在复制访问模式(access-on-copymode)中被安装,使得被目标计算机315t访问的源盘345s的任何存储器块被自动复制到其目标盘345t中。特别地,部署代理355t访问源盘345s的引导程序350s(包括相应的部署代理);引导程序350s还包括用于流式传送源盘345s的剩余部分的流驱动器。由于源盘345s已在复制访问模式中被安装,因此,这导致引导程序350s作为相应的引导程序350t被复制到目标盘345t(动作“A308.复制”)。
此时,部署代理325t正常地关闭并然后接通目标计算机315t。因此,存储于目标计算机315t的固件中并且在其接通时被执行的引导加载器——例如,基本输入/输出系统(BIOS)——现在在目标盘345t中找到引导程序350t,使得它在本地从引导程序350t引导(动作“A309.本地引导”)。以这种方式,引导程序350t现在为目标计算机315t提供完整操作系统。特别地,该完整操作系统包括服务每个用于访问任何存储器块的请求的流驱动器,并且以流方式提供存储器块——如以下详细描述的那样(动作“A310.流”)。
移动到图4,示出虚拟到虚拟(V2V)类型的迁移过程的示例性实现。可用于实现该迁移过程的软件部件作为整体由附图标记400表示。特别地,源计算机和目标计算机现在分别运行管理程序405s和管理程序405t(例如,由VMWare的VMWareESX——VMWare是VMWareInc.的商标);每个管理程序405s、405t实现虚拟化层,该虚拟化层模拟分别由给出物理计算机(由虚拟机唯一控制)的表现的抽象环境组成的虚拟机。在这种情况下,迁移过程是从在管理程序405s上运行的源虚拟机415s到在管理程序405t上运行的目标虚拟机415t。出于该目的,管理程序405s运行远程访问服务器430s(例如,基于iSCSI协议)和部署代理435s(用于与部署管理器305交互);类似地,管理程序405t运行部署代理435t(用于与部署管理器305交互)。
如上所述,服务器计算机110运行部署管理器305(其管理软件映像310的仓库),其中操作者313使用的浏览器312与部署管理器305交互作用。通常,所选择的软件映像310在部署管理器305的控制下被部署到源虚拟机415上(动作“A401.部署”)。
此时,在根据本发明的实施例的方案中,操作者313(在部署管理器305上)选择用于迁移过程的源虚拟机415s和目标虚拟机415t(动作“A402.迁移”)。作为其响应,部署管理器305指示部署代理435s关闭(如果必要的话)源虚拟机415s。部署代理435s准备源虚拟机415s的软件映像的源虚拟盘445s,以允许通过远程访问服务器430s对其远程访问(在讨论的例子中,通过简单地将其定义为iSCSI目标)。部署代理435s现在可接通源虚拟机415s,以允许其常规操作(动作“A404.准备”)。
此时,部署代理435s通过向部署管理器305发送相应的消息触发针对目标虚拟机415t的传送动作(动作“A405.触发”)。作为其响应,部署管理器305指示部署代理435t下载网络引导盘(例如,以ISO格式),该网络引导盘被存储到引导虚拟盘437中。部署代理435t然后关闭(如果必要的话)目标虚拟机415t。此时,目标虚拟机415t的目标虚拟盘445s的引导扇区(例如,主引导记录(MBR))——即,通过引导加载器加载的其第一扇区(例如,BIOS)——被部署代理435t改变以指向引导虚拟盘437。部署代理435t然后接通目标虚拟机415t;因此,将目标虚拟盘445t识别为可引导设备并加载其引导扇区的目标虚拟机415t的引导加载器现在重定向到引导虚拟盘437,由此导致目标虚拟机415t从它引导。这涉及运行存储于网络引导盘437上的引导程序(例如,WinPE),该引导程序提供用于目标虚拟机415t的最小操作系统425t;特别地,最小操作系统425t包括另一部署代理435tv,用于与部署管理器305交互(动作“A406.网络引导”)。部署代理435tv在复制访问模式中将源虚拟盘445s安装为远程盘(即,在讨论的例子中,通过用作iSCSI启动器),以便通过远程访问服务器430s远程访问它(动作“A407.安装”)。部署代理455tv访问源虚拟盘445s的引导程序450s(包括相应的部署代理和流驱动器),以使得它作为相应的引导程序450t复制到目标虚拟盘445t上——因此优先于引导扇区(动作“A408.复制”)。
此时,部署代理435t可删除网络引导盘437。部署代理435t关闭并然后接通目标虚拟机415t。因此,其引导加载器现在在目标虚拟盘445中找到引导程序450t,使得目标虚拟机415t从它本地引导(动作“A409.本地引导”)。以这种方式,引导程序450t现在为目标虚拟机415t提供完整操作系统。特别地,该完整操作系统包括服务每个用于访问任何存储器块的请求的流驱动器,并且以流方式提供存储器块——如以下详细描述的那样(动作“A410.流”)。
现在参照图5,示出物理到虚拟(P2V)类型的迁移过程的示例性实现。可用于实现该迁移过程的软件部件作为整体由附图标记500表示。在这种情况下,迁移过程是从源计算机315s到目标虚拟机415t(在管理程序405t上运行,该管理程序405t又运行部署代理435t)。
如上所述,服务器计算机110运行部署管理器305(其管理软件映像310的仓库),其中操作者313使用的浏览器312与其交互。通常,选择的软件映像310在部署管理器305的控制下被部署到源计算机315上(动作“A501.部署”)。
此时,在根据本发明的实施例的方案中,操作者313(在部署管理器305上)选择用于迁移过程的源计算机315s和目标虚拟机415t(动作“A502.迁移”)。作为其响应,部署管理器305关闭(如果必要的话)并然后通过强制其在网络上启动而接通源计算机315s(动作“A503.网络引导”),以提供包括远程访问服务器330s和部署代理335s的最小操作系统325s。部署代理335s准备源盘345s以允许通过远程访问服务器330s对其远程访问(即,在讨论的例子中,作为iSCSI目标)。部署代理335s现在可正常地关闭并然后接通源计算机315s以允许其常规操作(动作“A504.准备”)。
此时,部署代理335s通过向部署管理器305发送相应的消息触发针对目标虚拟机415t的传送动作(动作“A505.触发”)。作为其响应,部署管理器305指示部署代理435t下载引导虚拟盘437。部署代理435t然后关闭(如必要的话)目标虚拟机415t,并且改变目标虚拟盘445t的引导扇区(例如,MBR)以指向网络引导盘437。部署代理435t然后接通目标虚拟机415t,由此使得目标虚拟机115t从网络引导盘437引导——以便提供包括部署代理435tv的最小操作系统425t(动作“A506.网络引导”)。部署代理435tv在复制访问模式中将源虚拟盘445s安装为远程盘(即,在讨论的例子中,通过用作iSCSI启动器),以便通过远程访问服务器430s远程访问它(动作“A507.安装”)。部署代理455tv访问源虚拟盘445s的引导程序450s(包括相应的部署代理和流驱动器),以使得它复制到目标虚拟盘445t上作为相应的引导程序450t(动作“A508.复制”)。
此时,部署代理435t可删除网络引导盘437。部署代理435t关闭并然后接通目标虚拟机415t,以从目标虚拟盘445t本地引导它(动作“A509.本地引导”)。这样提供的目标虚拟机415t的完整操作系统包括服务每个用于访问任何存储器块的请求的流驱动器,并且,以流方式提供存储器块——如以下详细描述的那样(动作“A510.流”)。
最后,在图6中,示出虚拟到物理(V2P)类型的迁移过程的示例性实现。可用于实现该迁移过程的软件部件作为整体由附图标记600表示。在这种情况下,迁移过程是从源虚拟机415s(在管理程序405s上运行,该管理程序405s又运行远程访问服务器430s和部署代理435s)到目标计算机315s。
如上所述,服务器计算机110运行部署管理器305(其管理软件映像310的仓库),其中操作者313使用的浏览器312与其交互。通常,选择的软件映像310在部署管理器305的控制下被部署到源虚拟机315上(动作“A601.部署”)。
此时,在根据本发明的实施例的方案中,操作者313(在部署管理器305上)选择用于迁移过程的源虚拟机415s和目标计算机315t(动作“A602.迁移”)。作为其响应,部署管理器305指示部署代理435s关闭(如果必要的话)源虚拟机415s。部署代理435s准备源虚拟盘440s以允许通过远程访问服务器430s对其远程访问(即,在讨论的例子中,通过将其定义为iSCSI目标)。部署代理435s现在可接通源虚拟机415s,以允许其常规操作(动作“A604.准备”)。
此时,部署代理435s通过向部署管理器305发送相应的消息触发针对目标计算机315t的传送动作(动作“A605.触发”)。作为其响应,部署管理器305关闭目标计算机315t(如果必要的话)并然后通过强制目标计算机315t在网络上引导而接通目标计算机315t(动作“A606.网络引导”),以提供包括部署代理335t的最小操作系统325t。部署代理435s在复制访问模式中将源盘345s安装为远程盘(即,在讨论的例子中,通过用作iSCSI启动器),以通过远程访问服务器430s对其远程访问(动作“A607.安装”)。部署代理335t访问源盘345s的引导程序350s(包括相应的部署代理和流驱动器),以使其复制到目标盘345s作为相应的引导程序350t(动作“A608.复制”)。
此时,部署代理335s正常地关闭并然后接通目标计算机315t,以从目标盘345t本地引导它(动作“A609.本地引导”)。这样提供的目标计算机315t的完整操作系统包括流驱动器,该流驱动器服务每个用于访问任何存储器块的请求,并且以流方式提供存储器块——如后面详细描述的那样(动作“A610.流”)。
为了解释上述的流过程,现在参照图7,该图示出与根据本发明的实施例的方案的实现有关的活动流程的活动图;特别地,该活动图理由方法700来表示示例性流过程。
方法700从目标客户机(即,目标计算机或目标虚拟机)的文件系统驱动器一栏中的黑色起点圆703开始,并然后一旦接收到访问(即,读取)存储器块的请求(例如,来自应用程序)就前进到块706。作为其响应,文件系统驱动器在块709将请求传递给流驱动器。
移动到流驱动器这一栏,在块712进行验证,以确定所请求的存储器块是否在目标(物理或虚拟)盘上可用;出于该目的,流驱动器访问存储该信息的位置地图(例如,在为每个(例如512字节的)存储器块包括一个指示其可用性的位的位图中)。活动流程然后根据该验证的结果在块715处分支。如果存储器块在目标盘中不可用(即,其在位置地图中的位被解除断言(deassert)),那么流驱动器在块718中向远程访问驱动器(在讨论的例子中,用作iSCSI启动器)要求存储器块。转到块721,远程访问驱动器向源客户机(即,源计算机或源虚拟机)的远程访问服务器提交相应的下载请求——在讨论的例子中,提供源(物理或虚拟)盘作为iSCSI目标。作为其响应,远程访问服务器在块724将所要求的存储器块返回目标客户机的远程访问驱动器。远程访问驱动器然后在块727将这样下载的存储器块返回给流驱动器。现在参照块730,流驱动器将该存储器块存储到目标盘中,并相应地更新位置地图以指示其可用性(即,通过断言相应的位)。重新参照块715,如果存储器块在目标盘中已可用(即,它的位被断言),那么方法700前进到块733,其中,直接从目标盘检索存储器块。在任一情况下,活动的流程在块736处汇合(从块730或块733);在该阶段中,流驱动器将存储器块返回给文件系统驱动器。随之,文件系统驱动器在块739将存储器块返回给发出请求的应用程序。同时,在流驱动器这一栏中,在块742进行测试,以验证是否源盘中的所有存储器块(具有与其大小相对应的预定数量)都在目标盘中可用(即,位置地图中的相应的位被断言)。如果是,那么流驱动器在块745被禁用,使得用于读取每个存储器块的所有接下来的请求将如通常情况那样直接由文件系统驱动器服务;否则,不执行动作。返回文件系统驱动器这一栏,如果存储器块还被请求用于写入,那么该请求在块748由文件系统驱动器直接服务;特别地,文件系统驱动器现在将存储器块写入到目标盘上(这里,在其读取之后它总是可用的)。
以完全异步的方式,流驱动器在块751中周期性地验证(例如,每10~100ms)目标客户机、源客户机和/或网络的工作负载;如果工作负载低于预定的阈值(表示相应的资源在此时被轻度利用——例如,由于不在目标客户机上和/或源客户机上执行动作,并且网络中的流量较低),那么活动的流程转到块754。在该阶段,流驱动器通过重复上面描述的相同操作来下载目标盘中仍不可用的存储器块(例如,其在位置地图中的位被解除断言的第一个存储器块)。简言之,相应的请求被提交给远程访问驱动器,该远程访问驱动器在块757将其传递给源客户机的远程访问服务器。源客户机的远程访问服务器在块760将请求的存储器块返回给目标客户机的远程访问驱动器,该远程访问驱动器又在块763将该存储器块返回给流驱动器。现在参照块766,流驱动器将该存储器块存储于目标盘中,并且相应地更新位置地图以指示其可用性。现在在块769中进行测试,以验证是否源盘的所有存储器块都已存储于目标盘中。如果是,那么流驱动器在块772被禁用,否则,不执行动作。在两种情况下,方法700都是然后在同心的黑/白停止圆751处结束(从块772或块769)。
自然,为了满足本地和特定的要求,本领域技术人员可将许多的逻辑和/或物理修改和变更应用于上述的方案。具体而言,虽然参照其一个或更多个实施例在一定程度上具体描述了该方案,但应理解,各种形式和细节的省略、替代和变化以及其它的实施例是可能的(例如,关于过程参数)。特别地,甚至可在没有在前面的描述中为了提供更彻底的理解而阐述的具体细节(诸如数值示例)的情况下实践本发明的不同的实施例;反过来,为了不使不必要的细节混淆了描述,可能省略或者简化了公知的特征。并且,明确指出的是,关于公开的方案的任何实施例所描述的特定的要素和/或方法步骤可作为一般设计选择被加入任何其它的实施例中。
例如,如果通过等同的方法实现相同的方案,那么类似的考虑适用(使用与更多步骤或其一部分具有相同功能的类似步骤,去除非必需的一些步骤,或者添加另外的任选步骤);并且,可以(至少部分地)以不同的次序、同时或者以交错的方式执行各个步骤。
并且,要迁移的源盘可包含任何软件程序(例如,仅仅操作系统而没有任何应用程序)。在任何情况下,迁移过程与软件映像是如何部署(例如,手动)到源客户机上的完全无关;更一般地,也可通过部署管理器在没有任何服务器计算机的简化系统中实现迁移过程。类似地,能够以任何其它的方式将主引导程序从源盘复制到目标盘(当不在复制访问模式中安装源盘时,甚至通过专用的操作)。自然,要下载的源盘的存储器块可包含任何其它的信息,并且/或者可具有任何其它的尺寸;另外,还能够实现存储器块的预取(在其可能的使用之前,将它们下载和存储于目标盘上)。可以使用任何等同的结构以提供流功能并管理目标盘中的存储器块的可用性(例如,通过将位置地图分成区块,以允许在目标计算机的工作存储器中加载它们)。
上述的方案仅是解释性的,并且,它们不应以限制性方式被解释;例如,迁移过程可以在运行在任何其它管理程序(甚至是相互不同的管理程序(例如,ESX和KVM))上的虚拟机之间进行。
作为替代方案,也能够由流驱动器管理存储器块向目标盘上的写入。
可以设想不同的条件来禁用流驱动器(例如,当目标盘的预定区域已被写入时);但是,没有什么会妨碍保持流驱动器总是活动的(例如,以便响应于位置地图中的相应位的重置,下载存储器块的最新版本)。
可以按任何其它的频率或者仅在特定的时段中(例如,在夜晚)监视工作负载;如果仅针对源客户机、目标客户机、网络或者它们的任何组合监视工作负载,那么类似的考虑适用。并且,可以以任何其它的方式限定工作负载的阈值(例如,通过用不同的权重加权其贡献)。如果在工作负载低于阈值时同时下载两个或更多个存储器块,那么类似的考虑也适用。在任何情况下,该特征仅是任选的,并且可在简化的实现中被省略。
可通过从任何等同的预备引导程序(例如,BartPE)引导目标计算机来提供用于目标计算机的最小操作系统。并且,也可通过不同的网络引导过程(例如,基于RIPL、gPXE和PXELinux等)或者甚至以另一方式(例如,通过从网络引导CD手动引导目标计算机),来实现希望的结果。
类似的考虑适用于目标虚拟机的引导;在任何情况下,也能够将用于提供用于目标计算机的最小操作系统(即,通过网络来引导)的相同技术应用于目标虚拟机。
在任何情况下,什么也不妨碍以另一不同方式提供引导虚拟盘(例如,通过从可移除存储设备加载它)。
类似地,可通过从任何等同的预备引导程序(例如,BartPE)引导源计算机来提供用于源计算机的最小操作系统——源盘可由包含于其中的任何其它模块来准备。
并且,也可通过不同的网络引导过程(例如,基于RIPL、gPXE和PXELinux等)或者甚至以另一方式(例如,通过从网络引导CD手动引导源计算机),来实现希望的结果。
作为替代方案,可以由在源计算机的管理程序上运行的任何其它模块来准备源盘;在任何情况下,也能够将用于准备源计算机的源盘(即,基于其通过最小操作系统的引导)的相同技术应用于源虚拟机。
如果以不同的方式构建程序(可被用于实现本发明的各实施例),或者,如果提供附加的模块或功能,那么类似的考虑适用;类似地,存储器结构可以为其它的类型,或者可被等同的实体(未必由物理存储介质构成)替代。程序可采取适于被任何数据处理系统使用或者与其结合使用(例如,在虚拟机内)的任何形式;特别地,程序可以是外部或者驻留软件、固件或者微代码(例如,要被编译或者解释的目标代码或者源代码)的形式。并且,能够作为在任何计算机可用介质上实现的制造物品提供程序;介质可以为适于包含、存储、通信、传播或传送程序的任何元件。例如,介质可以为电子、磁、光学、电磁、红外或半导体类型;这种介质的例子是固定盘(这里,程序可被预先加载)、可移动盘、磁带、卡、导线、光纤、无线连接、网络和广播波等。在任何情况下,根据本发明的实施例的方案适于甚至通过硬件结构(例如,集成于半导体材料的芯片中)或者另外配置的适当地在其上面编程的软件和硬件的组合被实现。
作为替代方案,系统具有不同的结构,或者包含等同的部件,或者,它具有其它的操作特性。在任何情况下,其每个部件可被分成更多的元件,或者,两个或更多部件可被组合成单个元件;并且,各部件可被复制以支持并行地执行相应的操作。还应指出,不同的部件之间的任何交互一般不需要是连续的(除非特别规定),并且,它可以是直接的,或者通过一个或更多个中间阶段而是间接的。特别地,也可在基于不同架构(例如,广域、全球、蜂窝或卫星网络)并利用任何连接类型(有线和/或无线)的系统上实施迁移过程。在任何情况下,每个计算机可具有另一种结构或者可包含类似的元件(诸如临时存储程序或其部分的高速缓存存储器);并且,能够用任何代码执行实体(诸如PDA、移动电话等)或者用多个实体的组合替代计算机。

Claims (12)

1.一种用于将安装在源数据处理实体上的软件映像迁移到目标数据处理实体的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610),该迁移方法包括以下的步骤:
从提供独立预备操作系统的预备引导程序引导(A306;A406;A506;A606)目标数据处理实体;
在目标数据处理实体上将所述安装在源数据处理实体上的软件映像的源盘安装(A307;A407;A507;A607)为远程大容量存储器;
将所述安装在源数据处理实体上的软件映像的主引导程序复制(A308;A408;A508;A608)到目标数据处理实体的本地大容量存储器上,所述目标数据处理实体的本地大容量存储器上的主引导程序包括适于将所述安装在源数据处理实体上的软件映像迁移到目标数据处理实体的流功能;
从所述目标数据处理实体的本地大容量存储器上的主引导程序重新引导(A309;A409;A509;A609)目标数据处理实体,由此加载流功能;以及
由流功能服务(A310;A410;A510;A610)每个访问目标数据处理实体上的存储器块的请求,所述流功能响应于在所述目标数据处理实体的本地大容量存储器中缺少该存储器块,从所述安装在源数据处理实体上的软件映像下载(718-730)该存储器块并将该存储器块存储到所述目标数据处理实体的本地大容量存储器中,否则,从所述目标数据处理实体的本地大容量存储器中检索(733)该存储器块。
2.根据权利要求1所述的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610),其中,对于在更新模式下访问存储器块的每个请求,该方法还包括以下的步骤:
更新(748)所述目标数据处理实体的本地大容量存储器中的存储器块。
3.根据权利要求1或2所述的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610),还包括以下的步骤:
响应于在所述目标数据处理实体的本地大容量存储器中存储了与软件映像的尺寸相对应的一定数量的存储器块,禁用(742-745、769-772)用于从所述目标数据处理实体的本地大容量存储器直接检索每个存储器块的流功能。
4.根据权利要求1或2所述的迁移方法(A310-A310;A410-A410;A510-A510;A610-A610),还包括以下的步骤:
监视(751)目标数据处理实体和/或源数据处理实体的工作负载;和
响应于工作负载低于阈值,从所述安装在源数据处理实体上的软件映像下载(754-766)未存储在所述目标数据处理实体的本地大容量存储器中的一组选择的存储器块,并将选择的存储器块存储到所述目标数据处理实体的本地大容量存储器中。
5.根据权利要求1或2所述的迁移方法(A310-A310;A510-A510),其中,目标数据处理实体是目标物理计算机,从预备引导程序引导(A306;A506)目标数据处理实体的步骤包括:
从网络引导程序引导(A306;A506)目标物理计算机。
6.根据权利要求1或2所述的迁移方法(A410-A410;A610-A610),其中,目标数据处理实体是在目标管理程序上运行的目标虚拟机,从预备引导程序引导(A406;A606)目标数据处理实体的步骤包括:
从目标虚拟机外部的引导虚拟盘引导(A406;A606)目标虚拟机。
7.根据权利要求6所述的迁移方法(A410-A410;A610-A610),其中,从引导虚拟盘引导(A406;A606)目标虚拟机的步骤包括:
由目标管理程序下载(A406;A606)引导虚拟盘。
8.根据权利要求7所述的迁移方法(A410-A410;A610-A610),其中,从引导虚拟盘引导(A406;A606)目标虚拟机的步骤包括:
将目标虚拟机的引导扇区改变(A406;A606)为指向引导虚拟盘。
9.根据权利要求1-2、7-8中任一项所述的迁移方法(A310-A310;A510-A510),其中,源数据处理实体是源物理计算机,迁移方法还包括以下的步骤:
在不安装软件映像的情况下从提供另一独立预备操作系统的另一预备引导程序引导(A303;A503)源物理计算机;和
所述源数据处理实体准备(A304;A504)处于一致状态的软件映像以用于由目标数据处理实体对其远程访问。
10.根据权利要求9所述的迁移方法(A310-A310;A510-A510),其中,从另一预备引导程序引导(A303;A503)源物理计算机的步骤包括:
从另一网络引导程序引导(A303;A503)源物理计算机。
11.根据权利要求1-2、7-8中任一项所述的迁移方法(A410-A410;A610-A610),其中,源数据处理实体是在源管理程序上运行的源虚拟机,迁移方法还包括以下的步骤:
所述源数据处理实体准备(A404;A604)处于一致状态的软件映像以用于由目标数据处理实体对其远程访问,该软件映像是在源虚拟机处于关闭状态的情况下被准备的。
12.一种用于将安装在源数据处理实体上的软件映像迁移到目标数据处理实体的迁移系统(100),包括用于执行根据权利要求1-11中任一项所述的方法(A310-A310;A410-A410;A510-A510;A610-A610)的步骤的装置(300;400;500;600)。
CN201180056182.9A 2010-11-23 2011-11-03 利用流技术的软件映像的直接迁移 Active CN103221921B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10192219 2010-11-23
EP10192219.3 2010-11-23
PCT/EP2011/069306 WO2012069297A1 (en) 2010-11-23 2011-11-03 Direct migration of software images with streaming technique

Publications (2)

Publication Number Publication Date
CN103221921A CN103221921A (zh) 2013-07-24
CN103221921B true CN103221921B (zh) 2016-06-22

Family

ID=44906118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180056182.9A Active CN103221921B (zh) 2010-11-23 2011-11-03 利用流技术的软件映像的直接迁移

Country Status (6)

Country Link
US (1) US9086892B2 (zh)
JP (1) JP5907983B2 (zh)
CN (1) CN103221921B (zh)
DE (1) DE112011103880T5 (zh)
GB (1) GB2499956B (zh)
WO (1) WO2012069297A1 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
GB2499956B (en) 2010-11-23 2018-02-14 Servicenow Inc Direct migration of software images with streaming technique
WO2012076266A1 (en) 2010-12-09 2012-06-14 International Business Machines Corporation Computer-readable storage mediums for encrypting and decrypting a virtual disc
JP5911504B2 (ja) 2010-12-13 2016-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストリーミング技術に基づくソフトウェア・イメージのアップグレード
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
CN103988181B (zh) * 2011-12-08 2017-08-25 国际商业机器公司 用于给虚拟映像打补丁的方法和系统
US9110604B2 (en) 2012-09-28 2015-08-18 Emc Corporation System and method for full virtual machine backup using storage system functionality
US9104331B2 (en) 2012-09-28 2015-08-11 Emc Corporation System and method for incremental virtual machine backup using storage system functionality
US9384094B2 (en) * 2013-01-08 2016-07-05 Veritas Us Ip Holdings Llc Method and system for instant restore of system volume from a backup image
US9130836B2 (en) 2013-02-04 2015-09-08 Cisco Technology, Inc. Provisoning of a new node joining an existing cluster in a data center environment
US9286047B1 (en) * 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
CN104378396B (zh) * 2013-08-15 2018-05-15 上海七牛信息技术有限公司 数据管理装置及方法
US9639384B2 (en) * 2013-08-20 2017-05-02 Vmware, Inc. Method and system for fast provisioning of virtual desktop
US10372463B1 (en) * 2013-11-27 2019-08-06 EMC IP Holding Company LLC Provisioning a computerized device with an operating system
US10983831B2 (en) 2014-12-10 2021-04-20 Hewlett Packard Enterprise Development Lp Firmware-based provisioning of operating system resources
US10067795B2 (en) * 2014-12-10 2018-09-04 Hewlett Packard Enterprise Development Lp Firmware-based provisioning of operating system resources
US10162827B2 (en) 2015-04-08 2018-12-25 Honeywell International Inc. Method and system for distributed control system (DCS) process data cloning and migration through secured file system
US10409270B2 (en) 2015-04-09 2019-09-10 Honeywell International Inc. Methods for on-process migration from one type of process control device to different type of process control device
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
CN105549913B (zh) * 2015-12-22 2019-02-12 内蒙古农业大学 一种异构混合云环境下提高映像管理效率的方法
US10133593B1 (en) 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
US10019252B1 (en) * 2016-04-07 2018-07-10 Nutanix, Inc. Virtualizing installers
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10318166B1 (en) * 2016-12-28 2019-06-11 EMC IP Holding Company LLC Preserving locality of storage accesses by virtual machine copies in hyper-converged infrastructure appliances
CN108255570B (zh) * 2016-12-28 2021-06-15 华为技术有限公司 异构虚拟机监视器平台间的虚拟机迁移方法、装置和系统
CN106953893A (zh) * 2017-02-15 2017-07-14 北京百度网讯科技有限公司 云存储系统间的数据迁移
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US10972347B2 (en) * 2019-01-16 2021-04-06 Hewlett Packard Enterprise Development Lp Converting a first cloud network to second cloud network in a multi-cloud environment
US20210247993A1 (en) * 2020-02-06 2021-08-12 EMC IP Holding Company LLC True zero rto eliminating os and app load times
CN111597145B (zh) * 2020-05-20 2024-01-23 上海英方软件股份有限公司 一种Windows操作系统迁移的方法、装置及系统
US11620254B2 (en) 2020-06-03 2023-04-04 International Business Machines Corporation Remote direct memory access for container-enabled networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166116A (zh) * 2006-07-25 2008-04-23 辉达公司 用于无磁盘计算平台上的操作系统安装的系统和方法
CN101399696A (zh) * 2007-09-24 2009-04-01 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075858A (en) 1995-10-27 2000-06-13 Scm Microsystems (U.S.) Inc. Encryption key system and method
US5991876A (en) 1996-04-01 1999-11-23 Copyright Clearance Center, Inc. Electronic rights management and authorization system
US6098158A (en) 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US6567774B1 (en) 1998-01-30 2003-05-20 Compaq Computer Corporation Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk
US6973447B1 (en) 2000-03-23 2005-12-06 International Business Machines Corporation System apparatus and method for supporting multiple partitions including multiple systems in boot code
US8140683B2 (en) 2000-12-07 2012-03-20 International Business Machines Corporation Method and system for selecting an operating system at user login on a target device
US6920555B1 (en) 2001-03-10 2005-07-19 Powerquest Corporation Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system
US7428636B1 (en) 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations
FR2824646B1 (fr) 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
US7103747B2 (en) 2001-06-28 2006-09-05 Hewlett-Packard Development Company, L.P. Memory table and memory manager for use in managing memory
US20030126242A1 (en) 2001-12-28 2003-07-03 Chang Albert H. Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image
US7505889B2 (en) 2002-02-25 2009-03-17 Zoran Corporation Transcoding media system
US7379982B2 (en) 2002-04-15 2008-05-27 Bassam Tabbara System and method for custom installation of an operating system on a remote client
JP2003316595A (ja) 2002-04-23 2003-11-07 Casio Comput Co Ltd インストール方法、ファイル更新方法、プログラム及びコンピュータシステム
US7313793B2 (en) 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7062517B2 (en) 2002-08-14 2006-06-13 Hitachi, Ltd. Method and apparatus for centralized computer management
US6857011B2 (en) 2002-10-31 2005-02-15 Paragon Development Systems, Inc. Method of remote imaging
US6857069B1 (en) 2003-03-24 2005-02-15 Cisco Technology, Inc. Modified operating system boot sequence for iSCSI device support
US7360072B1 (en) 2003-03-28 2008-04-15 Cisco Technology, Inc. iSCSI system OS boot configuration modification
US6925533B2 (en) 2003-05-07 2005-08-02 International Business Machines Corporation Virtual disk image system with local cache disk for iSCSI communications
US7281247B2 (en) 2003-06-24 2007-10-09 Microsoft Corporation Software image creation in a distributed build environment
JP2007510979A (ja) 2003-11-06 2007-04-26 インテュウェーブ リミテッド 無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法
US20050160150A1 (en) 2004-01-20 2005-07-21 Su-Hwa Kao Apparatus and method for managing and transporting virtual disks over a network to networked stations
JP4900760B2 (ja) 2004-03-31 2012-03-21 株式会社日立製作所 Osイメージのデプロイメントマシン及び方法
US8230095B2 (en) 2004-05-07 2012-07-24 Wyse Technology, Inc. System and method for integrated on-demand delivery of operating system and applications
US7424601B2 (en) 2004-07-07 2008-09-09 Yongyong Xu Methods and systems for running multiple operating systems in a single mobile device
US7664834B2 (en) 2004-07-09 2010-02-16 Maxsp Corporation Distributed operating system management
US7269722B1 (en) 2004-07-26 2007-09-11 Sun Microsystems, Inc. Preview of UNIX boot process from multi-user level
US8346886B2 (en) 2004-09-08 2013-01-01 Red Hat, Inc. System, method, and medium for configuring client computers to operate disconnected from a server computer while using a master instance of the operating system
JP2006085209A (ja) * 2004-09-14 2006-03-30 Hitachi Ltd 計算機システムのデプロイメント方式
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US7509530B2 (en) 2005-01-19 2009-03-24 Sonic Solutions Method and system for use in restoring an active partition
US7512833B1 (en) 2005-05-09 2009-03-31 Adam C. Murphy Universal imaging utility program
US7536541B2 (en) 2006-03-07 2009-05-19 Novell Inc. Parallelizing multiple boot images with virtual machines
US7653794B2 (en) 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
JP2007310508A (ja) * 2006-05-16 2007-11-29 Nippon Telegraph & Telephone East Corp シンクライアントシステムおよびシンクライアント端末用プログラム
US8234359B2 (en) 2006-05-24 2012-07-31 Absolute Software Corp. System and method for remotely re-imaging a computer system
JP4725798B2 (ja) 2006-06-21 2011-07-13 日本電気株式会社 コンピュータシステム、ネットワークブートシステム、osイメージ切替方法、osイメージ切替プログラム
US7809919B2 (en) 2006-07-26 2010-10-05 Hewlett-Packard Development Company, L.P. Automatic data block misalignment detection and correction in a computer system utilizing a hard disk subsystem
JP4366698B2 (ja) * 2006-07-27 2009-11-18 日本電気株式会社 計算機、計算機システム、及びディスクイメージ配布方法
US8387038B2 (en) * 2006-08-14 2013-02-26 Caterpillar Inc. Method and system for automatic computer and user migration
US9086917B1 (en) 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8032351B2 (en) 2006-11-30 2011-10-04 Symantec Corporation Running a virtual machine directly from a physical machine using snapshots
US20080141015A1 (en) 2006-12-06 2008-06-12 Glen Edmond Chalemin System and method for operating system deployment in a peer-to-peer computing environment
US8312115B2 (en) * 2006-12-21 2012-11-13 1E Limited Network booting apparatus and method
US20100107163A1 (en) 2007-03-20 2010-04-29 Sanggyu Lee Movable virtual machine image
US8331366B2 (en) 2007-04-11 2012-12-11 Dell Products L.P. System and method for deployment of a software image to a plurality of target devices
US8245022B2 (en) 2007-06-01 2012-08-14 Dell Products L.P. Method and system to support ISCSI boot through management controllers
US20090049160A1 (en) 2007-08-14 2009-02-19 Dell Products L.P. System and Method for Deployment of a Software Image
US8782637B2 (en) 2007-11-03 2014-07-15 ATM Shafiqul Khalid Mini-cloud system for enabling user subscription to cloud service in residential environment
JP2009176213A (ja) * 2008-01-28 2009-08-06 Hitachi Software Eng Co Ltd ネットワークブート方式
US7953833B2 (en) * 2008-01-31 2011-05-31 Wanova Technologies Ltd. Desktop delivery for a distributed enterprise
CN100578461C (zh) 2008-03-12 2010-01-06 中兴通讯股份有限公司 一种引导程序的备份方法及其备份装置
US20090240953A1 (en) 2008-03-19 2009-09-24 Safenet, Inc. On-disk software image encryption
US8359593B2 (en) * 2008-04-21 2013-01-22 Vmware, Inc. Computer machine migration of file system images using a redo-log file
SG158757A1 (en) 2008-07-10 2010-02-26 Fast And Safe Technology Pte L Method and apparatus for protecting data in computers
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8510352B2 (en) 2008-10-24 2013-08-13 Microsoft Corporation Virtualized boot block with discovery volume
US8701106B2 (en) 2008-11-30 2014-04-15 Red Hat Israel, Ltd. Hashing storage images of a virtual machine
US20100174894A1 (en) 2009-01-07 2010-07-08 Lenovo (Singapore) Pte, Ltd. Method, Apparatus, and System for Configuring an Operating System on a Target Computer
US8429639B2 (en) 2009-02-10 2013-04-23 Microsoft Corporation Image-based software update
JP5220675B2 (ja) * 2009-04-07 2013-06-26 株式会社日立製作所 シンクライアントマスタの書換システム、シンクライアントマスタの書換方法、およびシンクライアント
US8301874B1 (en) 2009-10-20 2012-10-30 Wanova Technologies, Ltd. Atomic switching of images in desktop streaming over wide area networks
US9130912B2 (en) 2010-03-05 2015-09-08 International Business Machines Corporation System and method for assisting virtual machine instantiation and migration
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
US8407662B2 (en) 2010-06-25 2013-03-26 Wyse Technology Inc. Apparatus and method for network driver injection into target image
US8560825B2 (en) * 2010-06-30 2013-10-15 International Business Machines Corporation Streaming virtual machine boot services over a network
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
GB2499956B (en) 2010-11-23 2018-02-14 Servicenow Inc Direct migration of software images with streaming technique
WO2012076266A1 (en) 2010-12-09 2012-06-14 International Business Machines Corporation Computer-readable storage mediums for encrypting and decrypting a virtual disc
JP5911504B2 (ja) 2010-12-13 2016-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストリーミング技術に基づくソフトウェア・イメージのアップグレード
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
CN102567042B (zh) 2010-12-14 2015-04-15 国际商业机器公司 利用引导块重定位来管理多个软件镜像的方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166116A (zh) * 2006-07-25 2008-04-23 辉达公司 用于无磁盘计算平台上的操作系统安装的系统和方法
CN101399696A (zh) * 2007-09-24 2009-04-01 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机

Also Published As

Publication number Publication date
WO2012069297A1 (en) 2012-05-31
US9086892B2 (en) 2015-07-21
JP5907983B2 (ja) 2016-05-11
GB201310938D0 (en) 2013-07-31
GB2499956A (en) 2013-09-04
US20130219161A1 (en) 2013-08-22
CN103221921A (zh) 2013-07-24
JP2013543192A (ja) 2013-11-28
DE112011103880T5 (de) 2013-08-22
GB2499956B (en) 2018-02-14

Similar Documents

Publication Publication Date Title
CN103221921B (zh) 利用流技术的软件映像的直接迁移
US8527728B2 (en) Management of multiple software images with relocation of boot blocks
US9910656B2 (en) Updating software products on virtual machines with software images of new levels
CN104011677B (zh) 利用流技术在多个目标上部署软件映像的方法及系统
CN102591675B (zh) 使用共享存储块管理多软件镜像的方法和系统
US20190294448A1 (en) Customizing program logic for booting a system
US7703091B1 (en) Methods and apparatus for installing agents in a managed network
KR100911953B1 (ko) 디스크 없는 연산 플랫폼에서의 운영체제 설치를 위한시스템 및 방법
JP5911504B2 (ja) ストリーミング技術に基づくソフトウェア・イメージのアップグレード
KR20170022028A (ko) 컨테이너 이미지 보안 검사 방법 및 그 장치
CN102387197A (zh) 从服务器到主机的流虚拟机技术
US11579893B2 (en) Systems and methods for separate storage and use of system BIOS components
CN101206581A (zh) 用于使用外部存储设备引导的系统和方法
JP2009110505A (ja) コンピュータプログラムにパッチを当てるシステム及び方法
JP2011118873A (ja) 自動化されたモジュール型のセキュアな起動ファームウェアの更新
EP4100829A1 (en) Firmware update patch
CN103988181A (zh) 用于给虚拟映像打补丁的方法和系统
CN114741233A (zh) 快速启动方法
CN115248721A (zh) 容器应用的启动方法、镜像管理方法及相关设备
US9471295B2 (en) Method, device and computer program for the automatic installation or uninstallation of software modules on equipment on board an aircraft
TWI581187B (zh) 傳送用以安裝作業系統之資料影像的技術
US20170060598A1 (en) Managed boot process system
CN106528114B (zh) 一种安卓固件应用装置和安卓固件升级方法
US11972265B2 (en) Parallel booting operating system
US10210004B2 (en) Method of providing at least one data carrier for a computer system and computer system including service processor independently operable from a main processor of the computer system

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