專利名稱:分布式web服務(wù)的上下文中的自主故障轉(zhuǎn)移的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分布式計(jì)算的領(lǐng)域,包括Web服務(wù),具體來(lái)說(shuō),涉及在分布式Web服務(wù)的上下文中管理自主故障轉(zhuǎn)移。
背景技術(shù):
Web服務(wù)代表了分布式計(jì)算的前沿,被視為開(kāi)發(fā)用于支持World Wide Web上的基于組件的應(yīng)用程序的快速開(kāi)發(fā)的真正通用的模型的基礎(chǔ)。在當(dāng)前技術(shù)中,已知Web服務(wù)包括許多描述面向服務(wù)的基于組件的應(yīng)用程序體系結(jié)構(gòu)的新興標(biāo)準(zhǔn)。具體來(lái)說(shuō),Web服務(wù)是松散耦合的,可重用的軟件組件,它們從語(yǔ)義上封裝單獨(dú)的功能,并且是分布式的,并通過(guò)標(biāo)準(zhǔn)因特網(wǎng)協(xié)議以編程方式來(lái)對(duì)它們?cè)L問(wèn)。
在概念上,Web服務(wù)代表其中進(jìn)程內(nèi)的單獨(dú)的任務(wù)在值網(wǎng)絡(luò)內(nèi)廣泛地分布的模型。值得注意的是,許多工業(yè)專家認(rèn)為面向服務(wù)的Web服務(wù)倡議是因特網(wǎng)的下一個(gè)發(fā)展階段。通常,Web服務(wù)可以通過(guò)諸如Web服務(wù)定義語(yǔ)言(WSDL)之類的接口來(lái)進(jìn)行定義,并可以根據(jù)該接口來(lái)實(shí)現(xiàn),盡管實(shí)現(xiàn)方式的細(xì)節(jié)無(wú)關(guān)緊要,只要該實(shí)現(xiàn)方式符合Web服務(wù)接口即可。一旦根據(jù)對(duì)應(yīng)的接口實(shí)現(xiàn)了Web服務(wù),則可以向Web服務(wù)注冊(cè)機(jī)構(gòu)(如當(dāng)前技術(shù)中已知的通用說(shuō)明、發(fā)現(xiàn)和集成(UDDI))注冊(cè)該實(shí)現(xiàn)方式。在注冊(cè)時(shí),Web服務(wù)可以被服務(wù)請(qǐng)求者通過(guò)使用任何支持消息協(xié)議,包括簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)來(lái)進(jìn)行訪問(wèn)。
在支持Web服務(wù)的面向服務(wù)的應(yīng)用程序環(huán)境中,查找可靠的服務(wù)并實(shí)時(shí)動(dòng)態(tài)地集成這些可靠的服務(wù)以滿足應(yīng)用程序的目標(biāo)已經(jīng)證明是有問(wèn)題的。盡管注冊(cè)表、目錄和發(fā)現(xiàn)協(xié)議提供了用于實(shí)現(xiàn)服務(wù)檢測(cè)和服務(wù)到服務(wù)的互連邏輯的基本結(jié)構(gòu),但是,僅憑注冊(cè)表、目錄和發(fā)現(xiàn)協(xié)議還不能用于實(shí)現(xiàn)分布式互操作性。相反地,需要更加結(jié)構(gòu)化的、形式化的機(jī)制來(lái)促進(jìn)形成統(tǒng)一的應(yīng)用程序時(shí)的Web服務(wù)的分布。
值得注意的是,通過(guò)開(kāi)放式網(wǎng)格服務(wù)體系結(jié)構(gòu)(OGSA)的網(wǎng)格機(jī)制的生理機(jī)能可以跨分布式系統(tǒng)地在發(fā)現(xiàn)以及在Web服務(wù)(以下簡(jiǎn)稱為“網(wǎng)格服務(wù)”)的綁定中提供協(xié)議,否則,僅通過(guò)使用注冊(cè)表、目錄和發(fā)現(xiàn)協(xié)議是不可能實(shí)現(xiàn)的。如在Ian Foster、Carl Kesselman和Steven Tuecke所著的The Anatomy of the Grid,[Intl J.Supercomputer Applications(2001)]和Ian Foster、Carl Kesselman、Jeffrey M.Nick和Steven Tuecke所著的The Physiology of theGrid,[Globus.org(June 22,2002)]中所描述的,網(wǎng)格機(jī)制可以提供分布式計(jì)算基礎(chǔ)結(jié)構(gòu),通過(guò)該基礎(chǔ)結(jié)構(gòu),可以創(chuàng)建、命名網(wǎng)格服務(wù)實(shí)例,并被發(fā)出請(qǐng)求的客戶端發(fā)現(xiàn)。
網(wǎng)格服務(wù)通過(guò)提供增強(qiáng)的資源共享和調(diào)度支持、完善的分布式應(yīng)用程序通常需要的長(zhǎng)壽的狀態(tài)的支持,以及企業(yè)之間的協(xié)作的支持來(lái)延伸Web服務(wù)。此外,盡管僅憑Web服務(wù)可以滿足持久服務(wù)的發(fā)現(xiàn)和調(diào)用,但是,網(wǎng)格服務(wù)支持可以動(dòng)態(tài)地創(chuàng)建和損壞的臨時(shí)服務(wù)實(shí)例。使用網(wǎng)格服務(wù)的顯著優(yōu)點(diǎn)可以包括由于計(jì)算資源的比較有效的利用而使得擁有信息技術(shù)的成本降低,以及集成不同的計(jì)算組件變得更加容易。如此,網(wǎng)格機(jī)制,具體來(lái)說(shuō),符合OGSA的網(wǎng)格機(jī)制,可以實(shí)現(xiàn)面向服務(wù)的體系結(jié)構(gòu),通過(guò)該體系結(jié)構(gòu),可以提供分布式系統(tǒng)集成的基礎(chǔ)-甚至可以跨組織域。
在服務(wù)網(wǎng)格內(nèi),提供基礎(chǔ)結(jié)構(gòu)的服務(wù)可以提供用于托管諸如網(wǎng)格服務(wù)之類的分布式服務(wù)的執(zhí)行的處理資源。提供基礎(chǔ)結(jié)構(gòu)的服務(wù)可以包括一組資源,包括服務(wù)器計(jì)算設(shè)備、存儲(chǔ)器系統(tǒng),包括直接連接的存儲(chǔ)器,網(wǎng)絡(luò)連接的存儲(chǔ)器和存儲(chǔ)區(qū)域網(wǎng)絡(luò),處理和通信帶寬等等。在提供基礎(chǔ)結(jié)構(gòu)的服務(wù)內(nèi)處理的單個(gè)事務(wù)可以消耗這些資源的不同組合。
值得注意的是,OGSA定義了其中服務(wù)實(shí)例可以部署到服務(wù)網(wǎng)格內(nèi)的一個(gè)或多個(gè)不同位置的體系結(jié)構(gòu)。相應(yīng)地,客戶端訪問(wèn)特定服務(wù)的實(shí)例的請(qǐng)求可以被路由到被視為對(duì)于該請(qǐng)求來(lái)說(shuō)特定服務(wù)的最佳實(shí)例的實(shí)例。為此,單個(gè)服務(wù)實(shí)例可以基于優(yōu)化標(biāo)準(zhǔn)以戰(zhàn)略性的方式被復(fù)制到服務(wù)網(wǎng)格中的不同節(jié)點(diǎn)。優(yōu)化標(biāo)準(zhǔn)通??梢越馕鰹榭梢栽L問(wèn)特定資源的節(jié)點(diǎn)、具有與其他重要服務(wù)實(shí)例共存的服務(wù)實(shí)例的節(jié)點(diǎn),相對(duì)于特定客戶端的位置等等。
當(dāng)托管了服務(wù)網(wǎng)格中的服務(wù)實(shí)例的一個(gè)服務(wù)實(shí)例或節(jié)點(diǎn)發(fā)生故障時(shí),不管是什么原因,故障轉(zhuǎn)移策略都可以變?yōu)榉?wù)網(wǎng)格的操作的重要方面。在這方面,至關(guān)重要的是,當(dāng)在服務(wù)網(wǎng)格中的節(jié)點(diǎn)或服務(wù)實(shí)例中檢測(cè)到故障時(shí),隨后的訪問(wèn)發(fā)生故障的節(jié)點(diǎn)中的服務(wù)實(shí)例內(nèi)的服務(wù)功能的請(qǐng)求被重新路由到服務(wù)網(wǎng)格中的別處,到所希望的服務(wù)的其他實(shí)例。重要的是,這樣的重新路由必須透明地進(jìn)行,以便不干擾服務(wù)網(wǎng)格的虛擬組織方面。此外,盡管在當(dāng)前技術(shù)中故障轉(zhuǎn)移重新路由是已知的,但是,很少注意服務(wù)網(wǎng)格中的發(fā)生故障的服務(wù)實(shí)例的重新部署。
發(fā)明內(nèi)容
優(yōu)選情況下,本發(fā)明涉及分布式計(jì)算,包括Web服務(wù)和網(wǎng)格服務(wù)(特別是網(wǎng)格服務(wù)故障轉(zhuǎn)移)。
根據(jù)優(yōu)選實(shí)施例的本發(fā)明是配置為在分布式Web服務(wù)的上下文中管理自主故障轉(zhuǎn)移的系統(tǒng)、方法和設(shè)備。
根據(jù)一個(gè)方面,提供了一種用于進(jìn)行自主故障轉(zhuǎn)移的方法,包括下列步驟收集節(jié)點(diǎn)中的服務(wù)實(shí)例的量度;檢測(cè)所述節(jié)點(diǎn)中的故障;在檢測(cè)到所述故障時(shí),定位一組替換節(jié)點(diǎn)并確定每一個(gè)所述替換節(jié)點(diǎn)的平臺(tái)量度;以及,基于所述收集的量度和所述平臺(tái)量度,在所述替換節(jié)點(diǎn)的最佳地選擇的替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例。
關(guān)于這一點(diǎn),根據(jù)優(yōu)選實(shí)施例,在收集的量度和平臺(tái)量度之間執(zhí)行最佳匹配分析,以識(shí)別將在其中創(chuàng)建新的替換服務(wù)實(shí)例的最佳替換節(jié)點(diǎn)。然后,優(yōu)選情況下,在識(shí)別的最佳替換節(jié)點(diǎn)中創(chuàng)建這樣的新的替換服務(wù)實(shí)例。
在一些情況下,覺(jué)察到單個(gè)替換節(jié)點(diǎn)將能夠托管新創(chuàng)建的替換服務(wù)實(shí)例,以便不大可能在任何一個(gè)服務(wù)實(shí)例中導(dǎo)致性能的下降??墒牵谠S多其他情況下,跨多個(gè)替換節(jié)點(diǎn),將需要新的和預(yù)先存在的服務(wù)實(shí)例的比較復(fù)雜的重新布局。關(guān)于這一點(diǎn),根據(jù)優(yōu)選實(shí)施例,創(chuàng)建步驟包括,另外收集最佳替換節(jié)點(diǎn)中的現(xiàn)有服務(wù)實(shí)例的量度。優(yōu)選情況下,在收集和另外收集的量度兩者和最佳替換節(jié)點(diǎn)的平臺(tái)量度之間執(zhí)行最佳匹配分析。隨后,優(yōu)選情況下,在最佳替換節(jié)點(diǎn)中創(chuàng)建一組新的替換服務(wù)實(shí)例,以與一部分現(xiàn)有服務(wù)實(shí)例共存,在該部分現(xiàn)有服務(wù)實(shí)例中,計(jì)算新的替換服務(wù)實(shí)例集合和現(xiàn)有服務(wù)實(shí)例的部分,以便在最佳替換節(jié)點(diǎn)中最佳地合并。比較起來(lái),優(yōu)選情況下,將現(xiàn)有服務(wù)實(shí)例的其他實(shí)例移動(dòng)到其他替換節(jié)點(diǎn),優(yōu)選情況下,在其他替換節(jié)點(diǎn)中創(chuàng)建其余的新的替換服務(wù)實(shí)例集合。
根據(jù)優(yōu)選實(shí)施例,量度可以包括從由網(wǎng)格主機(jī)中消耗的資源、優(yōu)選的操作系統(tǒng)平臺(tái)、網(wǎng)格主機(jī)中需要的最少資源、網(wǎng)格主機(jī)中的供消耗的優(yōu)選資源構(gòu)成的組中選擇的至少一個(gè)量度。
另外,在本發(fā)明的再一個(gè)優(yōu)選實(shí)施例中,量度包括從由性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入構(gòu)成的組中選擇的至少一個(gè)額外的量度。相應(yīng)地,根據(jù)優(yōu)選實(shí)施例,可以在收集和另外收集的量度兩者和最佳替換節(jié)點(diǎn)的平臺(tái)量度之間執(zhí)行最佳匹配分析,同時(shí)給從由性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入構(gòu)成的組中選擇的至少一個(gè)量度加權(quán)。
根據(jù)優(yōu)選實(shí)施例,基于收集的量度和平臺(tái)量度,在替換節(jié)點(diǎn)的最佳地選擇的替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例包括下列步驟另外收集最佳替換節(jié)點(diǎn)中的現(xiàn)有服務(wù)實(shí)例的量度;在所述收集和另外收集的量度兩者和所述最佳替換節(jié)點(diǎn)的平臺(tái)量度之間執(zhí)行最佳匹配分析;在所述最佳替換節(jié)點(diǎn)中創(chuàng)建一組新的替換服務(wù)實(shí)例,以與一部分所述現(xiàn)有服務(wù)實(shí)例共存,在該部分所述現(xiàn)有服務(wù)實(shí)例中,計(jì)算新的替換服務(wù)實(shí)例的所述集和所述現(xiàn)有服務(wù)實(shí)例的所述部分,以便在所述最佳替換節(jié)點(diǎn)中最佳地合并;以及,將所述現(xiàn)有服務(wù)實(shí)例的其他實(shí)例移動(dòng)到其他替換節(jié)點(diǎn),并在所述其他替換節(jié)點(diǎn)中創(chuàng)建其余的新的替換服務(wù)實(shí)例集合。
根據(jù)優(yōu)選實(shí)施例,基于收集的量度和平臺(tái)量度,在替換節(jié)點(diǎn)的最佳地選擇的替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例包括下列步驟另外收集最佳替換節(jié)點(diǎn)中的現(xiàn)有服務(wù)實(shí)例的量度;在所述收集和另外收集的量度兩者和所述最佳替換節(jié)點(diǎn)的平臺(tái)量度之間執(zhí)行最佳匹配分析,同時(shí)給從由性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入構(gòu)成的組中選擇的至少一個(gè)量度加權(quán);在所述最佳替換節(jié)點(diǎn)中創(chuàng)建一組新的替換服務(wù)實(shí)例,以與一部分所述現(xiàn)有服務(wù)實(shí)例共存,在該部分所述現(xiàn)有服務(wù)實(shí)例中,計(jì)算新的替換服務(wù)實(shí)例的所述集和所述現(xiàn)有服務(wù)實(shí)例的所述部分,以便根據(jù)所述加權(quán)的至少一個(gè)量度來(lái)在所述最佳替換節(jié)點(diǎn)中最佳地合并;以及,將所述現(xiàn)有服務(wù)實(shí)例的其他實(shí)例移動(dòng)到其他替換節(jié)點(diǎn),并在所述其他替換節(jié)點(diǎn)中創(chuàng)建其余的新的替換服務(wù)實(shí)例集合。
根據(jù)另一個(gè)方面,本發(fā)明提供一種網(wǎng)格協(xié)調(diào)器,包括以通信方式鏈接到服務(wù)網(wǎng)格中的多個(gè)網(wǎng)格主機(jī)的監(jiān)視器;連接到所述監(jiān)視器并被配置為在所述網(wǎng)格主機(jī)中存儲(chǔ)單個(gè)服務(wù)實(shí)例的服務(wù)量度的量度存儲(chǔ)器;優(yōu)化邏輯,被編程為在為發(fā)生故障的網(wǎng)格主機(jī)中的一組服務(wù)實(shí)例存儲(chǔ)的量度,以及為提議的替換網(wǎng)格主機(jī)確定的平臺(tái)量度之間計(jì)算“最佳匹配”;以及,連接到所述監(jiān)視器和所述優(yōu)化邏輯的并以通信方式鏈接到所述網(wǎng)格主機(jī)的故障轉(zhuǎn)移處理器,以在所述提議的替換網(wǎng)格主機(jī)中創(chuàng)建新的一組服務(wù)實(shí)例,以便根據(jù)在所述優(yōu)化邏輯中計(jì)算的所述“最佳匹配”替換所述發(fā)生故障的網(wǎng)格主機(jī)中的所述服務(wù)實(shí)例集合。
優(yōu)選情況下,監(jiān)視器包括位于所述網(wǎng)格主機(jī)中的多個(gè)協(xié)作監(jiān)視進(jìn)程,每一個(gè)協(xié)作監(jiān)視進(jìn)程具有將對(duì)應(yīng)的網(wǎng)格主機(jī)的狀態(tài)報(bào)告到所述故障轉(zhuǎn)移處理器的配置。
優(yōu)選情況下,服務(wù)量度包括從由網(wǎng)格主機(jī)中消耗的資源、優(yōu)選的操作系統(tǒng)平臺(tái)、網(wǎng)格主機(jī)中需要的最少資源、網(wǎng)格主機(jī)中的供消耗的優(yōu)選資源構(gòu)成的組中選擇的至少一個(gè)量度。優(yōu)選情況下,服務(wù)量度進(jìn)一步包括從由性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入構(gòu)成的組中選擇的至少一個(gè)量度。
根據(jù)另一個(gè)方面,提供了一種在其上存儲(chǔ)了用于管理自主故障轉(zhuǎn)移的計(jì)算機(jī)程序的機(jī)器可讀的存儲(chǔ)器,計(jì)算機(jī)程序包括用于使機(jī)器執(zhí)行下列步驟的例行指令集收集節(jié)點(diǎn)中的服務(wù)實(shí)例的量度;檢測(cè)所述節(jié)點(diǎn)中的故障;在檢測(cè)到所述故障時(shí),定位一組替換節(jié)點(diǎn)并確定每一個(gè)所述替換節(jié)點(diǎn)的平臺(tái)量度;以及,基于所述收集的量度和所述平臺(tái)量度,在所述替換節(jié)點(diǎn)的最佳地選擇的替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例。
優(yōu)選情況下,所述量度包括從由網(wǎng)格主機(jī)中消耗的資源、優(yōu)選的操作系統(tǒng)平臺(tái)、網(wǎng)格主機(jī)中需要的最少資源、網(wǎng)格主機(jī)中的供消耗的優(yōu)選資源構(gòu)成的組中選擇的至少一個(gè)量度。
優(yōu)選情況下,量度進(jìn)一步包括從由性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入構(gòu)成的組中選擇的至少一個(gè)量度。
優(yōu)選情況下,創(chuàng)建步驟包括下列步驟在所述收集的量度和所述平臺(tái)量度之間執(zhí)行最佳匹配分析,以識(shí)別將在其中創(chuàng)建新的替換服務(wù)實(shí)例的最佳替換節(jié)點(diǎn);以及,在所述識(shí)別的最佳替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例。
優(yōu)選情況下,創(chuàng)建步驟包括下列步驟另外收集最佳替換節(jié)點(diǎn)中的現(xiàn)有服務(wù)實(shí)例的量度;在所述收集和另外收集的量度兩者和所述最佳替換節(jié)點(diǎn)的平臺(tái)量度之間執(zhí)行最佳匹配分析;在所述最佳替換節(jié)點(diǎn)中創(chuàng)建一組新的替換服務(wù)實(shí)例,以與一部分所述現(xiàn)有服務(wù)實(shí)例共存,在該部分所述現(xiàn)有服務(wù)實(shí)例中,計(jì)算新的替換服務(wù)實(shí)例的所述集和所述現(xiàn)有服務(wù)實(shí)例的所述部分,以便在所述最佳替換節(jié)點(diǎn)中最佳地合并;以及,將所述現(xiàn)有服務(wù)實(shí)例的其他實(shí)例移動(dòng)到其他替換節(jié)點(diǎn),并在所述其他替換節(jié)點(diǎn)中創(chuàng)建其余的新的替換服務(wù)實(shí)例集合。
在優(yōu)選實(shí)施例中,創(chuàng)建步驟包括下列步驟另外收集最佳替換節(jié)點(diǎn)中的現(xiàn)有服務(wù)實(shí)例的量度;在所述收集和另外收集的量度兩者和所述最佳替換節(jié)點(diǎn)的平臺(tái)量度之間執(zhí)行最佳匹配分析,同時(shí)給從由性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入構(gòu)成的組中選擇的至少一個(gè)量度加權(quán);在所述最佳替換節(jié)點(diǎn)中創(chuàng)建一組新的替換服務(wù)實(shí)例,以與一部分所述現(xiàn)有服務(wù)實(shí)例共存,在該部分所述現(xiàn)有服務(wù)實(shí)例中,計(jì)算新的替換服務(wù)實(shí)例的所述集和所述現(xiàn)有服務(wù)實(shí)例的所述部分,以便根據(jù)所述加權(quán)的至少一個(gè)量度來(lái)在所述最佳替換節(jié)點(diǎn)中最佳地合并;以及,將所述現(xiàn)有服務(wù)實(shí)例的其他實(shí)例移動(dòng)到其他替換節(jié)點(diǎn),并在所述其他替換節(jié)點(diǎn)中創(chuàng)建其余的新的替換服務(wù)實(shí)例集合。
根據(jù)另一個(gè)方面,提供了包括程序代碼裝置的計(jì)算機(jī)程序,當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí),用于執(zhí)行下列方法步驟,該步驟包括收集節(jié)點(diǎn)中的服務(wù)實(shí)例的量度;檢測(cè)所述節(jié)點(diǎn)中的故障;在檢測(cè)到所述故障時(shí),定位一組替換節(jié)點(diǎn)并確定每一個(gè)所述替換節(jié)點(diǎn)的平臺(tái)量度;以及,基于所述收集的量度和所述平臺(tái)量度,在所述替換節(jié)點(diǎn)的最佳地選擇的替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例。
優(yōu)選情況下,還提供了用于進(jìn)行自主故障轉(zhuǎn)移的設(shè)備,包括用于收集節(jié)點(diǎn)中的服務(wù)實(shí)例的量度的裝置;用于檢測(cè)所述節(jié)點(diǎn)中的故障的裝置;用于響應(yīng)于檢測(cè)到所述故障的情況,定位一組替換節(jié)點(diǎn)并確定每一個(gè)所述替換節(jié)點(diǎn)的平臺(tái)量度的裝置;以及,基于所述收集的量度和所述平臺(tái)量度,在所述替換節(jié)點(diǎn)的最佳地選擇的替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例的裝置。
現(xiàn)在將參考下面的附圖,只作為示例,對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行描述圖1是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的被配置為自主故障轉(zhuǎn)移的服務(wù)網(wǎng)格的示意圖;圖2是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的圖1的服務(wù)網(wǎng)格中的進(jìn)行故障轉(zhuǎn)移優(yōu)化的過(guò)程的方框圖;以及,圖3是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的圖1的服務(wù)網(wǎng)格中的用于管理自主故障轉(zhuǎn)移的過(guò)程的方框圖。
具體實(shí)施例方式
根據(jù)優(yōu)選實(shí)施例,說(shuō)明了一種用于用于管理諸如Web服務(wù)或網(wǎng)格服務(wù)托管基礎(chǔ)結(jié)構(gòu)之類的服務(wù)基礎(chǔ)結(jié)構(gòu)中的自主故障轉(zhuǎn)移的方法和系統(tǒng)。在對(duì)網(wǎng)格服務(wù)托管基礎(chǔ)結(jié)構(gòu)的具體參考中,優(yōu)選情況下,檢測(cè)發(fā)生故障的網(wǎng)格托管節(jié)點(diǎn),優(yōu)選情況下,判斷發(fā)生故障的節(jié)點(diǎn)中托管的對(duì)應(yīng)的網(wǎng)格服務(wù)集。對(duì)于對(duì)應(yīng)的集中的每一個(gè)服務(wù),可以確定計(jì)算要求、計(jì)算性能和成本/收入特征。此外,優(yōu)選情況下,識(shí)別可以容納對(duì)應(yīng)的集中的網(wǎng)格服務(wù)的新實(shí)例的現(xiàn)有的網(wǎng)格服務(wù)主機(jī)節(jié)點(diǎn)。在可以識(shí)別可以容納對(duì)應(yīng)的集中的所有服務(wù)的主機(jī)節(jié)點(diǎn)的情況下,優(yōu)選情況下,在識(shí)別的主機(jī)節(jié)點(diǎn)中實(shí)例化該集中的服務(wù)。否則,根據(jù)一個(gè)或多個(gè)確定的計(jì)算要求、性能和成本/收入特征,優(yōu)選情況下,優(yōu)化一個(gè)或多個(gè)主機(jī)節(jié)點(diǎn)中的服務(wù)的放置。
關(guān)于這一點(diǎn),對(duì)每一個(gè)服務(wù)實(shí)例進(jìn)行監(jiān)視,以便了解計(jì)算要求、性能量度和成本/收入特征。作為示例,計(jì)算要求可以包括操作系統(tǒng)要求和硬件資源要求。比較起來(lái),性能量度可以包括資源消耗量度,如在服務(wù)實(shí)例的操作過(guò)程中消耗的通信帶寬、處理器、存儲(chǔ)器或磁盤存儲(chǔ)器。最后,成本/收入特征可以包括每個(gè)消耗的資源的成本,以及每個(gè)消耗的資源的收入。在任何情況下,優(yōu)選情況下,在每一個(gè)服務(wù)的操作過(guò)程中,動(dòng)態(tài)地記錄量度。如此,預(yù)計(jì)量度將隨著時(shí)間而變化。
響應(yīng)檢測(cè)到節(jié)點(diǎn)故障的情況,優(yōu)選情況下,在一個(gè)節(jié)點(diǎn)中放置較高優(yōu)先級(jí)的服務(wù),這樣的較高優(yōu)先級(jí)的服務(wù)可以享受符合或超過(guò)發(fā)生故障的節(jié)點(diǎn)中的以前的級(jí)別的資源消耗級(jí)別。然而,在資源有限上下文中,在替換節(jié)點(diǎn)缺乏足夠的資源以在發(fā)生故障的節(jié)點(diǎn)的以前的資源消耗級(jí)別容納發(fā)生故障的節(jié)點(diǎn)中的所有服務(wù)的新實(shí)例的情況下,可以給較低的優(yōu)先級(jí)的服務(wù)分配甚至比發(fā)生故障的節(jié)點(diǎn)中先前分配的更少的資源。為避免此情況,優(yōu)選情況下,使用多個(gè)替換節(jié)點(diǎn)來(lái)托管服務(wù)的新實(shí)例,其中,該集中的服務(wù)的拆分所產(chǎn)生的性能影響不會(huì)重于由于分配較低的優(yōu)先級(jí)服務(wù)的替換節(jié)點(diǎn)中的較低的資源級(jí)別所造成的性能影響。
在任何情況下,盡管本發(fā)明可以在分布式的Web服務(wù)集的上下文中,或在網(wǎng)格服務(wù)基礎(chǔ)結(jié)構(gòu)的比較特定的情況下來(lái)實(shí)現(xiàn),但是,在本發(fā)明的優(yōu)選實(shí)施例中,網(wǎng)格服務(wù)基礎(chǔ)結(jié)構(gòu)被配置為自主故障轉(zhuǎn)移,如這里所描述的。為此,圖1是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的被配置為自主故障轉(zhuǎn)移的服務(wù)網(wǎng)格的示意圖。對(duì)熟練的技術(shù)人員顯而易見(jiàn)的是,服務(wù)網(wǎng)格可以是這樣的Web服務(wù)網(wǎng)格其中配置了一個(gè)或多個(gè)網(wǎng)格主機(jī)120A、120B,它們跨計(jì)算機(jī)通信網(wǎng)絡(luò)110(如因特網(wǎng))以網(wǎng)格方式以通信方式彼此鏈接在一起。單個(gè)發(fā)出請(qǐng)求的客戶端100可以請(qǐng)求從一個(gè)或多個(gè)網(wǎng)格主機(jī)120A、120B來(lái)訪問(wèn)Web服務(wù)。具體來(lái)說(shuō),如在當(dāng)前技術(shù)中已知的,SOAP編碼的消息可以在發(fā)出請(qǐng)求的客戶端100和駐留在相應(yīng)的網(wǎng)格主機(jī)120A、120B中的網(wǎng)格服務(wù)130A、130B之間來(lái)回被路由。
具體來(lái)說(shuō),客戶端100可以通過(guò)同樣地從網(wǎng)格協(xié)調(diào)器150請(qǐng)求來(lái)請(qǐng)求訪問(wèn)單個(gè)Web服務(wù)。具體來(lái)說(shuō),可以在消息路由器140中接收SOAP編碼的消息,這些消息可以有選擇地被路由到已知的網(wǎng)格協(xié)調(diào)器150集中的一個(gè)網(wǎng)格協(xié)調(diào)器(只顯示了一個(gè))。對(duì)于接收到的每一個(gè)消息,網(wǎng)格協(xié)調(diào)器150優(yōu)選情況下通過(guò)查詢已知的網(wǎng)格主機(jī)120A、120B內(nèi)托管的已知的網(wǎng)格服務(wù)130A、130B的服務(wù)注冊(cè)表190來(lái)查找服務(wù)網(wǎng)格中的被請(qǐng)求的Web服務(wù)的所希望的實(shí)例。隨后,網(wǎng)格服務(wù)協(xié)調(diào)器150中的請(qǐng)求路由邏輯160優(yōu)選情況下將請(qǐng)求路由到網(wǎng)格主機(jī)120A、120B的相應(yīng)的網(wǎng)格主機(jī)中的網(wǎng)格服務(wù)130A、130B的所選擇的一個(gè)網(wǎng)格服務(wù)。
那些熟練的技術(shù)人員將認(rèn)識(shí)到,網(wǎng)格主機(jī)120A、120B可以以集中方式位于服務(wù)器計(jì)算設(shè)備內(nèi)或以分布式方式跨多個(gè)服務(wù)器計(jì)算設(shè)備地布置。網(wǎng)格主機(jī)120A、120B可以包括諸如計(jì)算設(shè)備之類的物理主機(jī),或諸如虛擬機(jī)或物理主機(jī)內(nèi)的進(jìn)程之類的虛擬主機(jī)。不論是哪一種情況,通常,每一個(gè)網(wǎng)格主機(jī)120A、120B可以被視為其中Web服務(wù)可以被實(shí)例化、維護(hù)和損壞的主機(jī)節(jié)點(diǎn)。
重要的是,網(wǎng)格服務(wù)協(xié)調(diào)器150優(yōu)選情況下實(shí)現(xiàn)如OGSA定義的并且根據(jù)Globus Project,Globus Toolkit FuturesAn OpenGrid Services Architecture,Globus Tutorial,Argonne NationalLaboratory(January 29,2002)說(shuō)明的接口的網(wǎng)格服務(wù)接口。如在當(dāng)前技術(shù)中已知的,符合OGSA的網(wǎng)格服務(wù)接口可以包括下列接口和行為1.Web服務(wù)創(chuàng)建(工廠)2.全局命名(網(wǎng)格服務(wù)句柄)和參考(網(wǎng)格服務(wù)參考)3.使用壽命管理4.注冊(cè)和發(fā)現(xiàn)5.授權(quán)6.通知7.并行性8.可管理性關(guān)于這一點(diǎn),網(wǎng)格服務(wù)協(xié)調(diào)器150優(yōu)選情況下包括能夠使用“工廠創(chuàng)建服務(wù)”將所選擇的Web服務(wù)的實(shí)例克隆到新的或預(yù)先存在的應(yīng)用程序容器中的工廠接口。
具體來(lái)說(shuō),根據(jù)優(yōu)選實(shí)施例,網(wǎng)格服務(wù)協(xié)調(diào)器150可以請(qǐng)求跨一個(gè)或多個(gè)遠(yuǎn)程網(wǎng)格主機(jī)120A、120B地實(shí)例化被請(qǐng)求的Web服務(wù)的網(wǎng)格服務(wù)實(shí)例130A、130B。因此,響應(yīng)接收在指定的Web服務(wù)中進(jìn)行處理的服務(wù)請(qǐng)求的情況,不管指定的Web服務(wù)的任何特定實(shí)例,網(wǎng)格服務(wù)協(xié)調(diào)器150中的請(qǐng)求路由邏輯160優(yōu)選情況下選擇網(wǎng)格主機(jī)120A、120B內(nèi)的服務(wù)實(shí)例130A、130B中的特定的一個(gè)服務(wù)實(shí)例,以根據(jù)任何數(shù)量路由標(biāo)準(zhǔn)來(lái)處理服務(wù)請(qǐng)求。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,故障轉(zhuǎn)移邏輯170和優(yōu)化量度180的存儲(chǔ)器兩者都包括在網(wǎng)格協(xié)調(diào)器150中,完全地或通過(guò)關(guān)聯(lián)來(lái)進(jìn)行。優(yōu)化量度180可以包括不同的靜態(tài)和動(dòng)態(tài)參數(shù)以及單個(gè)服務(wù)實(shí)例130A、130B的操作與關(guān)聯(lián)測(cè)量的列表。在這方面,優(yōu)化量度180優(yōu)選情況下包括在網(wǎng)格主機(jī)120A、120B中消耗的資源的測(cè)量、優(yōu)選的操作系統(tǒng)平臺(tái)、需要的最少資源,以及需要的優(yōu)選資源。此外,優(yōu)化量度180優(yōu)選情況下為每一個(gè)單個(gè)服務(wù)實(shí)例130A、130B指定性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入。值得注意的是,優(yōu)化量度180的存儲(chǔ)器中包括的數(shù)據(jù)優(yōu)選情況下通過(guò)連接到優(yōu)化量度180(優(yōu)選情況下,收集單個(gè)服務(wù)實(shí)例130A、130B的性能數(shù)據(jù))的存儲(chǔ)器監(jiān)視器(未顯示)的操作定期更新。
隨著情況的產(chǎn)生,故障轉(zhuǎn)移邏輯170優(yōu)選情況下能夠檢測(cè)一個(gè)或多個(gè)服務(wù)實(shí)例所在的的網(wǎng)格主機(jī)120A、120B中的發(fā)生故障的那一個(gè)。識(shí)別發(fā)生故障的網(wǎng)格主機(jī)的情況下,故障轉(zhuǎn)移邏輯170優(yōu)選情況下查找一個(gè)或多個(gè)替換網(wǎng)格主機(jī)。替換網(wǎng)格主機(jī)可以包括能夠在發(fā)生故障的網(wǎng)格主機(jī)內(nèi)容納所有服務(wù)實(shí)例的網(wǎng)格主機(jī)。相反,替換網(wǎng)格主機(jī)可以包括已經(jīng)托管了服務(wù)實(shí)例并且目前沒(méi)有分配全部主機(jī)資源供發(fā)生故障的網(wǎng)格主機(jī)中的服務(wù)實(shí)例使用的網(wǎng)格主機(jī)。在可以識(shí)別幾乎相同或完全相同的替換網(wǎng)格主機(jī)的情況下,優(yōu)選情況下,在識(shí)別的替換主機(jī)中創(chuàng)建駐留在發(fā)生故障的grid主機(jī)中的服務(wù)實(shí)例的新實(shí)例。否則,可以執(zhí)行故障轉(zhuǎn)移優(yōu)化的過(guò)程,以便最佳地放置駐留在發(fā)生故障的網(wǎng)格主機(jī)中的服務(wù)實(shí)例的新實(shí)例。
圖2是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的圖1的服務(wù)網(wǎng)格中的進(jìn)行故障轉(zhuǎn)移優(yōu)化的過(guò)程的方框圖。根據(jù)本發(fā)明的布局,網(wǎng)格協(xié)調(diào)器215可以監(jiān)視所選擇的節(jié)點(diǎn)210X、210Y、210Z中工作的單個(gè)服務(wù)實(shí)例260A、260B、260C的操作。在監(jiān)視單個(gè)服務(wù)實(shí)例260A、260B、260C的過(guò)程中,優(yōu)選情況下,對(duì)于服務(wù)實(shí)例260A、260B、260C中的每一單個(gè)服務(wù)實(shí)例,記錄了服務(wù)量度230。具體來(lái)說(shuō),優(yōu)選情況下,對(duì)服務(wù)實(shí)例260A、260B、260C中的每一個(gè)服務(wù)實(shí)例進(jìn)行監(jiān)視,以便了解計(jì)算要求、性能量度和成本/收入特征。作為示例,計(jì)算要求可以包括操作系統(tǒng)要求和硬件資源要求。比較起來(lái),性能量度可以包括資源消耗量度,如在服務(wù)實(shí)例的操作過(guò)程中消耗的通信帶寬、處理器、存儲(chǔ)器或磁盤存儲(chǔ)器。最后,成本/收入特征可以包括每個(gè)消耗的資源的成本,以及每個(gè)消耗的資源的收入。
在檢測(cè)到特定被監(jiān)視的節(jié)點(diǎn)中的故障時(shí),例如,服務(wù)實(shí)例260A、260C所在的節(jié)點(diǎn)210Y,優(yōu)選情況下,優(yōu)化邏輯220嘗試根據(jù)下列過(guò)程進(jìn)行故障轉(zhuǎn)移。首先,優(yōu)選情況下,識(shí)別一個(gè)或多個(gè)替換節(jié)點(diǎn)240A、240B。優(yōu)選情況下,為每一個(gè)相應(yīng)的替換節(jié)點(diǎn)240A、240B確定單個(gè)平臺(tái)量度250A、250B。單個(gè)平臺(tái)量度250A、250B可以包括,計(jì)算諸如處理器類型、操作系統(tǒng)類型、存儲(chǔ)器和storage數(shù)量等等。單個(gè)平臺(tái)量度250A、250B進(jìn)一步可以包括替換節(jié)點(diǎn)250A、250B的動(dòng)態(tài)地指定的狀態(tài),如消耗的計(jì)算資源,被托管的服務(wù)實(shí)例的數(shù)量和身份,等等。
在圖2的典型的情況下,優(yōu)化邏輯220最初可以根據(jù)優(yōu)選實(shí)施例判斷在發(fā)生故障的節(jié)點(diǎn)210Y內(nèi)托管的服務(wù)260A、260C是否可以在其中一個(gè)被識(shí)別的替換節(jié)點(diǎn)240A、240B中完全地被重新實(shí)例化,以便服務(wù)260A、260C可以繼續(xù)在發(fā)生故障的節(jié)點(diǎn)210Y中預(yù)先實(shí)現(xiàn)的性能級(jí)別下工作。關(guān)于這一點(diǎn),作為一個(gè)簡(jiǎn)單情況,在已經(jīng)判斷替換節(jié)點(diǎn)240A包括能夠在發(fā)生故障的節(jié)點(diǎn)210Y中預(yù)先實(shí)現(xiàn)的性能級(jí)別下容納服務(wù)260A、260C的新實(shí)例的計(jì)算資源的情況下,優(yōu)選情況下,將服務(wù)260A、260C的新實(shí)例放在替換節(jié)點(diǎn)240A內(nèi)。
相反,在替換節(jié)點(diǎn)240A、240B中沒(méi)有一個(gè)替換節(jié)點(diǎn)能夠在發(fā)生故障的節(jié)點(diǎn)210Y中預(yù)先實(shí)現(xiàn)的性能級(jí)別下容納服務(wù)260A、260C的新實(shí)例的的情況下,優(yōu)選情況下,基于服務(wù)260A、260C的實(shí)例的服務(wù)量度230,以最佳方式,跨替換節(jié)點(diǎn)240A、240B中的一個(gè)或多個(gè),放置服務(wù)260A、260C的新實(shí)例。具體來(lái)說(shuō),優(yōu)選情況下,跨替換節(jié)點(diǎn)240A、240B兩者放置服務(wù)260A、260C的新實(shí)例,以便任何一個(gè)替換節(jié)點(diǎn)240A、240B不必容納服務(wù)260A、260C兩者的新實(shí)例。或者,優(yōu)選情況下,服務(wù)260A、260C的實(shí)例的服務(wù)量度230與平臺(tái)量度250A、250B匹配,以識(shí)別服務(wù)260A、260C的任何一個(gè)實(shí)例的最兼容的平臺(tái)。例如,在這方面,可以確定優(yōu)選的操作系統(tǒng)。
在本發(fā)明的優(yōu)選實(shí)施例中,對(duì)于服務(wù)260A、260C的每一個(gè)實(shí)例,確定成本對(duì)性能和收入對(duì)性能比。如此,服務(wù)260A、260C的新實(shí)例可以放置在替換節(jié)點(diǎn)240A、240B中的一個(gè)或多個(gè)替換節(jié)點(diǎn)內(nèi),以便優(yōu)化這樣的可能性享受較高的收入/性能和較低的成本/性能比的服務(wù)260A、260C的實(shí)例將更可能地在替換節(jié)點(diǎn)內(nèi)實(shí)現(xiàn)更高的性能,而具有較低的收入/性能和較高的成本/性能比的服務(wù)260A、260C的實(shí)例將讓步于服務(wù)260A、260C的前面的實(shí)例。為幫助前面的計(jì)算,可以對(duì)服務(wù)量度230和平臺(tái)量度250A、250B應(yīng)用最佳匹配分析。
圖3是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的圖1的服務(wù)網(wǎng)格中的用于管理自主故障轉(zhuǎn)移的過(guò)程的方框圖。在方框310中開(kāi)始,優(yōu)選情況下,在網(wǎng)格協(xié)調(diào)器內(nèi)檢測(cè)節(jié)點(diǎn)故障。在方框320中,優(yōu)選情況下,識(shí)別駐留在發(fā)生故障的節(jié)點(diǎn)內(nèi)的每一個(gè)服務(wù)實(shí)例。在方框330中,優(yōu)選情況下,進(jìn)一步識(shí)別一個(gè)或多個(gè)替換節(jié)點(diǎn)。在方框340中,優(yōu)選情況下,檢索發(fā)生故障的節(jié)點(diǎn)中的每一個(gè)服務(wù)實(shí)例的記錄的量度?;蛘?,對(duì)于發(fā)生故障的節(jié)點(diǎn)中托管的服務(wù)的每一個(gè)實(shí)例,可以檢索該服務(wù)的跨其他節(jié)點(diǎn)的多個(gè)實(shí)例的記錄的量度,以便消除該服務(wù)的任何一個(gè)實(shí)例中的異常事件。在任何情況下,在方框350中識(shí)別每一個(gè)被識(shí)別的替換節(jié)點(diǎn)的平臺(tái)量度。
在判斷方框360中,優(yōu)選情況下,基于發(fā)生故障的節(jié)點(diǎn)中預(yù)先體驗(yàn)到的性能,判斷被識(shí)別的替換節(jié)點(diǎn)中是否有某個(gè)節(jié)點(diǎn)可以容納服務(wù)的新實(shí)例,而不需要降低性能。如果是這樣,則在方框380中,優(yōu)選情況下,將服務(wù)的新實(shí)例放置在能夠容納服務(wù)的新實(shí)例而不需要性能下降的被識(shí)別的替換節(jié)點(diǎn)內(nèi)。否則,在方框370中,優(yōu)選情況下,執(zhí)行最佳服務(wù)放置分析。具體來(lái)說(shuō),優(yōu)選情況下,檢索每一個(gè)服務(wù)的量度,并與每一個(gè)潛在的替換節(jié)點(diǎn)的量度進(jìn)行比較。
優(yōu)選情況下,應(yīng)用最佳匹配分析,以判斷應(yīng)該在哪些替換節(jié)點(diǎn)中創(chuàng)建服務(wù)的新實(shí)例。特別是,可以給服務(wù)量度的不同的元素加權(quán),以強(qiáng)調(diào)某些元素比其他元素更重要,例如,“每個(gè)百分比的資源消耗的收入”比“優(yōu)選的操作系統(tǒng)”更重要。因此,可以在替換節(jié)點(diǎn)中創(chuàng)建全部新服務(wù)實(shí)例,而不是一個(gè)或多個(gè)新服務(wù)實(shí)例,或跨多個(gè)替換節(jié)點(diǎn)地分解全部新服務(wù)實(shí)例,以確保任何一個(gè)新服務(wù)實(shí)例中的性能都不會(huì)下降。最后,在可預(yù)見(jiàn)任何一個(gè)預(yù)先存在的服務(wù)實(shí)例可以通過(guò)將新服務(wù)放置在替換節(jié)點(diǎn)來(lái)移動(dòng)的情況下,可以將方框370的分析延伸到一個(gè)或多個(gè)替換節(jié)點(diǎn)內(nèi)的預(yù)先存在的服務(wù)實(shí)例。
本發(fā)明可以以硬件、軟件或硬件和軟件的組合實(shí)現(xiàn)。本發(fā)明的方法和系統(tǒng)可以使用一個(gè)計(jì)算機(jī)系統(tǒng)以集中方式,或者以不同的元素跨多個(gè)互連的計(jì)算機(jī)系統(tǒng)的分布式方式來(lái)實(shí)現(xiàn)。適于執(zhí)行這里描述的方法的任何類型的計(jì)算機(jī)系統(tǒng)或其他設(shè)備都適于執(zhí)行這里描述的功能。典型的硬件和軟件的組合可以是具有這樣的計(jì)算機(jī)程序的通用計(jì)算機(jī)系統(tǒng),當(dāng)加載并執(zhí)行該計(jì)算機(jī)程序時(shí),控制計(jì)算機(jī)系統(tǒng)以便它執(zhí)行這里描述的方法。本發(fā)明還可以嵌入在包括實(shí)現(xiàn)這里描述的方法的所有特點(diǎn)的計(jì)算機(jī)程序產(chǎn)品中,這種計(jì)算機(jī)程序產(chǎn)品在加載到計(jì)算機(jī)系統(tǒng)中時(shí),能夠執(zhí)行這些方法。
本上下文中的計(jì)算機(jī)程序或者應(yīng)用程序是指以任何語(yǔ)言、代碼或注釋表達(dá)的一組指令的任何表達(dá)式,用于導(dǎo)致具有信息處理能力的系統(tǒng)直接或者在下列操作中的任何一種或兩種操作都執(zhí)行之后執(zhí)行特定的功能a)轉(zhuǎn)換到另一種語(yǔ)言、代碼或注釋;b)以不同的材料形式再現(xiàn)。具體來(lái)說(shuō),在不偏離本發(fā)明的精神或必需的屬性的情況下,本發(fā)明可以以其他特定的形式來(lái)實(shí)現(xiàn),相應(yīng)地,在表示本發(fā)明的范圍時(shí),應(yīng)該參考下面的權(quán)利要求,而不是參考上述說(shuō)明。
權(quán)利要求
1.一種用于進(jìn)行自主故障轉(zhuǎn)移的方法,包括下列步驟收集節(jié)點(diǎn)中的服務(wù)實(shí)例的量度;檢測(cè)所述節(jié)點(diǎn)中的故障;在檢測(cè)到所述故障時(shí),定位一組替換節(jié)點(diǎn)并確定每一個(gè)所述替換節(jié)點(diǎn)的平臺(tái)量度;以及,基于所述收集的量度和所述平臺(tái)量度,在所述替換節(jié)點(diǎn)的最佳地選擇的替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述量度包括從由網(wǎng)格主機(jī)中消耗的資源、優(yōu)選的操作系統(tǒng)平臺(tái)、網(wǎng)格主機(jī)中需要的最少資源、網(wǎng)格主機(jī)中的供消耗的優(yōu)選資源構(gòu)成的組中選擇的至少一個(gè)量度。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述量度進(jìn)一步包括從由性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入構(gòu)成的組中選擇的至少一個(gè)量度。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述創(chuàng)建步驟包括下列步驟在所述收集的量度和所述平臺(tái)量度之間執(zhí)行最佳匹配分析,以識(shí)別將在其中創(chuàng)建新的替換服務(wù)實(shí)例的最佳替換節(jié)點(diǎn);以及,在所述識(shí)別的最佳替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述創(chuàng)建步驟包括下列步驟另外收集最佳替換節(jié)點(diǎn)中的現(xiàn)有服務(wù)實(shí)例的量度;在所述收集和另外收集的量度兩者和所述最佳替換節(jié)點(diǎn)的平臺(tái)量度之間執(zhí)行最佳匹配分析;在所述最佳替換節(jié)點(diǎn)中創(chuàng)建一組新的替換服務(wù)實(shí)例,以與一部分所述現(xiàn)有服務(wù)實(shí)例共存,在該部分所述現(xiàn)有服務(wù)實(shí)例中,計(jì)算新的替換服務(wù)實(shí)例的所述集和所述現(xiàn)有服務(wù)實(shí)例的所述部分,以便在所述最佳替換節(jié)點(diǎn)中最佳地合并;以及,將所述現(xiàn)有服務(wù)實(shí)例的其他實(shí)例移動(dòng)到其他替換節(jié)點(diǎn),并在所述其他替換節(jié)點(diǎn)中創(chuàng)建其余的新的替換服務(wù)實(shí)例集合。
6.根據(jù)權(quán)利要求3所述的方法,其中,所述創(chuàng)建步驟包括下列步驟另外收集最佳替換節(jié)點(diǎn)中的現(xiàn)有服務(wù)實(shí)例的量度;在所述收集和另外收集的量度兩者和所述最佳替換節(jié)點(diǎn)的平臺(tái)量度之間執(zhí)行最佳匹配分析,同時(shí)給從由性能的單位成本、資源消耗的單位成本、性能的單位收入以及資源消耗的單位收入構(gòu)成的組中選擇的至少一個(gè)量度加權(quán);在所述最佳替換節(jié)點(diǎn)中創(chuàng)建一組新的替換服務(wù)實(shí)例,以與一部分所述現(xiàn)有服務(wù)實(shí)例共存,在該部分所述現(xiàn)有服務(wù)實(shí)例中,計(jì)算新的替換服務(wù)實(shí)例的所述集和所述現(xiàn)有服務(wù)實(shí)例的所述部分,以便根據(jù)所述加權(quán)的至少一個(gè)量度來(lái)在所述最佳替換節(jié)點(diǎn)中最佳地合并;以及,將所述現(xiàn)有服務(wù)實(shí)例的其他實(shí)例移動(dòng)到其他替換節(jié)點(diǎn),并在所述其他替換節(jié)點(diǎn)中創(chuàng)建其余的新的替換服務(wù)實(shí)例集合。
7.一種網(wǎng)格協(xié)調(diào)器,包括以通信方式鏈接到服務(wù)網(wǎng)格中的多個(gè)網(wǎng)格主機(jī)的監(jiān)視器;連接到所述監(jiān)視器并被配置為在所述網(wǎng)格主機(jī)中存儲(chǔ)單個(gè)服務(wù)實(shí)例的服務(wù)量度的量度存儲(chǔ)器;優(yōu)化邏輯,被編程為在為發(fā)生故障的網(wǎng)格主機(jī)中的一組服務(wù)實(shí)例存儲(chǔ)的量度,以及為提議的替換網(wǎng)格主機(jī)確定的平臺(tái)量度之間計(jì)算“最佳匹配”;以及,連接到所述監(jiān)視器和所述優(yōu)化邏輯的并以通信方式鏈接到所述網(wǎng)格主機(jī)的故障轉(zhuǎn)移處理器,以在所述提議的替換網(wǎng)格主機(jī)中創(chuàng)建新的一組服務(wù)實(shí)例,以便根據(jù)在所述優(yōu)化邏輯中計(jì)算的所述“最佳匹配”替換所述發(fā)生故障的網(wǎng)格主機(jī)中的所述服務(wù)實(shí)例集合。
8.根據(jù)權(quán)利要求7所述的網(wǎng)格協(xié)調(diào)器,其中,所述監(jiān)視器包括位于所述網(wǎng)格主機(jī)中的多個(gè)協(xié)作監(jiān)視進(jìn)程,每一個(gè)所述協(xié)作監(jiān)視進(jìn)程具有將對(duì)應(yīng)的網(wǎng)格主機(jī)的狀態(tài)報(bào)告到所述故障轉(zhuǎn)移處理器的配置。
9.一種在其上存儲(chǔ)了用于管理自主故障轉(zhuǎn)移的計(jì)算機(jī)程序的機(jī)器可讀的存儲(chǔ)器,計(jì)算機(jī)程序包括用于使機(jī)器執(zhí)行下列步驟的例行指令集收集節(jié)點(diǎn)中的服務(wù)實(shí)例的量度;檢測(cè)所述節(jié)點(diǎn)中的故障;在檢測(cè)到所述故障時(shí),定位一組替換節(jié)點(diǎn)并確定每一個(gè)所述替換節(jié)點(diǎn)的平臺(tái)量度;以及,基于所述收集的量度和所述平臺(tái)量度,在所述替換節(jié)點(diǎn)的最佳地選擇的替換節(jié)點(diǎn)中創(chuàng)建新的替換服務(wù)實(shí)例。
10.包括程序代碼裝置的計(jì)算機(jī)程序,當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí),用于執(zhí)行權(quán)利要求1到6中的任何一個(gè)權(quán)利要求所述的方法。
全文摘要
已經(jīng)被配置為進(jìn)行自主故障轉(zhuǎn)移的網(wǎng)格協(xié)調(diào)器可以包括以通信方式鏈接到服務(wù)網(wǎng)格中的許多網(wǎng)格主機(jī)的監(jiān)視器。量度存儲(chǔ)器可以連接到監(jiān)視器并被配置為在網(wǎng)格主機(jī)中存儲(chǔ)單個(gè)服務(wù)實(shí)例的服務(wù)量度。優(yōu)化邏輯可以被編程為在為發(fā)生故障的網(wǎng)格主機(jī)中的一組服務(wù)實(shí)例存儲(chǔ)的量度,以及為提議的替換網(wǎng)格主機(jī)確定的平臺(tái)量度之間計(jì)算“最佳匹配”。最后,故障轉(zhuǎn)移處理器可以連接到監(jiān)視器和優(yōu)化邏輯并以通信方式鏈接到網(wǎng)格主機(jī),以在提議的替換網(wǎng)格主機(jī)中創(chuàng)建新的一組服務(wù)實(shí)例,以便根據(jù)在優(yōu)化邏輯中計(jì)算的“最佳匹配”替換發(fā)生故障的網(wǎng)格主機(jī)中的服務(wù)實(shí)例集合。
文檔編號(hào)G06F11/34GK1784661SQ200480012004
公開(kāi)日2006年6月7日 申請(qǐng)日期2004年5月13日 優(yōu)先權(quán)日2003年5月15日
發(fā)明者羅納德·多伊勒, 戴維·路易斯·卡明斯基 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司