CN102057355A - 同步虚拟机和应用程序生存周期 - Google Patents
同步虚拟机和应用程序生存周期 Download PDFInfo
- Publication number
- CN102057355A CN102057355A CN2009801223875A CN200980122387A CN102057355A CN 102057355 A CN102057355 A CN 102057355A CN 2009801223875 A CN2009801223875 A CN 2009801223875A CN 200980122387 A CN200980122387 A CN 200980122387A CN 102057355 A CN102057355 A CN 102057355A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- application
- layer
- institute
- requested
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/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/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
虚拟环境可被配置成协调虚拟机和在其中执行的应用程序的生存周期。在一个实现中,虚拟环境包括应用层和虚拟机层。应用层与虚拟机层进行通信来按照与应用程序一致的方式来协调并引导虚拟机创建和删除。例如,应用层接收要启动应用程序的请求。应用层从相关联的应用程序属性中确定要创建的虚拟机的类型和/或数量。应用层随后引导适当的虚拟机的创建(通过虚拟机层),并进一步引导其中所请求的应用程序的安装。在检测到应用程序从所创建的虚拟机中的移除时,应用层可自动地引导相应的虚拟机的移除或停止使用。
Description
背景
1.背景和相关技术
传统计算机***现在通常用于各种目的,无论是出于生产力、娱乐还是其他。这种情况的一个原因是计算机***不仅往往用任务自动化来增加效率,而且计算机***还容易地随着时间为这些任务被配置和重新配置。例如,如果用户发现一个或多个应用程序运行地太慢,则用户添加更多存储器(例如,RAM)、添加或换出一个或多个处理器(例如,CPU、GPU等)是相对直截了当的做法。添加或改进当前存储,或者甚至添加或更换可用于共享或处理工作负载的其他***设备也可以是直截了当的做法。类似地,用户安装或升级计算机上的包括操作***在内的各种应用程序也是相对直截了当的做法。这在理论上甚至在大型企业范围中往往是正确的。
然而,在实践中,纯粹添加或更换物理计算机硬件的能力常常可能是令人畏缩的,尤其是在大规模的情况下,有时候会导致若干小时的额外时间来安置并配置新的计算机***(或升级组件)。幸运的是,近来虚拟机(“VM”)技术的开发已经改进或消除了许多这些类型的约束。例如,虚拟机包括作为额外且唯一的计算机***来操作的一组电子文件,虽然是在另一物理主机计算机***的范围和资源限制之内的。
另外,每一虚拟机的文件集就资源访问而言可容易地被配置和重新配置,并且在单个物理主机上可安装有多个不同的虚拟机。此外,每一虚拟机可按不同级别来访问主机的资源。此外,任意给定主机计算机***上的虚拟机的数量以及对于每一虚拟机的资源分配可相对容易地随着时间而改变。然而,每一虚拟机的用户往往不受这些改变的影响,并且一般能够访问并查看每一不同的虚拟机,就像该虚拟机是带有其自己的资源的单独且不同的物理计算机***一样。出于至少这些原因,企业正在越来越多地使用虚拟机技术。
另外,虚拟***的另一优点是管理员可提前很短时间根据需要添加几乎尽可能多的虚拟机以便运行特定应用程序。例如,***管理员可确定要在某一时刻创建一个或多个虚拟机来处理一个网络位置中的数据库应用程序的需求,并确定要创建另一组虚拟机来处理另一网络位置处的网络和电子邮件通信的需求。在作出确定之后,***管理员本质上在需要时创建虚拟机,然后为这些应用程序配置虚拟机。这些配置可涉及***管理员(或者在某些情况下,不同的应用程序管理员)将相关应用程序安装在新的虚拟机上。所有这些预配和安装可在确定初始需求之后的几个小时之内发生。
当然,管理员能够建立并设置虚拟机来处理应用程序的容易度可导致与管理虚拟机以及其上运行的应用程序相关的其他问题。具体地,一个越来越常见的问题是企业常常比其能够跟踪的更快地创建并使用虚拟机。由于虚拟机创建的速度,任意给定管理员可能不知道在给定时刻创建了多少虚拟机以及为任意特定物理主机创建了哪些虚拟机。
类似地,在标识哪些虚拟机正在运行以及哪些应用程序正在虚拟机上运行时常常发生记录保持断开连接的情况。用于保持对这些信息的跟踪的常规机制一般涉及管理员维护关于创建了什么和删除或停止使用了什么的详细日志(例如,在电子表格上)。这不仅对于大量虚拟机和应用程序而言可能是费力的,而且在管理员将要创建的与其他管理员将要输入到日志中的之间常常存在一致性的缺失。这对于可具有大量正在安装并使用虚拟机的管理员或用户的企业***而言尤其如此。
因此,***管理员保持对一组物理主机上的一组特定虚拟机的跟踪但是不知道另一管理员已经在那些虚拟机上安装了其他应用程序并非是不常见的,尤其对于大型企业。如果最初创建虚拟机的管理员试图删除或停止使用该虚拟机,则该管理员可能接收到指示其他应用程序正在该虚拟机上运行的出错消息。最初的管理员随后可能将该虚拟机置之不理。在其他管理员稍后移除阻止删除该虚拟机的其他应用程序,但无法删除该虚拟机的情况下,该虚拟机可能几乎无限期地保留在***上。
因此,可以明白,给定应用程序的生存周期常常无法与虚拟机的生存周期一致。这部分地是由于几乎不能确保在管理员卸载了应用程序并且不再需要该虚拟机时管理员会停止使用或移除该虚拟机。出于这些和其它原因,实现虚拟化技术的企业常常碰到通常称为“虚拟机蔓延”(或“VM蔓延”)的问题。
实质上,虚拟机蔓延描述了其中企业可不断地创建虚拟机,但另外却失去了对正如何使用虚拟机和/或谁可能仍然在使用虚拟机的跟踪的情景。可以明白,虚拟机蔓延可造成对企业资源的不必要的耗尽。这种耗尽至少部分地是由于应该被删除的虚拟机可能仍然把持着不能被其它虚拟机使用的各种硬件资源而发生。这种耗尽也至少部分地是由于企业的员工可能需要花费大量的资源来正确地标识***中每一虚拟机的详情并判定虚拟机是否真正需要而发生的。
因此,对于管理企业中的虚拟机有许多可以解决的困难。可以明白,当企业使用涉及在多个不同虚拟(和物理)机处执行的多个组件的分布式应用程序时,这些困难可能特别棘手。
简要概述
本发明的各实现用被配置成高效地管理企业中虚拟机的创建、操作和停止使用的***、方法和计算机程序产品来克服本领域中的一个或多个问题。例如,在一个实现中,***包括响应于要安装或卸载应用程序的请求通过一个或多个虚拟机层来协调并引导虚拟机创建和删除的应用层。应用层还可通过在***中运行的其它执行应用程序所引用的公共数据结构来协调正在安装和/或卸载的程序。由此,应用层可确保虚拟机和应用程序生存周期一致。
例如,从应用层的角度来看的一种方法可涉及在应用层中接收要启动应用程序的一个或多个请求。该方法还可涉及从所请求的应用程序的一个或多个属性中确定应该部署一个或多个虚拟机中的哪一些来执行所请求的应用程序。另外,该方法可涉及将一个或多个虚拟机命令从应用层发送至虚拟机层来为所请求的应用程序部署所确定的一个或多个虚拟机。此外,该方法可涉及将所请求的应用程序安装在所部署的一个或多个虚拟机上。
除上述之外,从管理一个或多个虚拟机的创建、操作和停止使用的整个***的角度来看的一种方法可涉及在应用层(103)处接收要启动应用程序的一个或多个请求。所请求的应用程序包括指示要使用的虚拟机的类型和数量的一个或多个属性。该方法还可涉及审阅应用层中的一个或多个数据结构来标识在计算机化环境中可用的一个或多个虚拟机。另外,该方法可涉及指示虚拟机层将所请求的应用程序安装在一个或多个物理主机处安装的可用虚拟机中的一个或多个上。此外,该方法可涉及在通过数据结构标识了所请求的应用程序已经从虚拟机卸载之后,应用层自动地引导虚拟机从相应的物理主机的移除。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的其他特征和优点将在随后的描述中阐述,并且部分地将从本说明书中显而易见,或可以通过本发明的实施来获知。本发明的特征和优点可通过在所附权利要求书中特别指出的工具和组合来实现和获得。本发明的这些和其他特征将通过以下描述和所附权利要求书变得更加显而易见,或可通过对下文中所述的本发明的实践来领会。
附图简述
为了描述可以获得本发明的上文所列举的及其他优点和特征的方式,将通过参考附图中所示的本发明的各具体实施例来呈现上文简要描述的本发明的更具体的描述。可以理解,这些附图只描绘了本发明的各典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释本发明,在附图中:
图1A示出根据本发明一实现的其中应用层用虚拟机层来实现一个或多个应用程序安装指令的概略示意图;
图1B示出其中应用层将所请求的应用程序安装或配置在虚拟机层所建立的一个或多个虚拟机中的图1A的示意图;
图1C示出其中应用层标识先前安装的应用程序已经被卸载并因此通过虚拟机层来移除相应虚拟机的概略示意图;
图2示出从应用层的角度来看的用于安装与所请求的应用程序相对应的虚拟机的流程图;以及
图3示出从整个***的角度来看的用于协调应用程序和虚拟机的生存周期的流程图。
详细描述
本发明的各实现涉及被配置成高效地管理企业中虚拟机的创建、操作和停止使用的***、方法和计算机程序产品。例如,在一个实现中,***包括响应于要安装或卸载应用程序的请求通过一个或多个虚拟机层来协调并引导虚拟机创建和删除的应用层。应用层还可通过在***中运行的其它执行应用程序所引用的公共数据结构来协调正在安装和/或卸载的程序。由此,应用层可确保虚拟机和应用程序生存周期一致。
如此处将更全面地理解的,本发明的各实现可用包括应用层和虚拟化管理层(或“虚拟机层”)的软件***来实现这些和其它目的。这两个层具有不同的责任并使用唯一的对话彼此通信。可以明白,此处描述的这些和其它组件可提供对混合虚拟和物理硬件环境的支持以及对所提出的软件栈体系结构的具体实例化。具体地,本发明的各实现可用于提供在联合虚拟机管理器上的联合应用程序平台。该联合应用程序平台进而可由表示应用程序和虚拟环境的声明性模型的一个或多个数据结构来驱动。
例如,根据本发明一实现的至少一种方法包括基于应用程序的声明性模型来构造虚拟环境。另外,根据本发明一实现的方法可包括控制虚拟环境中虚拟机的生存周期与应用程序生存周期一致。另外,这些方法可包括监视并管理在基于声明性模型的虚拟环境中运行的应用程序。如此处将会理解的,这些方法实际上可在任何操作环境中实现,包括“内部部署(on-premise)”构造的虚拟环境或在“云”中构造的虚拟环境(即网络中的某处),或者其中应用程序模块内部部署地运行或在云中运行的虚拟环境。
图1A示出包括一起工作以结合应用程序来安装并管理虚拟机的应用层103和虚拟机层107的***100的概略图。例如,图1A示出应用层103至少包括执行应用程序105。一般而言,执行应用程序105包括通过执行声明性模型所描述的工作流来执行各种请求(例如,安装应用程序)的一个或多个可执行指令集。如下文中更全面的理解的,执行应用程序105从各个声明性模型115接收关于给定应用程序的信息,并将该信息细化为被发送至各个虚拟机的具体命令。
例如,图1A示出应用层103包括应用程序储存库110。应用程序储存库110还包括将各个应用程序135与包括应用程序的各种“意图”的相应的属性137进行相关的一组以上提到的声明性模型115。声明性模型115中的这些应用程序意图(即,属性137中的)可包括用于每一应用程序135的各种硬件和虚拟机规范以及应用程序生存周期信息。具体地,应用程序的给定声明性模型115的意图可包括除了可以或应该使用的虚拟机的数量之外对于给定应用程序135的运行可能需要的虚拟机的种类(例如,专门配置的虚拟机模板、或甚至现有虚拟机)。例如,如果所请求的应用程序115是分布式应用程序,则声明性意图可为分布式应用程序的每一组件指定多个不同的虚拟机(以及甚至虚拟机的类型)以及多个不同的物理主机(或物理主机的类型)。这些声明性模型意图还可包括关于给定应用程序的各种生存周期信息,诸如在安装之前期间可执行应用程序的最大时间间隔。
另外,图1A示出应用层103经由执行应用程序105可包括一个或多个公共数据结构123。一般而言,一个或多个公共数据结构123可由各种各样的组件(包括***中的其他执行应用程序)访问。公共数据结构123存储并关于***100中安装的应用程序和虚拟机的状态信息并将这些状态信息相关。例如,在至少一个实现中,数据结构123指示何时何地安装了各个应用程序(物理和/或网络位置)以及何时何地安装了各个虚拟机(物理和/或网络位置)。如前所述,数据结构123还可包括关于执行应用程序105已经细化的/从声明性模型115中确定的应用程序和/或虚拟机生存周期的信息。因为数据结构123通常可由大量组件访问,所以数据结构123可由应用层103和虚拟机层107中的多个不同的组件引用和更新以便帮助维持一致性。
再次参考附图,图1A示出虚拟机层107可包括一个或多个虚拟机管理器120。虚拟机管理器120进而包括用于安装和卸载虚拟机以及分配给定主机上的虚拟机的资源的一个或多个可执行指令集。虚拟机管理器120还监视物理主机上的每一虚拟机的执行。例如,在虚拟机管理器120安装给定虚拟机时,虚拟机管理器120还安装向虚拟机管理器120提供反馈的一个或多个监视代理。这些反馈可包括所分配的资源使用的本质(例如,处理器和存储器分配是否足够)以及安装在其中的各个应用程序如何运行。
另外,图1A示出虚拟机管理器120可被配置成与一个或多个虚拟机库125进行通信。一般而言,虚拟机库125由各自表示“开机备用(hot standby)”的一个或多个虚拟机模板150组成,这些模板可由虚拟机管理器120复制并安装到给定物理主机(例如,130)上。例如,图1A示出虚拟机库125包括虚拟机“VM1”150a、“VM2”150b、“VM3”150c和“VM4”150d的存储。这些虚拟机150(a-d)中的每一个进而可被专门配置成与特定类型的应用程序和甚至特定版本的应用程序一起工作。例如,虚拟机150a和150b可被专门配置(在资源分配/要求方面)为与特定版本的数据库应用程序一起工作,而虚拟机150c和150d可被专门配置(在资源分配/要求方面)为与其他版本的数据库应用程序或者另选地因特网应用程序一起工作。
在任何情况下,***100中的上述组件中的每一个被配置成一起工作来确保应用程序和虚拟机作为相同生存周期的一部分被一起安装并一起卸载。在至少一个实现中,这种协调一般通过应用层103经由执行应用程序105来处理。例如,图1A示出应用层103接收要安装应用程序(即应用程序135a)的一个或多个请求/指令113,且该请求113由执行应用程序105接收。作为响应,执行应用程序105在应用层103中发送一个或多个请求140来确定应该如何处理该请求。例如,图1A示出执行应用程序105将一个或多个请求发送给应用程序储存库110来标识意指所请求的应用程序或以其他方式与所请求的应用程序相关联的属性。具体地,图1A示出执行应用程序105发送请求与应用程序135a相关联的属性的请求140。
应用程序储存库110进而标识与所请求的应用程序135a相关联的一个或多个声明性模型115。例如,图1A示出应用程序储存库110包括用于将属性137a和137b与应用程序135a和135b相关联的声明性模型115的存储。这些属性陈述了关于每一应用程序135的各种声明性意图。这些声明性意图可包括应用程序应该运行的长度、应该安装来处理应用程序的虚拟机的数量和/或类型。这些声明性意图还可包括诸如应用程序应该在其中执行的各个网络(或物理)位置等的信息。例如,管理员可指派某些应用程序只在受保护的服务器和/或安全网络位置上执行。
在任一情况下,在接收到请求140之后,图1A示出应用程序储存库110回过来用一个或多个消息145来响应执行应用程序105。执行应用程序105随后可解释或“细化”从储存库110接收的属性137a并将其作为相应的指令/命令集存储在一个或多个公共数据结构123中的一个中。一般而言,该上下文中的细化意味着逐渐详细描述来自从储存库110接收的信息的细节,诸如通过将数据添加至声明性模型(例如,从消息145中的属性137a接收的)并将所添加的数据写入数据结构123。如此处更全面地理解的,细化详细描述了细节直到声明性模型足够具体来被特定虚拟机驱动程序理解并转换。
在至少一个实现中,与应用程序的声明性模型相对应的属性137可包括指示该特定应用程序135a理想上被安装在两个不同的虚拟机上且这些虚拟机应该被配置成用于数据库使用的信息。图1A因此示出数据结构123至少包括应用程序135a应该被安装在虚拟机150a和150b上的指示。另外,属性137a还可包括在特定物理主机上执行应用程序135a的偏好。因此,例如,图1A还示出数据结构125指示应用程序135应该被安装在物理主机130上。
在确定了用于所请求的应用程序的各个属性和指令之后,应用层103随后可将一个或多个指令发送给虚拟机层107来安装适当的虚拟机。例如,图1A示出执行应用程序105将与存储在数据结构123中的经细化的信息相对应的一个或多个指令147发送至虚拟机层107。具体地,图1A示出指令147包括要安装虚拟机150a(“VM1”)和150b(“VM2”)的一个或多个请求,并且虚拟机层107中的虚拟机管理器120接收这些指令。
虚拟机层107随后执行这些请求。例如,图1A示出虚拟机管理器120与虚拟机库125协调来标识要安装的所请求的模板,在这种情况下是虚拟机150a和150b。另外,图1A示出虚拟机管理器120将一个或多个请求155发送至物理主机130来安装虚拟机150a和150b。在至少一个实现中,虚拟机层107(例如,经由虚拟机管理器120)还将指示虚拟机安装和配置现在已完成的一个或多个消息(未示出)传回应用层103(例如,至执行应用程序105)。
例如,虚拟机管理器120可将安装确认信息(未示出)直接传递到数据结构123中。执行应用程序105随后可将数据结构123作为周期审阅的一部分来读取,或者响应于数据结构123已被更新的某一信号来读取。执行应用程序105随后标识所请求的虚拟机已经完成安装。在其他情况下,虚拟机管理器120将该信息直接传递给执行应用程序105,执行应用程序105随后将该信息输入到数据结构123中。在任一情况下,虚拟机管理器120所提供的信息不仅可包括在主机130上安装的单纯事实,还包括诸如虚拟机名称和网络地址等的其他相关信息。
在确认所请求的虚拟机的安装/部署之后,应用层103随后可通过虚拟机层107来安装和配置所请求的应用程序。出于该目的,图1B示出执行应用程序105直接与在主机130处部署的虚拟机150的驱动程序进行通信。例如,执行应用程序105可使用虚拟机管理器120所提供的诸如虚拟机名称和网络地址等的信息来定位并标识适当的虚拟机驱动程序。
另外,图1B示出应用层103(经由执行应用程序105)将一个或多个消息/指令160a和160b发送至虚拟机层107。相应地定址的虚拟机150a和150b的驱动程序随后在物理主机130处接收消息160a和160b。一般而言,消息160a和160b不仅可包括用于所请求的应用程序135a的应用程序安装指令,还可包括与先前从应用程序储存库110接收的属性137a相关的指令。例如,消息160a和160b可包括特定命令形式的关于应用程序的生存周期的专门转换/细化的声明性意图信息、应用程序应该如何在虚拟机中执行的信息以及任何监视信息。
每一虚拟机150(a-b)的驱动程序进而在虚拟机中转化和/或实现用于相应的应用程序容器(未示出)的这些命令(160)。具体地,所示虚拟机驱动程序将足够详述的声明性模型转换成要在虚拟机中执行的命令性动作。这些所转换的指令进而根据模型中所声明的意图(例如,经由属性137)来控制和配置所安装虚拟机150中的应用程序容器和应用程序模块。
按照如此的方法,可以理解,驱动程序所进行的转换可将应用程序容器实现及其当前配置的详情的知识考虑在内。因此,在一个实现中,虚拟机驱动程序还可与执行应用程序105进行通信来请求任何其他模型数据(例如,可存储在数据结构123中)。例如,虚拟机150驱动程序可请求与其转换工作相关的模型数据,并且只在完成命令之前请求。虚拟机驱动程序还可插装应用程序模块及其应用程序容器来发出如模型中所声明的关于其在环境中的行为和变化的事件。
虚拟机驱动程序所提供的信息不仅可包括与所安装的应用程序135a和/或虚拟机150(a-b)相关的健康信息,还包括关于应用程序终止事件的信息。例如,当在主机130处正在卸载应用程序、已经卸载应用程序或者将要卸载应用程序时,虚拟机驱动程序可将一个或多个消息发送至执行应用程序105。虚拟机驱动程序所提供的信息进而可在数据结构123中接收并存储。例如,虚拟机150驱动程序将一个或多个这样的消息直接发送至数据结构123,或者发送至随后相应地更新数据结构123的执行应用程序105。在任一情况下,应用层103经由执行应用程序105可因此标识何时其需要开始停止使用相应的虚拟机。
例如,图1C示出当特定应用程序已经从虚拟机150卸载时可发生的状况。具体地,当应用程序被卸载时,图1C示出虚拟机层107(例如,经由物理主机130处的驱动程序)将一个或多个消息170发送至应用层103来指示该应用程序135a要被卸载或已经被卸载。如前所述,例如,物理主机130可将消息170直接传递至数据结构123,而在替换实现中,物理主机130将消息170直接发送至执行应用程序105。在任一情况下,数据结构123最终被更新来反映该应用程序移除。例如,图1C示出数据结构123包括应用程序135a现在已经被卸载的信息。在该示例中,因为应用程序135a是在虚拟机150a和150b处安装的唯一应用程序,所以应用层103经由执行应用程序105因此确定虚拟机150a和150b现在需要从物理主机130删除,因为它们不再使用。
因此,图1C示出应用层103经由执行应用程序105将一个或多个消息180发送至虚拟机层107。如前一样,虚拟机管理器120随后在虚拟机层107中接收消息180。在所示示例中,消息180包括要从其上安装虚拟机150a和150b(即,“VM1”和“VM2”)的一个或多个物理主机,在这种情况下是物理主机130中移除虚拟机150a和150b的指令。作为响应,虚拟机层107随后执行任何移除虚拟机并确认虚拟机的移除所需的动作。例如,图1C示出虚拟机管理器120将一个或多个相应的消息190发送至物理主机130,其中消息指示物理主机130移除或卸载虚拟机150a和150b。
可以明白,存在许多“移除”或“停止使用”虚拟机(150b)的方式和机制。例如,任意给定虚拟机可被设置为“检查点”或基于先前“检查点”来存储。一般而言,检查点表示操作***(或虚拟机中的其他文件结构集)的特定时间点的状态。例如,每次用户将操作***补丁应用于虚拟机时,虚拟机(或运行或存储虚拟机的管理组件)可将该特定文件状态存储为检查点。
此外,虚拟机(或运行或存储虚拟机的管理组件)可为给定虚拟机维护多个不同的检查点。因此,例如,虚拟机库125中的某些虚拟机可区别地来设置,不仅与特定应用程序配置有关,而且还基于用于应用操作***补丁或升级的各个检查点。类似地,安装在物理主机130处的虚拟机150a-b还可经历多个不同的检查点更新,其中的某一些可专门适用于执行应用程序135a。
结果,在某些情况下,在通过或移除全部虚拟机或仅仅将虚拟机回退到特定检查点来移除应用程序135a时,管理员可选择“移除”或“停止使用”物理主机130处的特定版本的虚拟机150a-b。在这种情况下,从虚拟机120发送的指令190可另选地或另外地包括将虚拟机150a-b回退到可能更广泛地适用于稍后可在物理主机130处安装的其他应用程序的先前检查点的指令。
可以明白,在物理主机130上保持较早版本的虚拟机150a-b可节约在稍后用于将整个虚拟机150从库125复制回物理主机130时可能需要的资源。当然,无论是如何被移除或停止使用(即完全移除,或回退到特定检查点)的,***100都被配置成确保数据结构123能够维护相关信息从而使得***100永远不丢失对特定虚拟机和应用程序的状态或存在的跟踪。
例如,图1C还示出在移除或停止使用/卸载/回退虚拟机之后,物理主机130随后可发送一个或多个确认消息。具体地,虚拟机层107向应用层103确认虚拟机的移除(即,删除、停止使用或回退)已经完成。例如,物理主机130可将一个或多个确认消息发送回虚拟机管理器120,虚拟机管理器120随后将该信息传递到应用层103。即,虚拟机管理器120可用移除(删除或回退)信息来更新数据结构123,或者以其他方式发送相应的通信到执行应用程序105,执行应用程序105随后用同样内容来更新数据结构123。在附加或替换实现中,物理主机130直接与数据结构123和/或与执行应用程序105进行通信来确认虚拟机150(a-b)的移除(删除或回退)。
因此,图1A到1C示出用于协调来自虚拟机的应用程序的生存周期的各种组件、机制和示意图。可以明白,上述过程中的任何或全部可自动地执行,因此允许用最小的管理开销来发生对虚拟机和应用程序的准确的记录保持和管理。
除前面的内容之外,也可以按照包括用于实现特定结果的方法中的一个或多个动作的流程图来描述本发明的实现。例如,图2示出从执行应用程序105的角度来看的用于使用单个应用程序来在物理主机处安装虚拟机和应用程序的流程图,而图3示出从***100的角度来看的用于协调应用程序和虚拟机的安装和生存周期的替换流程图。下面将参考图1A到1C的组件和图示来更全面地描述图2和3的动作。
例如,图2示出从执行应用程序150的角度来看的方法可包括接收要启动应用程序的请求的动作200。动作200包括在应用层中接收要启动应用程序的一个或多个请求。例如,图1A示出应用层103经由执行应用程序105接收安装指令113,安装指令113包括要安装应用程序135a的一个或多个请求。
图2还示出该方法可包括确定部署什么虚拟机的动作210。动作210包括从所请求的应用程序的一个或多个属性中确定应该部署一个或多个虚拟机中的哪一些来执行所请求的应用程序。例如,图1A示出执行应用程序105与应用程序储存库110进行通信并交换消息140和145来标识所请求的应用程序135a的属性。这些属性137a将与所请求的应用程序135a相对应的声明性模型115的各个声明性意图相关。另外,执行应用程序105将所接收的属性137a细化和/或转换为随后在数据结构123中维护的具体指令。在一个实现中,这些命令的转换包括要被安装来执行所请求的应用程序135a的虚拟机150的数量和类型。
另外,图2示出从执行应用程序105角度来看的方法可包括部署适当的虚拟机的动作220。动作220包括将一个或多个请求从应用层发送至虚拟机层来为所请求的应用程序部署所确定的一个或多个虚拟机。例如,图1A示出应用层103中的执行应用程序105将一个或多个消息147发送至虚拟机层107中的虚拟机管理器120。如图1A所示,指令147包括要安装所标识的虚拟机150a和150b的一个或多个请求。
此外,图2示出该方法可包括将所请求的应用程序安装在虚拟机上的动作230。动作230包括安装所部署的一个或多个虚拟机的应用程序。例如,如图1B所示,一旦虚拟机150a和150b已经由虚拟机管理器120安装在物理主机130处,则应用层130经由执行应用程序105将一个或多个消息160a和160b经由虚拟机150驱动程序发送至相应的虚拟机层107。虚拟机驱动程序进而根据属性137a指示对所请求的应用程序135a的安装和配置。
除前面的内容之外,图3示出根据本发明一实现的从整个***100的角度来看的附加或替换方法可包括为安装请求标识应用程序属性的动作300。动作300包括在应用层处接收要启动应用程序的一个或多个请求,其中所请求的应用程序包括指示要使用的虚拟机的类型和数量的一个或多个属性。例如,图1A示出在接收到安装请求113之后,应用层103中的执行应用程序105和应用程序储存库110进行通信来接收与所请求的应用程序135a相关的属性137a。如之前所讨论的,属性137a可包括关于所请求的应用程序135a的各种类型的信息,诸如对物理主机的类型或位置的偏好,以及应该用来运行应用程序的虚拟机的类型、数量、或资源要求。
图3还示出从执行应用程序105的角度来看的方法可包括审阅数据结构来寻找可用虚拟机的动作310。动作310包括审阅应用层中的一个或多个数据结构来标识在计算机化环境中可用的一个或多个虚拟机。例如,图1A和1B示出应用层103中的执行应用程序105解释和/或细化所接收的属性137a来确定应用程序135a应该安装在主机130上以及两个不同的虚拟机中,在这种情况下是虚拟机150a和150b。
另外,图3示出从执行应用程序105的角度来看的方法可包括将应用程序安装在适当的虚拟机上的动作320。动作320包括指示虚拟机层将所请求的应用程序安装在一个或多个物理主机处安装的可用虚拟机中的一个或多个上。例如,如图1A所示,应用层103经由执行应用程序105将一个或多个消息147经由虚拟机管理器120发送至虚拟机层107。所示消息147包括在物理主机130上安装虚拟机150a和150b的指令。图1A还示出虚拟机层107操作请求,这表现在虚拟机管理器120将一个或多个相应的消息155发送至物理主机130。消息155进而指示物理主机130安装所请求的虚拟机150a和150b。
此外,图3示出从执行应用程序105的角度来看的方法可包括在移除应用程序时删除虚拟机的动作330。动作330包括,在通过数据结构标识了所请求的应用程序已经从虚拟机卸载之后,应用层引导虚拟机从相应的物理主机的移除。例如,如图1C所示,应用层103将消息接收到数据结构123中,无论直接还是最初通过执行应用程序105。执行应用程序105随后标识应用程序135a已经被卸载并且因此虚拟机150a和150b需要被移除(即从物理主机130上删除、或者回退到物理主机130处的先前版本)。因此,应用层103经由执行应用程序105将一个或多个消息180发送至虚拟机层107来从主机130移除(即,删除或回退)虚拟机150a和150b。
因此,本发明的各实现提供了一种管理虚拟机蔓延的一致且高效的方法。具体地,此处描述的声明性模型驱动方法通过抽象并管理许多不同且唯一的虚拟机配置作为合成应用程序来提供简化方法(并因此大大地降低了管理成本)。具体地,此处描述的平台/***使用合成应用程序的声明性模型来自动地创建适当的虚拟机配置来运行所请求的应用程序并管理虚拟机的生存周期。将任意数量的虚拟机表示为可运行应用程序提供了虚拟化管理中的显著的效率增益。
另外,可以明白,此处描述的虚拟机层和应用层两者都可被配置成支持内部部署和云部署。由此,虚拟机可内部部署地运行,也可在云中运行,且应用层可内部部署和运行任何不同的web服务或数据库应用程序模块,或者可在云中部署和运行应用程序模块。可以明白,该方法实现了灵活性,并降低了与实质上在任何企业中运行商业应用程序相关联的管理成本。
本发明的各实施例可以包括其中包含各种计算机硬件的专用或通用计算机,如下面更详细地讨论的。在本发明的范围内的各实施例还包括用于携带或在其上存储计算机可执行指令和/或数据结构的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。
作为示例而非限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备,或可以用来携带或存储计算机可执行指令或数据结构的形式的所需程序代码装置并可由通用或专用计算机访问的任何其他介质。当通过网络或另一通信连接(硬连线、无线,或硬连线或者无线的组合)向计算机传输或提供信息时,该计算机适当地将该连接视为计算机可读介质。如此,任何这样的连接被适当地称为“计算机可读介质”。上面各项的组合也应该包括在计算机可读介质的范围内。
计算机可执行指令包括例如使通用计算机、专用计算机或专用处理设备执行某一功能或一组功能的指令和数据。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上文所描述的具体特征和动作是作为实现权利要求的示例形式来公开的。
在不偏离本发明的精神或必要特征的情况下,本发明能以其他具体形式来实现。所描述的实施例在各个方面都只作为说明性的,而不是限制性的。因此,本发明的范围由所附权利要求书而不是由前面的描述指出。在权利要求的等效方案内的含义和范围内的所有更改都将包括在它们的范围内。
Claims (20)
1.一种在计算机化***(100)的应用层(103)处的方法,所述计算机***还包括虚拟机层(107)和要在一个或多个虚拟机(150)上执行的一个或多个应用程序(135),所述方法是所述应用层通过所述虚拟机层来启动并管理用于所述一个或多个应用程序的一个或多个虚拟机的创建和操作,所述方法包括以下动作:
在应用层(103)中接收(200)要启动应用程序(135)的一个或多个请求(113);
从所请求的应用程序的一个或多个属性(137)中确定(210)应该部署一个或多个虚拟机(150)中的哪一些来执行所请求的应用程序;
将一个或多个虚拟机命令(147)从所述应用层发送(220)到虚拟机层(107)来为所请求的应用程序部署所确定的一个或多个虚拟机(150);以及
将所请求的应用程序安装(230)在所部署的一个或多个虚拟机上。
2.如权利要求1所述的方法,其特征在于:
所述应用层(103)包括接收要启动所述应用程序的所述请求(113)的执行应用程序(105);以及
所述执行应用程序(105)将所接收的属性(137)转换成所述一个或多个虚拟机命令(147)。
3.如权利要求2所述的方法,其特征在于,所述虚拟机层(107)包括从所述执行应用程序(105)接收所述一个或多个虚拟机命令(147)的一个或多个虚拟机管理器(120)。
4.如权利要求2所述的方法,其特征在于:
与所请求的应用程序(135)相对应的所述属性(137)包括与所请求的应用程序(135)相关联的一个或多个声明性模型(115);以及
所述一个或多个声明性模型包括用于所确定的虚拟机的一个或多个配置。
5.如权利要求4所述的方法,其特征在于,与所请求的应用程序(135)相对应的所述属性(137)指示应该在其上部署所请求的应用程序(135)的一个或多个物理主机(130)。
6.如权利要求4所述的方法,其特征在于,与所请求的应用程序(135)相对应的所述属性(137)指示应该为所请求的应用程序(135)部署的虚拟机(150)的数量和类型。
7.如权利要求6所述的方法,其特征在于,所述虚拟机(150)的数量和类型中的任一个或所有取决于所请求的应用程序(135)的版本。
8.如权利要求1所述的方法,其特征在于,所述安装(330)所请求的应用程序的动作还包括所述应用层(103)将一个或多个指令(160)发送到所部署的一个或多个虚拟机(150)中的每一个的驱动程序。
9.如权利要求1所述的方法,其特征在于,还包括更新数据结构(123)来指示所请求的应用程序与所部署的一个或多个虚拟机(150)之间的关联的动作。
10.如权利要求8所述的方法,其特征在于,还包括更新所述数据结构(123)来指示所请求的应用程序(135)已经被安装在所部署的一个或多个虚拟机(150)上以及一个或多个物理主机(130)处的动作。
11.如权利要求9所述的方法,其特征在于,还包括标识所请求的应用程序(135)已经被卸载的动作。
12.如权利要求11所述的方法,其特征在于,在确定所请求的应用程序(135)已经被卸载之前还包括以下动作:
标识所请求的应用程序(135)应该从所部署的一个或多个虚拟机卸载;以及
将一个或多个指令从所述应用层(103)发送到所述虚拟机层(107)来卸载所请求的应用程序(135)。
13.如权利要求12所述的方法,其特征在于,所述标识所请求的应用程序(135)应该被卸载的动作包括从与所请求的应用程序(135)相对应的数据结构(123)中的一个或多个属性(137)中标识所述应用程序(135)准备好被卸载或停止使用。
14.如权利要求11所述的方法,其特征在于,还包括将一个或多个指令从所述应用层(103)发送到所述虚拟机层(107)来从所述相应的物理主机移除所部署的一个或多个虚拟机(150)的动作。
15.如权利要求14所述的方法,其特征在于,还包括更新所述数据结构(123)来指示先前所部署的一个或多个虚拟机(150)已经从所述相应的物理主机移除的动作。
16.一种在计算机化环境的计算机化***(100)中的方法,所述计算机化***(100)包括包含执行应用程序(105)的应用层(103)、包含虚拟机管理器(120)的虚拟机层(107)以及要在一个或多个虚拟机(150)上执行的一个或多个应用程序(135),所述方法通过所述应用层(103)和虚拟机层(107)来管理一个或多个虚拟机以及所述一个或多个应用程序的创建、操作和停止使用,所述方法包括以下动作:
在应用层(103)处接收(300)要启动应用程序(135)的一个或多个请求,其中所请求的应用程序包括指示要使用的虚拟机(150a-b)的类型和数量的一个或多个属性(137);
审阅(310)所述应用层(103)中的一个或多个数据结构(123)来标识在所述计算机化环境中可用的一个或多个虚拟机(150a-d);
指示(320)虚拟机层(107)将所请求的应用程序安装在一个或多个物理主机(130)处安装的所述可用虚拟机(150a-d)中的一个或多个上;以及
在通过所述数据结构(123)标识了所请求的应用程序(135)已经从虚拟机卸载之后,所述应用层(103)自动地引导(330)所述虚拟机(150)从相应的物理主机(130)的移除。
17.如权利要求16所述的方法,其特征在于:
所标识的一个或多个虚拟机(150)包括被设置为操作***检查点的一个或多个虚拟机模板;以及
所述将所述虚拟机(150)从所述相应的物理主机(130)移除的动作(330)包括将所述虚拟机(150)回退到先前检查点,从而使得更新版本的虚拟机从所述物理主机(130)移除而与所述先前检查点相对应的较早版本的虚拟机保留在所述物理主机(130)上。
18.如权利要求16所述的方法,其特征在于,所述应用层(103)还包括可由所述应用层(103)或虚拟机层(107)中的一个或多个组件更新的一个或多个数据结构(123)。
19.如权利要求16所述的方法,其特征在于,所述数据结构指示部署在所述***(100)中的所有虚拟机(150)、安装在所述虚拟机上的所有应用程序(135)、以及指示所安装的应用程序和所部署的虚拟机中的每一个的预期生存周期的一个或多个属性(137)。
20.一种在计算机化环境(100)的应用层(103)中的计算机程序存储产品,所述计算机化环境(100)包括包含执行应用程序(105)的应用层(103)、包含虚拟机管理器(120)的虚拟机层(107),以及要在一个或多个虚拟机(150)上执行的一个或多个应用程序(135),所述计算机程序存储产品上存储有计算机可执行指令,所述计算机可执行指令在被执行时使得计算机***中的一个或多个处理器执行一种方法,所述方法包括:
在应用层(103)中接收(300)要启动应用程序(135)的一个或多个请求(113);
从所请求的应用程序的一个或多个属性(137)中确定(310)应该部署一个或多个虚拟机(150)中的哪一些来执行所请求的应用程序;
将一个或多个虚拟机命令(147)从所述应用层发送(320)到虚拟机层(107)来为所请求的应用程序部署所确定的一个或多个虚拟机(150);以及
将所请求的应用程序安装(330)在所部署的一个或多个虚拟机上。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/138,591 | 2008-06-13 | ||
US12/138,591 US8161479B2 (en) | 2008-06-13 | 2008-06-13 | Synchronizing virtual machine and application life cycles |
PCT/US2009/044263 WO2009151875A1 (en) | 2008-06-13 | 2009-05-15 | Synchronizing virtual machine and application life cycles |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102057355A true CN102057355A (zh) | 2011-05-11 |
CN102057355B CN102057355B (zh) | 2013-08-07 |
Family
ID=41415945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801223875A Active CN102057355B (zh) | 2008-06-13 | 2009-05-15 | 同步虚拟机和应用程序生存周期 |
Country Status (10)
Country | Link |
---|---|
US (1) | US8161479B2 (zh) |
EP (1) | EP2310940A4 (zh) |
JP (1) | JP5367074B2 (zh) |
KR (1) | KR101574366B1 (zh) |
CN (1) | CN102057355B (zh) |
AU (1) | AU2009257865B2 (zh) |
BR (1) | BRPI0911610B1 (zh) |
CA (1) | CA2723907C (zh) |
RU (1) | RU2498394C2 (zh) |
WO (1) | WO2009151875A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049268A (zh) * | 2012-12-25 | 2013-04-17 | 中国科学院深圳先进技术研究院 | 一种基于Naplet的应用开发管理*** |
CN103312763A (zh) * | 2012-03-06 | 2013-09-18 | 日本电气株式会社 | 客户端***、管理服务器、工作区环境设置方法和工作区环境设置程序 |
CN103562878A (zh) * | 2011-05-23 | 2014-02-05 | 国际商业机器公司 | 在镜像虚拟机***中的存储器检查点设置 |
CN103797461A (zh) * | 2012-03-29 | 2014-05-14 | 株式会社北洋银行 | 网络***及其控制方法 |
CN103823657A (zh) * | 2014-02-17 | 2014-05-28 | 汉柏科技有限公司 | 一种超线程设备板间通信的方法 |
CN104506651A (zh) * | 2015-01-05 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟应用服务管理方法及*** |
CN106663023A (zh) * | 2014-05-27 | 2017-05-10 | 威睿公司 | 对云应用中的虚拟机进行分组 |
US10430207B2 (en) | 2016-03-25 | 2019-10-01 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Method and electronic device for directly starting application on second virtual machine in operating environment of first virtual machine |
US11228637B2 (en) | 2014-06-26 | 2022-01-18 | Vmware, Inc. | Cloud computing abstraction layer for integrating mobile platforms |
Families Citing this family (146)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101506683B1 (ko) * | 2008-08-06 | 2015-03-30 | 삼성전자 주식회사 | 다수개의 운영 시스템을 지원하는 장치 및 방법 |
US8219653B1 (en) | 2008-09-23 | 2012-07-10 | Gogrid, LLC | System and method for adapting a system configuration of a first computer system for hosting on a second computer system |
US8565118B2 (en) | 2008-12-30 | 2013-10-22 | Juniper Networks, Inc. | Methods and apparatus for distributed dynamic network provisioning |
US8190769B1 (en) | 2008-12-30 | 2012-05-29 | Juniper Networks, Inc. | Methods and apparatus for provisioning at a network device in response to a virtual resource migration notification |
US8331362B2 (en) * | 2008-12-30 | 2012-12-11 | Juniper Networks, Inc. | Methods and apparatus for distributed dynamic network provisioning |
US8255496B2 (en) | 2008-12-30 | 2012-08-28 | Juniper Networks, Inc. | Method and apparatus for determining a network topology during network provisioning |
US20100250228A1 (en) * | 2009-03-30 | 2010-09-30 | International Business Machines Corporation | Modeling a composite application |
US8954487B2 (en) * | 2009-06-23 | 2015-02-10 | Samsung Electronics Co., Ltd. | Management server and method for providing cloud computing service |
US8812796B2 (en) | 2009-06-26 | 2014-08-19 | Microsoft Corporation | Private memory regions and coherence optimizations |
US8953603B2 (en) | 2009-10-28 | 2015-02-10 | Juniper Networks, Inc. | Methods and apparatus related to a distributed switch fabric |
US8442048B2 (en) | 2009-11-04 | 2013-05-14 | Juniper Networks, Inc. | Methods and apparatus for configuring a virtual network switch |
US8789041B2 (en) * | 2009-12-18 | 2014-07-22 | Verizon Patent And Licensing Inc. | Method and system for bulk automated virtual machine deployment |
US9130912B2 (en) | 2010-03-05 | 2015-09-08 | International Business Machines Corporation | System and method for assisting virtual machine instantiation and migration |
CN102656561A (zh) | 2010-03-16 | 2012-09-05 | 松下电器产业株式会社 | 信息处理装置、虚拟机生成方法及应用发布*** |
US8601226B1 (en) | 2010-05-20 | 2013-12-03 | Gogrid, LLC | System and method for storing server images in a hosting system |
US10095530B1 (en) | 2010-05-28 | 2018-10-09 | Bromium, Inc. | Transferring control of potentially malicious bit sets to secure micro-virtual machine |
US9116733B2 (en) | 2010-05-28 | 2015-08-25 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US9104837B1 (en) | 2012-06-18 | 2015-08-11 | Bromium, Inc. | Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files |
US10310696B1 (en) | 2010-05-28 | 2019-06-04 | Bromium, Inc. | Supporting a consistent user interface within a virtualized environment |
US8752047B2 (en) | 2010-05-28 | 2014-06-10 | Bromium, Inc. | Automated management of virtual machines to process untrusted data based on client policy information |
US9767274B2 (en) | 2011-11-22 | 2017-09-19 | Bromium, Inc. | Approaches for efficient physical to virtual disk conversion |
US9386021B1 (en) | 2011-05-25 | 2016-07-05 | Bromium, Inc. | Restricting network access to untrusted virtual machines |
US9558051B1 (en) | 2010-05-28 | 2017-01-31 | Bormium, Inc. | Inter-process communication router within a virtualized environment |
US9148428B1 (en) | 2011-05-25 | 2015-09-29 | Bromium, Inc. | Seamless management of untrusted data using virtual machines |
US9239909B2 (en) | 2012-01-25 | 2016-01-19 | Bromium, Inc. | Approaches for protecting sensitive data within a guest operating system |
US8972980B2 (en) * | 2010-05-28 | 2015-03-03 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US9135038B1 (en) | 2010-05-28 | 2015-09-15 | Bromium, Inc. | Mapping free memory pages maintained by a guest operating system to a shared zero page within a machine frame |
US8171349B2 (en) | 2010-06-18 | 2012-05-01 | Hewlett-Packard Development Company, L.P. | Associating a monitoring manager with an executable service in a virtual machine migrated between physical machines |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
JP5653151B2 (ja) * | 2010-09-17 | 2015-01-14 | キヤノン株式会社 | クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法、および管理アプリケーション |
US9384054B2 (en) * | 2010-09-22 | 2016-07-05 | Nokia Technologies Oy | Process allocation to applications executing on a mobile device |
US8584121B2 (en) | 2010-11-19 | 2013-11-12 | International Business Machines Corporation | Using a score-based template to provide a virtual machine |
US9128803B2 (en) | 2010-12-15 | 2015-09-08 | Microsoft Technology Licensing, Llc | Application model for implementing composite applications |
US8891406B1 (en) | 2010-12-22 | 2014-11-18 | Juniper Networks, Inc. | Methods and apparatus for tunnel management within a data center |
US8607067B1 (en) | 2011-03-01 | 2013-12-10 | Amazon Technologies, Inc. | Techniques for attesting to information |
US8745734B1 (en) * | 2010-12-29 | 2014-06-03 | Amazon Technologies, Inc. | Managing virtual computing testing |
US8918785B1 (en) * | 2010-12-29 | 2014-12-23 | Amazon Technologies, Inc. | Managing virtual machine network through security assessment |
US8601472B1 (en) | 2010-12-31 | 2013-12-03 | Emc Corporation | Instantiating virtual appliances |
US8799915B1 (en) * | 2010-12-31 | 2014-08-05 | Emc Corporation | Decommissioning virtual appliances |
US8839241B2 (en) * | 2010-12-31 | 2014-09-16 | Emc Corporation | Virtual appliance deployment |
JP5592303B2 (ja) * | 2011-04-07 | 2014-09-17 | 株式会社日立製作所 | 実行環境構築装置および実行環境構築システム |
US9015710B2 (en) * | 2011-04-12 | 2015-04-21 | Pivotal Software, Inc. | Deployment system for multi-node applications |
US8799888B1 (en) | 2011-05-20 | 2014-08-05 | Amazon Technologies, Inc. | Updating an application |
US8850419B1 (en) * | 2011-05-20 | 2014-09-30 | Amazon Technologies, Inc. | Descaling computing resources |
US8869135B1 (en) | 2011-05-20 | 2014-10-21 | Amazon Technologies, Inc. | Deploying updates to an application during periods of off-peak demand |
US9921860B1 (en) | 2011-05-25 | 2018-03-20 | Bromium, Inc. | Isolation of applications within a virtual machine |
US8839245B1 (en) | 2012-06-18 | 2014-09-16 | Bromium, Inc. | Transferring files using a virtualized application |
US10846396B1 (en) | 2011-05-25 | 2020-11-24 | Hewlett-Packard Development Company, L.P. | Downloading data in a dedicated virtual machine |
US10546118B1 (en) | 2011-05-25 | 2020-01-28 | Hewlett-Packard Development Company, L.P. | Using a profile to provide selective access to resources in performing file operations |
US10013281B2 (en) * | 2011-06-29 | 2018-07-03 | Microsoft Technology Licensing, Llc | Controlling network utilization |
US8819679B2 (en) * | 2011-07-28 | 2014-08-26 | International Business Machines Corporation | Methods and systems for on-boarding applications to a cloud |
JP5681279B2 (ja) * | 2011-08-01 | 2015-03-04 | 日本電気株式会社 | 試験装置、システム、プログラム、及び、方法 |
US9639402B2 (en) * | 2011-08-05 | 2017-05-02 | Oracle International Corporation | Systems and methods for automatic hardware provisioning based on application characteristics |
US20130055243A1 (en) * | 2011-08-24 | 2013-02-28 | Dell Products, Lp | Unified Management Architecture to Support Multiple Platform-as-a-Service Workloads |
US9838415B2 (en) | 2011-09-14 | 2017-12-05 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
US8640238B2 (en) * | 2011-09-14 | 2014-01-28 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
US9094449B2 (en) | 2011-09-14 | 2015-07-28 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
US9769250B2 (en) | 2013-08-08 | 2017-09-19 | Architecture Technology Corporation | Fight-through nodes with disposable virtual machines and rollback of persistent state |
US9766986B2 (en) | 2013-08-08 | 2017-09-19 | Architecture Technology Corporation | Fight-through nodes with disposable virtual machines and rollback of persistent state |
JP5134149B1 (ja) * | 2011-09-26 | 2013-01-30 | 株式会社北洋銀行 | ネットワークシステム及びその制御方法 |
US9245095B2 (en) | 2011-10-25 | 2016-01-26 | Ca, Inc. | System and method for license management of virtual machines at a virtual machine manager |
US8924723B2 (en) * | 2011-11-04 | 2014-12-30 | International Business Machines Corporation | Managing security for computer services |
TWI478063B (zh) * | 2011-11-21 | 2015-03-21 | Inst Information Industry | 於虛擬機器提供應用程式之系統以及方法以及儲存其之電腦可讀取記錄媒體 |
US8826277B2 (en) | 2011-11-29 | 2014-09-02 | International Business Machines Corporation | Cloud provisioning accelerator |
US10310878B2 (en) * | 2011-12-16 | 2019-06-04 | Vmware, Inc. | Execution of an application in a runtime environment installed in a virtual appliance |
US9069607B1 (en) | 2012-01-31 | 2015-06-30 | Vmware, Inc. | Selective migration of virtualized applications and configuration settings thereof |
US20130219387A1 (en) * | 2012-02-22 | 2013-08-22 | Vmware, Inc. | Establishing secure two-way communications in a virtualization platform |
US9720668B2 (en) | 2012-02-29 | 2017-08-01 | Red Hat, Inc. | Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system |
US9058198B2 (en) * | 2012-02-29 | 2015-06-16 | Red Hat Inc. | System resource sharing in a multi-tenant platform-as-a-service environment in a cloud computing system |
US9038128B2 (en) | 2012-02-29 | 2015-05-19 | Red Hat, Inc. | Applying security category labels to multi-tenant applications of a node in a platform-as-a-service environment |
US9047107B2 (en) | 2012-02-29 | 2015-06-02 | Red Hat, Inc. | Applying a custom security type label to multi-tenant applications of a node in a platform-as-a-service environment |
US9245108B1 (en) | 2012-03-13 | 2016-01-26 | Bromium, Inc. | Dynamic adjustment of the file format to identify untrusted files |
US8666938B1 (en) * | 2012-03-28 | 2014-03-04 | Vmware, Inc. | Installed application cloning and failover to virtual server |
US9571332B2 (en) * | 2012-04-17 | 2017-02-14 | Adara Networks, Inc. | Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure |
US20130275968A1 (en) * | 2012-04-17 | 2013-10-17 | Petio Petev | Application management methods and systems |
US8850514B2 (en) | 2012-05-01 | 2014-09-30 | Red Hat, Inc. | Cartridges in a multi-tenant platforms-as-a-service (PaaS) system implemented in a cloud computing environment |
US9245111B2 (en) | 2012-05-01 | 2016-01-26 | Red Hat, Inc. | Owner command execution in a multi-tenant cloud hosting environment |
US9665411B2 (en) | 2012-05-01 | 2017-05-30 | Red Hat, Inc. | Communication between a server orchestration system and a messaging system |
US9378255B2 (en) | 2012-05-11 | 2016-06-28 | Sap Se | Cloud logistics |
US9342330B2 (en) * | 2012-05-11 | 2016-05-17 | Sap Se | Deploying a user-configured virtual appliance template including a portion of an existing computing application to enhance functionality |
US10169000B2 (en) * | 2012-05-30 | 2019-01-01 | Red Hat Israel, Ltd. | Provisioning composite applications using secure parameter access |
US11023088B2 (en) | 2012-06-18 | 2021-06-01 | Hewlett-Packard Development Company, L.P. | Composing the display of a virtualized web browser |
US10095662B1 (en) | 2012-06-18 | 2018-10-09 | Bromium, Inc. | Synchronizing resources of a virtualized browser |
US9384026B1 (en) | 2012-06-18 | 2016-07-05 | Bromium, Inc. | Sharing and injecting cookies into virtual machines for retrieving requested web pages |
US9727534B1 (en) | 2012-06-18 | 2017-08-08 | Bromium, Inc. | Synchronizing cookie data using a virtualized browser |
US9201850B1 (en) | 2012-06-18 | 2015-12-01 | Bromium, Inc. | Composing the display of a virtualized web browser |
US9734131B1 (en) | 2012-06-18 | 2017-08-15 | Bromium, Inc. | Synchronizing history data across a virtualized web browser |
US9183031B2 (en) * | 2012-06-19 | 2015-11-10 | Bank Of America Corporation | Provisioning of a virtual machine by using a secured zone of a cloud environment |
US9887872B2 (en) | 2012-07-13 | 2018-02-06 | Microsoft Technology Licensing, Llc | Hybrid application environments including hosted applications and application servers for interacting with data in enterprise environments |
US8978035B2 (en) | 2012-09-06 | 2015-03-10 | Red Hat, Inc. | Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system |
US9063721B2 (en) | 2012-09-14 | 2015-06-23 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
CN103677983B (zh) * | 2012-09-20 | 2018-05-04 | 三亚中兴软件有限责任公司 | 应用的调度方法及装置 |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
GB2513535A (en) * | 2012-12-14 | 2014-11-05 | Ibm | Software installer with built-in hypervisor |
US20140282581A1 (en) * | 2013-03-15 | 2014-09-18 | Mckesson Financial Holdings | Method and apparatus for providing a component block architecture |
US9348608B2 (en) * | 2013-04-24 | 2016-05-24 | QRC, Inc. | System and method for registering application and application transforms on a radiofrequency digitization and collection device |
US9729465B2 (en) | 2013-05-01 | 2017-08-08 | Red Hat, Inc. | Policy based application elasticity across heterogeneous computing infrastructure |
US9384115B2 (en) * | 2013-05-21 | 2016-07-05 | Amazon Technologies, Inc. | Determining and monitoring performance capabilities of a computer resource service |
US9292328B2 (en) | 2013-05-24 | 2016-03-22 | Bromium, Inc. | Management of supervisor mode execution protection (SMEP) by a hypervisor |
US9383986B2 (en) | 2013-06-18 | 2016-07-05 | Disney Enterprises, Inc. | Safe low cost web services software deployments |
CN105378669A (zh) * | 2013-07-19 | 2016-03-02 | 惠普发展公司,有限责任合伙企业 | 虚拟机资源管理***及其方法 |
WO2015030717A1 (en) * | 2013-08-27 | 2015-03-05 | Empire Technology Development Llc | Consolidating operations associated with a plurality of host devices |
US10599565B2 (en) | 2013-12-24 | 2020-03-24 | Hewlett-Packard Development Company, L.P. | Hypervisor managing memory addressed above four gigabytes |
US10430614B2 (en) | 2014-01-31 | 2019-10-01 | Bromium, Inc. | Automatic initiation of execution analysis |
RU2573789C2 (ru) * | 2014-04-18 | 2016-01-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ запуска виртуальной машины |
US9680873B1 (en) | 2014-06-30 | 2017-06-13 | Bromium, Inc. | Trusted network detection |
US20170123847A1 (en) * | 2014-07-08 | 2017-05-04 | Ntt Docomo, Inc. | Control node, node creation system and node creation method |
US10311122B1 (en) | 2014-08-22 | 2019-06-04 | Bromium, Inc. | On-demand unprotected mode access |
US10009292B2 (en) | 2014-10-03 | 2018-06-26 | International Business Machines Corporation | Cloud independent tuning service for autonomously managed workloads |
US9619266B2 (en) | 2014-10-10 | 2017-04-11 | International Business Machines Corporation | Tearing down virtual machines implementing parallel operators in a streaming application based on performance |
CN104375877A (zh) * | 2014-10-15 | 2015-02-25 | 国云科技股份有限公司 | 一种虚拟机在线快照生成与删除方法 |
US11340943B2 (en) | 2014-12-04 | 2022-05-24 | Nokia Solutions And Networks Gmbh & Co. Kg | Steering of virtualized resources |
JP6107801B2 (ja) * | 2014-12-12 | 2017-04-05 | 日本電気株式会社 | 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム |
JP6312139B2 (ja) * | 2014-12-26 | 2018-04-18 | 日本電信電話株式会社 | 動的制御システム及び動的制御方法 |
US10795856B1 (en) * | 2014-12-29 | 2020-10-06 | EMC IP Holding Company LLC | Methods, systems, and computer readable mediums for implementing a data protection policy for a transferred enterprise application |
US9614931B2 (en) * | 2015-01-20 | 2017-04-04 | Sphere 3D Inc. | Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system |
US10242122B2 (en) | 2015-05-05 | 2019-03-26 | DGD Systems, Inc. | Automated workflow management system for application and data retirement |
US9213540B1 (en) * | 2015-05-05 | 2015-12-15 | Archive Solutions Providers | Automated workflow management system for application and data retirement |
US9658894B2 (en) | 2015-10-15 | 2017-05-23 | International Business Machines Corporation | Automatically and dynamically reclaiming resources during virtual machine decommission |
US10200401B1 (en) | 2015-12-17 | 2019-02-05 | Architecture Technology Corporation | Evaluating results of multiple virtual machines that use application randomization mechanism |
US10412114B1 (en) | 2015-12-17 | 2019-09-10 | Architecture Technology Corporation | Application randomization mechanism |
US10412116B1 (en) | 2015-12-17 | 2019-09-10 | Architecture Technology Corporation | Mechanism for concealing application and operation system identity |
US10284592B1 (en) | 2015-12-17 | 2019-05-07 | Architecture Technology Corporation | Application randomization mechanism |
US10200406B1 (en) | 2015-12-17 | 2019-02-05 | Architecture Technology Corporation | Configuration of application randomization mechanism |
US10007498B2 (en) | 2015-12-17 | 2018-06-26 | Architecture Technology Corporation | Application randomization mechanism |
US10394587B2 (en) | 2016-01-06 | 2019-08-27 | International Business Machines Corporation | Self-terminating or self-shelving virtual machines and workloads |
US10255092B2 (en) * | 2016-02-09 | 2019-04-09 | Airwatch Llc | Managed virtual machine deployment |
US10169027B2 (en) * | 2016-05-05 | 2019-01-01 | International Business Machines Corporation | Upgrade of an operating system of a virtual machine |
US10768920B2 (en) | 2016-06-15 | 2020-09-08 | Microsoft Technology Licensing, Llc | Update coordination in a multi-tenant cloud computing environment |
WO2018003031A1 (ja) * | 2016-06-29 | 2018-01-04 | 富士通株式会社 | 仮想化管理プログラム、仮想化管理装置および仮想化管理方法 |
US10885219B2 (en) * | 2017-02-13 | 2021-01-05 | Microsoft Technology Licensing, Llc | Privacy control operation modes |
US10554685B1 (en) | 2017-05-25 | 2020-02-04 | Architecture Technology Corporation | Self-healing architecture for resilient computing services |
US11070432B2 (en) * | 2017-07-20 | 2021-07-20 | Cisco Technology, Inc. | Dynamic and customizable virtual network functions |
US10990432B1 (en) | 2017-11-30 | 2021-04-27 | Ila Corporation | Method and system for interactive cyber simulation exercises |
US11221865B2 (en) * | 2018-07-31 | 2022-01-11 | Nutanix, Inc. | Batch management of operations over virtualized entities |
US20200073678A1 (en) * | 2018-08-31 | 2020-03-05 | Dell Products L.P. | Systems and methods for operating system deployment |
US11301338B2 (en) * | 2018-09-20 | 2022-04-12 | EMC IP Holding Company LLC | Recovery on virtual machines with existing snapshots |
KR20200093168A (ko) * | 2019-01-28 | 2020-08-05 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
US10848379B2 (en) | 2019-01-30 | 2020-11-24 | Hewlett Packard Enterprise Development Lp | Configuration options for cloud environments |
US10915312B2 (en) * | 2019-07-02 | 2021-02-09 | Vmware, Inc. | Lifecycle management of virtual compute templates |
US11605166B2 (en) | 2019-10-16 | 2023-03-14 | Parsons Corporation | GPU accelerated image segmentation |
US11303306B2 (en) | 2020-01-20 | 2022-04-12 | Parsons Corporation | Narrowband IQ extraction and storage |
US11619700B2 (en) | 2020-04-07 | 2023-04-04 | Parsons Corporation | Retrospective interferometry direction finding |
US11569848B2 (en) | 2020-04-17 | 2023-01-31 | Parsons Corporation | Software-defined radio linking systems |
US11575407B2 (en) | 2020-04-27 | 2023-02-07 | Parsons Corporation | Narrowband IQ signal obfuscation |
US11849347B2 (en) | 2021-01-05 | 2023-12-19 | Parsons Corporation | Time axis correlation of pulsed electromagnetic transmissions |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2000276872A1 (en) * | 2000-10-16 | 2002-04-29 | Shima, Masahiko | Software rental system |
JP2002351682A (ja) * | 2001-05-30 | 2002-12-06 | Canon Inc | 情報処理方法および情報処理システム |
US7296267B2 (en) * | 2002-07-12 | 2007-11-13 | Intel Corporation | System and method for binding virtual machines to hardware contexts |
JP2004102398A (ja) * | 2002-09-05 | 2004-04-02 | Sharp Corp | アプリケーション管理装置、その方法およびそのコンピュータ・プログラム |
US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
US20050005018A1 (en) * | 2003-05-02 | 2005-01-06 | Anindya Datta | Method and apparatus for performing application virtualization |
EP1678617A4 (en) * | 2003-10-08 | 2008-03-26 | Unisys Corp | COMPUTER SYSTEM PARAVIRTUALIZATION BY USING A HYPERVISOR IMPLEMENTED IN A PARTITION OF THE HOST SYSTEM |
US20050132367A1 (en) * | 2003-12-16 | 2005-06-16 | Vijay Tewari | Method, apparatus and system for proxying, aggregating and optimizing virtual machine information for network-based management |
JP4094560B2 (ja) | 2004-01-23 | 2008-06-04 | 株式会社エヌ・ティ・ティ・データ | リソース分割サーバ及びリソース分割サーバプログラム |
US7454748B2 (en) * | 2004-07-27 | 2008-11-18 | Nokia Corporation | System and method for specifying virtual machines |
US20060070066A1 (en) * | 2004-09-30 | 2006-03-30 | Grobman Steven L | Enabling platform network stack control in a virtualization platform |
DE602004027516D1 (de) * | 2004-12-03 | 2010-07-15 | St Microelectronics Srl | Ein Verfahren zum Verwalten von virtuellen Maschinen in einer körperlichen Verarbeitungsmaschine, ein entsprechendes Prozessorsystem und Computerprogrammprodukt dafür |
US20060184937A1 (en) * | 2005-02-11 | 2006-08-17 | Timothy Abels | System and method for centralized software management in virtual machines |
US7434218B2 (en) * | 2005-08-15 | 2008-10-07 | Microsoft Corporation | Archiving data in a virtual application environment |
US8949364B2 (en) * | 2005-09-15 | 2015-02-03 | Ca, Inc. | Apparatus, method and system for rapid delivery of distributed applications |
US8490082B2 (en) * | 2005-11-03 | 2013-07-16 | International Business Machines Corporation | System and method for representing user processes as software packages in a software package management system |
US9032164B2 (en) * | 2006-02-17 | 2015-05-12 | Emulex Corporation | Apparatus for performing storage virtualization |
US8015563B2 (en) * | 2006-04-14 | 2011-09-06 | Microsoft Corporation | Managing virtual machines with system-wide policies |
US8108668B2 (en) * | 2006-06-26 | 2012-01-31 | Intel Corporation | Associating a multi-context trusted platform module with distributed platforms |
WO2008019380A2 (en) * | 2006-08-07 | 2008-02-14 | Bea Systems, Inc. | System and method for providing hardware virtualization in a virtual machine environment |
US8949826B2 (en) * | 2006-10-17 | 2015-02-03 | Managelq, Inc. | Control and management of virtual systems |
JP2008107966A (ja) * | 2006-10-24 | 2008-05-08 | Hitachi Ltd | 計算機システム |
US8448161B2 (en) * | 2007-07-30 | 2013-05-21 | Adobe Systems Incorporated | Application tracking for application execution environment |
CN100553214C (zh) * | 2007-09-17 | 2009-10-21 | 北京航空航天大学 | 移动虚拟环境*** |
-
2008
- 2008-06-13 US US12/138,591 patent/US8161479B2/en active Active
-
2009
- 2009-05-15 AU AU2009257865A patent/AU2009257865B2/en not_active Ceased
- 2009-05-15 JP JP2011513536A patent/JP5367074B2/ja not_active Expired - Fee Related
- 2009-05-15 WO PCT/US2009/044263 patent/WO2009151875A1/en active Application Filing
- 2009-05-15 KR KR1020107027645A patent/KR101574366B1/ko active IP Right Grant
- 2009-05-15 EP EP09763166.7A patent/EP2310940A4/en not_active Ceased
- 2009-05-15 BR BRPI0911610-9A patent/BRPI0911610B1/pt active IP Right Grant
- 2009-05-15 RU RU2010150809/08A patent/RU2498394C2/ru not_active IP Right Cessation
- 2009-05-15 CN CN2009801223875A patent/CN102057355B/zh active Active
- 2009-05-15 CA CA2723907A patent/CA2723907C/en not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9959174B2 (en) | 2011-05-23 | 2018-05-01 | International Business Machines Corporation | Storage checkpointing in a mirrored virtual machine system |
CN103562878A (zh) * | 2011-05-23 | 2014-02-05 | 国际商业机器公司 | 在镜像虚拟机***中的存储器检查点设置 |
US9983935B2 (en) | 2011-05-23 | 2018-05-29 | International Business Machines Corporation | Storage checkpointing in a mirrored virtual machine system |
CN103312763A (zh) * | 2012-03-06 | 2013-09-18 | 日本电气株式会社 | 客户端***、管理服务器、工作区环境设置方法和工作区环境设置程序 |
US10541858B2 (en) | 2012-03-06 | 2020-01-21 | Nec Corporation | Thin client system, management server, workplace environment setting method and workplace environment setting program |
CN103312763B (zh) * | 2012-03-06 | 2018-06-05 | 日本电气株式会社 | 客户端***、管理服务器、工作区环境设置方法和工作区环境设置程序 |
CN103797461A (zh) * | 2012-03-29 | 2014-05-14 | 株式会社北洋银行 | 网络***及其控制方法 |
CN103797461B (zh) * | 2012-03-29 | 2016-03-16 | 株式会社北洋银行 | 网络*** |
CN103049268A (zh) * | 2012-12-25 | 2013-04-17 | 中国科学院深圳先进技术研究院 | 一种基于Naplet的应用开发管理*** |
CN103049268B (zh) * | 2012-12-25 | 2016-08-03 | 中国科学院深圳先进技术研究院 | 一种基于Naplet的应用开发管理*** |
CN103823657A (zh) * | 2014-02-17 | 2014-05-28 | 汉柏科技有限公司 | 一种超线程设备板间通信的方法 |
CN106663023A (zh) * | 2014-05-27 | 2017-05-10 | 威睿公司 | 对云应用中的虚拟机进行分组 |
CN106663023B (zh) * | 2014-05-27 | 2018-06-19 | 威睿公司 | 对云应用中的虚拟机进行分组 |
US11228637B2 (en) | 2014-06-26 | 2022-01-18 | Vmware, Inc. | Cloud computing abstraction layer for integrating mobile platforms |
CN104506651B (zh) * | 2015-01-05 | 2018-02-23 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟应用服务管理方法及*** |
CN104506651A (zh) * | 2015-01-05 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟应用服务管理方法及*** |
US10430207B2 (en) | 2016-03-25 | 2019-10-01 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Method and electronic device for directly starting application on second virtual machine in operating environment of first virtual machine |
Also Published As
Publication number | Publication date |
---|---|
KR101574366B1 (ko) | 2015-12-03 |
CA2723907A1 (en) | 2009-12-17 |
CA2723907C (en) | 2016-03-01 |
JP5367074B2 (ja) | 2013-12-11 |
KR20110030447A (ko) | 2011-03-23 |
RU2010150809A (ru) | 2012-06-20 |
US8161479B2 (en) | 2012-04-17 |
AU2009257865B2 (en) | 2015-02-26 |
EP2310940A1 (en) | 2011-04-20 |
US20090313620A1 (en) | 2009-12-17 |
CN102057355B (zh) | 2013-08-07 |
AU2009257865A1 (en) | 2009-12-17 |
EP2310940A4 (en) | 2014-01-01 |
BRPI0911610A2 (pt) | 2015-10-06 |
BRPI0911610B1 (pt) | 2019-11-12 |
JP2011524053A (ja) | 2011-08-25 |
WO2009151875A1 (en) | 2009-12-17 |
RU2498394C2 (ru) | 2013-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102057355B (zh) | 同步虚拟机和应用程序生存周期 | |
CN102834822B (zh) | 由虚拟机共享的群集的快速-完整备份 | |
US9336132B1 (en) | Method and system for implementing a distributed operations log | |
US20040044643A1 (en) | Managing multiple virtual machines | |
US7979869B2 (en) | Method and system for performing I/O operations using a hypervisor | |
US8661457B2 (en) | Pipeline across isolated computing environments | |
KR101471879B1 (ko) | 하이퍼바이저 기반 서버 이중화 시스템, 그 방법 및 서버 이중화 컴퓨터 프로그램이 기록된 기록매체 | |
US9886443B1 (en) | Distributed NFS metadata server | |
CN103019802B (zh) | 一种虚拟机管理方法及平台 | |
CN107534571A (zh) | 管理虚拟网络功能 | |
US20080256530A1 (en) | System and Method for Determining Firmware Compatibility for Migrating Logical Partitions | |
CN101443748A (zh) | 将机器转换为虚拟机 | |
CN103036986A (zh) | 在分布式应用对象上提供更新通知 | |
CN101169735A (zh) | 在管理程序中提供基于策略的操作***服务的方法和*** | |
WO2012131507A1 (en) | Running a plurality of instances of an application | |
CN102592077A (zh) | 提供安全边界 | |
CN114691050B (zh) | 基于kubernetes的云原生存储方法、装置、设备及介质 | |
CN101211362B (zh) | 用于数据库更新管理的***和方法 | |
CN105677481A (zh) | 一种数据处理方法、***及电子设备 | |
CN103729233A (zh) | 一种多虚拟机管理方法和装置 | |
CN105589746A (zh) | 虚拟机迁移记录管理方法及*** | |
Prager | The project automated librarian | |
Barrett et al. | Staging for z/OS Optimization | |
CN117742887A (zh) | 一种基于kubernetes数据卷完成云平台虚拟机克隆的方法 | |
JP2005071158A (ja) | ファイル排他制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150506 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150506 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |