路径计算顺序决定方法、程序以及计算装置的制作方法

文档序号:7737420阅读:430来源:国知局
专利名称:路径计算顺序决定方法、程序以及计算装置的制作方法
技术领域
本发明涉及路径计算顺序决定方法、程序以及计算装置,特别涉及决定使用节点之间的已计算出的最短路径来计算其他节点之间的最短路径时的路径计算顺序的路径计算顺序决定方法、程序以及计算装置。
背景技术
存在如下情况网络内的节点、连接节点之间的道路(路线)、网络链接的铺设状况(拓扑)产生变化,数据可以通过此前无法通过的部位,或者相反,无法通过此前可以通过的部位。在需要始终掌握从出发地(起点节点)到目的地(终点节点)的最短路径的情况下,伴随路线拓扑的变化,需要再次计算变化后的拓扑中的从出发地(起点节点)到目的地 (终点节点)的最短路径。现有的最短路径计算装置使用表示变化后的拓扑的拓扑信息,再次计算连接各节点之间的全部最短路径。在非专利文献1中记载了使用拓扑信息来计算各节点之间的最短路径的方法。非专利文献 1 :Ε· W. Di jkstra、「A Note on Two Problems in Connexion with Graphs」、1959 $ 6 月 11 H>Numerische Mathematik 1, p269-27
发明内容
发明要解决的课题在已经计算了某个连接节点之间的最短路径的情况下,有时在该已计算出的节点之间的最短路径和由此计算的其他节点之间的最短路径之间存在共同的部分(以下称为 “共同部分”)。在存在共同部分的情况下,能够采用该共同部分作为由此计算的节点之间的最短路径的计算结果的一部分。特别地,在已计算出的节点之间的最短路径中包括表示由此计算的从起点到终点的最短路径的部分(以下称为“部分路径”)的情况下,该部分路径是由此计算的最短路径。由已计算出的各节点之间的最短路径构成的最短路径组包括越多的部分路径,使用该已计算出的最短路径组的信息,越能够缩短由此计算的节点之间的最短路径的计算时间。以往,着眼于这一点,即由已计算出的各节点之间的最短路径构成的最短路径组包括越多的部分路径,使用已计算出的最短路径组的信息,越能够缩短由此计算的节点之间的最短路径的计算时间,不存在缩短节点之间的最短路径的计算时间的技术。本发明的目的在于,提供以能够缩短节点之间的最短路径的计算时间的方式决定节点之间的最短路径的计算顺序的路径计算顺序决定方法、程序以及计算装置。用于解决课题的手段
本发明的路径计算顺序决定方法是计算装置执行的路径计算顺序决定方法,该计算装置针对由多个节点构成的网络,使用节点之间的已计算出的最短路径来计算其他节点之间的最短路径,其特征在于,所述计算装置具有存储单元和计算单元,该存储单元存储最短路径组信息和拓扑信息,所述最短路径组信息通过多个节点和该多个节点中的各节点之间的路径来表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径,所述拓扑信息表示所述多个节点的拓扑,所述路径计算顺序决定方法包括计算步骤,在该计算步骤中,所述计算单元按照在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游的节点的数量从多到少的顺序,选择所述多个节点中与所述起点节点不同的每一个所述特定节点,每次选择所述特定节点时,使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以该选择出的特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径。本发明的程序用于使存储有最短路径组信息和拓扑信息的计算机针对由多个节点构成的网络执行计算步骤,所述最短路径组信息通过多个节点和该多个节点的各节点之间的路径来表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径,所述拓扑信息表示所述多个节点的拓扑,在所述计算步骤中,按照在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游的节点的数量从多到少的顺序, 选择所述多个节点中与所述起点节点不同的每一个所述特定节点,每次选择所述特定节点时,使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以该选择出的特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径。本发明的计算装置针对由多个节点构成的网络,使用节点之间的已计算出的最短路径来计算其他节点之间的最短路径,其特征在于,该计算装置具有存储单元,其存储最短路径组信息和拓扑信息,所述最短路径组信息通过多个节点和该多个节点的各节点之间的路径来表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径,所述拓扑信息表示所述多个节点的拓扑;以及计算单元,其按照在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游的节点的数量从多到少的顺序,选择所述多个节点中与所述起点节点不同的每一个所述特定节点,每次选择所述特定节点时, 使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以该选择出的特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径。优选所述计算单元执行以下处理检索处理,检索在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于所述起点节点的单跳下游的全部节点,作为属于所述特定节点的计算起点节点;选择处理,选择所述计算起点节点中的特定计算起点节点, 在所述各节点之间的已计算出的最短路径中,位于所述特定计算起点节点下游的节点的数量最多;最短路径计算处理,使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以所述特定计算起点节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径;以及反复处理,反复进行如下一连串的动作,直到针对全部所述特定节点, 以该特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径的计算结束为止,所述一连串的动作是,检索在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于所述特定计算起点节点的单跳下游的全部节点,追加该检索到的节点作为所述计算起点节点,然后,进行所述检索处理、所述选择处理和所述最短路径计算处理。发明的效果根据本发明,能够按照能够在其他各节点之间的最短路径的计算中转用的路径数从多到少的顺序,计算各节点之间的最短路径。由此,能够缩短全部最短路径的计算时间。


