路径计算方法以及计算装置制造方法

文档序号:7776117阅读:210来源:国知局
路径计算方法以及计算装置制造方法
【专利摘要】路径计算方法以及计算装置。计算装置计算在通过链路连接多个节点而成的网络中,多个节点中的2个节点之间的最短通信路径即最短路径,计算装置具有:存储部,存储包括节点之间的最短路径的信息;控制部,对第1通信路径的距离与第1通信路径以外的存储在存储部的第2通信路径的距离进行比较,第1通信路径是多个节点中作为通信路径起点的起点节点和与起点节点邻接的邻接节点之间的通信路径,在第1通信路径的距离比第2通信路径的距离短时,将第1通信路径当作最短路径的候选,在第1通信路径的距离不比第2通信路径的距离短时,将第2通信路径当作最短路径的候选,将邻接节点作为起点节点,对第1通信路径的距离与第2通信路径的距离进行比较。
【专利说明】路径计算方法以及计算装置
[0001]本发明专利申请是发明名称为“路径计算方法、程序以及计算装置”、申请日为2009年11月18日、国际申请号为“PCT/JP2009/069573”、国家申请号为“200980144755.6”的发明专利申请的分案申请。
【技术领域】
[0002]本发明涉及计算通信路径的路径计算方法以及计算装置。
【背景技术】
[0003]存在如下情况:连接网络内的节点之间的链路的铺设状况(拓扑)产生变化,此前无法通过的部位可以通过,或者相反,可以通过的部位无法通过。
[0004]在需要始终维持从出发地到目的地的最短路径的情况下,伴随路线拓扑的变化,需要计算拓扑变化后的最短路径。
[0005]在现有的最短路径计算方法中,在拓扑变化的情况下,使用变化后的拓扑的信息,再次计算连接2个节点之间的全部最短路径。
[0006]在非专利文献I中记载了这种最短路径计算方法。另外,非专利文献I所记载的方法作为迪科斯彻算法而公知。
[0007]但是,应该注意的是,拓扑变化前和变化后的最短路径不产生差异的情况很多。并且,如果在拓扑变化后计算连接其他节点之间的最短路径,则该最短路径和想要由此计算的节点之间的最短路径不产生差异的情况也很多。
[0008]但是,在现有的最短路径计算方法中,使用仅有铺设状况的信息来计算最短路径,因此,即使在最短路径不产生差异的情况下,也无法利用已经存在的最短路径的信息。因此,需要再次计算全部最短路径,产生计算时间变长的问题。
[0009]通常,在这种最短路径计算方法中,对连接节点之间的链路分配被称为成本的数,计算通过的路径中包括的链路的成本之和最小的路径。
[0010]在非专利文献2中记载了如下方法:在某个链路的成本产生变化的情况下,使用拓扑变化前的最短路径的信息,计算变化后的最短路径。通过使用该方法,能够解决上述由于再次计算全部最短路径而使计算时间变长的问题。
[0011]非专利文献1:E.W.Di jkstra: A note on two problems in connexion withgraphs.1n Numerische Mathematik,I (1959),S.269-271.[0012]非专利文献2:B.Xiao, et al."Dynamic update of shortest path tree in0SPF,"IEEE Parallel Architectures Algorithms and Network, pp.18-23,May2004.
【发明内容】

