欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在多個遠程訪問服務器之間維持事務完整性的方法

文檔序號:7949083閱讀:287來源:國知局
專利名稱:在多個遠程訪問服務器之間維持事務完整性的方法
技術領域
本發(fā)明的解說性實施例一般地涉及遠程訪問服務器,尤其涉及在故障期間維持遠程訪問解決方案中的事務完整性的方法。
背景技術
遠程訪問解決方案能使遠離公司的工人安全地訪問公司網絡。通過使用IPSec VPN或SSL VPN,遠程用戶能以安全的方式訪問公司網絡。從客戶端設備訪問可通過一個或多個用于維持遠程訪問會話的網關服務器來路由。使用傳統(tǒng)的遠程訪問解決方案,用于維持遠程訪問會話完整性的網關服務器故障會導致會話中斷并丟失數(shù)據(jù)。
為解決網關服務器故障的問題,一些不同的傳統(tǒng)方法被應用以保證在硬件或軟件故障中系統(tǒng)資源的冗余和完全利用。在主動/被動服務器配置中,主動服務器主持一些執(zhí)行進程和應用程序。該主動服務器可主持基于IPSec VPN的會話或基于SSL的會話。一個或多個其它服務器被指定為備份即故障替補(failover)服務器。該故障替補服務器具有執(zhí)行正在主動服務器上執(zhí)行的相同應用程序和進程的性能,但是該故障替補服務器直到被通報主動服務器出現(xiàn)問題時才執(zhí)行應用和進程。因為可被看作靜靜地等待執(zhí)行當備份服務器正運行在故障替補模式時正被執(zhí)行在主動服務器上的應用和進程,該故障替補服務器在該配置中稱為“被動”服務器。一旦被通知主動服務器上存在問題,故障替補服務器之一就作為新的主動服務器被選擇,從先前“主動”服務器接收最后保存的狀態(tài)/會話信息并以檢測到故障/問題之前原主動服務器執(zhí)行的方式繼續(xù)執(zhí)行。不幸的是,在從第一主動服務器到新指定的主動服務器的傳送期間該主動/被動服務器裝置會導致數(shù)據(jù)丟失。
不難理解,該故障替補服務器可設在相同的或分開的物理節(jié)點上。包括設于相同物理節(jié)點的故障替補服務器的實現(xiàn)方式面臨這樣的風險導致故障替補的故障與將同樣會影響故障替補服務器的物理節(jié)點元件相關聯(lián)。在包括獨立物理源(如存儲器、磁盤陣列、母板等)的獨立的物理節(jié)點設置故障替補服務器降低了獨立物理元件導致主動和故障替補服務器都出故障的風險,但增加了整個系統(tǒng)在硬件獲得和管理上的成本。
另一提供服務器間冗余的方法是在主動/主動配置中安排服務器。在主動/主動配置中,主動和被動故障替補服務器都執(zhí)行一組相同的應用程序和進程。當?shù)谝恢鲃臃掌靼l(fā)生故障時,第二主動服務器將資源分配給那些原來由故障服務器處理的應用實例和進程。
不幸的是,主動/被動和主動/主動故障替補服務器配置都不能保存遠程訪問會話的會話狀態(tài)。沒有一個傳統(tǒng)故障替補執(zhí)行允許遠程會話狀態(tài)被映射到故障替補服務器中而使故障替補服務器在不終止現(xiàn)有會話并不丟失數(shù)據(jù)的條件下被轉換。理想的情況是要能夠在影響主持遠程會話的主動服務器的故障事件中保存現(xiàn)有遠程會話和其會話數(shù)據(jù)。

