软件安装方法、设备和程序产品的制作方法

文档序号:6521439阅读:174来源:国知局
软件安装方法、设备和程序产品的制作方法
【专利摘要】本发明涉及软件安装方法、设备和程序产品。软件预加载方案利用中央服务器保存用于为预加载到制造中的系统而提供的各种计算机指令文件的软件储存库。为了进行预加载,利用客户端工作站为被测系统(SUT)执行实际的预加载步骤。当SUT需要特定的一个软件版本时,数据从服务器被下移到客户端,并缓存在客户端,以便传送给被测系统。按照本发明的一个重要特性,缓存是预测性的。即,根据最近的活动,数据被保持在客户端工作站中,或者被移动到客户端工作站,以便为被测系统准备预加载所需的时间被缩短。
【专利说明】软件安装方法、设备和程序产品
【技术领域】
[0001]本发明涉及从软件的储存库到信息处理系统(这里有时也称为计算机系统)的软件安装。尽管下面的讨论集中于操作系统(OS)软件在交付给最终用户之前,正在生产和装配的系统上的安装,不过应理解本发明的方法、设备和程序产品具有更宽广的应用。
【背景技术】
[0002]注定要成为高端服务器的信息处理系统通常带有软件预安装(预加载)地被交付给最终用户,所述软件可以是许多操作系统(AIX、Linux、i50S、zOS等)之一。为了使成本较低和保持高水平的质量,预安装处理需要经济有效,并且高效。结果,理想的是作为制造和配置处理的一部分,从能够支持各种操作系统类型的测试执行平台执行软件预安装处理。每种OS (操作系统)具有它自己的输送机制和必须被保持的安装图像档案。

【发明内容】

[0003]这里说明的发明将利用常见的存储和分发方式,与特定OS的输送机制无关,与对特定OS的安装图像打包的方式无关地缓存从公共储存库移动到SUT(被测系统)的软件。设想成用于软件预加载的方案利用中央服务器保存为预加载而提供的各种操作系统(OS)(例如)的软件储存库。为了执行预加载,使用客户端工作站(比如笔记本计算机系统)执行实际的预加载步骤(客户端工作站可以是用于测试SUT的相同客户端)。当SUT需要特定的一项软件版本时,数据从服务器下移到客户端,并缓存在该客户端,以便输送给被测系统。按照本发明的一个重要特性,缓存是预测性的。即,根据最近的活动,数据被保持在客户端工作站中,或者被移动到客户端工作站,以致为被测系统准备预加载所需的时间被缩短。
【专利附图】