[0013]发明要解决的课题
[0014]在非专利文献2中,作为拓扑的变化,仅将存在于拓扑内的链路的成本产生变化的情况作为计算对象。[0015]但是,在拓扑的变化中,除此之外,还存在新追加连接节点之间的链路或者同时追加链路和节点的情况、以及删除链路的情况。
[0016]但是,在非专利文献2中,没有将由于追加拓扑变化前不存在的链路或删除已存在的链路而引起的拓扑变化当作计算开始的触发,不进行最短路径的再次计算。
[0017]因此,在计算存在由于链路的追加或删除而引起的拓扑变化时的最短路径时,需要追加步骤。
[0018]本发明的目的在于,提供即使在新追加或删除链路的情况下也能够再次计算最短路径的路径计算方法以及计算装置。
[0019]用于解决课题的手段
[0020]本发明的特征在于,在已计算了以某个节点为起点的最短路径的情况下,在计算以其他节点为起点的最短路径时,利用以其他节点为起点的已计算的最短路径。具体而言,本发明具有以下的特征。
[0021]本发明的路径计算方法供计算机在通过链路连接多个节点而构成的网络中,计算所述多个节点中的2个节点之间的最短通信路径即最短路径,其特征在于,所述计算机具有控制部和存储部,该存储部存储包括所述节点之间的最短路径在内的信息,所述控制部执行以下处理:比较处理,对第I通信路径的距离与该第I通信路径以外的已计算出的存储在所述存储部中的第2通信路径的距离进行比较,其中,所述第I通信路径是所述多个节点中作为通信路径起点的起点节点和与该起点节点邻接的邻接节点之间的通信路径;在所述第I通信路径的距离比所述第2通信路径的距离短的情况下,将所述第I通信路径当作所述最短路径的候选;以及在所述第I通信路径的距离不比所述第2通信路径的距离短的情况下,将所述第2通信路径当作所述最短路径的候选,所述控制部将该邻接节点作为起点节点,进一步执行所述比较处理。
[0022]并且,其特征在于,所述控制部还执行以下处理:对经由由所述最短路径的候选构成的最短路径树到所述节点的距离与经由该最短路径树以外的路径树到所述节点的距离进行比较;以及根据该比较结果,采用经由所述最短路径树到所述节点的距离和经由该最短路径树以外的路径树到所述节点的距离中较短的路径,作为到所述节点的最短路径。
[0023]并且,其特征在于,所述控制部还执行以下处理:在所述第I通信路径的距离比所述节点分别记录的距离的记录值短的情况下,将所述记录值更新成所述第I通信路径的距离。
[0024]并且,其特征在于,所述控制部还执行以下处理:在经由所述最短路径树到所述节点的距离比经由该最短路径树以外的路径树到所述节点的距离短的情况下,将所述节点分别记录的距离的记录值更新成经由所述最短路径树到所述节点的距离。
[0025]并且,本发明的计算装置计算在通过链路连接多个节点而构成的网络中,所述多个节点中的2个节点之间的最短通信路径即最短路径,其特征在于,该计算装置具有:比较单元,其对第I通信路径的距离与该第I通信路径以外的存储在存储部中的第2通信路径的距离进行比较,其中,所述第I通信路径是所述多个节点中作为通信路径起点的起点节点和与该起点节点邻接的邻接节点之间的通信路径,在所述存储部中存储包括所述节点之间的最短路径在内的信息;在所述第I通信路径的距离比所述第2通信路径的距离短的情况下,将所述第I通信路径当作所述最短路径的候选的单元;以及在所述第I通信路径的距离不比所述第2通信路径的距离短的情况下,将所述第2通信路径当作所述最短路径的候选的单元,将该邻接节点作为起点节点,进一步对所述第I通信路径的距离与所述第2通信路径的距离进行比较。
[0026]并且,其特征在于,该计算装置还具有:对经由由所述最短路径的候选构成的最短路径树到所述节点的距离与经由该最短路径树以外的存储在所述存储部中的路径树到所述节点的距离进行比较的单元;以及根据该比较的结果,采用经由所述最短路径树到所述节点的距离和经由该最短路径树以外的路径树到所述节点的距离中较短的路径,作为到所述节点的最短路径的单元。
[0027]并且,其特征在于,该计算装置还具有如下单元:在所述第I通信路径的距离比所述节点分别记录的距离的记录值短的情况下,将所述记录值更新成所述第I通信路径的距离。
[0028]并且,其特征在于,该计算装置还具有如下单元:在经由所述最短路径树到所述节点的距离比经由该最短路径树以外的路径树到所述节点的距离短的情况下,将所述节点分别记录的距离的记录值更新成经由所述最短路径树到所述节点的距离。
[0029]发明效果
[0030]根据本发明,能够得到如下效果:在新追加或删除链路而使拓扑引起变化的情况下,也能够计算最短路径。并且,与非专利文献2的方法同样,使用已经计算出的路径信息来计算最短路径,因此,与非专利文献I的方法相比,能够得到能够缩短最短路径的计算时间这样的效果。
【专利附图】

