專利名稱:自主系統(tǒng)管理的方法和系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明涉及自主計算系統(tǒng)的領域。
背景技術(shù):
自主計算系統(tǒng)(autonomic computing system)包括自我管理計算系統(tǒng),所述自我管理計算系統(tǒng)應付計算系統(tǒng),尤其是分布式計算系統(tǒng)(比如在大型計算機網(wǎng)絡中使用的那些分布式計算系統(tǒng))的增大的復雜性。這些大型網(wǎng)絡運行各種應用程序,包括基于通信和網(wǎng)絡的應用程序,并處理各種不同的計算任務。為支持諸如膝上型計算機、蜂窩電話機和個人數(shù)字助手之類設備的移動計算和通信功能而需要的功能進一步增大了復雜性。
大型系統(tǒng)的控制包括系統(tǒng)資源的管理和分配。利用一個或多個操作人員的人工管理和資源分配費時、成本高并且易于出錯。于是,自主計算系統(tǒng)在很大程度上自我管理,而不存在直接的人為干擾。自主計算系統(tǒng)中的操作員定義和輸入規(guī)則及策略,自主計算系統(tǒng)把所述規(guī)則和策略用作控制計算系統(tǒng)的準則和參數(shù)。通常,自主計算系統(tǒng)利用閉環(huán)控制來監(jiān)視指定的系統(tǒng)資源,和把該資源的分配或利用限制在操作員規(guī)定的參數(shù)之內(nèi)。自主控制系統(tǒng)采用自我管理決策來監(jiān)視或控制指定閉環(huán)控制的系統(tǒng)資源。
自我管理系統(tǒng)利用優(yōu)化、配置和相關(guān)的計算進行一些自我管理決策。一般利用系統(tǒng)模型完成這些計算,所述系統(tǒng)模型是在各種可能的情況下,系統(tǒng)的各個部分的可能行為以及系統(tǒng)運行環(huán)境的表示。例如,當系統(tǒng)估計資源分配、組件控制變量的設置和其它管理動作的可能變化對其整體行為的影響時,使用這些計算。對于指定的自主計算系統(tǒng),可在單一的集中位置或者在多個并存的分散位置中進行這些計算。集中方案或分散方案的現(xiàn)有應用程序既有優(yōu)點又有缺點。
集中地進行計算(其中自主計算系統(tǒng)的一部分利用包括各種系統(tǒng)組件和這些組件之間的交互作用的模型)的優(yōu)點是當進行控制和分配決定時,可供使用的信息更多,并且考慮到更多的交互作用。信息量的增大會導致獲得更好的結(jié)果。但是,集中方案的缺點在于需要對自主軟件系統(tǒng)的進行全局計算的那部分頻繁進行軟件更新,以使該部分能夠準確地模擬(model)系統(tǒng)中的新類型的組件。在復雜的非均勻系統(tǒng)中,每增加一種新組件就更換中央的決策軟件是不切實際的要求。
通過使系統(tǒng)的每個組件在指定的粒度級上負責它自己的模擬細節(jié),分散方案克服了集中方案的這種缺點。每個組件至少處理一定量的計算和優(yōu)化,并把這些計算和優(yōu)化的定量結(jié)果以通常標準或類屬的格式傳送給更全局的優(yōu)化器和決策者。全局優(yōu)化器隨后對從各個單獨組件接收的數(shù)據(jù)進行更全局或者集中的優(yōu)化計算。在這種分散方案中,向系統(tǒng)中增加一種新組件不需要對進行更全局計算的那部分系統(tǒng)進行任何改變,只要新類型的組件能夠按照所需的標準格式表示它自己的計算的結(jié)果。但是,分散方案使在單獨組件中進行的計算不能受益于在系統(tǒng)的更高級別可能得到的更全局的信息。于是,分散系統(tǒng)的總體結(jié)果不是最佳。
于是,需要自主計算系統(tǒng)和操作自主計算系統(tǒng)的方法,所述自主計算系統(tǒng)及其操作方法提供分散系統(tǒng)中得到的操作和更新的簡便性,同時具有集中系統(tǒng)中所得到的增大的優(yōu)化水平。
發(fā)明內(nèi)容
本發(fā)明的目的在于通過利用多個組件供給的組件模型來確定計算系統(tǒng)的優(yōu)選操作狀態(tài),提供計算系統(tǒng)的自主控制和優(yōu)化的系統(tǒng)和方法。所述優(yōu)選操作狀態(tài)可以是最佳狀態(tài)或者比當前操作狀態(tài)更接近于最佳狀態(tài)的狀態(tài)。自主系統(tǒng)管理的例證方法保持包括多個組件的自主計算系統(tǒng)中的一個或多個組件的組件模型。這些組件模型可位于整個系統(tǒng)可訪問的儲存庫或數(shù)據(jù)庫中。持有組件模型的計算系統(tǒng)內(nèi)的組件或節(jié)點與自主計算系統(tǒng)的管理服務器通信。組件模型的保持包括根據(jù)需要更新現(xiàn)有的組件供給的組件模型,為加入自主計算系統(tǒng)中的每個新組件增加新的組件模型,和刪除與已從系統(tǒng)中除去的組件相關(guān)的現(xiàn)有組件模型。
為了便于提高包含多個組件的計算系統(tǒng)的優(yōu)化水平,保持在系統(tǒng)級數(shù)據(jù)庫中的所有組件模型被管理服務器取回。如果對于特定組件來說不存在組件模型,那么管理服務器對該組件使用類屬模型。組件模型和類屬組件模型被用于計算自主計算系統(tǒng)的更新操作狀態(tài),所述更新操作狀態(tài)比當前操作狀態(tài)更接近于計算系統(tǒng)的最佳操作狀態(tài)。按照計算的更新操作狀態(tài)管理自主計算系統(tǒng)。自主計算系統(tǒng)的管理包括調(diào)整一個或多個組件的操作狀態(tài),設置一個或多個組件的控制變量,調(diào)整自主計算系統(tǒng)內(nèi)的資源分配和它們的組合。
圖1是根據(jù)本發(fā)明的自主計算系統(tǒng)的一個實施例的示意圖;圖2是圖解說明根據(jù)本發(fā)明的計算系統(tǒng)的自主控制方法的一個實施例的流程圖;圖3是圖解說明更新供根據(jù)本發(fā)明的方法之用的組件模型的方法的一個實施例的流程圖;圖4是圖解說明更新供根據(jù)本發(fā)明的方法之用的組件模型的方法的另一實施例的流程圖;圖5是圖解說明更新供根據(jù)本發(fā)明的方法之用的組件模型的方法的又一實施例的流程圖。
具體實施例方式
首先參見圖1,圖中圖解說明了供通過改進的模型傳送、改進系統(tǒng)行為或性能之用的自主計算系統(tǒng)10的一個例證實施例。在一個實施例中,計算機系統(tǒng)10包括管理服務器101,管理服務器101包含管理計算機系統(tǒng),包括分布式計算機系統(tǒng)的全企業(yè)管理的硬件和軟件。在一個實施例中,管理服務器是系統(tǒng)級管理服務器。雖然被圖解表示成單一服務器,不過系統(tǒng)管理可由通過一個或多個網(wǎng)絡相互通信的多個管理服務器提供。管理服務器可以是單一的集中服務器,或者可按嵌套或?qū)Φ冉Y(jié)構(gòu)排列的多個管理服務器。管理服務器的功能可由單一服務器實現(xiàn),或者這些功能可由隨著時間變化或者根據(jù)待執(zhí)行的功能的類型而變化的多個服務器處理。在本領域中,用作服務器的適當設備眾所周知并且是可以得到的。管理服務器101向自主計算系統(tǒng)提供各種功能,包括(但不限于)多組分布式計算機的管理,遠程控制,補丁管理,軟件分發(fā),操作系統(tǒng)部署,保持操作系統(tǒng)內(nèi)硬件和軟件的詳細目錄,客戶管理,安全性強制執(zhí)行,配置管理,供應,軟件部署,軟件包管理,身份管理,策略管理,故障管理,故障診斷,錯誤記錄,數(shù)據(jù)恢復,性能管理,軟件計量,事件監(jiān)視,統(tǒng)計量收集,啟動和停止應用程序,業(yè)務路由選擇,存儲區(qū)域網(wǎng)(SAN)區(qū)域控制和它們的組合。
計算系統(tǒng)10還包括多個分布式系統(tǒng)組件103。這些分布式組件包括(但不限于)信息技術(shù)(IT)組件、計算機、路由器、數(shù)據(jù)庫、web服務器、自主存儲單元、SAN控制器、性能監(jiān)視器和數(shù)據(jù)庫服務器。分布式組件103通過一個或多個網(wǎng)絡102相互通信,并與管理服務器101通信。適當?shù)木W(wǎng)絡102包括(但不限于)諸如以太網(wǎng)之類的局域網(wǎng)(LAN),諸如因特網(wǎng)之類的廣域網(wǎng)(WAN),安全的局域網(wǎng)和廣域網(wǎng),安全的無線網(wǎng)絡,企業(yè)網(wǎng)絡,存儲區(qū)域網(wǎng),虛擬專用網(wǎng),安全的虛擬專用網(wǎng),網(wǎng)際區(qū)域網(wǎng)絡,網(wǎng)際安全網(wǎng)絡,個人區(qū)域網(wǎng),公共交換電話網(wǎng)(PSTN)和它們的組合。
在一個實施例中,計算系統(tǒng)10包括數(shù)據(jù)庫104或者其它適當?shù)拇鎯橘|(zhì)。數(shù)據(jù)庫104可以是指定組件、服務器或節(jié)點的本地數(shù)據(jù)庫,或者可以是所有系統(tǒng)組件和管理服務器可訪問的系統(tǒng)級數(shù)據(jù)庫。在另一實施例中,計算系統(tǒng)包括多個數(shù)據(jù)庫104。數(shù)據(jù)庫104通過直接通信連接或者通過一個或多個網(wǎng)絡102與管理服務器101通信。適當?shù)臄?shù)據(jù)庫包括能夠保存計算機系統(tǒng)數(shù)據(jù),并且能夠把該數(shù)據(jù)傳送給管理服務器102的任意類型的固定或可拆卸存儲介質(zhì)。數(shù)據(jù)庫包含當操作自主計算系統(tǒng)時,管理服務器使用的數(shù)據(jù)和信息。在一個實施例中,數(shù)據(jù)庫包含多個組件模型。每個組件模型能夠模擬系統(tǒng)中的組件之一,例如,向計算機系統(tǒng)供給所述模型的組件。另外,組件模型可由計算系統(tǒng)保持(maintain),即創(chuàng)建或更新。在一個實施例中,組件模型由供給該組件模型的組件保持,所述保持與管理服務器無關(guān)。于是,管理服務器不必創(chuàng)建供優(yōu)化自主計算系統(tǒng)之用的模型。相反,管理服務器使用從管理服務器之外的來源獲得的計算機系統(tǒng)中的每個組件的一個或多個模型來提高或優(yōu)化自主計算系統(tǒng)的行為或性能。
參見圖2,圖中圖解說明根據(jù)本發(fā)明的自主系統(tǒng)管理方法20的一個例證實施例。按照該例證實施例,包含多個組件的自主計算系統(tǒng)中的一個或多個組件的組件模型被保持在自主計算系統(tǒng)中(步驟21)。組件模型可被保持或保存在布置在自主計算系統(tǒng)之內(nèi)或之外的多個適當儲存庫中。這些儲存庫包括數(shù)據(jù)庫,包括系統(tǒng)數(shù)據(jù)庫或者與計算系統(tǒng)內(nèi)的指定組件或節(jié)點相關(guān)的數(shù)據(jù)庫,或者任何其它適當?shù)拇鎯橘|(zhì)。儲存庫可位于專門用于保持組件模型的指定集中位置。另一方面,儲存庫的位置可隨著時間而變化,并且可在系統(tǒng)內(nèi)的組件或節(jié)點之間移動。在一個實施例中,提供多個儲存庫??砂凑杖我忸愋偷姆旨壗Y(jié)構(gòu),包括嵌套結(jié)構(gòu)排列這些儲存庫。
保持在自主計算系統(tǒng)或系統(tǒng)儲存庫中的至少一個組件模型(最好全部組件模型)得自于在管理服務器之外的來源。適當?shù)耐獠縼碓窗?但不限于)第三方數(shù)據(jù)庫或儲存庫,基于web的數(shù)據(jù)庫和可拆卸的存儲介質(zhì)。在一個實施例中,至少一個組件模型得自于計算系統(tǒng)內(nèi)的一個指定組件。例如,組件模型可被硬編程到組件中,或者在與該組件相關(guān)的存儲盤上提供。從系統(tǒng)組件獲得的組件模型可以是組件特有的,適合于兩個或更多的系統(tǒng)組件,或者是類屬的。在一個實施例中,指定的組件模型反映或模擬在系統(tǒng)的各種情況下,與該模型相關(guān)聯(lián)的組件的狀態(tài)或行為。于是,管理服務器使用每個組件模型來確定和控制計算系統(tǒng)內(nèi)組件的行為,以便改進整個系統(tǒng)的行為或性能,或者提供系統(tǒng)優(yōu)化,以及開發(fā)自主計算系統(tǒng)性能的系統(tǒng)模型。這不需要管理服務器自己產(chǎn)生一個或多個系統(tǒng)組件的組件模型。為了便于管理服務器對組件模型(包括任何組件供給的模型)的使用,儲存庫與管理服務器通信,管理服務器可訪問組件模型。
把組件模型保持在自主計算系統(tǒng)中包括更新、增加和刪除組件模型。在一個實施例中,把組件模型保持在自主計算系統(tǒng)中還包括更新自主計算系統(tǒng)中的現(xiàn)有組件模型(步驟22)?,F(xiàn)有的組件模型根據(jù)需要被更新。響應存在更新的通知,管理服務器可直接訪問并從每個組件取回更新,或者可訪問并從另一外部來源(比如集中的或者基于web的儲存庫)取回更新。另一方面,當模型更新可用時,指定組件主動轉(zhuǎn)發(fā)模型更新。在另一實施例中,自主計算系統(tǒng)中組件模型的保持包括為加入自主計算系統(tǒng)中的每個新組件增加一種新的組件模型(步驟24)??赏ㄟ^包括管理服務器主動識別新的系統(tǒng)組件并取回相關(guān)組件模型的處理來實現(xiàn)新模型的增加。另一方面,每個增加的組件定位和通知管理服務器,并提供其模型。在一個實施例中,新組件模型的增加還涉及識別加入自主計算系統(tǒng)中的新組件(步驟26),和從每個新組件獲得新組件模型(步驟28)。
圖3中圖解說明了響應計算系統(tǒng)中新組件的加入,增加新的組件模型(步驟24)的方法的一個例證實施例。如圖所示,系統(tǒng)級管理服務器識別每個新組件的加入(步驟26),并從該組件獲得新的組件模型(步驟28)。獲得每個新的組件模型包括在管理服務器和每個新組件之間建立通信(步驟50)。在管理服務器和系統(tǒng)組件之間建立通信的系統(tǒng)和方法在本領域中眾所周知并且是可以得到的,可以使用任何適當?shù)姆椒?。管理服務器隨后搜索以管理服務器理解或者管理服務器支持的格式或模型表示語言可用的任何及所有新組件模型(步驟54)。這種搜索包括搜索與每個新組件相關(guān)的數(shù)據(jù)庫或存儲介質(zhì),以及在基于web的網(wǎng)絡環(huán)境中搜索中央數(shù)據(jù)庫。如果不存在組件模型,或者如果組件模型確實存在、但是格式不兼容,那么不會取回或向系統(tǒng)管理服務器傳遞任何模型(步驟56)。如果存在所支持的模型,那么產(chǎn)生管理服務器支持的所有新組件模型的列表(步驟58)。從產(chǎn)生的列表中,為每個新組件識別優(yōu)選的新組件模型(步驟60)。識別優(yōu)選組件模型的適當方法包括(但不限于)隨機選擇、以及選擇用管理服務器最喜歡的語言表示的組件模型。每個識別的優(yōu)選新組件模型被傳送給管理服務器,并被保存或存儲在自主計算系統(tǒng)中(步驟29)。
參見圖4,在響應計算系統(tǒng)中新組件的加入,增加新的組件模型(步驟24)的方法的另一實施例中,管理服務器再次識別每個新組件的加入(步驟26),并從該組件獲得新的組件模型(步驟28)。為了獲得新的組件模型,管理服務器在管理服務器和每個新組件之間建立通信(步驟50)。系統(tǒng)管理服務器向每個新組件請求新的組件模型(步驟70),并把管理服務器理解的或者管理服務器支持的新組件模型的格式或模型表示語言的列表傳送給每個新組件(步驟72)。每個組件隨后檢查所有可用的新組件模型(步驟68)。這些模型可位于該組件的本地數(shù)據(jù)庫或存儲介質(zhì)中,或者位于通過一個或多個網(wǎng)絡訪問的中央儲存庫中。每個新組件隨后確定是否存在采用管理服務器支持的語言或格式的任意組件模型。如果不存在任何支持的模型,那么不向管理服務器傳送任何模型(步驟56)。在存在所支持格式的組件模型的條件下,每個新組件產(chǎn)生用管理服務器支持的語言或格式表示的所有新組件模型的列表(步驟58)。從該列表中,例如從產(chǎn)生的列表中識別優(yōu)選的新組件模型(步驟60)。選擇優(yōu)選模型的適當方法和上面表述的那些方法相同。一旦優(yōu)選的組件模型已被識別并被傳送給管理服務器,那么該組件模型被保存到自主計算系統(tǒng)中(步驟29)。
參見圖5,圖中圖解說明響應計算系統(tǒng)24中新組件的加入,增加新的組件模型的另一實施例。通常,每個新組件聯(lián)系管理服務器,從而啟動新組件模型的傳送或傳輸。首先,新組件識別、定位和聯(lián)系管理服務器(步驟62)。識別管理服務器的適當方法包括(但不限于)利用服務發(fā)現(xiàn)和調(diào)用方法。隨后利用本領域中已知并且可用的通信方法和協(xié)議在系統(tǒng)管理服務器和新組件之間建立通信(步驟64)。每個新組件從管理服務器獲得反映管理服務器理解或支持的模型表示語言的信息,即列表(步驟66)。每個組件隨后檢查所有可用的新組件模型(步驟68)。這些模型可位于新組件的本地數(shù)據(jù)庫或存儲介質(zhì)中,或者位于通過一個或多個網(wǎng)絡訪問的中央儲存庫中。在一個實施例中,組件模型被集成到每個新組件中,即以固件的形式。在另一實施例中,在諸如計算機磁盤、CD或DVD之類的安裝介質(zhì)上供給組件模型,或者通過因特網(wǎng)在中央儲存庫中訪問組件模型。每個新組件檢查所有可用的自模型,即反映該組件在各種情況下的狀態(tài)或行為的模型,從而確定是否存在采用管理服務器理解的語言或格式的任何組件模型(步驟54)。如果不存在任何支持的模型,那么不向管理服務器傳輸任何模型,并且終止該組件和管理服務器之間的通信。在存在所支持格式的組件模型的條件下,每個新組件產(chǎn)生用管理服務器支持的語言或格式表示的所有新組件模型的列表(步驟58)。從該列表中,例如從產(chǎn)生的列表中識別優(yōu)選的新組件模型(步驟60)。選擇優(yōu)選模型的適當方法和上面表述的那些方法相同。一旦優(yōu)選的組件模型已被識別并被傳送給管理服務器,那么該組件模型被保存到自主計算系統(tǒng)中(步驟29)。
在一個實施例中,把組件提供的組件模型保持在自主計算系統(tǒng)中(步驟21)還包括從自主計算系統(tǒng)儲存庫中刪除過時的、滿期的或者多余的模型。在一個實施例中,識別已從自主計算系統(tǒng)中除去的現(xiàn)有組件(步驟30)。識別與除去的組件相關(guān)的所有組件模型,并從自主計算系統(tǒng)中刪除與除去的組件相關(guān)的現(xiàn)有組件模型(步驟32)??梢允褂眠m合于從自主計算系統(tǒng)中刪除電子格式數(shù)據(jù)的任何方法。
返回圖2,管理服務器利用保存在自主計算系統(tǒng)中的一個或多個組件模型來優(yōu)化自主計算系統(tǒng)的行為、性能或操作。在一個實施例中,管理服務器訪問保持在自主計算系統(tǒng)中的至少一個(最好所有的)可用組件模型(步驟44)。首先,管理服務器選擇計算系統(tǒng)內(nèi)的一個組件(步驟34),并確定與所選組件對應的組件模型是否被保存在自主計算系統(tǒng)中(步驟36)。如果確實存在對應的模型,那么管理服務器選擇并取回適當?shù)慕M件模型(步驟40)。如果不存在對應的模型,那么選擇的組件被識別為自主計算系統(tǒng)內(nèi)的一個組件,對于該組件,在自主計算系統(tǒng)中沒有保持其組件模型。于是,管理服務器為自主計算系統(tǒng)中識別的缺少組件模型的每個組件獲得一個類屬模型(步驟38)。這些類屬模型可被保存在自主計算系統(tǒng)中,或者保存在管理服務器可訪問的任何其它適當?shù)膬Υ鎺熘小T跒檫x擇的系統(tǒng)組件獲得對應模型或者類屬模型之后,確定是否存在供選擇的其它系統(tǒng)組件(步驟42)。重復系統(tǒng)選擇和模型取回的過程,直到對于所有系統(tǒng)組件,已取回所需數(shù)目的對應組件模型或類屬組件模型為止。
在取回一個或多個系統(tǒng)組件的組件模型之后,利用訪問并取回的組件模型以及適當?shù)娜魏晤悓俳M件模型,計算自主計算系統(tǒng)的更新操作狀態(tài)(步驟46)??梢允褂萌魏芜m當?shù)睦媚P蛠碛嬎悴僮鳡顟B(tài)的方法。例證的方法包括(但不限于)優(yōu)化、效用估計和服務級別管理。計算更新的操作狀態(tài)包括確定和自主計算系統(tǒng)的當前操作狀態(tài)相比,在行為的至少一個量度方面表現(xiàn)出改進的系統(tǒng)行為或性能的自主計算系統(tǒng)的操作狀態(tài)??梢允褂帽绢I域中已知并且可用的任何適當?shù)南到y(tǒng)行為的量度,即處理器利用率,資源分配,帶寬劃分或響應時間。雖然在一個實施例中,更新的操作狀態(tài)對應于自主計算系統(tǒng)的最佳操作狀態(tài),不過更新操作狀態(tài)通常在行為的指定量度比當前操作狀態(tài)更接近于最佳狀態(tài)。于是,在一個實施例中,更新操作狀態(tài)的計算涉及滿足而不是優(yōu)化各種組件模型,一般來說,按照更新操作狀態(tài)計算管理計算系統(tǒng)涉及把系統(tǒng)移動到或者移向計算的最佳值。
按照計算的更新操作狀態(tài)管理整個自主計算系統(tǒng)和包含于其中的所有組件(步驟48)。按照計算的更新操作狀態(tài)管理自主計算系統(tǒng)包括(但不限于)調(diào)整一個或多個組件的操作狀態(tài),設置一個或多個組件的控制變量,調(diào)整自主計算系統(tǒng)內(nèi)的資源分配及其組合。自主計算系統(tǒng)中模型的保持、模型訪問和更新操作狀態(tài)計算被不斷重復,以便為計算系統(tǒng)的自主控制創(chuàng)造條件。
雖然被圖解表示成僅僅具有一級控制層次的單一計算系統(tǒng)(所述一級控制層次包含管理服務器),不過根據(jù)本發(fā)明的例證方法可以和各種控制結(jié)構(gòu)一起使用。在一個實施例中,自主計算系統(tǒng)被組織成多個層次級。系統(tǒng)的每個組件或者把它自己的組件模型,或者把包含它所表示的多個低級系統(tǒng)組件的復合模型發(fā)送給系統(tǒng)的下一更全局的,即更高的層次級。分層結(jié)構(gòu)的最高層或頂層是表示整個自主計算系統(tǒng)(例如數(shù)據(jù)中心或整個企業(yè))的層級。對應于最高層管理服務器的頂級決策者把所有低級模型組合成在優(yōu)化和配置決策中使用的系統(tǒng)的總體模型。于是,管理服務器隨著時間而變化,或者隨著穿行系統(tǒng)的各個層次而變化。在任意指定時候,管理服務器根據(jù)本發(fā)明管理該系統(tǒng)。
在一個實施例中,按照本發(fā)明的例證實施例的系統(tǒng)和方法在單一的、通常集中的管理服務器中計算優(yōu)化狀態(tài)。當進行優(yōu)化計算時考慮到中央決策者可以采用的詳細信息和數(shù)據(jù),包括組件之間的復雜互動和兼顧。但是,計算系統(tǒng)內(nèi)的每個組件負責向中央或系統(tǒng)級管理服務器提供將被用于表示該組件的模型,每次一種新組件被引入到自主計算系統(tǒng)中時,中央管理服務器不用被替換、更新或者重新編程。
在根據(jù)本發(fā)明的另一例證實施例中,不是以集中的、嵌套的或者層疊分級結(jié)構(gòu)排列自主計算系統(tǒng)的,而是以分散的對等體系結(jié)構(gòu)組織自主計算系統(tǒng)的。按照該實施例,管理服務器的功能由系統(tǒng)中的各個對等體或節(jié)點負責。這些對等體或節(jié)點也可以是組件,管理服務器的功能可隨著時間而在各個節(jié)點之間轉(zhuǎn)移。于是,和嵌套結(jié)構(gòu)或分級結(jié)構(gòu)類似,在任意指定時間,許多節(jié)點中的任意一個節(jié)點可以是管理服務器。在一個實施例中,每個組件利用對等文件共享協(xié)議,例如可從市場上購得的對等文件共享協(xié)議,比如Napster或Gnutella,或者專門設計的專有對等協(xié)議,把其組件模型轉(zhuǎn)發(fā)或者傳送給系統(tǒng)中的一個或多個其它組件。在這種對等環(huán)境中,一個或多個組件、節(jié)點、對等體或管理服務器將獲得足夠數(shù)量的組件模型來形成計算系統(tǒng)的足夠詳細的整合模型。這些整合模型中的任意一個可被用作管理服務器以進行全系統(tǒng)優(yōu)化。在一個實施例中,標準的領導者選舉算法被用于從擁有足夠詳細的整合模型的多個組件中選擇哪些組件來進行全系統(tǒng)優(yōu)化。
在另一例證實施例中,利用例如地理學或域名服務(DNS)分級結(jié)構(gòu),將自主計算系統(tǒng)中的組件分入多個本地區(qū)域。通過利用流行的“雜談”協(xié)議,在指定區(qū)域內(nèi)的組件相互共享模型信息。在K.JENKINS,K.HOPKINSON和K.BIRMAN,A Gossip Protocol for SubgroupMulticast,In International Workshop on Applied Reliable GroupCommunication,WARGC(April 2001)中描述了適當?shù)牧餍小半s談”協(xié)議的一個例子。指定區(qū)域內(nèi)的組件選擇該區(qū)域內(nèi)的一個或多個組件,代表該區(qū)域與在該區(qū)域外的其它組件傳遞模型信息。通過遞歸地應用本地區(qū)域概念,全系統(tǒng)的整合模型信息可被傳給一個或多個頂級組件。這些頂級組件執(zhí)行所需的全系統(tǒng)全局自我管理決策。在R.VANRENESSE,K.P.BIRMAN和W.VOGELS,AstrolabeA Robust andScalable Technology for Distributed System Monitoring,Management,and Data Mining,ACM Transactions on ComputerSystems,212,164-206(2003)中可找到本地區(qū)域概念的遞歸應用的例子。
根據(jù)本發(fā)明的例證實施例的方法和系統(tǒng)可以采取純硬件實施例的形式,純軟件實施例的形式,或者既包含硬件單元和軟件單元的實施例的形式。在一個優(yōu)選實施例中,用軟件實現(xiàn)本發(fā)明,所述軟件包括(但不限于)固件、常駐軟件和微代碼。另外,例證的方法和系統(tǒng)可以采取可從計算機可用或計算機可讀介質(zhì)訪問的計算機程序產(chǎn)品的形式,所述計算機程序產(chǎn)品提供供計算機、邏輯處理單元或者任何指令執(zhí)行系統(tǒng)之用,或者與計算機、邏輯處理單元或者任何指令執(zhí)行系統(tǒng)結(jié)合使用的程序代碼。對于本說明來說,計算機可用或計算機可讀介質(zhì)可以是能夠包含、保存、傳遞、傳播或者傳送供指令執(zhí)行系統(tǒng)、設備或裝置使用或者與之結(jié)合使用的程序的任意設備。適當?shù)挠嬎銠C可用或計算機可讀介質(zhì)包括(但不限于)電、磁、光、電磁、紅外或半導體系統(tǒng)(或設備或裝置),或者傳播介質(zhì)。計算機可讀介質(zhì)的例子包括半導體或固體存儲器,磁帶,可拆卸的計算機磁盤,隨機存取存儲器(RAM),只讀存儲器(ROM),硬磁盤和光盤。光盤的當前例子包括光盤-只讀存儲器(CD-ROM),光盤-讀/寫(CD-R/W)和DVD。
保存和/或執(zhí)行程序代碼的適當數(shù)據(jù)處理系統(tǒng)包括(但不限于)直接地或者通過系統(tǒng)總線間接地與存儲元件耦接的至少一個處理器。存儲元件包括在程序代碼的實際執(zhí)行過程中采用的本地存儲器,大容量存儲器和高速緩沖存儲器,高速緩沖存儲器提供至少一些程序代碼的臨時存儲,以便減少在執(zhí)行期間,必須從大容量存儲器取回程序代碼的次數(shù)。包括(但不限于)鍵盤、顯示器和指示裝置的輸入/輸出或I/O裝置可直接地或者通過居中的I/O控制器與系統(tǒng)耦接。根據(jù)本發(fā)明的方法和系統(tǒng)的例證實施例還包括與系統(tǒng)耦接,從而使數(shù)據(jù)處理系統(tǒng)通過居中的專用或公共網(wǎng)絡,能夠與其它數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲裝置耦接的網(wǎng)絡適配器。目前可用的各種適當?shù)木W(wǎng)絡適配器包括(但不限于)調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器、DSL調(diào)制解調(diào)器、以太網(wǎng)卡和它們的組合。
在一個實施例中,本發(fā)明目的在于一種包含機器可執(zhí)行或者計算機可執(zhí)行代碼的機器可讀或者計算機可讀介質(zhì),以及計算機可執(zhí)行代碼本身,所述機器可讀或者計算機可讀介質(zhì),當被機器或計算機讀取時,所述代碼使機器或計算機執(zhí)行按照本發(fā)明的例證實施例的自主系統(tǒng)管理方法。機器可讀或計算機可讀代碼可以是任意類型的代碼或語言,所述任意類型的代碼或語言能夠被機器或計算機讀取和執(zhí)行,并且能夠用本領域中已知并且可用的任何適當語言或語法,包括機器語言、匯編語言、高級語言、面向?qū)ο蟮恼Z言和腳本語言表述。計算機可執(zhí)行代碼可被保存在任何適當?shù)拇鎯橘|(zhì)或數(shù)據(jù)庫,包括置于其內(nèi)的數(shù)據(jù)庫中,并且可在本領域中已知并且可用的任何適當平臺上執(zhí)行,所述存儲介質(zhì)或數(shù)據(jù)庫與根據(jù)本發(fā)明的系統(tǒng)利用的計算機網(wǎng)絡通信,并且可被所述計算機網(wǎng)絡訪問。
雖然這里公開的本發(fā)明的例證實施例實現(xiàn)本發(fā)明的目的,不過本領域的技術(shù)人員可想起各種修改和其它實施例。任何實施例的特征和/或元件可以單獨使用或者結(jié)合其它實施例使用,根據(jù)本發(fā)明的方法的步驟或要素中按照任何適當?shù)捻樞蜻\行或執(zhí)行。于是,附加權(quán)利要求意圖覆蓋在本發(fā)明的精神和范圍之內(nèi)的所有這種修改和實施例。
權(quán)利要求
1.一種用于自主系統(tǒng)管理的方法,包括在自主計算系統(tǒng)內(nèi)保持包括多個組件的自主計算系統(tǒng)中的一個或多個組件的組件模型,其中至少一個組件模型得自于位于管理服務器之外的來源,所有組件模型可被自主計算系統(tǒng)的管理服務器訪問;利用管理服務器訪問保持在自主計算系統(tǒng)中的至少一個組件模型;利用訪問的組件模型計算自主計算系統(tǒng)的更新操作狀態(tài),與自主計算系統(tǒng)的當前操作狀態(tài)相比,所述更新操作狀態(tài)在行為的至少一個量度方面與改進的自主計算系統(tǒng)行為相關(guān)聯(lián);和按照計算的更新操作狀態(tài)管理自主計算系統(tǒng)。
2.按照權(quán)利要求1所述的方法,其中所有的組件模型從位于管理服務器之外的來源獲得。
3.按照權(quán)利要求1所述的方法,其中位于管理服務器之外的來源包括與從該外部來源供給的組件模型相關(guān)的組件。
4.按照權(quán)利要求3所述的方法,其中所有的組件模型從與這些模型相關(guān)的組件供給。
5.按照權(quán)利要求1所述的方法,其中保持組件模型的步驟還包括更新自主計算系統(tǒng)中的現(xiàn)有組件模型。
6.按照權(quán)利要求1所述的方法,其中保持組件模型的步驟還包括為加入到自主計算系統(tǒng)中的每個新組件增加新的組件模型。
7.按照權(quán)利要求6所述的方法,其中增加新模型的步驟包括從位于管理服務器之外的來源獲得新的組件模型。
8.按照權(quán)利要求6所述的方法,其中增加新模型的步驟還包括識別加入到自主計算系統(tǒng)中的新組件;和從每個新組件獲得對應的組件模型。
9.按照權(quán)利要求8所述的方法,其中獲得新的組件模型的步驟還包括在管理服務器和新組件之間建立通信;搜索位于管理服務器之外的至少一個來源,尋找與該新組件相關(guān)并且由管理服務器支持的所有新組件模型;產(chǎn)生管理服務器支持的所有新組件模型的列表;從產(chǎn)生的列表中識別優(yōu)選的新組件模型;和從位于管理服務器之外的來源獲得所識別的優(yōu)選新組件模型。
10.按照權(quán)利要求8所述的方法,其中獲得新的組件模型的步驟還包括在管理服務器和新組件之間建立通信;向新組件請求新的組件模型;把新組件模型的支持語言的列表從管理服務器傳送給新組件;檢查所有可用的新組件模型;產(chǎn)生用管理服務器支持的語言表述的所有新組件模型的列表;從產(chǎn)生的列表中識別優(yōu)選的新組件模型;和把識別的優(yōu)選新組件模型從新組件傳送給管理服務器。
11.按照權(quán)利要求6所述的方法,其中增加新組件供給的組件模型的步驟還包括識別將加入到系統(tǒng)中的新組件;在管理服務器和新組件之間建立通信;把新組件模型的支持語言的列表從管理服務器傳送給新組件;檢查所有可用的新組件模型;產(chǎn)生用管理服務器支持的語言表述的所有新組件模型的列表;從產(chǎn)生的列表中識別優(yōu)選的新組件供給的組件模型;和把識別的優(yōu)選的新組件供給的組件模型從新組件傳送給管理服務器。
12.按照權(quán)利要求1所述的方法,其中保持組件模型的步驟還包括識別已從自主計算系統(tǒng)中除去的現(xiàn)有組件;和從自主計算系統(tǒng)中刪除與除去的組件相關(guān)的現(xiàn)有組件模型。
13.按照權(quán)利要求1所述的方法,其中訪問組件模型的步驟還包括識別自主計算系統(tǒng)中其組件模型未被保持在自主計算系統(tǒng)中的組件;和為每個識別的其組件模型未被保持在自主計算系統(tǒng)中的組件獲得類屬模型;和計算自主計算系統(tǒng)的更新操作狀態(tài)的步驟還包括利用訪問的組件模型和獲得的類屬模型,計算自主計算系統(tǒng)的更新操作狀態(tài)。
14.按照權(quán)利要求1所述的方法,其中按照計算的最佳狀態(tài)管理自主計算系統(tǒng)的步驟還包括調(diào)整一個或多個組件的操作狀態(tài),設置一個或多個組件的控制變量,調(diào)整自主計算系統(tǒng)內(nèi)的資源分配,或者它們的組合。
15.一種用于自主系統(tǒng)管理的方法,包括在自主計算系統(tǒng)內(nèi)保持包括多個組件的自主計算系統(tǒng)中的一個或多個組件的組件模型;把組件模型傳送給在自主計算系統(tǒng)內(nèi)的多個組件,以致在任意指定組件,傳送給該組件的組件模型中的至少一個得自于位于該組件之外的來源;選擇已向其傳送組件模型的多個組件之一作為管理服務器以計算更新操作狀態(tài);利用至少一個傳送的組件模型在選擇的組件計算自主計算系統(tǒng)的更新操作狀態(tài),與自主計算系統(tǒng)的當前操作狀態(tài)相比,所述更新操作狀態(tài)在行為的至少一個量度方面與改進的自主計算系統(tǒng)行為相關(guān)聯(lián);和按照計算的更新操作狀態(tài)管理自主計算系統(tǒng)。
16.按照權(quán)利要求15所述的方法,其中選擇多個組件之一的步驟還包括利用領導者選擇算法來選擇該組件。
17.一種用于自主系統(tǒng)管理的系統(tǒng),包括在自主計算系統(tǒng)內(nèi)保持包括多個組件的自主計算系統(tǒng)中的一個或多個組件的組件模型的裝置,其中至少一個組件模型得自于位于管理服務器之外的來源,所有組件模型可被自主計算系統(tǒng)的管理服務器訪問;利用管理服務器訪問保持在自主計算系統(tǒng)中的至少一個組件模型的裝置;利用訪問的組件模型計算自主計算系統(tǒng)的更新操作狀態(tài)的裝置,與自主計算系統(tǒng)的當前操作狀態(tài)相比,所述更新操作狀態(tài)在行為的至少一個量度方面與改進的自主計算系統(tǒng)行為相關(guān)聯(lián);和按照計算的更新操作狀態(tài)管理自主計算系統(tǒng)的裝置。
全文摘要
提供自主控制和優(yōu)化計算系統(tǒng)的方法和系統(tǒng)。自主計算系統(tǒng)中的一個或多個組件的多個組件模型被保持在系統(tǒng)數(shù)據(jù)庫中。這些組件模型得自于位于管理服務器這外的來源,包括與所述模型相關(guān)聯(lián)的組件。組件模型被增加到數(shù)據(jù)庫中或者從數(shù)據(jù)庫中刪除,或者根據(jù)需要被更新。與數(shù)據(jù)庫通信的系統(tǒng)管理服務器利用保持在系統(tǒng)數(shù)據(jù)庫中的組件模型以及類屬組件模型(當需要時),計算自主計算系統(tǒng)的最佳狀態(tài)。按照計算的最佳狀態(tài)管理自主計算系統(tǒng)。
文檔編號G06F9/44GK101059757SQ20071008633
公開日2007年10月24日 申請日期2007年3月13日 優(yōu)先權(quán)日2006年4月18日
發(fā)明者戴維·M.·柴斯, 伊恩·N.·威利, 詹姆斯·E.·漢森, 奧拉·塞加爾, 拉加施·達斯, 杰拉德·J.·特索羅 申請人:國際商業(yè)機器公司