路径设置服务器、路径设置方法和路径设置程序的制作方法

文档序号:7910420阅读:137来源:国知局
专利名称:路径设置服务器、路径设置方法和路径设置程序的制作方法
技术领域
本发明涉及通过使用路由设置服务器来确定通信网络中的流的通信路由的技术。
背景技术
已知一种通信网络系统,在该系统中,管理服务器执行对包括多个节点的通信网络的集中式管理。当接收到关于流的路由设置请求时,管理服务器确定该通信网络中的流的通信路由。此后也将确定流的通信路由的此类管理服务器称为“路由设置服务器”。作为用于计算从源节点到目的地节点的最短路由的算法,“Di jkstra算法”是公知的。然而,在源节点与目的地节点之间执行多个流的通信的情况中,简单地使用Dijkstra 算法导致相同的通信路由(最短路由)被用于多个流。这使得施加在通信路由上的负载增加并且因此降低通信效率。为了对负载进行分布,优选的是为同一对源节点和目的地节点之间的不同流设置不同的通信路由。为此,考虑不仅提取最短路由还提取源节点与目的地节点之间的其他通信路由。以下称作用于计算从源节点到目的地节点的多个通信路由的技术。专利文献1(日本专利公开JP-2003-233768)描述了一种通过使用双Dijkstra 算法来计算从起点到终点的多个通信路由。更具体地,关于所有中间节点,Dijkstra算法从起点创建各个最短路由树。而且,关于所有中间节点,Dijkstra算法从终点创建各个最短路由树。然后,组合两种最短路由树来计算从起点到终点通过各个不同中间节点的多个通信路由。此外,在专利文献2(日本专利公开JP-2003-23446)中还描述了通过组合多次 Dijkstra算法来计算多个路由的方法。1 (Jun Inagaki ^^"A method of Determining Various Solutions for Routing Application with a Genetic Algorithm,,,The Transactions of the Institute of Electronics, Information and Communication Engineers, D-I, Vol. J82-D-I,No. 8 (19990825), pp. 1102-1111。)描述了通过使用通用算法来同时计算多个通
信路由的方法。专利文献3(日本专利公开JP-2007-515906)描述了多跳通信网络中的代价确定方法。该代价确定方法包括关于网络中从源节点到目的地节点的多个节点中的至少一个来确定多个同时的可能下一跳的步骤。多个同时可能的多个节点优化预定的代价函数。此外, 该代价确定方法包括确定多个节点中至少一个的最佳代价,从而等于预定代价函数的上述
最佳值。引用列表[专利文献1]日本专利公开JP-2003-233768[专利文献2]日本专利公开JP-2003-23446[专利文献3]日本专利公开JP-2007-515906非专利文献[非专利文献 l]Jun Inagaki 等的 ‘‘A method of Determining VariousSolutions for Routing Application with a Genetic Algorithm,,,The Transactions of the Institute of Electronics, Information and Communication Engineers, D-I, Vol. J82-D-I,No.8 (19990825),pp.1102-1111。

发明内容
为了分发施加在通信网络上的负载,期望针对相同的源节点和目的地节点对之间的不同流设置不同的通信路由。为此,考虑计算从源节点到目的地节点的多个通信路由,如上述相关技术中描述的。当新的流出现时,可以这样来分发负载从多个通信路由中选择合适的一个,并且继而向新的流分配所选择的通信路由。然而,根据上文描述的有关技术,确定通信路由的路由设置服务器中的计算量变得巨大。在采用Dijkstra算法的情况中,计算量与节点的总数成比例地指数增加。例如,在 8维超立方体网络的情况中,源节点与目的地节点之间的通信路由具有约四万种模式,并且预先计算所有它们实际上是不可能的。而且,在采用通用算法的情况中,问题在于计算需要长的收敛时间并且计算量仍旧巨大。本发明的目的是当通过使用路由设置服务器来确定流的通信路由时减少路由设置服务器中的计算量。在本发明的一个方面中,提供了一种路由设置服务器,该路由设置服务器确定包括多个节点的通信网络中的流的通信路由。路由设置服务器具有存储单元和路由设计单元。在存储单元中存储下一跳信息,其中对于所述多个节点中的每一个,所述下一跳信息指示作为数据转发目的地的下一跳节点的候选。响应于指定流的源节点和目的地节点的路由设置请求,路由设计单元设计从源节点到目的地节点的通信路由。更具体地,路由设计单元具有下一跳确定单元,被配置为参考下一跳信息执行“下一跳确定处理”;环检测单元;以及环删除单元。在下一跳确定处理中,下一跳确定单元从关于目标节点的下一跳节点的候选随机地选择一个下一跳节点,并且将目标节点更新为上述选择的一个下一跳节点。下一跳确定单元通过如下方式来逐跳地确定通信路由将目标节点初始化为源节点,继而重复下一跳确定处理直到目标节点成为目的地节点。环检测单元检查当前目标节点是否与过去的目标节点重叠,以检测到那时为止确定的通信路由上的环。如果检测到环,则环删除单元通过将目标节点转回到任何过去的目标节点来删除环。在删除环之后,下一跳确定单元从上述任何过去的目标节点重新开始下一跳确定处理。在本发明的另一方面中,提供一种通信网络系统。该通信网络系统具有通信网络,包括多个节点;以及路由设置服务器,确定通信网络中的流的通信路由。路由设置服务器具有存储单元和路由设计单元。下一跳信息存储在存储单元中,其中对于多个节点中的每一个,下一跳信息指示作为数据转发目的地的下一跳节点的候选。响应于指定流的源节点和目的地节点的路由设置请求,路由设计单元设计从源节点到目的地节点的通信路由。 更具体地,该路由设计单元具有下一跳确定单元,被配置为参考下一跳信息来执行“下一跳确定处理”;环检测单元;以及环删除单元。在下一跳确定处理中,下一跳确定单元从关于目标节点的下一跳节点的候选随机地选择一个下一跳节点,并且将目标节点更新为上述选择的一个下一跳节点。下一跳确定单元通过如下方式逐跳地确定通信路由将目标节点初始化为源节点,继而重复下一跳确定处理直到目标节点成为目的地节点。环检测单元检查当前目标节点是否与过去的目标节点重叠,以检测到那时为止确定的通信路由上的环。如果检测到环,则环删除单元通过将目标节点转回到任何过去的目标节点来删除环。在删除环之后,下一跳确定单元从上述任何过去的目标节点重新开始下一跳确定处理。在本发明的又一方面中,提供一种路由设置方法,该方法确定包括多个节点的通信网络中的流的通信路由。该路由设置方法包括(A)在存储设备中存储下一跳信息,其中对于多个节点中的每一个,下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及(B)响应于指定流的源节点和目的地节点的路由设置请求来设计从源节点到目的地节点的通信路由。上述(B)步骤包括(Bi)参考下一跳信息执行“下一跳确定处理”。这里, 下一跳确定处理包括从关于目标节点的下一跳节点的候选随机地选择一个下一跳节点。 上述(B)步骤还包括(B》通过将目标节点初始化为源节点并且继而重复下一跳确定处理直到目标节点成为目的地节点来逐跳地确定通信路由;(Β; )检查当前目标节点是否与过去的目标节点重叠以检测到那时为止确定的通信路由上的环;(B4)如果检测到环,则通过将目标节点转回到任何过去的目标节点来删除环;以及(BO在删除环之后,从任何过去的目标节点重新开始下一跳确定处理。在本发明的又一方面中,提供一种路由设置程序,其使得计算机执行路由设置处理,该路由设置处理确定包括多个节点的通信网络中的流的通信路由。该路由设置处理包括(A)在存储设备中存储下一跳信息,其中对于多个节点中的每一个,下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及⑶响应于指定流的源节点和目的地节点的路由设置请求来设计从源节点到目的地节点的通信路由。上述(B)步骤包括(B1)参考下一跳信息执行“下一跳确定处理”。这里,下一跳确定处理包括从关于目标节点的下一跳节点的候选随机地选择一个下一跳节点;以及将目标节点更新为选择的一个下一跳节点。上述(B)步骤还包括(B》通过将目标节点初始化为源节点并且继而重复下一跳确定处理直到目标节点成为目的地节点来逐跳地确定通信路由;(Β; )检查当前目标节点是否与过去的目标节点重叠以检测到那时为止确定的通信路由上的环;(B4)如果检测到环,则通过将目标节点转回到任何过去的目标节点来删除环;以及(BO在删除环之后,从所述任何过去的目标节点重新开始下一跳确定处理。根据本发明,当通过使用路由设置服务器来确定通信网络中的流的通信路由时, 降低路由设置服务器中的计算量是可能的。


结合附图,根据某些示例性实施方式的以下描述,本发明的上述和其他目的、优势和特征将更明显。图1是示出了根据本发明一个示例性实施方式的通信网络系统的示意图。图2是示出了从源节点到目的地节点的多个通信路由的概念图。图3是示出了根据本发明第一示例性实施方式的、路由设置服务器的配置的框图。图4是示出了目标节点、目的地节点与下一跳节点之间的关系的概念图。图5是示出了路由表的概念图。图6是示出了根据第一示例性实施方式的路由设置方法的流程图。
图7是示出了路由节点列表的概念图。图8是示出了第一示例性实施方式中下一跳确定处理的流程图。图9是示出了根据本发明第二示例性实施方式的、路由设置服务器的配置的框图。图10是示出了路由高速缓存信息的概念图。图11是示出了根据第二示例性实施方式的、路由设置方法的流程图。图12是示出了根据本发明第三示例性实施方式的、路由设置服务器的配置的框图。图13是示出了链路代价表的概念图。图14是示出了路由代价表的概念图。图15是示出了第三示例性实施例中下一跳确定处理的流程图。
具体实施例方式将参考附图来描述本发明的示例性实施方式。1.通信网络系统图1是示出了根据本发明一个示例性实施方式的通信网络系统1的示意图。通信网络系统1具有包括多个节点5的通信网络NET。在本示例性实施方式中,通信网络NET包括η个节点5-1到5-η (η是等于或大于2的整数)。该通信网络系统1还具有路由设置服务器10。路由设置服务器10是管理服务器 (管理计算机),该管理服务器执行通信网络NET的集中式管理并且能够与多个节点5-1到 5-η进行双向通信。特别地,路由设置服务器10确定在通信网络NET中流的通信路由。更具体地,当流出现时,路由设置服务器10从通信网络NET接收关于流的路由设置请求。该路由设置请求指定流的源节点和目的地节点。响应于路由设置请求,路由设置服务器10确定从源节点到目的地节点的通信路由。当通信路由被确定时,路由设置服务器10指示确定通信路由上的每个节点5沿确定的通信路由转发流的数据(分组、帧)。每个节点5根据该指令执行自身的设置。例如,每个节点5配备有“转发表”。转发表是指示流数据(分组、帧)的输入源与转发目的地之间对应关系的表。每个节点5可以通过参考转发表向指定转发目的地转发从输入源接收的流数据。在该情况中,路由设置服务器10指示每个节点5设置转发表,使得流数据沿着所确定的通信路被转发。每个节点5根据来自于路由设置服务器10的指令来设置其自己的转发表的内容。各种接口作为路由设置服务器10和节点5之间用于实现上述处理的接口都是可能的。例如,openflow(参考http://ww. openflowswith. org)是适用的。在该情况中, "Openflow控制器”服务器作为路由设置服务器10并且“Openflow交换机”服务器作为每个节点5。通过使用Openflow的“源信道”设置转发表是可能的。2.路由设置处理的概述图2是示出了从源节点5-S到目的地节点5-D的多个通信路由的概念图。在很多情况中,存在从源节点5-S到目的地节点5-D的多个通信路由,如图2所示。每个通信路由包括某些中继节点5-r,并且不同的通信路由通过中继节点5-r的不同组合来配置。为了分布施加在通信网络NET上的负载,期望针对同一对源节点5-S与目的地节点5-D之间的不同流设置不同的通信路由。根据本示例性实施方式的路由设置服务器10确定流的通信路由,使得施加在通信网络NET上的负载被分布。即,路由设置服务器10可以针对同一对源节点5-S与目的地节点5-D之间的不同流确定了不同的通信路由。为此,当“随机”地确定流的通信路由时,路由设置服务器10逐跳地确定从流的源节点5-S朝向目的地节点5-D的中继节点5-r。艮口, 在确定路由时,针对每跳引入随机性。结果,非常可能为不同的流确定不同的通信路由。因此,施加在通信网络NET上的负载被分布并且因此改进了通信效率。根据本示例性实施方式,当确定流的通信路由时,不需要计算从源节点5-S到目的地节点5-D的多个通信路由。相反,针对每跳选择中继节点5-r的候选中随机的一个。在该情况中,在路由设置服务器10中的计算次数最多是通信路由上的总跳数。因此,路由设置服务器10中的计算量被大大降低。即,根据本示例性实施方式,可以分布施加在通信网络NET上的负载并且降低路由设置服务器10中的计算量。应该注意,如上所述的路由设置处理可以由执行路由设置程序的路由设置服务器 10实现。路由设置程序是由路由设置服务器10执行的计算机程序。路由设置程序可以记录在有形计算机可读记录介质上。3.路由设置服务器的各种示例3-1.第一示例性实施方式图3是示出了根据本发明第一示例性实施方式的路由设置服务器10的配置的框图。路由设置服务器10具有网络信息收集管理单元100、存储单元200和路由设计单元 300。网络信息收集管理单元100收集网络信息INF。网络信息INF是关于通信网络 NET的信息并且包括关于节点5之间的连接状态以及链路代价的信息。基于收集的网络信息INF,网络信息收集管理单元100创建并且更新存储在存储单元200中的各种信息和表。 应该注意,网络信息收集管理单元100由执行路由设置程序的路由设置服务器10实现。存储单元200是诸如RAM和HDD的存储设备。拓扑信息210、路由表220-1到 220-n、路由节点列表230等存储在存储单元200中。拓扑信息210指示节点5之间的连接状态,即通信网络NET的物理拓扑。拓扑信息210由网络信息收集管理单元100创建并且更新。接下来,为了阐释路由表220,将参考图4描述“目标节点,,和“下一跳节点”。目标节点5-i是5-1到5-n(i = 1到η)中的任意一个。目的地节点5_j是节点5_1到5_n 中的任意一个并且不同于目标节点5-i(j = 1到n,j兴i)。考虑从目标节点5-i向目的地节点5-j传送流数据的情况。在该情况中,作为来自于目标节点5-i的流数据的转发目的地下一节点是“下一跳节点5-ij”。S卩,下一跳节点5-ij是数据流将要通过的、从目标节点5-i的下一跳的节点。关于目标节点5-i,可以存在下一跳节点5-ij的多个候选。当存在m个候选(m是自然数)时,各候选表示为5-ij (1)到5-ij (m)。一般而言,对于目标节点5-i,存在下一跳节点候选5-ij (k) ;k= 1到m。应该注意,下一跳节点候选5-ij (k)可以从目的地节点5-j后退。路由表220充当指示上述下一跳节点候选的“下一跳信息”。更具体地,路由表220-1到220-n分别为节点5-1到5-n而准备。即,目标节点5_i和路由表220-i相互关联。路由表220-i指示关于目标节点5-i的下一跳节点候选5-i j (k)。图5示出了关于目标节点5-i的路由表220-i的示例。如图5所示,路由表220_i 指示关于每个目的地节点5-j (j = 1到n,j Φ i)的下一跳节点候选5-i j (k)。此外,路由表220-i指示针对每个下一跳节点候选5-i j(k)定义的“选择概率Pij (k)”。选择概率 Pij (k)是从m个下一跳节点候选5-i j(l)到5_ij(m)中选择下一跳节点5_i j (k)的概率。 m个选择概率Pij (k)的和是1。[公式1]
mX PlAk) = 1 ...(1)
k = \可以采用各种方法作为用于计算选择概率Pij (k)的方法。例如,计算通过下一跳节点候选5-i j (k)从目标节点5-i到目的地节点5-j的最短路由的代价(路由代价)。路由代价是组成路由的各个链路的链路代价的和。当带宽较低、可用容量较小、延迟时间较长以及分组丢失数量较大时,链路代价将会增力Π。然后,将与计算出的路由代价成反比例的值用作选择概率Pij (k)。通过使用上述网络信息INF和拓扑信息210,网络信息收集管理单元100计算每个选择概率Pij (k)并且创建和更新每个路由表220-i。再次参考图3,存储在存储单元200中的路由节点列表230是指示由下文描述的路由设计单元300设计的通信路由的信息。路由设计单元300由执行路由设置程序的路由设置服务器10实现。路由设计单元300包括下一跳确定单元330、环检测单元350、环删除单元370和节点设置单元390。这些功能块参考存储在存储单元200中的信息和表以执行根据本示例性实施方式的路由设置处理。图6是示出了根据第一示例性实施方式的路由设置处理的流程图。图7概念性地示出了路由节点列表230。此后,将更详细地描述根据本示例性实施方式的路由设置处理。步骤SlO 当流出现时,路由设计单元300接收关于来自于通信网络NET的流的路由设置请求REQ。路由设置请求REQ指定流的源节点5-S和目的地节点5-D。步骤S320 下一跳确定单元330接收路由设置请求REQ并且识别源节点5_S和目的地节点 5-D。然后,下一跳确定单元330将目标节点5-i初始化为源节点5-S。下一跳确定单元330 将源节点5-S写作路由节点列表230的第一条目(参见图7)。步骤S330 下一跳确定单元330关于当前目标节点5-i执行“下一跳确定处理”。在下一跳确定处理中,下一跳确定单元330通过参考与目标节点5-i相关联的路由表220-i (下一跳信息)而“随机地”选择下一跳节点。图8是示出了本示例性实施方式中下一跳确定处理的流程图。步骤S331:下一跳确定单元330参考当前目标节点5-i的路由表220-i。然后,下一跳确定单元330提取朝向目的地节点5-j (=节点5-D)的下一跳节点候选5-i j (1)。步骤S335
随后,下一跳确定单元330从提取的下一跳节点候选5-i j (1)到5_i j (m)随机地选择一个下一跳节点5-ij。例如,下一跳确定单元330利用随机数和选择概率Pij (k)。从路由表220-i读出下一跳节点候选5-ij (k)的选择概率Pij (k)。作为示例,考虑m = 3并且下一跳节点候选5_ij(l)到5_ij(3)的选择概率Pij(I) 到Pij (3)分别是0.2、0.3和0.5的情况。在该情况中,关于下一跳节点候选5_ij (1)到 5-ij (3)的数值范围根据各个选择概率Pij(I)到Pij (3)来定义。例如,下一跳确定单元 330将不小于0. 0并且小于0. 2的范围与下一跳节点候选5-ij (1)相关联,将不小于0. 2并且小于0. 5的范围与下一跳节点候选5-ij (2)相关联,以及将不小于0. 5并且小于1. 0的范围与下一跳节点候选5-ij (3)相关联。然后,下一跳确定单元330生成不小于0. 0并且小于0.2的范围内的随机数X。下一跳确定单元330选择与包括生成随机数X的数值范围相关联的下一跳节点候选。例如,如果随机数X是0. 3,则下一跳确定单元330选择下一跳节点候选5-iK2)。这样,一个下一跳节点5-ij可以根据上述选择概率Pij(k)来随机地选择。步骤S336 当选择下一跳节点5-ij时,下一跳确定单元330将所选的下一跳节点5-ij作为中继节点5-r添加到路由节点列表230 (参见图7)。而且,下一跳确定单元330将目标节点 5-i更新为所选的下一跳节点5-ij。步骤S340 返回到图6,在完成了下一跳确定处理(步骤330)之后,下一跳确定单元330检查过去更新的目标节点5-i (选择的下一跳节点)是否变为目的地节点5-D。换言之,下一跳确定单元330检查目标节点5-i是否达到目的地节点5-D。步骤S350 如果目标节点5-i仍旧没有达到目的地节点5-D (步骤S340 ;否),则环检测单元 350确定到那时为止确定的路由上是否出现环。更具体地,环检测单元350参考路由节点列表230以检查当前的目标节点5-i (路由节点列表230中底部的条目)是否与过去的目标节点(除底部条目之外的条目)重叠。如果当前的目标节点5-i与任意过去的目标节点重叠,则环检测单元350检查到那时为止确定的路由上是否出现环。如果没有出现环(步骤S350 ;否),则处理返回到步骤S330,并且下一跳确定单元 330关于新的目标节点5-i执行下一跳确定处理。另一方面,如果检测到环(步骤S350; 是),则处理前进到步骤S370。步骤S370 环删除单元370删除检测到的环。为此,环删除单元370从底部删除路由节点列表230上记录的某些条目。即,环删除单元370将目标节点5-i转回到任何过去的目标节点。换言之,环删除单元370使得到那时为止确定的路由退化。考虑用于条目删除的某些策略。例如,环删除单元370删除路由节点列表230中的最后条目。这等于将目标节点5-i只转回一跳。备选地,环删除单元370可以删除直到起始位置(重叠节点首次出现的位置)的条目。这等于将目标节点5-i从当前节点转回到与当前节点重叠的过去的节点。备选地,环删除单元370可以通过参考具有逐条返回的路由表220-i以删除直到选择概率Pij (k)开始减小的位置。
步骤S330,在环删除单元370删除环之后,下一跳确定单元330从新目标节点5_i重新开始下一跳确定处理(步骤S330)。在该重新确定处理中,下一跳确定单元330可以排除先前从候选选择的下一跳节点5-ij。在该情况中,下一跳确定单元330随机地选择除先前从下一跳节点候选5-ij(l)到5-ij (m)中选择的节点之外的一个下一跳节点。如果下一跳节点候选仅包括先前选择的节点,则下一跳确定单元330进一步删除路由节点列表230中的最后条目以将目标节点5-i仅转回一跳,并且继而重新开始下一跳确定处理。在下一跳确定处理之后,处理返回到步骤S340。重复上述处理,并且下一跳确定单元330从源节点5-S朝向目的地节点5_D逐跳地随机确定中继节点5-r。最终,目标节点5-i达到目的地节点5-D(步骤S340;是)。艮口, 确定了从源节点5-S到目的地节点5-D的通信路由。这样,根据本示例性实施方式的下一跳确定单元330通过重复下一跳确定处理而随机地并且逐跳地确定了从源节点5-S到目的地节点5-D的通信路由。步骤S390 在确定了通信路由之后,节点设置单元390指示所确定的通信路由上的每个节点 5沿确定的通信路由转发流数据(分组、帧)。更具体地,节点设置单元390向路由节点列表230上注册的每个节点5传输转发表设置命令CMD。该转发表设置命令CMD是用以指示设置转发表从而沿上述确定的通信路由转发流数据的指令。确定的通信路由上的每个节点5从路由设置服务器10接收转发表设置命令CMD 并且根据该命令设置其自己的转发表内容。结果,从源节点5-D向目的地节点5-D传输流数据。3-2.第二示例性实施方式图9是示出了根据本发明第二示例性实施方式的、路由设置服务器10的配置的框图。将适当省略与第一示例性实施方式重复的描述。根据第二示例性实施方式,路由高速缓存信息240进一步存储在存储单元200中。而且,路由设计单元300还包括高速缓存搜索单元310。图10概念性地示出了路由高速缓存信息M0。路由高速缓存信息240指示关于源节点5-S和目的地节点5-D的组合的通信路由的候选(此后称作“路由候选”)。这里,路由候选是过去确定的通信路由(路由节点列表230)。多个路由候选可以已经针对源节点5-S 和目的地节点5-D的组合而存在。如图10所示,还关于每个路由候选定义选择概率。针对在确定路由候选(路由节点列表230)时选择的所有下一跳节点5-ij (k)的选择概率Pij (k)的乘积来获得路由候选的概率。图11是示出了根据本示例性实施方式的、路由设置处理的流程图。步骤SlO与第一示例性实施方式的情况相同。根据第二示例性实施方式,高速缓存搜索单元310首先接收路由设置请求REQ。步骤S310:响应于路由设置请求REQ,高速缓存搜索单元310搜索路由高速缓存信息240。即, 高速缓存搜索单元310检查路由高速缓存信息240是否包括关于路由设置请求REQ所指定
13的源节点5-S和目的地节点5-D的组合的路由候选(过去的路由节点列表230)。步骤S312:在高速缓存命中的情况下,即,在路由高速缓存信息240包括与路由设置请求REQ 相关联的路由候选的情况下(步骤S311 ;是),高速缓存搜索单元310从路由高速缓存信息240提取所有路由候选。存在多个路由候选的情况也是存在的。因此,高速缓存搜索单元310从提取的路由候选中随机地选择通信路由。更具体地,如同在上述下一跳节点候选选择处理(步骤S33Q的情况一样,随机数和路由候选的选择概率被使用。应该注意,对于路由候选,选择概率的和不一定是1。因此,即使存在某些路由候选,但根据生成的随机数, 可以不选择一个路由候选。在这个意义上,从路由候选中对通信路由的选择是随机的。步骤S314:如果从路由候选选择了一个通信路由(步骤S313 ;是),高速缓存搜索单元310采用选择的通信路由(路由节点列表230)作为此次的通信路由。此后,略过上述步骤S320 到S370并且处理前进到步骤S390。如果路由高速缓存信息240不包括与路由设置请求REQ相关联的任何路由候选 (步骤S311 ;否)或没有从路由候选选择通信路由(步骤S313 ;否),则高速缓存搜索单元 310向下一跳确定单元330转发路由设置请求REQ。此后,如在第一示例性实施方式的情况中,执行步骤S320到S370,并且根据路由设置请求REQ确定通信路由。S380 下一跳确定单元330向路由高速缓存信息240添加所确定的新通信路由(路由节点列表230)。对于路由设置请求REQ此次所指定的源节点5-S和目的地节点5-D的组合而言,所添加的通信路由称为新路由候选。此后,处理前进到步骤S390。根据本示例性实施方式,在高速缓存命中的情况下,可以缩短确定通信路由的时间。3-3.第三示例性实施方式图12是示出了根据本发明第三示例性实施方式的、路由设置服务器10的配置的框图。与第一示例性实施方式的重复描述将适当省略。根据第三示例性实施方式,链路代价表250和路由代价表260代替路由表220-1到220_n存储在存储单元200中。图13概念性地示出了链路代价表250。链路代价表250指示关于每个链路的代价。一个链路由链路起点节点和作为相邻节点的链路终点节点定义。链路起点节点和链路终点节点彼此距离一跳。因此,链路代价表250也充当指示关于每个节点5的下一跳节点候选的“下一跳信息”。图14概念性地示出了路由代价表沈0。路由代价表260指示针对源节点5_1到 5-n和目的地节点5-1到5-n的所有组合的路由代价。路由代价是构成从源节点到目的地节点的最短路由的各个链路的链路代价的和。任意两个节点之间的路由代价可以通过参考路由代价表260获得。链路代价表250和路由代价表260也由网络信息收集管理单元100创建和更新。根据第三示例性实施方式,在下一跳确定处理中参考链路代价表250和路由代价表260而非路由表220(步骤S330)。其他方面与第一示例性实施方式中的情况相同。图 15是示出了本示例性实施例中下一跳确定处理(步骤S330)的流程图。
步骤S332:下一跳确定单元330参考链路代价表250以提取关于目标节点5_i的下一跳节点候选5-i j (k)。更具体地,下一跳确定单元330提取其链路起点节点与链路代价表250 中的目标节点5-i相同的条目。包括在所提取条目中的链路终点节点是下一跳节点候选 5_ij(k)。步骤S333:随后,下一跳确定单元330计算通过下一跳节点候选5_ij(k)从目标节点5-i到目的地节点5-j的路由的路由代价。从目标节点5-i(链路起点节点)到下一跳节点候选 (链路终点节点)的路由代价是链路代价表250所指示的链路代价。可以从路由代价表 260获得从下一跳节点候选5-i j(k)到目的地节点5-j的路由代价。两个路由代价的和是要计算的路由代价。而且,下一跳确定单元330基于计算的路由代价来计算下一跳节点候选5-ij(k)的选择概率Pij (k)。路由代价与选择概率Pij (k)直接的关系与第一示例性实施方式情况中的相同。以此方式,下一跳确定单元330可以提取下一跳节点候选5-i j (k)并计算选择概率Pij(k)。即,可以获得如由第一示例性实施方式中的路由表220-i(参见图5)给出的相同信息。此后,如第一示例性实施方式的情况中那样执行步骤S335和S336。应该注意,还可以组合第二示例性实施方式与第三示例性实施方式。虽然已经参考附图在上面描述了本发明的示例性实施方式,但是本发明不限于这些示例性实施方式并且可以本领域技术人员可以在不脱离本发明的精神和范围的情况下进行适当修改。虽然可以将上述示例性实施方式的部分或整体描述为以下补充注释,但是其不限于此。(补充注释1)一种路由设置服务器,所述路由设置服务器确定包括多个节点的通信网络中的流的通信路由,所述路由设置服务器包括存储单元,其中存储有关于所述多个节点中每一个的下一跳信息,其中所述下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及路由设计单元,被配置为响应于指定流的源节点和目的地节点的路由设置请求而设计从所述源节点到所述目的地节点的通信路由,其中所述路由设计单元包括下一跳确定单元,被配置为参考所述下一跳信息执行下一跳确定处理;环检测单元;以及环删除单元,其中在所述下一跳确定处理中,所述下一跳确定单元从关于目标节点的所述下一跳节点的所述候选中随机地选择一个下一跳节点并且将所述目标节点更新为所述选择的一个下一跳节点,其中所述下一跳确定单元通过将所述目标节点初始化为所述源节点并且继而重复所述下一跳确定处理直到所述目标节点成为所述目的地节点来逐跳地确定所述通信路
其中所述环检测单元检查当前目标节点是否与过去的目标节点重叠以检测到那时为止确定的所述通信路由上的环,其中如果检测到所述环,则所述环删除单元通过将所述目标节点转回到任何过去的目标节点来删除所述环,以及其中在删除所述环之后,所述下一跳确定单元从所述任何过去的目标节点重新开始下一跳确定处理。(补充注释2)根据补充注释1所述的路由设置服务器,其中所述环删除单元通过将所述目标节点只转回一跳来删除所述环。(补充注释3)根据补充注释1所述的路由设置服务器,其中所述环删除单元通过将所述目标节点转回到与所述当前目标节点重叠的节点来删除所述环。(补充注释4)根据补充注释1至3中任一项所述的路由设置服务器,其中当重新开始所述下一跳确定处理时,所述下一跳确定单元从所述候选排除先前选择的下一跳节点。(补充注释5)根据补充注释4所述的路由设置服务器,其中如果所述候选仅包括先前选择的下一跳节点,则所述下一跳确定单元进一步将所述目标节点只转回一跳并且继而重新开始所述下一跳确定处理。(补充注释6)根据补充注释1至5中任一项所述的路由设置服务器,其中关于所述目标节点的所述候选包括第一候选和第二候选,其中在所述下一跳确定处理中,所述下一跳确定单元生成预定范围内的随机数,其中如果所述生成的随机数处于所述预定范围内包括的第一范围内,则所述下一跳确定单元选择所述第一候选,以及其中如果所述生成的随机数处于所述预定范围内包括的第二范围内,则所述下一跳确定单元选择所述第二候选。(补充注释7)根据补充注释6所述的路由设置服务器,其中根据所述第一候选被选择的第一选择概率来确定所述第一范围,以及根据所述第二候选被选择的第二选择概率来确定所述第二范围。(补充注释8)根据补充注释7所述的路由设置服务器,其中所述第一选择概率与通过所述第一候选从所述目标节点到所述目的地节点的路由的代价成反比,以及所述第二选择概率与通过所述第二候选从所述目标节点到所述目的地节点的路由的代价成反比。(补充注释9)根据补充注释1至8中任一项所述的路由设置服务器,其中路由高速缓存信息被进一步存储在所述存储单元中,其中所述路由高速缓存信息指示过去确定的、关于所述源节点和所述目的地节点的组合的所述通信路由作为路由候选,以及其中所述下一跳确定单元向所述路由高速缓存信息添加所述确定的通信路由,以作为关于所述路由设置请求所指定的所述源节点和所述目的地节点的组合的所述路由候选。(补充注释10)根据补充注释9所述的路由设置服务器,其中所述路由设计单元还包括高速缓存搜索单元,其中所述高速缓存搜索单元响应于所述路由设置请求来搜索所述路由高速缓存信息,以及其中如果所述路由高速缓存信息包括与所述路由设置请求相关联的所述路由候选,则所述高速缓存所述单元随机地从所述路由候选选择所述通信路由。(补充注释11)根据补充注释1至10中任一项所述的路由设置服务器,其中所述路由设计单元还包括节点设置单元,其中所述节点设置单元指示所述确定的通信路由上的每个节点沿所述确定的通信路由转发所述流的数据。(补充注释12)一种通信网络系统包括通信网络,包括多个节点;以及路由设置服务器,被配置为确定所述通信网络中的流的通信路由,其中所述路由设置服务器包括存储单元,其中存储有关于所述多个节点中的每一个的下一跳信息,其中所述下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及路由设计单元,被配置为响应于指定流的源节点和目的地节点的路由设置请求而设计从所述源节点到所述目的地节点的通信路由,其中所述路由设计单元包括下一跳确定单元,被配置为参考所述下一跳信息执行下一跳确定处理;环检测单元;以及环删除单元,其中在所述下一跳确定处理中,所述下一跳确定单元从关于目标节点的所述下一跳节点的所述候选随机地选择一个下一跳节点并且将所述目标节点更新为所述选择的一个下一跳节点,其中所述下一跳确定单元通过将所述目标节点初始化为所述源节点并且继而重复所述下一跳确定处理直到所述目标节点成为所述目的地节点来逐跳地确定所述通信路
其中所述环检测单元检查当前目标节点是否与过去目标节点重叠以检测到那时为止确定的所述通信路由上的环,其中如果检测到所述环,则所述环删除单元通过将所述目标节点转回到任何过去目标节点来删除所述环,以及其中在删除所述环之后,所述下一跳确定单元从所述任何过去目标节点重新开始下一跳确定处理。(补充注释13)一种路由设置方法,用于确定包括多个节点的通信网络中的流的通信路由,所述路由设置方法包括在存储设备中存储关于所述多个节点中的每一个的下一跳信息,所述下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及响应于指定流的源节点和目的地节点的路由设置请求,设计从所述源节点到所述目的地节点的通信路由,其中所述设计所述通信路由包括参考所述下一跳信息执行下一跳确定处理;其中所述下一跳确定处理包括从关于目标节点的所述下一跳节点的所述候选随机地选择一个下一跳节点;以及将所述目标节点更新为所述选择的一个下一跳节点;通过将所述目标节点初始化为所述源节点并且继而重复所述下一跳确定处理直到所述目标节点成为所述目的地节点来逐跳地确定所述通信路由,检查当前目标节点是否与过去目标节点重叠以检测到那时为止确定的所述通信路由上的环,如果检测到所述环,则通过将所述目标节点转回到任何过去目标节点来删除所述环;以及在删除所述环之后,从所述任何过去目标节点重新开始下一跳确定处理。(补充注释14)一种其上记录路由设置程序的记录介质,其中所述路由设置程序使得计算机执行路由设置处理,所述路由设置处理确定包括多个节点的通信网络中的流的通信路由,所述路由设置处理包括在存储设备中存储关于所述多个节点中的每一个的下一跳信息,所述下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及响应于指定流的源节点和目的地节点的路由设置请求来设计从所述源节点到所述目的地节点的通信路由,其中所述设计所述通信路由包括 参考所述下一跳信息执行下一跳确定处理;其中所述下一跳确定处理包括从关于目标节点的所述下一跳节点的所述候选随机地选择一个下一跳节点;以及
18
将所述目标节点更新为所述选择的一个下一跳节点;通过将所述目标节点初始化为所述源节点并且继而重复所述下一跳确定处理直到所述目标节点成为所述目的地节点来逐跳地确定所述通信路由,检查当前目标节点是否与过去目标节点重叠以检测到那时为止确定的所述通信路由上的环,如果检测到所述环,则通过将所述目标节点转回到任何过去目标节点来删除所述环;以及在删除所述环之后,从所述任何过去目标节点重新开始下一跳确定处理。本申请基于并且要求2009年3月23日提交的日本专利申请No. 2009-069794的优先权,通过引用将其全文公开合并于此。
权利要求
1.一种路由设置服务器,用于确定包括多个节点的通信网络中的流的通信路由, 所述路由设置服务器包括存储单元,其中存储有下一跳信息,其中对于所述多个节点中的每一个,所述下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及路由设计单元,被配置为响应于指定流的源节点和目的地节点的路由设置请求而设计从所述源节点到所述目的地节点的通信路由, 其中所述路由设计单元包括下一跳确定单元,被配置为参考所述下一跳信息来执行下一跳确定处理; 环检测单元;以及环删除单元,其中在所述下一跳确定处理中,所述下一跳确定单元从关于目标节点的所述下一跳节点的所述候选中随机地选择一个下一跳节点,并且将所述目标节点更新为所述选择的一个下一跳节点,其中所述下一跳确定单元通过将所述目标节点初始化为所述源节点并且继而重复所述下一跳确定处理直到所述目标节点成为所述目的地节点来逐跳确定所述通信路由,其中所述环检测单元检查当前目标节点是否与过去的目标节点重叠,以检测到那时为止确定的所述通信路由上的环,其中如果检测到所述环,则所述环删除单元通过将所述目标节点转回到任何过去的目标节点来删除所述环,以及其中在删除所述环之后,所述下一跳确定单元从所述任何过去的目标节点重新开始所述下一跳确定处理。
2.根据权利要求1所述的路由设置服务器,其中所述环删除单元通过将所述目标节点只转回一跳来删除所述环。
3.根据权利要求1所述的路由设置服务器,其中所述环删除单元通过将所述目标节点转回到与所述当前目标节点重叠的一个节点来删除所述环。
4.根据权利要求1至3任一项所述的路由设置服务器,其中当重新开始所述下一跳确定处理时,所述下一跳确定单元从所述候选中排除先前选择的下一跳节点。
5.根据权利要求4所述的路由设置服务器,其中如果所述候选仅包括先前选择的下一跳节点,则所述下一跳确定单元进一步将所述目标节点只转回一跳,继而重新开始所述下一跳确定处理。
6.根据权利要求1至5任一项所述的路由设置服务器, 其中关于所述目标节点的所述候选包括第一候选和第二候选,其中在所述下一跳确定处理中,所述下一跳确定单元生成预定范围内的随机数, 其中如果所述生成的随机数处于所述预定范围内包括的第一范围内,则所述下一跳确定单元选择所述第一候选,以及其中如果所述生成的随机数处于所述预定范围内包括的第二范围内,则所述下一跳确定单元选择所述第二候选。
7.根据权利要求6所述的路由设置服务器,其中所述第一范围根据所述第一候选被选择的第一选择概率而被确定,以及所述第二范围根据所述第二候选被选择的第二选择概率而被确定。
8.根据权利要求7所述的路由设置服务器,其中所述第一选择概率与通过所述第一候选的、从所述目标节点到所述目的地节点的路由的代价成反比,以及所述第二选择概率与通过所述第二候选的、从所述目标节点到所述目的地节点的路由的代价成反比。
9.根据权利要求1至8任一项所述的路由设置服务器, 其中路由高速缓存信息被进一步存储在所述存储单元中,其中所述路由高速缓存信息指示过去确定的、关于所述源节点和所述目的地节点的组合的所述通信路由以作为路由候选,以及其中所述下一跳确定单元向所述路由高速缓存信息添加所述确定的通信路由,以作为关于所述路由设置请求所指定的所述源节点和所述目的地节点的组合的所述路由候选。
10.根据权利要求9所述的路由设置服务器,其中所述路由设计单元还包括高速缓存搜索单元,其中所述高速缓存搜索单元响应于所述路由设置请求而搜索所述路由高速缓存信息,以及其中如果所述路由高速缓存信息包括与所述路由设置请求相关联的所述路由候选,则所述高速缓存所述单元随机地从所述路由候选中选择所述通信路由。
11.根据权利要求1至10任一项所述的路由设置服务器, 其中所述路由设计单元还包括节点设置单元,其中所述节点设置单元指示所述确定的通信路由上的每个节点沿所述确定的通信路由转发所述流的数据。
12.一种通信网络系统,包括 通信网络,包括多个节点;以及路由设置服务器,被配置为确定所述通信网络中的流的通信路由, 其中所述路由设置服务器包括存储单元,在所述存储单元中存储下一跳信息,其中对于所述多个节点中的每一个,所述下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及路由设计单元,被配置为响应于指定流的源节点和目的地节点的路由设置请求而设计从所述源节点到所述目的地节点的通信路由, 其中所述路由设计单元包括下一跳确定单元,被配置为参考所述下一跳信息来执行下一跳确定处理; 环检测单元;以及环删除单元,其中在所述下一跳确定处理中,所述下一跳确定单元从关于目标节点的所述下一跳节点的所述候选中随机地选择一个下一跳节点,并且将所述目标节点更新为所述选择的一个下一跳节点,其中所述下一跳确定单元通过将所述目标节点初始化为所述源节点并且继而重复所述下一跳确定处理直到所述目标节点成为所述目的地节点来逐跳地确定所述通信路由,其中所述环检测单元检查当前目标节点是否与过去的目标节点重叠,以检测到那时为止确定的所述通信路由上的环,其中如果检测到所述环,则所述环删除单元通过将所述目标节点转回到任何过去目标节点来删除所述环,以及其中在删除所述环之后,所述下一跳确定单元从所述任何过去目标节点重新开始所述下一跳确定处理。
13.—种路由设置方法,用于确定包括多个节点的通信网络中的流的通信路由, 所述路由设置方法包括在存储设备中存储下一跳信息,其中对于所述多个节点中的每一个,所述下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及响应于指定流的源节点和目的地节点的路由设置请求,设计从所述源节点到所述目的地节点的通信路由,其中所述设计所述通信路由包括 参考所述下一跳信息执行下一跳确定处理; 其中所述下一跳确定处理包括从关于目标节点的所述下一跳节点的所述候选随机地选择一个下一跳节点;以及将所述目标节点更新为所述选择的一个下一跳节点;通过将所述目标节点初始化为所述源节点并且继而重复所述下一跳确定处理直到所述目标节点成为所述目的地节点来逐跳地确定所述通信路由,检查当前目标节点是否与过去目标节点重叠,以检测到那时为止确定的所述通信路由上的环,如果检测到所述环,则通过将所述目标节点转回到任何过去目标节点来删除所述环;以及在删除所述环之后,从所述任何过去目标节点重新开始下一跳确定处理。
14.一种其上记录有路由设置程序的记录介质,其中所述路由设置程序使得计算机执行路由设置处理,所述路由设置处理确定包括多个节点的通信网络中的流的通信路由, 所述路由设置处理包括在存储设备中存储下一跳信息,其中对于所述多个节点中的每一个,所述下一跳信息指示作为数据转发目的地的下一跳节点的候选;以及响应于指定流的源节点和目的地节点的路由设置请求来设计从所述源节点到所述目的地节点的通信路由,其中所述设计所述通信路由包括 参考所述下一跳信息执行下一跳确定处理; 其中所述下一跳确定处理包括从关于目标节点的所述下一跳节点的所述候选随机地选择一个下一跳节点;以及将所述目标节点更新为所述选择的一个下一跳节点;通过将所述目标节点初始化为所述源节点并且继而重复所述下一跳确定处理直到所述目标节点成为所述目的地节点来逐跳地确定所述通信路由,检查当前目标节点是否与过去目标节点重叠以检测到那时为止确定的所述通信路由上的环,如果检测到所述环,则通过将所述目标节点转回到任何过去目标节点来删除所述环;以及在删除所述环之后,从所述任何过去目标节点重新开始下一跳确定处理。
全文摘要
一种路径设置服务器,具有存储单元和路径计算单元。指示每个节点的下一跳候选的下一跳信息被存储在存储单元中。响应于指示流的源节点和目的地节点的路由设置请求,路径计算单元设计其间的通信路径。更具体地,路径设计单元包括下一跳确定单元,其在参考下一跳信息的同时执行“下一跳确定处理”。在下一跳确定处理中,下一跳确定单元为目标节点随机地选择下一跳候选节点之一,并且将目标节点更新为所选择的候选。在将目标节点初始化为源节点之后,下一跳确定单元通过重复下一跳确定处理直到目标节点变为目的地节点而每次一跳地确定通信路径。
文档编号H04L12/56GK102362470SQ20108001359
公开日2012年2月22日 申请日期2010年3月23日 优先权日2009年3月23日
发明者下西英之 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1