JP4724219B2 - Shortest path calculation device, shortest path calculation method, and program - Google Patents

Shortest path calculation device, shortest path calculation method, and program Download PDF

Info

Publication number
JP4724219B2
JP4724219B2 JP2008300973A JP2008300973A JP4724219B2 JP 4724219 B2 JP4724219 B2 JP 4724219B2 JP 2008300973 A JP2008300973 A JP 2008300973A JP 2008300973 A JP2008300973 A JP 2008300973A JP 4724219 B2 JP4724219 B2 JP 4724219B2
Authority
JP
Japan
Prior art keywords
node
route
path
shortest
link
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.)
Expired - Fee Related
Application number
JP2008300973A
Other languages
Japanese (ja)
Other versions
JP2010130173A (en
Inventor
幸司 杉園
道宏 青木
英明 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008300973A priority Critical patent/JP4724219B2/en
Publication of JP2010130173A publication Critical patent/JP2010130173A/en
Application granted granted Critical
Publication of JP4724219B2 publication Critical patent/JP4724219B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、目的地までの経路の計算方法に関し、特に、目的地までの最短経路を計算する最短経路計算装置、最短経路計算方法、およびその方法をコンピュータに実行させるためのプログラムに関する。   The present invention relates to a method for calculating a route to a destination, and more particularly, to a shortest route calculation device that calculates a shortest route to a destination, a shortest route calculation method, and a program for causing a computer to execute the method.

ネットワーク内のノードや拠点間を結ぶ道やネットワークリンクの敷設状況(トポロジ)に変化が生じ、それまで通れなかった箇所が通れるようになる、または、その反対に通れた箇所が通れなくなることが生じる場合がある。出発地から目的地までの最短経路を常に維持する必要がある場合、パスのトポロジの変化に伴い、変化後のトポロジにおける最短経路を計算する必要がある。従来の最短経路計算装置は、トポロジ情報を使用することで2拠点間を結ぶ最短経路を全て再計算していた。   Changes in the way of linking nodes and bases in the network and the network link laying status (topology) may result in passage of points that could not be passed until then, or vice versa. There is a case. When it is necessary to always maintain the shortest route from the starting point to the destination, it is necessary to calculate the shortest route in the changed topology as the path topology changes. The conventional shortest path calculation device recalculates all the shortest paths connecting two bases by using topology information.

計算方法については非特許文献1に記載が存在する。なお、この方式はダイクストラのアルゴリズムとして知られている。   Non-patent document 1 describes the calculation method. This method is known as Dijkstra's algorithm.

注意すべきこととして、トポロジの変化前と変化後に最短経路に違いが生じない2ノードペアが存在するということが挙げられる。また、別の拠点間を結ぶ最短経路がトポロジ変化後に計算されているものが存在すれば、この最短経路とこれから計算しようとしている拠点間の最短経路に違いが生じない場合も多々存在する。   It should be noted that there is a two-node pair in which there is no difference in the shortest path before and after the topology change. In addition, if there is a shortest path connecting between different bases that is calculated after the topology change, there are many cases in which there is no difference between this shortest path and the shortest path between bases to be calculated.

しかし、従来の最短経路計算装置では、最短経路の計算を敷設状況のみの情報を用いて計算を行っているため、違いが生じない場合、既に存在する最短経路情報を利用することは不可能である。このため、全ての最短経路を再計算する必要が生じ、計算時間が長くなるという問題が生じる。   However, in the conventional shortest path calculation device, since the calculation of the shortest path is performed using only information on the laying status, it is impossible to use the existing shortest path information if there is no difference. is there. For this reason, it is necessary to recalculate all the shortest paths, resulting in a problem that the calculation time becomes long.

通常、このような経路計算方法では、拠点間を結ぶ伝送路や道に、コストと呼ばれる数を割り当て、通過した経路に含まれるリンクのコスト和が最小になる経路を計算する。あるリンクのコストに変化が生じたとき、トポロジ変更前の最短経路情報を用いて計算する方法が非特許文献2に記載されている。   Usually, in such a route calculation method, a number called a cost is assigned to a transmission path or a path connecting between bases, and a route that minimizes the cost sum of links included in the route that has passed is calculated. Non-Patent Document 2 describes a method of calculating using the shortest path information before a topology change when the cost of a link changes.

この方法を用いることで、前述の全ての最短経路を再計算することにより計算時間が長くなるという問題を解決することができる。
E. W. Dijkstra: A note on two problems in connexion with graphs. In Numerische Mathematik 1, (1959), S. 269−271. B. Xiao, et al. “Dynamic update of shortest path tree in OSPF,” IEEE Parallel Architectures Algorithms and Network, pp.18−23, May 2004.
By using this method, it is possible to solve the problem that the calculation time is increased by recalculating all the shortest paths described above.
E. W. Dijkstra: A note on two problems in connection with graphs. In Numerisch Mathematic 1, (1959), S.N. 269-271. B. Xiao, et al. “Dynamic update of shorttest path tree in OSPF,” IEEE Parallel Architectures Algorithms and Network, pp. 18-23, May 2004.

非特許文献2では、トポロジ内に存在するリンクのコスト変化が生じた場合のみを計算対象としている。   In Non-Patent Document 2, calculation is performed only when the cost of a link existing in the topology changes.

トポロジの変化にはこの他に、ノードを結ぶリンクが追加される場合、または、リンクと拠点が同時に追加される場合がある。非特許文献2に開示された技術では、トポロジ変更前に存在していなかった伝送路の追加によるトポロジ変化を計算開始のトリガーとして扱っておらず、再計算を行わない。そのため、この場合の最短経路を計算するには手順を追加する必要がある。   In addition to this, a link connecting nodes may be added to the change in topology, or a link and a base may be added simultaneously. In the technique disclosed in Non-Patent Document 2, a topology change due to the addition of a transmission line that did not exist before the topology change is not handled as a trigger for starting calculation, and recalculation is not performed. Therefore, it is necessary to add a procedure to calculate the shortest path in this case.

本発明は、上述したような技術が有する問題点を解決するためになされたものであり、ネットワークにノードやリンクの追加または削除があったとき、最短経路の再計算を行うことが可能な最短経路計算装置、最短経路計算方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。   The present invention has been made to solve the above-described problems of the technology, and is the shortest possible recalculation of the shortest route when a node or link is added or deleted from the network. An object of the present invention is to provide a route calculation device, a shortest route calculation method, and a program for causing a computer to execute the method.

上記目的を達成するための本発明の最短経路計算装置は、ネットワークにおけるノード間の最短経路を計算する最短経路計算装置であって、
起点となるノードである起点ノードからノード間の上流下流の関係をたどって到達し得るノードと該ノード同士における上流下流の接続関係との情報を含む計算対象ツリーが格納される記憶部と、
前記ネットワークのトポロジに変化があると、前記計算対象ツリーを設定し、前記トポロジの変化が新たな第1のリンクの追加である場合、前記計算対象ツリー内のノードであって該第1のリンクで接続される第1および第2のノードについて、前記起点ノードから前記計算対象ツリーに沿って前記第2のノードまで到達する経路および前記第1のリンクの経路を経由して前記第1のノードまで到達する経路からなる第1の経路と、前記起点ノードから前記計算対象ツリーに沿って前記第1のノードまで到達する第2の経路との距離を比較し、前記第2の経路よりも前記第1の経路の距離が短ければ、前記第1の経路を前記起点ノードから前記第1のノードまでの最短経路の候補とし、前記トポロジの変化がリンクの削除である場合、削除されたリンクの下流側の情報を前記計算対象ツリーから削除し、該計算対象ツリー内の第3のノードと該計算対象ツリーに属さない第4のノードとを結ぶ第2のリンクを見つけると、前記起点ノードから前記計算対象ツリーに沿って前記第3のノードまで到達する経路および前記第2のリンクからなる経路を前記起点ノードから第4のノードまでの最短経路の候補とし、前記起点ノードから前記第1または第4のノードに至る経路について、前記最短経路の候補が複数あれば、複数の候補から距離が最短な候補を特定し、特定した候補を最短経路に決定するプロセッサと、
を有し、
前記プロセッサは、
前記第1または前記第4のノードである中継ノードについて、前記起点ノードとは反対側である下流に位置する経路に対応するノード間の上流下流の関係に対応する情報が存在すれば、該情報が示す経路が通るノードまでの距離を前記最短経路と該情報が示す経路を経由した経路のものに書き換え、前記中継ノードの下流に対応する上流下流の関係を前記計算対象ツリーに追加し、下流に位置するノードを前記計算対象ツリーが通過するノードとして扱う構成である。
The shortest path calculation apparatus of the present invention for achieving the above object is a shortest path calculation apparatus for calculating the shortest path between nodes in a network,
A storage unit for storing a calculation target tree including information on a node that can be reached from a starting point node that is a starting point node by following an upstream / downstream relationship between the nodes, and an upstream / downstream connection relationship between the nodes;
When there is a change in the topology of the network, the calculation target tree is set. When the change in the topology is addition of a new first link, the first link is a node in the calculation target tree. For the first and second nodes connected in the above, the first node via the path from the origin node to the second node along the calculation object tree and the path of the first link The distance between a first route that is a route that reaches the first node and a second route that is reached from the origin node along the calculation target tree to the first node is compared, and the distance from the second route is more than the second route. If the distance of the first route is short, the first route is determined as a candidate for the shortest route from the origin node to the first node, and the deletion is performed when the change in topology is deletion of a link. When the information on the downstream side of the calculated link is deleted from the calculation target tree, and the second link connecting the third node in the calculation target tree and the fourth node not belonging to the calculation target tree is found, A route consisting of the second link and a route reaching the third node along the calculation target tree from the origin node is taken as a candidate of the shortest route from the origin node to the fourth node, and A processor for identifying a candidate having the shortest distance from a plurality of candidates and determining the identified candidate as the shortest path if there are a plurality of candidates for the shortest path with respect to the route to the first or fourth node;
I have a,
The processor is
If there is information corresponding to an upstream / downstream relationship between nodes corresponding to a downstream path that is opposite to the origin node for the relay node that is the first or the fourth node, the information Rewrite the distance to the node through which the route indicated by the one shown in FIG. 2 is changed to that of the route via the shortest route and the route indicated by the information, and add the upstream / downstream relationship corresponding to the downstream of the relay node to the calculation target tree. Is handled as a node through which the computation object tree passes .

また、本発明の最短経路計算方法は、ネットワークにおけるノード間の最短経路を計算する方法であって、
前記ネットワークのトポロジに変化があると、起点となるノードである起点ノードからノード間の上流下流の関係をたどって到達し得るノードと該ノード同士における上流下流の接続関係とを含む情報を計算対象ツリーとし、
前記トポロジの変化が新たな第1のリンクの追加である場合、前記計算対象ツリー内のノードであって該第1のリンクで接続される第1および第2のノードについて、前記起点ノードから前記計算対象ツリーに沿って前記第2のノードまで到達する経路および前記第1のリンクの経路を経由して前記第1のノードまで到達する経路からなる第1の経路と、前記起点ノードから前記計算対象ツリーに沿って前記第1のノードまで到達する第2の経路との距離を比較し、前記第2の経路よりも前記第1の経路の距離が短ければ、前記第1の経路を前記起点ノードから前記第1のノードまでの最短経路の候補とし、
前記トポロジの変化がリンクの削除である場合、削除されたリンクの下流側の情報を前記計算対象ツリーから削除し、該計算対象ツリー内の第3のノードと該計算対象ツリーに属さない第4のノードとを結ぶ第2のリンクを見つけると、前記起点ノードから前記計算対象ツリーに沿って前記第3のノードまで到達する経路および前記第2のリンクからなる経路を前記起点ノードから第4のノードまでの最短経路の候補とし、
前記起点ノードから前記第1または第4のノードに至る経路について、前記最短経路の候補が複数あれば、複数の候補から距離が最短な候補を特定し、特定した候補を最短経路に決定し、
前記第1または前記第4のノードである中継ノードについて、前記起点ノードとは反対側である下流に位置する経路に対応するノード間の上流下流の関係に対応する情報が存在すれば、該情報が示す経路が通るノードまでの距離を前記最短経路と該情報が示す経路を経由した経路のものに書き換え、前記中継ノードの下流に対応する上流下流の関係を前記計算対象ツリーに追加し、下流に位置するノードを前記計算対象ツリーが通過するノードとして扱うものである。
The shortest path calculation method of the present invention is a method for calculating the shortest path between nodes in a network,
When there is a change in the topology of the network, information including nodes that can be reached by following the upstream / downstream relationship between the nodes from the source node that is the source node and the upstream / downstream connection relationship between the nodes is calculated. Tree and
When the topology change is the addition of a new first link, the first and second nodes that are nodes in the calculation target tree and are connected by the first link are referred to from the origin node to the A first path comprising a path reaching the second node along the calculation target tree and a path reaching the first node via the path of the first link; and the calculation from the origin node Comparing the distance with the second path that reaches the first node along the target tree, and if the distance of the first path is shorter than the second path, the first path is determined as the starting point. A shortest path candidate from a node to the first node,
If the topology change is link deletion, information on the downstream side of the deleted link is deleted from the calculation target tree, and a third node in the calculation target tree and a fourth that does not belong to the calculation target tree When the second link connecting the node to the second node is found, a route that reaches the third node along the tree to be calculated from the starting node and a route that includes the second link are A candidate for the shortest route to the node,
For a route from the origin node to the first or fourth node, if there are a plurality of candidates for the shortest route, a candidate having the shortest distance is identified from a plurality of candidates, and the identified candidate is determined as the shortest route ,
If there is information corresponding to an upstream / downstream relationship between nodes corresponding to a downstream path that is opposite to the origin node for the relay node that is the first or the fourth node, the information Rewrite the distance to the node through which the route indicated by the one shown in FIG. 2 is changed to that of the route via the shortest route and the route indicated by the information, and add the upstream / downstream relationship corresponding to the downstream of the relay node to the calculation target tree. Is treated as a node through which the computation object tree passes .

さらに、本発明のプログラムは、上記本発明の最短経路計算方法をコンピュータに実行させるものである。   Furthermore, a program according to the present invention causes a computer to execute the shortest path calculation method according to the present invention.

本発明によれば、ネットワークにリンクが新規に追加され、または、ネットワークからリンクが削除されたことによりトポロジに変化が起きても、最短経路を計算することが可能となる。また、非特許文献2に開示された方法では計算できない、新たに追加されたリンクが存在する場合についても最短経路の計算が可能となる。   According to the present invention, it is possible to calculate the shortest path even if a topology changes due to a new link being added to the network or a link being deleted from the network. Further, even when there is a newly added link that cannot be calculated by the method disclosed in Non-Patent Document 2, the shortest path can be calculated.

本実施形態の最短経路計算装置の構成を説明する。図1は本実施形態の最短経路計算装置の一構成例を示すブロック図である。   The configuration of the shortest path calculation apparatus according to this embodiment will be described. FIG. 1 is a block diagram illustrating a configuration example of the shortest path calculation apparatus according to the present embodiment.

図1に示すように、本実施形態の最短経路計算装置10は、経路計算に必要な情報を記憶する記憶部12と、情報管理部141および経路計算部142を含むプロセッサ14と、外部の装置とデータを送受信するインタフェース部16とを有する。   As shown in FIG. 1, a shortest path calculation device 10 of this embodiment includes a storage unit 12 that stores information necessary for route calculation, a processor 14 including an information management unit 141 and a route calculation unit 142, and an external device. And an interface unit 16 for transmitting and receiving data.

記憶部12には、ネットワーク内のノード間の最短経路の情報である経路情報と、ネットワークにおけるノード間の物理リンクおよび仮想リンクの接続状況を示すトポロジ情報とが格納される。また、記憶部12には、最短経路を決定するまでの計算途中の情報も格納される。   The storage unit 12 stores path information, which is information on the shortest path between nodes in the network, and topology information indicating the connection status of physical links and virtual links between nodes in the network. The storage unit 12 also stores information during calculation until the shortest path is determined.

インタフェース部16は、プロセッサ14による計算結果をネットワーク(不図示)を介して他の装置に通知し、ネットワークを介して他の装置から受信する、トポロジに関する情報をプロセッサ14に渡す。   The interface unit 16 notifies the calculation result by the processor 14 to another device via a network (not shown), and passes information on the topology received from the other device via the network to the processor 14.

プロセッサ14には、プログラムを格納するためのメモリ(不図示)が設けられている。プロセッサ14がプログラムを実行することで、情報管理部141および経路計算部142が最短経路計算装置10に仮想的に構成される。   The processor 14 is provided with a memory (not shown) for storing a program. When the processor 14 executes the program, the information management unit 141 and the route calculation unit 142 are virtually configured in the shortest route calculation device 10.

情報管理部141は、ネットワーク状況を監視し、ネットワーク内にリンクが新規に設定される、または、ネットワーク内のリンクが削除されると、それらの変化の情報を経路計算部142に通知する。また、経路計算部142から計算結果を取得したり、インタフェース部16からトポロジに関する情報を取得したりすると、取得した計算結果や情報に基づいて記憶部12内の情報を更新する。ネットワーク状況を監視する方法の一例として、ルータ間でやり取りされるルーティングテーブルを取得する方法があるが、これ以外の方法であってもよい。   The information management unit 141 monitors the network status, and when a link is newly set in the network or a link in the network is deleted, notifies the route calculation unit 142 of information on such changes. Further, when the calculation result is acquired from the route calculation unit 142 or the information about the topology is acquired from the interface unit 16, the information in the storage unit 12 is updated based on the acquired calculation result and information. As an example of a method of monitoring the network status, there is a method of acquiring a routing table exchanged between routers, but other methods may be used.

経路計算部142は、ネットワーク状況の変化の情報を情報管理部141から受け取ると、経路計算を行い、計算結果を情報管理部141に通知する。経路計算方法の詳細は、後述の最短経路計算方法の手順で説明する。   When the route calculation unit 142 receives information on changes in the network status from the information management unit 141, the route calculation unit 142 performs route calculation and notifies the information management unit 141 of the calculation result. Details of the route calculation method will be described in the procedure of the shortest route calculation method described later.

最短経路計算装置10は、上述したように、経路計算機能を備え、ネットワーク内の各ルータのルーティングテーブルを受け取り、または各ルータの経路計算を一手に引き受け、計算結果に基づいてネットワーク内の各ルータに出力先の設定を指示するコンピュータである。最短経路計算装置10は、ネットワーク内の特定のルータであってもよく、経路計算処理を専門に実行する装置であってもよい。   As described above, the shortest path calculation device 10 has a path calculation function, receives a routing table of each router in the network, or takes a route calculation of each router at once, and each router in the network based on the calculation result. Is a computer that instructs the setting of the output destination. The shortest path calculation apparatus 10 may be a specific router in the network, or may be an apparatus that specially executes path calculation processing.

この最短経路計算装置を用いて、ネットワークにおける2ノード間を結ぶ最短経路を計算する例について考える。   Consider an example of calculating the shortest path connecting two nodes in a network using this shortest path calculation device.

本実施形態の最短経路計算方法は、2ノード間を結ぶ最短経路のうち、1つのノードを起点としてその他の複数のノードとの最短経路を一度に計算する方法である。ここで、本実施形態で使用する用語について説明する。   The shortest path calculation method of the present embodiment is a method of calculating the shortest path with a plurality of other nodes at a time from one node among the shortest paths connecting two nodes. Here, terms used in the present embodiment will be described.

図2Aおよび図2Bは1つのノードを起点とする経路を示す情報の一例を示す図である。図2Aはツリー構造で最短経路を表した図であり、図2Bは個別に最短経路を表した図である。   2A and 2B are diagrams illustrating an example of information indicating a route starting from one node. 2A is a diagram showing the shortest path in a tree structure, and FIG. 2B is a diagram showing the shortest path individually.

「経路ツリー」は2点間を結ぶ経路のうち、起点が同じ経路の一部を示す。本実施形態では、経路の集合である経路集合をツリー構造で表す。2ノード間を結ぶ経路は起点から終点までツリーに沿って進んだ時に通過するノードとリンクからなる。図2Aに示すようなツリーが存在したとすると、ノードsが起点であり、ノードsからbまでの経路はツリーに沿ってノードsからbまでに行くまでに通過するノードであるs、a、bを用いてs→a→bのように表わされる。   The “route tree” indicates a part of routes that have the same starting point among routes connecting two points. In the present embodiment, a route set that is a set of routes is represented by a tree structure. A path connecting two nodes consists of a node and a link that pass through the tree from the start point to the end point. If a tree as shown in FIG. 2A exists, the node s is the starting point, and the path from the node s to b is the node that passes through the tree from the node s to b, s, a, It is expressed as s → a → b using b.

ノードaおよびdのそれぞれから見てノードsは上流側であり、ノードbおよびcのそれぞれから見てノードaは上流側である。反対に、ノードsから見てノードa〜dは下流側である。   The node s is on the upstream side when viewed from each of the nodes a and d, and the node a is on the upstream side when viewed from each of the nodes b and c. Conversely, the nodes a to d are on the downstream side when viewed from the node s.

集合に含まれる経路には、共通部分を持つものも存在する。これらの情報を、図2Bに示すように、個別に持つのは情報的に冗長である。ツリー構造で表すことにより、冗長な情報をまとめて、共通な部分を管理する情報で表すことができる。図2Aに示すツリーでは、ノードsからb、そして、ノードsからcを結ぶ経路は、ノードsとaの間をともに通る。この場合、個別の経路でノードsとaの間を通ることを述べる(図2B参照)のでなく、図2Aのようなツリー構造であれば、ノードsからaの間を通る経路が存在することを示す情報でそれぞれがノードsとaの間を通ることを示すことができる。これにより、冗長な情報を持つことを防ぐことができる。なお、この例では、ツリー内においてノードs→aを結ぶリンクを最短経路の存在を示す情報として使用している。   Some routes included in the set have a common part. As shown in FIG. 2B, it is redundant in terms of information to have these pieces of information individually. By representing in a tree structure, redundant information can be collected and represented by information for managing common parts. In the tree shown in FIG. 2A, a path connecting nodes s to b and nodes s to c passes between nodes s and a. In this case, instead of mentioning passing between nodes s and a by an individual route (see FIG. 2B), if the tree structure is as shown in FIG. 2A, there is a route passing between nodes s and a. It is possible to indicate that each passes between the nodes s and a. Thereby, it can prevent having redundant information. In this example, a link connecting nodes s → a in the tree is used as information indicating the existence of the shortest path.

図2A示すツリー構造の情報が記憶部12に格納される経路情報となる。図には示していないがノード間を結ぶ経路を候補経路として挙げ、そのうち最終的に最短経路となるものだけを図2Aに示すツリー構造に残して経路情報として記憶部12に記録している。   The information of the tree structure shown in FIG. 2A becomes the route information stored in the storage unit 12. Although not shown in the figure, routes connecting nodes are listed as candidate routes, and only the route that finally becomes the shortest route is recorded in the storage unit 12 as route information, leaving the tree structure shown in FIG. 2A.

「ノードZの配下ツリー」は、ノードZを経由する経路ツリーの情報において、ノードZから下流に位置するリンクとノードを指す。ノードZ自身も配下ツリーに含まれる。図2Aの経路ツリーの例を用いると、ノードaの配下ツリーは、経路ツリーのうち、ノードa、b、cを結ぶ部分になる。   “Subordinate tree of node Z” refers to a link and a node located downstream from node Z in the information of the path tree passing through node Z. Node Z itself is also included in the subordinate tree. Using the example of the path tree in FIG. 2A, the subordinate tree of the node a is a part connecting the nodes a, b, and c in the path tree.

ノード間の「距離」は、ネットワークのノード間の実際の長さを意味するのではなく、経路上のリンクに振られたコストの総和を意味する。リンクコストがいずれのノード間でも同じであれば、「距離」はホップ数に比例する。   The “distance” between nodes does not mean the actual length between nodes of the network, but the total sum of the costs assigned to the links on the route. If the link cost is the same between any nodes, the “distance” is proportional to the number of hops.

本実施形態の最短経路計算装置10が実行する最短経路計算方法の手順を説明する。図3および図4は本実施形態の最短経路計算方法の手順を示すフローチャートである。   The procedure of the shortest path calculation method executed by the shortest path calculation apparatus 10 of this embodiment will be described. 3 and 4 are flowcharts showing the procedure of the shortest path calculation method of the present embodiment.

ここでは、ノードXを起点とする最短経路集合において、最短経路ツリーS’xを計算対象とすることを考える。トポロジ変更前における、ノードXを起点とする最短経路集合の情報を最短経路ツリーSxとして、記憶部12に予め登録されているものとする。   Here, it is considered that the shortest path tree S′x is a calculation target in the shortest path set starting from the node X. It is assumed that information of the shortest path set starting from the node X before the topology change is registered in advance in the storage unit 12 as the shortest path tree Sx.

図3に示すように、最短経路計算装置10は、最初の手順では、ネットワークを監視し(ステップ101)、リンクの削除またはリンクの追加があるか否かを調べる(ステップ102)。リンクの削除および追加がなければ、ステップ101に戻る。   As shown in FIG. 3, in the first procedure, the shortest path calculation apparatus 10 monitors the network (step 101), and checks whether there is a link deletion or a link addition (step 102). If there is no link deletion or addition, the process returns to step 101.

計算対象ツリーS’xが通っているノードEa,Ebにネットワークトポロジに、新たに設定されたリンクL1が存在する場合について考える。ステップ102で、最短経路計算装置10は、ネットワークに新たにリンクL1が設定されていることを認識すると、次の2通りの経路についてノードEaまでの距離を計算する。1つ目の経路は、計算対象ツリーS’xにおけるノードXからノードEbまでの経路(これを経路R2とする)とノードEbからリンクL1を経由してノードEaに到達する経路とを合わせた(R2+L1)の経路である。2つ目の経路は、計算対象ツリーS’xにおけるノードXからノードEaまでの経路(これを経路R1とする)である。最短経路計算装置10は、経路(R2+L1)と経路R1とを比較し、前者の距離のほうが短ければ、前者の経路を候補経路として扱う(ステップ103)。   Consider a case where a newly set link L1 exists in the network topology at nodes Ea and Eb through which the calculation target tree S'x passes. In step 102, when the shortest path calculation device 10 recognizes that the link L1 is newly set in the network, it calculates the distance to the node Ea for the following two paths. The first route is a combination of the route from the node X to the node Eb in the calculation target tree S′x (this route is referred to as route R2) and the route from the node Eb to the node Ea via the link L1. The route is (R2 + L1). The second path is a path from the node X to the node Ea in the calculation target tree S′x (this is referred to as a path R1). The shortest path calculation device 10 compares the path (R2 + L1) and the path R1, and if the former distance is shorter, the former path is treated as a candidate path (step 103).

一方、ネットワークからリンクが削除されている場合について考える。ステップ102またはステップ104で、最短経路計算装置10は、ネットワークからリンクが削除されていることを認識すると、最短経路ツリーSxに、トポロジから削除されるノードやリンクをまたぐ上流下流の関係に対応する情報が存在するか確認する。削除されるノードやリンクが存在すれば、対応するノード間の上流下流の関係に関する情報を削除する。削除されるノードやリンクが存在しないならばそのままにする。ノードXから経路ツリーをたどって到達することのできるノードおよびノード間の上流下流の関係を含めて、これらを計算対象の最短経路ツリーS’xとして扱う(ステップ105)。   On the other hand, consider the case where the link has been deleted from the network. In step 102 or 104, when the shortest path calculation device 10 recognizes that the link has been deleted from the network, the shortest path tree Sx corresponds to the upstream / downstream relationship across the node or link deleted from the topology. Check if the information exists. If there is a node or link to be deleted, information on the upstream / downstream relationship between the corresponding nodes is deleted. If there are no nodes or links to be deleted, leave them as they are. Including the nodes that can be reached from the node X by following the path tree and the upstream / downstream relationship between the nodes, these are treated as the shortest path tree S'x to be calculated (step 105).

続いて、最短経路計算装置10は、計算対象ツリーS’xが通っているノードEcと計算対象ツリーS’xが通っていないノードEdとを結ぶリンクL2を検索する。検索の結果、リンクL2を見つけると、ノードXからノードEdに到達する経路として、計算対象ツリーS’xを経由してノードEcを結ぶ経路とノードEcからリンクL2を経由してノードEdまで到達する経路とを合わせた経路(これを経路Cとする)に着目する。そして、この経路Cを候補経路の1つとして扱う(ステップ106)。リンクの追加があれば、ステップ103に進む(ステップ107)。   Subsequently, the shortest path calculation device 10 searches for a link L2 connecting the node Ec through which the calculation target tree S′x passes and the node Ed through which the calculation target tree S′x does not pass. When the link L2 is found as a result of the search, the route reaching the node Ed from the node X reaches the node Ed via the calculation target tree S′x and the node Ec via the link L2. Attention is paid to a route that is combined with the route to be performed (this route is referred to as route C). Then, this route C is treated as one of the candidate routes (step 106). If a link is added, the process proceeds to step 103 (step 107).

上述のようにして、新規にリンクが追加された場合とリンクが削除された場合のいずれについても、最短経路計算装置10は、候補経路を見つけ、候補経路がなくなるまで、以下の作業が繰り返される。   As described above, in both cases where a link is newly added and a link is deleted, the shortest path calculation device 10 finds candidate paths and repeats the following operations until there are no candidate paths. .

候補経路が複数存在するならば(ステップ108)、最短経路計算装置10は、候補経路のうち、距離が最短なものを選び出す。選んだ時点までにわかっている経路の終点までの経路のうち、選んだ経路が最短であれば、選ばれた候補経路を、候補経路の終点までの最短経路、すなわち計算結果とする(ステップ109)。   If there are a plurality of candidate routes (step 108), the shortest route calculation device 10 selects a candidate route having the shortest distance. If the selected route is the shortest among the routes to the end point of the known route up to the selected time, the selected candidate route is set as the shortest route to the end point of the candidate route, that is, the calculation result (step 109). ).