【附图说明】
[0031]图1是示出第I实施方式的最短路径计算装置的结构的框图。
[0032]图2A是说明第I和第2实施方式的用语“最短路径树”的图。
[0033]图2B是说明第I和第2实施方式的用语“下属树”的图。
[0034]图3是示出网络中的节点的连接关系的一例的图。
[0035]图4是说明第I实施方式的最短路径计算方法的一例的流程图。
[0036]图5是说明图4所示的步骤SI的处理的图。
[0037]图6是说明图4所示的步骤S2、S3的处理的图。
[0038]图7是说明图4所示的步骤S4?S6的处理的图。
[0039]图8是说明图4所示的步骤S7、S3的处理的图。
[0040]图9是示出本发明的计算装置的第2实施方式的图。
[0041]图10是示出图9所示的计算装置计算路径的拓扑的一例的图。
[0042]图11是用于说明图9所示的计算装置中的路径计算方法的流程图。
[0043]图12是图11的步骤Sll的处理的示意图。
[0044]图13是选择节点200-2作为从节点200_1起的最短路径的一部分的处理的示意图。
[0045]图14是存在已经计算出的最短路径树Se时的处理的示意图。
[0046]图15是用于说明图11所示的步骤S17?S19的处理的图。
[0047]标号说明[0048]10:外部接口 ;20:处理器;21:路径计算部;22:信息管理部;30:存储介质;100:计算装置;101:外部接口部;102:控制部;103:存储部;200-1~200-8:节点。
【具体实施方式】
[0049](第1实施方式)
[0050]下面,参照附图对用于实施本发明的第I实施方式进行说明。
[0051](1)最短路径计算装置的结构
[0052]首先,参照图1说明本实施方式的最短路径计算装置的结构。
[0053]参照图1,本实施方式的最短路径计算装置包括外部接口 10、处理器20、存储介质30。
[0054]外部接口 10向其他装置发送计算结果,并从其他装置接收与拓扑有关的拓扑信息、O
[0055]处理器20包括:路径计算部21,其计算网络中的2个节点之间的最短路径;以及信息管理部22,其进行由路径计算部21计算出的最短路径的路径信息以及从其他装置接收到的与拓扑有关的拓扑信息的更新和取得。
[0056]在存储介质30中存储有路径信息和拓扑信息。
[0057]( 2 )最短路径计算方法
[0058]下面,对在图1所示的最短路径计算装置中计算网络中的2个节点之间的最短路径的方法进行说明。本计算方法是一次性地计算连接2个节点之间的最短路径中的作为起点的节点相同的多个最短路径的方法。
[0059](2-1)用语的定义
[0060]首先,如下所述定义在以下的第I实施方式的说明中使用的用语。另外,以下用语的定义在第2实施方式中也同样。
[0061]?最短路径树
[0062]最短路径树表示连接2个节点之间的最短路径中的作为起点的节点相同的最短路径的集合即最短路径组。
[0063]集合中包含的路径存在具有共同部分的路径。单独具有这些路径信息会导致信息冗长,因此,在本实施方式中,利用树结构表示路径的集合。
[0064]具体而言,针对每个节点,通过沿着路径时的邻接节点的信息来表示路径。更具体而言,该信息是如下的信息:由与位于各节点上游的节点有关的一个信息和与位于下游的节点有关的多个信息构成,通过探究这些信息中的上游下游关系而利用树结构表现任意节点之间的路径。而且,利用树中的连接2个节点之间的部分来表示连接2个节点之间的最短路径。
[0065]例如,在图2A的例子中,在节点s、a之间的最短路径、节点s、b之间的最短路径、节点S、c之间的最短路径、以及节点S、d之间的最短路径中,作为起点的节点S相同,因此,这些最短路径的集合成为以节点S为起点的最短路径树。
[0066]?候选路径
[0067]候选路径表示能够作为最短路径的计算结果的一部分的连接2点之间的路径。在确定最短路径时,经由后述的步骤,按照候选路径中距离从短到长的顺序,确定为最短路径的计算结果的一部分。
[0068]?母节点
[0069]节点n的母节点是指在某个路径中与节点n邻接(单跳到达)且位于路径上游侧的节点。
[0070]例如,在图2A的例子中,节点a的母节点是节点S。
[0071]?下属树
[0072]节点n的下属树是要计算的最短路径的一部分,表示连接节点n和位于节点n下游侧的节点的路径树。另外,节点n自身也包含在下属树中。
[0073]例如,在图2B的例子中,节点X的下属树是分别连接节点X与节点y以及节点x与节点z的路径树。
[0074]?距离
[0075]距离不是节点之间的实际距离或跳数,而表示预先设定的节点之间的连接的加权。
[0076](2-2)计算步骤
[0077]下面,参照图4,对在拓扑变化后的节点的连接关系为图3的状态的网络中计算2个节点之间的最短路径的计算步骤进行说明。
[0078]这里,考虑计算以母节点具有节点X的节点Y为起点的最短路径的集合即最短路径树Sy的情况。并且,假定`以节点X为起点的拓扑变化后计算出的最短路径树Sx已经存在。
[0079]最初,在步骤SI中,路径计算部21从最短路径树Sx中检索节点Y,将最短路径树Sx中的节点Y下游的部分作为节点Y的下属树。路径计算部21将节点Y的下属树当作最短路径树Sy的计算结果的一部分,同时,当作计算中的树。
[0080]以后,路径计算部21依次确定以节点Y为起点,到不属于计算中的树的节点的最
短路径。
[0081]首先,在步骤S2中,路径计算部21检索以属于计算中的树的节点为起点,能够单跳到达且以不属于计算中的树的节点a为终点的链路LI。然后,作为从节点Y到节点a的路径,路径计算部21着眼于路径R1,该路径Rl经由计算中的树中的通过作为链路LI的另一个端点的节点的树和链路LI。
[0082]在步骤S3中,在没有另外发现从节点Y到节点a的路径的情况下,路径计算部21将路径Rl当作候选路径之一。假设在另外发现从节点Y到节点a的路径的情况下,如果路径Rl的距离比所发现的路径中最短路径的距离短,则将路径Rl当作候选路径之一。
[0083]反复进行以下处理,直到不存在候选路径为止。
[0084]接着,在步骤S4中,在存在候选路径的情况下,路径计算部21选择候选路径中的距离最短的路径。然后,作为从节点Y到终点节点a的路径,路径计算部21与上述选择出候选路径的时刻之前已知的路径进行比较,如果选择出的候选路径的距离最短,则将选择出的候选路径作为从节点Y到终点节点a的最短路径R2、即最短路径树Sy的计算结果的一部分。
[0085]接着,在步骤S5中,信息管理部22将最短路径树Sy中的到节点a的路径信息变更为选择出的路径R2。[0086]接着,在步骤S6中,如果存在节点a的下属树,则将节点Y的下属树和节点a的下属树当作计算中的树。然后,信息管理部22将从节点Y到属于节点a的下属树的节点的距离,更新为经由在步骤S4中选择出的路径和节点a的下属树的路径的距离。
[0087]由此,从节点Y到节点a的路径的距离与从节点Y到属于节点a的下属树的节点的距离变化,因此,在若干个节点中,与该时刻发现的路径相比,有时经由属于节点a的下属树的节点的路径的距离较短。为了探索这种路径,在步骤S7中进行以下处理。
[0088]在步骤S7中,路径计算部21检索以属于节点a的下属树的节点为起点,能够单跳到达且以不属于节点a的下属树的节点a’为终点的链路L2。然后,在从节点Y到达链路L2的端点的路径中、通过节点a的下属树和链路L2到达的路径R4的距离比仅经由下属树的路径R3的距离短的情况下,路径计算部21进行将路径R4当作节点a’的候选路径的处理。该处理结束后,再次返回步骤S3、S4的处理,确定从节点Y到节点a’的最短路径。
[0089](2-3)计算步骤的具体例
[0090]参照图5?图8对以上计算步骤的具体例进行说明。
[0091]首先,参照图5说明步骤SI。
[0092]利用箭头线示出以拓扑变化后计算出的节点X为起点的最短路径树Sx。这里,要计算的路径是以节点Y为起点的最短路径树Sy。
[0093]在步骤SI中,路径计算部21从最短路径树Sx中检索节点Y和节点Y的下属树。然后,路径计算部21将节点Y的下属树当作最短路径树Sy的计算结果的一部分,同时,当作计算中的树。
[0094]接着,参照图6说明步骤S2、S3。
[0095]在步骤S2中,最初,路径计算部21检索节点C,作为从属于计算中的树的节点A能够单跳到达的节点。该情况下,作为从节点Y到节点C的路径,路径计算部21着眼于经由计算中的树(Y — A)以及连接节点A和C的链路LI的路径(Y — A — C) R1。
[0096]此时,没有另外发现到节点C的路径,因此,在步骤S3中,路径计算部21将路径(Y — A — C) Rl当作候选路径之一。
[0097]接着,参照图7说明步骤S4?S6。
[0098]这里,作为到节点C的路径,在经由属于计算中的树的节点D的路径(Y — D — C)已经成为候选路径的状态下,设经由属于计算中的树的节点A的路径(Y — A — C)成为候选路径。
[0099]在步骤S4中,如果新成为候选路径的路径(Y — A — C)的距离比已经成为候选路径的路径(Y — D — C)的距离(成本)短,则路径计算部21将路径(Y — A — C)当作从节点Y到节点C的最短路径R2。在假设路径(Y — A — C)的距离为“5”的情况下,如果路径(Y-D-C)的距离为“6”以上,则路径计算部21确定路径(Y-A-C)作为最短路径R2。
[0100]在步骤S5中,信息管理部22将从节点Y到路径的终点节点C的最短路径的信息从此前的信息更新为路径(Y-A-C)的信息。作为一个方法,存在如下方法:在利用自身的母节点、即位于单跳上游侧的节点示出树中的节点之间的连接关系的情况下,将母节点变更为沿着选择出的路径的节点。在该例子的情况下,将路径的终点节点C的母节点从此前的节点D变更为路径(Y — A — C) R2中的母节点即节点A。
[0101]在步骤S6中,如果在路径的终点节点C的下属树中存在节点,则将节点Y的下属树和节点C的下属树当作计算中的树。然后,信息管理部22将从节点Y到属于节点C的下属树的节点的距离变更为通过路径(Y — A — C) R2和节点C的下属树到达的路径的距离。如果存在节点C的下属树的信息,则能够通过节点C的下属树的信息容易地计算到属于节点C的下属树的各节点的距离。例如,在从节点C到属于节点C的下属树的节点G的距离为“2”的情况下,如果路径(Y — A — C) R2的距离为“5”,则信息管理部22将经由路径(Y — A — C) R2和节点C的下属树的路径的距离计算为“7”。将该距离的值作为从节点Y到节点G的距离的值。
[0102]接着,参照图8说明步骤S7、S3。
[0103]在步骤S7中,探索如下情况:在从节点Y到达前述步骤中的不属于节点C的下属树的节点的路径中,经由节点C的下属树时的距离较短。具体而言,路径计算部21以属于节点C的下属树的节点为起点,检索不属于节点C的下属树的节点和以该节点为终点的链路L2。这里,假定路径计算部21检索节点K。但是,假定作为从属于节点Y的下属树的节点D能够单跳到达的节点,在步骤S2的时刻检索节点K,已经发现经由节点Y的下属树、SP计算中的树的路径(Y — D — K) R3。
[0104]因此,在步骤S3中,作为从节点Y到达链路L2的终点节点K的路径,路径计算部21着眼于经由计算中的树的路径(Y — D — K) R3和经由计算中的树和节点C的下属树的路径(Y — A — C — G — K) R4。如果两者中的路径(Y — A — C — G — K)R4的距离较短,则路径计算部21将路径(Y - A- C- G-K)R4当作候选路径之一。
[0105]反复进行以上处理,直到不存在候选路径为止。
[0106]另外,本发明的最短路径计算方法也可以应用于用于使计算机执行的程序。并且,能够在存储介质中存储该程序,能够经由网络提供给外部。
[0107](第I实施方式的效果)
[0108]根据本实施方式,在无法利用非专利文献2的方法计算的、新追加或删除链路而使拓扑变化的情况下,也能够计算最短路径。这是因为,在已经计算以其他节点为起点的拓扑变化后的最短路径组的情况下,利用其结果。并且,关于新发现的路径,经由新追加的链路的路径也成为探索对象,因此,在产生链路的追加时,也能够计算最短路径。
[0109]S卩,能够得到如下效果:在新追加或删除链路而使拓扑引起变化的情况下,也能够计算最短路径。并且,与非专利文献2的方法同样,使用已经计算出的路径信息来计算最短路径,因此,与非专利文献I的方法相比,能够得到能够缩短最短路径的计算时间这样的效果。
[0110](第2实施方式)
[0111]下面,参照附图对本发明的第2实施方式进行说明。
[0112]图9是示出本发明的计算装置的第2实施方式的图。
[0113]如图9所示,本方式的计算装置100由外部接口部101、控制部102、存储部103构成。
[0114]外部接口部101根据来自控制部102的指示,向与计算装置100连接的其他装置发送由计算装置100计算出的结果。并且,外部接口部101接收从与计算装置100连接的其他装置发送来的与网络的拓扑有关的信息,向控制部102输出接收到的信息。
[0115]控制部102具有计算与网络连接的节点之间的通信路径(以下称为路径)的路径计算功能。并且,控制部102具有进行计算出的路径的路径信息和与拓扑有关的信息的更新或取得的信息管理功能。并且,控制部102在与其他装置之间经由外部接口部101交换这些信息。
[0116]存储部103存储控制部102计算出的路径信息和经由外部接口部101从其他装置取得的信息(拓扑信息等)。并且,存储控制部102执行的程序。
[0117]图10是示出图9所示的计算装置100计算路径的拓扑的一例的图。
[0118]作为图9所示的计算装置100计算路径的拓扑的一例,如图10所示,节点200-1?200-8分别连接。
[0119]这里,计算装置100设置在能够取得这些节点200-1?200-8的路径信息的位置即可。
[0120]使用该计算装置100计算图10所示的拓扑中的2个节点之间的最短路径。本计算方法是一次性地计算连接2个节点的最短路径中的起点为相同节点的多个最短路径的方法。另外,为了说明第I实施方式而定义的用语也适用于第2实施方式。
[0121]下面,对图9所示的计算装置100中的路径计算方法进行说明。
[0122]图11是用于说明图9所示的计算装置100中的路径计算方法的流程图。这里,计算以节点X (图10所示的节点200-1)为起点(起点节点)的最短路径集合即最短路径树Sx。并且,存在拓扑变更后计算出的最短路径树Sy。另外,y不是指特定的节点,而是指计算以自身为起点的最短路径树的全部节点。
[0123]首先,检索与节点X邻接,即利用直接链路与节点X连接的节点。在与节点X邻接的节点存在一个的情况下,选择该邻接节点。并且,在与节点X邻接的节点存在多个的情况下,选择多个邻接节点。
[0124]然后,将从节点X到各邻接节点的路径当作最短路径的候选。另外,设到邻接节点以外的节点的距离无限大。判断是否存在该最短路径的候选(步骤S11)。
[0125]图12是图11的步骤Sll的处理的示意图。
[0126]如图12所示,在与节点200-1邻接的邻接节点存在节点200-2?200_4这3个的情况下,选择从节点200-1到节点200-2?200-4的路径,作为最短路径的候选。
[0127]在存在最短路径的候选的期间内,继续进行以后的处理。
[0128]接着,从所选择的多个节点(节点200-2?200-4)中选择与节点x (节点200-1)的距离最短的节点(步骤S12)。各节点记录了此前发现的最短路径的距离。该距离的初始值为无限大,但是,发现了路径后,即改写为暂定的距离(暂定最短距离)。在图12所示的例子中,从节点200-1到节点200-2的距离为“2”。并且,从节点200-1到节点200-3的距离为“5”。并且,从节点200-1到节点200-4的距离为“5”。因此,选择与节点200-1的距离最短的节点200-2,将从节点200-1到节点200-2的路径作为最短路径的候选路径。
[0129]图13是选择节点200-2作为从节点200-1起的最短路径的一部分的处理的示意图。
[0130]如图13所示,选择与节点200-1的距离最短的节点200-2。
[0131]这里,如果从节点200-1到节点200-2的路径为在所选择的时刻已知的路径中距离最短的路径,则将该路径作为到节点200-2的最短路径(候选路径),即计算结果。
[0132]于是,判断是否已经计算了以所选择的候选的终点节点(该情况下为节点200-2)为起点的最短路径(最短路径树Se)(步骤S13)。该判断是判断在存储部103中是否存储了该最短路径树Se。这里,设存储在该存储部103中的最短路径为存储路径树。
[0133]在判断为已经计算了最短路径树Se的情况下,对以没有计算最短路径的全部节点为终点的路径中经由最短路径树Se的距离进行计测(步骤S14)。这里,如图13中的节点200-3或节点200-4那样,着眼于经由从节点200-1到节点200-2的最短路径和从节点200-2到各节点的最短路径的路径,直到未计算从节点200-1起的最短路径的节点为止。然后,如果该路径在此前发现的到各节点的路径中距离最短,则将该路径作为到各节点的暂定最短路径。
[0134]图14是存在已经计算出的最短路径树Se时的处理的示意图。
[0135]例如,如图14所示,在存在以节点200-2为起点的最短路径树的情况下,计测从节点200-2到节点200-3的距离。在图14所示的例子中,从节点200-2到节点200-3的距离计测为“I”。
[0136]接着,对计测出的路径的距离与在节点200-3中记录的经由其他路径树的暂定最短路径的距离进行比较(步骤S15)。
[0137]在计测出的距离比在节点200-3中记录的经由其他路径树的暂定最短路径的距离短的情况下,采用经由最短路径树Se的路径作为到节点200-3的路径,将到节点200-3的路径的距离更新为经由最短路径树Se的距离(步骤S16)。
[0138]在图14所示的例子中,经由其他路径树的暂定最短路径的距离为“5”,经由节点200-2的经由最短路径树Se的距离为“2+1=3”。因此,关于从节点200-1到节点200-3的路径的距离,经由节点200-2的距离(2+1=3)较短,因此,将该距离更新为经由节点200-2的路径的距离“3”。
[0139]然后,在步骤Sll中判断是否还存在最短路径的候选。
[0140]另一方面,在步骤S13中判断为没有计算最短路径树Se的情况下,检索所选择的节点的邻接节点和到邻接节点的链路(步骤S17 )。
[0141]接着,对经由分别以检索到的节点为终点的在步骤S12中选择出的候选的终点节点(该情况下为节点200-2)的距离(检索距离)、和与检索到的节点对应的距离的记录值(在检索的时刻发现的其他路径的距离:记录距离)进行比较(步骤S18)。
[0142]在经由所选择的节点的距离比所记录的距离短的情况下,将经由所选择的节点的距离的路径当作到检索到的节点的最短路径的候选(步骤S19)。
[0143]图15是用于说明图11所示的步骤S17?S19的处理的图。
[0144]如图15所示,计算到节点200-8的最短路径时,检索如下的路径:该路径经由节点200-1与节点200-8之间的最短路径,到达经由连接到与节点200-8邻接的节点的单跳链路而邻接的节点。如果检索到的路径的距离比邻接节点的暂定最短路径的距离短,则将检索到的路径当作到路径终点的最短路径的候选。
[0145]这样,决定当作最短路径的候选的路径,作为从节点200-1起的最短路径的一部分。
[0146]反复进行以上的处理,直到没有最短路径的候选为止。
[0147]另外,上述计算装置100的处理也可以在根据目的而制造的逻辑电路中进行。并且,也可以在计算装置100可读取的记录介质中记录将处理内容记述为步骤的程序,使计算装置100读入并执行记录在该记录介质中的程序。关于计算装置100可读取的记录介质,除了软盘(注册商标)、光磁盘、DVD、⑶等的可移动记录介质以外,还指内置于计算装置100中的ROM、RAM等的存储器和HDD等。利用计算装置100内的控制部102读入记录在该记录介质中的程序,通过控制部102的控制,进行与上述处理相同的处理。这里,控制部102作为执行从记录有程序的记录介质中读入的程序的计算机进行工作。
[0148](第2实施方式的效果)
[0149]如以上说明的那样,在本实施方式中,在通过链路连接多个节点而构成的网络中,在追加或删除节点或链路的情况下,在计算多个节点中的2个节点之间的最短通信路径即最短路径时,对第I通信路径的距离与第I通信路径以外的已计算出的第2通信路径的距离进行比较,所述第I通信路径是多个节点中作为通信路径起点的起点节点和与起点节点邻接的邻接节点之间的通信路径,在第I通信路径的距离比第2通信路径的距离短的情况下,将第I通信路径当作最短路径,在第I通信路径的距离不比第2通信路径的距离短的情况下,将第2通信路径当作最短路径,将邻接节点作为起点节点进一步进行比较,因此,在由于新追加或删除链路而使拓扑变化的情况下,也能够计算最短路径。
[0150]S卩,通过使用本实施方式,在由于新追加或删除链路而使拓扑变化的情况下,也能够计算最短路径。并且,与非专利文献2所记载的技术同样,使用已经计算出的路径信息来计算最短路径,因此,与非专利文献I所记载的技术相比,能够缩短路径的计算时间。
【权利要求】
1.一种路径计算方法,该路径计算方法供计算机在通过链路连接多个节点而构成的网络中,计算所述多个节点中的2个节点之间的最短通信路径即最短路径,其特征在于, 所述计算机具有控制部和存储部,该存储部存储包括所述节点之间的最短路径在内的信息, 所述控制部执行以下处理: 比较处理,对第I通信路径的距离与该第I通信路径以外的已计算出的存储在所述存储部中的第2通信路径的距离进行比较,其中,所述第I通信路径是所述多个节点中作为通信路径起点的起点节点和与该起点节点邻接的邻接节点之间的通信路径; 在所述第I通信路径的距离比所述第2通信路径的距离短的情况下,将所述第I通信路径当作所述最短路径的候选;以及 在所述第I通信路径的距离不比所述第2通信路径的距离短的情况下,将所述第2通信路径当作所述最短路径的候选, 所述控制部将该邻接节点作为起点节点,进一步执行所述比较处理。
2.根据权利要求1所述的路径计算方法,其特征在于, 所述控制部还执行 以下处理: 对经由由所述最短路径的候选构成的最短路径树到所述节点的距离与经由该最短路径树以外的路径树到所述节点的距离进行比较;以及 根据该比较结果,采用经由所述最短路径树到所述节点的距离和经由该最短路径树以外的路径树到所述节点的距离中较短的路径,作为到所述节点的最短路径。
3.根据权利要求1所述的路径计算方法,其特征在于, 所述控制部还执行以下处理:在所述第I通信路径的距离比所述节点分别记录的距离的记录值短的情况下,将所述记录值更新成所述第I通信路径的距离。
4.根据权利要求2所述的路径计算方法,其特征在于, 所述控制部还执行以下处理:在经由所述最短路径树到所述节点的距离比经由该最短路径树以外的路径树到所述节点的距离短的情况下,将所述节点分别记录的距离的记录值更新成经由所述最短路径树到所述节点的距离。
5.一种计算装置,该计算装置计算在通过链路连接多个节点而构成的网络中,所述多个节点中的2个节点之间的最短通信路径即最短路径,其特征在于,该计算装置具有: 比较单元,其对第I通信路径的距离与该第I通信路径以外的存储在存储部中的第2通信路径的距离进行比较,其中,所述第I通信路径是所述多个节点中作为通信路径起点的起点节点和与该起点节点邻接的邻接节点之间的通信路径,在所述存储部中存储包括所述节点之间的最短路径在内的信息; 在所述第I通信路径的距离比所述第2通信路径的距离短的情况下,将所述第I通信路径当作所述最短路径的候选的单元;以及 在所述第I通信路径的距离不比所述第2通信路径的距离短的情况下,将所述第2通信路径当作所述最短路径的候选的单元, 将该邻接节点作为起点节点,进一步对所述第I通信路径的距离与所述第2通信路径的距离进行比较。
6.根据权利要求5所述的计算装置,其特征在于,该计算装置还具有:对经由由所述最短路径的候选构成的最短路径树到所述节点的距离与经由该最短路径树以外的存储在所述存储部中的路径树到所述节点的距离进行比较的单元;以及 根据该比较的结果,采用经由所述最短路径树到所述节点的距离和经由该最短路径树以外的路径树到所述节点的距离中较短的路径,作为到所述节点的最短路径的单元。
7.根据权利要求5所述的计算装置,其特征在于,该计算装置还具有如下单元: 在所述第I通信路径的距离比所述节点分别记录的距离的记录值短的情况下,将所述记录值更新成所述第I通信路径的距离。
8.根据权利要求6所述的计算装置,其特征在于,该计算装置还具有如下单元: 在经由所述最短路径树到所述节点的距离比经由该最短路径树以外的路径树到所述节点的距离短的情况下,将所述节点分别记录的距离的记录值更新成经由所述最短路径树到所述节点的距离。
【文档编号】H04L12/751GK103647713SQ201310556744
【公开日】2014年3月19日 申请日期:2009年11月18日 优先权日:2008年11月19日
【发明者】杉园幸司, 青木道宏, 岩田英明 申请人:日本电信电话株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1