專利名稱:用于在集群系統(tǒng)的網(wǎng)絡(luò)故障期間最大化連通性的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算系統(tǒng),尤其涉及用于在網(wǎng)絡(luò)集群系統(tǒng)中發(fā)生網(wǎng)絡(luò)故障之后,最大化網(wǎng)絡(luò)連通性的系統(tǒng)和方法。
背景技術(shù):
如今,計(jì)算系統(tǒng)對(duì)于很多企業(yè)的成功變得越來越重要。由于計(jì)算機(jī)系統(tǒng)及其相關(guān)網(wǎng)絡(luò)設(shè)施變得更為重要,這種系統(tǒng)的可用性成為關(guān)鍵性的。企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)中和/或它們的網(wǎng)絡(luò)設(shè)施的故障可能給企業(yè)造成災(zāi)難性的損失。
適應(yīng)于提供計(jì)算機(jī)系統(tǒng)資源的高可用性和保護(hù)不受故障影響的計(jì)算設(shè)施的這種需求,提出了集群架構(gòu)。集群可以定義為多個(gè)松散耦合的網(wǎng)絡(luò)裝置,它們通過網(wǎng)絡(luò)合作以提供對(duì)服務(wù)、資源等的集合的客戶端訪問。集群中的成員可以用于提高訪問的可靠性和可用性。
很多集群架構(gòu)依賴于以某種時(shí)間間隔的成員之間的集群心跳消息(有時(shí)稱為保持活動(dòng)消息)的交換,該時(shí)間間隔可根據(jù)網(wǎng)絡(luò)上的分組丟失或類似因素而變化。集群可以利用這些保持活動(dòng)消息管理集群成員資格、分配工作、并檢測(cè)成員故障。如果在某個(gè)預(yù)定的超時(shí)期間沒有接收到來自集群的某個(gè)成員的這種保持活動(dòng)消息,該未響應(yīng)的集群成員可能就會(huì)被迫離開集群。
如果集群成員的網(wǎng)絡(luò)裝置出故障,或者類似的情況,這種響應(yīng)可能適合單個(gè)集群成員未能響應(yīng)的情況。然而,如果所有的集群成員都連接到諸如交換機(jī)、集線器、以及類似設(shè)備的同一網(wǎng)絡(luò)設(shè)備,并且該網(wǎng)絡(luò)設(shè)備發(fā)生了故障,就是說由于交換機(jī)、集線器的故障,那么所有的集群成員都可能離開該集群系統(tǒng)。這種行為可能導(dǎo)致到該集群系統(tǒng)所服務(wù)的所有剩余網(wǎng)絡(luò)的連通性的完全喪失。很不幸的是,作為解決方案的增加網(wǎng)絡(luò)設(shè)備冗余對(duì)于很多企業(yè)來說可能太昂貴。因此,在產(chǎn)業(yè)中存在對(duì)于高度可靠的集群基礎(chǔ)設(shè)施的需求。由此,本發(fā)明是關(guān)于這些以及其他考慮而提出的。
將參考以下圖示描述本發(fā)明的非限制和非詳盡實(shí)施例。在附圖中,除非另外指定,類似的附圖標(biāo)記表示貫穿各圖的類似部分。
為了更好的理解本發(fā)明,將對(duì)以下本發(fā)明的詳細(xì)描述進(jìn)行參考,本發(fā)明詳細(xì)描述將參照附圖而被閱讀,其中圖1舉例說明了其中運(yùn)行本發(fā)明的環(huán)境的一個(gè)實(shí)施例;圖2舉例說明了配置作為集群成員的網(wǎng)絡(luò)裝置的一個(gè)實(shí)施例的功能框圖;圖3A-3B舉例說明了通常展示集群建立過程的一個(gè)實(shí)施例的流程圖;圖4A-4E舉例說明了通常展示集群主機(jī)(cluster master)管理集群成員的過程的一個(gè)實(shí)施例的流程圖;以及圖5根據(jù)本發(fā)明的一個(gè)實(shí)施例,舉例說明了通常展示集群成員(客戶端)管理與集群主機(jī)的連通性通信的過程的一個(gè)實(shí)施例的流程圖。
具體實(shí)施例方式
現(xiàn)在將參考附圖在下文中更加完整地描述本發(fā)明,其中由此形成本發(fā)明的一部分,并且其通過舉例說明的方式展示了本發(fā)明可以通過其實(shí)現(xiàn)的特定示例性實(shí)施例。然而,本發(fā)明可以以很多不同形式實(shí)施,并不應(yīng)當(dāng)被認(rèn)為是受限于此處闡明的實(shí)施例;而是,提供這些實(shí)施例以便本公開內(nèi)容將徹底并完整,并且會(huì)對(duì)本領(lǐng)域的技術(shù)人員完全傳達(dá)本發(fā)明的范圍。其中,本發(fā)明可以作為方法或裝置實(shí)施。因此,本發(fā)明可以采取完全是硬件的實(shí)施例,完全是軟件的實(shí)施例或是組合了軟件和硬件方面的實(shí)施例的形式。因此,以下詳細(xì)描述并非出于限制的意思。
術(shù)語“由...組成”、“包括”、“包含”、“具有”、以及“其特征在于”是指可擴(kuò)充的或包括在內(nèi)的開放式結(jié)構(gòu),并不排除其它的、未列舉的元素或方法步驟。例如,包含元素A和B的組合也理解為元素A、B和C元素的組合。
“一個(gè)”和“這個(gè)”的含義包括復(fù)數(shù)引用?!霸?..之內(nèi)”的含義包括“在...之內(nèi)”和“在...之上”。此外,除非另外聲明或與此處的公開不一致,對(duì)單數(shù)的引用包括對(duì)復(fù)數(shù)的引用。
除非上下文明確做出另外的指示,術(shù)語“或”是包含性的“或”操作符,并且包括術(shù)語“和/或”。
如此處所用的短語“在一個(gè)實(shí)施例中”盡管可能,但不必要代指同一個(gè)實(shí)施例。與之類似,如此處所用的短語“在另一個(gè)實(shí)施例中”盡管可能,但也不必要代指不同的實(shí)施例。
除非上下文明確做出另外的指示,術(shù)語“基于”不是排除性的,并且規(guī)定基于未敘述的附加要素。
術(shù)語“分組”包括IP(網(wǎng)際協(xié)議)分組。
簡(jiǎn)言之,本發(fā)明致力于在諸如局域網(wǎng)(LAN)交換機(jī)、集線器、以及類似的網(wǎng)絡(luò)接口或網(wǎng)絡(luò)設(shè)備部分故障之后,用于最大化集群的網(wǎng)絡(luò)連通性的系統(tǒng)、設(shè)備和方法。
集群中指定為集群主機(jī)的網(wǎng)絡(luò)裝置配置用于部分基于集群成員的連通性確定集群成員資格。另一網(wǎng)絡(luò)裝置配置用于交換有關(guān)其到集群主機(jī)的連通性的信息。集群主機(jī)比較所接收的信息以確定該網(wǎng)絡(luò)裝置是否具有與該集群不同的連通性。如果該網(wǎng)絡(luò)裝置具有不同的連通性,集群主機(jī)就可以拒絕給予該網(wǎng)絡(luò)裝置的集群成員資格。通過拒絕具有不同連通性的網(wǎng)絡(luò)裝置,本發(fā)明確保由該集群接收的數(shù)據(jù)可以通過實(shí)際上任何該集群的成員以基本上相等的可靠性發(fā)送。
這樣,如果集群成員喪失對(duì)網(wǎng)絡(luò)的連通性,并且至少一個(gè)集群成員仍舊保持對(duì)該網(wǎng)絡(luò)的連通性,那么集群主機(jī)就可以迫使出了故障的成員離開該集群。如果正離開的集群成員的連通性隨后又恢復(fù)了,或者如果所有的集群成員隨后都失去了對(duì)該網(wǎng)絡(luò)的連通性等,那么該集群成員可重新加入該集群。如果集群主機(jī)自身失去對(duì)網(wǎng)絡(luò)的連通性,它可以離開該集群,并且具有最大連通性的集群成員的集合可以利用新的集群主機(jī)重新組成新的集群。
此外,如果所有的集群成員都失去了對(duì)同一網(wǎng)絡(luò)的連通性,集群成員資格可以保持不變,而集群成員可以繼續(xù)提供到剩余網(wǎng)絡(luò)的連通性。這種方法于是確保該集群系統(tǒng)包含具有對(duì)相鄰網(wǎng)絡(luò)的最大連通性的成員。
示例操作環(huán)境圖1舉例說明了其中運(yùn)行本發(fā)明的環(huán)境的一個(gè)實(shí)施例。不必要求所有的組件以實(shí)現(xiàn)本發(fā)明,而是可以不偏離本發(fā)明的構(gòu)思或范圍進(jìn)行布置和組件類型的變更。
如圖中所示,集群系統(tǒng)100包括局域網(wǎng)/廣域網(wǎng)(LAN/WAN)106和107以及集群101。集群101包括集群成員102-105。集群101與LAN/WAN 106和107通信。
集群成員102-105可以通過多個(gè)網(wǎng)絡(luò)與LAN/WAN 106和107通信。例如,盡管未示例出,集群成員102-105與LAN/WAN 107之間可以存在多個(gè)網(wǎng)絡(luò)連接。多個(gè)網(wǎng)絡(luò)連接還可以進(jìn)一步存在于集群成員102-105與LAN/WAN 106之間。然而,為了清楚起見,在圖1中僅示例了協(xié)議網(wǎng)絡(luò)108。協(xié)議網(wǎng)絡(luò)108實(shí)際上包括應(yīng)用于集群協(xié)議消息交換,包括其互連以及類似連接的任何網(wǎng)絡(luò)。協(xié)議網(wǎng)絡(luò)108可以基于機(jī)制的變化而選擇,包括但不限于將網(wǎng)絡(luò)預(yù)先配置為協(xié)議網(wǎng)絡(luò)。協(xié)議網(wǎng)絡(luò)108還可以基于包括服務(wù)質(zhì)量、吞吐量、穩(wěn)定性、速度等特征的任何變化而動(dòng)態(tài)選擇。此外,每個(gè)集群成員102-105都可以選擇與其它集群成員102-105不同的協(xié)議網(wǎng)絡(luò)108。
集群101典型地被配置為包括松散耦合的網(wǎng)絡(luò)裝置,該網(wǎng)絡(luò)裝置可以合作以給其它設(shè)備提供對(duì)服務(wù)、資源等的訪問。在一個(gè)實(shí)施例中,集群101配置用于通過適應(yīng)性地負(fù)載均衡集群成員102-105以優(yōu)化消息吞吐量。
集群成員102-105可以是任何能夠通過集群架構(gòu)中的網(wǎng)絡(luò)發(fā)送和接收數(shù)據(jù)分組的網(wǎng)絡(luò)裝置。在一個(gè)實(shí)施例中,集群成員102-105配置用于運(yùn)行作為所接收消息分組的協(xié)議棧處理器。這種裝置的集合可以包括典型地利用有線通信媒體連接的裝置,諸如配置以運(yùn)行作為集群裝置的個(gè)人計(jì)算機(jī)、多處理器系統(tǒng)、基于微處理器的或可編程的用戶電子產(chǎn)品、網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)PC、服務(wù)器等類似裝置。這種裝置的集合還可以包括典型地利用無線通信媒體連接的裝置,諸如配置作為集群裝置的蜂窩電話、智能電話、尋呼機(jī)、步話機(jī)、射頻(RF)裝置、紅外(IR)裝置、CB、結(jié)合了一個(gè)或多個(gè)前述裝置的集成裝置等類似裝置。可選的,集群成員102-105可以是任何能夠利用有線或無線通信媒體連接的裝置,諸如運(yùn)行作為集群裝置的膝上型電腦、個(gè)人計(jì)算機(jī)、網(wǎng)絡(luò)PC、網(wǎng)絡(luò)設(shè)備、PDA,便攜式PC、可攜帶計(jì)算機(jī)、以及任何其它配備以經(jīng)由有線和/或無線通信媒體通信的裝置。
集群成員102-105的成員可以配置成作為集群主機(jī)運(yùn)行,此處集群成員102-105的余下的成員可以配置以運(yùn)行作為客戶端或集群成員。集群101并不限于單個(gè)集群主機(jī),集群成員102-105中的另一個(gè)成員可以配置成作為備份集群主機(jī)運(yùn)行而不偏離本發(fā)明的范圍。當(dāng)形成集群時(shí)并隨后在該集群主機(jī)發(fā)生故障失去連通性等之后,集群成員102-105還可以動(dòng)態(tài)地選舉成員作為集群主機(jī)。下面結(jié)合圖2進(jìn)一步詳細(xì)描述集群成員102-105的一個(gè)實(shí)施例。
集群主機(jī)可以從集群成員102-105內(nèi)的這些具有基本上相等的連通性的集群成員中選擇作為加入到該集群的第一集群成員。集群主機(jī)也可以基于集群成員102-105的最高性能成員而選擇以加入該集群。然而,本發(fā)明不限制于這些機(jī)制,并且實(shí)際上任何其它的機(jī)制、機(jī)制的組合等都可以應(yīng)用以選擇集群主機(jī)而不偏離本發(fā)明的范圍。結(jié)合圖3A-3B而描述了用于選擇集群主機(jī)的過程的一個(gè)實(shí)施例。
集群主機(jī)可以被配置以接受、拒絕其它網(wǎng)絡(luò)裝置作為集群成員,給集群成員分配工作,檢測(cè)集群成員故障等。集群主機(jī)還可以部分基于成員到相鄰網(wǎng)絡(luò)的連通性而確定和改變集群成員資格。
此外,集群主機(jī)可以基于具有相同連通性的成員,選擇成員加入到集群101。這可以致力于確保由集群101接收的數(shù)據(jù)可以由成員102-105的任何成員以基本上相等的可靠性傳遞。此外,通過優(yōu)選具有較高連通性的成員而不是那些具有較低連通性的成員,集群主機(jī)可以出于最大化集群101的連通性的目的而改變集群101的成員資格。在一個(gè)實(shí)施例中,這種優(yōu)選甚至可能導(dǎo)致當(dāng)前集群主機(jī)的移除。
集群成員102-105可以配置用于向集群主機(jī)通信與其連通性有關(guān)的信息。當(dāng)集群成員加入集群101時(shí),當(dāng)有諸如集群成員的連通性周期性改變等的事件發(fā)生時(shí),可以將這種連通性信息提供給集群主機(jī)。無論集群成員的連通性何時(shí)改變,它都會(huì)將該改變通知集群主機(jī),以便集群主機(jī)可以確定新的集群成員資格。由于這些通知可能由于各種原因而被延遲,集群主機(jī)可能會(huì)在不同時(shí)間從不同的集群成員接收到同一連通信改變信息。為了避免不必要的集群成員資格改變,集群主機(jī)可進(jìn)一步配置用于應(yīng)用連通性定時(shí)器等以延遲進(jìn)行集群成員資格的更改,直至基本上已經(jīng)接收到所有的通知。然而,集群主機(jī)并不受限于使用連通性定時(shí)器,而是可以應(yīng)用其它機(jī)制來避免上述問題而不偏離本發(fā)明的范圍。
LAN/WAN 106和107被使得能夠應(yīng)用任何形式的、用于從一臺(tái)電子裝置傳遞信息到另一裝置的計(jì)算機(jī)可讀媒體。此外,除了局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、通過通用串行總線(USB)端口的直接連接、其它形式的計(jì)算機(jī)可讀媒體、以及它們的任意組合之外,LAN/WAN 106和107還可包括因特網(wǎng)。在包括那些基于不同架構(gòu)和協(xié)議的LAN的互連設(shè)置上,路由器充當(dāng)LAN之間的鏈路,使得消息能夠從一個(gè)LAN發(fā)送到另一個(gè)。同樣,LAN內(nèi)部的通信鏈路典型地包括雙絞線或同軸電纜,而網(wǎng)絡(luò)之間的通信鏈路可以利用模擬電話線、包括T1,T2,T3和T4的全部或部分專用數(shù)字線、綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)、數(shù)字用戶線路(DSL)、包括衛(wèi)星鏈路的無線鏈路、或?qū)Ρ绢I(lǐng)域的技術(shù)人員已知的其它通信鏈路。此外,遠(yuǎn)程計(jì)算機(jī)以及其它相關(guān)電子裝置可以通過調(diào)制解調(diào)器和臨時(shí)電話鏈路遠(yuǎn)程連接到LAN或WAN。實(shí)際上,LAN/WAN 106和107可以包括信息可以通過其在網(wǎng)絡(luò)裝置之間傳播的任何通信方法。
LAN/WAN 106典型地可包括內(nèi)容服務(wù)器、應(yīng)用服務(wù)器等,對(duì)于駐留于LAN/WAN 107內(nèi)部的另一網(wǎng)絡(luò)裝置,集群101實(shí)現(xiàn)對(duì)LAN/WAN 106的訪問。類似的,LAN/WAN 107可包括內(nèi)容服務(wù)器、應(yīng)用服務(wù)器及類似裝置,對(duì)于駐留于LAN/WAN 107內(nèi)部的另一網(wǎng)絡(luò)裝置,集群101實(shí)現(xiàn)對(duì)LAN/WAN 107的訪問。
圖2舉例說明了網(wǎng)絡(luò)裝置200的一個(gè)實(shí)施例的功能框圖,網(wǎng)絡(luò)裝置200可以運(yùn)行作為集群成員(包括集群主機(jī),實(shí)際上任何集群成員都可以配置成為集群主機(jī))。網(wǎng)絡(luò)裝置200可以包括比所示的組件更多或更少的組件。然而,所示的組件對(duì)于公開用于實(shí)踐本發(fā)明的示意性實(shí)施例已經(jīng)足夠。
網(wǎng)絡(luò)裝置200包括處理單元212、視頻顯示適配器214、以及大容量存儲(chǔ)器,所有的單元通過總線222相互通信。大容量存儲(chǔ)器通常包括RAM 216,ROM 232,以及諸如硬盤驅(qū)動(dòng)器228、磁帶驅(qū)動(dòng)器、光驅(qū)、和/或軟驅(qū)的一個(gè)或多個(gè)永久大容量存儲(chǔ)裝置。大容量存儲(chǔ)器存儲(chǔ)用于控制網(wǎng)絡(luò)裝置200操作的操作系統(tǒng)220。可以應(yīng)用任何通用操作系統(tǒng)。還提供了基本輸入輸出系統(tǒng)(“BIOS”)218用于控制網(wǎng)絡(luò)裝置200的低級(jí)操作。
如圖2所示,網(wǎng)絡(luò)裝置200還通過網(wǎng)絡(luò)接口單元210與因特網(wǎng)或諸如圖1的LAN/WAN 106和107、協(xié)議網(wǎng)絡(luò)108的一些其它通信網(wǎng)絡(luò)通信,構(gòu)建這些通信網(wǎng)絡(luò)以與包括TCP/IP協(xié)議的各種通信協(xié)議一同使用。網(wǎng)絡(luò)接口單元210有時(shí)稱為網(wǎng)絡(luò)接口卡“NIC”、收發(fā)信機(jī)或收發(fā)信裝置。
如上所述的大容量存儲(chǔ)器示意了一種類型的計(jì)算機(jī)可讀媒體,名為計(jì)算機(jī)存儲(chǔ)媒體。計(jì)算機(jī)存儲(chǔ)媒體可以包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的易失、非易失、可移動(dòng)和不可移動(dòng)的媒體。計(jì)算機(jī)存儲(chǔ)媒體的例子包括RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字通用光盤(DVD)或其它光學(xué)存儲(chǔ)器、磁性盒帶、磁帶、磁盤存儲(chǔ)器或其它磁性存儲(chǔ)裝置、或能夠用于存儲(chǔ)所想得到的信息并能由網(wǎng)絡(luò)裝置訪問的任何其它媒體。
在一個(gè)實(shí)施例中,大容量存儲(chǔ)器存儲(chǔ)用于實(shí)現(xiàn)操作系統(tǒng)220的程序代碼和數(shù)據(jù)。大容量存儲(chǔ)器也可以存儲(chǔ)用于執(zhí)行網(wǎng)絡(luò)裝置200的功能的附加程序代碼和數(shù)據(jù)。可以加載一個(gè)或多個(gè)應(yīng)用250等到大容量存儲(chǔ)器并運(yùn)行于操作系統(tǒng)220之上。如圖中所示,集群故障排除管理器(cluster fail-over manager)242是可以運(yùn)行于操作系統(tǒng)220之上的應(yīng)用實(shí)例。
簡(jiǎn)言之,集群故障排除管理器242可以配置以在諸如圖1的集群101的網(wǎng)絡(luò)集群系統(tǒng)中出現(xiàn)網(wǎng)絡(luò)故障之后執(zhí)行致力于最大化網(wǎng)絡(luò)連通性的動(dòng)作。集群故障排除管理器242還可以配置以使網(wǎng)絡(luò)裝置200運(yùn)行作為適當(dāng)?shù)募褐鳈C(jī)、備份集群主機(jī)、或集群成員。集群故障排除管理器242可以執(zhí)行與以下結(jié)合圖3A-3B、4A-4E以及圖5的那些描述基本上類似的動(dòng)作。
盡管未示出,應(yīng)用250可以包括程序代碼和數(shù)據(jù)以進(jìn)一步執(zhí)行集群成員、集群主機(jī)等的功能,包括但不局限于路由數(shù)據(jù)分組、管理穿越集群的負(fù)載、為其它集群成員分配工作等等。
網(wǎng)絡(luò)裝置200還可以包括用于傳輸電子郵件的SMTP處理器應(yīng)用(handler application),用于接收并處理HTTP請(qǐng)求的HTTP處理器應(yīng)用,以及用于處理安全連接的HTTPS處理器應(yīng)用。HTTPS處理器應(yīng)用可以以安全的方式啟動(dòng)與外部應(yīng)用的通信。然而,網(wǎng)絡(luò)裝置200不限于這些處理器應(yīng)用,網(wǎng)絡(luò)裝置200可以應(yīng)用許多其它的協(xié)議處理器應(yīng)用而不偏離本發(fā)明的范圍。
網(wǎng)絡(luò)裝置200還可包括用于與諸如鼠標(biāo)、鍵盤、掃描儀、或未在圖2中示出的其它輸入裝置的外部裝置通信的輸入/輸出接口224。同樣,網(wǎng)絡(luò)裝置200還可以包括諸如CD-ROM/DVD-ROM驅(qū)動(dòng)器226和硬盤驅(qū)動(dòng)器228的附加大容存儲(chǔ)設(shè)備。除此之外,網(wǎng)絡(luò)裝置200利用硬盤驅(qū)動(dòng)器228存儲(chǔ)應(yīng)用程序、數(shù)據(jù)庫等等。
集群連通性表示與比較如上所述,集群成員資格可以基于網(wǎng)絡(luò)裝置到相鄰網(wǎng)絡(luò)的連通性而確定。當(dāng)a)網(wǎng)絡(luò)裝置通過電纜、LAN設(shè)備等,而不是通過路由器、網(wǎng)關(guān)、網(wǎng)絡(luò)地址轉(zhuǎn)換器(NAT)等,直接連接到相鄰網(wǎng)絡(luò)時(shí);以及,b)網(wǎng)絡(luò)裝置實(shí)際上能夠與對(duì)該相鄰網(wǎng)絡(luò)具有連通性的所有其它網(wǎng)絡(luò)裝置,包括其它集群成員交換數(shù)據(jù)時(shí),則可以說該網(wǎng)絡(luò)裝置對(duì)相鄰網(wǎng)絡(luò)“具有連通性”。
由網(wǎng)絡(luò)裝置應(yīng)用以確定連通性的機(jī)制可以是與實(shí)現(xiàn)相關(guān)的,并且是在本發(fā)明的范圍之外。然而,所應(yīng)用的典型的機(jī)制可以包括,但顯然不限于檢查連接到網(wǎng)絡(luò)的網(wǎng)絡(luò)裝置的鏈路狀態(tài),定期發(fā)送回送請(qǐng)求(諸如ping)到連接到該網(wǎng)絡(luò)的另一網(wǎng)絡(luò)裝置等等。
每個(gè)集群成員都可發(fā)送關(guān)于其連通性的信息到集群主機(jī)。由集群成員發(fā)送的連通性信息實(shí)際上可以包括描述網(wǎng)絡(luò)連接的任何信息。在一個(gè)實(shí)施例中,連通性信息包括諸如{網(wǎng)絡(luò),活動(dòng)}的連通性信息的集合,此處網(wǎng)絡(luò)指示該連通性信息描述的網(wǎng)絡(luò)。連通性信息可包括但不局限于網(wǎng)絡(luò)地址、網(wǎng)絡(luò)掩碼長度(例如,10.1.2.0/24)及類似信息。連通性信息集合中的活動(dòng)指示該網(wǎng)絡(luò)裝置是否具有到所識(shí)別的網(wǎng)絡(luò)的連通性。在一個(gè)實(shí)施例中,活動(dòng)為單比特值,其中一個(gè)值(例如“1”)表示對(duì)網(wǎng)絡(luò)有連通性,而第二個(gè)值(例如“0”)表示沒有連通性。
集群主機(jī)可以在諸如數(shù)據(jù)庫、文本文件、文件夾等的數(shù)據(jù)倉庫中存儲(chǔ)這種連通性信息。集群主機(jī)可以將所接收到的連通性信息與其它集群成員的連通性信息相比較,以確定是否執(zhí)行集群成員資格更改。集群主機(jī)可以比較來自幾個(gè)網(wǎng)絡(luò)裝置的連通性信息集合,以確定一個(gè)網(wǎng)絡(luò)裝置相比較該集群內(nèi)的其它網(wǎng)絡(luò)裝置是否具有更高的、基本上相同的、或是更差的連通性。
集群主機(jī)可以應(yīng)用以下原則來比較連通性。集群主機(jī)可以考慮具有比該集群更高連通性的網(wǎng)絡(luò)裝置,在此a)該網(wǎng)絡(luò)裝置針對(duì)與該集群相同的網(wǎng)絡(luò)集合而配置,以及b)其相比該集群具有對(duì)更大數(shù)目的網(wǎng)絡(luò)的連通性。
集群主機(jī)可以考慮具有與該集群相同的連通性的網(wǎng)絡(luò)裝置,在此a)其針對(duì)與該集群相同的網(wǎng)絡(luò)集合而配置,以及b)其具有到與該集群相同的網(wǎng)絡(luò)集合的連通性。
類似的,集群主機(jī)可以考慮具有比該集群更差的連通性的網(wǎng)絡(luò)裝置,在此a)其針對(duì)與該集群不同的網(wǎng)絡(luò)集合而配置,或者b)其相比該集群具有對(duì)更少的網(wǎng)絡(luò)的連通性,或者c)其具有到與該集群相同數(shù)目的網(wǎng)絡(luò)但不是相同網(wǎng)絡(luò)集合的連通性。
然而,本發(fā)明不限制于以上的原則,也應(yīng)用其它的原則以比較網(wǎng)絡(luò)裝置之間的連通性信息而不偏離本發(fā)明的范圍與精神。
在相比該集群針對(duì)不同的網(wǎng)絡(luò)集合配置網(wǎng)絡(luò)裝置—甚至是更大數(shù)目的網(wǎng)絡(luò)—的情況下,集群主機(jī)可以選擇不接受其作為集群成員,因?yàn)榭梢哉J(rèn)為其是錯(cuò)誤配置。類似的,在網(wǎng)絡(luò)裝置具有對(duì)與該集群相同數(shù)目的網(wǎng)絡(luò)但是對(duì)與該集群不同的網(wǎng)絡(luò)集合的連通性的情況下,那么集群主機(jī)可以支持現(xiàn)有集群成員而拒絕該網(wǎng)絡(luò)裝置,以避免不必要的集群成員資格更改。
用于管理集群系統(tǒng)建立的示例性操作接下來通過參考集群建立,包括網(wǎng)絡(luò)裝置可以怎樣加入和離開該集群來描述本發(fā)明一般操作的一個(gè)實(shí)施例。
圖3A-3B舉例示出了通常顯示用于集群建立過程的一個(gè)實(shí)施例的流程圖。過程300A在塊302處的開始?jí)K之后,開始于網(wǎng)絡(luò)裝置試圖加入該集群時(shí)。在一個(gè)實(shí)施例中,這通過在協(xié)議網(wǎng)絡(luò)之上發(fā)送“加入請(qǐng)求”消息完成。在一個(gè)實(shí)施例中,“加入請(qǐng)求”消息通過協(xié)議網(wǎng)絡(luò)廣播。“加入請(qǐng)求”消息可以包括識(shí)別配置該網(wǎng)絡(luò)裝置所針對(duì)配置的網(wǎng)絡(luò)的連通性信息,并且還描述了該網(wǎng)絡(luò)裝置是否具有到這些網(wǎng)絡(luò)的連通性?!凹尤胝?qǐng)求”還可以包括驗(yàn)證信息。
如果存在集群主機(jī)并且其接收到該“加入請(qǐng)求”,其就試圖驗(yàn)證該消息。如果集群主機(jī)確定該驗(yàn)證消息無效,其可以通過該協(xié)議網(wǎng)絡(luò)發(fā)送“加入失敗”消息到請(qǐng)求加入的網(wǎng)絡(luò)裝置。
然而,如果集群主機(jī)確定該驗(yàn)證消息有效,則其就會(huì)將正加入的網(wǎng)絡(luò)裝置的連通性信息與該集群有關(guān)的連通性信息相比較。如果集群主機(jī)確定加入的網(wǎng)絡(luò)裝置具有與該集群相同的連通性,集群主機(jī)就可以通過協(xié)議網(wǎng)絡(luò)發(fā)送“加入OK”消息給請(qǐng)求加入的網(wǎng)絡(luò)裝置。
如果“加入OK”消息被請(qǐng)求加入的網(wǎng)絡(luò)裝置接收到,過程300A就流向塊303,在此請(qǐng)求加入的網(wǎng)絡(luò)裝置被指定為集群成員(有時(shí)稱為客戶端或非集群主機(jī))。
在塊303處,集群成員可以隨后離開該集群,并且如果其檢測(cè)到集群主機(jī)不工作、如果其從集群主機(jī)接收到“退出請(qǐng)求”消息等嘗試重新加入。在任何一種情況下,如果集群成員試圖重新加入該集群,則過程返回到塊302。
然而,在塊302處,如果集群主機(jī)確定請(qǐng)求加入的系統(tǒng)具有比該集群更差的連通性,則集群主機(jī)可以通過協(xié)議網(wǎng)絡(luò)發(fā)送“加入失敗”消息到請(qǐng)求加入的網(wǎng)絡(luò)裝置,并且保持集群成員資格不變(下面結(jié)合圖4A-4E更加詳細(xì)的描述用于這種過程的一個(gè)實(shí)施例)。請(qǐng)求加入的網(wǎng)絡(luò)裝置于是可以在預(yù)先設(shè)定的時(shí)間間隔之后和/或當(dāng)其連通性改變時(shí)嘗試重新加入該集群。
在任何一種情況下,如果發(fā)送出加入請(qǐng)求消息的網(wǎng)絡(luò)裝置沒有從集群主機(jī)得到“加入OK”消息或“加入失敗”消息,該網(wǎng)絡(luò)裝置可以推斷它是該集群的第一成員(例如,不存在集群主機(jī)),過程就流向塊304。此外,如果集群主機(jī)選擇機(jī)制是動(dòng)態(tài)的,則過程也繼續(xù)到塊304。
在塊304處,請(qǐng)求加入的網(wǎng)絡(luò)裝置在協(xié)議網(wǎng)絡(luò)之上發(fā)送出“提議為集群主機(jī)”請(qǐng)求分組,提出要成為集群主機(jī)。在一個(gè)實(shí)施例中,“提議為集群主機(jī)”請(qǐng)求通過協(xié)議網(wǎng)絡(luò)廣播?!疤嶙h為集群主機(jī)”請(qǐng)求也可以包括請(qǐng)求加入的網(wǎng)絡(luò)裝置的連通性信息。如果請(qǐng)求加入的網(wǎng)絡(luò)裝置接收到“存在其它集群主機(jī)”消息,則過程返回塊302,在此請(qǐng)求加入的網(wǎng)絡(luò)裝置試圖再次加入。在已經(jīng)存在另一個(gè)集群主機(jī)、已經(jīng)存在提出要成為集群主機(jī)的更好的集群候選集群主機(jī)等的情況下,可能會(huì)出現(xiàn)“存在其它集群主機(jī)”消息。以下結(jié)合圖3B更加詳細(xì)的描述用于確定“更好的候選集群主機(jī)”的過程的一個(gè)實(shí)施例。
然而,如果在預(yù)先設(shè)定的時(shí)間周期之后,申請(qǐng)加入的網(wǎng)絡(luò)裝置沒有接收到回應(yīng),則過程流向塊305。在一個(gè)實(shí)施例中,該預(yù)定時(shí)間周期為大約100微秒。然而,本發(fā)明并不受限與此,而實(shí)際上可以應(yīng)用任何的時(shí)間周期。
在塊305,集群主機(jī)在其每個(gè)集群網(wǎng)絡(luò)上發(fā)送廣播地址解析協(xié)議(ARP)響應(yīng),通知相鄰網(wǎng)絡(luò)用于對(duì)應(yīng)的集群網(wǎng)絡(luò)地址使用的硬件地址(例如,以太網(wǎng)MAC地址)等。過程繼續(xù)到塊306,在此申請(qǐng)加入的網(wǎng)絡(luò)裝置現(xiàn)在以集群主機(jī)的能力運(yùn)行。過程可以繼續(xù),直至集群主機(jī)接收到“退出請(qǐng)求”,在這種情況下,過程返回塊302,在此網(wǎng)絡(luò)裝置可以試圖重新加入該集群。
類似的,在塊306,如果集群主機(jī)得到了“集群主機(jī)保持活動(dòng)”消息,諸如另一集群成員可能充當(dāng)集群主機(jī)的情況,過程流向判定塊307。
在判定塊307處,集群主機(jī)做出“集群主機(jī)保持活動(dòng)”消息是否源于其自身的判斷。通常,集群主機(jī)不接收其自身的保持活動(dòng)消息,然而為了示例,例如,萬一相鄰網(wǎng)絡(luò)上的外部路由器等被錯(cuò)誤配置,這種情況可能會(huì)出乎意料地發(fā)生。由此,如果集群主機(jī)確定“集群主機(jī)保持活動(dòng)”消息是來自其自身的,則過程返回到塊306。
然而,如果在判定塊307集群主機(jī)確定“集群主機(jī)保持活動(dòng)”不是源于其自身,則集群主機(jī)推斷有另外一個(gè)充當(dāng)集群主機(jī)運(yùn)行的集群主機(jī)。過程就分支到判定塊308,在此集群主機(jī)試圖解決集群主機(jī)競(jìng)爭(zhēng)(“相持(tie)”)。以下結(jié)合圖4A-4E進(jìn)一步詳細(xì)描述用于解決這種“相持中斷器(tie breaker)”集群主機(jī)競(jìng)爭(zhēng)的過程的一個(gè)實(shí)施例。如果該相持的解決有利于這個(gè)集群主機(jī),則過程流向塊309。
如果在判定塊308集群主機(jī)輸?shù)袅讼喑种袛?,則過程分支到塊321,在此集群主機(jī)發(fā)送“退出請(qǐng)求”消息到集群成員。集群主機(jī)進(jìn)一步可以離開該集群。過程就接著可以返回塊302,在此離開的集群主機(jī)可以嘗試重新加入該集群,以試圖穩(wěn)定該集群等等。
在塊309,集群主機(jī)發(fā)送“存在其它集群主機(jī)”消息到其它集群主機(jī)。此外,集群主機(jī)可以發(fā)送廣播地址解析協(xié)議(ARP)響應(yīng)或類似響應(yīng),以告知網(wǎng)絡(luò)上的任何成員對(duì)于集群網(wǎng)絡(luò)地址要采用什么硬件地址(諸如以太網(wǎng)MAC地址)。可以執(zhí)行這個(gè)操作,以便解決可能發(fā)生的其它集群主機(jī)可能已經(jīng)做了相同事情的問題。過程300A返回塊306,在此過程如上所述繼續(xù),同時(shí)選擇單個(gè)集群成員運(yùn)行作為集群主機(jī),而其它集群成員將它們自身理解為僅僅是該集群的成員,每一個(gè)都具有相同的連通性。
圖3B舉例說明了通常展示當(dāng)如上圖3A的塊304中簡(jiǎn)要描述的那樣,集群候選主機(jī)接收到“提議為集群主機(jī)”消息時(shí)的過程的一個(gè)實(shí)施例的流程圖。
過程300B在開始?jí)K之后,開始于判定塊332,在此由集群候選集群主機(jī)做出判定,看“提議為集群主機(jī)”消息是否源于其自身。如果“提議為集群主機(jī)”消息源于其自身,則過程分支到塊333,在此消息被忽略。過程300B接著返回到呼叫過程以執(zhí)行其它動(dòng)作。
然而,如果“提議為集群主機(jī)”消息是來自另一網(wǎng)絡(luò)裝置的,則過程繼續(xù)到判定塊335,在此候選集群主機(jī)將其連通性與發(fā)送者的連通性相比較。在一個(gè)實(shí)施例中,這可以通過檢查所接收的“提議為集群主機(jī)”消息中的連通性信息完成。然而,本發(fā)明并不受限與此,而是可由另外的消息、機(jī)制等接收連通性信息。在任何一種情況下,在判定塊335,確定內(nèi)容為候選集群主機(jī)是否如上所述比發(fā)送網(wǎng)絡(luò)裝置具有更高的連通性。
如果在判定塊335確定候選集群主機(jī)的確具有更高的連通性,過程分支到塊336,在此候選集群主機(jī)發(fā)送“存在其它集群主機(jī)”消息到其它的網(wǎng)絡(luò)裝置。然后過程退出到呼叫過程以執(zhí)行其它動(dòng)作。
然而,如果在判定塊335,候選集群主機(jī)不具備比發(fā)送網(wǎng)絡(luò)裝置更高的連通性,則過程流向判定塊338。
在判定塊338處,由候選集群主機(jī)做出發(fā)送網(wǎng)絡(luò)裝置是否具有比其自身更高的連通性的判斷。如果是,則過程分支到塊339,在此候選集群主機(jī)放棄成為集群主機(jī)的嘗試。在一個(gè)實(shí)施例中,“退出候選”集群主機(jī)部分通過進(jìn)入到圖3A的過程300A試圖再次加入該集群。
如果發(fā)送網(wǎng)絡(luò)裝置不具備比候選集群主機(jī)更高的連通性,則過程繼續(xù)到判定塊340,在此候選集群主機(jī)應(yīng)用系統(tǒng)性能分析來試圖打破相持狀態(tài)。系統(tǒng)性能可以基于包括但不限于吞吐量、負(fù)載、過程配置等的各種機(jī)制估計(jì)。然而,本發(fā)明不限于應(yīng)用系統(tǒng)性能分析,而是實(shí)際可以應(yīng)用任何其它打破相持狀態(tài)的機(jī)制而不偏離本發(fā)明的范圍。然而,如在過程300B中所使用的那樣,如果候選集群主機(jī)不具備比發(fā)送網(wǎng)絡(luò)裝置更好的系統(tǒng)性能,則過程分支到塊336,在此候選集群主機(jī)發(fā)送“存在其它集群主機(jī)”消息給其它網(wǎng)絡(luò)裝置。過程于是退出到呼叫過程以執(zhí)行其它動(dòng)作。
如果在判定塊340候選集群主機(jī)不具有更好的系統(tǒng)性能,則過程繼續(xù)到判定塊341,在此候選集群主機(jī)確定發(fā)送網(wǎng)絡(luò)裝置是否具有更好的系統(tǒng)性能。如果發(fā)送網(wǎng)絡(luò)裝置具有更好的系統(tǒng)性能,則候選集群主機(jī)放棄成為集群主機(jī)的嘗試。過程分支到塊339,在此“退出候選”集群主機(jī)通過退出到圖3A的過程300A而試圖再次加入該集群。
然而,如果在判定塊340發(fā)送網(wǎng)絡(luò)裝置的性能與候選集群主機(jī)的性能相同,那么過程就分支到判定塊342,在此應(yīng)用了另一種相持中斷機(jī)制。在一個(gè)實(shí)施例中,該另一種相持中斷包括將候選集群主機(jī)的網(wǎng)絡(luò)地址與發(fā)送網(wǎng)絡(luò)裝置的相比較。如果候選集群主機(jī)的網(wǎng)絡(luò)地址低于發(fā)送網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)地址,過程分支到塊336,在此候選集群主機(jī)發(fā)送“存在其它集群主機(jī)”消息到其它網(wǎng)絡(luò)裝置。過程接著退出到呼叫過程以執(zhí)行其它動(dòng)作。
如果在判定塊342候選集群主機(jī)的網(wǎng)絡(luò)地址不小于發(fā)送網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)地址,過程分支到塊339,在此當(dāng)前的“退出候選”集群主機(jī)放棄成為集群主機(jī)的嘗試。在一個(gè)實(shí)施例中,該退出候選集群主機(jī)可以通過退出過程300B,然后進(jìn)入圖3A的過程300A,試圖再次加入該集群。
集群主機(jī)的示例性操作在形成集群之后,集群主機(jī)可以繼續(xù)監(jiān)測(cè)現(xiàn)有集群成員的連通性,并接受具有匹配連通性的新集群成員。現(xiàn)在將參考圖4A-4E描述這些事件是怎樣處理的。
圖4A舉例說明了通常展示用于當(dāng)集群主機(jī)接收到客戶端“保持活動(dòng)”消息時(shí)的處理的一個(gè)實(shí)施例的流程圖。集群形成之后,集群主機(jī)監(jiān)測(cè)從集群成員發(fā)送的“保持活動(dòng)”消息。在一個(gè)實(shí)施例中,集群主機(jī)應(yīng)用了看門狗定時(shí)器。然而,本發(fā)明并不受限與此,實(shí)際上可以應(yīng)用任何機(jī)制來監(jiān)測(cè)“保持活動(dòng)”消息。
在任何一種情況下,只要集群主機(jī)接收到集群成員的保持活動(dòng)消息就可以被認(rèn)為它是“活動(dòng)”的。每個(gè)集群成員還可以在其保持活動(dòng)消息中包含其連通性信息。集群主機(jī)判斷該連通性信息是否對(duì)所有集群成員一致并由此調(diào)整成員資格。
圖4A的過程400A在開始?jí)K之后開始于判定塊402,在此集群主機(jī)確定保持活動(dòng)的發(fā)送者是否是其集群的成員之一。如果不是,那么過程分支到塊403,在此集群主機(jī)可以發(fā)送“退出集群”請(qǐng)求到發(fā)送者。此外,集群主機(jī)可以丟棄來自請(qǐng)求退出的發(fā)送者的保持活動(dòng)消息。一旦完成塊403,過程就可以退出到呼叫過程以執(zhí)行其它動(dòng)作。
如果在判定塊402保持活動(dòng)的發(fā)送者是集群成員,則過程分支到判定塊404,在此集群主機(jī)確定該集群成員的連通性信息是否已經(jīng)改變。集群主機(jī)可能已經(jīng)從先前的保持活動(dòng)消息、從該集群成員的加入請(qǐng)求消息及類似消息存儲(chǔ)了該集群成員的連通性信息。在任何一種情況下,集群主機(jī)將保持活動(dòng)消息的相關(guān)連通性信息與其存儲(chǔ)的信息相比較,以察看其是否已經(jīng)改變。如果該集群成員的連通性信息已經(jīng)改變,則過程分支到塊405,否則,過程分支到塊411。
在塊405,集群主機(jī)更新其存儲(chǔ)的集群成員的信息。接下來過程流向判定塊406,在此做出所有當(dāng)前集群成員的連通性是否一致的判斷。如果連通性信息表明所有的集群成員的連通性是一致的,則過程流向判定塊407;否則,過程分支到判定塊409。
在判定塊407,做出集群主機(jī)的連通性定時(shí)器是否在運(yùn)行的判斷。如果集群主機(jī)的連通性定時(shí)器沒有運(yùn)行,則過程繼續(xù)到塊411;否則過程分支到塊408,在此集群主機(jī)停止該連通性定時(shí)器。接下來過程繼續(xù)到塊411。
在判定塊409處,做出集群主機(jī)的連通性定時(shí)器是否在運(yùn)行的判斷。如果該連通性定時(shí)器正在運(yùn)行,則過程分支到塊411;否則過程移到塊410,在此集群主機(jī)啟動(dòng)該連通性定時(shí)器。過程接著流向塊411。
在塊411,集群主機(jī)進(jìn)入到處理與集群主機(jī)的保持活動(dòng)消息相關(guān)聯(lián)的信息。例如,在一個(gè)實(shí)施例中,集群主機(jī)可以部分基于應(yīng)用與保持活動(dòng)消息、自適應(yīng)保持活動(dòng)間隔等相關(guān)聯(lián)的序號(hào)確定分組丟失平均數(shù)。處理的信息接著可以由集群主機(jī)存儲(chǔ)。
接下來過程流向塊412,在此集群主機(jī)可以重新設(shè)置與當(dāng)前集群成員相關(guān)聯(lián)的看門狗定時(shí)器。在一個(gè)實(shí)施例中,集群主機(jī)利用連通性定時(shí)器以延遲集群成員資格更改,直至集群主機(jī)已經(jīng)從其集群成員接收到所有的連通性改變事件。然而,本發(fā)明并非如此受限。例如,在本發(fā)明的另外一個(gè)實(shí)施例中,集群主機(jī)能夠響應(yīng)集群成員連通性改變而立即進(jìn)行成員資格更改。如果設(shè)備故障在一個(gè)以上的集群成員上引起了相同的連通性丟失,這個(gè)實(shí)施例可以集中于與如前面的實(shí)施例相同的集群成員資格。然而,在這種情況下集群可以經(jīng)受比前面的實(shí)施例更大數(shù)量的成員資格改變。在任何一種情況下,一旦完成塊412,則過程退出到呼叫過程以執(zhí)行其它動(dòng)作。
圖4B舉例說明了通常展示對(duì)于當(dāng)集群主機(jī)檢測(cè)到其自身的連通性中的變化時(shí)的處理的一個(gè)實(shí)施例的流程圖。圖4B的過程400B在開始?jí)K之后,開始于塊432,在此集群主機(jī)存儲(chǔ)了其更新后的連通性信息用于后面的比較。
接下來過程進(jìn)入到判定塊433,在此做出所有集群成員的連通性是否一致的判斷。在一個(gè)實(shí)施例中,集群主機(jī)考慮了其更新后的連通性信息。如果連通性是一致的,則過程流向判定塊434;否則,過程流向判定塊436。
在判定塊436處,做出集群主機(jī)的連通性定時(shí)器是否運(yùn)行的判斷。如果正在運(yùn)行,過程退出到呼叫過程以執(zhí)行其它動(dòng)作。否則,過程分支到塊437,在此集群主機(jī)啟動(dòng)該連通性定時(shí)器。過程就退出到呼叫過程以執(zhí)行其它動(dòng)作。
在判定塊434處,作出集群主機(jī)的連通性定時(shí)器是否在運(yùn)行的判斷。如果沒有運(yùn)行,則過程退出到呼叫過程以執(zhí)行其它動(dòng)作。否則,過程分支到塊435,在此集群主機(jī)停止該連通性定時(shí)器。一旦完成塊435,過程就退出到呼叫過程以執(zhí)行其它動(dòng)作。
在一個(gè)實(shí)施例中,本發(fā)明利用連通性定時(shí)器來延遲集群成員資格更改,直至集群主機(jī)已經(jīng)從其集群成員接收到了基本上所有的類似的連通性改變事件。然而,本發(fā)明并不受限與此。例如,在本發(fā)明的另外一個(gè)實(shí)施例中,集群主機(jī)可以響應(yīng)于連通性改變而立即進(jìn)行集群成員資格更改。然而,這種方法可能集中于如以上實(shí)施例相同的集群成員資格。然而,該集群可能經(jīng)受比上述實(shí)施例更大數(shù)目的成員資格更改。
圖4C舉例說明了通常展示對(duì)于當(dāng)集群主機(jī)的連通性定時(shí)器超時(shí)時(shí)的處理的一個(gè)實(shí)施例的流程圖。圖4C的過程400C在開始?jí)K之后,開始于判定塊452,在此由集群主機(jī)做出關(guān)于其是否具有比所有集群成員更高或相等的連通性的判斷。如果不是,則過程進(jìn)入到塊453;否則,過程分支到塊455。
在塊453,集群主機(jī)推斷它不能夠到達(dá)其它集群成員所能夠到達(dá)的網(wǎng)絡(luò),并且因此集群主機(jī)自身不應(yīng)當(dāng)處于該集群中。集群主機(jī)發(fā)送“退出請(qǐng)求”消息到集群成員,然后離開該集群。在一個(gè)實(shí)施例中,“退出集群主機(jī)”可以通過從塊454退出到圖3A的過程300A而嘗試重新加入該集群。該集群就可以重新形成,同時(shí)利用具有最佳連通性的網(wǎng)絡(luò)裝置作為新的集群主機(jī)。
如果在塊455集群主機(jī)具有比所有集群成員更高或相同的連通性,則集群主機(jī)判斷是否任何其的集群成員具有比其自身更差的連通性。如果是,則其發(fā)送退出請(qǐng)求到這些集群成員,強(qiáng)制它們離開該集群。退出的集群成員可以接著嘗試重新加入。如下所述,在一個(gè)實(shí)施例中,退出的集群成員可能不能夠重新加入該集群,直至其連通性至少等于集群主機(jī)的連通性。在任何一種情況下,一旦完成塊455,過程就退出到呼叫過程以執(zhí)行其它動(dòng)作。
圖4D舉例說明了通常展示對(duì)于當(dāng)集群主機(jī)接收到客戶端(網(wǎng)絡(luò)裝置)的“加入請(qǐng)求”消息時(shí)的處理的一個(gè)實(shí)施例的流程圖。這個(gè)“加入請(qǐng)求”消息可以包括從有效證書授權(quán)以及有關(guān)發(fā)送者網(wǎng)絡(luò)裝置的連通性信息中獲得的鑒定證書。
圖4D的過程400D在開始?jí)K之后,開始于判定塊462,在此,當(dāng)集群主機(jī)接收到“加入請(qǐng)求”消息時(shí),其部分通過對(duì)照有效證書列表,檢查該證書驗(yàn)證發(fā)送者網(wǎng)絡(luò)裝置的授權(quán)信息。如果集群主機(jī)沒有發(fā)現(xiàn)匹配,則過程分支到塊477,在此集群主機(jī)可以發(fā)送NAK,“加入失敗”消息或類似消息,到與“加入請(qǐng)求”相關(guān)聯(lián)的發(fā)送者網(wǎng)絡(luò)裝置以指示該加入已經(jīng)失敗。過程接著退出到呼叫過程以執(zhí)行其它動(dòng)作。
如果在判定塊462集群主機(jī)沒有使來自加入消息的證書與其可能持有的證書相匹配,則過程進(jìn)入到判定塊465。在判定塊465,集群主機(jī)部分通過檢查該“加入請(qǐng)求”消息或類似消息中的連通性信息,將其連通性與發(fā)送者網(wǎng)絡(luò)裝置的連通性相比較。集群主機(jī)可以首先在判定塊465判斷發(fā)送者網(wǎng)絡(luò)裝置是否具有比其更高的連通性的。如果是,則過程進(jìn)入到塊467,在此它推斷請(qǐng)求加入的網(wǎng)絡(luò)裝置應(yīng)當(dāng)是該集群的集群主機(jī)。在塊467,當(dāng)前集群主機(jī)可以發(fā)送“退出請(qǐng)求”消息到該集群的所有現(xiàn)存集群成員。當(dāng)前的集群主機(jī)借助可以離開該集群,然后通過退出到圖3A的過程300A嘗試重新加入該集群。該集群就可以重新形成,同時(shí)利用具有最佳連通性的網(wǎng)絡(luò)裝置作為新的集群主機(jī)。
然而,如果在判定塊465集群主機(jī)確定發(fā)送者網(wǎng)絡(luò)裝置的連通性不大于其自身的連通性,則過程分支到判定塊469。在判定塊469,集群主機(jī)試圖確定發(fā)送者網(wǎng)絡(luò)裝置的連通性是否等于其自身的連通性。如果不是,那么它就推斷發(fā)送者不具有到現(xiàn)存集群成員所具有的所有網(wǎng)絡(luò)的連通性,并且不應(yīng)當(dāng)位于該集群內(nèi)。過程進(jìn)入到塊477,在此集群主機(jī)接著可以發(fā)送NAK,“加入失敗”消息或類似消息到與該“加入請(qǐng)求”相關(guān)聯(lián)的發(fā)送者網(wǎng)絡(luò)裝置,以指示該加入已經(jīng)失敗。一旦完成塊477,過程就返回到呼叫過程以執(zhí)行其它動(dòng)作。
如果在判定塊469,發(fā)送者網(wǎng)絡(luò)裝置的連通性等于集群主機(jī)的連通性,則過程分支到塊472。在塊472,集群主機(jī)部分通過使用“正在操作中”原因消息及類似消息,發(fā)送NAK或類似消息以告知網(wǎng)絡(luò)裝置等待。
接下來過程繼續(xù)到塊473,在此集群主機(jī)向應(yīng)用等通知網(wǎng)絡(luò)裝置正試圖加入該集群。這種通知是針對(duì)任何想要知道有關(guān)潛在加入到該集群的應(yīng)用。例如,當(dāng)IPSec是應(yīng)用之一時(shí)這就可能發(fā)生。IPSec可能想要在同意讓請(qǐng)求的網(wǎng)絡(luò)裝置加入集群之前驗(yàn)證該請(qǐng)求的網(wǎng)絡(luò)裝置。這樣,過程繼續(xù)到塊474,在此可以利用加入請(qǐng)求分析為應(yīng)用提供結(jié)束的機(jī)會(huì)。
過程接著繼續(xù)到判定塊475,在此做出任何應(yīng)用是否已經(jīng)拒絕了加入請(qǐng)求的判斷。如果應(yīng)用已經(jīng)拒絕了加入請(qǐng)求,則過程分支到塊477,在此集群主機(jī)可以發(fā)送可能帶有拒絕的原因的NAK,“加入失敗”消息或類似消息。過程接著退出到呼叫過程以執(zhí)行其它動(dòng)作。
如果在判定塊475,基本上所有的相關(guān)應(yīng)用都通過了加入請(qǐng)求,過程分支到塊479,在此集群主機(jī)將發(fā)送者網(wǎng)絡(luò)裝置加入作為集群成員。集群主機(jī)還可以存儲(chǔ)發(fā)送者網(wǎng)絡(luò)裝置的連通性信息。接下來過程流向塊480,在此集群主機(jī)也可以發(fā)送ACK,或“加入OK”消息或類似消息。一旦完成塊480,處理退出過程400D到呼叫過程以執(zhí)行其它動(dòng)作。
圖4E舉例說明了通常展示對(duì)于當(dāng)集群主機(jī)接收到“集群主機(jī)保持活動(dòng)”消息時(shí)的處理的一個(gè)實(shí)施例的流程圖。過程400E致力于描述當(dāng)兩個(gè)集群成員聲明為集群主機(jī)時(shí)的一種可能的“相持中斷”機(jī)制。在一個(gè)實(shí)施例中,“集群主機(jī)保持活動(dòng)”消息包括發(fā)送者網(wǎng)絡(luò)裝置的連通性信息、集群成員列表、自適應(yīng)保持活動(dòng)間隔、每個(gè)集群成員的當(dāng)前工作分配設(shè)置等等。然而,本發(fā)明并不受限于這種信息,而是可以有更多或更少的信息與集群主機(jī)保持活動(dòng)消息相關(guān)聯(lián)而不偏離本發(fā)明范圍或精神。
圖4E的過程400E在當(dāng)集群主機(jī)接收到“集群主機(jī)保持活動(dòng)”消息時(shí)首先被進(jìn)入。過程在開始?jí)K后開始于判定塊482,在此做出所接收消息是否源于其自身的判斷。如果是,則過程進(jìn)入到塊483,在此忽略所接收的保持活動(dòng)消息。過程接著退出到呼叫過程以執(zhí)行其它動(dòng)作。
如果在判定塊482確定“集群主機(jī)保持活動(dòng)”消息是來自另一網(wǎng)絡(luò)裝置的,則過程分支到判定塊485,在此集群主機(jī)將其連通性與發(fā)送者網(wǎng)絡(luò)裝置的連通性相比較。這可部分通過檢查與所接收的消息有關(guān)的連通性信息而執(zhí)行。
在判定塊485,集群主機(jī)可以首先做出其是否具有比發(fā)送者網(wǎng)絡(luò)裝置更高的連通性的判斷。如果是,則過程進(jìn)入到塊486,在此集群主機(jī)發(fā)送“存在其它集群主機(jī)”消息到其它網(wǎng)絡(luò)裝置。過程繼續(xù)到塊487,在此集群主機(jī)可以發(fā)送廣播地址解析協(xié)議(ARP)響應(yīng)等,以告知網(wǎng)絡(luò)上的任何裝置對(duì)于集群IP地址要使用的硬件地址(諸如以太網(wǎng)MAC地址)。過程接著退出到呼叫處理以執(zhí)行其它動(dòng)作。
如果在判定塊485,確定集群主機(jī)不具有比發(fā)送者網(wǎng)絡(luò)裝置更高的連通性,則過程分支到判定塊489,在此集群主機(jī)做出發(fā)送者網(wǎng)絡(luò)裝置是否具有比其自身更高的連通性的判斷。如果是,則集群主機(jī)推斷其它網(wǎng)絡(luò)裝置能夠比它能到達(dá)更多的網(wǎng)絡(luò),并且從而應(yīng)當(dāng)成為集群主機(jī)。過程分支到塊490,在此集群主機(jī)可以發(fā)送“退出請(qǐng)求”消息或類似消息到其的集群成員。此外,集群主機(jī)可以離開該集群,并通過退出塊491到圖3A的過程300A并試圖再次加入該集群。
如果在判定塊489,確定發(fā)送者網(wǎng)絡(luò)裝置不具有比集群主機(jī)更高的連通性,則過程繼續(xù)到判定塊492,在此集群主機(jī)就會(huì)判斷它是否具有比發(fā)送者網(wǎng)絡(luò)裝置更多的集群成員。例如,這可能通過檢查“集群主機(jī)保持活動(dòng)”消息或類似消息中的大量集群成員而實(shí)現(xiàn)。在任何一種情況下,如果集群主機(jī)不具有更多的成員,則過程分支到塊486,在此集群主機(jī)可以如上所述發(fā)送“存在其它集群主機(jī)”消息到其它網(wǎng)絡(luò)裝置。
然而,如果在判定塊492確定集群主機(jī)沒有更多的集群成員,則過程繼續(xù)到判定塊493,在此做出發(fā)送者網(wǎng)絡(luò)裝置在其集群內(nèi)是否具有更多集群成員的判斷。如果是,則集群主機(jī)推斷其它網(wǎng)絡(luò)裝置應(yīng)當(dāng)成為集群主機(jī)。過程分支到塊490,在此當(dāng)前集群主機(jī)如上所述離開該集群。
然而,如果在判定塊493集群主機(jī)確定其和發(fā)送者網(wǎng)絡(luò)裝置具有相同數(shù)量的集群成員,則過程進(jìn)入到判定塊494,在此集群主機(jī)將網(wǎng)絡(luò)地址與發(fā)送者網(wǎng)絡(luò)裝置相比較作為可能的相持中斷。然而,本發(fā)明并不限于比較網(wǎng)絡(luò)地址,而是實(shí)際上可以應(yīng)用任何其它的相持中斷機(jī)制而不偏離本發(fā)明的范圍。在任何一種情況下,在一個(gè)實(shí)施例中,在塊494,集群主機(jī)判斷它在保持活動(dòng)消息在其上接收的網(wǎng)絡(luò)上的網(wǎng)絡(luò)地址是否小于所接收“集群主機(jī)保持活動(dòng)”消息的源網(wǎng)絡(luò)地址。如果是,則過程如上所述分支到塊486;否則集群主機(jī)輸?shù)袅讼喑种袛啵⑶疫^程分支到塊490,在此集群主機(jī)如上所述通過分支到塊490離開集群。
集群成員的示例性操作在集群已經(jīng)形成之后,每個(gè)非集群主機(jī)的集群成員(客戶端)都可以發(fā)送保持活動(dòng)消息到集群主機(jī)。在一個(gè)實(shí)施例中,保持活動(dòng)消息包括非集群主機(jī)成員的連通性信息。在另外一個(gè)實(shí)施例中,保持活動(dòng)消息被定期發(fā)送到集群主機(jī)。保持活動(dòng)消息的頻率可以基于各種機(jī)制中的任何一種確定,各種機(jī)制包括但不限于適應(yīng)性地使頻率基于由集群主機(jī)相關(guān)聯(lián)的保持活動(dòng)消息。
此外,無論它們是否檢測(cè)到連通性變化,每個(gè)客戶端都可以發(fā)送客戶端保持活動(dòng)消息。這個(gè)消息集中精力于集群主機(jī)之上的加速處理,典型地,在其能夠確定新的集群成員資格之前通知其該變化。
圖5根據(jù)本發(fā)明的一個(gè)實(shí)施例,舉例說明了通常展示集群成員(客戶端)管理與集群主機(jī)的連通性通信的過程的一個(gè)實(shí)施例的流程圖。
圖5的過程500在開始?jí)K之后,在當(dāng)集群成員發(fā)送包含其更新后的連通性信息的保持活動(dòng)消息時(shí)開始的。在一個(gè)實(shí)施例中,為計(jì)算分組丟失而應(yīng)用單調(diào)遞增的序號(hào)發(fā)送保持活動(dòng)消息。一旦完成塊502,過程退出到呼叫處理以執(zhí)行其它動(dòng)作。
應(yīng)當(dāng)理解以上所討論的流程圖示例的每個(gè)塊,以及以上流程圖示例中塊的組合能夠由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些程序指令可以提供給處理器以產(chǎn)生這樣的機(jī)制,即使得在處理器之上執(zhí)行的指令創(chuàng)建用于實(shí)現(xiàn)流程圖中的塊和各塊中指定的動(dòng)作的方法。計(jì)算機(jī)程序指令可以由處理器執(zhí)行以促使處理器執(zhí)行一系列的操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理過程,使得在處理器之上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖中的塊和各塊中指定的動(dòng)作的步驟。
因此,流程圖示例的各塊支持用于執(zhí)行指定動(dòng)作的方法的組合、用于執(zhí)行指定動(dòng)作的步驟的組合以及用于執(zhí)行指定動(dòng)作的程序指令方法的組合。還應(yīng)當(dāng)理解的是,流程圖示例的每個(gè)塊以及流程圖示例中塊的組合能夠由執(zhí)行指定動(dòng)作或步驟的專用基于硬件的系統(tǒng)、或?qū)S糜布陀?jì)算機(jī)指令的組合實(shí)現(xiàn)。
以上說明、實(shí)例、以及數(shù)據(jù)提供了本發(fā)明組成的制造和使用的完整描述。由于本發(fā)明的許多實(shí)施例都可以不偏離本發(fā)明的精神與范圍而構(gòu)成,本發(fā)明存在于以下所附的權(quán)利要求書中。
權(quán)利要求
1.一種用于管理集群系統(tǒng)中的網(wǎng)絡(luò)故障的網(wǎng)絡(luò)裝置,包括用于發(fā)送和接收信息的收發(fā)信機(jī);連接到所述收發(fā)信機(jī)、并被配置用于執(zhí)行各種動(dòng)作的處理器,這些動(dòng)作包括接收與其他網(wǎng)絡(luò)裝置有關(guān)的連通性信息;并且如果所述接收的連通性信息基本上不同于與所述集群系統(tǒng)相關(guān)的連通性信息集合,則拒絕給予所述其他網(wǎng)絡(luò)裝置集群成員資格。
2.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)裝置,進(jìn)一步包括確定與所述網(wǎng)絡(luò)裝置相關(guān)的另一連通性信息;以及如果與所述網(wǎng)絡(luò)裝置相關(guān)的所述另一連通性信息基本上不同于與所述集群系統(tǒng)相關(guān)的連通性信息集合,則退出所述集群系統(tǒng)。
3.根據(jù)權(quán)利要求2的網(wǎng)絡(luò)裝置,其中如果與所述網(wǎng)絡(luò)裝置相關(guān)的所述另一連通性信息基本上不同,則發(fā)送退出消息到所述集群系統(tǒng)。
4.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)裝置,其中所述接收的連通性信息進(jìn)一步包括識(shí)別網(wǎng)絡(luò)的信息以及所述其他網(wǎng)絡(luò)裝置是否具有到所述識(shí)別的網(wǎng)絡(luò)的連通性的信息。
5.根據(jù)權(quán)利要求4的網(wǎng)絡(luò)裝置,其中所述網(wǎng)絡(luò)的識(shí)別進(jìn)一步包括網(wǎng)絡(luò)地址和網(wǎng)絡(luò)掩碼長度的至少其中之一。
6.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)裝置,其中所述處理器還被配置用于執(zhí)行各種動(dòng)作,這些動(dòng)作進(jìn)一步包括部分基于所述接收的連通性信息,判斷所述其它網(wǎng)絡(luò)裝置是否針對(duì)與所述集群系統(tǒng)相同的網(wǎng)絡(luò)集合而配置;部分基于所述接收的連通性信息,判斷所述其它網(wǎng)絡(luò)裝置是否具有對(duì)與所述集群系統(tǒng)相同的網(wǎng)絡(luò)集合的連通性;以及如果所述其它網(wǎng)絡(luò)裝置是針對(duì)不同的網(wǎng)絡(luò)集合而不是針對(duì)所述集群系統(tǒng)而配置的,或者所述其它網(wǎng)絡(luò)裝置具有對(duì)不同的網(wǎng)絡(luò)集合而不是對(duì)所述集群系統(tǒng)的連通性,則將所述接收的連通性信息標(biāo)記為基本上不同于所述集群系統(tǒng)。
7.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)裝置,其中拒絕給予所述其他網(wǎng)絡(luò)裝置集群成員資格還包括拒絕來自所述其它網(wǎng)絡(luò)裝置的加入所述集群系統(tǒng)的請(qǐng)求,以及請(qǐng)求所述其它網(wǎng)絡(luò)裝置退出所述集群系統(tǒng)的至少其中之一。
8.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)裝置,其中所述處理器配置用于執(zhí)行動(dòng)作,進(jìn)一步包括應(yīng)用連通性定時(shí)器,以延遲對(duì)所述群集系統(tǒng)的成員資格進(jìn)行更改。
9.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)裝置,其中所述處理器配置用于執(zhí)行動(dòng)作,這些動(dòng)作進(jìn)一步包括接收來自第三網(wǎng)絡(luò)裝置的指示所述第三網(wǎng)絡(luò)裝置正試圖運(yùn)行作為所述集群系統(tǒng)的集群主機(jī)的消息;如果所述網(wǎng)絡(luò)裝置具有比所述第三網(wǎng)絡(luò)裝置更高的連通性,則發(fā)送指示存在另一個(gè)集群主機(jī)的響應(yīng)到所述第三網(wǎng)絡(luò)裝置;如果所述網(wǎng)絡(luò)裝置具有與所述第三網(wǎng)絡(luò)裝置基本上相同的連通性,以及如果所述網(wǎng)絡(luò)裝置具有比所述第三網(wǎng)絡(luò)裝置更多的集群成員,則發(fā)送指示存在另一個(gè)集群主機(jī)的響應(yīng)到所述第三網(wǎng)絡(luò)裝置;以及如果所述網(wǎng)絡(luò)裝置具有與所述第三網(wǎng)絡(luò)裝置基本上相同的連通性,如果所述網(wǎng)絡(luò)裝置具有與所述第三網(wǎng)絡(luò)裝置基本上相同的集群成員,以及如果與所述網(wǎng)絡(luò)裝置相關(guān)的網(wǎng)絡(luò)地址基本上小于與所述第三網(wǎng)絡(luò)裝置相關(guān)的網(wǎng)絡(luò)地址,則發(fā)送指示存在另一個(gè)集群主機(jī)的響應(yīng)到所述第三網(wǎng)絡(luò)裝置。
10.根據(jù)權(quán)利要求9的網(wǎng)絡(luò)裝置,其中所述處理器配置用于執(zhí)行動(dòng)作,這些動(dòng)作進(jìn)一步包括如果所述網(wǎng)絡(luò)裝置具有與所述第三裝置基本上相同的連通性,以及如果所述網(wǎng)絡(luò)裝置具有比所述第三網(wǎng)絡(luò)裝置基本上更好的系統(tǒng)性能,則發(fā)送指示存在另一個(gè)集群主機(jī)的響應(yīng)到所述第三網(wǎng)絡(luò)裝置。
11.一種用于管理集群系統(tǒng)中的網(wǎng)絡(luò)故障的方法,包括接收與網(wǎng)絡(luò)裝置相關(guān)的連通性信息;以及如果所述接收的連通性信息基本上不同于與所述集群系統(tǒng)相關(guān)的連通性信息集合,則拒絕給予所述網(wǎng)絡(luò)裝置集群成員資格。
12.根據(jù)權(quán)利要求11的方法,其中所述接收的連通性信息進(jìn)一步包括識(shí)別網(wǎng)絡(luò)的信息,以及所述網(wǎng)絡(luò)裝置是否具有到所述識(shí)別的網(wǎng)絡(luò)的連通性的信息。
13.根據(jù)權(quán)利要求11的方法,其中拒絕給予所述網(wǎng)絡(luò)裝置集群成員資格進(jìn)一步包括拒絕來自所述網(wǎng)絡(luò)裝置的加入所述集群系統(tǒng)的請(qǐng)求,以及請(qǐng)求所述網(wǎng)絡(luò)裝置退出所述集群系統(tǒng)的至少其中之一。
14.一種用于管理集群系統(tǒng)中的網(wǎng)絡(luò)故障的系統(tǒng),包括配置用于執(zhí)行各種動(dòng)作的網(wǎng)絡(luò)裝置,這些動(dòng)作包括發(fā)送加入所述集群系統(tǒng)的請(qǐng)求;以及發(fā)送與所述網(wǎng)絡(luò)裝置有關(guān)的連通性信息;以及配置用于執(zhí)行各種動(dòng)作的集群主機(jī),這些動(dòng)作包括接收與所述網(wǎng)絡(luò)裝置有關(guān)的連通性信息;以及如果所述接收的連通性信息基本上不同于與所述集群系統(tǒng)相關(guān)的連通性信息集合,則拒絕給予所述網(wǎng)絡(luò)裝置集群成員資格。
15.根據(jù)權(quán)利要求14的系統(tǒng),其中所述集群主機(jī)還配置用于執(zhí)行各種動(dòng)作,這些動(dòng)作進(jìn)一步包括部分基于所述接收的連通性信息,判斷所述網(wǎng)絡(luò)裝置是否針對(duì)與所述集群系統(tǒng)相同的網(wǎng)絡(luò)集合而配置;部分基于所述接收的連通性信息,判斷所述網(wǎng)絡(luò)裝置是否具有到與所述集群系統(tǒng)相同的網(wǎng)絡(luò)集合的連通性;以及如果所述網(wǎng)絡(luò)裝置是針對(duì)不同的網(wǎng)絡(luò)集合而不是針對(duì)所述集群系統(tǒng)而配置的,或者所述網(wǎng)絡(luò)裝置具有對(duì)不同的網(wǎng)絡(luò)集合而不是對(duì)所述集群系統(tǒng)的連通性,則將所述接收的連通性信息標(biāo)記為基本上不同于所述集群系統(tǒng)。
16.根據(jù)權(quán)利要求14的系統(tǒng),其中拒絕給予所述網(wǎng)絡(luò)裝置集群成員資格進(jìn)一步包括請(qǐng)求所述其它網(wǎng)絡(luò)裝置退出所述集群系統(tǒng)。
17.根據(jù)權(quán)利要求14的系統(tǒng),其中所述集群主機(jī)配置用于執(zhí)行動(dòng)作,這些動(dòng)作進(jìn)一步包括應(yīng)用連通性定時(shí)器,以延遲對(duì)所述集群系統(tǒng)的成員資格進(jìn)行更改。
18.根據(jù)權(quán)利要求14的系統(tǒng),其中所述集群主機(jī)被配置用于執(zhí)行各種動(dòng)作,這些動(dòng)作進(jìn)一步包括接收來自其他網(wǎng)絡(luò)裝置的指示所述其他網(wǎng)絡(luò)裝置正試圖運(yùn)行作為所述集群系統(tǒng)的集群主機(jī)的消息;如果所述集群主機(jī)具有比所述其他裝置更高的連通性,則發(fā)送指示存在另一個(gè)集群主機(jī)的響應(yīng)到所述其他網(wǎng)絡(luò)裝置;如果所述集群主機(jī)具有與所述其他網(wǎng)絡(luò)裝置基本上相同的連通性,以及如果所述集群主機(jī)具有比所述其他網(wǎng)絡(luò)裝置更多的集群成員,則發(fā)送指示存在另一個(gè)集群主機(jī)的響應(yīng)到所述其他網(wǎng)絡(luò)裝置;以及如果所述集群主機(jī)具有與所述其他網(wǎng)絡(luò)裝置基本上相同的連通性,如果所述集群主機(jī)具有與所述其他網(wǎng)絡(luò)裝置基本上相同的集群成員,以及如果與所述集群主機(jī)相關(guān)的網(wǎng)絡(luò)地址基本上小于與所述其他網(wǎng)絡(luò)裝置相關(guān)的網(wǎng)絡(luò)地址,則發(fā)送指示存在另一個(gè)集群主機(jī)的響應(yīng)到所述其他網(wǎng)絡(luò)裝置。
19.根據(jù)權(quán)利要求14的系統(tǒng),其中所述網(wǎng)絡(luò)裝置配置用于執(zhí)行動(dòng)作,這些動(dòng)作進(jìn)一步包括檢測(cè)其連通性的改變;更新與所述網(wǎng)絡(luò)裝置相關(guān)的連通性信息;以及發(fā)送所述更新的連通性信息到所述集群主機(jī)。
20.根據(jù)權(quán)利要求19的系統(tǒng),其中發(fā)送所述更新的連通性信息進(jìn)一步包括在保持活動(dòng)消息內(nèi)發(fā)送所述更新的連通性信息,其中使單調(diào)遞增序號(hào)與所述保持活動(dòng)消息相關(guān)聯(lián)以實(shí)現(xiàn)分組丟失計(jì)算。
21.一種用于管理集群系統(tǒng)中的故障的設(shè)備,包括用于接收與網(wǎng)絡(luò)裝置相關(guān)的連通性信息的裝置;用于確定所述接收的連通性信息是否基本上不同于與所述集群系統(tǒng)相關(guān)的連通性信息集合的裝置;以及如果所述接收的連通性信息基本上不同于與所述集群系統(tǒng)相關(guān)聯(lián)的連通性信息集合,則應(yīng)用用于拒絕給予所述網(wǎng)絡(luò)裝置集群成員資格的裝置。
22.一種用于實(shí)現(xiàn)集群系統(tǒng)中的故障管理的調(diào)制數(shù)據(jù)信號(hào),包括通過網(wǎng)絡(luò)裝置發(fā)送加入所述集群系統(tǒng)的請(qǐng)求;通過所述網(wǎng)絡(luò)裝置發(fā)送與所述網(wǎng)絡(luò)裝置相關(guān)的連通性信息到集群主機(jī);以及如果所述接收的連通性信息基本上不同于與所述集群主機(jī)相關(guān)的連通性信息集合,則由所述集群主機(jī)發(fā)送拒絕給予所述網(wǎng)絡(luò)裝置集群成員資格的消息。
全文摘要
一種用于在網(wǎng)絡(luò)集群系統(tǒng)中的網(wǎng)絡(luò)故障之后用于最大化網(wǎng)絡(luò)連通性的裝置、方法和系統(tǒng)。集群中的集群主機(jī)配置用于部分基于成員到相鄰網(wǎng)絡(luò)的連通性,管理所述集群的成員資格。網(wǎng)絡(luò)裝置發(fā)送有關(guān)其連通性的信息到集群主機(jī)。集群主機(jī)比較所接收的信息以確定網(wǎng)絡(luò)裝置是否具有與該集群不同的連通性。如果網(wǎng)絡(luò)裝置具有不同的連通性,則集群主機(jī)可以拒絕給予該網(wǎng)絡(luò)裝置集群成員資格。通過拒絕具有不同連通性的網(wǎng)絡(luò)裝置,本發(fā)明確保由集群接收的數(shù)據(jù)實(shí)際上由任何集群成員以基本上相等的可靠性傳遞。從而,甚至可能拒絕集群主機(jī)成為集群的成員資格。
文檔編號(hào)G06F11/00GK1943206SQ200580011738
公開日2007年4月4日 申請(qǐng)日期2005年4月14日 優(yōu)先權(quán)日2004年4月28日
發(fā)明者彼得·F·亨特, 阿南德·薩布瑞曼尼安 申請(qǐng)人:諾基亞公司