專利名稱:用于開辟基于tcp的客戶端-服務器應用的設備、方法和計算機程序產品的制作方法
相關申請的交叉引用本申請要求于2002年12月3日提出的題目為“Systems andMethods for Tunneling TCP Based Client Server Applications”的共同待決的臨時申請?zhí)枮?0/430,744的美國專利申請的權益,將該篇申請的公開內容引入于此,以供參考。
背景技術:
本發(fā)明涉及經由計算機網絡的通信,具體而言,涉及用于經由全局區(qū)域計算機網絡(諸如互聯(lián)網)跨越企業(yè)網絡界限來開辟基于TCP的客戶端/服務器應用的系統(tǒng)和方法。
隨著互聯(lián)網經濟中企業(yè)之間的相互依賴的增加,企業(yè)在很大程度上依賴于與商業(yè)伙伴、供應商和顧客進行通信以便成功地并且高效率地進行經營活動。
然而,現(xiàn)今,大部分的企業(yè)網絡都可通過一個或多個安全特性來加以防護,這些安全特性包括防火墻。防火墻幫助這些企業(yè)增加對底層數(shù)據(jù)的控制,這樣可以增強他們的商業(yè)保密性。將專用網絡與公共網絡隔開的防火墻的廣泛使用有助于解決IPv4地址的潛在缺陷。作為副作用,防火墻把整體互聯(lián)網分解為多個非全雙向連通的網絡孤立區(qū)。這些孤立區(qū)上的企業(yè)之間的連通性出現(xiàn)了問題。
圖1是被分為多個“網絡孤立區(qū)”105i的網絡系統(tǒng)100的示意性框圖。每個孤立區(qū)105i包括防火墻110i和多個計算系統(tǒng)(例如服務器115i、臺式機120i和膝上型電腦125i)。雖然每個防火墻110i的構成往往彼此不同,但是它們均限制全雙向數(shù)據(jù)流。如圖1所示,防火墻1101后的每個計算系統(tǒng)不是能夠由防火墻1102后的另一計算系統(tǒng)自由地訪問的,盡管它們都具有到公共互聯(lián)網130的連接。
除防火墻110的過濾/阻塞保護特征之外,不同防火墻110i后面的計算系統(tǒng)之間的連通性問題的主要原因是它們使用了不同的專用地址空間。防火墻1101和防火墻1102有助于分別為單個孤立區(qū)1051和1052定義不同的地址空間。在實際情況中,這樣做在公共互聯(lián)網當中隔離出不同的專用區(qū)域。通過應用NAT(網絡地址翻譯),每個孤立區(qū)105i的每個計算系統(tǒng)均能夠訪問互聯(lián)網130,但是將失去所有與每個孤立區(qū)105i內的計算系統(tǒng)的直接IP連通性,除非使用特殊的管理機制來配合防火墻110i。
幾乎每個企業(yè)中都已經采用了許多的基于TCP的客戶端-服務器應用。雖然基于網頁的企業(yè)應用正快速浮現(xiàn),但是對于企業(yè)的日常經營而言,這些基于TCP的客戶端-服務器應用由于提供了豐富的客戶功能而無法被替代。所需要的是這樣一種方法,其可以解決基于TCP的客戶端-服務器應用的訪問問題,以便允許基于TCP的服務器和客戶端應用能夠跨越企業(yè)網絡界限工作并且在企業(yè)網絡內部工作。
發(fā)明內容
本發(fā)明披露了一種開辟系統(tǒng)、方法和計算機程序產品。所述系統(tǒng)包括連接到廣域網的服務發(fā)布/開辟服務器;以及連接到一個或多個計算機系統(tǒng)的服務代理,用于實現(xiàn)一個或多個服務代理功能;其中用于一個或多個客戶端計算機系統(tǒng)的TCP服務經由服務代理從所述服務器獲得。所述方法包括連接服務代理至服務發(fā)布/開辟(tunneling)服務器,其中所述服務器被連接到廣域網,并且所述服務代理被連接到一個或多個計算機系統(tǒng),以便實現(xiàn)一個或多個服務代理功能;把用于特定服務的發(fā)布信息從所述代理發(fā)送至服務器;從所述服務器接收特定服務的服務密鑰;并且使用所述服務密鑰經由所述服務代理從服務器向一個或多個客戶端計算機系統(tǒng)提供特定服務。一種包括承載程序指令的計算機可讀介質的計算機程序產品,當使用均連接到全局區(qū)域網絡的兩個或更多計算系統(tǒng)來執(zhí)行時,所述程序指令用于開辟TCP服務,所執(zhí)行的程序指令執(zhí)行這樣一種方法,所述方法包括連接服務代理至服務發(fā)布/開辟服務器,其中所述服務器被連接到廣域網,并且所述服務代理被連接到一個或多個計算機系統(tǒng),以便實現(xiàn)一個或多個服務代理功能;把用于特定服務的發(fā)布信息從所述代理發(fā)送至服務器;從所述服務器接收特定服務的服務密鑰;并且使用所述服務密鑰經由所述服務代理從服務器向一個或多個客戶端計算機系統(tǒng)提供特定服務。
本發(fā)明提供了這樣一種方法,其可以解決基于TCP的客戶端-服務器應用的訪問問題,以便允許基于TCP的服務器和客戶端應用能夠跨越企業(yè)網絡界限工作并且在企業(yè)網絡內部工作。
圖1是被分為多個“網絡孤立區(qū)”的網絡系統(tǒng)的示意性框圖。
圖2是用于TCP開辟體系結構的優(yōu)選實施例的示意性框圖;圖3是所述服務代理用來發(fā)布基于TCP的客戶端/服務器應用的發(fā)布過程的流程圖;圖4是所述服務器的服務密鑰過程的流程圖;圖5是舉例說明計算機系統(tǒng)上運行的相關軟件組件的功能框圖;圖6是監(jiān)控過程的流程圖;并且圖7是開辟請求處理機過程的流程圖。
具體實施例方式
本發(fā)明解決基于TCP的客戶端-服務器應用的一些訪問問題,具體來說,其提供了這樣一種方法,所述方法發(fā)布基于TCP的客戶端/服務器應用,并且經由全局區(qū)域計算機網絡來開辟相應的客戶端,借此,基于TCP的服務器和客戶端應用能夠依照與它們在企業(yè)網絡內部工作的同樣方式來跨越企業(yè)網絡界限工作。給出隨后的描述以便使本領域普通技術人員能夠作出并且使用本發(fā)明,并且是在專利申請及其要求的環(huán)境下進行描述。對優(yōu)選實施例的修改以及此處所描述的一般原理及特征對于本領域技術人員來說是顯而易見的。由此,本發(fā)明不意指局限于此處所示出的實施例,而是與此處公開的原理和特征相一致的最寬范圍一致。通過參照圖2至7,將會更透徹地理解本發(fā)明的優(yōu)選實施例以及它們的優(yōu)勢。
圖2是用于TCP開辟體系結構200的優(yōu)選實施例的示意性框圖。體系結構200包括用于提供適當?shù)姆掌鳝h(huán)境的服務發(fā)布/開辟服務器205。另外,體系結構200包括專用計算機系統(tǒng)210(或者例如可以是計算機系統(tǒng)1151上的客戶端服務),用于提供實現(xiàn)如下所述的服務代理功能的服務代理環(huán)境。計算機系統(tǒng)120i是基于TCP的客戶端/服務器應用的客戶端部分的環(huán)境,它還包含一組在本發(fā)明中定義的開辟組件;計算機系統(tǒng)1151,1以及1151,2兩者都提供基于TCP的客戶端/服務器應用的服務器部分的環(huán)境。
在圖2中,使用專用計算機系統(tǒng)來配置服務代理2101,如另一優(yōu)選實施例那樣。服務代理210i可以使用與基于TCP的客戶端-服務器應用所使用的相同的計算機系統(tǒng)來運行。本發(fā)明涉及的所述計算機系統(tǒng)可以是任何類型的電子設備,所述電子設備能夠操作指令以便實現(xiàn)本發(fā)明中規(guī)定的功能。在圖2示出的實施例中,所述計算機系統(tǒng)包括處理器、存儲器、存儲盤、操作系統(tǒng)軟件、應用軟件以及通信軟件。處理器可以是任何適當?shù)奶幚砥?,諸如英特爾奔騰系列的處理器的一員。存儲器可以是任何類型的存儲器,諸如DRAM、SRAM。存儲盤可以是諸如硬盤、軟盤的任何類型的設備,所述設備被設計為能夠存儲數(shù)字數(shù)據(jù)。操作系統(tǒng)軟件可以是任何類型的適當?shù)牟僮飨到y(tǒng)軟件,其可以在底層硬件上運行,所述底層硬件諸如Microsoft Windows(例如,Windows NT、Windows 2000、Windows XP)、UNIX的一版本(例如,SunSolaris或者Redhat LINUX)。應用軟件可以是任意的軟件,諸如Microsoft SQL Server、Apache Web Server、計算機輔助設計應用或者任何其他類型的應用。通信軟件包括能夠在計算機系統(tǒng)之間進行數(shù)據(jù)通信的任何類型的軟件,并且所述軟件包括用于實現(xiàn)在本發(fā)明中規(guī)定的功能的指令。
全局區(qū)域計算機網絡100(例如,互聯(lián)網100)包括任何類型的計算機網絡,其包括用于彼此通信的很多計算機。在本發(fā)明的一些實施例中,全局區(qū)域計算機網絡被顯示為互聯(lián)網。
防火墻110i包括用于加強兩個網絡之間的訪問控制的任何硬件設備或者軟件系統(tǒng),特別的是,在本發(fā)明的一些實施例中,所述兩個網絡包括企業(yè)專用網絡和全局區(qū)域計算機網絡100。
如下面將更加詳細描述的那樣,本發(fā)明提供了一種用于經由全局區(qū)域計算機網絡來跨越企業(yè)網絡界限開辟基于TCP的客戶端/服務器應用的系統(tǒng)和方法。
在可以從其它企業(yè)網絡訪問基于TCP的客戶端/服務器應用的一個或多個服務之前,所述服務信息在已知位置上可由所涉及的所有當事人獲得。服務發(fā)布/開辟服務器205提供此功能。另外,利用服務代理210工作時,服務器205還提供了一種能夠在基于TCP的客戶端/服務器應用的客戶端部分和服務器部分之間進行間接連接的機制。
如圖2所示,與服務發(fā)布/開辟服務器205的連接可能需要穿越一個或多個防火墻110。在本人的其它美國專利申請中描述了用于創(chuàng)建這種連接的方法,所述申請為于2003年10月18日提交的申請?zhí)枮?0/419,394的“SYSTEMS AND METHODS FOR BUILDING VIRTUALNETWORKS”,于2003年9月2日提交的申請?zhí)枮?0/653,638的“APPARATUS,METHOD,AND COMPUTER PROGRAM PRODUCT FOR BUILDINGVIRTUAL NETWORKS”,將這兩篇申請的內容合并于此,以供參考。
在優(yōu)選的實施例中,進行了與基于TCP的客戶端/服務器應用有關的論述。為了簡化論述,當涉及術語客戶端/服務器應用時,根據(jù)應用觀點,隱含著存在包含至少兩個部分/過程的應用,一個是其客戶端部分,另一個是其服務器部分。所述優(yōu)選實施例的服務器部分向客戶端部分提供服務,而所述客戶端部分使用所述服務來提供功能,術語“對等服務器”是關于所述應用的服務器部分。例如,在圖2中,服務器115i和客戶端120i可以合作來作為客戶端/服務器應用,其中115i提供所述服務而120i使用所述服務,210i是用于將對它們的客戶端代理由115i提供的所述服務的服務代理,115i運行所述應用的“服務器對等”部分。
圖3是所述服務代理210用于發(fā)布基于TCP的客戶端/服務器應用的發(fā)布過程300的流程圖。在步驟305,服務代理210請求創(chuàng)建至服務發(fā)布/開辟服務器205的連接。優(yōu)選的是,此連接使用在“SYSTEMS ANDMETHODS FOR BUILDING VIRTUAL NETWORKS”中規(guī)定的SSL TunnelingProtocol,必要時,將該篇申請并入本申請,然而也可以使用其他的連接/協(xié)議。步驟310確定所述連接是否成功。當在步驟310確定沒有成功創(chuàng)建連接時,過程300分支到步驟315以便報告錯誤。
然而,當在步驟305成功地創(chuàng)建了所請求的連接,那么過程300從步驟310前進到步驟320。步驟320經由所述連接來發(fā)送服務器發(fā)布信息。
此后,過程300在步驟325測試所述服務器發(fā)布信息是否被成功地發(fā)送。當在步驟325確定沒有成功創(chuàng)建連接時,過程300分支到步驟330以便報告錯誤。
然而,當信息被成功地發(fā)布時,過程300從步驟325前進到步驟335。當所述服務發(fā)布/開辟服務器205接受所述請求時,服務密鑰被返回。服務代理210保存密鑰,并且基于所述密鑰和所請求的發(fā)布中用于日后參考的原始服務器信息來創(chuàng)建映射條目。所述映射條目是基于服務器返回的服務密鑰及其希望發(fā)布以作日后參考的原始服務信息來被創(chuàng)建的。所述服務信息包括服務的地址信息,并且在開辟過程期間、在重定向TCP調用時,所述地址信息應該能夠通過服務代理得以解決。
圖4是所述服務器205的服務密鑰過程400的流程圖。在收到來自于服務代理210的發(fā)布請求時,服務發(fā)布/開辟服務器205執(zhí)行服務密鑰過程400。
過程400從步驟405開始,在步驟405,為所述服務創(chuàng)建偽DNS名稱并且生成用于所述請求的服務密鑰。此偽DNS名稱具有任何固定的DNS名稱,但是不會通過任何DNS服務器來被服務。使用偽DNS名稱的其中一個目的是把不同的服務和處于計算機系統(tǒng)的任何其它的固定DNS名稱加以區(qū)別,其中所述計算機系統(tǒng)執(zhí)行基于TCP的客戶端/服務器應用的客戶端部分。在優(yōu)選的實施例中,所述偽DNS名稱只在客戶端側通過套接掛鉤模塊(socket hooking module)被解析,而不需要與DNS服務器進行任何聯(lián)系。
過程400測試步驟405是否在測試410被完成。當步驟410測試結果為否時,過程400在步驟415經由連接返回錯誤指示。當步驟410的測試結果是肯定的時,過程400在步驟420經由連接返回服務密鑰信息。
所述服務發(fā)布/開辟服務器205為接收到的發(fā)布請求創(chuàng)建服務密鑰,并且它還將基于發(fā)布信息和發(fā)布請求的輸入連接來創(chuàng)建映射條目。
圖5是舉例說明計算機系統(tǒng)1202上運行的相關軟件組件的功能框圖。這些組件包括基于TCP的客戶端/服務器應用的客戶端過程505、重定向器過程510以及套接API掛鉤組件515。軟件組件510和515實現(xiàn)在本發(fā)明中規(guī)定的處理邏輯。
在諸如臺式機1202的所述計算機系統(tǒng)上獲得根據(jù)本發(fā)明的開辟服務以前,重定向器過程510創(chuàng)建與服務發(fā)布/開辟服務器205的連接。
TCP套接API掛鉤組件515是引入客戶端/服務器應用的客戶端過程的軟件模塊,主要目的在于此引入的模塊用于監(jiān)控由客戶端過程產生的套接API調用。對于所有套接API調用來說,如圖6所示那樣來處理gethostbyname()和connect()函數(shù)調用,所有其它的套接API調用將被直接傳遞至系統(tǒng)TCP插槽服務,圖5還示出了此處理流程。
圖6是監(jiān)控過程600的流程圖。過程600(測試步驟605)測試套接調用是否是connect()調用。當在步驟605的測試結果是否定的時,過程600執(zhí)行步驟610并且把所述調用轉送到原始TCP套接函數(shù)。當掛鉤模塊515發(fā)現(xiàn)套接調用是socketconnect()函數(shù)調用時,它在步驟615執(zhí)行另一測試。
在步驟615的測試確定connect()調用是否與從偽服務DNS名稱所解析的偽地址相連接。在服務發(fā)布過程期間,在服務發(fā)布/開辟服務器205創(chuàng)建的任何偽DNS名稱將通過鉤住gethostbyname()函數(shù)調用被解析為偽地址。當目標地址與偽地址不匹配時,過程600執(zhí)行步驟620,并且把connect()調用轉送到原始connect()。
然而,當connect()函數(shù)調用中的目標地址與發(fā)布的服務的偽地址匹配時,過程600從在步驟615的測試前進到步驟625。掛鉤模塊515把IPC(內部處理調用,Inter-Process Call)調用發(fā)送到重定向器過程510,并且請求創(chuàng)建本地套接連接。
在收到IPC調用時,重定向器過程510依次創(chuàng)建本地監(jiān)聽端口以便等待將從所述發(fā)送器創(chuàng)建的本地連接。一旦以后接收到連接請求,它就將經由在它和服務發(fā)布/開辟服務器205之間創(chuàng)建的連接來發(fā)送開辟請求。所述開辟請求包括與偽DNS名稱相關的信息,其中所述偽DNS名稱是通過基于TCP的客戶端/服務器應用的客戶端過程中的套接掛鉤模塊515知道的。
此后,過程600測試(步驟630)步驟625的子進程是否成功。當它成功時,過程600向connect()調用返回一成功代碼(步驟635),并且當它未成功時,過程600向connect()調用返回一錯誤代碼(步驟640)。
圖7是開辟請求處理機過程700的流程圖。在收到來自于客戶端重定向器過程的開辟請求時,服務發(fā)布/開辟服務器205執(zhí)行如圖7所示的過程700。
在步驟705,使用服務發(fā)布/開辟服務器205的過程700搜索其內部數(shù)據(jù)庫以基于開辟請求中的信息尋找與服務代理210匹配的連接。在步驟710,過程700測試對連接的搜索是否找到。
當找到這種連接時,過程700把開辟請求連同相關聯(lián)的服務密鑰一起經由所述連接轉送到服務代理210(步驟715)。當沒有發(fā)現(xiàn)這種連接時,過程700轉送錯誤指示(步驟720)。
在收到服務代理210上的開辟請求時,服務代理210基于接收到的開辟請求來搜索基于TCP的客戶端/服務器應用的原始服務器地址,當這種服務器存在時,它將創(chuàng)建與該服務器的套接連接并且返回成功信息。
所述成功信息將被沿著上述的連接鏈向后傳遞,最終,最初發(fā)出開辟請求的所述客戶端重定向器將結束與掛鉤模塊的本地套接創(chuàng)建,其被引入到基于TCP的客戶端/服務器應用的客戶端過程。因此,來自于所述客戶端過程的socket connect()將以基于TCP的客戶端/服務器應用的客戶端過程和服務器過程之間的連接鏈來結束。這實際上表示能夠跨越企業(yè)網絡界限的虛擬TCP連接。以后在此虛擬TCP連接上發(fā)送的所有數(shù)據(jù)都將被轉送到所述連接鏈中,由此使客戶端/服務器應用平穩(wěn)地通過企業(yè)網絡界限來工作,就好像在單個企業(yè)網絡內工作一樣。
本發(fā)明的優(yōu)選實現(xiàn)方式的其中一個是作為操作系統(tǒng)中的例行程序來實現(xiàn),其由在計算機操作期間、駐留在計算機系統(tǒng)的RAM中可編程步驟或指令組成。直到計算機系統(tǒng)需要,所述程序指令才被存儲在另一可讀介質,例如存儲在盤驅動器中,或者諸如供CD-ROM計算機輸入之用的光盤的可移除存儲器中,或者在供軟盤驅動器計算機輸入使用的軟盤中。此外,所述程序指令可以在用于本發(fā)明的系統(tǒng)之前被存儲在另一計算機的存儲器中,并且當本發(fā)明的用戶需要時,可以經由LAN或者諸如互聯(lián)網的WAN來傳輸。本領域中的普通技術人員應該理解的是,控制本發(fā)明的過程能夠以各種形式的計算機可讀介質的形式被經銷。
已經參照本發(fā)明的特定實施例描述了本發(fā)明。然而,這些實施例僅僅是例證性的,而非對本發(fā)明的限制,本發(fā)明的范圍僅由所附權利要求書來限定。
權利要求
1.一種開辟系統(tǒng),其包括連接到廣域網的服務發(fā)布/開辟服務器;以及連接到一個或多個計算機系統(tǒng)的服務代理,用于實現(xiàn)一個或多個服務代理功能;其中用于所述一個或多個客戶端計算機系統(tǒng)的TCP服務是經由所述服務代理從所述服務器獲得的。
2.如權利要求1所述的開辟系統(tǒng),其中所述一個或多個計算機系統(tǒng)通過一個或多個防火墻獨立于所述服務器。
3.如權利要求1所述的開辟系統(tǒng),其中所述一個或多個計算機系統(tǒng)包含在不同的企業(yè)網絡中。
4.如權利要求3所述的開辟系統(tǒng),其進一步包括在所述一個或多個計算機系統(tǒng)上分布的一個或多個客戶端以及一個或多個服務器應用。
5.如權利要求4所述的開辟系統(tǒng),其中客戶端部分包括到服務器應用的間接連接。
6.如權利要求1所述的開辟系統(tǒng),其中所述TCP服務由所述服務代理發(fā)布到所述服務器。
7.如權利要求6所述的開辟系統(tǒng),其中在創(chuàng)建與所述服務器的連接之后,所述服務代理把發(fā)布信息發(fā)送到所述服務器。
8.如權利要求7所述的開辟系統(tǒng),其中所述服務代理保存由所述服務器返回的服務密鑰。
9.如權利要求8所述的開辟系統(tǒng),其中所述服務代理響應于所述服務密鑰來創(chuàng)建映射條目。
10.如權利要求6所述的開辟系統(tǒng),其中所述服務器為所述服務創(chuàng)建偽DNS名稱。
11.如權利要求6所述的開辟系統(tǒng),其中所述服務器響應于所述發(fā)布信息來創(chuàng)建服務密鑰。
12.如權利要求9所述的開辟系統(tǒng),其中所述服務器為所述服務創(chuàng)建偽DNS名稱。
13.如權利要求9所述的開辟系統(tǒng),其中所述服務器響應于所述發(fā)布信息來創(chuàng)建服務密鑰。
14.如權利要求12所述的開辟系統(tǒng),其中所述服務器響應于所述發(fā)布信息來創(chuàng)建服務密鑰。
15.如權利要求1所述的開辟系統(tǒng),其中所述計算機系統(tǒng)的其中一個包括客戶端應用,并且其中所述客戶端應用包括TCP套接掛鉤服務,以便有選擇地響應TCP服務調用。
16.如權利要求15所述的開辟系統(tǒng),其中所述掛鉤服務響應connect()調用來基于所述connect()調用的內容有選擇地重定向所述調用。
17.如權利要求10所述的開辟系統(tǒng),其中所述計算機系統(tǒng)的其中一個包括客戶端應用,并且其中所述客戶端應用包括TCP套接掛鉤服務,以便有選擇地響應TCP服務調用。
18.如權利要求17所述的開辟系統(tǒng),其中所述掛鉤服務響應connect()調用來基于所述connect()調用的內容有選擇地重定向所述調用。
19.如權利要求18所述的開辟系統(tǒng),其中所述connect()調用的所述內容包括所述偽DNS名稱。
20.如權利要求19所述的開辟系統(tǒng),其中所述一個客戶端應用包括重定向器過程。
21.如權利要求10所述的開辟系統(tǒng),其中在客戶端側解析所述偽DNS。
22.一種用于開辟TCP服務的方法,所述方法包括如下步驟a)連接服務代理與服務發(fā)布/開辟服務器,其中所述服務器被連接到廣域網并且所述服務代理被連接到一個或多個計算機系統(tǒng),所述服務代理用于實現(xiàn)一個或多個服務代理功能;b)把特定服務的發(fā)布信息從所述代理發(fā)送到所述服務器;c)從所述服務器接收所述特定服務的服務密鑰;并且d)使用所述服務密鑰來經由所述服務代理從所述服務器向所述一個或多個客戶端計算機系統(tǒng)提供所述特定服務。
23.如權利要求22所述的方法,還包括e)響應于所述服務密鑰并且響應于所述發(fā)布信息在所述服務代理上創(chuàng)建映射條目。
24.如權利要求23所述的方法,其中所述映射條目包括偽DNS名稱。
25.如權利要求24所述的方法,其中所述偽DNS名稱是由所述服務器響應于所述發(fā)布信息而生成的。
26.如權利要求24所述的方法,其中在客戶端側解析所述DNS名稱。
27.如權利要求26所述的方法,其中在不訪問服務代理外部的外在DNS服務的情況下來解析所述DNS名稱。
28.如權利要求22所述的方法,其進一步包括e)使用重定向器過程把TCP連接調用從客戶端應用經由連接鏈重定向至對等服務器。
29.如權利要求28所述的方法,其中重定向步驟e)響應于所述偽DNS名稱和所述服務密鑰。
30.如權利要求28所述的方法,其中所述連接鏈是起實際TCP連接作用的虛擬TCP連接。
31.如權利要求30所述的方法,其中所述鏈連接按照次序連接所述客戶端應用至所述重定向器過程至所述發(fā)布/開辟服務器至所述服務代理至所述對等服務器。
32.如權利要求31所述的方法,其中所述虛擬TCP連接是其中可以進行雙向數(shù)據(jù)轉送的所述客戶端應用和所述對等服務器之間的雙路連接。
33.一種用于開辟TCP服務的方法,所述方法包括如下步驟a)連接服務代理與服務發(fā)布/開辟服務器,其中所述服務器被連接到廣域網并且所述服務代理被連接到一個或多個計算機系統(tǒng),所述服務代理用于實現(xiàn)一個或多個服務代理功能;b)從所述代理接收所述服務器上的特定服務的發(fā)布信息;以及c)從所述服務器傳輸用于所述特定服務的服務密鑰;其中所述服務密鑰用于從所述服務器經由所述服務代理向所述一個或多個客戶端計算機系統(tǒng)提供所述特定服務。
34.一種用于開辟的設備,其包括用于連接服務代理與服務發(fā)布/開辟服務器的裝置,其中所述服務器被連接到廣域網并且所述服務代理被連接到一個或多個計算機系統(tǒng),所述服務代理用于實現(xiàn)一個或多個服務代理功能;用于從所述代理向所述服務器發(fā)送特定服務的發(fā)布信息的裝置;用于從所述服務器接收所述特定服務的服務密鑰的裝置;以及用于使用所述服務密鑰來經由所述服務代理從所述服務器向所述一個或多個客戶端計算機系統(tǒng)提供所述特定服務的裝置。
35.一種用于開辟的設備,其包括用于連接服務代理與服務發(fā)布/開辟服務器的裝置,其中所述服務器被連接到廣域網并且所述服務代理被連接到一個或多個計算機系統(tǒng),所述服務代理用于實現(xiàn)一個或多個服務代理功能;用于從所述代理接收所述服務器上的特定服務的發(fā)布信息的裝置;以及用于從所述服務器傳輸所述特定服務的服務密鑰的裝置;其中所述服務密鑰用于從所述服務器經由所述服務代理向所述一個或多個客戶端計算機系統(tǒng)提供所述特定服務。
36.一種包括承載程序指令的計算機可讀介質的計算機程序產品,當使用均連接到全局區(qū)域網絡的兩個或更多計算系統(tǒng)來執(zhí)行時,所述程序指令用于開辟TCP服務,所執(zhí)行的程序指令執(zhí)行這樣一種方法,所述方法包括如下步驟a)連接服務代理與服務發(fā)布/開辟服務器,其中所述服務器被連接到廣域網并且所述服務代理被連接到一個或多個計算機系統(tǒng),所述服務代理用于實現(xiàn)一個或多個服務代理功能;b)把特定服務的發(fā)布信息從所述代理發(fā)送到所述服務器;c)用于從所述服務器接收所述特定服務的服務密鑰的裝置;并且d)使用所述服務密鑰來經由所述服務代理從所述服務器向所述一個或多個客戶端計算機系統(tǒng)提供所述特定服務。
37.如權利要求36所述的計算機程序產品,其進一步包括e)響應于所述服務密鑰并且響應于所述發(fā)布信息在所述服務代理上創(chuàng)建映射條目。
38.如權利要求37所述的計算機程序產品,其中所述映射條目包括偽DNS名稱。
39.如權利要求38所述的計算機程序產品,其中所述偽DNS名稱是由所述服務器響應于所述發(fā)布信息而生成的。
40.如權利要求38所述的計算機程序產品,其中在客戶端側解析所述DNS名稱。
41.如權利要求40所述的計算機程序產品,其中在不訪問外部DNS服務的情況下來解析所述DNS名稱。
42.一種包括承載程序指令的計算機可讀介質的計算機程序產品,當使用均連接到全局區(qū)域網絡的兩個或更多計算系統(tǒng)來執(zhí)行時,所述程序指令用于開辟TCP服務,所執(zhí)行的程序指令執(zhí)行這樣一種方法,所述方法包括如下步驟a)連接服務代理與服務發(fā)布/開辟服務器,其中所述服務器被連接到廣域網并且所述服務代理被連接到一個或多個計算機系統(tǒng),所述服務代理用于實現(xiàn)一個或多個服務代理功能;b)從所述代理接收所述服務器上的特定服務的發(fā)布信息;以及c)從所述服務器傳輸用于所述特定服務的服務密鑰;其中所述服務密鑰用于從所述服務器經由所述服務代理向所述一個或多個客戶端計算機系統(tǒng)提供所述特定服務。
全文摘要
本發(fā)明公開了一種開辟系統(tǒng)、方法和計算機程序產品。所述系統(tǒng)包括連接到廣域網(130)的服務發(fā)布/開辟服務器(210和215);連接到一個或多個計算機系統(tǒng)(120)的服務代理(205),用于實現(xiàn)一個或多個服務代理功能;其中用于一個或多個客戶端計算機系統(tǒng)(120)的TCP服務經由服務代理(205)從服務器(210)獲得。所述方法包括把服務代理(205)連接至服務發(fā)布開辟服務器(210),其中所述服務器(210)被連接到廣域網(130),并且所述服務代理(205)被連接到一個或多個計算機系統(tǒng)(120),用于實現(xiàn)一個或多個服務代理功能;把特定服務的發(fā)布信息從代理(205)發(fā)送至服務器(210);從服務器(210)接收用于特定服務的服務密鑰;并且使用所述服務密鑰來從所述服務器(210)經由服務代理(205)向一個或多個客戶端計算機系統(tǒng)(210)提供特定服務。一種包括承載程序指令的計算機可讀介質的計算機程序產品,當使用均連接到全局區(qū)域網絡(130)的兩個或更多計算系統(tǒng)(210和120)來執(zhí)行時,所述程序指令用于開辟TCP服務,所執(zhí)行的程序指令執(zhí)行這樣一種方法,所述方法包括把服務代理(205)連接至服務發(fā)布開辟服務器(210),其中所述服務器(210)被連接到廣域網(130),并且所述服務代理(205)被連接到一個或多個計算機系統(tǒng)(120),用于實現(xiàn)一個或多個服務代理功能;把特定服務的發(fā)布信息從代理(205)發(fā)送至服務器(210);從服務器(210)接收用于特定服務的服務密鑰;并且使用所述服務密鑰來從所述服務器(210)經由服務代理(205)向一個或多個客戶端計算機系統(tǒng)(120)提供特定服務。
文檔編號G06F15/16GK1735876SQ200380108259
公開日2006年2月15日 申請日期2003年11月26日 優(yōu)先權日2002年12月3日
發(fā)明者楊光紅 申請人:科拉圖斯公司