專利名稱:計算業(yè)務(wù)網(wǎng)格的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算業(yè)務(wù)網(wǎng)格(computing service grid)。
背景技術(shù):
Web業(yè)務(wù)已經(jīng)成為分布計算的趨勢,并被視為開發(fā)真正通用模型的基礎(chǔ),以支持快速開發(fā)通過萬維網(wǎng)的基于組件的應(yīng)用。本領(lǐng)域所熟知的Web業(yè)務(wù)包括一系列出現(xiàn)的標(biāo)準(zhǔn),其描述了面向業(yè)務(wù)的、基于組件的應(yīng)用結(jié)構(gòu)。具體的,Web業(yè)務(wù)是松散耦合的、可重復(fù)使用的軟件組件,其在語義上涵蓋了離散功能,是分布式的,并通過標(biāo)準(zhǔn)因特網(wǎng)協(xié)議可編程地訪問。
從概念上說,Web業(yè)務(wù)表示一個模型,其中電子商務(wù)處理中的離散任務(wù)遍布整個值網(wǎng)(value net)廣泛地分布。特別的,許多工業(yè)專家認(rèn)為面向業(yè)務(wù)的Web業(yè)務(wù)開始成為因特網(wǎng)的下一革命階段。典型的,可以通過諸如Web業(yè)務(wù)定義語言(WSDL)的接口定義Web業(yè)務(wù),并且可以根據(jù)該接口實施Web業(yè)務(wù),但是這些實施細(xì)節(jié)并不重要,只要該實施符合Web業(yè)務(wù)接口。一旦已經(jīng)根據(jù)相應(yīng)的接口實施了Web業(yè)務(wù),可以使用Web業(yè)務(wù)注冊表,諸如本領(lǐng)域熟知的通用描述、開發(fā)和集成(UDDI)對該實施進(jìn)行注冊。注冊之后,業(yè)務(wù)請求者通過使用任何支持的消息協(xié)議,例如包括簡單對象訪問協(xié)議(SOAP)就可以訪問該Web業(yè)務(wù)。
電子工具(eUtilities)將Web業(yè)務(wù)的概念擴展超出了基本的WSDL、SOAP和UDDI的分布計算構(gòu)架。eUtilities指的是通過分布計算構(gòu)架提供對計算業(yè)務(wù)進(jìn)行計數(shù)的(metered)、連續(xù)的、按需訪問。與過去的計算業(yè)務(wù)不同,eUtilities可以與下層構(gòu)架緊密的結(jié)合在一起,因為根據(jù)所達(dá)成的業(yè)務(wù)級協(xié)定(SLA)的條款和條件,eUtilities的不同用戶可以從所選擇的eUtilities接收不同級別的響應(yīng)。特別的,eUtilities的SLA可以按照功能性、可用性、資源和可用性描述有保證的性能。于是,業(yè)務(wù)質(zhì)量(QoS)仍然首要的關(guān)注eUtilities的利用和分發(fā)。
在支持Web業(yè)務(wù)和eUtilities的面向業(yè)務(wù)的應(yīng)用環(huán)境中,已經(jīng)證明想要查找可靠的業(yè)務(wù)并實時動態(tài)地集成這些可靠的業(yè)務(wù)以滿足應(yīng)用的目的是比較困難的。但是注冊表、目錄和發(fā)現(xiàn)協(xié)議提供了一種用于實現(xiàn)業(yè)務(wù)檢測和業(yè)務(wù)到業(yè)務(wù)互連邏輯的基本結(jié)構(gòu),該結(jié)構(gòu)忽略了在將任何一個查找到的業(yè)務(wù)與業(yè)務(wù)請求者捆綁起來者出現(xiàn)的QoS和SLA問題。特別的,通過開放網(wǎng)格業(yè)務(wù)構(gòu)架(OGSA)的網(wǎng)格機制的機理既提供在發(fā)現(xiàn)中的協(xié)議,也提供通過分布系統(tǒng)捆綁Web業(yè)務(wù)和eUtilities的協(xié)議。
還有,已知的網(wǎng)格機制缺少能夠支持自動、動態(tài)的協(xié)作和通過異類商務(wù)應(yīng)用系統(tǒng)集成Web業(yè)務(wù)和eUtilities的技術(shù)。而且,如Ian Foster,C arl Kesselman,Jeffrey M.Nick和Steven Tuecke在The Physiologyof the Grid中所描述http//www.globus.org/research/papers/ogsa.pdf(2002年2月17日),最多可以將協(xié)作與集成Web業(yè)務(wù)和eUtilities視作為手動過程。
特別的,目前,在共享由不同的提供者和消費者分別提供和使用的同等的、雖然不一定相同的Web業(yè)務(wù)和eUtilities方面存在限制。而且,對于依靠Web業(yè)務(wù)性能的面向業(yè)務(wù)的應(yīng)用而言,在不能夠?qū)崟r的控制和管理不可靠的Web業(yè)務(wù)或eUtilities的情況下,甚至在該性能已經(jīng)按照SLA的條款被指定的情況下,其會遭受不想要的風(fēng)險。
發(fā)明內(nèi)容
根據(jù)第一方面,本發(fā)明提供一種計算業(yè)務(wù)網(wǎng)格,包括與多個業(yè)務(wù)實例耦合的業(yè)務(wù)臺,所述業(yè)務(wù)實例符合共同的業(yè)務(wù)接口;和設(shè)置在所述業(yè)務(wù)網(wǎng)格中的路由組件,所述路由組件將各個業(yè)務(wù)請求路由到所述業(yè)務(wù)實例中的各業(yè)務(wù)實例。
優(yōu)選的,該網(wǎng)格進(jìn)一步包括業(yè)務(wù)實例監(jiān)視組件;和故障轉(zhuǎn)移(failover)邏輯,其被配置為在所述業(yè)務(wù)實例監(jiān)視組件在所選擇的業(yè)務(wù)實例中檢測到故障轉(zhuǎn)移條件的情況下,將業(yè)務(wù)請求從所述所選擇的業(yè)務(wù)實例重新路由到所述業(yè)務(wù)實例中的其它業(yè)務(wù)實例。在優(yōu)選的實施例中,所述故障轉(zhuǎn)移條件包括錯誤條件和低于保證性能級別的性能不足條件其中之一。
在優(yōu)選的實施例中,該網(wǎng)格進(jìn)一步包括業(yè)務(wù)實例廠(serviceinstance factory),其被配置為響應(yīng)于接收到業(yè)務(wù)請求,對所述業(yè)務(wù)實例中的各業(yè)務(wù)實例進(jìn)行實例化(instantiate)。優(yōu)選的,該網(wǎng)格進(jìn)一步包括網(wǎng)格業(yè)務(wù)接口,所述業(yè)務(wù)臺可通過所述網(wǎng)格業(yè)務(wù)接口定位和捆綁所述業(yè)務(wù)實例中的各業(yè)務(wù)實例,以使用選擇業(yè)務(wù)響應(yīng)業(yè)務(wù)請求。
根據(jù)第二方面,本發(fā)明在如上所述的網(wǎng)格中提供一種業(yè)務(wù)請求處理的方法,包括步驟接收業(yè)務(wù)請求和業(yè)務(wù)質(zhì)量(QoS)特征的規(guī)范;選擇能夠以與QoS特征的所述規(guī)范一致的級別處理所述業(yè)務(wù)請求的幾個同等業(yè)務(wù)實例中的一個特定業(yè)務(wù)實例;和捆綁所述選擇的業(yè)務(wù)實例,以處理所述業(yè)務(wù)請求。
優(yōu)選的,該方法進(jìn)一步包括步驟監(jiān)視所述捆綁業(yè)務(wù)的性能;檢測所述性能中的故障轉(zhuǎn)移條件;和在已檢測到故障轉(zhuǎn)移條件的情況下,選擇能夠以與QoS特征的所述規(guī)范一致的所述級別處理所述業(yè)務(wù)請求的所述幾個同等業(yè)務(wù)實例中的一個替換業(yè)務(wù)實例,并捆綁所述替換業(yè)務(wù)實例,以處理所述業(yè)務(wù)請求。在優(yōu)選的實施例中,所述檢測步驟包括在所述選擇的業(yè)務(wù)中檢測異常的步驟。在另一優(yōu)選的實施例中,所述檢測步驟包括在所述選擇的業(yè)務(wù)中檢測低于QoS特征的所述規(guī)范的性能級別的步驟。
根據(jù)第三方面,本發(fā)明提供一種機器可讀的存儲器,其上面存儲有用于在業(yè)務(wù)網(wǎng)格中處理業(yè)務(wù)請求的計算機程序,如上所述,所述計算機程序包括使得機器執(zhí)行以下步驟的指令程序集接收業(yè)務(wù)請求和業(yè)務(wù)質(zhì)量(QoS)特征的規(guī)范;選擇能夠以與QoS特征的所述規(guī)范一致的級別處理所述業(yè)務(wù)請求的幾個同等業(yè)務(wù)實例中的一個特定業(yè)務(wù)實例;和捆綁所述選擇的業(yè)務(wù)實例,以處理所述業(yè)務(wù)請求。
本發(fā)明為計算業(yè)務(wù)網(wǎng)格。本發(fā)明的計算業(yè)務(wù)網(wǎng)格可以自動地組織、路由、恢復(fù)和交換計算業(yè)務(wù),諸如Web業(yè)務(wù)和eUtilities。該計算業(yè)務(wù)網(wǎng)格可以通過共同的業(yè)務(wù)進(jìn)入點表示一組同等的計算業(yè)務(wù)實例。接著,響應(yīng)于業(yè)務(wù)請求的接收,該計算業(yè)務(wù)網(wǎng)格可以選擇計算業(yè)務(wù)實例中適當(dāng)?shù)臉I(yè)務(wù)實例來處理所接收到的業(yè)務(wù)請求。
特別的,該計算業(yè)務(wù)網(wǎng)格不僅可以根據(jù)可用性,而且可以根據(jù)所選擇的計算業(yè)務(wù)實例的能力將業(yè)務(wù)請求路由到所選擇的計算業(yè)務(wù)實例。另外,該計算業(yè)務(wù)網(wǎng)格可以監(jiān)視所選擇的計算業(yè)務(wù)實例的性能,并可以在需要時執(zhí)行故障轉(zhuǎn)移處理。于是,該計算業(yè)務(wù)網(wǎng)格可以動態(tài)地群集和處理異類計算業(yè)務(wù),以提供迄今為止在常規(guī)Web業(yè)務(wù)捆綁的情況中無法實現(xiàn)的高級計算業(yè)務(wù)互操作性。
根據(jù)本發(fā)明的一方面,計算業(yè)務(wù)網(wǎng)格可以包括與一個或多個業(yè)務(wù)實例耦合的業(yè)務(wù)臺(service desk)。每一計算業(yè)務(wù)實例可以符合對在計算業(yè)務(wù)網(wǎng)格中的所有計算業(yè)務(wù)實例都通用的業(yè)務(wù)接口??梢栽谠撚嬎銟I(yè)務(wù)網(wǎng)格中設(shè)置路由組件。具體的,該路由組件可以將單個業(yè)務(wù)請求路由到各個計算業(yè)務(wù)實例。
該計算業(yè)務(wù)網(wǎng)格進(jìn)一步可以包括業(yè)務(wù)實例監(jiān)視組件。該監(jiān)視組件可以監(jiān)視負(fù)責(zé)處理單個業(yè)務(wù)請求的單個計算業(yè)務(wù)實例的性能??梢耘渲霉收限D(zhuǎn)移邏輯,在業(yè)務(wù)實例監(jiān)視組件在所選擇的業(yè)務(wù)實例中檢測到故障轉(zhuǎn)移條件時,將業(yè)務(wù)請求從所選擇的業(yè)務(wù)實例重新路由到其它業(yè)務(wù)實例。關(guān)于這一點,故障轉(zhuǎn)移條件可以包括錯誤條件和其中所選擇的計算業(yè)務(wù)實例低于保證級別性能的性能不足條件。
在一個業(yè)務(wù)網(wǎng)格中,業(yè)務(wù)請求處理方法可以包括接收業(yè)務(wù)請求和QoS特征的規(guī)范。可以選擇能夠以與QoS特征的規(guī)范一致的級別處理業(yè)務(wù)請求的幾個同等業(yè)務(wù)實例中的一個特定業(yè)務(wù)實例。接著,可以捆綁所選擇的業(yè)務(wù)實例,以處理該業(yè)務(wù)請求。一旦捆綁之后,可以監(jiān)視所選擇的業(yè)務(wù)的性能。具體的,可以檢測所選擇業(yè)務(wù)的性能中的故障轉(zhuǎn)移條件。在已經(jīng)檢測到故障時,可以選擇能夠以與QoS特征的規(guī)范一致的級別處理業(yè)務(wù)請求的幾個同等業(yè)務(wù)實例中的一個替換業(yè)務(wù)實例。接著可以捆綁替換業(yè)務(wù)實例,以處理該業(yè)務(wù)請求。
現(xiàn)在將參照如下面的附圖中所述的本發(fā)明的優(yōu)選實施例,僅通過范例的形式對其進(jìn)行描述,其中圖1是業(yè)務(wù)網(wǎng)格的框圖說明;圖2的時序圖描述了圖1的業(yè)務(wù)網(wǎng)格中的業(yè)務(wù)實例捆綁過程;圖3A的流程圖描述了在圖1的業(yè)務(wù)網(wǎng)格中用于查找與請求業(yè)務(wù)匹配的同等業(yè)務(wù)實例的過程;圖3B的流程圖描述了在圖1的業(yè)務(wù)網(wǎng)格中執(zhí)行業(yè)務(wù)實例故障的過程。
具體實施例方式
本發(fā)明是一種計算網(wǎng)格,一組同等的(comparable)計算業(yè)務(wù)、諸如Web業(yè)務(wù)和eUtilities通過該計算網(wǎng)格可以作為普通業(yè)務(wù)被訪問。具體的,可以建立一組業(yè)務(wù)網(wǎng)格,以通過共同的業(yè)務(wù)進(jìn)入點表示一組同等的計算業(yè)務(wù)。響應(yīng)于接收到來自業(yè)務(wù)請求者的業(yè)務(wù)請求,該業(yè)務(wù)網(wǎng)格將單獨表示的業(yè)務(wù)實例與業(yè)務(wù)請求匹配??梢允褂迷跇I(yè)務(wù)請求者與捆綁的業(yè)務(wù)實例之間用作代理的商務(wù)業(yè)務(wù)網(wǎng)格,調(diào)用匹配的業(yè)務(wù)實例,并將其與業(yè)務(wù)請求者捆綁。
根據(jù)本發(fā)明,該業(yè)務(wù)網(wǎng)格可以自動地組織、路由、恢復(fù)和交換同等的計算業(yè)務(wù)。具體的,本發(fā)明的業(yè)務(wù)網(wǎng)格可以用來對分布計算業(yè)務(wù)進(jìn)行分組,諸如相同的或同等的抽象的Web業(yè)務(wù)和eUtilities,盡管每一業(yè)務(wù)根據(jù)實施形式、供應(yīng)商、主機和網(wǎng)絡(luò)域可能會有所不同。而且為了通過業(yè)務(wù)臺在虛擬電子商務(wù)業(yè)務(wù)集合體(complex)中代理(broker)業(yè)務(wù),該業(yè)務(wù)網(wǎng)格可以對計算業(yè)務(wù)進(jìn)行分組。
重要的是,為了不僅能夠根據(jù)在建立的SLA中規(guī)定的保證業(yè)務(wù)級別執(zhí)行可靠性保證,而且對有故障的同等業(yè)務(wù)實例進(jìn)行故障檢測和自恢復(fù),可以在該業(yè)務(wù)網(wǎng)格中包括故障轉(zhuǎn)移邏輯。在這種情況下,對于已經(jīng)捆綁的業(yè)務(wù)實例(其由于不可用性、不滿意的性能或完全故障而不能再向業(yè)務(wù)請求者提供業(yè)務(wù)),該業(yè)務(wù)網(wǎng)格可以透明地用同等的業(yè)務(wù)實例將其替換。于是,如果出現(xiàn)異常,該業(yè)務(wù)網(wǎng)格可以對同等的業(yè)務(wù)實例執(zhí)行故障軟處理(fail-soft processing)。
圖1的方框描述是已經(jīng)根據(jù)本發(fā)明的優(yōu)選方面配置的業(yè)務(wù)網(wǎng)格。業(yè)務(wù)網(wǎng)格可以包括業(yè)務(wù)臺100。業(yè)務(wù)臺100可以包括共同進(jìn)入點(common entry point)110和一組操作120。具體的,該共同進(jìn)入點110可以使用正式的定義語言、諸如Web業(yè)務(wù)定義語言(WSDL)定義集合自單個業(yè)務(wù)抽象的抽象業(yè)務(wù)。關(guān)于這一點,該共同業(yè)務(wù)進(jìn)入點可以將統(tǒng)一資源標(biāo)識符指定給該業(yè)務(wù)臺100、一組可用的操作120、一個或多個有效信息格式和一個或多個可用傳輸捆綁。
該操作120可以包括維護(hù)類型的操作,諸如向一個或多個業(yè)務(wù)實例150添加列表或從其中刪除列表的操作、參考查詢、和對SLA的條款或整個SLA進(jìn)行設(shè)置和修改的操作。該操作120進(jìn)一步可以包括用于向業(yè)務(wù)實例150提交業(yè)務(wù)請求、用于從業(yè)務(wù)實例150檢索對業(yè)務(wù)請求的響應(yīng)、和用于檢查業(yè)務(wù)實例150的狀態(tài)的可選操作。最后,該操作120可以包括用于事件發(fā)布和用于設(shè)置恢復(fù)規(guī)則和異常句柄的操作。總之,該共同業(yè)務(wù)進(jìn)入點110可以用作該業(yè)務(wù)網(wǎng)格的唯一外部參考組件。
該業(yè)務(wù)網(wǎng)格本身可選地可以根據(jù)OGSA實施,并可以包括使用從諸如專用UDDI的專用注冊表得出的數(shù)據(jù)進(jìn)行填充的一個或多個內(nèi)部表130。對于包括在業(yè)務(wù)網(wǎng)格中的每一業(yè)務(wù)實例150,表130可以維護(hù)句柄、搜索密鑰和指向參考信息的對應(yīng)指針。該參考信息本身可以包括,例如諸如WSDL的描述標(biāo)記、QoS矩陣、輔助QoS矩陣、以及描述符的狀態(tài)和異常。在任何情況下,表130可以提供能夠支持業(yè)務(wù)網(wǎng)格的操作的數(shù)據(jù)結(jié)構(gòu)表。在操作中,通過選擇添加列表操作,可以向業(yè)務(wù)網(wǎng)格添加業(yè)務(wù)實例150。相反的,通過選擇刪除列表操作,可以從業(yè)務(wù)網(wǎng)格中刪除業(yè)務(wù)實例150。在向業(yè)務(wù)網(wǎng)格添加業(yè)務(wù)實例150之前,業(yè)務(wù)臺100可以驗證業(yè)務(wù)實例150的可靠性,并可以向內(nèi)部表130添加輔助QoS矩陣。而且可以將分散的業(yè)務(wù)實例150封裝在統(tǒng)一網(wǎng)格業(yè)務(wù)包裝(wrapper)160中,以便于業(yè)務(wù)網(wǎng)格與網(wǎng)格和非網(wǎng)格業(yè)務(wù)實例150之間的相互操作。
一旦成為可操作的,僅通過修改業(yè)務(wù)實例150的狀態(tài)描述符就可以修復(fù)和升級業(yè)務(wù)實例150。當(dāng)在業(yè)務(wù)網(wǎng)格中接收到業(yè)務(wù)請求時,業(yè)務(wù)臺100可以調(diào)用網(wǎng)格路由組件140,以標(biāo)識內(nèi)部表中所列合適的業(yè)務(wù)實例150。特別的,根據(jù)實時或預(yù)選的SLA級別規(guī)范,網(wǎng)格路由組件140可以按照相關(guān)SLA的條款所需要的響應(yīng)和可靠性選擇適當(dāng)?shù)臉I(yè)務(wù)實例150,以滿足業(yè)務(wù)請求。特別的,一旦業(yè)務(wù)實例150已經(jīng)捆綁到交易時,可以通過網(wǎng)格路由組件140監(jiān)視該業(yè)務(wù)實例150的健康情況,并且必要時可以通過所包括的作為操作120的一部分的異常處理和恢復(fù)執(zhí)行故障轉(zhuǎn)移。
圖2的時序圖描述了在圖1的業(yè)務(wù)網(wǎng)格中的業(yè)務(wù)實例捆綁過程。在步驟1,業(yè)務(wù)請求者可以向業(yè)務(wù)網(wǎng)格的共同業(yè)務(wù)進(jìn)入點轉(zhuǎn)發(fā)業(yè)務(wù)請求。例如,該業(yè)務(wù)請求可以被封裝在包含業(yè)務(wù)調(diào)用消息的SOAP包絡(luò)(envelope)中。在步驟2,該共同業(yè)務(wù)進(jìn)入點可以通過到業(yè)務(wù)網(wǎng)格,諸如OSGA的接口調(diào)用適當(dāng)?shù)牟僮鳌>唧w的,該共同業(yè)務(wù)進(jìn)入點可以調(diào)用初始化實際業(yè)務(wù)實例的操作。特別的,可以將所需要的QoS特征提供給網(wǎng)格業(yè)務(wù)接口,使得該網(wǎng)格業(yè)務(wù)接口可以調(diào)用業(yè)務(wù),以選擇能夠響應(yīng)業(yè)務(wù)請求的特定業(yè)務(wù)實例,并同時滿足所需要的QoS水平。
在步驟3,網(wǎng)格業(yè)務(wù)接口發(fā)現(xiàn)業(yè)務(wù)可以通過內(nèi)部表查找定位用于創(chuàng)建所請求的業(yè)務(wù)實例的廠業(yè)務(wù)。一旦找到之后,可以通過廠創(chuàng)建該業(yè)務(wù)實例,并可以將所創(chuàng)建業(yè)務(wù)實例的句柄返回給共同業(yè)務(wù)進(jìn)入點。在步驟4,該共同業(yè)務(wù)進(jìn)入點可以使用由網(wǎng)格業(yè)務(wù)接口向共同業(yè)務(wù)進(jìn)入點提供的句柄,將業(yè)務(wù)請求轉(zhuǎn)發(fā)給所創(chuàng)建的業(yè)務(wù)實例。一旦業(yè)務(wù)請求已經(jīng)被所創(chuàng)建的業(yè)務(wù)實例接收到時,所創(chuàng)建的業(yè)務(wù)實例可以處理該業(yè)務(wù)請求,并可以將響應(yīng)返回給共同業(yè)務(wù)進(jìn)入點。最后在步驟5,共同業(yè)務(wù)進(jìn)入點可以將響應(yīng)轉(zhuǎn)發(fā)給業(yè)務(wù)請求者。
顯然,不同于常規(guī)的捆綁計算業(yè)務(wù)處理以響應(yīng)業(yè)務(wù)請求,在本發(fā)明中,該業(yè)務(wù)網(wǎng)格可以根據(jù)特定業(yè)務(wù)實例的響應(yīng)和可靠性,以及由與業(yè)務(wù)請求者相關(guān)聯(lián)的SLA和QoS條款所需要的響應(yīng)和可靠性級別,自動地捆綁特定的業(yè)務(wù)實例,以響應(yīng)業(yè)務(wù)請求。關(guān)于這一點,圖3A的流程圖描述了在圖1的業(yè)務(wù)網(wǎng)格中用于查找與請求業(yè)務(wù)匹配的同等業(yè)務(wù)實例的過程。從方框300開始,可以接收來自業(yè)務(wù)請求者的業(yè)務(wù)請求。在方框310,可以為該請求者標(biāo)識SLA或SLA條款。該SLA或SLA條款可以指定保證給業(yè)務(wù)請求者的響應(yīng)和可靠性的最小級別。
在方框320,根據(jù)所標(biāo)識的SLA或SLA條款以及請求的業(yè)務(wù),業(yè)務(wù)網(wǎng)格可以查詢內(nèi)部表,以從一組可以響應(yīng)該業(yè)務(wù)請求的同等業(yè)務(wù)實例中選擇業(yè)務(wù)實例。在判決方框300中,可以檢查所選擇業(yè)務(wù)實例的狀態(tài),以確定所選業(yè)務(wù)實例的可用性。如果所選業(yè)務(wù)實例不可用,那么在方框340中,可以選擇能夠滿足SLA或SLA條款以及業(yè)務(wù)請求的下一個最佳業(yè)務(wù)實例,并可以重復(fù)該過程。否則,該過程可以繼續(xù)到方框350。
在方框350,可以捆綁所選業(yè)務(wù)實例以響應(yīng)該業(yè)務(wù)請求。接著在方框360,可以將該業(yè)務(wù)請求轉(zhuǎn)發(fā)給所捆綁的業(yè)務(wù)實例。在方框370,可以確定是否已經(jīng)接收到來自所捆綁業(yè)務(wù)實例的響應(yīng)。如果沒有,該過程可以等待所捆綁業(yè)務(wù)實例對該業(yè)務(wù)請求的響應(yīng)。否則在方框380,可以將所接收到的響應(yīng)轉(zhuǎn)發(fā)給業(yè)務(wù)請求者。重要的是,可以通過本發(fā)明的業(yè)務(wù)網(wǎng)格的性能監(jiān)視和故障轉(zhuǎn)移組件,保證所捆綁業(yè)務(wù)實例的響應(yīng)和可靠性。
關(guān)于這一點,圖3B的流程圖描述了在圖1的業(yè)務(wù)網(wǎng)格中用于執(zhí)行業(yè)務(wù)實例的故障軟過程。從方框400開始,可以監(jiān)視所捆綁業(yè)務(wù)實例與共同業(yè)務(wù)進(jìn)入點之間的請求響應(yīng)會話進(jìn)程的性能和可用性。在判決方框410中,可以測試所捆綁業(yè)務(wù)實例是否有故障轉(zhuǎn)移。具體的,極端情況下,可以確定所捆綁業(yè)務(wù)實例中是否出現(xiàn)使得所捆綁業(yè)務(wù)實例無法完成會話的錯誤??商鎿Q的,可以將該會話的質(zhì)量與QoS條款或SLA條款所保證的質(zhì)量級別進(jìn)行比較。
在確定該會話的質(zhì)量足以滿足保證級別的質(zhì)量時,在判決方框420中可以確定該會話是否已經(jīng)結(jié)束。如果是,在方框470可以結(jié)束該會話。否則在方框400,繼續(xù)該會話,并可以接著監(jiān)視該會話的質(zhì)量。然而,如果在方框410中確定該會話的質(zhì)量低于會話質(zhì)量的保證級別,那么在方框430可以查詢業(yè)務(wù)網(wǎng)格的內(nèi)部表,以標(biāo)識被配置為滿足保證級別質(zhì)量的下一個最佳業(yè)務(wù)實例。如果在判決方框440中所標(biāo)識的業(yè)務(wù)實例不可用,該過程可以在方框430中重復(fù)。否則在方框450,可以捆綁該下一個最佳業(yè)務(wù)實例以滿足該業(yè)務(wù)請求,并且在方框460,可以將該業(yè)務(wù)請求轉(zhuǎn)發(fā)給該新捆綁的業(yè)務(wù)實例。
根據(jù)本發(fā)明,業(yè)務(wù)網(wǎng)格可以自動地組織、路由、恢復(fù)和交換計算業(yè)務(wù),諸如Web業(yè)務(wù)和eUtilities。具體的,可以建立業(yè)務(wù)網(wǎng)格,以通過共同業(yè)務(wù)進(jìn)入點表示一組同等的業(yè)務(wù)。接著,該業(yè)務(wù)網(wǎng)格可以自動地捆綁業(yè)務(wù)實例以處理單個到來的業(yè)務(wù)請求。而且在檢測到異常或性能不足時,該業(yè)務(wù)網(wǎng)格可以對同等的替換業(yè)務(wù)實例執(zhí)行故障轉(zhuǎn)移處理。
動態(tài)電子商務(wù)要求能夠?qū)崟r共享和集成許多現(xiàn)成的、現(xiàn)購的、原子的、但是異類的計算業(yè)務(wù),諸如Web業(yè)務(wù)和eUtilities。常規(guī)系統(tǒng)需要手動捆綁業(yè)務(wù),并且僅提供業(yè)務(wù)請求到計算業(yè)務(wù)的基本路由。本發(fā)明為了確保QoS條款和現(xiàn)存的SLA條款所要求的最小級別的性能和可靠性,通過根據(jù)條件編程邏輯提供自動化的業(yè)務(wù)捆綁和路由,從而克服了常規(guī)系統(tǒng)的效率低下問題。
本發(fā)明可以在硬件、軟件、或硬件和軟件的組合中實施。本發(fā)明的方法和系統(tǒng)的實施方式可以以集中方式在一個計算機系統(tǒng)中實現(xiàn),或者在跨幾個互聯(lián)計算機系統(tǒng)分布不同的元件的情況下以分布方式實現(xiàn)。適合于執(zhí)行此處所描述的方法的任何種類的計算機系統(tǒng)、或其它設(shè)備都可以執(zhí)行此處所描述的功能。
硬件和軟件的典型組合可以是具有計算機程序的通用計算機系統(tǒng),當(dāng)裝載和執(zhí)行該計算機程序時,其控制計算機系統(tǒng)使其執(zhí)行此處所描述的方法。本發(fā)明也可以內(nèi)置于計算機程序產(chǎn)品中,其包括能夠?qū)嵤┐颂幩枋龅脑摲椒ǖ娜刻卣鳎⑶耶?dāng)將其裝載到計算機系統(tǒng)中時,可以執(zhí)行這些方法。
在本文中計算機程序或應(yīng)用指的是任何語言、編碼或注釋的一組指令的任何表達(dá)式,其可以使得具有信息處理能力的系統(tǒng)直接的、或在以下步驟其一或全部之后執(zhí)行特定的功能a)轉(zhuǎn)換成另一語言、編碼或注釋;b)以不同材料形式復(fù)制。特別的,不脫離本發(fā)明的基本屬性,可以其它特定形式實施本發(fā)明,并且相應(yīng)的,本發(fā)明的范圍表示應(yīng)該必須參照下面的權(quán)利要求書,而不是前述說明書。
權(quán)利要求
1.一種計算業(yè)務(wù)網(wǎng)格,包括與多個業(yè)務(wù)實例耦合的業(yè)務(wù)臺,所述業(yè)務(wù)實例符合共同的業(yè)務(wù)接口;和設(shè)置在所述業(yè)務(wù)網(wǎng)格中的路由組件,所述路由組件將各個業(yè)務(wù)請求路由到所述業(yè)務(wù)實例中的各業(yè)務(wù)實例。
2.如權(quán)利要求1的計算業(yè)務(wù)網(wǎng)格,進(jìn)一步包括業(yè)務(wù)實例監(jiān)視組件;和故障轉(zhuǎn)移邏輯,其被配置為在所述業(yè)務(wù)實例監(jiān)視組件在所選擇的業(yè)務(wù)實例中檢測到故障轉(zhuǎn)移條件的情況下,將業(yè)務(wù)請求從所述所選擇的業(yè)務(wù)實例重新路由到所述業(yè)務(wù)實例中的其它業(yè)務(wù)實例。
3.如權(quán)利要求2的計算業(yè)務(wù)網(wǎng)格,其中所述故障轉(zhuǎn)移條件包括錯誤條件和低于保證性能級別的性能不足條件其中之一。
4.如權(quán)利要求1或2的計算業(yè)務(wù)網(wǎng)格,進(jìn)一步包括業(yè)務(wù)實例廠,其被配置為響應(yīng)于接收到業(yè)務(wù)請求,對所述業(yè)務(wù)實例中的各業(yè)務(wù)實例進(jìn)行實例化。
5.如前述任意權(quán)利要求的計算業(yè)務(wù)網(wǎng)格,進(jìn)一步包括網(wǎng)格業(yè)務(wù)接口,所述業(yè)務(wù)臺可通過所述網(wǎng)格業(yè)務(wù)接口定位和捆綁所述業(yè)務(wù)實例中的各業(yè)務(wù)實例,以使用選擇業(yè)務(wù)響應(yīng)業(yè)務(wù)請求。
6.一種在如前述任意權(quán)利要求所述的計算業(yè)務(wù)網(wǎng)格中的業(yè)務(wù)請求處理方法,包括步驟接收業(yè)務(wù)請求和業(yè)務(wù)質(zhì)量(QoS)特征的規(guī)范;選擇能夠以與QoS特征的所述規(guī)范一致的級別處理所述業(yè)務(wù)請求的幾個同等業(yè)務(wù)實例中的一個特定業(yè)務(wù)實例;和捆綁所述選擇的業(yè)務(wù)實例,以處理所述業(yè)務(wù)請求。
7.如權(quán)利要求6的方法,進(jìn)一步包括監(jiān)視所述捆綁業(yè)務(wù)的性能;檢測所述性能中的故障轉(zhuǎn)移條件;和在已檢測到故障轉(zhuǎn)移條件的情況下,選擇能夠以與QoS特征的所述規(guī)范一致的所述級別處理所述業(yè)務(wù)請求的所述幾個同等業(yè)務(wù)實例中的一個替換業(yè)務(wù)實例,并捆綁所述替換業(yè)務(wù)實例,以處理所述業(yè)務(wù)請求。
8.如權(quán)利要求7的方法,其中所述檢測步驟包括在所述選擇的業(yè)務(wù)中檢測異常的步驟。
9.如權(quán)利要求7的方法,其中所述檢測步驟包括在所述選擇的業(yè)務(wù)中檢測低于QoS特征的所述規(guī)范的性能級別的步驟。
10.一種機器可讀的存儲裝置,其上存儲有用于在如權(quán)利要求1至5中任一項所述的業(yè)務(wù)網(wǎng)格中處理業(yè)務(wù)請求的計算機程序,述計算機程序包括使得機器執(zhí)行以下步驟的指令程序集接收業(yè)務(wù)請求和業(yè)務(wù)質(zhì)量(QoS)特征的規(guī)范;選擇能夠以與QoS特征的所述規(guī)范一致的級別處理所述業(yè)務(wù)請求的幾個同等業(yè)務(wù)實例中的一個特定業(yè)務(wù)實例;和捆綁所述選擇的業(yè)務(wù)實例,以處理所述業(yè)務(wù)請求。
全文摘要
一種計算業(yè)務(wù)網(wǎng)格。該網(wǎng)格可以包括與一個或多個計算業(yè)務(wù)實例耦合的業(yè)務(wù)臺。每一業(yè)務(wù)實例可以符合對在該網(wǎng)格中的所有計算業(yè)務(wù)實例都通用的接口??梢栽谠摼W(wǎng)格中設(shè)置路由組件。具體的,該路由組件可以將單個業(yè)務(wù)請求路由到各個業(yè)務(wù)實例。使用實例選擇業(yè)務(wù)來滿足與該業(yè)務(wù)的請求者相關(guān)聯(lián)的QoS特征。該網(wǎng)格進(jìn)一步可以包括業(yè)務(wù)實例監(jiān)視組件。該監(jiān)視組件可以監(jiān)視負(fù)責(zé)處理單個業(yè)務(wù)請求的各個業(yè)務(wù)實例的性能??梢耘渲霉收限D(zhuǎn)移邏輯,在監(jiān)視組件在所選擇的業(yè)務(wù)實例中檢測到故障轉(zhuǎn)移條件時,將業(yè)務(wù)請求從所選擇的業(yè)務(wù)實例重新路由到其它業(yè)務(wù)實例。關(guān)于這一點,故障轉(zhuǎn)移條件可以包括錯誤條件和其中所選擇的計算業(yè)務(wù)實例低于保證級別性能的性能不足條件。
文檔編號G06F15/16GK1656776SQ03812381
公開日2005年8月17日 申請日期2003年6月9日 優(yōu)先權(quán)日2002年6月12日
發(fā)明者戴維·林德奎斯特, 巴拉·拉加拉曼, 譚逸心, 布拉德·托普爾 申請人:國際商業(yè)機器公司