用于在中間件機(jī)器環(huán)境中確?;ヂ?lián)網(wǎng)協(xié)議(ip)地址和節(jié)點(diǎn)名稱一致性的系統(tǒng)和方法
【專利說(shuō)明】用于在中間件機(jī)器環(huán)境中確保互聯(lián)網(wǎng)協(xié)議(IP)地址和節(jié)點(diǎn)名稱一致性的系統(tǒng)和方法
[0001]版權(quán)聲明
[0002]本專利文獻(xiàn)的公開(kāi)內(nèi)容的一部分包含受到版權(quán)保護(hù)的資料。版權(quán)所有人不反對(duì)任何人按照其在專利商標(biāo)局專利文件或記錄中所出現(xiàn)的那樣對(duì)專利文獻(xiàn)或?qū)@_(kāi)內(nèi)容進(jìn)行復(fù)制,但是在其他方面保留所涉及的所有版權(quán)權(quán)利。
技術(shù)領(lǐng)域
[0003]本發(fā)明總體上涉及計(jì)算機(jī)系統(tǒng),并且特別涉及中間件機(jī)器環(huán)境。
【背景技術(shù)】
[0004]互連網(wǎng)絡(luò)在下一代的超級(jí)計(jì)算機(jī)、集群和數(shù)據(jù)中心中扮演有益的角色。舉例來(lái)說(shuō),InfiniBand(IB)技術(shù)已經(jīng)被越來(lái)越多地部署,以作為云計(jì)算結(jié)構(gòu)的基礎(chǔ)。隨著更大的云計(jì)算架構(gòu)被引入,與傳統(tǒng)的網(wǎng)絡(luò)和存儲(chǔ)相關(guān)聯(lián)的性能和管理瓶頸已經(jīng)成為嚴(yán)重的問(wèn)題。
[0005]這正是本發(fā)明的實(shí)施例意圖解決的總體領(lǐng)域。
【發(fā)明內(nèi)容】
[0006]這里描述了一種可以在通過(guò)對(duì)應(yīng)于相同的遠(yuǎn)程對(duì)等方的多個(gè)無(wú)關(guān)的IP地址實(shí)施遠(yuǎn)程事務(wù)時(shí)確?;ヂ?lián)網(wǎng)協(xié)議(IP)地址和節(jié)點(diǎn)名稱一致性的系統(tǒng)和方法。所述系統(tǒng)可以確保所有協(xié)作對(duì)等節(jié)點(diǎn)在任意時(shí)間點(diǎn)都完全同意所述名稱和IP地址。具體來(lái)說(shuō),當(dāng)網(wǎng)絡(luò)配置可以被動(dòng)態(tài)地更新時(shí),所述系統(tǒng)可以確保這樣的更新不會(huì)由于某一對(duì)等節(jié)點(diǎn)在將要使用哪些地址方面的觀點(diǎn)陳舊而導(dǎo)致不一致的或者失敗的事務(wù)。此外,發(fā)起事務(wù)的對(duì)等節(jié)點(diǎn)可以驗(yàn)證所有其他對(duì)等節(jié)點(diǎn)對(duì)于總體系統(tǒng)配置都具有完全相同的觀點(diǎn),以便確保利用一致的地址信息來(lái)實(shí)施每一項(xiàng)分布式事務(wù)。
【附圖說(shuō)明】
[0007]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例在中間件機(jī)器環(huán)境中利用高度可用的通信來(lái)支持分布式事務(wù)的圖示。
[0008]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例在中間件機(jī)器環(huán)境中確保一致的地址信息以用于支持分布式事務(wù)的圖示。
[0009]圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例在中間件機(jī)器環(huán)境中發(fā)生網(wǎng)絡(luò)配置改變時(shí)支持分布式事務(wù)的圖示。
[0010]圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)應(yīng)于在中間件機(jī)器環(huán)境中確保一致的地址信息以用于支持分布式事務(wù)的示例性流程圖。
[0011]圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)應(yīng)于在中間件機(jī)器環(huán)境中確保一致的地址信息以用于支持分布式事務(wù)的示例性方框圖。
[0012]圖6示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)等節(jié)點(diǎn)。
【具體實(shí)施方式】
[0013]在附圖中通過(guò)舉例而非限制的方式示出了本發(fā)明,其中相同的附圖標(biāo)記表示類似的元件。應(yīng)當(dāng)提到的是,在本公開(kāi)內(nèi)容中提到“某一”、“一個(gè)”或“一些”實(shí)施例時(shí)并不一定都是指相同的實(shí)施例,而是意味著至少一個(gè)實(shí)施例。
[0014]后面對(duì)于本發(fā)明的描述使用互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)作為計(jì)算機(jī)網(wǎng)絡(luò)的一個(gè)實(shí)例。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,在不做限制的情況下可以使用其他類型的計(jì)算機(jī)網(wǎng)絡(luò)。
[0015]這里描述了一種可以在中間件機(jī)器環(huán)境中確保系統(tǒng)配置一致性(比如IP地址和節(jié)點(diǎn)名稱一致性)的系統(tǒng)和方法。
[0016]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例在中間件機(jī)器環(huán)境中利用高度可用的通信來(lái)支持分布式事務(wù)的圖示。如圖1中所示,中間件機(jī)器環(huán)境100可以包括通過(guò)不同的子網(wǎng)(例如子網(wǎng)A-C 111-113)互連的一個(gè)或多個(gè)對(duì)等節(jié)點(diǎn)A-D 101-104。每一個(gè)對(duì)等節(jié)點(diǎn)A-D101-104可以與不同的IP地址(例如IP地址121-124)和各種網(wǎng)絡(luò)接口(例如網(wǎng)絡(luò)接口131-134)相關(guān)聯(lián)。
[0017]根據(jù)本發(fā)明的一個(gè)實(shí)施例,在中間件機(jī)器環(huán)境100中,可以通過(guò)多個(gè)網(wǎng)絡(luò)(或子網(wǎng))并且通過(guò)多個(gè)本地網(wǎng)絡(luò)接口以及多個(gè)獨(dú)立的本地和遠(yuǎn)程IP地址利用高度可用的通信來(lái)執(zhí)行或?qū)嵤└鞣N分布式事務(wù)。
[0018]此外,所有協(xié)作對(duì)等節(jié)點(diǎn)A-D 101-104可以在任意時(shí)間點(diǎn)都完全同意對(duì)于每一個(gè)這樣的對(duì)等方是相關(guān)的名稱和IP地址。此外,當(dāng)網(wǎng)絡(luò)配置(例如網(wǎng)絡(luò)配置110)被動(dòng)態(tài)地更新時(shí),有益的是確保這樣的更新不會(huì)由于某一對(duì)等方在將要使用哪些地址方面的觀點(diǎn)(view)陳舊而導(dǎo)致不一致的或者失敗的事務(wù)。
[0019]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例在中間件機(jī)器環(huán)境中確保一致的地址信息以用于支持分布式事務(wù)的圖示。如圖2中所示,在中間件機(jī)器環(huán)境200中,對(duì)等節(jié)點(diǎn)A 201可以與一個(gè)或多個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)(例如對(duì)等節(jié)點(diǎn)B 202)發(fā)起分布式事務(wù)210。在這里,對(duì)等節(jié)點(diǎn)A 201與網(wǎng)絡(luò)地址211-212相關(guān)聯(lián),并且對(duì)等節(jié)點(diǎn)202與網(wǎng)絡(luò)地址221-223相關(guān)聯(lián)。
[0020]為了確保可以利用一致的地址信息來(lái)實(shí)施分布式事務(wù)210,對(duì)等節(jié)點(diǎn)A 201可以驗(yàn)證所有其他的對(duì)等節(jié)點(diǎn)(比如對(duì)等節(jié)點(diǎn)B 202)都具有與其自身完全相同的關(guān)于總體系統(tǒng)配置220的觀點(diǎn)。
[0021]根據(jù)本發(fā)明的一個(gè)實(shí)施例,將由發(fā)起分布式事務(wù)210的對(duì)等節(jié)點(diǎn)A 201檢查的信息可以包括與每一個(gè)對(duì)等節(jié)點(diǎn)相關(guān)聯(lián)的一個(gè)或多個(gè)獨(dú)有名稱、網(wǎng)絡(luò)列表以及對(duì)于每一個(gè)單獨(dú)網(wǎng)絡(luò)應(yīng)當(dāng)能夠經(jīng)由其到達(dá)每一個(gè)對(duì)等節(jié)點(diǎn)的IP地址。
[0022]此外,每一個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)(例如對(duì)等節(jié)點(diǎn)B 202)可以在做出響應(yīng)之前確保關(guān)于其自身的信息與本地OS/聯(lián)網(wǎng)配置230是一致的。因此,所述系統(tǒng)可以確保管理員錯(cuò)誤不會(huì)阻礙分布式事務(wù)的一致執(zhí)行。
[0023]圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例在中間件機(jī)器環(huán)境中發(fā)生網(wǎng)絡(luò)配置改變時(shí)支持分布式事務(wù)的圖示。如圖3中所示,可以在中間件機(jī)器環(huán)境300中實(shí)施涉及對(duì)等節(jié)點(diǎn)A-C 301-303的分布式事務(wù)。在這里,對(duì)等節(jié)點(diǎn)A 301可以與網(wǎng)絡(luò)地址311相關(guān)聯(lián),對(duì)等節(jié)點(diǎn)B 302可以與網(wǎng)絡(luò)地址321-322相關(guān)聯(lián),并且對(duì)等節(jié)點(diǎn)C 303可以與網(wǎng)絡(luò)地址331-333相關(guān)聯(lián)。
[0024]根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)網(wǎng)絡(luò)配置320中的改變發(fā)生時(shí),在可以實(shí)施任何后續(xù)的分布式事務(wù)之前,所述系統(tǒng)可以將所有協(xié)作對(duì)等節(jié)點(diǎn)A-C 301-303帶入同步。此外,只要可以實(shí)現(xiàn)所需的一致性,網(wǎng)絡(luò)配置320的更新可以是自動(dòng)的或者是人工的。
[0025]此外,對(duì)于在聯(lián)網(wǎng)地址信息方面具有潛在改變的協(xié)作對(duì)等節(jié)點(diǎn)A-C301-303的固定集合,在所有協(xié)作對(duì)等節(jié)點(diǎn)A-C 301-303之間的網(wǎng)絡(luò)配置并不一致的時(shí)段期間,由所述系統(tǒng)作為每一項(xiàng)分布式事務(wù)的一部分所實(shí)施的魯棒一致性檢查能夠足以確保不會(huì)成功地發(fā)起分布式事務(wù)。
[0026]此外還可能發(fā)生的情況是,協(xié)作節(jié)點(diǎn)A-C 301-303的集合就成員節(jié)點(diǎn)列表自身而言可能不同步。除了哪些地址與每一個(gè)節(jié)點(diǎn)相關(guān)聯(lián)之外,所述魯棒一致性檢查可以確保每一個(gè)協(xié)作節(jié)點(diǎn)A-C 301-303在總的節(jié)點(diǎn)集合是什么方面具有相同的觀點(diǎn)。舉例來(lái)說(shuō),如果協(xié)作對(duì)等節(jié)點(diǎn)的列表將被改變,所述系統(tǒng)可以利用前面的方案檢測(cè)網(wǎng)絡(luò)配置320中的改變(或不一致性)。
[0027]根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以同步地檢測(cè)網(wǎng)絡(luò)配置320中的改變(或不一致性),并且可以適當(dāng)?shù)貦z查和更新總體配置信息,以便允許后續(xù)的事務(wù)發(fā)生。
[0028]如圖3中所示,在分布式事務(wù)的執(zhí)行期間,網(wǎng)絡(luò)地址331可以被動(dòng)態(tài)地改變。網(wǎng)絡(luò)配置320中的這一改變(或不一致性)可能在分布式事務(wù)期間不再使用相關(guān)地址(或者完全不使用相關(guān)地址)之后發(fā)生。在這些情況下,網(wǎng)絡(luò)配置320中的改變(或不一致性)對(duì)于實(shí)施所述事務(wù)可能不會(huì)導(dǎo)致任何問(wèn)題。
[0029]此外,網(wǎng)絡(luò)配置320中的改變可能在所述地址仍被使用時(shí)或者在其被使用之前發(fā)生。在這樣的情況下,所述問(wèn)題可以通過(guò)地址探測(cè)操作被檢測(cè)到,通過(guò)作為遠(yuǎn)程操作的一部分的明確檢查操作被檢測(cè)到,或者在實(shí)際通信期間作為通信失敗(例如TCP超時(shí))被處理。
[0030]圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)應(yīng)于在中間件機(jī)器環(huán)境中確保一致的地址信息以用于支持分布式事務(wù)的示例性流程圖。如圖4中所示,在步驟401處,對(duì)等節(jié)點(diǎn)可以發(fā)起與一個(gè)或多個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)的一項(xiàng)或多項(xiàng)分布式事務(wù),其中每一個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)可以與多個(gè)網(wǎng)絡(luò)地址相關(guān)聯(lián)。隨后,在步驟402處,所述對(duì)等節(jié)點(diǎn)可以驗(yàn)證每一個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)關(guān)于系統(tǒng)配置具有相同的觀點(diǎn)。此外,在步驟403處,所述系統(tǒng)可以通過(guò)與所述遠(yuǎn)程對(duì)等節(jié)點(diǎn)相關(guān)聯(lián)的多個(gè)網(wǎng)絡(luò)地址執(zhí)行分布式事務(wù)。
[0031]圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的對(duì)應(yīng)于在中間件機(jī)器環(huán)境中確保一致的地址信息以用于支持分布式事務(wù)的示例性方框圖。如圖5中所示,每一個(gè)對(duì)等節(jié)點(diǎn)包括網(wǎng)絡(luò)管理器501、網(wǎng)絡(luò)接口 502、事務(wù)執(zhí)行模塊503以及驗(yàn)證模塊504。網(wǎng)絡(luò)管理器501管理系統(tǒng)配置,其與所有協(xié)作對(duì)等節(jié)點(diǎn)有關(guān),并且包括一個(gè)或多個(gè)獨(dú)有名稱、網(wǎng)絡(luò)列表以及互聯(lián)網(wǎng)協(xié)議(IP)地址。網(wǎng)絡(luò)接口 502充當(dāng)用于向/從一個(gè)或多個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)傳送和接收信號(hào)的物理層。
[0032]響應(yīng)于任何明確的或隱含的事件,事務(wù)執(zhí)行模塊503發(fā)起與一個(gè)或多個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)的分布式事務(wù)。每一項(xiàng)分布式事務(wù)與多個(gè)網(wǎng)絡(luò)地址相關(guān)聯(lián)。驗(yàn)證模塊504驗(yàn)證所述一個(gè)或多個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)在系統(tǒng)配置方面都具有相同的觀點(diǎn)。作為一種示例性實(shí)現(xiàn)方式,驗(yàn)證模塊504從其自身的對(duì)等節(jié)點(diǎn)中的網(wǎng)絡(luò)管理器501獲得系統(tǒng)配置并且從所述一個(gè)或多個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)獲得(多項(xiàng))系統(tǒng)配置,并且隨后將其彼此進(jìn)行比較以確保一致的地址信息。
[0033]一旦事務(wù)執(zhí)行模塊503接收到來(lái)自驗(yàn)證模塊504的成功驗(yàn)證結(jié)果,事務(wù)執(zhí)行模塊503就開(kāi)始通過(guò)與一個(gè)或多個(gè)遠(yuǎn)程對(duì)等節(jié)點(diǎn)相關(guān)聯(lián)的多個(gè)網(wǎng)絡(luò)地址執(zhí)行分布式