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

文档序号:7662432阅读:172来源:国知局
专利名称:通过网络为客户机安装软件的方法、系统及相应的客户机的制作方法
技术领域
本发明涉及网络安装管理技术,特别涉及一种使用网络安装管 理技术为客户机安装诸如操作系统或应用程序之类的软件的方法、系 统及相应的客户机。
背景技术
为一台计算机安装诸如操作系统(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 7〉司的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 Program Loader) 。 Bootp命令是Bootstrap Protocol (自举协议)命令。该 自举协议是一个基于TCP/IP的协议,它可以让无盘站从一个中心服 务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并 不需要每个用户去设置静态IP地址。如果步骤S110的判断结果是尚未启用Bootp的IPL ROM,则 过程进入步骤S115。在步骤S115中,指明需要IPLROM仿真,系 统启动失败。此时需要对客户机进行配置以能执行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 中结束对原始客户机的操作系统安装过程,随后安装的操作系统可以 被运行0除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的具体结构示意图; 图IO是图8中所示的数据迁移模块809的具体结构示意图; 图11是根据本发明原理在NIM环境中为客户机安装软件的系统1100的示意结构图;以及图12示出了根据本发明的一个具体实施例在NIM环境中为客户机安装软件的系统1200的示意图。
具体实施方式
以下将参照附图对本发明的优选实施方式进行说明。 根据本发明,为了能够减少或消除现有技术中在对客户机进行
软件安装时的延迟,本发明基于网络安装管理NIM技术,在客户机 进行初始化过程时,即可运行待安装的软件。在初始化客户机的过程 中,包括产生一个与客户机的存储器驱动器相关联的虚拟映射设备, 所产生的虚拟映射设备用于针对软件运行的1/0操作,在客户机的存 储器驱动器和远程NIM服务器之间进行调度,以将所述软件运行的 I/O操作指向客户机的存储器驱动器或远程NIM服务器。在运行所 述软件的过程中,获取运行所述软件所需的资源。具体地, 一方面, 判断运行所述软件所需资源的位置。其中,如果运行所述软件的资源 在所述客户机中,则从客户机获取所需资源,否则从所述NIM服务 器获取所需资源。这可通过截获运行所述软件的I/O操作并对I/O操 作请求进行判断来实现。当1/0操作请求针对的是对客户机本地(客 户机的存储器驱动器)的操作时,就调用本地资源来运行所述软件, 而当1/0操作请求所需要的资源不在本地时,就从为软件安装和维护 提供资源的NIM服务器获取所需资源,然后继续运行所述软件。所 需资源例如可以是用于软件安装的文件和程序。另一方面,在客户机 运行软件的过程中,还执行从NIM服务器到客户机的数据迁移操作, 即对安装软件所需的但需要从NIM服务器获取的资源进行迁移。根 据本发明,在运行软件的同时,安装所述软件,还对安装软件所需资 源数据进行迁移。这样,不必象现有技术那样,需要先从NIM服务 器获取软件安装的资源(例如用于软件安装的文件和程序的安装映像 文件),然后将所述安装映像复制到本地,然后进行重新引导,当系 统就绪后才能完成所述软件的安装这样一个有很大延迟的过程。根据 本发明的系统,可以在客户机上减少或消除软件安装延迟。在图2中,示出了根据本发明原理在NIM环境中为客户机安装 软件的方法的示意流程图。根据本发明,所i^户机是基于网络安装 管理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是根据本发明设置的关于客户机的存储器驱动器的映射表 的示例性图表。其中,按照待安装软件的大小(例如通过N1M服务 器上相应软件的安装映像),将对应于客户机本地的一个相应存储空 间分成多个块,每个块分別包括该块所对应的资源的地址以及表示 地址所在位置的标记。例如对于地址OOOIA....,该地址上的资源可从 客户机本地存储器驱动器中获取,其被标记为"本地";而地址 00081.....,该地址上的资源不在本地而需要从NIM Ji艮务器上获取,
则其被标记为"不在本地"。本领域技术人员可以理解,映射表中的地 址实际上对应于所要安装的软件的代码地址,而且,应该知道,该代码地址在客户机本地中的存储器驱动器中记录的位置与其在NIM服 务器的安装映像文件中所记录的位置相对应。由此,保证了映射表中 的每一块的地址都同时代表了客户机本地的存储器驱动器中的地址 和NIM服务器中的同一地址。该地址空间映射表例如可以按照块的 方式进行设置,并且在随后对数据的操作也采用块操作方式。块的大 小例如可以是64K, 128K, 256K等等。应该知道,还可以采用其它 标记方法来对映射表进行标记,本发明不限于示例出的具体标记方 式。继续参见附图2,在对客户机启动初始化操作后,过程进入到步 骤S205,在客户机上开始运行待安装的软件。本领域技术人员应该 知道,在进行诸如操作系统或应用程序的软件安装时,事实上在客户 机的本地存储器驱动器(例如硬盘)中就已经存在一部分运行软件所 需的代码或资源。例如,现有技术中通过网络实现操作系统的软件安 装的过程一般是在完成初始化操作、BIOS引导后,根据待安装的 操作系统在BIOS中的引导程序,通过网络与NIM服务器建立通信, 然后从NIM服务器获取所述待安装的操作系统的安装映像文件,并 且将全部安装映像文件都保存在本地客户机上。在完成操作系统软件 安装之后,才能运行所述软件。本领域技术人员还应该知道,现有技 术中,从NIM服务器获取操作系统安装映像不考虑本地客户机上已 经具有的资源,并且在运行软件的过程中, 一般是按顺序依次读取在 本地存储器驱动器保存的资源来运行所述软件的。与现有技术不同,本发明采用了在开始初始化操作以后,在没 有安装软件的情况下,基于客户机已经具备的资源,开始运行待安装 的软件。由于在初始化操作中,产生了一个虚拟映射设备,因此,运有的存储器i动器有任何影响 在运行软件的过程中,、优选地,、对于 客户机本地存储器驱动器中没有的资源,才从NIM服务器获取所需
资源的安装映像。在客户机上运行待安装的软件后,过程进行到步骤S206。在步 骤S206中,由NIM代理程序判断资源请求状态。资源请求状态可分 为待安装软件运行所需资源请求和数据迁移资源请求两类。对于待安 装软件运行所需资源请求,系统将执行步骤S207;对于数据迁移资 源请求,系统将执行步骤S217。在步骤S207中,对运行软件所需要的资源存储位置进行判断。 以下将参考附图5,详细说明对所需资源的存储位置进行判断的过程。在图5是根据本发明图2所示方法中判断运行软件所需资源的 位置的流程图。在步骤S501中,启动判断运行软件所需资源的位置 的操作。然后过程进入到步骤S503。在步骤S503中,截获运行软件 对客户机的存储器驱动器的I/O操作,然后在步骤S505中确定所截 获的1/0操作的状态。本领域技术人员可以理解,当运行一个软件时, 软件需要不断对本地的存储器驱动器执行输入/输出操作,该输入/输 出操作体现为针对存储器驱动器的读或写操作。在本发明中,由于采 用边运行边安装的操作方式,因此在运行软件过程中,首先对于客户 机运行所述软件的每一次I/O操作进行截获,如步骤S503所示。然 后,在确定了 1/0操作的状态后,过程进入到步骤S507,根据所确 定的1/0操作状态,查找事先设置的关于客户机的存储器驱动器的映 射表。如上所述,该映射表以块地址的方式记录了运行待安装的软件 所需资源在NIM服务器中的物理位置或在客户机的存储器驱动器中 的物理位置,并且还标记了待安装的软件在客户机的存储驱动器中的 存储情况。按照映射表中地址及其中的标记,在步骤S509中,确定 1/0操作所需资源的位置。以及,在步驟S511中,根据步骤S509中 所确定的资源位置,从客户机本地或从NIM服务器获取所需资源。 然后过程返回到图2中的步骤S209或步骤S211。具体地,图5中确定I/0操作状态的过程参见附图6。图6是根 据本发明图5所示方法中判断运行软件的I/O操作状态的过程的流程 图.判断I/O操作状态的过程从步骤S601启动.然后进入判断I/O
操作状态的判断步骤S603。当在步骤S603中,判断I/0操作是一个写请求操作时,如步骤 S605所示。那么过程就进入到步骤S607,直接把运行软件所需的数 据写入到客户机本地存储器驱动器的相应地址上,并且在映射表中进 行标记,以表明该物理地址的数据已经存在于客户机本地。另一方面,当在步骤S603中,判断I/0操作是一个读请求操作 的时候,如步骤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/0截获操作、释 放映射表、停止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服务器之间进行调 度,以将所述软件运行的1/0操作指向客户机的存储器驱动器或远程 NIM服务器;通信模块805,用于在所述客户机与所述NIM服务器 之间建立通信;存储器驱动器807,用于保存运行软件所需资源;资 源获取模块803,用于获取运行所述软件所需的资源;数据迁移模块 809,用于执行从NIM服务器到客户机的数据迁移操作,其中所迁移 的数据是安装所述软件需要从NIM服务器获取的资源数据;以及在 数据迁移模块将安装软件所需要的全部数据都迁移到所述存储器驱 动器后,所述软件安装完成。当在客户机开机、加电后,开始执行初始化操作。根据本发明, 在进行初始化操作时,所述初始化及软件运行模块801在没有安装软 件的情况下,基于客户机已经具备的资源,开始运行待安装的软件。 并且所述初始化及软件运行模块801被配置用于在执行系统引导操 作时加载所述资源获取模块803和所述数据迁移模块809;指示所述 资源获取模块803将所述存储器驱动器807与一个虚拟映射设备(以 下进行描述)相关联,由此将运行软件所产生的I/O操作引导到所述 虚拟映射设备中;指示所述通信装置805在所述客户机与NIM服务 器之间建立通信;以及指示所述资源获取模块803创建关于所述存储 器驱动器807的地址空间映射表。图9是图8中所示的资源获取溪块803的具体结构示意图。图9 中示出的资源获M块包括1/0操作截获单元、1/0操作状态判断 单元903、 NIM代理操作单元905、虚拟映射设备907以及映射单元 909。其中,根据一种实施方式,所述映射单元909在客户机与NIM 服务器之间建立通信后,基于待安装的软件在NIM服务器的安装映 像,设置一个关于客户机的存储器驱动器的地址空间的映射表。根据 另 一种实施方式,所述映射单元909也可以按照存储器驱动器预先i殳 置所述映射表;然后在客户机与NIM服务器之间建立通信后,基于 待安装软件在NIM服务器上的安装映像,修改所述映射表。根据本 发明,所述映射表用于记录运行待安装的软件所需资源在NIM服务 器中的物理位置或在客户机的存储器驱动器中的物理位置,并且用于 标记待安装的软件在客户机的存储驱动器中的存储情况。优选地,可 以以块的方式设置所述映射表。当客户机开始运行所述软件后,所述资源获取模块基于关于客 户机存储器驱动器的地址空间映射表,判断运行所述软件所需资源的 位置。具体地,1/0操作截获单元卯1截获运行软件对存储器驱动器 的1/0操作;并且将截获的1/0操作传送给I/0操作状态判断单元903。获的I/O操作的状态。另外,所述虚拟映射设备卯7用于针对软件运 行的I/O操作,在客户机的本地存储器驱动器和远程NIM服务器之 间进行调度,以将所述软件运行的1/0操作指向本地存储器驱动器或 远程NIM服务器。NIM代理操作单元,用于根据所确定的1/0操作 状态,查找映射单元909设置的映射表;以及按照映射表中地址及其中的标记,确定i/o操作所需资源的位置。NIM代理操作单元905根据I/O操作状态判断单元903的判断 结果,分别执行如下的操作1)当所述I/O操作状态判断单元903判断I/O操作是一个写请 求操作时,所述NIM代理操作单元905直接把运行软件所需的数据 写入到所述存储器驱动器的相应地址上,并且通知映射单元909对映 射表进行标记,以表明该物理地址的数据已经存在于客户机本地;2 )当所述I/O操作状态判断单元903判断I/O操作是一个读请
求操作时,所述NIM代理操作单元卯5通过映射单元909查找映射 表,确定要读取的数据在存储器驱动器807中的存储状态;以及当要 读取的数据是在所述存储器驱动器807中已更新的数据,则从存储器 驱动器807获取所述数据;当要读取的数据不在存储器驱动器807而 需要从远程NIM服务器读取时,则通过通信模块805从NIM服务器 读取相应的安装映像,同时,通知映射单元909对映射表进行相应标 记。以及根据映射表,当判断出要读取的数据已经存在于客户机本地 存储器驱动器中(例如通过迁移操作被复制到本地),并且所述数据 与NIM服务器相应地址上的数据相同时,根据本发明的一种实施方 式,可以直接从本地读取所需数据;或者根据本发明的另一种实施方 式,也可以从NIM服务器读取所需数据。图IO是图8中所示的数据迁移模块809的具体结构示意图。所 述数据迁移模块包括数据迁移状态判断单元1001、数据迁移执行 单元1003、映射表改写单元1005。其中,所述数据迁移状态判断单元1001,用于判断是否完成为 安装所述软件而需要从NIM服务器获取的资源数据的迁移以确定是 否结束数据迁移操作。当数据迁移状态判断单元1001确定没有完成 数据迁移操作时,所述数据迁移执行单元1003执行从NIM服务器到 客户机的数据迁移操作并将所迁移的数据保存在存储器驱动器807 中,以及,当数据迁移状态判断单元1001判断完成数据迁移操作时, 则所述数据迁移执行单元1003停止数据迁移操作。另 一方面,基于数据迁移执行单元1003所执行的数据迁移操作,标记为本地,直到将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示出了根据本发明在网络安装管理N1M环境中为客户机 安装软件的系统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/0截获模块 1221被加载;当目标客户机开始与NIM服务器通信后,该存储器I/O 截获模块1221充当一个虚拟映射设备,并且每次当目标客户机发出 一个I/O操作请求,该存储器I/O截获模块1221就将所述I/O操作 请求截获下来并存储在其中,同时还将所截获的1/0操作请求传递给 NIM代理操作模块1222。NIM代理操作模块1222根据软件安装的状态,运行所截获的 1/0操作,并将所截获的1/0操作请求映射到本地客户机存储驱动器/ 虚拟映射设备或映射到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/0请求,所述NIM操作 管理器1272负责与NIM代理1220的协议,并控制服务器映像读取 器1273读取映像数据库1274中的所需安装映像文件,并将安装映像 文件从NIM服务器1260复制到客户机,同时将映射表中相应地址位 置标记为"本地"。根据本发明的一个实施方式,所述NIM代理1220中还可以包 括一个数据迁移模块(未示出)。也可以在开始系统引导的过程中加 载该数据迁移模块,并且当在客户机1210中安装软件的1/0操作不 是读操作也不是写操作时,数据迁移模块就被激活以将数据从安装映 像文件迁移到本地存储驱动器,在映射表中将所迁移的数据标记为本 地;以及在迁移结束后,释放存储器I/O截获模块、释放映射表以及 停止NIM服务。通过以上对本发明的通过网络为客户机安装软件的系统和方法 的描述,可以知道,本发明在客户机加电而开始BIOS引导的初始化 的过程中,首先加栽一个NIM代理。在客户机与NIM服务器建立通
信后,设置一个客户机地址空间映射表。根据该地址空间映射表,针对客户机的每个I/0操作请求,运行NIM代理,将需要从NIM服务 器获取的安装映像数据按照块操作的方式进行实时调用并复制到本 地,并且同时还进行安装软件的读/写操作。而不是象现有NIM技术 中那样经历NIM引导—安装映像复制—重新引导—系统就绪的过 程,只有在将服务器上的整个操作系统的安装映像文件完全复制到本 地后,才能进行系统或应用程序的安装操作。这样,本发明就实现了 软件的"零延迟"安装。另外,根据本发明的一种实施方式,对于一台按照本发明进行 了软件安装的客户机,在数据迁移过程完成后,创建一个所安装的软 件的恢复文件(备份文件)。优选地,该恢复文件包含该客户机所安 装的操作系统和应用程序的所有软件的安装映像文件。这样当该客户 机发生故障而需要灾难恢复的时候,在客户机加电开始BIOS引导时, 可以直接调用该恢复文件,以快速对损害的软件进行恢复。以上参照附图对本发明的通过网络为客户机安装软件的系统和 方法进行了示例性的描述,应当理解,给出这种示意只是为了便于本 领域技术人员理解本发明的原理,不应当将其理解为对本发明的任何 限制。本领域技术人员会认识到,可以以方法、系统或计算机程序产 品的形式提供本发明的实施例。因此,本发明可采取全硬件实施例、 全软件实施例,或者组合软件和硬件的实施例的形式。硬件和软件的 典型的结合可以是带有计算机程序的通用计算机系统,当程序被加载 并被执行时,控制计算^L系统,从而可以执行上述的方法。本发明可以嵌入在计算机程序产品中,它包括使此处描述的方 法得以实施的所有特征。所述计算机程序产品被包含在一个或多个计 算机可读存储介质(包括,但不限于,磁盘存储器、CD-ROM、光学 存储器等)中,所述计算机可读存储介质具有包含于其中的计算机可 读程序代码。 已参考根据本发明的方法、系统及计算机程序产品的流程图和/ 或方框图说明了本发明。流程图和/或方框图中的每个方框,以及流 程图和/或方框图中的方框的组合显然可由计算机程序指令实现。这 些计算机程序指令可被提供给通用计算机、专用计算机、嵌入式处理 器或者其他可编程的数据处理设备的处理器,以产生一台机器,从而 指令(所述指令通过计算机或者其他可编程数据处理设备的处理器) 产生用于实现在流程图和/或方框图的一个或多个方框中规定的功能 的装置。这些计算机程序指令也可保存在一个或多个计算机的读存储器 中,每个这种存储器能够指挥计算机或者其他可编程数据处理设备按 照特定的方式发挥作用,从而保存在计算机可读存储器中的指令产生 一种制造产品,所述制造产品包括实现在流程图和/或方框图的 一个 或多个方框中规定的功能的指令装置。计算机程序指令也可被加栽到一个或多个计算机或者其他可编 程数据处理设备上,使得在所述计算机或者其他可编程数据处理设备 上执行一系列的操作步骤,从而在每个这样的设备上产生计算机实现 的过程,以致在该设备上执行的指令提供用于实现在流程图和/或方 框图的一个或多个方框中规定的步骤。以上结合本发明的优选实施方式对本发明的原理进行了说明, 但这些说明只是示例性的,不应理解为对本发明的任何限制。本领域 技术人员可以对本发明进行各种改变和变形,而不会背离由随附权利 要求所限定的本发明的精神和范围。
权利要求
1、一种在网络安装管理NIM环境中为客户机安装软件的方法,所述NIM环境包括为客户机安装和维护软件提供所需资源的NIM服务器和至少一个所述客户机,所述方法包括初始化所述客户机,其中包括产生一个与客户机的存储器驱动器相关联的虚拟映射设备;在客户机上运行所述软件;在运行所述软件的同时,执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及在将安装软件所需要的全部数据都迁移到客户机的存储器驱动器后,完成所述软件的安装。
2、根据权利要求l所述的为客户机安装软件的方法,其中所产 生的虚拟映射设备用于针对软件运行的1/0操作,在客户机的存储器 驱动器和远程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所述的为客户机安装软件的方法,其中确 定所截获的1/0操作的状态的步骤进一步包括当I/O操作是一个读请求操作的时候,查找映射表,以确定要 读取的数据在客户机的存储器驱动器中的存储状态;以及当要读取的数据是在客户机的存储器驱动器中已更新的数据, 则从客户机的存储器驱动器读取所述数据;当要读取的数据不在客户机的存储器驱动器中而需要从远程 NIM服务器读取时,则从NIM服务器读取相应的安装映像。
12、 根据权利要求ll所述的为客户机安装软件的方法,其中, 当要读取的数据已经存在于客户机的存储器驱动器中并且所述数据与NIM服务器相应地址上的映像数据相同时,则可以直接从客 户机的存储器驱动器读取所述数据,也可以从NIM服务器上读取所 述数据。
13、 根据权利要求ll所述的为客户机安装软件的方法,其中 在从NIM服务器读取所需数据的同时,将所读取的数据写入到客户机的存储器驱动器中,并在映射表中进行标记以表明该地址的数 据已经存在于客户机的存储器驱动器中。
14、 根据权利要求1或2所述的为客户机安装软件的方法,所 述数据迁移操作还包括在执行数据迁移操作时,在映射表中将所读取数据的地址标记为本地,直到将NIM服务器中所述软件安装所需数据完全迁移到客 户机的存储器驱动器中为止。
15. 一种客户机,能在网络安装管理NIM环境中通过NIM月良 务器进行软件安装,所述NIM服务器为客户机安装和维护软件提供 所需资源,所述客户机包括初始化及软件运行模块,用于初始化所述客户机并在客户机上 运行所述软件,并且用于产生一个与客户机的存储器驱动器相关联的 虚拟映射设备;通信模块,用于在所述客户机与所述NIM服务器之间建立通信;存储器驱动器,用于保存运行软件所需资源;数据迁移模块,用于在运行软件的同时,执行从NIM服务器到 客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从 NIM服务器获取的资源数据;以及在数据迁移模块将安装软件所需要的全部数据都迁移到所述存 储器驱动器后,所述软件安装完成.
16. 根据权利要求15所述的客户机,其中,所产生的虚拟映射 设备用于针对软件运行的1/0操作,在客户机的存储器驱动器和远程 NIM服务器之间进行调度,以将所述软件运行的I/O操作指向客户 机的存储器驱动器或远程NIM服务器。
17. 根据权利要求15或16所述的客户机,其中,所述客户机 还包括资源获取模块,用于获取运行所述软件所需要的资源; 并且所述初始化及软件运行模块还被配置用于 在执行系统引导操作时加栽所述资源获取模块和所述数据迁移模块J 指示所述资源获取模块创建关于所述存储器驱动器的地址空间映射表;指示所述通信装置在所述客户机与NIM服务器之间建立通信;以及在没有安装软件的情况下,基于客户机已经具备的资源,开始 运行待安装的软件。
18、 根据权利要求17所述的客户机,其中,所述资源获取模块 还包括一个映射单元,所述映射单元被配置用于在客户机与NIM服务器之间建立通信后,基于待安装的软件在 NIM服务器的安装映像,设置所述映射表;或者,按照所述存储器驱动器预先设置所述映射表;以及在客 户机与NIM服务器之间建立通信后,基于待安装软件在NIM服务器 上的安装映像,修改所述映射表。
19、 根据权利要求17所述的客户机,其中,所述映射表用于记 录运行待安装的软件所需资源在NIM服务器中的物理位置或在存储 器驱动器中的物理位置,并且用于标记待安装的软件在存储驱动器中 的存储情况。
20、 根据权利要求17所述的客户机,其中,所述资源获取模块 还被配置用于基于关于存储器驱动器的地址空间映射表,判断运行所述软件 所需资源的位置;并且所述资源获M块还包括I/O操作截获单元,用于截获运行软件对所述存储器驱动器的 1/0操作5I/O操作状态判断单元,用于确定所截获的I/O操作的状态; 映射单元,用于创建关于所述存储器驱动器的地址空间映射表; 以及NIM代理操作单元,用于根据所确定的1/0操作状态,查找映 射单元设置的映射表;以及按照映射表中地址及其中的标记,确定I/O 操作所需资源的位置。
21、 根据权利要求20所述的客户机,其中,当所述I/0操作状 态判断单元判断I/O操作是一个写请求操作时,所述NIM代理操作 单元进一步被配置用于直接把运行软件所需的数据写入到所述存储器驱动器的相应地 址上,并且通知映射单元对映射表进行标记,以表明该物理地址的数 据已经存在于存储器驱动器中。
22、 根据权利要求20所述的客户机,其中,当所述I/0操作状 态判断单元判断I/O操作是一个读请求操作的时候,所述NIM代理 操作单元进一步被配置用于查找映射表,以确定要读取的数据在所述存储器驱动器中的存 储状态;以及当要读取的数据是在所述存储器驱动器中已更新的数据,则从 存储器驱动器获取所述数据;当要读取的数据不在存储器驱动器而需要从远程NIM服务器 读取时,则通过通信模块从NIM服务器读取相应的安装映像。
23、 根据权利要求22所述的客户机,其中,所述NIM代理操 作单元进一步被配置用于当要读取的数据已经存在于所述存储器驱动器中并且所述数据 与NIM服务器相应地址上的映像数据相同时,则可以直接从存储器 驱动器读取所述数据,也可以从NIM服务器上读取所述数据。
24、 根据权利要求15或16所述的客户机,其中,所述数据迁移模块还包括数据迁移状态判断单元,用于判断是否完成为安装所述软件而 需要从NIM服务器获取的资源数据的迁移以确定是否结束数据迁移 操作;数据迁移执行单元,当数据迁移状态判断单元确定没有完成数 据迁移操作时,所述数据迁移执行单元执行从NIM服务器到客户机 的数据迁移操作并将所迁移的数据保存在存储器驱动器中,以及,当 数据迁移状态判断单元确定完成数据迁移操作时,则所述数据迁移执 行单元停止数据迁移操作;映射表改写单元,用于基于数据迁移执行单元所执行的数据迁 移操作,在映射表中将从NIM服务器读取的数据的地址标记为本地, 直到将NIM服务器中所述软件安装所需资源数据完全迁移到存储器 驱动器中为止。
25、 一种在网络安装管理NIM环境中为客户机安装软件的系 统,包括 一个或多个客户机以及为所il^户机安装和维护软件提供 所需资源的NIM服务器,其中, 所述客户机包括初始化及软件运行模块,用于初始化所述客户机并在客户 机上运行所述软件,并且用于产生一个与客户机的存储器驱动器 相关联的虚拟映射设备;通信模块,用于在所述客户机与所述NIM服务器之间建立通信;存储器驱动器,用于保存运行软件所需资源; 数据迁移模块,用于在运行软件的同时,执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装所述软件需要从NIM服务器获取的资源数据;以及在数据迁移模块将安装软件所需要的全部数据都迁移到所述存储器驱动器后,所述软件安装完成;以及所述NIM服务器包括NIM服务器通信装置、NIM操作控制 装置、映像读取装置以及映像数据库,其中NIM服务器通信装置,用于与所迷客户机建立通信并将客 户机从NIM服务器读取运行软件所需资源的请求转发给NIM操 作控制装置;NIM操作控制装置,用于根据客户机的请求,控制映像读 取装置来从映像数据库中读取所需资源的安装映像。
26、根据权利要求25所述的系统,其中,所产生的虚拟映射设 备用于针对软件运行的I/O操作,在客户机的存储器驱动器和远程 NIM服务器之间进行调度,以将所述软件运行的I/O操作指向客户 机的存储器驱动器或远程NIM服务器。
全文摘要
本发明涉及在网络安装管理NIM环境中为客户机安装软件的方法、相应客户机和系统。该方法包括初始化客户机,产生一个与客户机的存储器驱动器相关联的虚拟映射设备,该虚拟映射设备用于针对软件运行的I/O操作,在客户机和远程NIM服务器之间进行调度,以将软件运行的I/O操作指向客户机或远程NIM服务器;在客户机上运行软件;获取运行软件所需的资源;在运行软件的同时,执行从NIM服务器到客户机的数据迁移操作,其中所迁移的数据是安装软件需要从NIM服务器获取的资源数据;以及在将安装软件所需要的全部数据都迁移到客户机本地后,完成软件的安装。本发明不需要将安装映像完全复制到本地就可以开始软件安装,因此缩短甚至消除了系统或应用程序的安装延迟。
文档编号H04L12/24GK101399696SQ20071016183
公开日2009年4月1日 申请日期2007年9月24日 优先权日2007年9月24日
发明者哲 向, 夏寅贲, 闯 李, 薇 陆 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1