【附图说明】
[0004]上面陈述了本发明的一些目的,当结合附图继续进行说明时,将显现其它目的,附图中:
[0005]图1是在其间实现本发明的信息处理系统的示意图;
[0006]图2是在本发明的实现中涉及的软件栈的例示;
[0007]图3、4和5是图解说明本发明的实现中的各个步骤的流程图;
[0008]图6是信息处理系统,比如图1的信息处理系统的各个元件的表示;
[0009]图7是本发明的程序产品形式中的上面放置计算机可执行指令的非临时性计算机可读介质(这里是光盘)的例示。
【具体实施方式】
[0010]尽管下面将参考其中表示本发明的优选实施例的附图,更充分地说明本发明,不过在开始下面的说明时,应理解相关领域的技术人员可以修改这里说明的发明,同时仍然获得本发明的有利结果。因而,下面的说明应被理解成是针对相关领域的技术人员的概括性的教导公开,而不是对本发明的限制。
[0011]现在参见图1,图中表示了其中实践本发明的环境。上游服务器系统210起将通过居间的客户端工作站230,最终被预安装或预加载到目标最终用户系统220的软件的储存库作用。如举例说明的那样,最终用户系统220可以是正在制造、测试和配置的各种系统,而客户端工作站可以是笔记本系统。尽管该环境被用于例示接下来的说明,不过读者会理解各种计算机系统可用于实现这里说明的处理、硬件和可执行程序。读者应注意从附图标记210、220和230延伸出,以识别系统的箭头,和指示如下更充分说明的数据流程的其它箭头。
[0012]按照下面参考图2-5所述的内容,可以使保存并驻留在作为储存库的服务器210上的软件可被保存在其它系统上。图2图解说明当执行时,与被测系统220通信,管理通信协议,并且管理软件高速缓存储存库的软件栈。图3图解说明这里设想成与可供预安装在将用图2中表示的软件管理的被测系统220上的操作系统相关的软件储存库。图4图解说明将从其传送文件的软件高速缓存的管理。图5图解说明相对于软件从其被传送给被测系统220的软件高速缓存的增添的管理。
[0013]高速缓存管理器被用于降低服务器负载和加速较大(>1MB)文件的传送。当将和高速缓存管理器一起使用的文件被放在储存库服务器上时(图3),执行该文件的程序为该文件创建与文件名无关的唯一的11字符密钥。该文件被分解或划分成512字节的区段,随后被集合成4096区段,从而产生2MB数据段。为每个数据段确定32位循环冗余校验(CRC)值。创建控制文件,所述控制文件包含密钥、一些附加的报头信息和用于每个数据段的CRC值。一旦被创建,原始文件和控制文件都可被传送给在其它地点的储存库服务器和/或客户端工作站,如果将在分散的地点进行制造、测试和预安装的话,在这样的本地地点不需要任何额外的处理。
[0014]按照来自被测系统220的文件请求,客户端系统230 (例如,预加载服务器)确定包含该文件的数据段,随后利用该文件在服务器210上具有的名称,打开该文件(图4)。服务器返回文件的密钥,和数据段的CRC值的列表。高速缓存管理器客户端通过请求始于特定区段编号的数据,读取该文件。高速缓存管理器判定请求的区段在哪个数据段中,随后检查该数据段是否已被缓存在客户端系统中的RAM中。如果是,那么数据被传送给被测系统。如果数据不在RAM中,高速缓存管理器检查它是否在磁盘上具有所需数据段。如果数据段在磁盘上,那么该数据被读取到存储器中,利用从服务器加载的值检查CRC。如果CRC正确,那么数据被传送给被测系统。
[0015]如果在本地不可获得该数据段,那么向包含该文件的密钥和所请求的数据段的附近客户端系统发送广播消息。如果所述客户端系统响应它具有所请求的数据,那么从该位置读取该数据段,并检查CRC。如果CRC正确,那么该数据段被传送给被测系统。如果CRC不正确,那么不使用该数据,管理器等待来自储存库服务器的响应。
[0016]如果在固定的一段时间(例如,I秒)内,没有附近的客户端系统答复以可用的数据,那么直接从储存库服务器210读取所请求的数据段。检查CRC,如果CRC正确,那么传送该数据段。如果CRC不正确,那么从服务器的读取将被重试最多两次。如果重试也失败,那么向客户端系统返回错误。
[0017]当加载新的数据段时,检查高速缓存的可用空间。依据高速缓存中的字节数,和高速缓存文件系统上的可用空间,确定可用空间。这两者都是可配置的。如果不存在可用空间,那么在高速缓存(图5)中产生空间,把所述数据段加入高速缓存中。利用密钥和数据段编号进行缓存。保持高速缓存的处理涉及所描述的处理的预测特性。高速缓存管理器将对高速缓存中的所有文件的所有数据段的访问时间分类。如果最陈旧的数据段时间超过24小时,或者不到10个数据段被缓存,那么停止缓存。随后管理器删除高速缓存的大约10%(首先是最陈旧的),或者直到遇到时间不到24小时的文件为止。
[0018]如果最陈旧的数据段时间不到24小时,或者如果少于50个数据段被缓存,那么停止缓存。随后管理器随机删除高速缓存的约2%。
[0019]这种高速缓存管理处理的一个优点是完全自动化-一旦文件被放在现场服务器上,就不需要任何人为介入。由于每次使用数据段时,数据段的CRC检查,因此保证了数据完整性。损坏的高速缓存被自动修复。唯一密钥的使用确保替换现场服务器上的文件会自动使所有客户端系统上的高速缓存失效。客户端系统中的本地高速缓存将只包含客户端实际请求的文件的一些部分。客户端请求的全部数据不必在任何时候都存在于高速缓存中(尽管实际上这样是最好的,并且通常是这样的)。本地缓存的使用,以及从客户端系统的高速缓存取回数据段的能力大大降低储存库服务器上的负载(一旦数据已被缓存,只需要为了密钥和CRC信息(约为文件大小的0.0002%)访问现场服务器)。最近的高速缓存数据的随机丢弃增大了另一个客户端系统具有所请求数据的机会,即使该数据太大,以致于不能被缓存在一个客户端系统上。
[0020]本发明的另一个优点和特性是高速缓存起预测高速缓存的作用。即,如果待处理的下一个系统需要相同的预加载,那么易于获得最近已被请求预加载到被测系统中的数据。在主动制造环境中,相继的被测系统事实上请求相同预加载的可能性相当大。
[0021]待预加载到被测系统上的数据以多个卷的形式包含在文件系统中,每个卷大小约为500MB。卷的使用及其大小简化了分发需求。如果在传送给远程地点时发生故障(或者在任何地点出现损坏),那么只需要重发个别卷,所述个别卷可放在CD上,并且可以这种方式分发(如果需要的话)。每个卷是储存库服务器上的一个文件,被高速缓存管理器看作一个文件。
[0022]现在参见图6,这里在摘要、说明书和/或权利要求书中使用术语“电路”或“电路系统”。本领域中众所周知,术语“电路系统”包括所有各级的可用集成,例如从离散逻辑电路到诸如VLSI之类的最高级的电路集成,并且可包括被编程,以实现实施例的功能的可编程逻辑组件,以及利用指令编程,以实现这些功能的通用或专用处理器。
[0023]尽管讨论了各种例证电路或电路系统,不过图6描述例证计算机系统100的方框图。系统100可以是桌上型计算机系统或工作站计算机。然而,根据这里的说明,客户端装置、服务器或者其它机器显然可包括其它特征,或者可只包括系统100的一些特征。在图1的布置中,系统100可以起系统210、220和230任意一个或者全部的作用。
[0024]图6的系统100包括具有可随制造商(例如,INTEL?、AMD?等)而变化的体系结构的所谓芯片集110 ( —组一起工作的集成电路或芯片,芯片集)。芯片集110的体系结构包括通过直接管理接口(DMI) 142或链接控制器144交换信息(例如,数据、信号、命令等)的核芯和内存控制组120和I/O控制器中心150。在图1中,DMI142是芯片到芯片接口(有时称为“北桥”和“南桥”之间的链接)。核芯和内存控制组120包括通过前端总线(FSB) 124交换信息的一个或多个处理器122 (例如,单核芯或多核芯)和存储器控制中心126 ;注意组120的各个组件可以集成在取代常规的“北桥”式体系结构的芯片中。
[0025]图6中,存储器控制中心126与工作存储器140 (例如,向可称为“系统或工作存储器”的一种RAM提供支持)接口。存储器控制中心126还包括用于显示装置192 (例如,CRT、平板显示器、投影仪等)的LVDS接口 132。方框138包括借助LVDS接口 132可支持的一些技术(例如,串行数字视频、HDMI/DV1、显示端口 )。存储器控制中心126还包括支持独立显卡136的PC1-express接口(PC1-E) 134。在图1中,I/O控制器中心150包括SATA接口 151 (例如,用于长期、非临时性存储器,比如HDS、SDS等)、PC1-E接口 152 (例如,用于无线连接182)、USB接口 153 (例如,用于输入装置184,比如键盘、鼠标、照相机、电话机、存储器等)、网络接口 154 (例如,LAN)、GPI 接口 155、LPC 接口 170 (用于 ASDICS171、T.M.172、超级1/0173、固件中心174、B10S支持175,以及各种存储器176,比如R0M177、Flashl78和VRAM179)、电源管理接口 161、时钟发生器接口 162、音频接口 163(例如,用于扬声器194)、TO接口 164、系统管理总线接口 165、和SC.Flashl66,SC.Flashl66可包括B10S168和启动代码190。I/O控制器中心150可包括千兆比特以太网支持。
[0026]当通电时,系统100可被配置成执行保存在SC1.Flashl66内的用于B10S168的启动代码190,之后在一个或多个操作系统和应用软件(例如,保存在系统存储器140中)的控制下处理数据。操作系统可被保存在各个位置任意之一中,并且可例如按照B10S168的指令被访问。这里使用的装置可包括比在图6的系统100中所示更少或更多的特征。
[0027]本发明的一个或多个方面可包含在具有例如图7中表示为300的非临时性有形计算机可读介质的制成品(例如,一个或多个计算机程序产品)中。所述介质中包含例如提供和便利本发明的能力的计算机可读程序代码。所述制成品可被包含为计算机系统的一部分或者单独销售。机器可读存储介质可包括诸如上面所述的硬盘驱动器,诸如光盘300之类的光盘,磁带,诸如只读存储器(ROM)之类的半导体存储器,可编程存储器(各种可编程存储器),闪存等等。通过从存储装置直接执行代码,或者通过把代码从一个存储装置复制到另一个存储装置,或者通过在网络上传送所述代码,以便远程执行,利用包含所述计算机可读代码的制成品。
[0028]在附图和说明书中,记载了本发明的优选实施例,尽管使用了具体术语,不过给出的说明只是一般描述性地使用了术语,而不是对本发明的限制。
【权利要求】
1.一种方法,包括: 将待安装在被测系统上的计算机指令文件分解成所选大小的数据段,并把所述数据段可访问地保存在计算机网络上,所述计算机网络具有储存库服务器计算机系统和多个客户端工作站计算机系统; 利用客户端工作站和连接的被测系统计算机系统之间的交互,判定分解的计算机指令文件是否要被安装在被测系统上; 通过经客户端工作站将数据段传送给被测系统,对分解的计算机指令要被安装在被测系统上的判定作出响应;和 在客户端工作站中保持数据段的高速缓存,所述数据段的高速缓存预测要被传送给与客户端工作站相连的下一个相继被测系统的数据段。
2.按照权利要求1所述的方法,其中所述分解包括计算用于每个分解的数据段的循环冗余校验(CRC)值,和与数据段一起地保存该值。
3.按照权利要求1所述的方法,还包括在客户端工作站判定该客户端工作站是否可从某个位置得到待传送的数据段,所述某个位置是客户端工作站工作存储器、客户端工作站非临时性存储器、另一个网络连接的客户端工作站和储存库服务器之一。
4.按照权利要求3所述的方法,其中可从客户端工作站工作存储器获得的数据段被直接传送给被测系统。
5.按照权利要求3所述的方法,其中检查可从客户端工作站非临时性存储器、另一个网络连接的客户端工作站和储存库服务器之一获得的数据段的正确的CRC值,如果CRC被确定是正确的,那么所述数据段被传送给被测系统并被处理,以便缓存在客户端工作站工作存储器中。
6.按照权利要求1所述的方`法,其中数据段的高速缓存的保持包括在客户端工作站判定待传送的数据段是否要被处理,以便缓存在客户端工作站工作存储器中,判定保持在客户端工作站的高速缓存是否已满,如果判定高速缓存未满,那么依据缓存的数据段各自的最后访问时间,对它们分类,判定任何缓存的数据段是否已在高速缓存中被保存超过预定的时间间隔,如果是,那么从高速缓存中清除保存最久的数据段,如果未发现这样的数据段,那么随机选择要从高速缓存清除的数据段。
7.—种设备,包括: 计算机网络,所述计算机网络具有储存库服务器计算机系统,多个客户端工作站计算机系统,和被测系统计算机系统,每个计算机系统具有处理器及相关的工作存储器和非临时性存储器; 在所述计算机系统的处理器上执行的计算机指令,当执行时,所述计算机指令被实施地: 将待安装在所述被测系统上的计算机指令文件分解成所选大小的数据段,并把所述数据段可访问地保存在所述计算机网络上; 利用所述客户端工作站和所述被测系统计算机系统之间的交互,判定分解的计算机指令文件是否要被安装在所述被测系统上; 通过经所述客户端工作站将数据段传送给所述被测系统,对分解的计算机指令要被安装在所述被测系统上的判定作出响应;和在所述客户端工作站中的所述存储器中保持数据段的高速缓存,所述数据段的高速缓存预测要被传送给与所述客户端工作站相连的下一个相继被测系统的数据段。
8.按照权利要求7所述的设备,其中当在所述计算机系统的处理器上执行时,所述计算机指令被实施以计算用于每个分解的数据段的循环冗余校验(CRC)值,并与数据段一起地保存该值。
9.按照权利要求7所述的设备,其中当执行时,所述计算机指令被实施以在所述客户端工作站判定所述客户端工作站是否可从某个位置得到待传送的数据段,所述某个位置是所述客户端工作站工作存储器、所述客户端工作站非临时性存储器、另一个网络连接的客户端工作站和所述储存库服务器之一。
10.按照权利要求9所述的设备,其中可从客户端工作站工作存储器获得的数据段被直接传送给被测系统。
11.按照权利要求9所述的设备,其中检查可从客户端工作站非临时性存储器、另一个网络连接的客户端工作站和储存库服务器之一获得的数据段的正确的CRC值,如果CRC被确定是正确的,那么所述数据段被传送给被测系统,并被处理,以便缓存在客户端工作站工作存储器中。
12.按照权利要求7所述的设备,其中当在所述计算机系统的处理器上执行时,所述计算机指令被实施以通过在所述客户端工作站判定待传送的数据段是否要被处理以便缓存在所述客户端工作站工作存储器中,判定保持在客户端工作站的高速缓存是否已满,如果判定高速缓存未满,那么依据缓存的数据段各自的最后访问时间对它们分类,判定任何缓存的数据段是否已在高速缓存中被保存超过预定的时间间隔,如果是,那么从高速缓存中清除保存最久的数据段,或如果未发现这样的数据段,那么随机选择要从高速缓存清除的数据段,以保持数据段的高`速缓存。
【文档编号】G06F9/445GK103870301SQ201310628943
【公开日】2014年6月18日 申请日期:2013年11月29日 优先权日:2012年12月15日
【发明者】G·G·斯坦奎斯特, B·W·斯多科尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1