CN1696902A - 迁移虚拟机的系统、方法和程序 - Google Patents
迁移虚拟机的系统、方法和程序 Download PDFInfo
- Publication number
- CN1696902A CN1696902A CN200510055454.XA CN200510055454A CN1696902A CN 1696902 A CN1696902 A CN 1696902A CN 200510055454 A CN200510055454 A CN 200510055454A CN 1696902 A CN1696902 A CN 1696902A
- Authority
- CN
- China
- Prior art keywords
- lpar
- virtual machine
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
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.0CP 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和9,对虚拟机35从系统310中的LPAR 30到LAPR31的迁移的解释。虚拟机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.一种用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的方法,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,在迁移之前,所述通信队列驻留于由所述第一计算机或所述第一LPAR中的所述第一虚拟机和第二虚拟机共享的第一共享存储器中,所述方法包括以下步骤:
在所述第一计算机或所述第一LPAR中停止所述第一虚拟机;
所述第一计算机或所述第一LPAR将所述操作系统和应用传送给所述第二计算机或所述第二LPAR,而所述第二计算机或所述第二LPAR将所述操作系统和应用写入所述第二计算机或所述第二LPAR中所述第一虚拟机专用的第二专用存储器中;
所述第一计算机或所述第一LPAR将所述通信队列传送给所述第二计算机或第二LPAR,而所述第二计算机或所述第二LPAR将所述通信队列写入由所述第二计算机或所述第二LPAR中的所述第二、第三和第四虚拟机共享的第二共享存储器中;以及
在所述第二计算机或第二LPAR中重新开始所述第一虚拟机。
2.如权利要求1所述的方法,进一步包括将所述通信队列从所述第二共享存储器附加到所述第二计算机或第二LPAR中的所述第一虚拟机的步骤。
3.如权利要求1所述的方法,进一步包括以下步骤:
所述第一计算机或所述第一LPAR将所述第一计算机或第一LPAR中的所述第一虚拟机所使用的所述通信队列的地址传送给所述第二计算机或所述第二LPAR,且所述第二计算机或所述第二LPAR将所述地址写入所述第二专用存储器中,以使所述第一虚拟机当在所述第二计算机或第二LPAR中重新开始时将使用所述地址来访问所述第二共享存储器中的所述通信队列。
4.如权利要求1所述的方法,进一步包括以下步骤:
所述第一计算机或所述第一LPAR将所述应用或所述操作系统的程序状态字传送给所述第二计算机或所述第二LPAR,以使所述第二计算机或第二LPAR中的所述第一虚拟机在重新开始时将使用所述程序状态字来从其停止所述应用或所述操作系统在所述第一计算机或所述第一LPAR中的执行的位置处重新开始所述应用或所述操作系统的执行。
5.如权利要求1所述的方法,进一步包括以下步骤:
在所述第一计算机或所述第一LPAR将所述通信队列传送给所述第二计算机或所述第二LPAR的步骤之前,所述第二虚拟机向所述通信队列提供工作项目;
在所述第一计算机或所述第一LPAR中停止所述第二虚拟机;
所述第一计算机或所述第一LPAR将所述第二虚拟机的操作系统和应用传送给所述第二计算机或所述第二LPAR,然后,将所述第二虚拟机的所述操作系统和应用写入所述第二计算机或所述第二LPAR中的所述第二虚拟机专用的第三专用存储器中;
所述第一计算机或所述第一LPAR将所述第二虚拟机的通信队列传送给所述第二计算机或所述第二LPAR,然后,将所述第二虚拟机的所述通信队列写入所述第二共享存储器中;以及
在所述第二计算机或第二LPAR中重新开始所述第二虚拟机,且所述第二计算机或所述第二LPAR中的所述第二虚拟机使用与所述第二虚拟机在向所述第一计算机或所述第一LPAR中的所述第一虚拟机的所述通信队列提供第一个所述工作项目时所使用的相同地址向所述第二计算机或所述第二LPAR中的所述第一虚拟机的所述通信队列提供另一工作项目。
6.一种用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的计算机程序产品,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,在迁移之前,所述通信队列驻留于由所述第一计算机或所述第一LPAR中的所述第一虚拟机和第二虚拟机共享的第一共享存储器中,所述计算机程序产品包括:
计算机可读介质;
在所述第一计算机或所述第一LPAR中停止所述第一虚拟机的第一程序指令;
所述第一计算机或所述第一LPAR中将所述操作系统和应用传送给所述第二计算机或所述第二LPAR的第二程序指令,及所述第二计算机或所述第二LPAR中将所述操作系统和应用写入所述第二计算机或所述第二LPAR中所述第一虚拟机专用的第二专用存储器中的第三程序指令;
所述第一计算机或所述第一LPAR中将所述通信队列传送给所述第二计算机或第二LPAR的第四程序指令,及所述第二计算机或所述第二LPAR中将所述通信队列写入由所述第二计算机或所述第二LPAR中的所述第二、第三和第四虚拟机共享的第二共享存储器中的第五程序指令;以及
在所述第二计算机或第二LPAR中重新开始所述第一虚拟机的第六程序指令;并且其中
所述第一、第二、第三、第四、第五和第六程序指令记录于所述介质上。
7.如权利要求6所述的计算机程序产品,进一步包括将所述通信队列从所述第二共享存储器附加到所述第二计算机或第二LPAR中的所述第一虚拟机的第七程序指令;并且其中所述第七程序指令记录于所述介质上。
8.如权利要求6所述的计算机程序产品,进一步包括:
所述第一计算机或所述第一LPAR中将所述第一计算机或第一LPAR中的所述第一虚拟机所使用的所述通信队列的地址传送给所述第二计算机或所述第二LPAR的第七程序指令,以及所述第二计算机或所述第二LPAR中将所述地址写入所述第二专用存储器中,以使所述第一虚拟机当在所述第二计算机或第二LPAR中重新开始时将使用所述地址访问所述第二共享存储器中的所述通信队列的第八程序指令;并且其中
所述第七和第八程序指令记录于所述介质上。
9.如权利要求6所述的计算机程序产品,进一步包括:
所述第一计算机或所述第一LPAR中将所述应用或所述操作系统的程序状态字传送给所述第二计算机或所述第二LPAR,以使所述第二计算机或第二LPAR中的所述第一虚拟机在重新开始时将使用所述程序状态字来从其停止所述应用或所述操作系统在所述第一计算机或所述第一LPAR中的执行的位置处重新开始所述应用或所述操作系统的执行的第七程序指令;并且其中所述第七程序指令记录于所述介质上。
10.如权利要求6所述的计算机程序产品,其中在所述第四程序指令将所述通信队列传送给所述第二计算机或所述第二LPAR之前,所述第二虚拟机向所述通信队列提供工作项目;并且进一步包括:
在所述第一计算机或所述第一LPAR中停止所述第二虚拟机的第七程序指令;
所述第一计算机或所述第一LPAR中将所述第二虚拟机的操作系统和应用传送给所述第二计算机或所述第二LPAR的第八程序指令,以及将所述第二虚拟机的所述操作系统和应用写入所述第二计算机或所述第二LPAR中的所述第二虚拟机专用的第三专用存储器中的第九程序指令;
所述第一计算机或所述第一LPAR中将所述第二虚拟机的通信队列传送给所述第二计算机或所述第二LPAR的第十程序指令,以及将所述第二虚拟机的所述通信队列写入所述第二共享存储器中的第十一程序指令;以及
在所述第二计算机或第二LPAR中重新开始所述第二虚拟机的第十二程序指令,并且其中所述第二计算机或所述第二LPAR中的所述第二虚拟机使用与所述第二虚拟机在向所述第一计算机或所述第一LPAR中的所述第一虚拟机的所述通信队列提供第一个所述工作项目时所使用的相同地址向所述第二计算机或所述第二LPAR中的所述第一虚拟机的所述通信队列提供另一工作项目;并且所述第七、第八、第九、第十、第十一、第十二和第十三程序指令记录于所述介质上。
11.一种用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的方法,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,在迁移之前,所述通信队列驻留于由所述第一计算机或所述第一LPAR中的所述第一虚拟机和第二虚拟机共享的第一共享存储器中,所述方法包括以下步骤:
将所述操作系统和应用从所述第一专用存储器复制到由所述第一和第二计算机或所述第一和第二LPAR共享的共享存储设备;
将所述通信队列从所述第一共享存储器复制到所述共享存储设备;
将所述操作系统和应用从所述共享存储设备复制到所述第二计算机或第二LPAR中所述第一虚拟机专用的第二专用存储器,并在所述第二计算机或第二LPAR中重新开始所述第一虚拟机;以及
将所述通信队列从所述共享存储设备复制到由所述第二计算机或第二LPAR中的所述第一、第三和第四虚拟机共享的第二共享存储器。
12.如权利要求11所述的方法,进一步包括将所述通信队列从所述第二共享存储器附加到所述第二计算机或第二LPAR中的所述第一虚拟机的步骤。
13.如权利要求11所述的方法,进一步包括以下步骤:
将所述第一计算机或第一LPAR中的所述第一虚拟机所使用的所述通信队列的地址从所述第一专用存储器复制到所述共享存储设备,且然后复制到所述第二专用存储器,以使所述第一虚拟机在所述第二计算机或第二LPAR中将使用所述地址访问所述第二共享存储器中的所述通信队列。
14.如权利要求11所述的方法,进一步包括以下步骤:
在将所述应用和所述操作系统复制到所述共享存储设备的步骤之后,停止所述应用在所述第一计算机或所述第一LPAR中的执行;
将所述应用或所述操作系统的程序状态字从所述第一专用存储器复制到所述共享存储设备,且然后复制到所述第二专用存储器,以使所述第二计算机或第二LPAR中的所述第一虚拟机在重新开始时将使用所述程序状态字来从其停止所述应用或所述操作系统在所述第一计算机或所述第一LPAR中的执行的位置处重新开始所述应用或所述操作系统的执行。
15.如权利要求11所述的方法,进一步包括以下步骤:
在将所述通信队列从所述第一共享存储器复制到所述共享存储设备的步骤之前,所述第二虚拟机向所述通信队列提供工作项目;
将所述第二虚拟机的操作系统和应用从所述第一专用存储器复制到所述共享存储设备;
将所述第二虚拟机的通信队列从所述第一共享存储器复制到所述共享存储设备;
将所述第二虚拟机的所述操作系统和应用从所述共享存储设备复制到所述第二计算机或所述第二LPAR中所述第二虚拟机专用的第三专用存储器,并在所述第二计算机或第二LPAR中重新开始所述第二虚拟机;以及
将所述第二虚拟机的所述通信队列从所述共享存储设备复制到所述第二共享存储器,以使所述第二计算机或所述第二LPAR中的所述第一虚拟机可获取由所述第二虚拟机在所述第一实计算机或所述第一LPAR中时所提供的所述工作项目,且所述第二虚拟机当在所述第二计算机或所述第二LPAR中时可使用与所述第二虚拟机当在所述第一计算机或所述第一LPAR中向所述通信队列提供第一个所述工作项目时所使用的相同地址向所述通信队列提供另一工作项目。
16.如权利要求11所述的方法,进一步包括向所述第二实计算机或所述第二LPAR通知所述共享存储设备中的所述操作系统、应用和通信队列的步骤。
17.一种用于将第一虚拟机和通信队列从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的计算机程序产品,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,在迁移之前,所述通信队列驻留于由所述第一计算机或所述第一LPAR中的所述第一虚拟机和第二虚拟机共享的第一共享存储器中,所述计算机程序产品包括:
计算机可读介质;
将所述操作系统和应用从所述第一专用存储器复制到由所述第一和第二计算机或所述第一和第二LPAR共享的共享存储设备的第一程序指令;
将所述通信队列从所述第一共享存储器复制到所述共享存储设备的第二程序指令;
将所述操作系统和应用从所述共享存储设备复制到所述第二计算机或第二LPAR中所述第一虚拟机专用的第二专用存储器,并在所述第二计算机或第二LPAR中重新开始所述第一虚拟机的第三程序指令;以及
将所述通信队列从所述共享存储设备复制到由所述第二计算机或第二LPAR中的所述第一虚拟机以及第三和第四虚拟机共享的第二共享存储器的第四程序指令;并且其中
所述第一、第二、第三和第四程序指令记录于所述介质上。
18.如权利要求17所述的计算机程序产品,进一步包括将所述通信队列从所述第二共享存储器附加到所述第二计算机或第二LPAR中的所述第一虚拟机的第五程序指令;并且其中所述第五程序指令记录于所述介质上。
19.如权利要求17所述的计算机程序产品,进一步包括:
将所述第一计算机或第一LPAR中的所述第一虚拟机所使用的所述通信队列的地址从所述第一专用存储器复制到所述共享存储设备,且然后复制到所述第二专用存储器,以使所述第一虚拟机在所述第二计算机或第二LPAR中将使用所述地址访问所述第二共享存储器中的所述通信队列的第五指令程序;并且其中所述第五程序指令记录于所述介质上。
20.如权利要求17所述的计算机程序产品,进一步包括:
在所述第一程序指令将所述应用和所述操作系统复制到所述共享存储设备之后,停止所述应用在所述第一计算机或所述第一LPAR中的执行的第五程序指令;以及
将所述应用或所述操作系统的程序状态字从所述第一专用存储器复制到所述共享存储设备,且然后复制到所述第二专用存储器,以使所述第二计算机或第二LPAR中的所述第一虚拟机在重新开始时将使用所述程序状态字从其停止所述应用或所述操作系统在所述第一计算机或所述第一LPAR中的执行的位置处重新开始所述应用或所述操作系统的执行的第六指令程序;并且其中所述第五和第六程序指令记录于所述介质上。
21.如权利要求17所述的计算机程序产品,其中在将所述通信队列从所述第一共享存储器复制到所述共享存储设备的步骤之前,所述第二虚拟机向所述通信队列提供工作项目;并且进一步包括:
将所述第二虚拟机的操作系统和应用从所述第一专用存储器复制到所述共享存储设备的第五程序指令;
将所述第二虚拟机的通信队列从所述第一共享存储器复制到所述共享存储设备的第六程序指令;
将所述第二虚拟机的所述操作系统和应用从所述共享存储设备复制到所述第二计算机或第二LPAR中所述第二虚拟机专用的第三专用存储器,并在所述第二计算机或第二LPAR中重新开始所述第二虚拟机的第七程序指令;以及
将所述第二虚拟机的所述通信队列从所述共享存储设备复制到所述第二共享存储器,以使所述第二计算机或所述第二LPAR中的所述第一虚拟机可获取由所述第二虚拟机在所述第一实计算机或所述第一LPAR中时所提供的所述工作项目的第八程序指令,且所述第二虚拟机当在所述第二计算机或所述第二LPAR中时可使用与所述第二虚拟机当在所述第一计算机或所述第一LPAR中向所述通信队列提供第一个所述工作项目时所使用的相同地址向所述通信队列提供另一工作项目;并且其中
所述第五、第六、第七和第八程序指令记录于所述介质上。
22.如权利要求17所述的计算机程序产品,进一步包括向所述第二实计算机或所述第二LPAR通知所述共享存储设备中的所述操作系统、应用和通信队列的第五程序指令;并且其中所述第五程序指令记录于所述介质上。
23.一种用于将第一虚拟机从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的方法,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,所述方法包括以下步骤:
将所述第一虚拟机的通信队列存储于由所述第一和第二计算机或所述第一和第二LPAR所共享的共享存储器中;
将所述操作系统和应用从所述第一专用存储器复制到所述共享存储器;以及
将所述操作系统和应用从所述共享存储器复制到所述第二计算机或第二LPAR中所述第一虚拟机专用的第二专用存储器,并在所述第二计算机或第二LPAR中重新开始所述第一虚拟机。
24.如权利要求23所述的方法,进一步包括将所述通信队列从所述共享存储器附加到所述第二计算机或第二LPAR中的所述第一虚拟机的步骤。
25.如权利要求23所述的方法,进一步包括以下步骤:
将所述第一计算机或第一LPAR中的所述第一虚拟机所使用的所述通信队列的地址从所述第一专用存储器复制到所述共享存储器,且然后复制到所述第二专用存储器,以使所述第一虚拟机在所述第二计算机或第二LPAR中将使用所述地址访问所述共享存储器中的所述通信队列。
26.如权利要求23所述的方法,进一步包括以下步骤:
在将所述应用和所述操作系统复制到所述共享存储器的步骤之后,停止所述应用在所述第一计算机或所述第一LPAR中的执行;以及
将所述应用或所述操作系统的程序状态字从所述第一专用存储器复制到所述共享存储器,且然后复制到所述第二专用存储器,以使所述第二计算机或第二LPAR中的所述第一虚拟机在重新开始时将使用所述程序状态字从其停止所述应用或所述操作系统在所述第一计算机或所述第一LPAR中的执行的位置处重新开始所述应用或所述操作系统的执行。
27.如权利要求23所述的方法,进一步包括以下步骤:
在将所述应用和所述操作系统复制到所述共享存储器的步骤之后,停止所述应用在所述第一计算机或所述第一LPAR中的执行;以及
在停止所述应用在所述第一计算机或所述第一LPAR中的执行的步骤之前,所述第一计算机或所述第一LPAR中的所述第二虚拟机向所述通信队列提供第一工作项目;以及
在所述第二计算机或所述第二LPAR中重新开始所述应用的执行的步骤之后,所述第一计算机或所述第一LPAR中的所述第二虚拟机向所述通信队列提供第二工作项目;并且其中所述第二虚拟机使用用于所述通信队列的相同地址向所述通信队列提供所述第一和第二工作项目。
28.一种用于将第一虚拟机从第一实计算机迁移到第二实计算机或从同一实计算机中的第一LPAR迁移到第二LPAR的计算机程序产品,在迁移之前,所述第一虚拟机包括在专用于所述第一虚拟机的第一专用存储器中的操作系统和应用,所述计算机程序产品包括:
计算机可读介质;
将所述第一虚拟机的通信队列存储于由所述第一和第二计算机或所述第一和第二LPAR所共享的共享存储器中的第一程序指令;
将所述操作系统和应用从所述第一专用存储器复制到所述共享存储器的第二程序指令;以及
将所述操作系统和应用从所述共享存储器复制到所述第二计算机或第二LPAR中所述第一虚拟机专用的第二专用存储器,并在所述第二计算机或第二LPAR中重新开始所述第一虚拟机的第三程序指令;并且其中所述第一、第二和第三程序指令记录于所述介质上。
29.如权利要求28所述的计算机程序产品,进一步包括将所述通信队列从所述共享存储器附加到所述第二计算机或第二LPAR中的所述第一虚拟机的第四程序指令;并且其中所述第四程序指令记录在所述介质上。
30.如权利要求28所述的计算机程序产品,进一步包括:
将所述第一计算机或第一LPAR中的所述第一虚拟机所使用的所述通信队列的地址从所述第一专用存储器复制到所述共享存储器,且然后复制到所述第二专用存储器,以使所述第一虚拟机在所述第二计算机或第二LPAR中将使用所述地址来访问所述共享存储器中的所述通信队列的第四程序指令;并且其中所述第四程序指令记录于所述介质上。
31.如权利要求28所述的计算机程序产品,进一步包括:
在所述第一程序指令将所述应用和所述操作系统复制到所述共享存储器之后,停止所述应用在所述第一计算机或所述第一LPAR中的执行的第四程序指令;以及
将所述应用或所述操作系统的程序状态字从所述第一专用存储器复制到所述共享存储器,且然后复制到所述第二专用存储器,以使所述第二计算机或第二LPAR中的所述第一虚拟机在重新开始时将使用所述程序状态字从其停止所述应用或所述操作系统在所述第一计算机或所述第一LPAR中的执行的位置处重新开始所述应用或所述操作系统的执行的第五程序指令,并且其中所述第四和第五程序指令记录在所述介质上。
32.如权利要求28所述的计算机程序产品,进一步包括:
在所述第一程序指令将所述应用和所述操作系统复制到所述共享存储器之后,停止所述应用在所述第一计算机或所述第一LPAR中的执行的第四程序指令;并且其中
在所述第四程序指令停止所述应用在所述第一计算机或所述第一LPAR中的执行之前,所述第一计算机或所述第一LPAR中的所述第二虚拟机向所述通信队列提供第一工作项目;以及
在所述第三程序指令在所述第二计算机或所述第二LPAR中重新开始所述应用的执行之后,所述第一计算机或所述第一LPAR中的所述第二虚拟机向所述通信队列提供第二工作项目;以及
所述第二虚拟机使用用于所述通信队列的相同地址向所述通信队列提供所述第一和第二工作项目;以及
所述第四程序指令记录于所述介质上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/843,931 US7257811B2 (en) | 2004-05-11 | 2004-05-11 | System, method and program to migrate a virtual machine |
US10/843,931 | 2004-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1696902A true CN1696902A (zh) | 2005-11-16 |
CN1333341C 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) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100489787C (zh) * | 2007-07-10 | 2009-05-20 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
CN101187902B (zh) * | 2006-09-22 | 2010-06-16 | 英特尔公司 | 在虚拟机环境中的客户机之间共享信息 |
CN101390079B (zh) * | 2006-02-28 | 2010-12-08 | 微软公司 | 迁移拥有诸如硬件设备等资源的虚拟机 |
CN101924693A (zh) * | 2009-04-01 | 2010-12-22 | 威睿公司 | 用于在虚拟机间迁移进程的方法和系统 |
CN101059768B (zh) * | 2006-04-17 | 2011-01-05 | 北京软通科技有限责任公司 | 实现操作系统备用的系统及方法 |
CN102136993A (zh) * | 2010-07-29 | 2011-07-27 | 华为技术有限公司 | 一种数据迁移的方法、装置和系统 |
CN102202075A (zh) * | 2010-03-26 | 2011-09-28 | 联想(北京)有限公司 | 数据共享方法及便携终端 |
CN102298537A (zh) * | 2011-06-10 | 2011-12-28 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序的迁移方法及系统 |
CN102317909A (zh) * | 2008-12-19 | 2012-01-11 | 思杰系统有限公司 | 便于在多个物理机器间迁移虚拟机的系统和方法 |
CN101464812B (zh) * | 2009-01-06 | 2012-05-30 | 北京航空航天大学 | 一种虚拟机迁移方法 |
CN102597958A (zh) * | 2009-11-16 | 2012-07-18 | 国际商业机器公司 | 虚拟机的对称实时迁移 |
CN101313277B (zh) * | 2005-11-17 | 2012-07-25 | 国际商业机器公司 | 用于携带多个挂起的运行时映像的方法与系统 |
CN101681268B (zh) * | 2007-06-27 | 2012-09-26 | 国际商业机器公司 | 管理虚拟机存储器的系统、方法和程序 |
CN102782673A (zh) * | 2010-02-26 | 2012-11-14 | 国际商业机器公司 | 用于对象迁移波的系统和方法 |
CN101382906B (zh) * | 2007-09-06 | 2013-05-15 | 戴尔产品有限公司 | 在多个信息处理系统之间执行虚拟机迁移的方法和设备 |
CN103279387A (zh) * | 2012-01-06 | 2013-09-04 | 国际商业机器公司 | 对相关资源分区重定位 |
CN101669106B (zh) * | 2007-04-25 | 2013-10-16 | 微软公司 | 虚拟机迁移的系统和方法 |
CN103729230A (zh) * | 2012-10-11 | 2014-04-16 | 财团法人工业技术研究院 | 虚拟机系统的内存管理方法和计算机系统 |
CN103810036A (zh) * | 2012-11-07 | 2014-05-21 | 国际商业机器公司 | 移动性操作资源分配 |
CN103873290A (zh) * | 2012-12-14 | 2014-06-18 | 国际商业机器公司 | 一种用于评估应用的性能的方法和系统 |
CN104025052A (zh) * | 2011-12-29 | 2014-09-03 | 瑞典爱立信有限公司 | 使用3gpp mcim的虚拟机迁移 |
CN102541658B (zh) * | 2006-05-08 | 2014-09-24 | 微软公司 | 将机器转换为虚拟机 |
CN106021142A (zh) * | 2015-03-24 | 2016-10-12 | 国际商业机器公司 | 用于在客户机之间共享存储器的方法和系统 |
CN106095524A (zh) * | 2011-12-22 | 2016-11-09 | 中国移动通信集团公司 | 一种虚拟机部署方法、系统和装置 |
CN108108173A (zh) * | 2016-11-23 | 2018-06-01 | 中兴通讯股份有限公司 | 一种信息处理方法和装置 |
CN111868687A (zh) * | 2018-03-20 | 2020-10-30 | 三菱电机株式会社 | 信息处理装置、方法及程序 |
CN113448773A (zh) * | 2020-03-24 | 2021-09-28 | 横河电机株式会社 | 容错系统 |
Families Citing this family (347)
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 |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet 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 |
US8122280B2 (en) * | 2004-08-26 | 2012-02-21 | Open Invention Network, Llc | Method and system for providing high availability to computer 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 |
US8352730B2 (en) | 2004-12-20 | 2013-01-08 | 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 |
US9286109B1 (en) | 2005-08-26 | 2016-03-15 | Open Invention Network, Llc | Method and system for providing checkpointing to windows application groups |
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 |
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 |
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 |
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 |
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 |
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 |
US8219129B2 (en) | 2006-01-06 | 2012-07-10 | Proxense, Llc | Dynamic real-time tiered client access |
US8521912B2 (en) * | 2006-01-12 | 2013-08-27 | Broadcom Corporation | Method and system for direct device access |
US7814495B1 (en) | 2006-03-31 | 2010-10-12 | V Mware, Inc. | On-line replacement and changing of virtualization software |
US8412949B2 (en) | 2006-05-05 | 2013-04-02 | Proxense, Llc | Personal digital key initialization and registration for secure transactions |
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 |
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 |
US8949825B1 (en) | 2006-10-17 | 2015-02-03 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US9086917B1 (en) | 2006-10-17 | 2015-07-21 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US9038062B2 (en) * | 2006-10-17 | 2015-05-19 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US8752045B2 (en) | 2006-10-17 | 2014-06-10 | Manageiq, Inc. | Methods and apparatus for using tags to control and manage assets |
US9015703B2 (en) * | 2006-10-17 | 2015-04-21 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US8612971B1 (en) | 2006-10-17 | 2013-12-17 | Manageiq, Inc. | Automatic optimization for virtual systems |
US8234640B1 (en) * | 2006-10-17 | 2012-07-31 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US8458695B2 (en) | 2006-10-17 | 2013-06-04 | Manageiq, Inc. | Automatic optimization for virtual systems |
US8234641B2 (en) | 2006-10-17 | 2012-07-31 | Managelq, Inc. | Compliance-based adaptations in managed virtual systems |
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 |
US20080104586A1 (en) * | 2006-10-27 | 2008-05-01 | Microsoft Corporation | Allowing Virtual Machine to Discover Virtual Status Thereof |
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 |
US8554981B2 (en) * | 2007-02-02 | 2013-10-08 | Vmware, Inc. | High availability virtual machine cluster |
US20080189432A1 (en) * | 2007-02-02 | 2008-08-07 | International Business Machines Corporation | Method and system for vm migration in an infiniband network |
US9043391B2 (en) | 2007-02-15 | 2015-05-26 | Citrix Systems, Inc. | Capturing and restoring session state of a machine without using memory images |
US8176486B2 (en) | 2007-02-15 | 2012-05-08 | Clearcube Technology, Inc. | Maintaining a pool of free virtual machines on a server computer |
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 |
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 |
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 |
US8984504B2 (en) * | 2007-06-22 | 2015-03-17 | Red Hat, Inc. | Method and system for determining a host machine by 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 |
US9588821B2 (en) | 2007-06-22 | 2017-03-07 | Red Hat, Inc. | Automatic determination of required resource allocation of virtual machines |
US9426024B2 (en) | 2007-06-22 | 2016-08-23 | Red Hat, Inc. | Establishing communication between enterprise nodes migrated to a public cloud and private enterprise infrastructure |
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 |
US8656009B2 (en) | 2010-10-15 | 2014-02-18 | Red Hat, Inc. | Indicating an impact of a change in state of a node |
US9569330B2 (en) | 2007-06-22 | 2017-02-14 | Red Hat, Inc. | Performing dependency analysis on nodes of a business application service group |
US9678803B2 (en) * | 2007-06-22 | 2017-06-13 | Red Hat, Inc. | Migration of network entities to a cloud infrastructure |
US8429748B2 (en) * | 2007-06-22 | 2013-04-23 | Red Hat, Inc. | Network traffic analysis using a dynamically updating ontological network description |
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 |
US8949827B2 (en) * | 2007-06-22 | 2015-02-03 | Red Hat, Inc. | Tracking a virtual machine |
US9727440B2 (en) | 2007-06-22 | 2017-08-08 | Red Hat, Inc. | Automatic simulation of virtual machine performance |
US8336108B2 (en) * | 2007-06-22 | 2012-12-18 | Red Hat, Inc. | Method and system for collaboration involving enterprise nodes |
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 |
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 |
US8671256B2 (en) * | 2007-08-27 | 2014-03-11 | International Business Machines Corporation | Migrating contents of a memory on a virtual machine |
US8694990B2 (en) * | 2007-08-27 | 2014-04-08 | International Business Machines Corporation | Utilizing system configuration information 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 |
US20090063753A1 (en) * | 2007-08-27 | 2009-03-05 | International Business Machines Corporation | Method for utilizing data access patterns to determine a data migration order |
US9274949B2 (en) * | 2007-08-27 | 2016-03-01 | International Business Machines Corporation | Tracking data updates during memory 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 |
WO2009062194A1 (en) | 2007-11-09 | 2009-05-14 | 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 |
US9251332B2 (en) | 2007-12-19 | 2016-02-02 | 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 | 삼성전자주식회사 | 가상 머신의 상태를 저장, 복원하는 방법 및 장치 |
US8508336B2 (en) | 2008-02-14 | 2013-08-13 | 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 |
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 |
US7809875B2 (en) * | 2008-06-30 | 2010-10-05 | Wind River Systems, Inc. | Method and system for secure communication between processor partitions |
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 |
US9798560B1 (en) | 2008-09-23 | 2017-10-24 | Gogrid, LLC | Automated system and method for extracting and adapting system configurations |
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 |
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 |
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 |
US8281317B1 (en) | 2008-12-15 | 2012-10-02 | Open Invention Network Llc | Method and computer readable medium for providing checkpointing to windows application groups |
US8464256B1 (en) | 2009-04-10 | 2013-06-11 | Open Invention Network, Llc | System and method for hierarchical interception with isolated environments |
US8782670B2 (en) * | 2009-04-10 | 2014-07-15 | Open Invention Network, Llc | System and method for application isolation |
US8752048B1 (en) | 2008-12-15 | 2014-06-10 | Open Invention Network, Llc | Method and system for providing checkpointing to windows application groups |
US8341631B2 (en) | 2009-04-10 | 2012-12-25 | Open Invention Network Llc | System and method for application isolation |
US8539488B1 (en) | 2009-04-10 | 2013-09-17 | Open Invention Network, Llc | System and method for application isolation with live migration |
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 |
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 |
US8862538B2 (en) * | 2008-12-18 | 2014-10-14 | International Business Machines Corporation | Maintaining a network connection of a workload during transfer |
US9594582B2 (en) * | 2009-01-05 | 2017-03-14 | International Business Machines Corporation | Detection and management of dynamic migration of virtual environments |
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の動的マイグレーション装置、その方法及びそのプログラム |
US10452817B1 (en) * | 2009-04-08 | 2019-10-22 | Trend Micro Inc | File input/output redirection in an API-proxy-based application emulator |
US8555360B1 (en) | 2009-04-10 | 2013-10-08 | Open Invention Network Llc | System and method for on-line and off-line streaming application isolation |
US11538078B1 (en) | 2009-04-10 | 2022-12-27 | International Business Machines Corporation | System and method for usage billing of hosted applications |
US8418236B1 (en) | 2009-04-10 | 2013-04-09 | Open Invention Network Llc | System and method for 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 |
JP5218252B2 (ja) * | 2009-04-24 | 2013-06-26 | 富士通株式会社 | バススイッチ,コンピュータシステム及びコンピュータシステムの管理方法 |
WO2010123140A1 (ja) * | 2009-04-24 | 2010-10-28 | 日本電気株式会社 | パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体 |
WO2010126048A1 (ja) * | 2009-04-28 | 2010-11-04 | 日本電気株式会社 | 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム |
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 |
US8813048B2 (en) | 2009-05-11 | 2014-08-19 | Accenture Global Services Limited | Single code set applications executing in a multiple 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 |
DE102009053643A1 (de) * | 2009-11-17 | 2011-05-19 | Sinitec Vertriebsgesellschaft Mbh | Verfahren zur Migration von Daten sowie Computerprogramm zur Durchführung eines entsprechenden Verfahrens |
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 |
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 |
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 |
US8327060B2 (en) * | 2009-11-30 | 2012-12-04 | Red Hat Israel, Ltd. | Mechanism for live migration of virtual machines with memory optimizations |
US8352953B2 (en) | 2009-12-03 | 2013-01-08 | International Business Machines Corporation | Dynamically provisioning virtual machines |
US8311032B2 (en) * | 2009-12-03 | 2012-11-13 | 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 | 富士通株式会社 | 情報処理装置、計算機システム及びプログラム |
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 |
JP5515889B2 (ja) * | 2010-03-15 | 2014-06-11 | 日本電気株式会社 | 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム |
US9418205B2 (en) * | 2010-03-15 | 2016-08-16 | Proxense, Llc | Proximity-based system for automatic application or data access and item tracking |
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 |
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 | 日本電気株式会社 | 管理サーバおよび仮想マシン配置制御方法 |
US8495512B1 (en) | 2010-05-20 | 2013-07-23 | Gogrid, LLC | System and method for storing a configuration of virtual servers 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 |
US9052965B2 (en) | 2010-06-10 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | Virtual machine for execution on multiple computing systems |
US8839238B2 (en) * | 2010-06-11 | 2014-09-16 | International Business Machines Corporation | Dynamic virtual machine shutdown without service interruptions |
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 |
US8271710B2 (en) * | 2010-06-24 | 2012-09-18 | International Business Machines Corporation | Moving ownership of a device between compute elements |
US8601129B2 (en) * | 2010-06-30 | 2013-12-03 | International Business Machines Corporation | Hypervisor selection for hosting a virtual machine image |
CN102314377B (zh) * | 2010-06-30 | 2014-08-06 | 国际商业机器公司 | 加速器及其实现支持虚拟机迁移的方法 |
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 |
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 |
AU2011308518B2 (en) * | 2010-09-30 | 2014-12-04 | 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 |
JP5733318B2 (ja) * | 2010-11-12 | 2015-06-10 | 株式会社日立製作所 | 計算機システム |
US8756602B2 (en) | 2010-11-14 | 2014-06-17 | Brocade Communications Systems, Inc. | Virtual machine and application migration over local and wide area networks without timeout |
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 |
US20130117168A1 (en) | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
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 |
US20120173653A1 (en) * | 2010-12-30 | 2012-07-05 | International Business Machines Corporation | Virtual machine migration in fabric attached memory |
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 |
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 |
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 |
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 |
JP5147955B2 (ja) * | 2011-01-25 | 2013-02-20 | 株式会社日立製作所 | 仮想計算機システム |
US8850430B2 (en) * | 2011-01-25 | 2014-09-30 | International Business Machines Corporation | Migration of virtual machines |
US9288117B1 (en) | 2011-02-08 | 2016-03-15 | Gogrid, LLC | System and method for managing virtual and dedicated servers |
US9265450B1 (en) | 2011-02-21 | 2016-02-23 | Proxense, Llc | 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 |
US9552215B2 (en) | 2011-03-08 | 2017-01-24 | Rackspace Us, Inc. | Method and system for transferring 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 |
WO2012147116A1 (en) * | 2011-04-25 | 2012-11-01 | Hitachi, Ltd. | Computer system and virtual machine control method |
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 | 中兴通讯股份有限公司 | 虚拟机无缝迁移的方法、管理器及系统 |
US8843924B2 (en) | 2011-06-17 | 2014-09-23 | International Business Machines Corporation | Identification of over-constrained virtual machines |
US8966084B2 (en) | 2011-06-17 | 2015-02-24 | International Business Machines Corporation | Virtual machine load balancing |
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 |
US8631423B1 (en) | 2011-10-04 | 2014-01-14 | Symantec Corporation | Translating input/output calls in a mixed virtualization environment |
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 |
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 |
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 |
WO2013140524A1 (ja) * | 2012-03-19 | 2013-09-26 | 富士通株式会社 | プログラム、管理サーバおよびパッチスケジューリング方法 |
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 | 飛康國際網路科技股份有限公司 | 自動災難復原和資料遷移系統及方法 |
EP2852891A1 (en) * | 2012-06-27 | 2015-04-01 | Qatar Foundation | An 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 |
US9529613B2 (en) * | 2012-12-12 | 2016-12-27 | Vmware, Inc. | Methods and apparatus to reclaim resources in virtual computing environments |
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 |
US9110722B2 (en) | 2013-02-28 | 2015-08-18 | International Business Machines Corporation | Data processing work allocation |
WO2014133522A2 (en) | 2013-02-28 | 2014-09-04 | Empire Technology Development, Llc | Local message queue processing for co-located workers |
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 |
EP2979180B1 (en) * | 2013-03-27 | 2019-10-30 | Keysight Technologies Singapore (Sales) Pte. Ltd. | 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 |
US9405898B2 (en) | 2013-05-10 | 2016-08-02 | 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 |
US20170132030A1 (en) * | 2014-03-27 | 2017-05-11 | Nec Corporation | Virtual machine system, control method thereof, and control program recording medium thereof |
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 |
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 |
US10216254B1 (en) * | 2016-06-29 | 2019-02-26 | Altera Corporation | Methods and apparatus for selectively extracting and loading register states |
US10362092B1 (en) | 2016-10-14 | 2019-07-23 | Nutanix, Inc. | Entity management in distributed systems |
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 |
US10552294B2 (en) | 2017-03-31 | 2020-02-04 | 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 |
US11294786B2 (en) | 2017-03-31 | 2022-04-05 | 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 |
US10606630B2 (en) | 2018-02-02 | 2020-03-31 | Nutanix, Inc. | System and method for preserving entity identifiers |
US10613893B2 (en) * | 2018-02-02 | 2020-04-07 | Nutanix, Inc. | System and method for reducing downtime during hypervisor conversion |
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 |
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 |
Family Cites Families (39)
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 |
JP3653159B2 (ja) * | 1997-04-01 | 2005-05-25 | 株式会社日立製作所 | 仮想計算機システム間の仮想計算機移動制御方法 |
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 |
US6223202B1 (en) * | 1998-06-05 | 2001-04-24 | International Business Machines Corp. | Virtual machine pooling |
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 |
EP1291023A1 (en) * | 2000-06-14 | 2003-03-12 | Takeda Chemical Industries, Ltd. | Sustained release compositions |
JP2002041305A (ja) * | 2000-07-26 | 2002-02-08 | Hitachi Ltd | 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム |
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 |
JP4012517B2 (ja) * | 2003-04-29 | 2007-11-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 仮想計算機環境におけるロックの管理 |
US7299468B2 (en) * | 2003-04-29 | 2007-11-20 | International Business Machines Corporation | Management of virtual machines to utilize shared resources |
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 |
-
2004
- 2004-05-11 US US10/843,931 patent/US7257811B2/en active Active
-
2005
- 2005-03-17 CN CNB200510055454XA patent/CN1333341C/zh active Active
- 2005-04-27 JP JP2005130300A patent/JP4769484B2/ja active Active
- 2005-05-02 TW TW094114077A patent/TWI370974B/zh active
-
2007
- 2007-03-30 US US11/694,231 patent/US8352938B2/en active Active
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101313277B (zh) * | 2005-11-17 | 2012-07-25 | 国际商业机器公司 | 用于携带多个挂起的运行时映像的方法与系统 |
CN101390079B (zh) * | 2006-02-28 | 2010-12-08 | 微软公司 | 迁移拥有诸如硬件设备等资源的虚拟机 |
CN101059768B (zh) * | 2006-04-17 | 2011-01-05 | 北京软通科技有限责任公司 | 实现操作系统备用的系统及方法 |
CN102541658B (zh) * | 2006-05-08 | 2014-09-24 | 微软公司 | 将机器转换为虚拟机 |
CN101187902B (zh) * | 2006-09-22 | 2010-06-16 | 英特尔公司 | 在虚拟机环境中的客户机之间共享信息 |
CN101669106B (zh) * | 2007-04-25 | 2013-10-16 | 微软公司 | 虚拟机迁移的系统和方法 |
CN101681268B (zh) * | 2007-06-27 | 2012-09-26 | 国际商业机器公司 | 管理虚拟机存储器的系统、方法和程序 |
CN100489787C (zh) * | 2007-07-10 | 2009-05-20 | 北京大学 | 一种虚拟机的外存在线迁移方法 |
CN101382906B (zh) * | 2007-09-06 | 2013-05-15 | 戴尔产品有限公司 | 在多个信息处理系统之间执行虚拟机迁移的方法和设备 |
CN102317909A (zh) * | 2008-12-19 | 2012-01-11 | 思杰系统有限公司 | 便于在多个物理机器间迁移虚拟机的系统和方法 |
CN101464812B (zh) * | 2009-01-06 | 2012-05-30 | 北京航空航天大学 | 一种虚拟机迁移方法 |
CN101924693A (zh) * | 2009-04-01 | 2010-12-22 | 威睿公司 | 用于在虚拟机间迁移进程的方法和系统 |
CN101924693B (zh) * | 2009-04-01 | 2014-05-07 | 威睿公司 | 用于在虚拟机间迁移进程的方法和系统 |
CN102597958A (zh) * | 2009-11-16 | 2012-07-18 | 国际商业机器公司 | 虚拟机的对称实时迁移 |
CN102597958B (zh) * | 2009-11-16 | 2014-12-24 | 国际商业机器公司 | 虚拟机的对称实时迁移 |
US10664456B2 (en) | 2010-02-26 | 2020-05-26 | International Business Machines Corporation | System and method for object migration using waves |
US9971795B2 (en) | 2010-02-26 | 2018-05-15 | International Business Machines Corporation | System and method for object migration using waves |
CN102782673A (zh) * | 2010-02-26 | 2012-11-14 | 国际商业机器公司 | 用于对象迁移波的系统和方法 |
US9141919B2 (en) | 2010-02-26 | 2015-09-22 | International Business Machines Corporation | System and method for object migration using waves |
CN102782673B (zh) * | 2010-02-26 | 2015-08-19 | 国际商业机器公司 | 用于对象迁移波的系统和方法 |
US11301439B2 (en) | 2010-02-26 | 2022-04-12 | International Business Machines Corporation | System and method for object migration using waves |
CN102202075A (zh) * | 2010-03-26 | 2011-09-28 | 联想(北京)有限公司 | 数据共享方法及便携终端 |
US9516093B2 (en) | 2010-03-26 | 2016-12-06 | Lenovo (Beijing) Limited | Data sharing methods and portable terminals |
CN102202075B (zh) * | 2010-03-26 | 2013-12-04 | 联想(北京)有限公司 | 数据共享方法及便携终端 |
WO2011116626A1 (zh) * | 2010-03-26 | 2011-09-29 | 联想(北京)有限公司 | 数据共享方法及便携终端 |
CN102136993B (zh) * | 2010-07-29 | 2016-12-21 | 华为技术有限公司 | 一种数据迁移的方法、装置和系统 |
CN102136993A (zh) * | 2010-07-29 | 2011-07-27 | 华为技术有限公司 | 一种数据迁移的方法、装置和系统 |
CN102298537A (zh) * | 2011-06-10 | 2011-12-28 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序的迁移方法及系统 |
CN106095524A (zh) * | 2011-12-22 | 2016-11-09 | 中国移动通信集团公司 | 一种虚拟机部署方法、系统和装置 |
CN106095524B (zh) * | 2011-12-22 | 2019-04-02 | 中国移动通信集团公司 | 一种虚拟机部署方法、系统和装置 |
CN104025052B (zh) * | 2011-12-29 | 2018-09-18 | 瑞典爱立信有限公司 | 使用3gpp mcim的虚拟机迁移方法和电信网络实体 |
CN104025052A (zh) * | 2011-12-29 | 2014-09-03 | 瑞典爱立信有限公司 | 使用3gpp mcim的虚拟机迁移 |
CN103279387B (zh) * | 2012-01-06 | 2017-03-01 | 国际商业机器公司 | 对相关资源分区重定位的方法、装置和系统 |
CN103279387A (zh) * | 2012-01-06 | 2013-09-04 | 国际商业机器公司 | 对相关资源分区重定位 |
CN103729230B (zh) * | 2012-10-11 | 2017-04-12 | 财团法人工业技术研究院 | 虚拟机系统的内存管理方法和计算机系统 |
CN103729230A (zh) * | 2012-10-11 | 2014-04-16 | 财团法人工业技术研究院 | 虚拟机系统的内存管理方法和计算机系统 |
CN103810036B (zh) * | 2012-11-07 | 2017-11-24 | 国际商业机器公司 | 移动性操作资源分配 |
CN103810036A (zh) * | 2012-11-07 | 2014-05-21 | 国际商业机器公司 | 移动性操作资源分配 |
CN103873290A (zh) * | 2012-12-14 | 2014-06-18 | 国际商业机器公司 | 一种用于评估应用的性能的方法和系统 |
CN106021142A (zh) * | 2015-03-24 | 2016-10-12 | 国际商业机器公司 | 用于在客户机之间共享存储器的方法和系统 |
CN106021142B (zh) * | 2015-03-24 | 2019-03-22 | 国际商业机器公司 | 用于在客户机之间共享存储器的方法和系统 |
CN108108173A (zh) * | 2016-11-23 | 2018-06-01 | 中兴通讯股份有限公司 | 一种信息处理方法和装置 |
CN111868687A (zh) * | 2018-03-20 | 2020-10-30 | 三菱电机株式会社 | 信息处理装置、方法及程序 |
CN111868687B (zh) * | 2018-03-20 | 2021-09-17 | 三菱电机株式会社 | 信息处理装置、方法及程序 |
CN113448773A (zh) * | 2020-03-24 | 2021-09-28 | 横河电机株式会社 | 容错系统 |
Also Published As
Publication number | Publication date |
---|---|
TWI370974B (en) | 2012-08-21 |
US20070169121A1 (en) | 2007-07-19 |
JP2005327279A (ja) | 2005-11-24 |
US8352938B2 (en) | 2013-01-08 |
US7257811B2 (en) | 2007-08-14 |
CN1333341C (zh) | 2007-08-22 |
JP4769484B2 (ja) | 2011-09-07 |
TW200608221A (en) | 2006-03-01 |
US20050268298A1 (en) | 2005-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1696902A (zh) | 迁移虚拟机的系统、方法和程序 | |
US10362101B2 (en) | Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management | |
US20160378554A1 (en) | Parallel and Distributed Computing Using Multiple Virtual Machines | |
US7328437B2 (en) | Management of locks in a virtual machine environment | |
US7784060B2 (en) | Efficient virtual machine communication via virtual machine queues | |
KR102028096B1 (ko) | 하이퍼바이저 기반의 가상 머신 격리 장치 및 방법 | |
DE112011102183B4 (de) | Beschleuniger für die Migration virtueller Maschinen | |
US9081612B2 (en) | Virtual machine control method and virtual machine | |
US20080229320A1 (en) | Method, an apparatus and a system for controlling of parallel execution of services | |
JP2004326753A (ja) | 仮想計算機環境におけるロックの管理 | |
JP4705051B2 (ja) | 計算機システム | |
US20170149778A1 (en) | Method and system for providing access to administrative functionality a virtualization environment | |
CN108140086B (zh) | 通过一组互连可编程设备安全执行虚拟机的方法和系统 | |
KR20090079012A (ko) | 가상 머신의 상태를 저장, 복원하는 방법 및 장치 | |
CN1766842A (zh) | 用于管理逻辑分区抢占的系统 | |
CN113032101B (zh) | 虚拟机的资源分配方法、服务器及计算机可读存储介质 | |
KR20180045347A (ko) | 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치 | |
US20180227363A1 (en) | Maintaining partition-tolerant distributed metadata | |
EP3138023A1 (en) | Associating cache memory with a work process | |
US20090222640A1 (en) | Memory Migration in a Logically Partitioned Computer System | |
JP2008107966A (ja) | 計算機システム | |
US9971785B1 (en) | System and methods for performing distributed data replication in a networked virtualization environment | |
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) | 서비스 프로파일을 고려한 컨테이너의 배치 방법 | |
US20140068734A1 (en) | Managing Access to a Shared Resource Using Client Access Credentials |
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 |