專利名稱:用于ssl vpn免客戶機(jī)訪問的策略驅(qū)動的細(xì)粒度url編碼機(jī)制的制作方法
技術(shù)領(lǐng)域:
本申請總的涉及數(shù)據(jù)通信網(wǎng)絡(luò)。更具體地,本申請涉及用于對于免客戶機(jī)安全套 接字層(SSL)虛擬專用網(wǎng)絡(luò)(VPN)訪問場景的細(xì)粒度配置和策略驅(qū)動的統(tǒng)一資源定位符 (URL)編碼方案的系統(tǒng)和方法。
背景技術(shù):
公司或者企業(yè)可以通過網(wǎng)絡(luò)提供不同的服務(wù)來服務(wù)多個客戶機(jī)。一些客戶機(jī)期望 請求訪問專用網(wǎng)絡(luò)上的資源。例如,用戶可以從公用位置或者網(wǎng)絡(luò)經(jīng)由虛擬專用網(wǎng)絡(luò)連接 來訪問企業(yè)的專用網(wǎng)絡(luò)。用戶可以訪問期望保護(hù)的資源。提供者可以允許客戶機(jī)訪問資源 但期望保護(hù)專用網(wǎng)絡(luò)上資源的標(biāo)識或者位置。例如,資源可以典型地通過統(tǒng)一資源定位符 (URL)來識別。如果提供者提供了專用網(wǎng)絡(luò)上的資源的URL,客戶機(jī)或者用戶可以嘗試經(jīng)由 不安全裝置或者直接從虛擬專用網(wǎng)絡(luò)連接外部獲取對該資源的訪問?;谠L問場景,提供 者可以不期望直接提供專用網(wǎng)絡(luò)上的URL給客戶機(jī)。
發(fā)明內(nèi)容
本申請通過允許提供者基于訪問場景使用不同方案來編碼URL并且選擇編碼方 案用于不同客戶機(jī)來提供對于這些問題的解決方案。在一些場景中,這樣的保護(hù)可以包括 遮掩或者改變資源的URL以使得客戶機(jī)不能查看資源位置但允許客戶機(jī)能夠訪問資源本 身。在一些場景中,提供資源給客戶機(jī)而不允許客戶機(jī)查看資源的位置可以通過對客戶機(jī) 接收的URL進(jìn)行重寫、模糊化或者加密來實現(xiàn)。有時,提供者可以期望根據(jù)客戶機(jī)的信用、 關(guān)于客戶機(jī)的安全程度或客戶機(jī)的類型的多種方式來改變URL。在一些方面,本申請涉及用于經(jīng)由代理對于免客戶機(jī)安全套接字層虛擬專用網(wǎng)絡(luò) (SSL VPN)從多個編碼方案中確定統(tǒng)一資源定位符(URL)的編碼方案的方法和系統(tǒng)。中間 設(shè)備或者設(shè)備可以從服務(wù)器接收包括URL的響應(yīng)。來自服務(wù)器的響應(yīng)可以經(jīng)由SSL VPN會 話并經(jīng)由中間設(shè)備指向客戶機(jī)。中間設(shè)備可以在客戶機(jī)和服務(wù)器之間建立SSL VPN會話。 中間設(shè)備可以響應(yīng)于編碼策略來從多個用于編碼URL的編碼方案中確定編碼方案。中間設(shè) 備還可以根據(jù)確定的編碼方案來重寫該URL以傳輸?shù)娇蛻魴C(jī)。在一些實施例中,該策略是確定至少一個規(guī)則來觸發(fā)關(guān)于所建立會話的至少一個 動作的會話策略。在許多實施例中,編碼方案去除URL的一部分。在許多實施例中,編碼方案使用另一個URL的一部分來重寫該URL的一部分。在許多實施例中,編碼方案使用一個 或多個加密密鑰對URL的一部分進(jìn)行加密。在多個實施例中,編碼方案是透明的編碼方案。 在多個實施例中,編碼方案是不透明的編碼方案。在多個實施例中,編碼方案使用可逆轉(zhuǎn)換 機(jī)制來轉(zhuǎn)換URL。有時,編碼方案是加密URL—部分的加密的編碼方案。在許多實施例中, 編碼方案將URL重寫為唯一的標(biāo)識符,該唯一標(biāo)識符唯一識別該URL。在多個實施例中,編 碼方案使得來自URL的有關(guān)服務(wù)器的目錄結(jié)構(gòu)的信息模糊化。在一些實施例中,中間設(shè)備經(jīng)由第二 SSL VPN會話來接收從服務(wù)器到第二客戶機(jī) 的包括第二 URL的第二響應(yīng)。中間設(shè)備可以在第二客戶機(jī)和服務(wù)器之間建立第二 SSL VPN 會話。該中間設(shè)備可以響應(yīng)于編碼策略來從多個用于編碼URL的編碼方案確定第二編碼方 案。中間設(shè)備還可以根據(jù)確定的第二編碼方案來重寫該第二 URL以傳輸?shù)降诙蛻魴C(jī)。在 一些實施例中,該策略是確定至少一個規(guī)則來觸發(fā)關(guān)于所建立的SSL VPN會話的至少一個 動作的第二 SSL VPN會話策略。在一些方面中,本申請涉及用于經(jīng)由代理對于免客戶機(jī)安全套接字層虛擬專用網(wǎng) 絡(luò)(SSL VPN)從多個編碼方案中確定統(tǒng)一資源定位符(URL)的編碼方案的中間設(shè)備。在一 些實施例中,中間設(shè)備還可以稱為設(shè)備或者代理。中間設(shè)備可以包括用于經(jīng)由SSL VPN會 話接收包括從服務(wù)器到客戶機(jī)的URL的響應(yīng)的包引擎。中間設(shè)備可以在客戶機(jī)和服務(wù)器之 間建立SSL VPN會話。中間設(shè)備還可以包括響應(yīng)于編碼策略來從多個用于編碼URL的編碼 方案中確定編碼方案的策略引擎。中間設(shè)備還可以包括響應(yīng)于策略引擎根據(jù)確定的編碼方 案來重寫該URL以便傳輸?shù)娇蛻魴C(jī)的重寫器。在一些實施例中,中間設(shè)備的策略是確定至少一個規(guī)則來觸發(fā)關(guān)于所建立SSL VPN會話的至少一個動作的會話策略。在許多實施例中,編碼方案移除URL的一部分。有 時,編碼方案使用另一個URL的一部分來重寫該URL的一部分。在多個實施例中,編碼方案 使用一個或者多個加密密鑰來加密URL的一部分。編碼方案可以是透明的編碼方案。透明 的編碼方案可以修改URL使得修改的URL包括所修改的URL中原始URL的一部分或者全部。 在一些實施例中,編碼方案是不透明的編碼方案。不透明的編碼方案可以修改URL,使得修 改的URL不包括所修改的URL中原始URL的一部分。在許多實施例中,包引擎經(jīng)由第二 SSL VPN會話來接收包括從服務(wù)器到第二客戶 機(jī)的第二 URL的第二響應(yīng)。中間設(shè)備可以在第二客戶機(jī)和服務(wù)器之間建立第二 SSL VPN會 話。該策略引擎可以響應(yīng)于編碼策略來從多個編碼方案中確定第二編碼方案用于編碼第二 URL。重寫器可以響應(yīng)于策略引擎根據(jù)確定的第二編碼方案來重寫該第二 URL以便傳輸?shù)?客戶機(jī)。在一些實施例中,該策略是確定至少一個規(guī)則來觸發(fā)關(guān)于所建立的第二 SSL VPN 會話的至少一個動作的第二 SSL VPN會話策略。
參考結(jié)合附圖的以下描述,本發(fā)明的前述和其他對象、方面、特征和優(yōu)勢將會變得 更加明顯更好理解,其中圖1A、1B和IC是用于客戶機(jī)經(jīng)由一個或者多個設(shè)備來訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的 實施例的框圖;圖ID是經(jīng)由設(shè)備來將計算環(huán)境從服務(wù)器遞送到客戶機(jī)的環(huán)境的實施例的框圖IE和IF是計算裝置的實施例的框圖;圖2A是處理在客戶機(jī)和服務(wù)器之間的通信的設(shè)備的實施例的框圖;圖2B是用于優(yōu)化、加速、負(fù)載平衡和路由在客戶機(jī)和服務(wù)器之間的通信的設(shè)備的 另一個實施例的框圖;圖3A是免客戶機(jī)虛擬專用網(wǎng)絡(luò)經(jīng)由設(shè)備訪問服務(wù)器的實施例的框圖;圖3B是免客戶機(jī)虛擬專用網(wǎng)絡(luò)經(jīng)由設(shè)備訪問服務(wù)器的另一個實施例的框圖;圖4B是經(jīng)由設(shè)備的細(xì)粒度策略和配置驅(qū)動的統(tǒng)一資源定位符(URL)重寫和編碼 的實施例的框圖。根據(jù)以下結(jié)合附圖提出的詳細(xì)描述,本發(fā)明的特征和優(yōu)勢將變得更加明顯,其中 相同的參考特征在全文中標(biāo)識對應(yīng)元件。在附圖中,同樣的附圖標(biāo)記通常指示相同的、功能 類似的和/或結(jié)構(gòu)類似的元件。
具體實施例方式A.網(wǎng)絡(luò)和計算環(huán)境在討論設(shè)備和/或客戶機(jī)的系統(tǒng)和方法的實施例的細(xì)節(jié)之前,討論可以部署這樣 的實施例的網(wǎng)絡(luò)和計算環(huán)境是有幫助的?,F(xiàn)在參考圖1A,描述了網(wǎng)絡(luò)環(huán)境的一個實施例。 總的來說,網(wǎng)絡(luò)環(huán)境包括經(jīng)由一個或多個網(wǎng)絡(luò)104和104'(通常被稱為網(wǎng)絡(luò)104)與一個 或多個服務(wù)器106a-106n (通常也被稱為服務(wù)器106或遠(yuǎn)程機(jī)器106)通信的一個或多個客 戶機(jī)102a-102n(通常也被稱為本地機(jī)器102或客戶機(jī)102)。在一些實施例中,客戶機(jī)102 經(jīng)由設(shè)備200與服務(wù)器106通信。雖然圖IA示出客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)104和網(wǎng)絡(luò)104',但客戶機(jī) 102和服務(wù)器106可以在同一個網(wǎng)絡(luò)104上。網(wǎng)絡(luò)104和104'可以是相同類型的網(wǎng)絡(luò)或 不同類型的網(wǎng)絡(luò)。網(wǎng)絡(luò)104和/或網(wǎng)絡(luò)104'可以是像公司內(nèi)聯(lián)網(wǎng)的局域網(wǎng)(LAN)、城域網(wǎng) (MAN)或者諸如因特網(wǎng)或萬維網(wǎng)的廣域網(wǎng)(WAN)。在一個實施例中,網(wǎng)絡(luò)104'可以是專用 網(wǎng)而網(wǎng)絡(luò)104可以是公用網(wǎng)。在一些實施例中,網(wǎng)絡(luò)104可以是專用網(wǎng)而網(wǎng)絡(luò)104'可以 是公用網(wǎng)。在另一個實施例中,網(wǎng)絡(luò)104和104'可以都是專用網(wǎng)。在一些實施例中,客戶 機(jī)102可以位于公司的分支機(jī)構(gòu),經(jīng)由網(wǎng)絡(luò)104上的WAN連接來與位于公司的數(shù)據(jù)中心的 服務(wù)器106進(jìn)行通信。網(wǎng)絡(luò)104和/或104'可以是任一類型和/或形式的網(wǎng)絡(luò),并且可以包括下列任意 一種網(wǎng)絡(luò)點(diǎn)到點(diǎn)網(wǎng)絡(luò)、廣播網(wǎng)、廣域網(wǎng)、局域網(wǎng)、電信網(wǎng)、數(shù)據(jù)通信網(wǎng)、計算機(jī)網(wǎng)絡(luò)、ATM(異 步傳送模式)網(wǎng)絡(luò)、SONET (同步光網(wǎng)絡(luò))網(wǎng)絡(luò)、SDH(同步數(shù)字系列)網(wǎng)絡(luò)、無線網(wǎng)絡(luò)和有 線網(wǎng)絡(luò)。在一些實施例中,網(wǎng)絡(luò)104可以包括諸如紅外信道或衛(wèi)星頻帶的無線鏈路。網(wǎng)絡(luò) 104和/或104'的拓?fù)浣Y(jié)構(gòu)可以是總線型、星型或環(huán)型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)104和/或 104'以及網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以是能夠支持此處描述的操作的本領(lǐng)域內(nèi)普通技術(shù)人員所知的 任一種這樣的網(wǎng)絡(luò)或網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。如圖IA所示,在網(wǎng)絡(luò)104和104'之間示出也可以被稱為接口單元200或網(wǎng)關(guān)200 的設(shè)備200。在一些實施例中,設(shè)備200可以位于網(wǎng)絡(luò)104上。例如,公司的分支機(jī)構(gòu)可以 在所述分支機(jī)構(gòu)處部署設(shè)備200。在其它實施例中,設(shè)備200可以位于網(wǎng)絡(luò)104'上。例如, 設(shè)備200可以位于公司的數(shù)據(jù)中心。在又一個實施例中,多個設(shè)備200可以部署在網(wǎng)絡(luò)104上。在一些實施例中,多個設(shè)備200可以部署在網(wǎng)絡(luò)104'上。在一個實施例中,第一設(shè)備 200與第二設(shè)備200'相通信。在其它的實施例中,設(shè)備200可以是在與客戶機(jī)102相同或 不同的網(wǎng)絡(luò)104,104'上的任一客戶機(jī)102或服務(wù)器106的一部分。一個或多個設(shè)備200 可以位于在客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)或網(wǎng)絡(luò)通信路徑中的任一點(diǎn)處。在一些實施例中,設(shè)備200包括被稱為Citrix NetScaler裝置的由位于 Ft. Lauderdale Florida的Citrix Systems公司制造的任一網(wǎng)絡(luò)裝置。在其它實施例中,設(shè) 備200包括由位于Seattle, Washington的F5Networks公司制造的被稱為WebAccelerator 和BigIP的任意一個產(chǎn)品實施例。在另一個實施例中,設(shè)備205包括由位于Sunnyvale, California的Juniper Networks公司制造的DX加速裝置平臺和/或諸如SA700、SA2000、 SA4000和SA6000裝置的SSL VPN系列裝置中的任意一個。在又一個實施例中,設(shè)備200 包括由位于San Jose, California的CiscoSystems公司制造的任一應(yīng)用加速和/或安全 相關(guān)的設(shè)備和/或軟件,例如Cisco ACE應(yīng)用控制引擎模塊業(yè)務(wù)(Application Control Engine Moduleservice)軟件和網(wǎng)絡(luò)模塊以及Cisco AVS系列應(yīng)用速度系統(tǒng)(Application Velocity System)。在一個實施例中,該系統(tǒng)可以包括多個、邏輯分組的服務(wù)器106。在這些實施例 中,服務(wù)器的邏輯分組可以被稱為服務(wù)器群組38。在這些實施例中的一些實施例中,服務(wù) 器106可以是在地理上分散的。有時候,群組38可以被管理為單一的實體。在其它實施例 中,服務(wù)器群組38包括多個服務(wù)器群組38。在一個實施例中,服務(wù)器群組代表一個或多個 客戶機(jī)102來執(zhí)行一個或多個應(yīng)用。在每個群組38中的服務(wù)器106可以是不同種類的。一個或多個服務(wù)器106可 以根據(jù)一種類型的操作系統(tǒng)平臺(例如,由位于Redmond,Washington的微軟公司出品的 WINDOWS NT)來進(jìn)行操作,而一個或多個其它的服務(wù)器106可以根據(jù)另一種類型的操作系 統(tǒng)平臺(例如,Unix或Linux)來進(jìn)行操作。每個群組38中的服務(wù)器106不需要與同一群 組38中的另一個服務(wù)器106物理上接近。因此,邏輯上被分組為群組38的服務(wù)器106的 分組可以使用廣域網(wǎng)(WAN)連接或中域網(wǎng)(medium-areanetwork,MAN)連接來互連。例如, 群組38可以包括在物理上位于不同的洲或位于一個洲、國家、州、城市、校園或房間的不同 區(qū)域的服務(wù)器106。如果使用局域網(wǎng)(LAN)連接或一些形式的直接連接來連接服務(wù)器106, 則可以增加在群組38中的服務(wù)器106之間的數(shù)據(jù)傳輸速度。服務(wù)器106可以被稱為文件服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)器、代理服務(wù)器或網(wǎng)關(guān) 服務(wù)器。在一些實施例中,服務(wù)器106可以有能力起到應(yīng)用服務(wù)器或主應(yīng)用服務(wù)器的作用。 在一個實施例中,服務(wù)器106可以包括活動目錄(Active Directory) 0客戶機(jī)102也可以 被稱為客戶機(jī)節(jié)點(diǎn)或端點(diǎn)。在一些實施例中,客戶機(jī)102有能力起到尋求訪問服務(wù)器上的 應(yīng)用的客戶機(jī)節(jié)點(diǎn)以及作為對于其它的客戶機(jī)102a-102n提供對寄載的應(yīng)用的訪問的應(yīng) 用服務(wù)器的作用。在一些實施例中,客戶機(jī)102與服務(wù)器106進(jìn)行通信。在一個實施例,客戶機(jī)102 直接與群組38中的服務(wù)器106的其中一個進(jìn)行通信。在另一個實施例中,客戶機(jī)102執(zhí)行 程序鄰近應(yīng)用以與群組38中的服務(wù)器106進(jìn)行通信。在又一個實施例中,服務(wù)器106提供 主節(jié)點(diǎn)的功能。在一些實施例中,客戶機(jī)102通過網(wǎng)絡(luò)104與群組38中的服務(wù)器106進(jìn)行 通信。例如,通過網(wǎng)絡(luò)104,客戶機(jī)102可以請求執(zhí)行由群組38中的服務(wù)器106a-106n寄載的多個應(yīng)用,并接收應(yīng)用執(zhí)行的輸出結(jié)果用于顯示。在一些實施例中,只有主節(jié)點(diǎn)提供所要 求的識別并提供與寄載被請求的應(yīng)用的服務(wù)器106'相關(guān)的地址信息的功能。在一個實施例中,服務(wù)器106提供web服務(wù)器的功能。在另一個實施例中,服務(wù)器 106a從客戶機(jī)102接收請求,將請求轉(zhuǎn)發(fā)到第二服務(wù)器106b,并使用來自于服務(wù)器106b的 對請求的響應(yīng)來對客戶機(jī)102的請求進(jìn)行響應(yīng)。在又一個實施例中,服務(wù)器106獲得客戶機(jī) 102可用的應(yīng)用的列舉以及與寄載由所述應(yīng)用的列舉所標(biāo)識的應(yīng)用的服務(wù)器106相關(guān)的地 址信息。在又一個實施例中,服務(wù)器106使用web接口將對請求的響應(yīng)提供給客戶機(jī)102。 在一個實施例中,客戶機(jī)102直接與服務(wù)器106進(jìn)行通信以訪問所標(biāo)識的應(yīng)用。在另一個 實施例中,客戶機(jī)102接收由執(zhí)行服務(wù)器106上的標(biāo)識的應(yīng)用所生成的諸如顯示數(shù)據(jù)的應(yīng) 用輸出數(shù)據(jù)?,F(xiàn)在參考圖1B,描述了部署多個設(shè)備200的網(wǎng)絡(luò)環(huán)境的實施例。第一設(shè)備200可 以部署在第一網(wǎng)絡(luò)104上,而第二設(shè)備200'部署在第二網(wǎng)絡(luò)104'上。例如,公司可以在 分支機(jī)構(gòu)部署第一設(shè)備200,而在數(shù)據(jù)中心部署第二設(shè)備200'。在另一個實施例中,第一 設(shè)備200和第二設(shè)備200'被部署在同一個網(wǎng)絡(luò)104或網(wǎng)絡(luò)104'上。例如,第一設(shè)備200 可以部署用于第一服務(wù)器群組38,而第二設(shè)備200'可以部署用于第二服務(wù)器群組38'。 在另一個實例中,第一設(shè)備200可 以部署在第一分支機(jī)構(gòu),而第二設(shè)備200'被部署在第二 分支機(jī)構(gòu)'。在一些實施例中,第一設(shè)備200和第二設(shè)備200'彼此協(xié)同或聯(lián)合工作,以加 速客戶機(jī)和服務(wù)器之間的網(wǎng)絡(luò)業(yè)務(wù)量或應(yīng)用和數(shù)據(jù)的遞送。現(xiàn)在參考圖1C,描述了使用一個或多個其它類型的設(shè)備(例如在一個或多個WAN 優(yōu)化設(shè)備205,205'之間的設(shè)備),來部署設(shè)備200的網(wǎng)絡(luò)環(huán)境的另一個實施例。例如,第 一 WAN優(yōu)化設(shè)備205顯示在網(wǎng)絡(luò)104和104'之間,而第二 WAN優(yōu)化設(shè)備205‘可以部署在 設(shè)備200和一個或多個服務(wù)器106之間。通過示例,公司可以在分支機(jī)構(gòu)部署第一 WAN優(yōu) 化設(shè)備205,而在數(shù)據(jù)中心部署第二 WAN優(yōu)化設(shè)備205'。在一些實施例中,設(shè)備205可以 位于網(wǎng)絡(luò)104'上。在其它實施例中,設(shè)備205'可以位于網(wǎng)絡(luò)104上。在一些實施例中, 設(shè)備205'可以位于網(wǎng)絡(luò)104'或網(wǎng)絡(luò)104〃上。在一個實施例中,設(shè)備205和205'在同 一個網(wǎng)絡(luò)上。在另一個實施例中,設(shè)備205和205'在不同的網(wǎng)絡(luò)上。在另一個實例中,第 一 WAN優(yōu)化設(shè)備205可以部署用于第一服務(wù)器群組38,而第二 WAN優(yōu)化設(shè)備205'可以部 署用于第二服務(wù)器群組38'。在一個實施例中,設(shè)備205是用于加速、優(yōu)化或者以其他方式改善諸如往和/或返 于WAN連接的業(yè)務(wù)量的任一類型和形式的網(wǎng)絡(luò)業(yè)務(wù)量的性能、操作或服務(wù)質(zhì)量的裝置。在 一些實施例中,設(shè)備205是一個性能提高的代理。在其它實施例中,設(shè)備205是任一類型 和形式的WAN優(yōu)化或加速裝置,有時也被稱為WAN優(yōu)化控制器。在一個實施例中,設(shè)備205 是由位于Ft. Lauderdale Florida的Citrix Systems公司出品的被稱為WANScaler的產(chǎn) 品實施例中的任意一種。在其它實施例中,設(shè)備205包括由位于Seattle,Washington的 F5Networks公司出品的被稱為BIG-IP鏈路控制器和WANjet的產(chǎn)品實施例中的任意一種。 在另一個實施例中,設(shè)備205包括由位于Sunnyvale,California的Juniper Netfforks公 司出品的WX和WXC WAN加速裝置平臺中的任意一種。在一些實施例中,設(shè)備205包括由 San Francisco, California 的 Riverbed Technology 公司出品的虹鱒(steelhead)系列 WAN優(yōu)化設(shè)備中的任意一種。在其它實施例中,設(shè)備205包括由位于Roseland,NewJersey的Expand Networks公司出品的WAN相關(guān)裝置中的任意一種。在一個實施例中,設(shè)備205 包括由位于Cupertino,California的Packeteer公司出品的任意一種WAN相關(guān)設(shè)備,例如 由Packeteer提供的PacketShaper、iShared和SkyX產(chǎn)品實施例。在又一個實施例中,設(shè) 備205包括由位于San Jose, California的Cisco Systems公司出品的任一 WAN相關(guān)設(shè)備 和/或軟件,例如Cisco廣域網(wǎng)應(yīng)用服務(wù)軟件和網(wǎng)絡(luò)模塊以及廣域網(wǎng)引擎設(shè)備。在一個實施例中,設(shè)備205提供用于分支機(jī)構(gòu)或遠(yuǎn)程辦公室的應(yīng)用和數(shù)據(jù)加速業(yè) 務(wù)。在一個實施例中,設(shè)備205包括廣域文件服務(wù)(WAFS)的優(yōu)化。在另一個實施例中,設(shè) 備205加速文件的遞送,例如經(jīng)由通用Internet文件系統(tǒng)(CIFS)協(xié)議。在其它實施例中, 設(shè)備205在存儲器和/或存儲設(shè)備中提供高速緩存來加速應(yīng)用和數(shù)據(jù)的遞送。在一個實 施例中,設(shè)備205提供在任一級別的網(wǎng)絡(luò)堆?;蛟谌我坏膮f(xié)議或網(wǎng)絡(luò)層的網(wǎng)絡(luò)業(yè)務(wù)量的壓 縮。在另一個實施例中,設(shè)備205提供傳輸層協(xié)議優(yōu)化、流量控制、性能增強(qiáng)或修改和/或 管理,以加速WAN連接上的應(yīng)用和數(shù)據(jù)的遞送。例如,在一個實施例中,設(shè)備205提供傳輸 控制協(xié)議(TCP)優(yōu)化。在其它實施例中,設(shè)備205提供對于任一會話或應(yīng)用層協(xié)議的優(yōu)化、 流量控制、性能增強(qiáng)或修改和/或管理。在另一個實施例中,設(shè)備205將任一類型和形式的數(shù)據(jù)或信息編碼成網(wǎng)絡(luò)分組的 定制或標(biāo)準(zhǔn)的TCP和/或IP報頭字段或可選字段,以將存在、功能或能力通告給另一個設(shè) 備205'。在另一個實施例中,設(shè)備205'可以使用在TCP和/或IP報頭字段或選項中編 碼的數(shù)據(jù)來與另一個設(shè)備205'進(jìn)行通信。例如,設(shè)備可以使用TCP選項或IP報頭字段或 選項來傳達(dá)在執(zhí)行諸如WAN加速的功能時或者為了彼此聯(lián)合工作而由設(shè)備205,205'所使 用的一個或多個參數(shù)。在一些實施例中,設(shè)備200保存在設(shè)備205和205'之間傳達(dá)的TCP和/或IP報頭 和/或可選字段中編碼的任一信息。例如,設(shè)備200可以終止經(jīng)過設(shè)備200的傳輸層連接, 例如經(jīng)過設(shè)備205和205'的在客戶機(jī)和服務(wù)器之間的一個傳輸層連接。在一個實施例中, 設(shè)備200識別并保存在由第一設(shè)備205通過第一傳輸層連接發(fā)送的傳輸層分組中的任一編 碼信息,并經(jīng)由第二傳輸層連接來將具有編碼信息的傳輸層分組傳達(dá)到第二設(shè)備205'?,F(xiàn)在參考圖1D,描述了用于遞送和/或操作客戶機(jī)102上的計算環(huán)境的網(wǎng)絡(luò)環(huán)境。 在一些實施例中,服務(wù)器106包括用于將計算環(huán)境或應(yīng)用和/或數(shù)據(jù)文件遞送給一個或多 個客戶機(jī)102的應(yīng)用遞送系統(tǒng)190。簡單概述,客戶機(jī)10經(jīng)由網(wǎng)絡(luò)104、104'和設(shè)備200 與服務(wù)器106通信。例如,客戶機(jī)102可以駐留在例如分支機(jī)構(gòu)的公司的遠(yuǎn)程辦公室,而服 務(wù)器106可以駐留在公司的數(shù)據(jù)中心??蛻魴C(jī)102包括客戶機(jī)代理120和計算環(huán)境15。計 算環(huán)境15可以執(zhí)行或操作訪問、處理或使用數(shù)據(jù)文件的應(yīng)用??梢越?jīng)由設(shè)備200和/或服 務(wù)器106來遞送計算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件。在一些實施例中,設(shè)備200加速將計算環(huán)境15或其任一部分遞送給客戶機(jī)102。 在一個實施例中,設(shè)備200通過應(yīng)用遞送系統(tǒng)190來加速計算環(huán)境15的遞送。例如,此處 描述的實施例可以用來將可由應(yīng)用處理的流應(yīng)用和數(shù)據(jù)文件加速從中央的公司數(shù)據(jù)中心 遞送到遠(yuǎn)程用戶的位置,例如公司的分支機(jī)構(gòu)。在另一個實施例中,設(shè)備200加速在客戶機(jī) 102和服務(wù)器106之間的傳輸層業(yè)務(wù)量。設(shè)備200可以提供用于加速從服務(wù)器106到客戶 機(jī)102的任一傳輸層有效載荷的加速技術(shù),例如1)傳輸層連接池,2)傳輸層連接多路復(fù) 用,3)傳輸控制協(xié)議緩沖,4)壓縮和5)高速緩存。在一些實施例中,設(shè)備200提供響應(yīng)于客戶機(jī)102的請求的服務(wù)器106的負(fù)載平衡。在其它實施例中,設(shè)備200充當(dāng)代理或訪問服 務(wù)器以提供對一個或多個服務(wù)器106的訪問。在另一個實施例中,設(shè)備200提供從客戶機(jī) 102的第一網(wǎng)絡(luò)104到服務(wù)器106的第二網(wǎng)絡(luò)104'的安全虛擬專用網(wǎng)連接,例如SSL VPN 連接。在又一些實施例中,設(shè)備200提供在客戶機(jī)102和服務(wù)器106之間的連接和通信的 應(yīng)用防火墻安全、控制和管理。在一些實施例中,應(yīng)用遞送管理系統(tǒng)190根據(jù)多個執(zhí)行方法以及根據(jù)經(jīng)由策略引 擎195應(yīng)用的任一驗證和授權(quán)策略來提供將計算環(huán)境遞送到遠(yuǎn)端或另外的用戶的桌面的 應(yīng)用遞送技術(shù)。使用這些技術(shù),遠(yuǎn)程用戶可以從任一網(wǎng)絡(luò)連接裝置100獲取計算環(huán)境以及 訪問服務(wù)器存儲的應(yīng)用和數(shù)據(jù)文件。在一個實施例中,應(yīng)用遞送系統(tǒng)190可以駐留于服務(wù) 器106或在服務(wù)器106上執(zhí)行。在另一個實施例中,應(yīng)用遞送系統(tǒng)190可以駐留于多個服務(wù) 器106a-106n上或在多個服務(wù)器106a-106n上執(zhí)行。在一些實施例中,應(yīng)用遞送系統(tǒng)190可 以在服務(wù)器群組38中執(zhí)行。在一個實施例中,執(zhí)行應(yīng)用遞送系統(tǒng)190的服務(wù)器106還可以 存儲或提供應(yīng)用和數(shù)據(jù)文件。在另一個實施例中,第一組的一個或多個服務(wù)器106可以執(zhí) 行應(yīng)用遞送系統(tǒng)190,而不同的服務(wù)器106η可以存儲或提供應(yīng)用和數(shù)據(jù)文件。在一些實施 例中,應(yīng)用遞送系統(tǒng)190、應(yīng)用和數(shù)據(jù)文件中的每一個可以駐留或位于不同的服務(wù)器上。在 又一個實施例中,應(yīng)用遞送系統(tǒng)190的任一部分可以駐留、執(zhí)行或保存或被分配于設(shè)備200 或多個設(shè)備??蛻魴C(jī)102可以包括用于執(zhí)行使用或處理數(shù)據(jù)文件的應(yīng)用的計算環(huán)境15。客戶機(jī) 102可以經(jīng)由網(wǎng)絡(luò)104、104'和設(shè)備200來從服務(wù)器106請求應(yīng)用和數(shù)據(jù)文件。在一個實 施例中,設(shè)備200可以將來自于客戶機(jī)102的請求轉(zhuǎn)發(fā)到服務(wù)器106。例如,客戶機(jī)102可 以不具有本地存儲或可存取的應(yīng)用和數(shù)據(jù)文件。響應(yīng)于請求,應(yīng)用遞送系統(tǒng)190和/或服 務(wù)器106可以遞送應(yīng)用和數(shù)據(jù)文件到客戶機(jī)102。例如,在一個實施例中,服務(wù)器106可以 以應(yīng)用流的形式發(fā)送應(yīng)用,以在客戶機(jī)102上的計算環(huán)境15中進(jìn)行操作。在一些實施例中,應(yīng)用遞送系統(tǒng)190包括Citrix Systems公司的例如MetaFrame 或Citrix表示(Presentation)服務(wù)器 的Citrix訪問套件 的任一部分和/或由微軟 公司出品的任意一種微軟 Windows終端服務(wù)。在一個實施例中,應(yīng)用遞送系統(tǒng)190可以 通過遠(yuǎn)程顯示協(xié)議或以其它方式通過基于遠(yuǎn)程或基于服務(wù)器的計算來遞送一個或多個應(yīng) 用到客戶機(jī)102或用戶。在另一個實施例中,應(yīng)用遞送系統(tǒng)190可以通過應(yīng)用的流式傳輸 來遞送一個或多個應(yīng)用到客戶機(jī)或用戶。在一個實施例中,應(yīng)用遞送系統(tǒng)190包括用于控制和管理應(yīng)用執(zhí)行方法的訪問、 選擇以及應(yīng)用的遞送的策略引擎195。在一些實施例中,策略引擎195確定用戶或客戶機(jī) 102可以訪問的一個或多個應(yīng)用。在另一個實施例中,策略引擎195確定應(yīng)用應(yīng)該如何被遞 送給用戶或客戶機(jī)102,例如執(zhí)行方法。在一些實施例中,應(yīng)用遞送系統(tǒng)190提供從中選擇 應(yīng)用執(zhí)行方法的多個遞送技術(shù),例如基于服務(wù)器的計算、本地流式傳輸或遞送應(yīng)用給客戶 機(jī)120以用于本地執(zhí)行。在一個實施例中,客戶機(jī)102請求執(zhí)行應(yīng)用而包括服務(wù)器106的應(yīng)用遞送系統(tǒng)190 選擇執(zhí)行應(yīng)用的方法。在一些實施例中,服務(wù)器106從客戶機(jī)102接收證書。在另一個實 施例中,服務(wù)器106從客戶機(jī)102接收列舉可用的應(yīng)用的請求。在一個實施例中,響應(yīng)于所 述請求或收到的證書,應(yīng)用遞送系統(tǒng)190列舉客戶機(jī)102可用的多個應(yīng)用。應(yīng)用遞送系統(tǒng)190接收請求以執(zhí)行所列舉的應(yīng)用。應(yīng)用遞送系統(tǒng)190選擇預(yù)定數(shù)目的方法中的一個來執(zhí) 行列舉的應(yīng)用,例如響應(yīng)于策略引擎的策略。應(yīng)用遞送系統(tǒng)190可以選擇一個執(zhí)行應(yīng)用的 方法,使得客戶機(jī)102可以接收通過在服務(wù)器106上執(zhí)行應(yīng)用而生成的應(yīng)用輸出數(shù)據(jù)。應(yīng) 用遞送系統(tǒng)190可以選擇執(zhí)行應(yīng)用的方法,使得本地機(jī)器10可以在檢索包括應(yīng)用的多個應(yīng) 用文件之后本地執(zhí)行所述應(yīng)用。在又一個實施例中,應(yīng)用遞送系統(tǒng)190可以選擇執(zhí)行應(yīng)用 的方法以經(jīng)由網(wǎng)絡(luò)104將應(yīng)用流式傳輸?shù)娇蛻魴C(jī)102??蛻魴C(jī)102可以執(zhí)行、操作或以其他方式提供應(yīng)用,所述應(yīng)用可以是任一類型和/ 或形式的軟件、程序或可執(zhí)行指令,例如任一類型和/或形式的web瀏覽器、基于web的客 戶機(jī)、客戶機(jī)_服務(wù)器應(yīng)用、瘦_客戶機(jī)的計算客戶機(jī)、ActiveX控件、或Java小程序、或可 以在客戶機(jī)102上執(zhí)行的任一其它類型和/或形式的可執(zhí)行指令。在一些實施例中,應(yīng)用 可以是代表客戶機(jī)102在服務(wù)器106上執(zhí)行的基于服務(wù)器或基于遠(yuǎn)程的應(yīng)用。在一個實施 例中,服務(wù)器106可以使用任一瘦-客戶機(jī)或遠(yuǎn)程顯示協(xié)議來顯示輸出到客戶機(jī)102,所述 遠(yuǎn)程顯示協(xié)議例如由位于Ft. Lauderdale, Florida的Citrix Systems公司出品的獨(dú)立計 算架構(gòu)(ICA)協(xié)議或由位于Redmond,Washington的微軟公司出品的遠(yuǎn)程桌面協(xié)議(RDP)。 應(yīng)用可以使用任一類型的協(xié)議,并且它可以是例如HTTP客戶機(jī)、FTP客戶機(jī)、Oscar客戶機(jī) 或Telnet客戶機(jī)。在其它實施例中,應(yīng)用包括與VoIP通信相關(guān)的任一類型的軟件,例如軟 IP電話。在進(jìn)一步的實施例中,應(yīng)用包括與實時數(shù)據(jù)通信相關(guān)的任一應(yīng)用,例如用于流式傳 輸視頻和/或音頻的應(yīng)用。在一些實施例中,服務(wù)器106或服務(wù)器群組38可以運(yùn)行一個或多個應(yīng)用,例如提 供瘦_客戶機(jī)計算的應(yīng)用或遠(yuǎn)程顯示表示應(yīng)用的應(yīng)用。在一個實施例中,服務(wù)器106或服務(wù) 器群組38作為應(yīng)用而執(zhí)行Citrix Systems公司的例如MetaFrame或Citrix表示服務(wù)器 的Citrix訪問套件 的任一部分和/或由微軟公司出品的任意一種微軟 Windows終端服 務(wù)。在一個實施例中,應(yīng)用是由位于Fort Lauderdale,F(xiàn)lorida的Citrix Systems公司開 發(fā)的ICA客戶機(jī)。在其它實施例中,應(yīng)用包括由位于RedmoncbWashington的微軟公司開發(fā) 的遠(yuǎn)程桌面(RDP)客戶機(jī)。此外,服務(wù)器106可以運(yùn)行應(yīng)用,例如,所述服務(wù)器106可以是 提供例如由位于Redmond,Washington的微軟公司出品的微軟Exchange的電子郵件服務(wù)的 應(yīng)用服務(wù)器、web或Internet服務(wù)器、或桌面共享服務(wù)器、或協(xié)作服務(wù)器。在一些實施例中, 任意一種應(yīng)用可以包括任一類型的寄載服務(wù)或產(chǎn)品,例如由Santa Barbara, California 的 Citrix Online 部門提供的 GoToMeeting 、由位于 Santa Clara, California 的 WebEx 公司提供的WebEx 、或由位于Redmond,Washington的微軟公司提供的微軟OfficeLive Meeting。仍然參考圖1D,網(wǎng)絡(luò)環(huán)境的一個實施例可以包括監(jiān)控服務(wù)器106A。監(jiān)控服務(wù)器 106A可以包括任一類型和形式的性能監(jiān)控業(yè)務(wù)198。性能監(jiān)控業(yè)務(wù)198可以包括監(jiān)控、測量 和/或管理軟件和/或硬件,包括數(shù)據(jù)收集、集合、分析、管理和報告。在一個實施例中,性 能監(jiān)控業(yè)務(wù)198包括一個或多個監(jiān)控代理197。監(jiān)控代理197包括用于在諸如客戶機(jī)102、 服務(wù)器106或設(shè)備200和205的裝置上執(zhí)行監(jiān)控、測量和數(shù)據(jù)收集活動的任一軟件、硬件或 其組合。在一些實施例中,監(jiān)控代理197包括諸如Visual Basic腳本或Java描述語言的 任一類型和形式的腳本。在一個實施例中,監(jiān)控代理197相對于裝置的任一應(yīng)用和/或用 戶透明地執(zhí)行。在一些實施例中,監(jiān)控代理197相對于應(yīng)用或客戶機(jī)不引人注目地被安裝和操作。在又一個實施例中,監(jiān)控代理197被安裝和操作而不需要用于該應(yīng)用或裝置的任 何設(shè)備(instrumentation)。在一些實施例中,監(jiān)控代理197以預(yù)定頻率監(jiān)控、測量和收集數(shù)據(jù)。在其它實施例 中,監(jiān)控代理197基于任一類型和形式的事件的檢測來監(jiān)控、測量和收集數(shù)據(jù)。例如,監(jiān)控 代理197可以在檢測到對web頁面的請求或收到HTTP響應(yīng)時收集數(shù)據(jù)。在另一個實例中, 監(jiān)控代理197可以在檢測到諸如鼠標(biāo)點(diǎn)擊的任一用戶輸入事件時收集數(shù)據(jù)。監(jiān)控代理197 可以報告或提供任一所監(jiān)控、測量或收集的數(shù)據(jù)給監(jiān)控業(yè)務(wù)198。在一個實施例中,監(jiān)控代 理197根據(jù)調(diào)度或預(yù)定頻率來發(fā)送信息給監(jiān)控業(yè)務(wù)198。在另一個實施例中,監(jiān)控代理197 在檢測到事件時發(fā)送信息給監(jiān)控業(yè)務(wù)198。在一些實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行諸如客戶機(jī)、服務(wù)器、服 務(wù)器群組、設(shè)備200、設(shè)備205或網(wǎng)絡(luò)連接的任一網(wǎng)絡(luò)資源或網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)元件的監(jiān)控和性 能測量。在一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行諸如TCP或UDP連接的 任一傳輸層連接的監(jiān)控和性能測量。在另一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 監(jiān)控和測量網(wǎng)絡(luò)等待時間。在又一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和 測量帶寬利用。在其它實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量終端用戶響應(yīng)時 間。在一些實施例中,監(jiān)控業(yè)務(wù)198執(zhí)行應(yīng)用的監(jiān)控和性能測量。在另一個實施例中,監(jiān)控 業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行到應(yīng)用的任一會話或連接的監(jiān)控和性能測量。在一個實 施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量瀏覽器的性能。在另一個實施例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量基于HTTP的事務(wù)的性能。在一些實施例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量IP上語音(VoIP)應(yīng)用或會話的性能。在其 它實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量諸如ICA客戶機(jī)或RDP客戶機(jī) 的遠(yuǎn)程顯示協(xié)議應(yīng)用的性能。在又一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控 和測量任一類型和形式的流媒體的性能。在進(jìn)一步的實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控 代理197監(jiān)控和測量寄載應(yīng)用或軟件即服務(wù)(Sof tware-As-A-Service,SaaS)遞送模型的 性能。在一些實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行與應(yīng)用相關(guān)的一個或多 個事務(wù)、請求或響應(yīng)的監(jiān)控和性能測量。在其它實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理 197監(jiān)控和測量應(yīng)用層堆棧的任一部分,例如任一 .NET或J2EE調(diào)用。在一個實施例中,監(jiān) 控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量數(shù)據(jù)庫或SQL事務(wù)。在又一個實施例中,監(jiān)控 業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量任一方法、函數(shù)或應(yīng)用編程接口(API)調(diào)用。在一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行經(jīng)由諸如設(shè)備200和/ 或設(shè)備205的一個或多個設(shè)備從服務(wù)器到客戶機(jī)的應(yīng)用和/或數(shù)據(jù)的遞送的監(jiān)控和性能測 量。在一些實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量虛擬化應(yīng)用的遞送的 性能。在其它實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量流式應(yīng)用的遞送的 性能。在另一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量遞送桌面應(yīng)用到 客戶機(jī)和/或在客戶機(jī)上執(zhí)行桌面應(yīng)用的性能。在另一個實施例中,監(jiān)控業(yè)務(wù)198和/或 監(jiān)控代理197監(jiān)控和測量客戶機(jī)/服務(wù)器應(yīng)用的性能。在一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197被設(shè)計和構(gòu)建為應(yīng)用遞送系統(tǒng)190提供應(yīng)用性能管理。例如,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以監(jiān)控、測量和管理 經(jīng)由Citrix表示服務(wù)器遞送應(yīng)用的性能。在該實例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 監(jiān)控單獨(dú)的ICA會話。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以測量總的以及每次的會話系 統(tǒng)資源使用,以及應(yīng)用和連網(wǎng)性能。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以對于給定用戶 和/或用戶會話來標(biāo)識有效服務(wù)器。在一些實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 監(jiān)控在應(yīng)用遞送系統(tǒng)190和應(yīng)用和/或數(shù)據(jù)庫服務(wù)器之間的后端連接。監(jiān)控業(yè)務(wù)198和/ 或監(jiān)控代理197可以測量每個用戶會話或ICA會話的網(wǎng)絡(luò)等待時間、延遲和容量。在一些實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控對于應(yīng)用遞送系 統(tǒng)190的諸如總的存儲器使用、每個用戶會話和/或每個進(jìn)程的存儲器使用。在其它實施 例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控諸如總的CPU使用、每個用戶會話和/ 或每個進(jìn)程的應(yīng)用遞送系統(tǒng)190的CPU使用。在另一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān) 控代理197測量和監(jiān)控登錄到諸如Citrix表示服務(wù)器的應(yīng)用、服務(wù)器或應(yīng)用遞送系統(tǒng)所需 的時間。在一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控用戶登錄應(yīng)用、服 務(wù)器或應(yīng)用遞送系統(tǒng)190的持續(xù)時間。在一些實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 測量和監(jiān)控應(yīng)用、服務(wù)器或應(yīng)用遞送系統(tǒng)會話的有效和無效的會話計數(shù)。在又一個實施例 中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控用戶會話等待時間。在又一個進(jìn)一步的實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控任一 類型和形式的服務(wù)器規(guī)格(metrics)。在一個實施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 測量和監(jiān)控與系統(tǒng)存儲器、CPU使用和磁盤存儲器有關(guān)的規(guī)格。在另一個實施例中,監(jiān)控業(yè) 務(wù)198和/或監(jiān)控代理197測量和監(jiān)控和頁錯誤有關(guān)的規(guī)格,諸如每秒頁錯誤。在其它實施 例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控往返時間的規(guī)格。在又一個實施例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控與應(yīng)用崩潰、錯誤和/或中止相關(guān)的規(guī)格。在一些實施例中,監(jiān)控業(yè)務(wù)198和監(jiān)控代理198包括由位于Ft. Lauderdale, Florida的Citrix Systems公司出品的被稱為EdgeSight的任意一種產(chǎn)品實施例。在另 一個實施例中,性能監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理198包括由位于Palo Alto, California 的Symphoniq公司出品的被稱為TrueView產(chǎn)品套件的產(chǎn)品實施例的任一部分。在一個實 施例中,性能監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理198包括由位于SanFrancisco,California的 TeaLeaf技術(shù)公司出品的被稱為TeaLeafCX產(chǎn)品套件的產(chǎn)品實施例的任一部分。在其它實 施例中,性能監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理198包括由位于Houston,Texas的BMC軟件公司 出品的諸如BMC性能管理器和巡邏產(chǎn)品(BMC Performance Manager and Patrolproducts) 的商業(yè)業(yè)務(wù)管理產(chǎn)品的任一部分??蛻魴C(jī)102、服務(wù)器106和設(shè)備200可以被部署和/或執(zhí)行在任一類型和形式的計 算裝置上,例如可以在任一類型和形式的網(wǎng)絡(luò)上通信并執(zhí)行此處描述的操作的計算機(jī)、網(wǎng) 絡(luò)裝置或設(shè)備。圖IE和IF描述了可用于實施客戶機(jī)102、服務(wù)器106或設(shè)備200的實施例 的計算裝置100的框圖。如圖IE和IF所示,每個計算裝置100包括中央處理單元101和 主存儲器單元122。如圖IE所示,計算裝置100可以包括可視顯示裝置124、鍵盤126和/ 或諸如鼠標(biāo)的點(diǎn)擊裝置127。每個計算裝置100也可以包括另外的可選元件,例如一個或多 個輸入/輸出裝置130a-130b (通常使用附圖標(biāo)記130來指示)以及與中央處理單元101 通信的高速緩存140。
中央處理單元101是響應(yīng)并處理取自主存儲器單元122的指令的任一邏輯電 路。在許多實施例中,中央處理單元由微處理器單元提供,例如由位于Mountain View, California 白勺 Intel ^ W] βπ W Zfe m ; ^ T Schaumburg, Illinois 白勺 Motorola ,k 司出品的產(chǎn)品;由位于SantaClara,California的Transmeta公司出品的產(chǎn)品;由位 于WhitePlains,New York的國際商業(yè)機(jī)器公司出品的RS/6000處理器;或者由位于 Sunnyvale,California 的 Advanced Micro Devices 公司出品的產(chǎn)品。計算裝置 100 可以 基于任一的這些處理器、或者可以如此處所描述地操作的任一其它處理器。主存儲器單元122可以是可以保存數(shù)據(jù)并允許由微處理器101直接訪問的任一 存儲位置的一個或多個存儲芯片,例如靜態(tài)隨機(jī)存取存儲器(SRAM)、突發(fā)式SRAM或同步 突發(fā)式SRAM(BSRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)、快速頁面模式DRAM(FPM DRAM)、增強(qiáng) 型DRAM (EDRAM)、擴(kuò)展數(shù)據(jù)輸出RAM (EDO RAM)、擴(kuò)展數(shù)據(jù)輸出DRAM (EDO DRAM)、突發(fā)式擴(kuò)展 數(shù)據(jù)輸出 DRAM (BED0 DRAM)、增強(qiáng)型 DRAM (EDRAM)、同步 DRAM (SDRAM)、JEDEC SRAM、PClOO SDRAM、雙數(shù)據(jù)速率 SDRAM (DDR SDRAM)、增強(qiáng)型 SDRAM (ESDRAM)、同步鏈接 DRAM (SLDRAM)、直 接Rambus DRAM (DRDRAM)、或鐵電RAM (FRAM)。主存儲器122可以基于任意一種上面描述的 存儲芯片、或者可以如此處所描述地操作的任一其它可用的存儲芯片。在圖IE中所示的實 施例中,處理器101通過系統(tǒng)總線150 (在下面進(jìn)行更詳細(xì)的描述)與主存儲器122進(jìn)行通 信。圖IE描述了在其中處理器通過存儲器端口 103直接與主存儲器122通信的計算裝置 100的實施例。例如,在圖IF中,主存儲器122可以是DRDRAM。圖IF描述了在其中主處理器101通過有時被稱為背端總線的次級總線來直接與 高速緩存140通信的實施例。在其它實施例中,主處理器101使用系統(tǒng)總線150與高速緩 存140進(jìn)行通信。高速緩存140典型地具有比主存儲器122更快的響應(yīng)時間,并且典型地 通過SRAM、BSRAM或EDRAM來提供。在圖IE中所示的實施例中,處理器101通過本地系統(tǒng) 總線150與多個1/0裝置130進(jìn)行通信。多種總線可以用來將中央處理單元101連接到任 意一種1/0裝置130,所述總線包括VESA VL總線、ISA總線、EISA總線、微通道架構(gòu)(MCA) 總線、PCI總線、PCI-X總線、PCI-Express總線或NuBus。對于1/0裝置是視頻顯示器124 的實施例,處理器101可以使用高級圖形端口(AGP)來與顯示器124進(jìn)行通信。圖IF描述 了在其中主處理器101通過HyperTransport、快速1/0或InfiniBand來直接與1/0裝置 130通信的計算機(jī)100的一個實施例。圖IF還描述了混合本地總線和直接通信的一個實施 例處理器101使用本地互連總線與1/0裝置130進(jìn)行通信,同時直接與1/0裝置130進(jìn)行
通{曰。計算裝置100可以支持任一適當(dāng)?shù)陌惭b裝置116,例如用于接收像3. 5英寸、5. 25 英寸磁盤或ZIP磁盤這樣的軟盤的軟盤驅(qū)動器、CD-ROM驅(qū)動器、CD-R/RW驅(qū)動器、DVD-ROM 驅(qū)動器、多種格式的磁帶驅(qū)動器、USB裝置、硬盤驅(qū)動器或適于安裝像任一客戶機(jī)代理120 或其部分的軟件和程序的任一其它裝置。計算裝置100還可以包括存儲裝置128,例如一個 或多個硬盤驅(qū)動器或獨(dú)立磁盤的冗余陣列,用于保存操作系統(tǒng)及其它相關(guān)軟件,以及用于 保存諸如與客戶機(jī)代理120相關(guān)的任一程序的應(yīng)用軟件程序。可選地,任意一種安裝裝置 116還可以被用作存儲裝置128。另外,操作系統(tǒng)和軟件可以從可引導(dǎo)介質(zhì)中運(yùn)行,所述可 引導(dǎo)介質(zhì)例如像ΚΝ0ΡΡΙΧ 的可引導(dǎo)⑶,作為來自于knoppix. net可用作GNU/Linux分發(fā) 的GNU/Linux的可引導(dǎo)CD。
進(jìn)一步地,計算裝置100可以包括通過多種連接聯(lián)接到局域網(wǎng)(LAN)、廣域網(wǎng) (WAN)或因特網(wǎng)的網(wǎng)絡(luò)接口 118,所述多種連接包括但不限于標(biāo)準(zhǔn)電話線、LAN或WAN鏈路 (例如,802. 11、T1、T3、56kb、X. 25)、寬帶連接(例如,I SDN、幀中繼、ATM)、無線連接或上述 任一或所有連接的一些組合。網(wǎng)絡(luò)接口 118可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA 網(wǎng)卡、插件總線網(wǎng)絡(luò)適配器、無線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器或適于將計算裝 置100連接到可以傳達(dá)并執(zhí)行此處所描述的操作的任一類型的網(wǎng)絡(luò)的任一其它裝置。各 式各樣的I/O裝置130a-130n可以存在于計算裝置100中。輸入裝置包括鍵盤、鼠標(biāo)、軌道 墊、軌道球、麥克風(fēng)以及繪畫板。輸出裝置包括視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印 機(jī)和染料升華打印機(jī)。I/O裝置130可以由如圖IE所示的I/O控制器123控制。I/O控制 器可以控制諸如鍵盤126和例如鼠標(biāo)或光筆的點(diǎn)擊裝置127的一個或多個I/O裝置。進(jìn)一 步地,I/O裝置還可以為計算裝置100提供存儲裝置128和/或安裝介質(zhì)116。還是在其它 實施例中,計算裝置100可以提供USB連接以接收諸如由位于LosAlamitos,California的 Twintech Industry公司出品的USB閃存驅(qū)動器系列裝置這樣的便攜USB存儲裝置。在一些實施例中,計算裝置100可以包括或連接到多個顯示裝置124a-124n,每個 顯示裝置可以是相同或不同的類型和/或形式。因而,任意一種I/O裝置130a-130n和/ 或I/O控制器123可以包括任一類型和/或形式的適當(dāng)?shù)挠布④浖蛴布蛙浖慕M合, 以支持、允許或提供通過計算裝置100連接和使用多個顯示裝置124a-124n。例如,計算裝 置100可以包括任一類型和/或形式的視頻適配器、視頻卡、驅(qū)動程序和/或庫,以聯(lián)系、通 信、連接或以其他方式使用顯示裝置124a-124n。在一個實施例中,視頻適配器可以包括多 個連接器以聯(lián)接多個顯示裝置124a-124n。在其它實施例中,計算裝置100可以包括多個 視頻適配器,每個視頻適配器連接到一個或多個顯示裝置124a-124n。在一些實施例中,計 算裝置100的操作系統(tǒng)的任一部分可以被配置用于使用多個顯示器124a-124n。在其它實 施例中,一個或多個顯示裝置124a-124n可以由一個或多個諸如例如通過網(wǎng)絡(luò)連接到計算 裝置100的計算裝置IOOa和IOOb的其它的計算裝置來提供。這些實施例可以包括被設(shè)計 和構(gòu)建為將另一個計算機(jī)的顯示裝置用作計算裝置100的第二顯示裝置124a的任一類型 的軟件。本領(lǐng)域普通技術(shù)人員將認(rèn)識和理解計算裝置100可以被配置為具有多個顯示裝置 124a-124η的多個方法和實施例。在進(jìn)一步的實施例中,I/O裝置130可以是在系統(tǒng)總線150和外部通信總線之 間的網(wǎng)橋170,所述外部通信總線例如USB總線、Apple Desktop總線、RS-232串行連接、 SCSI總線、Fireffire總線、Fireffire 800總線、以太網(wǎng)總線、AppleTalk總線、吉比特以太 網(wǎng)總線、異步傳送模式總線、HIPPI總線、超HIPPI總線、SerialPlus總線、SCI/LAMP總線、 FibreChannel總線或串行附加小型計算機(jī)系統(tǒng)接口總線。圖IE和IF中描述類型的計算裝置100典型地在控制任務(wù)的調(diào)度和對系統(tǒng)資源 的訪問的操作系統(tǒng)的控制下操作。計算裝置100可以運(yùn)行任一操作系統(tǒng),例如任意一種版 本的微軟 Windows操作系統(tǒng)、不同版本的Unix和Linux操作系統(tǒng)、用于Macintosh計算 機(jī)的任一版本的Mac OS 、任一的嵌入式操作系統(tǒng)、任一的實時操作系統(tǒng)、任一的開放源操 作系統(tǒng)、任一的專用操作系統(tǒng)、用于移動計算裝置的任一操作系統(tǒng)、或者可以運(yùn)行在計算裝 置上并執(zhí)行此處所描述的操作的任一其它操作系統(tǒng)。典型的操作系統(tǒng)其中包括WIND0WS 3. χ,WINDOWS 95,WINDOWS 98,WINDOWS 2000,WINDOWS NT 3. 51、WINDOWS NT 4. 0、WINDOWSCE和WINDOWS XP,所有這些均由位于Redmond,Washington的微軟公司出品;由位于 Cupertino, California的蘋果計算機(jī)出品的MacOS ;由位于Armonk,NewYork的國際商業(yè) 機(jī)器公司出品的OS/2 ;以及由位于Salt Lake City,Utah的Caldera公司發(fā)布的可免費(fèi)使 用的Linux操作系統(tǒng)或者任一類型和/或形式的Unix操作系統(tǒng),以及其它。在其它實施例中,計算裝置100可以具有和所述裝置一致的不同的處理器、操作 系統(tǒng)和輸入裝置。例如,在一個實施例中,計算機(jī)100是由Palm公司出品的Treol80、270、 1060、600或650智能電話。在該實施例中,Treo智能電話在PalmOS操作系統(tǒng)的控制下操 作,并包括指示筆輸入裝置以及五向?qū)Ш窖b置。此外,計算裝置100可以是任一工作站、臺 式計算機(jī)、膝上型或筆記本計算機(jī)、服務(wù)器、便攜計算機(jī)、移動電話、任一其它計算機(jī)、或者 可以通信并具有執(zhí)行此處所描述的操作的足夠的處理器能力和存儲容量的其它形式的計 算或電信裝置。B.設(shè)備架構(gòu)圖2A舉例說明了設(shè)備200的一個示例實施例,其還可以稱為中間設(shè)備200、代理或 者網(wǎng)絡(luò)瀏覽器(Netscaler)。提供圖2A中的設(shè)備200的架構(gòu)僅僅是為了說明,并不是意于 進(jìn)行限制。如圖2所示,設(shè)備200包括硬件層206和被分為用戶空間202和內(nèi)核空間204 的軟件層。硬件層206提供在其上執(zhí)行內(nèi)核空間204和用戶空間202中的程序和服務(wù)的硬件 元件。硬件層206還提供允許內(nèi)核空間204和用戶空間202中的程序和服務(wù)關(guān)于設(shè)備200 的向內(nèi)和向外傳遞數(shù)據(jù)的結(jié)構(gòu)和元件。如圖2所示,硬件層206包括用于執(zhí)行軟件程序和 服務(wù)的處理單元262、用于保存軟件和數(shù)據(jù)的存儲器264、用于在網(wǎng)絡(luò)上發(fā)送和接收數(shù)據(jù)的 網(wǎng)絡(luò)端口 266以及用于執(zhí)行與在網(wǎng)絡(luò)上發(fā)送和接收的數(shù)據(jù)的安全套接字層處理相關(guān)的功 能的加密處理器260。在一些實施例中,中央處理單元262可以在單個的處理器中執(zhí)行加密 處理器260的功能。另外,硬件層206可以包括用于每個處理單元262和加密處理器260 的多個處理器。處理器262可以包括如上所述的與圖IE和IF有關(guān)的任一處理器101。在 一些實施例中,中央處理單元262可以在單個的處理器中執(zhí)行加密處理器260的功能。另 外,硬件層206可以包括用于每個處理單元262和加密處理器260的多個處理器。例如,在 一個實施例中,設(shè)備200包括第一處理器262和第二處理器262'。在其它實施例中,處理 器262或262'包括多核處理器。雖然通常所示設(shè)備200的硬件層206具有加密處理器260,但處理器260可以是 用于執(zhí)行與諸如安全套接字層(SSL)或傳輸層安全(TLS)協(xié)議的任一加密協(xié)議相關(guān)的功能 的處理器。在一些實施例中,處理器260可以是通用處理器(GPP),并且在進(jìn)一步的實施例 中,可以具有用于執(zhí)行任一安全相關(guān)協(xié)議的處理的可執(zhí)行指令。雖然在圖2中用某些元件來說明設(shè)備200的硬件層206,但設(shè)備200的硬件部分 或部件可以包括計算裝置的任一類型和形式的元件、硬件或軟件,諸如此處結(jié)合圖IE和IF 來舉例說明和討論的計算裝置100。在一些實施例中,設(shè)備200可以包括服務(wù)器、網(wǎng)關(guān)、路由 器、交換機(jī)、網(wǎng)橋或其它類型的計算或網(wǎng)絡(luò)裝置,并具有與此相關(guān)的任一硬件和/或軟件元 件。設(shè)備200的操作系統(tǒng)將可用的系統(tǒng)存儲器分配、管理或者以其他方式分離成內(nèi)核 空間204和用戶空間204。在示例的軟件架構(gòu)200中,操作系統(tǒng)可以是任一類型和/或形式的Unix操作系統(tǒng),盡管本發(fā)明并未這樣限制。因而,設(shè)備200可以運(yùn)行任一操作系統(tǒng), 例如任意一種版本的微軟 Windows操作系統(tǒng)、不同版本的Unix和Linux操作系統(tǒng)、用于 Macintosh計算機(jī)的任一版本的Mac OS 、任一的嵌入式操作系統(tǒng)、任一的網(wǎng)絡(luò)操作系統(tǒng)、 任一的實時操作系統(tǒng)、任一的開放源操作系統(tǒng)、任一的專用操作系統(tǒng)、用于移動計算裝置或 網(wǎng)絡(luò)裝置的任一操作系統(tǒng)、或者可以運(yùn)行在設(shè)備200上并執(zhí)行此處所描述的操作的任一其 它操作系統(tǒng)。內(nèi)核空間204被保留用于運(yùn)行內(nèi)核230,所述內(nèi)核230包括任一設(shè)備驅(qū)動程序、內(nèi) 核擴(kuò)展或其它內(nèi)核相關(guān)軟件。如本領(lǐng)域技術(shù)人員所知,內(nèi)核230是操作系統(tǒng)的核心,并提供 對應(yīng)用104的資源和硬件相關(guān)的元件的訪問、控制和管理。根據(jù)設(shè)備200的實施例,內(nèi)核空 間204還包括和有時還被稱為集成高速緩存的高速緩存管理器232 —起工作的多個網(wǎng)絡(luò)服 務(wù)或進(jìn)程,此處進(jìn)一步詳細(xì)描述其有益之處。另外,內(nèi)核230的實施例將依賴于由裝置200 所安裝、配置或者以其他方式使用的操作系統(tǒng)的實施例。在一個實施例中,裝置200包括諸如基于TCP/IP的堆棧的一個網(wǎng)絡(luò)堆棧267,用 于與客戶機(jī)102和/或服務(wù)器106進(jìn)行通信。在一個實施例中,網(wǎng)絡(luò)堆棧267用于與諸如 網(wǎng)絡(luò)108的第一網(wǎng)絡(luò)以及第二網(wǎng)絡(luò)110進(jìn)行通信。在一些實施例中,裝置200終止諸如客 戶機(jī)102的TCP連接的第一傳輸層連接,并建立由客戶機(jī)102使用的到服務(wù)器106的第二 傳輸層連接,例如,第二傳輸層連接在設(shè)備200和服務(wù)器106處終止。第一和第二傳輸層 連接可以經(jīng)由單個的網(wǎng)絡(luò)堆棧267建立。在其它實施例中,裝置200可以包括例如267和 267'的多個網(wǎng)絡(luò)堆棧,并且第一傳輸層連接可以在一個網(wǎng)絡(luò)堆棧267處建立或終止,而第 二傳輸層連接在第二網(wǎng)絡(luò)堆棧267'上建立或終止。例如,一個網(wǎng)絡(luò)堆棧可以用于在第一網(wǎng) 絡(luò)上接收和發(fā)送網(wǎng)絡(luò)分組,而另一個網(wǎng)絡(luò)堆棧用于在第二網(wǎng)絡(luò)上接收和發(fā)送網(wǎng)絡(luò)分組。在 一個實施例中,網(wǎng)絡(luò)堆棧267包括用于由設(shè)備200發(fā)送的一個或多個網(wǎng)絡(luò)分組排隊的緩沖 器 243。如圖2所示,內(nèi)核空間204包括高速緩存管理器232、高速層2_7集成分組引擎 240、加密引擎234、策略引擎236和多協(xié)議壓縮邏輯238。在內(nèi)核空間204或內(nèi)核模式而不 是用戶空間202中單獨(dú)以及組合地運(yùn)行這些部件或進(jìn)程232、240、234、236和238改進(jìn)每一 個這些部件的性能。內(nèi)核操作意味著這些部件或進(jìn)程232、240、234、236和238運(yùn)行在裝置 200的操作系統(tǒng)的核心地址空間中。例如,在內(nèi)核模式中運(yùn)行加密引擎234通過將加密與解 密操作移到內(nèi)核來改善加密性能,從而減少在內(nèi)核模式中的存儲空間或內(nèi)核線程與用戶模 式中的存儲空間或線程之間的轉(zhuǎn)換的次數(shù)。例如,可以不需要將內(nèi)核模式中獲得的數(shù)據(jù)傳 遞或復(fù)制到運(yùn)行在用戶模式中的進(jìn)程或線程,例如從內(nèi)核級的數(shù)據(jù)結(jié)構(gòu)到用戶級的數(shù)據(jù)結(jié) 構(gòu)。在另一個方面,還減少了在內(nèi)核模式與用戶模式之間的上下文轉(zhuǎn)換的次數(shù)。另外,在內(nèi) 核空間204中可以更有效地執(zhí)行在任意一個部件或進(jìn)程232、240、235、236和238之間通信 和通信的同步。在一些實施例中,部件232、240、234、236和238的任一部分可以運(yùn)行或操作在內(nèi) 核空間204中,而這些部件232、240、234、236和238的其它部分可以運(yùn)行或操作在用戶空 間202中。在一個實施例中,設(shè)備200使用提供對一個或多個網(wǎng)絡(luò)分組的任一部分的訪問 的內(nèi)核級數(shù)據(jù)結(jié)構(gòu),例如,網(wǎng)絡(luò)分組包括來自于客戶機(jī)102的請求或來自于服務(wù)器106的響 應(yīng)。在一些實施例中,可以由分組引擎240經(jīng)由到網(wǎng)絡(luò)堆棧267的傳輸層驅(qū)動程序接口或過濾器來獲得內(nèi)核級數(shù)據(jù)結(jié)構(gòu)。內(nèi)核級數(shù)據(jù)結(jié)構(gòu)可以包括可經(jīng)由與網(wǎng)絡(luò)堆棧267相關(guān)的內(nèi) 核空間204存取的任一接口和/或數(shù)據(jù)、由網(wǎng)絡(luò)堆棧267接收或傳送的網(wǎng)絡(luò)業(yè)務(wù)量或分組。 在其它實施例中,可以由部件或進(jìn)程232、240、234、236和238中的任意一個來使用內(nèi)核級 數(shù)據(jù)結(jié)構(gòu),以執(zhí)行部件或進(jìn)程的期望的操作。在一個實施例中,部件232、240、234、236和 238在使用內(nèi)核級數(shù)據(jù)結(jié)構(gòu)時運(yùn)行于內(nèi)核模式204中,而在另一個實施例中,部件232、240、 234、236和238在使用內(nèi)核級數(shù)據(jù)結(jié)構(gòu)時運(yùn)行于用戶模式中。在一些實施例中,可以將內(nèi)核 級數(shù)據(jù)結(jié)構(gòu)復(fù)制或傳遞到第二內(nèi)核級數(shù)據(jù)結(jié)構(gòu)或任一期望的用戶級數(shù)據(jù)結(jié)構(gòu)。高速緩存管理器232可以包括軟件、硬件或軟件和硬件的任一組合,以提供對諸 如由發(fā)信服務(wù)器106提供的對象或動態(tài)生成的對象的任一類型和形式的內(nèi)容的高速緩存 訪問、控制和管理。由高速緩存管理器232處理和保存的數(shù)據(jù)、對象或內(nèi)容可以包括諸如 標(biāo)記語言的或者通過任一協(xié)議傳達(dá)的任一格式的數(shù)據(jù)。在一些實施例中,高速緩存管理器 232復(fù)制存儲在別處的原始數(shù)據(jù)或者以前計算、生成或發(fā)送的數(shù)據(jù),其中原始數(shù)據(jù)也許需要 相對于讀取高速緩存元件來說更長的訪問時間以取出、計算或者以其他方式獲取。一旦數(shù) 據(jù)被保存在高速緩存元件中,未來的使用可以通過訪問高速緩存的拷貝而不是重新取回或 再計算原始數(shù)據(jù)來進(jìn)行,從而減少訪問時間。在一些實施例中,高速緩存元件可以包括裝置 200的存儲器264中的數(shù)據(jù)對象。在其它實施例中,高速緩存元件可以包括具有比存儲器 264更快的訪問時間的存儲器。在另一個實施例中,高速緩存元件可以包括諸如硬盤的一部 分的裝置200的任一類型和形式的存儲元件。在一些實施例中,處理單元262可以提供由 高速緩存管理器232使用的高速緩存。然而在進(jìn)一步的實施例中,高速緩存管理器232可 以使用存儲器、存儲裝置或處理單元的任一部分和組合,以用于高速緩存數(shù)據(jù)、對象及其它 內(nèi)容。進(jìn)一步地,高速緩存管理器232包括任一邏輯、功能、規(guī)則或操作,以執(zhí)行此處所 描述的設(shè)備200的技術(shù)的任一實施例。例如,高速緩存管理器232包括根據(jù)失效時間周期 的期滿或一旦從客戶機(jī)102或服務(wù)器106接收到失效命令來使對象無效的邏輯或功能。在 一些實施例中,高速緩存管理器232可以作為在內(nèi)核空間204中執(zhí)行的程序、服務(wù)、進(jìn)程或 任務(wù)來操作,而在其它實施例中是在用戶空間202中操作。在一個實施例中,高速緩存管理 器232的第一部分在用戶空間202中執(zhí)行,而第二部分在內(nèi)核空間204中執(zhí)行。在一些實 施例中,高速緩存管理器232可以包括任一類型的通用處理器(GPP)或者諸如現(xiàn)場可編程 門陣列(FPGA)、可編程邏輯器件(PLD)或應(yīng)用專用集成電路(ASIC)的任一其它類型的集成 電路。例如,策略引擎236可以包括智能統(tǒng)計引擎或者其它的可編程應(yīng)用。在一個實施 例中,策略引擎236提供配置機(jī)制以允許用戶標(biāo)識、指定、限定或配置高速緩存策略。在一 些實施例中,策略引擎236還可以訪問存儲器以支持諸如查找表或哈希表的數(shù)據(jù)結(jié)構(gòu)來啟 用用戶選擇的高速緩存策略決策。在其它實施例中,策略引擎236可以包括任一邏輯、規(guī) 則、功能或操作,以便確定和提供除了由設(shè)備200執(zhí)行的安全、網(wǎng)絡(luò)業(yè)務(wù)量、網(wǎng)絡(luò)訪問、壓縮 或任一其它功能或操作的訪問、控制和管理之外的由設(shè)備200高速緩存的對象、數(shù)據(jù)或內(nèi) 容的訪問、控制和管理。此處進(jìn)一步描述特定高速緩存策略的進(jìn)一步的實例。加密引擎234包括用于操控諸如SSL或TLS的任一安全相關(guān)協(xié)議的處理的任一邏 輯、商業(yè)規(guī)則、功能或操作,或者另外的任一相關(guān)功能。例如,加密引擎234加密并解密經(jīng)由設(shè)備200傳遞的網(wǎng)絡(luò)分組或者其中的任一部分。加密引擎234還可以為客戶機(jī)102a-102n、 服務(wù)器106a-106n或設(shè)備200設(shè)置或建立SSL或TLS連接。因而,加密引擎234提供SSL處 理的卸載和加速。在一個實施例中,加密引擎234使用隧道協(xié)議來在客戶機(jī)102a-102n和 服務(wù)器106a-106n之間提供虛擬專用網(wǎng)。在一些實施例中,加密引擎234與加密處理器260 進(jìn)行通信。在其它實施例中,加密引擎234包括運(yùn)行在加密處理器260上的可執(zhí)行指令。多協(xié)議壓縮引擎238包括用于壓縮諸如由裝置200的網(wǎng)絡(luò)堆棧267使用的任意一 種協(xié)議的一個或多個協(xié)議的網(wǎng)絡(luò)分組的任一邏輯、商業(yè)規(guī)則、功能或操作。在一個實施例 中,多協(xié)議壓縮引擎238雙向地在客戶機(jī)102a-102n和服務(wù)器106a-106n之間壓縮任一的 基于TCP/IP的協(xié)議,包括消息應(yīng)用編程接口(MAPI)(電子郵件)、文件傳送協(xié)議(FTP)、超 文本傳送協(xié)議(HTTP)、通用Internet文件系統(tǒng)(CIFS)協(xié)議(文件傳送)、獨(dú)立計算架構(gòu) (ICA)協(xié)議、遠(yuǎn)程桌面協(xié)議(RDP)、無線應(yīng)用協(xié)議(WAP)、移動IP協(xié)議和IP上語音(VoIP)協(xié) 議。在其它實施例中,多協(xié)議壓縮引擎238提供基于超文本標(biāo)記語言(HTML)的協(xié)議的壓縮, 并且在一些實施例中提供諸如可擴(kuò)展標(biāo)記語言(XML)的任一標(biāo)記語言的壓縮。在一個實 施例中,多協(xié)議壓縮引擎238提供諸如為設(shè)備200設(shè)計用于設(shè)備200通信的的任一協(xié)議的 任一高性能協(xié)議的壓縮。在另一個實施例中,多協(xié)議壓縮引擎238使用修改的傳輸控制協(xié) 議來壓縮任一通信的任一有效載荷或任一通信,所述修改的傳輸控制協(xié)議諸如事務(wù)TCP (T/ TCP)、具有選擇確認(rèn)的TCP (TCP-SACK)、具有大窗口的TCP (TCP-Lff)、諸如TCP-Vegas協(xié)議的 擁塞預(yù)測協(xié)議以及TCP欺騙協(xié)議。因而,多協(xié)議壓縮引擎238為經(jīng)由桌面客戶機(jī)以及甚至移動客戶機(jī)訪問應(yīng)用的用 戶加速性能,所述桌面客戶機(jī)例如微軟Outlook以及諸如由諸如Oracle、SAP和Siebel的 通用的企業(yè)應(yīng)用所啟動的任一客戶機(jī)的非web瘦客戶機(jī),所述移動客戶機(jī)例如掌上電腦。 在一些實施例中,通過執(zhí)行于內(nèi)核模式204中以及與訪問網(wǎng)絡(luò)堆棧267的分組處理引擎240 結(jié)合在一起,多協(xié)議壓縮引擎238可以壓縮諸如任一應(yīng)用層協(xié)議的由TCP/IP協(xié)議所攜帶的 任意一種協(xié)議。通常也被稱為分組處理引擎或分組引擎的高速層2-7集成分組引擎240負(fù)責(zé)管理 由設(shè)備200經(jīng)由網(wǎng)絡(luò)端口 266接收和發(fā)送的分組的內(nèi)核級處理。高速層2-7集成分組引擎 240可以包括用于在例如接收網(wǎng)絡(luò)分組或發(fā)送網(wǎng)絡(luò)分組的處理期間排隊一個或多個網(wǎng)絡(luò)分 組的緩沖器。另外,高速層2-7集成分組引擎240與一個或多個網(wǎng)絡(luò)堆棧267通信以經(jīng)由 網(wǎng)絡(luò)端口 266發(fā)送和接收網(wǎng)絡(luò)分組。高速層2-7集成分組引擎240和加密引擎234、高速緩 存管理器232、策略引擎236和多協(xié)議壓縮邏輯238 —起工作。更具體地,加密引擎234被 配置為執(zhí)行分組的SSL處理,策略引擎236被配置為執(zhí)行諸如請求級內(nèi)容交換和請求級高 速緩存重定向的與業(yè)務(wù)量管理相關(guān)的功能,而多協(xié)議壓縮邏輯238被配置為執(zhí)行與數(shù)據(jù)的 壓縮和解壓縮相關(guān)的功能。高速層2-7集成分組引擎240包括分組處理定時器242。在一個實施例中,分組處 理定時器242提供一個或多個時間間隔以觸發(fā)輸入(即,接收)或輸出(即,發(fā)送)網(wǎng)絡(luò)分 組的處理。在一些實施例中,高速層2-7集成分組引擎240響應(yīng)于定時器242來處理網(wǎng)絡(luò) 分組。分組處理定時器242提供任一類型和形式的信號給分組引擎240,以通知、觸發(fā)或傳 達(dá)時間相關(guān)的事件、間隔或發(fā)生。在許多實施例中,分組處理定時器242以例如像100毫秒、 50毫秒或25毫秒這樣的毫秒級來進(jìn)行操作。例如,在一些實施例中,分組處理定時器242提供時間間隔或者以其他方式使高速層2-7集成分組引擎240以10毫秒的時間間隔來處 理網(wǎng)絡(luò)分組,而在其它實施例中按5毫秒的時間間隔,以及甚至在更進(jìn)一步的實施例中短 到3、2或1毫秒的時間間隔。在操作期間,高速層2-7集成分組引擎240可以與加密引擎 234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮引擎238交互、集成或通信。因而,可 以響應(yīng)于分組處理定時器242和/或分組引擎240來執(zhí)行加密引擎234、高速緩存管理器 232、策略引擎236和多協(xié)議壓縮邏輯238的任一邏輯、功能或操作。因此,可以以例如小于 或等于10毫秒的時間間隔的通過分組處理定時器242提供的時間間隔的粒度來執(zhí)行加密 引擎234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮邏輯238的任一邏輯、功能或操 作。例如,在一個實施例中,高速緩存管理器232可以響應(yīng)于高速層2-7集成分組引擎240 和/或分組處理定時器242來執(zhí)行任一高速緩存對象的失效。在另一個實施例中,可以將 高速緩存對象的滿期或失效時間設(shè)置為與分組處理定時器242的時間間隔相同的粒度級, 例如每10毫秒。與內(nèi)核空間204不同,用戶空間202是由用戶模式應(yīng)用或者以其他方式運(yùn)行于用 戶模式的程序所使用的存儲器區(qū)域或部分操作系統(tǒng)。用戶模式應(yīng)用可以不直接訪問內(nèi)核空 間204而使用服務(wù)調(diào)用以訪問內(nèi)核服務(wù)。如圖2所示,設(shè)備200的用戶空間202包括圖形 用戶界面(⑶I) 210、命令行接口(CLI) 212、命令解釋程序(shell)服務(wù)214、健康監(jiān)測程序 216和守護(hù)服務(wù)218。⑶I 210和CLI 212提供一個裝置,通過所述裝置,系統(tǒng)管理員或其它 用戶可以與設(shè)備200的操作相互作用并控制設(shè)備200的操作,例如通過設(shè)備200的操作系 統(tǒng),并且兩者之一是用戶空間202或內(nèi)核空間204。⑶I 210可以是任一類型和形式的圖形 用戶界面,并且可以通過文本、圖形或者以其他方式通過像瀏覽器的任一類型的程序或應(yīng) 用來呈現(xiàn)。CLI 212可以是任一類型和形式的命令行或基于文本的接口,例如由操作系統(tǒng)提 供的命令行。例如,CLI 212可以包括命令解釋程序,所述命令解釋程序是允許用戶與操作 系統(tǒng)相互作用的工具。在一些實施例中,CLI 212可以通過1^吐、(^11、切吐或1^11型命令 解釋程序來提供。命令解釋程序服務(wù)214包括程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令以支持 用戶通過⑶I 210和/或CLI 212與設(shè)備200或操作系統(tǒng)相互作用。健康監(jiān)測程序216被用于監(jiān)控、檢查、報告和確保網(wǎng)絡(luò)系統(tǒng)在正常工作以及用戶 通過網(wǎng)絡(luò)接收所請求的內(nèi)容。健康監(jiān)測程序216包括一個或多個程序、服務(wù)、任務(wù)、進(jìn)程或 可執(zhí)行指令以提供用于監(jiān)測設(shè)備200的任一活動的邏輯、規(guī)則、功能或操作。在一些實施例 中,健康監(jiān)測程序216攔截并檢查經(jīng)由設(shè)備200傳遞的任一網(wǎng)絡(luò)業(yè)務(wù)量。在其它實施例中, 健康監(jiān)測程序216通過任一合適的方法和/或機(jī)制與一個或多個下列單元連接加密引擎 234、高速緩存管理器232、策略引擎236、多協(xié)議壓縮邏輯238、分組引擎240、守護(hù)服務(wù)218 和命令解釋程序服務(wù)214。因而,健康監(jiān)測程序216可以調(diào)用任一應(yīng)用編程接口(API)以確 定設(shè)備200的任一部分的狀態(tài)、狀況或健康。例如,健康監(jiān)測程序216可以周期性地查驗或 發(fā)送一個情況查詢以檢測程序、進(jìn)程、服務(wù)或任務(wù)是否有效以及當(dāng)前正在運(yùn)行。在另一個實 例中,健康監(jiān)測程序216可以檢查由任一程序、進(jìn)程、服務(wù)或任務(wù)提供的任一狀態(tài)、錯誤或 歷史記錄,以確定設(shè)備200的任一部分的任一情況、狀態(tài)或錯誤。守護(hù)服務(wù)218是連續(xù)或在后臺運(yùn)行并處理由設(shè)備200接收到的周期性服務(wù)請求的 程序。在一些實施例中,守護(hù)服務(wù)可以將請求轉(zhuǎn)發(fā)給其它程序或進(jìn)程,例如酌情轉(zhuǎn)發(fā)給另一 個守護(hù)服務(wù)218。如本領(lǐng)域技術(shù)人員所知,守護(hù)服務(wù)218可以無人監(jiān)護(hù)地運(yùn)行以執(zhí)行諸如網(wǎng)路控制的連續(xù)的或周期性的全系統(tǒng)的功能或者執(zhí)行任一期望的任務(wù)。在一些實施例中, 一個或多個守護(hù)服務(wù)218運(yùn)行在用戶空間202中,而在其它實施例中,一個或多個守護(hù)服務(wù) 218運(yùn)行在內(nèi)核空間中。現(xiàn)在參考圖2B,描述了設(shè)備200的另一個實施例??偟膩碚f,設(shè)備200提供下列 服務(wù)、功能或操作中的一個或多個用于一個或多個客戶機(jī)102以及一個或多個服務(wù)器106 之間的通信的SSL VPN連通性280、交換/負(fù)載平衡284、域名服務(wù)解析286、加速288和應(yīng) 用防火墻290。每個服務(wù)器106可以提供一個或多個網(wǎng)絡(luò)相關(guān)的服務(wù)270a-270n (稱為服務(wù) 270)。例如,服務(wù)器106可以提供HTTP服務(wù)270。設(shè)備200包括一個或多個虛擬服務(wù)器或 虛擬網(wǎng)際協(xié)議服務(wù)器,其被稱為VSerVer、VIP服務(wù)器或僅僅稱為VIP 275a-275n (此處也被 稱為vServer 275)。vServer 275根據(jù)設(shè)備200的配置和操作來接收、攔截或者以其他方 式處理客戶機(jī)102和服務(wù)器106之間的通信。vServer 275可以包括軟件、硬件或軟件和硬件的任一組合。vServer275可以包 括在設(shè)備200中的用戶模式202、內(nèi)核模式204中或其任一組合中操作的任一類型和形式的 程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令。vServer 275包括任一邏輯、功能、規(guī)則或操作以執(zhí) 行此處所描述的技術(shù)的任一實施例,例如SSL VPN 280、交換/負(fù)載平衡284、域名服務(wù)解析 286、加速288和應(yīng)用防火墻290。在一些實施例中,vServer 275建立到服務(wù)器106的服務(wù) 270的連接。服務(wù)275可以包括可以連接和通信到設(shè)備200、客戶機(jī)102或vServer 275的 任一程序、應(yīng)用、進(jìn)程、任務(wù)或可執(zhí)行指令組。例如,服務(wù)275可以包括web服務(wù)器、HTTP服 務(wù)器、ftp、電子郵件或數(shù)據(jù)庫服務(wù)器。在一些實施例中,服務(wù)270是用于監(jiān)聽、接收和/或 發(fā)送用于諸如電子郵件、數(shù)據(jù)庫或企業(yè)應(yīng)用的應(yīng)用的通信的守護(hù)進(jìn)程或網(wǎng)絡(luò)驅(qū)動程序。在 一些實施例中,服務(wù)270可以在一個特定IP地址或IP地址和端口上進(jìn)行通信。在一些實施例中,vServer 275將策略引擎236的一個或多個策略應(yīng)用到客戶機(jī) 102和服務(wù)器106之間的網(wǎng)絡(luò)通信。在一個實施例中,策略與VServer 275有關(guān)。在另一個 實施例中,策略基于一個用戶或一組用戶。在又一個實施例中,策略是全局的并且應(yīng)用到一 個或多個vSerVerS275a-275n以及經(jīng)由設(shè)備200通信的任一用戶或用戶組。在一些實施例 中,策略引擎的策略有條件,在所述條件時根據(jù)諸如網(wǎng)際協(xié)議地址、端口、協(xié)議類型、報頭或 分組中的字段的通信的任一內(nèi)容或者諸如用戶、用戶組、vServer 275、傳輸層連接和/或 客戶機(jī)102或服務(wù)器106的標(biāo)識或?qū)傩缘耐ㄐ派舷挛膩響?yīng)用策略。在其它實施例中,設(shè)備200與策略引擎236通信或連接以確定對遠(yuǎn)程用戶或遠(yuǎn)程 客戶機(jī)102訪問服務(wù)器106的計算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件的驗證和/或授權(quán)。在另 一個實施例中,設(shè)備200與策略引擎236通信或連接以確定對遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102 的驗證和/或授權(quán),以使應(yīng)用遞送系統(tǒng)190遞送計算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件的一個或 多個。在又一個實施例中,設(shè)備200根據(jù)策略引擎236對遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)103的驗 證和/或授權(quán)來建立VPN或SSL VPN連接。在一個實施例中,設(shè)備102根據(jù)策略引擎236 的策略來控制網(wǎng)絡(luò)業(yè)務(wù)量和通信會話的流量。例如,設(shè)備200可以根據(jù)策略引擎236來控 制對計算環(huán)境15、應(yīng)用或數(shù)據(jù)文件的訪問。在一些實施例中,vServer 275建立諸如經(jīng)由客戶機(jī)代理120與客戶機(jī)102的TCP 或UDP連接的傳輸層連接。在一個實施例中,vServer 275監(jiān)聽并接收來自于客戶機(jī)102 的通信。在其它實施例中,vServer 275與客戶服務(wù)器106建立諸如TCP或UDP連接的傳輸層連接。在一個實施例中,vServer 275建立到運(yùn)行在服務(wù)器106上的服務(wù)器270的網(wǎng) 際協(xié)議地址和端口的傳輸層連接。在另一個實施例中,vServer 275將到客戶機(jī)102的第 一傳輸層連接與到服務(wù)器106的第二傳輸層連接關(guān)聯(lián)起來。在一些實施例中,vServer 275 建立到服務(wù)器106的傳輸層連接池并多路復(fù)用經(jīng)由所述池化的傳輸層連接的客戶機(jī)請求。在一些實施例中,設(shè)備200提供在客戶機(jī)102和服務(wù)器106之間的SSL VPN連接 280。例如,第一網(wǎng)絡(luò)104上的客戶機(jī)102請求建立到第二網(wǎng)絡(luò)104'上的服務(wù)器106的連 接。在一些實施例中,第二網(wǎng)絡(luò)104'是不可從第一網(wǎng)絡(luò)104路由的。在其它實施例中,客 戶機(jī)102在公用網(wǎng)104上,而服務(wù)器106在諸如公司網(wǎng)的專用網(wǎng)104'上。在一個實施例 中,客戶機(jī)代理120攔截第一網(wǎng)絡(luò)104上的客戶機(jī)102的通信,加密所述通信,并經(jīng)由第一 傳輸層連接發(fā)送所述通信到設(shè)備200。設(shè)備200將第一網(wǎng)絡(luò)104上的第一傳輸層連接關(guān)聯(lián) 到第二網(wǎng)絡(luò)104’上的到服務(wù)器106的第二傳輸層連接。設(shè)備200從客戶機(jī)代理102接收 被攔截的通信,解密所述通信,并經(jīng)由第二傳輸層連接發(fā)送所述通信到第二網(wǎng)絡(luò)104上的 服務(wù)器106。第二傳輸層連接可以是池化的傳輸層連接。因而,設(shè)備200提供在兩個網(wǎng)絡(luò) 104和104'之間用于客戶機(jī)102的端到端安全傳輸層連接。虛擬專用網(wǎng)絡(luò)(VPN)可以是使用諸如因特網(wǎng)的公用電信基礎(chǔ)架構(gòu)來為遠(yuǎn)程客戶 機(jī)、服務(wù)器或者其它通信裝置提供諸如從公用網(wǎng)絡(luò)到專用網(wǎng)絡(luò)的訪問或者連接的任一網(wǎng) 絡(luò)。虛擬專用網(wǎng)絡(luò)(VPN)是使用諸如因特網(wǎng)的公用電信基礎(chǔ)架構(gòu)來為遠(yuǎn)程用戶提供對企業(yè) 或者專用網(wǎng)絡(luò)的訪問的方法。在一些實施例中,該訪問經(jīng)由加密或者隧穿是安全的。在一 些實施例中,此處描述的中間設(shè)備提供從客戶機(jī)的第一網(wǎng)絡(luò)到服務(wù)器的第二網(wǎng)絡(luò)的安全虛 擬專用網(wǎng)絡(luò)連接。安全套接字層(SSL)VPN可以使用SSL或者TLS或者任一其它類型和形式的安全 協(xié)議來建立具有安全級的連接。在一些實施例中,SSL VPN可以使用任意類型和形式的加 密用于建立或者維持安全訪問。SSL VPN可以經(jīng)由諸如使用HTTPS(安全超文本傳輸協(xié)議) 的瀏覽器來建立和/或訪問。SSL VPN可以通過支持SSL的瀏覽器或者應(yīng)用來建立或者提{共??梢酝ㄟ^使用基于客戶機(jī)或者免客戶機(jī)的方法來建立或者提供SSLVPN連接或者 會話。基于客戶機(jī)的SSL VPN可以使用任一類型和形式客戶機(jī)代理或者客戶機(jī)102上任一 軟件相關(guān)的代理,來建立SSL VPN連接或者會話。例如,可以經(jīng)由下載到客戶機(jī)的SSL VPN 客戶機(jī)代理來提供基于客戶機(jī)的SSL VPN,諸如從設(shè)備下載的。客戶機(jī)代理可以被設(shè)計并且 配置為在客戶機(jī)和設(shè)備或者服務(wù)器之間建立和提供SSL VPN功能性、連接和訪問。免客戶機(jī)SSL VPN可以是不使用下載并安裝到客戶機(jī)102的SSL VPN客戶機(jī)代 理、軟件或者程序來建立SSL VPN連接或者會話的任一 SSL VPN0在一些實施例中,免客戶 機(jī)SSL VPN可以是不需要客戶機(jī)102來安裝或者執(zhí)行被設(shè)計和構(gòu)成為提供SSL VPN功能性 的預(yù)定軟件或者可執(zhí)行文件以建立和另一個網(wǎng)絡(luò)裝置的SSL VPN連接的任一 SSL VPN0在 一些實施例中,經(jīng)由不下載或者不需要使用VPN或者SSL VPN客戶機(jī)代理的SSL使能的瀏 覽器來建立免客戶機(jī)SSL VPN0免客戶機(jī)SSL VPN連接或者會話可以使用標(biāo)準(zhǔn)瀏覽器或者 應(yīng)用的協(xié)議和通信,諸如SSL使能的瀏覽器。免客戶機(jī)SSL VPN連接或者會話可以通過此 處描述的在第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)之間翻譯、重寫或者轉(zhuǎn)換請求和 應(yīng)的內(nèi)容的中間設(shè)備或 者應(yīng)用來提供。
22
在一個實施例中,設(shè)備200在虛擬專用網(wǎng)104上寄載客戶機(jī)102的內(nèi)聯(lián)網(wǎng)網(wǎng)際協(xié) 議或內(nèi)聯(lián)網(wǎng)IP 282地址??蛻魴C(jī)102具有諸如第一網(wǎng)絡(luò)104上的網(wǎng)際協(xié)議(IP)地址和/ 或主機(jī)名的本地網(wǎng)絡(luò)標(biāo)識符。當(dāng)經(jīng)由設(shè)備200連接到第二網(wǎng)絡(luò)104'時,設(shè)備200在第二網(wǎng) 絡(luò)104’上為客戶機(jī)102建立、分配或者以其他方式提供內(nèi)聯(lián)網(wǎng)IP,其是諸如IP地址和/或 主機(jī)名的網(wǎng)絡(luò)標(biāo)識符。使用客戶機(jī)建立的內(nèi)聯(lián)網(wǎng)IP 282,設(shè)備200在第二或?qū)S镁W(wǎng)104' 上監(jiān)聽并接收指向客戶機(jī)102的任一通信。在一個實施例中,設(shè)備200在第二專用網(wǎng)104 上充當(dāng)或代表客戶機(jī)102。例如,在另一個實施例中,vServer 275監(jiān)聽并響應(yīng)到客戶機(jī)102 的內(nèi)聯(lián)網(wǎng)IP 282的通信。在一些實施例中,如果第二網(wǎng)絡(luò)104'上的計算裝置100發(fā)送請 求,則設(shè)備200處理所述請求,就像它是客戶機(jī)102 —樣。例如,設(shè)備200可以響應(yīng)到客戶 機(jī)的內(nèi)聯(lián)網(wǎng)IP 282的查驗。在另一個實例中,設(shè)備可以與第二網(wǎng)絡(luò)104上的請求與客戶機(jī) 的內(nèi)聯(lián)網(wǎng)IP 282連接的計算裝置100建立諸如TCP或UDP連接的連接。在一些實施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供下列一個 或多個加速技術(shù)288 1)壓縮;2)解壓縮;3)傳輸控制協(xié)議池;4)傳輸控制協(xié)議多路復(fù)用; 5)傳輸控制協(xié)議緩沖;以及6)高速緩存。在一個實施例中,設(shè)備200通過打開與每個服務(wù) 器106的一個或多個傳輸層連接并維持這些連接以允許客戶機(jī)經(jīng)由因特網(wǎng)的重復(fù)數(shù)據(jù)訪 問來減輕服務(wù)器106的由反復(fù)打開和關(guān)閉到客戶機(jī)102的傳輸層連接所造成的大量處理負(fù) 載。這個技術(shù)在這里被稱為“連接池”。在一些實施例中,為了經(jīng)由池化的傳輸層連接來無縫接合從客戶機(jī)102到服務(wù)器 106的通信,設(shè)備200通過在傳輸層協(xié)議級修改序號和確認(rèn)號來轉(zhuǎn)換或多路復(fù)用通信。這 被稱為“連接多路復(fù)用”。在一些實施例中,不需要應(yīng)用層協(xié)議相互作用。例如,在到來分組 (即,自客戶機(jī)102接收的分組)的情況中,所述分組的源網(wǎng)絡(luò)地址被改變?yōu)樵O(shè)備200的輸 出端口的網(wǎng)絡(luò)地址,而目的網(wǎng)絡(luò)地址被改變?yōu)槟康姆?wù)器的網(wǎng)絡(luò)地址。在發(fā)出分組(即,自 服務(wù)器106接收的一個分組)的情況中,源網(wǎng)絡(luò)地址被從服務(wù)器106的網(wǎng)絡(luò)地址改變?yōu)樵O(shè) 備200的輸出端口的網(wǎng)絡(luò)地址,而目的地址被從設(shè)備200的網(wǎng)絡(luò)地址改變?yōu)檎埱蟮目蛻魴C(jī) 102的網(wǎng)絡(luò)地址。所述分組的序號和確認(rèn)號也被轉(zhuǎn)換為到客戶機(jī)102的設(shè)備200的傳輸層 連接上的客戶機(jī)102所期待的序號和確認(rèn)。在一些實施例中,傳輸層協(xié)議的分組校驗和被 重新計算以解釋這些轉(zhuǎn)換。在另一個實施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供交換或 負(fù)載平衡功能284。在一些實施例中,設(shè)備200根據(jù)層4或應(yīng)用層請求數(shù)據(jù)來分配業(yè)務(wù)量并 將客戶機(jī)請求指向服務(wù)器106。在一個實施例中,雖然網(wǎng)絡(luò)分組的網(wǎng)絡(luò)層或?qū)?標(biāo)識了目的 服務(wù)器106,但設(shè)備200通過作為傳輸層分組的有效載荷而攜帶的應(yīng)用信息和數(shù)據(jù)來確定 服務(wù)器106以分配網(wǎng)絡(luò)分組。在一個實施例中,設(shè)備200的健康監(jiān)測程序216監(jiān)控服務(wù)器 的健康以確定為其分配客戶機(jī)的請求的服務(wù)器106。在一些實施例中,如果設(shè)備200探測到 服務(wù)器106不可用或具有超過預(yù)定閾值的負(fù)載,則設(shè)備200可以將客戶機(jī)請求指向或分配 到另一個服務(wù)器106。在一些實施例中,設(shè)備200充當(dāng)域名服務(wù)(DNS)解析器或者以其他方式提供對來 自于客戶機(jī)102的DNS請求的解析。在一些實施例中,設(shè)備攔截由客戶機(jī)102發(fā)送的DNS 請求。在一個實施例中,設(shè)備200響應(yīng)具有設(shè)備200的IP地址或由設(shè)備200寄載的IP地 址的客戶機(jī)的DNS請求。在該實施例中,客戶機(jī)102把給域名的網(wǎng)絡(luò)通信發(fā)送到設(shè)備200。在另一個實施例中,設(shè)備200響應(yīng)具有第二設(shè)備200'的IP地址或由第二設(shè)備200'寄載 的IP地址的客戶機(jī)的DNS請求。在一些實施例中,設(shè)備200響應(yīng)具有由設(shè)備200確定的服 務(wù)器106的IP地址的客戶機(jī)的DNS請求。在又一個實施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供應(yīng)用防 火墻功能290。在一個實施例中,策略引擎236提供用于檢測和阻塞非法請求的規(guī)則。在一 些實施例中,應(yīng)用防火墻290防止拒絕服務(wù)(DoS)攻擊。在其它實施例中,設(shè)備檢查被攔截 的請求的內(nèi)容以識別和阻塞基于應(yīng)用的攻擊。在一些實施例中,規(guī)則/策略引擎236包括 用于提供對多個種類和類型的基于web或因特網(wǎng)的脆弱點(diǎn)的保護(hù)的一個或多個應(yīng)用防火 墻或安全控制策略,例如下列的一個或多個1)緩沖器溢出,2)CGI-BIN參數(shù)操縱,3)格式/ 隱藏字段操縱,4)強(qiáng)制瀏覽,5) cookie或會話中毒,6)破譯的訪問控制表(ACLs)或弱的口 令,7)跨站點(diǎn)的腳本(XSS),8)命令注入,9) SQL注入,10)錯誤觸發(fā)敏感信息泄漏,11)加密 技術(shù)的不安全使用,12)服務(wù)器誤配置,13)后門和調(diào)試選擇,14)web站點(diǎn)毀損,15)平臺或 操作系統(tǒng)的脆弱點(diǎn),以及16)零天攻擊。在一個實施例中,對下列情況的一種或多種,應(yīng)用 防火墻290以檢查或分析網(wǎng)絡(luò)通信的形式來提供HTML格式字段的保護(hù)1)返回所需的字 段,2)不允許附加字段,3)只讀和隱藏字段強(qiáng)制(enforcement),4)下拉列表和單選按鈕字 段的一致,以及5)格式字段最大長度強(qiáng)制。在一些實施例中,應(yīng)用防火墻290確保cookies 不被修改。在其它實施例中,應(yīng)用防火墻290通過強(qiáng)制實施合法URL來防止強(qiáng)制瀏覽。還是在其它實施例中,應(yīng)用防火墻290保護(hù)在網(wǎng)絡(luò)通信中包含的任一機(jī)密信息。 應(yīng)用防火墻290可以根據(jù)引擎236的規(guī)則或策略來檢查或分析任一網(wǎng)絡(luò)通信以識別網(wǎng)絡(luò)分 組的任一字段中的任一機(jī)密信息。在一些實施例中,應(yīng)用防火墻290在網(wǎng)絡(luò)通信中識別信 用卡號、口令、社會保險號、姓名、病人代碼、聯(lián)系信息和年齡的一次或多次出現(xiàn)。網(wǎng)絡(luò)通信 的編碼部分可以包括這些出現(xiàn)或機(jī)密信息。在一個實施例中,根據(jù)這些出現(xiàn),應(yīng)用防火墻 290可以對網(wǎng)絡(luò)通信采取策略行動,例如阻止網(wǎng)絡(luò)通信的發(fā)送。在另一個實施例中,應(yīng)用防 火墻290可以重寫、移除或者以其他方式掩蓋這樣識別出的出現(xiàn)或機(jī)密信息。仍然參考圖2B,設(shè)備200可以包括如上面結(jié)合圖ID所討論的性能監(jiān)控代理197。 在一個實施例中,設(shè)備200從如圖ID中所描述的監(jiān)控業(yè)務(wù)198或監(jiān)控服務(wù)器106中接收監(jiān) 控代理197。在一些實施例中,設(shè)備200在諸如磁盤的存儲裝置中保存監(jiān)控代理197,以用 于遞送給與設(shè)備200通信的任一客戶機(jī)或服務(wù)器。例如,在一個實施例中,設(shè)備200在接收 到建立傳輸層連接的請求時發(fā)送監(jiān)控代理197給客戶機(jī)。在其它實施例中,設(shè)備200在建 立與客戶機(jī)102的傳輸層連接時發(fā)送監(jiān)控代理197。在另一個實施例中,設(shè)備200在攔截或 檢測對web頁面的請求時發(fā)送監(jiān)控代理197給客戶機(jī)。在又一個實施例中,設(shè)備200響應(yīng) 于監(jiān)控服務(wù)器198的請求來發(fā)送監(jiān)控代理197到客戶機(jī)或服務(wù)器。在一個實施例中,設(shè)備 200發(fā)送監(jiān)控代理197到第二設(shè)備200'或設(shè)備205。在其它實施例中,設(shè)備200執(zhí)行監(jiān)控代理197。在一個實施例中,監(jiān)控代理197測 量和監(jiān)控在設(shè)備200上執(zhí)行的任一應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或線程的性能。例如,監(jiān)控 代理197可以監(jiān)控和測量VSerVerS275A-275N的性能與操作。在另一個實施例中,監(jiān)控代 理197測量和監(jiān)控設(shè)備200的任一傳輸層連接的性能。在一些實施例中,監(jiān)控代理197測 量和監(jiān)控通過設(shè)備200的任一用戶會話的性能。在一個實施例中,監(jiān)控代理197測量和監(jiān) 控通過設(shè)備200的諸如SSL VPN會話的任一虛擬專用網(wǎng)連接和/或會話的性能。在進(jìn)一步的實施例中,監(jiān)控代理197測量和監(jiān)控設(shè)備200的存儲器、CPU和磁盤使用以及性能。在又 一個實施例中,監(jiān)控代理197測量和監(jiān)控諸如SSL卸載、連接池和多路復(fù)用、高速緩存以及 壓縮的由設(shè)備200執(zhí)行的任一加速技術(shù)288的性能。在一些實施例中,監(jiān)控代理197測量 和監(jiān)控由設(shè)備200執(zhí)行的任一負(fù)載平衡和/或內(nèi)容交換284的性能。在其它實施例中,監(jiān) 控代理197測量和監(jiān)控由設(shè)備200執(zhí)行的應(yīng)用防火墻290保護(hù)和處理的性能。C.免客戶機(jī)虛擬專用網(wǎng)絡(luò)環(huán)境現(xiàn)在參考圖3A,描述了用于經(jīng)由設(shè)備200或代理訪問服務(wù)器的免客戶機(jī)虛擬專用 網(wǎng)絡(luò)(VPN)環(huán)境的實施例。總的來說,客戶機(jī)102操作在計算裝置100上并且執(zhí)行通過用 戶操作的瀏覽器??蛻魴C(jī)102可以在第一網(wǎng)絡(luò)104上,諸如公用網(wǎng)絡(luò)??蛻魴C(jī)102上的用 戶可以經(jīng)由瀏覽器來請求對于第二網(wǎng)絡(luò)104’上的資源的訪問,諸如企業(yè)的專用網(wǎng)絡(luò)。設(shè)備 200為用戶提供對于所請求資源的免客戶機(jī)VPN訪問。客戶機(jī)可以不安裝、執(zhí)行或者以其他 方式執(zhí)行被構(gòu)建和/或設(shè)計來為網(wǎng)絡(luò)104’提供VPN連接性(稱為基于客戶機(jī)的VPN)的代 理、部件、程序、驅(qū)動器或者應(yīng)用。而是,設(shè)備或者代理可以重寫來自服務(wù)器的響應(yīng)和來自客 戶機(jī)的請求以提供VPN功能,而不需要使用對在客戶機(jī)上操作的的VPN代理。例如,設(shè)備可 以重寫客戶機(jī)和服務(wù)器之間的統(tǒng)一資源定位符(URL),諸如通過服務(wù)器對任一內(nèi)容服務(wù)器 中的URL或者客戶機(jī)傳送的請求中的URL進(jìn)行重寫。設(shè)備200可以以對于客戶機(jī)和服務(wù)器 的任一者或者兩者透明并且無縫的方式重寫服務(wù)器和客戶機(jī)之間的URL。由此,客戶機(jī)、瀏 覽器或者服務(wù)器和服務(wù)器應(yīng)用不需要知曉或者了解免客戶機(jī)SSL VPN訪問方案。設(shè)備200可以經(jīng)由之前描述的SSL VPN280模塊來提供用于訪問資源的功能。在一 個實施例中,設(shè)備200通過在用于和設(shè)備200通信的客戶機(jī)102上提供、安裝或者執(zhí)行SSL VPN代理來提供基于客戶機(jī)的對網(wǎng)絡(luò)的訪問。在一些實施例中,設(shè)備200提供對資源(諸如 http/https/文件共享)的免客戶機(jī)SSL VPN訪問,而不需要下載SSL VPN客戶機(jī)或者代理 到客戶機(jī)102。例如,用戶可以期望從諸如處于機(jī)房的外部機(jī)器來訪問公司內(nèi)的資源,在該 外部機(jī)器上用戶并沒有特權(quán)來安裝客戶機(jī)或者不期望經(jīng)歷客戶機(jī)安裝過程。當(dāng)裝置(例如 市場上的新的PDA)不支持SSL VPN客戶機(jī)而裝置運(yùn)行的是SSL使能的瀏覽器,則免客戶機(jī) SSL VPN特征也是有用的。在其他實施例中,設(shè)備200基于策略和任一策略規(guī)則、動作和/ 或條件來在對資源的基于客戶機(jī)和免客戶機(jī)SSL VPN訪問之間選擇用戶??蛻魴C(jī)可以包括任一類型和形式的用戶代理,可以是瀏覽器、編輯器、網(wǎng)絡(luò)爬蟲程 序(web穿越自動機(jī))或者任一其它終端用戶工具或者程序。客戶機(jī)102可以包括任一類 型和形式的瀏覽器。在一個實施例中,瀏覽器是Washingtong Redmond的微軟公司制備的 任一版本的InternetExplorer(IE)。在另一個實施例中,瀏覽器是網(wǎng)景通信公司制備的任 一版本的網(wǎng)景瀏覽器。在其他實施例中,瀏覽器是稱之為Firefox并且由California的 Mozilla Foundation提供的并且在www, mozilla. com可以找到的任一版本的開放源瀏覽 器。在又一個實施例中,瀏覽器是NorwayOslo的Opera Software ASA制備的稱之為Opera 的任一版本的瀏覽器。在一些實施例中,客戶機(jī)102執(zhí)行或者包括任一類型或者形式的應(yīng) 用或者程序,用于顯示web頁面、web內(nèi)容、HTML、XML、CSS (層疊式樣式表)、Java腳本或者 HTTP內(nèi)容。在圖3A描述的實施例的操作中,用戶登入設(shè)備200提供的SSL VPN站點(diǎn),諸如通 過設(shè)備200寄載的域名和IP地址。例如,用戶經(jīng)由客戶機(jī)102的瀏覽器可以選擇或者輸入URL到SSL VPN站點(diǎn)。設(shè)備200可以驗證用戶并且還可以進(jìn)一步確定用戶訪問設(shè)備200或 者SSL VPN站點(diǎn)的授權(quán)。在成功驗證之后,設(shè)備為客戶機(jī)提供入口頁面來經(jīng)由瀏覽器顯示給 用戶。入口頁面可以包括導(dǎo)航盒(navigation box),諸如一組一個或者多個用戶接口元件 用于用戶來選擇操作或者運(yùn)行應(yīng)用。入口頁面可以包括到用戶可訪問的其它頁面或者URL 的鏈接。入口頁面上的URL或者鏈接可以索引或者識別設(shè)備200提供的SSL VPN站點(diǎn)的主 機(jī)名或者IP地址。用戶經(jīng)由入口頁面可以例如通過點(diǎn)擊有效超鏈接或者URL來選擇一個或者多個 URL。隨之,瀏覽器或者客戶機(jī)將請求傳送給設(shè)備200寄載的域。例如,如圖3A中描述的, 用戶可以經(jīng)由設(shè)備請求服務(wù)器106的應(yīng)用“https://sslvpn. χ. com/cvpn/http/server. χ. com/app. cgi”。在一些實施例,用戶發(fā)送另一個請求,諸如“https://proxy, χ. com/cvpn/ http/server. χ. com/app. cgi”。設(shè)備200從客戶機(jī)102接收請求并且重寫該請求以發(fā)送給 服務(wù)器。例如,如圖3A中描述的,設(shè)備可以移除或者刪除設(shè)備所寄載的域名諸如“sslvpn. x. com"或者“proxy, χ. com"并且將請求的剩余部分轉(zhuǎn)發(fā)給服務(wù)器106。響應(yīng)于該請求,服務(wù)器將內(nèi)容發(fā)送給客戶機(jī)。響應(yīng)的內(nèi)容或者體可以包括到服務(wù) 器的其他頁面或者到網(wǎng)絡(luò)104’上的其他服務(wù)器的嵌入式鏈接或者URL,諸如到“http:// server, χ. com/app. cgi ”的嵌入式鏈接。設(shè)備重寫該首部和體來修改任一URL,以索引到SSL VPN站點(diǎn)的域名或者IP地址,使得經(jīng)由客戶機(jī)瀏覽器的任一其它URL或者鏈接選擇將請求 發(fā)送給設(shè)備200。設(shè)備發(fā)送修改后的內(nèi)容給客戶機(jī)102。設(shè)備200諸如經(jīng)由AppFw 290 (有 時稱之為AppSecure模塊290)可以設(shè)計并且構(gòu)建為基于策略引擎的策略來重寫請求和響 應(yīng)的URL。該頁面和在此SSL VPN會話期間從服務(wù)器隨后接收的其他頁面中的鏈接(URL) 由設(shè)備通過指向SSL VPN站點(diǎn)(VPNVIP 275)的鏈接和初始請求URL (絕對或者相對)編碼 在該請求URL中的方式來進(jìn)行修改?,F(xiàn)在參考圖3B,描述用于提供VPN訪問以及cookie管理的VPN環(huán)境的另一個實施 例。總的來說,設(shè)備200可以包括用于處理如此處描述的基于免客戶機(jī)和/或客戶機(jī)的任 一 SSL VPN功能性的VPN模塊280。設(shè)備和/或VPN模塊280可以具有AAA模塊來執(zhí)行任 一類型和形式的驗證、授權(quán)和審核(AAA)和/或跟綜和管理VPN會話信息。AAA模塊還可以 執(zhí)行任一類型或者形式的VPN會話查詢來確定用于任一客戶機(jī)請求的VPN會話。VPN模塊 還可以執(zhí)行URL譯碼并且將URL轉(zhuǎn)換為服務(wù)器格式,諸如用來提交給專用網(wǎng)絡(luò)上的服務(wù)器。 VPN模塊280還包括經(jīng)由VPN處理器函數(shù)、邏輯或者運(yùn)算的DNS查詢功能性和授權(quán)。設(shè)備可以包括用于保存、跟蹤和管理客戶機(jī)和服務(wù)器之間的cookie的cookie代 理或者cookie管理器。Cookie可以包括用于增加或者插入cookie以及移除cookie的 cookie存儲裝置,稱之為cookie存儲器(jar)。Cookie管理器或者代理可以包括在cookie 存儲器中通過請求和/或響應(yīng)的URL、域名或者其他信息來保存和查詢cookie信息的功能、 邏輯或者運(yùn)算。在一些實施例中,設(shè)備200代表不支持cookie、停用的cookie的客戶機(jī)或 者對于期望或優(yōu)選不發(fā)送cookie給客戶機(jī)的情況中管理cookie。設(shè)備還可以包括AppFW 280,其在Citrix System公司制備的設(shè)備的情況下稱為 AppSecure0 AppSecure 280模塊可以包括用于執(zhí)行任一類型和形式的內(nèi)容重寫,諸如URL 重寫的邏輯、功能或運(yùn)算。在一些實施例中,AppSecure 280模塊執(zhí)行到客戶機(jī)和服務(wù)器 之間的請求和/或響應(yīng)的任一類型和形式的內(nèi)容注入。在一些實施例中,AppSecure模塊280將腳本插入到對客戶機(jī)的響應(yīng)中,諸如Java腳本,來執(zhí)行任一類型和形式的期望的功 能性。用于免客戶機(jī)SSL VPN訪問的設(shè)備200的任一部件可以響應(yīng)于配置或者通過配置 驅(qū)動,諸如經(jīng)由策略引擎的任意一個或者多個策略。策略可以指導(dǎo)和確定通過VPN模塊執(zhí) 行的URL編碼和譯碼的類型和形式。在一些實施例中,策略可以指導(dǎo)和確定cookie代理如 何并且何時管理和代理cookie。在其他實施例中,策略可以指導(dǎo)并且確定AppSecure模塊 如何并且何時執(zhí)行URL重寫和/或內(nèi)容注入。策略可以指導(dǎo)用戶訪問專用網(wǎng)絡(luò)和專用網(wǎng)絡(luò) 上的應(yīng)用的方式。策略可根據(jù)訪問方案配置,該訪問方案可以包括基于用戶、客戶機(jī)的類型 和形式、網(wǎng)絡(luò)的類型和形式、訪問資源的類型、所使用應(yīng)用的類型、暫時信息以及可以通過 設(shè)備經(jīng)由傳輸?shù)降木W(wǎng)絡(luò)業(yè)務(wù)量來確定的任一信息的任一組合的訪問。參考圖3B,討論經(jīng)由設(shè)備200用于免客戶機(jī)SSL VPN訪問的包流。響應(yīng)于成功的 登入請求,VPN設(shè)備可以發(fā)送入口頁面給登入請求的發(fā)送者。入口頁面可以具有結(jié)合圖3A 描述的“vpn編碼格式”的一個或者多個鏈接。入口頁面流經(jīng)以下描述的響應(yīng)碼路徑。當(dāng)用 戶點(diǎn)擊入口頁面中的任一 URL時,包流可以以多種方式并且使用多個步驟來執(zhí)行。在一些 實施例中,對于步驟Ql的請求路徑,設(shè)備200可以接收URL請求并且查詢AAA模塊中的VPN 會話。在步驟Q2,設(shè)備可以將VPN編碼的URL譯碼為期望的URL用于服務(wù)器或者網(wǎng)絡(luò)104’。 設(shè)備還可以將請求的首部(諸如首部值)修改為服務(wù)器格式或者意于通過服務(wù)器106傳輸 和使用的格式,諸如HTTP服務(wù)器。設(shè)備可以重新解析首部,使得設(shè)備的任一其它模塊以服 務(wù)器格式查看該請求。在步驟Q3,在請求路徑中,設(shè)備經(jīng)由cookie管理器或者代理可以基 于URL的域和路徑來查看用于該請求的cookie。在一些情況中,如果該請求包括cookie, 則該設(shè)備可以從cookie存儲器插入cookie。在步驟Q4,設(shè)備可以經(jīng)由設(shè)備的DNS查詢功 能/模塊來將以URL中的服務(wù)器的域名解析為服務(wù)器的IP地址。設(shè)備可以基于AAA模塊 中的DNS查詢來建立服務(wù)器信息。此外,可以評估授權(quán)策略來確定該請求是否可以傳送給 服務(wù)器。在步驟Q5,設(shè)備可以將請求發(fā)送給服務(wù)器。在一些實施例中,只有在授權(quán)成功的情 況下,設(shè)備才將該請求發(fā)送給服務(wù)器。在從服務(wù)器經(jīng)由設(shè)備到客戶機(jī)的響應(yīng)路徑中,在步驟Si,設(shè)備可以接收來自服務(wù) 器的響應(yīng)。VPN模塊280可以處理該響應(yīng)。VPN模塊可以將該響應(yīng)首部傳遞到cookie代理 模塊并且將響應(yīng)的體傳遞到AppSecure模塊。在步驟S2,cookie代理可以從響應(yīng)的首部移 除未被配置或者以其它方式識別為客戶機(jī)所消耗cookie的cookie并且將它們保存在當(dāng)前 會話所使用的cookie存儲器中。在步驟S3,AppSeCUre模塊可以根據(jù)重寫策略來重寫“vpn 編碼形式”的任一 URL。AppSecure模塊還可以將任一腳本插入響應(yīng)體中,諸如要在客戶機(jī) 側(cè)執(zhí)行的Java腳本代碼。在步驟S4,設(shè)備可以發(fā)送修改后的響應(yīng)給客戶機(jī)。在許多實施例 中,任一個Q或者S步驟以任一順序或者以與此處所描述的任一其它步驟或者實施例的任 一組合進(jìn)行。D、用于URL重寫編碼方案的系統(tǒng)和方法現(xiàn)在參考圖4A,討論用于提供細(xì)粒度配置和策略驅(qū)動的統(tǒng)一資源定位符(URL)編 碼方案的系統(tǒng)和方法。總的來說,一個或者多個客戶機(jī)102A-102N可以經(jīng)由設(shè)備200建立 到服務(wù)器106A-106N的SSL VPN會話??蛻魴C(jī)102A可以經(jīng)由設(shè)備200提供的SSL VPN站點(diǎn) 來建立第一 SSL VPN會話Si??蛻魴C(jī)102B可以經(jīng)由設(shè)備200建立第二 SSL VPN會話S2。客戶機(jī)102N還可以經(jīng)由設(shè)備200建立第三SSL VPN會話S3。設(shè)備200可以使用一個或者 多個會話策略420來配置,以限定任意規(guī)則來觸發(fā)關(guān)于任意會話S1-S3所采用的任意動作。 在一些情況中,會話策略420指導(dǎo)、觸發(fā)或者以其他方式確定使用什么類型的URL編碼方案 或者機(jī)制,諸如經(jīng)由URL編碼策略410的任一個。例如,會話策略420可以確定URL編碼策 略410以用于給定的會話。URL編碼策略410可以識別多個可用編碼方案的一個URL編碼方案,以用于會話。 設(shè)備200可以使用URL編碼方案用于免客戶機(jī)SSL VPN訪問。例如,對于特定用戶或者特 定客戶機(jī)102,設(shè)備200可以從多個編碼方案選擇和使用一個編碼方案用于免客戶機(jī)SSL VPN訪問。設(shè)備200可以包括執(zhí)行從多個編碼方案選擇和使用單個編碼方案所必須的任意 功能性。一個或者多個策略可以將URL編碼方案指導(dǎo)為用于訪問場景。例如,策略可以指 導(dǎo)SSL VPN模塊來基于對于客戶機(jī)所建立會話已識別的規(guī)則或者動作使用預(yù)定類型的URL 編碼。由此,管理員可以配置設(shè)備基于用戶的訪問場景來使用多個編碼方案的其中一個用 于在免客戶機(jī)SSL VPN會話期間重寫URL。在一些其他例子中,策略可以指導(dǎo)SSL VPN模塊 基于針對客戶機(jī)上所建立用戶、所建立客戶機(jī)或者所建立的客戶機(jī)類型或者客戶機(jī)組所識 別出的規(guī)則或者動作來使用預(yù)定類型的URL編碼。會話策略420可以是用于管理、控制和建立會話的任意類型和形式的策略。在一 些實施例中,會話策略420包括用于在客戶機(jī)102和服務(wù)器106之間經(jīng)由中間設(shè)備200建立 會話的規(guī)則或者策略。在其他實施例中,會話策略420包括用于管理會話或者掌控所建立 的該類型會話的規(guī)則或者策略。在一些實施例中,會話策略420包括用于基于有關(guān)客戶機(jī) 的信息對客戶機(jī)102的會話建立限制或特權(quán)的規(guī)則。在一些實施例中,會話策略420可以 基于客戶機(jī)的配置、客戶機(jī)的因特網(wǎng)協(xié)議地址、客戶機(jī)的歷史記錄或者基于客戶機(jī)102上 的用戶來在客戶機(jī)102和服務(wù)器106之間建立指定的會話。在進(jìn)一步的實施例中,會話策略 420包括用于對基于客戶機(jī)102所請求會話的類型所建立的任意會話建立限制或者特權(quán)的 規(guī)則,該會話諸如免客戶機(jī)SSL VPN會話或者基于客戶機(jī)的SSL VPN會話。例如,會話策略 420可以包括對于一類請求建立一類會話而對于另一類請求建立另一類會話的策略。類似 地,會話策略420可以包括基于客戶機(jī)102正在請求的服務(wù)或者資源的類型建立不同會話 的策略。在一些實施例中,會話策略420包括基于客戶機(jī)102正嘗試訪問的服務(wù)器106建 立不同會話的策略。策略或者規(guī)則可以基于關(guān)于客戶機(jī)102、服務(wù)器106、客戶機(jī)102或者 服務(wù)器106的cookie配置、客戶機(jī)102正使用的網(wǎng)絡(luò)的類型、客戶機(jī)102的安全特性的任 意信息或者關(guān)于客戶機(jī)102或服務(wù)器106的任意其他信息來掌控會話的建立和管理。會話 策略420可以建立對于一個客戶機(jī)102具有特定特征的一個會話以及對于不同客戶機(jī)102 具有不同特征的不同的會話。會話的特定特征可以包括對于每個會話可用的特定的編碼策 略、用于在每個會話中重寫URL的特定編碼方案、特定通信協(xié)議或者會話的任意其它類似 特性。URL編碼策略410可以是用于編碼、修改或者轉(zhuǎn)換URL的任意類型和形式的策略。 URL編碼策略410可以是用于選擇對URL進(jìn)行修改、編碼或者轉(zhuǎn)換的一個或者多個特定編 碼方案的任意類型和形式的策略。在一些實施例中,URL編碼策略410包括選擇用于編碼、 轉(zhuǎn)換或者修改URL的任意數(shù)量個編碼方案的規(guī)則和策略。在一些實施例中,URL編碼策略 410從多個編碼方案中識別編碼方案以用于特定URL、特定客戶機(jī)102或者特定服務(wù)器106。在一些實施例中,URL編碼策略410基于關(guān)于客戶機(jī)102或服務(wù)器106的任意信息來識別 用于修改、重寫或者轉(zhuǎn)換對于特定會話的URL的一個或者多個編碼方案。在一些實施例中, URL編碼策略410基于客戶機(jī)102上的用戶來識別用于轉(zhuǎn)換或者重寫客戶機(jī)102和服務(wù)器 106之間的URL的編碼方案。在一些實施例中,URL編碼策略410基于客戶機(jī)102的安全 信息來識別編碼方案,諸如客戶機(jī)102正使用的網(wǎng)絡(luò)、保護(hù)或者安全級。在一些實施例中, URL編碼策略410基于對于客戶機(jī)102所建立的會話來識別編碼方案。URL編碼策略可以 包括用于使用特定方式和方法來轉(zhuǎn)換、修改或者重寫URL的任意數(shù)量個不同的策略或者方 案。URL編碼策略可以包括用于轉(zhuǎn)換、重寫或者修改任意數(shù)量的URL的透明、不透明和加密 的方案或者策略,以及這些策略或者方案的任意組合。每個編碼方案可以提供用于免客戶機(jī)SSL VPN訪問場景的不同級別和粒度的安全 性。例如,在一些實施例中,URL編碼策略可以識別以下URL編碼方案的其中一個透明、不 透明和加密。透明URL方案策略可以包括用戶可見的URL的可逆轉(zhuǎn)換。透明URL編碼方案 可以將URL轉(zhuǎn)換或者修改為在轉(zhuǎn)換或者修改后的URL中包括原始URL的一部分。不透明 URL編碼方案可以使用可逆轉(zhuǎn)換,其標(biāo)記、隱藏或者模糊化URL的諸如主機(jī)名稱和協(xié)議的任 意部分。不透明URL編碼方案可以轉(zhuǎn)換或者修改URL使得其在轉(zhuǎn)換或者修改后的URL中不 可見地識別或包括原始URL的一部分。在一些實施例中,不透明URL編碼方案允許用戶或 者客戶機(jī)查看轉(zhuǎn)換的URL中的原始URL的一部分。轉(zhuǎn)換的URL可以包括原始URL的任意部 分,其中原始URL被標(biāo)記、模糊化或者隱藏。加密的URL編碼方案可以使用密鑰,諸如會話 ID。在一些實施例中,加密的URL編碼方案使用隨機(jī)產(chǎn)生的加密密鑰來加密URL。對于加密 URL編碼方案所使用的密鑰可以從用戶特定加密密鑰變化到由對稱加密系統(tǒng)所產(chǎn)生的任意 密鑰。不透明和加密URL加密方案可以模糊化URL,來提供不同級別的安全性。在進(jìn)一步的細(xì)節(jié)中,設(shè)備200可以被設(shè)計和構(gòu)建為使用任意類型和形式的URL編 碼方案和/或機(jī)制。在一個實施例中,設(shè)備200將URL重寫為對于每個URL的一些唯一標(biāo) 識符。在進(jìn)一步的實施例中,設(shè)備200將URL重寫為URL中相對于設(shè)備所寄載(host)的域 /IP的路徑。在一個例子中,設(shè)備200可以使用由“www. tinyurl. com”提供的服務(wù)或者功能 性來將任意URL編碼到其下的一些相對的URL。在進(jìn)一步的例子中,“www. tinyurl. com”的 功能性可以重寫為URL "http://www. rediff. com/index, html,,或者為該站點(diǎn)下的一些相 對URL諸如“http://tinyurl. com/9oatj,,。在進(jìn)一步的實施例中,設(shè)備200可以將URL重 寫為可以具有不同或者相同主機(jī)名稱或者路徑的任意其它URL。在一些情況中,設(shè)備200將 服務(wù)器提供的URL重寫為設(shè)備200提供的SSL VPN站點(diǎn)下的相對URL。例如,設(shè)備200可以 將諸如“http://www. y. com/index, html,,的 URL 重寫到“http//sslvpn. χ. com/9oatj,,中。 在一些實施例中,“9oatj”是對于給定URL的唯一標(biāo)識符。在進(jìn)一步的例子中,設(shè)備200將 諸如"http://rediff. com/index, html” 的 URL 重寫為 “http//sslvpnsite. com/9oatj”。 設(shè)備200可以將重寫的URL映射、跟蹤到原始的URL并保存在存儲器或者存儲設(shè)備中。當(dāng) 接收到識別重寫URL的客戶機(jī)的請求時,設(shè)備200查詢映射到該重寫URL或者與其相關(guān)的 原始URL。在一些實施例中,轉(zhuǎn)換的URL被轉(zhuǎn)換,使得其在其中包括原始未轉(zhuǎn)換URL的一部 分或者全部。有時,這樣的轉(zhuǎn)換對于用戶可以是可逆的并且透明的。在一些實施例中,這樣 的轉(zhuǎn)換可以稱之為透明URL編碼方案。在一些實施例中,設(shè)備可以使用任意 型和形式的加密來提供加密的URL編碼方案。例如,設(shè)備200可以使用會話密鑰來加密/解密相對于SSL VPN站點(diǎn)下的URL做出的 響應(yīng)或請求路徑中的URL。會話密鑰可以保存在設(shè)備上、VPN會話本身中或使用會話標(biāo)識 符提取。在一些實施例中,設(shè)備加密整個URL或者URL的一部分。在一個實施例中,設(shè)備對 SSL VPN站點(diǎn)主機(jī)名稱和/或文件的擴(kuò)展名不加密。在其他實施例中,設(shè)備使用用于加密的 任意密鑰,諸如設(shè)備提供的SSL會話的密鑰,或者經(jīng)由網(wǎng)絡(luò)話務(wù)量提取或者確定的任意唯 一信息。在一些情況中,證書或者此處的任意信息可以用于密鑰,諸如客戶機(jī)或者服務(wù)器的 證書。在其他情況中,公用密鑰和/或?qū)S妹荑€可以用于加密和解密。公用或者專用密鑰 可以是客戶機(jī)、服務(wù)器或者設(shè)備的密鑰或者這些裝置之間的任意安全或者加密的會話。在 一些實施例中,諸如管理員的用戶可以指定或者配置密鑰來用于加密和/或解密。在另一 個實施例中,管理員可以配置設(shè)備來使用多個加密技術(shù)中的一個加密技術(shù)。在一些實施例中,指向設(shè)備的SSL VPN站點(diǎn)并且在URL的路徑部分中具有編碼URL 的URL可以稱之為“vpn編碼URL”。在一些實施例中,編碼絕對URL也可以稱之為“vpn編 碼URL,,。使用vpn編碼URL的優(yōu)勢在于這樣的方法可以避免在請求路徑中對于原始URL的 代價高昂的查詢。在一些情況中,設(shè)備使用編碼URL方案來模糊化URL,使得不暴露服務(wù)器 處的目錄結(jié)構(gòu)。使用會話密鑰的對稱加密/解密可以是在需要URL加密時用于URL重寫的 方法。設(shè)備200可以執(zhí)行URL的加密和解密。在一些實施例中,使用會話密鑰的對稱加密 /解密可以是在執(zhí)行URL模糊化時用于URL重寫的方法。其它類型的編碼方案或者加密方 案可以如期望地用于模糊化URL。通過實例,如果在從位置“http://www. abc. com/textsite/index. html” 訪問的 頁面中呈現(xiàn)的相對URL是“ contents/fi 1 e5. html ”,則設(shè)備諸如經(jīng)由AppSecure模塊將
URL ^ M^J 0& URL "http://www. abc. com/testsite/contents/f ile5. html,,。 i亥 備使用對稱密鑰來加密該絕對 URL "http://www. abc. com/testsite/contents/file5"并 且將加密字符串布置或者置于SSL VPN站點(diǎn)下的相對URL的一部分,諸如svpn.mysite. com。例如如果不具有文件擴(kuò)展名或者后綴的URL "http //www. abc. com/testsite/ contents/file5,,加密為字符串 “wruiwdsym334d3434bmvc8sdsffsmds,,,則用于設(shè)備提供 給客戶機(jī)的頁面中的 contents/file5. html 的 URL 可以是"https://sslvpn· χ. com/cvpn/ wruiwdsym334d3434bmvc8sdsffsmds. html”。 在一些實施例中,設(shè)備可以將不透明編碼或者可逆翻譯或者加密(其還可以稱為 vpn編碼)應(yīng)用到URL的任意部分。在一個實施例中,設(shè)備200將vpn編碼應(yīng)用到URL的其 他部分,諸如除了文件擴(kuò)展名或者后綴的整個URL。在另一個實施例中,設(shè)備200將vpn編碼 應(yīng)用到完全合格域名(FQDN)和URL的協(xié)議部分并且不改變相對URL。由于在諸如Java腳 本的不同內(nèi)容類型中出現(xiàn)的相對URL未改變,當(dāng)嵌入不同內(nèi)容類型中的相對URL難以識別 時,該類編碼是有用的。在一些實施例中,設(shè)備200將不透明或者可逆翻譯編碼應(yīng)用到URL 的任意部分。在一個實施例中,設(shè)備200將可逆翻譯編碼應(yīng)用到URL的主機(jī)名稱部分。在 另一個實施例中,設(shè)備將可逆翻譯編碼應(yīng)用到URL的協(xié)議部分。在另外的進(jìn)一步實施例中, 設(shè)備將可逆翻譯編碼應(yīng)用到URL的主機(jī)名稱和協(xié)議部分。在一個實施例中,設(shè)備200將可 逆翻譯應(yīng)用到URL的除了主機(jī)名稱和協(xié)議的部分。在一些實施例中,相對URL不改變。不 透明或可逆翻譯編碼可用于處理客戶機(jī)側(cè)的相對請求或者支持一些腳本。
在其他實施例中,諸如對于不透明類型的URL編碼,設(shè)備可以使用任意類型和形式的可逆翻譯機(jī)制或者方案,諸如Base64編碼。在一些情況中,術(shù)語“Base64”是指MIME 內(nèi)容傳送編碼。在其他情況中,該術(shù)語還用作對于任意類似編碼方案的通用術(shù)語,該編碼方 案通過將其數(shù)字化處理并且翻譯為64基的表示來編碼二進(jìn)制數(shù)據(jù)。在其他實施例中,設(shè)備 可以使用任意類型和形式的二進(jìn)制到文本的編碼,諸如32基、uuencode編碼或者任意其他 方案??赡婢幋a方案可以使用任意類型的字符、字典或者字母。在一個實施例中,64基編碼 可以使用URL安全字母表52個英文字母、10個數(shù)字和兩個其他字符‘_’和‘_’并且不使 用填充符(padding)。使用可逆翻譯的URL編碼可以是貫穿SSL VPN會話所用的書簽并且主機(jī)名稱對于 用戶不可見,而不需要執(zhí)行譯碼,諸如64基譯碼。該不透明URL編碼可以用于SSL VPN免 客戶機(jī)訪問,不需要知道使用加密技術(shù)來將主機(jī)名稱強(qiáng)硬地隱藏在哪里并且不需要知道何 時隱藏目錄結(jié)構(gòu)。通過例子,對于來自 URL “http://www.xyz.com/html/index.htmr,的頁面的 index, html,設(shè)備可以使用 64 基編碼重寫 URL 為 “/cvpn/aHR0cDovL3d3dy54eXouY29t/ html/index, html”。該方法允許標(biāo)記的鏈接貫穿SSL VPN會話可用,并且僅可以重寫相對 根和絕對URL。相比于加密URL編碼技術(shù),不透明編碼不能有效隱藏服務(wù)器名稱或者服務(wù)器 上的目錄結(jié)構(gòu)。在一些實施例中,設(shè)備可以基于用戶可見的可逆翻譯使用透明URL編碼方案。設(shè) 備可以使用任意可逆轉(zhuǎn)換功能來重寫URL以使其形成到SSLVPN站點(diǎn)的絕對的或者相對的 鏈接,使得原始URL更容易提取。例如,使用透明編碼技術(shù)的設(shè)備可以將來自URL“http:// www. xyz. com/html/index, html,,的頁面的 index, html 重寫為“/cvpn/http/www. xyz. com/ html/index, html”。當(dāng)不需要查詢時,該方法在存儲器使用和計算中很有效。使用該方法, 標(biāo)記的URL還可以貫穿不同SSL VPN會話來使用并且易于被標(biāo)記。在又一個實施例中,設(shè)備可以執(zhí)行在URL中嵌入任意類型和形式的會話信息的 URL重寫。例如,如果客戶機(jī)的瀏覽器不支持cookie,則該設(shè)備可以將會話信息嵌入在編碼 的URL中來識別和跟蹤該會話,諸如用于免客戶機(jī)SSL VPN訪問場景。在一個實施例中,設(shè) 備在URL中保存或者編碼會話ID。在另一個實施例中,設(shè)備在URL中保存或者編碼唯一客 戶機(jī)標(biāo)識符。在一些實施例中,設(shè)備在URL保存或者編碼cookie或者cookie信息。設(shè)備可 以使用可逆翻譯,諸如所描述的透明或者不透明方法或者使用嵌入會話或者其他信息重寫 URL的加密方法。例如,具有會話ID的翻譯的URL可以以使用對稱密鑰加密的“https:// svpn. mysite. com/cvpns/XYZ/wruiwdsym334d3434bmvc8sdsffsmds. html,,的形式或者對于 可逆番羽譯方法的"https ://svpn. mysite. com/cvpns/XYZ/http/www. y. com/html/index, html”的形式來重寫,其中XYZ是用于SSL VPN的會話ID。在一些實施例中,會話ID可以 翻譯為URL的可逆翻譯部分的一部分或者加密為URL的加密部分的一部分。在一些實施例中,設(shè)備可以使用透明、不透明和/或加密URL編碼的任意組合來用 于整個URL或者其任意部分。例如,設(shè)備可以使用透明技術(shù)用于URL的第一部分,不透明技 術(shù)用于URL的第二部分并且加密技術(shù)用于URL的第三部分。設(shè)備可以在URL的第一部分、 第二部分或者第三部分嵌入會話信息或者任意其他設(shè)備確定的信息。在又一個實施例中,設(shè)備可以使用任意用戶限定編碼功能或者翻譯計算。在一些 實施例中,用戶經(jīng)由編程語言、腳本、庫或者任意其它接口可以識別設(shè)備所使用的編碼方案或者機(jī)制或者編碼器。在另一個實施例中,用戶可以指定在URL或者其部分中保存或者編 碼哪個會話、cookie或者其他信息,并且如果有將使用哪種類型的編碼,透明的、不透明的、 加密的或者用戶限定的。在多個實施例中,基于客戶機(jī)所處的環(huán)境的安全級別來確定客戶機(jī)的狀態(tài)。例如, 一些客戶機(jī)可以處于安全網(wǎng)絡(luò)環(huán)境中而其他客戶機(jī)可以處于不安全環(huán)境中。這可以導(dǎo)致中 間設(shè)備基于客戶機(jī)所處環(huán)境來選擇客戶機(jī)的狀態(tài)。在一些實施例中,通過收集關(guān)于客戶機(jī) 的信息來確定客戶機(jī)的狀態(tài),諸如操作系統(tǒng)、個人防火墻的存在和版本、病毒保護(hù)的存在和 版本、瀏覽器的類型和版本等。例如,客戶機(jī)代理可以收集關(guān)于客戶機(jī)的信息。在一些實施例中,通過服務(wù)器106或者服務(wù)器106上的用戶來確定客戶機(jī)的狀態(tài)。 在一些實施例中,通過設(shè)備200來確定客戶機(jī)的狀態(tài)。在多個實施例中,客戶機(jī)比另一個客 戶機(jī)被授權(quán)更多訪問或者訪問更多的應(yīng)用程序。在一些實施例中,特定客戶機(jī)的驗證用戶 可以訪問服務(wù)器106上的軟件、應(yīng)用程序或者文件,而其他客戶機(jī)的其他用戶卻不能訪問。 該設(shè)備200可以基于以下任意一個或者任意組合來為客戶機(jī)或者客戶機(jī)的用戶分配狀態(tài) 客戶機(jī)所處網(wǎng)絡(luò)的安全級或者安全性、客戶機(jī)的類型、客戶機(jī)的用戶的類型、客戶機(jī)的操作 系統(tǒng)、客戶機(jī)的安全系統(tǒng)、用戶驗證、用戶訪問和所請求URL提供訪問的信息的敏感性。在 一些實施例中,第二客戶機(jī)具有與第一用戶不同的狀態(tài)、證書或者訪問。在多個實施例中, 由識別與第一客戶機(jī)和第二客戶機(jī)的通信相關(guān)的風(fēng)險的規(guī)格來確定第一和第二客戶機(jī)的 證書或者狀態(tài)。識別與第一客戶機(jī)和第二客戶機(jī)的通信相關(guān)的風(fēng)險的規(guī)格可以是以下的任 意項或者其任意組合客戶機(jī)所處網(wǎng)絡(luò)的安全級或者安全性、客戶機(jī)的類型、客戶機(jī)的用戶 的類型、客戶機(jī)的操作系統(tǒng)、客戶機(jī)的安全系統(tǒng)、用戶驗證、用戶訪問和所請求URL提供訪 問的信息的敏感性。在許多實施例中,由策略引擎或者中間設(shè)備200或者服務(wù)器106的一 個或者多個映射來確定狀態(tài)和證書。在一些實施例中,瀏覽器可以使用請求中的文件的擴(kuò)展名來提取MIME類型。如果 文件的擴(kuò)展名存在于請求URL中,其可以保持不改變。在一些實施例中,不呈現(xiàn)擴(kuò)展名。在 一些實施例中,設(shè)備200檢查擴(kuò)展名的存在。在一些情況中,整個URL除了擴(kuò)展名之外都可 以重寫或者編碼。在進(jìn)一步的實施例中,可以重寫主機(jī)名稱,使得主機(jī)名稱為設(shè)備200提供 的SSL VPN站點(diǎn)下的子目錄。在其他情況中,僅重寫主機(jī)名稱和協(xié)議,使得主機(jī)名稱為SSL VPN站點(diǎn)下的子目錄。如果使用主機(jī)名稱重寫方法,則可以不改變頁面中出現(xiàn)的相對URL并 且可能需要重寫絕對URL。進(jìn)一步查看圖4A,此處描述的設(shè)備提供對URL重寫編碼的類型和形式的細(xì)粒度控 制的實現(xiàn),以用于通過設(shè)備的任意會話,諸如免客戶機(jī)SSLVPN會話?;蛘咴谌旨墑e或者經(jīng)由策略,設(shè)備可以配置為從諸如透明、不透明、加 密、用戶限定或者其任意組合的多個預(yù)定類型的編碼中提供一個預(yù)定類型的URL編碼。經(jīng) 由配置或者策略,用戶可以指定URL的哪部分或者元素以應(yīng)用預(yù)定類型的編碼。經(jīng)由配置 或者策略,用戶可以指定基于訪問場景何時應(yīng)用URL編碼并且應(yīng)用給誰。設(shè)備200可以使用網(wǎng)絡(luò)包、請求和/或響應(yīng)的任意部分或者各部分組合來確定URL 編碼方案可以使用的條件。例如,策略規(guī)則可以基于網(wǎng)絡(luò)包的評估部分來確定預(yù)定URL編 碼方案應(yīng)用的條件,該網(wǎng)絡(luò)包的評估部分諸如網(wǎng)絡(luò)堆棧的任意層或者協(xié)議的首部或者有效 載荷的任意部分。在一些實施例中,設(shè)備使用HTTP首部的任意部分和/或HTTP體或者事務(wù)層的任意部分來確定所采用的動作和/或所應(yīng)用的策略。在一個實施例中,設(shè)備使用結(jié) 構(gòu)化信息,諸如首部中限定的字段或者體中限定的元素或者結(jié)構(gòu)。在一些實施例中,設(shè)備使 用非結(jié)構(gòu)化信息,諸如通過圖案、位置或者其它搜索和識別方法所識別的體的部分。在其他 實施例中,設(shè)備使用在策略中所用的結(jié)構(gòu)化和非結(jié)構(gòu)化信息以及對于策略指定的規(guī)則和動 作。通過例子,用戶可以指定URL編碼機(jī)制在全局級別,諸如經(jīng)由以下命令行接口 (CLI)指令set vpn param-ClientLessModeUrlEncoding (opaque|transparent|encrypt)為了提供改變每用戶、組或者vserver/VIP 275的URL編碼的靈活性,URL編碼的 類型可以配置為會話策略的動作中的參數(shù)add vpn session action<actionName>-ClientLessModeUrlEncoding(opaque|tr ansparent|encrypt)基于根據(jù)評估為真的規(guī)則的條件來觸發(fā)會話的動作或者其它方式觸發(fā)的動作,使 用動作指定的URL編碼模式可以應(yīng)用于重寫對于該會話的URL。在一些實施例中,在不透 明模式期間,僅編碼協(xié)議和主機(jī)名稱。在進(jìn)一步的實施例中,默認(rèn)為不透明模式并且僅協(xié)議 和FQDN是64基編碼的,使得用戶不能在清晰的文本中看到主機(jī)名稱或者協(xié)議。任意模式 可以限定或者配置為默認(rèn)URL編碼模式。在透明模式的一個實施例中,不進(jìn)行編碼并且用 戶可以查看訪問哪個主機(jī)以及目錄結(jié)構(gòu)。在加密模式的一些實施例中,使用會話密鑰來加 密主機(jī)名稱以及路徑。設(shè)備可以提供任意布置或者類型的GUI來提供用戶接口以指定和配 置URL編碼和相關(guān)的策略?,F(xiàn)在參考圖4B,描述用于經(jīng)由中間設(shè)備200確定對于SSL VPN的URL編碼方案的 方法400的實施例的流程圖??偟膩碚f,在步驟405,在第一客戶機(jī)和服務(wù)器之間經(jīng)由中間 設(shè)備建立第一 SSL VPN會話。在步驟410,在第二客戶機(jī)和服務(wù)器之間經(jīng)由中間設(shè)備建立 第二 SSL VPN會話。在步驟415,中間設(shè)備的包引擎經(jīng)由第一 SSL VPN會話從第一客戶機(jī) 接收包括從服務(wù)器到客戶機(jī)的第一 URL的第一響應(yīng)。在步驟420,中間設(shè)備的包引擎經(jīng)由 第二 SSL VPN會話從第二客戶機(jī)接收包括從服務(wù)器到客戶機(jī)的第二 URL的第二響應(yīng)。在步 驟425,策略引擎使用編碼策略來從多個編碼方案中確定編碼第一 URL的第一編碼方案并 從多個編碼方案中確定編碼第二 URL的第二編碼方案。在步驟430,中間設(shè)備的重寫器響應(yīng) 于策略引擎根據(jù)所確定的第一編碼方案來重寫第一 URL并且根據(jù)確定的第二編碼方案來 重寫第二 URL。在進(jìn)一步的細(xì)節(jié)中,在步驟405,客戶機(jī)、服務(wù)器或者中間設(shè)備中的任意部件經(jīng)由 中間設(shè)備在第一客戶機(jī)和服務(wù)器之間建立第一 SSL VPN會話。在一些實施例中,第一客戶 機(jī)、中間設(shè)備或者服務(wù)器的任意一個在第一客戶機(jī)和服務(wù)器之間建立第一SSL VPN會話。第 一 SSL VPN會話可以經(jīng)由諸如設(shè)備200的任意中間設(shè)備來建立。所建立的SSL VPN會話可 以是安全會話,諸如加密的客戶機(jī)到服務(wù)器的會話。第一客戶機(jī)、服務(wù)器或者中間設(shè)備可以 建立第一 SSL VPN會話并且分配唯一第一標(biāo)識符,用于與其它SSL VPN會話唯一區(qū)分和識 別第一 SSL VPN會話。第一客戶機(jī)、服務(wù)器和中間設(shè)備的任意一個可以經(jīng)由為會話提供功 能性或者安全性的通信協(xié)議來建立第一 SSL VPN會話,諸如Citrix ICA協(xié)議。在一些實施 例中,客戶機(jī)、服務(wù)器或者中間設(shè)備的任意一個使用第一客戶機(jī)、服務(wù)器和中間設(shè)備的任意兩個之間的信息交換來建立SSL VPN會話。在一些實施例中,SSL VPN會話的建立包括第 一客戶機(jī)的授權(quán)。在一些實施例中,中間設(shè)備或者服務(wù)器需要第一客戶機(jī)使用用戶名、密碼 或者用戶名和密碼的組合來驗證,用來建立第一會話。在許多實施例中,服務(wù)器和第一客戶 機(jī)使用加密密鑰來建立安全加密的第一會話。在建立第一 SSL VPN會話時或會話期間,服務(wù)器或者中間設(shè)備可以使用策略和/ 或策略引擎來將第一客戶機(jī)與訪問服務(wù)器的級別或者訪問服務(wù)器的功能性的級別相關(guān)聯(lián)。 在許多實施例中,在建立SSL VPN會話時或會話期間,服務(wù)器或者中間設(shè)備使用用戶、組或 者全局的一個或者多個配置策略將第一客戶機(jī)與訪問服務(wù)器的級別或者訪問服務(wù)器的功 能性的級別相關(guān)聯(lián)。在步驟410,客戶機(jī)、服務(wù)器或者中間設(shè)備的任意一個經(jīng)由中間設(shè)備在第二客戶機(jī) 和服務(wù)器之間建立第二 SSL VPN會話。在一些實施例中,使用和第一會話相同步驟組來建 立第二會話。在許多實施例中,第二會話基本上類似于建立第一會話的方式來建立。第二 SSL VPN會話被分配唯一第二標(biāo)識符,用于與其它SSL VPN會話唯一識別該第二 SSL VPN會 話。在許多實施例中,第二 SSL VPN會話包括第一 SSL VPN會話的任意部分或者任意功能 性。在一些實施例中,第二 SSL VPN會話使用與用來建立第一 SSL VPN會話的加密密鑰不 同的加密密鑰來建立。第二 SSL VPN會話可以使用與用來建立第一 SSL VPN會話的密鑰相 同的加密密鑰來建立。在多個實施例中,第二 SSL VPN會話使用來自第二客戶機(jī)的驗證來 建立,諸如經(jīng)由用戶名和密碼的驗證。在一些實施例中,使用第二客戶機(jī)、服務(wù)器或中間設(shè) 備的任意兩個之間的信息交換來建立第二 SSL VPN會話。在建立第二 SSL VPN會話時或會話期間,服務(wù)器或者中間設(shè)備可以使用策略和/ 或策略引擎,將第二客戶機(jī)與訪問服務(wù)器的級別或者訪問服務(wù)器的功能性的級別相關(guān)聯(lián)。 在許多實施例中,服務(wù)器或者中間設(shè)備使用用戶、組或者全局的一個或者多個配置策略,將 第二客戶機(jī)與訪問服務(wù)器的級別或者訪問服務(wù)器的功能性的級別相關(guān)聯(lián)。在一些實施例 中,在建立SSL VPN會話時或會話期間,服務(wù)器或者中間設(shè)備使用策略或規(guī)則引擎來將第一 客戶機(jī)與第一客戶機(jī)的安全級別或者第一客戶機(jī)可能對會話產(chǎn)生的威脅級別相關(guān)聯(lián)。在多 個實施例中,服務(wù)器或者中間設(shè)備使用策略、策略引擎或者規(guī)則來確定第一客戶機(jī)的合適 程度,以建立和服務(wù)器的第一 SSL VPN會話。在步驟415,中間設(shè)備的包引擎經(jīng)由第一 SSL VPN會話從第一客戶機(jī)接收包括從 服務(wù)器到客戶機(jī)的第一 URL的第一響應(yīng)。在一些實施例中,中間設(shè)備的任意部件接收第一 響應(yīng)。第一響應(yīng)可以從服務(wù)器直接或者從服務(wù)器經(jīng)由任意數(shù)量個其它中間設(shè)備傳送到中間 設(shè)備。中間設(shè)備的包引擎或者任意其它部件可以從服務(wù)器接收包括第一 URL的任意數(shù)量個 響應(yīng)。在一些實施例中,由中間設(shè)備接收的第一響應(yīng)包括從服務(wù)器到客戶機(jī)的多個URL。由 中間設(shè)備經(jīng)由第一 SSL VPN會話接收的第一響應(yīng)可以包括通信信息、指令、數(shù)據(jù)、可執(zhí)行代 碼、源代碼、文件或者任意其它類型的信息。在一些實施例中,中間設(shè)備接收包括之前第一 客戶機(jī)經(jīng)由第一 SSLVPN會話請求的URL代碼或者對第一客戶機(jī)經(jīng)由第一 SSL VPN會話請 求的URL的響應(yīng)的第一響應(yīng)。在多個實施例中,中間設(shè)備接收包括訪問保存在服務(wù)器上的 或者經(jīng)由服務(wù)器可訪問的應(yīng)用程序、文件、數(shù)據(jù)或者資源的指令或者請求的第一響應(yīng)。在多 個實施例中,中間設(shè)備接收包括對于訪問服務(wù)器上的應(yīng)用程序、文件、數(shù)據(jù)或者資源的請求 的響應(yīng)的第一響應(yīng)。在一些實施例中,中間設(shè)備經(jīng)由第一 SSL VPN會話接收包括來自第一客戶機(jī)的任意數(shù)量個URL的任意數(shù)量個響應(yīng)。在許多實施例中,中間設(shè)備接收包括到由服 務(wù)器提供或者服務(wù)的文件、應(yīng)用程序、數(shù)據(jù)、web頁面、源代碼、鏈接或者任意其他信息的路 徑的任意數(shù)量個URL。在多個實施例中,中間設(shè)備接收到服務(wù)器上安全web頁面或者任意其 它類型安全資源的URL。在一些實施例中,中間設(shè)備接收到僅可以由所選擇用戶、所選擇客 戶機(jī)或者所選擇用戶和客戶機(jī)組訪問的web頁面、文件或應(yīng)用程序的URL。在一些實施例 中,中間設(shè)備接收到僅對于從安全網(wǎng)絡(luò)或者從中間設(shè)備或者服務(wù)器承認(rèn)為安全的網(wǎng)絡(luò)環(huán)境 建立SSL VPN會話的客戶機(jī)或者用戶可用的資源、web頁面、文件、應(yīng)用程序的內(nèi)容或者資 源的URL路徑。在步驟420,中間設(shè)備的包引擎經(jīng)由第二 SSL VPN會話從第二客戶機(jī)接收包括從 服務(wù)器到客戶機(jī)的第二 URL的第二響應(yīng)。第二響應(yīng)可以大體類似于第一響應(yīng),并且其可以 包括第一響應(yīng)的所有特征、功能性、或者特性。在許多實施例中,第二 URL和第一 URL相同, 并且在其他實施例中,第二 URL和第一 URL不同。在一些實施例中,中間設(shè)備的任意部件接 收第二響應(yīng)。第二響應(yīng)可以從服務(wù)器直接或者從服務(wù)器經(jīng)由任意數(shù)量個其它中間設(shè)備傳送 到中間設(shè)備。中間設(shè)備的包引擎或者任意其它部件可以從服務(wù)器接收包括第二 URL的任意 數(shù)量個響應(yīng)。在一些實施例中,由中間設(shè)備接收的第二響應(yīng)包括從服務(wù)器到客戶機(jī)的多個 URL。由中間設(shè)備經(jīng)由第二 SSL VPN會話接收的第二響應(yīng)可以包括通信信息、指令、數(shù)據(jù)、可 執(zhí)行代碼、源代碼、文件或者任意其它類型的信息。在一些實施例中,中間設(shè)備接收包括之 前第二客戶機(jī)經(jīng)由第二 SSL VPN會話請求的URL代碼或者對第二客戶機(jī)經(jīng)由第二 SSL VPN 會話URL請求的響應(yīng)的第二響應(yīng)。在多個實施例中,中間設(shè)備接收包括對訪問保存在服務(wù) 器上的或者經(jīng)由服務(wù)器可訪問的應(yīng)用程序、文件、數(shù)據(jù)或者資源的指令或者請求的第二響 應(yīng)。在多個實施例中,中間設(shè)備接收包括對于訪問服務(wù)器上的應(yīng)用程序、文件、數(shù)據(jù)或者資 源的請求的響應(yīng)的第二響應(yīng)。在一些實施例中,中間設(shè)備經(jīng)由第二 SSL VPN會話接收包括 來自第二客戶機(jī)的任意數(shù)量個URL的任意數(shù)量個響應(yīng)。在許多實施例中,中間設(shè)備經(jīng)由第 二 SSLVPN會話接收包括由服務(wù)器所提供或者所服務(wù)的文件、應(yīng)用程序、數(shù)據(jù)、web頁面、源 代碼、鏈接或者任意其他信息的路徑的任意數(shù)量個URL。在多個實施例中,中間設(shè)備經(jīng)由第 二 SSL VPN會話接收到服務(wù)器上安全web頁面或者任意其它類型安全資源的URL。在一些 實施例中,中間設(shè)備經(jīng)由第二SSL VPN會話接收到僅可以由所選擇用戶、所選擇客戶機(jī)或者 所選擇用戶和客戶機(jī)組訪問的web頁面、文件或應(yīng)用程序的URL。在一些實施例中,中間設(shè) 備經(jīng)由第二SSL VPN會話接收到僅對于從安全網(wǎng)絡(luò)或者從中間設(shè)備或者服務(wù)器承認(rèn)為安全 的網(wǎng)絡(luò)環(huán)境建立SSL VPN會話的客戶機(jī)或者用戶可用的資源、web頁面、文件、應(yīng)用程序的 內(nèi)容或者資源的URL路徑。在步驟425,策略引擎使用編碼策略來從多個編碼方案中確定第一 URL的第一編 碼方案并從多個編碼方案中確定編碼第二 URL的第二編碼方案。在多個實施例中,編碼策 略確定用于加密第一 URL的一部分的第一編碼方案用于第一 URL并且用于不修改第二 URL 的第二編碼方案用于第二 URL。在多個實施例中,編碼策略確定用于重寫第一 URL的一部 分的第一編碼方案用于第一 URL并且用于刪除第二 URL的一部分的第二編碼方案用于第二 URL。在多種實施例中,策略引擎確定用于使用另一個所構(gòu)成的(made up)URL來覆寫第一 URL的一部分的第一編碼方案用于第一 URL,并且用于模糊化第二 URL的一部分的第二編碼 用于第二URL。在一些實施例中,編碼策略確定用于修改第一URL的一部分的第一編碼方案用于第一 URL并且用于修改整個第二 URL的第二編碼方案用于第二 URL。有時在步驟425,策略引擎可以使用客戶機(jī)的信息、狀態(tài)或者證書來確定用于URL 的編碼方案。在一些實施例中,策略引擎使用關(guān)于第一或者第二客戶機(jī)的安全性的編碼策 略來確定用于第一客戶機(jī)的第一編碼方案或者用于第二客戶機(jī)的第二編碼方案。在許多實 施例中,策略引擎使用關(guān)于第一客戶機(jī)或者第二客戶機(jī)所連接的網(wǎng)絡(luò)的安全級別的編碼策 略來確定用于第一客戶機(jī)的第一編碼方案或者用于第二客戶機(jī)的第二編碼方案。在多個實 施例中,策略引擎使用由中間設(shè)備或者服務(wù)器授權(quán)客戶機(jī)訪問或者使用服務(wù)器上的應(yīng)用程 序、文件或資源的訪問級別,來確定客戶機(jī)的URL的編碼方案。在一些實施例中,策略引擎 使用關(guān)于第一客戶機(jī)用于和服務(wù)器通信的計算機(jī)或者網(wǎng)絡(luò)裝置的類型的信息來確定用于 第一客戶機(jī)的第一 URL的第一編碼方案。類似地,策略引擎使用關(guān)于第二客戶機(jī)用于和服 務(wù)器通信的計算機(jī)或者網(wǎng)絡(luò)裝置的類型的信息來確定用于第二客戶機(jī)的第二 URL的第二 編碼方案。在一些實施例中,在步驟425,策略引擎基于以下任意一個或者組合來確定用于第 一或者第二 URL的編碼方案客戶機(jī)上關(guān)于用戶到服務(wù)器資源的可訪問性的驗證的用戶的 狀態(tài)、客戶機(jī)的因特網(wǎng)協(xié)議地址、客戶機(jī)的歷史記錄或者客戶機(jī)上用戶的歷史記錄、客戶機(jī) 與之通信的網(wǎng)絡(luò)的安全級別和在驗證期間客戶機(jī)提供的用戶名和密碼。在一些實施例中, 策略引擎基于客戶機(jī)的軟件應(yīng)用程序或者客戶機(jī)的地理位置來確定用于第一或者第二客 戶機(jī)的編碼方案。在一些實施例中,策略引擎基于服務(wù)器或者中間設(shè)備從與客戶機(jī)的之前 通信收集的統(tǒng)計數(shù)據(jù)來確定用于第一或者第二客戶機(jī)的編碼方案。在多個實施例中,策略 引擎基于和第一或者第二客戶機(jī)共享的信息的敏感性、機(jī)密性或者重要性來確定第一或者 第二客戶機(jī)的編碼方案。例如,響應(yīng)于第一 URL被識別為包括敏感或者機(jī)密信息,策略引擎 使用編碼策略來確定第一編碼方案對第一 URL進(jìn)行模糊化和加密。類似地,響應(yīng)于識別第 二 URL不包括任意敏感或者機(jī)密信息,策略引擎使用編碼引擎來確定第二方案不修改第二 URL。策略引擎還可以使用編碼策略來確定第一編碼方案或者第二編碼方案包括以下任意 一個或者任意組合使用偽URL重寫第一或者第二 URL、區(qū)分或模糊化第一或者第二 URL的 至少一部分、將第一或者第二 URL轉(zhuǎn)換為另一個URL并且將一個或者多個代碼、碼字或者隨 機(jī)數(shù)據(jù)部分包括到第一或者第二 URL中。在步驟430,中間設(shè)備的重寫器響應(yīng)于策略引擎根據(jù)所確定的第一編碼方案來重 寫第一 URL并且根據(jù)確定的第二編碼方案來重寫第二 URL。在許多實施例中,中間設(shè)備的任 意部分根據(jù)確定的第一或者第二編碼方案來重寫第一或者第二 URL的任意一個。在一些實 施例中,重寫器僅重寫或者修改第一 URL或者第二 URL。在許多實施例中,重寫器響應(yīng)于由 中間設(shè)備選擇的編碼方案的類型來重寫、修改、加密、編碼或者模糊化第一 URL和第二 URL。 在一些實施例中,重寫器根據(jù)第一編碼方案或者第二編碼方案編碼或者加密第一或者第二 URL的一部分。在一些實施例中,重寫器使用加密器或者解密器,用于使用由編碼方案或者 重寫器選擇的一個或者多個加密密鑰來加密第一或者第二 URL的一部分。在許多實施例 中,重寫器是按照策略引擎指示修改第一 URL、第二 URL或者第一 URL和第二 URL的中間設(shè) 備的裝置、單元、功能件或者部件。在一些實施例中,重寫器按照策略引擎的第一編碼方案 所指示的來修改第一 URL并且按照策略引擎的第二編碼方案所指示的來修改第二 URL。在 多個實施例中,重寫器從策略引擎或者編碼策略接收用于修改第一 URL和第二 URL的指令。重寫器可以按照策略引擎或者編碼策略所指示的以任意方式蓋寫、重寫、刪除、加密、解密、 替換、模糊化或者以其他方式修改第一 URL、第二 URL或者所接收的任意其它URL。
權(quán)利要求
一種用于經(jīng)由代理對于免客戶機(jī)安全套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)從多個編碼方案中確定統(tǒng)一資源定位符(URL)的編碼方案的方法,該方法包括a)中間設(shè)備經(jīng)由SSL VPN會話接收從服務(wù)器到客戶機(jī)的響應(yīng),中間設(shè)備在客戶機(jī)和服務(wù)器之間建立SSL VPN會話,該響應(yīng)包括URL;b)中間設(shè)備響應(yīng)于編碼策略來從多個編碼方案中確定用于編碼URL的編碼方案;c)中間設(shè)備根據(jù)確定的編碼方案來重寫所述URL以傳輸?shù)娇蛻魴C(jī)。
2.權(quán)利要求1的方法,其中,該策略是確定至少一個規(guī)則來觸發(fā)關(guān)于所建立的會話的 至少一個動作的會話策略。
3.權(quán)利要求1的方法,其中,該編碼方案移除該URL的一部分。
4.權(quán)利要求1的方法,其中,該編碼方案使用另一個URL的一部分來重寫該URL的一部分。
5.權(quán)利要求1的方法,其中,該編碼方案使用一個或者多個加密密鑰來加密該URL的一 部分。
6.權(quán)利要求1的方法,其中,該編碼方案是透明的編碼方案。
7.權(quán)利要求1的方法,其中,該編碼方案是不透明的編碼方案。
8.權(quán)利要求1的方法,其中,該編碼方案使用可逆轉(zhuǎn)換機(jī)制來轉(zhuǎn)換該URL。
9.權(quán)利要求1的方法,其中,該編碼方案是加密該URL—部分的加密的編碼方案。
10.權(quán)利要求1的方法,其中,該編碼方案將該URL重寫為唯一的標(biāo)識符,該唯一標(biāo)識符 唯一識別該URL。
11.權(quán)利要求1的方法,其中,該編碼方案將來自該URL的關(guān)于服務(wù)器的目錄結(jié)構(gòu)的信 息模糊化。
12.權(quán)利要求1的方法,還包括如下步驟d)中間設(shè)備經(jīng)由第二SSL VPN會話來接收從服務(wù)器到第二客戶機(jī)的第二響應(yīng),中間設(shè) 備在第二客戶機(jī)和服務(wù)器之間建立第二 SSL VPN會話,該第二響應(yīng)包括第二 URL ;e)該中間設(shè)備響應(yīng)于編碼策略來從多個編碼方案中確定用于編碼該URL的第二編碼 方案;和f)中間設(shè)備根據(jù)確定的第二編碼方案來重寫所述第二URL,以傳輸?shù)降诙蛻魴C(jī)。
13.權(quán)利要求12的方法,其中,該策略是確定至少一個規(guī)則來觸發(fā)關(guān)于所建立的SSL VPN會話的至少一個動作的第二 SSL VPN會話策略。
14.一種用于經(jīng)由代理對于免客戶機(jī)安全套接字層虛擬專用網(wǎng)絡(luò)(SSLVPN)從多個編 碼方案中確定統(tǒng)一資源定位符(URL)的編碼方案的中間設(shè)備,該中間設(shè)備包括包引擎,用于經(jīng)由SSL VPN會話接收從服務(wù)器到客戶機(jī)的響應(yīng),中間設(shè)備在客戶機(jī)和服 務(wù)器之間建立SSL VPN會話,該響應(yīng)包括URL ;策略引擎,用于響應(yīng)于編碼策略來從多個編碼方案確定用于編碼URL的編碼方案;和重寫器,用于響應(yīng)于策略引擎根據(jù)確定的編碼方案來重寫所述URL,以傳輸?shù)娇蛻魴C(jī)。
15.權(quán)利要求14的中間設(shè)備,其中,該策略是確定至少一個規(guī)則來觸發(fā)關(guān)于所建立SSL VPN會話的至少一個動作的會話策略。
16.權(quán)利要求14的中間設(shè)備,其中,該編碼方案移除URL的一部分。
17.權(quán)利要求14的中間設(shè)備,其中,該編碼方案使用另一個URL的一部分來重寫該URL的一部分。
18.權(quán)利要求14的中間設(shè)備,其中,該編碼方案使用一個或者多個加密密鑰來加密URL 的一部分。
19.權(quán)利要求14的中間設(shè)備,其中,該編碼方案是透明的編碼方案。
20.權(quán)利要求14的中間設(shè)備,其中,該編碼方案是不透明的編碼方案。
21.權(quán)利要求14的中間設(shè)備,其中,該編碼方案使用可逆轉(zhuǎn)換機(jī)制來轉(zhuǎn)換該URL。
22.權(quán)利要求14的中間設(shè)備,其中,該編碼方案是加密該URL—部分的加密的編碼方案。
23.權(quán)利要求14的中間設(shè)備,其中,該編碼方案將該URL重寫為唯一的標(biāo)識符,該唯一 標(biāo)識符唯一識別該URL。
24.權(quán)利要求14的中間設(shè)備,其中,該編碼方案將來自該URL的關(guān)于服務(wù)器的目錄結(jié)構(gòu) 的信息模糊化。
25.權(quán)利要求14的中間設(shè)備,還包括所述包引擎經(jīng)由第二 SSL VPN會話接收從服務(wù)器到第二客戶機(jī)的第二響應(yīng),所述中間 設(shè)備在第二客戶機(jī)和服務(wù)器之間建立第二 SSL VPN會話,該第二響應(yīng)包括第二 URL ;所述策略引擎響應(yīng)于編碼策略來從多個編碼方案中確定用于編碼第二 URL的第二編 碼方案;和所述重寫器響應(yīng)于該策略引擎根據(jù)確定的第二編碼方案來重寫所述第二 URL以傳輸 到客戶機(jī)。
26.權(quán)利要求25的中間設(shè)備,其中,該策略是確定至少一個規(guī)則來觸發(fā)關(guān)于所建立的 第二 SSL VPN會話的至少一個動作的第二 SSL VPN會話策略。
全文摘要
本申請公開了用于經(jīng)由代理對于免客戶機(jī)安全套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)從多個編碼方案確定統(tǒng)一資源定位符(URL)的編碼方案的方法、系統(tǒng)和中間設(shè)備。中間設(shè)備可以從服務(wù)器接收包括URL的響應(yīng)。來自服務(wù)器的響應(yīng)可以經(jīng)由SSL VPN會話和經(jīng)由中間設(shè)備指向客戶機(jī)。中間設(shè)備可以響應(yīng)于編碼策略來確定用于編碼URL的透明的、不透明或者加密的編碼方案中的一個。中間設(shè)備可以根據(jù)確定的編碼方案來重寫用于傳輸?shù)娇蛻魴C(jī)的URL。
文檔編號H04L29/06GK101981888SQ200980110433
公開日2011年2月23日 申請日期2009年1月26日 優(yōu)先權(quán)日2008年1月26日
發(fā)明者A·K·加維尼, P·阿加瓦, R·N·賽庫 申請人:思杰系統(tǒng)有限公司