用于SDT与NFV和SDN相互配合的系统和方法与流程

文档序号:11637159阅读:707来源:国知局
用于SDT与NFV和SDN相互配合的系统和方法与流程

本申请要求获得于2015年2月23日提交的,名称为“用于nfv管理和协调的方法和装置”的62/119,620号美国临时申请,于2015年1月20日提交的,名称为“用于sdt与nfv和sdn相互配合的系统和方法”的62/105,486号美国临时申请,以及于2015年12月11日提交的,名称为“用于sdt与nfv和sdn相互配合的系统和方法”的62/266,412号美国临时申请的权益,其全部内容特此通过引用并入本申请。

本发明涉及用于使软件定义拓扑(sdt)的使用成为可能的系统和方法,并且在特定实施例中涉及用于sdt与网络功能虚拟化(nfv)和软件定义网络(sdn)相互配合的系统和方法。



背景技术:

在常规通信网络中,拓扑由节点的位置和将它们互连的链路来限定。由于节点和功能被虚拟化,并且由于可以在虚拟化节点之间创建逻辑链路,所以曾经由物理资源的布置单独限定的网络拓扑可以由网络管理实体限定。软件定义拓扑(sdt)以及其他技术,例如软件定义网络(sdn)被视为动态创建和管理网络的促成技术。在下一代网络,例如所谓的第五代(5g)无线网络的背景下,可以采用sdt管理实体来生成/确定用于每项服务的网络逻辑拓扑,包括(1)虚拟功能存在点(pop)决策,即虚拟功能的物理位置(网络地址),以及(2)逻辑链路决策,即服务流量源,服务vfpop和服务流量目的地之间的逻辑链路决策以及各自的资源要求。



技术实现要素:

用于软件定义拓扑(sdt)管理与网络功能虚拟化(nfv)和软件定义网络(sdn)的相互配合的实施例方法包括,在sdt管理器处从服务客户接收服务请求,该服务请求包括虚拟服务功能转发图(vsffg);根据所接收的服务请求选择虚拟网络功能(vnf)转发图(fg)模板;根据所述服务请求和所选择的vnffg模板生成虚拟功能(vf)fg;为所述vffg中的vf选择存在点(pop);以及向nfv管理器发送指令以根据所生成的vffg和所确定的pop中的至少一个来实例化所述vf。

实施例软件定义拓扑(sdt)管理器包括处理器和非暂时性计算机可读存储介质,其存储用于由所述处理器执行的程序,所述程序包括用于以下操作的指令:从服务客户接收服务请求,该服务请求包括虚拟服务功能转发图(vsffg);根据所接收的服务请求选择虚拟网络功能(vnf)转发图(fg)模板;根据所述服务请求和所选择的vnffg模板生成虚拟功能(vf)fg;为vffg中的vf选择存在点(pop);以及向nfv管理器发送指令以根据所生成的vffg和所确定的pop中的至少一个来实例化所述vf。

网络控制器的实施例包括软件定义拓扑(sdt)组件,包括处理器和非暂时性计算机可读介质和接口,其中所述sdt组件包括:模板选择器;虚拟功能(vf)转发图(fg)生成器,其根据由所述模板选择器选择的至少一个虚拟网络功能(vnf)转发图(fg)模板,来自客户的服务请求,流量信息,和nfvi信息来生成vffg,所述服务请求包括虚拟服务功能转发图(vsffg);以及存在点(pop)和逻辑链路(ll)生成器,其确定vfpop信息并且根据所述vffg,所述服务请求,所述流量信息和所述nfvi信息来确定服务流量源,服务流量信宿和vnpop之间的ll的ll信息,并且其中所述接口将所述vffg,所述pop信息和所述ll信息中的至少一个提供给nfv管理和组织(mano)组件和软件定义网络(sdn)流量工程(te)组件中的至少一个。

附图说明

为了更完整地理解本发明及其优点,现在参考结合附图的以下描述,其中:

图1示出了软件定义拓扑(sdt)的实施例;

图2示出了欧洲电信标准协会(etsi)网络功能虚拟化(nfv)-管理和组织(mano)内部,特别是作为nfv协调器(nfvo)的一部分的sdt系统的实施例;

图3示出了具有在etsinfv-mano外部的sdt的系统的第一实施例;

图4示出了具有在etsinfv-mano外部的sdt的系统的实施例;

图5示出了具有在etsinfv-mano外部的sdt的系统的第二实施例;

图6示出了具有在etsinfv-mano外部的sdt的系统的第三实施例;

图7示出了sdt内部过程的实施例,特别示出了分布式实现实施例;

图8示出了扩增的转发图(afg),其中每个虚拟功能f用表示为圆节点的pop候选位置进行扩增,特别示出了有序功能链接的示例;

图9示出了单个服务情况的实施例;

图10示出分布式优化的实施例;

图11示出了分布式算法方法的实施例的流程图;

图12a为示出展现符号性标记vf的三种类型功能的图;

图12b为示出三个功能的sfc的实施例的图;

图13为示出实施例中的要求立方体与分配立方体之间的关系的图;

图14a-14c为示出用于sfc的sfc预处理的实施例方法中的步骤的框图;

图15示出了可以安装在主机设备中的用于执行本文所述的方法的实施例处理系统的框图;和

图16示出了适于通过电信网络发送和接收信令的收发器的框图。

具体实施方式

下面详细描述当前优选实施例的结构,制造和使用。然而,应当理解,本发明提供了可以在多种多样的具体上下文中体现的许多可应用的创造性概念。所详述的具体实施例仅仅是说明制造和使用本发明的具体方式,而不限制本发明的范围。

由于sdt功能的部分是由欧洲电信标准协会(etsi)网络功能虚拟化(nfv)所要求的,因此需要限定sdt如何与nfv管理和协调(mano)框架相互配合以增强nfv-mano框架。

实施例系统和方法使得sdt能够与nfv和sdn相互配合。各种实施例包括对sdt/nfv的新输入,四个相互配合选项以及sdt,nfv和sdn组件之间的接口/交互。实施例sdt问题制定和解决方案包括分布式sdt实现。

实施例允许sdt与nfv和sdn架构的互操作性。实施例使分布式sdt实现成为可能。实施例将nfv基础设施(nfvi)(例如,数据中心)资源管理与网络管理分离。实施例降低了管理复杂性,计算复杂性和控制信令开销。实施例使管理灵活性和局部反应/调整成为可能。

在实施例中,一种用于软件定义拓扑(sdt)管理与网络功能虚拟化(nfv)和软件定义网络(sdn)相互配合的方法,包括接收包含虚拟服务功能(vsf)转发图(fg)的服务请求;选择至少一个虚拟网络功能(vnf)fg模板;根据所述服务请求和所选择的至少一个vnffg模板生成vffg;确定vffg中的vf的存在点(pop);以及提供vffg和pop信息以用于vnf实例化和逻辑链路供应。

在一个实施例中,软件定义拓扑(sdt)管理器包括处理器;和非暂时性计算机可读存储介质,其存储用于由所述处理器执行的程序,所述程序包括用于以下操作的指令:接收包含vsffg的服务请求;选择至少一个虚拟网络功能(vnf)转发图(fg)模板;根据所述服务请求和所选择的至少一个vnffg模板生成vffg;确定vffg中的vf的存在点(pop);以及提供vffg和pop信息以用于vnf实例化和逻辑链路供应。

