專利名稱:面向服務(wù)的架構(gòu)中的智能調(diào)解系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本書面說明書涉及在面向服務(wù)的架構(gòu)(S0A)中提供服務(wù)的領(lǐng)域。具體而言,本說 明書涉及監(jiān)視和恢復(fù)原子服務(wù)的不可用性。
背景技術(shù):
許多類型的計(jì)算系統(tǒng)已經(jīng)獲得全球廣泛使用。這些計(jì)算系統(tǒng)包括個(gè)人計(jì)算機(jī)、服 務(wù)器、主機(jī)和廣泛的各種獨(dú)立和嵌入式計(jì)算設(shè)備。 一般而言,所有這些系統(tǒng)具有處理器和對(duì) 處理器和在處理器外圍的部件的操作進(jìn)行控制的操作系統(tǒng)。可執(zhí)行應(yīng)用程序存儲(chǔ)于計(jì)算機(jī) 的硬驅(qū)動(dòng)器中。計(jì)算機(jī)的處理器使應(yīng)用程序響應(yīng)于用戶輸入來運(yùn)行。 存在多種蔓延(sprawling)客戶端-服務(wù)器系統(tǒng),其中應(yīng)用和信息散布于許多PC 網(wǎng)絡(luò)、主機(jī)和微計(jì)算機(jī)中。在網(wǎng)絡(luò)連接的分布式系統(tǒng)中,用戶可以訪問許多應(yīng)用程序、數(shù)據(jù) 庫、網(wǎng)絡(luò)系統(tǒng)、操作系統(tǒng)和主機(jī)應(yīng)用。計(jì)算機(jī)為個(gè)人和商務(wù)提供包括文字處理、電子表格和 記賬在內(nèi)的諸多軟件應(yīng)用的宿主。另外,網(wǎng)絡(luò)通過電子郵件、網(wǎng)站、即時(shí)消息傳遞和網(wǎng)絡(luò)會(huì) 議來實(shí)現(xiàn)處于不同位置的人們之間的高速通信。 因此,在現(xiàn)代系統(tǒng)中,多個(gè)計(jì)算機(jī)——包括服務(wù)器——通過網(wǎng)絡(luò)連接在一起。各計(jì) 算機(jī)可以運(yùn)行用于執(zhí)行某些功能的應(yīng)用程序。這些應(yīng)用程序可以包括字處理、電子郵件、圖 形、文檔查看和標(biāo)記、電子表格、數(shù)據(jù)庫、音樂播放器、因特網(wǎng)瀏覽器、Photoshop、游戲、抗病 毒以及不計(jì)其數(shù)的諸多其它應(yīng)用程序的宿主。 另外,在服務(wù)器的網(wǎng)站可以向連接到網(wǎng)絡(luò)的計(jì)算機(jī)的用戶提供服務(wù)。例如,旅行社 可以在服務(wù)器提供使用戶能夠安排和購買航空航班、賓館預(yù)約和租賃汽車的網(wǎng)站。這些原 子服務(wù)雖然在單個(gè)網(wǎng)站作為單個(gè)復(fù)合服務(wù)呈現(xiàn)給用戶,但是可能實(shí)際上位于處于不同位置 的服務(wù)器上。因此,用于來自第一航空公司的航班的航班時(shí)間數(shù)據(jù)庫將處于一個(gè)位置的服 務(wù)器上。用于第二航空公司的航班時(shí)間數(shù)據(jù)庫將將處于另一服務(wù)器上。在又一位置的另一 服務(wù)器將提供用于汽車租賃等的數(shù)據(jù)庫,等等。但是從用戶的觀點(diǎn)來看,原子服務(wù)看起來是 從單個(gè)源呈現(xiàn)的。 因此,復(fù)合服務(wù)是如下服務(wù),該服務(wù)的實(shí)施調(diào)用其它服務(wù)。對(duì)照而言,原子服務(wù)是 如下服務(wù),該服務(wù)是自包含的(self-contained)并且沒有調(diào)動(dòng)來自不同源的另一服務(wù)。因 此,例如旅行社網(wǎng)站可以是一種復(fù)合服務(wù),該服務(wù)呈現(xiàn)信息并且使用戶能夠安排和購買所 供給的一項(xiàng)、一些或者所有原子服務(wù);也即,航空航班、賓館房間和租賃汽車。具體而言,一 項(xiàng)原子服務(wù)可以由一家航空公司提供,而另一原子服務(wù)可以由另一航空公司提供。復(fù)合服 務(wù)呈現(xiàn)來自各航空公司的數(shù)據(jù),從而用戶可以在服務(wù)之間選擇。 有時(shí),作為原子服務(wù)復(fù)合的一員的原子服務(wù)將由于某一原因而不可用。當(dāng)用戶訪 問復(fù)合服務(wù)站點(diǎn)時(shí),他或者她并不知道服務(wù)之一不可用。用戶可能經(jīng)歷相當(dāng)長的做出選擇 和輸入數(shù)據(jù)的過程,卻只能發(fā)現(xiàn)由于服務(wù)不可用而造成用戶不能進(jìn)行其正在申請(qǐng)的預(yù)約, 從而導(dǎo)致相當(dāng)令人不滿。
發(fā)明內(nèi)容
—個(gè)實(shí)施例是一種用于提供包括多個(gè)原子服務(wù)的復(fù)合服務(wù)的系統(tǒng)。該系統(tǒng)包括用 于存儲(chǔ)如下數(shù)據(jù)的數(shù)據(jù)庫的存儲(chǔ)器,該數(shù)據(jù)標(biāo)識(shí)與多個(gè)原子服務(wù)中的各原子服務(wù)關(guān)聯(lián)的恢 復(fù)模式并且在數(shù)據(jù)庫中存儲(chǔ)多個(gè)原子服務(wù)中的各原子服務(wù)的更新的可用性狀態(tài)。該系統(tǒng)還 包括處理器,該處理器用于從數(shù)據(jù)庫確定原子服務(wù)是否是不可用的并且用于從數(shù)據(jù)庫確定 與不可用的服務(wù)關(guān)聯(lián)的一個(gè)或者多個(gè)恢復(fù)模式。該處理器還選擇一個(gè)或者多個(gè)確定的恢復(fù) 模式中的一個(gè)恢復(fù)模式并且執(zhí)行所選擇的恢復(fù)模式。 另一實(shí)施例是一種用于通過供給各原子服務(wù)的復(fù)合服務(wù)來提供原子服務(wù)的由計(jì) 算機(jī)實(shí)施的方法。該方法包括由連接到網(wǎng)絡(luò)的服務(wù)器為各原子服務(wù)確定恢復(fù)模式并且在數(shù) 據(jù)庫中存儲(chǔ)標(biāo)識(shí)恢復(fù)模式的數(shù)據(jù)。該方法還包括由服務(wù)器定期確定各原子服務(wù)的可用性并 且在數(shù)據(jù)庫中存儲(chǔ)用于各原子服務(wù)的更新的可用性信息。該方法包括從連接到網(wǎng)絡(luò)的用戶 計(jì)算機(jī)接收對(duì)使用復(fù)合服務(wù)的請(qǐng)求。該方法也包括從數(shù)據(jù)庫確定原子服務(wù)目前是否不可 用、從數(shù)據(jù)庫中存儲(chǔ)的一個(gè)或者多個(gè)恢復(fù)模式中為不可用原子服務(wù)選擇恢復(fù)模式、并且執(zhí) 行為不可用服務(wù)而標(biāo)識(shí)的恢復(fù)模式。 另一實(shí)施例提供一種包含指令的計(jì)算機(jī)程序產(chǎn)品,所述指令在數(shù)據(jù)處理系統(tǒng)中執(zhí) 行時(shí)生效以使該系統(tǒng)執(zhí)行用于提供從不可用的服務(wù)狀況恢復(fù)出來的一連串操作。操作包括 存儲(chǔ)如下數(shù)據(jù)的數(shù)據(jù)庫,該數(shù)據(jù)標(biāo)識(shí)與多個(gè)原子服務(wù)中的各原子服務(wù)關(guān)聯(lián)的恢復(fù)模式,恢 復(fù)模式包括在服務(wù)不可用時(shí)遵循的過程。操作包括在數(shù)據(jù)庫中存儲(chǔ)多個(gè)原子服務(wù)中的各原 子服務(wù)的可用性狀態(tài)。操作還包括從數(shù)據(jù)庫確定原子服務(wù)是否不可用。操作還包括從數(shù)據(jù) 庫確定與不可用的服務(wù)關(guān)聯(lián)的一個(gè)或者多個(gè)恢復(fù)模式。操作也包括選擇一個(gè)或者多個(gè)確定 的恢復(fù)模式中的一個(gè)恢復(fù)模式并且執(zhí)行所選擇的恢復(fù)模式。 另一實(shí)施例是一種用于在原子服務(wù)不可用時(shí)選擇和執(zhí)行恢復(fù)模式的服務(wù)調(diào)解器。 一個(gè)實(shí)施例包括用于為多個(gè)原子服務(wù)中的各原子服務(wù)確定至少一個(gè)恢復(fù)模式的服務(wù)接口 模塊。服務(wù)可用性監(jiān)視器監(jiān)視多個(gè)原子服務(wù)中的各原子服務(wù)的可用性。數(shù)據(jù)庫存儲(chǔ)與可用 于各原子服務(wù)的恢復(fù)模式有關(guān)的信息并且存儲(chǔ)各原子服務(wù)的更新的可用性信息?;謴?fù)計(jì)劃 選擇器為不可用的服務(wù)選擇恢復(fù)模式并執(zhí)行該恢復(fù)模式。
在閱讀以下具體描述并且參照其中相似標(biāo)號(hào)可以表示相似元件的附圖,優(yōu)勢將變 得明顯 圖1描繪了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于執(zhí)行服務(wù)調(diào)解器軟件的服務(wù)器。
圖2描繪了根據(jù)本發(fā)明一個(gè)實(shí)施例的包括具有服務(wù)調(diào)解器的服務(wù)器的網(wǎng)絡(luò)。
圖3描繪了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于確定服務(wù)何時(shí)不可用以及用于確定和 執(zhí)行恢復(fù)模式的流程圖。
具體實(shí)施例方式
下文是對(duì)附圖中描繪的示例實(shí)施例的具體描述。詳細(xì)描述示例子實(shí)施例。然而, 提供的大量細(xì)節(jié)并非旨在限制實(shí)施例的預(yù)想變化;但是恰好相反,旨在覆蓋落入所附權(quán)利 要求的精神和范圍內(nèi)的所有修改、等價(jià)方案和替代方案。設(shè)計(jì)以下具體描述以呈現(xiàn)對(duì)于本領(lǐng)域普通技術(shù)人員顯而易見的各種實(shí)施例。 在一個(gè)實(shí)施例中,在服務(wù)器處的服務(wù)調(diào)解器提供作為原子服務(wù)復(fù)合的服務(wù)并且在服務(wù)不可用的情況下執(zhí)行恢復(fù)模式。例如,服務(wù)器主控的網(wǎng)站可以提供旅行服務(wù)的復(fù)合,從而使用戶能夠向多家航空中的任一航空預(yù)約航班、預(yù)訂賓館房間或者預(yù)約租賃汽車。復(fù)合服務(wù)是如下服務(wù),該服務(wù)的實(shí)施調(diào)用其它服務(wù)。對(duì)照而言,原子服務(wù)是如下服務(wù),該服務(wù)是自包含的并且沒有調(diào)動(dòng)來自不同源的另一服務(wù)。因此在一些實(shí)施例中,復(fù)合服務(wù)可以調(diào)用來自其它源的原子服務(wù)和/或復(fù)合服務(wù)的服務(wù)。旅行社網(wǎng)站可以是復(fù)合服務(wù),該服務(wù)呈現(xiàn)信息并且使用戶能夠安排和購買所供給的一項(xiàng)、一些或者所有原子服務(wù);也即,航空航班、賓館房間和租賃汽車。 從與復(fù)合服務(wù)的服務(wù)器鏈接的計(jì)算機(jī)的用戶的觀點(diǎn)來看,復(fù)合服務(wù)可以表現(xiàn)為同質(zhì)(homogenous)。也就是說,在一個(gè)實(shí)施例中,向用戶呈現(xiàn)的復(fù)合服務(wù)沒有表現(xiàn)為來自處于不同位置的數(shù)個(gè)源的服務(wù),而是表現(xiàn)為來自單個(gè)源的服務(wù)。但是從復(fù)合服務(wù)的觀點(diǎn)來看,每個(gè)原子服務(wù)被視為在另一源位置進(jìn)行提供。因此,復(fù)合服務(wù)既充當(dāng)復(fù)合服務(wù)的服務(wù)提供者又充當(dāng)它的子服務(wù)的服務(wù)消費(fèi)者。復(fù)合服務(wù)充當(dāng)子服務(wù)協(xié)調(diào)器。 在初始操作階段中,服務(wù)調(diào)解器為復(fù)合服務(wù)中供給的各原子服務(wù)確定一個(gè)或者多個(gè)恢復(fù)模式,并且在數(shù)據(jù)庫中存儲(chǔ)每個(gè)這種用于各原子服務(wù)的恢復(fù)模式的標(biāo)識(shí)。在后續(xù)操作中,服務(wù)調(diào)解器監(jiān)視各原子服務(wù)的可用性并且在數(shù)據(jù)庫中存儲(chǔ)更新的可用性信息。當(dāng)用戶查詢復(fù)合服務(wù)時(shí),服務(wù)調(diào)解器從數(shù)據(jù)庫確定它的任何原子服務(wù)是否當(dāng)前不可用。如果原子服務(wù)不可用,則服務(wù)調(diào)解器選擇恢復(fù)模式并且執(zhí)行它?;蛘咴谝粋€(gè)替代實(shí)施例中,用戶可以選擇多個(gè)恢復(fù)模式之一。 恢復(fù)模式是在服務(wù)不可用時(shí)遵循的過程??梢栽谠臃?wù)不可用時(shí)作為替代方案來執(zhí)行恢復(fù)模式。例如, 一種恢復(fù)模式是為了發(fā)現(xiàn)冗余服務(wù)端點(diǎn)以獲得原子服務(wù)。端點(diǎn)是可以從其獲得服務(wù)和關(guān)于服務(wù)的信息的站點(diǎn)。原子服務(wù)的提供者可以提供多于一個(gè)的端點(diǎn),這多個(gè)端點(diǎn)中的各端點(diǎn)訪問與服務(wù)關(guān)聯(lián)的信息數(shù)據(jù)庫并且實(shí)現(xiàn)對(duì)服務(wù)的使用。取而代之,服務(wù)可以僅具有一個(gè)端點(diǎn)。如果沒有冗余服務(wù)端點(diǎn)可用,則一種替代恢復(fù)模式可以當(dāng)前從用戶取得至少一些數(shù)據(jù)并且隨后在服務(wù)變得可用時(shí)處理該數(shù)據(jù)?;謴?fù)模式還可以包括向用戶通知由用戶供應(yīng)的數(shù)據(jù)的后續(xù)處理結(jié)果。 例如,可以向用戶通知汽車租賃預(yù)約服務(wù)的不可用性并且可以邀請(qǐng)用戶現(xiàn)在輸入關(guān)于用戶的有關(guān)信息。然后,當(dāng)汽車租賃預(yù)約服務(wù)再次可用時(shí),原子服務(wù)處理用戶的先前輸入的數(shù)據(jù)并且進(jìn)行汽車租賃預(yù)約。然后,例如通過電子郵件向用戶通知已經(jīng)進(jìn)行預(yù)約。又一替代恢復(fù)模式是向用戶通知原子服務(wù)之一目前不可用、但是其余原子服務(wù)可用,并且提供目前可用的服務(wù)、繼而向用戶通知不可用的服務(wù)何時(shí)變得可用。雖然這里詳細(xì)描述用于提供原子旅行服務(wù)的復(fù)合的旅行網(wǎng)站的例子,但是實(shí)施例可以用于其它復(fù)合服務(wù),例如匯集買賣股票、共有基金投資、債券、貨幣等的投資網(wǎng)站。 多于一個(gè)的恢復(fù)模式可以與原子服務(wù)關(guān)聯(lián)。當(dāng)原子服務(wù)具有多個(gè)恢復(fù)模式時(shí),可以按照偏好的順序?qū)λ鼈冞M(jìn)行排序。例如,發(fā)現(xiàn)用于不可用的服務(wù)的冗余端點(diǎn)將是最優(yōu)選的。如果冗余服務(wù)端點(diǎn)不可用,則次優(yōu)選方案可以現(xiàn)在從用戶取得數(shù)據(jù)并且以后處理它。如果這不可行,則可以向用戶簡單地通知服務(wù)目前不可用并且允許用戶現(xiàn)在獲得剩余服務(wù),從而以后在服務(wù)變得可用時(shí)通知用戶。因此, 一些原子服務(wù)供給可以由服務(wù)調(diào)解器智能選
6擇的多個(gè)恢復(fù)模式??梢詫?shí)施本領(lǐng)域中已知的或者有待將來開發(fā)的其它恢復(fù)模式。
圖1示出了服務(wù)器116(這里有時(shí)稱為機(jī)器)。服務(wù)器116包括至少一個(gè)處理器100,該處理器100可以根據(jù)BI0S(基本輸入/輸出系統(tǒng))代碼104和操作系統(tǒng)(OS)代碼106來操作。BIOS和OS代碼存儲(chǔ)于存儲(chǔ)器108中。BIOS代碼通常存儲(chǔ)于只讀存儲(chǔ)器(ROM)上,而OS代碼通常存儲(chǔ)于服務(wù)器116的硬驅(qū)動(dòng)器上。數(shù)字系統(tǒng)116包括物理上位于接近處理器100處的層2(L2)高速緩存102。存儲(chǔ)器108也存儲(chǔ)用于由處理器100執(zhí)行的其它程序并且存儲(chǔ)數(shù)據(jù)109。 在服務(wù)器116的一個(gè)實(shí)施例中,存儲(chǔ)器108存儲(chǔ)用于調(diào)解從相同服務(wù)器或者其它服務(wù)器可用的不同原子服務(wù)的服務(wù)調(diào)解代碼107。存儲(chǔ)器109包括如下數(shù)據(jù)結(jié)構(gòu)或者數(shù)據(jù)庫,該數(shù)據(jù)結(jié)構(gòu)或者數(shù)據(jù)庫包括關(guān)于如下恢復(fù)模式的信息,這些恢復(fù)模式可用于形成復(fù)合服務(wù)的多個(gè)原子服務(wù)中的各原子服務(wù)。存儲(chǔ)器109也存儲(chǔ)用于各原子服務(wù)的更新的可用性信息。服務(wù)調(diào)解代碼使處理器IOO執(zhí)行用于在服務(wù)不可用時(shí)確定和遵循恢復(fù)模式的功能。因此,服務(wù)調(diào)節(jié)器代碼將使處理器100為各原子服務(wù)初始確定恢復(fù)模式并且將這些恢復(fù)模式存儲(chǔ)到存儲(chǔ)器109中。服務(wù)調(diào)解代碼107還使處理器100監(jiān)視服務(wù)可用性并且在服務(wù)變得不可用時(shí)選擇和執(zhí)行恢復(fù)模式。因此,可以通過使用存儲(chǔ)器中存儲(chǔ)的并且由處理器執(zhí)行的服務(wù)調(diào)解計(jì)算機(jī)代碼107來實(shí)施一些實(shí)施例。 處理器100包括片上層1 (LI)高速緩存190、指令取讀器130、控制電路160和執(zhí)行單元150。層1高速緩存190接收和存儲(chǔ)接近執(zhí)行時(shí)間的指令。指令取讀器130從存儲(chǔ)器取讀指令。執(zhí)行單元150執(zhí)行由指令調(diào)用的操作。在一個(gè)實(shí)施例中,這些指令包括用于確定和存儲(chǔ)原子服務(wù)恢復(fù)模式信息的指令、用于監(jiān)視和存儲(chǔ)服務(wù)可用性信息的指令、以及用于執(zhí)行針對(duì)不可用的服務(wù)的恢復(fù)模式的指令。執(zhí)行單元150可以包括加載/存儲(chǔ)單元、整數(shù)算術(shù)/邏輯單元、浮點(diǎn)算術(shù)/邏輯單元和圖形邏輯單元。各執(zhí)行單元包括用于在執(zhí)行由指令取讀器130取讀的指令時(shí)執(zhí)行步驟的多個(gè)級(jí)。在一種超級(jí)標(biāo)量(superscalar)架構(gòu)中,不同執(zhí)行單元并行操作。因此,執(zhí)行單元150包括為了執(zhí)行用于從原子服務(wù)不可用性恢復(fù)出來的指令而并行操作的不同類型的單元集合。 控制電路160控制指令取讀器130和執(zhí)行單元150??刂齐娐?60也從執(zhí)行單元150接收與控制決策相關(guān)的信息。例如,在執(zhí)行流水線中的數(shù)據(jù)高速緩存未命中的情況下,通知控制電路160進(jìn)行停滯。 服務(wù)器116也通常包括未示出的其它部件和子系統(tǒng),比如受信任平臺(tái)模塊、存儲(chǔ)器控制器、隨機(jī)存取存儲(chǔ)器(RAM)、外圍驅(qū)動(dòng)器、系統(tǒng)監(jiān)視器、鍵盤、彩色視頻監(jiān)視器、一個(gè)或者多個(gè)軟盤驅(qū)動(dòng)器、一個(gè)或者多個(gè)可移動(dòng)非易失性介質(zhì)驅(qū)動(dòng)器(比如固定盤硬驅(qū)動(dòng)器、CD和DVD驅(qū)動(dòng)器)、指示設(shè)備(比如鼠標(biāo))和網(wǎng)絡(luò)接口適配器等。處理器100也可以借助輸入/輸出設(shè)備110來與網(wǎng)絡(luò)112通信。網(wǎng)絡(luò)將服務(wù)器116與物理存儲(chǔ)器存儲(chǔ)設(shè)備114的存儲(chǔ)區(qū)域網(wǎng)絡(luò)連接。這些設(shè)備可以包括帶驅(qū)動(dòng)儲(chǔ)存器或者硬盤陣列或者其它類型的存儲(chǔ)器。
因此,在服務(wù)器116的一種操作模式中,L2高速緩存從存儲(chǔ)器108接收預(yù)計(jì)在處理器100的處理器流水線中處理的數(shù)據(jù)和指令。L2高速緩存102是為了實(shí)現(xiàn)更大速度而在物理上位于接近處理器100處的快速存儲(chǔ)器。L2高速緩存從存儲(chǔ)器108接收用于多個(gè)指令線程的指令。這樣的指令可以包括加載和存儲(chǔ)指令、分支指令、算術(shù)邏輯指令、浮點(diǎn)指令等。Ll高速緩存190位于處理器中并且包含優(yōu)選從L2高速緩存102接收的數(shù)據(jù)和指令。理想地,隨著時(shí)間迫近將執(zhí)行的程序指令,該指令與它的數(shù)據(jù)(如果有的話)首先傳遞到L2高速緩存、然后隨著執(zhí)行時(shí)間的來臨傳遞到Ll高速緩存。 執(zhí)行單元150執(zhí)行從Ll高速緩存190接收的指令。執(zhí)行單元150中的各單元可以適合于執(zhí)行具體指令集。指令可以提交到不同執(zhí)行單元以便并行執(zhí)行。執(zhí)行單元150處理的數(shù)據(jù)可存儲(chǔ)于整數(shù)寄存器文件和浮點(diǎn)寄存器文件(未示出)中并且可從這些文件獲取該數(shù)據(jù)。這些寄存器文件中存儲(chǔ)的數(shù)據(jù)也可以來自或者傳送到板載L1高速緩存190或者外部高速緩存或者存儲(chǔ)器。處理器可以通過執(zhí)行加載指令將數(shù)據(jù)從存儲(chǔ)器(如L1高速緩存)加載到處理器的寄存器。處理器可以通過執(zhí)行存儲(chǔ)指令將數(shù)據(jù)從寄存器存儲(chǔ)到存儲(chǔ)器中。 服務(wù)器的存儲(chǔ)器通常包括只讀存儲(chǔ)器(ROM)、在DRAM和SRAM中實(shí)施的高速緩存存儲(chǔ)器、硬盤驅(qū)動(dòng)器、CD驅(qū)動(dòng)器和DVD驅(qū)動(dòng)器。服務(wù)器也可以控制對(duì)其它存儲(chǔ)器(比如帶驅(qū)動(dòng)器和硬盤陣列)的訪問。各服務(wù)器可以存儲(chǔ)和執(zhí)行它自己的應(yīng)用程序。因此,一些應(yīng)用程序如數(shù)據(jù)庫可以駐留于服務(wù)器中,并且這些程序?qū)τ诰W(wǎng)絡(luò)中的計(jì)算機(jī)是可用的。
因此,一個(gè)實(shí)施例是一種用于提供包括原子服務(wù)的復(fù)合服務(wù)的系統(tǒng)。該系統(tǒng)包括用于存儲(chǔ)如下數(shù)據(jù)的數(shù)據(jù)庫的存儲(chǔ)器,該數(shù)據(jù)標(biāo)識(shí)與多個(gè)原子服務(wù)中的各原子服務(wù)關(guān)聯(lián)的一個(gè)或者多個(gè)恢復(fù)模式。該系統(tǒng)監(jiān)視原子服務(wù)的可用性并且在數(shù)據(jù)庫中存儲(chǔ)多個(gè)原子服務(wù)中的各原子服務(wù)的可用性狀態(tài)。該系統(tǒng)還包括用于執(zhí)行用于從數(shù)據(jù)庫確定原子服務(wù)是否不可用的計(jì)算機(jī)指令的處理器。如果原子服務(wù)不可用,則處理器執(zhí)行用于從數(shù)據(jù)庫確定與不可用的服務(wù)關(guān)聯(lián)的一個(gè)或者多個(gè)恢復(fù)模式的計(jì)算機(jī)指令。處理器還選擇一個(gè)或者多個(gè)確定的恢復(fù)模式中的一個(gè)恢復(fù)模式并且執(zhí)行所選擇的恢復(fù)模式。 圖2示出了用于向網(wǎng)絡(luò)226中連接的多個(gè)計(jì)算機(jī)214、216和218提供服務(wù)的系統(tǒng)200。該網(wǎng)絡(luò)也鏈接包括服務(wù)器202以及原子服務(wù)220、222和224的多個(gè)服務(wù)器。服務(wù)220、222和224可以例如是日服務(wù)時(shí)間、航空航班數(shù)據(jù)庫、預(yù)約和購票、賓館房間和根據(jù)位置而定的費(fèi)率的數(shù)據(jù)庫、自動(dòng)租賃服務(wù)、銀行業(yè)服務(wù)、貨幣匯率等。這些服務(wù)通過網(wǎng)絡(luò)提供給服務(wù)器202并且也可以直接提供給計(jì)算機(jī)214、216和218。 服務(wù)器202包括服務(wù)調(diào)解器204,該服務(wù)調(diào)解器用于提供用于訪問個(gè)別原子服務(wù)或者復(fù)合服務(wù)的接口 、監(jiān)視服務(wù)的可用性、如果服務(wù)失敗則實(shí)施恢復(fù)過程、以及存儲(chǔ)涉及服務(wù)可用性和恢復(fù)的數(shù)據(jù)庫。具體而言,服務(wù)調(diào)解器204的服務(wù)接口模塊206從一個(gè)或者多個(gè)服務(wù)220、222和224接收數(shù)據(jù)并且按邏輯有序格式存儲(chǔ)這一數(shù)據(jù)。數(shù)據(jù)可以由服務(wù)接口模塊206發(fā)送到計(jì)算機(jī)214,其中它可以顯示于用戶計(jì)算機(jī)214的屏幕上。例如,來自不同航空服務(wù)的航空數(shù)據(jù)可以由服務(wù)調(diào)解器收集從而使計(jì)算機(jī)214的用戶能夠通過僅在一行選擇框中點(diǎn)擊針對(duì)所希望的航班的選擇框來選擇航班。因此,服務(wù)接口模塊206向用戶計(jì)算機(jī)呈現(xiàn)它從一個(gè)或者多個(gè)服務(wù)接收的數(shù)據(jù)并且通過鍵盤和/或鼠標(biāo)來接收用戶的響應(yīng)和選擇。 服務(wù)調(diào)解器204包括用于監(jiān)視原子服務(wù)的可用性并且用于用最新可用性信息定
期更新數(shù)據(jù)庫的服務(wù)可用性監(jiān)視器208。在一個(gè)實(shí)施例中,服務(wù)可用性監(jiān)視器208可以定期
輪詢服務(wù)以確定它是否可用?;蛘咴诹硪粚?shí)施例中,僅在失敗之后才開始輪詢。或者在另
一實(shí)施例中,各服務(wù)向服務(wù)可用性監(jiān)視器208通知服務(wù)可用性的改變。 服務(wù)調(diào)解器204包括恢復(fù)模式選擇器210?;謴?fù)模式選擇器210從這里描述的原子服務(wù)接收與關(guān)聯(lián)于服務(wù)的恢復(fù)模式有關(guān)的信息,從而如果服務(wù)失敗,則選擇器210可以智能地選擇恢復(fù)模式。例如,一種恢復(fù)模式可以涉及到選擇冗余服務(wù)端點(diǎn)。如果工作冗余服務(wù)端點(diǎn)不可用,則選擇器210可以選擇異步地提供服務(wù)。因此,所選模式可以邀請(qǐng)用戶輸入以后待處理的數(shù)據(jù),稍后將處理的結(jié)果(例如,是否進(jìn)行預(yù)約)向用戶通知?;蛘呃纾?wù)調(diào)解器204可以在服務(wù)再次變得可用時(shí)通過電子郵件通知用戶。 服務(wù)調(diào)解器204包括數(shù)據(jù)庫212。數(shù)據(jù)庫212包括與各種原子服務(wù)的可用性有關(guān)的信息和與可用于各原子服務(wù)的恢復(fù)模式有關(guān)的信息。因此,當(dāng)用戶登錄到服務(wù)提供者的網(wǎng)站并且試圖使用復(fù)合服務(wù)或者原子服務(wù)時(shí),服務(wù)接口模塊206檢查數(shù)據(jù)庫212以確定為了完成復(fù)合服務(wù)的功能性而需要的所有原子服務(wù)(或者在用戶僅請(qǐng)求特定原子服務(wù)的情況下僅為該原子服務(wù))在網(wǎng)站處是否可用。如果在網(wǎng)站處可用,則用戶可以繼續(xù)瀏覽站點(diǎn)并且輸入選擇和數(shù)據(jù)。如果服務(wù)不可用,則服務(wù)接口模塊206可以檢查數(shù)據(jù)庫212以確定什么恢復(fù)模式可用。原子服務(wù)可以提供一個(gè)或者多個(gè)恢復(fù)模式。這些恢復(fù)模式包括現(xiàn)在已知的恢復(fù)模式和有待將來開發(fā)的恢復(fù)模式。服務(wù)調(diào)解器204的服務(wù)接口模塊206可以從恢復(fù)模式的排序中選擇。例如,對(duì)恢復(fù)模式的第一選擇可以使用可用的冗余服務(wù)端點(diǎn)。服務(wù)端點(diǎn)是提供原子服務(wù)中的服務(wù)的位置。 一個(gè)網(wǎng)站可以具有通向多個(gè)端點(diǎn)的鏈接。對(duì)恢復(fù)模式的第二選擇可以是異步響應(yīng),其中現(xiàn)在可以收集服務(wù)所需數(shù)據(jù)(比如對(duì)項(xiàng)目的用戶選擇)而以后遞送響應(yīng)。 例如在一些情況下,服務(wù)可能不可用于接受對(duì)賓館房間的預(yù)約、但是仍然可以提供關(guān)于房間可用性的數(shù)據(jù)。在這樣的情況下,服務(wù)接口模塊206可以從用戶收集數(shù)據(jù),比如從列表中選擇的賓館和用戶偏好的一類套房之一,其中該類可以是吸煙類或無煙類或者是指具體大小或者具有具體舒適設(shè)施的房間。服務(wù)接口模塊206接受來自用戶的數(shù)據(jù)并且存儲(chǔ)它直至用于實(shí)際進(jìn)行預(yù)約的服務(wù)222可用。在那時(shí)或者在后續(xù)時(shí)間,服務(wù)222從服務(wù)接口模塊206接收用戶供應(yīng)的數(shù)據(jù)并且處理預(yù)約。處理預(yù)約可以包括確定所需房間是否將在請(qǐng)求的日期可用并且將房間實(shí)際分配給用戶而且預(yù)約請(qǐng)求的日期。因此,在一些情況下,現(xiàn)在可以收集用于處理的數(shù)據(jù),以后在服務(wù)變得可用時(shí)進(jìn)行后續(xù)處理和確認(rèn)。在這樣的情況下,恢復(fù)模式選擇器210可以選擇的恢復(fù)模式是為了現(xiàn)在收集某些信息、以后在服務(wù)再次變得可用時(shí)處理信息、然后在以后的時(shí)間向用戶發(fā)送關(guān)于處理結(jié)果的信息。
因此,一些實(shí)施例包括用于在原子服務(wù)不可用時(shí)選擇和執(zhí)行恢復(fù)模式的服務(wù)調(diào)解器。服務(wù)調(diào)解器包括為多個(gè)原子服務(wù)中的各原子服務(wù)確定至少一個(gè)恢復(fù)模式的服務(wù)接口模塊。服務(wù)可用性監(jiān)視器監(jiān)視多個(gè)原子服務(wù)中的各原子服務(wù)的可用性。這可以定期完成。數(shù)據(jù)庫存儲(chǔ)與可用于各原子服務(wù)的恢復(fù)模式有關(guān)的信息并且存儲(chǔ)各原子服務(wù)的更新的可用性信息。恢復(fù)計(jì)劃選擇器選擇和執(zhí)行用于不可用的服務(wù)的恢復(fù)模式。在一些實(shí)施例中,服務(wù)接口模塊顯示用于多個(gè)原子服務(wù)中的各原子服務(wù)的可用性信息。在一些實(shí)施例中,服務(wù)接口模塊使用戶能夠選擇與原子服務(wù)關(guān)聯(lián)的多個(gè)恢復(fù)模式中的一個(gè)恢復(fù)模式。也在一些實(shí)施例中,恢復(fù)模式選擇器對(duì)用于原子服務(wù)的恢復(fù)模式區(qū)分優(yōu)先順序。 圖3示出了用于向用戶提供服務(wù)并且在服務(wù)失敗時(shí)執(zhí)行恢復(fù)模式的流程圖300。在初始操作階段中,服務(wù)調(diào)解器為在網(wǎng)站提供的服務(wù)復(fù)合中的各服務(wù)確定可用恢復(fù)模式(單元302)。隨著操作繼續(xù),服務(wù)可用性監(jiān)視器監(jiān)視服務(wù)可用性并且定期更新涉及服務(wù)可用性的數(shù)據(jù)庫(單元304)。當(dāng)用戶請(qǐng)求服務(wù)時(shí)(單元306),服務(wù)調(diào)解器在數(shù)據(jù)庫中查找以確定組成服務(wù)復(fù)合的每個(gè)個(gè)別服務(wù)的可用性(單元308)。如果所有服務(wù)目前都可用(單元310),則服務(wù)調(diào)解器提供服務(wù)(單元316)。 如果服務(wù)不可用(單元310),則恢復(fù)模式選擇器將在數(shù)據(jù)庫中查找以確定什么恢復(fù)模式可用(單元312)??梢杂信c各恢復(fù)模式關(guān)聯(lián)的用以確定它的優(yōu)先級(jí)(如果有)的排序。當(dāng)具有最高優(yōu)先級(jí)的恢復(fù)模式不可用時(shí),比如當(dāng)冗余服務(wù)端點(diǎn)不可用時(shí),所選恢復(fù)模式將是具有次高優(yōu)先級(jí)的恢復(fù)模式。這一恢復(fù)模式可以例如從用戶取得數(shù)據(jù)并且以后處理它。 一旦標(biāo)識(shí)恢復(fù)模式,服務(wù)調(diào)解器執(zhí)行它(單元314)并且提供可以提供的服務(wù)(單元316)。 例如,考慮使用戶能夠安排航班、預(yù)訂賓館房間并且預(yù)約租賃汽車的旅行社網(wǎng)站。在初始操作階段中,網(wǎng)站的服務(wù)調(diào)解器確定向用戶呈現(xiàn)那些服務(wù)的復(fù)合所需的每個(gè)原子服務(wù)的恢復(fù)模式。例如,一個(gè)或者多個(gè)航空服務(wù)可以具有冗余服務(wù)端點(diǎn)。又如,如果一個(gè)航空服務(wù)失敗,則服務(wù)調(diào)解器可以決定為少于所有航空服務(wù)的航空服務(wù)提供該服務(wù),從而排除與失敗的航空服務(wù)有關(guān)的信息。因此,用于原子服務(wù)中的失敗服務(wù)的一種恢復(fù)模式是提供除了失敗服務(wù)之外的所有服務(wù)。可以向用戶通知失敗的服務(wù)。以后可以在服務(wù)變得可用時(shí)向用戶發(fā)送電子郵件。用于當(dāng)存在不可用的服務(wù)時(shí)進(jìn)行恢復(fù)的另一恢復(fù)模式是當(dāng)冗余服務(wù)端點(diǎn)可用時(shí)進(jìn)行與該冗余服務(wù)端點(diǎn)的連接。用于在有不可用的服務(wù)時(shí)進(jìn)行恢復(fù)的另一恢復(fù)模式是當(dāng)至少部分地完成提供服務(wù)的處理時(shí)所需要從用戶收集的此類信息,以便當(dāng)服務(wù)接著變得可用時(shí)完成該處理并且向用戶通知完成的處理結(jié)果。 因此,一個(gè)實(shí)施例是一種用于通過供給各原子服務(wù)的復(fù)合服務(wù)來提供原子服務(wù)的由計(jì)算機(jī)實(shí)施的方法。在主控復(fù)合服務(wù)的服務(wù)器提供的方法為各原子服務(wù)確定恢復(fù)模式并且在數(shù)據(jù)庫中存儲(chǔ)標(biāo)識(shí)恢復(fù)模式的數(shù)據(jù)。該方法還包括定期確定包括復(fù)合服務(wù)的各原子服務(wù)的可用性并且在數(shù)據(jù)庫中存儲(chǔ)用于各原子服務(wù)的更新可用性信息。該方法包括從連接到服務(wù)器所在網(wǎng)絡(luò)的用戶計(jì)算機(jī)接收對(duì)使用復(fù)合服務(wù)的請(qǐng)求。當(dāng)接收請(qǐng)求時(shí),該方法包括從數(shù)據(jù)庫確定原子服務(wù)是否目前不可用。如果不可用,則該方法包括為不可用原子服務(wù)從數(shù)據(jù)庫中存儲(chǔ)的一個(gè)或者多個(gè)恢復(fù)模式選擇恢復(fù)模式。該方法然后執(zhí)行所標(biāo)識(shí)的用于不可用的服務(wù)的恢復(fù)模式。 在該方法中選擇的恢復(fù)模式可以包括發(fā)現(xiàn)冗余服務(wù)端點(diǎn)。另一恢復(fù)模式可以包括從用戶取得數(shù)據(jù)并且在服務(wù)變得可用時(shí)的后續(xù)時(shí)間處理數(shù)據(jù)。另一恢復(fù)模式可以包括向用戶通知數(shù)據(jù)的處理結(jié)果。另一恢復(fù)模式可以包括在不可用的服務(wù)現(xiàn)在已經(jīng)變得可用時(shí)通過電子郵件通知用戶。在一些實(shí)施例中,該方法包括對(duì)用于原子服務(wù)的多個(gè)恢復(fù)模式進(jìn)行排序。 一些實(shí)施例包括使用戶能夠選擇用于原子服務(wù)的多個(gè)恢復(fù)模式中的恢復(fù)模式。因此,一些實(shí)施例可以向用戶通知原子服務(wù)的不可用性,從而允許用戶決定是現(xiàn)在還是以后提交該服務(wù)所需的數(shù)據(jù)。 —些實(shí)施例可以采用全硬件實(shí)施例、全軟件實(shí)施例或者包含硬件和軟件單元二者的實(shí)施例的形式。因此一些實(shí)施例在軟件中實(shí)現(xiàn),該軟件包括但不限于固件、常駐軟件、微代碼等。另外,實(shí)施例可以采用可從機(jī)器可訪問可讀取介質(zhì)獲取的計(jì)算機(jī)程序產(chǎn)品的形式,該介質(zhì)提供用于由如圖1中所示的這種服務(wù)器或者任何指令執(zhí)行系統(tǒng)使用的程序代碼,或者與如圖1中所示的這種服務(wù)器或者任何指令執(zhí)行系統(tǒng)結(jié)合使用的程序代碼。出于本說明書的目的,機(jī)器可訪問或者計(jì)算機(jī)可用或者計(jì)算機(jī)可讀介質(zhì)可以是任何如下裝置,該裝置可以包含、存儲(chǔ)、傳達(dá)、傳播或者傳送用于由指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用或者與該指令執(zhí)行系統(tǒng)、裝置或者設(shè)備結(jié)合使用的程序。介質(zhì)可以是電子、磁、光學(xué)、電磁、紅外線或者半導(dǎo)體系統(tǒng)(或者裝置或者設(shè)備)或者傳播介質(zhì)。機(jī)器可訪問介質(zhì)的例子包括半導(dǎo)體或者固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(R0M)、硬磁盤和光盤。光盤的目前例子包括致密盤_只讀存儲(chǔ)器(CD-ROM)、致密盤_讀/寫(CD-R/W)和DVD。 適合于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括直接或者通過系統(tǒng)總線
間接耦合到存儲(chǔ)器元件的至少一個(gè)處理器。存儲(chǔ)器元件可以包括在程序代碼的實(shí)際執(zhí)行期
間采用的本地存儲(chǔ)器108、大容量儲(chǔ)存器和高速緩存存儲(chǔ)器102、190,這些高速緩存存儲(chǔ)器
提供對(duì)至少一些程序代碼的暫時(shí)存儲(chǔ)以便減少在執(zhí)行期間必須從大容量儲(chǔ)存器取回代碼
的次數(shù)。輸入/輸出或者1/0設(shè)備(包括但不限于鍵盤、顯示器、指示設(shè)備等)可以直接或
者通過居間1/0控制器耦合到系統(tǒng)。網(wǎng)絡(luò)適配器也可以耦合到系統(tǒng)以使數(shù)據(jù)處理系統(tǒng)變成
通過居間專用或者公共網(wǎng)絡(luò)耦合到其它數(shù)據(jù)處理系統(tǒng)或者遠(yuǎn)程打印機(jī)或者存儲(chǔ)設(shè)備。調(diào)制
解調(diào)器、有線調(diào)制解調(diào)器和以太網(wǎng)卡是網(wǎng)絡(luò)適配器的目前可用類型中的若干類型。 因此,另一實(shí)施例提供一種包含指令的計(jì)算機(jī)程序產(chǎn)品,這些指令在數(shù)據(jù)處理系
統(tǒng)中執(zhí)行時(shí)生效,以使系統(tǒng)完成用于當(dāng)服務(wù)不可用時(shí)進(jìn)行恢復(fù)的一連串操作。該操作包括
存儲(chǔ)如下數(shù)據(jù)的數(shù)據(jù)庫,該數(shù)據(jù)標(biāo)識(shí)與復(fù)合服務(wù)提供的多個(gè)原子服務(wù)中的各原子服務(wù)關(guān)聯(lián)
的恢復(fù)模式?;謴?fù)模式是在服務(wù)不可用時(shí)遵循的過程。操作包括在數(shù)據(jù)庫中存儲(chǔ)多個(gè)原子
服務(wù)中的各原子服務(wù)的可用性。操作也包括從數(shù)據(jù)庫確定原子服務(wù)在用戶尋求使用復(fù)合服
務(wù)時(shí)是否不可用。操作還包括從數(shù)據(jù)庫確定與不可用的服務(wù)關(guān)聯(lián)的一個(gè)或者多個(gè)恢復(fù)模
式。操作也包括選擇一個(gè)或者多個(gè)確定的恢復(fù)模式中的一個(gè)恢復(fù)模式并且執(zhí)行所選擇的恢
復(fù)模式。 雖然已經(jīng)詳細(xì)描述一些實(shí)施例,但是應(yīng)當(dāng)理解這里可以進(jìn)行各種改變、替換和更改而不脫離所附權(quán)利要求的精神和范圍。雖然一個(gè)實(shí)施例可以實(shí)現(xiàn)多個(gè)目的,但是并非落入所附權(quán)利要求內(nèi)的每個(gè)實(shí)施例都將實(shí)現(xiàn)每個(gè)目的。另外,本申請(qǐng)的范圍并非限于說明中描述的處理、機(jī)器、制造產(chǎn)品、物質(zhì)組成、裝置、方法和步驟的特定實(shí)施例。如本領(lǐng)域普通技術(shù)人員將從公開內(nèi)容中容易理解的那樣,可以利用完成與這里描述的對(duì)應(yīng)實(shí)施例基本上相同功能或者實(shí)現(xiàn)基本上相同結(jié)果的當(dāng)前存在或者以后有待開發(fā)的處理、機(jī)器、制造產(chǎn)品、物質(zhì)組成、裝置、方法和步驟。因而,所附權(quán)利要求旨在于在它們的范圍內(nèi)包括這樣的處理、機(jī)器、制造產(chǎn)品、物質(zhì)組成、裝置、方法和步驟。
權(quán)利要求
一種用于通過供給各原子服務(wù)的復(fù)合服務(wù)來提供原子服務(wù)的由計(jì)算機(jī)實(shí)施的方法,包括連接到網(wǎng)絡(luò)的服務(wù)器為各原子服務(wù)確定恢復(fù)模式,并且在數(shù)據(jù)庫中存儲(chǔ)標(biāo)識(shí)所述恢復(fù)模式的數(shù)據(jù),而且將所述恢復(fù)模式標(biāo)識(shí)數(shù)據(jù)與相應(yīng)的原子服務(wù)關(guān)聯(lián);所述服務(wù)器定期確定各原子服務(wù)的可用性并且在所述數(shù)據(jù)庫中存儲(chǔ)用于各原子服務(wù)的更新的可用性信息;所述服務(wù)器從連接到所述網(wǎng)絡(luò)的用戶計(jì)算機(jī)接收對(duì)使用所述復(fù)合服務(wù)的請(qǐng)求;從所述數(shù)據(jù)庫確定原子服務(wù)目前是否不可用;從所述數(shù)據(jù)庫中存儲(chǔ)的一個(gè)或者多個(gè)恢復(fù)模式中為不可用原子服務(wù)選擇恢復(fù)模式;以及執(zhí)行為不可用服務(wù)而標(biāo)識(shí)的恢復(fù)模式。
2. 根據(jù)權(quán)利要求1所述的方法,其中第一恢復(fù)模式包括發(fā)現(xiàn)冗余服務(wù)端點(diǎn)。
3. 根據(jù)權(quán)利要求2所述的方法,其中在沒有發(fā)現(xiàn)冗余服務(wù)端點(diǎn)的情況下執(zhí)行的第二恢 復(fù)模式包括從用戶取得數(shù)據(jù)并且在所述服務(wù)變得可用時(shí)的后續(xù)時(shí)間處理所述數(shù)據(jù)。
4. 根據(jù)權(quán)利要求1所述的方法,其中恢復(fù)模式包括從用戶取得數(shù)據(jù)并且在所述服務(wù)變 得可用時(shí)的后續(xù)時(shí)間處理所述數(shù)據(jù)。
5. 根據(jù)權(quán)利要求4所述的方法,其中所述恢復(fù)模式還包括向用戶通知所述數(shù)據(jù)的處理 結(jié)果。
6. 根據(jù)權(quán)利要求1所述的方法,其中恢復(fù)模式包括在不可用的服務(wù)現(xiàn)在已經(jīng)變得可用 時(shí)通過電子郵件通知用戶。
7. 根據(jù)權(quán)利要求1所述的方法,還包括對(duì)用于原子服務(wù)的多個(gè)恢復(fù)模式進(jìn)行排序。
8. 根據(jù)權(quán)利要求1所述的方法,還包括使用戶能夠選擇用于原子服務(wù)的多個(gè)恢復(fù)模式 中的一個(gè)恢復(fù)模式。
9. 一種用于提供包括多個(gè)原子服務(wù)的復(fù)合服務(wù)的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括 存儲(chǔ)器,用于存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫,所述數(shù)據(jù)標(biāo)識(shí)與所述多個(gè)原子服務(wù)中的各原子服務(wù)關(guān)聯(lián)的恢復(fù)模式并且用于在所述數(shù)據(jù)庫中存儲(chǔ)所述多個(gè)原子服務(wù)中的各原子服務(wù)的可用 性狀態(tài);以及處理器,用于從所述數(shù)據(jù)庫確定原子服務(wù)是否是不可用的; 從所述數(shù)據(jù)庫確定與不可用服務(wù)關(guān)聯(lián)的一個(gè)或者多個(gè)恢復(fù)模式; 選擇所述一個(gè)或者多個(gè)確定的恢復(fù)模式中的一個(gè)恢復(fù)模式;以及 執(zhí)行所選擇的恢復(fù)模式。
10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中第一恢復(fù)模式包括發(fā)現(xiàn)冗余服務(wù)端點(diǎn)。
11. 根據(jù)權(quán)利要求io所述的系統(tǒng),其中在沒有發(fā)現(xiàn)冗余服務(wù)端點(diǎn)的情況下執(zhí)行的第二恢復(fù)模式包括從用戶取得數(shù)據(jù)并且在所述服務(wù)變得可用時(shí)的后續(xù)時(shí)間處理所述數(shù)據(jù)。
12. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中恢復(fù)模式包括從用戶取得數(shù)據(jù)并且在所述服務(wù) 變得可用時(shí)的后續(xù)時(shí)間處理所述數(shù)據(jù)。
13. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述恢復(fù)模式還包括向用戶通知所述數(shù)據(jù)的處理結(jié)果。
14. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中恢復(fù)模式包括在不可用的服務(wù)現(xiàn)在已經(jīng)變得可 用時(shí)通過電子郵件通知用戶。
15. 根據(jù)權(quán)利要求9所述的系統(tǒng),還包括對(duì)用于原子服務(wù)的多個(gè)恢復(fù)模式進(jìn)行排序。
16. —種包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)具有 用于實(shí)施根據(jù)權(quán)利要求1-8所述的任何方法的計(jì)算機(jī)可讀程序。
17. —種用于在原子服務(wù)不可用時(shí)選擇和執(zhí)行恢復(fù)模式的服務(wù)調(diào)解器,包括 服務(wù)接口模塊,用于為多個(gè)原子服務(wù)中的各原子服務(wù)確定至少一個(gè)恢復(fù)模式,恢復(fù)模式包括在服務(wù)不可用時(shí)遵循的過程;服務(wù)可用性監(jiān)視器,用于監(jiān)視多個(gè)原子服務(wù)中的各原子服務(wù)的可用性; 數(shù)據(jù)庫,用于存儲(chǔ)與可用于各原子服務(wù)的恢復(fù)模式有關(guān)的信息并且用于存儲(chǔ)各原子服務(wù)的更新的可用性信息;以及恢復(fù)計(jì)劃選擇器,用于為不可用服務(wù)選擇恢復(fù)模式并執(zhí)行該恢復(fù)模式。
18. 根據(jù)權(quán)利要求17所述的服務(wù)調(diào)解器,其中恢復(fù)模式包括發(fā)現(xiàn)冗余服務(wù)端點(diǎn)。
19. 根據(jù)權(quán)利要求17所述的服務(wù)調(diào)解器,其中所述服務(wù)接口模塊顯示用于多個(gè)原子服 務(wù)中的各原子服務(wù)的可用性信息。
20. 根據(jù)權(quán)利要求17所述的服務(wù)調(diào)解器,其中所述服務(wù)接口模塊使用戶能夠選擇與原 子服務(wù)關(guān)聯(lián)的多個(gè)恢復(fù)模式中的一個(gè)恢復(fù)模式。
21. 根據(jù)權(quán)利要求17所述的服務(wù)調(diào)解器,其中所述恢復(fù)模式選擇器對(duì)用于原子服務(wù)的 恢復(fù)模式區(qū)分優(yōu)先順序。
全文摘要
本發(fā)明提供一種面向服務(wù)的架構(gòu)中的智能調(diào)解系統(tǒng)。在一個(gè)實(shí)施例中,服務(wù)調(diào)解器提供作為原子服務(wù)的復(fù)合的服務(wù)并且在服務(wù)不可用的情況下執(zhí)行恢復(fù)模式。具體而言,在初始操作階段中,服務(wù)調(diào)解器為復(fù)合服務(wù)中供給的各原子服務(wù)確定一個(gè)或者多個(gè)恢復(fù)模式并且在數(shù)據(jù)庫中存儲(chǔ)這樣用于各原子服務(wù)的每個(gè)這種恢復(fù)模式的標(biāo)識(shí)。在后續(xù)操作中,服務(wù)調(diào)解器監(jiān)視各原子服務(wù)的可用性。當(dāng)用戶查詢復(fù)合服務(wù)時(shí),服務(wù)調(diào)解器確定它的任何原子服務(wù)是否是不可用的。如果原子服務(wù)是不可用的,則服務(wù)調(diào)解器選擇恢復(fù)模式并且執(zhí)行該恢復(fù)模式。
文檔編號(hào)H04L29/06GK101763591SQ200910224398
公開日2010年6月30日 申請(qǐng)日期2009年12月2日 優(yōu)先權(quán)日2008年12月22日
發(fā)明者R·S·阿倫阿查拉姆 申請(qǐng)人:國際商業(yè)機(jī)器公司