CN101399696A - 通过网络为客户机安装软件的方法、系统及相应的客户机 - Google Patents

通过网络为客户机安装软件的方法、系统及相应的客户机 Download PDF

Info

Publication number
CN101399696A
CN101399696A CNA2007101618336A CN200710161833A CN101399696A CN 101399696 A CN101399696 A CN 101399696A CN A2007101618336 A CNA2007101618336 A CN A2007101618336A CN 200710161833 A CN200710161833 A CN 200710161833A CN 101399696 A CN101399696 A CN 101399696A
Authority
CN
China
Prior art keywords
client computer
software
data
nim
memory drives
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
CNA2007101618336A
Other languages
English (en)
Other versions
CN101399696B (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN2007101618336A priority Critical patent/CN101399696B/zh
Priority to US12/235,777 priority patent/US8423990B2/en
Publication of CN101399696A publication Critical patent/CN101399696A/zh
Application granted granted Critical
Publication of CN101399696B publication Critical patent/CN101399696B/zh
Priority to US13/788,139 priority patent/US9940117B2/en
Priority to US14/948,326 priority patent/US10324698B2/en
Priority to US15/851,742 priority patent/US11237811B2/en
Priority to US16/409,810 priority patent/US11556325B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/4406Loading of operating system
    • G06F9/4408Boot device selection
    • 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
    • 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/4406Loading of operating system

Abstract

本发明涉及在网络安装管理NIM环境中为客户机安装软件的方法、相应客户机和系统。该方法包括:初始化客户机,产生一个与客户机的存储器驱动器相关联的虚拟映射设备,该虚拟映射设备用于针对软件运行的I/O操作,在客户机和远程NIM服务器之间进行调度,以将软件运行的I/O操作指向客户机或远程NIM服务器;在客户机上运行软件;获取运行软件所需的资源;在运行软件的同时,执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装软件需要从NIM服务器获取的资源数据;以及在将安装软件所需要的全部数据都迁移到客户机本地后,完成软件的安装。本发明不需要将安装映像完全复制到本地就可以开始软件安装,因此缩短甚至消除了系统或应用程序的安装延迟。

Description

通过网络为客户机安装软件的方法、系统及相应的客户机
技术领域
本发明涉及网络安装管理技术,特别涉及一种使用网络安装管理技术为客户机安装诸如操作系统或应用程序之类的软件的方法、系统及相应的客户机。
背景技术
为一台计算机安装诸如操作系统(Operation System,OS)或应用程序之类的软件可以采用手动部署方式也可以采用自动部署方式。其中,在手动部署方式中,要求工程师将所有软件安装CD带到客户所在地,然后根据需要设置计算机操作系统、逐个安装软件,并配置应用服务器。而自动部署方式一般又可称为“网络安装管理”(Network Installation Management,NIM)服务。在NIM环境中,可以通过网络从远程安装一个或多个计算机。特别是,当为一台承载更多处理量的大型、复杂计算机(例如一台客户机或一台服务器)进行操作系统和/或应用程序的软件安装时,越来越多地使用网络安装管理NIM技术。
NIM技术提供了通过网络管理软件安装和维护功能。NIM环境是由至少一个NIM服务器和多个客户机(也称客户端)构成。NIM服务器为客户端计算机软件的安装和维护提供所需要的资源(如,用于安装的文件和程序),接受NIM服务器提供资源的称为NIM客户端。通过创建安装映像(例如“OS images”文件)来实现对客户端计算机的软件的安装。
在NIM运行环境中,从NIM服务器远程引导NIM客户机,然后复制NIM服务器上所保存的待安装的软件的安装映像文件,并将安装映像文件远程安装到客户机上。NIM服务支持的设备例如包括AIX(Advanced Interactive Executive,IBM公司的Unix操作系统)、X-Server等。目前,诸多IT公司均可提供NIM服务,如:BMC软件提供了基于NIM的OS部署解决方案,Opsware提供服务器自动系统等。
图1示出了一个典型的NIM安装过程。该过程例如以AIX操作系统为例。
该过程从步骤S100开始,随后进入步骤S105。在步骤S105中,对原始客户机进行启动或复位操作。例如,如果针对一台要安装操作系统的原始客户机(或称目标客户机),可能需要进行引导操作;而针对一台要进行系统恢复的客户机,则可能需要进行复位操作。
接下来,在步骤S110中,在BIOS引导过程中,判断客户机是否配置了启用bootp命令的IPL ROM(Read Only Memory,只读存储器)。其中IPL是一个初始化程序装载程序(Initial ProgramLoader)。Bootp命令是Bootstrap Protocol(自举协议)命令。该自举协议是一个基于TCP/IP的协议,它可以让无盘站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。
如果步骤S110的判断结果是尚未启用Bootp的IPL ROM,则过程进入步骤S115。在步骤S115中,指明需要IPL ROM仿真,系统启动失败。此时需要对客户机进行配置以能执行Bootp命令。
如果步骤S110的判断结果是客户机已经配置了IPL ROM,则过程进入步骤S120,其中在IPL ROM菜单中表明需要手动交互。
于是,过程进入步骤S125,其中目标客户机发出一个bootp请求。
随后,过程进入步骤S130,将接收到的命令传送给小型运行时环境,过程随后进入步骤S135,其中调用引导脚本,以得到引导基础代码。
此后,过程进入步骤S140,其中判断是从网络、磁带还是CD-ROM获得OS引导程序。
如果选择从网络获得OS引导程序,则进入步骤S145。从网络获得OS引导程序是指通过网络从NIM服务器获得要安装的OS的安装映像文件的操作。其中NIM SPOT资源是网络文件系统NFS。NFS是一种在网络上的机器间共享文件的方法,文件就如同位于客户的本地硬盘驱动器上一样。通过安装NFS文件,可以帮助进行客户机的配置,然后将OS安装映像从NIM SPOT复制到目标客户机(原始客户机)。在完成步骤S145后,将要安装的OS的所有安装映像都会被完全拷贝到目标客户机上。
如果选择从磁带获得OS引导程序,则进入步骤S150,其中完全由磁带上自带的引导映像配置目标客户机。
如果选择从CD-ROM获得OS引导程序,则使用CD上的AIX程序来帮助配置目标客户机。
在完成步骤S145、S150或S155后,过程进入到步骤S160。此时,待安装的操作系统的所有资源都在本地了。这时,在步骤S160中,调用BIOS安装脚本,开始安装所述操作系统。然后在步骤S165中结束对原始客户机的操作系统安装过程,随后安装的操作系统可以被运行。
除OS外,还可以采用NIM系统将应用程序、服务等从服务器远程安装到客户机上。
更具体地,在NIM运行环境中,需要接收服务器资源的目标客户机具有基础BIOS并且支持NIM。当客户机开机加电后,NIM的BIOS加电自检后,BIOS根据主引导记录(MBR,Main Boot Record)中配置的参数找到能提供要安装的操作系统OS(例如AIX)资源的NIM服务器地址;然后将该原始客户机引导连接到所述NIM服务器;在与NIM服务器建立通信后,完成客户机的认证、鉴权;通过手动或自动的方式向该指定的NIM服务器发出请求,以请求获得关于要安装的OS的安装映像“OS Images”文件。其中,该安装映像文件可以以压缩的形式也可以以不压缩的形式保存在NIM服务器中。通过从服务器读取OS安装映像文件,将OS安装映像文件整个从NIM服务器拷贝并存储到目标客户机(原始客户机)上,从而完成OS安装映像文件远程安装到客户机上。当OS安装映像文件在目标客户机上远程安装完毕后,客户机需要重新引导并安装软件,才能真正运行软件。虽然与手动方式实现计算机的OS安装相比,这个过程是自动的,但终端用户仍然需要等待计算机的OS和应用程序等安装完毕后方可使用计算机。
另一方面,从以上描述的NIM安装过程可见,这种通过网络安装管理技术来实现客户机的操作系统和/或应用程序的软件安装过程仍然存在延迟的问题。如前所述,在NIM安装过程中,安装是需要时间的,从NIM引导→安装映像复制→重新引导→系统就绪,往往需要大约30分钟或更长的时间。特别是在将操作系统安装映像文件复制到目标客户机的过程中,需要将整个操作系统安装映像文件全部按顺序复制到目标客户机后才能进行系统引导的其他操作,这是造成延迟的一个原因。
因为延迟的发生,使得NIM对于一些需要快速部署解决方案的支持不好。例如,银行等商业应用中灾难恢复与备份系统,对快速的系统安装配置的时间要求很高,希望系统能够尽快的安装配置并启用。消耗长时间的安装配置过程对于这类需求而言,会带来商业上的损失。
因此,希望提供一种能够减少或消除软件安装延迟从而能通过NIM技术快速进行客户机软件安装的方法、系统和相应的客户机。
发明内容
考虑到现有技术中存在的上述问题,提供了本发明的方法、系统和相应的客户机。
本发明的一个目的是提供一种能够减少或消除软件安装延迟从而能通过NIM技术快速进行客户机软件安装的方法、系统和相应的客户机,并且是适用于灾难恢复和备份服务器准备的良好解决方案。
本发明的另一个目的是在目标客户机上只有轻量级的工作负载。这主要体现在以下方面:客户机能够在开机后立即运行,NIM过程不影响上层操作系统和应用的运行,I/O受到良好调度从而在软件的安装过程中就能开始运行所述软件。
本发明的又一个目的是提供一种使得客户机能够平稳运行、且在安装了操作系统等之后无需重新引导客户机的NIM系统、方法和相应的客户机。
根据本发明,提供了一种在网络安装管理NIM环境中为客户机安装软件的方法,所述NIM环境包括为客户机安装和维护软件提供所需资源的NIM服务器和至少一个所述客户机,所述方法包括:
初始化所述客户机,其中包括产生一个与客户机的存储器驱动器相关联的虚拟映射设备;
在客户机上运行所述软件;
在运行所述软件的同时,执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及
在将安装软件所需要的全部数据都迁移到客户机的存储器驱动器后,完成所述软件的安装。
根据本发明的另一个方面,提供了一种客户机。该客户机能在网络安装管理NIM环境中通过NIM服务器进行软件安装,所述NIM服务器为客户机安装和维护软件提供所需资源,所述客户机包括:
初始化及软件运行模块,用于初始化所述客户机并在客户机上运行所述软件,并且用于产生一个与客户机的存储器驱动器相关联的虚拟映射设备;
通信模块,用于在所述客户机与所述NIM服务器之间建立通信;
存储器驱动器,用于保存运行软件所需资源;
数据迁移模块,用于执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及
在数据迁移模块将安装软件所需要的全部数据都迁移到所述存储器驱动器后,所述软件安装完成。
根据本发明的再一个方面,还提供了在网络安装管理NIM环境中为客户机安装软件的系统,包括:一个或多个客户机以及为所述客户机安装和维护软件提供所需资源的NIM服务器,其中,
所述客户机包括:
初始化及软件运行模块,用于初始化所述客户机并在客户机上运行所述软件,并且用于产生一个与客户机的存储器驱动器相关联的虚拟映射设备;
通信模块,用于在所述客户机与所述NIM服务器之间建立通信;
存储器驱动器,用于保存运行软件所需资源;
数据迁移模块,用于执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及
在数据迁移模块将安装软件所需要的全部数据都迁移到所述存储器驱动器后,所述软件安装完成;以及
所述NIM服务器包括:NIM服务器通信装置、NIM操作控制装置、映像读取装置以及映像数据库,其中:
NIM服务器通信装置,用于与所述客户机建立通信并将客户机从NIM服务器读取运行软件所需资源的请求转发给NIM操作控制装置;
NIM操作控制装置,用于根据客户机的请求,控制映像读取装置来从映像数据库中读取所需资源的安装映像。
根据本发明,能够减少或消除客户机软件安装延迟,并且客户机能够在开机后立即运行,NIM过程不影响上层操作系统和应用的运行,I/O受到良好调度从而在软件的安装过程中就能开始运行所述软件。
附图说明
以下阐述本发明的新颖的特征。然而,当通过结合附图阅读参考下述对说明性实施例的详细描述时,将更好地理解本发明本身、优选使用模式、其它目标及其优点。在附图中:
图1示出了现有技术中一个典型的NIM安装过程;
图2是根据本发明原理在NIM环境中为客户机安装软件的方法200的示意性流程图;
图3是根据本发明的客户机初始化过程的流程图;
图4是根据本发明设置的关于客户机的存储器驱动器存储空间的映射表的示例性图表;
图5是根据本发明图2所示方法中确定运行软件所需资源的位置的方法500的流程图;
图6是根据本发明图5所示方法中判断运行软件的I/O操作状态的过程600的流程图;
图7是根据本发明图2所示方法中数据迁移过程700的示意流程图;
图8是根据本发明原理适于在NIM环境中安装软件的客户机800的结构示意图;
图9是图8中所示的资源获取模块803的具体结构示意图;
图10是图8中所示的数据迁移模块809的具体结构示意图;
图11是根据本发明原理在NIM环境中为客户机安装软件的系统1100的示意结构图;以及
图12示出了根据本发明的一个具体实施例在NIM环境中为客户机安装软件的系统1200的示意图。
具体实施方式
以下将参照附图对本发明的优选实施方式进行说明。
根据本发明,为了能够减少或消除现有技术中在对客户机进行软件安装时的延迟,本发明基于网络安装管理NIM技术,在客户机进行初始化过程时,即可运行待安装的软件。在初始化客户机的过程中,包括产生一个与客户机的存储器驱动器相关联的虚拟映射设备,所产生的虚拟映射设备用于针对软件运行的I/O操作,在客户机的存储器驱动器和远程NIM服务器之间进行调度,以将所述软件运行的I/O操作指向客户机的存储器驱动器或远程NIM服务器。在运行所述软件的过程中,获取运行所述软件所需的资源。具体地,一方面,判断运行所述软件所需资源的位置。其中,如果运行所述软件的资源在所述客户机中,则从客户机获取所需资源,否则从所述NIM服务器获取所需资源。这可通过截获运行所述软件的I/O操作并对I/O操作请求进行判断来实现。当I/O操作请求针对的是对客户机本地(客户机的存储器驱动器)的操作时,就调用本地资源来运行所述软件,而当I/O操作请求所需要的资源不在本地时,就从为软件安装和维护提供资源的NIM服务器获取所需资源,然后继续运行所述软件。所需资源例如可以是用于软件安装的文件和程序。另一方面,在客户机运行软件的过程中,还执行从NIM服务器到客户机的数据迁移操作,即对安装软件所需的但需要从NIM服务器获取的资源进行迁移。根据本发明,在运行软件的同时,安装所述软件,还对安装软件所需资源数据进行迁移。这样,不必象现有技术那样,需要先从NIM服务器获取软件安装的资源(例如用于软件安装的文件和程序的安装映像文件),然后将所述安装映像复制到本地,然后进行重新引导,当系统就绪后才能完成所述软件的安装这样一个有很大延迟的过程。根据本发明的系统,可以在客户机上减少或消除软件安装延迟。
在图2中,示出了根据本发明原理在NIM环境中为客户机安装软件的方法的示意流程图。根据本发明,所述客户机是基于网络安装管理NIM技术实现软件安装的客户机。该过程从步骤S201开始,然后进入到步骤S203。在步骤S203中,开始客户机的初始化操作。应该知道,所述初始化操作例如可以包括操作系统的BIOS引导过程或针对应用程序的初始化加载过程。以下将会结合附图3对根据本发明的客户机初始化操作过程进行详细描述。
图3是根据本发明的一种实施方式实现的图2所示方法中的客户机初始化过程的流程图。在客户机开始初始化操作(步骤S301)后,过程进入到步骤S303。在步骤S303中,在执行系统引导操作时首先加载一个NIM代理程序。该NIM代理程序在随后运行待安装软件的过程中,用于产生一个与客户机本地存储器驱动器(例如,硬盘)相关联的虚拟映射设备并创建一个关于本地存储器驱动器的存储空间映射表、用于截获运行所述软件而产生的I/O操作、用于根据所截获的I/O操作,在本地获取或从远程NIM服务器获取运行所述软件所需要的资源,以及用于在客户机运行过程中,执行将NIM服务器中的安装映像迁移到客户机本地的存储器驱动器的数据迁移操作。其中,加载该NIM代理程序的操作为本领域技术人员所熟知,例如可以在BIOS中写入该NIM代理程序,或者例如在内存中保存所述NIM代理程序而在BIOS开始引导过程中再进行调用而实现NIM代理程序的加载。其中,所产生的虚拟映射设备用于针对软件运行的I/O操作,在客户机的存储器驱动器和远程NIM服务器之间进行调度,以将所述软件运行的I/O操作指向客户机的存储器驱动器或远程NIM服务器。
在加载所述NIM代理程序后,初始化过程进入到步骤S305。在该步骤中,运行该NIM代理程序以产生一个与客户机本地存储器驱动器相关联的虚拟映射设备。由此,屏蔽了客户机的原始存储器驱动器,运行软件所产生的I/O操作被引导到所述虚拟映射设备中。并且,客户机能够在开机后立即运行,NIM过程不影响上层操作系统和应用的运行,I/O受到良好调度从而在软件的安装过程中就能开始运行所述软件。
然后,初始化过程进入到步骤S307,在客户机和NIM服务器之间建立通信。在客户机与NIM服务器之间建立通信的操作为本领域技术人员所熟知的技术,在此不做详细描述。
在客户机与NIM服务器之间建立起通信以后,初始化过程进入到步骤S309。在步骤S309中,基于待安装软件在NIM服务器上的安装映像文件,创建一个关于客户机的存储器驱动器的地址空间映射表。所述映射表用于记录运行待安装的软件所需资源在NIM服务器中的物理位置或在客户机的存储器驱动器中的物理位置,并且用于标记待安装的软件在客户机的存储器驱动器中的存储情况。该映射表表示了客户机的完整的卷的状况,并且在其中记录运行待安装的软件所需资源在NIM服务器中的物理位置或在客户机本地的存储器驱动器中的物理位置。其中,在映射表中标记所需资源的物理位置包括标记运行所述软件所需资源中有哪些是已经在客户机本地的,哪些是尚未写入到客户机本地的而需要从远程NIM服务器获取的。在本实施例中,映射表的大小按照NIM服务器上的待安装软件的安装映像文件的大小进行设置。
或者,根据本发明的另一种实施方式,在客户机和NIM服务器之间建立通信之前,先按照客户机本地的存储器驱动器初始创建一个地址空间映射表,然后,在客户机和NIM服务器之间建立通信之后,基于待安装软件在NIM服务器上的安装映像,修改所述映射表。
另外,还应该知道,在以上两种初始化实施方式中,步骤S303,即运行NIM代理程序以产生一个与客户机本地存储器驱动器相关联的虚拟映射设备的步骤也可以在创建映射表的操作以后,或者与创建映射表的操作同时被执行。
在创建映射表以后,初始化过程进入到步骤S311,运行待安装软件,然后过程进入到图2中的步骤S205。
图4是根据本发明设置的关于客户机的存储器驱动器的映射表的示例性图表。其中,按照待安装软件的大小(例如通过NIM服务器上相应软件的安装映像),将对应于客户机本地的一个相应存储空间分成多个块,每个块分别包括:该块所对应的资源的地址以及表示地址所在位置的标记。例如对于地址0001A....,该地址上的资源可从客户机本地存储器驱动器中获取,其被标记为“本地”;而地址0008I.....,该地址上的资源不在本地而需要从NIM服务器上获取,则其被标记为“不在本地”。本领域技术人员可以理解,映射表中的地址实际上对应于所要安装的软件的代码地址,而且,应该知道,该代码地址在客户机本地中的存储器驱动器中记录的位置与其在NIM服务器的安装映像文件中所记录的位置相对应。由此,保证了映射表中的每一块的地址都同时代表了客户机本地的存储器驱动器中的地址和NIM服务器中的同一地址。该地址空间映射表例如可以按照块的方式进行设置,并且在随后对数据的操作也采用块操作方式。块的大小例如可以是64K,128K,256K等等。应该知道,还可以采用其它标记方法来对映射表进行标记,本发明不限于示例出的具体标记方式。
继续参见附图2,在对客户机启动初始化操作后,过程进入到步骤S205,在客户机上开始运行待安装的软件。本领域技术人员应该知道,在进行诸如操作系统或应用程序的软件安装时,事实上在客户机的本地存储器驱动器(例如硬盘)中就已经存在一部分运行软件所需的代码或资源。例如,现有技术中通过网络实现操作系统的软件安装的过程一般是:在完成初始化操作、BIOS引导后,根据待安装的操作系统在BIOS中的引导程序,通过网络与NIM服务器建立通信,然后从NIM服务器获取所述待安装的操作系统的安装映像文件,并且将全部安装映像文件都保存在本地客户机上。在完成操作系统软件安装之后,才能运行所述软件。本领域技术人员还应该知道,现有技术中,从NIM服务器获取操作系统安装映像不考虑本地客户机上已经具有的资源,并且在运行软件的过程中,一般是按顺序依次读取在本地存储器驱动器保存的资源来运行所述软件的。
与现有技术不同,本发明采用了在开始初始化操作以后,在没有安装软件的情况下,基于客户机已经具备的资源,开始运行待安装的软件。由于在初始化操作中,产生了一个虚拟映射设备,因此,运行软件的任何I/O操作都被指向到该虚拟映射设备而不会对客户机原有的存储器驱动器有任何影响。在运行软件的过程中,优选地,对于客户机本地存储器驱动器中没有的资源,才从NIM服务器获取所需资源的安装映像。
在客户机上运行待安装的软件后,过程进行到步骤S206。在步骤S206中,由NIM代理程序判断资源请求状态。资源请求状态可分为待安装软件运行所需资源请求和数据迁移资源请求两类。对于待安装软件运行所需资源请求,系统将执行步骤S207;对于数据迁移资源请求,系统将执行步骤S217。
在步骤S207中,对运行软件所需要的资源存储位置进行判断。以下将参考附图5,详细说明对所需资源的存储位置进行判断的过程。
在图5是根据本发明图2所示方法中判断运行软件所需资源的位置的流程图。在步骤S501中,启动判断运行软件所需资源的位置的操作。然后过程进入到步骤S503。在步骤S503中,截获运行软件对客户机的存储器驱动器的I/O操作,然后在步骤S505中确定所截获的I/O操作的状态。本领域技术人员可以理解,当运行一个软件时,软件需要不断对本地的存储器驱动器执行输入/输出操作,该输入/输出操作体现为针对存储器驱动器的读或写操作。在本发明中,由于采用边运行边安装的操作方式,因此在运行软件过程中,首先对于客户机运行所述软件的每一次I/O操作进行截获,如步骤S503所示。然后,在确定了I/O操作的状态后,过程进入到步骤S507,根据所确定的I/O操作状态,查找事先设置的关于客户机的存储器驱动器的映射表。如上所述,该映射表以块地址的方式记录了运行待安装的软件所需资源在NIM服务器中的物理位置或在客户机的存储器驱动器中的物理位置,并且还标记了待安装的软件在客户机的存储驱动器中的存储情况。按照映射表中地址及其中的标记,在步骤S509中,确定I/O操作所需资源的位置。以及,在步骤S511中,根据步骤S509中所确定的资源位置,从客户机本地或从NIM服务器获取所需资源。然后过程返回到图2中的步骤S209或步骤S211。
具体地,图5中确定I/O操作状态的过程参见附图6。图6是根据本发明图5所示方法中判断运行软件的I/O操作状态的过程的流程图。判断I/O操作状态的过程从步骤S601启动。然后进入判断I/O操作状态的判断步骤S603。
当在步骤S603中,判断I/O操作是一个写请求操作时,如步骤S605所示。那么过程就进入到步骤S607,直接把运行软件所需的数据写入到客户机本地存储器驱动器的相应地址上,并且在映射表中进行标记,以表明该物理地址的数据已经存在于客户机本地。
另一方面,当在步骤S603中,判断I/O操作是一个读请求操作的时候,如步骤S609所示。过程进入到步骤S610,开始查找映射表,以确定要读取的数据在客户机存储器驱动器中的存储状态。然后过程进入到步骤S611。在步骤S611中,根据映射表的查找结果,判断要读取的数据是否是本地存储器驱动器上已更新的数据。如果“是”(即,该数据已被写操作更新的数据),则过程进入到步骤S613,从客户机本地的存储驱动器读取所需要的数据;然后在步骤S617中,执行该读操作。在这种情况下,由于所读取的数据已经是客户机本地存储器驱动器中所具有的,因此不需要对映射表进行标记。当判断要读取的数据不在客户机本地而需要从远程NIM服务器读取时,过程进入到步骤S615。在步骤S615中,从NIM服务器读取相应的安装映像。随后,在步骤S617中,执行该读操作,同时,在映射表中进行相应标记。以及根据映射表,当判断出要读取的数据已经存在于客户机本地存储器驱动器中(例如通过迁移操作被复制到本地),并且所述数据与NIM服务器相应地址上的数据相同时,根据本发明的一种实施方式,可以直接从本地读取所需数据;或者根据本发明的另一种实施方式,也可以从NIM服务器读取所需数据。另一方面,在从NIM服务器读取所需数据时,根据本发明的一种实施方式,在执行读操作的同时将所读取的数据写入到客户机的存储器驱动器中,并在映射表中进行标记,以表明该地址的数据已经存在于客户机本地。根据本发明的另一种实施方式,执行读操作的时候,不同时将所读取的数据写入到客户机的存储器驱动器中,而是通过数据迁移操作,将从NIM服务器读取的所述数据迁移到客户机的存储器驱动器中。
继续参见附图2,在从本地或从NIM服务器获取运行软件的所需资源后,过程进入到步骤S213。在步骤S213中,根据所获取的资源,继续运行软件,系统返回步骤S205。
对于数据迁移资源请求,系统将执行步骤S217的数据迁移过程。根据本发明的数据迁移过程如图7所示。数据迁移过程在步骤S701开始,然后,过程进入到步骤S703,激活数据迁移操作。优选地,数据迁移操作可通过运行一个数据迁移程序来进行,该程序例如可以在客户机开始BIOS引导的过程中被加载。另外,本领域技术人员应该理解,该数据迁移程序可以与NIM代理程序结合在一起,或者为一个单独的程序。
在激活数据迁移程序以后,过程进入到步骤S705,开始从NIM服务器进行安装映像数据的迁移操作过程。在迁移操作中,当启动NIM服务时,远程NIM服务器中的映像数据库中的安装映像数据可以被不断地迁移到客户机的本地存储器驱动器中,这个过程类似于传统的NIM服务。所不同的是,本发明使用映射表来记录整个迁移过程,以协调什么时间以及怎样在本地和远程存储器之间进行复制以及复制了哪些内容。根据本发明的一种实施方式,数据迁移操作是客户机在运行过程中进行的操作。基于映射表中所做的标记(数据是否在本地的标记),数据迁移操作按照映射表中标记为“数据不在本地”的地址位置,从远程NIM服务器中将相应地址位置上的安装映像数据迁移到本地存储器驱动器中。在本发明的一种实施方式中,数据迁移操作是按照块操作的方式进行的。应该理解,在执行数据迁移操作时所使用的映射表可以是运行软件时所使用的映射表,也可以是一个具有与运行软件时所使用的映射表相同但是单独的映射表。在后一种情况下,两个映射表之间具有关联关系,以同步标记客户机本地存储器驱动器的存储情况。
当完成一部分数据的迁移后,过程进入到步骤S707,判断是否完成全部NIM安装映像数据的迁移。当在步骤S707中的判断结果是NIM服务器上的安装映像数据还没有全部迁移到客户机本地的存储器驱动器中时,过程进入到步骤S711以继续执行安装映像数据从NIM服务器到客户机本地的存储器驱动器的数据迁移操作,过程返回到步骤S705。另一方面,当在步骤S707中判断的结果是NIM服务器上的全部安装映像数据都已经迁移到客户机本地的存储器驱动器中时,结束数据迁移过程。数据迁移结束表明进行软件安装的所有数据都已经存在于本地驱动器中,此时映射表中所有位置都已经标记为“本地”。此时,过程进入到步骤S709,将释放I/O截获操作、释放映射表、停止NIM服务,以及释放虚拟映射设备。此后,数据访问都在本地存储器驱动器中进行。在NIM服务结束后,服务器使用正常的客户机存储I/O来运行。
根据本发明,数据迁移操作是在客户机运行过程中,将NIM服务器上的安装映像数据迁移(复制)到客户机本地的存储器驱动器中的操作。其中,所要迁移的安装映像数据是客户机上待安装的软件的安装映像数据。所迁移的数据例如可以包括:在运行软件时,从NIM服务器读取但未写入到客户机本地的数据、运行软件所需将要从NIM服务器中读取的数据、以及安装所述软件所需要的其他数据。当然,如果在运行软件时,在从NIM服务器读取数据的同时将所读取的数据写入到客户机本地的情况下,所迁移的数据就只包括了运行软件所需将要从NIM服务器中读取的数据、以及安装所述软件所需要的其他数据。
当数据迁移结束后,步骤最终前进到图2中的步骤S219,完成软件安装。
根据本发明,数据迁移操作和在运行软件时执行的I/O操作可以同时进行,也可以顺序执行,并且不限于特定的执行顺序。
以上根据图2-7详细描述了根据本发明原理在NIM环境中为客户机安装软件的方法。以下基于本发明原理在NIM环境中为客户机安装软件的方法并结合附图8-11,描述根据本发明原理设计的客户机以及能在NIM环境中为客户机安装软件的系统。
图8是根据本发明原理适于在NIM环境中安装软件的客户机800。根据本发明设计的客户机是具备基本NIM功能的客户机,能在网络安装管理NIM环境中通过NIM服务器进行软件安装。图中所示客户机800包括:初始化及软件运行模块801、资源获取模块803、通信模块805、存储器驱动器807以及数据迁移模块809。
其中,初始化及软件运行模块801,用于初始化所述客户机并在客户机上运行所述软件,并且用于产生一个与客户机的存储器驱动器相关联的虚拟映射设备,所产生的虚拟映射设备用于针对软件运行的I/O操作,在客户机的存储器驱动器和远程NIM服务器之间进行调度,以将所述软件运行的I/O操作指向客户机的存储器驱动器或远程NIM服务器;通信模块805,用于在所述客户机与所述NIM服务器之间建立通信;存储器驱动器807,用于保存运行软件所需资源;资源获取模块803,用于获取运行所述软件所需的资源;数据迁移模块809,用于执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及在数据迁移模块将安装软件所需要的全部数据都迁移到所述存储器驱动器后,所述软件安装完成。
当在客户机开机、加电后,开始执行初始化操作。根据本发明,在进行初始化操作时,所述初始化及软件运行模块801在没有安装软件的情况下,基于客户机已经具备的资源,开始运行待安装的软件。并且所述初始化及软件运行模块801被配置用于:在执行系统引导操作时加载所述资源获取模块803和所述数据迁移模块809;指示所述资源获取模块803将所述存储器驱动器807与一个虚拟映射设备(以下进行描述)相关联,由此将运行软件所产生的I/O操作引导到所述虚拟映射设备中;指示所述通信装置805在所述客户机与NIM服务器之间建立通信;以及指示所述资源获取模块803创建关于所述存储器驱动器807的地址空间映射表。
图9是图8中所示的资源获取模块803的具体结构示意图。图9中示出的资源获取模块包括:I/O操作截获单元、I/O操作状态判断单元903、NIM代理操作单元905、虚拟映射设备907以及映射单元909。
其中,根据一种实施方式,所述映射单元909在客户机与NIM服务器之间建立通信后,基于待安装的软件在NIM服务器的安装映像,设置一个关于客户机的存储器驱动器的地址空间的映射表。根据另一种实施方式,所述映射单元909也可以按照存储器驱动器预先设置所述映射表;然后在客户机与NIM服务器之间建立通信后,基于待安装软件在NIM服务器上的安装映像,修改所述映射表。根据本发明,所述映射表用于记录运行待安装的软件所需资源在NIM服务器中的物理位置或在客户机的存储器驱动器中的物理位置,并且用于标记待安装的软件在客户机的存储驱动器中的存储情况。优选地,可以以块的方式设置所述映射表。
当客户机开始运行所述软件后,所述资源获取模块基于关于客户机存储器驱动器的地址空间映射表,判断运行所述软件所需资源的位置。具体地,I/O操作截获单元901截获运行软件对存储器驱动器的I/O操作;并且将截获的I/O操作传送给I/O操作状态判断单元903。所述I/O操作判断单元903对所截获的I/O操作进行判断以确定所截获的I/O操作的状态。另外,所述虚拟映射设备907用于针对软件运行的I/O操作,在客户机的本地存储器驱动器和远程NIM服务器之间进行调度,以将所述软件运行的I/O操作指向本地存储器驱动器或远程NIM服务器。NIM代理操作单元,用于根据所确定的I/O操作状态,查找映射单元909设置的映射表;以及按照映射表中地址及其中的标记,确定I/O操作所需资源的位置。
NIM代理操作单元905根据I/O操作状态判断单元903的判断结果,分别执行如下的操作:
1)当所述I/O操作状态判断单元903判断I/O操作是一个写请求操作时,所述NIM代理操作单元905直接把运行软件所需的数据写入到所述存储器驱动器的相应地址上,并且通知映射单元909对映射表进行标记,以表明该物理地址的数据已经存在于客户机本地;
2)当所述I/O操作状态判断单元903判断I/O操作是一个读请求操作时,所述NIM代理操作单元905通过映射单元909查找映射表,确定要读取的数据在存储器驱动器807中的存储状态;以及当要读取的数据是在所述存储器驱动器807中已更新的数据,则从存储器驱动器807获取所述数据;当要读取的数据不在存储器驱动器807而需要从远程NIM服务器读取时,则通过通信模块805从NIM服务器读取相应的安装映像,同时,通知映射单元909对映射表进行相应标记。以及根据映射表,当判断出要读取的数据已经存在于客户机本地存储器驱动器中(例如通过迁移操作被复制到本地),并且所述数据与NIM服务器相应地址上的数据相同时,根据本发明的一种实施方式,可以直接从本地读取所需数据;或者根据本发明的另一种实施方式,也可以从NIM服务器读取所需数据。
图10是图8中所示的数据迁移模块809的具体结构示意图。所述数据迁移模块包括:数据迁移状态判断单元1001、数据迁移执行单元1003、映射表改写单元1005。
其中,所述数据迁移状态判断单元1001,用于判断是否完成为安装所述软件而需要从NIM服务器获取的资源数据的迁移以确定是否结束数据迁移操作。当数据迁移状态判断单元1001确定没有完成数据迁移操作时,所述数据迁移执行单元1003执行从NIM服务器到客户机的数据迁移操作并将所迁移的数据保存在存储器驱动器807中,以及,当数据迁移状态判断单元1001判断完成数据迁移操作时,则所述数据迁移执行单元1003停止数据迁移操作。
另一方面,基于数据迁移执行单元1003所执行的数据迁移操作,映射表改写单元1005在映射表中将从NIM服务器读取的数据的地址标记为本地,直到将NIM服务器中所述软件安装所需资源数据完全迁移到存储器驱动器中为止。当NIM服务器中所述软件安装映像完全迁移到存储器驱动器时,数据迁移结束并且软件安装完成,此时所述数据迁移模块809释放I/O操作截获单元、释放映射单元、释放虚拟映射设备以及停止NIM服务。
图11是根据本发明原理在NIM环境中为客户机安装软件的系统1100的示意结构图。
图11中示出的系统,包括一个或多个客户机1101A、1101B、......1101N,为所述客户机安装和维护软件提供所需资源的NIM服务器1105,以及网络1103。
其中,客户机1101A、1101B、......1101N具有如以上参考附图8-10描述的结构,在此不做详细描述。
根据本发明的NIM服务器1105进一步包括:NIM服务器通信装置11051、NIM操作控制装置11053、映像读取装置11057以及映像数据库11059。
其中:NIM服务器通信装置11051,用于与所述客户机建立通信并将客户机从NIM服务器读取运行软件所需资源的请求转发给NIM操作控制装置11053。NIM操作控制装置11053,用于根据客户机的请求,控制映像读取装置11057来从映像数据库11059中读取所需资源的安装映像。
以下参考图12并结合一个具体的实施方式,描述实现本发明原理的为客户机安装软件的系统。
图12示出了根据本发明在网络安装管理NIM环境中为客户机安装软件的系统1200的示意图。根据本发明的系统,可以在客户机上消除软件安装延迟或实现“零延迟”安装软件的效果。
参见附图12,系统1200包括可通过网络进行通信的客户机1210和服务器1260。其中,在所示出的系统1200中,可以包括一个或多个客户机1210,并且所述客户机1210基于网络安装管理NIM技术可以实现软件的安装。根据本发明设计的客户机1210优选地进一步包括一个NIM代理1220。该NIM代理1220例如可以是预先设置在内存中或可以是预先设置在BIOS中的一个应用程序。当目标客户机,例如客户机1210加电开始BIOS引导时,该NIM代理1220首先被加载,并且被BIOS读取(以下详细描述该过程)。根据本发明的一种实施方式,该NIM代理1220优选地包括:存储器I/O截获模块1221、NIM代理操作模块1222、存储器操作模块1228、NIM代理网络接口1224。此外,本发明中的客户机1210还包括:客户机地址空间映射组件1226和客户机存储驱动器/虚拟映射设备1211。在本发明的一个实施例中,与上述实施方式中客户机地址空间映射组件1226是一个单独部件的形式不同,所述客户机地址空间映射组件1226还可以位于客户机存储驱动器/虚拟映射设备1211中。在本发明的另一种实施方式中,也可以在NIM代理1220中包括客户机存储驱动器/虚拟映射设备1211。在图12的系统中,服务器1260是一个基于NIM技术来提供操作系统资源或应用程序资源的NIM服务器,该NIM服务器包括服务器网络接口1271、NIM操作管理器1272、服务器映像读取器1273以及映像数据库1274。其中,服务器网络接口1271和代理网络接口1224适配,用于在客户机和服务器之间建立通信时进行信令交互。NIM操作管理器1272,用于对来自客户机的NIM操作请求进行管理。服务器映像读取器1273,用于根据NIM操作管理器1272的指令,执行读取安装映像文件的操作。映像数据库1274,用于保存一个或多个软件的安装映像文件。例如,将从客户机接收的读请求进行解析并指令服务器映像读取器1273读取映像数据库中的相应安装映像文件;以及指令服务器映像读取器1273将读取的安装映像文件通过服务器网络接口1271复制到客户机本地。
以下详细说明根据本发明设计的NIM代理1220的各组成部分。在所述NIM代理1220中,存储器I/O截获模块1221、NIM代理操作模块、存储器操作模块1223以及客户机网络接口1224可以是预先存储在内存中或预先存储在BIOS中的、用于执行相应功能的单独的应用程序或模块。当目标客户机加电开始BIOS引导时,首先加载所述存储器I/O截获模块1221、NIM代理操作模块、存储器操作模块1223以及客户机网络接口1224。
存储器I/O截获模块1221是一个模拟存储模块,用于在客户机引导过程中截获目标客户机安装软件的任何I/O操作,并将所截获的系统I/O操作传递给NIM代理操作模块1222。在本发明的一种实施方式中,当目标客户机开始BIOS引导后,所述存储器I/O截获模块1221被加载;当目标客户机开始与NIM服务器通信后,该存储器I/O截获模块1221充当一个虚拟映射设备,并且每次当目标客户机发出一个I/O操作请求,该存储器I/O截获模块1221就将所述I/O操作请求截获下来并存储在其中,同时还将所截获的I/O操作请求传递给NIM代理操作模块1222。
NIM代理操作模块1222根据软件安装的状态,运行所截获的I/O操作,并将所截获的I/O操作请求映射到本地客户机存储驱动器/虚拟映射设备或映射到NIM服务器(以下详细描述该过程)。在本发明的一种实施方式中,所述NIM代理操作模块1222用于判断从所述存储器I/O截获模块1221接收的I/O操作所涉及的数据是存储在本地还是存储在远程NIM服务器上。这个操作是通过所述NIM代理操作模块1222查询映射组件1226来完成的。
映射组件1226是一个关于目标客户机地址空间的映射表。所述映射表用于标记待安装的软件数据在客户机存储器驱动器中的存储情况。映射组件(映射表)1226表示了客户机的完整的卷的状况,并且在其中记录待安装的软件数据在NIM服务器中的物理位置或在本地存储器中的物理位置。映射组件1226还标记了待安装操作系统的所需数据中有哪些是已经在客户机1210本地的,哪些是尚未写入到客户机1210本地的(即,仍然位于远程NIM服务器上)。根据本发明的一种实施方式,该地址空间映射列表的大小在目标客户机开始引导时被初始设置为客户机硬盘大小的空间,或者也可以在进行系统初始化的过程中,依据目标客户机上要安装的操作系统的空间的大小,设定该地址空间映射表的大小。另一方面,该地址空间映射表例如可以按照块的方式进行设置,并且在随后对数据的操作也采用块操作方式。块的大小例如可以是64K,128K,256K等等。举例来说,在该地址空间映射列表中,当进行BIOS引导,开始系统初始化的操作后,在客户机的硬盘上的某些地址上,就已经写入了一些关于要安装的操作系统的数据。对这些已经在目标客户机地址空间中写入数据的地址,就在地址空间映射表中对其进行标记,而对于未标记的地址,则默认该地址上要存储的数据是存储在NIM服务器上的。NIM服务器1260中的服务器映像读取器1273可以按照映射表中的地址,以块的方式读取相应安装映像文件中所述地址位置上的数据。
一方面,当NIM代理操作模块1222通过查询映射组件1226确定所述I/O操作涉及的数据在客户机本地时,就通知存储器操作模块1223通过查询客户机的存储驱动器/虚拟映射设备1211来获得相应数据。另一方面,当NIM代理操作模块1222通过查询映射组件1226确定所述I/O操作涉及的数据不在客户机本地(即,需要访问NIM服务器来获取相应数据)时,所述NIM代理操作模块1222通过代理网络接口1224访问NIM服务器1260。
所述NIM服务器1260通过服务器网络接口1271与代理网络接口1224通信,以接收来自NIM代理1210的I/O请求,例如关于待安装操作系统的数据的读请求。响应所述I/O请求,所述NIM操作管理器1272负责与NIM代理1220的协议,并控制服务器映像读取器1273读取映像数据库1274中的所需安装映像文件,并将安装映像文件从NIM服务器1260复制到客户机,同时将映射表中相应地址位置标记为“本地”。
根据本发明的一个实施方式,所述NIM代理1220中还可以包括一个数据迁移模块(未示出)。也可以在开始系统引导的过程中加载该数据迁移模块,并且当在客户机1210中安装软件的I/O操作不是读操作也不是写操作时,数据迁移模块就被激活以将数据从安装映像文件迁移到本地存储驱动器,在映射表中将所迁移的数据标记为本地;以及在迁移结束后,释放存储器I/O截获模块、释放映射表以及停止NIM服务。
通过以上对本发明的通过网络为客户机安装软件的系统和方法的描述,可以知道,本发明在客户机加电而开始BIOS引导的初始化的过程中,首先加载一个NIM代理。在客户机与NIM服务器建立通信后,设置一个客户机地址空间映射表。根据该地址空间映射表,针对客户机的每个I/O操作请求,运行NIM代理,将需要从NIM服务器获取的安装映像数据按照块操作的方式进行实时调用并复制到本地,并且同时还进行安装软件的读/写操作。而不是象现有NIM技术中那样经历NIM引导→安装映像复制→重新引导→系统就绪的过程,只有在将服务器上的整个操作系统的安装映像文件完全复制到本地后,才能进行系统或应用程序的安装操作。这样,本发明就实现了软件的“零延迟”安装。
另外,根据本发明的一种实施方式,对于一台按照本发明进行了软件安装的客户机,在数据迁移过程完成后,创建一个所安装的软件的恢复文件(备份文件)。优选地,该恢复文件包含该客户机所安装的操作系统和应用程序的所有软件的安装映像文件。这样当该客户机发生故障而需要灾难恢复的时候,在客户机加电开始BIOS引导时,可以直接调用该恢复文件,以快速对损害的软件进行恢复。
以上参照附图对本发明的通过网络为客户机安装软件的系统和方法进行了示例性的描述,应当理解,给出这种示意只是为了便于本领域技术人员理解本发明的原理,不应当将其理解为对本发明的任何限制。
本领域技术人员会认识到,可以以方法、系统或计算机程序产品的形式提供本发明的实施例。因此,本发明可采取全硬件实施例、全软件实施例,或者组合软件和硬件的实施例的形式。硬件和软件的典型的结合可以是带有计算机程序的通用计算机系统,当程序被加载并被执行时,控制计算机系统,从而可以执行上述的方法。
本发明可以嵌入在计算机程序产品中,它包括使此处描述的方法得以实施的所有特征。所述计算机程序产品被包含在一个或多个计算机可读存储介质(包括,但不限于,磁盘存储器、CD-ROM、光学存储器等)中,所述计算机可读存储介质具有包含于其中的计算机可读程序代码。
已参考根据本发明的方法、系统及计算机程序产品的流程图和/或方框图说明了本发明。流程图和/或方框图中的每个方框,以及流程图和/或方框图中的方框的组合显然可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、嵌入式处理器或者其他可编程的数据处理设备的处理器,以产生一台机器,从而指令(所述指令通过计算机或者其他可编程数据处理设备的处理器)产生用于实现在流程图和/或方框图的一个或多个方框中规定的功能的装置。
这些计算机程序指令也可保存在一个或多个计算机的读存储器中,每个这种存储器能够指挥计算机或者其他可编程数据处理设备按照特定的方式发挥作用,从而保存在计算机可读存储器中的指令产生一种制造产品,所述制造产品包括实现在流程图和/或方框图的一个或多个方框中规定的功能的指令装置。
计算机程序指令也可被加载到一个或多个计算机或者其他可编程数据处理设备上,使得在所述计算机或者其他可编程数据处理设备上执行一系列的操作步骤,从而在每个这样的设备上产生计算机实现的过程,以致在该设备上执行的指令提供用于实现在流程图和/或方框图的一个或多个方框中规定的步骤。
以上结合本发明的优选实施方式对本发明的原理进行了说明,但这些说明只是示例性的,不应理解为对本发明的任何限制。本领域技术人员可以对本发明进行各种改变和变形,而不会背离由随附权利要求所限定的本发明的精神和范围。

