CN107637030B - 用于自调整适应性路由的方法和装置 - Google Patents
用于自调整适应性路由的方法和装置 Download PDFInfo
- Publication number
- CN107637030B CN107637030B CN201680028603.XA CN201680028603A CN107637030B CN 107637030 B CN107637030 B CN 107637030B CN 201680028603 A CN201680028603 A CN 201680028603A CN 107637030 B CN107637030 B CN 107637030B
- Authority
- CN
- China
- Prior art keywords
- path
- links
- utilization
- target
- objective
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000003044 adaptive effect Effects 0.000 title abstract description 14
- 238000013500 data storage Methods 0.000 claims description 27
- 235000008694 Humulus lupulus Nutrition 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- 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/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- 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/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
Abstract
各种实施例提供一种用于在网络内提供适应性自调整路由的方法和装置。特别地,一个或多个路径选择值适应于变化的网络利用率,并被配置为均衡第一目标和第二目标对路径选择的影响。有利地,与传统的路由方法相比较,均衡第一目标和第二目标对路径选择的影响提供了改进的效率和改进的收益产生能力。
Description
技术领域
本发明一般涉及用于通过网络路由数据的方法和装置。
背景技术
本节介绍可以有助于更好地理解本发明的各方面。因此,本节的说明将以此为基础进行阅读,并且不应被理解为承认哪些是现有技术或者哪些不是现有技术。
在一些已知的路由方案中,IP/MPLS网络使用诸如开放式最短路径优先(OSPF)和中间系统到中间系统(IS-IS)的链路状态协议来路由标签交换路径。在这些方案的一些中,路径基于所确定的最小跳数而选择,在其它的这些方案中,路径基于所确定的最小化最大链路利用率而选择。
发明内容
在下面的概述中进行了一些简化,这样的简化旨在突出和介绍各种示例性实施例的某些方面而不是限制本发明的范围。将在后面的部分中详细描述足以使本领域的普通技术人员能够制造和使用本发明构思的优选示例性实施例。
各种实施例提供了用于在网络内提供适应性自调整路由的方法和装置。特别地,一个或多个路径选择值适应于变化的网络利用率,并被配置为均衡第一目标和第二目标对路径选择的影响。有利地,与传统的路由方法相比较,均衡第一目标和第二目标对路径选择的影响提供了改进的效率和改进的收益产生能力。
在第一实施例中,提供了一种用于选择通过经由多个链路互连的多个节点的路径的装置。该装置包括数据存储设备和与数据存储设备可通信连接的处理器。该处理器被编程为:接收连接请求;基于连接请求和第一目标,更新第一目标信息,该第一目标信息与多个链路相关联;基于连接请求和第二目标,更新第二目标信息,该第二目标信息与多个链路相关联;基于第一目标信息,确定第一利用率因子;基于第二目标信息,确定第二利用率因子;以及基于第一利用率因子和第二利用率因子,确定一个或多个路径选择值。其中,一个或多个路径选择值被配置为将路径的选择偏置到第一目标或者第二目标。
在第二实施例中,提供了一种用于选择通过经由多个链路互连的多个节点的路径的方法。该方法包括:接收连接请求;基于连接请求和第一目标,更新第一目标信息,该第一目标信息与多个链路相关联;基于连接请求和第二目标,更新第二目标信息,该第二目标信息与多个链路相关联;基于第一目标信息,确定第一利用率因子;基于第二目标信息,确定第二利用率因子;以及基于第一利用率因子和第二利用率因子,确定一个或多个路径选择值。其中,一个或多个路径选择值被配置为将路径的选择偏置到第一目标或者第二目标。
在第三实施例中,提供了一种用于选择通过经由多个链路互连的多个节点的路径的非暂时性计算机可读存储介质。该存储介质包括指令,所述指令在由计算机执行时使计算机执行一种方法,该方法包括:接收连接请求;基于连接请求和第一目标,更新第一目标信息,该第一目标信息与多个链路相关联;基于连接请求和第二目标,更新第二目标信息,该第二目标信息与多个链路相关联;基于第一目标信息,确定第一利用率因子;基于第二目标信息,确定第二利用率因子;以及基于第一利用率因子和第二利用率因子,确定一个或多个路径选择值。其中,一个或多个路径选择值被配置为将路径的选择偏置到第一目标或者第二目标。
在以上实施例的一些中,连接请求包括源节点、目的地节点和带宽需求,多个节点包括源节点和目的地节点。
在以上实施例的一些中,第一目标是链路利用率目标,第二目标是网路利用率目标。
在以上实施例的一些中,为了更新第一目标信息,实施例还包括:基于连接请求和最小化最大路径分布算法,确定通过多个链路的第一目标路径。其中,更新第一目标信息还基于第一目标路径。
在以上实施例的一些中,为了更新第二目标信息,实施例还包括:基于连接请求和最小跳数路径分布算法,确定通过多个链路的第二目标路径。其中,更新第二目标信息还基于第二目标路径。
在以上实施例的一些中,第一利用率因子还基于第一目标信息与多个链路上的实际带宽分配之间的关联;第二利用率因子还基于第二目标信息与多个链路上的实际带宽分配之间的关联。
在以上实施例的一些中,第一利用率因子还基于多个链路上的实际带宽分配的第一最大链路利用率和与第一目标信息相关联的第二最大链路利用率;第二利用率因子还基于多个链路上的实际带宽分配的第一网络利用率和与第二目标信息相关联的第二网络利用率。
在以上实施例的一些中,一个或多个路径选择值包括第一路径选择值,该第一路径选择值基于第一利用率因子与第二利用率因子之间的比较。
在以上实施例的一些中,实施例还包括:接收第二连接请求;以及基于一个或多个路径选择值和多个链路上的实际带宽分配,选择路径。
在以上实施例的一些中,为了选择路径,实施例还包括:确定源节点与目的地节点之间的多个候选路径;基于一个或多个路径选择值和与多个候选路径相关联的多个链路利用率值,确定与候选路径对应的多个路径成本;以及在多个候选路径中选择具有最低的对应路径成本的路径。
附图说明
在附图中示出了各种实施例,其中:
图1示出包括用于自调整适应性路由的系统100的实施例的网络;
图2示出在节点(例如,图1中的节点150)和链路(例如,图1中的链路160)的网络上的路径选择,其中最大化网络利用率是目标;
图3示出说明用于装置(例如,图1中的PCE 130)基于第一和第二目标来确定与在由链路(例如,图1中的链路160或图2中的链路260)互连的节点(例如,图1中的节点150或图2中的节点250)的网络上选择路径相关联的一个或多个路径选择值的方法300的实施例的流程图;
图4示出说明用于装置或系统(例如,图1中的PCE 130或图1中PCE 130和一个或多个节点150)使用自调整适应性路由来选择路径的方法400的实施例的流程图;
图5示出将在本文中描述的自调整适应性路由系统与传统的约束的最短路径优先方案相比较的6个节点拓扑的示例性结果;
图6示出将在本文中描述的自调整适应性路由系统与传统的约束的最短路径优先方案相比较的59个节点拓扑的示例性结果;
图7示意性示出诸如图1中的一个PCE 130或一个节点150的装置700的实施例。
为了便于理解,已使用相同的附图标记表示具有基本上相同或相似的结构或者基本上相同或相似的功能的元件。
具体实施方式
说明书和附图仅仅说明了本发明的原理。因此将理解,虽然没有在本文中明确地描述或示出,但是,本领域的技术人员能够设计出体现本发明的原理并落入其范围内的各种布置。此外,在本文中描述的所有示例主要旨在明确仅用于教学目的,以帮助读者理解由发明人为了促进本领域而贡献的本发明的原理和概念,并且被解释为不限于这样的具体描述的示例和条件。此外,如在本文中使用的,术语“或”是指非排它性的,除非另有说明(例如“否则”或“或替代地”)。此外,在本文中描述的各种实施例不必是相互排斥的,因为某些实施例可以与一个或多个其它实施例组合以形成新的实施例。
各种实施例提供一种用于在网络内提供适应性自调整路由的方法和装置。特别地,一个或多个路径选择值适应于变化的网络利用率,并被配置为均衡第一目标和第二目标对路径选择的影响。有利地,与传统的路由方法相比较,均衡第一目标和第二目标对路径选择的影响提供了改进的效率和改进的收益产生能力,并且使得服务提供商能够通过能够用已安装的网络容量来容纳更多的服务请求和通过减少链路拥塞情况来改进服务质量而在其现有的网络中产生更多的收益。
图1示出了包括用于自调整适应性路由的系统100的实施例的网络。系统100包括在两个客户端120-1、120-2(统称客户端120)之间在通信路径上路由的数据。该通信路径包括客户端通信信道125-1和125-2(统称客户端通信信道125)和包括可由一个或多个链路160-1—160-9(统称链路160)通信连接的两个或多个节点150-1—150-8(统称节点150)的网络140。路径计算引擎(PCE)130接收(例如,来自一个客户端120、一个节点150或连接准许装置,为了清楚起见没有示出)的连接请求,确定用于在节点的网络(例如,两个或多个节点150和适当的多个链路160)内确定路由路径(例如,在一个客户端120与另一个客户端120之间或在一个节点150与另一个节点150之间)的路由信息,并将该路由信息传输到适当的多个节点150。PCE 130经由PCE通信信道135与客户端120或节点150进行通信。
客户端120可以包括能够经由一个或多个客户端通信信道125在网络140上发送或接收信息的任何类型的通信设备。例如,通信设备可以是瘦客户端、智能电话(例如,客户端120-n)、个人计算机或膝上型计算机(例如,客户端120-1)、服务器、网络设备、平板电脑、电视机顶盒、媒体播放器等。通信设备可以依靠示例性系统内的其它资源来执行任务中的一部分,诸如处理或存储,或者可以能够独立执行任务。应当理解,虽然在此示出了两个客户端,但是,系统100可以包括更多的客户端。此外,在任意时间的客户端的数量可以是动态的,因为客户端可以在操作期间的任何时间被添加到系统中或者从系统中移除。
通信信道125和135支持在一个或多个通信信道上的通信,诸如无线通信(例如,LTE、GSM、CDMA、蓝牙);WLAN通信(例如,WiFi);分组网络通信(例如,IP);宽带通信(例如,DOCSIS和DSL);存储设备通信(例如,光纤通道、ISCSI);直接通信(例如,当PCE 130和一个节点150在同一个装置中时)等。应当理解,虽然被描述为单个的连接,但是,通信信道125和135可以是任何数量或组合的通信信道。
PCE 130可以是能够接收(例如,来自一个客户端120、一个节点150或连接准许装置,为了清楚起见没有示出)的连接请求的任何装置,确定用于在节点(例如,两个或多个节点150)的网络内确定路由路径(例如,在一个客户端120与另一个客户端120之间或在一个节点150与另一个节点150之间)的路由信息,并将该路由信息传输到适当的多个节点150。特别地,PCE130维持与两个目标相关联的信息以优化网络容量利用率,并基于目标信息确定一个或多个路径选择值。路径选择值被配置为用于确定路径选择。目标可以是任何适合的目标,诸如:(i)优化效率(即,尝试最小化资源使用,例如,通过尝试最小化总网络带宽或者通过尝试最小化平均链路利用率或网络利用率);(ii)提供利用率均衡(即,通过尝试最小化最大链路利用率来尝试避免任何链路过载以避免拥塞情况);或者(iii)等。目标信息可以是与目标相关联的任何适合的信息,例如,维持诸如链路分配和容量、网络分配映射等的相关信息的表。在一些实施例中,PCE 130被配置为均衡链路利用率目标和网络利用率目标。有利地,该均衡可以避免链路拥塞并减少网络带宽消耗。
网络140包括任何数量的接入和边缘节点150、网络设备(为了清楚起见没有示出)和任何数量和配置的链路160。此外,应当理解,网络140可以包括任何组合和任何数量的无线或有线网络,其包括:LTE、GSM、CDMA、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、城域网(MAN)等。节点150可以是能够与PCE130通信并路由数据的任何设备,例如,路由器、交换机、网关、移动分组交换机(例如,分组交换EPC)等。
应当理解,虽然被描述为经由网络140和适当的通信信道在PCE 130与多个节点150之间进行通信,但是,PCE 130可以通过任何适合的通信网络与多个节点150进行通信,或者可以驻留在与一个或多个节点150相同的通信网络或相同的装置中。
在一些实施例中,系统100是软件定义网络(SDN)。在一些实施例中,系统100是IP/MPL网络。
图2示出了在节点(例如,图1中的节点150)和链路(例如,图1中的链路160)的网络上的路径选择,其中最大化网络利用率是目标。有利地,最大化网络利用率与服务提供商的投资回报率和总盈利能力有着直接的关系。应当理解,网络容量是为了由客户端(例如,图1中的客户端120)进行的服务请求而分配的有限资源。由于每个服务请求表示一定量和值的项,所以随着网络填满,其逐渐变得难以填充传入的服务请求。如在本文中所描述的,PCE(例如,图1中的PCE 130)被配置为均衡诸如链路利用率的均衡目标和诸如网路利用率的效率目标。
参考图2,表1示出了对于给定的拓扑和链路利用率,在均衡目标与效率目标之间进行权衡的示例。在图2中,路径P1、P2、P3表示可以在包括一定数量的节点和链路260-1—260-9(统称链路260)的网络中被选择以在源节点250-S与目的地节点250-D之间路由数据的三条不同的潜在路径。数值表示连接节点的链路的链路利用率。例如,节点250-S与250-1之间的链路利用率是0.3或30%。示出的节点统称节点250。应当理解,为了清楚起见,并非所有各个节点都被标记。
表1:图2中的路径的最大利用率和跳数计数
路径 | 最大利用率 | 跳数 |
P1 | 60%(0.6) | 跳数=3 |
P2 | 40%(0.4) | 跳数=5 |
P3 | 30%(0.3) | 跳数=6 |
应当理解,最小化链路利用率的算法可以选择在效率上的均衡,因此可以选择路径P3来路由数据,尽管该路径需要六跳。而最小化跳数的算法(例如,OSPF和IS-IS网络中的约束的最短链路优先(CSPF)路由协议)可以选择在均衡上的效率,因此可以选择路径P1,尽管链路260-2中的较高拥塞(即百分之六十(60%))会造成对于未来的请求链路不准进入(lock-out)的风险。应当进一步理解,较长的路由(即更多的跳数)也可以对网络利用率和ROI产生负面的影响。
图3示出说明用于装置(例如,图1中的PCE 130)基于第一和第二目标来确定与在由链路(例如,图1中的链路160或图2中的链路260)互连的节点(例如,图1中的节点150或图2中的节点250)的网络上选择路径相关联的一个或多个路径选择值的方法300的实施例的流程图。该方法在步骤305开始并且包括:接收(例如,来自图1中的一个客户端120或者图1中的节点150或图2中的节点250中的一个)的连接请求(步骤320);基于第一目标和连接请求,更新第一目标信息(步骤330);基于第二目标和连接请求,更新第二目标信息(步骤340);基于第一目标信息,确定第一利用率因子(步骤350);基于第二目标信息,确定第二利用率因子(步骤360);基于第一利用率因子和第二利用率因子,确定一个或多个路径选择值(步骤380);以及在步骤295结束。
在方法300中,步骤320包括接收(例如,来自图1中的一个客户端120或者图1中的节点150或图2中的节点250中的一个)的连接请求。特别地,连接请求包括诸如与请求相关联的源节点、目的地节点和带宽的信息。例如,参考图2,请求可以标识节点250-S、节点250-D和10mbs的带宽。应当理解,连接请求可以以任何适合的方式接收,例如,在来自请求客户端的连接请求中,在来自另一个装置(例如,执行连接准许控制的装置)或本地(例如,如果PCE在与节点或连接准许控制装置相同的装置中)的信息中。
在方法300中,步骤330包括基于第一目标和连接请求来更新第一目标信息。特别地,第一目标信息是使用基于第一目标的分配已为节点的网络内的链路(例如,图2中的链路260)保留的带宽的副本。
在方法300中,步骤340包括基于第二目标和连接请求来更新第二目标信息。特别地,第二目标信息是使用基于第二目标的分配已为节点的网络内的链路(例如,图2中的链路260)保留的带宽的副本。
在方法300中,步骤350包括基于第一目标信息来确定第一利用率因子。特别地,第一利用率因子表征在基于第一目标分配时,在节点的网络内的链路的利用率。
在方法300中,步骤360包括基于第二目标信息来确定第二利用率因子。特别地,第二利用率因子表征在基于第二目标分配时,在节点的网络内的链路的利用率。
在方法300中,步骤380包括基于第一利用率因子和第二利用率因子来确定一个或多个路径选择值。特别地,一个或多个路径选择值适应于变化的网络利用率并被配置为均衡第一目标和第二目标对路径选择的影响。应当理解,均衡第一目标和第二目标对路径选择的影响在网络内提供适应性自调整路由。
在步骤330和340的一些实施例中,第一目标是链路利用率目标,第二目标是网络利用率目标。
在步骤330的一些实施例中,第一目标信息是使用基于均衡链路利用率的分配(例如,最小化最大路径分布算法)为节点的网络内的链路(例如,图2中的链路260)保留的带宽的副本。例如,基于最小化节点的网络内的链路的最大链路利用率的目标,为传入的连接请求选择一个新的路径,并用新的路径更新第一目标信息。
在步骤340的一些实施例中,第二目标信息是使用基于网络利用率的分配(例如,最小跳数分布算法)为节点的网络内的链路(例如,图2中的链路260)保留的带宽的副本。例如,基于最小化满足连接请求的路径的跳数的目标,为传入的连接请求选择一个新的路径,并用新的路径更新第二目标信息。
例如,参考图2和表2,表2列出了在某一时间点的示例性系统。在进一步的示例中,假设已接收到需要10mbs的在源节点250-S与目的地节点250-D之间建立连接的请求(例如,在步骤320中)。
第一目标信息基于使用最小化最大路径分布算法来选择路径而更新。参考表2中的第一目标信息(例如,f(l)(目标1)),与路径P1上的最高链路利用率是链路260-2上具有的0.45的链路利用率和路径P2上的最高链路利用率是链路260-9上具有的0.45的链路利用率相比较,路径P3上的最高链路利用率是链路260-5上的0.4。由于P3具有最低的链路利用率,所以第一目标信息(例如,f(l)(目标1))中的路径P3中的链路用所接收的连接请求来更新。例如,f(链路260-3)(目标1)从250MBS更新到260MBS;f(链路260-4)(目标1)从375MBS更新到385MBS;f(链路260-5)(目标1)从200MBS更新到210MBS;f(链路260-6)(目标1)从150MBS更新到160MBS;f(链路260-7)(目标1)从375MBS更新到385MBS;并且f(链路260-8)(目标1)从375MBS更新到385MBS。
类似地,第二目标信息基于使用最小跳数路径分布算法来选择路径而更新。参考表1,因为路径P1仅有3跳而路径P2有5跳且路径P3有6跳,所以路径P1被选择。由于路径P1具有最少的跳数计数,所以第二目标信息(例如,f(l)(目标2))中的路径P1中的链路用所接收的连接请求来更新。例如,f(链路260-1)(目标2)从275MBS更新到285MBS;f(链路260-2)(目标2)从375MBS更新到385MBS;f(链路260-3)(目标2)从200MBS更新到210MBS。
表2:图2中的示例性网络状态
其中:
●链路=图2的网络中的链路列表;
●∈路径=每个链路在图2中的路径P1、P2或P3中的成员资格;
●f(l)(实际)=流量的实际网络分配,如图2所示;
●f(l)(目标1)=表示使连接基于链路优化目标(例如,最小化最大路径分布算法)路由的网络分配的第一目标信息的副本;
●f(l)(目标2)=表示使连接基于网络优化目标(例如,最小跳数路径分布算法)路由的网络分配的第二目标信息的副本;
●u(l)=链路“l”的容量。
在步骤350和360的一些实施例中,第一利用率因子基于第一目标信息与流量的实际网络分配之间的关联,第二利用率因子基于第二目标信息与流量的实际网络分配之间的关联。在这些实施例的一些中,第一利用率因子基于实际网络分配与由第一目标信息表示的第一目标有多接近,第二利用率因子基于实际网络分配与由第二目标信息表示的第二目标有多接近。
在步骤350的一些实施例中,其中第一目标是链路利用率目标,第一利用率因子基于节点的网络中的链路的最大链路利用率值。在这些实施例的一些中,第一利用率因子基于实际网络分配中的链路的最大链路利用率值和第一目标信息中的链路的最大链路利用率值。在这些实施例的一些中,第一利用率因子基于公式1。
[公式1]
其中:
●利用率(l)(实际)=在流量的实际网络分配中的链路“l”的实际带宽利用率;
●利用率(l)(目标1)=在第一目标信息中的链路“l”的带宽利用率;
例如,参考表2,第一利用率因子是0.6/0.45=1.33,因为实际网络分配中的最大链路利用率是0.6(例如,链路260-2具有0.6的链路利用率值),并且第一目标信息中的最大链路利用率是0.45(例如,链路260-2和260-9具有0.45的链路利用率)。应当理解,第一利用率因子可以基于在第一目标信息已更新之前或之后的第一目标信息的最大链路利用率。
在步骤360的一些实施例中,其中第二目标是网络利用率目标,第二利用率因子基于节点的网络中的链路的网络利用率。在这些实施例的一些中,第二利用率因子基于实际网络分配中的链路的网络利用率和第二目标信息中的链路的网络利用率。在这些实施例的一些中,第二利用率因子公式2。
其中:
●f(l)(实际)=在流量的实际网络分配中被分配给链路“l”的实际带宽;
●u(l)=链路“l”的容量;
●利用率(l)(目标1)=在第一目标信息中的链路“l”的带宽利用率;
例如,参考表2,第二利用率因子是0.315/0.281=1.12,因为实际网络分配中的网络利用率是0.315(例如,从6500MBS容量中分配2050MBS),并且第二目标信息中的网络利用率是0.281(例如,从6500MBS容量中分配1825MBS)。应当理解,第二利用率因子可以基于在第二目标信息已更新之前或之后的第二目标信息的网络利用率。
在步骤380的一些实施例中,第一路径选择值(即,α)基于第一利用率因子和第二利用率因子。在这些实施例的一些中,α基于实际网络分配与由对应的第一和第二目标信息表示的第一和第二目标有多接近进行适应性自调整。在这些实施例的一些中,第一路径选择值基于公式3和公式4。应当理解,第一路径选择值α被配置为基于路径选择算法,将路径选择算法偏置到适当的选择目标(例如,第一或第二目标)。
[公式3]if(第一利用率因子+门限)<第二利用率因子;α=α/M
[公式4]if(第二利用率因子+门限)<第一利用率因子;α=α*M
其中:
●α=表示在第一目标与第二目标之间的均衡的路径选择值;
●门限=在第一和第二利用率因子在门限值范围内的情况下的可选门限值,α不改变;
●M=控制α变化的参数。可以使用任何适合的值。例如,值1.2已被确定适合。
在方法300的一些实施例中,第一目标信息、第二目标信息、第一利用率因子、第二利用率因子中的一个或多个或者一个或多个路径选择值进一步基于可管理的链路度量或明确的路由约束。例如,将连接请求约束到5个或更少的跳数的度量不会选择图2中的路径P3。在这些实施例的一些中,度量可以基于数据类型(例如,诸如声音或视频或延迟敏感数据的实时数据可以区别处理)。
图4示出说明用于装置或系统(例如,图1中的PCE 130或图1中PCE 130和一个或多个节点150)使用自调整适应性路由来选择路径的方法400的实施例的流程图。该方法在步骤405开始并且包括:接收连接请求(步骤410);确定一个或多个路径选择值(步骤420);可选地分配一个或多个路径选择值(步骤440);基于一个或多个路径选择值和在链路上的流量的实际网络分配(例如,带宽),选择路径(步骤460);基于路径选择,更新网络利用率(步骤480);以及在步骤495结束。
在方法400中,步骤410包括接收连接请求(例如,由图1中的PCE 130),如在本文中所描述的,特别地,如在图3的步骤320中所示。
在方法400中,步骤410包括确定一个或多个路径选择值(例如,由图1中的PCE130),如在本文中所描述的,特别地,如在图3的步骤330、340、350、360和380中所示。
方法400可选地包括步骤440。步骤440包括分配一个或多个路径选择值(例如,由图1中的PCE 130)。特别地,在其中步骤460中的路径选择不是由步骤420中确定一个或多个路径选择值的同一个装置执行(例如,由一个或多个节点150替代PCE 130)的实施例中,则确定一个或多个路径选择值的装置分配适当的路径选择值。可以通过任何适合的方法进行分配,例如,传输携带该值的消息或在可由步骤460中选择路径的装置访问的中央位置中存储一个或多个路径选择值。
在方法400中,步骤460包括基于一个或多个路径选择值和在链路上的流量的实际网络分配(例如,带宽)来选择路径。在一些实施例中,路径选择基于在链路利用率和一个或多个路径选择值的基础上进行的评估链路成本。在这些实施例的一些中,所选择的路径是具有最低的总链路成本的路径。在这些实施例的一些中,路径选择基于公式5、公式6和公式7。应当理解,在其中第一目标是链路利用率、第二目标是网络利用率、第一目标信息基于最小化最大算法更新且第二目标信息基于最小跳数算法更新的实施例中,当α接近0时,公式5执行与最小跳数算法类似的算法,当α接近∞时,公式5执行与最小化最大算法类似的算法。因此,适应性自调整路径选择值α实现了在第一目标与第二目标之间均衡路径选择的目的。
其中:
●c(l)=在链路“l”上路由请求的成本;
●α=表示在第一目标与第二目标之间的均衡的路径选择值;
●f(l)(实际)=在流量的实际网络分配中被分配给链路“l”的实际带宽;
●u(l)=链路“l”的容量;
●c(p)=在路径“p”上路由请求的成本。
在方法400中,步骤480基于路径选择来更新网络利用率。例如,流量的实际网络分配基于路径选择而更新。参考图2和表2,如果路径P2被选择,则路径P2的f(l)(实际)的值用所接收的连接请求来更新。例如,f(链路260-3)(实际)从200MBS更新到210MBS;f(链路260-4)(实际)从300MBS更新到310MBS;f(链路260-7)(实际)从300MBS更新到310MBS;f(链路260-8)(实际)从300MBS更新到310MBS;f(链路260-9)(实际)从200MBS更新到210MBS。
当将如在本文中描述并合并到贝尔实验室STAR算法的自调整适应性路由系统的实施例与传统的约束的最短路径优先(CSPF)方案相比较时,发明人已经对6个节点和59个节点的系统进行了分析,并发现了改进的效率和改进的收益产生能力,如图5和图6所示。
虽然主要以特定顺序描绘和描述,但是应当理解,方法300和400中所示的步骤可以以任何适合的顺序执行。此外,由一个步骤标识的步骤也可以在一个或多个其它步骤中按顺序执行,或者多于一个步骤的共同动作可仅执行一次。例如,图3的步骤340和360可以在图3的步骤330和350之后执行。
应当理解,各种上述方法中的步骤可以由编程计算机执行。就此而言,一些实施例还旨在涵盖机器或计算机可读并且编码机器可执行或计算机可执行的指令程序的程序存储设备,例如,数据存储介质,其中所述的指令执行上述方法中一些或全部的步骤。程序存储设备例如可以是数字存储器、诸如磁盘和磁带的磁存储介质、硬盘驱动器、或光可读数据存储介质。实施例还旨在涵盖执行上述方法中的所述步骤的编程计算机。
图7示意性示出了诸如图1中的一个PCE 130或一个节点150的装置700的实施例。装置700包括处理器710、数据存储设备711和I/O接口730。
处理器710控制装置700的操作。处理器710协同数据存储设备711一起操作。
数据存储设备711存储可由处理器710执行的适当的多个程序720。数据存储设备711还可以可选地存储诸如第一或第二目标、第一或第二目标信息、一个或多个路径选择值等的适当的程序数据。
处理器可执行程序720可以包括I/O接口程序721、路径选择值确定程序723或路径选择程序725。处理器710协同处理器可执行程序720一起操作。
I/O接口730协同处理器710和I/O接口程序721一起操作以适当并如上所述地支持在图1的通信信道125或135上的通信。
路径选择值确定程序723适当并如上所述地执行图3的步骤或图4的步骤410和420。
路径选择程序725如上所述地执行图4的步骤440、460和480。
在一些实施例中,处理器710可以包括诸如处理器/CPU核的资源,I/O接口730可以包括任何适合的网络接口,或者数据存储设备711可以包括存储器或存储设备。此外,装置700可以是任何适合的物理硬件配置,诸如:一个或多个服务器,由诸如处理器、存储器、网络接口或存储设备的组件组成的刀片式服务器(blade)。在这些实施例的一些中,装置700可以包括彼此远程的云网络资源。
在一些实施例中,装置700可以是虚拟机。在这些实施例的一些中,虚拟机可以包括来自不同设备或在地理上分散的组件。例如,数据存储设备711和处理器710可以在两个不同的物理机上。
当处理器可执行程序720在处理器710上执行时,程序代码段与处理器结合以提供类似于特定逻辑电路操作的独有的设备。
虽然在本文中针对实施例进行了描绘和描述,例如其中程序和逻辑存储在数据存储设备内,存储器可通信连接到处理器,应当理解,这样的信息可以以任何适合的方式(例如,使用任何适合数量的存储器、存储设备或数据库)进行存储;使用可通信连接到任何适合布置的设备的任何适合布置的存储器、存储设备或数据库;在存储器、存储设备或者内部或外部数据库的任何适合组合中存储信息;或者使用任何适合数量的可存取外部存储器、存储设备或数据库来进行存储。因此,在此提及的术语“数据存储设备”意味着包括存储器、存储设备和数据库的所有适合组合。
说明书和附图仅仅说明了本发明的原理。因此将理解,虽然没有在本文中明确地描述或示出,但是,本领域的技术人员能够设计出体现本发明的原理并落入其精神和范围内的各种布置。此外,在本文中描述的所有示例主要旨在明确仅用于教学目的,以帮助读者理解由发明人为了促进本领域而贡献的本发明的原理和概念,并且被解释为不限于这样的具体描述的示例和条件。此外,在本文中所有陈述本发明的原理、方面和实施例的声明,及其具体示例,旨在涵盖其等同物。
附图中所示的各种元件的功能,包括标记为“处理器”的任何功能框,可通过使用专用硬件以及能够执行软件的硬件与适当的软件相关联来提供。当由处理器提供时,这些功能可由单个专用处理器、单个共享处理器、或多个单独的处理器(其中一些可共享)来提供。此外,术语“处理器”或“控制器”的明确使用不应被解释为仅仅是指能够执行软件的硬件,还可隐含地包括但不限于数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储器。还可以包括其他常规和/或定制的硬件。类似地,附图中所示的交换机仅仅是概念性的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互、或者甚至手动执行,如从上下文中更具体理解的,特定技术可由实施人员选择。
应当理解,在本文中的任何框图表示体现本发明原理的说明性电路的概念视图。类似地,应当理解,任何流程表、流程图、状态转换图、伪代码等表示可以基本上在机器可读介质中体现并由计算机或处理器执行的各种过程,无论这样的计算机或处理器是否明确地示出。
Claims (15)
1.一种用于选择通过经由多个链路互连的多个节点的路径的装置,所述装置包括:
数据存储设备;以及
与所述数据存储设备可通信连接的处理器;
所述处理器被配置为:
接收连接请求;
基于所述连接请求和均衡目标,更新第一目标信息,所述第一目标信息与所述多个链路相关联;
基于所述连接请求和效率目标,更新第二目标信息,所述第二目标信息与所述多个链路相关联;
基于所述第一目标信息与所述多个链路上的实际带宽分配之间的关联,确定第一利用率因子;
基于所述第二目标信息与所述多个链路上的所述实际带宽分配之间的关联,确定第二利用率因子;以及
基于所述第一利用率因子和所述第二利用率因子,确定第一路径选择值,以基于有利于所述均衡目标或所述效率目标的偏置来选择所述路径;
其中,所述第一路径选择值在所述第一利用率因子或所述第二利用率因子超过阈值之后改变,所述第一路径选择值的所述改变是基于所述第一利用率因子、所述第二利用率因子与所述阈值之间的比较。
2.根据权利要求1所述的装置,其中,所述连接请求包括源节点、目的地节点和带宽要求,所述多个节点包括所述源节点和所述目的地节点。
3.根据权利要求1所述的装置,其中,所述均衡目标是链路利用率目标,所述效率目标是网络利用率目标。
4.根据权利要求3所述的装置,其中,更新所述第一目标信息包括配置所述处理器以:
基于所述连接请求和最小化最大路径分布算法,确定通过所述多个链路的第一目标路径,其中,更新所述第一目标信息还基于所述第一目标路径;以及
其中,更新所述第二目标信息包括配置所述处理器以:
基于所述连接请求和最小跳数路径分布算法,确定通过所述多个链路的第二目标路径,其中,更新所述第二目标信息还基于所述第二目标路径。
5.根据权利要求1所述的装置,其中,所述第一利用率因子还基于所述多个链路上的实际带宽分配的第一最大链路利用率和与所述第一目标信息相关联的第二最大链路利用率;
所述第二利用率因子还基于所述多个链路上的实际带宽分配的第一网络利用率和与所述第二目标信息相关联的第二网络利用率。
6.根据权利要求1所述的装置,其中,所述处理器还被配置为:
接收第二连接请求;以及
基于所述第一路径选择值和所述多个链路上的实际带宽分配,选择所述路径。
7.根据权利要求6所述的装置,其中,选择所述路径包括配置所述处理器以:
确定源节点与目的地节点之间的多个候选路径;
基于所述第一路径选择值和与所述多个候选路径相关联的多个链路利用率值,确定与所述候选路径对应的多个路径成本;以及
在所述多个候选路径中选择具有最低的对应路径成本的路径。
8.一种用于选择通过经由多个链路互连的多个节点的路径的方法,所述方法包括:
在与数据存储设备可通信连接的处理器处,接收连接请求;
由所述处理器协同所述数据存储设备基于所述连接请求和均衡目标,更新第一目标信息,所述第一目标信息与所述多个链路相关联;
由所述处理器协同所述数据存储设备基于所述连接请求和效率目标,更新第二目标信息,所述第二目标信息与所述多个链路相关联;
由所述处理器协同所述数据存储设备基于所述第一目标信息与所述多个链路上的实际带宽分配之间的关联,确定第一利用率因子;
由所述处理器协同所述数据存储设备基于所述第二目标信息与所述多个链路上的所述实际带宽分配之间的关联,确定第二利用率因子;以及
由所述处理器协同所述数据存储设备基于所述第一利用率因子和所述第二利用率因子,确定第一路径选择值,以基于有利于所述均衡目标或所述效率目标的偏置来选择所述路径;
其中,所述第一路径选择值在所述第一利用率因子或所述第二利用率因子超过阈值之后改变,所述第一路径选择值的所述改变是基于所述第一利用率因子、所述第二利用率因子与所述阈值之间的比较。
9.根据权利要求8所述的方法,其中,所述连接请求包括源节点、目的地节点和带宽要求,所述多个节点包括所述源节点和所述目的地节点。
10.根据权利要求8所述的方法,其中,所述均衡目标是链路利用率目标,所述效率目标是网络利用率目标。
11.根据权利要求8所述的方法,其中,更新所述第一目标信息包括:
由所述处理器协同所述数据存储设备,基于所述连接请求和最小化最大路径分布算法,确定通过所述多个链路的第一目标路径,其中,更新所述第一目标信息还基于所述第一目标路径;以及
其中,更新所述第二目标信息包括:
由所述处理器协同所述数据存储设备,基于所述连接请求和最小跳数路径分布算法,确定通过所述多个链路的第二目标路径,其中,更新所述第二目标信息还基于所述第二目标路径。
12.根据权利要求8所述的方法,其中,所述第一利用率因子还基于所述多个链路上的实际带宽分配的第一最大链路利用率和与所述第一目标信息相关联的第二最大链路利用率;
所述第二利用率因子还基于所述多个链路上的实际带宽分配的第一网络利用率和与所述第二目标信息相关联的第二网络利用率。
13.根据权利要求8所述的方法,其中,所述方法还包括:
由所述处理器协同所述数据存储设备接收第二连接请求;以及
由所述处理器协同所述数据存储设备基于所述第一路径选择值和所述多个链路上的实际带宽分配,选择所述路径。
14.根据权利要求13所述的方法,其中,选择所述路径包括:
由所述处理器协同所述数据存储设备确定源节点与目的地节点之间的多个候选路径;
由所述处理器协同所述数据存储设备,基于所述第一路径选择值和与所述多个候选路径相关联的多个链路利用率值,确定与所述候选路径对应的多个路径成本;以及
由所述处理器协同所述数据存储设备,在所述多个候选路径中选择具有最低的对应路径成本的路径。
15.一种非暂时性计算机可读存储介质,存储指令,所述指令在由计算机执行时使所述计算机执行一种方法,所述方法包括:
接收连接请求;
基于所述连接请求和均衡目标,更新第一目标信息,所述第一目标信息与所述多个链路相关联;
基于所述连接请求和效率目标,更新第二目标信息,所述第二目标信息与所述多个链路相关联;
基于所述第一目标信息与所述多个链路上的实际带宽分配之间的关联,确定第一利用率因子;
基于所述第二目标信息与所述多个链路上的所述实际带宽分配之间的关联,确定第二利用率因子;以及
基于所述第一利用率因子和所述第二利用率因子,确定第一路径选择值,以基于有利于所述均衡目标或所述效率目标的偏置来选择所述路径;
其中,所述第一路径选择值在所述第一利用率因子或所述第二利用率因子超过阈值之后改变,所述第一路径选择值的所述改变是基于所述第一利用率因子、所述第二利用率因子与所述阈值之间的比较。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/716,646 US10075364B2 (en) | 2015-05-19 | 2015-05-19 | Method and apparatus for self-tuned adaptive routing |
US14/716,646 | 2015-05-19 | ||
PCT/US2016/031005 WO2016186861A1 (en) | 2015-05-19 | 2016-05-05 | Method and apparatus for self-tuned adaptive routing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107637030A CN107637030A (zh) | 2018-01-26 |
CN107637030B true CN107637030B (zh) | 2021-01-15 |
Family
ID=56024406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680028603.XA Active CN107637030B (zh) | 2015-05-19 | 2016-05-05 | 用于自调整适应性路由的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10075364B2 (zh) |
EP (1) | EP3298735B1 (zh) |
JP (1) | JP2018517354A (zh) |
KR (1) | KR20170138495A (zh) |
CN (1) | CN107637030B (zh) |
WO (1) | WO2016186861A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10135738B2 (en) * | 2016-03-28 | 2018-11-20 | Cisco Technology, Inc. | End-to-end network path selection |
US10348610B2 (en) * | 2017-05-25 | 2019-07-09 | Alcatel Lucent | Method and apparatus for minimum label bandwidth guaranteed path for segment routing |
US11201816B2 (en) | 2017-06-08 | 2021-12-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimal routing in a communications network |
US10498631B2 (en) | 2017-08-15 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Routing packets using distance classes |
US10374943B2 (en) * | 2017-08-16 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Routing packets in dimensional order in multidimensional networks |
US11418428B2 (en) * | 2020-09-30 | 2022-08-16 | Juniper Networks, Inc. | Recomputation of multipaths in a segment routing-enabled network |
US11902175B1 (en) * | 2023-03-24 | 2024-02-13 | International Business Machines Corporation | Allocating bandwidth to communication paths used by nodes in a network |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101583057A (zh) * | 2009-06-11 | 2009-11-18 | 中兴通讯股份有限公司 | 网络选路方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697333B1 (en) * | 1998-03-04 | 2004-02-24 | Alcatel Canada Inc. | Bandwidth load consideration in network route selection |
FR2843263B1 (fr) * | 2002-07-30 | 2004-10-15 | Cit Alcatel | Dispositif et procede de determination de chemins de routage dans un reseau de communications, en presence d'attributs de selection |
US7720054B2 (en) * | 2004-03-02 | 2010-05-18 | Cisco Technology, Inc. | Router configured for outputting update messages specifying a detected attribute change of a connected active path according to a prescribed routing protocol |
US7609626B2 (en) * | 2004-04-16 | 2009-10-27 | Alcatel-Lucent Usa Inc. | Nodes for managing congestion and traffic flow by considering the minimization of link utilization values |
US9197533B1 (en) * | 2005-05-09 | 2015-11-24 | Cisco Technology, Inc. | Technique for maintaining and enforcing relative policies with thresholds |
KR101194140B1 (ko) | 2006-12-27 | 2012-10-23 | 인텔 코오퍼레이션 | 라우트 메트릭을 결정하는 방법 및 장치 |
US8982709B2 (en) * | 2007-01-31 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Selecting service nodes for an end-to-end service path from a reduced search space |
US9124506B2 (en) * | 2013-06-07 | 2015-09-01 | Brocade Communications Systems, Inc. | Techniques for end-to-end network bandwidth optimization using software defined networking |
CN103716208B (zh) * | 2013-12-31 | 2017-06-30 | 北京邮电大学 | 支持大象流的网络管理方法、系统、交换机和网络 |
CN104486807B (zh) * | 2014-11-28 | 2017-08-11 | 华中科技大学 | 一种小规模无线传感器网络的路由方法 |
-
2015
- 2015-05-19 US US14/716,646 patent/US10075364B2/en active Active
-
2016
- 2016-05-05 CN CN201680028603.XA patent/CN107637030B/zh active Active
- 2016-05-05 JP JP2017560184A patent/JP2018517354A/ja not_active Ceased
- 2016-05-05 KR KR1020177033186A patent/KR20170138495A/ko active IP Right Grant
- 2016-05-05 EP EP16723891.4A patent/EP3298735B1/en active Active
- 2016-05-05 WO PCT/US2016/031005 patent/WO2016186861A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101583057A (zh) * | 2009-06-11 | 2009-11-18 | 中兴通讯股份有限公司 | 网络选路方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20160344615A1 (en) | 2016-11-24 |
JP2018517354A (ja) | 2018-06-28 |
WO2016186861A1 (en) | 2016-11-24 |
CN107637030A (zh) | 2018-01-26 |
KR20170138495A (ko) | 2017-12-15 |
US10075364B2 (en) | 2018-09-11 |
EP3298735B1 (en) | 2023-05-17 |
EP3298735A1 (en) | 2018-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107637030B (zh) | 用于自调整适应性路由的方法和装置 | |
US11876717B2 (en) | Flow-based load balancing | |
US10555150B2 (en) | Systems and methods for generating a virtual network topology for M2M communications | |
CA2882535C (en) | Control device discovery in networks having separate control and forwarding devices | |
US9722928B2 (en) | Link policy routing based on link utilization | |
US7782882B2 (en) | Method and apparatus for distributing dynamic auto-summarization of internet protocol reachable addresses | |
EP1757026B1 (en) | Method and apparatus for forwarding data in a data communications network | |
JP2013168934A (ja) | 負荷均衡装置及び負荷均衡方法 | |
JP2013514744A (ja) | 分散ルーティングアーキテクチャ | |
EP2198571B1 (en) | Method and apparatus for network routing between a tactical network and a satellite network | |
KR102342723B1 (ko) | 프로그래머블 네트워크 기술 기반의 멀티 홈드 네트워크 라우팅 및 포워딩 방법 | |
EP3585013B1 (en) | Data transmission method and apparatus | |
US10447601B2 (en) | Leaf-to-spine uplink bandwidth advertisement to leaf-connected servers | |
KR100690632B1 (ko) | 애드 혹 네트워크의 경로 선택 방법 | |
Hu et al. | Path selection with joint latency and packet loss for edge computing in SDN | |
US20170181007A1 (en) | Method for a placement of internet gateway (igw) in a backbone wireless mesh networks (bwmns) | |
Wang et al. | Collaborative route management to mitigate congestion in multi-domain networks using SDN | |
US20210234801A1 (en) | Safely engineering egress traffic changes | |
Rivera et al. | A comparative study of routing metrics for reliable multi-path provisioning | |
MEENAKSHI | Study and Analysis of Techniques for Development of Quality of Service in Networks | |
Zarhouni et al. | Routing constraint for VoIP traffic in wireless mesh networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |