專利名稱:識(shí)別和清點(diǎn)應(yīng)用的方法和系統(tǒng)的制作方法
識(shí)別和清點(diǎn)應(yīng)用的方法和系統(tǒng)
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)通常為一組互連的計(jì)算機(jī)和其它設(shè)備,諸如打印機(jī)、外部硬驅(qū)動(dòng)器、調(diào)制解調(diào)器、集線器、交換器、橋接器、路由器等等。該網(wǎng)絡(luò)便于計(jì)算機(jī)與彼此以及典型地還與諸如因特網(wǎng)之類的外部網(wǎng)絡(luò)進(jìn)行通信。網(wǎng)絡(luò)可以根據(jù)諸如用來(lái)互連該網(wǎng)絡(luò)中的各個(gè)設(shè)備的硬件和軟件技術(shù)之類的很多的特性來(lái)分類。數(shù)據(jù)中心或資料處理中心是用來(lái)容納諸如遠(yuǎn)程通信和存儲(chǔ)系統(tǒng)之類的計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)系統(tǒng)以及相關(guān)聯(lián)的部件的機(jī)構(gòu)。它可以包括冗余或備份電源、冗余數(shù)據(jù)通信連接、環(huán)境控制(例如,空氣調(diào)節(jié)、滅火等)和安全設(shè)備。資料處理中心設(shè)計(jì)、構(gòu)建和操作可以依照來(lái)自公認(rèn)的專業(yè)組的標(biāo)準(zhǔn)文檔。資料處理中心能夠占用建筑物的一個(gè)房間、一個(gè)或多個(gè)樓層或者整個(gè)建筑物。數(shù)據(jù)中心中的裝置可以以安裝在機(jī)柜中的服務(wù)器的形式。諸如大型計(jì)算機(jī)和存儲(chǔ)設(shè)備之類的其它裝置可以放置在具有數(shù)個(gè)服務(wù)器的數(shù)據(jù)中心中。另外,資料處理中心還可以用于現(xiàn)場(chǎng)外備份。例如,公司或用戶可能訂購(gòu)以備份由數(shù)據(jù)中心提供的服務(wù)。
在以下詳細(xì)描述中并且參考圖來(lái)描述一定的示例性實(shí)施例,在其中
圖1是依照本發(fā)明的示例性實(shí)施例的具有清點(diǎn)服務(wù)器的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的圖解表示; 圖2是依照本發(fā)明的示例性實(shí)施例的在計(jì)算機(jī)網(wǎng)絡(luò)中清點(diǎn)應(yīng)用文件的方法的過(guò)程流程圖;以及
圖3是依照本發(fā)明的示例性實(shí)施例的清點(diǎn)服務(wù)器和相關(guān)聯(lián)的庫(kù)的圖解表示。
具體實(shí)施例方式計(jì)算機(jī)網(wǎng)絡(luò)或資料處理中心通常將運(yùn)行軟件應(yīng)用,所述軟件應(yīng)用處理組織或其它實(shí)體的業(yè)務(wù)和操作數(shù)據(jù)。例如,這樣的軟件應(yīng)用可以是私有的并且由該組織內(nèi)部開(kāi)發(fā)的,或者是從企業(yè)軟件廠商購(gòu)買的。應(yīng)用可以包括企業(yè)資源規(guī)劃(enterprise resource planning, ERP)系統(tǒng)、客戶關(guān)i^^JKcustomer relationship management, CRM)系統(tǒng)等等。經(jīng)常地,這些應(yīng)用將在多個(gè)主機(jī)上進(jìn)行編著,每個(gè)主機(jī)運(yùn)行單獨(dú)的部件,并且具有針對(duì)數(shù)據(jù)庫(kù)、文件服務(wù)器、應(yīng)用服務(wù)器、中間件以及各種其它件的通用部件。應(yīng)用可以以程序包的形式進(jìn)行分發(fā),所述程序包即包含在數(shù)據(jù)庫(kù)或其它軟件容器內(nèi)的一系列可執(zhí)行和不可執(zhí)行的文件。程序包可以由稱作程序包管理器的操作系統(tǒng)實(shí)用程序來(lái)安裝。例如,ERP系統(tǒng)可以是用來(lái)管理和協(xié)調(diào)資源、信息以及來(lái)自共享數(shù)據(jù)儲(chǔ)存器的業(yè)務(wù)的各功能的全組織范圍或全公司范圍的計(jì)算機(jī)軟件系統(tǒng)。在一定的實(shí)例中,例如,ERP系統(tǒng)可以具有面向服務(wù)的架構(gòu),其具有模塊化硬件和軟件單元以及在局域網(wǎng)上進(jìn)行傳送的“月艮務(wù)”。該模塊化設(shè)計(jì)在保持可以被集中化或分布的一個(gè)共享數(shù)據(jù)庫(kù)中的數(shù)據(jù)完整性的同時(shí), 可以便于業(yè)務(wù)添加或重新配置(可能來(lái)自不同的廠商)模塊。其它應(yīng)用可以包括字處理、電子表格、數(shù)據(jù)庫(kù)、圖形的、表示、套件程序等等。
準(zhǔn)確的軟件發(fā)現(xiàn)和清點(diǎn)通常是總信息技術(shù)(information technology, IT)基礎(chǔ)設(shè)施的重要部分。例如,它典型地對(duì)獲得全面的、可靠的以及規(guī)范化的已安裝應(yīng)用列表,例如以維持與廠商或客戶許可證協(xié)議的順應(yīng)是有益的。遺憾地,在操作系統(tǒng)中可容易獲得的應(yīng)用信息可能是不完整的、不一致的、非規(guī)范化的以及不準(zhǔn)確的。諸如發(fā)現(xiàn)和依賴映射(Discovery and Dependency Mapping,DDM))清點(diǎn)等等之類的清點(diǎn)方案可以利用基于文件的軟件應(yīng)用識(shí)別算法,所述算法利用軟件應(yīng)用庫(kù)來(lái)識(shí)別應(yīng)用并且以規(guī)范化形式來(lái)表示所清點(diǎn)的結(jié)果。然而,對(duì)這樣的庫(kù)的維護(hù)可能是非常資源密集的過(guò)程。有利地,本發(fā)明的示例性實(shí)施例可以增強(qiáng)現(xiàn)有的和新的軟件應(yīng)用識(shí)別算法以包括用于發(fā)現(xiàn)和識(shí)別已經(jīng)以程序包格式分發(fā)和安裝的軟件的基于規(guī)則的擴(kuò)展。換句話說(shuō),如下面更詳細(xì)地解釋的,采用靈活的規(guī)則來(lái)對(duì)應(yīng)用文件進(jìn)行清點(diǎn)和規(guī)范化,減少相關(guān)聯(lián)的文件庫(kù)的大小(并且因此減少了與填充該庫(kù)相關(guān)聯(lián)的時(shí)間)。總之,該技術(shù)可以顯著地減少對(duì)填充的需要,或者如果需要填充的話,則減少用應(yīng)用數(shù)據(jù)填充庫(kù)的時(shí)間,以及諸如在UNIX平臺(tái)和其它平臺(tái)的情況下提高應(yīng)用覆蓋范圍。圖1是依照本發(fā)明的示例性實(shí)施例的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)100,其在存儲(chǔ)器中存儲(chǔ)被配置為執(zhí)行應(yīng)用清點(diǎn)系統(tǒng)的代碼。清點(diǎn)服務(wù)器102和識(shí)別庫(kù)數(shù)據(jù)庫(kù)104可以在存儲(chǔ)器中存儲(chǔ)與程序包/文件關(guān)系信息、文件數(shù)據(jù)、識(shí)別規(guī)則以及文件數(shù)據(jù)規(guī)范化相關(guān)聯(lián)的代碼。在其它實(shí)施例中,此信息可以存儲(chǔ)在數(shù)據(jù)庫(kù)、存儲(chǔ)陣列、或任何數(shù)目的其它存儲(chǔ)選件中。應(yīng)當(dāng)注意,識(shí)別庫(kù)數(shù)據(jù)庫(kù)104可以是清點(diǎn)服務(wù)器102的一部分。在該系統(tǒng)100中,被管理設(shè)備106 (例如,服務(wù)器、計(jì)算機(jī)、膝上型計(jì)算機(jī)、打印機(jī)、掃描儀等)通過(guò)網(wǎng)絡(luò)主干108進(jìn)行耦合。清點(diǎn)服務(wù)器102、識(shí)別庫(kù)數(shù)據(jù)庫(kù)104以及被管理設(shè)備106可以提供用戶接口(例如,顯示監(jiān)視器、鍵盤、鼠標(biāo)等)以便于管理員或用戶存儲(chǔ)和利用該應(yīng)用清點(diǎn)系統(tǒng)。此外,如能夠理解的, 服務(wù)器102、庫(kù)數(shù)據(jù)庫(kù)104以及被管理設(shè)備106通常將包括諸如處理器的計(jì)算能力以操作該應(yīng)用清點(diǎn)系統(tǒng)的各種功能。最后,應(yīng)當(dāng)注意,該系統(tǒng)100可能比所描繪的更復(fù)雜,諸如具有與附加設(shè)備的子分支、到諸如因特網(wǎng)之類的外部網(wǎng)絡(luò)的連接,等等。另外,該系統(tǒng)100例如可能是用戶或提供者系統(tǒng)、資料處理中心等等??煽康能浖?yīng)用信息可能對(duì)于下列是有益的執(zhí)行成功的網(wǎng)絡(luò)或資料處理中心統(tǒng)一工程、確認(rèn)軟件許可證順應(yīng)和調(diào)和、支持資產(chǎn)管理功能,以及對(duì)于提供用于技術(shù)支持和維護(hù)的有用信息等等是有益的。一般地,IT財(cái)政預(yù)算越來(lái)越多的份額花費(fèi)在軟件上。此外, 軟件發(fā)行者可以審計(jì)他們的客戶的軟件環(huán)境。對(duì)于未通過(guò)審計(jì)的處罰常常是嚴(yán)重的,因此擁有準(zhǔn)確的軟件清點(diǎn)是有益的。雖然在傳統(tǒng)上發(fā)現(xiàn)一定的軟件應(yīng)用信息可能相對(duì)容易,但是它已經(jīng)難以以規(guī)范化形式可靠地對(duì)應(yīng)用進(jìn)行標(biāo)識(shí),如下面更詳細(xì)地討論的。例如,由Windows操作系統(tǒng)在“控制面板〉添加或刪除程序”(Windows Vista/Server 2008上的“程序和特征”)中顯示的信息是不規(guī)范的,并且對(duì)于許多條目,可能缺少諸如發(fā)行者和版本之類的一些詳細(xì)資料。在一些情況下,軟件已經(jīng)被移除,但是該條目可能仍然被顯示,而且,還有許多應(yīng)用選擇不在該列表中登記。為了克服這些問(wèn)題,先進(jìn)的軟件清點(diǎn)產(chǎn)品可以典型地基于組成該軟件應(yīng)用的文件的文件信息,采用應(yīng)用簽名庫(kù)來(lái)標(biāo)識(shí)各應(yīng)用。然而,對(duì)于所有的主流應(yīng)用而言使用最新的信息維護(hù)這樣的庫(kù)典型地需要許多時(shí)間和努力。按照慣例,為了創(chuàng)建應(yīng)用簽名,一個(gè)人通常必需研究該應(yīng)用、理解其部件結(jié)構(gòu)、安裝該應(yīng)用、了解哪些文件屬于哪個(gè)部件以及向該庫(kù)添加關(guān)于它們的信息。如稍后所討論的,在本發(fā)明的示例性實(shí)施例中,在仍然維持準(zhǔn)確性的同時(shí)提高了應(yīng)用庫(kù)開(kāi)發(fā)的生產(chǎn)率。例如使用DDM清點(diǎn)的當(dāng)前清點(diǎn)方案收集包括關(guān)于所有可執(zhí)行文件的信息的軟件清單。該軟件識(shí)別過(guò)程然后可以在清點(diǎn)服務(wù)器(例如,DDM清點(diǎn)服務(wù)器)上發(fā)生。在其它實(shí)施例中,該清點(diǎn)可以在正被清點(diǎn)的機(jī)器上進(jìn)行。在一定的實(shí)例中,該清點(diǎn)在包括文件、目錄以及機(jī)器的三個(gè)級(jí)別上實(shí)施。對(duì)于文件標(biāo)識(shí)而言,可以使用不同的文件屬性,諸如文件名、 大小、簽名、可執(zhí)行類型、版本數(shù)據(jù)等。在每個(gè)級(jí)別,識(shí)別算法通常嘗試創(chuàng)建文件能夠?qū)儆诘目赡艿膽?yīng)用版本的列表,并且然后,在每個(gè)級(jí)別的結(jié)尾,該算法說(shuō)明(account for)大多數(shù)或所有的文件并且標(biāo)識(shí)具有與所看到的文件數(shù)據(jù)的最佳匹配的應(yīng)用。該算法可以考慮關(guān)鍵可執(zhí)行文件以便標(biāo)識(shí)應(yīng)用安裝,并且其它的可執(zhí)行文件也可能記入應(yīng)用的識(shí)別率。作為此技術(shù)的結(jié)果,可以獲得規(guī)范化的已安裝應(yīng)用列表。規(guī)范化的數(shù)據(jù)表示對(duì)于IT資產(chǎn)管理是有益的以便以一致且可靠的方式表示數(shù)據(jù)。表1示出了關(guān)于Adobe/Macromedia的規(guī)范化和非規(guī)范化的發(fā)行者信息的示例。應(yīng)用庫(kù)中的諸如發(fā)行者、應(yīng)用、發(fā)行版、版本、操作系統(tǒng)、語(yǔ)言、文件等之類的所有的項(xiàng)通常具有與它們相關(guān)聯(lián)的唯一整數(shù)標(biāo)識(shí)符(ID)。一旦發(fā)出,典型地此ID就不改變。在很少的情況下,該字符串表示可能改變(例如當(dāng)一個(gè)公司購(gòu)買另一公司時(shí)一見(jiàn)表1中的Macromedia的示例),但是該項(xiàng)的ID通常保持相同。這便于為所識(shí)別的應(yīng)用信息建立到其它產(chǎn)品和外部系統(tǒng)的可靠映射。該軟件應(yīng)用庫(kù)為了軟件資產(chǎn)管理的目的能夠充當(dāng)目錄。該庫(kù)還支持軟件套件的概念,其中一個(gè)應(yīng)用(umbrella (傘)版本)涵蓋該套件中包括的部件的許可證,其允許準(zhǔn)確的要獲得的套件許可證計(jì)數(shù)。表1 規(guī)范化和非規(guī)范化的數(shù)據(jù)比較
權(quán)利要求
1.一種清點(diǎn)應(yīng)用程序文件的方法,包括 在計(jì)算機(jī)網(wǎng)絡(luò)中搜索被管理設(shè)備;在所述被管理設(shè)備上發(fā)現(xiàn)多個(gè)程序文件; 在所述被管理設(shè)備上發(fā)現(xiàn)已安裝程序包; 應(yīng)用規(guī)則來(lái)創(chuàng)建所述已安裝程序包的規(guī)范化表示;從程序包管理器取得所述已安裝程序包與所述多個(gè)程序文件之間的關(guān)系;以及標(biāo)記對(duì)應(yīng)于所述已安裝程序包的多個(gè)程序文件。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述程序包管理器包括針對(duì)Windows的微軟安裝器、針對(duì)Linux/AIX/UNIX的RPM程序包管理器、Solaris上的Pkg程序包管理器、Mac OS X 上的Pkg程序包管理器、HP-UX上的D印ot程序包管理器、AIX上的BFF程序包管理器以及 Debian衍生的LINUX上的DEB程序包管理器、或者其任何組合。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,應(yīng)用規(guī)則包括從所述應(yīng)用的程序包屬性提取所述應(yīng)用的發(fā)行版和版本。
4.根據(jù)權(quán)利要求1或2所述的方法,其中,應(yīng)用規(guī)則包括獲得以規(guī)范化形式的匹配的程序包信息。
5.根據(jù)權(quán)利要求1或2所述的方法,其中,應(yīng)用規(guī)則包括把所述程序文件的程序包屬性與應(yīng)用庫(kù)中存儲(chǔ)的規(guī)范化表示相匹配。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述程序包屬性包括類型、名稱、版本、或發(fā)行版、或其任何組合。
7.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,包括在應(yīng)用庫(kù)中查找所述規(guī)范化表示。
8.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,包括如果不存在規(guī)則則生成規(guī)則以創(chuàng)建所述已安裝程序包的規(guī)范化表示。
9.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,包括將所述規(guī)范化表示存儲(chǔ)在庫(kù)中。
10.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,其中,所述規(guī)范化表示包括所述應(yīng)用的發(fā)行版和版本。
11.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,包括將程序文件標(biāo)記為被識(shí)別為屬于所述已安裝程序包。
12.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的方法,包括將不對(duì)應(yīng)于已安裝程序包的所述多個(gè)程序文件與應(yīng)用的數(shù)據(jù)庫(kù)進(jìn)行比較。
13.一種用于清點(diǎn)計(jì)算機(jī)上的應(yīng)用程序文件的計(jì)算機(jī)系統(tǒng),包括 處理器;和存儲(chǔ)器,其具有存儲(chǔ)在其中的可執(zhí)行代碼并且被配置為在計(jì)算機(jī)網(wǎng)絡(luò)中搜索被管理設(shè)備;在所述被管理設(shè)備上發(fā)現(xiàn)程序文件;在所述被管理設(shè)備上發(fā)現(xiàn)已安裝程序包;應(yīng)用一個(gè)或多個(gè)規(guī)則以規(guī)范化所述已安裝程序包的表示;從程序包管理器取得所述已安裝程序包與所述程序文件之間的關(guān)系;以及如果所述程序文件屬于所述已安裝程序包則對(duì)它進(jìn)行標(biāo)記。
14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)系統(tǒng),其中,所述被管理設(shè)備包括運(yùn)行Windows操作系統(tǒng)、Linux操作系統(tǒng)、Unix操作系統(tǒng)、Mac操作系統(tǒng)、HP-UX操作系統(tǒng)、或其任何組合的計(jì)算機(jī)設(shè)備。
15. 一種有形的計(jì)算機(jī)可讀介質(zhì),包括代碼,所述代碼被配置為指導(dǎo)處理器在計(jì)算機(jī)網(wǎng)絡(luò)中搜索被管理設(shè)備;在所述被管理設(shè)備上發(fā)現(xiàn)多個(gè)程序文件;在所述被管理設(shè)備上發(fā)現(xiàn)已安裝程序包;應(yīng)用規(guī)則以創(chuàng)建所述已安裝程序包的規(guī)范化表示;從程序包管理器取得所述已安裝程序包與所述多個(gè)程序文件之間的關(guān)系;以及標(biāo)記對(duì)應(yīng)于所述已安裝程序包的多個(gè)程序文件。
全文摘要
提供了一種清點(diǎn)應(yīng)用程序文件的系統(tǒng)和方法。示例性方法包括在計(jì)算機(jī)網(wǎng)絡(luò)中搜索被管理設(shè)備和在所述被管理設(shè)備上發(fā)現(xiàn)程序文件。該示例性方法還包括標(biāo)識(shí)包括所述程序文件的已安裝程序包。該示例性方法此外還包括應(yīng)用一個(gè)或多個(gè)規(guī)則以規(guī)范化所述已安裝程序包的表示。
文檔編號(hào)G06F15/16GK102576344SQ200980161741
公開(kāi)日2012年7月11日 申請(qǐng)日期2009年7月31日 優(yōu)先權(quán)日2009年7月31日
發(fā)明者B.克沃爾基安, I.米爾亞諾瓦, V.米爾亞諾夫 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)