欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于網(wǎng)絡(luò)加速器的動態(tài)適應(yīng)的系統(tǒng)和方法

文檔序號:6497640閱讀:298來源:國知局
用于網(wǎng)絡(luò)加速器的動態(tài)適應(yīng)的系統(tǒng)和方法【專利摘要】本發(fā)明的系統(tǒng)和方法通過動態(tài)且自動地對變化的網(wǎng)絡(luò)工作負(fù)載做出反應(yīng),提供了更優(yōu)的解決方案。啟動緩慢的系統(tǒng),通過僅被動地檢查流量或者通過執(zhí)行次優(yōu)加速,可以隨著時間的過去獲悉設(shè)備正在服務(wù)多少對等WAN優(yōu)化器、多少流量來自每個對等WAN優(yōu)化器,以及正被查看的流量的類型。來自該獲悉的知識可用于為設(shè)備的配置提供更好或改進(jìn)的基準(zhǔn)。在一些實(shí)施例中,基于資源(例如CPU、存儲器、盤),系統(tǒng)可根據(jù)該知識確定應(yīng)該使用多少WAN優(yōu)化實(shí)例及實(shí)例的大小,以及確定應(yīng)該如何在WAN優(yōu)化器的實(shí)例之間分布負(fù)載?!緦@f明】用于網(wǎng)絡(luò)加速器的動態(tài)適應(yīng)的系統(tǒng)和方法[0001]相關(guān)申請[0002]本申請要求在2011年10月14日提交的、標(biāo)題為“SystemsandMethodsForDynamicAdaptationofNetworkAccelerators”、申請?zhí)枮?1/547493的美國臨時專利申請的權(quán)益和優(yōu)先權(quán),該美國臨時專利申請通過引用被全部包含于此。【
技術(shù)領(lǐng)域
】[0003]本公開總的涉及數(shù)據(jù)通信網(wǎng)絡(luò)。特別地,本公開涉及用于平臺上的網(wǎng)絡(luò)加速器的動態(tài)適應(yīng)的系統(tǒng)和方法?!?br>背景技術(shù)
】[0004]傳統(tǒng)的網(wǎng)絡(luò)元件已被開發(fā)和部署為離散的網(wǎng)絡(luò)設(shè)備和功能。如此,已經(jīng)以特定的方式來部署它們,并且其大小已被設(shè)置為適用于某種網(wǎng)絡(luò)流量模型。該模型可以是從與“對于這個鏈路我需要千兆比特速度”一樣簡單的模型到更加復(fù)雜的模型,其中,在確定網(wǎng)絡(luò)元件的大小的模型中測量和布置流量分析以及峰值負(fù)載?!?br/>發(fā)明內(nèi)容】[0005]隨著通常的計算并且特別是網(wǎng)絡(luò)遷移到更加虛擬化的環(huán)境,使用現(xiàn)有模型存在幾個問題。由于工作負(fù)載變得更為機(jī)動和動態(tài),傳統(tǒng)的網(wǎng)絡(luò)工程變成幾乎不可用,并且必須使用新的機(jī)制來使網(wǎng)絡(luò)基礎(chǔ)設(shè)施“適應(yīng)”所提供的負(fù)載。[0006]在一些部署中,可使用負(fù)載平衡器來對多個WAN優(yōu)化器進(jìn)行負(fù)載平衡。在進(jìn)一步的部署中,可使用虛擬化負(fù)載平衡器來對多個虛擬化WAN優(yōu)化器進(jìn)行負(fù)載平衡??蓪⒇?fù)載平衡器配置為使用或應(yīng)用多個負(fù)載平衡方法中的任何一個,例如但不限于最少連接方法、采用代理id持久性的最少連接、靜態(tài)配置、使用接收帶寬的最少累計負(fù)載、采用代理id持久性的使用接收帶寬的最少累計負(fù)載,以及源互聯(lián)網(wǎng)協(xié)議(IP)哈希。這些方法中的每一個可關(guān)于對WAN優(yōu)化器進(jìn)行負(fù)載平衡提供多樣的負(fù)載平衡效果、壓縮歷史性能、帶寬管理以及簡單性。對于所有的部署,可能不存儲在通用的解決方案。在部署方便和WAN優(yōu)化之間可能存在權(quán)衡。[0007]本解決方案的系統(tǒng)和方法通過動態(tài)且自動地對變化的網(wǎng)絡(luò)工作負(fù)載做出反應(yīng),提供了更優(yōu)的解決方案。啟動緩慢的系統(tǒng),通過僅被動地檢查流量或者通過執(zhí)行次優(yōu)加速,可以隨著時間的過去獲悉設(shè)備正在服務(wù)多少對等WAN優(yōu)化器、多少流量來自每個對等WAN優(yōu)化器,以及正被查看的流量的類型。來自該獲悉的知識可用于為設(shè)備的配置提供更好或改進(jìn)的基準(zhǔn)。在一些實(shí)施例中,基于資源(例如CPU、存儲器、盤),系統(tǒng)根據(jù)該知識可以確定應(yīng)該使用多少WAN優(yōu)化實(shí)例及實(shí)例的大小,以及確定應(yīng)該如何在WAN優(yōu)化器的實(shí)例之間分布負(fù)載。一些示例的規(guī)則如下:[0008]1.如果存在少量的對等WAN優(yōu)化器,則應(yīng)在設(shè)備上提供更少數(shù)量的大的WAN優(yōu)化器實(shí)例,這是因為壓縮歷史將不太零碎且壓縮率更高(更好)[0009]2.當(dāng)對等WAN優(yōu)化器的大小明顯不同時,應(yīng)在WAN優(yōu)化器實(shí)例之間非平均地分布它們(可能使用不同大小的WAN優(yōu)化器實(shí)例)[0010]隨著時間的過去,系統(tǒng)可以持續(xù)監(jiān)控工作負(fù)載的變化,并且根據(jù)需要改變負(fù)載分布,例如因為第一遍壓縮(高CPU利用)正被廣泛使用,并且壓縮歷史片段效應(yīng)會最小,而添加附加的WAN優(yōu)化器實(shí)例?;蛘?,來自遠(yuǎn)程站點(diǎn)的流量顯著增大,并且需要較大的WAN優(yōu)化器實(shí)例來保持壓縮歷史不被分段。[0011]在一個方面,本解決方案涉及用于管理在中間裝置上執(zhí)行的廣域網(wǎng)(WAN)優(yōu)化器的多個實(shí)例的方法。所述方法包括在多個客戶機(jī)和多個服務(wù)器中間的裝置上建立廣域網(wǎng)(WAN)優(yōu)化器的多個實(shí)例,以對在多個客戶機(jī)和多個服務(wù)器之間的WAN通信進(jìn)行加速。所述方法包括由所述裝置為WAN優(yōu)化器的多個實(shí)例中的每一個監(jiān)控穿過該裝置的網(wǎng)絡(luò)流量,以及由在所述裝置上執(zhí)行的管理器響應(yīng)于監(jiān)控來選擇改變負(fù)載平衡方案,以對WAN優(yōu)化器的多個實(shí)例進(jìn)行負(fù)載平衡。[0012]所述方法可以由所述裝置基于通過監(jiān)控WAN優(yōu)化器的多個實(shí)例的先前執(zhí)行所存儲的數(shù)據(jù),自動建立WAN優(yōu)化器的多個實(shí)例中的每一個的大小的配置。WAN優(yōu)化器的多個實(shí)例中的每一個可執(zhí)行為虛擬化環(huán)境中的虛擬機(jī)。[0013]在一些實(shí)施例中,所述方法包括由所述裝置監(jiān)控WAN優(yōu)化器的多個實(shí)例中的每一個的壓縮歷史分配、壓縮片段和壓縮率。在一些實(shí)施例中,所述方法包括由所述裝置監(jiān)控WAN優(yōu)化器的多個實(shí)例中的每一個的下列一個或多個:資源利用、連接數(shù)量、所要求的物體的數(shù)量以及帶寬使用。[0014]在一些實(shí)施例中,所述方法包括由所述裝置確定通過監(jiān)控網(wǎng)絡(luò)流量所計算的指標(biāo)已經(jīng)超過閾值,并且響應(yīng)于該確定由所述裝置自動地選擇第二負(fù)載平衡方案,以對WAN優(yōu)化器的多個實(shí)例進(jìn)行負(fù)載平衡。在一些實(shí)施例中,所述方法包括由所述裝置在執(zhí)行WAN優(yōu)化器的多個實(shí)例的同時,從所述負(fù)載平衡方案自動轉(zhuǎn)換為所選擇的負(fù)載平衡方案。在一些實(shí)施例中,所述方法包括由所述裝置響應(yīng)于監(jiān)控,自動地改變在所述裝置上執(zhí)行的WAN優(yōu)化器的實(shí)例的數(shù)量。在一些實(shí)施例中,所述方法包括由所述裝置響應(yīng)于監(jiān)控,自動地調(diào)整由WAN優(yōu)化器的多個實(shí)例中的一個或多個使用的資源使用的大小。所述方法還包括由所述裝置將一個或多個規(guī)則應(yīng)用于通過監(jiān)控收集的數(shù)據(jù),以確定改變下列一個或多個:WAN優(yōu)化器的實(shí)例的數(shù)量、一個或多個WAN優(yōu)化器的大小,以及負(fù)載平衡方案。[0015]在一些方面,本解決方案涉及一種用于管理在中間裝置上執(zhí)行的廣域網(wǎng)(WAN)優(yōu)化器的多個實(shí)例的系統(tǒng)。所述系統(tǒng)包括在多個客戶機(jī)和多個服務(wù)器中間的裝置,以及在所述裝置上執(zhí)行的廣域網(wǎng)(WAN)優(yōu)化器的多個實(shí)例,其對在多個客戶機(jī)和多個服務(wù)器之間的WAN通信進(jìn)行加速。所述系統(tǒng)包括為WAN優(yōu)化器的多個實(shí)例中的每一個監(jiān)控穿過所述裝置的網(wǎng)絡(luò)流量的監(jiān)控器;以及在所述裝置上執(zhí)行的管理器,其響應(yīng)于所述監(jiān)控器選擇改變負(fù)載平衡方案,以對WAN優(yōu)化器的多個實(shí)例進(jìn)行負(fù)載平衡。[0016]在一些實(shí)施例中,所述管理器基于通過監(jiān)控WAN優(yōu)化器的多個實(shí)例的先前執(zhí)行所存儲的數(shù)據(jù),自動建立WAN優(yōu)化器的多個實(shí)例中的每一個的大小的配置。在一些實(shí)施例中,WAN優(yōu)化器的多個實(shí)例中的每一個執(zhí)行為虛擬化環(huán)境中的虛擬機(jī)。[0017]在一些實(shí)施例中,所述監(jiān)控器監(jiān)控WAN優(yōu)化器的多個實(shí)例中的每一個的壓縮歷史分配、壓縮片段和壓縮率。在一些實(shí)施例中,所述監(jiān)控器監(jiān)控WAN優(yōu)化器的多個實(shí)例中的每一個的下列一個或多個:資源利用、連接數(shù)量、所要求物體的數(shù)量以及帶寬使用。[0018]在一些實(shí)施例中,所述管理器確定通過監(jiān)控網(wǎng)絡(luò)流量所計算的指標(biāo)已經(jīng)超過閾值,并且響應(yīng)于該確定自動地選擇第二負(fù)載平衡方案,以對WAN優(yōu)化器的多個實(shí)例進(jìn)行負(fù)載平衡。在一些實(shí)施例中,所述管理器在執(zhí)行WAN優(yōu)化器的多個實(shí)例的同時,從當(dāng)前負(fù)載平衡方案自動地轉(zhuǎn)換為所選擇的負(fù)載平衡方案。在一些實(shí)施例中,所述管理器響應(yīng)于監(jiān)控,自動地改變在所述裝置上執(zhí)行的WAN優(yōu)化器的實(shí)例的數(shù)量。在一些實(shí)施例中,所述管理器響應(yīng)于監(jiān)控,自動地調(diào)整由WAN優(yōu)化的多個實(shí)例中的一個或多個使用的資源使用的大小。在一些實(shí)施例中,所述管理器將一個或多個規(guī)則應(yīng)用于通過監(jiān)控收集的數(shù)據(jù),以確定改變下列一個或多個:WAN優(yōu)化器的實(shí)例的數(shù)量、一個或多個WAN優(yōu)化器的大小,以及負(fù)載平衡方案。[0019]在下文的附圖和具體實(shí)施例中描述本發(fā)明的各個實(shí)施例的細(xì)節(jié)?!緦@綀D】【附圖說明】[0020]通過參考下述結(jié)合附圖的描述,本發(fā)明的前述和其它目的、方面、特征和優(yōu)點(diǎn)將會更加明顯并更易于理解,其中:[0021]圖1A是客戶機(jī)經(jīng)由一個或多個網(wǎng)絡(luò)優(yōu)化設(shè)備訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的實(shí)施例的框圖;[0022]圖1B是客戶機(jī)經(jīng)由一個或多個網(wǎng)絡(luò)優(yōu)化設(shè)備連同其他網(wǎng)絡(luò)設(shè)備訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的另一個實(shí)施例的框圖;[0023]圖1C是客戶機(jī)經(jīng)由單獨(dú)部署或與其他網(wǎng)絡(luò)設(shè)備一起部署的單個網(wǎng)絡(luò)優(yōu)化設(shè)備訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的另一個實(shí)施例的框圖;[0024]圖1D和IE是計算裝置的實(shí)施例的框圖;[0025]圖2A是用于處理客戶機(jī)和服務(wù)器之間的通信的設(shè)備的實(shí)施例的框圖;[0026]圖2B是部署設(shè)備的網(wǎng)絡(luò)優(yōu)化特征的客戶機(jī)和/或服務(wù)器的另一個實(shí)施例的框圖;[0027]圖2C是用于處理客戶機(jī)和服務(wù)器之間的通信的設(shè)備的實(shí)施例的框圖;[0028]圖3是用于使用網(wǎng)絡(luò)優(yōu)化特征與服務(wù)器通信的客戶機(jī)的實(shí)施例的框圖;[0029]圖4A是虛擬化環(huán)境的實(shí)施例的框圖;[0030]圖4B是虛擬化環(huán)境的又一個實(shí)施例的框圖;[0031]圖4C是虛擬化網(wǎng)絡(luò)優(yōu)化引擎的實(shí)施例的框圖;[0032]圖4D是虛擬化應(yīng)用傳送控制器的實(shí)施例的框圖;[0033]圖5A是在多核系統(tǒng)中實(shí)現(xiàn)并行機(jī)制的方法實(shí)施例的框圖;[0034]圖5B是使用多核系統(tǒng)的系統(tǒng)實(shí)施例的框圖;[0035]圖5C是多核系統(tǒng)的一個方面的另一實(shí)施例的框圖;[0036]圖6A是用于虛擬設(shè)備的動態(tài)適應(yīng)的虛擬化平臺的實(shí)施例的框圖;[0037]圖6B是用于虛擬設(shè)備的負(fù)載平衡方法的實(shí)施例的流程圖;[0038]圖6C是用于虛擬設(shè)備的動態(tài)適應(yīng)的系統(tǒng)的實(shí)施例的框圖;[0039]圖6D是用于虛擬設(shè)備的動態(tài)適應(yīng)的方法的實(shí)施例的框圖。[0040]從下面結(jié)合附圖所闡述的詳細(xì)描述,本發(fā)明的特征和優(yōu)點(diǎn)將更明顯,其中,同樣的參考標(biāo)記在全文中標(biāo)識相應(yīng)的元素。在附圖中,同樣的附圖標(biāo)記通常表示相同的、功能上相似的和/或結(jié)構(gòu)上相似的元素。【具體實(shí)施方式】[0041]為了閱讀下文各種實(shí)施例的描述,下述對于說明書的部分以及它們各自內(nèi)容的描述是有用的:[0042]-A部分描述可用于實(shí)施本發(fā)明的實(shí)施例的網(wǎng)絡(luò)環(huán)境和計算環(huán)境;[0043]-B部分描述用于將計算環(huán)境加速傳送到遠(yuǎn)程用戶的系統(tǒng)和設(shè)備架構(gòu)的實(shí)施例;[0044]-C部分描述用于加速客戶機(jī)和服務(wù)器之間的通信的客戶機(jī)代理的實(shí)施例;[0045]-D部分描述用于對網(wǎng)絡(luò)優(yōu)化引擎進(jìn)行虛擬化的系統(tǒng)和方法的實(shí)施例;[0046]—E部分描述用于提供多核架構(gòu)和環(huán)境的系統(tǒng)和方法的實(shí)施例;以及[0047]-F部分描述用于虛擬設(shè)備的動態(tài)適應(yīng)的系統(tǒng)和方法的實(shí)施例。[0048]A.網(wǎng)絡(luò)和計算環(huán)塏[0049]在討論設(shè)備和/或客戶機(jī)的系統(tǒng)和方法的實(shí)施例的細(xì)節(jié)之前,討論可在其中部署這樣的實(shí)施例的網(wǎng)絡(luò)和計算環(huán)境是有幫助的?,F(xiàn)在參見圖1A,描述了網(wǎng)絡(luò)環(huán)境的實(shí)施例。概括來講,網(wǎng)絡(luò)環(huán)境包括經(jīng)由一個或多個網(wǎng)絡(luò)104、104’、104”與一個或多個服務(wù)器106a—106η(同樣總的稱為服務(wù)器106,或遠(yuǎn)程機(jī)器106)通信的一個或多個客戶機(jī)102a—102η(同樣總的稱為本地機(jī)器102,或客戶機(jī)102)。在一些實(shí)施例中,客戶機(jī)102經(jīng)由一個或多個網(wǎng)絡(luò)優(yōu)化設(shè)備200、200’(總的稱為設(shè)備200)與服務(wù)器106通信。在一個實(shí)施例中,網(wǎng)絡(luò)優(yōu)化設(shè)備200被設(shè)計為、配置為或適合于優(yōu)化廣域網(wǎng)(WAN)網(wǎng)絡(luò)流量。在一些實(shí)施例中,第一設(shè)備200與第二設(shè)備200’結(jié)合或協(xié)同工作來優(yōu)化網(wǎng)絡(luò)流量。例如,第一設(shè)備200可位于分支機(jī)構(gòu)和WAN連接之間而第二設(shè)備200’位于WAN和公司局域網(wǎng)(LAN)之間。設(shè)備200、200’可一起工作以優(yōu)化在分支機(jī)構(gòu)中的客戶機(jī)和公司LAN上的服務(wù)器之間的WAN相關(guān)的網(wǎng)絡(luò)流量。[0050]雖然圖1A示出了在客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)104、網(wǎng)絡(luò)104’和網(wǎng)絡(luò)104”(總的稱為網(wǎng)絡(luò)104),但客戶機(jī)102和服務(wù)器106可以位于同一個的網(wǎng)絡(luò)104上。網(wǎng)絡(luò)104、104’、104”可以是相同類型的網(wǎng)絡(luò)或不同類型的網(wǎng)絡(luò)。網(wǎng)絡(luò)104可為局域網(wǎng)(LAN)(例如公司內(nèi)網(wǎng)),城域網(wǎng)(MAN),或者廣域網(wǎng)(WAN)(例如互聯(lián)網(wǎng)或萬維網(wǎng))。網(wǎng)絡(luò)104、104’、104”可為專用網(wǎng)絡(luò)或公網(wǎng)。在一個實(shí)施例中,網(wǎng)絡(luò)104’和網(wǎng)絡(luò)104”可為專用網(wǎng)而網(wǎng)絡(luò)104可為公網(wǎng)。在一些實(shí)施例中,網(wǎng)絡(luò)104可為專用網(wǎng)而網(wǎng)絡(luò)104’和/或網(wǎng)絡(luò)104”可為公網(wǎng)。在又一個實(shí)施例中,網(wǎng)絡(luò)104、104’、104”可都為專用網(wǎng)。在一些實(shí)施例中,客戶機(jī)102可位于公司企業(yè)的分支機(jī)構(gòu)中,經(jīng)由網(wǎng)絡(luò)104上的WAN連接與位于公司數(shù)據(jù)中心中的公司LAN上的服務(wù)器106進(jìn)行通信。[0051]網(wǎng)絡(luò)104可以是任何類型和/或形式的網(wǎng)絡(luò),并且可包括任何下列任何一種網(wǎng)絡(luò):點(diǎn)對點(diǎn)網(wǎng)絡(luò),廣播網(wǎng)絡(luò),廣域網(wǎng),局域網(wǎng),電信網(wǎng)絡(luò),數(shù)據(jù)通信網(wǎng)絡(luò),計算機(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的拓?fù)淇蔀榭偩€型、星型或環(huán)型網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)104以及網(wǎng)絡(luò)拓?fù)淇梢允潜绢I(lǐng)域普通技術(shù)人員所知的能夠支持此處描述的操作的任何這樣的網(wǎng)絡(luò)或網(wǎng)絡(luò)拓?fù)洹0052]如圖1A所示,第一網(wǎng)絡(luò)優(yōu)化設(shè)備200被顯示在網(wǎng)絡(luò)104和104’之間,并且第二網(wǎng)絡(luò)優(yōu)化設(shè)備200’也在網(wǎng)絡(luò)104’和104”之間。在一些實(shí)施例中,設(shè)備200可位于網(wǎng)絡(luò)104上。例如,公司企業(yè)可在分支機(jī)構(gòu)中部署設(shè)備200。在其它實(shí)施例中,設(shè)備200可以位于網(wǎng)絡(luò)104’上。在一些實(shí)施例中,設(shè)備200可以位于網(wǎng)絡(luò)104’或網(wǎng)絡(luò)104”上。例如,設(shè)備200可位于公司的數(shù)據(jù)中心。在一個實(shí)施例中,設(shè)備200和200’在同一網(wǎng)絡(luò)上,在又一個實(shí)施例中,設(shè)備200和200’在不同的網(wǎng)絡(luò)上。[0053]在一個實(shí)施例中,設(shè)備200是用于加速、優(yōu)化或者以其他方式改善任何類型和形式的網(wǎng)絡(luò)流量的性能、操作或服務(wù)質(zhì)量的裝置。在一些實(shí)施例中,設(shè)備200是一個性能增強(qiáng)代理。在其它實(shí)施例中,設(shè)備200是任何類型和形式的WAN優(yōu)化或加速裝置,有時也被稱為WAN優(yōu)化控制器。在一個實(shí)施例中,設(shè)備200是由位于佛羅里達(dá)州Ft.Lauderdale的CitrixSystems公司出品的被稱為WANScaler的產(chǎn)品實(shí)施例中的任何一種。在其它實(shí)施例中,設(shè)備200包括由位于華盛頓州Seattle的F5Networks公司出品的被稱為BIG-1P鏈路控制器和WANjet的產(chǎn)品實(shí)施例中的任何一種。在又一個實(shí)施例中,設(shè)備200包括由位于加利福尼亞州Sunnyvale的JuniperNetWorks公司出品的WX和WXCWAN加速裝置平臺中的任何一種。在一些實(shí)施例中,設(shè)備200包括由加利福尼亞州SanFrancisco的RiverbedTechnology公司出品的虹鱒(steelhead)系列WAN優(yōu)化設(shè)備中的任何一種。在其它實(shí)施例中,設(shè)備200包括由位于新澤西州Roseland的ExpandNetworks公司出品的WAN相關(guān)裝置中的任何一種。在一個實(shí)施例中,設(shè)備200包括由位于加利福尼亞州Cupertino的Packeteer公司出品的任何一種WAN相關(guān)設(shè)備,例如由Packeteer提供的PacketShaper、iShared和SkyX產(chǎn)品實(shí)施例。在又一個實(shí)施例中,設(shè)備200包括由位于加利福尼亞州SanJose的CiscoSystems公司出品的任何WAN相關(guān)設(shè)備和/或軟件,例如Cisco廣域網(wǎng)應(yīng)用服務(wù)軟件和網(wǎng)絡(luò)模塊以及廣域網(wǎng)引擎設(shè)備。[0054]在一些實(shí)施例中,設(shè)備200為分支機(jī)構(gòu)或遠(yuǎn)程辦公室提供應(yīng)用和數(shù)據(jù)加速服務(wù)。在一個實(shí)施例中,設(shè)備200包括廣域文件服務(wù)(WAFS)的優(yōu)化。在又一個實(shí)施例中,設(shè)備200加速文件的傳送,例如經(jīng)由通用互聯(lián)網(wǎng)文件系統(tǒng)(CIFS)協(xié)議。在其它實(shí)施例中,設(shè)備200在存儲器和/或存儲裝置中提供高速緩存來加速應(yīng)用和數(shù)據(jù)的傳送。在一個實(shí)施例中,設(shè)備200在任何級別的網(wǎng)絡(luò)堆棧或在任何的協(xié)議或網(wǎng)絡(luò)層中提供網(wǎng)絡(luò)流量的壓縮。在又一個實(shí)施例中,設(shè)備200提供傳輸層協(xié)議優(yōu)化、流量控制、性能增強(qiáng)或修改和/或管理,以加速WAN連接上的應(yīng)用和數(shù)據(jù)的傳送。例如,在一個實(shí)施例中,設(shè)備200提供傳輸控制協(xié)議(TCP)優(yōu)化。在其它實(shí)施例中,設(shè)備200提供對于任何會話或應(yīng)用層協(xié)議的優(yōu)化、流量控制、性能增強(qiáng)或修改和/或管理。在下文的B部分中討論設(shè)備200的架構(gòu)、操作和優(yōu)化技術(shù)的進(jìn)一步的細(xì)節(jié)。[0055]仍參考圖1A,網(wǎng)絡(luò)環(huán)境可包括多個邏輯分組的服務(wù)器106。在這些實(shí)施例中,服務(wù)器的邏輯分組可以被稱為服務(wù)器群38。在這些實(shí)施例的一些中,服務(wù)器106可為地理上分散的。在一些情況中,群38可以作為單個實(shí)體被管理。在其它實(shí)施例中,服務(wù)器群38包括多個服務(wù)器群38。在一個實(shí)施例中,服務(wù)器群代表一個或多個客戶機(jī)102執(zhí)行一個或多個應(yīng)用程序。[0056]在每個群38中的服務(wù)器106可為不同種類。一個或多個服務(wù)器106可根據(jù)一種類型的操作系統(tǒng)平臺(例如,由華盛頓州Redmond的Microsoft公司制造的WINDOWSNT)操作,而一個或多個其它服務(wù)器106可根據(jù)另一類型的操作系統(tǒng)平臺(例如,Unix或Linux)操作。每個群38的服務(wù)器106不需要與同一群38內(nèi)的另一個服務(wù)器106物理上接近。因此,被邏輯分組為群38的服務(wù)器106組可使用廣域網(wǎng)(WAN)連接或城域網(wǎng)(MAN)連接互聯(lián)。例如,群38可包括物理上位于不同大陸或大陸的不同區(qū)域、國家、州、城市、校園或房間的服務(wù)器106。如果使用局域網(wǎng)(LAN)連接或一些直連形式來連接服務(wù)器106,則可增加群38中的服務(wù)器106間的數(shù)據(jù)傳送速度。[0057]服務(wù)器106可指文件服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)器、代理服務(wù)器或者網(wǎng)關(guān)服務(wù)器。在一些實(shí)施例中,服務(wù)器106可以有作為應(yīng)用服務(wù)器或者作為主應(yīng)用服務(wù)器工作的能力。在一個實(shí)施例中,服務(wù)器106可包括活動目錄。客戶端102也可稱為客戶端節(jié)點(diǎn)或端點(diǎn)。在一些實(shí)施例中,客戶機(jī)102可以有作為客戶機(jī)節(jié)點(diǎn)尋求訪問服務(wù)器上的應(yīng)用的能力,也可以有作為應(yīng)用服務(wù)器為其它客戶機(jī)102a-102n提供對寄載的應(yīng)用的訪問的能力。[0058]在一些實(shí)施例中,客戶端102與服務(wù)器106通信。在一個實(shí)施例中,客戶端102可與群38中的服務(wù)器106的其中一個直接通信。在又一個實(shí)施例中,客戶端102執(zhí)行程序鄰近應(yīng)用(programneighborhoodapplication)以與群38內(nèi)的服務(wù)器106通信。在又一個實(shí)施例中,服務(wù)器106提供主節(jié)點(diǎn)的功能。在一些實(shí)施例中,客戶端102通過網(wǎng)絡(luò)104與群38中的服務(wù)器106通信。通過網(wǎng)絡(luò)104,客戶機(jī)102例如可以請求執(zhí)行由群38中的服務(wù)器106a-106n寄載的各種應(yīng)用,并接收應(yīng)用執(zhí)行結(jié)果的輸出進(jìn)行顯示。在一些實(shí)施例中,只有主節(jié)點(diǎn)提供識別和提供與寄載所請求的應(yīng)用的服務(wù)器106’相關(guān)的地址信息所需的功能。[0059]在一個實(shí)施例中,服務(wù)器106提供web服務(wù)器的功能。在又一個實(shí)施例中,服務(wù)器106a接收來自客戶機(jī)102的請求,將請求轉(zhuǎn)發(fā)到第二服務(wù)器106b,并使用來自服務(wù)器106b對該請求的響應(yīng)來對客戶機(jī)102的請求進(jìn)行響應(yīng)。在又一個實(shí)施例中,服務(wù)器106獲得客戶機(jī)102可用的應(yīng)用的列舉以及與由該應(yīng)用的列舉所識別的應(yīng)用的服務(wù)器106相關(guān)的地址信息。在又一個實(shí)施例中,服務(wù)器106使用web接口將對請求的響應(yīng)提供給客戶機(jī)102。在一個實(shí)施例中,客戶端102直接與服務(wù)器106通信以訪問所識別的應(yīng)用。在又一個實(shí)施例中,客戶機(jī)102接收由執(zhí)行服務(wù)器106上所識別的應(yīng)用而產(chǎn)生的諸如顯示數(shù)據(jù)的應(yīng)用輸出數(shù)據(jù)。[0060]與其他設(shè)備一起部署[0061]現(xiàn)在參考圖1B,描述了網(wǎng)絡(luò)環(huán)境的又一個實(shí)施例,在其中,網(wǎng)絡(luò)優(yōu)化設(shè)備200和諸如網(wǎng)關(guān)、防火墻或加速設(shè)備的一個或多個其他設(shè)備205、205’(總的稱為設(shè)備205或第二設(shè)備205)部署在一起。例如,在一個實(shí)施例中,設(shè)備205是防火墻或安全設(shè)備,而設(shè)備205’是LAN加速設(shè)備。在一些實(shí)施例中,客戶機(jī)102可通過一個或多個第一設(shè)備200和一個或多個第二設(shè)備205與服務(wù)器106通信。[0062]一個或多個設(shè)備200和205可以位于在客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)或網(wǎng)絡(luò)通信路徑中的任一點(diǎn)處。在一些實(shí)施例中,第二設(shè)備205可與第一設(shè)備200位于同一網(wǎng)絡(luò)104上。在其他實(shí)施例中,第二設(shè)備205可位于與第一設(shè)備200不同的網(wǎng)絡(luò)104上。在又一個實(shí)施例中,第一設(shè)備200和第二設(shè)備205在同一網(wǎng)絡(luò)上,例如網(wǎng)絡(luò)104,而第一設(shè)備200’和第二設(shè)備205’在同一網(wǎng)絡(luò)上,例如網(wǎng)絡(luò)104’。[0063]在一個實(shí)施例中,第二設(shè)備205包括任何類型和形式的傳輸控制協(xié)議或傳輸后終止裝置,例如網(wǎng)關(guān)或防火墻裝置。在一個實(shí)施例中,設(shè)備205通過與客戶機(jī)建立第一傳輸控制協(xié)議連接并且與第二設(shè)備或服務(wù)器建立第二傳輸控制協(xié)議連接來終止傳輸控制協(xié)議。在又一個實(shí)施例中,設(shè)備205通過改變、管理或控制在客戶機(jī)和服務(wù)器或第二設(shè)備之間的傳輸控制協(xié)議連接的行為來終止傳輸控制協(xié)議。例如,設(shè)備205可以改變、排隊、轉(zhuǎn)發(fā)或傳輸網(wǎng)絡(luò)分組以有效地終止傳輸控制協(xié)議連接或者起到終止該連接的作用或模擬為終止該連接。[0064]在一些實(shí)施例中,第二設(shè)備205是性能增強(qiáng)代理。在一個實(shí)施例中,設(shè)備205提供虛擬專用網(wǎng)(VPN)連接。在一些實(shí)施例中,設(shè)備205提供安全套接字層VPN(SSLVPN)連接。在其他實(shí)施例中,設(shè)備205提供基于Ipsec(互聯(lián)網(wǎng)協(xié)議安全)的VPN連接。在一些實(shí)施例中,設(shè)備205提供任何一個或多個下列功能:壓縮、加速、負(fù)載平衡、交換/路由、緩存和傳輸控制協(xié)議(TCP)加速。[0065]在一個實(shí)施例中,設(shè)備205是由位于佛羅里達(dá)州Ft.Lauderdale的CitrixSystems公司出品的被稱為訪問網(wǎng)關(guān)、應(yīng)用防火墻、應(yīng)用網(wǎng)關(guān)或NetScaler的產(chǎn)品實(shí)施例中的任何一種。這樣,在一些實(shí)施例中,設(shè)備200包括執(zhí)行諸如SSLVPN連通、SSL卸載、交換/負(fù)載平衡、域名服務(wù)解析、LAN加速和應(yīng)用防火墻的服務(wù)或功能的任何邏輯、功能、規(guī)則或操作。[0066]在一些實(shí)施例中,設(shè)備205提供在客戶機(jī)102和服務(wù)器106之間的SSLVPN連接。例如,第一網(wǎng)絡(luò)104上的客戶端102請求建立到第二網(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’上,例如公司網(wǎng)。在一個實(shí)施例中,客戶機(jī)代理攔截第一網(wǎng)絡(luò)104上的客戶機(jī)102的通信,加密該通信,并且經(jīng)第一傳輸層連接發(fā)送該通信到設(shè)備205。設(shè)備205將第一網(wǎng)絡(luò)104上的第一傳輸層連接與到第二網(wǎng)絡(luò)104上的服務(wù)器106的第二傳輸層連接相關(guān)聯(lián)。設(shè)備205接收來自客戶端代理的被攔截的通信,解密該通信,并且經(jīng)第二傳輸層連接發(fā)送該通信到第二網(wǎng)絡(luò)104上的服務(wù)器106。第二傳輸層連接可以是池化的傳輸層連接。在一個實(shí)施例中,設(shè)備205為在兩個網(wǎng)絡(luò)104和104’之間的客戶機(jī)102提供端到端安全傳輸層連接。[0067]在一個實(shí)施例中,設(shè)備205寄載虛擬專用網(wǎng)絡(luò)104上的客戶機(jī)102的內(nèi)部網(wǎng)互聯(lián)網(wǎng)協(xié)議或者IntranetIP地址??蛻魴C(jī)102具有本地網(wǎng)絡(luò)標(biāo)識符,諸如第一網(wǎng)絡(luò)104上的互聯(lián)網(wǎng)協(xié)議(IP)地址和/或主機(jī)名稱。當(dāng)經(jīng)由設(shè)備205連接到第二網(wǎng)絡(luò)104’時,設(shè)備205在第二網(wǎng)絡(luò)104’上為客戶機(jī)102建立、分配或者以其它方式提供IntranetIP(內(nèi)部網(wǎng)IP),其是諸如IP地址和/或主機(jī)名稱的網(wǎng)絡(luò)標(biāo)識符。使用客戶機(jī)的所建立的IntranetIP,設(shè)備205在第二或?qū)S镁W(wǎng)104’上監(jiān)聽并接收指向該客戶機(jī)102的任何通信。在一個實(shí)施例中,設(shè)備205在第二專用網(wǎng)絡(luò)104上用作或者代表客戶機(jī)102。[0068]在一些實(shí)施例中,設(shè)備205具有加密引擎,所述加密引擎提供用于操控諸如SSL或TLS的任何安全相關(guān)協(xié)議或其中涉及的任何功能的處理的邏輯、商業(yè)規(guī)則、功能或操作。例如,加密引擎加密并解密通過設(shè)備205傳輸?shù)木W(wǎng)絡(luò)分組,或其任何部分。加密引擎也可代表客戶機(jī)102a-102n、服務(wù)器106a_106n或設(shè)備200、205來設(shè)置或建立SSL或TLS連接。因此,加密引擎提供SSL處理的卸載和加速。在一個實(shí)施例中,加密引擎使用隧道協(xié)議來提供在客戶機(jī)102a-102n和服務(wù)器106a_106n間的虛擬專用網(wǎng)絡(luò)。在一些實(shí)施例中,加密引擎使用加密處理器。在其它實(shí)施例中,加密引擎包括運(yùn)行在加密處理器260上的可執(zhí)行指令。[0069]在一些實(shí)施例中,設(shè)備205為在客戶機(jī)102和服務(wù)器106之間的通信提供下列一個或多個加速技術(shù):1)壓縮、2)解壓縮、3)傳輸控制協(xié)議池、4)傳輸控制協(xié)議多路復(fù)用、5)傳輸控制協(xié)議緩沖、以及6)高速緩存。在一個實(shí)施例中,設(shè)備200通過打開與每一服務(wù)器106的一個或者多個傳輸層連接并且維持這些連接以允許由客戶機(jī)經(jīng)由互聯(lián)網(wǎng)的重復(fù)數(shù)據(jù)訪問,來為服務(wù)器106緩解由重復(fù)打開和關(guān)閉到客戶機(jī)102的傳輸層連接所造成的大量處理負(fù)載。該技術(shù)此處稱為“連接池”。[0070]在一些實(shí)施例中,為了經(jīng)由池化的傳輸層連接無縫拼接從客戶機(jī)102到服務(wù)器106的通信,設(shè)備205通過在傳輸層協(xié)議級修改序列號和確認(rèn)號來轉(zhuǎn)換或多路復(fù)用通信。這被稱為“連接多路復(fù)用”。在一些實(shí)施例中,不需要應(yīng)用層協(xié)議相互作用。例如,在到來的分組(即,自客戶機(jī)102接收的分組)的情況中,所述分組的源網(wǎng)絡(luò)地址被改變?yōu)樵O(shè)備205的輸出端口的網(wǎng)絡(luò)地址,而目的網(wǎng)絡(luò)地址被改為目的服務(wù)器的網(wǎng)絡(luò)地址。在發(fā)出的分組(即,自服務(wù)器106接收的一個分組)的情況中,源網(wǎng)絡(luò)地址被從服務(wù)器106的網(wǎng)絡(luò)地址改變?yōu)樵O(shè)備205的輸出端口的網(wǎng)絡(luò)地址,而目的地址被從設(shè)備205的網(wǎng)絡(luò)地址改變?yōu)檎埱蟮目蛻魴C(jī)102的網(wǎng)絡(luò)地址。分組的序列號和確認(rèn)號也被轉(zhuǎn)換為到客戶機(jī)102的設(shè)備205的傳輸層連接上的由客戶機(jī)102所期待的序列號和確認(rèn)。在一些實(shí)施例中,傳輸層協(xié)議的分組校驗和被重新計算以計及這些轉(zhuǎn)換。[0071]在又一個實(shí)施例中,設(shè)備205為客戶機(jī)102和服務(wù)器106之間的通信提供交換或負(fù)載平衡功能。在一些實(shí)施例中,設(shè)備205根據(jù)層4有效載荷或應(yīng)用層請求數(shù)據(jù)來分配流量并將客戶機(jī)請求定向到服務(wù)器106。在一個實(shí)施例中,盡管網(wǎng)絡(luò)分組的網(wǎng)絡(luò)層或者層2標(biāo)識了目的服務(wù)器106,但設(shè)備205利用承載為傳輸層分組的有效載荷的數(shù)據(jù)和應(yīng)用信息來確定服務(wù)器106以便分發(fā)網(wǎng)絡(luò)分組。在一個實(shí)施例中,設(shè)備205的健康監(jiān)控程序監(jiān)控服務(wù)器的健康來確定分發(fā)客戶機(jī)請求到哪個服務(wù)器106。在一些實(shí)施例中,如果設(shè)備205檢測到某個服務(wù)器106不可用或者具有超過預(yù)定閾值的負(fù)載,設(shè)備205可以將客戶機(jī)請求定向或者分發(fā)到另一個服務(wù)器106。[0072]在一些實(shí)施例中,設(shè)備205用作域名服務(wù)(DNS)解析器或以其他方式提供對來自客戶機(jī)102的DNS請求的解析。在一些實(shí)施例中,設(shè)備攔截由客戶機(jī)102發(fā)送的DNS請求。在一個實(shí)施例中,設(shè)備205以設(shè)備205的IP地址或其所寄載的IP地址來響應(yīng)客戶機(jī)的DNS請求。在此實(shí)施例中,客戶機(jī)102把用于該域名的網(wǎng)絡(luò)通信發(fā)送到設(shè)備200。在又一個實(shí)施例中,設(shè)備200以第二設(shè)備200’的或其所寄載的IP地址來響應(yīng)客戶機(jī)的DNS請求。在一些實(shí)施例中,設(shè)備205使用由設(shè)備200確定的服務(wù)器106的IP地址來響應(yīng)客戶機(jī)的DNS請求。[0073]在又一個實(shí)施例中,設(shè)備205為客戶機(jī)102和服務(wù)器106之間的通信提供應(yīng)用防火墻功能。在一個實(shí)施例中,策略引擎295’提供用于檢測和阻斷非法請求的規(guī)則。在一些實(shí)施例中,應(yīng)用防火墻防御拒絕服務(wù)(DoS)攻擊。在其它實(shí)施例中,設(shè)備檢查所攔截的請求的內(nèi)容,以識別和阻斷基于應(yīng)用的攻擊。在一些實(shí)施例中,規(guī)則/策略引擎包括用于提供對多個種類和類型的基于web或互聯(lián)網(wǎng)的脆弱點(diǎn)的保護(hù)的一個或多個應(yīng)用防火墻或安全控制策略,例如下列的一個或多個:1)緩沖區(qū)泄出,2)CG1-BIN參數(shù)操縱,3)表單/隱藏字段操縱,4)強(qiáng)制瀏覽,5)C00kie或會話中毒,6)被破壞的訪問控制列表(ACLs)或弱密碼,7)跨站腳本處理(XSS),8)命令注入,9)SQL注入,10)錯誤觸發(fā)敏感信息泄露,11)對加密的不安全使用,12)服務(wù)器錯誤配置,13)后門和調(diào)試選項,14)網(wǎng)站涂改,15)平臺或操作系統(tǒng)弱點(diǎn),和16)零天攻擊。在一個實(shí)施例中,對下列情況的一種或多種,設(shè)備的防火墻以檢查或分析網(wǎng)絡(luò)通信的形式來提供HTML格式字段的保護(hù):1)返回所需的字段,2)不允許附加字段,3)只讀和隱藏字段強(qiáng)制(enforcement),4)下拉列表和單選按鈕字段的一致,以及5)格式字段最大長度強(qiáng)制。在一些實(shí)施例中,設(shè)備205的應(yīng)用防火墻確保cookie不被修改。在其它實(shí)施例中,設(shè)備205通過執(zhí)行合法的URL來防御強(qiáng)制瀏覽。[0074]在其他實(shí)施例中,應(yīng)用防火墻設(shè)備205保護(hù)在網(wǎng)絡(luò)通信中包含的任何機(jī)密信息。設(shè)備205可以根據(jù)策略引擎的規(guī)則或策略來檢查或分析任一網(wǎng)絡(luò)通信以識別在網(wǎng)絡(luò)分組的任一字段中的任一機(jī)密信息。在一些實(shí)施例中,應(yīng)用防火墻在網(wǎng)絡(luò)通信中識別信用卡號、口令、社會保險號、姓名、病人代碼、聯(lián)系信息和年齡的一次或多次出現(xiàn)。網(wǎng)絡(luò)通信的編碼部分可以包括這些出現(xiàn)或機(jī)密信息。基于這些出現(xiàn),在一個實(shí)施例中,應(yīng)用防火墻可以對網(wǎng)絡(luò)通信采取策略行動,諸如阻止發(fā)送網(wǎng)絡(luò)通信。在又一個實(shí)施例中,應(yīng)用防火墻可以重寫、移動或者以其它方式掩蓋該所識別的出現(xiàn)或者機(jī)密信息。[0075]盡管總的稱為網(wǎng)絡(luò)優(yōu)化或第一設(shè)備200和第二設(shè)備205,但第一設(shè)備200和第二設(shè)備205可以是相同類型和形式的設(shè)備。在一個實(shí)施例中,第二設(shè)備205可執(zhí)行與第一設(shè)備200相同的功能,或部分相同的功能,反之亦然。例如,第一設(shè)備200和第二設(shè)備205都可以提供加速技術(shù)。在一個實(shí)施例中,第一設(shè)備200可執(zhí)行LAN加速而第二設(shè)備205執(zhí)行WAN加速,或者反之亦然。在又一個實(shí)施例中,第一設(shè)備200也可以與第二設(shè)備205—樣是傳輸控制協(xié)議終止裝置。而且,盡管設(shè)備200和205被顯示為在網(wǎng)絡(luò)上單獨(dú)的裝置,但設(shè)備200和/或設(shè)備205可以是客戶機(jī)102或服務(wù)器106的一部分。[0076]現(xiàn)參考圖1C,描述了用于部署設(shè)備200的網(wǎng)絡(luò)環(huán)境的其他實(shí)施例。在如圖1C的上部所描述的又一個實(shí)施例中,設(shè)備200可以部署為網(wǎng)絡(luò)104上單個設(shè)備或單個代理。例如,設(shè)備200可以被設(shè)計、構(gòu)建或調(diào)整來執(zhí)行此處所討論的WAN優(yōu)化技術(shù),而不需要第二協(xié)同設(shè)備200’。在如圖1C的下部所描述的其他實(shí)施例中,可以將單個設(shè)備200與一個或多個第二設(shè)備205部署在一起。例如,諸如CitrixWANScaler設(shè)備的WAN加速第一設(shè)備200可以與LAN加速或應(yīng)用防火墻第二設(shè)備205(例如CitrixNetScaler設(shè)備)部署在一起。[0077]計算裝置[0078]客戶機(jī)102、服務(wù)器106和設(shè)備200和205可以被部署為和/或執(zhí)行在任何類型和形式的計算裝置上,諸如能夠在任何類型和形式的網(wǎng)絡(luò)上通信并執(zhí)行此處描述的操作的計算機(jī)、網(wǎng)絡(luò)裝置或者設(shè)備。圖1C和ID描述了可用于實(shí)施客戶機(jī)102、服務(wù)器106或設(shè)備200的實(shí)施例的計算裝置100的框圖。如圖1C和ID所示,每個計算裝置100包括中央處理單元101和主存儲器單元122。如圖1C所示,計算裝置100可以包括可視顯示裝置124、鍵盤126和/或諸如鼠標(biāo)的指示裝置127。每個計算裝置100也可包括其它可選元件,例如一個或多個輸入/輸出裝置130a—130b(總的使用附圖標(biāo)記130表不),以及與中央處理單元101通信的高速緩存存儲器140。[0079]中央處理單元101是響應(yīng)并處理從主存儲器單元122取出的指令的任何邏輯電路。在許多實(shí)施例中,中央處理單元由微處理器單元提供,例如:由加利福尼亞州MountainView的Intel公司制造的微處理器單元;由伊利諾伊州Schaumburg的Motorola公司制造的微處理器單元;由加利福尼亞州SantaClara的Transmeta公司制造的微處理器單元;由紐約州WhitePlains的InternationalBusinessMachines公司制造的RS/6000處理器;或者由加利福尼亞州Sunnyvale的AdvancedMicroDevices公司制造的微處理器單元。計算裝置100可以基于這些處理器中的任何一種,或者能夠按照這里所說明的那樣運(yùn)行的任何其它處理器。[0080]主存儲器單元122可以是能夠存儲數(shù)據(jù)并允許微處理器101直接訪問任何存儲位置的一個或多個存儲器芯片,例如靜態(tài)隨機(jī)存取存儲器(SRAM)、突發(fā)SRAM或同步突發(fā)SRAM(BSRAM)、動態(tài)隨機(jī)存取存儲器DRAM、快速頁模式DRAM(FPMDRAM)、增強(qiáng)型DRAM(EDRAM)、擴(kuò)展數(shù)據(jù)輸出RAM(EDORAM)、擴(kuò)展數(shù)據(jù)輸出DRAM(EDODRAM)、突發(fā)式擴(kuò)展數(shù)據(jù)輸出DRAM(BEDODRAM)、增強(qiáng)型DRAM(EDRAM)、同步DRAM(SDRAM)、JEDECSRAM、PC100SDRAM、雙數(shù)據(jù)速率SDRAM(DDRSDRAM)、增強(qiáng)型SRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)、直接RambusDRAM(DRDRAM)或鐵電RAM(FRAM)。主存儲器122可以基于上述存儲芯片的任何一種,或者能夠像這里所說明的那樣運(yùn)行的任何其它可用存儲芯片。在圖1C中所示的實(shí)施例中,處理器101通過系統(tǒng)總線150(在下面進(jìn)行更詳細(xì)的描述)與主存儲器122進(jìn)行通信。圖1C描述了在其中處理器通過存儲器端口103直接與主存儲器122通信的計算裝置100的實(shí)施例。例如,在圖1D中,主存儲器122可以是DRDRAM。[0081]圖1D描述了在其中主處理器101通過第二總線與高速緩存存儲器140直接通信的實(shí)施例,第二總線有時也稱為后端總線。其他實(shí)施例中,主處理器101使用系統(tǒng)總線150和高速緩存存儲器140通信。高速緩存存儲器140通常有比主存儲器122更快的響應(yīng)時間,并且通常由SRAM、BSRAM或EDRAM提供。在圖1C中所示的實(shí)施例中,處理器101通過本地系統(tǒng)總線150與多個I/O裝置130進(jìn)行通信。可以使用各種不同的總線將中央處理單元101連接到任何I/O裝置130,所述總線包括VESAVL總線、ISA總線、EISA總線、微通道架構(gòu)(MCA)總線、PCI總線、PC1-X總線、PC1-Express總線或NuBus。對于I/O裝置是視頻顯示器124的實(shí)施例,處理器101可以使用高級圖形端口(AGP)與顯示器124通信。圖1D說明了主處理器101通過超傳輸(HyperTransport)、快速I/O或者InfiniBand直接與I/O裝置130通信的計算機(jī)100的一個實(shí)施例。圖1D還描述了在其中混合本地總線和直接通信的實(shí)施例:處理器101使用本地互連總線與I/O裝置130進(jìn)行通信,同時直接與I/O裝置130進(jìn)行通信。[0082]計算裝置100可以支持任何適當(dāng)?shù)陌惭b裝置116,例如用于接收像3.5英寸、5.25英寸磁盤或ZIP磁盤這樣的軟盤的軟盤驅(qū)動器、CD-ROM驅(qū)動器、CD-R/RW驅(qū)動器、DVD-ROM驅(qū)動器、多種格式的磁帶驅(qū)動器、USB裝置、硬盤驅(qū)動器或適于安裝像任何客戶機(jī)代理120或其部分的軟件和程序的任何其它裝置。計算裝置100還可以包括存儲裝置128,諸如一個或者多個硬盤驅(qū)動器或者獨(dú)立磁盤冗余陣列,用于存儲操作系統(tǒng)和其它相關(guān)軟件,以及用于存儲諸如涉及客戶機(jī)代理120的任何程序的應(yīng)用軟件程序?;蛘撸梢允褂冒惭b裝置116的任何一種作為存儲裝置128。此外,操作系統(tǒng)和軟件可從例如可引導(dǎo)⑶的可引導(dǎo)介質(zhì)運(yùn)行,諸如KNOPPIX?,一種用于GNU/Linux的可引導(dǎo)⑶,該可引導(dǎo)⑶可自knoppix.net作為GNU/Linux分發(fā)獲得。[0083]此外,計算裝置100可以包括通過多種連接接口到局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或互聯(lián)網(wǎng)的網(wǎng)絡(luò)接口118,所述多種連接包括但不限于標(biāo)準(zhǔn)電話線路、LAN或WAN鏈路(例如802.11,Tl,T3、56kb、X.25)、寬帶連接(如ISDN、幀中繼、ATM)、無線連接、或上述任何或所有連接的一些組合。網(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)器或適用于將計算裝置100接口到能夠通信并執(zhí)行本文所述的操作的任何類型的網(wǎng)絡(luò)的任何其它設(shè)備。計算裝置100中可以包括各種I/O裝置130a-130n。輸入裝置包括鍵盤、鼠標(biāo)、觸控板、軌跡球、麥克風(fēng)和繪圖板。輸出裝置包括視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)和熱升華打印機(jī)。如圖1C所示,I/O裝置130可以由I/O控制器123控制。I/O控制器可以控制一個或多個I/O裝置,例如鍵盤126和指示裝置127(如鼠標(biāo)或光筆)。此外,I/O裝置還可以為計算裝置100提供存儲裝置128和/或安裝介質(zhì)116。在其它實(shí)施例中,計算裝置100可以提供USB連接以接納手持USB存儲裝置,例如由位于加利福尼亞州LosAlamitos的TwintechIndustry公司制造的USB閃存驅(qū)動系列裝置。[0084]在一些實(shí)施例中,計算裝置100可以包括多個顯示裝置124a_124n或與其相連,這些顯示裝置各自可以是相同或不同的類型和/或形式。因而,任何一種I/O裝置130a-130n和/或I/O控制器123可以包括任一類型和/或形式的適當(dāng)?shù)挠布?、軟件或硬件和軟件的組合,以支持、允許或提供通過計算裝置100連接和使用多個顯示裝置124a-124n。例如,計算裝置100可以包括任何類型和/或形式的視頻適配器、視頻卡、驅(qū)動器和/或庫,以與顯示裝置124a-124n接口、通信、連接或以其他方式使用顯示裝置。在一個實(shí)施例中,視頻適配器可以包括多個連接器以與多個顯示裝置124a-124n接口。在其它實(shí)施例中,計算裝置100可以包括多個視頻適配器,每個視頻適配器與顯示裝置124a-124n中的一個或多個連接。在一些實(shí)施例中,計算裝置100的操作系統(tǒng)的任一部分都可以被配置用于使用多個顯示器124a-124n。在其它實(shí)施例中,顯示裝置124a_124n中的一個或多個可以由一個或多個其它計算裝置提供,諸如例如通過網(wǎng)絡(luò)與計算裝置100連接的計算裝置IOOa和100b。這些實(shí)施例可以包括被設(shè)計和構(gòu)造為將另一個計算機(jī)的顯示裝置用作計算裝置100的第二顯示裝置124a的任一類型的軟件。本領(lǐng)域的普通技術(shù)人員會認(rèn)識和理解可以將計算裝置100配置成具有多個顯示裝置124a-124n的各種方法和實(shí)施例。[0085]在進(jìn)一步的實(shí)施例中,I/O裝置130可以是系統(tǒng)總線150和外部通信總線之間的橋170,所述外部通信總線例如USB總線、Apple桌面總線、RS-232串行連接、SCSI總線、FireWire總線、Fireffire800總線、以太網(wǎng)總線、AppleTalk總線、千兆位以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超級HIPPI總線、SerialPlus總線、SCI/LAMP總線、光纖信道總線或串行SCSI總線。[0086]圖1C和ID中描述的那類計算裝置100通常在控制任務(wù)的調(diào)度和對系統(tǒng)資源的訪問的操作系統(tǒng)的控制下操作。計算裝置100可以運(yùn)行任何操作系統(tǒng),如Microsoft?Windows操作系統(tǒng),不同發(fā)行版本的Unix和Linux操作系統(tǒng),用于Macintosh計算機(jī)的任何版本的MACOS?,任何嵌入式操作系統(tǒng),任何實(shí)時操作系統(tǒng),任何開源操作系統(tǒng),任何專有操作系統(tǒng),任何用于移動計算裝置的操作系統(tǒng),或者任何其它能夠在計算裝置上運(yùn)行并完成這里所述操作的操作系統(tǒng)。典型的操作系統(tǒng)包括:WIND0WS3.X、WIND0WS95、WIND0WS98、WIND0WS2000,WINDOWSΝΤ3.51、WINDOWSΝΤ4.0、WINDOWSCE和WINDOWSXP,所有這些均由位于華盛頓州Redmond的微軟公司出品;由位于加利福尼亞州Cupertino的蘋果計算機(jī)出品的MacOS;由位于紐約州Armonk的國際商業(yè)機(jī)器公司出品的OS/2;以及由位于猶他州SaltLakeCity的Caldera公司發(fā)布的可免費(fèi)使用的Linux操作系統(tǒng)或者任何類型和/或形式的Unix操作系統(tǒng),以及其它。[0087]在其它實(shí)施例中,計算裝置100可以有符合該裝置的不同的處理器、操作系統(tǒng)和輸入設(shè)備。例如,在一個實(shí)施例中,計算機(jī)100是由Palm公司出品的Treo180、270、1060、600或650智能電話。在該實(shí)施例中,Treo智能電話在PalmOS操作系統(tǒng)的控制下操作,并包括指示筆輸入裝置以及五向?qū)Ш窖b置。此外,計算裝置100可以是任何工作站、桌面計算機(jī)、膝上型或筆記本計算機(jī)、服務(wù)器、手持計算機(jī)、移動電話、任何其它計算機(jī)、或能夠通信并有足夠的處理器能力和存儲容量以執(zhí)行此處所述的操作的其它形式的計算或者電信裝置。[0088]B.系統(tǒng)和設(shè)各架構(gòu)[0089]現(xiàn)參考圖2A,描述了用于傳送和/或操作客戶機(jī)上的計算環(huán)境的設(shè)備200的系統(tǒng)環(huán)境和架構(gòu)的實(shí)施例。在一些實(shí)施例中,服務(wù)器106包括用于向一個或多個客戶機(jī)102傳送計算環(huán)境或應(yīng)用和/或數(shù)據(jù)文件的應(yīng)用傳送系統(tǒng)290??偟膩碚f,客戶機(jī)102經(jīng)由網(wǎng)絡(luò)104和設(shè)備200與服務(wù)器106通信。例如,客戶機(jī)102可駐留在公司的遠(yuǎn)程辦公室里,例如分支機(jī)構(gòu),而服務(wù)器106可駐留在公司數(shù)據(jù)中心??蛻魴C(jī)102包括客戶機(jī)代理120以及計算環(huán)境215。計算環(huán)境215可執(zhí)行或操作用于訪問、處理或使用數(shù)據(jù)文件的應(yīng)用??山?jīng)由設(shè)備200和/或服務(wù)器106傳送計算環(huán)境215、應(yīng)用和/或數(shù)據(jù)文件。[0090]在一些實(shí)施例中,設(shè)備200向客戶機(jī)102加速傳送計算環(huán)境215或者其任何部分。在一個實(shí)施例中,設(shè)備200通過應(yīng)用傳送系統(tǒng)290加速計算環(huán)境15的傳送。例如,可使用此處描述的實(shí)施例來加速從公司中央數(shù)據(jù)中心到遠(yuǎn)程用戶位置(例如公司的分支機(jī)構(gòu))的流應(yīng)用(streamingapplication)及該應(yīng)用可處理的數(shù)據(jù)文件的傳送。在又一個實(shí)施例中,設(shè)備200加速客戶機(jī)102和服務(wù)器106之間的傳輸層流量。在又一個實(shí)施例中,設(shè)備200控制、管理、或調(diào)整傳輸層協(xié)議以便加速計算環(huán)境的傳送。在一些實(shí)施例中,設(shè)備200使用緩存和/或壓縮技術(shù)來加速計算環(huán)境的傳輸。[0091]在一些實(shí)施例中,基于多個執(zhí)行方法并且基于通過策略弓I擎295所應(yīng)用的任一驗證和授權(quán)策略,應(yīng)用傳送管理系統(tǒng)290提供將計算環(huán)境傳送到遠(yuǎn)程的或者其它的用戶的桌面的應(yīng)用傳送技術(shù)。使用這些技術(shù),遠(yuǎn)程用戶可以從任何網(wǎng)絡(luò)連接裝置100獲取計算環(huán)境并且訪問存儲應(yīng)用和數(shù)據(jù)文件的服務(wù)器。在一個實(shí)施例中,應(yīng)用傳送系統(tǒng)290可駐留在服務(wù)器106上或在其上執(zhí)行。在又一個實(shí)施例中,應(yīng)用傳送系統(tǒng)290可駐留在多個服務(wù)器106a-106n上或在其上執(zhí)行。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)290可在服務(wù)器群38內(nèi)執(zhí)行。在一個實(shí)施例中,執(zhí)行應(yīng)用傳送系統(tǒng)290的服務(wù)器106也可存儲或提供應(yīng)用和數(shù)據(jù)文件。在又一個實(shí)施例中,一個或多個服務(wù)器106的第一組可執(zhí)行應(yīng)用傳送系統(tǒng)290,而不同的服務(wù)器106η可存儲或提供應(yīng)用和數(shù)據(jù)文件。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)290、應(yīng)用和數(shù)據(jù)文件中的每一個可駐留或位于不同的服務(wù)器。在又一個實(shí)施例中,應(yīng)用傳送系統(tǒng)290的任何部分可駐留、執(zhí)行、或被存儲于或分發(fā)到設(shè)備200或多個設(shè)備。[0092]客戶機(jī)102可包括用于執(zhí)行使用或處理數(shù)據(jù)文件的應(yīng)用的計算環(huán)境215??蛻魴C(jī)102可通過網(wǎng)絡(luò)104、104’和設(shè)備200請求來自服務(wù)器106的應(yīng)用和數(shù)據(jù)文件。在一個實(shí)施例中,設(shè)備200可以將來自客戶機(jī)102的請求轉(zhuǎn)發(fā)到服務(wù)器106。例如,客戶機(jī)102可能不具有本地存儲或者本地可訪問的應(yīng)用和數(shù)據(jù)文件。響應(yīng)于請求,應(yīng)用傳送系統(tǒng)290和/或服務(wù)器106可以傳送應(yīng)用和數(shù)據(jù)文件到客戶機(jī)102。例如,在一個實(shí)施例中,服務(wù)器106可以把應(yīng)用作為應(yīng)用流來傳輸,以在客戶機(jī)102上的計算環(huán)境215中操作。[0093]在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)290包括CitrixSystems公司的CitrixAccessSuite?的任一部分(例如MetaFrame或CitrixPresentationServer?),和/或微軟公司開發(fā)的Microsoft?Windows終端服務(wù)中的任何一個。在一個實(shí)施例中,應(yīng)用傳送系統(tǒng)290可以通過遠(yuǎn)程顯示協(xié)議或者以其它方式通過基于遠(yuǎn)程計算或者基于服務(wù)器計算來傳送一個或者多個應(yīng)用到客戶機(jī)102或者用戶。在又一個實(shí)施例中,應(yīng)用傳送系統(tǒng)290可以通過應(yīng)用流來傳送一個或者多個應(yīng)用到客戶機(jī)或者用戶。[0094]在一個實(shí)施例中,應(yīng)用傳送系統(tǒng)290包括策略引擎295,其用于控制和管理對應(yīng)用的訪問、應(yīng)用執(zhí)行方法的選擇以及應(yīng)用的傳送。在一些實(shí)施例中,策略引擎295確定用戶或者客戶機(jī)102可以訪問的一個或者多個應(yīng)用。在又一個實(shí)施例中,策略引擎295確定應(yīng)用應(yīng)該如何被傳送到用戶或者客戶機(jī)102,例如執(zhí)行的方法。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)290提供多個傳送技術(shù),從中選擇應(yīng)用執(zhí)行的方法,例如基于服務(wù)器的計算、本地流式傳輸或傳送應(yīng)用給客戶機(jī)120以用于本地執(zhí)行。[0095]在一個實(shí)施例中,客戶機(jī)102請求應(yīng)用程序的執(zhí)行而包括服務(wù)器106的應(yīng)用傳送系統(tǒng)290選擇執(zhí)行應(yīng)用程序的方法。在一些實(shí)施例中,服務(wù)器106從客戶機(jī)102接收證書。在又一個實(shí)施例中,服務(wù)器106從客戶機(jī)102接收對于可用應(yīng)用的列舉的請求。在一個實(shí)施例中,響應(yīng)該請求或者證書的接收,應(yīng)用傳送系統(tǒng)290列舉對于客戶機(jī)102可用的多個應(yīng)用程序。應(yīng)用傳送系統(tǒng)290接收執(zhí)行所列舉的應(yīng)用的請求。應(yīng)用傳送系統(tǒng)290選擇預(yù)定數(shù)量的方法之一來執(zhí)行所列舉的應(yīng)用,例如響應(yīng)策略引擎的策略。應(yīng)用傳送系統(tǒng)290可以選擇執(zhí)行應(yīng)用的方法,使得客戶機(jī)102接收通過執(zhí)行服務(wù)器106上的應(yīng)用程序所產(chǎn)生的應(yīng)用輸出數(shù)據(jù)。應(yīng)用傳送系統(tǒng)290可以選擇執(zhí)行應(yīng)用的方法,使得本地機(jī)器102在檢索包括應(yīng)用的多個應(yīng)用文件之后本地執(zhí)行應(yīng)用程序。在又一個實(shí)施例中,應(yīng)用傳送系統(tǒng)290可以選擇執(zhí)行應(yīng)用的方法,以通過網(wǎng)絡(luò)104流式傳輸應(yīng)用到客戶機(jī)102。[0096]客戶機(jī)102可以執(zhí)行、操作或者以其它方式提供應(yīng)用,所述應(yīng)用可為任何類型和/或形式的軟件、程序或者可執(zhí)行指令,例如任何類型和/或形式的web瀏覽器、基于web的客戶機(jī)、客戶機(jī)一服務(wù)器應(yīng)用、瘦客戶端計算客戶機(jī)、ActiveX控件、或者Java程序、或者可以在客戶機(jī)102上執(zhí)行的任何其它類型和/或形式的可執(zhí)行指令。在一些實(shí)施例中,應(yīng)用可以是代表客戶機(jī)102在服務(wù)器106上執(zhí)行的基于服務(wù)器或者基于遠(yuǎn)程的應(yīng)用。在一個實(shí)施例中,服務(wù)器106可以使用任何瘦-客戶端或遠(yuǎn)程顯示協(xié)議來顯示輸出到客戶機(jī)102,所述瘦_客戶端或遠(yuǎn)程顯示協(xié)議例如由位于佛羅里達(dá)州Ft.Lauderdale的CitrixSystems公司出品的獨(dú)立計算架構(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ù)據(jù)通信的任一應(yīng)用,例如用于流式傳輸視頻和/或音頻的應(yīng)用。[0097]在一些實(shí)施例中,服務(wù)器106或服務(wù)器群38可運(yùn)行一個或多個應(yīng)用,例如提供瘦客戶端計算或遠(yuǎn)程顯示表示應(yīng)用的應(yīng)用。在一個實(shí)施例中,服務(wù)器106或服務(wù)器群38作為一個應(yīng)用來執(zhí)行CitrixSystemsInc.的CitrixAccessSuite?的任一部分(例如MetaFrame或CitrixPresentationServer?),和/或微軟公司開發(fā)的Microsoft?Windows終端服務(wù)中的任何一個。在一個實(shí)施例中,該應(yīng)用是位于佛羅里達(dá)州FortLauderdale的CitrixSystemsInc.開發(fā)的ICA客戶機(jī)。在其它實(shí)施例中,該應(yīng)用包括由位于華盛頓州Redmond的Microsoft公司開發(fā)的遠(yuǎn)程桌面(RDP)客戶機(jī)。另外,服務(wù)器106可以運(yùn)行一個應(yīng)用,例如,其可以是提供電子郵件服務(wù)的應(yīng)用服務(wù)器,例如由位于華盛頓州Redmond的Microsoft公司制造的MicrosoftExchange,web或Internet服務(wù)器,或者桌面共享服務(wù)器,或者協(xié)作服務(wù)器。在一些實(shí)施例中,任一應(yīng)用可以包括任一類型的所寄載的月艮務(wù)或產(chǎn)品,例如位于加利福尼亞州SantaBarbara的CitrixOnlineDivision提供的GoToMeeting?,位于加利福尼亞州SantaClara的WebExInc.提供的WebEx?,或者位于華盛頓州Redmond的Microsoft公司提供的MicrosoftOfficeLiveMeeting。[0098]示例設(shè)備架構(gòu)[0099]圖2A也示出設(shè)備200的示例實(shí)施例。僅通過示例來提供圖2A的設(shè)備200的架構(gòu)并且不意于以任一方式受限。設(shè)備200可包括任何類型和形式的計算裝置100,例如上文結(jié)合圖1D和IE所討論的任何元件或部分。概括來講,設(shè)備200具有用于經(jīng)由網(wǎng)絡(luò)104接收和/或傳輸通信的一個或多個網(wǎng)絡(luò)堆棧267A-267N和一個或多個網(wǎng)絡(luò)端口266A-266N。設(shè)備200還具有用于優(yōu)化、加速或以其他方式改善經(jīng)過設(shè)備200的任何網(wǎng)絡(luò)流量或通信的質(zhì)量、操作或性能。[0100]設(shè)備200包括操作系統(tǒng)或在操作系統(tǒng)的控制之下。設(shè)備200的操作系統(tǒng)可以是任何類型和/或形式的Unix操作系統(tǒng),盡管本發(fā)明并未這樣限制。這樣,設(shè)備200可以運(yùn)行任何操作系統(tǒng),如任何版本的Microsoft?Windows操作系統(tǒng)、不同版本的Unix和Linux操作系統(tǒng)、用于Macintosh計算機(jī)的任何版本的MacOS'?、任何的嵌入式操作系統(tǒng)、任何的網(wǎng)絡(luò)操作系統(tǒng)、任何的實(shí)時操作系統(tǒng)、任何的開放源操作系統(tǒng)、任何的專用操作系統(tǒng)、用于移動計算裝置或網(wǎng)絡(luò)裝置的任何操作系統(tǒng)、或者能夠運(yùn)行在設(shè)備200上并執(zhí)行此處所描述的操作的任何其它操作系統(tǒng)。[0101]設(shè)備200的操作系統(tǒng)分配、管理或以其他方式將可用的系統(tǒng)存儲器分離到被稱為內(nèi)核或系統(tǒng)空間和用戶或應(yīng)用空間中。通常保留內(nèi)核空間用于運(yùn)行內(nèi)核,所述內(nèi)核包括任何設(shè)備驅(qū)動器,內(nèi)核擴(kuò)展或其他內(nèi)核相關(guān)軟件。就像本領(lǐng)域技術(shù)人員所知的,內(nèi)核是操作系統(tǒng)的核心,并提供對設(shè)備200的資源和硬件相關(guān)的元件的訪問、控制和管理。根據(jù)設(shè)備200的實(shí)施例,內(nèi)核空間也包括與網(wǎng)絡(luò)優(yōu)化引擎250或其任何部分協(xié)同工作的多個網(wǎng)絡(luò)服務(wù)或進(jìn)程。另外,內(nèi)核的實(shí)施例將依賴于通過設(shè)備200安裝、配置或以其他方式使用的操作系統(tǒng)的實(shí)施例。與內(nèi)核空間不同,用戶空間是由用戶模式應(yīng)用或以其他方式運(yùn)行于用戶模式的程序所使用的操作系統(tǒng)的存儲區(qū)域或部分。用戶模式應(yīng)用不能直接訪問內(nèi)核空間而使用服務(wù)調(diào)用以訪問內(nèi)核服務(wù)。操作系統(tǒng)使用用戶或應(yīng)用空間來執(zhí)行或運(yùn)行應(yīng)用以及供應(yīng)用戶級程序、服務(wù)、進(jìn)程和/或任務(wù)。[0102]設(shè)備200具有一個或多個網(wǎng)絡(luò)端口266,用于通過網(wǎng)絡(luò)104傳輸和接收數(shù)據(jù)。網(wǎng)絡(luò)端口266提供在計算裝置和網(wǎng)絡(luò)104或另一個裝置100之間的物理和/或邏輯接口,用于傳輸和接收網(wǎng)絡(luò)通信。網(wǎng)絡(luò)端口266的類型和形式取決于網(wǎng)絡(luò)的類型和形式以及用于連接到網(wǎng)絡(luò)的介質(zhì)的類型。而且,網(wǎng)絡(luò)端口266和網(wǎng)絡(luò)堆棧267的、為其供應(yīng)的或者其使用的任何軟件可運(yùn)行在內(nèi)核空間或用戶空間。[0103]在一個實(shí)施例中,設(shè)備200具有一個網(wǎng)絡(luò)堆棧267,例如基于TCP/IP的堆棧,用于在網(wǎng)絡(luò)105上與客戶機(jī)102和/或服務(wù)器106通信。在一個實(shí)施例中,網(wǎng)絡(luò)堆棧267用于與諸如網(wǎng)絡(luò)104第一網(wǎng)絡(luò)以及第二網(wǎng)絡(luò)104’通信。在又一個實(shí)施例中,設(shè)備200可具有兩個或多個網(wǎng)絡(luò)堆棧,例如第一網(wǎng)絡(luò)堆棧267A和第二網(wǎng)絡(luò)堆棧267N。第一網(wǎng)絡(luò)堆棧267A可與第一網(wǎng)絡(luò)端口266A聯(lián)合使用以在第一網(wǎng)絡(luò)104上通信。第二網(wǎng)絡(luò)堆??膳c第二網(wǎng)絡(luò)端口266N聯(lián)合使用以在第二網(wǎng)絡(luò)104’上通信。在一個實(shí)施例中,網(wǎng)絡(luò)堆棧267包括用于為由設(shè)備200產(chǎn)生的一個或多個網(wǎng)絡(luò)分組進(jìn)行排隊的一個或多個緩沖器。[0104]網(wǎng)絡(luò)堆棧267可包括任何類型和形式的軟件、或硬件或其組合,用于提供與網(wǎng)絡(luò)的連接和通信。在一個實(shí)施例中,網(wǎng)絡(luò)堆棧267包括用于網(wǎng)絡(luò)協(xié)議組的軟件實(shí)現(xiàn)。網(wǎng)絡(luò)堆棧267可包括一個或多個網(wǎng)絡(luò)層,例如為本領(lǐng)域技術(shù)人員所公認(rèn)和了解的開放式系統(tǒng)互聯(lián)(OSI)通信模型的任何網(wǎng)絡(luò)層。這樣,網(wǎng)絡(luò)堆棧267可包括用于下列OSI模型的任何一層的任何類型和形式的協(xié)議:1)物理鏈路層;2)數(shù)據(jù)鏈路層;3)網(wǎng)絡(luò)層;4)傳輸層;5)會話層);6)表示層,以及7)應(yīng)用層。在一個實(shí)施例中,網(wǎng)絡(luò)堆棧267可包括在互聯(lián)網(wǎng)協(xié)議(IP)的網(wǎng)絡(luò)層協(xié)議上的傳輸控制協(xié)議(TCP),通常稱為TCP/IP。在一些實(shí)施例中,可在以太網(wǎng)協(xié)議上承載TCP/IP協(xié)議,所述以太網(wǎng)協(xié)議可包括IEEE廣域網(wǎng)(WAN)或局域網(wǎng)(LAN)協(xié)議的任何族,例如被IEEE802.3覆蓋的這些協(xié)議。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧267包括任何類型和形式的無線協(xié)議,例如IEEE802.11和/或移動互聯(lián)網(wǎng)協(xié)議。[0105]考慮到基于TCP/IP的網(wǎng)絡(luò),可使用任何基于TCP/IP的協(xié)議,包括消息應(yīng)用編程接口(MAPI)(email)、文件傳輸協(xié)議(FTP)、超文本傳輸協(xié)議(HTTP)、通用互聯(lián)網(wǎng)文件系統(tǒng)(CIFS)協(xié)議(文件傳輸)、獨(dú)立計算架構(gòu)(ICA)協(xié)議、遠(yuǎn)程桌面協(xié)議(RDP)、無線應(yīng)用協(xié)議(WAP)、移動IP協(xié)議,以及IP語音(VoIP)協(xié)議。在又一個實(shí)施例中,網(wǎng)絡(luò)堆棧267包括任何類型和形式的傳輸控制協(xié)議,諸如修改的傳輸控制協(xié)議,例如事務(wù)TCP(T/TCP),帶有選擇確認(rèn)的TCP(TCP-SACK),帶有大窗口的TCP(TCP-Lff),例如TCP-Vegas協(xié)議的擁塞預(yù)測協(xié)議,以及TCP欺騙協(xié)議。在其他實(shí)施例中,網(wǎng)絡(luò)堆棧267可使用諸如IP上UDP的任何類型和形式的用戶數(shù)據(jù)報協(xié)議(UDP),例如用于語音通信或?qū)崟r數(shù)據(jù)通信。[0106]另外,網(wǎng)絡(luò)堆棧267可包括支持一個或多個層的一個或多個網(wǎng)絡(luò)驅(qū)動器,例如TCP驅(qū)動器或網(wǎng)絡(luò)層驅(qū)動器。網(wǎng)絡(luò)層驅(qū)動器可作為計算裝置100的操作系統(tǒng)的一部分或者作為計算裝置100的任何網(wǎng)絡(luò)接口卡或其它網(wǎng)絡(luò)訪問組件的一部分被包括。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧267的任何網(wǎng)絡(luò)驅(qū)動器可被定制、修改或調(diào)整以提供支持此處描述的任何技術(shù)網(wǎng)絡(luò)堆棧267的定制或修改部分。[0107]在一個實(shí)施例中,設(shè)備200使用單個網(wǎng)絡(luò)堆棧267來提供或維持在客戶機(jī)102和服務(wù)器106之間的傳輸層連接。在一些實(shí)施例中,設(shè)備200通過改變、管理或控制在客戶機(jī)和服務(wù)器之間的傳輸控制協(xié)議連接的行為來有效地終止傳輸層連接。在這些實(shí)施例中,設(shè)備200可使用單個網(wǎng)絡(luò)堆棧267。在其他實(shí)施例中,設(shè)備200終止第一傳輸層連接,例如客戶機(jī)102的TCP連接,并建立客戶機(jī)102使用的或代表客戶機(jī)102的到服務(wù)器106的第二傳輸層連接,例如,終止在設(shè)備200和服務(wù)器106的第二傳輸層連接??赏ㄟ^單個網(wǎng)絡(luò)堆棧267建立第一和第二傳輸層連接。在其他實(shí)施例中,設(shè)備200可使用多個網(wǎng)絡(luò)堆棧,例如267A和267N。在這些實(shí)施例中,在第一網(wǎng)絡(luò)堆棧267A可建立或終止第一傳輸層連接,且在第二網(wǎng)絡(luò)堆棧267N可建立或者終止第二傳輸層連接。例如,一個網(wǎng)絡(luò)堆??捎糜谠诘谝痪W(wǎng)絡(luò)上接收和傳輸網(wǎng)絡(luò)分組,并且另一個網(wǎng)絡(luò)堆棧可用于在第二網(wǎng)絡(luò)上接收和傳輸網(wǎng)絡(luò)分組。[0108]如圖2A所示,網(wǎng)絡(luò)優(yōu)化引擎250包括一個或多個下列元件、組件或模塊:網(wǎng)絡(luò)分組處理引擎250、LAN/WAN檢測器210、流控制器220、Qos引擎236、協(xié)議加速器234、壓縮引擎238、高速緩存管理器232和策略引擎295’。網(wǎng)絡(luò)優(yōu)化引擎250或其任何部分可包括軟件、硬件或軟件和硬件的任何組合。而且網(wǎng)絡(luò)引擎250的、為其供應(yīng)的或由其使用的任何軟件可運(yùn)行在內(nèi)核空間或用戶空間。例如,在一個實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250可運(yùn)行在內(nèi)核空間。在又一個實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250可運(yùn)行在用戶空間。在又一個實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250的第一部分可運(yùn)行在內(nèi)核空間而網(wǎng)絡(luò)優(yōu)化引擎250的第二部分可運(yùn)行在用戶空間。[0109]網(wǎng)絡(luò)分鉬處理引擎[0110]網(wǎng)絡(luò)分組引擎240,通常也稱為分組處理引擎,或分組引擎,負(fù)責(zé)控制和管理對由設(shè)備200通過網(wǎng)絡(luò)端口266和網(wǎng)絡(luò)堆棧267接收和傳輸?shù)姆纸M的處理。網(wǎng)絡(luò)分組引擎240可操作在網(wǎng)絡(luò)堆棧267的任一層。在一個實(shí)施例中,網(wǎng)絡(luò)分組引擎240操作在網(wǎng)絡(luò)堆棧267的層2和層3。在一些實(shí)施例中,分組引擎240在網(wǎng)絡(luò)層(例如,TCP/IP實(shí)施例中的IP層)攔截或以其他方式接收分組。在又一個實(shí)施例中,分組引擎240操作在網(wǎng)絡(luò)堆棧267的層4。例如,在一些實(shí)施例中,分組引擎240在傳輸層攔截或以其他方式接收分組,例如在TCP/IP實(shí)施例中的TCP層攔截分組。在其他實(shí)施例中,分組引擎240操作在層4之上的任何會話或應(yīng)用層。例如,在一個實(shí)施例中,分組引擎240在傳輸層協(xié)議層之上攔截或以其他方式接收的網(wǎng)絡(luò)分組,例如在TCP實(shí)施例中的TCP分組的有效載荷。[0111]分組引擎240可包括用于在例如接收網(wǎng)絡(luò)分組或者傳輸網(wǎng)絡(luò)分組的處理期間排隊一個或多個網(wǎng)絡(luò)分組的緩沖器。另外,分組引擎240與一個或多個網(wǎng)絡(luò)堆棧267通信以通過網(wǎng)絡(luò)端口266發(fā)送和接收網(wǎng)絡(luò)分組。分組引擎240包括分組處理定時器。在一個實(shí)施例中,分組處理定時器提供一個或多個時間間隔以觸發(fā)輸入的(即,接收的)或輸出的(即,傳輸?shù)?網(wǎng)絡(luò)分組的處理。在一些實(shí)施例中,分組引擎240響應(yīng)于定時器來處理網(wǎng)絡(luò)分組。分組處理定時器向分組引擎240提供任何類型和形式的信號以通知、觸發(fā)或傳輸時間相關(guān)的事件、間隔或發(fā)生。在許多實(shí)施例中,分組處理定時器以毫秒級操作,例如100ms、50ms、25ms、10ms、5ms或Ims0[0112]在操作期間,分組引擎240可與諸如LAN/WAN檢測器210、流控制器220、Qos引擎236、協(xié)議加速器234、壓縮引擎238、高速緩存管理器232和/或策略引擎295’的網(wǎng)絡(luò)優(yōu)化引擎250的任一部分接口、集成或通信。因此,可響應(yīng)于分組處理定時器和/或分組引擎240來執(zhí)行LAN/WAN檢測器210、流控制器220、Qos引擎236、協(xié)議加速器234、壓縮引擎238、高速緩存管理器232和策略引擎295’的任何邏輯、功能或操作。在一些實(shí)施例中,在由分組處理定時器提供的時間間隔粒度(例如,少于或等于IOms的時間間隔),可執(zhí)行加密引擎234、高速緩存管理器232、策略引擎236以及多協(xié)議壓縮引擎238的任何邏輯、功能或操作。例如,在一個實(shí)施例中,高速緩存管理器232可響應(yīng)于集成分組引擎240和/或分組處理定時器242來執(zhí)行任何高速緩存的對象的終止。在又一個實(shí)施例中,高速緩存的對象的終止或無效時間被設(shè)定為與分組處理定時器的時間間隔相同的粒度級,例如每10ms。[0113]高速緩存管理器[0114]高速緩存管理器232可包括軟件、硬件或軟件和硬件的任何組合,以將數(shù)據(jù)、信息和對象存儲到在存儲器或存儲中的高速緩存、提供高速緩存訪問以及控制和管理高速緩存。由高速緩存管理器232處理和存儲的數(shù)據(jù)、對象或內(nèi)容可包括任何格式(例如標(biāo)記語言)的數(shù)據(jù),或者通過任何協(xié)議的通信的任何類型的數(shù)據(jù)。在一些實(shí)施例中,高速緩存管理器232復(fù)制存儲在其他地方的原始數(shù)據(jù)或先前計算、生成或傳輸?shù)臄?shù)據(jù),其中相對于讀高速緩存存儲器或存儲元件,需要更長的訪問時間以取得、計算或以其他方式得到原始數(shù)據(jù)。一旦數(shù)據(jù)被存儲在高速緩存中,通過訪問高速緩存的副本而不是重新獲得或重新計算原始數(shù)據(jù)即可進(jìn)行后續(xù)操作,因此而減少了訪問時間。在一些實(shí)施例中,高速緩存可以包括設(shè)備200的存儲器中的數(shù)據(jù)對象。在又一個實(shí)施例中,高速緩存可以包括設(shè)備200的任一類型和形式的存儲元件,諸如硬盤的一部分。在一些實(shí)施例中,裝置的處理單元可提供由高速緩存管理器232使用的高速緩存存儲器。在又一個實(shí)施例中,高速緩存管理器232可使用存儲器、存儲區(qū)或處理單元的任何部分和組合來高速緩存數(shù)據(jù)、對象或其它內(nèi)容。[0115]另外,高速緩存管理器232包括用于執(zhí)行設(shè)備200的任何高速緩存技術(shù)的任何邏輯、功能、規(guī)則或操作。在一些實(shí)施例中,高速緩存管理器232可作為應(yīng)用、庫、程序、服務(wù)、進(jìn)程、線程或任務(wù)而操作。在一些實(shí)施例中,高速緩存管理器232可包括任何類型的通用處理器(GPP),或者任何其他類型的集成電路,例如現(xiàn)場可編程門陣列(FPGA),可編程邏輯設(shè)備(PLD),或者專用集成電路(ASIC)。[0116]策略引擎[0117]策略引擎295’包括用于提供和應(yīng)用一個或多個策略或規(guī)則到設(shè)備200的任一部分的功能、操作或配置的任何邏輯、功能或操作。策略引擎295’可包括例如智能統(tǒng)計引擎或其它可編程應(yīng)用。在一個實(shí)施例中,策略引擎295’提供配置機(jī)制以允許用戶識別、指定、定義或配置用于網(wǎng)絡(luò)優(yōu)化引擎250或其任何部分的策略。例如,策略引擎295’可提供用于緩存哪些數(shù)據(jù)、何時緩存該數(shù)據(jù)、為誰緩存該數(shù)據(jù)、何時終止高速緩存中的對象或刷新高速緩存的策略。在其他實(shí)施例中,除了對安全、網(wǎng)絡(luò)流量、網(wǎng)絡(luò)訪問、壓縮或由設(shè)備200執(zhí)行的任何其它功能或操作的訪問、控制和管理之外,策略引擎236可包括任何邏輯、規(guī)則、功能或操作以確定和提供對設(shè)備200所高速緩存的對象、數(shù)據(jù)、或內(nèi)容的訪問、控制和管理。[0118]在一些實(shí)施例中,策略引擎295’可基于下列的任何一個或多個來提供和應(yīng)用一個或多個策略:用戶、客戶機(jī)的標(biāo)識、服務(wù)器的標(biāo)識、連接的類型、連接的時間、網(wǎng)絡(luò)的類型或網(wǎng)絡(luò)流量的內(nèi)容。在一個實(shí)施例中,策略引擎295’基于網(wǎng)絡(luò)分組的任何協(xié)議層的字段或首部來提供和應(yīng)用策略。在又一個實(shí)施例中,策略引擎295’基于網(wǎng)絡(luò)分組的任一有效載荷來提供和應(yīng)用策略。例如,在一個實(shí)施例中,策略弓I擎295’基于對被承載為傳輸層分組的有效載荷的應(yīng)用層協(xié)議內(nèi)容的特定部分的識別來應(yīng)用策略。在又一個實(shí)施例中,策略引擎295’基于由客戶機(jī)、服務(wù)器或用戶證書識別的任何信息來應(yīng)用策略。在又一個實(shí)施例中,策略引擎295’基于例如通過任何類型和形式的端點(diǎn)檢測(參見下面所描述的客戶機(jī)代理的收集代理示例)所獲得的關(guān)于客戶機(jī)102的任何屬性或特征來應(yīng)用策略。[0119]在一個實(shí)施例中,策略引擎295’和應(yīng)用傳送系統(tǒng)290的策略引擎295聯(lián)合或協(xié)同工作。在一些實(shí)施例中,策略引擎295’是應(yīng)用傳送系統(tǒng)290的策略引擎295的一個分布式的部分。在又一個實(shí)施例中,應(yīng)用傳送系統(tǒng)290的策略引擎295被部署于或執(zhí)行在設(shè)備200上。在一些實(shí)施例中,策略引擎295、295’都操作在設(shè)備200上。在又一個實(shí)施例中,設(shè)備200的策略引擎295’或其一部分操作在服務(wù)器106上。[0120]多協(xié)議和多層壓縮引擎[0121]壓縮引擎238包括用于壓縮一個或多個協(xié)議的網(wǎng)絡(luò)分組(例如由設(shè)備200的網(wǎng)絡(luò)堆棧267使用的任何協(xié)議)的任何邏輯、商業(yè)規(guī)則、功能或操作。壓縮引擎238也可被稱為多協(xié)議壓縮引擎238,這是由于其可以被設(shè)計、構(gòu)建為或能夠壓縮多個協(xié)議。在一個實(shí)施例中,壓縮引擎238使用對上下文不敏感的壓縮,其可在不了解數(shù)據(jù)類型的情況下對數(shù)據(jù)進(jìn)行壓縮。在又一個實(shí)施例中,壓縮引擎238使用對上下文敏感的壓縮。在該實(shí)施例中,壓縮引擎238利用數(shù)據(jù)類型的知識來從一系列合適的算法中選擇特定的壓縮算法。在一些實(shí)施例中,使用特定協(xié)議的知識來執(zhí)行上下文敏感的壓縮。在一個實(shí)施例中,設(shè)備200或壓縮引擎238可使用端口號(例如,公知端口),以及來自連接本身的數(shù)據(jù)來確定要使用的合適的壓縮算法。一些協(xié)議僅使用一種類型的數(shù)據(jù),僅要求當(dāng)連接建立時可被選擇的單個壓縮算法。其他協(xié)議在不同的時間包含不同類型的數(shù)據(jù)。例如,POP、MSP、SMTP和HTTP都移動夾雜其他協(xié)議數(shù)據(jù)的任意類型的文件。[0122]在一個實(shí)施例中,壓縮引擎238使用增量型壓縮算法。在又一個實(shí)施例中,壓縮引擎238使用首地點(diǎn)壓縮以及搜索在高速緩存、存儲器或盤中存儲的數(shù)據(jù)間的重復(fù)模式。在一些實(shí)施例中,壓縮引擎238使用無損壓縮算法。在其他實(shí)施例中,壓縮引擎238使用有損壓縮算法。在一些情況下,數(shù)據(jù)類型的知識和有時來自用戶的許可被要求使用有損壓縮算法。壓縮不限于協(xié)議的有效載荷。協(xié)議本身的控制字段也可以被壓縮。在一些實(shí)施例中,壓縮引擎238使用與用于有效載荷的算法不同的算法。[0123]在一些實(shí)施例中,壓縮引擎238在網(wǎng)絡(luò)堆棧267的一個或多個層進(jìn)行壓縮。在一個實(shí)施例中,壓縮引擎238在傳輸層協(xié)議處進(jìn)行壓縮。在又一個實(shí)施例中,壓縮引擎238在應(yīng)用層協(xié)議處進(jìn)行壓縮。在一些實(shí)施例中,壓縮引擎238在層2-4協(xié)議處進(jìn)行壓縮。在其他實(shí)施例中,壓縮引擎238在層5-7協(xié)議處進(jìn)行壓縮。在又一個實(shí)施例中,壓縮引擎238壓縮傳輸層協(xié)議和應(yīng)用層協(xié)議。在一些實(shí)施例中,壓縮引擎238壓縮層2-4協(xié)議和層5-7協(xié)議。[0124]在一些實(shí)施例中,壓縮引擎238使用基于存儲器的壓縮、基于高速緩存的壓縮或基于盤的壓縮或上述的任一組合。這樣,壓縮引擎238也可以被稱為多層壓縮引擎。在一個實(shí)施例中,壓縮引擎238使用在存儲器(例如RAM)中存儲的數(shù)據(jù)歷史。在又一個實(shí)施例中,壓縮引擎238使用在高速緩存(例如處理器的L2高速緩存)中存儲的數(shù)據(jù)歷史。在其他實(shí)施例中,壓縮引擎238使用存儲到盤或存儲單元的數(shù)據(jù)歷史。在一些實(shí)施例中,壓縮引擎238使用基于高速緩存的、基于存儲器的和基于盤的數(shù)據(jù)歷史的分層結(jié)構(gòu)。壓縮引擎238可首先使用基于高速緩存的數(shù)據(jù)來確定用于壓縮的一個或多個數(shù)據(jù)匹配,然后可檢查基于存儲器的數(shù)據(jù)以確定用于壓縮的一個或多個數(shù)據(jù)匹配。在另一種情況下,壓縮引擎238可在檢查基于高速緩存的和/或基于存儲器的數(shù)據(jù)歷史之后檢查盤存儲來找出用于壓縮的數(shù)據(jù)匹配。[0125]在一個實(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)(CIFS)協(xié)議(文件傳輸)、獨(dú)立計算架構(gòu)(ICA)協(xié)議、遠(yuǎn)程桌面協(xié)議(RDP)、無線應(yīng)用協(xié)議(WAP)、移動IP協(xié)議以及IP上語音(VoIP)協(xié)議。在其它實(shí)施例中,多協(xié)議壓縮引擎238提供基于超文本標(biāo)記語言(HTML)的協(xié)議的壓縮,并且在一些實(shí)施例中,提供任何標(biāo)記語言的壓縮,例如可擴(kuò)展標(biāo)記語言(XML)。在一個實(shí)施例中,多協(xié)議壓縮引擎238提供任何高性能協(xié)議的壓縮,例如設(shè)計用于設(shè)備200到設(shè)備200通信的任何協(xié)議。在又一個實(shí)施例中,多協(xié)議壓縮引擎238使用修改的傳輸控制協(xié)議來壓縮任何通信的任何載荷或任何通信,例如事務(wù)TCP(T/TCP)、帶有選擇確認(rèn)的TCP(TCP-SACK)、帶有大窗口的TCP(TCP-Lff)、諸如TCP-Vegas協(xié)議的擁塞預(yù)報協(xié)議以及TCP欺騙協(xié)議(TCPspoofingprotocol)。[0126]同樣的,多協(xié)議壓縮引擎238為用戶加速經(jīng)由桌面客戶機(jī)以及甚至移動客戶機(jī)訪問應(yīng)用的性能。所述桌面客戶機(jī)例如MicosoftOutlook和非web瘦客戶機(jī),例如由像Oracle、SAP和Siebel的通用企業(yè)應(yīng)用所啟動的任何客戶機(jī),所述移動客戶機(jī)例如掌上電腦。在一些實(shí)施例中,通過與訪問網(wǎng)絡(luò)堆棧267的分組處理引擎240集成,多協(xié)議壓縮引擎能夠壓縮由傳輸層協(xié)議攜帶的任何協(xié)議,例如任何應(yīng)用層協(xié)議。[0127]LAN/ffAN檢測器[0128]LAN/WAN檢測器238包括用于自動檢測慢速側(cè)連接(例如,諸如內(nèi)部網(wǎng)的廣域網(wǎng)(WAN)連接)和關(guān)聯(lián)端口267,以及快速側(cè)連接(例如,局域網(wǎng)(LAN)連接)和關(guān)聯(lián)端口267的任何邏輯、商業(yè)規(guī)則、功能或操作。在一些實(shí)施例中,LAN/WAN檢測器238監(jiān)控設(shè)備200的網(wǎng)絡(luò)端口267上的網(wǎng)絡(luò)流量以便檢測同步分組(有時被稱為“加標(biāo)記的”網(wǎng)絡(luò)分組)。同步分組識別網(wǎng)絡(luò)流量的類型或速度。在一個實(shí)施例中,同步分組識別WAN的速度或WAN類型的連接。LAN/WAN檢測器238也識別對加標(biāo)記的同步分組的確認(rèn)分組的接收以及其在哪個端口上被接收。接著,設(shè)備200將自身配置為操作所識別的、加標(biāo)記的同步分組到達(dá)的端口以使得該端口上的速度被設(shè)置為與連接到該端口的網(wǎng)絡(luò)相關(guān)聯(lián)的速度。那么,另一個端口被設(shè)置為與連接到該端口的網(wǎng)絡(luò)相關(guān)聯(lián)的速度。[0129]為了本文討論的方便,“快速”側(cè)可參考關(guān)于與廣域網(wǎng)(WAN)(例如,互聯(lián)網(wǎng))的連接,并且以該WAN的網(wǎng)絡(luò)速度操作。類似地,“慢速”側(cè)可參考關(guān)于與局域網(wǎng)(LAN)的連接并且以LAN的網(wǎng)絡(luò)速度操作。然而,應(yīng)指出網(wǎng)絡(luò)的“快速”和“慢速”側(cè)可以在每連接的基礎(chǔ)上改變并且是對于網(wǎng)絡(luò)連接的速度或者網(wǎng)絡(luò)拓?fù)漕愋偷南嚓P(guān)術(shù)語。這樣的配置可以用在復(fù)雜的網(wǎng)絡(luò)拓?fù)渲?,其中網(wǎng)絡(luò)僅在與相鄰網(wǎng)絡(luò)比較時是“快速”或“慢速”,而不是絕對的“快速”或“慢速”。[0130]在一個實(shí)施例中,LAN/WAN檢測器238可用于使設(shè)備200自動發(fā)現(xiàn)其所連接的網(wǎng)絡(luò)。在又一個實(shí)施例中,LAN/WAN檢測器238可用于檢測在網(wǎng)絡(luò)104中部署的第二設(shè)備200’的存在或在場。例如,根據(jù)圖1A的操作中的自動發(fā)現(xiàn)機(jī)制起到以下作用:將設(shè)備200和200’置于與鏈接客戶機(jī)102和服務(wù)器106的連接在一條線上。設(shè)備200和200’處于連接兩個LAN的低速鏈路(例如,互聯(lián)網(wǎng))的端點(diǎn)處。在一個示例實(shí)施例中,設(shè)備200和200’各自包括兩個端口,一個端口與“較低”速度的鏈路連接而另一個端口與“較高”速度的鏈路(例如,LAN)連接。到達(dá)一個端口的任一分組被復(fù)制到另一個端口。因此,設(shè)備200和200’各自被配置為充當(dāng)兩個網(wǎng)絡(luò)104之間的橋。[0131]當(dāng)諸如客戶機(jī)102的端節(jié)點(diǎn)打開與諸如服務(wù)器106的另一個端節(jié)點(diǎn)的新的TCP連接時,客戶機(jī)102向服務(wù)器106發(fā)送具有同步(SYN)首部位組的TCP分組或SYN分組。在本例中,客戶機(jī)102打開到服務(wù)器106的傳輸層連接。當(dāng)SYN分組穿過設(shè)備200時,設(shè)備200給該分組插入、附加或以其他方式提供特有的TCP首部選項,以宣告其存在。如果該分組穿過第二設(shè)備(在該示例中設(shè)備200’),第二設(shè)備記錄該SYN分組中的首部選項。服務(wù)器106用同步確認(rèn)(SYN-ACK)分組來響應(yīng)該SYN分組。當(dāng)SYN-ACK分組穿過設(shè)備200’時,TCP首部選項被標(biāo)記(例如,附加、插入或添加)到該SYN-ACK分組以便向設(shè)備200宣告設(shè)備200’的存在。當(dāng)設(shè)備200收到該分組時,設(shè)備200,200’此時互相察覺并且該連接可以被適當(dāng)?shù)丶铀?。[0132]關(guān)于LAN/WAN檢測器238的操作,描述了使用SYN分組來檢測網(wǎng)絡(luò)的“快速”側(cè)和“慢速”側(cè)的方法或過程。在客戶機(jī)102和服務(wù)器106之間建立傳輸層連接的期間,設(shè)備200通過LAN/WAN檢測器238確定SYN分組是否被加了確認(rèn)(ACK)標(biāo)記。如果其被加了標(biāo)記,設(shè)備200將接收加標(biāo)記的SYN分組(SYN-ACK)的端口標(biāo)識或配置為“慢速”側(cè)。在一個實(shí)施例中,設(shè)備200可選擇在將該分組復(fù)制到另一個端口之前ACK標(biāo)記從該分組刪除。如果LAN/WAN檢測器238確定該分組未加標(biāo)記,那么設(shè)備200將接收未加標(biāo)記的分組的端口標(biāo)識或配置為“快速”側(cè)。設(shè)備200接著給該SYN分組加上ACK標(biāo)記并將該分組復(fù)制到另一個端口。[0133]在又一個實(shí)施例中,LAN/WAN檢測器238使用SYN-ACK分組來檢測網(wǎng)絡(luò)的快速側(cè)和慢速側(cè)。設(shè)備200通過LAN/WAN檢測器238確定SYN-ACK分組是否被加了確認(rèn)(ACK)標(biāo)記。如果其被加了標(biāo)記,設(shè)備200將接收加標(biāo)記的SYN分組(SYN-ACK)的端口標(biāo)識或配置為“慢速”側(cè)。在一個實(shí)施例中,設(shè)備200可選擇在將該分組復(fù)制到另一個端口之前從該分組刪除ACK標(biāo)記。如果LAN/WAN檢測器238確定該分組未加標(biāo)記,那么設(shè)備200將接收未加標(biāo)記的分組的端口標(biāo)識或配置為“快速”側(cè)。LAN/WAN檢測器238確定SYN分組是否被加了標(biāo)記。如果該SYN分組沒有被加標(biāo)記,那么設(shè)備200將該分組復(fù)制到另一個端口。如果該SYN分組被加了標(biāo)記,那么該設(shè)備在將該分組拷貝到另一個端口之前給SYN-ACK分組加T己O[0134]設(shè)備200、200’可以添加、插入、修改、附加或以其他方式提供TCP選項首部中的任何信息或數(shù)據(jù),以提供關(guān)于網(wǎng)絡(luò)連接、網(wǎng)絡(luò)流量或者設(shè)備200的配置或操作的任何信息、數(shù)據(jù)或特征。在這種方式中,設(shè)備200不僅向另一個設(shè)備200’宣告其存在或者標(biāo)記較高或較低速度的連接,該設(shè)備200還通過TCP選項首部提供關(guān)于該設(shè)備或該連接的其他信息和數(shù)據(jù)。TCP選項首部信息可能是對設(shè)備有用的或由設(shè)備用于控制、管理、優(yōu)化、加速或改善經(jīng)過設(shè)備200的網(wǎng)絡(luò)流量,或者以其他方式配置其自身或網(wǎng)絡(luò)端口的操作。[0135]盡管通常LAN/WAN檢測器238被結(jié)合檢測網(wǎng)絡(luò)連接的速度或設(shè)備的存在來描述,但LAN/WAN檢測器238可被用于將設(shè)備200的任何類型的功能、邏輯或操作應(yīng)用到網(wǎng)絡(luò)流量的端口、連接或流。更具體地,每當(dāng)設(shè)備在不同的端口執(zhí)行不同的功能時都可以自動分配端口,其中給任務(wù)分配端口可以在該單元操作期間,和/或每個端口的網(wǎng)絡(luò)段的性質(zhì)可被設(shè)備200發(fā)現(xiàn)。[0136]流控制[0137]流控制器220包括用于優(yōu)化、加速或以其他方式改善網(wǎng)絡(luò)分組的傳輸層通信的性能、操作或服務(wù)質(zhì)量或者在傳輸層的分組的發(fā)送的任何邏輯、商業(yè)規(guī)則、功能或操作。流控制器(有時也被稱為流控制模塊)調(diào)節(jié)、管理和控制數(shù)據(jù)傳輸速率。在一些實(shí)施例中,流控制器220被部署在或連接在網(wǎng)絡(luò)104中的帶寬瓶頸處。在一個實(shí)施例中,流控制器220有效地調(diào)節(jié)、管理和控制帶寬的使用或利用。在其他實(shí)施例中,流控制模塊也可以被部署在延遲轉(zhuǎn)換(從低延遲到高延遲)的網(wǎng)絡(luò)上的位置和具有介質(zhì)損失的鏈路(例如無線或衛(wèi)星鏈路)上的位置。[0138]在一些實(shí)施例中,流控制器220可包括用于控制網(wǎng)絡(luò)傳輸?shù)慕邮账俾实慕邮掌鱾?cè)流控制模塊和用于控制網(wǎng)絡(luò)分組的傳輸速率的發(fā)送器側(cè)流控制模塊。在其他實(shí)施例中,第一流控制器220包括接收器側(cè)流控制模塊并且第二流控制器220’包括發(fā)送器側(cè)流控制模塊。在一些實(shí)施例中,第一流控制器220被部署在第一設(shè)備200上并且第二流控制器220’被部署在第二設(shè)備200’上。同樣,在一些實(shí)施例中,第一設(shè)備200控制接收器側(cè)上的數(shù)據(jù)流而第二設(shè)備200’控制來自發(fā)送器側(cè)的數(shù)據(jù)流。在又一個實(shí)施例中,單個設(shè)備200包括用于經(jīng)過設(shè)備200的網(wǎng)絡(luò)通信的接收器側(cè)和發(fā)送器側(cè)的流控制。[0139]在一個實(shí)施例中,配置流控制模塊220以使瓶頸處的帶寬被更充分地利用,以及在一些實(shí)施例中,配置流控制模塊220以使瓶頸處的帶寬不被過度利用。在一些實(shí)施例中,流控制模塊220透明地緩沖(或者重新緩沖例如發(fā)送器已經(jīng)緩沖的數(shù)據(jù))經(jīng)過具有相關(guān)聯(lián)的流控制模塊220的節(jié)點(diǎn)間的網(wǎng)絡(luò)會話。當(dāng)會話經(jīng)過兩個或多個流控制模塊220時,一個或多個流控制模塊控制會話的速率。[0140]在一個實(shí)施例中,用有關(guān)瓶頸帶寬的預(yù)定數(shù)據(jù)來配置流控制模塊200。在又一個實(shí)施例中,流控制模塊220可被配置為檢測瓶頸帶寬或與其關(guān)聯(lián)的數(shù)據(jù)。與諸如TCP的傳統(tǒng)網(wǎng)絡(luò)協(xié)議不同,接收器側(cè)流控制模塊220控制數(shù)據(jù)傳輸速率。接收器側(cè)流控制模塊220通過將傳輸速率限制轉(zhuǎn)發(fā)到發(fā)送器側(cè)流控制模塊220來控制發(fā)送器側(cè)流控制模塊(例如,220)的數(shù)據(jù)傳輸速率。在一個實(shí)施例中,接收器側(cè)流控制模塊220在由接收器(例如服務(wù)器106)向發(fā)送器(例如客戶機(jī)102)發(fā)送的確認(rèn)(ACK)分組(或信號)上捎帶這些傳輸速率限制。接收器側(cè)流控制模塊220響應(yīng)于由發(fā)送器側(cè)流控制模塊220’發(fā)送的速率控制請求來執(zhí)行這一工作??梢栽谟砂l(fā)送器106發(fā)送的數(shù)據(jù)分組上捎帶來自發(fā)送器側(cè)流控制模塊220’的請求。[0141]在一些實(shí)施例中,流控制器220操縱、調(diào)整、模擬、改變、改進(jìn)或以其他方式修改傳輸層協(xié)議的行為以便提供傳輸層的傳送、數(shù)據(jù)速率和/或帶寬利用的改善的性能或操作。流控制器220可在傳輸層實(shí)現(xiàn)多個數(shù)據(jù)流控制技術(shù),包括但不限于I)預(yù)確認(rèn),2)窗口虛擬化,3)重新?lián)砣夹g(shù),3)本地重傳技術(shù),4)波前檢測和消除二義性,5)傳輸控制協(xié)議選擇性確認(rèn),6)事務(wù)邊界檢測技術(shù)和7)重新分組。[0142]盡管此處通常將發(fā)送器描述為客戶機(jī)102,將接收器描述為服務(wù)器106,但發(fā)送器可以是諸如網(wǎng)絡(luò)104上任一計算裝置100或者服務(wù)器106的任一端點(diǎn)。同樣地,接收器可以是客戶機(jī)102或者網(wǎng)絡(luò)104上的任何其他計算裝置。[0143]預(yù)確認(rèn)[0144]概括來講預(yù)確認(rèn)流控制技術(shù),在一些實(shí)施例中,流控制器220處理確認(rèn)并為發(fā)送器重傳確認(rèn),有效地終止發(fā)送器與網(wǎng)絡(luò)連接的下游部分的連接。參考圖1B,描述用來實(shí)現(xiàn)該特征的,設(shè)備200在網(wǎng)絡(luò)架構(gòu)中的一個可能的部署。在該示例實(shí)施例中,發(fā)送計算機(jī)或者客戶機(jī)102在網(wǎng)絡(luò)104上例如經(jīng)由交換機(jī)傳輸數(shù)據(jù),其確定該數(shù)據(jù)發(fā)往VPN設(shè)備205。由于所選擇的網(wǎng)絡(luò)拓?fù)洌l(fā)往VPN設(shè)備205的所有數(shù)據(jù)穿過設(shè)備200,使得設(shè)備200可以將任一必要的算法應(yīng)用到該數(shù)據(jù)。[0145]進(jìn)一步在該示例中,客戶機(jī)102傳輸由設(shè)備200接收的分組。當(dāng)設(shè)備200接收從客戶機(jī)102向接收者傳輸?shù)慕?jīng)過VPN設(shè)備205的分組時,設(shè)備200保留分組的副本并且將該分組向下游轉(zhuǎn)發(fā)到VPN設(shè)備205。設(shè)備200接著生成確認(rèn)分組(ACK)并且將ACK分組發(fā)送回客戶機(jī)102或者發(fā)送端點(diǎn)。該ACK(即預(yù)確認(rèn))使發(fā)送器102相信分組已經(jīng)被成功傳輸、釋放發(fā)送器的資源用于后續(xù)的處理。在要求重傳分組的事件中,設(shè)備200保留該分組的副本,使得發(fā)送器102不必處理數(shù)據(jù)的重傳。提前生成確認(rèn)可以被稱為“提前確認(rèn)(preack)”。[0146]如果要求重傳分組,設(shè)備200將分組重傳到發(fā)送器。設(shè)備200可以確定當(dāng)發(fā)送器處于傳統(tǒng)系統(tǒng)中時是否需要重傳,例如,在預(yù)定時間段之后對于該分組如果沒有接收到確認(rèn)則確定分組丟失。為此,設(shè)備200監(jiān)控由例如服務(wù)器106(或者任何其他下游網(wǎng)絡(luò)實(shí)體)的接收端點(diǎn)生成的確認(rèn),以便其可以確定是否已經(jīng)成功傳送分組或者需要重傳分組。如果設(shè)備200確定分組已經(jīng)被成功傳送,則設(shè)備200能夠自由地丟棄所保存的分組數(shù)據(jù)。設(shè)備200還可以禁止轉(zhuǎn)發(fā)對已經(jīng)由發(fā)送端點(diǎn)接收的分組的確認(rèn)。[0147]在上述實(shí)施例中,設(shè)備200經(jīng)由流控制器220通過預(yù)確認(rèn)(也稱為“提取確認(rèn)”)的傳送來控制發(fā)送器102,如同設(shè)備200是接收端點(diǎn)本身一樣。由于設(shè)備200不是端點(diǎn)并且實(shí)際上不消耗數(shù)據(jù),所以設(shè)備200包括用于給發(fā)送端點(diǎn)提供溢出控制的機(jī)制。如果沒有溢出機(jī)制,設(shè)備200將耗盡存儲器,因為設(shè)備200存儲已經(jīng)向發(fā)送端點(diǎn)提取確認(rèn)的但還沒有被確認(rèn)為由接收端點(diǎn)接收的分組。因此,在發(fā)送器102傳輸分組到設(shè)備200快于設(shè)備200向下游轉(zhuǎn)發(fā)分組的情況下,設(shè)備200中可用于存儲未被確認(rèn)的分組數(shù)據(jù)的存儲器將迅速填滿。用于溢出控制的機(jī)制允許設(shè)備200控制來自發(fā)送器的分組的傳輸以避免該問題。[0148]在一個實(shí)施例中,設(shè)備200或者流控制器220包括固有的“自同步(self-clocking)”溢出控制機(jī)制。該自同步歸因于這樣的順序,其中設(shè)備200可以被設(shè)計為向下游傳輸分組并向發(fā)送器102或者106發(fā)送ACK。在一些實(shí)施例中,設(shè)備200直到其向下游傳輸分組后為才提前確認(rèn)分組。以此方式,發(fā)送器102將以設(shè)備200能夠傳輸分組的速率而不是以設(shè)備200從發(fā)送器100接收分組的速率來接收ACK。這有助于調(diào)節(jié)來自發(fā)送器102的分組的傳輸。[0149]窗口虛擬化[0150]設(shè)備200可以實(shí)現(xiàn)的另一個溢出控制機(jī)制是使用TCP窗口大小參數(shù),其告知發(fā)送器接收器允許該發(fā)送器填滿多少緩沖區(qū)。預(yù)確認(rèn)中的非零窗口大小(例如至少一個最大段大小(MSS)的大小)允許發(fā)送端點(diǎn)繼續(xù)向設(shè)備傳輸數(shù)據(jù),而零窗口大小禁止進(jìn)一步的數(shù)據(jù)傳輸。相應(yīng)地,設(shè)備200可以例如當(dāng)設(shè)備200的緩沖區(qū)變滿時通過適當(dāng)?shù)卦O(shè)置每一預(yù)確認(rèn)中的TCP窗口大小來調(diào)節(jié)來自發(fā)送器的分組的流量。[0151]另一項用來降低該附加開銷的技術(shù)是應(yīng)用滯后作用(hysteresis)。當(dāng)設(shè)備200將數(shù)據(jù)傳送到較慢側(cè)時,設(shè)備299中的溢出控制機(jī)制可以在向發(fā)送器發(fā)送非零窗口通告之前要求可用的最小數(shù)量的空間。在一個實(shí)施例中,設(shè)備200在發(fā)送非零窗口分組(例如,四個分組的窗口大小)之前進(jìn)行等待直到存在最小的預(yù)定數(shù)量的分組(諸如四個分組)的可用空間為止。由于對于四個數(shù)據(jù)分組的每個組僅發(fā)送兩個ACK分組,而不是對于四個數(shù)據(jù)分組要發(fā)送八個ACK分組,因此這將開銷降低到大約原來的四分之一。[0152]設(shè)備200或流控制器220可用于溢出控制的另一技術(shù)是TCP延遲ACK機(jī)制,其跳過ACK來降低網(wǎng)絡(luò)流量。TCP延遲ACK自動延遲ACK的發(fā)送,直到接收到兩個分組或直到發(fā)生固定的超時為止。該機(jī)制單獨(dú)導(dǎo)致開銷減半,而且,通過將分組的數(shù)量增加到兩個以上,降低了附加的開銷。但是僅延遲ACK本身不足以控制溢出,并且設(shè)備200還可以使用在ACK上的通告窗口機(jī)制來控制發(fā)送器。當(dāng)這樣做時,在一個實(shí)施例中,設(shè)備200通過延遲ACK很長時間來避免觸發(fā)發(fā)送器的超時機(jī)制。[0153]在一個實(shí)施例中,流控制器220不對一組分組的最后一個分組進(jìn)行提取確認(rèn)。通過不提取確認(rèn)最后一個分組或者該組中分組的至少一個,設(shè)備避免對一組分組的錯誤確認(rèn)。例如,如果設(shè)備將發(fā)送對最后一個分組的預(yù)確認(rèn)而該分組隨后丟失,那么發(fā)送器在分組沒有被傳送時已經(jīng)欺騙認(rèn)為其被傳送??紤]到分組已被傳送,發(fā)送器將丟棄該數(shù)據(jù)。如果設(shè)備也丟失該分組,那么不能將該分組重傳到接收者。通過不對一組分組的最后一個分組進(jìn)行提前確認(rèn),發(fā)送器直到該分組被傳送時才將其丟棄。[0154]在又一個實(shí)施例中,流控制器220可以使用窗口虛擬化技術(shù)來控制網(wǎng)絡(luò)連接的帶寬利用或者流速。雖然根據(jù)檢查諸如RFC1323的傳統(tǒng)文獻(xiàn)其可能不是直接明顯的,但是用于諸如TCP的傳輸層協(xié)議的發(fā)送窗口是有效的。由于發(fā)送窗口消耗緩沖區(qū)空間(盡管在發(fā)送器上),所以發(fā)送窗口類似于接收窗口。發(fā)送器的發(fā)送窗口包括還沒有被接收器確認(rèn)的、由應(yīng)用發(fā)送的所有數(shù)據(jù)。在要求重傳的情況下,必須在存儲器中保留該數(shù)據(jù)。由于存儲器是共享資源,所以一些TCP堆棧的實(shí)現(xiàn)限制了該數(shù)據(jù)的大小。當(dāng)發(fā)送窗口滿時,應(yīng)用程序嘗試發(fā)送更多的數(shù)據(jù)導(dǎo)致阻塞應(yīng)用程序直到空間可用為止。隨后接收的確認(rèn)將釋放發(fā)送窗口存儲器并且不再阻塞應(yīng)用程序。在一些實(shí)施例中,該窗口大小就是一些TCP實(shí)現(xiàn)中的套接字緩沖區(qū)大小。[0155]在一個實(shí)施例中,流控制模塊220被配置為提供對增加的窗口(或緩沖區(qū))大小的訪問。該配置還可以被稱為窗口虛擬化。在作為傳輸層協(xié)議的TCP的實(shí)施例中,TCP首部可以包括對應(yīng)窗口比例(windowscale)的位串。在一個實(shí)施例中,“窗口”可以在發(fā)送、接收或二者的上下文中提及。[0156]窗口虛擬化的一個實(shí)施例是將預(yù)確認(rèn)設(shè)備200插入到TCP會話中。參考圖1A和IB的任何一個環(huán)境,建立例如客戶機(jī)102(為討論方便,現(xiàn)稱為源節(jié)點(diǎn)102)的源節(jié)點(diǎn)與例如服務(wù)器106(為討論方便,現(xiàn)稱之為目標(biāo)節(jié)點(diǎn)106)的目標(biāo)節(jié)點(diǎn)之間數(shù)據(jù)通信會話的初始化。對于TCP通信,源節(jié)點(diǎn)102最初將同步信號(“SYN”)通過其局域網(wǎng)104傳輸?shù)降谝涣骺刂颇K220。第一流控制模塊220將配置標(biāo)識符插入到TCP首部選項區(qū)域中。該配置標(biāo)識符將數(shù)據(jù)路徑中的該點(diǎn)識別為流控制模塊。[0157]盡管具有例如16k字節(jié)的小緩沖區(qū)大小的端節(jié)點(diǎn),但設(shè)備200經(jīng)由流控制模塊220提供窗口(或緩沖區(qū))來允許提高會話內(nèi)的數(shù)據(jù)緩沖能力。然而,RFC1323要求對大于64k字節(jié)的任何緩沖區(qū)大小進(jìn)行窗口縮放(windowscaling),其必須在會話初始化(SYN、SYN-ACK信號)時設(shè)置。此外,窗口縮放對應(yīng)于數(shù)據(jù)路徑中的最小公分母,經(jīng)常是具有小的緩沖區(qū)大小的端節(jié)點(diǎn)。該窗口比例通常是O或I的比例,其對應(yīng)于高達(dá)64k或者128k字節(jié)的緩沖區(qū)大小。注意到,由于窗口大小被限定為每一分組中的、隨窗口比例改變的窗口字段,窗口比例建立緩沖區(qū)的上限,但并不保證該緩沖區(qū)實(shí)際上就那么大。每個分組在窗口字段中指示接收器處當(dāng)前可用的緩沖區(qū)空間。[0158]在使用窗口虛擬化技術(shù)進(jìn)行縮放的一個實(shí)施例中,在連接建立(即,會話初始化)期間,當(dāng)?shù)谝涣骺刂颇K220從源節(jié)點(diǎn)102接收SYN信號(或者分組)時,流控制模塊220源節(jié)點(diǎn)102(其是之前的節(jié)點(diǎn))的窗口比例或者如果之前的節(jié)點(diǎn)的比例丟失則為窗口比例存儲O。第一流控制模塊220還在SYN-FCM信號中修改該比例,例如將該比例從O或者I增加到4。當(dāng)?shù)诙骺刂颇K220接收SYN信號時,其存儲來自第一流控制信號的增加的比例并且將該SYN信號中的比例重置為源節(jié)點(diǎn)103的比例值以用于到目標(biāo)節(jié)點(diǎn)106的傳輸。當(dāng)?shù)诙骺刂破?20接收到來自目標(biāo)節(jié)點(diǎn)106的SYN-ACK信號時,其存儲來自目標(biāo)節(jié)點(diǎn)106的比例(例如,O或I)的比例并且將其修改為與SYN-ACK-FCM信號一起發(fā)送的增加的比例。第一流控制節(jié)點(diǎn)220接收并且記錄所接收的窗口比例并且將被發(fā)回源節(jié)點(diǎn)102的窗口比例修訂為降回到初始比例(例如O或者I)。基于上面在連接建立期間的窗口變換對話,會話的每個后續(xù)分組(例如TCP分組)的中的窗口字段必須隨窗口變換對話而改變。[0159]如上所述,窗口比例表示出大于64k的緩沖區(qū)大小,并且可以不需要窗口虛擬化。因此,窗口比例的變換可以用于表示在每個流控制模塊220中的增加的緩沖區(qū)容量。該緩沖區(qū)容量的增加可作為窗口(或緩沖區(qū))虛擬化而被提及。該緩沖區(qū)大小的增加允許更大的分組從各自的端節(jié)點(diǎn)102和106進(jìn)出。注意到,TCP中的緩沖區(qū)大小典型地以字節(jié)表示,但是為了討論的方便,由于“分組”和虛擬化相關(guān),在此處描述中可以使用“分組”。[0160]通過舉例描述由流控制器220執(zhí)行的窗口(或緩存區(qū))虛擬化。在該示例中,源節(jié)點(diǎn)102和目標(biāo)節(jié)點(diǎn)106被配置為與具有16k字節(jié)的有限的緩存區(qū)容量的傳統(tǒng)端節(jié)點(diǎn)相似,其大約等于10個數(shù)據(jù)分組。通常,端節(jié)點(diǎn)102、106在能夠傳輸下一組分組之前必須進(jìn)行等待,直到該分組被傳輸并且收到確認(rèn)為止。在一個實(shí)施例中,使用在流控制模塊220中的增加的緩沖區(qū)容量,當(dāng)源節(jié)點(diǎn)103傳輸其數(shù)據(jù)分組時,第一流控制模塊220接收該分組,將該分組存儲在其較大容量的緩存區(qū)(例如512個分組容量)中,并且立即將指示分組接收的確認(rèn)信號(“REC-ACK”)發(fā)送回到源節(jié)點(diǎn)102。源節(jié)點(diǎn)102接著可以“刷新”其當(dāng)前緩沖區(qū),將10個新的數(shù)據(jù)分組載入到緩存區(qū),并且將這些傳輸?shù)降谝涣骺刂颇K220上。再次,第一流控制模塊220將REC-ACK信號發(fā)送回到源節(jié)點(diǎn)102,并且源節(jié)點(diǎn)102刷新其緩沖區(qū)并且對其載入10個更新的分組用于傳輸。[0161]當(dāng)?shù)谝涣骺刂颇K220接收到來自源節(jié)點(diǎn)的數(shù)據(jù)分組時,其相應(yīng)地將該數(shù)據(jù)分組載入到緩沖區(qū)中。當(dāng)其準(zhǔn)備好時,第一流控制模塊220可以開始將數(shù)據(jù)分組傳輸?shù)降诙骺刂颇K230,其也具有增加的緩存區(qū)大小,例如以便接收512個分組。第二流控制模塊220’接收數(shù)據(jù)分組并且開始每次傳輸10個分組到目標(biāo)節(jié)點(diǎn)106。在第二流控制節(jié)點(diǎn)220處接收的、來自目標(biāo)節(jié)點(diǎn)106的每個REC-ACK致使又有10個分組被傳輸?shù)侥繕?biāo)節(jié)點(diǎn)106,直到所有的數(shù)據(jù)分組被傳送為止。因此,本發(fā)明能夠通過利用裝置之間的流控制模塊220、220’的較大的緩沖區(qū)來增加在源節(jié)點(diǎn)(發(fā)送器)102和目標(biāo)節(jié)點(diǎn)(接收器)106之間的數(shù)據(jù)傳輸吞吐量。[0162]注意到通過之前描述的“預(yù)確認(rèn)”數(shù)據(jù)的傳輸,發(fā)送器(或源節(jié)點(diǎn)102)被允許傳輸比沒有預(yù)確認(rèn)時可能傳輸?shù)臄?shù)據(jù)更多的數(shù)據(jù),因此造成更大的窗口大小。例如,在一個實(shí)施例中,流控制模塊220、220’處于缺乏大窗口的節(jié)點(diǎn)(例如,源節(jié)點(diǎn)102或者目標(biāo)節(jié)點(diǎn)106)附近時,該技術(shù)是有效的。[0163]重新?lián)砗甗0164]流控制器220的另一個技術(shù)或者算法被稱為重新?lián)砣1娝苤獦?biāo)準(zhǔn)的TCP擁塞避免算法在面對特定網(wǎng)絡(luò)條件(包括:大的RTT(往返時間)、高分組丟失率,以及其它)時性能低下。當(dāng)設(shè)備200檢測到諸如長的往返時間或者高的分組丟失的擁塞條件時,設(shè)備200插入、代入更適合該特定網(wǎng)絡(luò)調(diào)節(jié)的替代的擁塞避免算法。在一個實(shí)施例中,重新?lián)砣惴ㄊ褂妙A(yù)確認(rèn)來有效地終止發(fā)送器和接收器之間的連接。設(shè)備200接著使用不同的擁塞避免算法從自身重新發(fā)送分組到接收器。重新?lián)砣惴梢砸蕾囉赥CP連接的特征。設(shè)備200監(jiān)控每個TCP連接,在不同的維度將其特征化,選擇適合用于當(dāng)前特征的重新?lián)砣惴?。[0165]在一個實(shí)施例中,當(dāng)檢測到由往返時間(RTT)限制的TCP連接時,應(yīng)用表現(xiàn)為多個TCP連接的重新?lián)砣惴?。每個TCP連接操作在其自身性能限度內(nèi),但是聚合帶寬獲得了更高的性能水平。該機(jī)制中的一個參數(shù)是所應(yīng)用的并行連接的數(shù)量(N)。N值過大則連接束獲得超過其合理份額的帶寬。N值過小則連接束獲得低于其合理份額的帶寬。建立“N”的一個方法依賴于設(shè)備200監(jiān)控實(shí)際連接的分組大小、RTT和分組丟失率。將這些數(shù)字插入TCP響應(yīng)曲線方程來提供本配置中單個TCP連接的性能的上限。如果連接束中每個連接正獲得與計算出的上限性能基本相同的性能,則應(yīng)用額外的并行連接。如果當(dāng)前束正獲得低于上限的性能,則減少并行連接的數(shù)量。依次方式,由于單獨(dú)的連接束包含的并行性不比消除協(xié)議自身所強(qiáng)加的限制所需的并行性更多,所以維持了系統(tǒng)的整體公平性。進(jìn)一步,每個單獨(dú)的連接保留TCP兼容性。[0166]建立“N”的另一個方法是使用并行流控制算法,例如TCP“Vegas”算法或者其改進(jìn)版本“穩(wěn)定的Vegas”。在該方法中,與連接束中的連接相關(guān)聯(lián)的網(wǎng)絡(luò)信息(例如,RTT、丟失率、平均分組大小等等)被聚集并且被應(yīng)用到替代的流控制算法。該算法的結(jié)果進(jìn)而被分布到控制其數(shù)量(即,N)的束的連接之間??蛇x地,束中的每個連接仍舊使用標(biāo)準(zhǔn)TCP擁塞避免算法。[0167]在又一個實(shí)施例中,并行束中的單獨(dú)的連接被虛擬化,即不建立實(shí)際的單獨(dú)的TCP連接。事實(shí)上擁塞避免算法被修改為表現(xiàn)得就好像存在N個并行連接一樣。該方法的優(yōu)點(diǎn)在于對于經(jīng)過多個網(wǎng)絡(luò)節(jié)點(diǎn)而言就如同單個連接一樣。因此重新?lián)砣惴ú挥绊戇@些節(jié)點(diǎn)的Q0S、安全性和其他監(jiān)控方法。在又一個實(shí)施例中,并行束中的單獨(dú)的連接是真實(shí)存在的,即獨(dú)立的。為束中的并行連接的每一個建立TCP連接。不必修改用于每個TCP連接的擁塞避免算法。[0168]重佳[0169]在一些實(shí)施例中,流控制器220可以使用本地重傳技術(shù)。實(shí)施預(yù)確認(rèn)的一個原因是為經(jīng)過高損的鏈路(例如無線)作準(zhǔn)備。在這些實(shí)施例中,預(yù)確認(rèn)設(shè)備200或者流控制模塊220最好位于無線鏈路“之前”。這使得要進(jìn)行的重傳更接近于高損鏈路,免去了網(wǎng)絡(luò)的剩余部分的重傳負(fù)擔(dān)。設(shè)備200可提供本地重傳,在這種情形中,由于鏈路錯誤而丟棄的分組由設(shè)備200直接重傳。由于這消除了在端節(jié)點(diǎn)(諸如服務(wù)器106)和任一網(wǎng)絡(luò)104的基礎(chǔ)設(shè)施上的重傳負(fù)擔(dān),所以這是有益的。利用設(shè)備200提供本地重傳,丟棄的分組可以被重傳通過高損鏈路而不必由端節(jié)點(diǎn)重傳且不會引起端節(jié)點(diǎn)的數(shù)據(jù)傳輸率的對應(yīng)下降。[0170]實(shí)施預(yù)確認(rèn)的另一個原因是避免接收超時(RTO)懲罰。在標(biāo)準(zhǔn)TCP中,即使是成功接收傳輸中的較大百分比的分組,但仍存在多種情況導(dǎo)致RT0。使用標(biāo)準(zhǔn)TCP算法,在一個RTT窗口中丟棄不只一個分組有可能會導(dǎo)致超時。此外,如果重傳的分組被丟棄,則大部分TCP連接經(jīng)歷超時。在具有高帶寬延遲產(chǎn)品的網(wǎng)絡(luò)中,甚至相對小的分組丟失率也會導(dǎo)致頻繁的重傳超時(RTO)。在一個實(shí)施例中,設(shè)備200使用重傳和超時算法來避免過早的RTO0設(shè)備200或者流控制器220基于每一分組來維持重傳的計數(shù)。每傳輸一個分組,將計數(shù)加一,然后設(shè)備200繼續(xù)傳輸分組。在一些實(shí)施例中,僅有當(dāng)一個分組已經(jīng)被重傳預(yù)定的次數(shù)后才宣告RTO。[0171]波前檢測和消除二義性[0172]在一些實(shí)施例中,設(shè)備200或者流控制器220在管理和控制網(wǎng)絡(luò)流量中使用波前檢測和消除二義性技術(shù)。在該技術(shù)中,流控制器220使用傳輸標(biāo)識符或者號碼來確定是否需要重傳特定數(shù)據(jù)分組。舉例來說,發(fā)送器在網(wǎng)絡(luò)上傳輸數(shù)據(jù)分組,其中所傳輸?shù)臄?shù)據(jù)分組的每一個實(shí)例與一個傳輸號碼相關(guān)聯(lián)。可以理解,分組的傳輸號碼與分組的序列號不相同,因為序列號標(biāo)記分組中的數(shù)據(jù),而傳輸號碼標(biāo)記該數(shù)據(jù)的傳輸?shù)膶?shí)例。傳輸號碼可以是對于該目的可用的任意信息,包括與分組相關(guān)聯(lián)的時間戳或者簡單地增加的號碼(類似于序列號或者分組號)。因為數(shù)據(jù)段可以被重傳,所以不同的傳輸號碼可以與特定的序列號相關(guān)聯(lián)。[0173]由于發(fā)送器傳輸數(shù)據(jù)分組,所以發(fā)送器保持被確認(rèn)的數(shù)據(jù)分組傳輸?shù)膶?shí)例的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)分組傳輸?shù)拿總€實(shí)例由其序列號和傳輸號碼標(biāo)記。通過保持對于每個分組的傳輸號碼,發(fā)送器保留數(shù)據(jù)分組的傳輸順序。當(dāng)發(fā)送器接收到ACK或者SACK時,發(fā)送器確定與接收器(在所接收的確認(rèn)中)指示的已經(jīng)接收的分組相關(guān)聯(lián)的最高的傳輸號碼。具有較低傳輸號碼的任何未完成的未經(jīng)確認(rèn)的分組被假設(shè)為已丟失。[0174]在一些實(shí)施例中,當(dāng)?shù)竭_(dá)分組已經(jīng)被重傳時,發(fā)送器呈現(xiàn)出模糊的情形:標(biāo)準(zhǔn)的ACK/SACK沒有包含足夠的信息來使發(fā)送器確定該到達(dá)分組的哪個傳輸觸發(fā)了該確認(rèn)。從而,在接收到模糊確認(rèn)之后,發(fā)送器消除該確認(rèn)二義性以將其與傳輸號碼相關(guān)聯(lián)。在不同的實(shí)施例中,多個技術(shù)的其中之一或者組合可以被用來解決該模糊性。[0175]在一個實(shí)施例中,發(fā)送器在所傳輸?shù)臄?shù)據(jù)分組中包含標(biāo)識符,然后,接收器在確認(rèn)中返回該標(biāo)識符或者該標(biāo)識符的函數(shù)。該標(biāo)識符可以是時間戳(例如在RFC1323中描述的TCP時間戳)、序列號、可以被用來在分組傳輸?shù)膬蓚€或多個實(shí)例之間進(jìn)行解析的任何其他信息。在TCP時間戳選項被用來消除確認(rèn)的二義性的實(shí)施例中,使用高達(dá)32位唯一的信息來標(biāo)記每個分組。接收到數(shù)據(jù)分組時,接收器通過確認(rèn)將該唯一信息回送到發(fā)送器。發(fā)送器確保最初發(fā)送的分組和其重傳的一個或者多個版本包含對于時間戳選項的不同值,這允許其明確地消除ACK的模糊性。發(fā)送器可以將該唯一信息保持在例如用來保存所發(fā)送的數(shù)據(jù)分組的狀態(tài)的數(shù)據(jù)結(jié)構(gòu)中。由于該技術(shù)與工業(yè)標(biāo)準(zhǔn)相兼容并且因此很少或不會遇到互操作性的問題,所以該技術(shù)是有益的。然而,該技術(shù)在一些實(shí)現(xiàn)中可能要求十個字節(jié)的TCP首部空間,這降低了網(wǎng)絡(luò)上有效吞吐率并且減少了可用于其他TCP選項的空間。[0176]在又一個實(shí)施例中,分組中的另一個字段,諸如IPID字段,被用來以與上述TCP時間戳選項相似的方式來消除二義性。發(fā)送器安排該分組的最初和重傳版本的ID字段值,以使在IP首部中具有不同的ID字段。在接收器或其代理裝置接收到數(shù)據(jù)分組時,接收器將ACK分組的ID字段設(shè)置為觸發(fā)該ACK的分組的ID字段的函數(shù)。由于該方法不需要發(fā)送額外的數(shù)據(jù),保持了網(wǎng)絡(luò)和TCP首部空間的效率,所以該方法是有益的。所選擇的函數(shù)應(yīng)有極大可能消除二義性。在優(yōu)先實(shí)施例中,發(fā)送器選擇IPID值且將最高有效位設(shè)置為O。當(dāng)接收器響應(yīng)時,IPID值被設(shè)置為相同的IPID值,且最高有效位被設(shè)為I。[0177]在另一個實(shí)施例中,與非模糊性確認(rèn)相關(guān)聯(lián)的傳輸號碼被用來消除模糊確認(rèn)的二義性。該技術(shù)基于這樣的原理:由于兩個分組在時間上更接近地傳輸,則對于這兩個分組的確認(rèn)將傾向于時間上更接近地接收。由于對于未被重傳的分組所接收的確認(rèn)可容易地與傳輸號碼相關(guān)聯(lián),所以這樣的分組不會導(dǎo)致模糊性。因此,可以將這些已知的傳輸號碼與所接收的在時間上接近于已知確認(rèn)的模糊確認(rèn)的可能的傳輸號碼相比較。發(fā)送器將模糊確認(rèn)的傳輸號碼與最近已知的所接收的傳輸號碼相比較,選擇對于已知的所接收的傳輸號碼最接近的一個。例如,如果接收到對數(shù)據(jù)分組I的確認(rèn)并且最后所接收的確認(rèn)是針對數(shù)據(jù)分組5,那么發(fā)送器通過假設(shè)數(shù)據(jù)分組I的第三個實(shí)例導(dǎo)致了該確認(rèn)來解決該模糊性。[0178]詵擇件確認(rèn)[0179]設(shè)備200或者流控制器220的另一項技術(shù)是實(shí)現(xiàn)傳輸控制協(xié)議選擇性確認(rèn)或TCPSACK的實(shí)施例以確定已經(jīng)收到哪些分組或沒有收到哪些分組。該技術(shù)允許發(fā)送器明確地確定已經(jīng)由接收器收到的分組的列表以及沒有收到的分組的精確的列表??梢酝ㄟ^修改發(fā)送器和/或接收器或者通過將發(fā)送器側(cè)和接收器側(cè)流控制模塊220插入到發(fā)送器和接收器之間的網(wǎng)絡(luò)路徑中來實(shí)現(xiàn)該功能。參考圖1A或者1B,發(fā)送器(例如客戶機(jī)102)被配置為通過網(wǎng)絡(luò)104向接收器(例如服務(wù)器106)傳輸數(shù)據(jù)分組。作為響應(yīng),接收器將被稱為SACK分組的TCP選擇性確認(rèn)選項返回給發(fā)送器。在一個實(shí)施例中,盡管此處為了簡便僅討論一個方向的通信,但是該通信是雙向的。接收器保持包含接收器實(shí)際已收到的數(shù)據(jù)分組的序列號的一組范圍的列表或者其他適合的數(shù)據(jù)結(jié)構(gòu)。在一些實(shí)施例中,該列表根據(jù)序列號以升序或者降序排列。接收器還保持放棄的(left-off)指針,其包括對列表的引用并且指示從之前生成的SACK分組的放棄點(diǎn)。[0180]當(dāng)接收到數(shù)據(jù)分組時,接收器生成SACK分組并將其傳輸回到發(fā)送器。在一些實(shí)施例中,SACK分組包括多個字段,每個字段可以保留序列號的范圍來指示一組已接收的數(shù)據(jù)分組。接收器用包括觸發(fā)SACK分組的正在到達(dá)(landing)分組的序列號的范圍來填充該SACK分組的第一字段。剩余可用的SACK字段用已收到的分組的列表的序列號的范圍來填充。當(dāng)該列表中的范圍超過可以被載入SACK分組的范圍時,接收器使用放棄指針來確定哪個范圍被載入SACK分組。接收器從有序的列表連續(xù)插入SACK范圍,從指針引用的范圍開始并且沿列表持續(xù)向下,直到消耗完SACK分組的TCP首部中的可用的SACK范圍空間。如果到達(dá)末端,則接收器環(huán)繞到列表的開始。在一些實(shí)施例中,兩個或三個附加的SACK范圍可以被添加到SACK范圍信息。[0181]一旦接收器生成SACK分組,接收器將確認(rèn)發(fā)送會發(fā)送器。然后,接收器在列表中將放棄的指針前進(jìn)一個或者多個SACK范圍項。例如,如果接收器插入四個SACK范圍,則放棄指針可以在列表中被推進(jìn)兩個SACK范圍。當(dāng)所推進(jìn)的放棄的指針到達(dá)列表的末端,則指針被重置為列表的開始,從而有效地環(huán)繞已知所接收范圍的列表,環(huán)繞該列表使得系統(tǒng)甚至能在SACK分組大量丟失的情況下良好地運(yùn)行,這是由于一旦列表被環(huán)繞,則由于丟失的SACK分組導(dǎo)致的未被通信的SACK信息將最終被通信。[0182]因此可以理解,SACK分組可以通信關(guān)于接收器的情況的多個細(xì)節(jié)。首先,SACK分組指示在SACK分組生成時接收器剛剛收到該SACK信息的第一字段中的數(shù)據(jù)分組。其次,SACK信息的第二和隨后的字段指示接收器已經(jīng)收到這些范圍中的數(shù)據(jù)分組。SACK信息還暗示接收器在SACK分組生成時沒有接收落入SACK信息的第二和隨后的字段之間的任何一個數(shù)據(jù)分組。本質(zhì)上,SACK信息中的第二和隨后的字段之間的范圍是所接收的數(shù)據(jù)中的“孔”,其中的數(shù)據(jù)是已知的未被傳送的數(shù)據(jù)。因此,使用該方法,當(dāng)SACK分組具有足夠空間來包括多余兩個的SACK范圍時,接收器可以向發(fā)送器指示還沒有被接收器接收的數(shù)據(jù)分組的范圍。[0183]在另一個實(shí)施例中,發(fā)送器使用上述的SACK分組結(jié)合上述重傳技術(shù)來假定哪些數(shù)據(jù)分組已經(jīng)被傳送到接收器。例如,當(dāng)重傳算法(使用傳輸號碼)宣告分組丟失時,發(fā)送器認(rèn)為該分組僅是條件性丟失,因為有可能是識別該分組的接收的SACK分組丟失,而不是數(shù)據(jù)分組本身丟失。發(fā)送器因此將該分組添加到潛在丟失的分組的列表,稱之為假定丟失的列表。每當(dāng)SACK分組到達(dá),將來自SACK分組的數(shù)據(jù)的已知丟失范圍和假定丟失列表中的分組相比較。包括已知丟失的數(shù)據(jù)分組被宣告實(shí)際丟失并被隨后重傳。以此方式,組合這兩個方案來將更好的關(guān)于已丟失且需要重傳哪些分組的信息給予發(fā)送器。[0184]事備邊界檢測[0185]在一些實(shí)施例中,設(shè)備200或流控制器220使用被稱為事務(wù)邊界檢測的技術(shù)。在一個實(shí)施例中,該技術(shù)適合于乒乓(ping-pong)表現(xiàn)的連接。在TCP層,乒乓行為是當(dāng)一個通信器(發(fā)送器)發(fā)送數(shù)據(jù)然后等待來自另一個通信器(接收器)的響應(yīng)。乒乓行為的例子包括遠(yuǎn)程程序調(diào)用、HTTP和其他。以上描述的算法使用重傳超時來從與事務(wù)相關(guān)的最后的一個分組或多個的丟棄進(jìn)行恢復(fù)。由于在一些實(shí)施例中,TCPRTO機(jī)制極端粗略,例如在所有情況中要求最小I秒的值,在這些情況下可以看到差的應(yīng)用行為。[0186]在一個實(shí)施例中,數(shù)據(jù)的發(fā)送器或耦合到發(fā)送器的流控制模塊220檢測所發(fā)送的數(shù)據(jù)中的事務(wù)邊界。在檢測到事務(wù)邊界時,發(fā)送器或者流控制器220發(fā)送額外的分組,額外的分組的接收從接收器生成額外的ACK或者SACK響應(yīng)。額外的分組的插入優(yōu)選地限于改善的應(yīng)用響應(yīng)時間和網(wǎng)絡(luò)能力利用之間的平衡。所插入的額外的分組的數(shù)量可以根據(jù)與該連接相關(guān)聯(lián)的當(dāng)前丟失率來進(jìn)行選擇,對于較高的丟失率的連接選擇更多的分組。[0187]檢測事務(wù)邊界的一個方法是基于時間的。如果發(fā)送器已經(jīng)發(fā)送數(shù)據(jù)并停止,則在一段時間之后發(fā)送器或流控制模塊220宣告事務(wù)邊界。這可以和其他技術(shù)相結(jié)合。例如,由發(fā)送器在TCP首部中設(shè)置PSH(TCP推送)位可以指示事務(wù)邊界。因此,將基于時間的方法和這些附加的試探方法相組合可以提供對于事務(wù)邊界的更精確的檢測。在另一個技術(shù)中,如果發(fā)送器或者流控制模塊220理解應(yīng)用協(xié)議,其可以解析協(xié)議數(shù)據(jù)流并且直接確定事務(wù)邊界。在一些實(shí)施例中,可以獨(dú)立于任一基于時間的機(jī)制使用此最后的行為。[0188]響應(yīng)于檢測事務(wù)邊界,發(fā)送器或流控制模塊220向接收器傳輸額外的數(shù)據(jù)分組以便從接收器引發(fā)確認(rèn)。因此,額外的數(shù)據(jù)分組應(yīng)該使得接收器將響應(yīng)于接收數(shù)據(jù)分組來至少產(chǎn)生ACK或SACK。在一個實(shí)施例中,簡單地重傳事務(wù)的最后一個或多個分組。相比于僅發(fā)送虛擬的數(shù)據(jù)分組,如果最后一個或多個分組已經(jīng)被丟棄,這就具有重傳所需數(shù)據(jù)的增加的益處。在又一個實(shí)施例中,發(fā)送最后一個或多個分組的片段,允許發(fā)送器來消除來自于其最初分組的這些分組到來的二義性。這使接收器避免錯誤的混淆任意重新排序自適應(yīng)算法。在又一個實(shí)施例中,任意數(shù)量的公知的前向糾錯技術(shù)可被用來為所插入的分組生成額外的數(shù)據(jù),這允許重新構(gòu)造接收器處丟失的或以其他方式錯過的數(shù)據(jù)。[0189]在一些實(shí)施例中,當(dāng)對事務(wù)中的最后的數(shù)據(jù)分組的確認(rèn)被丟棄時,此處描述的邊界檢測技術(shù)有助于避免超時。當(dāng)發(fā)送器或流控制模塊220接收對于這些額外的數(shù)據(jù)分組的確認(rèn)時,發(fā)送器可以從這些額外的確認(rèn)來確定最后的數(shù)據(jù)分組是否已經(jīng)被接收或這需要被重傳,從而避免超時。在一個實(shí)施例中,如果最后的分組已經(jīng)被接收但是它們的確認(rèn)被丟棄,則流控制模塊220生成對該數(shù)據(jù)分組的確認(rèn),并且將該確認(rèn)發(fā)送到發(fā)送器,從而告知發(fā)送器該數(shù)據(jù)分組已經(jīng)被傳送。在又一個實(shí)施例中,如果沒有收到最后的分組,則流控制模塊220向發(fā)送器發(fā)送一個分組來使發(fā)送器重傳丟棄的數(shù)據(jù)分組。[0190]重新分組[0191]在又一個實(shí)施例中,設(shè)備200或流控制器220使用重新分組技術(shù)來改善傳輸層網(wǎng)絡(luò)流量。在一些實(shí)施例中,TCP性能和分組大小成比例。因此增加分組大小能改進(jìn)性能,除非其引起大大增加的分組丟失率或其他非線性效應(yīng),例如IP分片。通常,有線介質(zhì)(諸如銅纜或光纖)具有極低的誤碼率,低到可以忽略不計。對于這些介質(zhì),在分片發(fā)生之前,最大化分組大小是有益的(通過底層傳輸介質(zhì)的協(xié)議來限制最大化的分組大小)。但是對于具有較聞丟失率的傳輸介質(zhì)(例如,諸如WiFi等的無線技術(shù),或者諸如電力線網(wǎng)絡(luò)等聞?chuàng)p環(huán)境),增加分組大小可能導(dǎo)致較低的傳輸率,因為介質(zhì)引發(fā)的錯誤導(dǎo)致整個分組被丟棄(即,介質(zhì)引發(fā)的錯誤超過對于該介質(zhì)的標(biāo)準(zhǔn)糾錯碼的能力),從而增加了分組丟失率。分組丟失率中的顯著大的增加實(shí)際上否定了增加的分組大小的任何性能益處。在一些情況中,對于TCP端點(diǎn)來選擇最優(yōu)的分組大小可能是困難的。例如,最優(yōu)的分組大小可以根據(jù)每個鏈路的性質(zhì)在傳輸路徑時發(fā)生變化。[0192]通過將設(shè)備200或流控制模塊220插入到傳輸路徑中,流控制器220監(jiān)控鏈路的特征并且根據(jù)所確定的鏈路特征重新分組。在一個實(shí)施例中,設(shè)備200或流控制器220將具有連續(xù)數(shù)據(jù)的分組重新分組為少量的較大分組。在又一個實(shí)施例中,設(shè)備200或流控制器220通過將一系列大分組分為大量的較小的分組來對分組進(jìn)行重新分組。在其他實(shí)施例中,設(shè)備200或流控制器220監(jiān)控鏈路特征并且通過重新組合來調(diào)整分組大小以提高吞吐量。[0193]QoS[0194]仍參考圖2A,在一些實(shí)施例中,流控制器220可以包括QoS引擎236,(也被稱為QoS控制器)。在又一個實(shí)施例中,例如,設(shè)備200和/或網(wǎng)絡(luò)優(yōu)化引擎250包括單獨(dú)的但與流控制器220通信的QoS引擎236。QoS引擎236包括用于執(zhí)行改善任何網(wǎng)絡(luò)連接的性能、操作或服務(wù)質(zhì)量的一個或多個服務(wù)質(zhì)量(QoS)技術(shù)的任何邏輯、商業(yè)規(guī)則、功能或操作。在一些實(shí)施例中,QoS引擎236包括為不同用戶、應(yīng)用、數(shù)據(jù)流或連接提供不同優(yōu)先級的網(wǎng)絡(luò)流量控制和管理機(jī)制。在其他實(shí)施例中,QoS引擎236為用戶、應(yīng)用、數(shù)據(jù)流或連接控制、維持或確保特定水平的性能。在一個實(shí)施例中,QoS引擎236為用戶、應(yīng)用、數(shù)據(jù)流或連接控制、維持或確保特定部分的帶寬或網(wǎng)絡(luò)容量。在一些實(shí)施例中,QoS引擎236監(jiān)控對應(yīng)于用戶、應(yīng)用、數(shù)據(jù)流或連接的性能或服務(wù)質(zhì)量的所達(dá)到的水平,例如數(shù)據(jù)速率和延遲。響應(yīng)于監(jiān)控,QoS引擎236動態(tài)地控制或調(diào)整網(wǎng)絡(luò)分組的調(diào)度優(yōu)先級來獲得期望水平的性能或服務(wù)質(zhì)量。[0195]在一些實(shí)施例中,QoS引擎236根據(jù)一個或多個類別或等級的服務(wù)來優(yōu)先排序、調(diào)度和傳輸網(wǎng)絡(luò)分組。在一些實(shí)施例中,服務(wù)類別或等級可以包括:1)盡最大努力,2)控制的負(fù)載,3)有保證的或者4)定性的。對于盡最大努力類的服務(wù),設(shè)備200作出合理的努力來傳送分組(標(biāo)準(zhǔn)服務(wù)水平)。對于控制的負(fù)載類的服務(wù),設(shè)備200或QoS引擎236近似傳輸介質(zhì)的標(biāo)準(zhǔn)的分組錯誤丟失或者近似輕度負(fù)載網(wǎng)絡(luò)條件下的盡最大努力服務(wù)的行為。對于有保證類的服務(wù),設(shè)備200或QoS引擎236保證來在連接期間以確定的速率傳輸數(shù)據(jù)的能力。對于定性類的服務(wù),設(shè)備200或QoS引擎236將定性類服務(wù)用于要求或期望優(yōu)先排序的流量的應(yīng)用、用戶、數(shù)據(jù)流或者連接,但不能對資源需求或服務(wù)水平進(jìn)行定量。在這些情況中,設(shè)備200或QoS引擎236基于QoS引擎236的任意邏輯或配置或者基于商業(yè)規(guī)則或策略來確定服務(wù)類別或優(yōu)先級。例如,在一個實(shí)施例中,QoS引擎236根據(jù)策略引擎295、295’指定的一個或多個策略來優(yōu)先排序、調(diào)度和傳輸網(wǎng)絡(luò)分組。[0196]協(xié)議加速[0197]協(xié)議加速器234包括用于優(yōu)化、加速或以其他方式改善一個或多個協(xié)議的性能、操作或服務(wù)質(zhì)量的任何邏輯、商業(yè)規(guī)則、功能或操作。在一個實(shí)施例中,協(xié)議加速器234在網(wǎng)絡(luò)堆棧的層5-7的加速任何應(yīng)用層協(xié)議。在其他實(shí)施例中,協(xié)議加速器234加速傳輸層或者層4協(xié)議。在一個實(shí)施例中,協(xié)議加速器234加速層2或?qū)?的協(xié)議。在一些實(shí)施例中,協(xié)議加速器234被配置、構(gòu)建或設(shè)計來根據(jù)數(shù)據(jù)類型、協(xié)議的特征和/或行為來優(yōu)化或加速一個或多個協(xié)議的每一個。在又一個實(shí)施例中,協(xié)議加速器234被配置、構(gòu)建或設(shè)計來改善用戶體驗、響應(yīng)時間、網(wǎng)絡(luò)或者計算機(jī)負(fù)載,和/或關(guān)于協(xié)議的網(wǎng)絡(luò)或帶寬利用。[0198]在一個實(shí)施例中,協(xié)議加速器234被配置、構(gòu)建或設(shè)計來最小化文件系統(tǒng)訪問上的WAN延遲的影響。在一些實(shí)施例中,協(xié)議加速器234優(yōu)化或加速CIFS(通用互聯(lián)網(wǎng)文件系統(tǒng))協(xié)議的使用來改善文件系統(tǒng)訪問時間或?qū)?shù)據(jù)和文件的訪問時間。在一些實(shí)施例中,協(xié)議加速器234優(yōu)化或加速NFS(網(wǎng)絡(luò)文件系統(tǒng))協(xié)議的使用。在又一個實(shí)施例中,協(xié)議加速器234優(yōu)化或加速文件傳輸協(xié)議(FTP)的使用。[0199]在一個實(shí)施例中,協(xié)議加速器234被配置、構(gòu)建或設(shè)計來優(yōu)化或加速承載為有效載荷的或使用任何類型和形式的標(biāo)記語言的協(xié)議。在其他實(shí)施例中,協(xié)議加速器234被配置、構(gòu)建或設(shè)計來優(yōu)化或加速超文本傳輸協(xié)議(HTTP)。在又一個實(shí)施例中,協(xié)議加速器234被配置、構(gòu)建或設(shè)計來優(yōu)化或加速承載有效載荷或以其他方式使用XML(可擴(kuò)展標(biāo)記語言)的協(xié)議。[0200]透明并且多點(diǎn)部署配置[0201]在一些實(shí)施例中,設(shè)備200和/或網(wǎng)絡(luò)優(yōu)化引擎250對于通過諸如WAN鏈路的網(wǎng)絡(luò)連接或鏈路的任何數(shù)據(jù)流是透明的。在一個實(shí)施例中,設(shè)備200和/或網(wǎng)絡(luò)優(yōu)化引擎250以這樣的方式操作:通過WAN的數(shù)據(jù)流是由任何網(wǎng)絡(luò)監(jiān)控、QoS管理或網(wǎng)絡(luò)分析工具可識別的。在一些實(shí)施例中,設(shè)備200和/或網(wǎng)絡(luò)優(yōu)化引擎250不創(chuàng)建用于傳輸可以隱藏、遮掩或以其他方式使網(wǎng)絡(luò)流量不透明的數(shù)據(jù)的任何隧道或流。在其他實(shí)施例中,設(shè)備200透明地操作,因為設(shè)備不改變網(wǎng)絡(luò)分組的任何源和/或目標(biāo)地址信息或端口信息,諸如互聯(lián)網(wǎng)協(xié)議地址或端口號。在其他實(shí)施例中,設(shè)備200和/或網(wǎng)絡(luò)優(yōu)化引擎250被認(rèn)為對于網(wǎng)絡(luò)架構(gòu)中的網(wǎng)絡(luò)、應(yīng)用、客戶機(jī)、服務(wù)器或其他設(shè)備或計算裝置透明地操作或運(yùn)轉(zhuǎn)。也就是在一些實(shí)施例中,設(shè)備是透明的,因為不必修改網(wǎng)絡(luò)上的任何裝置或設(shè)備的網(wǎng)絡(luò)相關(guān)配置來支持設(shè)備200。[0202]可以下面的部署配置的任何一個來部署設(shè)備200:1)串行流量,2)代理模式,3)虛擬串行模式。在一些實(shí)施例中,設(shè)備200可以與以下的一個或多個串行部署:路由器、客戶機(jī)、服務(wù)器或者另一個網(wǎng)絡(luò)裝置或設(shè)備。在其他實(shí)施例中,設(shè)備200可以與以下的一個或多個并行部署:路由器、客戶機(jī)、服務(wù)器或者另一個網(wǎng)絡(luò)裝置或設(shè)備。在并行部署中,路由器、客戶機(jī)、服務(wù)器或者其他網(wǎng)絡(luò)設(shè)備可以被配置為轉(zhuǎn)發(fā)、轉(zhuǎn)換或通過網(wǎng)絡(luò)至設(shè)備200或者經(jīng)由設(shè)備200轉(zhuǎn)發(fā)、轉(zhuǎn)換或通過網(wǎng)絡(luò)。[0203]在串行的實(shí)施例中,設(shè)備200與路由器的WAN串行部署。以此方式,來自WAN的所有流量在到達(dá)LAN的目的地之前穿過該設(shè)備。[0204]在代理模式的實(shí)施例中,設(shè)備200被部署為客戶機(jī)和服務(wù)器之間的代理裝置。在一些實(shí)施例中,設(shè)備200使客戶機(jī)與網(wǎng)絡(luò)上的資源間接連接。例如,客戶機(jī)經(jīng)由設(shè)備200連接到資源,并且設(shè)備通過連接到該資源、不同的資源、或者通過從高速緩存供應(yīng)該資源來提供資源。在一些情況中,設(shè)備可以對于不同的目的來改變客戶機(jī)請求或者服務(wù)器響應(yīng),諸如對于此處所討論的任何優(yōu)化技術(shù)。在其他實(shí)施例中,設(shè)備200通過透明地攔截并轉(zhuǎn)發(fā)到客戶機(jī)和/或服務(wù)器的請求和響應(yīng)來作為透明代理運(yùn)行。不使用客戶機(jī)側(cè)配置,設(shè)備200可以將客戶機(jī)請求重定向到不同的服務(wù)器或網(wǎng)絡(luò)。在一些實(shí)施例中,設(shè)備200可以在穿過該設(shè)備的任何網(wǎng)絡(luò)流量上執(zhí)行任何類型和形式的網(wǎng)絡(luò)地址轉(zhuǎn)換(被稱為NAT)。[0205]在一些實(shí)施例中,設(shè)備200以虛擬串行模式配置來部署。在該實(shí)施例中,具有路由或轉(zhuǎn)換功能的路由器或網(wǎng)絡(luò)裝置被配置為轉(zhuǎn)發(fā)、路由或以其他方式提供發(fā)往網(wǎng)絡(luò)或設(shè)備200的網(wǎng)絡(luò)分組。設(shè)備200接著在該網(wǎng)絡(luò)分組上執(zhí)行任一期望的處理,諸如此處討論的任一WAN優(yōu)化技術(shù)。當(dāng)完成處理時,設(shè)備200將經(jīng)處理的網(wǎng)絡(luò)分組轉(zhuǎn)發(fā)到路由器以傳輸?shù)骄W(wǎng)絡(luò)上的目的地。以此方式,設(shè)備200可以并行耦合到路由器,但仍如同設(shè)備200串行一樣操作。該部署模式還提供透明性,因為當(dāng)分組被處理并經(jīng)由設(shè)備通過網(wǎng)絡(luò)傳輸時,保留了源和目標(biāo)地址以及端口信息。[0206]端節(jié)點(diǎn)部署[0207]盡管在上文網(wǎng)絡(luò)優(yōu)化引擎250總是結(jié)合設(shè)備200來描述,但是網(wǎng)絡(luò)優(yōu)化引擎250或其任何部分可以被部署、分布或以其他方式操作在諸如客戶機(jī)102和/或服務(wù)器106的任一端節(jié)點(diǎn)上。由此,客戶機(jī)或服務(wù)器可以提供此處所描述的結(jié)合一個或多個設(shè)備200或者不結(jié)合設(shè)備200的網(wǎng)絡(luò)優(yōu)化引擎250的任何系統(tǒng)和方法。[0208]現(xiàn)參考圖2B,描述部署在一個或多個端節(jié)點(diǎn)的網(wǎng)絡(luò)優(yōu)化引擎250的示例實(shí)施例??偟膩碚f,客戶機(jī)102可以包括第一網(wǎng)絡(luò)優(yōu)化引擎250’并且服務(wù)器106可以包括第二網(wǎng)絡(luò)優(yōu)化引擎250”??蛻魴C(jī)102和服務(wù)器106可以建立傳輸層連接并且交換穿過或不穿過設(shè)備200的通信。[0209]在一個實(shí)施例中,客戶機(jī)102的網(wǎng)絡(luò)優(yōu)化引擎250’執(zhí)行此處描述的技術(shù)來優(yōu)化、加速或以其他方式改善與服務(wù)器106通信的網(wǎng)絡(luò)流量的性能、操作或服務(wù)質(zhì)量。在又一個實(shí)施例中,服務(wù)器106的網(wǎng)絡(luò)優(yōu)化引擎250”執(zhí)行此處描述的技術(shù)來優(yōu)化、加速或以其他方式改善與客戶機(jī)102通信的網(wǎng)絡(luò)流量的性能、操作或服務(wù)質(zhì)量。在一些實(shí)施例中,客戶機(jī)102的網(wǎng)絡(luò)優(yōu)化引擎250’和服務(wù)器106的網(wǎng)絡(luò)優(yōu)化引擎250”執(zhí)行此處描述的技術(shù)來優(yōu)化、加速或以其他方式改善在客戶機(jī)102與服務(wù)器106之間通信的網(wǎng)絡(luò)流量的性能、操作或服務(wù)質(zhì)量。在又一個實(shí)施例中,客戶機(jī)102的網(wǎng)絡(luò)優(yōu)化引擎250’結(jié)合設(shè)備200執(zhí)行此處描述的技術(shù)來優(yōu)化、加速或以其他方式改善與客戶機(jī)102通信的網(wǎng)絡(luò)流量的性能、操作或服務(wù)質(zhì)量。在又一個實(shí)施例中,服務(wù)器106的網(wǎng)絡(luò)優(yōu)化引擎250”結(jié)合設(shè)備200執(zhí)行此處描述的技術(shù)來優(yōu)化、加速或以其他方式改善與服務(wù)器106通信的網(wǎng)絡(luò)流量的性能、操作或服務(wù)質(zhì)量。[0210]現(xiàn)參考圖2B,描述了設(shè)備205的又一個實(shí)施例。總的來說,設(shè)備205提供下列服務(wù)、功能或操作中的一個或多個:用于一個或多個客戶機(jī)102以及一個或多個服務(wù)器106之間的通信的SSLVPN連通280、交換/負(fù)載平衡284、域名服務(wù)解析286、加速288和應(yīng)用防火墻290。服務(wù)器106的每一個可以提供一個或者多個網(wǎng)絡(luò)相關(guān)服務(wù)270a-270n(稱為服務(wù)270)。例如,服務(wù)器106可以提供http服務(wù)270。設(shè)備205包括一個或者多個虛擬服務(wù)器或者虛擬互聯(lián)網(wǎng)協(xié)議服務(wù)器,稱為vSerVer275、VS275、VIP服務(wù)器或者僅是VIP275a_275n(此處也稱為vServer275)。vServer275根據(jù)設(shè)備205的配置和操作來接收、攔截或者以其它方式處理客戶機(jī)102和服務(wù)器106之間的通信。[0211]vServer275可以包括軟件、硬件或者軟件和硬件的任何組合。vServer275可包括在設(shè)備205中的用戶模式202、內(nèi)核模式204或者其任何組合中運(yùn)行的任何類型和形式的程序、服務(wù)、任務(wù)、進(jìn)程或者可執(zhí)行指令。vServer275包括任何邏輯、功能、規(guī)則或者操作,以執(zhí)行此處所述技術(shù)的任何實(shí)施例,諸如SSLVPN280、轉(zhuǎn)換/負(fù)載平衡284、域名服務(wù)解析286、加速288和應(yīng)用防火墻290。在一些實(shí)施例中,vServer275建立到服務(wù)器106的服務(wù)270的連接。服務(wù)275可以包括能夠連接到設(shè)備205、客戶機(jī)102或者vServer275并與之通信的任何程序、應(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ū)動器,用于監(jiān)聽、接收和/或發(fā)送應(yīng)用的通信,諸如電子郵件、數(shù)據(jù)庫或者企業(yè)應(yīng)用。在一些實(shí)施例中,服務(wù)270可以在特定的IP地址、或者IP地址和端口上通信。[0212]在一些實(shí)施例中,vServer275應(yīng)用策略引擎236的一個或者多個策略到客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)通信。在一個實(shí)施例中,該策略與VSerVer275相關(guān)。在又一個實(shí)施例中,該策略基于用戶或者用戶組。在又一個實(shí)施例中,策略為通用的并且應(yīng)用到一個或者多個vServer275a-275n,和通過設(shè)備205通信的任何用戶或者用戶組。在一些實(shí)施例中,策略引擎的策略具有基于通信的任何內(nèi)容應(yīng)用該策略的條件,通信的內(nèi)容諸如互聯(lián)網(wǎng)協(xié)議地址、端口、協(xié)議類型、分組中的頭部或者字段、或者通信的上下文,諸如用戶、用戶組、VSerVer275、傳輸層連接、和/或客戶機(jī)102或者服務(wù)器106的標(biāo)識或者屬性。[0213]在其他實(shí)施例中,設(shè)備205與策略引擎236通信或接口,以便確定遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102的驗證和/或授權(quán),以訪問來自服務(wù)器106的計算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件。在又一個實(shí)施例中,設(shè)備205與策略引擎236通信或交互,以便確定遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102的驗證和/或授權(quán),使得應(yīng)用傳送系統(tǒng)190傳送一個或多個計算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件。在又一個實(shí)施例中,設(shè)備205基于策略引擎236對遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102的驗證和/或授權(quán)建立VPN或SSLVPN連接。一個實(shí)施例中,設(shè)備205基于策略引擎236的策略控制網(wǎng)絡(luò)流量以及通信會話。例如,基于策略引擎236,設(shè)備205可控制對計算環(huán)境15、應(yīng)用或數(shù)據(jù)文件的訪問。[0214]在一些實(shí)施例中,vServer275與客戶機(jī)102經(jīng)客戶機(jī)代理120建立傳輸層連接,諸如TCP或者UDP連接。在一個實(shí)施例中,vServer275監(jiān)聽和接收來自客戶機(jī)102的通信。在其他實(shí)施例中,vServer275與客戶機(jī)服務(wù)器106建立傳輸層連接,諸如TCP或者UDP連接。在一個實(shí)施例中,vServer275建立到運(yùn)行在服務(wù)器106上的服務(wù)器270的互聯(lián)網(wǎng)協(xié)議地址和端口的傳輸層連接。在又一個實(shí)施例中,vServer275將到客戶機(jī)102的第一傳輸層連接與到服務(wù)器106的第二傳輸層連接相關(guān)聯(lián)。在一些實(shí)施例中,VSerVer275建立到服務(wù)器106的傳輸層連接池并經(jīng)由所述池化(pooled)的傳輸層連接多路復(fù)用客戶機(jī)的請求。[0215]在一些實(shí)施例中,設(shè)備205提供客戶機(jī)102和服務(wù)器106之間的SSLVPN連接280。例如,第一網(wǎng)絡(luò)102上的客戶機(jī)102請求建立到第二網(wǎng)絡(luò)104’上的服務(wù)器106的連接。在一些實(shí)施例中,第二網(wǎng)絡(luò)104’是不能從第一網(wǎng)絡(luò)104路由的。在其他實(shí)施例中,客戶機(jī)102位于公用網(wǎng)絡(luò)104上,并且服務(wù)器106位于專用網(wǎng)絡(luò)104’上,例如企業(yè)網(wǎng)。在一個實(shí)施例中,客戶機(jī)代理120攔截第一網(wǎng)絡(luò)104上的客戶機(jī)102的通信,加密該通信,并且經(jīng)第一傳輸層連接發(fā)送該通信到設(shè)備205。設(shè)備205將第一網(wǎng)絡(luò)104上的第一傳輸層連接與到第二網(wǎng)絡(luò)104上的服務(wù)器106的第二傳輸層連接相關(guān)聯(lián)。設(shè)備205接收來自客戶機(jī)代理102的所攔截的通信,解密該通信,并且經(jīng)第二傳輸層連接發(fā)送該通信到第二網(wǎng)絡(luò)104上的服務(wù)器106。第二傳輸層連接可以是池化的傳輸層連接。同樣的,設(shè)備205為兩個網(wǎng)絡(luò)104、104’之間的客戶機(jī)102提供端到端安全傳輸層連接。[0216]在一個實(shí)施例中,設(shè)備205寄載虛擬專用網(wǎng)絡(luò)104上的客戶機(jī)102的內(nèi)部網(wǎng)互聯(lián)網(wǎng)協(xié)議或者IntranetIP282地址??蛻魴C(jī)102具有本地網(wǎng)絡(luò)標(biāo)識符,諸如第一網(wǎng)絡(luò)104上的互聯(lián)網(wǎng)協(xié)議(IP)地址和/或主機(jī)名稱。當(dāng)經(jīng)設(shè)備205連接到第二網(wǎng)絡(luò)104’時,設(shè)備205在第二網(wǎng)絡(luò)104’上為客戶機(jī)102建立、分配或者以其它方式提供IntranetIP地址282,其是諸如IP地址和/或主機(jī)名稱的網(wǎng)絡(luò)標(biāo)識符。使用為客戶機(jī)的所建立的IntranetIP282,設(shè)備205在第二或?qū)S镁W(wǎng)104’上監(jiān)聽并接收指向該客戶機(jī)102的任何通信。在一個實(shí)施例中,設(shè)備205在第二專用網(wǎng)絡(luò)104上用作或者代表客戶機(jī)102。例如,在又一個實(shí)施例中,vServer275監(jiān)聽和響應(yīng)到客戶機(jī)102的IntranetIP282的通信。在一些實(shí)施例中,如果第二網(wǎng)絡(luò)104’上的計算裝置100發(fā)送請求,設(shè)備205如同客戶機(jī)102—樣來處理該請求。例如,設(shè)備205可以響應(yīng)對客戶機(jī)IntranetIP282的查驗。在又一個實(shí)施例中,設(shè)備可以與請求和客戶機(jī)IntranetIP282連接的第二網(wǎng)絡(luò)104上的計算裝置100建立連接,諸如TCP或者UDP連接。[0217]在一些實(shí)施例中,設(shè)備205為客戶機(jī)102和服務(wù)器106之間的通信提供下列一個或多個加速技術(shù)288:1)壓縮;2)解壓縮;3)傳輸控制協(xié)議池;4)傳輸控制協(xié)議多路復(fù)用;5)傳輸控制協(xié)議緩沖;以及6)高速緩存。在一個實(shí)施例中,設(shè)備205通過開啟與每一服務(wù)器106的一個或者多個傳輸層連接并且維持這些連接以允許由客戶機(jī)經(jīng)因特網(wǎng)的重復(fù)數(shù)據(jù)訪問,來為服務(wù)器106緩解由重復(fù)開啟和關(guān)閉到客戶機(jī)102的傳輸層連接所造成的大量處理負(fù)載。該技術(shù)此處稱為“連接池”。[0218]在一些實(shí)施例中,為了經(jīng)池化的傳輸層連接無縫拼接從客戶機(jī)102到服務(wù)器106的通信,設(shè)備205通過在傳輸層協(xié)議級修改序列號和確認(rèn)號來轉(zhuǎn)換或多路復(fù)用通信。這被稱為“連接多路復(fù)用”。在一些實(shí)施例中,不需要應(yīng)用層協(xié)議相互作用。例如,在到來分組(即,自客戶機(jī)102接收的分組)的情況中,所述分組的源網(wǎng)絡(luò)地址被改變?yōu)樵O(shè)備205的輸出端口的網(wǎng)絡(luò)地址,而目的網(wǎng)絡(luò)地址被改為目的服務(wù)器的網(wǎng)絡(luò)地址。在發(fā)出分組(即,自服務(wù)器106接收的一個分組)的情況中,源網(wǎng)絡(luò)地址被從服務(wù)器106的網(wǎng)絡(luò)地址改變?yōu)樵O(shè)備205的輸出端口的網(wǎng)絡(luò)地址,而目的地址被從設(shè)備205的網(wǎng)絡(luò)地址改變?yōu)檎埱蟮目蛻魴C(jī)102的網(wǎng)絡(luò)地址。分組的序列號和確認(rèn)號也被轉(zhuǎn)換為到客戶機(jī)102的設(shè)備205的傳輸層連接上的客戶機(jī)102所期待的序列號和確認(rèn)。在一些實(shí)施例中,傳輸層協(xié)議的分組校驗和被重新計算以計及這些轉(zhuǎn)換。[0219]在又一個實(shí)施例中,設(shè)備205為客戶機(jī)102和服務(wù)器106之間的通信提供交換或負(fù)載平衡功能284。在一些實(shí)施例中,設(shè)備205根據(jù)層4或應(yīng)用層請求數(shù)據(jù)來分布流量并將客戶機(jī)請求定向到服務(wù)器106。在一個實(shí)施例中,盡管網(wǎng)絡(luò)分組的網(wǎng)絡(luò)層或者層2識別目的服務(wù)器106,但設(shè)備205通過承載為傳輸層分組的有效載荷的數(shù)據(jù)和應(yīng)用信息來確定服務(wù)器106以便分發(fā)網(wǎng)絡(luò)分組。在一個實(shí)施例中,設(shè)備205的健康監(jiān)控程序216監(jiān)控服務(wù)器的健康來確定分發(fā)客戶機(jī)請求到哪個服務(wù)器106。在一些實(shí)施例中,如果設(shè)備205探測到某個服務(wù)器106不可用或者具有超過預(yù)定閾值的負(fù)載,設(shè)備205可以將客戶機(jī)請求指向或者分發(fā)到另一個服務(wù)器106。[0220]在一些實(shí)施例中,設(shè)備205用作域名服務(wù)(DNS)解析器或者以其它方式為來自客戶機(jī)102的DNS請求提供解析。在一些實(shí)施例中,設(shè)備攔截由客戶機(jī)102發(fā)送的DNS請求。在一個實(shí)施例中,設(shè)備205以設(shè)備205的IP地址或其所寄載的IP地址來響應(yīng)客戶機(jī)的DNS請求。在此實(shí)施例中,客戶機(jī)102把用于域名的網(wǎng)絡(luò)通信發(fā)送到設(shè)備205。在又一個實(shí)施例中,設(shè)備205以第二設(shè)備205’的或其所寄載的IP地址來響應(yīng)客戶機(jī)的DNS請求。在一些實(shí)施例中,設(shè)備205使用由設(shè)備205確定的服務(wù)器106的IP地址來響應(yīng)客戶機(jī)的DNS請求。[0221]在又一個實(shí)施例中,設(shè)備205為客戶機(jī)102和服務(wù)器106之間的通信提供應(yīng)用防火墻功能290。在一個實(shí)施例中,策略引擎236提供用于探測和阻斷非法請求的規(guī)則。在一些實(shí)施例中,應(yīng)用防火墻290防御拒絕服務(wù)(DoS)攻擊。在其他實(shí)施例中,設(shè)備檢查所攔截的請求的內(nèi)容,以識別和阻斷基于應(yīng)用的攻擊。在一些實(shí)施例中,規(guī)則/策略引擎236包括用于提供對多個種類和類型的基于web或因特網(wǎng)的脆弱點(diǎn)的保護(hù)的一個或多個應(yīng)用防火墻或安全控制策略,例如下列的一個或多個脆弱點(diǎn):1)緩沖區(qū)泄出,2)CG1-BIN參數(shù)操縱,3)表單/隱藏字段操縱,4)強(qiáng)制瀏覽,5)cookie或會話中毒,6)被破壞的訪問控制列表(ACLs)或弱密碼,7)跨站腳本處理(XSS),8)命令注入,9)SQL注入,10)錯誤觸發(fā)敏感信息泄露,11)對加密的不安全使用,12)服務(wù)器錯誤配置,13)后門和調(diào)試選項,14)網(wǎng)站涂改,15)平臺或操作系統(tǒng)弱點(diǎn),和16)零天攻擊。在一個實(shí)施例中,對下列情況的一種或多種,應(yīng)用防火墻290以檢查或分析網(wǎng)絡(luò)通信的形式來提供HTML格式字段的保護(hù):1)返回所需的字段,2)不允許附加字段,3)只讀和隱藏字段強(qiáng)制(enforcement),4)下拉列表和單選按鈕字段的一致,以及5)格式字段最大長度強(qiáng)制。在一些實(shí)施例中,應(yīng)用防火墻290確保cookie不被修改。在其他實(shí)施例中,應(yīng)用防火墻290通過執(zhí)行合法的URL來防御強(qiáng)制瀏覽。[0222]在其他實(shí)施例中,應(yīng)用防火墻290保護(hù)在網(wǎng)絡(luò)通信中包含的任何機(jī)密信息。應(yīng)用防火墻290可以根據(jù)引擎236的規(guī)則或策略來檢查或分析任一網(wǎng)絡(luò)通信以識別在網(wǎng)絡(luò)分組的任一字段中的任一機(jī)密信息。在一些實(shí)施例中,應(yīng)用防火墻290在網(wǎng)絡(luò)通信中識別信用卡號、口令、社會保險號、姓名、病人代碼、聯(lián)系信息和年齡的一次或多次出現(xiàn)。網(wǎng)絡(luò)通信的編碼部分可以包括這些出現(xiàn)或機(jī)密信息?;谶@些出現(xiàn),在一個實(shí)施例中,應(yīng)用防火墻290可以對網(wǎng)絡(luò)通信采取策略行動,諸如阻止發(fā)送網(wǎng)絡(luò)通信。在又一個實(shí)施例中,應(yīng)用防火墻290可以重寫、移動或者以其它方式掩蓋該所識別的出現(xiàn)或者機(jī)密信息。[0223]現(xiàn)在參考圖4D,描述了在服務(wù)器106的管理程序401上操作的虛擬設(shè)備460的實(shí)施例的框圖。如圖2A和2B的設(shè)備205—樣,虛擬設(shè)備460可以提供可用性、性能、卸載和安全的功能。對于可用性,虛擬設(shè)備可以執(zhí)行網(wǎng)絡(luò)層4和層7之間的負(fù)載平衡并且還可以執(zhí)行智能服務(wù)健康監(jiān)控。對于通過網(wǎng)絡(luò)流量加速實(shí)現(xiàn)的性能增加,虛擬設(shè)備可以執(zhí)行高速緩存和壓縮。對于任何服務(wù)器的卸載處理,虛擬設(shè)備可以執(zhí)行連接復(fù)用和連接池和/或SSL處理。對于安全,虛擬設(shè)備可以執(zhí)行設(shè)備200的任何應(yīng)用防火墻功能和SSLVPN功能。[0224]結(jié)合附圖2A描述的設(shè)備200的任何模塊可以虛擬化設(shè)備傳送控制器460的形式被打包、組合、設(shè)計或構(gòu)造,虛擬化設(shè)備傳送控制器460可部署成在諸如流行的服務(wù)器這樣的任何服務(wù)器上的虛擬化環(huán)境400或非虛擬化環(huán)境中執(zhí)行的軟件模塊或組件。例如,可以安裝在計算裝置上的安裝包的形式提供虛擬設(shè)備。圖2C中描述的設(shè)備的任何組件或功能可被設(shè)計和構(gòu)造為在計算裝置和/或虛擬化環(huán)境300的任何操作系統(tǒng)上運(yùn)行的軟件組件或模塊。[0225]仍參考圖4D,簡言之,任何一個或多個vServer275A-275N可以操作或執(zhí)行在任意類型的計算裝置100(如服務(wù)器106)的虛擬化環(huán)境400中。結(jié)合附圖2C描述的設(shè)備200的任何模塊和功能可以設(shè)計和構(gòu)造成在服務(wù)器的虛擬化或非虛擬化環(huán)境中操作??梢詫Server275、SSLVPN280、內(nèi)網(wǎng)UP282、交換裝置284、DNS286、加速裝置288、APPFW280和監(jiān)控代理中的任一個打包、組合、設(shè)計或構(gòu)造成應(yīng)用傳送控制器460的形式,應(yīng)用傳送控制器460可部署成在裝置和/或虛擬化環(huán)境400中執(zhí)行的一個或多個軟件模塊或組件。[0226]一些實(shí)施例中,服務(wù)器可以在虛擬化環(huán)境中執(zhí)行多個虛擬機(jī)406a_406b,每個虛擬機(jī)運(yùn)行虛擬應(yīng)用傳送控制器460的相同或不同實(shí)施例。一些實(shí)施例中,服務(wù)器可以在多核處理系統(tǒng)的一個核上執(zhí)行一個或多個虛擬機(jī)上的一個或多個虛擬設(shè)備460。一些實(shí)施例中,服務(wù)器可以在多處理器裝置的每個處理器上執(zhí)行一個或多個虛擬機(jī)上的一個或多個虛擬設(shè)備460。[0227]C.客戶機(jī)代理[0228]現(xiàn)參考圖3,描述客戶機(jī)代理120的實(shí)施例??蛻魴C(jī)102包括客戶機(jī)代理120,用于經(jīng)由網(wǎng)絡(luò)104與設(shè)備200、設(shè)備205和/或服務(wù)器106來建立、交換、管理和控制通信。在一些實(shí)施例中,客戶機(jī)120(其也可以被稱為WAN客戶機(jī))加速WAN網(wǎng)絡(luò)通信和/或用于通過網(wǎng)絡(luò)設(shè)備200通信??偟膩碚f,客戶機(jī)102在計算裝置100上操作,該計算裝置100擁有帶有內(nèi)核模式302以及用戶模式303的操作系統(tǒng),以及帶有一個或多個層310a-310b的網(wǎng)絡(luò)堆棧267??蛻魴C(jī)102可以已經(jīng)安裝和/或執(zhí)行一個或多個應(yīng)用。在一些實(shí)施例中,一個或多個應(yīng)用可通過網(wǎng)絡(luò)堆棧267與網(wǎng)絡(luò)104通信。所述應(yīng)用之一,諸如web瀏覽器,也可包括第一程序322。例如,可在一些實(shí)施例中使用第一程序322來安裝和/或執(zhí)行客戶機(jī)代理120,或其中任何部分??蛻魴C(jī)代理120包括攔截機(jī)制或者攔截器350,用于從網(wǎng)絡(luò)堆棧267攔截來自一個或者多個應(yīng)用的網(wǎng)絡(luò)通信。[0229]與設(shè)備200—樣,客戶機(jī)102具有網(wǎng)絡(luò)堆棧267,其包括任何類型和形式的軟件、或硬件或其組合,用于提供與網(wǎng)絡(luò)104的連接和通信??蛻魴C(jī)102的網(wǎng)絡(luò)堆棧267包括上文結(jié)合設(shè)備200所描述的任何一個網(wǎng)絡(luò)堆棧實(shí)施例。在一些實(shí)施例中,客戶機(jī)代理120或其任何部分被設(shè)計和構(gòu)建為與由客戶機(jī)102的操作系統(tǒng)安裝或以其他方式提供的網(wǎng)絡(luò)堆棧267一起操作或聯(lián)合工作。[0230]在進(jìn)一步的細(xì)節(jié)中,客戶機(jī)102或設(shè)備200(205)的網(wǎng)絡(luò)堆棧267可包括任何類型和形式的接口,用于接收、獲得、提供或以其它方式訪問與客戶機(jī)102的網(wǎng)絡(luò)通信相關(guān)的任何信息和數(shù)據(jù)。在一個實(shí)施例中,與網(wǎng)絡(luò)堆棧267的接口包括應(yīng)用編程接口(API)。接口也可包括任何函數(shù)調(diào)用、鉤子或過濾機(jī)制,事件或回調(diào)機(jī)制、或任何類型的接口技術(shù)。網(wǎng)絡(luò)堆棧267通過接口可接收或提供與網(wǎng)絡(luò)堆棧267的功能或操作相關(guān)的任何類型和形式的數(shù)據(jù)結(jié)構(gòu),例如對象。例如,數(shù)據(jù)結(jié)構(gòu)可以包括與網(wǎng)絡(luò)分組相關(guān)的信息和數(shù)據(jù)或者一個或多個網(wǎng)絡(luò)分組。在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括、引用或識別在網(wǎng)絡(luò)堆棧267的協(xié)議層處理的網(wǎng)絡(luò)分組的一部分,例如傳輸層的網(wǎng)絡(luò)分組。在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)325包括內(nèi)核級別數(shù)據(jù)結(jié)構(gòu),而在其他實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)325包括用戶模式數(shù)據(jù)結(jié)構(gòu)。內(nèi)核級數(shù)據(jù)結(jié)構(gòu)可以包括獲得的或與在內(nèi)核模式302中操作的網(wǎng)絡(luò)堆棧267的一部分、或者運(yùn)行在內(nèi)核模式302中的網(wǎng)絡(luò)驅(qū)動程序或其它軟件相關(guān)的數(shù)據(jù)結(jié)構(gòu)、或者由運(yùn)行或操作在操作系統(tǒng)的內(nèi)核模式的服務(wù)、進(jìn)程、任務(wù)、線程或其它可執(zhí)行指令獲得或收到的任何數(shù)據(jù)結(jié)構(gòu)。[0231]此外,網(wǎng)絡(luò)堆棧267的一些部分可在內(nèi)核模式302執(zhí)行或操作,例如,數(shù)據(jù)鏈路或網(wǎng)絡(luò)層,而其他部分在用戶模式303執(zhí)行或操作,例如網(wǎng)絡(luò)堆棧267的應(yīng)用層。例如,網(wǎng)絡(luò)堆棧的第一部分310a可以給應(yīng)用提供對網(wǎng)絡(luò)堆棧267的用戶模式訪問,而網(wǎng)絡(luò)堆棧267的第二部分310a提供對網(wǎng)絡(luò)的訪問。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧的第一部分310a可包括網(wǎng)絡(luò)堆棧267的一個或多個更上層,例如層5-7的任何層。在其它實(shí)施例中,網(wǎng)絡(luò)堆棧267的第二部分310b包括一個或多個較低的層,例如層1-4的任何層。網(wǎng)絡(luò)堆棧267的第一部分310a和第二部分310b的每一個可包括網(wǎng)絡(luò)堆棧267的任何部分,位于任何一個或多個網(wǎng)絡(luò)層,處于用戶模式303、內(nèi)核模式302,或其組合,或在網(wǎng)絡(luò)層的任何部分或者到網(wǎng)絡(luò)層的接口點(diǎn),或用戶模式302和內(nèi)核模式203的任何部分或到用戶模式302和內(nèi)核模式203的接口點(diǎn)。[0232]攔截器350可以包括軟件、硬件、或者軟件和硬件的任何組合。在一個實(shí)施例中,攔截器350在網(wǎng)絡(luò)堆棧267的任一點(diǎn)攔截或以其他方式接收網(wǎng)絡(luò)通信,并且重定向或者傳輸網(wǎng)絡(luò)通信到由攔截器350或者客戶機(jī)代理120所期望的、管理的或者控制的目的地。例如,攔截器350可以攔截第一網(wǎng)絡(luò)的網(wǎng)絡(luò)堆棧267的網(wǎng)絡(luò)通信并且傳輸該網(wǎng)絡(luò)通信到設(shè)備200,用于在第二網(wǎng)絡(luò)104上傳輸。在一些實(shí)施例中,攔截器350包括驅(qū)動器或是驅(qū)動器,例如被構(gòu)建和設(shè)計來與網(wǎng)絡(luò)堆棧267對接并一同工作的網(wǎng)絡(luò)驅(qū)動器。在一些實(shí)施例中,客戶機(jī)代理120和/或攔截器350操作在網(wǎng)絡(luò)堆棧267的一個或者多個層,諸如在傳輸層。在一個實(shí)施例中,攔截器350包括過濾器驅(qū)動器、鉤子機(jī)制、或者連接到網(wǎng)絡(luò)堆棧的傳輸層的任一形式和類型的合適網(wǎng)絡(luò)驅(qū)動器接口,諸如通過傳輸驅(qū)動器接口(TDI)。在一些實(shí)施例中,攔截器350連接到諸如傳輸層的第一協(xié)議層和諸如傳輸協(xié)議層之上的任何層的另一個協(xié)議層,例如,應(yīng)用協(xié)議層。在一個實(shí)施例中,攔截器350可以包括遵守網(wǎng)絡(luò)驅(qū)動器接口規(guī)范(NDIS)的驅(qū)動器,或者NDIS驅(qū)動器。在又一個實(shí)施例中,攔截器350可以包括微型過濾器或者微端口驅(qū)動器。在一個實(shí)施例中,攔截器350或其部分在內(nèi)核模式202中操作。在又一個實(shí)施例中,攔截器350或其部分在用戶模式203中操作。在一些實(shí)施例中,攔截器350的一部分在內(nèi)核模式202中操作,而攔截器350的另一部分在用戶模式203中操作。在其它實(shí)施例中,客戶機(jī)代理120在用戶模式203操作,但通過攔截器350連接到內(nèi)核模式驅(qū)動器、進(jìn)程、服務(wù)、任務(wù)或者操作系統(tǒng)的部分,諸如以獲取內(nèi)核級數(shù)據(jù)結(jié)構(gòu)225。在其它實(shí)施例中,攔截器350為用戶模式應(yīng)用或者程序,諸如應(yīng)用。[0233]在一個實(shí)施例中,攔截器350攔截或接收任何的傳輸層連接請求。在這些實(shí)施例中,攔截器350執(zhí)行傳輸層應(yīng)用編程接口(API)調(diào)用以設(shè)置目的地信息,諸如到期望位置的目的地IP地址和/或端口用于定位。以此方式,攔截器350攔截并重定向傳輸層連接到由攔截器350或客戶機(jī)代理120控制或管理的IP地址和端口。在一個實(shí)施例中,攔截器350把該連接的目的地信息設(shè)置為客戶機(jī)代理120監(jiān)聽的客戶機(jī)102的本地IP地址和端口。例如,客戶機(jī)代理120可以包括為重定向的傳輸層通信監(jiān)聽本地IP地址和端口的代理服務(wù)。在一些實(shí)施例中,客戶機(jī)代理120隨后將重定向的傳輸層通信傳送到設(shè)備200。[0234]在一些實(shí)施例中,攔截器350攔截域名服務(wù)(DNS)請求。在一個實(shí)施例中,客戶機(jī)代理120和/或攔截器350解析DNS請求。在又一個實(shí)施例中,攔截器發(fā)送所攔截的DNS請求到設(shè)備200以進(jìn)行DNS解析。在一個實(shí)施例中,設(shè)備200解析DNS請求并且將DNS響應(yīng)傳送到客戶機(jī)代理120。在一些實(shí)施例中,設(shè)備200經(jīng)另一個設(shè)備200’或者DNS服務(wù)器106來解析DNS請求。[0235]在又一個實(shí)施例中,客戶機(jī)代理120可以包括兩個代理120和120’。在一個實(shí)施例中,第一代理120可以包括在網(wǎng)絡(luò)堆棧267的網(wǎng)絡(luò)層操作的攔截器350。在一些實(shí)施例中,第一代理120攔截網(wǎng)絡(luò)層請求,諸如互聯(lián)網(wǎng)控制消息協(xié)議(ICMP)請求(例如,查驗和跟蹤路由)。在其它實(shí)施例中,第二代理120’可以在傳輸層操作并且攔截傳輸層通信。在一些實(shí)施例中,第一代理120在網(wǎng)絡(luò)堆棧210的一層攔截通信并且與第二代理120’對接或者將所攔截的通信傳送到第二代理120’。[0236]客戶機(jī)代理120和/或攔截器350可以以對網(wǎng)絡(luò)堆棧267的任何其它協(xié)議層透明的方式在協(xié)議層操作或與之對接。例如,在一個實(shí)施例中,攔截器350可以以對諸如網(wǎng)絡(luò)層的傳輸層之下的任何協(xié)議層和諸如會話、表示或應(yīng)用層協(xié)議的傳輸層之上的任何協(xié)議層透明的方式在網(wǎng)絡(luò)堆棧267的傳輸層操作或與之對接。這允許網(wǎng)絡(luò)堆棧267的其它協(xié)議層如所期望的進(jìn)行操作并無需修改以使用攔截器350。這樣,客戶機(jī)代理120和/或攔截器350可以與傳輸層對接以安全、優(yōu)化、加速、路由或者負(fù)載平衡經(jīng)由傳輸層承載的任一協(xié)議提供的任一通信,諸如TCP/IP上的任一應(yīng)用層協(xié)議。[0237]此外,客戶機(jī)代理120和/或攔截器可以以對任何應(yīng)用、客戶機(jī)102的用戶、客戶機(jī)102和/或與客戶機(jī)102通信的諸如服務(wù)器或設(shè)備200、206的任何其它計算裝置100透明的方式在網(wǎng)絡(luò)堆棧267上操作或與之對接??蛻魴C(jī)代理120和/或攔截器350可以以無需修改應(yīng)用的方式被安裝和/或執(zhí)行在客戶機(jī)102上。在一個實(shí)施例中,客戶機(jī)代理120或其任何部分被以對客戶機(jī)102、設(shè)備200、205或服務(wù)器106的任何網(wǎng)絡(luò)配置透明的方式被安裝和/或執(zhí)行。在一些實(shí)施例中,客戶機(jī)代理120或其任何部分被以無需修改客戶機(jī)102、設(shè)備200、205或服務(wù)器106的任何網(wǎng)絡(luò)配置的方式被安裝和/或執(zhí)行。在一個實(shí)施例中,客戶機(jī)102的用戶或者與客戶機(jī)102通信的計算裝置未意識到客戶機(jī)代理120或其任何部分的存在、執(zhí)行或者操作。同樣,在一些實(shí)施例中,相對于應(yīng)用、客戶機(jī)102的用戶、客戶機(jī)102、諸如服務(wù)器或設(shè)備200、205的另一個計算裝置、或者在由攔截器350連接的協(xié)議層之上和/或之下的任何協(xié)議層透明地來安裝、執(zhí)行和/或操作客戶機(jī)代理120和/或攔截器350。[0238]客戶機(jī)代理120包括流客戶機(jī)306、收集代理304、SSLVPN代理308、網(wǎng)絡(luò)優(yōu)化引擎250和/或加速程序302。在一個實(shí)施例中,客戶機(jī)代理120包括由佛羅里達(dá)州FortLauderdale的CitrixSystems公司開發(fā)的獨(dú)立計算架構(gòu)(ICA)客戶機(jī)或其任一部分,并且也被稱為ICA客戶機(jī)。在一些實(shí)施例中,客戶機(jī)代理120包括應(yīng)用流客戶機(jī)306,用于從服務(wù)器106流式傳輸應(yīng)用到客戶機(jī)102。在又一個實(shí)施例中,客戶機(jī)代理120包括收集代理304,用于執(zhí)行端點(diǎn)檢測/掃描并且用于為設(shè)備200和/或服務(wù)器106收集端點(diǎn)信息。在一些實(shí)施例中,客戶機(jī)代理120具有一個或多個網(wǎng)絡(luò)加速或優(yōu)化程序或代理,例如網(wǎng)絡(luò)優(yōu)化引擎250和加速程序302。在一個實(shí)施例中,加速程序302加速客戶機(jī)102和服務(wù)器106之間的經(jīng)過設(shè)備205’的通信。在一些實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250提供此處所討論的WAN優(yōu)化技術(shù)。[0239]流客戶機(jī)306是應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令集,所述應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令集用于接收和執(zhí)行從服務(wù)器106所流式傳輸?shù)膽?yīng)用。服務(wù)器106可以流式傳輸一個或者多個應(yīng)用數(shù)據(jù)文件到流客戶機(jī)306,用于播放、執(zhí)行或者以其它方式引起客戶機(jī)102上的應(yīng)用被執(zhí)行。在一些實(shí)施例中,服務(wù)器106發(fā)送一組壓縮或者打包的應(yīng)用數(shù)據(jù)文件到流客戶機(jī)306。在一些實(shí)施例中,多個應(yīng)用文件被壓縮并存儲在文件服務(wù)器上檔案文件中,例如CAB、ZIP、SIT、TAR、JAR或其它檔案文件。在一個實(shí)施例中,月艮務(wù)器106解壓縮、解包或者解檔應(yīng)用文件并且將該文件發(fā)送到客戶機(jī)102。在又一個實(shí)施例中,客戶機(jī)102解壓縮、解包或者解檔應(yīng)用文件。流客戶機(jī)306動態(tài)安裝應(yīng)用或其部分,并且執(zhí)行該應(yīng)用。在一個實(shí)施例中,流客戶機(jī)306可以是可執(zhí)行程序。在一些實(shí)施例中,流客戶機(jī)306可以能夠啟動另一個可執(zhí)行程序。[0240]收集代理304是用于識別、獲取和/或收集關(guān)于客戶機(jī)102的信息的應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令集。在一些實(shí)施例中,設(shè)備200發(fā)送收集代理304到客戶機(jī)102或者客戶機(jī)代理120??梢愿鶕?jù)設(shè)備的策略引擎236的一個或多個策略來配置收集代理304。在其它實(shí)施例中,收集代理304發(fā)送在客戶機(jī)102上收集的信息到設(shè)備200。在一個實(shí)施例中,設(shè)備200的策略引擎236使用所收集的信息來確定和提供客戶機(jī)到網(wǎng)絡(luò)104的連接的訪問、驗證和授權(quán)控制。[0241]在一個實(shí)施例中,收集代理304包括端點(diǎn)檢測和掃描機(jī)制,其識別并且確定客戶機(jī)的一個或者多個屬性或者特征。例如,收集代理304可以識別和確定任何一個或多個以下的客戶機(jī)側(cè)屬性:1)操作系統(tǒng)和/或操作系統(tǒng)的版本,2)操作系統(tǒng)的服務(wù)包,3)運(yùn)行的服務(wù),4)運(yùn)行的進(jìn)程,和5)文件。收集代理304還可以識別并確定客戶機(jī)上任何一個或多個以下軟件的存在或版本:1)防病毒軟件;2)個人防火墻軟件;3)防垃圾郵件軟件,和4)互聯(lián)網(wǎng)安全軟件。策略引擎236可以具有基于客戶機(jī)或客戶機(jī)側(cè)屬性的任何一個或多個屬性或特性的一個或多個策略。[0242]SSLVPN代理308是應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令集,所述應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令集用于建立從第一網(wǎng)絡(luò)104到第二網(wǎng)絡(luò)104’、104”的安全套接字層(SSL)虛擬專用網(wǎng)(VPN)連接,或從客戶機(jī)102到服務(wù)器106的SSLVPN連接。在一個實(shí)施例中,SSLVPN代理308建立從公共網(wǎng)104到專用網(wǎng)104’或104”的SSLVPN連接。在一些實(shí)施例中,SSLVPN代理308和設(shè)備205聯(lián)合工作以提供SSLVPN連接。在一個實(shí)施例中,SSLVPN代理308建立與設(shè)備205的第一傳輸層連接。在一些實(shí)施例中,設(shè)備205建立與服務(wù)器106的第二傳輸層連接。在又一個實(shí)施例中,SSLVPN代理308建立與客戶機(jī)上應(yīng)用的第一傳輸層連接,以及與設(shè)備205的第二傳輸層連接。在其他實(shí)施例中,SSLVPN代理308和WAN優(yōu)化設(shè)備200聯(lián)合工作以提供SSLVPN連通。[0243]在一些實(shí)施例中,加速程序302是用于執(zhí)行一個或多個加速技術(shù)的客戶機(jī)側(cè)加速程序,以加速、增強(qiáng)或者以其他方式改善客戶機(jī)與服務(wù)器106的通信和/或?qū)Ψ?wù)器106的訪問,諸如訪問由服務(wù)器106提供的應(yīng)用。加速程序302的可執(zhí)行指令的邏輯、功能和/或操作可以執(zhí)行一個或多個下列加速技術(shù):1)多協(xié)議壓縮,2)傳輸控制協(xié)議池,3)傳輸控制協(xié)議多路復(fù)用,4)傳輸控制協(xié)議緩沖,以及5)通過高速緩存管理器的高速緩存。另外,加速程序302可執(zhí)行由客戶機(jī)102接收和/或發(fā)送的任何通信的加密和/或解密。在一些實(shí)施例中,加速程序302以集成的方式或者格式執(zhí)行一個或者多個加速技術(shù)。另外,加速程序302可以對作為傳輸層協(xié)議的網(wǎng)絡(luò)分組的有效載荷所承載的任一協(xié)議或者多協(xié)議執(zhí)行壓縮。[0244]在一個實(shí)施例中,加速程序302被設(shè)計、構(gòu)建或配置為與設(shè)備205—起工作以提供LAN側(cè)加速或者提供通過設(shè)備205提供的加速技術(shù)。例如,在由CitrixSystem公司出品的NetScaler設(shè)備205的一個實(shí)施例中,加速程序302包括NetScaler客戶機(jī)。在一些實(shí)施例中,加速程序302在例如分支機(jī)構(gòu)中的遠(yuǎn)程裝置中提供獨(dú)立的NetScaler加速技術(shù)。在其他實(shí)施例中,加速程序302和一個或多個NetScaler設(shè)備205聯(lián)合工作。在一個實(shí)施例中,加速程序302提供網(wǎng)絡(luò)流量的LAN側(cè)或基于LAN的加速或優(yōu)化。[0245]在一些實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250可以被設(shè)計、構(gòu)建或配置為與WAN優(yōu)化設(shè)備200一起工作。在其他實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250可以被設(shè)計、構(gòu)建或配置為用或不用設(shè)備200提供設(shè)備200的WAN優(yōu)化技術(shù)。例如,在由CitrixSystem公司出品的WANScaler設(shè)備200的一個實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250包括WANScaler客戶機(jī)。在一些實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250在例如分支機(jī)構(gòu)的遠(yuǎn)程位置中提供獨(dú)立的WANScaler加速技術(shù)。在其他實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250和一個或多個WANScaler設(shè)備200聯(lián)合工作。[0246]在又一個實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250包括加速程序302、或加速程序302的功能、操作和邏輯。在一些實(shí)施例中,加速程序302包括網(wǎng)絡(luò)優(yōu)化引擎250或網(wǎng)絡(luò)優(yōu)化引擎250的功能、操作和邏輯。在又一個實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250作為從加速程序302分開的程序或可執(zhí)行指令集而被提供或安裝。在其他實(shí)施例中,網(wǎng)絡(luò)優(yōu)化引擎250和加速程序302可被包括在同一程序或同一可執(zhí)行指令集中。[0247]在一些實(shí)施例中,且仍參見圖3,第一程序322可以用于自動地、靜默地、透明地或者以其它方式安裝和/或執(zhí)行客戶機(jī)代理120或其任何部分。在一個實(shí)施例中,第一程序322包括插件組件,例如ActiveX控件或Java控件或腳本,其加載到應(yīng)用并由應(yīng)用執(zhí)行。例如,第一程序包括由web瀏覽器應(yīng)用加載和運(yùn)行的ActiveX控件,例如在存儲器空間或應(yīng)用的上下文中。在又一個實(shí)施例中,第一程序322包括被例如瀏覽器的應(yīng)用載入并執(zhí)行的可執(zhí)行指令集。在一個實(shí)施例中,第一程序322是被設(shè)計和構(gòu)造為安裝客戶機(jī)代理120的程序。在一些實(shí)施例中,第一程序322通過網(wǎng)絡(luò)從另一個計算裝置獲得、下載、或接收客戶機(jī)代理120。在又一個實(shí)施例中,第一程序322是安裝程序或即插即用管理器,用于在客戶機(jī)102的操作系統(tǒng)上安裝諸如網(wǎng)絡(luò)驅(qū)動和客戶機(jī)代理120或其任何部分的程序。[0248]在一些實(shí)施例中,客戶機(jī)代理120的每一或任一部分(流客戶機(jī)360、收集代理304、SSLVPN代理308和攔截代理350)可作為單獨(dú)的應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或可執(zhí)行指令集而被安裝、執(zhí)行、配置或操作。在其他實(shí)施例中,客戶機(jī)代理120的每一或任一部分可以一起作為單個客戶機(jī)代理120而被安裝、執(zhí)行、配置或操作。[0249]P.用于提供虛擬化設(shè)備的系統(tǒng)和方法[0250]現(xiàn)參考圖4A,該框圖描述虛擬化環(huán)境400的一個實(shí)施例??傮w而言,計算裝置100包括管理程序?qū)?、虛擬化層和硬件層。管理程序?qū)影ü芾沓绦?01(也稱為虛擬化管理器),其通過在虛擬化層中執(zhí)行的至少一個虛擬機(jī)來分配和管理對硬件層中的多個物理資源(例如處理器421和盤428)的訪問。虛擬化層包括至少一個操作系統(tǒng)410和分配給至少一個操作系統(tǒng)410的多個虛擬資源。虛擬資源可包括而不限于多個虛擬處理器432a、432b、432c(總稱為432)和虛擬盤442a、442b、442c(總稱為442),以及如虛擬存儲器和虛擬網(wǎng)絡(luò)接口的虛擬資源??蓪⒍鄠€虛擬資源和操作系統(tǒng)稱為虛擬機(jī)406。虛擬機(jī)406可包括控制操作系統(tǒng)405,該控制操作系統(tǒng)405與管理程序401通信,并用于執(zhí)行應(yīng)用以管理并配置計算裝置100上的其他虛擬機(jī)。[0251]具體而言,管理程序401可以以模擬可訪問物理設(shè)備的操作系統(tǒng)的任何方式向操作系統(tǒng)提供虛擬資源。管理程序401可以向任何數(shù)量的客戶操作系統(tǒng)410a、410b(總稱為410)提供虛擬資源。一些實(shí)施例中,計算裝置100執(zhí)行一種或多種管理程序。這些實(shí)施例中,管理程序可用于模擬虛擬硬件、劃分物理硬件、虛擬化物理硬件并執(zhí)行提供對計算環(huán)境的訪問的虛擬機(jī)。管理程序可包括由位于美國加州的PaloAlto的VMWare制造的這些程序;XEN管理程序(一種開源產(chǎn)品,其開發(fā)由開源Xen.0rg協(xié)會監(jiān)管);由微軟公司提供的HyperV>VirtualServer或虛擬PC管理程序,或其他。一些實(shí)施例中,計算裝置100執(zhí)行創(chuàng)建客戶操作系統(tǒng)可在其上執(zhí)行虛擬機(jī)平臺的管理程序,該計算裝置100被稱為宿主服務(wù)器。在這些實(shí)施例的一個中,例如,計算裝置100是由位于美國佛羅里達(dá)州FortLauderdale的CitrixSystems有限公司提供的XENSERVER。[0252]一些實(shí)施例中,管理程序401在計算裝置上執(zhí)行的操作系統(tǒng)之內(nèi)執(zhí)行。在這些實(shí)施例的一個中,執(zhí)行操作系統(tǒng)和管理程序401的計算裝置可被視為具有宿主操作系統(tǒng)(執(zhí)行在計算裝置上的操作系統(tǒng)),和客戶操作系統(tǒng)(在由管理程序401提供的計算資源分區(qū)內(nèi)執(zhí)行的操作系統(tǒng))。其他實(shí)施例中,管理程序401和計算裝置上的硬件直接交互而不是在宿主操作系統(tǒng)上執(zhí)行。在這些實(shí)施例的一個中,管理程序401可被視為在“裸金屬(baremetal)”上執(zhí)行,所述“裸金屬”指包括計算裝置的硬件。[0253]一些實(shí)施例中,管理程序401可以產(chǎn)生操作系統(tǒng)410在其中執(zhí)行的虛擬機(jī)406a-c(總稱為406)。在這些實(shí)施例的一個中,管理程序401加載虛擬機(jī)映像以創(chuàng)建虛擬機(jī)406。在這些實(shí)施例的又一個中,管理程序401在虛擬機(jī)406內(nèi)執(zhí)行操作系統(tǒng)410。仍在這些實(shí)施例的又一個中,虛擬機(jī)406執(zhí)行操作系統(tǒng)410。[0254]一些實(shí)施例中,管理程序401控制在計算裝置100上執(zhí)行的虛擬機(jī)406的處理器調(diào)度和內(nèi)存劃分。在這些實(shí)施例的一個中,管理程序401控制至少一個虛擬機(jī)406的執(zhí)行。在這些實(shí)施例的又一個中,管理程序401向至少一個虛擬機(jī)406呈現(xiàn)由計算裝置100提供的至少一個硬件資源的抽象。其他實(shí)施例中,管理程序401控制是否以及如何將物理處理器能力呈現(xiàn)給虛擬機(jī)406。[0255]控制操作系統(tǒng)405可以執(zhí)行用于管理和配置客戶操作系統(tǒng)的至少一個應(yīng)用。一個實(shí)施例中,控制操作系統(tǒng)405可以執(zhí)行管理應(yīng)用,如包括如下用戶接口的應(yīng)用,該用戶接口為管理員提供對用于管理虛擬機(jī)執(zhí)行的功能的訪問,這些功能包括用于執(zhí)行虛擬機(jī)、中止虛擬機(jī)執(zhí)行或者識別要分配給虛擬機(jī)的物理資源類型的功能。又一個實(shí)施例中,管理程序401在由管理程序401創(chuàng)建的虛擬機(jī)406內(nèi)執(zhí)行控制操作系統(tǒng)405。又一個實(shí)施例中,控制操作系統(tǒng)405在被授權(quán)直接訪問計算裝置100上的物理資源的虛擬機(jī)406上執(zhí)行。一些實(shí)施例中,計算裝置IOOa上的控制操作系統(tǒng)405a可以通過管理程序401a和管理程序401b之間的通信與計算裝置IOOb上的控制操作系統(tǒng)405b交換數(shù)據(jù)。這樣,一個或多個計算裝置100可以和一個或多個其他計算裝置100交換有關(guān)處理器或資源池中可用的其他物理資源的數(shù)據(jù)。在這些實(shí)施例的一個中,這種功能允許管理程序管理分布在多個物理計算裝置上的資源池。在這些實(shí)施例的又一個中,多個管理程序管理在一個計算裝置100上執(zhí)行的一個或多個客戶操作系統(tǒng)。[0256]一個實(shí)施例中,控制操作系統(tǒng)405在被授權(quán)與至少一個客戶操作系統(tǒng)410交互的虛擬機(jī)406上執(zhí)行。又一個實(shí)施例中,客戶操作系統(tǒng)410通過管理程序401和控制操作系統(tǒng)405通信,以請求訪問盤或網(wǎng)絡(luò)。仍在又一個實(shí)施例中,客戶操作系統(tǒng)410和控制操作系統(tǒng)405可通過由管理程序401建立的通信信道通信,例如,通過由管理程序401提供的多個共享存儲器頁面。[0257]一些實(shí)施例中,控制操作系統(tǒng)405包括用于直接與由計算裝置100提供的網(wǎng)絡(luò)硬件通信的網(wǎng)絡(luò)后端驅(qū)動器。在這些實(shí)施例的一個中,網(wǎng)絡(luò)后端驅(qū)動器處理來自至少一個客戶操作系統(tǒng)110的至少一個虛擬機(jī)請求。其他實(shí)施例中,控制操作系統(tǒng)405包括用于與計算裝置100上的存儲元件通信的塊后端驅(qū)動器。在這些實(shí)施例的一個中,塊后端驅(qū)動器基于從客戶操作系統(tǒng)410接收的至少一個請求從存儲元件讀寫數(shù)據(jù)。[0258]一個實(shí)施例中,控制操作系統(tǒng)405包括工具堆棧404。其他實(shí)施例中,工具堆棧404提供如下功能:和管理程序401交互、和其他控制操作系統(tǒng)405(例如位于第二計算裝置IOOb上)通信,或者管理計算裝置100上的虛擬機(jī)406b、406c。又一個實(shí)施例中,工具堆棧404包括自定義應(yīng)用,其用于向虛擬機(jī)群的管理員提供改進(jìn)的管理功能。一些實(shí)施例中,工具堆棧404和控制操作系統(tǒng)405中的至少一個包括管理API,其提供用于遠(yuǎn)程配置并控制計算裝置100上運(yùn)行的虛擬機(jī)406的接口。其他實(shí)施例中,控制操作系統(tǒng)405通過工具堆棧404和管理程序401通信。[0259]一個實(shí)施例中,管理程序401在由管理程序401創(chuàng)建的虛擬機(jī)406內(nèi)執(zhí)行客戶操作系統(tǒng)410。又一個實(shí)施例中,客戶操作系統(tǒng)410為計算裝置100的用戶提供對計算環(huán)境中的資源的訪問。又一個實(shí)施例中,資源包括程序、應(yīng)用、文檔、文件、多個應(yīng)用、多個文件、可執(zhí)行程序文件、桌面環(huán)境、計算環(huán)境或?qū)τ嬎阊b置100的用戶可用的其他資源。又一個實(shí)施例中,可通過多個訪問方法將資源傳送給計算裝置100,這些方法包括但不限于:常規(guī)的直接在計算裝置100上安裝、通過應(yīng)用流的方法傳送給計算裝置100、將由在第二計算裝置100’上執(zhí)行資源產(chǎn)生的并通過表示層協(xié)議傳送給計算裝置100的輸出數(shù)據(jù)傳送給計算裝置100、將通過在第二計算裝置100’上執(zhí)行的虛擬機(jī)執(zhí)行資源所產(chǎn)生的輸出數(shù)據(jù)傳送給計算裝置100、或者從連接到計算裝置100的移動存儲裝置(例如USB設(shè)備)執(zhí)行或者通過在計算裝置100上執(zhí)行的虛擬機(jī)執(zhí)行并且產(chǎn)生輸出數(shù)據(jù)。一些實(shí)施例中,計算裝置100將執(zhí)行資源所產(chǎn)生的輸出數(shù)據(jù)傳輸給另一個計算裝置100’。[0260]一個實(shí)施例中,客戶操作系統(tǒng)410和該客戶操作系統(tǒng)410在其上執(zhí)行的虛擬機(jī)結(jié)合形成完全虛擬化虛擬機(jī),該完全虛擬化虛擬機(jī)并不知道自己是虛擬機(jī),這樣的機(jī)器可稱為“DomainUHVM(硬件虛擬機(jī))虛擬機(jī)”。又一個實(shí)施例中,完全虛擬化機(jī)包括模擬基本輸入/輸出系統(tǒng)(BIOS)的軟件以便在完全虛擬化機(jī)中執(zhí)行操作系統(tǒng)。在又一個實(shí)施例中,完全虛擬化機(jī)可包括驅(qū)動器,其通過和管理程序401通信提供功能。這樣的實(shí)施例中,驅(qū)動器可意識到自己在虛擬化環(huán)境中執(zhí)行。又一個實(shí)施例中,客戶操作系統(tǒng)410和該客戶操作系統(tǒng)410在其上執(zhí)行的虛擬機(jī)結(jié)合形成超虛擬化(paravirtualized)虛擬機(jī),該超虛擬化虛擬機(jī)意識到自己是虛擬機(jī),這樣的機(jī)器可稱為“DomainUPV虛擬機(jī)”。又一個實(shí)施例中,超虛擬化機(jī)包括完全虛擬化機(jī)不包括的額外驅(qū)動器。又一個實(shí)施例中,超虛擬化機(jī)包括如上所述的被包含在控制操作系統(tǒng)405中的網(wǎng)絡(luò)后端驅(qū)動器和塊后端驅(qū)動器。[0261]現(xiàn)參考圖4B,框圖描述了系統(tǒng)中的多個聯(lián)網(wǎng)計算裝置的一個實(shí)施例,其中,至少一個物理主機(jī)執(zhí)行虛擬機(jī)。總體而言,系統(tǒng)包括管理組件404和管理程序401。系統(tǒng)包括多個計算裝置100、多個虛擬機(jī)406、多個管理程序401、多個管理組件(又稱為工具堆棧404或者管理組件404)以及物理資源421、428。多個物理機(jī)器100的每一個可被提供為如上結(jié)合圖1E-1H和圖4A描述的計算裝置100。[0262]具體而言,物理盤428由計算裝置100提供,存儲至少一部分虛擬盤442。一些實(shí)施例中,虛擬盤442和多個物理盤428相關(guān)聯(lián)。在這些實(shí)施例的一個中,一個或多個計算裝置100可以與一個或多個其他計算裝置100交換有關(guān)處理器或資源池中可用的其他物理資源的數(shù)據(jù),允許管理程序管理分布在多個物理計算裝置上的資源池。一些實(shí)施例中,將虛擬機(jī)406在其上執(zhí)行的計算裝置100稱為物理主機(jī)100或主機(jī)100。[0263]管理程序在計算裝置100上的處理器上執(zhí)行。管理程序?qū)ξ锢肀P的訪問量分配給虛擬盤。一個實(shí)施例中,管理程序401分配物理盤上的空間量。又一個實(shí)施例中,管理程序401分配物理盤上的多個頁面。一些實(shí)施例中,管理程序提供虛擬盤442作為初始化和執(zhí)行虛擬機(jī)450進(jìn)程的一部分。[0264]一個實(shí)施例中,將管理組件404a稱為池管理組件404a。又一個實(shí)施例中,可以稱為控制管理系統(tǒng)405a的管理操作系統(tǒng)405a包括管理組件。一些實(shí)施例中,將管理組件稱為工具堆棧。在這些實(shí)施例的一個中,管理組件是上文結(jié)合圖4A描述的工具堆棧404。其他實(shí)施例中,管理組件404提供用戶接口,用于從如管理員的用戶接收要供應(yīng)和/或執(zhí)行的虛擬機(jī)406的標(biāo)識。仍在其他實(shí)施例中,管理組件404提供用戶接口,用于從如管理員的用戶接收將虛擬機(jī)406b從一個物理機(jī)器100遷移到另一物理機(jī)器的請求。在進(jìn)一步的實(shí)施例中,管理組件404a識別在其上執(zhí)行所請求的虛擬機(jī)406d的計算裝置IOOb并指示所識別的計算裝置IOOb上的管理程序401b執(zhí)行所識別的虛擬機(jī),這樣,可將管理組件稱為池管理組件。[0265]現(xiàn)參考圖4C,描述了虛擬應(yīng)用傳送控制器或虛擬設(shè)備450的實(shí)施例。總體而言,上文結(jié)合圖2A和2B描述的設(shè)備200的任何功能和/或?qū)嵤├?例如應(yīng)用傳送控制器)可以部署在上文結(jié)合圖4A和4B描述的虛擬化環(huán)境的任何實(shí)施例中。應(yīng)用傳送控制器的功能不是以設(shè)備200的形式部署,而是將該功能部署在諸如客戶機(jī)102、服務(wù)器106或設(shè)備200的任何計算裝置100上的虛擬化環(huán)境400中。[0266]現(xiàn)在參考圖4C,描述了在服務(wù)器106的管理程序401上操作的虛擬設(shè)備450的實(shí)施例的框圖。如圖2A和2B的設(shè)備200—樣,虛擬機(jī)450可以提供可用性、性能、卸載和安全的功能。對于可用性,虛擬設(shè)備可以執(zhí)行網(wǎng)絡(luò)第4層和第7層之間的負(fù)載平衡并執(zhí)行智能服務(wù)健康監(jiān)控。對于通過網(wǎng)絡(luò)流量加速實(shí)現(xiàn)的性能增加,虛擬設(shè)備可以執(zhí)行緩存和壓縮。對于任何服務(wù)器的卸載處理,虛擬設(shè)備可以執(zhí)行連接復(fù)用和連接池和/或SSL處理。對于安全,虛擬設(shè)備可以執(zhí)行設(shè)備200的任何應(yīng)用防火墻功能和SSLVPN功能。[0267]結(jié)合附圖2A描述的設(shè)備200的任何模塊可以虛擬化設(shè)備傳送控制器450的形式被打包、組合、設(shè)計或構(gòu)造,虛擬化設(shè)備傳送控制器450可部署成在諸如流行的服務(wù)器這樣的任何服務(wù)器上的虛擬化環(huán)境300或非虛擬化環(huán)境中執(zhí)行的軟件模塊或組件。例如,可以安裝在計算裝置上的安裝包的形式提供虛擬設(shè)備。參考圖2A,可以將高速緩存管理器232、策略引擎236、壓縮238、加密引擎234、分組引擎240、⑶I210、CLI212、殼服務(wù)214中的任一個設(shè)計和構(gòu)成在計算裝置和/或虛擬化環(huán)境300的任何操作系統(tǒng)上運(yùn)行的組件或模塊。虛擬化設(shè)備400不使用設(shè)備200的加密處理器260、處理器262、存儲器264和網(wǎng)絡(luò)堆棧267,而是可使用虛擬化環(huán)境400提供的任何這些資源或者服務(wù)器106上以其他方式可用的這些資源。[0268]仍參考圖4C,簡言之,任何一個或多個vServer275A-275N可以操作或執(zhí)行在任意類型的計算裝置100(如服務(wù)器106)的虛擬化環(huán)境400中。結(jié)合附圖2B描述的設(shè)備200的任何模塊和功能可以設(shè)計和構(gòu)造成在服務(wù)器的虛擬化或非虛擬化環(huán)境中操作。可以將vServer275、SSLVPN280、內(nèi)網(wǎng)UP282、交換裝置284、DNS286、加速裝置288、APPFW280和監(jiān)控代理中的任一個打包、組合、設(shè)計或構(gòu)造成應(yīng)用傳送控制器450的形式,應(yīng)用傳送控制器450可部署成在裝置和/或虛擬化環(huán)境400中執(zhí)行的一個或多個軟件模塊或組件。[0269]一些實(shí)施例中,服務(wù)器可以在虛擬化環(huán)境中執(zhí)行多個虛擬機(jī)406a_406b,每個虛擬機(jī)運(yùn)行虛擬應(yīng)用傳送控制器450的相同或不同實(shí)施例。一些實(shí)施例中,服務(wù)器可以在多核處理系統(tǒng)的一個核上執(zhí)行一個或多個虛擬機(jī)上的一個或多個虛擬設(shè)備450。一些實(shí)施例中,服務(wù)器可以在多處理器裝置的每個處理器上執(zhí)行一個或多個虛擬機(jī)上的一個或多個虛擬設(shè)備450。[0270]E.提供多核架構(gòu)的系統(tǒng)和方法[0271]根據(jù)摩爾定律,每兩年集成電路上可安裝的晶體管的數(shù)量會基本翻倍。然而,CPU速度增加會達(dá)到一個穩(wěn)定的水平(plateaus),例如,2005年以來,CPU速度在約3.5_4GHz的范圍內(nèi)。一些情況下,CPU制造商可能不依靠CPU速度增加來獲得額外的性能。一些CPU制造商會給處理器增加附加核以提供額外的性能。依靠CPU獲得性能改善的如軟件和網(wǎng)絡(luò)供應(yīng)商的產(chǎn)品可以通過利用這些多核CPU來改進(jìn)他們的性能??梢灾匦略O(shè)計和/或編寫為單CPU設(shè)計和構(gòu)造的軟件以利用多線程、并行架構(gòu)或多核架構(gòu)。[0272]一些實(shí)施例中,稱為nCore或多核技術(shù)的設(shè)備200的多核架構(gòu)允許設(shè)備打破單核性能障礙并利用多核CPU的能力。前文結(jié)合圖2A描述的架構(gòu)中,運(yùn)行單個網(wǎng)絡(luò)或分組引擎。nCore技術(shù)和架構(gòu)的多核允許同時和/或并行地運(yùn)行多個分組引擎。通過在每個核上運(yùn)行分組引擎,設(shè)備架構(gòu)利用附加核的處理能力。一些實(shí)施例中,這提供了高達(dá)七倍的性能改善和擴(kuò)展性。[0273]圖5A示出根據(jù)一類并行機(jī)制或并行計算方案(如功能并行機(jī)制、數(shù)據(jù)并行機(jī)制或基于流的數(shù)據(jù)并行機(jī)制)在一個或多個處理器核上分布的工作、任務(wù)、負(fù)載或網(wǎng)絡(luò)流量的一些實(shí)施例??傮w而言,圖5A示出如具有η個核的設(shè)備200’的多核系統(tǒng)的實(shí)施例,η個核編號為I到N。一個實(shí)施例中,工作、負(fù)載或網(wǎng)絡(luò)流量可以分布在第一核505Α、第二核505Β、第三核505C、第四核50?、第五核505Ε、第六核505F、第七核505G等上,這樣,分布位于所有η個核505Ν(此后統(tǒng)稱為核505)或η個核中的兩個或多個上??梢杂卸鄠€VIP275,每個運(yùn)行在多個核中的相應(yīng)的核上??梢杂卸鄠€分組引擎240,每個運(yùn)行在多個核的相應(yīng)的核。所使用任何方法可產(chǎn)生多個核中任一核上的不同的、變化的或類似的工作負(fù)載或性能級別515。對于功能并行方法,每個核運(yùn)行由分組引擎、VIP275或設(shè)備200提供的多個功能的不同功能。在數(shù)據(jù)并行方法中,數(shù)據(jù)可基于接收數(shù)據(jù)的網(wǎng)絡(luò)接口卡(NIC)或VIP275并行或分布在核上。又一個數(shù)據(jù)并行方法中,可通過將數(shù)據(jù)流分布在每個核上而將處理分布在核上。[0274]圖5A的進(jìn)一步的細(xì)節(jié)中,一些實(shí)施例中,可以根據(jù)功能并行機(jī)制500將負(fù)載、工作或網(wǎng)絡(luò)流量在多個核505間分布。功能并行機(jī)制可基于執(zhí)行一個或多個相應(yīng)功能的每個核。一些實(shí)施例中,第一核可執(zhí)行第一功能,同時第二核執(zhí)行第二功能。功能并行方法中,根據(jù)功能性將多核系統(tǒng)要執(zhí)行的功能劃分并分布到每個核。一些實(shí)施例中,可將功能并行機(jī)制稱為任務(wù)并行機(jī)制,并且可在每個處理器或核對同一數(shù)據(jù)或不同數(shù)據(jù)執(zhí)行不同進(jìn)程或功能時實(shí)現(xiàn)。核或處理器可執(zhí)行相同或不同的代碼。一些情況下,不同的執(zhí)行線程或代碼可在工作時相互通信??梢赃M(jìn)行通信以將數(shù)據(jù)作為工作流的一部分從一個線程傳遞給下一線程。[0275]一些實(shí)施例中,根據(jù)功能并行機(jī)制500將工作分布在核505上,可以包括根據(jù)特定功能分布網(wǎng)絡(luò)流量,所述特定功能例如為網(wǎng)絡(luò)輸入/輸出管理(NWI/0)510A、安全套接層(SSL)加密和解密510B和傳輸控制協(xié)議(TCP)功能510C。這會產(chǎn)生基于所使用的功能量或功能級別的工作、性能或者計算負(fù)載515。一些實(shí)施例中,根據(jù)數(shù)據(jù)并行機(jī)制540將工作分布在核505上可包括基于與特定的硬件或軟件組件相關(guān)聯(lián)的分布數(shù)據(jù)來分布工作量515。一些實(shí)施例中,根據(jù)基于流的數(shù)據(jù)并行機(jī)制520將工作分布在核505上可包括基于上下文或流來分布數(shù)據(jù),從而使得每個核上的工作量515A-N可以類似、基本相等或者相對平均分布。[0276]在功能并行方法的情況下,可以配置每個核來運(yùn)行由設(shè)備的分組引擎或VIP提供的多個功能中的一個或多個功能。例如,核I可執(zhí)行設(shè)備200’的網(wǎng)絡(luò)I/O處理,同時核2執(zhí)行設(shè)備的TCP連接管理。類似地,核3可執(zhí)行SSL卸載,同時核4可執(zhí)行第7層或應(yīng)用層處理和流量管理。每個核可執(zhí)行相同或不同的功能。每個核可執(zhí)行不只一個功能。任一核可運(yùn)行結(jié)合附圖2A和2B識別和/或描述的功能或其一部分。該方法中,核上的工作可以粗粒度或細(xì)粒度方式按功能劃分。一些情況下,如圖5A所示,按功能劃分會使得不同核運(yùn)行在不同的性能或負(fù)載級別515。[0277]在功能并行方法的情況下,可以配置每個核來運(yùn)行由設(shè)備的分組引擎提供的多個功能中的一個或多個功能。例如,核I可執(zhí)行設(shè)備200’的網(wǎng)絡(luò)I/O處理,同時核2執(zhí)行設(shè)備的TCP連接管理。類似地,核3可執(zhí)行SSL卸載,同時核4可執(zhí)行第7層或應(yīng)用層處理和流量管理。每個核可執(zhí)行相同或不同的功能。每個核可執(zhí)行不只一個功能。任何核可運(yùn)行結(jié)合附圖2A和2B識別和/或描述的功能或其一部分。該方法中,核上的工作可以粗粒度或細(xì)粒度方式按功能劃分。一些情況下,如圖5A所示,按功能劃分會使得不同核運(yùn)行在不同的性能或負(fù)載級別。[0278]可以用任何結(jié)構(gòu)或方案來分布功能或任務(wù)。例如,圖5B示出用于處理與網(wǎng)絡(luò)I/O功能510A相關(guān)聯(lián)的應(yīng)用和進(jìn)程的第一核Corel505A。一些實(shí)施例中,與網(wǎng)絡(luò)I/O相關(guān)聯(lián)的網(wǎng)絡(luò)流量可以和特定的端口號相關(guān)聯(lián)。因而,將具有與NWI/0510A相關(guān)聯(lián)的端口目的地的發(fā)出和到來的分組導(dǎo)引給Corel505A,該Corel505A專用于處理與NWI/O端口相關(guān)聯(lián)的所有網(wǎng)絡(luò)流量。類似的,Core2505B專用于處理與SSL處理相關(guān)聯(lián)的功能,Core450ro可專用于處理所有TCP級處理和功能。[0279]雖然圖5A示出如網(wǎng)絡(luò)I/0、SSL和TCP的功能,也可將其他功能分配給核。這些其他功能可包括此處描述的任一或多個功能或操作。例如,結(jié)合圖2A和2B描述的任何功能可基于功能基礎(chǔ)分布在核上。一些情況下,第一VIP275A可運(yùn)行在第一核上,同時,具有不同配置的第二VIP275B可運(yùn)行在第二核上。一些實(shí)施例中,每個核505可處理特定功能,這樣每個核505可處理與該特定功能相關(guān)聯(lián)的處理。例如,Core2505B可處理SSL卸載,同時Core450ro可處理應(yīng)用層處理和流量管理。[0280]其他實(shí)施例中,可根據(jù)任何類型或形式的數(shù)據(jù)并行機(jī)制540將工作、負(fù)載或網(wǎng)絡(luò)流量分布在核505上。一些實(shí)施例中,可由每個核對分布式數(shù)據(jù)的不同片執(zhí)行相同任務(wù)或功能來實(shí)現(xiàn)多核系統(tǒng)中的數(shù)據(jù)并行機(jī)制。一些實(shí)施例中,單個執(zhí)行線程或代碼控制對所有數(shù)據(jù)片的操作。其他實(shí)施例中,不同線程或指令控制操作,但是可執(zhí)行相同代碼。一些實(shí)施例中,從分組引擎、vServer(VIP)275A-C、網(wǎng)絡(luò)接口卡(NIC)542D_E和/或設(shè)備200上包括的或者與設(shè)備200相關(guān)聯(lián)的任何其他網(wǎng)絡(luò)硬件或軟件的角度實(shí)現(xiàn)數(shù)據(jù)并行機(jī)制。例如,每個核可運(yùn)行同樣的分組引擎或VIP代碼或配置但是在不同的分布式數(shù)據(jù)集上進(jìn)行操作。每個網(wǎng)絡(luò)硬件或軟件結(jié)構(gòu)可接收不同的、變化的或者基本相同量的數(shù)據(jù),因而可以具有變化的、不同的或相對相同量的負(fù)載515。[0281]在數(shù)據(jù)并行方法的情況下,可以基于VIP、NIC和/或VIP或NIC的數(shù)據(jù)流來劃分和分布工作。在這些的方法的一個中,可通過使每個VIP在分布的數(shù)據(jù)集上工作來將多核系統(tǒng)的工作劃分或者分布在VIP中。例如,可配置每個核運(yùn)行一個或多個VIP。網(wǎng)絡(luò)流量可分布在處理流量的每個VIP的核上。在這些方法的又一個中,可基于哪個NIC接收網(wǎng)絡(luò)流量來將設(shè)備的工作劃分或分布在核上。例如,第一NIC的網(wǎng)絡(luò)流量可被分布到第一核,同時第二NIC的網(wǎng)絡(luò)流量可被分布給第二核。一些情況下,核可處理來自多個NIC的數(shù)據(jù)。[0282]雖然圖5A示出了與單個核505相關(guān)聯(lián)的單個vServer,正如VIP1275A、VIP2275B和VIP3275C的情況。但是,一些實(shí)施例中,單個vServer可以與一個或者多個核505相關(guān)聯(lián)。相反,一個或多個vServer可以與單個核505相關(guān)聯(lián)。將vServer與核505關(guān)聯(lián)可包括該核505處理與該特定vServer關(guān)聯(lián)的所有功能。一些實(shí)施例中,每個核執(zhí)行具有相同代碼和配置的VIP。其他實(shí)施例中,每個核執(zhí)行具有相同代碼但配置不同的VIP。一些實(shí)施例中,每個核執(zhí)行具有不同代碼和相同或不同配置的VIP。[0283]和vServer類似,NIC也可以和特定的核505關(guān)聯(lián)。許多實(shí)施例中,NIC可以連接到一個或多個核505,這樣,當(dāng)NIC接收或傳輸數(shù)據(jù)分組時,特定的核505處理涉及接收和傳輸數(shù)據(jù)分組的處理。一個實(shí)施例中,單個NIC可以與單個核505相關(guān)聯(lián),正如NIC1542D和NIC2542E的情況。其他實(shí)施例中,一個或多個NIC可以與單個核505相關(guān)聯(lián)。但其他實(shí)施例中,單個NIC可以與一個或者多個核505相關(guān)聯(lián)。這些實(shí)施例中,負(fù)載可以分布在一個或多個核505上,使得每個核505基本上處理類似的負(fù)載量。與NIC關(guān)聯(lián)的核505可以處理與該特定NIC關(guān)聯(lián)的所有功能和/或數(shù)據(jù)。[0284]雖然根據(jù)VIP或NIC的數(shù)據(jù)將工作分布在核上具有某種程度的獨(dú)立性,但是,一些實(shí)施例中,這會造成如圖5A的變化負(fù)載515所示的核的不平衡的使用。[0285]一些實(shí)施例中,可根據(jù)任何類型或形式的數(shù)據(jù)流將負(fù)載、工作或網(wǎng)絡(luò)流量分布在核505上。在這些方法的又一個中,可基于數(shù)據(jù)流將工作劃分或分布在多個核上。例如,客戶機(jī)或服務(wù)器之間的經(jīng)過設(shè)備的網(wǎng)絡(luò)流量可以被分布到多個核中的一個核并且由其處理。一些情況下,最初建立會話或連接的核可以是該會話或連接的網(wǎng)絡(luò)流量所分布的核。一些實(shí)施例中,數(shù)據(jù)流基于網(wǎng)絡(luò)流量的任何單元或部分,如事務(wù)、請求/響應(yīng)通信或來自客戶機(jī)上的應(yīng)用的流量。這樣,一些實(shí)施例中,客戶機(jī)和服務(wù)器之間的經(jīng)過設(shè)備200’的數(shù)據(jù)流可以比其他方式分布的更均衡。[0286]在基于流的數(shù)據(jù)并行機(jī)制520中,數(shù)據(jù)分布和任何類型的數(shù)據(jù)流相關(guān),例如請求/響應(yīng)對、事務(wù)、會話、連接或應(yīng)用通信。例如,客戶機(jī)或服務(wù)器之間的經(jīng)過設(shè)備的網(wǎng)絡(luò)流量可以被分布到多個核中的一個核并且由其處理。一些情況下,最初建立會話或連接的核可以是該會話或連接的網(wǎng)絡(luò)流量所分布的核。數(shù)據(jù)流的分布可以使得每個核505運(yùn)行基本相等或相對均勻分布的負(fù)載量、數(shù)據(jù)量或網(wǎng)絡(luò)流量。[0287]一些實(shí)施例中,數(shù)據(jù)流基于網(wǎng)絡(luò)流量的任何單元或部分,如事務(wù)、請求/響應(yīng)通信或源自客戶機(jī)上的應(yīng)用的流量。這樣,一些實(shí)施例中,客戶機(jī)和服務(wù)器之間的經(jīng)過設(shè)備200’的數(shù)據(jù)流可以比其他方式分布的更均衡。一個實(shí)施例中,可以基于事務(wù)或一系列事務(wù)分布數(shù)據(jù)量。一些實(shí)施例中,該事務(wù)可以是客戶機(jī)和服務(wù)器之間的,其特征可以是IP地址或其他分組標(biāo)識符。例如,核1505A可專用于特定客戶機(jī)和特定服務(wù)器之間的事務(wù),因此,核1505A上的負(fù)載515A可包括與特定客戶機(jī)和服務(wù)器之間的事務(wù)相關(guān)聯(lián)的網(wǎng)絡(luò)流量。可通過將源自特定客戶機(jī)或服務(wù)器的所有數(shù)據(jù)分組路由到核1505A來將網(wǎng)絡(luò)流量分配給核1505A。[0288]雖然可部分地基于事務(wù)將工作或負(fù)載分布到核,但是,其他實(shí)施例中,可基于每個分組的基礎(chǔ)分配負(fù)載或工作。這些實(shí)施例中,設(shè)備200可攔截數(shù)據(jù)分組并將數(shù)據(jù)分組分配給負(fù)載量最小的核505。例如,由于核I上的負(fù)載515A小于其他核505B-N上的負(fù)載515B-N,所以設(shè)備200可將第一到來的數(shù)據(jù)分組分配給核1505A。將第一數(shù)據(jù)分組分配給核1505A后,核1505A上的負(fù)載量515A與處理第一數(shù)據(jù)分組所需的處理資源量成比例增加。設(shè)備200攔截到第二數(shù)據(jù)分組時,設(shè)備200會將負(fù)載分配給核4505D,這是由于核450?具有第二少的負(fù)載量。一些實(shí)施例中,將數(shù)據(jù)分組分配給負(fù)載量最小的核可確保分布到每個核505的負(fù)載515A-N保持基本相等。[0289]其他實(shí)施例中,將一部分網(wǎng)絡(luò)流量分配給特定核505的情況下,可以每單元為基礎(chǔ)分配負(fù)載。上述示例說明以每分組為基礎(chǔ)進(jìn)行負(fù)載平衡。其他實(shí)施例中,可以基于分組數(shù)目分配負(fù)載,例如,將每10個、100個或1000個分組分配給流量最少的核505。分配給核505的分組數(shù)量可以是由應(yīng)用、用戶或管理員確定的數(shù)目,而且可以為大于零的任何數(shù)。仍在其他實(shí)施例中,基于時間指標(biāo)分配負(fù)載,使得在預(yù)定時間段將分組分布到特定核505。這些實(shí)施例中,可以在5毫秒內(nèi)或者由用戶、程序、系統(tǒng)、管理器或其他方式確定的任何時間段將分組分布到特定核505。預(yù)定時間段過去后,在預(yù)定時間段內(nèi)將時間分組傳輸給不同的核505。[0290]用于將工作、負(fù)載或網(wǎng)絡(luò)流量分布在一個或多個核505上的基于流的數(shù)據(jù)并行方法可包括上述實(shí)施例的任意組合。這些方法可以由設(shè)備200的任何部分執(zhí)行,由在核505上執(zhí)行的應(yīng)用或者一組可執(zhí)行指令執(zhí)行,例如分組引擎,或者由在與設(shè)備200通信的計算裝置上執(zhí)行的任何應(yīng)用、程序或代理執(zhí)行。[0291]圖5A所示的功能和數(shù)據(jù)并行機(jī)制計算方案可以任何方式組合,以產(chǎn)生混合并行機(jī)制或分布式處理方案,其包括功能并行機(jī)制500、數(shù)據(jù)并行機(jī)制540、基于流的數(shù)據(jù)并行機(jī)制520或者其任何部分。一些情況下,多核系統(tǒng)可使用任何類型或形式的負(fù)載平衡方案來將負(fù)載分布在一個或多個核505上。負(fù)載平衡方案可以和任何功能和數(shù)據(jù)平行方案或其組合結(jié)合使用。[0292]圖5B示出多核系統(tǒng)545的實(shí)施例,該系統(tǒng)可以是任何類型或形式的一個或多個系統(tǒng)、設(shè)備、裝置或組件。一些實(shí)施例中,該系統(tǒng)545可被包括在具有一個或多個處理核505A-N的設(shè)備200內(nèi)。系統(tǒng)545還可包括與存儲器總線556通信的一個或多個分組引擎(PE)或分組處理引擎(PPE)548A-N。存儲器總線可用于與一個或多個處理核505A-N通信。系統(tǒng)545還可包括一個或多個網(wǎng)絡(luò)接口卡(NIC)552和流分布器550,流分布器還可與一個或多個處理核505A-N通信。流分布器550可包括接收側(cè)調(diào)整器(ReceiverSideScaler-RSS)或接收側(cè)調(diào)整(ReceiverSideScaling-RSS)模塊560。[0293]進(jìn)一步參考圖5B,具體而言,一個實(shí)施例中,分組引擎548A-N可包括此處所述的設(shè)備200的任何部分,例如圖2A和2B所述設(shè)備的任何部分。一些實(shí)施例中,分組引擎548A-N可包括任何下列的元件:分組引擎240、網(wǎng)絡(luò)堆棧267、高速緩存管理器232、策略引擎236、壓縮引擎238、加密引擎234、⑶I210、CLI212、殼服務(wù)214、監(jiān)控程序216以及能夠從數(shù)據(jù)總線556或一個或多個核505A-N中的任一個接收數(shù)據(jù)分組的其他任何軟件和硬件元件。一些實(shí)施例中,分組引擎548A-N可包括一個或多個vServer275A-N或其任何部分。其他實(shí)施例中,分組引擎548A-N可提供以下功能的任意組合:SSLVPN280、內(nèi)部網(wǎng)IP282、交換284、DNS286、分組加速288、APPFW280、如由監(jiān)控代理197提供的監(jiān)控、和作為TCP堆棧關(guān)聯(lián)的功能、負(fù)載平衡、SSL卸載和處理、內(nèi)容交換、策略評估、高速緩存、壓縮、編碼、解壓縮、解碼、應(yīng)用防火墻功能、XML處理和加速以及SSLVPN連接。[0294]一些實(shí)施例中,分組引擎548A-N可以與特定服務(wù)器、用戶、客戶或網(wǎng)絡(luò)關(guān)聯(lián)。分組引擎548與特定實(shí)體關(guān)聯(lián)時,分組引擎548可處理與該實(shí)體關(guān)聯(lián)的數(shù)據(jù)分組。例如,如果分組引擎548與第一用戶關(guān)聯(lián),那么該分組引擎548將對由第一用戶產(chǎn)生的分組或者目的地址與第一用戶關(guān)聯(lián)的分組進(jìn)行處理和操作。類似地,分組引擎548可選擇不與特定實(shí)體關(guān)聯(lián),使得分組引擎548可對不是由該實(shí)體產(chǎn)生的或目的是該實(shí)體的任何數(shù)據(jù)分組進(jìn)行處理和以其他方式進(jìn)行操作。[0295]一些實(shí)例中,可將分組引擎548A-N配置為執(zhí)行圖5A所示的任何功能和/或數(shù)據(jù)并行方案。這些實(shí)例中,分組引擎548A-N可將功能或數(shù)據(jù)分布在多個核505A-N上,從而使得分布是根據(jù)并行機(jī)制或分布方案的。一些實(shí)施例中,單個分組引擎548A-N執(zhí)行負(fù)載平衡方案,其他實(shí)施例中,一個或多個分組弓I擎548A-N執(zhí)行負(fù)載平衡方案。一個實(shí)施例中,每個核505A-N可以與特定分組引擎548關(guān)聯(lián),使得可以由分組引擎執(zhí)行負(fù)載平衡。在該實(shí)施例中,負(fù)載平衡可要求與核505關(guān)聯(lián)的每個分組引擎548A-N和與核關(guān)聯(lián)的其他分組引擎通信,使得分組引擎548A-N可共同決定將負(fù)載分布在何處。該過程的一個實(shí)施例可包括從每個分組引擎接收對于負(fù)載的投票的仲裁器。仲裁器可部分地基于引擎投票的持續(xù)時間將負(fù)載分配給每個分組引擎548A-N,一些情況下,還可基于與在引擎關(guān)聯(lián)的核505上的當(dāng)前負(fù)載量相關(guān)聯(lián)的優(yōu)先級值來將負(fù)載分配給每個分組引擎548A-N。[0296]核上運(yùn)行的任何分組引擎可以運(yùn)行于用戶模式、內(nèi)核模式或其任意組合。一些實(shí)施例中,分組引擎作為在用戶空間或應(yīng)用空間中運(yùn)行的應(yīng)用或程序來操作。這些實(shí)施例中,分組引擎可使用任何類型或形式的接口來訪問內(nèi)核提供的任何功能。一些實(shí)施例中,分組引擎操作于內(nèi)核模式中或作為內(nèi)核的一部分來操作。一些實(shí)施例中,分組引擎的第一部分操作于用戶模式中,分組引擎的第二部分操作于內(nèi)核模式中。一些實(shí)施例中,第一核上的第一分組引擎執(zhí)行于內(nèi)核模式中,同時,第二核上的第二分組引擎執(zhí)行于用戶模式中。一些實(shí)施例中,分組引擎或其任何部分對NIC或其任何驅(qū)動器進(jìn)行操作或者與其聯(lián)合操作。[0297]—些實(shí)施例中,存儲器總線556可以是任何類型或形式的存儲器或計算機(jī)總線。雖然在圖5B中描述了單個存儲器總線556,但是系統(tǒng)545可包括任意數(shù)量的存儲器總線556。一個實(shí)施例中,每個分組引擎548可以和一個或者多個單獨(dú)的存儲器總線556相關(guān)聯(lián)。[0298]一些實(shí)施例中,NIC552可以是此處所述的任何網(wǎng)絡(luò)接口卡或機(jī)制。NIC552可具有任意數(shù)量的端口。NIC可設(shè)計并構(gòu)造成連接到任何類型和形式的網(wǎng)絡(luò)104。雖然示出單個NIC552,但是,系統(tǒng)545可包括任意數(shù)量的NIC552。一些實(shí)施例中,每個核505A-N可以與一個或多個單個NIC552關(guān)聯(lián)。因而,每個核505可以與專用于特定核505的單個NIC552關(guān)聯(lián)。核505A-N可包括此處所述的任何處理器。此外,可根據(jù)此處所述的任何核505配置來配置核505A-N。另外,核505A-N可具有此處所述的任何核505功能。雖然圖5B示出七個核505A-G,但是系統(tǒng)545可包括任意數(shù)量的核505。具體而言,系統(tǒng)545可包括N個核,其中N是大于零的整數(shù)。[0299]核可具有或使用被分配或指派用于該核的存儲器??蓪⒋鎯ζ饕暈樵摵说膶S谢虮镜卮鎯ζ鞑⑶覂H有該核可訪問該存儲器。核可具有或使用共享的或指派給多個核的存儲器。該存儲器可被視為由不只一個核可訪問的公共或共享存儲器。核可使用專有或公共存儲器的任何組合。通過每個核的單獨(dú)的地址空間,消除了使用同一地址空間的情況下的一些協(xié)調(diào)級別。利用單獨(dú)的地址空間,核可以對核自己的地址空間中的信息和數(shù)據(jù)進(jìn)行工作,而不用擔(dān)心與其他核沖突。每個分組引擎可以具有用于TCP和/或SSL連接的單獨(dú)存儲器池。[0300]仍參考圖5B,上文結(jié)合圖5A描述的核505的任何功能和/或?qū)嵤├梢圆渴鹪谏衔慕Y(jié)合圖4A和4B描述的虛擬化環(huán)境的任何實(shí)施例中。不是以物理處理器505的形式部署核505的功能,而是將這些功能部署在諸如客戶機(jī)102、服務(wù)器106或設(shè)備200的任何計算裝置100的虛擬化環(huán)境400內(nèi)。其他實(shí)施例中,不是以設(shè)備或一個裝置的形式部署核505的功能,而是將該功能部署在任何布置的多個裝置上。例如,一個裝置可包括兩個或多個核,另一個裝置可包括兩個或多個核。例如,多核系統(tǒng)可包括計算裝置的集群、服務(wù)器群或計算裝置的網(wǎng)絡(luò)。一些實(shí)施例中,不是以核的形式部署核505的功能,而是將該功能部署在多個處理器上,例如部署多個單核處理器上。[0301]一個實(shí)施例中,核505可以為任何形式或類型的處理器。一些實(shí)施例中,核的功能可以基本類似此處所述的任何處理器或中央處理單元。一些實(shí)施例中,核505可包括此處所述的任何處理器的任何部分。雖然圖5A示出7個核,但是,設(shè)備200內(nèi)可以有任意N個核,其中N是大于I的整數(shù)。一些實(shí)施例中,核505可以安裝在公用設(shè)備200內(nèi),其他實(shí)施例中,核505可以安裝在彼此通信連接的一個或多個設(shè)備200內(nèi)。一些實(shí)施例中,核505包括圖形處理軟件,而其他實(shí)施例中,核505提供通用處理能力。核505可彼此物理靠近地安裝和/或可彼此通信連接。可以用以物理方式和/或通信方式耦合到核的任何類型和形式的總線或子系統(tǒng)連接核,用于向核、從核和/或在核之間傳輸數(shù)據(jù)。[0302]盡管每個核505可包括用于與其他核通信的軟件,一些實(shí)施例中,核管理器(未不出)可有助于每個核505之間的通信。一些實(shí)施例中,內(nèi)核可提供核管理。核可以使用各種接口機(jī)制彼此接口或通信。一些實(shí)施例中,可以使用核到核的消息傳輸來在核之間通信,比如,第一核通過連接到核的總線或子系統(tǒng)向第二核發(fā)送消息或數(shù)據(jù)。一些實(shí)施例中,核可通過任何種類或形式的共享存儲器接口通信。一個實(shí)施例中,可以存在在所有核中共享的一個或多個存儲器單元。一些實(shí)施例中,每個核可以具有和每個其他核共享的單獨(dú)存儲器單元。例如,第一核可具有與第二核的第一共享存儲器,以及與第三核的第二共享存儲器。一些實(shí)施例中,核可通過任何類型的編程或API(如通過內(nèi)核的函數(shù)調(diào)用)來通信。一些實(shí)施例中,操作系統(tǒng)可識別并支持多核裝置,并提供用于核間通信的接口和API。[0303]流分布器550可以是任何應(yīng)用、程序、庫、腳本、任務(wù)、服務(wù)、進(jìn)程或在任何類型或形式的硬件上執(zhí)行的任何類型和形式的可執(zhí)行指令。一些實(shí)施例中,流分布器550可以是用于執(zhí)行此處所述任何操作和功能的任何電路設(shè)計或結(jié)構(gòu)。一些實(shí)施例中,流分布器分布、轉(zhuǎn)發(fā)、路由、控制和/或管理多個核505上的數(shù)據(jù)和/或在核上運(yùn)行的分組引擎或VIP的分布。一些實(shí)施例中,可將流分布器550稱為接口主裝置(interfacemaster)。一個實(shí)施例中,流分布器550包括在設(shè)備200的核或處理器上執(zhí)行的一組可執(zhí)行指令。又一個實(shí)施例中,流分布器550包括在與設(shè)備200通信的計算機(jī)器上執(zhí)行的一組可執(zhí)行指令。一些實(shí)施例中,流分布器550包括在如固件的NIC上執(zhí)行的一組可執(zhí)行指令。其他實(shí)施例,流分布器550包括用于將數(shù)據(jù)分組分布在核或處理器上的軟件和硬件的任何組合。一個實(shí)施例中,流分布器550在至少一個核505A-N上執(zhí)行,而在其他實(shí)施例中,分配給每個核505A-N的單獨(dú)的流分布器550在相關(guān)聯(lián)的核505A-N上執(zhí)行。流分布器可使用任何類型和形式的統(tǒng)計或概率算法或決策來平衡多個核上的流。可以將如NIC的設(shè)備硬件或內(nèi)核設(shè)計或構(gòu)造成支持NIC和/或核上的順序操作。[0304]系統(tǒng)545包括一個或多個流分布器550的實(shí)施例中,每個流分布器550可以與處理器505或分組引擎548關(guān)聯(lián)。流分布器550可包括允許每個流分布器550和在系統(tǒng)545內(nèi)執(zhí)行的其他流分布器550通信的接口機(jī)制。一個實(shí)例中,一個或多個流分布器550可通過彼此通信確定如何平衡負(fù)載。該過程的操作可以基本與上述過程類似,即將投票提交給仲裁器,然后仲裁器確定哪個流分布器550應(yīng)該接收負(fù)載。其他實(shí)施例中,第一流分布器550’可識別所關(guān)聯(lián)的核上的負(fù)載并基于任何下列標(biāo)準(zhǔn)確定是否將第一數(shù)據(jù)分組轉(zhuǎn)發(fā)到所關(guān)聯(lián)的核:所關(guān)聯(lián)的核上的負(fù)載大于預(yù)定閾值;所關(guān)聯(lián)的核上的負(fù)載小于預(yù)定閾值;所關(guān)聯(lián)的核上的負(fù)載小于其他核上的負(fù)載;或者可以用于部分基于處理器上的負(fù)載量來確定將數(shù)據(jù)分組轉(zhuǎn)發(fā)到何處的任何其他指標(biāo)。[0305]流分布器550可以根據(jù)如此處所述的分布、計算或負(fù)載平衡方法而將網(wǎng)絡(luò)流量分布在核505上。一個實(shí)施例中,流分布器可基于功能并行機(jī)制分布方案550、數(shù)據(jù)并行機(jī)制負(fù)載分布方案540、基于流的數(shù)據(jù)并行機(jī)制分布方案520或這些分布方案的任意組合或用于將負(fù)載分布在多個處理器上的任何負(fù)載平衡方案來分布網(wǎng)絡(luò)流量。因而,流分布器550可通過接收數(shù)據(jù)分組并根據(jù)操作的負(fù)載平衡或分布方案將數(shù)據(jù)分組分布在處理器上而充當(dāng)負(fù)載分布器。一個實(shí)施例中,流分布器550可包括用于確定如何相應(yīng)地分布分組、工作或負(fù)載的一個或多個操作、函數(shù)或邏輯。又一個實(shí)施例中,流分布器550可包括可識別與數(shù)據(jù)分組關(guān)聯(lián)的源地址和目的地址并相應(yīng)地分布分組的一個或多個子操作、函數(shù)或邏輯。[0306]一些實(shí)施例中,流分布器550可包括接收側(cè)調(diào)整(RSS)網(wǎng)絡(luò)驅(qū)動器模塊560或?qū)?shù)據(jù)分組分布在一個或多個核505上的任何類型和形式的可執(zhí)行指令。RSS模塊560可以包括硬件和軟件的任意組合。一些實(shí)施例中,RSS模塊560和流分布器550協(xié)同工作以將數(shù)據(jù)分組分布在核505A-N或多處理器網(wǎng)絡(luò)中的多個處理器上。一些實(shí)施例中,RSS模塊560可在NIC552中執(zhí)行,其他實(shí)施例中,可在核505的任何一個上執(zhí)行。[0307]一些實(shí)施例中,RSS模塊560使用微軟接收側(cè)調(diào)整(RSS)方法。一個實(shí)施例中,RSS是微軟可擴(kuò)展網(wǎng)絡(luò)主動技術(shù)(MicrosoftScalableNetworkinginitiativetechnology),其使得系統(tǒng)中的多個處理器上的接收處理是平衡的,同時保持?jǐn)?shù)據(jù)的順序傳送。RSS可使用任何類型或形式的哈希方案來確定用于處理網(wǎng)絡(luò)分組的核或處理器。[0308]RSS模塊560可應(yīng)用任何類型或形式的哈希函數(shù),如Toeplitz哈希函數(shù)。哈希函數(shù)可應(yīng)用到哈希類型值或者任何值序列。哈希函數(shù)可以是任意安全級別的安全哈?;蛘呤且云渌绞郊用堋9:瘮?shù)可使用哈希關(guān)鍵字(hashkey)。關(guān)鍵字的大小取決于哈希函數(shù)。對于Toeplitz哈希,用于IPv6的哈希關(guān)鍵字大小為40字節(jié),用于IPv4的哈希關(guān)鍵字大小為16字節(jié)。[0309]可以基于任何一個或多個標(biāo)準(zhǔn)或設(shè)計目標(biāo)設(shè)計或構(gòu)造哈希函數(shù)。一些實(shí)施例中,可使用為不同的哈希輸入和不同哈希類型提供均勻分布的哈希結(jié)果的哈希函數(shù),所述不同哈希輸入和不同哈希類型包括TCP/IPv4、TCP/IPv6、IPv4和IPv6頭部。一些實(shí)施例中,可使用存在少量桶時(例如2個或4個)提供均勻分布的哈希結(jié)果的哈希函數(shù)。一些實(shí)施例中,可使用存在大量桶時(例如64個桶)提供隨機(jī)分布的哈希結(jié)果的哈希函數(shù)。在一些實(shí)施例中,基于計算或資源使用水平來確定哈希函數(shù)。在一些實(shí)施例中,基于在硬件中實(shí)現(xiàn)哈希的難易度來確定哈希函數(shù)。在一些實(shí)施例中,基于用惡意的遠(yuǎn)程主機(jī)發(fā)送將全部哈希到同一桶中的分組的難易度來確定哈希函數(shù)。[0310]RSS可從任意類型和形式的輸入來產(chǎn)生哈希,例如值序列。該值序列可包括網(wǎng)絡(luò)分組的任何部分,如網(wǎng)絡(luò)分組的任何頭部、域或載荷或其一部分。一些實(shí)施例中,可將哈希輸入稱為哈希類型,哈希輸入可包括與網(wǎng)絡(luò)分組或數(shù)據(jù)流關(guān)聯(lián)的任何信息元組,例如下面的類型:包括至少兩個IP地址和兩個端口的四元組、包括任意四組值的四元組、六元組、二元組和/或任何其他數(shù)字或值序列。以下是可由RSS使用的哈希類型示例:[0311]-源TCP端口、源IP版本4(IPv4)地址、目的TCP端口和目的IPv4地址的四元組。[0312]-源TCP端口、源IP版本6(IPv6)地址、目的TCP端口和目的IPv6地址的四元組。[0313]-源IPv4地址和目的IPv4地址的二元組。[0314]-源IPv6地址和目的IPv6地址的二元組。[0315]-源IPv6地址和目的IPv6地址的二元組,包括對解析IPv6擴(kuò)展頭部的支持。[0316]哈希結(jié)果或其任何部分可用于識別用于分布網(wǎng)絡(luò)分組的核或?qū)嶓w,如分組引擎或Vipo一些實(shí)施例中,可向哈希結(jié)果應(yīng)用一個或者多個哈希位或掩碼。哈希位或掩碼可以是任何位數(shù)或字節(jié)數(shù)。NIC可支持任意位,例如7位。網(wǎng)絡(luò)堆??稍诔跏蓟瘯r設(shè)定要使用的實(shí)際位數(shù)。位數(shù)介于I和7之間,包括端值。[0317]可通過任意類型和形式的表用哈希結(jié)果來識別核或?qū)嶓w,例如通過桶表(buckettable)或間接表(indirectiontable)。一些實(shí)施例中,用哈希結(jié)果的位數(shù)來索引表。哈希掩碼的范圍可有效地限定間接表的大小。哈希結(jié)果的任何部分或哈希結(jié)果自身可用于索引間接表。表中的值可標(biāo)識任何核或處理器,例如通過核或處理器標(biāo)識符來標(biāo)識。一些實(shí)施例中,表中標(biāo)識多核系統(tǒng)的所有核。其他實(shí)施例中,表中標(biāo)識多核系統(tǒng)的一部分核。間接表可包括任意多個桶,例如2到128個桶,可以用哈希掩碼索引這些桶。每個桶可包括標(biāo)識核或處理器的索引值范圍。一些實(shí)施例中,流控制器和/或RSS模塊可通過改變間接表來重新平衡網(wǎng)絡(luò)負(fù)載。[0318]一些實(shí)施例中,多核系統(tǒng)575不包括RSS驅(qū)動器或RSS模塊560。在這些實(shí)施例的一些中,軟件操控模塊(未不出)或系統(tǒng)內(nèi)RSS模塊的軟件實(shí)施例可以和流分布器550共同操作或者作為流分布器550的一部分操作,以將分組引導(dǎo)到多核系統(tǒng)575中的核505。[0319]一些實(shí)施例中,流分布器550在設(shè)備200上的任何模塊或程序中執(zhí)行,或者在多核系統(tǒng)575中包括的任何一個核505和任一裝置或組件上執(zhí)行。一些實(shí)施例中,流分布器550’可在第一核505A上執(zhí)行,而在其他實(shí)施例中,流分布器550”可在NIC552上執(zhí)行。其他實(shí)施例中,流分布器550’的實(shí)例可在多核系統(tǒng)575中包括的每個核505上執(zhí)行。該實(shí)施例中,流分布器550’的每個實(shí)例可和流分布器550’的其他實(shí)例通信以在核505之間來回轉(zhuǎn)發(fā)分組。存在這樣的狀況,其中,對請求分組的響應(yīng)不是由同一核處理的,即第一核處理請求,而第二核處理響應(yīng)。這些情況下,流分布器550’的實(shí)例可以攔截分組并將分組轉(zhuǎn)發(fā)到期望的或正確的核505,即流分布器550’可將響應(yīng)轉(zhuǎn)發(fā)到第一核。流分布器550’的多個實(shí)例可以在任意數(shù)量的核505或核505的任何組合上執(zhí)行。[0320]流分布器可以響應(yīng)于任一個或多個規(guī)則或策略而操作。規(guī)則可識別接收網(wǎng)絡(luò)分組、數(shù)據(jù)或數(shù)據(jù)流的核或分組處理引擎。規(guī)則可識別和網(wǎng)絡(luò)分組有關(guān)的任何類型和形式的元組信息,例如源和目的IP地址以及源和目的端口的四元組。基于所接收的匹配規(guī)則所指定的元組的分組,流分布器可將分組轉(zhuǎn)發(fā)到核或分組引擎。一些實(shí)施例中,通過共享存儲器和/或核到核的消息傳輸將分組轉(zhuǎn)發(fā)到核。[0321]雖然圖5B不出了在多核系統(tǒng)575中執(zhí)行的流分布器550,但是,一些實(shí)施例中,流分布器550可執(zhí)行在位于遠(yuǎn)離多核系統(tǒng)575的計算裝置或設(shè)備上。這樣的實(shí)施例中,流分布器550可以和多核系統(tǒng)575通信以接收數(shù)據(jù)分組并將分組分布在一個或多個核505上。一個實(shí)施例中,流分布器550接收以設(shè)備200為目的地的數(shù)據(jù)分組,向所接收的數(shù)據(jù)分組應(yīng)用分布方案并將數(shù)據(jù)分組分布到多核系統(tǒng)575的一個或多個核505。一個實(shí)施例中,流分布器550可以被包括在路由器或其他設(shè)備中,這樣路由器可以通過改變與每個分組關(guān)聯(lián)的元數(shù)據(jù)而以特定核505為目的地,從而每個分組以多核系統(tǒng)575的子節(jié)點(diǎn)為目的地。這樣的實(shí)施例中,可用CISCO的vn-tag機(jī)制來改變或標(biāo)記具有適當(dāng)元數(shù)據(jù)的每個分組。[0322]圖5C示出包括一個或多個處理核505A_N的多核系統(tǒng)575的實(shí)施例簡言之,核505中的一個可被指定為控制核505A并可用作其他核505的控制平面570。其他核可以是次級核,其工作于數(shù)據(jù)平面,而控制核提供控制平面。核505A-N共享全局高速緩存580??刂坪颂峁┛刂破矫?,多核系統(tǒng)中的其他核形成或提供數(shù)據(jù)平面。這些核對網(wǎng)絡(luò)流量執(zhí)行數(shù)據(jù)處理功能,而控制核提供對多核系統(tǒng)的初始化、配置和控制。[0323]仍參考圖5C,具體而言,核505A-N以及控制核505A可以是此處所述的任何處理器。此外,核505A-N和控制核505A可以是能在圖5C所述系統(tǒng)中工作的任何處理器。另外,核505A-N可以是此處所述的任何核或核組??刂坪丝梢允桥c其他核不同類型的核或處理器。一些實(shí)施例中,控制核可操作不同的分組引擎或者具有與其他核的分組引擎配置不同的分組引擎。[0324]每個核的存儲器的任何部分可以被分配給或者用作核共享的全局高速緩存。簡而言之,每個核的每個存儲器的預(yù)定百分比或預(yù)定量可用作全局高速緩存。例如,每個核的每個存儲器的50%可用作或分配給共享全局高速緩存。也就是說,所示實(shí)施例中,除了控制平面核或核I以外的每個核的2GB可用于形成28GB的共享全局高速緩存。例如通過配置服務(wù)而配置控制平面可確定用于共享全局高速緩存的存儲量(theamountofmemory)。一些實(shí)施例中,每個核可提供不同的存儲量供全局高速緩存使用。其他實(shí)施例中,任一核可以不提供任何存儲器或不使用全局高速緩存。一些實(shí)施例中,任何核也可具有未分配給全局共享存儲器的存儲器中的本地高速緩存。每個核可將網(wǎng)絡(luò)流量的任意部分存儲在全局共享高速緩存中。每個核可檢查高速緩存來查找要在請求或響應(yīng)中使用的任何內(nèi)容。任何核可從全局共享高速緩存獲得內(nèi)容以在數(shù)據(jù)流、請求或響應(yīng)中使用。[0325]全局高速緩存580可以是任意類型或形式的存儲器或存儲元件,例如此處所述的任何存儲器或存儲元件。一些實(shí)施例中,核505可訪問預(yù)定的存儲量(即32GB或者與系統(tǒng)575相當(dāng)?shù)娜魏纹渌鎯α?。全局高速緩存580可以從預(yù)定的存儲量分配而來,同時,其余的可用存儲器可在核505之間分配。其他實(shí)施例中,每個核505可具有預(yù)定的存儲量。全局高速緩存580可包括分配給每個核505的存儲量。該存儲量可以字節(jié)為單位來測量,或者可用分配給每個核505的存儲器百分比來測量。因而,全局高速緩存580可包括來自與每個核505關(guān)聯(lián)的存儲器的IGB存儲器,或者可包括和每個核505關(guān)聯(lián)的存儲器的20%或一半。一些實(shí)施例,只有一部分核505提供存儲器給全局高速緩存580,而在其他實(shí)施例,全局高速緩存580可包括未分配給核505的存儲器。[0326]每個核505可使用全局高速緩存580來存儲網(wǎng)絡(luò)流量或緩存數(shù)據(jù)。一些實(shí)施例中,核的分組引擎使用全局高速緩存來緩存并使用由多個分組引擎所存儲的數(shù)據(jù)。例如,圖2A的高速緩存管理器和圖2B的高速緩存功能可使用全局高速緩存來共享數(shù)據(jù)以用于加速。例如,每個分組引擎可在全局高速緩存中存儲例如HTML數(shù)據(jù)的響應(yīng)。操作于核上的任何高速緩存管理器可訪問全局高速緩存來將高速緩存響應(yīng)提供給客戶請求。[0327]一些實(shí)施例中,核505可使用全局高速緩存580來存儲端口分配表,其可用于部分基于端口確定數(shù)據(jù)流。其他實(shí)施例中,核505可使用全局高速緩存580來存儲地址查詢表或任何其他表或列表,流分布器可使用這些表來確定將到來的數(shù)據(jù)分組和發(fā)出的數(shù)據(jù)分組導(dǎo)向何處。一些實(shí)施例中,核505可以讀寫高速緩存580,而其他實(shí)施例中,核505僅從高速緩存讀或者僅向高速緩存寫。核可使用全局高速緩存來執(zhí)行核到核通信。[0328]可以將全局高速緩存580劃分成各個存儲器部分,其中每個部分可專用于特定核505。一個實(shí)施例中,控制核505A可接收大量的可用高速緩存,而其他核505可接收對全局高速緩存580的變化的訪問量。[0329]一些實(shí)施例中,系統(tǒng)575可包括控制核505A。雖然圖5C將核1505A示為控制核,但是,控制核可以是設(shè)備200或多核系統(tǒng)中的任何一個核。此外,雖然僅描述了單個控制核,但是,系統(tǒng)575可包括一個或多個控制核,每個控制核對系統(tǒng)有某種程度的控制。一些實(shí)施例中,一個或多個控制核可以各自控制系統(tǒng)575的特定方面。例如,一個核可控制決定使用哪種分布方案,而另一個核可確定全局高速緩存580的大小。[0330]多核系統(tǒng)的控制平面可以是將一個核指定并配置成專用的管理核或者作為主核??刂破矫婧丝蓪Χ嗪讼到y(tǒng)中的多個核的操作和功能提供控制、管理和協(xié)調(diào)。控制平面核可對多核系統(tǒng)中的多個核上存儲器系統(tǒng)的分配和使用提供控制、管理和協(xié)調(diào),這包括初始化和配置存儲器系統(tǒng)。一些實(shí)施例中,控制平面包括流分布器,用于基于數(shù)據(jù)流控制數(shù)據(jù)流到核的分配以及網(wǎng)絡(luò)分組到核的分配。一些實(shí)施例中,控制平面核運(yùn)行分組引擎,其他實(shí)施例中,控制平面核專用于系統(tǒng)的其他核的控制和管理。[0331]控制核505A可對其他核505進(jìn)行某種級別的控制,例如,確定將多少存儲器分配給每個核505,或者確定應(yīng)該指派哪個核來處理特定功能或硬件/軟件實(shí)體。一些實(shí)施例中,控制核505A可以對控制平面570中的這些核505進(jìn)行控制。因而,控制平面570之外可存在不受控制核505A控制的處理器。確定控制平面570的邊界可包括由控制核505A或系統(tǒng)575中執(zhí)行的代理維護(hù)由控制核505A控制的核的列表??刂坪?05A可控制以下的任一個:核初始化、確定核何時不可用、一個核出故障時將負(fù)載重新分配給其他核505、決定實(shí)現(xiàn)哪個分布方案、決定哪個核應(yīng)該接收網(wǎng)絡(luò)流量、決定應(yīng)該給每個核分配多少高速緩存、確定是否將特定功能或元件分布到特定核、確定是否允許核彼此通信、確定全局高速緩存580的大小以及對系統(tǒng)575內(nèi)的核的功能、配置或操作的任何其他確定。[0332]E.用于虛擬設(shè)備的動態(tài)適應(yīng)的系統(tǒng)和方法[0333]設(shè)備200可提供虛擬化網(wǎng)絡(luò)平臺??蓪⒃撎摂M化網(wǎng)絡(luò)平臺設(shè)計和構(gòu)造為在虛擬化環(huán)境400中運(yùn)行多個虛擬設(shè)備,該虛擬設(shè)備諸如是虛擬應(yīng)用傳送控制器460和/或虛擬網(wǎng)絡(luò)優(yōu)化引擎450。虛擬應(yīng)用傳送控制器和虛擬網(wǎng)絡(luò)優(yōu)化引擎可以是網(wǎng)絡(luò)加速器。在虛擬網(wǎng)絡(luò)優(yōu)化引擎加速WAN流量的同時,虛擬應(yīng)用傳送控制器可以加速LAN流量。虛擬化網(wǎng)絡(luò)平臺可使得這些不同類型的虛擬設(shè)備的多個實(shí)例能夠在單個裝置或設(shè)備上運(yùn)行并且支持這些不同類型的虛擬設(shè)備的多個實(shí)例在單個裝置或設(shè)備上運(yùn)行。虛擬化網(wǎng)絡(luò)平臺可支持多租賃,其包括完全資源隔離、每實(shí)例容錯、版本控制、數(shù)據(jù)分離和策略管理。設(shè)備可包含多核架構(gòu),其中虛擬設(shè)備的實(shí)例在多核設(shè)備的核上執(zhí)行。[0334]在一些部署中,設(shè)備的虛擬化網(wǎng)絡(luò)平臺可執(zhí)行一個或多個虛擬化應(yīng)用傳送控制器460,該虛擬化應(yīng)用傳送控制器460管理提供WAN優(yōu)化的多個虛擬化網(wǎng)絡(luò)優(yōu)化引擎450和/或?qū)ζ溥M(jìn)行負(fù)載平衡。例如,在多核設(shè)備200中,一個核可以執(zhí)行一個或多個虛擬化應(yīng)用傳送控制器460,并且多個虛擬化網(wǎng)絡(luò)優(yōu)化引擎450(有時稱為分支中繼器(BR)或WAN優(yōu)化器)的每個實(shí)例可在其他核上運(yùn)行。[0335]本解決方案的系統(tǒng)和方法提供了可適應(yīng)的解決方案,該可適應(yīng)的解決方案基于變化的網(wǎng)絡(luò)工作負(fù)載動態(tài)且自動地部署、配置和調(diào)整WAN優(yōu)化器(如虛擬化WAN優(yōu)化引擎)。本解決方案可以從獲悉模式開始。在該模式下,系統(tǒng)可以被動地或者通過執(zhí)行次優(yōu)的加速來檢查流量,并且獲悉關(guān)于負(fù)載和流量的信息。通過對流量進(jìn)行檢查,本解決方案可以確定正在服務(wù)多少個對等WAN優(yōu)化器、有多少流量來自于每個對等WAN優(yōu)化器,以及穿過WAN優(yōu)化器的流量的類型。通過獲悉關(guān)于負(fù)載和流量的信息,本解決方案可以為設(shè)備的配置提供更好的或者改進(jìn)的基準(zhǔn)。在一些實(shí)施例中,基于資源(例如CPU、存儲器、盤),系統(tǒng)根據(jù)該認(rèn)知可以確定應(yīng)該使用多少個WAN優(yōu)化實(shí)例以及實(shí)例的大小,并且確定應(yīng)如何在WAN優(yōu)化器的實(shí)例之間分布負(fù)載。[0336]在一些實(shí)施例中,WAN優(yōu)化器可查詢、檢測或者識別在設(shè)備上可用的資源數(shù)量,該資源例如是存儲器、存儲裝置和CPU?;诮Y(jié)果,WAN優(yōu)化器可自動配置其自身。WAN優(yōu)化器可以基于在設(shè)備上可用的資源,選擇或者確定分配給其自身的資源數(shù)量。例如,WAN優(yōu)化器可基于在設(shè)備上可用的每種資源的數(shù)量和/或基于在設(shè)備上正在執(zhí)行或者將要執(zhí)行的WAN優(yōu)化器的數(shù)量來為其自身分配預(yù)定數(shù)量或者百分比的每種資源。[0337]在一些實(shí)施例中,設(shè)備上的管理器可檢測查詢、檢測或識別資源的數(shù)量,并且可配置在設(shè)備上執(zhí)行的WAN優(yōu)化器的實(shí)例的數(shù)量。在一些實(shí)施例中,設(shè)備上的管理器可檢測查詢、檢測或識別資源的數(shù)量,并且可配置WAN優(yōu)化器的每個實(shí)例的大小。管理器可基于在設(shè)備上可用的每種資源的數(shù)量和/或基于在設(shè)備上正在執(zhí)行的或?qū)⒁獔?zhí)行的WAN優(yōu)化器的數(shù)量,在WAN優(yōu)化器之間分配預(yù)定數(shù)量或者百分比的每種資源。[0338]在一些實(shí)施例中,系統(tǒng)監(jiān)控和存儲關(guān)于WAN優(yōu)化器的性能和操作的數(shù)據(jù),例如負(fù)載和帶寬使用。在一些實(shí)施例中,系統(tǒng)監(jiān)控和存儲關(guān)于每個WAN優(yōu)化器的資源使用的數(shù)據(jù)。在一些實(shí)施例中,系統(tǒng)監(jiān)控和存儲關(guān)于每個WAN優(yōu)化器的資源使用中的變化的數(shù)據(jù)?;跉v史數(shù)據(jù),系統(tǒng)可自動配置在設(shè)備上執(zhí)行的WAN優(yōu)化器的實(shí)例的數(shù)量,并且自動配置WAN優(yōu)化器的每個實(shí)例。例如,基于關(guān)于資源使用的歷史數(shù)據(jù),系統(tǒng)可以自動配置不同類型的資源中的每種資源在每個WAN優(yōu)化器之間的分配。在另一個實(shí)施例中,基于關(guān)于性能的歷史數(shù)據(jù),系統(tǒng)可以自動配置建立預(yù)定數(shù)量的WAN優(yōu)化器的實(shí)例,以滿足該系統(tǒng)的預(yù)期負(fù)載或者帶寬使用。[0339]現(xiàn)參考圖6A,示出了提供虛擬化網(wǎng)絡(luò)平臺的設(shè)備的實(shí)施例。設(shè)備200可用于提供虛擬化網(wǎng)絡(luò)平臺,該虛擬化網(wǎng)絡(luò)平臺用于執(zhí)行多個虛擬設(shè)備,例如本文描述的網(wǎng)絡(luò)優(yōu)化或者WAN優(yōu)化引擎250/450。概括而言,設(shè)備200可包括多個資源,例如網(wǎng)絡(luò)資源、計算資源和存儲資源。設(shè)備可提供對這些資源的用戶進(jìn)行虛擬化的虛擬化環(huán)境400。一個或多個管理程序401可在該虛擬化環(huán)境中操作。多個虛擬設(shè)備(VA或VM)可在該虛擬化環(huán)境中執(zhí)行。應(yīng)用傳送控制器VA460可在該設(shè)備上執(zhí)行,例如在該設(shè)備的多核實(shí)施例中的核上執(zhí)行。應(yīng)用傳送控制器VA460可管理多個WAN優(yōu)化VA450A-450N或?qū)ζ溥M(jìn)行負(fù)載平衡。虛擬化環(huán)境可包括一個或多個管理服務(wù)404A-N,其用于管理該虛擬化環(huán)境和其中的組件。如在下文中進(jìn)一步討論的,分組調(diào)度域可處理虛擬設(shè)備和設(shè)備的網(wǎng)絡(luò)資源之間的網(wǎng)絡(luò)流量。[0340]對于與其他虛擬機(jī)或者外部主機(jī)通信的虛擬機(jī),該虛擬機(jī)可使用網(wǎng)絡(luò)接口或者網(wǎng)絡(luò)接口卡(NIC)。在一些實(shí)施例中,虛擬化環(huán)境可提供兩種類型的網(wǎng)絡(luò)接口JISPVNIC的半虛擬化NIC,以及仿真NIC(稱為VNIC或虛擬NIC)。當(dāng)虛擬機(jī)(VM)在VNIC上傳輸分組時,DomainO接收該分組并且在實(shí)際物理NIC上轉(zhuǎn)發(fā)該分組(DomainO可以是虛擬化環(huán)境中的特定VM)。類似地,當(dāng)虛擬機(jī)接收到分組時,VM將該分組轉(zhuǎn)發(fā)到適當(dāng)?shù)腣NIC,并且該VNIC所屬的VM接收該分組。[0341]然而,如果虛擬機(jī)需要非常高的網(wǎng)絡(luò)性能,則由于所有的RX(接收)/TX(發(fā)送)分組都通過Domain0605,虛擬化網(wǎng)絡(luò)架構(gòu)可能變成瓶頸。在一些實(shí)施例中,DomainO僅能在一個CPU上運(yùn)行,并且這限制了網(wǎng)絡(luò)性能??稍谔摂M化環(huán)境中使用SR-1OV技術(shù)來解決上文確定的IO瓶頸問題。SR-1OV規(guī)范是用于一類PCI透傳的標(biāo)準(zhǔn),其將單個裝置本地共享給多個客戶。SR-1OV通過指定虛擬化兼容存儲空間、中斷和DMA流,減少了管理程序的參與。SR-1OV為虛擬化客戶提升了裝置性能。SR-1OV允許PCIe裝置顯示為多個獨(dú)立的物理PCIe裝置。采用SR-1OV技術(shù),虛擬化環(huán)境可根據(jù)物理裝置創(chuàng)建虛擬功能(裝置),并且可將這些虛擬裝置分配給虛擬機(jī)。一旦虛擬機(jī)具有了所分配的虛擬裝置,該虛擬機(jī)可接收和發(fā)送來自虛擬裝置的分組而不需要管理程序的介入。虛擬機(jī)可為虛擬裝置使用驅(qū)動器。在一個示例的實(shí)施例中,在裝置中使用了Intel82599NIC,并且該Intel82599NIC能夠使用SR-10V。[0342]現(xiàn)參考圖6B,示出了用于對WAN優(yōu)化器進(jìn)行負(fù)載平衡的幾個負(fù)載平衡方法的實(shí)施例的示意圖??捎蓱?yīng)用傳送控制器來執(zhí)行這些負(fù)載平衡方法。簡要概括,該負(fù)載平衡方法包括I)最少連接、2)靜態(tài)配置、3)采用代理id持久性的使用接收帶寬的最少累計負(fù)載、4)采用代理id持久性的最少連接,以及5)源互聯(lián)網(wǎng)協(xié)議(IP)哈希。每個負(fù)載平衡方法考慮一些因素,例如負(fù)載平衡效果、壓縮歷史性能、帶寬管理、簡單性、容錯和持久性單元。對于所有WAN優(yōu)化(例如,分支中繼器)部署來說,可能不存在一個通用的解決方案。在部署方便與最優(yōu)WAN優(yōu)化之間可能存在權(quán)衡。[0343]在進(jìn)一步的細(xì)節(jié)中,最少連接負(fù)載平衡方法可能易于配置,但可能是次優(yōu)的。最少連接方法可提供強(qiáng)的負(fù)載平衡效果,并且對于負(fù)載平衡方法的這種效果來說可能是較好或最好的選擇。然而,最少連接方法可提供來自WAN優(yōu)化器的較差的壓縮歷史性能。最少連接方法可提供很少的或者不確定的帶寬管理能力。然而,最少連接方法容易配置,并且提供了所有最少連接方法中的一個最簡單的配置。最少連接負(fù)載平衡提供了強(qiáng)的容錯能力。采用最少連接,可以為每個客戶機(jī)獲得持久性(例如,持久性單元是一個/多個客戶機(jī)的連接)。[0344]靜態(tài)配置負(fù)載平衡方法對于配置和管理可能最具挑戰(zhàn),但是會提供最好或最優(yōu)的WAN優(yōu)化的方法之一。靜態(tài)連接方法可提供好的負(fù)載平衡效果,其好于負(fù)載平衡方法的其他選擇。靜態(tài)配置可提供來自WAN優(yōu)化器的最好的壓縮性能。靜態(tài)配制方法可提供中等的帶寬管理能力。由于只有單個備用選項可用于替換,這類負(fù)載平衡的容錯能力較差。采用靜態(tài)配置,可在分支級別管理持久性,例如用于分支機(jī)構(gòu)處的一組客戶機(jī)的WAN優(yōu)化器(例如,持久性單元是分支(如WAN優(yōu)化對等點(diǎn)))。[0345]基于帶寬的最少累計負(fù)載方法可提供強(qiáng)的帶寬管理和強(qiáng)的容錯,以及中等的配置簡單性,同時提供最好或最優(yōu)的WAN優(yōu)化的方法之一?;趲挼淖钌倮塾嬝?fù)載方法可提供好的負(fù)載平衡效果,其好于負(fù)載平衡方法的其他選擇?;趲挼淖钌倮塾嬝?fù)載方法可使用代理id持久性。在一些實(shí)施例中,代理id是關(guān)于特定WAN優(yōu)化器的名稱或標(biāo)識符。每個WAN優(yōu)化器可具有代理id,用于對等WAN優(yōu)化器與其通信以執(zhí)行WAN優(yōu)化。每個WAN優(yōu)化器可通過代理id來指代對等WAN優(yōu)化器。采用代理id持久性,持久性單元是基于分支的。[0346]采用代理id持久性的最少連接方法可提供強(qiáng)的帶寬管理,以及好/較好的容錯和配置簡單性。采用代理id持久性的最少連接可提供較差的負(fù)載平衡效果,以及好到更好的壓縮性能。在一些實(shí)施例中,如果(由代理id標(biāo)識的)對等點(diǎn)具有不同的大小,則該負(fù)載平衡方法可能不能平均地平衡負(fù)載。最少連接方法的該實(shí)施例可使用代理id持久性。代理id可標(biāo)識WAN優(yōu)化器的對等點(diǎn)。使用代理id持久性,持久性單元是基于分支的。[0347]基于源IP哈希的方法可能是配置簡單性最好的且容錯支持最好的方法之一,并且具有好/較好的帶寬管理能力和壓縮歷史性能。源IP哈希方法可以一次加載一個WAN優(yōu)化器,并且因此作為用于WAN優(yōu)化器的負(fù)載平衡方法提供效果的不確定性。在一些實(shí)施例中,源IP哈希提供分支級別的持久性。[0348]現(xiàn)參考圖6C,示出了執(zhí)行WAN優(yōu)化器的適應(yīng)性部署的系統(tǒng)的實(shí)施例。簡要概括,分支中繼(BR)管理器625可確定在設(shè)備200上部署的WAN優(yōu)化器的實(shí)例數(shù)量634以及每個WAN優(yōu)化器的大小632。監(jiān)控器640可監(jiān)控設(shè)備200的性能和操作,并且將該數(shù)據(jù)625存儲到數(shù)據(jù)存儲裝置中。BR管理器可響應(yīng)于一個或多個規(guī)則630,該規(guī)則630可由BR管理器配置或獲悉。根據(jù)數(shù)據(jù)615并且響應(yīng)于規(guī)則630,BR管理器可確定WAN優(yōu)化器的實(shí)例的數(shù)量和大小,以及確定負(fù)載平衡(LB)方法636。[0349]在進(jìn)一步的細(xì)節(jié)中,BR管理器625可包含可在裝置(例如設(shè)備200)上執(zhí)行的任何類型和形式的可執(zhí)行指令。BR管理器625可包含虛擬機(jī)。BR管理器625可被設(shè)計和構(gòu)造為虛擬設(shè)備的部分。BR管理器625可包含在多核裝置的核上執(zhí)行的應(yīng)用。BR管理器625可被設(shè)計和構(gòu)造為vServer275的部分。BR管理器625可被設(shè)計和構(gòu)造為應(yīng)用傳送控制器的部分,該應(yīng)用傳送控制器例如是虛擬化應(yīng)用傳送控制器460。BR管理器625可被設(shè)計和構(gòu)造為虛擬化環(huán)境的管理服務(wù)404的部分。BR管理器625可被設(shè)計和構(gòu)造為虛擬化網(wǎng)絡(luò)優(yōu)化引擎450的部分。BR管理器可在與設(shè)備通信的獨(dú)立裝置上執(zhí)行。例如,BR管理器可在客戶機(jī)、服務(wù)器或者另一個設(shè)備上執(zhí)行。[0350]監(jiān)控器640可包含監(jiān)控設(shè)備的任何方面的性能和操作的任何類型和形式的可執(zhí)行指令。監(jiān)控器可監(jiān)控經(jīng)過設(shè)備的網(wǎng)絡(luò)流量。監(jiān)控器可監(jiān)控在設(shè)備上執(zhí)行的任何應(yīng)用或模塊的負(fù)載。監(jiān)控器可監(jiān)控在設(shè)備200上執(zhí)行的任何虛擬化設(shè)備的負(fù)載。監(jiān)控器可監(jiān)控任何虛擬化應(yīng)用傳送控制器460的負(fù)載。監(jiān)控器可監(jiān)控任何虛擬化網(wǎng)絡(luò)優(yōu)化引擎450(例如,WAN優(yōu)化器)的負(fù)載。監(jiān)控器可監(jiān)控由設(shè)備和/或在設(shè)備上執(zhí)行的任何模塊接收的、傳輸?shù)暮?或發(fā)送的帶寬,該模塊包括任何虛擬化應(yīng)用傳送控制器和/或虛擬化網(wǎng)絡(luò)優(yōu)化引擎。[0351]監(jiān)控器可監(jiān)控穿過設(shè)備和/或在設(shè)備上執(zhí)行的任何模塊的網(wǎng)絡(luò)流量的類型,該模塊包括任何虛擬化應(yīng)用傳送控制器和/或虛擬化網(wǎng)絡(luò)優(yōu)化引擎。監(jiān)控器可監(jiān)控由設(shè)備和/或在設(shè)備上執(zhí)行的任何模塊建立或使用的傳輸層連接的數(shù)量,該模塊包括任何虛擬化應(yīng)用傳送控制器和/或虛擬化網(wǎng)絡(luò)優(yōu)化引擎。監(jiān)控器可監(jiān)控在一段時間內(nèi)由設(shè)備和/或在設(shè)備上執(zhí)行的任何模塊操作或處理的事務(wù)、請求和/或響應(yīng)的數(shù)量,該模塊包括任何虛擬化應(yīng)用傳送控制器和/或虛擬化網(wǎng)絡(luò)優(yōu)化引擎。監(jiān)控器可監(jiān)控由設(shè)備和/或在設(shè)備上執(zhí)行的任何模塊操作或處理的請求、響應(yīng)或者事務(wù)的速率和/或速率的變化,該模塊包括任何虛擬化應(yīng)用傳送控制器和/或虛擬化網(wǎng)絡(luò)優(yōu)化引擎。[0352]監(jiān)控器可監(jiān)控在設(shè)備上執(zhí)行的應(yīng)用或模塊的每個實(shí)例的大小或資源占用,該應(yīng)用或模塊諸如是任何虛擬化應(yīng)用傳送控制器460和/或虛擬化網(wǎng)絡(luò)優(yōu)化引擎450。監(jiān)控器可確定由在設(shè)備上執(zhí)行的應(yīng)用的每個實(shí)例使用的資源數(shù)量,該資源數(shù)量諸如是存儲器、計算、網(wǎng)絡(luò)和存儲資源的數(shù)量。監(jiān)控器可確定由應(yīng)用的每個實(shí)例在一段時間內(nèi)使用的資源數(shù)量,以及該使用的速率的變化。監(jiān)控器可監(jiān)控WAN優(yōu)化器的每個對等點(diǎn)的大小,該對等點(diǎn)例如是連同第二WAN優(yōu)化器一起工作的第一WAN優(yōu)化器。監(jiān)控器可識別或確定對等WAN優(yōu)化器之間在大小或者資源占用方面的任何差異。監(jiān)控器可識別或確定對等WAN優(yōu)化器之間在大小或者資源占用方面的任何差異超過預(yù)定閾值。[0353]監(jiān)控器可監(jiān)控WAN優(yōu)化器的壓縮歷史的大小。監(jiān)控器可監(jiān)控在設(shè)備上存儲的壓縮歷史的片段。監(jiān)控器可監(jiān)控由每個WAN優(yōu)化器獲得的壓縮率或效率。監(jiān)控器可監(jiān)控每個WAN優(yōu)化器的CPU或核利用。監(jiān)控器可確定壓縮歷史的大小和片段是否在對應(yīng)的預(yù)定閾值內(nèi)。監(jiān)控器可確定壓縮率是否在預(yù)定閾值內(nèi)。監(jiān)控器可確定CPU/處理器/核利用是否在預(yù)定閾值內(nèi)。[0354]監(jiān)控器可將經(jīng)由監(jiān)控識別或確定的任何性能和操作特征615(包括但不限于上文由監(jiān)控器監(jiān)控的信息)存儲到數(shù)據(jù)存儲器。在監(jiān)控時,當(dāng)識別數(shù)據(jù)615時,監(jiān)控器可以存儲該數(shù)據(jù)615。監(jiān)控器可以以預(yù)定頻率存儲該數(shù)據(jù)615。在一些實(shí)施例中,被監(jiān)控的WAN優(yōu)化器或?qū)嶓w將數(shù)據(jù)存儲或記錄到數(shù)據(jù)存儲器,該數(shù)據(jù)例如是資源使用、性能指標(biāo)和/或操作指標(biāo),BR管理器可查詢虛擬化環(huán)境以識別性能和操作數(shù)據(jù),并且將該數(shù)據(jù)存儲到數(shù)據(jù)存儲器中。BR管理器可查詢或檢查每個虛擬化應(yīng)用傳送控制器和/或虛擬化網(wǎng)絡(luò)優(yōu)化引擎,以識別性能和操作數(shù)據(jù)并且將該數(shù)據(jù)存儲到數(shù)據(jù)存儲器內(nèi)。[0355]BR管理器625可包括使用性能和操作數(shù)據(jù)615來確定如何在設(shè)備上部署虛擬化網(wǎng)絡(luò)優(yōu)化引擎的實(shí)例的邏輯、操作或功能。BR可包括智能引擎,其分析數(shù)據(jù)615以獲悉虛擬化網(wǎng)絡(luò)優(yōu)化引擎(例如WAN優(yōu)化器)的實(shí)例以及設(shè)備200是如何執(zhí)行的。BR管理器可分析數(shù)據(jù)615以確定將在設(shè)備上執(zhí)行的WAN優(yōu)化器的實(shí)例數(shù)量634。BR管理器可分析數(shù)據(jù)615以確定將在設(shè)備上執(zhí)行的每個WAN優(yōu)化器的大小632。BR管理器可分析數(shù)據(jù)615以確定用于對在設(shè)備上執(zhí)行的虛擬WAN優(yōu)化器進(jìn)行負(fù)載平衡的負(fù)載平衡方法636。BR管理器可基于數(shù)據(jù)確定將使用的實(shí)例、大小以及負(fù)載平衡方法的任何組合。BR管理器可確定將在多個WAN優(yōu)化器的每一個WAN優(yōu)化器之間分布的負(fù)載。[0356]BR管理器可在設(shè)備開始、啟動或初始化時確定虛擬WAN優(yōu)化器的實(shí)例和大小。BR管理器可在一個或多個WAN優(yōu)化器開始、啟動或初始化時確定虛擬WAN優(yōu)化器的實(shí)例和大小。BR管理器可在設(shè)備操作期間動態(tài)且實(shí)時地確定虛擬WAN優(yōu)化器的實(shí)例和大小。BR管理器可根據(jù)需要確定虛擬WAN優(yōu)化器的實(shí)例和大小,以滿足由設(shè)備使用的負(fù)載和帶寬。BR管理器可在設(shè)備操作期間以預(yù)定頻率確定虛擬WAN優(yōu)化器的實(shí)例和大小。BR管理器可在預(yù)定事件發(fā)生時確定虛擬WAN優(yōu)化器的實(shí)例和大小,該事件例如是超過性能或操作閾值。BR管理器可在WAN優(yōu)化器大小的不同配置之間轉(zhuǎn)換。BR管理器可在WAN優(yōu)化器實(shí)例的不同配置之間轉(zhuǎn)換。BR管理器可在WAN優(yōu)化器的實(shí)例和大小的不同配置之間轉(zhuǎn)換。[0357]BR管理器625可響應(yīng)于一個或多個規(guī)則630進(jìn)行操作??捎晒芾韱T配置該規(guī)則。BR管理器可響應(yīng)于數(shù)據(jù)615自動地創(chuàng)建規(guī)則。BR管理器可包括獲悉模式,其中BR管理器監(jiān)控和獲悉設(shè)備的性能和操作。作為獲悉模式的結(jié)果,BR管理器可響應(yīng)于對經(jīng)由獲悉模式收集的數(shù)據(jù)615的檢查和/或分析,來自動地配置一個或多個規(guī)則。BR管理器可在獲悉模式下連續(xù)操作,以根據(jù)所獲悉的內(nèi)容調(diào)整規(guī)則的配置或者創(chuàng)建新規(guī)則。[0358]規(guī)則可標(biāo)識或指定虛擬WAN優(yōu)化器的實(shí)例數(shù)量、虛擬WAN優(yōu)化器的大小和/或負(fù)載平衡(LB)方法。規(guī)則可標(biāo)識或指定一組條件,其中,根據(jù)該條件使用虛擬WAN優(yōu)化器的實(shí)例數(shù)量、虛擬化WAN優(yōu)化器的大小和/或LB方法。該條件可以是任何類型和形式的性能或操作條件,其包括但不限于連接數(shù)量、負(fù)載、帶寬使用、網(wǎng)絡(luò)104速度、客戶機(jī)數(shù)量和服務(wù)器數(shù)量。規(guī)則可標(biāo)識或指定標(biāo)準(zhǔn),其中,根據(jù)該標(biāo)準(zhǔn)來使用虛擬WAN優(yōu)化器的實(shí)例數(shù)量、虛擬化WAN優(yōu)化器的大小和/或LB方法。該標(biāo)準(zhǔn)可以是設(shè)備上的資源數(shù)量。該標(biāo)準(zhǔn)可以是虛擬化WAN優(yōu)化器可用的資源數(shù)量。[0359]在一些實(shí)施例中,基于資源(例如CPU、存儲器、盤),響應(yīng)于數(shù)據(jù)和/或規(guī)則的BR管理器可確定應(yīng)該使用多少WAN優(yōu)化實(shí)例及實(shí)例大小,并且可確定應(yīng)該如何在WAN優(yōu)化器的實(shí)例之間分布負(fù)載。響應(yīng)于數(shù)據(jù)和/或規(guī)則的BR管理器可自動地配置WAN優(yōu)化器的數(shù)量、每個WAN優(yōu)化器的大小和/或用于對WAN優(yōu)化器進(jìn)行負(fù)載平衡的LB方法。[0360]以下是一些示例的規(guī)則。在一些實(shí)施例中,規(guī)則指定:如果存在少量的對等WAN優(yōu)化器,則應(yīng)在設(shè)備上提供更少數(shù)量的大WAN優(yōu)化器實(shí)例,這是因為壓縮歷史將不太零碎且壓縮率更高(更好)。在一些實(shí)施例中,規(guī)則指定:當(dāng)對等WAN優(yōu)化器的大小明顯不同時,應(yīng)在WAN優(yōu)化器實(shí)例之間非平均地分布它們(例如,在一些實(shí)施例中,通過使用不同大小的WAN優(yōu)化器實(shí)例)。[0361]在一些實(shí)施例中,WAN優(yōu)化器包括BR管理器或其部分。在一些實(shí)施例中,WAN優(yōu)化器可與BR管理器相接或通信,以獲取、接收或者被提供來自BR管理器的大小配置或資源分配。在一些實(shí)施例中,可將WAN優(yōu)化器設(shè)計和構(gòu)造為識別、檢測或查詢經(jīng)由設(shè)備或者虛擬化環(huán)境可用的資源。在一些實(shí)施例中,可將WAN優(yōu)化器設(shè)計和構(gòu)造為查詢數(shù)據(jù)存儲器,以獲得用于配置其自身的歷史信息?;谟蒞AN優(yōu)化器獲取的信息,WAN優(yōu)化器可以根據(jù)由WAN優(yōu)化器使用的資源數(shù)量自動地配置其自身的大小。例如,WAN優(yōu)化器可分配固定或預(yù)定數(shù)量的存儲器和存儲裝置。[0362]現(xiàn)參考圖6D,示出用于自動且動態(tài)地改變WAN優(yōu)化器的實(shí)例數(shù)量、WAN優(yōu)化器的配置和用于對WAN優(yōu)化器進(jìn)行負(fù)載平衡的負(fù)載平衡方法的方法的實(shí)施例。簡要概括,在步驟650,該方法包括在設(shè)備上建立多個WAN優(yōu)化器。在步驟655,BR管理器監(jiān)控設(shè)備和多個WAN優(yōu)化器的性能。BR管理器可存儲從監(jiān)控中獲得的性能和操作數(shù)據(jù)615。在步驟660,BR管理器可調(diào)整在設(shè)備上執(zhí)行的WAN優(yōu)化器的實(shí)例數(shù)量,以及每個WAN優(yōu)化器的配置,例如大小。[0363]在進(jìn)一步的細(xì)節(jié)中,在步驟650,設(shè)備可建立在設(shè)備上執(zhí)行的多個WAN優(yōu)化器。設(shè)備可根據(jù)一個或多個規(guī)則建立多個WAN優(yōu)化器。設(shè)備可以在由設(shè)備提供的虛擬化網(wǎng)絡(luò)平臺上建立多個虛擬化WAN優(yōu)化器450A-450N。在一些實(shí)施例中,BR管理器查詢設(shè)備和/或虛擬化環(huán)境400的資源能力和/或可用性。基于資源能力和/或可用性,BR管理器可建立將在設(shè)備上執(zhí)行的WAN優(yōu)化器的多個實(shí)例?;谫Y源能力和/或可用性,BR管理器可建立將用于WAN優(yōu)化器的所有實(shí)例的資源占用或分配。基于資源能力和/或可用性,BR管理器可建立將在設(shè)備上執(zhí)行的每個WAN優(yōu)化器的大小,例如由每個WAN優(yōu)化器使用的存儲器、計算和存儲裝置的數(shù)量。基于資源能力和/或可用性,BR管理器可建立將由每個WAN優(yōu)化器分配或使用的帶寬的數(shù)量。基于資源能力和/或可用性,BR管理器可建立將由每個WAN優(yōu)化器分配或使用的壓縮歷史的大小?;谫Y源能力和/或可用性,BR管理器可建立將由每個WAN優(yōu)化器分配或使用的負(fù)載。基于資源能力和/或可用性和/或WAN優(yōu)化器的數(shù)量和大小,BR管理器可建立負(fù)載平衡方法,以對多個WAN優(yōu)化器進(jìn)行負(fù)載平衡。[0364]在一些實(shí)施例中,每個WAN優(yōu)化器可自動配置其自身的大小。每個WAN優(yōu)化器可查詢在設(shè)備上的或者由虛擬化環(huán)境提供的資源的可用性和/或能力?;谫Y源能力和/或可用性,WAN優(yōu)化器可為其自身建立大小,例如用于WAN優(yōu)化器分配或使用的存儲器、計算和存儲裝置的數(shù)量?;谫Y源能力和/或可用性,WAN優(yōu)化器可為其自身建立要分配或使用的帶寬數(shù)量?;谫Y源能力和/或可用性,WAN優(yōu)化器可為其自身建立要分配或使用的壓縮歷史的數(shù)量?;谫Y源能力和/或可用性,WAN優(yōu)化器可為其自身建立要管理的負(fù)載。[0365]BR管理器可設(shè)置要在設(shè)備上執(zhí)行的WAN優(yōu)化器的初始或者預(yù)定數(shù)量和大小。在建立時,BR管理器可在獲悉模式下執(zhí)行,以檢查網(wǎng)絡(luò)流量、負(fù)載、帶寬以及其他操作和性能特征。例如,如下文中結(jié)合步驟655和660所描述的,BR管理器可監(jiān)控設(shè)備和WAN優(yōu)化器的性能,并且動態(tài)且自動地調(diào)整WAN優(yōu)化器的實(shí)例數(shù)量和每個WAN優(yōu)化器的大小。在一些實(shí)施例中,BR管理器可使用經(jīng)由監(jiān)控和調(diào)整步驟655和660建立的基準(zhǔn)配置。該基準(zhǔn)配置可識別WAN優(yōu)化器的實(shí)例數(shù)量、WAN優(yōu)化器的每個實(shí)例的大小,以及用于對WAN優(yōu)化器進(jìn)行負(fù)載平衡的負(fù)載平衡方法。負(fù)載平衡方法可包括結(jié)合圖6B描述的任何負(fù)載平衡方法。[0366]在步驟655,監(jiān)控器監(jiān)控設(shè)備的操作和/或性能,該設(shè)備例如是在設(shè)備上執(zhí)行的任何實(shí)體,包括但不限于WAN優(yōu)化器。監(jiān)控器可監(jiān)控每個WAN優(yōu)化器的性能和操作。監(jiān)控器可監(jiān)控每個虛擬化應(yīng)用傳送控制器的性能和操作。監(jiān)控器可監(jiān)控虛擬化環(huán)境的性能和操作。監(jiān)控器可監(jiān)控多核設(shè)備的每個核的性能和操作。監(jiān)控器可監(jiān)控由設(shè)備和在該設(shè)備上執(zhí)行的任何虛擬設(shè)備(例如WAN優(yōu)化器)使用的網(wǎng)絡(luò)流量和帶寬。監(jiān)控器可監(jiān)控穿過設(shè)備以及在該設(shè)備上執(zhí)行的虛擬化設(shè)備(例如WAN優(yōu)化器)的網(wǎng)絡(luò)流量的類型和數(shù)量。監(jiān)控器可監(jiān)控每個WAN優(yōu)化器的負(fù)載,包括但不限于資源利用、連接數(shù)量、壓縮歷史分配和帶寬使用。監(jiān)控器可監(jiān)控每個WAN優(yōu)化器的壓縮率或效率。監(jiān)控器可監(jiān)控由每個WAN優(yōu)化器接收、發(fā)送或處理的流量的數(shù)量。[0367]監(jiān)控器可將任何被監(jiān)控的信息存儲到數(shù)據(jù)存儲裝置。監(jiān)控器可以按需、實(shí)時或者隨著監(jiān)控存儲數(shù)據(jù)615。監(jiān)控器可以以預(yù)定頻率或者關(guān)于預(yù)定時間段存儲數(shù)據(jù)615。監(jiān)控器可關(guān)于性能和操作信息查詢設(shè)備的虛擬化環(huán)境、管理服務(wù)404或操作系統(tǒng),并且將信息存儲到數(shù)據(jù)存儲器615。[0368]在步驟660,響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可自動地和/或動態(tài)地調(diào)整WAN優(yōu)化器的實(shí)例的數(shù)量、每個WAN優(yōu)化器的大小和/或用于對WAN優(yōu)化器進(jìn)行負(fù)載平衡的負(fù)載平衡方法。BR管理器可分析該數(shù)據(jù)并且自動地創(chuàng)建或指定一個或多個規(guī)則。BR管理器可分析該數(shù)據(jù)并且自動地識別或指定實(shí)例數(shù)量634。BR管理器可分析該數(shù)據(jù)并且自動地識別或指定實(shí)例的大小636。BR管理器可分析該數(shù)據(jù)并且自動地識別或指定負(fù)載平衡方法636。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可以為設(shè)備上的WAN優(yōu)化器創(chuàng)建或者建立基準(zhǔn)配置。[0369]響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可增加在設(shè)備上執(zhí)行的WAN優(yōu)化器的實(shí)例的數(shù)量。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可減少在設(shè)備上執(zhí)行的WAN優(yōu)化器的實(shí)例的數(shù)量。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可改變WAN優(yōu)化器的大小。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可增加WAN優(yōu)化器的大小。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可減少WAN優(yōu)化器的大小。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可增加分配給WAN優(yōu)化器或者由WAN優(yōu)化器使用的資源的數(shù)量。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可減少分配給WAN優(yōu)化器或者由WAN優(yōu)化器使用的資源的數(shù)量。[0370]響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可減少由WAN優(yōu)化器使用的帶寬數(shù)量。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可增加由WAN優(yōu)化器使用的帶寬的數(shù)量。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可減少由WAN優(yōu)化器使用的負(fù)載。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可增加由WAN優(yōu)化器使用的負(fù)載。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可增加由WAN優(yōu)化器管理的連接或者客戶機(jī)的數(shù)量。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可減少由WAN優(yōu)化器管理的連接或者客戶機(jī)的數(shù)量。[0371]響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可改變用于對WAN優(yōu)化器進(jìn)行負(fù)載平衡的負(fù)載平衡方法。響應(yīng)于數(shù)據(jù)615和/或一個或多個規(guī)則,BR管理器可列舉負(fù)載平衡方法的有序列表,以基于條件、標(biāo)準(zhǔn)或者滿足預(yù)定閾值的負(fù)載在該負(fù)載平衡方法之間切換或者使用該負(fù)載平衡方法。[0372]在一些實(shí)施例中,BR管理器建立基準(zhǔn)配置或經(jīng)修改的配置,以在步驟650處使用。例如,BR管理器可建立基準(zhǔn)配置,以在設(shè)備重新啟動、被重置或者初始化時使用。同樣的,步驟650可使用步驟660的輸出,并且該過程可經(jīng)由步驟655和660連續(xù)地改變該配置。[0373]在一些實(shí)施例中,BR管理器隨時間連續(xù)動態(tài)且自動地改變WAN優(yōu)化器的實(shí)例的數(shù)量、每個WAN優(yōu)化器的大小和/或負(fù)載平衡方法。例如,在步驟655和步驟660的一個實(shí)例中,BR管理器可改變WAN優(yōu)化器的實(shí)例的數(shù)量、每個WAN優(yōu)化器的大小和/或負(fù)載平衡方法。在步驟655和660的下一次執(zhí)行期間,BR管理器可進(jìn)一步改變WAN優(yōu)化器的實(shí)例的數(shù)量、每個WAN優(yōu)化器的大小和/或負(fù)載平衡方法。BR管理器可持續(xù)地監(jiān)控設(shè)備和WAN優(yōu)化器的性能,并且基于條件、規(guī)則或閾值,自動且動態(tài)地調(diào)整WAN優(yōu)化器的部署。[0374]盡管結(jié)合自動且動態(tài)地改變WAN優(yōu)化器的實(shí)例數(shù)量一般性地描述了本文描述的系統(tǒng)的實(shí)施例以及圖6D的方法的實(shí)施例,但本文描述的系統(tǒng)和方法可用于自動且動態(tài)地改變?nèi)魏螒?yīng)用的實(shí)例數(shù)量,該應(yīng)用例如是任何網(wǎng)絡(luò)優(yōu)化器。盡管結(jié)合自動且動態(tài)地改變WAN優(yōu)化器的實(shí)例數(shù)量一般性地描述了本文描述的系統(tǒng)的實(shí)施例和圖6D的方法的實(shí)施例,但本文描述的系統(tǒng)和方法可用于自動且動態(tài)地改變?nèi)魏晤愋秃托问降奶摂M設(shè)備的實(shí)例的數(shù)量,該虛擬設(shè)備包括但不限于虛擬化應(yīng)用傳送控制器?!緳?quán)利要求】1.一種用于管理在中間裝置上執(zhí)行的廣域網(wǎng)(WAN)優(yōu)化器的多個實(shí)例的方法,所述方法包括:(a)在多個客戶機(jī)和多個服務(wù)器中間的裝置上建立廣域網(wǎng)(WAN)優(yōu)化器的多個實(shí)例,以對在所述多個客戶機(jī)和所述多個服務(wù)器之間的WAN通信進(jìn)行加速;(b)由所述裝置為所述WAN優(yōu)化器的多個實(shí)例中的每一個監(jiān)控穿過該裝置的網(wǎng)絡(luò)流量;以及(c)由在所述裝置上執(zhí)行的管理器響應(yīng)于監(jiān)控,選擇改變負(fù)載平衡方案,以對所述WAN優(yōu)化器的多個實(shí)例進(jìn)行負(fù)載平衡。2.根據(jù)權(quán)利要求1所述的方法,其中,步驟(a)還包括由所述裝置基于通過監(jiān)控所述WAN優(yōu)化器的多個實(shí)例的先前執(zhí)行所存儲的數(shù)據(jù),自動建立所述WAN優(yōu)化器的多個實(shí)例中的每一個的大小的配置。3.根據(jù)權(quán)利要求1所述的方法,其中,步驟(a)還包括由所述裝置將所述WAN優(yōu)化器的多個實(shí)例中的每一個執(zhí)行為虛擬化環(huán)境中的虛擬機(jī)。4.根據(jù)權(quán)利要求1所述的方法,其中,步驟(b)還包括由所述裝置監(jiān)控所述WAN優(yōu)化器的多個實(shí)例中的每一個的壓縮歷史分配、壓縮片段和壓縮率。5.根據(jù)權(quán)利要求1所述的方法,其中,步驟(b)還包括由所述裝置監(jiān)控所述WAN優(yōu)化器的多個實(shí)例中的每一個的下列一個或多個:資源利用、連接數(shù)量、所要求的物體的數(shù)量以及帶寬使用。6.根據(jù)權(quán)利要求1所述的方法,其中,步驟(c)還包括由所述裝置確定通過監(jiān)控網(wǎng)絡(luò)流量所計算的指標(biāo)已經(jīng)超過閾值,并且響應(yīng)于該確定,由所述裝置自動地選擇第二負(fù)載平衡方案以對所述WAN優(yōu)化器的多個實(shí)例進(jìn)行負(fù)載平衡。7.根據(jù)權(quán)利要求1所述的方法,其中,步驟(c)還包括由所述裝置在執(zhí)行所述WAN優(yōu)化器的多個實(shí)例的同時,從所述負(fù)載平衡方案自動地轉(zhuǎn)換為所選擇的負(fù)載平衡方案。8.根據(jù)權(quán)利要求1所述的方法,還包括由所述裝置響應(yīng)于監(jiān)控,自動地改變在所述裝置上執(zhí)行的所述WAN優(yōu)化器的實(shí)例的數(shù)量。9.根據(jù)權(quán)利要求1所述的方法,還包括由所述裝置響應(yīng)于監(jiān)控,自動地調(diào)整由所述WAN優(yōu)化器的多個實(shí)例中的一個或多個使用的資源使用的大小。10.根據(jù)權(quán)利要求1所述的方法,還包括由所述裝置將一個或多個規(guī)則應(yīng)用于通過監(jiān)控收集的數(shù)據(jù),以確定改變下列一個或多個:WAN優(yōu)化器的實(shí)例的數(shù)量、一個或多個WAN優(yōu)化器的大小,以及負(fù)載平衡方案。11.一種用于管理在中間裝置上執(zhí)行的廣域網(wǎng)(WAN)優(yōu)化器的多個實(shí)例的系統(tǒng),所述系統(tǒng)包括:在多個客戶機(jī)和多個服務(wù)器中間的裝置;在所述裝置上執(zhí)行的廣域網(wǎng)(WAN)優(yōu)化器的多個實(shí)例,用于對在所述多個客戶機(jī)和所述多個服務(wù)器之間的WAN通信進(jìn)行加速;監(jiān)控器,其為所述WAN優(yōu)化器的多個實(shí)例中的每一個監(jiān)控穿過所述裝置的網(wǎng)絡(luò)流量;以及在所述裝置上執(zhí)行的管理器,其響應(yīng)于所述監(jiān)控器,選擇改變負(fù)載平衡方案以對所述WAN優(yōu)化器的多個實(shí)例進(jìn)行負(fù)載平衡。12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述管理器基于通過監(jiān)控所述WAN優(yōu)化器的多個實(shí)例的先前執(zhí)行所存儲的數(shù)據(jù),自動地建立所述WAN優(yōu)化器的多個實(shí)例中的每一個的大小的配置。13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述WAN優(yōu)化器的多個實(shí)例中的每一個執(zhí)行為虛擬化環(huán)境中的虛擬機(jī)。14.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述監(jiān)控器監(jiān)控所述WAN優(yōu)化器的多個實(shí)例中的每一個的壓縮歷史分配、壓縮片段和壓縮率。15.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述監(jiān)控器監(jiān)控所述WAN優(yōu)化器的多個實(shí)例中的每一個的下列一個或多個:資源利用、連接數(shù)量、所要求的物體的數(shù)量以及帶寬使用。16.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述管理器確定通過監(jiān)控網(wǎng)絡(luò)流量所計算的指標(biāo)已經(jīng)超過閾值,并且響應(yīng)于該確定,自動地選擇第二負(fù)載平衡方案以對所述WAN優(yōu)化器的多個實(shí)例進(jìn)行負(fù)載平衡。17.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述管理器在執(zhí)行所述WAN優(yōu)化器的多個實(shí)例的同時,從當(dāng)前負(fù)載平衡方案自動地轉(zhuǎn)換為所選擇的負(fù)載平衡方案。18.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述管理器響應(yīng)于所述監(jiān)控器,自動地改變在所述裝置上執(zhí)行的所述WAN優(yōu)化器的實(shí)例的數(shù)量。19.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述管理器響應(yīng)于所述監(jiān)控器,自動地調(diào)整由所述WAN優(yōu)化器的多個實(shí)例中的一個或多個使用的資源使用的大小。20.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述管理器將一個或多個規(guī)則應(yīng)用于通過監(jiān)控收集的數(shù)據(jù),以確定改變下列一個或多個:WAN優(yōu)化器的實(shí)例的數(shù)量、一個或多個WAN優(yōu)化器的大小,以及負(fù)載平衡方案?!疚臋n編號】G06F9/50GK103988483SQ201280061431【公開日】2014年8月13日申請日期:2012年10月10日優(yōu)先權(quán)日:2011年10月14日【發(fā)明者】M·穆爾吉亞申請人:思杰系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
会宁县| 香格里拉县| 临夏市| 怀集县| 织金县| 康乐县| 连山| 潞城市| 贵南县| 鹿泉市| 祁东县| 邵东县| 天长市| 中卫市| 昌平区| 湘潭县| 马尔康县| 阿拉尔市| 岗巴县| 峨眉山市| 会东县| 独山县| 隆林| 潮安县| 巍山| 昆明市| 兴化市| 东乡族自治县| 新晃| 漳平市| 清徐县| 稷山县| 班戈县| 湖北省| 东阿县| 安龙县| 偃师市| 锦州市| 灵寿县| 湘乡市| 时尚|