專利名稱:用于網(wǎng)絡(luò)單元服務(wù)恢復(fù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于網(wǎng)絡(luò)單元服務(wù)恢復(fù)的方法和系統(tǒng)。雖然本發(fā)明特別針對網(wǎng)絡(luò)客戶端服務(wù)恢復(fù)的領(lǐng)域,并且因此將通過對其的具體參考來描述本發(fā)明,但是將理解本發(fā)明在其他領(lǐng)域和應(yīng)用中也可以具有實用性。
背景技術(shù):
作為背景技術(shù),很多現(xiàn)代系統(tǒng)通過集成若干網(wǎng)絡(luò)單元來實現(xiàn),該網(wǎng)絡(luò)單元諸如與后端數(shù)據(jù)庫服務(wù)器交互的前端web服務(wù)器。當(dāng)這些系統(tǒng)提供重要服務(wù)時,通常在多個站點復(fù)制它們以最大化服務(wù)可用性,特別是在聯(lián)網(wǎng)裝置或設(shè)施出現(xiàn)故障或其它使站點托管裝置變得不可用或不可訪問的可歸因于外部的事件之后。雖然面向客戶端設(shè)備的前端機(jī)器(例如,web瀏覽器)的故障(例如,嚴(yán)重的不可用/無響應(yīng))可以通過客戶端自動檢測到并且觸發(fā)該客戶端以自動將服務(wù)恢復(fù)至替代站點,但是后端服務(wù)器的故障通常將不觸發(fā)客戶端始發(fā)的恢復(fù)。例如,如果支持電子商務(wù)站點的數(shù)據(jù)庫服務(wù)器不可用,則典型的實施方式簡單地將說明該站點暫時不可用并且稍后再試的網(wǎng)頁返回給客戶端。因此,現(xiàn)在的標(biāo)準(zhǔn)作法是針對復(fù)雜的多單元解決方案,將描述性錯誤返回給客戶端(針對不直接與客戶端通信的后端單元的故障)?!と绻蠖朔?wù)器(諸如數(shù)據(jù)庫)出現(xiàn)故障,則傳統(tǒng)的策略是充分利用在地理上分散的冗余系統(tǒng)。在這一點上,前端服務(wù)器(例如,web服務(wù)器)將服務(wù)恢復(fù)到在地理上遠(yuǎn)離的站點上的冗余數(shù)據(jù)庫服務(wù)器上。然而,這使得消息在兩個地理上遠(yuǎn)離的站點之間被發(fā)送。如果這些站點離得很遠(yuǎn),并且在web服務(wù)器和數(shù)據(jù)庫之間存在很多必需的消息,則這可能顯著地增加web服務(wù)器的響應(yīng)時間并且占用站點之間的有效帶寬。因此,如果單元位于遠(yuǎn)程站點,則這種解決方案可能增加延時和網(wǎng)絡(luò)流量。
發(fā)明內(nèi)容
提供了一種用于網(wǎng)絡(luò)單元服務(wù)恢復(fù)的方法和系統(tǒng)。現(xiàn)在的標(biāo)準(zhǔn)作法是針對復(fù)雜的多單元解決方案,將描述性錯誤返回給客戶端(針對不直接與客戶端通信的后端單元的故障)而不是處理錯誤以觸發(fā)自動服務(wù)恢復(fù)。雖然完全地描述性錯誤對于一些類別的用戶提供大量消息,但是很多其它用戶更傾向于使他們的(智能)客戶端設(shè)備來自動地為他們恢復(fù)服務(wù)。在一個實施例中,該方法包括由前端服務(wù)器檢測下游網(wǎng)絡(luò)單元中的錯誤或其不可用性,并且,發(fā)送響應(yīng)碼至客戶端以觸發(fā)客戶端來將服務(wù)重定向至替代前端服務(wù)器或在替代前端服務(wù)器上進(jìn)行恢復(fù)。在另一個實施例中,前端服務(wù)器是web服務(wù)器。在另一個實施例中,下游網(wǎng)絡(luò)單元是數(shù)據(jù)庫服務(wù)器。在另一個實施例中,該方法進(jìn)一步包括暫??蛻舳撕颓岸朔?wù)器之間的會話。在另一個實施例中,所述檢測包括下述之一:從下游網(wǎng)絡(luò)單元接收消息或檢測超時響應(yīng)定時器。在另一個實施例中,該方法包括由前端服務(wù)器檢測下游網(wǎng)絡(luò)單元中的錯誤或其不可用性,確定應(yīng)當(dāng)執(zhí)行單元恢復(fù)還是群集恢復(fù),如果確定了單元恢復(fù),則由前端服務(wù)器切換至與故障的下游網(wǎng)絡(luò)單元相對應(yīng)的替代下游網(wǎng)絡(luò)單元,并且,如果確定了群集恢復(fù),則由前端服務(wù)器發(fā)送響應(yīng)碼至客戶端以觸發(fā)客戶端將服務(wù)重定向至替代冗余前端服務(wù)器或在替代冗余前端服務(wù)器上進(jìn)行恢復(fù)。在另一個實施例中,前端服務(wù)器是web服務(wù)器。在另一個實施例中,下游網(wǎng)絡(luò)單元是數(shù)據(jù)庫服務(wù)器。在另一個實施例中,該方法進(jìn)一步包括暫??蛻舳撕颓岸朔?wù)器之間的會話。在另一個實施例中,所述檢測包括下述之一:從下游網(wǎng)絡(luò)單元接收消息或檢測超時響應(yīng)定時器。在另一個實施例中,所述確定基于數(shù)據(jù)流量。在另一個實施例中,該系統(tǒng)包括前端服務(wù)器的控制模塊,用于檢測下游網(wǎng)絡(luò)單元中的錯誤或其不可用性并且發(fā)送響應(yīng)碼至客戶端以觸發(fā)客戶端將服務(wù)重定向至替代前端服務(wù)器或在替代前端服務(wù)器上進(jìn)行恢復(fù)。在另一個實施例中·,前端服務(wù)器是web服務(wù)器。在另一個實施例中,下游網(wǎng)絡(luò)單元是數(shù)據(jù)庫服務(wù)器。在另一個實施例中,前端服務(wù)器通過從下游網(wǎng)絡(luò)單元接收消息或檢測超時響應(yīng)定時器來檢測錯誤。在另一個方面中,客戶端、前端服務(wù)器、下游網(wǎng)絡(luò)單元、替代前端服務(wù)器和替代下游網(wǎng)絡(luò)單元是IMS單元。在另一個實施例中,系統(tǒng)包括前端服務(wù)器的控制模塊,其檢測下游網(wǎng)絡(luò)單元中的錯誤或其不可用性;確定應(yīng)當(dāng)執(zhí)行單元恢復(fù)還是群集恢復(fù);如果確定了單元恢復(fù),則由前端服務(wù)器切換至與故障的下游網(wǎng)絡(luò)單元對應(yīng)的替代下游網(wǎng)絡(luò)單元;并且如果確定了群集恢復(fù),則由前端服務(wù)器發(fā)送響應(yīng)碼至客戶端以觸發(fā)客戶端將服務(wù)重定向至替代前端服務(wù)器或在替代前端服務(wù)器上進(jìn)行恢復(fù)。在另一個實施例中,前端服務(wù)器是web服務(wù)器。在另一個實施例中,下游網(wǎng)絡(luò)單元是數(shù)據(jù)庫服務(wù)器。在另一個實施例中,前端服務(wù)器通過從下游網(wǎng)絡(luò)單元接收消息或檢測超時響應(yīng)定時器來檢測錯誤。在另一個實施例中,前端服務(wù)器檢測基于數(shù)據(jù)流量。在另一個實施例中,客戶端、前端服務(wù)器、下游網(wǎng)絡(luò)單元、替代前端服務(wù)器和替代下游網(wǎng)絡(luò)單元是MS單元。從以下提供的詳細(xì)描述中本發(fā)明的適用性的進(jìn)一步范圍將變得明顯。然而,應(yīng)當(dāng)理解的是,詳細(xì)的描述和具體的示例,雖然指示本發(fā)明的優(yōu)選實施例,但是僅通過說明的方式給出,這是因為在本發(fā)明的精神和范圍內(nèi)的各種改變和修改對于本領(lǐng)域的技術(shù)人員將變得顯而易見。
現(xiàn)在僅通過示例的方式,并且參考附圖,描述根據(jù)本發(fā)明的實施例的裝置和/或方法的一些實施例,其中:圖1是當(dāng)前所描述的實施例可以被并入其中的示例系統(tǒng)的框圖。圖2是圖示圖1的系統(tǒng)的示例操作的框圖。圖3是圖示圖1的系統(tǒng)的示例操作的框圖。圖4是圖示根據(jù)當(dāng)前所描述的實施例的示例方法的流程圖。圖5是圖示根據(jù)當(dāng)前所描述的實施例的示例方法的流程圖。
具體實施例方式根據(jù)當(dāng)前所描述的實施例,在網(wǎng)絡(luò)中的下游單元的故障或不可用發(fā)生的情況下,前端服務(wù)器(例如,web服務(wù)器)觸發(fā)客戶端來嘗試自動恢復(fù)或重定向到運轉(zhuǎn)的系統(tǒng)/站點(例如,冗余或替代路徑或群集(cluster))而不是簡單地將靜態(tài)錯誤說明或其他終端響應(yīng)返回至客戶端。一個目的是當(dāng)故障的或不可用的服務(wù)器被修復(fù)或恢復(fù)時,將服務(wù)自動恢復(fù)或重定向至可用系統(tǒng)/站點以避免較長的服務(wù)中斷。
·
在這點上,根據(jù)當(dāng)前所描述的實施例,前端服務(wù)器智能地代理(proxy)由后端服務(wù)器(即,通常不直接與客戶端交互的下游服務(wù)器)返回的錯誤消息,并且模擬或模仿環(huán)境以將服務(wù)重定向以遠(yuǎn)離前端(例如,服務(wù)器故障或過載狀況)。在至少一種形式中,前端服務(wù)器還包括智能或邏輯以確定對客戶端進(jìn)行重定向以將服務(wù)恢復(fù)至替代(地理上冗余的(georedundant))系統(tǒng)或站點將確保對于客戶端有更好的服務(wù)可用性/可靠性/體驗質(zhì)量中的至少一個。一般來講,應(yīng)用協(xié)議通常支持不同類型的響應(yīng)碼,這些響應(yīng)碼中的一些本質(zhì)上是終極的或描述性的(例如,未找到網(wǎng)頁,用戶未授權(quán)、網(wǎng)關(guān)故障),并且響應(yīng)碼中的一些可以觸發(fā)客戶端對相同或不同的服務(wù)器采取一些恢復(fù)動作(例如,臨時移動、服務(wù)不可用、太忙、重試等等)。根據(jù)當(dāng)前所描述的實施例,前端服務(wù)器將潛在可恢復(fù)的錯誤或困難從后端系統(tǒng)映射至消息中,該消息諸如返回至客戶端的響應(yīng)碼。這些映射的響應(yīng)碼觸發(fā)客戶端來重試它們對替代系統(tǒng)/站點的請求。因此,根據(jù)當(dāng)前所描述的實施例,與使web服務(wù)器前端將數(shù)據(jù)庫服務(wù)器故障或不可用的狀況映射至例如用于客戶端的錯誤網(wǎng)頁中以進(jìn)行顯示不同,前端web服務(wù)器模擬下述環(huán)境(例如,故障),該環(huán)境使得客戶端將服務(wù)恢復(fù)或重定向至完全運轉(zhuǎn)的系統(tǒng)/站點。應(yīng)當(dāng)意識到,以上引用的響應(yīng)碼的類型,如用于實施當(dāng)前所描述的實施例的碼或消息的示例,可以根據(jù)應(yīng)用而改變。例如,當(dāng)前端服務(wù)器檢測到下游的故障時,諸如503服務(wù)不可用碼這樣的指示深遠(yuǎn)(profound)問題的碼可以通過前端服務(wù)器被賦予新的用途,并且通過前端服務(wù)器被傳送至客戶端以模擬它自身的故障從而觸發(fā)切換。類似地,當(dāng)檢測到下游過載狀況(或其他將使下游單元不可用的狀況)時,前端服務(wù)器可以將諸如302臨時移動碼這樣的重定向響應(yīng)發(fā)送至客戶端以觸發(fā)至替代群集的重定向。在另外的示例中,在包括故障或不可用的其他狀況的所有不可用的環(huán)境中,前端服務(wù)器可以發(fā)送諸如302臨時移動碼這樣的重定向響應(yīng)。這種情景將否定對于使用指示深遠(yuǎn)問題的碼(諸如以上提到的503服務(wù)不可用碼)來實施當(dāng)前所描述的實施例的需要。在另外的示例中,在包括故障或不可用的其它狀況的所有不可用的環(huán)境中,指示諸如503服務(wù)不可用碼的深遠(yuǎn)問題的碼可以通過前端服務(wù)器被賦予新的用途,并且通過前端服務(wù)器發(fā)送至客戶端以模擬其自身的故障從而觸發(fā)切換?,F(xiàn)在參考附圖,其中所示僅是出于說明示例性實施例的目的而不是出于限制所要求保護(hù)的主題的目的,圖1提供了當(dāng)前所描述的實施例可以被并入其中的系統(tǒng)100的視圖。如所圖示的,系統(tǒng)100包括與提供服務(wù)“B”的功能實體通信或進(jìn)行會話的網(wǎng)絡(luò)單元或客戶端A(102)。這個功能實體包括網(wǎng)絡(luò)單元或服務(wù)器BI (104)以及網(wǎng)絡(luò)單元或服務(wù)器B2 (108)。所標(biāo)注的提供服務(wù)B的功能實體與提供服務(wù)“C”的功能實體進(jìn)行通信。這個功能實體包括網(wǎng)絡(luò)單元或服務(wù)器Cl (106)和網(wǎng)絡(luò)單元或服務(wù)器C2 (110)。如所示出的,這些單元Cl和C2是相對于單元BI和B2的下游。此外,每個網(wǎng)絡(luò)單元被示出為包括控制模塊,例如,控制模塊103、105、107、109和111。該控制模塊被理解為向網(wǎng)絡(luò)單元提供功能性,并且在一些實施例中,容納和/或執(zhí)行合適的例程以實現(xiàn)當(dāng)前所描述的實施例的功能性。例如,前端服務(wù)器BI (104)包括控制模塊105,控制模塊105在至少一種形式中是可操作為執(zhí)行與根據(jù)當(dāng)前所描述的實施例的方法(包括以下結(jié)合圖2-圖5所描述的方法)相對應(yīng)的例程。在所示的配置中,應(yīng)當(dāng)意識到,網(wǎng)絡(luò)單元B2和C2分別用作對網(wǎng)絡(luò)單元BI和Cl的替代冗余單元(也被稱為替代單元或冗余單元)。在這一點,應(yīng)當(dāng)意識到這種替代服務(wù)器或冗余服務(wù)器或替代冗余服務(wù)器不必準(zhǔn)確地復(fù)制其所對應(yīng)的主服務(wù)器。雖然為了便于參考,本文僅示出了一個(例如,·對于BI和Cl)對應(yīng)的替代冗余單元,但應(yīng)當(dāng)理解的是網(wǎng)絡(luò)單元可以具有多于一個的對應(yīng)替代冗余單元。如所示出的,單元BI和Cl形成地理上靠近的單元的群集,并且單元B2和C2形成地理上靠近的單元的群集。在至少一個示例形式中,網(wǎng)絡(luò)單元B I和B2用作諸如web服務(wù)器的前端服務(wù)器,而網(wǎng)絡(luò)單元Cl和C2用作諸如數(shù)據(jù)庫服務(wù)器的后端服務(wù)器。應(yīng)當(dāng)意識到,雖然(為了便于參考)示出了單個前端服務(wù)器(BI或B2),但是在解決方案中不必只有單個前端服務(wù)器??缯追?wù)器可以實施復(fù)雜的服務(wù)(例如,IP電視機(jī)首端),其可以在邏輯上被組織為更廣泛的解決方案中的較小系統(tǒng)群集。每個這種較小的群集可以具有用作前端服務(wù)器的系統(tǒng)。這包括在具有不同前端服務(wù)器的較大群集內(nèi)部包含具有前端服務(wù)器的較小群集的遞歸情況。當(dāng)然,也可以使用其它類型的網(wǎng)絡(luò)單元,包括IP多媒體子系統(tǒng)(IMS)單元。同樣,應(yīng)當(dāng)意識到,可以使用各種信令協(xié)議,包括會話發(fā)起協(xié)議(SIP)。更近一步地,應(yīng)當(dāng)意識到,網(wǎng)絡(luò)單元可以出于一個目的而用作客戶端,但是出于另一目的而用作服務(wù)器。因此,所示出的配置應(yīng)當(dāng)被理解為僅是示例。同樣,沿著這些相同的思路,圖1包括冗余單元Cl和C2,但是應(yīng)當(dāng)理解的是,冗余單元Dl和D2、El和E2等(未示出)也可能在系統(tǒng)中。在至少一種形式中,假設(shè)所有主要單元(B1、C1等)位于一個站點處的第一群集(群集I)中,并且在至少一種形式中,假設(shè)所有冗余單元(B2、C2等)位于第二站點上的第二群集(群集2)中。通常僅存在一個從與客戶端直接交互的群集的“邊緣”單元的故障恢復(fù)的選項(例如,如果“BI”故障,則客戶端必須恢復(fù)至“B2”)。然而,根據(jù)當(dāng)前所描述的實施例,對于在邊緣中的單元的故障存在兩個恢復(fù)選項。在這一點上,可以潛在地將單元的群集組織到恢復(fù)組中以允許更快或更好的恢復(fù)。參考圖2,圖示了使用用于系統(tǒng)的單元恢復(fù)的技術(shù)。在這一點上,非邊緣單元Cl的故障可以通過單元BI切換至單元C2來恢復(fù)。理想地,單元BI檢測故障足夠快并且用單元C2恢復(fù)充足的會話上下文,從而該恢復(fù)對于客戶端A透明。如可以理解的,單元Al仍與單元BI在路徑150上通信,而單元BI與單元C2在路徑152上通信。參考圖3,圖示了使用用于系統(tǒng)的群集恢復(fù)的技術(shù)。在這一點上,非邊緣單元Cl的故障或不可用可以通過將客戶端A從群集I切換或重定向至群集2來恢復(fù)或解決。在這種情況下,客戶端A顯式地參與到將服務(wù)重建至單元B2中。單元Cl的故障或不可用經(jīng)由深遠(yuǎn)響應(yīng)碼被顯式地傳遞到客戶端A(例如,503服務(wù)不可用或諸如302臨時移動的重定向響應(yīng)),該響應(yīng)碼是響應(yīng)于單元Cl的故障或不可用而由單元BI返回至客戶端A的,并且預(yù)期客戶端A發(fā)起針對替代群集的恢復(fù)。在這種情況下,在恢復(fù)之后,客戶端A與單元B2在路徑160上通信,并且單元B2與單元C2在路徑162上通信。注意,在群集恢復(fù)中,邊緣和/或其他單元將故障或不可用響應(yīng)顯式地代理回客戶端(例如,客戶端A)而不是它自身嘗試恢復(fù)。該客戶端然后重定向或切換至替代群集。此外,隱式故障(例如,暫停過期、心跳損失)同樣地被轉(zhuǎn)譯為適當(dāng)?shù)娘@式故障,其被代理回客戶端從而客戶端可以重定向或切換服務(wù)。注意在單元和群集恢復(fù)之間的不同可以對解決方案中的各種單元呈現(xiàn)不同。例如,當(dāng)單元BI執(zhí)行圖2中的從Cl到C2的單元恢復(fù)時,客戶端A應(yīng)當(dāng)不知道采取的任何恢復(fù)動作。同樣地,圖3中的從站點I到站點2的群集恢復(fù)可以向客戶端A僅呈現(xiàn)為在BI的明顯故障之后針對B2的單元恢復(fù)。應(yīng)當(dāng)意識到,當(dāng)前·所描述的實施例可以以各種方式被實施。例如,當(dāng)前所描述的實施例的方法可以包括前端服務(wù)器針對錯誤或它所接收的其它響應(yīng)執(zhí)行群集恢復(fù)技術(shù)的功能。在另外的實施例中,前端服務(wù)器也可以執(zhí)行邏輯或具有智能以做出關(guān)于特定錯誤或響應(yīng)檢測是應(yīng)當(dāng)實施單元恢復(fù)還是群集恢復(fù)的確定。在任一種情況中,應(yīng)當(dāng)意識到的是,根據(jù)當(dāng)前所描述的實施例的方法可以在系統(tǒng)中以各種方式實現(xiàn)。在這一點上,可以使用各種軟件例程或硬件配置。例如,執(zhí)行本申請的方法的軟件例程可以被容納在前端服務(wù)器的控制模塊上或由前端服務(wù)器的控制模塊執(zhí)行,該前端服務(wù)器的控制模塊諸如前端服務(wù)器BI (104)的控制模塊105。當(dāng)然,這種例程也可以分布在合適的網(wǎng)絡(luò)單元的網(wǎng)絡(luò)中,其中一些未在圖1中示出。因此,現(xiàn)在參考圖4,示出了根據(jù)當(dāng)前所描述的實施例的方法200。方法200包括從下游網(wǎng)絡(luò)單元檢測錯誤或不可用(在202處)。這種檢測可以以各種傳統(tǒng)方式完成。例如,可以在接收到顯式消息或隱式指示(例如,響應(yīng)定時器的超時)時檢測錯誤或不可用。一旦檢測到,前端服務(wù)器執(zhí)行群集恢復(fù)技術(shù)。這就是說,前端服務(wù)器發(fā)送故障或重定向消息至客戶端以觸發(fā)客戶端來切換至系統(tǒng)中的替代、冗余前端服務(wù)器(在204處)。故障或重定向消息可以采用各種形式(例如,503服務(wù)不可用或諸如302臨時移動的重定向響應(yīng))。在這種方式下,前端服務(wù)器模擬故障或不可用的狀況,從而使得客戶端完全切換或重定向服務(wù)至冗余路徑(例如,切換至替代冗余前端服務(wù)器,因此切換至替代群集)。同樣,暫停在客戶端和最初的前端服務(wù)器之間的會話(在206處)以有利于客戶端重定向服務(wù)至替代服務(wù)器。在一些實施例中,在過載的短時間內(nèi),過載服務(wù)器可以簡單地將一些服務(wù)請求重定向至替代服務(wù)器。因此,主服務(wù)器繼續(xù)運送大量客戶端的流量,但是通過其他服務(wù)器覆蓋一些事務(wù)以確??山邮艿姆?wù)質(zhì)量(而不是在過載的短時間內(nèi)傳送降級的服務(wù))。如以上提出的,前端服務(wù)器也可以包括邏輯或智能以確定使用群集恢復(fù)或單元恢復(fù)的適當(dāng)性。在這一點上,參考圖5,圖示了方法300。當(dāng)在下游網(wǎng)絡(luò)單元中檢測到錯誤或不可用時開始方法300 (在402處)??梢砸愿鞣N傳統(tǒng)方式完成這種錯誤檢測。例如,當(dāng)接收到顯式消息或隱式指示(例如,響應(yīng)定時器的超時)時,可以檢測到錯誤或不可用。在這一點,前端服務(wù)器確定恢復(fù)策略(在304處)。當(dāng)然,在至少一種形式中,前端服務(wù)器確定是執(zhí)行單元恢復(fù)過程還是群集恢復(fù)過程??梢砸愿鞣N方式完成這種確定。例如,前端服務(wù)器可以考慮與故障的或者不可用的服務(wù)器交換的數(shù)據(jù)量(或數(shù)據(jù)流量)。如果數(shù)據(jù)交換速率(或數(shù)據(jù)流量)相對低,則基于可以自適應(yīng)地或周期地設(shè)置的閾值,或者基于子例程的運行,前端服務(wù)器可以確定單元恢復(fù)對于系統(tǒng)更好。在其他環(huán)境中,基于類似的標(biāo)準(zhǔn),前端服務(wù)器可以確定將進(jìn)行群集恢復(fù)。如果確定了單元恢復(fù)過程,則前端服務(wù)器簡單地切換以與對應(yīng)于故障的網(wǎng)絡(luò)單元的替代冗余網(wǎng)絡(luò)單元通信(在306處)。前端服務(wù)器繼續(xù)與客戶端的會話(在308處)。然而,如果在304處前端服務(wù)器確定將執(zhí)行群集恢復(fù),則前端服務(wù)器發(fā)送故障或重定向消息至客戶端(在310處)。故障或重定向消息可以采用各種形式(例如,503服務(wù)不可用或諸如302臨時移動的重定向響應(yīng))。當(dāng)然,如以上提到的,故障或重定向消息將觸發(fā)客戶端以重定向至冗余、替代服務(wù)器路徑或群集。在客戶端和前端服務(wù)器之間的會話被暫停(在312處)。如以上所述,在一些變形中,在過載的短時期期間,過載服務(wù)器可以簡單地重定向一些服務(wù)請求至替代服務(wù)器。因此,主服務(wù)器繼續(xù)運送大量客戶端流量,但是由其它服務(wù)器覆蓋一些事務(wù)以確??山邮艿姆?wù)質(zhì)量(而不是在過載的短時期期間傳送降級的服務(wù))。在當(dāng)前所描述的·實施例的其它變形中,具有多于兩個單元(例如,D1/D2、E1/E2等)的解決方案部署混合恢復(fù)策略,在該策略中通過單元恢復(fù)減輕一些單元故障并且通過群集恢復(fù)減輕一些。這種情景可以利用與圖5中示出的相似的方法。此外,恢復(fù)群集可以比在站點的所有解決單元的套件小,因此在站點I上的一個單元的故障可以使得一些服務(wù)被恢復(fù)至站點2上的單元的小的恢復(fù)群集上,而在站點I上的其他單元繼續(xù)傳送服務(wù)??梢杂镁唧w示例說明當(dāng)前所描述的實施例。在這一點上,群集恢復(fù)的優(yōu)先權(quán)之一是配置每個單元以首先發(fā)送它的服務(wù)請求至本地服務(wù)器,并且如果本地服務(wù)器沒有一個可用則發(fā)送至遠(yuǎn)程服務(wù)器。一種完成這個的方式是用DNS SRV記錄,其允許將優(yōu)先權(quán)分配至完全合格的域名(FQDN)池中的每個服務(wù)器。使用這種配置,當(dāng)單元故障并且服務(wù)被切換至遠(yuǎn)程站點時,該單元將發(fā)送它自身的請求至遠(yuǎn)程站點處的其他單元。當(dāng)在單元之間的最大通信發(fā)生在相同的站點內(nèi)時,并不增加如用于簡單單元切換那么多的延遲。在以上的示例中,用于C1/C2服務(wù)器的FQDN可以這樣被實施。通常,如果客戶端沒有能夠切換至服務(wù)器B2,則服務(wù)器B2將自動使用本地服務(wù)器C2。然而,如果客戶端使用服務(wù)器BI并且服務(wù)器Cl發(fā)生故障或變得不可用,則服務(wù)器BI將開始發(fā)送它的請求至服務(wù)器C2。由于這個流量將在地理上遠(yuǎn)離的站點之間流動,因此將使用附加帶寬并且這些請求的延遲將增加。為了根據(jù)當(dāng)前所描述的實施例進(jìn)行群集故障切換,服務(wù)器BI必須具有專用軟件邏輯,例如(如本文描述的)以不同地處理C服務(wù)器故障。在檢測到服務(wù)器Cl的故障之后,服務(wù)器BI需要顯式地返回響應(yīng)碼至所定義的客戶端以觸發(fā)它來啟動恢復(fù)或重定向至替代服務(wù)器。例如,如果在客戶端和BI之間的協(xié)議是SIP,則BI服務(wù)器將返回“503服務(wù)不可用”或“302臨時移動”響應(yīng)以觸發(fā)客戶端來故障切換至遠(yuǎn)程站點。
本領(lǐng)域的技術(shù)人員將容易地認(rèn)識到以上所描述的各方法的步驟可以通過編程的計算機(jī)(例如,控制模塊103、105、107、109或111)執(zhí)行。本文中,一些實施例也旨在包括程序存儲設(shè)備,例如,數(shù)字?jǐn)?shù)據(jù)存儲介質(zhì),其可以是機(jī)器或計算機(jī)可讀的并且編碼機(jī)器可執(zhí)行或計算機(jī)可執(zhí)行的指令程序,其中所述指令執(zhí)行以上所描述的方法的步驟的全部或一些。程序存儲設(shè)備可以是例如,數(shù)字存儲器、諸如磁盤和磁帶的磁存儲介質(zhì)、硬盤驅(qū)動、或光學(xué)可讀數(shù)字?jǐn)?shù)據(jù)存儲介質(zhì)。實施例也旨在包括被編程以執(zhí)行以上所描述的方法的所述步驟的計算機(jī)。此外,在圖中示出的各種單元的功能,包括被標(biāo)記為網(wǎng)絡(luò)單元、客戶端或服務(wù)器的任一功能塊可以通過使用專用的·硬件以及能夠執(zhí)行軟件和與適當(dāng)?shù)能浖嚓P(guān)聯(lián)的硬件來提供。當(dāng)通過處理器提供時,可以通過單個專用處理器、通過單個共享處理器、或通過多個獨立的處理器來提供這些功能,多個獨立的處理器中的一些可以共享。此外,術(shù)語“處理器”或“控制器”或“控制器模塊”的明確使用不應(yīng)當(dāng)被解釋為排他地指能夠執(zhí)行軟件的硬件,并且可以隱含地而非限制性地包括數(shù)字信號處理器(DSP)硬件、網(wǎng)絡(luò)處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、用于存儲軟件的只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)以及非易失性存儲器。其他硬件、傳統(tǒng)和/或定制的硬件也可以被包括。類似地,在圖中示出的任何切換僅是概念上的??梢酝ㄟ^程序邏輯的操作、通過專用邏輯、通過程序控制和專用邏輯的交互、或甚至手動地執(zhí)行它們的功能,根據(jù)從上下文中更具體的理解,實施者可選擇具體技術(shù)。以上描述僅提供本發(fā)明的具體實施例的公開內(nèi)容并且不旨在于限制本發(fā)明的目的。因此,本發(fā)明不被限制于僅以上所描述的實施例。而是,應(yīng)當(dāng)認(rèn)識到,本領(lǐng)域的技術(shù)人員可以設(shè)想在本發(fā)明的范圍內(nèi)的可替代的實施例。
權(quán)利要求
1.一種在網(wǎng)絡(luò)中用于網(wǎng)絡(luò)單元服務(wù)恢復(fù)的方法,所述網(wǎng)絡(luò)包括可操作地與連接至下游網(wǎng)絡(luò)單元的前端服務(wù)器進(jìn)行會話的客戶端,以及至少一個連接至替代下游網(wǎng)絡(luò)單元的替代前端服務(wù)器,所述方法包括: 由前端服務(wù)器檢測下游網(wǎng)絡(luò)單元中的錯誤或其不可用性;以及 發(fā)送響應(yīng)碼至所述客戶端以觸發(fā)所述客戶端將服務(wù)重定向至替代前端服務(wù)器或在所述替代前端服務(wù)器上進(jìn)行恢復(fù)。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括暫停在所述客戶端和所述前端服務(wù)器之間的會話。
3.根據(jù)權(quán)利要求1所述的方法,其中所述檢測包括下述之一:從所述下游網(wǎng)絡(luò)單元接收消息或檢測超時的響應(yīng)定時器。
4.一種在網(wǎng)絡(luò)中用于網(wǎng)絡(luò)單元服務(wù)恢復(fù)的方法,所述網(wǎng)絡(luò)包括可操作地與連接至下游網(wǎng)絡(luò)單元的前端服務(wù)器進(jìn)行會話的客戶端,以及至少一個連接至替代下游網(wǎng)絡(luò)單元的替代前端服務(wù)器,所述方法包括: 由所述前端服務(wù)器檢測下游網(wǎng)絡(luò)單元中的錯誤或其不可用性; 確定應(yīng)當(dāng)執(zhí)行單元恢復(fù)還是群集恢復(fù); 如果確定了單元恢復(fù),則由所述前端服務(wù)器切換至與故障的或不可用的下游網(wǎng)絡(luò)單元對應(yīng)的替代下游網(wǎng)絡(luò)單元;以及 如果確定了群集恢復(fù),則由所述前端服務(wù)器將響應(yīng)碼發(fā)送至所述客戶端以觸發(fā)所述客戶端將服務(wù)重定向至替代前端服務(wù)器或在所述替代前端服務(wù)器上進(jìn)行恢復(fù)。
5.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括暫停在所述客戶端和所述前端服務(wù)器之間的會話。
6.根據(jù)權(quán)利要求4所述的方法,其中所述檢測包括下述之一:從所述下游網(wǎng)絡(luò)單元接收消息或檢測超時的響應(yīng)定時器。
7.—種在網(wǎng)絡(luò)中用于網(wǎng)絡(luò)單元服務(wù)恢復(fù)的系統(tǒng),所述網(wǎng)絡(luò)包括可操作地與連接至下游網(wǎng)絡(luò)單元的前端服務(wù)器進(jìn)行會話的客戶端,以及至少一個連接至替代下游網(wǎng)絡(luò)單元的替代前端服務(wù)器,所述系統(tǒng)包括: 前端服務(wù)器的控制模塊,所述前端服務(wù)器的控制模塊檢測下游網(wǎng)絡(luò)單元中的錯誤或其不可用性并且將響應(yīng)碼發(fā)送至所述客戶端以觸發(fā)所述客戶端將服務(wù)重定向至替代前端服務(wù)器或在所述替代前端服務(wù)器上進(jìn)行恢復(fù)。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述前端服務(wù)器通過從所述下游網(wǎng)絡(luò)單元接收消息或檢測超時的響應(yīng)定時器來檢測所述錯誤或所述不可用性。
9.一種在網(wǎng)絡(luò)中用于網(wǎng)絡(luò)單元服務(wù)恢復(fù)的系統(tǒng),所述網(wǎng)絡(luò)包括可操作地與連接至下游網(wǎng)絡(luò)單元的前端服務(wù)器進(jìn)行會話的客戶端,以及至少一個連接至替代下游網(wǎng)絡(luò)單元的替代前端服務(wù)器,所述系統(tǒng)包括: 所述前端服務(wù)器的控制模塊,檢測下游網(wǎng)絡(luò)單元中的錯誤或其不可用性,確定應(yīng)當(dāng)執(zhí)行單元恢復(fù)還是群集恢復(fù),如果確定了單元恢復(fù),則由所述前端服務(wù)器切換至與故障的或不可用的下游網(wǎng)絡(luò)單元對應(yīng)的替代下游網(wǎng)絡(luò)單元,并且如果確定了群集恢復(fù),則由所述前端服務(wù)器將響應(yīng)碼發(fā) 送至所述客戶端以觸發(fā)所述客戶端將服務(wù)重定向至替代前端服務(wù)器或在所述替代前端服務(wù)器上進(jìn)行恢復(fù)。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述前端服務(wù)器通過從所述下游網(wǎng)絡(luò)單元接收消息或檢測超時的響應(yīng)定時器來檢測所述錯誤 或所述不可用性。
全文摘要
提供了一種用于網(wǎng)絡(luò)單元恢復(fù)的方法和系統(tǒng)。在一種形式中,前端服務(wù)器智能地代理由后端服務(wù)器返回的錯誤或不可用消息,并且模擬前端服務(wù)器故障。在至少一種形式中,前端服務(wù)器也包括智能或邏輯以確定對客戶端進(jìn)行定向從而將服務(wù)恢復(fù)至替代系統(tǒng)或站點將會確保對于客戶端更好的服務(wù)可用性、可靠性和/或體驗質(zhì)量。
文檔編號H04L29/06GK103222253SQ201180055354
公開日2013年7月24日 申請日期2011年11月9日 優(yōu)先權(quán)日2010年11月17日
發(fā)明者E·鮑爾, D·W·尤斯塔斯, R·S·亞當(dāng)斯 申請人:阿爾卡特朗訊