專利名稱:一種多拓?fù)涮摂M網(wǎng)絡(luò)映射方法
一種多拓?fù)涮摂M網(wǎng)絡(luò)映射方法技術(shù)領(lǐng)域
網(wǎng)絡(luò)虛擬化技術(shù)是推動互聯(lián)網(wǎng)體系架構(gòu)發(fā)展的重要方法之一,其本質(zhì)是通過抽象、分配、隔離機(jī)制在一個公共物理網(wǎng)絡(luò)上獨(dú)立地運(yùn)營多個虛擬子網(wǎng),各虛擬子網(wǎng)可以使用相互獨(dú)立的協(xié)議體系,并能夠根據(jù)用戶動態(tài)變化的需求對整個網(wǎng)絡(luò)中節(jié)點和鏈路資源進(jìn)行合理配置,從而增強(qiáng)網(wǎng)絡(luò)的靈活性與多樣性,實現(xiàn)網(wǎng)絡(luò)的可測可控性,最優(yōu)化網(wǎng)絡(luò)資源的分配與調(diào)度,提高安全和服務(wù)質(zhì)量、降低運(yùn)營維護(hù)成本,以求根本性地解決互聯(lián)網(wǎng)現(xiàn)有的僵化、以補(bǔ)丁和更新為主的發(fā)展現(xiàn)狀。
網(wǎng)絡(luò)虛擬化技術(shù)可以用于為新型網(wǎng)絡(luò)體系結(jié)構(gòu)的研究提供共享物理實驗網(wǎng)絡(luò)的基礎(chǔ),同時它還能夠?qū)⒌讓游锢碓O(shè)施提供商與網(wǎng)絡(luò)服務(wù)運(yùn)營商相分離,允許多個運(yùn)營商的網(wǎng)絡(luò)共享同一個公共的底層物理網(wǎng)絡(luò)基礎(chǔ)架構(gòu)(鏈路、交換節(jié)點等),每個網(wǎng)絡(luò)都在其中擁有既不受其他網(wǎng)絡(luò)影響又可以靈活調(diào)整的網(wǎng)絡(luò)資源份額,不同網(wǎng)絡(luò)運(yùn)營商可以采用不同的網(wǎng)絡(luò)協(xié)議,提供創(chuàng)新的端到端服務(wù),因此網(wǎng)絡(luò)虛擬化也很有希望成為一種未來網(wǎng)絡(luò)的主流運(yùn)營模式。
背景技術(shù):
虛擬網(wǎng)絡(luò)映射問題則是網(wǎng)絡(luò)虛擬化技術(shù)中必不可少的環(huán)節(jié),它的主要功能是將用戶的虛擬網(wǎng)絡(luò)請求(Virtual Request)合理地映射至運(yùn)營商提供的底層物理網(wǎng)絡(luò)設(shè)施 (Substrate Network),映射過程不僅要實現(xiàn)虛擬網(wǎng)絡(luò)之間的分隔與互不影響,從而保證每個虛擬網(wǎng)絡(luò)用戶的服務(wù)質(zhì)量(QM),同時也要盡量合理地分配底層物理網(wǎng)絡(luò)資源,提高資源利用率。如圖1所示。
在圖1中,兩個不同的虛擬網(wǎng)絡(luò)被映射在底層物理網(wǎng)絡(luò)上,并向相應(yīng)的用戶提供服務(wù)。由于虛擬網(wǎng)絡(luò)請求拓?fù)涞亩鄻有裕约肮?jié)點和鏈路兩組限制條件需要同時考慮,使得將多個不同的虛擬網(wǎng)絡(luò)映射到一個公共底層物理網(wǎng)絡(luò)成為NP-hard問題。為解決該問題, 國外很多研究學(xué)者已經(jīng)提出了一些求解映射匹配次優(yōu)解的映射方法,但現(xiàn)有算法僅針對隨即拓?fù)涞奶摼W(wǎng)請求進(jìn)行研究。
虛擬網(wǎng)絡(luò)映射的實現(xiàn)過程可以分為兩個步驟節(jié)點映射和鏈路映射。現(xiàn)有的主要方法是使用貪婪算法進(jìn)行節(jié)點映射,使用K最短路徑算法進(jìn)行鏈路映射。系統(tǒng)以時間窗為單位,一個時間窗內(nèi)的所有虛擬網(wǎng)絡(luò)請求將按照其收入(Revenue)排序,從規(guī)模最大的請求開始進(jìn)行映射。若映射成功,則更新底層物理網(wǎng)絡(luò)狀態(tài);若失敗,則將請求放入等待隊列; 或直接拒絕該請求。
其中,對每個虛擬網(wǎng)絡(luò)請求的映射步驟如下
首先進(jìn)行節(jié)點映射對虛擬網(wǎng)絡(luò)請求中的每個虛網(wǎng)節(jié)點(Vn。J,使用貪婪算法尋找擁有最大剩余資源(Available Resource, AR)的底層物理網(wǎng)節(jié)點(Sn。de);若該Sn。de滿足該Vn。de的CPU限制,則該Vn。de映射成功;若對某Vmtte,沒有滿足要求的Sn。de,則節(jié)點映射失?。蝗羲蠽n。de映射成功,則節(jié)點映射完成。
節(jié)點映射完成后進(jìn)行鏈路映射對虛擬網(wǎng)絡(luò)請求中的每條虛網(wǎng)鏈路(Vlink),確定其兩端點Vn。del、Vn。de2映射至底層物理網(wǎng)絡(luò)中的Snmto、Sn。de2 ;使用K最短路徑算法尋找Sn。del、 Snode2之間的第I-K條最短路徑;若其中某條路徑滿足該Vlink的帶寬要求,則該Vlink映射成功;若所有K條路徑均不滿足帶寬要求,則鏈路映射失??;若所有Vlink映射成功,則鏈路映射完成。
在現(xiàn)階段的虛擬網(wǎng)絡(luò)映射算法中,僅考慮了隨機(jī)拓?fù)涞奶摼W(wǎng)請求,而在實際應(yīng)用中,虛網(wǎng)請求往往是針對具體的需求而生成的,因此具有相應(yīng)的拓?fù)浣Y(jié)構(gòu)。例如內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN) —般是星型拓?fù)?,交互式網(wǎng)絡(luò)電視(IPTV)在進(jìn)行多播分發(fā)時一般使用樹型拓?fù)涞鹊?。由于沒有考慮到使用拓?fù)湫畔μ摼W(wǎng)映射算法進(jìn)行專門優(yōu)化,現(xiàn)有虛網(wǎng)映射算法對底層物理網(wǎng)絡(luò)資源的利用率較低,即系統(tǒng)的支出(Cost)較高,收入支出比(Revenue/Cost)較低。發(fā)明內(nèi)容
本發(fā)明分析了虛網(wǎng)拓?fù)湫畔μ摼W(wǎng)映射算法的影響,發(fā)現(xiàn)在虛網(wǎng)節(jié)點映射部分, 如果可以針對不同的網(wǎng)絡(luò)拓?fù)溥M(jìn)行優(yōu)化,則后續(xù)鏈路映射的復(fù)雜度可以大大簡化,并可以提高底層物理網(wǎng)資源的利用率。
本發(fā)明根據(jù)該出發(fā)點設(shè)計了一種多拓?fù)涮摼W(wǎng)映射方法,為虛網(wǎng)映射問題引入了拓?fù)湫畔⑦M(jìn)行優(yōu)化。該方法包括四種子算法,當(dāng)相應(yīng)拓?fù)涞奶摼W(wǎng)請求到達(dá)時,系統(tǒng)可以識別該拓?fù)洳⒄{(diào)用相應(yīng)的子算法。這四種子算法分別針對星型拓?fù)?、環(huán)型拓?fù)?、樹型拓?fù)?、隨機(jī)拓?fù)溥M(jìn)行了優(yōu)化,經(jīng)過優(yōu)化的四種算法分別使用了隨機(jī)型加權(quán)剩余資源(General Weighted Available Resource,GWAR)、星型加權(quán)剩余資源(Star Weighted Available Resource, SWAR)、環(huán)型加權(quán)剩余資源(Ring Weighted Available Resource, RWAR)、樹型加權(quán)剩余資源(Tree Weighted Available Resource, TWAR)作為節(jié)點映射的優(yōu)化目標(biāo),充分利用了這些拓?fù)浣Y(jié)構(gòu)的特點,使映射結(jié)果使用底層物理網(wǎng)絡(luò)資源所付出的支出大幅降低,因而大幅提高了收入支出比。
本發(fā)明涉及的定義
1)收入(Revenue)
Revenue是指虛網(wǎng)映射成功獲得的利潤,根據(jù)映射成功的虛網(wǎng)帶寬和CPU定義
Revenue = α Ε Σ BWe+ β Ε Σ CPUe
其中,BWk是映射成功的虛網(wǎng)帶寬,0 隊是映射成功的虛網(wǎng)節(jié)點CPU資源,α jP βκ 是用于調(diào)節(jié)帶寬和CPU的權(quán)重系數(shù),也可以理解為運(yùn)營商提供虛網(wǎng)服務(wù)時帶寬和CPU資源的單價,下標(biāo)R指收入。
2)支出(Cost)
Cost是指虛網(wǎng)映射成功支出的費(fèi)用,根據(jù)映射使用的底層物理網(wǎng)絡(luò)帶寬和CPU定義
Cost =acE HOPS · Bffc+ β c Σ CPUc
其中,BW。是映射使用的底層物理網(wǎng)絡(luò)帶寬,HOPS是一條虛擬鏈路在底層物理網(wǎng)絡(luò)上占用的實際鏈路數(shù)量,CPUc是映射使用的底層物理網(wǎng)絡(luò)節(jié)點CPU,0。和β c是用于調(diào)節(jié)帶寬和CPU的權(quán)重系數(shù),也可以理解為運(yùn)營商提供虛網(wǎng)服務(wù)時帶寬和CPU資源的成本,下標(biāo) C 指 Cost0
3)剩余資源(Available Resource, AR)
AR是針對某底層物理網(wǎng)節(jié)點或某虛網(wǎng)請求節(jié)點的剩余資源,根據(jù)該底層物理網(wǎng)節(jié)點或虛網(wǎng)請求節(jié)點的剩余CPU資源和與其連接的剩余鏈路資源定義
AR = CPUa Σ BWa
其中,CPUa是底層物理網(wǎng)節(jié)點或虛網(wǎng)請求節(jié)點的剩余CPU資源,BWa是與該底層物理網(wǎng)節(jié)點或虛網(wǎng)請求節(jié)點連接的底層鏈路剩余帶寬資源,下標(biāo)A指AR(Available Resource,剩余資源)。
本發(fā)明,一是通過設(shè)計多拓?fù)涮摼W(wǎng)映射方法,為虛網(wǎng)映射問題引入了多拓?fù)湫畔⑦M(jìn)行優(yōu)化,該方法可以識別虛網(wǎng)請求的拓?fù)?,并調(diào)用相應(yīng)的子算法,同時該方法具有可擴(kuò)展性,新型拓?fù)涮摼W(wǎng)請求算法可以很容易加入該方法。二是提出了針對四種拓?fù)浣Y(jié)構(gòu)的虛網(wǎng)請求分別進(jìn)行優(yōu)化的四種虛網(wǎng)映射子算法,起到了在相應(yīng)拓?fù)涞奶摼W(wǎng)請求到達(dá)時提升虛網(wǎng)映射算法的收入支出比的作用,并作為多拓?fù)涮摼W(wǎng)映射方法的組成部分。
(1)多拓?fù)涮摼W(wǎng)映射方法結(jié)構(gòu)
如上所述,現(xiàn)有的虛網(wǎng)映射算法不區(qū)分到達(dá)虛網(wǎng)請求的拓?fù)?,統(tǒng)一使用相同的虛網(wǎng)映射算法。但在實際情況下,虛網(wǎng)請求在生成時為了實現(xiàn)具體功能一般會具有特殊的拓?fù)浣Y(jié)構(gòu),同時這種拓?fù)浣Y(jié)構(gòu)是虛網(wǎng)請求者預(yù)先知道的,因此本發(fā)明提出由虛網(wǎng)請求者使用變量TOPO (隨機(jī)型/缺省0,星型1,環(huán)形2,數(shù)型幻對自己的虛網(wǎng)請求作出標(biāo)識,多拓?fù)溆成浞椒梢宰R別該標(biāo)識,并調(diào)用相應(yīng)的虛網(wǎng)映射算法。
該方法還具有可擴(kuò)展性,目前使用隨機(jī)拓?fù)溆成渌惴ㄗ鳛槿笔∷惴ǎ幚黼S機(jī)拓?fù)湔埱蠛臀醋R別標(biāo)識的請求,因此新的虛網(wǎng)拓?fù)溆成渌惴梢砸勒赵摻Y(jié)構(gòu)加入系統(tǒng),并從缺省算法中分擔(dān)相應(yīng)的映射任務(wù)。
( 多拓?fù)涮摼W(wǎng)映射算法
如上所述,現(xiàn)有的虛網(wǎng)節(jié)點映射流程中,在尋找底層物理網(wǎng)節(jié)點時,衡量標(biāo)準(zhǔn)是節(jié)點的剩余資源,該衡量標(biāo)準(zhǔn)僅考慮了底層物理網(wǎng)節(jié)點的剩余資源大小,沒有考慮節(jié)點之間的拓?fù)溥B接關(guān)系,因此本發(fā)明提出使用四種加權(quán)剩余資源作為新優(yōu)化目標(biāo),分別對隨機(jī)型拓?fù)?、星型拓?fù)洹h(huán)型拓?fù)浜蛿?shù)型拓?fù)涞奶摼W(wǎng)請求到達(dá)情況下的虛網(wǎng)映射算法進(jìn)行優(yōu)化,這四個新的優(yōu)化目標(biāo)分別為隨機(jī)型加權(quán)剩余資源(General Weighted Available Resource, GWAR)、星型加權(quán)剩余資源(Star Weighted Available Resource, SWAR)、環(huán)型加權(quán)剩余資源(Ring Weighted Available Resource, RWAR)、樹型加權(quán)剩余資源(Tree Weighted Available Resource, TffAR)
GffAR = Corrn-general · CPUa Σ BWa
SffAR = Corrn-star · CPUa Σ BWa
RffAR = Corrnjing · CPUa Σ BWa
TffAR = Corrn-tree · CPUa Σ BWa
其中,Corr是針對某底層物理網(wǎng)節(jié)點Sn。de的相關(guān)系數(shù),隨著Corr增加,拓?fù)湫畔⒌淖饔玫玫皆鰪?qiáng),應(yīng)設(shè)置為Corr > 1。指數(shù)!^general表示當(dāng)前虛網(wǎng)請求中已經(jīng)映射成功并且映射的象節(jié)點與Sn。de有直接連接的虛擬網(wǎng)節(jié)點個數(shù),n_general的大小表征了 Sn。de與之前已經(jīng)映射成功的所有底層物理網(wǎng)絡(luò)節(jié)點的距離。指數(shù)n_star表示當(dāng)前虛網(wǎng)請求的中心節(jié)點映射的象節(jié)點是否與Sntxte有直接連接,n_star = O或1,表征了 Sn。de與中心節(jié)點的距離。指數(shù)n_ring表示當(dāng)前虛網(wǎng)請求的環(huán)結(jié)構(gòu)中上一個映射成功的虛節(jié)點的象節(jié)點是否與Sn。de有直接連接,n_ring = 0或1,表征了 Sn。de與環(huán)結(jié)構(gòu)中上一個虛節(jié)點的距離。指數(shù) n_tree表示當(dāng)前虛網(wǎng)請求的樹結(jié)構(gòu)中父節(jié)點的象節(jié)點是否與Sn。de有直接連接,n_tree = 0 或1,表征了 Sn。de與樹結(jié)構(gòu)中父節(jié)點的距離。
在使用了這四種加權(quán)剩余資源作為優(yōu)化目標(biāo)以后,底層物理網(wǎng)節(jié)點剩余資源和鏈路映射的拓?fù)鋯栴}同時得到了考慮,顯著降低了鏈路映射的復(fù)雜度,降低了系統(tǒng)支出,提升了底層物理網(wǎng)鏈路資源的利用率,提升了系統(tǒng)的收入支出比。
圖1虛擬網(wǎng)絡(luò)映射問題
圖2時間窗模式下的虛網(wǎng)映射總體流程
圖3多拓?fù)涮摼W(wǎng)映射方法的具體步驟
圖4步驟C3
圖5步驟C7
實施方式
本發(fā)明的具體操作流程的核心是時間窗,一個時間窗內(nèi)進(jìn)行一次虛擬網(wǎng)絡(luò)映射, 虛網(wǎng)映射在時間窗模式下的流程,如圖2所示
A.釋放前一個時間窗內(nèi)離開的虛網(wǎng)請求占用的底層物理網(wǎng)資源,離開的虛網(wǎng)請求包括完成服務(wù)的請求和被主動拒絕的請求;虛網(wǎng)請求包含虛網(wǎng)節(jié)點請求和虛網(wǎng)鏈路請求兩部分;
B.統(tǒng)計本時間窗內(nèi)到達(dá)的虛網(wǎng)請求,到達(dá)的虛網(wǎng)請求包括新到達(dá)的請求和重新排隊的請求;
C.將步驟B中統(tǒng)計的到達(dá)的虛網(wǎng)請求按照其收入(Revenue)從大到小進(jìn)行排序, 然后根據(jù)虛網(wǎng)請求者使用的變量TOPO值,對虛網(wǎng)請求的拓?fù)漕愋瓦M(jìn)行識別,然后分別使用相應(yīng)的隨機(jī)型,星型,環(huán)形,樹型拓?fù)溆成渌惴▽⒌竭_(dá)的虛網(wǎng)請求按順序映射至底層物理網(wǎng)絡(luò),若其中任意一個到達(dá)的虛網(wǎng)請求映射成功,即虛網(wǎng)節(jié)點和虛網(wǎng)鏈路同時映射成功,則更新底層物理網(wǎng)絡(luò)的狀態(tài);若映射失敗,則將該虛網(wǎng)請求送至等待隊列,等待下個時間窗或直接拒絕。
該虛網(wǎng)映射流程保證了虛網(wǎng)請求可以實時處理,并且虛網(wǎng)請求的準(zhǔn)入機(jī)制可以通過調(diào)節(jié)參數(shù)進(jìn)行控制(如推遲、拒絕虛網(wǎng)請求)。
該虛網(wǎng)映射流程中的核心步驟是將時間窗內(nèi)的一組虛網(wǎng)請求映射至底層物理網(wǎng)絡(luò)(步驟C),這個映射過程可以用下面的流程進(jìn)一步詳細(xì)描述,如圖3-5所示
Cl)首先進(jìn)行虛網(wǎng)請求節(jié)點映射,將虛網(wǎng)請求按照其收入從大到小進(jìn)行排序,形成請求隊列(Qrequest);
C2)判斷當(dāng)前請求隊列中是否存在虛網(wǎng)請求,如果是,執(zhí)行步驟C3,如果否,執(zhí)行步驟Dl ;
C3)選擇當(dāng)前請求隊列中排在首位的虛網(wǎng)請求,根據(jù)TOPO的取值0、1、2、3,分別執(zhí)行下列C3. 1、C3. 2X3. 3X3. 4子步驟,TOPO取除0、1、2、3的其他值,則使用缺省值TOPO = 0,并執(zhí)行步驟C3. 1 ;
C3. DTOPO = 0,將該虛網(wǎng)請求內(nèi)的虛網(wǎng)節(jié)點(Vn。de)按照其剩余資源(Available Resource, AR)從大到小排序,形成虛網(wǎng)節(jié)點隊列(Qv mde);
C3. 2)TOPO = 1,將該虛網(wǎng)請求內(nèi)的虛網(wǎng)節(jié)點(Vn。de)按照中心節(jié)點排首位、其余節(jié)點按照剩余資源(Available Resource, AR)從大到小排序,形成虛網(wǎng)節(jié)點隊列(Qv mde);
C3. 3)TOPO = 2,將該虛網(wǎng)請求內(nèi)的虛網(wǎng)節(jié)點(Vnode)按照剩余資源(Available Resource, AR)最大節(jié)點排首位,其余節(jié)點按照環(huán)型連接順序排序,形成虛網(wǎng)節(jié)點隊列(Qvnode)
C3. 4) TOPO = 3,將該虛網(wǎng)請求內(nèi)的虛網(wǎng)節(jié)點(Vn。de)按照上層節(jié)點優(yōu)先、同層節(jié)點按照父節(jié)點順序、同一父節(jié)點按照剩余資源(Available Resource,AR)從大到小排序,形成虛網(wǎng)節(jié)點隊列(Qv—n。J ;
C4)判斷當(dāng)前虛網(wǎng)節(jié)點隊列中是否存在虛網(wǎng)節(jié)點,如果是,執(zhí)行步驟C5,如果否, 則將當(dāng)前請求隊列中排在首位的虛網(wǎng)請求移出請求對列,執(zhí)行步驟C2 ;
C5)選擇當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點,在底層物理網(wǎng)中選擇物理網(wǎng)節(jié)點(sn。J,選擇的物理網(wǎng)節(jié)點的CPU資源不小于當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點CPU資源;并將滿足CPU條件的物理網(wǎng)節(jié)點組成物理網(wǎng)節(jié)點子集(Ss n。J ;
C6)判斷物理網(wǎng)節(jié)點子集中是否存在物理網(wǎng)節(jié)點,如果是,執(zhí)行步驟C7,如果否, 則當(dāng)前虛網(wǎng)請求隊列中排在首位虛網(wǎng)請求映射失敗,將該請求移出虛網(wǎng)請求隊列,并送至下個時間窗的等待隊列或拒絕請求,執(zhí)行步驟C2 ;
C7)根據(jù) Τ0Ρ0 的取值 0、1、2、3,分別執(zhí)行 C7. 1、C7. 2、C7. 3、C7. 4 子步驟,Τ0Ρ0 取除0、1、2、3的其他值,則使用缺省值Τ0Ρ0 = 0,并執(zhí)行步驟C7. 1 ;
C7. 1) Τ0Ρ0 = 0,選出當(dāng)前物理網(wǎng)節(jié)點子集中隨機(jī)型加權(quán)剩余資源(General Weighted Available Resource, GWAR)最大的物理網(wǎng)節(jié)點,并將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點映射至該物理網(wǎng)節(jié)點,將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點移出虛網(wǎng)節(jié)點隊列,執(zhí)行步驟C4;
C7. 2) Τ0Ρ0 = 1,選出當(dāng)前物理網(wǎng)節(jié)點子集中星型加權(quán)剩余資源(Mar Weighted Available Resource, SWAR)最大的物理網(wǎng)節(jié)點,并將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點映射至該物理網(wǎng)節(jié)點,將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點移出虛網(wǎng)節(jié)點隊列,執(zhí)行步驟C4;
C7. 3) Τ0Ρ0 = 2,選出當(dāng)前物理網(wǎng)節(jié)點子集中環(huán)型加權(quán)剩余資源(Ring Weighted Available Resource, RWAR)最大的物理網(wǎng)節(jié)點,并將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點映射至該物理網(wǎng)節(jié)點,將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點移出虛網(wǎng)節(jié)點隊列,執(zhí)行步驟C4;
C7. 4) Τ0Ρ0 = 3,選出當(dāng)前物理網(wǎng)節(jié)點子集中樹型加權(quán)剩余資源(Tree Weighted Available Resource, TWAR)最大的物理網(wǎng)節(jié)點,并將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點映射至該物理網(wǎng)節(jié)點,將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點移出虛網(wǎng)節(jié)點隊列,執(zhí)行步驟C4。
C8)開始進(jìn)行鏈路映射,將節(jié)點映射成功的虛網(wǎng)請求按收入從大到小進(jìn)行排序,形成請求隊列(Qrequest);
C9)判斷當(dāng)前請求隊列中是否存在虛網(wǎng)請求,如果是,執(zhí)行步驟C10,如果否,當(dāng)前時間窗的映射算法結(jié)束;
C10)選擇當(dāng)前請求隊列中排在首位的虛網(wǎng)請求,并將該虛網(wǎng)請求內(nèi)的虛網(wǎng)鏈路 (VliJ按照其帶寬(BW)從大到小排序,形成虛網(wǎng)鏈路隊列(Qvlink);
Cll)判斷當(dāng)前虛網(wǎng)鏈路隊列中是否存在虛網(wǎng)鏈路,如果是,執(zhí)行步驟C12,如果否,則將當(dāng)前請求隊列中排在首位的虛網(wǎng)請求移出請求隊列,執(zhí)行步驟C9;
C12)選擇當(dāng)前虛網(wǎng)鏈路隊列中排在首位的虛網(wǎng)鏈路,使用K最短路徑 (K-Shortest)算法依次尋找第1至K條最短路徑,這些路徑由一條或多條底層物理網(wǎng)鏈路 (Slink)組成,K為大于1的整數(shù),僅保留這K條路徑這樣的路徑組成路徑的所有物理網(wǎng)鏈路的最低帶寬滿足當(dāng)前虛網(wǎng)鏈路隊列中排在首位的虛網(wǎng)鏈路帶寬;保留的路徑形成物理網(wǎng)路徑子集(Ssjjath);
C13)判斷當(dāng)前物理網(wǎng)路徑子集中是否存在物理網(wǎng)路徑,如果是,執(zhí)行步驟C14 ;如果否,則當(dāng)前虛網(wǎng)請求隊列中排在首位虛網(wǎng)請求映射失敗,將該請求移出虛網(wǎng)請求隊列,并送至下個時間窗的等待隊列或拒絕請求,執(zhí)行步驟C9 ;
C14)將當(dāng)前虛網(wǎng)鏈路隊列中排在首位的虛網(wǎng)鏈路映射至當(dāng)前物理網(wǎng)路徑子集中的最短路徑,將當(dāng)前虛網(wǎng)鏈路隊列中排在首位的虛網(wǎng)鏈路移出虛網(wǎng)鏈路隊列,執(zhí)行步驟 C11。10
權(quán)利要求
1.一種多拓?fù)涮摂M網(wǎng)絡(luò)映射方法,在一個時間窗內(nèi)進(jìn)行一次虛擬網(wǎng)絡(luò)映射的步驟包括A.釋放前一個時間窗內(nèi)離開的虛網(wǎng)請求占用的底層物理網(wǎng)資源,離開的虛網(wǎng)請求包括完成服務(wù)的請求和被主動拒絕的請求;虛網(wǎng)請求包含虛網(wǎng)節(jié)點請求和虛網(wǎng)鏈路請求兩部分;B.統(tǒng)計本時間窗內(nèi)到達(dá)的虛網(wǎng)請求,到達(dá)的虛網(wǎng)請求包括新到達(dá)的請求和重新排隊的請求;C.將步驟B中統(tǒng)計的到達(dá)的虛網(wǎng)請求按照其收入(Revenue)從大到小進(jìn)行排序,然后根據(jù)虛網(wǎng)請求者使用的變量TOPO值,對虛網(wǎng)請求的拓?fù)漕愋瓦M(jìn)行識別,然后分別使用相應(yīng)的隨機(jī)型,星型,環(huán)形,樹型拓?fù)溆成渌惴▽⒌竭_(dá)的虛網(wǎng)請求按順序映射至底層物理網(wǎng)絡(luò), 若其中任意一個到達(dá)的虛網(wǎng)請求映射成功,即虛網(wǎng)節(jié)點和虛網(wǎng)鏈路同時映射成功,則更新底層物理網(wǎng)絡(luò)的狀態(tài);若映射失敗,則將該虛網(wǎng)請求送至等待隊列,等待下個時間窗或直接拒絕。
2.如權(quán)利要求1所述的方法,上述步驟C包括Cl)首先進(jìn)行虛網(wǎng)請求節(jié)點映射,將虛網(wǎng)請求按照其收入從大到小進(jìn)行排序,形成請求隊列(Qrequest);C2)判斷當(dāng)前請求隊列中是否存在虛網(wǎng)請求,如果是,執(zhí)行步驟C3,如果否,執(zhí)行步驟Dl ;C3)選擇當(dāng)前請求隊列中排在首位的虛網(wǎng)請求,根據(jù)TOPO的取值0、1、2、3,分別執(zhí)行下列C3. 1、C3. 2、C3. 3、C3. 4子步驟,TOPO取除0、1、2、3的其他值,則使用缺省值TOPO = 0, 并執(zhí)行步驟C3. 1 ;C3. DTOPO = 0,將該虛網(wǎng)請求內(nèi)的虛網(wǎng)節(jié)點(Vnode)按照其剩余資源(Available Resource, AR)從大到小排序,形成虛網(wǎng)節(jié)點隊列(Qv mde);C3.2)T0P0= 1,將該虛網(wǎng)請求內(nèi)的虛網(wǎng)節(jié)點(Vn。J按照中心節(jié)點排首位、其余節(jié)點按照剩余資源(Available Resource, AR)從大到小排序,形成虛網(wǎng)節(jié)點隊列(Qv mde);C3. 3) TOPO = 2,將該虛網(wǎng)請求內(nèi)的虛網(wǎng)節(jié)點(Vn。de)按照剩余資源(Available Resource, AR)最大節(jié)點排首位,其余節(jié)點按照環(huán)型連接順序排序,形成虛網(wǎng)節(jié)點隊列(Qvnode) C3. 4) TOPO = 3,將該虛網(wǎng)請求內(nèi)的虛網(wǎng)節(jié)點(Vn。de)按照上層節(jié)點優(yōu)先、同層節(jié)點按照父節(jié)點順序、同一父節(jié)點按照剩余資源(Available Resource,AR)從大到小排序,形成虛網(wǎng)節(jié)點隊列(Qv—n。<J ;C4)判斷當(dāng)前虛網(wǎng)節(jié)點隊列中是否存在虛網(wǎng)節(jié)點,如果是,執(zhí)行步驟C5,如果否,則將當(dāng)前請求隊列中排在首位的虛網(wǎng)請求移出請求對列,執(zhí)行步驟C2 ;C5)選擇當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點,在底層物理網(wǎng)中選擇物理網(wǎng)節(jié)點 (Sn。J,選擇的物理網(wǎng)節(jié)點的CPU資源不小于當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點CPU 資源;并將滿足CPU條件的物理網(wǎng)節(jié)點組成物理網(wǎng)節(jié)點子集(Ss nmJC6)判斷物理網(wǎng)節(jié)點子集中是否存在物理網(wǎng)節(jié)點,如果是,執(zhí)行步驟C7,如果否,則當(dāng)前虛網(wǎng)請求隊列中排在首位虛網(wǎng)請求映射失敗,將該請求移出虛網(wǎng)請求隊列,并送至下個時間窗的等待隊列或拒絕請求,執(zhí)行步驟C2 ;C7)根據(jù)TOPO的取值0、1、2、3,分別執(zhí)行C7. 1、C7. 2、C7. 3、C7. 4子步驟,TOPO取除0、 1、2、3的其他值,則使用缺省值TOPO = 0,并執(zhí)行步驟C7. 1 ;C7. DTOPO = 0,選出當(dāng)前物理網(wǎng)節(jié)點子集中隨機(jī)型加權(quán)剩余資源(General Weighted Available Resource, GWAR)最大的物理網(wǎng)節(jié)點,并將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點映射至該物理網(wǎng)節(jié)點,將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點移出虛網(wǎng)節(jié)點隊列,執(zhí)行步驟C4;C7. 2) TOPO = 1,選出當(dāng)前物理網(wǎng)節(jié)點子集中星型加權(quán)剩余資源(Mar Weighted Available Resource, SWAR)最大的物理網(wǎng)節(jié)點,并將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點映射至該物理網(wǎng)節(jié)點,將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點移出虛網(wǎng)節(jié)點隊列,執(zhí)行步驟C4;C7. 3)T0P0 = 2,選出當(dāng)前物理網(wǎng)節(jié)點子集中環(huán)型加權(quán)剩余資源(Ring Weighted Available Resource, RWAR)最大的物理網(wǎng)節(jié)點,并將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點映射至該物理網(wǎng)節(jié)點,將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點移出虛網(wǎng)節(jié)點隊列,執(zhí)行步驟C4;C7.4)T0P0 = 3,選出當(dāng)前物理網(wǎng)節(jié)點子集中樹型加權(quán)剩余資源(Tree Weighted Available Resource, TWAR)最大的物理網(wǎng)節(jié)點,并將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點映射至該物理網(wǎng)節(jié)點,將當(dāng)前虛網(wǎng)節(jié)點隊列中排在首位的虛網(wǎng)節(jié)點移出虛網(wǎng)節(jié)點隊列,執(zhí)行步驟C4。C8)開始進(jìn)行鏈路映射,將節(jié)點映射成功的虛網(wǎng)請求按收入從大到小進(jìn)行排序,形成請求隊列(Qrequest)。C9)判斷當(dāng)前請求隊列中是否存在虛網(wǎng)請求,如果是,執(zhí)行步驟C10,如果否,當(dāng)前時間窗的映射算法結(jié)束;C10)選擇當(dāng)前請求隊列中排在首位的虛網(wǎng)請求,并將該虛網(wǎng)請求內(nèi)的虛網(wǎng)鏈路(Vlink) 按照其帶寬(BW)從大到小排序,形成虛網(wǎng)鏈路隊列(Qv link);Cll)判斷當(dāng)前虛網(wǎng)鏈路隊列中是否存在虛網(wǎng)鏈路,如果是,執(zhí)行步驟C12,如果否,則將當(dāng)前請求隊列中排在首位的虛網(wǎng)請求移出請求隊列,執(zhí)行步驟C9 ;C12)選擇當(dāng)前虛網(wǎng)鏈路隊列中排在首位的虛網(wǎng)鏈路,使用K最短路徑(K-Shortest) 算法依次尋找第1至K條最短路徑,這些路徑由一條或多條底層物理網(wǎng)鏈路(Slink)組成, K為大于1的整數(shù),僅保留這K條路徑這樣的路徑組成路徑的所有物理網(wǎng)鏈路的最低帶寬滿足當(dāng)前虛網(wǎng)鏈路隊列中排在首位的虛網(wǎng)鏈路帶寬;保留的路徑形成物理網(wǎng)路徑子集(Sspath);C13)判斷當(dāng)前物理網(wǎng)路徑子集中是否存在物理網(wǎng)路徑,如果是,執(zhí)行步驟C14;如果否,則當(dāng)前虛網(wǎng)請求隊列中排在首位虛網(wǎng)請求映射失敗,將該請求移出虛網(wǎng)請求隊列,并送至下個時間窗的等待隊列或拒絕請求,執(zhí)行步驟C9 ;C14)將當(dāng)前虛網(wǎng)鏈路隊列中排在首位的虛網(wǎng)鏈路映射至當(dāng)前物理網(wǎng)路徑子集中的最短路徑,將當(dāng)前虛網(wǎng)鏈路隊列中排在首位的虛網(wǎng)鏈路移出虛網(wǎng)鏈路隊列,執(zhí)行步驟C11。
3.如權(quán)利要求2所述的方法,其中收入是指虛網(wǎng)映射成功獲得的利潤,根據(jù)映射成功的虛網(wǎng)帶寬和CPU定義Revenue = α Ε Σ BWe+ β Ε Σ CPUe其中,BWk是映射成功的虛網(wǎng)帶寬,CPUe是映射成功的虛網(wǎng)節(jié)點CPU資源,α κ和β κ是用于調(diào)節(jié)帶寬和CPU的權(quán)重系數(shù),下標(biāo)R指Revenue (收入)。
4.如權(quán)利要求2所述的方法,其中AR是針對某底層物理網(wǎng)節(jié)點或某虛網(wǎng)請求節(jié)點的剩余資源,根據(jù)該底層物理網(wǎng)節(jié)點或虛網(wǎng)請求節(jié)點的剩余CPU資源和與其連接的剩余鏈路資源定義AR = CPUa Σ BWa其中,CPUa是底層物理網(wǎng)節(jié)點或虛網(wǎng)請求節(jié)點的剩余CPU資源,BWa是與該底層物理網(wǎng)節(jié)點或虛網(wǎng)請求節(jié)點連接的底層鏈路剩余帶寬資源,下標(biāo)A指AR(Available Resource,剩余資源)。
5.如權(quán)利要求2所述的方法,其中,所述剩余資源包括隨機(jī)型加權(quán)剩余資源(General Weighted Available Resource, GWAR)、星型加權(quán)剩余資源(Star Weighted Available Resource, SWAR)、環(huán)型加權(quán)剩余資源(Ring Weighted Available Resource, RWAR)、樹型加權(quán)剩余資源(Tree Weighted Available Resource, TffAR)GffAR = Corrn-general · CPUa Σ BWaSffAR = Corrn star · CPUa Σ BWaRffAR = Corrnjing · CPUa Σ BWaTffAR = Corrn-tree · CPUa Σ BWa其中,Corr是針對某底層物理網(wǎng)節(jié)點Sn。de的相關(guān)系數(shù),隨著Corr增加,拓?fù)湫畔⒌淖饔玫玫皆鰪?qiáng),應(yīng)設(shè)置為Corr > 1。指數(shù)!^general表示當(dāng)前虛網(wǎng)請求中已經(jīng)映射成功并且映射的象節(jié)點與Sntxte有直接連接的虛擬網(wǎng)節(jié)點個數(shù),n_general的大小表征了 Sn。de與之前已經(jīng)映射成功的所有底層物理網(wǎng)絡(luò)節(jié)點的距離。指數(shù)n_star表示當(dāng)前虛網(wǎng)請求的中心節(jié)點映射的象節(jié)點是否與Sn。de有直接連接,n_star = O或1,表征了 Sn。de與中心節(jié)點的距離。 指數(shù)n_ring表示當(dāng)前虛網(wǎng)請求的環(huán)結(jié)構(gòu)中上一個映射成功的虛節(jié)點的象節(jié)點是否與Sntxte 有直接連接,n_ring = O或1,表征了 Sn。de與環(huán)結(jié)構(gòu)中上一個虛節(jié)點的距離。指數(shù)n_tree 表示當(dāng)前虛網(wǎng)請求的樹結(jié)構(gòu)中父節(jié)點的象節(jié)點是否與Sn。de有直接連接,n_tree = O或1, 表征了 Sn。de與樹結(jié)構(gòu)中父節(jié)點的距離。
全文摘要
本發(fā)明提供了一種多拓?fù)涮摂M網(wǎng)絡(luò)映射方法。該方法包括四種子算法,這四種子算法分別針對隨機(jī)型(缺省)、星型、環(huán)型、樹型拓?fù)溥M(jìn)行了優(yōu)化。當(dāng)虛網(wǎng)請求到達(dá)時,系統(tǒng)可以通過變量TOPO的取值識別該請求的拓?fù)?,并調(diào)用相應(yīng)的子算法。由于子算法充分利用了相應(yīng)的拓?fù)浣Y(jié)構(gòu)特點,因此該多拓?fù)溆成浞椒ù蠓嵘说讓游锢砭W(wǎng)絡(luò)資源的使用效率,增加了映射的收入支出比。同時,新的拓?fù)渥铀惴ㄒ部梢园凑疹愃颇J郊尤朐摱嗤負(fù)溆成浞椒ā1景l(fā)明提供的方法適用于實驗網(wǎng)絡(luò)、運(yùn)營商網(wǎng)絡(luò)等已經(jīng)或?qū)⒁褂镁W(wǎng)絡(luò)虛擬化技術(shù)進(jìn)行網(wǎng)絡(luò)分離、資源管理調(diào)度或提供定制服務(wù)的網(wǎng)絡(luò),該方法具有鏈路映射復(fù)雜度低、虛網(wǎng)請求映射成功率高、可擴(kuò)展性強(qiáng)等特點。
文檔編號H04L12/24GK102546232SQ20111034224
公開日2012年7月4日 申請日期2011年11月3日 優(yōu)先權(quán)日2011年11月3日
發(fā)明者劉江, 劉韻潔, 王健, 陳建亞, 黃韜 申請人:北京郵電大學(xué)