CN1315042C - 创建和使用具有选定功能的操作系统的方法和系统 - Google Patents

创建和使用具有选定功能的操作系统的方法和系统 Download PDF

Info

Publication number
CN1315042C
CN1315042C CNB021406715A CN02140671A CN1315042C CN 1315042 C CN1315042 C CN 1315042C CN B021406715 A CNB021406715 A CN B021406715A CN 02140671 A CN02140671 A CN 02140671A CN 1315042 C CN1315042 C CN 1315042C
Authority
CN
China
Prior art keywords
computing machine
user
operating system
script
computerized method
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.)
Expired - Fee Related
Application number
CNB021406715A
Other languages
English (en)
Other versions
CN1399194A (zh
Inventor
瑞安·伯卡特
西萨雷曼·哈里卡里沙南
汤姆·亚彦
理查德·邦德
维杰什·谢蒂
维加亚谢德兰·杰亚西兰
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 CN1399194A publication Critical patent/CN1399194A/zh
Application granted granted Critical
Publication of CN1315042C publication Critical patent/CN1315042C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Abstract

一个创建和使用具有选定功能的操作系统(OS)映像的系统和方法。诸如个人计算机(PC)的原始设备制造商(OEM)或信息技术专业人士之类的用户可以从安装型0S映像中提供的许多OS组件中选择一组OS组件。选定的该组OS组件作为OS映像可以安装在计算机可读的介质,如CD-ROM上。该OS映像包括一个脚本,用于与OS映像进行交互以执行用户需要的功能,比如启动一台目标计算机、安装一个参考OS映像,或者从参考OS映像的失败安装中恢复目标计算机。

Description

创建和使用具有选定功能的操作系统的方法和系统
技术领域
本发明涉及计算机操作系统领域。具体来说,本发明涉及一种具有脚本支持的操作系统,该操作系统具有用户选定的组件用以执行用户所需要的功能。
发明背景
操作系统(OS)映像与计算机中的硬件进行交互以执行各种各样的功能。典型的OS映像要求在硬盘驱动器之类的海量存储设备上有大量的空间。由于要求大量的磁盘空间,使得典型的OS映像不适用于那些只需要OS映像中某些功能的情况。此外,由于要求大量磁盘空间以及需要对海量存储设备进行读写访问,因而使典型的OS映像无法驻留在一个单独的只读的计算机可读的介质中。
为了在计算机上安装一个OS映像,历史上一直在使用另一个具有最小功能的并能从只读介质中启动计算机的OS映像(如MS-DOS)。然而,MS-DOS却有一些局限性,包括最高只能使用640千字节的易失性存储器的限制以及与64位计算机不兼容。此外,在使用MS-DOS启动和安装OS映像期间,往往还需要多次重新启动计算机。此外,用于使硬件运转的软件例程(即通常所说的由硬件制造商提供的硬件驱动程序)必须经过修改才能在MS-DOS的约束内进行工作以使用MS-DOS对硬件进行验证。
同样,某些版本的Windows NT操作系统(NT)要通过文本模式进行安装,以使计算机开始进入到NT的初始启动状态。图形用户界面模式安装则要根据用户的输入来对安装进行配置。还一种叫做网上安装的方法,这种安装方法包括一个在计算机上自举NT本身的过程。然而,网上安装也需要重新启动计算机若干次。
大多数OS映像都包括一个内核,里面包含用于执行OS的必需的基本功能的软件例程。其他的功能则由内核外部的软件来实现。某些OS映像还包括一个只有最少功能和大小的微型内核。在这样的微型内核OS映像中,内核外部的软件执行OS映像的大量的必需功能。然而,这些微型内核OS映像一般来讲要依赖于硬件,并且不包括可由用户自定义的以执行用户所需要的特定功能的基于文本脚本。
下面描述的本发明解决了这些缺点以及其他一些缺点。
发明内容
本发明能从一个安装型OS映像创建简化的操作系统(OS)映像。本发明还包括产生简化的OS映像的方法。诸如个人计算机(PC)的原始设备制造商(OEM)之类的用户可以从一个安装型OS映像中提供的许多OS组件中选择一个OS组件集。选定的该OS组件集作为简化的OS映像可以安装在计算机可读的介质(CRM)(如CD-ROM)上。简化的OS映像包括一个脚本,用于与简化的OS映像进行交互以执行用户需要的功能,比如显示命令提示符、安装一个参考OS映像,或者从参考OS映像的故障中恢复。简化的OS映像对易失性和非易失性存储器存储空间要求较小。本发明可以用于在体系结构大于32位的计算机上安装参考OS映像。本发明还可以在体系结构为32位或小于32的计算机上运行。简化的OS映像使用硬件驱动程序(用于控制硬件,一般来讲为保护模式编写)来验证硬件的操作是否正确。本发明的简化的OS映像是独立于硬件的,因为简化的OS映像包括许多用户指定的硬件驱动程序。本发明提供了一个框架,可以让用户只需要重新启动计算机一次即可在计算机上安装参考OS映像。脚本可以执行许多功能,包括但不仅限于启用网络连接、对海量存储设备进行分区,以及用一种文件系统将海量存储设备格式化。例如,脚本可以根据WINDOWS操作系统中提供的一种文件系统格式将海量存储设备格式化。
根据本发明的一个方面,一种计算机化的方法,包括:提供用户对基于文本的脚本的访问;由用户编辑基于文本的脚本,以提供用户自定义的基于文本的脚本;从计算机可读的介质上的一个简化的操作系统映像启动第一计算机,其中所述简化的操作系统映像是第二计算机的完整操作系统映像,所述第二计算机具有独立于第一计算机的硬件;以及根据用户自定义的基于文本的脚本在第一计算机上执行一个或多个功能,其中所述计算机化的方法独立于体系结构。计算机可以是32位或64位体系结构。
根据本发明的另一个方面,一种系统包括:由用户编辑基于文本的脚本,以提供用户自定义的基于文本的脚本的装置;从计算机可读的介质上的一个简化的操作系统映像启动第一计算机的装置,其中所述简化的操作系统映像是具有独立于第一计算机的硬件的第二计算机的完整操作系统映像,并且所述简化的操作系统映像是硬件独立的;以及根据用户自定义的基于文本的脚本在第一计算机上执行一个或多个功能以在第一计算机上安装简化的操作系统映像的装置。
根据本发明的另一个方面,一种计算机化的方法,包括提供用户对基于脚本的文本的访问;由用户编辑基于文本的脚本,以提供用户自定义的基于文本的脚本;从计算机可读的介质上的简化的第一操作系统映像启动第一计算机,其中所述简化的操作系统映像是具有独立于第一计算机的硬件的第二计算机的完整操作系统;以及根据用户自定义的基于文本的脚本在第一计算机上安装完整操作系统映像,其中启动和安装过程只需要重新启动计算机一次,并且所述计算机方法是体系结构独立的。
根据本发明的另一个方面,一种系统包括:具有用户选定的操作系统组件的第一操作系统映像,所述第一操作系统映像是硬件独立的;具有第二操作系统映像的第一计算机,所述第一操作系统映像相对所述第二操作系统是简化的;以及可由用户自定义的基于文本的脚本文件,该脚本文件与第一操作系统映像进行交互,以在具有独立于第一计算机的硬件的第二计算机上安装第二操作系统映像,其中所述基于文本的脚本文件包括用户可编辑的文本。计算机可以是32位或64位体系结构。
根据本发明的另一个方面,与计算机一起使用的计算机可读的恢复介质上有一个操作系统映像和基于文本的脚本文件。脚本文件与该操作系统映像进行交互以从计算机上的软件故障中恢复。
根据本发明的另一个方面,一种计算机化的方法,所述方法包括:基于要被启用的需要的功能,从第一计算机的多个操作系统组件中选择操作系统组件的一个子集;生成与选定的操作系统组件的子集关联的文件列表,所述生成的文件列表是基于文本的,并可由用户编辑;以及在目标介质上安装选定的操作系统组件的子集作为简化的操作系统映像,其中安装过程包括从安装介质中将文件复制到目标介质中;以及使用目标介质引导具有独立于第一计算机的硬件的第二计算机,其中所述计算机化的方法是体系结构独立的。
根据本发明的另一个方面,一个系统,所述系统包括:基于要被启用的需要的功能,从第一计算机的多个操作系统组件中选择操作系统组件的一个子集的装置;生成与选定的操作系统组件的子集关联的文件列表的装置,所述生成的文件列表是基于文本的,并可由用户编辑;在目标介质上安装选定的操作系统组件的子集作为独立于硬件的简化的操作系统映像的装置,其中安装过程包括从安装介质中将文件复制到目标介质中。
根据本发明的另一个方面,一种系统能在目标介质上从操作系统的许多组件中创建一个操作系统映像。该系统包括至少一个应用程序,当由计算机上的一个或多个处理器执行该应用程序时,使一个或多个处理器执行如下操作,包括允许用户从第一计算机的多个操作系统组件中选择操作系统组件的子集,生成与选定的操作系统组件的子集关联的文件列表,所述选择的操作系统组件被选择以启用需要的功能,所述生成的文件列表是基于文本的,并且可由用户编辑;以及操作系统组件修改,它们允许选定的操作系统组件集作为第二计算机上简化的操作系统映像执行,其中简化的操作系统映像是硬件独立的,并且第二计算机具有与第一计算机独立的硬件。
附图说明
图1是本发明的方法和系统的一个实施例的方框图,说明了应用了本发明的计算系统环境的一个示例。
图2是一个发明的方法和系统的一个实施例的方框图,说明了一个操作系统组件。
图3是本发明的方法和系统的一个实施例的流程图,说明了在目标介质上安装简化的操作系统映像的过程
图4是本发明的方法和系统的一个实施例的方框图,说明了在目标介质上安装简化的操作系统映像的过程
图5是本发明的方法和系统的一个实施例的流程图,说明了使用简化的操作系统映像安装另一个操作系统映像的过程
图6是本发明的方法和系统的一个实施例的方框图,说明了从一台远程启动计算机启动目标计算机以在目标计算机上安装引用操作系统映像的过程。
图7是本发明的方法和系统的一个实施例的方框图,说明了从一台本地计算机可读的介质启动目标计算机以在目标计算机上安装引用操作系统映像的过程。
图8是本发明的方法和系统的一个实施例的方框图,说明了其软件发生故障的计算机和一个恢复介质之间的交互。
对应的参考字符表示所有附图的对应部件。
具体实施方式
一般来说,本发明涉及一种方法和系统,至少提供一个应用程序和对操作系统(OS)组件的必需的修改,以从一个安装型OS映像创建一个可启动的简化的OS映像,该简化的OS映像有脚本支持,以执行诸如原始设备制造商(OEM)之类的用户指定的一个或多个功能。简化的OS映像相对于完全安装的安装型OS映像来说功能和/或大小缩小了。简化的OS映像具有用户选定的功能。
用户选择OS组件以包含在简化的OS映像中,还可以添加其他OS组件以实现需要的功能。应用程序针对安装型OS映像应用选择和补充以创建可启动的简化的OS映像。简化的OS映像将写入到计算机可读的介质(CRM)(如CD-ROM),存储在远程服务器上,或安装到本地海量存储设备上。简化的OS映像包括一个用于执行用户指定功能的脚本。例如,用户可以对脚本进行编辑以与简化的OS映像交互,从而安装软件、从故障OS安装中恢复、更新硬件驱动程序、重新密封和审核计算机、执行应用程序(包括其他脚本),或执行任何其他任务。
尽管本发明的示范OS是WINDOWS操作系统,但是本发明也可适用于其他操作系统以创建和使用简化的OS映像。在示范WINDOWS操作系统实施例中,简化的OS映像包括与WINDOWSNT操作系统关联的基码,并带有最低限度的WIN32应用程序编程接口(API)子系统。简化的OS映像有启动到Win32子系统中必需的最小数量的OS组件。最小数量的OS组件包括内核、硬件驱动程序,以及系统文件。简化的OS映像在一个数据库中存储了关于其本身的最低限度的状态信息,如与WINDOWS操作系统中的注册表关联的配置单元。
如需了解有关WINDOWS操作系统中提供的启动过程和OS组件的一般信息,请参阅Solomon和Russinovich所著的“InsideMicrosoft Windows 2000”第三版,2000,第46-87、177-206、以及215-236页,在此处作为参考。
在一个实施例中,简化的OS映像包括对微处理器的受保护操作方式的支持。微处理器的保护模式是相对于微处理器操作的实模式而言的。用户可以对脚本进行编辑,以使用硬件制造商提供的并用于控制硬件的驱动程序对硬件进行验证。对于所提供的为保护模式而编写的硬件驱动程序,用户没有必要编写单独的硬件驱动程序或以别的方式修改保护模式硬件驱动程序即可在实模式下运行。在简化的OS映像中,用户使用未修改的硬件驱动程序以在简化的OS映像的保护模式下对硬件进行验证。当简化的OS映像用于安装另一个OS时,硬件验证的结果也适用于已安装的OS。
通过对脚本进行编辑,用户配置参考OS映像的自动安装。简化的OS映像可用于安装任何OS映像。此外,简化的OS映像还可用于修复OS安装或执行端对端的图形用户界面(GUI)应用程序。
在一个实施例中,OEM使用简化的OS映像在个人计算机(PC)上安装一个参考OS映像,该个人计算机的体系结构可以是64位或32位。OEM接收一个软件开发工具包(SDK),该包中包含用于创建简化的OS映像的应用程序和必需的OS组件修改。OEM在OEM工厂根据特定的PC硬件和该OEM必须现场考虑的其他事项选择将参考OS映像安装到目标计算机上所必需的OS组件。具体来说,OEM通过一个文本文件添加或删除OS组件(如硬件驱动程序)并指定海量存储设备配置。应用程序将用选定的OS组件集创建简化的OS映像。然后OEM使用简化的OS映像以启动一个硬盘驱动器尚未格式化的目标计算机(如PC)、对硬件进行验证、将目标计算机的硬盘格式化,并在目标计算机上安装参考OS映像。
目标计算机是根据各种体系结构设计的,包括但不仅限于32位和64位。每一台计算机一般来讲都是按其体系结构进行分类的。64位体系结构一般是指计算机在内部以64位分组对数据进行操作。64位计算机体系结构基于64位的元素,包括处理单元(参见图1,引用字符120),处理单元内部或外部至少有一个存储器寄存器,以及一个数据总线。同样,当一般谈及一类体系结构大于32位的计算机时,该计算机可能是64位体系结构、128位体系结构,或者在内部至少以32位对数据进行操作的任何体系结构。那些精通本技术的人可能会注意到,本发明的系统和方法不仅限于当前的计算机体系结构。本发明还适用于未来的计算机体系结构,包括但不仅限于128位和256位体系结构。如果计算机有基于软件的控制计算机及其外围设备的OS概念的话,本发明还适用于完全不同类型的计算机,甚至还可适用于非数字计算机。此外,本发明还适用于32位或较小位数的计算机体系结构,包括但不仅限于32位体系结构、16位体系结构、8位体系结构或者单个位数体系结构。一般来讲,本发明的系统和方法是独立于体系结构的,因为本发明可以适用于受简化的OS映像支持的任何计算机体系结构。例如,如果简化的OS映像支持32位体系结构计算机和64位体系结构计算机,那么本发明就适用于32位或64位体系结构的计算机。在一个实施例中,启动和执行的步骤可以在32位或较小位数的体系结构计算机上进行。此外,脚本文件可以在32位或较小位数的体系结构的计算机上运行。
诸如MICROSOFT磁盘操作系统(MS-DOS)之类的操作系统历史上一直支持在16位体系结构的计算机使用脚本功能。MS-DOS利用中断与基本输入输出系统(BIOS)通信以实现计算机上的功能。BIOS在运行了MS-DOS和BIOS的特定计算机的上下文中执行MS-DOS命令。可以对BIOS进行修改以在32位计算机上执行16位MS-DOS命令。然而,却无法通过修改BIOS来在体系结构大于32位的计算机上执行16位MS-DOS命令,如果不完全重新编写BIOS就无法对这样的体系结构提供支持。此外,也无法通过修改BIOS来生成可在体系结构大于32位的计算机上操作的命令,如果不完全重新编写MS-DOS也无法对这样的体系结构提供支持。由于MS-DOS和BIOS的固有的设计,MS-DOS从根本上只限于32位或较小的体系结构。完全重写MS-DOS和/或BIOS就等于编写了一个新的OS,如此处描述的OS。
例如,在其他局限性中,MS-DOS一般来讲也无法访问大量的内存,因为MS-DOS主要是为8位和早期16位体系结构处理器设计的,这些处理器一般来讲都有地址局限性,只能访问1兆字节的内存,因为地址总线只有二十位宽。如果不完全重写MS-DOS(将包括特殊的MS-DOS扩展名),在MS-DOS下运行的应用程序将不能够访问1兆字节以上的内存,因而限制了地址总线比20位宽的处理器。如果不完全重新编写,将无法通过修改MS-DOS来支持这样的内存访问。一般来讲,大多数在MS-DOS下运行的应用程序最大只有640千字节的内存。
首先请参看图1,一个方框图说明了可以应用本发明的计算系统环境100的示例。该计算系统环境100只是一个合适的计算或操作环境的示例,不对本发明的应用范围或功能作任何限制。计算系统环境100也不应被解释为与示范计算系统环境100中所示的任何一个组件或组件组合有任何依赖关系或要求。
本发明可以应用于很多其他一般用途或特殊用途的计算系统环境或配置。可以应用本发明的已知的计算系统、环境、和/或配置的示例包括但不仅限于个人计算机、服务器、手提或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可进行设定的消费类电子产品、网络PC、小型机、大型机、包括上述任何系统或设备的分布式计算环境。
本发明可以在由一台或多台计算机或其他设备执行的计算机可执行的指令的一般上下文中进行描述,如程序模块。一般来讲,程序模块包括但不仅限于例程、程序、对象、组件和执行特定任务或实现特定抽象数据类型的数据结构。本发明还可以在分布式计算环境中应用,在这种环境中,各种任务可以由通过通信网络链接在一起的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质(包括记忆存储设备)。
请看图1,一个用于实现本发明的示范系统包括一个以计算机110为形式的一般用途计算设备。计算机110的组件可以包括但不仅限于处理单元120、系统内存130,以及系统总线121,它把各种系统组件(包括系统内存)连接到处理单元120。在本发明的一个实施例中,处理单元120是32位或64位体系结构。系统总线121可以是任何类型的总线结构,包括内存总线或内存控制器、外围总线,以及使用任何种类的总线体系结构的本地总线。作为示例,而不作为限制,这样的总线体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强的ISA(EISA)总线、视频电子产品标准协会(VESA)本地总线,以及外围组件互连(PCI)总线(也就是通常所说的附加板总线)。
计算机110通常至少包括某些形式的CRM。CRM可以是计算机110可以访问的任何介质,并包括易失性和非易失性介质、可移动的和不可移动的介质。作为示例,而不作为限制,CRM可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的易失性和非易失性、可移动的和不可移动的介质,以用于存储信息,如计算机可读的指令、数据结构、程序模块或其他数据。计算机存储介质包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他内存技术,CD-ROM、数字多功能磁盘(DVD)或其他光盘存储器、盒式磁带、磁带、磁盘存储器或其他磁存储设备,或者可用于存储所需要的信息并且计算机110可以访问的任何其他介质。通信介质通常在一个调制数据信号(如载波)或其他传输机制中包含计算机可读的指令、数据结构、程序模块或者其他数据,并且包括任何信息提供介质。那些精通本技术的人会熟悉调制数据信号,该信号设置或更改了一个或多个其特性,以便对该信号中的信息进行编码。作为示例,而不作为限制,通信介质包括有线介质,如有线网络或者直接有线连接,以及无线介质,如声控、RF、红外和其他无线介质。上述任何几项的组合也应包括在CRM的范围内。
系统内存130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机访问存储器(RAM)132。ROM 131中通常存储了一个基本输入/输出系统133(BIOS),里面包含帮助在计算机110内的各个元素之间(如在启动过程中)传输信息的基本例程。RAM 132通常包含处理单元120立即可访问和/或目前正在对其进行操作的数据和/或程序模块。作为示例,而不作为限制,图1说明了操作系统134、应用程序135、其他程序模块136,以及程序数据137。
计算机110还可以包括其他可移动的/不可移动的、易失性/非易失性计算机存储介质。仅作为示例,图1说明了一个可以从不可移动的非易失性磁介质中读取或写入的硬盘驱动器,一个从可移动的非易失性磁盘152读取或写入的硬磁驱动器,以及可以从可移动的非易失性光盘156(如CD ROM或其他光学介质)读取或写入的光盘驱动器155。其他可用于示范操作环境的可移动/不可移动的易失性/非易失性计算机存储介质包括但不仅限于磁带、快速内存卡、数字多功能磁盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器141通常通过一个不可移动的内存接口(如接口140)连接到系统总线121,硬磁盘驱动器151和光盘驱动器155通常由可移动的内存接口(如接口150)连接到系统总线121。
驱动器或其他海量存储设备以及上面讨论并在图1中显示的与它们关联的计算机存储介质,将为计算机110存储计算机可读的指令、数据结构、程序模块以及其他数据。例如,在图1中,硬盘驱动器141存储了操作系统144、应用程序145、其他程序模块146,以及程序数据147。请注意,这些组件可能与操作系统134、应用程序135、其他程序模块136,以及程序数据137相同,也可能不同。操作系统144、应用程序145、其他程序模块146,以及程序数据147在这里使用了不同的编号,以至少说明它们是不同的副本。根据本发明的OS,如操作系统144,是计算机110的基本软件控制程序,可执行各种功能,包括提供用户界面,管理应用程序145的执行,以及控制各种输入/输出(I/O)设备的数据的输入和输出。应用程序145代表一个或多个可以在计算机110上执行的各种各样的软件例程。应用程序的示例包括,但不仅限于,教育程序、引用程序、办公程序(例如,文字处理软件、电子表格、数据库)、娱乐程序,以及实用程序(例如,通信程序)。应用程序145可以由用户安装在计算机110上,或者由计算机110的OEM和/或经销商预装。
用户可以通过诸如键盘162和指示设备161(通常是指鼠标、轨迹球或触摸板)之类的输入设备向计算机20中输入命令和信息。其他输入设备(未显示)可以包括麦克风、游戏杆、游戏板、卫星电视天线、扫描仪或类似的装置。这些和其他输入设备通常通过一个用户输入接口160(它连接到系统总线)连接到处理单元120,但也可以通过其他接口和总线结构进行连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其他类型的显示设备也通过一个接口(如视频接口190)连接到系统总线121。除了监视器外,计算机还可包括其他外围输出设备,如扬声器197和打印机196,它们可以通过一个输出外围接口195进行连接。
计算机110可以在一个网络环境中运行,使用逻辑连接与一台或多台远程计算机(如远程计算机180)相连接。远程计算机180可以是一台个人计算机、服务器、路由器、网络PC、一台对等设备或其他通用网络节点,通常包括上文关于计算机110的描述中的许多或者全部元素,虽然在图1中只显示了记忆存储设备181。图1中描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其他网络。这样的网络环境在办公室、企业计算机网络、Intranet以及全球计算机网络(例如,Internet)中是常见的。
当计算机110在一个LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当计算机110在一个WAN网络环境中使用时,计算机110通常包括一个调制解调器172或其他用于在WAN 173(如Internet)建立通信的装置。调制解调器172可以是内置的,也可以是外置的,可以通过用户输入接口160或其他相应的机制连接到系统总线121。在网络环境中,涉及计算机110的程序模块,或者它的一部分,可以存储在远程记忆存储设备中。作为示例,而不作为限制,图1说明了驻留在记忆设备181上的远程应用程序185。显然,这里显示的网络连接是示范性的,也可以使用其他装置在计算机之间建立通信链接。
下面请参看图2,一个方框图说明了OS组件202。在某些计算机系统中,OS映像将被组织进OS组件202,其中每一个OS组件202都执行一个功能或功能组合。每一个OS组件202都最多可包括计算机可访问的N个文件204。
下面请看图3,一个流程图说明了在目标介质上安装简化的OS映像的过程。目标介质是任何CRM,可由计算机在本地或远程访问。用户在302至少从许多OS组件中选择一个OS组件(参见图2,引用字符202)。在一个实施例中,用户选择了一组OS组件。许多OS组件包括用于启用计算机中的硬件的驱动程序,这些硬件包括海量存储设备、网卡,和/或图1中所显示的或未显示的任何设备。如上文所描述,许多OS组件中的每一个组件都至少包括一个文件(参见图2,引用字符204)。安装简化的OS映像的过程包括将与选定的OS组件集关联的文件和相关的OS组件修改复制到目标介质上并进行集成。与选定的OS组件关联的文件在304复制到目标介质上,并在306集成为简化的OS映像。
在一个实施例中,简化的OS映像中的选定的OS组件集包括安装型OS映像中的操作系统许多组件中的一部分。用户还可以将其他的OS组件添加到选定的OS组件集中。其他OS组件可包括用户提供的OS许多组件中所没有的任何组件。其他OS组件包括但不仅限于特定的硬件驱动程序、脚本文件,以及应用程序。例如,特定的硬件驱动程序包括海量存储设备驱动程序、视频设备驱动程序、输入设备驱动程序,以及网络设备驱动程序。要包括在简化的OS映像中的硬件驱动程序可由用户进行自定义,以包括安装型OS映像中提供的或者第三方提供的任何和全部硬件驱动程序。同样,用户还可以添加工具或实用工具,如网络客户端、测试工具以及报告实用工具。与其他OS组件关联的文件由用户提供并复制目标介质上,用于集成到简化的OS映像中。例如,要添加对特定的海量存储设备的支持,用户可以在硬件驱动程序列表中添加特定的海量存储设备的条目,并在一个包含所有驱动程序的文件目录中添加与特定的海量存储设备关联的硬件驱动程序。用户可以在将简化的OS映像安装在目标介质上之前或之后添加或删除对特定硬件设备的支持。
在一个实施例中,简化的OS映像大约需要100兆字节的非易失性记忆存储空间,而完全安装的OS映像典型情况下却需要950兆字节到1.2千兆字节。那些精通本技术的会注意到,随着操作系统的发展,在不影响本发明的功能的情况下,简化的OS映像的非易失性记忆存储空间要求可能会大大地少于100兆字节。
简化的OS映像还包括一个最小的文件列表和最低限度的状态信息。例如,在WINDOWS操作系统中,状态信息存储在一个被称为注册表的数据库中,该数据库包括一系列叫做配置单元的不连续的文件。有一个主文件布局列表,该列表包含与安装型OS映像所在的介质中所包含的OS组件关联的每个文件名。主文件布局列表中的条目表示它们对于简化的OS映像是否为必需的。例如,在WINDOWS操作系统中,主文件布局列表是layout.inf。本发明包括映像生成软件,用来分析主文件布局列表和识别简化的OS映像所必需的文件。该映像生成软件将把简化的OS映像安装在目标介质上,方法是将识别的文件复制到目标介质中的一个文件目录中。然后该文件目录可以被镜像到一个非易失性介质中。此外,映像生成软件还在必要时将识别的文件解压缩到目标介质上。映像生成软件还可让用户在创建目录结构时在简化的OS映像中添加其他必需的文件。用户也可以采用这种方式在安装型OS映像中添加里面所没有的较新的驱动程序文件和其他实用程序文件。
一个GUI和一个文本界面可用来从OS的许多组件中选择一部分OS组件。用户可以通过一个应用程序(如SDK)与任一界面进行交互,以选择放在简化的OS映像中的一部分OS组件。上文图3中描述的SDK包括生成与选定的OS组件子集关联的文件的列表的装置和用于把选定的OS组件子集在目标介质上安装为简化的OS映像的装置。安装的方法是将文件从安装介质复制到目标介质。此外,上文描述的示例和其它地方描述的示例构成了选择OS组件子集的装置、生成文件列表的装置,以及安装选定的OS组件子集的装置。
下面请看图4,一个方框图说明了在目标介质410上安装简化的OS映像412的过程。软件开发工具包(SDK)405或至少一个其他应用程序向用户显示一个列出了OS组件402的列表,如一个包含硬件驱动程序的列表。用户从列表402中选择一组OS组件。计算机上的一个或多个处理器执行SDK 405以使用户从OS组件列表402中选择OS组件子集404。可被SDK 405访问的安装型OS映像406提供对应于列表402的许多OS组件407。例如,安装型OS映像406位于包括WINDOWS操作系统产品的一个介质上。SDK 405针对安装型OS映像406应用选定的OS组件集以识别与选定的OS组件集404关联的文件。SDK 405也访问和识别许多OS组件修改408中的任何一个修改以及与选定的OS组件集404关联的对应文件。被识别的OS组件修改416允许选定的OS组件414在目标介质410上作为简化的OS映像412执行。OS组件修改408将替换、补充或以别的方式修改许多OS组件407。
具体来说,对许多OS组件407的修改408可以包括修改OS组件407以不向非易失性存储器写入数据。例如,在WINDOWS操作系统环境中,本发明的OS组件将把注册表信息写到易失性存储器而不是写到非易失性存储器中。注册表信息包括存储在一个数据库中的被称为“配置单元”的不连续的文件中的OS配置数据。在启动期间,一个安装型加载程序将向与简化的OS映像关联的内核传递一个标记,以向内核表明正在启动的是简化的OS映像412。在内核初始化过程中,注册表管理器将看到该标记并将注册表写入到易失性存储器,即使在从一个只读CRM启动也是如此。对注册表中的条目进行的更改是在易失性存储器中进行的。由于易失性存储器的性质,如果简化的OS映像412重新启动,所有的更改都将被扔掉。将注册表信息存储在易失性存储器中的好处是,每一次启动时简化的OS映像412都有一个清洁的注册表。在另一个实施例中,如果目标计算机能够对非易失性存储器进行写入访问,那么就会为用户提供一个选项,是否将注册表信息或其他配置信息保存到非易失性存储器中以使用户能够在不同的重新启动之间对该信息进行维护。
也可以对配置单元中的条目进行修改。配置单元条目存储在一个文本文件中。配置单元创建软件在创建简化的OS映像412时还将创建该文本文件的二进制版本。配置单元创建软件将分析该文本文件中的配置单元条目,并为目标介质创建一个二进制配置单元。配置单元创建软件还对现有的二进制配置单元进行修改,其做法是,将配置单元加载到存储器中,应用所请求的更改,然后以二进制格式保存经修改的配置单元。
例如,WINDOWS操作系统启动时需要四个配置单元。必需的配置单元包括SYSTEM、SOFTWARE、SECURITY,以及安全帐户管理器(SAM)配置单元。默认的SYSTEM配置单元包括有关在自举WINDOWS操作系统时要运行哪些子系统、硬件驱动程序和服务的信息。本发明的SYSTEM是当前WINDOWS操作系统安装程序的SYSTEM配置单元的修改版本。配置单元创建软件将把一个文本文件(如minint.inf)中的修改应用到默认SYSTEM配置单元。SOFTWARE配置单元是由配置单元创建软件从一个文本文件(如hivesft.inf)创建的。SECURITY和SAM配置单元是长度为零的文件,表示在简化的OS映像412上没有相应的安全信息。
根据传递到内核的加载程序标记(该标记表示正在启动简化的OS映像412),注册表管理器将在一个特定位置下面创建一个注册表项。例如,注册表管理器将在创建易失项HKLM\System\CurrentControlSet\Control\MiniNT之后创建一个叫做“Option”的DWORD值。“Option”将被设置为1以表示用户是在简化的OS映像412环境中。在用户模式下执行的应用程序将按需要查询注册表项以根据该值进行配置。
在本发明的示范WINDOWS操作系统实施例中,简化的OS映像拥有“system”帐户的安全特权。简化的OS映像可使用的内存仅限于可用的易失性存储器的量,因为没有分页文件提供对其他存储器的访问。此外,默认情况下自动启动的一些其他不需要的服务(例如,系统文件保护)在本发明的示范WINDOWS操作系统实施例中对简化的OS映像是禁用的。
SDK 405将把选定的OS组件414和识别的OS组件修改416作为简化的OS映像412安装到目标介质410中,做法是复制与选定的OS组件集404关联的文件和识别的OS组件修改416,然后进行集成。用户还可以添加OS组件集407中不存在的其他OS组件。其他OS组件将通过SDK 405来添加到选定的OS组件414中。SDK 405将在目标介质410中添加一个脚本文件以执行用户指定的功能。如果目标介质410是一个只读CRM,那么用户应在简化的OS映像412安装在CRM上之前对该脚本文件进行自定义。如果目标介质410是一个可读写CRM,那么用户可以在简化的OS映像412安装在CRM上之前或之后对该脚本进行自定义。
那些精通本技术的人将会注意到,图4中的安装型OS映像406、OS组件修改集408,以及目标介质410可以由SDK 405本地或远程进行访问,或者可以包括在SDK 405中。远程访问的示例如图1的网络环境所示。
下面请看图5,一个流程图说明了使用简化的OS映像安装另一个OS映像的过程。一台计算机在502从CRM上的简化的OS映像启动。在一个实施例中,简化的OS映像支持文本用户界面和图形用户界面(GUI)。具体来说,GUI支持至少有256色和分辨率至少为640×480像素的视频图形阵列(VGA)视频模式。用户自定义的、基于文本的脚本与简化的OS映像进行交互,以指导在计算机上执行一个或多个功能。脚本将确定执行功能的步骤。脚本也将确定执行步骤的顺序。脚本还将支持多任务处理以及多个步骤的连续执行。即,用户一步一步地指定脚本中的每一个步骤是否只能在前面的步骤完成之后才能执行。脚本还可采用这种方式允许一次执行一个步骤以及同时执行多个步骤。在一个实施例中,脚本是一个计算机可读的文件并位于CRM中。计算机可执行的指令驻留在一个CRM中以根据该脚本协调功能的启动和执行。在其他实施例中,脚本位于计算机本地或远离计算机。CRM可以位于计算机本地或者远离计算机(请分别参见图6和7)。例如,计算机以远程方式访问CRM或脚本,如图1的网络环境所示。
在一个实施例中,诸如OEM之类的用户对脚本进行编辑,以使脚本执行必需的功能以在计算机上安装参考OS映像。在一个实施例中,计算机是一台空白PC,上面的海量存储设备尚未格式化,也没有分区。在另一个实施例中,计算机是一台具有CRM的PC,并且有一个需要更新的OS。用户还对脚本进行编辑以在504验证计算机上的硬件。计算机上的硬件包括网卡、海量存储设备、视频卡,和/或图1中所显示的或未显示的任何其他设备。脚本通过启用指定的硬件设备来验证硬件,还可以进行测试以验证适当的操作并发现有缺点的硬件。对每一个硬件设备进行验证的过程一般来讲需要硬件驱动程序,以使简化的OS映像与硬件设备进行通信。硬件驱动程序是一个硬件设备的制造商提供的专门软件,它可在计算机上安装的OS中运行,与硬件设备进行通信。在一个实施例中,简化的OS映像支持即插即用(PNP)协议以检测计算机中的硬件,并能够识别相应的硬件驱动程序。对于简化的OS映像,PNP管理器服务也在运行。在内核初始化期间,PNP管理器的内核模式部分将检测计算机上的各种硬件设备,并将检测到的硬件设备上的信息写入到注册表中的特定位置。在本发明的简化的OS映像中,用户模式PNP管理器被禁用,以便不自动安装检测到的硬件设备的驱动程序。这一点与其他OS映像PNP管理器的用户模式部分确定是否要安装检测到的硬件设备的驱动程序不同。如果硬件驱动程序没有安装,那么PNP管理器的用户模式部分将为这些硬件设备安装硬件驱动程序。
在本发明中,如果相应的硬件驱动程序正确地加载和初始化,那么简化的OS映像就会假设特定的硬件会正确地运行。还可以通过硬件制造商提供的测试套件对硬件进行其他测试。例如,用户可以向硬件驱动程序发送一个输入/输出控制(IOCTL)命令以与硬件进行通信。通过分析IOCTL命令返回的值,用户可以验证该硬件是否正常运行。作为另一个示例,要验证ACME网络接口卡(NIC)是否正常地运转,用户可以加载硬件驱动程序ACMENIC.SYS。一旦ACMENIC.SYS成功地加载,用户还可以使用ACMENIC.SYS执行回送测试,以验证NIC是否正确地配置并正常运转。
OEM提供的硬件驱动程序或者简化的OS映像内的硬件驱动程序用于控制硬件,并且它们是为供支持保护模式的OS使用而编写的。在一个实施例中,本发明的简化的OS映像是一个支持保护模式的OS,如WINDOWS操作系统环境。简化的OS映像包括可用于计算机上出现的一些或所有可能的硬件的一些或所有硬件驱动程序。如此,简化的OS映像是独立于硬件的。在一个实施例中,至少有一个文本文件(如txtsetup.sif或txtsetup.oem)列出了可能会出现在计算机中的所有可能的硬件可用的所有硬件驱动程序。用户通过向列表中添加或从中删除硬件设备对该文本文件进行编辑,以使该文本文件代表可能的硬件范围。通过最大限度地缩小硬件驱动程序列表,进行硬件检测和验证所需要的时间也会最大限度地缩短。
在示范WINDOWS操作系统实施例中,硬件驱动程序可以是启动型硬件驱动程序,也可以是非启动型硬件驱动程序。简化的OS映像自动加载启动型硬件驱动程序。启动型硬件驱动程序包括但不仅限于输入、存储(硬盘驱动器和文件系统),以及显示器驱动程序。由于简化的OS映像可以在各种计算机上启动,不同的计算机可能有不同的显示器、输入和存储设备。简化的OS映像包括可以在大多数计算机上运行的驱动程序的动态超集列表。安装型加载程序(在常规安装期间使用的加载程序)将加载驱动程序,这些驱动程序包括但不仅限于默认VGA驱动程序、用于各种经常使用的硬盘驱动器的通用海量存储驱动程序、常规文件系统驱动程序以及用于键盘和鼠标的输入驱动程序。由于与VGA兼容的显示设备是大多数WINDOWS操作系统所必需的,因此默认的VGA驱动程序几乎可以在WINDOWS操作系统环境中的所有计算机上运行。安装型加载程序将作为启动型驱动程序加载这些驱动程序,创建一个列表,并将该列表传递到内核以将这些驱动程序初始化。在驱动程序初始化之前,将会在SYSTEM配置单元中的服务键值下面创建一个正确的条目。由于这些驱动程序是动态地加载的,因此在生成简化的OS映像期间无法创建必需的注册表条目。本发明的另一个驱动程序(如setupdd.sys)将在启动型驱动程序初始化过程中执行,以在其他驱动程序初始化之前在注册表中创建必需的条目。这将有助于驱动程序的正确初始化。用户将按脚本指定的方式加载非启动型硬件驱动程序。
脚本将指导在506对海量存储设备进行分区。对海量存储设备的分区过程包括在508在海量存储设备上创建、删除特定区域或将它们格式化。在一个实施例中,简化的OS映像将引用一个文本文件(如partinfo.txt)以获得特定的分区信息。用户对partinfo.txt进行编辑以添加用户所需要的特定的分区信息。脚本将用一个简化的OS映像支持的文件系统格式对海量存储设备进行格式化。例如,在WINDOWS操作系统中,受支持的文件系统格式包括CDFS、UDF、FAT12、FAT16、FAT32和NTFS。
如果带有参考OS映像的CRM远离计算机,那么脚本将启用网络连接。脚本将执行一个实用程序(如factory.exe)以检测计算机中的特定网络接口,并为该特定的网络接口安装相应的硬件驱动程序。factory.exe实用程序将使用PNP管理器API。网络驱动程序安装之后,脚本将通过一个实用程序(如netcfg.exe)初始化传输控制协议/因特网协议(TCP/IP)堆栈以及相关的服务。TCP/IP堆栈以及相关的服务将允许计算机通过一个“net use”(例如)命令访问远程计算机。启用网络连接之后,脚本在510从远程CRM获取一个参考OS映像并在512将该参考OS映像安装在计算机上。在一个实施例中,简化的OS映像支持网络连接协议(如服务器消息块,SMB)以便可以在各个计算机之间进行文件访问。
在计算机上安装参考OS映像的过程包括将与参考OS映像关联的一个或多个文件复制到计算机上,并将这些文件集成。在示范WINDOWS操作系统环境中,将文件集成的过程包括但不仅限于创建或更新注册表以及创建或更新桌面图标。脚本确定复制文件并进行集成的步骤。脚本也将确定执行步骤的顺序。在计算机上安装参考OS映像之后,可以将计算机关闭以便提供给客户或者在514重新启动。重新启动的过程包括关闭计算机,然后加载和初始化安装的参考OS映像。在一个实施例中,本发明提供了一个框架,根据该框架,在计算机上启动和安装参考OS映像只需要重新启动一次即可完成。即,脚本允许用户只需要一次重新启动即可将参考OS映像镜像到计算机上。本发明还可使用户将参考OS映像镜像到与计算机关联的一个CRM中。用户可通过脚本实现所需要的镜像方法。镜像方法可以是任何一种传送文件的方法,包括但不仅限于文件复制和完整的OS安装。重新启动之后,安装的引用OS镜像将为最终用户协调OS映像安装后的任何个性化工作。
可本地或远程访问的易失性和非易失性CRM构成了用于提供用户自定义的基于文本的脚本的装置。从本地CRM启动,或者通过PXE远程启动,或者任何其他远程启动协议构成了从CRM启动具有32位或64位体系结构的计算机的装置。示范WINDOWS操作系统环境中的应用程序(如cmd.exe和csh.exe)构成了根据用户自定义的基于文本的脚本在计算机上执行一个或多个功能的装置。此外,上文描述的示例和其它地方描述的示例构成了提供脚本的装置和启动计算机的装置。
下面请看图6,一个方框图说明了从一台远程启动计算机602启动目标计算机以在目标计算机616上安装参考OS映像612的过程。例如,在WINDOWS操作系统实施例中,远程启动计算机602是一台远程安装服务器。远程启动计算机602包括一个远程启动CRM604,该CRM中包括一个简化的OS映像606和一个远程启动CRM脚本608。在一个实施例中,目标计算机616连接到远程启动计算机602,如图1中的示范网络环境所示。目标计算机616通过许多方法和协议(包括但不仅限于启动之前执行环境,PXE)从远程启动CRM 604进行启动。PXE启动遵循动态主机配置协议(DHCP)。目标计算机616将在网络上广播或以别的方式传达DHCP启动请求。远程启动计算机602接收到DHCP启动请求并从远程启动CRM 604启动目标计算机616。启动目标计算机616的过程包括从远程启动计算机602将简化的OS映像606加载到目标计算机616上的易失性存储器,并在目标计算机616上初始化简化的OS映像606。
在WINDOWS操作系统中有一个适用于本地和远程启动的启动过程的示例。在根据本发明的WINDOWS操作系统实施例中,简化的OS映像606包括与WINDOWS NT操作系统关联的基码,并带有最低限度的WIN32应用程序编程接口(API)子系统。最低限度的WIN32 API子系统包括但不仅限于输入/输出API和核心Win32 API。简化的OS映像606使用安装型加载程序而不使用启动型加载程序来加载简化的OS映像。用户在一个配置文件中指定一个加载程序标记,以便让安装型加载程序用来识别远程启动CRM 604上的OS映像是简化的OS映像606。在启动期间,安装型加载程序将设置该标记。作为对设置的标记的响应,简化的OS映像内的功能被启用。例如,在boot.ini中指定了标记“/minint”。“/minint”标记类似于诸如“/debug”和“/vga”之类的其他加载程序。如此,安装型加载程序将简化的OS映像606存在这一信息传达到简化的OS映像中的OS组件。OS组件将按此处描述改变它们的行为以作为简化的OS映像606来运行。例如,如上文所描述,功能包括将配置信息加载到易失性存储器中。此外,用户模式应用程序还根据设置的标记进行配置。在此实施例中,对安装型OS映像中的OS组件的修改(参见图4,引用字符406)在OS组件内存在,但在被特定的加载程序标记激活之前是被动的。
安装型加载程序将按照一个文本文件(如txtsetup.sif)中指定的方式初始化各种硬件驱动程序。安装型加载程序还允许用户加载其他启动型硬件驱动程序和/或更新一个硬件抽象层,以促进简化的OS映像606和目标计算机616中的硬件之间的通信。
安装型加载程序将使用常规会话管理器而不使用与安装型加载程序关联的会话管理器。在启动期间,与简化的OS映像606关联的一个内核将执行一个实用程序(如smss.exe)。当smss.exe执行时,它将查找在内核初始化期间创建的表示该OS是简化的OS映像606的注册表项。如果该注册表项存在,那么smss.exe将忽略通常在启动到WINDOWS操作系统环境中时执行的其他操作,这些操作包括但不仅限于创建一个分页文件。实用程序smss.exe还执行另一个实用程序(如winlogon.exe)以查找该注册表项。如果该注册表项存在,那么winlogon.exe将注册表中指定的另一个进程(如cmd.exe)而不是执行身份验证对话和explorer.exe。诸如cmd.exe或csh.exe之类的外壳支持WINDOWS操作系统内的脚本功能。是选择cmd.exe还是选择另一个外壳可以由用户在生成简化的OS映像606之前或之后进行配置。用户还可以指定一个自定义外壳环境作为简化的OS映像606的默认外壳。该外壳支持具有一个或多个脚本文件(如winBOM.ini文件或floppy.cmd文件)的脚本,以执行用户指定的功能。在此实施例中,简化的OS映像606将在简化的OS映像606中或其他位置(如用户指定的可移动的非易失性存储器)搜索该脚本文件。如果能找到该脚本,那么简化的OS映像606将在该脚本内执行命令。如果找不到该脚本,那么简化的OS映像606将显示一个命令提示符以接受用户输入的命令。例如,请看图6,用户将指定是执行远程启动CRM脚本608还是执行引用CRM脚本614,还是两者都执行,还是两者都不执行。
然后实用程序winlogon.exe等待cmd.exe或其他外壳进程完成。例如,winlogon.exe可能等待二十四小时。如果外壳进程在二十四小时之后还没有完成,那么winlogon.exe就会强制目标计算机616重新启动。实施时间限制是为了让用户不会将简化的OS映像606当作完全安装的OS映像来使用。
简化的OS映像606使用用户指定的脚本来指导参考OS映像612在目标计算机616上的安装。本发明允许用户配置安装过程,以便通过提供一个多级别的脚本环境实现自动安装。简化的OS映像606将使用远程启动CRM 604、目标计算机616的本地CRM、或目标计算机616可通过网络访问的CRM中的任何一个或任何组合中的一个代表脚本的文件,如winBOM.ini。脚本环境允许用户协调许多计算机上任何一个脚本或许多脚本的执行。用户还可以在一个特定的脚本内指定另一个脚本的执行。例如,远程启动CRM脚本608的最后一个步骤就可以执行引用CRM脚本614。
在目标计算机616启动之后,用户指定的脚本将查找包含参考OS映像612和引用CRM脚本614的引用CRM 610。引用CRM610位于目标计算机616本地或以别的方式连接到目标计算机616,例如,如图1中的网络环境。脚本将通过把与参考OS映像612关联的文件复制到目标计算机616的本地海量存储设备并进行集成来将参考OS映像612安装在目标计算机616上。在其他实施例中,脚本首先用一个文件系统对海量存储设备进行分区和格式化。在目标计算机616上安装参考OS映像612之后,脚本将关闭或重新启动目标计算机616。
下面是一个winBOM.ini脚本文件的示例,它与简化的OS映像612一起使用以将海量存储设备格式化,并将参考OS映像612安装在目标计算机616上。
---------------------------------------
[Version]
signature=$version$
[Factory]
[NetCards]
[WinPE]
Restart=Reboot
Lang=ENG
SKU=pro
Arch--x86
ConfigSet=Awesome 2001
SourceRoot=\\machinename\WhistlerOPK
Username=
Password=
[DiskConfig]
Disk1=Disk1.config
[Disk1.config]
Size1=*
PartitionType 1=primary
FileSystem 1=ntfs
QuickFormat 1=yes
[OemRunOnce]
---------------------------------------
下面请看图7,一个方框图说明了从本地CRM 704启动目标计算机702以在目标计算机702上安装参考OS映像712的过程。本地CRM 704包括一个简化的OS映像706和一个本地CRM脚本708。目标计算机702从本地CRM 704上的简化的OS映像706启动。
在启动之后,简化的OS映像706使用用户指定的脚本来指导在目标计算机702上安装参考OS映像712的过程。简化的OS映像706将查找用户指定的脚本来识别包含一个参考OS映像712和一个引用CRM脚本714的引用CRM 710。引用CRM 710位于目标计算机702本地或者远离目标计算机702,类似于图6中的示例。例如,请看图7,用户将指定是执行本地CRM脚本708还是执行引用CRM脚本714,还是两者都执行,还是两者都不执行。脚本将通过把与参考OS映像712关联的文件复制到与目标计算机702关联的海量存储设备并进行集成来将参考OS映像712安装在目标计算机702上。在其他实施例中,脚本首先用一个文件系统对海量存储设备进行分区和格式化。在目标计算机702上安装参考OS映像712之后,脚本将关闭或重新启动目标计算机702。
下面请看图8,一个方框图说明了带有故障软件810的计算机808与带有简化的OS映像804(含有脚本806)的恢复介质802之间的交互。用户将对脚本806进行自定义以恢复计算机808中故障软件810。例如,脚本806可以是图5、6、或7中的脚本。恢复介质802包含简化的OS映像804和脚本806。计算机808上有一个软件(如OS或应用程序)发生了故障。故障软件810包括但不仅限于被损坏、有运行故障或有别的故障的软件。脚本806将根据用户指定的指令指导故障软件810的恢复,可以通过启动计算机808,重新安装软件,向软件中添加纠正代码,或者以别的方式消除故障。在其他实施例中,恢复介质802可由计算机808通过网络进行访问。
在一个实施例中,用户使用一台引用计算机上的恢复介质802从引用计算机和其他计算机上的软件故障中恢复。其他计算机可以由引用计算机在本地或远程访问。如此,恢复介质802可用于自动地纠正许多计算机上的特定的类似的问题。例如,从故障软件中恢复一台计算机之后,脚本806可以将一个补丁程序应用到脚本806中标识的所有其他计算机。
在其他实施例中,带有脚本806的简化的OS映像804将与一台或多台计算机进行交互以执行各种任务。例如,备份和/或恢复计算机上的数据,从一台执行简化的OS映像804的位于中心位置的服务器远程排除计算机的故障,以及使用简化的OS映像804作为远程服务器的瘦客户端以代替计算机使用。另一个示例是从一个只读介质执行反病毒软件以对另一个OS映像上的被病毒感染的文件以及用简化的OS映像中的或者只读介质上的安装型OS映像上的正确版本更换其他OS映像上的被病毒感染的文件。
综上所述,本发明的一些优势就已经体现出来了。由于在不偏离本发明的范围可以对产品和方法进行各种更改,因此,上述说明中包含的所有内容以及附图中所显示的内容都应该解释为说明性的,没有限制性的意义。

Claims (50)

1.一种计算机化的方法,包括:
提供用户对基于文本的脚本的访问;
由用户编辑基于文本的脚本,以提供用户自定义的基于文本的脚本;
从计算机可读的介质上的一个简化的操作系统映像启动第一计算机,其中所述简化的操作系统映像是第二计算机的完整操作系统映像,所述第二计算机具有独立于第一计算机的硬件;以及
根据用户自定义的基于文本的脚本在第一计算机上执行一个或多个功能,其中所述计算机化的方法独立于体系结构。
2.根据权利要求1所述的计算机化的方法,其特征在于执行过程包括在第一计算机上安装一个完整的操作系统映像。
3.根据权利要求2所述的计算机化的方法,其特征在于所述第一计算机具有一个海量存储设备,并且其特征在于执行过程包括对海量存储设备进行分区。
4.根据权利要求2所述的计算机化的方法,其特征在于所述第一计算机具有一个海量存储设备,并且其特征在于执行过程包括对海量存储设备进行格式化。
5.根据权利要求4所述的计算机化的方法,其特征在于格式化包括用简化的操作系统映像支持的格式对带有文件系统的海量存储设备进行格式化。
6.根据权利要求2所述的计算机化的方法,其特征在于执行过程还包括对所述第一计算机的硬件进行验证。
7.根据权利要求6所述的计算机化的方法,其特征在于所述简化的操作系统映像包括可在简化的操作系统映像的保护模式下运行的保护模式硬件驱动程序,其特征在于验证过程包括:
在安装之前,使用保护模式硬件驱动程序对硬件进行验证。
8.根据权利要求2所述的计算机化的方法,其特征在于安装过程包括将与完整的操作系统映像关联的一个或多个文件复制到计算机上并集成这些文件。
9.根据权利要求8所述的计算机化的方法,其特征在于脚本确定复制和集成文件的许多步骤,并且其特征在于脚本确定执行许多步骤的顺序。
10.根据权利要求1所述的计算机化的方法,其特征在于第一计算机的体系结构是64位。
11.根据权利要求1所述的计算机化的方法,其特征在于第一计算机的体系结构大于32位。
12.根据权利要求1所述的计算机化的方法,其特征在于启动包括:
设置一个标记;以及
作为对设置的标记的响应,启用简化操作系统映像内的功能。
13.根据权利要求12所述的计算机化的方法,进一步包括允许用户模式软件响应设置的标记进行配置。
14.根据权利要求12所述的计算机化的方法,其特征在于功能包括将配置信息加载到易失性存储器中。
15.根据权利要求1所述的计算机化的方法,其特征在于计算机可读的介质上包含脚本。
16.根据权利要求1所述的计算机化的方法,其特征在于脚本远离计算机可读的介质。
17.根据权利要求1所述的计算机化的方法,其特征在于执行包括从软件的故障中恢复计算机。
18.根据权利要求17所述的计算机化的方法,其特征在于软件包括操作系统或应用程序。
19.根据权利要求1所述的计算机化的方法,其特征在于计算机可读的介质可由计算机通过网络进行访问。
20.根据权利要求1所述的计算机化的方法,进一步包括对用户自定义的基于文本的脚本进行编辑以使执行过程包括安装另一个操作系统。
21.一个系统,包括:
由用户编辑基于文本的脚本,以提供用户自定义的基于文本的脚本的装置;
从计算机可读的介质上的一个简化的操作系统映像启动第一计算机的装置,其中所述简化的操作系统映像是具有独立于第一计算机的硬件的第二计算机的完整操作系统映像,并且所述简化的操作系统映像是硬件独立的;以及
根据用户自定义的基于文本的脚本在第一计算机上执行一个或多个功能以在第一计算机上安装简化的操作系统映像的装置。
22.一种计算机化的方法,包括:
提供用户对基于脚本的文本的访问;
由用户编辑基于文本的脚本,以提供用户自定义的基于文本的脚本;
从计算机可读的介质上的简化的第一操作系统映像启动第一计算机,其中所述简化的操作系统映像是具有独立于第一计算机的硬件的第二计算机的完整操作系统;以及
根据用户自定义的基于文本的脚本在第一计算机上安装完整操作系统映像,其中启动和安装过程只需要重新启动计算机一次,并且所述计算机方法是体系结构独立的。
23.根据权利要求22所述的计算机化的方法,其特征在于脚本位于计算机可读的介质上。
24.根据权利要求22所述的计算机化的方法,其特征在于还包括对第一计算机的硬件进行验证。
25.根据权利要求22所述的计算机化的方法,其特征在于第一计算机具有一个海量存储设备,并且其特征在于安装过程包括对海量存储设备进行格式化。
26.根据权利要求22的计算机化的方法,其特征在于安装过程包括将与完整操作系统映像关联的一个或多个文件复制到第一计算机上并集成这些文件。
27.根据权利要求26的计算机化的方法,其特征在于脚本确定复制和集成文件的许多步骤,并且其特征在于脚本确定执行许多步骤的顺序。
28.根据权利要求22所述的计算机化的方法,其特征在于所述第一计算机有计算机可读的介质。
29.一个系统,包括:
具有用户选定的操作系统组件的第一操作系统映像,所述第一操作系统映像是硬件独立的;
具有第二操作系统映像的第一计算机,所述第一操作系统映像相对所述第二操作系统是简化的;以及
可由用户自定义的基于文本的脚本文件,该脚本文件与第一操作系统映像进行交互,以在具有独立于第一计算机的硬件的第二计算机上安装第二操作系统映像,其中所述基于文本的脚本文件包括用户可编辑的文本。
30.根据权利要求29所述的系统,其特征在于操作系统的每一组件都至少包括一个文件。
31.根据权利要求29所述的系统,其特征在于操作系统组件包括硬件驱动程序。
32.根据权利要求29所述的系统,其特征在于第二操作系统映像有许多操作系统组件,并且其特征在于第一操作系统映像具有多个操作系统组件的子集。
33.根据权利要求29所述的系统,其特征在于第二计算机的体系结构是64位。
34.根据权利要求29所述的系统,其特征在于脚本文件可以在大于32位体系结构的计算机运行。
35.一种计算机化的方法,所述方法包括:
基于要被启用的需要的功能,从第一计算机的多个操作系统组件中选择操作系统组件的一个子集;
生成与选定的操作系统组件的子集关联的文件列表,所述生成的文件列表是基于文本的,并可由用户编辑;以及
在目标介质上安装选定的操作系统组件的子集作为简化的操作系统映像,其中安装过程包括从安装介质中将文件复制到目标介质中;以及
使用目标介质引导具有独立于第一计算机的硬件的第二计算机,其中所述计算机化的方法是体系结构独立的。
36.根据权利要求35所述的计算机化的方法,其特征在于操作系统组件包括硬件驱动程序。
37.根据权利要求35所述的计算机化的方法,进一步包括至少创建一个配置单元,其中安装过程包括将创建的配置单元复制到目标介质中。
38.根据权利要求35所述的计算机化的方法,其中安装过程进一步包括在目标介质上集成这些文件。
39.根据权利要求35所述的计算机化的方法,进一步包括选择更多的操作系统组件,并且其中安装过程包括在目标介质上安装更多的操作系统组件。
40.一个系统,所述系统包括:
基于要被启用的需要的功能,从第一计算机的多个操作系统组件中选择操作系统组件的一个子集的装置;
生成与选定的操作系统组件的子集关联的文件列表的装置,所述生成的文件列表是基于文本的,并可由用户编辑;
在目标介质上安装选定的操作系统组件的子集作为独立于硬件的简化的操作系统映像的装置,其中安装过程包括从安装介质中将文件复制到目标介质中。
41.用来用许多操作系统组件在目标介质上创建简化的操作系统映像的系统,所述系统包括:
用户界面,允许用户从第一计算机的多个操作系统组件中选择操作系统组件的子集,生成与选定的操作系统组件的子集关联的文件列表,所述选择的操作系统组件被选择以启用需要的功能,所述生成的文件列表是基于文本的,并且可由用户编辑;以及
操作系统组件修改,它们允许选定的操作系统组件集作为第二计算机上简化的操作系统映像执行,其中简化的操作系统映像是硬件独立的,并且第二计算机具有与第一计算机独立的硬件。
42.根据权利要求41所述的系统,进一步包括一个基于文本的脚本,用于指导简化的操作系统映像执行一个或多个功能。
43.根据权利要求42所述的系统,其特征在于这些功能包括在另一台计算机上安装一个操作系统。
44.根据权利要求42所述的系统,其特征在于这些功能包括从下列一组任务中选定的一个或多个任务:从软件故障中恢复第二计算机,在第二计算机上备份和/或恢复数据,远程排除另一计算机上的故障,以及使用计算机执行应用程序作为第二计算机的远程瘦客户端。
45.根据权利要求41所述的系统,其特征在于操作系统组件集是许多操作系统组件的一个子集。
46.根据权利要求41所述的系统,进一步包括许多操作系统组件中没有的更多操作系统组件,并且其中在执行应用程序时,进一步使一个或多个处理器执行如下操作:包括允许用户在选定的操作系统组件集中至少添加一个其他操作系统组件。
47.根据权利要求41所述的系统,其特征在于操作系统组件修改包括将状态信息写入易失性存储器。
48.根据权利要求41所述的系统,其特征在于在执行应用程序时,进一步使一个或多个处理器执行各种操作,包括生成简化的操作系统映像。
49.根据权利要求41所述的系统,其特征在于在执行应用程序时,进一步使一个或多个处理器执行各种操作,包括至少创建一个配置单元。
50.根据权利要求21的系统,其中用于编辑的装置包括一个文本界面。
CNB021406715A 2001-07-24 2002-07-12 创建和使用具有选定功能的操作系统的方法和系统 Expired - Fee Related CN1315042C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/912,864 US6993642B2 (en) 2001-07-24 2001-07-24 Method and system for creating and employing an operating system having selected functionality
US09/912,864 2001-07-24

Publications (2)

Publication Number Publication Date
CN1399194A CN1399194A (zh) 2003-02-26
CN1315042C true CN1315042C (zh) 2007-05-09

Family

ID=25432579

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021406715A Expired - Fee Related CN1315042C (zh) 2001-07-24 2002-07-12 创建和使用具有选定功能的操作系统的方法和系统

Country Status (6)

Country Link
US (1) US6993642B2 (zh)
EP (1) EP1280058A3 (zh)
JP (3) JP2003099268A (zh)
KR (1) KR100860447B1 (zh)
CN (1) CN1315042C (zh)
TW (1) TWI250451B (zh)

Families Citing this family (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010703A1 (en) * 2001-08-01 2004-01-15 Networks Associates Technology, Inc. Persistent storage access system and method for a wireless malware scan engine
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
TWI242160B (en) * 2002-04-01 2005-10-21 Shun-Tang Hsu Method and tools to downsize existing operating systems for embedded applications
US20030221094A1 (en) * 2002-04-17 2003-11-27 Avery Pennarun Method and system for configuring a computer
US7664984B2 (en) * 2002-10-09 2010-02-16 Xpoint Technologies, Inc. Method and system for updating a software image
US8336044B2 (en) * 2002-10-09 2012-12-18 Rpx Corporation Method and system for deploying a software image
US7024581B1 (en) * 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US8225306B2 (en) * 2002-12-12 2012-07-17 Dell Products L.P. Platform independent imaging method and system
US7401332B2 (en) * 2003-01-09 2008-07-15 International Business Machines Corporation System and apparatus for eliminating user interaction during hardware configuration at system boot
US7814126B2 (en) * 2003-06-25 2010-10-12 Microsoft Corporation Using task sequences to manage devices
US20050044548A1 (en) * 2003-08-20 2005-02-24 John Page Efficient replication of embedded operating system with a write filter and overlay partition
WO2005055072A1 (en) * 2003-11-26 2005-06-16 Hewlett-Packard Development Company, L.P. System and method for management and installation of operating system images for computers
US7614051B2 (en) * 2003-12-16 2009-11-03 Microsoft Corporation Creating file systems within a file in a storage technology-abstracted manner
TWI308721B (en) * 2004-01-16 2009-04-11 Wistron Corp Remote boot method and device thereof and server device using remote boot method
US7877747B2 (en) * 2004-02-20 2011-01-25 Hewlett-Packard Development Company, L.P. Flexible operating system operable as either native or as virtualized
US7444621B2 (en) * 2004-02-20 2008-10-28 Microsoft Corporation Method and system for providing a common operating system
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11159484B2 (en) * 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US10348575B2 (en) 2013-06-27 2019-07-09 Icontrol Networks, Inc. Control system user interface
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US8473619B2 (en) * 2005-03-16 2013-06-25 Icontrol Networks, Inc. Security network integrated with premise security system
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
EP1738540B1 (en) 2004-03-16 2017-10-04 Icontrol Networks, Inc. Premises management system
US10062273B2 (en) 2010-09-28 2018-08-28 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11368429B2 (en) * 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US10339791B2 (en) * 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11368327B2 (en) 2008-08-11 2022-06-21 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
JP4900760B2 (ja) * 2004-03-31 2012-03-21 株式会社日立製作所 Osイメージのデプロイメントマシン及び方法
US20050235281A1 (en) * 2004-04-19 2005-10-20 Telefonaktiebolaget L M Ericsson (Publ) Combined software installation package
US8230095B2 (en) * 2004-05-07 2012-07-24 Wyse Technology, Inc. System and method for integrated on-demand delivery of operating system and applications
US7765541B1 (en) * 2004-05-26 2010-07-27 Oracle America, Inc. Minimization methodology
US20060031425A1 (en) * 2004-06-07 2006-02-09 Northrop Grumman Corporation Method for imaging computer systems
US20050283479A1 (en) * 2004-06-16 2005-12-22 Advanced Micro Devices, Inc. System for controlling a multipurpose media access data processing system
US8346886B2 (en) * 2004-09-08 2013-01-01 Red Hat, Inc. System, method, and medium for configuring client computers to operate disconnected from a server computer while using a master instance of the operating system
US7607003B2 (en) * 2004-09-21 2009-10-20 Cyberlink Corp. System and method for loading an operating system on a personal computer
US20060195839A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Computer system for deploying software on multiple computers
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US9450776B2 (en) 2005-03-16 2016-09-20 Icontrol Networks, Inc. Forming a security network including integrated security system components
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US11615697B2 (en) * 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US7734945B1 (en) * 2005-04-29 2010-06-08 Microsoft Corporation Automated recovery of unbootable systems
US7512833B1 (en) * 2005-05-09 2009-03-31 Adam C. Murphy Universal imaging utility program
US8413134B2 (en) * 2005-05-10 2013-04-02 International Business Machines Corporation Method, system and computer program for installing software products based on package introspection
KR20060119373A (ko) * 2005-05-20 2006-11-24 엘지전자 주식회사 컴퓨터 시스템과 시스템 소프트웨어 설치방법 및 휴대용컴퓨터의 소프트웨어 설치방법
KR100725394B1 (ko) * 2005-07-08 2007-06-07 삼성전자주식회사 복수의 운영체계에서 특정 운영체계를 선택적으로 설치하는컴퓨터 시스템 및 방법
KR100792786B1 (ko) * 2005-08-26 2008-01-14 이철호 백업 이미지 파일을 이용한 컴퓨터의 최적화 운영체제 복구방법
US8918530B2 (en) * 2005-09-09 2014-12-23 Microsoft Corporation Plug and play device redirection for remote systems
US7634689B2 (en) * 2005-09-22 2009-12-15 Advanced Micro Devices, Inc. Boot performance optimization for hard drive for personal internet communicator
EP1941360A2 (en) * 2005-09-27 2008-07-09 Morgan Stanley Host build and rebuild system and method
US20070169112A1 (en) * 2005-10-31 2007-07-19 Inventec Corporation Operating program installation method appended with driver program and related structure
CN100345112C (zh) * 2005-11-25 2007-10-24 中国科学院软件研究所 操作系统的构件化扩充方法
EP1808763A1 (en) * 2005-12-13 2007-07-18 Neoware, Inc. A procedure for booting a first computer using the operating system of a second computer
US8255901B2 (en) * 2005-12-16 2012-08-28 Sap Ag Methods and systems for configuring software applications
US9286308B2 (en) 2005-12-22 2016-03-15 Alan Joshua Shapiro System and method for metadata modification
US8286159B2 (en) 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
WO2007072310A1 (en) 2005-12-22 2007-06-28 Shapiro Alan J System and method for software delivery
US20070169116A1 (en) * 2006-01-18 2007-07-19 Dell Products L.P. Method and system for automated installation of system specific drivers
KR100710845B1 (ko) * 2006-01-23 2007-04-23 염찬섭 중복 패치 방지 방법
US7631175B2 (en) * 2006-02-21 2009-12-08 Microsoft Corporation Control protocol for image enumeration and transfer
JP4715623B2 (ja) 2006-05-08 2011-07-06 ソニー株式会社 データ記録装置及びデータ記録方法、並びにコンピュータ・プログラム
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US8423831B2 (en) * 2006-07-11 2013-04-16 Oracle America, Inc. System and method for performing auditing and correction
US7743242B2 (en) * 2006-10-16 2010-06-22 Scalent Systems Inc. Method and system for automatic generation of operating system boot images
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US8522234B2 (en) * 2007-02-05 2013-08-27 Microsoft Corporation Tailoring an operating system to a computer system
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
CN101193452B (zh) * 2007-03-15 2011-03-16 中兴通讯股份有限公司 自动交换光网络中控制模块注册的方法及其应用方法
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US9454384B2 (en) * 2007-07-05 2016-09-27 Microsoft Technology Licensing, Llc Custom operating system via a web-service
US7734959B2 (en) * 2007-07-30 2010-06-08 Hewlett-Packard Development Company, L.P. Operating system recovery across a network
US20090049174A1 (en) * 2007-08-14 2009-02-19 Nicholas Rudnik System and method for managing access to resources and functionality of client computers in a client/server environment
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US8103863B2 (en) * 2007-09-17 2012-01-24 International Business Machines Corporation Workflow management to automatically load a blank hardware system with an operating system, products, and service
US20090089779A1 (en) * 2007-09-28 2009-04-02 Evelyn Thompson Brengle Apparatus system and method for customizing a computing environment
US20090144538A1 (en) * 2007-11-05 2009-06-04 Duda Kenneth J Patch installation at boot time for dynamically installable, piecemeal revertible patches
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US7975084B1 (en) * 2008-02-06 2011-07-05 American Megatrends, Inc. Configuring a host computer using a service processor
US20090217259A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Building Operating System Images Based on Applications
US9092243B2 (en) 2008-05-28 2015-07-28 Red Hat, Inc. Managing a software appliance
US8868721B2 (en) 2008-05-29 2014-10-21 Red Hat, Inc. Software appliance management using broadcast data
US10657466B2 (en) 2008-05-29 2020-05-19 Red Hat, Inc. Building custom appliances in a cloud-based network
JP5413366B2 (ja) * 2008-06-23 2014-02-12 富士通株式会社 情報処理装置及び制御方法
US8312448B2 (en) * 2008-06-24 2012-11-13 Sony Corporation Configuration to order software deployment and management
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
JP2010033437A (ja) * 2008-07-30 2010-02-12 Autonetworks Technologies Ltd 制御装置、制御方法及びコンピュータプログラム
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
TW201007469A (en) * 2008-08-15 2010-02-16 Asustek Comp Inc Computer with remote mangement system
EP2340484A1 (en) * 2008-10-27 2011-07-06 Hewlett-Packard Development Company, L.P. Imaging process
US9628440B2 (en) 2008-11-12 2017-04-18 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
JP2010176534A (ja) * 2009-01-30 2010-08-12 Toshiba Corp 情報処理装置およびプログラム
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US8769529B2 (en) * 2009-07-24 2014-07-01 Novell, Inc. Generating and automatically loading reduced operating system based on usage pattern of applications
US8516236B2 (en) 2009-09-30 2013-08-20 Imation Corp. Portable desktop device and method of host computer system hardware recognition and configuration
JP2013511078A (ja) 2009-11-13 2013-03-28 イメーション コーポレイション 接続の確認のためのデバイスおよび方法
US8977724B2 (en) * 2010-03-31 2015-03-10 International Business Machines Corporation Method and system for automated operating system image loading
AU2011250886A1 (en) 2010-05-10 2013-01-10 Icontrol Networks, Inc Control system user interface
JP2010231808A (ja) * 2010-06-16 2010-10-14 Autonetworks Technologies Ltd プログラム変更方法及びコンピュータプログラム
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
CN102467392A (zh) * 2010-11-12 2012-05-23 鸿富锦精密工业(深圳)有限公司 操作系统使用的预安装环境
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
DE112011104995T5 (de) 2011-04-01 2013-12-19 Hewlett-Packard Development Company, L.P. Booten einer Rechenvorrichtung zum Aufweisen einer vordefinierten Funktionalität
US8621496B2 (en) 2011-04-05 2013-12-31 Netapp, Inc. Decoupled application program-operating system computing architecture
US8856506B2 (en) 2011-04-27 2014-10-07 Hewlett-Packard Development Company, L.P. Process for joining a computer to a directory based on either a newly created computer account or renewed computer account depending on a unique identifier associated with an end-user
US9122551B2 (en) 2011-06-17 2015-09-01 The Boeing Comapny Methods and systems for generating read-only operating systems
US9378045B2 (en) * 2013-02-28 2016-06-28 Oracle International Corporation System and method for supporting cooperative concurrency in a middleware machine environment
US9703680B1 (en) * 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
CN102571491B (zh) * 2011-12-28 2015-02-11 Tcl集团股份有限公司 一种检测网络是否可用的方法及装置
JP5414814B2 (ja) * 2012-01-19 2014-02-12 インテル・コーポレーション ネットワーク環境におけるスペースのカスタマイズ
US9075638B2 (en) * 2012-08-14 2015-07-07 Atlassian Corporation Pty Ltd. Efficient hosting of virtualized containers using read-only operating systems
US9141385B2 (en) * 2012-10-09 2015-09-22 Red Hat, Inc. Managing operating system components
US10135823B2 (en) 2013-01-07 2018-11-20 Dell Products L.P. Input redirection with a cloud client device
US10205750B2 (en) * 2013-03-13 2019-02-12 Intel Corporation Policy-based secure web boot
US9928975B1 (en) 2013-03-14 2018-03-27 Icontrol Networks, Inc. Three-way switch
US9287727B1 (en) 2013-03-15 2016-03-15 Icontrol Networks, Inc. Temporal voltage adaptive lithium battery charger
US9867143B1 (en) 2013-03-15 2018-01-09 Icontrol Networks, Inc. Adaptive Power Modulation
KR102047769B1 (ko) * 2013-03-28 2019-11-25 한국전자통신연구원 메모리 가상화 기반 스냅샷 부트 장치 및 방법
US20160124737A1 (en) * 2013-05-06 2016-05-05 Core-Software Gmbh Automated generation of an appliance for a computing machine
DK3011442T3 (da) * 2013-06-18 2021-01-04 Ciambella Ltd Fremgangsmåde og anordning til generering af et brugerdefineret softwareudviklingskit (sdk)
DK3011444T3 (en) 2013-06-18 2018-04-16 Ciambella Ltd METHOD AND APPARATUS FOR CODE VIRTUALIZATION AND GENERATION OF REMOTE PROCESS CALLS
US10841668B2 (en) 2013-08-09 2020-11-17 Icn Acquisition, Llc System, method and apparatus for remote monitoring
US10110594B2 (en) * 2013-09-04 2018-10-23 Hewlett-Packard Development Company, L.P. Header section download of package
US9537949B2 (en) * 2013-09-24 2017-01-03 Clearcube Technology, Inc. Computer system image clustering architecture and use
US20150160990A1 (en) * 2013-12-05 2015-06-11 Karim Massoud Virtual Computer Technical Support Agent
CN103632074A (zh) * 2013-12-12 2014-03-12 用友软件股份有限公司 基于基本功能模型的特性化功能部署装置和部署方法
US9619122B2 (en) 2014-01-10 2017-04-11 Ciambella Ltd. Method and apparatus for automatic device program generation
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
FR3019336B1 (fr) * 2014-03-25 2016-03-25 Bull Sas Procede et dispositif de controle du changement de systeme d'exploitation dans des nœuds de service d'un calculateur haute performance
CN105264868A (zh) * 2014-04-24 2016-01-20 华为技术有限公司 操作系统建立方法和装置
CN104484241B (zh) * 2014-12-10 2018-12-11 广东欧珀移动通信有限公司 一种对终端系统文件进行备份与恢复的方法及装置
US10095495B2 (en) 2015-05-08 2018-10-09 Ciambella Ltd. Method and apparatus for automatic software development for a group of controller-based devices
US10067490B2 (en) 2015-05-08 2018-09-04 Ciambella Ltd. Method and apparatus for modifying behavior of code for a controller-based device
US10601661B2 (en) 2015-06-22 2020-03-24 Arista Networks, Inc. Tracking state of components within a network element
US10110624B2 (en) * 2016-04-19 2018-10-23 Red Hat Israel, Ltd. Discovering and provisioning computing devices in a security enhanced environment
JP7000013B2 (ja) * 2016-08-09 2022-01-19 キヤノン株式会社 情報処理装置、該装置の制御方法、該方法を実行する制御プログラム
CN106293747A (zh) * 2016-08-12 2017-01-04 京东方科技集团股份有限公司 电子设备以及电子设备的驱动方法
SG11201908483SA (en) 2017-03-14 2019-10-30 Ciambella Ltd Method and apparatus for automatically generating and incorporating code in development environments
US10565162B2 (en) * 2017-08-02 2020-02-18 Mastercard International Incorporated Systems and methods for customized operating system conversion
US10705825B2 (en) * 2018-09-20 2020-07-07 Hewlett Packard Enterprise Development Lp Creation of images
US10776132B1 (en) * 2019-06-26 2020-09-15 Dell Products, L.P. System and method for preboot device driver provisioning for remotely-staged operating system
KR102370301B1 (ko) * 2020-05-12 2022-03-04 주식회사 다산네트웍스 초기화 파일 생성 장치
US11709760B1 (en) * 2020-07-27 2023-07-25 T-Mobile Innovations Llc Automation failure diagnostic tool
CN112835596B (zh) * 2021-02-03 2023-11-14 广东中兴新支点技术有限公司 通用操作系统的安装方法、系统、装置及存储介质
CN114860336B (zh) * 2022-05-06 2023-09-26 麒麟软件有限公司 基于pxe的系统审核模式实现方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US555416A (en) * 1896-02-25 Nap of fustians
JPH07219747A (ja) * 1994-02-01 1995-08-18 Fuji Xerox Co Ltd ソフトウェアのインストール方式
WO1999049394A1 (en) * 1998-03-23 1999-09-30 Microsoft Corporation Application program interfaces in an operating system
WO1999059059A1 (en) * 1998-05-13 1999-11-18 Glaxo Group Limited Remote installation of computer operating systems
US6066182A (en) * 1998-11-05 2000-05-23 Platinum Technology Ip, Inc. Method and apparatus for operating system personalization during installation
US6098097A (en) * 1998-05-14 2000-08-01 International Business Machines Corporation Controlling the installation and configuration of programs and components in a network of server and client computers through entries into a primary server computer

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3147736A1 (de) * 1981-12-02 1983-06-09 Bayer Ag, 5090 Leverkusen Verfahren zur herstellung von elastischen formkoerpern
JPS633336A (ja) * 1986-06-23 1988-01-08 Hitachi Ltd システム生成方式
JPH0766311B2 (ja) * 1986-06-27 1995-07-19 株式会社日立製作所 スタータosリストア方法
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
EP0592079A2 (en) * 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5469573A (en) * 1993-02-26 1995-11-21 Sytron Corporation Disk operating system backup and recovery system
US5713024A (en) * 1994-06-10 1998-01-27 Exabyte Corporation Cold boot data backup system
US5794052A (en) * 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
JPH09185494A (ja) * 1995-12-28 1997-07-15 Nec Corp インストール方式
GB2309104B (en) * 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system
JPH103382A (ja) * 1996-06-18 1998-01-06 Matsushita Electric Ind Co Ltd オペレーティングシステム生成装置および生成方法
JPH1021084A (ja) 1996-07-04 1998-01-23 P I Ii:Kk ソフトウェア流通媒体およびソフトウェア流通媒体の作成方法
US6247128B1 (en) * 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
JPH11143724A (ja) 1997-11-13 1999-05-28 Sharp Corp 情報処理装置および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
GB2334354B (en) 1998-02-13 2003-04-16 Ibm Booting a computer system from a network
US6080207A (en) * 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US6377958B1 (en) * 1998-07-15 2002-04-23 Powerquest Corporation File system conversion
US6262726B1 (en) * 1998-10-09 2001-07-17 Dell U.S.A., L.P. Factory installing desktop components for an active desktop
TW408286B (en) * 1998-12-18 2000-10-11 Inventec Corp Software pre-installation method
US6188779B1 (en) * 1998-12-30 2001-02-13 L&H Applications Usa, Inc. Dual page mode detection
US6711624B1 (en) * 1999-01-13 2004-03-23 Prodex Technologies Process of dynamically loading driver interface modules for exchanging data between disparate data hosts
US20020174329A1 (en) * 1999-04-28 2002-11-21 Bowler Richard A. Method and system for automatically transitioning files among computer systems
US6385766B1 (en) * 1999-05-20 2002-05-07 Dell Usa L.P. Method and apparatus for windows-based installation for installing software on build-to-order computer systems
US6282711B1 (en) * 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6681323B1 (en) * 1999-11-29 2004-01-20 Toshiba America Information Systems, Inc. Method and system for automatically installing an initial software configuration including an operating system module from a library containing at least two operating system modules based on retrieved computer identification data
EP1187472B1 (en) * 2000-02-07 2019-04-03 Sony Corporation Image processor and image processing method and recorded medium
US6632474B1 (en) * 2000-10-13 2003-10-14 Headway Technologies, Inc. Robust hard bias/conductor lead structures for future GMR heads
US20020188941A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
US6907610B2 (en) * 2001-06-15 2005-06-14 Microsoft Corporation System and method for building a target operating system from a source operating system
US7068309B2 (en) * 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation
US7260738B2 (en) * 2002-06-17 2007-08-21 Microsoft Corporation System and method for splitting an image across multiple computer readable media

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US555416A (en) * 1896-02-25 Nap of fustians
JPH07219747A (ja) * 1994-02-01 1995-08-18 Fuji Xerox Co Ltd ソフトウェアのインストール方式
WO1999049394A1 (en) * 1998-03-23 1999-09-30 Microsoft Corporation Application program interfaces in an operating system
WO1999059059A1 (en) * 1998-05-13 1999-11-18 Glaxo Group Limited Remote installation of computer operating systems
US6098097A (en) * 1998-05-14 2000-08-01 International Business Machines Corporation Controlling the installation and configuration of programs and components in a network of server and client computers through entries into a primary server computer
US6066182A (en) * 1998-11-05 2000-05-23 Platinum Technology Ip, Inc. Method and apparatus for operating system personalization during installation

Also Published As

Publication number Publication date
EP1280058A2 (en) 2003-01-29
US20030023839A1 (en) 2003-01-30
CN1399194A (zh) 2003-02-26
KR20030011552A (ko) 2003-02-11
TWI250451B (en) 2006-03-01
JP2003099268A (ja) 2003-04-04
JP4932781B2 (ja) 2012-05-16
KR100860447B1 (ko) 2008-09-25
JP2008269621A (ja) 2008-11-06
JP5095717B2 (ja) 2012-12-12
US6993642B2 (en) 2006-01-31
JP2010134941A (ja) 2010-06-17
EP1280058A3 (en) 2004-06-30

Similar Documents

Publication Publication Date Title
CN1315042C (zh) 创建和使用具有选定功能的操作系统的方法和系统
EP1133738B1 (en) Method and apparatus for new device driver installation by an operating system
RU2421785C2 (ru) Автоматизированное управление драйверами устройств
US8527744B2 (en) Board module for providing alternative board functions which are not called by UEFI compatible programs for driving platform service in silicon components
JP4199923B2 (ja) モバイル・デバイスのアプリケーション・インストール方法
US7600216B2 (en) Method for executing software applications using a portable memory device
KR100671153B1 (ko) 디바이스 드라이버 설치방법
US7873960B2 (en) Generic packaging tool for packaging application and component therefor to be installed on computing device
CN1441352A (zh) 信息处理装置、该信息处理装置的控制方法、存储媒体
EP1634170A2 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
CN113835644B (zh) 整机迁移方法、装置、设备及存储介质
JP4759941B2 (ja) 起動イメージ提供システム及び方法、ブートノード装置、ブートサーバ装置並びにプログラム
US8549545B2 (en) Abstraction of computer disk image cloning capabilities from bootable media
US20040243385A1 (en) Emulation of hardware devices in a pre-boot environment
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
JP2014186501A (ja) 情報処理装置及びその起動制御方法、記憶媒体、並びにコンピュータ・プログラム
Panek Microsoft Windows 7 Administration Instant Reference
KR20070049237A (ko) 소프트웨어의 증분 프로비져닝
JP2008186418A (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: 20150507

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

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070509

Termination date: 20150712

EXPY Termination of patent right or utility model