新規にリンクが設定された場合の上記ノードEa、およびリンクが削除された場合の上記ノードEdを、以下ではノードE1と称すると、最短経路計算装置10は、計算対象ツリーS’xにおけるノードE1までの経路情報を、選んだ経路のものに変更する。具体的には、ノード間の上流下流の関係を、選んだ経路の通りに変更する(図4に示すステップ110)。なお、ノードE1は本発明の中継ノードに相当する。   When the node Ea when the link is newly set and the node Ed when the link is deleted are referred to as a node E1 below, the shortest path calculation device 10 is a node E1 in the calculation target tree S′x. Change the route information up to that of the selected route. Specifically, the upstream / downstream relationship between the nodes is changed according to the selected route (step 110 shown in FIG. 4). Note that the node E1 corresponds to the relay node of the present invention.

ノードE1に配下ツリーが存在する場合、最短経路計算装置10は、配下ツリーに通るノードまでの距離を、ステップ109で選んだ経路と配下ツリーを経由する経路とを合わせたものに書き換える(ステップ111)。これにより、起点からノードE1までの経路の距離とノードE1からその配下ツリーを構成するノードまでの距離が変化したため、いくつかのノードではこの時点で見つかっている今までの経路よりも、配下ツリーを構成するノードを経由する経路の方が短くなる場合がある。また、ネットワークトポロジに新規追加されたリンクが、配下ツリーを構成するノード同士を結ぶ場合、配下ツリーとノードE1までの最短経路を経由する場合より、新規追加リンク経由の経路のほうが、距離が短くなる場合も生じる。このような経路を探索するために、最短経路計算装置10は、次のステップ112やステップ113の動作を行う。   If there is a subordinate tree at the node E1, the shortest path calculation device 10 rewrites the distance to the node passing through the subordinate tree to a combination of the path selected at step 109 and the path via the subordinate tree (step 111). ). As a result, the distance of the path from the starting point to the node E1 and the distance from the node E1 to the node constituting the subordinate tree have changed, so that in some nodes, the subordinate tree is more than the current path found at this point. In some cases, the route passing through the nodes constituting the node becomes shorter. In addition, when a link newly added to the network topology connects nodes constituting the subordinate tree, the route via the newly added link is shorter than the route via the shortest route to the subordinate tree and the node E1. It also occurs. In order to search for such a route, the shortest route calculation apparatus 10 performs the following operations of Step 112 and Step 113.

