專利名稱:用于策略的http調(diào)出的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及數(shù)據(jù)通信網(wǎng)絡(luò)。本申請(qǐng)尤其涉及用于給中間設(shè)備提供使用由策略指定的請(qǐng)求和響應(yīng)確定該策略的動(dòng)作的系統(tǒng)和方法。
背景技術(shù):
在網(wǎng)絡(luò)環(huán)境中,客戶裝置的用戶通常尋求對(duì)多個(gè)服務(wù)器的一個(gè)或多個(gè)網(wǎng)絡(luò)服務(wù)的訪問。為了管理客戶裝置和多個(gè)服務(wù)器之間的網(wǎng)絡(luò)通信量、帶寬和連通性,例如用于改善系統(tǒng)管理,諸如網(wǎng)絡(luò)設(shè)備、代理服務(wù)器、路由器或網(wǎng)關(guān)的中間設(shè)備可應(yīng)用策略指導(dǎo)客戶裝置的用戶訪問的行為。在傳統(tǒng)系統(tǒng)中,這樣的策略通常是靜態(tài)的并由固定的配置驅(qū)動(dòng)。
發(fā)明內(nèi)容
本發(fā)明提供了用于在策略中包含和利用請(qǐng)求和響應(yīng)機(jī)制的系統(tǒng)和方法。該請(qǐng)求和響應(yīng)可被稱為策略的調(diào)出(Callout)規(guī)則,并且在HTTP請(qǐng)求和HTTP響應(yīng)的實(shí)施例中可被稱為HTTP調(diào)出規(guī)則。HTTP調(diào)出提供策略表達(dá)式,其可產(chǎn)生和發(fā)生所指定的或可配置的 HTTP請(qǐng)求、等待響應(yīng)、然后解析響應(yīng)和評(píng)估響應(yīng)以產(chǎn)生結(jié)果??梢韵癫呗砸娴钠渌呗员磉_(dá)式的求值結(jié)果一樣使用該結(jié)果。這樣,對(duì)請(qǐng)求的響應(yīng)的評(píng)估可用于確定策略的條件或動(dòng)作。就中間設(shè)備而言,中間設(shè)備可基于響應(yīng)的評(píng)估結(jié)果將動(dòng)作應(yīng)用于任何網(wǎng)絡(luò)分組,所述響應(yīng)來自響應(yīng)于策略的調(diào)出表達(dá)式而產(chǎn)生和發(fā)生的請(qǐng)求。一方面,本發(fā)明涉及由中間設(shè)備使用具有調(diào)出規(guī)則的策略的方法。中間設(shè)備接收客戶機(jī)和一個(gè)或多個(gè)服務(wù)器之間的通信。用于使用由策略指定的請(qǐng)求和響應(yīng)來確定策略的動(dòng)作的方法包括由中間設(shè)備為客戶機(jī)和一個(gè)或多個(gè)服務(wù)器之間的通信識(shí)別策略。策略可指定請(qǐng)求和要向其傳遞該請(qǐng)求的服務(wù)器。響應(yīng)于該策略,中間設(shè)備可將請(qǐng)求傳輸?shù)接刹呗灾付ǖ姆?wù)器?;趯?duì)應(yīng)于該請(qǐng)求的服務(wù)器響應(yīng),中間設(shè)備可確定策略的動(dòng)作?!獋€(gè)實(shí)施例中,策略指定超文本傳輸協(xié)議(HTTP)請(qǐng)求的類型。策略可指定表達(dá)式,所述表達(dá)式用于為請(qǐng)求產(chǎn)生主機(jī)頭或統(tǒng)一資源定位符(URL)的一部分的其中之一。而且,策略可指定用于服務(wù)器的IP地址、域名或端口。策略也可以指定用于請(qǐng)求的頭部的名稱或頭部的值。策略可指定要被響應(yīng)接收的值的類型。也可指定用于請(qǐng)求的參數(shù)名或參數(shù)值。一些實(shí)施例中,中間設(shè)備產(chǎn)生如策略的一個(gè)或多個(gè)表達(dá)式所指定的請(qǐng)求。中間設(shè)備可驗(yàn)證所產(chǎn)生的請(qǐng)求。中間設(shè)備從基于響應(yīng)的內(nèi)容對(duì)表達(dá)式求值來確定策略的動(dòng)作。又一個(gè)方面,用于使用由策略指定的請(qǐng)求和響應(yīng)來確定策略的動(dòng)作的系統(tǒng)包括策略引擎。策略引擎可識(shí)別策略。策略可指定請(qǐng)求和要向其傳遞該請(qǐng)求的服務(wù)器。而且,該系統(tǒng)可包括中間設(shè)備,其接收客戶機(jī)和一個(gè)或多個(gè)服務(wù)器之間的通信。響應(yīng)于該策略將由策略指定的請(qǐng)求傳輸?shù)接刹呗灾付ǖ姆?wù)器,中間設(shè)備可基于對(duì)應(yīng)于由策略指定的請(qǐng)求的服務(wù)器響應(yīng)來確定策略的動(dòng)作。在附圖和下面的描述中將詳細(xì)闡述本發(fā)明的各種實(shí)施例的細(xì)節(jié)。
通過參考下述結(jié)合附圖的描述本發(fā)明的前述和其它目的、方面、特征和優(yōu)點(diǎn)將會(huì)更加明顯并更易于理解,其中圖IA是客戶機(jī)通過設(shè)備訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的實(shí)施例的框圖;圖IB是通過設(shè)備從服務(wù)器向客戶機(jī)傳送計(jì)算環(huán)境的網(wǎng)絡(luò)環(huán)境的實(shí)施例的框圖;圖IC是通過多個(gè)設(shè)備從服務(wù)器向客戶機(jī)傳送計(jì)算環(huán)境的網(wǎng)絡(luò)環(huán)境的又一個(gè)實(shí)施例的框圖;圖ID是用于通過設(shè)備從服務(wù)器向客戶機(jī)傳送計(jì)算環(huán)境的環(huán)境的又一個(gè)實(shí)施例的框圖;圖IE到圖IF是計(jì)算裝置的實(shí)施例的框圖;圖2A是用于處理客戶機(jī)和服務(wù)器之間的通信的設(shè)備的實(shí)施例的框圖;圖2B是用于優(yōu)化、加速、負(fù)載平衡和路由客戶機(jī)和服務(wù)器之間的通信的設(shè)備的另一個(gè)實(shí)施例的框圖;圖3是用于通過設(shè)備與服務(wù)器通信的客戶機(jī)的實(shí)施例的框圖;圖4是使用策略的請(qǐng)求和響應(yīng)機(jī)制的中間設(shè)備的實(shí)施例的框圖;圖5是描述用于由中間設(shè)備使用由策略指定的請(qǐng)求和響應(yīng)的方法的步驟的實(shí)施例的流程圖。從下面結(jié)合附圖所闡述的詳細(xì)描述,本發(fā)明的特征和優(yōu)點(diǎn)將更明顯,其中,同樣的參考標(biāo)記在全文中標(biāo)識(shí)相應(yīng)的元素。在附圖中,同樣的附圖標(biāo)記通常表示相同的、功能上相似的和/或結(jié)構(gòu)上相似的元素。
具體實(shí)施例方式為了閱讀下述各種具體實(shí)施例的描述,下述對(duì)于說明書的部分以及它們各自內(nèi)容的描述是有用的-A部分描述有益于實(shí)施此處所描述的實(shí)施例的網(wǎng)絡(luò)環(huán)境和計(jì)算環(huán)境;-B部分描述用于將計(jì)算環(huán)境加速傳送到遠(yuǎn)程用戶的系統(tǒng)和方法的實(shí)施例;-C部分描述用于加速客戶機(jī)和服務(wù)器之間的通信的系統(tǒng)和方法的實(shí)施例;-D部分描述用于使用中間設(shè)備來處理由策略指定的請(qǐng)求和響應(yīng)以確定該策略的行為的系統(tǒng)和方法。A、網(wǎng)絡(luò)和計(jì)算環(huán)境在討論設(shè)備和/或客戶端的系統(tǒng)和方法的實(shí)施例的細(xì)節(jié)之前,討論可在其中部署這些實(shí)施例的網(wǎng)絡(luò)和計(jì)算環(huán)境是有幫助的。現(xiàn)在參見圖1A,描述了網(wǎng)絡(luò)環(huán)境的實(shí)施例。概括來講,網(wǎng)絡(luò)環(huán)境包括一個(gè)或多個(gè)客戶機(jī)10加-10211(同樣總的稱為本地機(jī)器102,或客戶機(jī)102)通過一個(gè)或多個(gè)網(wǎng)絡(luò)104、104’ (總的稱為網(wǎng)絡(luò)104)與一個(gè)或多個(gè)服務(wù)器 106a-106n(同樣總的稱為服務(wù)器106,或遠(yuǎn)程機(jī)器106)通信。在一些實(shí)施例中,客戶機(jī)102 通過設(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和/或104'可為局域網(wǎng)(LAN)例如公司內(nèi)網(wǎng),城域網(wǎng) (MAN),或者廣域網(wǎng)(WAN)例如因特網(wǎng)或萬維網(wǎng)。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)104’可為專用網(wǎng)絡(luò)并且網(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可位于公司企業(yè)的分支機(jī)構(gòu)中,通過網(wǎng)絡(luò)104上的WAN連接與位于公司數(shù)據(jù)中心的服務(wù)器106通網(wǎng)絡(luò)104和/或104’可以是任何類型和/或形式的網(wǎng)絡(luò),并且可包括任意下述網(wǎng)絡(luò)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),廣播網(wǎng)絡(luò),廣域網(wǎng),局域網(wǎng),電信網(wǎng)絡(luò),數(shù)據(jù)通信網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),ATM(異步傳輸模式)網(wǎng)絡(luò),SONET(同步光纖網(wǎng)絡(luò))網(wǎng)絡(luò),SDH(同步數(shù)字體系)網(wǎng)絡(luò),無線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)。在一些實(shí)施例中,網(wǎng)絡(luò)104可以包括無線鏈路,諸如紅外信道或者衛(wèi)星頻帶。網(wǎng)絡(luò)104和/或104’的拓?fù)淇蔀榭偩€型、星型或環(huán)型網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)104和/或104’以及網(wǎng)絡(luò)拓?fù)淇梢允菍?duì)于本領(lǐng)域普通技術(shù)人員所熟知的、可以支持此處描述的操作的任何這樣的網(wǎng)絡(luò)或網(wǎng)絡(luò)拓?fù)?。如圖IA所示,設(shè)備200被顯示在網(wǎng)絡(luò)104和104’之間,設(shè)備200也可被稱為接口單元200或者網(wǎng)關(guān)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包括由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems公司制造的被稱為Citrix Netkaler設(shè)備的任意網(wǎng)絡(luò)設(shè)備。在其它實(shí)施例中, 設(shè)備200包括由位于華盛頓州西雅圖的F5 Networks公司制造的被稱為W^ebAcceIerator 和BigIP的任意一個(gè)產(chǎn)品實(shí)施例。在另一個(gè)實(shí)施例中,設(shè)備205包括由位于加利福尼亞州 Sunnyvale的Juniper Networks公司制造的DX加速設(shè)備平臺(tái)和/或諸如SA700、SA2000、 SA4000和SA6000的SSL VPN系列設(shè)備中的任意一個(gè)。在又一個(gè)實(shí)施例中,設(shè)備200包括由位于加利福尼亞州San Jose的Cisco Systems公司制造的任意應(yīng)用加速和/或安全相關(guān)的設(shè)備和/或軟件,例如Cisco ACE應(yīng)用控制引擎模塊業(yè)務(wù)(Application Control Engine Module service)軟件和網(wǎng)絡(luò)模塊以及Cisco AVS系列應(yīng)用速度系統(tǒng)(Application Velocity System)。在一個(gè)實(shí)施例中,系統(tǒng)可包括多個(gè)邏輯分組的服務(wù)器106。在這些實(shí)施例中,服務(wù)器的邏輯分組可以被稱為服務(wù)器群38。在其中一些實(shí)施例中,服務(wù)器106可為地理上分散的。在一些情況中,群38可以作為單個(gè)實(shí)體被管理。在其它實(shí)施例中,服務(wù)器群38包括多個(gè)服務(wù)器群38。在一個(gè)實(shí)施例中,服務(wù)器群代表一個(gè)或多個(gè)客戶機(jī)102執(zhí)行一個(gè)或多個(gè)應(yīng)
用程序。在每個(gè)群38中的服務(wù)器106可為不同種類。一個(gè)或多個(gè)服務(wù)器106可根據(jù)一種類型的操作系統(tǒng)平臺(tái)(例如,由華盛頓州Redmond的Microsoft公司制造的WINDOWS NT)操作,而一個(gè)或多個(gè)其它服務(wù)器106可根據(jù)另一類型的操作系統(tǒng)平臺(tái)(例如,Unix或Linux) 操作。每個(gè)群38的服務(wù)器106不需要與相同群38內(nèi)的另一個(gè)服務(wù)器106物理上接近。因此,被邏輯分組為群38的服務(wù)器106組可使用廣域網(wǎng)(WAN)連接或中等區(qū)域網(wǎng)(MAN)連接互聯(lián)。例如,群38可包括物理上位于不同大陸或大陸的不同區(qū)域、國家、州、城市、校園或房間的服務(wù)器106。如果服務(wù)器106使用局域網(wǎng)(LAN)連接或一些直連形式進(jìn)行連接,則群 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)目錄??蛻舳?02也可稱為客戶端節(jié)點(diǎn)或端點(diǎn)。在一些實(shí)施例中,客戶機(jī)102可以有作為客戶機(jī)節(jié)點(diǎn)尋求訪問服務(wù)器上的應(yīng)用的能力, 也可以有作為應(yīng)用服務(wù)器為其它客戶機(jī)102a-102n提供對(duì)寄載的應(yīng)用的訪問的能力。在一些實(shí)施例中,客戶端102與服務(wù)器106通信。在一個(gè)實(shí)施例中,客戶端102可與群38中的服務(wù)器106之一直接通信。在另一個(gè)實(shí)施例中,客戶端102執(zhí)行程序鄰近應(yīng)用 (program neighborhood application)以與群38內(nèi)的服務(wù)器106通信。在另一個(gè)實(shí)施例中,服務(wù)器106提供主節(jié)點(diǎn)的功能。在一些實(shí)施例中,客戶端102通過網(wǎng)絡(luò)104與群38中的服務(wù)器106通信。通過網(wǎng)絡(luò)104,客戶機(jī)102例如可以請(qǐng)求執(zhí)行群38中的服務(wù)器106a 106η寄載的各種應(yīng)用,并接收應(yīng)用執(zhí)行結(jié)果的輸出進(jìn)行顯示。在一些實(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,并使用服務(wù)器106b對(duì)該請(qǐng)求的響應(yīng)來對(duì)客戶機(jī)102的請(qǐng)求進(jìn)行響應(yīng)。在又另一個(gè)實(shí)施例中,服務(wù)器106獲得客戶機(jī)102 可用的應(yīng)用的列舉以及與由該應(yīng)用的列舉所識(shí)別的應(yīng)用的服務(wù)器106相關(guān)的地址信息。在又一個(gè)實(shí)施例中,服務(wù)器106使用web接口呈現(xiàn)對(duì)客戶端102的請(qǐng)求的響應(yīng)。在一個(gè)實(shí)施例中,客戶端102直接與服務(wù)器106通信以訪問所識(shí)別的應(yīng)用。在另一個(gè)實(shí)施例中,客戶機(jī) 102接收諸如顯示數(shù)據(jù)的應(yīng)用輸出數(shù)據(jù),該應(yīng)用輸出數(shù)據(jù)由服務(wù)器106上所識(shí)別的應(yīng)用的執(zhí)行而產(chǎn)生?,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,描述了網(wǎng)絡(luò)環(huán)境的另一個(gè)實(shí)施例,在該網(wǎng)絡(luò)環(huán)境中,將設(shè)備200和一個(gè)或多個(gè)其它類型的設(shè)備部署在一起,例如,部署在一個(gè)或多個(gè)WAN優(yōu)化設(shè)備205,205 ‘ 之間。例如,第一 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)化或者以其他方式改善任意類型和形式的網(wǎng)絡(luò)業(yè)務(wù)(例如去往和/或來自WAN連接的業(yè)務(wù))的性能、操作或服務(wù)質(zhì)量的裝置。 在一些實(shí)施例中,設(shè)備205是一個(gè)性能提高代理。在其它實(shí)施例中,設(shè)備205是任意類型和形式的WAN優(yōu)化或加速裝置,有時(shí)也被稱為WAN優(yōu)化控制器。在一個(gè)實(shí)施例中,設(shè)備205 是由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems公司出品的被稱為WANkaler的產(chǎn)品實(shí)施例中的任意一種。在其它實(shí)施例中,設(shè)備205包括由位于華盛頓州kattle的F5 Networks公司出品的被稱為BIG-IP鏈路控制器和WANjet的產(chǎn)品實(shí)施例中的任意一種。在另一個(gè)實(shí)施例中,設(shè)備205包括由位于加利福尼亞州Sunnyvale的Juniper Netfforks公司出品的WX和WXC WAN加速裝置平臺(tái)中的任意一種。在一些實(shí)施例中,設(shè)備205包括由加利福尼亞州San Francisco的Riverbed Technology公司出品的虹鱒(steelhead)系列 WAN優(yōu)化設(shè)備中的任意一種。在其它實(shí)施例中,設(shè)備205包括由位于新澤西州Roseland的 Expand Networks公司出品的WAN相關(guān)裝置中的任意一種。在一個(gè)實(shí)施例中,設(shè)備205包括由位于加利福尼亞州Cupertino的Packeteer公司出品的任意一種WAN相關(guān)設(shè)備,例如由Packeteer提供的PacketShaper、iShared和SkyX產(chǎn)品實(shí)施例。在又一個(gè)實(shí)施例中,設(shè)備205包括由位于加利福尼亞州San Jose的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ù)(WAR5)的優(yōu)化。在另一個(gè)實(shí)施例中,設(shè)備205 加速文件的傳送,例如經(jīng)由通用hternet文件系統(tǒng)(CIFS)協(xié)議。在其它實(shí)施例中,設(shè)備205 在存儲(chǔ)器和/或存儲(chǔ)裝置中提供高速緩存來加速應(yīng)用和數(shù)據(jù)的傳送。在一個(gè)實(shí)施例中,設(shè)備205在任意級(jí)別的網(wǎng)絡(luò)堆棧或在任意的協(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ù)來與另一個(gè)設(shè)備205'進(jìn)行通信。例如,設(shè)備可以使用TCP選項(xiàng)或IP報(bào)頭字段或選項(xiàng)來傳達(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)由第二傳輸層連接來將具有編碼信息的傳輸層分組傳達(dá)到第二設(shè)備205'?,F(xiàn)在參考圖1D,描述了用于傳送和/或操作客戶機(jī)102上的計(jì)算環(huán)境的網(wǎng)絡(luò)環(huán)境。 在一些實(shí)施例中,服務(wù)器106包括用于向一個(gè)或多個(gè)客戶機(jī)102傳送計(jì)算環(huán)境或應(yīng)用和/ 或數(shù)據(jù)文件的應(yīng)用傳送系統(tǒng)190??偟膩碚f,客戶機(jī)10通過網(wǎng)絡(luò)104、104’和設(shè)備200與服務(wù)器106通信。例如,客戶機(jī)102可駐留在公司的遠(yuǎn)程辦公室里,例如分支機(jī)構(gòu),并且服務(wù)器106可駐留在公司數(shù)據(jù)中心??蛻魴C(jī)102包括客戶機(jī)代理120以及計(jì)算環(huán)境15。計(jì)算環(huán)境15可執(zhí)行或操作用于訪問、處理或使用數(shù)據(jù)文件的應(yīng)用。計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件可通過設(shè)備200和/或服務(wù)器106傳送。在一些實(shí)施例中,設(shè)備200加速計(jì)算環(huán)境15或者其任意部分到客戶機(jī)102的傳送。在一個(gè)實(shí)施例中,設(shè)備200通過應(yīng)用傳送系統(tǒng)190加速計(jì)算環(huán)境15的傳送。例如,可使用此處描述的實(shí)施例來加速從公司中央數(shù)據(jù)中心到遠(yuǎn)程用戶位置(例如公司的分支機(jī)構(gòu)) 的流應(yīng)用(streaming application)及該應(yīng)用可處理的數(shù)據(jù)文件的傳送。在另一個(gè)實(shí)施例中,設(shè)備200加速客戶端102和服務(wù)器106之間的傳輸層業(yè)務(wù)量。設(shè)備200可以提供用于加速從服務(wù)器106到客戶機(jī)102的任意傳輸層有效載荷的加速技術(shù),例如1)傳輸層連接池,2)傳輸層連接多路復(fù)用,3)傳輸控制協(xié)議緩沖,4)壓縮和幻高速緩存。在一些實(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)絡(luò)連接,諸如SSL VPN連接。在又一些實(shí)施例中,設(shè)備200提供客戶機(jī)102和服務(wù)器106之間的連接和通信的應(yīng)用防火墻安全、控制和管理。在一些實(shí)施例中,基于多個(gè)執(zhí)行方法并且基于通過策略引擎195所應(yīng)用的任一驗(yàn)證和授權(quán)策略,應(yīng)用傳送管理系統(tǒng)190提供應(yīng)用傳送技術(shù)來傳送計(jì)算環(huán)境到用戶的桌面 (遠(yuǎn)程的或者其它的)。使用這些技術(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上或在其上執(zhí)行。在另一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190可駐留在多個(gè)服務(wù)器106a 106η上或在其上執(zhí)行。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190可在服務(wù)器群38內(nèi)執(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í)行、或被存儲(chǔ)于或分發(fā)到設(shè)備200或多個(gè)設(shè)備??蛻魴C(jī)102可包括用于執(zhí)行應(yīng)用的計(jì)算環(huán)境15,該應(yīng)用使用或處理數(shù)據(jù)文件??蛻魴C(jī)102可通過網(wǎng)絡(luò)104、104’和設(shè)備200請(qǐng)求來自服務(wù)器106的應(yīng)用和數(shù)據(jù)文件。在一個(gè)實(shí)施例中,設(shè)備200可以轉(zhuǎn)發(fā)來自客戶機(jī)102的請(qǐng)求到服務(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)用作為應(yīng)用流來傳輸,以在客戶機(jī)102上的計(jì)算環(huán)境15中操作。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190包括Citrix Systems Inc.的Citrix Access Suite 的任一部分(例如 MetaFrame 或 Citrix Presentation Server ),和 / 或微軟公司幵發(fā)的Microsoft Windows終端服務(wù)中的任意一個(gè)。在一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng) 190可以通過遠(yuǎn)程顯示協(xié)議或者通過基于遠(yuǎn)程計(jì)算或者基于服務(wù)器計(jì)算的其它方式來傳送一個(gè)或者多個(gè)應(yīng)用到客戶機(jī)102或者用戶。在另一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190可以通過應(yīng)用流來傳送一個(gè)或者多個(gè)應(yīng)用到客戶機(jī)或者用戶。在一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190包括策略引擎195,用于控制和管理對(duì)應(yīng)用的訪問,應(yīng)用執(zhí)行方法的選擇以及應(yīng)用的傳送。在一些實(shí)施例中,策略引擎195確定用戶或者客戶機(jī)102可以訪問的一個(gè)或者多個(gè)應(yīng)用。在另一個(gè)實(shí)施例中,策略引擎195確定應(yīng)用應(yīng)該如何被傳送到用戶或者客戶機(jī)102,例如執(zhí)行方法。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190 提供多個(gè)傳送技術(shù),從中選擇應(yīng)用執(zhí)行的方法,例如基于服務(wù)器的計(jì)算、本地流式傳輸或傳送應(yīng)用給客戶機(jī)120以用于本地執(zhí)行。在一個(gè)實(shí)施例中,客戶機(jī)102請(qǐng)求應(yīng)用程序的執(zhí)行并且包括服務(wù)器106的應(yīng)用傳送系統(tǒng)190選擇執(zhí)行應(yīng)用程序的方法。在一些實(shí)施例中,服務(wù)器106從客戶機(jī)102接收證書。在另一個(gè)實(shí)施例中,服務(wù)器106從客戶機(jī)102接收對(duì)于可用應(yīng)用的列舉的請(qǐng)求。在一個(gè)實(shí)施例中,響應(yīng)該請(qǐng)求或者證書的接收,應(yīng)用傳送系統(tǒng)190列舉對(duì)于客戶機(jī)102可用的多個(gè)應(yīng)用程序。應(yīng)用傳送系統(tǒng)190接收?qǐng)?zhí)行所列舉的應(yīng)用的請(qǐng)求。應(yīng)用傳送系統(tǒng)190選擇預(yù)定數(shù)量的方法之一來執(zhí)行所列舉的應(yīng)用,例如響應(yīng)策略引擎的策略。應(yīng)用傳送系統(tǒng)190可以選擇執(zhí)行應(yīng)用的方法,使得客戶機(jī)102接收通過執(zhí)行服務(wù)器106上的應(yīng)用程序所產(chǎn)生的應(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)用的方法,以通過網(wǎng)絡(luò)104流式傳輸應(yīng)用到客戶機(jī)102。客戶機(jī)102可以執(zhí)行、操作或者以其它方式提供應(yīng)用,應(yīng)用可為任何類型和/或形式的軟件、程序或者可執(zhí)行指令,例如任何類型和/或形式的web瀏覽器、基于web的客戶機(jī)、客戶機(jī)-服務(wù)器應(yīng)用、瘦客戶端計(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可以使用任意瘦-客戶端或遠(yuǎn)程顯示協(xié)議來顯示輸出到客戶機(jī)102,所述瘦-客戶端或遠(yuǎn)程顯示協(xié)議例如由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems公司出品的獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議或由位于華盛頓州Redmond的微軟公司出品的遠(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ù)通信的任一應(yīng)用,例如用于流式傳輸視頻和/或音頻的應(yīng)用。在一些實(shí)施例中,服務(wù)器106或服務(wù)器群38可運(yùn)行一個(gè)或多個(gè)應(yīng)用,例如提供瘦客戶端計(jì)算或遠(yuǎn)程顯示表示應(yīng)用。在一個(gè)實(shí)施例中,服務(wù)器106或服務(wù)器群38作為一個(gè)應(yīng)用來執(zhí)行 Citrix Systems Inc.的 Citrix Access Suite 的任一部分(例如 MetaFrame 或 Citrix Presentation Server ),和 / 或微軟公司開發(fā)的 Microsoft Windows 終端服務(wù)中的任意一個(gè)。在一個(gè)實(shí)施例中,該應(yīng)用是位于佛羅里達(dá)州i^ort Lauderdale的Citrix Systems Inc.開發(fā)的ICA客戶機(jī)。在其它實(shí)施例中,該應(yīng)用包括由位于華盛頓州Redmond 的Microsoft公司開發(fā)的遠(yuǎn)程桌面(RDP)客戶機(jī)。另外,服務(wù)器106可以運(yùn)行一個(gè)應(yīng)用,例如,其可以是提供電子郵件服務(wù)的應(yīng)用服務(wù)器,例如由位于華盛頓州Redmond的Microsoft 公司制造的Microsoft Exchange, web或hternet服務(wù)器,或者桌面共享服務(wù)器,或者協(xié)作服務(wù)器。在一些實(shí)施例中,任一應(yīng)用可以包括任一類型的所寄載的服務(wù)或產(chǎn)品,例如位于加利福尼亞州 Santa Barbara 的 Citrix Online Division 提供的 Go^ToMeeting ,位于加利福尼亞州Santa Clara的WebEx Inc.提供的WebEx ,或者位于華盛頓州Redmond的 Microsoft 公司提供的 Microsoft Office Live Meeting。仍然參看圖1D,網(wǎng)絡(luò)環(huán)境的一個(gè)實(shí)施例可以包括監(jiān)控服務(wù)器106A。監(jiān)控服務(wù)器 106A可以包括任何類型和形式的性能監(jiān)控服務(wù)198。性能監(jiān)控服務(wù)198可以包括監(jiān)控、測量和/或管理軟件和/或硬件,包括數(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)控、測量和數(shù)據(jù)收集活動(dòng)的任意軟件、硬件或其組合。在一些實(shí)施例中,監(jiān)控代理197包括諸如Visual Basic腳本或Javascript任意類型和形式的腳本。在一個(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è)備。在一些實(shí)施例中,監(jiān)控代理197以預(yù)定頻率監(jiān)控、測量和收集數(shù)據(jù)。在其它實(shí)施例中,監(jiān)控代理197基于檢測到任意類型和形式的事件來監(jiān)控、測量和收集數(shù)據(jù)。例如,監(jiān)控代理197可以在檢測到對(duì)web頁面的請(qǐng)求或收到HTTP響應(yīng)時(shí)收集數(shù)據(jù)。在另一個(gè)實(shí)例中, 監(jiān)控代理197可以在檢測到諸如鼠標(biāo)點(diǎn)擊的任一用戶輸入事件時(shí)收集數(shù)據(jù)。監(jiān)控代理197 可以報(bào)告或提供任何所監(jiān)控、測量或收集的數(shù)據(jù)給監(jiān)控服務(wù)198。在一個(gè)實(shí)施例中,監(jiān)控代理197根據(jù)時(shí)間安排或預(yù)定頻率來發(fā)送信息給監(jiān)控服務(wù)198。在另一個(gè)實(shí)施例中,監(jiān)控代理 197在檢測到事件時(shí)發(fā)送信息給監(jiān)控業(yè)務(wù)198。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197對(duì)諸如客戶機(jī)、服務(wù)器、服務(wù)器群、設(shè)備200、設(shè)備205或網(wǎng)絡(luò)連接的任意網(wǎng)絡(luò)資源或網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)元件的進(jìn)行監(jiān)控和性能測量。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197執(zhí)行諸如TCP或UDP連接的任意傳輸層連接的監(jiān)控和性能測量。在另一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197 監(jiān)控和測量網(wǎng)絡(luò)等待時(shí)間。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量帶寬利用。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量終端用戶響應(yīng)時(shí)間。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198執(zhí)行應(yīng)用的監(jiān)控和性能測量。在另一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197執(zhí)行到應(yīng)用的任意會(huì)話或連接的監(jiān)控和性能測量。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量瀏覽器的性能。在另一個(gè)實(shí)施例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量基于HTTP的事務(wù)的性能。在一些實(shí)施例中, 監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量IP電話(VoIP)應(yīng)用或會(huì)話的性能。在其它
11實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量諸如ICA客戶機(jī)或RDP客戶機(jī)的遠(yuǎn)程顯示協(xié)議應(yīng)用的性能。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量任意類型和形式的流媒體的性能。在進(jìn)一步的實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量所寄載的應(yīng)用或軟件即服務(wù)(Software-As-A-Service,SaaS)傳送模型的性能。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197執(zhí)行與應(yīng)用相關(guān)的一個(gè)或多個(gè)事務(wù)、請(qǐng)求或響應(yīng)的監(jiān)控和性能測量。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理 197監(jiān)控和測量應(yīng)用層堆棧的任意部分,例如任意.NET或J2EE調(diào)用。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量數(shù)據(jù)庫或SQL事務(wù)。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量任意方法、函數(shù)或應(yīng)用編程接口(API)調(diào)用。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197對(duì)經(jīng)由諸如設(shè)備200和/或設(shè)備205的一個(gè)或多個(gè)設(shè)備從服務(wù)器到客戶機(jī)的應(yīng)用和/或數(shù)據(jù)的傳送進(jìn)行監(jiān)控和性能測量。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量虛擬化應(yīng)用的傳送的性能。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量流式應(yīng)用的傳送的性能。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量傳送桌面應(yīng)用到客戶機(jī)和/或在客戶機(jī)上執(zhí)行桌面應(yīng)用的性能。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測量客戶機(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)控、測量和管理經(jīng)由Citrix表示服務(wù)器(Citrix Presentation Server)傳送應(yīng)用的性能。在該實(shí)例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控單獨(dú)的ICA會(huì)話。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 可以測量總的以及每次的會(huì)話系統(tǒng)資源使用,以及應(yīng)用和連網(wǎng)性能。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以對(duì)于給定用戶和/或用戶會(huì)話來標(biāo)識(shí)有效服務(wù)器(active server) 0在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控在應(yīng)用傳送系統(tǒng)190和應(yīng)用和/或數(shù)據(jù)庫服務(wù)器之間的后端連接。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以測量每個(gè)用戶會(huì)話或ICA會(huì)話的網(wǎng)絡(luò)等待時(shí)間、延遲和容量。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控對(duì)于應(yīng)用傳送系統(tǒng)190的諸如總的存儲(chǔ)器使用、每個(gè)用戶會(huì)話和/或每個(gè)進(jìn)程的存儲(chǔ)器使用。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控諸如總的CPU使用、每個(gè)用戶會(huì)話和/ 或每個(gè)進(jìn)程的應(yīng)用傳送系統(tǒng)190的CPU使用。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控登錄到諸如Citrix表示服務(wù)器的應(yīng)用、服務(wù)器或應(yīng)用傳送系統(tǒng)所需的時(shí)間。在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控用戶登錄應(yīng)用、服務(wù)器或應(yīng)用傳送系統(tǒng)190的持續(xù)時(shí)間。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197 測量和監(jiān)控應(yīng)用、服務(wù)器或應(yīng)用傳送系統(tǒng)會(huì)話的有效和無效的會(huì)話計(jì)數(shù)。在又一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控用戶會(huì)話等待時(shí)間。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測量和監(jiān)控任意類型和形式的服務(wù)器指標(biāo)。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測量和監(jiān)控與系統(tǒng)內(nèi)存、CPU使用和磁盤存儲(chǔ)器有關(guān)的指標(biāo)。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控和頁錯(cuò)誤有關(guān)的指標(biāo),諸如每秒頁錯(cuò)誤。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測量和監(jiān)控往返時(shí)間的指標(biāo)。在又一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/ 或監(jiān)控代理197測量和監(jiān)控與應(yīng)用崩潰、錯(cuò)誤和/或中止相關(guān)的指標(biāo)。在一些實(shí)施例中,監(jiān)控服務(wù)198和監(jiān)控代理198包括由位于佛羅里達(dá)州 Ft. Lauderdale的Citrix Systems公司出品的被稱為EdgeSight的任意一種產(chǎn)品實(shí)施例。 在另一個(gè)實(shí)施例中,性能監(jiān)控服務(wù)198和/或監(jiān)控代理198包括由位于加利福尼亞州I^lo Alto的Symphoniq公司出品的被稱為TrueView產(chǎn)品套件的產(chǎn)品實(shí)施例的任一部分。在一個(gè)實(shí)施例中,性能監(jiān)控服務(wù)198和/或監(jiān)控代理198包括由位于加利福尼亞州San Francisco 的TeaLeaf技術(shù)公司出品的被稱為TeaLeafCX產(chǎn)品套件的產(chǎn)品實(shí)施例的任意部分。在其它實(shí)施例中,性能監(jiān)控服務(wù)198和/或監(jiān)控代理198包括由位于德克薩斯州Houston的BMC 軟件公司出品的諸如BMC性能管理器和巡邏產(chǎn)品(BMC Performance Manager and Patrol products)的商業(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、鍵盤1 和 /或諸如鼠標(biāo)的指示裝置127。每個(gè)計(jì)算裝置100也可包括其它可選擇的組件,例如一個(gè)或多個(gè)輸入/輸出裝置130a-130b (總的使用標(biāo)號(hào)130表示),以及與中央處理單元101通信的高速緩存存儲(chǔ)器140。中央處理單元101是響應(yīng)并處理從主存儲(chǔ)器單元122取出的指令的任意邏輯電路。在許多實(shí)施例中,中央處理單元由微處理器單元提供,例如由加利福尼亞州Mountain View的Intel公司制造的微處理器單元;由伊利諾伊州Schaumburg的Motorola公司制造的微處理器單元;由加利福尼亞州Santa clara的Transmeta公司制造的微處理器單元;由紐約州 White Plains 的 hternational Business Machines 公司制造的 RS/6000 處理器; 或者由加利福尼亞州Sunnyvale的Advanced Micro Devices公司制造的微處理器單元。計(jì)算裝置100可以基于這些處理器中的任意一種,或者能夠按照這里所說明的那樣運(yùn)行的任意其它處理器。主存儲(chǔ)器單元122可以是能夠存儲(chǔ)數(shù)據(jù)并允許微處理器101直接訪問任意存儲(chǔ)位置的一個(gè)或多個(gè)存儲(chǔ)器芯片,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、突發(fā)SRAM或同步突發(fā)SRAM (BSRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM、快速頁模式DRAM (FPM DRAM)、增強(qiáng)型 DRAM (EDRAM)、擴(kuò)展數(shù)據(jù)輸出RAM (EDO RAM)、擴(kuò)展數(shù)據(jù)輸出DRAM (EDO DRAM)、突發(fā)擴(kuò)展數(shù)據(jù)輸出 DRAM(BED0 DRAM)、增強(qiáng)型 DRAM (EDRAM)、同步 DRAM (SDRAM)、JEDEC SRAM、PC100 SDRAM、 雙數(shù)據(jù)傳輸率SDRAM (DDR SDRAM)、增強(qiáng)型SRAM (ESDRAM)、同步鏈路DRAM (SLDRAM)、直接 Rambus DRAM(DRDRAM)或鐵電RAM(FRAM)。主存儲(chǔ)器122可以基于上述存儲(chǔ)芯片的任意一種,或者能夠像這里所說明的那樣運(yùn)行的任意其它可用存儲(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通過第二總線與高速緩存存儲(chǔ)器140直接通信的實(shí)施例,第二總線有時(shí)也稱為背側(cè)總線。其他實(shí)施例中,主處理器101使用系統(tǒng)總線150和高速緩存存儲(chǔ)器140通信。高速緩存存儲(chǔ)器140通常有比主存儲(chǔ)器122更快的響應(yīng)時(shí)間,并且通常由SRAM、BSRAM或EDRAM提供。在圖IF中所示的實(shí)施例中,處理器101通過本地系統(tǒng)總線 150與多個(gè)I/O裝置130進(jìn)行通信??梢允褂酶鞣N不同的總線將中央處理單元101連接到任意I/O裝置130,包括VESA VL總線、ISA總線、EISA總線、微通道體系結(jié)構(gòu)(MCA)總線、 PCI總線、PCI-X總線、PCI-Express總線或NuBus0對(duì)于I/O裝置是視頻顯示器124的實(shí)施例,處理器101可以使用加速圖形接口(AGP)與顯示器IM通信。圖IF說明了主處理器 101通過超傳輸(HyperTransport)、快速I/O或者InfiniBand直接與I/O裝置130通信的計(jì)算機(jī)100的一個(gè)實(shí)施例。圖IF還示出本地總線和直接通信混合的實(shí)施例處理器101使用本地互連總線和I/O裝置130通信,但和I/O裝置130直接通信計(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ú)立磁盤冗余陣列,用于存儲(chǔ)操作系統(tǒng)和其它相關(guān)軟件,以及用于存儲(chǔ)諸如涉及客戶機(jī)代理120的任意程序的應(yīng)用軟件程序?;蛘?,可以使用安裝裝置 116的任意一種作為存儲(chǔ)裝置128。此外,操作系統(tǒng)和軟件可從例如可引導(dǎo)⑶的可引導(dǎo)介質(zhì)運(yùn)行,諸如KNOPPIX ,一種用于GNU/Linux的可引導(dǎo)CD,該可引導(dǎo)CD可自knoppix. net 作為GNU/Linux分發(fā)獲得。此外,計(jì)算裝置100可以包括網(wǎng)絡(luò)接口 118以通過多種連接(包括但不限于標(biāo)準(zhǔn)電話線路、LAN或WAN鏈路(例如802. 11,Tl,Τ3、561Λ、Χ. 25)、寬帶連接(如ISDN、幀中繼、 ATM)、無線連接、或上述任意或全部的一些組合)連接到局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或因特網(wǎng)。網(wǎng)絡(luò)接口 118可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA網(wǎng)絡(luò)卡、卡總線網(wǎng)絡(luò)適配器、無線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器或適用于將計(jì)算裝置100連接到能夠通信并執(zhí)行這里所說明的操作的任意類型的網(wǎng)絡(luò)的任意其它設(shè)備。計(jì)算裝置100中可以包括各種I/O裝置130a-130n。輸入設(shè)備包括鍵盤、鼠標(biāo)、觸控板、軌跡球、話筒和繪圖板。輸出設(shè)備包括視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)和熱升華打印機(jī)。如圖IE所示,I/O裝置130可以由I/O控制器123控制。I/O控制器可以控制一個(gè)或多個(gè)I/O裝置,例如鍵盤1 和指示裝置127 (如鼠標(biāo)或光筆)。此外,I/O裝置還可以為計(jì)算裝置100提供存儲(chǔ)裝置1 和/或安裝介質(zhì)116。在其它實(shí)施例中,計(jì)算裝置 100可以提供USB連接以接收手持USB存儲(chǔ)裝置,例如由位于加利福尼亞州Los Alamitos, 的Twintech Industry公司生產(chǎn)的設(shè)備的USB閃存驅(qū)動(dòng)器線。 在一些實(shí)施例中,計(jì)算裝置100可以包括多個(gè)顯示裝置1對(duì)『12如或與其相連,這些顯示裝置可以是相同或不同的類型和/或形式。因而,任意一種I/O裝置130a-130n和/ 或I/O控制器123可以包括任一類型和/或形式的適當(dāng)?shù)挠布?、軟件或硬件和軟件的組合, 以支持、允許或提供通過計(jì)算裝置100連接和使用多個(gè)顯示裝置12如-1對(duì)11。例如,計(jì)算裝置100可以包括任意類型和/或形式的視頻適配器、視頻卡、驅(qū)動(dòng)器和/或庫,以與顯示裝置1對(duì)『12如對(duì)接、通信、連接或使用顯示裝置。在一個(gè)實(shí)施例中,視頻適配器可以包括多個(gè)連接器以與多個(gè)顯示裝置1對(duì)『12如對(duì)接。在其它實(shí)施例中,計(jì)算裝置100可以包括多個(gè)視頻適配器,每個(gè)視頻適配器與顯示裝置12如-1對(duì)11中的一個(gè)或多個(gè)連接。在一些實(shí)施例中,計(jì)算裝置100的操作系統(tǒng)的任一部分都可以被配置用于使用多個(gè)顯示器12如_1對(duì)11。 在其它實(shí)施例中,顯示裝置中的一個(gè)或多個(gè)可以由一個(gè)或多個(gè)其它計(jì)算裝置提供,諸如(例如通過網(wǎng)絡(luò))與計(jì)算裝置100連接的計(jì)算裝置IOOa和100b。這些實(shí)施例可以包括被設(shè)計(jì)和構(gòu)造的任一類型的軟件,以使用另一個(gè)計(jì)算機(jī)的顯示裝置作為計(jì)算裝置100 的第二顯示裝置IMa。本領(lǐng)域的普通技術(shù)人員會(huì)認(rèn)識(shí)和意識(shí)到可以將計(jì)算裝置100配置成擁有多個(gè)顯示裝置的各種方式和實(shí)施例。在進(jìn)一步的實(shí)施例中,I/O裝置130可以是系統(tǒng)總線150和外部通信總線(如USB 總線、Apple桌面總線、RS-232串行連接、SCSI總線、FireWire總線、FireWire800總線、以太網(wǎng)總線、AppleTalk總線、千兆位以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超級(jí)HIPPI 總線、SerialPlus總線、SCI/LAMP總線、光纖信道總線或串行SCSI總線)之間的橋170.圖IE和IF中描述的那類計(jì)算裝置100通常地在控制任務(wù)的調(diào)度和對(duì)系統(tǒng)資源的訪問的操作系統(tǒng)的控制下操作。計(jì)算裝置100可以運(yùn)行任何操作系統(tǒng),如Microsoft Windows操作系統(tǒng),不同發(fā)行版本的Unix和Linux操作系統(tǒng),用于Macintosh計(jì)算機(jī)的任意版本的MAC OS ,任意嵌入式操作系統(tǒng),任意實(shí)時(shí)操作系統(tǒng),任意幵源操作系統(tǒng),任意專有操作系統(tǒng),任意用于移動(dòng)計(jì)算裝置的操作系統(tǒng),或者任意其它能夠在計(jì)算裝置上運(yùn)行并完成這里所述操作的操作系統(tǒng)。典型的操作系統(tǒng)包括WIND0WS 3. χ、WINDOWS 95、WIND0WS98、 WINDOWS 2000、WINDOWS NT 3. 51、WINDOWS NT 4. 0、WINDOWS CE 禾口 WINDOWS XP,所有這些均由位于華盛頓州Redmond的微軟公司出品;由位于加利福尼亞州Cupertino的蘋果計(jì)算機(jī)出品的MacOS ;由位于紐約州Armonk的國際商業(yè)機(jī)器公司出品的OS/2 ;以及由位于猶他州Mlt Lake City的Caldera公司發(fā)布的可免費(fèi)使用的Linux操作系統(tǒng)或者任意類型和 /或形式的Unix操作系統(tǒng),以及其它。在其它實(shí)施例中,計(jì)算裝置100可以有不同的處理器、操作系統(tǒng)以及與其一致的輸入設(shè)備。例如,在一個(gè)實(shí)施例中,計(jì)算機(jī)100是由I^alm公司出品的Treo 180、270、1060、600 或650智能電話。在該實(shí)施例中,Treo智能電話在I3aImOS操作系統(tǒng)的控制下操作,并包括指示筆輸入裝置以及五向?qū)Ш窖b置。此外,計(jì)算裝置100可以是任意工作站、桌面計(jì)算機(jī)、 膝上型或筆記本計(jì)算機(jī)、服務(wù)器、手持計(jì)算機(jī)、移動(dòng)電話、任意其它計(jì)算機(jī)、或能夠通信并有足夠的處理器能力和存儲(chǔ)容量以執(zhí)行此處所述的操作的其它形式的計(jì)算或者電信裝置。B、設(shè)備架構(gòu)圖2A示出設(shè)備200的一個(gè)示例實(shí)施例。提供圖2A的設(shè)備200架構(gòu)僅用于示例, 并不意于作為限制性的架構(gòu)。如圖2所示,設(shè)備200包括硬件層206和被分為用戶空間202 和內(nèi)核空間204的軟件層。硬件層206提供硬件元件,在內(nèi)核空間204和用戶空間202中的程序和服務(wù)在該硬件元件上被執(zhí)行。硬件層206也提供結(jié)構(gòu)和元件,就設(shè)備200而言,這些結(jié)構(gòu)和元件允許在內(nèi)核空間204和用戶空間202內(nèi)的程序和服務(wù)既在內(nèi)部進(jìn)行數(shù)據(jù)通信又與外部進(jìn)行數(shù)據(jù)通信。如圖2所示,硬件層206包括用于執(zhí)行軟件程序和服務(wù)的處理單元沈2,用于存儲(chǔ)軟件和數(shù)據(jù)的存儲(chǔ)器264,用于通過網(wǎng)絡(luò)傳輸和接收數(shù)據(jù)的網(wǎng)絡(luò)端口沈6,以及用于執(zhí)行與安全套接字協(xié)議層相關(guān)的功能處理通過網(wǎng)絡(luò)傳輸和接收的數(shù)據(jù)的加密處理器260。在一些實(shí)施例中,中央處理單元262可在單獨(dú)的處理器中執(zhí)行加密處理器260的功能。另外,硬件層206可包括用于每個(gè)處理單元262和加密處理器沈0的多處理器。處理器262可以包括以上結(jié)合圖IE和IF所述的任一處理器101。例如,在一個(gè)實(shí)施例中,設(shè)備200包括第一處理器262和第二處理器沈2,。在其它實(shí)施例中,處理器262或者沈2,包括多核處理器。雖然示出的設(shè)備200的硬件層206通常帶有加密處理器沈0,但是處理器260可為執(zhí)行涉及任何加密協(xié)議的功能的處理器,例如安全套接字協(xié)議層(SSL)或者傳輸層安全 (TLS)協(xié)議。在一些實(shí)施例中,處理器260可為通用處理器(GPP),并且在進(jìn)一步的實(shí)施例中,可為用于執(zhí)行任何安全相關(guān)協(xié)議處理的可執(zhí)行指令。雖然圖2中設(shè)備200的硬件層206包括了某些元件,但是設(shè)備200的硬件部分或組件可包括計(jì)算裝置的任何類型和形式的元件、硬件或軟件,例如此處結(jié)合圖IE和IF示出和討論的計(jì)算裝置100。在一些實(shí)施例中,設(shè)備200可包括服務(wù)器、網(wǎng)關(guān)、路由器、開關(guān)、橋接器或其它類型的計(jì)算或網(wǎng)絡(luò)設(shè)備,并且擁有與此相關(guān)的任何硬件和/或軟件元件。設(shè)備200的操作系統(tǒng)分配、管理或另外分離可用的系統(tǒng)存儲(chǔ)器到內(nèi)核空間204和用戶空間204。在示例的軟件架構(gòu)200中,操作系統(tǒng)可以是任意類型和/或形式的Unix操作系統(tǒng),盡管本發(fā)明并未這樣限制。這樣,設(shè)備200可以允許任何操作系統(tǒng),如任何版本的 Microsoft Windows操作系統(tǒng)、不同版本的Unix和Linux操作系統(tǒng)、用于Macintosh計(jì)算機(jī)的任意版本的MacOS 、任意的嵌入式操作系統(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ì)資源以及設(shè)備104的相關(guān)硬件元件的訪問、控制和管理。根據(jù)設(shè)備200的實(shí)施例,內(nèi)核空間 204也包括與高速緩存管理器232協(xié)同工作的多個(gè)網(wǎng)絡(luò)服務(wù)或進(jìn)程,高速緩存管理器232有時(shí)也稱為集成的高速緩存,其益處此處將進(jìn)一步詳細(xì)描述。另外,內(nèi)核230的實(shí)施例將依賴于通過設(shè)備200安裝、配置或其他使用的操作系統(tǒng)的實(shí)施例。在一個(gè)實(shí)施例中,設(shè)備200包括一個(gè)網(wǎng)絡(luò)堆棧沈7,例如基于TCP/IP的堆棧,用于與客戶機(jī)102和/或服務(wù)器106通信。在一個(gè)實(shí)施例中,使用網(wǎng)絡(luò)堆棧267與第一網(wǎng)絡(luò)(例如網(wǎng)絡(luò)108)以及第二網(wǎng)絡(luò)110通信。在一些實(shí)施例中,設(shè)備200終止第一傳輸層連接,例如客戶機(jī)102的TCP連接,并建立客戶機(jī)102使用的到服務(wù)器106的第二傳輸層連接,例如, 終止在設(shè)備200和服務(wù)器106的第二傳輸層連接??赏ㄟ^單獨(dú)的網(wǎng)絡(luò)堆棧267建立第一和第二傳輸層連接。在其他實(shí)施例中,設(shè)備200可包括多個(gè)網(wǎng)絡(luò)堆棧,例如267或沈7’,并且在一個(gè)網(wǎng)絡(luò)堆棧267可建立或終止第一傳輸層連接,在第二網(wǎng)絡(luò)堆棧沈7’上可建立或者終止第二傳輸層連接。例如,一個(gè)網(wǎng)絡(luò)堆??捎糜谠诘谝痪W(wǎng)絡(luò)上接收和傳輸網(wǎng)絡(luò)分組,并且另一個(gè)網(wǎng)絡(luò)堆棧用于在第二網(wǎng)絡(luò)上接收和傳輸網(wǎng)絡(luò)分組。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧267包括用于為一個(gè)或多個(gè)網(wǎng)絡(luò)分組進(jìn)行排隊(duì)的緩沖器M3,其中網(wǎng)絡(luò)分組由設(shè)備200傳輸。如圖2所示,內(nèi)核空間204包括高速緩存管理器232、高速層2_7集成分組引擎 M0、加密引擎234、策略引擎236以及多協(xié)議壓縮邏輯238。在內(nèi)核空間204或內(nèi)核模式而不是用戶空間202中運(yùn)行這些組件或進(jìn)程232、M0、234、236和238提高這些組件中的每個(gè)單獨(dú)的和結(jié)合的性能。內(nèi)核操作意味著這些組件或進(jìn)程232、M0、234、236和238在設(shè)備 200的操作系統(tǒng)的核地址空間中運(yùn)行。例如,在內(nèi)核模式中運(yùn)行加密引擎234通過移動(dòng)加
16密和解密操作到內(nèi)核可改進(jìn)加密性能,從而可減少在內(nèi)核模式中的存儲(chǔ)空間或內(nèi)核線程與在用戶模式中的存儲(chǔ)空間或線程之間的傳輸?shù)臄?shù)量。例如,在內(nèi)核模式獲得的數(shù)據(jù)可能不需要傳輸或拷貝到運(yùn)行在用戶模式的進(jìn)程或線程,例如從內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)到用戶級(jí)數(shù)據(jù)結(jié)構(gòu)。在另一個(gè)方面,也可減少內(nèi)核模式和用戶模式之間的上下文切換的數(shù)量。另外,在任何組件或進(jìn)程232、M0、235、236和238間的同步和通信在內(nèi)核空間204中可被執(zhí)行的更有效率。在一些實(shí)施例中,組件232、M0、234、236和238的任何部分可在內(nèi)核空間204中運(yùn)行或操作,而這些組件232、M0、234、236和238的其它部分可在用戶空間202中運(yùn)行或操作。在一個(gè)實(shí)施例中,設(shè)備200使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)來提供對(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)分組的任何部分的訪問,例如,包括來自客戶機(jī)102的請(qǐng)求或者來自服務(wù)器106的響應(yīng)的網(wǎng)絡(luò)分組。 在一些實(shí)施例中,可以由分組引擎240通過到網(wǎng)絡(luò)堆棧沈7的傳輸層驅(qū)動(dòng)器接口或過濾器獲得內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)。內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)可包括通過與網(wǎng)絡(luò)堆棧267相關(guān)的內(nèi)核空間204可訪問的任何接口和/或數(shù)據(jù)、由網(wǎng)絡(luò)堆棧267接收或發(fā)送的網(wǎng)絡(luò)業(yè)務(wù)或分組。在其他實(shí)施例中,任何組件或進(jìn)程232、M0、234、236和238可使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)來執(zhí)行組件或進(jìn)程的需要的操作。在一個(gè)實(shí)例中,當(dāng)使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)時(shí),組件232、M0、234、236和238在內(nèi)核模式204中運(yùn)行,而在另一個(gè)實(shí)施例中,當(dāng)使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)時(shí),組件232、對(duì)0、234、 236和238在用戶模式中運(yùn)行。在一些實(shí)施例中,內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)可被拷貝或傳遞到第二內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu),或任何期望的用戶級(jí)數(shù)據(jù)結(jié)構(gòu)。高速緩存管理器232可包括軟件、硬件或軟件和硬件的任意組合,以提供對(duì)任何類型和形式的內(nèi)容的高速緩存訪問、控制和管理,例如對(duì)象或由源服務(wù)器106提供服務(wù)的動(dòng)態(tài)產(chǎn)生的對(duì)象。被高速緩存管理器232處理和存儲(chǔ)的數(shù)據(jù)、對(duì)象或內(nèi)容可包括任何格式 (例如標(biāo)記語言)或通過任何協(xié)議的通信的數(shù)據(jù)。在一些實(shí)施例中,高速緩存管理器232 復(fù)制存儲(chǔ)在其他地方的原始數(shù)據(jù)或先前計(jì)算、產(chǎn)生或傳輸?shù)臄?shù)據(jù),其中相對(duì)于讀高速緩存存儲(chǔ)器元件,需要更長的訪問時(shí)間以取得、計(jì)算或以其他方式得到原始數(shù)據(jù)。一旦數(shù)據(jù)被存儲(chǔ)在高速緩存存儲(chǔ)元件中,通過訪問高速緩存的副本而不是重新獲得或重新計(jì)算原始數(shù)據(jù)即可進(jìn)行后續(xù)操作,因此而減少了訪問時(shí)間。在一些實(shí)施例中,高速緩存元件可以包括設(shè)備 200的存儲(chǔ)器沈4中的數(shù)據(jù)對(duì)象。在其它實(shí)施例中,高速緩存存儲(chǔ)元件可包括有比存儲(chǔ)器 264更快的存取時(shí)間的存儲(chǔ)器。在另一個(gè)實(shí)施例中,高速緩存元件可以包括設(shè)備200的任一類型和形式的存儲(chǔ)元件,諸如硬盤的一部分。在一些實(shí)施例中,處理單元262可提供被高速緩存管理器232使用的高速緩存存儲(chǔ)器。在又一個(gè)實(shí)施例中,高速緩存管理器232可使用存儲(chǔ)器、存儲(chǔ)區(qū)或處理單元的任何部分和組合來高速緩存數(shù)據(jù)、對(duì)象或其它內(nèi)容。另外,高速緩存管理器232包括用于執(zhí)行此處描述的設(shè)備200的技術(shù)的任一實(shí)施例的任何邏輯、功能、規(guī)則或操作。例如,高速緩存管理器232包括基于無效時(shí)間周期的終止,或者從客戶機(jī)102或服務(wù)器106接收無效命令使對(duì)象無效的邏輯或功能。在一些實(shí)施例中,高速緩存管理器232可作為程序、服務(wù)、進(jìn)程或任務(wù)操作執(zhí)行在內(nèi)核空間204中,并且在其他實(shí)施例中,在用戶空間202中執(zhí)行。在一個(gè)實(shí)施例中,高速緩存管理器232的第一部分在用戶空間202中執(zhí)行,而第二部分在內(nèi)核空間204中執(zhí)行。在一些實(shí)施例中,高速緩存管理器232可包括任何類型的通用處理器(GPP),或任何其他類型的集成電路,例如現(xiàn)場可編程門陣列(FPGA),可編程邏輯設(shè)備(PLD),或者專用集成電路(ASIC)。
策略引擎236可包括,例如,智能統(tǒng)計(jì)引擎或其它可編程應(yīng)用。在一個(gè)實(shí)施例中, 策略引擎236提供配置機(jī)制以允許用戶識(shí)別、指定、定義或配置高速緩存策略。策略引擎 236,在一些實(shí)施例中,也訪問存儲(chǔ)器以支持?jǐn)?shù)據(jù)結(jié)構(gòu),例如備份表或hash表,以啟用用戶選擇的高速緩存策略決定。在其它實(shí)施例中,除了對(duì)安全、網(wǎng)絡(luò)業(yè)務(wù)、網(wǎng)絡(luò)訪問、壓縮或其它任何由設(shè)備200執(zhí)行的功能或操作的訪問、控制和管理之外,策略引擎236可包括任何邏輯、規(guī)則、功能或操作以決定和提供對(duì)設(shè)備200所高速緩存的對(duì)象、數(shù)據(jù)、或內(nèi)容的訪問、控制和管理。特定高速緩存策略的其它實(shí)施例此處進(jìn)一步描述。在一些實(shí)施例中,策略引擎236可以提供配置機(jī)制以允許用戶識(shí)別、指定、定義或配置指導(dǎo)包括但不限于圖2B中描述的諸如vServers 275、VPN功能觀0、內(nèi)聯(lián)網(wǎng)IP功能觀2、交換功能觀4、DNS功能觀6、加速功能觀8、應(yīng)用防火墻功能290和監(jiān)控代理197的部件的設(shè)備的任意其它部件或功能的行為的策略。在其它實(shí)施例中,策略引擎236可以響應(yīng)于任一配置的策略來進(jìn)行檢查、評(píng)價(jià)、實(shí)現(xiàn)或者以其他方式產(chǎn)生作用,并且還可以響應(yīng)于策略來指導(dǎo)一個(gè)或多個(gè)設(shè)備功能的操作。加密引擎234包括用于控制任何安全相關(guān)協(xié)議處理,例如SSL或TLS,或其相關(guān)的任何功能的任何邏輯、商業(yè)規(guī)則、功能或操作。例如,加密引擎234加密并解密通過設(shè)備200傳輸?shù)木W(wǎng)絡(luò)分組,或其任何部分。加密引擎234也可代表客戶機(jī)10加-10211、服務(wù)器 106a-106n或設(shè)備200來安裝或建立SSL或TLS連接。因此,加密引擎234提供SSL處理的卸載和加速。在一個(gè)實(shí)施例中,加密引擎234使用隧道協(xié)議來提供在客戶機(jī)102a-102n和服務(wù)器106a-106n間的虛擬專用網(wǎng)絡(luò)。在一些實(shí)施例中,加密引擎234與加密處理器260 通信。在其它實(shí)施例中,加密引擎234包括運(yùn)行在加密處理器260上的可執(zhí)行指令。多協(xié)議壓縮引擎238包括用于壓縮一個(gè)或多個(gè)網(wǎng)絡(luò)分組協(xié)議(例如被設(shè)備200的網(wǎng)絡(luò)堆棧267使用的任何協(xié)議)的任何邏輯、商業(yè)規(guī)則、功能或操作。在一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238雙向壓縮在客戶機(jī)102a-102n和服務(wù)器106a-106n間任一基于TCP/IP 的協(xié)議,包括消息應(yīng)用編程接口(MAPI)(電子郵件)、文件傳輸協(xié)議(FTP)、超文本傳輸協(xié)議(HTTP)、通用hternet文件系統(tǒng)(CIFQ協(xié)議(文件傳輸)、獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議、 遠(yuǎn)程桌面協(xié)議(RDP)、無線應(yīng)用協(xié)議(WAP)、移動(dòng)IP協(xié)議以及IP上語音(VoIP)協(xié)議。在其它實(shí)施例中,多協(xié)議壓縮引擎238提供基于超文本標(biāo)記語言(HTML)的協(xié)議的壓縮,并且在一些實(shí)施例中,提供任何標(biāo)記語言的壓縮,例如可擴(kuò)展標(biāo)記語言(XML)。在一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238提供任何高性能協(xié)議的壓縮,例如設(shè)計(jì)用于設(shè)備200到設(shè)備200通信的任何協(xié)議。在另一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238使用修改的傳輸控制協(xié)議來壓縮任何載荷或任何通信,例如事務(wù)TCP (T/TCP)、帶有選擇確認(rèn)的TCP (TCP-SACK)、帶有大窗口的TCP(TCP-LW)、例如TCP-Vegas協(xié)議的擁塞預(yù)報(bào)協(xié)議以及TCP欺騙協(xié)議(TCP spoofing protocol)0同樣的,多協(xié)議壓縮引擎238通過桌面客戶機(jī),例如Micosoft Outlook和非web 瘦客戶機(jī),諸如由通用企業(yè)應(yīng)用像Orac 1 e、SAP和Siebe 1啟動(dòng)的任何客戶機(jī),甚至移動(dòng)客戶機(jī),例如便攜式個(gè)人計(jì)算機(jī),來加速用戶訪問應(yīng)用的執(zhí)行。在一些實(shí)施例中,多協(xié)議壓縮引擎238通過在內(nèi)核模式204內(nèi)部執(zhí)行并與訪問網(wǎng)絡(luò)堆棧267的分組處理引擎240集成,可以壓縮TCP/IP協(xié)議攜帶的任何協(xié)議,例如任何應(yīng)用層協(xié)議。高速層2-7集成分組引擎M0,通常也稱為分組處理引擎,或分組引擎,負(fù)責(zé)設(shè)備200通過網(wǎng)絡(luò)端口 266接收和發(fā)送的分組的內(nèi)核級(jí)處理的管理。高速層2-7集成分組引擎 240可包括在處理期間用于排隊(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)分組的緩沖器,例如用于網(wǎng)絡(luò)分組的接收或者網(wǎng)絡(luò)分組的傳輸。另外,高速層2-7集成分組引擎240與一個(gè)或多個(gè)網(wǎng)絡(luò)堆棧沈7通信以通過網(wǎng)絡(luò)端口 266發(fā)送和接收網(wǎng)絡(luò)分組。高速層2-7集成分組引擎240與加密引擎234、 高速緩存管理器2 32、策略引擎236和多協(xié)議壓縮邏輯238協(xié)同工作。更具體地,配置加密引擎234以執(zhí)行分組的SSL處理,配置策略引擎236以執(zhí)行涉及業(yè)務(wù)管理的功能,例如請(qǐng)求級(jí)內(nèi)容切換以及請(qǐng)求級(jí)高速緩存重定向,并配置多協(xié)議壓縮邏輯238以執(zhí)行涉及數(shù)據(jù)壓縮和解壓縮的功能。高速層2-7集成分組引擎240包括分組處理定時(shí)器M2。在一個(gè)實(shí)施例中,分組處理定時(shí)器242提供一個(gè)或多個(gè)時(shí)間間隔以觸發(fā)輸入處理,例如,接收或者輸出(即傳輸)網(wǎng)絡(luò)分組。在一些 實(shí)施例中,高速層2-7集成分組引擎240響應(yīng)于定時(shí)器242處理網(wǎng)絡(luò)分組。 分組處理定時(shí)器M2向分組引擎240提供任何類型和形式的信號(hào)以通知、觸發(fā)或傳輸時(shí)間相關(guān)事件、間隔或發(fā)生。在許多實(shí)施例中,分組處理定時(shí)器M2以毫秒級(jí)操作,例如100ms、 50ms、或25ms。例如,在一些實(shí)例中,分組處理定時(shí)器242提供時(shí)間間隔或者以其它方式使得由高速層2-7集成分組引擎MO以IOms時(shí)間間隔處理網(wǎng)絡(luò)分組,而在其它實(shí)施例中,使高速層2-7集成分組引擎MO以5ms時(shí)間間隔處理網(wǎng)絡(luò)分組,并且在進(jìn)一步的實(shí)施例中,短到3、2或Ims時(shí)間間隔。高速層2-7集成分組引擎240在操作期間可與加密引擎234、高速緩存管理器232、策略引擎236以及多協(xié)議壓縮引擎238連接、集成或通信。因此,響應(yīng)于分組處理定時(shí)器242和/或分組引擎對(duì)0,可執(zhí)行加密引擎234、高速緩存管理器232、策略引擎236以及多協(xié)議壓縮引擎238的任何邏輯、功能或操作。因此,在由分組處理定時(shí)器 242提供的時(shí)間間隔粒度,可執(zhí)行加密引擎234、高速緩存管理器232、策略引擎236以及多協(xié)議壓縮引擎238的任何邏輯、功能或操作,例如,時(shí)間間隔少于或等于10ms。例如,在一個(gè)實(shí)施例中,響應(yīng)于高速層2-7集成分組引擎240和/或分組處理定時(shí)器M2,高速緩存管理器232可執(zhí)行任何高速緩存的對(duì)象的無效。在另一個(gè)實(shí)施例中,高速緩存的對(duì)象的終止或無效時(shí)間被設(shè)定為與分組處理定時(shí)器M2的時(shí)間間隔相同的粒度級(jí),例如每10ms。與內(nèi)核空間204不同,用戶空間202是被用戶模式應(yīng)用或在用戶模式運(yùn)行的程序所使用的操作系統(tǒng)的存儲(chǔ)區(qū)域或部分。用戶模式應(yīng)用不能直接訪問內(nèi)核空間204,為了訪問內(nèi)核服務(wù)需要使用服務(wù)調(diào)用。如圖2所示,設(shè)備200的用戶空間202包括圖形用戶接口 (⑶1)210、命令行接口(CLI) 212、殼服務(wù)(shell service) 214、健康監(jiān)控程序216以及守護(hù) (daemon)服務(wù)218。⑶I 210和CLI 212提供系統(tǒng)管理員或其他用戶可與之交互并控制設(shè)備200操作的裝置,例如通過設(shè)備200的操作系統(tǒng)。⑶I 210和CLI 212可包括運(yùn)行在用戶空間202或內(nèi)核框架204中的代碼。GUI 210可以是任何類型或形式的圖形用戶接口,可以通過文本、圖形或其他形式由任何類型的程序或應(yīng)用(如瀏覽器)來呈現(xiàn)。CLI 212可為任何類型和形式的命令行或基于文本的接口,例如通過操作系統(tǒng)提供的命令行。例如,CLI 212可包括殼,該殼是使用戶與操作系統(tǒng)相互作用的工具。在一些實(shí)施例中,可通過bash、 csKtcsh或者ks h類型的殼提供CLI 212。殼服務(wù)214包括程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令以支持由用戶通過⑶I 210和/或CLI 212的與設(shè)備200或者操作系統(tǒng)的交互健康監(jiān)控程序216用于監(jiān)控、檢查、報(bào)告并確保網(wǎng)絡(luò)系統(tǒng)正常運(yùn)行,以及用戶正通過網(wǎng)絡(luò)接收請(qǐng)求的內(nèi)容。健康監(jiān)控程序216包括一個(gè)或多個(gè)程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令,為監(jiān)控設(shè)備200的任何行為提供邏輯、規(guī)則、功能或操作。在一些實(shí)施例中,健康監(jiān)控程序216攔截并檢查通過設(shè)備200傳遞的任何網(wǎng)絡(luò)業(yè)務(wù)。在其他實(shí)施例中,健康監(jiān)控程序216通過任何合適的方法和/或機(jī)制與一個(gè)或多個(gè)下述設(shè)備連接加密引擎234,高速緩存管理器232,策略引擎236,多協(xié)議壓縮邏輯238,分組引擎M0,守護(hù)服務(wù)218以及殼服務(wù) 214。因此,健康監(jiān)控程序216可調(diào)用任何應(yīng)用編程接口(API)以確定設(shè)備200的任何部分的狀態(tài)、情況或健康。例如,健康監(jiān)控程序216可周期性地查驗(yàn)(ping)或發(fā)送狀態(tài)查詢以檢查程序、進(jìn)程、服務(wù)或任務(wù)是否活動(dòng)并當(dāng)前正在運(yùn)行。在另一個(gè)實(shí)施例中,健康監(jiān)控程序216 可檢查由任何程序、進(jìn)程、服務(wù)或任務(wù)提供的任何狀態(tài)、錯(cuò)誤或歷史日志以確定設(shè)備200任何部分的任何狀況、狀態(tài)或錯(cuò)誤。守護(hù)服務(wù)218是連續(xù)運(yùn)行或在背景中運(yùn)行的程序,并且處理設(shè)備200接收的周期性服務(wù)請(qǐng)求。在一些實(shí)施例中,守護(hù)服務(wù)可向其他程序或進(jìn)程(例如合適的另一個(gè)守護(hù)服務(wù)218)轉(zhuǎn)發(fā)請(qǐng)求。如本領(lǐng)域技術(shù)人員所公知的,守護(hù)服務(wù)218可無人監(jiān)護(hù)的運(yùn)行,以執(zhí)行連續(xù)的或周期性的系統(tǒng)范圍功能,例如網(wǎng)絡(luò)控制,或者執(zhí)行任何需要的任務(wù)。在一些實(shí)施例中,一個(gè)或多個(gè)守護(hù)服務(wù)218運(yùn)行在用戶空間202中,而在其它實(shí)施例中,一個(gè)或多個(gè)守護(hù)服務(wù)218運(yùn)行在內(nèi)核空間?,F(xiàn)在參見圖2B,描述了設(shè)備200的另一個(gè)實(shí)施例??偟膩碚f,設(shè)備200提供下列服務(wù)、功能或操作中的一個(gè)或多個(gè)用于一個(gè)或多個(gè)客戶機(jī)102以及一個(gè)或多個(gè)服務(wù)器106 之間的通信的SSL VPN連通觀0、交換/負(fù)載平衡觀4、域名服務(wù)解析觀6、加速288和應(yīng)用防火墻四0。服務(wù)器106的每一個(gè)可以提供一個(gè)或者多個(gè)網(wǎng)絡(luò)相關(guān)服務(wù)270a-270n (稱為服務(wù)270)。例如,服務(wù)器106可以提供http服務(wù)270。設(shè)備200包括一個(gè)或者多個(gè)虛擬服務(wù)器或者虛擬互聯(lián)網(wǎng)協(xié)議服務(wù)器,稱為vServer 275、vS 275、VIP服務(wù)器或者僅是VIP 275a-275n (此處也稱為vServer 275)。vServer275根據(jù)設(shè)備200的配置和操作來接收、攔截或者以其它方式處理客戶機(jī)102和服務(wù)器106之間的通信。vServer 275可以包括軟件、硬件或者軟件和硬件的任意組合。vServer275可包括在設(shè)備200中的用戶模式202、內(nèi)核模式204或者其任意組合中運(yùn)行的任意類型和形式的程序、服務(wù)、任務(wù)、進(jìn)程或者可執(zhí)行指令。vServer275包括任意邏輯、功能、規(guī)則或者操作, 以執(zhí)行此處所述技術(shù)的任意實(shí)施例,諸如SSL VPN觀0、轉(zhuǎn)換/負(fù)載平衡觀4、域名服務(wù)解析觀6、加速288和應(yīng)用防火墻四0。在一些實(shí)施例中,Werver 275建立到服務(wù)器106的服務(wù) 270的連接。服務(wù)275可以包括能夠連接到設(shè)備200、客戶機(jī)102或者vServer 275并與之通信的任意程序、應(yīng)用、進(jìn)程、任務(wù)或者可執(zhí)行指令集。例如,服務(wù)275可以包括web服務(wù)器、 http服務(wù)器、ftp、電子郵件或者數(shù)據(jù)庫服務(wù)器。在一些實(shí)施例中,服務(wù)270是守護(hù)進(jìn)程或者網(wǎng)絡(luò)驅(qū)動(dòng)器,用于監(jiān)聽、接收和/或發(fā)送應(yīng)用的通信,諸如電子郵件、數(shù)據(jù)庫或者企業(yè)應(yīng)用。 在一些實(shí)施例中,服務(wù)270可以在特定的IP地址、或者IP地址和端口上通信。在一些實(shí)施例中,vServer 275應(yīng)用策略引擎236的一個(gè)或者多個(gè)策略到客戶端 102和服務(wù)器106之間的網(wǎng)絡(luò)通信。在一個(gè)實(shí)施例中,該策略與vServer 275相關(guān)。在另一個(gè)實(shí)施例中,該策略基于用戶或者用戶組。在又一個(gè)實(shí)施例中,策略為通用的并且應(yīng)用到一個(gè)或者多個(gè)vServer 27fe_275n,和通過設(shè)備200通信的任意用戶或者用戶組。在一些實(shí)施例中,策略引擎的策略具有基于通信的任意內(nèi)容應(yīng)用該策略的條件,通信的內(nèi)容諸如互聯(lián)網(wǎng)協(xié)議地址、端口、協(xié)議類型、分組中的首部或者字段、或者通信的上下文,諸如用戶、用戶組、vServer 275、傳輸層連接、和/或客戶機(jī)102或者服務(wù)器106的標(biāo)識(shí)或者屬性。在其他實(shí)施例中,設(shè)備200與策略引擎236通信或接口,以便確定遠(yuǎn)程用戶或遠(yuǎn)程客戶端102的驗(yàn)證和/或授權(quán),以訪問來自服務(wù)器106的計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件。在另一個(gè)實(shí)施例中,設(shè)備200與策略引擎236通信或交互,以便確定遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102的驗(yàn)證和/或授權(quán),使得應(yīng)用傳送系統(tǒng)190傳送一個(gè)或多個(gè)計(jì)算環(huán)境15、應(yīng)用和/ 或數(shù)據(jù)文件。在另一個(gè)實(shí)施例中,設(shè)備200基于策略引擎236對(duì)遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102 的驗(yàn)證和/或授權(quán)建立VPN或SSL VPN連接。一個(gè)實(shí)施例中,設(shè)備200基于策略引擎236 的策略控制網(wǎng)絡(luò)業(yè)務(wù)流量以及通信會(huì)話。例如,基于策略引擎236,設(shè)備200可控制對(duì)計(jì)算環(huán)境15、應(yīng)用或數(shù)據(jù)文件的訪問。在一些實(shí)施例中,Werver 275與客戶端102經(jīng)客戶端代理120建立傳輸層連接, 諸如TCP或者UDP連接。在一個(gè)實(shí)施例中,vServer 275監(jiān)聽和接收來自客戶端102的通信。在其它實(shí)施例中,Werver 275與客戶端服務(wù)器106建立傳輸層連接,諸如TCP或者UDP 連接。在一個(gè)實(shí)施例中,vkrver275建立到運(yùn)行在服務(wù)器106上的服務(wù)器270的互聯(lián)網(wǎng)協(xié)議地址和端口的傳輸層連接。在另一個(gè)實(shí)施例中,Werver 275將到客戶端102的第一傳輸層連接與到服務(wù)器106的第二傳輸層連接相關(guān)聯(lián)。在一些實(shí)施例中,WerVer275建立到服務(wù)器106的傳輸層連接池并經(jīng)由所述池化(pooled)的傳輸層連接多路復(fù)用客戶機(jī)的請(qǐng)求。在一些實(shí)施例中,設(shè)備200提供客戶端102和服務(wù)器106之間的SSL VPN連接觀0。 例如,第一網(wǎng)絡(luò)102上的客戶端102請(qǐng)求建立到第二網(wǎng)絡(luò)104’上的服務(wù)器106的連接。在一些實(shí)施例中,第二網(wǎng)絡(luò)104’是不能從第一網(wǎng)絡(luò)104路由的。在其它實(shí)施例中,客戶端102 位于公用網(wǎng)絡(luò)104上,并且服務(wù)器106位于專用網(wǎng)絡(luò)104’上,例如企業(yè)網(wǎng)。在一個(gè)實(shí)施例中,客戶機(jī)代理120攔截第一網(wǎng)絡(luò)104上的客戶機(jī)102的通信,加密該通信,并且經(jīng)第一傳輸層連接發(fā)送該通信到設(shè)備200。設(shè)備200將第一網(wǎng)絡(luò)104上的第一傳輸層連接與到第二網(wǎng)絡(luò)104上的服務(wù)器106的第二傳輸層連接相關(guān)聯(lián)。設(shè)備200接收來自客戶端代理102的所攔截的通信,解密該通信,并且經(jīng)第二傳輸層連接發(fā)送該通信到第二網(wǎng)絡(luò)104上的服務(wù)器106。第二傳輸層連接可以是池化的傳輸層連接。同樣的,設(shè)備200為兩個(gè)網(wǎng)絡(luò)104、104’ 之間的客戶機(jī)102提供端到端安全傳輸層連接。在一個(gè)實(shí)施例中,設(shè)備200寄載虛擬專用網(wǎng)絡(luò)104上的客戶機(jī)102的內(nèi)部網(wǎng)內(nèi)部互聯(lián)網(wǎng)協(xié)議或者h(yuǎn)tranetIP 282地址??蛻魴C(jī)102具有本地網(wǎng)絡(luò)識(shí)別符,諸如第一網(wǎng)絡(luò) 104上的互聯(lián)網(wǎng)協(xié)議(IP)地址和/或主機(jī)名稱。當(dāng)經(jīng)設(shè)備200連接到第二網(wǎng)絡(luò)104’時(shí), 設(shè)備200為客戶機(jī)102在第二網(wǎng)絡(luò)104’上建立、分配或者以其它方式提供htranetIP,即網(wǎng)絡(luò)識(shí)別符,諸如IP地址和/或主機(jī)名稱。使用為客戶機(jī)的所建立的htranetIP觀2,設(shè)備200在第二或?qū)S镁W(wǎng)104'上監(jiān)聽并接收指向該客戶機(jī)102的任意通信。在一個(gè)實(shí)施例中,設(shè)備200用作或者代表第二專用網(wǎng)絡(luò)104上的客戶機(jī)102。例如,在另一個(gè)實(shí)施例中, vServer 275監(jiān)聽和響應(yīng)到客戶機(jī)102的htranetIP 282的通信。在一些實(shí)施例中,如果第二網(wǎng)絡(luò)104’上的計(jì)算裝置100發(fā)送請(qǐng)求,設(shè)備200如同客戶機(jī)102 —樣來處理該請(qǐng)求。 例如,設(shè)備200可以響應(yīng)對(duì)客戶機(jī)htranetIP 282的查驗(yàn)。在另一個(gè)實(shí)施例中,設(shè)備可以與請(qǐng)求和客戶機(jī)htranetIP 282連接的第二網(wǎng)絡(luò)104上的計(jì)算裝置100建立連接,諸如TCP 或者UDP連接。
在一些實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供下列一個(gè)或多個(gè)加速技術(shù)觀8 1)壓縮;幻解壓縮;幻傳輸控制協(xié)議池;4)傳輸控制協(xié)議多路復(fù)用; 5)傳輸控制協(xié)議緩沖;以及6)高速緩存。在一個(gè)實(shí)施例中,設(shè)備200通過開啟與每一服務(wù)器106的一個(gè)或者多個(gè)傳輸層連接并且維持這些連接以允許由客戶機(jī)經(jīng)因特網(wǎng)的重復(fù)數(shù)據(jù)訪問,來為服務(wù)器106緩解由重復(fù)開啟和關(guān)閉到客戶機(jī)102的傳輸層連接所帶來的許多處理負(fù)載。該技術(shù)此處稱為“連接池”。在一些實(shí)施例中,為了經(jīng)池化的傳輸層連接無縫拼接從客戶機(jī)102到服務(wù)器106 的通信,設(shè)備200通過在傳輸層協(xié)議級(jí)修改序列號(hào)和確認(rèn)號(hào)來翻譯或多路復(fù)用通信。這被稱為“連接多路復(fù)用”。在一些實(shí)施例中,不需要應(yīng)用層協(xié)議交互作用。例如,在到來分組 (即,自客戶機(jī)102接收的分組)的情況中,所述分組的源網(wǎng)絡(luò)地址被改變?yōu)樵O(shè)備200的輸出端口的網(wǎng)絡(luò)地址,而目的網(wǎng)絡(luò)地址被改為目的服務(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的地址改變?yōu)檎?qǐng)求的客戶機(jī)102的地址。分組的序列號(hào)和確認(rèn)號(hào)也被轉(zhuǎn)換為到客戶機(jī)102的設(shè)備200的傳輸層連接上的客戶機(jī)102所期待的序列號(hào)和確認(rèn)。在一些實(shí)施例中,傳輸層協(xié)議的分組校驗(yàn)和被重新計(jì)算以適應(yīng)這些轉(zhuǎn)換。在另一個(gè)實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供交換或負(fù)載平衡功能觀4。在一些實(shí)施例中,設(shè)備200根據(jù)層4或應(yīng)用層請(qǐng)求數(shù)據(jù)來分配業(yè)務(wù)量并將客戶機(jī)請(qǐng)求指向服務(wù)器106。在一個(gè)實(shí)施例中,盡管網(wǎng)絡(luò)分組的網(wǎng)絡(luò)層或者層2識(shí)別目的服務(wù)器106,但設(shè)備200利用作為傳輸層分組的有效載荷的數(shù)據(jù)和應(yīng)用信息來確定服務(wù)器106以便分發(fā)網(wǎng)絡(luò)分組。在一個(gè)實(shí)施例中,設(shè)備200的健康監(jiān)控程序216監(jiān)控服務(wù)器的健康來確定分發(fā)客戶機(jī)請(qǐng)求到哪個(gè)服務(wù)器106。在一些實(shí)施例中,如果設(shè)備200探測到某個(gè)服務(wù)器106不可用或者具有超過預(yù)定閾值的負(fù)載,設(shè)備200可以將客戶機(jī)請(qǐng)求指向或者分發(fā)到另一個(gè)服務(wù)器106。在一些實(shí)施例中,設(shè)備200用作域名服務(wù)(DNS)解析器或者以其它方式為來自客戶機(jī)102的DNS請(qǐng)求提供解析。在一些實(shí)施例中,設(shè)備攔截由客戶機(jī)102發(fā)送的DNS請(qǐng)求。 在一個(gè)實(shí)施例中,設(shè)備200以設(shè)備200的IP地址或其所寄載的IP地址來響應(yīng)客戶機(jī)的DNS 請(qǐng)求。在此實(shí)施例中,客戶機(jī)102把用于域名的網(wǎng)絡(luò)通信發(fā)送到設(shè)備200。在另一個(gè)實(shí)施例中,設(shè)備200以第二設(shè)備200’的或其所寄載的IP地址來響應(yīng)客戶機(jī)的DNS請(qǐng)求。在一些實(shí)施例中,設(shè)備200使用由設(shè)備200確定的服務(wù)器106的IP地址來響應(yīng)客戶機(jī)的DNS請(qǐng)求。在又一個(gè)實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供應(yīng)用防火墻功能四0。在一個(gè)實(shí)施例中,策略引擎236提供用于探測和阻斷非法請(qǐng)求的規(guī)則。在一些實(shí)施例中,應(yīng)用防火墻四0防御拒絕服務(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è)脆弱點(diǎn)1)緩沖區(qū)泄出,2)CGI-BIN參數(shù)操縱,3)表單/隱藏字段操縱,4)強(qiáng)制瀏覽,5) cookie或會(huì)話中毒,6)被破壞的訪問控制列表 (ACLs)或弱密碼,7)跨站腳本處理(XSS),8)命令注入,9) SQL注入,10)錯(cuò)誤觸發(fā)敏感信息泄露,11)對(duì)加密的不安全使用,1 服務(wù)器錯(cuò)誤配置,1 后門和調(diào)試選項(xiàng),14)網(wǎng)站涂改, 15)平臺(tái)或操作系統(tǒng)弱點(diǎn),和16)零天攻擊。在一個(gè)實(shí)施例中,對(duì)下列情況的一種或多種,應(yīng)用防火墻四0以檢查或分析網(wǎng)絡(luò)通信的形式來提供HTML格式字段的保護(hù)1)返回所需的字段,幻不允許附加字段,幻只讀和隱藏字段強(qiáng)制(enforcement),4)下拉列表和單選按鈕字段的一致,以及幻格式字段最大長度強(qiáng)制。在一些實(shí)施例中,應(yīng)用防火墻290確保沒有修改cookie。在其它實(shí)施例中,應(yīng)用防火墻290通過執(zhí)行合法的URL來防御強(qiáng)迫瀏覽。在另一些實(shí)施例中,應(yīng)用防火墻290保護(hù)包括在網(wǎng)絡(luò)通信中的任意機(jī)密信息。應(yīng)用防火墻290可以根據(jù)引擎236的規(guī)則或策略來檢查或分析任一網(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ī)密信息。基于這些出現(xiàn),在一個(gè)實(shí)施例中,應(yīng)用防火墻 290可以采取作用于網(wǎng)絡(luò)通信上的策略,諸如阻止發(fā)送網(wǎng)絡(luò)通信。在另一個(gè)實(shí)施例中,應(yīng)用防火墻290可以重寫、移動(dòng)或者以其它方式掩蔽該所識(shí)別的出現(xiàn)或者機(jī)密信息。仍然參考圖2B,設(shè)備200可以包括如上面結(jié)合圖ID所討論的性能監(jiān)控代理197。 在一個(gè)實(shí)施例中,設(shè)備200從如圖ID中所描述的監(jiān)控服務(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在攔截或檢測對(duì)web頁面的請(qǐng)求時(shí)發(fā)送監(jiān)控代理197給客戶機(jī)。在又一個(gè)實(shí)施例中,設(shè)備200響應(yīng)于監(jiān)控服務(wù)器198的請(qǐng)求來發(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測量和監(jiān)控在設(shè)備200上執(zhí)行的任意應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或線程的性能。例如,監(jiān)控代理197可以監(jiān)控和測量vServers 275A-275N的性能與操作。在另一個(gè)實(shí)施例中,監(jiān)控代理197測量和監(jiān)控設(shè)備200的任意傳輸層連接的性能。在一些實(shí)施例中,監(jiān)控代理197測量和監(jiān)控通過設(shè)備200的任意用戶會(huì)話的性能。在一個(gè)實(shí)施例中,監(jiān)控代理197測量和監(jiān)控通過設(shè)備200的諸如SSL VPN會(huì)話的任意虛擬專用網(wǎng)連接和/或會(huì)話的性能。在進(jìn)一步的實(shí)施例中,監(jiān)控代理197測量和監(jiān)控設(shè)備200的內(nèi)存、CPU和磁盤使用以及性能。在又一個(gè)實(shí)施例中,監(jiān)控代理197測量和監(jiān)控諸如SSL卸載、連接池和多路復(fù)用、高速緩存以及壓縮的由設(shè)備200執(zhí)行的任意加速技術(shù)觀8的性能。在一些實(shí)施例中,監(jiān)控代理197測量和監(jiān)控由設(shè)備200執(zhí)行的任一負(fù)載平衡和/或內(nèi)容交換觀4的性能。在其它實(shí)施例中,監(jiān)控代理197測量和監(jiān)控由設(shè)備200執(zhí)行的應(yīng)用防火墻290保護(hù)和處理的性能。C、客戶機(jī)代理現(xiàn)在看圖3,描述客戶機(jī)代理120的實(shí)施例。客戶機(jī)102包括客戶機(jī)代理120,用于經(jīng)由網(wǎng)絡(luò)104與設(shè)備200和/或服務(wù)器106來建立和交換通信??偟膩碚f,客戶機(jī)102在計(jì)算裝置100上操作,該計(jì)算裝置100擁有帶有內(nèi)核模式302以及用戶模式303的操作系統(tǒng),以及帶有一個(gè)或多個(gè)層310a-310b的網(wǎng)絡(luò)堆棧310??蛻魴C(jī)102可以已經(jīng)安裝和/或執(zhí)行一個(gè)或多個(gè)應(yīng)用。在一些實(shí)施例中,一個(gè)或多個(gè)應(yīng)用可通過網(wǎng)絡(luò)堆棧310與網(wǎng)絡(luò)104通信。所述應(yīng)用之一,諸如web瀏覽器,也可包括第一程序322。例如,可在一些實(shí)施例中使用第一程序322來安裝和/或執(zhí)行客戶機(jī)代理120,或其中任意部分??蛻魴C(jī)代理120包括攔截機(jī)制或者攔截器350,用于從網(wǎng)絡(luò)堆棧310攔截來自一個(gè)或者多個(gè)應(yīng)用的網(wǎng)絡(luò)通信??蛻魴C(jī)102的網(wǎng)絡(luò)堆棧310可包括任何類型和形式的軟件、或硬件或其組合,用于提供與網(wǎng)絡(luò)的連接和通信。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧310包括用于網(wǎng)絡(luò)協(xié)議組的軟件實(shí)現(xiàn)。網(wǎng)絡(luò)堆棧310可包括一個(gè)或多個(gè)網(wǎng)絡(luò)層,例如為本領(lǐng)域技術(shù)人員所公認(rèn)和了解的開放式系統(tǒng)互聯(lián)(OSI)通信模型的任何網(wǎng)絡(luò)層。這樣,網(wǎng)絡(luò)堆棧310可包括用于任何以下OSI 模型層的任何類型和形式的協(xié)議1)物理鏈路層;幻數(shù)據(jù)鏈路層;幻網(wǎng)絡(luò)層;4)傳輸層;5) 會(huì)話層);6)表示層,以及7)應(yīng)用層。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧310可包括在因特網(wǎng)協(xié)議 (IP)的網(wǎng)絡(luò)層協(xié)議上的傳輸控制協(xié)議(TCP),通常稱為TCP/IP。在一些實(shí)施例中,可在以太網(wǎng)協(xié)議上實(shí)施TCP/IP協(xié)議,以太網(wǎng)協(xié)議可包括IEEE廣域網(wǎng)(WAN)或局域網(wǎng)(LAN)協(xié)議的任何族,例如被IEEE802. 3覆蓋的這些協(xié)議。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧310包括任何類型和形式的無線協(xié)議,例如IEEE802. 11和/或移動(dòng)因特網(wǎng)協(xié)議??紤]基于TCP/IP的網(wǎng)絡(luò),可使用任何基于TCP/IP的協(xié)議,包括消息應(yīng)用編程接口(MAPI) (email)、文件傳輸協(xié)議(FTP)、超文本傳輸協(xié)議(HTTP)、通用因特網(wǎng)文件系統(tǒng) (CIFS)協(xié)議(文件傳輸)、獨(dú)立計(jì)算框架(ICA)協(xié)議、遠(yuǎn)程桌面協(xié)議(RDP)、無線應(yīng)用協(xié)議 (WAP)、移動(dòng)IP協(xié)議,以及IP語音(VoIP)協(xié)議。在另一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧310包括任何類型和形式的傳輸控制協(xié)議,諸如修改的傳輸控制協(xié)議,例如事務(wù)TCP (T/TCP),帶有選擇確認(rèn)的TCP (TCP-SACK),帶有大窗口的TCP (TCP-Lff),擁塞預(yù)測協(xié)議,例如TCP-Vegas協(xié)議, 以及TCP電子欺騙協(xié)議。在其他實(shí)施例中,任何類型和形式的用戶數(shù)據(jù)報(bào)協(xié)議(UDP),例如 IP上UDP,可被網(wǎng)絡(luò)堆棧310使用,諸如用于語音通信或?qū)崟r(shí)數(shù)據(jù)通信。另外,網(wǎng)絡(luò)堆棧310可包括支持一個(gè)或多個(gè)層的一個(gè)或多個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器,例如TCP 驅(qū)動(dòng)器或網(wǎng)絡(luò)層驅(qū)動(dòng)器。網(wǎng)絡(luò)層驅(qū)動(dòng)器可作為計(jì)算裝置100的操作系統(tǒng)的一部分或者作為計(jì)算裝置100的任何網(wǎng)絡(luò)接口卡或其它網(wǎng)絡(luò)訪問組件的一部分被包括。在一些實(shí)施例中, 網(wǎng)絡(luò)堆棧310的任何網(wǎng)絡(luò)驅(qū)動(dòng)器可被定制、修改或調(diào)整以提供網(wǎng)絡(luò)堆棧310的定制或修改部分,用來支持此處描述的任何技術(shù)。在其它實(shí)施例中,設(shè)計(jì)并構(gòu)建加速程序302以與網(wǎng)絡(luò)堆棧310協(xié)同操作或工作,上述網(wǎng)絡(luò)堆棧310由客戶機(jī)102的操作系統(tǒng)安裝或以其它方式提供。網(wǎng)絡(luò)堆棧310包括任何類型和形式的接口,用于接收、獲得、提供或以其它方式訪問涉及客戶機(jī)102的網(wǎng)絡(luò)通信的任何信息和數(shù)據(jù)。在一個(gè)實(shí)施例中,與網(wǎng)絡(luò)堆棧310的接口包括應(yīng)用編程接口(API)。接口也可包括任何函數(shù)調(diào)用、鉤子或過濾機(jī)制,事件或回調(diào)機(jī)制、或任何類型的接口技術(shù)。網(wǎng)絡(luò)堆棧310通過接口可接收或提供與網(wǎng)絡(luò)堆棧310的功能或操作相關(guān)的任何類型和形式的數(shù)據(jù)結(jié)構(gòu),例如對(duì)象。例如,數(shù)據(jù)結(jié)構(gòu)可以包括與網(wǎng)絡(luò)分組相關(guān)的信息和數(shù)據(jù)或者一個(gè)或多個(gè)網(wǎng)絡(luò)分組。在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括在網(wǎng)絡(luò)堆棧 310的協(xié)議層處理的網(wǎng)絡(luò)分組的一部分,例如傳輸層的網(wǎng)絡(luò)分組。在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)325包括內(nèi)核級(jí)別數(shù)據(jù)結(jié)構(gòu),而在其他實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)325包括用戶模式數(shù)據(jù)結(jié)構(gòu)。 內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)可以包括獲得的或與在內(nèi)核模式302中操作的網(wǎng)絡(luò)堆棧310的一部分相關(guān)的數(shù)據(jù)結(jié)構(gòu)、或者運(yùn)行在內(nèi)核模式302中的網(wǎng)絡(luò)驅(qū)動(dòng)程序或其它軟件、或者由運(yùn)行或操作在操作系統(tǒng)的內(nèi)核模式的服務(wù)、進(jìn)程、任務(wù)、線程或其它可執(zhí)行指令獲得或收到的任意數(shù)據(jù)
24結(jié)構(gòu)。此外,網(wǎng)絡(luò)堆棧310的一些部分可在內(nèi)核模式302執(zhí)行或操作,例如,數(shù)據(jù)鏈路或網(wǎng)絡(luò)層,而其他部分在用戶模式303執(zhí)行或操作,例如網(wǎng)絡(luò)堆棧310的應(yīng)用層。例如,網(wǎng)絡(luò)堆棧的第一部分310a可以給應(yīng)用提供對(duì)網(wǎng)絡(luò)堆棧310的用戶模式訪問,而網(wǎng)絡(luò)堆棧310的第二部分310a提供對(duì)網(wǎng)絡(luò)的訪問。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧的第一部分310a可包括網(wǎng)絡(luò)堆棧310的一個(gè)或多個(gè)更上層,例如層5-7的任意層。在其它實(shí)施例中,網(wǎng)絡(luò)堆棧310的第二部分310b包括一個(gè)或多個(gè)較低的層,例如層1-4的任意層。網(wǎng)絡(luò)堆棧310的每個(gè)第一部分310a和第二部分310b可包括網(wǎng)絡(luò)堆棧310的任何部分,位于任意一個(gè)或多個(gè)網(wǎng)絡(luò)層,處于用戶模式203、內(nèi)核模式202,或其組合,或在網(wǎng)絡(luò)層的任何部分或者到網(wǎng)絡(luò)層的接口點(diǎn), 或用戶模式203和內(nèi)核模式202的任何部分或到用戶模式203和內(nèi)核模式202的接口點(diǎn)。攔截器350可以包括軟件、硬件、或者軟件和硬件的任意組合。在一個(gè)實(shí)施例中, 攔截器350在網(wǎng)絡(luò)堆棧310的任一點(diǎn)攔截網(wǎng)絡(luò)通信,并且重定向或者發(fā)送網(wǎng)絡(luò)通信到由攔截器350或者客戶機(jī)代理120所期望的、管理的或者控制的目的地。例如,攔截器350可以攔截第一網(wǎng)絡(luò)的網(wǎng)絡(luò)堆棧310的網(wǎng)絡(luò)通信并且發(fā)送該網(wǎng)絡(luò)通信到設(shè)備200,用于在第二網(wǎng)絡(luò)104上發(fā)送。在一些實(shí)施例中,攔截器350包括含有諸如被構(gòu)建和設(shè)計(jì)來與網(wǎng)絡(luò)堆棧310 對(duì)接并一同工作的網(wǎng)絡(luò)驅(qū)動(dòng)器的驅(qū)動(dòng)器的任一類型的攔截器350。在一些實(shí)施例中,客戶機(jī)代理120和/或攔截器350操作在網(wǎng)絡(luò)堆棧310的一個(gè)或者多個(gè)層,諸如在傳輸層。在一個(gè)實(shí)施例中,攔截器350包括過濾器驅(qū)動(dòng)器、鉤子機(jī)制、或者連接到網(wǎng)絡(luò)堆棧的傳輸層的任一形式和類型的合適網(wǎng)絡(luò)驅(qū)動(dòng)器接口,諸如通過傳輸驅(qū)動(dòng)器接口(TDI)。在一些實(shí)施例中, 攔截器350連接到諸如傳輸層的第一協(xié)議層和諸如傳輸協(xié)議層之上的任意層的另一個(gè)協(xié)議層,例如,應(yīng)用協(xié)議層。在一個(gè)實(shí)施例中,攔截器350可以包括遵守網(wǎng)絡(luò)驅(qū)動(dòng)器接口規(guī)范 (NDIS)的驅(qū)動(dòng)器,或者NDIS驅(qū)動(dòng)器。在另一個(gè)實(shí)施例中,攔截器350可以包括微型過濾器或者微端口驅(qū)動(dòng)器。在一個(gè)實(shí)施例中,攔截器350或其部分在內(nèi)核模式202中操作。在另一個(gè)實(shí)施例中,攔截器350或其部分在用戶模式203中操作。在一些實(shí)施例中,攔截器350 的一部分在內(nèi)核模式202中操作,而攔截器350的另一部分在用戶模式203中操作。在其它實(shí)施例中,客戶機(jī)代理120在用戶模式203操作,但通過攔截器350連接到內(nèi)核模式驅(qū)動(dòng)器、進(jìn)程、服務(wù)、任務(wù)或者操作系統(tǒng)的部分,諸如以獲取內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)225。在其它實(shí)施例中,攔截器350為用戶模式應(yīng)用或者程序,諸如應(yīng)用。在一個(gè)實(shí)施例中,攔截器350攔截任意的傳輸層連接請(qǐng)求。在這些實(shí)施例中,攔截器350執(zhí)行傳輸層應(yīng)用編程接口(API)調(diào)用以設(shè)置目的地信息,諸如到期望位置的目的地 IP地址和/或端口用于定位。以此方式,攔截器350攔截并重定向傳輸層連接到由攔截器 350或客戶機(jī)代理120控制或管理的IP地址和端口。在一個(gè)實(shí)施例中,攔截器350把連接的目的地信息設(shè)置為客戶機(jī)代理120監(jiān)聽的客戶機(jī)102的本地IP地址和端口。例如,客戶機(jī)代理120可以包括為重定向的傳輸層通信監(jiān)聽本地IP地址和端口的代理服務(wù)。在一些實(shí)施例中,客戶機(jī)代理120隨后將重定向的傳輸層通信傳送到設(shè)備200。在一些實(shí)施例中,攔截器350攔截域名服務(wù)(DNS)請(qǐng)求。在一個(gè)實(shí)施例中,客戶機(jī)代理120和/或攔截器350解析DNS請(qǐng)求。在另一個(gè)實(shí)施例中,攔截器發(fā)送所攔截的DNS 請(qǐng)求到設(shè)備200以進(jìn)行DNS解析。在一個(gè)實(shí)施例中,設(shè)備200解析DNS請(qǐng)求并且將DNS響應(yīng)傳送到客戶機(jī)代理120。在一些實(shí)施例中,設(shè)備200經(jīng)另一個(gè)設(shè)備200’或者DNS服務(wù)器106來解析DNS請(qǐng)求。在又一個(gè)實(shí)施例中,客戶機(jī)代理120可以包括兩個(gè)代理120和120’。在一個(gè)實(shí)施例中,第一代理120可以包括在網(wǎng)絡(luò)堆棧310的網(wǎng)絡(luò)層操作的攔截器350。在一些實(shí)施例中,第一代理120攔截網(wǎng)絡(luò)層請(qǐng)求,諸如因特網(wǎng)控制消息協(xié)議(ICMP)請(qǐng)求(例如,查驗(yàn)和跟蹤路由)。在其它實(shí)施例中,第二代理120’可以在傳輸層操作并且攔截傳輸層通信。在一些實(shí)施例中,第一代理120在網(wǎng)絡(luò)堆棧210的一層攔截通信并且與第二代理120’連接或者將所攔截的通信傳送到第二代理120’??蛻魴C(jī)代理120和/或攔截器350可以以對(duì)網(wǎng)絡(luò)堆棧310的任意其它協(xié)議層透明的方式在協(xié)議層操作或與之對(duì)接。例如,在一個(gè)實(shí)施例中,攔截器350可以以對(duì)諸如網(wǎng)絡(luò)層的傳輸層之下的任意協(xié)議層和諸如會(huì)話、表示或應(yīng)用層協(xié)議的傳輸層之上的任意協(xié)議層透明的方式在網(wǎng)絡(luò)堆棧310的傳輸層操作或與之對(duì)接。這允許網(wǎng)絡(luò)堆棧310的其它協(xié)議層如所期望的進(jìn)行操作并無需修改以使用攔截器350。這樣,客戶機(jī)代理120和/或攔截器350 可以與傳輸層連接以安全、優(yōu)化、加速、路由或者負(fù)載平衡經(jīng)由傳輸層承載的任一協(xié)議提供的任一通信,諸如TCP/IP上的任一應(yīng)用層協(xié)議。此外,客戶機(jī)代理120和/或攔截器可以以對(duì)任意應(yīng)用、客戶機(jī)102的用戶和與客戶機(jī)102通信的諸如服務(wù)器的任意其它計(jì)算裝置透明的方式在網(wǎng)絡(luò)堆棧310上操作或與之對(duì)接。客戶機(jī)代理120和/或攔截器350可以以無需修改應(yīng)用的方式被安裝和/或執(zhí)行在客戶機(jī)102上。在一些實(shí)施例中,客戶機(jī)102的用戶或者與客戶機(jī)102通信的計(jì)算裝置未意識(shí)到客戶機(jī)代理120和/或攔截器350的存在、執(zhí)行或者操作。同樣,在一些實(shí)施例中, 相對(duì)于應(yīng)用、客戶機(jī)102的用戶、諸如服務(wù)器的另一個(gè)計(jì)算裝置、或者在由攔截器350連接的協(xié)議層之上和/或之下的任意協(xié)議層透明地來安裝、執(zhí)行和/或操作客戶機(jī)代理120和 /或攔截器350??蛻魴C(jī)代理120包括加速程序302、流客戶機(jī)306、收集代理304和/或監(jiān)控代理197。在一個(gè)實(shí)施例中,客戶機(jī)代理120包括由佛羅里達(dá)州R)rt Lauderdale的Citrix Systems Inc.開發(fā)的獨(dú)立計(jì)算架構(gòu)(ICA)客戶機(jī)或其任一部分,并且也指ICA客戶機(jī)。在一些實(shí)施例中,客戶機(jī)代理120包括應(yīng)用流客戶機(jī)306,用于從服務(wù)器106流式傳輸應(yīng)用到客戶機(jī)102。在一些實(shí)施例中,客戶機(jī)代理120包括加速程序302,用于加速客戶機(jī)102和服務(wù)器106之間的通信。在另一個(gè)實(shí)施例中,客戶機(jī)代理120包括收集代理304,用于執(zhí)行端點(diǎn)檢測/掃描并且用于為設(shè)備200和/或服務(wù)器106收集端點(diǎn)信息。在一些實(shí)施例中,加速程序302包括用于執(zhí)行一個(gè)或多個(gè)加速技術(shù)的客戶機(jī)側(cè)加速程序,以加速、增強(qiáng)或者以其他方式改善客戶機(jī)與服務(wù)器106的通信和/或?qū)Ψ?wù)器106 的訪問,諸如訪問由服務(wù)器106提供的應(yīng)用。加速程序302的可執(zhí)行指令的邏輯、函數(shù)和/ 或操作可以執(zhí)行一個(gè)或多個(gè)下列加速技術(shù)1)多協(xié)議壓縮,幻傳輸控制協(xié)議池,幻傳輸控制協(xié)議多路復(fù)用,4)傳輸控制協(xié)議緩沖,以及幻通過高速緩存管理器的高速緩存。另外, 加速程序302可執(zhí)行由客戶機(jī)102接收和/或發(fā)送的任何通信的加密和/或解密。在一些實(shí)施例中,加速程序302以集成的方式或者格式執(zhí)行一個(gè)或者多個(gè)加速技術(shù)。另外,加速程序302可以對(duì)作為傳輸層協(xié)議的網(wǎng)絡(luò)分組的有效載荷所承載的任一協(xié)議或者多協(xié)議執(zhí)行壓縮。流客戶機(jī)306包括應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令,所述應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令用于接收和執(zhí)行從服務(wù)器106所流式傳輸?shù)膽?yīng)用。服務(wù)器 106可以流式傳輸一個(gè)或者多個(gè)應(yīng)用數(shù)據(jù)文件到流客戶機(jī)306,用于播放、執(zhí)行或者以其它方式引起客戶機(jī)102上的應(yīng)用被執(zhí)行。在一些實(shí)施例中,服務(wù)器106發(fā)送一組壓縮或者打包的應(yīng)用數(shù)據(jù)文件到流客戶機(jī)306。在一些實(shí)施例中,多個(gè)應(yīng)用文件被壓縮并存儲(chǔ)在文件服務(wù)器上檔案文件中,例如CAB、ZIP、SIT、TAR、JAR或其它檔案文件。在一個(gè)實(shí)施例中,服務(wù)器106解壓縮、解包或者解檔應(yīng)用文件并且將該文件發(fā)送到客戶機(jī)102。在另一個(gè)實(shí)施例中,客戶機(jī)102解壓縮、解包或者解檔應(yīng)用文件。流客戶機(jī)306動(dòng)態(tài)安裝應(yīng)用或其部分,并且執(zhí)行該應(yīng)用。在一個(gè)實(shí)施例中,流客戶機(jī)306可以為可執(zhí)行程序。在一些實(shí)施例中,流客戶機(jī)306可以能夠啟動(dòng)另一個(gè)可執(zhí)行程序。收集代理304包括應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令,用于識(shí)別、獲取和/或收集關(guān)于客戶機(jī)102的信息。在一些實(shí)施例中,設(shè)備200發(fā)送收集代理304到客戶機(jī)102或者客戶機(jī)代理120??梢愿鶕?jù)設(shè)備的策略引擎236的一個(gè)或多個(gè)策略來配置收集代理304。在其它實(shí)施例中,收集代理304發(fā)送在客戶機(jī)102上收集的信息到設(shè)備200。在一個(gè)實(shí)施例中,設(shè)備200的策略引擎236使用所收集的信息來確定和提供客戶機(jī)到網(wǎng)絡(luò)104 的連接的訪問、驗(yàn)證和授權(quán)控制。在一個(gè)實(shí)施例中,收集代理304包括端點(diǎn)檢測和掃描機(jī)制,其識(shí)別并且確定客戶機(jī)的一個(gè)或者多個(gè)屬性或者特征。例如,收集代理304可以識(shí)別和確定任意一個(gè)或多個(gè)以下的客戶機(jī)側(cè)屬性1)操作系統(tǒng)和/或操作系統(tǒng)的版本,2)操作系統(tǒng)的服務(wù)包,3)運(yùn)行的服務(wù),4)運(yùn)行的進(jìn)程,和幻文件。收集代理304還可以識(shí)別并確定客戶機(jī)上任意一個(gè)或多個(gè)以下軟件的存在或版本1)防病毒軟件;幻個(gè)人防火墻軟件;3)防垃圾郵件軟件,和4) 互聯(lián)網(wǎng)安全軟件。策略引擎236可以具有基于客戶機(jī)或客戶機(jī)側(cè)屬性的任意一個(gè)或多個(gè)屬性或特性的一個(gè)或多個(gè)策略。在一些實(shí)施例中,客戶機(jī)代理120包括如結(jié)合圖ID和2B所討論的監(jiān)控代理197。 監(jiān)控代理197可以是諸如Visual Basic或Java腳本的任意類型和形式的腳本。在一個(gè)實(shí)施例中,監(jiān)控代理197監(jiān)控和測量客戶機(jī)代理120的任意部分的性能。例如,在一些實(shí)施例中,監(jiān)控代理197監(jiān)控和測量加速程序302的性能。在另一個(gè)實(shí)施例中,監(jiān)控代理197監(jiān)控和測量流客戶機(jī)306的性能。在其它實(shí)施例中,監(jiān)控代理197監(jiān)控和測量收集代理304的性能。在又一個(gè)實(shí)施例中,監(jiān)控代理197監(jiān)控和測量攔截器350的性能。在一些實(shí)施例中, 監(jiān)控代理197監(jiān)控和測量客戶機(jī)102的諸如存儲(chǔ)器、CPU和磁盤的任意資源。監(jiān)控代理197可以監(jiān)控和測量客戶機(jī)的任意應(yīng)用的性能。在一個(gè)實(shí)施例中,監(jiān)控代理197監(jiān)控和測量客戶機(jī)102上的瀏覽器的性能。在一些實(shí)施例中,監(jiān)控代理197監(jiān)控和測量經(jīng)由客戶機(jī)代理120傳送的任意應(yīng)用的性能。在其它實(shí)施例中,監(jiān)控代理197測量和監(jiān)控應(yīng)用的最終用戶響應(yīng)時(shí)間,例如基于web的響應(yīng)時(shí)間或HTTP響應(yīng)時(shí)間。監(jiān)控代理197 可以監(jiān)控和測量ICA或RDP客戶機(jī)的性能。在另一個(gè)實(shí)施例中,監(jiān)控代理197測量和監(jiān)控用戶會(huì)話或應(yīng)用會(huì)話的指標(biāo)。在一些實(shí)施例中,監(jiān)控代理197測量和監(jiān)控ICA或RDP會(huì)話。 在一個(gè)實(shí)施例中,監(jiān)控代理197測量和監(jiān)控設(shè)備200在加速傳送應(yīng)用和/或數(shù)據(jù)到客戶機(jī) 102的過程中的性能。在一些實(shí)施例中,仍參見圖3,第一程序322可以用于自動(dòng)地、靜默地、透明地或者以其它方式安裝和/或執(zhí)行客戶機(jī)代理120或其部分,諸如攔截器350。在一個(gè)實(shí)施例中,第一程序322包括插件組件,例如ActiveX控件或Java控件或腳本,其加載到應(yīng)用并由應(yīng)用執(zhí)行。例如,第一程序包括由web瀏覽器應(yīng)用載入和運(yùn)行的ActiveX控件,例如在存儲(chǔ)器空間或應(yīng)用的上下文中。在另一個(gè)實(shí)施例中,第一程序322包括可執(zhí)行指令組,該可執(zhí)行指令組被例如瀏覽器的應(yīng)用載入并執(zhí)行。在一個(gè)實(shí)施例中,第一程序322包括被設(shè)計(jì)和構(gòu)造的程序以安裝客戶機(jī)代理120。在一些實(shí)施例中,第一程序322通過網(wǎng)絡(luò)從另一個(gè)計(jì)算裝置獲得、下載、或接收客戶機(jī)代理120。在另一個(gè)實(shí)施例中,第一程序322是用于在客戶機(jī)102 的操作系統(tǒng)上安裝如網(wǎng)絡(luò)驅(qū)動(dòng)的程序的安裝程序或即插即用管理器。D、基于調(diào)出的策略現(xiàn)參考圖4,描述了使用基于調(diào)出的策略4 從響應(yīng)442確定動(dòng)作456的中間設(shè)備 200的實(shí)施例??偟膩碚f,中間設(shè)備200包括具有一個(gè)或多個(gè)策略424的策略引擎236。策略4M被配置為使用指定的屬性422給策略引擎236提供一個(gè)或多個(gè)調(diào)出規(guī)則424。響應(yīng)于策略,調(diào)出功能414根據(jù)指定的屬性產(chǎn)生請(qǐng)求452并將所產(chǎn)生的請(qǐng)求傳輸?shù)窖b置或服務(wù), 例如服務(wù)器106。對(duì)請(qǐng)求452的響應(yīng)442是由中間設(shè)備200接收的并且由策略引擎的響應(yīng)評(píng)估器412對(duì)其進(jìn)行評(píng)估?;谠u(píng)估的結(jié)果,策略引擎236確定對(duì)策略424的動(dòng)作456。進(jìn)一步的細(xì)節(jié)中,策略引擎236可包括結(jié)合圖2A所描述的策略引擎236和/或結(jié)合圖ID描述的策略引擎195的任何實(shí)施例。策略引擎236可包括調(diào)出功能414,其用于提供此處所描述的基于調(diào)出的策略的任何實(shí)施例的操作、執(zhí)行和/或功能。調(diào)出功能414可包括策略引擎236的任意類型和形式的組件、模塊、邏輯、功能和/或操作。調(diào)出功能414 可包括軟件、硬件或軟件和硬件的任一組合。調(diào)出功能414可包括應(yīng)用、程序、庫、腳本、進(jìn)程、任務(wù)、線程或任意類型和形式的可執(zhí)行指令。盡管調(diào)出功能414圖示為策略引擎236的一部分,但在一些實(shí)施例中,調(diào)出功能414可以是中間設(shè)備或另一個(gè)裝置的單獨(dú)的引擎、組件或模塊。在這些實(shí)施例中,調(diào)出引擎與策略引擎236通信或?qū)?。調(diào)出功能414可以被設(shè)計(jì)和構(gòu)建為根據(jù)任意類型和形式的協(xié)議產(chǎn)生任意類型和形式的請(qǐng)求452。一些實(shí)施例中,調(diào)出功能產(chǎn)生HTTP或HTTPS請(qǐng)求。其他實(shí)施例中,調(diào)出功能產(chǎn)生XML類型的請(qǐng)求。一個(gè)實(shí)施例中,調(diào)出功能414產(chǎn)生基于SOAP的請(qǐng)求。一些實(shí)施例中,調(diào)出功能產(chǎn)生基于AJAX(異步Java腳本和XML)的請(qǐng)求。其他實(shí)施例中,調(diào)出功能產(chǎn)生執(zhí)行腳本。一些實(shí)施例中,調(diào)出功能414產(chǎn)生包括任何腳本語言的請(qǐng)求452。一些實(shí)施例中,調(diào)出功能414產(chǎn)生使用諸如ICA或RDP的遠(yuǎn)程顯示協(xié)議的請(qǐng)求452。一些實(shí)施例中,調(diào)出功能414產(chǎn)生使用任何類型的服務(wù)器消息塊協(xié)議的請(qǐng)求452。又一個(gè)實(shí)施例中,調(diào)出功能 414產(chǎn)生電子郵件消息。一些實(shí)施例中,調(diào)出功能414產(chǎn)生MAPI請(qǐng)求。調(diào)出功能414可響應(yīng)于策略424、策略引擎236和/或中間設(shè)備200的任何配置來產(chǎn)生請(qǐng)求452。一些實(shí)施例中,調(diào)出功能414使用和/或根據(jù)由策略似4指定的任何屬性 422來產(chǎn)生請(qǐng)求452。例如,屬性422可指定由調(diào)出功能414在產(chǎn)生請(qǐng)求452時(shí)所使用的任何部分、參數(shù)、類型、命令、格式或協(xié)議。一些實(shí)施例中,調(diào)出功能414響應(yīng)于另一策略來產(chǎn)生請(qǐng)求452,諸如中間設(shè)備的用戶策略、會(huì)話或通信量管理。調(diào)出功能414可包括響應(yīng)評(píng)估器412來讀取、解析、解釋和/或評(píng)估任意類型和形式的響應(yīng)。響應(yīng)評(píng)估器412可等待響應(yīng)于發(fā)出請(qǐng)求452的調(diào)出功能的響應(yīng)。一些實(shí)施例中,調(diào)出功能和/或響應(yīng)評(píng)估器從中間設(shè)備的網(wǎng)絡(luò)引擎接收響應(yīng),例如圖2A所描述的網(wǎng)絡(luò)引擎。響應(yīng)評(píng)估器可響應(yīng)于由中間設(shè)備或中間設(shè)備的任何部分或組件接收到響應(yīng)來評(píng)估響應(yīng)。響應(yīng)評(píng)估器413可包括任意類型和形式的時(shí)間來確定在預(yù)定或期望的時(shí)間段內(nèi)是否已經(jīng)收到響應(yīng)。響應(yīng)評(píng)估器412可確定或提供任意類型和形式的來自評(píng)估響應(yīng)的結(jié)果。響應(yīng)評(píng)估器412可響應(yīng)于或基于策略424、策略引擎236和/或中間設(shè)備200的任何配置來評(píng)估響應(yīng)。一些實(shí)施例中,響應(yīng)評(píng)估器412基于和/或根據(jù)策略4M或第二策略來確定評(píng)估的結(jié)果。一些實(shí)施例中,響應(yīng)評(píng)估器412基于和/或根據(jù)策略424的任何一個(gè)或多個(gè)屬性422 來確定評(píng)估的結(jié)果。一些實(shí)施例中,響應(yīng)評(píng)估器412基于響應(yīng)的任何內(nèi)容來確定評(píng)估的結(jié)果。一些實(shí)施例中,響應(yīng)評(píng)估器412基于提供響應(yīng)的網(wǎng)絡(luò)分組的任何部分來確定評(píng)估的結(jié)^ ο響應(yīng)評(píng)估器412可以任何形式提供評(píng)估結(jié)果。在一些實(shí)施例中,響應(yīng)評(píng)估器412提供數(shù)值作為結(jié)果。在其他實(shí)施例中,響應(yīng)評(píng)估器412提供任何字符串或文本作為結(jié)果。一些實(shí)施例中,響應(yīng)評(píng)估器412提供符號(hào)、字符、數(shù)字和字母的任一組合作為結(jié)果。一些實(shí)施例中,響應(yīng)評(píng)估器412提供任意類型和形式的命令、指令或可執(zhí)行指令作為評(píng)估的結(jié)果。一些實(shí)施例中,響應(yīng)評(píng)估器412提供任意類型和形式的表達(dá)式作為結(jié)果。在這些實(shí)施例的一些中,響應(yīng)評(píng)估器412以策略424的語言的形式提供表達(dá)式。策略4M可包括和/或提供任意類型或形式的邏輯、表達(dá)式或功能以便定義一個(gè)或多個(gè)調(diào)出規(guī)則434和對(duì)于每個(gè)規(guī)則434的一個(gè)或多個(gè)動(dòng)作456。調(diào)出規(guī)則434可提供關(guān)于何時(shí)以及如何采取動(dòng)作456的任何一個(gè)或多個(gè)條件或規(guī)范。動(dòng)作456可被指定和配置為響應(yīng)調(diào)出規(guī)則434或動(dòng)作456的任何表達(dá)式的結(jié)果。策略4M可被應(yīng)用于所接收的、攔截的或以其他方式穿過中間設(shè)備200的任何一個(gè)或多個(gè)通信。調(diào)出策略似4經(jīng)由一個(gè)或多個(gè)調(diào)出規(guī)則434確定如何產(chǎn)生請(qǐng)求452以及如何處理對(duì)該請(qǐng)求442的響應(yīng)442??梢杂晒芾韱T或程序員來定義調(diào)出規(guī)則434??梢杂扇魏畏?wù)或系統(tǒng)來定義、配置或指定調(diào)出規(guī)則434??墒褂萌魏尉幊陶Z言、腳本語言或表達(dá)語言來指定調(diào)出規(guī)則434,這些語言可以是商業(yè)的、私有的、開源的或其他。一個(gè)實(shí)施例中,可使用由位于佛羅里達(dá)州 FT. Lauderdale 的 Citrix Systems 公司制造的 Citrix Access Gateway 或NEtscaler裝置的任何實(shí)施例提供的,有時(shí)被稱為CITRIX策略架構(gòu)(PI)表達(dá)式的策略編輯器、語言或工具的任一實(shí)施例來定義調(diào)出規(guī)則434。策略似4可在中間設(shè)備上進(jìn)行配置并可能被策略引擎236訪問??稍谥虚g設(shè)備的存儲(chǔ)或存儲(chǔ)器中存儲(chǔ)策略。一些實(shí)施例中,策略可被包含或配置到策略引擎中。一些實(shí)施例中,策略424可駐留在網(wǎng)絡(luò)104所連接的任何聯(lián)網(wǎng)的節(jié)點(diǎn)上,例如中間設(shè)備200或服務(wù)器 106。而且,可經(jīng)由任意類型或形式的接口在執(zhí)行策略似4的網(wǎng)絡(luò)裝置上對(duì)策略似4進(jìn)行本地配置,或者跨越網(wǎng)絡(luò)104,例如在客戶裝置102上對(duì)策略似4進(jìn)行遠(yuǎn)程配置。例如,可經(jīng)由如結(jié)合圖2A描述的CLI212、殼服務(wù)214或⑶1210的任何一個(gè)來配置策略424。策略4M可包括用于指定、配置或指導(dǎo)調(diào)出或調(diào)出規(guī)則434的操作和功能的任意類型和形式的屬性??梢杂晒芾韱T提供屬性422或者從來到中間設(shè)備200的網(wǎng)絡(luò)分組確定屬性422。也可以在中間設(shè)備200中提供并存儲(chǔ)屬性422的缺省集,或者在策略4M中配置屬性422。中間設(shè)備200或任何其他網(wǎng)絡(luò)元件可提供用于存儲(chǔ)一個(gè)或多個(gè)屬性422和/或調(diào)出規(guī)則434的存儲(chǔ),例如與圖1E、1F和2A有關(guān)的上文所描述的存儲(chǔ)128、存儲(chǔ)器264和主存儲(chǔ)器122。來自管理員的一個(gè)或多個(gè)屬性的組合、到來的網(wǎng)絡(luò)分組和屬性的缺省集可被用于基于至少一個(gè)調(diào)出規(guī)則434來配置請(qǐng)求452。屬性422的值可以是任何數(shù)據(jù)類型,例如文本、數(shù)字或布爾。被指定為表達(dá)式的屬性422可以由調(diào)出模塊414求出其值,之后使用該值來產(chǎn)生請(qǐng)求452。其他實(shí)施例中,被指定為表達(dá)式的屬性422可以被包含在請(qǐng)求452中以便在請(qǐng)求452的目的地來對(duì)其求值。屬性422可以包括任意類型或形式的信息或表達(dá)式??墒褂萌魏尉幊陶Z言、腳本語言或表達(dá)語言來構(gòu)造表達(dá)式,這些語言可以是商業(yè)的、私有的、開源的或其他。例如,在一些實(shí)施例中,CITRIX策略架構(gòu)(PI)表達(dá)式可用于指定屬性422。可通過在中間設(shè)備200的軟件和/或硬件的變化來更新對(duì)任何具體版本的語言的支持。一些實(shí)施例中,一類PI表達(dá)式可由某些策略434而非其他來支持。例如,異步PI表達(dá)式可由一些策略434支持。一些實(shí)施例中,異步PI表達(dá)式是阻塞其他表達(dá)式的執(zhí)行或求值直到異步PI表達(dá)式完成求值為止的表達(dá)式。在CITRIX NETSCALER環(huán)境中異步PI表達(dá)式的例子是HTTP. RES. BODY(IOOO) 和 CLIENT. IP. DEST. MATCHES (foo. com")。屬性422可以指定、配置或者可以識(shí)別將要由調(diào)出功能414產(chǎn)生的請(qǐng)求452的任何部分。例如,一個(gè)或多個(gè)屬性422可指定、定義或配置用于產(chǎn)生請(qǐng)求的格式、命令、指令、 頭部、主體、參數(shù)、數(shù)據(jù)、值、類型、版本或協(xié)議。一個(gè)或多個(gè)屬性422也可指定用于產(chǎn)生和/ 或傳輸請(qǐng)求的任何驗(yàn)證、授權(quán)和審核的配置或信息。一些實(shí)施例中,屬性422可識(shí)別目的節(jié)點(diǎn)(例如服務(wù)器106)以便向其傳輸請(qǐng)求452。目的地可以是網(wǎng)絡(luò)104所連接的任何網(wǎng)絡(luò)節(jié)點(diǎn),或由中間設(shè)備200提供的任何vserver275,或另一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。屬性422可以指定接收請(qǐng)求452的目的節(jié)點(diǎn)的IP地址、域名或端口。屬性422還可以為請(qǐng)求452指定頭部的名稱或頭部的值。頭部的名稱可以是任何數(shù)據(jù)類型的字符串并具有對(duì)應(yīng)的頭部的值。屬性 422也可以指定VSerVer275作為目的地以用于定向請(qǐng)求452。此外,對(duì)于HTTP類型的請(qǐng)求 452,屬性422可指定統(tǒng)一資源定位符(URL)的至少一部分。一些實(shí)施例中,屬性422可指定用于產(chǎn)生上述目標(biāo)值的任何部分的表達(dá)式??梢允褂萌魏螐?fù)雜度的PI表達(dá)式來產(chǎn)生上述目標(biāo)值的任何部分。例如,屬性422可指定表達(dá)式,所述表達(dá)式用于產(chǎn)生請(qǐng)求452的主機(jī)頭或URL的一部分。上述屬性422的任一組合可用于指定請(qǐng)求452的目的地。在HTTP調(diào)出的一個(gè)實(shí)施例中,屬性422可指定HTTP提交方式,諸如“GET”方式和 “POST”方式。例如,如果HTTP表單處理是冪等的,或純粹代表查詢,則可以使用“GET”方式。當(dāng)存在數(shù)據(jù)檢索、存儲(chǔ)或更新的至少一個(gè)時(shí),可使用“POST”方式。屬性422還可以為請(qǐng)求452指定參數(shù)名或參數(shù)值之一。參數(shù)名或參數(shù)值可被包含在調(diào)出請(qǐng)求452中。每個(gè)參數(shù)名可具有對(duì)應(yīng)的參數(shù)值。例如,在HTTP調(diào)出中,如果請(qǐng)求 452被指定為使用“GET”方式,那么參數(shù)名可被包含在URL請(qǐng)求中。又一個(gè)例子中,如果請(qǐng)求452被指定為使用“POST”方式,那么參數(shù)名可被包含在請(qǐng)求452的主體中。參數(shù)名可以是任何數(shù)據(jù)類型的字符串。將參數(shù)名插入請(qǐng)求452的順序可能影響或不影響調(diào)出響應(yīng)442。 另外,可以從任何復(fù)雜度的策略表達(dá)式來求參數(shù)的值。在HTTP調(diào)出請(qǐng)求442的實(shí)施例中, 參數(shù)值還可以被編碼、加密或模糊。用戶在當(dāng)配置用于傳輸請(qǐng)求452和響應(yīng)442的策略424時(shí)可指定超文本傳輸協(xié)議(HTTP)的類型。所支持的協(xié)議可包括簡單HTTP或通過安全套接字層的超文本傳輸協(xié)議(HTTPQ。傳輸層安全(TLQ可用于HTTPS中來代替安全套接字層(SSL)。當(dāng)發(fā)送類似驗(yàn)證信息的敏感數(shù)據(jù)時(shí),可以使用HTTPS事務(wù)。在這種情況下,HTTP VSerVer275可以用作
30對(duì)HTTPS通信的前端系統(tǒng),而SSL后端用于與目的節(jié)點(diǎn)通信。如上所述,屬性422可指定 vserver275用于定向HTTP類型的請(qǐng)求452。例如,在CITRIX NETSCALER環(huán)境的實(shí)施例中, 可使用"add lb/cs/cr vserver,,命令來添力口 vServer275。屬性422可以指定、配置或者識(shí)別響應(yīng)的任何部分用于調(diào)出功能或響應(yīng)評(píng)價(jià)器的評(píng)估。一些實(shí)施例中,屬性可指定要從成功的響應(yīng)442接收的期望的內(nèi)容、代碼或值。一些實(shí)施例中,屬性422可指定要為其評(píng)估響應(yīng)442的數(shù)據(jù)、值或內(nèi)容的名稱、位置或標(biāo)識(shí)符。屬性422可指定經(jīng)由響應(yīng)442發(fā)生或被包括在響應(yīng)442中的任何錯(cuò)誤代碼或錯(cuò)誤消息。屬性 422可以指定用于等待響應(yīng)442的超時(shí)時(shí)間段。屬性422可以指定用于驗(yàn)證和/或授權(quán)響應(yīng)442的任何安全或驗(yàn)證信息。調(diào)出可支持包括策略表達(dá)式中變量的響應(yīng)422,其中可存儲(chǔ)和檢索變量值用于稍后的使用。調(diào)出還可具有被硬編碼為常數(shù)值而沒被存儲(chǔ)的參數(shù)值,在這種情形下可要求第二調(diào)出在稍后的時(shí)刻獲得該參數(shù)值。例如,在一些實(shí)施例中,HTTP調(diào)出中的策略表達(dá)式可具有將要被硬編碼的硬編碼參數(shù)值。一個(gè)實(shí)施例中,用戶標(biāo)識(shí)符(userid)值是從第一HTTP 調(diào)出檢索的,在另一時(shí)刻又要求用戶標(biāo)識(shí)符的值時(shí),第二 HTTP調(diào)出被用于第二次檢索用戶標(biāo)識(shí)符的值。可使用下列形式的CLI212、殼服務(wù)214或⑶1210中的命令來配置HTTP調(diào)出策略 424的一個(gè)實(shí)施例以添加策略add policy httpCallout<name>例如,“add policy httpCal lout auth_call”可添加具有缺省行為的HTTP調(diào)出策略424。HTTP調(diào)出的名稱可以是任何有效的實(shí)體名稱并可用于SYS. HTTP CALLOUT PI表達(dá)式中,例如,SYS. HTTP CALLOUT (auth_call)。以這種方式配置的缺省HTTP調(diào)出可例如在請(qǐng)求452中使用“GET”HTTP方式。如果是無效地指定的實(shí)體名稱,或在任何其他故障情景中,SYS. HTTP_CALL0UT PI表達(dá)式可產(chǎn)生“未定義”(UNDEF)事件用于根據(jù)策略似4來處理。缺省HTTP調(diào)出請(qǐng)求452可包括任意類型和形式的頭部信息,如HTTP頭部信息??芍付ㄓ糜诓呗?24的屬性422來配置策略424,或從缺省行為修改策略424。例如,用戶可指定額外的頭部的名稱或頭部的值來覆蓋標(biāo)準(zhǔn)的頭部信息。作為例子,可以使用如下命令語法的實(shí)施例來為HTTP調(diào)出策略似4指定屬性422 set policy httpCallout くname〉 [-port <port>] [-vServer くstring〉] [-returnType <returnType>] NittpMethod ( GET I POST )] [-hostExpr <string>] [-urIStemExpr くstring〉] [-headers <name (value) > …] [-parameters くname (value) > …] [-fulIReqExpr くstring〉] [^resiiltExpr <strIng>]-returnType 一些實(shí)施例中對(duì)于文本、數(shù)字或布爾可以分別為的TEXT、NUM或 BOOし-IP Address向其傳輸調(diào)出請(qǐng)求的裝置的IP地址。-port向其傳輸調(diào)出請(qǐng)求的裝置的端ロ。-httpMethod 在一些實(shí)施例中可以是GET或POST。-hostExpr 用于提供主機(jī)頭的值的策略表達(dá)式。-urlStemExpr用于產(chǎn)生URL請(qǐng)求的一部分(例如URL主干(stem))的策略表達(dá) 式。-headers 要被插入到請(qǐng)求中的頭部信息。-parameters 被包含在請(qǐng)求中的參數(shù)信息。一些實(shí)施例中,如果請(qǐng)求具有GET 方式,這些參數(shù)名可以被放在URL查詢中,或者如果請(qǐng)求具有POST方式,這些參數(shù)被放在主 體中。可使用策略表達(dá)式來計(jì)算參數(shù)值。參數(shù)值可以是URL編碼的。-fullReqExpr產(chǎn)生整個(gè)請(qǐng)求或部分請(qǐng)求的策略表達(dá)式或邏輯。一些實(shí)施例中,用 戶配置表達(dá)式以提供良好構(gòu)成的和/或期望的請(qǐng)求。一些實(shí)施例中,如果指定了完整的請(qǐng) 求,那么可以忽略或不指定其他參數(shù)。中間設(shè)備200經(jīng)由調(diào)出功能414可產(chǎn)生如策略似4的一個(gè)或多個(gè)表達(dá)式所指定的 請(qǐng)求452。例如,一個(gè)或多個(gè)表達(dá)式可被指定為-fullReqExpr命令行開關(guān)的參數(shù)。如果指 定了ー個(gè)或多個(gè)表達(dá)式,可以忽略或可以不指定所有其他的參數(shù)或?qū)傩浴R粋€(gè)實(shí)施例中,當(dāng) 指定完整的請(qǐng)求表達(dá)式吋,由用戶負(fù)責(zé)配置策略424以便產(chǎn)生有效的請(qǐng)求452 ;系統(tǒng)不執(zhí)行 任何有效性檢查。又一個(gè)實(shí)施例中,中間設(shè)備200可發(fā)送缺省請(qǐng)求452并評(píng)估對(duì)請(qǐng)求452 的響應(yīng)442以檢查有效性。用戶也可設(shè)置中間設(shè)備200來驗(yàn)證所產(chǎn)生的請(qǐng)求452,例如,通 Jiiixrf變童 ns_hc_validate_request 為 1 nsapimgr-B“ w ns_hc_validate_request 1〃可響應(yīng)于客戶裝置102和多個(gè)服務(wù)器106之間的通信,例如由中間設(shè)備攔截的分 組或消息,來產(chǎn)生請(qǐng)求452。調(diào)出策略似4可在確定動(dòng)作456之前產(chǎn)生請(qǐng)求452以請(qǐng)求響應(yīng)442,而不是處理分組并將分組路由到一個(gè)或多個(gè)服務(wù)器106。還可響應(yīng)于管理行為,例如為負(fù)載平衡的目的而輪詢服務(wù)器106,來產(chǎn)生請(qǐng)求452。響應(yīng)于從調(diào)出功能452接收請(qǐng)求 452,諸如服務(wù)器106的網(wǎng)絡(luò)節(jié)點(diǎn)可產(chǎn)生響應(yīng)442。由調(diào)出功能452接收響應(yīng)442,其可包括任何類型或形式的信息,例如文本串、數(shù)值或布爾值或表達(dá)式。調(diào)出功能414中的響應(yīng)評(píng)估器412可對(duì)于所接收的對(duì)請(qǐng)求452的響應(yīng)442執(zhí)行多個(gè)處理步驟。響應(yīng)評(píng)估器412可以解壓縮表示響應(yīng)442的分組。響應(yīng)評(píng)估器412也可解碼被編碼在響應(yīng)中的數(shù)據(jù)。對(duì)于HTTP類型的響應(yīng)442消息,響應(yīng)評(píng)估器412可解析消息以便提取所返回的值或表達(dá)式。此外,可通過對(duì)值或表達(dá)式應(yīng)用表達(dá)式(例如PI表達(dá)式)來從所返回的值或表達(dá)式確定結(jié)果。管理員可配置PI表達(dá)式以評(píng)估所返回的值或表達(dá)式的結(jié)果,例如在上文所提及的且下文進(jìn)一步描述的-resultExpr命令行開關(guān)的參數(shù)中?;诓呗运?所提供的一個(gè)或多個(gè)調(diào)出規(guī)則434,可從該結(jié)果識(shí)別動(dòng)作456。因此,中間設(shè)備經(jīng)由響應(yīng)評(píng)估器412從基于響應(yīng)442的內(nèi)容評(píng)估表達(dá)式來確定策略424的動(dòng)作456。所識(shí)別的動(dòng)作可包括任何數(shù)量的處理步驟??蓪⒔Y(jié)果緩存以用于稍后的處理,或?qū)⑺R(shí)別的動(dòng)作發(fā)送到隊(duì)列用于處理或由中間設(shè)備200立即執(zhí)行。所指定的與策略4M關(guān)聯(lián)的屬性422可以識(shí)別由對(duì)請(qǐng)求452的響應(yīng)422所返回的值或表達(dá)式的數(shù)據(jù)類型。一個(gè)實(shí)施例中,屬性被指定為-returrutype命令行開關(guān)的參數(shù)。 有效的數(shù)據(jù)類型可包括文本、數(shù)字或布爾型。在-returnExpr參數(shù)中所指定的PI表達(dá)式的數(shù)據(jù)類型應(yīng)該匹配在“set policy”命令中所指定的-retrun_type參數(shù)。可在-resultExpr 參數(shù)中指定異步PI表達(dá)式。數(shù)據(jù)類型能控制在評(píng)估結(jié)果以識(shí)別動(dòng)作中SYS. HTTP_CALL0UT PI表達(dá)式是如何被擴(kuò)展的。例如,如果返回的類型是文本,則下面的擴(kuò)展是有效的SYS. HTTP_CALL0UT (auth_call). CONTAINS (" foobar");如果返回的類型是數(shù)值,則下面的擴(kuò)展是有效的SYS. HTTP_CALL0UT (auth_call). GT (500)。用戶可訪問與所配置的調(diào)出策略424相關(guān)聯(lián)的多個(gè)統(tǒng)計(jì)數(shù)據(jù)??梢越?jīng)由CLI212、 殼服務(wù)214或⑶1210來訪問這些統(tǒng)計(jì)數(shù)據(jù)的一個(gè)或多個(gè)。例如,下面的命令提供對(duì)HTTP 服務(wù)調(diào)出的計(jì)數(shù)器nsconmsg-d stats | grep he—基于這些統(tǒng)計(jì)數(shù)據(jù),用戶可配置或重配置策略434和/或調(diào)出規(guī)則434的任何部分。現(xiàn)參考圖5,示出了描述用于由中間設(shè)備200使用由策略指定的請(qǐng)求和響應(yīng)來確定動(dòng)作的方法的步驟的實(shí)施例的流程圖??偟膩碚f,在步驟501,用戶配置策略4M并為請(qǐng)求指定包括接收該請(qǐng)求的服務(wù)器的屬性422。在步驟503,中間設(shè)備200響應(yīng)于所指定的屬性產(chǎn)生請(qǐng)求。在步驟505,中間設(shè)備200將所產(chǎn)生的請(qǐng)求傳輸?shù)椒?wù)器。在步驟507,中間設(shè)備200從服務(wù)器接收對(duì)該請(qǐng)求的響應(yīng)。在步驟509,中間設(shè)備200評(píng)估所接收的響應(yīng)。在步驟511,中間設(shè)備200基于該評(píng)估來確定策略424的動(dòng)作456。在步驟501的進(jìn)一步的細(xì)節(jié)中,用戶使用調(diào)出規(guī)則434配置策略424。在一些實(shí)施例中,用戶配置將要應(yīng)用于客戶機(jī)與一個(gè)或多個(gè)服務(wù)器之間的通信的策略424。一些實(shí)施例中,可由中間設(shè)備200建立策略424,例如經(jīng)由缺省配置。策略424的配置可指定用于產(chǎn)生和傳輸請(qǐng)求的一個(gè)或多個(gè)屬性。用戶可指定一個(gè)或多個(gè)屬性422來配置策略424。可指定包括一個(gè)或多個(gè)表達(dá)式的屬性422以定義請(qǐng)求452。用戶可指定服務(wù)器106或網(wǎng)絡(luò)節(jié)點(diǎn)來接收請(qǐng)求452。用戶還可指定表達(dá)式用于為請(qǐng)求452產(chǎn)生主機(jī)頭或URL的一部分。此外,用戶可為服務(wù)器106或目的網(wǎng)絡(luò)節(jié)點(diǎn)指定IP地址、域名或端口之一。用戶還可為請(qǐng)求 452指定頭部的名稱或頭部的值以便配置策略424。另外,用戶也可在策略424中定義一個(gè)或多個(gè)調(diào)出規(guī)則434??芍付▽傩?22來識(shí)別HTTP請(qǐng)求452的類型或方式用于調(diào)出。用戶還可以為請(qǐng)求452指定參數(shù)名或參數(shù)值。而且,用戶可指定要在對(duì)請(qǐng)求452的響應(yīng)442中接收的值的類型。在步驟503,中間設(shè)備200根據(jù)所配置的策略4 或者按照所配置的策略4 的指導(dǎo)來產(chǎn)生請(qǐng)求。一些實(shí)施例中,中間設(shè)備200響應(yīng)于網(wǎng)絡(luò)分組或通信的接收和/或評(píng)估來觸發(fā)、應(yīng)用或執(zhí)行策略424。一個(gè)實(shí)施例中,中間設(shè)備200響應(yīng)于另一個(gè)策略的觸發(fā)、應(yīng)用或執(zhí)行來觸發(fā)或應(yīng)用具有調(diào)出規(guī)則434的策略424。調(diào)出功能414或策略引擎236可響應(yīng)于和/或根據(jù)任何屬性422來產(chǎn)生請(qǐng)求452。調(diào)出功能414可至少部分地基于由策略似4所提供的一個(gè)或多個(gè)調(diào)出規(guī)則434來產(chǎn)生請(qǐng)求452。調(diào)出功能414可至少部分地基于指定來配置策略424的一個(gè)或多個(gè)屬性422來產(chǎn)生請(qǐng)求452。調(diào)出功能414可至少部分地基于使用在中間設(shè)備200的存儲(chǔ)或存儲(chǔ)器裝置中所存儲(chǔ)的缺省值的一個(gè)或多個(gè)屬性422來產(chǎn)生請(qǐng)求452。調(diào)出功能414也可基于與策略似4相關(guān)聯(lián)的一個(gè)或多個(gè)所指定的表達(dá)式來產(chǎn)生請(qǐng)求452。調(diào)出功能414可至少部分地基于由從中間設(shè)備200攔截的消息或分組中所提取的數(shù)據(jù)所指定的一個(gè)或多個(gè)屬性來產(chǎn)生請(qǐng)求452。中間設(shè)備200可經(jīng)由調(diào)出功能414驗(yàn)證所產(chǎn)生的消息452。中間設(shè)備200可使用來自策略424的一個(gè)或多個(gè)調(diào)出規(guī)則434來驗(yàn)證所產(chǎn)生的消息452。中間設(shè)備200可使用為策略似4指定的一個(gè)或多個(gè)屬性422來驗(yàn)證所產(chǎn)生的消息452。一些實(shí)施例中,所產(chǎn)生的請(qǐng)求是對(duì)于HTTP類型的服務(wù)的URL請(qǐng)求?!?shí)施例中,調(diào)出功能414可產(chǎn)生多個(gè)請(qǐng)求452。多個(gè)請(qǐng)求452的每個(gè)可以是為相同的目的節(jié)點(diǎn)或是為不同的目的節(jié)點(diǎn)產(chǎn)生的。調(diào)出功能414可產(chǎn)生至少一個(gè)阻塞請(qǐng)求 452,其在下一個(gè)請(qǐng)求可能被發(fā)送之前要求響應(yīng)442。調(diào)出功能414可產(chǎn)生可被同時(shí)或依次發(fā)出的兩個(gè)或多個(gè)非阻塞請(qǐng)求452,而不考慮中間設(shè)備200何時(shí)可能收到這些請(qǐng)求的響應(yīng) 422。一些實(shí)施例中,調(diào)出功能414并發(fā)或依次傳輸任何的這些請(qǐng)求。一些實(shí)施例中,中間設(shè)備將請(qǐng)求452傳輸?shù)綉?yīng)用、系統(tǒng)或服務(wù)。在步驟505的進(jìn)一步的細(xì)節(jié)中,在一個(gè)實(shí)施例中,中間設(shè)備200將所產(chǎn)生的請(qǐng)求傳輸?shù)椒?wù)器。中間設(shè)備200可將所產(chǎn)生的請(qǐng)求452傳輸?shù)浇?jīng)由策略似4指定為目的地的聯(lián)網(wǎng)的節(jié)點(diǎn)。中間設(shè)備200可響應(yīng)于請(qǐng)求452的產(chǎn)生來傳輸請(qǐng)求452。中間設(shè)備200可傳輸阻塞請(qǐng)求452并在發(fā)生下一個(gè)請(qǐng)求之前等待響應(yīng)422。在一些實(shí)施例中,中間設(shè)備200可傳輸異步請(qǐng)求。中間設(shè)備200可同時(shí)或依次傳輸?shù)膬蓚€(gè)或多個(gè)非阻塞請(qǐng)求452,而不考慮中間設(shè)備200何時(shí)可能收到這些請(qǐng)求的響應(yīng)422。一些實(shí)施例中,調(diào)出功能414經(jīng)由中間設(shè)備 200的網(wǎng)絡(luò)引擎來傳輸請(qǐng)求452。其他實(shí)施例中,調(diào)出功能414經(jīng)由調(diào)出功能414的發(fā)送器或策略引擎236來傳輸請(qǐng)求452。在步驟507的進(jìn)一步的細(xì)節(jié)中,在一個(gè)實(shí)施例中,中間設(shè)備200從諸如服務(wù)器106 的目的地接收任意類型和形式的對(duì)請(qǐng)求452的響應(yīng)442。接收請(qǐng)求452的網(wǎng)絡(luò)節(jié)點(diǎn)可產(chǎn)生響應(yīng)442。一些實(shí)施例中,在網(wǎng)絡(luò)節(jié)點(diǎn)和調(diào)出功能414之間的中間設(shè)備200可修改響應(yīng) 442。中間設(shè)備200可經(jīng)由調(diào)出功能414的接收器來接收響應(yīng)452。響應(yīng)442可包括對(duì)于 HTTP-類型服務(wù)的URL響應(yīng)。一些實(shí)施例中,中間設(shè)備200沒有收到響應(yīng)442并觸發(fā)超時(shí)。其他實(shí)施例中,中間設(shè)備200接收在傳輸請(qǐng)求452時(shí)出現(xiàn)錯(cuò)誤的指示。一些實(shí)施例中,中間設(shè)備200接收來自目的地的在處理請(qǐng)求442時(shí)發(fā)生錯(cuò)誤的指示。在步驟509的進(jìn)一步的細(xì)節(jié)中,在一個(gè)實(shí)施例中,中間設(shè)備200評(píng)估所接收的響應(yīng)442。中間設(shè)備200可評(píng)估整個(gè)響應(yīng)或響應(yīng)442的任何部分。中間設(shè)備200可經(jīng)由響應(yīng)評(píng)估器412來評(píng)估所接收的響應(yīng)442以便確定該響應(yīng)442中所包含的信息是否匹配為策略 424指定的數(shù)據(jù)類型。中間設(shè)備200可經(jīng)由響應(yīng)評(píng)估器412使用包含在請(qǐng)求442中的信息的表達(dá)式來評(píng)估所接收的響應(yīng)442。中間設(shè)備200可經(jīng)由響應(yīng)評(píng)估器412驗(yàn)證所接收的響應(yīng)442。如果所接收的響應(yīng)442被確定為無效,中間設(shè)備可發(fā)出錯(cuò)誤或警告,或可產(chǎn)生另一個(gè)請(qǐng)求452,。在步驟511的進(jìn)一步的細(xì)節(jié)中,在一個(gè)實(shí)施例中,中間設(shè)備200基于評(píng)估的結(jié)果來確定策略424的動(dòng)作。一些實(shí)施例中,策略424的動(dòng)作456是由策略4M指定的。中間設(shè)備200可響應(yīng)于對(duì)所接收的響應(yīng)442的評(píng)估來識(shí)別策略424的動(dòng)作456。中間設(shè)備200可響應(yīng)于對(duì)所接收的響應(yīng)442的驗(yàn)證來識(shí)別策略424的動(dòng)作456。中間設(shè)備200可基于由策略4M所提供的一個(gè)或多個(gè)調(diào)出規(guī)則434來識(shí)別策略4M的動(dòng)作456。一些實(shí)施例中,策略 424的動(dòng)作456基于來自同一或不同策略的其他響應(yīng)的結(jié)果。中間設(shè)備200可將所識(shí)別的動(dòng)作456放在隊(duì)列中,或者可立即執(zhí)行所識(shí)別的動(dòng)作 456。一個(gè)實(shí)施例中,存儲(chǔ)動(dòng)作456直到另一個(gè)或多個(gè)策略被評(píng)估或響應(yīng)被評(píng)估為止。所識(shí)別的動(dòng)作456可包括一個(gè)或多個(gè)步驟。動(dòng)作456可包括由中間設(shè)備或中間設(shè)備的任何部分可執(zhí)行的任何操作、功能或邏輯。例如,策略4 的動(dòng)作456可執(zhí)行中間設(shè)備200的任何通信量管理、防火墻、SSL VPN、加速或應(yīng)用傳送的特征。中間設(shè)備200可基于所識(shí)別的動(dòng)作 456處理所攔截的消息或分組。例如,基于所識(shí)別的動(dòng)作456,所攔截的消息或分組可被加密、壓縮、重新路由、排隊(duì)或丟棄。中間設(shè)備200也可基于所識(shí)別的動(dòng)作456將所攔截的消息或分組路由到目的地。應(yīng)該理解,此處描述的系統(tǒng)可提供多個(gè)組件或每個(gè)組件并且這些組件可以在單獨(dú)機(jī)器上提供,或者在一些實(shí)施例中,可在分布式系統(tǒng)的多個(gè)機(jī)器上提供。此外,上述系統(tǒng)和方法可作為一件或多件產(chǎn)品上所體現(xiàn)的或在其中的一個(gè)或多個(gè)計(jì)算機(jī)可讀程序而被提供。 所述產(chǎn)品可以是軟盤、硬盤、CD-ROM,閃存卡、PROM、RAM、ROM或磁帶。通常,計(jì)算機(jī)可讀程序可以任何編程語言來實(shí)現(xiàn),如LISP、PERL、C、C++、C#、PROLOG,或者諸如JAVA的任何字節(jié)碼語言。軟件程序可以作為目標(biāo)代碼被存儲(chǔ)在一件或多件產(chǎn)品上或其中。盡管已經(jīng)參考具體實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的顯示和描述,但對(duì)本領(lǐng)域技術(shù)人員應(yīng)該理解可以在其中進(jìn)行形式和細(xì)節(jié)上的各種變化而不脫離由下列權(quán)利要求定義的精神和范圍。
權(quán)利要求
1.一種用于由中間設(shè)備使用由策略指定的請(qǐng)求和響應(yīng)來確定策略的動(dòng)作的方法,所述中間設(shè)備接收客戶機(jī)和一個(gè)或多個(gè)服務(wù)器之間的通信,所述方法包括a)由中間設(shè)備為客戶機(jī)和一個(gè)或多個(gè)服務(wù)器之間的通信識(shí)別策略,所述策略指定請(qǐng)求和要向其傳遞該請(qǐng)求的服務(wù)器;b)由中間設(shè)備響應(yīng)于所述策略來將由策略指定的請(qǐng)求傳輸?shù)接刹呗灾付ǖ姆?wù)器;以及c)由中間設(shè)備基于對(duì)應(yīng)于由策略指定的請(qǐng)求的服務(wù)器響應(yīng)來確定策略的動(dòng)作。
2.根據(jù)權(quán)利要求1所述的方法,其中步驟(a)還包括由策略指定超文本傳輸協(xié)議 (HTTP)請(qǐng)求的類型。
3.根據(jù)權(quán)利要求1所述的方法,其中步驟(a)還包括由策略指定表達(dá)式,所述表達(dá)式用于為請(qǐng)求產(chǎn)生主機(jī)頭或統(tǒng)一資源定位符(URL)的一部分的其中之一。
4.根據(jù)權(quán)利要求1所述的方法,其中步驟(a)還包括由策略指定用于服務(wù)器的IP地址、域名或端口的其中之一。
5.根據(jù)權(quán)利要求1所述的方法,其中步驟(a)還包括由策略指定用于請(qǐng)求的頭部的名稱或頭部的值的其中之一。
6.根據(jù)權(quán)利要求1所述的方法,其中步驟(a)還包括由策略指定要被響應(yīng)接收的值的類型。
7.根據(jù)權(quán)利要求1所述的方法,其中步驟(a)還包括由策略指定用于請(qǐng)求的參數(shù)名或參數(shù)值的其中之一。
8.根據(jù)權(quán)利要求1所述的方法,其中步驟(b)還包括由中間設(shè)備產(chǎn)生由策略的一個(gè)或多個(gè)表達(dá)式指定的請(qǐng)求。
9.根據(jù)權(quán)利要求8所述的方法,其中步驟(b)還包括由中間設(shè)備驗(yàn)證所產(chǎn)生的請(qǐng)求。
10.根據(jù)權(quán)利要求1所述的方法,其中步驟(c)還包括由中間設(shè)備從基于響應(yīng)的內(nèi)容求表達(dá)式的值來確定策略的動(dòng)作。
11.一種用于使用由策略指定的請(qǐng)求和響應(yīng)來確定策略的動(dòng)作的系統(tǒng),所述系統(tǒng)包括識(shí)別策略的策略引擎,所述策略指定請(qǐng)求和要向其傳遞該請(qǐng)求的服務(wù)器;以及接收客戶機(jī)和一個(gè)或多個(gè)服務(wù)器之間的通信的中間設(shè)備,所述中間設(shè)備響應(yīng)于所述策略來將由策略指定的請(qǐng)求傳輸?shù)接刹呗灾付ǖ姆?wù)器,所述中間設(shè)備基于對(duì)應(yīng)于由策略指定的請(qǐng)求的服務(wù)器響應(yīng)來確定策略的動(dòng)作。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中策略指定超文本傳輸協(xié)議(HTTP)請(qǐng)求的類型。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中策略指定表達(dá)式,所述表達(dá)式用于為請(qǐng)求產(chǎn)生主機(jī)頭或統(tǒng)一資源定位符(URL)主干的一部分的其中之一。
14.根據(jù)權(quán)利要求11所述的系統(tǒng),其中策略指定用于服務(wù)器的IP地址、域名或端口的其中之一。
15.根據(jù)權(quán)利要求11所述的系統(tǒng),其中策略指定用于請(qǐng)求的頭部的名稱或頭部的值的其中之一。
16.根據(jù)權(quán)利要求11所述的系統(tǒng),其中策略指定要被響應(yīng)接收的值的類型。
17.根據(jù)權(quán)利要求11所述的系統(tǒng),其中策略指定用于請(qǐng)求的參數(shù)名或參數(shù)值的其中之
18.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述中間設(shè)備產(chǎn)生由策略的一個(gè)或多個(gè)表達(dá)式所指定的請(qǐng)求。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述中間設(shè)備驗(yàn)證所產(chǎn)生的請(qǐng)求。
20.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述中間設(shè)備從基于響應(yīng)的內(nèi)容求表達(dá)式的值來確定策略的動(dòng)作。
全文摘要
識(shí)別與客戶機(jī)和一個(gè)或多個(gè)服務(wù)器之間的通信相關(guān)聯(lián)的策略的動(dòng)作的方法包括由中間設(shè)備基于使用基于調(diào)出的策略來確定策略的動(dòng)作。一方面,中間設(shè)備接收客戶機(jī)和一個(gè)或多個(gè)服務(wù)器之間的通信。由中間設(shè)備為所述通信識(shí)別策略,所述策略指定請(qǐng)求和要向其傳遞該請(qǐng)求的服務(wù)器。響應(yīng)于該策略,中間設(shè)備將請(qǐng)求傳輸?shù)椒?wù)器?;趯?duì)該請(qǐng)求的服務(wù)器響應(yīng),中間設(shè)備確定策略的動(dòng)作。又一個(gè)方面,用于上述方法的系統(tǒng)包括中間設(shè)備和策略引擎用于識(shí)別指定請(qǐng)求和目的服務(wù)器的策略。響應(yīng)于對(duì)該請(qǐng)求的服務(wù)器響應(yīng),中間設(shè)備確定策略的動(dòng)作。
文檔編號(hào)G06F9/46GK102292708SQ200980155323
公開日2011年12月21日 申請(qǐng)日期2009年11月24日 優(yōu)先權(quán)日2008年11月25日
發(fā)明者A·庫馬爾, P·凱馬尼 申請(qǐng)人:思杰系統(tǒng)有限公司