CN101241438A - 更改信息处理系统中的软件组件的方法和装置 - Google Patents
更改信息处理系统中的软件组件的方法和装置 Download PDFInfo
- Publication number
- CN101241438A CN101241438A CNA2008100056073A CN200810005607A CN101241438A CN 101241438 A CN101241438 A CN 101241438A CN A2008100056073 A CNA2008100056073 A CN A2008100056073A CN 200810005607 A CN200810005607 A CN 200810005607A CN 101241438 A CN101241438 A CN 101241438A
- Authority
- CN
- China
- Prior art keywords
- software
- correlativity
- request
- component
- handling system
- 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
Links
- 238000000034 method Methods 0.000 title claims description 42
- 238000009434 installation Methods 0.000 claims abstract description 46
- 230000008859 change Effects 0.000 claims abstract description 18
- 238000012508 change request Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 7
- 238000007689 inspection Methods 0.000 claims description 4
- 230000010365 information processing Effects 0.000 claims 2
- 238000013515 script Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 240000004859 Gamochaeta purpurea Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于更改信息处理系统中的软件组件的方法和装置。客户端信息处理系统(IHS)包括相关性数据库,所述相关性数据库存储已安装软件组件与候选软件组件的安装相关性信息和操作相关性信息。所述客户端IHS还包括请求处理机,其响应于更改所述IHS的所述软件配置的请求,检查所述相关性数据库以查找候选软件组件与所述相关性数据库存储的安装和操作相关性两者之间的冲突。
Description
技术领域
本发明一般地涉及信息处理系统,具体地说,涉及改变信息处理系统的软件配置。
背景技术
信息处理系统(IHS)通常包括许多已安装的软件组件或应用,例如字处理器、电子表格、数据库、演示工具、Web浏览器、电子邮件应用、实用工具和游戏,仅以这些为例。在理想情况下,当在IHS上安装新的软件组件时,新的软件组件不会与已安装的软件组件冲突或对其有所妨碍。不幸的是,情况并非总是如此。
由于“安装相关性”(即,其中新的软件组件的安装或操作依赖于IHS上已有组件的安装状态的相关性),当用户安装新的软件组件时,可能会出现问题。安装相关性的一个实例是其中除非IHS上已存在软件组件B,否则用户不能安装软件组件A的情况。
由于“操作相关性”(即,其中新的软件组件的安装或操作依赖于另一软件组件的操作状态(即运行状态)的相关性),当用户安装新的软件组件时,也可能会出现问题。操作状态指IHS当前是否运行或执行特定的软件组件或应用。操作相关性的一个实例是其中当软件组件B在IHS上运行的那些时间期间,不能安装软件组件A的情况。操作相关性的另一个实例是其中当软件组件B在IHS上运行时,软件组件A将不能在IHS上运行的情况。当软件组件为守护程序组件时可能出现此问题。传统的“installp”程序和传统的RPM Linux安装程序处理安装相关性。但是,软件组件间的操作相关性依然是个问题。
在许多采用多个联网IHS的企业、教育机构、政府组织和其他实体中,网络管理员必须经常在安装新的软件组件之前判定是否存在安装相关性和/或操作相关性。这将是非常繁琐的任务。某些软件组件供应商准备了在安装时和运行时执行的定制脚本来检查操作相关性。这些脚本的目标是使网络管理员从某些相关性检查中解放出来。例如,如果在软件组件B运行时不能安装软件组件A,软件组件A的供应商可以在组件A的软件包中提供定制脚本以确保在组件A运行时,组件B不会运行。此定制脚本在安装组件A时运行。在一种方法中,脚本可以告知IHS用户存在相关性并指示用户终止组件B以使组件A能够运行。
不幸的是,上述脚本方法要求软件组件开发人员或供应商在将产品推向市场之前了解其产品的所有操作相关性。此外,此方法要求用于每个软件组件产品的定制脚本或定制用户文档。要求组件A的软件供应商了解关于所有其他软件程序的所有操作相关性是不现实的。虽然广泛和长时间的测试可以发现软件组件A相对于其他现有软件组件B的操作相关性,但是不可能针对尚未面市的未来产品B检查操作相关性。为了处理其他类型的相关性(即,安装相关性),某些IHS包括本机软件存储库或数据库,其在诸如操作系统和Java环境之类的多宿主环境中跟踪多个软件组件间的安装关系。
需要一种解决上述软件配置更改问题的方法和系统。
发明内容
相应地,在一个实施例中,披露了一种用于更改信息处理系统(IHS)的软件配置的方法。所述方法包括在所述IHS中安装多个软件组件,从而为IHS提供包括已安装软件组件的第一软件配置。所述方法还包括在所述IHS中存储本地数据库,所述本地数据库包括已安装软件组件与候选软件组件的安装相关性和操作相关性。所述方法还包括由所述IHS中的请求处理机接收将所述IHS的所述第一软件配置更改为第二软件配置的请求。所述方法还包括由所述请求处理机检查所述本地数据库以判定将所述第一软件配置更改为所述第二软件配置的所述请求是否与安装相关性或操作相关性冲突。如果所述请求处理机发现冲突,所述请求处理机将阻止所述第二软件配置。备选地,如果所述请求处理机没有发现冲突,则所述请求处理机将允许所述第二软件配置。
在另一个实施例中,披露了一种信息处理系统(IHS),所述系统包括处理器和与所述处理器相连的存储器。所述信息处理系统还包括与所述处理器相连的数据存储。所述数据存储包括多个已安装软件组件,所述已安装软件组件为所述IHS提供第一软件配置。所述数据存储还包括本地数据库,所述本地数据库包括已安装软件组件与候选软件组件的安装相关性和操作相关性。所述数据存储还包括请求处理机,所述请求处理机接收将所述IHS的所述第一软件配置更改为第二软件配置的请求。所述请求处理机检查所述本地数据库以判定将所述第一软件配置更改为所述第二软件配置的所述请求是否与安装相关性或操作相关性冲突。如果所述请求处理机发现冲突,所述请求处理机将阻止所述第二软件配置。备选地,如果所述请求处理机没有发现冲突,所述请求处理机将允许所述第二软件配置。
在再一个实施例中,披露了一种存储在计算机可操作介质上的计算机程序产品。所述计算机程序产品处理信息处理系统(IHS)的软件配置更改请求。所述计算机程序产品包括本地数据库,所述本地数据库包括已安装软件组件与候选软件组件的安装相关性和操作相关性。所述计算机程序产品还包括请求处理机,所述请求处理机包括用于接收将所述IHS的第一软件配置更改为第二软件配置的请求的指令。所述请求处理机还包括用于检查所述本地数据库以判定将所述第一软件配置更改为所述第二软件配置的所述请求是否与安装相关性或操作相关性冲突的指令。所述请求处理机还包括用于在所述请求处理机发现冲突时阻止所述第二软件配置的指令。所述请求处理机还包括用于在所述请求处理机没有发现冲突时允许所述第二软件配置的指令。
附图说明
附图只是示出了本发明的示例性实施例,因此并非限制本发明的范围,因为发明性概念可使自身适用于其他等效的实施例,这些附图是:
图1示出了包括通过网络与主相关性数据库相连的客户端信息处理系统(IHS)的所披露系统的方块图;
图2是图1的IHS所采用的代表性本地客户端相关性数据库;以及
图3是示出了客户端IHS中的请求处理机应用用于处理软件配置更改请求的方法的流程图。
具体实施方式
图1示出了使用所披露的方法来管理对IHS的软件配置的更改请求的客户端信息处理系统(IHS)的方块图。IHS的当前软件配置指IHS内已安装的软件组件的特定组合。在一个实施例中,软件组件可以是全部软件应用,也可以是部分软件应用。对IHS 102的当前软件配置的更改请求包括请求安装软件组件、请求升级软件组件以及请求移除软件组件。IHS的已修改软件配置指在更改请求导致IHS上发生软件组件安装、升级或移除之后的IHS的软件配置。术语候选软件组件指在此软件组件获得有关安装、更新或移除的批准或拒绝之前更改请求的对象。例如,如果用户尝试在IHS102中安装软件组件,则该特定软件应用是候选软件组件。在决定是否执行对IHS的软件配置的特定更改请求时,所披露的方法考虑候选软件组件对于IHS的当前软件配置(即,IHS的已安装软件组件)所表现出的安装相关性和操作相关性。
客户端IHS 102包括与总线106相连的处理器104。存储器控制器108将系统存储器110连接到总线106。视频图形控制器112将显示器114连接到总线110。客户端IHS 102包括非易失性存储装置116,例如硬盘驱动器、CD驱动器、DVD驱动器,或其他与总线106相连以便为IHS 102提供永久性信息存储的非易失性存储装置。非易失性存储装置116是一种数据存储形式。操作系统(OS)118从非易失性存储装置116加载到存储器110以作为OS 118’来管理客户端IHS 102的操作。诸如键盘和鼠标指点设备之类的I/O设备120通过I/O总线122和I/O控制器124与总线106相连。诸如USB、IEEE 1394总线、ATA、SATA、PCI、PCIE以及其他总线之类的一条或多条扩展总线126与总线106相连以便于将外围组件和设备连接到客户端IHS 102。网络接口128与总线106相连以使客户端IHS102能够有线或无线地连接到网络130以及诸如服务器IHS 132和/或服务器IHS 134之类的其他IHS。网络130可以是局域网(LAN)、广域网(WAN)、网际协议(IP)网络或其他连接装置。客户端IHS 102可以采取多种形式。例如,客户端IHS 102可以采取桌面计算机、服务器、便携式计算机、膝上型计算机、笔记本或其他计算机或数据处理系统的形式。客户端IHS 102还可以采取其他形式,如个人数字助理(PDA)、游戏设备、便携式电话设备、通讯设备或其他包括处理器和存储器的设备。
客户端IHS 102采用客户端相关性数据库200和请求处理机应用300来判定客户端IHS 102是否可以在不导致客户端IHS 102出现问题的情况下执行对软件组件的更改请求。这些问题包括候选软件组件与客户端IHS102上的已安装软件组件的操作发生冲突,还包括已安装软件组件与候选软件组件的安装或操作发生冲突。在一个实施例中,在客户端IHS 102上安装客户端相关性数据库200和请求处理机应用300之前,介质140将这些应用存储为计算机程序产品。术语数据库表示包括诸如相关性信息之类的信息的数据结构。客户端IHS 102可以将光盘(CD)、多功能数字光盘(DVD)、软盘、外置硬盘或几乎所有其他数字存储介质用作介质140。使用客户端相关性数据库200和请求处理机应用300之前,用户或其他实体先在客户端IHS 102上安装这些应用。名称请求处理机300’描述了在客户端IHS 102上安装后的请求处理机300。名称客户端相关性数据库200’或本地数据库200’描述了在客户端IHS 102上安装后的客户端相关性数据库200。名称客户端相关性数据库200”描述了在客户端IHS 102将客户端数据库加载到系统存储器110以便执行之后的客户端相关性数据库200’。名称请求处理机300”描述了在客户端IHS 102将请求处理机加载到系统存储器110以便执行之后的请求处理机300’。
客户端相关性数据库200’是存储与客户端IHS 102的已安装软件组件以及客户端IHS 102上尚未安装的候选软件组件有关的相关性信息的数据库。在图2所示的一个实施例中,数据库200’包括用于客户端IHS 102的每个已安装软件组件的表项。在此特定实例中,软件组件A1、A2和A3表示客户端IHS 102的已安装程序。在实际应用中,客户端IHS 102可以包括的已安装软件组件或应用的数量远多于此实例的已安装组件或应用的数量。对于每个已安装软件组件,安装标志202被设为值Y,如图2所示。数据库200’还包括用于用户或其他实体以后尝试在客户端IHS 102上安装的其他软件组件A4、A5、A6...AN的表项。这些其他表项是候选软件组件。对于这些未安装软件组件中的每个组件,安装标志202被设为值N,如图2所示。在此用例中,“N”表示“未安装”并且“Y”表示“已安装”。名称“AN”指在图2的客户端相关性数据库的“软件(SW)组件名称”列中显示的客户端相关性数据库200’中的最后一个软件组件表项。
现在参考图2中的已安装软件组件或应用A1、A2和A3。软件组件A1是在客户端IHS 102上安装的第一应用。A1行中的“Y”指示软件组件A1的已安装状态,即IHS 102在其已安装软件组件或应用中包括软件组件A1。通过研究软件组件A1行中的其他部分,此软件组件A1显示没有正安装相关性或负安装相关性。此外,软件组件A1显示出没有正操作相关性或负操作相关性。在一个实施例中,软件组件A1可以是字处理应用、电子表格表应用、演示应用或几乎任何其他显示出没有安装相关性或操作相关性的软件应用。
在图2的实例中,软件组件A2行示出软件组件A2显示出已安装状态,因为安装标志显示了“Y”值。软件组件A2行还示出软件组件A2对软件组件A1(版本C、D或更高)具有正安装相关性,其中C和D是描述软件组件A1的版本号的整数。例如,如果C=2并且D=5,则软件组件A2行显示出对软件组件A1(版本2.5或更高)具有正相关性。软件组件A2对软件组件A1(版本C、D或更高)具有的这种正安装相关性表示软件组件A2的安装或操作要求在客户端IHS 102上先安装软件组件A1(版本C、D或更高)。换言之,软件组件A1(版本C、D或更高)必须在尝试安装软件组件A2之前已经显示出“已安装状态”。在此实例中,软件组件A2行还示出软件组件A2显示出对软件组件A3(版本E、F或更高)具有正操作相关性,其中E和F是描述软件组件A3的版本号的整数。软件组件A2对软件组件A3(版本E、F或更高)具有的这种正操作相关性表示软件组件A2的安装或操作依赖于软件组件A3(版本E、F或更高)的“运行”状态。换言之,要使软件组件A2能够安装或操作,软件组件A3(版本E、F或更高)必须显示出正运行状态,即软件组件A3(版本E、F或更高)必须在软件组件A2安装或操作之前已经在系统存储器100中加载和执行。
在图2的实例中,软件组件A3行示出软件组件A3显示出已安装状态,因为安装标志显示为“Y”值。软件组件A3行还示出软件组件A3对软件组件A1(版本G、H或更高)具有正安装相关性,其中G和H是描述软件组件A1的版本号的整数。软件组件A3对软件组件A1(版本G、H或更高)具有的这种正安装相关性表示软件组件A3的安装或操作要求在客户端IHS 102上先安装软件组件A1(版本G、H或更高)。换言之,软件组件A1(版本G、H或更高)必须在尝试安装软件组件A3之前已经显示出“已安装状态”。在此实例中,软件组件A3行还示出软件组件A3显示出对软件组件A4(版本I、J或更高)具有负安装相关性,其中I和J是描述软件组件A4的版本号的整数。对于软件组件A4,I≥0并且J≥0以使软件组件A4可以包括版本0.0以及更高版本。软件组件A3对软件组件A4(版本I、J或更高)具有的这种负安装相关性表示如果软件组件A4(版本I、J或更高)在客户端IHS 102上显示为已安装状态,则软件组件A3便不会安装或操作。在此实例中,软件组件A3行还示出软件组件A3显示出对软件组件A2(版本K、L或更高)具有正操作相关性。软件组件A3对软件组件A2(版本K、L或更高)具有的这种正操作相关性表示软件组件A3的安装或操作依赖于软件组件A2(版本K、L或更高)的“运行”状态。换言之,要使软件组件A3能够安装或操作,软件组件A2(版本K、L或更高)必须显示出正运行状态,即软件组件A2(版本K、L或更高)必须在软件组件A3安装或操作之前已经在系统存储器100中加载和执行。
在图2的实例中,软件组件A4行示出软件组件A4显示出未安装或卸载状态,因为安装标志显示为“N”值。这表示软件组件A4为候选软件组件,因为用户或其他实体尚未在客户端IHS 102上安装软件组件A4。但是,假如用户将来向客户端102提交软件配置更改请求来要求安装软件组件A4,则客户端相关性数据库200’已存储了安装相关性和操作相关性信息,来协助在客户端IHS 102上安装和/或操作软件组件A4。更具体地说,软件组件A4行存储正的软件组件A2安装相关性并且还存储负的软件组件A3和A6操作相关性。这表示当软件组件A4可以在客户端IHS 102上安装或操作之前,用户或其他实体必须首先在客户端IHS 102上安装软件组件A2(版本M、N或更高),其中M和N是描述软件组件A2的版本号的整数。此外,当可以在客户端IHS 102上安装或操作软件组件A4之前,客户端IHS 102上不能已经安装了软件组件A3(版本O、P或更高)或软件组件A6(版本Q、R或更高)。软件组件A4行还示出软件组件A4显示出对软件组件A8(版本S、T或更高)具有正操作相关性。软件组件A4对软件组件A8(版本S、T或更高)具有的这种正操作相关性表示软件组件A4的安装或操作依赖于软件组件A8(版本S、T或更高)的“运行”状态。换言之,要使软件组件A4能够安装或操作,软件组件A8(版本S、T或更高)必须显示出正的运行状态,即软件组件A8(版本S、T或更高)必须在软件组件A4安装或操作之前已经在系统存储器100中加载和执行。软件组件A4行还示出软件组件A4显示出对软件组件A7(版本U、V或更高)具有负操作相关性。软件组件A4对软件组件A7(版本U、V或更高)具有的这种负操作相关性表示软件组件A4的安装或操作依赖于软件组件A7(版本U、V或更高)的“运行”状态,这里的运行状态指软件组件A7(版本U、V或更高)当前未在客户端IHS 102上运行。换言之,要使软件组件A4能够安装或操作,软件组件A7(版本U、V或更高)必须显示出负的运行状态,即软件组件A4在客户端IHS 102上安装或操作之前,软件组件A7(版本U、V或更高)不会在系统存储器100中加载和执行。在上述实例中,O、P、Q、R、S、T、U和V是指定软件组件版本的整数。
图3是示出处理对客户端IHS的软件配置更改请求的请求处理机应用300的代表性过程步骤的流程图。当用户或其他实体希望在客户端IHS 102上安装软件组件、更新软件组件或移除已安装的软件组件时,用户或其他实体将软件配置更改请求输入IHS 102,如方块305所示。此软件配置更改请求是软件组件更改请求。例如,用户可能希望在客户端IHS 102上安装新的软件组件A4。现在参考图2,数据库200’的软件组件A4行中的N指示软件组件A4当前在客户端IHS 102上显示出卸载状态。当用户或其他实体提交对客户端IHS 102的软件配置的更改请求时,请求处理机应用300”拦截该请求,如方块310所示。名称请求处理机应用300”表示请求处理机应用根据所披露的方法在系统存储器110中加载和执行。
拦截软件组件更改请求之后,请求处理机300”可以选择性地检查服务器IHS 132中的主相关性数据库132A,以判定是否存在任何更新,所述更新指示尚未在客户端相关性数据库200”中指出的相关性。在一个实施例中,诸如硬件制造商之类的特定供应商可以维护主相关性数据库132A。当供应商获知特定软件组件显示的对其他软件组件的更多相关性时,供应商更新主相关性数据库132A以反映这些新发现的相关性。在一个实施例中,主相关性数据库132A显示出与图2的客户端相关性数据库200’类似的布局和结构,除了忽略安装标志202以外。在另一个实施例中,多个主相关性数据库可以跟踪软件组件及其各自的相关性。例如,如图1所示,服务器IHS 134包括另一个存储特定软件组件的相关性信息的主相关性数据库134A。
请求处理机300”在决策块320执行测试以判定是否存在对相关性数据库200”中的软件组件的更新。请求处理机300”通过访问主相关性数据库132A和/或主相关性数据库134A来执行此测试。如果请求处理机300”发现此类更新,则请求处理机300”下载更新并将更新存储在客户端相关性数据库200’中,如方块325所示。更新包括软件组件名称或其他标识符以及关联的相关性,如全部采用图2所示的表项格式的任何正或负安装相关性与任何正或负操作相关性。在一个实施例中,主相关性数据库132A和/或主相关性数据库134A可以将更新推送到客户端IHS 102的客户端相关性数据库200’。备选地,客户端相关性数据库200’可以定期从主相关性数据库132A和/或主相关性数据库134A请求更新。
在下载任何可用的相关性更新之后,请求处理机300”将检查是否满足所有相关性,如方块330所示。在主题实例中,用户请求安装诸如多媒体软件应用之类的新的软件组件A4。通过检查软件组件A4行的安装标志(此处为N),请求处理机300”看到软件组件A4当前显示出卸载状态。软件组件A4为候选软件组件。为了检查软件组件A4的相关性,请求处理机300”访问客户端相关性数据库200’中软件组件A4行存储的安装相关性和操作相关性。相关性数据库200”示出软件组件A4显示出对软件组件A2的正安装相关性并且还示出对软件组件A3和A6的负安装相关性。在一个实施例中,请求处理机应用300”检查所有客户端相关性数据库表项以查看软件组件A4的任何负的或正的相关性,从而确保在允许更改软件配置之前满足所有相关性,即软件组件之间不存在任何冲突。软件组件A4还显示出对软件组件A8的正操作相关性以及对软件组件A7的负操作相关性。如果客户端IHS 102的当前软件组件配置满足所有这些安装相关性和操作相关性,则过程流继续并且请求处理机300’允许客户端IHS执行请求的软件配置更改,在此特定实例中是安装软件组件A4,如方块335所示。请求处理机300’然后更新客户端相关性数据库200’以指示软件组件A4现在显示出安装状态“Y”,如方块340所示。过程流然后在结束方块345处停止。备选地,过程流可以从方块340继续返回到方块305,在方块305处,请求处理机300’等待另一个更新客户端IHS 102的软件配置的请求。
现在返回决策块330,如果当前的软件配置不满足客户端相关性数据库200’的A4行中的软件组件A4的所有相关性,则请求处理机300”通知用户或其他实体候选软件组件A4与其他软件组件之间存在冲突,如方块350所示。在一个实施例中,到用户的通知可以指出软件组件A4与一个或多个特定软件组件之间存在相关性冲突。例如,请求处理机300’可以通过在显示器114上显示相关性冲突来向用户提供此类通知。然后,过程流结束并且不执行请求的软件配置更改,如方块355所示。换言之,在此特定实例中,过程以拒绝安装候选软件组件A4结束。备选地,过程流可以从方块350返回到方块305,在方块305处,请求处理机300’等待另一个更新客户端IHS 102的软件配置的请求。在备选实施例中,客户端IHS 102可以通过访问主相关性数据库132A或主相关性数据库134A中的相关性信息来执行决策块330的相关性测试。在此实施例中,仍希望在客户端IHS102中存储相关性信息。在此实施例中,客户端IHS 102可以省略检查更新决策块320和下载更新块325。
本领域的技术人员将理解,可以以硬件或软件实现所披露的各种结构。此外,图3的流程图方块所表示的方法可以包括在计算机程序产品中,如介质盘、介质驱动器或其他介质存储装置(例如,图1的计算机程序产品介质140)。
在一个实施例中,将所披露的方法实现为客户端请求处理机应用,即代码模块中的指令(程序代码)集,其可以例如位于图1的客户端IHS 102的系统存储器110内。当客户端IHS 102需要时,可以将指令集存储到另一存储器(例如,诸如硬盘驱动器之类的非易失性存储装置116),或者存储到诸如光盘或软盘之类的可移动存储器,或者可以通过因特网或其他计算机网络进行下载。因此,所披露的方法可以以计算机程序产品实现以便在诸如客户端IHS 102之类的计算机中使用。要指出的是,在此类软件实施例中,当执行图3的流程图示出的功能的代码被执行时,可以将此类代码存储在系统存储器110中。此外,尽管所述的各种方法可以在由软件选择性地激活或重新配置的通用计算机中方便地实现,但是本领域的技术人员还将认识到,此类方法可以在硬件、固件或构建为执行所需方法步骤的更专用的装置中执行。
上述内容披露了在更改客户端IHS的软件配置之前检查安装相关性和操作相关性的方法和装置。
根据对本发明的描述,本发明的各种修改和备选实施例对于本领域的技术人员将是显而易见的。因此,此描述教导了本领域的技术人员执行本发明的方式,并且此描述旨在被理解为只是示例性的。所示和所述的本发明的形式构成了当前的实施例。本领域的技术人员可以对部件的形状、大小和布置做出各种修改。例如,本领域的技术人员可以使用等效的元素替代此处所示和所述的元素。此外,从本发明的描述中获益的本领域中的技术人员可以在不偏离本发明的范围的情况下,独立于本发明的其他功能来使用本发明的特定功能。
Claims (20)
1.一种用于更改信息处理系统的软件配置的方法,所述方法包括:
在所述信息处理系统中安装多个软件组件,从而为信息处理系统提供包括已安装软件组件的第一软件配置;
在所述信息处理系统中存储本地数据库,所述本地数据库包括已安装软件组件与候选软件组件的安装相关性和操作相关性;
由所述信息处理系统中的请求处理机接收将所述信息处理系统的所述第一软件配置更改为第二软件配置的请求;以及
由所述请求处理机检查所述本地数据库以判定将所述第一软件配置更改为所述第二软件配置的所述请求是否与安装相关性或操作相关性冲突,如果所述请求处理机发现冲突,所述请求处理机将阻止所述第二软件配置,如果所述请求处理机没有发现冲突,则所述请求处理机将允许所述第二软件配置。
2.根据权利要求1的方法,其中所述更改请求是在所述信息处理系统上安装候选软件组件的请求、使用候选组件更新所述信息处理系统上已安装的软件组件的请求,以及移除所述信息处理系统上已安装的软件组件的请求中的一个请求。
3.根据权利要求1的方法,其中所述多个软件组件包括软件应用。
4.根据权利要求1的方法,还包括在所述检查步骤之前使用安装相关性和操作相关性来更新所述本地数据库。
5.根据权利要求4的方法,其中所述信息处理系统执行所述更新步骤以响应接收到所述更改请求。
6.根据权利要求4的方法,其中所述信息处理系统定期监视服务器信息处理系统中的主相关性数据库以查找对所述本地数据库中的所述安装和操作相关性的更新。
7.根据权利要求1的方法,其中所述安装和操作相关性包括正相关性和负相关性之一。
8.根据权利要求2的方法,还包括在所述请求处理机发现冲突时,由所述请求处理机提供所述候选软件组件与安装相关性或操作相关性冲突的通知。
9.根据权利要求1的方法,其中所述更改请求是安装候选软件组件的请求,并且所述检查步骤包括如果所述请求处理机发现冲突,则阻止安装所述候选软件组件,如果所述请求处理机没有发现冲突,则所述请求处理机允许安装所述候选软件组件。
10.一种信息处理系统,所述系统包括:
处理器;
与所述处理器相连的存储器;
与所述处理器相连的数据存储,所述数据存储包括:
多个已安装软件组件,所述已安装软件组件为所述信息处理系统提供第一软件配置;
本地数据库,所述本地数据库包括已安装软件组件与候选软件组件的安装相关性和操作相关性;以及
请求处理机,所述请求处理机接收将所述信息处理系统的所述第一软件配置更改为第二软件配置的请求,所述请求处理机检查所述本地数据库以判定将所述第一软件配置更改为所述第二软件配置的所述请求是否与安装相关性或操作相关性冲突,如果所述请求处理机发现冲突,所述请求处理机将阻止所述第二软件配置,如果所述请求处理机没有发现冲突,所述请求处理机将允许所述第二软件配置。
11.根据权利要求10的信息处理系统,其中所述更改请求是在所述信息处理系统上安装候选软件组件的请求、使用候选组件更新所述信息处理系统上已安装的软件组件的请求,以及移除所述信息处理系统上已安装的软件组件的请求中的一个请求。
12.根据权利要求10的信息处理系统,其中所述多个软件组件包括软件应用。
13.根据权利要求10的信息处理系统,其中所述请求处理机使用安装相关性和操作相关性来更新所述本地数据库。
14.根据权利要求13的信息处理系统,其中所述信息处理系统定期监视服务器信息处理系统中的主相关性数据库以查找对所述本地数据库中的所述安装和操作相关性的更新。
15.根据权利要求10的信息处理系统,其中所述安装和操作相关性包括正相关性和负相关性之一。
16.根据权利要求10的信息处理系统,还包括当所述请求处理机发现冲突时,所述请求处理机在其上提供所述候选软件组件与安装相关性或操作相关性冲突的通知的显示器。
17.根据权利要求11的信息处理系统,其中所述更改请求是安装候选软件组件的请求,如果所述请求处理机发现冲突,则所述请求处理机阻止安装所述候选软件组件,如果所述请求处理机没有发现冲突,则所述请求处理机允许安装所述候选软件组件。
18.一种存储在计算机可操作介质上以处理信息处理系统的软件配置更新的计算机程序产品,所述计算机程序产品包括:
本地数据库,所述本地数据库包括已安装软件组件与候选软件组件的安装相关性和操作相关性;以及
请求处理机,所述请求处理机包括用于接收将所述信息处理系统的第一软件配置更改为第二软件配置的请求的指令,所述请求处理机检查所述本地数据库以判定将所述第一软件配置更改为所述第二软件配置的所述请求是否与安装相关性或操作相关性冲突,如果所述请求处理机发现冲突,所述请求处理机将阻止所述第二软件配置,如果所述请求处理机没有发现冲突,所述请求处理机将允许所述第二软件配置。
19.根据权利要求18的计算机程序产品,其中所述请求处理机包括用于使用安装相关性和操作相关性来更新所述本地数据库的指令。
20.根据权利要求18的计算机程序产品,其中所述请求处理机包括用于定期监视服务器信息处理系统中的主相关性数据库以查找对所述本地数据库中的所述安装和操作相关性的更新的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/672,577 | 2007-02-08 | ||
US11/672,577 US20080196024A1 (en) | 2007-02-08 | 2007-02-08 | Method and Apparatus for Changing Software Components in an Information Handling System |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101241438A true CN101241438A (zh) | 2008-08-13 |
CN101241438B CN101241438B (zh) | 2011-11-23 |
Family
ID=39686967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100056073A Expired - Fee Related CN101241438B (zh) | 2007-02-08 | 2008-02-05 | 更改信息处理系统中的软件组件的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080196024A1 (zh) |
CN (1) | CN101241438B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110219A (zh) * | 2009-12-28 | 2011-06-29 | 株式会社理光 | 用于禁止修改程序配置的操作的系统、设备和方法 |
CN102918505A (zh) * | 2010-06-03 | 2013-02-06 | 株式会社理光 | 信息处理设备、程序安装支持方法和计算机可读记录介质 |
CN103577217A (zh) * | 2012-08-10 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 软件显示方法和装置 |
CN107066283A (zh) * | 2015-10-19 | 2017-08-18 | 哈曼国际工业有限公司 | 用于更新计算机装置的部件同时实现部件可用性的技术 |
CN112667250A (zh) * | 2020-12-23 | 2021-04-16 | 北京浪潮数据技术有限公司 | 一种centos系统的组件打包下载方法、系统及装置 |
CN112667250B (zh) * | 2020-12-23 | 2024-09-06 | 北京浪潮数据技术有限公司 | 一种centos系统的组件打包下载方法、系统及装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560938B2 (en) * | 2008-02-12 | 2013-10-15 | Oracle International Corporation | Multi-layer XML customization |
US8131307B2 (en) | 2008-01-03 | 2012-03-06 | Lubeck Olaf M | Method for requesting transportation services |
US8788542B2 (en) | 2008-02-12 | 2014-07-22 | Oracle International Corporation | Customization syntax for multi-layer XML customization |
US8966465B2 (en) | 2008-02-12 | 2015-02-24 | Oracle International Corporation | Customization creation and update for multi-layer XML customization |
US8538998B2 (en) * | 2008-02-12 | 2013-09-17 | Oracle International Corporation | Caching and memory optimizations for multi-layer XML customization |
US8875306B2 (en) | 2008-02-12 | 2014-10-28 | Oracle International Corporation | Customization restrictions for multi-layer XML customization |
US8762977B2 (en) * | 2008-04-10 | 2014-06-24 | Telefonaktiebolaget L M Ericsson (Publ) | Mobile device software management method and apparatus |
US8782604B2 (en) | 2008-04-11 | 2014-07-15 | Oracle International Corporation | Sandbox support for metadata in running applications |
US8667031B2 (en) | 2008-06-13 | 2014-03-04 | Oracle International Corporation | Reuse of shared metadata across applications via URL protocol |
US8996658B2 (en) | 2008-09-03 | 2015-03-31 | Oracle International Corporation | System and method for integration of browser-based thin client applications within desktop rich client architecture |
US8799319B2 (en) | 2008-09-19 | 2014-08-05 | Oracle International Corporation | System and method for meta-data driven, semi-automated generation of web services based on existing applications |
US9122520B2 (en) | 2008-09-17 | 2015-09-01 | Oracle International Corporation | Generic wait service: pausing a BPEL process |
US8776027B2 (en) * | 2009-03-06 | 2014-07-08 | Microsoft Corporation | Extracting and collecting platform use data |
WO2011046559A1 (en) * | 2009-10-15 | 2011-04-21 | Hewlett-Packard Development Company, L.P. | Information technology system change planning |
US8869108B2 (en) * | 2009-11-18 | 2014-10-21 | Oracle International Corporation | Techniques related to customizations for composite applications |
US20130024469A1 (en) * | 2011-07-21 | 2013-01-24 | International Business Machines Corporation | Apparatus and method for preventing regression defects when updating software components |
US8954942B2 (en) | 2011-09-30 | 2015-02-10 | Oracle International Corporation | Optimizations using a BPEL compiler |
US9910659B2 (en) * | 2012-11-07 | 2018-03-06 | Qualcomm Incorporated | Methods for providing anti-rollback protection of a firmware version in a device which has no internal non-volatile memory |
EP2939367B1 (en) * | 2012-12-31 | 2022-08-17 | Mitel Networks Corporation | Automatic configuration of an endpoint |
US9749374B2 (en) * | 2013-05-01 | 2017-08-29 | Dell Products L.P. | Systems and methods for digital fulfillment of streaming applications |
US9207926B2 (en) * | 2013-06-04 | 2015-12-08 | International Business Machines Corporation | Dynamic image composition system employing fenced applications |
US10503787B2 (en) | 2015-09-30 | 2019-12-10 | Oracle International Corporation | Sharing common metadata in multi-tenant environment |
US10255064B2 (en) | 2016-06-24 | 2019-04-09 | Vmware, Inc. | Upgrade analysis of a computer system |
US10467002B2 (en) * | 2016-06-24 | 2019-11-05 | Vmware, Inc. | Validating interoperability of installed components of a computer system |
US10394619B2 (en) * | 2016-08-22 | 2019-08-27 | Western Digital Technologies, Inc | Signature-based service manager with dependency checking |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US537239A (en) * | 1895-04-09 | Wrench-handle | ||
CA2061298C (en) * | 1992-02-17 | 1996-12-03 | Douglas J. Mortson | Method for detecting critical failures during the building of complex computer programs from source code parts |
US5761474A (en) * | 1996-05-24 | 1998-06-02 | Hewlett-Packard Co. | Operand dependency tracking system and method for a processor that executes instructions out of order |
US6918096B2 (en) * | 1996-11-07 | 2005-07-12 | Thebrain Technologies, Corp. | Method and apparatus for displaying a network of thoughts from a thought's perspective |
US6425005B1 (en) * | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
US6442754B1 (en) * | 1999-03-29 | 2002-08-27 | International Business Machines Corporation | System, method, and program for checking dependencies of installed software components during installation or uninstallation of software |
US6847993B1 (en) * | 2000-05-31 | 2005-01-25 | International Business Machines Corporation | Method, system and program products for managing cluster configurations |
US6973473B1 (en) * | 2000-05-31 | 2005-12-06 | International Business Machines Corporation | Method, system and program products for managing identifiers of components of a clustered environment |
US6931630B1 (en) * | 2000-09-27 | 2005-08-16 | International Business Machines Corporation | Method of, system for, and computer program product for providing automatic identification of a computer program code candidate for web deployment or a stored procedure |
US6574788B1 (en) * | 2000-11-13 | 2003-06-03 | Reshape, Inc. | Method and system for automatically generating low level program commands as dependency graphs from high level physical design stages |
US6996815B2 (en) * | 2000-11-29 | 2006-02-07 | Microsoft Corporation | Method and software tools for intelligent service pack installation |
KR20050050121A (ko) * | 2002-10-07 | 2005-05-27 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 소프트웨어 패키지들의 방송 |
US20040122950A1 (en) * | 2002-12-20 | 2004-06-24 | Morgan Stephen Paul | Method for managing workloads in an autonomic computer system for improved performance |
US7058640B2 (en) * | 2003-02-05 | 2006-06-06 | International Business Machines Corporation | Systems, methods, and computer program products to efficiently update multidimensional databases |
US20050114847A1 (en) * | 2003-11-25 | 2005-05-26 | International Business Machines Corporation | Method, apparatus and computer program for automatically determining compile-time module dependencies |
US7496912B2 (en) * | 2004-02-27 | 2009-02-24 | International Business Machines Corporation | Methods and arrangements for ordering changes in computing systems |
US7987453B2 (en) * | 2004-03-18 | 2011-07-26 | International Business Machines Corporation | Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data |
US8060871B2 (en) * | 2006-03-30 | 2011-11-15 | Microsoft Corporation | Servicing software through versioning |
US8555247B2 (en) * | 2006-10-13 | 2013-10-08 | International Business Machines Corporation | Systems and methods for expressing temporal relationships spanning lifecycle representations |
-
2007
- 2007-02-08 US US11/672,577 patent/US20080196024A1/en not_active Abandoned
-
2008
- 2008-02-05 CN CN2008100056073A patent/CN101241438B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110219A (zh) * | 2009-12-28 | 2011-06-29 | 株式会社理光 | 用于禁止修改程序配置的操作的系统、设备和方法 |
CN102918505A (zh) * | 2010-06-03 | 2013-02-06 | 株式会社理光 | 信息处理设备、程序安装支持方法和计算机可读记录介质 |
CN103577217A (zh) * | 2012-08-10 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 软件显示方法和装置 |
CN107066283A (zh) * | 2015-10-19 | 2017-08-18 | 哈曼国际工业有限公司 | 用于更新计算机装置的部件同时实现部件可用性的技术 |
CN107066283B (zh) * | 2015-10-19 | 2021-07-13 | 哈曼国际工业有限公司 | 用于更新计算机装置的部件同时实现部件可用性的技术 |
CN112667250A (zh) * | 2020-12-23 | 2021-04-16 | 北京浪潮数据技术有限公司 | 一种centos系统的组件打包下载方法、系统及装置 |
CN112667250B (zh) * | 2020-12-23 | 2024-09-06 | 北京浪潮数据技术有限公司 | 一种centos系统的组件打包下载方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101241438B (zh) | 2011-11-23 |
US20080196024A1 (en) | 2008-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101241438B (zh) | 更改信息处理系统中的软件组件的方法和装置 | |
US9772838B2 (en) | Firmware update discovery and distribution | |
US9235404B2 (en) | Firmware update system | |
US9110761B2 (en) | Resource data structures for firmware updates | |
US7676803B2 (en) | Method of defining packaging applicability | |
CN104246699B (zh) | 云应用的动态插件 | |
US8972967B2 (en) | Application packages using block maps | |
TWI384399B (zh) | 用以更新韌體之裝置與方法 | |
US20080263511A1 (en) | System and method for software delivery | |
CN102567128B (zh) | 系统复位 | |
US11789751B2 (en) | System and method for estimation of time to completion for heterogeneous application upgrades in a customer environment | |
CN102246142A (zh) | 在运行时开发应用程序 | |
US20130219380A1 (en) | Time Shift Configuration Management for Software Product Installation | |
US20150324188A1 (en) | Aggregation of Update Sets | |
US10572247B2 (en) | Prototype management system | |
US11841731B2 (en) | Cloud plugin for legacy on-premise application | |
CN102707942B (zh) | 操作系统体验状态 | |
US20120324439A1 (en) | Configuration information management method and configuration information management device | |
US20230097733A1 (en) | Methods and systems to automatically deploy vulnerability fixes for software and firmware components | |
US11429166B2 (en) | System and method for managing device updates | |
US12013866B2 (en) | Plugin version management for legacy on-premise application | |
KR102297576B1 (ko) | 딥러닝 라이브러리를 자동으로 관리하는 방법 및 이를 수행하는 장치들 | |
US20230102514A1 (en) | Container plugin for legacy on-premise application | |
CN115586911A (zh) | 数据更新方法、装置、电子设备及计算机存储介质 | |
Barrett et al. | Updating the Environment |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111123 Termination date: 20190205 |