在etsinfv架构中,假设协调器可以访问以下数据存储库:网络服务目录,vnf目录,nfv实例和nfvi资源。网络服务目录是所有机载网络服务的存储库。它包括网络服务描述符(nsd),虚拟链路描述符(vld)和vnf转发图描述符(vnffgd)。vld描述了vnf,物理网络功能(pnf)和端点之间的链路所需的资源要求。vnffgd包含网络转发路径(nfp)元素,其包含连接点的有序列表以及与该列表相关联的规则/策略。

vnf目录是所有机载的vnf包的存储库。它包括软件镜像和vnf描述符(vnfd),vnfd根据vnf的部署和操作行为来描述vnf,并由vnfm用于实例化vnf和vnf的生命周期管理。

nfv实例存储库保存所有vnf实例和网络服务实例的信息;每个vnf实例由vnf记录表示,并且每个ns实例由ns记录表示。

nfvi资源存储库保存关于可用的/预留的/分配的nfvi资源的信息,如由跨越运营商的基础设施域的vim所提取的。它用于资源预留,分配和监测。

在etsinfv框架内,协调器从ns目录中确定fg。fg限定所请求的网络服务的逻辑拓扑。目前,假设vnffg是由服务提供商或其系统集成合作伙伴开发的。服务提供商可以使用典型网络服务的模板来限定定制的网络服务。但是,这是手动完成的。

在sdt方面,vnf与vsf不同,并且etsinfv框架被扩展以处理包括vnf和vsf的通用vf;不用手动地限定网络服务的逻辑拓扑,而是可以从网络服务请求中自动创建逻辑拓扑。这种限定逻辑拓扑的自动的方法被称为软件定义拓扑(sdt)。sdt的作用是确定vffg(其限定功能链接要求),确定转发路径(例如,对于控制平面和数据平面),并且确定vffg(其限定逻辑拓扑)中的每个功能的pop,包括fg中每个功能的实例数。sdt实体还可以被称为拓扑管理器。sdt可以与nfv组合,在这种情况下,sdt也可以是由nfv-mano实例化的虚拟功能。如果sdn也用于分离控制平面和数据平面,则sdn控制器和sdt之间应该有一个限定的接口。因为sdt向协调器提供了ns请求的逻辑拓扑,所以在sdt和协调器之间应该有一个限定的接口。在sdt的决策之后,nfv和sdn用于供应得到的特定于服务的网络拓扑。nfv用于实例化服务功能,而sdn用于供应逻辑连接下层的物理连接。

虚拟功能区分客户特定的服务功能(vsf)和一般网络功能(vnf)。vsf由反映服务业务逻辑的服务客户限定,并且可能为或可能不为网络运营商所知。vnf用于使联网过程能够进行。它们由网络运营商提供并因此对网络运营商可知。

网络系统对包括典型vnf转发图(vnffg)模板的部分网络服务目录进行维护。客户不需要了解或维护它。vnffg可以包含单个vnf。

服务的vffg是vnffg和vsffg的组合。vffg可以与vnffg或vsffg相同。本领域技术人员还将理解,任何fg中的vf可能在没有指定顺序的情况下存在。

图1示出了软件定义拓扑(sdt)的实施例102。sdt102还可以被称为sdt管理器或管理实体。sdt102包括vffg生成组件104和vfpop逻辑链路(ll)生成组件110。组件104包括模板选择组件106和vffg生成器108。模板选择组件106从例如网络运营商接收至少部分ns目录112。在一个实施例中,ns目录112可能是部分的,因为其可能仅包含vnffg,但是可能缺少在一个实施例中由客户提供的vsffg部分。在其他实施例中,ns目录112可能包含vnffg和vsffg。模板选择组件106选择vnffg模板并将其提供给vffg生成器108。vffg生成器108生成vffg。vfpopll生成组件110决定vnf的存在点(pop),和服务流量源,服务流量信宿和vfpop之间的逻辑链路(ll),并输出vfpopll。

在服务请求中,服务客户可以提供部分vffg(例如,vsffg)或完整的vffg。

在服务请求中,服务客户可以提供vsffg,其包含流量源和流量目的地作为特殊vsf。

在服务请求中,服务客户可以提供仅包含流量源和流量目的地的vsffg。

到sdt102的输入包括服务请求,该服务请求包括服务流量描述:流量源分布,流量源移动性,流量特性等,以及服务功能描述:vsffg(或服务功能链),功能特性等。服务功能描述包括无状态功能或有状态功能;存储器,cpu,内存,i/o访问,流量速率的功能开销;和功能实例化约束:例如,pop的最小/最大数量,优选/非优选pop,可选或不可选,对另一vf的实例的依赖性,是否作为单独vf递归和递归的最大/最小数量。

服务请求还包括服务流量质量要求,例如流量qos要求,服务用户qoe要求和服务功能质量要求:有效性,效率等。功能有效性是例如事件检测的概率或误报的概率。功能效率是例如报告-响应延迟。

到sdt102的输入还包括流量信息,包括每个物理链路,每个节点,每个逻辑链路的统计负载,其例如可从数据分析中获得。

到sdt102的输入还包括nfvi信息,例如pop位置,每pop功能可用性,每pop处理负载界限等,以及各设备,bs,路由器和nfvipop之间的统计负载,延迟,容量,以及标称剩余网络资源(物理链路容量,无线电资源等)。

到sdt102的输入还包括触发,其指示例如服务,网络和/或nfvipop信息的改变,人的触发,超时事件或性能触发(服务,sdt,te)。

到sdt102的输入还包括部分网络服务(ns)目录,例如典型的vnffg模板。

sdt102依赖于每vnf策略/约束,每vnf策略/约束中的每一个调节vnf到vsffg中的插入,以产生vffg。策略是预定义的,并且可以按需更新。它们可以存储在ns目录中。

每vnf策略/约束一般被分类为取决于服务类型的约束,连接约束,排序约束,资源/负载感知约束,监测功能特定约束。

取决于服务类型的约束针对特定类型的服务来限制vnf被/不被选择/使用。例如,虚拟mme功能仅可适用于移动服务。

连接性约束限定第一vnf与第二vnf的连接性的逻辑连接性和属性(例如是否是直接连接,协同定位偏好,方向等)。它可以强制在结果vffg中使用/选择两个vnf。例如,当在网络中进行流量工程时,为虚拟mme功能和虚拟te功能限定连接性约束;如果由于服务是移动服务而选择虚拟mme功能,则自动选择虚拟te功能,并且根据该约束在它们之间创建逻辑链路。连接性约束可以表示为vnffg模板的一部分;它们也可以被限定在vnf和vsf之间。

排序约束指定在结果vffg中vnf相对于沿着功能链的其他虚拟功能的出现顺序。例如,虚拟服务网关功能必须出现在虚拟enodeb功能和虚拟分组网关功能之间。本领域技术人员将理解,在一些实施例中,排序约束可以不存在,或者它可以指定对于功能链中的vf集合,vf的排序是无关紧要的。