ステップ112では、最短経路計算装置10は、トポロジに新規追加されたリンクのうち、ノードE1の配下ツリーを構成するノード同士を結ぶリンクがあるか探す。ノードE1の配下ツリーを構成するノード同士c1、c2を結ぶリンクL3があると、ツリーの起点のノードXからノードE1までの最短経路と配下ツリーとリンクL3とを経由して端点c1に到達する経路(経路R5とする)の距離と、ノードXからノードE1までの最短経路と配下ツリーとを経由して端点c1に到達する経路(経路R4とする)の距離とを比較する。そして、経路R5が経路R4に比べて短くなるような端点が存在すれば、経路R5を候補経路として扱う処理を行う。   In step 112, the shortest path calculation device 10 searches for a link connecting nodes constituting the subordinate tree of the node E1 among the links newly added to the topology. If there is a link L3 connecting the nodes c1 and c2 constituting the subordinate tree of the node E1, the end point c1 is reached via the shortest path from the node X to the node E1 at the starting point of the tree, the subordinate tree, and the link L3. The distance of the route (referred to as route R5) is compared with the distance of the shortest route from node X to node E1 and the route (referred to as route R4) reaching the end point c1 via the subordinate tree. If there is an end point at which the route R5 is shorter than the route R4, a process for handling the route R5 as a candidate route is performed.