Claims (26)

1、一种在网络安装管理NIM环境中为客户机安装软件的方法,所述NIM环境包括为客户机安装和维护软件提供所需资源的NIM服务器和至少一个所述客户机,所述方法包括:
初始化所述客户机,其中包括产生一个与客户机的存储器驱动器相关联的虚拟映射设备;
在客户机上运行所述软件;
在运行所述软件的同时,执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及
在将安装软件所需要的全部数据都迁移到客户机的存储器驱动器后,完成所述软件的安装。
2、根据权利要求1所述的为客户机安装软件的方法,其中所产生的虚拟映射设备用于针对软件运行的I/O操作,在客户机的存储器驱动器和远程NIM服务器之间进行调度,以将所述软件运行的I/O操作指向客户机的存储器驱动器或远程NIM服务器。
3、根据权利要求2所述的为客户机安装软件的方法,所述初始化所述客户机的步骤还包括:
创建关于客户机的存储器驱动器的地址空间映射表;以及
在所述客户机与NIM服务器之间建立通信。
4、根据权利要求3所述的为客户机安装软件的方法,所述方法进一步包括:
按照客户机的存储器驱动器预先设置所述映射表;
在客户机与NIM服务器之间建立通信后,基于待安装的软件在NIM服务器的安装映像,设置所述映射表或修改所述映射表。
5、根据权利要求3或4所述的为客户机安装软件的方法,其中所述映射表用于记录运行待安装的软件所需资源在NIM服务器中的物理位置或在客户机的存储器驱动器中的物理位置,并且用于标记待安装的软件在客户机的存储驱动器中的存储情况。
6、根据权利要求3或4所述的为客户机安装软件的方法,其中以块的方式设置所述映射表。
7、根据权利要求1或2所述的为客户机安装软件的方法,所述在客户机上运行所述软件的步骤还包括:
在没有安装软件的情况下,基于客户机已经具备的资源,开始运行待安装的软件;以及
获取运行所述软件所需的资源。
8、根据权利要求7所述的为客户机安装软件的方法,其中,获取运行所述软件所需的资源的步骤进一步包括:
基于关于客户机的存储器驱动器的地址空间映射表,判断运行所述软件所需资源的位置的步骤。
9、根据权利要求8所述的为客户机安装软件的方法,其中,所述判断运行所述软件所需资源的位置的步骤进一步包括:
截获运行软件对客户机的存储器驱动器的I/O操作;
确定所截获的I/O操作的状态;
根据所确定的I/O操作状态,查找事先设置的关于客户机的存储器驱动器的映射表;以及
按照映射表中地址及其中的标记,确定I/O操作所需资源的位置。
10、根据权利要求9所述的为客户机安装软件的方法,其中确定所截获的I/O操作的状态的步骤进一步包括:
当I/O操作是一个写请求操作时,直接把运行软件所需的数据写入到客户机的存储器驱动器的相应地址上,并且在映射表中进行标记,以表明该物理地址的数据已经存在于客户机的存储器驱动器中。
11、根据权利要求9所述的为客户机安装软件的方法,其中确定所截获的I/O操作的状态的步骤进一步包括:
当I/O操作是一个读请求操作的时候,查找映射表,以确定要读取的数据在客户机的存储器驱动器中的存储状态;以及
当要读取的数据是在客户机的存储器驱动器中已更新的数据,则从客户机的存储器驱动器读取所述数据;
当要读取的数据不在客户机的存储器驱动器中而需要从远程NIM服务器读取时,则从NIM服务器读取相应的安装映像。
12、根据权利要求11所述的为客户机安装软件的方法,其中,
当要读取的数据已经存在于客户机的存储器驱动器中并且所述数据与NIM服务器相应地址上的映像数据相同时,则可以直接从客户机的存储器驱动器读取所述数据,也可以从NIM服务器上读取所述数据。
13、根据权利要求11所述的为客户机安装软件的方法,其中:
在从NIM服务器读取所需数据的同时,将所读取的数据写入到客户机的存储器驱动器中,并在映射表中进行标记以表明该地址的数据已经存在于客户机的存储器驱动器中。
14、根据权利要求1或2所述的为客户机安装软件的方法,所述数据迁移操作还包括:
在执行数据迁移操作时,在映射表中将所读取数据的地址标记为本地,直到将NIM服务器中所述软件安装所需数据完全迁移到客户机的存储器驱动器中为止。
15、一种客户机,能在网络安装管理NIM环境中通过NIM服务器进行软件安装,所述NIM服务器为客户机安装和维护软件提供所需资源,所述客户机包括:
初始化及软件运行模块,用于初始化所述客户机并在客户机上运行所述软件,并且用于产生一个与客户机的存储器驱动器相关联的虚拟映射设备;
通信模块,用于在所述客户机与所述NIM服务器之间建立通信;
存储器驱动器,用于保存运行软件所需资源;
数据迁移模块,用于在运行软件的同时,执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及
在数据迁移模块将安装软件所需要的全部数据都迁移到所述存储器驱动器后,所述软件安装完成。
16.根据权利要求15所述的客户机,其中,所产生的虚拟映射设备用于针对软件运行的I/O操作,在客户机的存储器驱动器和远程NIM服务器之间进行调度,以将所述软件运行的I/O操作指向客户机的存储器驱动器或远程NIM服务器。
17.根据权利要求15或16所述的客户机,其中,所述客户机还包括:
资源获取模块,用于获取运行所述软件所需要的资源;
并且所述初始化及软件运行模块还被配置用于:
在执行系统引导操作时加载所述资源获取模块和所述数据迁移模块;
指示所述资源获取模块创建关于所述存储器驱动器的地址空间映射表;
指示所述通信装置在所述客户机与NIM服务器之间建立通信;以及
在没有安装软件的情况下,基于客户机已经具备的资源,开始运行待安装的软件。
18、根据权利要求17所述的客户机,其中,所述资源获取模块还包括一个映射单元,所述映射单元被配置用于:
在客户机与NIM服务器之间建立通信后,基于待安装的软件在NIM服务器的安装映像,设置所述映射表;
或者,按照所述存储器驱动器预先设置所述映射表;以及在客户机与NIM服务器之间建立通信后,基于待安装软件在NIM服务器上的安装映像,修改所述映射表。
19、根据权利要求17所述的客户机,其中,所述映射表用于记录运行待安装的软件所需资源在NIM服务器中的物理位置或在存储器驱动器中的物理位置,并且用于标记待安装的软件在存储驱动器中的存储情况。
20、根据权利要求17所述的客户机,其中,所述资源获取模块还被配置用于:
基于关于存储器驱动器的地址空间映射表,判断运行所述软件所需资源的位置;并且
所述资源获取模块还包括:
I/O操作截获单元,用于截获运行软件对所述存储器驱动器的I/O操作;
I/O操作状态判断单元,用于确定所截获的I/O操作的状态;
映射单元,用于创建关于所述存储器驱动器的地址空间映射表;
以及
NIM代理操作单元,用于根据所确定的I/O操作状态,查找映射单元设置的映射表;以及按照映射表中地址及其中的标记,确定I/O操作所需资源的位置。
21、根据权利要求20所述的客户机,其中,当所述I/O操作状态判断单元判断I/O操作是一个写请求操作时,所述NIM代理操作单元进一步被配置用于:
直接把运行软件所需的数据写入到所述存储器驱动器的相应地址上,并且通知映射单元对映射表进行标记,以表明该物理地址的数据已经存在于存储器驱动器中。
22、根据权利要求20所述的客户机,其中,当所述I/O操作状态判断单元判断I/O操作是一个读请求操作的时候,所述NIM代理操作单元进一步被配置用于:
查找映射表,以确定要读取的数据在所述存储器驱动器中的存储状态;以及
当要读取的数据是在所述存储器驱动器中已更新的数据,则从存储器驱动器获取所述数据;
当要读取的数据不在存储器驱动器而需要从远程NIM服务器读取时,则通过通信模块从NIM服务器读取相应的安装映像。
23、根据权利要求22所述的客户机,其中,所述NIM代理操作单元进一步被配置用于:
当要读取的数据已经存在于所述存储器驱动器中并且所述数据与NIM服务器相应地址上的映像数据相同时,则可以直接从存储器驱动器读取所述数据,也可以从NIM服务器上读取所述数据。
24、根据权利要求15或16所述的客户机,其中,所述数据迁移模块还包括:
数据迁移状态判断单元,用于判断是否完成为安装所述软件而需要从NIM服务器获取的资源数据的迁移以确定是否结束数据迁移操作;
数据迁移执行单元,当数据迁移状态判断单元确定没有完成数据迁移操作时,所述数据迁移执行单元执行从NIM服务器到客户机的数据迁移操作并将所迁移的数据保存在存储器驱动器中,以及,当数据迁移状态判断单元确定完成数据迁移操作时,则所述数据迁移执行单元停止数据迁移操作;
映射表改写单元,用于基于数据迁移执行单元所执行的数据迁移操作,在映射表中将从NIM服务器读取的数据的地址标记为本地,直到将NIM服务器中所述软件安装所需资源数据完全迁移到存储器驱动器中为止。
25、一种在网络安装管理NIM环境中为客户机安装软件的系统,包括:一个或多个客户机以及为所述客户机安装和维护软件提供所需资源的NIM服务器,其中,
所述客户机包括:
初始化及软件运行模块,用于初始化所述客户机并在客户机上运行所述软件,并且用于产生一个与客户机的存储器驱动器相关联的虚拟映射设备;
通信模块,用于在所述客户机与所述NIM服务器之间建立通信;
存储器驱动器,用于保存运行软件所需资源;
数据迁移模块,用于在运行软件的同时,执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及
在数据迁移模块将安装软件所需要的全部数据都迁移到所述存储器驱动器后,所述软件安装完成;以及
所述NIM服务器包括:NIM服务器通信装置、NIM操作控制装置、映像读取装置以及映像数据库,其中:
NIM服务器通信装置,用于与所述客户机建立通信并将客户机从NIM服务器读取运行软件所需资源的请求转发给NIM操作控制装置;
NIM操作控制装置,用于根据客户机的请求,控制映像读取装置来从映像数据库中读取所需资源的安装映像。
26、根据权利要求25所述的系统,其中,所产生的虚拟映射设备用于针对软件运行的I/O操作,在客户机的存储器驱动器和远程NIM服务器之间进行调度,以将所述软件运行的I/O操作指向客户机的存储器驱动器或远程NIM服务器。
CN2007101618336A 2007-09-24 2007-09-24 通过网络为客户机安装软件的方法、系统及相应的客户机 Active CN101399696B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2007101618336A CN101399696B (zh) 2007-09-24 2007-09-24 通过网络为客户机安装软件的方法、系统及相应的客户机
US12/235,777 US8423990B2 (en) 2007-09-24 2008-09-23 Installing software onto a client through a network, and corresponding client
US13/788,139 US9940117B2 (en) 2007-09-24 2013-03-07 Installing software onto a client through a network, and corresponding client
US14/948,326 US10324698B2 (en) 2007-09-24 2015-11-22 Software installation onto a client using existing resources
US15/851,742 US11237811B2 (en) 2007-09-24 2017-12-22 Software installation onto a client using existing resources
US16/409,810 US11556325B2 (en) 2007-09-24 2019-05-11 Software installation onto a client using existing resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101618336A CN101399696B (zh) 2007-09-24 2007-09-24 通过网络为客户机安装软件的方法、系统及相应的客户机