资源/负载感知约束限定要经受pop资源负载和/或流量负载的vnf的选择和布置。例如,负载均衡功能只能被插入到某处,在该处流量选择被转发到vffg中相同下一跳功能的多个pop中的一个。

监测功能约束限定了虚拟监测vnf的选择和布置约束。vnf应被使用并放置在符合监测目的和要求的适当位置。例如,将在适当的位置插入面向计费的监测功能(并且为其创建逻辑链路),使得可以收集关于可计费资源(例如cpu,存储,带宽)的使用信息。

图2示出了在兼容etsinfv-mano的控制器204内部,特别是作为nfv协调器(nfvo)的部分的sdt210的系统200的实施例。nfv-mano204组件接收服务请求并读取用于vnffg模板的ns目录202;它将数据重定向到内部sdt组件210,其对vffg,vfpop和逻辑链路(ll)做出决策。nfv-mano204耦合到sdn(te)206,并向sdn(te)提供ll信息(节点间)。sdn(te)206确定并向网络208提供ll供应命令。nfv-mano204还向网络208提供vf实例化命令。

图3示出了具有在etsinfv-mano外部的sdt的系统300的第一实施例。系统300包括部分ns目录302,sdt-1304,和包括sdt-2312的nfv-mano306,sdn(te)308和网络310。sdt-1304是vffg生成器;并且sdt-2312确定vfpop和ll。sdt-1304组件接收服务请求并读取用于vnffg模板的ns目录302,并计算初始vffg并将其输入到nfv-mano组件306,nfv-mano组件306确定vfpop和ll,并将其决策反馈给sdt-1304。根据反馈,sdt-1304调整其vffg决策并将其更新至nfv-mano306。迭代地重复上述步骤,直到sdt-1304发现没有新的vnf需要被添加到vffg或者不需要对vffg中的vf之间的逻辑连接进行改变,并且通知nfv-mano306其决策是最终的(即不需要反馈)。

图4示出了具有在etsinfv-mano外部的sdt的系统400的实施例。功能f2是无状态功能(其特征在于没有任何上下文信息)。sdt控制器可以在看到f2的多个实例之后将负载平衡(lb)功能添加到vffg中。

图5示出了具有在etsinfv-mano外部的sdt的系统500的第二实施例。sdt实现限定逻辑拓扑的nfvo功能。系统500包括部分ns目录502,sdt504,nfv-mano组件506,sdn(te)508和网络510。sdt组件504完全在nfv-mano506之外(与图3中的情况相反,在图3中,它被分成两个子组件,一个在nfv-mano之外,另一个在其内部)。sdt组件504获得完整sdt决策(即,除了限定vffg,还实现限定包括vnfpop和ll的逻辑拓扑的nfvo功能)并将决策输入到nfv-mano506;后者接受决策以实例化vf并经由sdn(流量工程(te))组件508供应给网络。

图6示出了具有在etsinfv-mano外部的sdt的系统600的第三实施例。系统600包括部分ns目录602,sdt组件604,nfv-mano组件606,sdn(te)组件608和网络610。sdt组件604确定vffg并且实现定义逻辑拓扑的nfvo功能,并且直接向sdn(相对于如图5所示的通过nfv-mano组件606)通知(逻辑链路)ll信息。

图7示出了sdt700内部过程的实施例,特别示出了分布式实现实施例。sdt700包括vffggen组件702和sdt-2组件704。vf-fg-gen组件702(对应于图3中的sdt-1304组件)基于服务请求,ns目录和其他必要的输入信息生成vffg并输入到sdt-2组件704,其做出关于vfpop和ll的决策。该sdt-2组件704可以通过三个子模块来实现,即apr706,ll-r708和pop-r710。apr706接收vnffg并初始化pop-r和ll-r。pop-r710和ll-r708分别向apr706推荐vnfpop和ll。apr706向pop-r710和ll-r708提供针对它们的推荐的反馈,或提供反馈以批准它们的推荐。在一个实施例中,对于每个唯一的vf,pop对,反馈可以被描述为在pop处实例化vf的成本或价格。对于每个逻辑链路,反馈可以被描述为在逻辑链路上传输数据的单位成本。在一个实施例中,反馈包括根据在下面的第一实施例算法中描述的实施例的双变量值λ。根据反馈,pop-r710和ll-r708修改它们的推荐。该推荐反馈过程迭代地进行,直到在满足一些准则时apr706批准了该推荐(即,反馈指示批准消息)。根据所述批准,pop-r710和ll-r708输出它们的结果,其构成最终的sdt700解决方案。

图8示出了扩增的转发图(afg)800,其中每个虚拟功能f用表示为圆节点的pop候选位置进行扩增,并特别示出了有序功能链接的示例。

图9示出了单个服务情况的实施例900。

表1略语符号

网络成本被限定为,例如:

分布式dc成本限定为,例如:

令ω(f)是网络成本的加权因子。总成本如下:

c(x,y,z)=ω(n)c(n)(x)+(1-ω(n))c(o)(y,z)。

解说第一实施例算法的问题分解(通过耦合约束):

问题1的部分拉格朗日被如下表示为可分离函数:

λ(x.y.z.λ)=λ(n)(x,λ)+λ(o)(x′,,y,z,λ)

其中

是网络成本函数,以及

是dc成本函数

问题1的对偶由下式给出:

从对偶目标来看,对偶问题被表达为:

p2:maxλ>0d(λ)

对偶的子问题由下式给出:

p2.1:sdn问题

p2.2:nfv问题

图10示出分布式优化1000的实施例。分布式优化1000包括vf-fg生成器1002,apr1004,ll-r1006和pop-r1008。子问题p2.1和p2.2分别在ll-r1006和pop-r1008处并行求解,而求解器的输出被迭代地中继到apr1004以交换更新的对偶变量λrev。

基于接收到的次梯度,在apr1004处修改对偶变量,例如,

