用补丁等来更新虚拟机的制作方法

文档序号:6454933阅读:210来源:国知局
专利名称:用补丁等来更新虚拟机的制作方法
技术领域
本发明涉及用补丁来更新虚拟机或其组件以维护该虚拟机或组件。具体而 言,本发明涉及更新在库等中的并因此是离线的这一虚拟机的系统和方法。更 具体而言,本发明涉及将虚拟机从库中部署到在线状态以应用补丁,或以具有
应用补丁的文件的驱动器的方式挂载虚拟机的系统和方法。
背景技术
如应当理解的,虚拟机('VM')是出于仿真硬件系统的目的而在计算设 备等(即,'主机')上操作的软件构造等。通常,但不必然地,虚拟机是应用 程序等,并且可在主机上用于实例化使用应用程序等,同时将这一使用应用程 序与该主机设备或该主机设备上的其它应用程序隔离开。在一种典型的情况 下,主机可容纳多个部署的VM,每个VM经由可从该主机获得的资源来执行 某些预定功能。值得注意的是,尽管采用虚拟的形式,但每个VM无论从哪点 看都是计算机器,并因此将其本身如此向其使用应用程序和外部世界两者表 示。
通常,虽然不是必须的,但主机将其每个VM部署在单独的分区中。这一 主机可包括具有担当监督应用程序或"系统管理程序"的VM监控程序等的虚 拟化层,其中虚拟化层监督和/或以其它方式管理该主机的每一 VM的管理方 面,并担当每一VM和外部世界之间的可能链接。
VM的一个特点是VM作为一虚拟构造可以被随意地停止和重启,并且 VM在被停止时可以按文件等形式存储、检索。特别地,在特定计算设备上实 例化的VM是可被整洁地打包的单一软件构造,因为该软件构造包括与该VM 有关的所有数据,包括与该VM有关的操作数据和状态信息。结果,第一主机 上的VM可以被移动或"迁移"到第二主机,这通过在第一主机上停止该VM、 将停止的VM移动到第二主机、并在第二主机处重启所移动的VM等来实现。 更一般地,VM能以类似的方式从第一平台迁移到第二平台,其中平台表示不 同的主机、同一主机的不同配置等。在后一情况下,应当理解,如果例如添加了附加的存储器、改变了处理器、提供了附加的输入设备、移除了选择设备等, 则计算设备可具有不同的配置。
以类似方式,可维护VM的库,其中库中的每一 VM都是当接到合适的 命令时可用于检索和重启的停止的且已存储的VM。因此,作为一个示例,需 要特定处理情形的用户等可细察库以查找解决该情形的合适的VM,并且当找 到这样的VM时该用户等可检索和重启该VM。以类似方式,已部署VM的用 户等可在任何适当的时刻停止该VM并将该停止的VM存储到库中以供稍后检 索,此时该已存储的VM当从库中被检索时可被重启以继续处理。
应当理解,VM包括操作系统、 一个或多个使用应用程序和其他各种软件 构造(即,统称为"软件构造"),并且VM的每一软件构造有时需要补丁等 形式的更新。如可以理解的,这样的更新可出于若干原因中的任一个来执行, 包括为了保持构造最新,为了向构造提供附加功能,为了解决关于构造的安全 问题等。 一般而言,构造可包括周期性地向更新源查询任何新补丁的更新功能, 并且如果新补丁可用,则该更新功能也许在用户等的帮助和/或批准下获取并安 装该新补丁。
值得注意的是,停止的并存储在库等中的VM不能够执行任何处理,并因 此这一停止的且存储的VM的构造的更新功能不能够在可能适当的时候获取 并安装补丁。如可以理解的,构造在其VM被停止且存储时无法更新在该更新 的特性相对不重要的情况下可能是次要的麻烦,或者在该更新的特性相对重要 的情况下可以是一个主要问题。在前一情况下,相对不重要的更新可以是例如 提供附加显示特征的更新。在后一情况下,相对重要的更新可以是例如解决安 全问题的更新。
尤其对于相对重要的更新,等待将该更新应用于VM直到当该VM能够 以普通的方式从库中检索和重启时的某一不确定时刻可能是不可接受的。因 此,需要针对允许任何更新,且尤其是任何重要更新应用于库中的VM的系统 和方法。
发明概述
其中提供了关于计算设备上的虚拟机(VM)库的系统和方法的本发明满足了上述需求。每个vm都以停止形式存储在这一库中以便从该库中检索并在
主计算设备上重启。该库中的每个vm都是当在主计算设备上重启时仿真硬件
系统的软件构造。每个重启的vm都包括多个软件构造。该库中的每个vm的 每一软件构造都至少可能不是最新的并需要软件更新。
在本方法中,对于该库中的每个vm,周期性地确定该vm的每一软件构 造是否是最新的。如果该vm的任一软件构造不是最新的,则在该库中将该 vm标记为非最新。在某一时刻,接收从该库中对要检索并在主计算设备上重 启的vm的选择。如果所选vm在该库中被标记为非最新,则在不具有对任何 主计算设备的访问的维护主计算设备上更新该vm,之后在该主机计算设备处 重启该已更新vm。
为了更新该vm,这一 vm从该库中检索并在该维护主计算设备上重启, 并且已重启vm的每个非最新软件构造都被允许通过从相应的更新源获取所 需软件更新作为至少一个补丁来在该维护主计算设备上更新。或者,该vm被 挂载到计算设备,检查所挂载vm的构成组件以确定该vm的每个软件构造是 否是最新的,并且每个非最新软件构造通过从相应的更新源获得所需软件更新 作为至少一个补丁并将每个补丁应用于所挂载vm来更新。
附图简述
以上概述以及以下本发明实施例的详细描述在结合附图阅读时能够被更 好地理解。出于说明本发明的目的,在附图中示出目前优选的实施例。然而, 如应理解的,本发明不限于所示的精确安排和手段。在附图中


