專利名稱::用于中間件組件的基于策略自動(dòng)配置的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及數(shù)據(jù)處理系統(tǒng),尤其涉及一種用于聯(lián)網(wǎng)計(jì)算機(jī)環(huán)境中軟件和系統(tǒng)管理的計(jì)算機(jī)實(shí)現(xiàn)方法。更具體地,本發(fā)明提供了一種用于提供虛擬化服務(wù)交付(servicedelivery)環(huán)境中基于策略的自動(dòng)配置的計(jì)算機(jī)實(shí)現(xiàn)方法、數(shù)據(jù)處理系統(tǒng)、計(jì)算機(jī)可用程序代碼。
背景技術(shù):
:虛擬化正廣泛地在用于客戶端應(yīng)用的主機(jī)服務(wù)的數(shù)據(jù)中心中使用,因?yàn)槠渲С衷黾拥姆?wù)器利用率并且易于管理。然而,隨著解決方案變得越來(lái)越復(fù)雜,每個(gè)解決方案的部署需要分配和自動(dòng)配置(provisioning)跨不同應(yīng)用層(applicationtier)的月良務(wù)器,即需要跨多個(gè)應(yīng)用層安裝的多個(gè)軟件堆棧。缺省情況下,數(shù)據(jù)中心使用最快自動(dòng)配置策略,這意味著只要一臺(tái)服務(wù)器可用,就在該服務(wù)器上開始中間件的部署。由于安裝不同中間件組件的持續(xù)時(shí)間不同,所以在某些應(yīng)用層中服務(wù)器上的安裝先于其安裝完成。然而,在跨層的所有服務(wù)器都準(zhǔn)備好之前,解決方案不能被配置和使能。作為使用這種策略的結(jié)果,在自動(dòng)配置解決方案期間,跨不同層(tier)的服務(wù)器處于空閑狀態(tài)。擴(kuò)展類似策略以在數(shù)據(jù)中心使用虛擬化時(shí)使用還導(dǎo)致浪費(fèi)服務(wù)器的利用率在現(xiàn)有技術(shù)中,兩種方法被用于自動(dòng)配置(l)虛擬化環(huán)境中從零開始自動(dòng)配置(provisionfromscratch),(2)4吏用凍干(freezedried)虛擬機(jī)(VM)堆棧用于解決方案的主機(jī)服務(wù)。在方法(1)中,由單個(gè)虛擬機(jī)配置決定自動(dòng)配置解決方案的速度,部署整個(gè)解決方案的時(shí)間由需^"最多安裝時(shí)間的組件決定。一旦自動(dòng)配置運(yùn)行已經(jīng)開始,就剩下虛擬機(jī)運(yùn)行完成。當(dāng)最慢的組件正在安裝時(shí),為虛擬機(jī)提供主機(jī)服務(wù)的其它服務(wù)器處于空閑。在方法(2)中,使用預(yù)定虛擬機(jī)鏡像來(lái)創(chuàng)建和啟動(dòng)虛擬機(jī)。這種方法的弱點(diǎn)在于其需要預(yù)創(chuàng)建和預(yù)配置不同置換(permutation)的鏡像來(lái)使用。這在需要應(yīng)用用于某組件的任何補(bǔ)丁的任何時(shí)候?qū)?dǎo)致管理噩夢(mèng),因?yàn)樗惺褂迷摻M件的虛擬機(jī)鏡像都需要被重新創(chuàng)建。
發(fā)明內(nèi)容因此,本發(fā)明提供一種用于提供滿足為分布式計(jì)算網(wǎng)絡(luò)中選定的解決方案選擇的配置策略的中間件組件的基于策略自動(dòng)配置的方法和裝置。通過(guò)本發(fā)明,確定提供解決方案所必需的中間件組件。然后,確定計(jì)算機(jī)配置以滿足為選定的解決方案選擇的配置策略。最后,必要的中間件組件被安裝在配置后的計(jì)算機(jī)上,從而可以提供符合配置策略的解決方案。一些選擇的配置策略可能如下最大化服務(wù)器使用率策略,基于外部資源可用性自動(dòng)配置需要外部訪問的軟件組件,和使安裝所確定的組件的總時(shí)間最小。還可以監(jiān)視中間件組件的安裝過(guò)程,以在虛擬機(jī)的配置中進(jìn)行任何必要調(diào)整,使得可以滿足選擇的配置策略。在所附的權(quán)利要求書中闡述了說(shuō)明性實(shí)施例的被認(rèn)為是新特性的特性。然而,說(shuō)通過(guò)結(jié)合附圖參考下面對(duì)說(shuō)明性實(shí)施例的詳細(xì)描述將更好地理解明性實(shí)施例以及優(yōu)選使用模式、其他目標(biāo)和優(yōu)勢(shì),其中圖1描繪了其中可以實(shí)現(xiàn)說(shuō)明性實(shí)施例的數(shù)據(jù)處理系統(tǒng)網(wǎng)絡(luò)的圖形表示;圖2描繪了其中可以實(shí)現(xiàn)說(shuō)明性實(shí)施例的數(shù)據(jù)處理系統(tǒng)的框圖;圖3描繪了根據(jù)一個(gè)說(shuō)明性實(shí)施例的虛擬化服務(wù)交付環(huán)境的示意性表示。圖4展現(xiàn)了根據(jù)一個(gè)說(shuō)明性實(shí)施例的解決方案的3個(gè)層。圖5描繪了解決方案提供用于說(shuō)明性實(shí)施例的關(guān)系圖的一個(gè)示例。圖6描繪了根據(jù)一個(gè)說(shuō)明性實(shí)施例的基于策略管理系統(tǒng)的邏輯架構(gòu)的示意性表示。圖7的流程圖示出了根據(jù)一個(gè)說(shuō)明性實(shí)施例的自動(dòng)配置管理器所執(zhí)行的步驟。圖8的流程圖示出了根據(jù)一個(gè)說(shuō)明性實(shí)施例的策略管理器所執(zhí)行的步驟。圖9的流程圖示出了根據(jù)一個(gè)說(shuō)明性實(shí)施例的策略管理器響應(yīng)于來(lái)自進(jìn)度監(jiān)視器的通知所執(zhí)行的步驟。具體實(shí)施方式現(xiàn)在參考附圖,特別是參考圖1和2,提供其中可以實(shí)現(xiàn)實(shí)施例的數(shù)據(jù)處理環(huán)境的例示性圖表。應(yīng)該指出,圖l和2僅僅是示例性的,而并不是要斷言或暗示對(duì)于其中可以實(shí)現(xiàn)實(shí)施例的環(huán)境的任何限制。對(duì)于所示環(huán)境可以進(jìn)行多種修改,而不背離說(shuō)明性實(shí)施例的精神和范疇?,F(xiàn)在參考附圖,圖l描繪了其中可以實(shí)現(xiàn)說(shuō)明性實(shí)施例的數(shù)據(jù)處理系統(tǒng)網(wǎng)絡(luò)的圖形表示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是其中可以實(shí)現(xiàn)實(shí)施例的計(jì)算機(jī)網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,其中網(wǎng)絡(luò)102是用于在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)互相連接的各裝置和計(jì)算機(jī)之間提供通信鏈路的媒介。網(wǎng)絡(luò)102可以包括諸如有線、無(wú)線通信鏈路、或者光纜這樣的連接。在所描繪的例子中,服務(wù)器104和服務(wù)器106與存儲(chǔ)單元108都連接到網(wǎng)絡(luò)102。此外,客戶端IIO、112和114連接到網(wǎng)絡(luò)102。這些客戶端110、112和114例如可以是個(gè)人計(jì)算機(jī)或者網(wǎng)絡(luò)計(jì)算機(jī)。在所描繪的例子中,服務(wù)器104提供諸如引導(dǎo)文件、操作系統(tǒng)鏡像和應(yīng)用程序這樣的數(shù)據(jù)給客戶端110、112和114。在這個(gè)例子中,客戶端110、112和114是服務(wù)器104的客戶端。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可以包括其他服務(wù)器、客戶端和其它沒有示出的裝置。在所描繪的例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)ioo是因特網(wǎng),其中網(wǎng)絡(luò)通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的全球集合。因特網(wǎng)的核心是包括路由數(shù)據(jù)和消息的成千上萬(wàn)的商業(yè)、政府、教育和其他計(jì)算機(jī)系統(tǒng)的主要節(jié)點(diǎn)或主機(jī)計(jì)算機(jī)之間的高速數(shù)據(jù)通信線的主干網(wǎng)絡(luò)。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100也可以被實(shí)現(xiàn)為許多不同類型的網(wǎng)絡(luò),例如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。圖1用作一個(gè)例子,并不是對(duì)于不同實(shí)施例的架構(gòu)限制。現(xiàn)在參考圖2,示出了其中可以實(shí)現(xiàn)說(shuō)明性實(shí)施例的數(shù)據(jù)處理系統(tǒng)的框圖。數(shù)據(jù)處理系統(tǒng)200是實(shí)現(xiàn)實(shí)施例處理過(guò)程的計(jì)算機(jī)可用代碼或指令可以被放置在其中的計(jì)算機(jī)的例子,諸如圖1中的服務(wù)器104或者客戶端110。在所描繪的例子中,數(shù)據(jù)處理系統(tǒng)200使用集線架構(gòu)(hubarchitecture),包括北橋和存儲(chǔ)器控制中心(MCH:memorycontrollerhub)202、南橋和輸入/輸出(I/O)控制中心(ICH)204。處理器206、主存儲(chǔ)器208、和圖形處理器210被耦接到北橋和存儲(chǔ)器控制中心202。圖形處理器210例如可以通過(guò)加速圖形端口(AGP):I皮耦接到存儲(chǔ)器控制中心(MCH)。在所描繪的例子中,局域網(wǎng)(LAN)適配器212被連接到南橋和1/0控制中心204,音頻適配器216、鍵盤和鼠標(biāo)適配器220、調(diào)制解調(diào)器222、只讀存儲(chǔ)器(ROM)224、通用串行總線(USB)端口和其他通信端口232和PCI/PCIe設(shè)備234通過(guò)總線238連接到南橋和I/O控制中心204,硬盤驅(qū)動(dòng)器(HDD)226和CD-ROM驅(qū)動(dòng)器230通過(guò)總線240連接到南橋和I/O控制中心204。PCI/PCIe設(shè)備例如可以包括以太網(wǎng)適配器、附加卡(add-incard)和用于筆記本電腦的PC卡。PCI使用插件總線控制器(cardbuscontroller),而PCIe不使用。ROM224例如可以是閃存(flash)二進(jìn)制輸入/輸出系統(tǒng)(BIOS:binaryinput/outputsystem)。石更盤馬區(qū)動(dòng)器226和CD-ROM馬區(qū)動(dòng)器230可以使用例如集成驅(qū)動(dòng)器件電子技術(shù)(IDE)或串行高級(jí)技術(shù)連接(SATA)接口。超級(jí)I/O(SIO)設(shè)備236可以被連到南橋和I/O控制中心204。操作系統(tǒng)運(yùn)行在處理器206上,并且操作系統(tǒng)協(xié)調(diào)和提供圖2中數(shù)據(jù)處理系統(tǒng)200中各組件的控制。操作系統(tǒng)可以是商用操作系統(tǒng),i者如MicrosoftWindowsXP(Microsoft和Windows是Microsoft公司在美國(guó)、其他國(guó)家或二者的商標(biāo))。面向?qū)ο缶幊滔到y(tǒng)、諸如Java編程系統(tǒng)可以與操作系統(tǒng)結(jié)合運(yùn)行,并且提供從在數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的應(yīng)用程序或Java程序?qū)Σ僮飨到y(tǒng)的調(diào)用(Java和所有基于Java的商標(biāo)都是SunMicrosystems乂>司在美國(guó)和其他國(guó)家或二者的商標(biāo))。操作系統(tǒng)、面向?qū)ο缶幊滔到y(tǒng)和應(yīng)用程序或程序的指令位于存儲(chǔ)裝置、諸如硬盤驅(qū)動(dòng)器226上,并且可以被加載到主存儲(chǔ)器208中用于由處理器206執(zhí)行。說(shuō)明性實(shí)施例的處理過(guò)程可以由處理器206利用計(jì)算機(jī)實(shí)現(xiàn)指令執(zhí)行,其中計(jì)算機(jī)實(shí)現(xiàn)指令可以位于存儲(chǔ)器、諸如主存儲(chǔ)器208、只讀存儲(chǔ)器225上,或者位于一個(gè)或多個(gè)外圍裝置中。圖l和2中的硬件可以根據(jù)具體實(shí)現(xiàn)而變化。作為圖l和2中所示的硬件的附加或替代,可以使用其他內(nèi)部硬件或外圍裝置,諸如閃存、等效的非易失性存儲(chǔ)器、或光盤驅(qū)動(dòng)器等。同樣,說(shuō)明性實(shí)施例的處理過(guò)程可以被應(yīng)用到多處理器數(shù)據(jù)處理系統(tǒng)。在一些說(shuō)明性示例中,數(shù)據(jù)處理系統(tǒng)200可以是個(gè)人數(shù)字助理(PDA),其通常配置有閃存來(lái)提供用于存儲(chǔ)操作系統(tǒng)文件和/或者用戶生成數(shù)據(jù)的非易失性存儲(chǔ)器??偩€系統(tǒng)可以包括一個(gè)或多個(gè)總線,諸如系統(tǒng)總線、1/0總線和PCI總線。當(dāng)然,可以利用提供連接到通信組織或架構(gòu)的不同裝置和組件之間數(shù)據(jù)傳輸?shù)娜魏晤愋偷耐ㄐ沤M織或架構(gòu)來(lái)實(shí)現(xiàn)總線系統(tǒng)。通信單元可以包括一個(gè)或多個(gè)用于傳輸和接收數(shù)據(jù)的裝置,諸如調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。存儲(chǔ)器例如可以是主存儲(chǔ)器208或諸如北橋和存儲(chǔ)器控制中心202中的緩存。處理單元可以包括一個(gè)或多個(gè)處理器或CPU。圖1和2中所描述的示例和上述示例并不意味著暗示架構(gòu)限制。例如,除PDA形式之外,數(shù)據(jù)處理系統(tǒng)200也可以是平板電腦(tabletcomputer)、便攜式計(jì)算機(jī)或電話裝置o說(shuō)明形性實(shí)施例提供了一種計(jì)算機(jī)實(shí)現(xiàn)方法、數(shù)據(jù)處理系統(tǒng)和用于編譯源代碼的計(jì)算機(jī)可用程序代碼??梢栽跀?shù)據(jù)處理系統(tǒng)、諸如圖1所示數(shù)據(jù)處理系統(tǒng)100或圖2所示數(shù)據(jù)處理系統(tǒng)200中執(zhí)行說(shuō)明性實(shí)施例的計(jì)算機(jī)實(shí)現(xiàn)方法。圖3描繪了根據(jù)一個(gè)說(shuō)明性實(shí)施例的虛擬化服務(wù)交付環(huán)境的示意性表示。來(lái)自因特網(wǎng)/內(nèi)聯(lián)網(wǎng)的請(qǐng)求被位于DMZ中的路由器裝置306接收。路由器裝置通常由諸如IBM的WebSeal軟件這樣的逆向代理實(shí)現(xiàn)。這些來(lái)自用戶的請(qǐng)求然后經(jīng)由網(wǎng)絡(luò)308被引導(dǎo)到駐宿在運(yùn)行于物理服務(wù)器(302)中心上的虛擬機(jī)(310)集合上的解決方案。系統(tǒng)管理員304借助于管理服務(wù)器312管理和監(jiān)視服務(wù)器中心(serverfarm)。管理服務(wù)器運(yùn)行軟件以輔助對(duì)服務(wù)器中心的自動(dòng)配置、監(jiān)視、測(cè)定和問題確定。圖4展現(xiàn)了根據(jù)一個(gè)說(shuō)明性實(shí)施例的應(yīng)用方案的3個(gè)層。一個(gè)應(yīng)用方案的示例可以是在儲(chǔ)蓄借貨機(jī)構(gòu)中維護(hù)客戶賬戶信息數(shù)據(jù)庫(kù)。第一層是表示或者Web層402。它處理與用戶的交互,并且包含HTML頁(yè)面、圖像以及用于顯示和處理頁(yè)面的代碼,諸如portlets和/或servlets。與表示層的典型交互是經(jīng)由網(wǎng)頁(yè)瀏覽器的。該實(shí)施例在多層(n層)架構(gòu)下也有效,為了簡(jiǎn)單起見,只說(shuō)明3層。第二層被稱為應(yīng)用層或業(yè)務(wù)層404,其處理所用客戶端的請(qǐng)求。其通過(guò)執(zhí)行特定于解決方案的所有功能性的業(yè)務(wù)流程或?qū)嶋H的J2EE應(yīng)用程序來(lái)體現(xiàn)。第三層被叫做數(shù)據(jù)庫(kù)層406,其包含用于管理和保存特定于解決方案的所有數(shù)據(jù)的組件。圖5描繪了解決方案提供用于說(shuō)明性實(shí)施例的關(guān)系圖的示例。關(guān)系圖被表示成突出不同組件之間關(guān)系和相關(guān)性的XML文件。在圖中,"借貨方案,,422依賴于3個(gè)組件的可用性WebSphere入口服務(wù)器424、WebSphere處理服務(wù)器430、和DB2服務(wù)器434。此外,WebSphere入口服務(wù)器424依賴于WebSphere應(yīng)用服務(wù)器426和DB2客戶端428,而WebSphere處理服務(wù)器依賴于DB2客戶端432。圖6描繪了根據(jù)一個(gè)說(shuō)明性實(shí)施例的基于策略管理系統(tǒng)的邏輯架構(gòu)的示意性表示。策略管理系統(tǒng)的關(guān)鍵組件是自動(dòng)配置管理器504。如箭頭516-518和520所示,它與虛擬機(jī)管理器502和策略管理器組件506通信。管理入口502可用于與自動(dòng)配置管理器和策略管理器交互,如圖中箭頭520所示。策略管理器使用儲(chǔ)存庫(kù)510來(lái)保存所需的策略和配置信息。參見箭頭519。虛擬機(jī)管理器504負(fù)責(zé)創(chuàng)建和管理自動(dòng)配置管理器為了解決方案部署而使用的虛擬機(jī)。參見箭頭513。策略管理器組件506負(fù)責(zé)生成虛擬機(jī)配置,其中自動(dòng)配置管理器使用該虛擬機(jī)配置來(lái)開始解決方案的部署。此外,策略管理器組件還監(jiān)視各個(gè)中間件組件的自動(dòng)配置過(guò)程(見箭頭515),并向自動(dòng)配置管理器推薦為了確保中間件組件的自動(dòng)配置與為特定部署所分配的策略設(shè)置一致而需要進(jìn)行的對(duì)虛擬機(jī)的調(diào)整。圖7的流程圖示出了根據(jù)一個(gè)說(shuō)明性實(shí)施例的自動(dòng)配置管理器所執(zhí)行的步驟。當(dāng)自動(dòng)配置管理器從管理入口(或外部源)接收到自動(dòng)配置方案請(qǐng)求(602)以及優(yōu)選的策略名稱時(shí),自動(dòng)配置管理器從配置儲(chǔ)存庫(kù)(604)中檢索解決方案的關(guān)系圖。這種步驟假定自動(dòng)配置管理器知道需要部署的解決方案。稍后描述經(jīng)由管理入口初始化系統(tǒng)。關(guān)系圖列出了在安裝解決方案之前需要被安裝到三層上的中間件組件。自動(dòng)配置管理器將相關(guān)性信息和所選擇的策略名稱傳遞到策略管理器,以獲得(606)中間件組件的安裝順序和需要(608)在三個(gè)應(yīng)用層上創(chuàng)建的虛擬機(jī)的初始虛擬機(jī)配置。自動(dòng)配置管理器請(qǐng)求虛擬機(jī)管理器以指定的配置創(chuàng)建虛擬機(jī)。在虛擬機(jī)已經(jīng)被創(chuàng)建和設(shè)置后,自動(dòng)配置管理器開始在虛擬機(jī)610上部署中間件組件。參見箭頭514。在步驟620里,自動(dòng)配置管理器等待來(lái)自策略管理器的關(guān)于改變虛擬機(jī)配置參數(shù)的通知。如果接受到這樣一個(gè)通知,則在步驟622中,自動(dòng)配置管理器通知虛擬機(jī)管理器進(jìn)行這樣的改變。在步驟612中,自動(dòng)配置管理器檢查是否所有自動(dòng)配置都完成了。在完成后,它通知(614)策略管理器組件完成的實(shí)際時(shí)間。在步驟616中,自動(dòng)配置管理器在中間件組件之上開始在三個(gè)層上安裝應(yīng)用方案,并且在步驟618中,自動(dòng)配置管理器完成安裝。圖8的流程圖示出了根據(jù)一個(gè)說(shuō)明性實(shí)施例的策略管理器所執(zhí)行的步驟。當(dāng)策略管理器從自動(dòng)配置管理器接收到"生成虛擬機(jī)配置,,請(qǐng)求以及特定策略時(shí),(702)它識(shí)別對(duì)于解決方案的中間件要求,(704)并確定所需要的虛擬機(jī)數(shù)目。接下來(lái),基于分配的軟件堆棧和相關(guān)策略,策略管理器計(jì)算虛擬機(jī)的配置。例如,如果策略指示服務(wù)器使用率最大化,則計(jì)算在這組虛擬機(jī)上自動(dòng)配置堆棧所要求的時(shí)間。(708,710)為了執(zhí)行該計(jì)算,策略管理器使用存儲(chǔ)關(guān)于系統(tǒng)中不同中間件組件的通常安裝時(shí)間的信息的表706。例如,表706的一行表明在存儲(chǔ)器為4GB的2GHz機(jī)器上安裝WPS要花費(fèi)大約30分鐘。這個(gè)數(shù)據(jù)被用來(lái)計(jì)算跨三個(gè)應(yīng)用層安裝中間件堆棧所花費(fèi)的總時(shí)間。例如,如果層1虛擬機(jī)需要WP,層2虛擬機(jī)需要WPS和DB2客戶端,層3虛擬機(jī)需要DB2服務(wù)器,則3個(gè)層中每一個(gè)的總時(shí)間分別是480分鐘、40分鐘和20分鐘。該信息與將運(yùn)行虛擬機(jī)的物理服務(wù)器的實(shí)際CPU速度一起然后被用來(lái)計(jì)算為了3個(gè)層中每一個(gè)上的中間件安裝幾乎同時(shí)完成而應(yīng)該被分配給每個(gè)虛擬機(jī)的存儲(chǔ)器和CPU份額的數(shù)量。用于為要求所有中間件安裝同時(shí)完成的策略計(jì)算虛擬機(jī)份額的數(shù)量的算法基于預(yù)期安裝總時(shí)間的比例來(lái)計(jì)算份額。對(duì)于這個(gè)例子,分配給3個(gè)層的份額比例是480:40:20。基于該策略,策略管理器還計(jì)算所選擇的機(jī)器應(yīng)該被自動(dòng)配置的順序。(712)產(chǎn)生該順序的算法被編碼在基于分配給請(qǐng)求的虛擬機(jī)數(shù)目產(chǎn)生特定部署順序的Java類中。計(jì)算出的虛擬機(jī)配置和順序凈皮返回給自動(dòng)配置管理器。自動(dòng)配置管理器傳遞配置信息給虛擬機(jī)管理器,以創(chuàng)建虛擬機(jī),并使用順序信息來(lái)開始中間件在虛擬機(jī)上的部署。計(jì)算出的順序在步驟714中被返回到自動(dòng)配置管理器。優(yōu)選實(shí)施例討論"最大化"服務(wù)器使用率策略。策略管理器實(shí)現(xiàn)多個(gè)其他策略,諸如1.基于外部資源(DB2)的可用性自動(dòng)配置要求外部訪問的組件。2.首先完成基本安裝,然后完成可由應(yīng)用程序共享的可選組件。3.使安裝中間件組件所需要的總時(shí)間最小化。策略管理器也可以支持全局策略,其中全局策略然后可以被轉(zhuǎn)化為低級(jí)策略以指定需要重新分配資源的確切時(shí)間(如果完成時(shí)間之間的差>某指定數(shù))和需要重新分配的資源的百分比。同樣,如果層1的完成時(shí)間<某指定時(shí)間(5分鐘),則層l自動(dòng)配置完成,使得它的所有資源將被使用。同樣的方法可以被用于以下情況,即多個(gè)解決方案需要被自動(dòng)配置并且某中間件組件是公共的;在這種情況下,策略可以指定可以從公共中間件獲取資源的條件。在虛擬機(jī)已經(jīng)被虛擬機(jī)管理器創(chuàng)建之后,自動(dòng)配置管理器還在各個(gè)虛擬機(jī)上安裝"進(jìn)度監(jiān)視器,,508組件。這個(gè)組件負(fù)責(zé)周期性地通知策略管理器每個(gè)中間件組件的安裝進(jìn)度。進(jìn)度按照<中間件組件x完成百分比>被報(bào)告,并被發(fā)送到跟蹤每個(gè)請(qǐng)求的進(jìn)度的策略管理器。本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)進(jìn)度監(jiān)視器。例如,可用使用IBM公司或BMC軟件^^司的軟件產(chǎn)品。在已經(jīng)安裝"進(jìn)度監(jiān)視器"組件之后,自動(dòng)配置管理器根據(jù)策略管理器所產(chǎn)生的順序開始自動(dòng)配置跨所有虛擬機(jī)的堆棧。"進(jìn)度監(jiān)視器"接收安裝器事件和/或監(jiān)視來(lái)自不同組件的日志和報(bào)告每個(gè)的完成百分比給策略管理器。這些指示可以是不規(guī)律的。進(jìn)度的不均勻速率被平滑,并且在更長(zhǎng)的時(shí)間間隔期間,發(fā)送包含估算的完成百分比的定時(shí)報(bào)告。圖9的流程圖示出了根據(jù)一個(gè)說(shuō)明性實(shí)施例的策略管理器響應(yīng)于來(lái)自進(jìn)度監(jiān)視器的通知而執(zhí)行的步驟?;谠搱?bào)告數(shù)據(jù)802,策略管理器重新計(jì)算與策略相關(guān)的目標(biāo)函數(shù),并且計(jì)算利用目標(biāo)函數(shù)所計(jì)算的預(yù)測(cè)值與利用目標(biāo)函數(shù)重新計(jì)算的實(shí)際值之間的偏差804。在步驟806中,策略管理器確定是否需要調(diào)整,諸如當(dāng)存在明顯偏差時(shí)。對(duì)于任何這樣的明顯偏差,策略管理器重新計(jì)算808虛擬機(jī)配置,并且通知自動(dòng)配置管理器新的配置810。自動(dòng)配置管理器與虛擬機(jī)管理器協(xié)調(diào)以基于新計(jì)算的值動(dòng)態(tài)地調(diào)整虛擬機(jī)配置。步驟812標(biāo)記消息處理完成。管理入口提供用于初始化和管理自動(dòng)配置過(guò)程的裝置。圖6的管理入口512是網(wǎng)頁(yè)應(yīng)用程序,它提供用于向策略管理器填充策略信息(圖8的表716)和關(guān)于安裝各軟件產(chǎn)品的時(shí)間的信息(圖8的表706)的裝置。管理入口還提供用于發(fā)布解決方案信息及其關(guān)系圖到自動(dòng)配置管理器的裝置。在一個(gè)優(yōu)選實(shí)施例中,使用虛擬機(jī)的CPU分配來(lái)演示本發(fā)明的創(chuàng)新;然而其通過(guò)調(diào)整諸如存儲(chǔ)器、網(wǎng)絡(luò)訪問速度、硬盤訪問速度等這樣的其它資源也有效。本發(fā)明可以采用完全硬件實(shí)施例、完全軟件實(shí)施例或既包含硬件元件又包含軟件元件的實(shí)施例的形式。在一個(gè)優(yōu)選實(shí)施例中,本發(fā)明被實(shí)現(xiàn)為軟件,這包括但不限于固件、駐留軟件、微代碼等等。此外,本發(fā)明可以采取可從提供由計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用或與其結(jié)合的程序代碼的計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)來(lái)訪問的計(jì)算機(jī)程序產(chǎn)品的形式。就本說(shuō)明書而言,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是可以包含、存儲(chǔ)、通信、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與其結(jié)合的程序的任何有形裝置。介質(zhì)可以是電子的、磁的、光的、電磁的、紅外的、或半導(dǎo)體的系統(tǒng)(或裝置或設(shè)備)或者傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的例子包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)磁盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬磁盤和光盤?,F(xiàn)光盤的當(dāng)前例子包括只讀光盤存儲(chǔ)器(CD-ROM)、讀/寫光盤存儲(chǔ)器(CD-R/W)和DVD。適于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)包括直接地或通過(guò)系統(tǒng)總線間接地耦接到存儲(chǔ)器部件的至少一個(gè)處理器。存儲(chǔ)器部件可以包括在程序代碼實(shí)際執(zhí)行過(guò)程中所使用的本地存儲(chǔ)器、大容量存儲(chǔ)器、和提供至少某程序代碼的暫時(shí)存儲(chǔ)以便減少在執(zhí)行期間必須從大容量存儲(chǔ)器檢索代碼的次數(shù)的緩存。輸入/輸出或I/O設(shè)備(包括但不限于鍵盤、顯示器、指示設(shè)備等)可以直接或通過(guò)中間1/0控制器耦接到系統(tǒng)。網(wǎng)絡(luò)適配器同樣可用被耦接到系統(tǒng),以使數(shù)據(jù)處理系統(tǒng)能夠通過(guò)之間私網(wǎng)或公網(wǎng)而耦接到其它數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡都只是當(dāng)前可用的網(wǎng)絡(luò)適配器類型中的一些。已經(jīng)為了闡述和描述的目的展示了本發(fā)明的描述,并且并不是要窮舉或限制到公開形式的發(fā)明。對(duì)于本領(lǐng)域技術(shù)人員而言,許多修改和變動(dòng)是顯而易見的。選擇和描述了實(shí)施例,以便最好地解釋本發(fā)明的原則、實(shí)際應(yīng)用,并且為了使本領(lǐng)域技術(shù)人員能夠理解具有各種修改的本發(fā)明的各個(gè)實(shí)施例適于可以想到的特定用途。權(quán)利要求1.一種在具有多個(gè)相互互連的計(jì)算機(jī)的分布式計(jì)算網(wǎng)絡(luò)中提供中間件組件的基于策略的自動(dòng)配置以提供解決方案的方法,所述方法包括確定組件步驟,確定所述中間件組件中對(duì)于提供所述解決方案所必需的那些中間件組件;確定配置步驟,確定所述計(jì)算機(jī)中要在其上部署所確定的中間件組件的多個(gè)計(jì)算機(jī)中每一個(gè)計(jì)算機(jī)的配置,以滿足選定的配置策略;以及安裝步驟,在所述多個(gè)計(jì)算機(jī)上安裝所確定的中間件組件,其中所述多個(gè)計(jì)算機(jī)中每一個(gè)計(jì)算機(jī)如所述確定配置步驟中所確定的那樣被配置,并且其中滿足選定的配置策略并可以提供所述解決方案。2.如權(quán)利要求l所述的方法,其中所述選定的配置策略至少包括以下策略之一最大化服務(wù)器使用率,基于外部資源的可用性自動(dòng)配置要求外部訪問的軟件組件,和使安裝所確定的組件的總時(shí)間最小。3.如權(quán)利要求l所述的方法,還包括監(jiān)視步驟,監(jiān)視所述中間件組件的安裝進(jìn)度,以確定是否需要進(jìn)一步調(diào)整所述計(jì)算機(jī)的配置以滿足所述選定的配置策略。4.如權(quán)利要求l所述的方法,其中所述確定配置步驟包括確定每個(gè)計(jì)算機(jī)的虛擬機(jī)的下列參數(shù)中的至少一個(gè)存儲(chǔ)器大小,磁盤大小,和中央處理單元的使用百分比。5.—種在具有多個(gè)相互互連的計(jì)算機(jī)的分布式計(jì)算網(wǎng)絡(luò)中提供中間件組件的基于策略的自動(dòng)配置以提供解決方案的方法,所述方法包括確定組件步驟,確定所述中間件組件中對(duì)于提供所述解決方案所必需的那些中間件組件;確定順序步驟,確定在所述計(jì)算機(jī)中要在其上部署所確定的中間件組件的多個(gè)計(jì)算機(jī)中每一個(gè)計(jì)算機(jī)上安裝所確定的中間件組件的順序,以滿足選定的配置策略;以及安裝步驟,在所述多個(gè)計(jì)算機(jī)上按照所確定的順序安裝所確定的中間件組件,其中滿足所述選定的配置策略,并且可以提供所述解決方案。6.如權(quán)利要求5所述的方法,其中所述選定的配置策略包括以下策略中至少一種最大化服務(wù)器使用率,基于外部資源的可用性自動(dòng)配置要求外部訪問的軟件組件,和使安裝所確定的組件的總時(shí)間最小。7.—種在具有多個(gè)相互互連的計(jì)算機(jī)的分布式計(jì)算網(wǎng)絡(luò)中提供中間件組件的基于策略的自動(dòng)配置以提供解決方案的方法,所述方法包括確定組件步驟,確定所述中間件組件中對(duì)于提供所述解決方案所必需的那些中間件組件;確定時(shí)間步驟,確定在所述計(jì)算機(jī)中多個(gè)計(jì)算機(jī)中相應(yīng)的計(jì)算機(jī)上安裝所選擇的中間件組件所花費(fèi)的時(shí)間;以及安裝步驟,在所述多個(gè)計(jì)算機(jī)上安裝所選擇的中間件組件中每一個(gè),使得每個(gè)所選擇的中間件組件安裝幾乎同時(shí)完成。8.如權(quán)利要求7所述的方法,其中所選擇的配置策略包括以下策略中至少一種最大化服務(wù)器使用率,基于外部資源的可用性自動(dòng)配置要求外部訪問的軟件組件,和使安裝所確定的組件的總時(shí)間最小。9.如權(quán)利要求8所述的方法,還包括監(jiān)視步驟,監(jiān)視所述中間件組件的安裝進(jìn)度,以確定是否需要進(jìn)一步調(diào)整所述計(jì)算機(jī)的配置以置s10.—種在具有多個(gè)相互互連的計(jì)算機(jī)的分布式計(jì)算網(wǎng)絡(luò)中提供中間件組件的基于策略的自動(dòng)配置以提供解決方案的設(shè)備,所述設(shè)備包括自動(dòng)配置管理器,用于確定所述中間件組件中對(duì)于提供所述解決方案所必需的那些中間件組件;策略管理器,用于確定所述計(jì)算機(jī)中要在其上部署所確定的中間件組件的多個(gè)計(jì)算機(jī)中每一個(gè)計(jì)算機(jī)的配置,以滿足所選定的配置策略;以及虛擬機(jī)管理器,用于根據(jù)所述策略管理器的確定配置所述多個(gè)計(jì)算機(jī)中的每一個(gè)計(jì)算機(jī);并且所述自動(dòng)配置管理器還用于在被所述虛擬機(jī)管理器配置的所述多個(gè)計(jì)算機(jī)上安裝所確定的中間件組件,使得可以提供所述解決方案。11.如權(quán)利要求10中所述的設(shè)備,其中所述選定的配置策略包括以下策略至少之一最大化服務(wù)器使用率,基于外部資源的可用性自動(dòng)配置要求外部訪問的軟件組件,和使安裝所確定的組件的總時(shí)間最小。12.如權(quán)利要求10所述的設(shè)備,還包括進(jìn)度監(jiān)視器,用于監(jiān)視所述中間件組件的安裝進(jìn)度,使得所述策略管理器能夠確定是否需要進(jìn)一步調(diào)整所述計(jì)算機(jī)的配置,以滿足所述選定的配置策略。全文摘要具有多個(gè)相互互連的計(jì)算機(jī)的分布式計(jì)算網(wǎng)絡(luò)中提供中間件組件的基于策略的自動(dòng)配置以提供服務(wù)解決方案的方法和設(shè)備。在本發(fā)明中,確定提供解決方案所必需的中間件組件。然后,確定計(jì)算機(jī)配置以滿足選定方案的選定配置策略。最后,必需的中間件組件被安裝在配置后的計(jì)算機(jī)上,使得可以提供解決方案。一些選定的配置策略是最大化服務(wù)器使用率策略,基于外部資源的可用性自動(dòng)配置要求外部訪問的軟件組件,和使安裝確定的組件的總時(shí)間最小。還可以監(jiān)視中間件組件的安裝進(jìn)度,以在虛擬機(jī)配置中進(jìn)行任何必需的調(diào)整,使得可以滿足選定的配置策略。文檔編號(hào)G06F9/445GK101256495SQ20081008141公開日2008年9月3日申請(qǐng)日期2008年2月21日優(yōu)先權(quán)日2007年2月27日發(fā)明者奧拉·塞加爾,阿列克塞·A·卡維,阿雅·莫因德拉申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司