λ=λ-α(x'-x)

其中α是步长,其可以被设置为固定值或者经由线搜索技术而迭代地更新。

在每次迭代,通过对偶分解获得的解收敛到由λ*(x,y,z,λ)≥d(λ)给出的原始问题的下限。

迭代过程在收敛或在最大迭代次数(系统参数)之后停止。

图11示出了分布式算法方法1100的实施例的流程图。方法1100开始于框1102,其中在位置a生成vffg。在框1104,在位置b和c并行求解p2.1和p2.2问题。在框1106,用p21和p2.2的结果在位置d求解p2。在框1108,方法1100确定在位置d是否已经满足终止条件。如果在框1108尚未满足终止条件,则方法1100进行到框1110,其中根据p2的结果在位置b和c更新p2.1和p2.2,其后,方法1100进行到框1104。如果在框1108处已经满足终止条件,则方法1100进行到框1112,其中分别从位置b和c输出p2.1和p2.2的结果作为最终解。然后,方法1100进行到框1114,在此处该方法终止。

多服务情况实施例是单个服务情况的扩展。优化约束应该针对单项服务,或者基于全部服务或者服务子集的组合(例如,求和)。例如,一个功能由服务的子集所共享;nfvipop只能由服务的子集合使用,等等;在一个实施例中,目标应当基于所有服务的组合。单项服务可以加权。

现在转到图12-14,描述了替代实施例。

网络分片通常涉及将某虚拟化网络功能实例化到网络节点中,其可能受制于某些功能链接约束。在一个实施例中,作为网络分片的整体方面,软件定义拓扑(sdt)技术被用于限定包括各虚拟功能位置和之间的连接的服务特定数据平面逻辑拓扑,基于服务特定数据平面逻辑拓扑,网络分片随后经由网络功能虚拟化(nfv)和软件定义网络(sdn)被呈现。

在一个实施例中,公开了弹性服务功能链。弹性服务功能链是虚拟功能的有序列表,在一个实施例中,其可能是可选的或递归的。在一个实施例中,sdt的问题用这种链接要求来解决。在一个实施例中,sdt问题在数学上被构造为组合优化问题,其包括作为子问题的多商品流问题和装箱问题。因为问题从装箱子问题继承了np难度,并且通常在多项式时间内不可解,所以公开了一种快速启发式算法来解决它。

之前的vf布置研究只考虑了强制性vf,其每一个都要求在网络中创建至少一个实例。在这种场景下,功能链接要求(如果存在)不是弹性的,而是刚性的。在本文中分析的且为此而提供了实施例解决方案的sdt问题,是独特地支持弹性sfc的通用或扩展的vf布置问题,其中存在可选的vf或垂直递归vf,并且关于这样的vf的出现或复现的决策是解决方案的一部分。与限制vf实例数的水平递归不同,垂直递归限定vf在sfc中作为单独功能出现的次数。

网络分片是将针对不同网络服务的不同网络资源“分片”实例化的新兴概念,这些不同的网络服务通常被提供给不同的客户或客户组并且潜在地具有不同的qos要求和/或分组处理要求。网络资源包括网络节点处的计算资源(例如,cpu,存储器,存储,i/o等)和网络链路上的带宽资源。网络分片,也称为虚拟网络,对应于给定服务的池化网络资源的分配,使得服务从客户的角度来看与其他服务基本上“隔离”。在网络滑移的背景下,隔离意味着一个服务的性能不受另一服务的流量负面影响。

通常,网络分片涉及将某些网络功能实例化到网络节点中。为了为给定的网络分片提供期望的服务级容量,对于哪些节点应该用哪些网络功能来实例化的识别不仅受制于网络资源,而且还受制于功能链接约束(如果存在的话),并且该识别通常手动提供。这个过程是自动的,以便最大化网络对变化的客户需求的灵活性和响应性。自动网络分片可以应用于可重构网络架构中,其中池化网络资源是商用现成(cots)硬件组件,该cots硬件组件能够通过诸如软件定义网络,网络功能虚拟化和软件定义拓扑的虚拟化方法进行配置。

软件定义网络(sdn)

sdn将流量管理与流量转发分离,实现集中控制和强化的敏捷性。在sdn控制平面中,一个或几个sdn控制器管理网络资源(特别是带宽资源),并全局控制网络流量。基于来自各个网元的状态信息和总体的流量要求,控制器通过解决流量工程(te)问题来做出流量控制决策;根据te解决方案,它们例如经由openflow南向api指示数据平面硬件转发分组以优化整个网络的操作。te将针对各个流,相对于它们的qos要求,例如,速率要求,和网络资源约束,例如,链路容量,共同地确定通信路径和沿着路径的速率分配,以便使得网络效用最大化。在控制平面中的te决策之后,在数据平面中将各流在其路由路径之间拆分。

网络功能虚拟化(nfv)

虽然sdn提供用于实现网络的集中控制的框架,并且因此潜在全局最优的网络性能,同时,通过网络功能虚拟化(nfv)的互补概念来实现用于促进网络操作的另一自由度。在一个实施例中,网络必须支持多种服务,每种服务除了其特有的流量特性之外,还可以通过一系列服务特定功能来区分。在这一点上,nfv允许例如使用各种网络功能(例如,按需的地址转换和深度分组检查)作为启用了nfv的cots硬件(例如opnfv节点)上的软件实体来实现,进而允许有效地将网络功能与物理设备解耦合。因此,在一个实施例中,sdn控制器本身被实例化为任何高容量处理器中的虚拟化功能,驻留在数据中心,服务器或网络节点内。

软件定义拓扑(sdt)

组合的sdn和nfv技术提供了一个引人注目的解决方案,用以促进高度可编程且灵活的服务的快速转出,同时为客户和网络运营商提供高度的可扩展性和成本效益。发明人已经认识到,需要一种组件,其将sdn和nfv相联合并且将它们的操作引向网络分片目标,并且sdt在这方面开始起作用。对于给定的服务,存在针对访问的服务流量的数个虚拟功能(vf)以便满足服务级别功能要求和/或满足联网目的。sdt的一个目标是确定vf在网络中的位置并定义功能位置的逻辑拓扑。逻辑拓扑中的节点和链路分别伴有计算资源要求和流量qos要求。然后,使用nfv和sdn技术,基于服务的逻辑拓扑来呈现网络分片。

在一个实施例中,网络分片的过程基本上分为两个步骤:(由sdt)构建分片,以及(由nfv和sdn)呈现分片。这种分离使得网络运营商能够利用稳定的分片框架执行动态的分片呈现,以优化网络资源利用和服务级别的qos/e。本文公开了用于解决以sdt为中心的构建分片的步骤的实施例系统和方法。

sdt基元

在下文中,给出了所考虑的sdt问题的基元。本文公开了服务功能链(sfc),并且提供示例来示出sfc是什么样的。随后,对与计算资源相关的数据处理速率(位/秒)方面的vf性能进行建模。这样的性能模型可能是必要的,以使计算资源对功能位置决策的影响可以在sdt问题陈述中描述出来。

vf分类和链接

服务通常与包含服务功能链(sfc)的集合的vf转发图(vf-fg)相关联,每个服务功能链(sfc)是有序的vf列表。vf是虚拟服务功能(vsf)或虚拟网络功能(vnf)。vsf是依赖于服务的,反映服务业务逻辑,因此通常由客户,例如,虚拟服务提供商来限定;而vnf由网络运营商提供,以用于使联网过程能够进行。客户通常不是联网中的主题专家,并且很可能提供仅涉及vsf的部分vf-fg。网络运营商根据服务的特性来针对给定服务定制联网过程;它完成客户提供的部分vf-gg以及必要的vnf用以实现联网过程。

在sfc中,有一个或更多个源,一个或更多个目的地以及中间的数个功能。这些功能从源向目的地相互连接,这指示着它们将被服务流量穿过的顺序。向后连接用于指示链段的递归。服务可以被划分为多个原始子服务,使得它们中的每一个具有包含单个sfc的vf-fg,其中存在单个目的地;可以针对子服务,而不是对复杂的原始服务执行执网络分片。在这种情况下,可能必须在子服务之间强制执行功能共享和流量连接,使得可以从子网分片恢复用于原本的服务的网络分片。在不失一般性的情况下,对原始服务场景进行研究,并且sfc和vf-fg可互换地使用。

在一个实施例中,考虑三种类型的vf:强制功能,可选功能和从属功能。

图12a为示出展现符号性标记vf的三种类型功能1200的图。三个功能1200包括强制功能1202,可选功能1204和从属功能1206。

逻辑服务功能路径(sfp)是在由sdt计算的数据平面逻辑拓扑中链接源和目的地的路径。在逻辑拓扑中可以包括多个逻辑sfp。沿着逻辑sfp,强制功能必须出现至少一次;可选功能可能根本不存在;从属功能的存在取决于其在先功能的样态。

图12b为示出三个功能的sfc1250的实施例的图。sfc1250包括源1252,目的地1254以及功能f1,功能f2和功能f3,其中功能f1是可选功能,功能f2是从属功能,功能f3是强制功能。允许f1-f2的段重复多达k次,如由反向链路上的最大递归计数所指示的。在一个实施例中,k的值总是小于网络中启用nfv的节点的数目,因为在一个位置处vf可能最多被实例化一次。注意,该段可以出现最多k+1次,因为其正常出现被单独计数。包含可选或递归vf的sfc称为弹性sfc。在文献中,只研究了非弹性sfc。然而,弹性sfc使网络分片具有新的灵活性维度,使网络系统能够添加和/或移除vf。使用弹性sfc,不仅是分片呈现,分片构建也可以变得适应于网络动态。因此,网络系统变得更加智能和自我演进,以对网络运营商的决策进行了干预。例如,它可以通过不实例化可选的vsf或减少vsf的垂直递归来帮助在智能数据定价(其中vsf实例化和管理的定价是由环境造成的)的背景下最小化客户的资本成本。在另一示例中,其可以通过根据网络负载动态地移除可选的vnf或增加vnf的垂直递归来自主地改变服务的联网过程,以便适应或满足更多的服务请求。

计算资源建模

网络分片确定服务的vf-fg中的每个vf的位置或存在点。当确定功能位置时,为了保证服务qos/e,必须考虑计算资源可用性及其与vf性能的关系。

在文献中已经表明高级别服务目标可以转变为低级别资源分配策略。对于每个vf,提供商(客户或网络运营商)在每计算资源类型的基础上指定最小(刚性)分配和最大增量(流体)分配。必须满足前者,以便vf在最低可接受的性能级别下操作,而后者应该在所有资源类型中尽可能适当地被满足,以提供最佳性能。对基本(本机)资源和聚合(虚拟化)资源的要求可以被进一步区分,因为后者可能在vf性能上有开销。为简单起见,本机资源和虚拟化资源之间的差异被忽略,因为它们之间的映射可以根据先前研究通过离线分析来生成。

在一个实施例中,vff的流动资源要求被视为多维立方体,每个维度对应于唯一的资源类型。立方体可能不是规则立方体,而是取决于单个维度在功能性能中的重要性而歪斜。作为sdt目标的一部分,在每个功能位置处确定与要求立方体成比例的资源分配立方体。

图13为示出一个实施例中的要求立方体1302与分配立方体1304之间的关系的图。决策t是标量值,范围为0到1,包括0和1。立方体1302,1304可以在所有可能的应用中被规范化,以使得多种多样的计算资源要求/分配可直接进行比较。基于立方体的测量方法被称为工作负荷分配立方体(wac)。

在一个实施例中,作为数据处理速率以位/秒来测量的f的性能pf以及其与资源分配决策的关系通过资源效率(re)因子υf建模,其依赖于功能和平台。然后,pf通过以下线性函数计算:

pf=πf+υf×t,

其中πf是归因于刚性资源分配的最小执行。此外,πf(和υf)被限定为在所有计算平台上相同,并且改变资源要求以反映平台差异。

应当注意,构建通用功能性能模型不是微不足道的,因为它在很大程度上取决于功能逻辑,计算平台和实现细节。然而,对于给定的功能,基于实验的建模方法在现实世界的应用中可用。例如,可以利用wac技术并且监测不同的wac决策的功能性能。然后,对监测结果应用曲线拟合以提取模型。为了能够专注于sdt问题并且不被功能性能建模的副问题阻碍,上述线性模型被用作概念验证。所公开的系统和方法可以容易地适应任何模型,只要模型是凸的。

解决方案

假设网络运营商完成了各项服务的vf-fg,sdt的目的是根据各个vf-fg和其他必要的信息来计算所有服务的服务特定数据平面逻辑拓扑。该计算可以一起针对多个服务联合执行,或者每次递增一个服务来执行。当允许在服务间功能共享时,逻辑拓扑之间可能出现节点重叠。

在一个实施例中,公开了一种解决sdt问题的优化方法。在一个公开的方法中,第一步是扩增给定的sfc(即vf-fg)。在一个实施例中,应当根据包括功能的类型来执行sfc的扩增。基于扩增的sfc(a-sfc),sdt问题被建立为优化问题。在第二步中,例如使用优化工具包来解决sdt优化问题,以获得解决方案。

vf-fg/sfc扩增

图14a-14c为示出用于sfc1400的sfc预处理的实施例方法中的步骤的框图。sfc包括源1402和目的地1404。在扩增sfc1400之前,sfc1400通过两个步骤被预处理。在第一步,各递归段被展开以去除环。对于具有多达k个递归的每个递归段(由sfc1400中的反向连接所表示),沿着链临接地复制k次,并且创建从这些段(原始或副本)中的任一个中的vf到后续副本段中的任一个中的从属vf的弧,以实现跨段的功能依赖性。此展开步骤可以通过示例描述,如图14a所示,其中段f1′-f2′是段f1-f2的副本,而复本函数f2′可能取决于f1和f1′中的任一个。在第二步,可以忽略在第一步中为了实现跨段功能依赖性而创建的弧,并对sfc1400进行处理以用于可选功能。接下来,可以识别可选的段。可选段从可选功能开始,并沿着链在第一个后续非从属功能处结束。对于每个可选段,在其先前段和其下一段之间创建弧。在图14a中,去除环的sfc具有f1-f2和f1′-f2′作为可选段。在第二步之后,它变成如图14b所示。

扩增的sfc(a-sfc)是有向的非循环图,表示为g(n,a),其中n是节点集合,且a是弧集合。给定弧a∈a,asrc用于表示a的源端,adst表示目的地端。a-sfc扩增了sfc,因为它通过在每个可能的位置(启用了nfv的网络节点)复制每个vf来扩展sfc的预处理版本。在a-sfc中,节点n因此被划分为三个不相交的子集:源节点集合s,目的地节点集合d和eta节点集合e。源节点只有外出链路;目的地节点仅具有进入链路。eta节点是具有外出链路和进入链路的中间节点。每个eta节点对应于唯一的功能和位置对,并且被表示为其指示着在位置p处存在功能f。给定e∈e,efun表示各自的函数,并且通过eloc表示各自的位置。根据预处理sfc中限定的连接性在节点n之间创建弧。图14(c)示出了最终的扩增的sfc。

当存在多个服务时,在一个实施例中,对于每个服务,执行上述扩增。在最终的a-sfc中,源、目的地和eta节点集合分别是相应的单项服务集合的并集。如果功能共享是可能的且允许的,一些eta节点可以是多个服务共有的。

问题建立

表ii列出了本文中使用的主要符号。它们中的许多具有服务特定版本,并使用上标来区分服务特定版本。例如,属于服务v的eta节点集合被表示为eυ表示服务υ中源s的数据速率;在eta节点e处与服务υ相关的进入流量速率由表示;等等。

表2略语符号

为了易于呈现,对于每个eta节点e,限定给定刚性资源分配决策ye,ye∈{0,1}和流体资源分配决策te,0≤te≤1,由此根据上述资源建模计算e的性能,即位置eloc处的功能efun的实例的性能::

pe=πeye+υete

服务的性能体现在两个方面:流量性能和功能性能。沿着服务功能链,它们通过公知的排队理论耦合。也就是说,在任何eta节点e,为了不拥塞,进入流量速率re不应该大于处理速率pe。因此,最大化服务的性能意味着相对于由该约束限制的eta节点上的计算资源分配来最大化服务的流量速率满足。

在这里提出的sdt问题中,在一个实施例中,期望最大化网络中存在的所有服务中的最小服务性能,以及最小化成本,其被限定为启用nfv的网络节点,逻辑弧(在a-sfc图中)和网络链路(在网络图中)的总成本;即,

其中0≤μ,ν≤1是加权因子,且μ+ν≤1。限定所有服务所有源中的最小流量满足为sdt问题可以被制定为组合优化问题,其具有以下最大化目标:

u(x,y,z,r,λ)=ωλ-(1-ω)c(x,y,z,r)

其中0≤ω≤1是加权因子。问题1中给出了数学公式。应当注意,在实际的应用中,可能是其他sdt目标,这取决于网络运营商的限定。

该sdt问题包含两个子问题:在a-sfc和物理网络图上的分层多商品流问题(hmcf),以及在启用nfv的节点上的网络成本最小化(ncm)问题。下面示出第二实施例算法。

问题1(sdt)

受制于

q,r,t,x≥0;δ,σ≥0(19)

y,z∈{0,1}(20)

第一组约束(1)-(9)属于hmcf问题;第二组约束(10)-(18)属于ncm问题。这两个问题通过eta节点进入速率变量耦合。应当注意,ncm问题是np难度装箱问题的变体。因此,整个sdt问题是通过移植具有np难度。检查hmcf问题,其中做出了两个级别的mcf决策。在顶层,所公开的系统和方法决定是否以及如何使用a-sfc中的每个弧。将每服务约束(1)-(3)和每弧约束(4)应用于这个级别的决策。特别地,约束(1)计算分配的源速率,并且约束(2)计算到每个eta节点的进入速率。约束(3)确保每个eta节点处相对于eta节点的流量速率降低因子的流守恒。约束(4)确保每个弧上的速率分配不大于上限,其可以被配置为无穷大。约束(5)计算所有服务中的最小源速率。在底层,hmcf问题通过将每个弧视为流并应用常规mcf约束来决定如何使用物理链路来支持第一级决策。约束(6)和(7)确保流满足,而约束(8)和(9)分别是流守恒约束和链路容量约束。

值得注意的是,作为数学规划中的常见实践,聚合技术可以应用于流和节点以降低问题复杂性。例如,去往同一节点的流可以聚合成单个流;源自相同节点的流的目的地可以被聚合为单个节点;等等。为了清楚起见,sdt问题是以简单明了的方式呈现的,而没应用聚合。

现在转向ncm约束,约束(10)和(11)分别将eta节点进入速率决策转换为vf布置(位置选择)决策,并计算启用nfv的节点激活决策。约束(12)是水平递归约束,将功能的选定eta节点的数量限制在给定上限以下。约束(13)是功能非并置约束。约束(14)强制在任何未选择的功能位置处不发生流体资源分配。约束(15)规定在同一点托管的功能的数量不能大于最大值。约束(16)强制δ等于解决方案中所有eta节点中的最大过载,即eta节点处进入流量速率与数据处理速率之差。约束(17)计算每个启用nfv的节点处的资源利用比率;约束(18)强制σ等于解决方案中启用nfv的节点处的最大资源过度利用。在一个实施例中,如由目标函数中的最后一项所指示,用δ和σ对解进行惩罚。

实用的启发式解决方案

sdt问题是np难度的,因为它包含装箱问题作为子问题,这是公知的np难度问题。一般来说,对此问题没有多项式时间解。上一节中给出的最优解需要最佳地解决sdt问题,因此当问题规模较大时是不实用的。解决这种组合问题时的一个常见做法是应用经典的分支定界方法。在本节中,np难度通过启发式算法解决,该算法利用分支定界方法(不允许快速收敛回溯的简化版本)和sdt问题的特殊结构。

该算法保持两个eta节点集合e0和e1。前者包含其y值固定为0的eta节点;后者包含其y值固定为1的eta节点。设e'表示剩余集合,即e′=e\(e0∪e1)。最初,e0和e1都是空的,e'与e相同。此外,它通过变量obj保持最近的sdt优化目标函数值。该算法由三个连续的步骤组成:自举,过滤和贪婪选择。这些步骤在下文详细阐述。为了便于表示,如果eta节点的y值设置为0(或1),则将eta节点的状态称为“关闭”(或“开启”)。

a.通过放宽限制进行自举

迭代地执行以下步骤以将e0和e1更新到最大次数或直到它们稳定。

1.)放宽问题(1)中对y和z的限制,使其成为实变量,并用e1中的eta节点的y变量作为常量变量来解决放宽限制的问题。如果问题不可行,将目标函数值记录到obj中并终止当前迭代;否则,继续后续步骤。

