專利名稱:用于管理基于對象的群集的系統(tǒng)與方法
技術(shù)領(lǐng)域:
在此所述的方法、系統(tǒng)、應用編程接口(API)、圖形用戶界面(GUI)、以及計算機可讀介質(zhì)一般涉及信息和數(shù)據(jù)管理,特別涉及管理基于對象的群集(cluster)。
背景群集是一組由軟件和/或硬件耦合的獨立計算機組件,群集有助于把一起工作的各組件作為單一系統(tǒng)。群集有助于保持應用的高度可用,并且有助于通過群集內(nèi)的移植(migration)執(zhí)行故障恢復處理。群集通常比傳統(tǒng)并行系統(tǒng)(例如對稱多處理(SMP)、大規(guī)模并行處理(MPP)、非統(tǒng)一存儲器存取(NUMA)、大型機)便宜。群集通常人工地單獨加以管理。傳統(tǒng)上,即使能夠管理多個群集,但由于與特定于供應商的硬件、軟件和協(xié)議,特定于平臺的硬件、軟件和協(xié)議,以及交互相關(guān)聯(lián)的問題,也是十分困難的。由于傳統(tǒng)上難以執(zhí)行群集管理,因此出現(xiàn)了與群集管理相關(guān)聯(lián)的操作員錯誤。因此,仍然需要在群集管理方面加以改進。
概述下面給出了管理基于對象的群集的一個簡要概述,以提供對這種管理的某些方面的基本了解。這一概述不是廣泛的綜述,也不旨在表明這些方法、系統(tǒng)、API、GUI、計算機可讀介質(zhì)等的關(guān)鍵或重要元素,或者限定這些項目的范圍。這一概述以簡化的形式概念性地表明了管理基于對象的群集,并將其作為后面給出的更詳細描述的序言。
本申請涉及用于跨越多個異構(gòu)群集環(huán)境自動發(fā)現(xiàn)、監(jiān)視、以及管理群集對象的基于對象的群集管理(OBCM)的系統(tǒng)與方法。類似地,OBCM可以自動發(fā)現(xiàn)、監(jiān)視、以及管理與群集對象相關(guān)聯(lián)的資源。OBCM有助于報告出所獲得的與群集和/或資源相關(guān)的信息。類似地,OBCM有助于報告出所采取的與群集和/或資源相關(guān)的動作。
本申請的一方面涉及一種用于管理基于對象的群集的方法。該方法包括發(fā)現(xiàn)群集,并且把與群集相關(guān)聯(lián)的值存儲在對群集進行建模的對象中。該方法還包括從代理接收和分析數(shù)據(jù),其中,數(shù)據(jù)涉及群集和/或資源。另一個示例方法包括監(jiān)視群集和/或資源,并且更新所存儲的與群集和/或資源相關(guān)聯(lián)的值。另一個示例方法包括管理群集和/或資源。
本申請的另一方面涉及一種用于幫助與異構(gòu)群集解決方案進行交互的系統(tǒng)。該系統(tǒng)包括檢測群集的群集檢測器,以及從群集收集數(shù)據(jù)的群集監(jiān)管器(cluster supervisor)。在一個示例系統(tǒng)中,群集檢測器和/或群集監(jiān)管器通過標準化、規(guī)范化的命令集與對象進行通信。
本申請的另一方面涉及一個幫助基于對象的群集管理的對象集,該對象集包括對受管對象進行建模的父對象、從父對象繼承并且對群集進行建模的群集對象、以及從群集對象繼承并且對供應商相關(guān)群集解決方案進行建模的供應商群集對象。
本申請的另一方面涉及一種計算機系統(tǒng),具有包括顯示器和選擇設(shè)備的圖形用戶界面。圖形用戶界面采用一種在顯示器上提供一組數(shù)據(jù)項并從中選擇的方法。該方法包括檢索一組數(shù)據(jù)項,其中每個數(shù)據(jù)項代表群集管理選項;在顯示器上顯示該組數(shù)據(jù)項;接收表示選擇設(shè)備選擇被選數(shù)據(jù)項的數(shù)據(jù)項選擇信號;以及響應該信號,啟動與被選數(shù)據(jù)項相關(guān)聯(lián)的群集管理操作。
本申請的另一方面涉及一組在計算機可讀介質(zhì)上實施的應用程序接口,它們與幫助基于對象的群集管理的應用程序相結(jié)合由計算機組件加以執(zhí)行。這組應用程序接口包括接收和返回與發(fā)現(xiàn)群集相關(guān)聯(lián)的應用數(shù)據(jù)和控制數(shù)據(jù)至少之一的第一接口、接收和返回與監(jiān)視群集相關(guān)聯(lián)的應用數(shù)據(jù)和控制數(shù)據(jù)至少之一的第二接口、以及接收和返回與管理群集相關(guān)聯(lián)的應用數(shù)據(jù)和控制數(shù)據(jù)至少之一的第三接口。
因此,此處與下面描述及附圖相結(jié)合描述了管理基于對象的群集的某些示例性方面。然而,這些方面只是表示了可以采用管理基于對象的群集的原理的各種方式的其中一些方式,因此打算包括這些方面及等價物。通過下面結(jié)合附圖加以考慮的詳細描述,其他優(yōu)點和新穎特性將會變得更加清楚。
附圖簡述
圖1示出了其中可以實現(xiàn)在此所述的示例系統(tǒng)、方法、GUI、以及API的示例計算環(huán)境。
圖2示出了典型的兩結(jié)點群集。
圖3示出了用于通過管理基于對象的群集解決方案幫助與異構(gòu)群集解決方案進行交互的示例系統(tǒng)。
圖4示出了用于幫助與異構(gòu)群集解決方案進行交互的示例系統(tǒng)。
圖5示出了用于幫助與異構(gòu)群集解決方案進行交互的示例系統(tǒng),該系統(tǒng)包括通過標準化的命令集以及對群集和/或群集組件進行建模的一組對象進行通信的功能。
圖6示出了對群集、資源和/或群集組件進行建模的對象的示例層次結(jié)構(gòu)。
圖7示出了示例基于對象的群集管理器,該基于對象的群集管理器通過對物理實體進行建模的群集對象和資源對象,與物理實體進行交互。
圖8示出了示例基于對象的群集管理器,該基于對象的群集管理器與多個異構(gòu)群集相關(guān)聯(lián)的群集對象和資源對象進行交互。
圖9是示出了用于管理基于對象的群集的示例方法的流程圖。
圖10示出了示例應用編程接口,通過這一應用編程接口,編程人員和/或進程訪問用于管理基于對象的群集的系統(tǒng)和/或方法。
詳細描述現(xiàn)在,參照附圖描述這些方法、系統(tǒng)、API、GUI、以及計算機可讀介質(zhì),其中,在所有附圖中,相同的標號用來表示相同的單元。在下面描述中,為了便于說明,給出了大量特定細節(jié),以便幫助對管理基于對象的群集的全面了解。然而,顯然可以在無需這些特定細節(jié)的情況下實施這些方法、系統(tǒng)、API、GUI、以及計算機可讀介質(zhì)。另外,為了簡化描述,以方框圖的形式示出了公知結(jié)構(gòu)和設(shè)備。
圖1示出了計算機100,其中,計算機100包括由總線108可操作地連接的處理器102、存儲器104、盤106、輸入/輸出端口110、以及網(wǎng)絡(luò)接口112。在此所述的系統(tǒng)的可執(zhí)行組件可以位于計算機如計算機100上。類似地,在此所述的計算機可執(zhí)行方法可以在計算機如計算機100上執(zhí)行。應該理解,對于在此所述的示例系統(tǒng)與方法,也可以采用其他計算機。處理器102可以為眾多不同處理器,包括雙微處理器和其他多處理器體系結(jié)構(gòu)。存儲器104可以包括易失性存儲器和/或非易失性存儲器。非易失性存儲器可以包括但不限于只讀存儲器(ROM)、可編程只讀存儲器(PROM)、電可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)等。例如,易失性存儲器可以包括隨機存取存儲器(RAM)、同步RAM(SRAM)、動態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙倍數(shù)據(jù)率SDRAM(DDR SDRAM)、以及直接RAM總線RAM(DRRAM)。盤106可以包括但不限于諸如磁盤驅(qū)動器、軟盤驅(qū)動器、磁帶驅(qū)動器、Zip驅(qū)動器、快閃存儲卡和/或存儲棒的設(shè)備。另外,盤106還可以包括光驅(qū)動器,例如,致密盤ROM(CD-ROM)、CD可記錄驅(qū)動器(CD-R驅(qū)動器)、CD可重寫驅(qū)動器(CD-RW驅(qū)動器)和/或數(shù)字多功能ROM驅(qū)動器(DVD ROM)。例如,存儲器104可以存儲進程114和/或數(shù)據(jù)116。盤106和/或存儲器104可以存儲控制和分配計算機100的資源的操作系統(tǒng)。
總線108可以為單內(nèi)部總線互連體系結(jié)構(gòu)和/或其他總線體系結(jié)構(gòu)??偩€108可以為各種類型,包括但不限于,存儲器總線或存儲器控制器、外圍總線或外部總線和/或局部總線。局部總線可以為各種類型,包括但不局限于工業(yè)標準體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MSA)總線、擴展ISA(EISA)總線、外圍組件互連(PCI)總線、通用串行(USB)總線、以及小型計算機接口(SCSI)總線。
計算機100經(jīng)由輸入/輸出端口110與輸入/輸出設(shè)備118交互。輸入/輸出設(shè)備118K可以包括但不限于鍵盤、麥克風、定點與選擇設(shè)備、攝像機、視頻卡、顯示器等。輸入/輸出端口110可以包括但不限于串行端口、并行端口、以及USB端口。
計算機100可以在網(wǎng)絡(luò)環(huán)境中工作,因此通過網(wǎng)絡(luò)接口112連接到網(wǎng)絡(luò)120。通過網(wǎng)絡(luò)120,可以把計算機100邏輯連接到遠程計算機122。網(wǎng)絡(luò)120包括但不限于局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、以及其他網(wǎng)絡(luò)。網(wǎng)絡(luò)接口112可以連接于局域網(wǎng)技術(shù),包括但不限于光纖分布式數(shù)據(jù)接口(FDDI)、銅分布式數(shù)據(jù)接口(CDDI)、以太網(wǎng)/IEEE802.3、令牌環(huán)/IEEE802.5等。類似地,網(wǎng)絡(luò)接口112還可以連接于廣域網(wǎng)技術(shù),包括但不限于點到點鏈路以及電路交換網(wǎng)如綜合業(yè)務數(shù)字網(wǎng)(ISDN)、分組交換網(wǎng)絡(luò)、以及數(shù)字訂戶線路(DSL)等。
現(xiàn)在參照圖2,該圖示出了典型的計算機群集200。計算機群集是互連在一起以用作單個統(tǒng)一計算資源的獨立計算機系統(tǒng)的集合。計算機群集是高度可用的、可擴展的、以及購置得起的,并通過群集軟件幫助創(chuàng)建虛擬系統(tǒng)映象。計算機群集中的成員關(guān)系是動態(tài)的。計算機群集可以與群集資源進行交互。群集資源為共享資源如網(wǎng)際協(xié)議(IP)地址、盤卷以及應用的集合。群集資源是可擴展的、共享的,并且?guī)椭峁﹦討B(tài)所有權(quán)。群集包為捆綁在一起的群集資源集合,以提供幫助群集資源的指定使用的高度可用服務。群集包通常為可擴展的和高度可用的,并且具有動態(tài)的位置。
在群集200中,示出了通過一組網(wǎng)絡(luò)230進行通信的第一結(jié)點210和第二結(jié)點220。網(wǎng)絡(luò)230可以包括公共網(wǎng)絡(luò)和專用網(wǎng)絡(luò),并且可以提供對包括但不限于基于對象的群集管理器、GUI、系統(tǒng)程序與應用的實體的訪問。圖中示出了與一組群集資源240進行通信的第一結(jié)點210。類似地,示出了與一組群集資源250進行通信的群集220。可以按群集包的形式安排群集資源240和250的集合。例如,在向企業(yè)提供盤服務的過程中,可以采用群集200。企業(yè)可以通過基于對象的群集管理系統(tǒng)與群集進行交互,而不是直接與群集進行交互。
現(xiàn)在參照圖3,該圖示出了包括基于對象的群集管理器320和群集管理應用350的示例系統(tǒng)300?;趯ο蟮娜杭芾砥?20與由一個或多個對象建模的群集310進行交互。OBCM假設(shè)群集、群集組件、以及資源均由對象建模。在簡化與父群集對象和從其派生的對象進行交互的對象框架中對對象加以組織,有助于把群集作為群集對象進行建模。圖形用戶界面簡化查看群集、資源及其相關(guān)信息。API簡化與基于對象的群集管理器進行交互的編程人員和/或過程的工作。因此,本申請涉及通過克服互操作性問題,簡化群集管理,并基本上同時幫助管理一個以上的異構(gòu)群集。
例如,“對象”可以是可以包括數(shù)據(jù)以及操縱該數(shù)據(jù)的方法的自包含實體。一般而言,數(shù)據(jù)通過方法的接口來暴露或者使得可以訪問。對象有助于以軟件的形式抽象邏輯的和物理實體,并有助于把抽象的信息和細節(jié)隱藏在對象內(nèi)部,同時通過接口暴露對外視圖(world view)。對象通常是按層次結(jié)構(gòu)安排的,層次結(jié)構(gòu)有助于繼承和其他面向?qū)ο蟮木幊碳夹g(shù)。
系統(tǒng)300包括幫助查看群集310、群集310的組件和/或其他企業(yè)信息的圖形用戶界面(GUI)340。而且,GUI340還可以顯示關(guān)于對象管理器320的信息。例如,GUI340可以顯示關(guān)于對象管理器320與之發(fā)生聯(lián)系的哪些群集、組件以及資源(如果存在的話)的信息。類似地,GUI340還可以顯示表示對象管理器320能夠采取的可用動作的命令。在一個示例中,GUI340可以通過傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)協(xié)議與代理(例如發(fā)現(xiàn)、監(jiān)視、管理)進行通信。另外,GUI340還能夠基本上同時顯示多個群集會話。因此,通過幫助例如通過鼠標點擊而不是命令行文法發(fā)出命令,GUI340簡化了與群集的交互和對群集的管理。另外,GUI340還通過提供可以與上下文和/或群集狀態(tài)相關(guān)的可配置彈出菜單,簡化了群集管理。“群集可視化”是指在圖形用戶界面中表示群集相關(guān)對象的進程,例如,企業(yè)查看應用。在圖形用戶界面顯示中,群集可視化采用一組獨特圖標來代表群集相關(guān)對象。例如,這些圖標可以是彩色編碼的,以有助于表示群集狀態(tài)、群集成員關(guān)系、群集中的可用服務、以及與群集相關(guān)聯(lián)的資源。
在一個示例中,GUI340可以包括顯示器和選擇設(shè)備。因此,可以把數(shù)據(jù)項顯示在顯示器上,并且可以在數(shù)據(jù)項之間進行選擇。例如,GUI340能夠顯示代表可由對象管理器320在群集310上執(zhí)行的群集管理操作的數(shù)據(jù)項。例如,群集管理操作可以包括但不限于定義群集、定義群集組件、查看群集、查看群集組件、調(diào)用群集上的功能、調(diào)用群集組件上的功能、調(diào)用群集上的進程、調(diào)用群集組件上的過程、向群集發(fā)送命令、向群集組件發(fā)送命令、啟動群集、啟動群集組件、暫停群集、暫停群集組件、啟動故障恢復進程、停止故障恢復進程、啟動維護進程、停止維護進程、啟動負載均衡進程、以及停止負載均衡進程。因此,GUI340有助于與群集310的交互。例如,通過GUI340從對象管理器320檢索一組與群集管理操作相關(guān)聯(lián)的數(shù)據(jù)項,GUI340可以十分靈活,提供了優(yōu)于傳統(tǒng)硬編碼系統(tǒng)的優(yōu)勢。通過把一組從對象管理器320檢索的數(shù)據(jù)項顯示在GUI340上,并接收表示所選數(shù)據(jù)項的數(shù)據(jù)項選擇信號,GUI340有助于通過圖形操作而不是傳統(tǒng)的命令行操作啟動群集管理操作,從而提供了優(yōu)于傳統(tǒng)的基于文本的系統(tǒng)的優(yōu)勢(例如,易于使用、記憶提示、較短的學習曲線)。
系統(tǒng)300還包括API330。例如,API330可以包括有助于從對象管理器320接收應用數(shù)據(jù)和控制數(shù)據(jù),以及把應用數(shù)據(jù)和控制數(shù)據(jù)返回到對象管理器320的接口。類似地,API330還有助于接收和/或返回與監(jiān)視群集310相關(guān)聯(lián)的應用數(shù)據(jù)和/或控制數(shù)據(jù)。另外,API330還可以包括有助于接收和返回與管理群集310相關(guān)聯(lián)的應用數(shù)據(jù)和/或控制數(shù)據(jù)。因此,包括但不限于群集管理應用350、編程人員360、進程370、以及企業(yè)管理應用380的應用和實體,可以通過與對象管理器320進行交互的API330與群集310進行交互。這樣,應用、編程人員、以及進程不僅與異構(gòu)群集中固有的特定于供應商的硬件、軟件、以及通信協(xié)議相隔離,還與對象管理器320的內(nèi)部相隔離。為了與群集310和/或?qū)ο蠊芾砥?20進行交互,應用、編程人員以及進程只需了解API330的接口來與群集310和/或?qū)ο蠊芾砥?20進行交互。這提供了優(yōu)于傳統(tǒng)系統(tǒng)的優(yōu)勢,在傳統(tǒng)系統(tǒng)中應用、編程人員以及進程被迫了解群集310的內(nèi)部細節(jié)和/或相關(guān)群集組件和資源。通過API330與對象管理器320進行交互的另一個優(yōu)點是,只要對象管理器320繼續(xù)支持API 330,則對于對象管理器320所作的實現(xiàn)修改不太可能要求對通過API330與對象管理器320交互的實體進行重新編碼。
在一個示例中,對象管理器320提供了用于識別一個或多個異構(gòu)群集310的裝置。一旦已經(jīng)識別了異構(gòu)群集,則可以通過GUI340顯示關(guān)于群集的信息。類似地,可以把命令從GUI340發(fā)送至異構(gòu)群集,并且可以通過API330檢索與群集相關(guān)的數(shù)據(jù)。對象管理器320還可以提供用于調(diào)查(survey)異構(gòu)群集的裝置,該裝置包括識別數(shù)據(jù)值、識別數(shù)據(jù)值變化、以及識別與這些異構(gòu)群集相關(guān)聯(lián)的群集組件和/或資源。這樣,群集管理應用350可以通過API330與所檢索的數(shù)據(jù)進行交互,同時由對象管理器320調(diào)查異構(gòu)群集。一個或多個代理(例如,神經(jīng)網(wǎng)絡(luò)調(diào)查代理)可以幫助對象管理器320調(diào)查異構(gòu)群集。
由于群集310可能具有供應商相關(guān)特性,因此用于控制異構(gòu)群集的系統(tǒng)可以得益于包括用于抽象群集的裝置,其中,該裝置可以包括但不限于幫助對群集、群集組件和/或資源建模的對象和/或?qū)ο髮哟谓Y(jié)構(gòu)。由于各種實體,例如,群集管理應用350、編程人員360、進程370以及企業(yè)管理應用380可能希望與群集310進行交互,因此用于控制異構(gòu)群集的系統(tǒng)可以得益于包括用于通過標準化的命令集控制異構(gòu)群集的裝置。因此,只要群集供應商實現(xiàn)了標準化命令集的后端,則應用、編程人員、以及進程可以與命令集的前端進行交互,這提供了優(yōu)于傳統(tǒng)系統(tǒng)的優(yōu)勢,在傳統(tǒng)系統(tǒng)中,這些應用、編程人員、以及進程必須直接與群集中所提供的供應商相關(guān)命令進行交互。
應該理解,對象管理器320可以包括群集檢測組件和群集監(jiān)管組件。還應該理解,群集檢測組件和和/或群集監(jiān)管組件可以包括存儲在計算機可讀介質(zhì)上的計算機可執(zhí)行組件。類似地,用于管理基于對象的群集的方法,包括發(fā)現(xiàn)群集、在群集建模對象中存儲群集數(shù)據(jù)、更新群集建模對象以及管理群集,可以采用計算機可執(zhí)行指令加以實現(xiàn),這些指令類似地存儲在計算機可讀介質(zhì)上。
現(xiàn)在參照圖4,該圖示出了幫助與異構(gòu)群集解決方案進行交互的系統(tǒng)400。系統(tǒng)400包括群集檢測器402和群集監(jiān)管器404,群集檢測器402幫助檢測異構(gòu)群集,例如群集410和群集420。例如,群集410可能來自具有特定于供應商的硬件、軟件以及協(xié)議的第一供應商。類似地,群集420可能來自不同的供應商,因而可能具有一組不同的特定于供應商的硬件、軟件以及通信協(xié)議。傳統(tǒng)上,與異構(gòu)群集的交互要求考慮特定于供應商的硬件、軟件和/或協(xié)議。然而,通過在對象中對群集建模,系統(tǒng)能夠與抽象對象而不是供應商相關(guān)項目進行交互。因此,系統(tǒng)400能夠與對群集建模的對象以及有助于與異構(gòu)群集解決方案進行交互的對象層次結(jié)構(gòu)進行交互。群集監(jiān)管器404可以從一個或多個異構(gòu)群集收集數(shù)據(jù),并調(diào)用對群集進行建模的對象中的方法以存儲從群集收集的數(shù)據(jù)。群集監(jiān)管器404也可以用來把數(shù)據(jù)和/或控制信息提供給群集。例如,可以把存儲在對群集進行建模的對象中的數(shù)據(jù)從這些對象傳送到群集,以幫助重新啟動群集和/或重新建立丟失狀態(tài)。類似地,也可以把控制信息從系統(tǒng)400傳送到群集,以幫助管理群集。
一組對象430(例如,對象432、對象434、對象436)可用于系統(tǒng)400。該組對象430幫助抽象異構(gòu)的和不同的群集。抽象群集之間的相似性以及在供應商相關(guān)對象中封裝群集特定操作,有助于群集檢測器402和/或群集監(jiān)管器404在抽象對象中存儲數(shù)據(jù)。為了簡化基于對象的群集管理,可以按有助于單獨和/或共同訪問對象的對象層次結(jié)構(gòu)安排對象。而且,按層次結(jié)構(gòu)安排抽象對象有助于繼承性和其他面向?qū)ο蟮木幊碳夹g(shù),反過來,這簡化了與群集管理相關(guān)聯(lián)的編程。
群集檢測器402和/或群集監(jiān)管器404可以從一個或多個智能化的、自動的數(shù)據(jù)收集器接收關(guān)于群集的數(shù)據(jù)。例如,神經(jīng)網(wǎng)絡(luò)代理可以大體上連續(xù)地遍歷和/或監(jiān)視一個或多個群集可以駐留在其上的一個或多個網(wǎng)絡(luò)。智能化的、自動的數(shù)據(jù)收集器能夠識別群集、群集組件和/或與群集相關(guān)聯(lián)的資源,并且把關(guān)于群集的數(shù)據(jù)傳輸?shù)饺杭瘷z測器402和/或群集監(jiān)管器404。
現(xiàn)在參照圖5,該圖示出了通過命令集510與群集520進行通信的基于對象的群集管理系統(tǒng)500。因此,群集檢測器502和/或群集監(jiān)管器504可以通過命令集510與群集520和/或各群集組件(例如,組件522、組件524、組件526)進行通信。把群集和/或群集組件和/或資源之間的相似性抽象到對這些實體進行建模的對象中,以及把特定于供應商的屬性和功能封裝到對象內(nèi)部有助于產(chǎn)生命令集510。提供命令集510簡化了對群集檢測器502和/或群集監(jiān)管器504的編程,因為僅需要群集管理器500的用戶熟悉命令集510,而不需要他們熟悉通過命令集510與之進行通信的對象的內(nèi)部細節(jié)。
在一個示例中,命令集510包括有助于定義群集、定義群集組件、查看群集、查看群集組件、調(diào)用群集上的功能、調(diào)用群集組件上的功能、調(diào)用群集上的進程、調(diào)用群集組件上的進程、向群集發(fā)送命令、向群集組件發(fā)送命令、啟動群集、啟動群集組件、暫停群集、暫停群集組件、啟動故障恢復進程、停止故障恢復進程、啟動維護進程、停止維護進程、啟動負載均衡進程、以及停止負載均衡進程的命令。提供命令集510還有助于為新創(chuàng)建的群集、群集組件、以及資源產(chǎn)生新對象,反過來,這有助于更迅速地把這些項目與群集管理器相集成。傳統(tǒng)上,當創(chuàng)建新群集時,即使有的話,供應商也只有很少關(guān)于實現(xiàn)簡化與群集管理器的集成的接口的指南(guideline)。因此,如果群集要與群集管理器一起工作,則必須對群集進行定制,或者必須對群集管理器進行定制,這將導致復雜度和成本提高。但是,使用抽象對象和命令集510,可以減輕集成問題。另外,使用預定義的接口,可以模擬正在開發(fā)的群集,因此集成測試能夠基本上與開發(fā)并行進行,從而提供了優(yōu)于傳統(tǒng)系統(tǒng)的優(yōu)勢。
盡管圖5示出了駐留在基于對象的群集管理器500和群集520之間的命令集510,但應該理解,可以通過向?qū)θ杭⑷杭M件和/或資源進行建模的對象發(fā)送命令來實現(xiàn)向群集520和/或各個組件(例如,組件522、組件524、組件526)發(fā)送命令。例如,盡管對象可以對群集進行建模,但對象也可以用作基于對象的群集管理器和群集之間的接口。因此,通過向綁定于群集的對象發(fā)送命令,可以有效地把命令的期望效果發(fā)送到該群集。因此,只要新的群集、群集組件和/或資源實現(xiàn)了命令集510的接口,新的群集、群集組件和/或資源就能夠通過命令集510與現(xiàn)存的基于對象的群集管理器500進行交互。這簡化了新群集的開發(fā)與集成,從而提供了優(yōu)于傳統(tǒng)系統(tǒng)的優(yōu)勢。
現(xiàn)在參照圖6,該圖示出了對象層次結(jié)構(gòu)?!叭杭瘜ο竽P汀笔侵该枋雠c群集相關(guān)的對象以及它們之間的關(guān)系的一般性對象模型。因此,群集對象模型有助于提供群集成員關(guān)系、服務以及群集所擁有的各種資源的統(tǒng)一視圖。類似地,群集對象模型設(shè)計成處理群集的動態(tài)性,并且能夠作為由圖形用戶界面采用的派生類的基類。
在層次結(jié)構(gòu)的頂部,是群集對象610。群集對象610可以對群集建模,因而可以包括幫助對群集進行建模的數(shù)據(jù)、用于操縱群集數(shù)據(jù)的方法,以及用于與命令集因而與基于對象的群集管理器進行交互的方法。在這一層次結(jié)構(gòu)中,主機(Host)對象620、包對象630、資源對象640、以及事件歷史對象650從群集對象610繼承。類似地,從資源對象640繼承的對象包括網(wǎng)絡(luò)地址對象642、盤卷對象644、應用對象646、以及子網(wǎng)絡(luò)對象648。同樣,事件對象652從事件歷史對象650繼承。所示對象層次結(jié)構(gòu)是可以由基于對象的群集管理系統(tǒng)用于幫助與異構(gòu)群集進行交互的對象層次結(jié)構(gòu)的一個示例。盡管圖6示出了一個可能的對象層次結(jié)構(gòu),但應該理解,根據(jù)這一應用,也可以采用其他的對象層次結(jié)構(gòu)。例如,幫助基于對象的群集管理的一組對象可以包括對受管對象進行建模的父對象,從父對象繼承并且對群集進行建模的群集對象,以及從群集對象繼承并且對群集的供應商相關(guān)特性(例如,硬件、軟件、通信協(xié)議)進行建模的供應商相關(guān)群集對象。通過有助于獲得面向?qū)ο蟮姆治?、設(shè)計以及編程的優(yōu)點如繼承性、聚集、數(shù)據(jù)隱藏以及封裝,按層次結(jié)構(gòu)安排對象簡化了與基于對象的群集管理相關(guān)聯(lián)的編程。
在通過用于管理基于對象的群集的系統(tǒng)與方法所采用的對象的一個示例集合中,可以提供從父對象繼承并且對代理進行建模的代理對象。如所討論過的,代理可以遍歷定位群集、群集組件和/或資源以及向基于對象的群集管理系統(tǒng)報告關(guān)于項目的數(shù)據(jù)的計算環(huán)境。例如,代理可以是基于SNMP或基于RMON的。例如,可以創(chuàng)建新的供應商相關(guān)群集,并且例如,把群集與基于對象的群集管理器進行集成通過群集的對象建模來得以簡化,從而也可以創(chuàng)建新的群集發(fā)現(xiàn)和/或監(jiān)視代理。通過在對象中對代理進行建模和抽象,包括定義對象和基于對象的群集管理器之間的接口,對代理的集成也類似地得以簡化。實現(xiàn)這一接口的新代理可以很容易地與基于對象的群集管理器集成在一起,從而提供優(yōu)于傳統(tǒng)系統(tǒng)的優(yōu)勢。因此,對象層次結(jié)構(gòu)可以包括從代理對象繼承并且對供應商相關(guān)代理進行建模的供應商相關(guān)代理對象。例如,第一供應商可以提供識別由該供應商提供的群集的代理。同樣,第二供應商可以提供不僅識別由該供應商提供的群集而且識別由其他供應商提供的群集的代理。因此,兩個供應商相關(guān)代理對象可以具有獨特的能力,但是兩者均可以從代理對象繼承,而代理對象又從父對象繼承,這有助于基于對象的群集管理和迅速的集成。
另一個示例對象層次結(jié)構(gòu)包括從父對象繼承并且對任務空間進行建模的任務空間對象。這一示例層次結(jié)構(gòu)還可以包括從父對象繼承并且對任務進行建模的任務對象,以及從任務對象繼承并且對一個或多個供應商相關(guān)任務進行建模的一個或多個供應商相關(guān)任務對象。類似地,對象層次結(jié)構(gòu)還可以包括從父對象繼承并且對資源空間進行建模的資源空間對象。同樣,資源對象可以從父對象繼承并且對資源進行建模。由于資源可能具有極不相同的數(shù)據(jù)、方法、以及其他供應商相關(guān)獨特性,因此具體實現(xiàn)資源對象可以從資源對象繼承并且對諸如服務、進程、子網(wǎng)絡(luò)、地址、文件系統(tǒng)、應用、以及盤卷的項目進行建模,以幫助把這些資源并入基于對象的群集管理系統(tǒng)。
在一個示例中,由于基于對象的群集管理器可以與幫助顯示關(guān)于群集、群集組件和/或資源的信息的圖形用戶界面進行交互,因此一個示例對象層次結(jié)構(gòu)可以包括從父對象繼承并且?guī)椭趫D形用戶界面中按層次結(jié)構(gòu)顯示對象的文件夾對象。類似地,資源文件夾可以從文件夾對象繼承,并且對資源進行建模,因此,類似地幫助在用于查看群集、群集組件和/或資源的圖形用戶界面中按層次結(jié)構(gòu)顯示對象。另外,示例對象層次結(jié)構(gòu)還可以包括從資源文件夾對象繼承并且對諸如服務文件夾、地址文件夾、進程文件夾、子網(wǎng)絡(luò)文件夾、文件系統(tǒng)文件夾、應用文件夾以及盤卷文件夾的項目進行建模的一個或多個具體實現(xiàn)文件夾對象,以類似地幫助基于對象的群集管理系統(tǒng)與用于例如企業(yè)環(huán)境的圖形用戶界面的集成。
應該理解,可以把對象的層次結(jié)構(gòu)存儲在計算機可讀介質(zhì)上。因此,存儲了對象集的計算機可執(zhí)行組件的計算機可讀介質(zhì)可以包括對受管對象進行建模的父對象、對群集進行建模的群集對象、對供應商相關(guān)群集解決方案進行建模的供應商群集對象、對代理進行建模的代理對象、對供應商相關(guān)代理進行建模的供應商相關(guān)代理對象、對任務空間進行建模的任務空間對象、對任務進行建模的任務對象、對供應商相關(guān)任務進行建模的供應商相關(guān)任務對象等。
現(xiàn)在參照圖7,該圖示出了由群集對象710建模的群集700,其中,群集對象710與基于對象的群集管理系統(tǒng)760進行通信。類似地,圖7還示出了分別由各個對象722、732、742、以及752建模的各個群集組件720、730、740、以及750,對象722、723、742、以及752類似地與基于對象的群集管理系統(tǒng)760進行通信。因此,基于對象的群集管理系統(tǒng)760可以通過建模對象710、722-752間接地與群集700和/或各個群集組件720-750交互。通過抽象群集700和/或各個群集組件720-750,對基于對象的群集管理系統(tǒng)760進行編程的任務得以簡化,因為把基于對象的群集管理系統(tǒng)760和與群集700和/或群集組件720-750相關(guān)聯(lián)的供應商相關(guān)和/或?qū)崿F(xiàn)細節(jié)相隔離。對群集700和群集組件720-750進行建模的另一個好處是,能夠采用軟件對項目進行模擬,這有助于迅速的原型設(shè)計、迅速的集成、故障檢測、培訓、以及基本上并行的開發(fā)。
在圖8中,示出了與兩個異構(gòu)群集810和820進行交互的基于對象的群集管理系統(tǒng)800。群集810包括分別由對象850、852、以及854建模的三個群集組件812、814、以及816。類似地,群集820包括分別由對象860、862、以及864建模的三個組件822、824、以及826。群集810由對象830建模,并且群集820又由對象840建模。圖中示出與基于對象的群集管理系統(tǒng)800進行通信的對象830、840、850、852、854、860、862、以及864。因此,把基于對象的群集管理系統(tǒng)800和與群集810、組件812、814、816、群集820、以及組件822、824、和826相關(guān)聯(lián)的供應商相關(guān)和/或?qū)崿F(xiàn)相關(guān)細節(jié)相隔離。因此,簡化了對基于對象的群集管理系統(tǒng)800的編程,因為它能夠與在對象中所捕獲的抽象進行交互,而不是與物理實體中固有的特定細節(jié)進行交互,從而提供優(yōu)于傳統(tǒng)非面向?qū)ο蟮南到y(tǒng)的優(yōu)勢。
考慮以上所示和所述的示例性系統(tǒng),參照圖9的流程圖,將會對所實現(xiàn)的方法更好地加以理解。盡管為了簡化說明起見,所示方法是作為一系列模塊來示出和描述的,但應該理解,這一方法并不受限于模塊順序,因為某些模塊可以按不同的順序和/或與所示出和所描述的其他模塊同時出現(xiàn)。而且,可能只需要部分所示模塊來實現(xiàn)示例方法。另外,附加的和/或另選的方法可以使用附加的未示出模塊。在一個示例中,這些方法可以作為計算機可執(zhí)行指令和/或操作加以實現(xiàn),其中,可以把指令和/或操作存儲在計算機可讀介質(zhì)上,計算機可讀介質(zhì)包括但不限于專用集成電路(ASIC)、致密盤(CD)、數(shù)字多功能盤(DVD)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、電可擦除可編程只讀存儲器(EEPROM)、盤、載波、以及存儲棒。
圖9是一個流程圖,示出了用于管理基于對象的群集的示例基于計算機的方法。在900處,進行總體初始化。初始化可以包括但不限于分配存儲器、建立指針、建立數(shù)據(jù)通信、獲取資源、設(shè)置變量、以及顯示進程活動。
在910處,判斷是否發(fā)現(xiàn)了群集,如果910處的判斷為“是”,則在920處增加(populate)一個群集對象。因此,在用于管理基于對象的群集的方法中,開始步驟之一是發(fā)現(xiàn)一個或多個群集,它們可以是異構(gòu)群集(例如來自不同的供應商)。發(fā)現(xiàn)群集可以包括接收和分析來自一個或多個代理的數(shù)據(jù),在一個示例中,代理可以為神經(jīng)網(wǎng)絡(luò)代理。從代理接收的數(shù)據(jù)可以包括但不限于群集的名稱、群集的位置、一組群集組件標識符、群集組件之間的一組關(guān)系、可以由群集執(zhí)行的進程、可以發(fā)送給群集的命令、正常運行時間(up time)、發(fā)生故障時間(down time)、陷阱目標(trap destination)、以及局部可用的應用。由于群集可能為異構(gòu)的,因此可以通過對象對它們進行抽象和建模,這簡化了與異構(gòu)群集的交互??梢园褟陌l(fā)現(xiàn)群集的代理接收的數(shù)據(jù)存儲在對群集進行建模的對象內(nèi)的一個或多個數(shù)據(jù)字段中。通常是通過采用與對象相關(guān)聯(lián)的方法的接口,把這些值存儲在對群集進行建模的對象中。
一旦發(fā)現(xiàn)了一個或多個群集,則也可能發(fā)現(xiàn)與群集相關(guān)聯(lián)的資源。類似于如何把與群集相關(guān)聯(lián)的值存儲在對群集進行建模的對象中,可以類似地把與資源相關(guān)聯(lián)的值存儲在對資源進行建模的對象中。資源可以包括但不限于計算機硬件(例如,盤空間、存儲器容量、通信帶寬、處理器速度)和計算機軟件(例如操作系統(tǒng)、應用、進程、線程)。可以從代理接收關(guān)于資源的信息,在一個示例中,代理可以為神經(jīng)網(wǎng)絡(luò)代理。
因此,用于管理基于對象的群集的示例方法可以包括發(fā)現(xiàn)群集和/或與群集相關(guān)聯(lián)的資源、在建模對象中存儲與群集和/或資源相關(guān)聯(lián)的值,以及從神經(jīng)網(wǎng)絡(luò)代理接收和分析與群集和/或資源相關(guān)聯(lián)的數(shù)據(jù)。通過定義群集通信協(xié)議來幫助接收數(shù)據(jù)。該協(xié)議可以包括針對群集和/或資源數(shù)據(jù)類型、大小、位置、以及有效值的標準。由于代理(例如神經(jīng)網(wǎng)絡(luò)代理)可以不斷地找尋出群集,因此在把與群集相關(guān)聯(lián)的數(shù)據(jù)存儲在建模對象中之前,可以分析數(shù)據(jù),以判斷新“發(fā)現(xiàn)”的群集是否實際上先前已被發(fā)現(xiàn)。這簡化了減少與重復數(shù)據(jù)存儲相關(guān)聯(lián)的問題。
在930處,判斷是否應更新與群集相關(guān)聯(lián)的信息。如果930處的判斷為“是”,則在940處,可以更新群集對象(例如,改變值)。因此,用于管理基于對象的群集的示例方法可以包括監(jiān)視群集,并且當注意到在群集中發(fā)生變化時,則可以更新建模對象中的數(shù)據(jù)值。通常,更新是通過調(diào)用對群集進行建模的對象的一個或多個方法進行的??梢詮谋O(jiān)視代理接收監(jiān)視數(shù)據(jù),在一個示例中,代理為神經(jīng)網(wǎng)絡(luò)代理。例如,新發(fā)現(xiàn)的群集可以指出,它具有第一盤容量。在工作一段時間之后,盤容量可能發(fā)生變化。因此,正在監(jiān)視群集的代理可能報告新的盤容量。當注意到盤容量發(fā)生變化時,可以調(diào)用對群集進行建模的對象中的方法來改變存儲在對群集進行建模的對象中的數(shù)據(jù)值。應該理解,在并行處理系統(tǒng)中,監(jiān)視可以與更新與群集相關(guān)聯(lián)的值基本上并行發(fā)生。盡管代理可以監(jiān)視群集,但代理也可以監(jiān)視與群集相關(guān)聯(lián)的資源。因此,用于管理基于對象的群集的方法還可以包括監(jiān)視與群集相關(guān)聯(lián)的資源以及更新對資源進行建模的對象中的值。用于更新對資源進行建模的對象的數(shù)據(jù)值可以從代理接收,在一個示例中,代理可以為神經(jīng)網(wǎng)絡(luò)代理。由于代理可以基本上不斷地監(jiān)視資源和/或群集,因此可以在判斷是否調(diào)用更新群集和/或資源建模對象中的值的方法之前,分析從代理接收的數(shù)據(jù)。這有助于維護數(shù)據(jù)完整性,反過來,數(shù)據(jù)完整性又有助于維護群集和/或相關(guān)群集資源的準確表示和建模。
在950處,判斷是否要在群集上執(zhí)行一個動作。如果950處的判斷為“是”,則在960處,可以管理群集。管理群集可以包括但不限于定義群集、查看群集、調(diào)用群集上的系統(tǒng)功能、調(diào)用群集上的用戶功能、向群集發(fā)送命令、確認要在群集上執(zhí)行的動作、啟動群集、暫停群集、登記陷阱目標、列出陷阱目標、列出代理進程、列出群集進程、以及啟動局部應用。另外,管理群集還可以包括執(zhí)行針對群集的故障恢復處理、群集內(nèi)的負載均衡、以及執(zhí)行針對群集的維護處理。例如,定義群集可以包括為群集組件提供標識符和/或標識一個或多個群集組件的位置。例如,查看群集可以包括顯示一個或多個對象或存儲在用于對群集和/或群集資源進行建模的對象中的數(shù)據(jù)值。由于群集可以是計算機組件的協(xié)作集合,因此管理群集可以包括調(diào)用群集上的系統(tǒng)和/或用戶功能。例如,群集可能具有執(zhí)行安全掃描(例如,病毒檢查)的能力,這將被視為系統(tǒng)功能。類似地,群集可能具有執(zhí)行由群集用戶所編寫的程序的能力,這將是用戶功能。系統(tǒng)和/或用戶功能可以例如通過遠程過程調(diào)用來調(diào)用。能夠參與群集的“計算機組件”包括但不限于與計算機相關(guān)的實體,即硬件、固件、軟件及其組合、或者執(zhí)行中的軟件。例如,計算機組件可以是但不局限于運行在處理器上的進程、處理器、對象、可執(zhí)行代碼、執(zhí)行線程、程序、以及計算機。一個或多個計算機組件可以駐留在執(zhí)行的進程和/或線程中,并且計算機組件可以集中在一臺計算機上和/或分布在兩臺或更多計算機之間。
群集可以具有狀態(tài),因而能夠通過啟動群集的操作和/或停止群集的操作來管理群集。例如,可以通過向群集發(fā)送命令來啟動和停止群集。由于能夠在群集上采取的動作可能取決于狀態(tài)(例如,正常運行、發(fā)生故障),因此查看群集狀態(tài)可以幫助確認是否能夠在群集上執(zhí)行動作。當某些狀態(tài)存在于群集中時,或當某些狀態(tài)轉(zhuǎn)換發(fā)生在群集中時,可以自動地執(zhí)行某些動作??梢园褎幼鞔鎯υ谙葳迥繕酥?,因此,可以通過用于管理基于對象的群集的方法來登記群集的陷阱目標,并且可以列出這些陷阱目標。由于從代理接收關(guān)于群集的信息,因此群集管理可以包括列出檢查和/或報告了關(guān)于群集的信息的代理進程。
采用群集的一個應用是支持高度可用的應用。因此,群集管理可以包括執(zhí)行用于群集的故障恢復處理(例如,將處理從發(fā)生故障的群集組件自動移植到正常運行的群集組件)、群集內(nèi)的負載均衡(在群集組件之間分布處理和/或數(shù)據(jù)),并且包括執(zhí)行維護處理(例如,去除碎片、通信完整性測試、安全審計)。通過與對群集進行建模的對象交互而不是直接與物理實體交互來幫助這一處理。
群集和/或群集組件可以與一個或多個群集資源(例如,磁盤、磁帶、CD)進行交互。因此,應用也可以涉及對資源的管理。因此,在管理基于對象的群集的示例方法中,可以執(zhí)行包括定義資源、查看資源、啟動和停止資源、以及調(diào)用資源上的功能的資源管理功能。例如,定義資源可以包括為資源命名、定位資源、以及把資源與一個或多個群集相關(guān)聯(lián)。類似地,查看資源可以包括顯示資源定義值。如同群集,資源可以具有狀態(tài),因此可以啟動和/或暫停資源。例如,可以采用與群集相關(guān)聯(lián)的磁帶備份資源來在午夜到凌晨1:00之間執(zhí)行夜間自動磁帶備份。因此,可以在就要執(zhí)行自動磁帶備份之前啟動資源,并且在完成自動磁帶備份完成之后停止資源,以有助于省電和降低安全風險。
在970處,判斷基于對象的群集的管理是否完成。如果970處的判斷為“否”,則處理返回到910,否則可以結(jié)束處理。盡管圖9所示的各模塊是順序示出的,但應該理解,也可以在并行處理系統(tǒng)中執(zhí)行用于管理基于對象的群集的方法,因此,可以基本上并行地執(zhí)行所示模塊。
現(xiàn)在參照圖10,該圖示出了提供對基于對象的群集管理器1030的訪問的應用編程接口(API)1000。例如,編程人員1010和/或進程1020可以采用API1000來訪問由基于對象的群集管理器1030執(zhí)行的處理。例如,編程人員1010可以編寫訪問群集(例如,調(diào)用其操作,監(jiān)視其操作、訪問其功能)的程序,其中,編寫程序得助于API1000的存在。因此,編程人員1010無需理解群集管理器1030的內(nèi)部,而只需了解與群集管理器1030的接口1000,從而簡化了編程人員的任務。這有助于封裝群集管理器1030的功能,同時把這些功能暴露于編程人員1010和/或進程1020。類似地,API1000可以把數(shù)據(jù)值提供給群集管理器1030和/或從群集管理器1030檢索數(shù)據(jù)值。例如,通過檢查利用API1000從群集管理器1030檢索的數(shù)據(jù),幫助負載均衡的進程1020可以監(jiān)視一個或多個群集和/或群集組件的狀態(tài)。當注意到由特定數(shù)據(jù)值和/或值間關(guān)系表示的某些條件時,進程1020可以通過API1000發(fā)送一個或多個幫助管理負載均衡的數(shù)據(jù)值或命令。
在一個示例API1000中,第一接口1040傳遞與發(fā)現(xiàn)群集相關(guān)聯(lián)的應用數(shù)據(jù)和/或控制數(shù)據(jù)。作為示例,可以通過發(fā)現(xiàn)接口1040傳遞數(shù)據(jù)包括但不限于群集的名稱、位置、大小、地址、擁有者、供應商、功能以及成員資源的數(shù)據(jù)?!叭杭l(fā)現(xiàn)”是指識別網(wǎng)絡(luò)上的群集相關(guān)對象的過程。例如,發(fā)現(xiàn)可以基于簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)代理或者遠程監(jiān)視(RMON)代理。在群集發(fā)現(xiàn)中,采取從不同主機收集的相關(guān)信息。
第二接口1050傳遞與監(jiān)視群集相關(guān)聯(lián)的應用數(shù)據(jù)和/或控制數(shù)據(jù)。例如,可以通過監(jiān)視接口傳遞包括但不限于群集狀態(tài)、負載、維護狀態(tài)以及使用情況的數(shù)據(jù)。第三接口1060傳遞與管理群集相關(guān)聯(lián)的應用數(shù)據(jù)和/或控制數(shù)據(jù)。例如,可以通過接口1060傳遞數(shù)據(jù),其中數(shù)據(jù)包括但不限于定義群集、定義群集組件、查看群集、查看群集組件、調(diào)用群集上的功能、調(diào)用群集組件上的功能、調(diào)用群集上的進程、調(diào)用群集組件上的進程、向群集發(fā)送命令、向群集組件發(fā)送命令、啟動群集、啟動群集組件、暫停群集、暫停群集組件、啟動故障恢復進程、停止故障恢復進程、啟動維護進程、停止維護進程、啟動負載均衡進程、以及停止負載均衡進程。因此,在API1000的一個示例中,可以把一組應用程序接口存儲在計算機可讀介質(zhì)中。這些接口可以由計算機組件執(zhí)行,以獲得對基于對象的群集管理器的訪問。接口可以包括但不限于接收或提供與發(fā)現(xiàn)群集相關(guān)聯(lián)的數(shù)據(jù)的第一接口,接收或提供與監(jiān)視群集相關(guān)聯(lián)的數(shù)據(jù)的第二接口,以及接收或提供與管理群集相關(guān)聯(lián)的數(shù)據(jù)的第三接口。
上文包括多個示例。當然,不可能為了描述在管理基于對象的群集中所采用的系統(tǒng)、方法、GUI、以及API而描述各組件或方法的每一種可能組合。然而,本領(lǐng)域的普通技術(shù)人員應該認識,進一步的組合和排列是可能的。因此,本申請旨在包括落入所附權(quán)利要求范圍內(nèi)的變更、修改、以及變化。此外,就在詳細描述或權(quán)利要求中采用術(shù)語“包括(includes)”而言,當該術(shù)語在權(quán)利要求中用作過渡詞加以解釋時,它以類似于術(shù)語“包括(comprising)”的方式旨在是包括性的。
權(quán)利要求
1.一種用于管理基于對象的群集的方法,包括發(fā)現(xiàn)一個或多個群集;以及把與一個或多個群集相關(guān)聯(lián)的一個或多個值存儲在一個或多個對群集進行建模的對象中。
2.如權(quán)利要求1所述的方法,其中,發(fā)現(xiàn)群集包括從一個或多個代理接收和分析數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其中,代理為神經(jīng)網(wǎng)絡(luò)代理。
4.如權(quán)利要求1所述的方法,包括發(fā)現(xiàn)與群集相關(guān)聯(lián)的一個或多個資源;以及把與一個或多個資源相關(guān)聯(lián)的一個或多個值存儲在一個或多個對資源進行建模的對象中。
5.如權(quán)利要求4所述的方法,其中,發(fā)現(xiàn)資源包括從一個或多個代理接收和分析數(shù)據(jù)。
6.如權(quán)利要求5所述的方法,其中,代理為神經(jīng)網(wǎng)絡(luò)代理。
7.如權(quán)利要求1所述的方法,包括監(jiān)視一個或多個群集;以及更新與一個或多個對群集進行建模的對象相關(guān)聯(lián)的一個或多個值。
8.如權(quán)利要求7所述的方法,其中,更新一個或多個值包括調(diào)用一個或多個對群集進行建模的對象的一個或多個方法。
9.如權(quán)利要求7所述的方法,其中,監(jiān)視一個或多個群集包括從一個或多個代理接收和分析數(shù)據(jù)。
10.如權(quán)利要求9所述的方法,其中,代理為神經(jīng)網(wǎng)絡(luò)代理。
11.如權(quán)利要求7所述的方法,包括監(jiān)視與一個或多個群集相關(guān)聯(lián)的一個或多個資源;以及更新與一個或多個對資源進行建模的對象相關(guān)聯(lián)的一個或多個值。
12.如權(quán)利要求11所述的方法,其中,更新一個或多個值包括調(diào)用一個或多個對資源進行建模的對象的一個或多個方法。
13.如權(quán)利要求11所述的方法,其中,監(jiān)視一個或多個資源包括從一個或多個代理接收和分析數(shù)據(jù)。
14.如權(quán)利要求13所述的方法,其中,代理為神經(jīng)網(wǎng)絡(luò)代理。
15.如權(quán)利要求7所述的方法,包括管理一個或多個群集,其中,管理群集包括執(zhí)行至少下列之一定義群集、查看群集、調(diào)用群集上的系統(tǒng)功能、調(diào)用群集上的用戶功能、向群集發(fā)送命令、確認要在群集上執(zhí)行的動作、啟動群集、暫停群集、登記陷阱目標、列出陷阱目標、列出代理進程、列出群集進程、以及啟動局部應用
16.如權(quán)利要求7所述的方法,包括管理一個或多個群集,其中,管理群集包括執(zhí)行至少下列之一針對群集的故障恢復處理、群集內(nèi)的負載均衡、以及針對群集的維護處理。
17.如權(quán)利要求15所述的方法,包括管理一個或多個資源,其中,管理資源包括執(zhí)行至少下列之一定義資源、查看資源、啟動資源、暫停資源、以及調(diào)用資源上的功能。
18.一種用于幫助與異構(gòu)群集解決方案進行交互的系統(tǒng),包括檢測一個或多個群集的群集檢測器,以及從一個或多個群集收集數(shù)據(jù)的群集監(jiān)管器。
19.如權(quán)利要求18所述的系統(tǒng),其中,群集監(jiān)管器向一個或多個群集提供數(shù)據(jù)和控制至少之一。
20.如權(quán)利要求19所述的系統(tǒng),其中,群集檢測器和群集監(jiān)管器至少之一在抽象了群集和群集組件至少之一的一個或多個對象中存儲數(shù)據(jù)。
21.如權(quán)利要求20所述的系統(tǒng),其中,按對象層次結(jié)構(gòu)安排一個或多個對象。
22.如權(quán)利要求20所述的系統(tǒng),其中,群集檢測器和群集監(jiān)管器至少之一通過標準化的、規(guī)格化的命令集與一個或多個對象進行通信。
23.如權(quán)利要求22所述的系統(tǒng),其中,命令集包括執(zhí)行至少下列之一的命令定義群集、定義群集組件、查看群集、查看群集組件、調(diào)用群集上的功能、調(diào)用群集組件上的功能、調(diào)用群集上的進程、調(diào)用群集組件上的進程、向群集發(fā)送命令、向群集組件發(fā)送命令、啟動群集、啟動群集組件、暫停群集、暫停群集組件、啟動故障恢復進程、停止故障恢復進程、啟動維護進程、停止維護進程、啟動負載均衡進程、以及停止負載均衡進程。
24.如權(quán)利要求18所述的系統(tǒng),其中,群集檢測器和群集監(jiān)管器至少之一從一個或多個智能化的、自動的數(shù)據(jù)收集器接收數(shù)據(jù)。
25.幫助基于對象的群集管理的對象集,包括父對象,對受管對象進行建模;群集對象,從父對象繼承并且對群集進行建模;以及一個或多個供應商群集對象,從群集對象繼承并且對一個或多個供應商相關(guān)群集解決方案進行建模。
26.如權(quán)利要求25所述的對象集,包括代理對象,從父對象繼承并且對代理進行建模;以及一個或多個供應商代理對象,從代理對象繼承并且對一個或多個供應商相關(guān)代理進行建模。
27.如權(quán)利要求25所述的對象集,包括任務空間對象,從父對象繼承并且對任務空間進行建模;任務對象,從父對象繼承并且對任務進行建模;以及一個或多個供應商任務對象,從任務對象繼承并且對一個或多個供應商相關(guān)任務進行建模。
28.如權(quán)利要求25所述的對象集,包括資源空間對象,從父對象繼承并且對資源空間進行建模;資源對象,從父對象繼承并且對資源進行建模;以及一個或多個具體實現(xiàn)資源對象,從資源對象繼承并且對服務、進程、子網(wǎng)絡(luò)、地址、文件系統(tǒng)、應用、以及盤卷至少之一進行建模。
29.如權(quán)利要求25所述的對象集,包括文件夾對象,從父對象繼承并且對幫助在圖形用戶界面中按層次結(jié)構(gòu)顯示對象的文件夾進行建模;資源文件夾對象,從文件夾對象繼承并且對幫助在圖形用戶界面中按層次結(jié)構(gòu)顯示對象的資源進行建模;以及一個或多個具體實現(xiàn)文件夾對象,從資源文件夾對象繼承并且對服務文件夾、地址文件夾、進程文件夾、子網(wǎng)絡(luò)文件夾、文件系統(tǒng)文件夾、應用文件夾、以及盤卷文件夾至少之一進行建模。
30.存儲一組對象的計算機可執(zhí)行組件的計算機可讀介質(zhì),包括父對象,對受管對象進行建模;群集對象,從父對象繼承并且對群集進行建模;一個或多個供應商群集對象,從群集對象繼承并且對一個或多個供應商相關(guān)群集解決方案進行建模;代理對象,從父對象繼承并且對代理進行建模;一個或多個供應商代理對象,從代理對象繼承并且對一個或多個供應商相關(guān)代理進行建模;任務空間對象,從父對象繼承并且對任務空間進行建模;任務對象,從父對象繼承并且對任務進行建模;以及一個或多個供應商任務對象,從任務對象繼承并且對一個或多個供應商相關(guān)任務進行建模;資源空間對象,從父對象繼承并且對資源空間進行建模;資源對象,從父對象繼承并且對資源進行建模;以及一個或多個具體實現(xiàn)資源對象,從資源對象繼承并且對服務、進程、子網(wǎng)絡(luò)、地址、文件系統(tǒng)、應用、以及盤卷至少之一進行建模;文件夾對象,從父對象繼承并且對幫助在圖形用戶界面中按層次結(jié)構(gòu)顯示對象的文件夾進行建模;資源文件夾對象,從文件夾對象繼承并且對幫助在圖形用戶界面中按層次結(jié)構(gòu)顯示的文件夾進行建模;以及一個或多個具體實現(xiàn)文件夾對象,從資源文件夾對象繼承并且對服務文件夾、地址文件夾、進程文件夾、子網(wǎng)絡(luò)文件夾、文件系統(tǒng)文件夾、應用文件夾、以及盤卷文件夾至少之一進行建模。
31.在具有包括顯示器和選擇設(shè)備的圖形用戶界面的計算機可讀介質(zhì)中,一種在顯示器上提供一組數(shù)據(jù)項并從中選擇的方法,該方法包括檢索一組數(shù)據(jù)項,其中每個數(shù)據(jù)項代表一個群集管理選項;在顯示器上顯示這組數(shù)據(jù)項;接收表示選擇設(shè)備選擇被選數(shù)據(jù)項的數(shù)據(jù)項選擇信號;以及響應該信號,啟動與被選數(shù)據(jù)項相關(guān)聯(lián)的群集管理操作。
32.如權(quán)利要求31所述的方法,其中,群集管理操作為至少下列之一定義群集、定義群集組件、查看群集、查看群集組件、調(diào)用群集上的功能、調(diào)用群集組件上的功能、調(diào)用群集上的進程、調(diào)用群集組件上的進程、向群集發(fā)送命令、向群集組件發(fā)送命令、啟動群集、啟動群集組件、暫停群集、暫停群集組件、啟動故障恢復進程、停止故障恢復進程、啟動維護進程、停止維護進程、啟動負載均衡進程、以及停止負載均衡進程。
33.一組在計算機可讀介質(zhì)上實施的應用程序接口,用于由計算機組件結(jié)合幫助基于對象的群集管理的應用程序一起加以執(zhí)行,包括第一接口,接收和返回與發(fā)現(xiàn)群集相關(guān)聯(lián)的應用數(shù)據(jù)和控制數(shù)據(jù)至少之一;第二接口,接收和返回與監(jiān)視群集相關(guān)聯(lián)的應用數(shù)據(jù)和控制數(shù)據(jù)至少之一;以及第三接口,接收和返回與管理群集相關(guān)聯(lián)的應用數(shù)據(jù)和控制數(shù)據(jù)至少之一。
34.一種用于控制異構(gòu)群集的系統(tǒng),包括用于識別一個或多個異構(gòu)群集的裝置;用于調(diào)查一個或多個異構(gòu)群集的裝置;用于抽象群集的裝置;用于通過標準化的命令集控制一個或多個異構(gòu)群集的裝置。
35.一種存儲用于幫助與異構(gòu)群集解決方案交互的系統(tǒng)的計算機可執(zhí)行組件的計算機可讀介質(zhì),其中,該系統(tǒng)包括檢測一個或多個群集的群集檢測組件;從一個或多個群集收集數(shù)據(jù)的群集監(jiān)管組件;以及一個或多個對群集進行建模的對象。
36.一種存儲用于管理基于對象的群集的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì),其中,該方法包括發(fā)現(xiàn)一個或多個群集;把與一個或多個群集相關(guān)聯(lián)的群集數(shù)據(jù)存儲在一個或多個群集建模對象中;至少部分根據(jù)監(jiān)視一個或多個所發(fā)現(xiàn)的群集,更新一個或多個群集建模對象;以及管理一個或多個群集。
全文摘要
提供了一種用于管理基于對象的群集的方法、系統(tǒng)、API、GUI、以及計算機可讀介質(zhì)(10)。該方法提供了一種用于發(fā)現(xiàn)、監(jiān)視、以及管理基于對象的群集的計算機可執(zhí)行方法。該系統(tǒng)提供了一種基于計算機的系統(tǒng)(1),用于幫助與異構(gòu)群集解決方案的交互。該系統(tǒng)包括用于檢測群集和監(jiān)管所檢測的群集和/或組件的計算機組件。
文檔編號G09G5/00GK1695282SQ02816646
公開日2005年11月9日 申請日期2002年6月8日 優(yōu)先權(quán)日2001年7月6日
發(fā)明者庫羅斯·H·埃斯法哈尼 申請人:電腦聯(lián)合想象公司