ステップ113では、最短経路計算装置10は、ノードE1の配下ツリーを構成するノードを起点とし、配下ツリーを構成しないノードを終点とするリンクを探す。ノードE1の配下ツリーのノードd1を起点として配下ツリーを構成しないノードd2を終点とするリンクL4があると、ツリーの起点のノードXからノードE1までの最短経路とノードE1から端点d1までの経路とリンクL4とを経由して端点d2に到達する経路(経路R7とする)の距離と、ノードXからノードE1までの最短経路およびノードE1から端点d2までの経路を含む経路(経路R6とする)の距離とを比較する。そして、経路R7が経路R6に比べて短くなるような端点が存在すれば、経路R7を候補経路として扱う処理を行う。ステップ112、ステップ113の作業が終了すると、ステップ108に戻る。   In step 113, the shortest path calculation device 10 searches for a link starting from a node constituting the subordinate tree of the node E1 and ending at a node not constituting the subordinate tree. If there is a link L4 starting from the node d1 of the subordinate tree of the node E1 and ending with the node d2 that does not constitute the subordinate tree, the shortest path from the node X to the node E1 and the path from the node E1 to the end point d1 of the tree And a path including the shortest path from the node X to the node E1 and the path from the node E1 to the end point d2 (referred to as a path R6). ) And the distance. Then, if there is an end point such that the route R7 is shorter than the route R6, processing for treating the route R7 as a candidate route is performed. When the operations in steps 112 and 113 are completed, the process returns to step 108.