2.)选择两个阈值0≤θ1≤θ2≤1。在部分解中,识别具有不小于θ2的y值的eta节点组,并将它们移动到临时集合e1′中。在剩余的eta节点中,查找y值不大于θ1的那些节点,并将它们移动到临时集合e0′中。必须遵守各vf上的水平递归约束(12)。

3.)验证针对e0′和e1′的功能非并置约束(13),并且从两个集合中去除涉及约束违反的eta节点(如果存在的话)。然后,设置e0=e0′和e1=e1′,并且当前迭代终止。如果obj保持未初始化,意味着sdt问题是不可行的,算法终止;否则,它继续进行。

注释1:阈值θ1;θ2应当在每个vf基础上被限定,以便适应不同vf的异质y值分布。应仔细选择它们,使得不违反实例计数约束(12),同时保留足够的灵活性以便做出功能位置决策。

问题2(简化的sdt)

受制于(1)-(9),(14)-(19).这个问题是问题(1)的简化形式,因为它采用y,z作为输入而不是决策变量。

b.通过强制实行非并置约束来进行过滤

在e′中,在每个位置p∈p,根据功能非并置约束(13)来识别不允许同时处于开启状态的eta节点的组。确定两个临时集合e0′和e1′。通过以下步骤独立地处理每个组:

