軟件定義網(wǎng)絡(luò)應(yīng)用部署的制作方法
【專利說明】軟件定義網(wǎng)絡(luò)應(yīng)用部署
[0001]相關(guān)申請的交叉引用
[0002]本申請要求2013年9月30日提交的美國臨時申請61/884,905的優(yōu)先權(quán),該美國臨時申請通過引用并入。
【背景技術(shù)】
[0003]軟件定義網(wǎng)絡(luò)(SDN)是網(wǎng)絡(luò)虛擬化的一種形式,其中控制平面(做出對網(wǎng)絡(luò)業(yè)務(wù)有影響的決策的系統(tǒng))與數(shù)據(jù)平面(移動該網(wǎng)絡(luò)業(yè)務(wù)的系統(tǒng))分離并且被實現(xiàn)為軟件??刂破矫嬷赶薅ㄔ诰W(wǎng)絡(luò)設(shè)備中如何處置網(wǎng)絡(luò)業(yè)務(wù)(例如通過協(xié)議,如生成樹、開放最短路徑優(yōu)先、邊界網(wǎng)關(guān)協(xié)議等)。數(shù)據(jù)平面指在網(wǎng)絡(luò)設(shè)備中根據(jù)控制平面(例如使用轉(zhuǎn)發(fā)表、路由表、隊列等)實際處置網(wǎng)絡(luò)業(yè)務(wù)??刂破矫婵梢员徽J為分布在典型的網(wǎng)絡(luò)中,其中每個網(wǎng)絡(luò)設(shè)備包括控制平面和數(shù)據(jù)平面。結(jié)果,如果發(fā)生網(wǎng)絡(luò)擁塞,則每個網(wǎng)絡(luò)設(shè)備可以在很大程度上獨立于其它網(wǎng)絡(luò)設(shè)備而采取校正動作。然而,在SDN中,網(wǎng)絡(luò)管理員可以具有對網(wǎng)絡(luò)業(yè)務(wù)的可編程(例如,集中的)控制,而無需對網(wǎng)絡(luò)硬件設(shè)備進行物理訪問。
【附圖說明】
[0004]圖1是圖不根據(jù)本公開的系統(tǒng)的不例的圖。
[0005]圖2是圖示根據(jù)本公開的設(shè)備的示例的圖。
[0006]圖3是圖示根據(jù)本公開的軟件定義網(wǎng)絡(luò)(SDN)生態(tài)系統(tǒng)的示例的圖。
[0007]圖4是圖示根據(jù)本公開的方法的流程圖。
【具體實施方式】
[0008]軟件定義網(wǎng)絡(luò)是一種新興的網(wǎng)絡(luò)架構(gòu),其中網(wǎng)絡(luò)控制與轉(zhuǎn)發(fā)分離并且是直接地可編程的??刂?從前緊密地綁定在獨立的網(wǎng)絡(luò)設(shè)備中)至可訪問的計算設(shè)備內(nèi)的迀移能夠針對應(yīng)用和網(wǎng)絡(luò)服務(wù)抽象底層基礎(chǔ)設(shè)施,該底層基礎(chǔ)設(shè)施可以將網(wǎng)絡(luò)視作邏輯實體或虛擬實體。
[0009]一些SDN實現(xiàn)方式可能缺少進程或者包括用于測試新創(chuàng)建的SDN應(yīng)用的進程。如本文所使用的,SDN應(yīng)用指如下程序指令:該程序指令可以安裝在SDN控制器(例如,網(wǎng)絡(luò)控制器)上,以對新的SDN和/或已有的SDN提供和/或修改功能。例如,測試SDN應(yīng)用的一些示例可能涉及用于測試SDN應(yīng)用的多步驟進程。
[0010]相比之下,根據(jù)本公開的SDN應(yīng)用部署可以包括流水線化的工作流,使得應(yīng)用開發(fā)者可以在一個流水線工作流(例如,遠程實驗室至開發(fā)工作流)中開發(fā)和測試SDN應(yīng)用。例如,依據(jù)本公開,開發(fā)者可以開發(fā)該SDN應(yīng)用并且將其部署至遠程測試實驗室。結(jié)果,開發(fā)者可以上傳他的SDN應(yīng)用,在其期望環(huán)境的版本中測試該應(yīng)用,并且在一個動作中收集結(jié)果的報告(例如,利用經(jīng)由圖形用戶界面(GUI)的訪問)。
[0011]遠程實驗室至開發(fā)工作流的集成(例如,還被稱為工具鏈)可以從開發(fā)者工作空間至遠程實驗室直接部署(例如,上傳)昔日編輯并本地測試的應(yīng)用,在該遠程實驗室中,開發(fā)者可以在可能預(yù)計該應(yīng)用在實際部署中會遇到的真實設(shè)備網(wǎng)絡(luò)中運行該應(yīng)用。一旦該應(yīng)用在遠程實驗室中運行,結(jié)果和網(wǎng)絡(luò)配置就可以被下載至開發(fā)者的工作臺以繼續(xù)進行工作流(例如,提交至SDN應(yīng)用商店),如本文將進一步討論的那樣。
[0012]圖1和圖2圖不根據(jù)本公開的系統(tǒng)100和設(shè)備208的不例。圖1是圖不根據(jù)本公開的系統(tǒng)100的示例的圖。系統(tǒng)100可以包括數(shù)據(jù)庫101、子系統(tǒng)102和/或多個引擎103、104。如本文所使用的,“一”或“多”個事物可以指一個或多個這種事物。例如,“多個微件(widget)”可以指一個或多個微件。子系統(tǒng)可以包括經(jīng)由通信鏈路與數(shù)據(jù)庫101通信的多個引擎。系統(tǒng)100可以包括比圖示的引擎更多或更少的引擎,以執(zhí)行本文描述的多種功能。系統(tǒng)100和/或子系統(tǒng)102可以表示SDN控制器(例如,圖2中示出的設(shè)備208等)的軟件和/或硬件。
[0013]多個引擎103、104可以包括被配置為執(zhí)行本文描述的多種功能(例如,將SDN應(yīng)用部署在遠程測試實驗室中)的硬件和程序設(shè)計的組合。該程序設(shè)計可以包括硬接線程序(例如,邏輯)以及存儲在存儲器資源(例如,計算機可讀介質(zhì)(CRM)、機器可讀介質(zhì)(MRM)等)中的程序指令(例如,軟件、固件等)。
[0014]開發(fā)引擎103可以包括硬件和/或硬件和程序設(shè)計的組合,以接收被開發(fā)的SDN應(yīng)用。例如,開發(fā)者可以上傳(例如,經(jīng)由GUI)他或她希望上傳至應(yīng)用商店的SDN應(yīng)用。在一些情況下,該SDN應(yīng)用可以包括新的SDN應(yīng)用。如本文所使用的,新的或新創(chuàng)建的SDN應(yīng)用可以包括之前沒有存儲在SDN生態(tài)系統(tǒng)內(nèi)的SDN應(yīng)用商店中的SDN應(yīng)用,如本文將參考圖3進一步討論的那樣。SDN應(yīng)用可以包括使用SDN軟件開發(fā)工具包(SDK)開發(fā)的SDN應(yīng)用,如本文將進一步討論的那樣。
[0015]部署引擎104可以包括用于為了測試而將所開發(fā)的SDN應(yīng)用部署在遠程測試實驗室105中的硬件和/或硬件和程序設(shè)計的組合。在一些示例中,該部署引擎可以使用文件傳輸協(xié)議(FTP)將該SDN應(yīng)用上傳至該遠程測試實驗室。
[0016]遠程測試實驗室105可以包括用于測試遠離SDN生態(tài)系統(tǒng)放置的SDN應(yīng)用(或其它類型應(yīng)用)的環(huán)境。然而,在一些示例中,遠程測試實驗室105可以位于SDN生態(tài)系統(tǒng)內(nèi)。在一些情況下,遠程測試實驗室105可以是虛擬測試實驗室。虛擬測試實驗室可以包括在云系統(tǒng)上托管的環(huán)境,該云系統(tǒng)可以由用戶訪問以測試SDN應(yīng)用,如本文將參考圖3進一步討論的那樣。該遠程實驗室可以使用真實的設(shè)備,但是在一些示例中其可以被認為是虛擬實驗室,因為該實驗室的基礎(chǔ)設(shè)施同時在多個開發(fā)者之間共享,同時提供他們各自的測試環(huán)境之間的隔離。
[0017]在一些示例中,系統(tǒng)100可以包括捕獲引擎(未在圖1示出),該捕獲引擎用于捕獲在遠程測試實驗室中對該應(yīng)用執(zhí)行的測試的測試結(jié)果。開發(fā)者可以接收所捕獲的這些測試結(jié)果(例如,該環(huán)境中的正面或負面的性能)并且在嘗試將他或她的SDN應(yīng)用進入應(yīng)用商店時使用它們。在一些實例中,捕獲引擎可以壓縮或打包測試結(jié)果(例如,以與SDN應(yīng)用的提交一起發(fā)送進入應(yīng)用商店)。打包可以包括例如對進入應(yīng)用商店可能需要的任何信息(例如,測試結(jié)果、包信息等)進行編譯。
[0018]多個引擎103、104中的每個可以包括可以起到參考圖2描述的相應(yīng)模塊的作用的硬件和/或硬件和程序設(shè)計的組合。例如,開發(fā)引擎103可以包括可以起到開發(fā)模塊213的作用的硬件和/或硬件和程序設(shè)計的組合。在另一示例中,部署引擎104可以包括可以起到部署模塊214的作用的硬件和/或硬件和程序設(shè)計的組合。
[0019]圖2是圖示根據(jù)本公開的設(shè)備208(例如,SDN控制器)的示例的圖。設(shè)備208可以利用軟件、硬件、固件和/或邏輯來執(zhí)行多種功能。
[0020]設(shè)備208可以是被配置為執(zhí)行多種功能(例如,動作)的硬件和程序指令的組合。硬件可以例如包括多個處理資源209和多個存儲器資源211 (例如,CRM、MRM、數(shù)據(jù)庫等)。存儲器資源211可以位于設(shè)備208的內(nèi)部和/或外部(例如,設(shè)備208可以包括內(nèi)部存儲器資源并且可訪問外部存儲器資源)。程序指令(例如,機器可讀指令(MRI))可以包括在MRM上存儲的、用于執(zhí)行特定功能(例如,動作,如向多個用戶提供對多個SDN應(yīng)用的訪問)的指令。MRI可以由處理資源209中的一個或多個執(zhí)行。存儲器資源211可以以有線的方式和/或無線的方式耦接至設(shè)備208。例如,存儲器資源211可以是內(nèi)部存儲器、便攜式存儲器、便攜式盤和/或與另一資源關(guān)聯(lián)(例如使MRI能夠穿越像因特網(wǎng)這樣的網(wǎng)絡(luò)傳輸和/或執(zhí)行)的存儲器。
[0021]存儲器資源211可以是非暫時性的并且可以包括易失性的和/或非易失性的存儲器。易失性的存儲器可以包括依賴電力來存儲信息的存儲器,如多種動態(tài)隨機存取存儲器(DRAM)等。非易失性的存儲器可以包括不依賴電力來存儲信息的存儲器。非易失性的存儲器的示例可以包括固態(tài)介質(zhì),如閃存,電可擦除可編程只讀存儲器(EEPROM),相變隨機存取存儲器(PCRAM),磁性存儲器,如硬盤,磁帶驅(qū)動器,軟盤和/或磁帶存儲器,光盤,數(shù)字多功能盤(DVD),藍光盤(BD),光盤(CD)和/或固態(tài)驅(qū)動器(SSD)等,以及