发明名称 一种跨数据中心的虚拟网络映射方法
摘要 本发明跨数据中心的虚拟网络映射方法,虚拟网络在保证生存能力需求和可靠性条件下,先通过虚拟节点分组算法VNGP将虚拟网络中的虚拟节点进行分组,并基于当前分组寻找不同分组间的所有节点对集合,确定出最终分组,再通过GVNM子算法将分组后的虚拟网络映射到底层数据中心网络上。在保证生存能力需求下将虚拟节点映射到同一数据中心,从而节约了通信资源,还采用数据中心内部的可靠性增强方法,从而保证了虚拟网络的可靠性,同时具有高效性。
申请公布号 CN104038400B 申请公布日期 2017.04.05
申请号 CN201310576720.8 申请日期 2013.11.18
申请人 电子科技大学 发明人 孙罡;廖丹;肖克祥;狄浩;虞红芳;孙健
分类号 H04L12/46(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/46(2006.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种跨数据中心的虚拟网络映射方法,其特征在于,包括以下步骤:(1)、确定虚拟网络的生存能力需求s<sub>V</sub>:虚拟节点n<sub>V</sub>映射在物理节点n<sub>S</sub>上表示为:n<sub>V</sub>→n<sub>S</sub>:M(n<sub>V</sub>)=n<sub>S</sub>,n<sub>V</sub>∈V<sub>V</sub>,n<sub>S</sub>∈V<sub>S</sub>当M(n<sub>V</sub>)=n<sub>S</sub>时x(n<sub>V</sub>,n<sub>S</sub>)为1,否则x(n<sub>V</sub>,n<sub>S</sub>)为0,则生存能力约束为:<img file="FDA0001205549130000011.GIF" wi="854" he="116" />其中,V<sub>V</sub>为虚拟节点集合,V<sub>S</sub>为物理节点集合;(2)、确定虚拟网络中虚拟节点的最终分组:(2、1)、通过虚拟节点分组算法VNGP(Virtual Node Group Partition)将虚拟网络中的虚拟节点进行分组:将虚拟节点集合V<sub>V</sub>放入到N(s<sub>V</sub>)个分组中,N(s<sub>V</sub>)为V<sub>V</sub>的分组数目,即V<sub>V</sub>=G<sub>1</sub>∪G<sub>2</sub>∪…∪G<sub>i</sub>,第i个分组G<sub>i</sub>内的虚拟节点数目|G<sub>i</sub>|≤[(1‑s<sub>V</sub>)*|V<sub>V</sub>|],分组数目N(s<sub>V</sub>)≤|V<sub>V</sub>|,其中,i=1,2,…N(s<sub>V</sub>),[]表示向下取整;(2、2)、在虚拟节点集合V<sub>V</sub>中增加辅助节点,使N(s<sub>V</sub>)个分组中都有[(1‑s<sub>V</sub>)*|V<sub>V</sub>|]个节点;(2、3)、基于当前分组G<sub>i</sub>寻找不同分组间的所有节点对集合U:定义所有节点对之间的权值为y(m,n)或y(n,m),<img file="FDA0001205549130000012.GIF" wi="265" he="71" />m≠n,y(m,n)的表达式为:<img file="FDA0001205549130000013.GIF" wi="974" he="191" />其中,l<sub>V</sub>表示虚拟链路,B(l<sub>V</sub>)表示虚拟链路l<sub>V</sub>的带宽需求;则集合<img file="FDA0001205549130000014.GIF" wi="1565" he="108" />那么在已知各个分组大小的条件下,V<sub>V</sub>中的虚拟节点以最小化组间虚拟链路的总需求带宽为:<img file="FDA0001205549130000015.GIF" wi="697" he="130" />其中,由于每个分组的大小确定为[(1‑s<sub>V</sub>)*|V<sub>V</sub>|],因此可以得到集合U的 大小为:<img file="FDA0001205549130000021.GIF" wi="973" he="127" />(2、4)、在确定每个分组大小和分组数目条件下,通过交换不同分组内的虚拟节点和辅助节点来寻找最终分组:将分组G<sub>i</sub>中的第a,a≤|G<sub>i</sub>|个虚拟节点nV<sup>a</sup>和第j个分组G<sub>j</sub>中的第b,b≤|G<sub>j</sub>|个虚拟节点n<sub>V</sub><sup>b</sup>交换,且n<sub>V</sub><sup>a</sup>和n<sub>V</sub><sup>b</sup>的交换不影响其它分组相关的权值y(m,n),最小化组间虚拟链路的总需求带宽所减小的差值Δ为:<img file="FDA0001205549130000022.GIF" wi="2115" he="132" />定义不同分组的节点对之间的资源需求w(n<sub>V</sub><sup>a</sup>,G<sub>i</sub>,n<sub>V</sub><sup>b</sup>,G<sub>j</sub>)的计算公式为:<img file="FDA0001205549130000023.GIF" wi="1446" he="142" />其中,n<sub>V</sub><sup>a</sup>,n<sub>V</sub><sup>b</sup>∈V<sub>V</sub>,i,j∈[1,N(s<sub>V</sub>)],i≠j;逐一从U中选择一对(m,n),m∈G<sub>i</sub>,n∈G<sub>j</sub>代入w(n<sub>V</sub><sup>a</sup>,Gi,n<sub>V</sub><sup>b</sup>,G<sub>j</sub>)计算w(m,G<sub>i</sub>,n,G<sub>j</sub>)和w(n,G<sub>i</sub>,m,G<sub>j</sub>),ε为准确度,如果w(m,G<sub>i</sub>,n,G<sub>j</sub>)<w(m,G<sub>i</sub>,n,G<sub>j</sub>)/(1+ε),将n转移至G<sub>i</sub>并将m转移至G<sub>j</sub>,同时更新U后转至步骤(2、3),如果(m,n)不是遍历的最后一个节点对,继续步骤(2、4)否则,算法结束;(2、5)、删除虚拟节点集合V<sub>V</sub>中增加的辅助节点;(3)、虚拟网络在满足生存能力需求条件下,通过GVNM(Grouped Virtual Network Mapping)子算法将分组后的虚拟网络映射到底层数据中心网络上:(3、1)、定义集合M,且初始化<img file="FDA0001205549130000024.GIF" wi="177" he="47" /><img file="FDA0001205549130000025.GIF" wi="56" he="52" />为空集,用于记录已映射的虚拟节点;(3、2)、若M不为空,选择与M中虚拟节点间的虚拟链路总需求带宽最大 的未映射分组G<sub>i</sub>,进入步骤(3、3),若M为空,则选取按资源需求降序排列的第一个分组G<sub>i</sub>,直接对G<sub>i</sub>进行映射;(3、3)、遍历未映射其它分组的物理节点,从中寻找令G<sub>i</sub>中的虚拟节点和相关虚拟链路<img file="FDA0001205549130000031.GIF" wi="666" he="79" />的映射成本最小的可映射物理节点n<sub>s</sub>,其中,E<sub>V</sub>为虚拟链路集合,如果找到物理节点n<sub>s</sub>,则映射G<sub>i</sub>和相关虚拟链路,并将G<sub>i</sub>中的虚拟节点放入集合M中,如果没有找到可映射的物理节点n<sub>s</sub>,此次映射失败;(3、4)、逐一映射完所有分组,完成映射,否则返回步骤(3、2);(4)、对跨数据中心虚拟网络做增强性可靠设计:定义虚拟网络所需的可靠性为r<sub>V</sub>,物理节点n<sub>s</sub>∈V<sub>S</sub>上数据中心内的服务器失效概率为p(n<sub>s</sub>),分组G<sub>i</sub>的可靠性为r(G<sub>i</sub>),当分组G<sub>i</sub>内没有备份虚拟节点且映射在物理节点n<sub>s</sub>上时,r(G<sub>i</sub>)为(1‑p(n<sub>S</sub>))∧|G<sub>i</sub>|,虚拟网络的实际可靠性为<img file="FDA0001205549130000032.GIF" wi="451" he="98" />且<img file="FDA0001205549130000033.GIF" wi="547" he="93" />当每个分组G<sub>i</sub>的可靠性r(G<sub>i</sub>)都不小于r<sub>V</sub>^1/N(s<sub>V</sub>))时,虚拟网络所需的可靠性为r<sub>V</sub>可以得到保证;其中,(1‑p(n<sub>S</sub>))∧|G<sub>i</sub>|表示(1‑p(n<sub>S</sub>))的|G<sub>i</sub>|次方;在本地的数据中心内,定义分组G<sub>i</sub>的本地备份虚拟节点集合为B<sub>i</sub>,映射在物理节点n<sub>s</sub>上的分组G<sub>i</sub>所需的本地备份虚拟节点数目|B<sub>i</sub>|的计算公式为:<img file="FDA0001205549130000034.GIF" wi="1540" he="158" />每个本地备份虚拟节点所需的计算容量为组内工作虚拟节点所需计算容量的最大值,定义为:<img file="FDA0001205549130000035.GIF" wi="837" he="87" />
地址 611731 四川省成都市西源大道2006号