Publications (2)

Publication Number Publication Date
CN101399696A true CN101399696A (zh) 2009-04-01
CN101399696B CN101399696B (zh) 2011-09-21

Family

ID=40473097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101618336A Active CN101399696B (zh) 2007-09-24 2007-09-24 通过网络为客户机安装软件的方法、系统及相应的客户机

Country Status (2)

Country Link
US (5) US8423990B2 (zh)
CN (1) CN101399696B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011088714A1 (zh) * 2010-01-22 2011-07-28 北京金山软件有限公司 应用程序运行方法、装置及系统
CN103221921A (zh) * 2010-11-23 2013-07-24 国际商业机器公司 利用流技术的软件映像的直接迁移
US9230113B2 (en) 2010-12-09 2016-01-05 International Business Machines Corporation Encrypting and decrypting a virtual disc
US9940117B2 (en) 2007-09-24 2018-04-10 International Business Machines Corporation Installing software onto a client through a network, and corresponding client
CN109101247A (zh) * 2018-07-25 2018-12-28 紫光华山信息技术有限公司 安装驱动程序的方法、装置和服务器
CN110046149A (zh) * 2013-07-09 2019-07-23 甲骨文国际公司 用于产生用于自动数据库迁移的脚本集的解决方案
CN112346909A (zh) * 2019-08-08 2021-02-09 国际商业机器公司 交叉备份应用无盘数据迁移
CN112534399A (zh) * 2018-07-24 2021-03-19 西门子股份公司 基于语义的物联网设备数据处理相关应用程序安装方法及装置
CN113656269A (zh) * 2021-07-30 2021-11-16 深圳市悦道科技有限公司 一种基于智能电视应用软件的管控方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254890A1 (en) * 2008-04-04 2009-10-08 Electronics And Telecommunications Research Institute Apparatus and method for generating install-less software from installation package of software
KR20110062937A (ko) * 2009-12-04 2011-06-10 삼성전자주식회사 화상형성장치 및 클라이언트와 연결된 서버, 클라이언트 및 화상형성장치의 드라이버 원격설치방법
US8918782B2 (en) * 2011-05-27 2014-12-23 Microsoft Corporation Software image distribution
CN103365667B (zh) * 2012-03-26 2018-01-26 联想企业方案(新加坡)有限公司 一种在主机系统中安装操作系统的方法和装置
KR20140012317A (ko) 2012-07-19 2014-02-03 삼성전자주식회사 프로세스 전송 시스템, 프로세스 전송 서버의 프로세스 전송 방법, 및 클라이언트의 프로세스 처리 방법
JP2015041179A (ja) * 2013-08-21 2015-03-02 キヤノン株式会社 デバイス装置、制御方法およびコンピュータプログラム
WO2015176164A1 (en) * 2014-05-23 2015-11-26 Sphere 3D Corporation Micro visor run time environment offload processor
CN106210041B (zh) * 2016-07-05 2019-09-20 杭州华为数字技术有限公司 一种数据写入方法及服务器端网卡
US11132187B2 (en) * 2016-08-26 2021-09-28 American Megatrends International, Llc Bare metal provisioning of software defined infrastructure
CN108427677B (zh) * 2017-02-13 2023-01-06 阿里巴巴集团控股有限公司 一种对象访问方法、装置及电子设备
CN107085547A (zh) * 2017-05-16 2017-08-22 合肥联宝信息技术有限公司 一种电子设备和bios数据处理方法
US10341361B2 (en) * 2017-06-05 2019-07-02 Hewlett Packard Enterprise Development Lp Transmitting secure information
KR102510846B1 (ko) 2018-10-04 2023-03-16 삼성전자주식회사 전자 장치 및 그의 제어방법
CN109471663B (zh) * 2018-10-30 2022-04-05 珠海格力智能装备有限公司 单片机程序的执行方法及装置
TWI736842B (zh) * 2019-02-18 2021-08-21 緯創資通股份有限公司 設定組態控制方法及其相關電腦系統
US11379024B2 (en) 2019-09-26 2022-07-05 Micron Technology, Inc. Systems and methods capable of bypassing non-volatile memory when storing firmware in execution memory
US11249742B1 (en) * 2020-09-25 2022-02-15 Jpmorgan Chase Bank, N.A. Systems and methods for zero-touch infrastructure build automation

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5145028A (en) * 1991-12-02 1992-09-08 Wai Chin Hua Life-saving device for people in tall buildings
US5715456A (en) 1995-02-13 1998-02-03 International Business Machines Corporation Method and apparatus for booting a computer system without pre-installing an operating system
US5897664A (en) * 1996-07-01 1999-04-27 Sun Microsystems, Inc. Multiprocessor system having mapping table in each node to map global physical addresses to local physical addresses of page copies
US6094531A (en) * 1997-08-25 2000-07-25 Hewlett-Packard Company Method and apparatus for automatically installing operating systems machines
US6145028A (en) * 1997-12-11 2000-11-07 Ncr Corporation Enhanced multi-pathing to an array of storage devices
US6321276B1 (en) * 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6247126B1 (en) * 1999-01-25 2001-06-12 Dell Usa, L.P. Recoverable software installation process and apparatus for a computer system
US6966060B1 (en) * 1999-07-02 2005-11-15 Microsoft Corporation Method and system for remote client installation
US6578055B1 (en) * 2000-06-05 2003-06-10 International Business Machines Corporation Methods, system and computer program products for mirrored file access through assuming a privileged user level
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
US7191438B2 (en) * 2001-02-23 2007-03-13 Lenovo (Singapore) Pte, Ltd. Computer functional architecture and a locked down environment in a client-server architecture
US7925737B2 (en) * 2001-09-17 2011-04-12 Hewlett-Packard Development Company, L.P. System and method for dynamic configuration of network resources
US7562208B1 (en) * 2002-02-07 2009-07-14 Network Appliance, Inc. Method and system to quarantine system software and configuration
JP4067322B2 (ja) * 2002-03-19 2008-03-26 富士フイルム株式会社 画像管理サーバおよび画像プリントサーバ並びに画像サービスシステム
US7379982B2 (en) 2002-04-15 2008-05-27 Bassam Tabbara System and method for custom installation of an operating system on a remote client
US7120786B2 (en) 2002-06-17 2006-10-10 Microsoft Corporation Booting from a compressed image
US7617502B2 (en) * 2002-11-06 2009-11-10 Scientific-Atlanta, Llc Managing peripheral device drivers
JP4252301B2 (ja) * 2002-12-26 2009-04-08 株式会社日立製作所 記憶システム及びそのデータバックアップ方法
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7191437B1 (en) * 2003-04-23 2007-03-13 Network Appliance, Inc. System and method for reliable disk firmware update within a networked storage fabric
US7814126B2 (en) * 2003-06-25 2010-10-12 Microsoft Corporation Using task sequences to manage devices
US7249354B2 (en) * 2003-10-14 2007-07-24 Microsoft Corporation System and method for deploying a software build from a plurality of software builds to a target computer
JP4456909B2 (ja) * 2004-03-29 2010-04-28 株式会社日立製作所 バックアップ方法、ストレージシステム及びそのプログラム
US7467293B2 (en) * 2004-11-12 2008-12-16 Tsinghua University Method and computing system for transparence computing on the computer network
DE102005041312A1 (de) * 2005-08-31 2007-03-15 Advanced Micro Devices, Inc., Sunnyvale Speicherzugriff auf virtuelles Targetgerät
EP1762946A1 (en) * 2005-09-09 2007-03-14 Sap Ag A method and a system for performing a multidimensional categorization of a document repository
US8024430B2 (en) * 2005-10-14 2011-09-20 Computer Associates Think, Inc. System and method for installing software
CN100485630C (zh) * 2005-11-21 2009-05-06 国际商业机器公司 具有中央控制的数据备份的方法和系统
US8046557B2 (en) * 2005-12-05 2011-10-25 Intelitrac Inc. Apparatus and method for on-demand in-memory database management platform
US7631175B2 (en) * 2006-02-21 2009-12-08 Microsoft Corporation Control protocol for image enumeration and transfer
US20070240145A1 (en) * 2006-03-01 2007-10-11 Sbc Knowledge Ventures L.P. Method and system for java application administration and deployment
TWI311425B (en) * 2006-06-02 2009-06-21 Hon Hai Prec Ind Co Ltd Address allocation system and method
CN101399696B (zh) 2007-09-24 2011-09-21 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机
US8365164B1 (en) * 2008-02-21 2013-01-29 T-APP Ltd. Portable software applications
CN102135892B (zh) 2010-01-22 2015-03-04 广州华多网络科技有限公司 应用程序运行方法、装置及系统

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324698B2 (en) 2007-09-24 2019-06-18 International Business Machines Corporation Software installation onto a client using existing resources
US11237811B2 (en) 2007-09-24 2022-02-01 International Business Machines Corporation Software installation onto a client using existing resources
US11556325B2 (en) 2007-09-24 2023-01-17 International Business Machines Corporation Software installation onto a client using existing resources
US9940117B2 (en) 2007-09-24 2018-04-10 International Business Machines Corporation Installing software onto a client through a network, and corresponding client
WO2011088714A1 (zh) * 2010-01-22 2011-07-28 北京金山软件有限公司 应用程序运行方法、装置及系统
US9256414B2 (en) 2010-01-22 2016-02-09 Beijing Kingsoft Software Co., Ltd. Method, device and system for running application
CN103221921A (zh) * 2010-11-23 2013-07-24 国际商业机器公司 利用流技术的软件映像的直接迁移
CN103221921B (zh) * 2010-11-23 2016-06-22 国际商业机器公司 利用流技术的软件映像的直接迁移
US9230118B2 (en) 2010-12-09 2016-01-05 International Business Machines Corporation Encrypting and decrypting a virtual disc
US9626302B2 (en) 2010-12-09 2017-04-18 International Business Machines Corporation Encrypting and decrypting a virtual disc
US9230113B2 (en) 2010-12-09 2016-01-05 International Business Machines Corporation Encrypting and decrypting a virtual disc
CN110046149B (zh) * 2013-07-09 2023-05-05 甲骨文国际公司 用于自动数据库迁移的方法、系统和介质
CN110046149A (zh) * 2013-07-09 2019-07-23 甲骨文国际公司 用于产生用于自动数据库迁移的脚本集的解决方案
CN112534399A (zh) * 2018-07-24 2021-03-19 西门子股份公司 基于语义的物联网设备数据处理相关应用程序安装方法及装置
CN109101247B (zh) * 2018-07-25 2022-02-11 新华三信息技术有限公司 安装驱动程序的方法、装置和服务器
CN109101247A (zh) * 2018-07-25 2018-12-28 紫光华山信息技术有限公司 安装驱动程序的方法、装置和服务器
CN112346909A (zh) * 2019-08-08 2021-02-09 国际商业机器公司 交叉备份应用无盘数据迁移
CN113656269A (zh) * 2021-07-30 2021-11-16 深圳市悦道科技有限公司 一种基于智能电视应用软件的管控方法
CN113656269B (zh) * 2021-07-30 2022-07-19 深圳市悦道科技有限公司 一种基于智能电视应用软件的管控方法

