專利名稱:代理響應(yīng)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在其中有可能實(shí)現(xiàn)經(jīng)濟(jì)可擴(kuò)展性和系統(tǒng)可用性的客戶機(jī)/服務(wù)器類型系統(tǒng)。
背景技術(shù):
在客戶機(jī)/服務(wù)器類型系統(tǒng)中,客戶機(jī)向服務(wù)器發(fā)送消息,服務(wù)器以處理結(jié)果作為消息對客戶機(jī)進(jìn)行響應(yīng),隨著計(jì)算機(jī)和網(wǎng)絡(luò)的發(fā)展,客戶機(jī)/服務(wù)器類型系統(tǒng)的應(yīng)用范圍日益擴(kuò)展,提高系統(tǒng)的可用性變得越發(fā)重要。同時,還可認(rèn)為,經(jīng)濟(jì)可擴(kuò)展性可根據(jù)來自客戶機(jī)請求量增大或減小服務(wù)器處理能力,使系統(tǒng)成本最小化。
在提高客戶機(jī)/服務(wù)器類型系統(tǒng)可用性的方法中,例如,所知的主/從方法。根據(jù)主/從方法,例如通過如IP網(wǎng)絡(luò)的通信網(wǎng)絡(luò)將客戶機(jī)連接到多臺服務(wù)器(例如,a和b)。每臺服務(wù)器a和b共享為響應(yīng)來自客戶機(jī)請求所需的信息,并具有用于檢測在相互之間出現(xiàn)失效的同步部分。
根據(jù)這種方法,提供了對來自客戶機(jī)的請求進(jìn)行響應(yīng)的服務(wù)器a和作為備份的服務(wù)器b;一旦服務(wù)器a失效,服務(wù)器b檢測出失效并代替服務(wù)器a對客戶機(jī)進(jìn)行響應(yīng)??蛻魴C(jī)與服務(wù)器a和b保持其各自消息,直到發(fā)送目的地確實(shí)接收消息。盡管如此,根據(jù)該方法,只要兩臺服務(wù)器a和b不同時失效,服務(wù)器a和b的其中一臺可響應(yīng)來自客戶機(jī)的請求。
盡管通過適當(dāng)?shù)募夹g(shù)可減少備份服務(wù)器的數(shù)量,鑒于根據(jù)上述方法總是需要將服務(wù)器b作為服務(wù)器a的備份,從而不能將該方法稱之為具有經(jīng)濟(jì)可擴(kuò)展性。
用于提高可用性的另一種方法為簇(cluster)方法??墒褂么胤椒ǖ南到y(tǒng)包括,例如,客戶機(jī),服務(wù)器a和b以及負(fù)載分布設(shè)備a和b,所有這些設(shè)備通過IP網(wǎng)絡(luò)互連。根據(jù)該方法的服務(wù)器a和b不具有同步部分。每個負(fù)載分布設(shè)備a和b具有,檢測彼此中出現(xiàn)的失效,且一旦出現(xiàn)失效以取代另一者而繼續(xù)進(jìn)行處理的功能,檢測服務(wù)器a和b中出現(xiàn)失效的功能,將來自客戶機(jī)的消息傳遞到其中一臺不存在任何失效的服務(wù)器的功能,和將來自其中一臺服務(wù)器的消息傳遞到客戶機(jī)的功能。根據(jù)上述方法,如果在服務(wù)器a中出現(xiàn)失效,則負(fù)載分布設(shè)備a或b將來自客戶機(jī)的消息傳遞到不存在失效的服務(wù)器b。此外,客戶機(jī)和服務(wù)器a和b保持消息,直到發(fā)送目的地確實(shí)收到消息,且一旦在接收失敗時,重新發(fā)送其各自的消息。盡管根據(jù)該示例在此僅提到兩臺服務(wù)器,服務(wù)器a和b,還可能存在三臺或多臺服務(wù)器。從而,根據(jù)該方法,只要服務(wù)器a和b不同時失效,服務(wù)器a和b的其中一臺可對來自客戶機(jī)的請求進(jìn)行響應(yīng)。
通過增加或減少服務(wù)器的數(shù)量,上述方法可增大或減小系統(tǒng)的處理能力,并因此具有經(jīng)濟(jì)可擴(kuò)展性。
簇方法具有經(jīng)濟(jì)可擴(kuò)展性,并具有足夠的可用性,即使當(dāng)服務(wù)器出現(xiàn)失效時也可對出現(xiàn)失效后的來自客戶機(jī)的請求作出響應(yīng)。
然而,上述方法缺乏的可用性在于,不能對服務(wù)器失效前未由該服務(wù)器完成接收的來自客戶機(jī)的請求作出響應(yīng),這是由于因服務(wù)器失效使該請求消息丟失。
發(fā)明內(nèi)容
本發(fā)明涉及一種對簇方法的系統(tǒng)提供可用性的代理響應(yīng)設(shè)備。
根據(jù)本發(fā)明實(shí)施例的代理響應(yīng)設(shè)備具有用于存儲由代理響應(yīng)設(shè)備所監(jiān)視的對于出現(xiàn)失效的監(jiān)視目標(biāo)服務(wù)器的地址和能夠代替監(jiān)視目標(biāo)服務(wù)器進(jìn)行響應(yīng)的備份服務(wù)器的地址的,以及用于從通信網(wǎng)絡(luò)獲取由監(jiān)視目標(biāo)服務(wù)器所發(fā)送和接收的消息的模塊;用于檢測在監(jiān)視目標(biāo)服務(wù)器中出現(xiàn)失效的模塊;一旦當(dāng)檢測出其中一臺監(jiān)視目標(biāo)服務(wù)器中出現(xiàn)失效,用于對所獲得的來自客戶機(jī)的請求消息中不能獲得響應(yīng)的消息將發(fā)送源地址改寫為代理響應(yīng)設(shè)備的地址,并將該消息發(fā)送到其中一臺備份服務(wù)器的模塊;和用于對來自備份服務(wù)器的響應(yīng)消息將發(fā)送源地址改寫為監(jiān)視目標(biāo)服務(wù)器的地址,并將消息傳遞給客戶機(jī)的模塊。
從而,當(dāng)服務(wù)器a和b作為監(jiān)視目標(biāo)服務(wù)器并作為互為備份的服務(wù)器時,由于代理響應(yīng)設(shè)備預(yù)先從通信網(wǎng)絡(luò)接收請求消息,一旦服務(wù)器a在接收請求消息后出現(xiàn)失效,會代之以通過代理響應(yīng)設(shè)備將即將丟失的來自客戶機(jī)的消息發(fā)送給備份服務(wù)器b;并通過將來自備份服務(wù)器b的響應(yīng)傳遞到客戶機(jī)可使來自客戶機(jī)的請求獲得響應(yīng)。
結(jié)合以示例形式說明本發(fā)明實(shí)施例多種特性的附圖,通過以下詳細(xì)描述,將理解本發(fā)明的其他特性和優(yōu)點(diǎn)。
圖1顯示使用根據(jù)本發(fā)明實(shí)施例的代理響應(yīng)設(shè)備的一種網(wǎng)絡(luò)系統(tǒng)配置。
圖2顯示代理響應(yīng)設(shè)備的配置示例。
圖3顯示代理響應(yīng)設(shè)備的數(shù)據(jù)包緩沖器的實(shí)施例。
圖4顯示代理響應(yīng)設(shè)備的服務(wù)器管理表103的實(shí)施例。
圖5顯示在客戶機(jī)與服務(wù)器之間發(fā)送和接收的數(shù)據(jù)包格式的示例。
圖6顯示當(dāng)在客戶機(jī)與服務(wù)器之間正常發(fā)送和接收IP數(shù)據(jù)包時的消息流。
圖7顯示由根據(jù)本發(fā)明實(shí)施例的代理響應(yīng)設(shè)備所執(zhí)行的部分處理程序的流程圖。
圖8顯示由根據(jù)本發(fā)明實(shí)施例的代理響應(yīng)設(shè)備所執(zhí)行的部分代理響應(yīng)處理程序的流程圖。
圖9顯示根據(jù)第一失效示例(其中,在客戶機(jī)與服務(wù)器之間出現(xiàn)失效)的消息流。
圖10顯示根據(jù)第二失效示例(其中,在客戶機(jī)與服務(wù)器之間出現(xiàn)失效)的消息流。
圖11顯示在使用了代理響應(yīng)設(shè)備的網(wǎng)絡(luò)系統(tǒng)中從出現(xiàn)失效到恢復(fù)期間的消息流。
具體實(shí)施例方式
以下將參照附圖描述本發(fā)明的實(shí)施例。
圖1顯示使用根據(jù)本發(fā)明實(shí)施例的代理響應(yīng)設(shè)備的總體網(wǎng)絡(luò)系統(tǒng)配置。
客戶終端(以后稱之為“客戶機(jī)”)3經(jīng)由諸如Internet的通信網(wǎng)絡(luò)(以后稱之為“IP網(wǎng)絡(luò)”)6a連接至負(fù)載分布設(shè)備4a和4b。負(fù)載分布設(shè)備4a經(jīng)由IP網(wǎng)絡(luò)6b連接至服務(wù)器設(shè)備(以后稱之為“服務(wù)器”) 2a和2b以及代理響應(yīng)設(shè)備1。負(fù)載分布設(shè)備4b作為負(fù)載分布設(shè)備4a的備份,且一旦在負(fù)載分布設(shè)備4a中出現(xiàn)失效時,代替負(fù)載分布設(shè)備4a繼續(xù)進(jìn)行處理。
在客戶機(jī)3與服務(wù)器2a和2b之間交換的消息使用IP數(shù)據(jù)包進(jìn)行發(fā)送和接收。必要時將消息劃分到多個IP數(shù)據(jù)包中進(jìn)行發(fā)送和接收。從客戶機(jī)3發(fā)送的IP數(shù)據(jù)包通過IP網(wǎng)絡(luò)6a到達(dá)負(fù)載分布設(shè)備4a。負(fù)載分布設(shè)備4a根據(jù)服務(wù)器上的負(fù)載將來自客戶機(jī)3的IP數(shù)據(jù)包分布到服務(wù)器2a或服務(wù)器2b。此外,負(fù)載分布設(shè)備4a具有將形成單個消息的多個IP數(shù)據(jù)包分布到一臺服務(wù)器的功能。服務(wù)器的數(shù)量可為三臺或多臺。
代理響應(yīng)設(shè)備1連接至IP網(wǎng)絡(luò)6b,并可獲得流入IP網(wǎng)絡(luò)6b的全部IP數(shù)據(jù)包。
圖2表示實(shí)現(xiàn)代理響應(yīng)設(shè)備1的消息處理設(shè)備的硬件配置。實(shí)現(xiàn)代理響應(yīng)設(shè)備1的消息處理設(shè)備包括,處理器100,存儲裝置108,用于連接IP網(wǎng)絡(luò)6b的輸入電路接口105和輸出電路接口107,用于臨時存儲由輸入電路接口105所接收的IP數(shù)據(jù)包的接收緩沖器104,用于臨時存儲將由輸出電路接口107發(fā)送的IP數(shù)據(jù)包的發(fā)送緩沖器106,和用于相互連接多個元件的諸如總線的專用通信線。存儲裝置108具有程序存儲器101,數(shù)據(jù)包緩沖器102和服務(wù)器管理表103。程序存儲器101存儲多個由處理器100執(zhí)行而實(shí)現(xiàn)代理響應(yīng)設(shè)備1的控制程序。數(shù)據(jù)包緩沖器102存儲在客戶機(jī)3與服務(wù)器2a和2b之間交換的IP數(shù)據(jù)包。存儲裝置108通過半導(dǎo)體存儲裝置或由外存設(shè)備,如硬盤而形成。
程序可預(yù)先存儲在存儲裝置108中,或通過可拆卸的存儲介質(zhì)或通信介質(zhì)(如承載程序的網(wǎng)絡(luò)或載波,未顯示出)加載到存儲裝置108上。
代理響應(yīng)設(shè)備1具有輸入設(shè)備和顯示設(shè)備,以使系統(tǒng)管理員輸入數(shù)據(jù),但由于在以下描述中并未使用它們,從而在圖2中并未將其顯示。
代理響應(yīng)設(shè)備1具有數(shù)據(jù)包緩沖器102,用于管理在客戶機(jī)3與服務(wù)器2a和2b之間交換的消息,并以一個單元(以后稱之為“會話”)的形式管理由客戶機(jī)3發(fā)送的每個請求消息以及相對應(yīng)的來自服務(wù)器2a或2b的響應(yīng)消息。在數(shù)據(jù)包緩沖器102中將會話注冊為會話管理表項(xiàng)(session management entry)110-1,110-2等。
圖3表示數(shù)據(jù)包緩沖器102的結(jié)構(gòu)示例。
在數(shù)據(jù)包緩沖器102中的每個表項(xiàng)(entry)包括會話標(biāo)識111,客戶機(jī)地址112,服務(wù)器地址113,客戶機(jī)發(fā)送數(shù)據(jù)包緩沖區(qū)114和服務(wù)器發(fā)送數(shù)據(jù)包緩沖區(qū)115。
在會話標(biāo)識111中為表示每個表項(xiàng)提供了唯一的標(biāo)識。在客戶機(jī)地址112中設(shè)置發(fā)送請求的客戶機(jī)3的IP地址。在服務(wù)器地址113中設(shè)置接收請求的服務(wù)器,例如服務(wù)器2a的IP地址。所有由客戶機(jī)3向服務(wù)器2a發(fā)送的IP數(shù)據(jù)包存儲在客戶機(jī)發(fā)送數(shù)據(jù)包緩沖區(qū)114中。所有由服務(wù)器2a向客戶機(jī)3發(fā)送的IP數(shù)據(jù)包存儲在服務(wù)器發(fā)送數(shù)據(jù)包緩沖區(qū)115中。
圖4表示代理響應(yīng)設(shè)備1的服務(wù)器管理表103的結(jié)構(gòu)示例。服務(wù)器管理表103管理由代理響應(yīng)設(shè)備1監(jiān)視的服務(wù)器2a和2b的IP地址,以及一旦在每個表項(xiàng)中主服務(wù)器出現(xiàn)失效時可執(zhí)行處理的備份服務(wù)器的IP地址。在服務(wù)器管理表103中的各表項(xiàng)120-1,120-2包括監(jiān)視目標(biāo)服務(wù)器地址121和備份服務(wù)器地址122。
圖5表示由代理服務(wù)設(shè)備1所處理的IP數(shù)據(jù)包的大致結(jié)構(gòu)。每個IP數(shù)據(jù)包包括發(fā)送源地址150,發(fā)送目的地址151,數(shù)據(jù)包編號152,數(shù)據(jù)包類型153和數(shù)據(jù)包數(shù)據(jù)154。例如,由客戶機(jī)3向服務(wù)器2a發(fā)送的IP數(shù)據(jù)包將在發(fā)送源地址150中設(shè)置客戶機(jī)3的IP地址,并在發(fā)送目的地址151中設(shè)置服務(wù)器2a的IP地址。在數(shù)據(jù)包編號152中,對第一個IP數(shù)據(jù)包指派1,對第二個IP數(shù)據(jù)包指派2,對第三個IP數(shù)據(jù)包指派3,等等,以便設(shè)置表明發(fā)送順序的數(shù)字值。在數(shù)據(jù)包類型153中設(shè)置IP數(shù)據(jù)包的類型。IP數(shù)據(jù)包類型可為連接請求,數(shù)據(jù)發(fā)送,斷開請求,或接收響應(yīng)。所發(fā)送的數(shù)據(jù)內(nèi)容存儲在數(shù)據(jù)包數(shù)據(jù)154中。
圖6表示在會話中消息流的示例,其中客戶機(jī)3向服務(wù)器2a發(fā)送請求消息,服務(wù)器2a以響應(yīng)消息對該消息作出響應(yīng)。每個箭頭表示構(gòu)成消息的一個數(shù)據(jù)包的發(fā)送。
客戶機(jī)3向服務(wù)器2a發(fā)送請求消息之前先向服務(wù)器2a發(fā)送連接請求130a。服務(wù)器2a向客戶機(jī)3發(fā)送接收響應(yīng)131a以表明它接收到連接請求130a。同樣,隨后的接收響應(yīng)133-1a,133-2a,135-1a,135-2a和137a,分別是對處理請求132-1a和132-2a,處理結(jié)果134-1a和134-2a,和斷開請求136a作出的響應(yīng)。在包括各接收響應(yīng)的數(shù)據(jù)包的數(shù)據(jù)包類型153中設(shè)置“接收響應(yīng)(reception response)”,并為了表明接收了哪個數(shù)據(jù)包,在數(shù)據(jù)包編號152中設(shè)置與對數(shù)據(jù)包所指派的編號相一致的編號。
接下來,客戶機(jī)向服務(wù)器2a發(fā)送多于一個數(shù)據(jù)包的請求消息,例如,兩個IP數(shù)據(jù)包(處理請求132-1a和132-2a)。
與請求消息相對應(yīng),服務(wù)器2a向客戶機(jī)3發(fā)送多于一個數(shù)據(jù)包的響應(yīng)消息,例如,兩個IP數(shù)據(jù)包(處理結(jié)果134-1a和134-2a)。盡管將處理請求132-1a和132-2a以及處理結(jié)果134-1a和134-2a稱為“處理請求”以及“處理結(jié)果”以簡化解釋,對這些IP數(shù)據(jù)包的各數(shù)據(jù)包類型153都屬于數(shù)據(jù)傳輸。
接下來,當(dāng)服務(wù)器2a向客戶機(jī)3發(fā)送斷開請求136a時,一個會話正常終止?;蛘?,客戶機(jī)3可能會發(fā)送斷開請求。
有鑒于此,客戶機(jī)3和服務(wù)器2a保持其各自的IP數(shù)據(jù)包,直到接收到對于所發(fā)送的每個IP數(shù)據(jù)包的接收響應(yīng);如果未收到接收響應(yīng),重新發(fā)送相同的IP數(shù)據(jù)包。從而,既使在客戶機(jī)3和服務(wù)器2a之間的IP網(wǎng)絡(luò)6a和6b中或負(fù)載分布設(shè)備4a或4b中出現(xiàn)暫時失效,當(dāng)從失效中恢復(fù)后,仍可正確地發(fā)送和接收數(shù)據(jù)包。
下面,將描述代理響應(yīng)設(shè)備1的操作。如果在服務(wù)器2a中出現(xiàn)失效,并從而正確終止在圖6中所描述的數(shù)據(jù)流,則代理響應(yīng)設(shè)備1代替服務(wù)器2a進(jìn)行響應(yīng)。
圖7表示代理響應(yīng)設(shè)備1的操作示例流程圖;流程圖描述為處理器100的操作。
所有流入與代理響應(yīng)設(shè)備1相連的IP網(wǎng)絡(luò)6b的IP數(shù)據(jù)包都由輸入電路接口105所獲得,并存儲在接收緩沖器104中。
如果在接收緩沖器104中有任何IP數(shù)據(jù)包,則處理器100獲取其中一個IP數(shù)據(jù)包(步驟170),并基于IP數(shù)據(jù)包的發(fā)送源地址150或發(fā)送目的地址151是否與服務(wù)器管理表103中的監(jiān)視目標(biāo)服務(wù)器地址121相匹配,來確定所獲取的IP數(shù)據(jù)包是否與作為監(jiān)視目標(biāo)的服務(wù)器2a有關(guān)。如果在步驟170中從接收緩沖器104未獲得任何IP數(shù)據(jù)包,則處理程序進(jìn)行到步驟175(步驟171)。
如果獲得匹配,處理器100確定IP數(shù)據(jù)包的數(shù)據(jù)包類型153是否為斷開請求(步驟172);如果數(shù)據(jù)包類型153不是斷開請求,則處理器100將IP數(shù)據(jù)包存儲在數(shù)據(jù)包緩沖器102的適用的表項(xiàng)中(步驟173)。適用表項(xiàng)的確定是基于IP數(shù)據(jù)包的一組發(fā)送源地址150和發(fā)送目的地址151與一組客戶機(jī)地址112和服務(wù)器地址113之間的匹配(既使組中的成分順序不同也可將其認(rèn)為匹配)。如果IP數(shù)據(jù)包的發(fā)送目的地為服務(wù)器2a,則將數(shù)據(jù)包存儲在客戶機(jī)發(fā)送數(shù)據(jù)包緩沖區(qū)114中;如果IP數(shù)據(jù)包的發(fā)送源為服務(wù)器2a,則將數(shù)據(jù)包存儲在服務(wù)器發(fā)送數(shù)據(jù)包緩沖區(qū)115中。如果沒有任何適用的表項(xiàng),則創(chuàng)建新的表項(xiàng)。
如果在步驟172中判定數(shù)據(jù)包類型153為斷開請求,則刪除適用的表項(xiàng)(步驟174)。
對于地址出現(xiàn)在服務(wù)器管理表中表項(xiàng)的監(jiān)視目標(biāo)服務(wù)器地址121中的服務(wù)器,處理器100確定在這些服務(wù)器中是否出現(xiàn)失效(步驟175)。如果出現(xiàn)失效,則處理器100執(zhí)行代理響應(yīng)處理(步驟177)??墒褂萌魏我环N適當(dāng)?shù)姆椒▉泶_定在服務(wù)器中是否出現(xiàn)失效。這種方法其中一例是監(jiān)視存儲在數(shù)據(jù)包緩沖器102中的所有會話,如果在相應(yīng)會話中對于一定時間量沒有任何來自服務(wù)器的響應(yīng),則確定在服務(wù)器中出現(xiàn)失效。另一例是執(zhí)行在服務(wù)器上的程序,該程序持續(xù)向代理響應(yīng)設(shè)備1發(fā)送表明在服務(wù)器中不存在失效的消息,如果代理響應(yīng)設(shè)備1不能接收到該消息,則確定在服務(wù)器中存在失效。
當(dāng)在會話中第一次執(zhí)行代理響應(yīng)處理程序時,為了再生成相同的條件,對于接收到的所有IP數(shù)據(jù)包來執(zhí)行處理,直到出現(xiàn)失效。
對每個IP數(shù)據(jù)包都執(zhí)行步驟177,在執(zhí)行步驟177之后,處理器100返回到步驟170。
參看圖8,詳細(xì)描述代理響應(yīng)處理操作(步驟177)的一個實(shí)施例。對每個數(shù)據(jù)包還執(zhí)行在圖8中的處理,在執(zhí)行處理之后,處理程序返回到圖7中的步驟170。
下面將描述兩個失效示例在第一失效示例中,當(dāng)客戶機(jī)3向服務(wù)器2a發(fā)送連接請求130a以及處理請求132-1a和132-2a時,在服務(wù)器2a中出現(xiàn)失效;在第二失效示例中,當(dāng)服務(wù)器2a向客戶機(jī)3發(fā)送處理結(jié)果134-1a和134-2a以及斷開請求136a時,在服務(wù)器2a中出現(xiàn)失效;下面將描述在每種情形中代理響應(yīng)設(shè)備1的操作。這兩個失效示例概括了所有可能的情形。
圖9顯示根據(jù)第一失效示例在客戶機(jī)3,服務(wù)器2a,代理響應(yīng)設(shè)備1和備份服務(wù)器2b之間的消息流。代理響應(yīng)設(shè)備1接收流經(jīng)客戶機(jī)3和服務(wù)器2a之間的所有IP數(shù)據(jù)包。
在第一失效示例的情形中,當(dāng)客戶機(jī)發(fā)送了處理請求132-1a之后在160a處服務(wù)器2a出現(xiàn)失效,且服務(wù)器2a不能進(jìn)行響應(yīng)。
處理器100將在數(shù)據(jù)包緩沖器102中各表項(xiàng)的服務(wù)器地址113與出現(xiàn)失效的服務(wù)器2a的IP地址做比較,并查找必須作出代理響應(yīng)的會話(步驟180);如果有這樣的會話,則處理器100從服務(wù)器管理表103的備份服務(wù)器地址122中獲取服務(wù)器2b的地址(服務(wù)器2b作為服務(wù)器2a的備份),查找相應(yīng)的由代理響應(yīng)設(shè)備1所接收的在客戶機(jī)3和服務(wù)器2a之間傳輸?shù)腎P數(shù)據(jù)包,并連接到備份服務(wù)器2b,如圖9中的連接請求130b和接收響應(yīng)131b所示(步驟181)。
如果在步驟180中確定沒有必須作出代理響應(yīng)的會話,即,如果在失效時對需要代理響應(yīng)的每個會話都作出代理響應(yīng),而服務(wù)器2a還未從失效中恢復(fù),則終止在步驟177中的處理。
如果代理響應(yīng)設(shè)備1已經(jīng)與服務(wù)器2b獲得連接,則不執(zhí)行步驟181。
對于必須作出代理響應(yīng)的會話,處理器100檢查與存儲在客戶機(jī)發(fā)送數(shù)據(jù)包緩沖區(qū)114中所有IP數(shù)據(jù)包相對應(yīng)的接收響應(yīng)IP數(shù)據(jù)包是否存儲在服務(wù)器發(fā)送數(shù)據(jù)包緩沖區(qū)115中(步驟182)。
由于根據(jù)第一失效示例沒有與處理請求132-1a相對應(yīng)的接收響應(yīng),從而產(chǎn)生與處理請求132-1a相對應(yīng)的接收響應(yīng)133-1a,并將其發(fā)送到客戶機(jī)3(步驟183)。
此時,為使得對于客戶機(jī)3認(rèn)為在服務(wù)器2a中不出現(xiàn)失效,將接收響應(yīng)133-1a中的IP數(shù)據(jù)包的發(fā)送源地址151設(shè)置為服務(wù)器2a的IP地址。對于與處理請求132-2a相對應(yīng)的接收響應(yīng)133-2a,代理響應(yīng)設(shè)備1作出相同的處理。
如果在步驟182中,在接收響應(yīng)中沒有發(fā)現(xiàn)IP數(shù)據(jù)包的丟失,則對于該會話處理器100確定處理請求消息的IP數(shù)據(jù)包是否存儲在客戶機(jī)發(fā)送數(shù)據(jù)包緩沖區(qū)114中(步驟184);如果有這樣的IP數(shù)據(jù)包,則處理器100將該IP數(shù)據(jù)包發(fā)送到服務(wù)器2b,并從客戶機(jī)發(fā)送數(shù)據(jù)包緩沖區(qū)114中刪除該IP數(shù)據(jù)包(步驟185)。此時,將IP數(shù)據(jù)包的發(fā)送源地址150和發(fā)送目的地址151分別改寫為代理響應(yīng)設(shè)備1和服務(wù)器2b的IP地址。該處理如圖9消息流中處理請求132-1b和132-2b所示。
由于從代理響應(yīng)設(shè)備1向服務(wù)器2b發(fā)送的請求等效于從客戶機(jī)3發(fā)送的請求,服務(wù)器2b作出的代理響應(yīng)等效于對來自客戶機(jī)3的請求相對應(yīng)的響應(yīng)。該處理如圖9消息流中接收響應(yīng)133-1b和133-2b所示。
如果在步驟184中確定沒有任何處理請求消息的IP數(shù)據(jù)包,則處理器100檢查從備份服務(wù)器2b發(fā)送的IP數(shù)據(jù)包(步驟186);如果備份服務(wù)器2b進(jìn)行響應(yīng)的IP數(shù)據(jù)包為處理結(jié)果134-1b,134-2b的或斷開請求136b的IP數(shù)據(jù)包,則處理器100將向服務(wù)器2b發(fā)送接收響應(yīng)135-1b,135-2b或137b的IP數(shù)據(jù)包。
為確定是否已將處理結(jié)果134-1b,134-2b的IP數(shù)據(jù)包發(fā)送到客戶機(jī)3,處理器100將存儲在服務(wù)器發(fā)送數(shù)據(jù)包緩沖區(qū)115中的所有IP數(shù)據(jù)包的數(shù)據(jù)包編號152與上述IP數(shù)據(jù)包的數(shù)據(jù)包編號152進(jìn)行比較(步驟188);如果它們不匹配,則處理器100確定上述IP數(shù)據(jù)包事實(shí)上是否屬于斷開請求(步驟189);如果IP數(shù)據(jù)包不屬于斷開請求(即如果它們屬于處理結(jié)果134-1b和134-2b),則處理器100作出代理響應(yīng)并向客戶機(jī)3發(fā)送IP數(shù)據(jù)包(步驟190)。當(dāng)作出代理響應(yīng)時,將IP數(shù)據(jù)包的發(fā)送源地址150和發(fā)送目的地址151分別改寫為服務(wù)器2a和客戶機(jī)3的IP地址,并作為處理結(jié)果134-1a,134-2a發(fā)送。
在步驟188中,如果兩組IP數(shù)據(jù)包的數(shù)據(jù)包編號152匹配,則處理器100對IP數(shù)據(jù)包的數(shù)據(jù)包數(shù)據(jù)154進(jìn)行比較(步驟191);如果數(shù)據(jù)包數(shù)據(jù)154匹配,則處理器100不做任何處理。
如果在步驟189中所檢查的IP數(shù)據(jù)包屬于斷開請求136a,則處理器100向客戶機(jī)3發(fā)送斷開請求136a,斷開請求136a的發(fā)送源地址150為服務(wù)器2a的IP地址,并從數(shù)據(jù)包緩沖器102中刪除會話表項(xiàng)(步驟192)。
如果在步驟191中所比較的數(shù)據(jù)包數(shù)據(jù)154不匹配,這表明了一種例外情形,在該情形中,備份服務(wù)器2b已發(fā)送的響應(yīng)不同于服務(wù)器2a所要發(fā)送的響應(yīng)。在這種情況下,由于服務(wù)器2b不能作為服務(wù)器2a的備份,從而終止會話和代理響應(yīng)處理。此外,當(dāng)這種情況發(fā)生時,如果代理響應(yīng)設(shè)備1與服務(wù)器2b獲得連接,則處理器100還會向服務(wù)器2b發(fā)送斷開請求(步驟192)。
通過如上所述可以獲悉,只要在服務(wù)器2a中繼續(xù)存在失效,處理器100將執(zhí)行步驟180以及隨后的處理,并根據(jù)在步驟182,184和186中所確定的情形執(zhí)行處理。
基于上述處理,代理響應(yīng)設(shè)備1對于服務(wù)器2a對客戶機(jī)3所要響應(yīng)的所有IP數(shù)據(jù)包作出代理響應(yīng)。
在第二失效示例的情形中,當(dāng)服務(wù)器2a發(fā)送了處理結(jié)果134-1a之后在160b處服務(wù)器2a出現(xiàn)失效,且服務(wù)器2a不能再進(jìn)行響應(yīng)。
首先,下面所描述的IP數(shù)據(jù)包之間的關(guān)系已有所描述。對于來自客戶機(jī)3的請求消息的IP數(shù)據(jù)包132-1a和132-2a與在代理請求中所用的IP數(shù)據(jù)包132-1b和132-2b具有相同的數(shù)據(jù)包數(shù)據(jù)154。
作為來自服務(wù)器2a的響應(yīng)消息的IP數(shù)據(jù)包134-1a,和作為來自服務(wù)器2b的響應(yīng)消息的IP數(shù)據(jù)包134-1b,具有相同的數(shù)據(jù)包數(shù)據(jù)154。
在圖10中,代理響應(yīng)設(shè)備1查找已由代理響應(yīng)設(shè)備1所接收的,流經(jīng)客戶機(jī)3和服務(wù)器2a之間的IP數(shù)據(jù)包,并重復(fù)該處理直到接收到作為來自服務(wù)器2b的響應(yīng)消息的IP數(shù)據(jù)包134-1b。
由于步驟180~187和對于IP數(shù)據(jù)包130a~132-2b的處理等同于正常的消息流和第一失效示例,從而解釋在圖10中自從代理響應(yīng)設(shè)備1接收到處理結(jié)果134-1b的操作。
在接收來自服務(wù)器2b的處理結(jié)果134-1b時,處理器100確定是否已將處理結(jié)果134-1b發(fā)送到客戶機(jī)3(步驟188)。
在第二失效示例,由于已經(jīng)從服務(wù)器2a向客戶機(jī)3發(fā)送了處理結(jié)果134-1a,數(shù)據(jù)包編號與處理結(jié)果134-1b的數(shù)據(jù)包編號相同的處理結(jié)果134-1a存在于服務(wù)器發(fā)送數(shù)據(jù)包緩沖區(qū)115中。處理器100對兩個IP數(shù)據(jù)包的數(shù)據(jù)包數(shù)據(jù)154進(jìn)行比較以查看它們是否匹配(步驟191);如果匹配,則處理器100不做任何處理。
在接收來自服務(wù)器2b的處理結(jié)果134-2b,由于在服務(wù)器發(fā)送數(shù)據(jù)包緩沖區(qū)115中不存在該數(shù)據(jù)包,處理器100執(zhí)行與在第一失效示例中相同的處理。
隨后的處理與在第一失效示例中相同,以使代理響應(yīng)設(shè)備1還能夠在第二失效示例中對服務(wù)器2a向客戶機(jī)3所要響應(yīng)的所有IP數(shù)據(jù)包執(zhí)行代理響應(yīng)。
最后參看圖11,關(guān)于一系列在循環(huán)周期中的系統(tǒng)狀態(tài),將對圖1所示整個系統(tǒng)的操作進(jìn)行描述,該循環(huán)周期從正常狀態(tài),經(jīng)過出現(xiàn)失效,代理響應(yīng),從失效中恢復(fù),并返回到正常狀態(tài)。
圖11顯示該循環(huán)周期的消息流。每個箭頭都不同于在圖6,9和10中的箭頭,它表示包括多個IP數(shù)據(jù)包的一個請求消息或一個響應(yīng)消息。
在正常狀態(tài)中,從客戶機(jī)3a,3b發(fā)送的請求消息140和142首先發(fā)送到負(fù)載分布設(shè)備4a,然后發(fā)送到服務(wù)器2a或服務(wù)器2b,以便使兩臺服務(wù)器上的負(fù)載量通常相等。對請求消息140和142的作出響應(yīng)141和響應(yīng)142,經(jīng)由負(fù)載分布設(shè)備4a發(fā)送到客戶機(jī)3a,3b。
假設(shè),請求144a發(fā)送到服務(wù)器2a之后,即刻在服務(wù)器2a中出現(xiàn)失效160。
根據(jù)以上描述,由于各箭頭表示獨(dú)立的消息而不表示具有一定次序的單個數(shù)據(jù)包,既使客戶機(jī)3a不會接收到對請求144a的任何響應(yīng),客戶機(jī)3a還可能發(fā)送請求145。
在161處檢測到失效后,負(fù)載分布設(shè)備4a將從客戶機(jī)3a發(fā)送的下一個請求145發(fā)送到不存在任何失效的服務(wù)器2b。從服務(wù)器2b經(jīng)由負(fù)載分布設(shè)備4a向客戶機(jī)3a發(fā)送與請求145相對應(yīng)的響應(yīng)146。
在162處檢測到失效后,代理響應(yīng)設(shè)備1代替客戶機(jī)3a向服務(wù)器2b發(fā)送請求144b,以請求144b替代因在160處出現(xiàn)失效使服務(wù)器2a不能對客戶機(jī)3a作出響應(yīng)的請求144a,請求144b的內(nèi)容與請求144a的內(nèi)容相同,并且代理響應(yīng)設(shè)備1假裝成服務(wù)器2a向客戶機(jī)3a發(fā)送響應(yīng)147。
當(dāng)繼續(xù)存在失效時,負(fù)載分布設(shè)備4a還向服務(wù)器2b發(fā)送來自客戶機(jī)3b的下一個請求148,并向客戶機(jī)3b發(fā)送其相應(yīng)的響應(yīng)149。從而,盡管不能夠?qū)ω?fù)載進(jìn)行分布,但無疑能處理來自客戶機(jī)3a和3b的請求。
由負(fù)載分布設(shè)備4a執(zhí)行的處理和由代理響應(yīng)設(shè)備1執(zhí)行的處理可并行或以任意順序發(fā)生。
這樣,當(dāng)負(fù)載分布設(shè)備4a檢測出出現(xiàn)失效,并為處理來自客戶機(jī)3a和3b的請求而從服務(wù)器2a切換到服務(wù)器2b時,對于服務(wù)器2a所不能響應(yīng)的所有請求,代理響應(yīng)設(shè)備執(zhí)行與以上描述相似的那些處理。
隨后,當(dāng)服務(wù)器2a在163處從失效中恢復(fù)時,負(fù)載分布設(shè)備4a和代理響應(yīng)設(shè)備1分別在164和165處檢測到恢復(fù),并恢復(fù)正常的處理。對隨后的消息150~153如同對消息141~143一樣進(jìn)行正常的處理,并分布消息負(fù)載。
根據(jù)本發(fā)明,可提供具有可用性和可擴(kuò)展性的簇方法和客戶機(jī)/服務(wù)器類型系統(tǒng)。
盡管以上描述涉及到本發(fā)明的具體實(shí)施例,應(yīng)該理解,在不偏離本發(fā)明精神的條件下可作出多種變型。所附權(quán)利要求意在涵蓋這些處在本發(fā)明真實(shí)范圍和精神范圍內(nèi)的變型。
因此,認(rèn)為此處公開的實(shí)施例無論從哪一點(diǎn)看均是示意性而非限定性的,由所附權(quán)利要求而非上述說明來表示本發(fā)明的范圍,因此,此處意在包含與權(quán)利要求等效含義和范圍內(nèi)的所有變型。
權(quán)利要求
1.一種代理響應(yīng)設(shè)備,它通過通信網(wǎng)絡(luò)與至少一臺客戶機(jī)和多臺服務(wù)器相連接,所述代理響應(yīng)設(shè)備包括用于監(jiān)視在多臺服務(wù)器中正在處理來自至少一臺客戶機(jī)請求消息的其中一臺服務(wù)器中出現(xiàn)失效的模塊;用于從通信網(wǎng)絡(luò)獲取數(shù)據(jù)包并存儲所述數(shù)據(jù)包的模塊,所述數(shù)據(jù)包包含多臺服務(wù)器的其中一臺服務(wù)器與至少一臺客戶機(jī)之間交換的請求消息和相對應(yīng)的響應(yīng)消息;和管理模塊,用于在多臺服務(wù)器的其中一臺服務(wù)器中檢測出失效時,從多臺服務(wù)器中另一臺不存在失效的服務(wù)器獲取還沒有向至少一臺客戶機(jī)發(fā)送的響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī)。
2.根據(jù)權(quán)利要求1所述的代理響應(yīng)設(shè)備,其中,管理模塊包括,從至少一臺客戶機(jī)接收新的請求數(shù)據(jù)包,并將新的請求數(shù)據(jù)包發(fā)送給多臺服務(wù)器中另一臺不存在失效的服務(wù)器的模塊。
3.根據(jù)權(quán)利要求2所述的代理響應(yīng)設(shè)備,其中,管理模塊包括,從多臺服務(wù)器中另一臺不存在失效的服務(wù)器接收與新的請求數(shù)據(jù)包相對應(yīng)的響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包發(fā)送給至少一臺客戶機(jī)的模塊。
4.根據(jù)權(quán)利要求3所述的代理響應(yīng)設(shè)備,其中,管理模塊包括,對于已經(jīng)從至少一臺客戶機(jī)發(fā)送的但還沒有由多臺服務(wù)器的其中一臺服務(wù)器響應(yīng)的數(shù)據(jù)包,將其發(fā)送到多臺服務(wù)器中另一臺不存在失效的服務(wù)器的模塊;和從多臺服務(wù)器中另一臺不存在失效的服務(wù)器接收與請求數(shù)據(jù)包相對應(yīng)的響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī)的模塊。
5.根據(jù)權(quán)利要求3所述的代理響應(yīng)設(shè)備,其中,管理模塊將響應(yīng)數(shù)據(jù)包的發(fā)送源地址改寫為多臺服務(wù)器中具有失效的那一臺服務(wù)器的地址,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺服務(wù)器。
6.根據(jù)權(quán)利要求5所述的代理響應(yīng)設(shè)備,還包括存儲模塊,所述存儲模塊用于存儲多臺服務(wù)器的地址,其中通過查看在存儲模塊中所存儲的多臺服務(wù)器的地址來查找響應(yīng)數(shù)據(jù)包的發(fā)送源地址。
7.根據(jù)權(quán)利要求4所述的代理響應(yīng)設(shè)備,其中,向多臺服務(wù)器中另一臺不存在失效的服務(wù)器發(fā)送請求數(shù)據(jù)包的模塊,對于還沒有獲得響應(yīng)的請求數(shù)據(jù)包,將請求數(shù)據(jù)包的發(fā)送源地址改寫為代理響應(yīng)設(shè)備的地址,并將請求數(shù)據(jù)包發(fā)送到多臺服務(wù)器中另一臺不存在失效的服務(wù)器。
8.根據(jù)權(quán)利要求1所述的代理響應(yīng)設(shè)備,還包括,獲取和存儲模塊,用于獲取和存儲在至少一臺客戶機(jī)和多臺服務(wù)器之間交換的數(shù)據(jù)包;和恢復(fù)模塊,用于當(dāng)監(jiān)視失效出現(xiàn)的模塊檢測出在多臺服務(wù)器的其中一臺服務(wù)器中出現(xiàn)失效時,使用在獲取和存儲模塊中所存儲的數(shù)據(jù)包,以多臺服務(wù)器中另一臺不存在失效的服務(wù)器,恢復(fù)多臺服務(wù)器中處在出現(xiàn)失效時刻的一臺服務(wù)器的狀態(tài)。
9.根據(jù)權(quán)利要求8所述的代理響應(yīng)設(shè)備,其中,恢復(fù)模塊包括當(dāng)檢測出在多臺服務(wù)器的其中一臺服務(wù)器中存在失效時,對于處在獲取和存儲模塊所存儲的數(shù)據(jù)包之中的已從至少一臺客戶機(jī)發(fā)送的數(shù)據(jù)包,將其發(fā)送目的地址改寫為多臺服務(wù)器中另一臺不存在失效的服務(wù)器的地址,并將該數(shù)據(jù)包發(fā)送到多臺服務(wù)器中另一臺不存在失效的服務(wù)器的模塊;接收從多臺服務(wù)器中另一臺不存在失效的服務(wù)器發(fā)送的響應(yīng)數(shù)據(jù)包的模塊;和識別模塊,用于在響應(yīng)數(shù)據(jù)包之中識別出已從多臺服務(wù)器的其中一臺存在失效的服務(wù)器向至少一臺客戶機(jī)發(fā)送的數(shù)據(jù)包。
10.一種通過通信網(wǎng)絡(luò)連接有至少一臺客戶機(jī)和多臺服務(wù)器的網(wǎng)絡(luò)系統(tǒng),所述網(wǎng)絡(luò)系統(tǒng)包括至少一個與多臺服務(wù)器相連的負(fù)載分布設(shè)備;和代理響應(yīng)設(shè)備,用于當(dāng)多臺服務(wù)器的其中一臺正在處理從至少一臺客戶機(jī)發(fā)送的請求消息的服務(wù)器中出現(xiàn)失效時,使多臺服務(wù)器中另一臺不存在失效的服務(wù)器繼續(xù)對請求消息進(jìn)行處理,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī),所述響應(yīng)數(shù)據(jù)包是由多臺服務(wù)器中另一臺服務(wù)器對請求消息所執(zhí)行的結(jié)果,其中,至少一個負(fù)載分布設(shè)備包括,當(dāng)多臺服務(wù)器的其中一臺正在處理從至少一臺客戶機(jī)發(fā)送的請求消息的服務(wù)器中出現(xiàn)失效時,使多臺服務(wù)器中另一臺不存在失效的服務(wù)器處理從至少一臺客戶機(jī)發(fā)送的新請求消息的模塊,所述代理響應(yīng)設(shè)備包括用于監(jiān)視多臺服務(wù)器出現(xiàn)失效的模塊;用于從通信網(wǎng)絡(luò)獲取數(shù)據(jù)包并存儲所述數(shù)據(jù)包的模塊,所述數(shù)據(jù)包包含多臺服務(wù)器與至少一臺客戶機(jī)之間交換的請求消息和相對應(yīng)的響應(yīng)消息;和用于當(dāng)檢測出在多臺服務(wù)器的其中一臺服務(wù)器中出現(xiàn)失效時,從多臺服務(wù)器中另一臺不存在失效的服務(wù)器獲取還沒有向至少一臺客戶機(jī)發(fā)送的響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī)的模塊。
11.一種通過通信網(wǎng)絡(luò)連接有至少一臺客戶機(jī)和多臺服務(wù)器的網(wǎng)絡(luò)系統(tǒng),所述網(wǎng)絡(luò)系統(tǒng)包括代理響應(yīng)設(shè)備,用于當(dāng)多臺服務(wù)器的其中一臺正在處理從至少一臺客戶機(jī)發(fā)送的請求消息的服務(wù)器中出現(xiàn)失效時,使多臺服務(wù)器中另一臺不存在失效的服務(wù)器繼續(xù)對請求消息進(jìn)行處理,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī),所述響應(yīng)數(shù)據(jù)包是由多臺服務(wù)器中另一臺服務(wù)器對請求消息所執(zhí)行的結(jié)果,至少一個負(fù)載分布設(shè)備,所述負(fù)載分布設(shè)備用于當(dāng)多臺服務(wù)器的其中一臺正在處理從至少一臺客戶機(jī)發(fā)送的請求消息的服務(wù)器中出現(xiàn)失效時,使多臺服務(wù)器中另一臺不存在失效的服務(wù)器處理從至少一臺客戶機(jī)發(fā)送的新請求消息。
12.根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)系統(tǒng),其中代理響應(yīng)設(shè)備包括用于監(jiān)視多臺服務(wù)器出現(xiàn)失效的模塊;用于從通信網(wǎng)絡(luò)獲取數(shù)據(jù)包并存儲所述數(shù)據(jù)包的模塊,所述數(shù)據(jù)包包含多臺服務(wù)器與至少一臺客戶機(jī)之間交換的請求消息和相對應(yīng)的響應(yīng)消息;和用于當(dāng)檢測出在多臺服務(wù)器的其中一臺服務(wù)器中出現(xiàn)失效時,從多臺服務(wù)器中另一臺不存在失效的服務(wù)器獲取還沒有向至少一臺客戶機(jī)發(fā)送的響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī)的模塊。
13.一種用于對通過通信網(wǎng)絡(luò)與至少一臺客戶機(jī)和多臺服務(wù)器相連的代理響應(yīng)設(shè)備進(jìn)行操作的方法,所述方法包括的步驟對于多臺服務(wù)器的其中一臺正在處理從至少一臺客戶機(jī)發(fā)送的請求消息的服務(wù)器,監(jiān)視在其中的失效出現(xiàn);從通信網(wǎng)絡(luò)獲取數(shù)據(jù)包并存儲所述數(shù)據(jù)包,所述數(shù)據(jù)包包含多臺服務(wù)器的其中一臺服務(wù)器與至少一臺客戶機(jī)之間交換的請求消息和相對應(yīng)的響應(yīng)消息;和操作代理響應(yīng)設(shè)備,以在多臺服務(wù)器的其中一臺服務(wù)器中檢測出失效出現(xiàn)時,從多臺服務(wù)器中另一臺不存在失效的服務(wù)器獲取還沒有向至少一臺客戶機(jī)發(fā)送的響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī)。
14.根據(jù)權(quán)利要求13所述操作代理響應(yīng)設(shè)備的方法,其中操作代理響應(yīng)設(shè)備的步驟包括,接收來自至少一臺客戶機(jī)的新的請求數(shù)據(jù)包的步驟,和將新的請求數(shù)據(jù)包發(fā)送到多臺服務(wù)器中另一臺不存在失效的服務(wù)器的步驟。
15.根據(jù)權(quán)利要求14所述操作代理響應(yīng)設(shè)備的方法,其中操作代理響應(yīng)設(shè)備的步驟包括,接收來自多臺服務(wù)器中另一臺不存在失效的服務(wù)器的,與新請求數(shù)據(jù)包相對應(yīng)的響應(yīng)數(shù)據(jù)包的步驟;和將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī)的步驟。
16.根據(jù)權(quán)利要求15所述操作代理響應(yīng)設(shè)備的方法,其中操作代理響應(yīng)設(shè)備的步驟包括,對于已經(jīng)從至少一臺客戶機(jī)發(fā)送的但還沒有由多臺服務(wù)器的其中一臺服務(wù)器響應(yīng)的請求數(shù)據(jù)包,將其發(fā)送到多臺服務(wù)器中另一臺不存在失效的服務(wù)器的步驟;和從多臺服務(wù)器中另一臺不存在失效的服務(wù)器接收與請求數(shù)據(jù)包相對應(yīng)的響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺客戶機(jī)的步驟。
17.根據(jù)權(quán)利要求15所述操作代理響應(yīng)設(shè)備的方法,其中操作代理響應(yīng)設(shè)備的步驟包括,將響應(yīng)數(shù)據(jù)包的發(fā)送源地址改寫為多臺服務(wù)器中具有失效的那一臺服務(wù)器的地址的步驟;和將響應(yīng)數(shù)據(jù)包發(fā)送到至少一臺服務(wù)器的步驟。
18.根據(jù)權(quán)利要求17所述操作代理響應(yīng)設(shè)備的方法,還包括存儲多臺服務(wù)器的地址的步驟,其中通過查看在存儲模塊中所存儲的多臺服務(wù)器的地址來查找響應(yīng)數(shù)據(jù)包的發(fā)送源地址。
19.根據(jù)權(quán)利要求16所述操作代理響應(yīng)設(shè)備的方法,其中向多臺服務(wù)器中另一臺不存在失效的服務(wù)器發(fā)送還沒有獲得響應(yīng)的請求數(shù)據(jù)包的步驟包括,將請求數(shù)據(jù)包的發(fā)送源地址改寫為代理響應(yīng)設(shè)備地址的步驟;和將請求數(shù)據(jù)包發(fā)送到多臺服務(wù)器中另一臺不存在失效的服務(wù)器的步驟。
20.根據(jù)權(quán)利要求13所述操作代理響應(yīng)設(shè)備的方法,還包括步驟獲取和存儲在至少一臺客戶機(jī)和多臺服務(wù)器之間交換的數(shù)據(jù)包,和當(dāng)監(jiān)視失效出現(xiàn)的模塊在多臺服務(wù)器的其中一臺服務(wù)器中檢測出失效出現(xiàn)時;以及使用所存儲的數(shù)據(jù)包,以多臺服務(wù)器中另一臺不存在失效的服務(wù)器,恢復(fù)多臺服務(wù)器中處在出現(xiàn)失效時刻的一臺服務(wù)器的狀態(tài)。
21.根據(jù)權(quán)利要求20所述操作代理響應(yīng)設(shè)備的方法,其中恢復(fù)步驟所包括的步驟當(dāng)在多臺服務(wù)器的其中一臺服務(wù)器中檢測出存在失效時,對于處在獲取和存儲模塊所存儲的數(shù)據(jù)包之中的已從至少一臺客戶機(jī)發(fā)送的數(shù)據(jù)包,將其發(fā)送目的地址改寫為多臺服務(wù)器中另一臺不存在失效的服務(wù)器的地址,并將該數(shù)據(jù)包發(fā)送到多臺服務(wù)器中另一臺不存在失效的服務(wù)器;接收從多臺服務(wù)器中另一臺不存在失效的服務(wù)器發(fā)送的響應(yīng)數(shù)據(jù)包;和在響應(yīng)數(shù)據(jù)包之中識別出已從多臺服務(wù)器的其中一臺存在失效的服務(wù)器向至少一臺客戶機(jī)發(fā)送的數(shù)據(jù)包。
全文摘要
本發(fā)明涉及一種代理響應(yīng)設(shè)備(1),代理響應(yīng)設(shè)備(1)裝備有獲取和保留在客戶機(jī)(3)與主和備份服務(wù)器(2a和2b)之間交換的請求消息和響應(yīng)消息的模塊,用于檢測在主服務(wù)器(2a)中存在失效的模塊,用于當(dāng)在主服務(wù)器(2a)中出現(xiàn)失效時向備份服務(wù)器(2b)發(fā)送所保留的請求的模塊,用于接收來自備份服務(wù)器(2b)的響應(yīng)的模塊,用于檢測在客戶機(jī)(3)和處在出現(xiàn)失效時刻的主服務(wù)器(2a)之間通信狀態(tài)的模塊,和為了從當(dāng)前狀態(tài)中恢復(fù)通信狀態(tài)而代替主服務(wù)器(2a)進(jìn)行響應(yīng)的模塊。
文檔編號G06F15/177GK1533095SQ20031012456
公開日2004年9月29日 申請日期2003年12月30日 優(yōu)先權(quán)日2003年3月19日
發(fā)明者橫田大輔, 野田文雄, 田大輔, 雄 申請人:株式會社日立制作所