發(fā)明內容
本發(fā)明的解說性實施例能夠使遠程會話狀態(tài)在主網關服務器和主動故障替補服務器之間同步。從客戶端設備發(fā)送到主持遠程會話的主網關服務器的輸入數(shù)據(jù)被傳送到主持鏡像會話的主動故障替補服務器。直到對故障替補服務器的數(shù)據(jù)分配被確認,輸入數(shù)據(jù)的接收確認才被從主網關設備發(fā)回客戶端設備。在主網關服務器上從遠程會話中對應用資源的請求是允許的,然而那些從運行在故障替補服務器上的鏡像會話中請求的應用資源被截取并丟棄以防止應用資源沖突。響應從主網關服務器到運行在后端服務器上的應用資源的請求的被接收的數(shù)據(jù),在被傳送到客戶端設備之前同樣地被映射到故障替補服務器。在從運行在故障替補服務器上的鏡像會話中被截取的同時,該響應被從主網關服務器提交給客戶端設備。在影響主網關服務器的故障事件中,主持映射的會話的故障替補服務器之一被選作為主動服務器,并且其權限被改變以允許新選擇的主網關與客戶端設備和應用資源通信。
依據(jù)本發(fā)明的一個方面,在遠程訪問解決方案中提供替補冗余的系統(tǒng)包括后端服務器上的至少一個應用資源故障替補。該系統(tǒng)還包括多個網關服務器。多個網關服務器之一被指定為主網關服務器,而其它服務器被指定為故障替補網關服務器。多個網關服務器中每一個主持與同一應用的至少一個執(zhí)行應用實例的會話,替補網關服務器上的各會話被維持在與主網關服務器上的會話相同的狀態(tài)。該主網關服務器是網關服務器中唯一被允許與應用資源通信的服務器。該系統(tǒng)還包括用VPN與主網關服務器通信的客戶端設備。該客戶端設備用VPN接收在主網關服務器上執(zhí)行的會話中的應用實例的輸出。該客戶端設備也通過VPN將輸出發(fā)送到主網關服務器。被接收的輸出由客戶端設備在閱讀器上顯示。
依據(jù)本發(fā)明的另一方面,在遠程訪問解決方案的方法中提供故障替補冗余的方法,包括在后端服務器上提供至少一個應用資源的步驟。該方法還包括將多個網關服務器之一指定為主網關服務器而將其它服務器指定為故障替補網關服務器的步驟。每個網關服務器主持與同一應用的至少一個執(zhí)行應用實例的會話。該主網關服務器是多個網關服務器中唯一被允許與至少一個應用資源通信的服務器。該方法還包括在故障替補網關服務器上以與主網關服務器上的會話相同的狀態(tài)維持會話的步驟。此外,該方法包括在通過VPN與主網關服務器通信的客戶端設備處接收在主網關服務器上的會話中執(zhí)行的至少一個應用實例的輸出,被接收的輸出由客戶端設備在閱讀器上顯示。


