專利名稱:用于在分布式計(jì)算體系結(jié)構(gòu)中執(zhí)行作業(yè)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于在分布式計(jì)算體系結(jié)構(gòu)(例如,網(wǎng)格體系結(jié)構(gòu))中執(zhí)行作業(yè)的系統(tǒng)和方法,更具體地,涉及在故障情況下,保證完成被指派給分布式計(jì)算體系結(jié)構(gòu)中的特定工作者客戶機(jī)(worker client)的作業(yè)的執(zhí)行。本專利申請(qǐng)中使用的術(shù)語(yǔ)“分布式計(jì)算體系結(jié)構(gòu)”意指諸數(shù)據(jù)處理系統(tǒng)(工作者客戶機(jī))的任何大型協(xié)作,在該協(xié)作中單個(gè)數(shù)據(jù)處理系統(tǒng)的所有者允許將他們的計(jì)算機(jī)的一些處理時(shí)間用于服務(wù)于大型問(wèn)題。分布式計(jì)算體系結(jié)構(gòu)包括至少一個(gè)分布式管理服務(wù)器和n個(gè)工作者客戶機(jī)。分布式管理服務(wù)器獲得執(zhí)行任務(wù)的請(qǐng)求,將該任務(wù)劃分為較小的工作單元(作業(yè)),為每個(gè)作業(yè)選擇工作者客戶機(jī),將所述作業(yè)發(fā)送給所述選定的工作者客戶機(jī),接收來(lái)自單個(gè)工作者客戶機(jī)的結(jié)果,并將整合的結(jié)果返回給請(qǐng)求者。
本專利申請(qǐng)中使用的術(shù)語(yǔ)“網(wǎng)格體系結(jié)構(gòu)”是一種允許將第三方系統(tǒng)注冊(cè)為工作者客戶機(jī)的特定分布式計(jì)算體系結(jié)構(gòu)。
背景技術(shù):
更詳細(xì)地,分布式計(jì)算體系結(jié)構(gòu)(見(jiàn)圖1)包括安裝在若干工作者客戶機(jī)(5)上的軟件代理、及一個(gè)或多個(gè)專用的分布式計(jì)算管理服務(wù)器(2)。還可能存在請(qǐng)求工作者客戶機(jī),其具有允許請(qǐng)求工作者客戶機(jī)將作業(yè)隨同其所需資源的列表一起提交的軟件。
運(yùn)行于處理工作者客戶機(jī)上的代理檢測(cè)系統(tǒng)何時(shí)空閑,通知管理服務(wù)器(2)該系統(tǒng)可用于處理,并向服務(wù)器請(qǐng)求應(yīng)用包且當(dāng)其具有空閑CPU周期時(shí)運(yùn)行該軟件,并將結(jié)果回送給服務(wù)器。
分布式計(jì)算管理服務(wù)器(2)具有幾個(gè)職能。它們接受分布式計(jì)算請(qǐng)求(1),將它們的大型處理任務(wù)劃分為能夠運(yùn)行于單個(gè)系統(tǒng)上的較小工作單元(作業(yè),17),將應(yīng)用包和一些客戶機(jī)管理軟件發(fā)送給請(qǐng)求它們的空閑工作者客戶機(jī)(15、16),監(jiān)視正由該工作者客戶機(jī)運(yùn)行的作業(yè)的狀態(tài),并且對(duì)該客戶機(jī)發(fā)回的結(jié)果進(jìn)行組合(18)。
如果管理服務(wù)器在某一時(shí)間段之內(nèi)沒(méi)有從處理工作者客戶機(jī)收到回復(fù),因?yàn)楹荛L(zhǎng)一段時(shí)間以來(lái),該用戶已經(jīng)斷開了他的系統(tǒng)或他正繁重地使用該系統(tǒng),則管理服務(wù)器可將該相同應(yīng)用發(fā)送給另一空閑系統(tǒng)?;蛘?,它可能一次向幾個(gè)系統(tǒng)發(fā)出了該包,并設(shè)想將有多組結(jié)果被返回。該服務(wù)器還根據(jù)需要管理任何安全、策略、或其他管理功能。
分布式計(jì)算體系結(jié)構(gòu)的復(fù)雜性隨著它的大小和環(huán)境類型而增加。包括遍布于Web的多個(gè)部門、合伙人、或參與者的較大型環(huán)境需要復(fù)雜的資源識(shí)別、策略管理、驗(yàn)證、加密等。
顯然地,應(yīng)用本身必須適合于分布式計(jì)算。
在具有眾多工作者客戶機(jī)的分布式計(jì)算環(huán)境中,如果特定工作者客戶機(jī)發(fā)生故障,例如由于網(wǎng)絡(luò)連接失敗或它的過(guò)分使用,則存在著保證指派給該特定客戶機(jī)的作業(yè)的完成的問(wèn)題。當(dāng)前解決該問(wèn)題的方案是將該作業(yè)指派給另一個(gè)工作者客戶機(jī)(故障轉(zhuǎn)接系統(tǒng)),并在該新工作者客戶機(jī)上從頭重新啟動(dòng)該作業(yè)。一個(gè)根本的缺點(diǎn)是已由故障工作者客戶機(jī)完成的至少直到檢查點(diǎn)(checkpoint)的作業(yè)計(jì)算被丟失,如果實(shí)現(xiàn)了檢查點(diǎn)操作的話。
本專利申請(qǐng)中使用的術(shù)語(yǔ)檢查點(diǎn)意指程序中的指定點(diǎn),在此點(diǎn)處理被中斷且所有狀態(tài)信息被記錄以便在此點(diǎn)重新啟動(dòng)該進(jìn)程,由此不必從頭重復(fù)此處理。
此外,該方法需要或者通過(guò)所謂的心跳(heartbeat)(非常資源密集且很難在分布式計(jì)算基礎(chǔ)架構(gòu)中實(shí)現(xiàn))或者通過(guò)被設(shè)置為估計(jì)完成時(shí)間加上附加安全余量的超時(shí)來(lái)檢測(cè)工作者客戶機(jī)的故障。然而,這意味著分布式計(jì)算管理服務(wù)器在計(jì)算應(yīng)該已經(jīng)完成的時(shí)間點(diǎn)上重新啟動(dòng)該計(jì)算。其結(jié)果是在完成計(jì)算方面存在大的延遲。
如果實(shí)現(xiàn)了檢查點(diǎn)操作,則存在它可實(shí)現(xiàn)于其上的兩個(gè)可能的層次。
在工作者客戶機(jī)上的檢查點(diǎn)操作防范應(yīng)用軟件故障。工作者客戶機(jī)可以自動(dòng)地重新啟動(dòng)所指派的工作負(fù)載的計(jì)算。
在中央分布式管理服務(wù)器上的檢查點(diǎn)操作防范分布式計(jì)算基礎(chǔ)架構(gòu)中的所有故障。然而,它在資源消耗方面是非常昂貴的。每個(gè)工作者客戶機(jī)都需要與中央分布式管理服務(wù)器保持聯(lián)系,例如,這需要可靠的網(wǎng)絡(luò)連接和該管理服務(wù)器上的大的計(jì)算能力。
發(fā)明內(nèi)容
由此,本發(fā)明的目的在于提供用于在分布式計(jì)算體系結(jié)構(gòu)中執(zhí)行作業(yè)的改進(jìn)的方法和系統(tǒng),其避免了現(xiàn)有技術(shù)方案的不足。
本發(fā)明提供了用于在使用工作者客戶機(jī)的分布式計(jì)算體系結(jié)構(gòu)中執(zhí)行作業(yè)的系統(tǒng)和方法,這些工作者客戶機(jī)特征在于具有檢查點(diǎn)機(jī)制組件,其用于產(chǎn)生被指派給至少一個(gè)工作者客戶機(jī)的檢查點(diǎn)操作信息;至少一個(gè)故障轉(zhuǎn)接系統(tǒng),其被指派給該工作者客戶機(jī);用于在工作者客戶機(jī)發(fā)生故障的情況下,自動(dòng)向被指派給所述工作者客戶機(jī)的故障系統(tǒng)指派至少一個(gè)現(xiàn)有的或新創(chuàng)建的故障轉(zhuǎn)接系統(tǒng)的部件(故障轉(zhuǎn)接系統(tǒng)選擇部件),其中所指派的故障轉(zhuǎn)接系統(tǒng)提供所有的功能部件,以便當(dāng)所述所指派的工作者客戶機(jī)發(fā)生故障時(shí)接管作業(yè)的執(zhí)行,其中該所指派的故障轉(zhuǎn)接系統(tǒng)進(jìn)一步包括至少一個(gè)故障轉(zhuǎn)接監(jiān)視部件,其用于檢測(cè)所述所指派的工作者客戶機(jī)的故障轉(zhuǎn)接情況。
在下面詳細(xì)描述的說(shuō)明中,本發(fā)明的上述及其他目的、特征和優(yōu)點(diǎn)將是顯而易見(jiàn)的。
在所附權(quán)利要求中陳述了本發(fā)明的新穎特征。然而,通過(guò)結(jié)合附圖參考下述對(duì)示例實(shí)施例的詳細(xì)說(shuō)明,將對(duì)本發(fā)明本身、及其優(yōu)選使用模式、進(jìn)一步的目的和優(yōu)點(diǎn)有更好的理解,其中
圖1顯示現(xiàn)有技術(shù)的分布式計(jì)算體系結(jié)構(gòu);圖2A顯示本發(fā)明在根據(jù)圖1的分布式計(jì)算體系結(jié)構(gòu)中的基本實(shí)現(xiàn);圖2B顯示本發(fā)明在根據(jù)圖2A的體系結(jié)構(gòu)中的諸方法步驟的流程圖;圖2C顯示在本發(fā)明的分布式管理服務(wù)器中的處理流程;圖2D顯示在本發(fā)明的工作者客戶機(jī)中的處理流程;圖2E顯示在本發(fā)明的故障轉(zhuǎn)接系統(tǒng)中的處理流程;圖2F顯示本發(fā)明的優(yōu)選地作為分布式管理服務(wù)器的一部分的合并器中的處理流程;圖2G顯示本發(fā)明的在簡(jiǎn)化的分布式計(jì)算體系結(jié)構(gòu)中的故障轉(zhuǎn)接情形;圖3A顯示本發(fā)明在網(wǎng)格體系結(jié)構(gòu)中的優(yōu)選實(shí)現(xiàn);圖3B顯示作為根據(jù)圖3A的網(wǎng)格體系結(jié)構(gòu)中一部分的工作者客戶機(jī)的結(jié)構(gòu)的更詳細(xì)視圖;圖3C顯示作為根據(jù)圖3A的網(wǎng)格體系結(jié)構(gòu)中一部分的故障轉(zhuǎn)接系統(tǒng)的結(jié)構(gòu)的更詳細(xì)視圖;以及圖3D顯示作為根據(jù)圖3A的網(wǎng)格體系結(jié)構(gòu)中一部分的網(wǎng)格代理(broker)的結(jié)構(gòu)的更詳細(xì)視圖。
具體實(shí)施例方式
參考圖2A,其中顯示了在根據(jù)圖1的包括n個(gè)工作者客戶機(jī)5和至少一個(gè)分布式管理服務(wù)器2的分布式計(jì)算體系結(jié)構(gòu)中本發(fā)明的基本實(shí)現(xiàn)。向每個(gè)本發(fā)明的工作者客戶機(jī)5至少指派了一個(gè)檢查點(diǎn)機(jī)制3、n個(gè)故障轉(zhuǎn)接系統(tǒng)8、和一個(gè)故障轉(zhuǎn)接系統(tǒng)選擇部件39。
檢查點(diǎn)機(jī)制3向所有它的所指派的故障轉(zhuǎn)接系統(tǒng)8提供檢查點(diǎn)信息。
故障轉(zhuǎn)接系統(tǒng)8是后援系統(tǒng),其可在工作者客戶機(jī)5出現(xiàn)故障的任何時(shí)間接管該工作者客戶機(jī)的作業(yè)的執(zhí)行。工作者客戶機(jī)5可具有多個(gè)故障轉(zhuǎn)接系統(tǒng)8。故障轉(zhuǎn)接系統(tǒng)8能夠訪問(wèn)監(jiān)視著至少一個(gè)工作者客戶機(jī)5的監(jiān)視部件10,并且一旦工作者客戶機(jī)發(fā)生故障,則一個(gè)故障轉(zhuǎn)接系統(tǒng)8接管作業(yè)并繼續(xù)該作業(yè)的執(zhí)行。在故障轉(zhuǎn)接系統(tǒng)8相互之間存在通信,以便確保只有一個(gè)故障轉(zhuǎn)接系統(tǒng)8接管該作業(yè)(見(jiàn)分組/定額部件38)。應(yīng)該指出,如同對(duì)于工作者客戶機(jī)5,故障轉(zhuǎn)接系統(tǒng)8也可以是虛擬工作者客戶機(jī)5。故障轉(zhuǎn)接系統(tǒng)8可充當(dāng)對(duì)于多個(gè)工作者客戶機(jī)5上的多個(gè)作業(yè)的監(jiān)視器。故障轉(zhuǎn)接系統(tǒng)8′也可以是并行地運(yùn)行的多個(gè)作業(yè)的工作者客戶機(jī)5。在此情況下,每個(gè)故障轉(zhuǎn)接系統(tǒng)8′還另外包括作為任何其他工作者客戶機(jī)工作所需的所有功能部件,例如另外包括如下所述的檢查點(diǎn)機(jī)制3和故障轉(zhuǎn)接系統(tǒng)選擇部件39。
從工作者客戶機(jī)到故障轉(zhuǎn)接系統(tǒng)的連接20-22可以是使用HTTP或IP協(xié)議的任何網(wǎng)絡(luò)連接。但是,使用任何其他現(xiàn)有技術(shù)的通信協(xié)議的任何其他連接都可替代使用。
故障轉(zhuǎn)接系統(tǒng)選擇部件39提供了選擇故障轉(zhuǎn)接系統(tǒng)并將它們指派給特定工作者客戶機(jī)的功能。將結(jié)合圖3C對(duì)故障轉(zhuǎn)接系統(tǒng)選擇部件的特定實(shí)現(xiàn)細(xì)節(jié)進(jìn)行更詳細(xì)的描述。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,每個(gè)工作者客戶機(jī)5′另外還提供了作為故障轉(zhuǎn)接系統(tǒng)工作所需的所有功能部件,這意味著這樣它便可被另一個(gè)工作者客戶機(jī)5選擇作為故障轉(zhuǎn)接系統(tǒng)8。在上述優(yōu)選實(shí)施例中,還向每個(gè)工作者客戶機(jī)5′另外指派了監(jiān)視/心跳服務(wù)部件10,部件10提供了用于檢查要被指派的工作者客戶機(jī)5的狀態(tài)并答復(fù)來(lái)自工作者客戶機(jī)的狀態(tài)請(qǐng)求,例如工作或未工作的狀態(tài)信息的機(jī)制。
分布式管理服務(wù)器2至少包括工作者客戶機(jī)選擇服務(wù)部件15,其提供了確定運(yùn)行作業(yè)的工作者客戶機(jī)5的機(jī)制;工作單元傳輸部件16,其提供了發(fā)送應(yīng)用本身、作業(yè)參數(shù)和輸入文件,并從工作者客戶機(jī)5接收作業(yè)結(jié)果的機(jī)制;作業(yè)分割服務(wù)部件17,其提供了將處理任務(wù)分割為較小工作單元(作業(yè))的機(jī)制;以及合并/任務(wù)組合部件18,其提供了創(chuàng)建合并的結(jié)果并將其提供給請(qǐng)求系統(tǒng)1的機(jī)制;調(diào)度器服務(wù)部件19,其提供了將作業(yè)指派給作為分布式體系結(jié)構(gòu)的一部分且由工作者客戶機(jī)選擇服務(wù)部件預(yù)先選定的工作者客戶機(jī)的機(jī)制。
本發(fā)明的分布式計(jì)算體系結(jié)構(gòu)不需要任何中央實(shí)例。工作負(fù)載的分割和合并、調(diào)度、工作者客戶機(jī)的指派及工作者客戶機(jī)的選擇不是單一故障點(diǎn)(single point of failure)且不需要中央實(shí)例。只要求諸工作者客戶機(jī)通過(guò)某一公共網(wǎng)絡(luò)連接。只有當(dāng)該網(wǎng)絡(luò)的主要區(qū)域停止服務(wù)時(shí),所提出的高可用性系統(tǒng)才會(huì)失敗。
可以分布式方式完成每個(gè)管理動(dòng)作。以分布式方式可以很容易地實(shí)現(xiàn)分發(fā)和重新組合工作負(fù)載所需的、可能具有如負(fù)載平衡那樣的優(yōu)化的管理。因此,本發(fā)明的可伸縮性是無(wú)限的,因?yàn)椴淮嬖谙拗票景l(fā)明可伸縮性的任何中央實(shí)例。
本發(fā)明的系統(tǒng)可以自主地修復(fù)自身并達(dá)到給定冗余級(jí)別(如每個(gè)工作者客戶機(jī)3個(gè)故障轉(zhuǎn)接系統(tǒng))。
可使用現(xiàn)有技術(shù)以各種方式進(jìn)行工作者客戶機(jī)/故障轉(zhuǎn)接系統(tǒng)的本地優(yōu)化和選擇。
參考圖2B,其中顯示了由根據(jù)圖2A的體系結(jié)構(gòu)執(zhí)行的本發(fā)明的方法的流程圖。
步驟1工作負(fù)載提交(見(jiàn)圖2C)分布式管理服務(wù)器獲得執(zhí)行任務(wù)的請(qǐng)求。將這一任務(wù)劃分為可以被發(fā)派到該分布式體系結(jié)構(gòu)中的若干工作者客戶機(jī)上的工作單元(作業(yè))是可能的。分布式管理服務(wù)器為每個(gè)作業(yè)選擇一工作者客戶機(jī)并將該作業(yè)發(fā)送給這一工作者客戶機(jī)以執(zhí)行它(工作負(fù)載提交)。之后,調(diào)度器等待來(lái)自每個(gè)工作者客戶機(jī)的確認(rèn)。如果分布式管理服務(wù)器在一預(yù)定時(shí)間段內(nèi)沒(méi)有接收到確認(rèn),則其再次啟動(dòng)針對(duì)特定任務(wù)提交該工作負(fù)載并選擇另一工作者客戶機(jī)。在接收到確認(rèn)之后,分布式管理服務(wù)器指示合并器準(zhǔn)備收集所有工作者客戶機(jī)的結(jié)果。
步驟2工作者客戶機(jī)和故障轉(zhuǎn)接系統(tǒng)的初始化(見(jiàn)圖2D)當(dāng)工作者客戶機(jī)從分布式管理服務(wù)器接收到作業(yè)時(shí),確定它的故障轉(zhuǎn)接系統(tǒng)。在工作者客戶機(jī)確認(rèn)該工作之前它先聯(lián)系其故障轉(zhuǎn)接系統(tǒng)。例如,故障轉(zhuǎn)接系統(tǒng)可能拒絕其被選擇作為故障轉(zhuǎn)接系統(tǒng),因?yàn)樗驯话才盘峁┓?wù),或它有太多工作要做等。作為下一步驟,工作者客戶機(jī)的確認(rèn)被發(fā)送給分布式管理服務(wù)器,如在上述工作負(fù)載提交步驟中描述的那樣。
步驟3工作負(fù)載執(zhí)行工作者客戶機(jī)開始處理該作業(yè)。完成該作業(yè)后,工作者客戶機(jī)將結(jié)果返回給合并器。當(dāng)該合并器確認(rèn)了一個(gè)結(jié)果時(shí),向故障轉(zhuǎn)接系統(tǒng)通知該作業(yè)完成并解除故障轉(zhuǎn)接系統(tǒng)的職責(zé)。
步驟4故障轉(zhuǎn)接情況(見(jiàn)圖2E)由于故障轉(zhuǎn)接系統(tǒng)監(jiān)視著工作者客戶機(jī),所以它們能夠檢測(cè)到工作者客戶機(jī)故障。在這樣的情況下,必須確定哪一故障轉(zhuǎn)接系統(tǒng)將接管該工作者客戶機(jī)的職責(zé)。
當(dāng)指派了新的工作者客戶機(jī)時(shí),該新客戶機(jī)首先需要確定其他的故障轉(zhuǎn)接系統(tǒng)(也參見(jiàn)“初始化步驟”)。然后,該工作者客戶機(jī)執(zhí)行該作業(yè)。
步驟5合并(見(jiàn)圖2F)在完成作業(yè)后,每一工作者客戶機(jī)將它的結(jié)果發(fā)送給合并器。合并器將該組結(jié)果重新組合為原始任務(wù)的總結(jié)果。將總結(jié)果回送給請(qǐng)求發(fā)出者。
存在著幾種可能情況,需要處理結(jié)果停滯了一較長(zhǎng)時(shí)間段的事實(shí)。如果在一段時(shí)間之后,一個(gè)或多個(gè)結(jié)果未得到,則合并器可使分布式管理服務(wù)器或請(qǐng)求發(fā)出者重新提交該作業(yè)。在故障轉(zhuǎn)接的情況下,可以將故障轉(zhuǎn)接的通知廣播給相關(guān)方,以使其明白該計(jì)算可能花費(fèi)比起初預(yù)期更長(zhǎng)的時(shí)間。
參考圖2G,其示出了在簡(jiǎn)化的分布式計(jì)算基礎(chǔ)架構(gòu)中的故障轉(zhuǎn)接情形。
常規(guī)是每一工作者客戶機(jī)5應(yīng)該確切地具有來(lái)自系統(tǒng)池的3個(gè)故障轉(zhuǎn)接系統(tǒng)8。故障轉(zhuǎn)接系統(tǒng)8本身可以是對(duì)于不同工作負(fù)載的工作者客戶機(jī)。
在上述例子的開始時(shí),兩個(gè)系統(tǒng)是有故障的一個(gè)故障轉(zhuǎn)接系統(tǒng)8和一個(gè)工作者客戶機(jī)5。剩余的兩個(gè)故障轉(zhuǎn)接系統(tǒng)8仍然可以相互通信,因此它們可以開始它們的選舉過(guò)程。它們不知道關(guān)于發(fā)生故障的故障轉(zhuǎn)接系統(tǒng)8或關(guān)于前一個(gè)工作者客戶機(jī)5的任何情況,因?yàn)槟莾蓚€(gè)系統(tǒng)發(fā)生了故障并且不再能對(duì)網(wǎng)絡(luò)請(qǐng)求做出反應(yīng)。剩余的故障轉(zhuǎn)接系統(tǒng)8不能與故障系統(tǒng)進(jìn)行通信的事實(shí)可能是由網(wǎng)絡(luò)故障或是由故障轉(zhuǎn)接系統(tǒng)故障引起的。
現(xiàn)在,諸剩余的故障轉(zhuǎn)接系統(tǒng)能夠例如基于節(jié)點(diǎn)IP地址或某些其他唯一的參數(shù)選舉出新的工作者客戶機(jī)。新的工作者客戶機(jī)必須創(chuàng)建/指派兩個(gè)新的故障轉(zhuǎn)接系統(tǒng),以便維持問(wèn)題情況之前的冗余級(jí)別。
參考圖3A,其中顯示了本發(fā)明在網(wǎng)格體系結(jié)構(gòu)中的優(yōu)選實(shí)現(xiàn),該網(wǎng)格體系結(jié)構(gòu)包括若干工作者客戶機(jī)5(見(jiàn)圖3B中更詳細(xì)的視圖)、一個(gè)網(wǎng)格代理2(見(jiàn)圖3D中更詳細(xì)的視圖)、以及n個(gè)故障轉(zhuǎn)接系統(tǒng)8(見(jiàn)圖3C中更詳細(xì)的視圖)。
被提交給網(wǎng)格的作業(yè)通常是可以分布在網(wǎng)格中的工作負(fù)載,如算法運(yùn)行于其上的大型數(shù)據(jù)集或者大型事務(wù),但出于各種原因(數(shù)據(jù)復(fù)制、安裝工作、軟件的基于使用的許可條件等)的較小的事務(wù)或通用工作負(fù)載也是有意義的。
請(qǐng)求發(fā)出者向網(wǎng)格代理2提供任務(wù),該任務(wù)可被分割為工作單元或所謂的作業(yè)。在網(wǎng)格完成了該作業(yè)的計(jì)算之后,請(qǐng)求發(fā)出者1接收結(jié)果。請(qǐng)求發(fā)出者1可被看作“網(wǎng)格的顧客”。
網(wǎng)格代理2具有接待員的職責(zé)。請(qǐng)求發(fā)出者1與網(wǎng)格代理2取得聯(lián)系并請(qǐng)求執(zhí)行隨后的任務(wù)。網(wǎng)格代理2將該任務(wù)分割為作業(yè)并把它們給予諸工作者客戶機(jī)5。
如果該任務(wù)不需要分割為作業(yè),則網(wǎng)格代理2可弱化為這樣的一實(shí)例,該實(shí)例例如使用SLP標(biāo)準(zhǔn)因特網(wǎng)協(xié)議選擇網(wǎng)格的具有合適特征(如位置和當(dāng)前負(fù)載)的任何工作者客戶機(jī)5。網(wǎng)格中的每個(gè)工作者客戶機(jī)5可使用現(xiàn)有協(xié)議通告其充當(dāng)工作者客戶機(jī)5和/或故障轉(zhuǎn)接系統(tǒng)8而工作的能力,且發(fā)出者1可選擇這些工作者客戶機(jī)5中的任何一個(gè)。
工作者客戶機(jī)5是網(wǎng)格中的一系統(tǒng),其從網(wǎng)格代理2接收作業(yè)并計(jì)算結(jié)果。工作者客戶機(jī)5可從網(wǎng)格代理2并行地接受多個(gè)作業(yè)。工作者客戶機(jī)5還可以是針對(duì)另一工作者客戶機(jī)5的故障轉(zhuǎn)接系統(tǒng)8。
故障轉(zhuǎn)接系統(tǒng)8是后援節(jié)點(diǎn),其可在當(dāng)工作者客戶機(jī)5故障的任何時(shí)間接管該工作者客戶機(jī)的作業(yè)的執(zhí)行。工作者客戶機(jī)5可具有多個(gè)故障轉(zhuǎn)接系統(tǒng)8。故障轉(zhuǎn)接系統(tǒng)監(jiān)視工作者客戶機(jī)5,且一旦某工作者客戶機(jī)故障,一個(gè)選定的故障轉(zhuǎn)接系統(tǒng)8將進(jìn)行接管。在諸故障轉(zhuǎn)接系統(tǒng)8之間存在通信,以確保只有一個(gè)故障轉(zhuǎn)接系統(tǒng)8接管該作業(yè)。如同對(duì)于工作者客戶機(jī)5,故障轉(zhuǎn)接系統(tǒng)8也可以是虛擬工作者客戶機(jī)5。故障轉(zhuǎn)接系統(tǒng)8可充當(dāng)對(duì)于多個(gè)工作者客戶機(jī)5上的多個(gè)作業(yè)的監(jiān)視器。故障轉(zhuǎn)接系統(tǒng)8還可以是并行地運(yùn)行的多個(gè)作業(yè)的工作者客戶機(jī)5。
合并器的職責(zé)是接收所有結(jié)果并將總結(jié)果返回給請(qǐng)求發(fā)出者1。取決于所執(zhí)行的工作負(fù)載,合并器可以很簡(jiǎn)單;在最簡(jiǎn)單的情況下,它可被弱化為向請(qǐng)求發(fā)出者1傳輸結(jié)果的數(shù)據(jù)傳輸者。
網(wǎng)格代理2與合并器實(shí)現(xiàn)于如圖3A所示的相同系統(tǒng)上是可能的。
參考圖3B,其中顯示了作為根據(jù)圖3A的本發(fā)明的網(wǎng)格體系結(jié)構(gòu)中一部分的工作者客戶機(jī)5的結(jié)構(gòu)的更詳細(xì)視圖一般地,工作者客戶機(jī)5是網(wǎng)格中的一系統(tǒng),其從網(wǎng)格代理2接收作業(yè)并計(jì)算結(jié)果。應(yīng)該指出,工作者客戶機(jī)5可從網(wǎng)格代理2并行地接受多個(gè)作業(yè)。工作者客戶機(jī)5還可作為其他工作者客戶機(jī)5的故障轉(zhuǎn)接系統(tǒng)8。
每個(gè)作為網(wǎng)格體系結(jié)構(gòu)的一部分的工作者客戶機(jī)5可以被用作一個(gè)或多個(gè)工作者客戶機(jī)5的故障轉(zhuǎn)接系統(tǒng)8。每個(gè)工作者客戶機(jī)5優(yōu)選地包括工作者客戶機(jī)的操作系統(tǒng)31、運(yùn)行時(shí)環(huán)境32、網(wǎng)格基礎(chǔ)架構(gòu)33、網(wǎng)格通信部件34、工作者客戶機(jī)基礎(chǔ)架構(gòu)35、網(wǎng)格策略儲(chǔ)存庫(kù)36、監(jiān)視/心跳服務(wù)部件10、分組/定額服務(wù)部件38、故障轉(zhuǎn)接系統(tǒng)選擇服務(wù)部件39、工作單元傳輸服務(wù)部件40、工作引擎任務(wù)處理服務(wù)部件41、檢查點(diǎn)服務(wù)部件42、及故障轉(zhuǎn)接服務(wù)部件43。
工作者客戶機(jī)的操作系統(tǒng)31可以是例如Windows、AIX等。
運(yùn)行時(shí)環(huán)境32包括例如庫(kù)、Java虛擬機(jī)等。
網(wǎng)格基礎(chǔ)架構(gòu)33提供了用于在諸參與者(例如其他工作者客戶機(jī)5、網(wǎng)格代理2)之間創(chuàng)建、管理、及交換信息的機(jī)制。
網(wǎng)格通信部件34提供了用于與其他參與者(例如工作者客戶機(jī)5、網(wǎng)格代理2)進(jìn)行通信的機(jī)制,該通信機(jī)制可使用基于TCP/IP的協(xié)議來(lái)實(shí)現(xiàn)。
工作者客戶機(jī)基礎(chǔ)架構(gòu)35包括執(zhí)行所指派的作業(yè)的環(huán)境,例如應(yīng)用庫(kù)、應(yīng)用代碼本身、應(yīng)用服務(wù)器、用于存儲(chǔ)檢查點(diǎn)信息的永久存儲(chǔ)器。
網(wǎng)格策略儲(chǔ)存庫(kù)36是一數(shù)據(jù)庫(kù),它包含用于操作該網(wǎng)格,例如工作者客戶機(jī)5的驗(yàn)證和注冊(cè)、作業(yè)配置(例如用于特定作業(yè)的存儲(chǔ)容量、用于特定作業(yè)的CPU時(shí)間)的規(guī)則。
監(jiān)視/心跳部件10提供了用于檢查其他工作者客戶機(jī)5的狀態(tài)并答復(fù)來(lái)自其他作為網(wǎng)格的一部分的工作者客戶機(jī)的狀態(tài)請(qǐng)求例如工作或未工作的狀態(tài)信息的機(jī)制??衫媚壳暗腍A技術(shù),例如工作者節(jié)點(diǎn)或故障轉(zhuǎn)接系統(tǒng)的心跳,來(lái)實(shí)現(xiàn)工作者客戶機(jī)故障的檢測(cè),或者可依靠監(jiān)視基礎(chǔ)架構(gòu)來(lái)執(zhí)行這一檢測(cè)。
分組/定額部件38提供了這樣的機(jī)制,該機(jī)制確定將變?yōu)樾碌墓ぷ髡呖蛻魴C(jī)的故障轉(zhuǎn)接系統(tǒng)8,例如在一組所指派的故障轉(zhuǎn)接系統(tǒng)8中確定故障轉(zhuǎn)接系統(tǒng)8。在分組/定額部件38的一優(yōu)選實(shí)現(xiàn)中,如果當(dāng)前工作者客戶機(jī)5發(fā)生故障,則剩余的故障轉(zhuǎn)接系統(tǒng)8必須使用某種現(xiàn)有算法選出一個(gè)新的工作者客戶機(jī)5??赡艿乃惴òɑ诠ぷ髡呖蛻魴C(jī)的最低IP地址的選擇。如果不可能在所有剩余的故障轉(zhuǎn)接系統(tǒng)8之間進(jìn)行通信,則必須確保為某些應(yīng)用只創(chuàng)建一個(gè)新的工作者客戶機(jī),因?yàn)楣ぷ髡呖蛻魴C(jī)的兩個(gè)實(shí)例可能是有害的。在這種情況下,可使用如下述的規(guī)則當(dāng)且僅當(dāng)該工作者客戶機(jī)發(fā)生故障,一故障轉(zhuǎn)接系統(tǒng)了解大多數(shù)剩余的故障轉(zhuǎn)接系統(tǒng),并且其具有例如最低IP地址的特殊特征時(shí),該故障轉(zhuǎn)接系統(tǒng)才可變?yōu)樾碌墓ぷ髡呖蛻魴C(jī)。
在剛剛選出一個(gè)新的工作者客戶機(jī)之后,這一工作者客戶機(jī)必須通知剩余的工作者客戶機(jī)它已接管了一工作者客戶機(jī)的職責(zé)。此外,這一工作者客戶機(jī)必須啟動(dòng)新的故障轉(zhuǎn)接系統(tǒng)的創(chuàng)建,以代替其自身;否則,該網(wǎng)格中的冗余級(jí)別將會(huì)降級(jí)。每個(gè)工作者客戶機(jī)的故障轉(zhuǎn)接系統(tǒng)數(shù)量依賴于期望的可靠性并可以調(diào)整??梢赃@樣的方式來(lái)實(shí)現(xiàn)本發(fā)明,其中基于可用性的原因,網(wǎng)格設(shè)法保持每個(gè)工作者客戶機(jī)具有給定數(shù)量的故障轉(zhuǎn)接系統(tǒng)。故障轉(zhuǎn)接系統(tǒng)的選擇可由工作者客戶機(jī)自身執(zhí)行,或者當(dāng)網(wǎng)格代理向該工作者客戶機(jī)指派任務(wù)時(shí)由該網(wǎng)格代理來(lái)執(zhí)行。在后一種情況中,網(wǎng)格代理將選出故障轉(zhuǎn)接系統(tǒng)的候選者并將這些故障轉(zhuǎn)接系統(tǒng)推薦給工作者客戶機(jī),該工作者客戶機(jī)可遵從或不遵從這一建議。
當(dāng)在故障情形下要?jiǎng)?chuàng)建新的故障轉(zhuǎn)接系統(tǒng)的時(shí)候,也可使用這一過(guò)程。
故障轉(zhuǎn)接系統(tǒng)選擇部件39提供了為它的工作者客戶機(jī)5確定n個(gè)故障轉(zhuǎn)接系統(tǒng)8的機(jī)制。故障轉(zhuǎn)接系統(tǒng)選擇部件39的一個(gè)可能實(shí)現(xiàn)是詢問(wèn)候選故障轉(zhuǎn)接系統(tǒng)8它是否能執(zhí)行這一任務(wù)。另一實(shí)現(xiàn)可以是將任何能夠計(jì)算該任務(wù)的工作者客戶機(jī)5保存在一集中目錄中。在請(qǐng)求后,該目錄服務(wù)返回一組節(jié)點(diǎn)。當(dāng)然,該目錄服務(wù)本身的實(shí)現(xiàn)可基于幾個(gè)可選算法。另一實(shí)現(xiàn)可以是工作者客戶機(jī)5的選擇可基于位置。位置可以例如意指選擇具有最近網(wǎng)絡(luò)距離的節(jié)點(diǎn)。
又一實(shí)現(xiàn)可以是選擇工作者客戶機(jī)5是由于這一事實(shí),即這些工作者客戶機(jī)能夠訪問(wèn)與該工作者客戶機(jī)5相同的存儲(chǔ)空間。此處的一個(gè)例子是NUMA體系結(jié)構(gòu)。另一實(shí)現(xiàn)可以是只能選擇能夠訪問(wèn)與該工作者客戶機(jī)5相同的存儲(chǔ)設(shè)備的工作者客戶機(jī)5。這種實(shí)現(xiàn)的理由可以是在故障情形下工作者客戶機(jī)5能夠訪問(wèn)那個(gè)工作者客戶機(jī)5先前使用的數(shù)據(jù)空間。又一實(shí)現(xiàn)可以是基于工作負(fù)載的(根據(jù)工作客戶機(jī)的工作負(fù)載使用)。
可基于有關(guān)網(wǎng)格中的工作者客戶機(jī)5的工作負(fù)載信息來(lái)選擇故障轉(zhuǎn)接系統(tǒng)8。例如,只選定那些具有最低工作負(fù)載的工作者客戶機(jī)5。另一實(shí)現(xiàn)可以是QoS服務(wù)質(zhì)量。QoS服務(wù)質(zhì)量可以是工作者客戶機(jī)的一個(gè)基礎(chǔ)。此處的一個(gè)可能性是只能選擇具有最高服務(wù)質(zhì)量(可用性、性能)的節(jié)點(diǎn)作為工作者客戶機(jī)。又一實(shí)現(xiàn)可以是選擇諸工作者客戶機(jī)是由于這一事實(shí),即這些工作者客戶機(jī)沒(méi)有位于該工作者節(jié)點(diǎn)運(yùn)行于其上的相同站點(diǎn),或者是根據(jù)要執(zhí)行的工作負(fù)載的優(yōu)先級(jí)。
工作單元傳輸部件40提供了接收應(yīng)用本身、作業(yè)參數(shù)和輸入文件,并向網(wǎng)格代理發(fā)送作業(yè)結(jié)果的機(jī)制。
工作引擎任務(wù)處理部件41提供了向網(wǎng)格代理2通知有關(guān)作業(yè)接受的信息并執(zhí)行該作業(yè)的機(jī)制。
檢查點(diǎn)部件42提供了向所有所指派的故障轉(zhuǎn)接系統(tǒng)8提供檢查點(diǎn)信息的機(jī)制。進(jìn)行檢查點(diǎn)操作的很可能最普遍和最容易的方法是對(duì)正運(yùn)行在工作者客戶機(jī)上的整個(gè)進(jìn)程進(jìn)行檢查點(diǎn)操作。當(dāng)使用Beowulf API時(shí),使用bproc_vmadumP()和bproc_vmaundump()API函數(shù),這會(huì)是可能的。如果工作者客戶機(jī)正運(yùn)行于虛擬服務(wù)器環(huán)境中,則一替代方案將是使工作者節(jié)點(diǎn)的整個(gè)操作系統(tǒng)休眠并在以后將其恢復(fù)。
如果工作者客戶機(jī)5發(fā)生故障,則需要特別注意開放TCP/IP套接字連接。這里的一個(gè)解決方案是作為IBMz/OS操作系統(tǒng)的一部分而分發(fā)的z/OS虛擬IP尋址能力(VIPA)。
故障轉(zhuǎn)接部件43提供了在所指派的故障轉(zhuǎn)接系統(tǒng)8中的一個(gè)上重新啟動(dòng)作業(yè)的機(jī)制。故障轉(zhuǎn)接系統(tǒng)8接管一工作者客戶機(jī)作業(yè)的最簡(jiǎn)單的情形是通過(guò)從頭開始重新啟動(dòng)該作業(yè)。例如檢查點(diǎn)操作、事務(wù)處理或其他的更復(fù)雜的實(shí)現(xiàn)可以改進(jìn)故障轉(zhuǎn)接的效率。諸故障轉(zhuǎn)接系統(tǒng)8可以互相監(jiān)視。甚至在工作者客戶機(jī)5上,它自己的作業(yè)的故障轉(zhuǎn)接系統(tǒng)8可以監(jiān)視其他故障轉(zhuǎn)接系統(tǒng)8以提高可用性。
參考圖3D,其中顯示了作為根據(jù)圖3A的網(wǎng)格體系結(jié)構(gòu)中一部分的網(wǎng)格代理2的結(jié)構(gòu)的更詳細(xì)視圖。
網(wǎng)格代理2具有接待員的職責(zé)。請(qǐng)求發(fā)出者1與網(wǎng)格代理2取得聯(lián)系并請(qǐng)求執(zhí)行隨后的任務(wù)。網(wǎng)格代理將該任務(wù)分割為作業(yè)并把它們給予工作者客戶機(jī)5。如果該任務(wù)不需要分割為作業(yè),則網(wǎng)格代理2可弱化為這樣的一實(shí)例,該實(shí)例例如使用SLP標(biāo)準(zhǔn)因特網(wǎng)協(xié)議選擇網(wǎng)格的具有合適特征(如位置和當(dāng)前負(fù)載)的任何節(jié)點(diǎn)。網(wǎng)格中的每個(gè)工作者客戶機(jī)5都可使用現(xiàn)有協(xié)議通告其作為工作者客戶機(jī)5和/或故障轉(zhuǎn)接系統(tǒng)而工作的能力,且發(fā)出者可選擇這些節(jié)點(diǎn)中的任何一個(gè)。
網(wǎng)格代理2優(yōu)選地包括工作者客戶機(jī)選擇部件15、工作單元傳輸部件16、作業(yè)分割部件17、合并/任務(wù)組合部件18、及調(diào)度器部件19。
工作者客戶機(jī)選擇服務(wù)部件15提供確定工作者客戶機(jī)以運(yùn)行作業(yè)的機(jī)制。
工作單元傳輸部件16提供發(fā)送應(yīng)用本身、作業(yè)參數(shù)及輸入文件,并從工作者客戶機(jī)5接收作業(yè)結(jié)果的機(jī)制。
作業(yè)分割部件17提供將處理任務(wù)分割為較小工作單元(作業(yè))的機(jī)制??赏ㄟ^(guò)分而治之的手段將大型作業(yè)劃分為若干部分。作業(yè)的任何可并行化部分都可由網(wǎng)格代理2發(fā)派到若干工作者客戶機(jī)5上。這一分割是依賴于工作負(fù)載的,且可包括依據(jù)獨(dú)立的或大部分獨(dú)立的數(shù)據(jù)范圍進(jìn)行的分割或通過(guò)使用事務(wù)系統(tǒng)的共同方法將事務(wù)剖析為諸并行任務(wù)進(jìn)行的分割。分配工作負(fù)載的一種不同方法是不將其分割,而是向若干工作者節(jié)點(diǎn)分配同樣的任務(wù)。這可用于增加可靠性,且如果執(zhí)行速度比資源利用更重要話—即使某些任務(wù)由于故障并退回到影子節(jié)點(diǎn)(ghost node)上的最后一個(gè)檢查點(diǎn)而被延遲,另一個(gè)工作者節(jié)點(diǎn)也可以沒(méi)有問(wèn)題地運(yùn)行下去。
合并/任務(wù)組合部件18提供了創(chuàng)建合并的結(jié)果并將其提供給請(qǐng)求者系統(tǒng)的機(jī)制。網(wǎng)格代理2必須為每個(gè)作業(yè)指派一合并器。這可使用任何上述選擇故障轉(zhuǎn)接系統(tǒng)8的算法來(lái)進(jìn)行??墒褂媚壳暗腍A方法使得合并器18高度可用,或合并器18可部署它自己的故障轉(zhuǎn)接系統(tǒng)。
調(diào)度器部件19提供了將作業(yè)指派給作為網(wǎng)格的一部分的且先前由工作者客戶機(jī)選擇部件選定的工作者客戶機(jī)5的機(jī)制。此外,可基于任何上述用于選擇故障轉(zhuǎn)接系統(tǒng)8的方法來(lái)實(shí)現(xiàn)工作者客戶機(jī)的選擇。
參考圖3C,其中顯示了作為根據(jù)圖3A的網(wǎng)格體系結(jié)構(gòu)的一部分的故障轉(zhuǎn)接系統(tǒng)的結(jié)構(gòu)的更詳細(xì)視圖。
故障轉(zhuǎn)接系統(tǒng)8優(yōu)選地使用與工作者客戶機(jī)相同的部件,因?yàn)樗鼈兪菨撛诘墓ぷ髡呖蛻魴C(jī)5(見(jiàn)圖3B)。
故障轉(zhuǎn)接系統(tǒng)8是后援系統(tǒng),其可在當(dāng)工作者客戶機(jī)5故障的任何時(shí)間接管該工作者客戶機(jī)作業(yè)的執(zhí)行。工作者客戶機(jī)5可具有多個(gè)故障轉(zhuǎn)接系統(tǒng)8。故障轉(zhuǎn)接系統(tǒng)8監(jiān)視該工作者客戶機(jī)5,且在一工作者客戶機(jī)發(fā)生故障的情況下,將由從諸故障轉(zhuǎn)接系統(tǒng)中選出的一個(gè)來(lái)接管。在諸故障轉(zhuǎn)接系統(tǒng)8之間存在通信以確保只有一個(gè)(或指定數(shù)量的)故障轉(zhuǎn)接系統(tǒng)8接管該任務(wù)。應(yīng)該指出,如同對(duì)于工作者客戶機(jī)5,故障轉(zhuǎn)接系統(tǒng)8也可以是虛擬工作者客戶機(jī)5。故障轉(zhuǎn)接系統(tǒng)8可充當(dāng)對(duì)于多個(gè)工作者客戶機(jī)5上的多個(gè)任務(wù)的監(jiān)視器。故障轉(zhuǎn)接系統(tǒng)也可以是并行地運(yùn)行的多個(gè)任務(wù)的工作者客戶機(jī)。
權(quán)利要求
1.一種分布式計(jì)算體系結(jié)構(gòu)中的工作者客戶機(jī)(5),該分布式計(jì)算體系結(jié)構(gòu)具有用于將處理任務(wù)分割為較小單元(作業(yè))的指定計(jì)算機(jī)(分布式管理服務(wù)器,2),用于將每個(gè)所述作業(yè)傳輸給多個(gè)工作者客戶機(jī)(5)中的一個(gè)以便執(zhí)行所述所指派的作業(yè)的計(jì)算機(jī)網(wǎng)絡(luò),其中每個(gè)工作者客戶機(jī)(5)的特征在于具有檢查點(diǎn)機(jī)制部件(3),其用于產(chǎn)生被指派給至少所述工作者客戶機(jī)(5)的檢查點(diǎn)信息;至少一個(gè)故障轉(zhuǎn)接系統(tǒng)(8),其被指派給所述工作者客戶機(jī)(5);用于在所述工作者客戶機(jī)故障的情況下,向至少指派給所述工作者客戶機(jī)(5)的所述故障系統(tǒng)自動(dòng)指派至少一個(gè)現(xiàn)有的或新創(chuàng)建的故障轉(zhuǎn)接系統(tǒng)(8)的部件(故障轉(zhuǎn)接系統(tǒng)選擇部件,39),其中所述所指派的故障轉(zhuǎn)接系統(tǒng)提供所有的功能部件,以便當(dāng)所述所指派的工作者客戶機(jī)發(fā)生故障時(shí)接管作業(yè)的執(zhí)行;其中所述所指派的故障轉(zhuǎn)接系統(tǒng)進(jìn)一步包括至少一個(gè)故障轉(zhuǎn)接監(jiān)視部件(10),其用于檢測(cè)所述所指派的工作者客戶機(jī)(5)的故障轉(zhuǎn)接情況。
2.根據(jù)權(quán)利要求1的工作者客戶機(jī),進(jìn)一步具有所指派的與故障轉(zhuǎn)接系統(tǒng)(8)相同的功能部件,以便可被選擇作為用于其他工作者客戶機(jī)(多個(gè))或故障轉(zhuǎn)接系統(tǒng)(多個(gè))的故障轉(zhuǎn)接系統(tǒng)。
3.根據(jù)權(quán)利要求2的工作者客戶機(jī),進(jìn)一步具有所指派的故障轉(zhuǎn)接監(jiān)視部件(10),其用于檢測(cè)一所指派的工作者客戶機(jī)(5)的故障轉(zhuǎn)接情況。
4.根據(jù)權(quán)利要求1的工作者客戶機(jī),其中每個(gè)工作者客戶機(jī)(5)被指派了多個(gè)故障轉(zhuǎn)接系統(tǒng)(8)。
5.根據(jù)權(quán)利要求3的工作者客戶機(jī),其中所述多個(gè)故障轉(zhuǎn)接系統(tǒng)包括在所述多個(gè)故障轉(zhuǎn)接系統(tǒng)(8)的其他每一個(gè)中確定一個(gè)作為新的工作者客戶機(jī)(5)的部件(分組/定額部件38)。
6.根據(jù)權(quán)利要求5的工作者客戶機(jī),其中所述故障轉(zhuǎn)接系統(tǒng)選擇部件(39)通過(guò)所定義的與候選故障轉(zhuǎn)接系統(tǒng)的通信協(xié)議,或通過(guò)訪問(wèn)提供具有所有候選故障轉(zhuǎn)接系統(tǒng)的列表的服務(wù),為它的所指派的工作者客戶機(jī)(5)確定故障轉(zhuǎn)接系統(tǒng)(8)。
7.根據(jù)權(quán)利要求1的工作者客戶機(jī),其中所述分布式計(jì)算基礎(chǔ)架構(gòu)是網(wǎng)格基礎(chǔ)架構(gòu)。
8.一種分布式計(jì)算基礎(chǔ)架構(gòu)中的故障轉(zhuǎn)接系統(tǒng)(8),該分布式計(jì)算基礎(chǔ)架構(gòu)具有用于將處理任務(wù)分割為較小單元(作業(yè))的指定計(jì)算機(jī)(2),用于將每個(gè)所述作業(yè)傳輸給多個(gè)工作者客戶機(jī)(5)中的一個(gè)以便執(zhí)行所述所指派的作業(yè)的計(jì)算機(jī)網(wǎng)絡(luò),其特征在于,所述故障轉(zhuǎn)接系統(tǒng)(8)被指派了至少一個(gè)特定工作者客戶機(jī)(5),該工作者客戶機(jī)具有所指派的檢查點(diǎn)機(jī)制部件(3),其用于產(chǎn)生至少所述工作者客戶機(jī)(5)的檢查點(diǎn)信息;和用于在所述工作者客戶機(jī)故障的情況下,自動(dòng)地向被指派給所述工作者客戶機(jī)(5)的所述故障系統(tǒng)指派至少一個(gè)現(xiàn)有的或新創(chuàng)建的故障轉(zhuǎn)接系統(tǒng)(8)的部件(故障轉(zhuǎn)接系統(tǒng)選擇部件,39),其中所述故障轉(zhuǎn)接系統(tǒng)進(jìn)一步包括所有功能部件,以便當(dāng)所述所指派的工作者客戶機(jī)發(fā)生故障時(shí)接管作業(yè)的執(zhí)行,以及至少一個(gè)故障轉(zhuǎn)接監(jiān)視部件(10),其用于檢測(cè)所述所指派的工作者客戶機(jī)的故障轉(zhuǎn)接情況。
9.根據(jù)權(quán)利要求8的故障轉(zhuǎn)接系統(tǒng),進(jìn)一步具有與所述工作者客戶機(jī)相同的功能部件,以便可另外被選擇為工作者客戶機(jī)。
10.根據(jù)權(quán)利要求9的故障轉(zhuǎn)接系統(tǒng),進(jìn)一步具有所指派的檢查點(diǎn)機(jī)制部件(3),其用于產(chǎn)生至少一個(gè)所指派的工作者客戶機(jī)的檢查點(diǎn)信息;及用于在所述工作者客戶機(jī)發(fā)生故障的情況下,自動(dòng)地向被指派給所述工作者客戶機(jī)的所述故障系統(tǒng)指派至少一個(gè)現(xiàn)有的或新創(chuàng)建的故障轉(zhuǎn)接系統(tǒng)的部件(故障轉(zhuǎn)接系統(tǒng)選擇部件,39)。
11.根據(jù)權(quán)利要求9的故障轉(zhuǎn)接系統(tǒng),進(jìn)一步包括在該發(fā)生故障的情況下,在被指派給該相同工作者客戶機(jī)的各故障轉(zhuǎn)接系統(tǒng)之中確定一個(gè)新的工作者客戶機(jī)的部件(分組/定額部件,38)。
12.根據(jù)權(quán)利要求8的故障轉(zhuǎn)接系統(tǒng),其中所述分布式計(jì)算基礎(chǔ)架構(gòu)是網(wǎng)格基礎(chǔ)架構(gòu)。
13.一種分布式計(jì)算基礎(chǔ)架構(gòu),具有分布式管理服務(wù)器,其用于接收處理任務(wù),將它們分割為較小工作單元(作業(yè)),并為執(zhí)行所述作業(yè)選擇工作者客戶機(jī)(5);計(jì)算機(jī)網(wǎng)絡(luò),其用于將每個(gè)所述作業(yè)傳輸給多個(gè)工作者客戶機(jī)中的一個(gè)以執(zhí)行所述所指派的作業(yè);多個(gè)工作者客戶機(jī);其特征在于具有,檢查點(diǎn)機(jī)制部件(3),其用于產(chǎn)生檢查點(diǎn)信息,其中所述檢查點(diǎn)機(jī)制被指派給至少一個(gè)所述工作者客戶機(jī)(5);至少一個(gè)故障轉(zhuǎn)接系統(tǒng)(8),其被指派給所述工作者客戶機(jī)(5),其中所述所指派的故障轉(zhuǎn)接系統(tǒng)提供所有功能部件以便當(dāng)所述所指派的工作者客戶機(jī)發(fā)生故障時(shí)接管作業(yè)的執(zhí)行;用于在所述工作者客戶機(jī)發(fā)生故障的情況下,自動(dòng)向被指派給每個(gè)工作者客戶機(jī)的所述故障系統(tǒng)指派至少一個(gè)現(xiàn)有的或新創(chuàng)建的故障轉(zhuǎn)接系統(tǒng)的部件(故障轉(zhuǎn)接系統(tǒng)選擇部件,39);其中所述所指派的故障轉(zhuǎn)接系統(tǒng)進(jìn)一步包括至少一個(gè)故障轉(zhuǎn)接監(jiān)視部件,其用于檢測(cè)所述所指派的工作者客戶機(jī)的故障轉(zhuǎn)接情況。
14.一種在分布式計(jì)算基礎(chǔ)架構(gòu)中執(zhí)行工作單元(作業(yè))的方法,該分布式計(jì)算基礎(chǔ)架構(gòu)具有分布式管理服務(wù)器和工作者客戶機(jī),其中所述分布式管理服務(wù)器獲得執(zhí)行任務(wù)的請(qǐng)求,將該任務(wù)劃分為較小單元(作業(yè)),為每一作業(yè)選擇工作者客戶機(jī)并將所述作業(yè)發(fā)送給所述選定的工作者客戶機(jī),在所述工作者客戶機(jī)處的所述方法包括以下步驟為執(zhí)行作業(yè)的所述工作者客戶機(jī)確定至少一個(gè)所指派的故障轉(zhuǎn)接系統(tǒng);向所述故障轉(zhuǎn)接系統(tǒng)提供由所述工作者客戶機(jī)產(chǎn)生的檢查點(diǎn)信息;允許監(jiān)視所述工作者客戶機(jī)以便檢測(cè)故障;其中在所述工作者客戶機(jī)發(fā)生故障的情況下,所述故障轉(zhuǎn)接系統(tǒng)接管并繼續(xù)所述作業(yè)的執(zhí)行,并自動(dòng)向所述故障轉(zhuǎn)接指派一現(xiàn)有的或新創(chuàng)建的故障轉(zhuǎn)接系統(tǒng)。
15.一種在分布式計(jì)算基礎(chǔ)架構(gòu)中執(zhí)行工作單元(作業(yè))的方法,該分布式計(jì)算基礎(chǔ)架構(gòu)具有分布式管理服務(wù)器、工作者客戶機(jī)、及可被選擇為故障轉(zhuǎn)接系統(tǒng)的系統(tǒng),其中所述分布式管理服務(wù)器獲得執(zhí)行任務(wù)的請(qǐng)求,將該任務(wù)劃分為較小單元(作業(yè)),為每一作業(yè)選擇工作者客戶機(jī)并將所述各作業(yè)發(fā)送給所述選擇的工作者客戶機(jī),在所述可被選擇為故障轉(zhuǎn)接系統(tǒng)的系統(tǒng)處的所述方法包括以下步驟允許由工作者客戶機(jī)選擇為故障轉(zhuǎn)接系統(tǒng);從所述所指派的工作者客戶機(jī)接收檢查點(diǎn)信息;監(jiān)視所述所指派的工作者客戶機(jī)以便檢測(cè)故障;在檢測(cè)到故障的情況下,通過(guò)使用所述檢查點(diǎn)信息由所述所指派的故障轉(zhuǎn)接系統(tǒng)接管并繼續(xù)所述作業(yè)的執(zhí)行;以及向繼續(xù)所述作業(yè)的執(zhí)行的所述故障轉(zhuǎn)接系統(tǒng)指派至少一個(gè)現(xiàn)有的或新創(chuàng)建的故障轉(zhuǎn)接系統(tǒng)。
16.存儲(chǔ)于一數(shù)字計(jì)算機(jī)內(nèi)部存儲(chǔ)器中的計(jì)算機(jī)程序產(chǎn)品,包括在該產(chǎn)品運(yùn)行于該計(jì)算機(jī)上的情況下執(zhí)行根據(jù)權(quán)利要求14或15的方法的軟件代碼部分。
全文摘要
本發(fā)明提供在使用工作者客戶機(jī)的分布式計(jì)算體系結(jié)構(gòu)中執(zhí)行作業(yè)的系統(tǒng)和方法,所述工作者客戶機(jī)的特征在于具有檢查點(diǎn)機(jī)制部件,用于產(chǎn)生被指派給至少一個(gè)工作者客戶機(jī)的檢查點(diǎn)信息;至少一個(gè)被指派給該工作者客戶機(jī)的故障轉(zhuǎn)接系統(tǒng);用于在工作者客戶機(jī)故障的情況下,自動(dòng)向被指派給所述工作者客戶機(jī)的故障系統(tǒng)指派至少一個(gè)現(xiàn)有的或新創(chuàng)建的故障轉(zhuǎn)接系統(tǒng)的部件(故障轉(zhuǎn)接系統(tǒng)選擇部件),其中該所指派的故障轉(zhuǎn)接系統(tǒng)提供所有功能部件,以便當(dāng)所述所指派的工作者客戶機(jī)發(fā)生故障時(shí)接管作業(yè)的執(zhí)行,其中該所指派的故障轉(zhuǎn)接系統(tǒng)進(jìn)一步包括至少一個(gè)故障轉(zhuǎn)接監(jiān)視部件,其用于檢測(cè)所述所指派的工作者客戶機(jī)的故障轉(zhuǎn)接情況。
文檔編號(hào)G06F9/46GK1595360SQ20041004983
公開日2005年3月16日 申請(qǐng)日期2004年6月24日 優(yōu)先權(quán)日2003年9月12日
發(fā)明者U·巴赫爾, O·本克, B·貝茨勒, T·隆普, E·帕施 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司