專利名稱:用于管理在分布式系統(tǒng)中的附屬關(guān)系的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分布式計(jì)算系統(tǒng),特別涉及用于管理在這種分布式計(jì)算系統(tǒng)中的各個組件之間的附屬關(guān)系的方法和裝置。
背景技術(shù):
分布式系統(tǒng)中的組件之間的附屬關(guān)系(dependency)的識別和跟蹤對于綜合故障管理來說變得越來越重要。應(yīng)用程序、服務(wù)以及他們的組件各種支持服務(wù),這些服務(wù)可能是一個服務(wù)提供者外部提供的。另外,基于網(wǎng)絡(luò)(基于萬維網(wǎng))商務(wù)構(gòu)架的出現(xiàn)允許在運(yùn)行時間中編輯基于網(wǎng)絡(luò)的電子商務(wù)應(yīng)用程序福。
應(yīng)當(dāng)知道術(shù)語“運(yùn)行時間”通常是指一個軟件被執(zhí)行以及在計(jì)算機(jī)系統(tǒng)存儲器中激活的時間段,與靜止和僅僅位于計(jì)算機(jī)硬盤驅(qū)動上的存儲器中的狀態(tài)相對。因此,能夠在運(yùn)行時間編輯電子商務(wù)應(yīng)用程序是指能夠執(zhí)行該操作而不需要關(guān)閉并且重新啟動該系統(tǒng)/應(yīng)用程序,并且不需要重新編輯該應(yīng)用程序。通常,一個計(jì)算機(jī)程序的操作周期是編寫程序代碼->編譯(轉(zhuǎn)變?yōu)闄C(jī)器代碼)->運(yùn)行。因此,通過上述功能,人們可以“飛快地”匯編幾個程序會以形成的一個新的程序,即,如需要關(guān)閉/編譯/重新啟動該應(yīng)用程序。
但是,在一個服務(wù)中出現(xiàn)的故障影響被提供給一個客戶的其他服務(wù),即,服務(wù)從屬于其他服務(wù)。在單個系統(tǒng)上的不同服務(wù)的組件之間以及在多個系統(tǒng)和域上的一個服務(wù)的客戶機(jī)和服務(wù)器組件之間存在附屬關(guān)系。在此,附屬于其他服務(wù)的服務(wù)被稱為附屬者(dependents),被其他服務(wù)所附屬的服務(wù)被稱為先前者(antecedents)。
應(yīng)當(dāng)注意一個服務(wù)通常扮演兩種角色(例如,一個名服務(wù)被許多應(yīng)用程序和服務(wù)所要求,但是它本身附屬于其他服務(wù)的適當(dāng)功能,例如操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議以及下部結(jié)構(gòu))。另外,附屬關(guān)系是傳遞的,即給定組件的附屬者除了需要該組件本身之外還需要該組件的先前者。
附屬關(guān)系存在于分布式系統(tǒng)的各個組件之間,例如終端用戶服務(wù)、系統(tǒng)服務(wù),應(yīng)用程序以及他們的邏輯和物理組件。但是,服務(wù)附屬者,關(guān)系在單晶系統(tǒng)中并不清楚,因此使得問題決定、隔離和解決的任務(wù)特別困難。
在軟件開發(fā)(例如美國專利4,751,635和美國專利5,960,196)、維護(hù)(例如美國專利5,493,682)和軟件封裝(例如美國專利5,835,777)領(lǐng)域中的現(xiàn)有技術(shù)處理形成于一個程序封裝的原子部分的各個軟件單元,并且需要程序源代碼的可用性,以構(gòu)建軟件并且把它捆綁成軟件產(chǎn)品。
電子和電氣工程師協(xié)會標(biāo)準(zhǔn)1387.2(名稱為“便攜式操作系統(tǒng)接口(POSIX)系統(tǒng)管理,部分2軟件管理”,IEEE,1995)針對于軟件發(fā)布/調(diào)度/安裝。IEEE標(biāo)準(zhǔn)定義用于保證(要被安裝的)新的軟件組件不與現(xiàn)有的軟件安裝相沖突。IEEE標(biāo)準(zhǔn)所識三種關(guān)系先決條件(prerequisite)、非必要條件(exrequisite)、共存條件(corequisite),則促進(jìn)兼容性檢查。這對需要安裝新軟件的每個系統(tǒng)分別執(zhí)行。利用IEEE標(biāo)準(zhǔn),存在于其它系統(tǒng)上的軟件目錄不被考慮。另外,IEEE標(biāo)準(zhǔn)不處理例示應(yīng)用程序和服務(wù),因此,沒有提供任何確定在運(yùn)行時間中組件之間的附屬關(guān)系的任何方法。
開發(fā)組(系統(tǒng)管理分布式軟件管理,CAE標(biāo)準(zhǔn)C701,開放組,1998年1月)通過定義幾個命令(swinstall、swlist、swmodify,等等)而擴(kuò)展IEEE 1387.2,這些命令由在特定系統(tǒng)上的軟件安裝工具所調(diào)用。開發(fā)組還定義一個軟件定義文件格式,以保證上述命令所需的信息可以從調(diào)用該命令的系統(tǒng)所獲得。IEEE 1387.2的缺點(diǎn)(即,局限于單個隔離系統(tǒng),沒有方法用于確定在運(yùn)行時間中軟件的附屬關(guān)系)也應(yīng)用于該開發(fā)組標(biāo)準(zhǔn)。
當(dāng)前操作系統(tǒng)詳細(xì)目錄實(shí)現(xiàn)(例如,IBM AIX對象數(shù)據(jù)管理器(ODM),Linux紅帽包管理器(RPM)微軟視窗登記)遵守開發(fā)組標(biāo)準(zhǔn)和IEEE 1387.2標(biāo)準(zhǔn)或者以所有者格式描述軟件目錄。因此,上述限制也應(yīng)用于這種當(dāng)前操作系統(tǒng)目錄實(shí)現(xiàn)中。
用于整個程序包的電子軟件發(fā)布的技術(shù)(例如,美國專利6,009,525和美國專利5,721,824)或者更新/糾正/整理/修補(bǔ)(例如,美國專利5,999,740、美國專利5,805,891和美國專利5,953,533)通過定義被限制為(一次執(zhí)行一個或多個)實(shí)際軟件包的發(fā)布/調(diào)度/安裝,并且不考慮到應(yīng)用程序的運(yùn)行時間階段。另外,它們在一個時刻處理一個系統(tǒng),并且不考慮到應(yīng)用程序和服務(wù)的交叉系統(tǒng)方面。
用于確定在現(xiàn)有的軟件/硬件配置中的沖突的技術(shù)(例如,美國專利5,867,714)也被限于單個系統(tǒng),并且沒有考慮到運(yùn)行時間方面。
盡管現(xiàn)有的工作(例如,美國專利5,917,831)通常在事件相關(guān)關(guān)系的范圍內(nèi)(Gruschke等人的,″Integrated Event ManagementEventCorrelation Using Dependency Graphs,DSOM′98,1998,以及Ktker等人的.,″Fault Isolation and Event Correlation for Integrated FaultManagement,IM′97,1997)已經(jīng)把注意力集中在識別和用所有者格式描述服務(wù)附屬關(guān)系,現(xiàn)在還不清楚在故障管理過程的不同實(shí)體之間實(shí)際可以交換多少附屬關(guān)系信息。由于在來自外部的應(yīng)用程序的故障管理過程中所涉及的不同各方使用相同的工具箱用于指定和交換附屬關(guān)系信息。
總而言之,與軟件產(chǎn)品之間的關(guān)系確定相關(guān)的幾種技術(shù)已經(jīng)被描述并且應(yīng)用于現(xiàn)有技術(shù)中。這些現(xiàn)有技術(shù)具有如下的一種或多種缺點(diǎn)(a)它們僅僅針對于軟件產(chǎn)品的安裝和調(diào)度階段;即,它們不嘗試解決設(shè)計(jì)和運(yùn)行時間方面的問題;(b)它們不處理跨過多個系統(tǒng)的端到端應(yīng)用程序和服務(wù);即,它們針對于駐留在單個、隔離的系統(tǒng)上的軟件的特性;以及(c)軟件目錄信息被以所有者格式而描述,這使得它非常難以在各個相異系統(tǒng)之間共享該信息。
發(fā)明內(nèi)容
本發(fā)明提供用于管理信息的技術(shù),特別是在一個計(jì)算環(huán)境中的各個組件之間的附屬關(guān)系信息。例如,本發(fā)明的技術(shù)可以應(yīng)用于分布式計(jì)算環(huán)境。該計(jì)算環(huán)境也可以是一個自治的計(jì)算環(huán)境。
在本發(fā)明的一個方面中,用于在計(jì)算環(huán)境中的管理信息的技術(shù)包括如下步驟/操作。獲得與該計(jì)算環(huán)境的組件相關(guān)的信息。然后,從至少一部分所獲得的信息確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在。根據(jù)本發(fā)明,一個或多個關(guān)系的存在的確定能夠考慮到(accounting for)與該計(jì)算環(huán)境的至少一個組件相關(guān)的整個操作周期(例如,包括調(diào)度、安裝和運(yùn)行時間)。例如,一個組件可以是一個服務(wù)、應(yīng)用程序、中間件、硬件、設(shè)備驅(qū)動器、操作系統(tǒng)或者與該計(jì)算環(huán)境相關(guān)的系統(tǒng)。但是,術(shù)語“組件”不限于這些例子。
另外,該技術(shù)也能夠考慮到與該計(jì)算環(huán)境的至少兩個組件相關(guān)的相異性,并且考慮到跨越與該計(jì)算環(huán)境相關(guān)的一個或多個域的一個或多個組件。
在一個優(yōu)選實(shí)施例中,本發(fā)明的技術(shù)通過計(jì)算以包括功能分類、結(jié)構(gòu)分類和操作分類的形式計(jì)算組件附屬關(guān)系而確定是否存在一個或多個關(guān)系。
因此,本發(fā)明有利地提供從各個系統(tǒng)的一級概括,并且允許如客戶所感知的與端到端服務(wù)相關(guān)的服務(wù)/應(yīng)用程序附屬關(guān)系的計(jì)算。
與上述在現(xiàn)有技術(shù)中的限制相反,本發(fā)明通過向客戶提供一個較高級別(端到端服務(wù)/應(yīng)用程序)的跨越多個系統(tǒng)并且反映所涉及的系統(tǒng)、應(yīng)用程序和服務(wù)的運(yùn)行時間中的行為的視角,而克服這種缺點(diǎn)。所收集的附屬關(guān)系信息被以一種開放、可擴(kuò)展的格式來描述,以促進(jìn)數(shù)據(jù)交換。
從下文結(jié)合附圖示出示意實(shí)施例的詳細(xì)描述中,本發(fā)明的這些和其他目的、特點(diǎn)和優(yōu)點(diǎn)將變得更加清楚。
圖1為示出具有與本發(fā)明的特征相互作用以產(chǎn)生信息的一個客戶機(jī)-服務(wù)器應(yīng)用程序構(gòu)架的一個例子的方框2A為示出根據(jù)本發(fā)明一個實(shí)施例用于提供附屬關(guān)系管理的系統(tǒng)的方框圖;圖2B為示出根據(jù)本發(fā)明一個實(shí)施例適用于實(shí)現(xiàn)提供附屬關(guān)系管理的系統(tǒng)的計(jì)算機(jī)系統(tǒng)的一般硬件構(gòu)架的方框圖;圖3為示出根據(jù)本發(fā)明一個實(shí)施例的服務(wù)的功能附屬關(guān)系模型的方框4為示出根據(jù)本發(fā)明一個實(shí)施例的服務(wù)的結(jié)構(gòu)附屬關(guān)系模型的方框圖;圖5為示出根據(jù)本發(fā)明一個實(shí)施例的由功能、結(jié)構(gòu)和操作附屬關(guān)系模型所針對的服務(wù)操作周期的方框圖;圖6為示出根據(jù)本發(fā)明一個實(shí)施例的在功能、結(jié)構(gòu)和操作附屬關(guān)系模型之間的關(guān)系的方框圖;圖7為示出根據(jù)本發(fā)明一個實(shí)施例的在計(jì)算端到端附屬關(guān)系中所涉及的組件的方框圖;圖8為示出根據(jù)本發(fā)明一個實(shí)施例的附屬關(guān)系服務(wù)的組件的方框圖;圖9為示出根據(jù)本發(fā)明一個實(shí)施例的附屬關(guān)系服務(wù)的動作的步驟的流程圖;圖10為示出根據(jù)本發(fā)明一個實(shí)施例的用于創(chuàng)建和更新功能附屬關(guān)系模型的管理員的任務(wù)的流程11為示出根據(jù)本發(fā)明一個實(shí)施例在一個計(jì)算機(jī)系統(tǒng)上通過安裝或刪除硬件/軟件組件而更新結(jié)構(gòu)附屬關(guān)系模型的步驟的流程圖;圖12為示出根據(jù)本發(fā)明一個實(shí)施例負(fù)責(zé)操作模型的計(jì)算的系統(tǒng)的步驟的流程圖;圖13為示出根據(jù)本發(fā)明一個實(shí)施例檢索位于一個指定的主機(jī)上的服務(wù)的直接先前者的步驟的流程圖;圖14為示出根據(jù)本發(fā)明一個實(shí)施例遞歸地檢索位于一個指定主機(jī)上的服務(wù)的先前者的步驟的流程圖;圖15為示出根據(jù)本發(fā)明一個實(shí)施例檢索位于一個指定主機(jī)上的一個服務(wù)的直接先前者的步驟的流程圖;圖16為示出根據(jù)本發(fā)明一個實(shí)施例用于遞歸地檢索位于一個指定主機(jī)上的一個服務(wù)的附屬者的步驟的流程圖;以及圖17為示出根據(jù)本發(fā)明一個實(shí)施例附屬關(guān)系服務(wù)應(yīng)用程序編程接口的例子。
具體實(shí)施例方式
下面將在一個示意的分布式計(jì)算環(huán)境的情況下描述本發(fā)明。但是,應(yīng)當(dāng)知道本發(fā)明不限于這種特定計(jì)算環(huán)境。而是,本發(fā)明可以更加一般地應(yīng)用于任何計(jì)算環(huán)境,其中希望管理(例如,計(jì)算、查詢,等等)附屬關(guān)系以使得問題的確定、隔離和解決更加容易。
如在此所用,根據(jù)該討論的上下文,術(shù)語“系統(tǒng)”可以被用于表示一個計(jì)算機(jī)系統(tǒng)、軟件系統(tǒng)和/或它們的一些組合。術(shù)語“系統(tǒng)”也可以被用于表示一個應(yīng)用程序和/或服務(wù)。因此,短語“多系統(tǒng)”是指幾個系統(tǒng)的一個集合。并且術(shù)語“組件”可以指一個系統(tǒng)本身,或者一個系統(tǒng)的一個或多個部分。
如上文所述,服務(wù)附屬關(guān)系在當(dāng)今的系統(tǒng)中沒有被明確給出,因此使得問題的確定、隔離和解決的任務(wù)特別困難。解決該問題需要確定和計(jì)算在不同系統(tǒng)和域上的服務(wù)和應(yīng)用程序之間的附屬關(guān)系,即,建立一個“全局”服務(wù)附屬關(guān)系模型并且使得系統(tǒng)管理員從上到下以及相反地導(dǎo)航通過所獲得的直接圖形。對于這種機(jī)制的需求在如下兩種情況中被更好地示出。
第一情況關(guān)于管理來自外部的服務(wù),一般由互聯(lián)網(wǎng)或應(yīng)用程序服務(wù)提供者(ISP/ASP)所提供。來自外部的服務(wù)導(dǎo)致分層的服務(wù)層級,其中例如,一個ASP服務(wù)基于由ISP所提供的IP-連通性(網(wǎng)際協(xié)議-連通性),其接著依賴于電信公司的廣域網(wǎng)。在每個層面中,一個服務(wù)被通過服務(wù)接入點(diǎn)(SAP)而訪問。一個SAP限定不同組織域之間的邊界,并且是服務(wù)層協(xié)議(SLA)被定義和觀察的位置。通常,這是通過監(jiān)控由該提供者所公開的一組特定參數(shù)在每個層面實(shí)現(xiàn)的。在上層服務(wù)中的停機(jī)或性能下降的情況中,需要從上到下通過該服務(wù)層級,以識別該問題的根本原因。
第二種情況關(guān)于日常的維護(hù)任務(wù),其不能夠“快速”地完成,因此影響服務(wù)和它們的客戶例如,電子郵件隨著它們的操作系統(tǒng)的新發(fā)行版而獲得更新,網(wǎng)絡(luò)設(shè)備隨著新的固件版本等等而被交換或更新。在所有情況中,對于網(wǎng)絡(luò)和服務(wù)管理員來說重要的是預(yù)先確定有多少和更加具體的是哪個服務(wù)和用戶受到該維護(hù)的影響。我們把這種任務(wù)稱為影響分析。
上述任務(wù)被如下原因而進(jìn)一步加重。
附屬關(guān)系模型提供一個直接的方法來識別一個被觀察的問題的可能的根本原因。如果用于一個系統(tǒng)的附屬關(guān)系圖是已知的,則把該圖從一個被修復(fù)的服務(wù)導(dǎo)航到其先前者(共同位于相同的主機(jī)上或位于不同的系統(tǒng)上)將揭示哪一個實(shí)體可能發(fā)生故障。向著其根節(jié)點(diǎn)遍歷該圖(即,在向上方向上)產(chǎn)生一個服務(wù)的附屬者,即,如果該服務(wù)受到暫停則該組件可能出現(xiàn)故障。需要解決如下問題。
(a)縮放性在多個所涉及的系統(tǒng)之間的附屬關(guān)系的數(shù)目可以被計(jì)算,但是可能變得非常大。從工程的觀點(diǎn)來看,通常不希望(并且有時是不可能的)在單個位置存儲一個完全、例示的附屬關(guān)系模型。因此由于所涉及的附屬關(guān)系的數(shù)目和動態(tài)性,例如把一個例示網(wǎng)絡(luò)圖保存在平臺數(shù)據(jù)庫中這樣的用于網(wǎng)絡(luò)管理平臺中的傳統(tǒng)機(jī)制不能夠應(yīng)用于附屬關(guān)系。
這兩個事實(shí)導(dǎo)致不能夠按照“網(wǎng)絡(luò)-管理-方式”方法來調(diào)度應(yīng)用程序、服務(wù)和中間件附屬關(guān)系模型。作為一個例子,服務(wù)外部來源的典型數(shù)據(jù)中心容納大量(幾千個)的網(wǎng)絡(luò)應(yīng)用程序和數(shù)據(jù)庫服務(wù)器。這意味著例如網(wǎng)絡(luò)應(yīng)用程序服務(wù)和數(shù)據(jù)庫服務(wù)器的大量同時運(yùn)行的程序?qū)嵗?。能夠?gòu)造一個附屬關(guān)系模型的系統(tǒng)應(yīng)當(dāng)提供通過在管理過程中所涉及的系統(tǒng)上分布附屬關(guān)系的存儲和計(jì)算而允許適當(dāng)?shù)目煽s放性。
(b)動態(tài)所容納的應(yīng)用程序(在網(wǎng)絡(luò)應(yīng)用程序服務(wù)器中運(yùn)行)具有非常短的操作周期,通常為幾秒。在接收一個請求之后,一個網(wǎng)絡(luò)應(yīng)用程序的商務(wù)邏輯(通常被應(yīng)用為一個或多個Java服務(wù)小程序(Servlets))獲得該應(yīng)用程序服務(wù)器的服務(wù)小程序引擎的例示,執(zhí)行其任務(wù)并且然后被該服務(wù)小程序引擎所刪除。結(jié)果,用于計(jì)算在這些動態(tài)實(shí)體中的附屬關(guān)系的系統(tǒng)應(yīng)當(dāng)在該數(shù)據(jù)的精度和為檢索該數(shù)據(jù)而產(chǎn)生的工作負(fù)擔(dān)之間權(quán)衡。
(c)相異性相異性來自三個不同的方面。首先,被提供到客戶的服務(wù)在較大程度上是不同的。其次,在把一個服務(wù)提供給一個客戶中可能涉及各種提供者。最后,實(shí)現(xiàn)一個服務(wù)的產(chǎn)品可能來源于各種銷售商。用于計(jì)算附屬關(guān)系的系統(tǒng)應(yīng)當(dāng)提供獨(dú)立于特定操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議、軟件產(chǎn)品以及提供到一個客戶的服務(wù)的語言。
(d)附屬關(guān)系數(shù)據(jù)的手動維護(hù)一個附屬關(guān)系模型的獲取(甚至局限于單個主機(jī)系統(tǒng))是對通常不提供適當(dāng)?shù)墓芾砉ぞ叩漠?dāng)今系統(tǒng)的一個挑戰(zhàn)。應(yīng)當(dāng)知道,該術(shù)語“工具”是指通過一個明確定義(有時甚至是標(biāo)準(zhǔn)化的)接口(管理)資源公開管理特性和能力的程序代碼。另外,即使可以從被管理的資源獲得,但是附屬關(guān)系數(shù)據(jù)不被當(dāng)今的管理系統(tǒng)所開發(fā)利用。而是,該附屬關(guān)系信息不但必須被手動地輸入到一個特定的管理組件,而且還采用一個所有者格式。因此,該附屬關(guān)系信息是不完整的、過時的(因?yàn)槿菀壮霈F(xiàn)錯誤的手動處理)、并且有時甚至是不一致的,因?yàn)椴煌牟僮鲉T獨(dú)立地輸入該規(guī)則,并且沒有方法來以自動的方式檢查該規(guī)則基礎(chǔ)的一致性。
(e)用于附屬關(guān)系的分類法附屬關(guān)系的概念非常粗略并且需要被精確定義,以便于使用。用于該分類的例子是附屬關(guān)系的強(qiáng)度(表示近似性和如果其先前者發(fā)生故障則一個組件受到影響的程度、關(guān)鍵程度(該附屬關(guān)系對于一個企業(yè)的目標(biāo)和政策的重要性)、形式化程度(即,獲得該附屬關(guān)系的難易程度)等等。需要把屬性添加到附屬關(guān)系,使得它們可以被更加適當(dāng)?shù)乜己?;并且相?yīng)地,需要把這些屬性反映在附屬關(guān)系表現(xiàn)中。
(f)問題確定特征希望獲得用于把存儲在每個系統(tǒng)中的本地附屬關(guān)系組合到一個統(tǒng)一的附屬關(guān)系模型中的本地附屬關(guān)系圖的進(jìn)一步的設(shè)施。另外,這些設(shè)施應(yīng)當(dāng)提供一個API(應(yīng)用程序編程接口)使得管理應(yīng)用程序?qū)τ诟綄訇P(guān)系模型發(fā)出查詢。這些查詢將被允許檢索直接基于或者遞歸地確定包括副先前者的整個節(jié)點(diǎn)組的特定服務(wù)。由管理應(yīng)用程序所接收節(jié)點(diǎn)列表使得它執(zhí)行特定的問題確定例程,以檢查這些服務(wù)是否可選。
上述討論示出建立一個服務(wù)操作周期的三個不同階段之間的映射是重要的(a)一個(概括)服務(wù)被提供給客戶,例如,“網(wǎng)絡(luò)主機(jī)服務(wù)”、“被管理的存儲器”、“IP連通性”、“被管理的數(shù)據(jù)庫”,等等;(b)一個服務(wù)的應(yīng)用,即,被用于提供該服務(wù)的產(chǎn)品,例如,“IBM通用數(shù)據(jù)庫版本7.1”、“WebSphere Application Server version 3.2”;以及(c)一個實(shí)現(xiàn)的運(yùn)行實(shí)例,即,該處理或任務(wù),例如,“db2 daemon”,“nfs daemon”。
盡管獨(dú)立地在每個階段獲得信息的任務(wù)是可行的,但是把三個階段組合到一個統(tǒng)一的附屬關(guān)系模型受到挑戰(zhàn),并且還沒有在以前的工作中實(shí)現(xiàn)。另外,在此需要建立一個可有效計(jì)算的附屬關(guān)系模型,其解決底層環(huán)境的縮放性、動態(tài)性和互異性的要求并且消除人的相互作用和附屬關(guān)系數(shù)據(jù)的需求。
如在附圖的上下文中所示,本發(fā)明針對于這些和其他需求。也就是說,本發(fā)明的特征是為一個管理應(yīng)用程序計(jì)算分布式系統(tǒng)的組件之間的運(yùn)行時間附屬關(guān)系(“附屬關(guān)系模型”)。本發(fā)明提供一種普通和統(tǒng)一的方法用于從提供檢索各個計(jì)算機(jī)系統(tǒng)的配置信息的機(jī)制或者提供這種采用機(jī)器可讀格式的數(shù)據(jù)的計(jì)算機(jī)系統(tǒng)檢索附屬關(guān)系信息。
上述系統(tǒng)的一個優(yōu)點(diǎn)是可以從這些計(jì)算機(jī)系統(tǒng)獲得大量應(yīng)用程序/服務(wù)管理信息,而不必對各個應(yīng)用程序/服務(wù)提供檢測儀器。但是,如果這種應(yīng)用程序/服務(wù)的檢測儀器可用,則它可以由本發(fā)明所使用。
本發(fā)明所述的系統(tǒng)的執(zhí)行可以由一個特定(管理)應(yīng)用程序(例如影響分析器、根本原因分析器)、一個網(wǎng)絡(luò)管理平臺(例如,IBM/TivollNetView、HP Open View或Aprisma Spectrum)或者基于傳統(tǒng)網(wǎng)絡(luò)管理系統(tǒng)和平臺的管理應(yīng)用程序。
本發(fā)明提供用于如下操作的特征(a)觀察被訂購服務(wù)的性能下降和停止;(b)通過從上到下遍歷該附屬關(guān)系模型的不同層面而跟蹤該問題的根本原因(由于各種服務(wù)可能是來自其他服務(wù)提供者之外的,一個附屬關(guān)系模型的(遞歸)遍歷通過域邊界);以及(c)通過把該附屬關(guān)系模型從下到上導(dǎo)航而分析一個服務(wù)暫停的影響。
本發(fā)明組合可以在一個應(yīng)用程序或服務(wù)的操作周期過程中獲得的附屬關(guān)系信息(即,從該設(shè)計(jì)到一個應(yīng)用程序/服務(wù)的調(diào)度、安裝和運(yùn)行時間階段)。該信息被保持在如下模型中(a)功能模型在一個優(yōu)選實(shí)施例中,該功能模型定義不同普通服務(wù)(數(shù)據(jù)庫服務(wù)、名服務(wù)、網(wǎng)絡(luò)應(yīng)用程序服務(wù)、連接服務(wù),等等)之間的附屬關(guān)系。該功能模型不描述在一個特定服務(wù)中的客戶機(jī)/服務(wù)器關(guān)系。另外,該功能方框不考慮到哪一個具體的產(chǎn)品已經(jīng)被選擇以實(shí)現(xiàn)該服務(wù),也沒有考慮到它們的實(shí)際配置。該功能模型建立約束其他模型(在下文中所述)的主要限制,即,進(jìn)一步的模型可以對于具體系統(tǒng)下部結(jié)構(gòu)改進(jìn)在該功能模型中定義的附屬關(guān)系,但是不應(yīng)當(dāng)導(dǎo)入在服務(wù)類別之間的新的附屬關(guān)系。該模型非常緊湊和普通,并且最好存儲在該管理系統(tǒng)中。
(b)結(jié)構(gòu)模型在一個優(yōu)選實(shí)施例中,該結(jié)構(gòu)模型包括實(shí)現(xiàn)在該功能模型中定義的服務(wù)的軟件組件的詳細(xì)描述。該結(jié)構(gòu)模型提供在安裝/調(diào)度階段捕獲的具體細(xì)節(jié),并且通過考慮到具體系統(tǒng)的軟件目錄而補(bǔ)充該功能模型。該結(jié)構(gòu)模型提供關(guān)于哪一個服務(wù)被安裝和配置在一個特定的系統(tǒng)上,以及對于每個服務(wù)判斷該系統(tǒng)是否以一個客戶機(jī)或服務(wù)器角色而工作的信息。潛在的大量系統(tǒng)和服務(wù)使得從一個遠(yuǎn)程位置跟蹤這些附屬關(guān)系變得困難。因此,希望把該模型存儲在接近于所管理的資源或在所管理的資源上。
(c)操作模型在一個優(yōu)選實(shí)施例中,當(dāng)建立獲得例示并且捆綁在服務(wù)和應(yīng)用程序之間的軟件包時,創(chuàng)建附屬關(guān)系的操作模型。該模型和大量所步及的系統(tǒng)的的高度動態(tài)性對可以例示和存儲該完整模型的程度施加限制。定義和存儲這樣一個模型是不現(xiàn)實(shí)的,并且該模型必須被動態(tài)和逐步地計(jì)算。因此,該操作模型被“根據(jù)要求”計(jì)算,并且依賴于該功能和結(jié)構(gòu)模型。
如所期望的那樣,在大規(guī)模的分布式系統(tǒng)中,附屬關(guān)系的量和它們的動態(tài)性極高。本發(fā)明的特征使得它們對該分布式系統(tǒng)(在資源和帶寬使用方面)的影響盡可能地小,并且保留盡可能多的可以影響對用戶的性能的配置選項(xiàng)。用于這種情況的例子是用于檢索一個更新附屬關(guān)系模型的時間間隔、其附屬關(guān)系應(yīng)當(dāng)被跟蹤的系統(tǒng)的范圍、附屬關(guān)系模型的深度(僅僅受到立即影響的服務(wù)對比用于給定服務(wù)的傳遞關(guān)閉對比整個服務(wù)等級)。
本發(fā)明最好利用附屬關(guān)系信息的如下特性(a)在不同服務(wù)之間的附屬關(guān)系被分層。另外,它們的附屬圖是定向和非循環(huán)的。后者也反映對IP基網(wǎng)絡(luò)服務(wù)的體驗(yàn),例如DNS(域名系統(tǒng))、NFS(網(wǎng)絡(luò)文件系統(tǒng))、DFS(分布式文件系統(tǒng))、NIS(網(wǎng)絡(luò)信息系統(tǒng))等等,但是這些可以是相互附屬關(guān)系可能出現(xiàn)在一些系統(tǒng)中的情況。用于這種相互附屬關(guān)系的異常例子是安裝該文件系統(tǒng)的DNS服務(wù)器,其中它的DNS配置被通過NFS從一個遠(yuǎn)程系統(tǒng)存儲。盡管這樣一個配置在技術(shù)上是可行的,但是它反映了在該系統(tǒng)設(shè)計(jì)中的缺陷,因?yàn)檫@導(dǎo)致一個不穩(wěn)定的系統(tǒng),其引導(dǎo)可能是不確定的,因此應(yīng)當(dāng)避免。發(fā)現(xiàn)循環(huán)附屬關(guān)系的附屬關(guān)系檢查應(yīng)用程序應(yīng)當(dāng)向管理員發(fā)出一個警告。
(b)每個附屬關(guān)系可以在一個客戶/提供者域邊界上可見并且可以通過SLA明確。由此得到可觀察的附屬關(guān)系數(shù)目是無限的。
(c)附屬關(guān)系模型允許附屬關(guān)系鏈的從上到下遍歷。
(d)在不同系統(tǒng)之間的(“系統(tǒng)間”)附屬關(guān)系不被理解為在相同服務(wù)的客戶機(jī)和服務(wù)器部分之間的附屬關(guān)系。服務(wù)A的客戶機(jī)不可以把請求發(fā)送到提供不同服務(wù)B的服務(wù)器。
本發(fā)明的一個目的是主要從少數(shù)幾個公知/明確定義的位置(例如,系統(tǒng)存儲庫)檢索信息,以從具體服務(wù)/應(yīng)用程序檢測儀器獲得最大程度的獨(dú)立性。為了實(shí)現(xiàn)該目的,本發(fā)明定義一種最小和足量的通??捎玫母綄訇P(guān)系信息。
本發(fā)明包括用于永久存儲附屬關(guān)系模型的設(shè)施或者把這保留給管理應(yīng)用程序或者使用本發(fā)明的另一個服務(wù)的判斷。
本發(fā)明具有一個歷史概念,以檢測和確定在附屬關(guān)系模型中的改變。在這種情況中,本發(fā)明提供一個出版/訂購接口,用于通知以前已經(jīng)登記的軟件組件,用于在該附屬關(guān)系模型中改變。本發(fā)明的另一個可能使用是把在附屬關(guān)系模型的改變檢測保留在該附屬關(guān)系模型中,直到一個管理應(yīng)用程序(或者一個改變管理服務(wù))的判斷向本發(fā)明發(fā)出定期呼叫,以確定在該附屬關(guān)系模型中是否出現(xiàn)改變。
給出根據(jù)本發(fā)明做出的上述實(shí)現(xiàn)和與本發(fā)明相關(guān)的一般特征,下文的詳細(xì)描述將提供用于執(zhí)行在圖1至17的上下文中的這種實(shí)現(xiàn)和特征的技術(shù)的示意性說明。
首先參見圖1,一個方框圖示出采用客戶機(jī)-服務(wù)器應(yīng)用程序構(gòu)架形式的電子商務(wù)系統(tǒng)的一個例子,其中本發(fā)明的特征可以相互作用以產(chǎn)生信息。圖1的構(gòu)架將在下文中詳細(xì)描述,以說明在沒有本發(fā)明的技術(shù)的情況下,這樣一個構(gòu)架如何能夠處理一個交易。
如圖所示,一個客戶機(jī)系統(tǒng)105被用于發(fā)出一個請求,例如,通過鍵盤發(fā)出。但是,請求可以由任何常規(guī)的裝置來發(fā)出,例如通過敲擊鼠標(biāo)、語音命令、條碼掃描等等。該客戶機(jī)系統(tǒng)105的例子是個人計(jì)算機(jī)、公用電話亭、數(shù)據(jù)輸入終端、掃描儀、電話、尋呼機(jī)、手持或腕帶設(shè)備、無線設(shè)備、個人數(shù)字助理、具有網(wǎng)絡(luò)功能的手表,等等。
該請求局部地作用在該請求被形成和通過網(wǎng)絡(luò)110轉(zhuǎn)發(fā)到網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120并且通過一個或多個網(wǎng)絡(luò)接入115設(shè)備的位置處。網(wǎng)絡(luò)110和通信協(xié)議的一個例子是架在局域網(wǎng)(LAN)上的TCP/IP(傳輸控制協(xié)議/網(wǎng)際協(xié)議)傳輸上的基于套接字的通信,其中該局域網(wǎng)由例如路由器和交換機(jī)這樣的網(wǎng)絡(luò)接入115設(shè)備連接到包含許多交換位置的廣域網(wǎng)(WAN),該交換位置創(chuàng)建到達(dá)一個服務(wù)提供者以及最終到達(dá)一個網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120的虛擬電路。網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120的例子是運(yùn)行守備來自客戶機(jī)的請求并且在適當(dāng)時把該請求發(fā)送到適當(dāng)?shù)暮蠖藬?shù)據(jù)庫服務(wù)器的高端個人計(jì)算機(jī)、基于RISC的PowerPC、基于UNIX的工作站、微型計(jì)算機(jī)或者大型計(jì)算機(jī)。
為了說明的目的,在一個(運(yùn)行于該客戶機(jī)系統(tǒng)105中的)網(wǎng)絡(luò)瀏覽器中啟動一個電子商務(wù)交易,以使用現(xiàn)在將描述的互聯(lián)網(wǎng)購買一個商品。應(yīng)當(dāng)知道,本發(fā)明的技術(shù)可以用于任何形式的交易。網(wǎng)絡(luò)應(yīng)用程序服務(wù)器的例子包括但不限于可以從IBM公司獲得的商標(biāo)為WEBSPHERE的服務(wù)器、從BEA系統(tǒng)公司獲得的商標(biāo)為WEBLOGIC的服務(wù)器或從Lotus公司獲得的商標(biāo)為LOTUS DOMINO SERVER的服務(wù)器。
在該示例的交易中,網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120的商業(yè)邏輯處理到來的請求并且提供該客戶機(jī)系統(tǒng)105的認(rèn)證和/或識別。一旦由該網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120所實(shí)現(xiàn)的商業(yè)邏輯確定該客戶機(jī)可以進(jìn)行購買,則它通過網(wǎng)絡(luò)123把另一個請求傳送到數(shù)據(jù)庫服務(wù)器125以減小存儲總量。該數(shù)據(jù)庫服務(wù)器125處理該請求,訪問它的數(shù)據(jù)庫130,并且準(zhǔn)備一個照到達(dá)該網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120的響應(yīng)。數(shù)據(jù)服務(wù)器的例子包括但不限于由微軟公司所銷售的商標(biāo)為SQL/SERVER或TRANSACTIONSERVER的服務(wù)器或者由IBM公司所銷售的商標(biāo)為DB2 UNIVERSALDATABASE SERVER的服務(wù)器。
網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120接收來自數(shù)據(jù)庫服務(wù)器125的響應(yīng),并且通過網(wǎng)絡(luò)110把它返回到客戶機(jī)系統(tǒng)105。該客戶機(jī)系統(tǒng)105然后處理該響應(yīng),以把它格式化為用于顯示和提供該響應(yīng)用于由交易的發(fā)起者瀏覽。
管理員100觀察處理商業(yè)交易的位于服務(wù)提供者的位置處的各種軟件和硬件組件,以確定它們是否正常工作。在數(shù)據(jù)庫130出現(xiàn)停機(jī)135的情況中,例如一個惡化的表空間或者數(shù)據(jù)庫運(yùn)行時間系統(tǒng)的故障,管理員100的任務(wù)是確定停機(jī)的原因,解決該問題并且確認(rèn)是否所有系統(tǒng)再次正常工作。應(yīng)當(dāng)知道本發(fā)明用于任何形式的停機(jī)或的性能下降。
管理員100直接或者通過處理由一個明確定義的管理接口處的軟件和硬件組件所公開的管理信息(例如狀態(tài)和健康數(shù)據(jù))的管理系統(tǒng)與軟件和硬件組件交互作用。在任何一種情況中,應(yīng)當(dāng)注意該硬件和軟件組件被管理員所認(rèn)為是一個孤立的資源并且不作為服務(wù)特定的商業(yè)目的的整個系統(tǒng)的一部分。
特別地,在一個組件中出現(xiàn)錯誤可能不被注意到,因?yàn)楣芾韱T由于沒有連續(xù)監(jiān)控而不能夠注意到該錯誤。另外,在沒有本發(fā)明的技術(shù)的情況下,管理員不能夠以直接的方式獲得在各個組件之間的相互附屬關(guān)系的明確信息。因此,在一個不被連續(xù)監(jiān)控的組件中的一個錯誤可能不被注意直到該故障擴(kuò)展到被監(jiān)控的組件時為止。
在上述數(shù)據(jù)庫停機(jī)135的情況中,如果網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120,不再正常工作(例如,在該網(wǎng)絡(luò)應(yīng)用程序服務(wù)器上的負(fù)載大大增加,因?yàn)樗粩嗟貒L試與數(shù)據(jù)庫服務(wù)器125相連接,并且不能夠完成由客戶機(jī)系統(tǒng)105所發(fā)送的請求),一個管理員可能最終僅僅注意到該停機(jī)。因此,該管理員100將首先檢測該網(wǎng)絡(luò)應(yīng)用程序服務(wù)器120,然后決定是否存在網(wǎng)絡(luò)123連通性問題,最后確認(rèn)如果該數(shù)據(jù)庫服務(wù)器125遇到可能來自數(shù)據(jù)庫130中的內(nèi)部錯誤的困難。
上述客戶機(jī)-服務(wù)器應(yīng)用程序構(gòu)架可以被作為的由IBM公司稱為“自治”的的緊急計(jì)算環(huán)境的先驅(qū)的。在P.Horn在2001年10月所發(fā)表的“Autonomic ComputingIBM′s PerspectiVe on the State of InformationTechnology,”IBM研究,的內(nèi)容被包含于此以供參考,其中定義了作為具有最少的人的干預(yù)的自我管理計(jì)算系統(tǒng)的全面和完整的方法的自治計(jì)算方法。該術(shù)語來自人體的自治神經(jīng)系統(tǒng),其控制關(guān)鍵功能,而不意識到或涉及于其中。更加具體來說,自治計(jì)算方法的一個目的是執(zhí)行通常由管理員100所執(zhí)行的一些或所有任務(wù)。其目的如下。
隨著計(jì)算技術(shù)的發(fā)展,重疊連接、附屬關(guān)系和相互作用應(yīng)用程序要求比任何人可以做到的更快的管理決定和響應(yīng)。查明故障的根本原因變得更加困難,并且查找增加系統(tǒng)效率的方法產(chǎn)生比任何人可以期望解決的變量更多的變量。識別和跟蹤一個自治計(jì)算環(huán)境的不同系統(tǒng)之間的附屬關(guān)系可以用如下方法來特征化。由于一個系統(tǒng)可以存在于許多級別上,一個自治系統(tǒng)需要其組件、當(dāng)前狀態(tài)、最終容量以及與其他自我管理的系統(tǒng)的所有連接的詳細(xì)知識。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)認(rèn)識到本發(fā)明可以在一種自治的計(jì)算環(huán)境中執(zhí)行。
參見圖2A,一個方框圖示出用于提供根據(jù)本發(fā)明一個實(shí)施例的附屬關(guān)系管理的系統(tǒng)。更加具體來說,圖2A示出解決上述問題的一種附屬關(guān)系管理系統(tǒng)。該系統(tǒng)包括四個層級(應(yīng)用層200、服務(wù)層205、中間件層210和資源層215)以及一個管理員圖形用戶界面285,管理員通過該界面與該系統(tǒng)相互作用。
最低層是資源層215。該資源層215包括被管理的資源220、資源附屬關(guān)系存儲庫225和存儲庫代理230。被管理的資源220的例子包括但不限于物理和邏輯硬件組件(前者的例子是硬盤、隨機(jī)存取存儲器、中央處理單元、網(wǎng)絡(luò)適配器、信道控制器,等等;后者的例子是磁盤分區(qū)、文件系統(tǒng),等等)和軟件組件(例如操作系統(tǒng)、如打印假脫機(jī)系統(tǒng)或名服務(wù)這樣的系統(tǒng)服務(wù)、以及終端用戶應(yīng)用程序)。
該資源附屬關(guān)系存儲庫225包含每個被管理的資源220的硬件和軟件組件的目錄,以及關(guān)于每個資源的附屬關(guān)系信息(即,在一個被管理資源220中的組件之間的附屬關(guān)系)。該資源附屬關(guān)系存儲庫225可以與每個被管理的資源220相同位置,或者駐留在一個集中的位置處。該資源附屬關(guān)系存儲庫225可以被通過一個存儲庫代理230而查詢、更新和修改,其使得該資源附屬關(guān)系存儲庫225的信息可以由該系統(tǒng)的其他組件所獲得。
該中間件層210包括一個管理通信下部結(jié)構(gòu)235,例如該系統(tǒng)的不同組件之間交換(管理)信息的協(xié)議和對象要求代理程序。
該服務(wù)層205包括各種管理服務(wù)250,例如、政策、事件和目錄,其可以由各種管理應(yīng)用程序所使用。一個特別重要的服務(wù)是附屬關(guān)系服務(wù)245,其從被管理的資源220以及從存儲庫代理230提取信息,并且處理該信息,以建立整個資源環(huán)境的一個端到端附屬關(guān)系模型。根據(jù)該附屬關(guān)系服務(wù)245的需要(例如,為了更快檢索的緩存),該模型(或者它的一部分)被存儲在該端到端附屬關(guān)系存儲庫240中。請注意,該附屬關(guān)系服務(wù)245僅僅是在所述系統(tǒng)中的組件,其直接與該端到端附屬關(guān)系存儲庫240相互作用。
該應(yīng)用層200包括各種管理應(yīng)用程序,其使用普通管理服務(wù)250和/或該附屬關(guān)系服務(wù)245。這種管理應(yīng)用程序的例子包括但不限于故障管理器260、拓?fù)洚a(chǎn)生器265、影響分析器270、影響模擬器275和根本原因分析器280。
該根本原因分析器280根據(jù)從受到停機(jī)影響的一個組件向著它的先前者方向遍歷,而確定停機(jī)的根本原因(即,最初導(dǎo)致停機(jī)的組件)。該根本原因分析器可以采用在上述參考文獻(xiàn)和同時提交的由律師卷號YOR920020096US1所表示的,名稱為“Methods And Apparatus ForRoot Cause Identification and Problem Determination in DistributedSystems”的美國專利申請中公開的技術(shù)。但是也可以采用其他根本原因分析技術(shù)。
該影響分析器270根據(jù)從受到停機(jī)的一個組件向其附屬者的方向遍歷該附屬關(guān)系模型(由附屬關(guān)系服務(wù)245所提供)而確定停機(jī)的影響(即,可能受到該停機(jī)的影響的組件)。該附屬關(guān)系模型(附屬關(guān)系服務(wù)245)。該影響分析器可以采用在上述參考和同時由律師卷號SOM920020004US1所表示的,名稱為“Methods And Apparatus ForImpact Analysis and Problem Determination”的美國專利申請所公開的技術(shù)。但是也可以采用其他影響分析技術(shù)。
該影響模擬器275根據(jù)影響分析器270允許一個管理員100通過模擬一個特定組件的停機(jī)對整個系統(tǒng)的影響而執(zhí)行“假設(shè)”分析。該影響模擬器可以采用在上述參考文獻(xiàn)和同時提交的由律師卷號SOM920020005US1表示的,名稱為“Methods And Apparatus ForDependency-based Impact Simulation and Vulnerability Analysis”的美國專利申請所公開的技術(shù)。但是,也可以采用其他影響模擬技術(shù)。
故障管理器260對已經(jīng)由該根本原因分析器280或影響分析器270所識別作為一個故障的候選者的組件執(zhí)行適當(dāng)?shù)摹敖】禉z查”或測試。也就是說,該故障管理器可以在該根本原因分析器280或影響分析器270的方向上執(zhí)行這種測試(即,作為用于這些模型的一個接口),以及報(bào)告回結(jié)果。但是,根本原因分析器280或影響分析器270可以執(zhí)行獨(dú)立于故障管理器的自身測試。
應(yīng)當(dāng)知道該故障管理器最好包括允許確定被測試的組件是否工作正常的對應(yīng)用程序特定或?qū)Y源特定的工具的集合。因此,在利用相關(guān)的工具測試該組件時,故障管理員可以返回一條消息,表示該組件是否“工作”或“不工作”。這些工具可以是自動和/或手動的。通過一個自動的例子,一個所謂的“ping”程序檢查網(wǎng)絡(luò)的連通性。如果目標(biāo)的遠(yuǎn)程系統(tǒng)應(yīng)答一個ping,則它是在線的,并且其網(wǎng)絡(luò)協(xié)議棧(以及所有下層硬件,例如,網(wǎng)絡(luò)適配器、電纜、中間網(wǎng)絡(luò)組件,等等)正常工作。如果該遠(yuǎn)程系統(tǒng)不應(yīng)答,則得知至少存在一些錯誤,并且可以采用另一組工具來確定該問題。因此,故障管理器可以采用ping程序,以及測試該分布式計(jì)算環(huán)境的組件的任何數(shù)目和類型的其他工具(例如,心跳檢測、狀態(tài)指示,等等)。
拓?fù)洚a(chǎn)生器265建立一個分布式系統(tǒng)的整體拓?fù)?的一個子集),包括大量高度動態(tài)的組件,例如網(wǎng)絡(luò)應(yīng)用程序、數(shù)據(jù)庫實(shí)例和交易。使用拓?fù)洚a(chǎn)生器265的一個例子是顯示在完成一個特定客戶機(jī)系統(tǒng)105的請求中所涉及的一個分布式系統(tǒng)的組件。根據(jù)拓?fù)洚a(chǎn)生器265的需要(例如,用于更快的檢索的緩存),該附屬關(guān)系模型(或者其一部分)被存儲在該拓?fù)鋽?shù)據(jù)庫255中。請注意,該拓?fù)洚a(chǎn)生器265是在直接與拓?fù)鋽?shù)據(jù)庫255交互作用的所述系統(tǒng)中的唯一組件。該拓?fù)洚a(chǎn)生器265可以利用在上述參考文獻(xiàn)和同時提交的由律師卷號SOM920020003US1所表示的,名稱為“Methods And Apparatus For Topology Discovery andRepresentation of Distributed Applications and Services”的美國專利所述的技術(shù)。但是,也可以采用其他拓?fù)洚a(chǎn)生技術(shù)。
現(xiàn)在參見圖2B,一個方框圖示出適用于實(shí)現(xiàn)提供如圖所示在此詳細(xì)描述的附屬關(guān)系管理的一個系統(tǒng)的各種功能組件/模型的計(jì)算機(jī)系統(tǒng)的一般化硬件構(gòu)架。應(yīng)當(dāng)知道,該附屬關(guān)系管理系統(tǒng)的各個組件,即,與該圖形用戶界面285、應(yīng)用層200、服務(wù)層205和中間件層210(圖2A)相關(guān)的組件,可以在具有如圖2B中所示的構(gòu)架的一個或多個計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)。圖2A中所示的其他組件,例如,與資源層215相關(guān)的組件也可以在類似的計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)。
如圖所示,該計(jì)算機(jī)系統(tǒng)可以根據(jù)一個處理器90、存儲器292和I/O設(shè)備294而實(shí)現(xiàn)。應(yīng)當(dāng)知道在此所用的術(shù)語“處理器”用于包括任何處理設(shè)備,例如,包括CPU(中央處理單元)和/或其他處理電路的設(shè)備。在此所用的術(shù)語“存儲器”用于包括與處理器或CPU相關(guān)的存儲器,例如,RAM、ROM、固定存儲設(shè)備(例如,硬盤驅(qū)動器)、可移動存儲設(shè)備(例如,磁盤)、快速存儲器,等等。另外,在此所用的術(shù)語“輸入/輸出設(shè)備”或“I/O設(shè)備”包括例如用于把數(shù)據(jù)輸入到該處理單元的一個或多個輸入設(shè)備(例如,鍵盤),和/或用于顯示與該處理單元相關(guān)的結(jié)果的一個或多個輸出設(shè)備(例如,CRT顯示器和/或打印機(jī))。
還應(yīng)當(dāng)知道,術(shù)語“處理器”可以表示一個以上的處理設(shè)備,并且與一個處理設(shè)備相關(guān)的各種元件可以由其他處理設(shè)備所共享。
相應(yīng)地,包括用于執(zhí)行本發(fā)明的方法的指令或代碼的軟件組件,如在此所述,可以存儲在一個或多個相關(guān)的存儲設(shè)備中(例如,ROM、固定或可移動存儲器)以及當(dāng)準(zhǔn)備使用時被部分或全部裝載(例如,裝載在RAM中),并且由一個CPU所執(zhí)行。
現(xiàn)在參見圖3,一個方框圖示出根據(jù)本發(fā)明一個實(shí)施例的服務(wù)的功能附屬關(guān)系模型。更加具體來說,圖3示出在例如圖1中所示的電子商務(wù)系統(tǒng)中的各個組件之間的一個功能應(yīng)用程序附屬關(guān)系圖。該功能附屬關(guān)系模型表示分布式系統(tǒng)和它們的附屬關(guān)系的功能組件。因此,該模型確定從商業(yè)的角度被認(rèn)為是基本的一般服務(wù)之間的附屬關(guān)系。這意味著該功能模型與在一個商業(yè)服務(wù)中出現(xiàn)的附屬關(guān)系無關(guān)。這種分解在被用于實(shí)現(xiàn)該服務(wù)的特定產(chǎn)品的范圍中是有意義的,并且將在下文參見圖4更加詳細(xì)地討論。
在組件之間的附屬關(guān)系由箭頭所表示。一個箭頭總是從附屬者指向其先前者。功能組件是一個服務(wù)提供者需要安排以向一個客戶提供端到端服務(wù)的(子)服務(wù),后者被定義在服務(wù)級協(xié)議中。該功能模型針對于端到端服務(wù)的設(shè)計(jì),并且從一個端到端服務(wù)的技術(shù)實(shí)現(xiàn)的具體細(xì)節(jié)中提煉出來,例如用于提供服務(wù)的產(chǎn)品、它們的位置(本地或遠(yuǎn)程系統(tǒng))、提供者的域(即,該提供者自身是否把它的一些服務(wù)對客戶透明地向外提供到另一個服務(wù)提供者),等等。
如圖所示,電子商務(wù)應(yīng)用程序300服務(wù)基于包含商業(yè)邏輯的一個網(wǎng)絡(luò)應(yīng)用程序服務(wù)305。為了正常工作,該網(wǎng)絡(luò)應(yīng)用程序服務(wù)305另外需要兩個服務(wù)。該電子商務(wù)網(wǎng)址的靜態(tài)內(nèi)容由網(wǎng)絡(luò)服務(wù)310所提供,而后端數(shù)據(jù)庫服務(wù)330存儲被提供到一個客戶的電子商務(wù)應(yīng)用程序300的動態(tài)內(nèi)容(例如,產(chǎn)品描述、用戶和制造商數(shù)據(jù)、購物車、用戶概況和喜好、支付信息,等等)。該網(wǎng)絡(luò)服務(wù)310自身基于兩個服務(wù),即,用于把主機(jī)名映射到IP地址的名服務(wù)315和用于網(wǎng)絡(luò)連通性的IP服務(wù)320。
該附屬關(guān)系是傳遞性的,即,一個給定組件的附屬者需要除了該組件本身之外還需要該組件的先前者。從而,除了IP服務(wù)320和數(shù)據(jù)庫服務(wù)330之外,所有所示的服務(wù)需要一個操作系統(tǒng)(OS)服務(wù)的存在。為了簡化,一個OS 325與硬件組件之間的附屬關(guān)系沒有被示出,但是它們被顯示在一個功能模型中。
現(xiàn)在參見圖4,一個方框圖示出根據(jù)本發(fā)明一個實(shí)施例的服務(wù)的結(jié)構(gòu)附屬關(guān)系模型。更加具體來說,圖4示出在例如圖1中所示的一個電子商務(wù)系統(tǒng)中的各種組件之間的結(jié)構(gòu)應(yīng)用程序的附屬關(guān)系圖。
該結(jié)構(gòu)附屬關(guān)系模型按照如下方式在該功能模型(圖3)中擴(kuò)展。該結(jié)構(gòu)附屬關(guān)系模型關(guān)于一個商業(yè)服務(wù)的實(shí)現(xiàn),并且針對于具體的產(chǎn)品和它們的邏輯(方框、組件)和物理(文件、共享庫)構(gòu)架。該結(jié)構(gòu)附屬關(guān)系模型獲得軟件組件的詳細(xì)描述,即,該系統(tǒng)目錄,其被記錄在各種系統(tǒng)存儲庫中,或者記錄在明確定義的位置處,例如,一個被管理資源220的配置文件。
請注意,盡管該結(jié)構(gòu)模型處理單個系統(tǒng)的組件,但是可以保持由其他系統(tǒng)對服務(wù)和應(yīng)用程序的參考,因?yàn)槲挥谠撓到y(tǒng)上的配置文件可以包含該信息。系統(tǒng)存儲庫的例子包括但不限于IBM AIX對象數(shù)據(jù)管理器(ODM)、Linux紅帽包管理器(RPM)或者微軟視窗注冊程序。與軟件組件相關(guān)的信息一般被在軟件包的安裝和調(diào)度的過程中被捕獲。另外,該結(jié)構(gòu)模型包括如箭頭所示在各種系統(tǒng)組件之間的附屬關(guān)系。為了清楚起見,在圖4中,該商業(yè)服務(wù)的名稱被寫出而沒有加引號,并且該結(jié)構(gòu)模型的單元名稱被寫出而沒有加引號。
具有完全合格的域名wslab8.watson.ibm.com的系統(tǒng)400包括如下組件電子商務(wù)應(yīng)用程序(在該功能方框中定義的商業(yè)服務(wù)),其被應(yīng)用為前臺服務(wù)小程序410,并且后者包括該應(yīng)用程序。該網(wǎng)絡(luò)應(yīng)用程序服務(wù)由IBM WebSphere版本3.5 415所實(shí)現(xiàn),而該網(wǎng)絡(luò)服務(wù)由IBM HTTP Server版本1.3.6 420所實(shí)現(xiàn)。該IP服務(wù)由默認(rèn)IP協(xié)議棧430所實(shí)現(xiàn),該操作系統(tǒng)(OS)是Win(dows)NT版本4 425。
具有完全合格的域名rslab2.watson.ibm.com的系統(tǒng)405包括如下組件(IBM)DB2通用數(shù)據(jù)庫(UDB)版本5.2 435所實(shí)現(xiàn)的數(shù)據(jù)庫服務(wù)、以及一種操作系統(tǒng),在此為(IBM)先進(jìn)交互作用執(zhí)行者(AIX)版本4.3.3 440。
現(xiàn)在參見圖5,一個方框圖示出由根據(jù)本發(fā)明一個實(shí)施例的功能、結(jié)構(gòu)和操作附屬關(guān)系模型所針對的服務(wù)操作周期。更加具體來說,圖5示出在上述的一個功能模型500和結(jié)構(gòu)模型510之間的關(guān)系,并且引入第三附屬關(guān)系模型,一個操作模型520。這三個模型使得本發(fā)明在它們的整個操作周期過程中跟蹤該服務(wù),即,從設(shè)計(jì)階段到安裝和調(diào)度階段,到操作或運(yùn)行階段。
如上文所示,該功能模型500涉及商業(yè)服務(wù)的設(shè)計(jì),因此在一個商業(yè)系統(tǒng)的設(shè)計(jì)時間內(nèi)被捕獲。一旦由該功能模型500所描述的系統(tǒng)變?yōu)槔净虮徽{(diào)度(步驟505),則建立該結(jié)構(gòu)模型510。當(dāng)該結(jié)構(gòu)模型510的各個組件變?yōu)槔緯r以及當(dāng)建立它們之間的運(yùn)行時間捆綁時,創(chuàng)建該操作模型520(步驟515)。該操作模型表示在運(yùn)行時間中上述模型的特性?,F(xiàn)在將描述說明上述概念的幾種情況。
該網(wǎng)絡(luò)應(yīng)用程序服務(wù)305由IBM WebSphere 415來實(shí)現(xiàn);后者的一個或多個實(shí)例被稱為websphere-daemon 545。在此,網(wǎng)絡(luò)(或WWW)服務(wù)310由兩個產(chǎn)品來實(shí)現(xiàn),即,Apache 1.3.4 525和Lotus Domino 530。這些產(chǎn)品的運(yùn)行實(shí)例可以被表示為http daemons″httpd″550。該數(shù)據(jù)庫服務(wù)330由兩個產(chǎn)品來實(shí)現(xiàn),即,Oracle v7 535和DB2 UDB 435;但是,沒有Oracle v7 535的實(shí)例是活躍的,因?yàn)樵谠摬僮髂P?20中沒有看到服務(wù)器處理。相反,DB2 UDB 435的四個實(shí)例被運(yùn)行,如可以從該操作模型520中的四個DB2 daemons″db2d″555看出。該名服務(wù)315可以由BIND版本5.6 540來實(shí)現(xiàn);該BIND的運(yùn)行實(shí)例可以被觀察為在該操作模型520中的“命名的”560。
請注意該附屬關(guān)系被從該功能模型傳遞到結(jié)構(gòu)和操作模型。這是必要的,因?yàn)椴豢赡軓囊粋€運(yùn)行中的應(yīng)用程序?qū)嵗_定哪一個其他應(yīng)用程序?qū)嵗枰9ぷ鳌?br>
由于一些應(yīng)用程序?qū)嵗膲勖^短,該操作模型520是高度動態(tài)的,并且潛力非常大。與該功能和結(jié)構(gòu)附屬關(guān)系模型相反,該操作模型520不被存儲在一個存儲庫或數(shù)據(jù)庫中,而是根據(jù)要求和需要的程度而被計(jì)算。
現(xiàn)在參見圖6,一個方框圖示出根據(jù)本發(fā)明一個實(shí)施例在功能、結(jié)構(gòu)和操作附屬關(guān)系模型之間的關(guān)系。更加具體來說,圖6示出用于三個附屬關(guān)系模型的數(shù)據(jù)模板和用于通過一個例子把這些模型聯(lián)系在一起的具體細(xì)節(jié)。該例子詳細(xì)示出用于描述在其操作周期過程中的名服務(wù)的模板和其相關(guān)數(shù)值。
用于功能模型500的功能模板605包含該“主機(jī)名”(容納該服務(wù)的計(jì)算機(jī)系統(tǒng)的唯一名稱),“服務(wù)名”(該服務(wù)的名稱)以及“組件類型”(該服務(wù)扮演的角色,即,客戶機(jī)或服務(wù)器)。利用該信息,一個服務(wù)可以被在一個分布式環(huán)境中唯一地識別。但是,可以添加包含描述數(shù)據(jù)(例如該服務(wù)的目的的描述,客戶對該服務(wù)的訂購,等等)的其他字段可以被添加,而不脫離本發(fā)明的精神。最后,“先前者”字段包括服務(wù),該服務(wù)需要正常工作。
用于結(jié)構(gòu)模型510的結(jié)構(gòu)模板610包含該功能模板605的所有字段,其允許把該功能模板605與結(jié)構(gòu)模板610相連接,以從功能模型500導(dǎo)航到結(jié)構(gòu)模型510,反之亦然。另外,該結(jié)構(gòu)模板610包括“組件名”(產(chǎn)品組件的名稱)、“標(biāo)識符”(用于識別該組件的全局唯一的名稱)、“版本”、“發(fā)行版”和“修訂”(例如,維護(hù)或者修補(bǔ)/修理級別)號、“安裝狀態(tài)”(表示該組件是否已經(jīng)被成功和完全安裝)和“過程名”(表示在運(yùn)行時間中該產(chǎn)品組件的處理名稱)。另外,該“先前者”字段列出組件,該組件需要被操作。
用于該操作模型520的操作模板615包含字段“主機(jī)名”(包含該服務(wù)的計(jì)算機(jī)系統(tǒng)的唯一名稱)和過程名(表示在運(yùn)行時間中的產(chǎn)品組件的過程名稱)。這兩個字段把結(jié)構(gòu)模板610與操作模板615相聯(lián)系,以從該結(jié)構(gòu)模型510導(dǎo)航到操作模型,反之亦然。另外,該操作模板615包括“操作狀態(tài)”(該過程的操作狀態(tài),即,運(yùn)行、中斷、僵進(jìn)程,等等)、“端口號”(由一個應(yīng)用程序可以連接到該過程的TCP/UDP端口的號碼)以及“實(shí)例ID”(區(qū)別在一個計(jì)算機(jī)系統(tǒng)中的各種應(yīng)用程序?qū)嵗?。
三個附屬關(guān)系模型被在不同的位置存儲和計(jì)算以獲得最大程度的有效性。該功能模型500被收集和存儲在該管理系統(tǒng)620中,即,控制的中心點(diǎn),管理員100通過該中心點(diǎn)與該分布式環(huán)境進(jìn)行交互作用。對于該選擇的一些原因如下。如圖3和圖5中所示,該功能模型500相當(dāng)緊湊,因?yàn)榭赡艿纳虡I(yè)服務(wù)的量是有限的。另外,該功能模型不受到過度頻繁地改變。當(dāng)一個商業(yè)服務(wù)被提供到一個客戶并且保持不變直到該服務(wù)提供周期結(jié)束時為止時,該功能模型被確定。由于該管理員100負(fù)責(zé)設(shè)置和更新功能模型500,因此把它保持接近于該管理系統(tǒng)620是一個自然的選擇。
如圖4和圖5中所示,相反該結(jié)構(gòu)模型510捕獲軟件組件的詳細(xì)描述,即,通常被記錄在各種系統(tǒng)的存儲庫或者在一個明確定義的位置處的系統(tǒng)目錄,例如,被管理資源220的配置文件。相反,它的內(nèi)容較大(一個系統(tǒng)存儲庫的內(nèi)容通常在幾百K字節(jié)到幾兆字節(jié))并且還受到頻繁的改變。因此,把一個系統(tǒng)的結(jié)構(gòu)模型510保持在被管理的資源220處,其本身消除用于更新該模型的通信開銷和對大存儲量的需求,如果所有被管理的資源(220)的結(jié)構(gòu)模型510被存儲在一個集中的位置,則存在這些需求。
操作模型520已經(jīng)被在圖5中描述為非常動態(tài),并且還特別大,因?yàn)樗采w存在于該分布式環(huán)境的計(jì)算機(jī)系統(tǒng)上的每個應(yīng)用程序的多個潛在實(shí)例以及它們之間的附屬關(guān)系。給定這樣的事實(shí),即,互聯(lián)網(wǎng)/應(yīng)用程序/存儲服務(wù)提供者和外部來源的當(dāng)前數(shù)據(jù)中心由幾千個計(jì)算機(jī)系統(tǒng)所構(gòu)成,每個計(jì)算機(jī)系統(tǒng)接近于容納100個應(yīng)用程序和系統(tǒng)服務(wù),包括所有當(dāng)前例示的應(yīng)用程序和它們的附屬關(guān)系的一個操作模型可能是不現(xiàn)實(shí)的。因此,一個實(shí)踐方法是根據(jù)需要計(jì)算該操作模型的相關(guān)部分(步驟625)。這是該附屬關(guān)系服務(wù)245的目的,其功能在圖7中詳細(xì)描述。
現(xiàn)在參見圖7,一個方框圖示出計(jì)算在根據(jù)本發(fā)明一個實(shí)施例的端到端附屬關(guān)系中所涉及的組件。更加具體來說,圖7示出用于查詢和計(jì)算端到端附屬關(guān)系的各種組件。假設(shè)被管理的資源220能夠提供它們的系統(tǒng)目錄、配置文件和它們的各種附屬關(guān)系的XML(可擴(kuò)展的標(biāo)識語言)描述。但是,應(yīng)當(dāng)知道,根據(jù)本發(fā)明可以使用任何數(shù)據(jù)描述格式。關(guān)于如何獲得該信息的具體細(xì)節(jié)如下。
一種直接的方法是在該系統(tǒng)和其應(yīng)用程序和服務(wù)中提供適當(dāng)?shù)膬x器。該信息用直接的(flat)XML文件740來描述,并且可以通過一個網(wǎng)絡(luò)服務(wù)器725由該系統(tǒng)的其他組件所獲得。
另外,該附屬關(guān)系服務(wù)245利用存儲在系統(tǒng)存儲庫745中的信息,產(chǎn)生適當(dāng)?shù)姆?wù)附屬關(guān)系信息。該信息可以通過一個網(wǎng)絡(luò)服務(wù)器730由該系統(tǒng)的其他組件所獲得。
第三,該被管理的資源220通過一個儀器代理公開它的信息,該儀器代理被稱為CIM提供者750,其與由分布式管理特別工作組(DMTF)所提議的CIM對象管理員(CIMOM)735交互作用。該CIMOM然后向感興趣的組件公開必要的信息。
在圖7的中央,示出作為該服務(wù)層205的一部分的各種管理服務(wù)。其中為名服務(wù)700、商人服務(wù)710、事件服務(wù)715和附屬關(guān)系服務(wù)245。該附屬關(guān)系服務(wù)245由管理員100的查詢通過其管理系統(tǒng)或者任何位于該應(yīng)用層200中的使用一種通信協(xié)議(例如,Java遠(yuǎn)程方法調(diào)用(RMI))管理應(yīng)用程序所觸發(fā),執(zhí)行處理,并且把結(jié)果返回到該管理員100。該附屬關(guān)系服務(wù)245的主要任務(wù)如下(a)與該管理系統(tǒng)或者位于該應(yīng)用層200中的任何管理應(yīng)用程序交互作用。該管理系統(tǒng)把查詢發(fā)送到該附屬關(guān)系服務(wù)(245)的應(yīng)用程序編程接口(API)。
(b)在接收一個服務(wù)的標(biāo)識符之后,公開“向下鉆(drill-down)”方法,返回(i)其直接先前者的描述,即,在表示該服務(wù)的節(jié)點(diǎn)之下的第一級,或者(ii)在表示該服務(wù)的節(jié)點(diǎn)之下的整個子圖,(iii)該附屬關(guān)系圖的任意子集(在給定節(jié)點(diǎn)之下的層m至n)。
(c)利用相同設(shè)施提供“向上鉆”方法,觸發(fā)該服務(wù)的附屬者。
(d)提供用于收集和過濾被管理對象的種類和屬性的信息的附加方法。
(e)通過http(超文本傳輸協(xié)議)發(fā)出查詢而從被管理的資源獲得附屬關(guān)系信息并且對它應(yīng)用過濾規(guī)則(如管理員100所指定),從該被管理的資源220獲得該附屬關(guān)系信息。
(f)把該信息組合到被發(fā)送回該管理系統(tǒng)作為XML文檔的一個數(shù)據(jù)結(jié)構(gòu)。
如上文所示,由于其完全的分布式特性,本發(fā)明的目的使得在每個所涉及系統(tǒng)上的負(fù)擔(dān)盡可能低。本發(fā)明使得該管理系統(tǒng)與被管理的資源220分離,并且把消耗時間的過濾和接合操作包含到該附屬關(guān)系服務(wù)245中,其可以被在各種系統(tǒng)上復(fù)制。因此,可以對查詢操作獲得最大的平行度,因?yàn)榭梢酝ㄟ^該管理系統(tǒng)靈活地完成該附屬關(guān)系服務(wù)245的實(shí)例的選擇。
另一個重要優(yōu)點(diǎn)是(非常大和高度動態(tài))的操作模型520不被存儲在一個特定的位置,而是按照逐步的方式根據(jù)需要而計(jì)算。該結(jié)構(gòu)模型510的不同部分被存儲在該被管理的資源220處,因此該管理系統(tǒng)總是接收最近的信息,但是仍然自由地根據(jù)完善的緩存策略而存儲它。
現(xiàn)在參見圖8,一個方框圖示出根據(jù)本發(fā)明一個實(shí)施例的附屬關(guān)系服務(wù)的組件。更加具體來說,圖8示出實(shí)現(xiàn)該附屬關(guān)系服務(wù)245的組件。如圖所示,一個信息提供者810與該應(yīng)用層200的管理應(yīng)用程序交互作用。該信息提供者810通過Java RMI接收查詢840,并且把其結(jié)果作為XML文檔835發(fā)送回。查詢840與基本信息相關(guān)(例如服務(wù)和組件的描述或者特定屬性的數(shù)值的檢索)或者處理更加復(fù)雜的問題(例如在附屬關(guān)系模型中的向下鉆或向上鉆操作)。
資源代理800負(fù)責(zé)通過與資源網(wǎng)絡(luò)服務(wù)器725相接而獲得被管理的資源XML描述830。該資源代理800還通過把一個查詢經(jīng)http發(fā)送到(步驟827)該資源網(wǎng)絡(luò)服務(wù)器725而實(shí)現(xiàn)該操作。在接收XML描述830之后,該資源代理800對它們進(jìn)行分析,并且對它們應(yīng)用查詢表達(dá)(例如選擇和過濾規(guī)則),以及把該結(jié)果轉(zhuǎn)發(fā)到一個查詢解決者805。
該查詢解決者805的任務(wù)是維護(hù)一個圖,以對一個給定的主機(jī)名確定哪一個資源代理800能夠服務(wù)該請求并且把該請求轉(zhuǎn)發(fā)到適當(dāng)?shù)馁Y源代理800。
單元URI分解器815負(fù)責(zé)對給定的主機(jī)名構(gòu)造統(tǒng)一資源標(biāo)識符(URI)并且把該結(jié)果發(fā)送回調(diào)用者,其可以是信息提供者810或者查詢解決者805。
XML子類分解器820是負(fù)責(zé)根據(jù)在XML方案825中定義的類型系統(tǒng)而確定特定類型的單元的幫助方框。其例子是查詢在具有類型“服務(wù)”(例如網(wǎng)絡(luò)應(yīng)用程序服務(wù)、網(wǎng)絡(luò)服務(wù)或名服務(wù))、具有類型“主機(jī)”(被確定服務(wù)和附屬關(guān)系的主機(jī))或者具有類型“附屬關(guān)系”的一個或多個XML文檔中的所有單元。
現(xiàn)在參見圖9,一個流程圖示出根據(jù)本發(fā)明一個實(shí)施例用于調(diào)用一個附屬關(guān)系服務(wù)(例如,附屬關(guān)系服務(wù)245)并且收集其結(jié)果的動作的步驟。該方法由一個管理員100或者作為該應(yīng)用層200的一部分的管理應(yīng)用程序所啟動,如圖2A中所示。
該方法以方框900為開始并且進(jìn)行如下。首先,由于一個管理員對由該分布式系統(tǒng)所提供的商業(yè)服務(wù)感興趣,該商業(yè)服務(wù)一般被從該功能模塊選擇(步驟905)。在選擇一個商業(yè)服務(wù)之后,該結(jié)構(gòu)模型被查詢,以提供在該商業(yè)服務(wù)的供應(yīng)中所涉及的主機(jī)的選擇。這可以通過把該結(jié)構(gòu)模型置于該分布式系統(tǒng)的每個主機(jī)上,或者(為了效率的目的)通過此查詢存儲在包含該分布式系統(tǒng)中存在的服務(wù)和主機(jī)之間的映射的該管理系統(tǒng)中的一個(定期更新的)服務(wù)/主機(jī)查找表而實(shí)現(xiàn)。該管理員然后根據(jù)他的判斷選擇一個主機(jī)(步驟910)。
另外,該管理員編輯一個查詢(步驟915)。查詢參數(shù)的例子包括但不限于遍歷的方向(向著服務(wù)附屬者或者向著其先前者)、遍歷的深度(例如,僅僅緊接著的先前者/附屬者;所有可能的先前者/附屬者,即,該操作模型的完全傳遞閉包;僅僅在該操作模型的第m和第n層之間)、與屬性的存在或者與它們的數(shù)值相關(guān)的過濾標(biāo)準(zhǔn)。
用于選擇服務(wù)(步驟905)、主機(jī)(步驟910)和用于編輯查詢的選項(xiàng)的步驟次序被在此規(guī)定的事實(shí)強(qiáng)調(diào)本發(fā)明的“以服務(wù)為中心的”方法(與現(xiàn)有技術(shù)的“以主機(jī)為中心的”方法相反)。但是,本領(lǐng)域的普通技術(shù)人員將認(rèn)識到可以對步驟的次序做出改變(步驟905、910和915),而不脫離本發(fā)明的精神和范圍。
這種修改的例子是向用戶提供(例如,通過一個圖形用戶界面)按照任意次序執(zhí)行選擇操作的三個步驟的選擇;允許首先選擇一個主機(jī),然后通過查詢該結(jié)構(gòu)模型查找存在于該主機(jī)上的服務(wù),從而限制用于選擇的可能服務(wù)候選者。
在該服務(wù)和主機(jī)選擇以及查詢的編輯之后,該附屬關(guān)系服務(wù)被這些參數(shù)所調(diào)用(步驟920)。請注意調(diào)用的模式可以是同步的(例如,阻止該調(diào)用者直到由該附屬關(guān)系服務(wù)返回該結(jié)果)或者異步的(因此允許調(diào)用者在計(jì)算過程中執(zhí)行附加的任務(wù))。
該附屬關(guān)系服務(wù)計(jì)算該操作模型的適當(dāng)部分,并且根據(jù)本發(fā)明的模式,把該結(jié)果發(fā)送回該調(diào)用者,或者把該結(jié)果可用的情況通知該調(diào)用者。然后該調(diào)用者收集該結(jié)果(步驟925)并且進(jìn)一步處理它們。該方法在方框930處結(jié)束。
現(xiàn)在參見圖10,一個流程圖示出根據(jù)本發(fā)明一個實(shí)施例用于創(chuàng)建和更新功能附屬關(guān)系模型的管理員的任務(wù)。如果調(diào)度和提供新的(商業(yè))服務(wù),或者把改變應(yīng)用于一個現(xiàn)有的模型,或者現(xiàn)有的(商業(yè))服務(wù)被從一個供應(yīng)中撤回,則這是必要的。
該方法以方框1000為開始,并且進(jìn)行如下。一個管理員或者管理應(yīng)用程序評估一個新的商業(yè)服務(wù)是否應(yīng)當(dāng)被添加或者一個現(xiàn)有的服務(wù)是否要被刪除(步驟1005)。如果沒有必要,則該方法直接進(jìn)行到方框1025。否則,在步驟1010,該服務(wù)以及它的描述被輸入到已經(jīng)在圖6中所述的該功能模型的模板605(或者被從該模板刪除)。
然后,在步驟1015,該服務(wù)附屬關(guān)系,即,關(guān)于其先前者的關(guān)系,需要被添加到該功能模型的模板605(或者被從該模板刪除)。在刪除的情況中,請注意來自該服務(wù)附屬者的附屬關(guān)系需要被調(diào)節(jié)到要被刪除的服務(wù)的先前者的位置。這可能涉及檢查在該先前者的附屬關(guān)系中的最終復(fù)制描述。最后,該更新的功能模型被存儲在該管理系統(tǒng)的存儲庫中(步驟1020)。該方法在方框1025結(jié)束。
現(xiàn)在參見圖11,一個流程圖示出根據(jù)本發(fā)明一個實(shí)施例的通過在一個計(jì)算機(jī)系統(tǒng)上安裝或刪除硬件/軟件組件而更新一個結(jié)構(gòu)附屬關(guān)系模型的步驟。如果一個新的組件被調(diào)度和安裝在一個主機(jī)上,或者現(xiàn)有的組件被從該主機(jī)上刪除,則這是必要的。
該方法在方框1100開始,并且進(jìn)行如下。如果新的硬件組件被安裝/刪除,則通常通過該操作系統(tǒng)執(zhí)行它們的附屬關(guān)系的確認(rèn)和調(diào)節(jié),因此沒有在此進(jìn)一步描述。另外,如下描述針對于添加/刪除軟件組件的任務(wù)。一個管理員或執(zhí)行軟件發(fā)布和安裝的管理應(yīng)用程序評估一個新的軟件組件是否應(yīng)當(dāng)被添加或者一個現(xiàn)有的軟件組件是否要被刪除(步驟1105)。如果沒有必要,則該方法直接進(jìn)行到方框1125。否則,在步驟1110,該軟件組件的描述被輸入到已經(jīng)在圖6中所述的該結(jié)構(gòu)模型的模板610(或者被從該模板刪除)。然后,在步驟1115,該軟件組件附屬關(guān)系,即,關(guān)于其先前者的關(guān)系,需要被添加到該功能模型的模板610(或者被從該模板刪除)。
在刪除的情況中,請注意來自該軟件組件的附屬者的附屬關(guān)系需要被調(diào)節(jié)到要被刪除的軟件組件的先前者的位置。這可能涉及檢查在該先前者的附屬關(guān)系中的最終復(fù)制描述。最后,該更新的功能模型被存儲在該主機(jī)的資源附屬關(guān)系存儲庫中(步驟1120)。該方法在方框1125結(jié)束。
現(xiàn)在參見圖12,一個流程圖示出根據(jù)本發(fā)明一個實(shí)施例的負(fù)責(zé)操作模型的計(jì)算的系統(tǒng)的步驟。該方法在方框1200開始,并且進(jìn)行如下。
執(zhí)行操作附屬關(guān)系模型的計(jì)算的系統(tǒng)連續(xù)監(jiān)聽在哪一個系統(tǒng)上的該主機(jī)的一個特定端口處的請求被執(zhí)行,其由把方框1205與其自身相連接的循環(huán)所示。這是用于實(shí)現(xiàn)服務(wù)的服務(wù)器處理(″daemons″)的標(biāo)準(zhǔn)行為,其可以在任何時候被應(yīng)用程序所調(diào)用。
在接收一個請求時,該系統(tǒng)從該請求提取輸入?yún)?shù)(步驟1210)。如圖9中所示,輸入?yún)?shù)的例子包括但不限于所討論的服務(wù)和主機(jī)的名稱、遍歷的方向、遍歷的深度、與屬性的存在或者與它們的數(shù)值相關(guān)的過濾標(biāo)準(zhǔn)。然后,這些輸入?yún)?shù)被用于執(zhí)行該操作模型的實(shí)際計(jì)算(步驟1215)。
根據(jù)在調(diào)用時指定的調(diào)用模式,該計(jì)算的結(jié)果,即該操作模型,然后被傳遞到該調(diào)用應(yīng)用程序(步驟1220)。在該步驟之后,運(yùn)行該系統(tǒng)的主機(jī)的任何被分配資源被釋放(步驟1225)。主機(jī)資源的例子包括但不限于存儲器、磁盤空間或者CPU寄存器。最后,該系統(tǒng)返回到其初始狀態(tài),用于后續(xù)的輸入請求(1205)。
現(xiàn)在參見圖13,一個流程圖示出根據(jù)本發(fā)明一個實(shí)施例的提取位于一個指定的主機(jī)上的直接先前者的步驟。該方法在方框1300開始,并且進(jìn)行如下。
首先,獲得該目標(biāo)服務(wù)和主機(jī)的名稱(步驟1305)。這些參數(shù)通過該調(diào)用管理應(yīng)用程序而提供,其直接從管理員或從到達(dá)該管理控制臺的一個事件消息獲得這些參數(shù)。然后,包含該服務(wù)描述的單元位于該指定的主機(jī)的結(jié)構(gòu)模型中(步驟1310)。
然后,如圖6中所示,給定服務(wù)的結(jié)構(gòu)模板610的先前者屬性的評估(步驟1315)揭示該服務(wù)是否具有任何先前者。如果該先前者屬性為空,即該單元沒有先前者,則該服務(wù)單元本身被添加到該操作模型(步驟1320)。一個調(diào)用管理應(yīng)用程序把這解釋為僅僅附屬于它本身的一個服務(wù)。然后該方法直接進(jìn)行到方框1340。
但是,如果該先前者屬性包含一個或多個單元,則該服務(wù)具有先前者。因此,該方法進(jìn)行到方框1325,其把該服務(wù)單元添加到該操作模型。另外,一個附屬關(guān)系單元被添加到該操作模型(步驟1330)。在該附屬關(guān)系單元的范圍內(nèi),緊接著在該附屬關(guān)系單元之后,通過把該結(jié)構(gòu)模板610的先前者屬性的內(nèi)容復(fù)制到該操作模型,添加(一個或多個)先前者單元的列表。這樣一個實(shí)現(xiàn)方式的典型例子是把該附屬關(guān)系單元定義為一個XML標(biāo)簽,添加先前者的列表,然后關(guān)閉該XML標(biāo)簽。該方法通過把該操作模型的內(nèi)容發(fā)送到該調(diào)用者而在方框1340結(jié)束。
現(xiàn)在參見圖14,一個流程圖示出根據(jù)本發(fā)明一個實(shí)施例遞歸地檢索位于一個指定的主機(jī)上的一個服務(wù)的先前者的步驟。更加具體來說,圖14示出在遞歸地檢索位于一個指定主機(jī)上的一個服務(wù)的每個(即,直接或間接)先前者中的深度優(yōu)先策略的應(yīng)用。請注意遞歸查詢可以跨越系統(tǒng)或者甚至提供者的邊界,例如,到另一個系統(tǒng)的客戶機(jī)/服務(wù)器接合點(diǎn)。
該方法在方框1400開始并且進(jìn)行如下。首先,獲得該目標(biāo)服務(wù)和主機(jī)的名稱(步驟1405)。這些參數(shù)由該調(diào)用管理應(yīng)用程序或者API功能所提供,其直接從該管理員或從到達(dá)該管理控制臺的事件消息獲得這些參數(shù)。
然后,包含該服務(wù)描述的單元被置于該指定主機(jī)的結(jié)構(gòu)模型中,并且進(jìn)入一個服務(wù)列表(步驟1410)。在完成該步驟之后,評估該服務(wù)列表是否為空(步驟1415)。如果該服務(wù)列表包括單元,則該列表的第一單元被選擇,添加到該模型(步驟1420)并且從該列表中刪除。
如圖6中所示,給定服務(wù)的結(jié)構(gòu)模板610的先前者屬性的評估揭示該服務(wù)是否具有任何先前者。在該先前者屬性中列出的單元然后被置于一個分離列表,即,可以為空的該先前者列表(步驟1425)。
然后該方法直接進(jìn)行到方框1430,其揭示該先前者列表是否包含任何單元。如果該先前者列表為空(即,該服務(wù)沒有任何進(jìn)一步的先前者),則該方法返回到方框1415,以繼續(xù)在該服務(wù)列表中的下一個項(xiàng)目,如果存在該項(xiàng)目的話。
但是,如果該先前者列表包含一個或多個單元,則該服務(wù)具有先前者。因此,該方法進(jìn)行到方框1435,其從該先前者列表中除去先前者服務(wù),并且把它插入到該服務(wù)列表的開始處,以使允許該圖形結(jié)構(gòu)的深度優(yōu)先遍歷。另外,該先前者(以及表示實(shí)際附屬關(guān)系的鏈接)被添加到該操作模型(步驟1440)。該方法的這一部分被執(zhí)行,直到該先前者列表為空。如果存在這種情況,則該方法進(jìn)行到方框1415,并且繼續(xù)(最終被擴(kuò)展的)服務(wù)列表。如果該服務(wù)列表為空(方框1445),則通過把該操作模型的內(nèi)容發(fā)送到該調(diào)用者而結(jié)束該方法。
現(xiàn)在返回到圖15,一個流程圖示出根據(jù)本發(fā)明一個實(shí)施例檢索位于一個指定主機(jī)上的服務(wù)的直接附屬者的步驟。該方法在方框1500開始,并且繼續(xù)執(zhí)行如下。
首先,獲得目標(biāo)服務(wù)和主機(jī)的名稱(步驟1505)。這些參數(shù)通過調(diào)用管理應(yīng)用程序而提供,其直接從該管理員或從到達(dá)該管理控制臺的一個事件消息獲得這些參數(shù)。然后,包含該服務(wù)描述的單元位于該指定主機(jī)的結(jié)構(gòu)模型中(步驟1510)。
然后,對于其先前者是該目標(biāo)服務(wù)單元的所有單元的搜索揭示該服務(wù)是否具有任何附屬者。如果該結(jié)果為空(步驟1515),即,該單元沒有附屬者,則該服務(wù)單元自身被添加到該操作模型(步驟1520)。一個調(diào)用管理應(yīng)用程序把這種情況理解為僅僅附屬于其自身的一個服務(wù)。然后該方法直接進(jìn)行到方框1540。
但是,如果對于其先前者是目標(biāo)服務(wù)單元的所有單元的搜索產(chǎn)生一個或多個單元,該服務(wù)具有附屬者。因此,該方法進(jìn)行到方框1525,其把該服務(wù)單元添加到該操作模型。另外,一個附屬關(guān)系單元被添加到該操作模型(步驟1530)。在該附屬關(guān)系單元的范圍內(nèi),緊接著在該附屬關(guān)系單元之后,把(一個或多個)附屬者單元添加到該操作模型。這種實(shí)現(xiàn)方式的一個典型例子是把該附屬關(guān)系單元定義為一個XML,添加附屬者的列表,然后關(guān)閉該XML標(biāo)簽。通過把該操作模型的內(nèi)容發(fā)送到該調(diào)用者,該方法在方框1540結(jié)束。
現(xiàn)在參見圖16,一個流程圖示出根據(jù)本發(fā)明一個實(shí)施例的遞歸地檢索位于一個指定主機(jī)上的服務(wù)的附屬者的步驟。更加具體來說,圖16示出遞歸地檢索在位于一個指定主機(jī)上的一個服務(wù)的每個(即,直接或間接)附屬者的一個深度優(yōu)先策略的使用。請注意,該遞歸查詢可以跨越系統(tǒng)或者甚至提供者的邊界,例如,到另一個系統(tǒng)的客戶機(jī)/服務(wù)器接合點(diǎn)。
該方法在方框1600開始并且進(jìn)行如下。首先,獲得該目標(biāo)服務(wù)和主機(jī)的名稱(步驟1605)。這些參數(shù)由該調(diào)用管理應(yīng)用程序或者API功能所提供,其直接從該管理員或從到達(dá)該管理控制臺的事件消息獲得這些參數(shù)。然后,包含該服務(wù)描述的單元被置于該指定主機(jī)的結(jié)構(gòu)模型中,并且進(jìn)入一個服務(wù)列表(步驟1610)。
在完成步驟1610之后,評估該服務(wù)列表是否為空(步驟1615)。如果該服務(wù)列表包括單元,則該列表的第一單元被選擇,添加到該模型(步驟1620)并且從該列表中刪除。如圖6中所示,對于該服務(wù)列表的當(dāng)前單元的存在情況的所有結(jié)構(gòu)模板610的先前者屬性的評估揭示該服務(wù)是否具有任何附屬者。
在其先前者屬性中出現(xiàn)所述服務(wù)的該單元的服務(wù)名然后被置于一個分離列表,即,可以為空的該附屬者列表(步驟1625)。另外,如果該結(jié)構(gòu)模板610包含一個附屬者屬性(即,該附屬關(guān)系由雙向鏈路所表示),則該附屬者屬性的內(nèi)容被復(fù)制在該附屬者列表中。
該方法然后直接進(jìn)行到方框1630,其評估該附屬者列表是否包含任何其他單元。如果該附屬者列表為空(即,該服務(wù)沒有任何進(jìn)一步的附屬者),則該方法返回到方框1615,以繼續(xù)在該服務(wù)列表中的下一個項(xiàng)目,如果存在該項(xiàng)目的話。
但是,如果該附屬者列表包含一個或多個單元,則該服務(wù)具有附屬者。因此,該方法進(jìn)行到方框1635,其從該附屬者列表中除去該附屬者服務(wù),并且把它插入到該服務(wù)列表的開始處,以使允許該圖形結(jié)構(gòu)的深度優(yōu)先遍歷。另外,該附屬者(以及表示實(shí)際附屬關(guān)系的鏈接)被添加到該操作模型(步驟1640)。該方法的這一部分被執(zhí)行,直到該附屬者列表為空。如果存在這種情況,則該方法進(jìn)行到方框1615,并且繼續(xù)(最終被擴(kuò)展的)服務(wù)列表。如果該服務(wù)列表為空(方框1645),則通過把該操作模型的內(nèi)容發(fā)送到該調(diào)用者而結(jié)束該方法。
現(xiàn)在返回到圖17,其中示出根據(jù)本發(fā)明一個實(shí)施例的附屬關(guān)系服務(wù)應(yīng)用程序編程接口(API)的例子。該表格包括可以為給定的服務(wù)和主機(jī)名產(chǎn)生、發(fā)送和請求適當(dāng)操作模型的接收的基本API。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)知道該API可以使用一個或多個參數(shù)(未示出)來識別由該API所使用的特性(在功能描述中指定)。
具體來說,一個″getAntecedents(參數(shù))″API檢索位于一個特定主機(jī)上的服務(wù)的直接先前者。該″getAntecedentsRecursive(參數(shù))″API執(zhí)行遞歸″向下鉆″操作,即,它檢索位于特定主機(jī)上的一個給定服務(wù)的所有先前者。該″getDependents(參數(shù))″API檢索位于一個特定主機(jī)上的給定服務(wù)的直接附屬者。該″getDependentsRecursive(參數(shù))″API執(zhí)行一個遞歸的“向上鉆”操作,即,其檢索位于一個特定主機(jī)上的一個給定服務(wù)的所有附屬者?!錱etServiceDependencies(參數(shù))″API對于一個特定服務(wù)產(chǎn)生所有遞歸附屬者的列表(即,先前者和附屬者)。″getTransactionDependencies(參數(shù))″API檢索參與在一個特定交易中的硬件和軟件組件的列表以及它們的附屬關(guān)系?!錱etTransactionComponents(參數(shù))″API檢索參與在一個特定交易中的硬件和軟件組件的列表?!錱etHostDependencies(參數(shù))″API對位于一個特定主機(jī)上的所有服務(wù)產(chǎn)生一個所有遞歸附屬關(guān)系的列表?!錱etHostComponents(參數(shù))″API檢索安裝在一個特定主機(jī)上的硬件和軟件組件的列表?!癵etExternalServiceDependencies(參數(shù))API”對一個特定服務(wù)產(chǎn)生跨越域邊界的所有遞歸附屬關(guān)系的列表(即,先前者和附屬者),即在另一個服務(wù)提供者的控制下。最后,″getReferencingDependencies(參數(shù))″API對于在主機(jī)上的一個給定服務(wù)返回向上和向下的附屬關(guān)系的參考。
盡管在此參照
本發(fā)明的示意實(shí)施例,但是應(yīng)當(dāng)知道本發(fā)明不限于這些具體實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以做出各種改變和變型而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種基于計(jì)算機(jī)的在計(jì)算環(huán)境中的管理信息的方法,該方法包括如下步驟獲得與該計(jì)算環(huán)境的組件相關(guān)的信息;從至少一部分所獲得的信息確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在,其中確定一個或多個關(guān)系的存在的步驟能夠考慮到與該計(jì)算環(huán)境的至少一個組件相關(guān)的整個操作周期。
2.根據(jù)權(quán)利要求1所述的方法,其中該計(jì)算環(huán)境包括一個分布式計(jì)算環(huán)境。
3.根據(jù)權(quán)利要求1所述的方法,其中該計(jì)算環(huán)境包括一個自治的計(jì)算環(huán)境。
4.根據(jù)權(quán)利要求1所述的方法,其中確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在的步驟進(jìn)一步能夠考慮到對與該計(jì)算環(huán)境的至少兩個組件相關(guān)的互異性。
5.根據(jù)權(quán)利要求1所述的方法,其中確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在的步驟進(jìn)一步考慮到跨越與該計(jì)算環(huán)境相關(guān)的一個或多個域的一個或多個組件。
6.根據(jù)權(quán)利要求1所述的方法,其中確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在的步驟進(jìn)一步包括以一種形式計(jì)算組件附屬關(guān)系,該形式包括功能分類、結(jié)構(gòu)分類和操作分類。
7.根據(jù)權(quán)利要求6所述的方法,其中組件附屬關(guān)系的功能分類包括被模型化為一個節(jié)點(diǎn)圖的功能單元,其中一個或多個第一節(jié)點(diǎn)被鏈接到被該一個或多個第一節(jié)點(diǎn)所附屬的一個或多個第二節(jié)點(diǎn),以及鏈接到附屬于一個或多個第一節(jié)點(diǎn)的一個或多個第三節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求7所述的方法,其中該節(jié)點(diǎn)是在該計(jì)算環(huán)境中的組件的表示。
9.根據(jù)權(quán)利要求8所述的方法,其中該組件被定義為至少附屬者和先前者之一。
10.根據(jù)權(quán)利要求9所述的方法,其中該節(jié)點(diǎn)圖包含在節(jié)點(diǎn)之間的鏈路,該鏈路表示附屬關(guān)系。
11.根據(jù)權(quán)利要求10所述的方法,其中該附屬關(guān)系是一對一的關(guān)系,包括一個附屬者和一個先前者。
12.根據(jù)權(quán)利要求7所述的方法,其中該功能單元與在該結(jié)構(gòu)分類中的結(jié)構(gòu)單元鏈接或交叉引用。
13.根據(jù)權(quán)利要求6所述的方法,其中該組件附屬關(guān)系的結(jié)構(gòu)分類包括被模型化為一個節(jié)點(diǎn)圖的結(jié)構(gòu)單元,其中一個或多個第一節(jié)點(diǎn)被鏈接到被該一個或多個第一節(jié)點(diǎn)所附屬的一個或多個第二節(jié)點(diǎn),以及鏈接到附屬于一個或多個第一節(jié)點(diǎn)的一個或多個第三節(jié)點(diǎn)。
14.根據(jù)權(quán)利要求13所述的方法,其中該結(jié)構(gòu)單元提供定義該計(jì)算環(huán)境的組件的調(diào)度方面的信息。
15.根據(jù)權(quán)利要求14所述的方法,其中在由至少一個系統(tǒng)管理員和操作員所進(jìn)行的調(diào)度操作過程中,關(guān)于該結(jié)構(gòu)分類的信息被存儲在一個或多個存儲庫中。
16.根據(jù)權(quán)利要求15所述的方法,其中關(guān)于結(jié)構(gòu)單元的信息可以由一個或多個應(yīng)用程序編程接口從一個或多個系統(tǒng)存儲庫中獲得。
17.根據(jù)權(quán)利要求6所述的方法,其中該組件附屬關(guān)系的操作分類包括被模型化為一個節(jié)點(diǎn)圖的操作單元,其中一個或多個第一節(jié)點(diǎn)被鏈接到被該一個或多個第一節(jié)點(diǎn)所附屬的一個或多個第二節(jié)點(diǎn),以及鏈接到附屬于一個或多個第一節(jié)點(diǎn)的一個或多個第三節(jié)點(diǎn)。
18.根據(jù)權(quán)利要求17所述的方法,其中該操作單元與在該結(jié)構(gòu)分類中的結(jié)構(gòu)單元鏈接或交叉引用。
19.根據(jù)權(quán)利要求6所述的方法,其中該操作分類從至少一個結(jié)構(gòu)分類和功能分類計(jì)算。
20.根據(jù)權(quán)利要求6所述的方法,其中該組件附屬關(guān)系的分類被表示為圖形表示。
21.根據(jù)權(quán)利要求20所述的方法,其中該圖形表示的至少一部分邊界由附加的考核信息所表示。
22.根據(jù)權(quán)利要求20所述的方法,其中該圖形表示是單向和雙向之一。
23.根據(jù)權(quán)利要求20所述的方法,其中該圖形表示是有向非循環(huán)圖和有向循環(huán)圖之一。
24.根據(jù)權(quán)利要求20所述的方法,其中一個圖形表示至少是可向上、向下和橫向遍歷之一。
25.根據(jù)權(quán)利要求20所述的方法,其中由一個圖形表示所表示的附屬關(guān)系信息可以根據(jù)一個或多個應(yīng)用程序編程接口而被訪問。
26.根據(jù)權(quán)利要求6所述的方法,其中在被計(jì)算之后,一個或多個分類被永久地存儲。
27.根據(jù)權(quán)利要求6所述的方法,其中在計(jì)算之后,一個或多個分類不被永久地存儲。
28.根據(jù)權(quán)利要求1所述的方法,其中一個組件是服務(wù)、應(yīng)用程序、中間件、硬件、設(shè)備驅(qū)動器、操作系統(tǒng)和與計(jì)算環(huán)境相關(guān)的系統(tǒng)之一。
29.根據(jù)權(quán)利要求1所述的方法,其中該信息獲取步驟進(jìn)一步包括通過一個或多個直接涉及的系統(tǒng)和一個或多個代理系統(tǒng)中的至少一個獲取信息。
30.根據(jù)權(quán)利要求1所述的方法,其中進(jìn)一步包括維護(hù)與一個或多個關(guān)系的至少一部分相關(guān)的改變歷史的步驟。
31.一種用于在計(jì)算環(huán)境管理信息的裝置,其中包括至少一個處理器,其操作為(i)獲得與該計(jì)算環(huán)境的組件相關(guān)的信息;以及(ii)從至少一部分所獲得的信息確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在,其中確定一個或多個關(guān)系的存在步驟能夠考慮到與該計(jì)算環(huán)境的至少一個組件相關(guān)的整個操作周期;以及耦合到至少一個處理器的存儲器,其存儲與一個或多個所確定關(guān)系相關(guān)的信息。
32.根據(jù)權(quán)利要求31所述的裝置,其中該計(jì)算環(huán)境包括一個分布式計(jì)算環(huán)境。
33.根據(jù)權(quán)利要求31所述的裝置,其中該計(jì)算環(huán)境包括自治計(jì)算環(huán)境。
34.根據(jù)權(quán)利要求31所述的裝置,其中至少一個處理器被進(jìn)一步操作,以檢索至少一部分所存儲信息。
35.根據(jù)權(quán)利要求31所述的裝置,其中確定與計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在的操作進(jìn)一步能夠考慮到與該計(jì)算環(huán)境的至少兩個組件相關(guān)的相異性。
36.根據(jù)權(quán)利要求31所述的裝置,其中確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在的操作進(jìn)一步能夠考慮到跨越與該計(jì)算環(huán)境相關(guān)的一個或多個域的一個或多個組件。
37.根據(jù)權(quán)利要求31所述的裝置,其中確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在的操作進(jìn)一步包括計(jì)算采用一種形式的組件附屬關(guān)系,該形式包括功能分類、結(jié)構(gòu)分類和操作分類。
38.根據(jù)權(quán)利要求31所述的裝置,其中一個組件是服務(wù)、應(yīng)用程序、中間件、硬件、設(shè)備驅(qū)動器、操作系統(tǒng)和與該計(jì)算環(huán)境相關(guān)的系統(tǒng)之一。
39.根據(jù)權(quán)利要求31所述的裝置,其中該信息獲取操作進(jìn)一步包括通過一個或多個直接涉及的系統(tǒng)和一個或多個代理系統(tǒng)中的至少一個獲取信息。
40.根據(jù)權(quán)利要求31所述的裝置,其中至少一個處理器進(jìn)一步操作以維護(hù)與一個或多個關(guān)系的至少一部分相關(guān)的改變歷史。
41.一種用于在計(jì)算環(huán)境中管理信息的產(chǎn)品,其中包括包含一個或多個程序的機(jī)器可讀介質(zhì),當(dāng)執(zhí)行該程序時執(zhí)行如下步驟獲得與該計(jì)算環(huán)境的組件相關(guān)的信息;以及從至少一部分所獲得的信息確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在,其中確定一個或多個關(guān)系的存在步驟能夠考慮到與該計(jì)算環(huán)境的至少一個組件相關(guān)的整個操作周期。
全文摘要
用于在計(jì)算環(huán)境中管理信息的技術(shù)。獲得與該計(jì)算環(huán)境的組件相關(guān)的信息。然后,從至少一部分所獲得的信息,確定與該計(jì)算環(huán)境的至少一部分組件相關(guān)的一個或多個關(guān)系的存在。確定一個或多個關(guān)系的存在步驟能夠考慮到與該計(jì)算環(huán)境的至少一個組件相關(guān)的整個操作周期(例如,包括調(diào)度、安裝和運(yùn)行)。因此,用于管理計(jì)算系統(tǒng)的各個組件之間的運(yùn)行時間附屬關(guān)系的技術(shù)被公開,其提供來自各個系統(tǒng)的一級概括,并且允許與端到端服務(wù)相關(guān)的服務(wù)/組件(其中該組件例如可以是一個應(yīng)用程序、中間件、硬件、設(shè)備驅(qū)動器、操作系統(tǒng)和與該計(jì)算環(huán)境相關(guān)的系統(tǒng))的附屬關(guān)系的計(jì)算。例如,本發(fā)明的技術(shù)可以應(yīng)用于一個分布式計(jì)算環(huán)境。該計(jì)算環(huán)境也可以是一個自治計(jì)算環(huán)境。
文檔編號G06Q10/00GK1489078SQ0315807
公開日2004年4月14日 申請日期2003年9月4日 優(yōu)先權(quán)日2002年9月11日
發(fā)明者亞歷山大·凱勒, 亞歷山大 凱勒, 尤利·布拉門塔爾, 布拉門塔爾, D. 杰克遜, 羅利·D.·杰克遜, 卡爾, 高塔姆·卡爾 申請人:國際商業(yè)機(jī)器公司