兩個(gè)變量進(jìn)行說明:
[0094] 為二進(jìn)制變量,當(dāng)有流1ij e 路由經(jīng)過物理鏈路luve Es時(shí),該變量定義為1; 相反,定義為0。
[0095] 為二進(jìn)制變量,當(dāng)虛擬節(jié)點(diǎn)i erf映射到物理節(jié)點(diǎn)ueNs時(shí),該變量定義為1;相 反,定義為0。
[0096] 整數(shù)線性規(guī)劃問題的目標(biāo)函數(shù)為:
[0098]對該目標(biāo)函數(shù)的限制條件如下:
[0099] 1、容量限制:
[0110] 對上述公式的相關(guān)說明如下:
[0111] 整數(shù)線性規(guī)劃(ILP)的目標(biāo)函數(shù)包括兩部分:第一求和部分和第二求和部分分別 指代的是鏈路映射消耗和流條目映射消耗部分:
用來計(jì)算虛擬鏈路 I1啲映射跳數(shù)。權(quán)重系數(shù)CW和可以用來調(diào)節(jié)物理鏈路luv的帶寬與流條目負(fù)載;
[0112] 公式(1)為虛擬鏈路0對帶寬、流條目的限制,公式(2)為虛擬節(jié)點(diǎn)i對CPU、流條目 的限制;
[0113] 公式(3)為虛擬節(jié)點(diǎn)i要求的映射地理范圍,除此以外還需對其最大傳輸時(shí)延進(jìn)行 限制,不能超過其門限值D;
[0114] 公式(4)對流守恒進(jìn)行了確保,公式(5)確保了虛擬鏈路映射不能穿過控制器節(jié) 占 .
[0115] 公式(6)表示一個(gè)虛擬節(jié)點(diǎn)只能映射到一個(gè)物理節(jié)點(diǎn)上,公式(7)確保了這兩個(gè)變 量是二進(jìn)制變量。
[0116] 基于上述所介紹原理性內(nèi)容,下面介紹本發(fā)明實(shí)施例所提供的一種虛擬網(wǎng)絡(luò)映射 方法。
[0117] 圖1示出了本發(fā)明實(shí)施例所提供的一種虛擬網(wǎng)絡(luò)映射方法的流程圖。
[0118] 如圖1所示,本發(fā)明實(shí)施例所提供的一種虛擬網(wǎng)絡(luò)映射方法可以包括如下步驟:
[0119] S101,當(dāng)一個(gè)虛擬網(wǎng)絡(luò)請求到達(dá)時(shí),根據(jù)所述虛擬網(wǎng)絡(luò)中每個(gè)虛擬節(jié)點(diǎn)ην所對應(yīng) 的候選物理節(jié)點(diǎn)范圍,聚合每個(gè)虛擬節(jié)點(diǎn)所對應(yīng)的所有候選物理節(jié)點(diǎn)集合ιΛ;
[0120] 在實(shí)際應(yīng)用中,由于在虛擬網(wǎng)絡(luò)映射過程中,每一個(gè)虛擬節(jié)點(diǎn)都會(huì)有其候選物理 節(jié)點(diǎn)范圍,因此本發(fā)明實(shí)施例利用這個(gè)候選物理節(jié)點(diǎn)范圍對復(fù)雜的底層物理網(wǎng)絡(luò)進(jìn)行簡 化。由于每個(gè)虛擬節(jié)點(diǎn)n v e Νν都有一個(gè)候選物理節(jié)點(diǎn)范圍R,這個(gè)范圍代表虛擬節(jié)點(diǎn)的地理 位置請求范圍,而虛擬節(jié)點(diǎn)必須映射在此范圍中的物理節(jié)點(diǎn)上,這個(gè)候選物理節(jié)點(diǎn)集合用 來表示。因此,本發(fā)明實(shí)施例用一個(gè)新的節(jié)點(diǎn)n#來代表這個(gè)聚合的物理節(jié)點(diǎn)集合 ,以此來簡化物理網(wǎng)絡(luò)。
[0121]舉例而言,如圖2(a)所示的虛擬網(wǎng)絡(luò)請求示意圖中含有三個(gè)虛擬節(jié)點(diǎn)a、b、c,三條 虛擬鏈路1,11^、1'其中,虛擬節(jié)點(diǎn)3的〇?1]請求量((3(1/))為9、流條目請求量(&(,))為 20,虛擬節(jié)點(diǎn)b的CPU請求量(c (nv))為8、流條目請求量(f e (nv))為40,虛擬節(jié)點(diǎn)c的CPU請求 量(c(nv))為5、流條目請求量(fe(n v))為60,虛擬鏈路lab的帶寬請求量(bw(ev))為50,虛擬 鏈路l be的帶寬請求量(bw(ev))為30,虛擬鏈路lae的帶寬請求量(bw(e v))為40。對每一個(gè)虛 擬節(jié)點(diǎn)來說,其候選物理節(jié)點(diǎn)為圖2 (b)中對應(yīng)的虛線框中的物理節(jié)點(diǎn),其中虛擬節(jié)點(diǎn)a的候 選物理節(jié)點(diǎn)集合為#= {A,G, J},虛擬節(jié)點(diǎn)b的候選物理節(jié)點(diǎn)集合為1/= {E,F(xiàn),H},虛擬節(jié)點(diǎn)c 的候選物理節(jié)點(diǎn)集合為(^= {B,C}。
[0122] S102,根據(jù)聚合后的每個(gè)虛擬節(jié)點(diǎn)所對應(yīng)的所有候選物理節(jié)點(diǎn)集合nv%將底層物 理網(wǎng)絡(luò)的候選集合節(jié)點(diǎn)ιΛ按照與底層物理網(wǎng)絡(luò)相同的連接方式進(jìn)行連接,重構(gòu)底層物理網(wǎng) 絡(luò);
[0123] 舉例而言,如圖2(c)所示的聚合底層物理網(wǎng)絡(luò)示意圖中,根據(jù)聚合后的每個(gè)虛擬 節(jié)點(diǎn)所對應(yīng)的所有候選物理節(jié)點(diǎn)集合f = {A,G,J}、P= {E,F(xiàn),H}= {B,C},將底層物理網(wǎng) 絡(luò)中的候選集合節(jié)點(diǎn)按照與底層物理網(wǎng)絡(luò)相同的連接方式進(jìn)行連接,構(gòu)成一個(gè)簡單的底層 物理網(wǎng)絡(luò)如圖2(c)所示。
[0124] S103,確定所述重構(gòu)后的底層物理網(wǎng)絡(luò)中的可用物理鏈路,將每條虛擬鏈路1"所 對應(yīng)的可用物理鏈路組成可用物理鏈路集合 ;
[0125] 具體的,所述確定所述重構(gòu)后的底層物理網(wǎng)絡(luò)中的可用物理鏈路,包括:
[0126] 依次判斷重構(gòu)后的底層物理網(wǎng)絡(luò)中的每一條物理鏈路的可用帶寬是否滿足所述 虛擬網(wǎng)絡(luò)請求、所述每一條物理鏈路的兩個(gè)物理節(jié)點(diǎn)的可用CPU和可用流條目是否滿足所 述虛擬網(wǎng)絡(luò)請求;
[0127] 將上述條件均滿足所述虛擬網(wǎng)絡(luò)請求的物理鏈路確定為可用物理鏈路。
[0128] 舉例而言,如圖2(b)所示的底層物理網(wǎng)絡(luò)示意圖中,各個(gè)物理節(jié)點(diǎn)的可用CPU (C(ns))、可用流條目(:F(ns))、部分物理鏈路的可用帶寬(S(es))如下表所示:
[0129]
[0130] 在圖2(c)所示的聚合底層物理網(wǎng)絡(luò)示意圖中,確定重構(gòu)后的底層物理網(wǎng)絡(luò)中的可 用物理鏈路,具體如下:1號(hào)物理鏈路為1AF,1 AF的可用帶寬為90,滿足虛擬鏈路lab 的帶寬要求;物理節(jié)點(diǎn)A的可用CPU〇?(ns))為20、可用流條目為100,滿足虛擬節(jié) 點(diǎn)a的請求量;物理節(jié)點(diǎn)F的可用CPL(e(rr s))為25、可用流條目CFC^))為110,滿足虛擬節(jié) 點(diǎn)b的請求量;因此1號(hào)物理鏈路的鏈路可用性滿足虛擬網(wǎng)絡(luò)請求,將1號(hào)物理鏈路1 AF加入到 虛擬鏈路lab對應(yīng)的可用物理鏈路集合。同樣的確定重構(gòu)后的底層物理網(wǎng)絡(luò)中的其 他物理鏈路的鏈路可用性。盡管4號(hào)鏈路1 BG是一條f到f的直連鏈路,然而物理節(jié)點(diǎn)J的可 用CPU(C(ns))不能滿足虛擬節(jié)點(diǎn)a的請求量,直連鏈路2號(hào)物理鏈路1 FC不能滿足虛擬鏈路 lab的帶寬需求,直連鏈路6號(hào)物理鏈路1HC不能滿足虛擬鏈路lbc:的帶寬需求,因此4號(hào)鏈路、2 號(hào)鏈路、6號(hào)鏈路被刪掉不予考慮。雖然物理節(jié)點(diǎn)D、I不是虛擬節(jié)點(diǎn)的備選物理范圍內(nèi)的節(jié) 點(diǎn),但是虛擬鏈路可以穿過中間物理節(jié)點(diǎn)D、I實(shí)現(xiàn)鏈路映射。7號(hào)鏈路1 CI和8號(hào)鏈路1HI穿過 中間物理節(jié)點(diǎn)I實(shí)現(xiàn)鏈路映射,然而中間物理節(jié)點(diǎn)I的可用流條目(.ΤΟ5))為50,不滿足虛 擬節(jié)點(diǎn)C的請求量,因此7號(hào)鏈路和8號(hào)鏈路被刪掉不考慮。9號(hào)鏈路l?滿足虛擬鏈路lbc;的請 求,10號(hào)鏈路Ihd和11號(hào)鏈路1ED也都滿足ibe的請求,而且中間物理節(jié)點(diǎn)D的可用cpu(e(n 5)) 為35、可用流條目(:F(r!s);)為70,滿足虛擬請求。因此根據(jù)確定重構(gòu)后的底層物理網(wǎng)絡(luò)中可 用物理網(wǎng)絡(luò)的結(jié)果,將每條虛擬鏈路所對應(yīng)的可用物理鏈路組成可用物理鏈路集合,得到 簡化后的底層物理網(wǎng)絡(luò)如圖2(d)所示,其中虛擬鏈路l ab所對應(yīng)的鏈路可用性滿足虛擬網(wǎng)絡(luò) 請求的物理鏈路組成可用物理鏈路集合虛擬鏈路lbe所對應(yīng)的鏈路可用性滿 足虛擬網(wǎng)絡(luò)請求的物理鏈路組成可用物理鏈路集合
,虛擬鏈路lae 所對應(yīng)的鏈路可用性滿足虛擬網(wǎng)絡(luò)請求的物理鏈路組成可用物理鏈路集合
[0131] S104,計(jì)算所述每個(gè)可用物理鏈路集合'中每一條物理鏈路的鏈路可用度以及 所述虛擬網(wǎng)絡(luò)中每一條虛擬鏈路的鏈路可用度,并分別將其按照鏈路可用度進(jìn)行降序排 序;
[0132] 具體的,所述計(jì)算所述每個(gè)可用物理鏈路集合^^^中每一條物理鏈路的鏈路可用 度以及所述虛擬網(wǎng)絡(luò)中每一條虛擬鏈路的鏈路可用度所利用的公式包括:
[0133] LC( 1) = (l_a)*ln(bw( lin) )+a*Number(l0Ut)
[0134] 其中a為根據(jù)虛擬網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)模所確定的權(quán)重值,bw(lin)表示該鏈路的可用帶 寬,Numberaut)表示該鏈路的兩個(gè)節(jié)點(diǎn)分別與其他節(jié)點(diǎn)連接的鏈路數(shù)目之和,對于物理鏈 路而言,所述其他節(jié)點(diǎn)為該物理節(jié)點(diǎn)所對應(yīng)的候選物理節(jié)點(diǎn)范圍以外的物理節(jié)點(diǎn)。如圖2 (a)所示,虛擬鏈路l ab的^^^打(1AB)為2(包括虛擬鏈路lbc;,1%)。如圖2 (b)所示,物理鏈路 Ιαβ的Number(lAB)為2(包括物理鏈路1af,1bj);鏈路Igc的Number(lGc)為4(包括物理鏈路Igf, Ich,1α,1?)。將鏈路可用度用上式來度量,這種度量方案可以幫助了解拓?fù)鋵︽溌匪斐?的影響。
[0135] 舉例而言,如圖2 (a)所示的虛擬網(wǎng)絡(luò)示意圖中,虛擬鏈路的1ab的鏈路可用度LC (1力)=0.5*111(50)+0.5*2 = 2.96,虛擬鏈路的1|"的鏈路可用度^:(1"=0.5*111(30)+0.5* 2 = 2.70,虛擬鏈路的Γ。的鏈路可用度LC0-。)= 0.5*In(40) +0.5*2 = 2.84。按照鏈路可用 度對這3條虛擬鏈路進(jìn)行降序排序后的結(jié)果為lab、l'lbc;。
[0136] 如圖2(d)所示的簡化底層物理網(wǎng)絡(luò)示意圖中,每條物理鏈路的鏈路可用度計(jì)算如 下:LC(lAF)=0.5*ln(90)+0.5*2 = 3.250,
[0137] LC(lAB)=0.5*ln(80)+0· 5*2 = 3.191,
[0138] LC(lGc)=0.5*ln(60)+0.5*4 = 4.047,
[0139] LC(lcD)=0.5*ln( 100)+0.5*5 = 4.803,
[0140] LC(lHD)=0.5*ln(70)+0.5*4 = 4.124,
[0141] LC(lDE)=0.5*ln(80)+0· 5*2 = 3.191,
[0142] 其中根據(jù)虛擬網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)模所確定的權(quán)重值a = 0.5。
[0143] 在計(jì)算出所述6條物理鏈路的鏈路可用度后,按照鏈路可用度分別對每個(gè)可用物 理鏈路集合中的物理鏈路進(jìn)行降序排序,其中和的排序結(jié)果為
[0144] S105,根據(jù)每個(gè)排序后的可用物理鏈路集合^*?〃和虛擬鏈路,對所述虛擬網(wǎng)絡(luò)進(jìn) 行映射;
[0145] 具體的,所述根據(jù)每個(gè)排序后的可用物理鏈路集合^-和虛擬鏈路,對所述虛擬 網(wǎng)絡(luò)進(jìn)行映射,包括:
[0146] S401,對鏈路可用度最大的虛擬鏈路1 "進(jìn)行映射,將虛擬鏈路1 "所對應(yīng)的可用物 理鏈路集合:中鏈路可用度最大的物理鏈路luv映射到虛擬鏈路lij,將該物理鏈路luv的 一個(gè)物理節(jié)點(diǎn)nu加入到對應(yīng)的可用物理節(jié)點(diǎn)集合中、另一個(gè)物理節(jié)點(diǎn)nv加入到對應(yīng)的 可用物理節(jié)點(diǎn)集合中;
[0147] S402,分別判斷當(dāng)前的可用物理網(wǎng)絡(luò)節(jié)點(diǎn)集合中是否存在兩個(gè)物理節(jié) 點(diǎn),如果是,進(jìn)入S403;否則,進(jìn)入S405;
[0148] S403,找到所述兩個(gè)物理節(jié)點(diǎn)之間的最短路徑,同時(shí)將新加入的物理節(jié)點(diǎn)nu從可 用物理網(wǎng)絡(luò)節(jié)點(diǎn)集合 Sn;中刪除,并判斷所述最短路徑是否滿足虛擬鏈路請求量,如果是進(jìn) 入S404;否則進(jìn)入S405;
[0149] S404,將虛擬鏈路1"在映射時(shí)穿過所述從可用物理