将互联网协议无线接入网自动拆分为内部网关协议区域的制作方法

文档序号:19713898发布日期:2020-01-17 19:23阅读:165来源:国知局
相关申请案交叉申请本发明要求2014年8月21日递交的发明名称为“将互联网协议无线接入网自动拆分为内部网关协议区域(automaticdivisionofinternetprotocolradioaccessnetworkstointeriorgatewayprotocolareas)”的第14/465,210号美国非临时专利申请案的在先申请优先权,该在先申请的全部内容以引入的方式并入本文本中。
背景技术
::互联网协议(internetprotocol,ip)无线接入网(radioaccessnetwork,ran)网络可包含数万个网络节点。由于内部网关协议(interiorgatewayprotocol,igp)协议限制,如可扩展性问题,一个ipran网络可被拆分为多个igp区域。如果网络包含大量网络节点,将ipran网络人工拆分为igp区域可能很困难。可利用具有ipran网络全局视图的集中式控制器来获取网络拓扑信息。然而,有效地将ipran网络拆分为多个igp区域可能是一种非确定性多项式时间(non-deterministicpolynomialtime,np)完全问题。拆分ipran网络还可能影响其它现有的igp区域。因此,需要有效地将ipran网络拆分为多个igp。技术实现要素:在一项示例实施例中,本发明包含一种划分包括一个或多个环的ipran网络的网络部件。所述网络部件可用于寻找所述ipran网络内的一个或多个环以及一个或多个链。共享链路的所述环和所述链可被分类为一个或多个环集群。所述网络部件可用于:如果所述环集群的网络节点数量超过网络节点阈值,拆分一个或多个所述环集群。所述网络节点可使用所述环集群形成多个igp区域。分类为区域的所述多个igp可基于一个或多个igp区域要求进行细化。在另一项示例实施例中,本发明包含一种集中式控制器,用于划分包括多个网络节点的ipran网络。所述集中式控制器可用于寻找一个或多个包括至少一些网络节点的环集群。如果所述环集群超过最大网络节点数量,可划分所述环集群。所述集中式控制器可使用所述环集群形成多个igp区域。所述多个igp区域中的一个或多个可基于网络节点阈值和聚合侧网关(aggregationsitegateway,asg)节点阈值进行细化,所述网络节点阈值可提供igp区域中网络节点数量的上限,所述asg节点阈值可在出现网络节点故障时提供冗余。在又一项示例实施例中,本发明包含一种网络部件,所述网络部件通过寻找一个或多个环集群和所述环集群的环集合来划分ipran网络并使用所述环集合来生成环集群数据库图。所述环集群数据库图可使用动态k割算法进行划分。所述网络部件可用于使用所述环集群形成多个igp区域。一个或多个所述igp区域可基于网络节点阈值和asg节点阈值进行细化。所述网络部件还可用于传送有关所述igp区域的拓扑信息。结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其它特征。附图说明为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。图1是可以操作本发明实施例的网络的示例实施例的示意图。图2是网元的示例实施例的示意图。图3是网络的一部分的示例实施例的示意图。图4是网络的一部分的另一示例实施例的示意图。图5是网络拆分方法的示例实施例的流程图。图6是环搜索的示例实施例的示意图。图7是链搜索的示例实施例的示意图。图8是环集群的示例实施例的示意图。图9是环集群拆分方法的示例实施例的流程图。图10是最小环集合方法的示例实施例的流程图。图11是环集群数据库图的示例实施例的示意图。图12是拆分后的环集群数据库图的示例实施例的示意图。图13是粗划分方法的示例实施例的流程图。图14是距离图的示例实施例的示意图。图15是igp区域细化方法的示例实施例的流程图。图16是igp区域细化方法的另一示例实施例的流程图。具体实施方式首先应理解,尽管下文提供一项或多项示例性实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。本文所公开的是用于将ipran网络拆分为多个igp区域的各种示例实施例。将ipran网络拆分为igp区域可包括寻找有效环,寻找有效链,寻找环集群,拆分超过预定网络节点数量的环集群,形成粗化igp区域,以及全局优化igp区域。在一示例实施例中,集中式控制器可用于将ipran网络拆分为多个igp区域。该集中式控制器可识别多个网络拓扑结构以生成一个或多个环集群。可划分环集群,以便igp区域中的网络节点总数小于igp节点阈值要求。asg节点总数可大于asg节点阈值要求。通过拆分ipran网络并尝试最小化igp区域之间共享的链路数量可粗化形成igp区域。可对一个或多个igp区域进行细化以满足一个或多个igp要求。例如,区域中的asg节点和基站侧网关(cellsitegateway,csg)节点可在汇聚环和/或接入环上尽可能接近。igp区域可包括最接近特定csg节点的两个asg节点。万一出现节点和/或链路故障,csg节点仍然可以到达相同区域中的至少一个asg节点。所产生的ipran网络对现有igp区域的影响微乎其微。图1是网络100的示例实施例的示意图。在一项示例实施例中,网络100可以是包括一个或多个环(例如,图3所述的环)的ipran网络。网络100可用于在网络100内的多个网络节点中传送数据流量。网络100可包括多个中心局(centraloffice,co)节点102a至102d、多个asg节点103a至103e,以及多个csg节点104a至104z。co节点102a至102d可以是网络的中心局,并且可以与co节点102a至102d、asg节点103a至103e和/或csg节点104a至104z交换或传送数据业务(例如,互联网业务或电话业务)。在一实施例中,asg节点(例如,asg节点103a至103e)可以是电信级多业务汇聚器,并且可用于通过将多种业务复用到单个网络接口中来优化蜂窝回传。asg节点103a至103e可耦合到一个或多个csg节点104a至104z和/或一个或多个co节点102a至102d。asg节点103a至103e可形成多个汇聚环(例如,示为星状线)。汇聚环可包括asg节点之间的连接。在一实施例中,csg节点(例如,csg节点104a至104z)可以是多业务接入设备。例如,csg可位于城域网的边缘。csg节点104a至104z均可连接至基站塔、客户站点、边缘路由器、虚拟专用网络(virtualprivatenetwork,vpn)客户端,或者本领域普通技术人员在阅读本发明时可以理解的用于分发数据内容的任意其它合适的网络设备。csg节点104a至104z可形成多个接入环(例如,示为虚线)。接入环可包括两个或更多asg节点103a至103e以及一个或多个csg节点104a至104z。可配置接入环使得万一出现链路故障和/或asg节点103a至103e或csg节点104a至104z故障时,csg节点104a至104z能够与asg节点103a至103e传送数据流量。co节点102a至102d、asg节点103a至103e,和/或csg节点104a至104z可以与集中式控制器(例如,软件定义网络(software-definednetworking,sdn)控制器)进行数据通信。集中式控制器可以是任意类型的控制器,用于从co节点102a至102d、asg节点103a至103e,和/或csg节点104a至104z接收网络拓扑信息,并传送有关一个或多个igp区域的网络拓扑信息。集中式控制器可用于实施一个或多个ipran网络拆分算法,例如将在图5中论述的网络拆分方法500。正如本领域普通技术人员所理解的那样,尽管图1示出了包括多个co节点102a至102d、多个asg节点103a至103e,以及多个csg节点104a至104z的网络100,但本发明不仅限于该特定应用。例如,网络100可包括任意合适数量的co节点102a至102d、asg节点103a至103e,和/或csg节点104a至104z。co节点102a至102d、asg节点103a至103e,和/或csg节点104a至104z可相互互联以形成多个不同的网络拓扑。图1中的使用和论述仅为示例,以方便描述和解释。图2是可以用于通过图1所示的网络100的至少一部分传送和处理流量的网元200的示例实施例的示意图。至少一些本发明中所描述的特征/方法可以在网元200中实现。例如,本发明中的特征/方法可以通过硬件、固件和/或安装在硬件上运行的软件来实现。网元200可以是通过网络、系统,和/或域传送数据的任意设备(例如,交换机、路由器、网桥、服务器、客户端等)。此外,术语网络“单元”、网络“节点”、网络“部件”、网络“模块”,和/或类似术语可以互换使用,用于概括性地描述网络设备;并且除非本发明另有特别规定和/或声明,这些术语不具有特定或特殊含义。在一项示例实施例中,网元200可以是用于实施ipran网络的网络拆分的装置。例如,网元200可以是图1所述的集中式控制器、asg节点103a至103e,或者csg节点104a至104z,或者集成在这些设备中。网元200可以包括耦合到收发器(transceiver,tx/rx)220的一个或多个下行端口210,tx/rx220可以是发射器、接收器,或其组合。tx/rx220可以通过下行端口210传输和/或接收来自其它网络节点的帧。类似地,网元200可以包括耦合到多个上行端口240的另一tx/rx220,其中tx/rx220可以通过上行端口240传输和/或接收来自其它节点的帧。下行端口210和/或上行端口240可以包括电和/或光发射和/或接收部件。在另一示例实施例中,网元200可以包括耦合到tx/rx220的一个或多个天线。tx/rx220可以通过一个或多个天线无线传输和/或接收来自其它网元的数据(例如,报文)。处理器230可以耦合到tx/rx220并且用于处理帧和/或确定向哪些节点发送(例如,传输)报文。在一示例实施例中,处理器230可包括一个或多个多核处理器和/或存储器模块250,存储器模块250可用作数据存储器、缓冲器等。处理器230可以实现为通用处理器或者可以是一个或多个专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga),和/或数字信号处理器(digitalsignalprocessor,dsp)的一部分。虽然处理器230被图示为单个处理器,但其并不仅限于此,并且可以包括多个处理器。处理器230可用于将ipran网络拆分为多个igp区域同时满足一个或多个igp要求。图2示出了可以耦合到处理器230的存储器模块250,其可以是用于存储各种类型数据的非瞬时介质。存储器模块250可以包括包含辅助存储器、只读存储器(read-onlymemory,rom),以及随机存取存储器(random-accessmemory,ram)的存储器设备。辅助存储器通常包括一个或多个磁盘驱动器、光驱动器、固态驱动器(solid-statedrive,ssd),和/或磁带机,用于数据的非易失性存储,而且如果ram的容量不足以存储所有工作数据,辅助存储器则用作溢流存储设备。辅助存储器可以用于存储程序。当选择执行这些程序时,这些程序将加载至ram中。rom用于存储程序执行期间读取的指令,还可能用于存储程序执行期间读取的数据。rom为非易失性存储器设备,相对于辅助存储器的较大存储容量而言,其存储容量通常较小。ram用于存储易失性数据,还可能用于存储指令。对rom和ram的访问通常都比对辅助存储器的访问要快。存储器模块250可用于存放用于执行本文所述的各种示例实施例的指令。在一项示例实施例中,存储器模块250可包括可在处理器230上实施的网络拆分模块260。在一项示例实施例中,网络拆分模块260可以在集中式控制器上实施以划分ipran网络。在另一项示例实施例中,网络拆分模块260可以在asg节点(例如,图1所述的asg节点103a至103e)或csg节点(例如,图1所述的csg节点104a至104z)上实施。应理解,通过编程可执行指令和/或将可执行指令编程加载到网元200上,处理器230、缓存,和长期存储器中的至少一个被更改,从而将网元200部分转变成具有本发明所教示的新颖功能的特定机器或装置,例如多核转发架构。可通过将可执行软件加载至计算机实现的功能可以通过本领域众所周知的设计规则转换成硬件实施,这在电子工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常基于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实现,因为重新编写硬件实施方案比重新编写软件更为昂贵。一般而言,将投入量产的稳定设计可首选以硬件(例如,通过asic)实现,这是因为对于大型生产活动,硬件实现的成本可能要低于软件实现。设计通常可以以软件形式进行开发和测试,之后通过本领域众所周知的设计规则转变成对软件的指令进行硬连线的asic中的等效硬件实施方案。按照同样的方式,新型asic控制的机器是一种特定机器或装置,同样地,已编程和/或加载可执行指令的计算机也可视为一种特定的机器或装置。本发明的任意处理可通过使处理器(例如,通用多核处理器)执行计算机程序来实施。在这种情况下,可以将计算机程序产品提供给使用任意类型的非瞬时计算机可读介质的计算机或网络设备。计算机程序产品可存储在计算机或网络设备中的非瞬时计算机可读介质中。非瞬时计算机可读介质包括任意类型的有形存储介质。例如,非瞬时计算机可读介质包括磁存储介质(例如,软盘、磁带、硬盘驱动器等)、光磁存储介质(例如,磁光盘)、只读光盘(compactdiscread-onlymemory,cd-rom)、可录光盘(compactdiscrecordable,cd-r)、可重写光盘(compactdiscrewritable,cd-r/w)、数字多功能光盘(digitalversatiledisc,dvd)、蓝光(注册商标)光盘(blu-raydisc,bd),以及半导体存储器(例如,掩膜rom、可编程rom(programmablerom,prom)、可擦除prom、闪存rom,以及ram)。还可将计算机程序产品提供给使用任意类型的瞬时计算机可读介质的计算机或网络设备。例如,瞬时计算机可读介质的示例包括电信号、光信号和电磁波。瞬时计算机可读介质可以通过有线通信线(例如,电线和光纤)或无线通信线向计算机提供程序。图3是网络300的一部分的示例实施例的示意图。网络300的一部分包括多个asg节点302a至302j以及多个csg节点304a至304aa。asg节点302a至302j以及csg节点304a至304aa可用于包括一个或多个不同的网络拓扑结构。网络拓扑结构可以是asg节点302a至302j、csg节点304a至304aa,以及csg链路的适用于划分ipran网络的配置。csg链路可以是csg节点304a至304aa和asg节点302a至302j之间的链路或者是csg节点304a至304aa和另一csg节点304a至304aa之间的链路。网络拓扑结构可以包括但不限于:环、链、环套环、联合环,及其组合。环310a可包括asg节点302a和302b,以及沿多个csg节点304a至304d所形成的路径。环可以是接入环,并且可进行配置,使得该环可被划分(例如,通过分区308)为包括asg节点的第一半环和包括csg节点的第二半环。相反地,无效环310f可包括asg节点302i和302j以及csg节点304w至304aa。无效环可以是无法划分为包括asg节点的第一半环和包括csg节点的第二半环的环。链可包括头节点和多个csg节点,这些csg节点可穿过头节点来接入其它网络拓扑结构和/或汇聚环(例如,图1所述的汇聚环)。头节点可以是链中的所有csg节点均需穿过以接入汇聚环的节点。两种类型的链可存在于网络300的一部分中:asg链或csg链。asg链312a可包括头节点asg节点302c和csg节点304i和304j。可配置asg链,使得asg链的csg节点连接至单个asg节点(例如,asg头节点)。csg链312b可包括头节点csg节点304d和csg节点304e至304h。csg头节点可连接至一个或多个额外的网络拓扑结构。环套环可包括含asg节点302d和302e以及耦合到csg节点304o和304p的csg节点304k至304n的环310b,csg节点304o和304p可形成包括csg节点304m至304p的csg环310c。环310b和csg环310c可共享csg节点304n和304m之间的公共csg链路306a。联合环可包括含asg节点302f和302g以及csg节点304q至304t的环310d,以及含asg节点302g和302h以及csg节点304s至304v的环310e。环310d至310e可用于共享asg节点302g、asg节点302g和csg节点304s之间的csg链路306b,以及csg节点304s和304t之间的csg链路306c。图4是网络400的一部分的另一示例实施例的示意图。网络400的一部分包括多个asg节点402a至402h以及多个csg节点404a至404n。网络400的一部分包括多个环406a至406e(例如,图3所述的环)。环406a至406e包括含asg节点402a和402b以及csg节点404a至404d的第一环406a,含asg节点402b和402c以及csg节点404c至404g的第二环406b,含asg节点402c和402d以及csg节点404f至404i的第三环406c,含asg节点402b和402d以及csg节点404c至404e和404g至404i的第四环406d,以及含asg节点402e和402f以及csg节点404l至404n的第五环406e。网络400的一部分还包括含asg节点402d以及csg节点404j和404k的链408(例如,图3所述的链)。网络(例如,图1所述的网络100)和/或网络的一部分(例如,图4所述网络400的一部分)可用于满足多个igp区域要求。例如,igp区域要求可以是网络节点(例如,图1所述的asg节点103a至103e和/或csg节点104a至104z)数量小于节点阈值m。可配置每个igp区域包含的asg节点的数量至少为asg阈值n,例如每个igp区域至少包括约两个asg节点。igp区域可包括相对邻近(例如,最接近)多个csg节点的多个asg节点。igp区域内的asg节点和csg节点可能沿着汇聚环和/或接入环尽可能接近。可配置igp区域,使得万一出现asg节点或csg节点故障和/或链路故障时,csg节点可到达至少一个asg节点。网络内属于一个或多个igp区域的共享链路的数量可能相对最小。现有igp区域可用于在将一个或多个额外的igp区域添加至网络时经受相对最小的影响。此外,igp区域要求可包括本领域普通技术人员在阅读本发明时可以理解的任意其它合适的要求。一个或多个igp区域要求(例如,igp节点阈值)可由网络运营商或管理员设置和/或确定。例如,网络运营商可以使用规划工具来基于网络可扩展性和/或网络所使用的协议(例如,中间系统到中间系统(intermediatesystemtointermediatesystem,is-is)协议)来确定节点阈值。网络运营商可以使用计算机或者本领域普通技术人员在阅读本发明时可以理解的任意其它合适的设备将一个或多个igp区域要求传送给中央控制器。图5是网络拆分方法500的示例实施例的流程图。在一示例实施例中,方法500可在集中式控制器如sdn控制器中实施。在另一示例实施例中,方法500可在asg节点(例如,图1所述的asg节点103a至103e)或csg节点(例如,图1所述的csg节点104a至104z)中实施。方法500可使用ipran网络拓扑(例如,asg节点和csg节点及其连接)来生成多个igp区域。方法500可以通过查询多个asg节点和/或csg节点和/或接收来自多个asg节点和/或csg节点的网络信息来接收ipran网络拓扑信息。网络信息可包括但不限于:网络节点标识符、网络节点地址(例如,ip地址或媒体接入控制(mediaaccesscontrol,mac)地址)、路由表,以及网络标识符(例如,虚拟专用局域网(virtualprivatelocalareanetwork,vlan)标识符)。在步骤502处,方法500可寻找一个或多个有效环(例如,图3所述的环)。寻找有效环的详情将在图6中论述。在步骤504处,方法500可寻找一个或多个有效链(例如,图3所述的链)。寻找有效链将在图7中论述。在步骤506处,方法500可寻找一个或多个环集群。环集群通常包括多个环或环集合,识别环集群将在图8中论述。在步骤508处,方法500可拆分包含的网络节点数量大于节点阈值m的环集群。方法500可递归分割网络节点数量大于节点阈值的环集群和/或可尝试最小化共享csg链路的数量。拆分环集群将在图9中论述。在步骤510处,方法500可形成粗化igp区域。形成粗化igp区域将在图13中论述。在步骤512处,方法500可执行全局优化。全局优化可以指划分细化算法,例如,kernighan-lin(kl)划分细化算法。方法500可在所生成的igp区域之间切换一个或多个项(例如,asg节点、csg节点,和/或csg链路)以最小化网络节点之间的距离和/或最小化共享csg链路的数量。图6是环搜索600的示例实施例的示意图。可实施环搜索600来定位一个或多个环(例如,图3所述的环)并生成环集合。环集合可包括一个或多个环的列表。环搜索600可减少搜索域来改进性能和/或降低复杂性。环搜索600可包括:将ipran网络的无向图表示转换为有向图表示,实施一个或多个环搜索算法,并过滤有向图表示。无向图表示可包括连接多个邻近网络节点的多个csg链路(例如,图3所述的csg链路),但是这些csg链路可以不指示网络节点中的数据流量流向。有向图表示可包括连接多个邻近网络节点的多个csg链路,并且这些csg链路可以指示网络节点中的数据流量流向。将无向图表示图转换为有向图表示可包括:将邻近网络节点(例如,asg节点602a至602d和/或csg节点604a至604j)之间的每个无向csg链路转换为邻近网络节点之间的一对有向csg链路。例如,csg节点604a和asg节点602a之间的无向csg链路可以转换为一对有向csg链路,包括沿第一方向的第一有向csg链路606和沿第二方向的第二有向csg链路608。第一有向csg链路606可从csg节点604a流向asg节点602a,第二有向csg链路608可从asg节点602a流向csg节点604a。环搜索算法可以在有向图表示上实施。环搜索算法可以包括但不限于:tiernan算法、tarjan算法、johnson算法,或者本领域普通技术人员在阅读本发明时可以理解的用于在有向图中定位一个或多个环的任意合适的算法。例如,tiernan算法可以如jamestiernan在“寻找图基本回路的有效搜索算法(anefficientsearchalgorithmtofindtheelementarycircuitsofagraph)”中所述,tarjan算法可以如roberttarjan在“详述有向图的基本回路(enumerationoftheelementarycircuitsofadirectedgraph)”中所述,johnson算法可以如donaldjohnson在“寻找有向图的所有基本回路(findingalltheelementarycircuitsofadirectedgraph)”中所述,所有文档的全部内容均以引入的方式并入。过滤有向图表示可包括从环集合中移除一个或多个重复环和/或距离为保持两个链路距离的环。多个邻近csg节点604a至604j和/或asg节点602a至602d之间的多个有向csg链路可形成一个或多个有向环。例如,第一有向环610可包括沿着第一方向(例如,顺时针方向)流经asg节点602b和602c以及csg节点604e至604h的环以及沿着第二方向(例如,逆时针方向)流经asg节点602b和602c以及csg节点604e至604h的第二有向环612。第一有向环610和第二有向环612包含相同的网络节点(例如,asg节点602b和602c以及csg节点604e至604h),可称为相互的副本。因此,第一有向环610或第二有向环612可从环集合中移除。在邻近网络节点的有向csg链路之间形成的环可保持两个csg链路的距离,并且可从环集合中移除。环618可使用有向csg链路614和616在csg节点604a和604b之间形成。环618可保持两个csg链路(例如,csg链路614和616)的距离,并且可从环集合中移除。图7是链搜索700的示例实施例的示意图。可实施链搜索700来定位一个或多个链(例如,图3所述的链)并生成链集合。链集合可包括一个或多个链的列表。链搜索700可包括:识别环集合之外的网络节点(例如,asg节点702a和702b和/或csg节点704a至704h)和/或csg链路,识别头节点,以及识别链。识别环集合之外的网络节点和/或csg链路可包括:将原始图表示(例如,无向图表示或有向图表示)与环集合(例如,图6所论述的环集合)中的多个环作比较以确定剩余网络节点和/或剩余csg链路。剩余网络节点可识别并可存储在剩余节点列表(例如,节点rem={n1,n2…nk})和/或剩余csg链路或边列表(例如,边rem={e1,e2…,em})中。例如,环集合可包括含asg节点702a和702b、csg节点704a至704d,以及csg链路708a至708e的环706。剩余列表节点可包括csg节点704e至704h,剩余链路列表可包括csg链路708f至708j。识别头节点可包括将剩余网络节点和/或链路与原始图表示和/或环集合作比较。环中网络节点与一个或多个剩余网络节点之间的csg链路可指示环中的网络节点为头节点。或者,为环和链这两者的成员的网络节点可以是头节点。在图7中,csg节点704d可确定为头节点。识别链可包括在每个头节点处执行图或树搜索以确定哪些剩余节点与特定链关联。图或树搜索可以是遍历和/或搜索树或图数据结构算法的深度优先搜索。深度优先搜索可以在头节点处(例如,csg节点704d)执行以确定与链710关联的网络节点(例如,csg节点704d至704h)和/或csg链路(例如,csg链路708f至708j)。图8是环集群800的示例实施例的示意图。环集群800可包括多个网络节点(例如,asg节点802a至802d以及csg节点804a至804i)和/或多个csg链路(csg链路808a至808l)。环集群800可包括共享一个或多个公共csg链路(例如,图3所述的csg链路)的一个或多个环集合(例如,图6所述的环集合)和/或一个或多个链集合(例如,图7所述的链集合)。寻找环集群800可包括:识别耦合到两个以上csg链路的一个或多个csg节点,将一个或多个csg节点的环和/集群合并为一个环集群,以及合并共享一个或多个csg链路和/或环的环集群。在图8中,csg节点804d和804g可识别为具有两个以上csg链路。csg节点804d可耦合到csg链路808c、808e和808f,csg节点804g可耦合到csg链路808g、808i和808j。识别为具有两个以上csg链路的网络节点可用于识别与环集群关联的多个环。例如,第一环集群可与csg节点804d关联,并且可包括环806a至806d以及806f。第二环集群可与csg节点804g关联,并且可包括环806b至806f。环集群可与包括一个或多个共享或公共csg链路和/或环的另一环合并。第一环集群和第二环集群分别包括环806b至806d以及806f,因而可共享一个或多个链路(例如,链路808d至808i)。因此,第一环集群和第二环集群可合并为单个环集群。图9是环集群拆分方法900的示例实施例的流程图。在一示例实施例中,方法900可在集中式控制器如sdn控制器中实施。在另一示例实施例中,方法900可在asg节点(例如,图1所述的asg节点103a至103e)或csg节点(例如,图1所述的csg节点104a至104z)中实施。可实施方法900来拆分一个或多个节点数量超过节点阈值(例如,节点阈值m)的环集群。在步骤902处,方法900可寻找最小环集合(mrs)。方法900可测试与环集群关联的环集合中的多个环组合。测试环组合可包括确定环组合是否包括环集群内的所有网络节点(例如,asg节点和/或csg节点)。寻找mrs可如将在图10所论述的那样实施。在步骤904处,方法900可为mrs生成环集群数据库(ringclusterdatabase,rcdb)图。rcdb图可包括多个环和与多个环互联的多个加权边。一对环之间的加权边的权重可与这一对环之间的共享csg链路数量关联。生成rcdb图可如将在图11所论述的那样实施。在步骤906处,方法900可使用动态权重k割划分rcdb图。方法900可将rcdb图拆分为多个分区,使得加权边的总权重(例如,聚合权重)得以最小化。拆分rcdb图可以如图12所述进行。图10是mrs方法1000的流程图。在一示例实施例中,mrs方法1000可在集中式控制器如sdn控制器中实施。在另一示例实施例中,mrs方法1000可在asg节点(例如,图1所述的asg节点103a至103e)或csg节点(例如,图1所述的csg节点104a至104z)中实施。可实施mrs方法1000来寻找环集群(例如,图8所述的环集群800)的mrs。在步骤1002处,mrs方法1000可从与环集群关联的环集合(例如,图6所述的环集合)中选择环组合。环组合可以包括与环集群关联的环集合中的一个或多个环。例如,环组合可包括任意数量的环,范围从一到与环集群关联的环集合中的所有环。在步骤1004处,mrs方法1000可确定所选环组合是否包括环集群内的所有网络节点。例如,mrs方法1000可将所选环组合内的网络节点与环集群内的所有网络节点的列表(例如,数据库)作比较。如果所选环组合包括环集群内的所有网络节点,则mrs方法1000可前进至步骤1006;否则,mrs方法1000可返回步骤1002并选择不同的环组合。在步骤1006处,mrs方法1000可确定所选环组合是否是现有mrs的超集。确定所选环组合是否是现有mrs的超集可包括将所选环组合与测试环集合作比较。测试环集合可包括一个或多个之前选择的环组合。环组合内的所选环可与测试环集合内的环作比较。当所选环集合中的所有环在测试环集合中出现时,所选环组合可以是现有mrs的超集。当所选环集合中的一个或多个环没有在测试环集合中出现时,所选环组合可能不是现有mrs的超集。当测试环集合不可用或者不存在之前选择的环组合时,所选环组合可能不是测试环集合的超集并且所选环组合可存储为测试环集合。如果所选环组合是现有mrs的超集,则mrs方法1000可返回步骤1002,并选择不同的环组合;否则,mrs方法1000可前进至步骤1008。在确定所选环组合是现有mrs的超集后,可移除一个或多个可能的环组合。在步骤1008处,mrs方法1000可将所选环组合存储为环集群的mrs。在步骤1010处,mrs方法1000可确定是否需要测试任何额外的环组合。如果存在待测试的额外环组合,则mrs方法1000可返回步骤1002,并选择不同的环组合;否则,mrs方法1000可终止。图11是环集群数据库图1100的示例实施例的示意图。rcdb图1100可包括多个环1102a至1102d(例如,图3所述的环)以及互联多个环1102a至1102d的多个加权边1104a至1104f。每个环的节点数量不超过节点阈值(例如,节点阈值m)。一对环之间的加权边的权重可与这一对环之间的共享csg链路数量关联。例如,rcdb图1100可包括环1102a和1102b之间权重约为零的第一加权边1104a、环1102a和1102c之间权重约为零的第二加权边1104b、环1102a和1102d之间权重约为二的第三加权边1104c、环1102d和1102b之间权重约为二的第四加权边1104d、环1102b和1102c之间权重约为四的第五加权边1104e,以及环1102d和1102c之间权重约为二的第六加权边1104f。图12是拆分后的rcdb图1200的示例实施例的示意图。拆分后的rcdb图1200可以首先包括与图11所述的rcdb图1100大体类似的拓扑。可对拆分后的rcdb图1200进行配置,使得连接拆分后的rcdb图1200的分区的加权边的总权重得以最小化。拆分后的rcdb图1200可通过使用最小k割算法拆分rcdb图(例如,图11所述的rcdb图1100)来生成。最小k割算法可以是寻找边(例如,加权边)集合的组合优化问题,移除这一边集合可以将图划分为k个连接分量。这一边集合可称为k割。因此,目标是确定最小权重k割。动态权重最小k割可提高最小k割。动态权重最小k割可如n.guttmann-beck等人在“最小k割的近似算法(approximationalgorithmsforminimumk-cut)”和sachinjain等人在“k路图划分的贪婪算法(greedyalgorithmsfork-waygraphpartitioning)”中所述,这两个文档的全部内容均以引入的方式并入。加权边1104a至1104f的权重可以是邻近环1102a至1102d之间的共享csg链路(例如,图3所述的csg链路)的数量。rcdb图上的网络节点(例如,图1所述的asg节点103a至103e和/或csg节点104a至104z)和/或共享csg链路可以重复。每次k割后,可调整加权边1104a至1104f的权重。如本领域普通技术人员在阅读本发明时可以理解的那样,可以采用任意合适的算法(例如,k割算法),用于基于rcdb图的加权链路来拆分rcdb图。在一实施例中,可实施贪婪算法来执行动态权重最小k割。一个或多个相对权重最低的加权边可被分割(例如,移除),例如,加权边1104a至1104c。所得分区中的网络节点数量可通过遵循动态权重最小k割来确定。分区的重复网络节点和/或csg共享链路可被移除。如有必要,动态权重最小k割可以重复以满足一个或多个igp要求。例如,动态权重最小k割可以重复一次或多次以满足igp节点阈值要求。在替代性实施例中,如本领域普通技术人员在阅读本发明时可以理解的那样,可以采用任意其它合适的最小k割算法。图13是粗划分方法1300的示例实施例的流程图。在一示例实施例中,方法1300可在集中式控制器如sdn控制器中实施。在另一示例实施例中,方法1300可在asg节点(例如,图1所述的asg节点103a至103e)或csg节点(例如,图1所述的csg节点104a至104z)中实施。可实施方法1300以通过划分一个或多个igp区域来形成多个igp区域,从而最小化每个分区中内部边或链路的总权重的同时每个分区会满足一个或多个igp区域要求。例如,网络运营商可以建立一个或多个igp要求,其包括第一阈值要求,即每个igp区域包含的网络节点(例如,csg节点和asg节点)最多约为节点阈值m个或更少。此外,每个igp区域可能要求包括至少n(例如,约为二或更多)个asg节点。网络节点可通过将网络节点之间距离较短的网络节点进行分组来保持原始拓扑局部性。在步骤1302处,方法1300可生成距离图。距离图可用于从距离(例如,跳数)方面描述多个环和/或链之间的关系和/或可用于将igp区域划分为多个igp区或分区。距离图可通过使用将在图14中论述的多个区单元(例如,环集群)来生成。在步骤1304处,方法1300可建立节点阈值数量的粗化igp区域。方法1300可在距离图中识别权重最大且具有一对顶点(例如,区单元)的加权边(例如,区单元加权边)。区单元和区单元边将在图14中论述。方法1300可从耦合到权重较小的第二区单元边的一对区单元中选择区单元并重新分配新分区内的区单元。在满足igp要求(例如,节点阈值和/或asg节点要求)的情况下,还可在新igp区域内重新分配一个或多个邻近区单元。如若需要,步骤1304可重复一次或多次以满足一个或多个igp要求。例如,可重复步骤1304,直至大多数igp区域包含的节点数量少于或约等于节点阈值。在步骤1306处,方法1300可细化一个或多个包括少于节点阈值一半要求的igp区域。方法1300可细化一个或多个igp区域以满足igp节点要求,使得每个igp区域中的网络节点总数可约为节点阈值的一半(例如,m/2)至可约为节点阈值(例如,m)。细化包括少于约节点阈值一半要求的一个或多个igp区域可如图15所述实施。在步骤1308处,方法1300可细化一个或多个含n个asg节点的igp区域。方法1300可细化一个或多个igp区域以满足asg节点要求,使得每个igp区域中的asg节点数量至少约为n。细化一个或多个含n个asg节点的igp区域如图16所论述的那样进行实施。在步骤1310处,方法1300可针对距离细化一个或多个igp区域。方法1300可细化一个或多个igp区域以减少一个或多个igp区域内的边权重总和。如果两个igp区域满足igp节点要求和asg节点要求,则方法1300可选择igp区域并且可交换一个或多个区单元,并且两个igp区域中的内部边的总权重可以减少。在一项示例实施例中,优先级可与总权重减少关联。例如,较高优先级可对应于较大的总权重减少。额外的考虑因素可用于选择交换哪些区单元。例如,降低共享链路总数量或选择产生较小次要距离(例如,图14所述的次要距离)的区单元等因素也可以考虑。在一示例实施例中,方法1300可利用约束kernighan–lin细化算法来实施步骤1306至1310。或者,方法1300可利用本领域普通技术人员在阅读本发明时可以理解的任意其它合适的算法。图14是距离图1400的示例实施例的示意图。距离图1400可用于从距离(例如,跳数)方面描述网络的一部分,多个环集群、环和/或链之间的关系,和/或可用于将一个igp区域划分为多个igp区域。距离图可以是区单元集合和区单元边集合的函数,其中区单元距离对应于区单元边的权重。距离图1400包括多个区单元1402a至1402d以及多个区单元边1404a至1404f。当环集群包含的节点数量不超过m时,环集群(例如,图8所述的环集群800)可称为区单元。或者,当环集群包含的节点数量多于m时,环集群分割所产生的每个分区可称为区单元。asg距离可以指汇聚环上一对asg节点(例如,图1所述的asg节点103a至103e)之间的最短跳数。区单元距离可以指两个区单元内任意一对asg节点之间的asg距离,并且可指示沿汇聚环第一方向的一对asg节点之间的最小跳数(例如,第一区单元距离)和第二方向的一对asg节点之间的最小跳数(例如,第二区单元距离)。较小的区单元距离可称为区单位主要距离,其它区单元距离可称为区单元次要距离。区单元主要距离可用于最小化区单元之间的asg跳数。区单元次要距离可用作进一步最小化区单元之间的asg跳数的决定性因素。当区单元包括单个asg节点(例如,头asg节点),区单元主要距离和区单元次要距离可以几乎相等。区单元边1404a至1404f的权重可包括关联的区单元次要距离和区单元主要距离。例如,区单元主要距离可指示为第一值(例如,区单元边1404a的值为1),区单元次要距离可由第二值(例如,区单元边1404a的值为2)指示。距离图可对应于网络的一部分。例如,距离图1400可对应于图4所述的网络400的一部分。在此示例中,区单元1402a可对应于图4所示的环406b至406d,区单元1402b可对应于图4所示的环406e,区单元1402c可对应于图4所示的链408,以及区单元1402d可对应于图4所示的环406a。图15是igp区域细化方法1500的示例实施例的流程图。在一示例实施例中,方法1500可在集中式控制器如sdn控制器中实施。在另一示例实施例中,方法1500可在asg节点(例如,图1所述的asg节点103a至103e)或csg节点(例如,图1所述的csg节点104a至104z)中实施。在一项示例实施例中,方法1500可使用深度优先搜索进行实施以细化一个或多个igp区域,从而满足igp节点要求。例如,igp节点要求可以要求每个igp区域中的网络节点总数可约为节点阈值的一半(例如,m/2)至可约为节点阈值(例如,m)。在步骤1502处,方法1500可基于多个邻近igp区域的总权重来对这些区域进行分类。在步骤1504处,方法1500可选择包含的节点数量约小于节点阈值一半的第一igp分区中的第一区单元。在步骤1506处,方法1500可选择第二(例如,邻近)igp区域中的第二区单元。在步骤1508处,方法1500可交换第一区单元和第二区单元。可将第一区单元从第一igp区域移往第二igp区域,可将第二区单元从第二igp区域移往第一igp区域。在步骤1510处,方法1500可确定第一igp区域和第二igp区域是否包括数量约为节点阈值一半的节点至数量约为节点阈值(例如,m)的网络节点,从而是否满足igp节点要求。如果第一igp区域和第二igp区域包括数量约为节点阈值一半的节点至数量约为节点阈值的网络节点,则方法1500可前进至步骤1512;否则,方法1500可返回步骤1506。在步骤1512处,方法1500可存储以下分配:将第一区单元分配到第二igp区域,将第二区单元分配存第一igp区域。在步骤1514处,方法1500可确定一个或多个igp区域是否可相互合并以满足igp节点要求。如果可以合并一个或多个igp区域,则方法1500可返回步骤1512;否则,方法1500可前进至步骤1516。在步骤1516处,方法1500可确定igp区域是否满足igp节点要求。如果igp区域满足igp节点要求,则方法1500可终止;否则,方法1500可前进至步骤1518。在步骤1518处,方法1500可确定igp区域是否存在任何剩余区单元交换组合。如果igp区域存在剩余区单元交换组合,则方法1500可返回步骤1506;否则,方法1500可前进至步骤1520。在步骤1520处,方法1500可使用最满足igp节点要求的记录交换顺序。图16是igp区域细化方法1600的另一示例实施例的流程图。在一示例实施例中,方法1600可在集中式控制器如sdn控制器中实施。在另一示例实施例中,方法1600可在asg节点(例如,图1所述的asg节点103a至103e)或csg节点(例如,图1所述的csg节点104a至104z)中实施。在一项示例实施例中,方法1600可使用深度优先搜索进行实施以细化一个或多个igp区域,从而满足asg节点要求。例如,asg节点要求可以要求每个igp区域中的asg节点总数可以至少是asg节点阈值(例如,n)数量的asg节点(例如,两个asg节点)。在步骤1602处,方法1600可对多个邻近igp区域进行分类。igp区域可基于它们的总内部权重、对igp区域中asg节点数量的影响,或者本领域普通技术人员在阅读本发明时可以理解的任意其它合适的标准进行分类和/或优先化。在步骤1604处,方法1600可选择第一多个区单元(例如,图14所述的区单元)。在步骤1606处,方法1600可选择第二多个区单元。第一多个区单元和/或第二多个区单元可包括一个或多个邻近igp区域中的区单元。在步骤1608处,方法1600可交换第一多个区单元和第二多个区单元。在步骤1610处,方法1600可确定igp区域是否包括至少asg节点阈值(例如,n)数量的asg节点,从而是否满足asg节点要求。如果igp区域满足asg节点要求,方法1600可前进至步骤1612;否则,方法1600可返回步骤1606。在步骤1612处,方法1600可存储第一多个区单元和第二多个区单元的分配。在步骤1614处,方法1600可确定一个或多个igp区域是否可相互合并以满足asg节点要求。如果可以合并一个或多个igp区域,方法1600可返回步骤1612;否则,方法1600可前进至步骤1616。在步骤1616处,方法1600可确定igp区域是否满足asg节点要求。如果igp区域满足asg节点要求,则方法1600可终止;否则,方法1600可前进至步骤1618。在步骤1618处,方法1600可确定igp区域是否存在任何剩余区单元交换组合。如果igp区域存在剩余区单元交换组合,则方法1600可返回步骤1606;否则,方法1600可前进至步骤1620。在步骤1620处,方法1600可使用最满足asg节点要求的记录交换顺序。本发明公开至少一项示例性实施例,且所属领域的普通技术人员对所述示例性实施例和/或所述示例性实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述示例性实施例的特征而得到的替代性示例性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制应被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,只要公开具有下限rl和上限ru的数字范围,则明确公开了此范围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:r=r1+k*(ru–r1),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、5%……50%、51%、52%……95%、96%、97%、98%、99%或100%。此外,由上文所定义的两个数字r定义的任何数字范围也是明确公开的。除非另有说明,否则使用术语“约”是指随后数字的±10%。相对于权利要求的任一元素使用术语“选择性地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由……组成”、“基本上由……组成”以及“大体上由……组成”等较窄术语的支持。本文所述的所有文档都以引入的方式并入本文中。虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1