CN1333341C - 迁移虚拟机的系统、方法和程序 - Google Patents

迁移虚拟机的系统、方法和程序 Download PDF

Info

Publication number
CN1333341C
CN1333341C CNB200510055454XA CN200510055454A CN1333341C CN 1333341 C CN1333341 C CN 1333341C CN B200510055454X A CNB200510055454X A CN B200510055454XA CN 200510055454 A CN200510055454 A CN 200510055454A CN 1333341 C CN1333341 C CN 1333341C
Authority
CN
China
Prior art keywords
virtual machine
logical partition
computing machine
shared storage
communication queue
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
CNB200510055454XA
Other languages
English (en)
Other versions
CN1696902A (zh
Inventor
J·A·亨特
S·舒尔茨
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 CN1696902A publication Critical patent/CN1696902A/zh
Application granted granted Critical
Publication of CN1333341C publication Critical patent/CN1333341C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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

Abstract

本发明提供了一种用于将第一虚拟机从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的系统、方法和程序产品。在迁移之前,第一虚拟机包括在该第一虚拟机专用的第一专用存储器中的操作系统和应用。第一虚拟机的通信队列驻留于由第一和第二计算机或第一和第二LPAR共享的共享存储器中。将该操作系统和应用从第一专用存储器复制到该共享存储器。将操作系统和应用从该共享存储器复制到第二计算机或第二LPAR中第一虚拟机专用的第二专用存储器。然后,第一虚拟机在第二计算机或第二LPAR中重新开始。

Description

迁移虚拟机的系统、方法和程序
技术领域
本发明涉及一般涉及计算机系统,更具体地,涉及虚拟机在同一实计算机内从一个逻辑分区到另一个逻辑分区、或从一个实计算机到另一个实计算机的迁移。
背景技术
现今,虚拟机操作系统是广为人知的,其包括一系统管理程序(hypervisor)及由系统管理程序形成的各单独的虚拟机。在IBM z/VM操作系统中,系统管理程序称作控制程序(“CP”)。每一虚拟机还称作一“用户部分”或“客户”(guest)。虚拟机是诸如处理器、存储器、存储设备和I/O(即网卡、打印机和显示器)的计算机资源的虚拟共享/分区。在每一虚拟机上执行/运行着一客户操作系统。在每一客户操作系统上运行着一个或多个应用。
还已知通过对实计算机资源进行逻辑划分来对该计算机进行逻辑分区。用户定义每一逻辑分区(“LPAR”),即用于每一LPAR的处理器、存储器和存储设备的数量。可向每一LPAR分配特定的实计算机资源或全部计算机资源的份额。然后,在某些计算机中,单独的系统管理程序被加载到每一LPAR中,以在每一逻辑分区内形成多个虚拟机。每一个这样的虚拟机是分配给它的LPAR的资源的虚拟共享。
即使每一应用和客户操作系统在一虚拟机中执行,它们象正运行于它们自己专用的、实计算机上一样进行操作。下面是已知虚拟机怎样使用它的处理器或处理器时间的份额来执行工作项目的示例。每一虚拟机都有它自己的同步或锁定功能、工作队列分配功能、工作调度程序和分配给该虚拟机的工作项目或任务的相关队列。在这一示例中,同步或锁定功能、工作队列分配功能、工作调度程序和工作队列都是该虚拟机专用的。同步或锁定功能管理工作队列的锁定,以控制哪些工作项目必须顺序运行而哪些任务可并行运行。工作队列分配功能是该虚拟机内的程序功能,其在由该虚拟机生成工作项目时将该工作项目添加到该虚拟机的工作队列中。基于分配算法将该工作项目添加到队列中的一位置。分配算法可以考虑这样的因素,如每一工作项目的相对优先级别,以及工作项目被创建的顺序,即先入先出。在队列中的每一工作项目包括指示其类型、及因此该虚拟机内的哪个功能最适于处理它的信息。“工作调度程序”是调度它的队列中的每一工作项目以便执行的程序功能。工作调度程序将工作项目传递给该虚拟机内的适当功能以由虚拟处理器来执行。
还已知多个虚拟机共享一工作队列以在这些虚拟机和它们各自的实处理器份额之间分配工作项目。利用一服务器虚拟机来为其他“工作”虚拟机“容纳”(host)这一共享工作队列。该共享工作队列驻留于服务器虚拟机专用的存储器中。当一工作虚拟机创建新的工作项目,且用于这一工作虚拟机的工作队列分配功能决定将这一新的工作项目发送到服务器虚拟机时,它使用一通信协议(例如TCP/IP)及虚拟I/O设备驱动程序将此工作项目发送到这一服务器虚拟机。然后,服务器虚拟机以该服务器虚拟机所确定的顺序将该新的工作项目放置在共享工作队列中。当一工作虚拟机内的虚拟CPU可用于执行共享工作队列中的工作项目时,这一工作虚拟机内的工作调度程序使用一通信协议和虚拟I/O设备驱动程序来向服务器虚拟机作出请求。作为响应,服务器虚拟机使用一通信协议向作出此请求的工作虚拟机发送工作项目。尽管这一安排提供了共享的工作队列,但它需要很高开销的通信协议来将工作项目发送到工作队列和从工作队列获得工作项目。
Csaey等人于2003年4月29日提交的序列号10/425,470、题为“Management of Virtual Machines to Utilize Shared Resources”(管理虚拟机以利用共享资源)的美国专利申请公开了当应用受资源限制时一虚拟机包括它的操作系统和应用的“克隆”。这将增加分配给该(些)应用的总计算机资源的比例,因为现在有一附加虚拟机(带有它的资源份额)运行该(些)应用。在此引入这一专利申请,作为本公开的一部分,以供参考。Donovan等人于2003年4月29日提交的序列号10/425,468、题为“Management of Locks in a Virtual Machine Environment”(对虚拟机环境中锁定的管理)的美国专利申请公开了一种具有由多个虚拟机共享的工作队列和工作队列锁定结构的共享存储器。该多个虚拟机可直接访问该共享的锁定结构和共享的工作队列。在此引入这一专利申请,作为本公开的一部分,以供参考。
已知计算机包括插入该计算机中的物理通信卡。当通信卡接收到来自另一计算机的消息时,该通信卡向该计算机内的CPU发送中断。作为响应,CPU将调用该计算机内的一程序功能以取出并处理该消息。可将物理通信卡移除并插入另一计算机。任何包含在物理通信卡内的存储器中且还未由该初始计算机读取的消息对于该另一个人计算机将是不可用的。此外,在物理通信卡从初始计算机到另一个人计算机的移动期间发送给物理通信卡的消息将会丢失。
已知计算机包括向(盘)存储设备写数据和从(盘)存储设备读数据的物理块I/O卡。在写模式期间,计算机的CPU将数据块传递到块I/O,并请求将其写入存储设备。作为响应,块I/O卡将数据写入存储设备,然后向CPU发送回中断,指示I/O完成。当接收到中断时,CPU得知数据块已被成功写入存储设备,随后可相应地继续进行,例如从存储器中擦除该数据。在读模式期间,CPU请求块I/O卡从存储设备中读取特定数据块。作为响应,块I/O卡从存储设备中读出该数据,并将其写入可由CPU访问的缓冲器中。然后,块I/O卡向CPU发送回中断,指示I/O完成。在接收到中断之后,CPU可从缓冲器中读出数据。可移除物理块I/O卡,并将其插入另一计算机中。然而在物理块I/O卡从该初始计算机到该另一个人计算机的移动期间,在当前在物理块I/O卡上进行中的任何I/O请求都会丢失。
已知将虚拟机从一个实计算机到另一个实计算机和在一个实计算机内从一个LPAR到另一个LPAR迁移。Adesse公司的单系统映象(SingleSytem Image)可保存虚拟机的状态并迁移此虚拟机,但只是在不存在进行中的I/O且该虚拟机没有通信设备时才可这样。Brookhaven NationalLaboratory的题为“Guest Save/Restore Facility”(客户保存/恢复工具)的研究项目可保存虚拟机的状态并在未来的某个时间恢复此虚拟机,但只是在不存在进行中的I/O且该虚拟机没有通信设备时才可这样。Mirasoft公司的分布式设备可保存虚拟机的状态并迁移此虚拟机,但只是在不存在进行中的I/O且该虚拟机没有通信设备时才可这样。利用这三种产品,不允许虚拟机间的通信。不具有处理“进行中的”I/O的能力,所述“进行中的”I/O即从一个虚拟机发送到另一个虚拟机、但该另一个虚拟机还未接收到或处理的通信和数据。
VMWare公司的VMMotion程序将应用,包括它的程序代码、状态信息、寄存器、存储器等从一个实计算机迁移到另一个实计算机。该应用在其中执行的计算机系统使用通信设备,该通信设备包括虚拟网络接口卡。在该应用迁移之前,将进入的通信停止一段时间且将先前的通信完成,以便在迁移期间不会存在“进行中的”通信。该应用在其中执行的计算机系统还使用用于存储块数据的盘驱动程序和盘。在应用的迁移之前,将盘I/O操作停止一段时间且将先前的盘I/O操作完成,以便在迁移期间不会存在未解决的I/O。
当前,有一针对于将一Linux映象从一个实计算机移动到另一个实计算机的称为“Partition映象”的开放源码项目。它将Linux映象保存到盘中,然后这一映象可被迁移到另一计算机。但是,在保存该映象之前,所有通信和盘I/O必须完成,并停止。此外,一Tivoli系统自动化(TivoliSystem Automation)程序将应用从一个计算机转移到另一个计算机。该应用在其中执行的计算机系统使用用于从源计算机到目标计算机的通信的物理卡。该计算机系统使用用于存储数据块的设备驱动程序和盘。在迁移之前,将通信设备停止一段时间且将先前的通信完成,以便在迁移期间不会存在进行中的通信。同样,将盘I/O操作在迁移之前停止一段时间且将先前的I/O请求完成,以便在迁移期间不会存在未解决的I/O。
本发明的目的在于有效地将虚拟机在同一实计算机内从一个逻辑分区迁移到另一个逻辑分区,或从一个实计算机迁移到另一个实计算机。
本发明的另一目的在于在对于一虚拟机的通信正在进行中时迁移该虚拟机,而不丢失通信或将随后的通信停止一可觉察的时间量。
发明内容
本发明在于用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机内的第一LPAR迁移到第二LPAR的系统、计算机程序产品和方法。在迁移之前,第一虚拟机包括在该第一虚拟机专用的第一专用存储器中的操作系统和应用。在迁移之前,通信队列驻留于由第一计算机或第一LPAR中的第一虚拟机和第二虚拟机共享的第一共享存储器中。将第一虚拟机在第一计算机或第一LPAR中停止。第一计算机或第一LPAR将操作系统和应用传送给第二计算机或第二LPAR,而第二计算机或第二LPAR将该操作系统和应用写入第二计算机或第二LPAR中第一虚拟机专用的第二专用存储器中。第一计算机或第一LPAR将通信队列传送给第二计算机或第二LPAR,而第二计算机或第二LPAR将该通信队列写入由第二计算机或第二LPAR中的第二、第三和第四虚拟机共享的第二共享存储器中。将第一虚拟机在第二计算机或第二LPAR中重新开始。
根据本发明的另一个特征,提供一种用于将第一虚拟机从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的系统、方法和程序产品。在迁移之前,第一虚拟机包括在该第一虚拟机专用的第一专用存储器中的操作系统和应用。通信队列驻留于由第一计算机或第一LPAR中的第一虚拟机和第二虚拟机共享的第一共享存储器中。将该操作系统和应用从第一专用存储器复制到由第一和第二计算机或第一和第二LPAR共享的共享存储设备。将通信队列从第一共享存储器复制到该共享存储设备。向第二实计算机或第二LPAR通知该共享存储设备中的操作系统、应用和通信队列。将操作系统和应用从该共享存储设备复制到第二计算机或第二LPAR中第一虚拟机专用的第二专用存储器。在第二计算机或第二LPAR中重新开始第一虚拟机。将通信队列从共享存储设备复制到由第二计算机或第二LPAR中的第一、第三和第四虚拟机共享的第二共享存储器。
根据本发明的另一特征,提供一种用于将第一虚拟机从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的系统、方法和程序产品。在迁移之前,第一虚拟机包括在该第一虚拟机专用的第一专用存储器中的操作系统和应用。第一虚拟机的通信队列驻留于由第一和第二计算机或第一和第二LPAR共享的共享存储器中。将该操作系统和应用从第一专用存储器复制到该共享存储器。将操作系统和应用从该共享存储器复制到第二计算机或第二LPAR中第一虚拟机专用的第二专用存储器。然后,将第一虚拟机在第二计算机或第二LPAR中重新开始。
附图说明
图1是具有两个逻辑分区、每一逻辑分区中的各自的共享存储器和多个虚拟机的实计算机的方框图,且其示出根据本发明一个实施例用于将虚拟机从一个逻辑分区迁移到另一逻辑分区的过程。
图2是两个单独的实计算机、每一实计算机中各自的共享存储器和多个虚拟机的方框图,且其示出根据本发明另一实施例用于将虚拟机从一个实计算机迁移到另一实计算机的过程。
图3是具有两个逻辑分区、每一逻辑分区中的多个虚拟机、和由这两个逻辑分区共享的存储器的实计算机的方框图,且其示出根据本发明另一实施例用于将虚拟机从一个逻辑分区迁移到另一逻辑分区的过程。
图4是两个单独的实计算机、每一实计算机中的多个虚拟机、及由这两个实计算机共享的存储器的方框图,且其示出根据本发明另一实施例用于将虚拟机从一个实计算机迁移到另一实计算机的过程。
图5是具有两个逻辑分区、每一逻辑分区中的各自的共享存储器、由这两个逻辑分区共享的存储设备、和多个虚拟机的实计算机的方框图,且其示出根据本发明一个实施例用于将虚拟机从一个逻辑分区迁移到另一逻辑分区的过程。
图6是两个单独的实计算机、每一实计算机中各自的共享存储器、由这两个计算机共享的存储设备、和多个虚拟机的方框图,且其示出根据本发明另一实施例用于将虚拟机从一个实计算机迁移到另一实计算机的过程。
图7是示出图1、2、3、4、5和6的共享存储器中用于虚拟机的通信队列和共享块存储器的方框图。
图8是示出图1、2、3、4、5和6的共享存储器中用于虚拟机的通信队列和专用块存储器的方框图。
图9是示出图1和2的计算机系统内虚拟机迁移过程的流程图。
图10是示出图3和4的计算机系统内虚拟机迁移过程的流程图。
图11是示出图5和6的计算机系统内虚拟机迁移过程的流程图。
具体实施方式
现在,参照附图详细描述本发明,在这些附图中相同的参考标号指示相同的部件。图1示出根据本发明的一个实施例一般地表示为110的计算机系统。计算机系统110包括含有CPU 23和、RAM 24、逻辑分区程序25、网络端口(未示出)和操作员控制台27的实/物理计算机20。计算机系统110还包括外部(盘)存储设备26。作为举例,实计算机20可以是IBM z系列主机,尽管本发明也可实现于其他服务器计算机或个人计算机中。在图1所示的实施例中,程序25将实计算机20划分为逻辑分区(“LPAR”)30和31,尽管如果需要的话,程序25可将计算机20划分为更多的逻辑分区。LPAR是计算机20的实计算机资源的逻辑分区。例如,如果计算机20包括8个处理器,则可向LPAR 30分配4个处理器,向LPAR31分配其他4个处理器。程序25还在LPAR 30和LPAR 31之间划分总的存储器24,通常作为“虚拟”存储器。在所示出的实施例中,LPAR 30和LPAR 31都可访问/共享存储设备26,用于诸如存储较大文件的一般目的和用于一旦紧急停机迫近时的应急存储器备份。“虚拟”存储器分配是虚拟存储器地址范围到每一LPAR的基本分配,而不管在实存储器中的物理位置。程序25依据地址转换表将每一LPAR所使用的虚拟地址转换为其处存储有实际数据的实存储器地址。这两个LPAR中的虚拟机按照虚拟地址访问共享存储设备26。
系统管理程序40和41分别在LPAR 30和31上执行。系统管理程序40将LPAR 30划分为多个虚拟机33、34和35。换句话说,系统管理程序40对LPAR 30的计算机资源(包括处理器23和存储器24的份额)进行逻辑划分和虚拟化,以形成用于每一虚拟机33-35的平台。实处理器23的虚拟共享是分配给LPAR 30的处理器的时间共享。实存储器24的虚拟共享是映射到RAM 24的虚拟地址范围。系统管理程序40为LPAR 30中的每一虚拟机分配映射到RAM 24的(虚拟)一专用存储器(“VPM”)范围。系统管理程序40还为LPAR 30中的所有虚拟机33-35定义映射到RAM24的(虚拟)共享存储器50。当一虚拟机33-35对它的(虚拟)专用存储器或虚拟共享存储器50进行寻址时,系统管理程序40将虚拟存储器地址转换为实存储器24的实地址。(如果需要,系统管理程序40还可定义只由LPAR 30上的虚拟机33-35使用的共享存储设备26的一部分,以及只由LPAR 31上的虚拟机使用的共享存储设备26的另一部分。)
对于LPAR 30中的每一虚拟机,客户操作系统和应用执行于分配给该虚拟机的(虚拟)处理器之上。客户操作系统43-45分别执行于虚拟机33-35之上,而应用53-55分别执行于客户操作系统43-45之上。然而,可以有多个应用执行于每一客户操作系统上。作为举例,客户操作系统可以是Linux(Linus Torvalds的商标)操作系统或IBM CMS操作系统。其他客户操作系统也是可行的,例如Microsoft Windows(tm)操作系统、Unix(tm)操作系统、Sun Microsystems Solaris(tm)操作系统、或Hewlett Packard HPUX操作系统。作为举例,应用53-55可以是IBM DB2数据库管理应用、IBM Websphere应用、或其他应用。应用53-55的性质不构成本发明的一部分,除非它们可产生到相同或不同实计算机上的其他虚拟机的通信或作为来自这些其他虚拟机的通信的目标。此外,应用53-55可请求从“块”存储器中读取数据块或向其写入数据块,在某些情况下,是请求从它们自己专用的块存储器中读取数据块或向其写入数据块,而在另一些情况下,是请求从同一LPAR中的其他虚拟机的块存储器中读取数据块或向其写入数据块。
LPAR 30中每一虚拟机的客户操作系统和应用存储于分配给该虚拟机的专用存储器中。该虚拟机的专用存储器还包含由客户操作系统、应用、用于该操作系统和应用的程序状态字(也称作“CPU状态”)、及在该客户操作系统和应用的处理期间所使用的数据寄存器所产生的数据。程序状态字指示程序中的哪一行当前正在执行或接下来将要执行。程序状态字还指示哪些中断是允许的、哪些指令是允许的、及哪些存储器可以访问。
同样,系统管理程序41最初将LPAR 31划分为虚拟机36和37,随后,在虚拟机33M、34M和35M从LPAR 30迁移来之后进一步将LPAR31划分为附加的虚拟机33M、34M和35M。换句话说,系统管理程序41对LPAR 31的计算机资源(包括处理器23、存储器24和存储设备26的份额)进行逻辑划分和虚拟化,以形成每一个虚拟机36、37、33M、34M和35M。系统管理程序41为这些虚拟机中的每一个分配映射到RAM 24的(虚拟)专用存储器(“VPM”)。系统管理程序41还为LPAR 31中的所有虚拟机36、37、33M、34M和35M定义映射到RAM 24的(虚拟)共享存储器51。当虚拟机36、37、33M、34M或35M或虚拟机36、37、33M、34M或35M中的应用对它的(虚拟)专用存储器或虚拟共享存储器51进行寻址时,系统管理程序41将虚拟存储器地址转换为实存储器24的实地址。
对于LPAR 31中的每一虚拟机,客户操作系统和应用执行于分配给该虚拟机的处理器之上。客户操作系统46和47分别执行于虚拟机36和37之上,而应用56和57分别执行于客户操作系统46和47之上。然而,可以有多个应用执行于每一客户操作系统上。作为举例,客户操作系统可以是Linux(Linus Torvalds的商标)操作系统或IBM CMS操作系统。其他客户操作系统也是可行的,例如Microsoft Windows(tm)操作系统、Unix(tm)操作系统、Sun Microsystems Solaris(tm)操作系统、或Hewlett Packard HPUX操作系统。作为举例,应用56-57可以是IBM DB2数据库管理应用、IBM Websphere应用、或其他应用。应用56-57的性质不构成本发明的一部分,除非它们可产生到相同或不同实计算机上的其他虚拟机的通信或作为来自这些其他虚拟机的通信的目标。此外,应用56-57可请求从“块”存储器中读取数据块或向其写入数据块,在某些情况下,是请求从它们自己专用的块存储器中读取数据块或向其写入数据块,而在另一些情况下,是请求从同一LPAR中的其他虚拟机的块存储器中读取数据块或向其写入数据块。
LPAR 31中每一虚拟机的客户操作系统和应用存储于分配给该虚拟机的专用存储器中。该虚拟机的专用存储器还包含由客户操作系统、应用、用于该操作系统和应用的程序状态字(也称作“CPU状态”)、及在该客户操作系统和应用的处理期间所使用的数据寄存器所产生的数据。
作为举例,系统管理程序40和41中的每一个可包括现有IBM z/VM版本4.2.0或4.3.0虚拟机操作系统,该虚拟机操作系统具有从LPAR或实计算机形成每一虚拟机的当前能力。但是,系统管理程序40和41还包括根据本发明迁移虚拟机和相关的通信队列和块存储器的新的程序手段,如下面所描述的那样。现有z/VM 4.2.0操作系统的详情在IBM出版物“z/VM4.2.0通用信息”(文档号:GC24-5991-03)中进行了公开,该出版物可从国际商业机器公司,信箱29570,IBM出版物,Raleigh,北卡罗莱纳州27626-0570,或在万维网上的www.IBM.com/shop/publications/order处获得。在此引入该出版物,作为本公开的一部分,以供参考。在z/VM操作系统中,系统管理程序40和41称作控制程序(“CP”),“虚拟机”也称作“客户虚拟机”。
如上面所解释的,系统管理程序40定义和管理由LPAR 30上的所有虚拟机33-35所共享的共享存储器区域50。所有虚拟机33-35可按适当地址直接访问共享存储器50和存储于该共享存储器中的数据结构,如果它们已知该地址的话。但是,LPAR 31中的虚拟机(即虚拟机36和37及已迁移时的33M、34M和35M)不能访问共享存储器50。对于虚拟机33-35中的每一个,在共享存储器50中存在各自的通信队列和各自的块存储器。为了简单起见,图1只示出用于虚拟机35的一个通信队列52和一个块存储器54,尽管其他虚拟机33和34中的每一个将同样具有它们自己各自的通信队列和块存储器。
在所示出的实施例中,如下面参照图7所解释的,通信队列52是虚拟机33和34可以通信形式向其提供工作项目及虚拟机35可从其荻取工作项目以进行处理的工作队列。这样,虚拟机33和34可与虚拟机35进行通信。同样,用于虚拟机33的通信队列允许虚拟机34和35通过提供工作项目与虚拟机33进行通信,且用于虚拟机34的通信队列允许虚拟机33和35通过提供工作项目与虚拟机34进行通信。
在所示出的其中虚拟机33-35使用共享存储器50即RAM用于存储程序和数据的实施例中,块存储器54是共享存储器50中包含文件和目录的存储器区域。每一目录列出块存储器54的内容。在本发明的其中块存储器54是共享的一个实施例中,每一虚拟机33-35可将数据块写入块存储器54及从块存储器54中读出数据块。在本发明的其中块存储器是专用的另一实施例中,LPAR 30中的每一块存储器专用于虚拟机33-35中的各自的虚拟机,以便只有那一个虚拟机能够将数据块写入该块存储器和从该块存储器中读出数据块。
同样,系统管理程序41定义和管理共享存储器区域51,该共享存储器区域由LPAR 31上的所有虚拟机,即36和37、及迁移后的33M、34M和35M所共享。所有虚拟机36和37、及迁移后的33M、34M和35M可在它们已知地址时,按照适当的地址直接访问共享存储器51和存储在该共享存储器中的数据结构。然而,LPAR 30中的虚拟机(即虚拟机33-35)不能访问共享存储器51。对于每一个虚拟机36和37、及迁移后的33M、34M和35M,在共享存储器51中存在各自的通信队列和各自的块存储器。为了简单起见,图1只示出用于迁移后的虚拟机35M的迁移后通信队列52-3和迁移后块存储器54-3,尽管LPAR 31上其他每一个虚拟机将同样具有它们自己各自的通信队列和块存储器。
在所示出的实施例中,如下面参照图7所解释的,通信队列52-1是通信队列52的迁移后副本。在迁移之后,通信队列52-1是虚拟机33M和34M可以通信形式向其提供工作项目及虚拟机35M可从其获取工作项目以进行处理的工作队列。这样,虚拟机33M和34M可与虚拟机35M进行通信。同样,用于虚拟机36的通信队列允许虚拟机37与虚拟机36进行通信,且用于虚拟机37的通信队列允许虚拟机36与虚拟机37进行通信。虚拟机36和37还可通过系统管理程序41发现迁移后的虚拟机35M和其通信队列的位置,且此后向迁移后的虚拟机35的通信队列提供工作项目。反过来,迁移后的虚拟机35M可通过系统管理程序41发现虚拟机36和37及它们的通信队列的位置,且此后向虚拟机36和37的通信队列提供工作项目。同样,迁移后的虚拟机33M和34M可通过系统管理程序41发现虚拟机36和37及它们的通信队列的位置,且此后向虚拟机36和37的通信队列提供工作项目。
在所示出的其中虚拟机36、37、33M、34M和35M使用共享存储器51即RAM来存储数据的实施例中,块存储器54-1是共享存储器51中包含文件和目录的存储器区域。块存储器54-1是块存储器54的迁移后副本。目录列出块存储器54-1的内容。在本发明的其中块存储器54-3是共享的一个实施例中,虚拟机36、37、33M、34M和35M中的每一个都可向块存储器54-3写入数据块及从块存储器54-3读出数据块。在本发明的其中块存储器54-1是专用的另一实施例中,LPAR 31中的每一个块存储器专用于虚拟机36、37、33M、34M和35M中各自的一个,以便只有一个虚拟机可向该块存储器写入数据块及从该块存储器读出数据块。
在图1的实施例中,虚拟机33-35的所有通信队列都驻留于共享存储器50中,且可由LPAR 30中的所有虚拟机33-35直接访问,但不能由LPAR31中的虚拟机直接访问。这样,为了维护初始驻留于LPAR 30中的所有虚拟机对初始驻留于LPAR 30中的其他虚拟机的通信队列的访问,如果需要迁移虚拟机33-35中的一个或全部,则将它们全部同时从LPAR 30迁移到LPAR 31。这确保了“进行中的”通信,即当前在LPAR 30中的工作队列中的通信项目将由目标虚拟机所处理而不会丢失。此外,如下面所描述的,迁移过程是快速的,因而对通信进程只存在极小的延迟。(同样,虚拟机36和37的通信队列驻留于共享存储器51中,并且可由LPAR 31中的其他虚拟机37和36直接访问,但不能由LPAR 30中的虚拟机直接访问。)这样,为了维护初始驻留于LPAR 31中的所有虚拟机对初始驻留于LPAR 31中的其他虚拟机的通信队列的访问,如果需要迁移虚拟机36和37中的一个或全部,则将它们一起迁移到LPAR 30。
可以不同方式来启动虚拟机33-35的迁移。例如,如果系统管理程序40知道将要发生崩溃,则系统管理程序40可将它的虚拟机33-35中每一个的专用存储器内容复制到存储设备26中。然后,系统管理程序40可启动虚拟机33-35到LPAR 31和系统管理程序41的迁移,如下面所述的那样,以使虚拟机33-35在系统管理程序40的崩溃之后将保持激活。作为另一个例子,用户可能希望更新或维护系统管理程序40,并且在这种情况下,通知虚拟机33-35的客户操作系统43-45。作为响应,客户操作系统43-45将请求系统管理程序40启动虚拟机33-35到LPAR 31和系统管理程序41的迁移,如下面所述的,以使虚拟机33-35在系统管理程序40的更新或维护期间将保持激活。虚拟机33-35可在系统管理程序40的更新或维护之后迁移回LPAR 30和系统管理程序40。作为另一例子,系统管理员可能通知LPAR 30受限于资源而LPAR 31具有多余的资源,因此系统管理员可通知LPAR 30中的虚拟机33-35中的客户操作系统43-45迁移到LPAR 31。作为响应,虚拟机33-35的客户操作系统43-45请求系统管理程序40为了负载平衡的目的,启动虚拟机33-35到LPAR 31和系统管理程序41的迁移,如下面所述的那样。(虽然未示出,但在这上一个例子中,可能会存在不共享虚拟机33-35的通信队列或块存储器的运行于LPAR 30之上的其他应用或在LPAR 30之上的其他虚拟机,这些其他应用和其他虚拟机不必与虚拟机33-35一起迁移。)
下面是参照图1到9,对系统110中的虚拟机35从LPAR 30到LPAR31的迁移的说明。这一说明也适用于与虚拟机35(及通信队列52和块存储器54)同时迁移的其他虚拟机33和34(及它们的通信队列和块存储器)(因为虚拟机33-35互相访问对方的通信队列)。虚拟机35的迁移包括虚拟机35的专用存储器(“VPM”)内容的迁移以及虚拟机35的通信队列52和块存储器54从LPAR 30到LPAR 31的迁移。
LPAR 30中的虚拟机35(虚拟)专用存储器存储客户操作系统45、应用55、由应用生成的数据、用于操作系统和应用的程序状态字(也称作“CPU状态”)、在客户操作系统和应用的处理期间所使用的数据寄存器。虚拟机35还包括它的来自LPAR 30的所分配的计算机资源的份额,但在本发明的这一实施例中,来自LPAR 30的计算机资源的份额不与虚拟机35一起从LPAR 30迁移到LPAR 31;而是,迁移后的虚拟机35M将从LPAR 31接收它的计算机资源的份额。
如上面所解释的,虚拟机35的通信队列52初始驻留于共享存储器50中,且LPAR 30中可访问这一通信队列的所有虚拟机同时迁移。因此,紧接在通信队列52的迁移(及用于虚拟机33和34的通信队列的迁移)之前,系统管理程序40停止LPAR 30上互相访问对方的通信队列的所有虚拟机,以使它们在它们的迁移期间不会试图向这些队列中的任何一个添加通信项目或从这些队列中的任何一个移除通信项目(步骤902)。在所示出的例子中,虚拟机33-35互相访问对方的通信队列,因此在步骤902,系统管理程序40停止所有的虚拟机33-35。如下面所解释的,停止的持续时间很短,例如为5毫秒,因为物理卡未移动,因此迁移所需的时间是短的。
也可能有其他的虚拟机也需要同时迁移。在本发明的一个实施例中,每一个块存储器专用于它各自的虚拟机,即甚至是在同一LPAR中,也没有其他的虚拟机能够对另一虚拟机的块存储器进行写和读。在这一实施例中,不需要由于块存储器而将同一LPAR上的虚拟机作为一组来迁移。但是,仍然需要由于同一LPAR上的虚拟机互相对对方的通信队列的访问,而将其作为一组来迁移。但是,在本发明的另一实施例中,同一LPAR中的每一虚拟机可访问同一LPAR中每一其他虚拟机的块存储器。在这另一实施例中,同一LPAR上可互相访问对方的块存储器的所有虚拟机需要同时迁移。这一组虚拟机通常将与能够互相访问对方的通信队列的虚拟机组一致,因而由于对相互的通信队列的访问,无论如何它们都需要同时迁移。
在LPAR 30中所有必需的虚拟机在步骤902停止之后,系统管理程序40将LPAR 30中虚拟机35的专用存储器(“VPM”)的内容传送给LPAR31的工作存储器81(步骤903)。在步骤903,系统管理程序40还将LPAR30中通信队列52和块存储器54的虚拟地址与虚拟机35的专用存储器内容一起传送给LPAR 31的工作存储器81。这些是虚拟机35用于从共享存储器50中对通信队列52和块存储器54进行寻址的虚拟地址。如下面详细描述的,迁移后的虚拟机35M将使用这些相同的虚拟地址从共享存储器51中对通信队列52-1和块存储器54-1进行寻址;系统管理程序41将把这些虚拟地址映射到共享存储器51。接着,系统管理程序40将虚拟机35的通信队列52从LPAR 30中的共享存储器50传送给LPAR 31的工作存储器81(步骤904)。然后,系统管理程序40将虚拟机35的块存储器54从LPAR 30中的共享存储器50传送给LPAR 31的工作存储器81(步骤908)。如果在迁移之前由于预知停机而将上述数据结构中的任一种(即VPM内容、通信队列的虚拟地址、块存储器的虚拟地址、通信队列或块存储器)复制到存储设备26中,且迁移发生在LPAR 30重新启动之后但在虚拟机35在LPAR 30的存储器中重建之前,则LPAR 30可从存储设备26中取出这些数据结构,以便将它们传送给LPAR 31来进行迁移。但是,一般地,系统管理程序40从虚拟机35的专用存储器55中取出VPM内容、通信队列的虚拟地址和块存储器的虚拟地址,并从共享存储器50中取出通信队列和块存储器。在步骤903和904中从LPAR 30到LPAR 31的通信可使用任何可用的通信工具,例如已知的IBM z系列IUCV、SNA或TCP/IP通信工具。“IUCV”代表Inter-User Communications Vehicle(用户间通信工具),且其是能够使运行于一个虚拟机中的程序通过系统管理程序与其他虚拟机中的其他程序通信的点到点通信工具。IUCV通信通过预定的称作“路径”的连接发生在源虚拟机和目标虚拟机之间。“路径”是一由系统管理程序定义的结构。例如,当一个虚拟机希望与另一个虚拟机IUCV通信时,这一个虚拟机请求系统管理程序指定用于这一通信的路径ID。该系统管理程序还将这一个虚拟机将使用的路径ID通知给另一个虚拟机。当这一个虚拟机希望进行通信时,这一个虚拟机向系统管理程序提供通信信息,且还指定路径ID。然后,系统管理程序接收该信息,将其存储在缓冲器中,并通过IUCV中断通知另一个虚拟机有通信正在指定路径ID处等待。然后,此另一个虚拟机向系统管理程序请求指定路径ID处的通信信息。每一进行通信的虚拟机可具有多个路径,并且可通过同一路径同时接收和发送多个消息。“IBM z/VM V4R4.0 CP ProgrammingServices”手册对IUCV通信工具进行了进一步描述。此手册可从国际商业机器公司,信箱29570,Raleigh,北卡罗莱纳州27626-0570处获得。
接着,虚拟机35请求系统管理程序40从LPAR 30中“删除”虚拟机35,即从LPAR 30中删除对虚拟机35的资源分配。作为响应,系统管理程序40删除虚拟机35的资源分配(步骤912)。然而,系统管理程序40将在LPAR 30中保留对虚拟机35的描述,以防用户随后想要在LPAR 30中重新激活虚拟机35。
接着,系统管理程序41从LPAR 31中为将要迁移的虚拟机分配计算机资源(虚拟处理器、虚拟专用存储器、虚拟共享存储器、虚拟专用存储设备和虚拟共享存储设备)(步骤928)。系统管理程序41根据上述数据结构的通信知道该虚拟机正等待在LPAR 31中重新开始(且需要虚拟资源)。然后,系统管理程序41将该虚拟机专用存储器内容(包括通信队列52和块存储器54的虚拟地址)从工作存储器81复制到LPAR 31中最近分配的、迁移后的虚拟机35M的(虚拟)专用存储器中(步骤930)。这在LPAR 31中形成了迁移后的虚拟机35M,尽管虚拟机35还未重新开始/激活。迁移后的虚拟机35M与初始虚拟机35相同,尽管根据LPAR 31中虚拟机的总数和分配给LPAR 31的资源总量而在资源分配上可能会存在某些变化。然后,系统管理程序41或者虚拟机36或37中的客户操作系统(负责重新开始从LPAR 30迁移来的虚拟机)发出“重新开始”虚拟机35M的命令(步骤934)。作为响应,虚拟机35M中的客户操作系统45M和应用将在由迁移后的程序状态(指针)所指示处重新开始执行。
然后,虚拟机36或37中负责虚拟机从LPAR 30的迁移的系统管理程序41或客户操作系统将虚拟机35的通信队列从LPAR 31的工作存储器81复制到共享存储器51(步骤940)(此处为了说明的目的在图1中将其重新标为52-1)。然后,虚拟机36或37中负责块存储器从LPAR 30到LPAR 31的迁移的的系统管理程序41或客户操作系统将块存储器54从LPAR 31的工作存储器81复制到共享存储器51中(步骤944)(此处为了说明的目的将其标为54-1)。
然后,迁移后的虚拟机35M中的客户操作系统45M请求系统管理程序41将通信队列52-1“附加”到LPAR 31中的虚拟机35M(步骤950)。通过这一附加,虚拟机35M中的客户操作系统45M向系统管理程序41通知虚拟机35M将使用什么地址来引用它的通信队列52-1。(这些是虚拟机35在驻留于LPAR 30中时所使用的地址,这些地址随虚拟机35的专用存储器内容一起被复制到虚拟机35M的虚拟专用存储器。)作为响应,系统管理程序41将这些地址与通信队列52-1现在所驻留的共享存储器51中的位置相关联。(同样,其他迁移后的虚拟机34M和35M将请求系统管理程序41将它们各自的通信队列附加到共享存储器51。)因为所有虚拟机33-35(以上面所描述的方式)同时迁移,一旦重新开始,它们将使用与它们在迁移之前在LPAR 30中所使用的相同的虚拟地址互相访问对方的通信队列。系统管理程序41将把这些地址附加到共享存储器51(代替共享存储器50)中的位置。
然后,迁移后的虚拟机35M中的客户操作系统请求系统管理程序41将块存储器54-1“附加”到LPAR 31中的虚拟机35M(步骤954)。通过这一附加,虚拟机35M中的客户操作系统向系统管理程序41通知虚拟机35M将对于块存储器54-1使用什么地址。(这些是虚拟机35当驻留于LPAR 30中时所使用的地址,这些地址随虚拟机35的专用存储器内容一起被复制到虚拟机35M的专用存储器中。)作为响应,系统管理程序41通过将这一块存储器分配给迁移后的虚拟机35M的虚拟共享存储器,而使得块存储器54-3对迁移后的虚拟机35M可用。如果其他虚拟机33-34也被迁移,并且能够访问LPAR 30中虚拟机35的块存储器,则它们将使用与它们用于访问LPAR 30中的块存储器54相同的虚拟地址来访问LPAR31中虚拟机35M的块存储器。系统管理程序41将把这些虚拟地址转换到LPAR 31中的块存储器54-3。
接着,迁移后的虚拟机35M继续执行当虚拟机35在LPAR 30中被停止以便进行迁移时正在进行中的一个或多个工作项目,如果存在这样的工作项目的话。这些工作项目,如果存在的话,在由程序状态字所指示的在迁移期间它们被停止的位置处继续。如果虚拟机35M可用于执行来自通信队列52-1的另一工作项目(判断990,“是”分支),则虚拟机35M从通信队列52-1中获取下一工作项目并对其进行处理,如下面所描述的那样(步骤994)。如果通信队列52-1(或虚拟机35M的任何其他迁移后的工作队列)中不再有工作项目,则虚拟机只是等待指示有工作要做的中断。
如上面所指出的,虚拟机36和37随后可能通过35M所启动的任何可用的通信协议(例如IUCV),获知虚拟机35M(及虚拟机33M和34M)。然后,如果虚拟机36和37希望通过共享存储器51中的通信队列52-1与虚拟机35M进行通信,虚拟机36和37可向系统管理程序41查询以获知虚拟机35M的通信队列52-1的地址。同样,如果虚拟机35M(及虚拟机33M和34M)获知虚拟机36和37并希望与之进行通信,则虚拟机35M(及虚拟机33M和34M)可向系统管理程序41查询以获知共享存储器51中虚拟机36和37的各自通信队列的地址。此外,如果虚拟机36和37希望访问共享存储器51中的块存储器54-1(如果允许的话),或者写数据或者读数据,则虚拟机36和37可向系统管理程序41查询以获知块存储器54-1中虚拟机35M的地址。同样,如果虚拟机35M获知并希望访问共享存储器51中虚拟机36和37的块存储器(如果允许的话),则虚拟机35M可向系统管理程序41查询,以获知共享存储器51中虚拟机36和37各自的块存储器的地址。
图2示出根据本发明另一实施例的计算机系统210,其包括两个单独的物理计算机120和121。计算机120包括系统管理程序40,该系统管理程序定义虚拟机33-35。与系统110不同,计算机120未被划分为LPAR或者说是单个LPAR。计算机121包括系统管理程序41,该系统管理程序最初定义虚拟机36和37,而随后添加迁移后的虚拟机33M、34M和35M。与系统110不同,计算机121未被划分为LPAR或者说是单个LPAR。计算机120包括用于虚拟机33-35的共享存储器50。计算机121包括用于虚拟机36和37、以及随后迁移后的虚拟机33M、34M和35M的共享存储器51。计算机120和121均共享存储设备26,用于一般使用和它们各自存储器的紧急备份。每一个计算机120和121中的每一虚拟机包括在各自共享存储器中的各自通信队列和块存储器。系统210中虚拟机的迁移与系统110中虚拟机的迁移相同,这里不需要重复。
图3示出根据本发明另一实施例的另一计算机系统310。如系统110中那样,系统310包括单个物理计算机20、LPAR 30和31及各自的系统管理程序40和41。系统管理程序40定义虚拟机33-35。系统管理程序41定义虚拟机36、37,以及随后单独的迁移的虚拟机35M。系统310包括用于LPAR 30的共享存储器50和共享存储设备60,及用于LPAR 31的共享存储器51和共享存储设备61。但是,与系统110不同,在系统310中,在虚拟机35从LPAR 30迁移到LPAR 31的过程中不使用的共享存储设备60和61。而是,系统310(与系统110不同)包括由LPAR 30和31及系统管理程序40和41所共享的存储器90(即RAM 24的一虚拟区域)。共享存储器90由LPAR 30和31两者上的所有虚拟机33-37和35M所共享。这样,在这两个LPAR上的所有虚拟机都可访问共享存储器90内的所有数据结构,倘若这些虚拟机知道地址的话。如系统110中一样,系统310中的每一虚拟机包括各自的具有与系统110中相同的内容的专用存储器。系统310在虚拟机35从LPAR 30迁移到LPAR 31的过程中使用共享存储器90,来迁移被迁移虚拟机35的虚拟专用存储器内容。但是,用于系统310中两个LPAR 30和31上的每一虚拟机的通信队列和块存储器初始存储于共享存储器90(而不是共享存储器50或60)中。因此,在系统310中的虚拟机33-35的迁移期间,不必迁移各自的通信队列和块存储器。例如,LPAR 31中迁移后的虚拟机35M直接从共享存储器90访问通信队列52和块存储器54,就象在迁移之前LPAR 30中的虚拟机35(在迁移前)直接从共享存储器90访问通信队列52和块存储器54一样。甚至不需要为了虚拟机35迁移的目的,将通信队列52和块存储器54从共享存储器90中的一个位置移动到共享存储器90中的另一个位置。此外,在只需要迁移互相访问对方的通信队列或块存储器的一组虚拟机中的一个的时候,不必停止或迁移这一组虚拟机。这是因为所迁移的虚拟机的通信队列和块存储器不移动,且在该迁移的虚拟机的迁移期间,其他迁移的虚拟机可继续对该迁移的虚拟机的通信队列(和块存储器,如果允许的话)进行写和读。
下面是参照图3和10,对虚拟机35从系统310中的LPAR 30到LPAR31的迁移的解释。虚拟机35的迁移包括虚拟机35的专用存储器(“VPM”)内容从LPAR 30中的专用存储器到LPAR 31中的专用存储器的迁移。不存在通信队列52或块存储器54的移动;该迁移只需要将这两者重新附加到LPAR 31中迁移后的虚拟机35。
LPAR 30中虚拟机35的(虚拟)专用存储器存储客户操作系统45、应用55、这些应用所生成的数据、用于操作系统和应用的程序状态字(也称作“CPU状态”)、及在客户操作系统和应用的处理期间所使用的数据寄存器。虚拟机35还包括它的从LPAR 30分配的计算机资源的份额,但来自LPAR 30的计算机资源的份额不与虚拟机35一起从LPAR 30迁移到LPAR 31;而是,迁移后的虚拟机35M将从LPAR 31接收到它的计算机资源的份额。为了开始虚拟机35的迁移,系统管理程序40将虚拟机35的专用存储器(“VPM”)的内容复制到共享存储器90(步骤1000)(此处为了说明的目的在图3中将该内容重新标为虚拟机专用存储器内容35-A)。在步骤1000,系统管理程序40还将通信队列52和块存储器54的虚拟地址与虚拟机35的专用存储器内容一起复制到共享存储器90中。这些是由虚拟机35从共享存储器90中对通信队列52和块存储器54进行寻址所使用的虚拟地址。如下面更详细描述的,迁移后的虚拟机35M将使用这些相同的虚拟地址从共享存储器90对通信队列52和块存储器54进行寻址;系统管理程序41将把这些虚拟地址映射到共享存储器90。在由步骤1000所指示的迁移时刻,虚拟机35仍然在LPAR 30和系统管理程序40中执行。然后,系统管理程序41停止虚拟机35在LPAR 30中的执行(步骤1002),然后从LPAR 30中删除虚拟机35(步骤1028)。
虚拟机35的通信队列52在虚拟机35的迁移之前和之后驻留于共享存储器90中,且不存在由于迁移而导致的通信队列52在共享存储器90内的移动。(因为通信队列52不移动,所以不需要停止LPAR 30中访问通信队列52的其他虚拟机。)同样,虚拟机35的块存储器54在虚拟机35的迁移之前和之后驻留于共享存储器90中,且不存在由于迁移而导致的块存储器54在共享存储器90内的移动。(因为块存储器54不移动,所以不需要停止LPAR 30中访问块存储器54的其他虚拟机,如果存在这样的虚拟机的话。)
接着,系统管理程序41从LPAR 31中为要迁移的虚拟机分配计算机资源(虚拟处理器、虚拟专用和共享存储器、及虚拟专用和共享存储设备)(步骤1028)。系统管理程序41根据在作出迁移请求时的用户输入或来自虚拟机35中的系统管理程序40或客户操作系统45的先前通知(该通知可通过TCP/IP或任何其他通信协议发送),知道虚拟机35正等待在LPAR31中重新开始(并需要虚拟资源)。然后,系统管理程序41将虚拟机专用存储器内容35-A(包括通信队列52和块存储器54的虚拟地址)从共享存储器90复制到最近分配的LPAR 31(虚拟)专用存储器(步骤1030)中。这在LPAR 31中形成了迁移后的虚拟机35M,尽管虚拟机35M还未重新开始/激活。迁移后的虚拟机35M与初始虚拟机35相同,尽管可能根据LPAR 31中虚拟机的总数和分配给LPAR 31的资源总量而在资源分配上存在某些变化。然后,虚拟机36或37中的系统管理程序41或客户操作系统(其负责重新开始从LPAR 30迁移来的虚拟机)发出“重新开始”虚拟机35M的命令(步骤1034)。作为响应,虚拟机35M中的客户操作系统和应用35M将在迁移后的程序状态字(指针)所指示的位置重新开始执行。
然后,迁移后的虚拟机35M中的客户操作系统请求系统管理程序41将通信队列52“附加”到LPAR 31中的虚拟机35M(步骤1050)。通过这一附加,虚拟机35M中的客户操作系统向系统管理程序41通知虚拟机35M将使用什么地址来引用通信队列52。(这些是当虚拟机35驻留于LPAR 30中时虚拟机35引用通信队列52所使用的地址,这些地址随虚拟机35的专用存储器内容一起被复制到共享存储器90。)作为响应,系统管理程序41将这些地址与共享存储器90中通信队列52所驻留的位置相关联。因为通信队列52未移动,所以虚拟机33、34和35M可在虚拟机35M的迁移之后访问通信队列52,对虚拟机33或34没有改变。此外,虚拟机36和37可在虚拟机35迁移之后与在虚拟机35迁移之前一样地访问通信队列52(即提供工作项目)。
然后,迁移后的虚拟机35M中的客户操作系统请求系统管理程序31将块存储器54“附加”到LPAR 31中的虚拟机35M(步骤1054)。通过这一附加,虚拟机35M中的客户操作系统45M向系统管理程序41通知虚拟机35M将为块存储器使用什么地址。(这些是当虚拟机35驻留于LPAR30中时所使用的地址,这些地址随虚拟机35的专用存储器内容一起被复制到共享存储器90。)作为响应,系统管理程序41通过将这一块存储器分配给迁移后的虚拟机35M的虚拟共享存储器,使得块存储器54对迁移后的虚拟机35M可用。系统管理程序41将把这些虚拟地址转换到共享存储器90中的块存储器54。
接着,迁移后的虚拟机35M继续执行当虚拟机35在LPAR 30中被停止以便进行迁移时正在进行中的一个或多个工作项目,如果存在这样的工作项目的话。这些工作项目,如果存在的话,根据程序状态字,在迁移期间它们被停止的位置处继续。如果虚拟机35M可用于执行来自通信队列52的另一工作项目(判断1090,“是”分支),则虚拟机35M从通信队列52中获取下一工作项目并对其进行处理,如下面所描述的那样(步骤1094)。如果通信队列52,或任何其他迁移后的工作队列中不再有工作项目,则虚拟机只是等待指示有更多工作要做的中断(步骤1098)。
如果虚拟机36和37不知道LPAR 30中的虚拟机35,则它们随后可通过35M使用例如IUCV的任何通信协议所启动的通信获知LPAR 31中的虚拟机35M。然后,如果虚拟机36和37希望通过共享存储器90中的通信队列52与虚拟机35M通信,则虚拟机36和37可向系统管理程序41进行查询,以获知虚拟机35M的通信队列52的地址。同样,如果虚拟机35M先前不知道虚拟机36和37,而获知并希望与虚拟机36和37进行通信,则虚拟机35M可向系统管理程序41进行查询以获知共享存储器90中虚拟机36和37的各自通信队列的地址。此外,如果虚拟机36和37希望访问共享存储器51中的块存储器54(如果允许的话),或者写数据或读数据,则虚拟机36和37可向系统管理程序41进行查询以获知块存储器54中虚拟机35M的地址,如果虚拟机36和37先前不知道虚拟机35M的地址的话。同样,如果虚拟机35M先前不知道,但获知并希望访问共享存储器90中虚拟机36和37的块存储器(如果允许的话),则虚拟机35M可向系统管理程序41进行查询,以获知共享存储器90中虚拟机36和37的各自块存储器的地址。
图4示出根据本发明另一实施例的计算机系统410,其包括两个单独的物理计算机120和121。计算机120包括系统管理程序40,该系统管理程序定义虚拟机33-35。与系统310不同,系统410中的计算机120未被划分为LPAR或者说是单个LPAR。与系统310不同,系统410中的计算机121未被划分为LPAR或者说是单个LPAR。计算机系统410除了共享存储器90的性质之外在其他方面与计算机系统310类似。在计算机系统410中,因为存在单独的实计算机120和121,所以共享存储器90可实现为“非一致存储器访问”设备,其中由于一个实计算机邻近于该存储器设备,该实计算机能够比另一计算机更快速地访问该存储器。在这一实施例中,存储器90可以位于插入到这一个实计算机中的卡之上,并可由另一实计算机通过电缆访问。计算机121包括系统管理程序41,该系统管理程序最初定义虚拟机36和37,而随后添加迁移后的虚拟机35M。每一个计算机120和121中的每一虚拟机包括在共享存储器90中的各自通信队列和块存储器。系统410中虚拟机的迁移与系统310中虚拟机的迁移相同,这里不需要重复。
图5示出根据本发明另一实施例的另一计算机系统510。如系统110中那样,系统510包括单个物理计算机20、LPAR 30和31及各自的系统管理程序40和41。系统管理程序40定义虚拟机33-35。系统管理程序41定义虚拟机36、37,以及随后所迁移的虚拟机33M、34M和35M。系统510包括用于LPAR 30的共享存储器50和用于LPAR 31的共享存储器51。在系统110和510两者中,每一虚拟机包括相同的专用存储器内容。在系统110和510两者中,每一虚拟机的通信队列和块存储器驻留于该虚拟机所驻留的LPAR的共享存储器中。在系统110和510两者中的虚拟机的迁移期间,专用存储器内容从初始专用存储器被复制到共享存储设备,且通信队列和块存储器从共享存储器被复制到共享存储设备。但是,与系统110不同,在系统510中,共享存储设备对于LPAR 30和31两者是通用的。因此,在系统510中的虚拟机33-35及它们各自的通信队列和块存储器的迁移期间,不需要将专用存储器内容、通信队列和块存储器从一个存储设备复制到另一个存储设备或从存储设备中一个位置复制到另一个位置。在系统110和510两者中,需要将专用存储器内容从存储设备复制到LPAR 31的专用存储器,且需要将通信队列和块存储器从存储设备复制到LPAR 31的共享存储器。
下面是对系统510中的虚拟机35从LPAR 30迁移到LPAR 31的过程的更详细说明,此说明同样适用于其他虚拟机33和34。所有这三个虚拟机33-35及它们各自的通信队列和块存储器同时迁移,因为这三个虚拟机33-35互相访问对方的通信队列。
LPAR 30中的虚拟机35(虚拟)专用存储器存储客户操作系统45、应用55、由应用生成的数据、用于操作系统和应用的程序状态字(也称作“CPU状态”)、和在客户操作系统和应用的处理期间所使用的数据寄存器。虚拟机35还包括它的已从LPAR 30分配的计算机资源的份额,但在本发明的这一实施例中,来自LPAR 30的计算机资源的份额不与虚拟机35一起从LPAR 30迁移到LPAR 31;而是,迁移后的虚拟机35M将从LPAR 31接收到它的计算机资源的份额。为了开始虚拟机35的迁移,系统管理程序40将虚拟机35的专用存储器(“VPM”)的内容复制到共享存储设备560(步骤1100)(此处为了说明的目的在图5中将该内容重新标为虚拟机专用存储器内容35-2)。在步骤1100,系统管理程序40还将通信队列52和块存储器54的虚拟地址与虚拟机35的专用存储器内容一起复制到共享存储设备560中。这些是由虚拟机35从共享存储器50中对通信队列52和块存储器54进行寻址所使用的虚拟地址。如下面更详细描述的,迁移后的虚拟机35M将使用这些相同的虚拟地址从共享存储器51对通信队列52-3和块存储器54-3进行寻址;系统管理程序41将把这些虚拟地址映射到共享存储器51。在由步骤1100所指示的迁移时刻,虚拟机35仍然在LPAR 30和系统管理程序40中执行。
下面解释虚拟机35的通信队列52的迁移的开始。这一解释同样适用于与通信队列52同时迁移的、虚拟机33和34的通信队列的迁移。虚拟机35的通信队列52初始驻留于共享存储器50中。紧接在通信队列52的迁移(及虚拟机33和34的通信队列的迁移)之前,系统管理程序40停止LPAR 30上互相访问对方的通信队列的所有虚拟机,以便它们在迁移期间不会试图向这些队列中的任何一个添加通信项目或从其移除通信项目(步骤1102)。在所示出的例子中,虚拟机33-35互相访问对方的通信队列,因此在步骤1102,系统管理程序40停止所有虚拟机33-35。但是,该停止的持续时间很短,例如有5毫秒,因为不存在物理卡移动。然后,系统管理程序40将虚拟机35的通信队列52从共享存储器50复制到共享存储设备560(步骤1104)(此处为了说明的目的在图5中将其重新标为通信队列52-2)。
下面解释虚拟机35的块存储器54的迁移的开始。在本发明的一个实施例中,每一个块存储器专用于它各自的虚拟机,即甚至是在同一LPAR中也没有其他虚拟机能够对另一虚拟机的块存储器进行写和读。在这一实施例中,不需要由于块存储器而将同一LPAR上的虚拟机作为一组来迁移。但是,仍然需要由于同一LPAR上的虚拟机互相对对方的通信队列的访问,而将它们作为一组来迁移。但是,在本发明的另一实施例中,同一LPAR中的每一虚拟机可访问同一LPAR中每一其他虚拟机的块存储器。在这另一实施例中,同一LPAR上可互相访问对方的块存储器的所有虚拟机需要同时迁移。这一组虚拟机将通常与能够互相访问对方的通信队列的虚拟机组一致,因此无论如何需要由于相互对对方通信队列的访问,而同时迁移。下面是对虚拟机35的块存储器54的迁移所作的解释。该解释同样适用于虚拟机33和34的块存储器的迁移。虚拟机35的块存储器54初始驻留于共享存储器50中。然后,系统管理程序40将虚拟机35的块存储器54从共享存储器50复制到共享存储设备560(步骤1108)(此处为了说明的目的在图5中将其重新标为块存储器54-2)。
接着,虚拟机35通过向系统管理程序40通知其希望被删除而将它自己从LPAR 30中删除(步骤1112)。作为响应,系统管理程序40在LPAR30中删除虚拟机35。(同样,被迁移的其他虚拟机33和34也从LPAR 30中删除它们自己。)
接着,系统管理程序41从LPAR 31中为要被迁移的虚拟机分配计算机资源(虚拟处理器、虚拟专用和共享存储器及虚拟专用和共享存储设备)(步骤1128)。系统管理程序41根据在作出迁移请求时的用户输入、或来自虚拟机35中的系统管理程序40或客户操作系统45的先前通知(该通知可通过TCP/IP、或任何其他的通信协议作出),知道虚拟机35正等待在LPAR 31中重新开始(并需要虚拟资源)。然后,系统管理程序41将虚拟机专用存储器内容35-2(包括通信队列52和块存储器54的虚拟地址)从共享存储设备560复制到最近分配的LPAR 31(虚拟)专用存储器(步骤1130)。这在LPAR 31中形成迁移后的虚拟机35M,尽管虚拟机35M还未重新开始/激活。迁移后的虚拟机35M与初始虚拟机35相同,尽管可能根据LPAR 31中虚拟机的总数和分配给LPAR 31的资源总量而在资源分配上存在某些变化。然后,虚拟机36或37中(其负责重新开始从LPAR30迁移来的虚拟机)的系统管理程序41或客户操作系统发出“重新开始”虚拟机35的命令(步骤1134)。作为响应,虚拟机35M中的客户操作系统45M和应用将在由迁移后的程序状态字(指针)所指示的位置重新开始执行。
然后,虚拟机36或37中负责虚拟机从LPAR 30的迁移的系统管理程序41或客户操作系统将虚拟机35的通信队列52-2从共享存储设备560复制到共享存储器51(步骤1140)(此处为了说明的目的在图5中将其重新标为52-3)。然后,虚拟机36或37中负责块存储器从LPAR 30到LPAR31的迁移的系统管理程序41或客户操作系统将块存储器54-2从共享存储设备560复制到共享存储器51(步骤1144)(此处为了说明的目的将其重新标为54-3)。
然后,迁移后的虚拟机35M中的客户操作系统45M请求系统管理程序41将通信队列52-3“附加”到LPAR 31中的虚拟机35M(步骤1150)。通过这一附加,虚拟机35M中的客户操作系统45M向系统管理程序41通知虚拟机35M将使用什么地址来引用它的通信队列52-3。(这些是当虚拟机35驻留于LPAR 30中时所使用的地址,这些地址随虚拟机35的专用存储器内容一起被复制到共享存储设备60。)。作为响应,系统管理程序41将这些地址与共享存储器51中通信队列52-3现在所存在的位置相关联。(同样,其他迁移后的虚拟机33M和34M也将请求系统管理程序41将它们各自的通信队列附加到共享存储器51。)因为所有的虚拟机33-35同时迁移,所以一旦重新开始,它们将使用与它们在迁移之前在LPAR 30中所使用的相同的虚拟地址来互相访问对方的通信队列。系统管理程序41将把这些地址附加到共享存储器51中的位置(而替代共享存储器50)。
然后,迁移后的虚拟机35M中的客户操作系统请求系统管理程序31将块存储器54-3“附加”到LPAR 31中的虚拟机35M(步骤1154)。通过这一附加,虚拟机35M中的客户操作系统向系统管理程序41通知虚拟机35M将为块存储器54-3使用什么地址。(这些是当虚拟机35驻留于LPAR 30中时所使用的地址,这些地址随虚拟机35的专用存储器内容一起被复制到共享存储设备60。)作为响应,系统管理程序41通过将这一块存储器分配给迁移后的虚拟机35M的虚拟共享存储器,而使得块存储器54-3对迁移后的虚拟机35M可用。如果其他虚拟机能够访问LPAR 30中虚拟机35的块存储器,则它们将使用与它们用于访问LPAR 30中的块存储器54的相同的虚拟地址来访问LPAR 31中虚拟机35M的块存储器。系统管理程序41将把这些虚拟地址转换到LPAR 31中的块存储器54-3。
接着,迁移后的虚拟机35M继续执行当虚拟机35在LPAR 30中被停止以便进行迁移时正在进行中的一个或多个工作项目,如果存在这样的工作项目的话。这些工作项目,如果存在的话,在由程序状态字所指示的在迁移期间它们被停止的位置处继续。如果虚拟机35M可用于执行来自通信队列52-3的另一工作项目(判断1190,“是”分支),则虚拟机35M从通信队列52-3中获取下一工作项目并对其进行处理,如下面所描述的那样(步骤1194)。如果通信队列52-3(或虚拟机35M的任何其他迁移后的工作队列)中不再有工作项目,则虚拟机只是等待指示有更多工作要做的中断(步骤1198)。
如上面所指出的,虚拟机36和37可随后通过35M经由例如IUCV的任何通信协议所启动的通信,获知虚拟机35M(及虚拟机33M和34M)。然后,如果虚拟机36和37希望通过共享存储器51中的通信队列52-3与虚拟机35M进行通信,则虚拟机36和37可向系统管理程序41查询以获知虚拟机35M的通信队列52-3的地址。同样,如果虚拟机35M(及虚拟机33M和34M)获知并希望与虚拟机36和37进行通信,则虚拟机35M(及虚拟机33M和34M)可向系统管理程序41查询以获知共享存储器51中虚拟机36和37的各自通信队列的地址。此外,如果虚拟机36和37希望访问共享存储器51中的块存储器54-3(如果允许的话),或者写数据或者读数据,则虚拟机36和37可向系统管理程序41查询以获知块存储器54-3中虚拟机35M的地址。同样,如果虚拟机35M获知并希望访问共享存储器51中虚拟机36和37的块存储器(如果允许的话),则虚拟机35M可向系统管理程序41查询,以获知共享存储器51中虚拟机36和37各自的块存储器的地址。
图6示出根据本发明另一实施例的计算机系统610,其包括两个单独的物理计算机120和121。计算机120包括系统管理程序40,该系统管理程序定义虚拟机33-35。与系统510不同,系统610中的计算机120未被划分为LPAR或者说是单个LPAR。与系统510不同,系统610中的计算机121未被划分为LPAR或者说是单个LPAR。计算机121包括系统管理程序41,该系统管理程序定义虚拟机36和37,并且随后还定义迁移的虚拟机33M、34M和35M。计算机120包括用于虚拟机33-35的共享存储器50。计算机121包括用于虚拟机36和37、以及随后所迁移的虚拟机33M、34M和35M的共享存储器51。计算机120和121均共享存储设备560,如系统510中那样。每一个计算机120和121中的每一虚拟机包括在它们各自共享存储器中的各自通信队列和块存储器。系统610中虚拟机的迁移与系统510中虚拟机的迁移相同,这里不需要重复。
图7示出共享存储器50或90中的通信队列52和块存储器54,及在迁移之前它们在所有计算机系统110、210、310、410、510和610中的使用。(该通信队列和块存储器在迁移之后当它们驻留于共享存储器51或90中时被同样地使用。)在所示出的情形下,通信队列52具有三个工作项目70、71和73。“通信”队列上的“工作”项目可以是如所示出的来自其他虚拟机的通信,或是由虚拟机35自身放置的以由虚拟机35执行的工作项目。(同样,其他虚拟机的“通信”队列可以是来自另外的虚拟机的通信或由将对其进行处理的该同一虚拟机所放置的工作项目。)在所示出的例子中,虚拟机33内的功能143(例如数据库功能)创建工作项目70,且然后将其提供给虚拟机33内的工作队列分配功能(“WQAF”)153。然后,WQAF 153根据该工作/通信项目的目标(即虚拟机35),确定该项目应被放置在队列52中并将其传送给队列52。同样,在所示出的例子中,虚拟机34内的功能144(诸如中断应用功能)创建工作项目71,然后将其传递给虚拟机34内的工作队列分配功能(“WQAF”)154。然后,WQAF 154根据该工作/通信项目的目标(即虚拟机35),确定该项目应被放置在队列52中,并将其传送给队列52。(虚拟机33-35中的任何一个创建工作项目72。)虚拟机35内的调度程序165判定虚拟机35什么时候可用于执行另一工作项目。那时,调度程序165将从队列52获取由队列指针所指示的工作项目,例如工作项目72。然后,调度程序165将对该工作项目进行分析,以确定虚拟机35内的适当功能来处理该工作项目。然后,调度程序165将把该工作项目传递给此功能以进行处理。因为队列52驻留于共享存储器内,且调度程序165在完成前一工作项目后或者由于其他原因当它有能力执行另一工作项目时检查队列52中新的工作项目,所以不需要一中断以在一个工作项目正在队列52上等待以便执行时通告调度程序165。但是,在本发明的一个实施例中,当虚拟机35没有工作项目要执行时其进入空闲状态。在这样的情况下,当新的工作项目到达虚拟机35的队列52中时,将该工作项目放置在队列52中的虚拟机向虚拟机35发送唤醒虚拟机35的中断。作为响应,虚拟机35然后将自动检查队列52中的新工作项目。
在所示出的系统110、210、310、410、510和610的实施例中,每个块存储器是共享存储器中的一个区域,该区域存储文件和列出该存储器区域中的文件的各自目录。虚拟机33、34和35的块存储器包括各自在共享存储器50或90中的区域,虚拟机36、37、33M、34M和35M的块存储器包括各自在共享存储器51或90中的区域。在图7中所示出的实施例中,不同的虚拟机可向另一虚拟机的块存储器写入块或从其读取块。这样,虚拟机33-35具有各自的设备驱动程序(未示出),以向虚拟机33-35的任何一个的块存储器写入数据块或从其读取数据。虚拟机33-35中的任何一个都可向任何一个其他虚拟机33-35中传输数据块,或使用它们的共享存储器来存储它自己的数据块。同样,虚拟机36、37、33M、34M、和35M具有各自的设备驱动程序(未示出),以向虚拟机36、37、33M、34M、和35M中任何一个的块存储器写入数据块或从其读取数据。这样,虚拟机36、37、33M、34M、和35M中的任何一个都可向任何一个其他虚拟机36、37、33M、34M、和35M中传输数据块,或使用共享存储器存储它自己的数据块。
图8示出块存储器的另一实施例,其中每一虚拟机具有专用的块存储器,而不能向任何其他虚拟机的块存储器写入或从其读取。这样,每一虚拟机可向它自己的块存储器写入数据块,以释放它的专用存储器,然后当在专用存储器中需要时再读回该数据块。
根据上面的描述,公开了体现本发明的计算机系统。但是,可作出大量的更改和替换,而不背离本发明的范围。例如,每一虚拟机可具有其他与上面描述的通信队列一起迁移的工作队列。因此,本发明是作为说明而非限制而进行公开的,应当参考下面的权利要求来确定本发明的范围。

Claims (32)

1.一种用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机中的第一逻辑分区迁移到第二逻辑分区的方法,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,在迁移之前,所述通信队列驻留于由所述第一计算机或所述第一逻辑分区中的所述第一虚拟机和第二虚拟机共享的第一共享存储器中,所述方法包括以下步骤:
在所述第一计算机或所述第一逻辑分区中停止所述第一虚拟机;
所述第一计算机或所述第一逻辑分区将所述操作系统和应用传送给所述第二计算机或所述第二逻辑分区,而所述第二计算机或所述第二逻辑分区将所述操作系统和应用写入所述第二计算机或所述第二逻辑分区中第一虚拟机专用的第二专用存储器中;
所述第一计算机或所述第一逻辑分区将所述通信队列传送给所述第二计算机或第二逻辑分区,而所述第二计算机或所述第二逻辑分区将所述通信队列写入由所述第二计算机或所述第二逻辑分区中的第二虚拟机以及第三和第四虚拟机共享的第二共享存储器中;以及
在所述第二计算机或第二逻辑分区中重新开始所述第一虚拟机。
2.如权利要求1所述的方法,进一步包括将所述通信队列从所述第二共享存储器附加到所述第二计算机或第二逻辑分区中的所述第一虚拟机的步骤。
3.如权利要求1所述的方法,进一步包括以下步骤:
所述第一计算机或所述第一逻辑分区将所述第一计算机或第一逻辑分区中的所述第一虚拟机所使用的所述通信队列的地址传送给所述第二计算机或所述第二逻辑分区,且所述第二计算机或所述第二逻辑分区将所述地址写入所述第二专用存储器中,以使所述第一虚拟机当在所述第二计算机或第二逻辑分区中重新开始时将使用所述地址来访问所述第二共享存储器中的所述通信队列。
4.如权利要求1所述的方法,进一步包括以下步骤:
所述第一计算机或所述第一逻辑分区将所述应用或所述操作系统的程序状态字传送给所述第二计算机或所述第二逻辑分区,以使所述第二计算机或第二逻辑分区中的所述第一虚拟机在重新开始时将使用所述程序状态字来从其停止所述应用或所述操作系统在所述第一计算机或所述第一逻辑分区中的执行的位置处重新开始所述应用或所述操作系统的执行。
5.如权利要求1所述的方法,进一步包括以下步骤:
在所述第一计算机或所述第一逻辑分区将所述通信队列传送给所述第二计算机或所述第二逻辑分区的步骤之前,所述第二虚拟机向所述通信队列提供工作项目;
在所述第一计算机或所述第一逻辑分区中停止所述第二虚拟机;
所述第一计算机或所述第一逻辑分区将所述第二虚拟机的操作系统和应用传送给所述第二计算机或所述第二逻辑分区,然后,将所述第二虚拟机的所述操作系统和应用写入所述第二计算机或所述第二逻辑分区中的所述第二虚拟机专用的第三专用存储器中;
所述第一计算机或所述第一逻辑分区将所述第二虚拟机的通信队列传送给所述第二计算机或所述第二逻辑分区,然后,将所述第二虚拟机的所述通信队列写入所述第二共享存储器中;以及
在所述第二计算机或第二逻辑分区中重新开始所述第二虚拟机,且所述第二计算机或所述第二逻辑分区中的所述第二虚拟机使用与所述第二虚拟机在向所述第一计算机或所述第一逻辑分区中的所述第一虚拟机的所述通信队列提供第一个所述工作项目时所使用的相同地址向所述第二计算机或所述第二逻辑分区中的所述第一虚拟机的所述通信队列提供另一工作项目。
6.一种用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机中的第一逻辑分区迁移到第二逻辑分区的系统,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,在迁移之前,所述通信队列驻留于由所述第一计算机或所述第一逻辑分区中的所述第一虚拟机和第二虚拟机共享的第一共享存储器中,所述系统包括:
用于在所述第一计算机或所述第一逻辑分区中停止所述第一虚拟机的第一装置;
所述第一计算机或所述第一逻辑分区中用于将所述操作系统和应用传送给所述第二计算机或所述第二逻辑分区的第二装置,及所述第二计算机或所述第二逻辑分区中用于将所述操作系统和应用写入所述第二计算机或所述第二逻辑分区中第一虚拟机专用的第二专用存储器中的第三装置;
所述第一计算机或所述第一逻辑分区中用于将所述通信队列传送给所述第二计算机或第二逻辑分区的第四装置,及所述第二计算机或所述第二逻辑分区中用于将所述通信队列写入由所述第二计算机或第二逻辑分区中的所述第二虚拟机以及第三和第四虚拟机共享的第二共享存储器中的第五装置;以及
用于在所述第二计算机或第二逻辑分区中重新开始所述第一虚拟机的第六装置。
7.如权利要求6所述的系统,进一步包括用于将所述通信队列从所述第二共享存储器附加到所述第二计算机或第二逻辑分区中的所述第一虚拟机的第七装置。
8.如权利要求6所述的系统,进一步包括:
所述第一计算机或所述第一逻辑分区中用于将所述第一计算机或第一逻辑分区中的所述第一虚拟机所使用的所述通信队列的地址传送给所述第二计算机或所述第二逻辑分区的第七装置,以及所述第二计算机或所述第二逻辑分区中用于将所述地址写入所述第二专用存储器中,以使所述第一虚拟机当在所述第二计算机或第二逻辑分区中重新开始时将使用所述地址访问所述第二共享存储器中的所述通信队列的第八装置。
9.如权利要求6所述的系统,进一步包括:
所述第一计算机或所述第一逻辑分区中用于将所述应用或所述操作系统的程序状态字传送给所述第二计算机或所述第二逻辑分区,以使所述第二计算机或第二逻辑分区中的所述第一虚拟机在重新开始时将使用所述程序状态字来从其停止所述应用或所述操作系统在所述第一计算机或所述第一逻辑分区中的执行的位置处重新开始所述应用或所述操作系统的执行的第七装置。
10.如权利要求6所述的系统,其中在所述第四装置将所述通信队列传送给所述第二计算机或所述第二逻辑分区之前,所述第二虚拟机向所述通信队列提供工作项目;并且进一步包括:
用于在所述第一计算机或所述第一逻辑分区中停止所述第二虚拟机的第七装置;
所述第一计算机或所述第一逻辑分区中用于将所述第二虚拟机的操作系统和应用传送给所述第二计算机或所述第二逻辑分区的第八装置,以及用于将所述第二虚拟机的所述操作系统和应用写入所述第二计算机或所述第二逻辑分区中的所述第二虚拟机专用的第三专用存储器中的第九装置;
所述第一计算机或所述第一逻辑分区中用于将所述第二虚拟机的通信队列传送给所述第二计算机或所述第二逻辑分区的第十装置,以及用于将所述第二虚拟机的所述通信队列写入所述第二共享存储器中的第十一装置;以及
用于在所述第二计算机或第二逻辑分区中重新开始所述第二虚拟机的第十二装置,并且其中所述第二计算机或所述第二逻辑分区中的所述第二虚拟机使用与所述第二虚拟机在向所述第一计算机或所述第一逻辑分区中的所述第一虚拟机的所述通信队列提供第一个所述工作项目时所使用的相同地址向所述第二计算机或所述第二逻辑分区中的所述第一虚拟机的所述通信队列提供另一工作项目。
11.一种用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机中的第一逻辑分区迁移到第二逻辑分区的方法,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,在迁移之前,所述通信队列驻留于由所述第一计算机或所述第一逻辑分区中的所述第一虚拟机和第二虚拟机共享的第一共享存储器中,所述方法包括以下步骤:
将所述操作系统和应用从所述第一专用存储器复制到由所述第一和第二计算机或所述第一和第二逻辑分区共享的共享存储设备;
将所述通信队列从所述第一共享存储器复制到所述共享存储设备;
将所述操作系统和应用从所述共享存储设备复制到所述第二计算机或第二逻辑分区中所述第一虚拟机专用的第二专用存储器,并在所述第二计算机或第二逻辑分区中重新开始所述第一虚拟机;以及
将所述通信队列从所述共享存储设备复制到由所述第二计算机或第二逻辑分区中的第一虚拟机以及第三和第四虚拟机共享的第二共享存储器。
12.如权利要求11所述的方法,进一步包括将所述通信队列从所述第二共享存储器附加到所述第二计算机或第二逻辑分区中的所述第一虚拟机的步骤。
13.如权利要求11所述的方法,进一步包括以下步骤:
将所述第一计算机或第一逻辑分区中的所述第一虚拟机所使用的所述通信队列的地址从所述第一专用存储器复制到所述共享存储设备,且然后复制到所述第二专用存储器,以使所述第一虚拟机在所述第二计算机或第二逻辑分区中将使用所述地址访问所述第二共享存储器中的所述通信队列。
14.如权利要求11所述的方法,进一步包括以下步骤:
在将所述应用和所述操作系统复制到所述共享存储设备的步骤之后,停止所述应用在所述第一计算机或所述第一逻辑分区中的执行;
将所述应用或所述操作系统的程序状态字从所述第一专用存储器复制到所述共享存储设备,且然后复制到所述第二专用存储器,以使所述第二计算机或第二逻辑分区中的所述第一虚拟机在重新开始时将使用所述程序状态字来从其停止所述应用或所述操作系统在所述第一计算机或所述第一逻辑分区中的执行的位置处重新开始所述应用或所述操作系统的执行。
15.如权利要求11所述的方法,进一步包括以下步骤:
在将所述通信队列从所述第一共享存储器复制到所述共享存储设备的步骤之前,所述第二虚拟机向所述通信队列提供工作项目;
将所述第二虚拟机的操作系统和应用从所述第一专用存储器复制到所述共享存储设备;
将所述第二虚拟机的通信队列从所述第一共享存储器复制到所述共享存储设备;
将所述第二虚拟机的所述操作系统和应用从所述共享存储设备复制到所述第二计算机或所述第二逻辑分区中所述第二虚拟机专用的第三专用存储器,并在所述第二计算机或第二逻辑分区中重新开始所述第二虚拟机;以及
将所述第二虚拟机的所述通信队列从所述共享存储设备复制到所述第二共享存储器,以使所述第二计算机或所述第二逻辑分区中的所述第一虚拟机可获取由所述第二虚拟机在所述第一实计算机或所述第一逻辑分区中时所提供的所述工作项目,且所述第二虚拟机当在所述第二计算机或所述第二逻辑分区中时可使用与所述第二虚拟机当在所述第一计算机或所述第一逻辑分区中向所述通信队列提供第一个所述工作项目时所使用的相同地址向所述通信队列提供另一工作项目。
16.如权利要求11所述的方法,进一步包括向所述第二实计算机或所述第二逻辑分区通知所述共享存储设备中的所述操作系统、应用和通信队列的步骤。
17.一种用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机中的第一逻辑分区迁移到第二逻辑分区的系统,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,在迁移之前,所述通信队列驻留于由所述第一计算机或所述第一逻辑分区中的所述第一虚拟机和第二虚拟机共享的第一共享存储器中,所述系统包括:
用于将所述操作系统和应用从所述第一专用存储器复制到由所述第一和第二计算机或所述第一和第二逻辑分区共享的共享存储设备的第一装置;
用于将所述通信队列从所述第一共享存储器复制到所述共享存储设备的第二装置;
用于将所述操作系统和应用从所述共享存储设备复制到所述第二计算机或第二逻辑分区中所述第一虚拟机专用的第二专用存储器,并在所述第二计算机或第二逻辑分区中重新开始所述第一虚拟机的第三装置;以及
用于将所述通信队列从所述共享存储设备复制到由所述第二计算机或第二逻辑分区中的第一虚拟机以及第三和第四虚拟机共享的第二共享存储器的第四装置。
18.如权利要求17所述的系统,进一步包括用于将所述通信队列从所述第二共享存储器附加到所述第二计算机或第二逻辑分区中的所述第一虚拟机的第五装置。
19.如权利要求17所述的系统,进一步包括:
用于将所述第一计算机或第一逻辑分区中的所述第一虚拟机所使用的所述通信队列的地址从所述第一专用存储器复制到所述共享存储设备,且然后复制到所述第二专用存储器,以使所述第一虚拟机在所述第二计算机或第二逻辑分区中将使用所述地址访问所述第二共享存储器中的所述通信队列的第五装置。
20.如权利要求17所述的系统,进一步包括:
用于在所述第一装置将所述应用和所述操作系统复制到所述共享存储设备之后,停止所述应用在所述第一计算机或所述第一逻辑分区中的执行的第五装置;以及
用于将所述应用或所述操作系统的程序状态字从所述第一专用存储器复制到所述共享存储设备,且然后复制到所述第二专用存储器,以使所述第二计算机或第二逻辑分区中的所述第一虚拟机在重新开始时将使用所述程序状态字从其停止所述应用或所述操作系统在所述第一计算机或所述第一逻辑分区中的执行的位置处重新开始所述应用或所述操作系统的执行的第六装置。
21.如权利要求17所述的系统,其中在将所述通信队列从所述第一共享存储器复制到所述共享存储设备之前,所述第二虚拟机向所述通信队列提供工作项目;并且进一步包括:
用于将所述第二虚拟机的操作系统和应用从所述第一专用存储器复制到所述共享存储设备的第五装置;
用于将所述第二虚拟机的通信队列从所述第一共享存储器复制到所述共享存储设备的第六装置;
用于将所述第二虚拟机的所述操作系统和应用从所述共享存储设备复制到所述第二计算机或第二逻辑分区中所述第二虚拟机专用的第三专用存储器,并在所述第二计算机或第二逻辑分区中重新开始所述第二虚拟机的第七装置;以及
用于将所述第二虚拟机的所述通信队列从所述共享存储设备复制到所述第二共享存储器,以使所述第二计算机或所述第二逻辑分区中的所述第一虚拟机可获取由所述第二虚拟机在所述第一实计算机或所述第一逻辑分区中时所提供的所述工作项目的第八装置,且所述第二虚拟机当在所述第二计算机或所述第二逻辑分区中时可使用与所述第二虚拟机当在所述第一计算机或所述第一逻辑分区中向所述通信队列提供第一个所述工作项目时所使用的相同地址向所述通信队列提供另一工作项目。
22.如权利要求17所述的系统,进一步包括用于向所述第二实计算机或所述第二逻辑分区通知所述共享存储设备中的所述操作系统、应用和通信队列的第五装置。
23.一种用于将第一虚拟机从第一实计算机迁移到第二实计算机或从同一实计算机中的第一逻辑分区迁移到第二逻辑分区的方法,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,所述方法包括以下步骤:
将所述第一虚拟机的通信队列存储于由所述第一和第二计算机或所述第一和第二逻辑分区所共享的共享存储器中;
将所述操作系统和应用从所述第一专用存储器复制到所述共享存储器;以及
将所述操作系统和应用从所述共享存储器复制到所述第二计算机或第二逻辑分区中所述第一虚拟机专用的第二专用存储器,并在所述第二计算机或第二逻辑分区中重新开始所述第一虚拟机。
24.如权利要求23所述的方法,进一步包括将所述通信队列从所述共享存储器附加到所述第二计算机或第二逻辑分区中的所述第一虚拟机的步骤。
25.如权利要求23所述的方法,进一步包括以下步骤:
将所述第一计算机或第一逻辑分区中的所述第一虚拟机所使用的所述通信队列的地址从所述第一专用存储器复制到所述共享存储器,且然后复制到所述第二专用存储器,以使所述第一虚拟机在所述第二计算机或第二逻辑分区中将使用所述地址访问所述共享存储器中的所述通信队列。
26.如权利要求23所述的方法,进一步包括以下步骤:
在将所述应用和所述操作系统复制到所述共享存储器的步骤之后,停止所述应用在所述第一计算机或所述第一逻辑分区中的执行;以及
将所述应用或所述操作系统的程序状态字从所述第一专用存储器复制到所述共享存储器,且然后复制到所述第二专用存储器,以使所述第二计算机或第二逻辑分区中的所述第一虚拟机在重新开始时将使用所述程序状态字从其停止所述应用或所述操作系统在所述第一计算机或所述第一逻辑分区中的执行的位置处重新开始所述应用或所述操作系统的执行。
27.如权利要求23所述的方法,进一步包括以下步骤:
在将所述应用和所述操作系统复制到所述共享存储器的步骤之后,停止所述应用在所述第一计算机或所述第一逻辑分区中的执行;以及
在停止所述应用在所述第一计算机或所述第一逻辑分区中的执行的步骤之前,所述第一计算机或所述第一逻辑分区中的所述第二虚拟机向所述通信队列提供第一工作项目;以及
在所述第二计算机或所述第二逻辑分区中重新开始所述应用的执行的步骤之后,所述第一计算机或所述第一逻辑分区中的所述第二虚拟机向所述通信队列提供第二工作项目;并且其中所述第二虚拟机使用用于所述通信队列的相同地址向所述通信队列提供所述第一和第二工作项目。
28.一种用于将第一虚拟机从第一实计算机迁移到第二实计算机或从同一实计算机中的第一逻辑分区迁移到第二逻辑分区的系统,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,所述系统包括:
用于将所述第一虚拟机的通信队列存储于由所述第一和第二计算机或所述第一和第二逻辑分区所共享的共享存储器中的第一装置;
用于将所述操作系统和应用从所述第一专用存储器复制到所述共享存储器的第二装置;以及
用于将所述操作系统和应用从所述共享存储器复制到所述第二计算机或第二逻辑分区中所述第一虚拟机专用的第二专用存储器,并在所述第二计算机或第二逻辑分区中重新开始所述第一虚拟机的第三装置。
29.如权利要求28所述的系统,进一步包括用于将所述通信队列从所述共享存储器附加到所述第二计算机或第二逻辑分区中的所述第一虚拟机的第四装置。
30.如权利要求28所述的系统,进一步包括:
用于将所述第一计算机或第一逻辑分区中的所述第一虚拟机所使用的所述通信队列的地址从所述第一专用存储器复制到所述共享存储器,且然后复制到所述第二专用存储器,以使所述第一虚拟机在所述第二计算机或第二逻辑分区中将使用所述地址来访问所述共享存储器中的所述通信队列的第四装置。
31.如权利要求28所述的系统,进一步包括:
用于在所述第一装置将所述应用和所述操作系统复制到所述共享存储器之后,停止所述应用在所述第一计算机或所述第一逻辑分区中的执行的第四装置;以及
用于将所述应用或所述操作系统的程序状态字从所述第一专用存储器复制到所述共享存储器,且然后复制到所述第二专用存储器,以使所述第二计算机或第二逻辑分区中的所述第一虚拟机在重新开始时将使用所述程序状态字从其停止所述应用或所述操作系统在所述第一计算机或所述第一逻辑分区中的执行的位置处重新开始所述应用或所述操作系统的执行的第五装置。
32.如权利要求28所述的系统,进一步包括:
用于在所述第一装置将所述应用和所述操作系统复制到所述共享存储器之后,停止所述应用在所述第一计算机或所述第一逻辑分区中的执行的第四装置;并且其中
在所述第四装置停止所述应用在所述第一计算机或所述第一逻辑分区中的执行之前,所述第一计算机或所述第一逻辑分区中的所述第二虚拟机向所述通信队列提供第一工作项目;以及
在所述第三装置在所述第二计算机或所述第二逻辑分区中重新开始所述应用的执行之后,所述第一计算机或所述第一逻辑分区中的所述第二虚拟机向所述通信队列提供第二工作项目;以及
所述第二虚拟机使用用于所述通信队列的相同地址向所述通信队列提供所述第一和第二工作项目。
CNB200510055454XA 2004-05-11 2005-03-17 迁移虚拟机的系统、方法和程序 Active CN1333341C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/843,931 2004-05-11
US10/843,931 US7257811B2 (en) 2004-05-11 2004-05-11 System, method and program to migrate a virtual machine

Publications (2)

Publication Number Publication Date
CN1696902A CN1696902A (zh) 2005-11-16
CN1333341C true CN1333341C (zh) 2007-08-22

Family

ID=35349639

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510055454XA Active CN1333341C (zh) 2004-05-11 2005-03-17 迁移虚拟机的系统、方法和程序

Country Status (4)

Country Link
US (2) US7257811B2 (zh)
JP (1) JP4769484B2 (zh)
CN (1) CN1333341C (zh)
TW (1) TWI370974B (zh)

Families Citing this family (373)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
WO2005086802A2 (en) 2004-03-08 2005-09-22 Proxense, Llc Linked account system using personal digital key (pdk-las)
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
EP1719056A4 (en) * 2004-08-26 2009-04-08 Availigent Inc METHOD AND SYSTEM FOR PROVIDING HIGH AVAILABILITY TO COMPUTING APPLICATIONS
JP4295184B2 (ja) * 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム
US8464250B1 (en) * 2004-09-23 2013-06-11 Transcontinental Events, Llc System and method for on-demand cloning of virtual machines
US20060085784A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Systems and methods for authoring and accessing computer-based materials using virtual machines
US7536525B2 (en) * 2004-11-09 2009-05-19 Dell Products L.P. Virtual machine hot cloning including freezing and unfreezing memory in a distributed network
US8924499B2 (en) * 2004-12-14 2014-12-30 International Business Machines Corporation Operating system migration with minimal storage area network reconfiguration
AU2005319019A1 (en) 2004-12-20 2006-06-29 Proxense, Llc Biometric personal data key (PDK) authentication
US7979862B2 (en) * 2004-12-21 2011-07-12 Hewlett-Packard Development Company, L.P. System and method for replacing an inoperable master workload management process
US8799891B2 (en) * 2005-03-02 2014-08-05 Hewlett-Packard Development Company, L.P. System and method for attributing CPU usage of a virtual machine monitor to a corresponding virtual machine
US8543636B1 (en) * 2005-04-01 2013-09-24 Sprint Communications Company L.P. System migration using hardware virtualization
WO2006108148A2 (en) * 2005-04-06 2006-10-12 Movai Technologies, Inc. Transportable computing environment
US7607129B2 (en) * 2005-04-07 2009-10-20 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
US7640591B1 (en) * 2005-04-22 2009-12-29 Sun Microsystems, Inc. Method and apparatus for limiting denial of service attack by limiting traffic for hosts
US7681200B2 (en) * 2005-07-22 2010-03-16 Microsoft Corporation Secure hardware desktop buffer composition
US8082468B1 (en) 2008-12-15 2011-12-20 Open Invention Networks, Llc Method and system for providing coordinated checkpointing to a group of independent computer applications
US8752049B1 (en) 2008-12-15 2014-06-10 Open Invention Network, Llc Method and computer readable medium for providing checkpointing to windows application groups
US7746783B1 (en) * 2005-09-14 2010-06-29 Oracle America, Inc. Method and apparatus for monitoring packets at high data rates
WO2007036072A1 (en) 2005-09-29 2007-04-05 Intel Corporation Apparatus and method for expedited virtual machine (vm) launch in vm cluster environment
US8549646B2 (en) * 2005-10-20 2013-10-01 The Trustees Of Columbia University In The City Of New York Methods, media and systems for responding to a denial of service attack
US20070245334A1 (en) * 2005-10-20 2007-10-18 The Trustees Of Columbia University In The City Of New York Methods, media and systems for maintaining execution of a software process
US20070233880A1 (en) * 2005-10-20 2007-10-04 The Trustees Of Columbia University In The City Of New York Methods, media and systems for enabling a consistent web browsing session on different digital processing devices
US8280944B2 (en) * 2005-10-20 2012-10-02 The Trustees Of Columbia University In The City Of New York Methods, media and systems for managing a distributed application running in a plurality of digital processing devices
US7680643B2 (en) * 2005-11-17 2010-03-16 International Business Machines Corporation Method for carrying multiple suspended runtime images
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US9113464B2 (en) 2006-01-06 2015-08-18 Proxense, Llc Dynamic cell size variation via wireless link parameter adjustment
US8521912B2 (en) * 2006-01-12 2013-08-27 Broadcom Corporation Method and system for direct device access
US7788665B2 (en) * 2006-02-28 2010-08-31 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US7814495B1 (en) 2006-03-31 2010-10-12 V Mware, Inc. On-line replacement and changing of virtualization software
CN101059768B (zh) * 2006-04-17 2011-01-05 北京软通科技有限责任公司 实现操作系统备用的系统及方法
US8412949B2 (en) 2006-05-05 2013-04-02 Proxense, Llc Personal digital key initialization and registration for secure transactions
US7653794B2 (en) * 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
CA2547047A1 (en) * 2006-05-15 2007-11-15 Embotics Corporation Management of virtual machines using mobile autonomic elements
US7823152B2 (en) * 2006-06-06 2010-10-26 International Business Machines Corporation System and method for collaborative hosting of applications, virtual machines, and data objects
US8539137B1 (en) * 2006-06-09 2013-09-17 Parallels IP Holdings GmbH System and method for management of virtual execution environment disk storage
US8607009B2 (en) * 2006-07-13 2013-12-10 Microsoft Corporation Concurrent virtual machine snapshots and restore
US7490191B2 (en) * 2006-09-22 2009-02-10 Intel Corporation Sharing information between guests in a virtual machine environment
US7996835B2 (en) * 2006-10-10 2011-08-09 International Business Machines Corporation System, method and program for managing communication with multiple configurations for virtual machine
US9038062B2 (en) * 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8458695B2 (en) 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
US8612971B1 (en) 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US8949825B1 (en) 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8752045B2 (en) * 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US9086917B1 (en) 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US9015703B2 (en) * 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8234640B1 (en) * 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US20080104586A1 (en) * 2006-10-27 2008-05-01 Microsoft Corporation Allowing Virtual Machine to Discover Virtual Status Thereof
US8903888B1 (en) * 2006-10-27 2014-12-02 Hewlett-Packard Development Company, L.P. Retrieving data of a virtual machine based on demand to migrate the virtual machine between physical machines
US9269221B2 (en) 2006-11-13 2016-02-23 John J. Gobbi Configuration of interfaces for a location detection system and application
US8165177B2 (en) * 2006-12-22 2012-04-24 Lenovo (Singapore) Pte. Ltd. System and method for hybrid virtual machine monitor file system operations
US7685401B2 (en) * 2006-12-27 2010-03-23 Intel Corporation Guest to host address translation for devices to access memory in a partitioned system
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US20080186990A1 (en) * 2007-02-02 2008-08-07 International Business Machines Corporation Translation module, method and computer program product for providing multiple infiniband address support for vm migration using infiniband address translation
US20080189432A1 (en) * 2007-02-02 2008-08-07 International Business Machines Corporation Method and system for vm migration in an infiniband network
US8554981B2 (en) 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
US20080201455A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US9183524B2 (en) * 2007-02-21 2015-11-10 Novell, Inc. Imaged-based method for transport and authentication of virtualized workflows
EP1962192A1 (en) * 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
JP5246388B2 (ja) * 2007-03-08 2013-07-24 日本電気株式会社 仮想装置構成システム、及びその方法
US8370837B2 (en) 2007-03-23 2013-02-05 Parallels IP Holdings GmbH Blocking file system for on-the-fly migration of a container with an NFS mount
US8479194B2 (en) 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8046540B2 (en) * 2007-04-26 2011-10-25 Sap Ag Shared closures on demand
US8966474B2 (en) * 2007-04-30 2015-02-24 Hewlett-Packard Development Company, L.P. Managing virtual machines using shared image
US7904564B2 (en) * 2007-05-21 2011-03-08 International Business Machines Corporation Method and apparatus for migrating access to block storage
JP4744480B2 (ja) 2007-05-30 2011-08-10 株式会社日立製作所 仮想計算機システム
US8782322B2 (en) * 2007-06-21 2014-07-15 International Business Machines Corporation Ranking of target server partitions for virtual server mobility operations
US9495152B2 (en) 2007-06-22 2016-11-15 Red Hat, Inc. Automatic baselining of business application service groups comprised of virtual machines
US9727440B2 (en) 2007-06-22 2017-08-08 Red Hat, Inc. Automatic simulation of virtual machine performance
US8156378B1 (en) 2010-10-15 2012-04-10 Red Hat, Inc. System and method for determination of the root cause of an overall failure of a business application service
US8825838B2 (en) 2010-10-15 2014-09-02 Red Hat, Inc. Identification of business process application service groups
US8539570B2 (en) * 2007-06-22 2013-09-17 Red Hat, Inc. Method for managing a virtual machine
US9678803B2 (en) * 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US8938489B2 (en) 2007-06-22 2015-01-20 Red Hat, Inc. Monitoring system performance changes based on configuration modification
US9569330B2 (en) 2007-06-22 2017-02-14 Red Hat, Inc. Performing dependency analysis on nodes of a business application service group
US8336108B2 (en) * 2007-06-22 2012-12-18 Red Hat, Inc. Method and system for collaboration involving enterprise nodes
US8984504B2 (en) * 2007-06-22 2015-03-17 Red Hat, Inc. Method and system for determining a host machine by a virtual machine
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
US8429748B2 (en) * 2007-06-22 2013-04-23 Red Hat, Inc. Network traffic analysis using a dynamically updating ontological network description
US8656009B2 (en) 2010-10-15 2014-02-18 Red Hat, Inc. Indicating an impact of a change in state of a node
US8949827B2 (en) * 2007-06-22 2015-02-03 Red Hat, Inc. Tracking a virtual machine
US8191141B2 (en) 2007-06-22 2012-05-29 Red Hat, Inc. Method and system for cloaked observation and remediation of software attacks
US8015383B2 (en) * 2007-06-27 2011-09-06 International Business Machines Corporation System, method and program to manage virtual memory allocated by a virtual machine control program
US20090007099A1 (en) * 2007-06-27 2009-01-01 Cummings Gregory D Migrating a virtual machine coupled to a physical device
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
CN100489787C (zh) * 2007-07-10 2009-05-20 北京大学 一种虚拟机的外存在线迁移方法
US8612974B2 (en) * 2007-07-16 2013-12-17 Red Hat, Inc. Dynamic service topology
US8280974B2 (en) * 2007-07-31 2012-10-02 Hewlett-Packard Development Company, L.P. Migrating workloads using networked attached memory
US8374929B1 (en) 2007-08-06 2013-02-12 Gogrid, LLC System and method for billing for hosted services
US8694990B2 (en) * 2007-08-27 2014-04-08 International Business Machines Corporation Utilizing system configuration information to determine a data migration order
US20090063753A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Method for utilizing data access patterns to determine a data migration order
US8661211B2 (en) * 2007-08-27 2014-02-25 International Business Machines Corporation Method for migrating contents of a memory on a virtual machine
US20090063752A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Utilizing data access patterns to determine a data migration order
US8671256B2 (en) * 2007-08-27 2014-03-11 International Business Machines Corporation Migrating contents of a memory on a virtual machine
US9274949B2 (en) * 2007-08-27 2016-03-01 International Business Machines Corporation Tracking data updates during memory migration
US8127296B2 (en) * 2007-09-06 2012-02-28 Dell Products L.P. Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration
US8191063B2 (en) * 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US8468230B2 (en) * 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
US8659427B2 (en) 2007-11-09 2014-02-25 Proxense, Llc Proximity-sensor supporting multiple application services
US8117418B1 (en) * 2007-11-16 2012-02-14 Tilera Corporation Method and system for managing virtual addresses of a plurality of processes corresponding to an application
US8418173B2 (en) 2007-11-27 2013-04-09 Manageiq, Inc. Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8407688B2 (en) 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US8171528B1 (en) 2007-12-06 2012-05-01 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
WO2009079666A1 (en) 2007-12-19 2009-06-25 Proxense, Llc Security system and method for controlling access to computing resources
US8332847B1 (en) * 2008-01-10 2012-12-11 Hewlett-Packard Development Company, L. P. Validating manual virtual machine migration
US8185894B1 (en) * 2008-01-10 2012-05-22 Hewlett-Packard Development Company, L.P. Training a virtual machine placement controller
KR101496325B1 (ko) * 2008-01-16 2015-03-04 삼성전자주식회사 가상 머신의 상태를 저장, 복원하는 방법 및 장치
WO2009102979A2 (en) 2008-02-14 2009-08-20 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
JP5089429B2 (ja) * 2008-02-21 2012-12-05 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US8495609B2 (en) * 2008-02-25 2013-07-23 Sas Institute, Inc. Methods, systems, and computer program products for taking a snapshot of installed software on a data processing system as part of a software update process
US20090222640A1 (en) * 2008-02-28 2009-09-03 Bauman Ellen M Memory Migration in a Logically Partitioned Computer System
US9015704B2 (en) * 2008-03-24 2015-04-21 International Business Machines Corporation Context agent injection using virtual machine introspection
US9015705B2 (en) * 2008-03-28 2015-04-21 International Business Machines Corporation Computing device having a migrated virtual machine accessing physical storage space on another computing device
US8281318B2 (en) * 2008-03-31 2012-10-02 Vmware, Inc. Systems and methods for inter process communication based on queues
US8646052B2 (en) * 2008-03-31 2014-02-04 Intel Corporation Method and apparatus for providing a secure display window inside the primary display
US11120449B2 (en) 2008-04-08 2021-09-14 Proxense, Llc Automated service-based order processing
US8307405B2 (en) * 2008-04-28 2012-11-06 International Business Machines Corporation Methods, hardware products, and computer program products for implementing zero-trust policy in storage reports
US8336099B2 (en) * 2008-05-08 2012-12-18 International Business Machines Corporation Methods, hardware products, and computer program products for implementing introspection data comparison utilizing hypervisor guest introspection data
US9032397B2 (en) * 2008-05-28 2015-05-12 Hewlett-Packard Development Company, L.P. Virtual machine migration with direct physical access control
US20090307711A1 (en) * 2008-06-05 2009-12-10 International Business Machines Corporation Integrating computation and communication on server attached accelerators
US8195897B2 (en) * 2008-06-09 2012-06-05 International Business Machines Corporation Migrating memory data between partitions
US8225068B2 (en) * 2008-06-09 2012-07-17 International Business Machines Corporation Virtual real memory exportation for logical partitions
US7809875B2 (en) * 2008-06-30 2010-10-05 Wind River Systems, Inc. Method and system for secure communication between processor partitions
US8099615B2 (en) * 2008-06-30 2012-01-17 Oracle America, Inc. Method and system for power management in a virtual machine environment without disrupting network connectivity
CN101620462A (zh) * 2008-07-03 2010-01-06 鸿富锦精密工业(深圳)有限公司 计算机装置
US8327355B2 (en) * 2008-07-15 2012-12-04 International Business Machines Corporation Method, computer program product, and hardware product for supporting virtual machine guest migration overcommit
JP5391601B2 (ja) * 2008-07-18 2014-01-15 富士通株式会社 資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラム
JP5222651B2 (ja) * 2008-07-30 2013-06-26 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムの制御方法
JP5262404B2 (ja) * 2008-08-04 2013-08-14 株式会社日立製作所 複合型計算機及び複合型計算機の制御方法
US8019732B2 (en) * 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US9715401B2 (en) * 2008-09-15 2017-07-25 International Business Machines Corporation Securing live migration of a virtual machine from a secure virtualized computing environment, over an unsecured network, to a different virtualized computing environment
US8656018B1 (en) 2008-09-23 2014-02-18 Gogrid, LLC System and method for automated allocation of hosting resources controlled by different hypervisors
US8549543B2 (en) * 2008-09-30 2013-10-01 International Business Machines Corporation Virtualize, checkpoint, and restart POSIX IPC objects during checkpointing and restarting of a software partition
US8266636B2 (en) * 2008-09-30 2012-09-11 International Business Machines Corporation Virtualize, checkpoint, and restart system V IPC objects during checkpointing and restarting of a software partition
US7805516B2 (en) * 2008-10-14 2010-09-28 Dell Products L.P. Enabling throttling of resources on a virtualization enabled information handling system
CN101727331B (zh) * 2008-10-24 2013-03-20 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
TWI397010B (zh) * 2008-12-10 2013-05-21 Inst Information Industry Virtual machine module scheduling, scheduling methods and computer program products
US8291414B2 (en) * 2008-12-11 2012-10-16 International Business Machines Corporation Shared resource service provisioning using a virtual machine manager
US8782670B2 (en) * 2009-04-10 2014-07-15 Open Invention Network, Llc System and method for application isolation
US8904004B2 (en) * 2009-04-10 2014-12-02 Open Invention Network, Llc System and method for maintaining mappings between application resources inside and outside isolated environments
US8341631B2 (en) 2009-04-10 2012-12-25 Open Invention Network Llc System and method for application isolation
US8464256B1 (en) 2009-04-10 2013-06-11 Open Invention Network, Llc System and method for hierarchical interception with isolated environments
US8281317B1 (en) 2008-12-15 2012-10-02 Open Invention Network Llc Method and computer readable medium for providing checkpointing to windows application groups
US8880473B1 (en) 2008-12-15 2014-11-04 Open Invention Network, Llc Method and system for providing storage checkpointing to a group of independent computer applications
US8752048B1 (en) 2008-12-15 2014-06-10 Open Invention Network, Llc Method and system for providing checkpointing to windows application groups
US8539488B1 (en) 2009-04-10 2013-09-17 Open Invention Network, Llc System and method for application isolation with live migration
US8862538B2 (en) * 2008-12-18 2014-10-14 International Business Machines Corporation Maintaining a network connection of a workload during transfer
US20100161922A1 (en) * 2008-12-19 2010-06-24 Richard William Sharp Systems and methods for facilitating migration of virtual machines among a plurality of physical machines
US9594582B2 (en) * 2009-01-05 2017-03-14 International Business Machines Corporation Detection and management of dynamic migration of virtual environments
CN101464812B (zh) * 2009-01-06 2012-05-30 北京航空航天大学 一种虚拟机迁移方法
WO2010079587A1 (ja) * 2009-01-06 2010-07-15 三菱電機株式会社 管理装置及び管理方法及びプログラム
US8904381B2 (en) * 2009-01-23 2014-12-02 Hewlett-Packard Development Company, L.P. User defined data partitioning (UDP)—grouping of data based on computation model
US8307367B2 (en) * 2009-03-05 2012-11-06 International Business Machines Corporation Smart scheduling of automatic partition migration by the use of timers
US8194680B1 (en) * 2009-03-11 2012-06-05 Amazon Technologies, Inc. Managing communications for modified computer networks
US8595737B2 (en) * 2009-03-17 2013-11-26 Hitachi, Ltd. Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount
JP4947081B2 (ja) 2009-03-30 2012-06-06 日本電気株式会社 パススルーi/oデバイスを伴うlparの動的マイグレーション装置、その方法及びそのプログラム
US9817695B2 (en) * 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
US10452817B1 (en) * 2009-04-08 2019-10-22 Trend Micro Inc File input/output redirection in an API-proxy-based application emulator
US8418236B1 (en) 2009-04-10 2013-04-09 Open Invention Network Llc System and method for streaming application isolation
US8555360B1 (en) 2009-04-10 2013-10-08 Open Invention Network Llc System and method for on-line and off-line streaming application isolation
US9577893B1 (en) 2009-04-10 2017-02-21 Open Invention Network Llc System and method for cached streaming application isolation
US9058599B1 (en) 2009-04-10 2015-06-16 Open Invention Network, Llc System and method for usage billing of hosted applications
US10419504B1 (en) 2009-04-10 2019-09-17 Open Invention Network Llc System and method for streaming application isolation
US11538078B1 (en) 2009-04-10 2022-12-27 International Business Machines Corporation System and method for usage billing of hosted applications
JP5218252B2 (ja) * 2009-04-24 2013-06-26 富士通株式会社 バススイッチ,コンピュータシステム及びコンピュータシステムの管理方法
JP5617839B2 (ja) * 2009-04-24 2014-11-05 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US20120030306A1 (en) * 2009-04-28 2012-02-02 Nobuharu Kami Rapid movement system for virtual devices in a computing system, management device, and method and program therefor
US8813048B2 (en) 2009-05-11 2014-08-19 Accenture Global Services Limited Single code set applications executing in a multiple platform system
US8832699B2 (en) * 2009-05-11 2014-09-09 Accenture Global Services Limited Migrating processes operating on one platform to another platform in a multi-platform system
JP2010272055A (ja) * 2009-05-25 2010-12-02 Sony Corp 情報処理装置および方法、並びにプログラム
CN101996089A (zh) * 2009-08-21 2011-03-30 联想(北京)有限公司 一种计算机及区域增量的处理方法
US8832459B2 (en) * 2009-08-28 2014-09-09 Red Hat, Inc. Securely terminating processes in a cloud computing environment
US8635395B2 (en) * 2009-09-14 2014-01-21 Vmware, Inc. Method of suspending and resuming virtual machines
US8495629B2 (en) * 2009-09-24 2013-07-23 International Business Machines Corporation Virtual machine relocation system and associated methods
US8700752B2 (en) * 2009-11-03 2014-04-15 International Business Machines Corporation Optimized efficient LPAR capacity consolidation
US20110113426A1 (en) * 2009-11-09 2011-05-12 Hsiang-Tsung Kung Apparatuses for switching the running of a virtual machine between multiple computer devices belonging to the same computer platform and the associated switching methods
US8370560B2 (en) * 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
DE102009053643A1 (de) * 2009-11-17 2011-05-19 Sinitec Vertriebsgesellschaft Mbh Verfahren zur Migration von Daten sowie Computerprogramm zur Durchführung eines entsprechenden Verfahrens
US8327060B2 (en) * 2009-11-30 2012-12-04 Red Hat Israel, Ltd. Mechanism for live migration of virtual machines with memory optimizations
US8533711B2 (en) * 2009-11-30 2013-09-10 Red Hat Israel, Ltd. Method and system for adjusting a selection algorithm for selecting a candidate host with a highest memory sharing history value with a target virtual machine from amongst a set of host machines that have a standard deviation of memory sharing history with the virtual machine below a threshold amount
US8589921B2 (en) * 2009-11-30 2013-11-19 Red Hat Israel, Ltd. Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm
US8832683B2 (en) * 2009-11-30 2014-09-09 Red Hat Israel, Ltd. Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine
US8311032B2 (en) * 2009-12-03 2012-11-13 International Business Machines Corporation Dynamically provisioning virtual machines
US8352953B2 (en) 2009-12-03 2013-01-08 International Business Machines Corporation Dynamically provisioning virtual machines
US8468288B2 (en) * 2009-12-10 2013-06-18 International Business Machines Corporation Method for efficient guest operating system (OS) migration over a network
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US8352799B2 (en) * 2010-02-12 2013-01-08 Symantec Corporation Data corruption prevention during application restart and recovery
JP5493976B2 (ja) * 2010-02-18 2014-05-14 富士通株式会社 情報処理装置、計算機システム及びプログラム
US9141919B2 (en) * 2010-02-26 2015-09-22 International Business Machines Corporation System and method for object migration using waves
US8650563B2 (en) * 2010-02-26 2014-02-11 Red Hat Israel, Ltd. Identification and placement of new virtual machines to reduce memory consumption based on shared images with hosted virtual machines
US8244957B2 (en) * 2010-02-26 2012-08-14 Red Hat Israel, Ltd. Mechanism for dynamic placement of virtual machines during live migration based on memory
US8631405B2 (en) * 2010-02-26 2014-01-14 Red Hat Israel, Ltd. Identification and placement of new virtual machines based on similarity of software configurations with hosted virtual machines
US9218100B2 (en) * 2010-03-04 2015-12-22 International Business Machines Corporation Method and system for partitioning asset management plugins
US9418205B2 (en) 2010-03-15 2016-08-16 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
JP5515889B2 (ja) * 2010-03-15 2014-06-11 日本電気株式会社 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
US9626206B2 (en) * 2010-03-18 2017-04-18 Microsoft Technology Licensing, Llc Virtual machine homogenization to enable migration across heterogeneous computers
US20110239117A1 (en) * 2010-03-25 2011-09-29 Microsoft Corporation Natural User Interaction in Shared Resource Computing Environment
CN102202075B (zh) 2010-03-26 2013-12-04 联想(北京)有限公司 数据共享方法及便携终端
US20110239133A1 (en) * 2010-03-29 2011-09-29 Microsoft Corporation Shared resource computing collaboration sessions management
US8892628B2 (en) * 2010-04-01 2014-11-18 Microsoft Corporation Administrative interface for managing shared resources
US8751857B2 (en) * 2010-04-13 2014-06-10 Red Hat Israel, Ltd. Monitoring of highly available virtual machines
JP5549347B2 (ja) * 2010-04-20 2014-07-16 日本電気株式会社 管理サーバおよび仮想マシン配置制御方法
US8443077B1 (en) 2010-05-20 2013-05-14 Gogrid, LLC System and method for managing disk volumes in a hosting system
US9110702B2 (en) 2010-06-02 2015-08-18 Microsoft Technology Licensing, Llc Virtual machine migration techniques
US9009499B2 (en) * 2010-06-10 2015-04-14 Broadcom Corporation Power manager for a network having a virtual machine
CN102947814B (zh) 2010-06-10 2016-08-03 惠普发展公司,有限责任合伙企业 虚拟机
US8839238B2 (en) * 2010-06-11 2014-09-16 International Business Machines Corporation Dynamic virtual machine shutdown without service interruptions
US8271710B2 (en) * 2010-06-24 2012-09-18 International Business Machines Corporation Moving ownership of a device between compute elements
US8949499B2 (en) 2010-06-24 2015-02-03 International Business Machines Corporation Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
CN102314377B (zh) * 2010-06-30 2014-08-06 国际商业机器公司 加速器及其实现支持虚拟机迁移的方法
US8601129B2 (en) * 2010-06-30 2013-12-03 International Business Machines Corporation Hypervisor selection for hosting a virtual machine image
US8918854B1 (en) 2010-07-15 2014-12-23 Proxense, Llc Proximity-based system for automatic application initialization
US9075635B1 (en) * 2010-07-26 2015-07-07 Symantec Corporation Systems and methods for merging virtual layers
CN102136993B (zh) * 2010-07-29 2016-12-21 华为技术有限公司 一种数据迁移的方法、装置和系统
US8826292B2 (en) 2010-08-06 2014-09-02 Red Hat Israel, Ltd. Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines
US8473557B2 (en) 2010-08-24 2013-06-25 At&T Intellectual Property I, L.P. Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
EP2622469B1 (en) 2010-09-30 2019-11-13 Commvault Systems, Inc. Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system
US8418185B2 (en) 2010-10-19 2013-04-09 International Business Machines Corporation Memory maximization in a high input/output virtual machine environment
US8468289B2 (en) 2010-10-22 2013-06-18 International Business Machines Corporation Dynamic memory affinity reallocation after partition migration
KR101401378B1 (ko) 2010-10-26 2014-05-30 한국전자통신연구원 가상 머신의 라이브 마이그레이션에서 가상 연결성 유지를 위한 호스트 시스템, 원격 장치 서버 및 이를 이용한 연결성 유지 방법
US9183046B2 (en) * 2010-10-27 2015-11-10 Red Hat Israel, Ltd. Network address retrieval for live migration of a guest system in a virtual machine system
US9208029B2 (en) * 2010-11-12 2015-12-08 Hitachi, Ltd. Computer system to switch logical group of virtual computers
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
US8874457B2 (en) * 2010-11-17 2014-10-28 International Business Machines Corporation Concurrent scheduling of plan operations in a virtualized computing environment
US9032146B2 (en) 2010-11-30 2015-05-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamic use of raid levels responsive to workload requirements
US8688636B1 (en) * 2010-12-10 2014-04-01 Netapp, Inc. Rapid cloning of virtual machines
CN102541619B (zh) 2010-12-23 2015-09-16 国际商业机器公司 虚拟机管理装置和方法
US9112769B1 (en) * 2010-12-27 2015-08-18 Amazon Technologies, Inc. Programatically provisioning virtual networks
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US8561078B2 (en) 2011-09-27 2013-10-15 Throughputer, Inc. Task switching and inter-task communications for multi-core processors
US20130117168A1 (en) 2011-11-04 2013-05-09 Mark Henrik Sandstrom Maximizing Throughput of Multi-user Parallel Data Processing Systems
US20120173653A1 (en) * 2010-12-30 2012-07-05 International Business Machines Corporation Virtual machine migration in fabric attached memory
US8356120B2 (en) * 2011-01-07 2013-01-15 Red Hat Israel, Ltd. Mechanism for memory state restoration of virtual machine (VM)-controlled peripherals at a destination host machine during migration of the VM
US8924965B2 (en) 2011-01-07 2014-12-30 Red Hat Israel, Ltd. Memory state transfer of virtual machine-controlled peripherals during migrations of the virtual machine
US9104459B2 (en) 2011-01-07 2015-08-11 Red Hat Israel, Ltd. Memory change tracking during migration of virtual machine (VM) with VM-controlled assigned peripherals
US8984506B2 (en) * 2011-01-07 2015-03-17 International Business Machines Corporation Techniques for dynamically discovering and adapting resource and relationship information in virtualized computing environments
US8850430B2 (en) 2011-01-25 2014-09-30 International Business Machines Corporation Migration of virtual machines
JP5147955B2 (ja) * 2011-01-25 2013-02-20 株式会社日立製作所 仮想計算機システム
US9288117B1 (en) 2011-02-08 2016-03-15 Gogrid, LLC System and method for managing virtual and dedicated servers
US8857716B1 (en) 2011-02-21 2014-10-14 Proxense, Llc Implementation of a proximity-based system for object tracking and automatic application initialization
US9223605B2 (en) * 2011-07-01 2015-12-29 V3 Systems Holdings, Inc. Virtual machine allocation internal and external to physical environment
US9015709B2 (en) 2011-03-08 2015-04-21 Rackspace Us, Inc. Hypervisor-agnostic method of configuring a virtual machine
US8813072B1 (en) 2011-03-18 2014-08-19 DirectPacket Research Inc. Inverse virtual machine
GB2490766B (en) * 2011-04-16 2013-04-24 Mark Henrik Sandstrom Task switching and inter-task communications for multi-core processors
US8555279B2 (en) * 2011-04-25 2013-10-08 Hitachi, Ltd. Resource allocation for controller boards management functionalities in a storage management system with a plurality of controller boards, each controller board includes plurality of virtual machines with fixed local shared memory, fixed remote shared memory, and dynamic memory regions
CN102761566B (zh) 2011-04-26 2015-09-23 国际商业机器公司 迁移虚拟机的方法和装置
US8924967B2 (en) 2011-04-28 2014-12-30 Vmware, Inc. Maintaining high availability of a group of virtual machines using heartbeat messages
CN102185774A (zh) * 2011-05-10 2011-09-14 中兴通讯股份有限公司 虚拟机无缝迁移的方法、管理器及系统
CN102298537A (zh) * 2011-06-10 2011-12-28 宇龙计算机通信科技(深圳)有限公司 应用程序的迁移方法及系统
US8966084B2 (en) 2011-06-17 2015-02-24 International Business Machines Corporation Virtual machine load balancing
US8843924B2 (en) 2011-06-17 2014-09-23 International Business Machines Corporation Identification of over-constrained virtual machines
US8949428B2 (en) 2011-06-17 2015-02-03 International Business Machines Corporation Virtual machine load balancing
US9191454B2 (en) * 2011-06-27 2015-11-17 Microsoft Technology Licensing, Llc Host enabled management channel
US8880657B1 (en) 2011-06-28 2014-11-04 Gogrid, LLC System and method for configuring and managing virtual grids
US8490092B2 (en) * 2011-07-06 2013-07-16 Microsoft Corporation Combined live migration and storage migration using file shares and mirroring
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US8667490B1 (en) * 2011-07-29 2014-03-04 Emc Corporation Active/active storage and virtual machine mobility over asynchronous distances
US9772784B2 (en) 2011-08-10 2017-09-26 Nutanix, Inc. Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure
JP5720483B2 (ja) * 2011-08-11 2015-05-20 富士通株式会社 移行プログラム、移行装置、および移行方法
CN102333088B (zh) * 2011-09-26 2014-08-27 华中科技大学 服务器资源管理系统
US9372827B2 (en) 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware
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
US8631423B1 (en) 2011-10-04 2014-01-14 Symantec Corporation Translating input/output calls in a mixed virtualization environment
US20130083690A1 (en) 2011-10-04 2013-04-04 International Business Machines Corporation Network Adapter Hardware State Migration Discovery in a Stateful Environment
TWI444824B (zh) * 2011-10-18 2014-07-11 Ind Tech Res Inst 虛擬機器記憶體的鑑識方法與電腦系統
US8745237B2 (en) * 2011-10-21 2014-06-03 Red Hat Israel, Ltd. Mapping of queues for virtual machines
US9514507B2 (en) * 2011-11-29 2016-12-06 Citrix Systems, Inc. Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware
TW201324357A (zh) * 2011-12-01 2013-06-16 Univ Tunghai 虛擬機叢集之綠能管理方法
US20130152076A1 (en) * 2011-12-07 2013-06-13 Cisco Technology, Inc. Network Access Control Policy for Virtual Machine Migration
CN106095524B (zh) * 2011-12-22 2019-04-02 中国移动通信集团公司 一种虚拟机部署方法、系统和装置
EP2798492A1 (en) * 2011-12-29 2014-11-05 Telefonaktiebolaget LM Ericsson (Publ) Virtual machine migration using 3gpp mcim
US9195512B2 (en) * 2012-01-06 2015-11-24 International Business Machines Corporation Relocating related resource partitions
US10091138B2 (en) * 2012-02-21 2018-10-02 F5 Networks, Inc. In service upgrades for a hypervisor or hardware manager hosting virtual traffic managers
US9164789B2 (en) * 2012-02-29 2015-10-20 Red Hat Israel, Ltd. Multiple queue management and adaptive CPU matching in a virtual computing system
US9184981B2 (en) * 2012-03-09 2015-11-10 Futurewei Technologies, Inc. System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
JP5773066B2 (ja) 2012-03-19 2015-09-02 富士通株式会社 プログラム、管理サーバおよびパッチスケジューリング方法
CN103379185B (zh) * 2012-04-26 2016-08-03 华为技术有限公司 一种网络地址转换的方法、设备和系统
US9027024B2 (en) 2012-05-09 2015-05-05 Rackspace Us, Inc. Market-based virtual machine allocation
US8725808B2 (en) * 2012-05-10 2014-05-13 Intel Mobile Communications GmbH Method for transferring data between a first device and a second device
US9218196B2 (en) * 2012-05-17 2015-12-22 International Business Machines Corporation Performing pre-stage replication of data associated with virtual machines prior to migration of virtual machines based on resource usage
TWI610166B (zh) 2012-06-04 2018-01-01 飛康國際網路科技股份有限公司 自動災難復原和資料遷移系統及方法
US9819694B2 (en) * 2012-06-27 2017-11-14 Qatar Foundation Arrangement configured to migrate a virtual machine in the event of an attack
US9256463B2 (en) 2012-06-29 2016-02-09 International Business Machines Corporation Method and apparatus to replicate stateful virtual machines between clouds
US20140012704A1 (en) 2012-07-05 2014-01-09 Google Inc. Selecting a preferred payment instrument based on a merchant category
US9600206B2 (en) 2012-08-01 2017-03-21 Microsoft Technology Licensing, Llc Request ordering support when switching virtual disk replication logs
US9323566B2 (en) * 2012-08-22 2016-04-26 Hitachi, Ltd. Virtual computer system for restoring network connection of live-migrated virtual computer
US8918582B2 (en) 2012-09-11 2014-12-23 International Business Machines Corporation Simulating EEPROM in virtual distributed switches
JP5954074B2 (ja) 2012-09-20 2016-07-20 富士通株式会社 情報処理方法、情報処理装置、及びプログラム。
US20140095716A1 (en) * 2012-09-28 2014-04-03 International Business Machines Corporation Maximizing resources in a multi-application processing environement
US9507586B2 (en) * 2012-10-05 2016-11-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtual machine based controller and upgrade mechanism
CN103729230B (zh) * 2012-10-11 2017-04-12 财团法人工业技术研究院 虚拟机系统的内存管理方法和计算机系统
US9166865B2 (en) * 2012-11-07 2015-10-20 International Business Machines Corporation Mobility operation resource allocation
US9529613B2 (en) * 2012-12-12 2016-12-27 Vmware, Inc. Methods and apparatus to reclaim resources in virtual computing environments
US9934054B2 (en) * 2012-12-14 2018-04-03 International Business Machines Corporation Evaluating distributed application performance in a new environment
US9569223B2 (en) * 2013-02-13 2017-02-14 Red Hat Israel, Ltd. Mixed shared/non-shared memory transport for virtual machines
US9268583B2 (en) * 2013-02-25 2016-02-23 Red Hat Israel, Ltd. Migration of virtual machines with shared memory
US8954993B2 (en) 2013-02-28 2015-02-10 Empire Technology Development Llc Local message queue processing for co-located workers
US9110722B2 (en) 2013-02-28 2015-08-18 International Business Machines Corporation Data processing work allocation
US9092767B1 (en) 2013-03-04 2015-07-28 Google Inc. Selecting a preferred payment instrument
US9229752B2 (en) * 2013-03-12 2016-01-05 International Business Machines Corporation Systems and methods to offload hardware support using a hypervisor subpartition
US9785527B2 (en) * 2013-03-27 2017-10-10 Ixia Methods, systems, and computer readable media for emulating virtualization resources
US10230567B2 (en) * 2013-04-01 2019-03-12 Dell Products L.P. Management of a plurality of system control networks
WO2014183106A2 (en) 2013-05-10 2014-11-13 Proxense, Llc Secure element as a digital pocket
US9058239B2 (en) 2013-06-20 2015-06-16 International Business Machines Corporation Hypervisor subpartition as concurrent upgrade
US20150032961A1 (en) * 2013-07-23 2015-01-29 Lexmark International Technologies S.A. System and Methods of Data Migration Between Storage Devices
US9043576B2 (en) * 2013-08-21 2015-05-26 Simplivity Corporation System and method for virtual machine conversion
US9307018B2 (en) 2013-09-11 2016-04-05 International Business Machines Corporation Workload deployment with real-time consideration of global network congestion
CN104516773B (zh) * 2013-09-29 2018-04-20 国际商业机器公司 用于物理机的数据分配方法和数据分配装置
US9628550B1 (en) 2013-10-24 2017-04-18 Ca, Inc. Lightweight software management shell
US9304707B1 (en) * 2013-10-30 2016-04-05 Ca, Inc. Transferring high volume data between operating systems
WO2015065444A1 (en) * 2013-10-31 2015-05-07 Hewlett-Packard Development Company, L.P. Network database hosting
US9317326B2 (en) 2013-11-27 2016-04-19 Vmware, Inc. Consistent migration of a group of virtual machines using source and destination group messaging
US20150205542A1 (en) * 2014-01-22 2015-07-23 Vmware, Inc. Virtual machine migration in shared storage environment
US9858572B2 (en) 2014-02-06 2018-01-02 Google Llc Dynamic alteration of track data
US9590843B2 (en) * 2014-03-12 2017-03-07 Nutanix, Inc. Method and system for providing distributed management in a networked virtualization environment
JPWO2015146104A1 (ja) * 2014-03-27 2017-04-13 日本電気株式会社 仮想マシンシステムおよびその制御方法およびその制御プログラム
JP2015194855A (ja) * 2014-03-31 2015-11-05 富士通株式会社 情報処理システム、制御プログラム、及び情報処理システムの制御方法
WO2015172107A1 (en) 2014-05-09 2015-11-12 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
JP6277853B2 (ja) 2014-05-12 2018-02-14 富士通株式会社 制御装置、通信装置、および、通信方法
US9740472B1 (en) 2014-05-15 2017-08-22 Nutanix, Inc. Mechanism for performing rolling upgrades in a networked virtualization environment
US9733958B2 (en) 2014-05-15 2017-08-15 Nutanix, Inc. Mechanism for performing rolling updates with data unavailability check in a networked virtualization environment for storage management
US9092376B1 (en) 2014-08-29 2015-07-28 Nimble Storage, Inc. Methods and systems for ordering virtual machine snapshots
US9778990B2 (en) * 2014-10-08 2017-10-03 Hewlett Packard Enterprise Development Lp Methods and systems for concurrently taking snapshots of a plurality of virtual machines
US9727252B2 (en) 2014-11-13 2017-08-08 Hewlett Packard Enterprise Development Lp Methods and systems for optimal snapshot distribution within a protection schedule
US9348655B1 (en) 2014-11-18 2016-05-24 Red Hat Israel, Ltd. Migrating a VM in response to an access attempt by the VM to a shared memory page that has been migrated
US9389789B2 (en) 2014-12-15 2016-07-12 International Business Machines Corporation Migration of executing applications and associated stored data
US10698767B1 (en) * 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US10642507B2 (en) 2015-01-30 2020-05-05 Nutanix, Inc. Pulsed leader consensus management
US9606827B2 (en) * 2015-03-24 2017-03-28 International Business Machines Corporation Sharing memory between guests by adapting a base address register to translate pointers to share a memory region upon requesting for functions of another guest
US9146769B1 (en) * 2015-04-02 2015-09-29 Shiva Shankar Systems and methods for copying a source machine to a target virtual machine
US9535738B2 (en) 2015-04-03 2017-01-03 International Business Machines Corporation Migrating virtual machines based on relative priority of virtual machine in the context of a target hypervisor environment
US9639395B2 (en) * 2015-04-16 2017-05-02 Google Inc. Byte application migration
US9811376B2 (en) 2015-06-29 2017-11-07 Amazon Technologies, Inc. Virtual machine instance migration using a triangle approach
JP2017033375A (ja) * 2015-08-04 2017-02-09 富士通株式会社 並列計算システム、マイグレーション方法、及びマイグレーションプログラム
US9846602B2 (en) * 2016-02-12 2017-12-19 International Business Machines Corporation Migration of a logical partition or virtual machine with inactive input/output hosting server
US10474475B2 (en) * 2016-03-02 2019-11-12 Western Digital Technologies, Inc. Non-intrusive restart of a task manager
US10572667B2 (en) * 2016-03-31 2020-02-25 Intel Corporation Coordinating power management between virtual machines
US10341215B2 (en) 2016-04-06 2019-07-02 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine
US10069910B2 (en) * 2016-04-18 2018-09-04 International Business Machines Corporation Storage and application controller for mirroring and switchover of applications in a plurality of cloud locations via a plurality of configurable security protocols
US10353590B2 (en) 2016-05-19 2019-07-16 Hewlett Packard Enterprise Development Lp Methods and systems for pre-processing sensor measurements
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10362092B1 (en) 2016-10-14 2019-07-23 Nutanix, Inc. Entity management in distributed systems
CN108108173A (zh) * 2016-11-23 2018-06-01 中兴通讯股份有限公司 一种信息处理方法和装置
US20180181421A1 (en) * 2016-12-27 2018-06-28 Intel Corporation Transferring packets between virtual machines via a direct memory access device
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US10609130B2 (en) * 2017-04-28 2020-03-31 Microsoft Technology Licensing, Llc Cluster resource management in distributed computing systems
US10686891B2 (en) * 2017-11-14 2020-06-16 International Business Machines Corporation Migration of applications to a computing environment
US11237877B2 (en) * 2017-12-27 2022-02-01 Intel Corporation Robot swarm propagation using virtual partitions
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
KR102203648B1 (ko) * 2018-03-20 2021-01-15 미쓰비시덴키 가부시키가이샤 정보 처리 장치, 방법, 및 프로그램
CN110609730B (zh) * 2018-06-14 2023-04-07 阿里巴巴集团控股有限公司 一种实现虚拟处理器间中断透传的方法及设备
US20190391835A1 (en) * 2018-06-26 2019-12-26 Dell Products L.P. Systems and methods for migration of computing resources based on input/output device proximity
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US10901781B2 (en) 2018-09-13 2021-01-26 Cisco Technology, Inc. System and method for migrating a live stateful container
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US20200174814A1 (en) * 2018-11-30 2020-06-04 Nutanix, Inc. Systems and methods for upgrading hypervisor locally
JP7327235B2 (ja) * 2020-03-24 2023-08-16 横河電機株式会社 フォールトトレラントシステム
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11323354B1 (en) 2020-10-09 2022-05-03 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using switch emulation
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
US6223202B1 (en) * 1998-06-05 2001-04-24 International Business Machines Corp. Virtual machine pooling
WO2001095940A1 (fr) * 2000-06-14 2001-12-20 Takeda Chemical Industries, Ltd. Compositions a liberation continue
US20020013802A1 (en) * 2000-07-26 2002-01-31 Toshiaki Mori Resource allocation method and system for virtual computer system

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57201951A (en) * 1981-06-05 1982-12-10 Nec Corp Virtual computer system
US4974151A (en) 1985-02-21 1990-11-27 International Business Machines Corporation Configuration capability for devices in an open system having the capability of adding or changing devices by user commands
EP0472861B1 (en) * 1990-08-31 1995-09-20 International Business Machines Corporation Method and apparatus for cross-partition control in a partitioned process environment
JPH0635732A (ja) 1992-07-14 1994-02-10 Hitachi Ltd 記憶装置の領域割り当て方法
JP3196004B2 (ja) 1995-03-23 2001-08-06 株式会社日立製作所 障害回復処理方法
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6209066B1 (en) 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US6279046B1 (en) * 1999-05-19 2001-08-21 International Business Machines Corporation Event-driven communications interface for logically-partitioned computer
US6850953B1 (en) * 1999-08-23 2005-02-01 Sun Microsystems, Inc. Creating multiple sets of data by spawning a secondary virtual machine
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US7146305B2 (en) * 2000-10-24 2006-12-05 Vcis, Inc. Analytical virtual machine
JP2002202959A (ja) 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP4214682B2 (ja) * 2001-01-24 2009-01-28 株式会社日立製作所 計算機およびその入出力手段
GB2378535A (en) * 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
US6625704B2 (en) 2001-08-08 2003-09-23 Sangate Systems, Inc. Data backup method and system using snapshot and virtual tape
US7603670B1 (en) * 2002-03-28 2009-10-13 Symantec Operating Corporation Virtual machine transfer between computer systems
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7065549B2 (en) 2002-03-29 2006-06-20 Illinois Institute Of Technology Communication and process migration protocols for distributed heterogeneous computing
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
JP4188640B2 (ja) 2002-08-08 2008-11-26 富士通マイクロエレクトロニクス株式会社 半導体記憶装置、半導体記憶装置の制御方法及び半導体記憶装置の試験方法
US7181744B2 (en) * 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
JP4012517B2 (ja) * 2003-04-29 2007-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想計算機環境におけるロックの管理
US6973654B1 (en) * 2003-05-27 2005-12-06 Microsoft Corporation Systems and methods for the repartitioning of data
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US7526515B2 (en) * 2004-01-21 2009-04-28 International Business Machines Corporation Method and system for a grid-enabled virtual machine with movable objects
US7149859B2 (en) * 2004-03-01 2006-12-12 Hitachi, Ltd. Method and apparatus for data migration with the efficient use of old assets
US7512769B1 (en) * 2004-10-06 2009-03-31 Hewlett-Packard Development Company, L.P. Process migration
US7882326B2 (en) * 2007-03-23 2011-02-01 International Business Machines Corporation Live migration of a logical partition
JP5028304B2 (ja) * 2008-03-11 2012-09-19 株式会社日立製作所 仮想計算機システム及びその制御方法
US8041987B2 (en) * 2008-11-10 2011-10-18 International Business Machines Corporation Dynamic physical and virtual multipath I/O
US20100229175A1 (en) * 2009-03-05 2010-09-09 International Business Machines Corporation Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
US6223202B1 (en) * 1998-06-05 2001-04-24 International Business Machines Corp. Virtual machine pooling
WO2001095940A1 (fr) * 2000-06-14 2001-12-20 Takeda Chemical Industries, Ltd. Compositions a liberation continue
US20020013802A1 (en) * 2000-07-26 2002-01-31 Toshiaki Mori Resource allocation method and system for virtual computer system

Also Published As

Publication number Publication date
US8352938B2 (en) 2013-01-08
CN1696902A (zh) 2005-11-16
JP2005327279A (ja) 2005-11-24
TW200608221A (en) 2006-03-01
US7257811B2 (en) 2007-08-14
US20070169121A1 (en) 2007-07-19
TWI370974B (en) 2012-08-21
US20050268298A1 (en) 2005-12-01
JP4769484B2 (ja) 2011-09-07

Similar Documents

Publication Publication Date Title
CN1333341C (zh) 迁移虚拟机的系统、方法和程序
US7299468B2 (en) Management of virtual machines to utilize shared resources
US10362101B2 (en) Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management
US7251815B2 (en) Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle
US7328437B2 (en) Management of locks in a virtual machine environment
US7784060B2 (en) Efficient virtual machine communication via virtual machine queues
US8656387B2 (en) Method and system for workload distributing and processing across a network of replicated virtual machines
US10362030B2 (en) Method and system for providing access to administrative functionality a virtualization environment
CN101278263A (zh) 虚拟机环境中的输入/输出设备与物理存储器之间的直接存储器访问
EP1836574B1 (en) Method and system for local authority partitioning of client resources
CN109726005A (zh) 用于管理资源的方法、服务器系统和计算机程序产品
CN103034526B (zh) 一种虚拟化服务的实现方法和装置
CN106462599A (zh) 缓存存储器与工作进程的关联
US20210026762A1 (en) Virtualization of multiple coprocessor memory
US20180227363A1 (en) Maintaining partition-tolerant distributed metadata
US20160234296A1 (en) Synchronization optimization based upon allocation data
US9164909B1 (en) Method for the use of process identifiers to invalidate cached data in environments that allow processes to migrate between physical machines
WO2021095943A1 (ko) 서비스 프로파일을 고려한 컨테이너의 배치 방법
CN108762891A (zh) 一种云平台资源调度方法和装置
JP5930181B2 (ja) 通信制御装置、通信制御方法および通信制御プログラム
JP6858114B2 (ja) ジョブ管理システムおよびジョブ管理装置
KR20190109638A (ko) 분산 파일 시스템을 기반으로 하는 빅데이터 처리 플랫폼의 태스크 스케줄링 방법, 이를 위한 컴퓨터 프로그램 및 컴퓨터 판독 가능 기록 매체
Pepelyaeva et al. VDI Cloud Computational Resources Estimation Algorithm
US10528391B1 (en) Execution manager for binary objects operating across private address spaces
Sabina VIRTUALIZATION AND ITS APPLICATION

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