本実施形態の最短経路計算方法の手順を、具体例を用いて説明する。ここでは、図3および図4を参照するとともに、各ステップの動作について図5から図10を用いて説明する。   The procedure of the shortest path calculation method of this embodiment will be described using a specific example. Here, while referring to FIGS. 3 and 4, the operation of each step will be described with reference to FIGS. 5 to 10.

図5は、トポロジ変更前に計算された、ノードXを起点とする最短経路ツリーSxを示す図である。ここでは、起点となるノードXの他に、以下の説明で代表的なノードとなるノードAからDを図に示している。なお、ノード間の最短経路を示す破線矢印には、他のノードを経由していてもよく、図に示すことを省略している。   FIG. 5 is a diagram illustrating the shortest path tree Sx that starts from the node X and is calculated before the topology change. Here, in addition to the node X as a starting point, nodes A to D as representative nodes in the following description are shown in the figure. It should be noted that broken line arrows indicating the shortest paths between nodes may be routed through other nodes and are not shown in the figure.

図6は図3に示したステップ103の処理を説明するための図である。   FIG. 6 is a diagram for explaining the processing of step 103 shown in FIG.

ネットワークに新規リンクが設定されていると、ステップ103で、最短経路計算装置10は、計算対象ツリーS’xが通るノード同士を結ぶ新規追加リンクL1を探す。そして、リンクL1を見つけると、その端点となるノードGおよびノードHのそれぞれに到達する経路のうち、それまで見つかっている経路R1(X→J→G、またはX→H)と、S’xとL1を通る経路R2(X→H→G、またはX→J→G→H)とを比較する。経路R2が経路R1よりも短ければ、経路R2を候補経路として扱う。   When a new link is set in the network, in step 103, the shortest path calculation device 10 searches for a new additional link L1 that connects nodes through which the calculation target tree S'x passes. When the link L1 is found, the path R1 (X → J → G or X → H) that has been found so far among the paths that reach the node G and the node H, which are the end points, and S′x And the route R2 (X → H → G or X → J → G → H) passing through L1. If the route R2 is shorter than the route R1, the route R2 is treated as a candidate route.

ノードGまでの経路について着目すると、最短経路計算装置10は、経路R1(X→J→G)と経路R2(X→H→G)とを比較し、経路R2の距離が経路R1よりも短ければ、経路R2を候補経路として扱う。図6はノードGまでの経路について着目した場合を示す。ノードHまでの経路についても、ノードGと同様に行う。   Paying attention to the route to the node G, the shortest route calculation device 10 compares the route R1 (X → J → G) and the route R2 (X → H → G), and the distance of the route R2 is shorter than the route R1. For example, route R2 is treated as a candidate route. FIG. 6 shows a case where attention is paid to the route to the node G. The route to the node H is performed in the same manner as the node G.

図7はネットワークでリンクが削除された場合の一例を示す図である。図7には2箇所のリンクが削除されている場合を示しているが、削除されるリンクは1箇所であってもよく、3箇所以上あってもよい。図7は図3に示したステップ105の処理を示す。図8は図3に示したステップ106の処理を説明するための図であり、図9は図3に示したステップ109の処理を説明するための図である。   FIG. 7 is a diagram showing an example when a link is deleted on the network. Although FIG. 7 shows a case where two links are deleted, one link may be deleted, or three or more links may be deleted. FIG. 7 shows the processing of step 105 shown in FIG. FIG. 8 is a diagram for explaining the processing of step 106 shown in FIG. 3, and FIG. 9 is a diagram for explaining the processing of step 109 shown in FIG.

図7に示すように、ノードAとBを結ぶリンクA→Bと、ノードCとDを結ぶリンクC→Dがトポロジから削除されるとする。最短経路計算装置10は、最短経路ツリーSxの中において削除されたリンクA→B、C→Dをまたぐ上流下流の関係、すなわちノードAとノードBの間の接続関係とノードCとノードDの間の接続関係が存在するか確認する。この例の場合、ともに存在する。このとき、最短経路計算装置10は、最短経路ツリーSxからリンクA→BとリンクC→Dに対応する情報を削除する。この作業により、最短経路ツリーSxは、ノードXを頂点としてノードA、ノードCまで結ぶ経路ツリーと、ノードB、ノードDをそれぞれ頂点とする経路ツリーに分割される。ノードXからツリーを経由して到達することのできる、ノードXからノードA,Cまで結ぶ部分ツリーを計算対象ツリーS’xとする。   As shown in FIG. 7, it is assumed that the link A → B connecting the nodes A and B and the link C → D connecting the nodes C and D are deleted from the topology. The shortest path calculation device 10 has an upstream / downstream relationship across the links A → B and C → D deleted in the shortest path tree Sx, that is, a connection relation between the node A and the node B, and the node C and the node D. Check if there is a connection relationship between them. In this example, both exist. At this time, the shortest path calculation device 10 deletes information corresponding to the links A → B and C → D from the shortest path tree Sx. By this operation, the shortest path tree Sx is divided into a path tree connecting node A and node C with node X as a vertex, and a path tree with nodes B and D as vertices, respectively. A partial tree connecting from the node X to the nodes A and C that can be reached from the node X via the tree is defined as a calculation target tree S′x.

ステップ106では、最短経路計算装置10は、ステップ105で分割された計算対象ツリーS’xを構成するノードまでの経路を探索する。このアルゴリズムでは、計算対象ツリーS’x内のノードから計算対象ツリーS’x外に至る経路の終点まで1ホップ(リンクL2)で到達でき、リンクL2の始点まで、計算対象ツリーS’xを通って行く経路を探索対象とする。図8では、ノードXからノードPまでの経路X→N→Pがそのような経路に該当する。見つかった経路はノードXからノードPまでの最短経路の候補として扱う。   In step 106, the shortest path calculation device 10 searches for a path to a node constituting the calculation target tree S′x divided in step 105. In this algorithm, it is possible to reach the end point of a route from the node in the calculation target tree S′x to the outside of the calculation target tree S′x with one hop (link L2), and the calculation target tree S′x is reached to the start point of the link L2. A route to be taken is set as a search target. In FIG. 8, the route X → N → P from the node X to the node P corresponds to such a route. The found route is treated as a candidate for the shortest route from node X to node P.

最短経路計算装置10は、新規にリンクが設定された場合、リンクが削除された場合のそれぞれについて、上述の処理を行った後、図3に示したステップ109で、候補経路として扱われている経路のうち、終点までの距離が最短である経路を選び出す。   The shortest path calculation device 10 treats each of the cases where a link is newly set and when the link is deleted, and is treated as a candidate path in step 109 shown in FIG. Among the routes, the route having the shortest distance to the end point is selected.

リンクが削除された場合で説明すると、選んだ時点までにわかっている経路の終点までの経路のうち、選んだ経路が最短であれば、図9に示すように、最短経路計算装置10は、選んだ経路を、計算対象ツリーの起点ノードXと終点ノードPまでを結ぶ最短経路R3として扱う。続いて、図4に示したステップ110で、最短経路R3の終点ノードPにおける上流のノードに関する情報を最短経路R3における上流であるノードNに関する情報に書き換える。つまり、図8および図9から、ノードPの親ノードをノードQからノードNに書き換える。   In the case where the link is deleted, the shortest path calculation apparatus 10 as shown in FIG. 9 will be used if the selected path is the shortest among the paths to the end point of the path known up to the selected time point. The selected route is treated as the shortest route R3 connecting the starting node X and the ending node P of the calculation target tree. Subsequently, in step 110 shown in FIG. 4, the information related to the upstream node in the end point node P of the shortest path R3 is rewritten to the information related to the node N upstream in the shortest path R3. That is, the parent node of the node P is rewritten from the node Q to the node N from FIGS.

以下では、ネットワークでリンクが削除された場合のノードPに着目して説明するが、新規にリンクが設定された場合には、ノードPをノードGに置き換えて考えればよく、その場合の詳細な説明を省略する。   The following description focuses on the node P when the link is deleted on the network. However, when a new link is set, the node P may be replaced with the node G. Description is omitted.