图1是表示其中可结合本发明和/或其各部分的各方面的通用计算机系统 的框图2是根据本发明的各实施例的示出具有虚拟机(vm)库的系统的框图, 每个虚拟机都可在维护主机上重启或被挂载到计算设备以便于更新;以及
图3-5是根据本发明的各实施例的示出结合图2中的系统来执行的关键步 骤的流程图。
发明详述计算机环境
图1及以下讨论旨在提供对适于在其中实现本发明的合适的计算环境的 简要概括描述。尽管并非所需,但本发明在诸如程序模块等由诸如客户机工作 站或服务器等计算机执行的计算机可执行指令的一般上下文中描述。 一般而 言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、 组件、数据结构等。此外,应该理解,本发明和/或其各部分可用其它计算机系 统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费 电子产品、网络PC、小型机、大型计算机等。本发明也可以在其中任务由通 过通信网络链接的远程处理设备执行的分布式计算环境中实施。在分布式计算 环境中,程序模块可位于本地和远程存储器存储设备中。
如图1所示,示例性通用计算系统包括常规个人计算机120等,该计算机 包括处理单元121、系统存储器122和将包括系统存储器的各种系统组件耦合 到处理单元121的系统总线123。系统总线123可以是几种类型的总线结构中 的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线 体系结构中的任一种的局部总线。系统存储器包括只读存储器(ROM) 124和 随机存取存储器(RAM) 125。基本输入/输出系统126 (BIOS)包含有助于诸 如启动时在个人计算机120中元件之间传递信息的基本例程,它被存储在ROM 124中。
个人计算机120还包括对硬盘(未示出)读写的硬盘驱动器127、对可移 动磁盘129读写的磁盘驱动器128、以及对诸如CD-ROM或其它光学介质的可 移动光盘131读写的光盘驱动器130。硬盘驱动器127、磁盘驱动器128和光 盘驱动器130分别通过硬盘驱动器接口 132、磁盘驱动器接口 133和光盘驱动 器接口 134连接到系统总线123。驱动器及其相关联的计算机可读介质为个人 计算机120提供了对计算机可读指令、数据结构、程序模块和其它数据的非易 失性存储。
尽管此处所述的示例性环境使用硬盘、可移动磁盘129和可移动光盘131, 但是应该理解,在示例性操作环境中也可使用能够存储可由计算机访问的数据 的其它类型的计算机可读介质。这样的其它类型介质包括磁带盒、闪存卡、数 字视频盘、贝努利盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等。
可在硬盘、磁盘129、光盘131、 ROM 124或RAM 125上存储多个程序 模块,包括操作系统135、 一个或多个应用程序136、其它程序模块137和程 序数据138。用户可通过诸如键盘140和定点设备142等输入设备向个人计算 机120中输入命令和信息。其它输入设备(未示出)可以包括话筒、操纵杆、 游戏手柄、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系 统总线的串行端口接口 146连接至处理单元121,但也可以由其它接口,诸如 并行端口、游戏端口或通用串行总线(USB)连接。监视器147或其它类型的 显示设备也经由接口,诸如视频适配器148连接至系统总线123。除了监视器 147之外,个人计算机通常包括诸如扬声器和打印机等其它外围输出设备(未 示出)。图1的示例性系统还包括主机适配器155、小型计算机系统接口 (SCSI) 总线156以及连接到SCSI总线156的外置存储设备162。
个人计算机120可使用至一个或多个远程计算机,诸如远程计算机149 的逻辑连接在网络化环境中操作。远程计算机149可以是另一个人计算机、服 务器、路由器、网络PC、对等设备或其它常见的网络节点,且通常包括上文 相对于个人计算机120描述的许多或所有元件,尽管在图1中只示出存储器存 储设备150。图1中所示逻辑连接包括局域网(LAN) 151和广域网(WAN) 152。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是 常见的。
当在LAN联网环境中使用时,个人计算机120通过网络接口或适配器153 连接至LAN151。当在WAN联网环境中使用时,个人计算机120通常包括调 制解调器154或用于通过诸如因特网等广域网152建立通信的其它装置。或为 内置或为外置的调制解调器154经由串行端口接口 146连接到系统总线123。 在网络化环境中,相对于个人计算机120所描述的程序模块或其部分可以存储 在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,且可以使 用在计算机之间建立通信链路的其它手段。
主机和虚拟机库
现在转向图2,可以看到,本发明在虚拟机(VM) 12的库10的上下文中可具有特定适用性,每个虚拟机都以停止且最有可能是关闭的形式存储在这一
库10中并且可以按适当的方式从库10中检索并在主机14上重启。此处要注 意,库10、 VM 12和主机14可以是任何合适的库、VM和主机而不背离本发 明的精神和范围。这样的库、VM和主机是已知的或应该对相关公众是显而易 见的,并因此除已经提供的之外无需在此详细阐明。
如上所述,库10中的每个VM 12都是当在主机14上重启时仿真硬件系 统的软件构造等。由此,VM 12可以采用主机14的资源来实例化使用应用程 序等,同时将这些使用应用程序与该主机14和该主机14上的其它应用程序隔 离开。如图所示,主机14可以容纳多个部署的VM12,其中每一VM12独立 地执行某些预定功能。例如,被部署到主机14的VM12中的至少某一些可担 当数据服务器,这些VM 12中的至少某一些可担当关于耦合到主机14的网络 16的网络服务器,这些VM 12中的至少某一些可担当邮件服务器,且这些VM 12中的至少某一些可执行包括维护功能、数据收集、硬件监控、纠错、文件管 理等在内的低级功能。值得注意的是,每一VM 12尽管采用了虚拟形式,但 无论从哪点来看都是一计算机器。
主机14本身可以是适当的计算设备,如台式计算机、膝上型计算机、手 持式计算机、数据助理、大型计算机、或具有主存一个或多个VM 12所需的 功能和容量的任何其它类型的计算设备。然而,在记住每一VM可能需要来自 主机14的大量存储器、1/0操作、存储空间以及处理器容量,并且在记住可期 望主机14在任一时刻容纳2个、5个、10个、20个或更多VM12的情况下, 主机14可能应具有能够实际上容纳这些VM 12的大量能力和资源。
库10可以是任何种类的计算设备上的任何种类的库而不背离本发明的精 神和范围。例如,库10可驻留在具有足够容量来主存这一库10的所有VM 12 的服务器上,或者可简单地驻留在具有这样足够容量的合适的盘驱动器上。在 后一情况下,该盘驱动器甚至可以是主机14的一部分。然而,注意,在存在 多个可用主机14的情况下,这一库10可能物理地与这些主机14分开,但通 信地耦合至这些主机14。可以想象,库IO本身可驻留在虚拟机上。
如上所述,每一VM 12作为一虚拟构造可以被随意地停止和重启,并且 在被停止时可以按文件等形式存储在库10中并从中检索。特别地,每一 VM 12
11都是可被整洁地打包的单一软件构造,因为该软件构造包括与该VM 12有关 的所有数据,包括与该VM 12有关的操作数据和状态信息。由此,第一主机 14上的VM 12可在主机14之间被移动或"迁移",这简单地通过在第一主机 14上停止VM 12、将停止的VM 12移动到第二主机14、并在第二主机14处 重启所移动的VM 12来实现。
通常,但不必然地,图2的系统包括在合适的计算设备等上操作的VM控 制器18。原则上,且如可以理解的,这一 VM控制器18可用于从库10中检 索所存储的VM 12并通过在特定主机14上重启检索到的VM 12来部署该VM, 以及停止部署的VM 12并将该停止的VM 12存储在库10处,所有这些都在用 户等的正确指导下进行。由此,需要特定处理情形的用户等可经由VM控制器 18细察库10以査找解决该情形的适当VM 12,并且当找到这样的VM 12时该 用户可使用VM控制器18来检索和重启该VM 12。以类似的方式,已部署VM 的用户等可在任何适当的时刻停止该VM并将该停止的VM存储到库中以供稍 后检索,此时该已存储的VM当从库中被检索时可重启以继续处理。此处要注 意,VM控制器18可以是任何合适的VM控制器而不背离本发明的精神和范 围。这样的VM控制器是已知的或应该对相关公众是显而易见的,并因此除已 经提供的之外无需在此详细阐明。
用补丁来更新
如上所述,库10中的每一VM12本身在物理意义上是一软件构造,但在 虚拟意义上该VM 12本身包括多个软件构造,包括具有注册表等的操作系统、 一个或多个使用应用程序、各种设备驱动程序和设备库等(即,统称为"软件 构造")。值得注意的是,任何VM12的每一软件构造有时需要补丁等形式的 软件更新。补丁 20等形式的这样的软件更新是已知的或应该对相关公众是显 而易见的,并因此无需在此详细阐明。如可以理解的,这样的更新可出于若干 原因来执行,包括为了保持构造最新,为了向构造提供附加功能,为了解决关 于构造的安全问题等。因此,本发明可操作而不考虑任何特定软件更新或补丁 20 (以下称为"补丁20")或其类型。
一般而言,可以按至少部分自动化的方式向诸如VM 12的软件构造等软件构造应用补丁20。由此,构造可包括周期性地向一个或多个更新源22查询 任何新补丁20的更新功能,并且如果新补丁可用,则该更新功能也许在用户 等的帮助和/或批准下从更新源22获取并安装每个新补丁 20。结合构造等的更 新功能是已知的或应该对相关公众是显而易见的,并因此无需在此详细阐明。 因此,本发明可操作而不考虑任何特定更新功能。
然而,注意,为使VM 12的任何特定构造的更新功能能够操作,该VM 12 本身必须是已部署的且正在操作的。换言之,停止的并存储在库等中的VM不 能够执行任何处理,并因此这一停止的且存储的VM的构造的更新功能不能够 从更新源22获取并安装补丁20。因此,总而言之,驻留在库10中的VM 12 的软件构造不能被更新。结果,该软件构造实际上必须等待被更新直到该VM 12从库10中检索并在主机14上重启。
然而,注意,情况很可能是发布了诸如安全更新等关于存储在库10中的 VM 12的特定构造的重要更新。在这种情况下,该VM 12不能针对该安全更 新旨在针对其进行保护的安全威胁进行保护,并因此在该构造处于这一不受保
护的状态的情况下不应被部署到任何主机14。特别地,并且尤其在主机12可 访问诸如网络16等任何网络的情况下,部署这一不受保护的VM 12可能会使 得任一主机发生严重的安全状况,包括网络16、主机14、网络16上的其他主 机14等的安全性破坏。
由此,仍参考图2,在本发明的一个实施例中,VM控制器18将VM 12 部署到维护主机14m,其中维护主机14m可经由适当的通信耦合访问更新源 22,但不可经由网络16或以其他方式访问任何主机14。更具体而言,现在参 考图3, VM控制器18可基于调度器24 (图2)来操作以便周期性地将一个或 多个VM 12中的每一个部署到维护主机14m以供更新(步骤301)。如现在 可以理解的,在维护主机14m处,每个部署的VM 12的软件构造中的一个或 多个用适当地获取的补丁20来更新(步骤305),之后已更新的VM 12被停 止且以更新的形式存储在库10处以等待下一次在主机14处的部署(步骤307)。 部署的VM 12的软件构造可基于由这些软件构造触发的过程来更新(步骤 303a),或者可基于由VM控制器18触发的过程来更新(步骤303b)。在后 一情况下,VM控制器18可使用合适的已知接口来实现这些触发。此处要注意,调度器24可以是任何合适的调度器而不背离本发明的精神
和范围,诸如例如作为VM控制器18的一部分并且可基于任何合适的准则调 度每个VM12以供更新的任务调度器。例如,调度器24可用于使VM控制器 18每周一次、每两周一次等将每个VM 12部署到维护主机14m。这一调度器 和这样的调度是已知的或应该对相关公众是显而易见的,从而不必在此详细描 述。还要注意,维护主机14m可以是任何合适的主机而不背离本发明的精神和 范围,且服从维护主机将其上每个部署的VM 12与其他主机14分开或以其他 方式隔离开并只允许访问更新源22的要求。
如可以理解的,基于图2的调度器24以图3所示的方式操作的VM控制 器18在某种程度上是低效的,这表现在每个VM 12都被部署在维护主机14m 处而不考虑该VM 12是否需要更新。因此,在本发明的一个实施例中,现在 转向图4, VM控制器18改为将VM12挂载到诸如维护主机14m、库10等计 算设备以使得可以检查该VM12的构成组件(步骤401),而不是最初将每个 调度的VM 12部署到维护主机14m。挂载这一 VM 12以检査该VM是已知的 或应该对相关公众是显而易见的,从而不必在此详细描述。因此,可执行任何 特定形式的挂载而不背离本发明的精神和范围。例如,可挂载这一 VM 12以 使其构成组件可以按具有多个文件等的盘驱动器等的方式来检査。
因此当挂载了该VM时,VM控制器18可检查该VM 12的各部分以确定 该VM12的各个构造是否是最新的(步骤402)。更具体而言,且如可以理解 的,这一判定可由VM控制器18通过查阅来自所挂载VM 12的诸如文件版本、 注册表信息、以及通常用来确定是否需要用一个或多个补丁 20来更新的其他 数据等信息来做出。假设的确需要一个或多个补丁20,则VM控制器18然后 可实现从合适的更新源22获取每个这样的补丁 20并将这些补丁应用于VM 12 (步骤405)。值得注意的是,这些补丁20可以在挂载时应用于VM 12 (步 骤407a),或者如有必要,在部署在维护主机14m上时应用于VM 12 (步骤 407b)。
在如步骤407a处的前一情况下,VM控制器18将通过所挂载VM 12上 的文件替换、文件修改等来应用每个补丁20。可以执行任何必要的注册表修改, 这通过在所挂载VM 12上定位注册表单元(hive)文件并然后将所定位的注册
14表单元加载到维护主机14m、库10等上,修改所加载的单元,并且保存所修 改的单元作为相应的所定位的单元的替换来实现。在如步骤407b处的后一情 况下,VM控制器18将首先从维护主机14m等卸载VM 12并然后将该VM 12 部署在这一维护主机14m上。最后,在VM 12已经用所需补丁 20来更新之后, VM控制器18然后可将已更新的VM 12移回至库10,这或者通过从维护主机 14m等卸载该VM 12并将所卸载的VM 12存储在库10中(步骤409a),或 者通过停止部署的VM 12并将该停止的VM 12存储在库10中(步骤409b) 来实现。
如可以理解的,以图4所示的方式操作的VM控制器18有时可能是低效 的,这表现在更新每个VM12而不考虑该VM12是否将由用户等来使用。艮卩, 更新每个VM12,即使该VM 12即便曾经有过也很少被部署。因此,在本发 明的一个实施例中,现在转向图5, VM控制器改为将VM12标记为非最新, 而不是实际上更新每个非最新VM 12,并且该VM 12实际上仅在实际上被部 署之前被更新。更具体而言,如上所述,VM控制器18通过例如在步骤401 处挂载VM 12以使得可以检査该VM 12的构成组件来确定每个调度的VM 12 是否是最新的(步骤501)。然而,此处,每个非最新VM12以适当的方式通 过例如在库10中随VM 12 —起包括一合适的符号来被标记为非最新(步骤 503)。由此,当用户从库10中选择要部署的每个VM12 (步骤505)时,VM 控制器18首先检查所选VM 12是否被标记为非最新(步骤507)。如果为非 最新,则VM 12首先被部署或挂载到维护主机14m,并且如步骤301及以下 步骤或步骤401及以下步骤处被更新(步骤509),之后该非最新VM12被部 署到主机14以供作出选择的用户使用(步骤511)。
结论
实现结合本发明执行的过程所需的编程相当直接,且应对相关编程公众是 显而易见的。因而,这样的编程不附在此。因此,可采用任何特定的编程来实 现本发明,而不背离其精神和范围。
在以上描述中,可以看到,本发明包括用于将更新应用于被存储在库10 中的VM 12的新颖且有用的系统和方法。应当理解,可对上述实施例作出改变而不脱离其发明概念。从而应理解,本发明不限于所公开的具体实施例,而 是旨在覆盖落入如由所附权利要求书定义的本发明的精神和范围内的修改。
权利要求
1. 一种关于计算设备上的虚拟机(VM)库的方法,每一VM都以停止的形式存储在这一库中以便从所述库中检索并在主计算设备上重启,所述库中的每一VM都是当在主计算设备上重启时仿真硬件系统的软件构造,每一重启的VM都包括多个软件构造,所述库中的每一VM的至少一个软件构造是非最新的并需要软件更新,所述方法包括,对于所述库中的每一VM周期性地从所述库中检索所述VM并在可访问至少一个更新源但不可访问任何主计算设备的维护主计算设备上重启所检索的VM;允许重启的VM的每一非最新软件构造通过从相应的更新源获取所需软件更新作为至少一个补丁来在所述维护主计算设备处更新;以及停止已更新的VM并将停止的VM存储在所述库中以等待检索并在所述主计算设备处重启。
2. 如权利要求1所述的方法,其特征在于,包括外部地触发所述重启的 VM的每个非最新软件构造被更新。
3. 如权利要求1所述的方法,其特征在于,包括所述重启的VM的每个 非最新软件构造内部地触发其自身被更新。
4. 如权利要求1所述的方法,其特征在于,VM控制器操作以便从所述库 中检索所存储的VM并在所述维护主计算设备上重启所检索的VM,并且还停 止所述重启的VM且将所述停止的VM存储在所述库中,所述方法由所述VM 控制器来执行。
5. 如权利要求4所述的方法,其特征在于,包括所述VM控制器基于调 度器来操作以便周期性地将所述库中的每一 VM部署到所述维护主计算设备 以供更新。
6. 如权利要求1所述的方法,其特征在于,包括基于调度器来操作以便周期性地将所述库中的每一 VM部署到所述维护主计算设备以供更新。
7. —种关于计算设备上的虚拟机(VM)库的方法,每一 VM都以停止的 形式存储在这一库中以便从所述库中检索并在主计算设备上重启,所述库中的 每一 VM都是当在主计算设备上重启时仿真硬件系统的软件构造,每一重启的 VM都包括多个软件构造,所述库中的每一VM的至少一个软件构造是非最新 的并需要软件更新,所述方法包括,对于所述库中的每一VM:周期性地从所述库中检索所述VM并将所检索的VM挂载到不可访问任 何主计算设备的计算设备;检查所挂载VM的构成组件以确定所述VM的每个软件构造是否是最新 的,并且对于每个非最新软件构造,通过从相应的更新源获取所需软件更新作 为至少一个补丁并将每个补丁应用于所挂载VM来在所述维护主计算设备处 更新所述非最新软件构造;以及将已更新的VM存储在所述库中以等待检索并在所述主计算设备处重启。
8. 如权利要求7所述的方法,其特征在于,包括当挂载到所述计算设备时 将每个补丁应用于所述非最新软件构造,所述方法还包括在从所述维护主计算 设备卸载已更新的VM之后将所述已更新的VM存储在所述库中。
9. 如权利要求7所述的方法,其特征在于,包括当在所述维护主计算设备 上重启时将每个补丁应用于所述非最新软件构造,并且包括从所述维护主计算 设备卸载所述VM并然后在这一维护主计算设备上重启所述VM,所述方法还 包括在所述维护主计算设备处停止已更新的VM之后将所述已更新的VM存储 在所述库中。
10. 如权利要求7所述的方法,其特征在于,包括将所检索的VM挂载 到所述计算设备以使得所挂载VM的构成组件可以按具有多个文件的盘驱动 器的方式来检査。
11. 如权利要求7所述的方法,其特征在于,检查所挂载VM的构成组 件以确定所述VM的每个软件构造是否是最新的包括查阅来自所挂载的VM的 信息,所述信息包括文件版本和注册表信息的信息。
12. 如权利要求7所述的方法,其特征在于,VM控制器操作以便从所 述库中检索所存储的VM并将所检索的VM挂载到所述计算设备,并且还将所 述已更新的VM存储在所述库中,所述方法由所述VM控制器来执行。
13. 如权利要求12所述的方法,其特征在于,包括所述VM控制器基 于调度器来操作以便周期性地将所述库中的每一 VM部署到所述维护主计算 设备以供更新。
14. 如权利要求7所述的方法,其特征在于,包括基于调度器来操作以 便周期性地将所述库中的每一 VM部署到所述维护主计算设备以供更新。
15. —种关于计算设备上的虚拟机(VM)库的方法,每一VM都以停 止的形式存储在这一库中以便从所述库中检索并在主计算设备上重启,所述库 中的每一 VM都是当在主计算设备上重启时仿真硬件系统的软件构造,每一重 启的VM都包括多个软件构造,所述库中的每一 VM的每个软件构造至少可能 是非最新的并需要软件更新,所述方法包括,对于所述库中的每一VM-周期性地确定所述VM的每个软件构造是否是最新的,并且如果所述VM 的任一软件构造不是最新的,则将所述库中的VM标记为非最新;接收从所述库中对要检索并在主计算设备上重启的VM的选择;确定所选VM是否在所述库中被标记为非最新,并且如果为非最新,则在 不可访问任何主计算设备的维护主计算设备处更新所述VM;以及在所述主计算设备处重启已更新的VM。
16. 如权利要求15所述的方法,其特征在于,VM控制器操作以便从所 述库中检索所存储的VM并在所述维护主计算设备上重启所检索的VM,并且还停止所述重启的VM且将停止的VM存储在所述库中,所述方法由所述VM 控制器来执行。
17. 如权利要求16所述的方法,其特征在于,包括所述VM控制器基 于调度器来操作以便周期性地确定所述VM的每个软件构造是否是最新的。
18. 如权利要求15所述的方法,其特征在于,包括基于调度器来操作 以便周期性地确定所述VM的每个软件构造是否是最新的。
19. 如权利要求15所述的方法,其特征在于,更新所述VM包括-从所述库中检索所述VM并在所述维护主计算设备上重启所检索的VM;以及允许重启的VM的每个非最新软件构造通过从相应的更新源获取所需软 件更新作为至少一个补丁来在所述维护主计算设备处更新。
20. 如权利要求15所述的方法,其特征在于,更新所述VM包括 从所述库中检索所述VM并将所检索的VM挂载到所述计算设备;以及 检査所挂载VM的构成组件以确定所述VM的每个软件构造是否是最新的,并且对于每个非最新软件构造,通过从相应的更新源获取所需软件更新作 为至少一个补丁并将每个补丁应用于所挂载VM来在所述维护主计算设备处 更新所述非最新软件构造。
全文摘要
多个虚拟机(VM)中的每一个都以停止形式被存储在库中以便从该库中检索并在主机上重启。每个重启的虚拟机包括多个软件构造,每个软件构造都至少可能不是最新的并需要软件更新。为了更新非最新VM,检索并在维护主机上重启这一VM,并且允许每个非最新软件构造通过从相应的更新源获得所需软件更新作为补丁来更新。或者,该VM被挂载到计算设备,检查所挂载VM的构成组件以确定其每个软件构造是否是最新的,并且每个非最新软件构造通过从相应的更新源获得所需软件更新作为补丁并将该补丁应用于所挂载的VM来更新。
文档编号G06F15/16GK101454765SQ200780019041
公开日2009年6月10日 申请日期2007年3月15日 优先权日2006年5月22日
发明者E·J·温纳, G·戈兰, R·M·弗莱尔斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1