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