1.)初始化组中的所有eta节点为关闭状态,而所有e′中所有其他eta节点处于开启状态。

2.)如下测试组中的每个eta节点:开启eta节点,评估z,用y解决问题(2);z是常数变量,并记录问题的可行性和目标函数值。

3.)从测试结果中,查找这样的eta节点,即,该eta节点被开启导致了目标函数值的可行性或最大增加或最小减少(通过与obj的值相比较),将其移动到e1′中,并将其余的移动到e0′,并更新obj。

之后,通过设置e0=e0∪e0′,e1=e1∪e1′.来更新e0和e1.

注释2:面对用于eta节点挑选的淘汰过程(例如在步骤b.3中),可随机地或根据特定的选择策略进行选择。策略可以被调整,以支持某些特定方面的利益,例如,性能优先策略,成本优先策略,约束优先策略。这三个策略分别指示eta节点导致有利的最大性能增加(例如,在最小性能或平均性能方面),最小成本增加或要选择的最小约束违反。不管使用什么策略,有时为了结束淘汰过程,随机选择可能是不可避免的。

c.通过关闭eta节点进行贪婪选择

暂时开启e′中的所有eta节点。在这种临时情况下解决问题(2),并用结果更新obj。在e′中,识别对应于各个可选功能的eta节点的组。根据这些组在sfc中的顺序对它们进行排序。通过以下迭代过程沿着排序列表顺序处理每个组,当组变为空时,该过程终止。

