專(zhuān)利名稱(chēng):用于為互聯(lián)網(wǎng)協(xié)議加速設(shè)備提供多核結(jié)構(gòu)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及應(yīng)用傳送控制器的結(jié)構(gòu)。具體而言,本發(fā)明涉及用于提供多核應(yīng)用傳送控制器的系統(tǒng)和方法。
背景技術(shù):
萬(wàn)維網(wǎng)和web應(yīng)用正在經(jīng)歷加速進(jìn)化階段。Web應(yīng)用正在從非交互式的、 平面的、開(kāi)發(fā)者控制的網(wǎng)頁(yè)(其代表Web 1.0)向高度交互式的、動(dòng)態(tài)的、社區(qū)增強(qiáng) (community-enriched)的網(wǎng)頁(yè)(其代表W^eb 2.0)轉(zhuǎn)變。在過(guò)去的兩到三年時(shí)間里,諸如 MySpace和!^cebook的社交網(wǎng)站、諸如^uTube的視頻網(wǎng)站以及諸如谷歌地圖的糅合網(wǎng)站 (mash-up)的迅速流行已經(jīng)引起了業(yè)界對(duì)相關(guān)趨勢(shì)和技術(shù)的注意,這些趨勢(shì)和技術(shù)使高度交互式的、豐富媒體的網(wǎng)站成為可能。例如,SAP、微軟、甲骨文、Intuit和其他企業(yè)獨(dú)立軟件供應(yīng)商已經(jīng)開(kāi)始注意Web 2.0技術(shù)的發(fā)展?jié)摿Γ⑶乙呀?jīng)采用相關(guān)技術(shù)來(lái)豐富其企業(yè)web 應(yīng)用發(fā)行的功能和用戶體驗(yàn)。Microsoft SiarePoint是已經(jīng)包含許S^feb 2.0特征的企業(yè)應(yīng)用的另一個(gè)例子,其為一種文檔共享和協(xié)同工具。最新版本SiarePoint 2007提供了很多協(xié)作和門(mén)戶特征,例如可基于個(gè)人進(jìn)行定制的小組博客、維基和小組日歷。但是,增加的協(xié)作特征以及Web 2.0技術(shù)的豐富也是有代價(jià)的。需要使用更多的協(xié)議,例如AJAX、Comet、Ruby等。由于這些協(xié)議產(chǎn)生了更多的連接,客戶機(jī)和服務(wù)器之間的連接的數(shù)量也在增加。這些協(xié)議在客戶機(jī)和瀏覽器之間發(fā)起更多的請(qǐng)求,所以顯得更繁瑣。諸如 Flash、Flex 和 Silverlight 的富互聯(lián)網(wǎng)應(yīng)用(rich internet Applications)正在越來(lái)越多的被使用,以使Web 2.0應(yīng)用更加迷人并且更具有交互性。而且,使用web的不同客戶機(jī)的數(shù)量也在增加。在當(dāng)今“永遠(yuǎn)連線”的世界,對(duì)于許多類(lèi)型的客戶機(jī)(例如手機(jī) (Symbian、黑莓、Palm、Windows Mobile)、IE、Firefox、Chrome 等),都需要優(yōu)化內(nèi)容。
發(fā)明內(nèi)容
本發(fā)明針對(duì)用于提供應(yīng)用傳送控制器(ADC)的多核實(shí)現(xiàn)的方法和系統(tǒng)。ADC設(shè)備的結(jié)構(gòu),稱(chēng)為N核(nCore)技術(shù),允許設(shè)備打破單核性能屏障并且利用多核CPU的能力。由于每個(gè)核上都運(yùn)行分組引擎,該設(shè)備結(jié)構(gòu)利用了這些分組引擎和核的處理能力。在一些實(shí)施例中,這在性能以及可擴(kuò)展性方面提供高達(dá)7倍的提升。該結(jié)構(gòu)的實(shí)施例中提供用于在核上分布網(wǎng)絡(luò)分組的基于流的分布方案,以更均勻的平衡在分組引擎和核上的處理。在一個(gè)方面,本發(fā)明涉及一種用于在多核裝置的對(duì)應(yīng)的核上執(zhí)行的多個(gè)分組處理引擎上分布網(wǎng)絡(luò)業(yè)務(wù)流的方法。該方法包括由位于客戶機(jī)和服務(wù)器中間的多核裝置接收客戶機(jī)和服務(wù)器間的第一網(wǎng)絡(luò)業(yè)務(wù)流的分組。該方法還包括由多核裝置的流分布器將所述第一網(wǎng)絡(luò)業(yè)務(wù)流分配給執(zhí)行分組處理引擎的第一核,并且分布所述分組到該第一核。所述流分布器可以將在另一個(gè)客戶機(jī)和服務(wù)器之間的另一個(gè)業(yè)務(wù)流或第二業(yè)務(wù)流的分組分布到執(zhí)行第二分組處理引擎的第二核。當(dāng)分配給第一核的業(yè)務(wù)流的分組(如第三分組)被接收時(shí),所述流分布器將該分組分布到第一核。在一些實(shí)施例中,該方法包括由所述流分布器接收來(lái)自所述多核裝置的接收側(cè)調(diào)整器(RSS)的第一分組。所述流分布器可以在所述多核裝置中指定為主核的核上執(zhí)行。 在某些情況下,所述流分布器被分布在多個(gè)核上或在多個(gè)核上執(zhí)行。在一些實(shí)施例中,響應(yīng)于在第一客戶機(jī)和第一服務(wù)器之間建立會(huì)話或連接之一的第一核,流分布器將第一網(wǎng)絡(luò)業(yè)務(wù)流分配給該第一核。在一些實(shí)施例中,響應(yīng)于基于來(lái)自第一服務(wù)器的、對(duì)第一客戶機(jī)的請(qǐng)求的響應(yīng)的第一核,流分布器將第一網(wǎng)絡(luò)業(yè)務(wù)流分配給該第一核。在一些實(shí)施例中,流分布器通過(guò)由第一核共享的或分配給第一核的存儲(chǔ)器分配第一分組。在一些實(shí)施例中,響應(yīng)于為第二客戶機(jī)建立到第二服務(wù)器的會(huì)話或連接之一的第二核,流分布器將第二網(wǎng)絡(luò)業(yè)務(wù)流分配給該第二核。在一些實(shí)施例中,該方法包括由流分布器接收來(lái)自接收側(cè)調(diào)整器的、由RSS分布給第三核的第三分組,并且重新分布該第三分組到第一核。在一些實(shí)施例中,任意所述第一、第二、第三或其他分組可以通過(guò)任意一個(gè)或多個(gè)網(wǎng)絡(luò)接口接收,例如第一網(wǎng)絡(luò)接口卡和第二網(wǎng)絡(luò)接口卡。在一些方面,本方案還涉及一種用于在多核裝置的對(duì)應(yīng)的核上執(zhí)行的多個(gè)分組處理引擎上分布網(wǎng)絡(luò)業(yè)務(wù)流的系統(tǒng)。該系統(tǒng)包括位于多個(gè)客戶機(jī)和多個(gè)服務(wù)器中間的多核裝置的網(wǎng)絡(luò)接口。所述網(wǎng)絡(luò)接口接收多個(gè)客戶機(jī)的第一客戶機(jī)和多個(gè)服務(wù)器的第一服務(wù)器之間的第一網(wǎng)絡(luò)業(yè)務(wù)流的第一分組。該系統(tǒng)還包括流分布器,其將所述第一流分配給執(zhí)行由所述多核裝置執(zhí)行的多個(gè)分組處理引擎的第一分組處理引擎的第一核,并且分布所述第一分組到所述第一核。所述流分布器還將第二客戶機(jī)和第二服務(wù)器之間的第二網(wǎng)絡(luò)業(yè)務(wù)流的第二分組分布到執(zhí)行所述多個(gè)分組處理引擎的第二分組處理引擎的第二核。所述流分布器確定將所述多核裝置接收的、所述第一網(wǎng)絡(luò)業(yè)務(wù)流的第三分組分布到所述第一核。在該系統(tǒng)的一些實(shí)施例中,所述流分布器接收由所述多核裝置的接收側(cè)調(diào)整器 (RSS)分布的網(wǎng)絡(luò)分組。所述流分布器可以在所述多核裝置中指定為主核的核上執(zhí)行。所述流分布器可以在所述多核裝置的多個(gè)核上執(zhí)行。所述流分布器可以通過(guò)由第一核共享的或分配給第一核的存儲(chǔ)器分布第一分組。在一些實(shí)施例中,響應(yīng)于為第一客戶機(jī)建立到第一服務(wù)器的會(huì)話或連接之一的第一核,所述流分布器將第一網(wǎng)絡(luò)業(yè)務(wù)流分配給該第一核。在一些實(shí)施例中,基于來(lái)自第一服務(wù)器的、對(duì)第一客戶機(jī)的請(qǐng)求的響應(yīng),所述流分布器將第一網(wǎng)絡(luò)業(yè)務(wù)流分配給該第一核。在一些實(shí)施例中,響應(yīng)于為第二客戶機(jī)建立到第二服務(wù)器的會(huì)話或連接之一的第二核,所述流分布器將第二網(wǎng)絡(luò)業(yè)務(wù)流分配給該第二核。在一些實(shí)施例中,流分布器接收來(lái)自接收側(cè)調(diào)整器的、由RSS分布給第三核的第三分組,并且重新分布該第三分組到第一核。在一些實(shí)施例中,通過(guò)所述多核裝置的第一網(wǎng)絡(luò)接口接收第一分組,并且,通過(guò)所述多核裝置的第二網(wǎng)絡(luò)接口接收第三分組。
通過(guò)參考下述結(jié)合附圖的描述,本發(fā)明的前述和其它目的、方面、特征和優(yōu)點(diǎn)將會(huì)更加明顯并更易于理解,其中圖1A、1B、1C和ID是客戶機(jī)經(jīng)由一個(gè)或者多個(gè)設(shè)備來(lái)訪問(wèn)服務(wù)器的網(wǎng)絡(luò)環(huán)境的實(shí)施例的框圖;圖IE到IF是計(jì)算裝置的實(shí)施例的框圖;圖IG到IH是計(jì)算裝置的實(shí)施例的框圖;圖2A是用于優(yōu)化、加速、負(fù)載平衡和路由客戶機(jī)和服務(wù)器之間的通信的設(shè)備的實(shí)施例的框圖;圖2B是用于處理客戶機(jī)和服務(wù)器之間的通信的設(shè)備的又一個(gè)實(shí)施例的框圖;圖3是描述用于多核網(wǎng)絡(luò)設(shè)備的實(shí)施例的并行方法的框圖;圖4A是多核網(wǎng)絡(luò)設(shè)備的實(shí)施例的框圖;圖4B是多核網(wǎng)絡(luò)設(shè)備的又一個(gè)實(shí)施例的框圖;圖4C是多核網(wǎng)絡(luò)設(shè)備的又一個(gè)實(shí)施例的框圖;圖5A是多核網(wǎng)絡(luò)設(shè)備的控制平面的實(shí)施例的框圖;圖5B是多核網(wǎng)絡(luò)設(shè)備的高速緩存的實(shí)施例的框圖;圖6用于通過(guò)多核網(wǎng)絡(luò)設(shè)備分布網(wǎng)絡(luò)分組的方法的實(shí)施例的流程圖。從下面結(jié)合附圖所闡述的詳細(xì)描述,本發(fā)明的特征和優(yōu)點(diǎn)將更明顯,其中,同樣的參考標(biāo)記在全文中標(biāo)識(shí)相應(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)境的實(shí)施例。概括來(lái)講,網(wǎng)絡(luò)環(huán)境包括經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)104、104’ (總的稱(chēng)為網(wǎng)絡(luò)104)與一個(gè)或多個(gè)服務(wù)器106a-106n(同樣總的稱(chēng)為服務(wù)器106,或遠(yuǎn)程機(jī)器106)通信的一個(gè)或多個(gè)客戶機(jī) 10加-10211(同樣總的稱(chēng)為本地機(jī)器102,或客戶機(jī)10 。在一些實(shí)施例中,客戶機(jī)102通過(guò)設(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'可以是相同類(lèi)型的網(wǎng)絡(luò)或不同類(lèi)型的網(wǎng)絡(luò)。網(wǎng)絡(luò)104和/或104'可為局域網(wǎng)(LAN)例如公司內(nèi)網(wǎng),城域網(wǎng) (MAN),或者廣域網(wǎng)(WAN)例如因特網(wǎng)或萬(wàn)維網(wǎng)。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)104'可為專(zhuān)用網(wǎng)絡(luò)并且網(wǎng)絡(luò)104可為公網(wǎng)。在一些實(shí)施例中,網(wǎng)絡(luò)104可為專(zhuān)用網(wǎng)并且網(wǎng)絡(luò)104'可為公網(wǎng)。 在又一個(gè)實(shí)施例中,網(wǎng)絡(luò)104和104'可都為專(zhuān)用網(wǎng)。在一些實(shí)施例中,客戶機(jī)102可位于公司企業(yè)的分支機(jī)構(gòu)中,通過(guò)網(wǎng)絡(luò)104上的WAN連接與位于公司數(shù)據(jù)中心的LAN上的服務(wù)器106通信。網(wǎng)絡(luò)104和/或104'可以是任何類(lèi)型和/或形式的網(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ú)線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)。在一些實(shí)施例中,網(wǎng)絡(luò)104可以包括無(wú)線鏈路,諸如紅外信道或者衛(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ù)洹H鐖DIA所示,設(shè)備200被顯示在網(wǎng)絡(luò)104和104'之間,設(shè)備200也可被稱(chēng)為接口單元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公司制造的被稱(chēng)為Citrix Netkaler設(shè)備的任何網(wǎng)絡(luò)設(shè)備。在其它實(shí)施例中, 設(shè)備200包括由位于華盛頓州西雅圖的F5 Networks公司制造的被稱(chēng)為WebAccelerator 和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)用控制引擎模塊務(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ù)器的邏輯分組可以被稱(chēng)為服務(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可為不同種類(lèi)。一個(gè)或多個(gè)服務(wù)器106可根據(jù)一種類(lèi)型的操作系統(tǒng)平臺(tái)(例如,由華盛頓州Redmond的Microsoft公司制造的WINDOWS NT)操作,而一個(gè)或多個(gè)其它服務(wù)器106可根據(jù)另一類(lèi)型的操作系統(tǒng)平臺(tái)(例如,Unix或Linux) 操作。每個(gè)群38的服務(wù)器106不需要與同一群38內(nèi)的另一個(gè)服務(wù)器106物理上接近。因此,被邏輯分組為群38的服務(wù)器106組可使用廣域網(wǎng)(WAN)連接或城域網(wǎng)(MAN)連接互聯(lián)。例如,群38可包括物理上位于不同大陸或大陸的不同區(qū)域、國(guó)家、州、城市、校園或房間的服務(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)目錄??蛻魴C(jī)102也可稱(chēng)為客戶機(jī)節(jié)點(diǎn)或端點(diǎn)。在一些實(shí)施例中,客戶機(jī)102可以有作為客戶機(jī)節(jié)點(diǎn)尋求訪問(wèn)服務(wù)器上的應(yīng)用的能力, 也可以有作為應(yīng)用服務(wù)器為其它客戶機(jī)10加-10211提供對(duì)寄載的應(yīng)用的訪問(wèn)的能力。在一些實(shí)施例中,客戶機(jī)102與服務(wù)器106通信。在一個(gè)實(shí)施例中,客戶機(jī)102可與群38中的服務(wù)器106的其中一個(gè)直接通信。在又一個(gè)實(shí)施例中,客戶機(jī)102執(zhí)行程序鄰近應(yīng)用(program neighborhood application)以與群38內(nèi)的服務(wù)器106通信。在又一個(gè)實(shí)施例中,服務(wù)器106提供主節(jié)點(diǎn)的功能。在一些實(shí)施例中,客戶機(jī)102通過(guò)網(wǎng)絡(luò)104與群 38中的服務(wù)器106通信。通過(guò)網(wǎng)絡(luò)104,客戶機(jī)102例如可以請(qǐng)求執(zhí)行群38中的服務(wù)器 106a-106n寄載的各種應(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接收來(lái)自客戶機(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)用的列舉所識(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通信以訪問(wèn)所識(shí)別的應(yīng)用。在又一個(gè)實(shí)施例中,客戶機(jī)102接收由執(zhí)行服務(wù)器106上所識(shí)別的應(yīng)用而產(chǎn)生的諸如顯示數(shù)據(jù)的應(yīng)用輸出數(shù)據(jù)。現(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ù)的傳送?,F(xiàn)在參考圖1C,描述了網(wǎng)絡(luò)環(huán)境的又一個(gè)實(shí)施例,在該網(wǎng)絡(luò)環(huán)境中,將設(shè)備200和一個(gè)或多個(gè)其它類(lèi)型的設(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)化或者以其他方式改善任何類(lèi)型和形式的網(wǎng)絡(luò)業(yè)務(wù)(例如去往和/或來(lái)自WAN連接的業(yè)務(wù))的性能、操作或服務(wù)質(zhì)量的裝置。 在一些實(shí)施例中,設(shè)備205是一個(gè)性能增強(qiáng)代理。在其它實(shí)施例中,設(shè)備205是任何類(lèi)型和形式的WAN優(yōu)化或加速裝置,有時(shí)也被稱(chēng)為WAN優(yōu)化控制器。在一個(gè)實(shí)施例中,設(shè)備205是由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems公司出品的被稱(chēng)為WANkaler的產(chǎn)品實(shí)施例中的任何一種。在其它實(shí)施例中,設(shè)備205包括由位于華盛頓州kattle的F5 Networks公司出品的被稱(chēng)為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的I^acketeer公司出品的任何一種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ù)加速服務(wù)。 在一個(gè)實(shí)施例中,設(shè)備205包括廣域文件服務(wù)(WAR5)的優(yōu)化。在又一個(gè)實(shí)施例中,設(shè)備205 加速文件的傳送,例如經(jīng)由通用互聯(lián)網(wǎng)文件系統(tǒng)(CIFS)協(xié)議。在其它實(shí)施例中,設(shè)備205 在存儲(chǔ)器和/或存儲(chǔ)裝置中提供高速緩存來(lái)加速應(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將任何類(lèi)型和形式的數(shù)據(jù)或信息編碼成網(wǎng)絡(luò)分組的定制的或標(biāo)準(zhǔn)的TCP和/或IP的頭部字段或可選字段,以將其存在、功能或能力通告給另一個(gè)設(shè)備205'。在又一個(gè)實(shí)施例中,設(shè)備205'可以使用在TCP和/或IP頭部字段或選項(xiàng)中編碼的數(shù)據(jù)來(lái)與另一個(gè)設(shè)備205'進(jìn)行通信。例如,設(shè)備可以使用TCP選項(xiàng)或IP頭部字段或選項(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頭部和/或可選字段中編碼的任何信息。例如,設(shè)備200可以終止經(jīng)過(guò)設(shè)備200的傳輸層連接,例如經(jīng)過(guò)設(shè)備205和205'的在客戶機(jī)和服務(wù)器之間的一個(gè)傳輸層連接。在一個(gè)實(shí)施例中,設(shè)備200識(shí)別并保存由第一設(shè)備205通過(guò)第一傳輸層連接發(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包括用于向一個(gè)或多個(gè)客戶機(jī)102傳送計(jì)算環(huán)境或應(yīng)用和/ 或數(shù)據(jù)文件的應(yīng)用傳送系統(tǒng)190??偟膩?lái)說(shuō),客戶機(jī)10通過(guò)網(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í)行或操作用于訪問(wèn)、處理或使用數(shù)據(jù)文件的應(yīng)用??山?jīng)由設(shè)備200和/或服務(wù)器 106傳送計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件。
在一些實(shí)施例中,設(shè)備200加速計(jì)算環(huán)境15或者其任何部分到客戶機(jī)102的傳送。在一個(gè)實(shí)施例中,設(shè)備200通過(guò)應(yīng)用傳送系統(tǒng)190加速計(jì)算環(huán)境15的傳送。例如,可使用此處描述的實(shí)施例來(lái)加速?gòu)墓局醒霐?shù)據(jù)中心到遠(yuǎn)程用戶位置(例如公司的分支機(jī)構(gòu)) 的流應(yīng)用(streaming application)及該應(yīng)用可處理的數(shù)據(jù)文件的傳送。在又一個(gè)實(shí)施例中,設(shè)備200加速客戶機(jī)102和服務(wù)器106之間的傳輸層業(yè)務(wù)量。設(shè)備200可以提供用于加速?gòu)姆?wù)器106到客戶機(jī)102的任何傳輸層有效載荷的加速技術(shù),例如1)傳輸層連接池,2)傳輸層連接多路復(fù)用,幻傳輸控制協(xié)議緩沖,4)壓縮和幻高速緩存。在一些實(shí)施例中,設(shè)備200響應(yīng)于來(lái)自客戶機(jī)102的請(qǐng)求提供服務(wù)器106的負(fù)載平衡。在其它實(shí)施例中, 設(shè)備200充當(dāng)代理或者訪問(wèn)服務(wù)器來(lái)提供對(duì)一個(gè)或者多個(gè)服務(wù)器106的訪問(wèn)。在又一個(gè)實(shí)施例中,設(shè)備200提供從客戶機(jī)102的第一網(wǎng)絡(luò)104到服務(wù)器106的第二網(wǎng)絡(luò)104’的安全虛擬專(zhuān)用網(wǎng)絡(luò)連接,諸如SSL VPN連接。在又一些實(shí)施例中,設(shè)備200提供客戶機(jī)102和服務(wù)器106之間的連接和通信的應(yīng)用防火墻安全、控制和管理。在一些實(shí)施例中,基于多個(gè)執(zhí)行方法并且基于通過(guò)策略引擎195所應(yīng)用的任一驗(yàn)證和授權(quán)策略,應(yīng)用傳送管理系統(tǒng)190提供將計(jì)算環(huán)境傳送到遠(yuǎn)程的或者另外的用戶的桌面的應(yīng)用傳送技術(shù)。使用這些技術(shù),遠(yuǎn)程用戶可以從任何網(wǎng)絡(luò)連接裝置100獲取計(jì)算環(huán)境并且訪問(wè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-106n上或在其上執(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ǔ)于或分布到設(shè)備200或多個(gè)設(shè)備??蛻魴C(jī)102可包括用于執(zhí)行使用或處理數(shù)據(jù)文件的應(yīng)用的計(jì)算環(huán)境15??蛻魴C(jī) 102可通過(guò)網(wǎng)絡(luò)104、104’和設(shè)備200請(qǐng)求來(lái)自服務(wù)器106的應(yīng)用和數(shù)據(jù)文件。在一個(gè)實(shí)施例中,設(shè)備200可以將來(lái)自客戶機(jī)102的請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器106。例如,客戶機(jī)102可能不具有本地存儲(chǔ)或者本地可訪問(wèn)的應(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)用流來(lái)傳輸,以在客戶機(jī)102上的計(jì)算環(huán)境15中操作。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190包括Citrix Systems Inc.的Citrix Access Suite 的任一部分(例如 MetaFrame 或 Citrix Presentation Server ),和 / 或微軟公司開(kāi)發(fā)的Microsoft Windows終端服務(wù)中的任何一個(gè)。在一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190 可以通過(guò)遠(yuǎn)程顯示協(xié)議或者以其它方式通過(guò)基于遠(yuǎn)程計(jì)算或者基于服務(wù)器計(jì)算來(lái)傳送一個(gè)或者多個(gè)應(yīng)用到客戶機(jī)102或者用戶。在又一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190可以通過(guò)應(yīng)用流來(lái)傳送一個(gè)或者多個(gè)應(yīng)用到客戶機(jī)或者用戶。在一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190包括策略引擎195,其用于控制和管理對(duì)應(yīng)用的訪問(wèn)、應(yīng)用執(zhí)行方法的選擇以及應(yīng)用的傳送。在一些實(shí)施例中,策略引擎195確定用戶或者客戶機(jī)102可以訪問(wèn)的一個(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接收證書(shū)。在又一個(gè)實(shí)施例中,服務(wù)器106從客戶機(jī)102接收對(duì)于可用應(yīng)用的列舉的請(qǐng)求。在一個(gè)實(shí)施例中,響應(yīng)該請(qǐng)求或者證書(shū)的接收,應(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ù)量的方法之一來(lái)執(zhí)行所列舉的應(yīng)用,例如響應(yīng)策略引擎的策略。應(yīng)用傳送系統(tǒng)190可以選擇執(zhí)行應(yīng)用的方法,使得客戶機(jī)102接收通過(guò)執(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)用的方法,以通過(guò)網(wǎng)絡(luò)104流式傳輸應(yīng)用到客戶機(jī)102??蛻魴C(jī)102可以執(zhí)行、操作或者以其它方式提供應(yīng)用,所述應(yīng)用可為任何類(lèi)型和/ 或形式的軟件、程序或者可執(zhí)行指令,例如任何類(lèi)型和/或形式的web瀏覽器、基于web的客戶機(jī)、客戶機(jī)-服務(wù)器應(yīng)用、瘦客戶端計(jì)算客戶機(jī)、ActiveX控件、或者Java程序、或者可以在客戶機(jī)102上執(zhí)行的任何其它類(lèi)型和/或形式的可執(zhí)行指令。在一些實(shí)施例中,應(yīng)用可以是代表客戶機(jī)102在服務(wù)器106上執(zhí)行的基于服務(wù)器或者基于遠(yuǎn)程的應(yīng)用。在一個(gè)實(shí)施例中,服務(wù)器106可以使用任何瘦-客戶端或遠(yuǎn)程顯示協(xié)議來(lái)顯示輸出到客戶機(jī)102,所述瘦-客戶端或遠(yuǎn)程顯示協(xié)議例如由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems 公司出品的獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議或由位于華盛頓州Redmond的微軟公司出品的遠(yuǎn)程桌面協(xié)議(RDP)。應(yīng)用可使用任何類(lèi)型的協(xié)議,并且它可為,例如,HTTP客戶機(jī)、FTP客戶機(jī)、 Oscar客戶機(jī)或Telnet客戶機(jī)。在其它實(shí)施例中,應(yīng)用包括和VoIP通信相關(guān)的任何類(lèi)型的軟件,例如軟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)用的應(yīng)用。在一個(gè)實(shí)施例中,服務(wù)器106或服務(wù)器群38 作為一個(gè)應(yīng)用來(lái)執(zhí)行Citrix Systems Inc.的Citrix Access Suite 的任一部分(例如 MetaFrame 或 Citrix Presentation Server ),和 / 或微軟公司開(kāi)發(fā)的 Microsoft Windows終端服務(wù)中的任何一個(gè)。在一個(gè)實(shí)施例中,該應(yīng)用是位于佛羅里達(dá)州R)rt Lauderdale的Citrix Systems Inc.開(kāi)發(fā)的ICA客戶機(jī)。在其它實(shí)施例中,該應(yīng)用包括由位于華盛頓州Redmond的Microsoft公司開(kāi)發(fā)的遠(yuǎn)程桌面(RDP)客戶機(jī)。另外,服務(wù)器106 可以運(yùn)行一個(gè)應(yīng)用,例如,其可以是提供電子郵件服務(wù)的應(yīng)用服務(wù)器,例如由位于華盛頓州 Redmond 的 Microsoft 公司制造的 Microsoft Exchange, web 或 Internet 月艮務(wù)器,或者桌面共享服務(wù)器,或者協(xié)作服務(wù)器。在一些實(shí)施例中,任一應(yīng)用可以包括任一類(lèi)型的所寄載的服務(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 可以包括任何類(lèi)型和形式的性能監(jiān)控服務(wù)198。性能監(jiān)控服務(wù)198可以包括監(jiān)控、測(cè)量和/或管理軟件和/或硬件,包括數(shù)據(jù)收集、集合、分析、管理和報(bào)告。在一個(gè)實(shí)施例中,性能監(jiān)控服務(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腳本或Javascript任何類(lèi)型和形式的腳本。在一個(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)控、測(cè)量和收集數(shù)據(jù)。在其它實(shí)施例中,監(jiān)控代理197基于檢測(cè)到任何類(lèi)型和形式的事件來(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)控服務(wù)198。在一個(gè)實(shí)施例中,監(jiān)控代理197根據(jù)時(shí)間安排或預(yù)定頻率來(lái)發(fā)送信息給監(jiān)控服務(wù)198。在又一個(gè)實(shí)施例中,監(jiān)控代理 197在檢測(cè)到事件時(shí)發(fā)送信息給監(jiān)控服務(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)控和性能測(cè)量。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197執(zhí)行諸如TCP或UDP連接的任何傳輸層連接的監(jiān)控和性能測(cè)量。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197 監(jiān)控和測(cè)量網(wǎng)絡(luò)等待時(shí)間。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量帶寬利用。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量終端用戶響應(yīng)時(shí)間。在一些實(shí)施例中,監(jiān)控服務(wù)198執(zhí)行應(yīng)用的監(jiān)控和性能測(cè)量。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197執(zhí)行到應(yīng)用的任何會(huì)話或連接的監(jiān)控和性能測(cè)量。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量瀏覽器的性能。在又一個(gè)實(shí)施例中, 監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量基于HTTP的事務(wù)的性能。在一些實(shí)施例中, 監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量IP電話(VoIP)應(yīng)用或會(huì)話的性能。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量諸如ICA客戶機(jī)或RDP客戶機(jī)的遠(yuǎn)程顯示協(xié)議應(yīng)用的性能。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量任何類(lèi)型和形式的流媒體的性能。在進(jìn)一步的實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量所寄載的應(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)控和性能測(cè)量。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理 197監(jiān)控和測(cè)量應(yīng)用層堆棧的任何部分,例如任何.NET或J2EE調(diào)用。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量數(shù)據(jù)庫(kù)或SQL事務(wù)。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量任何方法、函數(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)控和性能測(cè)量。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量虛擬化應(yīng)用的傳送的性能。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量流式應(yīng)用的傳送的性能。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量傳送桌面應(yīng)用到客戶機(jī)和/或在客戶機(jī)上執(zhí)行桌面應(yīng)用的性能。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量客戶機(jī)/服務(wù)器應(yīng)用的性能。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197被設(shè)計(jì)和構(gòu)建成為應(yīng)用傳送系統(tǒng)190提供應(yīng)用性能管理。例如,監(jiān)控服務(wù)198和/或監(jiān)控代理197可以監(jiān)控、測(cè)量和管理經(jīng)由Citrix表示服務(wù)器(Citrix Presentation Server)傳送應(yīng)用的性能。在該實(shí)例中, 監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控單獨(dú)的ICA會(huì)話。監(jiān)控服務(wù)198和/或監(jiān)控代理197 可以測(cè)量總的以及每次的會(huì)話系統(tǒng)資源使用,以及應(yīng)用和連網(wǎng)性能。監(jiān)控服務(wù)198和/或監(jiān)控代理197可以對(duì)于給定用戶和/或用戶會(huì)話來(lái)標(biāo)識(shí)有效服務(wù)器(active server)。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控在應(yīng)用傳送系統(tǒng)190和應(yīng)用和/或數(shù)據(jù)庫(kù)服務(wù)器之間的后端連接。監(jiān)控服務(wù)198和/或監(jiān)控代理197可以測(cè)量每個(gè)用戶會(huì)話或ICA會(huì)話的網(wǎng)絡(luò)等待時(shí)間、延遲和容量。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控對(duì)于應(yīng)用傳送系統(tǒng)190的諸如總的存儲(chǔ)器使用、每個(gè)用戶會(huì)話和/或每個(gè)進(jìn)程的存儲(chǔ)器使用。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控諸如總的CPU使用、每個(gè)用戶會(huì)話和/ 或每個(gè)進(jìn)程的應(yīng)用傳送系統(tǒng)190的CPU使用。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控登錄到諸如Citrix表示服務(wù)器的應(yīng)用、服務(wù)器或應(yīng)用傳送系統(tǒng)所需的時(shí)間。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控用戶登錄應(yīng)用、月艮務(wù)器或應(yīng)用傳送系統(tǒng)190的持續(xù)時(shí)間。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197 測(cè)量和監(jiān)控應(yīng)用、服務(wù)器或應(yīng)用傳送系統(tǒng)會(huì)話的有效和無(wú)效的會(huì)話計(jì)數(shù)。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控用戶會(huì)話等待時(shí)間。在進(jìn)一步的實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控任何類(lèi)型和形式的服務(wù)器指標(biāo)。在一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控與系統(tǒng)內(nèi)存、CPU使用和磁盤(pán)存儲(chǔ)器有關(guān)的指標(biāo)。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控和頁(yè)錯(cuò)誤有關(guān)的指標(biāo),諸如每秒頁(yè)錯(cuò)誤。在其它實(shí)施例中,監(jiān)控服務(wù)198 和/或監(jiān)控代理197測(cè)量和監(jiān)控往返時(shí)間的指標(biāo)。在又一個(gè)實(shí)施例中,監(jiān)控服務(wù)198和/ 或監(jiān)控代理197測(cè)量和監(jiān)控與應(yīng)用崩潰、錯(cuò)誤和/或中止相關(guān)的指標(biāo)。在一些實(shí)施例中,監(jiān)控服務(wù)198和監(jiān)控代理198包括由位于佛羅里達(dá)州 Ft. Lauderdale的Citrix Systems公司出品的被稱(chēng)為EdgeSight的任何一種產(chǎn)品實(shí)施例。 在又一個(gè)實(shí)施例中,性能監(jiān)控服務(wù)198和/或監(jiān)控代理198包括由位于加利福尼亞州I^lo Alto的Symphoniq公司出品的被稱(chēng)為T(mén)rueView產(chǎn)品套件的產(chǎn)品實(shí)施例的任一部分。在一個(gè)實(shí)施例中,性能監(jiān)控服務(wù)198和/或監(jiān)控代理198包括由位于加利福尼亞州San Francisco 的TeaLeaf技術(shù)公司出品的被稱(chēng)為T(mén)eaLeafCX產(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)品的任何部分??蛻魴C(jī)102、服務(wù)器106和設(shè)備200可以被部署為和/或執(zhí)行在任何類(lèi)型和形式的計(jì)算裝置上,諸如能夠在任何類(lèi)型和形式的網(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、鍵盤(pán)1 和 /或諸如鼠標(biāo)的指示裝置127。每個(gè)計(jì)算裝置100也可包括其它可選元件,例如一個(gè)或多個(gè)輸入/輸出裝置130a-130b (總的使用附圖標(biā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可以基于這些處理器中的任何一種,或者能夠按照這里所說(shuō)明的那樣運(yùn)行的任何其它處理器。主存儲(chǔ)器單元122可以是能夠存儲(chǔ)數(shù)據(jù)并允許微處理器101直接訪問(wèn)任何存儲(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)型 SRAM (ESDRAM)、同步鏈路 DRAM (SLDRAM)、直接Rambus DRAM (DRDRAM)或鐵電RAM (FRAM)。主存儲(chǔ)器122可以基于上述存儲(chǔ)芯片的任何一種,或者能夠像這里所說(shuō)明的那樣運(yùn)行的任何其它可用存儲(chǔ)芯片。在圖IE中所示的實(shí)施例中,處理器101通過(guò)系統(tǒng)總線150 (在下面進(jìn)行更詳細(xì)的描述)與主存儲(chǔ)器122進(jìn)行通信。圖IE描述了在其中處理器通過(guò)存儲(chǔ)器端口 103直接與主存儲(chǔ)器122通信的計(jì)算裝置 100的實(shí)施例。例如,在圖IF中,主存儲(chǔ)器122可以是DRDRAM。圖IF描述了在其中主處理器101通過(guò)第二總線與高速緩存存儲(chǔ)器140直接通信的實(shí)施例,第二總線有時(shí)也稱(chēng)為背側(cè)總線。其他實(shí)施例中,主處理器101使用系統(tǒng)總線150 和高速緩存存儲(chǔ)器140通信。高速緩存存儲(chǔ)器140通常有比主存儲(chǔ)器122更快的響應(yīng)時(shí)間,并且通常由SRAM、BSRAM或EDRAM提供。在圖IF中所示的實(shí)施例中,處理器101通過(guò)本地系統(tǒng)總線150與多個(gè)1/0裝置130進(jìn)行通信??梢允褂酶鞣N不同的總線將中央處理單元 101連接到任何1/0裝置130,所述總線包括VESA VL總線、ISA總線、EISA總線、微通道體系結(jié)構(gòu)(MCA)總線、PCI總線、PCI-X總線、PCI-Express總線或NuBus。對(duì)于1/0裝置是視頻顯示器124的實(shí)施例,處理器101可以使用高級(jí)圖形端口(AGP)與顯示器IM通信。圖 IF說(shuō)明了主處理器101通過(guò)超傳輸(HyperTransport)、快速1/0或者InfiniBand直接與 1/0裝置130通信的計(jì)算機(jī)100的一個(gè)實(shí)施例。圖IF還描述了在其中混合本地總線和直接通信的實(shí)施例處理器101使用本地互連總線與1/0裝置130進(jìn)行通信,同時(shí)直接與1/0 裝置130進(jìn)行通信。計(jì)算裝置100可以支持任何適當(dāng)?shù)陌惭b裝置116,例如用于接收像3. 5英寸、5. 25 英寸磁盤(pán)或ZIP磁盤(pán)這樣的軟盤(pán)的軟盤(pán)驅(qū)動(dòng)器、CD-ROM驅(qū)動(dòng)器、CD-R/RW驅(qū)動(dòng)器、DVD-ROM驅(qū)動(dòng)器、多種格式的磁帶驅(qū)動(dòng)器、USB裝置、硬盤(pán)驅(qū)動(dòng)器或適于安裝像任何客戶機(jī)代理120 或其部分的軟件和程序的任何其它裝置。計(jì)算裝置100還可以包括存儲(chǔ)裝置128,諸如一個(gè)或者多個(gè)硬盤(pán)驅(qū)動(dòng)器或者獨(dú)立磁盤(pán)冗余陣列,用于存儲(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)⑶,該可引導(dǎo)⑶可自knoppix. net
作為GNU/Linux分發(fā)獲得。此外,計(jì)算裝置100可以包括通過(guò)多種連接接口到局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或因特網(wǎng)的網(wǎng)絡(luò)接口 118,所述多種連接包括但不限于標(biāo)準(zhǔn)電話線路、LAN或WAN鏈路(例如 802.11,Tl,T3、56kb、X. 25)、寬帶連接(如ISDN、幀中繼、ATM)、無(wú)線連接、或上述任何或所有連接的一些組合。網(wǎng)絡(luò)接口 118可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA網(wǎng)絡(luò)卡、卡總線網(wǎng)絡(luò)適配器、無(wú)線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器或適用于將計(jì)算裝置 100接口到能夠通信并執(zhí)行這里所說(shuō)明的操作的任何類(lèi)型的網(wǎng)絡(luò)的任何其它設(shè)備。計(jì)算裝置100中可以包括各種I/O裝置130a-130n。輸入裝置包括鍵盤(pán)、鼠標(biāo)、觸控板、軌跡球、麥克風(fēng)和繪圖板。輸出裝置包括視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)和熱升華打印機(jī)。如圖IE所示,I/O裝置130可以由I/O控制器123控制。I/O控制器可以控制一個(gè)或多個(gè)I/O裝置,例如鍵盤(pán)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如或與其相連,這些顯示裝置各自可以是相同或不同的類(lèi)型和/或形式。因而,任何一種I/O裝置130a-130n 和/或I/O控制器123可以包括任一類(lèi)型和/或形式的適當(dāng)?shù)挠布?、軟件或硬件和軟件的組合,以支持、允許或提供通過(guò)計(jì)算裝置100連接和使用多個(gè)顯示裝置12如-1對(duì)11。例如, 計(jì)算裝置100可以包括任何類(lèi)型和/或形式的視頻適配器、視頻卡、驅(qū)動(dòng)器和/或庫(kù),以與顯示裝置1對(duì)『12如接口、通信、連接或以其他方式使用顯示裝置。在一個(gè)實(shí)施例中,視頻適配器可以包括多個(gè)連接器以與多個(gè)顯示裝置1對(duì)『12如接口。在其它實(shí)施例中,計(jì)算裝置100可以包括多個(gè)視頻適配器,每個(gè)視頻適配器與顯示裝置12如-1對(duì)11中的一個(gè)或多個(gè)連接。在一些實(shí)施例中,計(jì)算裝置100的操作系統(tǒng)的任一部分都可以被配置用于使用多個(gè)顯示器12如-1對(duì)11。在其它實(shí)施例中,顯示裝置12^-124n中的一個(gè)或多個(gè)可以由一個(gè)或多個(gè)其它計(jì)算裝置提供,諸如例如通過(guò)網(wǎng)絡(luò)與計(jì)算裝置100連接的計(jì)算裝置IOOa和100b。 這些實(shí)施例可以包括被設(shè)計(jì)和構(gòu)造為將另一個(gè)計(jì)算機(jī)的顯示裝置用作計(jì)算裝置100的第二顯示裝置12 的任一類(lèi)型的軟件。本領(lǐng)域的普通技術(shù)人員會(huì)認(rèn)識(shí)和理解可以將計(jì)算裝置100配置成具有多個(gè)顯示裝置12如-1對(duì)11的各種方法和實(shí)施例。在進(jìn)一步的實(shí)施例中,I/O裝置130可以是系統(tǒng)總線150和外部通信總線之間的橋170,所述外部通信總線例如USB總線、Apple桌面總線、RS-232串行連接、SCSI總線、 Fireffire總線、Fireffire800總線、以太網(wǎng)總線、AppleTalk總線、千兆位以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超級(jí)HIPPI總線、SerialPlus總線、SCI/LAMP總線、光纖信道總線或串行SCSI總線。
圖IE和IF中描述的那類(lèi)計(jì)算裝置100通常在控制任務(wù)的調(diào)度和對(duì)系統(tǒng)資源的訪問(wèn)的操作系統(tǒng)的控制下操作。計(jì)算裝置100可以運(yùn)行任何操作系統(tǒng),如Microsoft Wind0WS 操作系統(tǒng),不同發(fā)行版本的Unix和Linux操作系統(tǒng),用于Macintosh計(jì)算機(jī)的任何版本的MAC OS ,任何嵌入式操作系統(tǒng),任何實(shí)時(shí)操作系統(tǒng),任何開(kāi)源操作系統(tǒng),任何專(zhuān)有操作
系統(tǒng),任何用于移動(dòng)計(jì)算裝置的操作系統(tǒng),或者任何其它能夠在計(jì)算裝置上運(yùn)行并完成這里所述操作的操作系統(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的微軟公司出品;由位于加利福尼亞州Cupertino的蘋(píng)果計(jì)算機(jī)出品的MacOS ;由位于紐約州Armonk的國(guó)際商業(yè)機(jī)器公司出品的OS/2 ;以及由位于猶他州Mlt Lake City的Caldera公司發(fā)布的可免費(fèi)使用的Linux操作系統(tǒng)或者任何類(lèi)型和 /或形式的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ì)算或者電信裝置。如圖IG所示,計(jì)算裝置100可以包括多個(gè)處理器,可以提供用于對(duì)不只一個(gè)數(shù)據(jù)片同時(shí)執(zhí)行多個(gè)指令或者同時(shí)執(zhí)行一個(gè)指令的功能。在一些實(shí)施例中,計(jì)算裝置100可包括具有一個(gè)或多個(gè)核的并行處理器。在這些實(shí)施例的一個(gè)中,計(jì)算裝置100是共享內(nèi)存并行設(shè)備,具有多個(gè)處理器和/或多個(gè)處理器核,將所有可用內(nèi)存作為一個(gè)全局地址空間進(jìn)行訪問(wèn)。在這些實(shí)施例的又一個(gè)中,計(jì)算裝置100是分布式存儲(chǔ)器并行設(shè)備,具有多個(gè)處理器,每個(gè)處理器訪問(wèn)本地存儲(chǔ)器。在這些實(shí)施例的又一個(gè)中,計(jì)算裝置100既有共享的存儲(chǔ)器又有僅由特定處理器或處理器子集訪問(wèn)的存儲(chǔ)器。在這些實(shí)施例的又一個(gè)中,如多核微處理器的計(jì)算裝置100將兩個(gè)或多個(gè)獨(dú)立處理器組合在一個(gè)封裝中,通常在一個(gè)集成電路 (IC)中。在這些實(shí)施例的又一個(gè)中,計(jì)算裝置100包括具有單元寬帶引擎(CELL BROADBAND ENGINE)架構(gòu)的芯片,并包括高能處理器單元以及多個(gè)協(xié)同處理單元,高能處理器單元和多個(gè)協(xié)同處理單元通過(guò)內(nèi)部高速總線連接在一起,可以將內(nèi)部高速總線稱(chēng)為單元互連總線。在一些實(shí)施例中,處理器提供用于對(duì)多個(gè)數(shù)據(jù)片同時(shí)執(zhí)行單個(gè)指令(SIMD)的功能。其他實(shí)施例中,處理器提供用于對(duì)多個(gè)數(shù)據(jù)片同時(shí)執(zhí)行多個(gè)指令(MIMD)的功能。又一個(gè)實(shí)施例中,處理器可以在單個(gè)裝置中使用SMD和MIMD核的任意組合。在一些實(shí)施例中,計(jì)算裝置100可包括圖像處理單元。圖IH所示的在這些實(shí)施例的一個(gè)中,計(jì)算裝置100包括至少一個(gè)中央處理單元101和至少一個(gè)圖像處理單元。在這些實(shí)施例的又一個(gè)中,計(jì)算裝置100包括至少一個(gè)并行處理單元和至少一個(gè)圖像處理單元。在這些實(shí)施例的又一個(gè)中,計(jì)算裝置100包括任意類(lèi)型的多個(gè)處理單元,多個(gè)處理單元中的一個(gè)包括圖像處理單元。一些實(shí)施例中,第一計(jì)算裝置100a代表客戶計(jì)算裝置100b的用戶執(zhí)行應(yīng)用。又一個(gè)實(shí)施例中,計(jì)算裝置100執(zhí)行虛擬機(jī),其提供執(zhí)行會(huì)話,在該會(huì)話中,代表客戶計(jì)算裝置100b的用戶執(zhí)行應(yīng)用。在這些實(shí)施例的一個(gè)中,執(zhí)行會(huì)話是寄載的桌面會(huì)話。在這些實(shí)施例的又一個(gè)中,計(jì)算裝置100執(zhí)行終端服務(wù)會(huì)話。終端服務(wù)會(huì)話可以提供寄載的桌面環(huán)境。在這些實(shí)施例的又一個(gè)中,執(zhí)行會(huì)話提供對(duì)計(jì)算環(huán)境的訪問(wèn),計(jì)算環(huán)境可包括以下的一個(gè)或多個(gè)應(yīng)用、多個(gè)應(yīng)用、桌面應(yīng)用以及可執(zhí)行一個(gè)或多個(gè)應(yīng)用的桌面會(huì)話。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,用于通過(guò)網(wǎng)絡(luò)傳輸和接收數(shù)據(jù)的網(wǎng)絡(luò)端口沈6,以及用于執(zhí)行與安全套接字協(xié)議層相關(guān)的功能處理通過(guò)網(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ì)算裝置的任何類(lèi)型和形式的元件、硬件或軟件,例如此處結(jié)合圖IE和IF示出和討論的計(jì)算裝置100。在一些實(shí)施例中,設(shè)備200可包括服務(wù)器、網(wǎng)關(guān)、路由器、開(kāi)關(guān)、橋接器或其它類(lèi)型的計(jì)算或網(wǎng)絡(luò)設(shè)備,并且擁有與此相關(guān)的任何硬件和/或軟件元件。設(shè)備200的操作系統(tǒng)分配、管理或另外分離可用的系統(tǒng)存儲(chǔ)器到內(nèi)核空間204和用戶空間204。在示例的軟件架構(gòu)200中,操作系統(tǒng)可以是任何類(lèi)型和/或形式的Unix操作系統(tǒng),盡管本發(fā)明并未這樣限制。這樣,設(shè)備200可以運(yùn)行任何操作系統(tǒng),如任何版本的 Microsoft Windows操作系統(tǒng)、不同版本的Unix和Linux操作系統(tǒng)、用于Macintosh計(jì)算機(jī)的任何版本的Mac OS 、任何的嵌入式操作系統(tǒng)、任何的網(wǎng)絡(luò)操作系統(tǒng)、任何的實(shí)時(shí)操作系統(tǒng)、任何的開(kāi)放源操作系統(tǒng)、任何的專(zhuān)用操作系統(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)硬件元件的訪問(wèn)、控制和管理。根據(jù)設(shè)備200的實(shí)施例,內(nèi)核空間 204也包括與高速緩存管理器232協(xié)同工作的多個(gè)網(wǎng)絡(luò)服務(wù)或進(jìn)程,高速緩存管理器232有時(shí)也稱(chēng)為集成的高速緩存,其益處此處將進(jìn)一步詳細(xì)描述。另外,內(nèi)核230的實(shí)施例將依賴(lài)于通過(guò)設(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的第二傳輸層連接??赏ㄟ^(guò)單獨(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通過(guò)移動(dòng)加密和解密操作到內(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)來(lái)提供對(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)分組的任何部分的訪問(wèn),例如,包括來(lái)自客戶機(jī)102的請(qǐng)求或者來(lái)自服務(wù)器106的響應(yīng)的網(wǎng)絡(luò)分組。 在一些實(shí)施例中,可以由分組引擎240通過(guò)到網(wǎng)絡(luò)堆棧267的傳輸層驅(qū)動(dòng)器接口或過(guò)濾器獲得內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)。內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)可包括通過(guò)與網(wǎng)絡(luò)堆棧267相關(guān)的內(nèi)核空間204可訪問(wèn)的任何接口和/或數(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)來(lái)執(zhí)行組件或進(jìn)程的需要的操作。在一個(gè)實(shí)例中,當(dāng)使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)時(shí),組件232、240、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ì)任何類(lèi)型和形式的內(nèi)容的高速緩存訪問(wèn)、控制和管理,例如對(duì)象或由源服務(wù)器106提供服務(wù)的動(dòng)態(tài)產(chǎn)生的對(duì)象。由高速緩存管理器232處理和存儲(chǔ)的數(shù)據(jù)、對(duì)象或內(nèi)容可包括任何格式 (例如標(biāo)記語(yǔ)言)的數(shù)據(jù),或者通過(guò)任何協(xié)議的通信的任何類(lèi)型的數(shù)據(jù)。在一些實(shí)施例中, 高速緩存管理器232復(fù)制存儲(chǔ)在其他地方的原始數(shù)據(jù)或先前計(jì)算、產(chǎn)生或傳輸?shù)臄?shù)據(jù),其中相對(duì)于讀高速緩存存儲(chǔ)器元件,需要更長(zhǎng)的訪問(wèn)時(shí)間以取得、計(jì)算或以其他方式得到原始數(shù)據(jù)。一旦數(shù)據(jù)被存儲(chǔ)在高速緩存存儲(chǔ)元件中,通過(guò)訪問(wèn)高速緩存的副本而不是重新獲得或重新計(jì)算原始數(shù)據(jù)即可進(jìn)行后續(xù)操作,因此而減少了訪問(wèn)時(shí)間。在一些實(shí)施例中,高速緩存元件可以包括設(shè)備200的存儲(chǔ)器沈4中的數(shù)據(jù)對(duì)象。在其它實(shí)施例中,高速緩存存儲(chǔ)元件可包括有比存儲(chǔ)器264更快的存取時(shí)間的存儲(chǔ)器。在又一個(gè)實(shí)施例中,高速緩存元件可以包括設(shè)備200的任一類(lèi)型和形式的存儲(chǔ)元件,諸如硬盤(pán)的一部分。在一些實(shí)施例中,處理單元262可提供被高速緩存管理器232使用的高速緩存存儲(chǔ)器。在又一個(gè)實(shí)施例中,高速緩存管理器232可使用存儲(chǔ)器、存儲(chǔ)區(qū)或處理單元的任何部分和組合來(lái)高速緩存數(shù)據(jù)、 對(duì)象或其它內(nèi)容。另外,高速緩存管理器232包括用于執(zhí)行此處描述的設(shè)備200的技術(shù)的任一實(shí)施例的任何邏輯、功能、規(guī)則或操作。例如,高速緩存管理器232包括基于無(wú)效時(shí)間周期的終止,或者從客戶機(jī)102或服務(wù)器106接收無(wú)效命令使對(duì)象無(wú)效的邏輯或功能。在一些實(shí)施例中,高速緩存管理器232可作為應(yīng)用、庫(kù)、程序、服務(wù)、進(jìn)程或任務(wù)操作執(zhí)行在內(nèi)核空間204 中,并且在其他實(shí)施例中,在用戶空間202中執(zhí)行。在一個(gè)實(shí)施例中,高速緩存管理器232 的第一部分在用戶空間202中執(zhí)行,而第二部分在內(nèi)核空間204中執(zhí)行。在一些實(shí)施例中, 高速緩存管理器232可包括任何類(lèi)型的通用處理器(GPP),或任何其他類(lèi)型的集成電路,例如現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA),可編程邏輯設(shè)備(PLD),或者專(zhuān)用集成電路(ASIC)。策略引擎236可包括例如智能統(tǒng)計(jì)引擎或其它可編程應(yīng)用。在一個(gè)實(shí)施例中,策略引擎236提供配置機(jī)制以允許用戶識(shí)別、指定、定義或配置高速緩存策略。策略引擎236, 在一些實(shí)施例中,也訪問(wèn)存儲(chǔ)器以支持?jǐn)?shù)據(jù)結(jié)構(gòu),例如備份表或hash表,以啟用用戶選擇的高速緩存策略決定。在其它實(shí)施例中,除了對(duì)安全、網(wǎng)絡(luò)業(yè)務(wù)、網(wǎng)絡(luò)訪問(wèn)、壓縮或其它任何由設(shè)備200執(zhí)行的功能或操作的訪問(wèn)、控制和管理之外,策略引擎236可包括任何邏輯、規(guī)貝U、功能或操作以確定和提供對(duì)設(shè)備200所高速緩存的對(duì)象、數(shù)據(jù)、或內(nèi)容的訪問(wèn)、控制和管理。特定高速緩存策略的其它實(shí)施例此處進(jìn)一步描述。加密引擎234包括用于操控諸如SSL或TLS的任何安全相關(guān)協(xié)議或其中涉及的任何功能的處理的任何邏輯、商業(yè)規(guī)則、功能或操作。例如,加密引擎234加密并解密通過(guò)設(shè)備200傳輸?shù)木W(wǎng)絡(luò)分組,或其任何部分。加密引擎234也可代表客戶機(jī)10加-10211、服務(wù)器 106a-106n或設(shè)備200來(lái)設(shè)置或建立SSL或TLS連接。因此,加密引擎234提供SSL處理的卸載和加速。在一個(gè)實(shí)施例中,加密引擎234使用隧道協(xié)議來(lái)提供在客戶機(jī)102a-102n和服務(wù)器106a-106n間的虛擬專(zhuān)用網(wǎng)絡(luò)。在一些實(shí)施例中,加密引擎234與加密處理器沈0 通信。在其它實(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)、通用互聯(lián)網(wǎng)文件系統(tǒng)(Cire)協(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í)施例中,提供任何標(biāo)記語(yǔ)言的壓縮,例如可擴(kuò)展標(biāo)記語(yǔ)言(XML)。在一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238提供任何高性能協(xié)議的壓縮,例如設(shè)計(jì)用于設(shè)備200到設(shè)備200通信的任何協(xié)議。在又一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238使用修改的傳輸控制協(xié)議來(lái)壓縮任何通信的任何載荷或任何通信,例如事務(wù)TCP(T/TCP)、帶有選擇確認(rèn)的TCP(TCP-SACK)、帶有大窗口的TCP (TCP-Lff)、例如TCP-Vegas協(xié)議的擁塞預(yù)報(bào)協(xié)議以及TCP欺騙協(xié)議(TCP spoofing protocol)0同樣的,多協(xié)議壓縮引擎238為用戶加速經(jīng)由桌面客戶機(jī)乃至移動(dòng)客戶機(jī)訪問(wèn)應(yīng)用的性能,所述桌面客戶機(jī)例如Micosoft Outlook和非web瘦客戶機(jī),諸如由像Oracle、 SAP和Siebel的通用企業(yè)應(yīng)用所啟動(dòng)的任何客戶機(jī),所述移動(dòng)客戶機(jī)例如掌上電腦。在一些實(shí)施例中,通過(guò)在內(nèi)核模式204內(nèi)部執(zhí)行并與訪問(wèn)網(wǎng)絡(luò)堆棧267的分組處理引擎240集成,多協(xié)議壓縮引擎238可以壓縮TCP/IP協(xié)議攜帶的任何協(xié)議,例如任何應(yīng)用層協(xié)議。高速層2-7集成分組引擎M0,通常也稱(chēng)為分組處理引擎,或分組引擎,負(fù)責(zé)設(shè)備 200通過(guò)網(wǎng)絡(luò)端口 266接收和發(fā)送的分組的內(nèi)核級(jí)處理的管理。高速層2-7集成分組引擎 240可包括用于在例如接收網(wǎng)絡(luò)分組和傳輸網(wǎng)絡(luò)分組的處理期間排隊(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)分組的緩沖器。另外,高速層2-7集成分組引擎240與一個(gè)或多個(gè)網(wǎng)絡(luò)堆棧267通信以通過(guò)網(wǎng)絡(luò)端口 266發(fā)送和接收網(wǎng)絡(luò)分組。高速層27集成分組引擎240與加密引擎234、高速緩存管理器232、策略引擎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í)器對(duì)2向分組引擎240提供任何類(lèi)型和形式的信號(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í)施例中,高速緩存管理器232可響應(yīng)于高速層2-7集成分組引擎240和/或分組處理定時(shí)器242來(lái)執(zhí)行任何高速緩存的對(duì)象的終止。在又一個(gè)實(shí)施例中,高速緩存的對(duì)象的終止或無(wú)效時(shí)間被設(shè)定為與分組處理定時(shí)器242的時(shí)間間隔相同的粒度級(jí),例如每10ms。與內(nèi)核空間204不同,用戶空間202是被用戶模式應(yīng)用或在用戶模式運(yùn)行的程序所使用的操作系統(tǒng)的存儲(chǔ)區(qū)域或部分。用戶模式應(yīng)用不能直接訪問(wèn)內(nèi)核空間204而使用服務(wù)調(diào)用以訪問(wèn)內(nèi)核服務(wù)。如圖2所示,設(shè)備200的用戶空間202包括圖形用戶接口 (⑶1)210、命令行接口(CLI) 212、殼服務(wù)(shell service) 214、健康監(jiān)控程序216以及守護(hù) (daemon)服務(wù)218。⑶I 210和CLI212提供系統(tǒng)管理員或其他用戶可與之交互并控制設(shè)備200操作的裝置,例如通過(guò)設(shè)備200的操作系統(tǒng)。⑶1210和CLI 212可包括運(yùn)行在用戶空間202或內(nèi)核框架204中的代碼。GUI210可以是任何類(lèi)型或形式的圖形用戶接口,可以通過(guò)文本、圖形或其他形式由任何類(lèi)型的程序或應(yīng)用(如瀏覽器)來(lái)呈現(xiàn)。CLI 212可為任何類(lèi)型和形式的命令行或基于文本的接口,例如通過(guò)操作系統(tǒng)提供的命令行。例如,CLI 212 可包括殼,該殼是使用戶與操作系統(tǒng)相互作用的工具。在一些實(shí)施例中,可通過(guò)bash、csh、 tcsh或者ksh類(lèi)型的殼提供CLI 212。殼服務(wù)214包括程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令以支持由用戶通過(guò)⑶I 210和/或CLI 212的與設(shè)備200或者操作系統(tǒng)的交互健康監(jiān)控程序216用于監(jiān)控、檢查、報(bào)告并確保網(wǎng)絡(luò)系統(tǒng)正常運(yùn)行,以及用戶正通過(guò)網(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攔截并檢查通過(guò)設(shè)備200傳送的任何網(wǎng)絡(luò)業(yè)務(wù)。在其他實(shí)施例中,健康監(jiān)控程序216通過(guò)任何合適的方法和/或機(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可無(wú)人監(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)核空間。現(xiàn)在參見(jiàn)圖2B,描述了設(shè)備200的又一個(gè)實(shí)施例。總的來(lái)說(shuō),設(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 (稱(chēng)為服務(wù)270)。例如,服務(wù)器106可以提供http服務(wù)270。設(shè)備200包括一個(gè)或者多個(gè)虛擬服務(wù)器或者虛擬互聯(lián)網(wǎng)協(xié)議服務(wù)器,稱(chēng)為vServer 275、vS 275、VIP服務(wù)器或者僅是VIP 27fe-275n (此處也稱(chēng)為vServer 275)。vServer 275根據(jù)設(shè)備200的配置和操作來(lái)接收、 攔截或者以其它方式處理客戶機(jī)102和服務(wù)器106之間的通信。vServer 275可以包括軟件、硬件或者軟件和硬件的任何組合。vServer 275可包括在設(shè)備200中的用戶模式202、內(nèi)核模式204或者其任何組合中運(yùn)行的任何類(lèi)型和形式的程序、服務(wù)、任務(wù)、進(jìn)程或者可執(zhí)行指令。vServer 275包括任何邏輯、功能、規(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ù)庫(kù)服務(wù)器。在一些實(shí)施例中,服務(wù)270是守護(hù)進(jìn)程或者網(wǎng)絡(luò)驅(qū)動(dòng)器,用于監(jiān)聽(tīng)、接收和/或發(fā)送應(yīng)用的通信,諸如電子郵件、數(shù)據(jù)庫(kù)或者企業(yè)應(yīng)用。 在一些實(shí)施例中,服務(wù)270可以在特定的IP地址、或者IP地址和端口上通信。在一些實(shí)施例中,vServer 275應(yīng)用策略引擎236的一個(gè)或者多個(gè)策略到客戶機(jī) 102和服務(wù)器106之間的網(wǎng)絡(luò)通信。在一個(gè)實(shí)施例中,該策略與vServer 275相關(guān)。在又一個(gè)實(shí)施例中,該策略基于用戶或者用戶組。在又一個(gè)實(shí)施例中,策略為通用的并且應(yīng)用到一個(gè)或者多個(gè)vServer 27fe_275n,和通過(guò)設(shè)備200通信的任何用戶或者用戶組。在一些實(shí)施例中,策略引擎的策略具有基于通信的任何內(nèi)容應(yīng)用該策略的條件,通信的內(nèi)容諸如互聯(lián)網(wǎng)協(xié)議地址、端口、協(xié)議類(lèi)型、分組中的首部或者字段、或者通信的上下文,諸如用戶、用戶組、vServer 275、傳輸層連接、和/或客戶機(jī)102或者服務(wù)器106的標(biāo)識(shí)或者屬性。在其他實(shí)施例中,設(shè)備200與策略引擎236通信或接口,以便確定遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102的驗(yàn)證和/或授權(quán),以訪問(wèn)來(lái)自服務(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ù)文件的訪問(wèn)。在一些實(shí)施例中,Werver 275與客戶機(jī)102經(jīng)客戶機(jī)代理120建立傳輸層連接, 諸如TCP或者UDP連接。在一個(gè)實(shí)施例中,vServer 275監(jiān)聽(tīng)和接收來(lái)自客戶機(jī)102的通信。在其它實(shí)施例中,Werver 275與客戶機(jī)服務(wù)器106建立傳輸層連接,諸如TCP或者UDP 連接。在一個(gè)實(shí)施例中,vServer 275建立到運(yùn)行在服務(wù)器106上的服務(wù)器270的互聯(lián)網(wǎng)協(xié)議地址和端口的傳輸層連接。在又一個(gè)實(shí)施例中,Werver 275將到客戶機(jī)102的第一傳輸層連接與到服務(wù)器106的第二傳輸層連接相關(guān)聯(lián)。在一些實(shí)施例中,vServer 275建立到服務(wù)器106的傳輸層連接池并經(jīng)由所述池化(pooled)的傳輸層連接多路復(fù)用客戶機(jī)的請(qǐng)求。在一些實(shí)施例中,設(shè)備200提供客戶機(jī)102和服務(wù)器106之間的SSL VPN連接觀0。 例如,第一網(wǎng)絡(luò)102上的客戶機(jī)102請(qǐng)求建立到第二網(wǎng)絡(luò)104’上的服務(wù)器106的連接。在一些實(shí)施例中,第二網(wǎng)絡(luò)104’是不能從第一網(wǎng)絡(luò)104路由的。在其它實(shí)施例中,客戶機(jī)102 位于公用網(wǎng)絡(luò)104上,并且服務(wù)器106位于專(zhuān)用網(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接收來(lái)自客戶機(jī)代理102的所攔截的通信,解密該通信,并且經(jīng)第二傳輸層連接發(fā)送該通信到第二網(wǎng)絡(luò)104上的服務(wù)器106。第二傳輸層連接可以是池化的傳輸層連接。同樣的,設(shè)備200為兩個(gè)網(wǎng)絡(luò)104、104’ 之間的客戶機(jī)102提供端到端安全傳輸層連接。在一個(gè)實(shí)施例中,設(shè)備200寄載虛擬專(zhuān)用網(wǎng)絡(luò)104上的客戶機(jī)102的內(nèi)部網(wǎng)互聯(lián)網(wǎng)協(xié)議或者h(yuǎn)tranetIP 282地址??蛻魴C(jī)102具有本地網(wǎng)絡(luò)標(biāo)識(shí)符,諸如第一網(wǎng)絡(luò)104上的互聯(lián)網(wǎng)協(xié)議(IP)地址和/或主機(jī)名稱(chēng)。當(dāng)經(jīng)設(shè)備200連接到第二網(wǎng)絡(luò)104’時(shí),設(shè)備200在第二網(wǎng)絡(luò)104’上為客戶機(jī)102建立、分配或者以其它方式提供htranetn^內(nèi)部網(wǎng)IP), 其是諸如IP地址和/或主機(jī)名稱(chēng)的網(wǎng)絡(luò)標(biāo)識(shí)符。使用為客戶機(jī)的所建立的htranetIP 觀2,設(shè)備200在第二或?qū)S镁W(wǎng)104'上監(jiān)聽(tīng)并接收指向該客戶機(jī)102的任何通信。在一個(gè)實(shí)施例中,設(shè)備200在第二專(zhuān)用網(wǎng)絡(luò)104上用作或者代表客戶機(jī)102。例如,在又一個(gè)實(shí)施例中,Werver 275監(jiān)聽(tīng)和響應(yīng)到客戶機(jī)102的htranetIP 282的通信。在一些實(shí)施例中, 如果第二網(wǎng)絡(luò)104’上的計(jì)算裝置100發(fā)送請(qǐng)求,設(shè)備200如同客戶機(jī)102 —樣來(lái)處理該請(qǐng)求。例如,設(shè)備200可以響應(yīng)對(duì)客戶機(jī)^itranetIP 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通過(guò)開(kāi)啟與每一服務(wù)器106的一個(gè)或者多個(gè)傳輸層連接并且維持這些連接以允許由客戶機(jī)經(jīng)因特網(wǎng)的重復(fù)數(shù)據(jù)訪問(wèn),來(lái)為服務(wù)器106緩解由重復(fù)開(kāi)啟和關(guān)閉到客戶機(jī)102的傳輸層連接所造成的大量處理負(fù)載。該技術(shù)此處稱(chēng)為“連接池”。在一些實(shí)施例中,為了經(jīng)池化的傳輸層連接無(wú)縫拼接從客戶機(jī)102到服務(wù)器106 的通信,設(shè)備200通過(guò)在傳輸層協(xié)議級(jí)修改序列號(hào)和確認(rèn)號(hào)來(lái)轉(zhuǎn)換或多路復(fù)用通信。這被稱(chēng)為“連接多路復(fù)用”。在一些實(shí)施例中,不需要應(yīng)用層協(xié)議相互作用。例如,在到來(lái)分組 (即,自客戶機(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的網(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ì)算以計(jì)及這些轉(zhuǎn)換。在又一個(gè)實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供交換或負(fù)載平衡功能觀4。在一些實(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ò)層或者層 2識(shí)別目的服務(wù)器106,但設(shè)備200利用承載為傳輸層分組的有效載荷的數(shù)據(jù)和應(yīng)用信息來(lái)確定服務(wù)器106以便分布網(wǎng)絡(luò)分組。在一個(gè)實(shí)施例中,設(shè)備200的健康監(jiān)控程序216監(jiān)控服務(wù)器的健康來(lái)確定分布客戶機(jī)請(qǐng)求到哪個(gè)服務(wù)器106。在一些實(shí)施例中,如果設(shè)備200探測(cè)到某個(gè)服務(wù)器106不可用或者具有超過(guò)預(yù)定閾值的負(fù)載,設(shè)備200可以將客戶機(jī)請(qǐng)求指向或者分布到另一個(gè)服務(wù)器106。在一些實(shí)施例中,設(shè)備200用作域名服務(wù)(DNS)解析器或者以其它方式為來(lái)自客戶機(jī)102的DNS請(qǐng)求提供解析。在一些實(shí)施例中,設(shè)備攔截由客戶機(jī)102發(fā)送的DNS請(qǐng)求。 在一個(gè)實(shí)施例中,設(shè)備200以設(shè)備200的IP地址或其所寄載的IP地址來(lái)響應(yīng)客戶機(jī)的DNS 請(qǐng)求。在此實(shí)施例中,客戶機(jī)102把用于域名的網(wǎng)絡(luò)通信發(fā)送到設(shè)備200。在又一個(gè)實(shí)施例中,設(shè)備200以第二設(shè)備200’的或其所寄載的IP地址來(lái)響應(yīng)客戶機(jī)的DNS請(qǐng)求。在一些實(shí)施例中,設(shè)備200使用由設(shè)備200確定的服務(wù)器106的IP地址來(lái)響應(yīng)客戶機(jī)的DNS請(qǐng)求。在又一個(gè)實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供應(yīng)用防火墻功能四0。在一個(gè)實(shí)施例中,策略引擎236提供用于探測(cè)和阻斷非法請(qǐng)求的規(guī)則。在一些實(shí)施例中,應(yīng)用防火墻四0防御拒絕服務(wù)(DoS)攻擊。在其它實(shí)施例中,設(shè)備檢查所攔截的請(qǐng)求的內(nèi)容,以識(shí)別和阻斷基于應(yīng)用的攻擊。在一些實(shí)施例中,規(guī)則/策略引擎236 包括用于提供對(duì)多個(gè)種類(lèi)和類(lèi)型的基于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)被破壞的訪問(wèn)控制列表 (ACLs)或弱密碼,7)跨站腳本處理(XSS),8)命令注入,9) SQL注入,10)錯(cuò)誤觸發(fā)敏感信息泄露,11)對(duì)加密的不安全使用,1 服務(wù)器錯(cuò)誤配置,1 后門(mén)和調(diào)試選項(xiàng),14)網(wǎng)站涂改, 15)平臺(tái)或操作系統(tǒng)弱點(diǎn),和16)零天攻擊。在一個(gè)實(shí)施例中,對(duì)下列情況的一種或多種,應(yīng)用防火墻四0以檢查或分析網(wǎng)絡(luò)通信的形式來(lái)提供HTML格式字段的保護(hù)1)返回所需的字段,幻不允許附加字段,幻只讀和隱藏字段強(qiáng)制(enforcement),4)下拉列表和單選按鈕字段的一致,以及幻格式字段最大長(zhǎng)度強(qiáng)制。在一些實(shí)施例中,應(yīng)用防火墻四0確保cookie 不被修改。在其它實(shí)施例中,應(yīng)用防火墻290通過(guò)執(zhí)行合法的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ī)密信息?;谶@些出現(xiàn),在一個(gè)實(shí)施例中,應(yīng)用防火墻四0 可以對(duì)網(wǎng)絡(luò)通信采取策略行動(dòng),諸如阻止發(fā)送網(wǎng)絡(luò)通信。在又一個(gè)實(shí)施例中,應(yīng)用防火墻 290可以重寫(xiě)、移動(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在諸如磁盤(pán)的存儲(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è)量vServers 275A-275N的性能與操作。在又一個(gè)實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控設(shè)備200的任何傳輸層連接的性能。在一些實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控通過(guò)設(shè)備200的任何用戶會(huì)話的性能。在一個(gè)實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控通過(guò)設(shè)備200的諸如SSL VPN會(huì)話的任何虛擬專(zhuān)用網(wǎng)連接和/或會(huì)話的性能。在進(jìn)一步的實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控設(shè)備200的內(nèi)存、CPU和磁盤(pán)使用以及性能。在又一個(gè)實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控諸如SSL卸載、連接池和多路復(fù)用、高速緩存以及壓縮的由設(shè)備200執(zhí)行的任何加速技術(shù)觀8的性能。在一些實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控由設(shè)備200執(zhí)行的任一負(fù)載平衡和/或內(nèi)容交換觀4的性能。在其它實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控由設(shè)備200執(zhí)行的應(yīng)用防火墻290保護(hù)和處理的性能。C.提供N-核結(jié)構(gòu)的系統(tǒng)和方法摩爾定律似乎還可以適用-集成電路上可安置的晶體管的數(shù)量仍然以每?jī)赡攴槐兜乃俣仍黾?。但是,自?005年達(dá)到3. 5-4GHz后,CPU的速度已經(jīng)穩(wěn)定在這個(gè)水平。 CPU制造商不能再依靠CPU速度增加來(lái)獲得額外的性能。一些CPU制造商向其處理器中添加額外的核,以提供額外的性能。依靠多個(gè)CPU獲得性能提升的產(chǎn)品,諸如軟件和網(wǎng)絡(luò)供應(yīng)商的產(chǎn)品,可以通過(guò)利用這些多核CPU來(lái)提高其性能。為單個(gè)CPU設(shè)計(jì)和構(gòu)造的軟件可以改寫(xiě),以利用多線程、并行結(jié)構(gòu)。稱(chēng)為N核技術(shù)的設(shè)備200的結(jié)構(gòu)允許設(shè)備打破單核性能屏障并且利用多核CPU的能力。在之前與圖2A關(guān)聯(lián)描述的結(jié)構(gòu)中,運(yùn)行著單個(gè)網(wǎng)絡(luò)或分組引擎。N核技術(shù)和結(jié)構(gòu)允許運(yùn)行多個(gè)分組引擎。通過(guò)在每個(gè)核上都運(yùn)行分組引擎,該設(shè)備結(jié)構(gòu)利用了額外的核的處理能力。在一些實(shí)施例中,這在性能以及可擴(kuò)展性方面提供高達(dá)7倍的提升。參考圖3,其中描述用于實(shí)現(xiàn)結(jié)構(gòu)的方法的實(shí)施例。概括來(lái)講,對(duì)于利用多核系統(tǒng)中多個(gè)分組引擎的并行性的方法有多種。圖3顯示了具有一共八個(gè)核的設(shè)備200’,八個(gè)核編號(hào)為1至8??梢杂卸鄠€(gè)VIP 275運(yùn)行在這些核上。對(duì)于功能并行性方法,每個(gè)核可以運(yùn)行由分組引擎或設(shè)備200提供的功能集(functionality)中的不同的功能。在數(shù)據(jù)并行性方法中,基于接收數(shù)據(jù)的網(wǎng)絡(luò)接口卡(NIC)或VIP 275,數(shù)據(jù)可以在核上并行或分布。在另一種數(shù)據(jù)并行性方法中,通過(guò)向每個(gè)核分布數(shù)據(jù)流來(lái)在核上分布數(shù)據(jù)處理。對(duì)于功能并行性方法,每個(gè)核可以被配置為運(yùn)行由設(shè)備分組引擎提供的多個(gè)功能集中的一個(gè)或多個(gè)功能集。例如,核1可以執(zhí)行設(shè)備200’的網(wǎng)絡(luò)I/O處理,而核2執(zhí)行設(shè)備的TCP連接管理。同樣地,核3可以執(zhí)行SSL卸載,而核4可以執(zhí)行層7或應(yīng)用層處理以及業(yè)務(wù)管理。每一個(gè)核可以執(zhí)行相同的或不同的功能。每一個(gè)核可以執(zhí)行多于一個(gè)功能。 任何核可以運(yùn)行結(jié)合圖2A和2B所識(shí)別和/或描述的任何功能集或其部分。在該方法中, 核上的工作可以以粗粒度或細(xì)粒度的方式通過(guò)功能來(lái)劃分。如圖3所示,在一些情況下,通過(guò)功能來(lái)劃分可能導(dǎo)致不同的核運(yùn)行在不同的性能水平上。對(duì)于數(shù)據(jù)并行性方法,可以基于VIP、NIC和/或數(shù)據(jù)流來(lái)劃分或分布工作。在這些方法中的一種中,設(shè)備的工作在VIP間劃分或分布。例如,每個(gè)核可以被配置為運(yùn)行一個(gè)或多個(gè)VIP。網(wǎng)絡(luò)業(yè)務(wù)可以分布給每個(gè)處理該業(yè)務(wù)的VIP的核。在這些方法中的另一種中, 設(shè)備的工作可以基于接收網(wǎng)絡(luò)業(yè)務(wù)的NIC在核上劃分或分布。例如,第一 NIC的網(wǎng)絡(luò)業(yè)務(wù)可以分布給第一核,而第二 NIC的網(wǎng)絡(luò)業(yè)務(wù)可以分布給第二核。在一些情況下,某個(gè)核可以處理來(lái)自多個(gè)核的數(shù)據(jù)。雖然如圖3所示,基于VIP或NIC在核上分布工作可以具有一定的獨(dú)立性,但是在一些實(shí)施例中,這可能導(dǎo)致對(duì)核的不平衡使用。在這些方法中的另一種中,可以基于數(shù)據(jù)流在核上分布或劃分工作。例如,客戶機(jī)和服務(wù)器間經(jīng)過(guò)設(shè)備的網(wǎng)絡(luò)業(yè)務(wù)可以分布到多個(gè)核中的一個(gè)核并且由其處理。在一些情況下,最初建立會(huì)話或連接的核可能成為該會(huì)話或連接的網(wǎng)絡(luò)業(yè)務(wù)的分布對(duì)象。在一些實(shí)施例中,數(shù)據(jù)流基于網(wǎng)絡(luò)業(yè)務(wù)的任何單元或部分,例如源自客戶機(jī)上的應(yīng)用的事務(wù)、請(qǐng)求/響應(yīng)通信或業(yè)務(wù)。在該方式下并且在一些實(shí)施例中,客戶機(jī)和服務(wù)器間經(jīng)過(guò)設(shè)備200’的數(shù)據(jù)流可以比其他方法分布得更平衡。現(xiàn)在參考圖4A-4C,其中描述了運(yùn)行多個(gè)分組引擎的多核系統(tǒng)的實(shí)施例。圖4A概括來(lái)講,分組引擎可以在多個(gè)核中的每一個(gè)上操作,例如在多核設(shè)備200’的核1到核8上。 流分布器可以根據(jù)上述并行性(數(shù)據(jù)或功能的)中的任意一種在核上分布網(wǎng)絡(luò)業(yè)務(wù)。圖4A 顯示了流分布器基于數(shù)據(jù)流方法在核上分布網(wǎng)絡(luò)業(yè)務(wù)的實(shí)施例。流分布器提供同一數(shù)據(jù)流的分組到同一核的親合性。例如,流分布器將某核發(fā)起的數(shù)據(jù)流的分組路由到該核。流分布器維護(hù)路由到核的流間分組的順序。分組引擎M0’可以包括結(jié)合圖2A和2B描述的設(shè)備的任何部分或全部。在一些實(shí)施例中,分組引擎M0’包括圖2A的分組引擎M0,并且可以包括來(lái)自圖2A的下列的任何一個(gè)或多個(gè)或任意組合網(wǎng)絡(luò)堆棧沈7、高速緩存管理器232、策略引擎236、壓縮引擎238、 加密引擎234、⑶I 210,CLI 212、殼服務(wù)214和監(jiān)控程序216.分組引擎240可以包括任何一個(gè)或多個(gè)vServer 275A-275N。分組引擎M0,可以包括結(jié)合圖2B描述的SSL VPN 280, 內(nèi)部網(wǎng)IP觀2、交換觀4、域名服務(wù)解析觀6、加速觀8、應(yīng)用防火墻280和監(jiān)控代理197的功能集中的任意一個(gè)或多個(gè)或任意組合。同樣地,分組引擎對(duì)0’可以提供圖4A所示的任意下述功能集TCP堆棧、負(fù)載平衡、SSL卸載和處理、內(nèi)容交換、策略評(píng)估、緩存、壓縮、應(yīng)用防火墻、XML處理和加速和SSLVPN連接。流分布器400可以包括任何軟件和硬件組合,以分布、路由、控制和/或管理哪個(gè)核處理哪個(gè)網(wǎng)絡(luò)分組。流分布器可以包括任何形式的可執(zhí)行指令,例如應(yīng)用、程序、庫(kù)、進(jìn)程、服務(wù)、任務(wù)或腳本。流分布器可以運(yùn)行在一個(gè)核上,一些核上或所有核上。在一些實(shí)施例中,流分布器運(yùn)行在多個(gè)核中的第一核上。例如,核中的一個(gè)可能設(shè)計(jì)為控制核或主核, 所述流分布器在該核上操作。在其他實(shí)施例中,流分布器在每一個(gè)核上運(yùn)行。在一些實(shí)施例中,流分布器可能互相通信或接口,以分布網(wǎng)絡(luò)分組。流分布器可能接口到接收側(cè)調(diào)整(RRQ網(wǎng)絡(luò)技術(shù)和/或驅(qū)動(dòng)器進(jìn)行或與其進(jìn)行通信。接收側(cè)調(diào)整(RRQ是一種網(wǎng)絡(luò)驅(qū)動(dòng)技術(shù),其能夠使網(wǎng)絡(luò)接收處理分布到多處理器系統(tǒng)中的多個(gè)CPU上或分布到多核系統(tǒng)的多個(gè)核上。在一些實(shí)施例中,流分布器在具有接收側(cè)調(diào)整器(RRS)的或作為RSS —部分的硬件上運(yùn)行。基于此處識(shí)別的任何功能或數(shù)據(jù)流并行性方法,流分布器可以將由RSS分布的網(wǎng)絡(luò)業(yè)務(wù)重新路由到不同的核。例如,基于RSS算法,RSS可能分布一個(gè)或多個(gè)網(wǎng)絡(luò)分組到第一核,而這些分組基于數(shù)據(jù)流并行性應(yīng)該分布到第二核。流分布器可以接收來(lái)自RSS的向第一核的網(wǎng)絡(luò)分組分布,并且將該網(wǎng)絡(luò)分組分布到被分配數(shù)據(jù)流的第二核。參考圖4B,其中描述了實(shí)現(xiàn)多核結(jié)構(gòu)的實(shí)施例。概括來(lái)講,多核系統(tǒng)的多個(gè)核可以通過(guò)任何類(lèi)型或形式的總線(例如存儲(chǔ)器總線)進(jìn)行通信或接口。任何核都可以通過(guò)經(jīng)由總線發(fā)送和接收消息來(lái)與另一個(gè)核進(jìn)行通信。每一個(gè)核都可以具有獨(dú)立的地址空間或共享地址空間的一部分。流分布器可以使用任何類(lèi)型和形式的統(tǒng)計(jì)或概率算法或決策來(lái)平衡核上的流。設(shè)備的硬件可以設(shè)計(jì)或構(gòu)建為支持在NIC上和/或核上的順序操作。核可以使用或具有指定給該核或分配給該核使用的存儲(chǔ)器。該存儲(chǔ)器可以被看作是該核的專(zhuān)用存儲(chǔ)器或本地存儲(chǔ)器,并且只能由該核訪問(wèn)。核可以具有或使用分配給多個(gè)核或在多個(gè)核間共享的存儲(chǔ)器。該存儲(chǔ)器可以被看作是可以被多于一個(gè)核訪問(wèn)的公共存儲(chǔ)器或共享存儲(chǔ)器。核可以使用專(zhuān)用存儲(chǔ)器和公共存儲(chǔ)器的任何組合。由于每個(gè)核具有獨(dú)立的地址空間,相對(duì)于使用相同的地址空間,消除了某種程度的協(xié)作。由于具有獨(dú)立的地址空間,核可以使用其自己的地址空間中的信息和數(shù)據(jù)執(zhí)行工作,不必?fù)?dān)心會(huì)與其他核有沖突。 每一個(gè)分組引擎都可以具有用于TCP和/或SSL連接的單獨(dú)的存儲(chǔ)器池。核可以使用任何類(lèi)型和形式的進(jìn)程間通信或機(jī)制與另一個(gè)核通信。在一個(gè)實(shí)施例中,通過(guò)使用在連接核的總線上傳送的消息來(lái)進(jìn)行核間通信。這可以稱(chēng)為核到核消息傳輸 (CCM)。在一些實(shí)施例中,核可以使用共享存儲(chǔ)器進(jìn)行通信。在一些實(shí)施例中,核可以使用隊(duì)列來(lái)存儲(chǔ)和檢索到其他核的消息。在其他實(shí)施例中,核可以使用API接口到另一個(gè)核的地址空間、對(duì)象、數(shù)據(jù)結(jié)構(gòu)或其他存儲(chǔ)器單元來(lái)進(jìn)行通信?,F(xiàn)在參考圖4C,其中描述了多核系統(tǒng)環(huán)境的又一個(gè)實(shí)施例。概括來(lái)講,多核系統(tǒng)的多個(gè)核中的一個(gè)核可以為指定的管理核。在圖4C的例子中,一個(gè)核被指定為管理核。該管理核可以包括配置服務(wù)、配置存儲(chǔ)裝置和配置存留模塊。該管理核可以包括配置復(fù)制器和統(tǒng)計(jì)記錄聚合器。該管理核還可以包括高可用性(HA)傳播和同步模塊。核中的任何一個(gè)核都可以被指定為或配置為管理核。該指定核可以看作是基本核、主核或配置核。在一些實(shí)施例中,第一核為管理核。在其他實(shí)施例中,通過(guò)設(shè)備200’的配置,任何核可以是管理核。在一些實(shí)施例中,多個(gè)核可以被看作是管理核。在一些實(shí)施例中,一個(gè)核為管理核,另一個(gè)核為備份或失效備援管理核。任何用戶接口(例如,圖2A中的 ⑶I、CLI)和配置工具可以在管理核上操作或由管理核運(yùn)行。配置服務(wù)可以包括用于配置任何核的任何類(lèi)型和形式的可執(zhí)行指令和接口。配置服務(wù)可以提供接口用于指定將要使用的并行性的類(lèi)型。配置服務(wù)可以提供接口用于指定網(wǎng)絡(luò)業(yè)務(wù)單元來(lái)考慮向核分布數(shù)據(jù)流。配置服務(wù)可以提供接口用于指定或配置核的數(shù)量。配置服務(wù)可以提供接口用于指定要在每一個(gè)核上運(yùn)行的分組引擎的類(lèi)型。配置服務(wù)可以提供接口用于配置要在每一個(gè)核上運(yùn)行的每一個(gè)分組弓I擎。配置服務(wù)可以提供接口用于識(shí)別或配置要在每一個(gè)核上運(yùn)行的每一個(gè)分組引擎的功能集。配置服務(wù)可以提供接口用于配置流分布器,例如指定或配置分布算法。配置服務(wù)可以提供接口用于配置或指定用于定向、控制或管理設(shè)備200’或其任何核的操作的任何策略。 配置服務(wù)可以將任何配置數(shù)據(jù)或信息存儲(chǔ)到配置存儲(chǔ)裝置中。配置存儲(chǔ)裝置可以包括任何類(lèi)型和形式的存儲(chǔ)裝置和/或存儲(chǔ)器,例如結(jié)合圖IE和IF描述的存儲(chǔ)裝置和/ 或存儲(chǔ)器。可以將每個(gè)核的配置分別存儲(chǔ)或一起存儲(chǔ)在配置存儲(chǔ)裝置中。配置中可能有一部分適用于所有核,例如全局配置或通用配置,還可能有一部分專(zhuān)用于任何一個(gè)核或預(yù)定的核,例如特定核配置。所述配置可以以任何格式類(lèi)型存儲(chǔ)。所述配置可以存儲(chǔ)在數(shù)據(jù)庫(kù)中。配置數(shù)據(jù),例如通過(guò)文件,可以經(jīng)由網(wǎng)絡(luò)上傳到另一個(gè)裝置,或從另一個(gè)裝置下載到設(shè)備。 配置復(fù)制器可以包括任何類(lèi)型和形式的可執(zhí)行指令,用于將配置或其任何部分復(fù)制到一個(gè)或多個(gè)核。配置復(fù)制器可以復(fù)制在配置存儲(chǔ)裝置或存儲(chǔ)在配置服務(wù)的存儲(chǔ)器中存儲(chǔ)的配置。在一些實(shí)施例中,配置復(fù)制器通過(guò)執(zhí)行到每個(gè)分組引擎的一個(gè)或多個(gè)命令行或命令腳本來(lái)將配置復(fù)制到每個(gè)核。在其他實(shí)施例中,配置復(fù)制器通過(guò)執(zhí)行到每個(gè)分組引擎的一個(gè)或多個(gè)API調(diào)用來(lái)將配置復(fù)制到每個(gè)核。在其他實(shí)施例中,配置復(fù)制器通過(guò)執(zhí)行 API調(diào)用或命令行命令來(lái)獲取每個(gè)核的當(dāng)前配置。配置復(fù)制器可以對(duì)比核的當(dāng)前配置和需要的、存儲(chǔ)的或更新的配置。配置復(fù)制器可以生成并執(zhí)行表示配置間區(qū)別的和/或更新核的當(dāng)前配置的一組配置命令。配置存留服務(wù)或模塊可以包括任何類(lèi)型和形式的可執(zhí)行指令,用于存留在配置存儲(chǔ)裝置中和/或核上和/或設(shè)備中的配置。配置存留確保任何核都具有當(dāng)前期望的配置。 配置存留還可以提供可傳送到外部裝置(例如另一個(gè)設(shè)備)的配置的更新。例如,在高可用性情況下,第二設(shè)備可以由來(lái)自配置存留服務(wù)的配置變化進(jìn)行更新。這將保證備份或從設(shè)備具有存留在設(shè)備和/或核上的配置。HA傳播和同步模塊可以包括任何類(lèi)型和形式的可執(zhí)行指令,用于傳播及同步配置和操作數(shù)據(jù)到一個(gè)或多個(gè)其他設(shè)備200’。HA傳播和同步模塊可以傳播和/或同步任何SSL 會(huì)話和/或TCP連接信息例如狀態(tài)和其他信息到另一個(gè)設(shè)備,例如,以使那個(gè)設(shè)備重新建立或重新產(chǎn)生這些會(huì)話和/或連接。HA傳播和同步模塊可以傳播和/或同步任何配置或其部分到另一個(gè)設(shè)備。記錄統(tǒng)計(jì)聚合器可以包括任何類(lèi)型和形式的可執(zhí)行指令,用于聚合來(lái)自每一個(gè)核的任何記錄的操作和/或性能信息和數(shù)據(jù)。記錄統(tǒng)計(jì)聚合器可以組合來(lái)自每一個(gè)核的操作和/或性能信息和數(shù)據(jù),以呈現(xiàn)設(shè)備200’的操作和/或性能的系統(tǒng)視圖。記錄統(tǒng)計(jì)聚合器可以使用任何類(lèi)型和形式的接口,用于從每一個(gè)核接收和/或獲取記錄。在一些實(shí)施例中, 記錄統(tǒng)計(jì)聚合器通過(guò)共享的存儲(chǔ)器接口與每一個(gè)核相接口。在一些實(shí)施例中,記錄統(tǒng)計(jì)聚合器通過(guò)消息傳輸與每一個(gè)核相接口,例如核到核消息傳輸。在一些實(shí)施例中,記錄統(tǒng)計(jì)聚合器通過(guò)隊(duì)列與每一個(gè)核相接口。記錄統(tǒng)計(jì)聚合器可以以預(yù)定的計(jì)劃或頻率接收或獲取核的記錄。記錄統(tǒng)計(jì)聚合器可以根據(jù)需要、特定情況(ad-hoc)或按照請(qǐng)求接收或獲取核的記錄。現(xiàn)在參考圖5A和5B,其中描述了多核系統(tǒng)結(jié)構(gòu)的實(shí)施例。圖5A和5B顯示了使用一個(gè)核作為多核系統(tǒng)的控制平面(control plane)。圖5A概括來(lái)講,第一核(例如核1) 可以被配置或指定為提供對(duì)其他核的控制。多核系統(tǒng)可以具有32GB的存儲(chǔ)器,其可以以任何方式在核間分配。圖5A顯示的實(shí)施例中,每個(gè)核得到了 4GB或32GB存儲(chǔ)器的平均分配。 在其他實(shí)施例中,每一個(gè)核可以被分配不同大小的存儲(chǔ)器。例如,核1或其他控制平面核可以被分配更多的存儲(chǔ)器,例如用于多核系統(tǒng)的專(zhuān)用的管理功能集。參考圖5B,每一個(gè)核的存儲(chǔ)器的任一部分可以被分配給或用于由核共享的全局高速緩存。概括來(lái)講,每個(gè)核的每個(gè)存儲(chǔ)器的預(yù)定百分比或預(yù)定量可以被用于全局高速緩存。 例如,每個(gè)核的每個(gè)存儲(chǔ)器的50%可以專(zhuān)用于或分配給共享的全局高速緩存。也就是說(shuō),在圖示的實(shí)施例中,除了控制平面核或核1外,每個(gè)核中的2GB可以用于形成^GB大小的共享全局高速緩存。諸如通過(guò)配置服務(wù)的控制平面的配置可以確定用于共享全局高速緩存的存儲(chǔ)器的數(shù)量。在一些實(shí)施例中,每個(gè)核可以提供不同數(shù)量的存儲(chǔ)器給全局高速緩存使用。 在其他實(shí)施例中,任何一個(gè)核可以不提供任何存儲(chǔ)器或不使用全局高速緩存。在一些實(shí)施例中,任何核可以具有在未分配給全局共享存儲(chǔ)器的存儲(chǔ)器中的本地高速緩存。每一個(gè)核都可以將網(wǎng)絡(luò)業(yè)務(wù)的任何部分存儲(chǔ)到全局共享高速緩存中。每一個(gè)核都可以為任何要在請(qǐng)求或響應(yīng)中使用的內(nèi)容檢查高速緩存。任何核可以從全局共享高速緩存獲取內(nèi)容以用于數(shù)據(jù)流、請(qǐng)求或響應(yīng)。圖5A和5B中的多核系統(tǒng)的控制平面可以指定或配置核作為專(zhuān)用管理核或主核。 該控制平面核可以提供在多核系統(tǒng)中多個(gè)核的操作和功能集的控制、管理和協(xié)作。該控制平面核可以提供在多核系統(tǒng)中多個(gè)核之間使用和分配存儲(chǔ)器系統(tǒng)的控制、管理和協(xié)作,包括對(duì)其初始化和配置。在一些實(shí)施例中,控制平面包括流分布器,用于基于數(shù)據(jù)流控制將數(shù)據(jù)流分配給核和向核分布網(wǎng)絡(luò)分組。在一些實(shí)施例中,控制平面核運(yùn)行分組引擎,在其他實(shí)施例中,控制平面核專(zhuān)用于管理和控制在系統(tǒng)中的其他核?,F(xiàn)在參考圖6,其中描述了使用數(shù)據(jù)流方案在核上分布網(wǎng)絡(luò)業(yè)務(wù)的方法600的實(shí)施例。概括來(lái)講,在步驟605中,諸如設(shè)備400的多核裝置接收客戶機(jī)和服務(wù)器間不同的網(wǎng)絡(luò)業(yè)務(wù)流。在步驟610中,多核裝置的流分布器將網(wǎng)絡(luò)業(yè)務(wù)流中的每一個(gè)分配給核。在步驟 615中,流分布器將每個(gè)接收到的對(duì)應(yīng)的流的網(wǎng)絡(luò)分組分布到被分配給該網(wǎng)絡(luò)業(yè)務(wù)流的核。 在步驟620中,所述流分布器接收網(wǎng)絡(luò)業(yè)務(wù)流的分組,并且確定將該分組分布給哪個(gè)核。進(jìn)一步的,在步驟605中,多核裝置可以通過(guò)任何一個(gè)或多個(gè)類(lèi)型的網(wǎng)絡(luò)接口(例如設(shè)備200/400的多個(gè)網(wǎng)絡(luò)接口卡)來(lái)接收網(wǎng)絡(luò)分組。多核裝置可以接收由任何類(lèi)型網(wǎng)絡(luò)業(yè)務(wù)單元識(shí)別的網(wǎng)絡(luò)業(yè)務(wù)流。網(wǎng)絡(luò)業(yè)務(wù)流可以是在兩個(gè)端點(diǎn)(例如客戶機(jī)和服務(wù)器)之間通信的網(wǎng)絡(luò)業(yè)務(wù),或者是在應(yīng)用程序的前端組件和應(yīng)用程序的后端組件之間通信的網(wǎng)絡(luò)業(yè)務(wù)。網(wǎng)絡(luò)業(yè)務(wù)流可以基于相同端點(diǎn)間的一個(gè)或多個(gè)應(yīng)用層事務(wù)。可以在相同的或不同的網(wǎng)絡(luò)接口接收網(wǎng)絡(luò)業(yè)務(wù)流的任意一個(gè)或多個(gè)分組。例如,第一網(wǎng)絡(luò)業(yè)務(wù)流可以具有通過(guò)多個(gè)不同網(wǎng)絡(luò)接口接收的網(wǎng)絡(luò)分組。多核裝置可以具有接收側(cè)調(diào)整器(receive-side scalar),其基于算法分布網(wǎng)絡(luò)分組,該算法對(duì)于流分布器所需的基于流的方案是不可知的。流分布器可以要求數(shù)據(jù)并行類(lèi)型方案,而RSS可以使用基于一個(gè)個(gè)分組的基于哈希桶的Toefl算法。這樣,RSS可以將相同流的網(wǎng)絡(luò)分組分布給任何數(shù)量的不同的核。流分布器可以以替代RSS的方式、與RSS 結(jié)合的方式或與RSS通信的方式操作。進(jìn)一步的描述步驟610,流分布器可以識(shí)別網(wǎng)絡(luò)業(yè)務(wù)流并且將該流分配給核或在該核上運(yùn)行的分組引擎。流分布器可以基于網(wǎng)絡(luò)分組的元組信息或任何組合或IP地址和端口信息(源和/或目的)識(shí)別網(wǎng)絡(luò)業(yè)務(wù)流。流分布器可以通過(guò)使用網(wǎng)絡(luò)分組的有效載荷內(nèi)容中存儲(chǔ)的或攜帶的任何應(yīng)用信息來(lái)識(shí)別網(wǎng)絡(luò)業(yè)務(wù)流。例如,流分布器可以使用應(yīng)用內(nèi)容的任何頭部和/或字段為網(wǎng)絡(luò)分組識(shí)別流。流分布器可以使用來(lái)自任意多個(gè)協(xié)議層的分組頭部和字段的任意組合。對(duì)于每一個(gè)網(wǎng)絡(luò)業(yè)務(wù)流,或多或少基于核上或在核上運(yùn)行的分組引擎上的數(shù)據(jù)流的均勻分布或負(fù)載平衡,流分布器可以將每個(gè)流分配給不同的或相同的核。在一些實(shí)施例中,流分布器將網(wǎng)絡(luò)業(yè)務(wù)流分配給執(zhí)行分組處理引擎的核,所述分組處理引擎在客戶機(jī)和服務(wù)器之間建立通過(guò)其傳輸分組的傳輸層連接。在一些實(shí)施例中,流分布器將網(wǎng)絡(luò)業(yè)務(wù)流分配給執(zhí)行在客戶機(jī)和服務(wù)器之間建立通過(guò)其傳輸分組的應(yīng)用層會(huì)話的分組處理引擎的核。在一些實(shí)施例中,流分布器將網(wǎng)絡(luò)業(yè)務(wù)流分配給執(zhí)行在客戶機(jī)和服務(wù)器之間建立通過(guò)其傳輸分組的SSL會(huì)話的分組處理引擎的核。在一些實(shí)施例中,流分布器基于請(qǐng)求和響應(yīng)對(duì)識(shí)別和分配網(wǎng)絡(luò)業(yè)務(wù)流到核和/或分組引擎。在一些實(shí)施例中,流分布器基于在相同端點(diǎn)之間或相同連接或會(huì)話上的一系列請(qǐng)求和響應(yīng)來(lái)識(shí)別和分配網(wǎng)絡(luò)業(yè)務(wù)流。在步驟615中,當(dāng)收到網(wǎng)絡(luò)分組時(shí),流分布器將網(wǎng)絡(luò)分組分布到被分配給該網(wǎng)絡(luò)分組對(duì)應(yīng)的流的核。流分布器可以接收流間網(wǎng)絡(luò)分組,例如第一流的一個(gè)分組后跟著第二流的另一個(gè)分組。流分布器接收的每個(gè)分組都分配給被分配處理該流的網(wǎng)絡(luò)分組的核或分組引擎。在一些實(shí)施例中,當(dāng)流分布器收到網(wǎng)絡(luò)分組后,向核轉(zhuǎn)發(fā)網(wǎng)絡(luò)分組,例如,將網(wǎng)絡(luò)分組作為流來(lái)流式傳輸?shù)矫總€(gè)核。在一些實(shí)施例中,流分布器批處理同一個(gè)流的多個(gè)網(wǎng)絡(luò)分組,并且轉(zhuǎn)發(fā)該成批的數(shù)據(jù)到所分配的核。在一些實(shí)施例中,流分布器批處理分配到同一核的不同流的多個(gè)網(wǎng)絡(luò)分組,并且轉(zhuǎn)發(fā)該成批的網(wǎng)絡(luò)分組到所分配的核。
在步驟620中,在一些實(shí)施例中,流分布器可以重新分布分組到與通過(guò)RSS分布或分配的核不同的核。例如,流分布器可能接收由RSS分配核的分組,并且基于流的模式,流分布器重新分配或重新分布該分組到流分布器已經(jīng)將該流的其他分組分布到的核。在一些實(shí)施例中,流分布器攔截RSS分布的分組。在一些實(shí)施例中,流分布器是RSS分布的接收者。例如,流分布器可以嵌入RSS到核的通信路徑。在另一個(gè)例子中,流分布器可以在核上運(yùn)行,并且接收由RSS分布給該核的網(wǎng)絡(luò)分組。在一些實(shí)施例中,流分布器與RSS —起運(yùn)行或作為RSS的一部分運(yùn)行。在一些實(shí)施例中,核、分組引擎或流分布器重定向在一個(gè)核上收到的網(wǎng)絡(luò)分組到另一個(gè)具有該流(例如,連接、會(huì)話或關(guān)聯(lián)的事務(wù))的核。例如,接收核或分組引擎可能不具有任何用于該流的上下文,并且重定向、轉(zhuǎn)發(fā)或發(fā)送該網(wǎng)絡(luò)分組到處理該網(wǎng)絡(luò)業(yè)務(wù)流的合適的核或分組引擎。
權(quán)利要求
1.一種用于在多核裝置的對(duì)應(yīng)的核上執(zhí)行的多個(gè)分組處理引擎上分布網(wǎng)絡(luò)業(yè)務(wù)流的方法,該方法包括(a)由在多個(gè)客戶機(jī)和多個(gè)服務(wù)器中間的多核裝置接收多個(gè)客戶機(jī)的第一客戶機(jī)和多個(gè)服務(wù)器的第一服務(wù)器之間的第一網(wǎng)絡(luò)業(yè)務(wù)流的第一分組;(b)由多核裝置的流分布器將所述第一流分配給執(zhí)行由所述多核裝置執(zhí)行的多個(gè)分組處理引擎的第一分組處理引擎的第一核;(c)由流分布器將所述第一分組分布到所述第一核;(d)由流分布器將在第二客戶機(jī)和第二服務(wù)器之間的第二網(wǎng)絡(luò)業(yè)務(wù)流的第二分組分布到執(zhí)行所述多個(gè)分組處理引擎的第二分組處理引擎的第二核;和(e)由流分布器確定將所述多核裝置接收的、所述第一網(wǎng)絡(luò)業(yè)務(wù)流的第三分組分布到所述第一核。
2.如權(quán)利要求1所述的方法,其中,步驟(a)還包括由所述流分布器接收來(lái)自所述多核裝置的接收側(cè)調(diào)整器的第一分組。
3.如權(quán)利要求1所述的方法,其中,步驟(a)還包括由在所述多核裝置的指定為主核的核上執(zhí)行的流分布器接收。
4.如權(quán)利要求1所述的方法,其中,步驟(a)還包括在所述多核裝置的多個(gè)核上分布流分布器的執(zhí)行。
5.如權(quán)利要求1所述的方法,其中,步驟(b)還包括響應(yīng)于為第一客戶機(jī)建立到第一服務(wù)器的會(huì)話或連接之一的第一核,由流分布器將第一網(wǎng)絡(luò)業(yè)務(wù)流分配給該第一核。
6.如權(quán)利要求1所述的方法,其中,步驟(b)還包括響應(yīng)于基于來(lái)自第一服務(wù)器的、 對(duì)第一客戶機(jī)的請(qǐng)求的響應(yīng)的第一核,由流分布器將第一網(wǎng)絡(luò)業(yè)務(wù)流分配給該第一核。
7.如權(quán)利要求1所述的方法,其中,步驟(c)還包括由流分布器通過(guò)由第一核共享的或分配給第一核的存儲(chǔ)器分布第一分組。
8.如權(quán)利要求1所述的方法,其中,步驟(d)還包括響應(yīng)于為第二客戶機(jī)建立到第二服務(wù)器的會(huì)話或連接之一的第二核,由流分布器將第二網(wǎng)絡(luò)業(yè)務(wù)流分配給該第二核。
9.如權(quán)利要求1所述的方法,其中,步驟(e)還包括由流分布器接收來(lái)自接收側(cè)調(diào)整器的、由RSS分布給第三核的第三分組,并且重新分布該第三分組到第一核。
10.如權(quán)利要求1所述的方法,其中,步驟(a)還包括通過(guò)所述多核裝置的第一網(wǎng)絡(luò)接口卡接收第一分組,并且,步驟(e)還包括通過(guò)所述多核裝置的第二網(wǎng)絡(luò)接口卡接收第三分組。
11.一種用于在多核裝置的對(duì)應(yīng)的核上執(zhí)行的多個(gè)分組處理引擎上分布網(wǎng)絡(luò)業(yè)務(wù)流的系統(tǒng),該系統(tǒng)包括在多個(gè)客戶機(jī)和多個(gè)服務(wù)器中間的多核裝置的網(wǎng)絡(luò)接口,所述網(wǎng)絡(luò)接口接收在多個(gè)客戶機(jī)的第一客戶機(jī)和多個(gè)服務(wù)器的第一服務(wù)器之間的第一網(wǎng)絡(luò)業(yè)務(wù)流的第一分組;多核裝置的流分布器,其將所述第一流分配給執(zhí)行由所述多核裝置執(zhí)行的多個(gè)分組處理引擎的第一分組處理引擎的第一核,并且分布所述第一分組到所述第一核;其中,所述流分布器將在第二客戶機(jī)和第二服務(wù)器之間的第二網(wǎng)絡(luò)業(yè)務(wù)流的第二分組分布到執(zhí)行所述多個(gè)分組處理引擎的第二分組處理引擎的第二核;和其中,流分布器確定將所述多核裝置接收的、所述第一網(wǎng)絡(luò)業(yè)務(wù)流的第三分組分布到所述第一核。
12.如權(quán)利要求11所述的系統(tǒng),其中,所述流分布器接收由所述多核裝置的接收側(cè)調(diào)整器分布的網(wǎng)絡(luò)分組。
13.如權(quán)利要求11所述的系統(tǒng),其中,所述流分布器在所述多核裝置中指定為主核的核上執(zhí)行。
14.如權(quán)利要求11所述的系統(tǒng),其中,所述流分布器執(zhí)行在所述多核裝置的多個(gè)核上。
15.如權(quán)利要求11所述的系統(tǒng),其中,響應(yīng)于為第一客戶機(jī)建立到第一服務(wù)器的會(huì)話或連接之一的第一核,所述流分布器將第一網(wǎng)絡(luò)業(yè)務(wù)流分配給該第一核。
16.如權(quán)利要求11所述的系統(tǒng),其中,響應(yīng)于基于來(lái)自第一服務(wù)器的、對(duì)第一客戶機(jī)的請(qǐng)求的響應(yīng)的第一核,所述流分布器將第一網(wǎng)絡(luò)業(yè)務(wù)流分配給該第一核。
17.如權(quán)利要求11所述的系統(tǒng),其中,流分布器通過(guò)由第一核共享的或分配給第一核的存儲(chǔ)器分布第一分組。
18.如權(quán)利要求11所述的系統(tǒng),其中,響應(yīng)于為第二客戶機(jī)建立到第二服務(wù)器的會(huì)話或連接之一的第二核,所述流分布器將第二網(wǎng)絡(luò)業(yè)務(wù)流分配給該第二核。
19.如權(quán)利要求11所述的系統(tǒng),其中,流分布器接收來(lái)自接收側(cè)調(diào)整器的、由RSS分布給第三核的第三分組,并且重新分布該第三分組到第一核。
20.如權(quán)利要求11所述的系統(tǒng),其中,通過(guò)所述多核裝置的第一網(wǎng)絡(luò)接口接收第一分組,并且,通過(guò)所述多核裝置的第二網(wǎng)絡(luò)接口接收第三分組。
全文摘要
本方案涉及用于在多核裝置的對(duì)應(yīng)的核上執(zhí)行的多個(gè)分組處理引擎上分布網(wǎng)絡(luò)業(yè)務(wù)流的方法。該方法包括由位于客戶機(jī)和服務(wù)器中間的多核裝置接收在客戶機(jī)和服務(wù)器之間的第一網(wǎng)絡(luò)業(yè)務(wù)流的分組。該方法還包括由多核裝置的流分布器將所述第一網(wǎng)絡(luò)業(yè)務(wù)流分配給執(zhí)行分組處理引擎的第一核,并且分布所述分組到該核。流分布器可以將在另一客戶機(jī)和服務(wù)器之間的另一個(gè)網(wǎng)絡(luò)業(yè)務(wù)流或第二網(wǎng)絡(luò)業(yè)務(wù)流的分組分布到執(zhí)行第二分組處理引擎的第二核。當(dāng)分配給第一核的網(wǎng)絡(luò)業(yè)務(wù)流的分組(如第三分組)被接收時(shí),所述流分布器該分組分布給第一核。
文檔編號(hào)G06F9/50GK102549985SQ201080030106
公開(kāi)日2012年7月4日 申請(qǐng)日期2010年5月4日 優(yōu)先權(quán)日2009年5月5日
發(fā)明者A·喬漢, A·謝蒂, R·米拉尼, R·辛哈 申請(qǐng)人:思杰系統(tǒng)有限公司