網(wǎng)絡(luò)設(shè)備中網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)的制作方法【專利摘要】一種網(wǎng)絡(luò)設(shè)備包括具有網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)以處理由網(wǎng)絡(luò)設(shè)備所接收的數(shù)據(jù)的運行引擎、以及通過將網(wǎng)絡(luò)設(shè)備數(shù)據(jù)用于編譯器優(yōu)化來編譯一般表示而動態(tài)地生成網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)的編譯器?!緦@f明】網(wǎng)絡(luò)設(shè)備中網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)【
背景技術(shù):
】[0001]計算機網(wǎng)絡(luò)包括促進(jìn)諸如路由器、交換器、防火墻、管理裝置、安全裝置等之類的計算機(一般被稱為“網(wǎng)絡(luò)設(shè)備”)之間的通信的各種設(shè)備。網(wǎng)絡(luò)設(shè)備能夠包括由不同組件(“網(wǎng)絡(luò)設(shè)備組件”)所實現(xiàn)的各種功能。一些網(wǎng)絡(luò)設(shè)備組件被要求在網(wǎng)絡(luò)設(shè)備的壽命期間被改變(例如,在現(xiàn)場中修改組件)。例如,網(wǎng)絡(luò)設(shè)備能夠包括用于實現(xiàn)特定安全功能的網(wǎng)絡(luò)安全組件(例如,用于過濾分組來識別特定類型的攻擊的安全過濾器)。因為發(fā)現(xiàn)了新類型的安全漏洞,所以網(wǎng)絡(luò)安全組件應(yīng)該被更新以彌補新威脅。因此,網(wǎng)絡(luò)設(shè)備能夠包括修改其相應(yīng)的網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)的能力?!緦@綀D】【附圖說明】[0002]參考以下附圖來描述本發(fā)明的一些實施例:圖1是根據(jù)一種示例性實現(xiàn)的網(wǎng)絡(luò)設(shè)備的框圖;圖2是根據(jù)另一種示例性實現(xiàn)的網(wǎng)絡(luò)設(shè)備的框圖;圖3是示出根據(jù)一種示例性實現(xiàn)的在網(wǎng)絡(luò)設(shè)備中實現(xiàn)網(wǎng)絡(luò)設(shè)備組件的方法300的流程圖;以及圖4是示出根據(jù)另一種示例性實現(xiàn)的在網(wǎng)絡(luò)設(shè)備中實現(xiàn)網(wǎng)絡(luò)設(shè)備組件的方法的流程圖。【具體實施方式】[0003]描述了在網(wǎng)絡(luò)設(shè)備中網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)。各種方法能夠被用來在網(wǎng)絡(luò)設(shè)備中安裝和更新網(wǎng)絡(luò)設(shè)備組件。在一種方法中,網(wǎng)絡(luò)設(shè)備以源形式(例如,編程語言形式)接收網(wǎng)絡(luò)設(shè)備組件。然后網(wǎng)絡(luò)設(shè)備使用解釋器來評估該源以實現(xiàn)網(wǎng)絡(luò)設(shè)備組件。在另一種方法中,網(wǎng)絡(luò)設(shè)備以可執(zhí)行形式(例如,具有特定處理器的原生指令的機器代碼)接收網(wǎng)絡(luò)設(shè)備組件。供應(yīng)商能夠離線地(例如,在網(wǎng)絡(luò)設(shè)備的外部)編譯源并且然后給網(wǎng)絡(luò)設(shè)備提供可執(zhí)行文件(executable)以實現(xiàn)網(wǎng)絡(luò)設(shè)備組件。[0004]解釋方法僅能夠使用專門的解釋、復(fù)雜和有限的技術(shù)來實現(xiàn)高性能。同時,專門的解釋器具有會限制能夠被實現(xiàn)的網(wǎng)絡(luò)設(shè)備組件的類型的有限表示法(notation)。解釋器能夠被一般化,但是以性能為代價。外部編譯方法提供較高的性能,但是結(jié)果所得的可執(zhí)行文件是硬件-依賴的。相同的可執(zhí)行文件不能夠被遞送到具有不同架構(gòu)(例如,MIPS、x86等)的網(wǎng)絡(luò)設(shè)備。這要求供應(yīng)商為不同的網(wǎng)絡(luò)設(shè)備產(chǎn)生若干不同的可執(zhí)行文件。進(jìn)一步地,以上所討論的方法不把諸如部署-特定數(shù)據(jù)(例如,網(wǎng)際協(xié)議(IP)地址、網(wǎng)絡(luò)部署位置等)和域-特定運行時間數(shù)據(jù)(例如,依賴于業(yè)務(wù)的統(tǒng)計)之類的網(wǎng)絡(luò)設(shè)備數(shù)據(jù)包含到網(wǎng)絡(luò)設(shè)備組件實現(xiàn)中。這兩種方法必須轉(zhuǎn)而從網(wǎng)絡(luò)設(shè)備中的存儲器來提取網(wǎng)絡(luò)設(shè)備信息,導(dǎo)致顯著開銷成本并且在網(wǎng)絡(luò)設(shè)備組件的性能方面下降。[0005]在實施例中,網(wǎng)絡(luò)設(shè)備中的運行引擎包括處理由網(wǎng)絡(luò)設(shè)備所接收的數(shù)據(jù)的網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)。網(wǎng)絡(luò)設(shè)備中的編譯器通過將網(wǎng)絡(luò)設(shè)備數(shù)據(jù)用于編譯器優(yōu)化來編譯一般表示而動態(tài)地生成網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)。在網(wǎng)絡(luò)設(shè)備中將編譯過程和運行引擎放置在一起提供了增強的性能和硬件獨立性這二者。一般表示可移植到具有不同架構(gòu)的網(wǎng)絡(luò)設(shè)備。通過產(chǎn)生可執(zhí)行代碼,避免了與解釋關(guān)聯(lián)的開銷。進(jìn)一步地,網(wǎng)絡(luò)設(shè)備數(shù)據(jù)被用于編譯器優(yōu)化,允許可執(zhí)行表示中的設(shè)備-特定優(yōu)化。以下通過參考若干示例描述了各種實施例。[0006]圖1是根據(jù)一種示例性實現(xiàn)的網(wǎng)絡(luò)設(shè)備100的框圖。網(wǎng)絡(luò)設(shè)備100通常經(jīng)由輸入/輸出(IO)接口101接收和發(fā)送諸如計算機網(wǎng)絡(luò)上的業(yè)務(wù)之類的數(shù)據(jù)。網(wǎng)絡(luò)設(shè)備100能夠是諸如路由器、交換機、防火墻、安全裝置、管理裝置、以及在計算機網(wǎng)絡(luò)中促進(jìn)通信的相似類型設(shè)備之類的任何類型的網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)設(shè)備100包括編譯器102和運行引擎104。網(wǎng)絡(luò)設(shè)備100存儲一般表示106和網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108。運行引擎104包括網(wǎng)絡(luò)設(shè)備組件110的實現(xiàn)。[0007]一般表示106包括網(wǎng)絡(luò)設(shè)備組件的人類-可讀的或部分人類-可讀的描述。一般表示106能夠包括定義網(wǎng)絡(luò)設(shè)備組件的源代碼。能夠使用編程語言(例如,C或C++)、標(biāo)記語言(例如,可擴展標(biāo)記語言(XML))、或相似類型源語言來編寫源代碼。在示例中,部分源代碼能夠在網(wǎng)絡(luò)設(shè)備100的外部被預(yù)編譯。因此,一般表示106能夠具有人類-可讀的部分(例如,源代碼)和機器-可讀的部分(例如,從源被預(yù)編譯的機器或目標(biāo)代碼)、或不具有預(yù)編譯部分的人類-可讀部分。一般表示106的任何預(yù)編譯部分能夠是設(shè)備-獨立的,以使得一般表示106能夠被部署到具有各種硬件架構(gòu)的網(wǎng)絡(luò)設(shè)備。一般表示106的任何源代碼部分也能夠是設(shè)備-獨立的。網(wǎng)絡(luò)設(shè)備100能夠通過IO接口101接收一般表示106(例如,一般表示106能夠通過網(wǎng)絡(luò)被發(fā)送到網(wǎng)絡(luò)設(shè)備100)。[0008]網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108包括由或者為網(wǎng)絡(luò)設(shè)備100而生成的域-特定數(shù)據(jù)?!坝?特定”數(shù)據(jù)包括與網(wǎng)絡(luò)設(shè)備100的特定功能或“域”相關(guān)的數(shù)據(jù)。因此,如果網(wǎng)絡(luò)設(shè)備100處理數(shù)據(jù)的分組,那么網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108能夠包括與分組處理的功能相關(guān)的數(shù)據(jù)。在示例中,網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108能夠包括被用來配置網(wǎng)絡(luò)設(shè)備100的數(shù)據(jù)(“配置數(shù)據(jù)”)。配置數(shù)據(jù)能夠包括特定于在網(wǎng)絡(luò)中部署網(wǎng)絡(luò)設(shè)備100的參數(shù)、屬性、設(shè)置等(例如,特定的網(wǎng)際協(xié)議(IP)地址、網(wǎng)絡(luò)部署位置等)。在另一個示例中,網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108能夠包括由網(wǎng)絡(luò)設(shè)備100在操作或“運行時間”期間所生成的數(shù)據(jù)(“運行時間數(shù)據(jù)”)。運行時間數(shù)據(jù)能夠包括由網(wǎng)絡(luò)設(shè)備100(例如,在分組處理期間)所生成的統(tǒng)計、或此類統(tǒng)計的任何分析。運行時間數(shù)據(jù)能夠由網(wǎng)絡(luò)設(shè)備100的任何網(wǎng)絡(luò)設(shè)備組件來生成。在示例中,運行時間數(shù)據(jù)通過運行引擎104中的網(wǎng)絡(luò)設(shè)備組件110的實現(xiàn)來生成。網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108能夠包括配置數(shù)據(jù)和運行時間數(shù)據(jù)的任何組合。[0009]編譯器102將一般表不106作為參數(shù)輸入來獲取。編譯器102處理一般表不106來生成可執(zhí)行表示112??蓤?zhí)行表示112能夠包括運行引擎104可執(zhí)行(例如,機器代碼)以實現(xiàn)網(wǎng)絡(luò)設(shè)備組件110的代碼。能夠在網(wǎng)絡(luò)設(shè)備100的壽命期間修改一般表示106(例如,升級、打補丁等)任何次數(shù)。在接收新版本的一般表示106時,編譯器102能夠生成新的可執(zhí)行表示112從而生成網(wǎng)絡(luò)設(shè)備組件110的新實現(xiàn)。因此,編譯器102能夠在網(wǎng)絡(luò)設(shè)備100內(nèi)動態(tài)地生成可執(zhí)行表示112。[0010]編譯器102還能夠?qū)⒕W(wǎng)絡(luò)設(shè)備數(shù)據(jù)108作為參數(shù)輸入來獲取。當(dāng)生成可執(zhí)行表示112時,編譯器102能夠?qū)⒕W(wǎng)絡(luò)設(shè)備數(shù)據(jù)108用于編譯器優(yōu)化。也就是說,能夠基于網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108來為網(wǎng)絡(luò)設(shè)備100“優(yōu)化”可執(zhí)行表示112。[0011]編譯器102能夠使用網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108中的配置數(shù)據(jù)來包括可執(zhí)行表示112中的設(shè)備-依賴參數(shù)(例如,特定于網(wǎng)絡(luò)設(shè)備100的配置的“硬-編碼”參數(shù))。例如,編譯器102能夠?qū)⒈慌渲糜糜诰W(wǎng)絡(luò)設(shè)備100的特定IP地址硬編碼成可執(zhí)行表示112。以該方式,運行引擎104能夠從指令流(例如,從可執(zhí)行表示112自身)獲取設(shè)備-依賴參數(shù),而不必引入從網(wǎng)絡(luò)設(shè)備100中的數(shù)據(jù)存儲器獲取參數(shù)的開銷。給定網(wǎng)絡(luò)設(shè)備100所處理的特定業(yè)務(wù),編譯器102能夠使用網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108中的運行時間數(shù)據(jù)而將可執(zhí)行表示112配置成以更好的性能來操作。例如,網(wǎng)絡(luò)設(shè)備組件能夠是分析業(yè)務(wù)的安全組件。因為網(wǎng)絡(luò)設(shè)備100可以面對大型域名服務(wù)(DNS)群,所以網(wǎng)絡(luò)設(shè)備100能夠在操作期間收集諸如端口53上的大量用戶數(shù)據(jù)報協(xié)議(UDP)業(yè)務(wù)之類的業(yè)務(wù)統(tǒng)計。編譯器102能夠使用此類業(yè)務(wù)統(tǒng)計來對可執(zhí)行表示112中的比較樹進(jìn)行優(yōu)化,以使得更快地處理端口53上的UDP業(yè)務(wù)的常見情況。通常,編譯器102能夠使用運行時間數(shù)據(jù)來執(zhí)行可執(zhí)行表示112的域-特定優(yōu)化。[0012]從以上示例能夠看出:編譯器102能夠基于網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108來在結(jié)果所得的可執(zhí)行表示112中插入各種優(yōu)化。[0013]運行引擎104將可執(zhí)行表示112作為參數(shù)輸入來獲取。運行引擎104通過運行可執(zhí)行表示112來實現(xiàn)網(wǎng)絡(luò)設(shè)備組件110。網(wǎng)絡(luò)設(shè)備組件110能夠是由網(wǎng)絡(luò)設(shè)備100所執(zhí)行的諸如交換功能、路由功能、安全功能等之類的任何類型的功能。網(wǎng)絡(luò)設(shè)備組件110能夠在IO接口101上處理由網(wǎng)絡(luò)設(shè)備100接收的業(yè)務(wù)。能夠通過將一般表示106提供到網(wǎng)絡(luò)設(shè)備100來安裝網(wǎng)絡(luò)設(shè)備組件110。能夠通過提供新版本的一般表示106、或通過某一其他命令(例如,基于新的網(wǎng)絡(luò)設(shè)備數(shù)據(jù)108來修改網(wǎng)絡(luò)設(shè)備組件110以包含優(yōu)化的命令)來修改網(wǎng)絡(luò)設(shè)備組件110。[0014]圖2是根據(jù)另一種示例性實現(xiàn)的網(wǎng)絡(luò)設(shè)備200的框圖。網(wǎng)絡(luò)設(shè)備200包括處理器202、支持電路204、10接口206、存儲器208、以及一個或多個硬件外圍設(shè)備210。處理器202包括任何類型的微處理器、微控制器、微計算機、或本領(lǐng)域中已知的相似類型計算設(shè)備。用于處理器的支持電路204能夠包括高速緩存、電源、時鐘電路、數(shù)據(jù)寄存器、IO電路等等。IO接口206能夠被直接地耦合到存儲器208、或通過處理器202被耦合到存儲器208。IO接口206能夠接收被應(yīng)用到網(wǎng)絡(luò)設(shè)備200的外部輸入。存儲器208能夠包括隨機訪問存儲器、只讀存儲器、高速緩存存儲器、磁性讀/寫存儲器等、或此類存儲器設(shè)備的任何組合。一個或多個硬件外圍設(shè)備210能夠包括代表處理器202和網(wǎng)絡(luò)設(shè)備200執(zhí)行功能的各種硬件電路。[0015]存儲器208為網(wǎng)絡(luò)設(shè)備200存儲包括源表示212和網(wǎng)絡(luò)設(shè)備數(shù)據(jù)214的數(shù)據(jù)。源表不212能夠包括由諸如編程語目(例如,C或C++)、標(biāo)記語目(例如,XML)等之類的語目所定義的集合語義。源表示212使用語義來定義網(wǎng)絡(luò)設(shè)備組件。在示例中,能夠在網(wǎng)絡(luò)設(shè)備200的外部來對部分的語義進(jìn)行預(yù)編譯。因此,源表示212能夠具有語義(例如,源代碼)和機器-可讀部分(例如,從源被預(yù)編譯的機器或目標(biāo)代碼)的集合、或不具有預(yù)編譯部分的語義的集合。源表示212的任何預(yù)編譯部分能夠是設(shè)備-獨立的,以使得源表示212能夠被部署到具有各種硬件架構(gòu)的網(wǎng)絡(luò)設(shè)備。源表示212中的任何語義描述也能夠是設(shè)備-獨立的。[0016]網(wǎng)絡(luò)設(shè)備數(shù)據(jù)214包括由或者為網(wǎng)絡(luò)設(shè)備200而生成的數(shù)據(jù)。網(wǎng)絡(luò)設(shè)備數(shù)據(jù)214能夠包括被用來配置網(wǎng)絡(luò)設(shè)備200的部署的數(shù)據(jù)(“部署數(shù)據(jù)”)。部署數(shù)據(jù)能夠包括特定于在網(wǎng)絡(luò)中部署網(wǎng)絡(luò)設(shè)備100的參數(shù)、屬性、設(shè)置等(例如,特定的網(wǎng)際協(xié)議(IP)地址、網(wǎng)絡(luò)部署位置等)。網(wǎng)絡(luò)設(shè)備數(shù)據(jù)214還能夠包括運行時間數(shù)據(jù)。運行時間數(shù)據(jù)能夠包括由網(wǎng)絡(luò)設(shè)備200在網(wǎng)絡(luò)業(yè)務(wù)處理期間所生成的統(tǒng)計、或此類統(tǒng)計的任何分析。運行時間數(shù)據(jù)能夠由網(wǎng)絡(luò)設(shè)備200的任何網(wǎng)絡(luò)設(shè)備組件來生成。[0017]在示例中,處理器202實現(xiàn)編譯器216、控制器218、和運行環(huán)境220來提供以下所描述的功能。存儲器208能夠存儲由處理器202運行或解釋的代碼240以實現(xiàn)編譯器216、控制器218、和運行環(huán)境220。[0018]特別地,編譯器216將源表示212作為參數(shù)輸入來獲取。編譯器216處理源表示212以生成可執(zhí)行表示222??蓤?zhí)行表示222能夠包括由處理器202在運行環(huán)境220內(nèi)可執(zhí)行的來實現(xiàn)網(wǎng)絡(luò)設(shè)備組件224的機器可讀代碼。編譯器216還能夠?qū)⒕W(wǎng)絡(luò)設(shè)備數(shù)據(jù)214作為參數(shù)輸入來獲取。當(dāng)生成可執(zhí)行表示222時,編譯器216能夠?qū)⒕W(wǎng)絡(luò)設(shè)備數(shù)據(jù)214用于編譯器優(yōu)化。也就是說,能夠基于網(wǎng)絡(luò)設(shè)備數(shù)據(jù)214來為網(wǎng)絡(luò)設(shè)備200“優(yōu)化”可執(zhí)行表示222。以上參考圖1討論了可以被采用的各種類型的優(yōu)化。[0019]運行環(huán)境220提供可執(zhí)行表示222和處理器202之間的接口或“操作系統(tǒng)”來提供運行引擎。在由運行環(huán)境220所提供的運行引擎內(nèi)運行可執(zhí)行表示222以實現(xiàn)網(wǎng)絡(luò)組件224。[0020]控制器218能夠為網(wǎng)絡(luò)設(shè)備200提供各種控制功能。控制器218能夠通過IO接口206來請求并獲取源表示212(例如,源表示212能夠通過網(wǎng)絡(luò)被發(fā)送到網(wǎng)絡(luò)設(shè)備200)。能夠在網(wǎng)絡(luò)設(shè)備100的壽命期間修改源表示212(例如,升級、打補丁等)任何次數(shù)。在接收新版本的源表示212時,控制器218能夠使編譯器216生成新的可執(zhí)行表示222從而生成網(wǎng)絡(luò)設(shè)備組件224的新實現(xiàn)。因此,控制器218能夠在網(wǎng)絡(luò)設(shè)備200內(nèi)引起可執(zhí)行表示222的動態(tài)生成,以及因此相應(yīng)的網(wǎng)絡(luò)組件224的動態(tài)實現(xiàn)和重新-實現(xiàn)。[0021]控制器218還能夠使編譯器216用不同的網(wǎng)絡(luò)設(shè)備數(shù)據(jù)214來重新編譯相同版本的源表示212??刂破?18能夠使編譯器216用從網(wǎng)絡(luò)設(shè)備數(shù)據(jù)214所獲取的不同的優(yōu)化來生成新的可執(zhí)行表示222。例如,在運行可執(zhí)行表示222之后,能夠通過處理網(wǎng)絡(luò)業(yè)務(wù)的網(wǎng)絡(luò)設(shè)備組件224的實現(xiàn)來收集各種統(tǒng)計。如以上參考圖1所討論的,這些統(tǒng)計能夠被用來提供可執(zhí)行表示222的進(jìn)一步優(yōu)化。[0022]編譯器216、控制器218、和運行環(huán)境220已被描述為由處理器202所實現(xiàn)的組件群組230。在一些示例中,編譯器216、控制器218、或運行環(huán)境220(或其任何組合)能夠被實現(xiàn)為一個或多個硬件外圍設(shè)備210上的專用電路。例如,一個或多個硬件外圍設(shè)備210能夠包括諸如現(xiàn)場可編程門陣列(FPGA)之類的能夠被編程以實現(xiàn)編譯器216、控制器218、和/或運行環(huán)境220的功能的可編程邏輯設(shè)備(PLD)。組件群組230能夠被實現(xiàn)為運行代碼的處理器和一個或多個硬件外圍設(shè)備中的專用電路的組合。同樣地,至少一個網(wǎng)絡(luò)組件226能夠被實現(xiàn)為一個或多個硬件外圍設(shè)備210上的電路。例如,可執(zhí)行表示222能夠采用用于PLD的配置數(shù)據(jù)的形式,以使得PLD將網(wǎng)絡(luò)設(shè)備組件226實現(xiàn)為專用電路。通常地,不管此類元件是由處理器202、一個或多個硬件外圍設(shè)備210、還是這二者來實現(xiàn),組件群組230和一個或多個網(wǎng)絡(luò)組件226都包括處理器電路。[0023]為了清晰的目的,通過示例,參考被編譯成實現(xiàn)給定網(wǎng)絡(luò)設(shè)備組件的單個源表示描述了網(wǎng)絡(luò)設(shè)備200。在更一般的示例中,網(wǎng)絡(luò)設(shè)備200能夠?qū)崿F(xiàn)多個網(wǎng)絡(luò)設(shè)備組件,每個網(wǎng)絡(luò)設(shè)備組件通過編譯相應(yīng)的源表示來生成。網(wǎng)絡(luò)設(shè)備組件能夠被實現(xiàn)為處理器可讀代碼、硬件、或其組合。[0024]圖3是示出根據(jù)一種示例性實現(xiàn)的在網(wǎng)絡(luò)設(shè)備中實現(xiàn)網(wǎng)絡(luò)設(shè)備組件的方法300的流程圖。方法300開始于步驟302,其中在網(wǎng)絡(luò)設(shè)備處獲取網(wǎng)絡(luò)設(shè)備組件的源表示。在步驟304處,獲取在網(wǎng)絡(luò)設(shè)備中存儲的數(shù)據(jù)。在步驟306處,在網(wǎng)絡(luò)設(shè)備中通過將所述數(shù)據(jù)用于編譯器優(yōu)化來編譯源表示,以生成網(wǎng)絡(luò)設(shè)備組件的可執(zhí)行表示。在步驟308處,將可執(zhí)行表示提供到網(wǎng)絡(luò)設(shè)備的運行引擎作為網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)。在示例中,在步驟304處所獲取的數(shù)據(jù)包括由運行引擎所生成的運行時間數(shù)據(jù)。在步驟304處所獲取的數(shù)據(jù)還能夠包括表示網(wǎng)絡(luò)設(shè)備的配置的部署數(shù)據(jù)。在步驟304處所獲取的數(shù)據(jù)能夠包括部署數(shù)據(jù)和運行時間數(shù)據(jù)的組合。在示例中,源表示包括源代碼或者源代碼和預(yù)編譯源代碼的組合。[0025]圖4是示出根據(jù)另一種示例性實現(xiàn)的在網(wǎng)絡(luò)設(shè)備中實現(xiàn)網(wǎng)絡(luò)設(shè)備組件的方法400的流程圖。方法400開始于步驟402,其中在網(wǎng)絡(luò)設(shè)備的運行引擎中生成網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)。例如,可以在步驟402中運行方法300。在步驟404處,運行該網(wǎng)絡(luò)設(shè)備實現(xiàn)。網(wǎng)絡(luò)設(shè)備實現(xiàn)能夠被運行以處理數(shù)據(jù)(例如,網(wǎng)絡(luò)業(yè)務(wù))和產(chǎn)生運行時間數(shù)據(jù)作為結(jié)果(例如,業(yè)務(wù)統(tǒng)計)。在步驟406處,收集運行時間數(shù)據(jù)和/或部署數(shù)據(jù)以用于編譯器優(yōu)化。在步驟408處,使用所收集的用于編譯器優(yōu)化的數(shù)據(jù)來重新編譯源表示,以生成新的可執(zhí)行表示。在步驟410處,將新的可執(zhí)行表示提供到運行引擎。方法400能夠返回到步驟404并且重復(fù)以進(jìn)一步對網(wǎng)絡(luò)設(shè)備組件的可執(zhí)行表示進(jìn)行優(yōu)化。[0026]描述了在網(wǎng)絡(luò)設(shè)備中網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)。在各種示例中,網(wǎng)絡(luò)設(shè)備包括與運行時間運行環(huán)境放置在一起的編譯器,以便根據(jù)具有網(wǎng)絡(luò)域優(yōu)化的源表示來動態(tài)地生成網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)。將編譯過程與運行時間運行環(huán)境放置在一起提供了減少的開銷、部署/配置特定的優(yōu)化、以及運行時間數(shù)據(jù)特定的優(yōu)化。[0027]以上所描述的技術(shù)可以被包含在計算機可讀介質(zhì)中來用于將計算系統(tǒng)配置成執(zhí)行該方法。計算機可讀介質(zhì)可以包括例如并且不限于任何數(shù)目的以下各項:包括磁盤和磁帶存儲介質(zhì)的磁性存儲介質(zhì);諸如光盤介質(zhì)(例如,CD-ROM、CD-R等)和數(shù)字視頻光盤存儲介質(zhì)之類的光學(xué)存儲介質(zhì);全息存儲器;包括諸如閃存、EEPROM、EPROM、ROM之類的基于半導(dǎo)體的存儲單元的非易失性存儲器存儲介質(zhì);鐵磁數(shù)字存儲器;包括寄存器、緩沖器或高速緩存、主存儲器、RAM等之類的易失性存儲介質(zhì),這僅舉了幾個例子而已。其他的新的和各種類型的計算機-可讀介質(zhì)可以被用來存儲本文所討論的機器可讀代碼。[0028]在前面的描述中,許多細(xì)節(jié)被闡述以提供對本發(fā)明的理解。然而,本領(lǐng)域的技術(shù)人員將理解的是,本發(fā)明可以在沒有這些細(xì)節(jié)的情況下被實施。雖然參考有限數(shù)目的實施例公開了本發(fā)明,但是本領(lǐng)域技術(shù)人員將從其領(lǐng)會許多修改和變形。意圖是:所附權(quán)利要求涵蓋落入本發(fā)明的真實精神和范圍內(nèi)的此類修改和變形?!緳?quán)利要求】1.一種用于在網(wǎng)絡(luò)設(shè)備中實現(xiàn)網(wǎng)絡(luò)設(shè)備組件的裝置,包括:具有網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)來處理由網(wǎng)絡(luò)設(shè)備所接收的數(shù)據(jù)的運行引擎;以及通過將網(wǎng)絡(luò)設(shè)備數(shù)據(jù)用于編譯器優(yōu)化來編譯一般表示而生成網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)的編譯器。2.權(quán)利要求1的裝置,其中網(wǎng)絡(luò)設(shè)備數(shù)據(jù)包括由運行引擎所生成的運行時間數(shù)據(jù)。3.權(quán)利要求2的裝置設(shè)備,其中運行時間數(shù)據(jù)由網(wǎng)絡(luò)設(shè)備組件來生成。4.權(quán)利要求1的裝置,其中網(wǎng)絡(luò)設(shè)備數(shù)據(jù)包括表示網(wǎng)絡(luò)設(shè)備的配置的配置數(shù)據(jù)。5.權(quán)利要求1的裝置,其中一般表示包括源代碼或預(yù)編譯的源代碼中的至少一個。6.一種網(wǎng)絡(luò)設(shè)備,包括接收網(wǎng)絡(luò)設(shè)備組件的源表示的輸入/輸出(IO)接口,所述源表示未被編譯或被部分地編譯;存儲源表示和網(wǎng)絡(luò)設(shè)備數(shù)據(jù)的存儲器;以及被耦合到所述存儲器的處理器電路,所述處理器電路通過將網(wǎng)絡(luò)設(shè)備數(shù)據(jù)用于編譯器優(yōu)化來編譯源表示而生成網(wǎng)絡(luò)設(shè)備組件的可執(zhí)行表示,并且運行所述可執(zhí)行表示以實現(xiàn)網(wǎng)絡(luò)設(shè)備組件。7.權(quán)利要求6的網(wǎng)絡(luò)設(shè)備,其中網(wǎng)絡(luò)設(shè)備數(shù)據(jù)包括由處理器電路所生成的運行時間數(shù)據(jù)。8.權(quán)利要求7的網(wǎng)絡(luò)設(shè)備,其中由處理器電路所實現(xiàn)的網(wǎng)絡(luò)設(shè)備組件生成運行時間數(shù)據(jù)。9.權(quán)利要求6的網(wǎng)絡(luò)設(shè)備,其中網(wǎng)絡(luò)設(shè)備數(shù)據(jù)包括表示網(wǎng)絡(luò)設(shè)備的配置的部署數(shù)據(jù)。10.權(quán)利要求6的網(wǎng)絡(luò)設(shè)備,其中源表示包括源代碼或預(yù)編譯的源代碼中的至少一個。11.一種在網(wǎng)絡(luò)設(shè)備中實現(xiàn)網(wǎng)絡(luò)設(shè)備組件的方法,包括:獲取網(wǎng)絡(luò)設(shè)備處的網(wǎng)絡(luò)設(shè)備組件的源表示;獲取在網(wǎng)絡(luò)設(shè)備中存儲的數(shù)據(jù);通過將所述數(shù)據(jù)用于編譯器優(yōu)化來編譯網(wǎng)絡(luò)設(shè)備中的源表示,以生成網(wǎng)絡(luò)設(shè)備組件的可執(zhí)行表示;以及將可執(zhí)行表示提供到網(wǎng)絡(luò)設(shè)備的運行引擎作為網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)。12.權(quán)利要求11的方法,其中獲取數(shù)據(jù)的步驟包括:獲取由運行引擎所生成的運行時間數(shù)據(jù)。13.權(quán)利要求11的方法,進(jìn)一步包括:在運行引擎中運行網(wǎng)絡(luò)設(shè)備組件的實現(xiàn)來生成運行時間數(shù)據(jù);通過將運行時間數(shù)據(jù)、或運行時間數(shù)據(jù)和所述數(shù)據(jù)的組合用于編譯器優(yōu)化來重新編譯源表示,以生成網(wǎng)絡(luò)設(shè)備組件的另一個可執(zhí)行表示;以及將所述另一個可執(zhí)行表示提供到運行引擎作為網(wǎng)絡(luò)設(shè)備組件的另一個實現(xiàn)。14.權(quán)利要求11的方法,其中獲取數(shù)據(jù)的步驟包括:獲取表示網(wǎng)絡(luò)設(shè)備的配置的部署數(shù)據(jù)。15.權(quán)利要求11的方法,其中獲取源表示的步驟包括:獲取源代碼或預(yù)編譯的源代碼中的至少一個?!疚臋n編號】H04L12/22GK103563300SQ201180071104【公開日】2014年2月5日申請日期:2011年5月25日優(yōu)先權(quán)日:2011年5月25日【發(fā)明者】D.M.科爾布利申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)