專利名稱:檢測軟件在應用虛擬化環(huán)境中的安裝和使用的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于檢測軟件在應用虛擬化環(huán)境中的安裝的方法、系統(tǒng)和計算機 程序。本發(fā)明進一步涉及檢測此類軟件的使用。
背景技術(shù):
目前,在典型生產(chǎn)環(huán)境中部署的所有應用必須共存于公共運行時環(huán)境中,所述運 行時環(huán)境是其中安裝所述應用的操作系統(tǒng)。但是,安裝新的應用一般會損壞現(xiàn)有環(huán)境。因 此,經(jīng)過測試的應用可能潛在地發(fā)生沖突。這樣,每次在生產(chǎn)環(huán)境中安裝新產(chǎn)品或為產(chǎn)品打 補丁時,都需要更多的IT資源來檢驗生產(chǎn)環(huán)境。使用操作系統(tǒng)級別的虛擬化技術(shù)(例如,VMWare、MS Virtual Server等)可 以部分地解決此問題。目前存在多種使用應用虛擬化方法解決上述問題的產(chǎn)品,如IBM Progressive Deployment System(PDS)(http://web. opensource. ibm. com/www/pds/)或 Microsoft Softricity (http://www. softricity. com/)。使用這種方法,已部署的應用在 與其他應用共享操作系統(tǒng)和硬件設(shè)置的同時還在虛擬環(huán)境中運行,處理它們自己的定義應 用環(huán)境的專用虛擬文件、目錄和注冊表。一般從中央存儲庫下載這些應用,所述存儲庫中存儲所有可用的應用及其工作環(huán) 境。通過這種方式,每種產(chǎn)品的所有測試和維護資源集中在一處,但是獨立于其他已部署的 應用。然而,這種新方法給檢測軟件產(chǎn)品的安裝和使用的許可證工具帶來了問題。目前, 使用簽名用于判定應用是否在目標機器上運行,安裝簽名用于判定是否僅在目標機器上安 裝了產(chǎn)品。但是,創(chuàng)建應用虛擬化環(huán)境的產(chǎn)品不會在操作系統(tǒng)注冊表中注冊已安裝的應用 (即,通過注冊表鍵);并且不會執(zhí)行任何種類的將跟蹤產(chǎn)品安裝的顯式安裝操作(即,啟動 安裝程序)。此行為妨礙了典型的非插裝許可證工具識別已安裝的軟件。類似地,創(chuàng)建應用 虛擬化環(huán)境的產(chǎn)品不一定像在正常環(huán)境中那樣運行應用可執(zhí)行文件名及文件大小。此行為 妨礙了典型的非插裝許可證工具識別正在機器上運行的軟件。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了一種檢測包括多個應用組件和一個標識組件的軟件應用在應 用虛擬化環(huán)境中的安裝的方法,所述多個應用組件和所述標識組件存儲在第一存儲庫中, 所述方法包括以下步驟將所述標識組件中的標識符存儲在第二存儲庫中;將所述第二存 儲庫的副本提供給多個接收方計算機,以便在所述接收方計算機上形成本地標識符存儲 庫;選擇一個或多個所述接收方計算機;從一個或多個選定接收方計算機的一個或多個本 地標識符存儲庫提取所述應用的標識符;查詢所述一個或多個選定接收方計算機以確定所 述一個或多個選定接收方計算機是否包含所述標識符的匹配副本;以及如果在所述一個或 多個選定接收方計算機上找到所述標識符的匹配副本,則判定在所述一個或多個選定接收 方計算機上安裝了所述軟件產(chǎn)品。
本發(fā)明的另一方面提供了 一種用于執(zhí)行上述方法的計算機程序。本發(fā)明的進一步的方面提供了一種包括適于執(zhí)行上述方法步驟的裝置的系統(tǒng)。本發(fā)明的進一步的方面提供了一種部署在數(shù)據(jù)處理系統(tǒng)中的用于執(zhí)行上述方法 的服務(wù)。所述優(yōu)選實施例允許許可證工具在使用應用虛擬化環(huán)境時檢測未物理安裝在機 器中的軟件的安裝。類似地,所述優(yōu)選實施例允許許可證工具檢測所述軟件的使用。為此, 所述優(yōu)選實施例定義了一類新的簽名,即虛擬安裝簽名。所述虛擬安裝簽名可以由許可證 工具選擇性地用于以不同方式報告在應用虛擬化環(huán)境中執(zhí)行的安裝(即,因為虛擬化安裝 的商業(yè)意義和成本不同于正常安裝)。
此處將僅通過實例的方式描述本發(fā)明的一個實施例,這些附圖是圖1是采用許可證管理器工具的網(wǎng)絡(luò)的方塊圖;圖2是根據(jù)漸進式下載方案中的優(yōu)選實施例的方法的檢測已安裝軟件的方法的 示意圖;圖3是根據(jù)漸進式下載方案中的優(yōu)選實施例的方法的檢測軟件使用的方法的示 意圖;以及圖4是適于支持所述優(yōu)選實施例的計算機系統(tǒng)的方塊圖。
具體實施例方式1.概述優(yōu)選實施例利用應用虛擬化環(huán)境的基本元素來解決上述檢測軟件安裝和使用的 問題。作為實例,參考IBM Progressive Development System(PDS)描述所述優(yōu)選實施例。 但是應理解,所述優(yōu)選實施例也適用于多種應用虛擬化環(huán)境。因此,使用上述IBM Progressive Development System(PDS)實例,所述優(yōu)選實施 例基于 IBM Tivoli License Compliance Manager (IBM Tivoli 許可證兼容管理器)體系 結(jié)構(gòu)。如前所述,IBM Tivoli License ComplianceManager僅作為實例。具體地說,將理 解的是,所述優(yōu)選實施例絕不限于IBM Tivoli License Manager。實際上將理解的是,所述 優(yōu)選實施例同樣適用于任何許可證管理器工具。IBM Tivoli License Manager是一種在分 布式平臺上提供軟件清單、使用計量以及許可證分配服務(wù)的許可證工具。所有這些功能都 將它們對已安裝或正在使用的軟件產(chǎn)品的識別基于軟件目錄中定義的信息。參考圖1,采用許可證管理器10的網(wǎng)絡(luò)具有三層式體系結(jié)構(gòu),所述體系結(jié)構(gòu)包括 管理中心12、運行時服務(wù)器14和目標計算機16。管理中心12包含一個或多個目錄,它們 列出了安裝詳細信息(即,注冊表鍵)和使用簽名(即,可執(zhí)行文件)。在使用中,目錄副 本被下載到目標計算機16 (以形成所述一個或多個目錄的本地副本)。每個目標計算機16 包括至少一個代理,所述代理通過將軟件與目錄的本地副本中的詳細信息相匹配來檢測軟 件的安裝和使用。構(gòu)成應用虛擬化環(huán)境的基礎(chǔ)的主要原則之一是應用可被打包成一個或多個包 (PDS中的“資產(chǎn)”)。每個包包含應用的多個片(PDS中的“片段”),其中單個片被稱為小片(dice)。參考圖2,單個小片保存在片段存儲庫22中。因此,在使用中,用戶從存儲在所述 存儲庫中的應用小片創(chuàng)建包。每個包還包含主小片,所述主小片包含有關(guān)它所代表的產(chǎn)品 以及有關(guān)其他小片的相關(guān)信息(在PDS中,當片段存儲在“片段存儲庫”中時,所述主小片 被稱為“根元片段”)。為了確保主小片相對于所有其他打包的應用而唯一地標識其應用, 主小片是名稱為標識簽名的文件。返回圖1,漸進式下載是一個過程,其中根據(jù)相關(guān)應用的要求,逐一將小片下載到 目標計算機16。但是,主小片將首先被下載到目標計算機16。主小片然后在接收方目標計 算機16的本地存儲為名稱是所述主小片自身的名稱的文件。在多數(shù)應用虛擬化環(huán)境(如 PDS)中,可執(zhí)行文件一旦被執(zhí)行,就可被作為本機應用運行的其他應用視為一個進程(在 PDS中,該進程的名稱為pds-<可執(zhí)行文件名稱>)。2.詳細說明所述優(yōu)選實施例本質(zhì)上使用主小片的標識簽名(當在目標計算機16上部署和執(zhí) 行應用時存在于目標計算機16上)來檢測應用的安裝。具體地說,所述優(yōu)選實施例將所述 標識簽名添加到管理中心12內(nèi)的目錄,作為一種新的類型的識別“虛擬化安裝”的簽名。此 所謂的虛擬安裝簽名通過標志表示應用被虛擬地安裝在目標機器上并在其上執(zhí)行。因此, 當首次在目標機器上執(zhí)行虛擬化應用(并且主小片被下載到目標機器并被保存為文件) 時,接收方目標機器中的代理能夠在所述目標機器的文件系統(tǒng)內(nèi)發(fā)現(xiàn)此文件并將其與目錄 的本地副本中的相應表項相匹配以檢測虛擬化安裝。參考圖2,在使用中,第一用戶18(例如,系統(tǒng)管理員)使用(例如)PDS準備器20 將兩個(例如)應用(應用1、應用2)轉(zhuǎn)換為兩個包(資產(chǎn)1、資產(chǎn)2)。所述包和每個應 用(應用1、應用2)的關(guān)聯(lián)主小片(摘要1、摘要2)存儲在存儲庫22中。服務(wù)器目錄(例 如,TLCM目錄管理器)具備兩個新的表項(每個小片有一個表項),它們代表了被監(jiān)視的產(chǎn) 品。所述目錄的副本(以及主小片(摘要1、摘要2)的關(guān)聯(lián)副本26)被定期復制到應用的 潛在目標計算機(未示出)。在使用中,第二用戶28的瀏覽器(在目標機器中)被導向存儲庫22,并向第二用 戶28顯示所有可用應用的列表30。當用戶選擇特定應用時,相關(guān)小片將被下載(例如,通 過PDS傳送器)到目標機器。在將一組最小必須小片下載到目標機器之后,應用便可在其 上運行。目標機器上的代理32例如執(zhí)行對目標機器的TLCM軟件掃描。在此掃描期間,代 理32將本地存儲的主小片副本與從服務(wù)器目錄24下載的目錄中的標識簽名的本地副本相 比較。所述優(yōu)選實施例還提供了兩種用于檢測軟件在應用虛擬化環(huán)境中的使用的機制。 參考圖3,在第一機制中,所述優(yōu)選實施例通過本機進程檢測虛擬化應用,其中所述優(yōu)選實 施例查看在目標計算機34上運行的活動進程(S卩,目標機器34上的代理獲得活動進程的 列表),以便查找名稱與主小片(位于主目錄42的本地[運行時]副本40中)名稱匹配的 應用。為此,此方法使用特殊的邏輯消除虛擬環(huán)境修改的影響(即,去除PDS中的“pds-” 并檢索原始文件的名稱)。在第二機制中,插裝所關(guān)注的應用。換言之,由供應商修改應用以向許可證管理器 通知應用何時啟動。因此,許可證管理器無需檢查進程列表以判定應用是否正在運行。通用計算機系統(tǒng)
參考圖4,適于支持所述優(yōu)選實施例的通用計算機系統(tǒng)50包括并行連接到系統(tǒng)總 線52的若干單元。具體地說,一個或多個微處理器(μ P) 54控制計算機50的操作;RAM 56 由微處理器54直接用作工作存儲器,R0M58存儲引導計算機50的基本代碼。外設(shè)單元(通 過各自的接口)沿本地總線60聚集在一起。具體地說,大容量存儲器包括硬盤62和用于 讀?、?ROM 66的驅(qū)動器64。此外,計算機50包括輸入設(shè)備68 (例如,鍵盤和鼠標)以及 輸出設(shè)備70(例如,監(jiān)視器和打印機)。網(wǎng)絡(luò)接口卡(NIC) 72用于將計算機50連接到網(wǎng)絡(luò)。 橋接單元74將系統(tǒng)總線52和本地總線60連接在一起。每個微處理器54和橋接單元74 都可以作為請求訪問系統(tǒng)總線52以傳輸信息的主代理運行。仲裁器76管理對系統(tǒng)總線52 的互斥訪問的許可。如果所述系統(tǒng)具有不同的拓撲,或基于其他網(wǎng)絡(luò),則類似的考慮也適用。備選地, 所述計算機具有不同的結(jié)構(gòu),包括等效的單元,或包括其他數(shù)據(jù)處理實體(例如PDA、移動 電話等)??梢栽诓黄x本發(fā)明的范圍的情況下對上述內(nèi)容做出修改和改變。
權(quán)利要求
一種檢測包括多個應用組件和一個標識組件的軟件應用在應用虛擬化環(huán)境中的安裝的方法,所述多個應用組件和所述標識組件存儲在第一存儲庫(22)中,所述方法包括以下步驟將所述標識組件中的標識符存儲在第二存儲庫(24)中;將所述第二存儲庫(24)的副本提供給多個接收方計算機(16),以便在所述接收方計算機上形成本地標識符存儲庫;選擇一個或多個所述接收方計算機(16);從一個或多個選定接收方計算機(16)的一個或多個本地標識符存儲庫提取所述應用的標識符;查詢所述一個或多個選定接收方計算機(16)以確定所述一個或多個選定接收方計算機(16)是否包含所述標識符的匹配副本;以及如果在所述一個或多個選定接收方計算機(16)上找到所述標識符的匹配副本,則判定在所述一個或多個選定接收方計算機(16)上安裝了所述軟件產(chǎn)品。
2.如權(quán)利要求1中所述的方法,其中下列步驟從一個或多個選定接收方計算機(16)的一個或多個本地標識符存儲庫提取所述應用 的標識符;查詢所述一個或多個選定接收方計算機(16)以確定所述一個或多個選定接收方計算 機(16)是否包含所述標識符的匹配副本;以及如果在所述一個或多個選定接收方計算機(16)上找到所述標識符的匹配副本,則判 定在所述一個或多個選定接收方計算機(16)上安裝了所述軟件產(chǎn)品;包括以下步驟通過所述選定接收方計算機(16)中的代理(32)執(zhí)行這些步驟。
3.如權(quán)利要求1或2中所述的方法,其中存儲所述標識組件中的標識符的步驟包括從 所述標識組件的名稱形成所述標識符的在先步驟。
4.如任一上述權(quán)利要求中所述的方法,其中所述方法包括以下在先步驟 將所述應用分成多個應用組件;提供所述應用的標識組件;將所述應用組件和所述標識組件存儲在所述第一存儲庫(22)中。
5.一種檢測軟件應用在應用虛擬化環(huán)境中的使用的方法,所述方法包括以下步驟 執(zhí)行如權(quán)利要求1至4中的任一權(quán)利要求中所述的方法;將以下步驟查詢所述一個或多個選定接收方計算機(16)以確定所述一個或多個選定接收方計算 機(16)是否包含所述標識符的匹配副本;以及如果在所述一個或多個選定接收方計算機(16)上找到所述標識符的匹配副本,則判 定在所述一個或多個選定接收方計算機(16)上安裝了所述軟件產(chǎn)品 替換為以下步驟查詢當前在所述一個或多個選定接收方計算機(34)上運行的進程的列表以確定所述 列表是否包括所述標識符的匹配副本;以及如果找到匹配副本,則判定所述一個或多個選定接收方計算機(34)當前正在使用所 述軟件應用。
6.一種用于檢測軟件應用在應用虛擬化環(huán)境中的安裝的系統(tǒng),所述系統(tǒng)包括被配置為 執(zhí)行如權(quán)利要求1至4中的任一權(quán)利要求中所述的方法的步驟的組件。
7.一種用于檢測軟件應用在應用虛擬化環(huán)境中的使用的系統(tǒng),所述系統(tǒng)包括被配置為 執(zhí)行如權(quán)利要求5中所述的方法的步驟的組件。
8.一種存儲在可由計算機機器讀取的介質(zhì)中的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品 有形地體現(xiàn)用于使所述計算機執(zhí)行如權(quán)利要求1至5中的任一權(quán)利要求中所述的方法的可 讀程序裝置。
9.一種部署在數(shù)據(jù)處理系統(tǒng)中的用于執(zhí)行如權(quán)利要求1至5中的任一權(quán)利要求中所述 的方法的服務(wù)。
全文摘要
優(yōu)選實施例提供了一種用于允許許可證工具在使用應用虛擬化環(huán)境時檢測未物理安裝在機器中的軟件的安裝的機制。所述優(yōu)選實施例還提供了一種允許許可證工具檢測該軟件的使用的機制。為此,所述優(yōu)選實施例定義了一類新的簽名,即虛擬安裝簽名。所述優(yōu)選實施例使用目標計算機中的代理以將軟件應用的虛擬安裝簽名與潛在應用的本地化列表相比較,以檢測所述目標計算機上是否安裝了所述軟件。
文檔編號G06F9/455GK101978354SQ200980109285
公開日2011年2月16日 申請日期2009年2月2日 優(yōu)先權(quán)日2008年3月20日
發(fā)明者A·佩羅尼, L·羅薩蒂, P·薩勒諾 申請人:國際商業(yè)機器公司