專利名稱:用于配置、應(yīng)用和管理網(wǎng)絡(luò)裝置的面向?qū)ο蟛呗员磉_(dá)式的系統(tǒng)和方法
技術(shù)領(lǐng)域:
0002本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)4支術(shù)。更具體地,本發(fā)明涉及用于 在網(wǎng)絡(luò)裝置中配置和應(yīng)用策略以及設(shè)置的系統(tǒng)和方法。
背景技術(shù):
0003網(wǎng)絡(luò)裝置和客戶機(jī)可以提供關(guān)于網(wǎng)絡(luò)業(yè)務(wù)量的大量復(fù)雜功 能。除了這些功能之外,網(wǎng)絡(luò)裝置還可以提供負(fù)載平衡、應(yīng)用安全、內(nèi) 容轉(zhuǎn)換、SSL卸載、加速和高速緩存。然而,隨著網(wǎng)絡(luò)裝置所提供的功能 的數(shù)量和復(fù)雜性增加,對(duì)于網(wǎng)絡(luò)裝置所需的配置的復(fù)雜性和數(shù)量也同樣增加。進(jìn)一步,網(wǎng)絡(luò)裝置的不適當(dāng)?shù)暮头亲顑?yōu)的配置可以導(dǎo)致性能下降、 網(wǎng)絡(luò)錯(cuò)誤、應(yīng)用不兼容和安全削弱。
0004許多網(wǎng)絡(luò)裝置可以使用策略框架來控制網(wǎng)絡(luò)裝置功能。在 這些框架中,策略可以指定專用于指定特定條件下行為的規(guī)則和動(dòng)作。
例如,使用HTTP業(yè)務(wù)量,策略框架可以允許用戶來配置基于HTTP流中 的內(nèi)容的裝置行為。根據(jù)要被分析的內(nèi)容和所尋找(sought )的行為, 這些策略可以變得復(fù)雜。因此,為了寫策略來指導(dǎo)裝置行為,需要策略 框架允許用戶將結(jié)構(gòu)應(yīng)用到網(wǎng)絡(luò)業(yè)務(wù)量。同樣需要網(wǎng)絡(luò)裝置隨后能夠以 有效方式來實(shí)現(xiàn)這樣結(jié)構(gòu)化的策略表達(dá)式。
0005此外,隨著網(wǎng)絡(luò)裝置功能的數(shù)量和復(fù)雜性增加,它們的配 置所需的策略的數(shù)量也可以增加。隨著策略數(shù)量的增加,同樣需要指定 和實(shí)現(xiàn)策略和策略組上的處理順序。
0006進(jìn)一步,網(wǎng)絡(luò)裝置中使用的一些期望的策略可能未必具有 所定義的結(jié)果。例如,策略可以響應(yīng)HTTP請(qǐng)求的給定字^:來指定行為, 但是在字段不存在或者字段具有不期望的值的情況中可以不被定義。雖 然在一些情況中有可能寫入通常被定義的策略,但是這可能要求附加的 策略或者更復(fù)雜的策略并且可能增加管理開銷。因此需要允許用戶對(duì)于 策略未被限定的情況指定一個(gè)或者多個(gè)動(dòng)作的配置系統(tǒng)。
發(fā)明內(nèi)容
0007本發(fā)明涉及用于配置和估計(jì)指導(dǎo)一個(gè)或者多個(gè)數(shù)據(jù)流的處 理的策略的系統(tǒng)和方法。所描述的配置接口用來允許用戶指定面向?qū)ο?的策略。這些面向?qū)ο蟮牟呗钥梢栽试S關(guān)于所接收的分組流的有效載荷 來應(yīng)用的任一數(shù)據(jù)結(jié)構(gòu),包括HTTP業(yè)務(wù)量的任一部分。配置接口除了在
執(zhí)行策略和策略組的順序。用于處理策略的系統(tǒng)和方法可以通過應(yīng)用可 能復(fù)雜的數(shù)據(jù)結(jié)構(gòu)以解構(gòu)數(shù)據(jù)流來允許面向?qū)ο蟮牟呗缘挠行幚?。裝 置也可以解釋和處理大量流量控制命令和策略組調(diào)用語句來確定在大量 策略和策略組上執(zhí)行的順序。這些策略配置和處理可以允許用戶來有效 配置涉及負(fù)載平4軒、VPNs、 SSL卸載、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、加速和高速緩存的復(fù)雜網(wǎng)絡(luò)行為。
0008在一個(gè)方面中,本發(fā)明涉及使用面向?qū)ο蟮谋磉_(dá)式來配置
網(wǎng)絡(luò)裝置的策略以指定網(wǎng)絡(luò)裝置所接收的分組流的有效載荷中的結(jié)構(gòu)的
系統(tǒng)和方法。在一個(gè)實(shí)施例中,該方法包括提供用于配置對(duì)于網(wǎng)絡(luò)裝 置的策略的配置接口;經(jīng)由配置接口接收對(duì)于策略的表達(dá)式,該表達(dá)式 識(shí)別(i )應(yīng)用到分組流的有效載荷的部分的對(duì)象類;和(ii )對(duì)象類的 成員;和經(jīng)由配置接口接收識(shí)別策略的動(dòng)作的信息,該動(dòng)作基于該表達(dá) 式的估計(jì)而被采取。
0009在第二方面中,本發(fā)明涉及用于在策略中應(yīng)用面向?qū)ο蟮?表達(dá)式來指定設(shè)備^^收的分組流的有效載荷中的結(jié)構(gòu)的系統(tǒng)和方法。在 一個(gè)實(shí)施例中,方法包括由設(shè)備識(shí)別策略來估計(jì)關(guān)于所接收的分組流 的有效負(fù)載,該策略指定(i )應(yīng)用到分組流的有效載荷的部分的對(duì)象類;、
(ii )對(duì)象類的成員和(iii )動(dòng)作;由設(shè)備選擇該對(duì)象類識(shí)別的有效載 荷的部分;由設(shè)備確定對(duì)于該對(duì)象類的成員的值;并且響應(yīng)所確定的值 來采取動(dòng)作。在另一個(gè)實(shí)施例中,該方法包括由設(shè)備識(shí)別包括面向?qū)?象表達(dá)式的策略來估計(jì)關(guān)于所接收的分組流的有效載荷;基于有效載荷 的部分,由設(shè)備分配值給面向?qū)ο蟊磉_(dá)式所指定的數(shù)據(jù)結(jié)構(gòu);由設(shè)備執(zhí) 行基于所分配的值的表達(dá)式的估計(jì);和響應(yīng)于該估計(jì),采取策略所指定 的動(dòng)作。對(duì)應(yīng)的系統(tǒng)可以包括用于接收分組流的分組處理器和用于估計(jì)
一個(gè)或者多個(gè)面向?qū)ο蟮牟呗圆⑶也蒦i相關(guān)動(dòng)作的策略引擎。
0010在第三個(gè)方面中,本發(fā)明涉及用于在策略中應(yīng)用面向?qū)ο?br>
的表達(dá)式來指定設(shè)備接收的分組流的有效載荷中的結(jié)構(gòu)的系統(tǒng)和方法。 在一個(gè)實(shí)施例中,方法包括由設(shè)備識(shí)別包括面向?qū)ο蟮谋磉_(dá)式的策略 來估計(jì)關(guān)于所接收的分組流的有效負(fù)載;基于有效載荷的部分,由設(shè)備 分配值給面向?qū)ο蟊磉_(dá)式所指定的數(shù)據(jù)結(jié)構(gòu);由設(shè)備執(zhí)行基于所分配的 值的表達(dá)式的估計(jì);和響應(yīng)于該估計(jì),改變所接收的分組流的部分;并 且由設(shè)備發(fā)送所改變的分組流。對(duì)應(yīng)的系統(tǒng)可以包括用于接收和轉(zhuǎn)發(fā)分 組流的分組處理器和用于估計(jì)一個(gè)或者多個(gè)面向?qū)ο蟮牟呗圆⑶也扇∠?關(guān)的動(dòng)作的策略引擎。
0011在第四方面中,本發(fā)明涉及用于在 略的元素(element)未被限定的情況下通過指定所采取的動(dòng)作來配置和/或處理網(wǎng)絡(luò)裝置所 使用的策略的系統(tǒng)和方法。在一個(gè)實(shí)施例中,方法包括提供用于配置
網(wǎng)絡(luò)裝置的策略的配置接口;由配置接口識(shí)別包括基于表達(dá)式的估計(jì)所 采取的第 一動(dòng)作的策略;經(jīng)由配置接口接收識(shí)別策略的第二動(dòng)作的信息,
如果策略的元素未被限定,則采取第二動(dòng)作。在另一個(gè)實(shí)施例中,在策 略的元素未被限定的情況下應(yīng)用指定所采取的動(dòng)作的策略的方法包括 由設(shè)備識(shí)別策略來估計(jì)關(guān)于所接收的分組流的有效負(fù)載,該策略指定(i ) 表達(dá)式;(ii )基于該表達(dá)式的估計(jì)所采取的第一動(dòng)作和(iii )如果策 略的元素未被限定所采取的第二動(dòng)作;由設(shè)備確定關(guān)于有效載荷的未被 限定的策略的元素;并且由設(shè)備響應(yīng)該確定來采取第二動(dòng)作。對(duì)應(yīng)的系 統(tǒng)可以包括用于接收分組流的分組處理器和用于估計(jì)一個(gè)或者多個(gè)策略 并且采糾目關(guān)動(dòng)作的策略引擎。
0012在第五方面中,本發(fā)明涉及用于在處理分組流中使用的策 略間配置和/或處理流量控制。在一個(gè)實(shí)施例中,方法包括^是供用于配 置網(wǎng)絡(luò)裝置的多個(gè)策略的配置接口 ,多個(gè)策略的至少 一個(gè)策略包括策略 識(shí)別符;經(jīng)由配置接口接收識(shí)別多個(gè)策略的第一策略的信息,第一策略 識(shí)別(i )包括第一表達(dá)式的規(guī)則和(ii )基于該規(guī)則的估計(jì)所釆取的第 一動(dòng)作;和經(jīng)由配置接口接收識(shí)別多個(gè)策略的第二策略的信息使得當(dāng)規(guī) 則估計(jì)為真時(shí)隨后應(yīng)用到第一策略。在另一個(gè)實(shí)施例中,方法包括由 設(shè)備識(shí)別多個(gè)策略以應(yīng)用到所接收的分組流,多個(gè)策略的至少一個(gè)策略 包括策略識(shí)別符;由設(shè)備處理多個(gè)策略的第一策略,第一策略識(shí)別(i) 包括第一表達(dá)式的規(guī)則和(n)基于該規(guī)則的估計(jì)所采取的第一動(dòng)作, 和(iii)多個(gè)策略的第二策略;由設(shè)備基于該表達(dá)式的估計(jì)來確定規(guī)則 估計(jì)為真;并且由設(shè)備響應(yīng)該確定來處理所識(shí)別的第二策略。對(duì)應(yīng)的系 統(tǒng)可以包括用于接收分組流的分組處理器和用于估計(jì)一個(gè)或者多個(gè)策略 并且采取相關(guān)動(dòng)作的策略引擎。
0013在第六方面中,本發(fā)明涉及用于在處理分組流的網(wǎng)絡(luò)裝置 中使用的策略組間配置和/或處理流量控制。在一個(gè)實(shí)施例中,方法包括 提供用于配置網(wǎng)絡(luò)裝置的多個(gè)策略組的配置接口 ,由配置接口識(shí)別第一 策略組的第一策略,第一策略指定包括第一表達(dá)式的規(guī)則;并且經(jīng)由接
24口接收指定基于規(guī)則的估計(jì)而要處理的第二策略組的信息。在另 一個(gè)實(shí)
施例中,方法包括由設(shè)備識(shí)別第一策略組以應(yīng)用到所接收的分組流; 由設(shè)備處理第一策略組的第一策略,第一策略識(shí)別(i)包括第一表達(dá)式 的規(guī)則,和(ii )識(shí)別第二策略組的信息;由設(shè)備估計(jì)該規(guī)則;并且由 設(shè)備響應(yīng)該規(guī)則的估計(jì)來處理所識(shí)別的第二策略組。對(duì)應(yīng)的系統(tǒng)可以包 括用于接收分組流的分組處理器和用于估計(jì)一個(gè)或者多個(gè)策略并且采取 相關(guān)動(dòng)作的策略引擎。
0014在第七方面中,本發(fā)明涉及用于配置和/或處理對(duì)于裝置的 一個(gè)或者多個(gè)應(yīng)用安全配置文件的系統(tǒng)和方法,每一個(gè)應(yīng)用安全配置文 件指定執(zhí)行關(guān)于應(yīng)用的安全功能的多個(gè)檢驗(yàn)。在一個(gè)實(shí)施例中,方法包 括提供用于配置應(yīng)用安全配置文件的配置接口;經(jīng)由配置接口接收第 一設(shè)置,該設(shè)置對(duì)應(yīng)于應(yīng)用安全配置文件的第一檢驗(yàn)指定;經(jīng)由配置接 口接收第二設(shè)置,第二設(shè)置對(duì)應(yīng)于應(yīng)用安全配置文件的第二檢驗(yàn)指定;
由配置接口識(shí)別策略,該策略指定包括第一表達(dá)式的規(guī)則;并且經(jīng)由接 口接收識(shí)別基于規(guī)則的估計(jì)而要處理的應(yīng)用安全配置文件的信息。在另 一個(gè)實(shí)施例中,方法可以包括由設(shè)備識(shí)別第一策略以應(yīng)用到所接收的 分組流;第一策略指定包括第一表達(dá)式的規(guī)則并且識(shí)別應(yīng)用安全配置文 件;由設(shè)備估計(jì)該規(guī)則;由設(shè)備響應(yīng)于規(guī)則的估計(jì)來處理由應(yīng)用安全配 置文件指定的第一檢驗(yàn);并且由設(shè)備響應(yīng)于規(guī)則的估計(jì)來處理由應(yīng)用安 全配置文件指定的第二檢驗(yàn)。對(duì)應(yīng)的系統(tǒng)可以包括用于接收分組流的分 組處理器和用于估計(jì)一個(gè)或者多個(gè)應(yīng)用安全配置文件并且采取相關(guān)動(dòng)作 的策略引擎。
0015在下面附圖和具體實(shí)施方式
中提出本發(fā)明的多種實(shí)施例的
細(xì)節(jié)。
0016參考結(jié)合附圖的以下描述,本發(fā)明的前述和其他對(duì)象、方 面、特征和優(yōu)勢(shì)將會(huì)變得更加明顯更好理解,其中
圖1A是客戶機(jī)經(jīng)由設(shè)備來訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的實(shí)施例的框圖; 圖1B是經(jīng)由多個(gè)設(shè)備來將計(jì)算環(huán)境從服務(wù)器遞送到客戶機(jī)的網(wǎng)絡(luò)環(huán)
25境的另一個(gè)實(shí)施例的框圖1C是經(jīng)由一個(gè)或多個(gè)不同的設(shè)備來將計(jì)算環(huán)境從服務(wù)器遞送到客 戶機(jī)的網(wǎng)絡(luò)環(huán)境的另 一個(gè)實(shí)施例的框圖1D是經(jīng)由網(wǎng)絡(luò)來將計(jì)算環(huán)境從服務(wù)器遞送到客戶機(jī)的環(huán)境的實(shí)施 例的框圖1E和1F是計(jì)算裝置的實(shí)施例的框圖2A是處理在客戶機(jī)和服務(wù)器之間的通信的設(shè)備的實(shí)施例的框圖; 圖2B是用于優(yōu)化、加速、負(fù)載平衡和路由在客戶機(jī)和服務(wù)器之間的 通信的設(shè)備的另 一個(gè)實(shí)施例的框圖3是經(jīng)由設(shè)備來與服務(wù)器進(jìn)行通信的客戶機(jī)的實(shí)施例的框圖4A是可以被用來構(gòu)建HTTP通信的示例對(duì)象模型的視圖4B是可以被用來構(gòu)建HTTP通信的對(duì)象模型的文檔編制的示例屏
泰;
圖4C示出關(guān)于HTTP表達(dá)式的多個(gè)示例面向?qū)ο蟮谋磉_(dá)式; 圖5示出策略的例子;
圖6是可用被用來配置一個(gè)或者多個(gè)表達(dá)式的示例屏幕; 圖7A是可以被用來配置網(wǎng)絡(luò)裝置的策略的配置接口的示例屏幕; 圖7B是在客戶機(jī)上執(zhí)行的配置接口的一個(gè)實(shí)施例的框圖; 圖8A是用于配置策略表達(dá)式的方法的一個(gè)實(shí)施例的流程圖; 圖8B是用于處理網(wǎng)絡(luò)設(shè)備中的面向?qū)ο蟮谋磉_(dá)式的方法的一個(gè)實(shí)施 例的流程圖8C是用于使用面向?qū)ο蟮谋磉_(dá)式來重寫所接收的分組流的部分的
方法的 一個(gè)實(shí)施例的流程圖9是用于處理未限定的策略元素的方法的一個(gè)實(shí)施例的流程圖IOA是策略庫的一個(gè)實(shí)施例的例子的視圖10B是用于控制一組策略中的處理順序的一個(gè)實(shí)施例的流程圖11A是控制多個(gè)策略組上的處理順序的一個(gè)實(shí)施例的框圖11B是用于控制多個(gè)策略組上的處理順序的方法的一個(gè)實(shí)施例的
框圖12示出可以被用來配置應(yīng)用安全配置文件的多個(gè)示例配置屏幕;圖13A是用于配置應(yīng)用安全配置文件的方法的一個(gè)實(shí)施例的流程和
圖13B是用于處理應(yīng)用安全配置文件的方法的一個(gè)實(shí)施例的流程圖。0017根據(jù)以下結(jié)合附圖提出的詳細(xì)描述,本發(fā)明的特征和優(yōu)勢(shì) 將變得更加明顯,其中相同的參考特征在全文中是指對(duì)應(yīng)的元件。在附 圖中,相似的附圖標(biāo)記通常指示相同的、功能類似的和/或結(jié)構(gòu)類似的元 件。
具體實(shí)施例方式
0018為了閱讀下面的本發(fā)明的多個(gè)實(shí)施例的描述,說明下面的
說明書的各部分以及它們相應(yīng)的內(nèi)容是有幫助的
部分A描述有益于實(shí)施本發(fā)明實(shí)施例的網(wǎng)絡(luò)環(huán)境和計(jì)算環(huán)境;
部分B描述用于將計(jì)算環(huán)境加速遞送到遠(yuǎn)程用戶的系統(tǒng)和設(shè)備架構(gòu)
的實(shí)施例;
部分C描述用于加速在客戶機(jī)和服務(wù)器之間的通信的客戶機(jī)代理的 實(shí)施例;
部分D描述用于配置和使用面向?qū)ο蟛呗员磉_(dá)式的系統(tǒng)和方法的實(shí) 施例;
部分E描述用于處理未限定的策略表達(dá)式的方法和系統(tǒng)的實(shí)施例; 部分F描述用于配置和使用策略分組的系統(tǒng)和方法的實(shí)施例;和 部分G描述用于配置和使用應(yīng)用安全配置文件的系統(tǒng)和方法的實(shí)施例。
A.網(wǎng)絡(luò)和計(jì)算環(huán)境
0019在討論設(shè)備和/或客戶機(jī)的系統(tǒng)和方法的實(shí)施例的細(xì)節(jié)之 前,討論可以部署這樣的實(shí)施例的網(wǎng)絡(luò)和計(jì)算環(huán)境是有幫助的?,F(xiàn)在參 考圖1A,描述了網(wǎng)絡(luò)環(huán)境的一個(gè)實(shí)施例??偟膩碚f,網(wǎng)絡(luò)環(huán)境包括經(jīng)由 一個(gè)或多個(gè)網(wǎng)絡(luò)104和104'(通常被稱為網(wǎng)絡(luò)104)與一個(gè)或多個(gè)服務(wù) 器106a-106n (通常也被稱為服務(wù)器106或遠(yuǎn)程機(jī)器106 )通信的一個(gè)或 多個(gè)客戶機(jī)102a-102n (通常也被稱為本地機(jī)器102或客戶才幾102)。在一些實(shí)施例中,客戶機(jī)102經(jīng)由設(shè)備200與服務(wù)器106通信。
0020雖然圖1A示出客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)104和 網(wǎng)絡(luò)1(M',但客戶機(jī)102和服務(wù)器106可以在同一個(gè)網(wǎng)絡(luò)104上。網(wǎng)絡(luò) 104和104'可以是相同類型的網(wǎng)絡(luò)或不同類型的網(wǎng)絡(luò)。網(wǎng)絡(luò)104和/或網(wǎng) 絡(luò)104'可以是像公司內(nèi)聯(lián)網(wǎng)的局域網(wǎng)(LAN)、城域網(wǎng)(MAN)或者諸如因 特網(wǎng)或萬維網(wǎng)的廣域網(wǎng)(WAN)。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)104'可以是專用 網(wǎng)而網(wǎng)絡(luò)104可以是/>用網(wǎng)。在一些實(shí)施例中,網(wǎng)絡(luò)104可以是專用網(wǎng) 而網(wǎng)絡(luò)104/可以是/>用網(wǎng)。在另一個(gè)實(shí)施例中,網(wǎng)絡(luò)104和10t可以都 是專用網(wǎng)。在一些實(shí)施例中,客戶機(jī)102可以位于公司的分支機(jī)構(gòu),經(jīng) 由網(wǎng)絡(luò)104上的WAN連接來與位于公司的數(shù)據(jù)中心的服務(wù)器106進(jìn)行通 信。
0021網(wǎng)絡(luò)104和/或10V可以是任一類型和/或形式的網(wǎng)絡(luò),并 且可以包括下列任意一種網(wǎng)絡(luò)點(diǎn)到點(diǎn)網(wǎng)絡(luò)、廣播網(wǎng)、廣域網(wǎng)、局域網(wǎng)、 遠(yuǎn)程通信網(wǎng)、數(shù)據(jù)通信網(wǎng)、計(jì)算機(jī)網(wǎng)絡(luò)、ATM(異步傳送才莫式)網(wǎng)絡(luò)、SONET (同步光學(xué)網(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'的拓樸結(jié)構(gòu)可以是總線型、星型或環(huán)型網(wǎng)絡(luò) 拓樸結(jié)構(gòu)。網(wǎng)絡(luò)104和/或104'以及網(wǎng)絡(luò)拓樸結(jié)構(gòu)可以是能夠支持此處描 述的操作的本領(lǐng)域內(nèi)普通技術(shù)人員所知的任一種這樣的網(wǎng)絡(luò)或網(wǎng)絡(luò)拓樸 結(jié)構(gòu)。
0022如圖1A所示,在網(wǎng)絡(luò)104和104'之間示出也可以被稱為接 口單元200或網(wǎng)關(guān)200的設(shè)備200。在一些實(shí)施例中,設(shè)備200可以位于 網(wǎng)絡(luò)104上。例如,公司的分支機(jī)構(gòu)可以在所述分支機(jī)構(gòu)處部署設(shè)備200。 在其它實(shí)施例中,i殳備200可以位于網(wǎng)絡(luò)104'上。例如,i殳備200可以 位于公司的數(shù)據(jù)中心。在又一個(gè)實(shí)施例中,多個(gè)設(shè)備200可以部署在網(wǎng) 絡(luò)104上。在一些實(shí)施例中,多個(gè)設(shè)備200可以部署在網(wǎng)絡(luò)104'上。在 一個(gè)實(shí)施例中,第一設(shè)備200與第二設(shè)備200'相通信。在其它的實(shí)施例 中,設(shè)備200可以是在與客戶機(jī)102相同或不同的網(wǎng)絡(luò)104, 104'上的任 一客戶機(jī)102或服務(wù)器106的一部分。 一個(gè)或多個(gè)設(shè)備200可以位于在 客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)或網(wǎng)絡(luò)通信路徑中的任一點(diǎn)處。0023在一些實(shí)施例中,設(shè)備200包括被稱為Citrix NetScaler 裝置的由4立于Ft. Lauderdale Florida的Citrix Systems 一^司制造的 任一網(wǎng)絡(luò)裝置。在其它實(shí)施例中,設(shè)備200包括由位于 Seattle, Washington的F5 Networks 乂>司制造的凈皮稱、為WebAccelerator 和BigIP的任意一個(gè)產(chǎn)品實(shí)施例。在另一個(gè)實(shí)施例中,設(shè)備205包括由 j立于Sunnyvale, California的Juniper Networks 7>司制造的DX力口速 裝置平臺(tái)和/或諸如SA700、 SA2000、 SA4000和SA600Q裝置的SSL VPN 系列裝置中的任意一個(gè)。在又一個(gè)實(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)。
0024在一個(gè)實(shí)施例中,該系統(tǒng)可以包括多個(gè)邏輯分組的服務(wù)器 106。在這些實(shí)施例中,服務(wù)器的邏輯分組可以被稱為服務(wù)器群組38。在 這些實(shí)施例中的一些實(shí)施例中,服務(wù)器106可以是在地理上分散的。有 時(shí)候,群組38可以被管理為單一的實(shí)體。在其它實(shí)施例中,服務(wù)器群組 38包括多個(gè)服務(wù)器群組38。在一個(gè)實(shí)施例中,服務(wù)器群組代表一個(gè)或多 個(gè)客戶機(jī)102來扭Z亍一個(gè)或多個(gè)應(yīng)用。
0025在每個(gè)群組38中的服務(wù)器106可以是不同種類的。 一個(gè)或 多個(gè)服務(wù)器106可以根據(jù)一種類型的操作系統(tǒng)平臺(tái)(例如,由位于 Redmond, Washington的微軟公司出品的WINDOWS NT)來進(jìn)行操作,而一 個(gè)或多個(gè)其它的服務(wù)器106可以根據(jù)另一種類型的操作系統(tǒng)平臺(tái)(例如, Unix或Linux)來進(jìn)行操作。每個(gè)群組38中的服務(wù)器106不需要與同一 群組38中的另一個(gè)服務(wù)器106物理上接近。因此,邏輯上被分組為群組 38的服務(wù)器106的分組可以使用廣域網(wǎng)(WAN )連接或中域網(wǎng)(med ium-ar ea network, MAN )連接來互連。例如,群組38可以包括在物理上位于不同 的洲或位于一個(gè)洲、國家、州、城市、校園或房間的不同區(qū)域的服務(wù)器 106。如果使用局域網(wǎng)(LAN)連接或一些形式的直接連接來連接服務(wù)器 106,則可以增加在群組38中的服務(wù)器106之間的數(shù)據(jù)傳輸速度。
0026服務(wù)器106可以被稱為文件服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)
29器、代理服務(wù)器或網(wǎng)關(guān)服務(wù)器。在一些實(shí)施例中,服務(wù)器106可以有能力
起到應(yīng)用服務(wù)器或主應(yīng)用服務(wù)器的作用。在一個(gè)實(shí)施例中,服務(wù)器106可以包括活動(dòng)目錄(Active Directory )。客戶機(jī)102也可以;陂稱為客戶機(jī)節(jié)點(diǎn)或端點(diǎn)。在一些實(shí)施例中,客戶機(jī)102有能力起到尋求訪問服務(wù)器上的應(yīng)用的客戶機(jī)節(jié)點(diǎn)以及作為對(duì)于其它的客戶機(jī)102a-l02n提供對(duì)寄載的應(yīng)用的訪問的應(yīng)用服務(wù)器的作用。
0027在一些實(shí)施例中,客戶機(jī)102與服務(wù)器106進(jìn)行通信。在一個(gè)實(shí)施例,客戶機(jī)102直接與群組38中的服務(wù)器106的其中一個(gè)進(jìn)行通信。在另一個(gè)實(shí)施例中,客戶機(jī)102執(zhí)行程序鄰近應(yīng)用以與群組38中的服務(wù)器106進(jìn)行通信。在又一個(gè)實(shí)施例中,服務(wù)器106提供主節(jié)點(diǎn)的功能。在一些實(shí)施例中,客戶機(jī)102通過網(wǎng)絡(luò)104與群組38中的服務(wù)器106進(jìn)行通信。例如,通過網(wǎng)絡(luò)104,客戶機(jī)102可以請(qǐng)求執(zhí)行由群組38中的服務(wù)器106a-106n寄載的多個(gè)應(yīng)用,并接收應(yīng)用執(zhí)行的輸出結(jié)果用于顯示。在一些實(shí)施例中,只有主節(jié)點(diǎn)提供所要求的識(shí)別并提供與寄載被請(qǐng)求的應(yīng)用的服務(wù)器106'相關(guān)的地址信息的功能。
0028在一個(gè)實(shí)施例中,服務(wù)器106提供web服務(wù)器的功能。在另一個(gè)實(shí)施例中,服務(wù)器106a從客戶機(jī)102接收請(qǐng)求,將請(qǐng)求轉(zhuǎn)發(fā)到第二服務(wù)器106b,并使用來自于服務(wù)器106b的對(duì)請(qǐng)求的響應(yīng)來對(duì)客戶機(jī)102的請(qǐng)求進(jìn)行響應(yīng)。在又一個(gè)實(shí)施例中,服務(wù)器106獲得客戶機(jī)102可
106相關(guān)的地址信息。在又一個(gè)實(shí)施例中,服務(wù)器106使用web接口將對(duì)請(qǐng)求的響應(yīng)提供給客戶機(jī)102。在一個(gè)實(shí)施例中,客戶機(jī)102直接與服務(wù)器106進(jìn)行通信以訪問所標(biāo)識(shí)的應(yīng)用。在另一個(gè)實(shí)施例中,客戶機(jī)102接收由執(zhí)行服務(wù)器106上的標(biāo)識(shí)的應(yīng)用所生成的諸如顯示數(shù)據(jù)的應(yīng)用輸出數(shù)據(jù)。
0029現(xiàn)在參考圖1B,描述了部署多個(gè)設(shè)備20Q的網(wǎng)絡(luò)環(huán)境的實(shí)施例。第一設(shè)備200可以部署在第一網(wǎng)絡(luò)104上,而第二設(shè)備200'部署在第二網(wǎng)絡(luò)104'上。例如,公司可以在分支機(jī)構(gòu)部署第一設(shè)備200,而在數(shù)據(jù)中心部署第二設(shè)備200'。在另一個(gè)實(shí)施例中,第一設(shè)備200和第二設(shè)備200'被部署在同一個(gè)網(wǎng)絡(luò)104或網(wǎng)絡(luò)104'上。例如,第一設(shè)備200 '可以部署用于第一服務(wù)器群組38,而第二設(shè)備200'可以部署用于第二服務(wù)器群組38'。在另一個(gè)實(shí)例中,第一設(shè)備200可以部署在第一分支機(jī)構(gòu),而第二設(shè)備200'被部署在第二分支機(jī)構(gòu)'。在一些實(shí)施例中,第一設(shè)備200和第二設(shè)備20(K彼此協(xié)同或聯(lián)合工作,以加速客戶機(jī)和服務(wù)器之間的網(wǎng)絡(luò)業(yè)務(wù)量或應(yīng)用和數(shù)據(jù)的遞送。
0030現(xiàn)在參考圖1C,描述了使用一個(gè)或多個(gè)其它類型的設(shè)備,例如在一個(gè)或多個(gè)WAN優(yōu)化設(shè)備205, 205'之間,來部署設(shè)備200的網(wǎng)絡(luò)環(huán)境的另一個(gè)實(shí)施例。例如,第一 WAN優(yōu)化設(shè)備205顯示在網(wǎng)絡(luò)104和104'之間,而第二 WAN優(yōu)化設(shè)備205'可以部署在設(shè)備200和一個(gè)或多個(gè)服務(wù)器106之間。通過示例,公司可以在分支機(jī)構(gòu)部署第一 WAN優(yōu)化設(shè)備205,而在數(shù)據(jù)中心部署第二WAN優(yōu)化設(shè)備205'。在一些實(shí)施例中,設(shè)備205可以位于網(wǎng)絡(luò)104'上。在其它實(shí)施例中,設(shè)備205'可以位于網(wǎng)絡(luò)104上。在一些實(shí)施例中,設(shè)備205'可以位于網(wǎng)絡(luò)104'或網(wǎng)絡(luò)104"上。在一個(gè)實(shí)施例中,設(shè)備205和205'在同一個(gè)網(wǎng)絡(luò)上。在另一個(gè)實(shí)施例中,設(shè)備205和205'在不同的網(wǎng)絡(luò)上。在另一個(gè)實(shí)例中,第一MN優(yōu)化設(shè)備205可以部署用于第一服務(wù)器群組38,而第二 WAN優(yōu)化設(shè)備205'可以部署用于第二服務(wù)器群組38'。
0031在一個(gè)實(shí)施例中,設(shè)備205是用于加速、優(yōu)化或者以其他方式改善諸如往和/或返于WAN連接的業(yè)務(wù)量的任一類型和形式的網(wǎng)絡(luò)業(yè)務(wù)量的性能、操作或服務(wù)質(zhì)量的裝置。在一些實(shí)施例中,設(shè)備205是一個(gè)性能提高的代理。在其它實(shí)施例中,設(shè)備205是任一類型和形式的WAN優(yōu)化或加速裝置,有時(shí)也被稱為WAN優(yōu)化控制器。在一個(gè)實(shí)施例中,設(shè)備205是由位于Ft. Lauderdale Florida的Citrix Systems 乂^司出品的被稱為WANScaler的產(chǎn)品實(shí)施例中的任意一種。在其它實(shí)施例中,設(shè)備205包括由位于Seattle, Washington的F5 Networks/>司出品的被稱為BIG-IP鏈路控制器和WANjet的產(chǎn)品實(shí)施例中的任意一種。在另一個(gè)實(shí)施例中,設(shè)備205包括由位于Sunnyvale, California的JuniperNetworks公司出品的WX和WXC WAN加速裝置平臺(tái)中的任意一種。在一些實(shí)施例中,設(shè)備205包括由San Francisco, Cal ifornia的RiverbedTechnology公司出品的虹鱒(steelhead )系列WAN優(yōu)化設(shè)備中的任意一種。在其它實(shí)施例中,設(shè)備205包括由位于Roseland, NewJersey的ExpandNetworks公司出品的WAN相關(guān)裝置中的任意一種。在一個(gè)實(shí)施例中,設(shè)備205包括由位于Cupertino, California的Packeteer />司出品的葉壬意一種W緒相關(guān)i殳備,例如由Packeteer ^是供的PacketShaper、 iShared和SkyX產(chǎn)品實(shí)施例。在又一個(gè)實(shí)施例中,設(shè)備205包括由位于San Jose,California的Cisco Systems公司出品的任一 WAN相關(guān)設(shè)備和/或軟件,例如Ci sco廣域網(wǎng)應(yīng)用服務(wù)軟件和網(wǎng)絡(luò)模塊以及廣域網(wǎng)引擎設(shè)備。
0032在一個(gè)實(shí)施例中,設(shè)備205提供用于分支機(jī)構(gòu)或遠(yuǎn)程辦公室的應(yīng)用和數(shù)據(jù)加速業(yè)務(wù)。在一個(gè)實(shí)施例中,設(shè)備205包括廣域文件月良務(wù)(WAFS)的優(yōu)化。在另一個(gè)實(shí)施例中,設(shè)備205加速文件的遞送,例如經(jīng)由通用Internet文件系統(tǒng)(CIFS)協(xié)議。在其它實(shí)施例中,設(shè)備205在存儲(chǔ)器和/或存儲(chǔ)設(shè)備中提供高速緩存來加速應(yīng)用和數(shù)據(jù)的遞送。在一個(gè)實(shí)施例中,設(shè)備205提供在任一級(jí)別的網(wǎng)絡(luò)堆?;蛟谌我坏膮f(xié)議或網(wǎng)絡(luò)層的網(wǎng)絡(luò)業(yè)務(wù)量的壓縮。在另一個(gè)實(shí)施例中,設(shè)備205提供傳輸層協(xié)議優(yōu)化、流量控制、性能增強(qiáng)或修改和/或管理,以加速WAN連接上的應(yīng)用和數(shù)據(jù)的遞送。例如,在一個(gè)實(shí)施例中,設(shè)備205提供傳輸控制協(xié)議(TCP)優(yōu)化。在其它實(shí)施例中,設(shè)備205提供對(duì)于任一會(huì)話或應(yīng)用層協(xié)議的優(yōu)化、流量控制、性能增強(qiáng)或修改和/或管理。
0033在另一個(gè)實(shí)施例中,設(shè)備205將任一類型和形式的數(shù)據(jù)或
以將存在、功能或能力通告給另一個(gè)設(shè)備205'。在另一個(gè)實(shí)施例中,設(shè)備205'可以使用在TCP和/或IP報(bào)頭字段或選項(xiàng)中編碼的數(shù)據(jù)來與另一個(gè)設(shè)備205'進(jìn)行通信。例如,設(shè)備可以使用TCP選項(xiàng)或IP報(bào)頭字段或選項(xiàng)來傳達(dá)在執(zhí)行諸如WAN加速的功能時(shí)或者為了彼此聯(lián)合工作而由設(shè)備205, 205'所使用的一個(gè)或多個(gè)參數(shù)。
0034在一些實(shí)施例中,設(shè)備200保存在設(shè)備205和205'之間傳達(dá)的TCP和/或IP報(bào)頭和/或可選字段中編碼的任一信息。例如,設(shè)備200可以終止經(jīng)過設(shè)備200的傳輸層連接,例如經(jīng)過設(shè)備205和205'的在客戶機(jī)和服務(wù)器之間的一個(gè)傳輸層連接。在一個(gè)實(shí)施例中,設(shè)備200識(shí)別并保存在由第一設(shè)備205通過第一傳輸層連接發(fā)送的傳輸層分組中的任一編碼信息,并經(jīng)由第二傳輸層連接來將具有編碼信息的傳輸層分組傳達(dá)到第二設(shè)備205'。
0035現(xiàn)在參考圖1D,描述了用于遞送和/或操作客戶機(jī)102上的計(jì)算環(huán)境的網(wǎng)絡(luò)環(huán)境。在一些實(shí)施例中,服務(wù)器106包括用于將計(jì)算環(huán)境或應(yīng)用和/或凄史據(jù)文件遞送給一個(gè)或多個(gè)客戶才幾102的應(yīng)用遞送系統(tǒng)190。簡單概述,客戶機(jī)10經(jīng)由網(wǎng)絡(luò)104、 104'和設(shè)備200與服務(wù)器106通信。例如,客戶機(jī)102可以駐留在例如分支機(jī)構(gòu)的公司的遠(yuǎn)程辦公室,而服務(wù)器106可以駐留在公司的數(shù)據(jù)中心。客戶機(jī)102包括客戶機(jī)代理120和計(jì)算環(huán)境15。計(jì)算環(huán)境15可以執(zhí)行或才喿作訪問、處理或使用數(shù)據(jù)文件的應(yīng)用??梢越?jīng)由設(shè)備200和/或服務(wù)器106來遞送計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件。
0036在一些實(shí)施例中,設(shè)備200加速將計(jì)算環(huán)境15或其任一部分遞送給客戶機(jī)102。在一個(gè)實(shí)施例中,設(shè)備200通過應(yīng)用遞送系統(tǒng)190來加速計(jì)算環(huán)境15的遞送。例如,此處描述的實(shí)施例可以用來將可由應(yīng)用處理的流應(yīng)用和數(shù)據(jù)文件加速從中央的公司數(shù)據(jù)中心遞送到遠(yuǎn)程用戶的位置,例如公司的分支機(jī)構(gòu)。在另一個(gè)實(shí)施例中,設(shè)備200加速在客戶機(jī)102和服務(wù)器106之間的傳輸層業(yè)務(wù)量。設(shè)備200可以提供用于加速從服務(wù)器106到客戶機(jī)102的任一傳輸層有效載荷的加速技術(shù),例如l)傳輸層連接池,2)傳輸層連接多路復(fù)用,3)傳輸控制協(xié)議緩沖,4)壓縮和5)高速緩存。在一些實(shí)施例中,設(shè)備200提供響應(yīng)于客戶機(jī)102的請(qǐng)求的服務(wù)器106的負(fù)載平衡。在其它實(shí)施例中,設(shè)備200充當(dāng)代理或訪問服務(wù)器以提供對(duì)一個(gè)或多個(gè)服務(wù)器106的訪問。在另一個(gè)實(shí)施例中,設(shè)備200提供從客戶機(jī)102的第一網(wǎng)絡(luò)104到服務(wù)器106的第二網(wǎng)絡(luò)104'的安全虛擬專用網(wǎng)連接,例如SSLVPN連接。在又一些實(shí)施例中,設(shè)備200 ^提供在客戶機(jī)102和服務(wù)器106之間的連接和通信的應(yīng)用防火墻安全、控制和管理。
0037在一些實(shí)施例中,應(yīng)用遞送管理系統(tǒng)190根據(jù)多個(gè)執(zhí)行方法以及根據(jù)經(jīng)由策略引擎195應(yīng)用的任一驗(yàn)證和授權(quán)策略來提供將計(jì)算環(huán)境遞送到遠(yuǎn)端或另外的用戶的桌面的應(yīng)用遞送技術(shù)。使用這些技術(shù),遠(yuǎn)程用戶可以從任一網(wǎng)絡(luò)連接裝置100獲取計(jì)算環(huán)境以及訪問服務(wù)器存儲(chǔ)的應(yīng)用和數(shù)據(jù)文件。在一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以駐留于
服務(wù)器106或在服務(wù)器106上執(zhí)行。在另一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以駐留于多個(gè)服務(wù)器106a-106n上或在多個(gè)服務(wù)器106a-106n上執(zhí)行。在一些實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以在服務(wù)器群組38中執(zhí)行。在一個(gè)實(shí)施例中,執(zhí)行應(yīng)用遞送系統(tǒng)190的服務(wù)器106還可以存儲(chǔ)或提供應(yīng)用和數(shù)據(jù)文件。在另一個(gè)實(shí)施例中,第一組的一個(gè)或多個(gè)服務(wù)器106可以執(zhí)行應(yīng)用遞送系統(tǒng)190,而不同的服務(wù)器106n可以存4諸或提供應(yīng)用和數(shù)據(jù)文件。在一些實(shí)施例中,應(yīng)用遞送系統(tǒng)190、應(yīng)用和數(shù)據(jù)文件中的每一個(gè)可以駐留或位于不同的服務(wù)器上。在又一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190的任一部分可以駐留、執(zhí)行或保存或被分配于設(shè)備200或多個(gè)設(shè)備。
0038客戶機(jī)102可以包括用于執(zhí)行使用或處理數(shù)據(jù)文件的應(yīng)用的計(jì)算環(huán)境15??蛻魴C(jī)102可以經(jīng)由網(wǎng)絡(luò)104、 104'和設(shè)備200來從服務(wù)器106請(qǐng)求應(yīng)用和數(shù)據(jù)文件。在一個(gè)實(shí)施例中,設(shè)備200可以將來自于客戶機(jī)102的請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器106。例如,客戶機(jī)102可以不具有本地存儲(chǔ)或可存取的應(yīng)用和數(shù)據(jù)文件。響應(yīng)于請(qǐng)求,應(yīng)用遞送系統(tǒng)190和/或服務(wù)器106可以遞送應(yīng)用和數(shù)據(jù)文件到客戶機(jī)102。例如,在一個(gè)實(shí)施例中,服務(wù)器106可以以應(yīng)用流的形式發(fā)送應(yīng)用,以在客戶機(jī)102上的計(jì)算環(huán)境15中進(jìn)行操作。
0039在一些實(shí)施例中,應(yīng)用遞送系統(tǒng)190包括Citrix Systems公司的例如MetaFrame或Citrix表示(Presentation )服務(wù)器 6々Citrix訪問套件TM的任一部分和/或由微軟公司出品的任意一種微軟⑧Windows終端服務(wù)。在一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以通過遠(yuǎn)程顯示協(xié)議或以其它方式通過基于遠(yuǎn)程或基于服務(wù)器的計(jì)算來遞送一個(gè)或多個(gè)應(yīng)用到客戶才幾102或用戶。在另一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以通過應(yīng)用的流式傳輸來遞送一個(gè)或多個(gè)應(yīng)用到客戶機(jī)或用戶。
0040在一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190包括用于控制和管理應(yīng)用執(zhí)行方法的訪問、選擇以及應(yīng)用的遞送的策略引擎195。在一些實(shí)施例中,策略引擎195確定用戶或客戶機(jī)102可以訪問的一個(gè)或多個(gè)應(yīng)用。在另一個(gè)實(shí)施例中,策略引擎195確定應(yīng)用應(yīng)該如何;故遞送給用戶或客戶機(jī)102,例如執(zhí)行方法。在一些實(shí)施例中,應(yīng)用遞送系統(tǒng)190提供/人中 選擇應(yīng)用執(zhí)行方法的多個(gè)遞送技術(shù),例如基于服務(wù)器的計(jì)算、本地流式
傳輸或遞送應(yīng)用給客戶才幾12 0以用于本地執(zhí)行。
0041在一個(gè)實(shí)施例中,客戶機(jī)102請(qǐng)求執(zhí)行應(yīng)用程序而包括服 務(wù)器106的應(yīng)用遞送系統(tǒng)190選擇執(zhí)行應(yīng)用程序的方法。在一些實(shí)施例 中,服務(wù)器106從客戶機(jī)102接收證書。在另一個(gè)實(shí)施例中,服務(wù)器106 從客戶機(jī)102接收列舉可用的應(yīng)用的請(qǐng)求。在一個(gè)實(shí)施例中,響應(yīng)于所 述請(qǐng)求或收到的證書,應(yīng)用遞送系統(tǒng)190列舉客戶機(jī)102可用的多個(gè)應(yīng) 用程序。應(yīng)用遞送系統(tǒng)190接收請(qǐng)求以執(zhí)行所列舉的應(yīng)用。應(yīng)用遞送系 統(tǒng)190選擇預(yù)定數(shù)目的方法中的一個(gè)來執(zhí)行列舉的應(yīng)用,例如響應(yīng)于策 略引擎的策略。應(yīng)用遞送系統(tǒng)190可以選擇一個(gè)執(zhí)行應(yīng)用的方法,使得 客戶機(jī)102可以接收通過在服務(wù)器106上執(zhí)行應(yīng)用程序而生成的應(yīng)用輸 出數(shù)據(jù)。應(yīng)用遞送系統(tǒng)190可以選擇執(zhí)行應(yīng)用的方法,使得本地機(jī)器10 可以在檢索包括應(yīng)用的多個(gè)應(yīng)用文件之后本地執(zhí)行所述應(yīng)用程序。在又 一個(gè)實(shí)施例中,應(yīng)用遞送系統(tǒng)190可以選4奪執(zhí)行應(yīng)用的方法以經(jīng)由網(wǎng)絡(luò) 104將應(yīng)用流式傳輸?shù)娇蛻魴C(jī)102。
0042客戶機(jī)102可以執(zhí)行、操作或以其他方式提供應(yīng)用,所述 應(yīng)用可以是任一類型和/或形式的軟件、程序或可執(zhí)行指令,例如任一類 型和/或形式的web瀏覽器、基于web的客戶機(jī)、客戶機(jī)-服務(wù)器應(yīng)用、 瘦-客戶才幾的計(jì)算客戶機(jī)、ActiveX控件、或Java小程序、或可以在客戶 機(jī)102上執(zhí)行的任一其它類型和/或形式的可執(zhí)行指令。在一些實(shí)施例中, 應(yīng)用可以是代表客戶機(jī)102在服務(wù)器106上執(zhí)行的基于服務(wù)器或基于遠(yuǎn) 程的應(yīng)用。在一個(gè)實(shí)施例中,服務(wù)器106可以使用任一瘦-客戶機(jī)或遠(yuǎn)程 顯示協(xié)議來顯示輸出到客戶機(jī)102,所述遠(yuǎn)程顯示協(xié)議例如由位于Ft. Lauderdale, Florida的Citrix Systems />司出品的獨(dú)立計(jì)算架構(gòu)(ICA) 協(xié)議或由位于Redmond, Washington的微軟公司出品的遠(yuǎn)程桌面協(xié)議 (RDP)。應(yīng)用可以使用任一類型的協(xié)議,并且它可以是例如HTTP客戶機(jī)、 FTP客戶才幾、Oscar客戶才幾或Telnet客戶機(jī)。在其它實(shí)施例中,應(yīng)用包 括與VoIP通信相關(guān)的任一類型的軟件,例如軟IP電話。在進(jìn)一步的實(shí) 施例中,應(yīng)用包括與實(shí)時(shí)數(shù)據(jù)通信相關(guān)的任一應(yīng)用,例如用于流式傳輸一見頻和/或音頻的應(yīng)用。
0043在一些實(shí)施例中,服務(wù)器106或服務(wù)器群組38可以運(yùn)行一
個(gè)或多個(gè)應(yīng)用,例如提供瘦-客戶機(jī)計(jì)算的應(yīng)用或遠(yuǎn)程顯示表示應(yīng)用的應(yīng)
用。在一個(gè)實(shí)施例中,服務(wù)器106或服務(wù)器群組38作為應(yīng)用而執(zhí)行Ci tr ix Systems公司的例如MetaFrame或Citrix表示月良務(wù)器7"的Citrix訪問套 件7"的任一部分和/或由微軟公司出品的任意一種微軟⑧Windows終端服 務(wù)。在一個(gè)實(shí)施例中,應(yīng)用是由位于Fort Lauderdale, Florida的Citrix Systems />司開發(fā)的ICA客戶機(jī)。在其它實(shí)施例中,應(yīng)用包括由位于 Redmond, Washington的《鼓軟公司開發(fā)的遠(yuǎn)程桌面(RDP)客戶機(jī)。此夕卜, 服務(wù)器106可以運(yùn)行應(yīng)用,例如,所述服務(wù)器106可以是提供例如由位 于Redmond, Washington的微軟公司出品的微軟Exchange的電子郵件服 務(wù)的應(yīng)用服務(wù)器、web或Internet服務(wù)器、或桌面共享服務(wù)器、或協(xié)作 服務(wù)器。在一些實(shí)施例中,任意一種應(yīng)用可以包括任一類型的寄載服務(wù) 或產(chǎn)品,例如由Santa Barbara, California的Ci trix 0nline部門^是供 的GoToMeeting 、由位于Santa Clara, Cal if ornia的WebEx公司提供的 WebEx 、或由位于Redmond, Washington的微軟公司提供的微軟Office Live Meeting。
0044仍然參考圖1D,網(wǎng)絡(luò)環(huán)境的一個(gè)實(shí)施例可以包括監(jiān)控服務(wù) 器106A。監(jiān)控服務(wù)器106A可以包括任一類型和形式的性能監(jiān)控業(yè)務(wù)198。 性能監(jiān)控業(yè)務(wù)198可以包括監(jiān)控、測(cè)量和/或管理軟件和/或硬件,包括 數(shù)據(jù)收集、集合、分析、管理和報(bào)告。在一個(gè)實(shí)施例中,性能監(jiān)控業(yè)務(wù) 198包括一個(gè)或多個(gè)監(jiān)控代理197。監(jiān)控代理197包括用于在諸如客戶機(jī) 102、服務(wù)器106或設(shè)備200和205的裝置上執(zhí)行監(jiān)控、測(cè)量和數(shù)據(jù)收集 活動(dòng)的任一軟件、硬件或其組合。在一些實(shí)施例中,監(jiān)控代理197包括 諸如Visual Basic腳本或Java描述語言的任一類型和形式的腳本。在 一個(gè)實(shí)施例中,監(jiān)控代理197相對(duì)于裝置的任一應(yīng)用和/或用戶透明地執(zhí) 行。在一些實(shí)施例中,監(jiān)控代理197相對(duì)于應(yīng)用或客戶機(jī)不引人注目地 被安裝和操作。在又一個(gè)實(shí)施例中,監(jiān)控代理197被安裝和操作而不需 要用于該應(yīng)用或裝置的任何設(shè)備(instrumental;ion )。
0045在一些實(shí)施例中,監(jiān)控代理197以預(yù)定頻率監(jiān)控、測(cè)量和收集數(shù)據(jù)。在其它實(shí)施例中,監(jiān)控代理197基于任一類型和形式的事件
的檢測(cè)來監(jiān)控、測(cè)量和收集數(shù)據(jù)。例如,監(jiān)控代理197可以在一企測(cè)到對(duì) web頁面的請(qǐng)求或收到HTTP響應(yīng)時(shí)收集數(shù)據(jù)。在另一個(gè)實(shí)例中,監(jiān)控代 理197可以在檢測(cè)到諸如鼠標(biāo)點(diǎn)擊的任一用戶輸入事件時(shí)收集數(shù)據(jù)。監(jiān) 控代理197可以報(bào)告或提供任一所監(jiān)控、測(cè)量或收集的數(shù)據(jù)給監(jiān)控業(yè)務(wù) 198。在一個(gè)實(shí)施例中,監(jiān)控代理197根據(jù)調(diào)度或預(yù)定頻率來發(fā)送信息給 監(jiān)控業(yè)務(wù)198。在另一個(gè)實(shí)施例中,監(jiān)控代理197在檢測(cè)到事件時(shí)發(fā)送信 息給監(jiān)控業(yè)務(wù)198。
0046在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行諸 如客戶機(jī)、服務(wù)器、服務(wù)器群組、設(shè)備200、設(shè)備205或網(wǎng)絡(luò)連接的任一 網(wǎng)絡(luò)資源或網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)元件的監(jiān)控和性能測(cè)量。在一個(gè)實(shí)施例中,監(jiān) 控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行諸如TCP或UDP連接的任一傳輸層連 接的監(jiān)控和性能測(cè)量。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理 197監(jiān)控和測(cè)量網(wǎng)絡(luò)等待時(shí)間。在又一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或 監(jiān)控代理197監(jiān)控和測(cè)量帶寬利用。
0047在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和 測(cè)量終端用戶響應(yīng)時(shí)間。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198執(zhí)行應(yīng)用的監(jiān) 控和性能測(cè)量。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí) 行到應(yīng)用的任一會(huì)話或連接的監(jiān)控和性能測(cè)量。在一個(gè)實(shí)施例中,監(jiān)控 業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量瀏覽器的性能。在另一個(gè)實(shí)施例 中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量基于HTTP的事務(wù)的性 能。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量IP 上語音(VoIP)應(yīng)用或會(huì)話的性能。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/ 或監(jiān)控代理197監(jiān)控和測(cè)量諸如ICA客戶機(jī)或RDP客戶機(jī)的遠(yuǎn)程顯示協(xié) 議應(yīng)用的性能。在又一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān) 控和測(cè)量任一類型和形式的流媒體的性能。在進(jìn)一步的實(shí)施例中,監(jiān)控 業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量寄載應(yīng)用或軟件即服務(wù) (Software-As-A-Service, SaaS )遞送模型的性能。
0048在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行與 應(yīng)用相關(guān)的一個(gè)或多個(gè)事務(wù)、請(qǐng)求或響應(yīng)的監(jiān)控和性能測(cè)量。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量應(yīng)用層堆棧的任一 部分,例如任一.NET或J2EE調(diào)用。在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/ 或監(jiān)控代理197監(jiān)控和測(cè)量數(shù)據(jù)庫或SQL事務(wù)。在又一個(gè)實(shí)施例中,監(jiān) 控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量任一方法、函數(shù)或應(yīng)用編程接 口 (API)調(diào)用。
0049在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197執(zhí)行經(jīng) 由諸如設(shè)備200和/或設(shè)備205的一個(gè)或多個(gè)設(shè)備從服務(wù)器到客戶機(jī)的應(yīng) 用和/或數(shù)據(jù)的遞送的監(jiān)控和性能測(cè)量。在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198 和/或監(jiān)控代理197監(jiān)控和測(cè)量虛擬化應(yīng)用的遞送的性能。在其它實(shí)施例 中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量流式應(yīng)用的遞送的性能。 在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量遞送桌 面應(yīng)用到客戶機(jī)和/或在客戶機(jī)上執(zhí)行桌面應(yīng)用的性能。在另一個(gè)實(shí)施例 中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控和測(cè)量客戶機(jī)/服務(wù)器應(yīng)用的 性能。
0050在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197被設(shè)計(jì) 和構(gòu)建為應(yīng)用遞送系統(tǒng)190提供應(yīng)用性能管理。例如,監(jiān)控業(yè)務(wù)198和/ 或監(jiān)控代理197可以監(jiān)控、測(cè)量和管理經(jīng)由Citrix表示服務(wù)器遞送應(yīng)用 的性能。在該實(shí)例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控單獨(dú)的ICA 會(huì)話。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以測(cè)量總的以及每次的會(huì)話系 統(tǒng)資源使用,以及應(yīng)用和連網(wǎng)性能。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可 以對(duì)于給定用戶和/或用戶會(huì)話來標(biāo)識(shí)有效服務(wù)器。在一些實(shí)施例中,監(jiān) 控業(yè)務(wù)198和/或監(jiān)控代理197監(jiān)控在應(yīng)用遞送系統(tǒng)190和應(yīng)用和/或數(shù) 據(jù)庫服務(wù)器之間的后端連接。監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197可以測(cè)量 每個(gè)用戶會(huì)話或ICA會(huì)話的網(wǎng)絡(luò)等待時(shí)間、延遲和容量。
0051在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和 監(jiān)控對(duì)于應(yīng)用遞送系統(tǒng)190的諸如總的存儲(chǔ)器使用、每個(gè)用戶會(huì)話和/或 每個(gè)進(jìn)程的存儲(chǔ)器使用。在其它實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理 197測(cè)量和監(jiān)控諸如總的CPU使用、每個(gè)用戶會(huì)話和/或每個(gè)進(jìn)程的應(yīng)用 遞送系統(tǒng)190的CPU使用。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控 代理197測(cè)量和監(jiān)控登錄到諸如CUrix表示服務(wù)器的應(yīng)用、服務(wù)器或應(yīng)用遞送系統(tǒng)所需的時(shí)間。在一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理
197測(cè)量和監(jiān)控用戶登錄應(yīng)用、服務(wù)器或應(yīng)用遞送系統(tǒng)190的持續(xù)時(shí)間。 在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控應(yīng)用、服 務(wù)器或應(yīng)用遞送系統(tǒng)會(huì)話的有效和無效的會(huì)話計(jì)數(shù)。在又一個(gè)實(shí)施例中, 監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控用戶會(huì)話等待時(shí)間。
0052在又一個(gè)進(jìn)一步的實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理 197測(cè)量和監(jiān)控任一類型和形式的服務(wù)器規(guī)格(metrics )。在一個(gè)實(shí)施例 中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控與系統(tǒng)存儲(chǔ)器、CPU使 用和磁盤存儲(chǔ)器有關(guān)的規(guī)格。在另一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān) 控代理197測(cè)量和監(jiān)控和頁錯(cuò)誤有關(guān)的規(guī)格,諸如每秒頁錯(cuò)誤。在其它 實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控往返時(shí)間的規(guī)格。 在又一個(gè)實(shí)施例中,監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理197測(cè)量和監(jiān)控與應(yīng)用 崩潰、錯(cuò)誤和/或中止相關(guān)的規(guī)格。
0053在一些實(shí)施例中,監(jiān)控業(yè)務(wù)198和監(jiān)控代理198包括由位 于Ft. Lauderdale, Florida的Citrix Systems 乂>司出品的^皮稱為 EdgeSight的任意一種產(chǎn)品實(shí)施例。在另一個(gè)實(shí)施例中,性能監(jiān)控業(yè)務(wù) 198和/或監(jiān)控代理198包括由位于Palo Alto, California的Symphoniq 公司出品的一皮稱為TrueView產(chǎn)品套件的產(chǎn)品實(shí)施例的任一部分。在一個(gè) 實(shí)施例中,性能監(jiān)控業(yè)務(wù)198和/或監(jiān)控代理198包括由位于San Francisco, California的TeaLeaf #支術(shù)/>司出品的祐:稱為TeaLeafCX產(chǎn) 品套件的產(chǎn)品實(shí)施例的任一部分。在其它實(shí)施例中,性能監(jiān)控業(yè)務(wù)198 和/或監(jiān)控代理198包括由位于Houston, Texas的BMC軟件公司出品的諸 如BMC性能管理器和巡邏產(chǎn)品(BMC Performance Manager and Patrol products)的商業(yè)業(yè)務(wù)管理產(chǎn)品的任一部分。
0054客戶機(jī)102、服務(wù)器106和設(shè)備200可以被部署和/或執(zhí)行 在任一類型和形式的計(jì)算裝置上,例如可以在任一類型和形式的網(wǎng)絡(luò)上 通信并執(zhí)行此處描述的操作的計(jì)算機(jī)、網(wǎng)絡(luò)裝置或設(shè)備。圖1E和1F描 述了可用于實(shí)施客戶機(jī)102、服務(wù)器106或設(shè)備200的實(shí)施例的計(jì)算裝置 100的框圖。如圖IE和IF所示,每個(gè)計(jì)算裝置100包括中央處理單元 101和主存^f諸器單元122。如圖IE所示,計(jì)算裝置100可以包括可視顯示裝置124、鍵盤126和/或諸如鼠標(biāo)的點(diǎn)擊裝置127。每個(gè)計(jì)算裝置100 也可以包括另外的可選元件,例如一個(gè)或多個(gè)輸入/輸出裝置130a-130b (通常使用附圖標(biāo)記130來指示)以及與中央處理單元101通信的高速 緩存140。
0055中央處理單元101是響應(yīng)并處理取自主存儲(chǔ)器單元122的 指令的任一邏輯電路。在許多實(shí)施例中,中央處理單元由微處理器單元 才是供,例如由4立于Mountain View, California的Intel />司出品的產(chǎn) 品;由^f立于Schaumburg, Illinois的Motorola公司出品的產(chǎn)品;由^f立于 Santa Clara, California的Transmeta/>司出品的產(chǎn)品;由4立于White Plains, New York的國際商業(yè)機(jī)器公司出品的RS/6000處理器;或者由位 于Sunnyvale, California的Advanced Micro Devices公司出品的產(chǎn)品。 計(jì)算裝置100可以基于任一的這些處理器、或者可以如此處所描述地才喿 作的任一其它處理器。
0056主存儲(chǔ)器單元122可以是可以保存數(shù)據(jù)并允許由微處理器 101直接訪問的任一存儲(chǔ)位置的一個(gè)或多個(gè)存儲(chǔ)芯片,例如靜態(tài)隨機(jī)存取 存儲(chǔ)器(SRAM)、突發(fā)式SRAM或同步突發(fā)式SRAM (BSRAM)、動(dòng)態(tài)隨機(jī)存 取存儲(chǔ)器(DRAM )、快速頁面才莫式DRAM ( FPM DRAM )、增強(qiáng)型DRAM ( EDRAM )、 擴(kuò)展數(shù)據(jù)輸出RAM (EDO RAM)、擴(kuò)展數(shù)據(jù)輸出DRAM (EDO DRAM)、突發(fā)式 擴(kuò)展數(shù)據(jù)輸出DRAM( BEDO DRAM )、增強(qiáng)型DRAM( EDRAM )、同步DRAM( SDRAM )、 JEDEC SRAM、 PC100 SDRAM、雙數(shù)據(jù)速率SDRAM ( DDR SDRAM )、增強(qiáng)型SDRAM (ESDRAM)、同步鏈接DRAM ( SLDRAM )、直接Rambus DRAM ( DRDRAM )、或 鐵電RAM ( FRAM)。主存儲(chǔ)器122可以基于任意一種上面描述的存儲(chǔ)芯片、 或者可以如此處所描述地操作的任一其它可用的存儲(chǔ)芯片。在圖IE中所 示的實(shí)施例中,處理器101通過系統(tǒng)總線150(在下面進(jìn)行更詳細(xì)的描述) 與主存儲(chǔ)器122進(jìn)行通信。圖1E描述了在其中處理器通過存儲(chǔ)器端口 103 直接與主存儲(chǔ)器122通信的計(jì)算裝置100的實(shí)施例。例如,在圖1F中, 主存4諸器122可以是DRDRAM。
0057圖1F描述了在其中主處理器101通過有時(shí)被稱為背端總線 的次級(jí)總線來直接與高速緩存14G通信的實(shí)施例。在其它實(shí)施例中,主 處理器101使用系統(tǒng)總線150與高速緩存140進(jìn)行通信。高速緩存140典型地具有比主存儲(chǔ)器122更快的響應(yīng)時(shí)間,并且典型地通過SR趨、BSRAM 或EDRAM來提供。在圖IE中所示的實(shí)施例中,處理器101通過本地系統(tǒng) 總線150與多個(gè)1/0裝置130進(jìn)行通信。多種總線可以用來將中央處理 單元101連接到任意一種1/0裝置130,所述總線包括VESA VL總線、ISA 總線、EISA總線、微通道架構(gòu)(MCA)總線、PCI總線、PCI-X總線、 PCI-Express總線或NuBus。對(duì)于1/0裝置是碎見頻顯示器124的實(shí)施例, 處理器101可以使用高級(jí)圖形端口 (AGP)來與顯示器124進(jìn)行通信。圖 1F描述了在其中主處理器101通過HyperTransport、快速I/O或 InfiniBand來直4妻與I/O裝置130通信的計(jì)算4幾100的一個(gè)實(shí)施例。圖 1F還描述了混合本地總線和直接通信的一個(gè)實(shí)施例處理器101使用本 地互連總線與I/O裝置130進(jìn)行通信,同時(shí)直接與I/O裝置130進(jìn)行通 信。
0058計(jì)算裝置IOO可以支持任一適當(dāng)?shù)陌惭b裝置116,例如用于 接收像3. 5英寸、5. 25英寸磁盤或ZIP磁盤這樣的軟盤的軟盤驅(qū)動(dòng)器、 CD-ROM驅(qū)動(dòng)器、CD-R/RW驅(qū)動(dòng)器、DVD-ROM驅(qū)動(dòng)器、多種格式的磁帶驅(qū)動(dòng) 器、USB裝置、硬盤驅(qū)動(dòng)器或適于安裝像任一客戶機(jī)代理120或其部分的 軟件和程序的任一其它裝置。計(jì)算裝置IOO還可以包括存儲(chǔ)裝置128,例 如一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器或獨(dú)立;茲盤的冗余陣列,用于保存操作系統(tǒng)及 其它相關(guān)軟件,以及用于保存諸如與客戶機(jī)代理120相關(guān)的任一程序的 應(yīng)用軟件程序??蛇x地,任意一種安裝裝置116還可以被用作存儲(chǔ)裝置 128。另外,操作系統(tǒng)和軟件可以從可引導(dǎo)介質(zhì)中運(yùn)行,所述可引導(dǎo)介質(zhì) 例如像KNOPPIX⑧的可引導(dǎo)CD,作為來自于knoppix. net可用作G冊(cè)/Linux 分發(fā)的GNU/Linux的可引導(dǎo)CD。
0059進(jìn)一步地,計(jì)算裝置100可以包括通過多種連接聯(lián)接到局 域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或因特網(wǎng)的網(wǎng)絡(luò)接口 118,所述多種連接包 括但不限于標(biāo)準(zhǔn)電話線、LAN或WAN鏈路(例如,802.11、 Tl、 T3、 56kb、 X.25)、寬帶連接(例如,ISDN、幀中繼、ATM)、無線連接或上述任一或 所有連接的一些組合。網(wǎng)絡(luò)接口 118可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接 口卡、PCMCIA網(wǎng)卡、插件總線網(wǎng)絡(luò)適配器、無線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò) 適配器、調(diào)制解調(diào)器或適于將計(jì)算裝置100連接到可以傳達(dá)并執(zhí)行此處所描述的操作的任一類型的網(wǎng)絡(luò)的任一其它裝置。各式各樣的I/O裝置
130a-130n可以存在于計(jì)算裝置100中。輸入裝置包括鍵盤、鼠標(biāo)、軌道 墊、軌道球、麥克風(fēng)以及繪畫板。輸出裝置包括視頻顯示器、揚(yáng)聲器、 噴墨打印機(jī)、激光打印機(jī)和染料升華打印機(jī)。I/O裝置130可以由如圖 1E所示的I/O控制器123控制。I/O控制器可以控制諸如鍵盤126和例 如鼠標(biāo)或光筆的點(diǎn)擊裝置127的一個(gè)或多個(gè)1/0裝置。進(jìn)一步地,1/0裝 置還可以為計(jì)算裝置IOO提供存儲(chǔ)裝置128和/或安裝介質(zhì)116。還是在 其它實(shí)施例中,計(jì)算裝置100可以提供USB連接以接收諸如由位于Los Alamitos, California的Twintech Indus try/>司出品的USB閃存驅(qū)動(dòng)器 系列裝置這樣的便攜USB存儲(chǔ)裝置。
0060在一些實(shí)施例中,計(jì)算裝置100可以包括或連接到多個(gè)顯 示裝置124a-124n,每個(gè)顯示裝置可以是相同或不同的類型和/或形式。 因而,任意一種1/0裝置130a-130n和/或1/0控制器123可以包括4壬一 類型和/或形式的適當(dāng)?shù)挠布④浖蛴布蛙浖慕M合,以支持、允許 或提供通過計(jì)算裝置100連接和使用多個(gè)顯示裝置124a-124n。例如,計(jì) 算裝置100可以包括任一類型和/或形式的視頻適配器、視頻卡、驅(qū)動(dòng)程 序和/或庫,以聯(lián)系、通信、連接或以其他方式^f吏用顯示裝置124a-124n。 在一個(gè)實(shí)施例中,視頻適配器可以包括多個(gè)連接器以聯(lián)接多個(gè)顯示裝置 124a-124n。在其它實(shí)施例中,計(jì)算裝置100可以包括多個(gè)視頻適配器, 每個(gè)視頻適配器連接到一個(gè)或多個(gè)顯示裝置124a-124n。在一些實(shí)施例 中,計(jì)算裝置100的操作系統(tǒng)的任一部分可以被配置用于使用多個(gè)顯示 器124a-124n。在其它實(shí)施例中, 一個(gè)或多個(gè)顯示裝置124a-124n可以由 一個(gè)或多個(gè)諸如例如通過網(wǎng)絡(luò)連接到計(jì)算裝置100的計(jì)算裝置100a和 100b的其它的計(jì)算裝置來提供。這些實(shí)施例可以包括被設(shè)計(jì)和構(gòu)建為將 另一個(gè)計(jì)算機(jī)的顯示裝置用作計(jì)算裝置100的第二顯示裝置124a的任一 類型的軟件。本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)和理解計(jì)算裝置100可以被配 置為具有多個(gè)顯示裝置124a-124n的多個(gè)方法和實(shí)施例。
0061在進(jìn)一步的實(shí)施例中,1/0裝置130可以是在系統(tǒng)總線150 和外部通信總線之間的網(wǎng)橋170,所述外部通信總線例如USB總線、Apple Desktop總線、RS-232串行連接、SCSI總線、FireWire總線、FireWire800總線、以太網(wǎng)總線、A卯leTalk總線、吉比特以太網(wǎng)總線、異步傳送 模式總線、HIPPI總線、超HIPPI總線、SerialPlus總線、SCI/LAMP總 線、FibreChannel總線或串行附加小型計(jì)算機(jī)系統(tǒng)接口總線。
0062圖1E和1F中描述類型的計(jì)算裝置100典型地在控制任務(wù) 的調(diào)度和對(duì)系統(tǒng)資源的訪問的操作系統(tǒng)的控制下操作。計(jì)算裝置100可 以運(yùn)行任一操作系統(tǒng),例如任意一種版本的微軟⑧Windows操作系統(tǒng)、不 同版本的Unix和Linux操作系統(tǒng)、用于Macintosh計(jì)算機(jī)的任一版本的 MacOS 、任一的嵌入式操作系統(tǒng)、任一的實(shí)時(shí)操作系統(tǒng)、任一的開放源 操作系統(tǒng)、任一的專用操作系統(tǒng)、用于移動(dòng)計(jì)算裝置的任一操作系統(tǒng)、 或者可以運(yùn)行在計(jì)算裝置上并執(zhí)行此處所描述的操作的任一其它操作系 統(tǒng)。典型的操作系統(tǒng)其中包括:WINDOWS 3. x、 WINDOWS 95、 WINDOWS 98、 WINDOWS 2000、 WINDOWS NT 3. 51、 WINDOWS NT 4. 0、 WINDOWS CE和WINDOWS XP,所有這些均由位于Redmond, Washington的微軟7>司出品;由位于 Cupertino, California的蘋果計(jì)算機(jī)出品的MacOS;由位于Armonk, New York的國際商業(yè)才幾器乂>司出品的OS/2;以及由位于Salt Lake City, Utah 的Caldera公司發(fā)布的可免費(fèi)使用的Linux操作系統(tǒng)或者任一類型和/或 形式的Unix操作系統(tǒng),以及其它。
0063在其它實(shí)施例中,計(jì)算裝置100可以具有和所述裝置一致 的不同的處理器、操作系統(tǒng)和輸入裝置。例如,在一個(gè)實(shí)施例中,計(jì)算 機(jī)100是由Palm/>司出品的Treo180、 270、 1060、 600或650智能電話。 在該實(shí)施例中,Treo智能電話在PalmOS操作系統(tǒng)的控制下操作,并包括 指示筆輸入裝置以及五向?qū)Ш窖b置。此外,計(jì)算裝置100可以是任一工 作站、臺(tái)式計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、服務(wù)器、便攜計(jì)算機(jī)、移 動(dòng)電話、任一其它計(jì)算機(jī)、或者可以通信并具有執(zhí)行此處所描述的操作 的足夠的處理器能力和存儲(chǔ)容量的其它形式的計(jì)算或電信裝置。
B.設(shè)備架構(gòu)
0064圖2A舉例說明了設(shè)備200的一個(gè)示例實(shí)施例。提供圖2A 中的設(shè)備200的架構(gòu)僅僅是為了說明,并不是意于進(jìn)行限制。如圖2所 示,設(shè)備200包括硬件層206和被分為用戶空間202和內(nèi)核空間204的軟件層。
0065硬件層206提供在其上執(zhí)行內(nèi)核空間204和用戶空間202 中的程序和服務(wù)的硬件元件。硬件層206還提供允許內(nèi)核空間204和用 戶空間202中的程序和服務(wù)關(guān)于設(shè)備200的向內(nèi)和向外傳遞數(shù)據(jù)的結(jié)構(gòu) 和元件。如圖2所示,硬件層206包括用于執(zhí)行軟件程序和服務(wù)的處理 單元262、用于保存軟件和數(shù)據(jù)的存儲(chǔ)器264、用于在網(wǎng)絡(luò)上發(fā)送和接收 數(shù)據(jù)的網(wǎng)絡(luò)端口 266以及用于執(zhí)行與在網(wǎng)絡(luò)上發(fā)送和接收的數(shù)據(jù)的安全 套接字層處理相關(guān)的功能的加密處理器260。在一些實(shí)施例中,中央處理 單元262可以在單個(gè)的處理器中執(zhí)行加密處理器260的功能。另外,硬 件層206可以包括用于每個(gè)處理單元262和加密處理器260的多個(gè)處理 器。處理器262可以包括如上所述的與圖1E和1F有關(guān)的任一處理器101。 在一些實(shí)施例中,中央處理單元262可以在單個(gè)的處理器中執(zhí)行加密處 理器260的功能。另外,硬件層206可以包括用于每個(gè)處理單元262和 加密處理器260的多個(gè)處理器。例如,在一個(gè)實(shí)施例中,設(shè)備200包括 第一處理器262和第二處理器262'。在其它實(shí)施例中,處理器262或262' 包括多核處理器。
0066雖然通常所示設(shè)備200的硬件層206具有加密處理器260, 但處理器260可以是用于執(zhí)行與諸如安全套接字層(SSL )或傳輸層安全 (TLS)協(xié)議的任一加密協(xié)議相關(guān)的功能的處理器。在一些實(shí)施例中,處 理器260可以是通用處理器(GPP),并且在進(jìn)一步的實(shí)施例中,可以具 有用于執(zhí)行任一安全相關(guān)協(xié)議的處理的可執(zhí)行指令。
0067雖然在圖2中用某些元件來說明設(shè)備200的硬件層206,但 設(shè)備200的硬件部分或部件可以包括計(jì)算裝置的任一類型和形式的元件、 硬件或軟件,諸如此處結(jié)合圖1E和1F來舉例說明和討論的計(jì)算裝置100。 在一些實(shí)施例中,設(shè)備200可以包括服務(wù)器、網(wǎng)關(guān)、路由器、交換機(jī)、 網(wǎng)橋或其它類型的計(jì)算或網(wǎng)絡(luò)裝置,并具有與此相關(guān)的任一硬件和/或軟 件元件。
0068設(shè)備200的操作系統(tǒng)將可用的系統(tǒng)存儲(chǔ)器分配、管理或者 以其他方式分離成內(nèi)核空間204和用戶空間204。在示例的軟件架構(gòu)200 中,操作系統(tǒng)可以是任一類型和/或形式的Unix操作系統(tǒng),盡管本發(fā)明并未這樣限制。因而,設(shè)備200可以運(yùn)行任一操作系統(tǒng),例如任意一種
版本的微軟⑧Windows操作系統(tǒng)、不同版本的Unix和Linux操作系統(tǒng)、用于Macintosh計(jì)算機(jī)的任一版本的Mac 0S 、任一的嵌入式操作系統(tǒng)、任一的網(wǎng)絡(luò)操作系統(tǒng)、任一的實(shí)時(shí)操作系統(tǒng)、任一的開放源操作系統(tǒng)、任一的專用操作系統(tǒng)、用于移動(dòng)計(jì)算裝置或網(wǎng)絡(luò)裝置的任一操作系統(tǒng)、或者可以運(yùn)行在設(shè)備200上并執(zhí)行此處所描述的操作的任一其它操作系統(tǒng)。
0069內(nèi)核空間204被保留用于運(yùn)行內(nèi)核230,所述內(nèi)核230包括任一設(shè)備驅(qū)動(dòng)程序、內(nèi)核擴(kuò)展或其它內(nèi)核相關(guān)軟件。如本領(lǐng)域技術(shù)人員所知,內(nèi)核230是操作系統(tǒng)的核心,并提供對(duì)應(yīng)用104的資源和硬件相關(guān)的元件的訪問、控制和管理。才艮據(jù)設(shè)備200的實(shí)施例,內(nèi)核空間204還包括和有時(shí)還被稱為集成高速緩存的高速緩存管理器232 —起工作的多個(gè)網(wǎng)絡(luò)服務(wù)或進(jìn)程,此處進(jìn)一步詳細(xì)描述其有益之處。另外,內(nèi)核230的實(shí)施例將依賴于由裝置200所安裝、配置或者以其他方式使用的操作系統(tǒng)的實(shí)施例。
0070在一個(gè)實(shí)施例中,裝置200包括諸如基于TCP/IP的堆棧的一個(gè)網(wǎng)絡(luò)堆棧267,用于與客戶機(jī)102和/或服務(wù)器106進(jìn)行通信。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧267用于與諸如網(wǎng)絡(luò)108的第一網(wǎng)絡(luò)以及第二網(wǎng)絡(luò)110進(jìn)行通信。在一些實(shí)施例中,裝置200終止諸如客戶機(jī)102的TCP連接的第一傳輸層連接,并建立由客戶機(jī)102使用的到服務(wù)器106的第二傳輸層連接,例如,第二傳輸層連接在設(shè)備200和服務(wù)器106處終止。第一和第二傳輸層連接可以經(jīng)由單個(gè)的網(wǎng)絡(luò)堆棧267建立。在其它實(shí)施例中,裝置200可以包括例如267和267'的多個(gè)網(wǎng)絡(luò)堆棧,并且第一傳輸層連接可以在一個(gè)網(wǎng)絡(luò)堆棧267處建立或終止,而第二傳輸層連接在第二網(wǎng)絡(luò)堆棧267'上建立或終止。例如, 一個(gè)網(wǎng)絡(luò)堆??梢杂糜谠诘谝痪W(wǎng)絡(luò)上接收和發(fā)送網(wǎng)絡(luò)分組,而另 一個(gè)網(wǎng)絡(luò)堆棧用于在第二網(wǎng)絡(luò)上接收和發(fā)送網(wǎng)絡(luò)分組。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧267包括用于對(duì)設(shè)備200發(fā)送的一個(gè)或多個(gè)網(wǎng)絡(luò)分組排隊(duì)的緩沖器243。
0071如圖2所示,內(nèi)核空間204包括高速緩存管理器232、高速層2-7集成分組引擎240、加密引擎234、策略引擎236和多協(xié)議壓縮邏輯238。在內(nèi)核空間204或內(nèi)核模式而不是用戶空間202中單獨(dú)以及組合地運(yùn)行這些部件或進(jìn)程232、 240、 234、 236和238改進(jìn)每一個(gè)這些部件的性能。內(nèi)核操作意味著這些部件或進(jìn)程232、 240、 234、 236和238運(yùn)行在裝置200的操作系統(tǒng)的核心地址空間中。例如,在內(nèi)核模式中運(yùn)行加密引擎234通過將加密與解密操作移到內(nèi)核來改善加密性能,從而減少在內(nèi)核模式中的存儲(chǔ)空間或內(nèi)核線程與用戶模式中的存儲(chǔ)空間或線程之間的轉(zhuǎn)換的次數(shù)。例如,可以不需要將內(nèi)核模式中獲得的數(shù)據(jù)傳遞或復(fù)制到運(yùn)行在用戶模式中的進(jìn)程或線程,例如從內(nèi)核級(jí)的數(shù)據(jù)結(jié)構(gòu)到用戶級(jí)的數(shù)據(jù)結(jié)構(gòu)。在另一個(gè)方面,還減少了在內(nèi)核模式與用戶模式之間的上下文轉(zhuǎn)換的次數(shù)。另外,在內(nèi)核空間204中可以更有效地執(zhí)行在任意一個(gè)部件或進(jìn)程232、 240、 235、 236和238之間通信和通信的同步。
0072在一些實(shí)施例中,部件232、 240、 234、 236和238的任一部分可以運(yùn)行或操作在內(nèi)核空間204中,而這些部件232、 240、 234、 236和238的其它部分可以運(yùn)^f亍或梯:作在用戶空間202中。在一個(gè)實(shí)施例中,設(shè)備200使用提供對(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)分組的任一部分的訪問的內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu),例如,網(wǎng)絡(luò)分組包括來自于客戶機(jī)102的請(qǐng)求或來自于服務(wù)器106的響應(yīng)。在一些實(shí)施例中,可以由分組引擎240經(jīng)由到網(wǎng)絡(luò)堆棧267的傳輸層驅(qū)動(dòng)程序接口或過濾器來獲得內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)。內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)可以包括可經(jīng)由與網(wǎng)絡(luò)堆棧267相關(guān)的內(nèi)核空間204存取的任一接口和/或數(shù)據(jù)、由網(wǎng)絡(luò)堆棧267接收或傳送的網(wǎng)絡(luò)業(yè)務(wù)量或分組。在其它實(shí)施例中,可以由部件或進(jìn)程232、 240、 234、 236和238中的《壬意一個(gè)來使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu),以執(zhí)行部件或進(jìn)程的期望的操作。在一個(gè)實(shí)施例中,部件232、 240、 234、 236和238在使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)時(shí)運(yùn)行于內(nèi)核才莫式204中,而在另一個(gè)實(shí)施例中,部件232、 240、 234、 236和238在使用內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)時(shí)運(yùn)行于用戶才莫式中。在一些實(shí)施例中,可以將內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)復(fù)制或傳遞到第二內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)或任一期望的用戶級(jí)數(shù)據(jù)結(jié)構(gòu)。
0073高速緩存管理器232可以包括軟件、硬件或軟件和硬件的任一組合,以提供對(duì)諸如由發(fā)信服務(wù)器106提供的對(duì)象或動(dòng)態(tài)生成的對(duì)象的任一類型和形式的內(nèi)容的高速緩存訪問、控制和管理。由高速緩存管理器232處理和保存的數(shù)據(jù)、對(duì)象或內(nèi)容可以包括諸如標(biāo)記語言的或者通過任一協(xié)議傳達(dá)的任一格式的數(shù)據(jù)。在一些實(shí)施例中,高速緩存管
理器232復(fù)制存儲(chǔ)在別處的原始數(shù)據(jù)或者以前計(jì)算、生成或發(fā)送的數(shù)據(jù),其中原始數(shù)據(jù)也許需要相對(duì)于讀取高速緩存元件來說更長的訪問時(shí)間以取出、計(jì)算或者以其他方式獲取。 一旦數(shù)據(jù)被保存在高速緩存元件中,未來的使用可以通過訪問高速緩存的拷貝而不是重新取回或再計(jì)算原始數(shù)據(jù)來進(jìn)行,從而減少訪問時(shí)間。在一些實(shí)施例中,高速緩存元件可以包括裝置200的存儲(chǔ)器264中的數(shù)據(jù)對(duì)象。在其它實(shí)施例中,高速緩存元件可以包括具有比存儲(chǔ)器264更快的訪問時(shí)間的存儲(chǔ)器。在另一個(gè)實(shí)施例中,高速緩存元件可以包括諸如^_盤的一部分的裝置200的任一類型和形式的存儲(chǔ)元件。在一些實(shí)施例中,處理單元262可以提供由高速緩存管理器232使用的高速緩存。然而在進(jìn)一步的實(shí)施例中,高速緩存管理器232可以使用存儲(chǔ)器、存儲(chǔ)裝置或處理單元的任一部分和組合,以用于高速緩存數(shù)據(jù)、對(duì)象及其它內(nèi)容。
0074進(jìn)一步地,高速緩存管理器232包括任一邏輯、功能、規(guī)則或操作,以執(zhí)行此處所描述的設(shè)備200的技術(shù)的任一實(shí)施例。例如,高速緩存管理器232包括根據(jù)失效時(shí)間周期的期滿或一旦從客戶機(jī)102或服務(wù)器106接收到失效命令來使對(duì)象無效的邏輯或功能。在一些實(shí)施例中,高速緩存管理器232可以作為在內(nèi)核空間204中執(zhí)行的程序、月l務(wù)、進(jìn)程或任務(wù)來操作,而在其它實(shí)施例中是在用戶空間202中操作。在一個(gè)實(shí)施例中,高速緩存管理器232的第一部分在用戶空間202中寺丸行,而第二部分在內(nèi)核空間204中執(zhí)行。在一些實(shí)施例中,高速緩存管理器232可以包括任一類型的通用處理器(GPP)或者諸如現(xiàn)場(chǎng)可編程門陣列(FPGA)、可編程邏輯器件(PLD)或?qū)S眉呻娐?ASIC)的任一其它類型的集成電路。
0075例如,策略引擎236可以包括智能統(tǒng)計(jì)引擎或者其它的可編程應(yīng)用。在一個(gè)實(shí)施例中,策略引擎236提供配置機(jī)制以允許用戶標(biāo)識(shí)、指定、限定或配置高速緩存策略。在一些實(shí)施例中,策略引擎236還可以訪問存儲(chǔ)器以支持諸如查找表或哈希表的數(shù)據(jù)結(jié)構(gòu)來啟用用戶選擇的高速緩存策略決策。在其它實(shí)施例中,策略引擎236可以包括任一邏輯、規(guī)則、功能或操作,以便確定和提供除了由設(shè)備200執(zhí)行的安全、網(wǎng)絡(luò)業(yè)務(wù)量、網(wǎng)絡(luò)訪問、壓縮或任一其它功能或操作的訪問、控制和管
理之外的由設(shè)備200高速緩存的對(duì)象、數(shù)據(jù)或內(nèi)容的訪問、控制和管理。
此處進(jìn) 一 步描述特定高速緩存策略的進(jìn) 一 步的實(shí)例。
0076在一些實(shí)施例中,策略引擎236可以提供配置機(jī)制以允許用戶標(biāo)識(shí)、指定、限定或配置指導(dǎo)包括但不限于圖2B中描述的諸如vServers 275、 VPN功能280、內(nèi)聯(lián)網(wǎng)IP功能282、交換功能284、 DNS功能286、加速功能288、應(yīng)用防火墻功能290和監(jiān)控代理197的部件的設(shè)備的任一其它部件或功能的行為的策略。在其它實(shí)施例中,策略引擎236可以響應(yīng)于任一配置的策略來進(jìn)行檢查、評(píng)價(jià)、實(shí)現(xiàn)或者以其他方式產(chǎn)生作用,并且還可以響應(yīng)于策略來指導(dǎo)一個(gè)或多個(gè)設(shè)備功能的操作。
0077加密引擎234包括用于操控諸如SSL或TLS的任一安全相關(guān)協(xié)議的處理的任一邏輯、商業(yè)規(guī)則、功能或操作,或者另外的任一相關(guān)功能。例如,加密引擎234加密并解密經(jīng)由設(shè)備200傳遞的網(wǎng)絡(luò)分組或者其中的任一部分。加密引擎234還可以為客戶機(jī)102a-102n、服務(wù)器106a-106n或設(shè)備200設(shè)置或建立SSL或TLS連接。因而,加密引擎234提供SSL處理的卸載和加速。在一個(gè)實(shí)施例中,加密引擎234使用隧道協(xié)議來在客戶機(jī)102a-102n和服務(wù)器106a-106n之間提供虛擬專用網(wǎng)。在一些實(shí)施例中,加密引擎234與加密處理器260進(jìn)行通信。在其它實(shí)施例中,加密引擎234包括運(yùn)行在加密處理器260上的可執(zhí)行指令。
0078多協(xié)議壓縮引擎238包括用于壓縮諸如由裝置200的網(wǎng)絡(luò)堆棧267使用的任意一種協(xié)議的一個(gè)或多個(gè)協(xié)議的網(wǎng)絡(luò)分組的任一邏輯、商業(yè)規(guī)則、功能或操作。在一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238雙向地在客戶機(jī)102a-102n和服務(wù)器106a-106n之間壓縮任一的基于TCP/IP的協(xié)議,包括消息應(yīng)用編程接口 (MAPI )(電子郵件)、文件傳送協(xié)議(FTP )、超文本傳送協(xié)議(HTTP)、通用Internet文件系統(tǒng)(CIFS)協(xié)議(文件傳送)、獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議、遠(yuǎn)程桌面協(xié)議(RDP)、無線應(yīng)用協(xié)議(WAP)、移動(dòng)IP協(xié)議和IP上語音(VoIP)協(xié)議。在其它實(shí)施例中,多協(xié)議壓縮引擎238提供基于超文本標(biāo)記語言(HTML)的協(xié)議的壓縮,并且在一些實(shí)施例中提供諸如可擴(kuò)展標(biāo)記語言(XML)的任一標(biāo)記語言的壓縮。在一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238提供諸如為設(shè)備200設(shè)計(jì)用于設(shè)備200通信的的任一協(xié)議的任一高性能協(xié)議的壓縮。在另一個(gè)實(shí)施例中,多協(xié)議壓縮引擎238使用修改的傳輸控制協(xié)議來壓縮任一通信的任一有效載荷或任一通信,所述修改的傳輸控制協(xié)議諸如事務(wù)TCP(T/TCP )、具有選一奪確認(rèn)的TCP( TCP-SACK )、具有大窗口的TCP( TCP-LW )、諸如TCP-Vegas協(xié)議的擁塞預(yù)測(cè)協(xié)議以及TCP欺騙協(xié)議。
0079]因而,多協(xié)議壓縮引擎238為經(jīng)由桌面客戶機(jī)以及甚至移動(dòng)客戶機(jī)訪問應(yīng)用的用戶加速性能,所述桌面客戶機(jī)例如微軟Outlook以及T者如由i者如Oracle、 SAP和Siebel的通用的企業(yè)應(yīng)用所啟動(dòng)的〗壬一客戶機(jī)的非web瘦客戶機(jī),所述移動(dòng)客戶機(jī)例如掌上電腦。在一些實(shí)施例中,通過執(zhí)行于內(nèi)核模式204中以及與訪問網(wǎng)絡(luò)堆棧267的分組處理引擎24G結(jié)合在一起,多協(xié)議壓縮引擎238可以壓縮諸如任一應(yīng)用層協(xié)議的由TCP/IP協(xié)議所攜帶的任意一種協(xié)議。
0080通常也被稱為分組處理引擎或分組引擎的高速層2-7集成分組引擎240負(fù)責(zé)管理由設(shè)備200經(jīng)由網(wǎng)絡(luò)端口 266接收和發(fā)送的分組的內(nèi)核級(jí)處理。高速層2-7集成分組引擎240可以包括用于在例如接收網(wǎng)絡(luò)分組或發(fā)送網(wǎng)絡(luò)分組的處理期間排隊(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)分組的緩沖器。另外,高速層2-7集成分組引擎240與一個(gè)或多個(gè)網(wǎng)絡(luò)堆棧267通信以經(jīng)由網(wǎng)絡(luò)端口 266發(fā)送和接收網(wǎng)絡(luò)分組。高速層2-7集成分組引擎240和加密引擎234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮邏輯238 —起工作。更具體地,加密引擎234被配置為執(zhí)行分組的SSL處理,策略引擎236被配置為執(zhí)行諸如請(qǐng)求級(jí)內(nèi)容交換和請(qǐng)求級(jí)高速緩存重定向的與業(yè)務(wù)量管理相關(guān)的功能,而多協(xié)議壓縮邏輯238被配置為執(zhí)行與數(shù)據(jù)的壓縮和解壓縮相關(guān)的功能。
0081高速層2-7集成分組引擎240包括分組處理定時(shí)器242。在一個(gè)實(shí)施例中,分組處理定時(shí)器242提供一個(gè)或多個(gè)時(shí)間間隔以觸發(fā)輸入(即,接收)或輸出(即,發(fā)送)網(wǎng)絡(luò)分組的處理。在一些實(shí)施例中,高速層2-7集成分組引擎240響應(yīng)于定時(shí)器242來處理網(wǎng)絡(luò)分組。分組處理定時(shí)器242提供任一類型和形式的信號(hào)給分組引擎240,以通知、觸發(fā)或傳達(dá)時(shí)間相關(guān)的事件、間隔或發(fā)生。在許多實(shí)施例中,分組處理定時(shí)器242以例如像100毫秒、5G毫秒或25毫秒這樣的毫秒級(jí)來進(jìn)行操作。例如,在一些實(shí)施例中,分組處理定時(shí)器242提供時(shí)間間隔或者以其他方式使高速層2-7集成分組引擎240以10毫秒的時(shí)間間隔來處理網(wǎng)絡(luò)分組,而在其它實(shí)施例中按5毫秒的時(shí)間間隔,以及甚至在更進(jìn)一步的實(shí)施例中短到3、 2或1毫秒的時(shí)間間隔。在操作期間,高速層2-7集成分組引擎240可以與加密引擎234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮引擎238交互、集成或通信。因而,可以響應(yīng)于分組處理定時(shí)器242和/或分組引擎240來執(zhí)行加密引擎234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮邏輯238的任一邏輯、功能或操作。因此,可以以例如小于或等于10毫秒的時(shí)間間隔的通過分組處理定時(shí)器242才是供的時(shí)間間隔的粒度來執(zhí)行加密引擎234、高速緩存管理器232、策略引擎236和多協(xié)議壓縮邏輯238的任一邏輯、功能或操作。例如,在一個(gè)實(shí)施例中,高速緩存管理器232可以響應(yīng)于高速層2-7集成分組引擎240和/或分組處理定時(shí)器242來執(zhí)行任一高速緩存對(duì)象的失效。在另一個(gè)實(shí)施例中,可以將高速緩存對(duì)象的滿期或失效時(shí)間設(shè)置為與分組處理定時(shí)器242的時(shí)間間隔相同的粒度級(jí),例如每10毫秒。
0082與內(nèi)核空間204不同,用戶空間202是由用戶模式應(yīng)用或者以其他方式運(yùn)行于用戶模式的程序所使用的存儲(chǔ)器區(qū)域或部分操作系統(tǒng)。用戶才莫式應(yīng)用可以不直接訪問內(nèi)核空間204而使用服務(wù)調(diào)用以訪問內(nèi)核服務(wù)。如圖2所示,設(shè)備200的用戶空間202包括圖形用戶界面(GUI )210、命令行接口 (CLI) 212、命令解釋程序(shell)服務(wù)214、健康監(jiān)測(cè)程序216和守護(hù)服務(wù)218。 GUI 210和CLI 212提供一個(gè)裝置,通過所述裝置,系統(tǒng)管理員或其它用戶可以與設(shè)備200的操作相互作用并控制設(shè)備200的操作,例如通過設(shè)備200的操作系統(tǒng),并且兩者之一是用戶空間202或內(nèi)核空間204。 GUI 210可以是任一類型和形式的圖形用戶界面,并且可以通過文本、圖形或者以其他方式通過像瀏覽器的任一類型的程序或應(yīng)用來呈現(xiàn)。CLI 212可以是任一類型和形式的命令行或基于文本的接口,例如由操作系統(tǒng)提供的命令行。例如,CLI212可以包括命令解釋程序,所述命令解釋程序是允許用戶與操作系統(tǒng)相互作用的工具。在一些實(shí)施例中,CLI 212可以通過bash、 csh、 tcsh或ksh型命令解釋程序來提供。命令解釋程序服務(wù)214包括程序、服務(wù)、任務(wù)、進(jìn)程或可
執(zhí)行指令以支持用戶通過GUI 210和/或CLI 212與設(shè)備200或操作系統(tǒng) 相互作用。
0083健康監(jiān)測(cè)程序216被用于監(jiān)控、檢查、報(bào)告和確保網(wǎng)絡(luò)系 統(tǒng)在正常工作以及用戶通過網(wǎng)絡(luò)接收所請(qǐng)求的內(nèi)容。健康監(jiān)測(cè)程序216 包括一個(gè)或多個(gè)程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí)行指令以提供用于監(jiān)測(cè) 設(shè)備200的任一活動(dòng)的邏輯、規(guī)則、功能或操作。在一些實(shí)施例中,健 康監(jiān)測(cè)程序216攔截并檢查經(jīng)由設(shè)備200傳遞的任一網(wǎng)絡(luò)業(yè)務(wù)量。在其 它實(shí)施例中,健康監(jiān)測(cè)程序216通過任一合適的方法和/或機(jī)制與一個(gè)或 多個(gè)下列單元連接加密引擎234、高速緩存管理器232、策略引擎236、 多協(xié)議壓縮邏輯238、分組引擎240、守護(hù)服務(wù)218和命令解釋程序服務(wù) 214。因而,健康監(jiān)測(cè)程序216可以調(diào)用任一應(yīng)用編程接口 (API)以確 定設(shè)備200的任一部分的狀態(tài)、狀況或健康。例如,健康監(jiān)測(cè)程序216 可以周期性地查驗(yàn)或發(fā)送一個(gè)情況查詢以檢測(cè)程序、進(jìn)程、服務(wù)或任務(wù) 是否有效以及當(dāng)前正在運(yùn)行。在另一個(gè)實(shí)例中,健康監(jiān)測(cè)程序216可以 檢查由任一程序、進(jìn)程、服務(wù)或任務(wù)^R供的任一狀態(tài)、錯(cuò)誤或歷史記錄, 以確定設(shè)備200的任一部分的任一情況、狀態(tài)或錯(cuò)誤。
0084守護(hù)服務(wù)218是連續(xù)或在后臺(tái)運(yùn)行并處理由設(shè)備200接收 到的周期性服務(wù)請(qǐng)求的程序。在一些實(shí)施例中,守護(hù)服務(wù)可以將請(qǐng)求轉(zhuǎn) 發(fā)給其它程序或進(jìn)程,例如酌情轉(zhuǎn)發(fā)給另一個(gè)守護(hù)服務(wù)218。如本領(lǐng)域技 術(shù)人員所知,守護(hù)服務(wù)218可以無人監(jiān)護(hù)地運(yùn)行以執(zhí)行諸如網(wǎng)路控制的 連續(xù)的或周期性的全系統(tǒng)的功能或者執(zhí)行任一期望的任務(wù)。在一些實(shí)施 例中, 一個(gè)或多個(gè)守護(hù)服務(wù)218運(yùn)行在用戶空間202中,而在其它實(shí)施 例中, 一個(gè)或多個(gè)守護(hù)服務(wù)218運(yùn)行在內(nèi)核空間中。
0085現(xiàn)在參考圖2B,描述了設(shè)備200的另一個(gè)實(shí)施例。總的來 說,設(shè)備200提供下列服務(wù)、功能或操作中的一個(gè)或多個(gè)用于一個(gè)或 多個(gè)客戶機(jī)102以及一個(gè)或多個(gè)服務(wù)器106之間的通信的SSL VPN連通 性280、交換/負(fù)載平衡284、域名服務(wù)解析286、加速288和應(yīng)用防火墻 2M。每個(gè)服務(wù)器106可以提供一個(gè)或多個(gè)網(wǎng)絡(luò)相關(guān)的服務(wù)270a-270n(稱 為服務(wù)270 )。例如,服務(wù)器106可以提供http服務(wù)270。設(shè)備200包括一個(gè)或多個(gè)虛擬服務(wù)器或虛擬網(wǎng)際協(xié)議服務(wù)器,其被稱為vServer、 VIP 服務(wù)器或僅僅稱為VIP 275a-275n(此處也凈皮稱為vServer 275 )。 vServer 275根據(jù)設(shè)備200的配置和操作來接收、攔截或者以其他方式處理客戶機(jī) 102和服務(wù)器106之間的通信。
0086vServer 275可以包括軟件、硬件或軟件和石更件的任一組合。 vServer 275可以包括在設(shè)備200中的用戶^t式202、內(nèi)核^^莫式204中或 其任一組合中操作的任一類型和形式的程序、服務(wù)、任務(wù)、進(jìn)程或可執(zhí) 行指令。vServer 275包括任一邏輯、功能、規(guī)則或操作以執(zhí)行此處所描 述的技術(shù)的任一實(shí)施例,例如SSL VPN 280、交換/負(fù)載平衡284、域名 服務(wù)解析286、加速288和應(yīng)用防火墻290。在一些實(shí)施例中,vServer 275 建立到服務(wù)器106的服務(wù)270的連接。服務(wù)275可以包括可以連接和通 信到設(shè)備200、客戶機(jī)102或vServer 275的任一程序、應(yīng)用、進(jìn)程、任 務(wù)或可執(zhí)4亍指令組。例如,服務(wù)275可以包括web服務(wù)器、http服務(wù)器、 ftp、電子郵件或數(shù)據(jù)庫服務(wù)器。在一些實(shí)施例中,服務(wù)270是用于監(jiān)聽、 接收和/或發(fā)送用于諸如電子郵件、數(shù)據(jù)庫或企業(yè)應(yīng)用的應(yīng)用的通信的守 護(hù)進(jìn)程或網(wǎng)絡(luò)驅(qū)動(dòng)程序。在一些實(shí)施例中,服務(wù)270可以在一個(gè)特定IP 地址或IP地址和端口上進(jìn)行通信。
0087在一些實(shí)施例中,vServer 275將策略引擎236的一個(gè)或多 個(gè)策略應(yīng)用到客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)通信。在一個(gè)實(shí)施例 中,策略與VServer 275有關(guān)。在另一個(gè)實(shí)施例中,策略基于一個(gè)用戶 或一組用戶。在又一個(gè)實(shí)施例中,策略是全局的并且應(yīng)用到一個(gè)或多個(gè) vServers 275a-275n以及經(jīng)由設(shè)備200通信的任一用戶或用戶組。在一 些實(shí)施例中,策略引擎的策略有條件,在所述條件時(shí)根據(jù)諸如網(wǎng)際協(xié)議 地址、端口、協(xié)議類型、報(bào)頭或分組中的字段的通信的任一內(nèi)容或者諸 如用戶、用戶組、vServer 275、傳輸層連接和/或客戶才幾102或服務(wù)器 106的標(biāo)識(shí)或?qū)傩缘耐ㄐ派舷挛膩響?yīng)用策略。
0088在其它實(shí)施例中,設(shè)備200與策略引擎236通信或連接以 確定對(duì)遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102訪問服務(wù)器106的計(jì)算環(huán)境15、應(yīng)用 和/或數(shù)據(jù)文件的驗(yàn)證和/或授權(quán)。在另一個(gè)實(shí)施例中,設(shè)備200與策略 引擎236通信或連接以確定對(duì)遠(yuǎn)程用戶或遠(yuǎn)程客戶機(jī)102的驗(yàn)證和/或授權(quán),以使應(yīng)用遞送系統(tǒng)190遞送計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件的一個(gè) 或多個(gè)。在又一個(gè)實(shí)施例中,設(shè)備200根據(jù)策略引擎236對(duì)遠(yuǎn)程用戶或 遠(yuǎn)程客戶機(jī)103的—瞼證和/或授權(quán)來建立VPN或SSL VPN連接。在一個(gè)實(shí) 施例中,設(shè)備102根據(jù)策略引擎236的策略來控制網(wǎng)絡(luò)業(yè)務(wù)量和通信會(huì) 話的流量。例如,設(shè)備200可以根據(jù)策略引擎236來控制對(duì)計(jì)算環(huán)境15、 應(yīng)用或數(shù)據(jù)文件的訪問。
0089在一些實(shí)施例中,vScrvcr 275建立諸如經(jīng)由客戶機(jī)代理 120與客戶機(jī)102的TCP或UDP連接的傳輸層連接。在一個(gè)實(shí)施例中, vServer 275監(jiān)聽并接收來自于客戶機(jī)102的通信。在其它實(shí)施例中, vServer 275與客戶服務(wù)器106建立諸如TCP或UDP連接的傳輸層連接。 在一個(gè)實(shí)施例中,vServer 275建立到運(yùn)行在服務(wù)器106上的服務(wù)器270 的網(wǎng)際協(xié)議地址和端口的傳輸層連接。在另一個(gè)實(shí)施例中,vServer 275 將到客戶機(jī)102的第一傳輸層連接與到服務(wù)器106的第二傳輸層連接關(guān) 聯(lián)起來。在一些實(shí)施例中,vServer 275建立到服務(wù)器106的傳輸層連接 池并多路復(fù)用經(jīng)由所述池化的傳輸層連接的客戶機(jī)請(qǐng)求。
0090在一些實(shí)施例中,設(shè)備200提供在客戶機(jī)102和服務(wù)器106 之間的SSLVPN連接280。例如,第一網(wǎng)絡(luò)102上的客戶機(jī)102請(qǐng)求建立 到第二網(wǎng)絡(luò)104'上的服務(wù)器106的連接。在一些實(shí)施例中,第二網(wǎng)絡(luò)104' 是不可從第一網(wǎng)絡(luò)104路由的。在其它實(shí)施例中,客戶機(jī)102在公用網(wǎng) 104上,而服務(wù)器106在諸如公司網(wǎng)的專用網(wǎng)104'上。在一個(gè)實(shí)施例中, 客戶才幾代理120攔截第一網(wǎng)絡(luò)104上的客戶才幾102的通信,加密所述通 信,并經(jīng)由第一傳輸層連接發(fā)送所述通信到設(shè)備200。設(shè)備200將第一網(wǎng) 絡(luò)104上的第一傳輸層連接關(guān)聯(lián)到第二網(wǎng)絡(luò)104上的到服務(wù)器106的第 二傳輸層連接。設(shè)備200從客戶機(jī)代理102接收被攔截的通信,解密所 述通信,并經(jīng)由第二傳輸層連接發(fā)送所述通信到第二網(wǎng)絡(luò)104上的服務(wù) 器106。第二傳輸層連接可以是池化的傳輸層連接。因而,設(shè)備200提供 在兩個(gè)網(wǎng)絡(luò)104和104'之間用于客戶機(jī)102的端到端安全傳輸層連接。
0091在一個(gè)實(shí)施例中,設(shè)備200在虛擬專用網(wǎng)104上寄載客戶 機(jī)102的內(nèi)聯(lián)網(wǎng)網(wǎng)際協(xié)議或內(nèi)聯(lián)網(wǎng)IP 282地址??蛻魴C(jī)102具有諸如第 一網(wǎng)絡(luò)104上的網(wǎng)際協(xié)議(IP )地址和/或主機(jī)名的本地網(wǎng)絡(luò)標(biāo)識(shí)符。當(dāng)經(jīng)由設(shè)備200連接到第二網(wǎng)絡(luò)104'時(shí),設(shè)備200在第二網(wǎng)絡(luò)104'上為客 戶機(jī)102建立、分配或者以其他方式提供內(nèi)聯(lián)網(wǎng)IP,其是諸如IP地址和 /或主機(jī)名的網(wǎng)絡(luò)標(biāo)識(shí)符。使用客戶機(jī)的建立的內(nèi)聯(lián)網(wǎng)IP 282,設(shè)備200 在第二或?qū)S镁W(wǎng)104'上監(jiān)聽并接收指向客戶機(jī)102的任一通信。在一個(gè) 實(shí)施例中,設(shè)備200在第二專用網(wǎng)104上充當(dāng)或代表客戶機(jī)102。例如, 在另一個(gè)實(shí)施例中,vServer 275監(jiān)聽并響應(yīng)到客戶機(jī)102的內(nèi)4關(guān)網(wǎng)IP 282的通信8在一些實(shí)施例中,如果第 一—網(wǎng)絡(luò)104'上的計(jì)算裝置100發(fā) 送請(qǐng)求,則設(shè)備200處理所述請(qǐng)求就像它是客戶機(jī)102 —樣。例如,設(shè) 備200可以響應(yīng)到客戶機(jī)的內(nèi)聯(lián)網(wǎng)IP 282的查—瞼。在另一個(gè)實(shí)例中,i殳 備可以與第二網(wǎng)絡(luò)104上的請(qǐng)求與客戶機(jī)的內(nèi)聯(lián)網(wǎng)IP 282連接的計(jì)算裝 置100建立諸如TCP或UDP連接的連接。
0092在一些實(shí)施例中,設(shè)備200提供下列一個(gè)或多個(gè)加速技術(shù) 288來在客戶機(jī)102和服務(wù)器106之間進(jìn)行通信1)壓縮;2 )解壓縮; 3)傳輸控制協(xié)議池;4)傳輸控制協(xié)議多路復(fù)用;5 )傳輸控制協(xié)議緩沖; 以及6)高速緩存。在一個(gè)實(shí)施例中,設(shè)備200通過打開與每個(gè)服務(wù)器 106的一個(gè)或多個(gè)傳輸層連接并維持這些連接以允許客戶機(jī)經(jīng)由因特網(wǎng) 的重復(fù)數(shù)據(jù)訪問來減輕服務(wù)器106的通過反復(fù)打開和關(guān)閉到客戶機(jī)102 的傳輸層連接所造成的大量處理負(fù)載。這個(gè)技術(shù)在這里被稱為"連接池"。
0093在一些實(shí)施例中,為了經(jīng)由池化的傳輸層連接來無縫接合 從客戶機(jī)102到服務(wù)器106的通信,設(shè)備200通過在傳輸層協(xié)議級(jí)修改 序號(hào)和確認(rèn)號(hào)來轉(zhuǎn)換或多路復(fù)用通信。這被稱為"連接多路復(fù)用"。在一 些實(shí)施例中,不需要應(yīng)用層協(xié)議相互作用。例如,在入站分組(即,自 客戶機(jī)102接收的分組)的情況中,所述分組的源網(wǎng)絡(luò)地址^^改變?yōu)閕殳 備200的輸出端口的網(wǎng)絡(luò)地址,而目的網(wǎng)絡(luò)地址被改變?yōu)轭A(yù)期的服務(wù)器 的網(wǎng)絡(luò)地址。在出站分組(即,自服務(wù)器106接收的一個(gè)分組)的情況 中,源網(wǎng)絡(luò)地址被從服務(wù)器106的網(wǎng)絡(luò)地址改變?yōu)樵O(shè)備200的輸出端口 的網(wǎng)絡(luò)地址,而目的地址被從設(shè)備200的網(wǎng)絡(luò)地址改變?yōu)檎?qǐng)求的客戶才幾 102的網(wǎng)絡(luò)地址。所述分組的序號(hào)和確認(rèn)號(hào)也被轉(zhuǎn)換為到客戶機(jī)102的設(shè) 備200的傳輸層連接上的客戶機(jī)102所期待的序號(hào)和確認(rèn)。在一些實(shí)施 例中,傳輸層協(xié)議的分組校驗(yàn)和被重新計(jì)算以解釋這些轉(zhuǎn)換。0094在另一個(gè)實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106 之間的通信提供交換或負(fù)載平衡功能284。在一些實(shí)施例中,設(shè)備200根 據(jù)層4或應(yīng)用層請(qǐng)求數(shù)據(jù)來分配業(yè)務(wù)量并將客戶機(jī)請(qǐng)求指向服務(wù)器106。 在一個(gè)實(shí)施例中,雖然網(wǎng)絡(luò)分組的網(wǎng)絡(luò)層或?qū)?標(biāo)識(shí)了目的服務(wù)器106, 但設(shè)備200通過作為傳輸層分組的有效載荷而攜帶的應(yīng)用信息和數(shù)據(jù)來 確定服務(wù)器106以分配網(wǎng)絡(luò)分組。在一個(gè)實(shí)施例中,設(shè)備200的健康監(jiān) 測(cè)程序216監(jiān)控服務(wù)器的健康以確定為其分配客戶機(jī)的請(qǐng)求的服務(wù)器 106。在一些實(shí)施例中,如果設(shè)備200探測(cè)到服務(wù)器106不可用或具有超 過預(yù)定閾值的負(fù)載,則設(shè)備200可以將客戶機(jī)請(qǐng)求指向或分配到另一個(gè) 服務(wù)器106。
0095在一些實(shí)施例中,設(shè)備200充當(dāng)域名服務(wù)(DNS)解析器或 者以其他方式提供來自于客戶機(jī)102的DNS請(qǐng)求的解析。在一些實(shí)施例 中,設(shè)備攔截由客戶才幾102發(fā)送的DNS請(qǐng)求。在一個(gè)實(shí)施例中,設(shè)備200 響應(yīng)具有設(shè)備200的IP地址或由設(shè)備200寄載的IP地址的客戶機(jī)的DNS 請(qǐng)求。在該實(shí)施例中,客戶機(jī)102發(fā)送用于域名的網(wǎng)絡(luò)通信到設(shè)備200。 在另一個(gè)實(shí)施例中,設(shè)備200響應(yīng)具有第二設(shè)備200'的IP地址或由第二 設(shè)備200'寄載的IP地址的客戶機(jī)的DNS請(qǐng)求。在一些實(shí)施例中,設(shè)備 200響應(yīng)具有由設(shè)備200確定的服務(wù)器106的IP地址的客戶機(jī)的DNS請(qǐng) 求。
0096在又一個(gè)實(shí)施例中,設(shè)備200為客戶機(jī)102和服務(wù)器106 之間的通信提供應(yīng)用防火墻功能290。在一個(gè)實(shí)施例中,策略引擎236提 供用于檢測(cè)和阻塞非法請(qǐng)求的規(guī)則。在一些實(shí)施例中,應(yīng)用防火墻290 防止拒絕服務(wù)(DoS)攻擊。在其它實(shí)施例中,設(shè)備檢查被攔截的請(qǐng)求的 內(nèi)容以識(shí)別和阻塞基于應(yīng)用的攻擊。在一些實(shí)施例中,規(guī)則/策略引擎236 包括用于提供對(duì)多個(gè)種類和類型的基于web或因特網(wǎng)的脆弱點(diǎn)的保護(hù)的 一個(gè)或多個(gè)應(yīng)用防火墻或安全控制策略,例如下列的一個(gè)或多個(gè)l)緩 沖器溢出,2 ) CGI-BIN參數(shù)操縱,3 )格式/隱藏字段操縱,4 )強(qiáng)制瀏覽, 5) cookie或會(huì)話中毒,6 )破譯的訪問控制表(ACLs )或弱的口令,7) 跨站點(diǎn)的腳本(XSS ), 8 )命令注入,9 ) SQL注入,10 )錯(cuò)誤觸發(fā)感測(cè)信 息泄漏,11 )不安全的使用加密技術(shù),12)服務(wù)器誤配置,13)后門和調(diào)試選擇,14)web站點(diǎn)毀損,15)平臺(tái)或操作系統(tǒng)的脆弱點(diǎn),以及16) 零天攻擊。在一個(gè)實(shí)施例中,對(duì)下列情況的一種或多種應(yīng)用防火墻290 以檢查或分析網(wǎng)絡(luò)通信的形式來提供HTML格式字段的保護(hù)1 )返回所 需的字段,2 )不允許附加字段,3 )只讀和隱藏字段強(qiáng)制(enforcement ), 4)下拉列表和單選按鈕字段的一致,以及5)格式字段最大長度強(qiáng)制。 在一些實(shí)施例中,應(yīng)用防火墻290確保cookies不被修改。在其它實(shí)施 例中,應(yīng)用防火墻290通過強(qiáng)制實(shí)施合法URL來防止強(qiáng)制瀏覽。
0097還是在其它實(shí)施例中,應(yīng)用防火墻290保護(hù)在網(wǎng)絡(luò)通信中 包含的任一機(jī)密信息。應(yīng)用防火墻290可以根據(jù)引擎236的規(guī)則或策略 來檢查或分析任一網(wǎng)絡(luò)通信以識(shí)別在網(wǎng)絡(luò)分組的任一字,殳中的任一機(jī)密 信息。在一些實(shí)施例中,應(yīng)用防火墻290在網(wǎng)絡(luò)通信中識(shí)別信用卡號(hào)、 口令、社會(huì)保險(xiǎn)號(hào)、姓名、病人代碼、聯(lián)系信息和年齡的一次或多次出 現(xiàn)。網(wǎng)絡(luò)通信的編碼部分可以包括這些出現(xiàn)或機(jī)密信息。在一個(gè)實(shí)施例 中,根據(jù)這些出現(xiàn),應(yīng)用防火墻290可以在網(wǎng)絡(luò)通信上對(duì)策略采取行動(dòng), 例如阻止網(wǎng)絡(luò)通信的發(fā)送。在另一個(gè)實(shí)施例中,應(yīng)用防火墻290可以重 寫、移除或者以其他方式掩蓋這樣識(shí)別出的出現(xiàn)或機(jī)密信息。
0098仍然參考圖2B,設(shè)備200可以包括如上面結(jié)合圖1D所討i侖 的性能監(jiān)控代理197。在一個(gè)實(shí)施例中,設(shè)備200從如圖1D中所描述的 監(jiān)控業(yè)務(wù)198或監(jiān)控服務(wù)器106中接收監(jiān)控代理197。在一些實(shí)施例中, 設(shè)備200在諸如磁盤的存儲(chǔ)裝置中保存監(jiān)控代理197,以用于遞送給與設(shè) 備200通信的任一客戶機(jī)或服務(wù)器。例如,在一個(gè)實(shí)施例中,設(shè)備200 在接收到建立傳輸層連接的請(qǐng)求時(shí)發(fā)送監(jiān)控代理197給客戶機(jī)。在其它 實(shí)施例中,設(shè)備200在建立與客戶機(jī)102的傳輸層連接時(shí)發(fā)送監(jiān)控代理 197。在另一個(gè)實(shí)施例中,設(shè)備200在攔截或檢測(cè)對(duì)web頁面的請(qǐng)求時(shí)發(fā) 送監(jiān)控代理197給客戶機(jī)。在又一個(gè)實(shí)施例中,設(shè)備200響應(yīng)于監(jiān)控服 務(wù)器198的請(qǐng)求來發(fā)送監(jiān)控代理197到客戶機(jī)或服務(wù)器。在一個(gè)實(shí)施例 中,設(shè)備200發(fā)送監(jiān)控代理197到第二設(shè)備20(T或設(shè)備205。
0099在其它實(shí)施例中,設(shè)備200執(zhí)行監(jiān)控代理197。在一個(gè)實(shí)施 例中,監(jiān)控代理197測(cè)量和監(jiān)控在設(shè)備200上執(zhí)行的任一應(yīng)用、程序、 進(jìn)程、服務(wù)、任務(wù)或線程的性能。例如,監(jiān)控代理197可以監(jiān)控和測(cè)量vServers 275A-275N的性能與操作。在另一個(gè)實(shí)施例中,監(jiān)控代理197 測(cè)量和監(jiān)控設(shè)備200的任一傳輸層連接的性能。在一些實(shí)施例中,監(jiān)控 代理197測(cè)量和監(jiān)控通過設(shè)備200的任一用戶會(huì)話的性能。在一個(gè)實(shí)施 例中,監(jiān)控代理197測(cè)量和監(jiān)控通過設(shè)備200的諸如SSL VPN會(huì)話的任 一虛擬專用網(wǎng)連接和/或會(huì)話的性能。在進(jìn)一步的實(shí)施例中,監(jiān)控代理197 測(cè)量和監(jiān)控設(shè)備200的存儲(chǔ)器、CPU和磁盤使用以及性能。在又一個(gè)實(shí)施 例中,監(jiān)控代理197測(cè)量和監(jiān)控諸如SSL卸載、連接池和多路復(fù)用、高 速緩存以及壓縮的由設(shè)備200執(zhí)行的任一加速技術(shù)288的性能。在一些 實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控由設(shè)備200執(zhí)行的任一負(fù)載平衡和/ 或內(nèi)容交換284的性能。在其它實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控由 設(shè)備200執(zhí)行的應(yīng)用防火墻290保護(hù)和處理的性能。
C.客戶才幾代理
0100現(xiàn)在參考圖3,描述了客戶機(jī)代理120的一個(gè)實(shí)施例??蛻?機(jī)102包括用于經(jīng)由網(wǎng)絡(luò)104與設(shè)備200和/或服務(wù)器106建立和交換通 信的客戶機(jī)代理120。簡單概述,客戶機(jī)102在計(jì)算裝置IOO上操作,所 述計(jì)算裝置100具有帶有內(nèi)核模式302和用戶模式303的操作系統(tǒng)以及 帶有一個(gè)或多個(gè)層310a-310b的網(wǎng)絡(luò)堆棧310。客戶機(jī)102已經(jīng)安裝和/ 或執(zhí)行一個(gè)或多個(gè)應(yīng)用。在一些實(shí)施例中, 一個(gè)或多個(gè)應(yīng)用可以經(jīng)由網(wǎng) 絡(luò)堆棧310傳遞到網(wǎng)絡(luò)104。諸如web瀏覽器的一個(gè)應(yīng)用還可以包括一個(gè) 第一程序322。例如,第一程序322可以被用于在一些實(shí)施例中安裝和/ 或執(zhí)行客戶機(jī)代理120或者其任一部分??蛻魴C(jī)代理120包括用于從一 個(gè)或多個(gè)應(yīng)用中攔截來自于網(wǎng)絡(luò)堆棧310的網(wǎng)絡(luò)通信的攔截機(jī)制或攔截 器350。
0101客戶機(jī)102的網(wǎng)絡(luò)堆棧310可以包括任一類型和形式的軟 件或硬件或其任一組合,以用于提供到網(wǎng)絡(luò)的連通性以及與網(wǎng)絡(luò)的通信。 在一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧310包括用于網(wǎng)絡(luò)協(xié)議^f牛的軟件實(shí)現(xiàn)。網(wǎng) 絡(luò)堆棧310可以包括一個(gè)或多個(gè)網(wǎng)絡(luò)層,例如如本領(lǐng)域技術(shù)人員所認(rèn)識(shí) 和理解的開放系統(tǒng)互連(OSI)通信模型的任一網(wǎng)絡(luò)層。因而,網(wǎng)絡(luò)堆棧 310可以包括用于下列OSI模型的任意一層的任一類型和形式的協(xié)議1)物理鏈路層,2)數(shù)據(jù)鏈路層,3)網(wǎng)絡(luò)層,4)傳輸層,5)會(huì)話層,6) 表示層以及7)應(yīng)用層。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)堆棧310可以包4舌在網(wǎng)際 協(xié)議(IP )的網(wǎng)絡(luò)層協(xié)議上的傳輸控制協(xié)議(TCP ),通常被稱為TCP/IP。 在一些實(shí)施例中,可以在以太網(wǎng)協(xié)議上攜帶TCP/IP協(xié)-漢,所述以太網(wǎng)協(xié) 議可以包括諸如由IEEE 802. 3所覆蓋的那些協(xié)議的IEEE廣域網(wǎng)(WAN) 或局域網(wǎng)(LAN)協(xié)議的任一族。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧310包括諸 如IEEE 802. 11和/或移動(dòng)網(wǎng)際協(xié)議的任一類型和形式的無線協(xié)議。
0102考慮到基于TCP/IP的網(wǎng)絡(luò),可以使用任一基于TCP/IP的 協(xié)議,包括消息應(yīng)用編程接口 (MAPI)(電子郵件)、文件傳送協(xié)議(FTP)、 超文本傳送協(xié)議(HTTP)、通用Internet文件系統(tǒng)(CIFS)協(xié)議(文件 傳送)、獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議、遠(yuǎn)程桌面協(xié)議(RDP)、無線應(yīng)用協(xié) 議(WAP)、移動(dòng)IP協(xié)議和IP上語音(VoIP)協(xié)議。在另一個(gè)實(shí)施例中, 網(wǎng)絡(luò)堆棧310包括諸如修改的傳輸控制協(xié)議的任一類型和形式的傳輸控 制協(xié)議,例如事務(wù)TCP (T/TCP)、具有選擇確認(rèn)的TCP ( TCP-SACK )、具 有大窗口的TCP( TCP-LW)、諸如TCP-Vegas協(xié)議的擁塞預(yù)測(cè)協(xié)議以及TCP 欺騙協(xié)議。在其它實(shí)施例中,網(wǎng)絡(luò)堆棧31G可以使用諸如IP上UDP的任 一類型和形式的用戶數(shù)據(jù)報(bào)協(xié)議(UDP),例如用于音頻通信或?qū)崟r(shí)數(shù)據(jù) 通信。
0103進(jìn)一步,網(wǎng)絡(luò)堆棧310可以包括諸如TCP驅(qū)動(dòng)程序或網(wǎng)絡(luò) 層驅(qū)動(dòng)程序的支持一個(gè)或多個(gè)層的一個(gè)或多個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)程序。網(wǎng)絡(luò)驅(qū)動(dòng) 程序可以被包括作為計(jì)算裝置100的操作系統(tǒng)的一部分或作為計(jì)算裝置 100的任一網(wǎng)紹4妄口卡或其它網(wǎng)絡(luò)訪問部件的一部分。在一些實(shí)施例中, 網(wǎng)絡(luò)堆棧310的任意一種網(wǎng)絡(luò)驅(qū)動(dòng)程序可以被定制、修改或改變以提供 支持此處描述的任一技術(shù)的網(wǎng)絡(luò)堆棧310的定制或修改部分。在其它實(shí). 施例中,加速程序120 ^皮設(shè)計(jì)和構(gòu)造以和由客戶機(jī)102的操作系統(tǒng)所安 裝或者以其他方式提供的網(wǎng)絡(luò)堆棧310 —起操作或聯(lián)合工作。
0104網(wǎng)絡(luò)堆棧310包括用于接收、獲取、提供或者以其他方式 訪問與客戶機(jī)102的網(wǎng)絡(luò)通信相關(guān)的任一信息和數(shù)據(jù)的任一類型和形式 的接口。在一個(gè)實(shí)施例中,到網(wǎng)絡(luò)堆棧310的接口包括應(yīng)用編程接口 UPI)。接口還可以包括任一函數(shù)調(diào)用、掛鉤或過濾機(jī)制、事件或回叫機(jī)制、或任一類型的連接技術(shù)。網(wǎng)絡(luò)堆棧310經(jīng)由接口可以接收或提供 諸如對(duì)象的與網(wǎng)絡(luò)堆棧310的功能或操作相關(guān)的任一類型和形式的數(shù)據(jù) 結(jié)構(gòu)。例如,數(shù)據(jù)結(jié)構(gòu)可以包括與網(wǎng)絡(luò)分組相關(guān)的信息和數(shù)據(jù)或者一個(gè) 或多個(gè)網(wǎng)絡(luò)分組。在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括諸如傳輸層的網(wǎng)絡(luò)分
組的在網(wǎng)絡(luò)堆棧310的協(xié)議層處理的網(wǎng)絡(luò)分組的一部分。在一些實(shí)施例 中,數(shù)據(jù)結(jié)構(gòu)325包括內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu),而在其它實(shí)施例中,數(shù)據(jù)結(jié)構(gòu) 325包括用戶模式數(shù)據(jù)結(jié)構(gòu)。內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)可以包括獲得的或與在內(nèi)核 模式302中操作的網(wǎng)絡(luò)堆棧310的一部分相關(guān)的數(shù)據(jù)結(jié)構(gòu)、或者運(yùn)行在 內(nèi)核模式302中的網(wǎng)絡(luò)驅(qū)動(dòng)程序或其它軟件、或者由運(yùn)行或操作在操作 系統(tǒng)的內(nèi)核模式中的服務(wù)、進(jìn)程、任務(wù)、線程或其它可執(zhí)行指令獲得或 收到的任一數(shù)據(jù)結(jié)構(gòu)。
0105另外,例如數(shù)據(jù)鏈路或網(wǎng)絡(luò)層的網(wǎng)絡(luò)堆棧310的一些部分 可以執(zhí)行或操作于內(nèi)核模式302,而諸如網(wǎng)絡(luò)堆棧310的應(yīng)用層的其它部 分執(zhí)行或操作在用戶模式303中。例如,網(wǎng)絡(luò)堆棧的第一部分310a可以 給應(yīng)用提供對(duì)網(wǎng)絡(luò)堆棧31G的用戶模式訪問,而網(wǎng)絡(luò)堆棧310的第二部 分310a提供對(duì)網(wǎng)絡(luò)的訪問。在一些實(shí)施例中,網(wǎng)絡(luò)堆棧的第一部分310a 可以包括諸如層5-7中的任意一個(gè)的網(wǎng)絡(luò)堆棧310的一個(gè)或多個(gè)較上的 層。在其它實(shí)施例中,網(wǎng)絡(luò)堆棧310的第二部分310b包括諸如層1-4中 的任意一個(gè)這樣的一個(gè)或多個(gè)較低的層。網(wǎng)絡(luò)堆棧310的第一部分310a 和第二部分310b中的每一個(gè)可以包括網(wǎng)絡(luò)堆棧310的任一部分,在任意 一個(gè)或多個(gè)網(wǎng)絡(luò)層,在用戶模式203、內(nèi)核模式202或其組合中,或者在 網(wǎng)絡(luò)層的任一部分或網(wǎng)絡(luò)層的接口點(diǎn)或用戶模式203和內(nèi)核模式203的 任一部分或接口點(diǎn)。
0106攔截器350可以包括軟件、硬件或軟件和硬件的任一組合。 在一個(gè)實(shí)施例中,攔截器350在網(wǎng)絡(luò)堆棧310中的任一點(diǎn)攔截網(wǎng)絡(luò)通信, 并且將所述網(wǎng)絡(luò)通信重定向或發(fā)送到^C攔截器350或客戶機(jī)代理120所 期望、管理或控制的目的地。例如,攔截器350可以攔截第一網(wǎng)絡(luò)的網(wǎng) 絡(luò)堆棧310的網(wǎng)絡(luò)通信并發(fā)送網(wǎng)絡(luò)通信給設(shè)備2 0 0以用于在第二網(wǎng)絡(luò)10 4 上的傳輸。在一些實(shí)施例中,攔截器350包括含有驅(qū)動(dòng)器的任一類型攔 截器35 0,諸如被構(gòu)造和設(shè)計(jì)為與網(wǎng)絡(luò)堆棧31Q連接和工作的網(wǎng)絡(luò)驅(qū)動(dòng)程序。在一些實(shí)施例中,客戶機(jī)代理120和/或攔截器350在諸如傳輸層處 的網(wǎng)絡(luò)堆棧310的一個(gè)或多個(gè)層操作。在一個(gè)實(shí)施例中,攔截器350包 括過濾器驅(qū)動(dòng)程序、掛鉤機(jī)制或任一格式和類型的適當(dāng)?shù)木W(wǎng)絡(luò)驅(qū)動(dòng)程序 接口,所述接口例如經(jīng)由傳輸驅(qū)動(dòng)程序接口 (TDI )來聯(lián):接于網(wǎng)絡(luò)堆棧的 傳輸層。在一些實(shí)施例中,攔截器350聯(lián)接于諸如傳輸層的第一協(xié)議層 以及諸如傳輸協(xié)議層之上的任一層的例如應(yīng)用協(xié)議層的另 一個(gè)協(xié)議層。 在一個(gè)實(shí)施例中,攔截器350可以包括遵照網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范(NDIS ) 的驅(qū)動(dòng)程序或NDIS驅(qū)動(dòng)程序。在另一個(gè)實(shí)施例中,攔截器350可以包括 小過濾器(min-filter)或迷你端口 (mini-port)驅(qū)動(dòng)程序。在一個(gè)實(shí) 施例中,攔截器350或者其部分操作于內(nèi)核模式202中。在另一個(gè)實(shí)施 例中,攔截器350或者其部分操作于用戶模式203中。在一些實(shí)施例中, 攔截器350的一部分操作于內(nèi)核模式202中,而攔截器350的另一部分 操作于用戶模式203中。在其它實(shí)施例中,客戶機(jī)代理120操作于用戶 模式203中,但經(jīng)由攔截器350連接到內(nèi)核模式驅(qū)動(dòng)程序、進(jìn)程、服務(wù)、 任務(wù)或一部分操作系統(tǒng),以便獲得內(nèi)核級(jí)數(shù)據(jù)結(jié)構(gòu)225。在進(jìn)一步的實(shí)施 例中,攔截器350是諸如應(yīng)用的用戶模式應(yīng)用或程序。
0107在一個(gè)實(shí)施例中,攔截器350攔截任一的傳輸層連接請(qǐng)求。 在這些實(shí)施例中,攔截器350執(zhí)行傳輸層應(yīng)用編程^接口 (API)調(diào)用以對(duì) 于該位置^L置目的信息,諸如所期望的位置的目的地IP地址和/或端口。 以此方式,攔截器350攔截并重定向傳輸層連接到由攔截器350或客戶 機(jī)代理120控制或管理的IP地址和端口。在一個(gè)實(shí)施例中,攔截器350 為到客戶機(jī)102的本地IP地址和端口的連接設(shè)置目的地信息,客戶機(jī)代 理12 在客戶機(jī)102的本地IP地址和端口上進(jìn)行監(jiān)聽。例如,客戶機(jī)代 理120可以包括在用于重定向的傳輸層通信的本地IP地址和端口上監(jiān)聽 的代理服務(wù)。在一些實(shí)施例中,客戶機(jī)代理120隨后傳達(dá)重定向的傳輸 層通信到設(shè)備200。
0108在一些實(shí)施例中,攔截器350攔截域名服務(wù)(DNS)請(qǐng)求。 在一個(gè)實(shí)施例中,客戶機(jī)代理120和/或攔截器350解析DNS請(qǐng)求。在另 一實(shí)施例中,攔截器發(fā)送被攔截的DNS請(qǐng)求到設(shè)備200以用于DNS解析。 在一個(gè)實(shí)施例中,i殳備200解析DNS請(qǐng)求并傳達(dá)DNS響應(yīng)給客戶機(jī)代理120。在一些實(shí)施例中,設(shè)備200解析經(jīng)由另一設(shè)備200'或DNS服務(wù)器 106的DNS i會(huì)求。
0109在又一個(gè)實(shí)施例中,客戶機(jī)代理120可以包括兩個(gè)代理120 和12(K。在一個(gè)實(shí)施例中,第一代理120可以包括操作于網(wǎng)絡(luò)堆棧310 的網(wǎng)絡(luò)層的攔截器350。在一些實(shí)施例中,第一代理120攔截諸如因特網(wǎng) 控制消息協(xié)議(ICMP)請(qǐng)求(例如,查驗(yàn)和跟蹤路由)的網(wǎng)絡(luò)層請(qǐng)求。 在其它實(shí)施例中,第二代理12(T可以在傳輸層操作并攔截傳輸層通信。 在一些實(shí)施例中,第一代理120攔截在網(wǎng)絡(luò)堆棧210的一層處的通信, 并與第二代理120'連接或傳達(dá)被攔截的通信到第二代理120'。
0110客戶機(jī)代理120和/或攔截器350可以相對(duì)于網(wǎng)絡(luò)堆棧310 的任一其它協(xié)議層透明的方式操作于協(xié)議層或與協(xié)議層連接。例如,在 一個(gè)實(shí)施例中,攔截器350相對(duì)于諸如網(wǎng)絡(luò)層的傳輸層之下的任一協(xié)議 層以及諸如會(huì)話、表示或應(yīng)用層協(xié)議的傳輸層之上的任一協(xié)議層透明地 來操作網(wǎng)絡(luò)堆棧310的傳輸層或與其連接。這允許網(wǎng)絡(luò)堆棧310的其它 協(xié)議層按意愿地操作而不用修改來使用攔截器350。因而,客戶機(jī)代理 120和/或攔截器350可以與傳輸層交互以保護(hù)、優(yōu)化、加速、路由或負(fù) 載平衡經(jīng)由諸如TCP/IP之上的任一應(yīng)用層協(xié)議的通過傳輸層攜帶的任一 協(xié)議提供的任一通信。
0111進(jìn)一步地,客戶機(jī)代理120和/或攔截器可以相對(duì)于任一應(yīng) 用、客戶機(jī)102的用戶以及諸如與客戶機(jī)102通信的服務(wù)器的任一其它 計(jì)算裝置透明的方式來操作于網(wǎng)絡(luò)堆棧310或與網(wǎng)絡(luò)堆棧310連接???戶機(jī)代理120和/或攔截器350可以以一定方式安裝和/或執(zhí)行于客戶機(jī) 102上而不》務(wù)改應(yīng)用。在一些實(shí)施例中,客戶才幾102或與客戶機(jī)102通信 的計(jì)算裝置的用戶不知道客戶機(jī)代理120和/或攔截器350的存在、執(zhí)行 或操作。因而,在一些實(shí)施例中,相對(duì)于應(yīng)用、客戶機(jī)102的用戶、諸 如服務(wù)器的另一個(gè)計(jì)算裝置、或者在由攔截器350聯(lián)接的協(xié)議層之上和/ 或之下的任一協(xié)議層透明地來安裝、執(zhí)行和/或操作客戶機(jī)代理120和/ 或攔截器350。
0112客戶機(jī)代理120包括加速程序302、流客戶機(jī)306、收集代 理304和/或監(jiān)控代理197。在一個(gè)實(shí)施例中,客戶機(jī)代理120包括由位于Fort Lauderdale, Florida的Citrix Syestems公司開發(fā)的獨(dú)立計(jì)算 架構(gòu)(ICA)客戶機(jī)或者其任一部分,并且還被稱為ICA客戶機(jī)。在一些 實(shí)施例中,客戶機(jī)120包括用于將應(yīng)用從服務(wù)器106流式傳輸?shù)娇蛻魴C(jī) 102的應(yīng)用流客戶機(jī)306。在一些實(shí)施例中,客戶機(jī)代理120包括用于加 速客戶機(jī)102和服務(wù)器106之間的通信的加速程序302。在另一個(gè)實(shí)施例 中,客戶機(jī)代理120包括用于執(zhí)行端點(diǎn)檢測(cè)/掃描以及為設(shè)備200和/或 服務(wù)器106收集端點(diǎn)信息的收集代理304。
0113在一些實(shí)施例中,加速程序302包括用于執(zhí)行一個(gè)或多個(gè) 加速技術(shù)的客戶機(jī)側(cè)加速程序,以加速、增強(qiáng)或者以其他方式改善客戶 機(jī)與服務(wù)器106的通信和/或諸如訪問由服務(wù)器106提供的應(yīng)用的對(duì)服務(wù) 器106的訪問。加速程序302的可執(zhí)行指令的邏輯、功能和/或操作可以 執(zhí)行一個(gè)或多個(gè)的下列加速技術(shù)l)多協(xié)議壓縮,2)傳輸控制協(xié)議池, 3)傳輸控制協(xié)議多路復(fù)用,4 )傳輸控制協(xié)議緩沖,以及5 )經(jīng)由高速緩 存管理器的高速緩存。另外,加速程序302可以執(zhí)行對(duì)由客戶才幾102接 收和/或發(fā)送的任一通信的加密和/或解密。在一些實(shí)施例中,加速程序 302以集成的方法或方式來執(zhí)行一個(gè)或多個(gè)加速技術(shù)。另外,加速程序 302可以在被攜帶為傳輸層協(xié)議的網(wǎng)絡(luò)分組的有效載荷的任一協(xié)議或多 個(gè)協(xié)議上執(zhí)行壓縮。
0114流客戶機(jī)306包括用于接收和執(zhí)行來自于服務(wù)器106的流 式傳輸?shù)膽?yīng)用的應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或可執(zhí)行指令。服務(wù)器 106可以將一個(gè)或多個(gè)應(yīng)用數(shù)據(jù)文件流式傳輸?shù)搅骺蛻魴C(jī)306,以用于在 客戶機(jī)102上播放、執(zhí)行所述應(yīng)用或者以其他方式使所述應(yīng)用被執(zhí)行。 在一些實(shí)施例中,服務(wù)器106發(fā)送一組壓縮的或封裝的應(yīng)用數(shù)據(jù)文件到 流客戶機(jī)306。在一些實(shí)施例中,多個(gè)應(yīng)用文件在文件服務(wù)器上被壓縮和 存儲(chǔ)在諸如CAB、 ZIP、 SIT、 TAR、 JAR或其它檔案(archive)的檔案文 件中。在一個(gè)實(shí)施例中,服務(wù)器106解壓縮、解封裝或解檔(unarchives) 應(yīng)用文件,并發(fā)送所述文件到客戶機(jī)102。在另一個(gè)實(shí)施例中,客戶機(jī) 102解壓縮、解封裝或解檔應(yīng)用文件。流客戶機(jī)306動(dòng)態(tài)地安裝應(yīng)用或其 中的部分,并執(zhí)行應(yīng)用。在一個(gè)實(shí)施例中,流客戶機(jī)306可以是可執(zhí)行 程序。在一些實(shí)施例中,流客戶機(jī)306可以運(yùn)行另 一個(gè)可執(zhí)行程序。0115收集代理304包括用于識(shí)別、獲得和/或收集關(guān)于客戶機(jī)102 的信息的應(yīng)用、程序、進(jìn)程、服務(wù)、任務(wù)或可執(zhí)行指令。在一些實(shí)施例 中,設(shè)備200發(fā)送收集代理304到客戶機(jī)102或客戶機(jī)代理120。可以根 據(jù)設(shè)備的策略引擎236的一個(gè)或多個(gè)策略來配置收集代理304。在其它實(shí) 施例中,收集代理304發(fā)送收集的有關(guān)客戶機(jī)102的信息給設(shè)備200。在 一個(gè)實(shí)施例中,設(shè)備200的策略引擎236使用收集的信息來確定并提供 對(duì)客戶機(jī)到網(wǎng)絡(luò)104的連接的訪問、驗(yàn)證和授權(quán)控制。
0116在一個(gè)實(shí)施例中,收集代理304包括端點(diǎn);險(xiǎn)測(cè)和掃描機(jī)制, 其識(shí)別和確定客戶機(jī)的一個(gè)或多個(gè)屬性或特性。例如,收集代理304可 以識(shí)別和確定任意一個(gè)或多個(gè)以下的客戶機(jī)側(cè)屬性1)操作系統(tǒng)和/或 操作系統(tǒng)的版本,2)操作系統(tǒng)的服務(wù)包,3)運(yùn)行的服務(wù),4)運(yùn)行的進(jìn) 程,和5 )文件。收集代理304還可以識(shí)別和確定客戶機(jī)上的任意一個(gè)或 多個(gè)下列軟件的存在或版本l)防病毒軟件,2)個(gè)人防火墻軟件,3) 反垃圾郵件軟件,和4)因特網(wǎng)安全軟件。策略引擎236可以具有根據(jù)客 戶機(jī)或客戶機(jī)側(cè)屬性的任意一個(gè)或多個(gè)屬性或特性的一個(gè)或多個(gè)策略。
0117在一些實(shí)施例中,客戶才幾代理120包括如結(jié)合圖1D和2B 所討論的監(jiān)控代理197。監(jiān)控代理197可以是諸如Visual Basic或Java 腳本的任一類型和形式的腳本。在一個(gè)實(shí)施例中,監(jiān)控代理129監(jiān)控和 測(cè)量任一部分的客戶機(jī)代理120的性能。例如,在一些實(shí)施例中,監(jiān)控 代理129監(jiān)控和測(cè)量加速程序302的性能。在另一個(gè)實(shí)施例中,監(jiān)控代 理129監(jiān)控和測(cè)量流客戶機(jī)306的性能。在其它實(shí)施例中,監(jiān)控代理129 監(jiān)控和測(cè)量收集代理304的性能。在又一個(gè)實(shí)施例中,監(jiān)控代理129監(jiān) 控和測(cè)量攔截器350的性能。在一些實(shí)施例中,監(jiān)控代理129監(jiān)控和測(cè) 量客戶機(jī)102的諸如存儲(chǔ)器、CPU和磁盤的任一資源。
0118監(jiān)控代理197可以監(jiān)控和測(cè)量客戶機(jī)的任一應(yīng)用的性能。 在一個(gè)實(shí)施例中,監(jiān)控代理129監(jiān)控和測(cè)量客戶機(jī)102上的瀏覽器的性 能。在一些實(shí)施例中,監(jiān)控代理197監(jiān)控和測(cè)量經(jīng)由客戶機(jī)代理120遞 送的任一應(yīng)用的性能。在其它實(shí)施例中,監(jiān)控代理197測(cè)量和監(jiān)控諸如 基于web或HTTP響應(yīng)時(shí)間的應(yīng)用的最終用戶響應(yīng)時(shí)間。監(jiān)控代理197可 以監(jiān)控和測(cè)量ICA或RDP客戶機(jī)的性能。在另一個(gè)實(shí)施例中,監(jiān)控代理應(yīng)用會(huì)話的規(guī)格。在一些實(shí)施例中,監(jiān)控代理
197測(cè)量和監(jiān)控ICA或RDP會(huì)話。在一個(gè)實(shí)施例中,監(jiān)控代理197測(cè)量和 監(jiān)控設(shè)備200在加速遞送應(yīng)用和/或數(shù)據(jù)到客戶機(jī)102的過程中的性能。
0119在一些實(shí)施例中以及仍然參考圖3,可以使用第一程序322 來自動(dòng)地、靜默地、透明地或以其他方式地安裝和/或扭^亍客戶機(jī)代理120 或者其中的諸如攔截器350的部分。在一個(gè)實(shí)施例中,第一程序322包 括諸如凈皮加載到應(yīng)用并由應(yīng)用才丸行的ActiveX控件或Java控件或腳本的 插件部件。例如,第一程序包括由web瀏覽器應(yīng)用加載并運(yùn)行在例如應(yīng) 用的存儲(chǔ)空間或上下文中的ActiveX控件。在另一個(gè)實(shí)施例中,第一程 序322包括由諸如瀏覽器的應(yīng)用加載并運(yùn)行的一組可執(zhí)行指令。在一個(gè) 實(shí)施例中,第一程序322包括被設(shè)計(jì)和構(gòu)造的程序來安裝客戶機(jī)代理120。 在一些實(shí)施例中,第一程序322通過網(wǎng)絡(luò)來從另一個(gè)計(jì)算裝置獲得、下 載或接收客戶機(jī)代理120。在另一個(gè)實(shí)施例中,第一程序322是客戶機(jī) 102的操作系統(tǒng)上的諸如網(wǎng)絡(luò)驅(qū)動(dòng)程序的安裝程序或用于安裝程序的即 插即用管理器。
D.用于配置和使用面向?qū)ο蟮牟呗员磉_(dá)式的系統(tǒng)和方法0120參見圖4A,示出用來促進(jìn)HTTP數(shù)據(jù)的處理的對(duì)象模型的部 分的例子。總的來說,對(duì)象類被限定為HTTP協(xié)議中的多個(gè)元素。所限定 的類包括請(qǐng)求405、響應(yīng)410、主機(jī)名415、 url 420、查詢425、 cookie 430和文本435。每個(gè)類被限定為包括多個(gè)字段和/或方法,其可以包括 或者返回對(duì)應(yīng)于其他類的對(duì)象,或者可以包括或者返回諸如整數(shù)的其他 數(shù)據(jù)類型。
0121現(xiàn)在仍舊參見圖4A,更詳細(xì)地,對(duì)象才莫型可以包括允許計(jì) 算裝置指定和操控?cái)?shù)據(jù)的一組限定的對(duì)象類,和/或允許計(jì)算裝置的用戶 指導(dǎo)計(jì)算裝置的操作的 一組限定的對(duì)象類。對(duì)象模型可以具有和面向?qū)?象的設(shè)計(jì)或者編程關(guān)聯(lián)的任一特性,包括但不限于繼承、抽象、封裝、 和多態(tài)性??梢院痛颂幟枋龅拿嫦?qū)ο蟮谋磉_(dá)式結(jié)合使用的對(duì)象模型的 例子包括但不限于Java對(duì)象模型、組件對(duì)象模型(COM )和HTML文檔對(duì) 象模型(DOM),以及這些模型的部分的任一部分或者組合。在一些實(shí)施 例中,對(duì)象模型或者對(duì)象模型的部分可對(duì)應(yīng)于協(xié)議。例如,對(duì)象模型可以被建立來表示HTTP通信,具有提供類和用于訪問和操控HTTP通信的 方法的對(duì)象模型。或者,對(duì)象模型可以被建立來表示TCP、 IP、 UDP、 ICA 或者SSL通信?;蛘?,對(duì)象模型可以被建立來表示設(shè)備,具有提供類和 用于訪問和操控涉及網(wǎng)絡(luò)設(shè)備200的狀態(tài)信息的方法的對(duì)象模型。
0122對(duì)象類可以包括對(duì)象的抽象概要描述和與該對(duì)象關(guān)聯(lián)的任 一方法。對(duì)象(即類的具體實(shí)例)可以表示任一類型或者形式的數(shù)據(jù)、 過程或者協(xié)議。示例的對(duì)象可以包括但不限于串、文本、編號(hào)、列表、 協(xié)議、數(shù)據(jù)流、連接、裝置、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)和網(wǎng)絡(luò)分組。
0123對(duì)象類可以具有多個(gè)成員。對(duì)象類的成員可以包括任一字 段、方法、構(gòu)造程序、性質(zhì)或者對(duì)象類指定的變量。在一些實(shí)施例中, 對(duì)象類的成員可以包括第二對(duì)象類的對(duì)象。例如,在所示實(shí)施例中,對(duì) 象類"http—request" 405包括返回url對(duì)象的方法"getUrl"。在其他 實(shí)施例中,對(duì)象類的成員可以是優(yōu)先架構(gòu)的基本數(shù)據(jù)類型,諸如整數(shù)、 浮點(diǎn)數(shù)、字節(jié)、陣列或者布爾變量。例如,類"cookie"包括作為識(shí)別 列表中名稱-值對(duì)的編號(hào)的整數(shù)的字段"count"。仍在其它實(shí)施例中,對(duì) 象類的成員可以包括常量。仍在其他實(shí)施例中,對(duì)象類的成員可以包括 方法。
0124在一些情況中,對(duì)象類的成員可以被限定在對(duì)象類定義中。 在其他情況中,對(duì)象類的成員可以被限定在對(duì)象類的父類中。仍在其他 實(shí)施例中,對(duì)象類的成員可以被限定在對(duì)象類的父親中并且在對(duì)象的類 定義中》務(wù)改。例如,"cookie" 430和"query" 425類從它們的父類 "list-nv,,繼承方法"getName"禾口 "getValue,,, 父類"list_nv,,是 表示名稱-值對(duì)的列表的類。
0125在所示實(shí)施例中,http-request類405包含可以-波用來處 理HTTP請(qǐng)求的多個(gè)方法。可以提供字段和方法來識(shí)別和操控HTTP請(qǐng)求 的任一部分或者多個(gè)部分,包括但不限于URL、 cookie、體、內(nèi)容-類型、 數(shù)據(jù)、版本和主機(jī)名。在一個(gè)實(shí)施例中,可以提供一個(gè)或者多個(gè)方法來 確定給定數(shù)據(jù)流是否是合法格式的HTTP請(qǐng)求。對(duì)于HTTP響應(yīng),也可以 提供類似的類和/或方法。
0126所示url類420可以包括任一數(shù)量的字段和方法,用于操作和識(shí)別url。在一個(gè)實(shí)施例中,url可以包括用于解析一個(gè)或者多個(gè)主 機(jī)名、端口、服務(wù)器、域、文件后綴、路徑和查詢的方法。在一個(gè)實(shí)施 例中,url可以是通用文本對(duì)象的一個(gè)子類,其可以允許url如同無格式 文本一樣^皮對(duì)待。例如,url類420可以是文本類435的子類。在一個(gè)實(shí) 施例中,url類可以包括用于重寫url的所有或者部分的方法。在一些實(shí) 施例中,url類可以被應(yīng)用到文本的任一部分。例如,url類可以包括接 受文本串并且通過解析該串來建立url對(duì)象的構(gòu)造程序。在這些和其它 實(shí)施例中,url類可以包括用于指示URL是否是正確格式的URL的方法。 在一些實(shí)施例中,URL類可以包括用于識(shí)別文本串中一個(gè)或者多個(gè)URL的 方法。例如,可以提供靜態(tài)方法"findURL"來返回給定文本序列中合法 格式的URL的列表。例如,可以使用該方法來找到包含在HTTP響應(yīng)的體 中包含的多個(gè)URL。 url類隨后可以提供用于修改一個(gè)或者多個(gè)所發(fā)現(xiàn)的 URL的方法。
0127cookie類430可以包括用于識(shí)別和處理cookie的任一數(shù)量 個(gè)字段和方法。在一個(gè)實(shí)施例中,cookie可以是HTTP cookie。在所示 實(shí)施例中,cookie類將cookie表示為名稱值對(duì)的列表。"getValue"方 法響應(yīng)接收數(shù)字n可以返回列表中第n個(gè)值的文本對(duì)象。getName方法響 應(yīng)于接收數(shù)字n可以返回名稱中第n個(gè)值的文本對(duì)象。在其他實(shí)施例中, cookie可使用任一其它語法或者數(shù)據(jù)類型來表示,包括但不限于串、或 者鏈接的列表。在一個(gè)實(shí)施例中,cookie類可以提供用于插入和/或改變 cookie的方法。在其他實(shí)施例中,HTTP響應(yīng)或者請(qǐng)求對(duì)象類可以提供用 于插入或者修改包含在請(qǐng)求或者響應(yīng)中的cookie的方法。
0128所示"text"類435可以包括用于操作文本序列的任意數(shù)
序列。在一些實(shí)施例中,文本對(duì)象可以包括字節(jié)的離散序列。在其他實(shí) 施例中,文本對(duì)象可以包括一個(gè)或者多個(gè)字節(jié)的字節(jié)流。在這些實(shí)施例 中,文本對(duì)象甚至在還沒有接收到整個(gè)流時(shí)可以被用來操作字節(jié)流的部 分。可以和文本對(duì)象結(jié)合使用的方法包括但不限于比較、截?cái)?、搜索?分類和正則表達(dá)式匹配和搜索。例如,可以提供方法來確定給定子串是 否存在于文本對(duì)象中?;蛘呃纾梢蕴峁┓椒▉泶_定特定字符之前的文本對(duì)象的部分?;蛘呃纾梢蕴峁┓椒ㄓ糜谧R(shí)別給定正則表達(dá)式之 后的文本的列表。
0129在一些實(shí)施例中,還可以提供方法用于格式化或者確認(rèn)文 本的格式化,使得其可以由其他類和/或方法處理。例如,可以提供方法 來確保文本對(duì)象可以被處理為XML。該方法可以檢查文本對(duì)象符合正確的 XML格式并且不包含任一惡意或者不利的錯(cuò)誤?;蛘呃?,可以提供類似 的方法來確定文本序列是否可以;故處理為URL。例如,該方法可以發(fā)現(xiàn)并 且替代需要由空序列替代的任一字符,使得文本對(duì)象符合正確的URL格 式協(xié)定。
0130對(duì)象模型可以使用任一物理數(shù)據(jù)結(jié)構(gòu)或者其它基礎(chǔ)物理實(shí) 現(xiàn)方式來實(shí)現(xiàn)。在一些實(shí)施例中,多個(gè)對(duì)象可以訪問物理存儲(chǔ)器中的同 一個(gè)對(duì)象來執(zhí)行與每個(gè)對(duì)象相關(guān)聯(lián)的方法。在一個(gè)實(shí)施例中,所示對(duì)象 模型可以被實(shí)現(xiàn)使得多個(gè)對(duì)象實(shí)例對(duì)基礎(chǔ)數(shù)據(jù)流起作用,而不需要對(duì)于 每個(gè)對(duì)象實(shí)例產(chǎn)生數(shù)據(jù)流的各自副本。為了給出詳細(xì)的例子,關(guān)于所示 對(duì)象模型,設(shè)備可以從客戶機(jī)接收HTTP通信并且將其保存在存儲(chǔ)器中。 設(shè)備可以隨后4丸4亍識(shí)別http—request對(duì)象,并且隨后調(diào)用http_request 對(duì)象類305中的函lt來獲取url和/或cookie對(duì)象。i殳備可以隨后調(diào)用 url和cookie對(duì)象中的附加函數(shù)或者參考字段。這些方法的一些或者全 部可以通過解析基礎(chǔ)數(shù)據(jù)流的一些或者全部并且隨后將參考返回給該流 的部分來操作。例如,url對(duì)象可以保存基礎(chǔ)數(shù)據(jù)流中的url的開始和結(jié) 束的存儲(chǔ)器位置。url類的每一個(gè)方法可以隨后解析和/或修改識(shí)別的存 儲(chǔ)器位置中的數(shù)據(jù)的部分。以此方式,設(shè)備可以使用對(duì)象模型而不需要 在數(shù)據(jù)流中保持?jǐn)?shù)據(jù)的附加副本來處理數(shù)據(jù)流。
0131在其他實(shí)現(xiàn)方式中,可以關(guān)于一些對(duì)象來實(shí)現(xiàn)一些或者所 有數(shù)據(jù)流的一個(gè)或者多個(gè)附加副本。這些對(duì)象可以在數(shù)據(jù)流的部分的副 本上執(zhí)行操作,并且如果適當(dāng),使用對(duì)副本所做的任一改變來更新數(shù)據(jù)流。
0132所示對(duì)象模型和其它可以指定可以被應(yīng)用到任一輸入流的 對(duì)象類和數(shù)據(jù)結(jié)構(gòu)。例如,所示對(duì)象沖莫型可以被用來將任一輸入流處理 為http—request對(duì)象,并且隨后利用http—request對(duì)象類才是供的任意一個(gè)功能性。此外,盡管所示對(duì)象模型涉及HTTP數(shù)據(jù),但是其他對(duì)象模 型可以用來提供關(guān)于TCP、 SSL或者ICA流的功能性。在一些實(shí)施例中, 可以提供對(duì)象模型和實(shí)現(xiàn)方式使得設(shè)備可以從多個(gè)對(duì)象模型來選擇以處 理給定數(shù)據(jù)流。例如,接收到給定數(shù)據(jù)流后,設(shè)備可以確定數(shù)據(jù)流是ICA 流,并且應(yīng)用適當(dāng)?shù)膶?duì)象模型用于處理ICA流。但是,如果HTTP數(shù)據(jù)被 發(fā)送到ICA流中,則設(shè)備也可以應(yīng)用HTTP對(duì)象模型,諸如所示的,用于 處理HTTP數(shù)據(jù)。以此方式,設(shè)備可以指定任意一個(gè)或者多個(gè)結(jié)構(gòu)來應(yīng)用 到接收的字節(jié)流。
0133現(xiàn)在參見圖4B,示出對(duì)于表示URL的對(duì)象類的示例性文檔 編制屏幕??偟膩碚f,文檔編制屏幕包括對(duì)于表示URL的"http—url-t" 類的多個(gè)方法和構(gòu)造程序的部分列表。文檔編制屏幕指示"http_url_t" 類中扭^亍多個(gè)方法和在父類"text-t"中^M亍的多個(gè)方法。這些類可以 對(duì)應(yīng)于參考圖4A描述的"url"和"text"類。
0134現(xiàn)在參見圖4C,示出用在策略引擎中的多個(gè)示例性面向?qū)?象的表達(dá)式??偟膩碚f,面向?qū)ο蟮谋磉_(dá)式400包括多個(gè)對(duì)象類,其可 以對(duì)應(yīng)于協(xié)議、協(xié)議對(duì)象、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型。面向?qū)ο蟮谋磉_(dá)式可 以指定多個(gè)識(shí)別的對(duì)象,其可以包括方法、數(shù)據(jù)類型或者其他對(duì)象類。 示出多個(gè)示例性面向?qū)ο蟮谋磉_(dá)式400a、 400b、 400c。這些面向?qū)ο蟮?表達(dá)式可以通過網(wǎng)絡(luò)裝置在執(zhí)行以下功能中使用,這些功能包括但不限 于分析業(yè)務(wù)量流量、識(shí)別系統(tǒng)特性、負(fù)載平衡、內(nèi)容轉(zhuǎn)換和應(yīng)用安全。
0135現(xiàn)在仍舊參考圖4C,更詳細(xì)地,面向?qū)ο蟮谋磉_(dá)式可以包 括允許關(guān)于對(duì)象模型的數(shù)據(jù)和函數(shù)的規(guī)范的任一表達(dá)式。第 一示例面向 對(duì)象的表達(dá)式400識(shí)別對(duì)象類和對(duì)象類的成員。在所示面向?qū)ο蟮谋磉_(dá) 式的語法中,通過對(duì)象和隨后命名對(duì)象成員的串之后的周期來指定對(duì)象 成員。例如,HTTP. REQ識(shí)別命名為用于HTTP對(duì)象的"REQ,,的成員方法。 在此例中,方法命名可以使用全部大寫來標(biāo)注。在其他實(shí)施例中,也可 以使用任一其它語法來指定面向?qū)ο蟮谋磉_(dá)式??梢允褂玫恼Z法的例子 包括但不卩艮于ActionScript、 Java、 JavaScript、 C#、 Visual FoxPro、 VB.Net、 C++、 Python、 Perl、 PHP、 Ruby和/或Objective-C的語法或者 語法組合。0136在示例面向?qū)ο蟮谋磉_(dá)式400a中,表達(dá)式識(shí)別協(xié)議HTTP。 在一個(gè)實(shí)施例中,HTTP可以對(duì)應(yīng)于對(duì)象類、抽象對(duì)象類、靜態(tài)對(duì)象類或 者對(duì)象模型的任一其它分量。在一些實(shí)施例中,HTTP可以是用來表示和 處理HTTP通信的多個(gè)對(duì)象類的父類。在其他實(shí)施例中,"HTTP"可以是 包括一個(gè)或者多個(gè)對(duì)象的靜態(tài)類或者方法和/或涉及HTTP通信的表達(dá)和 處理的方法。例如,表達(dá)式"HTTP. REQ"可以返回對(duì)應(yīng)于數(shù)據(jù)流內(nèi)的HTTP 請(qǐng)求的對(duì)象。在一個(gè)實(shí)施例中,該對(duì)象可以是諸如圖4A中討論的 "http-request"類的對(duì)象類的實(shí)例。在所示實(shí)施例中,表達(dá)式400a可 以返回布爾值,該布爾值指示"joe"是否包含在HTTP請(qǐng)求的URL的查 詢部分中命名為"id"的值中。
0137示例的面向?qū)ο蟮谋磉_(dá)式400b提供顯式的類型轉(zhuǎn)換 (typecasting)的例子,其可以用來指定關(guān)于數(shù)據(jù)流的任一部分的結(jié)構(gòu)。 在該例中,從對(duì)應(yīng)于eh可接受語言的HTTP請(qǐng)求首部項(xiàng)目返回的串凈皮顯 式類型轉(zhuǎn)換為列表。TYPECAST—TO—LIST方法將列表定界符接受作為變?cè)?并且基于該定界符返回列表。表達(dá)式隨后識(shí)別CONTAINS方法來確定列表 元素的其中一個(gè)是否是"en,,。該例400b可以被用來配置裝置以探測(cè)HTTP 請(qǐng)求是否指示請(qǐng)求者將英語接受為語言。在一些實(shí)施例中,對(duì)象模型和 表達(dá)式語法可以允許數(shù)據(jù)流顯式類型轉(zhuǎn)換為任一的對(duì)象類。這可以允許 用戶配置裝置來指定關(guān)于數(shù)據(jù)流而應(yīng)用的任一結(jié)構(gòu)。這又可以允許用戶 來操縱協(xié)議或者協(xié)定的內(nèi)容,從而以便利處理的方式來格式化輸入流。
0138作為顯式類型轉(zhuǎn)換的另 一 個(gè)例子,表達(dá)式
HTTP.RES.HEADER("Location").TYPECAST—TO—URL.QUERY可以#皮用來類型摔爭才奐
HTTP首部的元素,使得被處理為URL。通過將文本元素類型轉(zhuǎn)換為URL, URL處理方法可以變得可用于分析網(wǎng)絡(luò)業(yè)務(wù)量流的任一部分中的內(nèi)容。
0139在一些實(shí)施例中,兩個(gè)或者更多面向?qū)ο蟮谋磉_(dá)式可以和 諸如AND、 OR、 N0T、 GREATER THAN或者LESS THAN的算子結(jié)合使用來產(chǎn) 生一個(gè)值。例如,在表達(dá)式400c中,可以返回布爾值的兩個(gè)表達(dá)式4吏用 OR算子結(jié)合。組合的表達(dá)式的結(jié)果是兩個(gè)表達(dá)式返回的值取OR。在其他 實(shí)施例中,算子可以關(guān)于任一對(duì)象或者數(shù)據(jù)類型運(yùn)行,包括但不限于整 數(shù)、浮點(diǎn)數(shù)以及串。014 0盡管所示特定例子反映了 HTTP對(duì)象模型的上下文中的面向
對(duì)象的語句,但是面向?qū)ο蟮恼Z句和模型可以被用來訪問傳遞通過裝置 的網(wǎng)絡(luò)業(yè)務(wù)量的任意一個(gè)或者多個(gè)部分。此外,面向?qū)ο蟮恼Z句和^^莫型 可以被用來訪問裝置的系統(tǒng)特性或者給定連接或連接的裝置的特性。
0141在一個(gè)實(shí)施例中,面向?qū)ο蟮谋磉_(dá)式可以被用來將網(wǎng)絡(luò)裝
置^亍為建立在裝置的4壬一凈爭性上。例如,表達(dá)式SYS.TIME.WITHIN(timel, time2) 可以被用來將行為建立在天或者一年的天之上?;蛘?,例如,表達(dá)式 SYS.CONNECTiONS.SSL—OPEN.COUNT可以凈皮用來返回當(dāng)前乂t于系統(tǒng)開》文的SSL 連接的總數(shù)的數(shù)量。在這些例子中,SYS對(duì)象表示執(zhí)行策略的系統(tǒng),并且
在SYS對(duì)象中提供多個(gè)方法和/或字段來訪問關(guān)于系統(tǒng)狀態(tài)的信息。
0142在其他實(shí)施例中,面向?qū)ο蟮谋磉_(dá)式可以被用來將連接到 裝置的客戶機(jī)的任一特性作為網(wǎng)絡(luò)裝置行為的基礎(chǔ)。在一個(gè)實(shí)施例中, "CLIENT"對(duì)象可以被提供用來表示發(fā)送或者接收當(dāng)前處理的數(shù)據(jù)流的
客戶才幾的特性。例如,表達(dá)式CLIENT.IP.SRC.IN—SUBNET(10.100.202.0/24)可以謬皮 用來基于對(duì)應(yīng)于數(shù)據(jù)流的客戶機(jī)是否在給定子網(wǎng)中來返回真/假值?;?者,例如,表達(dá)式CL正NT.AGENT.VERSION—NUM可以#皮用來重新獲耳又在客戶 機(jī)上執(zhí)行的客戶機(jī)代理的版本號(hào)?;蛘呃?,表達(dá)式 CLJENT.VLAN.V1RTUAL—IP可以尋皮用來訪問客戶才幾的虛擬IP i也址。
0143仍在另一個(gè)實(shí)施例中,面向?qū)ο蟮谋磉_(dá)式可以被用來將連 接到裝置的服務(wù)器的任 一 性質(zhì)作為網(wǎng)絡(luò)裝置行為的基礎(chǔ)。例如, SERVER.METRICS.HTTP.AVG—RESP—TIME可以#皮用來i方問用于產(chǎn)生HTTP i青求的 月l務(wù)器的平均響應(yīng)時(shí)間?;蛘呃?,SERVER.ICA.MAX—CONNECTIONS.可以#皮 用來識(shí)別為給定服務(wù)器指定的最大數(shù)量ICA連接。或者例如, SERVER.ETHER.HEADER可以被用來識(shí)別到服務(wù)器的給定連接的以太網(wǎng)分組 首部。
0144在一些實(shí)施例中,面向?qū)ο蟮谋磉_(dá)式被用來在處理之前或
者期間來緩存特定量的通信。例如,對(duì)于HTTP通信用作代理服務(wù)器的設(shè) 備可以期望將一些行為建立在響應(yīng)的初始部分上。在這種情況中,可以 期望僅緩存響應(yīng)的一部分,使得不會(huì)承受過度的端到端響應(yīng)時(shí)間。在一 個(gè)實(shí)施例中,表達(dá)式可以指定多個(gè)字節(jié)來在估計(jì)表達(dá)式之前接收。例如,表達(dá)式HTTP.REQ.getBody(5000).TYPECAST—TO—NV—LIST('=', '&').getValue("id")可以#皮用
來緩存HTTP請(qǐng)求體的前5000個(gè)字節(jié),并且隨后將這些字節(jié)處理為名稱-值對(duì)列表。該表達(dá)式隨后指定來得到對(duì)應(yīng)于名稱"id"的值。
0145現(xiàn)在參考圖5,示出可以用在配置裝置中的策略的例子。總 的來說,策略500包括可以在規(guī)則505的上下文中估計(jì)的表達(dá)式510。策 略5 00還可以包括指定在規(guī)則滿足時(shí)采取的動(dòng)作的動(dòng)作515 。
0146仍舊參考圖5,現(xiàn),在更詳細(xì)地,第略可以被用來配置紫置, 在一些實(shí)施例中,策略可以用來配置任一裝置,包括但不限于WAN優(yōu)化設(shè) 備200、 SSL/VPN設(shè)備200、加速設(shè)備200、高速緩存設(shè)備200、負(fù)載平衡 設(shè)備和/或提供那些裝置的特征的任一組合的裝置。在其他實(shí)施例中,策 略可以被用來配置客戶機(jī)代理或者服務(wù)器代理。
0147在一些實(shí)施例中,裝置上執(zhí)行的策略引擎可以解釋、估計(jì)、 和/或執(zhí)行關(guān)于裝置的功能的策略。例如,策略引擎236可以在設(shè)備200 上執(zhí)行,并且解釋和執(zhí)行指導(dǎo)設(shè)備的其他動(dòng)作和模塊的多個(gè)策略,包括 但不限于SSL/VPN模塊280、內(nèi)聯(lián)網(wǎng)IP模塊282、轉(zhuǎn)換模塊284、 DNS模 塊286、加速模塊288、應(yīng)用防火墻模塊29G和/或監(jiān)控代理197。在一些 實(shí)施例中,可以提供單組策略用于指導(dǎo)多個(gè)設(shè)備功能。在其他實(shí)施例中, 可以使用各組策略來配置多個(gè)設(shè)備功能的每一個(gè)。策略可以以任一方式 保存在裝置中。在一些實(shí)施例中,策略在裝置上執(zhí)行之前可以被編譯。 在其他實(shí)施例中,可以在運(yùn)行時(shí)解釋策略。
0148策略500可以包括一個(gè)或者多個(gè)表達(dá)式510。策略中的表達(dá) 式由裝置在運(yùn)行時(shí)關(guān)于在表達(dá)式中指定的對(duì)象來估計(jì),以產(chǎn)生一個(gè)值。 表達(dá)式510可以是任一類型的表達(dá)式。在一個(gè)實(shí)施例中,表達(dá)式510可 以是面向?qū)ο蟮谋磉_(dá)式。表達(dá)式可以在策略中的任何地方使用。在一些 實(shí)施例中,表達(dá)式可以在策略的規(guī)則中指定。在其他實(shí)施例中,表達(dá)式 可以在策略的動(dòng)作中指定。
0149策略5 00還可以包括規(guī)則5 05 。規(guī)則可以在運(yùn)行時(shí)關(guān)于對(duì)象、 方法和規(guī)則中識(shí)別的算子而被估計(jì),來產(chǎn)生一個(gè)結(jié)果。依據(jù)該結(jié)果,設(shè) 備隨后可以執(zhí)行策略中指定的一個(gè)或者多個(gè)動(dòng)作。例如,如果規(guī)則估計(jì) 為"真",則設(shè)備可以執(zhí)行和規(guī)則關(guān)聯(lián)的動(dòng)作?;蛘呷绻?guī)則估計(jì)為"假",則設(shè)備不能執(zhí)行和規(guī)則相關(guān)聯(lián)的動(dòng)作。在一些實(shí)施例中,規(guī)則可以包括 單個(gè)表達(dá)式。在其他實(shí)施例中,規(guī)則可以包括由算子連接的多個(gè)表達(dá)式。
0150策略500還可以包括動(dòng)作515。動(dòng)作可以指定所采取的任一
流或者對(duì)象轉(zhuǎn)發(fā)到給定服務(wù)器或者裝置、將對(duì)象保存在存儲(chǔ)器中、改變 數(shù)據(jù)流的一部分、改變一個(gè)或者多個(gè)系統(tǒng)特性、執(zhí)行加速技術(shù)和執(zhí)行壓 縮技術(shù)。在所示的策略500中,當(dāng)確定HTTP請(qǐng)求URL包含"JOE"的用 戶標(biāo)識(shí)符時(shí),策略指示將請(qǐng)求轉(zhuǎn)發(fā)到指定服務(wù)器的動(dòng)作。在一些實(shí)施例 中,動(dòng)作可以包括運(yùn)行時(shí)被估計(jì)的表達(dá)式。
0151現(xiàn)在參考圖6,示出用戶用來輸入面向?qū)ο蟮谋磉_(dá)式的表達(dá) 式輸入屏幕600的例子。總的來說,表達(dá)式輸入屏幕600包括允許用戶 來指定類的成員以包括在所建立的表達(dá)式中的多個(gè)下拉菜單620。屏幕 610還可以包括用戶能夠看到和/或編輯表達(dá)式的文本版本的顯示。屏幕 還可以包括為用戶顯示對(duì)應(yīng)于一個(gè)或者多個(gè)對(duì)象的信息的顯示630。
0152仍舊參考圖6,現(xiàn)在更詳細(xì)地,表達(dá)式輸入屏幕允許用戶以 任何方式輸入面向?qū)ο蟮谋磉_(dá)式。在所示實(shí)施例中,下拉菜單620可以 被用來選擇對(duì)象。在其他實(shí)施例中,任一其它輸入元素可以被用來接受 面向?qū)ο蟮谋磉_(dá)式,包括但不限于文本字段、菜單、按鈕、檢驗(yàn)欄和工 具欄。在一些實(shí)施例中,屏幕600的輸入元素可以為用戶提供建立和驗(yàn) 證合法表達(dá)式的功能性。在一些實(shí)施例中,下拉菜單620可以和之前指 定的類的成員自動(dòng)組裝在一起。例如,當(dāng)用戶選擇所示菜單中的"URL" 時(shí),下一個(gè)下拉菜單將和URL對(duì)象類的成員組裝在一起。以此方式,用 戶可以有效導(dǎo)航類的層級(jí)和對(duì)象模型以產(chǎn)生表達(dá)式。在其他實(shí)施例中,
建立和-險(xiǎn)證表達(dá)式。例如,用戶可以^是供文本字4史610來組成表達(dá)式, 其中,文本字段以紅色突出顯示任一未識(shí)別的對(duì)象或者語法?;蛘呃纾?用于可以提供文本字段610,當(dāng)用戶鍵入對(duì)象類時(shí),該文本字段顯示對(duì)象 類的成員的列表。
0153在一些實(shí)施例中,表達(dá)式輸入屏幕600可以為用戶顯示關(guān) 于任一對(duì)象或者表達(dá)式的信息。在一些實(shí)施例中,屏幕600可以顯示給定類的特性和/或推薦的使用。在一個(gè)實(shí)施例中,屏幕600可以和諸如圖
4B中描寫的一個(gè)或者多個(gè)類文檔編制屏幕集成在一起或者一起使用。
0154現(xiàn)在參見圖7A,示出可以被用于配置對(duì)應(yīng)于一個(gè)或者多個(gè) 網(wǎng)絡(luò)裝置的多個(gè)策略的配置接口屏幕的例子??偟膩碚f,屏幕顯示具有 包含一個(gè)或者多個(gè)策略、策略組或者涉及功能的設(shè)置的文件夾的網(wǎng)絡(luò)裝 置功能710的列表。在所示例子中,屏幕顯示文件夾用于系統(tǒng)策略、網(wǎng) 絡(luò)策略、DNS策略、SSL策略、SSL卸載策略、壓縮策略、集成的高速緩 存策略、保護(hù)特征、負(fù)載平衡策略、內(nèi)容轉(zhuǎn)換策略、高速緩存重定向策 略、全局負(fù)載平衡策略、SSL VPN策略和應(yīng)用安全策略。在一些實(shí)施例中, 多個(gè)策略、策略組和/或?qū)?yīng)于功能的設(shè)置可以被稱為配置文件。
0155仍舊參考圖7A,并且更詳細(xì)地,配置接口可以允許用戶指 定涉及一個(gè)或者多個(gè)網(wǎng)絡(luò)裝置的策略或者設(shè)置。在一些實(shí)施例中,配置 接口可以被用來配置設(shè)備200,包括但不限于VPN設(shè)備、加速設(shè)備或者 WAN優(yōu)化裝置。在一些實(shí)施例中,單個(gè)配置接口可以允許用戶來配置多個(gè) 設(shè)備。例如,用戶可以指定一個(gè)或者多個(gè)設(shè)備來應(yīng)用給定的策略、策略 組或者相關(guān)設(shè)置。在一個(gè)實(shí)施例中,用戶可以指定為多個(gè)設(shè)備共享配置 文件。例如,用戶可以配置設(shè)備200的集群使得每一個(gè)設(shè)備具有相同的 策略設(shè)置。在其他實(shí)施例中,配置接口 700可以-陂用于配置一個(gè)或者多 個(gè)客戶才幾代理120。
0156配置接口 700可以包括收集輸入的任一工具,包括但不限 于GUI和命令行接口。配置接口可以包括一個(gè)或者多個(gè)表達(dá)式輸入屏幕 600。在一個(gè)實(shí)施例中,配置接口可以從文件讀出配置信息。在另一個(gè)實(shí) 施例中,配置接口可以通過網(wǎng)絡(luò)來接收配置信息。例如,配置接口 700 可以包括用戶下載一個(gè)或者多個(gè)策略、設(shè)置、策略組或者配置文件的工 具。對(duì)于多個(gè)應(yīng)用這些可以包括共同使用的策略或者設(shè)置。
0157配置接口可以模糊(obscure)來自用戶的策略、策略組或 者配置的任一特征。例如,配置接口可以自動(dòng)或者默認(rèn)填充策略或者策 略組的任一部分,使得用戶不需要主動(dòng)配置那些部分。例如,配置接口 可以提供動(dòng)作的默認(rèn)列表,其中用戶僅需要指定應(yīng)該采取的動(dòng)作所基于 的規(guī)則的列表。動(dòng)作的語法和實(shí)現(xiàn)對(duì)于用戶可以完全或者部分隱藏。0158現(xiàn)在參考圖7B,示出使用計(jì)算機(jī)來配置使用配置接口的設(shè) 備的例子。總的來說,在客戶機(jī)102上顯示包括表達(dá)式輸入屏幕500的 配置接口 700??蛻魴C(jī)102將經(jīng)由配置接口接收的配置數(shù)據(jù)發(fā)送給設(shè)備 200。
0159仍舊參考圖7B,現(xiàn)在更詳細(xì)地,配置4妻口 700可以以4壬一 方式顯示在客戶^/L 102上。在一些實(shí)施例中,配置^^妄口 700可以包^"客 戶機(jī)上執(zhí)行的應(yīng)用。在其他實(shí)施例中,配置接口 700可以包括通過i殳備 顯示的web頁面。仍在其他實(shí)施例中,配置接口 700可以包括通過第三 方裝置顯示的web頁面。
0160配置接口 700可以包括對(duì)于用戶輸入配置數(shù)據(jù)的任一工具, 包括但不限于文本字段、菜單、按鈕、窗口、檢驗(yàn)欄和拖放功能。在一 些實(shí)施例中,配置接口 700可以包括表達(dá)式輸入屏幕500。在其他實(shí)施例 中,配置接口還可以提供用于用戶輸入一個(gè)或者多個(gè)策略的屏幕。在一 些實(shí)施例中,這些屏幕可以和一個(gè)或者多個(gè)表達(dá)式輸入屏幕集成在一起。
0161配置接口可以通過任一工具將配置信息發(fā)送到設(shè)備200。配 置信息可以經(jīng)由任意一個(gè)或者多個(gè)協(xié)議發(fā)送。在一個(gè)實(shí)施例中,用戶輸 入的配置信息可以^皮保存到客戶機(jī)102上的文件,并且隨后該文件可以 被發(fā)送到設(shè)備。在其他實(shí)施例中,用戶可以將信息輸入到web頁面中或 者web設(shè)備,其可以隨后將配置信息傳送到設(shè)備。在一些實(shí)施例中,配 置信息在其被發(fā)送到設(shè)備200之前可以被編譯、格式化或者以其他方式 處理。仍在其他實(shí)施例中,配置信息可以在其已經(jīng)被設(shè)備接收之后被編 譯、格式化或者以其他方式處理。
0162現(xiàn)在參考圖8A,描述使用面向?qū)ο蟮谋磉_(dá)式來配置網(wǎng)絡(luò)裝 置的面向?qū)ο蟮牟呗砸灾付ňW(wǎng)絡(luò)裝置所接收的分組流的有效載荷中的結(jié) 構(gòu)的方法的實(shí)施例??偟膩碚f,由裝置提供配置接口 700來配置用于網(wǎng) 絡(luò)裝置200的策略600 (步驟801)。裝置經(jīng)由配置接口 700接收用于策 略600的表達(dá)式610 (步驟803 )。裝置經(jīng)由配置接口 700接收基于表達(dá) 式的估計(jì)來識(shí)別所采取的動(dòng)作的用戶信息(步驟805 )。
0163仍舊參考圖8A,更詳細(xì)地,可以提供配置接口用來以任一 方式配置用于網(wǎng)絡(luò)裝置200的策略600 (步驟801)。在一些實(shí)施例中,配置接口 700可以包括命令行接口。在其他實(shí)施例中,配置接口 700可 以包括圖形用戶接口。配置接口 700可以包括一個(gè)或者多個(gè)拖放接口、 列表選擇接口或者語法突出顯示接口。在一些實(shí)施例中,配置接口 700 駐留在客戶機(jī)裝置102上。在其他實(shí)施例中,配置接口 700在網(wǎng)絡(luò)裝置 200上執(zhí)行。在一些實(shí)施例中,提供配置接口 700的裝置通過網(wǎng)絡(luò)104連 接到設(shè)備200。在一些實(shí)施例中,配置接口 700是web頁面。在一些其他 實(shí)施例中,配置"l妄口 700是駐留在網(wǎng)絡(luò)裝置200上的web頁面。在其他 實(shí)施例中,配置接口 700是駐留在各服務(wù)器106上的web頁面。
0164裝置經(jīng)由配置接口 700接收用于策略600的表達(dá)式610,該 策略600指定對(duì)象類來應(yīng)用到分組流的有效載荷的部分和多個(gè)對(duì)象類(步 驟803 )。在一些實(shí)施例中,表達(dá)式可以經(jīng)由表達(dá)式輸入屏幕500接收。 在一個(gè)實(shí)施例中,表達(dá)式610識(shí)別分組流中的文本的部分。在特定實(shí)施 例中,表達(dá)式610指定協(xié)議,并且還可以指定和協(xié)議相關(guān)的一個(gè)或者多 個(gè)方法和字革殳。例如,表達(dá)式可以指定HTTP、 HTML、 FTP、 SMTP、 ICA和 /或SSL的協(xié)議。所指定的協(xié)議隨后可以被應(yīng)用來解析根據(jù)協(xié)議的數(shù)據(jù)流。0165所接收的表達(dá)式可以指定任一對(duì)象類。例如,所接收的表 達(dá)式可以指定圖4A的對(duì)象模型中描述的任意一個(gè)對(duì)象類??梢砸匀我环?式指定對(duì)象類。在一個(gè)實(shí)施例中,指定對(duì)象類可以包括執(zhí)行對(duì)象類的實(shí) 例。例如,表達(dá)式"HTTP. REQ,,可以指定來自圖4A的"http—request" 對(duì)象的實(shí)例。在一些實(shí)施例中,所接收的表達(dá)式可以包括面向?qū)ο蟮谋?達(dá)式。
0166所接收的表達(dá)式還可以指定識(shí)別的對(duì)象類的任一成員。該 成員可以包括任一對(duì)象、數(shù)據(jù)類型或者方法。在一些實(shí)施例中,該成員 包括字段。在其他實(shí)施例中,該成員可以包括對(duì)應(yīng)于第二對(duì)象類的字段。 在一些實(shí)施例中,對(duì)象類的成員包括方法。在一些實(shí)施例中,對(duì)象類的 成員從該對(duì)象類的父類繼承。對(duì)象類的成員可以對(duì)應(yīng)于HTTP請(qǐng)求或者響 應(yīng)。在其他情況中,類的成員可以是統(tǒng)一資源定位符("URL,,)或者cookie。
0167在其他實(shí)施例中,表達(dá)式610包括明確的類型轉(zhuǎn)換。明確 的類型轉(zhuǎn)換可以;故用來指定對(duì)象類以關(guān)于字段或者返回的對(duì)象來使用。
例如,包含數(shù)字的字段可以被顯式類型轉(zhuǎn)換為字母數(shù)字串,用來執(zhí)行串比較?;蛘呃?,字節(jié)的流可以被類型轉(zhuǎn)換為具有給定定界符的列表。 或者例如,數(shù)據(jù)流可以被類型轉(zhuǎn)換為對(duì)應(yīng)的特定協(xié)議或者協(xié)議對(duì)象。
0168裝置可以經(jīng)由配置接口 700接收識(shí)別用于策略600的動(dòng)作 615的信息,該動(dòng)作615基于表達(dá)式610的估計(jì)而被采取(步驟805 )。 在一些實(shí)施例中,動(dòng)作615可以包括面向?qū)ο蟮谋磉_(dá)式。在特定實(shí)施例 中,該方法執(zhí)行動(dòng)作615用來提供負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng) 用遞送、網(wǎng)絡(luò)加速或者應(yīng)用加速。例如,為了加速網(wǎng)絡(luò)行為,該方法可 以估計(jì)表達(dá)式610來確定用戶的位置并且基于用戶的位置將用戶的業(yè)務(wù) 量路由給地理上最接近的一個(gè)或者多個(gè)服務(wù)器106。在一些實(shí)施例中,通 過將URL重寫到HTTP請(qǐng)求或者響應(yīng)中,策略可以執(zhí)行安全、加速、負(fù)載 平衡或者內(nèi)容轉(zhuǎn)換功能。例如,動(dòng)作615可以指定來修改HTTP請(qǐng)求使得 URL指向特定的服務(wù)器或者服務(wù)器群組106。在一些實(shí)施例中,從配置接 口 700接收的動(dòng)作615可以是用于"無動(dòng)作"或者用于默認(rèn)動(dòng)作的表達(dá) 式。
0169現(xiàn)在參考圖8B,描述通過裝置來應(yīng)用策略600中的面向?qū)?象的表達(dá)式610來指定設(shè)備200所接收的分組流的有效負(fù)載中的結(jié)構(gòu)的 方法的實(shí)施例??偟膩碚f,設(shè)備200識(shí)別包括面向?qū)ο蟮谋磉_(dá)式610的 策略600來估計(jì)關(guān)于所接收的分組流的有效載荷(步驟821 )。設(shè)備200 基于有效載荷的部分來分配值到面向?qū)ο蟮谋磉_(dá)式610指定的數(shù)據(jù)結(jié)構(gòu) (步驟823 )。設(shè)備200基于分配的值來執(zhí)行表達(dá)式610的估計(jì)(步驟825 ) 并且響應(yīng)于該估計(jì)來采取策略600指定的動(dòng)作615 (步驟827 )。
0170仍舊參考圖8B,更詳細(xì)地,設(shè)備可以識(shí)別策略來以任一方 式應(yīng)用到數(shù)據(jù)流(步驟821)。在一些實(shí)施例中,設(shè)備可以從一個(gè)或者多 個(gè)配置文件讀出策略。在其他實(shí)施例中,設(shè)備中的策略引擎236可以將 多個(gè)策略保存在存儲(chǔ)器中。仍在其他實(shí)施例中,設(shè)備可以響應(yīng)于數(shù)據(jù)流 的類型或者協(xié)議來識(shí)別策略。例如,設(shè)備可以具有應(yīng)用到所有輸入TCP 流的一組策略?;蛘呃?,設(shè)備可以識(shí)別應(yīng)用到SSL流的一個(gè)或者多個(gè) 策略。在一個(gè)實(shí)施例中,設(shè)備可以基于數(shù)據(jù)流的發(fā)送者或者接收者來識(shí) 別策略。例如,VPN設(shè)備可以具有被應(yīng)用到來自客戶機(jī)的輸入連接請(qǐng)求的 一組策略。或者加速裝置可以識(shí)別一個(gè)或者多個(gè)策略來應(yīng)用到來自服務(wù)
76器106的HTTP流。在一些實(shí)施例中,策略可以包括經(jīng)由配置接口 700接 收的策略。
0171分組流可以以任一方式并且從任一資源^接收。在一些實(shí)施 例中,分組流可以由設(shè)備透明攔截。在其他實(shí)施例中,設(shè)備可以在代理 一個(gè)或者多個(gè)傳輸層連接的過程中接收分組流。分組流可以包括任一類 型的分組,包括但不限于IP分組、TCP分組、UDP分組和ICMP分組。分 組流可以包括任意其它一個(gè)或者多個(gè)協(xié)議。
0172所識(shí)別的策略可以包括面向?qū)ο蟮谋磉_(dá)式來估計(jì)關(guān)于分組 流的有效載荷。面向?qū)ο蟮谋磉_(dá)式可以包括任一類型的面向?qū)ο蟮谋磉_(dá) 式,并且可以指定一個(gè)或者多個(gè)對(duì)象類、字段和方法。在一些實(shí)施例中, 面向?qū)ο蟮谋磉_(dá)式可以包括規(guī)則的部分。在一些實(shí)施例中,表達(dá)式可以 指定對(duì)應(yīng)于客戶機(jī)、服務(wù)器、HTTP協(xié)議或者設(shè)備的一個(gè)或者多個(gè)對(duì)象。
0173面向?qū)ο蟮谋磉_(dá)式可以關(guān)于分組流的任一有效載荷被估計(jì)。 在一個(gè)實(shí)施例中,表達(dá)式可以關(guān)于TCP或者UDP流的有效載荷被估計(jì)。 在另一個(gè)實(shí)施例中,表達(dá)式可以關(guān)于SSL流-陂估計(jì)。在又一個(gè)實(shí)施例中, 表達(dá)式可以關(guān)于ICA流的有效載荷被估計(jì)。分組流可以從任一資源接收, 包括但不限于客戶機(jī)、服務(wù)器、客戶機(jī)代理、服務(wù)器代理或者第二設(shè)備。
01"設(shè)備分配值給面向?qū)ο蟮谋磉_(dá)式610所指定的數(shù)據(jù)結(jié)構(gòu)(步 驟823 )。數(shù)據(jù)結(jié)構(gòu)可以包括對(duì)象實(shí)例的物理表示。在一些實(shí)施例中,設(shè) 備可以解析所接收的有效載荷的一些或者全部來分配值。在其他實(shí)施例 中,設(shè)備可以執(zhí)行表達(dá)式指定的或者對(duì)象模型中包括的任一方法來分配 值。例如,關(guān)于表達(dá)式
0175"HTTP.REQ.HEADER("Acc印t-Language").TYPECAST—TO—LIST(",")", i殳備 可以分配值給所指定的請(qǐng)求、首部和逗號(hào)分界的列表中的每一個(gè)的相應(yīng) 對(duì)象。在一些實(shí)施例中,值的分配可以包括確定對(duì)應(yīng)于對(duì)象的數(shù)據(jù)流的
一個(gè)或者多個(gè)部分。在一些實(shí)施例中,步驟823包括通過設(shè)備200應(yīng)用 面向?qū)ο蟮谋磉_(dá)式610指定的類到有效載荷的字節(jié)流。例如,如果表達(dá) 式指定URL類,設(shè)備可以通過確定所接收的有效載荷中的URL的開始和 結(jié)束點(diǎn)來分配值到基本的URL數(shù)據(jù)結(jié)構(gòu)。這些開始和結(jié)束點(diǎn)隨后可以被 保存在URL數(shù)據(jù)結(jié)構(gòu)中,并且用來執(zhí)行URL類中的任意一個(gè)方法。在一些實(shí)施例中,設(shè)備可以分配值到面向?qū)ο蟮谋磉_(dá)式指定的多個(gè)數(shù)據(jù)結(jié)構(gòu)。
在一個(gè)實(shí)施例中,策略引擎236可執(zhí)行和策略的估計(jì)相關(guān)的任一功能。
0176設(shè)備可以基于所分配的值以任一方式執(zhí)行表達(dá)式610的估 計(jì)(步驟825 )。在一些實(shí)施例中,設(shè)備可以使用表達(dá)式指定的對(duì)象類的 一個(gè)或者多個(gè)方法來執(zhí)行估計(jì)。在一些實(shí)施例中,估計(jì)可以產(chǎn)生布爾值。 在其他實(shí)施例中,估計(jì)可以產(chǎn)生整數(shù)、串或者其他對(duì)象。設(shè)備可以以任 一方式使用分配的值。在上面的URL例子中,在確定對(duì)于URL的開始和 結(jié)束點(diǎn)之后設(shè)備可以隨后使用那些值來執(zhí)行關(guān)于URL的任一操作。在一 些實(shí)施例中,設(shè)備可以隨后執(zhí)行圖4A中引用的getSuffix ()方法,其 識(shí)別所請(qǐng)求的URL的文件類型后綴。該方法還可以包括確定關(guān)于URL的 開始和結(jié)束點(diǎn)的后綴的開始和結(jié)束點(diǎn)。設(shè)備隨后可以使用后綴的開始和 結(jié)束點(diǎn)來執(zhí)行文件后綴的任一估計(jì),諸如將其與串".jsp"相比較來確 定所請(qǐng)求的URL是否對(duì)應(yīng)于Java月良務(wù)器頁面(Java Server Page )。
0177在一些實(shí)施例中,設(shè)備可以估計(jì)包括表達(dá)式的規(guī)則。在其 他實(shí)施例中,設(shè)備可以估計(jì)包括多個(gè)表達(dá)式的規(guī)則。
0178設(shè)備隨后響應(yīng)于該估計(jì)可以采取策略600所指定的動(dòng)作615 (步驟827 )。在一個(gè)實(shí)施例中,如果估計(jì)的結(jié)果是對(duì)應(yīng)于真的值,則設(shè) 備采取動(dòng)作。在另一個(gè)實(shí)施例中,如果估計(jì)的結(jié)果是非零,則設(shè)備可以 采取動(dòng)作。所釆取的動(dòng)作可以是任一動(dòng)作,包括但不限于涉及負(fù)載平衡、 內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速或者應(yīng)用加速的任一動(dòng)作。 在一些實(shí)施例中,動(dòng)作615可以包括"無動(dòng)作"。
0179在一些實(shí)施例中,設(shè)備可以立即執(zhí)行跟隨該估計(jì)的動(dòng)作。 在其他實(shí)施例中,設(shè)備可以執(zhí)行估計(jì)至少一個(gè)其它策略之后的動(dòng)作。在 又一些實(shí)施例中,設(shè)備可以在等待預(yù)訂數(shù)量的時(shí)間或者等待直到資源可 用之后執(zhí)行該動(dòng)作。在一個(gè)實(shí)施例中,設(shè)備可以在接收到分組流的附加 部分之后執(zhí)行動(dòng)作。
0180在一些實(shí)施例中,設(shè)備隨后可以將接收的分組流轉(zhuǎn)發(fā)到一 個(gè)或者多個(gè)設(shè)備服務(wù)器、客戶機(jī)或者客戶機(jī)代理。設(shè)備可以執(zhí)行關(guān)于分 組流的任一其它網(wǎng)絡(luò)設(shè)備功能,包括但不限于加速、壓縮和負(fù)載平衡。
0181現(xiàn)在參考圖8C,示出在設(shè)備200中用于應(yīng)用策略600中的
78面向?qū)ο蟮谋磉_(dá)式610來指定設(shè)備200接收的分組流的有效載荷中的結(jié)構(gòu)的方法。總的來說,設(shè)備識(shí)別包括面向?qū)ο蟮谋磉_(dá)式610的策略600來估計(jì)關(guān)于所接收的分組流的有效載荷(步驟841)。設(shè)備基于有效載荷的部分來分配值給面向?qū)ο蟮谋磉_(dá)式610所指定的數(shù)據(jù)結(jié)構(gòu)(步驟843 )。設(shè)備還基于所分配的值執(zhí)行表達(dá)式610的估計(jì)(步驟845 )。響應(yīng)于該估計(jì),設(shè)備改變所接收的分組流的部分(步驟847 )并且將所改變的分組流發(fā)送(步驟849 )。
0182仍舊參考圖8C,現(xiàn)在更詳細(xì)地,設(shè)備可以識(shí)別指定面向?qū)ο蟮谋磉_(dá)式610的策略600來估計(jì)關(guān)于所接收的分組流的有效載荷(步驟821 )。該步驟可以以此處描述的任一方式來執(zhí)行。
0183設(shè)備可以基于有效載荷的部分以任一方式來分配值給面向?qū)ο蟮谋磉_(dá)式610所指定的數(shù)據(jù)結(jié)構(gòu)(步驟823 )。該步驟可以以此處描述的任一方式來執(zhí)行。
0184設(shè)備基于所分配的值執(zhí)行表達(dá)式的估計(jì)(步驟845)。該步驟可以以此處描述的任一方式來執(zhí)行。
0185響應(yīng)于該估計(jì),設(shè)備可以改變所接收的分組流的部分(步驟847 )。在一些實(shí)施例中,改變所接收的分組流的部分可以包括響應(yīng)于該估計(jì)來采^l動(dòng)作(步驟827 )。在一些實(shí)施例中,所改變的分組流的部分由面向?qū)ο蟮谋磉_(dá)式識(shí)別的數(shù)據(jù)結(jié)構(gòu)來指定。在其他實(shí)施例中,所改變的分組流的部分由第二面向?qū)ο蟮谋磉_(dá)式指定。在一些實(shí)施例中,所改變的分組流的部分可以由策略的動(dòng)作中的面向?qū)ο蟮谋磉_(dá)式指定。在一些實(shí)施例中,設(shè)備可以重寫HTTP響應(yīng)或者請(qǐng)求的體中的URL。在其他實(shí)施例中,設(shè)備可以重寫分組流中的表格(form)字段值。所改變的表格字段(form field)可以是對(duì)象中的HTTP請(qǐng)求、HTTP響應(yīng)或者任一其它字段,該對(duì)象是分組流的部分。在又一個(gè)實(shí)施例中,設(shè)備可以改變包含在分組流中的一個(gè)或者多個(gè)名稱-值對(duì)。在一些實(shí)施例中,設(shè)備可以重寫所接收的分組流的部分而模糊或者移除機(jī)密數(shù)據(jù),包括但不限于個(gè)人身份號(hào)碼、支票賬戶轉(zhuǎn)賬號(hào)碼、個(gè)人聯(lián)系信息、社會(huì)安全號(hào)碼、密碼或者其它機(jī)密信息。
0186為了給出詳細(xì)例子,當(dāng)從去往服務(wù)器的客戶機(jī)接收HTTP流時(shí),對(duì)服務(wù)器提供應(yīng)用安全功能的設(shè)備可以確定以應(yīng)用策略
如果(141113.11叫1 5{.§6 :00^6().呂6^311^("1156'1113016").化1^111 > 20)貝U
H:TTP.Request.getCookie().setValue("usemame'', "void")
在此例中,設(shè)備可以解析HTTP流的一些或者全部以識(shí)別包含請(qǐng)求的流的部分,并且之后識(shí)別請(qǐng)求中的cookie。設(shè)備可以以任一方式完成此操作,包括維持具有指向?qū)?yīng)于請(qǐng)求和cookie的流的區(qū)域的參考指針的一個(gè)或者多個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),設(shè)備可以隨后識(shí)別cookie中的"用戶名,,名稱-值對(duì)的值并且確定該值的長度是否大于20個(gè)字符。大于20個(gè)字符的長度可以指示應(yīng)用錯(cuò)誤或者惡意攻擊,諸如所企圖的緩存器溢出攻擊。當(dāng)確定長度大于20個(gè)字符時(shí),設(shè)備可以隨后改變?cè)撝禐?避免,,或者任一其它信號(hào),該任一其它信號(hào)可以通知接收該流的服務(wù)器不正確的值由客戶機(jī)發(fā)送。設(shè)備可以使用和/或修改任一內(nèi)部數(shù)據(jù)結(jié)構(gòu),用來改變?cè)摿?。設(shè)備隨后可以將改變的流轉(zhuǎn)發(fā)給服務(wù)器。在其他實(shí)施例中,設(shè)備可以在探測(cè)到可能的溢出時(shí)簡單地阻止該流到達(dá)服務(wù)器。在這些實(shí)施例中,設(shè)備可以返回錯(cuò)誤消息給客戶機(jī)。
0187在其他實(shí)施例中,設(shè)備可以使用新的響應(yīng)來替代整個(gè)HTTP響應(yīng)。例如,如果設(shè)備確定響應(yīng)包含表中的機(jī)密數(shù)據(jù),則設(shè)備可以使用指示錯(cuò)誤的響應(yīng)或者包括中性(neutral )內(nèi)容的響應(yīng)來替代該響應(yīng)。在又一個(gè)實(shí)施例中,設(shè)備可以替換或者重寫整個(gè)HTTP請(qǐng)求或者響應(yīng)的首部。
0188設(shè)備可以隨后以任一方式發(fā)送所改變的分組流(步驟849 )。在一些實(shí)施例中,設(shè)備可以將所改變的分組流轉(zhuǎn)發(fā)給指定為該流的接收者的服務(wù)器或者客戶機(jī)。在其他實(shí)施例中,設(shè)備可以將該流重定向到設(shè)備、服務(wù)器或者客戶機(jī),而不是該流的預(yù)期接收者。設(shè)備可以使用任意一個(gè)或者多個(gè)協(xié)議發(fā)送所改變的分組流,包括^旦不限于TCP、 IP、 UDP、SSL和ICA。
E、用于處理未限定的策略表達(dá)式的系統(tǒng)和方法0189現(xiàn)在參考圖9,示出在設(shè)備200中在策略600的元素未限定的情況下用于應(yīng)用指定所采取的動(dòng)作615的策略600的方法的實(shí)施例??偟膩碚f,設(shè)備識(shí)別策略600來估計(jì)關(guān)于所接收的分組流的有效載荷,其中策略600指定(i )表達(dá)式610, ( ii )基于表達(dá)式610所采取的第一
80動(dòng)作615和(iii )如果元素未限定時(shí)所采取的第二動(dòng)作610 (步驟901 )。設(shè)備確定策略600的元素關(guān)于有效載荷未限定(步驟903 )。響應(yīng)于元素未限定的其決定,設(shè)備采取第二動(dòng)作(步驟905 )。 一般來說,該方法允許策略當(dāng)設(shè)備嘗試估計(jì)策略時(shí)如果遇到錯(cuò)誤或者異常情況時(shí)來指定所采取的動(dòng)作。以此方式,第二動(dòng)作可以是撤退或者錯(cuò)-i吳處理方法。
0190仍舊參考圖9,更詳細(xì)地,設(shè)備識(shí)別策略600來估計(jì)關(guān)于所接收的分組流的有效載荷,其中策略600指定表達(dá)式610,基于表達(dá)式610的所采取的第一動(dòng)作615和如果策略的元素未限定時(shí)所采取的第二動(dòng)作610 (步驟901)。設(shè)備可以以任一方式識(shí)別策略。在一個(gè)實(shí)施例中,表達(dá)式可以是面向?qū)ο蟮谋磉_(dá)式。在另一個(gè)實(shí)施例中,表達(dá)式610可以識(shí)別對(duì)象類來應(yīng)用到分組流的有效載荷的部分和對(duì)象類的成員。在另一個(gè)實(shí)施例中,表達(dá)式610指定一個(gè)協(xié)議,并且還可以指定一個(gè)或者多個(gè)相關(guān)的方法和字段。表達(dá)式可以指定任一類型的對(duì)象和/或?qū)ο箢?。在一些?shí)施例中,表達(dá)式可以包括對(duì)象類的一個(gè)或者多個(gè)方法。
0191分組流可以以任一方式并且從任一資源接收。在一些實(shí)施例中,分組流可以由設(shè)備透明攔截。在其他實(shí)施例中,設(shè)備可以在代理一個(gè)或者多個(gè)傳輸層連接過程中接收分組流。分組流可以包括任一類型分組,包括^f旦不限于IP分組、TCP分組、UDP分組和ICMP分組。分組流可以包括任意其它的一個(gè)或者多個(gè)協(xié)議。
0192由策略指定的第一動(dòng)作可以包括任一動(dòng)作。在一些實(shí)施例中,第一動(dòng)作可以包括如果表達(dá)式或者包含表達(dá)式的規(guī)則估計(jì)為真時(shí)所執(zhí)行的動(dòng)作。在一些實(shí)施例中,動(dòng)作615可以涉及負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速或者應(yīng)用加速。在其他實(shí)施例中,動(dòng)作615可以包括"無動(dòng)作,,或者默認(rèn)動(dòng)作。
0193第二動(dòng)作指定如果未限定策略的元素時(shí)所采取的動(dòng)作。策略的元素可以包括策略的任一部分,包括但不限于一個(gè)或者多個(gè)表達(dá)式、規(guī)則或者算子。元素可以在任一情況中未限定,其中設(shè)備不能成功分配值給該元素。在一個(gè)實(shí)施例中,如果元素導(dǎo)致不兼容的類型的比較時(shí),諸如確定整數(shù)是否大于列表或者布爾值是否等于串,元素可以未被限定。在其他實(shí)施例中,如果元素導(dǎo)致一個(gè)或者多個(gè)空值時(shí)元素可以未被限定。
81例如,如果表達(dá)式嘗試訪問URL對(duì)象中的"用戶名"值并且表達(dá)式被應(yīng)
用到具有所指定的無用戶名值的URL的數(shù)據(jù)流,則關(guān)于用戶名的操作可以未被限定。在其他實(shí)施例中,由于一個(gè)或者多個(gè)不正確的類型轉(zhuǎn)換,元素可以未^C限定。
0194在一些實(shí)施例中,第二動(dòng)作可以已經(jīng)由用戶通過配置"l妄口指定。例如,當(dāng)進(jìn)入或者查看配置接口中的策略時(shí),如果在運(yùn)行時(shí)策略未被限定,用戶可以被提示輸入所采取的動(dòng)作。在其他實(shí)施例中,第二動(dòng)作可以包括預(yù)配置的默認(rèn)的第二動(dòng)作。例如,在未限定的元素的情況下一組策略可以具有所采取的默認(rèn)動(dòng)作。例如,啟用URL重寫的一組策略可以具有不重寫任一 URL的默認(rèn)的第二動(dòng)作?;蛘哂糜趫?zhí)行負(fù)載平tf的 一組策略可以具有將分組流轉(zhuǎn)發(fā)到指定的備份服務(wù)器的默認(rèn)第二動(dòng)作。
0195設(shè)備200可以以任一方式確定策略600的元素是否關(guān)于有效載荷未限定(步驟903 )。在一些實(shí)施例中,設(shè)備可以確定在估計(jì)策略的過程中未限定策略。在其他實(shí)施例中,設(shè)備可以確定在預(yù)編譯、編i奪或者解釋策略的過程中未限定策略。在一些實(shí)施例中,設(shè)備可以通過枱,測(cè)在估計(jì)策略期間所產(chǎn)生的一個(gè)或者多個(gè)異常來確定策略未被限定。例如,設(shè)備可以檢測(cè)策略估計(jì)期間的空指針、溢出、或者算術(shù)處理異常。
0196響應(yīng)于確定元素未被限定,設(shè)備可以采取第二動(dòng)作(步驟905 )。第二動(dòng)作可以包括此處描述的任一動(dòng)作。在一些實(shí)施例中,第二動(dòng)作可以包括終止分組流的接收和/或傳送。在其他實(shí)施例中,第二動(dòng)作可以包括無動(dòng)作。
F、用于配置和使用策略組的系統(tǒng)和方法
0197現(xiàn)在參考圖IOA,示出策略體的例子??偟膩碚f,策略體1000a包括具有指定順序用于估計(jì)的一組一個(gè)或者多個(gè)策略。在所示例子中,對(duì)于每個(gè)策略由行編號(hào)來指定順序。每個(gè)策略還可以具有指示在當(dāng)前策略估計(jì)之后要估計(jì)的策略的流指令1010a、 1010b、 1010c、 1010d(總表示為1010)。
0198仍舊參考圖10A,并且更詳細(xì)地,策略體1000可以包括任意數(shù)量個(gè)策略,包括但不限于l、 2、 3、 4、 5、 6、 10、 20、 50和100個(gè)策略。策略體的策略可以包括此處描述的任一策略。在一些實(shí)施例中, 策略體可以包括執(zhí)行通用功能的一組策略。例如,策略體可以包括提供
負(fù)載平衡功能的一組策略?;蛘呃纾呗泽w可以包括用于提供高速緩 存的一組所有的策略。
0199策略體可以以任一方式配置。在一些實(shí)施例中,配置接口
700可以被提供其允許用戶來建立或者分組一個(gè)或者多個(gè)策略。在一些實(shí) 施例中,配置接口可以被提供其允許用戶來命名給定的策略體。在其他 實(shí)施例中,配置接口可以被提供其允許用戶來指定策略體的一個(gè)或者多 個(gè)屬性。例如,在異常或者未限定策略的情況下策略體可以具有默認(rèn)動(dòng) 作來執(zhí)行。或者例如,策略體可以具有策略體所應(yīng)用到的一組環(huán)境。例 如,用戶可以指定關(guān)于所有輸入的HTTP業(yè)務(wù)量而使用策略體?;蛘呃?, 用戶可以指定當(dāng)接收來自新的裝置的任一連接請(qǐng)求時(shí)使用策略體。在其 他實(shí)施例中,策略體可以包括一皮用來加強(qiáng)策略體的策略中特定特征的一 組屬性。例如,策略體可以請(qǐng)求策略體中無策略訪問特定對(duì)象。策略體 的屬性可以在配置時(shí)或者運(yùn)行時(shí)加強(qiáng)。
0200策略體可以以任一方式保存。在一些實(shí)施例中,策略體可 以保存在設(shè)備中的文件上。在其他實(shí)施例中,策略體可以保存在設(shè)備的 策略引擎236中。
0201策略體可以包括任一方式的排序策略用于估計(jì)。在一個(gè)實(shí) 施例中,策略體可以包括策略的排序列表。在其他實(shí)施例中,策略體可 以包括具有指示估計(jì)順序的一個(gè)或者多個(gè)流量指令1010的一組策略。在 又一些實(shí)施例中,策略體可以包括一列編號(hào)的要執(zhí)行的策略,用于增加 編號(hào)。
0202策略體中的每一個(gè)表達(dá)式可以指定流量指令1010。在包含 流量指令的策略估計(jì)為真的情況下流量指令1010可以包括指示要執(zhí)行的 策略的任一信息或者表達(dá)式。在一個(gè)實(shí)施例中,流量指令可以包括"NEXT', 語句1010a,其指示體中的下一個(gè)策略可以-故估計(jì)。在另一個(gè)實(shí)施例中, 流量指令可以包括"GOTO"語句1010b,其識(shí)別接著被估計(jì)的策略體中的 另一策略。在一些實(shí)施例中,GOTO語句可以通過行編號(hào)來識(shí)別策略。在 其他實(shí)施例中,GOTO語句可以通過策略名稱或者其它標(biāo)識(shí)符來識(shí)別策略。在又一個(gè)實(shí)施例中,流量指令可以包括"END"語句,其指示應(yīng)該不再估
計(jì)策略體的策略。
0203在一些實(shí)施例中,流量指令1010d可以包括表達(dá)式或者要 估計(jì)的表達(dá)式來確定下一個(gè)執(zhí)行的策略。流量指令可以包括任一表達(dá)式, 包括但不限于任一面向?qū)ο蟮谋磉_(dá)式。例如,流量指令1010d指定跟隨 查詢的"servnum"部分的整數(shù)應(yīng)該凈皮增加到17來確定下一個(gè)要執(zhí)4亍的 策略的行。在示例性策略體中,流量指令1010d可以被用來基于請(qǐng)求中 的參數(shù)在多個(gè)服務(wù)器上分布HTTP請(qǐng)求。
0204在一些實(shí)施例中,配置接口 700可以配備有用于用戶在策 略體中排序策略的工具。配置接口可以允許用戶指定行號(hào)、優(yōu)先級(jí)、列
表排序或者指定估計(jì)順序的任一其它工具。在一些實(shí)施例中,配置接口 700可以允許用戶來指定關(guān)于策略或者策略體的一個(gè)或者多個(gè)流量指令。 在其他實(shí)施例中,配置接口還可以才是供用于輸入對(duì)應(yīng)于策略體中的策略 的一個(gè)或者多個(gè)流量指令的任一輸入工具。
0205現(xiàn)在參考圖10B,示出用在處理分組流的網(wǎng)絡(luò)裝置200中的 策略600上的流量控制的方法的實(shí)施例??偟膩碚f,該方法包括由設(shè)備 200識(shí)別多個(gè)策略600來應(yīng)用到所接收的分組流,其中,策略600的至少 一個(gè)包括策略標(biāo)識(shí)符(步驟1001)。設(shè)備處理多個(gè)策略600的第一策略 600,第一策略600識(shí)別(i)包括第一表達(dá)式610的規(guī)則605 ( i i )基于 規(guī)則605的估計(jì)所采取的第一動(dòng)作615,和Uii)來自多個(gè)策略上的第 二策略600 (步驟1003 )。基于表達(dá)式610的估計(jì),設(shè)備確定規(guī)則605估 計(jì)為真(步驟1005 )。響應(yīng)于該確定,設(shè)備200處理所識(shí)別的第二策略 600 (步驟1007 )。
0206仍舊參考圖10B,更詳細(xì)地,由設(shè)備識(shí)別多個(gè)策略600來應(yīng) 用到所接收的分組流,其中,多個(gè)策略的至少一個(gè)指定策略標(biāo)識(shí)符(步 驟IOOI)。設(shè)備可以以任一方式識(shí)別多個(gè)策略。在一些實(shí)施例中,設(shè)備可 以識(shí)別多個(gè)策略對(duì)應(yīng)于對(duì)于給定數(shù)據(jù)流、數(shù)據(jù)流源或者數(shù)據(jù)流接收者的 策略。在一個(gè)實(shí)施例中,多個(gè)策略可以包括策略庫。
0207分組流可以以任一方式并且從任一源來4妄收。在一些實(shí)施 例中,分組流可以由設(shè)備透明攔截。在其他實(shí)施例中,設(shè)備可以在代理一個(gè)或者多個(gè)傳輸層連接的過程中接收分組流。分組流可以包括任一類
型的分組,包括但不限于IP分組、TCP分組、UDP分組和ICMP分組。分 組流可以包括任意其它一個(gè)或者多個(gè)協(xié)i義。
0208至少一個(gè)策略標(biāo)識(shí)符可以包括識(shí)別策略的任一工具,包括 但不限于行編號(hào)、策略名稱、或者優(yōu)先權(quán)編號(hào)。在一些實(shí)施例中,多個(gè) 策略600的每一策略600指定指示其中應(yīng)該處理策略600的默認(rèn)順序的 等級(jí)。
0209設(shè)備200處理多個(gè)策略600的第一策略600,其中第一策略 600識(shí)別指定第一表達(dá)式610的規(guī)則605、基于規(guī)則605的估計(jì)所采:f又的 第一動(dòng)作615,和識(shí)別多個(gè)策略600的第二策略600的表達(dá)式610 (步驟 1003 )??梢愿鶕?jù)用于估計(jì)和處理策略的任一方法來處理第一策略。在一 些實(shí)施例中,第一策略可以包括面向?qū)ο蟮谋磉_(dá)式。在其他實(shí)施例中, 第一策略可以包括包含面向?qū)ο蟮谋磉_(dá)式的規(guī)則。
0210第一策略可以包括識(shí)別第二策略的任一表達(dá)式。在一些實(shí) 施例中,第一策略可以包括第二策略的名稱。在其他實(shí)施例中,第一策 略600包括指定如果第一動(dòng)作615應(yīng)用時(shí)下一個(gè)要處理的第二策略600 的級(jí)別的整^:。
0211在一些實(shí)施例中,第一策略可以包括流量指令1010。第一 策略可以包括任一流量指令,包括"next"、 "goto"或者"end"。第一 策略可以包括任一其它元素,包括但不限于如果第一策略的元素未限定 時(shí)要執(zhí)行的動(dòng)作。在一個(gè)實(shí)施例中,多個(gè)策略的每一個(gè)策略可以包括流 量指令。
0212基于通過設(shè)備200的表達(dá)式610的估計(jì),設(shè)備確定規(guī)則605 估計(jì)為真(步驟1005 )。在一些實(shí)施例中,該步驟包括估計(jì)面向?qū)ο蟮谋?達(dá)式610。
0213響應(yīng)于確定該MJ!'j估計(jì)為真,設(shè)備200處理所識(shí)別的第二 策略600 (步驟1007 )。在一個(gè)實(shí)施例中,步驟1007可以包括執(zhí)行由第 一策略指定的流量指令。在一些實(shí)施例中,設(shè)備200可以估計(jì)表達(dá)式610 來確定下一個(gè)要處理的多個(gè)策略600中的第二策略600的級(jí)別。在一些 其他實(shí)施例中,設(shè)備200可以估計(jì)面向?qū)ο蟮谋磉_(dá)式610來確定下一個(gè)
85要處理的多個(gè)策略600中的第二策略600的級(jí)別。例如,設(shè)備可以估計(jì) 表達(dá)式來確定結(jié)合GOTO流量指令所使用的行編號(hào)。在確定行編號(hào)之后, 設(shè)備可以隨后處理給定行編號(hào)處的策略。
0214在一些實(shí)施例中,設(shè)備還可以在確定規(guī)則是真時(shí)采取由第 一策略指定的動(dòng)作。在其他實(shí)施例中,當(dāng)確定規(guī)則為真時(shí),設(shè)備可以保 存列表中第 一策略指定的動(dòng)作。該列表可以被用來保存所要采取的多個(gè) 動(dòng)作。在一個(gè)實(shí)施例中,由于設(shè)備處理策略庫中的多個(gè)策略,所以設(shè)備 可以保存對(duì)于包含被估計(jì)為真的規(guī)則的每一策略的一列動(dòng)作。在處理該 多個(gè)策略之后,設(shè)備可以隨后采取保存在列表中的所有動(dòng)作。在另一個(gè) 實(shí)施例中,由于設(shè)備處理多個(gè)策略庫,則設(shè)備可以保存對(duì)于包含被估計(jì) 為真的規(guī)則的每一策略的一列動(dòng)作。處理該多個(gè)策略庫之后,設(shè)備可以 隨后采取保存在列表中的所有動(dòng)作。
0215現(xiàn)在參考圖11A,示出圖解說明多個(gè)策略組上的流量控制的 框圖??偟膩碚f,策略體1000b包括多個(gè)策略。其中一個(gè)策略包括調(diào)用 動(dòng)作lllO,其調(diào)用第二策略體1000c。調(diào)用動(dòng)作1110指示如果包含動(dòng)作 的策略的規(guī)則估計(jì)為真時(shí)所處理的策略體1000c。處理已調(diào)用的策略體之 后,設(shè)備隨后可以恢復(fù)處理第一策略體1000b。該處理將參考圖IIB進(jìn)一 步被描述。
0n6仍舊參考圖IIA,配置接口 700可以被提供允許用戶通過包 括一個(gè)或者多個(gè)調(diào)用動(dòng)作110來指定策略組上執(zhí)行的順序。調(diào)用動(dòng)作可 以以任一方式識(shí)別策略組,包括但不限于通過名稱、通過存儲(chǔ)器位置或 者通過任一其它標(biāo)識(shí)符。在一些實(shí)施例中,策略組可以包括策略體。仍 在其他實(shí)施例中,調(diào)用動(dòng)作1110可以指定第二策略體中特定的策略。
0217在一些實(shí)施例中,調(diào)用動(dòng)作1110可以包括指示第二策略組 如何^^處理的一個(gè)或者多個(gè)指示。在一個(gè)實(shí)施例中,包括在第一策略體 中的調(diào)用動(dòng)作1110可以指定在處理已調(diào)用的策略體之后是否應(yīng)該恢復(fù)第 一策略體的處理。在另一個(gè)實(shí)施例中,調(diào)用動(dòng)作1110可以指定如果所調(diào) 用的策略體中遇到硬?;蛘弋惓r(shí)是否應(yīng)該恢復(fù)第一策略體的處理。例 如,調(diào)用動(dòng)作可以指定如果在第二策略體中遇到"END"流量指令,則應(yīng) 該恢復(fù)處理第一策略體?;蛘哒{(diào)用動(dòng)作可以指定如果在第二策略體中遇到異常或者"END"流量指令,則應(yīng)該不再處理第一策略體的策略。
0218以此方式,用戶可以配置多個(gè)策略體來確保處理特定策略, 甚至一個(gè)或者多個(gè)策略體的結(jié)果是不確定的。例如,提供用于拒絕對(duì)限 制的URL的訪問的策略的策略體可以調(diào)用用于在檢測(cè)到URL指示請(qǐng)求包 含SQL查詢時(shí)提供SQL安全的策略體。調(diào)用可以指定不考慮SQL安全策 略體處理的結(jié)果而在處理SQL策略體之后在URL ^^莫塊處應(yīng)該恢復(fù)處理。 以此方式,用戶可以保證執(zhí)行所有限制的URL加強(qiáng)策略體,其可以確保 所有限制的URL被阻斷。
0219在給定策略體遇到異常或者硬停止的情況下用戶還可以使 用策略體調(diào)用動(dòng)作lllO來確保策略不被估計(jì)。例如,提供內(nèi)容轉(zhuǎn)換策略 的策略體在確定對(duì)應(yīng)于請(qǐng)求的應(yīng)用之后可以調(diào)用包含用于應(yīng)用的應(yīng)用安 全策略的策略體。該調(diào)用可以指示如果應(yīng)用安全策略體遇到"END"指令, 則在內(nèi)容轉(zhuǎn)換策略體中不再估計(jì)策略。這可以用在這些情況中其中應(yīng) 用安全策略體中的"END"指令指示安全請(qǐng)求還沒有滿足,并且因此應(yīng)該 不再進(jìn)行請(qǐng)求的處理。
0220在一些實(shí)施例中,設(shè)備可以被配置具有對(duì)于策略組的一個(gè) 或者多個(gè)默認(rèn)執(zhí)行順序。例如,設(shè)備可以具有一個(gè)或者多個(gè)全局策略組, 其總是首先應(yīng)用,之后是跟隨全局策略組被處理的一個(gè)或者多個(gè)設(shè)備或 者v服務(wù)器特定策略組。在一些實(shí)施例中,策略體可以具有響應(yīng)于策略 體執(zhí)行的功能的默認(rèn)排序。例如,SSL策略的策略體可以首先應(yīng)用到輸入 業(yè)務(wù)量,并且隨后一組安全策略可以應(yīng)用到解密的業(yè)務(wù)量,之后是內(nèi)容 轉(zhuǎn)換策略的體。
0221現(xiàn)在參考圖11B,示出用在處理分組流的網(wǎng)絡(luò)裝置200中的 策略組上的流量控制的方法的實(shí)施例??偟膩碚f,設(shè)備識(shí)別第一策略組 以應(yīng)用到所接收的分組流(步驟1101 )。設(shè)備處理第一策略組的第一策略, 其中第一策略識(shí)別(i )指定第一表達(dá)式610的規(guī)則605和(ii )識(shí)別第 二策略組的信息(步驟1103)。設(shè)備估計(jì)規(guī)則605 (步驟1105)。響應(yīng)于 規(guī)則605的估計(jì),設(shè)備處理所識(shí)別的第二策略組(步驟1107)。處理第二 策略組之后,設(shè)備處理第一策略組的第二策略600 (步驟1109)。
0222仍舊參考圖11B,更詳細(xì)地,i殳備可以以任一方式識(shí)別第一策略組來應(yīng)用到所接收的分組流(步驟1101 )。分組流可以從任一資源接 收并且可以包括任意一個(gè)或者多個(gè)協(xié)i義。
0223在一些實(shí)施例中,第一策略可以包括面向?qū)ο蟮谋磉_(dá)式。
在其他實(shí)施例中,第一策略可以包括包含至少一個(gè)表達(dá)式和/或面向?qū)ο?br>
表達(dá)式的規(guī)則。在一些實(shí)施例中,第一策略600指定基于規(guī)則605的估 計(jì)所采取的動(dòng)作615。
0224識(shí)別第二策略組的信息可以包括任一形式的識(shí)別信息。在 一個(gè)實(shí)施例中,第二策略組可以包括策略體,并且識(shí)別信息可以包括策 略體的名稱。在一些實(shí)施例中,識(shí)別第二策略體的信息可以包括調(diào)用動(dòng) 作1U0。
0225設(shè)備可以以任一方式處理第一策略600 (步驟1103)。設(shè)備 可以估計(jì)在處理策略中的一個(gè)或者多個(gè)面向?qū)ο蟊磉_(dá)式。
0226設(shè)備200可以以任一方式估計(jì)規(guī)則605 (步驟1105)。在一 些實(shí)施例中,設(shè)備可以估計(jì)面向?qū)ο蟊磉_(dá)式610。在一些實(shí)施例中,設(shè)備 可以確定對(duì)應(yīng)于關(guān)見則的布爾值。
0227響應(yīng)于規(guī)則605的估計(jì),設(shè)備處理所識(shí)別的第二策略組(步 驟1107)。在一些實(shí)施例中,如果規(guī)則估計(jì)為真,則設(shè)備可以僅處理第二 策略組。在其他實(shí)施例中,如果規(guī)則估計(jì)為非零值,則設(shè)備可以僅處理 第二策略組。i殳備可以以任一方式處理第二組。在一些實(shí)施例中,i殳備 可以從由調(diào)用動(dòng)作1110識(shí)別的特定策略起處理第二策略體。
0228在一些實(shí)施例中,處理第二策略組之后,設(shè)備可以處理第 一策略組的第二策略。例如,在圖11A中,設(shè)備可以估計(jì)策略體1000b 中的行l(wèi)l的策略。如果規(guī)則為真,則設(shè)備可以采取調(diào)用動(dòng)作1110,并且 設(shè)備可以處理策略體1000c。在完成處理策略體P3之后,設(shè)備可以返回 策略體1000b并且處理下一個(gè)指令,其是行12。在一些實(shí)施例中,如果 第二策略體導(dǎo)致軟停止,諸如其中策略體的最后一個(gè)指令指向NEXT指令, 如在策略體1000c的行30中,則設(shè)備可以僅恢復(fù)處理第一策略體。在其 他實(shí)施例中,甚至在指示硬停時(shí),諸如策略體1000c的行11,設(shè)備可以 恢復(fù)處理第一策略體。
0229在一些實(shí)施例中,第二策略組還可以包括一個(gè)或者多個(gè)調(diào)用動(dòng)作。在這些實(shí)施例中,策略體估計(jì)可以以任一方式鏈鎖(chained )。 在一些實(shí)施例中,設(shè)備200可以處理第三策略組,其中第三策略組通過 第二策略組中的策略600識(shí)別。在其他實(shí)施例中,第一策略體可以具有 多個(gè)調(diào)用動(dòng)作1110。在這些實(shí)施例中,設(shè)備可以處理第三策略組,其中 第三策略組由第一策略組的第二策略600識(shí)別。在又一些實(shí)施例中,在 處理第二策略組之后,第一策略體600指定識(shí)別要處理的第一策略組的 第二策略600。例如,包括調(diào)用動(dòng)作1110的策略還可以包4舌在處理從第 二策略組返回之后指定要處理的第一策略組的策略的流量指令。 G、用于配置和使用應(yīng)用安全配置文件的系統(tǒng)和方法
0230現(xiàn)在參考圖12,示出用于配置應(yīng)用安全配置文件的多個(gè)配 置屏幕1200、 1210、 1260、 1240??偟膩碚f,配置文件建立屏幕1200允 許用戶輸入名稱和一般性質(zhì)用于新的應(yīng)用安全配置文件。配置文件配置 屏幕1210允許用戶選擇包含在配置文件中的一個(gè)或者多個(gè)檢驗(yàn)。兩個(gè)檢 驗(yàn)配置屏幕1240、 1260可以隨后允許用戶修改單個(gè)檢驗(yàn)的設(shè)置。
0231仍舊參考圖12,更詳細(xì)地,建立屏幕1200允許用戶輸入涉 及配置文件的配置文件名稱和附加的信息。配置文件可以以任一方式命 名。在一些實(shí)施例中,配置文件名稱可以反應(yīng)配置文件的一個(gè)或者多個(gè) 功能??梢耘c配置文件一起來指定附加的信息。在一個(gè)實(shí)施例中,配置 文件可以指定與配置文件所應(yīng)用的網(wǎng)絡(luò)業(yè)務(wù)量的類型相關(guān)的信息。例如, 配置文件可以應(yīng)用到HTTP或者HTML業(yè)務(wù)量?;蛘吲渲梦募梢詰?yīng)用到 web服務(wù)業(yè)務(wù)量。
0232配置文件配置屏幕1210可以允許用戶指定一個(gè)或者多個(gè)檢 驗(yàn)以與配置文件使用。檢驗(yàn)可以包括涉及通用安全功能的任一組的策略 或者動(dòng)作。例如,cookie 4企驗(yàn)可以包括一組策略、i殳置或者動(dòng)作來阻止 cookie竄改?;蛘咝庞每z驗(yàn)可以包括一組策略、設(shè)置或者動(dòng)作來阻止 機(jī)密信用卡信息經(jīng)由裝置發(fā)送。在所示實(shí)施例中,為用戶提供選擇來阻 斷、警告或者記錄關(guān)于給定的檢驗(yàn)。如果選擇"阻斷",則配置文件可以 阻斷不符合檢驗(yàn)的所有業(yè)務(wù)量。如果選擇"警告,,,則管理員或者用戶在 分組流不符合檢驗(yàn)時(shí)可以接收警告。如果選擇"記錄",則每當(dāng)分組流通 過不符合檢驗(yàn)的裝置發(fā)送時(shí),可以建立記錄項(xiàng)。配置文件配置屏幕可以提供選項(xiàng)來修改任一這些檢驗(yàn)和規(guī)則。在一些實(shí)施例中,對(duì)片企驗(yàn)的任一 修改可以轉(zhuǎn)變?yōu)橛脕砼渲镁W(wǎng)絡(luò)裝置的基本的策略表達(dá)式。
02334全驗(yàn)配置屏幕1240、 1260可以包括用于修改檢l全的任一輸 入方式。在一個(gè)實(shí)施例中,用戶可以指定一個(gè)或者多個(gè)策略包含在檢驗(yàn) 中。在另一個(gè)實(shí)施例中,用戶可以修改檢驗(yàn)的一個(gè)或者多個(gè)設(shè)置。檢驗(yàn) 的設(shè)置可以包括在確定業(yè)務(wù)量流是否滿足檢驗(yàn)中檢驗(yàn)所使用的任一信 息。例如,關(guān)于驗(yàn)證開始URL的檢驗(yàn),設(shè)置可以包括一個(gè)或者多個(gè)允許 的開始URL。或者例如,對(duì)于表格字段格式檢驗(yàn),設(shè)置可以包括格式纟全驗(yàn) 應(yīng)該凈皮應(yīng)用的一個(gè)或者多個(gè)地址。在一些實(shí)施例中,i殳置可以對(duì)應(yīng)于基 本策略的一個(gè)或者多個(gè)元素。例如,允許的開始URL可以合并為具有允 許業(yè)務(wù)量傳遞的動(dòng)作的策略的規(guī)則中的表達(dá)式。
0234現(xiàn)在參考圖13A,示出用于配置對(duì)于裝置的一個(gè)或者多個(gè)應(yīng) 用安全配置文件的方法的流程圖,其中每一個(gè)應(yīng)用安全配置文件指定多 個(gè)檢驗(yàn)來執(zhí)行涉及應(yīng)用的安全功能??偟膩碚f,該方法包括提供用于配 置應(yīng)用安全配置文件的配置接口 (步驟1301)。該方法包括經(jīng)由配置接口 接收第一設(shè)置,其對(duì)應(yīng)于應(yīng)用安全配置文件的第一一企驗(yàn)(步驟1303 )。方 法還包括經(jīng)由配置接口接收第二設(shè)置,其對(duì)應(yīng)于應(yīng)用安全配置文件的第 二檢驗(yàn)(步驟1305 )。該方法還包括識(shí)別指定包括第一表達(dá)式600的規(guī)則 605的策略600 (步驟1307 )。該方法還可以包括接收基于規(guī)則605的估 計(jì)來識(shí)別要處理的應(yīng)用安全配置文件的信息(步驟1309 )。
0235仍舊參考圖13A,更詳細(xì)地,提供用于配置應(yīng)用安全配置文 件的配置接口 (步驟1301)。配置接口可以包括任一配置接口 、部件和此 處描述的方法。在一些實(shí)施例中,配置接口包括一個(gè)或者多個(gè)拖放接口、 列表選擇接口或者語法突出顯示接口。在其他實(shí)施例中,配置接口可以 包括表達(dá)式配置屏幕600。在又一些實(shí)施例中,配置接口可以包括任一數(shù) 量個(gè)配置文件建立屏幕13GQ、檢驗(yàn)配置屏幕1310、和/或設(shè)置配置屏幕 1340、 1360。在又一些實(shí)施例中,配置接口 700是命令行接口。配置接 口可以在任一裝置上執(zhí)行。在一些實(shí)施例中,方法包括在與網(wǎng)絡(luò)裝置200 通信的裝置上執(zhí)行配置接口 700。在其他實(shí)施例中,該方法包括在網(wǎng)絡(luò)裝 置200上執(zhí)行配置接口 700。在一個(gè)實(shí)施例中,該方法給用戶提供用于建立多個(gè)應(yīng)用配置文件的配置文件接口 1300。
0236裝置可以經(jīng)由配置接口接收指定應(yīng)用安全配置文件的對(duì)應(yīng) 的第一檢驗(yàn)的第一設(shè)置(步驟1 303 )。在一些實(shí)施例中,裝置從配置接口 700接收第一檢驗(yàn)所使用的URL。在其他實(shí)施例中,裝置從配置接口 700 接收指定第一4企驗(yàn)所使用的一個(gè)或者多個(gè)URL的表達(dá)式610。在又一些實(shí) 施例中,裝置從配置接口 700接收指定第一檢驗(yàn)所使用的一個(gè)或者多個(gè) URL的面向?qū)ο蟮谋磉_(dá)式600。在一些實(shí)施例中,設(shè)置可以包括枱r驗(yàn)是否 應(yīng)該阻斷、記錄或者產(chǎn)生關(guān)于干擾檢驗(yàn)的分組流的警告的指示。在其他 實(shí)施例中,設(shè)置可以包括包含在檢驗(yàn)中的一個(gè)或者多個(gè)策略的元素。
0237裝置還經(jīng)由配置接口 700接收第二設(shè)置,該第二設(shè)置指定 應(yīng)用安全配置文件的對(duì)應(yīng)的第二檢驗(yàn)(步驟1305 )。該:沒置可以以任一方 式接收,包括第一設(shè)置被接收的任一方式。
0238裝置可以經(jīng)由配置接口 700識(shí)別指定包括第一表達(dá)式610 的規(guī)則605的策略600 (步驟1307 )。在一些實(shí)施例中,策略可以包括面 向?qū)ο蟮谋磉_(dá)式。策略可以以任一方式識(shí)別。在一些實(shí)施例中,策略可 以從列表中挑選。在其他實(shí)施例中,策略可以經(jīng)由拖放接口挑選。在又 一些實(shí)施例中,策略可以關(guān)于給定的配置文件自動(dòng)挑選。在一個(gè)實(shí)施例 中,策略可以由用戶直接輸入。
0239裝置可以經(jīng)由接口 700接收基于規(guī)則605的估計(jì)來識(shí)別要 處理的應(yīng)用安全配置文件的信息(步驟1309 )。在一個(gè)實(shí)施例中,應(yīng)用安 全配置文件可以表示為策略體,并且調(diào)用動(dòng)作可以增加到識(shí)別策略體的 策略。在一些實(shí)施例中,方法包括保存應(yīng)用安全配置文件。在其他實(shí)施 例中,方法包括將應(yīng)用安全配置文件發(fā)送到網(wǎng)絡(luò)裝置200。
0240在一些實(shí)施例中,應(yīng)用安全配置文件可以被指定為動(dòng)作用 于多個(gè)策略。例如,可以存在多個(gè)條件,在這些條件下應(yīng)該應(yīng)用包括表 格字段一致性的應(yīng)用安全配置文件和緩沖器溢出檢驗(yàn)。多個(gè)策略,其中 指定若干條件中一個(gè)的每一個(gè)策略可以調(diào)用應(yīng)用安全配置文件作為動(dòng) 作。
0241現(xiàn)在參考圖13B,示出用于對(duì)于裝置執(zhí)行一個(gè)或者多個(gè)應(yīng)用 安全配置文件的方法的實(shí)施例,每一個(gè)應(yīng)用安全配置文件指定執(zhí)行涉及
91應(yīng)用的安全功能的多個(gè)策略組??偟膩碚f,該方法包括識(shí)別第一策略的
設(shè)備以應(yīng)用到所接收的分組流,其中第一策略600指定包括第一表達(dá)式 610的規(guī)則605并且識(shí)別應(yīng)用安全配置文件(步驟1321)。設(shè)備200估計(jì) 規(guī)則605 (步驟1323 )。響應(yīng)于規(guī)則605的估計(jì),設(shè)備處理應(yīng)用安全配置 文件識(shí)別的第一檢驗(yàn)(步驟1325 )。響應(yīng)于規(guī)則605的確定,設(shè)備還處理 應(yīng)用安全配置文件指定的第二檢驗(yàn)(步驟1 327 )。
0242仍舊參考圖13B,更詳細(xì)地,該方法包括識(shí)別第一策略的設(shè) 備以應(yīng)用到所接收的分組流,其中第一策略600指定包括第一表達(dá)式610 的規(guī)則605并且識(shí)別應(yīng)用安全配置文件(步驟1321 )。在一些實(shí)施例中, 設(shè)備20G包括VPN代理裝置。在一些其他實(shí)施例中,設(shè)備200識(shí)別第一 策略600以應(yīng)用到所接收的TCP分組流。分組流可以以任一方式從4壬一 資源接收。分組流可以包括任意一個(gè)或者多個(gè)協(xié)議。
0243設(shè)備200估計(jì)策略的規(guī)則(步驟1323 )。設(shè)備可以根據(jù)任一 技術(shù)來估計(jì)規(guī)則。在一些實(shí)施例中,規(guī)則可以包括面向?qū)ο蟮谋磉_(dá)式。 在其他實(shí)施例中,規(guī)則可以包括多個(gè)面向?qū)ο蟮谋磉_(dá)式。在一些實(shí)施例 中,設(shè)備可以確定布爾值作為估計(jì)表達(dá)式的結(jié)果。
0244響應(yīng)于規(guī)則605的估計(jì),設(shè)備200處理應(yīng)用安全配置文件 識(shí)別的第一檢驗(yàn)(步驟1 325 )。在一些實(shí)施例中,設(shè)備可以響應(yīng)于確定規(guī) 則為真來處理第一檢驗(yàn)。
0245設(shè)備可以以任一方式處理第一檢一險(xiǎn)。在一些實(shí)施例中,設(shè) 備估計(jì)第 一檢驗(yàn)的至少 一個(gè)設(shè)置來確定是否應(yīng)用第 一檢驗(yàn)。在 一 些其他 實(shí)施例中,設(shè)備確定包含在分組流中的URL匹配第一檢驗(yàn)的至少一個(gè)設(shè) 置,并且響應(yīng)于該確定來應(yīng)用第一4企驗(yàn)。在又一些實(shí)施例中,設(shè)備可以 確定包含在分組流中的URL匹配第一檢驗(yàn)的一個(gè)設(shè)置的表達(dá)式610,并且 響應(yīng)于該確定來應(yīng)用第一檢驗(yàn)。在其他實(shí)施例中,設(shè)備可以確定包含在 分組流中的URL匹配第一檢驗(yàn)的一個(gè)設(shè)置的面向?qū)ο蟮谋磉_(dá)式610。設(shè)備 可以響應(yīng)于該確定來應(yīng)用第 一檢驗(yàn)。
0246響應(yīng)于規(guī)則605的確定,設(shè)備200還可以處理應(yīng)用安全配 置文件指定的第二檢驗(yàn)(步驟1327 )。在一些實(shí)施例中,設(shè)備可以響應(yīng)于 確定規(guī)則為真來處理第二檢驗(yàn)。在一些實(shí)施例中,該方法使用第一檢驗(yàn)和第二檢驗(yàn)的至少一個(gè)用來執(zhí)行以下的其中一個(gè)SQL注入^^測(cè)、無效開 始URL檢測(cè)、cookie竄改檢測(cè)、表格字段一致性檢測(cè)、緩沖器溢出檢測(cè)、 交叉站點(diǎn)腳本才企測(cè)、信用卡號(hào)碼纟僉測(cè)、和無效URL 一僉測(cè)。在一些其他實(shí) 施例中,該方法使用第 一檢驗(yàn)和第二檢驗(yàn)的至少一個(gè)來執(zhí)行以下的其中 一個(gè)SQL注入阻斷、無效開始URL阻斷、cookie竄改阻斷、非一致性 表格字段阻斷、緩沖器溢出阻斷、交叉站點(diǎn)腳本阻斷、信用卡號(hào)碼阻斷、 和無效URL阻斷。
0247雖然本發(fā)明已經(jīng)參考特定優(yōu)選實(shí)施例詳細(xì)地示出和描述, 但是本領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)該理解在不脫離由所附權(quán)利要求限定的 本發(fā)明的精神和保護(hù)范圍的情況下可以在形式上和細(xì)節(jié)上做出多種改 變
權(quán)利要求
1、一種使用面向?qū)ο蟮谋磉_(dá)式來配置網(wǎng)絡(luò)裝置的策略以指定網(wǎng)絡(luò)裝置所接收的分組流的有效載荷中的結(jié)構(gòu)的方法,所述方法包括(a)提供用于配置網(wǎng)絡(luò)裝置的策略的配置接口;(b)經(jīng)由所述配置接口接收對(duì)于策略的表達(dá)式,所述表達(dá)式識(shí)別(i)應(yīng)用到分組流的有效載荷的部分的對(duì)象類;和(ii)對(duì)象類的成員;和(c)經(jīng)由所述配置接口接收識(shí)別對(duì)于所述策略的動(dòng)作的信息,基于該表達(dá)式的估計(jì)而采取所述動(dòng)作。
2、 權(quán)利要求1的方法,其中,步驟(a)包括向用戶提供命令行配置接口 。
3、 權(quán)利要求1的方法,其中,步驟(a)包括向用戶提供配置接口,所 述配置接口包括拖放接口 、列表選擇接口或者語法突出顯示接口的一個(gè)或者 多個(gè)。
4、 權(quán)利要求1的方法,其中,步驟(a)包括在連接到網(wǎng)絡(luò)裝置的裝置 上執(zhí)行配置接口。
5、 權(quán)利要求1的方法,其中,步驟(a)包括在網(wǎng)絡(luò)裝置上執(zhí)行配置接o 。
6、 權(quán)利要求l的方法,還包括從用戶接收識(shí)別協(xié)議的信息。
7、 權(quán)利要求6的方法,其中,步驟(b)包括接收對(duì)象類以應(yīng)用到分組 流的有效載荷的部分,所述對(duì)象類對(duì)應(yīng)于所識(shí)別的協(xié)議。
8、 權(quán)利要求l的方法,還包括從用戶接收識(shí)別在解釋分組流的有效載荷 中使用的協(xié)議的信息。
9、 權(quán)利要求l的方法,其中,所述對(duì)象類的成員包括一個(gè)字段。
10、 權(quán)利要求1的方法,其中,所述對(duì)象類的成員包括對(duì)應(yīng)于第二對(duì)象 類的一個(gè)字段。
11、 權(quán)利要求l的方法,其中,所述對(duì)象類的成員包括一個(gè)方法。
12、 權(quán)利要求1的方法,其中,所述對(duì)象類的成員從所述對(duì)象類的父類 繼承。
13、 權(quán)利要求l的方法,其中,所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求。
14、 權(quán)利要求l的方法,其中,所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求,并且所述 對(duì)象類的成員包括URL。
15、 權(quán)利要求l的方法,其中,所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求,并且所述 對(duì)象類的成員包括cookie。
16、 權(quán)利要求l的方法,其中,所述對(duì)象類對(duì)應(yīng)于HTTP響應(yīng)。
17、 權(quán)利要求l的方法,其中,所述對(duì)象類對(duì)應(yīng)于HTTP響應(yīng)體,并且所 述對(duì)象類的成員對(duì)應(yīng)于URL。
18、 權(quán)利要求l的方法,其中,步驟(b)包括經(jīng)由配置接口接收對(duì)于策 略的表達(dá)式,所述表達(dá)式識(shí)別(i )應(yīng)用到分組流的有效載荷的部分的對(duì)象類,(ii)所述對(duì)象類的字段,所述字段對(duì)應(yīng)于第二對(duì)象類和(iii)字段的顯式 類型轉(zhuǎn)換。
19、 權(quán)利要求l的方法,其中,步驟(b)包括經(jīng)由配置接口接收對(duì)于策 略的表達(dá)式,所述表達(dá)式識(shí)別(i )應(yīng)用到分組流的有效載荷的部分的對(duì)象類,(ii)所述對(duì)象類的方法,所述方法返回對(duì)應(yīng)于第二對(duì)象類的對(duì)象和(iii) 所返回對(duì)象的顯式類型轉(zhuǎn)換。
20、 權(quán)利要求l的方法,其中,步驟(c)包括識(shí)別策略的動(dòng)作的信息, 基于包含所述表達(dá)式的規(guī)則的估計(jì)來采取所述動(dòng)作。
21、 權(quán)利要求l的方法,其中,所述動(dòng)作指定涉及以下至少一個(gè)的功能 負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速和應(yīng)用加速。
22、 權(quán)利要求1的方法,其中,所述動(dòng)作包括重寫HTTP響應(yīng)的體中的URL。
23、 權(quán)利要求l的方法,其中,所述動(dòng)作包括面向?qū)ο蟮谋磉_(dá)式。
24、 一種在設(shè)備中在策略中應(yīng)用面向?qū)ο蟮谋磉_(dá)式來指定所述設(shè)備接收 的分組流的有效載荷中的結(jié)構(gòu)的方法,所述方法包括(a) 由設(shè)備識(shí)別策略來估計(jì)關(guān)于所接收的分組流的有效負(fù)載,該策略指 定(i )對(duì)象類以應(yīng)用到分組流的有效載荷的部分;(ii )對(duì)象類的成員和(iii ) 動(dòng)作;(b) 由設(shè)備選擇該對(duì)象類識(shí)別的有效載荷的部分;(c) 由設(shè)備確定對(duì)于該對(duì)象類的成員的值;并且(d) 響應(yīng)所確定的值來采取動(dòng)作。
25、 權(quán)利要求24的方法,其中,所述策略識(shí)別協(xié)議。
26、權(quán)利要求25的方法,還包括根據(jù)所識(shí)別的協(xié)議來解析有效載荷的部為、
27、 權(quán)利要求25的方法,其中
28、 權(quán)利要求24的方法,其中
29、 權(quán)利要求24的方法,其中, 類的一個(gè)字段。
30、 權(quán)利要求24的方法,其中,
31、 權(quán)利要求24的方法,其中, 繼承。
32、 權(quán)利要求24的方法,其中,
33、 權(quán)利要求24的方法,其中 述對(duì)象類的成員包括URL。
34、 權(quán)利要求24的方法 述只t象類的成員包4舌cookie。
35、 權(quán)利要求24的方法,其中,
36、 權(quán)利要求24的方法,其中 所述對(duì)象類的成員對(duì)應(yīng)于URL。
37、 權(quán)利要求24的方法,其中,步驟(c)包括由所述設(shè)備確定對(duì)于所 述對(duì)象類的成員的值;并且執(zhí)行所確定的值的顯式類型轉(zhuǎn)換。
38、 權(quán)利要求24的方法,其中,步驟(d)包括基于確定的值估計(jì)所 述表達(dá)式;在確定的值上執(zhí)行操作來產(chǎn)生結(jié)果,并且響應(yīng)于所產(chǎn)生的結(jié)果來 采取動(dòng)作。
39、 4又利要求38的方法,其中,所述^喿作包括AND、 0R、 GREATER THAN、 LESS T謹(jǐn)、EQUALS和NOT EQUALS的其中一個(gè)。
40、 權(quán)利要求24的方法,其中,步驟(d)包括執(zhí)行涉及以下至少一個(gè) 的動(dòng)作負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速和應(yīng)用加速。
41、 權(quán)利要求24的方法,其中,步驟(d)包括重寫包含在所述分組流 中的HTTP響應(yīng)的體中的URL。
42、 一種設(shè)備,用于在策略中應(yīng)用面向?qū)ο蟮谋磉_(dá)式來指定所述設(shè)備接 收的分組流的有效載荷中的結(jié)構(gòu),所述設(shè)備包括所述協(xié)議是HTTP。 所述對(duì)象類的成員包括一個(gè)字段。 所述對(duì)象類的成員包括對(duì)應(yīng)于第二對(duì)象所述對(duì)象類的成員包括一個(gè)方法。 所述對(duì)象類的成員從所述對(duì)象類的父類所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求。 所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求,并且所其中,所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求,并且所所述對(duì)象類對(duì)應(yīng)于HTTP響應(yīng)。 所述對(duì)象類對(duì)應(yīng)于HTTP響應(yīng)體,并且接收分組流的分組處理器;和策略引擎,識(shí)別策略來估計(jì)關(guān)于所接收的分組流的有效負(fù)載,該策略指 定(i )對(duì)象類以應(yīng)用到分組流的有效載荷的部分;(ii )對(duì)象類的成員和(iii ) 動(dòng)作;選擇該對(duì)象類識(shí)別的有效載荷的部分;確定對(duì)于該對(duì)象類的成員的值; 并且響應(yīng)所確定的值來采取動(dòng)作。其中,所述策略識(shí)別協(xié)議。 其中,所述策略引擎根據(jù)所識(shí)別的協(xié)議來解析
43、 權(quán)利要求42的系統(tǒng),
44、 權(quán)利要求43的系統(tǒng), 有效載荷的部分。
45、 權(quán)利要求43的系統(tǒng),
46、 權(quán)利要求42的系統(tǒng),
47、 權(quán)利要求42的系統(tǒng), 類的一個(gè)字段。
48、 權(quán)利要求42的系統(tǒng),
49、 權(quán)利要求42的系統(tǒng), 繼承。
50、 權(quán)利要求42的系統(tǒng),
51、 權(quán)利要求42的系統(tǒng), 述對(duì)象類的成員包括URL。
52、 權(quán)利要求42的系統(tǒng), 述對(duì)象類的成員包括cookie。
53、 權(quán)利要求42的系統(tǒng),
54、 權(quán)利要求42的系統(tǒng), 所述對(duì)象類的成員對(duì)應(yīng)于URL。
55、 權(quán)利要求42的系統(tǒng),其中,所述協(xié)議是HTTP。其中,所述對(duì)象類的成員包括一個(gè)字段。其中,所述對(duì)象類的成員包括對(duì)應(yīng)于第二對(duì)象其中,所述對(duì)象類的成員包括一個(gè)方法。 其中,所述對(duì)象類的成員從所述對(duì)象類的父類其中,所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求。其中,所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求,并且所其中,所述對(duì)象類對(duì)應(yīng)于HTTP請(qǐng)求,并且所其中, 其中其中,所述對(duì)象類對(duì)應(yīng)于HTTP響應(yīng)。 所述對(duì)象類對(duì)應(yīng)于HTTP響應(yīng)體,并且所述策略引擎確定對(duì)于所述對(duì)象類的成 員的值;并且執(zhí)行所確定的值的顯式類型轉(zhuǎn)換。
56、 權(quán)利要求42的系統(tǒng),其中,所述策略引擎基于確定的值來估計(jì)所述 表達(dá)式;在確定的值上執(zhí)行操作來產(chǎn)生結(jié)果,并且響應(yīng)于所產(chǎn)生的結(jié)果來采 取動(dòng)作。
57、 權(quán)利要求38的系統(tǒng),其中,所述操作包括AND、 0R、 GREATER THAN、 LESS THAN、 EQUALS和NOT EQUALS的其中一個(gè)。
58、 權(quán)利要求42的系統(tǒng),其中,所述策略引擎執(zhí)行涉及以下至少一個(gè)的 動(dòng)作負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速和應(yīng)用加速。
59、 權(quán)利要求42的系統(tǒng),其中,所述策略動(dòng)作重寫包含在所述分組流中 的HTTP響應(yīng)的體中的URL。
60、 一種在設(shè)備中在策略中應(yīng)用面向?qū)ο蟮谋磉_(dá)式來指定所述設(shè)備接收 的分組流的有效載荷中的結(jié)構(gòu)的方法,所述方法包括(a )由設(shè)備識(shí)別包括面向?qū)ο蟊磉_(dá)式的策略來估計(jì)關(guān)于所接收的分組流 的有效載荷;(b) 基于有效載荷的部分,由所述設(shè)備分配值給面向?qū)ο蟊磉_(dá)式所指定 的數(shù)據(jù)結(jié)構(gòu);(c) 由所述設(shè)備基于所分配的值來執(zhí)行表達(dá)式的估計(jì);和(d) 響應(yīng)于該估計(jì),采取策略所指定的動(dòng)作。
61、 權(quán)利要求60的方法,其中步驟(b)包括由所述設(shè)備應(yīng)用所述面向 對(duì)象的表達(dá)式指定的數(shù)據(jù)結(jié)構(gòu)到所述有效載荷的字節(jié)流。
62、 一種設(shè)備,用于在策略中應(yīng)用面向?qū)ο蟮谋磉_(dá)式來指定所述設(shè)備接 收的分組流的有效載荷中的數(shù)據(jù)結(jié)構(gòu),所述設(shè)備包括接收分組流的分組處理器;和策略引擎,識(shí)別包括面向?qū)ο蟮谋磉_(dá)式來估計(jì)關(guān)于所述分組流的有效載 荷的策略;基于有效載荷的部分,分配值給面向?qū)ο蟊磉_(dá)式所指定的數(shù)據(jù)結(jié) 構(gòu);基于所分配的值來執(zhí)行表達(dá)式的估計(jì);和響應(yīng)于該估計(jì),采取策略所指 定的動(dòng)作。
63、 權(quán)利要求62的設(shè)備,其中,所述策略引擎應(yīng)用所述面向?qū)ο蟮谋磉_(dá) 式指定的數(shù)據(jù)結(jié)構(gòu)到所述有效載荷的字節(jié)流。
64、 一種在設(shè)備中在策略中應(yīng)用面向?qū)ο蟮谋磉_(dá)式來指定所述設(shè)備接收的 分組流的有效載荷中的結(jié)構(gòu)的方法,所述方法包括(a )由設(shè)備識(shí)別包括面向?qū)ο蟊磉_(dá)式的策略來估計(jì)關(guān)于所接收的分組流 的有效載荷;(b)基于有效載荷的部分,由所述設(shè)備分配值給面向?qū)ο蟊磉_(dá)式所指定 的數(shù)據(jù)結(jié)構(gòu);(c )由所述設(shè)備基于所分配的值來執(zhí)行表達(dá)式的估計(jì);(d) 響應(yīng)于該估計(jì),改變所接收的分組流的部分;和(e) 由該設(shè)備發(fā)送所改變的分組流。
65、 權(quán)利要求64的方法,其中,所述策略識(shí)別協(xié)議。
66、 權(quán)利要求65的方法,還包括根據(jù)所識(shí)別的協(xié)議來解析有效載荷的部分。
67、 權(quán)利要求65的方法,其中,所述協(xié)議是HTTP。
68、 權(quán)利要求64的方法,其中,所述表達(dá)式指定對(duì)應(yīng)于HTTP請(qǐng)求的對(duì)象類。
69、 權(quán)利要求64的方法,其中,所ii^iiiC指定對(duì)應(yīng)于HTTP請(qǐng)求的對(duì)象類, 并且所述對(duì)象類對(duì)應(yīng)于URL。
70、 權(quán)利要求64的方法,其中,所*達(dá)式指定對(duì)應(yīng)于HTTP響應(yīng)體的對(duì)象 類,并且所述對(duì)象類對(duì)應(yīng)于URL。
71、 權(quán)利要求64的方法,其中,步驟(d)包括改變所述數(shù)據(jù)結(jié)構(gòu)指定的分組 流的部分。
72、 權(quán)利要求64的方法,其中,步驟(d)包括改變第二面向?qū)ο蟮谋磉_(dá)式所 指定的分組流的部分。
73、 權(quán)利要求64的方法,其中,步驟(d)包括重寫包含在所述^^且流中的HTTP 響應(yīng)的體中的URL。
74、 權(quán)利要求64的方法,其中,步驟(d)包4封莫糊包含在所述分組流中的信 用卡號(hào)碼。
75、 權(quán)利要求64的方法,其中,步驟(d)包括重寫HTTP請(qǐng)求中的URL。
76、 權(quán)利要求64的方法,其中,步驟(d)包括重寫HTTP響應(yīng)的表才特段值。
77、 一種設(shè)備,用于在策略中應(yīng)用面向?qū)ο蟮谋磉_(dá)式來指定所述設(shè)備接收 的分組流的有效載荷中的結(jié)構(gòu),所述設(shè)備包括接收分組流的分組處理器;和策略引擎,識(shí)別包括面向?qū)ο蟊磉_(dá)式的策略來估計(jì)關(guān)于所接收的分組流 的有效載荷;基于有效載荷的部分,分配值給面向?qū)ο蟊磉_(dá)式所指定的lt據(jù) 結(jié)構(gòu);由所述設(shè)備基于所分配的值來執(zhí)行表達(dá)式的估計(jì);響應(yīng)于該估計(jì),改 變所4妾收的分組流的部分;和發(fā)送所改變的分組流。
78、 權(quán)利要求77的設(shè)備,其中,所述策略識(shí)別協(xié)議。
79、 權(quán)利要求78的設(shè)備,其中,還包括根據(jù)所識(shí)別的協(xié)議來解析有效載荷 的部分。
80、 權(quán)利要求78的設(shè)備,其中,所述協(xié)議是HTTP。
81、 權(quán)利要求77的設(shè)備,其中,所述表達(dá)式指定對(duì)應(yīng)于HTTP請(qǐng)求的對(duì)象類。
82、 權(quán)利要求"的設(shè)備,其中,所ii4ii^指定對(duì)應(yīng)于HTTP請(qǐng)求的對(duì)象類, 并且對(duì)象類對(duì)應(yīng)于URL。
83、 權(quán)利要求"的設(shè)備,其中,所ii4iiiC指定對(duì)應(yīng)于HTTP響應(yīng)體的對(duì)象 類,并且對(duì)象類對(duì)應(yīng)于URL。
84、 權(quán)利要求77的設(shè)備,其中,所述策略引擎改變所述數(shù)據(jù)結(jié)構(gòu)指定的分組流 的部分。
85、權(quán)利要求77的設(shè)備,其中,所述策略引擎改變第二面向?qū)ο蟮谋韎i^指定 的分組流的部分。
86、 權(quán)利要求77的設(shè)備,其中,所述策略引擎重寫包含在所述^ia流中的HTTP 響應(yīng)的體中的URL。
87、 權(quán)利要求77的設(shè)備,其中,所述策略引f^莫糊包含在所述^^且流中的信用 卡號(hào)碼。
88、 權(quán)利要求77的設(shè)備,其中,所述策略引擎重寫HTTP請(qǐng)求中的URL。
89、 權(quán)利要求77的設(shè)備,其中,所述策略引擎重寫HTTP響應(yīng)的表才特段值。
90、 一種用于配置網(wǎng)絡(luò)裝置來在處理分組流中使用的策略間指定流量控制 的方法,所述方法包括(a) 提供用于配置網(wǎng)絡(luò)裝置的多個(gè)策略的配置接口,多個(gè)策略的至少一 個(gè)策略包括策略識(shí)別符;和(b) 經(jīng)由配置接口接收識(shí)別多個(gè)策略的第一策略的信息,第一策略識(shí)別 (i)包括第一表達(dá)式的規(guī)則和(ii )基于該規(guī)則的估計(jì)所采取的第一動(dòng)作;和(c )經(jīng)由配置接口接收識(shí)別多個(gè)策略的第二策略的信息4吏得當(dāng)規(guī)則估計(jì) 為真時(shí)隨后應(yīng)用到第一策略。
91、 權(quán)利要求卯的方法,其中,步驟(a)包括提供命令行配置接口。
92、 權(quán)利要求90的方法,其中,步驟(a)包括提供配置接口,所述配置接 口包括拖放接口 、列表選擇接口或者語法突出顯示接口的 一個(gè)或者多個(gè)。
93、 權(quán)利要求90的方法,其中,步驟(a)包括在與網(wǎng)絡(luò)裝置通信的裝置上 執(zhí)行配置接口。
94、 權(quán)利要求90的方法,其中,步驟(a)包括在網(wǎng)絡(luò)裝置上執(zhí)行配置接口。
95、 權(quán)利要求90的方法,其中,所述第一表ii^面向?qū)ο蟮谋磉_(dá)式。
96、 權(quán)利要求90的方法,其中,所述第一動(dòng)作包括無動(dòng)作。
97、 權(quán)利要求90的方法,其中,所述第一動(dòng)作指定^Vf亍以下其中一個(gè)的功能 負(fù)載平^f、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速或應(yīng)用加速。
98、 權(quán)利要求90的方法,其中,步驟(c)包括接收指定第二策略的行編號(hào)的整數(shù)。
99、 權(quán)利要求90的方法,其中,步驟(c)包括接收指定第二策略的策略標(biāo)識(shí)符。
100、 權(quán)利要求90的方法,其中,步驟(c)包括^i^行時(shí)接收要估計(jì)的表i^ 來指定第二策略的根扁號(hào)。
101、 權(quán)利要求90的方法,其中,步驟(c)包括^:行時(shí)接收^f古計(jì)的面向?qū)?象的表itiC來指定第二策略的行編號(hào)。
102、 權(quán)利要求90的方法,其中,所述多個(gè)策略包括策略庫。
103、 權(quán)利要求90的方法,其中,所述多個(gè)策略的^—個(gè)策略包括指示網(wǎng)絡(luò)裝 置將處理所述策略的默i力偵序的lO'J。
104、 一種在處理分組流的網(wǎng)絡(luò)裝置中使用的策略間的流量控制的方法, 所述方法包括(a) 由設(shè)備識(shí)別多個(gè)策略以應(yīng)用到所接收的分組流,多個(gè)策略的至少一 個(gè)策略包括策略識(shí)別符;(b) 由所述設(shè)備處理多個(gè)策略的第一策略,第一策略識(shí)別(i)包括第 一表達(dá)式的規(guī)則和(ii )基于該規(guī)則的估計(jì)所采取的第一動(dòng)作,和(iii )多 個(gè)策略的第二策略;(c) 由所述設(shè)備基于該表達(dá)式的估計(jì)來確定規(guī)則估計(jì)為真;并且 (d )由所述設(shè)備響應(yīng)該確定來處理所識(shí)別的第二策略。
105、 權(quán)利要求104的方法,其中,步驟(c)包括估計(jì)面向?qū)ο蟮谋磉_(dá)式。
106、 權(quán)利要求104的方法,還包括步驟響應(yīng)于該確定,#^亍第一策<9^識(shí)別的動(dòng)作。
107、 權(quán)利要求104的方法,還包括步驟響應(yīng)于該確定,扭奸第一策略識(shí)別的 動(dòng)作;該動(dòng)作包括^l/f亍以下其中一個(gè)負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速或應(yīng)用力口速。
108、 權(quán)利要求104的方法,其中,第一策略包括指定如果第一動(dòng)作應(yīng)用時(shí)下一個(gè)M理的多個(gè)策略的第二策略的級(jí)別的整數(shù)。
109、 權(quán)利要求104的方法,其中,步驟(d)包括由所述設(shè)^f古計(jì)表狄來確 定下一個(gè)要處理的多個(gè)策略的第二策略的級(jí)別。
110、 權(quán)利要求104的方法,其中,步驟(d)包括由所述設(shè)^f古計(jì)面向?qū)ο蟮?表ii^來確定下一個(gè)要處理的多個(gè)策略的第二策略的級(jí)別。
111、 權(quán)利^"求104的方法,其中,所述多個(gè)策略包括策略庫。
112、 權(quán)利要求104的方法,其中,所述多個(gè)策略的每一個(gè)策略包括指示應(yīng)該處 理所述策略的默i/J偵序的級(jí)別。
113、 權(quán)利要求104的方法,其中,還包^^向應(yīng)于該確定,在列表中^f絲第一策 t^i口、別的動(dòng)^ft。
114、 權(quán)利要求113的方法,還包括在列表中保存至少一個(gè)其他動(dòng)作,所述至少 一個(gè)其他動(dòng)作在具有估計(jì)為真的規(guī)則的至少一個(gè)其它策略中被識(shí)別。
115、 權(quán)利要求114的方法,還包括^^亍^^在動(dòng)作的列表中的每個(gè)動(dòng)作。
116、 一種設(shè)備,在處理分組流的網(wǎng)絡(luò)裝置中使用的策略間提供流量控制, 所述設(shè)備包括用于接收分組流的分組處理器;和策略引擎,識(shí)別多個(gè)策略以應(yīng)用到所接收的分組流,多個(gè)策略的至少一 個(gè)策略包括策略識(shí)別符;處理多個(gè)策略的第一策略,第一策略識(shí)別(i)包括 第一表達(dá)式的規(guī)則和(ii )基于該規(guī)則的估計(jì)所采取的第一動(dòng)作,和(iii ) 多個(gè)策略的第二策略;基于該表達(dá)式的估計(jì)來確定規(guī)則估計(jì)為真;并且響應(yīng) 該確定由所述設(shè)備來處理所識(shí)別的第二策略。
117、 權(quán)利要求116的設(shè)備,其中,所述策略引擎估計(jì)面向?qū)ο蟮谋磉_(dá)式。
118、 權(quán)利要求116的設(shè)備,其中,所述策略引擎響應(yīng)于該確定來^l/f亍第一策略 識(shí)別的動(dòng)作。
119、 權(quán)利要求116的設(shè)備,其中,所述策略引擎響應(yīng)于該確定,執(zhí)行第一策略 識(shí)別的動(dòng)作;該動(dòng)作包才封似亍以下其中一個(gè)負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、 應(yīng)用遞送、網(wǎng)纟各加速和應(yīng)用加速。
120、 權(quán)利要求116的設(shè)備,其中,第一策略包4^口果第一動(dòng)作應(yīng)用時(shí)指定下一個(gè)M理的多個(gè)策略的第二策略的級(jí)別的整數(shù)。
121、 權(quán)利要求116的設(shè)備,其中,所述策略引擎估計(jì)表ii^來確定下一個(gè)^t 理的多個(gè)策略的第二策略的船'J。
122、 權(quán)利要求116的設(shè)備,其中,所述策略引擎估計(jì)面向?qū)ο蟮谋磉_(dá)式來確定 下一個(gè)M理的多個(gè)策略的第二策略的級(jí)別。
123、 權(quán)利要求116的設(shè)備,其中,所述多個(gè)策略包括策略庫。
124、 權(quán)利要求116的設(shè)備,其中,所述多個(gè)策略的^-"個(gè)策略包括指示應(yīng)該處 理所述策略的默i/J偵序的lO'J。
125、 權(quán)利要求116的設(shè)備,其中,所述策略引擎響應(yīng)于該確定,在列表中j轉(zhuǎn) 第一策略識(shí)別的動(dòng)作。
126、 權(quán)利要求125的設(shè)備,其中,所述策略引擎在列表中^4至少一個(gè)^f也動(dòng) 作,所述至少一個(gè)其他動(dòng)作在具有估計(jì)為真的規(guī)則的至少一個(gè)其它策略中被識(shí)別。
127、 權(quán)利要求126的設(shè)備,其中,所述策略引擎#^亍^#在動(dòng)作的列表中的每 個(gè)動(dòng)作。
128、 一種用于配置在處理分組流的網(wǎng)絡(luò)裝置中使用的策略組間的流量控 制的方法,所述方法包括(a) 提供用于配置網(wǎng)絡(luò)裝置的多個(gè)策略組的配置接口;(b) 由配置接口識(shí)別第一策略組的第一策略,第一策略指定包括第一表 達(dá)式的規(guī)則;并且(c )經(jīng)由所述接口基于規(guī)則的估計(jì)接收識(shí)別要處理的第二策略組的信自
129、 權(quán)利要求128的方法,其中,步驟(a)包括提供命令行配置接口。
130、 權(quán)利要求128的方法,其中,步驟(a)包括提供配置接口,所述配置 接口包括拖放接口 、列表選擇接口或者語法突出顯示接口的一個(gè)或者多個(gè)。
131、 權(quán)利要求128的方法,其中,步驟(a)包括在與網(wǎng)絡(luò)裝置通信的裝置 上執(zhí)行配置接口。
132、 權(quán)利要求128的方法,其中,步驟(a)包括在網(wǎng)絡(luò)裝置上執(zhí)行配置接口 。
133、 權(quán)利要求128的方法,其中,步驟(a)包括向用戶提供酉己置接口用于建 立多個(gè)策略組。
134、 權(quán)利要求128的方法,其中,所述第一策^t旨定具有面向?qū)ο蟮谋磉_(dá)式的規(guī)則。
135、 權(quán)利要求128的方法,其中,基于所述規(guī)則的估計(jì)所述第一策s^旨定所采 取的動(dòng)作。
136、 權(quán)利要求128的方法,其中,所述第一策^旨定如果規(guī)則估計(jì)為真要釆取 的動(dòng)作;所述動(dòng)作包括才A^亍以下其中一個(gè)負(fù)載平《軒、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng) 用遞送、網(wǎng)絡(luò)加速或應(yīng)用加速。
137、 權(quán)利要求128的方法,其中,所述第一策^旨定在處理第二策略組^要 處理的第一策略組的第二策略。
138、 權(quán)利要求128的方法,其中,步驟(c)包括經(jīng)由所述接口接收如果規(guī)則 估計(jì)為真時(shí)識(shí)別M理的第二策略組的信息。
139、 權(quán)利要求128的方法,其中,步驟(c)包括經(jīng)由所述接口基于^LU'j的估 計(jì)接收要處理的第二策略組的標(biāo)號(hào)。
140、 一種處理分組流的網(wǎng)絡(luò)裝置中使用的策略組間的流量控制的方法, 所述方法包>^舌(a )由設(shè)備識(shí)別第一策略組以應(yīng)用到所接收的分組流;(b) 由所述設(shè)備處理第一策略組的第一策略,第一策略識(shí)別(i)包括 第一表達(dá)式的規(guī)則,和(ii)識(shí)別第二策略組的信息;(c) 由所述設(shè)備估計(jì)該規(guī)則;并且(d )由所述設(shè)備響應(yīng)該規(guī)則的估計(jì)來處理所識(shí)別的第二策略組。
141、 權(quán)利要求140的方法,其中,步驟(c)包括估計(jì)面向?qū)ο蟮谋磉_(dá)式。
142、 權(quán)利要求140的方法,其中,所述第一策^旨絲于規(guī)則的估計(jì)所絲的動(dòng)作。
143、 4又利要求140的方法,還包括步驟響應(yīng)于該確定,扭/f于第一策略識(shí)別的動(dòng)作。
144、權(quán)利要求MO的方法,其中,所述動(dòng)作包括擬亍以下其中一個(gè)負(fù)載平衡、 內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速或應(yīng)用加速。
145、 權(quán)利要求140的方法,還包括響應(yīng)于該確定,在列表中4絲第一策略識(shí)別 的動(dòng)作。
146、 權(quán)利要求145的方法,還包括在列表中保存至少一個(gè)其他動(dòng)作,所述至少一個(gè)^^也動(dòng)作在第二策略組的第二策略中被識(shí)別。
147、 權(quán)利要求145的方法,還包括4Afrf轉(zhuǎn)在動(dòng)作的列表中的每個(gè)動(dòng)作。
148、 權(quán)利要求140的方法,還包括由所述設(shè)備在處理第二策略組^處理第一策略組的第二策略。
149、 權(quán)利要求140的方法,還包括由所述設(shè)備處理第三策略組,所述第三策略 組由第二策略組的第二策略識(shí)別。
150、 權(quán)利要求140的方法,還包括由所述設(shè)備處理第三策略組,所述第三策略 組由第一策略組的第二策略識(shí)別。
151、 權(quán)利要求140的方法,其中,所述第一策^旨定在第二策略組處理^要 處理的第一策略組的第二策略。
152、 權(quán)利要求151的方法,還包括由所述設(shè)備在處理第二策略組^處理第二
153、 一種設(shè)備,在處理分組流中使用的策略組間提供流量控制,所述設(shè)備 包括用于接收分組流的分組處理器;和策略引擎,識(shí)別第一策略組以應(yīng)用到所接收的分組流;處理第一策略組 的第一策略,第一策略識(shí)別(i)包括第一表達(dá)式的規(guī)則,和(n)識(shí)別第二 策略組的信息;估計(jì)該規(guī)則;并且響應(yīng)該規(guī)則的估計(jì)來處理所識(shí)別的第二策 略組。
154、 權(quán)利要求153的"i殳備,其中,所述策略引擎估計(jì)面向?qū)ο蟮谋韎iiC
155、 權(quán)利要求153的設(shè)備,其中,所述策略引擎響應(yīng)于該確定來^Vf亍第一策略 識(shí)別的動(dòng)作。
156、 權(quán)利要求153的設(shè)備,其中,所述策略引擎才似亍以下其中一個(gè)負(fù)載平衡、 內(nèi)容壽爭換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速或應(yīng)用加速。
157、 權(quán)利要求153的設(shè)備,其中,所述策略引擎響應(yīng)于該確定,在列表中{錄 第一策略識(shí)別的動(dòng)作。
158、 權(quán)利要求153的設(shè)備,其中,所述策略引擎在列表中j絲至少一個(gè)其他動(dòng) 作,所述至少一個(gè)其他動(dòng)作在第二策略組的第二策略中被識(shí)別。
159、 權(quán)利要求158的設(shè)備,其中,所述策略引擎^Lfr^^在動(dòng)作的列表中的每 個(gè)動(dòng)作。
160、 權(quán)利要求153的設(shè)備,其中,所述策略引擎在處理第二策略組^處理第一策略組的第二策略。
161、 權(quán)利要求153的設(shè)備,其中,所述策略引擎處理第三策略組,所述第三策 略組由第二策略組的策略識(shí)別。
162、 權(quán)利要求153的設(shè)備,其中,所述策略引擎在處理第二策略組^!嫂處 理第一策略組。
163、 權(quán)利要求153的設(shè)備,其中,所述策略引擎處理第三策略組,所述第三策 略組由第一策略組的第二策略識(shí)別。
164、 權(quán)利要求153的設(shè)備,其中,所述第一策^旨定在第二策略組處理^要 處理的第一策略組的第二策略。
165、 權(quán)利要求164的設(shè)備,其中,所述策略引擎在處理第二策略組^處理第 二策略。
166、 一種在策略的元素未被限定的情況下通過指定要采取的動(dòng)作來配置 網(wǎng)絡(luò)裝置所使用的策略的方法,所述方法包括(a)提供用于配置網(wǎng)絡(luò)裝置的策略的配置接口;(b )基于表達(dá)式的估計(jì)由配置接口識(shí)別包括要采取的第一動(dòng)作的策略;和(c)經(jīng)由所述配置接口接收識(shí)別所述策略的第二動(dòng)作的信息,即如果所 述策略的元素未被限定要采取的第二動(dòng)作。
167、 權(quán)利要求166的方法,其中,步驟(a)包括提供用于配置網(wǎng)絡(luò)裝置的 策略的命令行配置接口。
168、 權(quán)利要求166的方法,其中,步驟(a)包括提供配置接口,所述配置 接口包括拖放接口 、列表選擇接口或者語法突出顯示接口的一個(gè)或者多個(gè)。
169、 權(quán)利要求166的方法,其中,步驟(a)包括在與網(wǎng)絡(luò)裝置通信的裝置 上執(zhí)行配置接口。
170、 權(quán)利要求166的方法,其中,步驟(a)包括在與網(wǎng)絡(luò)裝置通信的裝置 上執(zhí)行配置接口。
171、 權(quán)利要求166的方法,其中,步驟(b)包括由用戶經(jīng)由配置接口配置用 于策略的面向?qū)ο蟮谋磉_(dá)式。
172、 權(quán)利要求166的方法,其中,步驟(b)包括從用戶經(jīng)由配置接口接收用于策略的表ii^,所ii4iiiC具有對(duì)象類和對(duì)象類的成員。
173、 權(quán)利要求166的方法,其中,所述第二動(dòng)作包括無動(dòng)作。
174、 權(quán)利要求166的方法,其中,所述第二動(dòng)作包括阻斷來自網(wǎng)絡(luò)裝置的分組流的部分的傳輸。
175、 權(quán)利要求166的方法,其中,第一動(dòng)作或者第二動(dòng)作的至少一個(gè)指定#^亍以下其中之一的功能負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速或應(yīng)用加速。
176、 權(quán)利要求166的方法,其中,第一動(dòng)作和第二動(dòng)作的至少一個(gè)指定重寫分組流的有效載荷的部分。
177、 權(quán)利要求166的方法,其中,第一動(dòng)作和第二動(dòng)作的至少一個(gè)指定重寫包含在HTTP響應(yīng)中的URL。
178、 權(quán)利要求166的方法,其中,第一動(dòng)作和第二動(dòng)作的至少一個(gè)包括面向?qū)ο蟮谋韎iiC
179、 權(quán)利要求166的方法,其中,步驟(c)包括經(jīng)由配置接口接收識(shí)別用于策略的第二動(dòng)作的信息,即如果所述策略的表iiiC未被P艮定時(shí)要采取的第二動(dòng)作。
180、 權(quán)利要求166的方法,其中,步驟(c)包括經(jīng)由配置接口接收識(shí)別用于策略的第二動(dòng)作的信息,即如果所述策略的規(guī)則未被限定時(shí)要采取的第二動(dòng)作。
181、 權(quán)利要求166的方法,其中,步驟(c)包括經(jīng)由配置接口接收識(shí)別用于策略的第二動(dòng)作的信息,即如果所述策略的第 一動(dòng)作未被限定時(shí)要采取的第二動(dòng)作。
182、 一種在設(shè)備中在策略的元素未被限定的情況下應(yīng)用指定所要采取的動(dòng)作的策略的方法,所述方法包括(a)由所述設(shè)備識(shí)別策略來估計(jì)關(guān)于所接收的分組流的有效負(fù)載,該策略指定(i)表達(dá)式;(ii)基于表達(dá)式的估計(jì)所采取的第一動(dòng)作和Un )如果策略的元素未被限定時(shí)所采取的第二動(dòng)作;(b )由所述設(shè)備確定策略的元素關(guān)于有效載荷未被限定;(c)由所述設(shè)備響應(yīng)該確定來采取第二動(dòng)作。
183、 權(quán)利要求182的方法,其中,步驟(b)包括估計(jì)面向?qū)ο蟮谋磉_(dá)式。
184、 權(quán)利要求182的方法,其中,步驟(b)包括估計(jì)具有對(duì)象類和對(duì)象類的成員的表iiiC
185、 權(quán)利要求182的方法,其中,步驟(b)包括由所述設(shè)備確定該表達(dá)式關(guān)于燭流未被限定。
186、 權(quán)利要求182的方法,其中,步驟(b)包括由所述設(shè)備確定策略的規(guī)則未被限定。
187、 權(quán)利要求182的方法,其中,步驟(b)包括由所述設(shè)備確定策略的第一動(dòng)作未被限定。
188、 權(quán)利要求182的方法,其中,步驟(c)包括不采取動(dòng)作。
189、 權(quán)利要求182的方法,其中,步驟(c)包括阻斷來自所述設(shè)備的分組流的傳輸。
190、 權(quán)利要求182的方法,其中,步驟(c)包括4W亍以下其中之一負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速或應(yīng)用加速。
191、 權(quán)利要求182的方法,其中,步驟(c)包括重寫分組流的有效載荷的部分。
192、 權(quán)利要求182的方法,其中,步驟(c)包括重寫包含在HTTP響應(yīng)中的URL。
193、 一種設(shè)備,使得用戶能夠在策略中包含的表達(dá)式不能由所述設(shè)備估計(jì)的情況下指定所采取的動(dòng)作,所述設(shè)備包括用于接收分組流的分組處理器;和策略引擎,識(shí)別策略來估計(jì)關(guān)于所接收的分組流的有效負(fù)載,該策略指定(i )表達(dá)式;(ii )基于表達(dá)式的估計(jì)所采取的第一動(dòng)作和(iii )如果所述表達(dá)式未被成功估計(jì)時(shí)所釆取的第二動(dòng)作;確定表達(dá)式不能關(guān)于分組流被成功估計(jì);并且采fi第二動(dòng)作。
194、 權(quán)利要求193的設(shè)備,其中,所述策略引擎估計(jì)面向?qū)ο蟮谋磉_(dá)式。
195、 權(quán)利要求193的設(shè)備,其中,所述策略引擎估計(jì)具有對(duì)象類和對(duì)象類的成員的表M。
196、 權(quán)利要求193的設(shè)備,其中,所述第二動(dòng)作包括無動(dòng)作。
197、 權(quán)利要求193的設(shè)備,其中,所述第二動(dòng)作包括阻斷^^且流的部分。
198、 權(quán)利要求193的設(shè)備,其中,第一動(dòng)作和第二動(dòng)作的至少一個(gè)指定涉及以下至少其中之一的功能負(fù)載平衡、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、應(yīng)用遞送、網(wǎng)絡(luò)加速禾口應(yīng)用力口速。
199、 權(quán)利要求193的設(shè)備,其中,第一動(dòng)作或第二動(dòng)作的至少一個(gè)指定重寫分組流的有效載荷的部分。
200、 權(quán)利要求193的設(shè)備,其中,第一動(dòng)作或第二動(dòng)作的至少一個(gè)指定重寫包含在HTTP響應(yīng)中的URL。
201、 權(quán)利要求193的設(shè)備,其中,所述策略引擎確定所述表ii^關(guān)于^ia流未被限定。
202、 權(quán)利要求193的設(shè)備,其中,所述策略引擎確定策略的規(guī)則關(guān)于^ii流未被限定。
203、 權(quán)利要求193的設(shè)備,其中,所述策略引擎確定第一動(dòng)作關(guān)于^ii流未被限定。
204、 一種用于配置對(duì)于裝置的一個(gè)或者多個(gè)應(yīng)用安全配置文件的方法,每一個(gè)應(yīng)用安全配置文件指定執(zhí)行關(guān)于應(yīng)用的安全功能的多個(gè)檢驗(yàn),所述方法包括(a) 提供用于配置應(yīng)用安全配置文件的配置接口;(b) 經(jīng)由配置接口接收第一設(shè)置,該設(shè)置指定對(duì)應(yīng)于應(yīng)用安全配置文件的第一檢驗(yàn);(c) 經(jīng)由配置接口接收第二設(shè)置,該第二設(shè)置指定對(duì)應(yīng)于應(yīng)用安全配置文件的第二檢驗(yàn);(d) 由配置接口識(shí)別策略,該策略指定包括第一表達(dá)式的MJ'J;并且(e) 經(jīng)由所述接口接收識(shí)別基于規(guī)則估計(jì)而要處理的應(yīng)用安全配置文件的4言息。
205、 權(quán)利要求204的方法,其中,步驟(a)包括提供命令行配置接口。
206、 權(quán)利要求204的方法,其中,步驟(a)包括提供配置接口,所述配置接口包括拖放接口 、列表選擇接口或者語法突出顯示接口的一個(gè)或者多個(gè)。
207、 權(quán)利要求204的方法,其中,步驟(a)包括在與網(wǎng)絡(luò)裝置通信的裝置上執(zhí)行配置接口。
208、 權(quán)利要求204的方法,其中,步驟(a)包括在網(wǎng)絡(luò)裝置上執(zhí)行配置接cr 。
209、 權(quán)利要求204的方法,其中,步驟(a)包括為用戶^是供用于建立多個(gè)應(yīng)用配置文件的配置接口。
210、 權(quán)利要求204的方法,其中,步驟(b)包括經(jīng)由配置接口接收第一檢驗(yàn)所^fM的URL。
211、 權(quán)利要求204的方法,其中,步驟(b)包括經(jīng)由配置接口接收指定第一 檢驗(yàn)<賴的一個(gè)或者多個(gè)URL的表iiA。
212、 權(quán)利要求204的方法,其中,步驟(b)包括經(jīng)由配置接口接收指定第一 檢驗(yàn)使用的一個(gè)或者多個(gè)URL的面向?qū)ο蟮谋磉_(dá)式。
213、 權(quán)利要求204的方法,其中,步驟(d)包括經(jīng)由配置接口識(shí)別具有面向 對(duì)象的表ii^的策略。
214、 權(quán)利要求204的方法,其中,第一檢驗(yàn)和第二檢驗(yàn)的至少一個(gè)執(zhí)行以 下的其中一個(gè)SQL注入檢測(cè)、無效開始URL檢測(cè)、cookie竄改;險(xiǎn)測(cè)、表;^各 字段一致性檢測(cè)、緩沖器溢出檢測(cè)、交叉站點(diǎn)腳本檢測(cè)、信用卡號(hào)碼檢測(cè)、 和無歲丈URL^r測(cè)。
215、 權(quán)利要求204的方法,其中,第一檢驗(yàn)和第二檢驗(yàn)的至少一個(gè)執(zhí)行以 下的其中一個(gè)SQL注入阻斷、無效開始URL阻斷、cookie竄改阻斷、非一 致性表格字段阻斷、緩沖器溢出阻斷、交叉站點(diǎn)腳本阻斷、信用卡號(hào)碼阻斷、 和無步丈URL阻斷。
216、 4又利^求204的方法,還包4封:W應(yīng)用^^配置文件。
217、 權(quán)利要求204的方法,還包括發(fā)送應(yīng)用安全配置文件到網(wǎng)絡(luò)裝置。
218、 一種在設(shè)備中用于執(zhí)行對(duì)于裝置的一個(gè)或者多個(gè)應(yīng)用安全配置文件的 方法,每一個(gè)應(yīng)用安全配置文件指定執(zhí)行關(guān)于應(yīng)用的安全功能的多個(gè)策略組, 所述方法包括(a) 由設(shè)備識(shí)別第一策略以應(yīng)用到所接收的分組流;第一策略指定包括 第 一表達(dá)式的并且識(shí)別應(yīng)用安全配置文件;(b) 由所述設(shè)備估計(jì)該規(guī)則;(c )由所述設(shè)備響應(yīng)于規(guī)則的估計(jì)來處理由應(yīng)用安全配置文件指定的第 一檢-瞼;并且(d )由所述設(shè)備響應(yīng)于規(guī)則的估計(jì)來處理由應(yīng)用安全配置文件指定的第 二檢驗(yàn)。
219、 權(quán)利要求218的方法,其中,所述設(shè)備包括VPN代》里裝置。
220、 權(quán)利要求218的方法,其中,步驟(a)包^it過設(shè)備識(shí)別第一策略以應(yīng) 用到所接收的TCP分組流。
221、 權(quán)利要求218的方法,其中,步驟(b)包括由所述設(shè)^f古計(jì)翔UI'j的面向?qū)ο蟮谋磉_(dá)式。
222、 權(quán)利要求218的方法,其中,步驟(c)包括估計(jì)第一檢驗(yàn)的至少一4S殳 置來確^否應(yīng)用第一纟企驗(yàn)。
223、 權(quán)利要求218的方法,其中,步驟(c)包括確定包含在分組流中的URL匹配第一檢驗(yàn)的至少-HS殳置,并且響應(yīng)于該確;t^用第一檢驗(yàn)。
224、 權(quán)利要求218的方法,其中,步驟(c)包括確定包含在分組流中的URL 匹配第一檢驗(yàn)的一個(gè)設(shè)置的表達(dá)式,并且響應(yīng)于該確定應(yīng)用第一檢驗(yàn)。
225、 權(quán)利要求218的方法,其中,步驟(c)包括確定包含在分組流中的URL 匹配第一檢驗(yàn)的一個(gè)設(shè)置的面向?qū)ο蟮谋磉_(dá)式,并且響應(yīng)于該確定應(yīng)用第一檢驗(yàn)。
226、 權(quán)利要求218的方法,其中,第一檢驗(yàn)和第二檢驗(yàn)的至少一個(gè)執(zhí)行以 下的其中一個(gè)SQL注入檢測(cè)、無效開始URL檢測(cè)、cookie竄改檢測(cè)、表格 字段一致性檢測(cè)、緩沖器溢出檢測(cè)、交叉站點(diǎn)腳本檢測(cè)、信用卡號(hào)碼檢測(cè)、 和無歲丈URL^r測(cè)。
227、 權(quán)利要求218的方法,其中,第一檢驗(yàn)和第二檢驗(yàn)的至少一個(gè)執(zhí)行以 下的其中一個(gè)SQL注入阻斷、無效開始URL阻斷、cookie竄改阻斷、非一 致性表格字段阻斷、緩沖器溢出阻斷、交叉站點(diǎn)腳本阻斷、信用卡號(hào)碼阻斷、 和無步文URL阻斷。
228、 一種設(shè)備,用于對(duì)于裝置執(zhí)行一個(gè)或者多個(gè)應(yīng)用安全配置文件,每一 個(gè)應(yīng)用安全配置文件指定執(zhí)行關(guān)于應(yīng)用的安全功能的多個(gè)策略組,所述設(shè)備 包括用于接收分組流的分組處理器;和和分組處理器通信的策略引擎,識(shí)別第一策略以應(yīng)用到所接收的分組流; 第一策略指定包括第一表達(dá)式的規(guī)則并且識(shí)別應(yīng)用安全配置文件;估計(jì)該規(guī)j 則;響應(yīng)于規(guī)則的估計(jì)來處理由應(yīng)用安全配置文件指定的第一檢驗(yàn);并且響 應(yīng)于規(guī)則的估計(jì)來處理由應(yīng)用安全配置文件指定的第二檢驗(yàn)。
229、 權(quán)利要求228的設(shè)備,其中,所述設(shè)備包括VPN^J里裝置。
230、 權(quán)利要求228的設(shè)備,其中,所述策略引擎識(shí)別第一策略以應(yīng)用到所接收 的TCP ^!且流。
231、 權(quán)利要求228的設(shè)備,其中,所述策略引擎估計(jì)規(guī)則的面向?qū)ο蟮谋韎i^。
232、 權(quán)利要求228的設(shè)備,其中,所述策略引擎估計(jì)第一檢驗(yàn)的至少一個(gè)設(shè)置來確U否應(yīng)用第一纟全—驗(yàn)。
233、 權(quán)利要求228的設(shè)備,其中,所述策略引擎確定包含在^^且流中的URL匹 配第一檢驗(yàn)的至少一個(gè)設(shè)置,并且響應(yīng)于該確定應(yīng)用第一檢驗(yàn)。
234、 權(quán)利要求228的設(shè)備,其中,所述策略引擎確定包含在^I且流中的URL匹 配第一檢驗(yàn)的"HS殳置的表ii^,并且響應(yīng)于該確^S用第一檢驗(yàn)。
235、 權(quán)利要求228的設(shè)備,其中,所述策略引擎確定包含在^^且流中的URL匹 配第一檢驗(yàn)的-HS殳置的面向?qū)ο蟮谋韎^,并且響應(yīng)于該確定應(yīng)用第一檢驗(yàn)。
236、 權(quán)利要求228的設(shè)備,其中,第一檢驗(yàn)和第二檢驗(yàn)的至少一個(gè)執(zhí)行以 下的其中一個(gè)SQL注入檢測(cè)、無效開始URL檢測(cè)、cookie竄改檢測(cè)、表格 字段一致性檢測(cè)、緩沖器溢出檢測(cè)、交叉站點(diǎn)腳本檢測(cè)、信用卡號(hào)碼檢測(cè)、 和無效URL4全測(cè)。
237、 權(quán)利要求228的設(shè)備,其中,第一檢驗(yàn)和第二檢驗(yàn)的至少一個(gè)執(zhí)行以 下的其中一個(gè)SQL注入阻斷、無效開始URL阻斷、cookie竄改阻斷、非一 致性表格字段阻斷、緩沖器溢出阻斷、交叉站點(diǎn)腳本阻斷、信用卡號(hào)碼阻斷、 和無凌丈URL阻斷。
全文摘要
描述了用于配置和估計(jì)指導(dǎo)一個(gè)或者多個(gè)數(shù)據(jù)流的處理的策略的系統(tǒng)和方法。所描述的配置接口允許用戶指定面向?qū)ο蟮牟呗?。這些面向?qū)ο蟮牟呗钥梢栽试S關(guān)于所接收的分組流的有效載荷來應(yīng)用任一數(shù)據(jù)結(jié)構(gòu),包括HTTP業(yè)務(wù)量的任一部分。配置接口除了在一個(gè)或者多個(gè)策略未被定義時(shí)指定所采取的行動(dòng)之外還可以允許用戶控制執(zhí)行策略和策略組的順序。用于處理策略的系統(tǒng)和方法可以允許通過應(yīng)用可能復(fù)雜的數(shù)據(jù)結(jié)構(gòu)來解構(gòu)數(shù)據(jù)流而允許面向?qū)ο蟮牟呗缘挠行幚怼Qb置也可以解釋和處理大量流量控制命令和策略組調(diào)用語句來確定在多個(gè)策略和策略組上執(zhí)行的順序。這些策略配置和處理可以允許配置和處理涉及負(fù)載平衡、VPNs、SSL卸載、內(nèi)容轉(zhuǎn)換、應(yīng)用安全、加速和高速緩存的復(fù)雜網(wǎng)絡(luò)行為。
文檔編號(hào)H04L29/06GK101682526SQ200880015862
公開日2010年3月24日 申請(qǐng)日期2008年3月12日 優(yōu)先權(quán)日2007年3月12日
發(fā)明者A·喬漢, A·雷迪, N·西卡, P·凱馬尼, R·米拉尼, V·班德卡爾, V·科拉帕提 申請(qǐng)人:思杰系統(tǒng)有限公司