CN104396163A - 提供非重叠环形-网状网络拓扑方法和装置 - Google Patents
提供非重叠环形-网状网络拓扑方法和装置 Download PDFInfo
- Publication number
- CN104396163A CN104396163A CN201380032626.4A CN201380032626A CN104396163A CN 104396163 A CN104396163 A CN 104396163A CN 201380032626 A CN201380032626 A CN 201380032626A CN 104396163 A CN104396163 A CN 104396163A
- Authority
- CN
- China
- Prior art keywords
- ring
- overlapped
- node
- destination node
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J14/00—Optical multiplex systems
- H04J14/02—Wavelength-division multiplex systems
- H04J14/0278—WDM optical network architectures
- H04J14/0283—WDM ring architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J14/00—Optical multiplex systems
- H04J14/02—Wavelength-division multiplex systems
- H04J14/0278—WDM optical network architectures
- H04J14/0284—WDM mesh architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
多种实施例提供的方法和装置提供了非重叠环型-网状网络拓扑,其降低了成本(例如网络链路的数目),并且提供了对故障的弹性以及满足了QoS需求(例如遍历网络架构导致的时延)。特别是,属于集群的目标节点集合通过N个环连通。每个节点均为全部N个环的成员,并且一个环中的节点之间的链路不与另一环中的链路复用。
Description
技术领域
本发明一般地涉及用于提供一种交换机集群网络架构的方法和装置。
背景技术
本节介绍的内容有助于更好的理解本发明。因此,本节所作出的陈述应从这个角度来看,而不应被理解为承认什么是现有技术或者什么不是现有技术。
在一些已知的网络拓扑中,可将节点布置为总线型拓扑,其中通用的骨干连接全部的节点。在另外的已知网络拓扑中,节点可被布置为环形拓扑,其中每个在链中的节点都具有两个相邻的节点,并且最后节点连接回第一节点。还有其他的已知网络拓扑,可将节点布置为星型拓扑,其中每个子节点被直接地连接到一个父节点。仍然还有其他已知的网络拓扑,可将节点布置为树拓扑,其中根节点生成一级或多级节点,并且每个在较低级上的子节点直接地与其在树的更高级的父节点相连。还有其他已知的网络拓扑,可将节点布置为网状拓扑,其中一个或多个节点连接到一个或多个其他节点,提供了穿过网络的多条路径。
发明内容
多种实施例提供的方法和装置提供了非重叠环形-网状(ring-mesh)网络拓扑,其在降低了成本(例如,网络链路数目)的同时还提供了对故障的弹性并且满足了QoS需求(例如,遍历网络架构导致的网络时延)。
在一个实施例中,提供了用于提供交换机集群的装置。该装置包括数据存储装置以及与数据存储装置通信地连接的处理器。该处理器被编程以:确定目标节点集;确定环计数;并基于所述目标节点集和环计数确定网络架构,该网络架构包括可通信地连接的目标节点集,以形成与环计数相等的多个非重叠环。
在上述的一些实施例中,环计数取决于目标节点集中的若干成员。
在上述的一些实施例中,环计数取决于性能指标。
在上述的一些实施例中,对网络架构的确定包括对所述处理器编程以:基于目标节点集和环计数确定多个候选网络架构;然后基于性能指标选择所述多个候选网络架构中的一个作为所述网络架构。
在上述的一些实施例中,性能指标至少是平均跳数和最大跳数中的一个。
在上述的一些实施例中,对网络架构的确定包括对所述处理器编程以:基于至少一个其他非重叠环,构造新的非重叠环。其中多个非重叠环包括新的非重叠环和至少一个其他非重叠环。
在上述的一些实施例中,对新的非重叠环的构造包括对所述处理器编程以:使用第一目标节点初始化部分非重叠环;基于对第二目标节点与其相邻目标节点之间在该部分非重叠环中的连接不被至少一个其他的非重叠环中复用的确定,将第二目标节点添加至该部分非重叠环;然后,基于对第三目标节点与其相邻目标节点之间在该部分非重叠环中的连接不被至少一个其他非重叠环复用的确定,在该部分非重叠环中插入第三个目标节点。
在上述的一些实施例中,从目标节点的子集中随机选择第二目标节点。所述子集包括未包含在所述部分非重叠环中的目标节点的成员,其与所述部分非重叠环中的第一节点和最后一个节点的连接不被至少一个其他的非重叠环所复用。
在上述的一些实施例中,对第三个目标节点的插入基于下述确定:留待添加至所述部分非重叠环的目标节点中没有可被附加至所述部分非重叠环中的目标节点。
在上述的一些实施例中,网络架构的确定进一步基于顾客服务级别协议或服务质量约束中的至少一个。
在第二实施例中,提供了用于交换数据的交换系统。该系统包括的交换机集群包括多个通信地连接以形成多个非重叠环的节点。
在上述的一些实施例中,交换机集群本质上提供了三跳网络。
在上述的一些实施例中,系统进一步包括与所述交换机集群通信地连接的第二交换机集群。所述第二交换机集群包括通信地连接以形成第二个多个非重叠环的第二个多个节点。
在上述的一些实施例中,系统进一步包括与所述交换机集群通信地连接的第二交换机集群。所述交换机集群包括第二个通信地连接以形成完全网状拓扑的第二个多个节点。
在上述的一些实施例中,系统进一步包括第二交换机集群,所述第二交换机集群包括通信地连接以形成第二个多个非重叠环的第二个多个节点。其中所述交换机集群和所述第二个多个节点被安排为树型拓扑。
在第三实施例中,提供了一种提供交换机集群的方法。该方法包括:确定目标节点集;确定环计数;以及基于所述目标节点集和所述环计数确定网络架构,所述网络架构包括通信地连接的目标节点集,以形成与环计数相等的多个非重叠环。
在上述的一些实施例中,所述方法进一步包括基于网络增长的阈值为所述网络架构增加新的环。
在上述的一些实施例中,增加新环的步骤包括在第一目标节点上重新定向端口,以将第一目标节点与第二目标节点可通信地连接。
在上述的一些实施例中,所述环计数基于性能指标。
在上述的一些实施例中,确定网络架构的步骤包括:基于至少一个其他非重叠环构造新的非重叠环。其中,多个非重叠环包括新的非重叠环和至少一个其他重叠环。
在上述的一些实施例中,所述网络架构的确定进一步基于顾客服务级别协议或服务质量约束中的至少一个。
附图说明
附图中示出了多种实施例,其中:
图1示出了数据中心网络架构的实施例100A,包括示例性的数据中心100A和示例性的网络100B。
图2A示出了在灵活的数据中心网络架构200A中,示例性的交换机集群260的框图。
图2B示出了示例性的交换机集群200B的功能框图,所述交换机集群200B是图2A中交换机集群260的实施例。
图3A示出了超级集群与交换机集群在节点处所需要的连接器的数量以及网络链路数量的比较。
图3B示出了安排在4个非重叠的环中的64节点网络的潜在结构的修订数据;
图3C示出了安排在4个非重叠的环中的80节点网络的潜在结构的修订数据;
图4描述了用于设计图2B中所述交换机集群200B的方法400的实施例的流程图;
图5描述了用于构造新环的方法500的实施例的流程图,如图4中步骤460所示出的;
图6描述了用于在新环上添加新的节点的方法600的实施例的流程图,如图5中步骤560所示出的;以及
图7示意性示出了多种装置700的实施例,例如图2B中的节点之一或被编程以实现方法400、500或600的通用计算机。
为了便于理解,为实质上相同或相似的结构或实质上相同或相似的功能的元素分配相同的参考数字。
具体实施方式
以上叙述和描绘仅仅示出了本发明的原理。因此需要指出,本领域技术人员能够遵循本发明的原理设计出多种本文中没有明确描述或展示的实施例,但其仍然包括在本发明的范围之中。此外,所有在此列举的例子主要为了教导和帮助读者理解本发明的原理以及发明人提出的概念以推动本领域技术的发展,并且所举示例还应被理解为不限于本文这些特别列举的例子和条件。另外,本文中所使用的术语“或”,除非另有说明(例如,“否则”或“或在替代方案中”),不具有排他性。此外,文中描述的各种实施例并不互斥,一些实施例可以与一个或多个其他实施例结合,形成新的实施例。
多种实施例提供方法和装置提供了实现非重叠环形-网状网络拓扑,其能够在降低开销(例如网络连接的数量)的同时提供对故障的弹性并满足QoS要求(如遍历网络架构导致的网络时延)。特别是,属于集群的目标节点集通过N个环相互连接。每个节点都是全部N个环的成员,并且环中节点之间的连接不会被另一个环复用。有利地,所述非重叠环形-网状拓扑降低了在每个节点处所需连接器的数量和整个网络连接的数量,以便提供对故障的弹性、高连接性以及可与其他已知网络拓扑——如网状和集群拓扑——的两个节点之间的最短路径相较的跳数。
尽管本发明的叙述和描绘示出了数据中心中交换机集群的非重叠环形-网状拓扑的实施例。但是应指出,所述非重叠环形-网状拓扑可在任何适当的网络中使用以提供节点之间的连接性。
图1示出了数据中心网络架构的实施例100A,包括示例性数据中心100A和示例性网络100B。所述示例性数据中心100A包括资源120-1-1-1–120-y-z-5(统称为资源120)。资源120被安排在“y”轴,每行均包含可通过通信路径访问的资源机架(例如105架)的编号(例如“x”或“y”)。通信路径经由网络100B的顶部机架交换机110-1–1–110-y–z(统称为TOR交换机110)中适当的一个、行尾交换机140-1–140–n(统称为EOR交换机140)中适当的一个、层2聚合交换机150-1–150-n(统称为聚合交换机150)中适当的一个以及适当的链路130-1至130-2(统称为链路130)通信地连接至资源120(为清楚的目的,省略剩余的链路标签)。数据中心100A与网络100B之间的通信是经由聚合交换机150之一、路由器160-1至160-3(统称160路由器)中适当的一个,以及适当的链路130组成。应指出,数据中心可以任何适当的配置来架构,并且所述数据中心100只是用于示意性目的的示例性架构。例如,所述通信路径可包括数据120于网络100B之间的任何适当的设备配置(如交换机、路由器、集线器等)。
TOR交换机110在位于关联机架的资源与和适当的EOR交换机之间交换数据。例如,TOR交换机110-1-1经由适当的EOR交换机(如EOR交换机140-1)从机架105交换数据至网络100B。
资源120可为任何适当的设备,如处理器、存储器、存储装置或网络。应指出,虽然每个机架(如机架105)中示出了5个资源,每个机架可包括更多或更少的资源,并且每个机架可包含不同类型或数量的资源。在一些实施例中,应用可被多个组件实例所支持,例如虚拟机(VM)或虚拟存储装置。这些组件实例可包括在数据中心网络架构100A中连通的多样化的资源。
如图所示,每个资源120均使用行-列-资源数字命名法进行标记。例如,资源120-2-3-4为位于第二行和第三列的机架中的第四个资源。
EOR交换机140在关联的TOR交换机与适当的聚合交换机之间交换数据。例如EOR交换机140-1经由适当的聚合路由器(如聚合路由器150-1或150-2)从TOR交换机110-1–1—210–1-x交换数据至网络100B。
聚合交换机150在关联的EOR交换机与适当的路由器之间交换数据。例如,TOR交换机110-1-1经由适当的EOR交换机(如,EOR交换机140-1)和适当的聚合交换机(如聚合交换机150-1或150-2)从机架105中的资源交换数据至网络100B。
经由适当的聚合交换机,路由器160在网络100B与数据中心100A之间交换数据。例如,路由器160-1可经由聚合交换机150-1从网络100B交换数据至数据中心100A。
网络100B可包括任意数量的接入及边缘节点和网络设备以及任意数量和配置的链路(为了清楚起见,没有显示)。此外,应指出网络100B可包括任意组合和任意数量的无线、有线网络,包括:LTE、GSM、CDMA、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、城域网(MAN)等等。
在一些实施例中,TOR交换机120或EOR交换机140是以太网交换机。
在一些实施例中,TOR交换机120或EOR交换机140可被安排为是冗余的。例如,机架105可由两个或更多的TOR交换机110提供服务。
在一些实施例中,聚合交换机150采用层2以太网交换机。
图2A示出了灵活的数据中心网络架构200A中示例性交换机集群260的框图。所述灵活的数据中心网络架构200A包括如图1中描述的资源120和聚合交换机150。交换机集群260包括如上所述的在资源120与聚合交换机150之间交换数据的多个目标节点。
需要指出的是,交换机集群260可以以任何适当的配置进行架构,并且在这里的交换机集群260只是一个用于说明目的的示例性的架构。在一些实施例中,交换机集群260可包括图1中TOR交换机110(即,并不是如图2A中示出的EOR交换机140)。在一些实施例中,交换机集群260可包括图1中的EOR交换机140。
在一些实施例中,所述灵活的数据中心网络架构200A可包含更多的交换机集群260。在这样的一些实施例中,TOR交换机或EOR交换机可被安排在多个交换机集群中。在这样的一些实施例中,一个或更多的多个交换机集群可被设计以支持特定的服务质量(QoS)标准。例如,虚拟机或虚拟存储装置可被放置在适当的集群中创建,这取决于他们的QOS需求或者他们的对端的位置。
在一些实施例中,交换机集群可以以除传统的网络拓扑如树形网络拓扑之外的网络拓扑进行部署。有利的是,交换机集群的安排可从树形网络的南北链路分流流量。
图2B示出了示例性交换机集群200B的功能框图,其为图2A中交换机集群260的实施例。所述交换机集群200B包括了一批节点:节点1-节点17(统称为节点),经由链路:链路环1-1至链路环3-1(统称为链路)在环网络:环1、环2和环3(统称为环)中相互连接。
节点可包括任意类型或数量的适当的交换机。具体来说,交换机集群200B的节点通过N个“非重叠环”连接,每个节点均是全部N个环的成员。例如,图2B的实施例中,节点可包括TOR交换机120的部分或全部,或者EOR交换机140的部分或全部。如本文所述,“非重叠环”是指在一个环中的节点之间的链路不与另一个环内的链路复用。应指出虽然此处示出了17(17)个节点,交换机集群200B可包括更少或更多的节点。还应指出除了组成该交换机集群的目标节点外,所述节点还包括与其他组件的连接。例如,节点可连接至:(i)资源(例如,图2中的资源120)、(ii)聚合交换机(例如,图2中的聚合交换机150)、(iii)其它交换节点(例如,如果图1中的TOR交换机110被集聚(clustered)在多个交换机集群之中),或(iv)其他类似物。
链路支持在一个或多个通信信道上进行通信,所述通信信道例如:无线通信(例如LTE、GSM、CDMA、蓝牙);毫微微蜂窝通信(例如WiFi);分组网络通信(例如IP);宽带通信(例如DOCSIS和DSL);存储通信(例如光纤通道、iSCSI)等等。应指出虽然以单独的连接进行描述,链路可以是任意数量或组合的通信信道。
如图所示,交换机集群200B为3跳网络,其包括被安排在3个(3)“非重叠环”中的17个节点。这三个环:环1、环2和环3分别使用实线(如链路环1-1)、虚线(如链路环2-1)和点线(如链路环3-1)示出。示出的所述“非重叠环”为:
环1={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
环2={1,14,3,8,2,9,7,16,4,17,12,6,11,5,13,10,15}
环3={1,7,2,4,9,16,11,13,6,14,10,5,17,3,12,15,8}
其中数字1-17分别指节点1-17,而符号{n1,n2,n3,n4,…,nk}则指示相邻的节点被双向地相互连接并且nk被双向地连接回n1的环。
有利地,以非重叠环的安排连接节点提供了路由的多样性、恢复性(resiliency)和高连接性。
参照图3A所示,交换机集群200B相对于比传统的超级集群布置来说,优势在于包含在节点处的更少的连接器和更少的网络链路,并且仍可提供单点故障(例如节点或链路)的保护,并提供可以相较的吞吐量(例如可以相较的跳数)。
如本文所述,“N跳”网络为交换机集群中的基本上任意节点的组合之间提供N跳或者更少的连通性,这里的“基本上”意为大于99%。换句话说,n跳交换机集群的构造可包括可能的交换机集群的构造,其中一个或多个节点对之间通信需要多于N跳。例如,参阅图3B,对使用4个非重叠的环构造的3跳64节点的网络的1000个可能的环结构进行的计算机仿真估算出的需要4跳的节点组合在全部可能的节点组合中的比例的范围仅为0.00%-0.15%。在第二示例中,参阅图3C,对使用4个非重叠的环构造的3跳80节点的网络的1000个可能的环结构进行的计算机仿真估算出的需要4跳的节点组合在全部可能的节点组合中的比例的范围仅为0.00%-0.47%。
应当指出,尽管交换机集群200B被示出为3跳网络,交换机集群200B可为更少或更多跳。在一些实施例中,交换机集群200B基于成本或性能指标进行设计。需要指出,对于更大跳数尺寸的网络,在节点处的连接器以及网络中的链路数目会减少(即,更高的成本效率),但是性能会降低。
在一些实施例中,所述节点包括路由协议如IS-IS(ISO 10589)以确定网络拓扑并且在两个节点之间转发数据(例如,数据包)时使用最短路径。
在一些实施例中,一旦网络的增长超过了阈值(例如,节点的数目),为了维持节点之间的跳数以满足已建立的需求,可增加新的环。在这些实施例中,可以设置环的最大数目。在这些实施例中,节点可被配置以支持升级至所设置的环的最大数目的值。
在一些实施例中,所述节点被配置(例如端口)以支持至对端(peer)交换机或服务器的连接性。在一些这样的实施例中,至服务器的端口可被重定向以支持至对端交换机的连接性(例如添加新的非重叠环到交换机集群)。
图4描绘示出方法400的实施例的流程图,所述方法用于设计图2B的交换机集群200B。该方法包括:初始化所述交换机集群(步骤420)并基于步骤420中的初始化,构造“非重叠环”(步骤460),然后确定该交换机集群构建是否已完成(步骤440)。
在方法400中,步骤420包括初始化交换机集群。特别是,确定“非重叠的环”的数目(即RingCount)。在一些实施例中,还确定第一环。在一些这样的实施例中,第一环的构建可为{1,2,...,k}。其中k是节点的数目。
在方法400中,步骤440包括确定交换机集群的构建是否完成。特别是,执行该方法的装置确定已构建的环的数量(即RingsConstructed)是否等于所述RingCount。如果RingsConstructed≥RingCount,则所述方法进行至步骤495,否则所述方法进行至步骤460。
在方法400中,所述步骤460包括构建新的“非重叠环”。一旦完成,所述方法返回至步骤440。
在步骤420的一些实施例中,RingCount的值由用户设置。
在步骤420的一些实施例中,RingCount的值基于交换机集群中目标节点的数目。在一些这样的实施例中,RingCount的值进一步基于性能指标。例如,参阅图3C,如果满足4跳节点至节点组合(例如,不允许4跳组合)的最小数目或者满足平均跳阈值(例如,小于2.25)环的构建可能不被满足,可增加所述RingCount(例如在图3B的示例中,从4增加到5)。
在步骤420的一些实施例中,RingCount的值基于下述等式:
[等式1]RingCount≤INT(k/8+1)
其中k是节点数目,INT()为返回运算的整数值的函数。有利地,约束[等式1]确保了在不创建复用的链路的情况下创建环。
在一些实施例中,由于网络的增长而修改交换机集群的架构。在这些实施例中,可使用本文描述的方法将添加至网络的节点插入到现有交换机集群中。在一些这样的实施例中,每次将新的节点插入到现有的一个环中,从环1开始。在一些这样的实施例中,对第一环来说,所述新的节点可被添加至环尾。
在一些实施例中,所述方法进一步包括确定节点之间的最短路径。特别是,如果执行所述方法的装置确定在步骤440中所述交换机集群已被构建,可计算出节点或跳数之间的最短路径。
在一些实施例中,执行所述方法的装置多次执行所述方法。在一些这样的实施例中,预先确定的阈值数定义了所述方法将被执行的次数。在一些这样的实施例中,运行所述方法的次数基于预先确定的性能阈值(例如,执行所述方法直至达到性能指标阈值)。在一些这样的实施例中,所述次数基于预先确定的阈值数或性能指标阈值(例如,执行该方法直至达到性能指标阈值或预先确定的运行阈值数)。性能指标可以是任何适当的指标,如:(i)跳数(例如,最小化网络平均跳数或最小化节点间的聚合最大跳数);(ii)访问延迟;(iii)成本;(iv)顾客服务级别协议或服务质量的约束(例如,可要求一个或多个节点之间节点至节点的连接为固定在较低的跳数);(v)资源拓扑(例如,在一个资源机架中的资源可优选地经由较少的跳数连接至另一个资源机架);(vi)N跳网络的性能特性(例如,严格的N跳网络中,没有节点对需要多于N跳或者允许的可需要大于N跳的节点对的最大百分比);或(vii)其他类似的指标。例如,执行所述方法的装置执行了1000次所述方法并达到了图3B示出的结果,可选择具有最低的平均跳数的布置或具有最少的需要3跳或更多跳的节点至节点组合的数量的步骤。在另一示例中,可为指定节点与另一节点之间的连接满足最小跳数的布置(例如,图2B中节点1和节点7之间只有1跳)施加约束以限制交换机集群的选择。
在一些实施例中,可选择或调节输入参数(例如,环数或节点数)或编程参数(例如,程序迭代次数)。例如,为满足严格N-跳网络的性能特征,可增加环数。
在一些实施例中,步骤460包括使用传统经典优化技术来构造下一环。传统经典优化技术包括确定最优地实现预期目标或目的行为。最优地实现目标或目的的行为可通过目的函数的最大值或最小值来确定。在一些实施例中,目的函数的目标或标准可为最小成本或最小延迟(例如,最小化跳数或访问延迟)。
问题可以被描述为:
优化:
[等式2]y=f(x1,x2,…,xn)
约束条件:
[等式3]
其中等式2是目的函数,等式3构成施加至所述方案的约束集。变量xi:x1,x2,…,xn,代表决策变量集,并且y=f(x1,x2,…,xn)为根据这些决策变量表述的目的函数。需要指出的是,所述目的函数需被最大或最小化。
图5描绘了示出方法500的实施例的流程图,所述方法用于构建新的环,如图4中步骤460所示。所述方法包括初始化新环(步骤520),基于步骤520的初始化将新的节点添加至所述环上(步骤560),并确定该环是否已构建完成(步骤540)。
在方法500中,步骤520包括初始化新环。详细地来说,选择节点以创建部分形成的环。在一些实施例中,选择节点1。
在方法500中,步骤540包括确定新的“非重叠环”的构造是否已完成。详细地来说,执行所述方法的设备确定是否所有的节点都已被添加至所述新环。如果所有的节点都已被添加到新的环,则所述方法前进到步骤595,否则所述方法则进行到步骤560。
在方法500中,步骤560包括将添加新的节点至环。详细地来说,执行所述方法的装置确保在插入或增加一个新节点到所述部分的环时,在新添加的节点与它的相邻节点之间创建的新链路不与任何先前形成的“非重叠环”中的链路复用。
在步骤560的一些实施例中,增加节点直至不能再增加新的节点(例如,新链路中的一条或两条与交换机集群的另一非重叠环中的复用)。
图6描绘流程图示出了方法600的实施例,其用于添加新节点到新的环,如图5的步骤560所示。所述方法包括基于候选节点可用(步骤620)的确定,确定可被添加至所述部分环(步骤630)的节点集合“A”以及确定候选节点集合“C”(步骤5)。如果集合“A”不为空,则从集合A中选择一个节点并将其添加至所述环。如果集合“A”为空,所述方法从集合“C”中选择第一节点并确定节点的排除列表“Ex(第一节点)”,所述第一节点为其他已构造的环(步骤660)的邻居,所述方法从不属于所述排除列表Ex(第一节点)集合(步骤670)的成员的正在构建中的所述部分环中的节点集合“P”中选取两个邻居节点,并将所述第一节点插入至所选择的相邻节点之间(步骤680)。
在方法600中,步骤610包括:确定候选节点集合“C”。特别是,集合“C”包含所有未被添加至所述部分环的节点。
在方法600中,步骤620包括确定集合“C”是否为空。如果集合“C”为空,那么所述环已构造完整,并且所述方法进行至步骤695,否则所述方法进行至步骤630。
在方法600中,步骤630包括确定可被添加至正在构造中的所述“非重叠环”的节点集合“A”。特别是,执行所述方法的装置确定可被添加到所述正在构造的环(即所构造的环是一个“非重叠环”)的集合C的成员。
在方法600中,步骤640包括确定集合“A”是否为空。如果“A”为空,则所述方法进行至步骤660,否则所述方法进行至步骤650。
在方法600中,步骤650包括从集合“A”选择附加节点,并将该附加节点添加到所述构建中的环。
在方法600中,步骤660包括从集合“C”选择第一节点,并确定集合“Ex(第一节点)”,其中Ex()是将TargetNode作为参数(argument)的函数,其返回其他已构造的“非重叠环”中的TargetNode的相邻节点的列表。
在方法600中,步骤670包括从所述集合“P”——所述构建中的部分环中的节点——中选取两个邻居节点,这两个节点不是集合Ex(第一节点)的成员。
在方法600中,步骤680包括在选择的两个邻居节点之间插入第一节点。
在步骤630的一些实施例中,使用等式[等式4]生成集合“A”。
[等式4]set“A”=“C”–Ex(FirstNodeInRing)–Ex(LastNodeInRing)
其中“C”为候选节点集,Ex()是将Ex()是将TargetNode作为参数的函数,其返回在其他构造的“非重叠环”中TargetNode的邻居节点的列表,FirstNodeInRing为所述构建中的环中的第一节点,LastNodeInRing为所述构建中的环中的最后节点。
在一些这样的实施例中,从集合“P”中选择第二节点。在一些进一步的实施例中,使用所述第二节点作为起始点遍历“P”的成员节点,以找到两个连续且不为Ex(第一节点)的成员的节点。
在步骤650、660或670的一些实施例中,随机地选择节点。详细的来说,在步骤650中,可从集合“A”中随机地选择附加节点,在步骤660中,可从集合“C”中随机地选择第一节点,或者在步骤670中,可从集合“P”中随机地选择第二节点。
在一些实施例中,步骤630、640和650可同时执行。在一些这样的实施例中,可从集合“C”中的选择随机的节点作为起点,以遍历集合“C”中的节点,来确定该节点是否可被添加。执行该方法的装置可在确定其具有可被添加能力的第一节点处停止,并将该节点添加到所述部分环“P”。如果在遍历集合“C”后没有发现可用的节点,那么所述方法可进行至步骤670。在一些这样的实施例中,步骤610和620同样可以同时的执行。特别是,在进行至步骤630以确定添加至集合“C”的节点是否可以在步骤650中被添加之前集合“C”可尚未构建完整。
虽然主要以特定的顺序进行了说明和描绘,应该指出,在方法300和400中所展示的步骤可以以任何合适的顺序来执行。此外,由一步标识步骤还可以按顺序以一个或多个其他的步骤执行,或者多于一步的通用操作也可仅执行一次。
需要指出的是,上述多种方法的步骤可通过被编程的计算机来执行。在此,一些实施例也旨在涵盖程序存储设备,例如,机器或计算机可读的并编码机器或计算机可执行指令的程序的数据存储介质,其中所述指令执行所述方法的部分或全部步骤。所述程序存储设备可以是,例如,数字存储器、磁存储介质诸如磁盘和磁带、硬盘驱动器、或可读光学数据存储介质。实施例还旨在涵盖编程以执行上述方法的所述步骤的计算机。
回顾图2B,以及图4-6,下面给出了构建环并增加节点至所述构建中的环的示例。
如图6所示,交换机集群200B包括17个节点。我们假设Ring1和Ring2已构建,如图2B中所示,并在下方对其进行描述。
这两个已构建的环是:
Ring 1={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
Ring 2={1,14,3,8,2,9,7,16,4,17,12,6,11,5,13,10,15}
参考图4的步骤420,执行所述方法的装置可使用等式[等式1]:RingCount=INT(17/8+1)=3,确定RingCount为3。
在图4的步骤440中,所述执行该方法的装置将确定应该构建新环,并进行至步骤460。
参考图5的步骤520,执行该方法的装置可通过初始化集合“P”——所述部分环——为{1},初始化构建中的新环(例如,Ring 3)。由于有17个节点要添加至环3,所有的节点都尚未添加(步骤540),所述方法进行至步骤560。
参考图6的步骤610,执行该方法的装置可随后确定候选节点的集合“C”。在该示例中,“C”={2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}(即,除了已经在集合“P”之中的那些节点以外的全部节点,在该阶段中集合“P”中包括节点1)。由于集合“C”非空(步骤620),所述装置确定集合“A”——可被添加至集合“P”的节点。使用等式2,集合“A”被确定为{3,4,5,6,7,8,9,10,11,12,13,16}。由于集合“A”非空(步骤640),所述方法进行至步骤650并且从集合“A”中选择节点以添加至环3。假设从集合“A”中的随机选取已完成,并且选择了节点7。那么,所述部分环3现在是{1,7}。
从图6(步骤695)返回,执行所述方法的装置确定尚未添加全部的节点(图5的步骤540),并且进行至步骤560以增加另一节点。现在假设所述执行所述方法的装置通过多次类似步骤进行类似的操作直至所述集合“P”为{1,7,4,9,16,11,13,6,10,5,3,12,8},并已返回到图6的步骤610来增加另一节点。
参考图6的步骤610,执行所述方法的装置可随后确定候选节点集合“C”。在该示例的此处,“C”={2,14,15,17}(即,17个候选节点的成员集合——集合“P”的成员节点)。由于集合“C”不为空(步骤620),所述装置确定所述集合“A”——可以被添加至集合“P”的节点。使用等式2,集合“A”被确定为空。由于集合“A”为空(步骤640),所述方法进行至步骤660,并从集合“C”中选择节点,并确定Ex(选择的节点)。假设从集合“C”的随机选择已完成并且节点14被选择。位于节点14,Ex(14)={1,3,13,15}。执行该方法的装置进行至步骤670。在该示例中,假设节点11被随机地选取作为用于在“P”中选择不为Ex(14)的成员的两个相邻节点的起点。从节点11开始遍历集合“P”(以环绕的方式(with wrap around)),所述装置确定节点6和节点10是集合“P”的相邻节点且不在Ex(14)之中。这样,将节点14插在节点6和节点10之间,并且集合“P”成为{1,7,4,9,16,11,13,6,14,10,5,12,8}。
从图6(步骤695)返回,执行该方法的装置确定尚未添加完全部的节点(图5的步骤540),并进行至步骤560以添加另一节点。与上述类似,执行该方法的装置重复地执行,直至环3的构建完成,如图2B中所示——{1,7,2,4,9,16,11,13,6,14,10,5,17,3,12,15,8}。
图7示意性地示出了多种设备700——如图2B的一个节点或者被编程以执行方法400、500或600的通用计算机——的实施例。所述装置700包括处理器710、数据存储器711、和可选的I/O接口730。
处理器710控制装置700的操作。处理器710与数据存储器711协同工作。
数据存储器711可存储程序数据,如网络拓扑或适当的类似物。数据存储器711还存储可由处理器710执行的程序720。
处理器可执行的程序720可包括交换机集群确定程序721、新环确定程序723、新节点确定程序725、或可选地I/O接口程序727。处理器710与处理器可执行程序720协同工作。
I/O接口730与处理器710和I/O接口程序727协作以支持在任意适当的通信信道上的通信。例如,I/O接口730可用于已确定的交换机集群或其部分与网络管理系统或图2B的一个或多个节点的通信。
交换机集群确定程序721执行上述图4中方法400的步骤。
新环确定程序723执行上述图5中方法500的步骤。
新节点确定程序725执行上述图6中方法600的步骤。
在一些实施例中,处理器710可包括如处理器/CPU核心等资源,I/O接口730可包括任何适当的网络接口,数据存储装置711可包括存储器或存储设备。此外,所述装置700可为任何适当的物理硬件配置,如:一个或多个服务器、具有处理器、存储器、网络接口或存储设备的刀片。在一些这样的实施例中,所述装置700可包括彼此远离的云网络资源。
在一些实施例中,所述装置700可以是虚拟机。在一些这样的实施例中,所述虚拟机可包括来自不同机器或在地理上分散的组件。例如,数据存储装置711和处理器710可在两个不同的物理机器之中。
在一些实施例中,装置700可为被编程以执行方法400、500或600的通用计算机。
当在处理器710上执行处理器可执行程序720时,程序代码段与所述处理器结合以提供操作与特定逻辑电路类似的独特装置。
虽然此处参照实施例进行了描绘和描述,在这些实施例中,例如程序和逻辑都存储在数据存储装置中并且存储器通信地与处理器连接,需要注意的是上述信息可以以任何适当的方式来进行存储(如,使用任意适当数目的存储器、存储装置或数据库);使用任意适当的布置将存储器、存储装置或数据库通信地连接至任意适当布置好的设备;将信息存储到存储器、存储装置和/或内部或外部数据库任意适当的组合之中;或使用任意适当数量的可访问外部存储器、存储装置或数据库。同样地,此处引入的术语数据存储装置包括存储器、存储装置和数据库的所有适当组合。
以上叙述和描绘仅仅示出了本发明的原理部分。因此需要指出本领域技术人员能够遵循本发明的原理设计出多种本文中没有明确描述或展示的实施例,但其仍然包括在本发明的精神和范围之中。此外,所有在此列举的例子主要为了教导和帮助读者理解本发明的原理以及发明人提出的概念以推动本领域技术的发展,并且所举示例还应被理解为不限于本文这些特别列举的例子和条件。此外,所有对本发明原理、整体情况、实施例以及具体示例的陈述均包括其等同物。
包括任意标记为“处理器”的功能块,图例中展示的多种不同组件的功能可通过使用专用硬件或具执行软件能力的硬件与适当软件联合提供。当由处理器提供时,提供该功能的处理器可能是一个单独的专用处理器、一个单独的共享处理器或部分独立处理器被共享的多个独立处理器。此外,术语“处理器”或“控制器”的明显使用不应被理解为涉及排除能执行软件的硬件,并且应理解为隐含地包括但不限于数字信号处理器(DSP)硬件、网络处理器、特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)、用来存储软件的只读存储器(ROM)、随机存储器(RAM)以及非易失存储器。其余常规或定制硬件设备也可能包括在内。类似地,图中示出的任何交换都是逻辑意义上的。其功能可能通过对程序逻辑的操作来执行,也可能通过专用逻辑器件、或通过程序控制与专用逻辑器件的交互作用、甚至手动来进行执行,具体实现方式可以由实施者依照其个人对当时情形的理解来进行选择。
需要指出此处任意方框图描绘的是体现本发明原理的电路的概念性视图。类似地,需要指出所有流程图表、流程图、状态转移图、伪码及类似物均表述了实质上位于计算机可读媒体中上并可以被计算机或处理器执行的各种处理,而不论此类计算机或处理器是否明确地被表露。
Claims (10)
1.一种用于提供交换机集群的装置,所述装置包括:
数据存储装置;和
通信地与所述数据存储装置连接的处理器,所述处理器被配置以:
确定目标节点的集合;
确定环计数;以及
基于所述目标节点的集合和所述环计数确定网络架构,所述网络架构包括可通信的连接以形成与所述环计数相同的多个非重叠环的目标节点的集合。
2.如权利要求1中所述的装置,其中所述环计数基于所述目标节点的集合中的成员的数目以及性能指标。
3.如权利要求1中所述的装置,其中对所述网络架构的确定包括配置处理器以:
基于所述目标节点的集合和所述环计数,确定多个候选网络架构;以及
基于性能指标,从所述多个候选网络架构中选择一个作为所述网络架构。
4.如权利要求1中所述的装置,其中对所述网络架构的确定包括配置处理器以:
基于至少一个其它非重叠环,构建新的非重叠环;
其中所述多个非重叠环包括所述新的非重叠环和至少一个其它非重叠环;
其中所述新的非重叠环的构建包括配置所述处理器以:
以目标节点中的第一个初始化部分非重叠环;
基于第二目标节点与其相邻的目标节点之间在所述部分非重叠环中的连接不被至少一个其他非重叠环复用的确定,将第二目标节点添加至所述部分非重叠环;
基于第三目标节点与其相邻的目标节点之间在所述部分非重叠环中的连接不被至少一个其他的非重叠环复用的确定,将第三目标节点插入所述部分非重叠环中。
5.如权利要求4中所述的装置,其中从所述目标节点的子集中随机地选择所述第二目标节点,所述子集包括不在所述部分非重叠环中的目标节点的成员,以致在所述部分非重叠环中与第一和最后节点的连接在至少一个其他非重叠环中不被复用。
6.如权利要求4中所述的装置,其中基于留待添加至所述部分非重叠环的所述目标节点中没有可被添加至所述部分非重叠环的目标节点的确定,插入所述第三目标节点。
7.一种用于交换数据的系统,所述系统包括:
交换机集群,包括:
通信地连接形成多个非重叠环的多个节点。
8.一种用于提供交换机集群的方法,所述方法包括:
在通信地连接至数据存储装置的处理器处,确定目标节点集合;
通过与数据存储装置协作的处理器确定环计数;
通过与数据存储装置协作的处理器,基于所述目标节点集合和所述环计数确定网络架构,所述网络架构包括所述目标节点集合,其通信地连通以形成与所述环计数相等的多个非重叠环。
9.如权利要求8所述的方法,进一步包括:
通过与数据存储装置协作的处理器,基于网络增长阈值添加新环至所述网络架构;
其中添加新环的步骤包括重定向所述目标节点中第一个上的端口,以将该第一目标节点与所述目标节点中的第二个可通信地连接。
10.如权利要求8所述的方法,其中确定所述网络架构的步骤包括:
通过与数据存储装置协作的处理器,基于至少一个其它非重叠环构建新的非重叠环;
其中所述多个非重叠环包括所述新的非重叠环和所述至少一个其它非重叠环。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/528,889 US8842575B2 (en) | 2012-06-21 | 2012-06-21 | Method and apparatus for providing a non-overlapping ring-mesh network topology |
US13/528,889 | 2012-06-21 | ||
PCT/US2013/042125 WO2013191844A1 (en) | 2012-06-21 | 2013-05-22 | Method and apparatus for providing a non-overlapping ring-mesh network topology |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104396163A true CN104396163A (zh) | 2015-03-04 |
Family
ID=48626127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380032626.4A Pending CN104396163A (zh) | 2012-06-21 | 2013-05-22 | 提供非重叠环形-网状网络拓扑方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8842575B2 (zh) |
EP (1) | EP2865111A1 (zh) |
JP (1) | JP2015529026A (zh) |
KR (1) | KR20150016341A (zh) |
CN (1) | CN104396163A (zh) |
WO (1) | WO2013191844A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243047A (zh) * | 2015-09-09 | 2016-01-13 | 浪潮(北京)电子信息产业有限公司 | 一种服务器架构 |
CN109327255A (zh) * | 2018-09-26 | 2019-02-12 | 中国民航管理干部学院 | 一种用于无人机自组网的路由方法及系统 |
CN113810286A (zh) * | 2021-09-07 | 2021-12-17 | 曙光信息产业(北京)有限公司 | 计算机网络系统及路由方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889447B (zh) * | 2019-01-08 | 2021-02-19 | 北京全路通信信号研究设计院集团有限公司 | 一种基于混合环组网和喷泉码的网络传输方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0234618A1 (en) * | 1986-01-30 | 1987-09-02 | Koninklijke Philips Electronics N.V. | Network of data processing stations |
CN1155966A (zh) * | 1994-01-18 | 1997-07-30 | 英国电讯有限公司 | 互连的无源光网络 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535213A (en) * | 1994-12-14 | 1996-07-09 | International Business Machines Corporation | Ring configurator for system interconnection using fully covered rings |
US7742436B2 (en) * | 2004-09-02 | 2010-06-22 | General Dynamics C4 Systems, Inc. | Distributed networking agent and method of making and using the same |
US7958208B2 (en) * | 2004-09-22 | 2011-06-07 | At&T Intellectual Property I, L.P. | System and method for designing a customized switched metro Ethernet data network |
EP1984830A1 (en) * | 2006-02-17 | 2008-10-29 | Mentor Graphics Corporation | Ring bus in an emulation environment |
JP4851905B2 (ja) * | 2006-09-29 | 2012-01-11 | 富士通株式会社 | ノード装置および予備パス設定方法 |
US7978632B2 (en) * | 2008-05-13 | 2011-07-12 | Nortel Networks Limited | Wireless mesh network transit link topology optimization method and system |
EP2335364A4 (en) * | 2008-08-08 | 2012-06-27 | Hewlett Packard Development Co | METHOD AND SYSTEMS FOR IMPLEMENTING SWITCH TOPOLOGIES WITH HIGH RADIX ON PHYSICAL SWITCH NETWORKS WITH RELATIVELY LOW RADIX |
US20100153157A1 (en) * | 2008-12-11 | 2010-06-17 | Verizon Data Services Llc | Method and system for providing network resource growth management |
-
2012
- 2012-06-21 US US13/528,889 patent/US8842575B2/en active Active
-
2013
- 2013-05-22 CN CN201380032626.4A patent/CN104396163A/zh active Pending
- 2013-05-22 EP EP13728870.0A patent/EP2865111A1/en not_active Withdrawn
- 2013-05-22 KR KR1020147035814A patent/KR20150016341A/ko not_active Application Discontinuation
- 2013-05-22 JP JP2015518413A patent/JP2015529026A/ja active Pending
- 2013-05-22 WO PCT/US2013/042125 patent/WO2013191844A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0234618A1 (en) * | 1986-01-30 | 1987-09-02 | Koninklijke Philips Electronics N.V. | Network of data processing stations |
CN1155966A (zh) * | 1994-01-18 | 1997-07-30 | 英国电讯有限公司 | 互连的无源光网络 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243047A (zh) * | 2015-09-09 | 2016-01-13 | 浪潮(北京)电子信息产业有限公司 | 一种服务器架构 |
CN109327255A (zh) * | 2018-09-26 | 2019-02-12 | 中国民航管理干部学院 | 一种用于无人机自组网的路由方法及系统 |
CN113810286A (zh) * | 2021-09-07 | 2021-12-17 | 曙光信息产业(北京)有限公司 | 计算机网络系统及路由方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2015529026A (ja) | 2015-10-01 |
WO2013191844A1 (en) | 2013-12-27 |
EP2865111A1 (en) | 2015-04-29 |
US8842575B2 (en) | 2014-09-23 |
KR20150016341A (ko) | 2015-02-11 |
US20130343224A1 (en) | 2013-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9929938B2 (en) | Hierarchal label distribution and route installation in a loop-free routing topology using routing arcs at multiple hierarchal levels for ring topologies | |
JP5551253B2 (ja) | 複数の等コストパスから選択するための方法および装置 | |
EP2842278B1 (en) | Three stage folded clos optimization for 802.1aq | |
KR100973695B1 (ko) | 노드 장치 및 스패닝 트리를 이용한 최단 경로 결정 방법 | |
US7756035B2 (en) | Planning routes and allocating identifiers to routes in a managed frame-forwarding network | |
US8467315B2 (en) | Method and apparatus for implementing K-shortest paths algorithm in the case of existing multiple edges between adjacent nodes | |
US9722861B2 (en) | Fault-resilient broadcast, multicast, and unicast services | |
US20130114620A1 (en) | System and method for providing deadlock free routing between switches in a fat-tree topology | |
CN104396198A (zh) | 在最短路径确定中打破平局 | |
WO2011081742A1 (en) | Efficient protection scheme for mpls multicast | |
Foerster et al. | Improved fast rerouting using postprocessing | |
CN104396163A (zh) | 提供非重叠环形-网状网络拓扑方法和装置 | |
Huang et al. | Distributed protocol for removal of loop backs with asymmetric digraph using GMPLS in p-cycle based optical networks | |
JP2012527156A (ja) | 第2のstpドメインに向けて接続されている第1のstpドメイン内のl2gp群を構成設定するための方法及び装置 | |
CN104618130A (zh) | 一种软件定义数据中心网络控制器的最小代价同步方法 | |
CN103873367B (zh) | 路由数据分组以及确定路由的方法和装置、胖树网络 | |
Carrabs et al. | Exact and heuristic approaches for the maximum lifetime problem in sensor networks with coverage and connectivity constraints | |
CN106104503A (zh) | 使用统一api对用于转发的服务器和架构编程以用于细粒度网络优化 | |
Talebi et al. | On routing and spectrum assignment in rings | |
Bonada et al. | RSTP-SP: Shortest path extensions to RSTP | |
CN110417576A (zh) | 混合软件自定义网络的部署方法、装置、设备及存储介质 | |
JP2013070300A (ja) | ネットワーク構成装置、処理方法およびプログラム | |
CN109688060A (zh) | 链路分组配置方法、装置及路由器 | |
US20230275828A1 (en) | Decentralized wide-area network traffic engineering | |
Girgis et al. | Solving wireless mesh network design problem using genetic algorithm and Tabu search optimization methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150304 |