CN101416175A - 创建离线资源的模板 - Google Patents

创建离线资源的模板 Download PDF

Info

Publication number
CN101416175A
CN101416175A CNA2007800123298A CN200780012329A CN101416175A CN 101416175 A CN101416175 A CN 101416175A CN A2007800123298 A CNA2007800123298 A CN A2007800123298A CN 200780012329 A CN200780012329 A CN 200780012329A CN 101416175 A CN101416175 A CN 101416175A
Authority
CN
China
Prior art keywords
template
resource
software
virtual machine
software resource
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
Application number
CNA2007800123298A
Other languages
English (en)
Other versions
CN101416175B (zh
Inventor
N·S·小阿罗约
S·P·罗伯特森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101416175A publication Critical patent/CN101416175A/zh
Application granted granted Critical
Publication of CN101416175B publication Critical patent/CN101416175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Abstract

本发明的可实现允许软件资源在离线时被高效且有效地复制。在一个实现中,预备程序接收软件资源的标识,诸如安装在不同卷上的虚拟机、离线操作系统、或应用程序。该预备程序还接收将从软件资源移除的定制标记的指示。这些标记可包括个性化信息以及软件更新等级、安全设置、用户设置等等。在执行时,该预备程序在软件资源没有运行时将该预备程序的函数调用重定向到位于不同卷上(或甚至同一卷上)的软件资源。该预备程序从而因此能够以安全的方式创建软件资源的模板而不必影响该预备程序运行于其上的卷。

Description

创建离线资源的模板
背景
背景和相关技术
存在多种在计算机化环境中分发不同类型的资源(软件、硬件、或其组合)的方式。例如,从软件的观点来看,企业可以在多个不同的计算机上安装操作系统(或应用程序)的多个副本,并由此在多个系统之中分发一个副本。就此,该企业可能还需要安装对所复制或共享的操作系统的若干附加的软件更新,并因此也在许多系统之中共享这些更新的多个副本。共享硬件的常规方式包括在网络上建立计算机系统以使得多个不同的计算机系统能够出于各种存储或文件共享需求而访问另一个计算机的驱动器空间。
从组合的软件和硬件的观点来看,分发资源的另外的方式包括在单个物理计算机系统上创建独特的实体,其中这些实体如单独且独立的计算机系统一样运作,但是共享相同的物理介质和处理资源。例如,企业可以在相同的单个服务器上创建多个虚拟机,每个虚拟机都可由另一个计算机单独寻址,如同每个给定虚拟机都是其自己的独立计算机系统一样。在这一实现中,大型企业中的一个或几个服务器也能够在相同的一组硬件上主存若干虚拟机,其中这些虚拟机不论被如何配置都能够各自用作附加服务器或可访问网络的个人计算机。
可以理解,作为虚拟机的这些实体组合了软件和硬件资源的共享,因为它们通常用由另一个虚拟机使用的操作系统的现存副本来建立,并且因为它们甚至可以共享已由另一个虚拟机使用的驱动器。尽管共享相同的操作系统,然而,企业将需要定制该操作系统的各方面以使得该虚拟机不与使用该操作系统的同一副本的其他虚拟机混淆,尤其是在安装在相同的物理驱动器上的情况下。因此,为了创建定制的虚拟机,系统管理员将需要向新虚拟机提供具有使之与其他虚拟机(或其他计算机系统)区别开来的独特标记,诸如机器名、时区、域名、公司名、产品密钥等等。
然而,简单地定制该虚拟机是相当困难的。例如,系统管理员可能期望仅仅从操作系统的基本安装副本来安装该虚拟机,并且然后应用所有感兴趣的各种软件补丁以及唯一虚拟机标记。当然,在存在系统管理员想要应用的大量软件补丁和其他独特定制的情况下,这相当不方便。因此,系统管理员可能更偏向于复制从软件的观点来看已被定制为该系统管理员的偏好的操作系统的一个实例,并且然后将该副本安装在新的虚拟机中(即使具有不同的独特标记)。由此,该系统管理员将需要在将该副本安装在该新虚拟机中之前从现存的感兴趣副本中移除该定制标记。
然而,仅仅从一个操作系统副本移除定制标记并且然后将新的定制标记添加到新虚拟机上的操作系统副本存在不同的困难。具体地,可用于创建操作系统(或应用程序)的“通用”或“模板”副本的常规预备软件可能是难以使用的,并且可能花费大量的时间。例如,系统管理员可能需要启动感兴趣的操作系统的副本,并且然后在该副本运行的同时在该操作系统之上运行特定的预备软件。在该预备软件移除该操作系统副本的某些独特的特征时,该预备软件可能需要该操作系统重启若干次直到已移除所有独特的特征。
除了不断重启该操作系统(或应用程序)中所固有的由于简单的延迟而引起的困难之外,常规的预备软件在技术上也可能是复杂且难以使用的。具体地,如果用户在试图将操作系统转换为通用或模板副本之前无法正确地配置该预备软件,则用户可能剥离了该用户不想剥离的项目。这可导致该用户花费更多的时间来使该操作系统回到正确的点,或甚至导致给定的感兴趣的操作系统(或其模板)变得不可操作。
因此,存对于使用先前存在的软件来创建实体的新实例的、在可被解决的多个问题。
简要概述
本发明的各实现用被配置成创建离线资源的模板副本的系统、方法和计算机程序产品解决了本领域中的一个或多个问题。具体地,本发明的各实现允许诸如操作系统或应用程序的副本等特定资源的副本根据用户的指定,并在该资源没有运行(即,离线)时转换为该资源的通用或模板副本。因此,本发明的各实现允许用户非常高效且可配置地创建与所需一样多的同一资源的模板副本。这样的实现还可为在稍后的过程期间定制该模板提供方便的用户体验。
例如,一种在一个或多个软件资源中的至少一个离线时创建该至少一个软件资源的模板的方法可涉及标识离线软件资源,以及标识一个或多个模板设置。这些模板设置一般将指示要从该软件资源移除的一个或多个标记。此外,该方法可涉及在第一操作系统处执行被配置成根据模板设置来移除标记的预备程序。该方法还可涉及将该预备程序的一个或多个函数调用重定向到所标识的软件资源。由此,从该软件资源中移除了由该一个或多个模板设置标识的标记,并且创建该软件资源的模板。
此外,一种在虚拟机离线时复制虚拟机以使得该虚拟机和复制的虚拟机在运行时具有可区分的身份的方法可涉及接收安装在第一存储空间上的虚拟机文件的身份。该方法还可涉及从安装在第二存储空间上的预备程序接收一个或多个函数调用,其中该一个或多个函数调用请求移除一个或多个标记。此外,该方法可涉及在该虚拟机文件上执行一个或多个函数调用,这可导致移除位于第一存储空间的所请求的标记。此外,该方法可涉及创建该虚拟机文件的模板副本。
提供本概述以便以简化的形式介绍将在以下的详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的示例性实现的附加特征和优点将在以下描述中叙述,且其一部分根据本描述将是显而易见的,或可通过对这些示例性实现的实践而获知。各个特征和优点可以通过在所附权利要求中特别指出的手段和组合来实现和获得。本发明的特征将从以下描述和所附权利要求书中变得更完全显而易见,或者可通过如下所述对本发明的实践而知。
附图简述
为了描述可获取本发明的上述和其他优点和特征的方式,将通过引用附图中示出的本发明的具体实施例来呈现以上简要描述的本发明的更具体描述。可以理解这些附图仅描述本发明的典型实施例,从而不被认为是对其范围的限制,本发明将通过使用附图用附加特征和细节来描述和说明,附图中:
图1A示出了根据本发明的一实现的概略示意图,其中预备程序创建离线资源的一个或多个模板副本,并且在一个或多个主卷上安装该资源。
图1B示出了图1A所示的示意图的更详细的视图,其中预备程序与预备代理接口以在一个存储介质上创建资源模板并且在不同的主卷上的不同的存储介质上安装该资源的定制版本。
图1C示出了根据本发明的被配置成将函数调用从预备程序重定向到正确的资源目标文件的一组应用层;以及
图2示出了包括从预备程序和预备代理的观点来看的用于创建离线资源的模板副本的一系列动作的流程图。
详细描述
本发明涉及被配置成创建离线资源的模板副本的系统、方法、以及计算机程序产品。具体地,本发明的各实现允许诸如操作系统或应用程序的副本等特定资源的副本根据用户的指定,并在该资源没有运行(即,离线)时转换为该资源的通用或模板副本。因此,本发明的各实现允许用户非常高效且可配置地创建与所需一样多的同一资源的模板副本。这样的实现还可为在稍后的过程期间定制该模板提供方便的用户体验。
如将从此处的说明书和权利要求书中更全面理解的,这些实现的至少一个优点是用户(例如,系统管理员)能够向大量其他用户高效地提供定制的虚拟机而不必从基础等级重新创建该定制的虚拟机。此外,定制的虚拟机的用户或所有者能够容易地创建该用户的虚拟机的模板而不必经历与其相关联的硬件或软件的若干重新引导和/或重新启动。此外,因为该过程可被自动化,所以通常常规用户将不会知道其答案(诸如产品密钥、DNS、WINS等)的费力判定中的某一些可由系统自动解决,从而大大节约了例如求助台或管理性电话中的成本。此外,本发明的各实现允许特定预备软件的函数调用被容易地重定向到另一个位置以使得该用户能够从远程的虚拟机创建模板。
如此处所使用的,“预备程序”指的是一组被配置成与如由特定用户所指示的特定文件接口的一般独立的计算机可执行指令,这些文件诸如虚拟机或操作系统的映像文件、或应用程序文件的映像(或可执行码)等。该预备程序然后能够根据所提供的模板设置从该文件中移除特定的定制标记。在例如对于微软操作环境的至少一个实现中,可根据本发明的一个或多个实现来使用的一个预备程序(例如,145)是系统预备工具,也被称为“Sysprep”。
无论如何,在诸如此处主要描述的某些情况下,该预备程序还将通过用户或其他管理员的配置与“预备代理”接口。预备代理也是一组计算机可执行指令,其高效地担当预备程序与感兴趣的文件之间(和/或还通过与特定操作系统相关的任何其他合适的接口组件)的填补(shim)接口(例如,图1C)。具体地,该预备代理将被配置成接收并重定向来自该预备程序的调用。在至少一个实现中,预备代理被配置成接收并重定向来自预备程序的调用而预备程序不知道这一接收和/或重定向。
图1A示出了根据本发明的一实现的概略示意图,其中预备程序创建离线资源的一个或多个模板副本,并且安装。一个或多个其他资源或组件(未示出)(例如,一个或多个其他重分发或存储模块或机制)然后能够在一个或多个主卷上提供该资源的模板副本。例如,图1A示出了服务器105主存当前是“离线”的或没有运行的一个或多个资源,诸如资源140等。在该示例中,资源140包括“虚拟机”,该“虚拟机”本质上是在服务器105处的已分配的硬盘分区上运行的独立实体。
作为虚拟机,资源140能够提供常规物理机器的好处中的大多数或全部,诸如运行应用程序、与其他物理或虚拟机器交互、提供网络或数据库应用程序/功能等等。例如,在一个实现中,服务器105包括主要用作存储服务器的主分区,而资源140用作邮件或数据库服务器。由此,网络上的其他机器一般不会意识到资源140只是由服务器105主存的虚拟机,这至少部分是因为相比于网络上的其他机器,资源140被充分定制并可独立寻址。(此处要分段)图1A还示出了在某一时刻,用户期望复制资源140。例如,用户喜欢各种软件设置、更新、以及定制被应用于资源140的方式,并因而想要复制资源140以供在其他主机上使用,而无需从头开始移除那些软件定制。因此,图1A示出了预备程序145在资源140离线时与其接口,并创建相应的模板副本140a。这些模板然后可在适当时被发送、安装、以及可任选地定制到主机110和115的分开的卷(即,165、180)中。在适当地定制之后,这些资源140的新版本(即,资源140b、140c)然后可被视作是对于在该网络上的其他用户而言无论从哪点看都是新机器的独立实体。
图1B示出了图1A所示的示意图的更详细的视图,其中上述预备程序145与预备代理150接口以创建资源140的副本140a。具体地,图1B示出了服务器105包括多个不同的机器和/或虚拟机,并因此在某些方面用作虚拟机库。例如,图1B示出服务器105包括存储在主卷160(“c:\”)以及附加的虚拟机卷170(“x:\”)和175(“z:\”)上的各独立实体。在该示例中的每个这样的卷还包括具有其自己的、单独定制的操作系统的特定资源。例如,卷160具有存储和/或安装在其上的资源130,而卷170和175具有分别存储和/或安装在其上的资源135和140。在该特定情况下,资源135和149目前都是离线的(即,“离线资源”125)。
作为解释,该特定示例示出卷160、170、175等中的每一个都可通过特定驱动器字母指定来标识。然而,可以理解,根据本发明的各实现无需如此。例如,驱动器路径可由对于给定操作系统适当的任何合适的全局唯一标识符(“GUID”)来指定。在其他情况下,驱动器路径也可不用GUID来指定。例如,驱动器路径能够指定未安装的卷、没有驱动器字母(例如,安装点)的已安装的卷、具有驱动器字母的已安装的卷、或甚至可转移快照。最终,只需要有寻址特定卷的方式。因此,此处对特定驱动器或文件路径作出的图示和指定为描述方便起见示出至少一个可能的实现。
无论如何,并且如上所述,每个资源一般将至少按照允许该资源由本地或远程计算机系统来区分的基本标记来单独定制。例如,图1B示出资源130包括“自定义标记a,b,c”,而资源135包括“自定义标记c,d,e”,并且资源140包括“自定义标记c,f,g”。值得注意的是,在这种情况下的每个资源都具有至少一个公共标记“c”,该公共标记“c”可指示域名、时区设置、或能被共享的某一其他标记或特性。然而,每个资源还包括独特标记,诸如对于资源130的“a,b”,对于资源135的“d,e”以及对于资源140的“f,g”。例如,公共标记“c”可以是公共网络域名成员资格,而独特标记“a,b”、“d,e”以及“f,g”可以是独特的计算机名、所有者帐户、配置设置等等。
图1B还示出每个资源也可用各种软件版本、更新、和/或补丁等来单独定制。例如,资源130和135包括“软件更新x,y,z”,而资源140包括“软件更新v,y,和z”。在某一时刻,用户可决定他们诸如基于更新“v,y,z”而不是“x,y,z”等出于任意数量的原因而对资源140运行的方式有偏好。由此,用户然后可决定创建资源140的模板,该模板保存相关的软件更新,但移除诸如计算机名、所有者帐户、夏令时设置等其他自定义标记。
因此,用户准备模板设置155,该设置通过卷“z:\”175以资源140为目标,并且包括仅移除自定义标记“f,以及g”的特殊请求。在一个实现中,模板设置155只是提供给预备程序145并且响应于通过用户界面接收到的输入而创建的电子数据。在其他情况下,模板设置155可以是使用另一程序来单独创建的文件或组件,其中预备程序145仅仅接收其中的数据。无论如何,图1B还示出预备程序145在其通过预备代理150来执行时结合了模板设置155。
例如,如图1C所示,预备代理150实际上用作预备程序145与诸如进而能够与相应文件直接接口以获得资源的卷硬盘驱动器安装程序195等任何其他合适的组件之间的填补。由此,预备代理150能够至少部分地用作屏蔽(shield),这表现在由预备程序145做出的函数调用能够如由模板设置155所建立地导向另一个离线卷,而不是导向预备程序145在其上运行的操作系统。即,预备代理150可被配置成将函数调用重定向到正确的目标,并由此保证预备程序145只从其中安装了预备程序145和预备代理150的资源140而非资源130中形成模板。
再次参考图1B,该附图示出预备代理150重定向预备代理145的函数调用,该函数调用包括用于从离线资源140中剥离自定义标记“f,g”的指令。在一个实现中,预备程序145只需直接剥离资源140的一个或多个指定的标记,使得用户将需要在资源140能够返回到在线之前重新配置该自定义标记。在另一实现中,用户过滤对于另一个文件的复制和过滤函数调用的结果而无需直接从资源140中移除标记。在又一实现中,用户可以首先将资源140的离线文件复制到一分开的位置,并且然后剥离包括在模板设置155中的标记。无论如何配置,预备程序145的函数调用都能够使得资源140如所指定的被剥离,导致与最少中断所需一样多的模板副本140a。如上所述,这至少部分是因为执行这些函数调用将不需要资源140的额外重新引导或重新启动。
例如,尤其是对于虚拟机,预备程序145能够通过预备代理150安装相应资源的任何虚拟硬盘(例如,卷175)(即,资源映像文件)。或者,预备程序145可被配置成仅仅读取该资源文件或向其写入而不必安装该卷。预备程序145然后能够诸如通过启动预备代理150作为调试模式中的新进程等来建立具有任何合适标记的预备代理150。当启动预备代理150时,预备程序145能够根据模板设置155建立预备代理150以俘获对于文件系统的所有调用,俘获对于文件注册表的所有调用,并且俘获使得该执行成功运行所必需的任何其他调用。预备程序145然后能够开始将正确的函数调用传递到预备代理150,预备代理150然后根据设置(即,模板设置155)重定向那些函数调用。例如,来自预备程序145的从资源130移除定制标记的命令由预备代理150来重定向到资源140。
图1B还示出一旦正确的定制已被移除,新创建的模板140a现在就能够按需在其他地方安装。例如,图1B示出服务器105向位于主机110处的卷“p:\”提供资源模板140a以及一组新的标记185,以由此创建资源140b。类似地,图1B示出服务器105向位于主机115处的卷“j:\”提供资源模板140a以及新的标记190,以由此创建资源140c。在这两种情况下,资源140的新重复(即,资源140b-c)保留所请求的软件更新“v,y,z”,以及自定义标记“c”。尽管如此,图1B示出资源140b通过包括另外的标记,诸如对于资源140b的“h,i”以及对于资源140c的“j,k”,而至少是独特的。如上所述,这些独特标记能够与诸如计算机名或其他合适的设置信息等任何数量的项目相对应。
存在能够在新安装资源模板140a期间提供新标记185、190的多种不同的方式。例如,如上所述,这些设置可以在从资源140剥离标记140时通过用户界面提示来事先提供给预备程序145,或可在任何合适的时间从诸如软盘等不同的存储介质接收。在其他情况下,能够在主机110、115处再次使用预备程序145(等)以在安装时通过合适的用户界面来提示用户输入该信息。
此外,可以理解,在本发明的上下文中对于上述组件和机制可存在多种变型。例如,除了从安装在本地卷的目标资源中剥离自定义标记和/或特定软件组件或更新之外,系统管理员还可在远程离线资源上执行这些功能。例如,系统管理员可以使用预备程序145和预备代理150来剥离大型企业中的所有离线资源的特定软件更新。类似地,系统管理员可以使用预备程序145和预备代理150来从前员工所拥有的虚拟机中剥离所有自定义标记。此外,系统管理员可以使用预备程序145和预备代理150来建立操作系统的特别定制版本以供在企业周围的个人站使用,并且然后创建能够用最少精力在每一站上安装的副本。
此外,个别用户能够以各种个人设置来使用这些组件。例如,用户能够创建安装和配置了所有补丁和各种安全软件的操作系统的工作的、已更新的版本的副本,移除相关产品密钥,并且然后在具有不同但是有效的产品密钥、计算机名等的另一个朋友或家庭成员的计算机上重新安装该副本。因此,图1A-1C示出了能够在各种各样设置中使用以非常高效且精确地创建现存资源的模板的多个示意图和组件。
本发明的各实现还可按照包括用于实现特定结果的一系列不同动作的一种或多种方法的流程图来描述。具体地,图2示出了从预备程序145和预备代理150的观点来看的用于创建离线资源的模板副本的动作的流程图。以下将参考图1A到1C中所描述的组件和机制来描述图2的各动作。
首先要说明的是,此处有时作出对“第一”、“第二”或“第三”组件(例如,第一、第二或第三存储空间)的引用。然而,可以理解,这些指定仅仅是为了区分组件,使得“第一”组件或存储空间仅仅需要与“第二”或“第三”组件或存储空间不同,而不考虑可能访问该组件的时刻。例如,对第一存储空间,以及第二、第三存储空间的使用只是意味着这些第一、第二或第三存储空间至少是彼此不同的,并且这些指定并不要求该第一、第二或第三存储空间必须以任何特定顺序或次序呈现、访问、创建或在其上执行其他动作。
例如,图2示出了从预备程序145的观点来看的用于在一个或多个软件资源中的至少一个离线时创建该至少一个软件资源的模板的方法包括标识离线资源的动作200。动作200包括标识离线软件资源。例如,预备程序145从用户接收数据以便从位于卷“z:\”175处的资源140创建模板。
类似地,图2示出从预备代理150的观点来看的用于在虚拟机离线时复制该虚拟机以使得该虚拟机和该复制的虚拟机在运行时具有可区分的身份的方法包括接收离线文件身份的动作210。动作210包括接收安装在第一存储空间上的虚拟机文件的身份。例如,预备代理150从预备程序接收以卷“z:\”175上的资源140为目标的指示。在虚拟机的特殊情况下,资源140可被标识为诸如虚拟硬盘(即,“.vhd”、“VHD”、或“.vhd”)文件等单个文件。可以理解,在某些情况下,虚拟机可另选地替换地由多个“.vhd”文件来表示。
图2还示出从预备程序145的观点来看的方法包括标识模板设置的动作220。动作220包括标识标识将从软件资源移除的一个或多个标记的一个或多个模板设置。例如,预备代理145接收模板设置155,该设置包括移除自定义标记“f,g”,但是按需保留软件更新“v,y,z”中的任何一个或多个的指令。此外,图2还示出从预备程序145的观点来看的方法包括执行该预备程序的动作230。动作230包括在第一操作系统处执行被配置成根据模板设置移除标记的预备程序。例如,图1B示出预备程序145在资源130(即,相应操作系统)上运行和/或执行,但根据模板设置155将函数调用重定向到资源140。
因此,图2示出从预备程序145的观点来看的方法还包括将函数调用重定向到所标识资源的动作240。动作240包括将预备程序的一个或多个函数调用重定向到所标识的软件资源,使得由一个或多个模板设置标识的标记从该软件资源移除,并且使得创建该软件资源的模板。例如,预备程序145启动预备代理150作为调试模式中的新进程,并且根据模板设置155设置具有所有合适的重定向功能的预备代理150。因此,当预备程序145发送移除自定义标记的函数调用时,该调用被正确地重定向到目标软件资源,并最终创建模板。
因此,类似地,图2还示出从预备代理150的观点来看的方法包括接收一个或多个函数调用的动作250。动作250包括从安装在第二存储空间上的预备程序接收一个或多个函数调用,该一个或多个函数调用请求移除一个或多个标记。例如,如图1B和1C所示,预备代理150直接与预备程序145接口以接收指令并且在由模板设置155指示之处实现这些指令。由此,预备代理150能够保证尽管预备程序145在主卷160上执行,但是预期的剥离功能只在正确的离线目标(例如,资源140)的卷(例如,175)上发生。
此外,图2还示出从预备程序150的观点来看的方法包括在文件上执行该一个或多个函数调用的动作260。动作260包括在虚拟机文件上执行一个或多个函数调用以使得该一个或多个标记在第一存储空间被移除。例如,在由虚拟机文件表示的虚拟机的特定情况下,预备代理150直接与虚拟机文件接口(或直接与卷硬盘驱动器安装程序195接口)以从该虚拟机文件中移除指定的自定义标记(例如,资源140的“f,g”)或不想要的软件组件。由预备代理150作出的该执行能够本地地在服务器105,或甚至经由通过网络的远程函数调用来完成。
图2还示出从预备代理150的观点来看的方法包括创建离线文件的模板副本的动作270。动作270包括创建虚拟机文件的模板副本。例如,如图1B所示,在资源140上的执行的结果是创建包括软件更新“v,y,z”以及仅自定义标记“c”的模板副本140。
因此,此处所描述的各方法以及相应组件和示意图提供用于比可用的其他方式高效得多地创建离线软件资源的模板的一个或多个实现。具体地,本发明的各实现允许使用相对快速、可靠、并且通常不需要最终用户交互或凭证来执行定制的各过程来创建模板。此外,不存在运行软件资源(即,虚拟机)或在准备该软件资源之前安装额外的软件组件的显式需求。此外,这些特征都能够在虚拟机上用极少的界面来执行,即,无需要求用户登录、用户简档创建等等。此外,因为这些预备程序和组件一般足够通用以在各种各样的资源上使用,所以这些预备程序和组件不必在每次相应的目标软件资源经历版本改变时更新。
如上所述,这种以这一高效的方式创建模板的能力对于希望在各计算机站上安装特别定制或更新的软件资源的大型企业是非常有用的。具体地,本发明的各实现允许用比先前所需的更少的时间和精力来形成这些副本,并且允许也用比先前所需的更少的时间和精力来将这些副本安装到特别定制点。这些优点对于复制可在其生存期期间从软件和/或个性化观点来定制许多次的虚拟机、操作系统、以及应用程序可以是特别有用的。
作为示例而非限制,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或可用于承载或存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其它介质。当信息通过网络或另一通信连接(硬连线、无线或硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接完全视为计算机可读介质。因此,任何这样的连接被适当地称为计算机可读介质。以上的组合也应包括在计算机可读介质的范围之内。
计算机可执行指令包括例如,使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所述实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方式的含义和范围内的所有改变应被权利要求书的范围涵盖。

Claims (20)

1.一种在计算机化环境中的方法,在所述计算机化环境中使用一个或多个软件资源以在一个或多个计算机系统处执行一个或多个功能,所述方法在所述一个或多个软件资源中的至少一个离线时创建所述至少一个软件资源的模板,所述方法包括以下动作:
标识离线软件资源;
标识一个或多个模板设置,所述模板设置标识将从所述软件资源移除的一个或多个标记;
在第一操作系统处执行被配置成根据所述模板设置来移除标记的预备程序;
将所述预备程序的一个或多个函数调用重定向到所标识的软件资源,使得由所述一个或多个模板设置标识的所述标记从所述软件资源中移除,并且使得创建所述软件资源的模板。
2.如权利要求1所述的方法,其特征在于,所标识的离线软件资源是虚拟机的离线操作系统。
3.如权利要求1所述的方法,其特征在于,所标识的离线软件资源是安装在所述第一或第二操作系统中的任一个上的离线应用程序。
4.如权利要求1所述的方法,其特征在于,所述预备程序是在被配置成接收所述一个或多个模板设置的预备代理上执行的。
5.如权利要求4所述的方法,其特征在于,所述预备代理被配置成通过资源安装程序将所述一个或多个函数调用传递到所标识的软件资源。
6.如权利要求4所述的方法,其特征在于,所标识的离线资源是卷硬盘文件,并且其中所述资源安装程序是卷硬盘驱动器安装程序以及被配置成提供对相应物理盘的访问的应用程序或系统库中的至少一个。
7.如权利要求6所述的方法,其特征在于,所述卷硬盘文件与虚拟机相对应。
8.如权利要求1所述的方法,其特征在于,所述一个或多个模板设置包括系统或用户设置,其包括计算机名、用户名、公司名、域名、或网络地址中的任一个或多个的指示。
9.如权利要求1所述的方法,其特征在于,所述一个或多个模板设置包括系统或用户设置,其包括夏令时设置或时区设置中的任一个或多个的指示。
10.如权利要求1所述的方法,其特征在于,所述一个或多个模板设置包括系统或用户设置,其包括资源产品密钥、软件版本、或安全设置中的任一个或多个的指示。
11.如权利要求1所述的方法,其特征在于,还包括在计算机化系统上安装所述软件模板的动作。
12.如权利要求11所述的方法,其特征在于,还包括输入所述软件模板的一个或多个定制标记,使得创建不用于所标识的离线软件资源的不同软件资源的动作。
13.如权利要求11所述的方法,其特征在于,所述一个或多个定制标记是从存储介质或网络接口中的任一个接收的。
14.如权利要求11所述的方法,其特征在于,所述一个或多个定制标记是通过用户界面来接收的。
15.一种在包括一个或多个虚拟机的计算机化环境中的方法,所述方法在虚拟机离线时复制所述虚拟机,使得所述虚拟机和所述复制的虚拟机在运行时具有可区分的身份,所述方法包括以下动作:
接收安装在第一存储空间上的虚拟机文件的身份;
从安装在第二存储空间上的预备程序接收一个或多个函数调用,所述一个或多个函数调用请求移除一个或多个标记;
在所述虚拟机文件上执行所述一个或多个函数调用,使得所述一个或多个标记在所述第一存储空间处被移除;以及
创建所述虚拟机文件的模板副本。
16.如权利要求15所述的方法,其特征在于,还包括在第三存储空间上安装所述虚拟机文件的模板副本的动作。
17.如权利要求15所述的方法,其特征在于,还包括存储从所述虚拟机文件移除的已移除的一个或多个标记的动作。
18.如权利要求15所述的方法,其特征在于,所述虚拟机文件还包括第一和第二软件更新。
19.如权利要求18所述的方法,其特征在于,所述一个或多个标记包括移除所述第二软件更新而不移除所述第一软件更新的请求。
20.一种在计算机化环境中的计算机程序产品,在所述计算机化环境中使用一个或多个软件资源以在一个或多个计算机系统处执行一个或多个功能,所述计算机程序产品具有存储在其上的、当被执行时使得一个或多个处理器执行一种方法的计算机可执行指令,所述方法在所述一个或多个软件资源中的至少一个离线时创建所述至少一个软件资源的模板,所述方法包括以下动作:
标识离线软件资源;
标识一个或多个模板设置,所述模板设置标识将从所述软件资源移除的一个或多个标记;
在第一操作系统处执行被配置成根据所述模板设置来移除标记的预备程序;
将所述预备程序的一个或多个函数调用重定向到所标识的软件资源,使得由所述一个或多个模板设置标识的标记从所述软件资源中移除,并且使得创建所述软件资源的模板。
CN2007800123298A 2006-03-30 2007-02-21 创建离线资源的模板 Active CN101416175B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/393,585 2006-03-30
US11/393,585 US9213542B2 (en) 2006-03-30 2006-03-30 Creating templates of offline resources
PCT/US2007/004636 WO2007117363A1 (en) 2006-03-30 2007-02-21 Creating templates of offline resources

Publications (2)

Publication Number Publication Date
CN101416175A true CN101416175A (zh) 2009-04-22
CN101416175B CN101416175B (zh) 2013-10-16

Family

ID=38561062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800123298A Active CN101416175B (zh) 2006-03-30 2007-02-21 创建离线资源的模板

Country Status (13)

Country Link
US (3) US9213542B2 (zh)
EP (1) EP2011020B1 (zh)
JP (1) JP5113831B2 (zh)
KR (1) KR101344163B1 (zh)
CN (1) CN101416175B (zh)
AU (1) AU2007235540B2 (zh)
BR (1) BRPI0709166B1 (zh)
CA (1) CA2644167C (zh)
MX (1) MX2008011907A (zh)
MY (1) MY155040A (zh)
RU (1) RU2436150C2 (zh)
TW (1) TWI411958B (zh)
WO (1) WO2007117363A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105278874A (zh) * 2015-09-15 2016-01-27 中国联合网络通信集团有限公司 大数据平台系统及其运行方法
CN116700897A (zh) * 2023-06-12 2023-09-05 北京首都在线科技股份有限公司 计算环境模板的创建方法、装置、计算设备及存储介质

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577940B2 (en) * 2006-03-20 2013-11-05 Parallels IP Holdings GmbH Managing computer file system using file system trees
US9213542B2 (en) * 2006-03-30 2015-12-15 Microsoft Technology Licensing, Llc Creating templates of offline resources
US8010495B1 (en) 2006-04-25 2011-08-30 Parallels Holdings, Ltd. Method and system for fast generation of file system snapshot bitmap in virtual environment
US8091084B1 (en) 2006-04-28 2012-01-03 Parallels Holdings, Ltd. Portable virtual machine
US8176153B2 (en) * 2006-05-02 2012-05-08 Cisco Technology, Inc. Virtual server cloning
US8909758B2 (en) * 2006-05-02 2014-12-09 Cisco Technology, Inc. Physical server discovery and correlation
US7706303B2 (en) 2006-06-26 2010-04-27 Cisco Technology, Inc. Port pooling
US8442958B2 (en) 2006-06-26 2013-05-14 Cisco Technology, Inc. Server change management
US8082539B1 (en) 2006-12-11 2011-12-20 Parallels Holdings, Ltd. System and method for managing web-based forms and dynamic content of website
US8327350B2 (en) * 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates
US8108855B2 (en) * 2007-01-02 2012-01-31 International Business Machines Corporation Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
US20090024645A1 (en) * 2007-07-16 2009-01-22 Sudhir Krishna S Method and system for generating offline applications
US8370802B2 (en) 2007-09-18 2013-02-05 International Business Machines Corporation Specifying an order for changing an operational state of software application components
JP4840670B2 (ja) * 2008-03-25 2011-12-21 日本電気株式会社 仮想マシンのデプロイ高速化システム、その方法及びそのプログラム
DE102008030317A1 (de) * 2008-06-30 2009-12-31 Trumpf Werkzeugmaschinen Gmbh + Co. Kg System und Verfahren zur Fernkommunikation zwischen einem zentralen Computer und einer Maschinensteuerung
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8060476B1 (en) 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
JP5446157B2 (ja) * 2008-07-28 2014-03-19 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US8429649B1 (en) 2008-09-25 2013-04-23 Quest Software, Inc. Systems and methods for data management in a virtual computing environment
US9189221B2 (en) 2009-01-27 2015-11-17 Microsoft Technology Licensing, Llc Consistent operating system servicing for distributed nodes
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US9778946B2 (en) * 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
JP2011076370A (ja) * 2009-09-30 2011-04-14 Hitachi Solutions Ltd デプロイシステム
US9128799B2 (en) 2009-11-09 2015-09-08 Bank Of America Corporation Programmatic creation of task sequences from manifests
US8397230B2 (en) * 2009-11-09 2013-03-12 Bank Of America Corporation Software updates using delta patching
US9274821B2 (en) * 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US8898114B1 (en) 2010-08-27 2014-11-25 Dell Software Inc. Multitier deduplication systems and methods
JP5681465B2 (ja) * 2010-12-02 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理システム、情報処理装置、準備方法、プログラムおよび記録媒体
US8924472B1 (en) * 2011-08-20 2014-12-30 Datastax, Inc. Embedding application services in a distributed datastore
JP5732138B2 (ja) * 2011-09-08 2015-06-10 株式会社日立製作所 仮想計算機提供システム及び提供方法
US10108537B2 (en) * 2011-11-29 2018-10-23 Red Hat, Inc. Mechanisms for reproducing storage system metadata inconsistencies in a test environment
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US9501296B2 (en) * 2012-05-18 2016-11-22 Ca, Inc. Hypervisor automation manager for starting an operation system with customization data from a disk image
US9720669B2 (en) * 2013-05-30 2017-08-01 The Boeing Company Deployment of software across an enterprise system
US11663025B2 (en) 2013-09-23 2023-05-30 Bankvault Pty Ltd Maintenance of and caching of suspended virtual computers in a pool of suspended virtual computers
US10474484B2 (en) * 2015-03-26 2019-11-12 Vmware, Inc. Offline management of virtualization software installed on a host computer
US9910692B2 (en) 2016-01-26 2018-03-06 Intel Corporation Enhanced virtual function capabilities in a virtualized network environment
US11169982B2 (en) * 2016-06-30 2021-11-09 Microsoft Technology Licensing, Llc Dynamic deactivation of cold database in database service
RU2744591C2 (ru) * 2019-05-31 2021-03-11 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ и система управления связями компьютеров в многоуровневом составном компьютерном кластере
CN112558968B (zh) * 2020-12-22 2023-10-17 北京飞讯数码科技有限公司 一种资源树视图的生成方法、装置、设备及存储介质
US11818055B1 (en) * 2022-05-31 2023-11-14 Walmart Apollo, Llc Systems and methods for automating resource deployment
CN117270961B (zh) * 2023-11-21 2024-04-12 武汉蜂鸟龙腾软件有限公司 一种Linux环境下MFC字符资源的解析和加载方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69802915T2 (de) * 1997-04-02 2002-07-04 Microsoft Corp Verfahren zur integration einer virtuellen maschine mit eingabemethodeeditoren
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US7000231B1 (en) 2000-09-22 2006-02-14 Hewlett-Packard Development Company, L.P. Method of manufacturing operating system master template, method of manufacturing a computer entity and product resulting therefrom, and method of producing a production version of an operating system
US7035963B2 (en) 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US20020156877A1 (en) * 2001-04-23 2002-10-24 Lu James C. System and method for the duplication of a software system onto an appropriate target computer
US20030158926A1 (en) 2002-02-20 2003-08-21 Gateway, Inc. Network master hard disk drive duplicator
US7062764B2 (en) * 2002-06-17 2006-06-13 Microsoft Corporation System and method for manipulating offline software
JP4340476B2 (ja) 2002-06-28 2009-10-07 株式会社リコー ソフトウェア導入方法、その方法をコンピュータに実行させるプログラム及びそのプログラムを格納した媒体
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
TWI263427B (en) * 2003-12-25 2006-10-01 Inst Information Industry Method of contention control for quality of service (QoS) in WLAN
JP4353003B2 (ja) 2004-06-25 2009-10-28 日本電気株式会社 インストール方式およびインストール方法ならびに配布装置およびそのプログラム
US8464250B1 (en) * 2004-09-23 2013-06-11 Transcontinental Events, Llc System and method for on-demand cloning of virtual machines
US7523089B2 (en) * 2005-09-30 2009-04-21 Microsoft Corporation Offline servicing of image files
US7840961B1 (en) * 2005-12-30 2010-11-23 United Services Automobile Association (Usaa) Method and system for installing software on multiple computing systems
US9213542B2 (en) 2006-03-30 2015-12-15 Microsoft Technology Licensing, Llc Creating templates of offline resources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105278874A (zh) * 2015-09-15 2016-01-27 中国联合网络通信集团有限公司 大数据平台系统及其运行方法
CN116700897A (zh) * 2023-06-12 2023-09-05 北京首都在线科技股份有限公司 计算环境模板的创建方法、装置、计算设备及存储介质

Also Published As

Publication number Publication date
BRPI0709166A2 (pt) 2011-06-28
CA2644167A1 (en) 2007-10-18
US9213542B2 (en) 2015-12-15
CN101416175B (zh) 2013-10-16
KR20080114752A (ko) 2008-12-31
EP2011020A4 (en) 2009-08-19
BRPI0709166B1 (pt) 2019-01-15
AU2007235540A1 (en) 2007-10-18
MY155040A (en) 2015-08-28
AU2007235540B2 (en) 2011-12-08
RU2436150C2 (ru) 2011-12-10
US20160098286A1 (en) 2016-04-07
US20170147390A1 (en) 2017-05-25
RU2008138700A (ru) 2010-04-10
EP2011020A1 (en) 2009-01-07
KR101344163B1 (ko) 2013-12-20
TWI411958B (zh) 2013-10-11
WO2007117363A1 (en) 2007-10-18
US9600276B2 (en) 2017-03-21
TW200809620A (en) 2008-02-16
JP5113831B2 (ja) 2013-01-09
EP2011020B1 (en) 2018-04-18
BRPI0709166A8 (pt) 2016-12-13
CA2644167C (en) 2015-12-29
MX2008011907A (es) 2008-09-29
US20070234334A1 (en) 2007-10-04
JP2009532757A (ja) 2009-09-10

Similar Documents

Publication Publication Date Title
CN101416175B (zh) 创建离线资源的模板
US20210255934A1 (en) Automated disaster recovery system and method
KR101432463B1 (ko) 가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법
US6681392B1 (en) Method and apparatus for remote peripheral software installation
US20040117414A1 (en) Method and system for automatically updating operating systems
US7512833B1 (en) Universal imaging utility program
US20020112232A1 (en) System and process for building host computers
CN100451981C (zh) 修改计算机的配置信息的方法
CN101453367A (zh) 软件部署方法和系统及软件部署服务器和用户服务器
JP2004280839A (ja) オペレーティングシステム展開の方法およびシステム
CN105183520A (zh) 计算机软件远程自动化装调方法及系统
CN100375022C (zh) 实现网络间克隆软件系统的方法及嵌入式系统
CN102197367B (zh) 用于在计算机上安装映象的方法和系统
CN107704249A (zh) 一种用于物理机自动安装配置的系统及方法
KR100831128B1 (ko) 다중 사용자 환경에서의 서버 시스템을 이용한 운영체제백업/복구와 게임 백업/복구/업데이트/설치/실행 및운영체제 관리 시스템 및 그 방법
CN100351786C (zh) 计算机帮助系统和实现方法
CN113656095A (zh) 配置数据的处理方法及装置
JP2007242040A (ja) ソフトウェアのインストール方法
Van Vugt Pro Novell Open Enterprise Server
Dayley Novell ZENworks for Desktops 4 Administrator's Handbook
JP2008084334A (ja) ソフトウェアのインストール方法
AU2002250104A1 (en) Software installation over a network with build plan defining the build, plan transferred to recipient computer and executed

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: 20150504

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150504

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.