用相关的产品信息填充软件目录的方法和系统.pdf

上传人:1****2 文档编号:973008 上传时间:2018-03-22 格式:PDF 页数:16 大小:678.21KB
返回 下载 相关 举报
摘要
申请专利号:

CN200880010831.X

申请日:

2008.03.04

公开号:

CN101652790A

公开日:

2010.02.17

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06Q 10/00申请日:20080304|||公开

IPC分类号:

G06Q10/00; G06F9/44

主分类号:

G06Q10/00

申请人:

国际商业机器公司

发明人:

S·玛克莱兰; A·塞科曼迪; L·迪里塔; L·皮切蒂; M·塞奇

地址:

美国纽约阿芒克

优先权:

2007.4.3 EP 07105562.8

专利代理机构:

北京市金杜律师事务所

代理人:

吴立明;姜 彦

PDF下载: PDF下载
内容摘要

一种填充软件应用程序中的软件目录的方法和系统,该软件应用程序用于监控软件产品在多个计算机中的存在性。本发明所提出方法的目标在于仅需利用管理员提供的少量人工干预,即可实现对软件目录的填充。本发明降低了产生和维护一个全面的知识库(即,目录)的成本,该知识库中包含软件产品的定义及相关的签名的定义。通过使用一些特殊的文件(例如:XML文档件)的过程,获取关于软件产品及其相关签名的信息,这些特殊的文件中包含信息和/或指向其他产品的指针。

权利要求书

1: 一种用软件产品标识符填充软件目录方法,该软件产品标识 符对应于多个数据处理系统上被发现的软件产品,该方法包含步骤: 扫描所述多个数据处理系统的文件系统,以检测一组文件的存 在,这组文件指示产品被安装在数据处理系统上,这组文件包含至 少一个清单文件,该清单文件包含关于至少一个引用的软件产品的 信息; 用所述清单文件中的信息,确定与所引用的产品相关联的产品签 名; 在软件目录中存储该签名和相关联的软件产品标识符。
2: 如权利要求1所述的方法,其中所述清单文件包含XML文 档。
3: 如上述任意一项权利要求所述的方法,其中所述至少一个引 用的软件产品包括涉及被检测的一组文件的软件产品。
4: 如上述任意一项权利要求所述的方法,其中所述至少一个引 用的软件产品包括与涉及被检测的一组文件的产品不同的软件产 品。
5: 如上述任意一项权利要求所述的方法,其中所述至少一个清 单文件包括到另一清单文件的链接。
6: 如上述任意一项权利要求所述的方法,其中所述签名包括与 对应的一组文件中的文件之一相关联的文件标识符。
7: 如上述任意一项权利要求所述的方法,其中将所述签名与软 件产品标识符进行关联是基于从所述对应的一组文件中的文件提取 的信息。
8: 一种用于在多个数据处理系统中盘点软件产品的方法,其采 用上述任意一项权利要求所述的方法。
9: 一种计算机程序,当该计算机程序被数据处理系统执行时, 用于执行上述任意一项权利要求所述的方法。
10: 一种系统,包含用于执行如权利要求1至8任一项所述方法 中的步骤的装置。
11: 一种部署于数据处理系统中的服务,用于执行如权利要求1 至8任一项所述的方法。

说明书


