检测软件在应用虚拟化环境中的安装和使用的方法和系统的制作方法

文档序号:6593101阅读:290来源:国知局
专利名称:检测软件在应用虚拟化环境中的安装和使用的方法和系统的制作方法
技术领域
本发明涉及一种用于检测软件在应用虚拟化环境中的安装的方法、系统和计算机 程序。本发明进一步涉及检测此类软件的使用。
背景技术
目前,在典型生产环境中部署的所有应用必须共存于公共运行时环境中,所述运 行时环境是其中安装所述应用的操作系统。但是,安装新的应用一般会损坏现有环境。因 此,经过测试的应用可能潜在地发生冲突。这样,每次在生产环境中安装新产品或为产品打 补丁时,都需要更多的IT资源来检验生产环境。使用操作系统级别的虚拟化技术(例如,VMWare、MS Virtual Server等)可 以部分地解决此问题。目前存在多种使用应用虚拟化方法解决上述问题的产品,如IBM Progressive Deployment System(PDS)(http://web. opensource. ibm. com/www/pds/)或 Microsoft Softricity (http://www. softricity. com/)。使用这种方法,已部署的应用在 与其他应用共享操作系统和硬件设置的同时还在虚拟环境中运行,处理它们自己的定义应 用环境的专用虚拟文件、目录和注册表。一般从中央存储库下载这些应用,所述存储库中存储所有可用的应用及其工作环 境。通过这种方式,每种产品的所有测试和维护资源集中在一处,但是独立于其他已部署的 应用。然而,这种新方法给检测软件产品的安装和使用的许可证工具带来了问题。目前, 使用签名用于判定应用是否在目标机器上运行,安装签名用于判定是否仅在目标机器上安 装了产品。但是,创建应用虚拟化环境的产品不会在操作系统注册表中注册已安装的应用 (即,通过注册表键);并且不会执行任何种类的将跟踪产品安装的显式安装操作(即,启动 安装程序)。此行为妨碍了典型的非插装许可证工具识别已安装的软件。类似地,创建应用 虚拟化环境的产品不一定像在正常环境中那样运行应用可执行文件名及文件大小。此行为 妨碍了典型的非插装许可证工具识别正在机器上运行的软件。

发明内容
根据本发明,提供了一种检测包括多个应用组件和一个标识组件的软件应用在应 用虚拟化环境中的安装的方法,所述多个应用组件和所述标识组件存储在第一存储库中, 所述方法包括以下步骤将所述标识组件中的标识符存储在第二存储库中;将所述第二存 储库的副本提供给多个接收方计算机,以便在所述接收方计算机上形成本地标识符存储 库;选择一个或多个所述接收方计算机;从一个或多个选定接收方计算机的一个或多个本 地标识符存储库提取所述应用的标识符;查询所述一个或多个选定接收方计算机以确定所 述一个或多个选定接收方计算机是否包含所述标识符的匹配副本;以及如果在所述一个或 多个选定接收方计算机上找到所述标识符的匹配副本,则判定在所述一个或多个选定接收 方计算机上安装了所述软件产品。
本发明的另一方面提供了 一种用于执行上述方法的计算机程序。本发明的进一步的方面提供了一种包括适于执行上述方法步骤的装置的系统。本发明的进一步的方面提供了一种部署在数据处理系统中的用于执行上述方法 的服务。所述优选实施例允许许可证工具在使用应用虚拟化环境时检测未物理安装在机 器中的软件的安装。类似地,所述优选实施例允许许可证工具检测所述软件的使用。为此, 所述优选实施例定义了一类新的签名,即虚拟安装签名。所述虚拟安装签名可以由许可证 工具选择性地用于以不同方式报告在应用虚拟化环境中执行的安装(即,因为虚拟化安装 的商业意义和成本不同于正常安装)。


此处将仅通过实例的方式描述本发明的一个实施例,这些附图是图1是采用许可证管理器工具的网络的方块图;图2是根据渐进式下载方案中的优选实施例的方法的检测已安装软件的方法的 示意图;图3是根据渐进式下载方案中的优选实施例的方法的检测软件使用的方法的示 意图;以及图4是适于支持所述优选实施例的计算机系统的方块图。
具体实施例方式1.概述优选实施例利用应用虚拟化环境的基本元素来解决上述检测软件安装和使用的 问题。作为实例,参考IBM Progressive Development System(PDS)描述所述优选实施例。 但是应理解,所述优选实施例也适用于多种应用虚拟化环境。因此,使用上述IBM Progressive Development System(PDS)实例,所述优选实施 例基于 IBM Tivoli License Compliance Manager (IBM Tivoli 许可证兼容管理器)体系 结构。如前所述,IBM Tivoli License ComplianceManager仅作为实例。具体地说,将理 解的是,所述优选实施例绝不限于IBM Tivoli License Manager。实际上将理解的是,所述 优选实施例同样适用于任何许可证管理器工具。IBM Tivoli License Manager是一种在分 布式平台上提供软件清单、使用计量以及许可证分配服务的许可证工具。所有这些功能都 将它们对已安装或正在使用的软件产品的识别基于软件目录中定义的信息。参考图1,采用许可证管理器10的网络具有三层式体系结构,所述体系结构包括 管理中心12、运行时服务器14和目标计算机16。管理中心12包含一个或多个目录,它们 列出了安装详细信息(即,注册表键)和使用签名(即,可执行文件)。在使用中,目录副 本被下载到目标计算机16 (以形成所述一个或多个目录的本地副本)。每个目标计算机16 包括至少一个代理,所述代理通过将软件与目录的本地副本中的详细信息相匹配来检测软 件的安装和使用。构成应用虚拟化环境的基础的主要原则之一是应用可被打包成一个或多个包 (PDS中的“资产”)。每个包包含应用的多个片(PDS中的“片段”),其中单个片被称为小片(dice)。参考图2,单个小片保存在片段存储库22中。因此,在使用中,用户从存储在所述 存储库中的应用小片创建包。每个包还包含主小片,所述主小片包含有关它所代表的产品 以及有关其他小片的相关信息(在PDS中,当片段存储在“片段存储库”中时,所述主小片 被称为“根元片段”)。为了确保主小片相对于所有其他打包的应用而唯一地标识其应用, 主小片是名称为标识签名的文件。返回图1,渐进式下载是一个过程,其中根据相关应用的要求,逐一将小片下载到 目标计算机16。但是,主小片将首先被下载到目标计算机16。主小片然后在接收方目标计 算机16的本地存储为名称是所述主小片自身的名称的文件。在多数应用虚拟化环境(如 PDS)中,可执行文件一旦被执行,就可被作为本机应用运行的其他应用视为一个进程(在 PDS中,该进程的名称为pds-<可执行文件名称>)。2.详细说明所述优选实施例本质上使用主小片的标识签名(当在目标计算机16上部署和执 行应用时存在于目标计算机16上)来检测应用的安装。具体地说,所述优选实施例将所述 标识签名添加到管理中心12内的目录,作为一种新的类型的识别“虚拟化安装”的签名。此 所谓的虚拟安装签名通过标志表示应用被虚拟地安装在目标机器上并在其上执行。因此, 当首次在目标机器上执行虚拟化应用(并且主小片被下载到目标机器并被保存为文件) 时,接收方目标机器中的代理能够在所述目标机器的文件系统内发现此文件并将其与目录 的本地副本中的相应表项相匹配以检测虚拟化安装。参考图2,在使用中,第一用户18(例如,系统管理员)使用(例如)PDS准备器20 将两个(例如)应用(应用1、应用2)转换为两个包(资产1、资产2)。所述包和每个应 用(应用1、应用2)的关联主小片(摘要1、摘要2)存储在存储库22中。服务器目录(例 如,TLCM目录管理器)具备两个新的表项(每个小片有一个表项),它们代表了被监视的产 品。所述目录的副本(以及主小片(摘要1、摘要2)的关联副本26)被定期复制到应用的 潜在目标计算机(未示出)。在使用中,第二用户28的浏览器(在目标机器中)被导向存储库22,并向第二用 户28显示所有可用应用的列表30。当用户选择特定应用时,相关小片将被下载(例如,通 过PDS传送器)到目标机器。在将一组最小必须小片下载到目标机器之后,应用便可在其 上运行。目标机器上的代理32例如执行对目标机器的TLCM软件扫描。在此扫描期间,代 理32将本地存储的主小片副本与从服务器目录24下载的目录中的标识签名的本地副本相 比较。所述优选实施例还提供了两种用于检测软件在应用虚拟化环境中的使用的机制。 参考图3,在第一机制中,所述优选实施例通过本机进程检测虚拟化应用,其中所述优选实 施例查看在目标计算机34上运行的活动进程(S卩,目标机器34上的代理获得活动进程的 列表),以便查找名称与主小片(位于主目录42的本地[运行时]副本40中)名称匹配的 应用。为此,此方法使用特殊的逻辑消除虚拟环境修改的影响(即,去除PDS中的“pds-” 并检索原始文件的名称)。在第二机制中,插装所关注的应用。换言之,由供应商修改应用以向许可证管理器 通知应用何时启动。因此,许可证管理器无需检查进程列表以判定应用是否正在运行。通用计算机系统
参考图4,适于支持所述优选实施例的通用计算机系统50包括并行连接到系统总 线52的若干单元。具体地说,一个或多个微处理器(μ P) 54控制计算机50的操作;RAM 56 由微处理器54直接用作工作存储器,R0M58存储引导计算机50的基本代码。外设单元(通 过各自的接口)沿本地总线60聚集在一起。具体地说,大容量存储器包括硬盘62和用于 读取⑶-ROM 66的驱动器64。此外,计算机50包括输入设备68 (例如,键盘和鼠标)以及 输出设备70(例如,监视器和打印机)。网络接口卡(NIC) 72用于将计算机50连接到网络。 桥接单元74将系统总线52和本地总线60连接在一起。每个微处理器54和桥接单元74 都可以作为请求访问系统总线52以传输信息的主代理运行。仲裁器76管理对系统总线52 的互斥访问的许可。如果所述系统具有不同的拓扑,或基于其他网络,则类似的考虑也适用。备选地, 所述计算机具有不同的结构,包括等效的单元,或包括其他数据处理实体(例如PDA、移动 电话等)。可以在不偏离本发明的范围的情况下对上述内容做出修改和改变。
权利要求
一种检测包括多个应用组件和一个标识组件的软件应用在应用虚拟化环境中的安装的方法,所述多个应用组件和所述标识组件存储在第一存储库(22)中,所述方法包括以下步骤将所述标识组件中的标识符存储在第二存储库(24)中;将所述第二存储库(24)的副本提供给多个接收方计算机(16),以便在所述接收方计算机上形成本地标识符存储库;选择一个或多个所述接收方计算机(16);从一个或多个选定接收方计算机(16)的一个或多个本地标识符存储库提取所述应用的标识符;查询所述一个或多个选定接收方计算机(16)以确定所述一个或多个选定接收方计算机(16)是否包含所述标识符的匹配副本;以及如果在所述一个或多个选定接收方计算机(16)上找到所述标识符的匹配副本,则判定在所述一个或多个选定接收方计算机(16)上安装了所述软件产品。
2.如权利要求1中所述的方法,其中下列步骤从一个或多个选定接收方计算机(16)的一个或多个本地标识符存储库提取所述应用 的标识符;查询所述一个或多个选定接收方计算机(16)以确定所述一个或多个选定接收方计算 机(16)是否包含所述标识符的匹配副本;以及如果在所述一个或多个选定接收方计算机(16)上找到所述标识符的匹配副本,则判 定在所述一个或多个选定接收方计算机(16)上安装了所述软件产品;包括以下步骤通过所述选定接收方计算机(16)中的代理(32)执行这些步骤。
3.如权利要求1或2中所述的方法,其中存储所述标识组件中的标识符的步骤包括从 所述标识组件的名称形成所述标识符的在先步骤。
4.如任一上述权利要求中所述的方法,其中所述方法包括以下在先步骤 将所述应用分成多个应用组件;提供所述应用的标识组件;将所述应用组件和所述标识组件存储在所述第一存储库(22)中。
5.一种检测软件应用在应用虚拟化环境中的使用的方法,所述方法包括以下步骤 执行如权利要求1至4中的任一权利要求中所述的方法;将以下步骤查询所述一个或多个选定接收方计算机(16)以确定所述一个或多个选定接收方计算 机(16)是否包含所述标识符的匹配副本;以及如果在所述一个或多个选定接收方计算机(16)上找到所述标识符的匹配副本,则判 定在所述一个或多个选定接收方计算机(16)上安装了所述软件产品 替换为以下步骤查询当前在所述一个或多个选定接收方计算机(34)上运行的进程的列表以确定所述 列表是否包括所述标识符的匹配副本;以及如果找到匹配副本,则判定所述一个或多个选定接收方计算机(34)当前正在使用所 述软件应用。
6.一种用于检测软件应用在应用虚拟化环境中的安装的系统,所述系统包括被配置为 执行如权利要求1至4中的任一权利要求中所述的方法的步骤的组件。
7.一种用于检测软件应用在应用虚拟化环境中的使用的系统,所述系统包括被配置为 执行如权利要求5中所述的方法的步骤的组件。
8.一种存储在可由计算机机器读取的介质中的计算机程序产品,所述计算机程序产品 有形地体现用于使所述计算机执行如权利要求1至5中的任一权利要求中所述的方法的可 读程序装置。
9.一种部署在数据处理系统中的用于执行如权利要求1至5中的任一权利要求中所述 的方法的服务。
全文摘要
优选实施例提供了一种用于允许许可证工具在使用应用虚拟化环境时检测未物理安装在机器中的软件的安装的机制。所述优选实施例还提供了一种允许许可证工具检测该软件的使用的机制。为此,所述优选实施例定义了一类新的签名,即虚拟安装签名。所述优选实施例使用目标计算机中的代理以将软件应用的虚拟安装签名与潜在应用的本地化列表相比较,以检测所述目标计算机上是否安装了所述软件。
文档编号G06F9/455GK101978354SQ200980109285
公开日2011年2月16日 申请日期2009年2月2日 优先权日2008年3月20日
发明者A·佩罗尼, L·罗萨蒂, P·萨勒诺 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1