経路の終点ノードPの配下ツリー上にノードが存在するならば、最短経路計算装置10は、ツリー上のノードまでの距離を、経路R3と配下ツリーを通ってツリー上のノードまで到達する経路の距離に変更する。図9に示す例では、ノードPの配下にノードSとノードTがある。配下ツリーの情報が記憶部12に存在するならば、配下ツリーから各ノードまでの距離はツリーの情報より容易に計算することが可能である。   If there is a node on the subordinate tree of the end node P of the route, the shortest path calculation device 10 calculates the distance to the node on the tree by the route R3 and the route reaching the node on the tree through the subordinate tree. Change to distance. In the example shown in FIG. 9, there are a node S and a node T under the node P. If subordinate tree information exists in the storage unit 12, the distance from the subordinate tree to each node can be easily calculated from the tree information.

ノードPからその配下ツリー上に存在するノードTまでの距離が2であり、計算対象ツリーS’xの起点ノードXからノードPまでの距離が5であるなら、最短経路R3と配下ツリーを経由する経路の距離は7と算出される。この距離7の値をノードXからノードTまでの距離の値とする。そして、ノードPの配下ツリーを計算対象ツリーS’xに含める。   If the distance from the node P to the node T existing on the subordinate tree is 2 and the distance from the starting node X to the node P of the calculation target tree S′x is 5, the shortest path R3 and the subordinate tree are passed. The distance of the route to be calculated is 7. The value of the distance 7 is a distance value from the node X to the node T. Then, the subordinate tree of the node P is included in the calculation target tree S′x.

図10は図4に示したステップ112およびステップ113の処理を説明するための図である。   FIG. 10 is a diagram for explaining the processing of step 112 and step 113 shown in FIG.

ステップ112では、最短経路計算装置10は、新たにトポロジに追加されたリンクのうち、ノードPの配下ツリー上に存在するノードを結ぶものを探す。そして、そのようなリンクL3の両端(ノードS、ノードT)のうち、計算対象ツリーS’xを経由してそれらのノードに到達する経路よりも、計算対象ツリーS’xとリンクL3を経由する経路の方が距離の短くなる場合を探す。図10における例では、ノードPの配下ツリー上に存在するノードTまで到達するのに、計算対象ツリーS’x経由の経路R4(X→P→T)とリンクL3を経由する経路R5(X→P→S→T)との距離を比較する。そして、経路R5の距離が経路R4よりも短い場合を探す。もしそのような場合が存在すれば、経路R5を候補経路の1つとして扱う。   In step 112, the shortest path calculation device 10 searches for a link connecting nodes existing on the subordinate tree of the node P among the links newly added to the topology. Of the two ends of the link L3 (node S, node T), the route through the calculation target tree S′x and the link L3 rather than the path reaching the nodes via the calculation target tree S′x. Find a route that has a shorter distance. In the example in FIG. 10, in order to reach the node T existing on the subordinate tree of the node P, the route R4 (X → P → T) via the calculation target tree S′x and the route R5 (X Compare the distance of P → S → T). Then, the case where the distance of the route R5 is shorter than the route R4 is searched. If such a case exists, the route R5 is treated as one of candidate routes.

ステップ113では、最短経路計算装置10は、ノードPの配下ツリーを経由し、計算対象ツリーS’x内に存在する経路よりも距離が短い経路を探索する。このとき、配下ツリー上のノードからの距離がわかる終点ノードまでの経路を探索する。   In step 113, the shortest path calculation device 10 searches for a path having a shorter distance than the path existing in the calculation target tree S′x via the subordinate tree of the node P. At this time, a route to the end node where the distance from the node on the subordinate tree is known is searched.

該当する経路のうち、このアルゴリズムでは経路の終点まで1ホップ(リンクL4)で到達でき、リンクの始点まで、計算対象ツリーS’xを通って行く経路を探索対象とする。図10では、ノードPの配下ツリーのノードSを起点として配下ツリーを構成しないノードMを終点とするリンクL4があると、ツリーの起点のノードXからノードPまでの最短経路とノードPからノードSまでの経路とリンクL4とを経由してノードMに到達する経路(経路R7:経路X→P→S→M)の距離と、ノードXから計算対象ツリーS’xを経由してノードMまでの最短経路の候補(経路R6とする)の距離とを比較する。そして、経路R7が経路R6に比べて短くなるような端点が存在すれば、経路R7を候補経路として扱う処理を行う。見つかった経路R7は候補経路の1つとして扱う。   Among the applicable routes, this algorithm can reach the end point of the route with one hop (link L4), and the route that passes through the calculation target tree S′x to the start point of the link is the search target. In FIG. 10, if there is a link L4 starting from the node S of the subordinate tree of the node P and ending at the node M that does not constitute the subordinate tree, the shortest path from the node X to the node P at the starting point of the tree and the node P to the node The distance to the node M via the path to S and the link L4 (path R7: path X → P → S → M), and the node M from the node X via the calculation target tree S′x And the distance of the shortest path candidate (referred to as the path R6) to be compared. Then, if there is an end point such that the route R7 is shorter than the route R6, processing for treating the route R7 as a candidate route is performed. The found route R7 is treated as one of the candidate routes.

なお、図10では、経路R6をX→ノード(不図示)→Mと表しているが、経路R6はX→P→Mであってもよい。経路R6として、様々な経路が考えられ、図10では、その一例を示したにすぎない。   In FIG. 10, the route R6 is expressed as X → node (not shown) → M, but the route R6 may be X → P → M. Various routes are conceivable as the route R6, and FIG. 10 shows only one example.

最短経路計算装置10は、これらステップ112およびステップ113の動作を、候補経路として扱われる経路が存在しなくなるまで繰り返す(ステップ108)。   The shortest path calculation apparatus 10 repeats the operations of step 112 and step 113 until there is no path that is treated as a candidate path (step 108).

本発明によれば、ネットワークにリンクが新規に追加され、または、ネットワークからリンクが削除されたことによりトポロジに変化が起きても、最短経路を計算することが可能となる。また、非特許文献2に開示された方法では計算できない、新たに追加されたリンクが存在する場合についても最短経路の計算が可能となる。これは新たに追加されたリンクを経由するような経路も探索対象となるためである。これにより、リンクの追加が生じたときも最短経路の計算が可能となる。   According to the present invention, it is possible to calculate the shortest path even if a topology changes due to a new link being added to the network or a link being deleted from the network. Further, even when there is a newly added link that cannot be calculated by the method disclosed in Non-Patent Document 2, the shortest path can be calculated. This is because a route that passes through a newly added link is also a search target. This makes it possible to calculate the shortest path even when a link is added.

本実施形態の最短経路計算装置の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the shortest path calculation apparatus of this embodiment. 1つのノードを起点とする経路について、ツリー構造で最短経路を表した図である。It is the figure which represented the shortest path | route with the tree structure about the path | route which starts from one node. 1つのノードを起点とする経路について、個別に最短経路を表した図である。It is the figure which represented the shortest path | route separately about the path | route which starts from one node. 本実施形態の最短経路計算方法の手順を示すフローチャートである。It is a flowchart which shows the procedure of the shortest path | route calculation method of this embodiment. 本実施形態の最短経路計算方法の手順を示すフローチャートである。It is a flowchart which shows the procedure of the shortest path | route calculation method of this embodiment. トポロジ変更前に計算された、ノードXを起点とする最短経路ツリーSxを示す図である。It is a figure which shows the shortest path | route tree Sx calculated from the node X calculated before topology change. 図3に示したステップ103の処理を説明するための図である。It is a figure for demonstrating the process of step 103 shown in FIG. ネットワークでリンクが削除された場合の一例を示す図である。It is a figure which shows an example when the link is deleted by the network. 図3に示したステップ105およびステップ106の処理を説明するための図である。It is a figure for demonstrating the process of step 105 and step 106 shown in FIG. 図3に示したステップ109の処理を説明するための図である。It is a figure for demonstrating the process of step 109 shown in FIG. 図4に示したステップ112およびステップ113の処理を説明するための図である。It is a figure for demonstrating the process of step 112 shown in FIG. 4, and step 113. FIG.

符号の説明Explanation of symbols

10 最短経路計算装置
12 記憶部
14 プロセッサ
16 インタフェース部
141 情報管理部
142 経路計算部
DESCRIPTION OF SYMBOLS 10 Shortest path calculation apparatus 12 Memory | storage part 14 Processor 16 Interface part 141 Information management part 142 Path | route calculation part

Claims (7)