用相关的产品信息填充软件目录的方法和系统

    【技术领域】

    本发明涉及数据处理领域。更具体地,本发明涉及在分布式数据处理系统中检测软件产品的存在性的方法和系统。本发明尤其解决了知识收集和目录填充动作。本发明进一步涉及一种用于执行该方法的计算机程序和一种具体化该程序的产品。而且,本发明还涉及一种相应的装置。

    背景技术

    操作于系统管理领域的软件应用程序,其功能基于一个预先定义的信息集。以软件清单产品为例,例如:国际商业机器公司的IBMTivoli配置管理器(ITCM),ITCM需要将文件系统中的某个文件的存在与某一特定产品相关联。该关联信息存储于应用存储库中。另一个例子是许可管理产品,如:国际商业机器公司的IBM Tivoli许可管理器(ITLM),其中关于实际程序执行(myProgram.exe)的信息需要与预定义的产品相关联。

    另一个例子是应用监控规范,其中管理系统用于监控运行在服务器上的应用的状态。在这种情况下,管理系统需要逐个了解每一个被监控应用的接口,因为每一个应用有其自己的方法去检测应用状态,以及有其自己的方法去启动和停止执行。

    在面对大规模环境时,此预定义信息集的建立和维护将成为受影响的系统管理应用程序的一个限制因素。

    该信息需要从开发出服从管理规范的应用的软件开发组收集。然后,该信息需要被管理并存入通常被称为知识库的数据库中。最后,需要将该信息从KB中提取出来,以形成可供系统管理应用使用的形式。

    通常,该知识库是目录的形式,其包含软件产品(例如,产品的名字和版本)的定义和相关的签名。软件目录列出可在被管理系统中找到的所有已知产品;每一个产品均可由指示其运行的一个和多个可执行模块所识别。作为一个例子,以许可管理产品为例,工作于后台的许可代理检测已运行的可执行模块;许可代理然后通过软件目录识别相应的产品。目录需要被“填充”,而这通常是一个高耗费的行为。

    现有的几个IT管理解决方案执行对已安装软件的发现是出于编目或许可的目的。一种显著有效的软件发现的方式是利用每一个必须被发现产品中先前已定义的签名。术语签名是指一种软件发现应用可以用来确定给定计算机中软件产品的一个或多个实例的存在的任何类型信息。签名的一个典型且特别简单的实现是这样的,其指定关键应用文件的文件名和文件大小。在这种情况下,检测具有匹配特征的文件将使签名被匹配,从而指示相关的软件产品被安装。基于签名进行软件发现的方法的一个优势在于:签名的匹配可由管理应用关联到被发现的实体(软件产品)的精确定义(名字、版本等)。因此,使用基于签名发现已安装软件的软件清单应用需要访问产品和签名的定义的全面知识库。该方法的挑战在于保持其内容在以下方面最新:

    -不断出现的可用的新软件产品;

    -维持对已有软件产品的更新。

    知识库的价值与其内容的覆盖和精确度直接成正比,因此,问题在于如何以可承受的成本保证覆盖和精确度。

    因此,非常需要提出一种改进地方法来帮助降低知识库管理的开销,同时引入一种可升级的有效方法,其能够处理在运行时所需要的信息。

    本发明的一个目的在于提供一种减轻上述缺点的方法和系统。

    【发明内容】

    本发明提出一种用软件产品标识符填充软件目录的方法,该软件产品标识符对应于多个数据处理系统中被发现的软件产品,该方法包含步骤:扫描多个数据处理系统的文件系统,以检测指示安装在数据处理系统中的产品的一组文件的出现,这一组文件至少包含一个清单文件,该清单文件包含关于至少一个引用软件产品的信息;用所述清单文件中的信息确定与所述引用产品相关的产品签名;在软件目录中存储该签名和关联的软件产品标识符。

    本发明的另一个方面提供一种用于执行上述方法的计算机程序。

    本发明的又一方面提供一种具体化此程序的程序产品。

    此外,本发明的另一个方面提供一种用于实施上述方法的相应装置。

    本发明的新特征阐述在所附的权利要求书中。不过,本发明自身以及本发明的这些和其他相关目的和有益效果将结合附图、通过参考以下详细的描述而得到最好的理解。

    【附图说明】

    图1为可应用本发明方法的数据处理系统的示意框图;

    图2示出了系统中通用计算机的功能模块;

    图3为可实现该方法的主要部件;以及

    图4示出了涉及该方法示意性实现的动作流的图示。

    【具体实施方式】

    具体参考图1,其示出了数据处理系统100,该数据处理系统100具有分布式架构,用于实现软件清单系统。系统100中包含多个端点105,这些端点105被归组至不同的集合。端点105可以是工作站、服务器、笔记本电脑以及更通用地是在其中安装有多个软件产品的任何类型的数据处理系统。端点105通过网络110(例如LAN)彼此相连。端点105的不同集合通过网络120(例如:基于因特网)与远程系统管理服务器115进行通信;系统管理服务器115实现中央储存库,系统100的清单数据在其中被收集和管理。如前所述,本发明可以实施于许可管理系统中,不过更普遍地,可以实施于需要编目活动的任何系统中(例如,在盘点了每个工作站的当前状态之后,需要将补丁或增强发布至多个工作站的软件部署系统);另一可能使用是用在配置管理系统内。

    参见图2,系统中的通用计算机(工作站、本地服务器或系统管理服务器)利用150指示。计算机150由几个并联到系统总线153的单元构成。具体地,一个或多个微处理器(μP)156控制计算机150的操作;RAM 159由微处理器156直接用作工作存储器,ROM 162存储用于引导计算机150的基本代码。外设单元聚集于本地总线165周围(借助于各自的接口)。特别地,大容量存储器包括硬盘168和用于读取CD-ROM 174的驱动器171。此外,计算机150中包括输入设备177(例如:键盘、鼠标)和输出设备180(例如:显示器、打印机)。网络接口卡(NIC)183用于将计算机150连接到网络。桥接单元186是系统总线153与本地总线165之间的接口。每一个微处理器156和桥接单元186可作为主代理,以请求接入系统总线153从而进行信息传输。仲裁器189按互斥方式来管理对接入系统总线153进行的授权。

    在系统具有不同拓扑或基于其他网络的情况下,类似的考虑也是适用的。备选地,计算机具有不同结构、包含等价单元或由其他数据处理实体(例如:PDA、移动电话等)组成。无论如何,本发明的解决方案也适用于在这样的系统中使用,其中工作站的控制是分散的,或者甚至适用于在单机计算机中使用。

    现在参见图3,可用于实施本发明优选实施例的方法的主要部件总体上标记识为300。典型地,信息(程序和数据)被存储于不同计算机的硬盘中,并在程序运行时被加载到相应的工作存储器中。

    系统管理服务器115控制和执行多个端点105上的管理操作,这些端点105通过通信网络相连。端点105的集合包括服务器、工作站、台式机或笔记本,其中出于扩大产品定义和相关签名的可用库以及发现软件产品的目的,对安装于其上的软件进行分析。

    系统管理服务器115控制在互连端点105的潜在大型集合上的管理操作,从而避免需要在物理上访问每一台计算机。该服务器和底层系统管理基础设施用于对所管理的计算机执行扫描操作,以收集分析应用所需的原始数据;并用于将扫描器在本地产生的数据移至中央文件服务器301,其中这些数据可存储到服务器的文件系统中。扫描操作可在所有被管理的端点105或特定子集上执行,后者可能由它们的角色(服务器、工作站、台式机或笔记本)或由运行的操作系统来决定。

    根据本发明的一优选实施例,采用IBM软件签名分析工具实施上述数据收集方法;不过,本领域技术人员可以理解,产生类似结果的其他方法可以替代使用。该方法包含一种机制,该机制帮助增加关于整体系统的知识,而无需对系统本身造成大的开销。本发明方法基于这一概念,即,被管理应用(由系统管理应用管理的应用)使用应用管理清单文件表明其管理接口。图3中的框105整体代表多个目标105,然而,该图中仅示出了一些清单文件,以便示出清单文件的关系和可能的交叉引用。

    系统管理应用将在安装有被管理应用的系统的运行时检测清单文件,并提取包括在该清单文件中的信息。一个清单文件可以指向另一个(或多个)清单文件,这一个或多个清单文件继而又可以指向一个或多个清单文件。

    清单文件可以采取XML文档的形式,其不仅包含公知标签(如产品名称、供应商名称、版本的详细信息、il8n信息)的集合,而且还包含控制命令(启动/停止接口)、生命周期信息(用于下载产品的更新版本的统一资源定位符等)。

    以下为清单文件的示例:

        <ProductManifest>

          <ID>

            <ProductName>IBM Tivoli License Compliance

        Manager</ProductName>

            <Version>2</Version>

            <Release>3</Release>

            <Modification>1</Modification>

            <Fixpack>1</Fixpack>

            <VendorName>IBM</VendorName>

          <VendorHome>Program Files\IBM</VendorHome>

          <ProductId>1</ProductId>

        </ID>

        <Monitor>

          <SignatureExeFile>

            <FileName>TLM.exe</FileName>

            <FileSize>15000</FileSize>

          </SignatureExeFile>

        </Monitor>

        <LifeCycle>

          <DownloadURL>www.ibm.com/support/ITLCM</DownloadURL>

        </LifeCycle>

        <ManagentCommand>

          <StartCommad>srvstart</StartCommad>

          <StopCommand>srvstop</StopCommand>

          <MonitorCommad>srvcheck</MonitorCommad>

        </ManagentCommand>

        <RelatedProducts>

          <product>

          <ProductId>IBM WebSphere Application Server</ProductId>

          <ProductLocation>Program

      Files\IBM\WebSphere\</ProductLocation>

          </product>

        </RelatedProducts>

        <SameVendor>

          <ProductId>Program Files\IBM\HTTP

      Server\ProductManifest.xml</ProductId>

          <ProductId>Program

      Files\IBM\DB2\ProductManifest.xml</ProductId>

        </SameVendor>

      </ProductManifest>

    清单文件还可以为需要在不确定情况下做出选择的客户提供排名支持。

    清单文件也可以引用以某种方式与当前产品相关的其他产品清单文件,在这种情况下,代理可以从汇总目录中选择这些相关产品的信息。例如:一个产品的清单文件中可以包含对同一供应商所提供的其他产品的清单文件的引用。

    这样,按照上面的例子,ITLM产品就可以在标准应用操作期间检测所引用的应用的存在,并更新软件目录(知识库)。发现所需要的信息位于机器中,从而避免不必要的关联性工作。

    应用管理清单中可以进一步包含这样的信息,该信息是关于为了将被管理应用视为正在运行,哪个文件必须在操作系统中执行的信息,和为了启动或停止被管理应用,管理应用可以发布的命令的信息。

    本发明的目标在于使用所收集的信息填充知识库307。这样,知识库便利用软件应用的正常动作得以扩充。采用本发明方法,通过利用清单文件中所包含的对其他相关应用和清单文件的引用,无需专门过程或手动过程,便可执行对知识库的更为有效的更新。从选中的计算机收集的数据存储于中央文件服务器的文件系统中,分析应用303可以从中访问数据。分析应用303执行数据转换和分析,这将导致新产品定义及相关签名的创建。

    分析应用303将上述收集的数据与包含在操作系统注册表305中的注册信息相结合。然后,该结合的产品定义及相关签名被生成并存储于软件知识库307中。软件知识库307是保存有合并的产品定义和签名集的数据库。该数据库最初可以是空的,或者也可以利用软件签名的提供商创建的数据进行填充。由分析应用产生的新定义可被合并于此数据库中。

    现在参见图4,方法400表示根据本发明一实施例产生产品签名的逻辑流程。该方法从黑色启动圈401开始。继续执行块403,从各端点105收集数据。在步骤405,通过已有的发现过程在正常操作期间检测清单文件,其中已有的发现过程例如是,指向已有的清单文件的公知操作系统注册表关键字或者查找与标准相匹配的预先确定的清单文件名的文件系统扫描。如前所述,清单文件包含关于被检测软件产品的信息和/或到另一个软件产品的引用,该另一个软件产品可通过某种方式关联到被检测软件产品。一个清单文件也可以当作另一个清单文件(如图3所示)的交叉引用的结果而被检测。在步骤407,判断所引用的软件产品是否已被系统所获知,即,根据本发明一优选实施例,涉及该引用的软件产品的条目是否能在知识库307中找到。如果软件产品已被列出,无需执行进一步动作,且控制返回步骤403。作为一个备选实施例,可以校验知识库中所包含的信息是否完整,或者它是否可以与清单文件中的内容相合并。如果步骤407的判断结果为否,则本方法利用该清单文件中包含的信息。根据本发明的一个实施例,执行另一个检查(409),来校验所引用的软件产品在被监控系统(例如,在多个的端点105)上的存在。如果存在,则利用清单文件所提供的信息更新知识库307(步骤411),否则它将被保存以供未来使用(步骤413)。一个可能的备选方案是在任何情况下都更新知识库307,如此,409中的判断就不是必须的。或者清单文件中所包含的信息可以与采用传统方法从系统中收集的其他信息合并在一起。

    在程序和数据以不同方式构造时、在提供了其他模块和功能时,或者在信息被存储于等价的存储结构中时,类似考虑也是适用的。

    如果方法包含等价或附加步骤,类似考虑也是适用的。

    备选地,取决于系统所安装的操作系统,例如,还可以采用不同的方法以从被检查的端点获取信息。例如可行的是,清单文件在预先确定的时间或者以预先确定的规则向系统管理应用“表明”它们的存在。

    尽管以上参考优选实施例以一定的详细程度描述了本发明,但可以理解的是,各种在形式或细节上的改变以及其他实施例是可能的。特别地,采用相同方式执行相同的功能以获取相同结果的那些元件和/或方法步骤的所有组合,显然均应包含在本发明的保护范围之内。

    在任何情况下,本发明方法可用于发现、盘点或测定任何种类的软件产品(诸如,视频游戏、多媒体作品等)。

    另外,程序可以分布在任何其他计算机可读介质(诸如,一个或多个DVD)上;备选地,程序可以预先加载至硬盘、传输给计算机、广播或以可直接载入计算机的工作存储器中的任何其他形式来提供。

    此外,对本领域技术人员而言很显然地,提供进一步有益效果的附加特征对本发明的实现不是至关重要的,并且,可被省略或被其他不同的特征所替代。

    在任何情况下,本发明所提供的方法同样适用于采同硬件结构(例如,集成于半导体材料的芯片中)实现,或采用软件和硬件相结合的方式实现。

    自然地,为适应当地或特殊的要求,本领域技术人员可对上述技术方案进行多种修改和改造,然而,这些都应包含在本发明如下所述的权利要求的保护范围之内。

用相关的产品信息填充软件目录的方法和系统.pdf_第1页
第1页 / 共16页
用相关的产品信息填充软件目录的方法和系统.pdf_第2页
第2页 / 共16页
用相关的产品信息填充软件目录的方法和系统.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《用相关的产品信息填充软件目录的方法和系统.pdf》由会员分享,可在线阅读,更多相关《用相关的产品信息填充软件目录的方法和系统.pdf(16页珍藏版)》请在专利查询网上搜索。

一种填充软件应用程序中的软件目录的方法和系统,该软件应用程序用于监控软件产品在多个计算机中的存在性。本发明所提出方法的目标在于仅需利用管理员提供的少量人工干预,即可实现对软件目录的填充。本发明降低了产生和维护一个全面的知识库(即,目录)的成本,该知识库中包含软件产品的定义及相关的签名的定义。通过使用一些特殊的文件(例如:XML文档件)的过程,获取关于软件产品及其相关签名的信息,这些特殊的文件中包含。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1