在中間件機(jī)器中執(zhí)行部分子網(wǎng)初始化版權(quán)通知本專利文件的公開的一部分包含受版權(quán)保護(hù)的材料。版權(quán)所有者不反對任何人對專利文件或?qū)@_的傳真復(fù)制,因?yàn)樗霈F(xiàn)在專利商標(biāo)局專利文檔或記錄中,但在別的方面保留所有任何版權(quán)。技術(shù)領(lǐng)域本發(fā)明一般涉及計(jì)算機(jī)系統(tǒng)和諸如中間件之類的軟件,并且特別涉及支持中間件機(jī)器環(huán)境。
背景技術(shù):無限帶寬(Infiniband)(IB)架構(gòu)是支持用于一個或多個計(jì)算機(jī)系統(tǒng)的I/O和處理器間通信二者的通信和管理基礎(chǔ)設(shè)施。IB架構(gòu)系統(tǒng)的規(guī)模可以從具有幾個處理器和幾個I/O裝置的小服務(wù)器到具有數(shù)百處理器和數(shù)千I/O裝置的大規(guī)模并行設(shè)施。IB架構(gòu)定義交換式通信結(jié)構(gòu),使得許多裝置在受保護(hù)的、遠(yuǎn)程管理的環(huán)境中以高帶寬和低延遲同時通信。端結(jié)點(diǎn)可以通過多個IB架構(gòu)端口通信并且可以通過IB架構(gòu)結(jié)構(gòu)利用多個路徑。提供通過網(wǎng)絡(luò)的許多IB架構(gòu)端口和路徑以用于容錯和增大的數(shù)據(jù)傳送帶寬二者。這些一般是本發(fā)明的實(shí)施例預(yù)期針對的領(lǐng)域。
技術(shù)實(shí)現(xiàn)要素:這里描述的是用于在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化的系統(tǒng)和方法。根據(jù)一個實(shí)施例,中間件機(jī)器環(huán)境中的多個管理節(jié)點(diǎn)能夠互連以使得與多個管理節(jié)點(diǎn)相關(guān)聯(lián)的多個子網(wǎng)管理器能夠使用帶內(nèi)通信協(xié)議彼此通信。多個子網(wǎng)管理器能夠協(xié)商和推選主子網(wǎng)管理器,主子網(wǎng)管理器操作來配置和管理中間件機(jī)器環(huán)境。主子網(wǎng)管理器能夠使用帶內(nèi)通信協(xié)議將一個或多個子網(wǎng)初始化策略復(fù)制到中間件機(jī)器環(huán)境中的其它子網(wǎng)管理器。主子網(wǎng)管理器然后基于一個或多個子網(wǎng)初始化策略設(shè)置中間件機(jī)器環(huán)境中的多個客戶端節(jié)點(diǎn)。在一個方面,提供一種中間件機(jī)器環(huán)境中的子網(wǎng)管理器,包括:通信模塊,被配置為使用帶內(nèi)通信協(xié)議與其它子網(wǎng)管理器通信;推選模塊,被配置為與其它子網(wǎng)管理器協(xié)商并且推選主子網(wǎng)管理器;復(fù)制模塊,被配置為,響應(yīng)于子網(wǎng)管理器被推選為主子網(wǎng)管理器,使用帶內(nèi)通信協(xié)議將一個或多個子網(wǎng)初始化策略復(fù)制到中間件機(jī)器環(huán)境中的其它子網(wǎng)管理器;和設(shè)置模塊,被配置為,響應(yīng)于子網(wǎng)管理器被推選為主子網(wǎng)管理器,基于一個或多個子網(wǎng)初始化策略設(shè)置中間件機(jī)器環(huán)境中的多個客戶端節(jié)點(diǎn)。在一些實(shí)施例中,所述帶內(nèi)通信協(xié)議除了提供中間件機(jī)器環(huán)境中的以太網(wǎng)聯(lián)網(wǎng)之外,還提供通信冗余。在一些實(shí)施例中,一個或多個劃分策略能夠定義中間件機(jī)器環(huán)境中的劃分配置,并且其中所述一個或多個劃分策略能夠通過初始化策略事務(wù)被提供給中間件機(jī)器環(huán)境。在一些實(shí)施例中,子網(wǎng)管理器還包括初始化模塊,被配置為,響應(yīng)于子網(wǎng)管理器被推選為主子網(wǎng)管理器,在沒有指定劃分策略時,使用默認(rèn)劃分策略來初始化。在一些實(shí)施例中,子網(wǎng)管理器還包括同步模塊,被配置為,響應(yīng)于子網(wǎng)管理器被推選為主子網(wǎng)管理器,在結(jié)構(gòu)級別的同步已被實(shí)現(xiàn)時,通過最初使用默認(rèn)劃分策略起動,并且接著在中間件機(jī)器環(huán)境中安裝劃分配置,來同步結(jié)構(gòu)級別的配置策略。在另一個方面中,提供一種中間件機(jī)器環(huán)境中的管理節(jié)點(diǎn),包括上述子網(wǎng)管理器。在另一個方面中,提供一種用于在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化的系統(tǒng),包括在中間件機(jī)器環(huán)境中互連的多個上述管理節(jié)點(diǎn)。在一些實(shí)施例中,多個管理節(jié)點(diǎn)是無限帶寬(IB)子網(wǎng)的一部分。在一些實(shí)施例中,多個管理節(jié)點(diǎn)包括一個或多個網(wǎng)絡(luò)交換機(jī),其中每個所述子網(wǎng)管理器駐留在網(wǎng)絡(luò)交換機(jī)上。在一些實(shí)施例中,所述系統(tǒng)進(jìn)一步包括與多個管理節(jié)點(diǎn)連接的單獨(dú)的存儲系統(tǒng)。在一些實(shí)施例中,所述系統(tǒng)進(jìn)一步包括與多個管理節(jié)點(diǎn)連接的多個主機(jī)服務(wù)器。在一些實(shí)施例中,所述系統(tǒng)進(jìn)一步包括能夠由客戶機(jī)訪問的一個或多個網(wǎng)關(guān)實(shí)例。在一些實(shí)施例中,所述系統(tǒng)進(jìn)一步包括多個策略守護(hù)進(jìn)程,其中每個所述策略守護(hù)進(jìn)程與子網(wǎng)管理器相關(guān)聯(lián)。在一些實(shí)施例中,與主子網(wǎng)管理器并置的所述策略守護(hù)進(jìn)程負(fù)責(zé)使用一個或多個策略配置和管理中間件機(jī)器環(huán)境。在一些實(shí)施例中,所述主子網(wǎng)管理器操作來對于已經(jīng)操作的節(jié)點(diǎn)保持當(dāng)前劃分成員資格不變,并且僅僅保證對于新的管理節(jié)點(diǎn)設(shè)置預(yù)定義的劃分。在一些實(shí)施例中,子網(wǎng)管理器操作來在劃分策略已被對于所述管理節(jié)點(diǎn)完全同步時,利用劃分策略中定義的完全劃分成員資格完全初始化所有末端節(jié)點(diǎn)。在另一個方面,提供一種用于在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化的系統(tǒng),包括:多個管理節(jié)點(diǎn),在中間件機(jī)器環(huán)境中互連;多個子網(wǎng)管理器,與多個管理節(jié)點(diǎn)相關(guān)聯(lián),其中多個管理節(jié)點(diǎn)使得多個子網(wǎng)管理器能夠使用帶內(nèi)通信協(xié)議彼此通信,其中多個子網(wǎng)管理器彼此協(xié)商并且推選一個子網(wǎng)管理器作為主子網(wǎng)管理器,以及其中所述主子網(wǎng)管理器操作來使用帶內(nèi)通信協(xié)議將一個或多個子網(wǎng)初始化策略復(fù)制到中間件機(jī)器環(huán)境中的其它子網(wǎng)管理器,并且基于所述一個或多個子網(wǎng)初始化策略設(shè)置中間件機(jī)器環(huán)境中的多個客戶端節(jié)點(diǎn)。附圖說明圖1示出了根據(jù)本發(fā)明的實(shí)施例的用于中間件機(jī)器的示范性配置的例示。圖2示出了根據(jù)本發(fā)明的實(shí)施例的中間件機(jī)器環(huán)境的例示。圖3示出了根據(jù)本發(fā)明的實(shí)施例的用于在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化的例示。圖4示出了根據(jù)本發(fā)明的實(shí)施例的用于在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化的示范性流程圖。圖5示出了根據(jù)本發(fā)明的實(shí)施例的具有不同的劃分組的中間件機(jī)器環(huán)境的例示。圖6示出了根據(jù)如上所述的本發(fā)明的一些實(shí)施例的中間件機(jī)器環(huán)境中的子網(wǎng)管理器的說明性的功能框圖。圖7示出了根據(jù)本發(fā)明的一些實(shí)施例的用于在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化的系統(tǒng)的說明性的功能框圖。具體實(shí)施方式這里描述的是用于提供中間件機(jī)器或相似的平臺的系統(tǒng)和方法。根據(jù)本發(fā)明的實(shí)施例,該系統(tǒng)包括高性能硬件(例如,64位處理器技術(shù)、高性能大容量存儲器和冗余無限帶寬和以太網(wǎng)聯(lián)網(wǎng))與諸如WebLogic套件之類的應(yīng)用服務(wù)器或中間件環(huán)境的組合,以提供完整的JavaEE應(yīng)用服務(wù)器聯(lián)合體,該JavaEE應(yīng)用服務(wù)器聯(lián)合體包括整體上并行的存儲器內(nèi)網(wǎng)格,可以被快速提供,并且可以根據(jù)需要縮放。根據(jù)本發(fā)明的實(shí)施例,該系統(tǒng)可以被布置為完全的、一半或四分之一機(jī)架,或其它配置,這些配置提供應(yīng)用服務(wù)器網(wǎng)格、存儲區(qū)域網(wǎng)絡(luò)和無限帶寬(IB)網(wǎng)絡(luò)。中間件機(jī)器軟件可以提供應(yīng)用服務(wù)器、中間件和諸如例如WebLogicServer、JRockit或HotspotJVM、OracleLinux或Solaris和OracleVM之類的其它功能。根據(jù)本發(fā)明的實(shí)施例,該系統(tǒng)可以包括經(jīng)由IB網(wǎng)絡(luò)彼此通信的多個計(jì)算節(jié)點(diǎn)、一個或多個IB交換機(jī)網(wǎng)關(guān)和存儲節(jié)點(diǎn)或單元。當(dāng)被實(shí)現(xiàn)為機(jī)架配置時,機(jī)架的不使用的部分可以保持為空或被填充物占據(jù)。根據(jù)本發(fā)明的實(shí)施例,這里稱為“SunOracleExalogic”或“Exalogic”的系統(tǒng)是對于容納諸如OracleMiddlewareSW套件或Weblogic之類的中間件或應(yīng)用服務(wù)器軟件的容易布置的解決方案。如這里所述,根據(jù)實(shí)施例,系統(tǒng)是“盒裝網(wǎng)格(gridinabox)”,其包括一個或多個服務(wù)器、存儲單元、用于存儲聯(lián)網(wǎng)的IB結(jié)構(gòu)、以及容納中間件應(yīng)用所需的所有其它組件。顯著的性能可以通過使用例如RealApplicationClusters和ExalogicOpen存儲器來平衡整體上并行的網(wǎng)格架構(gòu)而對于所有類型的中間件應(yīng)用分發(fā)。該系統(tǒng)利用線性I/O可伸縮性分發(fā)改善的性能、使用和管理起來簡單、并且分發(fā)對任務(wù)關(guān)鍵的可用性和可靠性。圖1示出了根據(jù)本發(fā)明的實(shí)施例的用于中間件機(jī)器的示范性配置的例示。如圖1所示,中間件機(jī)器100使用單個機(jī)架配置,其包括兩個網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)或連接到二十八個服務(wù)器節(jié)點(diǎn)的葉子網(wǎng)絡(luò)交換機(jī)102和103。另外,可以存在對于中間件機(jī)器的不同的配置。例如,可以存在一半機(jī)架配置,其包含服務(wù)器節(jié)點(diǎn)的一部分,并且也可以存在多機(jī)架配置,其包含大量服務(wù)器。如圖1所示,服務(wù)器節(jié)點(diǎn)可以連接到由網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)提供的端口。如圖1所示,每個服務(wù)器機(jī)器可以具有單獨(dú)地到兩個網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)102和103的連接。例如,網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)102連接到服務(wù)器1-14106的端口1和服務(wù)器15-28107的端口2,并且網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)103連接到服務(wù)器1-14108的端口2和服務(wù)器15-28109的端口1。根據(jù)本發(fā)明的實(shí)施例,每個網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)可以具有用于與不同的服務(wù)器連接的多個內(nèi)部端口,并且網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)也可以具有用于與諸如現(xiàn)有數(shù)據(jù)中心服務(wù)網(wǎng)絡(luò)之類的外部網(wǎng)絡(luò)連接的外部端口。根據(jù)本發(fā)明的實(shí)施例,中間件機(jī)器可以包括通過網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)連接到服務(wù)器的單獨(dú)的存儲系統(tǒng)110。另外,中間件機(jī)器可以包括連接到兩個網(wǎng)關(guān)網(wǎng)絡(luò)交換機(jī)102和103的干線網(wǎng)絡(luò)交換機(jī)101。如圖1所示,可以可選地存在從存儲系統(tǒng)到干線網(wǎng)絡(luò)交換機(jī)的兩個鏈路。IB結(jié)構(gòu)/子網(wǎng)根據(jù)本發(fā)明的實(shí)施例,中間件機(jī)器環(huán)境中的IB結(jié)構(gòu)/子網(wǎng)可以包含以胖樹狀拓?fù)浠ミB的大量物理主機(jī)或服務(wù)器、交換機(jī)實(shí)例和網(wǎng)關(guān)實(shí)例。圖2示出了根據(jù)本發(fā)明的實(shí)施例的中間件機(jī)器環(huán)境的例示。如圖2所示,中間件機(jī)器環(huán)境200包括與多個末端節(jié)點(diǎn)連接的IB子網(wǎng)或結(jié)構(gòu)220。IB子網(wǎng)包括多個子網(wǎng)管理器211-214,每個子網(wǎng)管理器駐留在多個網(wǎng)絡(luò)交換機(jī)201-204中的一個上。子網(wǎng)管理器可以使用帶內(nèi)通信協(xié)議210彼此通信,帶內(nèi)通信協(xié)議諸如基于管理數(shù)據(jù)報(MAD)/子網(wǎng)管理分組(SMP)的協(xié)議或諸如基于IB的互聯(lián)網(wǎng)協(xié)議(IPolB)之類的其它協(xié)議。根據(jù)本發(fā)明的實(shí)施例,可以在IB結(jié)構(gòu)上構(gòu)造單個IP子網(wǎng),IB結(jié)構(gòu)使得交換機(jī)在相同的IB結(jié)構(gòu)中彼此安全地通信(即,所有交換機(jī)之間的完全連接)。當(dāng)在兩個交換機(jī)之間存在具有操作鏈路的至少一個路線時,基于該結(jié)構(gòu)的IP子網(wǎng)可以提供任何一對交換機(jī)之間的連接。如果通過重新路由而存在可替換的路線,則可以實(shí)現(xiàn)從鏈路故障的恢復(fù)。交換機(jī)的管理以太網(wǎng)接口可以連接到提供所有交換機(jī)之間的IP級別的連接的單個網(wǎng)絡(luò)。每個交換機(jī)可以由兩個主要IP地址標(biāo)識:一個用于外部管理以太網(wǎng)并且一個用于基于該結(jié)構(gòu)的IP子網(wǎng)。每個交換機(jī)可以使用兩個IP地址監(jiān)視到所有其它交換機(jī)的連接,并且可以使用任一操作地址用于通信。另外,每個交換機(jī)可以具有到該結(jié)構(gòu)上的每個直接連接的交換機(jī)的點(diǎn)對點(diǎn)IP鏈路。因此,可以存在至少一個附加的IP地址。IP路由設(shè)置使得網(wǎng)絡(luò)交換機(jī)能夠使用該結(jié)構(gòu)的IP子網(wǎng)、外部管理以太網(wǎng)網(wǎng)絡(luò)和交換機(jī)對之間的一個或多個結(jié)構(gòu)級別的點(diǎn)對點(diǎn)IP鏈路的組合經(jīng)由中間交換機(jī)將業(yè)務(wù)路由到另一個交換機(jī)。IP路由使得對網(wǎng)絡(luò)交換機(jī)的外部管理訪問能夠經(jīng)由網(wǎng)絡(luò)交換機(jī)上的外部以太網(wǎng)端口以及通過該結(jié)構(gòu)上的專用路由服務(wù)來路由。IB結(jié)構(gòu)包括具有對管理網(wǎng)絡(luò)的管理以太網(wǎng)訪問的多個網(wǎng)絡(luò)交換機(jī)。存在該結(jié)構(gòu)中的交換機(jī)之間的帶內(nèi)物理連接。在一個示例中,當(dāng)IB結(jié)構(gòu)不退化時,在每一對交換機(jī)之間存在一個或多個跳的至少一個帶內(nèi)路由。對于IB結(jié)構(gòu)的管理節(jié)點(diǎn)包括連接到IB結(jié)構(gòu)的網(wǎng)絡(luò)交換機(jī)和管理主機(jī)。子網(wǎng)管理器可以經(jīng)由它的私有IP地址中的任何一個被訪問。子網(wǎng)管理器也可以經(jīng)由浮動IP地址訪問,當(dāng)子網(wǎng)管理器起主子網(wǎng)管理器的作用時,浮動IP地址被配置用于主子網(wǎng)管理器,并且當(dāng)子網(wǎng)管理器被從該角色明確地釋放時,子網(wǎng)管理器被解配置??梢詫τ谕獠抗芾砭W(wǎng)絡(luò)以及對于基于該結(jié)構(gòu)的管理IP網(wǎng)絡(luò)二者定義主IP地址。對于點(diǎn)對點(diǎn)IP鏈路,不需要定義特殊的主IP地址。根據(jù)本發(fā)明的實(shí)施例,可以使用基于虛擬機(jī)的客戶機(jī)將每個物理主機(jī)虛擬化??梢悦總€物理主機(jī)同時存在多個客戶機(jī),例如每個CPU核一個客戶機(jī)。另外,每個物理主機(jī)可以具有至少一個雙端口主機(jī)通道適配器(HCA),其可以被虛擬化并且在客戶機(jī)之間共享,以使得虛擬化的HCA的結(jié)構(gòu)圖是單個雙端口HCA,正如非虛擬化的/共享的HCA一樣。IB結(jié)構(gòu)可以分為由IB劃分實(shí)現(xiàn)的動態(tài)集的資源域。IB結(jié)構(gòu)中的每個物理主機(jī)和每個網(wǎng)關(guān)實(shí)例可以是多個劃分的成員。此外,相同的或不同的物理主機(jī)上的多個客戶機(jī)可以是相同的或不同的劃分的成員。對于IB結(jié)構(gòu)的IB劃分的數(shù)目可以由P_Key表大小限制。根據(jù)本發(fā)明的實(shí)施例,客戶機(jī)可以開啟直接從客戶機(jī)中的vNIC驅(qū)動器訪問的兩個或更多個網(wǎng)關(guān)實(shí)例上的一組虛擬網(wǎng)絡(luò)接口卡(vNIC)??蛻魴C(jī)可以在物理主機(jī)之間遷移同時保持或具有更新的vNIC伙伴。根據(jù)本發(fā)明的實(shí)施例,交換機(jī)可以按照任何順序啟動并且可以根據(jù)例如IB指定的協(xié)商協(xié)議之類的不同的協(xié)商協(xié)議動態(tài)地選擇主子網(wǎng)管理器。如果沒有指定劃分策略,則可以使用默認(rèn)的使能劃分的策略。另外,可以獨(dú)立于任何附加的策略信息并且獨(dú)立于主子網(wǎng)管理器是否知道完整的結(jié)構(gòu)策略,來建立管理節(jié)點(diǎn)劃分和基于結(jié)構(gòu)的管理IP子網(wǎng)。為了使得使用基于該結(jié)構(gòu)的IP子網(wǎng)同步結(jié)構(gòu)級別的配置策略信息,子網(wǎng)管理器可以最初使用默認(rèn)劃分策略啟動。當(dāng)已經(jīng)實(shí)現(xiàn)結(jié)構(gòu)級別的同步時,對于結(jié)構(gòu)當(dāng)前的劃分配置可以由主子網(wǎng)管理器安裝。部分子網(wǎng)初始化根據(jù)本發(fā)明的實(shí)施例,能夠在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化。中間件機(jī)器環(huán)境中的多個管理節(jié)點(diǎn)能夠互連以使得與多個管理節(jié)點(diǎn)相關(guān)聯(lián)的多個子網(wǎng)管理器能夠使用帶內(nèi)通信協(xié)議彼此通信。多個子網(wǎng)管理器能夠協(xié)商和推選主子網(wǎng)管理器,主子網(wǎng)管理器操作來配置和管理中間件機(jī)器環(huán)境。主子網(wǎng)管理器能夠使用帶內(nèi)通信協(xié)議將一個或多個子網(wǎng)初始化策略復(fù)制到中間件機(jī)器環(huán)境中的其它子網(wǎng)管理器。主子網(wǎng)管理器然后基于一個或多個子網(wǎng)初始化策略設(shè)置中間件機(jī)器環(huán)境中的多個客戶端節(jié)點(diǎn)。圖3示出了根據(jù)本發(fā)明的實(shí)施例的用于在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化的例示。如圖3所示,中間件機(jī)器環(huán)境300包括管理多個客戶端節(jié)點(diǎn)或末端節(jié)點(diǎn)的IB子網(wǎng)或結(jié)構(gòu)320。IB子網(wǎng)包括多個管理節(jié)點(diǎn)301-304,其保持與多個配置守護(hù)進(jìn)程311-314相關(guān)聯(lián)的多個子網(wǎng)管理器321-324。管理節(jié)點(diǎn)能夠是網(wǎng)絡(luò)交換機(jī)或預(yù)定義的主機(jī)服務(wù)器。子網(wǎng)管理器能夠使用諸如基于無限帶寬的互聯(lián)網(wǎng)協(xié)議(IPolB)之類的帶內(nèi)通信協(xié)議310彼此通信。根據(jù)本發(fā)明的實(shí)施例,系統(tǒng)能夠提供多個策略守護(hù)進(jìn)程311-314,每個策略守護(hù)進(jìn)程與子網(wǎng)管理器321-324相關(guān)聯(lián)。在如圖3所示的示例中,與主子網(wǎng)管理器301并置的策略守護(hù)進(jìn)程311負(fù)責(zé)使用一個或多個策略配置和管理中間件機(jī)器環(huán)境中的末端節(jié)點(diǎn)。由中間件機(jī)器環(huán)境中的策略守護(hù)進(jìn)程管理的一個示范性策略能夠是劃分配置策略。例如,包括末端節(jié)點(diǎn)A、B和C的中間件機(jī)器環(huán)境能夠被分成兩個組:包括節(jié)點(diǎn)A和B的組I和包括節(jié)點(diǎn)C的組II。劃分配置策略能夠定義如下劃分更新:在將節(jié)點(diǎn)B增加到組II中之前需要從組I刪除節(jié)點(diǎn)B。此劃分配置策略可以要求主子網(wǎng)管理器在不首先從組I刪除節(jié)點(diǎn)B的情況下不會使得新的劃分將節(jié)點(diǎn)B增加到組II中。此劃分配置策略可以由主子網(wǎng)管理器使用策略守護(hù)進(jìn)程來執(zhí)行。帶內(nèi)通信連接除了中間件機(jī)器環(huán)境中的以太網(wǎng)聯(lián)網(wǎng)之外,還提供通信冗余。系統(tǒng)可以利用中間件機(jī)器環(huán)境提供的通信冗余并且使用配置之下的IB子網(wǎng)作為用于分布結(jié)構(gòu)初始化策略的管理網(wǎng)絡(luò)以便完全配置中間件機(jī)器環(huán)境。根據(jù)本發(fā)明的實(shí)施例,IB子網(wǎng)中的子網(wǎng)管理器可以首先彼此協(xié)商并且推選負(fù)責(zé)配置和管理中間件機(jī)器環(huán)境的主子網(wǎng)管理器321。在初始化策略事務(wù)309的上下文內(nèi),主子網(wǎng)管理器可以使用帶內(nèi)通信協(xié)議將配置守護(hù)進(jìn)程中的一個或多個結(jié)構(gòu)初始化策略復(fù)制到中間件機(jī)器環(huán)境中的其它主子網(wǎng)管理器候選者322-324。然后,主子網(wǎng)管理器可以基于一個或多個子網(wǎng)初始化策略設(shè)置中間件機(jī)器環(huán)境中的多個末端節(jié)點(diǎn)。根據(jù)本發(fā)明的實(shí)施例,每個管理節(jié)點(diǎn)可以使用以太網(wǎng)網(wǎng)絡(luò)連接330與中間件機(jī)器環(huán)境之內(nèi)的諸如主機(jī)服務(wù)器之類的一個或多個客戶端節(jié)點(diǎn)或末端節(jié)點(diǎn)連接。網(wǎng)絡(luò)交換機(jī)可以是直接與末端節(jié)點(diǎn)通信的葉子交換機(jī)或通過葉子交換機(jī)與末端節(jié)點(diǎn)通信的干線交換機(jī)。網(wǎng)絡(luò)交換機(jī)可以經(jīng)由網(wǎng)絡(luò)交換機(jī)的交換機(jī)端口和主機(jī)服務(wù)器的主機(jī)端口與主機(jī)服務(wù)器通信。在IB網(wǎng)絡(luò)中,可以定義劃分以指定哪些末端端口能夠與其它末端端口通信。中間件機(jī)器環(huán)境可以采用胖樹狀拓?fù)?,其允許少量交換機(jī)位于胖樹的頂層而保持大量末端節(jié)點(diǎn)作為樹的葉子。圖4示出了根據(jù)本發(fā)明的實(shí)施例的用于在中間件機(jī)器環(huán)境中執(zhí)行子網(wǎng)初始化的示范性流程圖。如圖4所示,在步驟401,多個管理節(jié)點(diǎn)能夠在中間件機(jī)器環(huán)境中互連以使得與管理節(jié)點(diǎn)相關(guān)聯(lián)的多個子網(wǎng)管理器能夠使用帶內(nèi)通信協(xié)議彼此通信。在步驟402,多個子網(wǎng)管理器可以首先在彼此之間協(xié)商并且推選主子網(wǎng)管理器。主子網(wǎng)管理器負(fù)責(zé)配置和管理中間件機(jī)器環(huán)境。此外,在步驟403,主子網(wǎng)管理器能夠使用帶內(nèi)通信協(xié)議將一個或多個子網(wǎng)初始化策略復(fù)制到中間件機(jī)器環(huán)境中的其它子網(wǎng)管理器。然后,在步驟404,主子網(wǎng)管理器可以基于一個或多個子網(wǎng)初始化策略設(shè)置中間件機(jī)器環(huán)境中的多個客戶端節(jié)點(diǎn)。利用劃分配置策略的子網(wǎng)初始化圖5示出了根據(jù)本發(fā)明的實(shí)施例的具有不同的劃分組的中間件機(jī)器環(huán)境的例示。如圖5所示,一個或多個劃分策略519可以定義中間件機(jī)器環(huán)境500中的劃分配置??梢酝ㄟ^初始化策略事務(wù)509將一個或多個劃分策略提供給中間件機(jī)器環(huán)境。作為劃分配置的結(jié)果,中間件機(jī)器環(huán)境可以分為三個單獨(dú)的劃分組:劃分A531、劃分B532和劃分C533。每個劃分組可以與唯一的劃分密鑰相關(guān)聯(lián)并且可以使用單獨(dú)的連接541-543在邏輯上連接到IB子網(wǎng)520。根據(jù)本發(fā)明的實(shí)施例,位于IB網(wǎng)絡(luò)中的網(wǎng)絡(luò)交換機(jī)處的子網(wǎng)管理器可以經(jīng)由網(wǎng)絡(luò)交換機(jī)的交換機(jī)端口和主機(jī)服務(wù)器的主機(jī)端口與主機(jī)服務(wù)器通信??梢远x劃分以指定哪些末端端口能夠彼此通信。IB劃分可以由十六位數(shù)字值的P_Key定義,其中較低的十五位定義劃分?jǐn)?shù)目,并且最高位定義相關(guān)的端口是該劃分中的完全成員還是受限成員。受限成員只能夠與完全成員通信,而完全成員可以在它們自己之間通信以及與相同劃分的任何受限成員通信。每個末端端口可以是至少一個劃分的成員以便能夠與任何其它末端端口通信(即,在IB傳輸協(xié)議中,P_Key字段的使用不是可選的)。對于交換機(jī)端口,劃分執(zhí)行是由子網(wǎng)管理器控制的可選特征。子網(wǎng)管理器通過更新相關(guān)末端端口和交換機(jī)端口的劃分表來控制劃分成員資格。如果用于該結(jié)構(gòu)或特定主機(jī)的信賴模型暗示主機(jī)或主機(jī)管理員可能不完全遵循子網(wǎng)管理器已經(jīng)定義的劃分,則可以使用基于交換機(jī)的執(zhí)行以使得交換機(jī)輸入/輸出端口可以執(zhí)行與子網(wǎng)管理器對于對應(yīng)的主機(jī)端口已經(jīng)設(shè)置的限制相同的限制。端口可以表示的劃分的數(shù)目是作為端口屬性反映到子網(wǎng)管理器的硬件實(shí)現(xiàn)參數(shù)(例如,在16-64/128范圍中)。因此,雖然可以具有高達(dá)32K個對于結(jié)構(gòu)定義的各個P_Key值,但是每個端口可以是有限子集的成員,并且對于直接連接到末端端口的交換機(jī)結(jié)構(gòu)輸入/輸出端口使能劃分的交換機(jī)執(zhí)行。默認(rèn)劃分密鑰(OxFFFF-完全或0x7FFF-有限)可以通過技術(shù)規(guī)范預(yù)留并且用于訪問子網(wǎng)管理器(默認(rèn))。在使用劃分執(zhí)行的系統(tǒng)中,末端節(jié)點(diǎn)是默認(rèn)劃分的有限的成員,以便能夠與子網(wǎng)管理器通信。如果不使用劃分執(zhí)行,則末端節(jié)點(diǎn)是默認(rèn)劃分的完全成員。零值可以被預(yù)留并且用于表示無效的P_Key值。為了在基于該結(jié)構(gòu)的子網(wǎng)當(dāng)中同步結(jié)構(gòu)級別的配置策略信息,主子網(wǎng)管理器可以最初使用默認(rèn)劃分策略啟動。當(dāng)結(jié)構(gòu)級別的同步已被實(shí)現(xiàn)時,主子網(wǎng)管理器可以接著在中間件機(jī)器環(huán)境中安裝劃分配置。根據(jù)本發(fā)明的實(shí)施例,對于僅僅是默認(rèn)劃分的受限成員的末端節(jié)點(diǎn)使用默認(rèn)配置,這使得在可以實(shí)現(xiàn)正確的當(dāng)前劃分策略之前在末端節(jié)點(diǎn)之間沒有非法的通信。主子網(wǎng)管理器可以設(shè)置管理節(jié)點(diǎn)作為預(yù)定義的劃分的完全成員,由此使得策略守護(hù)進(jìn)程使用IPolB通信,以使得當(dāng)前動態(tài)劃分策略的復(fù)制/同步可以經(jīng)由IB結(jié)構(gòu)發(fā)生。然而,這樣的強(qiáng)迫末端節(jié)點(diǎn)變?yōu)槟J(rèn)劃分的僅僅受限成員的方案具有如下缺點(diǎn):當(dāng)在當(dāng)前主子網(wǎng)管理器接管子網(wǎng)時該結(jié)構(gòu)對于末端節(jié)點(diǎn)之間的正在進(jìn)行的通信已經(jīng)操作時,中斷了現(xiàn)有通信。根據(jù)本發(fā)明的實(shí)施例,為了避免正在進(jìn)行的合法的通信的中斷,并且為了在策略守護(hù)進(jìn)程已經(jīng)能夠同步之前在所有指定的管理節(jié)點(diǎn)之間提供基于IPolB的通信,新的子網(wǎng)管理器可以對于已經(jīng)操作的節(jié)點(diǎn)保持當(dāng)前劃分成員資格不變并且可以保證對于管理節(jié)點(diǎn)僅僅設(shè)置預(yù)定義的劃分。當(dāng)前不操作的非管理節(jié)點(diǎn)可以不被初始化(即,需要從主子網(wǎng)管理器的初始化)?;蚩商鎿Q地,非管理節(jié)點(diǎn)可以僅僅被設(shè)置具有默認(rèn)劃分中的受限成員資格。然后,當(dāng)當(dāng)前劃分策略已被完全同步時,所有末端節(jié)點(diǎn)可以被完全初始化為具有當(dāng)前劃分策略定義的完全劃分成員資格。由于任何當(dāng)前主子網(wǎng)管理器可以初始化IB結(jié)構(gòu)以遵照當(dāng)前劃分策略,并且主子網(wǎng)管理器的故障可以將結(jié)構(gòu)保持在它被完全初始化的狀態(tài)下或處于當(dāng)前策略已被部分實(shí)現(xiàn)的狀態(tài)下,因此上述方案可以是有用的。這包括舊的主子網(wǎng)管理器在它完全去掉由舊的策略定義而在新的策略中不存在的成員資格之前發(fā)生故障的情況。根據(jù)本發(fā)明的實(shí)施例,策略守護(hù)進(jìn)程之間的復(fù)制和同步可以保證法定數(shù)目或大多數(shù)的主子網(wǎng)管理器候選者在經(jīng)歷任何變化之前被更新為新的策略。然后,實(shí)際的去掉舊的劃分成員資格并且添加新的成員資格可以由單個當(dāng)前主子網(wǎng)管理器完全地實(shí)現(xiàn),或者由兩個或更多個主子網(wǎng)管理器實(shí)例在兩個或更多個部分步驟中實(shí)現(xiàn),作為子網(wǎng)中控制權(quán)的故障轉(zhuǎn)移(fail-over)或移交的結(jié)果。每個這樣的部分步驟可以或可以不改變IB子網(wǎng)的任何狀態(tài)但是可以保證不引入任何中間狀態(tài),所述中間狀態(tài)在沒有混合兩個版本的任何策略的機(jī)會的情況下既不是由舊的策略定義的成員資格的子集也不是新的策略的子集。此外,在一個或多個故障轉(zhuǎn)移或移交事件的情況下,新的主子網(wǎng)管理器可以不取消由前一主子網(wǎng)管理器執(zhí)行的操作,而是可以從基于新的主子網(wǎng)管理器動態(tài)地發(fā)現(xiàn)的IB子網(wǎng)的當(dāng)前策略和當(dāng)前狀態(tài)的相關(guān)的下一步驟開始。根據(jù)一些實(shí)施例,圖6示出了在中間件機(jī)器環(huán)境中根據(jù)如上所述的本發(fā)明的原理配置的子網(wǎng)管理器600的說明性的功能框圖,圖7示出了根據(jù)如上所述的本發(fā)明的原理配置的子網(wǎng)初始化系統(tǒng)700的說明性的功能框圖,包括多個管理節(jié)點(diǎn)702,每個管理節(jié)點(diǎn)包括如圖6所示的子網(wǎng)管理器600。子網(wǎng)管理器和子網(wǎng)初始化系統(tǒng)的功能塊可以由硬件、軟件或硬件和軟件的組合實(shí)現(xiàn)以執(zhí)行本發(fā)明的原理。本領(lǐng)域技術(shù)人員將理解,圖6和7中描述的功能塊可以被組合或分成子塊以實(shí)現(xiàn)如上所述的本發(fā)明的原理。因此,這里的描述可以支持這里描述的功能塊的任何可能的組合或分離或者進(jìn)一步定義。如圖6所示,子網(wǎng)管理器600可以包括通信模塊602、推選模塊604、復(fù)制模塊606和設(shè)置模塊608。通信模塊603可以被配置為使用帶內(nèi)通信協(xié)議與其它子網(wǎng)管理器通信。推選模塊604可以被配置為與其它子網(wǎng)管理器協(xié)商并且推選主子網(wǎng)管理器。復(fù)制模塊606可以被配置為,響應(yīng)于子網(wǎng)管理器600被推選為主子網(wǎng)管理器,使用帶內(nèi)通信協(xié)議將一個或多個子網(wǎng)初始化策略復(fù)制到中間件機(jī)器環(huán)境中的其它子網(wǎng)管理器。設(shè)置模塊608可以被配置為,響應(yīng)于子網(wǎng)管理器600被推選為主子網(wǎng)管理器,基于一個或多個子網(wǎng)初始化策略設(shè)置中間件機(jī)器環(huán)境中的多個客戶端節(jié)點(diǎn)。在一些實(shí)施例中,帶內(nèi)通信協(xié)議可以除了中間件機(jī)器環(huán)境中的以太網(wǎng)聯(lián)網(wǎng)之外,還提供通信冗余。在一些實(shí)施例中,一個或多個劃分策略可以定義中間件機(jī)器環(huán)境中的劃分配置,并且一個或多個劃分策略可以通過諸如圖5中的初始化策略事務(wù)509之類的初始化策略事務(wù)提供給中間件機(jī)器環(huán)境。在一些實(shí)施例中,子網(wǎng)管理器600可以可選地包括初始化模塊610。初始化模塊610可以被配置為,響應(yīng)于子網(wǎng)管理器600被推選為主子網(wǎng)管理器,在沒有指定劃分策略時使用默認(rèn)劃分策略用于初始化。在一些實(shí)施例中,子網(wǎng)管理器600可以可選地包括同步模塊612。同步模塊612可以被配置為,響應(yīng)于子網(wǎng)管理器600被推選為主子網(wǎng)管理器,最初使用默認(rèn)劃分策略進(jìn)行啟動來同步結(jié)構(gòu)級別的配置策略,并且在結(jié)構(gòu)級別的同步已被實(shí)現(xiàn)時,接著在中間件機(jī)器環(huán)境中安裝劃分配置。如圖7所示,子網(wǎng)初始化系統(tǒng)700可以包括多個管理節(jié)點(diǎn)702。每個管理節(jié)點(diǎn)702可以包括如圖6所示的子網(wǎng)管理器600,并且管理節(jié)點(diǎn)702可以在中間件機(jī)器環(huán)境中互連。應(yīng)當(dāng)注意,雖然子網(wǎng)管理器600在圖7中被示出為包括在管理節(jié)點(diǎn)702中,但是它可以另外與管理節(jié)點(diǎn)702相關(guān)聯(lián)。例如,子網(wǎng)管理器600可以在物理上與管理節(jié)點(diǎn)702分離并且通過相關(guān)的管理節(jié)點(diǎn)與其它子網(wǎng)管理器通信。多個管理節(jié)點(diǎn)702可以是無限帶寬(IB)子網(wǎng)的一部分。在一些實(shí)施例中,雖然在圖7中未示出,但是多個管理節(jié)點(diǎn)702可以包括一個或多個網(wǎng)絡(luò)交換機(jī),其中每個子網(wǎng)管理器駐留在網(wǎng)絡(luò)交換機(jī)上。在一些實(shí)施例中,子網(wǎng)初始化系統(tǒng)700可以可選地包括單獨(dú)的存儲系統(tǒng)704。雖然未示出,但是存儲系統(tǒng)704可以與管理節(jié)點(diǎn)702連接。在一些實(shí)施例中,子網(wǎng)初始化系統(tǒng)700可以可選地包括多個主機(jī)服務(wù)器706。雖然未示出,但是主機(jī)服務(wù)器706可以與管理節(jié)點(diǎn)702連接。在一些實(shí)施例中,子網(wǎng)初始化系統(tǒng)700可以可選地能夠由客戶機(jī)訪問的一個或多個網(wǎng)關(guān)實(shí)例708。并且在一些實(shí)施例中,子網(wǎng)初始化系統(tǒng)700可以可選地包括多個策略守護(hù)進(jìn)程710,其中每個所述策略守護(hù)進(jìn)程710與子網(wǎng)管理器600相關(guān)聯(lián)。與主子網(wǎng)管理器并置的策略守護(hù)進(jìn)程710可以負(fù)責(zé)使用一個或多個策略配置和管理中間件機(jī)器環(huán)境。應(yīng)當(dāng)注意,雖然網(wǎng)關(guān)實(shí)例708和策略守護(hù)進(jìn)程710在圖7中被顯示為與管理節(jié)點(diǎn)702分開的部件,但是它們也可以被布置在或駐留在管理節(jié)點(diǎn)702上。在一些實(shí)施例中,子網(wǎng)初始化系統(tǒng)700中的主子網(wǎng)管理器可以操作來對于已經(jīng)操作的節(jié)點(diǎn)保持當(dāng)前劃分成員資格不變,并且僅僅保證對于新的管理節(jié)點(diǎn)設(shè)置預(yù)定義的劃分。可替換地,此操作可以由主子網(wǎng)管理器的特殊的模塊或由參考圖6描述的模塊602-612中的一個執(zhí)行。在一些實(shí)施例中,當(dāng)劃分策略對于管理節(jié)點(diǎn)702已被完全同步時,子網(wǎng)初始化系統(tǒng)700中的子網(wǎng)管理器600可以操作來將所有末端節(jié)點(diǎn)完全初始化為具有在劃分策略中定義的完全劃分成員資格??商鎿Q地,此操作可以由子網(wǎng)管理器600的特殊的模塊或由參考圖6描述的模塊602-612中的一個執(zhí)行??梢允褂靡粋€或多個傳統(tǒng)的通用或?qū)iT數(shù)字計(jì)算機(jī)、計(jì)算設(shè)備、機(jī)器或微處理器方便地實(shí)現(xiàn)本發(fā)明,包括一個或多個處理器、存儲器和/或根據(jù)本公開的教導(dǎo)編程的計(jì)算機(jī)可讀存儲介質(zhì)。合適的軟件編碼能夠容易地由熟練的程序員基于本公開的教導(dǎo)來準(zhǔn)備,這對軟件領(lǐng)域的技術(shù)人員將是明顯的。在一些實(shí)施例中,本發(fā)明包括計(jì)算機(jī)程序產(chǎn)品,其是上面或其中存儲指令的存儲介質(zhì)或計(jì)算機(jī)可讀介質(zhì)(介質(zhì)),指令可以用于編程計(jì)算機(jī)來執(zhí)行本發(fā)明的處理中的任何一個。存儲介質(zhì)能夠包括以下中的一個或多個:任何類型的盤,包括軟盤、光盤、DVD、CD-ROM、微驅(qū)動器、和磁光盤、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、閃速存儲器件、磁或光卡、納米系統(tǒng)(包括分子記憶IC)或適合于存儲指令和/或數(shù)據(jù)的任何類型的介質(zhì)或設(shè)備,但是不局限于此。本發(fā)明的上面的描述是為了說明和描述的目的而提供的。它不意欲是窮舉的或?qū)⒈景l(fā)明限制于公開的精確的形式。許多修改和變化能夠?qū)Ρ绢I(lǐng)域的實(shí)踐者是明顯的。選擇并且描述實(shí)施例以便最佳地說明本發(fā)明的原理和它的實(shí)際應(yīng)用,從而使得本領(lǐng)域技術(shù)人員能夠理解用于各個實(shí)施例中的并且具有適合于預(yù)期的特定使用的各種修改的本發(fā)明。預(yù)期本發(fā)明的范圍由以下權(quán)利要求書和它們的等價物定義。