图1是示出本发明的一个实施方式的计算装置1的结构的框图。图2是示出最短路径组的路径树的一例的说明图。图3是用于说明计算装置1的动作的流程图。图4是用于说明计算装置1的动作的说明图。图5是用于说明计算装置1的动作的说明图。图6是用于说明计算装置1的动作的说明图。图7是用于说明计算装置1的动作的说明图。图8是用于说明计算装置1的动作的说明图。图9是用于说明计算装置1的动作的说明图。标号说明1 计算装置;2 外部接口 ;3 存储介质;4 处理器;如路径计算部;4b 信息管理部。
具体实施例方式下面,参照附图对本发明的实施方式进行说明。图1是示出本发明的一个实施方式的计算装置1的框图。计算装置1包括外部接口 2、存储介质3、处理器4。外部接口 2向其他装置(未图示)发送各节点之间的最短路径的计算结果,并从其他装置接收与拓扑有关的信息(以下称为“拓扑信息”)。存储介质3是存储单元的一例,是计算机可读取的记录介质。存储介质3例如存储最短路径组信息和拓扑信息,该最短路径组信息表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径。最短路径组信息通过多个节点和该多个节点中的各节点之间的路径,来表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径。在本实施方式中,最短路径组信息利用路径树的形式表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径组。各最短路径由从起点到终点沿着树到达时通过的节点和该节点之间的链路表示。另外,省略了网络拓扑的图示,但是,在邻近的节点彼此之间设有路线。下面,利用箭头连接规定节点的单跳上游的节点与规定节点之间、以及规定节点的单跳下游的节点与规定节点之间,利用箭头朝向的方向表示上游一下游。作为起点相同的最短路径组,当存在图2所示的树时,使用沿着树从节点s去往节点b时通过的节点即节点s、a和b,如s — a — b那样表示从节点s到节点b的最短路径。 同样,从节点s到节点a、c、d的路径为s — a、s — a — c、s — d。在树内配置成起点位于树的顶点,接近终点的节点在下方(下游)。下面,从某个节点观察时,将存在于同一路径上且位于该节点的起点侧的节点称为上游节点,将位于终点侧的节点称为下游节点。拓扑信息表示最短路径组信息所示的多个节点的拓扑。处理器4是计算单元的一例。处理器4包括路径计算部乜和信息管理部4b。另外,在存储介质3中记录有规定处理器4的动作的程序的情况下,处理器4从存储介质3中读取该程序并执行,由此,作为信息管理部4b和路径计算部如发挥功能。路径计算部如从存储介质3中读入最短路径组信息和拓扑信息。路径计算部如按照在最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游(终点节点侧)的节点的数量从多到少的顺序,选择最短路径组信息表示的多个节点中与起点节点不同的每一个特定节点。路径计算部如每次选择特定节点时,使用其他节点之间的已计算出的最短路径和拓扑信息,计算以该选择出的特定节点为起点且以最短路径组信息表示的多个节点中的其他各节点为终点的各节点之间的最短路径。在本实施方式中,路径计算部如执行检索处理、选择处理、最短路径计算处理、反
复处理。在检索处理中,路径计算部如检索在最短路径组信息表示的各节点之间的已计算出的最短路径中位于起点节点的单跳下游的全部节点,作为属于特定节点的计算起点节
点ο在选择处理中,路径计算部如选择计算起点节点中的、在最短路径组信息表示的各节点之间的已计算出的最短路径中位于该计算起点节点下游的节点的数量最多的计算起点节点,作为特定计算起点节点。在最短路径计算处理中,路径计算部如使用其他节点之间的已计算出的最短路径和拓扑信息,计算以所选择的特定计算起点节点为起点且以最短路径组信息表示的多个节点中的其他各节点为终点的各节点之间的最短路径。在反复处理中,路径计算部如反复进行如下一连串的动作,直到针对最短路径组信息表示的全部特定节点,以该特定节点为起点且以最短路径组信息表示的多个节点中的其他各节点为终点的各节点之间的最短路径的计算结束为止,所述一连串的动作是,检索在最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定计算起点节点的单跳下游的全部节点,追加该检索到的节点作为计算起点节点,然后,进行检索处理、选择处理和最短路径计算处理。信息管理部4b进行计算出的路径信息或拓扑信息的更新或取得。接着,对动作进行说明。图3是用于说明计算装置1的动作的流程图。另外,在本实施方式中,计算装置1在一次处理中计算起点相同且终点不同的各节点之间的最短路径,然后,将起点节点变更为其他节点,决定计算全部最短路径时的最短路径的计算顺序。首先,路径计算部如从存储介质3中读取最短路径组信息和拓扑信息,准备(输入)起点为相同节点的已计算出的最短路径组(路径树)和拓扑信息(步骤301)。通过最短路径组信息以图2所示的树结构来表示最短路径组。接着,路径计算部如检索在由树结构表示的最短路径组中位于起点的单跳下游的节点(计算起点节点)。然后,路径计算部如针对检索到的每个节点(计算起点节点), 对在最短路径组信息所示的各节点之间的已计算出的最短路径中位于该节点(计算起点节点)下游的节点的数量进行计数,将该节点数量与检索到的节点(计算起点节点)对应起来(步骤302)。接着,路径计算部如按照与该节点对应的下游节点数量从多到少的顺序,搜索表示检索到的节点(计算起点节点)的信息(例如节点ID(IDentification))(步骤303)。接着,路径计算部如从检索到的节点(计算起点节点)中选择下游节点数量最多的节点(特定计算起点节点)。然后,路径计算部如使用其他节点之间的已计算出的最短路径(例如最短路径组信息)和拓扑信息,在下一处理中计算以该所选择的节点(特定计算起点节点)为起点且以树结构内的其他各节点为终点的各节点之间的最短路径(步骤 304)。接着,路径计算部如针对最短路径组信息所示的多个节点中的与起点节点不同的全部节点,判断以该节点为起点且以其他各节点为终点的各节点之间的最短路径的计算是否已结束(步骤305)。在针对最短路径组信息所示的多个节点中的与起点节点不同的全部节点,以该节点为起点且以其他各节点为终点的各节点之间的最短路径的计算没有结束的情况下(步骤305 否),路径计算部如检索在最短路径组信息所示的各节点之间的已计算出的最短路径中位于特定计算起点节点的单跳下游的全部节点,追加该检索到的节点作为计算起点节点。接着,路径计算部如针对所追加的每个计算起点节点,对在最短路径组信息所示的各节点之间的已计算出的最短路径中位于该计算起点节点下游的节点的数量进行计数,将该节点数量与检索到的节点(计算起点节点)对应起来(步骤306)。接着,路径计算部如返回步骤303的处理。另一方面,在针对最短路径组信息所示的多个节点中的与起点节点不同的全部节点,以该节点为起点且以其他各节点为终点的各节点之间的最短路径的计算已结束的情况下(步骤305 是),路径计算部如结束计算处理。接着,使用图4 图9对各步骤进行说明。在以后的说明中也使用树结构来表示路径。在图4所示的树结构的情况下,从节点S连接到节点E的路径为S — C — D — E。首先,使用图5对步骤301、302和303进行说明。如图5所示,计算以节点S为起点且分别以其他多个节点为终点的多个最短路径时,路径计算部如着眼于起点节点S的单跳下游的节点即节点A、B、C。然后,路径计算部如对位于节点A下游的节点数量、位于节点B下游的节点数量、 位于节点C下游的节点数量进行计数。在图5中,节点A下游存在3个节点,节点B下游存在2个节点,节点C下游存在5个节点。接着,路径计算部如生成将节点A与其下游的节点数量对应起来的信息(例如节点A 下游的节点数量幻。同样,路径计算部如生成将节点B与其下游的节点数量对应起来的信息、以及将节点C与其下游的节点数量对应起来的信息。
路径计算部如以从这些信息中取出下游节点数量最多的节点的信息的形式,对这些信息进行管理。作为管理的例子,考虑将各个信息放入堆栈中进行管理的方法。接着,使用图6和图7对步骤304进行说明。路径计算部如从在步骤303中管理的信息中取出下游节点数量最多的信息。在图6的例子中,位于节点C下游的节点的数量最多,因此,路径计算部如取出与节点C有关的信息。接着,路径计算部如如图7所示,计算以节点C为起点的最短路径。此时,路径计算部如利用在各节点之间的已计算出的最短路径中以位于节点C上游的节点(该情况下为节点幻为起点的最短路径的计算结果,计算以节点C为起点的最短路径。例如,关于以节点C为起点且以其他节点为终点的最短路径中的图5中节点C为起点的树部分(节点C的下属树部分),路径计算部如直接利用以节点S为起点的最短路径的计算结果中的节点C为起点的树部分。另外,在本实施方式中,关于以节点C为起点且以其他节点为终点的最短路径中的以节点S为起点的最短路径的计算结果不包含的部分,使用拓扑信息,按照路径计算算法进行计算。路径计算部如保持以节点C为起点且以其他节点为终点的最短路径的计算结果, 将该计算结果用于接着进行的以其他节点为起点的最短路径的计算。当以节点C为起点且以其他节点为终点的最短路径的计算结束时,如图8所示,路径计算部如着眼于节点C的一个下游的节点。然后,路径计算部如对各个节点的下游的节点数量进行计数。路径计算部如生成包括下游节点数量的所述信息后,如图9所示,与之前生成的节点A、B的信息一起,以取出下游节点数量最多的信息的形式对这些信息进行管理。路径计算部如反复进行以上的处理,直到计算出全部最短路径为止。因此,路径计算部如每次进行最短路径的计算时,在接着进行的以其他节点为起点的最短路径的计算中利用的最短路径的计算结果增加。在本实施方式中,处理器4按照在最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游的节点的数量从多到少的顺序,选择每一个特定节点,每次选择特定节点时,使用其他节点之间的已计算出的最短路径和拓扑信息,计算以选择出的特定节点为起点且以其他各节点为终点的各节点之间的最短路径。因此,处理器4按照能够在其他各节点之间的最短路径的计算中转用的路径数从多到少的顺序,计算各节点之间的最短路径。由此,根据本实施方式,能够利用已经计算出的最短路径的信息,缩短计算其他最短路径时的计算时间。另外,在对节点数量进行比较时,在存在下游节点数量相同的节点的情况下,路径计算部如以规定顺序(例如在利用字母示出节点ID的情况下为节点ID的字母顺序)选择这些节点。在图9的例子中,在下游节点数量同样最多为4个的节点D和节点E中,选择节点ID的字母顺序靠前的节点D。在以上说明的实施方式中,图示的结构只是一例,本发明不限于该结构。
权利要求
1.一种计算装置执行的路径计算顺序决定方法,该计算装置针对由多个节点构成的网络,使用节点之间的已计算出的最短路径来计算其他节点之间的最短路径,其特征在于,所述计算装置具有存储单元和计算单元,该存储单元存储最短路径组信息和拓扑信息,所述最短路径组信息通过多个节点和该多个节点中的各节点之间的路径来表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径,所述拓扑信息表示所述多个节点的拓扑,所述路径计算顺序决定方法包括计算步骤,在该计算步骤中,所述计算单元按照在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游的节点的数量从多到少的顺序,选择所述多个节点中与所述起点节点不同的每一个所述特定节点,每次选择所述特定节点时,使用其他节点之间的已计算出的最短路径和所述拓扑信息, 计算以该选择出的特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径。
2.根据权利要求1所述的路径计算顺序决定方法,其特征在于,所述计算步骤包括以下步骤检索步骤,所述计算单元检索在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于所述起点节点的单跳下游的全部节点,作为属于所述特定节点的计算起点节点.选择步骤,所述计算单元选择所述计算起点节点中的特定计算起点节点,在所述各节点之间的已计算出的最短路径中,位于所述特定计算起点节点下游的节点的数量最多;最短路径计算步骤,所述计算单元使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以所述特定计算起点节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径;以及反复步骤,所述计算单元反复进行如下一连串的动作,直到针对全部所述特定节点,以该特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径的计算结束为止,所述一连串的动作是,检索在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于所述特定计算起点节点的单跳下游的全部节点,追加该检索到的节点作为所述计算起点节点,然后,进行所述检索步骤、所述选择步骤和所述最短路径计算步骤。
3.—种程序,该程序用于使存储有最短路径组信息和拓扑信息的计算机针对由多个节点构成的网络执行计算步骤,所述最短路径组信息通过多个节点和该多个节点的各节点之间的路径来表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径,所述拓扑信息表示所述多个节点的拓扑,在所述计算步骤中,按照在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游的节点的数量从多到少的顺序,选择所述多个节点中与所述起点节点不同的每一个所述特定节点,每次选择所述特定节点时,使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以该选择出的特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径。
4.根据权利要求3所述的程序,其特征在于,所述计算步骤包括以下步骤检索步骤,检索在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于所述起点节点的单跳下游的全部节点,作为属于所述特定节点的计算起点节点;选择步骤,选择所述计算起点节点中的特定计算起点节点,在所述各节点之间的已计算出的最短路径中,位于所述特定计算起点节点下游的节点的数量最多;最短路径计算步骤,使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以所述特定计算起点节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径;以及反复步骤,反复进行如下一连串的动作,直到针对全部所述特定节点,以该特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径的计算结束为止, 所述一连串的动作是,检索在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于所述特定计算起点节点的单跳下游的全部节点,追加该检索到的节点作为所述计算起点节点,然后,进行所述检索步骤、所述选择步骤和所述最短路径计算步骤。
5.一种计算装置,该计算装置针对由多个节点构成的网络,使用节点之间的已计算出的最短路径来计算其他节点之间的最短路径,其特征在于,该计算装置具有存储单元,其存储最短路径组信息和拓扑信息,所述最短路径组信息通过多个节点和该多个节点的各节点之间的路径来表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径,所述拓扑信息表示所述多个节点的拓扑;以及计算单元,其按照在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游的节点的数量从多到少的顺序,选择所述多个节点中与所述起点节点不同的每一个所述特定节点,每次选择所述特定节点时,使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以该选择出的特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径。
6.根据权利要求5所述的计算装置,其特征在于, 所述计算单元执行以下处理检索处理,检索在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于所述起点节点的单跳下游的全部节点,作为属于所述特定节点的计算起点节点;选择处理,选择所述计算起点节点中的特定计算起点节点,在所述各节点之间的已计算出的最短路径中,位于所述特定计算起点节点下游的节点的数量最多;最短路径计算处理,使用其他节点之间的已计算出的最短路径和所述拓扑信息,计算以所述特定计算起点节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径;以及反复处理,反复进行如下一连串的动作,直到针对全部所述特定节点,以该特定节点为起点且以所述多个节点中的其他各节点为终点的各节点之间的最短路径的计算结束为止, 所述一连串的动作是,检索在所述最短路径组信息表示的各节点之间的已计算出的最短路径中位于所述特定计算起点节点的单跳下游的全部节点,追加该检索到的节点作为所述计算起点节点,然后,进行所述检索处理、所述选择处理和所述最短路径计算处理。
全文摘要
在本发明的计算装置(1)进行的路径计算顺序决定方法中,针对由多个节点构成的网络,存储最短路径组信息和拓扑信息,最短路径组信息通过多个节点和该多个节点中的各节点之间的路径来表示起点节点相同且终点节点不同的各节点之间的已计算出的最短路径,拓扑信息表示多个节点的拓扑,按照在最短路径组信息表示的各节点之间的已计算出的最短路径中位于特定节点下游的节点的数量从多到少的顺序,选择多个节点中与起点节点不同的每一个特定节点,每次选择特定节点时,使用其他节点之间的已计算出的最短路径和拓扑信息,计算以该选择出的特定节点为起点且以多个节点中的其他各节点为终点的各节点之间的最短路径。
文档编号H04L12/56GK102210128SQ20098014496
公开日2011年10月5日 申请日期2009年11月18日 优先权日2008年11月19日
发明者岩田英明, 杉园幸司, 青木道宏 申请人:日本电信电话株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1