專利名稱:用于管理多主機環(huán)境下的公共信息模型的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種改善的數(shù)據(jù)處理系統(tǒng),并且具體來講,涉及一種用于多計算機系統(tǒng)管理的方法和設備。
背景技術:
計算機系統(tǒng)管理需要與計算機組件和網(wǎng)絡組件、這些項目的每一個的狀態(tài)及其關系有關的信息。這種信息可以包括網(wǎng)絡發(fā)現(xiàn)、網(wǎng)絡路徑、計算機、操作系統(tǒng)、文件系統(tǒng)、網(wǎng)卡、已安裝的應用、應用組件、用戶事務、使用統(tǒng)計以及其他信息。
有許多不同的方法來從計算機網(wǎng)絡及其組件中發(fā)現(xiàn)并且檢索部分這種信息,并且使這種信息可以為客戶端所利用。最常用的方法是學科特定的、域特定的或者單個主機特定的。學科特定的方法的示例是收集監(jiān)控和可用性信息以便對該信息采取動作。域特定的方法的示例是對諸如應用、模塊、小服務程序、EJB等的J2EETM資源的管理,其在JavaTM2平臺企業(yè)編輯管理規(guī)范(JavaTM2 Platform EnterpriseEdition Management Specification)的JavaTM規(guī)范請求(JSR)77中進行了定義。單個主機特定的方法的示例是MicrosoftTM的視窗管理工具(Windows Management Instrumentation,WMI),其中該單個主機特定的方法允許檢索與運行MicrosoftTMWindowsTM操作系統(tǒng)的計算機有關的信息。
然而,只選擇這些方法之一,還不足以識別和/或解決某些當今復雜的系統(tǒng)管理的問題。此外,這些方法中的每一種的實現(xiàn)方式通常使其發(fā)現(xiàn)的信息可以一種專有的方式利用。例如,系統(tǒng)管理員在多主機、多學科、多域環(huán)境中發(fā)現(xiàn)問題的根本原因方面將會是十分困難的,其中,在所述環(huán)境中,每種方法以不同的方式來揭示其信息,并且相關信息來自多個主機。同樣地,在確定哪些主機、其應用及其用戶在特殊的主機、操作系統(tǒng)、應用、文件服務器等因崩潰或者安排的系統(tǒng)維護而變得不可利用時將會受到影響的過程中,系統(tǒng)管理員也存在困難。
一種用于依照公共方式揭示來自不同域的信息的現(xiàn)有機制是通過分布式管理任務組(Distributed Management Task Force,DMTF)的公共信息模型(CIM)來實現(xiàn)的。信息可通過CIM模型由CIM對象管理器(CIM Object Manager,CIMOM)利用。CIMOM可以把信息保持在其存儲庫(repository)內(nèi),并且CIMOM還可以通過添加供應商插件(plug-in)來用附加信息進行擴展。CIM已經(jīng)成為軟件行業(yè)內(nèi)用于工具(instrumentation)和關系的共同特性(commondenominator)。有意義的基于CIM的數(shù)據(jù)目前可以在各種操作系統(tǒng)環(huán)境下被客戶端利用,所述操作系統(tǒng)環(huán)境例如是WindowsTM、SolarisTM、AIXTM、OS/400TM和zOSTM平臺。
客戶端可以與CIMOM連接并且檢索期望的信息。客戶端可以使用標準協(xié)議并結(jié)合應用編程接口(API)來遠程訪問這些信息,其中所述標準協(xié)議例如在2003年1月6日由Distributed Management TaskForce公司(DMTF)提出的“DMTF CIM Operations Over HTTP”(1.1版本)內(nèi)定義了,所述應用編程接口在2000年3月1日由SunMicrosystems提出的“JSR(Java Specification Request)48WBEM(Web-Based Enterprise Management)Services Specification”中定義了。JSR 48定義了用于從遠程CIMOM訪問基于CIM的數(shù)據(jù)的JavaTMAPI,以及用于利用供應商插件擴展可利用的CIMOM內(nèi)容的附加API。
然而,在所述CIMOM體系結(jié)構(gòu)內(nèi)也存在不足?,F(xiàn)有的CIMOM無法揭示來自一個以上的主機中的信息,即使所述主機具有同一平臺類型也一樣。此外,現(xiàn)有CIMOM既不支持也不管理一個以上的主機之間的關系。此外,現(xiàn)有CIMOM不支持通常無法共存或者位于不同模式級別(schema level)的模型。不會在同一CIMOM中發(fā)現(xiàn)的兩個模型的示例是SolarisTM特定的CIM模型和WindowsTM特定的CIM模型。不同模式級別的示例是CIM版本2.7模式和CIM版本2.8模式。
因此,提供一種具有將來自多種類型的方法、主機和版本的模型和信息進行整合(integrate)的能力的系統(tǒng)和方法,將是十分有益的,其中所述能力包括可根據(jù)需要建模并包括附加的工具(當其不存在時)。此外,還將會十分有益的是,特別是通過使用程序設計機制來建模、創(chuàng)建和管理跨系統(tǒng)的和跨領域的關系,以便依照統(tǒng)一的方式向客戶端揭示信息。
發(fā)明內(nèi)容
一種用于在數(shù)據(jù)處理系統(tǒng)內(nèi)采用公共信息模型(CIM)資源的方法和系統(tǒng)。接收關于對CIM資源的操作的請求,并且就所述請求是可以在本地實現(xiàn)還是在遠程實現(xiàn)進行確定。響應于在本地實現(xiàn)所述請求的確定,把所述請求委托(delegate)給本地CIM對象管理器(CIMOM)功能,以便從本地存儲庫或者從在本地管理的供應商那里獲得結(jié)果數(shù)據(jù)。響應于在遠程實現(xiàn)所述請求的確定,把所述請求委托給一個或多個遠程CIMOM,并且從多個遠程CIMOM中聚集結(jié)果數(shù)據(jù)。然后,把所述結(jié)果數(shù)據(jù)返回給所述請求的發(fā)起者。
在所附權利要求書中闡明了被認為是本發(fā)明的特性的新穎特征。當結(jié)合附圖閱讀時,通過參考如下詳細說明,將會更好地理解本發(fā)明本身、其進一步的目的和優(yōu)點,其中圖1A描述了每一個均可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的典型網(wǎng)絡;圖1B描述了在可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)內(nèi)使用的典型計算機體系結(jié)構(gòu);
圖2描述了用于示出具有典型CIMOM的典型企業(yè)數(shù)據(jù)處理系統(tǒng)的框圖;圖3是示出了根據(jù)本發(fā)明的實施例、針對多個CIM對象管理器經(jīng)由CIM聚集器(Aggregator)執(zhí)行系統(tǒng)管理的組件配置的框圖;圖4是示出了根據(jù)本發(fā)明實施例的CIM聚集器的初始化處理的流程圖;圖5是示出了根據(jù)本發(fā)明實施例的CIM聚集器的終止處理的流程圖;圖6是示出了根據(jù)本發(fā)明實施例、用于在CIM聚集器中處理對涉及元數(shù)據(jù)的操作的請求的處理的流程圖;圖7是示出了根據(jù)本發(fā)明實施例、用于在CIM聚集器中處理某些類型的涉及實例的操作、涉及屬性的操作和涉及方法的操作的處理的流程圖;并且圖8A-8B是示出了根據(jù)本發(fā)明實施例、用于在CIM聚集器中處理某些類型的涉及實例的列舉操作的處理的流程圖。
具體實施例方式
總體上講,可以包括或者涉及本發(fā)明的設備包括各式各樣的數(shù)據(jù)處理技術。因此,在比較詳細地描述本發(fā)明之前,作為背景技術,先描述分布式數(shù)據(jù)處理系統(tǒng)內(nèi)的硬件和軟件組件的典型結(jié)構(gòu)。
現(xiàn)在參考附圖,圖1A描述了每一個均可以實現(xiàn)本發(fā)明的一部分的數(shù)據(jù)處理系統(tǒng)的典型網(wǎng)絡。分布式數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡101,其是可用來在分布式數(shù)據(jù)處理系統(tǒng)100內(nèi)的連接在一起的各種設備和計算機之間提供通信鏈路的介質(zhì)。網(wǎng)絡101可以包括永久連接,諸如有線或者光纖電纜,或者包括經(jīng)由電話或者無線通信實現(xiàn)的暫時連接。在所述的例子中,服務器102和服務器103連同存儲單元104一起與網(wǎng)絡101相連。另外,客戶端105-107也與網(wǎng)絡101相連??蛻舳?05-107和服務器102-103可以由各種計算設備表示,諸如大型機、個人計算機、個人數(shù)字助理(PDA)等。分布式數(shù)據(jù)處理系統(tǒng)100可以包括附加的未示出的服務器、客戶端、路由器、其它設備以及對等體系結(jié)構(gòu)。
在所述的例子中,分布式數(shù)據(jù)處理系統(tǒng)100可以包括互聯(lián)網(wǎng)(網(wǎng)絡101表示網(wǎng)絡的全球集合)以及使用各種協(xié)議進行彼此通信的網(wǎng)關,所述協(xié)議諸如是輕型目錄訪問協(xié)議(LDAP)、傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)、超文本傳輸協(xié)議(HTTP)、無線應用協(xié)議(WAP)等。當然,分布式數(shù)據(jù)處理系統(tǒng)100還可以包括多個不同類型的網(wǎng)絡,諸如例如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)或者廣域網(wǎng)(WAN)等。例如,服務器102直接支持網(wǎng)絡109以及客戶端110;網(wǎng)絡109包括無線通信鏈路。網(wǎng)絡啟用的(network-enabled)電話111和PDA 112可以使用適當?shù)募夹g、例如經(jīng)由BluetoothTM無線技術或者Wi-Fi技術(IEEE802.11),跨越無線鏈路113在它們自身之間直接傳送數(shù)據(jù),其中所述技術允許創(chuàng)建所謂的個人區(qū)域網(wǎng)(PAN)或者個人特設(ad-hoc)網(wǎng)絡。電話111通過無線鏈路114與網(wǎng)絡109連接,并且PDA 112通過無線鏈路115與網(wǎng)絡109連接。按照類似方式,PDA 112可以經(jīng)由無線鏈路116向PDA 107傳送數(shù)據(jù)。
本發(fā)明可以在各種硬件平臺上實現(xiàn);圖1A用作異類計算環(huán)境的示例,而不是作為對本發(fā)明的體系結(jié)構(gòu)限制。
現(xiàn)在參考圖1B,該圖描述了可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)(諸如圖1A中示出的那些)的典型計算機體系結(jié)構(gòu)。數(shù)據(jù)處理系統(tǒng)120包含一個或多個連接至內(nèi)部系統(tǒng)總線123的中央處理單元(CPU)122,所述內(nèi)部系統(tǒng)總線123用于互連隨機存取存儲器(RAM)124、只讀存儲器126和用于支持各種I/O設備的輸入/輸出適配器128,其中所述I/O設備諸如是打印機130、盤單元132或者其它未示出的設備、諸如音頻輸出系統(tǒng)等。系統(tǒng)總線123還連接通信適配器134,其用于提供對通信鏈路136的訪問。用戶接口適配器148連接各種用戶設備,諸如鍵盤140和鼠標142,或者其它未示出的設備,諸如觸摸屏、輸入筆、麥克風等。顯示適配器144把系統(tǒng)總線123連接至顯示設備146。
應該理解的是,圖1B中的硬件在不同系統(tǒng)中可以有所變化。例如,系統(tǒng)可以具有不同的處理器,諸如基于IntelPentium的處理器和數(shù)字信號處理器(DSP),以及不同類型的存儲器。除了所述硬件之外,或者用來代替所述硬件,還可以使用其它外圍設備,這不意味著暗示對本發(fā)明進行限制。除了能夠在各種硬件平臺上實現(xiàn)以外,本發(fā)明還可以在各種軟件環(huán)境下實現(xiàn)。例如,一種設備可以運行Unix操作系統(tǒng),而另一種設備支持Java運行時環(huán)境。
現(xiàn)在參考圖2,該框圖描述了典型的企業(yè)數(shù)據(jù)處理系統(tǒng)。盡管圖1A描述了具有客戶端和服務器的典型數(shù)據(jù)處理系統(tǒng),但是,與此相比,圖2示出了網(wǎng)絡內(nèi)涉及某些服務器側(cè)實體的客戶端,其中該服務器側(cè)實體可用來支持訪問資源的客戶端請求。如在典型計算環(huán)境下那樣,企業(yè)域200保存用戶202可以訪問的資源,其中所述資源例如通過使用客戶端設備206上的客戶端應用204經(jīng)由網(wǎng)絡208來訪問;所述計算機網(wǎng)絡可以是因特網(wǎng)、內(nèi)聯(lián)網(wǎng)或者其它網(wǎng)絡,如圖1A所示。
企業(yè)域200支持多個服務器。應用服務器210支持對受控資源和/或不受控資源的訪問,其中所述資源包括基于web的應用或者其它類型的后端應用(包括傳統(tǒng)應用)。企業(yè)域200還包含CIM(公共信息模型)對象管理器(CIMOM)212及其對象存儲庫214。CIMOM 212提供了標準化接口,其允許遵照CIM的應用210訪問存儲在存儲庫214內(nèi)的管理數(shù)據(jù)。
反向代理服務器216、或簡稱為代理服務器216執(zhí)行企業(yè)域200的各種各樣的功能。例如,代理服務器216可以高速緩存網(wǎng)頁,以便鏡像來自應用服務器的內(nèi)容。輸入和輸出的數(shù)據(jù)流可以分別由輸入數(shù)據(jù)流過濾器218和輸出數(shù)據(jù)流過濾器220來處理,以便根據(jù)在各種策略內(nèi)指定的目標和條件、或者根據(jù)所采納的軟件模塊的配置,來對輸入的請求和輸出的響應執(zhí)行各種處理任務。會話管理單元222針對由代理服務器216識別的會話,管理會話標識符、經(jīng)高速緩存的憑證或者其它信息。
企業(yè)域200內(nèi)的上述實體表示許多計算環(huán)境內(nèi)的典型實體。然而,許多企業(yè)域具有用于控制對受保護的計算資源的訪問的安全特性。驗證服務器224可以支持各種驗證機制,諸如用戶名/密碼、X.509證書或者安全令牌;多個驗證服務器可以專用于專門的驗證方法。授權服務器226可以采用授權數(shù)據(jù)庫228,其包含諸如訪問控制列表230、授權策略232、與用戶組或角色234有關的信息、以及與特殊管理員組236內(nèi)的管理員用戶有關的信息之類的信息。使用這些信息,授權服務器226向代理服務器216提供指示,以表明是否應該允許繼續(xù)進行特定請求,例如,是否應該響應于來自客戶端206的請求而允許訪問受控資源。應該注意的是,本發(fā)明可以與各種驗證和授權應用相結(jié)合地實現(xiàn),并且就驗證和授權服務的配置而言,此處所描述的本發(fā)明的實施例不應該被解釋為限制本發(fā)明的范圍。
如先前描述的附圖中所描繪的那樣,典型的計算環(huán)境可以包括用于支持客戶端應用的服務器,所述客戶端應用用于請求來自服務器的資源。計算資源可以是電子數(shù)據(jù)處理設備/子系統(tǒng)/系統(tǒng)、應用、對象、可執(zhí)行代碼模塊、文檔、網(wǎng)頁、文件、數(shù)據(jù)庫、數(shù)據(jù)庫記錄、各種其它類型的功能單元、各種其它類型的信息單元或者各種類型的通信功能。受保護或受控的資源是這樣一種資源,只有當提出請求的客戶端或提出請求的用戶被驗證和/或授權時,才能對其進行訪問或檢索;在某些情況下,默認地,通過驗證的用戶是被授權的用戶。
盡管如此,但是更具體地說,本發(fā)明致力于在數(shù)據(jù)處理環(huán)境內(nèi)改善系統(tǒng)管理。雖然本發(fā)明可以鑒于其它系統(tǒng)管理模型規(guī)范來實現(xiàn),但是在下文中本發(fā)明是鑒于公共信息模型(CIM)規(guī)范來描述的。
所述CIM規(guī)范意在表示構(gòu)成數(shù)據(jù)處理環(huán)境的計算資源和那些計算資源之間的關系。所述CIM規(guī)范支持數(shù)據(jù)處理環(huán)境內(nèi)的實體的端到端管理。概括地說,由Distributed Management Task Force公司(DMTF)推動的所述CIM標準和規(guī)范支持管理基礎設施。所述CIM規(guī)范描述了對于基于面向?qū)ο蟮姆独南到y(tǒng)、軟件、網(wǎng)絡和用戶管理的方法。所述CIM規(guī)范提供了一種標準的、統(tǒng)一的概念框架,其用于通過把信息組織為一種分級的類集合,來描述受管環(huán)境下的物理和邏輯對象,其中所述分級的類集合描述了受管環(huán)境下的對象。每一類中的屬性描述了按照類封裝的數(shù)據(jù)。通過使用CIM關聯(lián)類,可以把對象與其它對象相關。
更具體地說,依據(jù)由Distributed Management Task Force公司(DMTF)于1999年6月14日發(fā)布的公共信息模型(CIM)規(guī)范(2.2版本),CIM是以其中可以把受管環(huán)境看作是相互關聯(lián)的系統(tǒng)的集合的這樣一種方式構(gòu)造的,其中每個系統(tǒng)包括多個獨立的元件。管理模式是用于管理平臺和管理應用的構(gòu)建塊,諸如是設備配置、性能管理和變化管理。CIM向類集合提供屬性和關聯(lián),其提供了更好理解的概念框架,在該概念框架內(nèi),能夠組織關于受管環(huán)境的可用信息。應用開發(fā)者可以編寫將針對對象模式來進行操作的代碼。
CIM自身被構(gòu)造為這些不同的層核心模型、公共模型和擴展模式;核心模型和公共模型經(jīng)常一起被稱為CIM模式。所述核心模型是這樣一種信息模型,其用于獲取可適用于所有管理區(qū)域的概念。所述公共模型是這樣一種信息模型,其用于獲取特殊管理區(qū)域所共有的、但獨立于特殊技術或者實現(xiàn)方式的概念。所述公共區(qū)域可以包括系統(tǒng)、應用、網(wǎng)絡和設備。特別的是,所述信息模型是足夠特定的,以便為管理應用的開發(fā)提供基礎;此模式為擴展到技術特定的模式區(qū)域中提供了基礎類集合。擴展模式表示對公共模型的技術特定的擴展;這些模式對于諸如操作系統(tǒng)之類的環(huán)境來說是特定的,所述操作系統(tǒng)例如是UNIXTM或者MicrosoftTMWindowsTM。
所述核心模型是類、關聯(lián)和屬性的集合,用于提供用于分析和描述受管系統(tǒng)的基本詞匯。所述核心模型表示分析器在確定如何擴展公共模式的過程中的起點。所述公共模型是基本類集合,其用于定義各種與技術無關的區(qū)域,諸如系統(tǒng)、應用、網(wǎng)絡和設備。公共模型中的類、屬性、關聯(lián)和方法意在提供這樣一種區(qū)域視圖(view),其足夠詳細,以便用作程序設計的基礎,并且在某些情況下還用作實現(xiàn)的基礎。在提供了公共模型類的具體的類和實現(xiàn)的、平臺特定的添加中,在公共模型下面添加了擴展。當公共模型被擴展時,它將提供較寬范圍的信息。所述擴展模式是對公共模型的技術特定的擴展。模型的構(gòu)造被存儲在存儲庫內(nèi),其中該存儲庫可以使用各種類型的數(shù)據(jù)庫來實現(xiàn)。
元模式(Meta Schema)是模型的正式定義。它定義了用于表示所述模型及其使用和語義的術語。可以使用統(tǒng)一建模語言(UML)來定義元模式的結(jié)構(gòu)。所述模型的元素是模式、類、屬性和方法。所述模型還支持作為類的類型的指示和關聯(lián)、以及作為屬性類型的參考(reference)。
模式是具有單個擁有者的一組類。所述模式用于管理和類命名。類名在其擁有的模式內(nèi)必須是唯一的。類是用于支持同一類型、也就是相同屬性和方法的實例的集合??梢砸勒找话慊姆旨壗Y(jié)構(gòu)來設置類,所述一般化分級結(jié)構(gòu)表示類之間的子類型關系。類可以具有方法,其表示與該類相關的行為。通過作為關聯(lián)所擁有的參考之一的目標,類可以參與到關聯(lián)中。類還具有實例。
屬性是用于表征類的實例的值??梢园褜傩钥醋魇且粚Α癵et(獲得)”和“set(設置)”函數(shù),當將其應用于對象時,其分別用于返回狀態(tài)和設置狀態(tài)。方法是對簽名的聲明,即,方法名稱、返回類型和參數(shù),并且在一個具體的類的情況下,其可以隱含實現(xiàn)方式。觸發(fā)是對類實例的狀態(tài)改變和屬性的更新或訪問的識別。指示是作為觸發(fā)的結(jié)果而創(chuàng)建的對象。因為指示是類的子類型,所以它們可以具有屬性和方法,并且可以依照類型分級結(jié)構(gòu)來設置。
關聯(lián)是包含兩個或更多參考的類。它表示兩個或更多對象之間的關系。由于定義關聯(lián)的方式,所以能夠在不影響任何相關類的情況下來建立類之間的關系。也就是說,關聯(lián)的添加不影響相關類的接口。參考定義了關聯(lián)中每個對象所起的作用。所述參考表示在關聯(lián)的上下文下類的作用名。關聯(lián)支持提供特定對象的多個關系實例。例如,系統(tǒng)可以涉及許多系統(tǒng)組件。
使用限定詞來表征命名的元素;例如,存在用于定義屬性的特性或者類的關鍵詞的限定詞。限定詞提供了這樣一種機制,其使得元模式能夠以有限的并且受控的方式來擴展。能夠通過引入新的限定詞名稱來添加新類型的限定詞,借此向用于管理和操作所述元模式的類、屬性以及其它元素的處理提供新類型的元數(shù)據(jù)。
鑒于上述背景信息,在下文將根據(jù)其余附圖來比較詳細地解釋本發(fā)明的實施例。
現(xiàn)在參考圖3,該框圖描述了根據(jù)本發(fā)明的實施例、針對多個CIM對象管理器經(jīng)由CIM聚集器執(zhí)行系統(tǒng)管理的組件配置。在本發(fā)明內(nèi),CIM聚集器擴展CIM對象管理器(CIMOM)的標準實現(xiàn)方式和語義,其中所述CIMOM支持遵照CIM的系統(tǒng)管理應用。CIM聚集器充當用于可在本地實現(xiàn)的請求的典型的CIMOM。另外,根據(jù)需要,CIM聚集器通過把CIM請求路由至外部CIMOM,來支持多個遠程的同時作用的主機。因此,在圖3中示出的所述實施例中,CIM聚集器300的功能包括本地CIMOM 302的功能和CIMOM路由器304的功能。
本地CIMOM功能單元302與典型的CIMOM功能單元進行交互,其中典型的CIMOM功能單元諸如為用于與供應商插件進行接口的供應商插件接口306,用于根據(jù)多種協(xié)議和數(shù)據(jù)格式來處理和/或變換消息的協(xié)議適配器單元308,以及安全管理單元310;沒有示出其它可能的功能單元。術語“供應商插件”相當于通常在CIM上下文下使用的術語“供應商”;此處使用術語“供應商插件”來把供應商插件與在數(shù)據(jù)處理系統(tǒng)內(nèi)所采用的其它類型的計算資源加以區(qū)分。CIMOM路由器304包括允許它執(zhí)行其操作的功能單元,諸如CIMOM連接管理單元312以及未示出的其它可能的功能單元。CIM連接管理單元312例如通過維護CIMOM連接的可配置池來執(zhí)行與遠程CIMOM 314的連接管理。不過,應當指出的是,任何圖示的組件之間的關系可以被認為是邏輯關系;因此,CIM聚集器300可以不作為單片應用來實現(xiàn),其中所述單片應用可通過編程來包含本地CIMOM302和CIMOM路由器304,但是根據(jù)需要其僅僅在獨立執(zhí)行的組件之間提供接口。
CIM聚集器300支持對來自存儲庫316、來自聚集器供應商插件318以及來自所有已注冊遠程CIMOM 314的關系和工具實例的創(chuàng)建、修改和刪除。通過對CIM聚集器實現(xiàn)的單個請求,關系和工具實例還可以從存儲庫316、從聚集器供應商插件318、從特定的遠程主機、從所有遠程主機、或者從所有這些來源的組合中進行檢索。
通過CIM聚集器可以獲得的注冊信息,遠程CIMOM對于CIM聚集器來說是已知的。在遠程CIMOM針對給定的CIM聚集器進行注冊之后,所述遠程CIMOM的標識或者位置對于CIM聚集器來說是已知的。在不影響CIM聚集器的實現(xiàn)的情況下,遠程CIMOM針對特殊CIM聚集器進行注冊的處理可以發(fā)生改變。例如,遠程CIMOM的注冊表可以被用作支持CIM聚集器的系統(tǒng)內(nèi)的數(shù)據(jù)存儲設備(datastore)中的配置文件或者一部分的配置數(shù)據(jù)。作為選擇,與遠程CIMOM有關的信息可以由系統(tǒng)管理員通過管理實用應用來輸入,借此,相對于所述CIM聚集器在本地存儲與遠程CIMOM有關的信息。關于遠程CIMOM的注冊信息可以存儲在本地CIM存儲庫中。
CIM聚集器300例如經(jīng)由客戶端接口322與遵照CIM的系統(tǒng)管理應用320進行交互。例如,雖然客戶端接口322可以被擴展以便與CIM聚集器300的最新功能進行接口,但是客戶端接口322可以支持典型的JavaTMWBEM客戶端API,以便支持從諸如系統(tǒng)管理應用320之類的CIMOM客戶端進行的連接。
CIM聚集器的CIM路由功能允許諸如系統(tǒng)管理員之類的用戶具有管理多個CIM主機就好像這些CIM主機是一個主機一樣的能力。經(jīng)由CIM進行系統(tǒng)管理,根據(jù)需要通常要求與每個特定主機的連接。然而,通過使用本發(fā)明,所述CIM聚集器向用戶給予了將來自多個遠程主機的信息與本地的相關數(shù)據(jù)進行整合的能力。當列舉屬于不同主機的實例時,或者當導航跨系統(tǒng)的關系時,所述CIM聚集器除去了對客戶端應用連接到不同CIMOM或與不同CIMOM斷開連接的要求。
存儲庫316提供了支持典型CIMOM行為的功能;因此,存儲庫316可以依照各種方式來實現(xiàn),如在CIM環(huán)境下典型的那樣。所述存儲庫可以是單個文件、嵌入式CIMOM、關系型數(shù)據(jù)庫或者某些其它實現(xiàn)方式。依照典型的方式,在存儲庫316內(nèi)存儲用于所支持的工具類型的元數(shù)據(jù)。存儲在存儲庫內(nèi)的元數(shù)據(jù)包括CIM命名空間、限定詞類型和類的定義。
然而,為了支持本發(fā)明的實現(xiàn)方式,存儲庫316還存儲了附加信息,這些附加信息往往不會在典型的CIMOM實現(xiàn)方式內(nèi)被找到。例如,CIM聚集器的配置數(shù)據(jù)可以被存儲在存儲庫內(nèi)。這包括CIM類和實例,以便配置與遠程CIMOM的連接并且管理這些連接的安全性。配置數(shù)據(jù)還包括是否/哪些聚集器供應商插件為哪些CIM類而執(zhí)行。把對操作元數(shù)據(jù)的請求處理為標準的CIMOM存儲庫功能。這包括對創(chuàng)建、修改、列舉和刪除CIM命名空間、限定詞類型和類的請求。
所述CIM規(guī)范包含CIM Object Path(CIM對象路徑)的概念,以便指定由客戶端程序所請求的對象的位置、類型和標識。在典型的CIM實現(xiàn)方式中,所述位置語義用來與單個CIMOM連接,然后接著利用該單個CIMOM;如果客戶端要求與另一CIMOM的連接,那么由客戶端執(zhí)行另一連接,并且接著使用第二CIMOM。利用本發(fā)明,CIM聚集器擴展位置的語義,以便同時管理客戶端與多個CIMOM的連接,從而把這多個連接視為一個邏輯CIMOM,如下文中更加詳細解釋的那樣。例如,如果對于CIMOM請求在“CIMObjectPath”變量中識別出特定的主機,那么CIM聚集器把所述請求僅委托給該遠程CIMOM,然后把該遠程CIMOM的結(jié)果返回給調(diào)用者。另一方面,如果對于CIMOM請求在“CIMObjectPath”中沒有識別出特定的主機,那么CIM聚集器將在所有已注冊的遠程CIMOM上調(diào)用該請求,收集來自所有遠程CIMOM的結(jié)果,然后把所收集的結(jié)果返回給調(diào)用者。
典型的CIMOM接口包括幾個主要類型的入口點。對流程圖的如下描述對應于CIM聚集器的用于這些類型的操作的行為。
現(xiàn)在參考圖4,該流程圖描述了根據(jù)本發(fā)明實施例的CIM聚集器的初始化處理。一旦創(chuàng)建了CIM聚集器時,就執(zhí)行圖4中示出的處理。通過初始化所述存儲庫來開始所述處理(步驟402)。創(chuàng)建用于CIM聚集器的供應商插件的供應商管理器(步驟404),并且還創(chuàng)建用于管理遠程CIMOM的安全性的安全管理器(步驟406)。執(zhí)行授權操作,以便確保用戶是被授權來使用CIM聚集器的(步驟408);如果不是的話,那么將返回錯誤消息或者指示。
然后,為CIM聚集器的遠程CIMOM創(chuàng)建管理器(步驟410),其包括涉及每個已注冊的遠程CIMOM的迭代處理。確定下一個未處理的已注冊遠程CIMOM(步驟412),并且從所述存儲庫中檢索該已注冊遠程CIMOM的配置數(shù)據(jù)(步驟414)。從安全管理器中檢索該已注冊遠程CIMOM的驗證信息(步驟416)。然后,所述CIM聚集器使用從安全管理器檢索的驗證信息來與該已注冊遠程CIMOM進行連接(步驟418)。就另一已注冊遠程CIMOM是否仍未處理進行確定(步驟420),并且倘若如此,那么所述處理分支轉(zhuǎn)移回到步驟412,以便對它進行處理。否則,如果已經(jīng)對每個已注冊遠程CIMOM進行了連接,那么結(jié)束所述處理。
現(xiàn)在參考圖5,該流程圖描述了根據(jù)本發(fā)明的實施例的CIM聚集器的終止處理。一旦CIM聚集器關閉或終止時,就執(zhí)行圖5中示出的處理。所述處理通過關閉用于CIM聚集器的遠程CIMOM的管理器而開始(步驟502),其包括涉及已經(jīng)與其連接的每個已注冊遠程CIMOM的迭代處理。確定與遠程CIMOM的下一未處理的連接(步驟504),并且關閉所述連接(步驟506)。就另一遠程CIMOM連接是否仍未處理進行確定(步驟508),并且倘若如此,那么所述處理分支轉(zhuǎn)移回到步驟504,以便對它進行處理。否則,關閉用于CIM聚集器的供應商插件的供應商管理器(步驟510)。然后,所述存儲庫被關閉(步驟512),并且結(jié)束該處理。
現(xiàn)在參考圖6,該流程圖描述了根據(jù)本發(fā)明的實施例、用于在CIM聚集器中處理對涉及元數(shù)據(jù)的操作的請求的處理。當接收到對于涉及元數(shù)據(jù)的操作的請求時開始所述處理(步驟602)。把所述請求委托給存儲庫(步驟604),并且結(jié)束該處理。
如圖6所示,所有元數(shù)據(jù)操作都被直接委托給存儲庫,其中包括用于直接處理對命名空間、限定詞類型和類的創(chuàng)建、修改、列舉和刪除的所有操作。還包括涉及類之間的關系定義的操作。特定的涉及元數(shù)據(jù)的操作是創(chuàng)建命名空間、列舉命名空間、刪除命名空間、創(chuàng)建限定詞類型、設置限定詞類型、獲得限定詞類型、列舉限定詞類型、刪除限定詞類型、創(chuàng)建類、設置類、獲得類、列舉類名、列舉類、刪除類、關聯(lián)器(associator)名稱(用于類的)、關聯(lián)器(用于類的)、參考名稱(用于類的)和參考(用于類的)。
現(xiàn)在參考圖7,該流程圖描述了根據(jù)本發(fā)明的實施例、用于在CIM聚集器中處理某些類型的涉及實例的操作、涉及屬性的操作和涉及方法的操作的處理。包括創(chuàng)建、修改和刪除的涉及屬性的操作、涉及方法的操作和涉及實例的操作遵循圖7中示出的概括性處理。所述處理從確定來自所接收到的請求的被請求操作的目標CIM類是否由CIM聚集器內(nèi)部管理來開始(步驟702)。倘若如此,那么就是否存在用于此類和此操作的CIM聚集器供應商插件進行確定(步驟704)。倘若如此,那么,如果所述供應商插件先前沒有被初始化,則對其進行初始化(步驟706),并且把所述請求委托給用于此類和此操作的特定CIM聚集器供應商插件來處理(步驟708),并且結(jié)束該處理。否則,如果用于被請求操作的目標CIM類被內(nèi)部管理,但是沒有CIM聚集器供應商插件,那么把所述請求委托給CIM聚集器的存儲庫(步驟710),并且結(jié)束該處理。
如果在步驟702中確定來自所接收到的請求的被請求操作的目標CIM類不是由CIM聚集器內(nèi)部管理的,那么就是否存在面向此類此操作的特定的遠程、已注冊CIMOM進行確定(步驟712)。倘若如此,那么把所述請求委托給用于此類此操作的特定的遠程、已注冊CIMOM(步驟714);否則,把請求委托給用于此類此操作的所有已注冊的遠程CIMOM(步驟716)。不論是哪種情況,然后都結(jié)束該處理。
現(xiàn)在參考圖8A-8B,該流程圖描述了根據(jù)本發(fā)明實施例、用于在CIM聚集器中處理某些類型的涉及實例的列舉操作的處理。涉及實例的列舉操作包括列舉實例名稱、列舉實例、關聯(lián)器名稱(用于實例的)、管理器(用于實例的)、參考名稱(用于實例的)和參考(用于實例的);所有這些操作都遵循圖8A-8B中示出的概括性處理。
所述處理從分配空的數(shù)據(jù)結(jié)構(gòu)、例如列表以便保持被請求操作的結(jié)果而開始(步驟802)。然后,就來自所接收到的請求的被請求操作的目標CIM類是否由CIM聚集器內(nèi)部管理進行確定(步驟804)。倘若如此,那么就是否存在用于此類和此操作的CIM聚集器供應商插件進行確定(步驟806)。倘若如此,那么,如果所述供應商插件先前未被初始化的話,則對其進行初始化(步驟808),并且把所述請求委托給用于此類和此操作的特定CIM聚集器供應商插件來處理(步驟810)。把供應商插件的任何結(jié)果添加到所分配的列表中的任何先前存儲的結(jié)果中(步驟812)。否則,如果所請求操作的目標CIM類被內(nèi)部管理,但沒有CIM聚集器供應商插件,那么把請求委托給CIM聚集器的存儲庫(步驟814),并且把來自存儲庫的任何結(jié)果都添加到所分配的列表內(nèi)的任何先前存儲的結(jié)果上(步驟816)。
如果在步驟804中確定來自所接收到的請求的被請求操作的目標CIM類不是由CIM聚集器內(nèi)部管理的,那么就是否存在面向此類此操作的特定的遠程、已注冊CIMOM進行確定(步驟818)。倘若如此,那么把請求委托給用于此類此操作的特定的遠程、已注冊CIMOM(步驟820),并且把來自該特定的遠程、已注冊CIMOM的任何結(jié)果添加到所分配列表內(nèi)的任何先前存儲的結(jié)果上(步驟822)。否則,如果沒有作為所請求操作的目標的特定的遠程、已注冊CIMOM,那么把該請求委托給用于此類此操作的所有已注冊的遠程CIMOM(步驟824),并且把來自該特定的遠程、已注冊CIMOM的任何結(jié)果添加到所分配列表內(nèi)的任何先前存儲的結(jié)果上(步驟826)。
在由適當?shù)墓滩寮诓襟E810中、由本地存儲庫在步驟814中、由特定的遠程CIMOM在步驟820中、或者由所有適當?shù)倪h程CIMOM在步驟824中處理了所請求的操作之后,然后就是否需要遍及指定類的所有子類進行深度搜索進行確定(步驟828),此操作是由所請求的操作所隱含的或者是由操作的調(diào)用者特別請求的。倘若如此,那么通過目前正處理的類的子類進行遞歸循環(huán);換言之,對于指定類的每一子類而言,在圖8A-8B中示出的邏輯在特定子類上被遞歸執(zhí)行,并且來自遞歸邏輯流程的結(jié)果被添加到所分配的列表內(nèi)的結(jié)果中。
通過識別當前特定類的下一未處理子類(步驟830),然后對所識別的子類在圖示的處理內(nèi)遞歸地執(zhí)行所述邏輯(步驟832),之后把結(jié)果添加到所分配列表內(nèi)的先前存儲的結(jié)果中(步驟834),來啟動對圖8B中另一級別的這種遞歸操作。就當前指定的類中是否存在任何其它未處理的子類進行確定(步驟836);倘若如此,那么該處理分支轉(zhuǎn)移回到步驟830,以便處理另一子類,并且如果不是的話,那么退出循環(huán)。
當在步驟828中確定是否遍及當前指定的類的所有子類進行深度搜索時,把已經(jīng)存儲在所分配的列表內(nèi)的結(jié)果返回給適當?shù)恼{(diào)用者(步驟838),并且結(jié)束該處理。應該注意的是,在如圖8A-8B所示的處理中,所請求的操作的結(jié)果在返回單個值之前在該操作內(nèi)被完全確定和收集。在可替代的實施例中,列舉可以被立即返回給已經(jīng)請求該操作的調(diào)用者。當調(diào)用者使用列舉來請求結(jié)果集合中的單個條目時,在這時,可能的是,從存儲庫、CIM聚集器供應商插件和遠程的已注冊CIMOM執(zhí)行實際檢索。
通過參考上文提供的對本發(fā)明的詳細說明,對于本領域普通技術人員來說,本發(fā)明的優(yōu)點應當是顯然的。通過使用本發(fā)明,所述CIM聚集器向用戶給予了將來自多個遠程主機的信息與本地的相關數(shù)據(jù)進行整合的能力。當列舉屬于不同主機的實例時,或者當導航跨系統(tǒng)的關系時,所述CIM聚集器除去了對客戶端應用連接到不同CIMOM或與不同CIMOM斷開連接的要求。
舉例來說,如果CIM聚集器的客戶端應用要求涉及所有“CIM_ComputerSystem”資源的細節(jié),其中所述資源可以經(jīng)由已注冊的CIMOM來獲得,那么CIM聚集器客戶端能夠提出單個請求,以便執(zhí)行來自所有已注冊CIMOM的“CIM_ComputerSystem”類的深度實例列舉。將從每個已注冊的CIMOM中檢索“CIM_ComputerSystem”及其子類的所有實例的細節(jié)。此請求例如可以產(chǎn)生來自主機“foo”的“Win32_ComputerSystem”實例,來自主機“bar”的“IBMAIX_ComputerSystem”實例,以及來自主機“baz”的“Solaris_ComputerSystem”實例,其中每個實例都出自其所擁有的類型的主機和模型。另外,可以從特定的已注冊的CIMOM中請求涉及特定“Win32_ComputerSystem”實例的細節(jié)。
由于CIM聚集器可以同時參考來自多個源的實例和關系這一事實,所以附加的CIM聚集器供應商插件可以被編寫為利用此信息來提供來自這些源的實例之間的關系。除了標準的現(xiàn)有CIMOM的那些性能以外,此性能向CIM聚集器的用戶給予了重大的附加能力,其中包括實現(xiàn)第三方關系。
跨主機的第三方關系的一個示例是在一個主機上的“Win32_NetworkConnection”實例和在另一主機上的其支持的“Win32_Share”實例之間的“Win32_NetworkConnectionToShare”關系。實現(xiàn)第三方關系存在利弊。第三方關系的備選方案是使關系存在于關系源或關系目的地上。在大多數(shù)情況下,關系源是正確的位置,但是在某些情況下,較好的是具有第三方,以便當所述源被破壞或變得不可利用時,人們?nèi)钥梢圆樵兯鲫P系。繼續(xù)上述示例,如果人們希望確定是誰正在使用“Win32_Share”,并且具有“Win32_NetworkConnection”的主機在查詢時不可利用,那么,如果存在于同一主機上的相關性是“Win32_NetworkConnection”,那么人們將無法看到該相關性。然而,通過使用可以利用本發(fā)明實現(xiàn)的第三方關系,它可以由第三方來保存,并且人們將能夠通過本發(fā)明的實現(xiàn)來看到所述相關性。
重要的是,應該注意到,雖然已經(jīng)在完全發(fā)揮功能的數(shù)據(jù)處理系統(tǒng)的環(huán)境中描述了本發(fā)明,但是本領域普通技術人員將會理解的是,本發(fā)明中的處理能夠以計算機可讀介質(zhì)中的指令的形式以及各種其它形式來分發(fā),而不管實際上用于執(zhí)行所述分發(fā)的信號承載介質(zhì)的特殊類型如何。計算機可讀介質(zhì)的例子包括諸如EPROM、ROM、磁帶、紙張、軟盤、硬盤驅(qū)動器、RAM和CD-ROM之類的介質(zhì),并且還包括諸如數(shù)字和模擬通信鏈路之類的傳輸型介質(zhì)。
總體上把方法設想為是導致期望結(jié)果的自相一致的步驟序列。這些步驟要求物理量的物理操作。通常,這些量采用能夠被存儲、傳送、組合、比較或者操作的電或者磁信號的形式,但也未必如此。有時為了方便,主要是出于通用的原因,把這些信號稱為比特、值、參數(shù)、項、元素、對象、符號、字符、術語、數(shù)字等。然而,應當指出的是,所有這些術語和類似術語將與適當?shù)奈锢砹肯嚓P聯(lián),并且僅僅作為方便的、應用于這些量的標記。
已經(jīng)出于舉例說明的目的給出了對本發(fā)明的描述,但是這不意味著是窮舉的,并且也不意味著把本發(fā)明限制為所公開的實施例。許多修改和變化對于本領域普通技術人員來說將會是顯而易見的。選擇這些實施例是為了解釋本發(fā)明的原理及其實際應用,并且使其它本領域普通技術人員理解本發(fā)明,以便實現(xiàn)具有適合于其它所設想的用途的各種修改的各種實施例。
權利要求
1.一種用于在數(shù)據(jù)處理系統(tǒng)內(nèi)管理位于多個主機的公共信息模型資源、即CIM資源的方法,所述方法包括如下步驟接收來自發(fā)起者的關于對CIM資源的所請求操作的請求;確定是把所述請求委托給本地CIM對象管理器功能、即本地CIMOM功能還是委托給一個或多個遠程CIMOM;響應于把所述請求委托給本地CIMOM功能的確定,把所述請求委托給本地CIMOM功能,以便獲得結(jié)果數(shù)據(jù);響應于把所述請求委托給一個或多個遠程CIMOM的確定,把所述請求委托給一個或多個遠程CIMOM,并且從多個遠程CIMOM聚集結(jié)果數(shù)據(jù);并且把所述結(jié)果數(shù)據(jù)發(fā)送給請求的發(fā)起者。
2.如權利要求1所述的方法,其中,確定是否把所述請求委托給本地CIMOM功能的步驟還包括識別所請求的操作的目標CIM類;并且確定所述目標CIM類是否在本地被管理。
3.如權利要求1所述的方法,其中,把所述請求委托給本地CIMOM功能的步驟還包括識別所請求的操作的目標CIM類;并且響應于就所述目標CIM類存在供應商插件的確定,把所述請求委托給該供應商插件。
4.如權利要求1所述的方法,其中,把所述請求委托給本地CIMOM功能的步驟還包括識別所請求的操作的目標CIM類;并且響應于就所述目標CIM類不存在供應商插件的確定,把所述請求委托給本地存儲庫。
5.如權利要求1所述的方法,其中,把所述請求委托給本地CIMOM功能的步驟還包括響應于所請求的操作是涉及元數(shù)據(jù)的操作的確定,把所述請求委托給本地存儲庫。
6.如權利要求1所述的方法,其中,確定是否把所述請求委托給一個或多個遠程CIMOM的步驟還包括確定特定的遠程CIMOM是否為對于所請求操作的請求的目標。
7.如權利要求6所述的方法,其中,確定特定的遠程CIMOM是否為對于所請求操作的請求的目標的步驟還包括確定在所述請求中特定的主機是否被標識為“CIMObjectPath”。
8.如權利要求1所述的方法,其中,確定是把所述請求委托給本地CIMOM功能還是委托給一個或多個遠程CIMOM的步驟還包括識別所請求的操作的目標CIM類;響應于所述目標CIM類不是在本地被管理的確定,確定特定的遠程CIMOM是否為對于所請求操作的請求的目標;并且響應于特定的遠程CIMOM不是對于所請求操作的請求的目標的確定,把所述請求委托給下述多個遠程CIMOM,其中所述多個遠程CIMOM是為所請求的操作的目標CIM類而注冊的。
9.一種在數(shù)據(jù)處理系統(tǒng)中使用的位于計算機可讀介質(zhì)上的計算機程序產(chǎn)品,用于管理位于多個主機上的公共信息模型資源、即CIM資源,所述計算機程序產(chǎn)品包括適于執(zhí)行如先前任一項權利要求所述的方法的步驟的裝置。
10.一種用于管理位于多個主機的公共信息模型資源、即CIM資源的設備,所述設備包括用于接收來自發(fā)起者的關于對CIM資源的所請求操作的請求的裝置;用于確定是把所述請求委托給本地CIM對象管理器功能、即本地CIMOM功能還是委托給一個或多個遠程CIMOM的裝置;用于響應于把所述請求委托給本地CIMOM功能的確定,把所述請求委托給本地CIMOM功能以便獲得結(jié)果數(shù)據(jù)的裝置;用于響應于把所述請求委托給一個或多個遠程CIMOM的確定,把所述請求委托給一個或多個遠程CIMOM的裝置,以及用于從多個遠程CIMOM聚集結(jié)果數(shù)據(jù)的裝置;以及用于把所述結(jié)果數(shù)據(jù)發(fā)送給請求的發(fā)起者的裝置。
11.如權利要求10所述的設備,其中,用于確定是否把所述請求委托給本地CIMOM功能的裝置還包括用于識別所請求的操作的目標CIM類的裝置;以及用于確定所述目標CIM類是否在本地被管理的裝置。
12.如權利要求10所述的設備,其中,用于確定是否把所述請求委托給一個或多個遠程CIMOM的裝置還包括用于確定特定的遠程CIMOM是否為對于所請求操作的請求的目標的裝置。
13.如權利要求10所述的設備,其中,用于確定是把所述請求委托給本地CIMOM功能還是委托給一個或多個遠程CIMOM的裝置還包括用于識別所請求的操作的目標CIM類的裝置;用于響應于所述目標CIM類不是在本地被管理的確定,來確定特定的遠程CIMOM是否為對于所請求操作的請求的目標的裝置;以及用于響應于特定的遠程CIMOM不是對于所請求操作的請求的目標的確定,把所述請求委托給下述多個遠程CIMOM的裝置,其中所述多個遠程CIMOM是為所請求的操作的目標CIM類而注冊的。
全文摘要
一種用于在數(shù)據(jù)處理系統(tǒng)內(nèi)采用公共信息模型(CIM)資源的方法和系統(tǒng)。接收關于對CIM資源的操作的請求,并且就所述請求是可以在本地實現(xiàn)還是在遠程實現(xiàn)進行確定。響應于在本地實現(xiàn)所述請求的確定,把所述請求委托給本地CIM對象管理器(CIMOM)功能,以便從例如本地存儲庫或者從在本地管理的供應商那里獲得結(jié)果數(shù)據(jù)。響應于在遠程實現(xiàn)所述請求的確定,把所述請求委托給一個或多個遠程CIMOM,并且從多個遠程CIMOM聚集結(jié)果數(shù)據(jù)。然后,把所述結(jié)果數(shù)據(jù)返回到請求的發(fā)起者。
文檔編號G06F9/46GK1921413SQ200610121618
公開日2007年2月28日 申請日期2006年8月23日 優(yōu)先權日2005年8月25日
發(fā)明者詹姆斯·魯塞爾·伯金, 阿爾博托·加馬瑞亞, 布萊恩·約瑟夫·施羅薩爾 申請人:國際商業(yè)機器公司