專利名稱:故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器負(fù)載平衡的系統(tǒng)和方法
故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù) 器負(fù)載平衡的系統(tǒng)和方法相關(guān)申請本申請要求2008年5月四日提交的題為“Systems And Methods For Load Balancing Via A Plurality Of Virtual Servers Upon Failover Using Metrics From A Backup Virtual krver”的美國專利申請?zhí)?2/U8978的優(yōu)先權(quán),在此通過引用將該申 請并入。
背景技術(shù):
企業(yè)或者公司可以跨越網(wǎng)絡(luò)布置多種服務(wù)來為許多用戶提供服務(wù)。例如,客戶機(jī) 上的用戶可以請求訪問諸如web服務(wù)器的服務(wù)。該企業(yè)可以布置多個服務(wù)器來提供該服 務(wù),用來滿足訪問該服務(wù)的大量用戶的需求和負(fù)載。例如,服務(wù)器群可以提供能夠處理客戶 機(jī)請求的一組服務(wù)器。此外,企業(yè)可以布置負(fù)載平衡器來管理對多個服務(wù)器的訪問并且基 于負(fù)載將客戶機(jī)請求引導(dǎo)到適合的服務(wù)器。負(fù)載平衡器通過基于諸如輪詢法的調(diào)度或者負(fù) 載分布算法選擇下一個服務(wù)器來服務(wù)所接收的請求,以將負(fù)載分布在多個服務(wù)器或者服務(wù) 上。負(fù)載平衡器可以監(jiān)控客戶機(jī)和服務(wù)器之間的請求和響應(yīng)來確定服務(wù)器的負(fù)載或狀態(tài)。負(fù)載平衡器可以包括任意多個用于為請求提供服務(wù)的虛擬服務(wù)器,諸如負(fù)載平衡 請求。為請求提供服務(wù)的一個虛擬服務(wù)器出現(xiàn)故障時,由負(fù)載平衡器提供的服務(wù)會出現(xiàn)中 斷或延遲。其他虛擬服務(wù)器可以接管出故障的虛擬服務(wù)器所服務(wù)的業(yè)務(wù)。
發(fā)明內(nèi)容
本發(fā)明涉及對進(jìn)行負(fù)載平衡的系統(tǒng)和方法的改進(jìn)。本發(fā)明還涉及故障切換時使用 備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器進(jìn)行負(fù)載平衡的解決方案。此處所述的系統(tǒng)和 方法提供了一種負(fù)載平衡技術(shù),其中,雖然檢測到一個或多個虛擬服務(wù)器不可用,仍可保持 負(fù)載平衡。一些方面中,本發(fā)明結(jié)合虛擬服務(wù)器和備份虛擬服務(wù)器的功能,從而即便任意多 個虛擬服務(wù)器或備份虛擬服務(wù)器出現(xiàn)故障也可以保持所提供的負(fù)載平衡服務(wù)。這樣,包括 多個虛擬服務(wù)器和多個備份虛擬服務(wù)器的設(shè)備可以被配置成把多個虛擬服務(wù)器中的第一 虛擬服務(wù)器以及與第一虛擬服務(wù)器相關(guān)的備份虛擬服務(wù)器視為邏輯單元,其中,和第一虛 擬服務(wù)器相關(guān)聯(lián)的每個備份虛擬服務(wù)器可以執(zhí)行第一虛擬服務(wù)器的任何功能或者提供其提供第一服務(wù)器提供的任何服務(wù)。—些方面中,本發(fā)明涉及一種故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛 擬服務(wù)器進(jìn)行負(fù)載平衡的方法。一些實(shí)施例中,該方法包括由設(shè)備檢測用設(shè)備進(jìn)行負(fù)載平 衡的多個虛擬服務(wù)器中的第一虛擬服務(wù)器不可用的步驟。一些實(shí)施例中,第一虛擬服務(wù)器 具有一個或多個備份虛擬服務(wù)器。該方法還可以包括由設(shè)備識別到第一虛擬服務(wù)器的一個 或多個備份虛擬服務(wù)器中的至少第一備份虛擬服務(wù)器可用的步驟。許多實(shí)施例中,該方法 包括由設(shè)備響應(yīng)于所述識別保持第一虛擬服務(wù)器的狀態(tài)為可用并且從一個或多個備份虛 擬服務(wù)器中的第一備份虛擬服務(wù)器獲得一個或多個指標(biāo)的步驟。多個實(shí)施例中,該方法包括設(shè)備使用從與第一虛擬服務(wù)器相關(guān)聯(lián)的第一備份虛擬服務(wù)器獲得的指標(biāo)確定多個虛擬 服務(wù)器的負(fù)載。多個實(shí)施例中,該方法包括由設(shè)備識別到第一虛擬備份服務(wù)器不可用,并由設(shè)備 從第二備份虛擬服務(wù)器獲得指標(biāo)的步驟。一些實(shí)施例中,該方法包括由設(shè)備使用從第二備 份虛擬服務(wù)器獲得的指標(biāo)確定第二備份虛擬服務(wù)器和多個虛擬服務(wù)器的負(fù)載的步驟。多個 實(shí)施例中,該方法包括由設(shè)備使用從第二備份虛擬服務(wù)器獲得的指標(biāo)確定第二備份虛擬服 務(wù)器的負(fù)載或者多個虛擬服務(wù)器的負(fù)載中的一個的步驟。一些實(shí)施例中,該方法包括由設(shè)備識別到第一虛擬服務(wù)器可用的步驟。某些實(shí)施 例中,該方法包括由設(shè)備使用從第一備份虛擬服務(wù)器獲得的指標(biāo)確定多個虛擬服務(wù)器的負(fù) 載的步驟。一些方面中,本方法還可以包括由設(shè)備繼續(xù)把指向第一虛擬服務(wù)器的請求發(fā)送 到第一備份虛擬服務(wù)器或第一虛擬服務(wù)器之一的步驟。多個實(shí)施例中,該方法包括由設(shè)備使用從多個備份虛擬服務(wù)器中的一個或多個獲 得的指標(biāo)確定多個虛擬服務(wù)器的負(fù)載的步驟。一些實(shí)施例中,該方法包括由設(shè)備的全局負(fù) 載平衡虛擬服務(wù)器確定多個虛擬服務(wù)器的負(fù)載的步驟。多個實(shí)施例中,該方法包括由設(shè)備 或第二設(shè)備中的一個執(zhí)行第一虛擬服務(wù)器的步驟。某些實(shí)施例中,該方法包括由設(shè)備通過 指標(biāo)交換協(xié)議或簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)獲得指標(biāo)之一的步驟。一些實(shí)施例中,該方法中引入的一個或多個指標(biāo)可包括連接的數(shù)量、發(fā)往虛擬服 務(wù)器的分組的數(shù)量或由虛擬服務(wù)器發(fā)送的分組的數(shù)量、由虛擬服務(wù)器負(fù)載平衡的服務(wù)的響 應(yīng)時間以及服務(wù)使用的網(wǎng)絡(luò)帶寬。多個實(shí)施例中,該方法包括由用戶識別要收集進(jìn)行負(fù)載 平衡的第一虛擬備份服務(wù)器或虛擬服務(wù)器之一的一個或多個指標(biāo)的步驟。多個實(shí)施例中, 該方法包括由用戶識別要分配給每個用戶選擇的指標(biāo)的權(quán)重或閾值之一的步驟。某些方面中,本發(fā)明涉及一種故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛 擬服務(wù)器進(jìn)行負(fù)載平衡的系統(tǒng)。一些實(shí)施例中,該系統(tǒng)包括對多個虛擬服務(wù)器進(jìn)行負(fù)載平 衡的設(shè)備,多個虛擬服務(wù)器中的第一虛擬服務(wù)器具有一個或多個備份虛擬服務(wù)器。該系統(tǒng) 還包括設(shè)備的監(jiān)控代理,其檢測第一虛擬服務(wù)器不可用、識別到一個或多個備份虛擬服務(wù) 器中的第一備份虛擬服務(wù)器可用并響應(yīng)于所述識別保持第一虛擬服務(wù)器的狀態(tài)為可用。該 系統(tǒng)還包括設(shè)備的負(fù)載監(jiān)控器,其從多個一個或多個備份虛擬服務(wù)器中的第一備份虛擬服 務(wù)器獲得一個或多個指標(biāo)并使用從一個或多個備份虛擬服務(wù)器中的第一備份虛擬服務(wù)器 獲得的這些指標(biāo)確定多個虛擬服務(wù)器的負(fù)載,以及使用從與第一虛擬服務(wù)器關(guān)聯(lián)的第一備 份虛擬服務(wù)器獲得的指標(biāo)確定多個虛擬服務(wù)器的負(fù)載的裝置。
該發(fā)明的前述和其它目的、方面、特征和優(yōu)點(diǎn)通過參考下述結(jié)合附圖的描述將會 更加明顯并更易于理解,其中圖IA是客戶機(jī)通過設(shè)備訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的實(shí)施例的框圖;圖IB是通過設(shè)備從服務(wù)器傳送計算環(huán)境到客戶機(jī)的環(huán)境的實(shí)施例的框圖;圖IC是通過網(wǎng)絡(luò)從服務(wù)器傳送計算環(huán)境到客戶機(jī)的環(huán)境的實(shí)施例的框圖;圖ID是通過網(wǎng)絡(luò)從服務(wù)器傳送計算環(huán)境到客戶機(jī)的環(huán)境的另一個實(shí)施例的框 圖IE和IF是計算裝置的實(shí)施例的框圖;圖2A是用于處理客戶機(jī)和服務(wù)器之間的通信的設(shè)備的實(shí)施例的框圖;圖2B是用于優(yōu)化、加速、負(fù)載平衡和路由客戶機(jī)和服務(wù)器之間的通信的設(shè)備的另 一個實(shí)施例的框圖;圖3是用于通過設(shè)備與服務(wù)器通信的客戶機(jī)的實(shí)施例的框圖;圖4是用于經(jīng)由網(wǎng)絡(luò)管理協(xié)議收集指標(biāo)并且用于基于用戶選擇的指標(biāo)確定服務(wù) 的負(fù)載的設(shè)備的實(shí)施例的框圖;圖5A是用于在異類裝置之間執(zhí)行全局服務(wù)器負(fù)載平衡的網(wǎng)絡(luò)環(huán)境的實(shí)施例的框 圖;圖5B是在異類裝置之間執(zhí)行服務(wù)器負(fù)載平衡的設(shè)備的實(shí)施例的框圖;圖6A是故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器執(zhí)行負(fù)載平 衡的系統(tǒng)的實(shí)施例的框圖;圖6B是故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器執(zhí)行負(fù)載平 衡的方法的步驟實(shí)施例的流程圖。從下面所闡述的詳細(xì)說明并結(jié)合附圖將明了本發(fā)明的特性和優(yōu)勢,其中自始至終 同樣的附圖標(biāo)記標(biāo)示相應(yīng)的單元。在附圖中,同樣的附圖標(biāo)記通常表示相同的、功能上相似 的和/或結(jié)構(gòu)上相似的單元。
具體實(shí)施例方式為了閱讀下面的本發(fā)明的多個實(shí)施例的描述,說明下面的說明書的各部分以及它 們相應(yīng)的內(nèi)容是有幫助的A部分描述有益于實(shí)施本發(fā)明實(shí)施例的網(wǎng)絡(luò)環(huán)境和計算環(huán)境;B部分描述用于將計算環(huán)境加速遞送到遠(yuǎn)程用戶的系統(tǒng)和設(shè)備架構(gòu)的實(shí)施例;C部分描述用于加速在客戶機(jī)和服務(wù)器之間的通信的客戶機(jī)代理的實(shí)施例;D部分描述用于基于用戶從設(shè)備確定的指標(biāo)選擇的指標(biāo)和/或經(jīng)由簡單網(wǎng)絡(luò)管理 協(xié)議從裝置收集的指標(biāo)執(zhí)行負(fù)載平衡的系統(tǒng)和方法的實(shí)施例;和E部分描述用于在異類裝置之間進(jìn)行全局服務(wù)器負(fù)載平衡的系統(tǒng)和方法的實(shí)施 例。F部分描述故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器進(jìn)行負(fù)載 平衡的系統(tǒng)和方法的實(shí)施例。A、網(wǎng)絡(luò)和計算環(huán)境在討論設(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ī)102a-102n (同樣總的稱為本地機(jī)器102,或客戶機(jī)102)通 過一個或多個網(wǎng)絡(luò)104、104,(總的稱為網(wǎng)絡(luò)104)與一個或多個服務(wù)器106a-106n(同樣總 的稱為服務(wù)器106,或遠(yuǎn)程機(jī)器106)通信。在一些實(shí)施例中,客戶機(jī)102通過設(shè)備200與服 務(wù)器106通信。雖然圖IA示出了在客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)104和網(wǎng)絡(luò)104,,客戶機(jī) 102和服務(wù)器106可以位于相同的網(wǎng)絡(luò)104上。網(wǎng)絡(luò)104和104'可以是相同類型的網(wǎng)絡(luò)或不同類型的網(wǎng)絡(luò)。網(wǎng)絡(luò)104和/或104'可為局域網(wǎng)(LAN),例如公司內(nèi)網(wǎng)、城域網(wǎng)(MAN)、 或者廣域網(wǎng)(WAN),例如因特網(wǎng)或萬維網(wǎng)。在一個實(shí)施例中,網(wǎng)絡(luò)104’可為專用網(wǎng)并且網(wǎng) 絡(luò)104可為公網(wǎng)。在一些實(shí)施例中,網(wǎng)絡(luò)104’可為專用網(wǎng)并且網(wǎng)絡(luò)104’可為公網(wǎng)。在另 一個實(shí)施例中,網(wǎng)絡(luò)104和104’可都為專用網(wǎng)。在一些實(shí)施例中,客戶機(jī)102可位于公司 企業(yè)的分支機(jī)構(gòu)中,通過網(wǎng)絡(luò)104上的WAN連接與位于公司數(shù)據(jù)中心的服務(wù)器106通信。網(wǎng)絡(luò)104和/或104’可以是任何類型和/或形式的網(wǎng)絡(luò),并且可包括任意下述網(wǎng) 絡(luò)點(diǎn)對點(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和/或104’的拓?fù)淇蔀榭偩€型、星型或環(huán)型網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)104和/或104’以及 網(wǎng)絡(luò)拓?fù)淇梢允菍τ诒绢I(lǐng)域普通技術(shù)人員所熟知的、可以支持此處描述的操作的任何這樣 的網(wǎng)絡(luò)或網(wǎng)絡(luò)拓?fù)?。如圖IA所示,設(shè)備200被示在網(wǎng)絡(luò)104和104’之間,設(shè)備200也可被稱為接口單 元200或者網(wǎng)關(guān)200。在一些實(shí)施例中,設(shè)備200可位于網(wǎng)絡(luò)104上。例如,公司的分支機(jī) 構(gòu)可在分支機(jī)構(gòu)中部署設(shè)備200。在其它實(shí)施例中,設(shè)備200可位于網(wǎng)絡(luò)104’上。例如, 設(shè)備200可位于公司的數(shù)據(jù)中心。在另一個實(shí)施例中,多個設(shè)備200可在網(wǎng)絡(luò)104上部署。 在一些實(shí)施例中,多個設(shè)備200可布署在網(wǎng)絡(luò)104’上。在一個實(shí)施例中,第一設(shè)備200與 第二設(shè)備200’通信。在其它實(shí)施例中,設(shè)備200作為客戶機(jī)102可為位于同一或不同網(wǎng)絡(luò) 104、104’的任一客戶機(jī)102或服務(wù)器106的一部分。一個或多個設(shè)備200可位于客戶機(jī) 102和服務(wù)器106之間的網(wǎng)絡(luò)或網(wǎng)絡(luò)通信路徑中的任一點(diǎn)。在一些實(shí)施例中,設(shè)備200包括由位于Ft. Lauderdale Florida的Citrix Systems公司制造的被稱為Citrix Netkaler設(shè)備的任意網(wǎng)絡(luò)設(shè)備。在其它實(shí)施 例中,設(shè)備200包括由位于kattle,Washington的F5 Networks公司制造的被稱為 WebAccelerator和BigIP的任意一個產(chǎn)品實(shí)施例。在另一個實(shí)施例中,設(shè)備205包括由位 于Sunnyvale,California的Juniper Networks公司制造的DX加速設(shè)備平臺和/或諸如 SA700、SA2000、SA4000和SA6000的SSL VPN系列設(shè)備中的任意一個。在又一個實(shí)施例中, 設(shè)備200包括由位于San Jose, California的Cisco Systems公司制造的任意應(yīng)用加速 和/或安全相關(guān)的設(shè)備和/或軟件,例如Cisco ACE應(yīng)用控制引擎模塊業(yè)務(wù)(Application Control Engine Module service)軟件和網(wǎng)絡(luò)模塊以及Cisco AVS系列應(yīng)用速度系統(tǒng) (Application Velocity System)。在一個實(shí)施例中,系統(tǒng)可包括多個邏輯分組服務(wù)器106。在這些實(shí)施例中,服務(wù)器 的邏輯分組可以被稱為服務(wù)器群38。在其中一些實(shí)施例中,服務(wù)器106可為地理上分散的。 在一些情況中,群38可以作為單個實(shí)體被管理。在其它實(shí)施例中,服務(wù)器群38包括多個服 務(wù)器群38。在一個實(shí)施例中,服務(wù)器群代表一個或多個客戶機(jī)102執(zhí)行一個或多個應(yīng)用程序。在每個群38中的服務(wù)器106可為不同種類。一個或多個服務(wù)器106可根據(jù)一種 類型的操作系統(tǒng)平臺(例如,由Washington,Redmond的Microsoft公司制造的WINDOWS NT)操作,而一個或多個其它服務(wù)器106可根據(jù)另一類型的操作系統(tǒng)平臺(例如,Unix或 Linux)操作。每個群38的服務(wù)器106不需要與相同群38內(nèi)的另一個服務(wù)器106物理上接近。因此,邏輯分組為群38的服務(wù)器106組可使用廣域網(wǎng)(WAN)連接或中等區(qū)域網(wǎng)(MAN) 連接互聯(lián)。例如,群38可包括物理上位于不同大陸或大陸、國家、州、城市、校園或房間的不 同區(qū)域的服務(wù)器106。如果服務(wù)器106使用局域網(wǎng)(LAN)連接或一些直連形式進(jìn)行連接,則 群38中的服務(wù)器106間的數(shù)據(jù)傳送速度可增加。服務(wù)器106可指文件服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)器、代理服務(wù)器或者網(wǎng)關(guān)服務(wù) 器。在一些實(shí)施例中,服務(wù)器106可以有作為應(yīng)用服務(wù)器或者作為主應(yīng)用服務(wù)器工作的能 力。在一個實(shí)施例中,服務(wù)器106可包括活動目錄??蛻魴C(jī)102也可稱為客戶機(jī)節(jié)點(diǎn)或端 點(diǎn)。在一些實(shí)施例中,客戶機(jī)102可以有作為尋求訪問服務(wù)器上的應(yīng)用的客戶機(jī)節(jié)點(diǎn),以及 作為為其它客戶機(jī)102a-102n提供對寄載的應(yīng)用的訪問的應(yīng)用服務(wù)器的能力。在一些實(shí)施例中,客戶機(jī)102與服務(wù)器106通信。在一個實(shí)施例中,客戶機(jī)102可 與群38中的服務(wù)器106之一直接通信。在另一個實(shí)施例中,客戶機(jī)102執(zhí)行程序鄰近應(yīng)用 以與群38內(nèi)的服務(wù)器106通信。在另一個實(shí)施例中,服務(wù)器106提供主節(jié)點(diǎn)的功能。在一 些實(shí)施例中,客戶機(jī)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)的地址信息所需的功能。在一個實(shí)施例中,服務(wù)器106提供網(wǎng)絡(luò)(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接口呈現(xiàn)對客戶機(jī)102的請求的響應(yīng)。在 一個實(shí)施例中,客戶機(jī)102直接與服務(wù)器106通信以訪問所識別的應(yīng)用。在另一個實(shí)施例 中,客戶機(jī)102接收諸如顯示數(shù)據(jù)的應(yīng)用輸出數(shù)據(jù),該應(yīng)用輸出數(shù)據(jù)由服務(wù)器106上所識別 的應(yīng)用的執(zhí)行而產(chǎn)生?,F(xiàn)在參考圖1B,描述了部署多個設(shè)備200的網(wǎng)絡(luò)環(huán)境的實(shí)施例。第一設(shè)備200可 以部署在第一網(wǎng)絡(luò)104上,而第二設(shè)備200'部署在第二網(wǎng)絡(luò)104'上。例如,公司可以在 分支機(jī)構(gòu)部署第一設(shè)備200,而在數(shù)據(jù)中心部署第二設(shè)備200'。在另一個實(shí)施例中,第一 設(shè)備200和第二設(shè)備200'被部署在同一個網(wǎng)絡(luò)104或網(wǎng)絡(luò)104上。例如,第一設(shè)備200可 以被部署用于第一服務(wù)器群38,而第二設(shè)備200可以被部署用于第二服務(wù)器群38'。在另 一個實(shí)例中,第一設(shè)備200可以被部署在第一分支機(jī)構(gòu),而第二設(shè)備200 ‘被部署在第二分 支機(jī)構(gòu)'。在一些實(shí)施例中,第一設(shè)備200和第二設(shè)備200'彼此協(xié)同或聯(lián)合工作,以加速 客戶機(jī)和服務(wù)器之間的網(wǎng)絡(luò)業(yè)務(wù)量或應(yīng)用和數(shù)據(jù)的遞送?,F(xiàn)在參考圖1C,描述了使用一個或多個其它類型的設(shè)備(例如在一個或多個WAN 優(yōu)化設(shè)備205,205'之間的設(shè)備),來部署設(shè)備200的網(wǎng)絡(luò)環(huán)境的另一個實(shí)施例。例如,第 一 WAN優(yōu)化設(shè)備205顯示在網(wǎng)絡(luò)104和104'之間,而第二 WAN優(yōu)化設(shè)備205‘可以部署在 設(shè)備200和一個或多個服務(wù)器106之間。例如,公司可以在分支機(jī)構(gòu)部署第一 WAN優(yōu)化設(shè) 備205,而在數(shù)據(jù)中心部署第二 WAN優(yōu)化設(shè)備205'。在一些實(shí)施例中,設(shè)備205可以位于 網(wǎng)絡(luò)104'上。在其它實(shí)施例中,設(shè)備205'可以位于網(wǎng)絡(luò)104上。在一些實(shí)施例中,設(shè)備 205'可以位于網(wǎng)絡(luò)104'或網(wǎng)絡(luò)104〃上。在一個實(shí)施例中,設(shè)備205和205'在同一個網(wǎng)絡(luò)上。在另一個實(shí)施例中,設(shè)備205和205'在不同的網(wǎng)絡(luò)上。在另一個實(shí)例中,第一 WAN 優(yōu)化設(shè)備205可以被部署用于第一服務(wù)器群38,而第二 WAN優(yōu)化設(shè)備205'可以被部署用 于第二服務(wù)器群38'。在一個實(shí)施例中,設(shè)備205是用于加速、優(yōu)化或者以其他方式改善諸如往和/或來 自WAN連接的業(yè)務(wù)量的任意類型和形式的網(wǎng)絡(luò)業(yè)務(wù)量的性能、操作或服務(wù)質(zhì)量的裝置。在 一些實(shí)施例中,設(shè)備205是一個性能提高的代理。在其它實(shí)施例中,設(shè)備205是任意類型和 形式的WAN優(yōu)化或加速裝置,有時也被稱為WAN優(yōu)化控制器。在一個實(shí)施例中,設(shè)備205是 由位于Ft. Lauderdale Florida的Citrix Systems公司出品的被稱為WANScaler的產(chǎn)品 實(shí)施例中的任意一種。在其它實(shí)施例中,設(shè)備205包括由位于kattle,Washington的F5 Networks公司出品的被稱為BIG-IP鏈路控制器和WANjet的產(chǎn)品實(shí)施例中的任意一種。在 另一個實(shí)施例中,設(shè)備205包括由位于Sunnyvale,California的Juniper Netfforks公司 出品的WX和WXC WAN加速裝置平臺中的任意一種。在一些實(shí)施例中,設(shè)備205包括由San Francisco, California ^ Riverbed Technology [JB ( 白勺蟲工魚尊(steelhead) M^J WAN 優(yōu)化設(shè)備中的任意一種。在其它實(shí)施例中,設(shè)備205包括由位于Roseland,NewJersey的 Expand Networks公司出品的WAN相關(guān)裝置中的任意一種。在一個實(shí)施例中,設(shè)備205包括 由位于Cupertino,Californi a的Packeteer公司出品的任意一種WAN相關(guān)設(shè)備,例如由 Packeteer提供的PacketSiaper、iShared和SkyX產(chǎn)品實(shí)施例。在又一個實(shí)施例中,設(shè)備 205包括由位于San Jose, California的Cisco Systems公司出品的任意WAN相關(guān)設(shè)備和 /或軟件,例如Cisco廣域網(wǎng)應(yīng)用服務(wù)軟件和網(wǎng)絡(luò)模塊以及廣域網(wǎng)引擎設(shè)備。在一個實(shí)施例中,設(shè)備205提供為分支機(jī)構(gòu)或遠(yuǎn)程辦公室提供應(yīng)用和數(shù)據(jù)加速業(yè) 務(wù)。在一個實(shí)施例中,設(shè)備205包括廣域文件服務(wù)(WAR5)的優(yōu)化。在另一個實(shí)施例中,設(shè) 備205加速文件的遞送,例如經(jīng)由通用hternet文件系統(tǒng)(CIFS)協(xié)議。在其它實(shí)施例中, 設(shè)備205在存儲器和/或存儲設(shè)備中提供高速緩存來加速應(yīng)用和數(shù)據(jù)的遞送。在一個實(shí) 施例中,設(shè)備205在任意級別的網(wǎng)絡(luò)堆?;蛟谌我獾膮f(xié)議或網(wǎng)絡(luò)層中提供網(wǎng)絡(luò)業(yè)務(wù)量的壓 縮。在另一個實(shí)施例中,設(shè)備205提供傳輸層協(xié)議優(yōu)化、流量控制、性能增強(qiáng)或修改和/或 管理,以加速WAN連接上的應(yīng)用和數(shù)據(jù)的遞送。例如,在一個實(shí)施例中,設(shè)備205提供傳輸 控制協(xié)議(TCP)優(yōu)化。在其它實(shí)施例中,設(shè)備205提供對于任意會話或應(yīng)用層協(xié)議的優(yōu)化、 流量控制、性能增強(qiáng)或修改和/或管理。在另一個實(shí)施例中,設(shè)備205將任意類型和形式的數(shù)據(jù)或信息編碼成網(wǎng)絡(luò)分組的 定制或標(biāo)準(zhǔn)的TCP和/或IP報頭字段或可選字段,以將存在、功能或能力通告給另一個設(shè) 備205'。在另一個實(shí)施例中,設(shè)備205'可以使用在TCP和/或IP報頭字段或選項中編 碼的數(shù)據(jù)來與另一個設(shè)備205'進(jìn)行通信。例如,設(shè)備可以使用TCP選項或IP報頭字段或 選項來傳達(dá)在執(zhí)行諸如WAN加速的功能時或者為了彼此聯(lián)合工作而由設(shè)備205,205'所使 用的一個或多個參數(shù)。在一些實(shí)施例中,設(shè)備200保存在設(shè)備205和205'之間傳達(dá)的TCP和/或IP報頭 和/或可選字段中編碼的任意信息。例如,設(shè)備200可以終止經(jīng)過設(shè)備200的傳輸層連接, 例如經(jīng)過設(shè)備205和205'的客戶機(jī)和服務(wù)器之間的一個傳輸層連接。在一個實(shí)施例中,設(shè) 備200識別并保存在由第一設(shè)備205通過第一傳輸層連接發(fā)送的傳輸層分組中的任意編碼 信息,并經(jīng)由第二傳輸層連接來將具有編碼信息的傳輸層分組傳達(dá)到第二設(shè)備205'。
現(xiàn)在參考圖1D,描述了用于遞送和/或操作客戶機(jī)102上的計算環(huán)境的網(wǎng)絡(luò)環(huán)境。 在一些實(shí)施例中,服務(wù)器106包括用于向一個或多個客戶機(jī)102傳送計算環(huán)境或應(yīng)用和/ 或數(shù)據(jù)文件的應(yīng)用傳送系統(tǒng)190??偟膩碚f,客戶機(jī)10通過網(wǎng)絡(luò)104、104’和設(shè)備200與服 務(wù)器106通信。例如,客戶機(jī)102可駐留在公司的遠(yuǎn)程辦公室里,例如分支機(jī)構(gòu),并且服務(wù) 器106可駐留在公司數(shù)據(jù)中心??蛻魴C(jī)102包括客戶機(jī)代理120以及計算環(huán)境15。計算環(huán) 境15可執(zhí)行或操作用于訪問、處理或使用數(shù)據(jù)文件的應(yīng)用。計算環(huán)境15、應(yīng)用和/或數(shù)據(jù) 文件可通過設(shè)備200和/或服務(wù)器106傳送。在一些實(shí)施例中,設(shè)備200加速計算環(huán)境15或者其任意部分到客戶機(jī)102的傳 送。在一個實(shí)施例中,設(shè)備200通過應(yīng)用傳送系統(tǒng)190加速計算環(huán)境15的傳送。例如,可 使用此處描述的實(shí)施例來加速從總公司中央數(shù)據(jù)中心到遠(yuǎn)程用戶位置(例如公司的分支 機(jī)構(gòu))的應(yīng)用處理的流應(yīng)用和數(shù)據(jù)文件的傳送。在另一個實(shí)施例中,設(shè)備200加速客戶機(jī) 102和服務(wù)器106之間的傳輸層業(yè)務(wù)量。設(shè)備200可以提供用于加速從服務(wù)器106到客戶 機(jī)102的任意傳輸層有效載荷的加速技術(shù),例如1)傳輸層連接池,幻傳輸層連接多路復(fù) 用,3)傳輸控制協(xié)議緩沖,4)壓縮和幻高速緩存。在一些實(shí)施例中,設(shè)備200響應(yīng)來自客 戶機(jī)102的請求提供服務(wù)器106的負(fù)載平衡。在其它實(shí)施例中,設(shè)備200充當(dāng)代理或者訪 問服務(wù)器來提供對一個或者多個服務(wù)器106的訪問。在另一個實(shí)施例中,設(shè)備200提供從 客戶機(jī)102的第一網(wǎng)絡(luò)104到服務(wù)器106的第二網(wǎng)絡(luò)104’的安全虛擬專用網(wǎng)絡(luò)連接,諸如 SSL VPN連接。在又一些實(shí)施例中,設(shè)備200提供客戶機(jī)102和服務(wù)器106之間的連接和通 信的應(yīng)用防火墻安全、控制和管理。在一些實(shí)施例中,基于多個執(zhí)行方法并且基于通過策略引擎195所應(yīng)用的任一驗(yàn) 證和授權(quán)策略,應(yīng)用傳送管理系統(tǒng)190提供應(yīng)用傳送技術(shù)來傳送計算環(huán)境到用戶的桌面 (遠(yuǎn)程的或者其它的)。使用這些技術(shù),遠(yuǎn)程用戶可以從任意網(wǎng)絡(luò)連接裝置100獲取計算環(huán) 境并且訪問服務(wù)器所存儲的應(yīng)用和數(shù)據(jù)文件。在一個實(shí)施例中,應(yīng)用傳送系統(tǒng)190可駐留 在服務(wù)器106上或在其上執(zhí)行。在另一個實(shí)施例中,應(yīng)用傳送系統(tǒng)190可駐留在多個服務(wù) 器106a-106n上或在其上執(zhí)行。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190可在服務(wù)器群38內(nèi)執(zhí) 行。在一個實(shí)施例中,執(zhí)行應(yīng)用傳送系統(tǒng)190的服務(wù)器106也可存儲或提供應(yīng)用和數(shù)據(jù)文 件。在另一個實(shí)施例中,一個或多個服務(wù)器106的第一組可執(zhí)行應(yīng)用傳送系統(tǒng)190,并且不 同的服務(wù)器106η可存儲或提供應(yīng)用和數(shù)據(jù)文件。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190、應(yīng) 用和數(shù)據(jù)文件中的每一個可駐留或位于不同的服務(wù)器。在又一個實(shí)施例中,應(yīng)用傳送系統(tǒng) 190的任何部分可駐留、執(zhí)行、或被存儲于或分發(fā)到設(shè)備200或多個設(shè)備??蛻魴C(jī)102可包括用于執(zhí)行應(yīng)用的計算環(huán)境15,該應(yīng)用使用或處理數(shù)據(jù)文件???戶機(jī)102可通過網(wǎng)絡(luò)104、104’和設(shè)備200請求來自服務(wù)器106的應(yīng)用和數(shù)據(jù)文件。在一 個實(shí)施例中,設(shè)備200可以轉(zhuǎn)發(fā)來自客戶機(jī)102的請求到服務(wù)器106。例如,客戶機(jī)102可 能不具有本地存儲或者本地可訪問的應(yīng)用和數(shù)據(jù)文件。響應(yīng)于請求,應(yīng)用傳送系統(tǒng)190和/ 或服務(wù)器106可以傳送應(yīng)用和數(shù)據(jù)文件到客戶機(jī)102。例如,在一個實(shí)施例中,服務(wù)器106 可以應(yīng)用流傳遞應(yīng)用,以在客戶機(jī)102上的計算環(huán)境15操作。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190包括Citrix Systems, Inc.的Citrix Access Suite 的任何部分,諸如MetaFrame 或者 Citrix Presentation Server 和 /或Microsoft 公司制造的任一的Microsoft Windows Terminal Services。在一個實(shí)施例中,應(yīng)用傳送系統(tǒng)190可以通過遠(yuǎn)程顯示協(xié)議或者通過基于遠(yuǎn)程或者基于服務(wù)器計算的其它方式來傳 送一個或者多個應(yīng)用到客戶機(jī)102或者用戶。在另一個實(shí)施例中,應(yīng)用傳送系統(tǒng)190可以 通過應(yīng)用流來傳送一個或者多個應(yīng)用到客戶機(jī)或者用戶。在一個實(shí)施例中,應(yīng)用傳送系統(tǒng)190包括策略引擎195,用于控制和管理對應(yīng)用的 訪問,應(yīng)用執(zhí)行方法的選擇以及應(yīng)用的傳送。在一些實(shí)施例中,策略引擎195確定用戶或者 客戶機(jī)102可以訪問的一個或者多個應(yīng)用。在另一個實(shí)施例中,策略引擎195確定應(yīng)用應(yīng) 該如何被傳送到用戶或者客戶機(jī)102,例如執(zhí)行方法。在一些實(shí)施例中,應(yīng)用遞送系統(tǒng)190 提供多個遞送技術(shù),從中選擇應(yīng)用執(zhí)行的方法,例如基于服務(wù)器的計算、本地流式傳輸或遞 送應(yīng)用給客戶機(jī)120以用于本地執(zhí)行。在一個實(shí)施例中,客戶機(jī)102請求應(yīng)用程序的執(zhí)行并且包括服務(wù)器106的應(yīng)用傳 送系統(tǒng)190選擇執(zhí)行應(yīng)用程序的方法。在一些實(shí)施例中,服務(wù)器106從客戶機(jī)102接收證 書。在另一個實(shí)施例中,服務(wù)器106從客戶機(jī)102接收對于可用應(yīng)用的列舉的請求。在一 個實(shí)施例中,響應(yīng)該請求或者證書的接收,應(yīng)用傳送系統(tǒng)190列舉對于客戶機(jī)102可用的多 個應(yīng)用程序。應(yīng)用傳送系統(tǒng)190接收請求來執(zhí)行所列舉的應(yīng)用。應(yīng)用傳送系統(tǒng)190例如響 應(yīng)策略引擎的策略,選擇預(yù)定數(shù)量的方法之一來執(zhí)行所列舉的應(yīng)用。應(yīng)用傳送系統(tǒng)190可 以選擇執(zhí)行應(yīng)用的方法,使得客戶機(jī)102接收通過執(zhí)行服務(wù)器106上的應(yīng)用程序所產(chǎn)生的 應(yīng)用輸出數(shù)據(jù)。應(yīng)用傳送系統(tǒng)190可以選擇執(zhí)行應(yīng)用的方法,使得本地機(jī)器10在檢索包括 應(yīng)用的多個應(yīng)用文件之后本地執(zhí)行應(yīng)用程序。在又一個實(shí)施例中,應(yīng)用傳送系統(tǒng)190可以 選擇執(zhí)行應(yīng)用的方法,以通過網(wǎng)絡(luò)104流式傳輸應(yīng)用到客戶機(jī)102??蛻魴C(jī)102可以執(zhí)行、操作或者以其它方式提供應(yīng)用,應(yīng)用可為任何類型和/或 形式的軟件、程序或者可執(zhí)行指令,例如任何類型和/或形式的web瀏覽器、基于web的客 戶機(jī)、客戶機(jī)-服務(wù)器應(yīng)用、瘦客戶機(jī)計算客戶機(jī)、ActiveX控件、或者Java程序、或者可以 在客戶機(jī)102上執(zhí)行的任意其它類型和/或形式的可執(zhí)行指令。在一些實(shí)施例中,應(yīng)用可 以是代表客戶機(jī)102在服務(wù)器106上執(zhí)行的基于服務(wù)器或者基于遠(yuǎn)程的應(yīng)用。在一個實(shí)施 例中,服務(wù)器106可以使用任意瘦-客戶機(jī)或遠(yuǎn)程顯示協(xié)議來顯示輸出到客戶機(jī)102,所述 遠(yuǎn)程顯示協(xié)議例如由位于Ft. Lauderdale, Florida的Citrix Systems公司出品的獨(dú)立計 算架構(gòu)(ICA)協(xié)議或由位于Redmond,Washington的微軟公司出品的遠(yuǎn)程桌面協(xié)議(RDP)。 應(yīng)用可使用任何類型的協(xié)議,并且它可為,例如,HTTP客戶機(jī)、FTP客戶機(jī)、Oscar客戶機(jī)或 Telnet客戶機(jī)。在其它實(shí)施例中,應(yīng)用包括和VoIP通信相關(guān)的任何類型的軟件,例如軟IP 電話。在進(jìn)一步的實(shí)施例中,應(yīng)用包括涉及到實(shí)時數(shù)據(jù)通信的任一應(yīng)用,例如用于流式傳輸 視頻和/或音頻的應(yīng)用。在一些實(shí)施例中,服務(wù)器106或服務(wù)器群38可運(yùn)行一個或多個應(yīng)用,例如提供 瘦客戶機(jī)計算或遠(yuǎn)程顯示表示應(yīng)用的應(yīng)用。在一個實(shí)施例中,服務(wù)器106或服務(wù)器群38 作為一個應(yīng)用來執(zhí)行Citrix Systems Inc.的Citrix Access Suite 的任一部分(例 如 MetaFrame 或 Citrix Presentation Server ),禾口 / 或微軟公司開發(fā)的 Microsoft Windows終端服務(wù)中的任意一個。在一個實(shí)施例中,該應(yīng)用是位于Florida,F(xiàn)ort Lauderdale的Citrix Systems Inc.開發(fā)的ICA客戶機(jī)。在其它實(shí)施例中,該應(yīng)用包括 由位于Washington,Redmond的Microsoft公司開發(fā)的遠(yuǎn)程桌面(RDP)客戶機(jī)。另外,服 務(wù)器106可以運(yùn)行一個應(yīng)用,它例如可以是提供電子郵件服務(wù)的應(yīng)用服務(wù)器,例如由位于Washington, Redmond 的 Microsoft 公司制造的 Microsoft Exchange, web 或 Internet 月艮務(wù) 器,或者桌面共享服務(wù)器,或者協(xié)作服務(wù)器。在一些實(shí)施例中,任一應(yīng)用可以包括任一類型 的所寄載的服務(wù)或產(chǎn)品,例如位于California,Santa Barbara的Citrix Online Division 提供的 Go^ToMeeting ,位于 California,Santa Clara 的 WebEx Inc.提供的 WebEx ,或者 位于 Washington, Redmond 的 Microsoft 公司提供的 Microsoft Office Live Meeting。仍然參看圖1D,網(wǎng)絡(luò)環(huán)境的一個實(shí)施例可以包括監(jiān)控服務(wù)器106A。監(jiān)控服務(wù)器 106A可以包括任何類型和形式的性能監(jiān)控服務(wù)198。性能監(jiān)控服務(wù)198可以包括監(jiān)控、測量 和/或管理軟件和/或硬件,包括數(shù)據(jù)收集、集合、分析、管理和報告。在一個實(shí)施例中,性 能監(jiān)控服務(wù)198包括一個或多個監(jiān)控代理197。監(jiān)控代理197包括用于在諸如客戶機(jī)102、 服務(wù)器106或設(shè)備200和205的裝置上執(zhí)行監(jiān)控、測量和數(shù)據(jù)收集活動的任意軟件、硬件或 其組合。在一些實(shí)施例中,監(jiān)控代理197包括諸如Visual Basic腳本或Javascript任意 類型和形式的腳本。在一個實(shí)施例中,監(jiān)控代理197相對于裝置的任意應(yīng)用和/或用戶透 明地執(zhí)行。在一些實(shí)施例中,監(jiān)控代理197相對于應(yīng)用或客戶機(jī)不引人注目地被安裝和操 作。在又一個實(shí)施例中,監(jiān)控代理197被安裝和操作而不需要用于該應(yīng)用或裝置的任何設(shè) 備(instrumentation)。在一些實(shí)施例中,監(jiān)控代理197以預(yù)定頻率監(jiān)控、測量和收集數(shù)據(jù)。在其它實(shí)施例 中,監(jiān)控代理197基于檢測到任意類型和形式的事件來監(jiān)控、測量和收集數(shù)據(jù)。例如,監(jiān)控 代理197可以在檢測到對web頁面的請求或收到HTTP響應(yīng)時收集數(shù)據(jù)。在另一個實(shí)例中, 監(jiān)控代理197可以在檢測到諸如鼠標(biāo)點(diǎn)擊的任一用戶輸入事件時收集數(shù)據(jù)。監(jiān)控代理197 可以報告或提供任何所監(jiān)控、測量或收集的數(shù)據(jù)給監(jiān)控服務(wù)198。在一個實(shí)施例中,監(jiān)控代 理197根據(jù)時間安排或預(yù)定頻率來發(fā)送信息給監(jiān)控服務(wù)198。在另一個實(shí)施例中,監(jiān)控代理 197在檢測到事件時發(fā)送信息給監(jiān)控服務(wù)198。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197對諸如客戶機(jī)、服務(wù)器、服務(wù) 器群、設(shè)備200、設(shè)備205或網(wǎng)絡(luò)連接的任意網(wǎng)絡(luò)資源或網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)元件的進(jìn)行監(jiān)控和性 能測量。在一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197執(zhí)行諸如TCP或UDP連接的 任意傳輸層連接的監(jiān)控和性能測量。在另一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197 監(jiān)控和測量網(wǎng)絡(luò)等待時間。在又一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和 測量帶寬利用。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量終端用戶響應(yīng)時 間。在一些實(shí)施例中,監(jiān)控服務(wù)198執(zhí)行應(yīng)用的監(jiān)控和性能測量。在另一個實(shí)施例中,監(jiān)控 服務(wù)198和/或監(jiān)控代理197執(zhí)行到應(yīng)用的任意會話或連接的監(jiān)控和性能測量。在一個實(shí) 施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量瀏覽器的性能。在另一個實(shí)施例中, 監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量基于HTTP的事務(wù)的性能。在一些實(shí)施例中, 監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量IP電話(VoIP)應(yīng)用或會話的性能。在其它 實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量諸如ICA客戶機(jī)或RDP客戶機(jī)的 遠(yuǎn)程顯示協(xié)議應(yīng)用的性能。在又一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和 測量任意類型和形式的流媒體的性能。在進(jìn)一步的實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代 理197監(jiān)控和測量寄載應(yīng)用或軟件即服務(wù)(Software-As-A-Service,SaaS)遞送模型的性 能。
在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197執(zhí)行與應(yīng)用相關(guān)的一個或多 個事務(wù)、請求或響應(yīng)的監(jiān)控和性能測量。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理 197監(jiān)控和測量應(yīng)用層堆棧的任意部分,例如任意.NET或J2EE調(diào)用。在一個實(shí)施例中,監(jiān) 控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量數(shù)據(jù)庫或SQL事務(wù)。在又一個實(shí)施例中,監(jiān)控 服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量任意方法、函數(shù)或應(yīng)用編程接口(API)調(diào)用。在一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197對經(jīng)由諸如設(shè)備200和/或 設(shè)備205的一個或多個設(shè)備從服務(wù)器到客戶機(jī)的應(yīng)用和/或數(shù)據(jù)的遞送進(jìn)行監(jiān)控和性能測 量。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量虛擬化應(yīng)用的遞送的 性能。在其它實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量流式應(yīng)用的遞送的 性能。在另一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197監(jiān)控和測量遞送桌面應(yīng)用到 客戶機(jī)和/或在客戶機(jī)上執(zhí)行桌面應(yīng)用的性能。在另一個實(shí)施例中,監(jiān)控服務(wù)198和/或 監(jiān)控代理197監(jiān)控和測量客戶機(jī)/服務(wù)器應(yīng)用的性能。在一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197被設(shè)計和構(gòu)建為應(yīng)用遞送系 統(tǒng)190提供應(yīng)用性能管理。例如,監(jiān)控服務(wù)198和/或監(jiān)控代理197可以監(jiān)控、測量和管理 經(jīng)由Citrix表示服務(wù)器遞送應(yīng)用的性能。在該實(shí)例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197 監(jiān)控單獨(dú)的ICA會話。監(jiān)控服務(wù)198和/或監(jiān)控代理197可以測量總的資源使用以及每個 會話系統(tǒng)資源使用,以及應(yīng)用和連網(wǎng)性能。監(jiān)控服務(wù)198和/或監(jiān)控代理197可以識別給 定用戶和/或用戶會話的有效服務(wù)器。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197 監(jiān)控在應(yīng)用遞送系統(tǒng)190和應(yīng)用和/或數(shù)據(jù)庫服務(wù)器之間的后端連接。監(jiān)控服務(wù)198和/ 或監(jiān)控代理197可以測量每個用戶會話或ICA會話的網(wǎng)絡(luò)等待時間、延遲和容量。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測量和監(jiān)控應(yīng)用遞送系統(tǒng)190 的內(nèi)存使用,諸如總的內(nèi)存使用、每個用戶會話和/或每個進(jìn)程的內(nèi)存使用。在其它實(shí)施例 中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測量和監(jiān)控應(yīng)用遞送系統(tǒng)190的CPU使用,諸如總的 CPU使用,每個用戶會話和/或每個進(jìn)程的CPU使用。在另一個實(shí)施例中,監(jiān)控服務(wù)198和 /或監(jiān)控代理197測量和監(jiān)控登錄到諸如Citrix表示服務(wù)器的應(yīng)用、服務(wù)器或應(yīng)用遞送系 統(tǒng)所需的時間。在一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測量和監(jiān)控用戶登錄 應(yīng)用、服務(wù)器或應(yīng)用遞送系統(tǒng)190的持續(xù)時間。在一些實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控 代理197測量和監(jiān)控應(yīng)用、服務(wù)器或應(yīng)用遞送系統(tǒng)會話的有效和無效的會話計數(shù)。在又一 個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測量和監(jiān)控用戶會話等待時間。在又一個進(jìn)一步的實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測量和監(jiān)控任意 類型和形式的服務(wù)器指標(biāo)。在一個實(shí)施例中,監(jiān)控服務(wù)198和/或監(jiān)控代理197測量和監(jiān) 控與系統(tǒng)內(nèi)存、CPU使用和磁盤存儲器有關(guān)的指標(biāo)。在另一個實(shí)施例中,監(jiān)控服務(wù)198和/ 或監(jiān)控代理197測量和監(jiān)控與頁錯誤有關(guān)的指標(biāo),諸如每秒頁錯誤。在其它實(shí)施例中,監(jiān)控 服務(wù)198和/或監(jiān)控代理197測量和監(jiān)控往返時間的指標(biāo)。在又一個實(shí)施例中,監(jiān)控服務(wù) 198和/或監(jiān)控代理197測量和監(jiān)控與應(yīng)用崩潰、錯誤和/或掛起相關(guān)的指標(biāo)。在一些實(shí)施例中,監(jiān)控服務(wù)198和監(jiān)控代理198包括由位于Ft. Lauderdale, Florida的Citrix Systems公司出品的被稱為EdgeSight的任意一種產(chǎn)品實(shí)施例。在另 一個實(shí)施例中,性能監(jiān)控服務(wù)198和/或監(jiān)控代理198包括由位于I^alo Alto, California 的Symphoniq公司出品的被稱為TrueView產(chǎn)品套件的產(chǎn)品實(shí)施例的任一部分。在一個實(shí)施例中,性能監(jiān)控服務(wù)198和/或監(jiān)控代理198包括由位于San Francisco, California 的TeaLeaf技術(shù)公司出品的被稱為TeaLeafCX產(chǎn)品套件的產(chǎn)品實(shí)施例的任意部分。在其 它實(shí)施例中,性能監(jiān)控服務(wù)198和/或監(jiān)控代理198包括由位于Houston,Texas的BMC軟 件公司出品的諸如BMC性能管理器和巡邏產(chǎn)品(BMC Performance Manager and Patrol products)的商業(yè)業(yè)務(wù)管理產(chǎn)品的任意部分。客戶機(jī)102、服務(wù)器106和設(shè)備200可以布署為和/或執(zhí)行在任意類型和形式的計 算裝置上,諸如能夠在任意類型和形式的網(wǎng)絡(luò)上通信并執(zhí)行此處描述的操作的計算機(jī)、網(wǎng) 絡(luò)裝置或者設(shè)備。圖IE和IF描述了可用于實(shí)施客戶機(jī)102、服務(wù)器106或設(shè)備200的實(shí)施 例的計算裝置100的框圖。如圖IE和IF所示,每個計算裝置100包括中央處理單元101 和主存儲器單元122。如圖IE所示,計算裝置100可以包括可視顯示裝置124、鍵盤1 和 /或諸如鼠標(biāo)的指示裝置127。每個計算裝置100也可包括其它可選擇的部件,例如一個或 多個輸入/輸出裝置130a-130b (總的使用標(biāo)號130表示),以及與中央處理單元101通信 的高速緩存存儲器140。中央處理單元101是響應(yīng)并處理從主存儲器單元122取出的指令的任意邏輯電 路。在許多實(shí)施例中,中央處理單元由微處理器單元提供,例如由California,Mountain View的htel公司制造的微處理器單元;由Illinois,Schaumburg的Motorola公司制造 的微處理器單元;由Califirnia,Santa Clara的Transmeta公司制造的微處理器單元;由 New York, White Plains ^ International Business MachinesRS/6000 ^hS 器;或者由California,Sunnyvale的Advanced Micro Devices公司制造的微處理器單元。 計算設(shè)備100可以基于這些處理器中的任意一種,或者能夠按照這里所說明的那樣運(yùn)行的 任意其它處理器。主存儲器單元122可以是能夠存儲數(shù)據(jù)并允許微處理器101直接訪問任意存儲 位置的一個或多個存儲器芯片,例如靜態(tài)隨機(jī)訪問存儲器(SRAM)、Burst (脈沖串)SRAM或 SynchBurst SRAM(BSRAM)、動態(tài)隨機(jī)訪問存儲器DRAM、快速頁模式DRAM(FPM DRAM)、增強(qiáng) DRAM (EDRAM)、擴(kuò)展數(shù)據(jù)輸出RAM (EDO RAM)、擴(kuò)展數(shù)據(jù)輸出DRAM (EDO DRAM)、脈沖串?dāng)U展 數(shù)據(jù)輸出 DRAM (BED0 DRAM)、增強(qiáng)型 DRAM (EDRAM)、同步 DRAM (SDRAM)、JEDEC SRAM、PClOO SDRAM、雙數(shù)據(jù)傳輸率 SDRAM (DDR SDRAM)、增強(qiáng) SRAM (ESDRAM)、同步鏈路 DRAM (SLDRAM)、直 接Rambus DRAM(DRDRAM)或鐵電RAM(FRAM)。主存儲器122可以基于上述存儲芯片的任意 一種,或者能夠像這里所說明的那樣運(yùn)行的任意其它可用存儲芯片。在圖IE中所示的實(shí)施 例中,處理器101通過系統(tǒng)總線150 (在下面進(jìn)行更詳細(xì)的描述)與主存儲器122進(jìn)行通 信。圖IE描述了在其中處理器通過存儲器端口 103直接與主存儲器122通信的計算裝置 100的實(shí)施例。例如,在圖IF中,主存儲器122可以是DRDRAM。圖IF示出主處理器101通過第二總線與高速緩沖存儲器140通信的實(shí)施例,第二 總線有時也稱為背側(cè)總線。其他實(shí)施例中,主處理器101使用系統(tǒng)總線150與高速緩沖存 儲器140通信。高速緩沖存儲器140通常有比主存儲器122更快的響應(yīng)時間,并且通常由 SRAM、BSRAM或EDRAM提供。在圖IE中所示的實(shí)施例中,處理器101通過本地系統(tǒng)總線150 與多個1/0裝置130進(jìn)行通信??梢允褂酶鞣N不同的總線將中央處理單元101連接到任意 1/0設(shè)備130,包括VESA VL總線、ISA總線、EISA總線、微通道體系結(jié)構(gòu)(MCA)總線、PCI總 線、PCI-X總線、PCI-Express總線或NuBus。對于1/0設(shè)備是視頻顯示器124的實(shí)施例,處理器101可以使用加速圖形接口(AGP)與顯示器IM通信。圖IF說明了主處理器101通 過超傳輸(HyperTransport)、快速I/O或者InfiniBand直接與I/O設(shè)備130b通信的計算 機(jī)100的一個實(shí)施例。圖IF還示出了混合本地總線和直接通信的實(shí)施例處理器101使用 本地互連總線與I/O裝置130進(jìn)行通信,同時直接與I/O裝置130進(jìn)行通信。計算裝置100可以支持任意適當(dāng)?shù)陌惭b裝置116,例如用于接收像3. 5英寸、5. 25 英寸磁盤或ZIP磁盤這樣的軟盤的軟盤驅(qū)動器、CD-ROM驅(qū)動器、CD-R/RW驅(qū)動器、DVD-ROM 驅(qū)動器、多種格式的磁帶驅(qū)動器、USB裝置、硬盤驅(qū)動器或適于安裝像任意客戶機(jī)代理120 或其部分的軟件和程序的任意其它裝置。計算裝置100還可以包括存儲裝置128,諸如一 個或者多個硬盤驅(qū)動器或者獨(dú)立磁盤冗余陣列,用于存儲操作系統(tǒng)和其它相關(guān)軟件,以及 用于存儲諸如涉及客戶機(jī)代理120的任意程序的應(yīng)用軟件程序?;蛘?,可以使用安裝設(shè)備 116的任意一種作為存儲設(shè)備128。此外,操作系統(tǒng)和軟件可從例如可引導(dǎo)CD的可引導(dǎo)介 質(zhì)運(yùn)行,諸如KNOPPIX ,一種用于GNU/Linux的可引導(dǎo)⑶,該可引導(dǎo)⑶可自knoppix. net 作為GNU/Linux分發(fā)獲得。此外,計算設(shè)備100可以包括網(wǎng)絡(luò)接口 118以通過多種連接(包括但不限于標(biāo)準(zhǔn) 電話線路、LAN或WAN鏈路(例如802. 11,Tl,Τ3、561Λ、Χ. 25)、寬帶連接(如ISDN、幀中繼、 ATM)、無線連接、或上述任意或全部的一些組合)連接到局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或因 特網(wǎng)。網(wǎng)絡(luò)接口 118可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA網(wǎng)絡(luò)卡、卡總線網(wǎng)絡(luò)適 配器、無線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器或適用于將計算設(shè)備100連接到能夠 通信并執(zhí)行這里所說明的操作的任意類型的網(wǎng)絡(luò)的任意其它設(shè)備。各式各樣的I/O裝置 130a-130n可以存在于計算裝置100中。輸入設(shè)備包括鍵盤、鼠標(biāo)、觸控板、軌跡球、話筒和 繪圖板。輸出設(shè)備包括視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)和熱升華打印機(jī)。如圖 IE所示,I/O裝置130可以由I/O控制器123控制。I/O控制器可以控制一個或多個I/O設(shè) 備,例如鍵盤1 和定位設(shè)備127(如鼠標(biāo)或光筆)。此外,I/O設(shè)備還可以為計算設(shè)備100 提供存儲設(shè)備1 和/或安裝介質(zhì)116。在其它實(shí)施例中,計算設(shè)備100可以提供USB連接 以接收手持USB存儲設(shè)備,例如由位于Los Alamitos, California的Twintech Industry 公司生產(chǎn)的設(shè)備的USB閃存驅(qū)動器線。在一些實(shí)施例中,計算裝置100可以包括多個顯示裝置1對『12如或與其相連,這 些顯示裝置可以是相同或不同的類型和/或形式。因而,任意一種I/O裝置130a-130n和/ 或I/O控制器123可以包括任一類型和/或形式的適當(dāng)?shù)挠布④浖蛴布蛙浖慕M合, 以支持、允許或提供通過計算裝置100連接和使用多個顯示裝置12如-1對11。例如,計算裝 置100可以包括任意類型和/或形式的視頻適配器、視頻卡、驅(qū)動器和/或庫,以與顯示裝 置1對『12如對接、通信、連接或使用顯示裝置。在一個實(shí)施例中,視頻適配器可以包括多 個連接器以與多個顯示裝置1對『12如對接。在其它實(shí)施例中,計算裝置100可以包括多 個視頻適配器,每個視頻適配器與顯示裝置12如-1對11中的一個或多個連接。在一些實(shí)施 例中,計算裝置100的操作系統(tǒng)的任一部分都可以被配置用于使用多個顯示器12如-1對11。 在其它實(shí)施例中,顯示裝置中的一個或多個可以由一個或多個其它計算裝置提 供,諸如(例如通過網(wǎng)絡(luò))與計算裝置100連接的計算裝置IOOa和100b。這些實(shí)施例可以 包括被設(shè)計和構(gòu)造的任一類型的軟件,以使用另一個計算機(jī)的顯示裝置作為計算裝置100 的第二顯示裝置IMa。本領(lǐng)域的普通技術(shù)人員會認(rèn)識和意識到可以將計算裝置100配置成
15擁有多個顯示裝置12如-1對11的各種方式和實(shí)施例。在進(jìn)一步的實(shí)施例中,I/O設(shè)備130可以是系統(tǒng)總線150和外部通信總線(如USB 總線、Apple桌面總線、RS-232串行連接、SCSI總線、FireWire總線、FireWire800總線、以 太網(wǎng)總線、AppleTalk總線、千兆位以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超級HIPPI 總線、SerialPlus總線、SCI/LAMP總線、光纖信道總線或串行SCSI總線)之間的橋170.圖IE和IF中描述的計算裝置100類型典型地在操作系統(tǒng)的控制下運(yùn)行,操作 系統(tǒng)控制任務(wù)的調(diào)度和對系統(tǒng)資源的訪問。裝置100可以運(yùn)行任意操作系統(tǒng),例如任意 版本的Microsoft Windows操作系統(tǒng),不同發(fā)行版本的Unix和Linux操作系統(tǒng),用于 Macintosh計算機(jī)的任意版本的MAC OS ,任意嵌入式操作系統(tǒng),任意實(shí)時操作系統(tǒng),任意 開源操作系統(tǒng),任意專有操作系統(tǒng),任意用于移動計算裝置的操作系統(tǒng),或者任意其它能夠 在計算裝置上運(yùn)行并完成這里所述操作的操作系統(tǒng)。典型的操作系統(tǒng)包括WIND0WS 3.x、 WINDOWS 95, WINDOWS 98, WINDOWS 2000, WINDOWS NT 3. 51, WINDOWS NT 4. 0, WINDOWS CE和WINDOWS XP,所有這些均由位于Redmond,Washington的微軟公司出品;由位于 Cupertino, California的蘋果計算機(jī)出品的MacOS ;由位于Armonk,New York的國際商業(yè) 機(jī)器公司出品的OS/2 ;以及由位于Mlt Lake City,Utah的Caldera公司發(fā)布的可免費(fèi)使 用的Linux操作系統(tǒng)或者任意類型和/或形式的Unix操作系統(tǒng),以及其它。在其它實(shí)施例中,計算設(shè)備100可以有不同的處理器、操作系統(tǒng)以及與其一致的 輸入設(shè)備。例如,在一個實(shí)施例中,計算機(jī)100是由I^alm公司出品的Treo 180、270、1060、600 或650智能電話。在該實(shí)施例中,Treo智能電話在I3aImOS操作系統(tǒng)的控制下操作,并包括 指示筆輸入裝置以及五向?qū)Ш窖b置。此外,計算裝置100可以是任意工作站、桌面計算機(jī)、 膝上型或筆記本計算機(jī)、服務(wù)器、手持計算機(jī)、移動電話、任意其它計算機(jī)、或能夠通信并有 足夠的處理器能力和存儲容量以執(zhí)行此處所述的操作的其它形式的計算或者電信裝置。B、設(shè)備架構(gòu)圖2A示出設(shè)備200的一個示例實(shí)施例。提供圖2A的設(shè)備200架構(gòu)僅用于示例, 并不意于作為限制性的架構(gòu)。如圖2所示,設(shè)備200包括硬件層206和被分為用戶空間202 和內(nèi)核空間204的軟件層。硬件層206提供硬件元件,在內(nèi)核空間204和用戶空間202中的程序和服務(wù)在該 硬件元件上被執(zhí)行。硬件層206也提供結(jié)構(gòu)和元件,這些結(jié)構(gòu)和元件允許在內(nèi)核空間204和 用戶空間202內(nèi)的程序和服務(wù)既在內(nèi)部又在外部與設(shè)備200通信數(shù)據(jù)。如圖2所示,硬件 層206包括用于執(zhí)行軟件程序和服務(wù)的處理單元沈2,用于存儲軟件和數(shù)據(jù)的存儲器沈4, 用于通過網(wǎng)絡(luò)傳輸和接收數(shù)據(jù)的網(wǎng)絡(luò)端口沈6,以及用于執(zhí)行與安全套接字協(xié)議層相關(guān)的 功能處理通過網(wǎng)絡(luò)傳輸和接收的數(shù)據(jù)的加密處理器沈0。在一些實(shí)施例中,中央處理單元 262可在單獨(dú)的處理器中執(zhí)行加密處理器260的功能。另外,硬件層206可包括用于每個處 理單元262和加密處理器沈0的多處理器。處理器262可以包括以上結(jié)合圖IE和IF所述 的任一處理器101。在一些實(shí)施例中,中央處理單元262可在單獨(dú)的處理器中執(zhí)行加密處理 器260的功能。另外,硬件層206可包括用于每個處理單元262和加密處理器沈0的多處 理器。例如,在一個實(shí)施例中,設(shè)備200包括第一處理器262和第二處理器沈2’。在其它實(shí) 施例中,處理器262或者沈2’包括多核處理器。雖然示出的設(shè)備200的硬件層206通常帶有加密處理器沈0,但是處理器260可為執(zhí)行涉及任何加密協(xié)議的功能的處理器,例如安全套接字協(xié)議層(SSL)或者傳輸層安全 (TLS)協(xié)議。在一些實(shí)施例中,處理器260可為通用處理器(GPP),并且在進(jìn)一步的實(shí)施例 中,可為用于執(zhí)行任何安全相關(guān)協(xié)議處理的可執(zhí)行指令。雖然在圖2中設(shè)備200的硬件層206示為具有一些元件,但是設(shè)備200的硬件部 分或部件可包括計算裝置的任何類型和形式的元件、硬件或軟件,例如此處結(jié)合圖IE和IF 示出和討論的計算裝置100。在一些實(shí)施例中,設(shè)備200可包括服務(wù)器、網(wǎng)關(guān)、路由器、開關(guān)、 橋接器或其它類型的計算或網(wǎng)絡(luò)設(shè)備,并且擁有與此相關(guān)的任何硬件和/或軟件元件。設(shè)備200的操作系統(tǒng)分配、管理或另外分離可用的系統(tǒng)存儲器到內(nèi)核空間204和 用戶空間204。在示例的軟件架構(gòu)200中,操作系統(tǒng)可以是任意類型和/或形式的Unix操作 系統(tǒng),盡管本發(fā)明并未這樣限制。因而,設(shè)備200能夠運(yùn)行任意操作系統(tǒng),例如任意一種版 本的Microsoft Windows操作系統(tǒng)、不同版本的Unix和Linux操作系統(tǒng)、用于Macintosh 計算機(jī)的任意版本的Mac 0S 、任意的嵌入式操作系統(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)。預(yù)定內(nèi)核空間204用于運(yùn)行內(nèi)核230,內(nèi)核230包括任何設(shè)備驅(qū)動器,內(nèi)核擴(kuò)展或 其他內(nèi)核相關(guān)軟件。就像本領(lǐng)域技術(shù)人員所知的,內(nèi)核230是操作系統(tǒng)的核心,并提供對資 源以及設(shè)備104的相關(guān)硬件元件的訪問、控制和管理。根據(jù)設(shè)備200的實(shí)施例,內(nèi)核空間204 也包括與高速緩存管理器232協(xié)同工作的多個網(wǎng)絡(luò)服務(wù)或進(jìn)程,有時也稱為集成的高速緩 存,其益處此處將進(jìn)一步詳細(xì)描述。另外,內(nèi)核230的實(shí)施例將依賴于通過設(shè)備200安裝、 配置或其他使用的操作系統(tǒng)的實(shí)施例。在一個實(shí)施例中,設(shè)備200包括一個網(wǎng)絡(luò)堆棧沈7,例如基于TCP/IP的堆棧,用于 與客戶機(jī)102和/或服務(wù)器106通信。在一個實(shí)施例中,使用網(wǎng)絡(luò)堆棧267與例如網(wǎng)絡(luò)108 的第一網(wǎng)絡(luò)以及第二網(wǎng)絡(luò)110通信。在一些實(shí)施例中,設(shè)備200終止第一傳輸層連接,例如 客戶機(jī)102的TCP連接,并建立到服務(wù)器106的第二傳輸層連接,客戶機(jī)102使用該第二傳 輸層連接,例如,在設(shè)備200和服務(wù)器106終止第二傳輸層連接??赏ㄟ^單獨(dú)的網(wǎng)絡(luò)堆棧267 建立第一和第二傳輸層連接。在其他實(shí)施例中,設(shè)備200可包括多個網(wǎng)絡(luò)堆棧,例如267或 267',并且在一個網(wǎng)絡(luò)堆棧267可建立或終止第一傳輸層連接,在第二網(wǎng)絡(luò)堆棧沈7’上可 建立或者終止第二傳輸層連接。例如,一個網(wǎng)絡(luò)堆??捎糜谠诘谝痪W(wǎng)絡(luò)上接收和傳輸網(wǎng)絡(luò) 分組,并且另一個網(wǎng)絡(luò)堆棧用于在第二網(wǎng)絡(luò)上接收和傳輸網(wǎng)絡(luò)分組。在一個實(shí)施例中,網(wǎng)絡(luò) 堆棧267包括用于排隊一個或多個網(wǎng)絡(luò)分組的緩沖器M3,其中網(wǎng)絡(luò)分組由設(shè)備200傳輸。如圖2A所示,內(nèi)核空間204包括高速緩存管理器232、高速層2_7集成分組引擎 M0、加密引擎234、策略引擎236以及多協(xié)議壓縮邏輯238。在內(nèi)核空間204或內(nèi)核模式而 不是用戶空間202中運(yùn)行這些部件或進(jìn)程232、M0、234、236和238提高這些部件中的每個 單獨(dú)的和結(jié)合的性能。內(nèi)核操作意味著這些部件或進(jìn)程232、M0、234、236和238在設(shè)備 200的操作系統(tǒng)的核地址空間中運(yùn)行。例如,在內(nèi)核模式中運(yùn)行加密引擎234通過移動加密 和解密操作到內(nèi)核可改進(jìn)加密性能,從而可減少在內(nèi)核模式中的存儲空間或內(nèi)核線程與在 用戶模式中的存儲空間或線程之間的傳輸?shù)臄?shù)量。例如,在內(nèi)核模式獲得的數(shù)據(jù)不需要傳 輸或拷貝到運(yùn)行在用戶模式的進(jìn)程或線程,例如從內(nèi)核級數(shù)據(jù)結(jié)構(gòu)到用戶級數(shù)據(jù)結(jié)構(gòu)。在另一個方面,也可減少內(nèi)核模式和用戶模式之間的上下文切換的數(shù)量。另外,在任何部件或 進(jìn)程232、M0、235、236和238間的同步和通信在內(nèi)核空間204中可被執(zhí)行的更有效率。在一些實(shí)施例中,組件232、M0、234、236和238的任何部分可在內(nèi)核空間204中 運(yùn)行或操作,而這些組件232、M0、234、236和238的其它部分可在用戶空間202中運(yùn)行或 操作。在一個實(shí)施例中,設(shè)備200使用內(nèi)核級數(shù)據(jù)結(jié)構(gòu)來提供對一個或多個網(wǎng)絡(luò)分組的任 何部分的訪問,例如,包括來自客戶機(jī)102的請求或者來自服務(wù)器106的響應(yīng)的網(wǎng)絡(luò)分組。 在一些實(shí)施例中,可以由分組引擎240通過到網(wǎng)絡(luò)堆棧267的傳輸層驅(qū)動器接口或過濾器 獲得內(nèi)核級數(shù)據(jù)結(jié)構(gòu)。內(nèi)核級數(shù)據(jù)結(jié)構(gòu)可包括通過與網(wǎng)絡(luò)堆棧267相關(guān)的內(nèi)核空間204可 訪問的任何接口和/或數(shù)據(jù)、由網(wǎng)絡(luò)堆棧267接收或發(fā)送的網(wǎng)絡(luò)業(yè)務(wù)或分組。在其他實(shí)施 例中,任何部件或進(jìn)程232、M0、234、236和238可使用內(nèi)核級數(shù)據(jù)結(jié)構(gòu)來執(zhí)行部件或進(jìn)程 的需要的操作。在一個實(shí)例中,當(dāng)使用內(nèi)核級數(shù)據(jù)結(jié)構(gòu)時,部件232、240、234、236和238在 內(nèi)核模式204中運(yùn)行,而在另一個實(shí)施例中,當(dāng)使用內(nèi)核級數(shù)據(jù)結(jié)構(gòu)時,部件232、對0、234、 236和238在用戶模式中運(yùn)行。在一些實(shí)施例中,內(nèi)核級數(shù)據(jù)結(jié)構(gòu)可被拷貝或傳遞到第二內(nèi) 核級數(shù)據(jù)結(jié)構(gòu),或任何期望的用戶級數(shù)據(jù)結(jié)構(gòu)。高速緩存管理器232可包括軟件、硬件或軟件和硬件的任意組合,以提供對任何 類型和形式的內(nèi)容的高速緩存訪問、控制和管理,例如對象或由源服務(wù)器106提供服務(wù)的 動態(tài)產(chǎn)生的對象。被高速緩存管理器232處理和存儲的數(shù)據(jù)、對象或內(nèi)容可包括任何格式 的數(shù)據(jù),例如標(biāo)記語言,或通過任何協(xié)議的通信。在一些實(shí)施例中,高速緩存管理器232復(fù) 制存儲在其他地方的原始數(shù)據(jù)或先前計算、產(chǎn)生或傳輸?shù)臄?shù)據(jù),其中相對于讀高速緩沖存 儲器元件,需要更長的訪問時間以取得、計算或以其他方式得到原始數(shù)據(jù)。一旦數(shù)據(jù)被存儲 在高速緩沖存儲元件中,通過訪問高速緩存的副本而不是重新獲得或重新計算原始數(shù)據(jù)而 可做出未來的使用,因此而減少了訪問時間。在一些實(shí)施例中,高速緩存元件可以包括設(shè)備 200的存儲器沈4中的數(shù)據(jù)對象。在其它實(shí)施例中,高速緩存存儲元件可包括有比存儲器 264更快的存儲時間的存儲器。在另一個實(shí)施例中,高速緩存元件可以包括諸如硬盤的一部 分的設(shè)備200的任一類型和形式的存儲元件。在一些實(shí)施例中,處理單元262可提供被高 速緩存管理器232使用的高速緩存存儲器。在又一個實(shí)施例中,高速緩存管理器232可使 用存儲器、存儲區(qū)或處理單元的任何部分和組合來高速緩存數(shù)據(jù)、對象或其它內(nèi)容。另外,高速緩存管理器232包括用于執(zhí)行此處描述的設(shè)備200的技術(shù)的任一實(shí)施 例的任何邏輯、功能、規(guī)則或操作。例如,高速緩存管理器232包括基于無效時間周期的終 止,或者從客戶機(jī)102或服務(wù)器106接收無效命令使對象無效的邏輯或功能。在一些實(shí)施 例中,高速緩存管理器232可作為程序、服務(wù)、進(jìn)程或任務(wù)操作執(zhí)行在內(nèi)核空間204中,并且 在其他實(shí)施例中,在用戶空間202中。在一個實(shí)施例中,高速緩存管理器232的第一部分在 用戶空間202中執(zhí)行,而第二部分在內(nèi)核空間204中執(zhí)行。在一些實(shí)施例中,高速緩存管理 器232可包括任何類型的通用處理器(GPP),或任何其他類型的集成電路,例如現(xiàn)場可編程 門陣列(FPGA),可編程邏輯設(shè)備(PLD),或者專用集成電路(ASIC)。策略引擎236可包括,例如,智能統(tǒng)計引擎或其它可編程應(yīng)用。在一個實(shí)施例中, 策略引擎236提供配置功能以允許用戶識別、指定、定義或配置高速緩存策略。策略引擎 236,在一些實(shí)施例中,也訪問存儲器以支持?jǐn)?shù)據(jù)結(jié)構(gòu),例如備份表或hash表,以啟用用戶 選擇的高速緩存策略決定。在其它實(shí)施例中,除了對安全、網(wǎng)絡(luò)業(yè)務(wù)、網(wǎng)絡(luò)訪問、壓縮或其它任何由設(shè)備200執(zhí)行的功能或操作的訪問、控制和管理之外,策略引擎236可包括任何邏 輯、規(guī)則、功能或操作以決定和提供對設(shè)備200所高速緩存的對象、數(shù)據(jù)、或內(nèi)容的訪問、控 制和管理。特定高速緩存策略的其它實(shí)施例此處進(jìn)一步描述。在一些實(shí)施例中,策略引擎236可以提供配置機(jī)制以允許用戶標(biāo)識、指定、定義或 配置指導(dǎo)包括但不限于圖2B中描述的諸如vServers 275、VPN功能觀0、內(nèi)聯(lián)網(wǎng)IP功能 觀2、交換功能觀4、DNS功能觀6、加速功能觀8、應(yīng)用防火墻功能290和監(jiān)控代理197的部 件的設(shè)備的任意其它部件或功能的行為的策略。在其它實(shí)施例中,策略引擎236可以響應(yīng) 于任一配置的策略來進(jìn)行檢查、評價、實(shí)現(xiàn)或者以其他方式產(chǎn)生作用,并且還可以響應(yīng)于策 略來指導(dǎo)一個或多個設(shè)備功能的操作。加密引擎234包括用于控制任何安全相關(guān)協(xié)議處理,例如SSL或TLS,或其相關(guān) 的任何功能的任何邏輯、商業(yè)規(guī)則、功能或操作。例如,加密引擎234加密并解密通過設(shè) 備200通信的網(wǎng)絡(luò)分組,或其任何部分。加密引擎234也可代表客戶機(jī)10加-10211、服務(wù)器 106a-106n或設(shè)備200來安裝或建立SSL或TLS連接。因此,加密引擎234提供SSL處理的 卸載和加速。在一個實(shí)施例中,加密引擎234使用隧道協(xié)議來提供在客戶機(jī)102a-102n和 服務(wù)器106a-106n間的虛擬專用網(wǎng)絡(luò)。在一些實(shí)施例中,加密引擎234與加密處理器260 通信。在其它實(shí)施例中,加密引擎234包括運(yùn)行在加密處理器260上的可執(zhí)行指令。多協(xié)議壓縮引擎238包括用于壓縮一個或多個網(wǎng)絡(luò)分組協(xié)議(例如被設(shè)備200的 網(wǎng)絡(luò)堆棧267使用的任何協(xié)議)的任何邏輯、商業(yè)規(guī)則、功能或操作。在一個實(shí)施例中,多 協(xié)議壓縮引擎238雙向壓縮在客戶機(jī)102a-102n和服務(wù)器106a-106n間任一基于TCP/IP 的協(xié)議,包括消息應(yīng)用編程接口(MAPI)(電子郵件)、文件傳輸協(xié)議(FTP)、超文本傳輸協(xié)議 (HTTP)、通用hternet文件系統(tǒng)(CIFQ協(xié)議(文件傳輸)、獨(dú)立計算架構(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è)備200設(shè)計的用于設(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é)議。同樣的,多協(xié)議壓縮引擎238通過桌面客戶機(jī),例如Micosoft Outlook和非web 瘦客戶機(jī),諸如由通用企業(yè)應(yīng)用像Orac 1 e、SAP和Siebe 1啟動的任何客戶機(jī),甚至移動客戶 機(jī),例如便攜式個人計算機(jī),來加速用戶訪問應(yīng)用的執(zhí)行。在一些實(shí)施例中,多協(xié)議壓縮引 擎238通過在內(nèi)核模式204內(nèi)部執(zhí)行并與訪問網(wǎng)絡(luò)堆棧267的分組處理引擎240集成,可 以壓縮TCP/IP協(xié)議攜帶的任何協(xié)議,例如任何應(yīng)用層協(xié)議。集成高速層2-7的分組引擎M0,通常也稱為分組處理引擎,或分組引擎,通過網(wǎng) 絡(luò)端口 266負(fù)責(zé)設(shè)備200接收和發(fā)送的分組的內(nèi)核級處理的管理。集成高速層2-7的分組 引擎240可包括在處理期間用于排隊一個或多個網(wǎng)絡(luò)分組的緩沖器,例如用于網(wǎng)絡(luò)分組的 接收或者網(wǎng)絡(luò)分組的傳輸。另外,集成高速層2-7的分組引擎240通過網(wǎng)絡(luò)端口 266與一個 或多個網(wǎng)絡(luò)堆棧267通信以發(fā)送和接收網(wǎng)絡(luò)分組。集成高速層2-7的分組引擎240與加密 引擎234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮邏輯238協(xié)同工作。更具體地,
19配置加密引擎234以執(zhí)行分組的SSL處理,配置策略引擎236以執(zhí)行涉及業(yè)務(wù)管理的功能, 例如請求級內(nèi)容切換以及請求級高速緩沖重定向,并配置多協(xié)議壓縮邏輯238以執(zhí)行涉及 數(shù)據(jù)壓縮和解壓縮的功能。集成高速層2-7的分組引擎240包括分組處理定時器M2。在一個實(shí)施例中,分組 處理定時器242提供一個或多個時間間隔以觸發(fā)輸入處理,例如,接收或者輸出(即傳輸) 網(wǎng)絡(luò)分組。在一些實(shí)施例中,集成高速層2-7的分組引擎240響應(yīng)于定時器242處理網(wǎng)絡(luò) 分組。分組處理定時器對2向分組引擎240提供任何類型和形式的信號以通知、觸發(fā)或傳 輸時間相關(guān)事件、間隔或發(fā)生。在許多實(shí)施例中,分組處理定時器M2以毫秒級操作,例如 100ms、50ms、或25ms。例如,在一些實(shí)例中,分組處理定時器242提供時間間隔或者其它使 得由集成高速層2-7的分組引擎MO以IOms時間間隔處理網(wǎng)絡(luò)分組,而在其它實(shí)施例中, 以5ms時間間隔,并且在進(jìn)一步的實(shí)施例中,短到3、2或Ims時間間隔。集成高速層2_7的 分組引擎240在操作期間可與加密引擎234、高速緩存管理器232、策略引擎236以及多協(xié) 議壓縮引擎238連接、集成或通信。因此,響應(yīng)于分組處理定時器242和/或分組引擎M0, 可執(zhí)行加密引擎234、高速緩存管理器232、策略引擎236以及多協(xié)議壓縮引擎238的任何 邏輯、功能或操作。因此,在由分組處理定時器242提供的時間間隔粒度,可執(zhí)行加密引擎 234、高速緩存管理器232、策略引擎236以及多協(xié)議壓縮引擎238的任何邏輯、功能或操作, 例如,時間間隔少于或等于10ms。例如,在一個實(shí)施例中,響應(yīng)于集成高速層2-7的分組引 擎240和/或分組處理定時器M2,高速緩存管理器232可執(zhí)行任何高速緩存的對象的無 效。在另一個實(shí)施例中,高速緩存的對象的終止或無效時間被設(shè)定為與分組處理定時器對2 的時間間隔相同的粒度級,例如每IOms。與內(nèi)核空間204不同,用戶空間202是操作系統(tǒng)的存儲區(qū)域或部分,被用戶模式應(yīng) 用或用戶模式運(yùn)行的程序所使用。用戶模式應(yīng)用不能直接訪問內(nèi)核空間204和為了訪問 內(nèi)核服務(wù)而使用用戶服務(wù)調(diào)用。如圖2所示,設(shè)備200的用戶空間202包括圖形用戶界面 (⑶1)210、命令行接口(CLI) 212、殼服務(wù)(shell service) 214、健康監(jiān)控程序216以及守護(hù) (daemon)服務(wù)218。⑶I 210和CLI 212提供方法,通過該方法系統(tǒng)管理員或其他用戶可 與設(shè)備200交互并控制該設(shè)備200的操作,例如通過設(shè)備200的操作系統(tǒng),或者是用戶空間 202或者內(nèi)核空間204。⑶I 210可為任何類型和形式的圖形用戶界面,并且可通過文本、圖 形或通過任意類型的程序或應(yīng)用的其他形式呈現(xiàn),例如瀏覽器。CLI 212可為任何類型和形 式的命令行或基于文本的界面,例如通過操作系統(tǒng)提供的命令行。例如,CLI 212可包括殼, 該殼是使用戶與操作系統(tǒng)相互作用的工具。在一些實(shí)施例中,可通過bash、csh、tcsh或者 ksh類型的殼提供CLI 212。殼服務(wù)214包括程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令以支持由 用戶通過⑶I 210和/或CLI 212的與設(shè)備200或者操作系統(tǒng)的交互。使用健康監(jiān)控程序216監(jiān)控、檢查、報告并確保網(wǎng)絡(luò)系統(tǒng)運(yùn)行正常,用戶正通過網(wǎng) 絡(luò)接收請求的內(nèi)容。健康監(jiān)控程序216包括一個或多個程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指 令,為監(jiān)控設(shè)備200的任何行為提供邏輯、規(guī)則、功能或操作。在一些實(shí)施例中,健康監(jiān)控程 序216攔截并檢查通過設(shè)備200傳遞的任何網(wǎng)絡(luò)業(yè)務(wù)。在其他實(shí)施例中,健康監(jiān)控程序216 通過任何合適的方法和/或機(jī)制與一個或多個下述設(shè)備連接加密引擎234,高速緩存管理 器232,策略引擎236,多協(xié)議壓縮邏輯238,分組引擎M0,守護(hù)服務(wù)218以及殼服務(wù)214。 因此,健康監(jiān)控程序216可調(diào)用任何應(yīng)用編程接口(API)以確定設(shè)備200的任何部分的狀態(tài)、情況或健康。例如,健康監(jiān)控程序216可周期性地查驗(yàn)或發(fā)送狀態(tài)查詢以檢查程序、進(jìn) 程、服務(wù)或任務(wù)是否活動并當(dāng)前正在運(yùn)行。在另一個實(shí)施例中,健康監(jiān)控程序216可檢查由 任何程序、進(jìn)程、服務(wù)或任務(wù)提供的任何狀態(tài)、錯誤或歷史日志以確定設(shè)備200任何部分的 任何狀況、狀態(tài)或錯誤。守護(hù)服務(wù)218是連續(xù)運(yùn)行或在后臺運(yùn)行的程序,并且處理設(shè)備200接收的周期性 服務(wù)請求。在一些實(shí)施例中,守護(hù)服務(wù)可向其他程序或進(jìn)程(例如合適的另一個守護(hù)服務(wù) 218)轉(zhuǎn)發(fā)請求。如本領(lǐng)域技術(shù)人員所公知的,守護(hù)服務(wù)218可無人監(jiān)護(hù)的運(yùn)行,以執(zhí)行連續(xù) 的或周期性的系統(tǒng)范圍功能,例如網(wǎng)絡(luò)控制,或者執(zhí)行任何需要的任務(wù)。在一些實(shí)施例中, 一個或多個守護(hù)服務(wù)218運(yùn)行在用戶空間202中,而在其它實(shí)施例中,一個或多個守護(hù)服務(wù) 218運(yùn)行在內(nèi)核空間?,F(xiàn)在參見圖2B,描述了設(shè)備200的另一個實(shí)施例。總的來說,設(shè)備200提供下列 服務(wù)、功能或操作中的一個或多個用于一個或多個客戶機(jī)102以及一個或多個服務(wù)器106 之間的通信的SSL VPN連通性觀0、交換/負(fù)載平衡洲4、域名服務(wù)解析觀6、加速288和應(yīng) 用防火墻四0。服務(wù)器106的每一個可以提供一個或者多個網(wǎng)絡(luò)相關(guān)服務(wù)270a-270n (稱 為服務(wù)270)。例如,服務(wù)器106可以提供http服務(wù)270。設(shè)備200包括一個或者多個虛擬 服務(wù)器或者虛擬互聯(lián)網(wǎng)協(xié)議服務(wù)器,稱為vServer 275、vS 275、VIP服務(wù)器或者僅是VIP 275a-275n (此處也稱為vServer 275)。vServer275根據(jù)設(shè)備200的配置和操作來接收、攔 截或者以其它方式處理客戶機(jī)102和服務(wù)器106之間的通信。vServer 275可以包括軟件、硬件或者軟件和硬件的任意組合。vServer 275可包 括在設(shè)備200中的用戶模式202、內(nèi)核模式204或者其任意組合中運(yùn)行的任意類型和形式的 程序、服務(wù)、任務(wù)、進(jìn)程或者可執(zhí)行指令。vServer 275包括任意邏輯、功能、規(guī)則或者操作, 以執(zhí)行此處所述技術(shù)的任意實(shí)施例,諸如SSL VPN觀0、轉(zhuǎn)換/負(fù)載平衡觀4、域名服務(wù)解析 觀6、加速288和應(yīng)用防火墻四0。在一些實(shí)施例中,vServer 275或vS建立到服務(wù)器106 的服務(wù)270的連接。服務(wù)275可以包括能夠連接到設(shè)備200、客戶機(jī)102或者vServer 275 并與之通信的任意程序、應(yīng)用、進(jìn)程、任務(wù)或者可執(zhí)行指令集。例如,服務(wù)275可以包括web 服務(wù)器、http服務(wù)器、ftp、電子郵件或者數(shù)據(jù)庫服務(wù)器。在一些實(shí)施例中,服務(wù)270是守護(hù) 進(jìn)程或者網(wǎng)絡(luò)驅(qū)動器,用于監(jiān)聽、接收和/或發(fā)送應(yīng)用的通信,諸如電子郵件、數(shù)據(jù)庫或者 企業(yè)應(yīng)用。在一些實(shí)施例中,服務(wù)270可以在特定的IP地址、或者IP地址和端口上通信。在一些實(shí)施例中,vS 275應(yīng)用策略引擎236的一個或者多個策略到客戶機(jī)102和 服務(wù)器106之間的網(wǎng)絡(luò)通信。在一個實(shí)施例中,該策略與vServer 275相關(guān)。在另一個實(shí) 施例中,該策略基于用戶或者用戶組。在又一個實(shí)施例中,策略為通用的并且應(yīng)用到一個或 者多個vServer 27fe_275n,和通過設(shè)備200通信的任意用戶或者用戶組,其中η可以為任 意數(shù)字或符號。在一些實(shí)施例中,策略引擎的策略具有基于通信的任意內(nèi)容應(yīng)用該策略的 條件,通信的內(nèi)容諸如互聯(lián)網(wǎng)協(xié)議地址、端口、協(xié)議類型、分組中的首部或者字段、或者通信 的上下文,諸如用戶、用戶組、Werver 275、傳輸層連接、和/或客戶機(jī)102或者服務(wù)器106 的標(biāo)識或者屬性。在其他實(shí)施例中,設(shè)備200與策略引擎236通信或交互,以便確定遠(yuǎn)程用戶或遠(yuǎn)程 客戶機(jī)102的驗(yàn)證和/或授權(quán),以訪問來自服務(wù)器106的計算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文 件。在另一個實(shí)施例中,設(shè)備200與策略引擎236通信或交互,以便確定遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102的驗(yàn)證和/或授權(quán),使得應(yīng)用傳送系統(tǒng)190傳送一個或多個計算環(huán)境15、應(yīng)用和/ 或數(shù)據(jù)文件。在另一個實(shí)施例中,設(shè)備200基于策略引擎236對遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)103 的驗(yàn)證和/或授權(quán)建立VPN或SSL VPN連接。一個實(shí)施例中,設(shè)備102基于策略引擎236 的策略控制網(wǎng)絡(luò)業(yè)務(wù)流量以及通信會話。例如,基于策略引擎236,設(shè)備200可控制對計算 環(huán)境15、應(yīng)用或數(shù)據(jù)文件的訪問。在一些實(shí)施例中,Werver 275與客戶機(jī)102經(jīng)客戶機(jī)代理120建立傳輸層連接, 諸如TCP或者UDP連接。在一個實(shí)施例中,vServer 275監(jiān)聽和接收來自客戶機(jī)102的通 信。在其它實(shí)施例中,Werver 275與客戶機(jī)服務(wù)器106建立傳輸層連接,諸如TCP或者UDP 連接。在一個實(shí)施例中,vServer 275建立到運(yùn)行在服務(wù)器106上的服務(wù)器270的互聯(lián)網(wǎng) 協(xié)議地址和端口的傳輸層連接。在另一個實(shí)施例中,Werver 275將到客戶機(jī)102的第一 傳輸層連接與到服務(wù)器106的第二傳輸層連接相關(guān)聯(lián)。在一些實(shí)施例中,vServer 275建 立到服務(wù)器106的傳輸層連接池并經(jīng)由所述池化的傳輸層連接多路復(fù)用客戶機(jī)的請求。在一些實(shí)施例中,設(shè)備200提供客戶機(jī)102和服務(wù)器106之間的SSL VPN連接觀0。 例如,第一網(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è)備200。設(shè)備200將第一網(wǎng)絡(luò)104上的第一傳輸層連接與到第二 網(wǎng)絡(luò)104上的服務(wù)器106的第二傳輸層連接相關(guān)聯(lián)。設(shè)備200接收來自客戶機(jī)代理102的 所攔截的通信,解密該通信,并且經(jīng)第二傳輸層連接發(fā)送該通信到第二網(wǎng)絡(luò)104上的服務(wù) 器106。第二傳輸層連接可以是池化的傳輸層連接。同樣的,設(shè)備200為兩個網(wǎng)絡(luò)104、104’ 之間的客戶機(jī)102提供端到端安全傳輸層連接。在一個實(shí)施例中,設(shè)備200寄載虛擬專用網(wǎng)絡(luò)104上的客戶機(jī)102的內(nèi)部網(wǎng)內(nèi)部 互聯(lián)網(wǎng)協(xié)議或者h(yuǎn)tranetIP 282地址。客戶機(jī)102具有本地網(wǎng)絡(luò)識別符,諸如第一網(wǎng)絡(luò) 104上的互聯(lián)網(wǎng)協(xié)議(IP)地址和/或主機(jī)名稱。當(dāng)經(jīng)設(shè)備200連接到第二網(wǎng)絡(luò)104’時,設(shè) 備200為第二網(wǎng)絡(luò)104’上的客戶機(jī)102建立、分配或者以其它方式提供htranetIP,其是 網(wǎng)絡(luò)識別符,諸如IP地址和/或主機(jī)名稱。使用為客戶機(jī)的所建立的IntranetIP觀2,設(shè) 備200在第二或?qū)S镁W(wǎng)104'上監(jiān)聽并接收指向該客戶機(jī)102的任意通信。在一個實(shí)施例 中,設(shè)備200用作或者代表第二專用網(wǎng)絡(luò)104上的客戶機(jī)102。例如,在另一個實(shí)施例中, vServer 275監(jiān)聽和響應(yīng)到客戶機(jī)102的htranetIP 282的通信。在一些實(shí)施例中,如果 第二網(wǎng)絡(luò)104’上的計算裝置100發(fā)送請求,設(shè)備200如同客戶機(jī)102 —樣來處理該請求。 例如,設(shè)備200可以響應(yīng)對客戶機(jī)htranetIP 282的查驗(yàn)。在另一個實(shí)施例中,設(shè)備可以與 請求和客戶機(jī)htranetIP 282連接的第二網(wǎng)絡(luò)104上的計算裝置100建立連接,諸如TCP 或者UDP連接。在一些實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供下列一個 或多個加速技術(shù)觀8 1)壓縮;幻解壓縮;幻傳輸控制協(xié)議池;4)傳輸控制協(xié)議多路復(fù)用; 5)傳輸控制協(xié)議緩沖;以及6)高速緩存。在一個實(shí)施例中,設(shè)備200通過開啟與每一服務(wù) 器106的一個或者多個傳輸層連接并且維持這些連接以允許由客戶機(jī)經(jīng)因特網(wǎng)的重復(fù)數(shù) 據(jù)訪問,來為服務(wù)器106緩解由重復(fù)開啟和關(guān)閉到客戶機(jī)102的傳輸層連接所帶來的許多
22處理負(fù)載。該技術(shù)此處稱為“連接池”。在一些實(shí)施例中,為了經(jīng)池化的傳輸層連接無縫拼接從客戶機(jī)102到服務(wù)器106 的通信,設(shè)備200通過在傳輸層協(xié)議級修改序列號和確認(rèn)號來翻譯或多路復(fù)用通信。這被 稱為“連接多路復(fù)用”。在一些實(shí)施例中,不需要應(yīng)用層協(xié)議交互作用。例如,在到來分組 (即,自客戶機(jī)102接收的分組)的情況中,所述分組的源網(wǎng)絡(luò)地址被改變?yōu)樵O(shè)備200的輸 出端口的網(wǎng)絡(luò)地址,而目的網(wǎng)絡(luò)地址被改為目的服務(wù)器的網(wǎng)絡(luò)地址。在發(fā)出分組(即,自服 務(wù)器106接收的一個分組)的情況中,源網(wǎng)絡(luò)地址被從服務(wù)器106的網(wǎng)絡(luò)地址改變?yōu)樵O(shè)備 200的輸出端口的網(wǎng)絡(luò)地址,而目的地址被從設(shè)備200的地址改變?yōu)檎埱蟮目蛻魴C(jī)102的 地址。分組的序列號和確認(rèn)號也被翻譯為到客戶機(jī)102的設(shè)備200的傳輸層連接上的客戶 機(jī)102所期待的序列號和確認(rèn)。在一些實(shí)施例中,傳輸層協(xié)議的分組校驗(yàn)和被重新計算以 考慮這些翻譯。在另一個實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供交換或 負(fù)載平衡功能觀4。在一些實(shí)施例中,設(shè)備200根據(jù)層4或應(yīng)用層請求數(shù)據(jù)來分配業(yè)務(wù)量并 將客戶機(jī)請求指向服務(wù)器106。在一個實(shí)施例中,盡管網(wǎng)絡(luò)層或者網(wǎng)絡(luò)分組的層2識別目的 服務(wù)器106,但設(shè)備200確定服務(wù)器106,從而利用承載為傳輸層分組的有效載荷的應(yīng)用信 息和數(shù)據(jù)來分發(fā)網(wǎng)絡(luò)分組。在一個實(shí)施例中,設(shè)備200的健康監(jiān)控程序216監(jiān)控服務(wù)器的 健康來確定分發(fā)客戶機(jī)請求到哪個服務(wù)器106。在一些實(shí)施例中,如果設(shè)備200探測到某個 服務(wù)器106不可用或者具有超過預(yù)定閾值的負(fù)載,設(shè)備200可以將客戶機(jī)請求指向或者分 發(fā)到另一個服務(wù)器106。在一些實(shí)施例中,設(shè)備200用作域名服務(wù)(DNS)解析器或者以其它方式為來自客 戶機(jī)102的DNS請求提供解析。在一些實(shí)施例中,設(shè)備攔截由客戶機(jī)102發(fā)送的DNS請求。 在一個實(shí)施例中,設(shè)備200以設(shè)備200的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è)備200使用由設(shè)備200確定的服務(wù)器106的IP地址來響應(yīng)客戶機(jī)的DNS請求。在又一個實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106之間的通信提供應(yīng)用防 火墻功能四0。在一個實(shí)施例中,策略引擎236提供用于探測和阻斷非法請求的規(guī)則。在 一些實(shí)施例中,應(yīng)用防火墻四0防御拒絕服務(wù)(DoS)攻擊。在其它實(shí)施例中,設(shè)備檢查所 攔截的請求的內(nèi)容,以識別和阻斷基于應(yīng)用的攻擊。在一些實(shí)施例中,規(guī)則/策略引擎236 包括用于提供對多個種類和類型的基于web或因特網(wǎng)的脆弱點(diǎn)的保護(hù)的一個或多個應(yīng)用 防火墻或安全控制策略,例如下列的一個或多個脆弱點(diǎn)1)緩沖區(qū)泄出,2)CGI-BIN參數(shù)操 縱,3)表單/隱藏字段操縱,4)強(qiáng)制瀏覽,5) cookie或會話中毒,6)被破壞的訪問控制列表 (ACLs)或弱密碼,7)跨站腳本處理(XSS),8)命令注入,9) SQL注入,10)錯誤觸發(fā)敏感信息 泄露,11)對加密的不安全使用,1 服務(wù)器錯誤配置,1 后門和調(diào)試選項,14)網(wǎng)站涂改, 15)平臺或操作系統(tǒng)弱點(diǎn),和16)零天攻擊。在一個實(shí)施例中,對下列情況的一種或多種, 應(yīng)用防火墻四0以檢查或分析網(wǎng)絡(luò)通信的形式來提供HTML格式字段的保護(hù)1)返回所需 的字段,幻不允許附加字段,幻只讀和隱藏字段強(qiáng)制,4)下拉列表和單選按鈕字段的一致, 以及幻格式字段最大長度強(qiáng)制。在一些實(shí)施例中,應(yīng)用防火墻290確保沒有修改cookie。 在其它實(shí)施例中,應(yīng)用防火墻290通過執(zhí)行合法的URL來防御強(qiáng)迫瀏覽。
在又另一些實(shí)施例中,應(yīng)用防火墻290保護(hù)包括在網(wǎng)絡(luò)通信中的任意機(jī)密信息。 應(yīng)用防火墻290可以根據(jù)引擎236的規(guī)則或策略來檢查或分析任一網(wǎng)絡(luò)通信以識別在網(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ī)密信息。仍然參考圖2B,設(shè)備200可以包括如上面結(jié)合圖ID所討論的性能監(jiān)控代理197。 在一個實(shí)施例中,設(shè)備200從如圖ID中所描述的監(jiān)控服務(wù)1908或監(jiān)控服務(wù)器106中接收 監(jiān)控代理197。在一些實(shí)施例中,設(shè)備200在諸如磁盤的存儲裝置中保存監(jiān)控代理197,以 用于遞送給與設(shè)備200通信的任意客戶機(jī)或服務(wù)器。例如,在一個實(shí)施例中,設(shè)備200在接 收到建立傳輸層連接的請求時發(fā)送監(jiān)控代理197給客戶機(jī)。在其它實(shí)施例中,設(shè)備200在 建立與客戶機(jī)102的傳輸層連接時發(fā)送監(jiān)控代理197。在另一個實(shí)施例中,設(shè)備200在攔截 或檢測對web頁面的請求時發(fā)送監(jiān)控代理197給客戶機(jī)。在又一個實(shí)施例中,設(shè)備200響 應(yīng)于監(jiān)控服務(wù)器198的請求來發(fā)送監(jiān)控代理197到客戶機(jī)或服務(wù)器。在一個實(shí)施例中,設(shè) 備200發(fā)送監(jiān)控代理197到第二設(shè)備200'或設(shè)備205。在其它實(shí)施例中,設(shè)備200執(zhí)行監(jiān)控代理197。在一個實(shí)施例中,監(jiān)控代理197測 量和監(jiān)控在設(shè)備200上執(zhí)行的任意應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或線程的性能。例如,監(jiān)控 代理197可以監(jiān)控和測量vServers 275A-275N的性能與操作。在另一個實(shí)施例中,監(jiān)控代 理197測量和監(jiān)控設(shè)備200的任意傳輸層連接的性能。在一些實(shí)施例中,監(jiān)控代理197測 量和監(jiān)控通過設(shè)備200的任意用戶會話的性能。在一個實(shí)施例中,監(jiān)控代理197測量和監(jiān) 控通過設(shè)備200的諸如SSL VPN會話的任意虛擬專用網(wǎng)連接和/或會話的性能。在進(jìn)一步 的實(shí)施例中,監(jiān)控代理197測量和監(jiān)控設(shè)備200的內(nèi)存、CPU和磁盤使用以及性能。在又一 個實(shí)施例中,監(jiān)控代理197測量和監(jiān)控諸如SSL卸載、連接池和多路復(fù)用、高速緩存以及壓 縮的由設(shè)備200執(zhí)行的任意加速技術(shù)觀8的性能。在一些實(shí)施例中,監(jiān)控代理197測量和 監(jiān)控由設(shè)備200執(zhí)行的任一負(fù)載平衡和/或內(nèi)容交換觀4的性能。在其它實(shí)施例中,監(jiān)控 代理197測量和監(jiān)控由設(shè)備200執(zhí)行的應(yīng)用防火墻290保護(hù)和處理的性能。C、客戶機(jī)代理現(xiàn)在看圖3,描述客戶機(jī)代理120的實(shí)施例??蛻魴C(jī)102包括客戶機(jī)代理120,用 于經(jīng)網(wǎng)絡(luò)104與設(shè)備200和/或服務(wù)器106來建立和交換通信??偟膩碚f,客戶機(jī)102在 計算裝置100上操作,該計算裝置100擁有帶有內(nèi)核模式302以及用戶模式303的操作系 統(tǒng),以及帶有一個或多個層310a-310b的網(wǎng)絡(luò)堆棧310。客戶機(jī)102可以已經(jīng)安裝和/或執(zhí) 行一個或多個應(yīng)用。在一些實(shí)施例中,一個或多個應(yīng)用可通過網(wǎng)絡(luò)堆棧310與網(wǎng)絡(luò)104通 信。諸如web瀏覽器的應(yīng)用之一也可包括第一程序322。例如,可在一些實(shí)施例中使用第一 程序322來安裝和/或執(zhí)行客戶機(jī)代理120,或其中任意部分。客戶機(jī)代理120包括攔截機(jī) 制或者攔截器350,用于從網(wǎng)絡(luò)堆棧310攔截來自一個或者多個應(yīng)用的網(wǎng)絡(luò)通信??蛻魴C(jī)102的網(wǎng)絡(luò)堆棧310可包括任何類型和形式的軟件、或硬件或其組合,用于 提供與網(wǎng)絡(luò)的連接和通信。在一個實(shí)施例中,網(wǎng)絡(luò)堆棧310包括用于網(wǎng)絡(luò)協(xié)議組的軟件實(shí) 現(xiàn)。網(wǎng)絡(luò)堆棧310可包括一個或多個網(wǎng)絡(luò)層,例如為本領(lǐng)域技術(shù)人員所公認(rèn)和了解的開放式系統(tǒng)互聯(lián)(OSI)通信模型的任何網(wǎng)絡(luò)層。這樣,網(wǎng)絡(luò)堆棧310可包括用于任何以下OSI 模型層的任何類型和形式的協(xié)議1)物理鏈路層;幻數(shù)據(jù)鏈路層;幻網(wǎng)絡(luò)層;4)傳輸層;5) 會話層);6)表示層,以及7)應(yīng)用層。在一個實(shí)施例中,網(wǎng)絡(luò)堆棧310可包括在因特網(wǎng)協(xié)議 (IP)的網(wǎng)絡(luò)層協(xié)議上的傳輸控制協(xié)議(TCP),通常稱為TCP/IP。在一些實(shí)施例中,可在以太 網(wǎng)協(xié)議上實(shí)施TCP/IP協(xié)議,以太網(wǎng)協(xié)議可包括IEEE廣域網(wǎng)(WAN)或局域網(wǎng)(LAN)協(xié)議的 任何族,例如被IEEE802. 3覆蓋的這些協(xié)議。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧310包括任何類型 和形式的無線協(xié)議,例如IEEE 802. 11和/或移動因特網(wǎng)協(xié)議。考慮基于TCP/IP的網(wǎng)絡(luò),可使用任何基于TCP/IP的協(xié)議,包括消息應(yīng)用編程接 口(MAPI) (email)、文件傳輸協(xié)議(FTP)、超文本傳輸協(xié)議(HTTP)、通用因特網(wǎng)文件系統(tǒng) (CIFS)協(xié)議(文件傳輸)、獨(dú)立計算框架(ICA)協(xié)議、遠(yuǎn)程桌面協(xié)議(RDP)、無線應(yīng)用協(xié)議 (WAP)、移動IP協(xié)議,以及IP語音(VoIP)協(xié)議。在另一個實(shí)施例中,網(wǎng)絡(luò)堆棧310包括任 何類型和形式的傳輸控制協(xié)議,諸如修改的傳輸控制協(xié)議,例如事務(wù)TCP (T/TCP),帶有選擇 確認(rèn)的TCP (TCP-SACK),帶有大窗口的TCP (TCP-Lff),擁塞預(yù)測協(xié)議,例如TCP-Vegas協(xié)議, 以及TCP電子欺騙協(xié)議。在其他實(shí)施例中,任何類型和形式的用戶數(shù)據(jù)報協(xié)議(UDP),例如 IP上UDP,可被網(wǎng)絡(luò)堆棧310使用,諸如用于語音通信或?qū)崟r數(shù)據(jù)通信。另外,網(wǎng)絡(luò)堆棧310可包括支持一個或多個層的一個或多個網(wǎng)絡(luò)驅(qū)動器,例如TCP 驅(qū)動器或網(wǎng)絡(luò)層驅(qū)動器。網(wǎng)絡(luò)層驅(qū)動器可被包括作為計算設(shè)備100的操作系統(tǒng)的一部分或 者計算設(shè)備100的任何網(wǎng)絡(luò)接口卡或其它網(wǎng)絡(luò)訪問部件的一部分。在一些實(shí)施例中,網(wǎng)絡(luò) 堆棧310的任何網(wǎng)絡(luò)驅(qū)動器可被定制、修改或調(diào)整以提供網(wǎng)絡(luò)堆棧310的定制或修改部分, 用來支持此處描述的任何技術(shù)。在其它實(shí)施例中,設(shè)計并構(gòu)建加速程序120以與網(wǎng)絡(luò)堆棧 310協(xié)同操作或工作,上述網(wǎng)絡(luò)堆棧310由客戶機(jī)102的操作系統(tǒng)安裝或以其它方式提供。網(wǎng)絡(luò)堆棧310包括任何類型和形式的接口,用于接收、獲得、提供或以其它方式訪 問涉及客戶機(jī)102的網(wǎng)絡(luò)通信的任何信息和數(shù)據(jù)。在一個實(shí)施例中,與網(wǎng)絡(luò)堆棧310的接 口包括應(yīng)用編程接口(API)。接口也可包括任何函數(shù)調(diào)用、鉤子或過濾機(jī)制,事件或回調(diào)機(jī) 制、或任何類型的接口技術(shù)。網(wǎng)絡(luò)堆棧310通過接口可接收或提供與網(wǎng)絡(luò)堆棧310的功能 或操作相關(guān)的任何類型和形式的數(shù)據(jù)結(jié)構(gòu),例如對象。例如,數(shù)據(jù)結(jié)構(gòu)可以包括與網(wǎng)絡(luò)分組 相關(guān)的信息和數(shù)據(jù)或者一個或多個網(wǎng)絡(luò)分組。在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括在網(wǎng)絡(luò)堆棧 310的協(xié)議層處理的網(wǎng)絡(luò)分組的一部分,例如傳輸層的網(wǎng)絡(luò)分組。在一些實(shí)施例中,數(shù)據(jù)結(jié) 構(gòu)325包括內(nèi)核級別數(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ò)堆棧310的一部分相關(guān) 的數(shù)據(jù)結(jié)構(gòu)、或者運(yùn)行在內(nèi)核模式302中的網(wǎng)絡(luò)驅(qū)動程序或其它軟件、或者由運(yùn)行或操作 在操作系統(tǒng)的內(nèi)核模式的服務(wù)、進(jìn)程、任務(wù)、線程或其它可執(zhí)行指令獲得或收到的任意數(shù)據(jù) 結(jié)構(gòu)。此外,網(wǎng)絡(luò)堆棧310的一些部分可在內(nèi)核模式302執(zhí)行或操作,例如,數(shù)據(jù)鏈路或 網(wǎng)絡(luò)層,而其他部分在用戶模式303執(zhí)行或操作,例如網(wǎng)絡(luò)堆棧310的應(yīng)用層。例如,網(wǎng)絡(luò)堆 棧的第一部分310a可以給應(yīng)用提供對網(wǎng)絡(luò)堆棧310的用戶模式訪問,而網(wǎng)絡(luò)堆棧310的第 二部分310a提供對網(wǎng)絡(luò)的訪問。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧的第一部分310a可包括網(wǎng)絡(luò) 堆棧310的一個或多個更上層,例如層5-7的任意層。在其它實(shí)施例中,網(wǎng)絡(luò)堆棧310的第 二部分310b包括一個或多個較低的層,例如層1-4的任意層。網(wǎng)絡(luò)堆棧310的每個第一部分310a和第二部分310b可包括網(wǎng)絡(luò)堆棧310的任何部分,位于任意一個或多個網(wǎng)絡(luò)層,處 于用戶模式203、內(nèi)核模式202,或其組合,或在網(wǎng)絡(luò)層的任何部分或者到網(wǎng)絡(luò)層的接口點(diǎn), 或用戶模式203和內(nèi)核模式202的任何部分或到用戶模式203和內(nèi)核模式202的接口點(diǎn)。攔截器350可以包括軟件、硬件、或者軟件和硬件的任意組合。在一個實(shí)施例中, 攔截器350在網(wǎng)絡(luò)堆棧310的任一點(diǎn)攔截網(wǎng)絡(luò)通信,并且重定向或者發(fā)送網(wǎng)絡(luò)通信到由攔 截器350或者客戶機(jī)代理120所期望的、管理的或者控制的目的地。例如,攔截器350可以 攔截第一網(wǎng)絡(luò)的網(wǎng)絡(luò)堆棧310的網(wǎng)絡(luò)通信并且發(fā)送該網(wǎng)絡(luò)通信到設(shè)備200,用于在第二網(wǎng) 絡(luò)104上發(fā)送。在一些實(shí)施例中,攔截器350包括含有諸如被構(gòu)建和設(shè)計來與網(wǎng)絡(luò)堆棧310 對接并一同工作的網(wǎng)絡(luò)驅(qū)動器的驅(qū)動器的任一類型的攔截器350。在一些實(shí)施例中,客戶機(jī) 代理120和/或攔截器350操作在網(wǎng)絡(luò)堆棧310的一個或者多個層,諸如在傳輸層。在一 個實(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)用。在一個實(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。在一些實(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請求。在又一個實(shí)施例中,客戶機(jī)代理120可以包括兩個代理120和120’。在一個實(shí)施 例中,第一代理120可以包括在網(wǎng)絡(luò)堆棧310的網(wǎng)絡(luò)層操作的攔截器350。在一些實(shí)施例 中,第一代理120攔截諸如因特網(wǎng)控制消息協(xié)議(ICMP)請求(例如,查驗(yàn)和跟蹤路由)的 網(wǎng)絡(luò)層請求。在其它實(shí)施例中,第二代理120’可以在傳輸層操作并且攔截傳輸層通信。在 一些實(shí)施例中,第一代理120在網(wǎng)絡(luò)堆棧210的一層攔截通信并且與第二代理120’連接或 者將所攔截的通信傳送到第二代理120’。
客戶機(jī)代理120和/或攔截器350可以以對網(wǎng)絡(luò)堆棧310的任意其它協(xié)議層透明 的方式在協(xié)議層操作或與之對接。例如,在一個實(shí)施例中,攔截器350可以以對諸如網(wǎng)絡(luò)層 的傳輸層之下的任意協(xié)議層和諸如會話、表示或應(yīng)用層協(xié)議的傳輸層之上的任意協(xié)議層透 明的方式在網(wǎng)絡(luò)堆棧310的傳輸層操作或與之對接。這允許網(wǎng)絡(luò)堆棧310的其它協(xié)議層如 所期望的進(jìn)行操作并無需修改以使用攔截器350。這樣,客戶機(jī)代理120和/或攔截器350 可以與傳輸層連接以安全、優(yōu)化、加速、路由或者負(fù)載平衡經(jīng)由傳輸層承載的任一協(xié)議提供 的任一通信,諸如TCP/IP上的任一應(yīng)用層協(xié)議。此外,客戶機(jī)代理120和/或攔截器可以以對任意應(yīng)用、客戶機(jī)102的用戶和與客 戶機(jī)102通信的諸如服務(wù)器的任意其它計算裝置透明的方式在網(wǎng)絡(luò)堆棧310上操作或與之 對接??蛻魴C(jī)代理120和/或攔截器350可以以無需修改應(yīng)用的方式被安裝和/或執(zhí)行在 客戶機(jī)102上。在一些實(shí)施例中,客戶機(jī)102的用戶或者與客戶機(jī)102通信的計算裝置未 意識到客戶機(jī)代理120和/或攔截器350的存在、執(zhí)行或者操作。同樣,在一些實(shí)施例中, 相對于應(yīng)用、客戶機(jī)102的用戶、諸如服務(wù)器的另一個計算裝置、或者在由攔截器350連接 的協(xié)議層之上和/或之下的任意協(xié)議層透明地來安裝、執(zhí)行和/或操作客戶機(jī)代理120和 /或攔截器350。客戶機(jī)代理120包括加速程序302、流客戶機(jī)306、收集代理304和/或監(jiān)控代 理197。在一個實(shí)施例中,客戶機(jī)代理120包括由Florida, Fort Lauderdale的Citrix Systems Inc.開發(fā)的獨(dú)立計算架構(gòu)(ICA)客戶機(jī)或其任一部分,并且也指ICA客戶機(jī)。在 一些實(shí)施例中,客戶機(jī)代理120包括應(yīng)用流客戶機(jī)306,用于從服務(wù)器106流式傳輸應(yīng)用到 客戶機(jī)102。在一些實(shí)施例中,客戶機(jī)代理120包括加速程序302,用于加速客戶機(jī)102和 服務(wù)器106之間的通信。在另一個實(shí)施例中,客戶機(jī)代理120包括收集代理304,用于執(zhí)行 端點(diǎn)檢測/掃描并且用于為設(shè)備200和/或服務(wù)器106收集端點(diǎn)信息。在一些實(shí)施例中,加速程序302包括用于執(zhí)行一個或多個加速技術(shù)的客戶機(jī)側(cè)加 速程序,以加速、增強(qiáng)或者以其他方式改善客戶機(jī)與服務(wù)器106的通信和/或?qū)Ψ?wù)器106 的訪問,諸如訪問由服務(wù)器106提供的應(yīng)用。加速程序302的可執(zhí)行指令的邏輯、函數(shù)和/ 或操作可以執(zhí)行一個或多個下列加速技術(shù)1)多協(xié)議壓縮,幻傳輸控制協(xié)議池,幻傳輸控 制協(xié)議多路復(fù)用,4)傳輸控制協(xié)議緩沖,以及幻通過高速緩存管理器的高速緩沖。另外, 加速程序302可執(zhí)行由客戶機(jī)102接收和/或發(fā)送的任何通信的加密和/或解密。在一些 實(shí)施例中,加速程序302以集成的方式或者格式執(zhí)行一個或者多個加速技術(shù)。另外,加速程 序302可以對作為傳輸層協(xié)議的網(wǎng)絡(luò)分組的有效載荷所承載的任一協(xié)議或者多協(xié)議執(zhí)行 壓縮。流客戶機(jī)306包括用于接收和執(zhí)行從服務(wù)器106所流式傳輸?shù)膽?yīng)用、程序、進(jìn)程、 服務(wù)、任務(wù)或者可執(zhí)行指令。服務(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í)行程序。收集代理304包括應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或者可執(zhí)行指令,用于識別、獲取 和/或收集關(guān)于客戶機(jī)102的信息。在一些實(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 的連接的訪問、驗(yàn)證和授權(quán)控制。在一個實(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)程,和幻文件。收集代理304還可以識別并確定客戶機(jī)上任意一個或多 個以下軟件的存在或版本1)防病毒軟件;幻個人防火墻軟件;3)防垃圾郵件軟件,和4) 互聯(lián)網(wǎng)安全軟件。策略引擎236可以具有根據(jù)客戶機(jī)或客戶機(jī)側(cè)屬性的任意一個或多個屬 性或特性的一個或多個策略。在一些實(shí)施例中,客戶機(jī)代理120包括如結(jié)合圖ID和2B所討論的監(jiān)控代理197。 監(jiān)控代理197可以是諸如Visual Basic或Java腳本的任意類型和形式的腳本。在一個實(shí) 施例中,監(jiān)控代理1 監(jiān)控和測量客戶機(jī)代理120的任意部分的性能。例如,在一些實(shí)施例 中,監(jiān)控代理129監(jiān)控和測量加速程序302的性能。在另一個實(shí)施例中,監(jiān)控代理129監(jiān)控 和測量流客戶機(jī)306的性能。在其它實(shí)施例中,監(jiān)控代理1 監(jiān)控和測量收集代理304的 性能。在又一個實(shí)施例中,監(jiān)控代理1 監(jiān)控和測量攔截器350的性能。在一些實(shí)施例中, 監(jiān)控代理1 監(jiān)控和測量客戶機(jī)102的諸如存儲器、CPU和磁盤的任意資源。監(jiān)控代理197可以監(jiān)控和測量客戶機(jī)的任意應(yīng)用的性能。在一個實(shí)施例中,監(jiān)控 代理1 監(jiān)控和測量客戶機(jī)102上的瀏覽器的性能。在一些實(shí)施例中,監(jiān)控代理197監(jiān)控 和測量經(jīng)由客戶機(jī)代理120遞送的任意應(yīng)用的性能。在其它實(shí)施例中,監(jiān)控代理197測量 和監(jiān)控諸如基于web或HTTP響應(yīng)時間的應(yīng)用的最終用戶響應(yīng)時間。監(jiān)控代理197可以監(jiān) 控和測量ICA或RDP客戶機(jī)的性能。在另一個實(shí)施例中,監(jiān)控代理197測量和監(jiān)控用戶會 話或應(yīng)用會話的指標(biāo)。在一些實(shí)施例中,監(jiān)控代理197測量和監(jiān)控ICA或RDP會話。在一 個實(shí)施例中,監(jiān)控代理197測量和監(jiān)控設(shè)備200在加速遞送應(yīng)用和/或數(shù)據(jù)到客戶機(jī)102 的過程中的性能。在一些實(shí)施例中,仍舊參見圖3,第一程序322可以用于自動地、靜默地、透明地或 者以其它方式安裝和/或執(zhí)行客戶機(jī)代理120或其部分,諸如攔截器350。在一個實(shí)施例 中,第一程序322包括插件組件,例如ActiveX控件或Java控件或腳本,其加載到應(yīng)用并由 應(yīng)用執(zhí)行。例如,第一程序包括由web瀏覽器應(yīng)用載入和運(yùn)行的ActiveX控件,例如在存儲 器空間或應(yīng)用的上下文中。在另一個實(shí)施例中,第一程序322包括可執(zhí)行指令組,該可執(zhí)行 指令組被例如瀏覽器的應(yīng)用載入并執(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ū)動的程序的安裝程序或即插即用管理器。由用戶從設(shè)ι石角定伯指標(biāo)誅雇的指標(biāo)禾π /或經(jīng)由m^mmim^wik集的指標(biāo)執(zhí)行負(fù)載平衡現(xiàn)在參看圖4,描述用于負(fù)載平衡的系統(tǒng)的多個實(shí)施例的各個特征??苫谟稍O(shè) 備200確定的指標(biāo)和/或由設(shè)備經(jīng)由諸如簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)的網(wǎng)絡(luò)管理協(xié)議從裝 置或者服務(wù)收集的指標(biāo)進(jìn)行負(fù)載平衡。該設(shè)備提供負(fù)載監(jiān)控器來監(jiān)控一個或者多個服務(wù) 270A-270N的負(fù)載。在一個實(shí)施例中,用戶可以基于從自定義指標(biāo)表選擇的指標(biāo)來配置一個 或者多個負(fù)載監(jiān)控器,該自定義指標(biāo)表包括經(jīng)由網(wǎng)絡(luò)管理協(xié)議查詢獲得的指標(biāo)或者對象。 在另一個實(shí)施例中,用戶可以基于由設(shè)備收集的指標(biāo)或者參數(shù)來配置一個或者多個負(fù)載監(jiān) 控器。在一些實(shí)施例中,用戶基于從自定義指標(biāo)表選擇的指標(biāo)和設(shè)備收集的指標(biāo)來配置一 個或者多個負(fù)載監(jiān)控器。響應(yīng)于用戶的選擇,設(shè)備確定一個或者多個服務(wù)的負(fù)載并且使用 任一類型的負(fù)載平衡技術(shù)來負(fù)載平衡客戶機(jī)請求到服務(wù)。進(jìn)一步參考圖4,描述用于負(fù)載平衡一個或者多個服務(wù)的設(shè)備的實(shí)施例??偟膩?說,設(shè)備200具有一個或者多個虛擬服務(wù)器,也稱之為vServer,其配置用于為布置在一個 或者多個服務(wù)器106a-106b上的或者由一個或者多個服務(wù)器106a-106b提供的一個或者多 個服務(wù)270a-270n提供負(fù)載平衡沘4。vServer 275A和服務(wù)270A或者一組服務(wù)270A-270N 相關(guān)聯(lián),被配置為服務(wù)270A或者一組服務(wù)270A-270N或者受其限制。設(shè)備200具有一個 或者多個負(fù)載監(jiān)控器405A-405N來監(jiān)控服務(wù)270A-270N的狀態(tài)、操作和/或性能。負(fù)載 監(jiān)控器和服務(wù)270A或者一組服務(wù)270A-270N相關(guān)聯(lián),被配置為服務(wù)270A或者一組服務(wù) 270A-270N或者受其限制。負(fù)載監(jiān)控器405A-405B為vServer 275A-275N提供信息來確定 服務(wù)270A-270N中的哪一個應(yīng)該接收由vServer 275接收的請求。負(fù)載監(jiān)控器405和/或 vServer 275可以使用設(shè)備收集的指標(biāo)410和/或裝置提供的指標(biāo)420來確定跨越多個服 務(wù)270A-270N的負(fù)載并且來負(fù)載平衡輸入的客戶機(jī)請求。設(shè)備200還包括配置接口 435來 接收識別由負(fù)載監(jiān)控器405和/或vServer 275所使用的用戶選擇的或者用戶限定的指標(biāo) 430的信息用于負(fù)載平衡多個服務(wù)270A-270N。設(shè)備200可以包括任一類型和形式的負(fù)載監(jiān)控器405A-405N,還可以稱之為監(jiān)控 代理,用于監(jiān)控服務(wù)270、服務(wù)器106或者裝置100的任一操作或者性能特征或者指標(biāo)。負(fù) 載監(jiān)控器405可以包括軟件、硬件或者軟件和硬件的任一組合。負(fù)載監(jiān)控器405可以包括 任一應(yīng)用、程序、腳本、服務(wù)、守護(hù)進(jìn)程、過程、任務(wù)、線程或者可執(zhí)行指令集。在一個實(shí)施例 中,負(fù)載監(jiān)控器405在設(shè)備200的內(nèi)核空間中操作或者執(zhí)行。在另一個實(shí)施例中,負(fù)載監(jiān)控 器405在設(shè)備200的用戶或者應(yīng)用空間中操作或者執(zhí)行。在一些實(shí)施例中,負(fù)載監(jiān)控器405 的第一部分在內(nèi)核空間中操作而負(fù)載監(jiān)控器405的第二部分在設(shè)備200的應(yīng)用層或者空間 操作。在一個實(shí)施例中,負(fù)載監(jiān)控器405和服務(wù)270通信一次。在一些實(shí)施例中,負(fù)載監(jiān) 控器405以諸如每一毫秒或者每一秒的預(yù)定頻率監(jiān)控服務(wù)270或者與之通信。用戶可以經(jīng) 由配置接口 425配置或者指定預(yù)定的頻率。在其他情況中,另一個設(shè)備或者系統(tǒng)可以經(jīng)由 配置接口 425來配置或者指定預(yù)定的頻率。在又一個實(shí)施例中,負(fù)載監(jiān)控器405響應(yīng)于諸 如接收請求、響應(yīng)或者網(wǎng)絡(luò)分組的一個或者多個事件來監(jiān)控服務(wù)270或者與之通信。在一 個實(shí)施例中,負(fù)載監(jiān)控器405響應(yīng)于策略引擎的一個或者多個策略來監(jiān)控服務(wù)270或者與
Z^ififn ο在一些實(shí)施例中,負(fù)載監(jiān)控器405可以與服務(wù)270或者服務(wù)器106使用請求/應(yīng)答消息機(jī)制或者協(xié)議。在其他實(shí)施例中,負(fù)載監(jiān)控器405可以具有自定義或者專用交換協(xié) 議用于和服務(wù)、服務(wù)器或者裝置通信。在一個實(shí)施例中,負(fù)載監(jiān)控器405可以使用服務(wù)270 的協(xié)議來監(jiān)控服務(wù)270或者與之通信。由此,在一些實(shí)施例中,負(fù)載監(jiān)控器405使用HTTP 協(xié)議來監(jiān)控web服務(wù)270A或者與之通信,或者使用FTP協(xié)議用于FTP服務(wù)器270B。在又 一些實(shí)施例中,負(fù)載監(jiān)控器405使用TCP或者ICMP協(xié)議用于監(jiān)控服務(wù)270。在一些實(shí)施例 中,負(fù)載監(jiān)控器405使用網(wǎng)絡(luò)管理協(xié)議來監(jiān)控或者查詢服務(wù)、服務(wù)器或者裝置的狀態(tài)或者 指標(biāo)。在一個實(shí)施例中,負(fù)載監(jiān)控器405使用簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)。在另一個實(shí)施例 中,負(fù)載監(jiān)控器405使用通用管理信息協(xié)議(CIMP)。在一些實(shí)施例中,單個負(fù)載監(jiān)控器405監(jiān)控多個服務(wù)270A-270N或者服務(wù)器 106A-106B。在其他實(shí)施例中,多個負(fù)載監(jiān)控器405A-405N監(jiān)控單個服務(wù)270A或者服務(wù)器 106A。在又一些實(shí)施例中,多個負(fù)載監(jiān)控器405可以每一個監(jiān)控多個服務(wù)270A-270N或者 服務(wù)器106A-106N。在一個實(shí)施例中,多個負(fù)載監(jiān)控器405可以每一個監(jiān)控服務(wù)270。在又 一個實(shí)施例中,負(fù)載監(jiān)控器405A可以監(jiān)控一個或者多個其它負(fù)載監(jiān)控器405B-405N。在一些實(shí)施例中,一個或者多個負(fù)載監(jiān)控器405和一個或者多個服務(wù)270相關(guān)聯(lián)。 在一個實(shí)施例中,用戶經(jīng)由配置接口 425來指定或者配置負(fù)載監(jiān)控器405用于一個或者多 個服務(wù)270。例如,用戶經(jīng)由配置接口 435可以發(fā)布命令來綁定監(jiān)控器405到服務(wù)270。在 其他實(shí)施例中,負(fù)載監(jiān)控器405和vServer 275相關(guān)聯(lián)(也稱為vS 275)。在一個實(shí)施例中, 用戶經(jīng)由配置接口 425指定或者配置負(fù)載監(jiān)控器405用于vServer 275。在又一個實(shí)施例 中,用戶經(jīng)由配置接口 425指定或者配置vServer 275用于一個或者多個服務(wù)270A-270N。 例如,用戶可以將vServer 275綁定到服務(wù)270。在一些實(shí)施例中,一個或者多個負(fù)載監(jiān)控器405可以監(jiān)控設(shè)備200、vServer 275、 網(wǎng)絡(luò)服務(wù)270、客戶機(jī)102、服務(wù)器106、裝置100或者任意其它網(wǎng)絡(luò)資源。在一個實(shí)施例中, 用戶指定一類網(wǎng)絡(luò)服務(wù)來與一個或者多個監(jiān)控代理405相關(guān)聯(lián)。在另一個實(shí)施例中,用戶 定制監(jiān)控代理。例如,用戶可以實(shí)現(xiàn)或者以其他方式提供腳本用于監(jiān)控服務(wù)。在又一個實(shí) 施例中,使用通用監(jiān)控代理405。在一些實(shí)施例中,監(jiān)控器代理405可配置地基于一類協(xié)議 或者一類服務(wù)來使用預(yù)定的監(jiān)控器、腳本或者狀態(tài)消息。在又一個實(shí)施例中,一個或者多個監(jiān)控代理405確定一個或者多個網(wǎng)絡(luò)服務(wù)270 的響應(yīng)時間,用于響應(yīng)以下類型的其中一個的請求查驗(yàn)、傳輸控制協(xié)議(tcp)、tcp擴(kuò)展內(nèi) 容驗(yàn)證、超文本傳輸協(xié)議(http)、http擴(kuò)展內(nèi)容驗(yàn)證、超文本傳輸協(xié)議安全(https)、https 擴(kuò)展內(nèi)容驗(yàn)證、用戶數(shù)據(jù)報協(xié)議、域名服務(wù)以及文件傳輸協(xié)議。在一些實(shí)施例中,監(jiān)控代理 405響應(yīng)于服務(wù)270檢查預(yù)定的狀態(tài)碼。在其他實(shí)施例中,監(jiān)控代理405響應(yīng)于服務(wù)270檢 查預(yù)定的串模式。在一些實(shí)施例中,一個或者多個負(fù)載監(jiān)控器或者監(jiān)控代理405是協(xié)議專用的代 理。例如,代理405可以確定用于特定協(xié)議類型的網(wǎng)絡(luò)服務(wù)的可用性。在一些實(shí)施例中,監(jiān) 控代理405確定對于TCP請求的服務(wù)器106或者網(wǎng)絡(luò)服務(wù)270的響應(yīng)時間。在其中一個這 樣的實(shí)施例中,代理使用“TCP/ICMP回應(yīng)請求”命令來發(fā)送數(shù)據(jù)報到網(wǎng)絡(luò)服務(wù)270,相應(yīng)地 接收來自網(wǎng)絡(luò)服務(wù)270的數(shù)據(jù)報,并且基于數(shù)據(jù)報的往返時間確定響應(yīng)時間。在另一個這 樣的實(shí)施例中,監(jiān)控代理405驗(yàn)證來自網(wǎng)絡(luò)服務(wù)270的響應(yīng)包括期望內(nèi)容。在一個實(shí)施例 中,監(jiān)控代理405驗(yàn)證響應(yīng)不包括錯誤。
在其他實(shí)施例中,監(jiān)控代理405確定網(wǎng)絡(luò)服務(wù)270對于UDP請求的可用性。在其 中一個這樣的實(shí)施例中,代理使用“UDP回應(yīng)”命令來發(fā)送數(shù)據(jù)報到網(wǎng)絡(luò)服務(wù)270,相應(yīng)地接 收來自網(wǎng)絡(luò)服務(wù)270的數(shù)據(jù)報,并且基于數(shù)據(jù)報的往返時間確定響應(yīng)時間。在另一個這樣 的實(shí)施例中,監(jiān)控代理405驗(yàn)證來自網(wǎng)絡(luò)服務(wù)270的響應(yīng)包括期望內(nèi)容并且不包括錯誤。在又一些實(shí)施例中,監(jiān)控代理405確定網(wǎng)絡(luò)服務(wù)270對于FTP請求的可用性。在 其中一個這樣的實(shí)施例中,監(jiān)控代理405發(fā)送諸如“get”命令或者“put”命令的FTP命令 到網(wǎng)絡(luò)服務(wù)270并且確定網(wǎng)絡(luò)服務(wù)270響應(yīng)該命令所需要的時間。在另一個這樣的實(shí)施例 中,監(jiān)控代理405驗(yàn)證來自網(wǎng)絡(luò)服務(wù)270的響應(yīng)包括所期望的內(nèi)容,諸如“get”命令所請求 的文件的內(nèi)容,并且不包含錯誤。在又一些實(shí)施例中,監(jiān)控代理405確定網(wǎng)絡(luò)服務(wù)270對于HTTP請求的可用性。在 其中一個這樣的實(shí)施例中,監(jiān)控代理405發(fā)送諸如用于統(tǒng)一資源定位符(URL)或者文件的 “get”請求的HTTP命令到網(wǎng)絡(luò)服務(wù)270并且確定網(wǎng)絡(luò)服務(wù)270響應(yīng)該請求所需要的時間。 在另一個這樣的實(shí)施例中,監(jiān)控代理405驗(yàn)證來自網(wǎng)絡(luò)服務(wù)270的響應(yīng)包括所期望的內(nèi)容, 諸如URL識別的web頁面的內(nèi)容。在一些實(shí)施例中,監(jiān)控代理405檢查預(yù)定的狀態(tài)碼。在 其他實(shí)施例中,監(jiān)控代理405檢查HTTP響應(yīng)中的預(yù)定的串模式。在進(jìn)一步的實(shí)施例中,監(jiān)控代理405確定網(wǎng)絡(luò)服務(wù)270對于DNS請求的可用性。 在其中一個這樣的實(shí)施例中,監(jiān)控代理405發(fā)送諸如對于已知網(wǎng)絡(luò)地址的dnsquery或者 nslookup的DNS請求到服務(wù)器106或者網(wǎng)絡(luò)服務(wù)270,并且確定服務(wù)器106或者網(wǎng)絡(luò)服務(wù) 270響應(yīng)該請求所需要的時間。在另一個這樣的實(shí)施例中,監(jiān)控代理405驗(yàn)證來自網(wǎng)絡(luò)服 務(wù)270的響應(yīng)包括所期望的內(nèi)容,諸如和已知網(wǎng)絡(luò)地址相關(guān)聯(lián)的計算裝置100的域名。在 一個實(shí)施例中,監(jiān)控代理405驗(yàn)證響應(yīng)不包含錯誤。在一些實(shí)施例中,設(shè)備200經(jīng)由監(jiān)控代理405基于通過設(shè)備的網(wǎng)絡(luò)話務(wù)量和信息 識別并且收集指標(biāo)410,或者稱之為設(shè)備收集的參數(shù)或者指標(biāo)。設(shè)備200或者代理405可 以以任一類型或者形式的數(shù)據(jù)存儲機(jī)制將設(shè)備收集的指標(biāo)410保存在存儲器和/或磁盤存 儲裝置中。在一個實(shí)施例中,設(shè)備將指標(biāo)410保存在表中。在另一個實(shí)施例中,設(shè)備將指標(biāo) 410保存在數(shù)據(jù)庫中。在又一個實(shí)施例中,設(shè)備將指標(biāo)410保存在對象或者數(shù)據(jù)結(jié)構(gòu)中。仍 然在其它實(shí)施例中,設(shè)備200在多個表中和/或數(shù)據(jù)存儲機(jī)制中保存設(shè)備收集的指標(biāo)410。 在一個實(shí)施例中,設(shè)備收集的指標(biāo)410可以以任一方式布置在或者組織在多個表中。在一些實(shí)施例中,監(jiān)控代理405從由設(shè)備所接收和發(fā)送的網(wǎng)絡(luò)分組確定一個或者 多個指標(biāo)410。在一個實(shí)施例中,監(jiān)控代理405確定與一個或者多個服務(wù)270或者服務(wù)器 106的連接的數(shù)量和類型。在另一個實(shí)施例中,監(jiān)控代理405確定發(fā)送到服務(wù)270或者服務(wù) 器106的分組的數(shù)量。在其他實(shí)施例中,監(jiān)控代理405確定從服務(wù)270或者服務(wù)器106接 收的或者由服務(wù)270或者服務(wù)器106發(fā)送的分組的數(shù)量。在一些實(shí)施例中,監(jiān)控代理405 確定來自服務(wù)270或者服務(wù)的響應(yīng)時間。在一個實(shí)施例中,監(jiān)控代理405確定平均響應(yīng)時 間。在另一個實(shí)施例中,監(jiān)控代理405確定丟失分組的數(shù)量或百分比。在其他實(shí)施例中,監(jiān) 控代理405確定從服務(wù)或者服務(wù)器接收的錯誤的數(shù)量。在一些實(shí)施例中,監(jiān)控代理405確定到服務(wù)270或者服務(wù)器106的連接的帶寬。在 一個實(shí)施例中,監(jiān)控代理405基于響應(yīng)時間和/或分組丟失來確定連接的帶寬。在另一個 實(shí)施例中,監(jiān)控代理405基于從服務(wù)270或者服務(wù)器106發(fā)送或者通信的和/或發(fā)送或者通信到其的多個字節(jié)來確定連接的帶寬。在一個實(shí)施例中,監(jiān)控代理405基于通過諸如每 秒的預(yù)定時間周期上從服務(wù)或者服務(wù)器接收的字節(jié)數(shù)量來確定帶寬。在另一個實(shí)施例中, 監(jiān)控代理405基于在預(yù)定時間周期發(fā)送到服務(wù)或者服務(wù)器的字節(jié)數(shù)量來確定帶寬。在一些 實(shí)施例中,監(jiān)控代理405基于在預(yù)定時間周期發(fā)送到服務(wù)或者服務(wù)器或者從其接收的字節(jié) 數(shù)量來確定帶寬。在一些實(shí)施例中,設(shè)備200經(jīng)由監(jiān)控代理405識別和收集服務(wù)、服務(wù)器或者裝置提 供的指標(biāo)430。這些指標(biāo)430也可以稱為自定義指標(biāo)或者自定義指標(biāo)表。設(shè)備200或者代 理405可以以任意類型和形式的數(shù)據(jù)存儲機(jī)制將服務(wù)或者裝置收集的指標(biāo)430保存在存儲 器和/或磁盤存儲裝置中。在一個實(shí)施例中,設(shè)備將指標(biāo)430保存在表中。在另一個實(shí)施 例中,設(shè)備將指標(biāo)430保存在數(shù)據(jù)庫中。在又一個實(shí)施例中,設(shè)備將指標(biāo)430保存在對象或 者數(shù)據(jù)結(jié)構(gòu)中。在一些實(shí)施例中,設(shè)備將指標(biāo)430以與設(shè)備收集的指標(biāo)410相同的數(shù)據(jù)存 儲機(jī)制保存。在其他實(shí)施例中,設(shè)備將指標(biāo)430以與設(shè)備收集的指標(biāo)410不同的數(shù)據(jù)存儲 機(jī)制保存。仍然在其它實(shí)施例中,設(shè)備200以多個表和/或數(shù)據(jù)存儲機(jī)制保存裝置提供的 指標(biāo)420。在一個實(shí)施例中,裝置收集的指標(biāo)420可以以任一方式布置在或者組織在多個表 中。例如,設(shè)備200可以有每一個服務(wù)、裝置或者應(yīng)用的指標(biāo)表420。在一個實(shí)施例中,負(fù)載監(jiān)控器405使用諸如SNMP的網(wǎng)絡(luò)管理協(xié)議來向服務(wù)器或者 裝置查詢一個或者多個對象標(biāo)識符和用于對象標(biāo)識符的對象的數(shù)據(jù)。僅通過示例并且不以 任一方式限制,負(fù)載監(jiān)控器405使用SNMP架構(gòu)來提供管理信息庫(MIB) 417,其對于所管理 的對象使用包含對象標(biāo)識符422A-422N的分層命名空間來指定諸如服務(wù)270的裝置或者裝 置子系統(tǒng)的管理數(shù)據(jù)。在一些實(shí)施例中,MIB 417是分層組織的信息的集合。MIB 417可以 使用諸如SNMP的網(wǎng)絡(luò)管理協(xié)議來訪問。MIB 417包括由對象標(biāo)識符422A-422N識別的所管 理的對象。在一個實(shí)施例中,所管理的對象(有時稱為MIB對象、對象或者M(jìn)IB)是所管理 的裝置、設(shè)備或者系統(tǒng)的任意個特征或者指標(biāo)的其中一個。在一些實(shí)施例中所管理的對象 包括一個或者多個對象實(shí)例,其對應(yīng)于或者稱為變量。在一個實(shí)施例中,MIB 417分層可以被描述為具有無名根的樹,其每一層級由不同 的組織分配。在一些實(shí)施例中,頂層級MIB對象ID可以屬于不同標(biāo)準(zhǔn)的組織,而較低層級 對象ID由相關(guān)的組織分配。MIB 417和/或?qū)ο?22A-422N可以被布置、構(gòu)建和組織用于 跨越OSI參考模型的任意層的管理。在一些實(shí)施例中,MIB 417和/或?qū)ο?22A-422N在諸 如數(shù)據(jù)庫、電子郵件和web服務(wù)的應(yīng)用上提供所管理的數(shù)據(jù)和信息。此外,MIB 417和/或 對象422A-422N可以限定任意區(qū)域?qū)S没蛘咴O(shè)備指定信息和操作,諸如對于由設(shè)備200負(fù) 載平衡的或者管理的任意類型的服務(wù)270、服務(wù)器106或者裝置100。在SNMP的示例實(shí)施例中,SNMP通信模型基于具有管理信息417和管理對象 422A-422N的數(shù)據(jù)的管理器415和代理416。在一個實(shí)施例中,管理器415提供設(shè)備和所管 理的系統(tǒng)之間的接口。代理416提供管理器415和所管理的裝置、系統(tǒng)、應(yīng)用、部件、元件或 者資源之間的接口。如圖4中所示,設(shè)備200可以包括管理器415,該管理器從諸如服務(wù)器 106上的代理416請求和獲取來自代理416的對象標(biāo)識符和值。在SNMP的例子中,管理器 415傳達(dá)GET或者GET-NEXT消息來請求指定對象的信息。代理416響應(yīng)于管理器的請求, 發(fā)出具有所請求的信息或者錯誤消息的GET-RESPONSE消息到管理器415。管理器415可以 發(fā)送SET消息來請求對指定變量或者對象422的值的改變。代理416可以發(fā)出TRAP消息來通知事件的管理器415,諸如服務(wù)270上的警告或者錯誤。盡管總的在SNMP網(wǎng)絡(luò)管理協(xié)議的實(shí)施例中進(jìn)行了描述,但設(shè)備200和/或負(fù)載監(jiān) 控器405可使用任意類型和形式的網(wǎng)絡(luò)管理協(xié)議和通信模型來從對于所管理的系統(tǒng)、子系 統(tǒng)或者服務(wù)270的另一個裝置獲取信息的標(biāo)識符和值,諸如對象或者變量。例如,設(shè)備200 可以使用任意一個以下協(xié)議和/或通信模型遠(yuǎn)程監(jiān)控(RMON)、AgentX、簡單網(wǎng)關(guān)監(jiān)控協(xié)議 (SGMP)、公共管理信息協(xié)議(CMIP)、公共管理信息服務(wù)(CMIS)或者TCP/IP上CMIP (CMOT)。此外,盡管MIB 417總的參考諸如SNMP的示例網(wǎng)絡(luò)管理協(xié)議的管理器/代理通信 模型來描述,但是MIB 417可以包括對象標(biāo)識符、變量、參數(shù)或者指標(biāo)的其他標(biāo)識符的任意 類型和形式的數(shù)據(jù)存儲裝置。MIB 417可以是依賴協(xié)議或者獨(dú)立協(xié)議。例如,MIB 417可以 包括用于可以經(jīng)由任意類型和形式的API查詢的裝置或者服務(wù)的指標(biāo)的表。經(jīng)由網(wǎng)絡(luò)管理協(xié)議提供的所管理的對象或者變量可以提供由設(shè)備用于負(fù)載平衡 或者設(shè)備200的任意其它功能所使用的服務(wù)、服務(wù)器或者裝置的任意類型和形式的指標(biāo)或 者操作特征。在一個實(shí)施例中,裝置提供的指標(biāo)420可以包括如上描述設(shè)備所收集的任一 指標(biāo)410。在另一個實(shí)施例中,裝置提供的指標(biāo)420可以包括所管理的裝置、服務(wù)或者系統(tǒng) 的任一資源使用的任一類型和形式的信息。在一個實(shí)施例中,指標(biāo)410包括裝置和/或服 務(wù)270的CPU、存儲器和/或磁盤使用。在其他實(shí)施例中,指標(biāo)420可以包括服務(wù)270的連 接、會話或者客戶機(jī)的數(shù)量的信息。在一些實(shí)施例中,指標(biāo)420包括服務(wù)270或者服務(wù)器 106的任意閾值的任意信息,諸如識別最大數(shù)量的會話或者客戶機(jī)的閾值。在又一個實(shí)施 例中,指標(biāo)420包括服務(wù)270的一類協(xié)議的任一信息。在其他實(shí)施例中,指標(biāo)420包括服務(wù) 270的任意警告或者錯誤的任一信息。在一些實(shí)施例中,每一個負(fù)載監(jiān)控器405包括設(shè)備收集的指標(biāo)410。例如,指標(biāo)表 410可以被明確地默認(rèn)綁定到每一個監(jiān)控器405。在其他實(shí)施例中,用戶將自定義指標(biāo)表 420關(guān)聯(lián)或者綁定到監(jiān)控器405。在又一個實(shí)施例中,用戶將自定義指標(biāo)表420和設(shè)備收集 的表410關(guān)聯(lián)或者綁定到監(jiān)控器405。在又一些實(shí)施例中,用戶可以將一個或者多個設(shè)備收 集的指標(biāo)表410和自定義指標(biāo)表420的任一組合關(guān)聯(lián)或者綁定到一個或者多個負(fù)載監(jiān)控器 405。在一些實(shí)施例中,用戶經(jīng)由配置接口 425可以對于負(fù)載監(jiān)控器405配置或者指定 一個或者多個對象標(biāo)識符422A-422N來獲取用于并保存在指標(biāo)420中的值。例如,用戶可 以指定用戶限定的指標(biāo)430。在其他實(shí)施例中,設(shè)備200或者負(fù)載監(jiān)控器405從諸如服務(wù) 器106或者服務(wù)270的裝置100獲得一個或者多個對象標(biāo)識符422A-422N的列表。在又一 個實(shí)施例中,設(shè)備200包括具有已知裝置的預(yù)定的OIDS 422A-422N的一個或者多個指標(biāo)表 420。例如,設(shè)備200可以包括用于任意一個或者多個以下設(shè)備或者裝置的指標(biāo)表420:1) Florida ft. Lauderdale 的 Citrix Systems 公司出品的任意版本的 NaUcaler 裝置;2)諸 如由 Washington Seattle 的 F5 Networks 公司出品的 BIGIP 或者 WebAccelerator 的任一 設(shè)備;3) New Jersey Mahwah 的 Radware 公司出品的任意的 AppDirector 或者 App)(cel 裝 置;4)California San Jose的Cisco Systems公司出品的和任意應(yīng)用加速和/或安全相 關(guān)的設(shè)備和/或軟件。設(shè)備200、vServer 275和/或負(fù)載監(jiān)控器405基于來自設(shè)備收集的指標(biāo)410 和/或裝置提供的指標(biāo)420的任意一個指標(biāo)來估計、計算或者以其他方式確定對于每個服務(wù)270的負(fù)載440。設(shè)備200對于負(fù)載440的確定中使用的每一個指標(biāo)可以使用權(quán)重 435A-435N和閾值437A-437N。在一個實(shí)施例中,設(shè)備200建立權(quán)重435和/或閾值437。 在其他實(shí)施例中,用戶建立權(quán)重435和/或閾值437。例如,在一些情況中,若用戶未指定對 于多個指標(biāo)的權(quán)重,則設(shè)備同等地為每個指標(biāo)加權(quán)。在一個示例實(shí)施例中,設(shè)備200如下確 定對于每一個服務(wù)的負(fù)載440 Sum(指標(biāo)權(quán)重/所建立的指標(biāo)上限值)*(所獲得的指標(biāo)值/所建立的指標(biāo)上限 值))/Sum(權(quán)重))在一些實(shí)施例中,指標(biāo)值可以基于0-100的范圍,或者絕對范圍。在其他實(shí)施例 中,指標(biāo)值可以不基于0-100的范圍或者以其他方式與指標(biāo)的類型和值的可能范圍相關(guān)。 例如,識別連接數(shù)量的指標(biāo)可以具有10000的上限或者預(yù)定的最大值。在其中一個這樣的 實(shí)施例中,設(shè)備建立對于指標(biāo)值的上限值或者預(yù)定上限。在另一個這樣的實(shí)施例中,用戶經(jīng) 由配置接口 425建立對于指標(biāo)值的上限值或者預(yù)定的上限。在進(jìn)一步的實(shí)施例中,所建立 的上限值可以包括低于指標(biāo)的實(shí)際最大值或者范圍值的上限的值。例如,用戶可以基于指 標(biāo)的期望的操作或者性能范圍來指定或者配置相對的范圍值。在一些實(shí)施例中,如果服務(wù)的指標(biāo)超過用戶或者設(shè)備提供的閾值,則服務(wù)可以從 負(fù)載確定或者以其他方式從負(fù)載平衡決策中排除。在其他實(shí)施例中,如果服務(wù)的所有指標(biāo) 超過它們對應(yīng)的閾值,則服務(wù)可以從負(fù)載確定或者以其他方式從負(fù)載平衡決策中排除。在 又一個實(shí)施例中,即便當(dāng)服務(wù)超過一個或者多個指標(biāo)的閾值時,在負(fù)載確定中或者負(fù)載選 擇時仍可以考慮該服務(wù)。在一些情況中,客戶機(jī)會話可以被識別為對于vServer 275或 者服務(wù)270是持續(xù)或者穩(wěn)定的。在這些情況中,如果設(shè)備接收到客戶機(jī)會話的請求,盡管 vServer或者服務(wù)的指標(biāo)已經(jīng)超過,設(shè)備還可以提供該請求給vServer 275或者服務(wù)270。其他實(shí)施例中,如果服務(wù)或者虛擬服務(wù)器的指標(biāo)的閾值已經(jīng)超過,則設(shè)備可以響 應(yīng)于所超過的閾值將作出請求的客戶機(jī)重定向到另一個資源。在一個實(shí)施例中,設(shè)備可以 將包含服務(wù)器106或者服務(wù)270的地址的URL發(fā)送到客戶機(jī),使得客戶機(jī)可以繞過該設(shè)備 200并直接訪問服務(wù)器106或者服務(wù)270。在一個實(shí)施例中,設(shè)備可以發(fā)送包含第二設(shè)備 200或者另一個裝置的地址的URL到客戶機(jī)。仍在另一個實(shí)施例中,設(shè)備200可以代表客戶 機(jī)將客戶機(jī)請求重定向到第二設(shè)備、裝置、服務(wù)或者服務(wù)器。在一些實(shí)施例中,如果服務(wù)或者虛擬服務(wù)器的指標(biāo)的閾值已經(jīng)超過,則設(shè)備可以 響應(yīng)于所超過的閾值將客戶機(jī)請求弓I導(dǎo)到第二虛擬服務(wù)器或者服務(wù)。在一個實(shí)施例中,第 二虛擬服務(wù)器可以是主虛擬服務(wù)器的備份。當(dāng)檢測到超過閾值時,設(shè)備可以泄出請求和連 接到第二虛擬服務(wù)器。盡管負(fù)載440總的考慮到上述公式進(jìn)行討論,但是設(shè)備可以使用任意類型和形式 的負(fù)載計算、加權(quán)或者不加權(quán)。在一些實(shí)施例中,設(shè)備200使用指標(biāo)值的平均值確定負(fù)載。 在其他實(shí)施例中,設(shè)備200使用指標(biāo)的派生值來確定負(fù)載440。在另一個實(shí)施例中,設(shè)備200 使用指標(biāo)的任意統(tǒng)計測量來確定負(fù)載440。仍在另一個實(shí)施例中,設(shè)備200使用指標(biāo)的任意 函數(shù)或者計算來確定負(fù)載440。在又一些實(shí)施例中,設(shè)備200可以針對每個指標(biāo)確定負(fù)載 440。在這些實(shí)施例中,設(shè)備200可以基于指標(biāo)對服務(wù)負(fù)載的貢獻(xiàn)的任意類型和形式的集合 來聚集、比較或者以其他方式計算負(fù)載440。在一些實(shí)施例中,用戶配置用于服務(wù)270的多個監(jiān)控器405。在這些實(shí)施例中,服務(wù)270上的負(fù)載440是所有監(jiān)控器的負(fù)載的和。在一個實(shí)施例中,多個監(jiān)控器440的負(fù)載 的和被加權(quán)。設(shè)備可以為監(jiān)控器405分配權(quán)重。權(quán)重可以包括整數(shù)、小數(shù)或者任意其它數(shù)字 指示。在一些實(shí)施例中,用戶可以經(jīng)由配置接口 425配置對應(yīng)于監(jiān)控器405的權(quán)重。在一 些實(shí)施例中,所有的監(jiān)控器405可以被分配相同的權(quán)重。在其他實(shí)施例中,多個監(jiān)控器405 可以每一個分配不同的權(quán)重。權(quán)重可以基于指示相對重要性的任意標(biāo)準(zhǔn)來分配給監(jiān)控器, 包括但不限于設(shè)備或用戶根據(jù)服務(wù)、監(jiān)控機(jī)制的可靠性和監(jiān)控頻率確定監(jiān)控器的相對重要 性或相對值。在一個實(shí)施例中,監(jiān)控代理405可以基于通過設(shè)備監(jiān)控的服務(wù)的相對重要性來分 配權(quán)重。例如,如果環(huán)境中的大部分用戶請求是HTTP請求,則監(jiān)控服務(wù)器106的HTTP可用 性的監(jiān)控代理可以被分配10的權(quán)重,而監(jiān)控服務(wù)器106的FTP可用性的監(jiān)控代理可以被分 配3的權(quán)重?;蛘?,例如,如果管理員為UDP應(yīng)用設(shè)置了高的優(yōu)先級,可為監(jiān)控服務(wù)器的UDP 可用性的監(jiān)控代理可分配20的權(quán)重,而為DNS監(jiān)控代理分配5的權(quán)重。在一些實(shí)施例中,設(shè)備200可以計算當(dāng)前報告網(wǎng)絡(luò)服務(wù)270在操作中的監(jiān)控代理 的權(quán)重的總和。例如,如果五個監(jiān)控代理監(jiān)控網(wǎng)絡(luò)服務(wù)270,為其中每一個監(jiān)控代理分配30 的權(quán)重,并且五個監(jiān)控代理的三個報告網(wǎng)絡(luò)服務(wù)270可用,則設(shè)備可以確定當(dāng)前報告網(wǎng)絡(luò) 服務(wù)270在操作中的監(jiān)控代理的總和是90。或者例如,如果僅有兩個監(jiān)控代理報告服務(wù)器 106可用,其中一個具有20的權(quán)重,另一個具有40的權(quán)重,則設(shè)備可以計算當(dāng)前報告服務(wù)器 106在操作中的監(jiān)控代理的總和是60。設(shè)備200還包括為用戶、應(yīng)用或者系統(tǒng)提供和設(shè)備200通信的任意類型和形式的 接口機(jī)制的配置接口 425。在一個實(shí)施例中,配置接口 425包括命令行界面425B。在另一 個實(shí)施例中,配置接口 425包括圖形用戶界面425A。在一些實(shí)施例中,配置接口 425包括用 于應(yīng)用、程序或者腳本以與設(shè)備200通信的應(yīng)用編程接口(API)或者開發(fā)工具包。在一些實(shí)施例中,設(shè)備200經(jīng)由設(shè)備的顯示器顯示配置接口 425。其他實(shí)施例中, 配置終端或設(shè)備100連接到設(shè)備200或和設(shè)備200通信,并顯示配置接口 425。例如,配置 設(shè)備100或終端可通過設(shè)備200的端口和IP地址連接到設(shè)備200。設(shè)備200可提供對端口 和IP地址的web服務(wù)監(jiān)聽以為用戶提供頁面。所提供的頁面可以提供用于配置設(shè)備200 的用戶界面。在其他實(shí)施例中,配置終端100可以經(jīng)由任意類型和形式的連接來連接到設(shè) 備200并與之通信,包括監(jiān)控器端口、串行端口或者USB連接。經(jīng)由配置接口 425,設(shè)備200可以接收識別用戶選擇的指標(biāo)430的信息來用于確定 一個或者多個服務(wù)的負(fù)載440。在一個實(shí)施例中,用戶從多個設(shè)備收集的指標(biāo)410中識別或 者選擇指標(biāo)。在另一個實(shí)施例中,用戶從多個裝置提供的指標(biāo)420識別或者選擇指標(biāo)。在 一些實(shí)施例中,用戶從設(shè)備收集的指標(biāo)510選擇一個或者多個指標(biāo)并且從裝置提供的指標(biāo) 410選擇一個或者多個指標(biāo)。設(shè)備200還可以經(jīng)由配置接口 425接收識別用戶為指標(biāo)選擇 或者指定的權(quán)重435的信息。例如,用戶可以提供指標(biāo)的權(quán)重435的值。在一些實(shí)施例中, 設(shè)備200接收識別閾值437的用戶提供的值的信息。在操作中,設(shè)備200可以使用用戶選擇的指標(biāo)430和用戶提供的權(quán)重435和閾值 437用于確定負(fù)載440。在另一個實(shí)施例中,設(shè)備可以使用來自設(shè)備收集的指標(biāo)410的任意 設(shè)備建立的指標(biāo)用于確定負(fù)載。在一個實(shí)施例中,用戶確定設(shè)備提供的指標(biāo)的權(quán)重和/或 閾值。這樣,盡管在一些實(shí)施例中指標(biāo)可以不是用戶選擇的,但用戶可以控制或者配置指標(biāo)410的權(quán)重435和/或閾值437。在其他實(shí)施例中,設(shè)備可以使用用戶選擇的指標(biāo)430和設(shè) 備建立的指標(biāo)410的任一組合用于確定負(fù)載。在另一個實(shí)施例中,設(shè)備200可以使用任意 指標(biāo)的用戶提供的權(quán)重435和/或閾值437以及設(shè)備提供的權(quán)重435和/或閾值437的任 一組合來確定負(fù)載440。儲鴨現(xiàn)在參考圖5A和5B,描述用于負(fù)載平衡多個異類裝置的系統(tǒng)和方法。此處描述的 設(shè)備200可以被布置來負(fù)載平衡多個服務(wù)并且負(fù)載平衡多個裝置。第一設(shè)備200可以經(jīng)由 預(yù)定的指標(biāo)交換協(xié)議(MEP)和同類型的第二設(shè)備200A進(jìn)行通信。第一設(shè)備200經(jīng)由MEP 協(xié)議獲取用于確定第二設(shè)備200A負(fù)載的指標(biāo)。與第一設(shè)備不同類型的其它裝置可以被布 置在網(wǎng)絡(luò)中來執(zhí)行本地負(fù)載平衡,諸如用于服務(wù)器群。一些實(shí)施例中,這些裝置可以不經(jīng)由 第一設(shè)備200的MEP協(xié)議進(jìn)行通信。一些實(shí)施例中,作為替代,這些其他裝置可以經(jīng)由諸如 簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)的網(wǎng)絡(luò)管理協(xié)議來提供指標(biāo)。使用結(jié)合圖4描述的技術(shù),第一設(shè) 備200從這些異類裝置經(jīng)由網(wǎng)絡(luò)管理協(xié)議來獲取指標(biāo)。使用經(jīng)由MEP協(xié)議從同類型的裝置 獲取的指標(biāo)和經(jīng)由網(wǎng)絡(luò)管理協(xié)議從不同類型的裝置獲取的指標(biāo),設(shè)備200可以使用這些組 合的指標(biāo)來確定跨越這些異類裝置的負(fù)載并基于該負(fù)載將請求引導(dǎo)到其中一個裝置?,F(xiàn)在參考圖5A,描述用于負(fù)載平衡包括服務(wù)器和本地或者其他負(fù)載平衡裝置的異 類裝置的網(wǎng)絡(luò)環(huán)境的實(shí)施例的例子。總的來說,網(wǎng)絡(luò)環(huán)境包括多個不同類型的負(fù)載平衡裝 置和服務(wù)器。設(shè)備200被配置為全局負(fù)載平衡裝置來負(fù)載平衡多個負(fù)載平衡裝置和服務(wù) 器。負(fù)載平衡裝置的每一個可以執(zhí)行對于一個或者多個服務(wù)270A-270N的本地負(fù)載平衡。 例如,同樣類型的第一組負(fù)載平衡設(shè)備200A-200N可以執(zhí)行第一網(wǎng)絡(luò)104上服務(wù)或者服務(wù) 器的本地負(fù)載平衡。這些設(shè)備200A-200B可以是同樣類型的全局負(fù)載平衡設(shè)備200。或者 在一些情況中,本地負(fù)載平衡設(shè)備200A-200N被設(shè)計和構(gòu)建為經(jīng)由指標(biāo)交換協(xié)議540傳遞 指標(biāo)和其他信息。第二類型的負(fù)載平衡設(shè)備500A-500N可以執(zhí)行對于第二網(wǎng)絡(luò)104’上一 個或者多個服務(wù)270A’-270N’的本地負(fù)載平衡。這些負(fù)載平衡設(shè)備500A-500N可以與第 一類型的設(shè)備200A-200N和/或全局負(fù)載平衡設(shè)備200類型不同。設(shè)備500A-500N可以操 作或者執(zhí)行一個或者多個虛擬服務(wù)器或者vServer 275A-275N。設(shè)備500A-500N可以不被 設(shè)計為經(jīng)由設(shè)備200A-200N的MEP協(xié)議540通信。而是這些設(shè)備500A-500N可以經(jīng)由諸如 SNMP的網(wǎng)絡(luò)管理協(xié)議提供指標(biāo)。全局負(fù)載平衡設(shè)備200還可以對于諸如服務(wù)器群38的一 個或者多個服務(wù)或者服務(wù)器執(zhí)行負(fù)載平衡。服務(wù)器或者服務(wù)的每一個可以是不同類型的, 諸如HTTP服務(wù)和FTP服務(wù)??紤]圖5A,多個設(shè)備、服務(wù)器和服務(wù)可以以分層方式布置。第一設(shè)備200可以是處 于分層頂部的全局負(fù)載平衡設(shè)備,來管理多個其他設(shè)備200A-200N、500A-500N和服務(wù)器。 在一個情況中,設(shè)備200直接管理一個或者多個服務(wù)器106或者服務(wù)270A-270N。在另一個 情況中,設(shè)備200管理一個或者多個設(shè)備200A-200N、500A-500N,其又依次管理一個或者多 個服務(wù)器106或者服務(wù)270A-270N。由第一設(shè)備200管理的設(shè)備可以管理第二設(shè)備,其又依 次管理一個或者多個服務(wù)或者服務(wù)器。通過參考不同負(fù)載平衡產(chǎn)品的例子,全局負(fù)載平衡設(shè)備200可以是稱為 NetScaler的Citrix System公司出品的任意一種產(chǎn)品實(shí)施例。設(shè)備200A-200N也可以 是被配置為執(zhí)行一個或者多個服務(wù)270A-270N的本地負(fù)載平衡的NetScaler裝置。當(dāng)設(shè)備200A-200N與全局負(fù)載平衡設(shè)備200為相同類型時,這些設(shè)備被設(shè)計和構(gòu)建為經(jīng)由稱之 為指標(biāo)交換協(xié)議的預(yù)定的協(xié)議和/或通信模型進(jìn)行通信。設(shè)備200A-200N可以被配置為 以預(yù)定頻率提供指標(biāo)信息給設(shè)備200。一個或者多個設(shè)備500A-500N可以包括另一類型的 負(fù)載平衡裝置,諸如F5 Networks公司出品的BigIP負(fù)載平衡裝置。另一個或者多個設(shè)備 500A-500N可以包括不同類型的負(fù)載平衡裝置,諸如Radware有限公司出品的AppDirector 設(shè)備。在一些情況中,一個或者多個設(shè)備500A-500N可以包括Cisco負(fù)載平衡裝置。在其 他情況中,一個或者多個設(shè)備500A-500N可以包括Nortel負(fù)載平衡裝置。任意一個或者多 個這些設(shè)備500A-500N可以不被設(shè)計或者構(gòu)建為經(jīng)由MEP協(xié)議540與設(shè)備200通信。盡管 該例總的在以上描述為提供全局負(fù)載平衡裝置的Citrix NetScaler裝置200,但是可以使 用任意其它類型的負(fù)載平衡裝置。除了使用MEP M0,這些不同設(shè)備500A-500N的每一個可以經(jīng)由諸如SNMP的網(wǎng) 絡(luò)管理協(xié)議提供指標(biāo)信息。如圖5A中所示,這些設(shè)備500可以包括用于經(jīng)由MIB 417提 供對象標(biāo)識符422A-422N的代理416。該示例的進(jìn)一步實(shí)施例并且如結(jié)合圖4所討論的, 使用管理器/代理通信模塊的設(shè)備200可以經(jīng)由網(wǎng)絡(luò)管理協(xié)議查詢?nèi)我庖粋€這樣的設(shè)備 500A-500N,以經(jīng)由MIB 417識別、收集和監(jiān)控所識別的對象。在一些情況中,設(shè)備200可以 使用SNMP來與一個或者多個設(shè)備500A-500N通信。在其他情況中,設(shè)備200可以使用另一 類型的網(wǎng)絡(luò)管理協(xié)議與另一個或者多個設(shè)備500A-500N通信。仍在另一個情況中,設(shè)備200 可以使用第三類網(wǎng)絡(luò)管理協(xié)議來與又一組一個或者多個設(shè)備500A-500N通信。設(shè)備200A-200N可以被認(rèn)為是與設(shè)備200同類或者相同類型的設(shè)備或者裝置。 在一個實(shí)施例中,設(shè)備200A-200N是設(shè)備200的相同產(chǎn)品族。在另一個實(shí)施例中,設(shè)備 200A-200N是設(shè)備200的相同裝置版本。在一個情況中,設(shè)備200和200A-220N由同一家公 司出品。在一些實(shí)施例中,設(shè)備200A-200N和設(shè)備200被配置、設(shè)計和構(gòu)建以使用預(yù)定協(xié)議 和/或通信模型進(jìn)行通信。在一個實(shí)施例中,設(shè)備200A-200N和設(shè)備200被配置、設(shè)計和構(gòu) 建為使用專用或者自定義的協(xié)議和/或通信模型。設(shè)備500A-500N可以被認(rèn)為是與設(shè)備200異類的或者不同類型的設(shè)備或者裝置。 在一個實(shí)施例中,設(shè)備500A-500N由與設(shè)備200不同的公司出品。在一些實(shí)施例中,設(shè)備 500A-500N和設(shè)備500不是被專有設(shè)計為使用預(yù)定的協(xié)議和/或通信模型進(jìn)行通信。在一 個實(shí)施例中,設(shè)備500A-500N和設(shè)備200不是被配置、設(shè)計和構(gòu)建來使用專用或者自定義協(xié) 議和/或通信模型。在一些情況中,設(shè)備500A-500N使用網(wǎng)絡(luò)管理協(xié)議而不是使用專用協(xié) 議來提供指標(biāo)到其他裝置、應(yīng)用或者服務(wù)。現(xiàn)在參考圖5B,描述用于使用多個協(xié)議識別、收集和監(jiān)控從異類網(wǎng)絡(luò)裝置和服 務(wù)器獲取的指標(biāo)的設(shè)備200的實(shí)施例。設(shè)備200可以具有被配置、構(gòu)建或者設(shè)計來提供 一個或者多個網(wǎng)絡(luò)104、104’、104”上的多個裝置的負(fù)載平衡的一個或者多個虛擬服務(wù)器 275A-275N。設(shè)備200可以使用一個或者多個負(fù)載監(jiān)控器405A-405N來監(jiān)控異類裝置的每 一個的負(fù)載。在一個實(shí)施例中,設(shè)備200監(jiān)控設(shè)備200A-200N的負(fù)載。設(shè)備200和/或負(fù) 載監(jiān)控器405使用MEP協(xié)議540來從一個或者多個設(shè)備200A-200N獲取指標(biāo)。在另一個實(shí) 施例中,設(shè)備200監(jiān)控設(shè)備500A-500N的負(fù)載。在其他實(shí)施例中,設(shè)備200監(jiān)控一個或者多 個服務(wù)器106的負(fù)載。仍在另一個實(shí)施例中,設(shè)備200監(jiān)控服務(wù)器群38中的服務(wù)器之間的 負(fù)載。設(shè)備200可以使用-個或者多個網(wǎng)絡(luò)管理協(xié)議來從服務(wù)器106、服務(wù)器群38和設(shè)備500A-500N獲取指標(biāo)。設(shè)備200經(jīng)由MEP協(xié)議540和網(wǎng)絡(luò)管理協(xié)議從多種諸如設(shè)備500A-500N和服務(wù)器 106的異類裝置和同類裝置200A-200N收集指標(biāo)。設(shè)備200將指標(biāo)保存在包括諸如存儲器 中和/或磁盤上的文件、數(shù)據(jù)庫、對象或者數(shù)據(jù)結(jié)構(gòu)的任一類型和形式的數(shù)據(jù)存儲元件的 GSLB (全局服務(wù)器負(fù)載平衡)或者全局指標(biāo)表530中。vServer 275和/或負(fù)載監(jiān)控器405 使用來自GSLB指標(biāo)530的一個或者多個指標(biāo)來提供服務(wù)器、服務(wù)器群、虛擬服務(wù)器和負(fù)載 平衡裝置的全局負(fù)載平衡。設(shè)備200可以收集和監(jiān)控經(jīng)由MEP協(xié)議540從一個或者多個設(shè)備200A-200N獲取 的指標(biāo)并且將它們保存在基于MEP的指標(biāo)表510A-510N中。在一個實(shí)施例中,設(shè)備200使 用第一類或者第一版本的MEP協(xié)議540來獲取來自第一設(shè)備200A的指標(biāo)并且將指標(biāo)保存 在第一表510A中。在另一個實(shí)施例中,設(shè)備200使用第二類或者第二版本的MEP協(xié)議M0’ 來獲取來自第二設(shè)備200N的指標(biāo)并且將指標(biāo)保存在第二表510N中。設(shè)備200可以使用任一類型和形式的網(wǎng)絡(luò)管理協(xié)議(NMP)收集和監(jiān)控來自設(shè)備 500A-500N的指標(biāo)并且將該指標(biāo)保存在基于NMP的指標(biāo)表520A-520N中。在一個實(shí)施例中, 設(shè)備200使用SNMP協(xié)議和通信模型來獲取來自第二類型設(shè)備500A的指標(biāo)并且將指標(biāo)保存 在基于NMP的指標(biāo)表520A中。在一些實(shí)施例中,設(shè)備200使用諸如CIMP的第二類網(wǎng)絡(luò)管 理協(xié)議來從第二或者第三類設(shè)備500N獲取并且將指標(biāo)保存在基于NMP的指標(biāo)表520N中。 在一些實(shí)施例中,設(shè)備500A是與設(shè)備500N不同類型的設(shè)備,但是兩種設(shè)備都支持同樣的網(wǎng) 絡(luò)管理協(xié)議用于提供指標(biāo)。設(shè)備200還可以使用任一類型和形式的網(wǎng)絡(luò)管理協(xié)議(NMP)從服務(wù)器106和/或 服務(wù)器群38收集和監(jiān)控指標(biāo)并且將指標(biāo)保存在基于NMP的指標(biāo)表520A’ -520N’中。在一 個實(shí)施例中,設(shè)備200使用諸如SNMP的同樣的網(wǎng)絡(luò)管理協(xié)議用于從服務(wù)器106獲取指標(biāo), 該網(wǎng)絡(luò)管理協(xié)議同樣用于從設(shè)備500A-500N的其中一個獲取指標(biāo)。在另一個實(shí)施例中,設(shè) 備200使用和設(shè)備200從設(shè)備500獲取指標(biāo)所使用的不相同類型的網(wǎng)絡(luò)管理協(xié)議來從服務(wù) 器獲取指標(biāo)。設(shè)備200可以將對于GSLB指標(biāo)520的指標(biāo)保存在對于每個裝置的單個表中。例 如,設(shè)備200可以將用于第一設(shè)備200A的指標(biāo)保存在第一指標(biāo)表5IOA中,并且將來自第二 設(shè)備520A的指標(biāo)保存在第二指標(biāo)表520A中。設(shè)備200可以將來自服務(wù)器106的指標(biāo)保存 在服務(wù)器指標(biāo)表520A’中。在另一個實(shí)施例中,設(shè)備200將來自服務(wù)器群38的指標(biāo)保存到 用于服務(wù)器群的指標(biāo)表520N’中。設(shè)備200可以將GSLB指標(biāo)520的指標(biāo)保存在用于每一類協(xié)議的單個表中。例如, 設(shè)備200可以將來自多個設(shè)備200A-200N的所有基于MEP的指標(biāo)保存在第一指標(biāo)表中。在 一些實(shí)施例中,設(shè)備200將基于第一類或者第一版本的MEP協(xié)議的指標(biāo)保存在第一表510A 中并且將基于第二類或者第二版本的MEP協(xié)議的指標(biāo)保存在第二表510N中。設(shè)備200可 以將來自一個或者多個設(shè)備500A-500N的所有基于SNMP的指標(biāo)保存在第二指標(biāo)表中。在 另一個例子中,設(shè)備可以將來自一個或者多個設(shè)備500A-500N的根據(jù)第二類網(wǎng)絡(luò)管理協(xié)議 的指標(biāo)保存在第三指標(biāo)表中。GSLB指標(biāo)530可以包括涉及或者關(guān)聯(lián)到設(shè)備200、500、服務(wù)器106或者服務(wù)器群 38的操作和/或性能特征的任一類型和形式的數(shù)據(jù)、統(tǒng)計、狀態(tài)或者信息。全局指標(biāo)530可以包括涉及設(shè)備200、500、和/或服務(wù)器106或者服務(wù)器群38的網(wǎng)絡(luò)的任一類型和形式 的數(shù)據(jù)、統(tǒng)計、狀態(tài)或者信息。全局指標(biāo)530可以包括涉及由設(shè)備200A-200N、500A-500N所 負(fù)載平衡的服務(wù)270A-270N的任一類型和形式的數(shù)據(jù)、統(tǒng)計、狀態(tài)或者信息。在一些實(shí)施例 中,全局指標(biāo)530包括有關(guān)連接到設(shè)備200A-200N、500A-500N的任意客戶機(jī)102和/或服 務(wù)器106的操作和/或性能數(shù)據(jù)。在一個實(shí)施例中,設(shè)備200A-200N、500A-500N確定關(guān)于 其連接的或服務(wù)的任一客戶機(jī)102或者服務(wù)器106的操作和/或性能信息和建立有關(guān)這些 客戶機(jī)102和/或服務(wù)器106的指標(biāo)。在這些實(shí)施例中,設(shè)備200A-200N、500A-500N可以 提供這些指標(biāo)到全局負(fù)載平衡設(shè)備200。在一些實(shí)施例中,操作和/或性能特征提供包括有關(guān)設(shè)備或者服務(wù)器的任意以下 的信息的指標(biāo)1)負(fù)載;幻連接的數(shù)量和類型;幻資源使用;4)資源可用性力)未完成請求 的數(shù)量;6)發(fā)送的請求的數(shù)量;7)服務(wù)的客戶機(jī)的數(shù)量;8)響應(yīng)時間信息,包括平均和歷 史響應(yīng)時間;9)連接的錯誤、狀態(tài)、性能或者帶寬,和10)會話的數(shù)量,和其狀況或者狀態(tài)。 在另一個實(shí)施例中,指標(biāo)530包括有關(guān)設(shè)備200A-200N、500A-500N的任意IP或者網(wǎng)絡(luò)層信 息的、或者設(shè)備200A-200N、500A-500N的連接、或者設(shè)備200A-200N、500A_500N所服務(wù)的客 戶機(jī)和/或服務(wù)器的連接的信息。例如,經(jīng)由指標(biāo)530提供的信息可以包括設(shè)備200A-200N、 500A-500N的路由表用于執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換,諸如用于SSL VPN連接。經(jīng)由配置接口 425,用戶可以從全局指標(biāo)530選擇一個或者多個指標(biāo)430用于負(fù)載 監(jiān)控和確定負(fù)載440。設(shè)備200可以接收識別來自全局指標(biāo)530的一個或者多個指標(biāo)的用 戶選擇的信息。設(shè)備可以接收第一類型設(shè)備的一個或者多個基于MEP的指標(biāo)510的用戶選 擇。設(shè)備可以接收第二類型的設(shè)備的一個或者多個基于NMP的指標(biāo)520的用戶選擇。設(shè)備 還可以接收用于任一服務(wù)器或者服務(wù)器群的一個或者多個基于NMP的指標(biāo)520’的用戶選 擇。用戶可以從全局指標(biāo)530選擇指標(biāo)430的任一組合來配置設(shè)備200以對應(yīng)于用戶選擇 的指標(biāo)來執(zhí)行異類裝置的負(fù)載平衡。在一個實(shí)施例中,設(shè)備200使用與任意一個或者多個用戶選擇的指標(biāo)430相組合 的設(shè)備建立的指標(biāo)來負(fù)載平衡。例如,設(shè)備200可以對于任一設(shè)備200、500或者服務(wù)器106 收集和監(jiān)控連接數(shù)量、響應(yīng)時間、帶寬和分組的數(shù)量并且使用具有任意用戶選擇的指標(biāo)的 這些指標(biāo)來用于負(fù)載平衡。經(jīng)由配置接口 425并且如結(jié)合圖4所討論的,設(shè)備200可以接 收來自用戶的信息,其識別、指定或者建立用于任一設(shè)備建立的指標(biāo)和/或用戶選擇的指 標(biāo)的權(quán)重435和/或閾值437。盡管圖5A-5B的系統(tǒng)總的關(guān)于全局服務(wù)器負(fù)載平衡討論,但是這些系統(tǒng)可以用于 本地負(fù)載平衡。設(shè)備200可以使用從使用多個協(xié)議的異類裝置、服務(wù)器或者服務(wù)獲取的指 標(biāo)來負(fù)載平衡一個或者多個服務(wù)或者服務(wù)器。使用此處描述的技術(shù),設(shè)備200可配置地并 且靈活地使用由設(shè)備支持的指標(biāo)交換協(xié)議和/或由網(wǎng)絡(luò)資源支持的更普遍的網(wǎng)絡(luò)管理協(xié) 議來從任一網(wǎng)絡(luò)資源獲取指標(biāo),網(wǎng)絡(luò)資源諸如系統(tǒng)、子系統(tǒng)、應(yīng)用、服務(wù)、裝置等等。此外,設(shè) 備200可配置地允許用戶從這些異類網(wǎng)絡(luò)資源選擇可用指標(biāo)的任一組合來執(zhí)行一個或者 多個服務(wù)的負(fù)載監(jiān)控和負(fù)載平衡。F、故障切換時使用備份虛擬服各器的指標(biāo)通過多個虛擬服各器講行負(fù)載平衡現(xiàn)在參考圖6A和6B,描述故障切換時用于進(jìn)行負(fù)載平衡的多種系統(tǒng)和方法。一些 方面中,圖6A圖6B表現(xiàn)故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器執(zhí)行負(fù)載平衡的方法和系統(tǒng)。示出了多個實(shí)施例,其中,虛擬服務(wù)器275可以關(guān)聯(lián)或連接到一個 或多個備份虛擬服務(wù)器276。一些方面中,虛擬服務(wù)器275和與虛擬服務(wù)器275關(guān)聯(lián)的多 個備份虛擬服務(wù)器276可以被系統(tǒng)或者設(shè)備200視為一個邏輯單元或邏輯鏈,其中,任何備 份虛擬服務(wù)器276可以接管或者執(zhí)行虛擬服務(wù)器275的任何功能。有時,也把虛擬服務(wù)器 275稱為vS 275或vServer 275。類似地,有時也把備份虛擬服務(wù)器276稱為BvS 276或 BvServer 276。多個實(shí)施例中,BvS 276可以包括vS 275的任何和全部特征以及任何和全 部功能。圖6A示出故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器執(zhí)行負(fù) 載平衡的設(shè)備200的若干實(shí)施例??傮w而言,多個客戶機(jī)代理120A-120A分別運(yùn)行在客 戶機(jī)102A-102N上。多個服務(wù)器106A-106N分別在每個服務(wù)器106A-106N上運(yùn)行服務(wù) 270A-270N。客戶機(jī)102和服務(wù)器106之間的通信經(jīng)過網(wǎng)絡(luò)104和104,通過設(shè)備200、200' 和200〃之一。有時設(shè)備200、200'和200〃稱為設(shè)備200。一些實(shí)施例中,設(shè)備200包括 各種結(jié)構(gòu)和設(shè)置的連接管理機(jī)制710、一個或多個vServer 275和與vServer 275關(guān)聯(lián)的一 個或多個BvServer 276。連接管理機(jī)制710也稱為CMM 710,其包括用于控制和管理設(shè)備200內(nèi)的通信的軟 件、硬件或軟硬件的任意組合。一些實(shí)施例中,CMM 710包括用于接收、導(dǎo)引或者重定向來 自客戶機(jī)102或服務(wù)器106的請求、數(shù)據(jù)或指令的邏輯、函數(shù)或軟件應(yīng)用。一些實(shí)施例中, 連接管理機(jī)制710接收或攔截客戶機(jī)102A-102N和一個或多個服務(wù)270A-270N之間的傳輸 層連接請求或通信。連接管理機(jī)制710可包括應(yīng)用、程序、服務(wù)、進(jìn)程、任務(wù)、線程或任何類 型和形式的可執(zhí)行指令。其他實(shí)施例中,連接管理機(jī)制710標(biāo)示、確定或選擇vServer 275 用于處理從客戶機(jī)102或服務(wù)器106接收到的通信。一些實(shí)施例中,連接管理機(jī)制710標(biāo) 示、確定或選擇BvS 276用于處理從客戶機(jī)102或服務(wù)器106接收到的通信。一些實(shí)施例中,連接管理機(jī)制710確定是否達(dá)到或超過了最大動態(tài)連接閾值。連 接管理機(jī)制710可以確定是否超過了最大動態(tài)連接閾值。若干實(shí)施例中,CMM 710還可以確 定是否確立第二虛擬服務(wù)器275N或備份虛擬服務(wù)器276N,例如瀉出vServer或BWerver。 在檢測到多個第一 vServer 275A或BWerver 276A的活動傳輸層連接超過閾值(比如動 態(tài)調(diào)整的最大連接閾值)時,連接管理機(jī)制710可以將接收到的傳輸層連接請求導(dǎo)引、傳輸 或者提供給第二 vServer 275N或第二 Bvkrver 276N進(jìn)行處理。一些實(shí)施例中,CMM 710 使用動態(tài)調(diào)整的最大連接閾值來確定何時自動把連接請求從第一 vServer 275A瀉出到備 份虛擬服務(wù)器276A或第二 vServer 275N。一些實(shí)施例中,CMM 710使用動態(tài)調(diào)整的最大連 接閾值來確定何時把意在發(fā)送給第一 vServer 275A的請求重定向到第一備份虛擬服務(wù)器 276A、BvS 276N 或任何其他 vS 275 或 BvS 276。一些實(shí)施例中,負(fù)載監(jiān)控器405、CMM 710或設(shè)備200中的任一個可以把具體BvS 276A和具體vS 275A關(guān)聯(lián)。一些實(shí)施例中,檢測或識別到vS 275A不可用,之前由vS 275A 處理的連接請求或通信業(yè)務(wù)自動重定向或重分配給BvS 276A。這種情況下,BvS 276A接管 之前由vS 275A處理的連接請求或通信業(yè)務(wù)的處理。多個實(shí)施例中,在接收到vS 275A不 再可用的信息后,負(fù)載監(jiān)控器405、CMM 710或設(shè)備200動態(tài)地或自動地把之前由vS 275A 處理的連接請求或通信業(yè)務(wù)重定向到BvS 276A。多個實(shí)施例中,負(fù)載監(jiān)控器405、CMM 710 或設(shè)備200把BvS 276A分配為用于處理之前由vS 275A處理的連接請求或業(yè)務(wù)的第一備份虛擬服務(wù)器。某些實(shí)施例中,檢測或識別到BvS 276A不可用的情況下,負(fù)載監(jiān)控器405、 CMM 710或設(shè)備200把BvS 276B分配為用于接管之前由BvS 276A處理的連接請求或通信 業(yè)務(wù)的第二備份虛擬服務(wù)器。多個實(shí)施例中,檢測或識別到vS 275A不可用的情況下,負(fù)載 監(jiān)控器405、CMM 710或設(shè)備200自動地把之前由vS 275A處理的連接請求或業(yè)務(wù)重定向到 BvS 276A。一些實(shí)施例中,檢測或識別到BvS 276A不可用的情況下,負(fù)載管理器405、CMM 710或設(shè)備200把之前由BvS 276A處理的連接請求或業(yè)務(wù)重定向到BvS 276B。其他實(shí)施例中,連接管理機(jī)制710保持客戶機(jī)102或服務(wù)器106以及處理客戶機(jī) 102或服務(wù)器106的請求的vServer 275或BWerver 276之間的連接或會話持續(xù)性。一 些實(shí)施例中,即便第一 vServer 275A的活動連接的數(shù)量沒有超過最大連接閾值720,連接 管理機(jī)制710也可選擇泄出vServer 275N來處理客戶機(jī)請求。其他實(shí)施例中,即便來自 其他客戶機(jī)的請求被導(dǎo)引到泄出vServer 275N或BWerver 276,連接管理機(jī)制710選擇 第一 vServer 275A來處理客戶機(jī)請求。一些實(shí)施例中,連接管理機(jī)制710可以基于哪個 vServer 275最近處理了來自客戶機(jī)102或服務(wù)器106的請求來選擇第一 vServer 275A 或第二 vServer 275N。若干實(shí)施例中,連接管理機(jī)制710可以基于哪個vServer 275或 BVServer276最近處理了來自客戶機(jī)102或服務(wù)器106的請求來選擇第一 BWerver 276A 或第二 BvServer 276N。檢測到已超過第一 vServer 275A和/或第二 vServer 275N的動態(tài)調(diào)整的最大連 接閾值720時,一些實(shí)施例中,連接管理機(jī)制可以確定建立泄出虛擬服務(wù)器275或備份虛 擬服務(wù)器276。檢測到已超過第一 vServer 275A和/或第二 vServer 275N的動態(tài)調(diào)整的 最大連接閾值720時,一些實(shí)施例中,連接管理機(jī)制可以確定不建立另一個泄出虛擬服務(wù) 器275N,而是把客戶機(jī)102直接重定向到服務(wù)器106或者以其他方式繞過設(shè)備200。有時, 檢測到已超過第一 vServer 275A和/或第二 vServer 275N或BvServer 276A的動態(tài)調(diào) 整的最大連接閾值720時,連接管理機(jī)制710可以決定不建立另一個泄出虛擬服務(wù)器275N 或BWerver 276N,而是把客戶機(jī)102直接重定向到服務(wù)器106或者以其他方式繞過設(shè)備 200。例如,連接管理機(jī)制710可以確定已達(dá)到了泄出vServer 275N或第一 Bvkrver 276 的動態(tài)調(diào)整的最大連接閾值720B,并可以重定向客戶機(jī)102,以繞過設(shè)備200,而不是建立 第三vServer 275N作為泄出或第二 BvServer 276。一些實(shí)施例中,檢測到已超過第一 vS 275A和/或第二 vS 275N的動態(tài)調(diào)整的最大連接閾值720時,連接管理機(jī)制可以決定建立 另一個泄出BvS 276N。這些實(shí)施例中,連接管理機(jī)制可以響應(yīng)于客戶機(jī)的連接請求向客戶 機(jī)102發(fā)送讓客戶機(jī)102連接的重定向統(tǒng)一資源定位器(URL)。URL 760可以識別任一個 服務(wù)器106或服務(wù)270。特定vS 275被檢測為不可用時與該vS 275關(guān)聯(lián)的可接管并實(shí)現(xiàn)特定vS 275的 任何功能的任一個vS 275或BvS 276可被視為和特定vS 275關(guān)聯(lián)的邏輯單元或邏輯鏈的 一部分。一些實(shí)施例中,負(fù)載監(jiān)控器405、CMM 710或設(shè)備200把vS 275A和與vS 276A關(guān) 聯(lián)的多個BvS 276視為一個單個邏輯單元或一個單個邏輯鏈。和vS 275A關(guān)聯(lián)的單個邏輯 單元或單個邏輯鏈的每個單獨(dú)部分可以執(zhí)行VS275A或同一邏輯單元或邏輯鏈中的任何其 他vS 275或BvS 276的任何功能。多個實(shí)施例中,vS 275可以由于引起vS 275停止工作的技術(shù)問題而被檢測為不 可用。若干實(shí)施例中,vS 275由于vS 275達(dá)到了 vS 275可以處理的最大業(yè)務(wù)容量而被檢測為不可用。這些實(shí)施例中,即便vS 275依然可工作,仍可將vS 275檢測為不可用。一些 實(shí)施例中,vS 275被檢測為不可用,雖然進(jìn)行了檢測,仍然保持標(biāo)記該vS 275仍可用的標(biāo) 志或信號。多個實(shí)施例中,即便vS 275被檢測為不可用,雖然進(jìn)行了檢測,CMM 710、封裝 監(jiān)控器405或設(shè)備200中的任一個或任一組合可以保持vS 275仍然可用的狀態(tài)、信號或標(biāo)
ο一些實(shí)施例中,在vS 275A仍被檢測為可用時,和vS 275A關(guān)聯(lián)的BvS 276A收集、 產(chǎn)生或保持有關(guān)和vS 275A關(guān)聯(lián)的業(yè)務(wù)或請求的指標(biāo),一些實(shí)施例中,在vS 275A仍被檢測 為可用時,包括vS 275A的設(shè)備200收集、產(chǎn)生或保持有關(guān)和vS 275A關(guān)聯(lián)的業(yè)務(wù)或請求的 指標(biāo),若干實(shí)施例中,當(dāng)vS 275A被檢測為不可用時,設(shè)備200或BvS 276A獲得由設(shè)備200 或BvS 276A收集、產(chǎn)生或保持的指標(biāo),并使用該指標(biāo)確定多個負(fù)載服務(wù)器275的負(fù)載。多 個實(shí)施例中,當(dāng)vS 275A被檢測為不可用時,和vS 275A關(guān)聯(lián)的邏輯鏈或邏輯單元的任何部 分可獲得由邏輯鏈或邏輯單元的任何部分收集、產(chǎn)生或保持的指標(biāo)并使用該指標(biāo)確定多個 負(fù)載服務(wù)器275的負(fù)載。許多實(shí)施例中,由于來自和vS 275A關(guān)聯(lián)的BvS 276的指標(biāo)被用于確定多個負(fù)載 服務(wù)器275的負(fù)載,其請求被負(fù)載平衡的用戶不經(jīng)歷任何由于vS 275A被檢測為不可用而 引起的延遲。利用此處所述的系統(tǒng)和方法,多個虛擬服務(wù)器275的虛擬服務(wù)器275A可以出 故障或不可用,而不會影響負(fù)載平衡或者即便是臨時引起延遲。因而,虛擬服務(wù)器275A出 故障不會影響負(fù)載平衡,這是由于和虛擬服務(wù)器275A關(guān)聯(lián)的BvS的指標(biāo)幫助保持所有虛擬 服務(wù)器275的負(fù)載平衡,雖然一些一個或多個虛擬服務(wù)器275不可用。一些實(shí)施例中,設(shè)備200使用來自任何多個虛擬服務(wù)器275或備份虛擬服務(wù)器276 的指標(biāo)來確定多個虛擬服務(wù)器275的負(fù)載。多個實(shí)施例中,設(shè)備200、負(fù)載監(jiān)控器405或CMM 710使用第一虛擬服務(wù)器275A的一部分指標(biāo)和第一備份虛擬服務(wù)器276A的一部分指標(biāo)來 確定多個虛擬服務(wù)器275的負(fù)載。多個實(shí)施例中,設(shè)備200、負(fù)載監(jiān)控器405或CMM 710組合 任何多個虛擬服務(wù)器275的指標(biāo)和備份虛擬服務(wù)器276的指標(biāo)來確定多個虛擬服務(wù)器275 的負(fù)載。有時,可以組合來自vS 275A和多個BvS 276的指標(biāo)或?qū)ζ淙∑骄鶃泶_定多個vS 275的負(fù)載,其中,vS 275A是多個的一部分。一些實(shí)施例中,設(shè)備200、負(fù)載監(jiān)控器405或 CMM 710使用來自vS 275被檢測為不可用時負(fù)責(zé)接管vS 275的功能的任何多個BvS 276 的指標(biāo)來確定多個vS 275的負(fù)載。許多實(shí)施例中,設(shè)備200、負(fù)載監(jiān)控器405或CMM 710通 過組合來自vS 275被檢測為不可用時負(fù)責(zé)接管vS 275的功能的任何多個BvS 276的指標(biāo) 或?qū)ζ溥M(jìn)行平均來確定多個vS 275的負(fù)載。另一個實(shí)施例中,設(shè)備200和/或連接管理機(jī)制管理多個vServer 275A-275N的 活動連接數(shù)量并對其執(zhí)行動態(tài)泄出技術(shù)。一個實(shí)施例中,第二 vServer 275B可以管理從多 個客戶機(jī)102A-102N到第二組服務(wù)270A' -270N'的連接。一些實(shí)施例中,設(shè)備200監(jiān)控 第二 vServer 275B的第二動態(tài)最大連接閾值720B。一個實(shí)施例中,第二 vServer 275B可 以作為第一 vServer 275N或第三vServer的泄出vkrver。監(jiān)控代理405或負(fù)載監(jiān)控器405可用于檢測或識別可用的vServer 275或 BvServer 276。監(jiān)控代理還可用于檢測或識別不可用的vS 275或BvS 276。一些實(shí)施例 中,CMM 710可以包括監(jiān)控代理405或包括監(jiān)控代理405的任何和所有功能。多個實(shí)施例 中,監(jiān)控代理405可以包括CMM 710或包括CMM 710的任何和全部功能。一些實(shí)施例中,監(jiān)控代理405可用于確立或保持vServer 275或BWerver 276的狀態(tài)為可用或不可用。多個實(shí)施例中,監(jiān)控代理405可以識別第一 vS 275A和被識別或選擇作為第一 vS 275A的備份虛擬服務(wù)器的多個BWerver 276。一些實(shí)施例中,監(jiān)控代理405或CMM 710把 第一 vServer 275A和與第一 vServer 275A關(guān)聯(lián)的多個BvServer 276標(biāo)識為邏輯單元,或 者作為一個單一系統(tǒng),其中,Werver 275A或與vServer 275A關(guān)聯(lián)的任一個BvServer 276 可以執(zhí)行第一 vServer 275A的任何功能。多個實(shí)施例中,監(jiān)控代理405或CMM 710標(biāo)識或 者確立與第一 vServer 275A關(guān)聯(lián)的多個BvServer 276之一接管之前由第一 vServer 275 執(zhí)行的功能的順序。某些實(shí)施例中,與第一 vServer 275A關(guān)聯(lián)的多個BWerver 276之一 可以提供用于確定由包括第一 vServer 275和BWerver 276的設(shè)備200負(fù)載平衡的多個 服務(wù)器的負(fù)載的指標(biāo)。一些實(shí)施例中,如果第一 vServer 275A不可用或被識別為不可用,那么負(fù)載監(jiān)控 器405、CMM 710或設(shè)備200可以從多個虛擬服務(wù)器以及指定用于執(zhí)行由第一 vServer 275A 執(zhí)行的功能的兩個備份虛擬服務(wù)器第一 BvS 276A和第二 BvS 276B中標(biāo)識第一 vServer 275A。若干實(shí)施例中,負(fù)載監(jiān)控器405、CMM 710或設(shè)備200可以檢測或識別第一虛擬服務(wù) 器275A不可用,并且響應(yīng)于該檢測或識別,保持第一 vServer 275A的狀態(tài)為可用。多個實(shí) 施例中,負(fù)載監(jiān)控器405、CMM 710或設(shè)備200從第一 BvS 276A獲得指標(biāo),并使用從第一 BvS 276A獲得的指標(biāo)確定多個虛擬服務(wù)器的負(fù)載。一些實(shí)施例中,負(fù)載監(jiān)控器405可以使用來 自第一 BvS 276A的指標(biāo)確定第一 vServer 275A的負(fù)載,該第一 vServer 275A被識別為不 可用。多個實(shí)施例中,第一 vServer 275A和第一 BvS 276A都被識別或檢測為不可用時,保 持第一 vServer 275A的狀態(tài)為可用,并且用來自第二 BvS 276B的指標(biāo)確定vServer 275A 作為其一部分的多個虛擬服務(wù)器的負(fù)載。如果第一BvS 276A被識別為不可用并且vServer 275A被識別為不可用,可以選擇第二 BvS 276B。多個實(shí)施例中,第一 vS 275A可以具有分 配用于執(zhí)行第一 vS 275A的功能并提供用于確定vS 275A是其一部分的多個虛擬服務(wù)器的 負(fù)載的指標(biāo)的任何多個BvS 276。仍然參看圖6A,設(shè)備200可包括CMM 710、兩個虛擬服務(wù)器vS 275A和vS 275B以 及兩個備份虛擬服務(wù)器BvS 276A和BvS 276B。BvS 276A可以選擇作為vServer 275A的 主備份虛擬服務(wù)器,BvS 276B可以選擇作為vServer 275B的主備份虛擬服務(wù)器。監(jiān)控代理 405可以監(jiān)控vS 275A和vS 275B以及vS 275A和vS 275B的狀態(tài)。此外,監(jiān)控代理405可 以把vS 275A和BvS 276A視為單個邏輯單元,其中,vS 275A和BvS 276A中的一個可以執(zhí) 行在vS 275A可用時vS 275A通常執(zhí)行的功能。一些實(shí)施例中,如果監(jiān)控代理405檢測到 vS 275A不可用,那么監(jiān)控代理可以從vS 275B獲得指標(biāo)以確定vS 275A和vS 275B的負(fù) 載。多個實(shí)施例中,監(jiān)控代理405在識別vS 275A不可用之后,可以從BvS 276A獲得指標(biāo) 并使用指標(biāo)來確定VS275B和BvS 276A的負(fù)載,同時保持vS 275A的狀態(tài)為可用。某些實(shí) 施例中,負(fù)載監(jiān)控器405A可以識別vServer 275B為不可用的,相應(yīng)于該識別,保持vServer 275B的狀態(tài)為可用,響應(yīng)于該識別,從BvS 276B獲得指標(biāo)并使用該指標(biāo)來確定vS 275A和 vS 275B的負(fù)載。若干實(shí)施例中,BvS 276B和vS 275B可以被負(fù)載監(jiān)控器405視為或識別 為單個單元,其中,BvS 276B或vS 275B之一被稱為vS 275B并且可以執(zhí)行虛擬服務(wù)器vS 275B的功能。圖6A也示出包括多個虛擬服務(wù)器vS 275以及多個備份虛擬服務(wù)器BvS276的設(shè)備200'。虛擬服務(wù)器vS 275A、vS 275B、vS 275C到vS 275N(其中N可以為任何數(shù)或符 號)由兩行虛擬服務(wù)器備份,第一行有備份虛擬服務(wù)器BvS 276A、BvS 276B到BvS 276N,第 二行有備份虛擬服務(wù)器BvS 276C、BvS 276D到BvS 276N,其中N可以為任何數(shù)或符號。虛 擬服務(wù)器vS 275A和vS 275B具有指定的備份虛擬服務(wù)器BvS 276A。此外,vS 275B和vS 275C由BvS276B備份,并且vS 275C到vS 275N由BvS 276N備份,其中N可以任何數(shù)字或 符號。圖 6A 還示出 BvS 276C 備份 BvS 276A, BvS 276D 備份 BvS 276B,以及 BvS 276N 備 份BvS 276N。因而,如果vS 276A或vS 276B中的一個被識別為不可用,那么可以指定BvS 276A來接管vS 276A或vS 276B的功能,如果BvS 276A被識別為不可用,可指定BvS 276C 來接管BvS 276A的功能。若干實(shí)施例中,負(fù)載監(jiān)控器405響應(yīng)于vS 275A或vS 275B不 可用的識別從BvS 276A獲得指標(biāo)并使用指標(biāo)來平衡vS 275A到vS 275N的負(fù)載,其中BvS 276B接管識別為不可用的vS 275的功能。圖6A還示出了設(shè)備200〃。設(shè)備200〃包括負(fù)載平衡虛擬服務(wù)器vS 275B、vS 275C、vS 27OT和vS 275E的虛擬服務(wù)器vS 276A以及CMM 710。BvS 276A是虛擬服務(wù)器vS 275B、vS 275C、vS 27OT和vS 275E的備份虛擬服務(wù)器。BvS 276B是虛擬服務(wù)器vS 275E 的備份虛擬服務(wù)器。此外,BvS 276C備份BvS 276A和BvS 276B。一些實(shí)施例中,如果vS 275B到vS 275E中的一個被識別為不可用,負(fù)載監(jiān)控器405可以從BvS 276A獲得指標(biāo)并使 用該指標(biāo)來確定vS 275B到vS 275E的負(fù)載。多個實(shí)施例中,如果vS 275B到vS 275E中 的一個被識別為不可用,負(fù)載監(jiān)控器405可以從BvS 276A獲得指標(biāo)并使用該指標(biāo)來確定vS 275B到vS 275E的負(fù)載,其中BvS 276A會替代或接管識別為不可用的vS 275的功能。若干實(shí)施例中,vS 275可以用一個或多個BvS 276備份虛擬服務(wù)器來備份,其 中任何BvS 276可以執(zhí)行vS 275的任何功能。一些實(shí)施例中,用一個BvS 276備份若干 vServer 275。多個實(shí)施例中,用第二 BvS 276備份第一 BvS 276,第二 BvS 276可提供用于 確定第一 BvS 276和第二 BvS 276備份的多個虛擬服務(wù)器的負(fù)載的指標(biāo)。虛擬服務(wù)器275 和備份虛擬服務(wù)器276可以采取任何設(shè)置或配置,而且可用于對任何多個服務(wù)器或任意量 或類型的網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行負(fù)載平衡?,F(xiàn)在參看圖6B,示出了包括用于故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個 虛擬服務(wù)器執(zhí)行負(fù)載平衡的多個步驟的方法。多個實(shí)施例中,所討論的方法用于故障切換 時使用備份虛擬服務(wù)器276A的指標(biāo)對多個虛擬服務(wù)器275進(jìn)行負(fù)載平衡,以對多個虛擬 服務(wù)器276和備份虛擬服務(wù)器276A進(jìn)行負(fù)載平衡,其中備份虛擬服務(wù)器276A接管多個vS 275中不可用的vS 275A的功能。簡單概括而言,在方法600的步驟605,負(fù)載平衡多個虛擬服務(wù)器的設(shè)備檢測到多 個虛擬服務(wù)器中的第一虛擬服務(wù)器不可用。一些實(shí)施例中,設(shè)備包括負(fù)載監(jiān)控器405,其檢 測虛擬服務(wù)器275的可用性。多個實(shí)施例中,設(shè)備包括對另外的多個虛擬服務(wù)器275進(jìn)行負(fù) 載平衡的多個虛擬服務(wù)器275。一些實(shí)施中,多個虛擬服務(wù)器中的第一虛擬服務(wù)器275A可 以是多個虛擬服務(wù)器275中的任一個虛擬服務(wù)器275。多個實(shí)施例中,虛擬服務(wù)器275A為 多個虛擬服務(wù)器275提供負(fù)載平衡。某些實(shí)施例中,設(shè)備可以為設(shè)備200、設(shè)備500、客戶機(jī) 102或服務(wù)器106。一些實(shí)施例中,多個備份虛擬服務(wù)器276和一個或多個虛擬服務(wù)器275 相關(guān)聯(lián)。在步驟610,設(shè)備識別到一個或多個備份虛擬服務(wù)器276的至少一個備份虛擬服務(wù)器276A可用。一些實(shí)施例中,多個備份虛擬服務(wù)器276可以為任何配置,例如圖6A所示 的多個設(shè)備200、200'和200"。一些實(shí)施例中,多個備份虛擬服務(wù)器276中的一些被指派 給任意配置的多個虛擬服務(wù)器275或與之關(guān)聯(lián)。多個實(shí)施例中,多個備份虛擬服務(wù)器276中 的一個備份虛擬服務(wù)器276被指派給特定的虛擬服務(wù)器275或特定的多個虛擬服務(wù)器275 或與之關(guān)聯(lián)。在一些實(shí)施例中,設(shè)備200識別到備份虛擬服務(wù)器276是可用的。若干實(shí)施例 中,和備份虛擬服務(wù)器276所處的機(jī)柜物理分離的設(shè)備識別到多個BvS 276中的至少一個 BvS 276A可用。一些實(shí)施例中,CMM 710或負(fù)載監(jiān)控器405識別到多個BvS 276中的BvS 276A可用。在步驟615,設(shè)備響應(yīng)于該識別保持第一虛擬服務(wù)器的狀態(tài)為可用。一些實(shí)施例 中,設(shè)備響應(yīng)于步驟610的識別保持第一虛擬服務(wù)器vS 275A的狀態(tài)為可用。多個實(shí)施例 中,設(shè)備響應(yīng)于步驟605的檢測保持第一虛擬服務(wù)器vS 275A的狀態(tài)為可用。多個實(shí)施例 中,設(shè)備響應(yīng)于步驟610的識別以及步驟605的檢測保持vS 275A的狀態(tài)為可用。某些實(shí) 施例中,設(shè)備在步驟615保持在步驟605被識別為不可用的vS 275A的狀態(tài)為可用,同時把 被檢測為可用的用于備份vS 275A的備份虛擬服務(wù)器BvS 276A當(dāng)作vS 275A,或者作為vS 275A的一部分,或者使用BvS 276A而不是vS 275A來執(zhí)行vS 275A的所有功能。一些實(shí) 施例中,設(shè)備可以把在步驟610識別為可用的BvS 276A視為或者當(dāng)作可以完全替代并執(zhí)行 vS 275A的所有功能或者作為vS 275A的一部分的另一個vS 275A。在步驟620,設(shè)備從一個或多個備份虛擬服務(wù)器的第一備份虛擬服務(wù)器獲得一個 或多個指標(biāo)。一些實(shí)施例中,在步驟620從BvS 276獲得的指標(biāo)可以包括vS 276的所有指 標(biāo)。多個實(shí)施例中,從BvS 276獲得的指標(biāo)是執(zhí)行負(fù)載平衡必須的所選指標(biāo)。多個實(shí)施例 中,在步驟620從BvS 276獲得的指標(biāo)包括用于執(zhí)行在步驟605被檢測為不可用的多個虛 擬服務(wù)器276的BvS 276、vS276A以及多個虛擬服務(wù)器276的任何功能所需的任何指標(biāo),以 確定多個虛擬服務(wù)器276的負(fù)載。一些實(shí)施例中,在步驟620從BvS 276獲得的指標(biāo)可包 括用于執(zhí)行在步驟605被檢測為不可用的多個虛擬服務(wù)器276的BvS 276,vS 276A以及多 個虛擬服務(wù)器276的任何功能所需的任何指標(biāo),以確定多個虛擬服務(wù)器276和BvS 276的 負(fù)載。在步驟625,設(shè)備使用從第一備份虛擬服務(wù)器獲得的指標(biāo)來確定多個虛擬服務(wù)器 的負(fù)載。一些實(shí)施例中,在步驟625確定多個虛擬服務(wù)器276的負(fù)載可包括BvS 276提供 指標(biāo),同時不考慮所進(jìn)行的檢測而保持在步驟605被檢測為不可用的第一虛擬服務(wù)器vS 275A的狀態(tài)為可用。一些實(shí)施例中,確定多個虛擬服務(wù)器的負(fù)載可包括輔助任意多個虛擬 服務(wù)器275的任意多個備份虛擬服務(wù)器276的負(fù)載。本領(lǐng)域的技術(shù)人員在不偏離本發(fā)明的精神和范圍的前提下可以進(jìn)行很多變化和 修改。因而,清楚的是,上述任何實(shí)施例可以與上述任意其他實(shí)施例組合用于表達(dá)本發(fā)明的 任何其他方面。因此,必須清楚理解所示說明性實(shí)施例僅是出于示范目的,而不應(yīng)被看作是 限制本發(fā)明,本發(fā)明由下面的權(quán)利要求限定。這些權(quán)利要求將被視作包括不僅它們在字面 上所闡述的,還包括非實(shí)質(zhì)區(qū)別的那些等價元素,盡管它們在除上面的說明中所顯示和描 述的其它方面上不完全相同。
權(quán)利要求
1.一種故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器進(jìn)行負(fù)載平衡的 方法,所述方法包括如下步驟(a)由設(shè)備檢測用設(shè)備進(jìn)行負(fù)載平衡的多個虛擬服務(wù)器中的第一虛擬服務(wù)器不可用, 第一虛擬服務(wù)器具有一個或多個備份虛擬服務(wù)器;(b)由設(shè)備識別第一虛擬服務(wù)器的一個或多個備份虛擬服務(wù)器中的至少第一備份虛擬 服務(wù)器可用;(c)由設(shè)備響應(yīng)于所述識別保持第一虛擬服務(wù)器的狀態(tài)為可用;(d)由設(shè)備從一個或多個備份虛擬服務(wù)器中的第一備份虛擬服務(wù)器獲得一個或多個指 標(biāo);以及(e)由設(shè)備使用從和第一虛擬服務(wù)器相關(guān)聯(lián)的第一備份虛擬服務(wù)器獲得的指標(biāo)確定多 個虛擬服務(wù)器的負(fù)載。
2.根據(jù)權(quán)利要求1所述的方法,包括由設(shè)備識別第一虛擬備份服務(wù)器不可用,并由設(shè) 備從第二備份虛擬服務(wù)器獲得指標(biāo)。
3.根據(jù)權(quán)利要求2所述的方法,包括由設(shè)備使用從第二備份虛擬服務(wù)器獲得的指標(biāo)確 定第二備份虛擬服務(wù)器和多個虛擬服務(wù)器的負(fù)載。
4.根據(jù)權(quán)利要求2所述的方法,包括由設(shè)備使用從第二備份虛擬服務(wù)器獲得的指標(biāo)確 定第二備份虛擬服務(wù)器的負(fù)載或者多個虛擬服務(wù)器的負(fù)載中的一個。
5.根據(jù)權(quán)利要求1所述的方法,包括由設(shè)備識別第一虛擬服務(wù)器可用。
6.根據(jù)權(quán)利要求5所述的方法,包括由設(shè)備使用從第一備份虛擬服務(wù)器獲得的指標(biāo)確 定多個虛擬服務(wù)器的負(fù)載。
7.根據(jù)權(quán)利要求5所述的方法,包括由設(shè)備繼續(xù)把指向第一虛擬服務(wù)器的請求發(fā)送到 第一備份虛擬服務(wù)器或第一虛擬服務(wù)器之一。
8.根據(jù)權(quán)利要求1所述的方法,其中步驟(e)包括由設(shè)備使用從多個備份虛擬服務(wù)器 中的一個或多個獲得的指標(biāo)確定多個虛擬服務(wù)器的負(fù)載。
9.根據(jù)權(quán)利要求1所述的方法,其中步驟(f)包括由設(shè)備的全局負(fù)載平衡虛擬服務(wù)器 確定多個虛擬服務(wù)器的負(fù)載。
10.根據(jù)權(quán)利要求1所述的方法,包括由設(shè)備或第二設(shè)備中的一個執(zhí)行第一虛擬服務(wù)器。
11.根據(jù)權(quán)利要求1所述的方法,其中步驟(d)包括由設(shè)備通過指標(biāo)交換協(xié)議或簡單網(wǎng) 絡(luò)管理協(xié)議(SNMP)獲得指標(biāo)之一。
12.根據(jù)權(quán)利要求1所述的方法,其中一個或多個指標(biāo)包括下列之一連接數(shù)量、發(fā)往 虛擬服務(wù)器的分組的數(shù)量或由虛擬服務(wù)器發(fā)送的分組的數(shù)量、由虛擬服務(wù)器負(fù)載平衡的服 務(wù)的響應(yīng)時間以及服務(wù)使用的網(wǎng)絡(luò)帶寬。
13.根據(jù)權(quán)利要求1所述的方法,包括由用戶識別要收集進(jìn)行負(fù)載平衡的第一虛擬備 份服務(wù)器或虛擬服務(wù)器之一的一個或多個指標(biāo)。
14.根據(jù)權(quán)利要求19所述的方法,包括由用戶標(biāo)識要分配給每個用戶選擇的指標(biāo)的權(quán) 重或閾值之一。
15.一種故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器進(jìn)行負(fù)載平衡的 系統(tǒng),所述系統(tǒng)包括設(shè)備,其對多個虛擬服務(wù)器進(jìn)行負(fù)載平衡,多個虛擬服務(wù)器中的第一虛擬服務(wù)器據(jù)具 有一個或多個備份虛擬服務(wù)器;設(shè)備的監(jiān)控代理,其檢測第一虛擬服務(wù)器不可用、識別一個或多個備份虛擬服務(wù)器中 的第一備份虛擬服務(wù)器可用并響應(yīng)于所述識別保持第一虛擬服務(wù)器的狀態(tài)為可用;設(shè)備的負(fù)載監(jiān)控器,其從多個一個或多個備份虛擬服務(wù)器中的第一備份虛擬服務(wù)器獲 得一個或多個指標(biāo)并使用從第一備份虛擬服務(wù)器獲得的指標(biāo)確定多個虛擬服務(wù)器的負(fù)載, 以確定第一虛擬服務(wù)器的負(fù)載。
16.
17.根據(jù)權(quán)利要求15所述的系統(tǒng),其中監(jiān)控代理還識別第一虛擬備份服務(wù)器不可用, 并且負(fù)載監(jiān)控器從第二備份虛擬服務(wù)器獲得指標(biāo)。
18.根據(jù)權(quán)利要求16所述的系統(tǒng),其中負(fù)載監(jiān)控器還使用從第二備份虛擬服務(wù)器獲得 的指標(biāo)確定第二備份虛擬服務(wù)器和多個虛擬服務(wù)器的負(fù)載。
19.根據(jù)權(quán)利要求16所述的系統(tǒng),其中負(fù)載監(jiān)控器還使用從第二備份虛擬服務(wù)器獲得 的指標(biāo)確定第二備份虛擬服務(wù)器的負(fù)載或多個虛擬服務(wù)器的負(fù)載之一。
20.根據(jù)權(quán)利要求15所述的系統(tǒng),其中監(jiān)控代理還識別第一虛擬服務(wù)器可用。
21.根據(jù)權(quán)利要求19所述的系統(tǒng),其中負(fù)載監(jiān)控器還使用從第一備份虛擬服務(wù)器獲得 的指標(biāo)確定多個虛擬服務(wù)器的負(fù)載。
22.根據(jù)權(quán)利要求19所述的系統(tǒng),其中負(fù)載監(jiān)控器還繼續(xù)把指向第一虛擬服務(wù)器的請 求發(fā)送到第一備份虛擬服務(wù)器或第一虛擬服務(wù)器之一。
23.根據(jù)權(quán)利要求15所述的系統(tǒng),其中負(fù)載監(jiān)控器使用從多個備份虛擬服務(wù)器中的一 個或多個獲得的指標(biāo)確定多個虛擬服務(wù)器的負(fù)載。
24.根據(jù)權(quán)利要求15所述的系統(tǒng),其中設(shè)備的全局負(fù)載平衡虛擬服務(wù)器確定多個虛擬 服務(wù)器的負(fù)載。
25.根據(jù)權(quán)利要求15所述的系統(tǒng),其中設(shè)備或第二設(shè)備之一執(zhí)行第一虛擬服務(wù)器。
26.根據(jù)權(quán)利要求16所述的系統(tǒng),其中負(fù)載監(jiān)控器通過指標(biāo)交換協(xié)議或者簡單網(wǎng)絡(luò)管 理協(xié)議(SNMP)獲得指標(biāo)之一。
27.根據(jù)權(quán)利要求16所述的系統(tǒng),其中一個或多個指標(biāo)包括下列之一連接數(shù)量、發(fā)往 虛擬服務(wù)器的分組的數(shù)量或由虛擬服務(wù)器發(fā)送的分組的數(shù)量、由虛擬服務(wù)器負(fù)載平衡的服 務(wù)的響應(yīng)時間以及服務(wù)使用的網(wǎng)絡(luò)帶寬。
28.一種故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器進(jìn)行負(fù)載平衡的 設(shè)備,所述設(shè)備包括用于由設(shè)備檢測經(jīng)負(fù)載平衡的多個虛擬服務(wù)器中的第一虛擬服務(wù)器不可用的裝置,第 一虛擬服務(wù)器具有一個或多個備份虛擬服務(wù)器;用于識別第一虛擬服務(wù)器的一個或多個備份虛擬服務(wù)器中的第一備份虛擬服務(wù)器可 用的裝置;用于響應(yīng)于所述識別保持第一虛擬服務(wù)器的狀態(tài)為可用的裝置;用于從一個或多個備份虛擬服務(wù)器中的第一備份虛擬服務(wù)器獲得一個或多個指標(biāo)的 裝置;以及用于使用從和第一虛擬服務(wù)器相關(guān)聯(lián)的第一備份虛擬服務(wù)器獲得的指標(biāo)確定多個虛 擬服務(wù)器的負(fù)載的裝置。
全文摘要
本發(fā)明提供用于故障切換時使用備份虛擬服務(wù)器的指標(biāo)通過多個虛擬服務(wù)器執(zhí)行負(fù)載平衡的方法和系統(tǒng)。此處描述的方法和系統(tǒng)提供如下系統(tǒng)和用于設(shè)備的方法檢測用設(shè)備進(jìn)行負(fù)載平衡的多個虛擬服務(wù)器中的第一虛擬服務(wù)器不可用,第一虛擬服務(wù)器具有一個或多個備份虛擬服務(wù)器;識別到第一虛擬服務(wù)器的一個或多個備份虛擬服務(wù)器中的至少第一備份虛擬服務(wù)器可用;響應(yīng)于所述識別保持第一虛擬服務(wù)器的狀態(tài)為可用;從一個或多個備份虛擬服務(wù)器中的第一備份虛擬服務(wù)器獲得一個或多個指標(biāo);以及使用從與第一虛擬服務(wù)器相關(guān)聯(lián)的第一備份虛擬服務(wù)器獲得的指標(biāo)確定多個虛擬服務(wù)器的負(fù)載。
文檔編號G06F9/50GK102132255SQ200980130117
公開日2011年7月20日 申請日期2009年5月27日 優(yōu)先權(quán)日2008年5月29日
發(fā)明者A·謝蒂, J·蘇甘蒂, M·拉加, S·卡馬斯, S·維朱諾夫 申請人:思杰系統(tǒng)有限公司