專利名稱:用于在網(wǎng)絡(luò)中管理非應(yīng)用特定錯(cuò)誤的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及改進(jìn)的網(wǎng)絡(luò)錯(cuò)誤管理,尤其涉及網(wǎng)格環(huán)境內(nèi)的自動(dòng)自修復(fù)。更特別地,本發(fā)明涉及通過(guò)使用故障診斷代理管理XML消息事務(wù)中通信的網(wǎng)絡(luò)錯(cuò)誤。
背景技術(shù):
從兩個(gè)計(jì)算機(jī)系統(tǒng)之間的第一次連接開始,經(jīng)由連接在兩個(gè)計(jì)算機(jī)系統(tǒng)之間傳送數(shù)據(jù)、資源和其它信息的新方法就不斷發(fā)展。在典型的網(wǎng)絡(luò)體系結(jié)構(gòu)中,當(dāng)兩個(gè)計(jì)算機(jī)系統(tǒng)經(jīng)由連接交換數(shù)據(jù)時(shí),計(jì)算機(jī)系統(tǒng)的其中之一被認(rèn)為是發(fā)送請(qǐng)求的客戶端而另一個(gè)被認(rèn)為是處理請(qǐng)求和返回結(jié)果的服務(wù)器端。為盡力提高處理請(qǐng)求的速度,服務(wù)器系統(tǒng)的大小和速度持續(xù)擴(kuò)展。另外,為盡力處理當(dāng)每秒鐘到達(dá)了多個(gè)請(qǐng)求時(shí)的高峰期,服務(wù)器系統(tǒng)經(jīng)常聯(lián)結(jié)到一起作為一組,并且請(qǐng)求被分配在這些成組的服務(wù)器之間。已經(jīng)開發(fā)了多種對(duì)服務(wù)器分組的方法,如群集、多系統(tǒng)共享數(shù)據(jù)(系統(tǒng)聯(lián)合體(sysplex))環(huán)境,和企業(yè)系統(tǒng)。利用服務(wù)器群集,一個(gè)服務(wù)器典型地被指派管理分配輸入請(qǐng)求和輸出響應(yīng)。其它的服務(wù)器典型地并行操作以處理來(lái)自客戶端的分派的請(qǐng)求。這樣,群集中的多個(gè)服務(wù)器的其中之一會(huì)服務(wù)于客戶端的請(qǐng)求,而客戶端不會(huì)檢測(cè)到是服務(wù)器群集在處理請(qǐng)求。
典型地,服務(wù)器或服務(wù)器組運(yùn)行于如Unix或某些Unix變體的特定的網(wǎng)絡(luò)平臺(tái),并且提供主機(jī)環(huán)境用于運(yùn)行應(yīng)用。每個(gè)網(wǎng)絡(luò)平臺(tái)都可以提供范圍從數(shù)據(jù)庫(kù)集成、群集服務(wù)以及安全性到工作量管理和問(wèn)題確定的功能。每個(gè)網(wǎng)絡(luò)平臺(tái)典型地提供不同的實(shí)現(xiàn)、語(yǔ)義行為、以及應(yīng)用編程接口(API)。
然而,僅僅將服務(wù)器分組到一起以擴(kuò)展處理能力是改進(jìn)網(wǎng)絡(luò)中響應(yīng)時(shí)間的效率的一種有限的方法。這樣,越來(lái)越多地,在一個(gè)公司網(wǎng)絡(luò)中,不是僅將服務(wù)器分組,而是將服務(wù)器和服務(wù)器系統(tǒng)組組織為分布式資源。有一股持續(xù)的努力以在公司網(wǎng)絡(luò)內(nèi)部和公司網(wǎng)絡(luò)的外部的服務(wù)器之間合作、共享數(shù)據(jù)、共享周期、和改進(jìn)其它的交互模式。此外,還有一股持續(xù)的努力以從一個(gè)公司的網(wǎng)絡(luò)到服務(wù)供應(yīng)商網(wǎng)絡(luò)外購(gòu)不重要的元件。而且,還有一種趨勢(shì),即在不受同一管理系統(tǒng)的控制,但是仍然可解決安全性、策略、支付和會(huì)員資格等問(wèn)題的資源之間協(xié)調(diào)資源共享。例如,個(gè)人桌面計(jì)算機(jī)上的資源并不典型地作為公司服務(wù)器群集的資源受相同管理系統(tǒng)的控制。甚至在公司網(wǎng)絡(luò)內(nèi)的不同管理組也可能實(shí)現(xiàn)截然不同的管理系統(tǒng)。
將來(lái)自位于不同區(qū)域、在不同以網(wǎng)絡(luò)平臺(tái)上運(yùn)行的服務(wù)器和其他計(jì)算系統(tǒng)(具有不同的安全協(xié)議并且每個(gè)安全協(xié)議由不同的管理系統(tǒng)控制)的可用資源分散的問(wèn)題在于,導(dǎo)致開發(fā)利用用于操作網(wǎng)格環(huán)境的開放標(biāo)準(zhǔn)的網(wǎng)格技術(shù)。網(wǎng)格環(huán)境支持在動(dòng)態(tài)、分布式、虛擬組織中共享和協(xié)調(diào)使用不同的資源。當(dāng)資源(來(lái)自由不同組織操作、帶有不同策略和管理系統(tǒng)的在地理上分散的系統(tǒng))的選擇被組織成處理作業(yè)請(qǐng)求時(shí),在網(wǎng)格環(huán)境內(nèi)創(chuàng)建虛擬組織。例如,網(wǎng)格廠商可以開發(fā)網(wǎng)格環(huán)境,買主可以提交網(wǎng)格作業(yè)到網(wǎng)格環(huán)境。
用于網(wǎng)格技術(shù)的開放標(biāo)準(zhǔn)描述了網(wǎng)格體系結(jié)構(gòu)。在網(wǎng)格體系結(jié)構(gòu)中,物理資源是由web服務(wù)管理的,并且開放標(biāo)準(zhǔn)使得web服務(wù)和網(wǎng)格服務(wù)之間能夠連接。網(wǎng)格應(yīng)用與網(wǎng)格服務(wù)連接。
目前,許多通過(guò)因特網(wǎng)提供的服務(wù)已經(jīng)通過(guò)web服務(wù)實(shí)現(xiàn)。Web服務(wù)通信的基礎(chǔ)是可擴(kuò)展標(biāo)記語(yǔ)言(XML)。XML技術(shù)在數(shù)據(jù)能自由地在兩點(diǎn)之間流動(dòng)的前提下起作用,參考作為請(qǐng)求者和響應(yīng)者。
然而,基于XML的web服務(wù)的問(wèn)題是當(dāng)請(qǐng)求者的請(qǐng)求沒有交付到響應(yīng)者目的地時(shí),請(qǐng)求者不具備管理通信錯(cuò)誤的能力。特別地,XML處理中參考作為消息事務(wù)的錯(cuò)誤確定典型地在協(xié)議層處理。然而,在協(xié)議層的錯(cuò)誤處理典型地分配一個(gè)一般的錯(cuò)誤碼,該錯(cuò)誤碼不會(huì)給響應(yīng)者提供足夠信息以接下來(lái)處理錯(cuò)誤或者強(qiáng)加給應(yīng)用開發(fā)者寫將響應(yīng)協(xié)議層錯(cuò)誤的應(yīng)用程序的責(zé)任。特別地,要求響應(yīng)者應(yīng)用程序處理一般性非應(yīng)用錯(cuò)誤,諸如基于指示網(wǎng)絡(luò)問(wèn)題的基于協(xié)議的錯(cuò)誤,是無(wú)益的。
為了網(wǎng)格環(huán)境有效地提供服務(wù),網(wǎng)格資源和網(wǎng)格服務(wù)的自修復(fù)是有益的。這樣,隨著創(chuàng)建了更多的與web服務(wù)連接的網(wǎng)格服務(wù),這對(duì)網(wǎng)絡(luò)錯(cuò)誤和在web服務(wù)層由代理發(fā)生的其它非應(yīng)用特定錯(cuò)誤的錯(cuò)誤處理是有益的,而不是依賴請(qǐng)求者或響應(yīng)者應(yīng)用程序了解一般性錯(cuò)誤,并且對(duì)提供更詳細(xì)的和促進(jìn)網(wǎng)絡(luò)自修復(fù)的信息和響應(yīng)是有益的。
發(fā)明內(nèi)容
考慮到上述內(nèi)容,提供本發(fā)明用于改進(jìn)的網(wǎng)絡(luò)錯(cuò)誤管理服務(wù),并且特別提供用于網(wǎng)格環(huán)境內(nèi)的自動(dòng)自修復(fù)。更為特別地,本發(fā)明涉及利用故障診斷代理管理作為web服務(wù)的一部分的XML消息事務(wù)中傳達(dá)的網(wǎng)絡(luò)錯(cuò)誤。
在一個(gè)實(shí)施例中,網(wǎng)絡(luò)促進(jìn)請(qǐng)求者和響應(yīng)者之間的消息事務(wù)處理,以促進(jìn)web服務(wù)。當(dāng)非應(yīng)用特定錯(cuò)誤(non-application specificerror)的出現(xiàn)涉及特定消息事務(wù)處理時(shí),如網(wǎng)絡(luò)錯(cuò)誤,協(xié)議層分配錯(cuò)誤碼,并且請(qǐng)求者或者響應(yīng)者編碼添加到特定消息事務(wù)的包絡(luò)體中的錯(cuò)誤代碼。特別地,消息事務(wù)是帶有簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOPA)包絡(luò)的XML消息,該SOPA包絡(luò)使用XML消息接著將附加到其上的錯(cuò)誤碼編碼。錯(cuò)誤編碼消息事務(wù)被轉(zhuǎn)發(fā)到故障診斷代理。故障診斷代理促進(jìn)非應(yīng)用特定錯(cuò)誤的解決,并且返回一個(gè)指明非應(yīng)用特定錯(cuò)誤的解決方案到至少一個(gè)請(qǐng)求者和響應(yīng)者的描述性消息。
特別地,在促進(jìn)非應(yīng)用特定錯(cuò)誤的解決時(shí),故障診斷代理根據(jù)消息處理原則應(yīng)用規(guī)則和策略。規(guī)則和策略指定對(duì)錯(cuò)誤類型的可用響應(yīng),消息處理原則指示可以采用哪個(gè)可用響應(yīng)。一個(gè)可用的響應(yīng)是將非應(yīng)用特定錯(cuò)誤委托(delegation)給故障診斷代理或提供更多的特定錯(cuò)誤解決的服務(wù)。
特別地,消息事務(wù)可出現(xiàn)在網(wǎng)格環(huán)境體系結(jié)構(gòu)內(nèi)的web服務(wù)層,以便通過(guò)在web服務(wù)層處理錯(cuò)誤,而無(wú)需網(wǎng)格服務(wù)處理該錯(cuò)誤。然而,故障診斷代理也可以在網(wǎng)格環(huán)境體系結(jié)構(gòu)的網(wǎng)格服務(wù)層上將非應(yīng)用特定錯(cuò)誤傳遞給促進(jìn)網(wǎng)格環(huán)境的自動(dòng)自修復(fù)的網(wǎng)格服務(wù)。
被認(rèn)為是本發(fā)明的新穎特征在所附權(quán)利要求書中列出。然而,但結(jié)合附圖閱讀時(shí),通過(guò)參考下面的示意性實(shí)施例的詳細(xì)描述將最好地理解本發(fā)明自身、優(yōu)選的使用模式、及其另外的目標(biāo)和優(yōu)點(diǎn),其中圖1描述了可在網(wǎng)格環(huán)境中實(shí)現(xiàn)的并且本發(fā)明可在其中實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例;圖2是示意網(wǎng)格環(huán)境范圍內(nèi)一般類型組件的一個(gè)實(shí)施例的框圖;圖3是示意可在網(wǎng)格環(huán)境中實(shí)現(xiàn)的體系結(jié)構(gòu)的一個(gè)例子的框圖;圖4是描述了消息事務(wù)的路徑的流程圖,其中消息事務(wù)中的錯(cuò)誤解決是由至少一個(gè)故障診斷代理促進(jìn);圖5是示意根據(jù)本發(fā)明的方法、系統(tǒng)和程序的故障診斷代理的體系結(jié)構(gòu)層的例子的框圖;圖6是定義用于錯(cuò)誤解決的規(guī)則的描述代碼的文本例子;圖7是示意了帶有根據(jù)消息處理原則處理的通信信息的XML/SOAP消息的內(nèi)容的框圖;圖8是表示帶有通信錯(cuò)誤信息的XML/SOAP消息的SOAP包絡(luò)的描述代碼的文本例子;圖9是描述用于傳遞問(wèn)題到故障診斷代理以解決問(wèn)題的過(guò)程和程序的高級(jí)邏輯流程圖;圖10是描述用于在故障診斷代理根據(jù)本發(fā)明的方法、系統(tǒng)和程序處理帶有錯(cuò)誤信息的XML/SOAP消息的過(guò)程和程序的高級(jí)邏輯流程圖。
具體實(shí)施例方式
現(xiàn)在參考附圖,尤其是圖1,描述了可在網(wǎng)格環(huán)境中實(shí)現(xiàn)的并且本發(fā)明可在其中實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例。正如將進(jìn)一步描述的,網(wǎng)格環(huán)境包括被管理以提供資源的多計(jì)算機(jī)系統(tǒng)。另外,正如還將進(jìn)一步描述的,本發(fā)明可運(yùn)行在多種計(jì)算機(jī)系統(tǒng),包括運(yùn)行于在網(wǎng)格環(huán)境內(nèi)管理的許多不同操作系統(tǒng)的多種計(jì)算系統(tǒng)、移動(dòng)系統(tǒng)、和電子裝置。
在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)100包括總線122或者其它用于在計(jì)算機(jī)系統(tǒng)100中傳送信息的裝置,以及至少一個(gè)如處理器112的處理裝置,連接到總線122用于處理信息。總線122可能包括由網(wǎng)橋和適配器連接并且由多總線控制器在計(jì)算機(jī)系統(tǒng)100內(nèi)控制的低等待時(shí)間和更高等待時(shí)間路徑。當(dāng)實(shí)現(xiàn)作為服務(wù)器系統(tǒng)時(shí),計(jì)算機(jī)系統(tǒng)100典型地包括設(shè)計(jì)成改進(jìn)網(wǎng)絡(luò)服務(wù)能力的多個(gè)處理器。
在正常操作中,處理器112是一個(gè)如IBM的PowerPCTM處理器的通用處理器,該處理器在操作系統(tǒng)控制下處理數(shù)據(jù)并從諸如隨機(jī)存取存儲(chǔ)器(RAM)114的動(dòng)態(tài)存儲(chǔ)裝置和諸如只讀存儲(chǔ)器(ROM)116的靜態(tài)存儲(chǔ)器中得到的應(yīng)用軟件。操作系統(tǒng)可以為用戶提供圖形用戶接口(GUI)。在一個(gè)實(shí)施例中,應(yīng)用軟件包含當(dāng)在處理器112上執(zhí)行實(shí)現(xiàn)圖9和圖10的流程圖中描述的操作和在此描述的其它操作時(shí)的機(jī)器可執(zhí)行指令??蛇x地,本發(fā)明的步驟可能由包含用于執(zhí)行該步驟的硬連線的邏輯的特定硬件組件執(zhí)行,或者由程控計(jì)算機(jī)組件和定制硬件組件的任何組合執(zhí)行。
本發(fā)明可以作為計(jì)算機(jī)程序產(chǎn)品提供,包括已經(jīng)存儲(chǔ)在機(jī)器可讀介質(zhì)上的用于編程計(jì)算機(jī)系統(tǒng)100以根據(jù)本發(fā)明執(zhí)行處理過(guò)程的機(jī)器可執(zhí)行的指令。此處所用的術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”包括參與提供指令給處理器112或其它用于執(zhí)行的計(jì)算機(jī)系統(tǒng)100的組件的任何介質(zhì)。這種介質(zhì)可以是許多種形式,包括但不限于,非易失介質(zhì)、易失介質(zhì)和傳輸介質(zhì)。例如,非易失介質(zhì)的一般形式包括軟盤、磁盤、硬盤、磁帶或任何其它的磁性介質(zhì)、光盤ROM(CD-ROM)或者任何其它光學(xué)介質(zhì)、穿孔卡片或任何其它帶有孔狀樣式的物理介質(zhì)、可編程ROM(PROM)、可擦除PROM(EPROM)、電子EPROM(EEPROM)、閃存、任何其它存儲(chǔ)器片或盒式磁帶、或計(jì)算機(jī)系統(tǒng)100能從中讀取并且適合于存儲(chǔ)指令的任何其他介質(zhì)。在本實(shí)施例中,一個(gè)非易失介質(zhì)的例子是如描述為計(jì)算機(jī)系統(tǒng)100的內(nèi)部組件的大容量存儲(chǔ)裝置118,但是可以理解的是也能由外部裝置提供。易失介質(zhì)包括如RAM114的動(dòng)態(tài)存儲(chǔ)器。傳輸介質(zhì)包括同軸線纜、銅線或光纖、包括組成總線122的線。傳輸介質(zhì)也可以采取聲波或光波的形式,如那些在射頻或紅外數(shù)據(jù)傳送中所產(chǎn)生的。
此外,本發(fā)明可以作為計(jì)算機(jī)程序產(chǎn)品下載,其中,程序指令可以經(jīng)由與連接到總線122的通信接口132的連接的網(wǎng)絡(luò)鏈接134(例如,調(diào)制解調(diào)器或網(wǎng)絡(luò)連接)通過(guò)載波或者其它傳播介質(zhì)形式的數(shù)據(jù)信號(hào)從諸如虛擬資源160的遠(yuǎn)程虛擬資源傳遞到請(qǐng)求計(jì)算機(jī)系統(tǒng)100。虛擬資源160可包含從單個(gè)系統(tǒng)或多個(gè)系統(tǒng)可存取的資源的虛擬表示,其中,多系統(tǒng)的每一個(gè)也許都會(huì)被認(rèn)為是運(yùn)行于獨(dú)立平臺(tái)的資源的離散集合,但是由網(wǎng)格管理器協(xié)調(diào)為虛擬資源。通信接口132提供與網(wǎng)絡(luò)鏈接134連接的雙向數(shù)據(jù)通信,該網(wǎng)絡(luò)鏈接可能連接到,例如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、或提供到網(wǎng)絡(luò)102的接入的因特網(wǎng)服務(wù)提供商(ISP)。特別地,網(wǎng)絡(luò)鏈接134可以提供到一個(gè)或多個(gè)網(wǎng)絡(luò)的有線和/或無(wú)線網(wǎng)絡(luò)通信,例如網(wǎng)絡(luò)102,通過(guò)使用如虛擬資源160的虛擬資源,當(dāng)在網(wǎng)格環(huán)境150內(nèi)提供時(shí)是可存取的。網(wǎng)格環(huán)境150是多類型網(wǎng)絡(luò)的一部分,包括點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),或者可能是單個(gè)計(jì)算機(jī)系統(tǒng)的一部分,如計(jì)算機(jī)系統(tǒng)100。
作為一個(gè)例子,網(wǎng)絡(luò)102涉及使用特定協(xié)議,如傳輸控制協(xié)議(TCP)和網(wǎng)際協(xié)議(IP),彼此間進(jìn)行通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的全球匯集。網(wǎng)絡(luò)102使用攜帶數(shù)字?jǐn)?shù)據(jù)流的電子、電磁、或光學(xué)信號(hào)。通過(guò)各種網(wǎng)絡(luò)的信號(hào)和網(wǎng)絡(luò)鏈接134之上以及通過(guò)可以在計(jì)算機(jī)系統(tǒng)100間來(lái)回?cái)y帶數(shù)字?jǐn)?shù)據(jù)的通信接口132的信號(hào)是發(fā)送信息的載波的示例性形式??梢岳斫獾氖?,可以實(shí)現(xiàn)可選的網(wǎng)絡(luò)類型、網(wǎng)絡(luò)的結(jié)合和網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)。
當(dāng)作為服務(wù)器系統(tǒng)實(shí)現(xiàn)時(shí),計(jì)算機(jī)系統(tǒng)100典型地包括經(jīng)由多外設(shè)部件互連(PCI)總線橋接到輸入/輸出控制器可存取的多通信接口。在這種方式下,計(jì)算機(jī)系統(tǒng)100允許連接到多網(wǎng)絡(luò)計(jì)算機(jī)。
另外,盡管沒有描述,多外設(shè)部件和內(nèi)部/外部裝置可以加入到計(jì)算機(jī)系統(tǒng)100中,連接到多控制器、適配器、和與多級(jí)總線122的其中之一連接的擴(kuò)充插槽。例如,可以作為外設(shè)部件添加顯示裝置、音頻裝置、鍵盤、或光標(biāo)控制裝置。
本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,圖1中描述的硬件可能會(huì)變化。另外,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,所描述的例子并不意味著暗示有關(guān)本發(fā)明的體系結(jié)構(gòu)的限制。
現(xiàn)在參考圖2,圖2示意了網(wǎng)格環(huán)境范圍內(nèi)一般類型組件的一個(gè)實(shí)施例。在本例子中,網(wǎng)格環(huán)境150的組件包括與網(wǎng)格管理系統(tǒng)240連接的客戶系統(tǒng)200,其中網(wǎng)格管理系統(tǒng)240與服務(wù)器群集222、服務(wù)器224、工作站和桌面計(jì)算機(jī)226、數(shù)據(jù)存儲(chǔ)系統(tǒng)228和網(wǎng)絡(luò)230連接。為了示意的目的,沒有描述網(wǎng)絡(luò)位置和連接網(wǎng)格環(huán)境150內(nèi)的組件的網(wǎng)絡(luò)類型。然而,應(yīng)當(dāng)理解的是,網(wǎng)格環(huán)境150內(nèi)的組件可位于利用相互重疊的多類型網(wǎng)絡(luò)實(shí)現(xiàn)的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)體系結(jié)構(gòu)的頂層。網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的范圍可以從多個(gè)大型企業(yè)系統(tǒng)到點(diǎn)對(duì)點(diǎn)系統(tǒng)到單個(gè)計(jì)算機(jī)系統(tǒng)。另外,應(yīng)當(dāng)理解的是,網(wǎng)格環(huán)境150內(nèi)的組件僅僅是網(wǎng)格環(huán)境內(nèi)組件類型的代表。網(wǎng)格環(huán)境可以簡(jiǎn)單地包括在單個(gè)計(jì)算機(jī)系統(tǒng)內(nèi)或可以包括多個(gè)企業(yè)系統(tǒng)內(nèi)。
諸如網(wǎng)格環(huán)境150的網(wǎng)格環(huán)境的中心目標(biāo)是對(duì)來(lái)自視為虛擬資源160的多個(gè)離散系統(tǒng)的資源的組織和交付??蛻粝到y(tǒng)200、服務(wù)器群集222、服務(wù)器224、工作站和桌面計(jì)算機(jī)226、數(shù)據(jù)存儲(chǔ)系統(tǒng)228、網(wǎng)絡(luò)230和創(chuàng)建網(wǎng)格管理系統(tǒng)240的系統(tǒng)可以是不同種類的并且區(qū)域性分布具有獨(dú)立的管理系統(tǒng)。但是經(jīng)網(wǎng)格管理系統(tǒng)240通過(guò)網(wǎng)格基礎(chǔ)結(jié)構(gòu)能夠交換信息、資源和服務(wù)。此外,服務(wù)器群集222、服務(wù)器224、工作站和桌面計(jì)算機(jī)226、數(shù)據(jù)存儲(chǔ)系統(tǒng)228和網(wǎng)絡(luò)230地理上橫跨國(guó)家和大陸分布或者是本地可相互存取的。
在該例子中,客戶系統(tǒng)200與網(wǎng)格管理系統(tǒng)240連接。客戶系統(tǒng)200能代表發(fā)送請(qǐng)求到網(wǎng)格管理系統(tǒng)240的任何計(jì)算機(jī)系統(tǒng)。特別地,客戶系統(tǒng)200可以發(fā)送虛擬作業(yè)請(qǐng)求(或者請(qǐng)求引證(RFQ))和作業(yè)到網(wǎng)格管理系統(tǒng)240。另外,雖然本實(shí)施例的客戶系統(tǒng)200描述為使用請(qǐng)求訪問(wèn)網(wǎng)格環(huán)境150,在可選的實(shí)施例中客戶系統(tǒng)200也可以運(yùn)行在網(wǎng)格環(huán)境150之內(nèi)。
盡管并行地描述虛擬資源160內(nèi)的系統(tǒng)時(shí),但實(shí)際上該系統(tǒng)可以是系統(tǒng)分層的一部分,其中虛擬資源160內(nèi)的一些系統(tǒng)對(duì)客戶系統(tǒng)200是本地的,而其它的系統(tǒng)需要接入到外部網(wǎng)絡(luò)。另外,重點(diǎn)注意的是,在虛擬資源160內(nèi)描述的系統(tǒng)可被物理地包含在客戶系統(tǒng)200內(nèi)。
為了實(shí)現(xiàn)網(wǎng)格環(huán)境150,網(wǎng)格管理系統(tǒng)240促進(jìn)了網(wǎng)格服務(wù)。網(wǎng)格服務(wù)可以根據(jù)多體系結(jié)構(gòu)來(lái)設(shè)計(jì),包括但不局限于,開放網(wǎng)格服務(wù)體系(OGSA)。特別地,網(wǎng)格管理系統(tǒng)240涉及通過(guò)鏈接計(jì)算系統(tǒng)到特征在于通過(guò)網(wǎng)格服務(wù)共享資源的異類網(wǎng)絡(luò)環(huán)境而創(chuàng)建一個(gè)網(wǎng)格的管理環(huán)境。
特別地,正如將進(jìn)一步描述的,當(dāng)在任何層上發(fā)生錯(cuò)誤時(shí),網(wǎng)格管理系統(tǒng)240可包括在網(wǎng)格環(huán)境150內(nèi)促進(jìn)自動(dòng)自修復(fù)的代理和服務(wù)。另外,正如將進(jìn)一步描述的,網(wǎng)格體系結(jié)構(gòu)的一個(gè)層包含web服務(wù)。當(dāng)非應(yīng)用特定錯(cuò)誤發(fā)生在web服務(wù)層發(fā)生的消息事務(wù)的交付過(guò)程中時(shí),根據(jù)優(yōu)點(diǎn),由于錯(cuò)誤附加在SOAP包絡(luò)而沒有適當(dāng)交付消息事務(wù),其中SOAP包絡(luò)編碼錯(cuò)誤。然后,帶有錯(cuò)誤信息的消息事務(wù)被轉(zhuǎn)發(fā)到促進(jìn)錯(cuò)誤解決的故障診斷代理。在促進(jìn)錯(cuò)誤解決中,故障診斷代理會(huì)轉(zhuǎn)發(fā)帶有錯(cuò)誤信息的消息事務(wù)到促進(jìn)自動(dòng)自修復(fù)以解決錯(cuò)誤的網(wǎng)格管理系統(tǒng)240內(nèi)的代理或服務(wù)的其中之一。
現(xiàn)在參考圖3,圖3示意了可在網(wǎng)格環(huán)境中實(shí)現(xiàn)的體系結(jié)構(gòu)的一個(gè)例子。如圖所示,體系結(jié)構(gòu)300包括多功能性層。如將進(jìn)一步描述的,本發(fā)明是可在如體系結(jié)構(gòu)300的體系結(jié)構(gòu)的一層或多層中實(shí)現(xiàn)的過(guò)程,該體系結(jié)構(gòu)可在如圖2中所描述的網(wǎng)格環(huán)境中實(shí)現(xiàn)。應(yīng)重點(diǎn)注意的是,體系結(jié)構(gòu)300只是可在本發(fā)明可在其中實(shí)現(xiàn)的網(wǎng)格環(huán)境中實(shí)現(xiàn)的體系結(jié)構(gòu)的一個(gè)例子。另外,應(yīng)重點(diǎn)注意的是可在網(wǎng)格環(huán)境中實(shí)現(xiàn)多體系結(jié)構(gòu)。
在體系結(jié)構(gòu)300的各層中,首先,物理和邏輯資源層330組織網(wǎng)格中的系統(tǒng)的資源。物理資源包括但不局限于服務(wù)器、存儲(chǔ)介質(zhì)和網(wǎng)絡(luò)。邏輯資源虛擬化和聚集物理層到如操作系統(tǒng)、處理能力、內(nèi)存、I/O處理、文件系統(tǒng)、數(shù)據(jù)庫(kù)管理者、內(nèi)存管理器、目錄和其它資源的可用資源。
接下來(lái),web服務(wù)層320提供網(wǎng)格服務(wù)310與物理和邏輯資源330之間的接口。web服務(wù)層320實(shí)現(xiàn)服務(wù)接口包括但不局限于在網(wǎng)際協(xié)議(IP)或其它網(wǎng)絡(luò)傳輸層之上執(zhí)行的web服務(wù)描述語(yǔ)言(WSDL)、簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)和可擴(kuò)展標(biāo)記語(yǔ)言(XML)。如將進(jìn)一步描述的,當(dāng)網(wǎng)絡(luò)傳輸層返回一個(gè)錯(cuò)誤碼,web服務(wù)層320加強(qiáng)了帶有描述了錯(cuò)誤碼的SOAP包絡(luò)的XML消息事務(wù),轉(zhuǎn)發(fā)帶有錯(cuò)誤信息的XML消息事務(wù)到故障診斷代理。
另外,開放網(wǎng)格服務(wù)基礎(chǔ)結(jié)構(gòu)(OSGI)標(biāo)準(zhǔn)322通過(guò)擴(kuò)展web服務(wù)320在當(dāng)前web服務(wù)320之上建立,以便為需要建立網(wǎng)格資源模型的動(dòng)態(tài)和可管理的Web服務(wù)提供能力。特別地,通過(guò)實(shí)現(xiàn)帶有web服務(wù)320的OGSI標(biāo)準(zhǔn)322,使用OGSA設(shè)計(jì)的網(wǎng)格服務(wù)310是可相互操作的。在可選的實(shí)施例中,其它的基礎(chǔ)結(jié)構(gòu)或附加的基礎(chǔ)結(jié)構(gòu)可以實(shí)現(xiàn)頂層web服務(wù)層320。
網(wǎng)格服務(wù)層310包括多個(gè)服務(wù),它們的組合可以實(shí)現(xiàn)網(wǎng)格管理系統(tǒng)240。例如,網(wǎng)格服務(wù)層310可以包括使用OGSA設(shè)計(jì)的網(wǎng)格服務(wù),以便在創(chuàng)建網(wǎng)格服務(wù)時(shí)實(shí)現(xiàn)統(tǒng)一的標(biāo)準(zhǔn)??蛇x地,網(wǎng)格服務(wù)可在多體系結(jié)構(gòu)下設(shè)計(jì)。網(wǎng)格服務(wù)可以分組為4個(gè)主要功能。然而,應(yīng)當(dāng)理解的是,其他功能也可由網(wǎng)格服務(wù)執(zhí)行。
首先,資源管理服務(wù)302管理物理和邏輯資源的使用。資源可以包括但不局限于處理資源、內(nèi)存資源和存儲(chǔ)資源。這些資源的管理包括調(diào)度作業(yè)、分配作業(yè)和為作業(yè)管理結(jié)果的檢索。資源管理服務(wù)302監(jiān)視資源裝載和分配作業(yè)到網(wǎng)格不那么忙的部分以平衡資源負(fù)載和吸收不期望的活動(dòng)高峰。特別地,用戶可以指定優(yōu)選的性能級(jí)別以便資源管理服務(wù)302分配作業(yè)以在網(wǎng)格內(nèi)維持該優(yōu)選的性能級(jí)別。
第二,信息服務(wù)304管理在網(wǎng)格內(nèi)的計(jì)算系統(tǒng)間的信息傳送和通信。既然可以實(shí)現(xiàn)多通信協(xié)議,信息服務(wù)304利用通信協(xié)議的多種類型管理跨越多個(gè)網(wǎng)絡(luò)的通信。
第三,數(shù)據(jù)管理服務(wù)306管理網(wǎng)格內(nèi)的數(shù)據(jù)傳送和存儲(chǔ)。特別地,數(shù)據(jù)管理服務(wù)306可以移動(dòng)數(shù)據(jù)到網(wǎng)格內(nèi)的節(jié)點(diǎn),在該節(jié)點(diǎn)將會(huì)執(zhí)行請(qǐng)求數(shù)據(jù)的作業(yè)。可以實(shí)現(xiàn)如網(wǎng)格文件傳輸協(xié)議(GridFTP)的特定類型的傳輸協(xié)議。
最后,在每個(gè)運(yùn)行于網(wǎng)格內(nèi)的系統(tǒng)的連接層,安全性服務(wù)308為安全應(yīng)用安全協(xié)議。安全性服務(wù)308可以實(shí)現(xiàn)如開放安全套接字層(SSL)的安全協(xié)議,以提供安全發(fā)送。另外,安全性服務(wù)308可以提供單一簽名機(jī)制,以便一旦用戶通過(guò)驗(yàn)證,當(dāng)在網(wǎng)格內(nèi)為用戶執(zhí)行動(dòng)作時(shí)就創(chuàng)建和使用代理證書。
多服務(wù)可以一起工作以提供網(wǎng)格計(jì)算系統(tǒng)的幾個(gè)關(guān)鍵功能。在第一個(gè)例子中,在網(wǎng)格內(nèi)分配了計(jì)算任務(wù)。數(shù)據(jù)管理服務(wù)306將計(jì)算任務(wù)劃分成不同的數(shù)據(jù)分組網(wǎng)格服務(wù)請(qǐng)求,該數(shù)據(jù)分組接下來(lái)由資源管理服務(wù)302分配和管理。結(jié)果由數(shù)據(jù)管理系統(tǒng)306收集和鞏固。在第二個(gè)例子中,跨越網(wǎng)格內(nèi)的多個(gè)計(jì)算系統(tǒng)的存儲(chǔ)資源被視為由數(shù)據(jù)管理服務(wù)306管理和由資源管理服務(wù)302監(jiān)視的單個(gè)虛擬數(shù)據(jù)存儲(chǔ)系統(tǒng)。
應(yīng)用層340包括使用網(wǎng)格服務(wù)層310中可用的一個(gè)或多個(gè)網(wǎng)格服務(wù)的應(yīng)用。有利地,應(yīng)用經(jīng)由網(wǎng)格服務(wù)層310和web服務(wù)320與物理和邏輯資源330連接,以便多個(gè)異類系統(tǒng)能交互和相互操作。
現(xiàn)在參考圖4,圖4描述了消息事務(wù)的流程圖,其中消息事務(wù)中的錯(cuò)誤解決是由至少一個(gè)故障診斷代理促進(jìn)的。特別地,在網(wǎng)格環(huán)境240和其它網(wǎng)絡(luò)環(huán)境之內(nèi),網(wǎng)格服務(wù)可以利用XML通信。XML是由請(qǐng)求者和響應(yīng)者定義的信息傳遞技術(shù),其中指出了在請(qǐng)求者和響應(yīng)者之間流動(dòng)的標(biāo)準(zhǔn)的和可擴(kuò)展的數(shù)據(jù)。
通常,在一個(gè)例子中,請(qǐng)求者402通過(guò)以XML/SOAP消息的形式發(fā)送消息事務(wù)與響應(yīng)者404通信。特別地,經(jīng)由中間者414,請(qǐng)求者402將XML/SOAP消息406傳遞到響應(yīng)者404而響應(yīng)者404將XML/SOAP消息416傳遞到請(qǐng)求者402。
從響應(yīng)者404到請(qǐng)求者402的響應(yīng)既可以分類為應(yīng)用特定的也可以分類為非應(yīng)用特定的。根據(jù)本發(fā)明的優(yōu)點(diǎn),指出了問(wèn)題的非應(yīng)用特定響應(yīng)被傳遞到故障診斷代理410,減輕了請(qǐng)求者402需要響應(yīng)除了應(yīng)用邏輯上下文內(nèi)的錯(cuò)誤之外的應(yīng)用支持壓力。在該例子中,非應(yīng)用特定響應(yīng)是網(wǎng)絡(luò)問(wèn)題412,以XML/SOAP消息格式發(fā)送到故障診斷代理410。故障診斷代理410然后以盡可能好的錯(cuò)誤碼和消息的粒度解決該錯(cuò)誤,并且返回響應(yīng)408到請(qǐng)求者402,返回響應(yīng)418到響應(yīng)者404,或者返回響應(yīng)到中間者414。在可選的實(shí)施例中,請(qǐng)求者402或中間者414可以接收網(wǎng)絡(luò)問(wèn)題412的非應(yīng)用特定響應(yīng),并且將網(wǎng)絡(luò)問(wèn)題412傳遞到故障診斷代理410。例如,響應(yīng)408或418可以包括詳細(xì)的錯(cuò)誤碼或可以包括XML/SOAP消息的受托路由更新。
參考圖7和圖8的進(jìn)一步描述,網(wǎng)絡(luò)問(wèn)題412以XML/SOAP消息形式編碼。通過(guò)添加將網(wǎng)絡(luò)問(wèn)題定向到故障診斷代理410的SOAP頭,請(qǐng)求者402、響應(yīng)者404或中間者414轉(zhuǎn)發(fā)網(wǎng)絡(luò)問(wèn)題412到故障診斷代理410。
另外,當(dāng)消息是應(yīng)用特定的,如HTTP的協(xié)議層處理錯(cuò)誤或向上推動(dòng)錯(cuò)誤到請(qǐng)求者402處的應(yīng)用。在一個(gè)例子中,協(xié)議層分配一個(gè)錯(cuò)誤,該錯(cuò)誤具有來(lái)自由位于請(qǐng)求者402的應(yīng)用理解的錯(cuò)誤消息或代碼的高級(jí)集合的定義。
特別地,在故障診斷代理410,由故障診斷代理410返回的好的錯(cuò)誤碼或消息的粒度可能比由協(xié)議產(chǎn)生的一般錯(cuò)誤消息或代碼更為特別。特別地,當(dāng)網(wǎng)絡(luò)問(wèn)題412的消息被傳遞到故障診斷代理410,故障診斷代理410可以指定錯(cuò)誤帶有指示器,包括但不局限于服務(wù)器停機(jī)、網(wǎng)絡(luò)路徑阻塞、網(wǎng)絡(luò)流量過(guò)高、網(wǎng)絡(luò)超時(shí)和其它由于網(wǎng)絡(luò)問(wèn)題妨礙消息的適當(dāng)接收的錯(cuò)誤指示器。
如參考圖5將進(jìn)一步描述的,故障診斷代理410可以確定如何通過(guò)規(guī)則428解決和響應(yīng)網(wǎng)絡(luò)問(wèn)題412。規(guī)則428可允許故障診斷代理410分發(fā)網(wǎng)絡(luò)問(wèn)題412和其他處理過(guò)程到其它服務(wù)和代理。在一個(gè)例子中,故障診斷代理410可以分發(fā)網(wǎng)絡(luò)問(wèn)題412到能夠解決更多特定錯(cuò)誤的其它故障診斷代理,如錯(cuò)誤特定的智能故障診斷代理426。另外,在提供響應(yīng)408和響應(yīng)818時(shí),故障診斷代理410可以分發(fā)網(wǎng)絡(luò)問(wèn)題412到問(wèn)題確定和解決中心420以提供附加的診斷和步驟。另外,故障診斷代理410可以分發(fā)網(wǎng)絡(luò)問(wèn)題到使用特定網(wǎng)絡(luò)診斷工具檢查和校驗(yàn)問(wèn)題的網(wǎng)絡(luò)診斷服務(wù)422。此外,當(dāng)錯(cuò)誤是網(wǎng)格節(jié)點(diǎn)故障時(shí),故障診斷代理410可以分發(fā)網(wǎng)絡(luò)問(wèn)題412到服務(wù)可用性管理代理(SAMA)424,SAMA是用于在網(wǎng)格環(huán)境內(nèi)執(zhí)行自修復(fù)的自動(dòng)網(wǎng)格服務(wù)代理。例如,標(biāo)題為“MANAGING ANALYSIS OF A DEGRADEDSERVICE IN A GRID ENVITONMENT”,共同受讓給國(guó)際商務(wù)機(jī)器公司的美國(guó)專利申請(qǐng)10/757,270,其在此結(jié)合作為參考,描述了在網(wǎng)格環(huán)境內(nèi)執(zhí)行自修復(fù)的SAMA,并且也可分發(fā)錯(cuò)誤到處理非應(yīng)用特定協(xié)議層錯(cuò)誤的故障診斷代理,如故障診斷代理410。
現(xiàn)在參考圖5,圖5示意了根據(jù)本發(fā)明的方法、系統(tǒng)和程序的故障診斷代理的體系結(jié)構(gòu)層的例子的框圖。如圖所示,故障診斷代理體系結(jié)構(gòu)500包括用于處理解決和創(chuàng)建更多的特定錯(cuò)誤消息的多個(gè)層。通常,通過(guò)策略驅(qū)動(dòng)的故障診斷代理體系結(jié)構(gòu)500實(shí)現(xiàn)的故障診斷代理410可以物理實(shí)現(xiàn)于包括但不局限于SOAP中間者、網(wǎng)格環(huán)境中的服務(wù)、獨(dú)立服務(wù)器、或緊密耦合的服務(wù)器群集的多個(gè)系統(tǒng)中。
首先,策略和規(guī)則510是包括控制故障診斷代理410和使得故障診斷代理410具備執(zhí)行錯(cuò)誤解決所需的邏輯的策略和規(guī)則的層。正如上文參考圖4所描述的,策略和規(guī)則510可以經(jīng)由網(wǎng)絡(luò)從至少一個(gè)如規(guī)則428的數(shù)據(jù)存儲(chǔ)位置訪問(wèn)。策略和規(guī)則510可以包括為網(wǎng)格環(huán)境之內(nèi)出現(xiàn)和發(fā)生的任何錯(cuò)誤消息和條件所定義的規(guī)則。錯(cuò)誤消息可包括不確定的錯(cuò)誤指示器、一般的錯(cuò)誤指示器、和特定的錯(cuò)誤指示器。另外,如上所述,錯(cuò)誤消息有利地包括非應(yīng)用特定錯(cuò)誤指示器,然而,如果規(guī)則和策略510包括用于故障診斷代理410以解決應(yīng)用特定錯(cuò)誤指示器的規(guī)則,那么故障診斷代理410也可以處理應(yīng)用特定錯(cuò)誤指示器。
參考圖6,圖6描述了在策略和規(guī)則510中定義規(guī)則的代碼的文本例子。在該例子中,代碼規(guī)則602處理“HTTP(未找到)”的錯(cuò)誤,如參考數(shù)字604所示。“HTTP(未找到)”的錯(cuò)誤是將要被傳遞到故障診斷代理410的不確定的、非應(yīng)用特定錯(cuò)誤。用于處理該錯(cuò)誤的一個(gè)選項(xiàng)是故障診斷代理410故障診斷到達(dá)主機(jī)系統(tǒng)(響應(yīng)者404)的路徑并或者命令執(zhí)行糾正動(dòng)作或者提供告警到負(fù)責(zé)該任務(wù)的可選代理,如“TCPPingAgent”,如參考數(shù)字608所描述。用于處理該錯(cuò)誤的另一個(gè)選項(xiàng)是故障診斷代理410以新的URL執(zhí)行對(duì)請(qǐng)求者的消息的受托更新,其中通信路徑是在工作的,但URL需要改變的;一旦故障診斷代理410將URL更新到正確的主機(jī)(響應(yīng)者),則請(qǐng)求者402和響應(yīng)者404就可交換數(shù)據(jù)。例如,在參考數(shù)字606指示了一個(gè)用于更新URL的可選節(jié)點(diǎn)。
應(yīng)當(dāng)理解的是,編碼規(guī)則602提供了可作為策略和規(guī)則510的一部分存取的規(guī)則類型的示意性例子。用于錯(cuò)誤的附加類型和響應(yīng)的附加類型的規(guī)則可以包含在策略和規(guī)則510中。
現(xiàn)在返回到圖5,通過(guò)故障診斷410,消息處理原則506提供用于處理帶有通信錯(cuò)誤信息508的XML/SOAP消息的原則。特別地,消息處理原則506可以包括用于處理帶有通信錯(cuò)誤信息508的XML/SOAP消息的多個(gè)指令或策略。
在一個(gè)例子中,消息處理原則506包括用于“如何解釋帶有通信錯(cuò)誤信息的XML/SOAP消息”的一般原則。在一個(gè)例子中,該原則需要故障診斷代理410必須首先解析消息以獲得關(guān)鍵性錯(cuò)誤數(shù)據(jù)、請(qǐng)求者識(shí)別、響應(yīng)者識(shí)別、和應(yīng)用識(shí)別。例如,解析消息以獲得“HTTP(未找到)”的錯(cuò)誤數(shù)據(jù)。基于解析的錯(cuò)誤消息,故障診斷代理410接下來(lái)可以分析策略和規(guī)則以確定故障診斷代理410是否能實(shí)現(xiàn)解決方法或者故障診斷代理410是否需要將消息傳遞到錯(cuò)誤特定或問(wèn)題特定的故障診斷代理。
另外,消息處理原則506包括用于“提供和授權(quán)安全能力以解釋和交換消息路由和消息內(nèi)容”的更為特別的原則。在一個(gè)例子中,當(dāng)在分析所解析的錯(cuò)誤消息時(shí),該原則需要故障診斷410確定為解決該問(wèn)題,請(qǐng)求者的消息內(nèi)容需要更新。例如,故障診斷代理410將執(zhí)行更新,該更新受控制請(qǐng)求者402的環(huán)境或用于網(wǎng)格環(huán)境的安全策略的制約。在一個(gè)例子中,通過(guò)使用數(shù)字簽名以識(shí)別故障診斷代理410以及使用安全密鑰以加密和解密消息,故障診斷代理410將執(zhí)行諸如數(shù)據(jù)完整性認(rèn)證和保證的安全策略任務(wù)。
接下來(lái),消息處理原則506包括用于“解釋為特定錯(cuò)誤消息定義的規(guī)則和策略”的更為特別的原則。在一個(gè)例子中,該原則需要策略和規(guī)則510控制故障診斷代理410,該策略和規(guī)則510可以靜態(tài)或動(dòng)態(tài)強(qiáng)制和調(diào)整以匹配發(fā)生在特定網(wǎng)格環(huán)境或網(wǎng)絡(luò)環(huán)境內(nèi)的錯(cuò)誤條件類型。
另外,消息處理原則506包括用于“委托消息到用于診斷過(guò)程的故障診斷程序或?yàn)閱?wèn)題解決的不同層次形成故障診斷程序分層結(jié)構(gòu)”的更為特別的原則。特別地,如果故障診斷代理不能解決該錯(cuò)誤,該原則會(huì)考慮故障診斷代理410將錯(cuò)誤傳遞到處理特定錯(cuò)誤分析類型的另一個(gè)代理,如錯(cuò)誤特定智能故障診斷代理426。
現(xiàn)在參考圖7,圖7示意了帶有根據(jù)消息處理原則506處理的通信信息508的XML/SOAP消息的內(nèi)容的框圖。在該例子中,到SOAP包絡(luò)702的附件710包括初始SOAP主體消息712。特別地,當(dāng)檢測(cè)到錯(cuò)誤時(shí),發(fā)送消息508到故障診斷代理410的實(shí)體創(chuàng)建SOAP包絡(luò)702并且附加附件710。附件710包括初始SOAP主體消息712,該消息是初始時(shí)直接到響應(yīng)者的未修改的SOAP消息。
SOAP頭704指定消息處理原則506。特別地,SOAP頭704指定故障診斷代理能夠在錯(cuò)誤解決中扮演的角色、故障診斷必須處理的消息、以及帶有諸如請(qǐng)求者地址的地址標(biāo)題、目的地地址和消息處理中的中間者和每一個(gè)實(shí)體角色。
SOAP主體706包括SOAP故障708,該故障是由如HTTP的通信協(xié)議層生成的錯(cuò)誤消息。特別地,由通信協(xié)議層生成的該錯(cuò)誤消息在SOAP主體706中編碼。
現(xiàn)在參考圖8,圖8描述了帶有通信錯(cuò)誤信息的XML/SOAP消息的SOAP包絡(luò)的描述代碼的文本例子。如圖所示,SOAP包絡(luò)代碼800表示SOAP包絡(luò)702。SOAP包絡(luò)代碼800包括由SOAP頭部704表示的頭部代碼802。在該例子中,頭部代碼802為SOAP包絡(luò)指定的名字空間為“http//schemas.xmlsoap.org/soap/envelope”,而為SOAP編碼指定的名字空間為“http//schemas.xmlsoap.org/soap/encoding”。另外,頭部代碼802包括用于故障診斷代理“errorRecoveryAgent”的名字空間“http//hostname.com/soap/error”。
另外,SOAP包絡(luò)代碼800包括編碼故障代碼800的主體代碼804,分別表示SOAP主體706和SOAP故障708。在該例子中,故障代碼806指定了指示錯(cuò)誤信息來(lái)自發(fā)送器的數(shù)值代碼808、指示“HTTP404”的協(xié)議錯(cuò)誤號(hào)碼的數(shù)值子代碼810和指示“未找到”的協(xié)議錯(cuò)誤的原因的原因代碼812。
可以理解的是,圖7和圖8僅僅是用于增強(qiáng)帶有通信錯(cuò)誤信息的XML/SOAP消息的一個(gè)方法的示意性例子,但是可以在帶有通信錯(cuò)誤信息的XML/SOAP消息中實(shí)現(xiàn)加強(qiáng)的SOAP頭、SOAP主體的其它數(shù)據(jù)結(jié)構(gòu)和其它代碼增強(qiáng)。另外,應(yīng)當(dāng)理解的是,SOAP包絡(luò)代碼800提供了能實(shí)現(xiàn)增強(qiáng)的XML/SOAP消息的通信錯(cuò)誤信息的編碼類型的示意性例子,但也可以實(shí)現(xiàn)其他的編碼術(shù)語(yǔ)和結(jié)構(gòu)。
現(xiàn)在再次返回到圖5,通信故障診斷500通過(guò)與其它故障診斷提供者交互促進(jìn)故障診斷和恢復(fù)過(guò)程。特別地,在故障診斷代理410處用于特定錯(cuò)誤的策略和規(guī)則510可能需要將錯(cuò)誤消息轉(zhuǎn)發(fā)到另一個(gè)能夠處理用于該特定錯(cuò)誤類型的診斷過(guò)程的故障診斷代理,如錯(cuò)誤特定的智能故障診斷代理426。結(jié)果,錯(cuò)誤特定的故障診斷代理或故障診斷代理的分層結(jié)構(gòu)處理該錯(cuò)誤消息并返回詳細(xì)的錯(cuò)誤消息或解決了該問(wèn)題。在一個(gè)例子中,接收錯(cuò)誤消息的第一故障診斷代理可以處理簡(jiǎn)單問(wèn)題并將更復(fù)雜的問(wèn)題委托給分層結(jié)構(gòu)中的另一個(gè)故障診斷代理。
另外,參考圖5,決策和響應(yīng)處理502處理如何分發(fā)響應(yīng)給請(qǐng)求者。特別地,基于策略和規(guī)則510,決策和響應(yīng)處理502可以執(zhí)行多個(gè)步驟以分發(fā)響應(yīng)。在一個(gè)例子中,決策和響應(yīng)處理502通知請(qǐng)求者有關(guān)盡可能詳細(xì)的問(wèn)題以便請(qǐng)求者能夠做出與該消息有關(guān)的決定。例如,請(qǐng)求者可以決定重新路由消息、取消消息、或延遲消息。在另一個(gè)例子中,決策和響應(yīng)處理502通過(guò)故障診斷代理推薦的路由重新將消息路由到目的地或者重新將消息路由到新的服務(wù)端點(diǎn)。另外,決策和響應(yīng)處理502可以傳遞處理的這個(gè)部分到用于更深入地分析和響應(yīng)處理的其它自動(dòng)代理。例如,問(wèn)題確定和解決中心420為更深入地分析和響應(yīng)處理提供獨(dú)立的自動(dòng)代理。
現(xiàn)在參考圖9,圖9描述了根據(jù)本發(fā)明的方法、系統(tǒng)和程序用于傳遞問(wèn)題到故障診斷代理以解決問(wèn)題的過(guò)程和程序的高級(jí)邏輯流程圖。如圖所示,由請(qǐng)求者、中間者或響應(yīng)者執(zhí)行的處理過(guò)程開始于塊900,并且此后繼續(xù)進(jìn)行到塊902。塊902描述了是否檢測(cè)了錯(cuò)誤的判定。如果檢測(cè)到了錯(cuò)誤,那么過(guò)程轉(zhuǎn)到塊904。塊904示意了錯(cuò)誤是否是應(yīng)用特定的判斷。如果錯(cuò)誤是特定應(yīng)用的,那么過(guò)程轉(zhuǎn)到塊906。塊906描述了將錯(cuò)誤消息傳遞到請(qǐng)求者或處理應(yīng)用特定錯(cuò)誤的其它代理。否則,在塊904,如果錯(cuò)誤不是應(yīng)用特定的,那么過(guò)程轉(zhuǎn)到塊908。塊908描述了在主體中使用錯(cuò)誤編碼應(yīng)用SOAP包絡(luò)。下一步,塊910示意了將帶有錯(cuò)誤信息的XML/SOAP消息轉(zhuǎn)發(fā)到故障診斷代理,然后處理過(guò)程結(jié)束。
現(xiàn)在參考圖10,圖10描述了用于在故障診斷代理根據(jù)本發(fā)明的方法、系統(tǒng)和程序處理帶有錯(cuò)誤信息的XML/SOAP消息的過(guò)程和程序的高級(jí)邏輯流程圖。如圖所述,由故障診斷代理執(zhí)行的處理過(guò)程開始于塊1000,并且此后繼續(xù)進(jìn)行到塊1002。塊1002描述了故障診斷代理是否接收到帶有錯(cuò)誤信息的XML/SOAP消息的判斷。一旦故障診斷代理接收到了帶有錯(cuò)誤信息的XML/SOAP消息,則過(guò)程轉(zhuǎn)到塊1004。塊1004示意了在消息頭為消息處理原則、請(qǐng)求者識(shí)別、和響應(yīng)者識(shí)別以及在消息主體為錯(cuò)誤解析SOAP包絡(luò)。下一步,塊1006描述了基于規(guī)則和策略嘗試解決該錯(cuò)誤,如消息處理原則所指導(dǎo)的,然后過(guò)程轉(zhuǎn)到塊1008。
塊1008示意了故障診斷代理是否能夠解決錯(cuò)誤的判斷。如果故障診斷代理能夠解決該錯(cuò)誤,那么過(guò)程轉(zhuǎn)到塊1010。塊1010描述了發(fā)送響應(yīng)給請(qǐng)求者,然后過(guò)程結(jié)束。如前所述,響應(yīng)可以包括更新的消息或特定錯(cuò)誤碼和解釋。另外,響應(yīng)可以包括錯(cuò)誤條件已被解決的指示器。另外,如前所述,返回響應(yīng)需要故障診斷代理采用附加的步驟以解決錯(cuò)誤。
返回到塊1008,如果通過(guò)可用的規(guī)則和策略故障診斷代理不能解決該錯(cuò)誤,那么過(guò)程轉(zhuǎn)到塊1012。塊1012描述了消息處理原則是否允許故障診斷代理委托錯(cuò)誤消息到其它的故障診斷代理或服務(wù)。如果消息處理原則不允許委托,那么過(guò)程轉(zhuǎn)到塊1014。塊1014描述了創(chuàng)建指示缺乏錯(cuò)誤解決能力的響應(yīng),然后過(guò)程轉(zhuǎn)到塊1010。否則,在塊1012,如果消息處理原則允許委托錯(cuò)誤消息到其它的故障診斷代理或服務(wù),那么過(guò)程轉(zhuǎn)到塊1016。
塊1016描述了傳遞錯(cuò)誤消息到其它故障診斷代理或服務(wù)。下一步,塊1018示意了故障診斷代理是否接收到錯(cuò)誤診斷、錯(cuò)誤解決、或系統(tǒng)診斷的響應(yīng)的判斷。一旦故障診斷代理接收到響應(yīng),則過(guò)程轉(zhuǎn)到塊1020。塊1020描述了對(duì)該響應(yīng)的響應(yīng),然后過(guò)程轉(zhuǎn)到塊1010。特別地,響應(yīng)該響應(yīng)需要基于例如為XML/SOAP消息更新URL的響應(yīng)作出判定。
雖然已參考優(yōu)選實(shí)施例特別展示并描述了本發(fā)明,然而本領(lǐng)域的技術(shù)人員應(yīng)理解的是,可對(duì)其在形式和細(xì)節(jié)上有各種改變但并不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的系統(tǒng),包括使得能夠進(jìn)行由中間者促進(jìn)的在請(qǐng)求者和響應(yīng)者之間的消息事務(wù)的網(wǎng)絡(luò);經(jīng)由所述網(wǎng)絡(luò)可訪問(wèn)的故障診斷代理;所述故障診斷代理還包括用于接收特定消息事務(wù)的裝置,所述特定消息事務(wù)轉(zhuǎn)發(fā)自所述請(qǐng)求者、所述響應(yīng)者和所述中間者的至少一個(gè),并帶有在由所述請(qǐng)求者、所述響應(yīng)者和所述中間者的至少一個(gè)添加的附加包絡(luò)中編碼的非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤;用于促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決的裝置;以及用于將指示所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的所述解決的描述性消息返回到所述請(qǐng)求者、所述響應(yīng)者和所述中間者的至少一個(gè)。
2.根據(jù)權(quán)利要求1的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的系統(tǒng),其中所述消息事務(wù)包括XML消息。
3.根據(jù)權(quán)利要求1的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的系統(tǒng),其中所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤在SOAP包絡(luò)主體中編碼。
4.根據(jù)權(quán)利要求1的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的系統(tǒng),其中所述網(wǎng)絡(luò)還包括所述消息事務(wù)針對(duì)其發(fā)生的至少一個(gè)web服務(wù)以及與所述至少一個(gè)web服務(wù)交互的至少一個(gè)網(wǎng)格服務(wù)。
5.根據(jù)權(quán)利要求1的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的系統(tǒng),其中用于促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決的所述裝置還包括用于根據(jù)依照至少一個(gè)消息處理原則應(yīng)用的至少一個(gè)規(guī)則促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決的裝置。
6.根據(jù)權(quán)利要求1的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的系統(tǒng),其中所述故障診斷代理還包括用于將所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤委托給錯(cuò)誤特定的故障診斷代理和網(wǎng)格環(huán)境服務(wù)代理中的至少一個(gè)以進(jìn)行解決的裝置。
7.根據(jù)權(quán)利要求1的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的系統(tǒng),其中用于促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決的所述裝置還包括用于為所述特定消息事務(wù)執(zhí)行路由地址的受托更新的裝置。
8.根據(jù)權(quán)利要求1的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的系統(tǒng),其中所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤由協(xié)議層返回并指示與網(wǎng)絡(luò)有關(guān)的問(wèn)題。
9.一種用于管理網(wǎng)絡(luò)環(huán)境中的非應(yīng)用特定錯(cuò)誤的方法,所述方法包括使得能夠在網(wǎng)絡(luò)環(huán)境中進(jìn)行由中間者促進(jìn)的在請(qǐng)求者和響應(yīng)者之間的消息事務(wù);在可在所述網(wǎng)絡(luò)環(huán)境中訪問(wèn)的故障診斷代理處接收特定消息事務(wù),所述特定消息事務(wù)轉(zhuǎn)發(fā)自所述請(qǐng)求者、所述響應(yīng)者和所述中間者的至少一個(gè),并帶有在由所述請(qǐng)求者、所述響應(yīng)者和所述中間者的至少一個(gè)添加的附加包絡(luò)中編碼的非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤;從所述故障診斷代理促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決;以及將指示來(lái)自所述故障診斷代理的所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的所述解決的描述性消息分發(fā)到所述請(qǐng)求者、所述響應(yīng)者和所述中間者的至少一個(gè)。
10.根據(jù)權(quán)利要求9的用于管理網(wǎng)絡(luò)環(huán)境中的非應(yīng)用特定錯(cuò)誤的方法,其中使得能夠在網(wǎng)絡(luò)環(huán)境中進(jìn)行由中間者促進(jìn)的在請(qǐng)求者和響應(yīng)者之間的消息事務(wù)還包括使得能夠在所述請(qǐng)求者和所述響應(yīng)者之間進(jìn)行XML消息事務(wù)。
11.根據(jù)權(quán)利要求9的用于管理網(wǎng)絡(luò)環(huán)境中的非應(yīng)用特定錯(cuò)誤的方法,其中所述非應(yīng)用特定錯(cuò)誤在SOAP包絡(luò)的主體中編碼。
12.根據(jù)權(quán)利要求9的用于管理網(wǎng)絡(luò)環(huán)境中的非應(yīng)用特定錯(cuò)誤的方法,其中所述網(wǎng)絡(luò)環(huán)境還包括所述消息事務(wù)針對(duì)其發(fā)生的至少一個(gè)web服務(wù)以及與所述至少一個(gè)web服務(wù)交互的至少一個(gè)網(wǎng)格服務(wù)。
13.根據(jù)權(quán)利要求9的用于管理網(wǎng)絡(luò)環(huán)境中的非應(yīng)用特定錯(cuò)誤的方法,其中促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決還包括根據(jù)依照至少一個(gè)消息處理原則應(yīng)用的至少一個(gè)規(guī)則促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決。
14.根據(jù)權(quán)利要求9的用于管理網(wǎng)絡(luò)環(huán)境中的非應(yīng)用特定錯(cuò)誤的方法,其中從所述故障診斷代理促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決還包括將所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤委托給錯(cuò)誤特定的故障診斷代理和網(wǎng)格環(huán)境服務(wù)代理中的至少一個(gè)以進(jìn)行解決。
15.根據(jù)權(quán)利要求9的用于管理網(wǎng)絡(luò)環(huán)境中的非應(yīng)用特定錯(cuò)誤的方法,其中所述促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決還包括為所述特定消息事務(wù)執(zhí)行路由地址的受托更新。
16.一種用于管理網(wǎng)絡(luò)環(huán)境中的非應(yīng)用特定錯(cuò)誤的程序,所述程序包含在計(jì)算機(jī)可讀介質(zhì)中,所述程序包括計(jì)算機(jī)可執(zhí)行的指令,該指令致使計(jì)算機(jī)執(zhí)行以下步驟接收特定消息事務(wù),所述特定消息事務(wù)在網(wǎng)絡(luò)環(huán)境中轉(zhuǎn)發(fā)自請(qǐng)求者、響應(yīng)者和中間者的至少一個(gè),并帶有在由請(qǐng)求者、響應(yīng)者和中間者的至少一個(gè)添加的附加包絡(luò)中編碼的非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤,其中所述網(wǎng)絡(luò)環(huán)境使得能夠進(jìn)行由中間者促進(jìn)的在請(qǐng)求者和響應(yīng)者之間的消息事務(wù);促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決;以及將指示所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的所述解決的描述性消息分發(fā)到所述請(qǐng)求者、所述響應(yīng)者和所述中間者的至少一個(gè)。
17.根據(jù)權(quán)利要求16的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的程序,其中所述接收特定消息事務(wù),所述特定消息事務(wù)在網(wǎng)絡(luò)環(huán)境中轉(zhuǎn)發(fā)自請(qǐng)求者、響應(yīng)者和中間者的至少一個(gè),并帶有在由請(qǐng)求者、響應(yīng)者和中間者的至少一個(gè)添加的附加包絡(luò)中編碼的非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的步驟還包括接收帶有在SOAP包絡(luò)的主體中編碼的所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的XML消息事務(wù)。
18.根據(jù)權(quán)利要求16的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的程序,其中促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決的所述步驟還包括根據(jù)依照至少一個(gè)消息處理原則應(yīng)用的至少一個(gè)規(guī)則促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決。
19.根據(jù)權(quán)利要求16的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的程序,其中從所述故障診斷代理促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決的所述步驟還包括將所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤委托給錯(cuò)誤特定的故障診斷代理和網(wǎng)格環(huán)境服務(wù)代理中的至少一個(gè)以進(jìn)行解決。
20.根據(jù)權(quán)利要求16的用于管理網(wǎng)絡(luò)中的非應(yīng)用特定錯(cuò)誤的程序,其中促進(jìn)所述非應(yīng)用特定協(xié)議級(jí)錯(cuò)誤的解決的所述步驟還包括為所述特定消息事務(wù)執(zhí)行路由地址的受托更新。
全文摘要
一種用于利用故障診斷代理管理在帶有錯(cuò)誤信息的消息事務(wù)中通信的網(wǎng)絡(luò)錯(cuò)誤的方法、系統(tǒng)和程序。網(wǎng)絡(luò)促進(jìn)請(qǐng)求者和響應(yīng)者之間的消息事務(wù),以促進(jìn)web服務(wù)。當(dāng)發(fā)生了有關(guān)特定消息事務(wù)的非應(yīng)用特定錯(cuò)誤時(shí),如網(wǎng)絡(luò)錯(cuò)誤,協(xié)議層分配錯(cuò)誤碼,并且請(qǐng)求者或發(fā)送者在添加到特定消息事務(wù)的包絡(luò)主體中編碼錯(cuò)誤代碼。特別地,所述消息事務(wù)是帶有以錯(cuò)誤碼編碼的簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)包絡(luò)的XML消息,XML消息接著附加到SOAP包絡(luò)。所述錯(cuò)誤編碼的消息事務(wù)被轉(zhuǎn)發(fā)到故障診斷代理。故障診斷代理促進(jìn)所述非應(yīng)用特定錯(cuò)誤的解決并且將指示非應(yīng)用特定錯(cuò)誤的解決的描述性消息返回到所述請(qǐng)求者和所述響應(yīng)者的至少一個(gè)。
文檔編號(hào)H04L29/06GK1805373SQ20061000368
公開日2006年7月19日 申請(qǐng)日期2006年1月11日 優(yōu)先權(quán)日2005年1月12日
發(fā)明者文森特·V.D.·洛佛, 克雷格·W.·費(fèi)倫斯坦, 里克·A.·哈密爾頓二世, 約史·約瑟失 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司