ネットワークにおけるノード間の最短経路を計算する最短経路計算装置であって、
起点となるノードである起点ノードからノード間の上流下流の関係をたどって到達し得るノードと該ノード同士における上流下流の接続関係との情報を含む計算対象ツリーが格納される記憶部と、
前記ネットワークのトポロジに変化があると、前記計算対象ツリーを設定し、前記トポロジの変化が新たな第1のリンクの追加である場合、前記計算対象ツリー内のノードであって該第1のリンクで接続される第1および第2のノードについて、前記起点ノードから前記計算対象ツリーに沿って前記第2のノードまで到達する経路および前記第1のリンクの経路を経由して前記第1のノードまで到達する経路からなる第1の経路と、前記起点ノードから前記計算対象ツリーに沿って前記第1のノードまで到達する第2の経路との距離を比較し、前記第2の経路よりも前記第1の経路の距離が短ければ、前記第1の経路を前記起点ノードから前記第1のノードまでの最短経路の候補とし、前記トポロジの変化がリンクの削除である場合、削除されたリンクの下流側の情報を前記計算対象ツリーから削除し、該計算対象ツリー内の第3のノードと該計算対象ツリーに属さない第4のノードとを結ぶ第2のリンクを見つけると、前記起点ノードから前記計算対象ツリーに沿って前記第3のノードまで到達する経路および前記第2のリンクからなる経路を前記起点ノードから第4のノードまでの最短経路の候補とし、前記起点ノードから前記第1または第4のノードに至る経路について、前記最短経路の候補が複数あれば、複数の候補から距離が最短な候補を特定し、特定した候補を最短経路に決定するプロセッサと、
を有し、
前記プロセッサは、
前記第1または前記第4のノードである中継ノードについて、前記起点ノードとは反対側である下流に位置する経路に対応するノード間の上流下流の関係に対応する情報が存在すれば、該情報が示す経路が通るノードまでの距離を前記最短経路と該情報が示す経路を経由した経路のものに書き換え、前記中継ノードの下流に対応する上流下流の関係を前記計算対象ツリーに追加し、下流に位置するノードを前記計算対象ツリーが通過するノードとして扱う、最短経路計算装置。
A shortest path calculation device that calculates the shortest path between nodes in a network,
A storage unit for storing a calculation target tree including information on a node that can be reached from a starting point node that is a starting point node by following an upstream / downstream relationship between the nodes, and an upstream / downstream connection relationship between the nodes;
When there is a change in the topology of the network, the calculation target tree is set. When the change in the topology is addition of a new first link, the first link is a node in the calculation target tree. For the first and second nodes connected in the above, the first node via the path from the origin node to the second node along the calculation object tree and the path of the first link The distance between a first route that is a route that reaches the first node and a second route that is reached from the origin node along the calculation target tree to the first node is compared, and the distance from the second route is more than the second route. If the distance of the first route is short, the first route is determined as a candidate for the shortest route from the origin node to the first node, and the deletion is performed when the change in topology is deletion of a link. When the information on the downstream side of the calculated link is deleted from the calculation target tree, and the second link connecting the third node in the calculation target tree and the fourth node not belonging to the calculation target tree is found, A route consisting of the second link and a route reaching the third node along the calculation target tree from the origin node is taken as a candidate of the shortest route from the origin node to the fourth node, and A processor for identifying a candidate having the shortest distance from a plurality of candidates and determining the identified candidate as the shortest path if there are a plurality of candidates for the shortest path with respect to the route to the first or fourth node;
I have a,
The processor is
If there is information corresponding to an upstream / downstream relationship between nodes corresponding to a downstream path that is opposite to the origin node for the relay node that is the first or the fourth node, the information Rewrite the distance to the node through which the route indicated by the one shown in FIG. 2 is changed to that of the route via the shortest route and the route indicated by the information, and add the upstream / downstream relationship corresponding to the downstream of the relay node to the calculation target tree A shortest path calculation device that treats a node positioned at a node as a node through which the calculation object tree passes .
前記プロセッサは、
前記トポロジに新たに追加されたリンクのうち、前記第1または前記第4のノードである中継ノードより下流に位置するノード同士を結ぶ第3のリンクがあると、該第3のリンクの端点である第5のノードおよび第6のノードについて、前記起点ノードから前記中継ノードまでの前記最短経路、該中継ノードの下流における前記第6のノードまでの経路および前記第3のリンクからなる、前記起点ノードから前記第5のノードに到達するまでの第3の経路と、前記起点ノードから前記中継ノードまでの前記最短経路および該中継ノードの下流における前記第5のノードまでの経路からなる第4の経路との距離を比較し、該第4の経路よりも前記第3の経路の距離が短ければ、前記第3の経路を前記起点ノードから前記第5のノードまでの最短経路の候補経路とし、該候補経路のうち距離が最短なものを選び出す、請求項記載の最短経路計算装置。
The processor is
Among the links newly added to the topology, if there is a third link connecting nodes located downstream from the relay node that is the first or fourth node, the end point of the third link The starting point comprising the shortest path from the starting node to the relay node, the path to the sixth node downstream of the relay node, and the third link for a fifth node and a sixth node A fourth path comprising a third path from a node to the fifth node, the shortest path from the origin node to the relay node, and a path to the fifth node downstream of the relay node If the distance of the third route is shorter than the fourth route by comparing the distance with the route, the shortest distance from the origin node to the fifth node is the third route. A candidate route of the road, pick out what distance of the candidate route is the shortest, shortest path calculation apparatus according to claim 1.
前記プロセッサは、
前記第1または前記第4のノードである中継ノードの下流に位置する第7のノードを起点とし、該中継ノードの下流に位置せず、最短経路が計算されていない第8のノードを終点とする第4のリンクがあると、前記起点ノードから前記中継ノードまでの前記最短経路を経由して該中継ノードの下流における前記第7のノードまでの経路および前記第4のリンクからなる、前記起点ノードから前記第8のノードに到達するまでの第5の経路と、前記起点ノードから前記計算対象ツリーを経由して前記第8のノードに到達するまでの第6の経路との距離を比較し、該第6の経路よりも前記第5の経路の距離が短ければ、前記第5の経路を前記起点ノードから前記第8のノードまでの最短経路の候補経路とし、該候補経路のうち距離が最短なものを選び出す、請求項1または2記載の最短経路計算装置。
The processor is
A seventh node located downstream of the relay node that is the first or fourth node is a starting point, and an eighth node that is not located downstream of the relay node and for which the shortest path has not been calculated is an end point. The fourth link to be configured includes the path from the origin node to the relay node via the shortest path to the seventh node downstream of the relay node and the fourth link. Compare the distance between the fifth route from the node to the eighth node and the sixth route from the origin node to the eighth node via the computation object tree. If the distance of the fifth route is shorter than the sixth route, the fifth route is set as the shortest candidate route from the origin node to the eighth node, and the distance among the candidate routes is The shortest Out beauty, the shortest path calculating apparatus according to claim 2 wherein.
ネットワークにおけるノード間の最短経路を計算する方法であって、
前記ネットワークのトポロジに変化があると、起点となるノードである起点ノードからノード間の上流下流の関係をたどって到達し得るノードと該ノード同士における上流下流の接続関係とを含む情報を計算対象ツリーとし、
前記トポロジの変化が新たな第1のリンクの追加である場合、前記計算対象ツリー内のノードであって該第1のリンクで接続される第1および第2のノードについて、前記起点ノードから前記計算対象ツリーに沿って前記第2のノードまで到達する経路および前記第1のリンクの経路を経由して前記第1のノードまで到達する経路からなる第1の経路と、前記起点ノードから前記計算対象ツリーに沿って前記第1のノードまで到達する第2の経路との距離を比較し、前記第2の経路よりも前記第1の経路の距離が短ければ、前記第1の経路を前記起点ノードから前記第1のノードまでの最短経路の候補とし、
前記トポロジの変化がリンクの削除である場合、削除されたリンクの下流側の情報を前記計算対象ツリーから削除し、該計算対象ツリー内の第3のノードと該計算対象ツリーに属さない第4のノードとを結ぶ第2のリンクを見つけると、前記起点ノードから前記計算対象ツリーに沿って前記第3のノードまで到達する経路および前記第2のリンクからなる経路を前記起点ノードから第4のノードまでの最短経路の候補とし、
前記起点ノードから前記第1または第4のノードに至る経路について、前記最短経路の候補が複数あれば、複数の候補から距離が最短な候補を特定し、特定した候補を最短経路に決定し、
前記第1または前記第4のノードである中継ノードについて、前記起点ノードとは反対側である下流に位置する経路に対応するノード間の上流下流の関係に対応する情報が存在すれば、該情報が示す経路が通るノードまでの距離を前記最短経路と該情報が示す経路を経由した経路のものに書き換え、前記中継ノードの下流に対応する上流下流の関係を前記計算対象ツリーに追加し、下流に位置するノードを前記計算対象ツリーが通過するノードとして扱う、最短経路計算方法。
A method for calculating the shortest path between nodes in a network,
When there is a change in the topology of the network, information including nodes that can be reached by following the upstream / downstream relationship between the nodes from the source node that is the source node and the upstream / downstream connection relationship between the nodes is calculated. Tree and
When the topology change is the addition of a new first link, the first and second nodes that are nodes in the calculation target tree and are connected by the first link are referred to from the origin node to the A first path comprising a path reaching the second node along the calculation target tree and a path reaching the first node via the path of the first link; and the calculation from the origin node Comparing the distance with the second path that reaches the first node along the target tree, and if the distance of the first path is shorter than the second path, the first path is determined as the starting point. A shortest path candidate from a node to the first node,
If the topology change is link deletion, information on the downstream side of the deleted link is deleted from the calculation target tree, and a third node in the calculation target tree and a fourth that does not belong to the calculation target tree When the second link connecting the node to the second node is found, a route that reaches the third node along the tree to be calculated from the starting node and a route that includes the second link are A candidate for the shortest route to the node,
For a route from the origin node to the first or fourth node, if there are a plurality of candidates for the shortest route, a candidate having the shortest distance is identified from a plurality of candidates, and the identified candidate is determined as the shortest route ,
If there is information corresponding to an upstream / downstream relationship between nodes corresponding to a downstream path that is opposite to the origin node for the relay node that is the first or the fourth node, the information Rewrite the distance to the node through which the route indicated by the one shown in FIG. 2 is changed to that of the route via the shortest route and the route indicated by the information, and add the upstream / downstream relationship corresponding to the downstream of the relay node to the calculation target tree A shortest path calculation method in which a node located at is treated as a node through which the calculation object tree passes .
前記トポロジに新たに追加されたリンクのうち、前記第1または前記第4のノードである中継ノードより下流に位置するノード同士を結ぶ第3のリンクがあると、該第3のリンクの端点である第5のノードおよび第6のノードについて、前記起点ノードから前記中継ノードまでの前記最短経路、該中継ノードの下流における前記第6のノードまでの経路および前記第3のリンクからなる、前記起点ノードから前記第5のノードに到達するまでの第3の経路と、前記起点ノードから前記中継ノードまでの前記最短経路および該中継ノードの下流における前記第5のノードまでの経路からなる第4の経路との距離を比較し、
前記第4の経路よりも前記第3の経路の距離が短ければ、前記第3の経路を前記起点ノードから前記第5のノードまでの最短経路の候補経路とし、該候補経路のうち距離が最短なものを選び出す、請求項記載の最短経路計算方法。
Among the links newly added to the topology, if there is a third link connecting nodes located downstream from the relay node that is the first or fourth node, the end point of the third link The starting point comprising the shortest path from the starting node to the relay node, the path to the sixth node downstream of the relay node, and the third link for a fifth node and a sixth node A fourth path comprising a third path from a node to the fifth node, the shortest path from the origin node to the relay node, and a path to the fifth node downstream of the relay node Compare the distance to the route,
If the distance of the third route is shorter than the fourth route, the third route is set as a candidate route of the shortest route from the origin node to the fifth node, and the distance is shortest among the candidate routes. 5. The shortest path calculation method according to claim 4 , wherein the shortest path is selected.
前記第1または前記第4のノードである中継ノードの下流に位置する第7のノードを起点とし、該中継ノードの下流に位置せず、最短経路が計算されていない第8のノードを終点とする第4のリンクがあると、前記起点ノードから前記中継ノードまでの前記最短経路を経由して該中継ノードの下流における前記第7のノードまでの経路および前記第4のリンクからなる、前記起点ノードから前記第8のノードに到達するまでの第5の経路と、前記起点ノードから前記計算対象ツリーを経由して前記第8のノードに到達するまでの第6の経路との距離を比較し、
前記第6の経路よりも前記第5の経路の距離が短ければ、前記第5の経路を前記起点ノードから前記第8のノードまでの最短経路の候補経路とし、該候補経路のうち距離が最短なものを選び出す、請求項4または5記載の最短経路計算方法。
A seventh node located downstream of the relay node that is the first or fourth node is a starting point, and an eighth node that is not located downstream of the relay node and for which the shortest path has not been calculated is an end point. The fourth link to be configured includes the path from the origin node to the relay node via the shortest path to the seventh node downstream of the relay node and the fourth link. Compare the distance between the fifth route from the node to the eighth node and the sixth route from the origin node to the eighth node via the computation object tree. ,
If the distance of the fifth route is shorter than the sixth route, the fifth route is set as a candidate route of the shortest route from the origin node to the eighth node, and the shortest distance among the candidate routes is 6. The shortest path calculation method according to claim 4, wherein a shortest path is selected.
請求項からのいずれかの最短経路計算方法をコンピュータに実行させるためのプログラム。 Program for executing one of a shortest path calculating method of claims 4 6 to the computer.
JP2008300973A 2008-11-26 2008-11-26 Shortest path calculation device, shortest path calculation method, and program Expired - Fee Related JP4724219B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008300973A JP4724219B2 (en) 2008-11-26 2008-11-26 Shortest path calculation device, shortest path calculation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008300973A JP4724219B2 (en) 2008-11-26 2008-11-26 Shortest path calculation device, shortest path calculation method, and program