1.)检查在上一次迭代中处理的组的初始成员是否都关闭(如果存在的话)。如果是,则将先前组的从属功能的所有eta节点(直接地或通过依赖性链)移动到e0中。

2.)分别测试组中的每个eta节点,如下:关闭eta节点,评估z,用y解决问题(2);z是常数变量;如果问题不可行,将eta节点移动到e1。

3.)从测试结果中,查找这样的eta节点,即,该eta节点被关闭导致了目标函数值的最大增加或最小减少,将其移动到e0,并更新obj。根据某些预定义的策略,可以结束淘汰过程。

然后,以与上述相同的方式处理e′中的eta节点,这些节点都属于强制功能。之后用e0和e1求解问题(2),得到基本解。通过将具有低进入流量速率的eta节点从e1移动到e0来修改基本解决方案,以满足每个功能的水平递归约束(12)。用更新的e0和e1解决问题(2),以获得最终解决方案。

注释3:可以通过类似于步骤c.2)和c.3)的具有更高复杂度的替代性过程来执行水平递归约束的实施:以sfc中的顺序处理违反了水平递归约束的功能;当处理功能时,递增地关闭eta节点,一次一个,直到满足水平递归约束;在随后的功能处理中立即应用处理结果。

图15示出了可以安装在主机设备中的用于执行本文所述的方法的实施例处理系统1500的框图。如图所示,处理系统1500包括处理器1504,存储器1506和接口1510-1514,其可以(或可以不)如图15所示进行布置。处理器1504可以是适于执行计算和/或其他与处理相关任务的任何组件或组件的集合,且存储器1506可以是适于存储供处理器1504执行的程序和/或指令的任何组件或组件的集合。在实施例中,存储器1506包括非暂时性计算机可读介质。接口1510,1512,1514可以是允许处理系统1500与其他设备/组件和/或用户通信的任何组件或组件集合。例如,接口1510,1512,1514中的一个或更多个可以适于将数据,控制或管理消息从处理器1504传送到安装在主机设备和/或远程设备上的应用。作为另一示例,接口1510,1512,1514中的一个或更多个可以适于允许用户或用户设备(例如,个人计算机(pc)等)与处理系统1500交互/通信。处理系统1500可以包括图15中未描述的附加组件,例如长期存储(例如,非易失性存储器等)。

在一些实施例中,处理系统1500被包括在网络设备中,其中该网络设备正在接入电信网络或者是电信网络的一部分。在一个示例中,处理系统1500在无线或有线电信网络中的网络侧设备中,诸如基站,中继站,调度器,控制器,网关,路由器,应用服务器或电信网络中的任何其他设备。在其他实施例中,处理系统1500在接入无线或有线电信网络的用户侧设备中,诸如移动站,用户设备(ue),个人计算机(pc),平板电脑,可穿戴通信设备(例如,智能手表等)或适于接入电信网络的任何其它设备。

在一些实施例中,接口1510,1512,1514中的一个或更多个将处理系统1500连接到适于通过电信网络发送和接收信令的收发器。

图16示出了适于通过电信网络发送和接收信令的收发器1600的框图。收发器1600可以安装在主机设备中。如图所示,收发器1600包括网络侧接口1602,耦合器1604,发送器1606,接收器1608,信号处理器1610和设备侧接口1612。网络侧接口1602可以包括适于在无线或有线电信网络上发送或接收信令的任何组件或组件的集合。耦合器1604可以包括适于在网络侧接口1602上促进双向通信的任何组件或组件的集合。发送器1606可以包括适于将基带信号转换为适合于在网络侧接口1602上传输的调制载波信号的任何组件或组件集合(例如,上变频器,功率放大器等)。接收器1608可以包括适于将在网络侧接口1602接收的载波信号转换为基带信号的任何组件或组件的集合(例如,下变频器,低噪声放大器等)。信号处理器1610可以包括适于将基带信号转换成适合于在设备侧接口1612进行通信的数据信号的任何组件或组件集合,反之亦然。设备侧接口1612可以包括适于在信号处理器1610和主机设备内的组件(例如,处理系统1500,局域网(lan)端口等)之间传送数据信号的任何组件或组件集合。

收发器1600可以在任何类型的通信介质上发送和接收信令。在一些实施例中,收发器1600在无线介质上发送和接收信令。例如,收发器1600可以是无线收发器,其适于根据诸如蜂窝协议(例如,长期演进(lte)等),无线局域网(wlan)协议(例如,wi-fi等)或任何其它类型的无线协议(例如,蓝牙,近场通信(nfc)等)的无线电信协议进行通信。在这样的实施例中,网络侧接口1602包括一个或更多个天线/辐射元件。例如,网络侧接口1602可以包括单个天线,多个单独的天线,或者配置用于多层通信的多天线阵列,例如,单输入多输出(simo),多输入单输出(miso),多输入多输出(mimo)等。在其他实施例中,收发器1600通过有线介质,例如,双绞线电缆,同轴电缆,光纤等来发送和接收信令。特定处理系统和/或收发器可以利用所示的所有组件,或仅组件的子集,并且其集成水平可以随设备而变化。

在公开的实施例中,一种用于软件定义拓扑(sdt)管理与网络功能虚拟化(nfv)和软件定义网络(sdn)相互配合的方法,包括在sdt管理器处从服务客户接收服务请求,该服务请求包括虚拟服务功能转发图(vsffg);根据所接收的服务请求选择虚拟网络功能(vnf)转发图(fg)模板;根据所述服务请求和所选择的vnffg模板生成虚拟功能(vf)fg;为所述vffg中的vf选择存在点(pop);以及向nfv管理器发送指令以根据所生成的vffg和所确定的pop中的至少一个来实例化所述vf。在实施例中,服务请求还包括流量分布,流量特性,移动性信息和与vsffg相关联的计算资源要求中的至少一个。在实施例中,根据服务请求和选择的vnffg模板生成vffg的步骤还包括根据服务请求,选择的vnffg模板,流量信息和nfv基础设施(nfvi)信息生成vffg。在实施例中,根据服务请求和所选择的至少一个vnffg模板生成vffg的步骤还包括迭代地确定逻辑链路推荐,直到满足终止条件。在实施例中,根据服务请求和所选择的至少一个vnffg模板生成vffg的步骤还包括迭代地确定pop,直到满足终止条件。在一个实施例中,服务请求不包括联网细节。在实施例中,该方法还包括确定服务流量源,服务流量信宿和vfpop之间的逻辑链路(ll)。在一个实施例中,该方法还包括根据所确定的ll向sdn控制器发送指令,以通过限定物理路径并沿着限定的物理路径分配资源来供应ll,所述物理资源包括带宽。在一个实施例中,选择pop的步骤包括,根据网络资源的地理位置与和vsffg相关联的拓扑之间的匹配,和与vsffg相关联的网络资源要求中的至少一个来选择pop。