本發(fā)明的特征在所附的權利要求中指出。上面描述的本發(fā)明的優(yōu)點和本發(fā)明的其他優(yōu)點通過參照下面結合附圖的描述當可更好地理解,其中圖1表示適于用多網關服務器前面的前端服務器來實現(xiàn)本發(fā)明的解說性實施例的環(huán)境;圖2A表示本發(fā)明中使用的典型計算機的模塊圖;圖2B表示計算機系統(tǒng)的實施例,在該計算機系統(tǒng)中,處理器通過存儲器端口直接與主存通信;圖3是本發(fā)明的解說性實施例中將指向主網關服務器上的主動會話的數(shù)據(jù)映射到故障替補服務器上的故障替補會話的步驟順序的流程圖;圖4是本發(fā)明的解說性實施例中從應用資源請求數(shù)據(jù)并將響應映射到故障替補會話的步驟順序的流程圖;圖5表示一可選實施例,其中,應用屏幕緩沖器被保持與由瘦客戶機或公用信息機請求的遠程會話保持同步;圖6是解說性實施例中在主網關服務器中檢測故障并向從故障替補服務器中選出的新的主網關服務器傳送的步驟順序的流程圖。
具體實施例方式
本發(fā)明的解說性實施例提供了從主動主網關服務器到主動故障替補服務器鏡像會話的能力。通過復制所有從客戶端接收的輸入和所有從應用資源接收的響應,故障替補會話能被維持在與客戶端設備借以進行通信的主網關服務器上的會話相同的狀態(tài)上。在故障事件中,現(xiàn)有的會話可在不中斷會話并具有最少數(shù)據(jù)丟失的條件下傳送到故障替補服務器(該服務器成為主網關服務器)。
圖1描述了適于實現(xiàn)本發(fā)明的解說性實施例的環(huán)境。包含代理12的客戶機10通過網絡20與前端服務器30通信。該前端服務器30包含分配進程32。該分配進程32復制并將從客戶端設備接收的數(shù)據(jù)分配到主網關服務器40上的主動遠程會話42和故障替補服務器50、60和70上的鏡像故障替補會話52、62和72。分別運行在各主動和故障替補會話42、52、62和72上的應用實例44、54、64和74,可從由后端服務器80主持的應用資源82請求數(shù)據(jù)。應用資源82對執(zhí)行應用實例的數(shù)據(jù)請求的響應被返回到前端服務器30,以分配到主動會話42和故障替補會話52、62和72的的分配進程32。
現(xiàn)在更詳細地參照圖1,客戶機10可在網絡20上通過建立IPSECVPN或SSL VPN來與在主網關服務器40上建立的遠程會話(主動會話42)通信。該客戶機可包括緩沖器14,其中代理12緩沖被發(fā)送到主網關服務器40的數(shù)據(jù)的副本,直到從主網關服務器接收到確認。網絡20可為互聯(lián)網、局域網(LAN)、廣域網(WAN)、外部網、企業(yè)內部網、無線網絡、衛(wèi)星網絡或能夠允許客戶機10與主網關服務器40上的主動會話42通信的其它類型的網絡。主網關服務器40和故障替補服務器50、60和70可包含網絡地址轉換(NAT)表46、56和76,允許服務器在由主VPN服務器建立遠程會話期間執(zhí)行分配給客戶機10的IP地址的NAT。如前所述,主動會話42和故障替補會話52、62和72可包含執(zhí)行應用實例44、54、64和74,它們從后端服務器80上的應用資源82請求數(shù)據(jù)。如下面將更詳細闡述的,故障替補服務器50、60和70還包含過濾器56、66和76,在故障替補服務器工作在故障替補模式時它們將從替補會話52、62和72到應用資源82的請求過濾并丟棄對于故障替補過濾器。應用資源82對在主動會話42中的執(zhí)行應用實例44的請求的響應被路由連接到分配進程32上,以分配到主動會話和故障替補會話52、62和72。本領域技術人員會認識到分配進程32的位置可在本發(fā)明的范圍內變化,它可不設在前端服務器上而設在不同的網絡可訪問位置上,并且仍然執(zhí)行本文描述的功能。
再來看圖1,更具體地說,在許多實施例中,客戶機10、前端服務器30和后端服務器80作為由惠普公司(Hewlett-PackardCorporation of Palo Alto,California)或戴爾公司(the Dell Corporation ofRound Rock,TX)制造的那樣的個人計算機或計算機服務器被提供。圖2A和2B描述了在那些實施例中作為客戶機10、前端服務器30和后端服務器80使用的典型計算機200的模塊圖。如圖2A和2B所示,各計算機200包括中央處理器202和主存儲器204。各計算機200也可包括其它可選部件,如一個或多個輸入/輸出設備230a-230n(總體上用附圖標記230表示),和與中央處理器202通信的高速緩存240。
中央處理器202是響應并處理從主存儲器204中獲取的指令的任何邏輯電路。在許多實施例中,中央處理器由微處理器部件提供,如由英特爾公司(Intel Corporation of Mountain View,California)制造的8088、80286、80386、80486、Pentium、Pentium Pro、PentiumII、Celeron或Xeon處理器;由摩托羅拉公司(Motorola Corporation ofSchaumburg,Illinois)制造的68000、68010、68020、68030、68040、PowerPC601、PowerPC604、PowerPC604e、MPC603e、MPC603ei、MPC603ev、MPC603r、MPC603p、MPC740、MPC745、MPC750、MPC755、MPC7400、MPC7410、MPC7441、MPC7445、MPC7447、MPC7450、MPC7451、MPC7455、MPC7457處理器;由Transmeta公司(Transmeta Corporation of Santa Clara,Califomia)制造的CrusoeTM5800、Crusoe TM5600、Crusoe TM5500、Crusoe TM5400、EfficeonTM8600、Efficeon TM8300或Efficeon TM8620處理器;由國際商用機器公司(International Business Machines of White Plains,New York)制造的RS/6000處理器、RS64、RS 64II、P2SC、POWER3、RS64III、POWER3-II、RS 64IV、POWER4、POWER4+、POWERS或POWER6處理器;或由先進微器件公司(Advanced Micro Devices of Sunnyvale,California)制造的AMD Opteron、AMD Athalon 64FX、AMD Athalon或AMD Duron處理器。
在圖2A所示的實施例中,處理器202通過系統(tǒng)總線220(下面更詳細描述)與主存儲器204通信。圖2B描述了計算機系統(tǒng)200的實施例,其中處理器通過存儲器端口與主存儲器204直接通信。例如,圖2B中,主存儲器204可為DRDRAM。
圖2A和2B描述了這樣的實施例,其中主處理器202通過二級總線(有時稱為“后部”總線)直接與高速緩存240通信。在其它的實施例中,主處理器202用系統(tǒng)總線220與高速緩存240通信。高速緩存240通常具有比主存儲器204更快的響應時間,并且一般由SRAM、BSRAM或EDRAM提供。
在圖2A顯示的實施例中,處理器202通過局部系統(tǒng)總線220與各種I/O設備230通信。各種總線可用于連接中央處理器202和I/O設備230,包括VESA VL總線、ISA總線、EISA總線、微通道結構(MCA)總線、PCI總線、PCI-X總線、PCI-Express總線或NuBus。對于在其中I/O設備是視頻顯示器的實施例,處理器202可使用高級圖形接口(AGP)與顯示器通信。圖2B描述了計算機系統(tǒng)的實施例,其中,主處理器202通過HyperTransport、Rapid I/O或InfiniBand直接與I/O設備230b通信。圖2B也描述了在其中局部總線和直接通信被混合的實施例處理器202在與I/O設備230b通信時使用局部互聯(lián)總線與I/O設備230a通信。
相當多種類的I/O設備230可出現(xiàn)在計算機系統(tǒng)200中。輸入設備包括鍵盤、鼠標、跟蹤球、微型電話和畫圖板。輸出設備包括視頻顯示器、揚聲器、噴墨打印機、激光打印機和熱染料升華(dye-sublimation)打印機。I/O設備還可為微計算機系統(tǒng)200提供大容量存儲器如硬盤驅動器、用于接收如3.5寸、5.25寸盤的軟盤的軟盤驅動器或ZIP盤、CD-ROM驅動、CD-R/RW驅動、DVD-ROM驅動這樣的由Twintech工業(yè)公司(Twintech Industry,Inc.of Los Alamitos,California)制造的設備。
在另一些實施例中,I/O設備230可為系統(tǒng)總線220和外部通信總線之間的橋梁,這些外部通信總線例如是USB總線、Apple Desktop總線、RS-232連續(xù)連接、SCSI總線、FireWire總線、FireWire800總線、以太網總線、AppleTalk總線、Gigabit Ethernet總線、異步傳送模式總線、HIPPI總線、SeriaIPlus總線、SCI/LAMP總線、FibreChannel總線或Serial Attached small computer system interface總線。
圖2A和2B中描述的這類通用臺式計算機通常在操作系統(tǒng)的控制下運行,該操作系統(tǒng)控制任務和對系統(tǒng)資源訪問的時序。除了其他操作系統(tǒng),典型的操作系統(tǒng)包括微軟公司(Microsoft Corp.ofRedrnond,Washington)制作的MICROSOFT WINDOWS、蘋果電腦公司(Apple Computer of Cupertino,California)制作的MacOS、國際商用機器公司(International Business Machines of Armonk,New York)制作的OS/2以及Caldera公司(Caldera Corp.of Salt Lake City,Utah)發(fā)布的可免費得到的操作系統(tǒng)Linux。
對于其中客戶機10作為移動設備的實施例,客戶端設備可為JAVA啟動的移動電話,如摩托羅拉公司(Motorola Corp.ofSchaumburg,Illinois)制造的i50sx、i55sr、i58sr、i85s、i88s、i90c、i95cl或im11000;日本京瓷公司(Kyocera of Kyoto,Japan)制造的6035或7135;或者韓國三星電子公司(Samsung Electronics Co.,Ltd.,of Seoul,Korea)制造的i300或i330。在其中客戶機10為移動的其他實施例中,客戶端設備可以是在PalmOS操作系統(tǒng)控制下運行的個人數(shù)字助理(PDA),如palmOne公司(palmOne,Inc.of Milpitas,California)生產的Tungsten W、V II、V II x、i705。在另一些實施例中,客戶端設備20可為在PocketPC操作系統(tǒng)控制下運行的個人數(shù)字助理(PDA),如惠普公司(Hewlett-Packard Corporation of Palo Alto,Caiifbrnia)生產的iPAQ 4155、iPAQ 5555、iPAQ 1945、iPAQ 2215和iPAQ 4255或美國東芝公司(Toshiba America,Inc.of New York,New York)生產的Toshiba PocketPC e405。在再一些實施例中,客戶端設備是PDA/電話設備如palmOne公司(palmOne,Inc.of Milpitas,California)制造的Treo180、Treo 270或Treo 600的結合。在又一實施例中,客戶端設備20是在PocketPC操作系統(tǒng)控制下運行的移動電話,如摩托羅拉公司制造的MPx200。
由圖1所示的體系結構中描述的部件執(zhí)行的功能可參照圖3進一步闡述。圖3是本發(fā)明中將指向主網關服務器上的主動會話的數(shù)據(jù)映射到故障替補服務器上的故障替補會話的步驟順序的流程圖。在主網關服務器40上的初始遠程主動會話42建立后(在客戶機10驗證后)和在故障替補服務器50、60和70上的相對應的故障替補會話52、62和72建立后,前端服務器30從客戶機接收指向主動會話的輸入(步驟300)。前端服務器30上的分配進程32將輸入數(shù)據(jù)復制并分配給主動會話42和故障替補會話52、62和72(步驟302)。然后主動會話42和故障替補會話52、62和72中的應用實例處理所接收的數(shù)據(jù)(步驟304)。
然后分配進程32詢問主動和故障替補會話42、52、62和72以判斷會話狀態(tài)是否同步(步驟306)。由于服務器之間的處理速度和網絡中等待時間延遲可能不一致,該同步檢驗是必要的。在一些備選實現(xiàn)中,主網關服務器40和故障替補服務器40、50和60配置成不先被查詢就將它們的會話狀態(tài)報告給分配進程32。在另一實現(xiàn)中,一個與分配進程不同的進程的任務是檢驗會話42、52、62和72的狀態(tài)的同步。如果會話狀態(tài)被確定為未同步(步驟307),則執(zhí)行延遲,直到來自分配進程的再一個查詢來判斷同步狀態(tài)(步驟306)。如果會話狀態(tài)被同步(步驟307),則將由主網關服務器40上主動會話42中的應用實例44執(zhí)行的處理的結果通報給客戶機(步驟308)。由應用實例在故障替補會話52、62和72中進行的試呼由網絡堆棧上的各過濾器46、56和66過濾,并且信息包被丟棄。
類似的過程被執(zhí)行,以在會話中執(zhí)行的應用實例請求應用資源在的期間保持主動和故障替補會話狀態(tài)同步。圖4是本發(fā)明解說性實施例中從應用資源請求數(shù)據(jù)并將響應映射到故障替補會話的步驟順序的流程圖。該順序在主動會話42中的應用實例44(和故障替補會話52、62和72中相對應的應用實例54、64和74)識別需要的應用資源(步驟320)時順序開始。然后所有會話中的應用實例44、54、64和74從后端服務器80請求應用資源82(步驟322)。這些產生于故障替補會話52、62和72中的應用實例54、64和74的請求分別被故障替補服務器50、60和70的網絡堆棧上的過濾器58、68和78過濾。被過濾的信息包被丟棄(步驟324)。主動會話42中的請求被提交給后端服務器80上的應用資源82(步驟326)。對該請求的響應被路由到前端服務器上的分配進程32(步驟328)。在一實施例中,該響應首先被發(fā)送到主持主動會話42的主網關服務器40,而后提交給分配進程32。在另一實施例中,不同于用來從客戶機接收輸入數(shù)據(jù)的分配進程的獨立分配進程可用于分配應用資源響應。
繼續(xù)看圖4,在從應用資源收到響應之后,分配進程將響應數(shù)據(jù)轉交給主動和故障替補會話42、52、62和72(步驟330)。然后主動會話42和故障替補會話52、62和72中的應用實例44、54、64和74處理該源數(shù)據(jù)(步驟332)。如同從客戶機接收的數(shù)據(jù)一樣,進行查詢來判斷會話狀態(tài)是否被同步(步驟333)。如果狀態(tài)不同步,該查詢會重復直到接收到肯定的響應。一旦會話狀態(tài)同步,主動會話42中的應用實例將它的數(shù)據(jù)處理結果傳送給客戶機10。故障替補服務器上的應用實例54、64和74也試圖將它們的結果傳送給客戶機10,但信息包被分別在故障替補服務器50、60和70上的網絡過濾器58、68和78截取并丟棄(步驟334)。
在解說性實施例的另一方面,本發(fā)明也可在“瘦客戶機”或公用信息機體系結構中實現(xiàn),其中,所有的處理在服務器上發(fā)生,且只有屏幕數(shù)據(jù)被從遠程會話42下推到客戶機10。圖5描述了一備選實施例,其中,應用屏幕緩沖器為從瘦客戶機或公用信息機請求的遠程會話而保持同步。該客戶機400可為具有有限處理能力的瘦客戶機如PDA或便攜式電話或可為帶有顯示器和輸入設備的公用信息機終端??蛻魴C通過網絡402建立到主網關服務器410的遠程會話。該連接可使用微軟公司的RDP(遠程顯示協(xié)議)或Citrix Systems公司(Citrix Systems,Inc.of Fort Lauderdale,F(xiàn)lorida)的ICA。當客戶機400通過主網關服務器提供的安全網絡URL登錄時,可建立會話。該主網關服務器接受連接請求并建立遠程主動會話412。本解說性實施例也在故障替補服務器420和430上建立故障替補會話422和432。該主動會話412和故障替補會話422和432被類似地提供并分別包括執(zhí)行應用實例414、424和434。各應用實例分別具有相關的屏幕緩沖器416、426和436。主網關服務器上的分配進程418,以前述模式將從客戶機400接收的輸入數(shù)據(jù)復制并分配給各會話412、422和432。在一備選實施例中,分配進程418可位于前端服務器上。應用實例414、424和434可用來自主網關服務器的正被傳送的請求和來自故障替補服務器420和430的正被截取并丟棄的請求從后端服務器440請求應用資源442。如前所述,在由執(zhí)行應用實例414、424和434執(zhí)行處理之后,對客戶機400的響應被延遲直到所有的屏幕緩沖器416、426和436處于相同狀態(tài)。然后,主網關服務器上的屏幕緩沖器416的內容(或在使用優(yōu)化技術時經改變的內容)通過連接被下推到客戶機400。應用實例424和434將它們的屏幕緩沖器426和436的內容發(fā)送到客戶機400的試呼被截取并且其信息包被丟棄。
本發(fā)明執(zhí)行的會話狀態(tài)的同步使得能夠不中斷遠程會話地從故障網關服務器切換到代替網關服務器,并且保證了最少的數(shù)據(jù)丟失。代理12可緩沖從客戶機10發(fā)送的數(shù)據(jù)的副本(如果可靠的協(xié)議如TCP被使用)。本發(fā)明中,直到所有的會話都同步時才返回對從客戶機接收數(shù)據(jù)的確認。因此代理10緩沖任何被發(fā)送數(shù)據(jù)的副本直到從主網關服務器接收到確認,然后丟棄數(shù)據(jù)。在主網關服務器40的任何后續(xù)故障事件中,由客戶機發(fā)送到主網關服務器上的數(shù)據(jù)出現(xiàn)在故障替補會話之一中。類似地,從應用資源接收的數(shù)據(jù)也被分配到主動和故障替補會話以使它們保持同步。如果沒有從主網關服務器接收到確認,被緩沖的數(shù)據(jù)會再發(fā)送給新指定的主網關服務器。
此外,當遠程連接最初被建立時,分配給客戶機10的IP地址不但被分配給在一實施例中正為客戶機執(zhí)行NAT的主網關服務器40,而且分配給故障替補服務器50、60和70。當主網關服務器40的故障被檢測到時,故障替補服務器50、60和70之一被選擇為主網關服務器并且改變它的屬性使其能夠勝任該角色。在網絡堆棧上的防止故障替補服務器50、60和70與客戶機10和應用資源82通信的過濾器58、68或78,成為對于新指定的主網關服務器不起作用。該新選定的主網關服務器用前面發(fā)送的IP地址和新選主網關上的NAT表58、68或79截取從客戶機接收或指向客戶機的通信。將經映射的會話狀態(tài)與在主網關服務器故障之前由故障替補服務器知曉的客戶機IP相結合,就能夠實現(xiàn)具有最小限度的數(shù)據(jù)丟失的且不需要重新建立新遠程會話的平滑切換。
主網關服務器40的故障檢測可通過不同的方式發(fā)生。用于檢測服務器故障的方法會依賴于服務器的部署方式。例如,主網關服務器可被安排為群集計算機系統(tǒng)中的節(jié)點。群集計算機系統(tǒng)中的節(jié)點經常通過專用通信信道彼此發(fā)送“搏動”信號(也稱為“響應”或“激活”信號)。該搏動信號/信標指出節(jié)點是否是活動的并響應群集計算機系統(tǒng)中的其它節(jié)點。該搏動信號由各節(jié)點周期性地發(fā)送,所以如果一個或多個節(jié)點在規(guī)定時間內未從另一個節(jié)點接收到搏動信號,就可懷疑有節(jié)點故障。
主網關服務器故障的最終確定可由控制網關服務器的故障替補策略(故障替補策略)支配。該故障替補策略指出在什么情況下,主網關服務器可被認為有故障。例如,在上面討論的群集計算機系統(tǒng)中,在具有多個故障替補服務器的實施例中,其策略可能需要至少兩個故障替補服務器在規(guī)定時間內還沒有從主網關服務器接收到搏動信標?;蛘?,故障替補策略也可以是需要所有的故障替補節(jié)點沒有從主網關服務器上接收到搏動信標。本領域技術人員會認識到一些其它方法可單獨使用或結合使用來檢測網關服務器故障,如給主網關服務器發(fā)脈沖(ping)來檢查其健康狀況。為了檢驗主網關服務器故障,可在沒有接收到搏動標記后發(fā)脈沖。
一旦檢測到主網關服務器的故障,就可用不同的方法從故障替補服務器中選擇新的主網關服務器。該服務器可基于名稱或通過對服務器標識符執(zhí)行數(shù)學運算來選擇?;蛘?,該選擇也可基于服務器處理屬性(速度、存儲量等)或下一個主網關服務器可已由系統(tǒng)管理員預先指定。對于本領域技術人員來說,還會有其它的選擇可能。
圖6描述了本發(fā)明處理主網關故障的步驟順序。該順序開始于指定主網關服務器和故障替補網關服務器順序(步驟500)。故障替補服務器的指定啟用了這些服務器的網絡堆棧上的過濾器并使NAT表不起作用。當遠程會話被建立時,分配給客戶機的IP地址被轉交給故障替補服務器。然后主網關服務器被查詢以確定其健康狀態(tài)(步驟502)。如果主網關服務器被確定正常(步驟503),該查詢以設定的時間間隔重復執(zhí)行。如果主網關服務器有故障(步驟503),則從故障替補服務器中選擇新的主網關服務器并且將其屬性改變以使它的過濾器失效,它處理來往于客戶IP的通信并且服務器上的NAT表被啟用(步驟504)。
本發(fā)明可作為在一個或多個產品之上或之中體現(xiàn)的一個或多個計算機可讀程序提供。該產品可為軟盤、硬盤、壓縮盤、數(shù)字通用盤、閃存卡、PROM、RAM、ROM或磁帶。通常,計算機可讀程序可以任何編程語言被執(zhí)行。一些可用的語言例如包括C、C++、C#或JAVA。軟件程序可作為目標代碼存儲在一個或多個產品之上或之中。
因為可在不背離本發(fā)明范圍的前提下進行某些改變,所以可預期所有包含在上面描述或顯示在附圖中的內容的闡述是解說性的并且不局限于其字面意思。本領域技術人員會知道本文中描述的系統(tǒng)配置是落入本發(fā)明保護范圍內的多例可能的系統(tǒng)配置。同樣,在說明性流程圖中采用的步驟順序均是舉例,并不是本發(fā)明范圍內的唯一的步驟順序。類似地,除了本文所提到的,在不背離本發(fā)明范圍的前提下,也可用其它數(shù)據(jù)結構來保持數(shù)據(jù)。
權利要求
1.在遠程訪問解決方案中提供故障替補冗余的系統(tǒng),包括至少一個后端服務器上的應用資源;多個網關服務器,所述多個網關服務器之一被指定為主網關服務器,而所述多個網關服務器中的其它服務器被指定為故障替補網關服務器,所述多個網關服務器中的每一個為同一應用主持具有至少一個執(zhí)行應用實例的會話,所述故障替補網關服務器上的各會話被保持在與所述主網關服務器上的會話相同的狀態(tài),所述主網關服務器是所述多個網關服務器中唯一被允許與至少一個應用資源通信的服務器;以及客戶端設備,通過VPN與所述主網關服務器進行通信,所述客戶端設備通過VPN接收至少一個在會話中執(zhí)行的所述主網關服務器上的的應用實例的輸出并將輸入通過VPN發(fā)送給所述主網關服務器;所述接收的輸出由所述客戶端設備在閱讀器上顯示。
2.權利要求1所述的系統(tǒng),還包括各所述故障替補網關服務器上的過濾器,其中由所述故障替補網關服務器上的各會話中的執(zhí)行應用實例發(fā)送的、定址到至少一個應用資源的信息包被截取并丟棄。
3.權利要求1所述的系統(tǒng),其中由所述主網關服務器上的會話通過VPN從所述客戶端設備接收的輸入,被中繼到所述故障替補網關服務器上的各所述會話中的各所述執(zhí)行應用實例。
4.權利要求1所述的系統(tǒng),其中所述主網關服務器上的所述會話中的所述執(zhí)行應用實例接收對向至少一個應用資源的請求的應答,所述應答被復制并轉交給各故障替補網關服務器上的各會話。
5.權利要求1所述的系統(tǒng),其中所述主網關服務器延遲對所述客戶端設備的數(shù)據(jù)傳送,直到各所述故障替補網關服務器上的所述會話與所述主網關服務器同步。
6.權利要求1所述的系統(tǒng),其中所述客戶端設備和所述主網關服務器為分配給所述客戶端設備的IP地址執(zhí)行網絡地址轉換(NAT)。
7.權利要求6所述的系統(tǒng),其中所述故障替補網關服務器中的一個選定服務器被選擇來取代出故障的主網關服務器。
8.權利要求7所述的系統(tǒng),其中所述故障替補網關服務器中被選擇來取代所述出故障的主網關服務器的所述選定服務器,替所述出故障的主網關服務器為所述客戶端設備IP執(zhí)行NAT。
9.權利要求7所述的系統(tǒng),還包括所述多個網關服務器上的各執(zhí)行應用實例的關聯(lián)屏幕緩沖器,與在故障替補網關服務器上執(zhí)行的應用實例關聯(lián)的所述屏幕緩沖器被保持在與所述主網關服務器上的所述執(zhí)行應用實例的屏幕緩沖器相同的狀態(tài)上。
10.權利要求9所述的系統(tǒng),其中所述主網關服務器上的屏幕緩沖器中的內容的副本被轉交給所述客戶端設備進行顯示。
11.用于在遠程訪問解決方案中提供故障替補冗余的方法,包括在后端服務器上提供至少一個應用資源;將多個網關服務器之一指定為主網關服務器,所述個網關服務器中的其它服務器被指定為故障替補網關服務器,所述多個網關服務器中的每一個為同一應用主持具有至少一個執(zhí)行應用實例的會話,所述主網關服務器是所述多個網關服務器中唯一被允許與至少一個應用資源通信的服務器;將所述故障替補網關服務器上的所述會話保持在與所述主網關服務器上的所述會話相同的狀態(tài);以及在通過VPN與所述主網關服務器通信的客戶端設備上接收在所述主網關服務器上的所述會話中執(zhí)行的至少一個應用實例的輸出,所接收的輸出由所述客戶端設備在閱讀器上顯示。
12.權利要求11所述的方法,還包括通過VPN將輸入從所述客戶端設備發(fā)送到所述主網關服務器上的所述會話中的所述執(zhí)行應用實例;以及復制所接收的輸入并將所復制的輸入轉交給在所述故障替補網關服務器上的所述會話中執(zhí)行的各所述應用實例,以將所述故障替補網關服務器中的所述會話保持在與所述主網關服務器上的所述會話相同的狀態(tài)。
13.權利要求11所述的方法,還包括將請求從所述主網關服務器上的所述會話中的所述執(zhí)行應用實例發(fā)送到所述后端服務器上的應用資源;在所述網關服務器處接收對來自所述應用資源的請求的應答;以及在所述主網關服務器處復制所述應答并將所復制的應答轉交給所述故障替補網關服務器上的所述執(zhí)行實例。
14.權利要求11所述的方法,還包括將請求從所述故障替補網關服務器上的所述執(zhí)行應用實例發(fā)送到所述后端服務器上的應用資源;在各自的故障替補網關服務器上截取所述請求;以及丟棄所述請求而不將所述請求轉交給所述應用資源。
15.權利要求11所述的方法,其中所述主網關服務器用遠程幀緩沖(RFB)協(xié)議來將與所述主網關服務器上的所述至少一個應用實例關聯(lián)的屏幕緩沖器中的改變傳送到所述客戶端設備。
16.權利要求11所述的方法,其中所述主網關服務器用遠程顯示協(xié)議(RDP)將與所述主網關服務器上的至少一個應用實例關聯(lián)的所述屏幕緩沖器中的改變傳送到所述客戶端設備。
17.權利要求11所述的方法,其中所述主網關服務器用ICA連接將與所述主網關服務器上的至少一個應用實例關聯(lián)的所述屏幕緩沖器中的改變傳送到所述客戶端設備。
18.權利要求11所述的方法,還包括檢測所述主網關服務器中的故障;以及選擇一個指定的故障替補服務器作為新的主網關服務器,在所述選擇之后,所述新的主網關服務器被允許與至少一個應用資源通信。
19.權利要求18所述的方法,還包括通過使用搏動信標協(xié)議來檢測所述主網關服務器中的故障。
20.權利要求18所述的方法,還包括通過以預定的間隔對所述主網關服務器發(fā)脈沖來檢測所述主網關服務器中的故障。
21.權利要求11所述的方法,還包括在所述主網關服務器處為分配給所述客戶端設備的IP地址執(zhí)行網絡地址轉換(NAT)。
22.權利要求21所述的方法,還包括在新的主網關服務器處為分配給所述客戶端設備的IP地址執(zhí)行網絡地址轉換(NAT)。
全文摘要
討論了在遠程訪問解決方案中提供故障替補冗余的系統(tǒng),其中包括后端服務器上至少一個應用資源。該系統(tǒng)還包括多個網關服務器。多個網關服務器之一被指定為主網關服務器,而其它服務器被指定為故障替補網關服務器。多個網關服務器中每一個為同一應用主持具有至少一個執(zhí)行應用實例的會話,故障替補服務器上的各會話與主網關服務器上的會話保持在相同狀態(tài)。主網關服務器是網關服務器中唯一被允許與應用資源通信的服務器。該系統(tǒng)還包括通過VPN與主網關服務器通信的客戶端設備。該客戶端設備通過VPN接收在主網關服務器上執(zhí)行的會話中的應用實例的輸出。該客戶端設備也通過VPN將輸入發(fā)送給主網關服務器。所接收的輸出由客戶端設備在閱讀器上顯示。
文檔編號H04L29/06GK101076992SQ200580034849
公開日2007年11月21日 申請日期2005年8月11日 優(yōu)先權日2004年8月13日
發(fā)明者G·P·勞, E·布呂格曼, R·羅德里格斯 申請人:塞特里克斯系統(tǒng)公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
淮北市| 阿克陶县| 汉源县| 株洲县| 泸定县| 谷城县| 东乌珠穆沁旗| 海南省| 甘德县| 通道| 天水市| 荣成市| 新河县| 中西区| 安化县| 江山市| 游戏| 马尔康县| 万州区| 南汇区| 南溪县| 庆安县| 万山特区| 定州市| 镇赉县| 庐江县| 广昌县| 宁乡县| 广饶县| 会昌县| 花莲市| 新宾| 怀宁县| 轮台县| 科尔| 海门市| 九寨沟县| 平南县| 松桃| 普安县| 镇平县|