Also Published As

Publication number Publication date
US20180121186A1 (en) 2018-05-03
US9940117B2 (en) 2018-04-10
US11556325B2 (en) 2023-01-17
US20130185714A1 (en) 2013-07-18
CN101399696B (zh) 2011-09-21
US20190265961A1 (en) 2019-08-29
US20090083733A1 (en) 2009-03-26
US10324698B2 (en) 2019-06-18
US11237811B2 (en) 2022-02-01
US8423990B2 (en) 2013-04-16
US20160085537A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
CN101399696B (zh) 通过网络为客户机安装软件的方法、系统及相应的客户机
US7634681B2 (en) Failure recovery method
US8577845B2 (en) Remote, granular restore from full virtual machine backup
US7185071B2 (en) Self-healing version and configuration model for an application server
US8196154B2 (en) Copying workload files to a virtual disk
CN100426238C (zh) Vex-虚拟扩展框架
JP5026509B2 (ja) マシンから仮想マシンへの変換
US8060542B2 (en) Template-based development of servers
US7797288B2 (en) Use of server instances and processing elements to define a server
US20060173912A1 (en) Automated deployment of operating system and data space to a server
CN102200921A (zh) 智能引导设备选择和恢复
WO2019061352A1 (zh) 数据加载方法及装置
US20210019171A1 (en) Physical-to-virtual migration method and apparatus, and storage medium
CN110520844A (zh) 云管理平台、虚拟机管理方法及其系统
CN112202855A (zh) 裸金属服务器与弹性块存储的通信装置、智能网卡和系统
CN111459619A (zh) 一种基于云平台实现服务的方法和装置
CN1276349C (zh) 一种机群跨平台并行系统镜像备份的方法
CN107861761B (zh) 一种物理主机的启动方法及系统
US20230359533A1 (en) User Triggered Virtual Machine Cloning for Recovery/Availability/Scaling
CN114328376A (zh) 快照创建方法、装置、设备及存储介质
CN117608474A (zh) 一种基于本地存储卷向dpu卸载负载的方法及装置
CN114205333A (zh) Ip配置方法、集群构建方法、计算机设备及存储介质
CN116541124A (zh) 虚拟计算实例创建方法、服务器集群及服务器

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