在公开的实施例中,软件定义拓扑(sdt)管理器包括处理器,和存储用于由所述处理器执行的程序的非暂时性计算机可读存储介质,所述程序包括用于以下操作的指令:从服务客户接收服务请求,该服务请求包括虚拟服务功能转发图(vsffg);根据所接收的服务请求选择虚拟网络功能(vnf)转发图(fg)模板;根据所述服务请求和所选择的vnffg模板生成虚拟功能(vf)fg;选择vffg中的vf的存在点(pop);以及向nfv管理器发送指令以根据所生成的vffg和所确定的pop中的至少一个来实例化所述vf。在实施例中,所述服务请求还包括,流量分布,流量特性,移动性信息和与vsffg相关联的计算资源要求中的至少一个。在实施例中,用于根据所述服务请求和所选择的vnffg模板生成vffg的指令还包括,用于根据所述服务请求,所选择的vnffg模板,流量信息和nfv基础设施(nfvi)信息生成vffg的指令。在实施例中,用于根据服务请求和所选择的至少一个vnffg模板生成vffg的指令还包括,用于迭代地确定逻辑链路推荐,直到满足终止条件的指令。在实施例中,用于根据服务请求和所选择的至少一个vnffg模板生成vffg的指令还包括,用于迭代地确定pop,直到满足终止条件的指令。在一个实施例中,服务请求不包括联网细节。在实施例中,所述程序进一步包括用于确定服务流量源,服务流量信宿和vfpop之间的逻辑链路(ll)的指令。在实施例中,所述程序还包括指令,用于根据所确定的ll向sdn控制器发送指令,以通过限定物理路径并沿着所限定的物理路径分配资源来供应ll,所述物理资源包括带宽。在实施例中,选择pop的指令包括根据网络资源的地理位置与跟vsffg相关联的拓扑之间的匹配,和与vsffg相关联的网络资源需求中的至少一个来选择pop。

在公开的实施例中,网络控制器包括软件定义拓扑(sdt)组件,包括处理器和非暂时性计算机可读介质和接口,其中所述sdt组件包括:模板选择器;虚拟功能(vf)转发图(fg)生成器,其根据由所述模板选择器选择的至少一个虚拟网络功能(vnf)转发图(fg)模板,来自客户的服务请求,流量信息,和nfvi信息来生成vffg,所述服务请求包括虚拟服务功能转发图(vsffg);以及存在点(pop)和逻辑链路(ll)生成器,其确定vfpop信息并且根据vffg,服务请求,流量信息和nfvi信息来确定服务流量源,服务流量信宿和vnpop之间的ll的ll信息,并且其中所述接口将所述vffg,所述pop信息和所述ll信息中的至少一个提供给nfv管理和组织(mano)组件和软件定义网络(sdn)流量工程(te)组件中的至少一个。在一个实施例中,sdt组件包括在nfv-mano组件中。在一个实施例中,sdt组件在nfv-mano组件外部。在一个实施例中,sdt组件包括第一sdt组件和第二sdt组件,其中第二sdt组件包括在nfv-mano组件内。在一个实施例中,pop和ll生成器包括审批器组件,ll推荐器和pop推荐器,其中所述ll推荐器通过与所述审批器的第一迭代反馈过程来确定ll决策,并且其中所述pop推荐器通过与所述审批器的第二迭代反馈过程来确定pop决策。在一实施例中,第一迭代反馈过程和第二迭代反馈过程并行发生。在一个实施例中,pop和ll生成器的输出包括服务特定的网络逻辑拓扑。

以下参考文献涉及本申请的主题。这些参考文献中的每一篇通过引用全部并入本文:

[1]s.塞泽尔,s.斯科特-海沃德,p.-k.乔汉,b.弗雷泽,d.拉克,j.芬尼根,n.维尔容,m.米勒和n.拉奥,“面对sdn我们准备好吗?软件定义网络的实施挑战”,ieee通信杂志,2013年度51卷7号,页码36-43。

[2]h.哈维罗,a.沙米,m.米拉马蒂和r.阿萨尔,”nfv:下一代移动网络(vepc)的现有技术,挑战和实施”,ieee网络,2014年度28卷6号,页码18-26。

[3]h.张,s.伏契克,g.塞纳拉特,n.-d.达奥,h.法曼巴,j.拉奥,c.朋和h.张,”5g无线网络:mynet和sonac”,ieee网络,2015年度29卷4号,页码14-23。

[4]f.胡,q.郝,和k.包,”软件定义网络和openflow的调查:从概念到实现”,ieee通信调查&专题报告,2014年度16卷4号,页码2181-2206。

[5]nfv的开放平台,https://www.opnfv.org。

[6]h.图尔贝里等人,“metis系统概念:即将到来的5g框架”,ieee通信杂志,2015。

[7]j.哈尔彭和c.皮尼亚塔罗,“服务功能链接(sfc)架构”,ietfrfc7665,2015年10月。https://tools.ietf.org/html/rfc7665。

[8]y.陈,s.伊耶,x.刘,d.米洛伊契奇,和a.萨海,“将服务级别目标转换为多层服务的低级策略”,集群计算,11(3):299-311,2008。

[9]d.多列夫,d.g.法伊特尔松,j.y.哈尔彭,r.库普弗曼,和n.利尼亚尔,“没有合理的抱怨:公平分享多种资源”,proc.itcs,页码68-75,2012。

[10]m.史迪威,f.薇薇安,和卡萨诺瓦,“用于异构分布式平台上的服务托管的虚拟机资源分配”,proc.ieeeipdps,页码786-797,2012。

[11]t.伍德,l.切卡索娃,k.奥佐纳特,和p.谢诺伊,“虚拟化应用资源使用情况的分析和建模”,proc.acm/ifip/usenix中间件,页码366-387,2008。

[12]j.d.考恩,d.西摩,和j.卡灵顿,“用于确定效用计算中的计算资源使用情况的方法和系统”,美国专利申请号61/107,557,6fusion美国公司,2009年10月22日,授权。

[13]j.克劳森,“分支定界法-原理和示例”,丹麦哥本哈根大学计算机科学系,1999年,网络来源:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.7475。

虽然已经参考示例性实施例描述了本发明,但是该描述并不旨在以限制的意义来解释。说明性实施例的各种修改和组合以及本发明的其它实施例对于本领域技术人员在参考该描述时将是显而易见的。因此,所附权利要求旨在涵盖任何这样的修改或实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1