專利名稱:用于配置和細(xì)粒度策略驅(qū)動(dòng)web內(nèi)容檢測(cè)和重寫的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及數(shù)據(jù)通信網(wǎng)絡(luò)。更具體地,本發(fā)明涉及用于SSL VPN免客戶機(jī)訪 問的策略控制、SSL VPN免客戶機(jī)訪問期間的URL的細(xì)粒度策略驅(qū)動(dòng)重寫,以及SSL VPN免 客戶機(jī)訪問期間從服務(wù)器提供給客戶機(jī)的不同內(nèi)容類型的嵌入式URL的配置和策略驅(qū)動(dòng) 檢測(cè)的系統(tǒng)和方法。
背景技術(shù):
公司或者企業(yè)可以通過網(wǎng)絡(luò)來(lái)為多個(gè)不同客戶機(jī)提供不同的服務(wù)。一些客戶機(jī)可 以滿足企業(yè)的安全需求,而其他的客戶機(jī)可以從并不安全的網(wǎng)絡(luò)、服務(wù)或者位置來(lái)訪問企 業(yè)的資源。企業(yè)可以選擇允許所有的客戶機(jī)來(lái)訪問資源,但也可以決定不允許一些或者全 部客戶機(jī)訪問關(guān)于服務(wù)器資源的機(jī)密信息。在一個(gè)例子中,客戶機(jī)可以請(qǐng)求訪問企業(yè)的服 務(wù)器所提供的資源。在另一個(gè)例子中,客戶機(jī)可以請(qǐng)求訪問企業(yè)的服務(wù)器經(jīng)由免客戶機(jī)安 全套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)會(huì)話所提供的資源。企業(yè)可以決定拒絕客戶機(jī)訪問客 戶機(jī)正訪問的資源的實(shí)際的URL,而允許客戶機(jī)訪問所請(qǐng)求的資源。管理何時(shí)并且如何提供 對(duì)多種和大量要求對(duì)資源的訪問具有挑戰(zhàn)性。
發(fā)明內(nèi)容
本發(fā)明提供該問題和類似問題的解決方案,可以使企業(yè)來(lái)確定和客戶機(jī)建立基于 客戶機(jī)的SSL VPN會(huì)話或者免客戶機(jī)的SSL VPN會(huì)話。本發(fā)明提供的解決方案可以使得 企業(yè)為多個(gè)客戶機(jī)提供服務(wù)來(lái)基于關(guān)于客戶機(jī)的信息確定與客戶機(jī)建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話。在客戶機(jī)和服務(wù)器之間建立SSL VPN會(huì)話的 中間設(shè)備可以接收客戶機(jī)訪問服務(wù)器的請(qǐng)求。中間設(shè)備可以基于該請(qǐng)求識(shí)別會(huì)話策略。會(huì) 話策略可以指示和服務(wù)器建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì) 話。中間設(shè)備可以響應(yīng)于該策略確定在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)或者基于客戶機(jī) 的SSL VPN會(huì)話。在一些方面,本發(fā)明涉及用于經(jīng)由策略在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)安全 套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)會(huì)話的方法。中間設(shè)備可以接收客戶機(jī)訪問服務(wù)器的請(qǐng) 求。中間設(shè)備可以在任意數(shù)量的客戶機(jī)和服務(wù)器之間建立SSL VPN會(huì)話。中間設(shè)備可以基 于該請(qǐng)求來(lái)識(shí)別會(huì)話策略。該會(huì)話策略可以指示和服務(wù)器建立基于客戶機(jī)的SSL VPN會(huì)話 還是建立免客戶機(jī)的SSL VPN會(huì)話。中間設(shè)備可以響應(yīng)于該策略來(lái)確定在客戶機(jī)和服務(wù)器 之間建立免客戶機(jī)的SSL VPN會(huì)話。
在一些實(shí)施例中,中間設(shè)備響應(yīng)于該確定來(lái)和服務(wù)器建立免客戶機(jī)的SSL VPN會(huì) 話。在進(jìn)一步的實(shí)施例中,中間設(shè)備接收客戶機(jī)訪問服務(wù)器上的應(yīng)用的請(qǐng)求。會(huì)話策略可 以基于該應(yīng)用指示和服務(wù)器建立基于客戶機(jī)還是免客戶機(jī)的SSL VPN會(huì)話。在一些實(shí)施例 中,中間設(shè)備響應(yīng)于一個(gè)或者多個(gè)策略識(shí)別用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問 的訪問配置文件,該訪問配置文件指定對(duì)于該應(yīng)用的一個(gè)或者多個(gè)重寫策略。在進(jìn)一步的 實(shí)施例中,中間設(shè)備接收用戶訪問服務(wù)器的請(qǐng)求。在進(jìn)一步實(shí)施例中,會(huì)話策略基于該用戶 指示和服務(wù)器建立基于客戶機(jī)的還是免客戶機(jī)的SSL VPN會(huì)話。在一些實(shí)施例中,中間設(shè) 備識(shí)別用于建立免客戶機(jī)的SSL VPN會(huì)話的訪問配置文件并且該訪問配置文件指定一個(gè)或 者多個(gè)重寫策略。在一些實(shí)施例中,中間設(shè)備響應(yīng)于一個(gè)或者多個(gè)策略從多個(gè)訪問配置文 件中識(shí)別第一訪問配置文件用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問,該訪問配置文 件指定一個(gè)或者多個(gè)重寫策略。在進(jìn)一步的實(shí)施例中,中間設(shè)備響應(yīng)于一個(gè)或者多個(gè)策略 從多個(gè)訪問配置文件中識(shí)別第一訪問配置文件用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪 問。在一些實(shí)施例中,第一訪問配置文件基于以下一個(gè)或者多個(gè)來(lái)識(shí)別請(qǐng)求的用戶,請(qǐng)求 識(shí)別的應(yīng)用,關(guān)于客戶機(jī)的信息和請(qǐng)求識(shí)別的服務(wù)器。在一些方面,本發(fā)明涉及用于經(jīng)由策略在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)安全 套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)會(huì)話的方法。包引擎可以接收客戶機(jī)訪問服務(wù)器的請(qǐng) 求。中間設(shè)備可以在客戶機(jī)和服務(wù)器之間建立SSL VPN會(huì)話。策略引擎可以基于該請(qǐng)求識(shí) 別會(huì)話策略,會(huì)話策略指示和服務(wù)器建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的 SSLVPN會(huì)話。中間設(shè)備可以響應(yīng)于該策略來(lái)確定在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)的 SSL VPN 會(huì)話。在一些實(shí)施例中,中間設(shè)備響應(yīng)于該確定來(lái)和服務(wù)器建立免客戶機(jī)的SSL VPN會(huì) 話。在進(jìn)一步的實(shí)施例中,中間設(shè)備包括用于接收客戶機(jī)訪問服務(wù)器上的應(yīng)用的請(qǐng)求的包 引擎,并且會(huì)話策略基于該應(yīng)用指示和服務(wù)器建立基于客戶機(jī)的還是免客戶機(jī)的SSL VPN 會(huì)話。在一些實(shí)施例中,中間設(shè)備還包括響應(yīng)于一個(gè)或者多個(gè)策略識(shí)別用于控制經(jīng)由免客 戶機(jī)的SSL VPN會(huì)話的訪問的訪問配置文件的策略引擎,該訪問配置文件指定對(duì)于該應(yīng)用 的一個(gè)或者多個(gè)重寫策略。在進(jìn)一步的實(shí)施例中,中間設(shè)備還包括接收用戶訪問服務(wù)器的 請(qǐng)求的包引擎,并且會(huì)話策略基于該用戶指示和服務(wù)器建立基于客戶機(jī)的還是免客戶機(jī)的 SSL VPN會(huì)話。中間設(shè)備的包引擎可以識(shí)別用于控制訪問免客戶機(jī)的SSL VPN會(huì)話的訪問 配置文件并且該訪問配置文件指定一個(gè)或者多個(gè)重寫策略。在一些實(shí)施例中,策略引擎響 應(yīng)于一個(gè)或者多個(gè)策略從多個(gè)訪問配置文件中識(shí)別第一訪問配置文件用于控制經(jīng)由免客 戶機(jī)的SSL VPN會(huì)話的訪問,該訪問配置文件指定一個(gè)或者多個(gè)重寫策略。在進(jìn)一步的實(shí) 施例中,策略引擎響應(yīng)于一個(gè)或者多個(gè)策略從多個(gè)訪問配置文件中識(shí)別第一訪問配置文件 用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問。在一些實(shí)施例中,包括策略引擎基于以下 一個(gè)或者多個(gè)來(lái)識(shí)別第一訪問配置文件請(qǐng)求的用戶,請(qǐng)求識(shí)別的應(yīng)用,關(guān)于客戶機(jī)的信息 和請(qǐng)求識(shí)別的服務(wù)器。在一些方面,本發(fā)明涉及用于經(jīng)由策略在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)安全 套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)會(huì)話的中間設(shè)備。中間設(shè)備可以包括用于接收客戶機(jī)訪 問服務(wù)器的請(qǐng)求的裝置。中間設(shè)備可以在客戶機(jī)和服務(wù)器之間建立SSL VPN會(huì)話。中間設(shè) 備可以包括基于該請(qǐng)求識(shí)別會(huì)話策略的裝置,該會(huì)話策略指示和服務(wù)器建立基于客戶機(jī)的SSLVPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話。中間設(shè)備還可以包括響應(yīng)于該策略來(lái)確定 在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)的SSL VPN會(huì)話的裝置。本發(fā)明還提供一種解決方案,可以使得客戶機(jī)使用企業(yè)服務(wù)器提供的資源,但不 可以訪問服務(wù)器的URL。企業(yè)可以是使用和客戶機(jī)請(qǐng)求相關(guān)的訪問配置文件的重寫策略來(lái) 重寫或者修改客戶機(jī)的URL。來(lái)自客戶機(jī)的所修改的URL用于訪問服務(wù)器上的資源。在接 收到來(lái)自服務(wù)器的響應(yīng)時(shí),企業(yè)可以使用重寫策略來(lái)重寫或者修改響應(yīng)的URL以在將響應(yīng) 轉(zhuǎn)發(fā)給客戶機(jī)之前修改URL。在一些方面,本發(fā)明涉及用于通過中間設(shè)備重寫經(jīng)由客戶機(jī)和服務(wù)器之間的免客 戶機(jī)安全套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)會(huì)話傳送的內(nèi)容的方法。中間設(shè)備可以識(shí)別用 于客戶機(jī)經(jīng)由客戶機(jī)和服務(wù)器之間建立免客戶機(jī)的SSL VPN會(huì)話訪問服務(wù)器的請(qǐng)求的訪問 配置文件。該訪問配置文件可以包括用于重寫統(tǒng)一資源定位符(URL)和一個(gè)或者多個(gè)正則 表達(dá)式的第一重寫策略來(lái)檢測(cè)服務(wù)器提供的內(nèi)容中的一個(gè)或者多個(gè)URL。中間設(shè)備可以響 應(yīng)于訪問配置文件的一個(gè)或者多個(gè)正則表達(dá)式來(lái)檢測(cè)服務(wù)器響應(yīng)于該請(qǐng)求所提供的內(nèi)容 中的一個(gè)或者多個(gè)URL。中間設(shè)備可以響應(yīng)于該檢測(cè)根據(jù)第一重寫策略指定的URL轉(zhuǎn)換來(lái) 重寫一個(gè)或者多個(gè)檢測(cè)的URL。在一些實(shí)施例中,中間設(shè)備可以識(shí)別包括多個(gè)正則表達(dá)式的訪問配置文件。多個(gè) 正則表達(dá)式的每個(gè)可以用于檢測(cè)多個(gè)不同類型內(nèi)容的一類內(nèi)容中的一個(gè)或者多個(gè)URL。中 間設(shè)備可以識(shí)別服務(wù)器所提供的內(nèi)容中的一個(gè)或者多個(gè)類型的內(nèi)容。在一些實(shí)施例中,中 間設(shè)備識(shí)別包括用于檢測(cè)包括Java腳本的內(nèi)容中的URL的正則表達(dá)式的訪問配置文件。在 一些實(shí)施例中,中間設(shè)備識(shí)別包括用于檢測(cè)包括可擴(kuò)展標(biāo)記語(yǔ)言(XML)的內(nèi)容中的URL的 正則表達(dá)式的訪問配置文件。在一些實(shí)施例中,中間設(shè)備識(shí)別包括用于檢測(cè)包括層疊樣式 表(CSS)的內(nèi)容中的URL的正則表達(dá)式的訪問配置文件。在一些實(shí)施例中,中間設(shè)備響應(yīng) 于訪問配置文件所識(shí)別的第一正則表達(dá)式來(lái)檢測(cè)響應(yīng)的第一類型的內(nèi)容中的一個(gè)或者多 個(gè)統(tǒng)一資源定位符(URL)。在進(jìn)一步的實(shí)施例中,中間設(shè)備響應(yīng)于訪問配置文件所識(shí)別的第 二正則表達(dá)式來(lái)檢測(cè)響應(yīng)的第二類型內(nèi)容中的一個(gè)或者多個(gè)URL。中間設(shè)備可以根據(jù)和所識(shí)別的訪問配置文件相關(guān)的第二重寫策略指定的Java腳 本轉(zhuǎn)換來(lái)重寫該內(nèi)容的Java腳本的一部分。在一些實(shí)施例中,中間設(shè)備識(shí)別包括第二重寫 策略的訪問配置文件來(lái)重寫請(qǐng)求首部的首部。在進(jìn)一步的實(shí)施例中,在向服務(wù)器發(fā)送請(qǐng)求 之前,中間設(shè)備根據(jù)由重寫策略指定的轉(zhuǎn)換來(lái)重寫請(qǐng)求的首部。中間設(shè)備可以識(shí)別包括第 二重寫策略的訪問配置文件來(lái)重寫響應(yīng)的首部,并且在向客戶機(jī)發(fā)送響應(yīng)之前根據(jù)由第二 重寫策略指定的轉(zhuǎn)換來(lái)重寫響應(yīng)的首部。中間設(shè)備可以基于確定經(jīng)由該請(qǐng)求所請(qǐng)求的應(yīng)用 來(lái)從多個(gè)訪問配置文件識(shí)別該訪問配置文件。在一些方面,本發(fā)明涉及用于重寫在客戶機(jī)和服務(wù)器之間經(jīng)由免客戶機(jī)安全套接 字層虛擬專用網(wǎng)絡(luò)(SSL VPN)會(huì)話傳送的內(nèi)容的中間設(shè)備或者系統(tǒng)。策略引擎可以識(shí)別用 于客戶機(jī)經(jīng)由客戶機(jī)和服務(wù)器之間建立的免客戶機(jī)的SSL VPN會(huì)話來(lái)訪問服務(wù)器的請(qǐng)求的 訪問配置文件。策略引擎可以是中間設(shè)備。訪問配置文件可以包括用于重寫統(tǒng)一資源定位 符(URL)和一個(gè)或者多個(gè)正則表達(dá)式的第一重寫策略以檢測(cè)由服務(wù)器提供的內(nèi)容中的一 個(gè)或者多個(gè)URL。檢測(cè)器可以響應(yīng)于訪問配置文件的一個(gè)或者多個(gè)正則表達(dá)式來(lái)檢測(cè)服務(wù) 器響應(yīng)于該請(qǐng)求提供的內(nèi)容中的一個(gè)或者多個(gè)URL。檢測(cè)器可以是中間設(shè)備。重寫器可以
8響應(yīng)于檢測(cè)器來(lái)根據(jù)第一重寫策略指定的URL轉(zhuǎn)換來(lái)重寫一個(gè)或者多個(gè)檢測(cè)的URL。重寫 器可以是中間設(shè)備。在一些實(shí)施例中,策略引擎識(shí)別包括多個(gè)正則表達(dá)式的訪問配置文件。多個(gè)正則 表達(dá)式的每個(gè)可以用于檢測(cè)多個(gè)不同類型內(nèi)容的一類內(nèi)容中的一個(gè)或者多個(gè)URL。檢測(cè)器 可以確定服務(wù)器所提供的內(nèi)容中的一個(gè)或者多個(gè)類型的內(nèi)容。在一些實(shí)施例中,策略引擎 識(shí)別包括用于檢測(cè)包括Java腳本的內(nèi)容中的URL的正則表達(dá)式的訪問配置文件。在一些實(shí) 施例中,策略引擎識(shí)別包括用于檢測(cè)包括可擴(kuò)展標(biāo)記語(yǔ)言(XML)的內(nèi)容中的URL的正則表 達(dá)式的訪問配置文件。在一些實(shí)施例中,策略引擎識(shí)別包括用于檢測(cè)包括層疊樣式表(CSS) 的內(nèi)容中的URL的正則表達(dá)式的訪問配置文件。在又一些實(shí)施例中,檢測(cè)器響應(yīng)于訪問配 置文件所識(shí)別的第一正則表達(dá)式來(lái)檢測(cè)響應(yīng)的第一類型的內(nèi)容中的一個(gè)或者多個(gè)統(tǒng)一資 源定位符(URL)并且響應(yīng)于訪問配置文件所識(shí)別的第二正則表達(dá)式來(lái)檢測(cè)響應(yīng)的第二類 型內(nèi)容中的一個(gè)或者多個(gè)URL。在一些實(shí)施例中,重寫器可以根據(jù)和所識(shí)別的訪問配置文件 相關(guān)的第二重寫策略指定的Java腳本轉(zhuǎn)換來(lái)重寫該內(nèi)容的Java腳本的一部分。在一些實(shí) 施例中,策略引擎識(shí)別包括第二重寫策略的訪問配置文件來(lái)重寫請(qǐng)求首部的首部并且在向 服務(wù)器發(fā)送請(qǐng)求之前根據(jù)由重寫策略指定的轉(zhuǎn)換來(lái)重寫請(qǐng)求的首部。在一些實(shí)施例中,策 略引擎識(shí)別包括第二重寫策略的訪問配置文件來(lái)重寫響應(yīng)的首部并且在向客戶機(jī)發(fā)送響 應(yīng)之前重寫器根據(jù)由第二重寫策略指定的轉(zhuǎn)換來(lái)重寫響應(yīng)的首部。在許多方面,本發(fā)明涉及用于由中間設(shè)備重寫在客戶機(jī)和服務(wù)器之間經(jīng)由免客戶 機(jī)安全套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)會(huì)話傳送的內(nèi)容的方法。中間設(shè)備可以識(shí)別用于 在客戶機(jī)和服務(wù)器之間建立的免客戶機(jī)的SSL VPN會(huì)話的訪問配置文件。訪問配置文件可 以包括多個(gè)重寫策略和多個(gè)正則表達(dá)式。多個(gè)重寫策略的每一個(gè)可以指定對(duì)于內(nèi)容類型的 轉(zhuǎn)換。多個(gè)正則表達(dá)式的每個(gè)可以指定正則表達(dá)式來(lái)識(shí)別多個(gè)不同類型內(nèi)容的每一類內(nèi) 容中的統(tǒng)一資源定位符(URL)。中間設(shè)備可以響應(yīng)于該請(qǐng)求來(lái)確定服務(wù)器提供的內(nèi)容的類 型。中間設(shè)備可以基于對(duì)于經(jīng)由訪問配置文件所確定的內(nèi)容類型而指定的正則表達(dá)式來(lái)檢 測(cè)內(nèi)容中的一個(gè)或者多個(gè)URL。中間設(shè)備可以基于內(nèi)容類型和來(lái)自對(duì)于該類型內(nèi)容的多個(gè) 重寫策略的重寫策略來(lái)重寫一部分該內(nèi)容。
參考結(jié)合附圖的以下描述,本發(fā)明的前述和其他對(duì)象、方面、特征和優(yōu)勢(shì)將會(huì)變得 更加明顯更好理解,其中圖1A、1B和IC是客戶機(jī)經(jīng)由一個(gè)或者多個(gè)設(shè)備來(lái)訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的實(shí)施 例的框圖;圖ID是將計(jì)算環(huán)境從服務(wù)器經(jīng)由設(shè)備遞送到客戶機(jī)的環(huán)境的實(shí)施例的框圖;圖IE和IF是計(jì)算裝置的實(shí)施例的框圖;圖2A是處理在客戶機(jī)和服務(wù)器之間的通信的設(shè)備的實(shí)施例的框圖;圖2B是用于優(yōu)化、加速、負(fù)載平衡和路由在客戶機(jī)和服務(wù)器之間的通信的設(shè)備的 另一個(gè)實(shí)施例的框圖;圖3A和圖3B是經(jīng)由設(shè)備訪問服務(wù)器的免客戶機(jī)虛擬專用網(wǎng)絡(luò)的實(shí)施例的框圖;圖4是客戶機(jī)和服務(wù)器之間執(zhí)行URL重寫的設(shè)備的實(shí)施例的框9
圖5是設(shè)備在基于客戶機(jī)請(qǐng)求執(zhí)行URL重寫的方法的實(shí)施例中所采用的步驟的流 程圖;圖6是從服務(wù)器通過設(shè)備傳送到客戶機(jī)的服務(wù)器響應(yīng)和修改的服務(wù)器響應(yīng)的實(shí) 施例的框圖;圖7是在服務(wù)器響應(yīng)上執(zhí)行URL重寫的方法的實(shí)施例的步驟的流程圖。根據(jù)以下結(jié)合附圖提出的詳細(xì)描述,本發(fā)明的特征和優(yōu)勢(shì)將變得更加明顯,其中 相同的參考特征在全文中是指對(duì)應(yīng)的元件。在附圖中,相似的附圖標(biāo)記通常指示相同的、功 能類似的和/或結(jié)構(gòu)類似的元件。
具體實(shí)施例方式A.網(wǎng)絡(luò)和計(jì)算環(huán)境在討論設(shè)備和/或客戶機(jī)的系統(tǒng)和方法的實(shí)施例的細(xì)節(jié)之前,討論可以部署這樣 的實(shí)施例的網(wǎng)絡(luò)和計(jì)算環(huán)境是有幫助的?,F(xiàn)在參考圖1A,描述了網(wǎng)絡(luò)環(huán)境的一個(gè)實(shí)施例。 總的來(lái)說,網(wǎng)絡(luò)環(huán)境包括經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)104和104'(通常被稱為網(wǎng)絡(luò)104)與一個(gè) 或多個(gè)服務(wù)器106a-106n (通常也被稱為服務(wù)器106或遠(yuǎn)程機(jī)器106)通信的一個(gè)或多個(gè)客 戶機(jī)102a-102n(通常也被稱為本地機(jī)器102或客戶機(jī)102)。在一些實(shí)施例中,客戶機(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可以在同一個(gè)網(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àn)維網(wǎng)的廣域網(wǎng)(WAN)。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)104'可以是專用 網(wǎng)而網(wǎng)絡(luò)104可以是公用網(wǎng)。在一些實(shí)施例中,網(wǎng)絡(luò)104可以是專用網(wǎng)而網(wǎng)絡(luò)104'可以 是公用網(wǎng)。在另一個(gè)實(shí)施例中,網(wǎng)絡(luò)104和104'可以都是專用網(wǎng)。在一些實(shí)施例中,客戶 機(jī)102可以位于公司的分支機(jī)構(gòu),經(jīng)由網(wǎng)絡(luò)104上的WAN連接來(lái)與位于公司的數(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ì)算機(jī)網(wǎng)絡(luò)、ATM(異 步傳送模式)網(wǎng)絡(luò)、SONET (同步光網(wǎng)絡(luò))網(wǎng)絡(luò)、SDH(同步數(shù)字系列)網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)和有 線網(wǎng)絡(luò)。在一些實(shí)施例中,網(wǎng)絡(luò)104可以包括諸如紅外信道或衛(wèi)星頻帶的無(wú)線鏈路。網(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í)施例中,設(shè)備200可以位于網(wǎng)絡(luò)104上。例如,公司的分支機(jī)構(gòu)可以 在所述分支機(jī)構(gòu)處部署設(shè)備200。在其它實(shí)施例中,設(shè)備200可以位于網(wǎng)絡(luò)104'上。例如, 設(shè)備200可以位于公司的數(shù)據(jù)中心。在又一個(gè)實(shí)施例中,多個(gè)設(shè)備200可以部署在網(wǎng)絡(luò)104 上。在一些實(shí)施例中,多個(gè)設(shè)備200可以部署在網(wǎng)絡(luò)104'上。在一個(gè)實(shí)施例中,第一設(shè)備 200與第二設(shè)備200'相通信。在其它的實(shí)施例中,設(shè)備200可以是在與客戶機(jī)102相同或 不同的網(wǎng)絡(luò)104,104'上的任一客戶機(jī)102或服務(wù)器106的一部分。一個(gè)或多個(gè)設(shè)備200可以位于在客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)或網(wǎng)絡(luò)通信路徑中的任一點(diǎn)處。在一些實(shí)施例中,設(shè)備200包括被稱為Citrix NetScaler裝置的由位于 Ft. Lauderdale Florida的Citrix Systems公司制造的任一網(wǎng)絡(luò)裝置。在其它實(shí)施例中,設(shè) 備200包括由位于Seattle, Washington的F5Networks公司制造的被稱為WebAccelerator 和BigIP的任意一個(gè)產(chǎn)品實(shí)施例。在另一個(gè)實(shí)施例中,設(shè)備205包括由位于Sunnyvale, California的Juniper Networks公司制造的DX加速裝置平臺(tái)和/或諸如SA700、SA2000、 SA4000和SA6000裝置的SSL VPN系列裝置中的任意一個(gè)。在又一個(gè)實(shí)施例中,設(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)。在一個(gè)實(shí)施例中,該系統(tǒng)可以包括多個(gè)、邏輯分組的服務(wù)器106。在這些實(shí)施例 中,服務(wù)器的邏輯分組可以被稱為服務(wù)器群組38。在這些實(shí)施例中的一些實(shí)施例中,服務(wù) 器106可以是在地理上分散的。有時(shí)候,群組38可以被管理為單一的實(shí)體。在其它實(shí)施例 中,服務(wù)器群組38包括多個(gè)服務(wù)器群組38。在一個(gè)實(shí)施例中,服務(wù)器群組代表一個(gè)或多個(gè) 客戶機(jī)102來(lái)執(zhí)行一個(gè)或多個(gè)應(yīng)用。在每個(gè)群組38中的服務(wù)器106可以是不同種類的。一個(gè)或多個(gè)服務(wù)器106可 以根據(jù)一種類型的操作系統(tǒng)平臺(tái)(例如,由位于Redmond,Washington的微軟公司出品的 WINDOWS NT)來(lái)進(jìn)行操作,而一個(gè)或多個(gè)其它的服務(wù)器106可以根據(jù)另一種類型的操作系 統(tǒng)平臺(tái)(例如,Unix或Linux)來(lái)進(jìn)行操作。每個(gè)群組38中的服務(wù)器106不需要與同一群 組38中的另一個(gè)服務(wù)器106物理上接近。因此,邏輯上被分組為群組38的服務(wù)器106的 分組可以使用廣域網(wǎng)(WAN)連接或中域網(wǎng)(medium-areanetwork,MAN)連接來(lái)互連。例如, 群組38可以包括在物理上位于不同的洲或位于一個(gè)洲、國(guó)家、州、城市、校園或房間的不同 區(qū)域的服務(wù)器106。如果使用局域網(wǎng)(LAN)連接或一些形式的直接連接來(lái)連接服務(wù)器106, 則可以增加在群組38中的服務(wù)器106之間的數(shù)據(jù)傳輸速度。服務(wù)器106可以被稱為文件服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)器、代理服務(wù)器或網(wǎng)關(guān) 服務(wù)器。在一些實(shí)施例中,服務(wù)器106可以有能力起到應(yīng)用服務(wù)器或主應(yīng)用服務(wù)器的作用。 在一個(gè)實(shí)施例中,服務(wù)器106可以包括活動(dòng)目錄(Active Directory) 0客戶機(jī)102也可以 被稱為客戶機(jī)節(jié)點(diǎn)或端點(diǎn)。在一些實(shí)施例中,客戶機(jī)102有能力起到尋求訪問服務(wù)器上的 應(yīng)用的客戶機(jī)節(jié)點(diǎn)以及作為對(duì)于其它的客戶機(jī)102a-102n提供對(duì)寄載的應(yīng)用的訪問的應(yīng) 用服務(wù)器的作用。在一些實(shí)施例中,客戶機(jī)102與服務(wù)器106進(jìn)行通信。在一個(gè)實(shí)施例,客戶機(jī)102 直接與群組38中的服務(wù)器106的其中一個(gè)進(jìn)行通信。在另一個(gè)實(shí)施例中,客戶機(jī)102執(zhí)行 程序鄰近應(yīng)用以與群組38中的服務(wù)器106進(jìn)行通信。在又一個(gè)實(shí)施例中,服務(wù)器106提供 主節(jié)點(diǎn)的功能。在一些實(shí)施例中,客戶機(jī)102通過網(wǎng)絡(luò)104與群組38中的服務(wù)器106進(jìn)行 通信。例如,通過網(wǎng)絡(luò)104,客戶機(jī)102可以請(qǐng)求執(zhí)行由群組38中的服務(wù)器106a-106n寄載 的多個(gè)應(yīng)用,并接收應(yīng)用執(zhí)行的輸出結(jié)果用于顯示。在一些實(shí)施例中,只有主節(jié)點(diǎn)提供所要 求的識(shí)別并提供與寄載被請(qǐng)求的應(yīng)用的服務(wù)器106'相關(guān)的地址信息的功能。在一個(gè)實(shí)施例中,服務(wù)器106提供web服務(wù)器的功能。在另一個(gè)實(shí)施例中,服務(wù)器106a從客戶機(jī)102接收請(qǐng)求,將請(qǐng)求轉(zhuǎn)發(fā)到第二服務(wù)器106b,并使用來(lái)自于服務(wù)器106b的 對(duì)請(qǐng)求的響應(yīng)來(lái)對(duì)客戶機(jī)102的請(qǐng)求進(jìn)行響應(yīng)。在又一個(gè)實(shí)施例中,服務(wù)器106獲得客戶機(jī) 102可用的應(yīng)用的列舉以及與寄載由所述應(yīng)用的列舉所標(biāo)識(shí)的應(yīng)用的服務(wù)器106相關(guān)的地 址信息。在又一個(gè)實(shí)施例中,服務(wù)器106使用web接口將對(duì)請(qǐng)求的響應(yīng)提供給客戶機(jī)102。 在一個(gè)實(shí)施例中,客戶機(jī)102直接與服務(wù)器106進(jìn)行通信以訪問所標(biāo)識(shí)的應(yīng)用。在另一個(gè) 實(shí)施例中,客戶機(jī)102接收由執(zhí)行服務(wù)器106上的標(biāo)識(shí)的應(yīng)用所生成的諸如顯示數(shù)據(jù)的應(yīng) 用輸出數(shù)據(jù)?,F(xiàn)在參考圖1B,描述了部署多個(gè)設(shè)備200的網(wǎng)絡(luò)環(huán)境的實(shí)施例。第一設(shè)備200可 以部署在第一網(wǎng)絡(luò)104上,而第二設(shè)備200'部署在第二網(wǎng)絡(luò)104'上。例如,公司可以在 分支機(jī)構(gòu)部署第一設(shè)備200,而在數(shù)據(jù)中心部署第二設(shè)備200'。在另一個(gè)實(shí)施例中,第一 設(shè)備200和第二設(shè)備200'被部署在同一個(gè)網(wǎng)絡(luò)104或網(wǎng)絡(luò)104'上。例如,第一設(shè)備200 可以部署用于第一服務(wù)器群組38,而第二設(shè)備200'可以部署用于第二服務(wù)器群組38'。 在另一個(gè)實(shí)例中,第一設(shè)備200可以部署在第一分支機(jī)構(gòu),而第二設(shè)備200'被部署在第二 分支機(jī)構(gòu)'。在一些實(shí)施例中,第一設(shè)備200和第二設(shè)備200'彼此協(xié)同或聯(lián)合工作,以加 速客戶機(jī)和服務(wù)器之間的網(wǎng)絡(luò)業(yè)務(wù)量或應(yīng)用和數(shù)據(jù)的遞送。現(xiàn)在參考圖1C,描述了使用一個(gè)或多個(gè)其它類型的設(shè)備(例如在一個(gè)或多個(gè)WAN 優(yōu)化設(shè)備205,205'之間的設(shè)備),來(lái)部署設(shè)備200的網(wǎng)絡(luò)環(huán)境的另一個(gè)實(shí)施例。例如,第 一 WAN優(yōu)化設(shè)備205顯示在網(wǎng)絡(luò)104和104'之間,而第二 WAN優(yōu)化設(shè)備205‘可以部署在 設(shè)備200和一個(gè)或多個(gè)服務(wù)器106之間。通過示例,公司可以在分支機(jī)構(gòu)部署第一 WAN優(yōu) 化設(shè)備205,而在數(shù)據(jù)中心部署第二 WAN優(yōu)化設(shè)備205'。在一些實(shí)施例中,設(shè)備205可以 位于網(wǎng)絡(luò)104'上。在其它實(shí)施例中,設(shè)備205'可以位于網(wǎng)絡(luò)104上。在一些實(shí)施例中, 設(shè)備205'可以位于網(wǎng)絡(luò)104'或網(wǎng)絡(luò)104〃上。在一個(gè)實(shí)施例中,設(shè)備205和205'在同 一個(gè)網(wǎng)絡(luò)上。在另一個(gè)實(shí)施例中,設(shè)備205和205'在不同的網(wǎng)絡(luò)上。在另一個(gè)實(shí)例中,第 一 WAN優(yōu)化設(shè)備205可以部署用于第一服務(wù)器群組38,而第二 WAN優(yōu)化設(shè)備205 ‘可以部 署用于第二服務(wù)器群組38'。在一個(gè)實(shí)施例中,設(shè)備205是用于加速、優(yōu)化或者以其他方式改善諸如往和/或返 于WAN連接的業(yè)務(wù)量的任一類型和形式的網(wǎng)絡(luò)業(yè)務(wù)量的性能、操作或服務(wù)質(zhì)量的裝置。在 一些實(shí)施例中,設(shè)備205是一個(gè)性能提高的代理。在其它實(shí)施例中,設(shè)備205是任一類型和 形式的WAN優(yōu)化或加速裝置,有時(shí)也被稱為WAN優(yōu)化控制器。在一個(gè)實(shí)施例中,設(shè)備205是 由位于Ft. Lauderdale Florida的Citrix Systems公司出品的被稱為WANScaler的產(chǎn)品 實(shí)施例中的任意一種。在其它實(shí)施例中,設(shè)備205包括由位于Seattle,Washington的F5 Networks公司出品的被稱為BIG-IP鏈路控制器和WANjet的產(chǎn)品實(shí)施例中的任意一種。在 另一個(gè)實(shí)施例中,設(shè)備205包括由位于Sunnyvale,California的Juniper Netfforks公司 出品的WX和WXC WAN加速裝置平臺(tái)中的任意一種。在一些實(shí)施例中,設(shè)備205包括由San Francisco, California ^ Riverbed Technology [JB 白勺蟲工魚尊(steelhead) M^J WAN 優(yōu)化設(shè)備中的任意一種。在其它實(shí)施例中,設(shè)備205包括由位于Roseland,NewJersey的 Expand Networks公司出品的WAN相關(guān)裝置中的任意一種。在一個(gè)實(shí)施例中,設(shè)備205包 括由位于Cupertino,California的Packeteer公司出品的任意一種WAN相關(guān)設(shè)備,例如由 Packeteer提供的PacketShaper、iShared和SkyX產(chǎn)品實(shí)施例。在又一個(gè)實(shí)施例中,設(shè)備
12205包括由位于San Jose, California的Cisco Systems公司出品的任一 WAN相關(guān)設(shè)備和 /或軟件,例如Cisco廣域網(wǎng)應(yīng)用服務(wù)軟件和網(wǎng)絡(luò)模塊以及廣域網(wǎng)引擎設(shè)備。在一個(gè)實(shí)施例中,設(shè)備205提供用于分支機(jī)構(gòu)或遠(yuǎn)程辦公室的應(yīng)用和數(shù)據(jù)加速業(yè) 務(wù)。在一個(gè)實(shí)施例中,設(shè)備205包括廣域文件服務(wù)(WAFS)的優(yōu)化。在另一個(gè)實(shí)施例中,設(shè) 備205加速文件的遞送,例如經(jīng)由通用Internet文件系統(tǒng)(CIFS)協(xié)議。在其它實(shí)施例中, 設(shè)備205在存儲(chǔ)器和/或存儲(chǔ)設(shè)備中提供高速緩存來(lái)加速應(yīng)用和數(shù)據(jù)的遞送。在一個(gè)實(shí) 施例中,設(shè)備205提供在任一級(jí)別的網(wǎng)絡(luò)堆?;蛟谌我坏膮f(xié)議或網(wǎng)絡(luò)層的網(wǎng)絡(luò)業(yè)務(wù)量的壓 縮。在另一個(gè)實(shí)施例中,設(shè)備205提供傳輸層協(xié)議優(yōu)化、流量控制、性能增強(qiáng)或修改和/或 管理,以加速WAN連接上的應(yīng)用和數(shù)據(jù)的遞送。例如,在一個(gè)實(shí)施例中,設(shè)備205提供傳輸 控制協(xié)議(TCP)優(yōu)化。在其它實(shí)施例中,設(shè)備205提供對(duì)于任一會(huì)話或應(yīng)用層協(xié)議的優(yōu)化、 流量控制、性能增強(qiáng)或修改和/或管理。在另一個(gè)實(shí)施例中,設(shè)備205將任一類型和形式的數(shù)據(jù)或信息編碼成網(wǎng)絡(luò)分組的 定制或標(biāo)準(zhǔn)的TCP和/或IP報(bào)頭字段或可選字段,以將存在、功能或能力通告給另一個(gè)設(shè) 備205'。在另一個(gè)實(shí)施例中,設(shè)備205'可以使用在TCP和/或IP報(bào)頭字段或選項(xiàng)中編 碼的數(shù)據(jù)來(lái)與另一個(gè)設(shè)備205'進(jìn)行通信。例如,設(shè)備可以使用TCP選項(xiàng)或IP報(bào)頭字段或 選項(xiàng)來(lái)傳達(dá)在執(zhí)行諸如WAN加速的功能時(shí)或者為了彼此聯(lián)合工作而由設(shè)備205,205'所使 用的一個(gè)或多個(gè)參數(shù)。在一些實(shí)施例中,設(shè)備200保存在設(shè)備205和205'之間傳達(dá)的TCP和/或IP報(bào)頭 和/或可選字段中編碼的任一信息。例如,設(shè)備200可以終止經(jīng)過設(shè)備200的傳輸層連接, 例如經(jīng)過設(shè)備205和205'的在客戶機(jī)和服務(wù)器之間的一個(gè)傳輸層連接。在一個(gè)實(shí)施例中, 設(shè)備200識(shí)別并保存在由第一設(shè)備205通過第一傳輸層連接發(fā)送的傳輸層分組中的任一編 碼信息,并經(jīng)由第二傳輸層連接來(lái)將具有編碼信息的傳輸層分組傳達(dá)到第二設(shè)備205'?,F(xiàn)在參考圖1D,描述了用于遞送和/或操作客戶機(jī)102上的計(jì)算環(huán)境的網(wǎng)絡(luò)環(huán)境。 在一些實(shí)施例中,服務(wù)器106包括用于將計(jì)算環(huán)境或應(yīng)用和/或數(shù)據(jù)文件遞送給一個(gè)或多 個(gè)客戶機(jī)102的應(yīng)用遞送系統(tǒng)190。簡(jiǎn)單概述,客戶機(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和計(jì)算環(huán)境15。計(jì) 算環(huán)境15可以執(zhí)行或操作訪問、處理或使用數(shù)據(jù)文件的應(yīng)用。可以經(jīng)由設(shè)備200和/或服 務(wù)器106來(lái)遞送計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件。在一些實(shí)施例中,設(shè)備200加速將計(jì)算環(huán)境15或其任一部分遞送給客戶機(jī)102。 在一個(gè)實(shí)施例中,設(shè)備200通過應(yīng)用遞送系統(tǒng)190來(lái)加速計(jì)算環(huán)境15的遞送。例如,此處 描述的實(shí)施例可以用來(lái)將可由應(yīng)用處理的流應(yīng)用和數(shù)據(jù)文件加速?gòu)闹醒氲墓緮?shù)據(jù)中心 遞送到遠(yuǎn)程用戶的位置,例如公司的分支機(jī)構(gòu)。在另一個(gè)實(shí)施例中,設(shè)備200加速在客戶機(jī) 102和服務(wù)器106之間的傳輸層業(yè)務(wù)量。設(shè)備200可以提供用于加速?gòu)姆?wù)器106到客戶 機(jī)102的任一傳輸層有效載荷的加速技術(shù),例如1)傳輸層連接池,2)傳輸層連接多路復(fù) 用,3)傳輸控制協(xié)議緩沖,4)壓縮和5)高速緩存。在一些實(shí)施例中,設(shè)備200提供響應(yīng)于客 戶機(jī)102的請(qǐng)求的服務(wù)器106的負(fù)載平衡。在其它實(shí)施例中,設(shè)備200充當(dāng)代理或訪問服 務(wù)器以提供對(duì)一個(gè)或多個(gè)服務(wù)器106的訪問。在另一個(gè)實(shí)施例中,設(shè)備200提供從客戶機(jī) 102的第一網(wǎng)絡(luò)104到服務(wù)器106的第二網(wǎng)絡(luò)104'的安全虛擬專用網(wǎng)連接,例如SSL VPN連接。在又一些實(shí)施例中,設(shè)備200提供在客戶機(jī)102和服務(wù)器106之間的連接和通信的 應(yīng)用防火墻安全、控制和管理。在一些實(shí)施例中,應(yīng)用遞送管理系統(tǒng)190根據(jù)多個(gè)執(zhí)行方法以及根據(jù)經(jīng)由策略引 擎195應(yīng)用的任一驗(yàn)證和授權(quán)策略來(lái)提供將計(jì)算環(huán)境遞送到遠(yuǎn)端或另外的用戶的桌面的 應(yīng)用遞送技術(shù)。使用這些技術(shù),遠(yuǎn)程用戶可以從任一網(wǎng)絡(luò)連接裝置100獲取計(jì)算環(huán)境以及 訪問服務(wù)器存儲(chǔ)的應(yīng)用和數(shù)據(jù)文件。在一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以駐留于服務(wù) 器106或在服務(wù)器106上執(zhí)行。在另一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以駐留于多個(gè)服務(wù) 器106a-106n上或在多個(gè)服務(wù)器106a-106n上執(zhí)行。在一些實(shí)施例中,應(yīng)用遞送系統(tǒng)190可 以在服務(wù)器群組38中執(zhí)行。在一個(gè)實(shí)施例中,執(zhí)行應(yīng)用遞送系統(tǒng)190的服務(wù)器106還可以 存儲(chǔ)或提供應(yīng)用和數(shù)據(jù)文件。在另一個(gè)實(shí)施例中,第一組的一個(gè)或多個(gè)服務(wù)器106可以執(zhí) 行應(yīng)用遞送系統(tǒng)190,而不同的服務(wù)器106η可以存儲(chǔ)或提供應(yīng)用和數(shù)據(jù)文件。在一些實(shí)施 例中,應(yīng)用遞送系統(tǒng)190、應(yīng)用和數(shù)據(jù)文件中的每一個(gè)可以駐留或位于不同的服務(wù)器上。在 又一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190的任一部分可以駐留、執(zhí)行或保存或被分配于設(shè)備200 或多個(gè)設(shè)備??蛻魴C(jī)102可以包括用于執(zhí)行使用或處理數(shù)據(jù)文件的應(yīng)用的計(jì)算環(huán)境15??蛻魴C(jī) 102可以經(jīng)由網(wǎng)絡(luò)104、104'和設(shè)備200來(lái)從服務(wù)器106請(qǐng)求應(yīng)用和數(shù)據(jù)文件。在一個(gè)實(shí) 施例中,設(shè)備200可以將來(lái)自于客戶機(jī)102的請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器106。例如,客戶機(jī)102可 以不具有本地存儲(chǔ)或可存取的應(yīng)用和數(shù)據(jù)文件。響應(yīng)于請(qǐng)求,應(yīng)用遞送系統(tǒng)190和/或服 務(wù)器106可以遞送應(yīng)用和數(shù)據(jù)文件到客戶機(jī)102。例如,在一個(gè)實(shí)施例中,服務(wù)器106可以 以應(yīng)用流的形式發(fā)送應(yīng)用,以在客戶機(jī)102上的計(jì)算環(huán)境15中進(jìn)行操作。在一些實(shí)施例中,應(yīng)用遞送系統(tǒng)190包括Citrix Systems公司的例如MetaFrame 或Citrix表示(Presentation)服務(wù)器 的Citrix訪問套件 的任一部分和/或由微軟 公司出品的任意一種微軟 Windows終端服務(wù)。在一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以 通過遠(yuǎn)程顯示協(xié)議或以其它方式通過基于遠(yuǎn)程或基于服務(wù)器的計(jì)算來(lái)遞送一個(gè)或多個(gè)應(yīng) 用到客戶機(jī)102或用戶。在另一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以通過應(yīng)用的流式傳輸 來(lái)遞送一個(gè)或多個(gè)應(yīng)用到客戶機(jī)或用戶。在一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190包括用于控制和管理應(yīng)用執(zhí)行方法的訪問、 選擇以及應(yīng)用的遞送的策略引擎195。在一些實(shí)施例中,策略引擎195確定用戶或客戶機(jī) 102可以訪問的一個(gè)或多個(gè)應(yīng)用。在另一個(gè)實(shí)施例中,策略引擎195確定應(yīng)用應(yīng)該如何被遞 送給用戶或客戶機(jī)102,例如執(zhí)行方法。在一些實(shí)施例中,應(yīng)用遞送系統(tǒng)190提供從中選擇 應(yīng)用執(zhí)行方法的多個(gè)遞送技術(shù),例如基于服務(wù)器的計(jì)算、本地流式傳輸或遞送應(yīng)用給客戶 機(jī)120以用于本地執(zhí)行。在一個(gè)實(shí)施例中,客戶機(jī)102請(qǐng)求執(zhí)行應(yīng)用而包括服務(wù)器106的應(yīng)用遞送系統(tǒng)190 選擇執(zhí)行應(yīng)用的方法。在一些實(shí)施例中,服務(wù)器106從客戶機(jī)102接收證書。在另一個(gè)實(shí) 施例中,服務(wù)器106從客戶機(jī)102接收列舉可用的應(yīng)用的請(qǐng)求。在一個(gè)實(shí)施例中,響應(yīng)于所 述請(qǐng)求或收到的證書,應(yīng)用遞送系統(tǒng)190列舉客戶機(jī)102可用的多個(gè)應(yīng)用。應(yīng)用遞送系統(tǒng) 190接收請(qǐng)求以執(zhí)行所列舉的應(yīng)用。應(yīng)用遞送系統(tǒng)190選擇預(yù)定數(shù)目的方法中的一個(gè)來(lái)執(zhí) 行列舉的應(yīng)用,例如響應(yīng)于策略引擎的策略。應(yīng)用遞送系統(tǒng)190可以選擇一個(gè)執(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)用的多個(gè)應(yīng) 用文件之后本地執(zhí)行所述應(yīng)用。在又一個(gè)實(shí)施例中,應(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ì)算客戶機(jī)、ActiveX控件、或Java小程序、或可 以在客戶機(jī)102上執(zhí)行的任一其它類型和/或形式的可執(zhí)行指令。在一些實(shí)施例中,應(yīng)用 可以是代表客戶機(jī)102在服務(wù)器106上執(zhí)行的基于服務(wù)器或基于遠(yuǎn)程的應(yīng)用。在一個(gè)實(shí)施 例中,服務(wù)器106可以使用任一瘦-客戶機(jī)或遠(yuǎn)程顯示協(xié)議來(lái)顯示輸出到客戶機(jī)102,所述 遠(yuǎn)程顯示協(xié)議例如由位于Ft. Lauderdale, Florida的Citrix Systems公司出品的獨(dú)立計(jì) 算架構(gòu)(ICA)協(xié)議或由位于Redmond,Washington的微軟公司出品的遠(yuǎn)程桌面協(xié)議(RDP)。 應(yīng)用可以使用任一類型的協(xié)議,并且它可以是例如HTTP客戶機(jī)、FTP客戶機(jī)、Oscar客戶機(jī) 或Telnet客戶機(jī)。在其它實(shí)施例中,應(yīng)用包括與VoIP通信相關(guān)的任一類型的軟件,例如軟 IP電話。在進(jìn)一步的實(shí)施例中,應(yīng)用包括與實(shí)時(shí)數(shù)據(jù)通信相關(guān)的任一應(yīng)用,例如用于流式傳 輸視頻和/或音頻的應(yīng)用。在一些實(shí)施例中,服務(wù)器106或服務(wù)器群組38可以運(yùn)行一個(gè)或多個(gè)應(yīng)用,例如提 供瘦-客戶機(jī)計(jì)算的應(yīng)用或遠(yuǎn)程顯示表示應(yīng)用的應(yīng)用。在一個(gè)實(shí)施例中,服務(wù)器106或服務(wù) 器群組38作為應(yīng)用而執(zhí)行Citrix Systems公司的例如MetaFrame或Citrix表示服務(wù)器 的Citrix訪問套件 的任一部分和/或由微軟公司出品的任意一種微軟 Windows終端服 務(wù)。在一個(gè)實(shí)施例中,應(yīng)用是由位于Fort Lauderdale,F(xiàn)lorida的Citrix Systems公司開 發(fā)的ICA客戶機(jī)。在其它實(shí)施例中,應(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ù)器。在一些實(shí)施例中, 任意一種應(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)境的一個(gè)實(shí)施例可以包括監(jiān)控服務(wù)器106A。監(jiān)控服務(wù)器 106A可以包括任一類型和形式的性能監(jiān)控業(yè)務(wù)198。性能監(jiān)控業(yè)務(wù)198可以包括監(jiān)控、測(cè)量 和/或管理軟件和/或硬件,包括數(shù)據(jù)收集、集合、分析、管理和報(bào)告。在一個(gè)實(shí)施例中,性 能監(jiān)控業(yè)務(wù)198包括一個(gè)或多個(gè)監(jiān)控代理197。監(jiān)控代理197包括用于在諸如客戶機(jī)102、 服務(wù)器106或設(shè)備200和205的裝置上執(zhí)行監(jiān)控、測(cè)量和數(shù)據(jù)收集活動(dòng)的任一軟件、硬件或 其組合。在一些實(shí)施例中,監(jiān)控代理197包括諸如Visual Basic腳本或Java描述語(yǔ)言的 任一類型和形式的腳本。在一個(gè)實(shí)施例中,監(jiān)控代理197相對(duì)于裝置的任一應(yīng)用和/或用 戶透明地執(zhí)行。在一些實(shí)施例中,監(jiān)控代理197相對(duì)于應(yīng)用或客戶機(jī)不引人注目地被安裝 和操作。在又一個(gè)實(shí)施例中,監(jiān)控代理197被安裝和操作而不需要用于該應(yīng)用或裝置的任 何設(shè)備(instrumentation)。在一些實(shí)施例中,監(jiān)控代理197以預(yù)定頻率監(jiān)控、測(cè)量和收集數(shù)據(jù)。在其它實(shí)施例中,監(jiān)控代理197基于任一類型和形式的事件的檢測(cè)來(lái)監(jiān)控、測(cè)量和收集數(shù)據(jù)。例如,監(jiān)控 代理197可以在檢測(cè)到對(duì)web頁(yè)面的請(qǐng)求或收到HTTP響應(yīng)時(shí)收集數(shù)據(jù)。在另一個(gè)實(shí)例中, 監(jiān)控代理197可以在檢測(cè)到諸如鼠標(biāo)點(diǎn)擊的任一用戶輸入事件時(shí)收集數(shù)據(jù)。監(jiān)控代理197 可以報(bào)告或提供任一所監(jiān)控、測(cè)量或收集的數(shù)據(jù)給監(jiān)控業(yè)務(wù)198。在一個(gè)實(shí)施例中,監(jiān)控代 理197根據(jù)調(diào)度或預(yù)定頻率來(lái)發(fā)送信息給監(jiān)控業(yè)務(wù)198。在另一個(gè)實(shí)施例中,監(jiān)控代理197 在檢測(cè)到事件時(shí)發(fā)送信息給監(jiān)控業(yè)務(wù)198。在一些實(shí)施例中,監(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)控和性 能測(cè)量。在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行諸如TCP或UDP連接的 任一傳輸層連接的監(jiān)控和性能測(cè)量。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 監(jiān)控和測(cè)量網(wǎng)絡(luò)等待時(shí)間。在又一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和 測(cè)量帶寬利用。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量終端用戶響應(yīng)時(shí) 間。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198執(zhí)行應(yīng)用的監(jiān)控和性能測(cè)量。在另一個(gè)實(shí)施例中,監(jiān)控 業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行到應(yīng)用的任一會(huì)話或連接的監(jiān)控和性能測(cè)量。在一個(gè)實(shí) 施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量瀏覽器的性能。在另一個(gè)實(shí)施例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量基于HTTP的事務(wù)的性能。在一些實(shí)施例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量IP上語(yǔ)音(VoIP)應(yīng)用或會(huì)話的性能。在其 它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量諸如ICA客戶機(jī)或RDP客戶機(jī) 的遠(yuǎn)程顯示協(xié)議應(yīng)用的性能。在又一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控 和測(cè)量任一類型和形式的流媒體的性能。在進(jìn)一步的實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控 代理197監(jiān)控和測(cè)量寄載應(yīng)用或軟件即服務(wù)(Software-As-A-Service,SaaS)遞送模型的 性能。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行與應(yīng)用相關(guān)的一個(gè)或多 個(gè)事務(wù)、請(qǐng)求或響應(yīng)的監(jiān)控和性能測(cè)量。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理 197監(jiān)控和測(cè)量應(yīng)用層堆棧的任一部分,例如任一 .NET或J2EE調(diào)用。在一個(gè)實(shí)施例中,監(jiān) 控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量數(shù)據(jù)庫(kù)或SQL事務(wù)。在又一個(gè)實(shí)施例中,監(jiān)控 業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量任一方法、函數(shù)或應(yīng)用編程接口(API)調(diào)用。在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行經(jīng)由諸如設(shè)備200和/ 或設(shè)備205的一個(gè)或多個(gè)設(shè)備從服務(wù)器到客戶機(jī)的應(yīng)用和/或數(shù)據(jù)的遞送的監(jiān)控和性能測(cè) 量。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量虛擬化應(yīng)用的遞送的 性能。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量流式應(yīng)用的遞送的 性能。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量遞送桌面應(yīng)用到 客戶機(jī)和/或在客戶機(jī)上執(zhí)行桌面應(yīng)用的性能。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或 監(jiān)控代理197監(jiān)控和測(cè)量客戶機(jī)/服務(wù)器應(yīng)用的性能。在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197被設(shè)計(jì)和構(gòu)建為應(yīng)用遞送系 統(tǒng)190提供應(yīng)用性能管理。例如,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以監(jiān)控、測(cè)量和管理 經(jīng)由Citrix表示服務(wù)器遞送應(yīng)用的性能。在該實(shí)例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 監(jiān)控單獨(dú)的ICA會(huì)話。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以測(cè)量總的以及每次的會(huì)話系統(tǒng)資源使用,以及應(yīng)用和連網(wǎng)性能。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以對(duì)于給定用戶 和/或用戶會(huì)話來(lái)標(biāo)識(shí)有效服務(wù)器。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 監(jiān)控在應(yīng)用遞送系統(tǒng)190和應(yīng)用和/或數(shù)據(jù)庫(kù)服務(wù)器之間的后端連接。監(jiān)控業(yè)務(wù)198和/ 或監(jiān)控代理197可以測(cè)量每個(gè)用戶會(huì)話或ICA會(huì)話的網(wǎng)絡(luò)等待時(shí)間、延遲和容量。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控對(duì)于應(yīng)用遞送系 統(tǒng)190的諸如總的存儲(chǔ)器使用、每個(gè)用戶會(huì)話和/或每個(gè)進(jìn)程的存儲(chǔ)器使用。在其它實(shí)施 例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控諸如總的CPU使用、每個(gè)用戶會(huì)話和/ 或每個(gè)進(jìn)程的應(yīng)用遞送系統(tǒng)190的CPU使用。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān) 控代理197測(cè)量和監(jiān)控登錄到諸如Citrix表示服務(wù)器的應(yīng)用、服務(wù)器或應(yīng)用遞送系統(tǒng)所需 的時(shí)間。在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控用戶登錄應(yīng)用、服 務(wù)器或應(yīng)用遞送系統(tǒng)190的持續(xù)時(shí)間。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 測(cè)量和監(jiān)控應(yīng)用、服務(wù)器或應(yīng)用遞送系統(tǒng)會(huì)話的有效和無(wú)效的會(huì)話計(jì)數(shù)。在又一個(gè)實(shí)施例 中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控用戶會(huì)話等待時(shí)間。在又一個(gè)進(jìn)一步的實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控任一 類型和形式的服務(wù)器規(guī)格(metrics)。在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 測(cè)量和監(jiān)控與系統(tǒng)存儲(chǔ)器、CPU使用和磁盤存儲(chǔ)器有關(guān)的規(guī)格。在另一個(gè)實(shí)施例中,監(jiān)控業(yè) 務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控和頁(yè)錯(cuò)誤有關(guān)的規(guī)格,諸如每秒頁(yè)錯(cuò)誤。在其它實(shí)施 例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控往返時(shí)間的規(guī)格。在又一個(gè)實(shí)施例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控與應(yīng)用崩潰、錯(cuò)誤和/或中止相關(guān)的規(guī)格。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和監(jiān)控代理198包括由位于Ft. Lauderdale, Florida的Citrix Systems公司出品的被稱為EdgeSight的任意一種產(chǎn)品實(shí)施例。在另 一個(gè)實(shí)施例中,性能監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理198包括由位于Palo Alto, California 的Symphoniq公司出品的被稱為TrueView產(chǎn)品套件的產(chǎn)品實(shí)施例的任一部分。在一個(gè)實(shí) 施例中,性能監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理198包括由位于SanFrancisco,California的 TeaLeaf技術(shù)公司出品的被稱為TeaLeafCX產(chǎn)品套件的產(chǎn)品實(shí)施例的任一部分。在其它實(shí) 施例中,性能監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理198包括由位于Houston,Texas的BMC軟件公司 出品的諸如BMC性能管理器和巡邏產(chǎn)品(BMC Performance Manager and Patrolproducts) 的商業(yè)業(yè)務(wù)管理產(chǎn)品的任一部分。客戶機(jī)102、服務(wù)器106和設(shè)備200可以被部署和/或執(zhí)行在任一類型和形式的計(jì) 算裝置上,例如可以在任一類型和形式的網(wǎng)絡(luò)上通信并執(zhí)行此處描述的操作的計(jì)算機(jī)、網(wǎng) 絡(luò)裝置或設(shè)備。圖IE和IF描述了可用于實(shí)施客戶機(jī)102、服務(wù)器106或設(shè)備200的實(shí)施例 的計(jì)算裝置100的框圖。如圖IE和IF所示,每個(gè)計(jì)算裝置100包括中央處理單元101和 主存儲(chǔ)器單元122。如圖IE所示,計(jì)算裝置100可以包括可視顯示裝置124、鍵盤126和/ 或諸如鼠標(biāo)的點(diǎn)擊裝置127。每個(gè)計(jì)算裝置100也可以包括另外的可選元件,例如一個(gè)或多 個(gè)輸入/輸出裝置130a-130b (通常使用附圖標(biāo)記130來(lái)指示)以及與中央處理單元101 通信的高速緩存140。中央處理單元101是響應(yīng)并處理取自主存儲(chǔ)器單元122的指令的任一邏輯電 路。在許多實(shí)施例中,中央處理單元由微處理器單元提供,例如由位于Mountain View, California 白勺 Intel ^ W] βπ W Zfe m ; ^ T Schaumburg, Illinois 白勺 Motorola 公司出品的產(chǎn)品;由位于SantaClara,California的Transmeta公司出品的產(chǎn)品;由位 于WhitePlains,New York的國(guó)際商業(yè)機(jī)器公司出品的RS/6000處理器;或者由位于 Sunnyvale,California 的 Advanced Micro Devices 公司出品的產(chǎn)品。計(jì)算裝置 100 可以 基于任一的這些處理器、或者可以如此處所描述地操作的任一其它處理器。主存儲(chǔ)器單元122可以是可以保存數(shù)據(jù)并允許由微處理器101直接訪問的任一 存儲(chǔ)位置的一個(gè)或多個(gè)存儲(chǔ)芯片,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、突發(fā)式SRAM或同步 突發(fā)式SRAM(BSRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、快速頁(yè)面模式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)。主存儲(chǔ)器122可以基于任意一種上面描述的 存儲(chǔ)芯片、或者可以如此處所描述地操作的任一其它可用的存儲(chǔ)芯片。在圖IE中所示的實(shí) 施例中,處理器101通過系統(tǒng)總線150 (在下面進(jìn)行更詳細(xì)的描述)與主存儲(chǔ)器122進(jìn)行通 信。圖IE描述了在其中處理器通過存儲(chǔ)器端口 103直接與主存儲(chǔ)器122通信的計(jì)算裝置 100的實(shí)施例。例如,在圖IF中,主存儲(chǔ)器122可以是DRDRAM。圖IF描述了在其中主處理器101通過有時(shí)被稱為背端總線的次級(jí)總線來(lái)直接與 高速緩存140通信的實(shí)施例。在其它實(shí)施例中,主處理器101使用系統(tǒng)總線150與高速緩 存140進(jìn)行通信。高速緩存140典型地具有比主存儲(chǔ)器122更快的響應(yīng)時(shí)間,并且典型地 通過SRAM、BSRAM或EDRAM來(lái)提供。在圖IE中所示的實(shí)施例中,處理器101通過本地系統(tǒng) 總線150與多個(gè)1/0裝置130進(jìn)行通信。多種總線可以用來(lái)將中央處理單元101連接到任 意一種1/0裝置130,所述總線包括VESA VL總線、ISA總線、EISA總線、微通道架構(gòu)(MCA) 總線、PCI總線、PCI-X總線、PCI-Express總線或NuBus。對(duì)于1/0裝置是視頻顯示器124 的實(shí)施例,處理器101可以使用高級(jí)圖形端口(AGP)來(lái)與顯示器124進(jìn)行通信。圖IF描述 了在其中主處理器101通過HyperTransport、快速1/0或InfiniBand來(lái)直接與1/0裝置 130通信的計(jì)算機(jī)100的一個(gè)實(shí)施例。圖IF還描述了混合本地總線和直接通信的一個(gè)實(shí)施 例處理器101使用本地互連總線與1/0裝置130進(jìn)行通信,同時(shí)直接與1/0裝置130進(jìn)行
通{曰。計(jì)算裝置100可以支持任一適當(dāng)?shù)陌惭b裝置116,例如用于接收像3. 5英寸、5. 25 英寸磁盤或ZIP磁盤這樣的軟盤的軟盤驅(qū)動(dòng)器、CD-ROM驅(qū)動(dòng)器、CD-R/RW驅(qū)動(dòng)器、DVD-ROM 驅(qū)動(dòng)器、多種格式的磁帶驅(qū)動(dòng)器、USB裝置、硬盤驅(qū)動(dòng)器或適于安裝像任一客戶機(jī)代理120 或其部分的軟件和程序的任一其它裝置。計(jì)算裝置100還可以包括存儲(chǔ)裝置128,例如一個(gè) 或多個(gè)硬盤驅(qū)動(dòng)器或獨(dú)立磁盤的冗余陣列,用于保存操作系統(tǒng)及其它相關(guān)軟件,以及用于 保存諸如與客戶機(jī)代理120相關(guān)的任一程序的應(yīng)用軟件程序??蛇x地,任意一種安裝裝置 116還可以被用作存儲(chǔ)裝置128。另外,操作系統(tǒng)和軟件可以從可引導(dǎo)介質(zhì)中運(yùn)行,所述可 引導(dǎo)介質(zhì)例如像ΚΝ0ΡΡΙΧ 的可引導(dǎo)CD,作為來(lái)自于knoppix. net可用作GNU/Linux分發(fā) 的GNU/Linux的可引導(dǎo)CD。進(jìn)一步地,計(jì)算裝置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ú)線連接或上述任一或所有連接的一些組合。網(wǎng)絡(luò)接口 118可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA 網(wǎng)卡、插件總線網(wǎng)絡(luò)適配器、無(wú)線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器或適于將計(jì)算裝 置100連接到可以傳達(dá)并執(zhí)行此處所描述的操作的任一類型的網(wǎng)絡(luò)的任一其它裝置。各 式各樣的I/O裝置130a-130n可以存在于計(jì)算裝置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的一個(gè)或多個(gè)I/O裝置。進(jìn)一 步地,I/O裝置還可以為計(jì)算裝置100提供存儲(chǔ)裝置128和/或安裝介質(zhì)116。還是在其它 實(shí)施例中,計(jì)算裝置100可以提供USB連接以接收諸如由位于LosAlamitos,California的 Twintech Industry公司出品的USB閃存驅(qū)動(dòng)器系列裝置這樣的便攜USB存儲(chǔ)裝置。在一些實(shí)施例中,計(jì)算裝置100可以包括或連接到多個(gè)顯示裝置124a-124n,每個(gè) 顯示裝置可以是相同或不同的類型和/或形式。因而,任意一種I/O裝置130a-130n和/ 或I/O控制器123可以包括任一類型和/或形式的適當(dāng)?shù)挠布?、軟件或硬件和軟件的組合, 以支持、允許或提供通過計(jì)算裝置100連接和使用多個(gè)顯示裝置124a-124n。例如,計(jì)算裝 置100可以包括任一類型和/或形式的視頻適配器、視頻卡、驅(qū)動(dòng)程序和/或庫(kù),以聯(lián)系、通 信、連接或以其他方式使用顯示裝置124a-124n。在一個(gè)實(shí)施例中,視頻適配器可以包括多 個(gè)連接器以聯(lián)接多個(gè)顯示裝置124a-124n。在其它實(shí)施例中,計(jì)算裝置100可以包括多個(gè) 視頻適配器,每個(gè)視頻適配器連接到一個(gè)或多個(gè)顯示裝置124a-124n。在一些實(shí)施例中,計(jì) 算裝置100的操作系統(tǒng)的任一部分可以被配置用于使用多個(gè)顯示器124a-124n。在其它實(shí) 施例中,一個(gè)或多個(gè)顯示裝置124a-124n可以由一個(gè)或多個(gè)諸如例如通過網(wǎng)絡(luò)連接到計(jì)算 裝置100的計(jì)算裝置IOOa和IOOb的其它的計(jì)算裝置來(lái)提供。這些實(shí)施例可以包括被設(shè)計(jì) 和構(gòu)建為將另一個(gè)計(jì)算機(jī)的顯示裝置用作計(jì)算裝置100的第二顯示裝置124a的任一類型 的軟件。本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)和理解計(jì)算裝置100可以被配置為具有多個(gè)顯示裝置 124a-124η的多個(gè)方法和實(shí)施例。在進(jìn)一步的實(shí)施例中,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ì)算機(jī)系統(tǒng)接口總線。圖IE和IF中描述類型的計(jì)算裝置100典型地在控制任務(wù)的調(diào)度和對(duì)系統(tǒng)資源 的訪問的操作系統(tǒng)的控制下操作。計(jì)算裝置100可以運(yùn)行任一操作系統(tǒng),例如任意一種版 本的微軟 Windows操作系統(tǒng)、不同版本的Unix和Linux操作系統(tǒng)、用于Macintosh計(jì)算 機(jī)的任一版本的Mac OS 、任一的嵌入式操作系統(tǒng)、任一的實(shí)時(shí)操作系統(tǒng)、任一的開放源操 作系統(tǒng)、任一的專用操作系統(tǒng)、用于移動(dòng)計(jì)算裝置的任一操作系統(tǒng)、或者可以運(yùn)行在計(jì)算裝 置上并執(zhí)行此處所描述的操作的任一其它操作系統(tǒng)。典型的操作系統(tǒng)其中包括WIND0WS 3. χ,WINDOWS 95,WINDOWS 98,WINDOWS 2000,WINDOWS NT 3. 51、WINDOWS NT 4. 0、WINDOWS CE和WINDOWS XP,所有這些均由位于Redmond,Washington的微軟公司出品;由位于 Cupertino, California的蘋果計(jì)算機(jī)出品的MacOS ;由位于Armonk,NewYork的國(guó)際商業(yè) 機(jī)器公司出品的OS/2 ;以及由位于Salt Lake City,Utah的Caldera公司發(fā)布的可免費(fèi)使用的Linux操作系統(tǒng)或者任一類型和/或形式的Unix操作系統(tǒng),以及其它。在其它實(shí)施例中,計(jì)算裝置100可以具有和所述裝置一致的不同的處理器、操作 系統(tǒng)和輸入裝置。例如,在一個(gè)實(shí)施例中,計(jì)算機(jī)100是由Palm公司出品的Treol80、270、 1060、600或650智能電話。在該實(shí)施例中,Treo智能電話在PalmOS操作系統(tǒng)的控制下操 作,并包括指示筆輸入裝置以及五向?qū)Ш窖b置。此外,計(jì)算裝置100可以是任一工作站、臺(tái) 式計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、服務(wù)器、便攜計(jì)算機(jī)、移動(dòng)電話、任一其它計(jì)算機(jī)、或者 可以通信并具有執(zhí)行此處所描述的操作的足夠的處理器能力和存儲(chǔ)容量的其它形式的計(jì) 算或電信裝置。B.設(shè)備架構(gòu)圖2A舉例說明了設(shè)備200的一個(gè)示例實(shí)施例,其還可以稱為中間設(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ù)的存儲(chǔ)器264、用于在網(wǎng)絡(luò)上發(fā)送和接收數(shù)據(jù)的 網(wǎng)絡(luò)端口 266以及用于執(zhí)行與在網(wǎng)絡(luò)上發(fā)送和接收的數(shù)據(jù)的安全套接字層處理相關(guān)的功 能的加密處理器260。在一些實(shí)施例中,中央處理單元262可以在單個(gè)的處理器中執(zhí)行加密 處理器260的功能。另外,硬件層206可以包括用于每個(gè)處理單元262和加密處理器260 的多個(gè)處理器。處理器262可以包括如上所述的與圖IE和IF有關(guān)的任一處理器101。在 一些實(shí)施例中,中央處理單元262可以在單個(gè)的處理器中執(zhí)行加密處理器260的功能。另 外,硬件層206可以包括用于每個(gè)處理單元262和加密處理器260的多個(gè)處理器。例如,在 一個(gè)實(shí)施例中,設(shè)備200包括第一處理器262和第二處理器262'。在其它實(shí)施例中,處理 器262或262'包括多核處理器。雖然通常所示設(shè)備200的硬件層206具有加密處理器260,但處理器260可以是 用于執(zhí)行與諸如安全套接字層(SSL)或傳輸層安全(TLS)協(xié)議的任一加密協(xié)議相關(guān)的功能 的處理器。在一些實(shí)施例中,處理器260可以是通用處理器(GPP),并且在進(jìn)一步的實(shí)施例 中,可以具有用于執(zhí)行任一安全相關(guān)協(xié)議的處理的可執(zhí)行指令。雖然在圖2中用某些元件來(lái)說明設(shè)備200的硬件層206,但設(shè)備200的硬件部分 或部件可以包括計(jì)算裝置的任一類型和形式的元件、硬件或軟件,諸如此處結(jié)合圖IE和IF 來(lái)舉例說明和討論的計(jì)算裝置100。在一些實(shí)施例中,設(shè)備200可以包括服務(wù)器、網(wǎng)關(guān)、路由 器、交換機(jī)、網(wǎng)橋或其它類型的計(jì)算或網(wǎng)絡(luò)裝置,并具有與此相關(guān)的任一硬件和/或軟件元 件。設(shè)備200的操作系統(tǒng)將可用的系統(tǒng)存儲(chǔ)器分配、管理或者以其他方式分離成內(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ì)算機(jī)的任一 本的Mac OS 、任一的嵌入式操作系統(tǒng)、任一的網(wǎng)絡(luò)操作系統(tǒng)、任一的實(shí)時(shí)操作系統(tǒng)、任一的開放源操作系統(tǒng)、任一的專用操作系統(tǒng)、用于移動(dòng)計(jì)算裝置或 網(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ū)動(dòng)程序、內(nèi) 核擴(kuò)展或其它內(nèi)核相關(guān)軟件。如本領(lǐng)域技術(shù)人員所知,內(nèi)核230是操作系統(tǒng)的核心,并提供 對(duì)應(yīng)用104的資源和硬件相關(guān)的元件的訪問、控制和管理。根據(jù)設(shè)備200的實(shí)施例,內(nèi)核空 間204還包括和有時(shí)還被稱為集成高速緩存的高速緩存管理器232 —起工作的多個(gè)網(wǎng)絡(luò)服 務(wù)或進(jìn)程,此處進(jìn)一步詳細(xì)描述其有益之處。另外,內(nèi)核230的實(shí)施例將依賴于由裝置200 所安裝、配置或者以其他方式使用的操作系統(tǒng)的實(shí)施例。在一個(gè)實(shí)施例中,裝置200包括諸如基于TCP/IP的堆棧的一個(gè)網(wǎng)絡(luò)堆棧267,用 于與客戶機(jī)102和/或服務(wù)器106進(jìn)行通信。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧267用于與諸如 網(wǎng)絡(luò)108的第一網(wǎng)絡(luò)以及第二網(wǎng)絡(luò)110進(jìn)行通信。在一些實(shí)施例中,裝置200終止諸如客 戶機(jī)102的TCP連接的第一傳輸層連接,并建立由客戶機(jī)102使用的到服務(wù)器106的第二 傳輸層連接,例如,第二傳輸層連接在設(shè)備200和服務(wù)器106處終止。第一和第二傳輸層 連接可以經(jīng)由單個(gè)的網(wǎng)絡(luò)堆棧267建立。在其它實(shí)施例中,裝置200可以包括例如267和 267'的多個(gè)網(wǎng)絡(luò)堆棧,并且第一傳輸層連接可以在一個(gè)網(wǎng)絡(luò)堆棧267處建立或終止,而第 二傳輸層連接在第二網(wǎng)絡(luò)堆棧267'上建立或終止。例如,一個(gè)網(wǎng)絡(luò)堆??梢杂糜谠诘谝痪W(wǎng) 絡(luò)上接收和發(fā)送網(wǎng)絡(luò)分組,而另一個(gè)網(wǎng)絡(luò)堆棧用于在第二網(wǎng)絡(luò)上接收和發(fā)送網(wǎng)絡(luò)分組。在 一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧267包括用于由設(shè)備200發(fā)送的一個(gè)或多個(gè)網(wǎng)絡(luò)分組排隊(duì)的緩沖 器 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)每一 個(gè)這些部件的性能。內(nèi)核操作意味著這些部件或進(jìn)程232、240、234、236和238運(yùn)行在裝置 200的操作系統(tǒng)的核心地址空間中。例如,在內(nèi)核模式中運(yùn)行加密引擎234通過將加密與解 密操作移到內(nèi)核來(lái)改善加密性能,從而減少在內(nèi)核模式中的存儲(chǔ)空間或內(nèi)核線程與用戶模 式中的存儲(chǔ)空間或線程之間的轉(zhuǎn)換的次數(shù)。例如,可以不需要將內(nèi)核模式中獲得的數(shù)據(jù)傳 遞或復(fù)制到運(yùn)行在用戶模式中的進(jìn)程或線程,例如從內(nèi)核級(jí)的數(shù)據(jù)結(jié)構(gòu)到用戶級(jí)的數(shù)據(jù)結(jié) 構(gòu)。在另一個(gè)方面,還減少了在內(nèi)核模式與用戶模式之間的上下文轉(zhuǎn)換的次數(shù)。另外,在內(nèi) 核空間204中可以更有效地執(zhí)行在任意一個(gè)部件或進(jìn)程232、240、235、236和238之間通信 和通信的同步。在一些實(shí)施例中,部件232、240、234、236和238的任一部分可以運(yùn)行或操作在內(nèi) 核空間204中,而這些部件232、240、234、236和238的其它部分可以運(yùn)行或操作在用戶空 間202中。在一個(gè)實(shí)施例中,設(shè)備200使用提供對(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)分組的任一部分的訪問 的內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu),例如,網(wǎng)絡(luò)分組包括來(lái)自于客戶機(jī)102的請(qǐng)求或來(lái)自于服務(wù)器106的響 應(yīng)。在一些實(shí)施例中,可以由分組引擎240經(jīng)由到網(wǎng)絡(luò)堆棧267的傳輸層驅(qū)動(dòng)程序接口或 過濾器來(lái)獲得內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)。內(nèi)核級(jí)數(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ù)量或分組。 在其它實(shí)施例中,可以由部件或進(jìn)程232、240、234、236和238中的任意一個(gè)來(lái)使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu),以執(zhí)行部件或進(jìn)程的期望的操作。在一個(gè)實(shí)施例中,部件232、240、234、236和 238在使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)時(shí)運(yùn)行于內(nèi)核模式204中,而在另一個(gè)實(shí)施例中,部件232、240、 234、236和238在使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)時(shí)運(yùn)行于用戶模式中。在一些實(shí)施例中,可以將內(nèi)核 級(jí)數(shù)據(jù)結(jié)構(gòu)復(fù)制或傳遞到第二內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)或任一期望的用戶級(jí)數(shù)據(jù)結(jié)構(gòu)。高速緩存管理器232可以包括軟件、硬件或軟件和硬件的任一組合,以提供對(duì)諸 如由發(fā)信服務(wù)器106提供的對(duì)象或動(dòng)態(tài)生成的對(duì)象的任一類型和形式的內(nèi)容的高速緩存 訪問、控制和管理。由高速緩存管理器232處理和保存的數(shù)據(jù)、對(duì)象或內(nèi)容可以包括諸如 標(biāo)記語(yǔ)言的或者通過任一協(xié)議傳達(dá)的任一格式的數(shù)據(jù)。在一些實(shí)施例中,高速緩存管理器 232復(fù)制存儲(chǔ)在別處的原始數(shù)據(jù)或者以前計(jì)算、生成或發(fā)送的數(shù)據(jù),其中原始數(shù)據(jù)也許需要 相對(duì)于讀取高速緩存元件來(lái)說更長(zhǎng)的訪問時(shí)間以取出、計(jì)算或者以其他方式獲取。一旦數(shù) 據(jù)被保存在高速緩存元件中,未來(lái)的使用可以通過訪問高速緩存的拷貝而不是重新取回或 再計(jì)算原始數(shù)據(jù)來(lái)進(jìn)行,從而減少訪問時(shí)間。在一些實(shí)施例中,高速緩存元件可以包括裝置 200的存儲(chǔ)器264中的數(shù)據(jù)對(duì)象。在其它實(shí)施例中,高速緩存元件可以包括具有比存儲(chǔ)器 264更快的訪問時(shí)間的存儲(chǔ)器。在另一個(gè)實(shí)施例中,高速緩存元件可以包括諸如硬盤的一部 分的裝置200的任一類型和形式的存儲(chǔ)元件。在一些實(shí)施例中,處理單元262可以提供由 高速緩存管理器232使用的高速緩存。然而在進(jìn)一步的實(shí)施例中,高速緩存管理器232可 以使用存儲(chǔ)器、存儲(chǔ)裝置或處理單元的任一部分和組合,以用于高速緩存數(shù)據(jù)、對(duì)象及其它 內(nèi)容。進(jìn)一步地,高速緩存管理器232包括任一邏輯、功能、規(guī)則或操作,以執(zhí)行此處所 描述的設(shè)備200的技術(shù)的任一實(shí)施例。例如,高速緩存管理器232包括根據(jù)失效時(shí)間周期 的期滿或一旦從客戶機(jī)102或服務(wù)器106接收到失效命令來(lái)使對(duì)象無(wú)效的邏輯或功能。在 一些實(shí)施例中,高速緩存管理器232可以作為在內(nèi)核空間204中執(zhí)行的程序、服務(wù)、進(jìn)程或 任務(wù)來(lái)操作,而在其它實(shí)施例中是在用戶空間202中操作。在一個(gè)實(shí)施例中,高速緩存管理 器232的第一部分在用戶空間202中執(zhí)行,而第二部分在內(nèi)核空間204中執(zhí)行。在一些實(shí) 施例中,高速緩存管理器232可以包括任一類型的通用處理器(GPP)或者諸如現(xiàn)場(chǎng)可編程 門陣列(FPGA)、可編程邏輯器件(PLD)或應(yīng)用專用集成電路(ASIC)的任一其它類型的集成 電路。例如,策略引擎236可以包括智能統(tǒng)計(jì)引擎或者其它的可編程應(yīng)用。在一個(gè)實(shí)施 例中,策略引擎236提供配置機(jī)制以允許用戶標(biāo)識(shí)、指定、限定或配置高速緩存策略。在一 些實(shí)施例中,策略引擎236還可以訪問存儲(chǔ)器以支持諸如查找表或哈希表的數(shù)據(jù)結(jié)構(gòu)來(lái)啟 用用戶選擇的高速緩存策略決策。在其它實(shí)施例中,策略引擎236可以包括任一邏輯、規(guī) 則、功能或操作,以便確定和提供除了由設(shè)備200執(zhí)行的安全、網(wǎng)絡(luò)業(yè)務(wù)量、網(wǎng)絡(luò)訪問、壓縮 或任一其它功能或操作的訪問、控制和管理之外的由設(shè)備200高速緩存的對(duì)象、數(shù)據(jù)或內(nèi) 容的訪問、控制和管理。此處進(jìn)一步描述特定高速緩存策略的進(jìn)一步的實(shí)例。加密引擎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處 理的卸載和加速。在一個(gè)實(shí)施例中,加密引擎234使用隧道協(xié)議來(lái)在客戶機(jī)102a-102n和服務(wù)器106a-106n之間提供虛擬專用網(wǎng)。在一些實(shí)施例中,加密引擎234與加密處理器260 進(jìn)行通信。在其它實(shí)施例中,加密引擎234包括運(yùn)行在加密處理器260上的可執(zhí)行指令。多協(xié)議壓縮引擎238包括用于壓縮諸如由裝置200的網(wǎng)絡(luò)堆棧267使用的任意一 種協(xié)議的一個(gè)或多個(gè)協(xié)議的網(wǎng)絡(luò)分組的任一邏輯、商業(yè)規(guī)則、功能或操作。在一個(gè)實(shí)施例 中,多協(xié)議壓縮引擎238雙向地在客戶機(jī)102a-102n和服務(wù)器106a-106n之間壓縮任一的 基于TCP/IP的協(xié)議,包括消息應(yīng)用編程接口(MAPI)(電子郵件)、文件傳送協(xié)議(FTP)、超 文本傳送協(xié)議(HTTP)、通用Internet文件系統(tǒng)(CIFS)協(xié)議(文件傳送)、獨(dú)立計(jì)算架構(gòu) (ICA)協(xié)議、遠(yuǎn)程桌面協(xié)議(RDP)、無(wú)線應(yīng)用協(xié)議(WAP)、移動(dòng)IP協(xié)議和IP上語(yǔ)音(VoIP)協(xié) 議。在其它實(shí)施例中,多協(xié)議壓縮引擎238提供基于超文本標(biāo)記語(yǔ)言(HTML)的協(xié)議的壓縮, 并且在一些實(shí)施例中提供諸如可擴(kuò)展標(biāo)記語(yǔ)言(XML)的任一標(biāo)記語(yǔ)言的壓縮。在一個(gè)實(shí) 施例中,多協(xié)議壓縮引擎238提供諸如為設(shè)備200設(shè)計(jì)用于設(shè)備200通信的的任一協(xié)議的 任一高性能協(xié)議的壓縮。在另一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238使用修改的傳輸控制協(xié) 議來(lái)壓縮任一通信的任一有效載荷或任一通信,所述修改的傳輸控制協(xié)議諸如事務(wù)TCP (T/ TCP)、具有選擇確認(rèn)的TCP (TCP-SACK)、具有大窗口的TCP (TCP-Lff)、諸如TCP-Vegas協(xié)議的 擁塞預(yù)測(cè)協(xié)議以及TCP欺騙協(xié)議。因而,多協(xié)議壓縮引擎238為經(jīng)由桌面客戶機(jī)以及甚至移動(dòng)客戶機(jī)訪問應(yīng)用的用 戶加速性能,所述桌面客戶機(jī)例如微軟Outlook以及諸如由諸如Oracle、SAP和Siebel的 通用的企業(yè)應(yīng)用所啟動(dòng)的任一客戶機(jī)的非web瘦客戶機(jī),所述移動(dòng)客戶機(jī)例如掌上電腦。 在一些實(shí)施例中,通過執(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)核級(jí)處理。高速層2-7集成分組引擎 240可以包括用于在例如接收網(wǎng)絡(luò)分組或發(fā)送網(wǎng)絡(luò)分組的處理期間排隊(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)分 組的緩沖器。另外,高速層2-7集成分組引擎240與一個(gè)或多個(gè)網(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í)行諸如請(qǐng)求級(jí)內(nèi)容交換和請(qǐng)求級(jí)高 速緩存重定向的與業(yè)務(wù)量管理相關(guān)的功能,而多協(xié)議壓縮邏輯238被配置為執(zhí)行與數(shù)據(jù)的 壓縮和解壓縮相關(guān)的功能。高速層2-7集成分組引擎240包括分組處理定時(shí)器242。在一個(gè)實(shí)施例中,分組處 理定時(shí)器242提供一個(gè)或多個(gè)時(shí)間間隔以觸發(fā)輸入(即,接收)或輸出(即,發(fā)送)網(wǎng)絡(luò)分 組的處理。在一些實(shí)施例中,高速層2-7集成分組引擎240響應(yīng)于定時(shí)器242來(lái)處理網(wǎng)絡(luò) 分組。分組處理定時(shí)器242提供任一類型和形式的信號(hào)給分組引擎240,以通知、觸發(fā)或傳 達(dá)時(shí)間相關(guān)的事件、間隔或發(fā)生。在許多實(shí)施例中,分組處理定時(shí)器242以例如像100毫秒、 50毫秒或25毫秒這樣的毫秒級(jí)來(lái)進(jìn)行操作。例如,在一些實(shí)施例中,分組處理定時(shí)器242 提供時(shí)間間隔或者以其他方式使高速層2-7集成分組引擎240以10毫秒的時(shí)間間隔來(lái)處 理網(wǎng)絡(luò)分組,而在其它實(shí)施例中按5毫秒的時(shí)間間隔,以及甚至在更進(jìn)一步的實(shí)施例中短 到3、2或1毫秒的時(shí)間間隔。在操作期間,高速層2-7集成分組引擎240可以與加密引擎234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮引擎238交互、集成或通信。因而,可 以響應(yīng)于分組處理定時(shí)器242和/或分組引擎240來(lái)執(zhí)行加密引擎234、高速緩存管理器 232、策略引擎236和多協(xié)議壓縮邏輯238的任一邏輯、功能或操作。因此,可以以例如小于 或等于10毫秒的時(shí)間間隔的通過分組處理定時(shí)器242提供的時(shí)間間隔的粒度來(lái)執(zhí)行加密 引擎234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮邏輯238的任一邏輯、功能或操 作。例如,在一個(gè)實(shí)施例中,高速緩存管理器232可以響應(yīng)于高速層2-7集成分組引擎240 和/或分組處理定時(shí)器242來(lái)執(zhí)行任一高速緩存對(duì)象的失效。在另一個(gè)實(shí)施例中,可以將 高速緩存對(duì)象的滿期或失效時(shí)間設(shè)置為與分組處理定時(shí)器242的時(shí)間間隔相同的粒度級(jí), 例如每10毫秒。與內(nèi)核空間204不同,用戶空間202是由用戶模式應(yīng)用或者以其他方式運(yùn)行于用 戶模式的程序所使用的存儲(chǔ)器區(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)測(cè)程序 216和守護(hù)服務(wù)218。⑶I 210和CLI 212提供一個(gè)裝置,通過所述裝置,系統(tǒng)管理員或其它 用戶可以與設(shè)備200的操作相互作用并控制設(shè)備200的操作,例如通過設(shè)備200的操作系 統(tǒng),并且兩者之一是用戶空間202或內(nèi)核空間204。⑶I 210可以是任一類型和形式的圖形 用戶界面,并且可以通過文本、圖形或者以其他方式通過像瀏覽器的任一類型的程序或應(yīng) 用來(lái)呈現(xiàn)。CLI 212可以是任一類型和形式的命令行或基于文本的接口,例如由操作系統(tǒng)提 供的命令行。例如,CLI 212可以包括命令解釋程序,所述命令解釋程序是允許用戶與操作 系統(tǒng)相互作用的工具。在一些實(shí)施例中,CLI 212可以通過1^吐、(^11、切吐或1^11型命令 解釋程序來(lái)提供。命令解釋程序服務(wù)214包括程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令以支持 用戶通過⑶I 210和/或CLI 212與設(shè)備200或操作系統(tǒng)相互作用。健康監(jiān)測(cè)程序216被用于監(jiān)控、檢查、報(bào)告和確保網(wǎng)絡(luò)系統(tǒng)在正常工作以及用戶 通過網(wǎng)絡(luò)接收所請(qǐng)求的內(nèi)容。健康監(jiān)測(cè)程序216包括一個(gè)或多個(gè)程序、服務(wù)、任務(wù)、進(jìn)程或 可執(zhí)行指令以提供用于監(jiān)測(cè)設(shè)備200的任一活動(dòng)的邏輯、規(guī)則、功能或操作。在一些實(shí)施例 中,健康監(jiān)測(cè)程序216攔截并檢查經(jīng)由設(shè)備200傳遞的任一網(wǎng)絡(luò)業(yè)務(wù)量。在其它實(shí)施例中, 健康監(jiān)測(cè)程序216通過任一合適的方法和/或機(jī)制與一個(gè)或多個(gè)下列單元連接加密引擎 234、高速緩存管理器232、策略引擎236、多協(xié)議壓縮邏輯238、分組引擎240、守護(hù)服務(wù)218 和命令解釋程序服務(wù)214。因而,健康監(jiān)測(cè)程序216可以調(diào)用任一應(yīng)用編程接口(API)以確 定設(shè)備200的任一部分的狀態(tài)、狀況或健康。例如,健康監(jiān)測(cè)程序216可以周期性地查驗(yàn)或 發(fā)送一個(gè)情況查詢以檢測(cè)程序、進(jìn)程、服務(wù)或任務(wù)是否有效以及當(dāng)前正在運(yùn)行。在另一個(gè)實(shí) 例中,健康監(jiān)測(cè)程序216可以檢查由任一程序、進(jìn)程、服務(wù)或任務(wù)提供的任一狀態(tài)、錯(cuò)誤或 歷史記錄,以確定設(shè)備200的任一部分的任一情況、狀態(tài)或錯(cuò)誤。守護(hù)服務(wù)218是連續(xù)或在后臺(tái)運(yùn)行并處理由設(shè)備200接收到的周期性服務(wù)請(qǐng)求的 程序。在一些實(shí)施例中,守護(hù)服務(wù)可以將請(qǐng)求轉(zhuǎn)發(fā)給其它程序或進(jìn)程,例如酌情轉(zhuǎn)發(fā)給另一 個(gè)守護(hù)服務(wù)218。如本領(lǐng)域技術(shù)人員所知,守護(hù)服務(wù)218可以無(wú)人監(jiān)護(hù)地運(yùn)行以執(zhí)行諸如 網(wǎng)路控制的連續(xù)的或周期性的全系統(tǒng)的功能或者執(zhí)行任一期望的任務(wù)。在一些實(shí)施例中, 一個(gè)或多個(gè)守護(hù)服務(wù)218運(yùn)行在用戶空間202中,而在其它實(shí)施例中,一個(gè)或多個(gè)守護(hù)服務(wù) 218運(yùn)行在內(nèi)核空間中。
現(xiàn)在參考圖2B,描述了設(shè)備200的另一個(gè)實(shí)施例??偟膩?lái)說,設(shè)備200提供下列 服務(wù)、功能或操作中的一個(gè)或多個(gè)用于一個(gè)或多個(gè)客戶機(jī)102以及一個(gè)或多個(gè)服務(wù)器106 之間的通信的SSL VPN連通性280、交換/負(fù)載平衡284、域名服務(wù)解析286、加速288和應(yīng) 用防火墻290。每個(gè)服務(wù)器106可以提供一個(gè)或多個(gè)網(wǎng)絡(luò)相關(guān)的服務(wù)270a-270n (稱為服務(wù) 270)。例如,服務(wù)器106可以提供HTTP服務(wù)270。設(shè)備200包括一個(gè)或多個(gè)虛擬服務(wù)器或 虛擬網(wǎng)際協(xié)議服務(wù)器,其被稱為VSerVer、VIP服務(wù)器或僅僅稱為VIP 275a-275n (此處也被 稱為vServer 275)。vServer 275根據(jù)設(shè)備200的配置和操作來(lái)接收、攔截或者以其他方 式處理客戶機(jī)102和服務(wù)器106之間的通信。vServer 275可以包括軟件、硬件或軟件和硬件的任一組合。vServer275可以包 括在設(shè)備200中的用戶模式202、內(nèi)核模式204中或其任一組合中操作的任一類型和形式的 程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令。vServer 275包括任一邏輯、功能、規(guī)則或操作以執(zhí) 行此處所描述的技術(shù)的任一實(shí)施例,例如SSL VPN 280、交換/負(fù)載平衡284、域名服務(wù)解析 286、加速288和應(yīng)用防火墻290。在一些實(shí)施例中,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ù)庫(kù)服務(wù)器。在一些實(shí)施例中,服務(wù)270是用于監(jiān)聽、接收和/或 發(fā)送用于諸如電子郵件、數(shù)據(jù)庫(kù)或企業(yè)應(yīng)用的應(yīng)用的通信的守護(hù)進(jìn)程或網(wǎng)絡(luò)驅(qū)動(dòng)程序。在 一些實(shí)施例中,服務(wù)270可以在一個(gè)特定IP地址或IP地址和端口上進(jìn)行通信。在一些實(shí)施例中,vServer 275將策略引擎236的一個(gè)或多個(gè)策略應(yīng)用到客戶機(jī) 102和服務(wù)器106之間的網(wǎng)絡(luò)通信。在一個(gè)實(shí)施例中,策略與VServer 275有關(guān)。在另一個(gè) 實(shí)施例中,策略基于一個(gè)用戶或一組用戶。在又一個(gè)實(shí)施例中,策略是全局的并且應(yīng)用到一 個(gè)或多個(gè)vSerVerS275a-275n以及經(jīng)由設(shè)備200通信的任一用戶或用戶組。在一些實(shí)施例 中,策略引擎的策略有條件,在所述條件時(shí)根據(jù)諸如網(wǎng)際協(xié)議地址、端口、協(xié)議類型、報(bào)頭或 分組中的字段的通信的任一內(nèi)容或者諸如用戶、用戶組、vServer 275、傳輸層連接和/或 客戶機(jī)102或服務(wù)器106的標(biāo)識(shí)或?qū)傩缘耐ㄐ派舷挛膩?lái)應(yīng)用策略。在其它實(shí)施例中,設(shè)備200與策略引擎236通信或連接以確定對(duì)遠(yuǎn)程用戶或遠(yuǎn)程 客戶機(jī)102訪問服務(wù)器106的計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件的驗(yàn)證和/或授權(quán)。在另 一個(gè)實(shí)施例中,設(shè)備200與策略引擎236通信或連接以確定對(duì)遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102 的驗(yàn)證和/或授權(quán),以使應(yīng)用遞送系統(tǒng)190遞送計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件的一個(gè)或 多個(gè)。在又一個(gè)實(shí)施例中,設(shè)備200根據(jù)策略引擎236對(duì)遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)103的驗(yàn) 證和/或授權(quán)來(lái)建立VPN或SSL VPN連接。在一個(gè)實(shí)施例中,設(shè)備102根據(jù)策略引擎236 的策略來(lái)控制網(wǎng)絡(luò)業(yè)務(wù)量和通信會(huì)話的流量。例如,設(shè)備200可以根據(jù)策略引擎236來(lái)控 制對(duì)計(jì)算環(huán)境15、應(yīng)用或數(shù)據(jù)文件的訪問。在一些實(shí)施例中,vServer 275建立諸如經(jīng)由客戶機(jī)代理120與客戶機(jī)102的TCP 或UDP連接的傳輸層連接。在一個(gè)實(shí)施例中,vServer 275監(jiān)聽并接收來(lái)自于客戶機(jī)102 的通信。在其它實(shí)施例中,vServer 275與客戶服務(wù)器106建立諸如TCP或UDP連接的傳 輸層連接。在一個(gè)實(shí)施例中,vServer 275建立到運(yùn)行在服務(wù)器106上的服務(wù)器270的網(wǎng) 際協(xié)議地址和端口的傳輸層連接。在另一個(gè)實(shí)施例中,vServer 275將到客戶機(jī)102的第 一傳輸層連接與到服務(wù)器106的第二傳輸層連接關(guān)聯(lián)起來(lái)。在一些實(shí)施例中,vServer 275建立到服務(wù)器106的傳輸層連接池并多路復(fù)用經(jīng)由所述池化的傳輸層連接的客戶機(jī)請(qǐng)求。在一些實(shí)施例中,設(shè)備200提供在客戶機(jī)102和服務(wù)器106之間的SSL VPN連接 280。例如,第一網(wǎng)絡(luò)104上的客戶機(jī)102請(qǐng)求建立到第二網(wǎng)絡(luò)104'上的服務(wù)器106的連 接。在一些實(shí)施例中,第二網(wǎng)絡(luò)104'是不可從第一網(wǎng)絡(luò)104路由的。在其它實(shí)施例中,客 戶機(jī)102在公用網(wǎng)104上,而服務(wù)器106在諸如公司網(wǎng)的專用網(wǎng)104'上。在一個(gè)實(shí)施例 中,客戶機(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提供在兩個(gè)網(wǎng)絡(luò) 104和104'之間用于客戶機(jī)102的端到端安全傳輸層連接。虛擬專用網(wǎng)絡(luò)(VPN)可以是使用諸如因特網(wǎng)的公用電信基礎(chǔ)架構(gòu)來(lái)為遠(yuǎn)程客戶 機(jī)、服務(wù)器或者其它通信裝置提供諸如從公用網(wǎng)絡(luò)到專用網(wǎng)絡(luò)的訪問或者連接的任一網(wǎng) 絡(luò)。虛擬專用網(wǎng)絡(luò)(VPN)是使用諸如因特網(wǎng)的公用電信基礎(chǔ)架構(gòu)來(lái)為遠(yuǎn)程用戶提供對(duì)企業(yè) 或者專用網(wǎng)絡(luò)的訪問的方法。在一些實(shí)施例中,該訪問經(jīng)由加密或者隧穿是安全的。在一 些實(shí)施例中,此處描述的中間設(shè)備提供從客戶機(jī)的第一網(wǎng)絡(luò)到服務(wù)器的第二網(wǎng)絡(luò)的安全虛 擬專用網(wǎng)絡(luò)連接。安全套接字層(SSL)VPN可以使用SSL或者TLS或者任一其它類型和形式的安全 協(xié)議來(lái)建立具有安全級(jí)的連接。在一些實(shí)施例中,SSL VPN可以使用任意類型和形式的加 密用于建立或者維持安全訪問。SSL VPN可以經(jīng)由諸如使用HTTPS(安全超文本傳輸協(xié)議) 的瀏覽器來(lái)建立和/或訪問。SSL VPN可以通過支持SSL的瀏覽器或者應(yīng)用來(lái)建立或者提{共??梢酝ㄟ^使用基于客戶機(jī)或者免客戶機(jī)的方法來(lái)建立或者提供SSLVPN連接或者 會(huì)話?;诳蛻魴C(jī)的SSL VPN可以使用任一類型和形式客戶機(jī)代理或者客戶機(jī)102上任一 軟件相關(guān)的代理,來(lái)建立SSL VPN連接或者會(huì)話。例如,可以經(jīng)由下載到客戶機(jī)的SSL VPN 客戶機(jī)代理來(lái)提供基于客戶機(jī)的SSL VPN,諸如從設(shè)備下載的??蛻魴C(jī)代理可以被設(shè)計(jì)并且 配置為在客戶機(jī)和設(shè)備或者服務(wù)器之間建立和提供SSL VPN功能性、連接和訪問。免客戶機(jī)SSL VPN可以是不使用下載并安裝到客戶機(jī)102的SSL VPN客戶機(jī)代 理、軟件或者程序來(lái)建立SSL VPN連接或者會(huì)話的任一 SSL VPN0在一些實(shí)施例中,免客戶 機(jī)SSL VPN可以是不需要客戶機(jī)102來(lái)安裝或者執(zhí)行被設(shè)計(jì)和構(gòu)成為提供SSL VPN功能性 的預(yù)定軟件或者可執(zhí)行文件以建立和另一個(gè)網(wǎng)絡(luò)裝置的SSL VPN連接的任一 SSL VPN0在 一些實(shí)施例中,經(jīng)由不下載或者不需要使用VPN或者SSL VPN客戶機(jī)代理的SSL使能的瀏 覽器來(lái)建立免客戶機(jī)SSL VPN0免客戶機(jī)SSL VPN連接或者會(huì)話可以使用標(biāo)準(zhǔn)瀏覽器或者 應(yīng)用的協(xié)議和通信,諸如SSL使能的瀏覽器。免客戶機(jī)SSL VPN連接或者會(huì)話可以通過此 處描述的在第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)之間翻譯、重寫或者轉(zhuǎn)換請(qǐng)求和響應(yīng)的內(nèi)容的中間設(shè)備或 者應(yīng)用來(lái)提供。在一個(gè)實(shí)施例中,設(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)識(shí)符。當(dāng)經(jīng)由設(shè)備200連接到第二網(wǎng)絡(luò)104'時(shí),設(shè)備200在第二網(wǎng)絡(luò)104'上為客戶機(jī)102建立、分配或者以其他方式提供內(nèi)聯(lián)網(wǎng)IP,其是諸如IP地址和 /或主機(jī)名稱的網(wǎng)絡(luò)標(biāo)識(shí)符。使用客戶機(jī)建立的內(nèi)聯(lián)網(wǎng)IP 282,設(shè)備200在第二或?qū)S镁W(wǎng) 104'上監(jiān)聽并接收指向客戶機(jī)102的任一通信。在一個(gè)實(shí)施例中,設(shè)備200在第二專用網(wǎng) 104上充當(dāng)或代表客戶機(jī)102。例如,在另一個(gè)實(shí)施例中,vServer 275監(jiān)聽并響應(yīng)到客戶 機(jī)102的內(nèi)聯(lián)網(wǎng)IP 282的通信。在一些實(shí)施例中,如果第二網(wǎng)絡(luò)104'上的計(jì)算裝置100 發(fā)送請(qǐng)求,則設(shè)備200處理所述請(qǐng)求,就像它是客戶機(jī)102 —樣。例如,設(shè)備200可以響應(yīng) 到客戶機(jī)的內(nèi)聯(lián)網(wǎng)IP 282的查驗(yàn)。在另一個(gè)實(shí)例中,設(shè)備可以與第二網(wǎng)絡(luò)104上的請(qǐng)求與 客戶機(jī)的內(nèi)聯(lián)網(wǎng)IP 282連接的計(jì)算裝置100建立諸如TCP或UDP連接的連接。在一些實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供下列一個(gè) 或多個(gè)加速技術(shù)288 1)壓縮;2)解壓縮;3)傳輸控制協(xié)議池;4)傳輸控制協(xié)議多路復(fù)用; 5)傳輸控制協(xié)議緩沖;以及6)高速緩存。在一個(gè)實(shí)施例中,設(shè)備200通過打開與每個(gè)服務(wù) 器106的一個(gè)或多個(gè)傳輸層連接并維持這些連接以允許客戶機(jī)經(jīng)由因特網(wǎng)的重復(fù)數(shù)據(jù)訪 問來(lái)減輕服務(wù)器106的由反復(fù)打開和關(guān)閉到客戶機(jī)102的傳輸層連接所造成的大量處理負(fù) 載。這個(gè)技術(shù)在這里被稱為“連接池”。在一些實(shí)施例中,為了經(jīng)由池化的傳輸層連接來(lái)無(wú)縫接合從客戶機(jī)102到服務(wù)器 106的通信,設(shè)備200通過在傳輸層協(xié)議級(jí)修改序號(hào)和確認(rèn)號(hào)來(lái)轉(zhuǎn)換或多路復(fù)用通信。這 被稱為“連接多路復(fù)用”。在一些實(shí)施例中,不需要應(yīng)用層協(xié)議相互作用。例如,在到來(lái)分組 (即,自客戶機(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接收的一個(gè)分組)的情況中,源網(wǎng)絡(luò)地址被從服務(wù)器106的網(wǎng)絡(luò)地址改變?yōu)樵O(shè) 備200的輸出端口的網(wǎng)絡(luò)地址,而目的地址被從設(shè)備200的網(wǎng)絡(luò)地址改變?yōu)檎?qǐng)求的客戶機(jī) 102的網(wǎng)絡(luò)地址。所述分組的序號(hào)和確認(rèn)號(hào)也被轉(zhuǎn)換為到客戶機(jī)102的設(shè)備200的傳輸層 連接上的客戶機(jī)102所期待的序號(hào)和確認(rèn)。在一些實(shí)施例中,傳輸層協(xié)議的分組校驗(yàn)和被 重新計(jì)算以解釋這些轉(zhuǎn)換。在另一個(gè)實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供交換或 負(fù)載平衡功能284。在一些實(shí)施例中,設(shè)備200根據(jù)層4或應(yīng)用層請(qǐng)求數(shù)據(jù)來(lái)分配業(yè)務(wù)量并 將客戶機(jī)請(qǐng)求指向服務(wù)器106。在一個(gè)實(shí)施例中,雖然網(wǎng)絡(luò)分組的網(wǎng)絡(luò)層或?qū)?標(biāo)識(shí)了目的 服務(wù)器106,但設(shè)備200通過作為傳輸層分組的有效載荷而攜帶的應(yīng)用信息和數(shù)據(jù)來(lái)確定 服務(wù)器106以分配網(wǎng)絡(luò)分組。在一個(gè)實(shí)施例中,設(shè)備200的健康監(jiān)測(cè)程序216監(jiān)控服務(wù)器 的健康以確定為其分配客戶機(jī)的請(qǐng)求的服務(wù)器106。在一些實(shí)施例中,如果設(shè)備200探測(cè)到 服務(wù)器106不可用或具有超過預(yù)定閾值的負(fù)載,則設(shè)備200可以將客戶機(jī)請(qǐng)求指向或分配 到另一個(gè)服務(wù)器106。在一些實(shí)施例中,設(shè)備200充當(dāng)域名服務(wù)(DNS)解析器或者以其他方式提供對(duì)來(lái) 自于客戶機(jī)102的DNS請(qǐng)求的解析。在一些實(shí)施例中,設(shè)備攔截由客戶機(jī)102發(fā)送的DNS 請(qǐng)求。在一個(gè)實(shí)施例中,設(shè)備200響應(yīng)具有設(shè)備200的IP地址或由設(shè)備200寄載的IP地 址的客戶機(jī)的DNS請(qǐng)求。在該實(shí)施例中,客戶機(jī)102把給域名的網(wǎng)絡(luò)通信發(fā)送到設(shè)備200。 在另一個(gè)實(shí)施例中,設(shè)備200響應(yīng)具有第二設(shè)備200'的IP地址或由第二設(shè)備200'寄載 的IP地址的客戶機(jī)的DNS請(qǐng)求。在一些實(shí)施例中,設(shè)備200響應(yīng)具有由設(shè)備200確定的服 務(wù)器106的IP地址的客戶機(jī)的DNS請(qǐng)求。
在又一個(gè)實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供應(yīng)用防 火墻功能290。在一個(gè)實(shí)施例中,策略引擎236提供用于檢測(cè)和阻塞非法請(qǐng)求的規(guī)則。在一 些實(shí)施例中,應(yīng)用防火墻290防止拒絕服務(wù)(DoS)攻擊。在其它實(shí)施例中,設(shè)備檢查被攔截 的請(qǐng)求的內(nèi)容以識(shí)別和阻塞基于應(yīng)用的攻擊。在一些實(shí)施例中,規(guī)則/策略引擎236包括 用于提供對(duì)多個(gè)種類和類型的基于web或因特網(wǎng)的脆弱點(diǎn)的保護(hù)的一個(gè)或多個(gè)應(yīng)用防火 墻或安全控制策略,例如下列的一個(gè)或多個(gè)1)緩沖器溢出,2)CGI-BIN參數(shù)操縱,3)格式/ 隱藏字段操縱,4)強(qiáng)制瀏覽,5) cookie或會(huì)話中毒,6)破譯的訪問控制表(ACLs)或弱的口 令,7)跨站點(diǎn)的腳本(XSS),8)命令注入,9) SQL注入,10)錯(cuò)誤觸發(fā)敏感信息泄漏,11)加密 技術(shù)的不安全使用,12)服務(wù)器誤配置,13)后門和調(diào)試選擇,14)web站點(diǎn)毀損,15)平臺(tái)或 操作系統(tǒng)的脆弱點(diǎn),以及16)零天攻擊。在一個(gè)實(shí)施例中,對(duì)下列情況的一種或多種,應(yīng)用 防火墻290以檢查或分析網(wǎng)絡(luò)通信的形式來(lái)提供HTML格式字段的保護(hù)1)返回所需的字 段,2)不允許附加字段,3)只讀和隱藏字段強(qiáng)制(enforcement),4)下拉列表和單選按鈕字 段的一致,以及5)格式字段最大長(zhǎng)度強(qiáng)制。在一些實(shí)施例中,應(yīng)用防火墻290確保cookies 不被修改。在其它實(shí)施例中,應(yīng)用防火墻290通過強(qiáng)制實(shí)施合法URL來(lái)防止強(qiáng)制瀏覽。還是在其它實(shí)施例中,應(yīng)用防火墻290保護(hù)在網(wǎng)絡(luò)通信中包含的任一機(jī)密信息。 應(yīng)用防火墻290可以根據(jù)引擎236的規(guī)則或策略來(lái)檢查或分析任一網(wǎng)絡(luò)通信以識(shí)別網(wǎng)絡(luò)分 組的任一字段中的任一機(jī)密信息。在一些實(shí)施例中,應(yīng)用防火墻290在網(wǎng)絡(luò)通信中識(shí)別信 用卡號(hào)、口令、社會(huì)保險(xiǎn)號(hào)、姓名、病人代碼、聯(lián)系信息和年齡的一次或多次出現(xiàn)。網(wǎng)絡(luò)通信 的編碼部分可以包括這些出現(xiàn)或機(jī)密信息。在一個(gè)實(shí)施例中,根據(jù)這些出現(xiàn),應(yīng)用防火墻 290可以對(duì)網(wǎng)絡(luò)通信采取策略行動(dòng),例如阻止網(wǎng)絡(luò)通信的發(fā)送。在另一個(gè)實(shí)施例中,應(yīng)用防 火墻290可以重寫、移除或者以其他方式掩蓋這樣識(shí)別出的出現(xiàn)或機(jī)密信息。仍然參考圖2B,設(shè)備200可以包括如上面結(jié)合圖ID所討論的性能監(jiān)控代理197。 在一個(gè)實(shí)施例中,設(shè)備200從如圖ID中所描述的監(jiān)控業(yè)務(wù)198或監(jiān)控服務(wù)器106中接收監(jiān) 控代理197。在一些實(shí)施例中,設(shè)備200在諸如磁盤的存儲(chǔ)裝置中保存監(jiān)控代理197,以用 于遞送給與設(shè)備200通信的任一客戶機(jī)或服務(wù)器。例如,在一個(gè)實(shí)施例中,設(shè)備200在接收 到建立傳輸層連接的請(qǐng)求時(shí)發(fā)送監(jiān)控代理197給客戶機(jī)。在其它實(shí)施例中,設(shè)備200在建 立與客戶機(jī)102的傳輸層連接時(shí)發(fā)送監(jiān)控代理197。在另一個(gè)實(shí)施例中,設(shè)備200在攔截或 檢測(cè)對(duì)web頁(yè)面的請(qǐng)求時(shí)發(fā)送監(jiān)控代理197給客戶機(jī)。在又一個(gè)實(shí)施例中,設(shè)備200響應(yīng) 于監(jiān)控服務(wù)器198的請(qǐng)求來(lái)發(fā)送監(jiān)控代理197到客戶機(jī)或服務(wù)器。在一個(gè)實(shí)施例中,設(shè)備 200發(fā)送監(jiān)控代理197到第二設(shè)備200'或設(shè)備205。在其它實(shí)施例中,設(shè)備200執(zhí)行監(jiān)控代理197。在一個(gè)實(shí)施例中,監(jiān)控代理197測(cè) 量和監(jiān)控在設(shè)備200上執(zhí)行的任一應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或線程的性能。例如,監(jiān)控 代理197可以監(jiān)控和測(cè)量VSerVerS275A-275N的性能與操作。在另一個(gè)實(shí)施例中,監(jiān)控代 理197測(cè)量和監(jiān)控設(shè)備200的任一傳輸層連接的性能。在一些實(shí)施例中,監(jiān)控代理197測(cè) 量和監(jiān)控通過設(shè)備200的任一用戶會(huì)話的性能。在一個(gè)實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān) 控通過設(shè)備200的諸如SSL VPN會(huì)話的任一虛擬專用網(wǎng)連接和/或會(huì)話的性能。在進(jìn)一步 的實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控設(shè)備200的存儲(chǔ)器、CPU和磁盤使用以及性能。在又 一個(gè)實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控諸如SSL卸載、連接池和多路復(fù)用、高速緩存以及 壓縮的由設(shè)備200執(zhí)行的任一加速技術(shù)288的性能。在一些實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控由設(shè)備200執(zhí)行的任一負(fù)載平衡和/或內(nèi)容交換284的性能。在其它實(shí)施例中,監(jiān) 控代理197測(cè)量和監(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)境的實(shí)施例??偟膩?lái)說,客戶機(jī)102操作在計(jì)算裝置100上并且執(zhí)行通過用 戶操作的瀏覽器。客戶機(jī)102可以在第一網(wǎng)絡(luò)104上,諸如公用網(wǎng)絡(luò)??蛻魴C(jī)102上的用 戶可以經(jīng)由瀏覽器來(lái)請(qǐng)求對(duì)于第二網(wǎng)絡(luò)104’上的資源的訪問,諸如企業(yè)的專用網(wǎng)絡(luò)。設(shè)備 200為用戶提供對(duì)于所請(qǐng)求資源的免客戶機(jī)VPN訪問??蛻魴C(jī)可以不安裝、執(zhí)行或者以其他 方式執(zhí)行被構(gòu)建和/或設(shè)計(jì)來(lái)為網(wǎng)絡(luò)104’提供VPN連接性(稱為基于客戶機(jī)的VPN)的代 理、部件、程序、驅(qū)動(dòng)器或者應(yīng)用。而是,設(shè)備或者代理可以重寫來(lái)自服務(wù)器的響應(yīng)和來(lái)自客 戶機(jī)的請(qǐng)求以提供VPN功能,而不需要使用對(duì)在客戶機(jī)上操作的的VPN代理。例如,設(shè)備可 以重寫客戶機(jī)和服務(wù)器之間的統(tǒng)一資源定位符(URL),諸如通過服務(wù)器對(duì)任一內(nèi)容服務(wù)器 中的URL或者客戶機(jī)傳送的請(qǐng)求中的URL進(jìn)行重寫。設(shè)備200可以以對(duì)于客戶機(jī)和服務(wù)器 的任一者或者兩者透明并且無(wú)縫的方式重寫服務(wù)器和客戶機(jī)之間的URL。由此,客戶機(jī)、瀏 覽器或者服務(wù)器和服務(wù)器應(yīng)用不需要知曉或者了解免客戶機(jī)SSL VPN訪問方案。設(shè)備200可以經(jīng)由之前描述的SSL VPN280模塊來(lái)提供用于訪問資源的功能。在一 個(gè)實(shí)施例中,設(shè)備200通過在用于和設(shè)備200通信的客戶機(jī)102上提供、安裝或者執(zhí)行SSL VPN代理來(lái)提供基于客戶機(jī)的對(duì)網(wǎng)絡(luò)的訪問。在一些實(shí)施例中,設(shè)備200提供對(duì)資源(諸如 http/https/文件共享)的免客戶機(jī)SSL VPN訪問,而不需要下載SSL VPN客戶機(jī)或者代理 到客戶機(jī)102。例如,用戶可以期望從諸如處于機(jī)房的外部機(jī)器來(lái)訪問公司內(nèi)的資源,在該 外部機(jī)器上用戶并沒有特權(quán)來(lái)安裝客戶機(jī)或者不期望經(jīng)歷客戶機(jī)安裝過程。當(dāng)裝置(例如 市場(chǎng)上的新的PDA)不支持SSL VPN客戶機(jī)而裝置運(yùn)行的是SSL使能的瀏覽器,則免客戶機(jī) SSL VPN特征也是有用的。在其他實(shí)施例中,設(shè)備200基于策略和任一策略規(guī)則、動(dòng)作和/ 或條件來(lái)在對(duì)資源的基于客戶機(jī)和免客戶機(jī)SSL VPN訪問之間選擇用戶。客戶機(jī)可以包括任一類型和形式的用戶代理,可以是瀏覽器、編輯器、網(wǎng)絡(luò)爬蟲程 序(web穿越自動(dòng)機(jī))或者任一其它終端用戶工具或者程序。客戶機(jī)102可以包括任一類 型和形式的瀏覽器。在一個(gè)實(shí)施例中,瀏覽器是Washingtong Redmond的微軟公司制備的 任一版本的InternetExplorer(IE)。在另一個(gè)實(shí)施例中,瀏覽器是網(wǎng)景通信公司制備的任 一版本的網(wǎng)景瀏覽器。在其他實(shí)施例中,瀏覽器是稱之為Firefox并且由California的 Mozilla Foundation提供的并且在www, mozi 11a. com可以找到的任一版本的開放源瀏覽 器。在又一個(gè)實(shí)施例中,瀏覽器是NorwayOslo的Opera Software ASA制備的稱之為Opera 的任一版本的瀏覽器。在一些實(shí)施例中,客戶機(jī)102執(zhí)行或者包括任一類型或者形式的應(yīng) 用或者程序,用于顯示web頁(yè)面、web內(nèi)容、HTML、XML、CSS (層疊式樣式表)、Java腳本或者 HTTP內(nèi)容。在圖3A描述的實(shí)施例的操作中,用戶登入設(shè)備200提供的SSL VPN站點(diǎn),諸如通 過設(shè)備200寄載的域名和IP地址。例如,用戶經(jīng)由客戶機(jī)102的瀏覽器可以選擇或者輸入 URL到SSL VPN站點(diǎn)。設(shè)備200可以驗(yàn)證用戶并且還可以進(jìn)一步確定用戶訪問設(shè)備200或 者SSL VPN站點(diǎn)的授權(quán)。在成功驗(yàn)證之后,設(shè)備為客戶機(jī)提供入口頁(yè)面來(lái)經(jīng)由瀏覽器顯示給 用戶。入口頁(yè)面可以包括導(dǎo)航盒(navigation box),諸如一組一個(gè)或者多個(gè)用戶接口元件用于用戶來(lái)選擇操作或者運(yùn)行應(yīng)用。入口頁(yè)面可以包括到用戶可訪問的其它頁(yè)面或者URL 的鏈接。入口頁(yè)面上的URL或者鏈接可以索引或者識(shí)別設(shè)備200提供的SSL VPN站點(diǎn)的主 機(jī)名稱或者IP地址。用戶經(jīng)由入口頁(yè)面可以例如通過點(diǎn)擊有效超鏈接或者URL來(lái)選擇一個(gè)或者多個(gè) URL。隨之,瀏覽器或者客戶機(jī)將請(qǐng)求傳送給設(shè)備200寄載的域。例如,如圖3A中描述的, 用戶可以經(jīng)由設(shè)備請(qǐng)求服務(wù)器106的應(yīng)用“https://sslvpn. χ. com/cvpn/http/server. χ. com/app. cgi”。在一些實(shí)施例,用戶發(fā)送另一個(gè)請(qǐng)求,諸如“https://proxy, χ. com/cvpn/ http/server. χ. com/app. cgi”。設(shè)備200從客戶機(jī)102接收請(qǐng)求并且重寫該請(qǐng)求以發(fā)送給 服務(wù)器。例如,如圖3A中描述的,設(shè)備可以移除或者刪除設(shè)備所寄載的域名諸如“sslvpn. x. com"或者“proxy, χ. com"并且將請(qǐng)求的剩余部分轉(zhuǎn)發(fā)給服務(wù)器106。響應(yīng)于該請(qǐng)求,服務(wù)器將內(nèi)容發(fā)送給客戶機(jī)。響應(yīng)的內(nèi)容或者體可以包括到服務(wù) 器的其他頁(yè)面或者到網(wǎng)絡(luò)104’上的其他服務(wù)器的嵌入式鏈接或者URL,諸如到“http:// server, χ. com/app. cgi ”的嵌入式鏈接。設(shè)備重寫該首部和體來(lái)修改任一URL,以索引到SSL VPN站點(diǎn)的域名或者IP地址,使得經(jīng)由客戶機(jī)瀏覽器的任一其它URL或者鏈接選擇將請(qǐng)求 發(fā)送給設(shè)備200。設(shè)備發(fā)送修改后的內(nèi)容給客戶機(jī)102。設(shè)備200諸如經(jīng)由AppFw 290 (有 時(shí)稱之為AppSecure模塊290)可以設(shè)計(jì)并且構(gòu)建為基于策略引擎的策略來(lái)重寫請(qǐng)求和響 應(yīng)的URL。該頁(yè)面和在此SSL VPN會(huì)話期間從服務(wù)器隨后接收的其他頁(yè)面中的鏈接(URL) 由設(shè)備通過指向SSL VPN站點(diǎn)(VPNVIP 275)的鏈接和初始請(qǐng)求URL (絕對(duì)或者相對(duì))編碼 在該請(qǐng)求URL中的方式來(lái)進(jìn)行修改?,F(xiàn)在參考圖3B,描述用于提供VPN訪問以及cookie管理的VPN環(huán)境的另一個(gè)實(shí)施 例??偟膩?lái)說,設(shè)備200可以包括用于處理如此處描述的基于免客戶機(jī)和/或客戶機(jī)的任 一 SSL VPN功能性的VPN模塊280。設(shè)備和/或VPN模塊280可以具有AAA模塊來(lái)執(zhí)行任 一類型和形式的驗(yàn)證、授權(quán)和審核(AAA)和/或跟綜和管理VPN會(huì)話信息。AAA模塊還可以 執(zhí)行任一類型或者形式的VPN會(huì)話查詢來(lái)確定用于任一客戶機(jī)請(qǐng)求的VPN會(huì)話。VPN模塊 還可以執(zhí)行URL譯碼并且將URL轉(zhuǎn)換為服務(wù)器格式,諸如用來(lái)提交給專用網(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存儲(chǔ)裝置,稱之為cookie存儲(chǔ)器(jar)。Cookie管理器或者代理可以包括在cookie 存儲(chǔ)器中通過請(qǐng)求和/或響應(yīng)的URL、域名或者其他信息來(lái)保存和查詢cookie信息的功能、 邏輯或者運(yùn)算。在一些實(shí)施例中,設(shè)備200代表不支持cookie、停用的cookie的客戶機(jī)或 者對(duì)于期望或優(yōu)選不發(fā)送cookie給客戶機(jī)的情況中管理cookie。設(shè)備還可以包括AppFW 280,其在Citrix System公司制備的設(shè)備的情況下稱為 AppSecure0 AppSecure 280模塊可以包括用于執(zhí)行任一類型和形式的內(nèi)容重寫,諸如URL 重寫的邏輯、功能或運(yùn)算。在一些實(shí)施例中,AppSecure 280模塊執(zhí)行到客戶機(jī)和服務(wù)器 之間的請(qǐng)求和/或響應(yīng)的任一類型和形式的內(nèi)容注入。在一些實(shí)施例中,AppSecure模塊 280將腳本插入到對(duì)客戶機(jī)的響應(yīng)中,諸如Java腳本,來(lái)執(zhí)行任一類型和形式的期望的功 能性。用于免客戶機(jī)SSL VPN訪問的設(shè)備200的任一部件可以響應(yīng)于配置或者通過配置驅(qū)動(dòng),諸如經(jīng)由策略引擎的任意一個(gè)或者多個(gè)策略。策略可以指導(dǎo)和確定通過VPN模塊執(zhí) 行的URL編碼和譯碼的類型和形式。在一些實(shí)施例中,策略可以指導(dǎo)和確定cookie代理如 何并且何時(shí)管理和代理cookie。在其他實(shí)施例中,策略可以指導(dǎo)并且確定AppSecure模塊 如何并且何時(shí)執(zhí)行URL重寫和/或內(nèi)容注入。策略可以指導(dǎo)用戶訪問專用網(wǎng)絡(luò)和專用網(wǎng)絡(luò) 上的應(yīng)用的方式。策略可根據(jù)訪問方案配置,該訪問方案可以包括基于用戶、客戶機(jī)的類型 和形式、網(wǎng)絡(luò)的類型和形式、訪問資源的類型、所使用應(yīng)用的類型、暫時(shí)信息以及可以通過 設(shè)備經(jīng)由傳輸?shù)降木W(wǎng)絡(luò)業(yè)務(wù)量來(lái)確定的任一信息的任一組合的訪問。參考圖3B,討論經(jīng)由設(shè)備200用于免客戶機(jī)SSL VPN訪問的包流。響應(yīng)于成功的 登入請(qǐng)求,VPN設(shè)備可以發(fā)送入口頁(yè)面給登入請(qǐng)求的發(fā)送者。入口頁(yè)面可以具有結(jié)合圖3A 描述的“vpn編碼格式”的一個(gè)或者多個(gè)鏈接。入口頁(yè)面流經(jīng)以下描述的響應(yīng)碼路徑。當(dāng)用 戶點(diǎn)擊入口頁(yè)面中的任一 URL時(shí),包流可以以多種方式并且使用多個(gè)步驟來(lái)執(zhí)行。在一些 實(shí)施例中,對(duì)于步驟Ql的請(qǐng)求路徑,設(shè)備200可以接收URL請(qǐng)求并且查詢AAA模塊中的VPN 會(huì)話。在步驟Q2,設(shè)備可以將VPN編碼的URL譯碼為期望的URL用于服務(wù)器或者網(wǎng)絡(luò)104’。 設(shè)備還可以將請(qǐng)求的首部(諸如首部值)修改為服務(wù)器格式或者意于通過服務(wù)器106傳輸 和使用的格式,諸如HTTP服務(wù)器。設(shè)備可以重新解析首部,使得設(shè)備的任一其它模塊以服 務(wù)器格式查看該請(qǐng)求。在步驟Q3,在請(qǐng)求路徑中,設(shè)備經(jīng)由cookie管理器或者代理可以基 于URL的域和路徑來(lái)查看用于該請(qǐng)求的cookie。在一些情況中,如果該請(qǐng)求包括cookie, 則該設(shè)備可以從cookie存儲(chǔ)器插入cookie。在步驟Q4,設(shè)備可以經(jīng)由設(shè)備的DNS查詢功 能/模塊來(lái)將以URL中的服務(wù)器的域名解析為服務(wù)器的IP地址。設(shè)備可以基于AAA模塊 中的DNS查詢來(lái)建立服務(wù)器信息。此外,可以評(píng)估授權(quán)策略來(lái)確定該請(qǐng)求是否可以傳送給 服務(wù)器。在步驟Q5,設(shè)備可以將請(qǐng)求發(fā)送給服務(wù)器。在一些實(shí)施例中,只有在授權(quán)成功的情 況下,設(shè)備才將該請(qǐng)求發(fā)送給服務(wù)器。在從服務(wù)器經(jīng)由設(shè)備到客戶機(jī)的響應(yīng)路徑中,在步驟Si,設(shè)備可以接收來(lái)自服務(wù) 器的響應(yīng)。VPN模塊280可以處理該響應(yīng)。VPN模塊可以將該響應(yīng)首部傳遞到cookie代理 模塊并且將響應(yīng)體傳遞到AppSecure模塊。在步驟S2,cookie代理可以從響應(yīng)的首部移除 未被配置或者以其它方式識(shí)別為客戶機(jī)所消耗cookie的cookie并且將它們保存在當(dāng)前會(huì) 話所使用的cookie存儲(chǔ)器中。在步驟S3,AppSecure模塊可以根據(jù)重寫策略來(lái)重寫“vpn 編碼形式”的任一 URL。AppSecure模塊還可以將任一腳本插入響應(yīng)體中,諸如要在客戶機(jī) 側(cè)執(zhí)行的Java腳本代碼。在步驟S4,設(shè)備可以發(fā)送修改后的響應(yīng)給客戶機(jī)。在許多實(shí)施例 中,任一個(gè)Q或者S步驟以任一順序或者以與此處所描述的任一其它步驟或者實(shí)施例的任 一組合進(jìn)行。D、用于配置和細(xì)粒度策略驅(qū)動(dòng)WEB內(nèi)容檢測(cè)和重寫的系統(tǒng)和方法現(xiàn)在參考圖4,描述用于配置和策略驅(qū)動(dòng)web內(nèi)容檢測(cè)和重寫的系統(tǒng)的視圖???的來(lái)說,該系統(tǒng)包括和設(shè)備200通信的客戶機(jī)102。在一個(gè)實(shí)施例中,設(shè)備200包括策略引 擎236、SSL VPN模塊280、URL重寫器430和數(shù)據(jù)庫(kù)440。在另一個(gè)實(shí)施例中,策略引擎還 包括免客戶機(jī)策略405,基于客戶機(jī)策略410和一個(gè)或者多個(gè)訪問配置文件415A-415N(總 的稱為訪問配置文件415)。設(shè)備200和服務(wù)器106相通信。在一個(gè)實(shí)施例中,一個(gè)或者多 個(gè)應(yīng)用420a-420n(總的稱為應(yīng)用420)在一個(gè)或者多個(gè)服務(wù)器106上執(zhí)行??蛻魴C(jī)102傳 送URL請(qǐng)求401,該請(qǐng)求在設(shè)備200處被攔截。設(shè)備200修改該請(qǐng)求401并且將修改的請(qǐng)求401,轉(zhuǎn)發(fā)給服務(wù)器106。在一個(gè)實(shí)施例中,由客戶機(jī)102傳送的請(qǐng)求401包括設(shè)備提供的SSLVPN站點(diǎn)的 URL鏈路。在另一個(gè)實(shí)施例中,請(qǐng)求401是對(duì)于SSL VPN的外部站點(diǎn)的URL請(qǐng)求。在另一個(gè) 實(shí)施例中,請(qǐng)求401包括要求訪問SSL VPN的驗(yàn)證數(shù)據(jù)。在又一個(gè)實(shí)施例中,響應(yīng)于用戶在 成功驗(yàn)證到SSL VPN之后訪問在客戶機(jī)處接收的入口頁(yè)面上的鏈路來(lái)傳送該請(qǐng)求401。在 一些實(shí)施例中,請(qǐng)求401包括用于以下一個(gè)或者多個(gè)的URL :web頁(yè)面、靜態(tài)圖像、動(dòng)態(tài)圖像、 音頻文件和視頻文件。在一些實(shí)施例中,請(qǐng)求401包括訪問保存在安全網(wǎng)絡(luò)上的一個(gè)或者 多個(gè)服務(wù)器106上的資源、應(yīng)用或者服務(wù)的URL。該請(qǐng)求可以包括用于訪問資源、應(yīng)用或者 服務(wù)的URL,該URL與正被訪問的服務(wù)器106所識(shí)別或者接受的URL不同但相關(guān)聯(lián)。在一些 實(shí)施例中,來(lái)自客戶機(jī)102的請(qǐng)求在轉(zhuǎn)發(fā)給服務(wù)器106前被重寫、修改或者轉(zhuǎn)換。在一些實(shí)施例中,包括在請(qǐng)求401中的URL的一般形式可以是< 方案名稱 >:〈分 級(jí)部分>[? <查詢>][#<片段 >];方案名稱通常識(shí)別和URL相關(guān)聯(lián)的協(xié)議。方案名稱可 以包括但不限于以下內(nèi)容http (超文本傳輸協(xié)議)、https (安全http)、aaa (直徑協(xié)議)、 aaas (安全aaa)、dns (域名系統(tǒng))、imap (因特網(wǎng)消息訪問協(xié)議)、ftp (文件傳輸協(xié)議)、 Idap (輕量級(jí)目錄訪問協(xié)議)、news (新聞組協(xié)議)、telnet (電信網(wǎng)絡(luò)協(xié)議)、nntp (網(wǎng)絡(luò) 新聞傳輸協(xié)議)、和pop (郵局協(xié)議)。URL可以包括和任意類型和形式的URL的一部分或 者 URL 相關(guān)的文本,諸如"http://www. xyz. com/xyz/xyzpage. htm,,或者"ftp"ftp. xyz. com/xyz/xyztext. txt,,,‘‘Idap://[1985:db8: : 7} /f = GB objectClass ? one,,。分級(jí)部分本質(zhì)上期望持有分級(jí)的標(biāo)識(shí)信息。在一個(gè)實(shí)施例中,分級(jí)部分開始為雙 正斜線(“//”),之后是權(quán)限部分。在一些實(shí)施例中,分級(jí)部分包括定位網(wǎng)絡(luò)上資源的路徑 信息。在另一個(gè)實(shí)施例中,權(quán)限部分包括主機(jī)名稱。在又一個(gè)實(shí)施例中,權(quán)限部分包括以
結(jié)束的可選用戶信息部分(例如用戶名密碼@)。在一個(gè)實(shí)施例中,查詢部分包括實(shí)際 上不分級(jí)的信息。在另一個(gè)實(shí)施例中,片段部分包括允許次級(jí)資源的間接識(shí)別的附加識(shí)別 fn息ο設(shè)備200可以攔截URL請(qǐng)求401并且將該請(qǐng)求傳遞給SSL VPN模塊280。在一個(gè) 實(shí)施例中,和策略引擎236通信的SSL VPN模塊280確定是否重寫URL。在一些實(shí)施例中, URL重寫策略可以配置為提供期望的粒度。在具有較細(xì)水平粒度的其中一個(gè)實(shí)施例中,SSL VPN模塊280響應(yīng)于策略引擎236提供的策略來(lái)決定請(qǐng)求訪問SSL VPN的客戶機(jī)102是允 許免客戶機(jī)訪問還是允許基于客戶機(jī)的訪問。在一些實(shí)施例中,SSL VPN模塊基于策略405 或者410的一個(gè)或者多個(gè)條件來(lái)決定免客戶機(jī)訪問或者基于客戶機(jī)訪問。在其中一個(gè)這樣 的實(shí)施例中,客戶機(jī)102可以是不允許用戶下載SSL VPN客戶機(jī)的機(jī)器。在另一個(gè)這樣的實(shí) 施例中,客戶機(jī)102是不支持SSL VPN客戶機(jī)但可以運(yùn)行SSL使能的瀏覽器的裝置。在另 一個(gè)這樣的實(shí)施例中,SSL VPN模塊280可以執(zhí)行端點(diǎn)掃描來(lái)基于以下的一個(gè)或者多個(gè)來(lái) 確定客戶機(jī)102不支持基于客戶機(jī)的策略410 不兼容的操作系統(tǒng)、防火墻和反病毒軟件。在一些實(shí)施例中,設(shè)備200基于該請(qǐng)求401的任意部分來(lái)識(shí)別策略。請(qǐng)求401可以 包括指示或者協(xié)助指示設(shè)備200將識(shí)別或者選擇的策略的部分。在一些實(shí)施例中,設(shè)備200 基于網(wǎng)絡(luò)包的首部來(lái)識(shí)別策略。在其他實(shí)施例中,設(shè)備200基于網(wǎng)絡(luò)包的載荷部分識(shí)別策 略。在其他實(shí)施例中,設(shè)備200基于另一個(gè)策略來(lái)識(shí)別策略。在一個(gè)實(shí)施例中,設(shè)備200可 以基于所識(shí)別的策略來(lái)充當(dāng)透明代理。在一些實(shí)施例中,設(shè)備200在策略間切換以根據(jù)網(wǎng)
32絡(luò)的安全條件授權(quán)免客戶機(jī)或者基于客戶機(jī)的訪問。通過示例,在一個(gè)實(shí)施例中,設(shè)備200 可以識(shí)別策略以在沒有檢測(cè)到反病毒軟件或者防火墻存在時(shí)授權(quán)免客戶機(jī)訪問,而一旦檢 測(cè)到反病毒軟件或者防火墻可運(yùn)行時(shí)就切換到基于客戶機(jī)的模式。設(shè)備200可基于來(lái)自請(qǐng)求的任意細(xì)節(jié)、信息或者指示來(lái)識(shí)別策略。在一些實(shí)施例 中,設(shè)備200基于已經(jīng)發(fā)送請(qǐng)求的客戶機(jī)102上的用戶來(lái)識(shí)別策略。例如,用戶可以被指定 為使用免客戶機(jī)的SSL VPN會(huì)話而不是基于客戶機(jī)的SSL VPN會(huì)話,或者與之相反。在進(jìn) 一步的實(shí)施例中,設(shè)備200基于客戶機(jī)102已經(jīng)從服務(wù)器106請(qǐng)求的應(yīng)用、資源或者服務(wù)來(lái) 識(shí)別策略。例如,客戶機(jī)僅使用基于客戶機(jī)或者免客戶機(jī)的SSL VPN會(huì)話來(lái)訪問一些應(yīng)用。 在進(jìn)一步的實(shí)施例中,設(shè)備200基于關(guān)于客戶機(jī)102的信息來(lái)識(shí)別策略。關(guān)于客戶機(jī)的信 息可以包括客戶機(jī)和服務(wù)器106或者相關(guān)服務(wù)器交互的歷史、客戶機(jī)訪問服務(wù)器106上特 定資源的許可、客戶機(jī)訪問服務(wù)器106上特定資源的驗(yàn)證或者與客戶機(jī)和服務(wù)器交互相關(guān) 的任意其它信息。在一些實(shí)施例中,設(shè)備200基于客戶機(jī)102正訪問的服務(wù)器106來(lái)識(shí)別 策略。例如,一些服務(wù)器可以使用或者提供基于客戶機(jī)的SSL VPN會(huì)話,而其他服務(wù)器可以 使用或者提供免客戶機(jī)的SSL VPN會(huì)話。在一些實(shí)施例中,策略的識(shí)別是基于和請(qǐng)求401 相關(guān)的網(wǎng)絡(luò)包的任意部分。在一些實(shí)施例中,設(shè)備200基于一個(gè)或者多個(gè)正則表達(dá)式或者 RegEx來(lái)識(shí)別策略。在進(jìn)一步的實(shí)施例中,客戶機(jī)的請(qǐng)求和任意數(shù)量個(gè)RegEx相匹配或者比 較,該任意數(shù)量個(gè)RegEx可以包括用于識(shí)別策略或者識(shí)別特定URL或者請(qǐng)求的一部分的任 意數(shù)量個(gè)字符、串、一部分文本或者一部分URL?;诳蛻魴C(jī)的部分請(qǐng)求和RegEx的匹配或 者比較結(jié)果,設(shè)備200可以識(shí)別策略。在一個(gè)實(shí)施例中,免客戶機(jī)策略405可以配置為提供期望水平的粒度。在一個(gè)實(shí) 施例中,免客戶機(jī)策略405可以基于用戶配置文件來(lái)配置。在另一個(gè)實(shí)施例中,策略405可 以基于用戶或者用戶組來(lái)配置。在一些實(shí)施例中,策略可以基于網(wǎng)絡(luò)類型、IP地址或者請(qǐng) 求類型中的一個(gè)或者多個(gè)來(lái)配置。在一些實(shí)施例中,策略405可以基于客戶機(jī)所請(qǐng)求或者 訪問的應(yīng)用、資源或者服務(wù)來(lái)配置。在進(jìn)一步的實(shí)施例中,策略405基于其它策略來(lái)配置。 在其他實(shí)施例中,多個(gè)策略可以邏輯組合在一起。在一個(gè)實(shí)施例中,通過諸如也稱為AppSecure的AppFW 290的應(yīng)用編程接口(API) 來(lái)進(jìn)行配置。在其他實(shí)施例中,命令行接口(CLI)的命令用來(lái)配置SSL VPN的免客戶機(jī)策 略405。在其中一個(gè)這樣的實(shí)施例中,諸如以下的CLI命令用來(lái)全局配置免客戶機(jī)的SSL VPN set vpn parameter—ClientLess VpnMode on在另一個(gè)這樣的實(shí)施例中,免客戶機(jī)的SSL VPN經(jīng)由會(huì)話動(dòng)作提供更細(xì)的粒度。在 一個(gè)實(shí)施例中,以下CLI命令可以用來(lái)在會(huì)話動(dòng)作中啟用免客戶機(jī)的SSL VPN add vpn session action<actionname>-ClientLess VpnMode on在一些實(shí)施例中,免客戶機(jī)的SSL VPN策略405配置為指定URL編碼機(jī)制。在其 中一個(gè)這樣的實(shí)施例中,免客戶機(jī)策略405配置為在全局級(jí)別使用以下CLI命令來(lái)指定URL 編碼機(jī)制set vpn param-ClientLessModeUrlEncoding (opaque|transparent|encrypt)在一個(gè)實(shí)施例中,“不透明(opaque) ”模式涉及URL的主機(jī)名稱部分的編碼,使得 用戶不能在清晰文本中看到主機(jī)名稱。在另一個(gè)實(shí)施例中,“透明(transpant)”模式涉及不進(jìn)行編碼,使得用戶可以查看正在訪問哪個(gè)主機(jī)。在又一個(gè)實(shí)施例中,在“透明”模式中, 用戶可以查看URL的主機(jī)名稱和路徑信息。在又一個(gè)實(shí)施例中,“加密(encrypt)”模式涉 及對(duì)URL的一個(gè)或者多個(gè)部分進(jìn)行加密。在一個(gè)實(shí)施例中,主機(jī)名稱和路徑信息在“加密” 模式中加密。在另一個(gè)實(shí)施例中,使用對(duì)稱加密機(jī)制的會(huì)話密鑰來(lái)進(jìn)行加密。在其它實(shí)施 例中,使用本領(lǐng)域內(nèi)的普通技術(shù)人員清楚的多個(gè)加密機(jī)制來(lái)進(jìn)行加密。在一些實(shí)施例中,URL編碼機(jī)制專用于會(huì)話策略。在其中一個(gè)這樣的實(shí)施例中,URL 編碼機(jī)制可以配置專用于用戶。在另一個(gè)這樣的實(shí)施例中,URL編碼機(jī)制可以配置為專用 于一個(gè)組。在另一個(gè)這些實(shí)施例中,URL編碼機(jī)制可以配置專用于虛擬服務(wù)器(vServer)。 在一個(gè)實(shí)施例中,URL可以配置為專用于會(huì)話策略,作為會(huì)話策略的動(dòng)作中的參數(shù)。這可以 使用諸如以下的CLI命令來(lái)實(shí)現(xiàn)add vpn session action<action name>-ClientLessModeUrlEncoding(opaque|t ransparent|encrypt)在一些實(shí)施例中,在具有免客戶機(jī)策略405的免客戶機(jī)的SSL VPN中使用一個(gè)或 者多個(gè)訪問配置文件415來(lái)提供更細(xì)的粒度。在一個(gè)實(shí)施例中,訪問配置文件415包括用 于指示重寫器430的關(guān)于重寫策略的重寫標(biāo)簽。重寫策略可以包括用來(lái)重寫或者修改服務(wù) 器106或者客戶機(jī)102內(nèi)容或者傳輸中的經(jīng)過設(shè)備200的每個(gè)URL的指令。例如,用于特定 URL的重寫策略可以提供用來(lái)重寫、覆寫、修改或者增加來(lái)自客戶機(jī)102或者服務(wù)器106的 內(nèi)容的URL的任意部分的指令。在一些實(shí)施例中,重寫策略可以提供用來(lái)從客戶機(jī)102或 者服務(wù)器106的內(nèi)容排除或者去除URL的任意部分的指令。在另一個(gè)實(shí)施例中,訪問配置 文件415包括用于檢測(cè)URL的模式類(稱為patclass)。在又一個(gè)實(shí)施例中,patclass包 括或者含有正則表達(dá)式(RegEx)。正則表達(dá)式可以包括字符、數(shù)字和符號(hào)的任意組合,用來(lái) 檢測(cè)經(jīng)過設(shè)備200的一個(gè)或者多個(gè)URL。在一些實(shí)施例中,RegEx包括URL的一個(gè)或者多個(gè) 部分或者段,或者URL的部分,用來(lái)檢測(cè)服務(wù)器106發(fā)送給客戶機(jī)102的內(nèi)容中的一個(gè)或者 多個(gè)特定的URL。在進(jìn)一步的實(shí)施例中,正則表達(dá)式包括用于匹配或者檢測(cè)指定類型的內(nèi)容 中的一個(gè)或者多個(gè)URL的文本、腳本、字符和數(shù)字。該內(nèi)容可以是服務(wù)器106響應(yīng)于客戶機(jī) 102的請(qǐng)求而提供給客戶機(jī)的任意類型和形式的內(nèi)容。在又一個(gè)實(shí)施例中,RegEx包括一組 密鑰組合,以便于對(duì)搜索URL字符串的多種控制。在另一個(gè)實(shí)施例中,訪問配置文件415包 括一個(gè)或者多個(gè)patclass,該patclass包括傳遞給客戶機(jī)的cookie名稱。在一個(gè)實(shí)施例 中,訪問配置文件可以使用諸如以下的CLI命令來(lái)建立set vpn clientlessAccessProfile<profiIeName>[-URLRewritePolicyLabel<string>][-JavaScriptRewritePolicyLabel<string>][-ReqHdrRewritePolicyLabel<string>][-ResHdrRewritePolicyLabel<string>][-RegexForFindingURLinJavaScript<string>][-RegexForFindingURLinCSS<string>][-RegexForFindingURLinXComponent<string>][-RegexForFindingURLinXML<string>][-ClientConsumedCookies<string>]在另一個(gè)實(shí)施例中,訪問配置文件415鏈接到免客戶機(jī)訪問策略405來(lái)提供細(xì)粒度。在又一個(gè)實(shí)施例中,免客戶機(jī)訪問策略405使用諸如以下的CLI命令鏈接到訪問配置 文件415 add vpn clientIessAccessPolicy<policyName><rule><vpnclientIessAccessP rofile>訪問策略415在規(guī)則評(píng)估為真時(shí)選擇訪問配置文件415。在一些實(shí)施例中,訪問配置文件415和多個(gè)應(yīng)用420a-420n(總的稱為應(yīng)用420) 的一個(gè)或者多個(gè)相關(guān)聯(lián)。例如,訪問配置文件415可以配置為預(yù)定的應(yīng)用420。在一個(gè)實(shí)施 例中,可以存在配置用于一組應(yīng)用420的一個(gè)全局訪問配置文件。在另一個(gè)實(shí)施例中,每個(gè) 應(yīng)用420可以具有和其相關(guān)的單獨(dú)的訪問配置文件415。在又一個(gè)實(shí)施例中,和應(yīng)用420a 相關(guān)的訪問配置文件415用于應(yīng)用420a的所有版本。在又一個(gè)實(shí)施例中,可以存在與應(yīng)用 420a的每個(gè)版本相關(guān)的單獨(dú)的訪問配置文件。在一些實(shí)施例中,可以存在和另一個(gè)訪問配 置文件415相關(guān)的一個(gè)或者多個(gè)訪問配置文件415。在其他實(shí)施例中,訪問配置文件可以專 用于一個(gè)或者多個(gè)用戶、應(yīng)用、用戶組和應(yīng)用組。在其他實(shí)施例中,訪問配置文件415可以 根據(jù)本領(lǐng)域內(nèi)的普通技術(shù)人員清楚的期望粒度水平來(lái)配置。在一個(gè)實(shí)施例中,應(yīng)用420是包括但不限于WA. Redmond的微軟公司制造的 Outlook Web Access (OWA) 2003和OWA 2007的電子郵件應(yīng)用。在另一個(gè)實(shí)施例中,應(yīng)用420 可以是諸如WA. Redmond的微軟公司制造的Shar印oint 2007的文檔管理平臺(tái)。在其他實(shí) 施例中,應(yīng)用420可以是本領(lǐng)域內(nèi)的普通技術(shù)人員熟知的任意其它軟件或應(yīng)用。在圖4中, 所有的應(yīng)用420示為在服務(wù)器106上執(zhí)行。在其他實(shí)施例中,應(yīng)用420可以在不同服務(wù)器 上執(zhí)行。在其他實(shí)施例中,應(yīng)用420可以在邏輯組合的服務(wù)器群組的一個(gè)或者多個(gè)服務(wù)器 上執(zhí)行。在一些實(shí)施例中,SSL VPN免客戶機(jī)策略405限制到一個(gè)或者多個(gè)VPN實(shí)體。在 一個(gè)實(shí)施例中,免客戶機(jī)策略405限制到VPN全局。在另一個(gè)實(shí)施例中,免客戶機(jī)策略405 限制到VPN服務(wù)器。在又一個(gè)實(shí)施例中,免客戶機(jī)策略405限制到驗(yàn)證、授權(quán)和計(jì)費(fèi)(AAA) 協(xié)議的用戶。在又一個(gè)實(shí)施例中,免客戶機(jī)策略405限制到AAA組。在一些實(shí)施例中,免客 戶機(jī)策略405使用諸如如下的CLI命令限制到VPN實(shí)體bind<entity>-policy<clientlessAccesspolicyName>-priority<pri>在一個(gè)實(shí)施例中,SSL VPN模塊280和URL重寫器430相通信來(lái)通知URL重寫器 430關(guān)于從策略引擎236獲取的重寫策略。在另一個(gè)實(shí)施例中,URL重寫器直接和策略引 擎236相通信來(lái)獲取重寫策略。重寫策略可以包括轉(zhuǎn)換、修改或者覆寫服務(wù)器106或者客 戶機(jī)102發(fā)送的任意特定URL的指令或者指示。在一些實(shí)施例中,重寫策略提供用來(lái)將特 定URL修改或者重寫到另一個(gè)URL中的指令或者指示。該修改、改變或者轉(zhuǎn)換可以包括重 寫、覆寫、剪切和粘貼、加密、替換或者以其他方式轉(zhuǎn)換特定URL或者特定URL的任意部分的 任意組合。在一些實(shí)施例中,重寫器430重寫請(qǐng)求401中的URL并且將修改的URL轉(zhuǎn)發(fā)給 服務(wù)器106。在一個(gè)實(shí)施例中,重寫器430重寫除了文件的擴(kuò)展名類型之外的整個(gè)URL,以 允許瀏覽器導(dǎo)出MIME類型。在另一個(gè)實(shí)施例中,重寫器430重寫該主機(jī)名稱使得主機(jī)名稱 為SSL VPN站點(diǎn)下的子目錄。在另一實(shí)施例中,重寫器重寫絕對(duì)URL,使得不改變相對(duì)URL。 在又一個(gè)實(shí)施例中,重寫器430重寫主機(jī)名稱和相對(duì)URL。重寫器430可以以多個(gè)方式中的 一個(gè)或者多個(gè)來(lái)進(jìn)行重寫。在一個(gè)實(shí)施例中,重寫器430將例如諸如http://WWW. sslvpn.com的SSL VPN站點(diǎn)下的http://www. unencoded_url. com URL編碼為http//www. sslvpn. com/9oatj0在另一個(gè)實(shí)施例中,重寫器430使用一些會(huì)話密鑰來(lái)對(duì)稱加密和解密URL。URL 的這樣的加密稱之為模糊化(obfuscation)。在一個(gè)實(shí)施例中,重寫器430不加密文件擴(kuò) 展名類型和/或SSL VPN主機(jī)名稱。在另一個(gè)實(shí)施例中,重寫器430加密路徑信息來(lái)遮蔽 服務(wù)器處的目錄結(jié)構(gòu)。在一個(gè)實(shí)施例中,由SSL VPN模塊提供用于加密和解密的密鑰。在 另一個(gè)實(shí)施例中,該密鑰使用會(huì)話ID來(lái)獲取。通過例子,URLhttp://www. unencoded_url. com/testsite/contents/file5. html 可以力口密為另一個(gè) URL,諸如 https//svpn. mysite. com/EURL/whhyghfgdyonfdnv9898aaf. html。在一個(gè)實(shí)施例中,可以使用公知的編碼和譯碼 方案來(lái)促進(jìn)對(duì)URL的標(biāo)記以用于未來(lái)的SSL VPN會(huì)話。在另一個(gè)實(shí)施例中,重寫器430使 用可逆轉(zhuǎn)換來(lái)重寫SSL VPN站點(diǎn)的初始URL。在這樣的實(shí)施例中,初始URL可以從重寫的 URL 容易地提取。通過示例,URL http //www. xyz. com/htmi 1/index. html 可以重寫為 URL /cvpn/http/www. xyz. com/html/index, html。中間設(shè)備200可以將任意的訪問配置文件、策略、規(guī)則和動(dòng)作應(yīng)用到經(jīng)過中間設(shè) 備200的網(wǎng)絡(luò)業(yè)務(wù)量的任意級(jí)別粒度的部分或者子集。該粒度級(jí)別可以基于該配置從細(xì)到 粗。此處描述的訪問配置文件規(guī)則、規(guī)則和策略的邏輯、標(biāo)準(zhǔn)或者條件可以限定或者指定為 應(yīng)用到經(jīng)由設(shè)備200傳輸?shù)木W(wǎng)絡(luò)業(yè)務(wù)量或者傳輸?shù)娜我馄谕蛹蛘卟糠?。在一個(gè)方面, 粒度級(jí)別是指配置可以應(yīng)用到的網(wǎng)絡(luò)話務(wù)量的一部分的等級(jí)、測(cè)量值、細(xì)度或者粗糙度。在 十分粗略或者粗糙粒度的配置中,訪問配置文件、規(guī)則或者策略可應(yīng)用到所有的網(wǎng)絡(luò)業(yè)務(wù) 量。在十分細(xì)的粒度的配置中,訪問配置文件或者策略可以應(yīng)用到特定用戶的網(wǎng)絡(luò)業(yè)務(wù)量 的指定子集,諸如特定用戶的特定應(yīng)用的業(yè)務(wù)量或者業(yè)務(wù)量的一部分。在一些粒度的配置中,訪問配置文件、策略或者規(guī)則應(yīng)用到發(fā)送請(qǐng)求到服務(wù)器的 任意客戶機(jī)102。策略、規(guī)則或者訪問配置文件可以限定為地址,或者應(yīng)用到任意客戶機(jī) 102,并且可以基于客戶機(jī)102的任意配置或者關(guān)于客戶機(jī)102的信息,諸如客戶機(jī)102請(qǐng) 求的部分。類似地,策略、規(guī)則或者訪問配置文件可以限定為地址,或者應(yīng)用到任意服務(wù)器 106,并且可以基于客戶機(jī)106的任意配置或者關(guān)于服務(wù)器106的信息,諸如服務(wù)器106所 響應(yīng)的部分。在一些粒度的配置中,訪問配置文件、策略或者規(guī)則限定為應(yīng)用到客戶機(jī)102 用來(lái)經(jīng)由設(shè)備200連接到服務(wù)器106的指定會(huì)話或者連接。在進(jìn)一步的實(shí)施例中,限定訪問配置文件、策略或者規(guī)則以應(yīng)用到經(jīng)由SSL VPN會(huì) 話或者連接來(lái)連接的任意客戶機(jī)102。在進(jìn)一步的實(shí)施例中,限定訪問配置文件、策略或者 規(guī)則以應(yīng)用到經(jīng)由免客戶機(jī)的SSL VPN會(huì)話或者連接來(lái)連接的任意客戶機(jī)102。在進(jìn)一步 的實(shí)施例中,限定訪問配置文件、策略或者規(guī)則以應(yīng)用到經(jīng)由基于客戶機(jī)的SSL VPN會(huì)話或 者連接來(lái)連接的任意客戶機(jī)102。在進(jìn)一步的實(shí)施例中,限定訪問配置文件、策略或者規(guī)則 以應(yīng)用到發(fā)送請(qǐng)求到特定服務(wù)器106的任意客戶機(jī)102或者客戶機(jī)會(huì)話。在又一個(gè)實(shí)施例 中,限定訪問配置文件、策略或者規(guī)則以應(yīng)用到請(qǐng)求服務(wù)器上特定應(yīng)用或者資源的任意客 戶機(jī)102或者客戶機(jī)會(huì)話。在進(jìn)一步的實(shí)施例中,限定訪問配置文件、策略或者規(guī)則以基于 例如cookie是否被啟用或者停用的cookie配置應(yīng)用到任意客戶機(jī)102或者客戶機(jī)會(huì)話。在進(jìn)一步的實(shí)施例中,限定訪問配置文件、策略或者規(guī)則以應(yīng)用到發(fā)送包括特定 URL、或者特定URL的一部分的請(qǐng)求的任意客戶機(jī)102或者客戶機(jī)會(huì)話。在又一個(gè)實(shí)施例中, 限定訪問配置文件、策略或者規(guī)則以基于由客戶機(jī)102發(fā)送的請(qǐng)求的一部分和訪問配置文
36件、策略或者規(guī)則的相或者密鑰之間的匹配來(lái)應(yīng)用到任意客戶機(jī)102或者客戶機(jī)會(huì)話。在 一些實(shí)施例中,限定訪問配置文件、策略或者規(guī)則以基于關(guān)于訪問服務(wù)器106的客戶機(jī)102 的信息來(lái)應(yīng)用到任意服務(wù)器106或者服務(wù)器會(huì)話。這樣的信息可以包括客戶機(jī)102的請(qǐng)求 的一部分或者特征、客戶機(jī)102的設(shè)置或者配置、或者客戶機(jī)102的任意其它相關(guān)信息。在 一些實(shí)施例中,限定訪問配置文件、策略或者規(guī)則以基于服務(wù)器106的配置或者服務(wù)器106 發(fā)送到客戶機(jī)102的內(nèi)容的特征來(lái)應(yīng)用到任意服務(wù)器106或者服務(wù)器會(huì)話?,F(xiàn)在參考圖5,示出描述設(shè)備200執(zhí)行URL重寫所采用的方法500的實(shí)施例的步驟 的流程圖。設(shè)備200從客戶機(jī)上的瀏覽器接收URL請(qǐng)求(步驟510)。駐留在設(shè)備200上的 SSL VPN模塊280經(jīng)由策略確定是否提供免客戶機(jī)或者基于客戶機(jī)的訪問到SSL VPN(步驟 515)。策略引擎236還確定是否存在和該請(qǐng)求相關(guān)的訪問配置文件415 (步驟520)。駐留 在設(shè)備200上的URL重寫器430響應(yīng)于該訪問配置文件和/或策略來(lái)重寫URL (步驟525)。 設(shè)備200將修改的請(qǐng)求轉(zhuǎn)發(fā)給服務(wù)器106 (步驟530)。在一個(gè)實(shí)施例中,設(shè)備200從網(wǎng)絡(luò)104上的客戶機(jī)接收URL請(qǐng)求(步驟510)。在 另一個(gè)實(shí)施例中,設(shè)備200可以駐留在客戶機(jī)器102上。在一個(gè)實(shí)施例中,在設(shè)備200處響 應(yīng)于用戶訪問由設(shè)備200提供的入口頁(yè)面來(lái)接收諸如請(qǐng)求401的客戶機(jī)請(qǐng)求。該請(qǐng)求可以 包括任意類型和形式的內(nèi)容。在一些實(shí)施例中,URL請(qǐng)求包括任意數(shù)量的URL。在進(jìn)一步的 實(shí)施例中,URL請(qǐng)求包括關(guān)于客戶機(jī)102上的用戶的信息。在又進(jìn)一步的實(shí)施例中,URL請(qǐng) 求包括關(guān)于客戶機(jī)102的信息,諸如客戶機(jī)網(wǎng)絡(luò)連接的安全級(jí)別、客戶機(jī)的安全特性、用戶 特征或者關(guān)于客戶機(jī)的任意類型和形式的信息。在進(jìn)一步的實(shí)施例中,URL請(qǐng)求包括關(guān)于 服務(wù)器106的信息,客戶機(jī)102請(qǐng)求從該服務(wù)器106訪問信息、服務(wù)或者資源。設(shè)備200可經(jīng)由策略引擎236提供的策略來(lái)確定為SSL VPN提供免客戶機(jī)還是基 于客戶機(jī)的訪問(步驟515)。免客戶機(jī)或者基于客戶機(jī)的SSL VPN會(huì)話可以是客戶機(jī)102 和服務(wù)器106之間經(jīng)由設(shè)備200的會(huì)話、客戶機(jī)102和設(shè)備200之間的會(huì)話或者設(shè)備200和 服務(wù)器106之間的會(huì)話。在一個(gè)實(shí)施例中,策略引擎236提供的免客戶機(jī)策略405是可配 置的。在一個(gè)實(shí)施例中,策略引擎236提供的基于客戶機(jī)的策略410是可配置的。在另一 個(gè)實(shí)施例中,也可以配置確定提供免客戶機(jī)還是基于客戶機(jī)的訪問的策略。在一個(gè)實(shí)施例 中,可以基于請(qǐng)求401的一部分來(lái)做出確定。在另一個(gè)實(shí)施例中,如果客戶機(jī)不具備許可或 者資源來(lái)支持基于客戶機(jī)的訪問,則確定提供免客戶機(jī)的訪問。在又一個(gè)實(shí)施例中,設(shè)備總 是確定提供免客戶機(jī)訪問。在又一個(gè)實(shí)施例中,基于以下的一個(gè)或者多個(gè)來(lái)確定免客戶機(jī) 和基于客戶機(jī)的訪問請(qǐng)求401的網(wǎng)絡(luò)包、網(wǎng)絡(luò)條件、客戶機(jī)的操作系統(tǒng)及其版本、防火墻、 運(yùn)行在客戶機(jī)上的反病毒軟件和客戶機(jī)的瀏覽器。在一些實(shí)施例中,設(shè)備200識(shí)別基于客 戶機(jī)102所請(qǐng)求的應(yīng)用來(lái)指示是建立基于客戶機(jī)還是建立免客戶機(jī)的SSL VPN會(huì)話的會(huì)話 策略。在進(jìn)一步的實(shí)施例中,設(shè)備識(shí)別基于來(lái)自客戶機(jī)102的請(qǐng)求的URL來(lái)指示是建立基 于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話的會(huì)話策略。用于識(shí)別會(huì)話策 略的URL可以由訪問配置文件415或者訪問配置文件415的RegEx來(lái)檢測(cè)和識(shí)別。在一些 實(shí)施例中,設(shè)備200識(shí)別基于客戶機(jī)102上的用戶來(lái)指示是建立基于客戶機(jī)的SSL VPN會(huì) 話還是建立免客戶機(jī)的SSL VPN會(huì)話的會(huì)話策略??蛻魴C(jī)102上的用戶可以具有特權(quán)或限 制,使得依賴于這樣的配置設(shè)備200對(duì)于用戶認(rèn)識(shí)到并且識(shí)別出基于客戶機(jī)或者經(jīng)由免客 戶機(jī)的SSL VPN會(huì)話的會(huì)話策略。在一些實(shí)施例中,設(shè)備200識(shí)別基于關(guān)于客戶機(jī)102的信息來(lái)指示是建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話的會(huì)話策 略。在一些實(shí)施例中,信息可以包括客戶機(jī)102的標(biāo)識(shí),諸如因特網(wǎng)協(xié)議(IP)地址、主機(jī)名 稱、客戶機(jī)102發(fā)送請(qǐng)求所經(jīng)由的網(wǎng)絡(luò)的名稱、客戶機(jī)102的互聯(lián)網(wǎng)提供者的名稱、或者關(guān) 于任意其他客戶機(jī)102的信息。在一些實(shí)施例中,設(shè)備200識(shí)別基于客戶機(jī)102的請(qǐng)求所 識(shí)別的服務(wù)器來(lái)指示是建立基于客戶機(jī)的SSL VPN會(huì)話還是免客戶機(jī)的SSL VPN會(huì)話的會(huì) 話策略。在又一個(gè)實(shí)施例中,設(shè)備200識(shí)別基于客戶機(jī)102請(qǐng)求的服務(wù)器106的資源或者 服務(wù)的類型來(lái)指示是建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話的 會(huì)話策略。在進(jìn)一步的實(shí)施例中,設(shè)備200識(shí)別基于客戶機(jī)102請(qǐng)求的服務(wù)器106的特定 資源或者服務(wù)來(lái)指示是建立基于客戶機(jī)的SSL VPN會(huì)話還是免客戶機(jī)的SSL VPN會(huì)話的會(huì) 話策略。在一些實(shí)施例中,訪問配置文件415和請(qǐng)求401相關(guān)聯(lián)。在一個(gè)實(shí)施例中,策略引 擎236確定對(duì)于請(qǐng)求401應(yīng)該調(diào)用哪個(gè)訪問配置文件(步驟520)。訪問配置文件415可以 基于會(huì)話策略的識(shí)別或者基于客戶機(jī)102的請(qǐng)求來(lái)調(diào)用。在一個(gè)實(shí)施例中,基于請(qǐng)求401 的一部分做出該確定。例如,設(shè)備200根據(jù)請(qǐng)求的體的一部分和/或首部來(lái)確定要使用策 略405或者410和/或要使用訪問配置文件415。在一些實(shí)施例中,基于訪問配置文件415 的RegEx來(lái)識(shí)別訪問配置文件415。在進(jìn)一步的實(shí)施例中,訪問配置文件415的RegEx與客 戶機(jī)請(qǐng)求的URL或者URL的一部分相匹配,并且響應(yīng)于該匹配,識(shí)別所匹配的RegEx的訪問 配置文件415。在另一個(gè)實(shí)施例中,基于URL請(qǐng)求401所請(qǐng)求的應(yīng)用420來(lái)確定訪問配置 文件。在又一個(gè)實(shí)施例中,策略引擎確定調(diào)用多于一個(gè)的訪問配置文件415用于請(qǐng)求401。 在一個(gè)實(shí)施例中,訪問配置文件415提供重寫策略給重寫器430。在另一個(gè)實(shí)施例中,訪問 配置文件提供解析請(qǐng)求的策略來(lái)檢測(cè)URL。在一些實(shí)施例中,存在內(nèi)置的缺省配置文件。在 其中一個(gè)這樣的實(shí)施例中,如果訪問配置文件沒有選擇任意其它配置文件,則選擇缺省配 置文件。在一個(gè)實(shí)施例中,駐留在設(shè)備200上的URL重寫器如策略引擎所指示的那樣來(lái)重 寫URL(步驟525)。在另一個(gè)實(shí)施例中,重寫策略存在于訪問配置文件415中。重寫策略 可以是通過將RegEx與客戶機(jī)請(qǐng)求的URL或者URL的一部分相匹配來(lái)識(shí)別的訪問配置文件 415的一部分。在又一個(gè)實(shí)施例中,重寫策略作為單獨(dú)的實(shí)體存在于策略引擎中。在一些實(shí) 施例中,重寫策略指定哪種類型的內(nèi)容將要被重寫。內(nèi)容類型總的可以稱為轉(zhuǎn)換類型。在一 個(gè)實(shí)施例中,轉(zhuǎn)換類型是URL。在另一個(gè)實(shí)施例中,轉(zhuǎn)換類型是文本。在又一個(gè)實(shí)施例中,轉(zhuǎn) 換類型是http請(qǐng)求(http-req)。在又一個(gè)實(shí)施例中,轉(zhuǎn)換類型是http響應(yīng)(http-res)。 在一個(gè)實(shí)施例中,重寫策略可以使用諸如以下的CLI命令來(lái)增加到現(xiàn)存的策略中add rewrite policyIabeKlabeINameXtransform>在另一個(gè)實(shí)施例中,重寫動(dòng)作可以使用諸如以下的CLI命令以更高的粒度來(lái)指 定add rewrite action<action-name>clientless_vpn_encode/clientless_vpn_ decode/clientless—vpn—encode—all/clientless—vpn—decode—all〈target>設(shè)備200將修改的請(qǐng)求轉(zhuǎn)發(fā)給服務(wù)器106 (步驟530)。在一個(gè)實(shí)施例中,設(shè)備200 通過可以和客戶機(jī)和設(shè)備之間的網(wǎng)絡(luò)104大致相同或者不相同的網(wǎng)絡(luò)104’來(lái)轉(zhuǎn)發(fā)修改的請(qǐng)求給服務(wù)器106。在另一個(gè)實(shí)施例中,設(shè)備200經(jīng)由一個(gè)或者多個(gè)中間設(shè)備200’ (未示) 轉(zhuǎn)發(fā)修改的請(qǐng)求?,F(xiàn)在參考圖6,示出描述從服務(wù)器通過設(shè)備傳送到客戶機(jī)的服務(wù)器響應(yīng)和修改的 服務(wù)器響應(yīng)的實(shí)施例的框圖。簡(jiǎn)單概述,服務(wù)器響應(yīng)601從服務(wù)器106經(jīng)由網(wǎng)絡(luò)104’傳送 給設(shè)備200。設(shè)備200通過重寫服務(wù)器響應(yīng)601中的URL來(lái)修改服務(wù)器響應(yīng)601。修改的 響應(yīng)601,隨后經(jīng)由網(wǎng)絡(luò)104傳送給客戶機(jī)102。響應(yīng)于服務(wù)器106從設(shè)備200接收修改的請(qǐng)求401,(未示),從服務(wù)器106傳送 服務(wù)器響應(yīng)601。服務(wù)器響應(yīng)601可以是對(duì)于任意客戶機(jī)102傳輸或者請(qǐng)求的任意響應(yīng)。 在一些實(shí)施例中,服務(wù)器響應(yīng)601是對(duì)于請(qǐng)求401的響應(yīng)。服務(wù)器響應(yīng)601可以包括以下 一個(gè)或者多個(gè)資源靜態(tài)圖像、動(dòng)態(tài)圖像、音頻文件和視頻文件。在其中一個(gè)實(shí)施例中,靜態(tài) 圖像是諸如GIF、JPEG或者PNG的光柵圖像格式。在另一個(gè)這樣的實(shí)施例中,靜態(tài)圖像是 諸如SVG閃爍的矢量格式。在又一個(gè)實(shí)施例中,動(dòng)態(tài)圖像是動(dòng)態(tài)GIF圖像、Java小程序或 者Shockwave圖像。在又一個(gè)實(shí)施例中,音頻文件可以是以下多個(gè)格式的其中一個(gè)MIDI、 WAV、M3U和MP3。在另一個(gè)實(shí)施例中,視頻文件可以是以下多個(gè)格式的其中一個(gè)WMV、RM、 FLV, MPG和M0V。在一個(gè)實(shí)施例中,服務(wù)器響應(yīng)601可以包括交互文本、視圖和按鈕。在一 些實(shí)施例中,服務(wù)器響應(yīng)601的一個(gè)或者多個(gè)資源通過URL識(shí)別。在一個(gè)實(shí)施例中,使用諸 如XML、HTML或者XHTML的標(biāo)記語(yǔ)言來(lái)建立一個(gè)或者多個(gè)URL 605。在另一個(gè)實(shí)施例中,服 務(wù)器響應(yīng)601中的一個(gè)或者多個(gè)URL 610包括層疊樣式表(CSS)和元數(shù)據(jù)。在又一個(gè)實(shí)施 例中,服務(wù)器響應(yīng)601中的一個(gè)或者多個(gè)URL 620包括諸如Java腳本或者AJAX的腳本。在 又一個(gè)實(shí)施例中,服務(wù)器響應(yīng)601中的一個(gè)或者多個(gè)URL 615包括使用用戶接口(UI)語(yǔ)言 所寫的部件(X部件)。設(shè)備200識(shí)別服務(wù)器響應(yīng)601中的多種URL 605、610、615、620并且根據(jù)由策略引 擎236諸如經(jīng)由訪問配置文件指定的重寫策略來(lái)重寫、修改或者轉(zhuǎn)換URL。服務(wù)器響應(yīng)601 中的各種URL可以使用可以與任意的各種URL的一部分相匹配的正則表達(dá)式來(lái)識(shí)別或者檢 測(cè)。在一個(gè)實(shí)施例中,修改的服務(wù)器響應(yīng)601’隨后通過網(wǎng)絡(luò)104傳送給客戶機(jī)102。在另 一個(gè)實(shí)施例中,修改的服務(wù)器響應(yīng)601,包括通過修改標(biāo)記語(yǔ)言URL605建立的URL 605,。 在又一個(gè)實(shí)施例中,修改的服務(wù)器響應(yīng)601,包括通過修改CSS URL 610建立的URL 610,。 在又一個(gè)實(shí)施例中,修改的響應(yīng)601,包括通過修改X部件URL 615建立的URL 615,。在另 一個(gè)實(shí)施例中,修改的響應(yīng)601,包括通過重寫Java腳本URL 620建立的URL 620,。在其 他實(shí)施例中,修改的響應(yīng)可以包括本領(lǐng)域內(nèi)的普通技術(shù)人員清楚的其它部件、腳本和對(duì)象。 在一個(gè)實(shí)施例中,設(shè)備200可以將服務(wù)器響應(yīng)601中不存在的內(nèi)容置于修改的響應(yīng)601’中。 在另一個(gè)實(shí)施例中,修改的響應(yīng)601’可以和服務(wù)器響應(yīng)601大體相同?,F(xiàn)在參考圖7,示出描述通過設(shè)備修改或者重寫服務(wù)器響應(yīng)上的一個(gè)或者多個(gè) URL的方法的實(shí)施例的步驟的流程圖。該設(shè)備200接收服務(wù)器響應(yīng)601 (步驟710)。策略 引擎確定服務(wù)器響應(yīng)601中出現(xiàn)的內(nèi)容的類型并且確定經(jīng)由訪問配置文件415如何檢測(cè)內(nèi) 容中的URL(步驟715)。策略引擎還確定經(jīng)由訪問配置文件如何重寫URL(步驟720)。重 寫器430重寫URL (步驟725)并且設(shè)備200將修改的響應(yīng)轉(zhuǎn)發(fā)給客戶機(jī)102 (步驟730)。在一個(gè)實(shí)施例中,服務(wù)器響應(yīng)601包括不同類型的內(nèi)容。在一個(gè)實(shí)施例中,服務(wù)器 響應(yīng)包括使用諸如擴(kuò)展標(biāo)記語(yǔ)言(XML)、超文本標(biāo)記語(yǔ)言(HTML)或者擴(kuò)展HTML (XHTML)的標(biāo)記語(yǔ)言建立的內(nèi)容。在另一個(gè)實(shí)施例中,服務(wù)器響應(yīng)601包括層疊樣式表(CSS)和元數(shù) 據(jù)。在又一個(gè)實(shí)施例中,服務(wù)器響應(yīng)601包括諸如Java腳本或者AJAX的腳本。在又一個(gè) 實(shí)施例中,服務(wù)器響應(yīng)601包括使用用戶接口(UI)語(yǔ)言所寫的部件(X部件)。在其他實(shí)施 例中,服務(wù)器響應(yīng)可以包括對(duì)于本領(lǐng)域內(nèi)的普通技術(shù)人員清楚的文件、對(duì)象、圖像、視頻和 交互內(nèi)容。在一些實(shí)施例中,服務(wù)器響應(yīng)601包括客戶機(jī)102所請(qǐng)求的服務(wù)器提供的應(yīng)用。 在進(jìn)一步的實(shí)施例中,服務(wù)器響應(yīng)601包括客戶機(jī)102請(qǐng)求的任意資源或者服務(wù)。在一個(gè)實(shí)施例中,該設(shè)備通過網(wǎng)絡(luò)104’接收服務(wù)器響應(yīng)601 (步驟710)。在另一 個(gè)實(shí)施例中,服務(wù)器響應(yīng)601包括由一個(gè)或者多個(gè)URL識(shí)別的一個(gè)或者多個(gè)資源。如結(jié)合 圖6詳細(xì)描述的,服務(wù)器響應(yīng)可以包括多個(gè)資源中的一個(gè)或者多個(gè)。和策略引擎236相通信的設(shè)備200確定存在于響應(yīng)601中的內(nèi)容的類型(步驟 715)。在一個(gè)實(shí)施例中,通過解析該響應(yīng)并且檢測(cè)內(nèi)容類型的存在來(lái)進(jìn)行該確定。在另一 個(gè)實(shí)施例中,通過將搜索串模式類(patclass)和響應(yīng)601相匹配來(lái)進(jìn)行該確定。在一個(gè)實(shí) 施例中,設(shè)備200檢測(cè)所確定內(nèi)容類型中的嵌入U(xiǎn)RL的存在。在另一個(gè)實(shí)施例中,經(jīng)由稱為 正則表達(dá)式(RegEx)的一組密鑰組合來(lái)進(jìn)行URL檢測(cè),以促進(jìn)搜索串上的多種控制。在一 些實(shí)施例中,RegEx嵌入到免客戶機(jī)訪問配置文件415中。RegEx可以包括可用來(lái)與服務(wù)器 內(nèi)容的任意部分匹配的任意字符、數(shù)字和符號(hào)的任意組合,以檢測(cè)或者識(shí)別一個(gè)或者多個(gè) URL。在一個(gè)實(shí)施例中,訪問配置文件415包括用于檢測(cè)Java腳本的URL的RegEx。在另一 個(gè)實(shí)施例中,訪問配置文件415包括用于檢測(cè)CSS的URL的RegEx。在另一個(gè)實(shí)施例中,訪 問配置文件415包括用于檢測(cè)X部件的URL的RegEx。在又一個(gè)實(shí)施例中,訪問配置文件 415包括用于檢測(cè)諸如XML的標(biāo)記語(yǔ)言的URL的RegEx。訪問配置文件415可以包括一個(gè) 或者多個(gè)RegEx和重寫策略,用來(lái)檢測(cè)或者識(shí)別特定的URL并且重寫或者修改所識(shí)別的特 定URL。在一個(gè)實(shí)施例中,可以使用諸如以下的CLI命令將RegEx指定在訪問配置文件415 的內(nèi)部[-RegexForFindingURLin JavaScript<string>]在一些實(shí)施例中,用戶可以限定規(guī)則來(lái)檢測(cè)設(shè)備未識(shí)別的內(nèi)容中的URL。在其他實(shí) 施例中,用戶可以指定RegEx來(lái)檢測(cè)所識(shí)別的內(nèi)容類型中的URL。重寫器430可以根據(jù)策略引擎236指定的策略重寫所檢測(cè)或者識(shí)別的URL(步驟 725)。在一些實(shí)施例中,重寫器430使用來(lái)自訪問配置文件415的一個(gè)或者多個(gè)重寫策略 來(lái)重寫經(jīng)由來(lái)自訪問配置文件415的RegEx所檢測(cè)或者識(shí)別的URL。在一個(gè)實(shí)施例中,重寫 策略嵌入訪問配置文件415中。在另一個(gè)實(shí)施例中,用于響應(yīng)的重寫策略可以不同于用于 請(qǐng)求的重寫策略。在又一個(gè)實(shí)施例中,用于請(qǐng)求和響應(yīng)的重寫策略可以大致上相同。在又 一個(gè)實(shí)施例中,由諸如AppFW 290的應(yīng)用編程接口解析響應(yīng)601的體。在一個(gè)實(shí)施例中,通 過使用諸如以下的CLI命令將管理重寫的策略增加到策略引擎236 Add rewrite PolicyLabel<string>]在另一個(gè)實(shí)施例中,策略引擎指定重寫器430傳遞特定的URL,而不重寫。在又一 個(gè)實(shí)施例中,通過將重寫策略中的多個(gè)條件邏輯組合可以提供細(xì)粒度。通過示例,通過諸如 以下的CLI命令可以表示細(xì)粒度重寫策略add rewrite policy ns_cvpn_default_abs_url_pol ' (ur 1. startswith(〃 http://〃 ) Il
url. startswith ( ” https // ” ))&& ! url. hostname, server. startswith(〃 schemas. 〃 )&&! url. hostname, domain. contains_any ( “ ns_cvpn_default_bypass_ domain")'ns_cvpn_default_url_encode_act在此例中,策略ns—cvpn—default—abs—url—pol用來(lái)重寫所有的絕對(duì)URL,其中服 務(wù)器名禾爾不是“schemas,,并且域不與 ns_cvpn_default—bypass_domain patclass 中指定 的任意域相匹配。在一些實(shí)施例中,在客戶機(jī)102執(zhí)行重寫。在其中一個(gè)這樣的實(shí)施例中, 設(shè)備200將Java腳本插入到修改的響應(yīng)601’中,以在客戶機(jī)102’處執(zhí)行。在另一個(gè)這樣 的實(shí)施例中,對(duì)于設(shè)備200不能識(shí)別為URL的部分響應(yīng),調(diào)用客戶機(jī)側(cè)重寫。在其他實(shí)施例 中,重寫策略可以配置為處理服務(wù)器響應(yīng)601中的壓縮內(nèi)容。一些CLI命令接下來(lái)通過例子描述。在一個(gè)實(shí)施例中,管理員可以指定如何使用 諸如以下的CLI命令來(lái)識(shí)別諸如OWA 2007的應(yīng)用add vpn clientIessAccessPolicy owa_2007_pol' http. req. url. path, get (1). eq(" owa2007" ) ' ns_cvpn_owa_profiIe在另一個(gè)實(shí)施例中,通過使用諸如以下CLI命令將該策略限制到vpn全局可以將
其全局激活bind vpn global-policy owa_2007_pol-priority 10在一個(gè)實(shí)施例中,將存在用于Outlook Web Access的內(nèi)置配置文件ns_cvpn_owa_ policy并且相同配置文件將用于OWA 2003和OWA 2007。在另一個(gè)實(shí)施例中,將存在缺省 免客戶機(jī)訪問策略 ns_cvpn_owa_policy,其在缺省 URL(/exchange, /owa, /exchweb 禾口 / public)用于提供Outlook Web Access情況下選擇OWA配置文件。在又一個(gè)實(shí)施例中,存 在用于免客戶機(jī)訪問nS_CVpn_default_pr0file的內(nèi)置通用配置文件,如果沒有其它免客 戶機(jī)訪問策略選擇任意其它配置文件,則選擇該配置文件。該缺省配置文件將啟用到任意 web站點(diǎn)的免客戶機(jī)訪問,其使用標(biāo)準(zhǔn)HTML并且不使用Java腳本建立URL。設(shè)備200將修改的響應(yīng)601’轉(zhuǎn)發(fā)給客戶機(jī)102 (步驟730)。在一些實(shí)施例中,設(shè) 備200將任意數(shù)量的修改的響應(yīng)601’轉(zhuǎn)發(fā)給任意數(shù)量的客戶機(jī)102。在進(jìn)一步的實(shí)施例 中,設(shè)備200將服務(wù)器響應(yīng)601轉(zhuǎn)發(fā)給客戶機(jī)。在進(jìn)一步的實(shí)施例中,設(shè)備200將修改的響 應(yīng)601’轉(zhuǎn)發(fā)給客戶機(jī)102,該修改的響應(yīng)601’被修改或者轉(zhuǎn)換為包括具有對(duì)特定URL的改 變或者修改的服務(wù)器響應(yīng)601的所有內(nèi)容,該特定URL諸如URL 605、610、615和620。修改 的響應(yīng)601’的內(nèi)容可以包括響應(yīng)601的任意部分以及修改的URL,該修改的URL使用一個(gè) 或者多個(gè)RegEx來(lái)識(shí)別或者檢測(cè)并且使用訪問配置文件415的重寫策略來(lái)修改或者重寫。
權(quán)利要求
一種用于經(jīng)由策略在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)安全套接字層虛擬專用網(wǎng)絡(luò)(SSL VPN)會(huì)話的方法,該方法包括a)中間設(shè)備從客戶機(jī)接收訪問服務(wù)器的請(qǐng)求,中間設(shè)備在客戶機(jī)和服務(wù)器之間建立SSL VPN會(huì)話;b)中間設(shè)備基于該請(qǐng)求識(shí)別會(huì)話策略,該會(huì)話策略指示與服務(wù)器建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話;并且c)中間設(shè)備響應(yīng)于該策略來(lái)確定在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)的SSL VPN會(huì)話。
2.權(quán)利要求1的方法,包括中間設(shè)備響應(yīng)于該確定來(lái)和服務(wù)器建立免客戶機(jī)的SSL VPN會(huì)話。
3.權(quán)利要求1的方法,其中,步驟(a)還包括中間設(shè)備從客戶機(jī)接收訪問服務(wù)器上的應(yīng) 用的請(qǐng)求,并且其中步驟(b)還包括會(huì)話策略基于該應(yīng)用指示和服務(wù)器建立基于客戶機(jī)的 SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話。
4.權(quán)利要求3的方法,其中,步驟(c)還包括中間設(shè)備響應(yīng)于一個(gè)或者多個(gè)策略來(lái)識(shí)別 出用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問的訪問配置文件,該訪問配置文件指定對(duì) 于該應(yīng)用的一個(gè)或者多個(gè)重寫策略。
5.權(quán)利要求1的方法,其中步驟(a)還包括中間設(shè)備從用戶接收訪問服務(wù)器的請(qǐng)求,并 且其中步驟(b)還包括會(huì)話策略基于該用戶指示和服務(wù)器建立基于客戶機(jī)的SSL VPN會(huì)話 還是建立免客戶機(jī)的SSL VPN會(huì)話。
6.權(quán)利要求1的方法,其中,步驟(c)還包括中間設(shè)備識(shí)別用于建立免客戶機(jī)的SSL VPN會(huì)話的訪問配置文件,該訪問配置文件指定一個(gè)或者多個(gè)重寫策略。
7.權(quán)利要求1的方法,其中,步驟(c)還包括中間設(shè)備響應(yīng)于一個(gè)或者多個(gè)策略從多個(gè) 訪問配置文件中識(shí)別第一訪問配置文件用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問,該 訪問配置文件指定一個(gè)或者多個(gè)重寫策略。
8.權(quán)利要求1的方法,其中,步驟(c)還包括中間設(shè)備響應(yīng)于一個(gè)或者多個(gè)策略從多個(gè) 訪問配置文件中識(shí)別第一訪問配置文件用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問。
9.權(quán)利要求8的方法,還包括基于以下一個(gè)或者多個(gè)來(lái)識(shí)別第一訪問配置文件請(qǐng)求 的用戶,由該請(qǐng)求識(shí)別的應(yīng)用,關(guān)于客戶機(jī)的信息和由該請(qǐng)求識(shí)別的服務(wù)器。
10.一種用于經(jīng)由策略在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)安全套接字層虛擬專用網(wǎng) 絡(luò)(SSL VPN)會(huì)話的中間設(shè)備,該中間設(shè)備包括用于從客戶機(jī)接收訪問服務(wù)器的請(qǐng)求的包引擎,中間設(shè)備在客戶機(jī)和服務(wù)器之間建立 SSL VPN 會(huì)話;用于基于該請(qǐng)求識(shí)別會(huì)話策略的策略引擎,該會(huì)話策略指示和服務(wù)器建立基于客戶機(jī) 的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話;并且其中,中間設(shè)備響應(yīng)于該策略來(lái)確定在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)的SSL VPN 會(huì)話。
11.權(quán)利要求10的中間設(shè)備,其中,該中間設(shè)備響應(yīng)于該確定來(lái)和服務(wù)器建立免客戶 機(jī)的SSL VPN會(huì)話。
12.權(quán)利要求10的中間設(shè)備,還包括用于從客戶機(jī)接收訪問服務(wù)器上的應(yīng)用的請(qǐng)求的包引擎,并且該會(huì)話策略基于該應(yīng)用指示和服務(wù)器建立基于客戶機(jī)還是建立免客戶機(jī)的 SSL VPN 會(huì)話。
13.權(quán)利要求10的中間設(shè)備,還包括所述策略引擎響應(yīng)于一個(gè)或者多個(gè)策略來(lái)識(shí)別用 于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問的訪問配置文件,該訪問配置文件指定對(duì)于該 應(yīng)用的一個(gè)或者多個(gè)重寫策略。
14.權(quán)利要求10的中間設(shè)備,還包括所述包引擎從用戶接收訪問服務(wù)器的請(qǐng)求,并且 會(huì)話策略基于該用戶指示出和服務(wù)器建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的 SSL VPN 會(huì)話。
15.權(quán)利要求10的中間設(shè)備,還包括所述策略引擎識(shí)別出用于控制經(jīng)由免客戶機(jī)的 SSL VPN會(huì)話的訪問的訪問配置文件,該訪問配置文件指定一個(gè)或者多個(gè)重寫策略。
16.權(quán)利要求10的中間設(shè)備,還包括所述策略引擎響應(yīng)于一個(gè)或者多個(gè)策略從多個(gè)訪 問配置文件中識(shí)別出第一訪問配置文件用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問,該 訪問配置文件指定一個(gè)或者多個(gè)重寫策略。
17.權(quán)利要求10的中間設(shè)備,還包括所述策略引擎響應(yīng)于一個(gè)或者多個(gè)策略從多個(gè)訪 問配置文件中識(shí)別出第一訪問配置文件用于控制經(jīng)由免客戶機(jī)的SSL VPN會(huì)話的訪問。
18.權(quán)利要求10的中間設(shè)備,還包括基于以下一個(gè)或者多個(gè)來(lái)識(shí)別第一訪問配置文件 的策略引擎請(qǐng)求的用戶,由該請(qǐng)求識(shí)別的應(yīng)用,關(guān)于客戶機(jī)的信息和由該請(qǐng)求識(shí)別的服務(wù)ο
19.一種用于經(jīng)由策略在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)安全套接字層虛擬專用網(wǎng) 絡(luò)(SSL VPN)會(huì)話的中間設(shè)備,該中間設(shè)備包括用于從客戶機(jī)接收訪問服務(wù)器的請(qǐng)求的裝置,中間設(shè)備在客戶機(jī)和服務(wù)器之間建立 SSL VPN 會(huì)話;用于基于該請(qǐng)求識(shí)別會(huì)話策略的裝置,該會(huì)話策略指示和服務(wù)器建立基于客戶機(jī)的 SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話;和用于響應(yīng)于該策略來(lái)確定在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)的SSL VPN會(huì)話的裝置。
20.權(quán)利要求19的中間設(shè)備,還包括用于響應(yīng)于該確定來(lái)和服務(wù)器建立基于客戶機(jī)的 或者免客戶機(jī)的SSL VPN會(huì)話的裝置。
21.一種用于由中間設(shè)備重寫在客戶機(jī)和服務(wù)器之間經(jīng)由免客戶機(jī)安全套接字層虛擬 專用網(wǎng)絡(luò)(SSL VPN)會(huì)話傳送的內(nèi)容的方法,該方法包括a)中間設(shè)備識(shí)別出針對(duì)從客戶機(jī)經(jīng)由客戶機(jī)和服務(wù)器之間建立的免客戶機(jī)的SSLVPN 會(huì)話訪問服務(wù)器的請(qǐng)求的訪問配置文件,該訪問配置文件包括用于重寫統(tǒng)一資源定位符 (URL)的第一重寫策略和用于檢測(cè)服務(wù)器提供的內(nèi)容中的一個(gè)或者多個(gè)URL的一個(gè)或者多 個(gè)正則表達(dá)式;b)中間設(shè)備響應(yīng)于訪問配置文件的一個(gè)或者多個(gè)正則表達(dá)式來(lái)檢測(cè)服務(wù)器響應(yīng)于該 請(qǐng)求所提供的內(nèi)容中的一個(gè)或者多個(gè)URL ;和c)中間設(shè)備響應(yīng)于該檢測(cè)根據(jù)第一重寫策略指定的URL轉(zhuǎn)換來(lái)重寫一個(gè)或者多個(gè)檢 測(cè)的URL。
22.權(quán)利要求21的方法,其中,步驟(a)還包括中間設(shè)備識(shí)別包括多個(gè)正則表達(dá)式的訪問配置文件,多個(gè)正則表達(dá)式的每個(gè)用于檢測(cè)多個(gè)不同類型內(nèi)容的一類內(nèi)容中的一個(gè)或者 多個(gè)URL,并且步驟(b)還包括識(shí)別服務(wù)器所提供的內(nèi)容中的一個(gè)或者多個(gè)類型的內(nèi)容。
23.權(quán)利要求21的方法,其中,步驟(a)還包括中間設(shè)備識(shí)別包括正則表達(dá)式的訪問配 置文件,其中正則表達(dá)式用于檢測(cè)包括Java腳本的內(nèi)容中的URL。
24.權(quán)利要求21的方法,其中,步驟(a)還包括中間設(shè)備識(shí)別包括正則表達(dá)式的訪問配 置文件,其中該正則表達(dá)式用于檢測(cè)包括可擴(kuò)展標(biāo)記語(yǔ)言(XML)的內(nèi)容中的URL。
25.權(quán)利要求21的方法,其中,步驟(a)還包括中間設(shè)備識(shí)別包括正則表達(dá)式的訪問配 置文件,其中該正則表達(dá)式用于檢測(cè)包括層疊樣式表(CSS)的內(nèi)容中的URL。
26.權(quán)利要求12的方法,其中,步驟(b)還包括中間設(shè)備響應(yīng)于訪問配置文件所識(shí)別的 第一正則表達(dá)式來(lái)檢測(cè)響應(yīng)的第一類型的內(nèi)容中的一個(gè)或者多個(gè)統(tǒng)一資源定位符(URL), 并且響應(yīng)于訪問配置文件所識(shí)別的第二正則表達(dá)式來(lái)檢測(cè)響應(yīng)的第二類型內(nèi)容中的一個(gè) 或者多個(gè)URL。
27.權(quán)利要求21的方法,其中,步驟(c)還包括中間設(shè)備根據(jù)和所識(shí)別的訪問配置文件 相關(guān)的第二重寫策略指定的Java腳本轉(zhuǎn)換來(lái)重寫該內(nèi)容的Java腳本的部分。
28.權(quán)利要求21的方法,其中,步驟(a)還包括中間設(shè)備識(shí)別包括用來(lái)重寫請(qǐng)求首部的 首部的第二重寫策略的訪問配置文件,并且在向服務(wù)器發(fā)送該請(qǐng)求之前根據(jù)由該重寫策略 指定的轉(zhuǎn)換來(lái)重寫該請(qǐng)求的首部。
29.權(quán)利要求21的方法,其中,步驟(a)還包括中間設(shè)備識(shí)別包括用來(lái)重寫響應(yīng)的首部 的第二重寫策略的訪問配置文件,并且步驟(c)還包括在向客戶機(jī)發(fā)送該響應(yīng)之前根據(jù)由 該第二重寫策略指定的轉(zhuǎn)換來(lái)重寫響應(yīng)的首部。
30.權(quán)利要求21的方法,其中,步驟(a)包括中間設(shè)備基于確定經(jīng)由該請(qǐng)求所請(qǐng)求的應(yīng) 用來(lái)從多個(gè)訪問配置文件中識(shí)別出該訪問配置文件。
31.一種用于重寫在客戶機(jī)和服務(wù)器之間經(jīng)由免客戶機(jī)安全套接字層虛擬專用網(wǎng)絡(luò) (SSL VPN)會(huì)話傳送的內(nèi)容的中間設(shè)備,該中間設(shè)備包括策略引擎,用于識(shí)別出針對(duì)從客戶機(jī)經(jīng)由客戶機(jī)和服務(wù)器之間建立的免客戶機(jī)的SSL VPN會(huì)話來(lái)訪問服務(wù)器的請(qǐng)求的訪問配置文件,訪問配置文件包括用于重寫統(tǒng)一資源定位 符(URL)的第一重寫策略和用于檢測(cè)由服務(wù)器提供的內(nèi)容中的一個(gè)或者多個(gè)URL的一個(gè)或 者多個(gè)正則表達(dá)式;檢測(cè)器,用于響應(yīng)于訪問配置文件中的一個(gè)或者多個(gè)正則表達(dá)式來(lái)檢測(cè)由服務(wù)器響應(yīng) 于該請(qǐng)求提供的內(nèi)容中的一個(gè)或者多個(gè)URL ;和重寫器,用于響應(yīng)于檢測(cè)器來(lái)根據(jù)第一重寫策略指定的URL轉(zhuǎn)換來(lái)重寫一個(gè)或者多個(gè) 檢測(cè)的URL。
32.權(quán)利要求31的中間設(shè)備,其中,策略引擎識(shí)別出包括多個(gè)正則表達(dá)式的訪問配置 文件,多個(gè)正則表達(dá)式的每個(gè)用于檢測(cè)多個(gè)不同類型內(nèi)容的一類內(nèi)容中的一個(gè)或者多個(gè) URL,并且檢測(cè)器確定服務(wù)器所提供的內(nèi)容中的一個(gè)或者多個(gè)類型的內(nèi)容。
33.權(quán)利要求31的中間設(shè)備,其中,策略引擎識(shí)別包括正則表達(dá)式的訪問配置文件,其 中該正則表達(dá)式用于檢測(cè)包括Java腳本的內(nèi)容中的URL。
34.權(quán)利要求31的中間設(shè)備,其中,策略引擎識(shí)別出包括正則表達(dá)式的訪問配置文件, 其中該正則表達(dá)式用于檢測(cè)包括可擴(kuò)展標(biāo)記語(yǔ)言(XML)的內(nèi)容中的URL。
35.權(quán)利要求31的中間設(shè)備,其中,策略引擎識(shí)別出包括正則表達(dá)式的訪問配置文件, 其中該正則表達(dá)式用于檢測(cè)包括層疊樣式表(CSS)的內(nèi)容中的URL。
36.權(quán)利要求31的中間設(shè)備,其中,檢測(cè)器響應(yīng)于訪問配置文件所識(shí)別的第一正則 表達(dá)式來(lái)檢測(cè)響應(yīng)的第一類型的內(nèi)容中的一個(gè)或者多個(gè)統(tǒng)一資源定位符(URL)并且響應(yīng) 于訪問配置文件所識(shí)別的第二正則表達(dá)式來(lái)檢測(cè)響應(yīng)的第二類型內(nèi)容中的一個(gè)或者多個(gè) URL。
37.權(quán)利要求31的中間設(shè)備,其中,重寫器根據(jù)和所識(shí)別的訪問配置文件相關(guān)的第二 重寫策略指定的Java腳本轉(zhuǎn)換來(lái)重寫該內(nèi)容的Java腳本部分。
38.權(quán)利要求31的中間設(shè)備,其中,策略引擎識(shí)別出包括用來(lái)重寫請(qǐng)求首部的首部的 第二重寫策略的訪問配置文件并且在向服務(wù)器發(fā)送該請(qǐng)求之前根據(jù)由該重寫策略指定的 轉(zhuǎn)換來(lái)重寫該請(qǐng)求的首部。
39.權(quán)利要求31的中間設(shè)備,其中,策略引擎識(shí)別包括用來(lái)重寫響應(yīng)的首部的第二重 寫策略的訪問配置文件并且在向客戶機(jī)發(fā)送該響應(yīng)之前重寫器根據(jù)由該第二重寫策略指 定的轉(zhuǎn)換來(lái)重寫響應(yīng)的首部。
40.一種用于由中間設(shè)備重寫在客戶機(jī)和服務(wù)器之間經(jīng)由免客戶機(jī)安全套接字層虛擬 專用網(wǎng)絡(luò)(SSL VPN)會(huì)話傳送的內(nèi)容的方法,該方法包括a)中間設(shè)備識(shí)別用于客戶機(jī)和服務(wù)器之間建立的免客戶機(jī)的SSLVPN會(huì)話的訪問配 置文件,訪問配置文件包括多個(gè)重寫策略和多個(gè)正則表達(dá)式,多個(gè)重寫策略的每一個(gè)指定 對(duì)于內(nèi)容類型的轉(zhuǎn)換,并且多個(gè)正則表達(dá)式的每個(gè)指定一個(gè)正則表達(dá)式以檢測(cè)多個(gè)類型內(nèi) 容的每一類內(nèi)容中的統(tǒng)一資源定位符(URL);b)中間設(shè)備確定服務(wù)器響應(yīng)于該請(qǐng)求提供的內(nèi)容的類型;c)中間設(shè)備基于經(jīng)由訪問配置文件對(duì)于所確定的內(nèi)容的類型而指定的正則表達(dá)式來(lái) 檢測(cè)內(nèi)容中的一個(gè)或者多個(gè)URL ;和d)中間設(shè)備基于內(nèi)容的類型和對(duì)于該內(nèi)容的類型的多個(gè)重寫策略中的重寫策略來(lái)重 寫該內(nèi)容的一部分。
全文摘要
本發(fā)明提供的解決方案可以使得企業(yè)為多個(gè)客戶機(jī)提供服務(wù),以基于關(guān)于客戶機(jī)的信息來(lái)確定與客戶機(jī)建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話。在客戶機(jī)和服務(wù)器之間建立SSL VPN會(huì)話的中間設(shè)備可以從客戶機(jī)接收訪問服務(wù)器的請(qǐng)求。中間設(shè)備可以基于該請(qǐng)求識(shí)別會(huì)話策略。會(huì)話策略可以指示和服務(wù)器建立基于客戶機(jī)的SSL VPN會(huì)話還是建立免客戶機(jī)的SSL VPN會(huì)話。中間設(shè)備可以響應(yīng)于該策略確定在客戶機(jī)和服務(wù)器之間建立免客戶機(jī)或者基于客戶機(jī)的SSL VPN會(huì)話。
文檔編號(hào)H04L29/06GK101981887SQ200980110432
公開日2011年2月23日 申請(qǐng)日期2009年1月26日 優(yōu)先權(quán)日2008年1月26日
發(fā)明者A·仇達(dá)瑞, A·瑞迪, P·凱瑪尼, P·阿加瓦, R·米雅尼, S·K·阿德雅, S·西如娜拉雅南, V·考拉帕提 申請(qǐng)人:思杰系統(tǒng)有限公司