Publications (2)

Publication Number Publication Date
JP2010130173A JP2010130173A (en) 2010-06-10
JP4724219B2 true JP4724219B2 (en) 2011-07-13

Family

ID=42330264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008300973A Expired - Fee Related JP4724219B2 (en) 2008-11-26 2008-11-26 Shortest path calculation device, shortest path calculation method, and program

Country Status (1)

Country Link
JP (1) JP4724219B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347083B (en) * 2021-05-31 2022-09-23 北京字跳网络技术有限公司 Network path determination and switching method, device, equipment, medium and program product

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005109765A1 (en) * 2004-05-10 2005-11-17 Matsushita Electric Industrial Co., Ltd. Wireless node apparatus and multihop wireless lan system
JP2007221428A (en) * 2006-02-16 2007-08-30 Nagoya Institute Of Technology Structuring technique of communications network by means of mobile terminal
JP2007306135A (en) * 2006-05-09 2007-11-22 Ntt Docomo Inc Network buildup method
JP2008092004A (en) * 2006-09-29 2008-04-17 Brother Ind Ltd Disconnection controller, tree type distribution system, node device disconnedction control method, disconnection control program and information processing program
JP2008533809A (en) * 2005-03-10 2008-08-21 トムソン ライセンシング Hybrid mesh routing protocol
JP2008252498A (en) * 2007-03-30 2008-10-16 Brother Ind Ltd Network system, device and program for information processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005109765A1 (en) * 2004-05-10 2005-11-17 Matsushita Electric Industrial Co., Ltd. Wireless node apparatus and multihop wireless lan system
JP2008533809A (en) * 2005-03-10 2008-08-21 トムソン ライセンシング Hybrid mesh routing protocol
JP2007221428A (en) * 2006-02-16 2007-08-30 Nagoya Institute Of Technology Structuring technique of communications network by means of mobile terminal
JP2007306135A (en) * 2006-05-09 2007-11-22 Ntt Docomo Inc Network buildup method
JP2008092004A (en) * 2006-09-29 2008-04-17 Brother Ind Ltd Disconnection controller, tree type distribution system, node device disconnedction control method, disconnection control program and information processing program
JP2008252498A (en) * 2007-03-30 2008-10-16 Brother Ind Ltd Network system, device and program for information processing

Also Published As

Publication number Publication date
JP2010130173A (en) 2010-06-10

Similar Documents

Publication Publication Date Title
JP5391322B2 (en) Route calculation method, program, and calculation device
US10404576B2 (en) Constrained shortest path determination in a network
US8243604B2 (en) Fast computation of alterative packet routes
US9246794B2 (en) Label distribution and route installation in a loop-free routing topology using routing arcs
US7907596B2 (en) Valley-free shortest path method
JP2011007713A (en) Multi-pairs shortest path finding method and system
JP2014103656A (en) Network system and routing method
US20110261702A1 (en) Route setup server, route setup method and route setup program
WO2016086709A1 (en) Method and device for implementing capacity planning
KR20130087535A (en) Lookahead computation of routing information
CN102210128B (en) Path calculation order deciding method and calculating apparatus
US7545756B2 (en) Method and apparatus for constructing a forwarding information structure
JPWO2006059787A1 (en) Overlay link computing device and its computing method and program
JP4724219B2 (en) Shortest path calculation device, shortest path calculation method, and program
JP7322951B2 (en) Routing control device, routing control method, program, and network system
JP5756049B2 (en) Multicast route calculation method and apparatus
JP5459791B2 (en) Delivery route determination apparatus and method
JP4422114B2 (en) Failure effect degree determination method, apparatus and program
JP5001996B2 (en) Route calculation apparatus, route calculation method and program
JP6390091B2 (en) Tunnel management apparatus, communication control apparatus, tunnel management method, and tunnel management program
CN108259357A (en) A kind of route convergent method and device
TW201501491A (en) Network system and routing method
JP2014082650A (en) Management device, bottleneck determination and path control program, and parallel distributed processing system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees