Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5576831B2 - Route calculation method, route calculation device, and program - Google Patents
[go: Go Back, main page]

JP5576831B2 - Route calculation method, route calculation device, and program - Google Patents

Route calculation method, route calculation device, and program Download PDF

Info

Publication number
JP5576831B2
JP5576831B2 JP2011132051A JP2011132051A JP5576831B2 JP 5576831 B2 JP5576831 B2 JP 5576831B2 JP 2011132051 A JP2011132051 A JP 2011132051A JP 2011132051 A JP2011132051 A JP 2011132051A JP 5576831 B2 JP5576831 B2 JP 5576831B2
Authority
JP
Japan
Prior art keywords
node
route
search
total cost
receiving
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
JP2011132051A
Other languages
Japanese (ja)
Other versions
JP2013005079A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011132051A priority Critical patent/JP5576831B2/en
Publication of JP2013005079A publication Critical patent/JP2013005079A/en
Application granted granted Critical
Publication of JP5576831B2 publication Critical patent/JP5576831B2/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 provides a route calculation method and route calculation for giving a cost value related to a distance, a bandwidth, and the like to a network link and calculating a multicast route that minimizes the sum in order to select an optimum route in multicast communication. The present invention relates to a device and a program to be executed by a computer.

近年、デジタル映像配信やグループビデオ会議など、マルチキャスト通信の需要が高まっている。このようなアプリケーションは、データサイズが大きいため、大量のトラフィックがネットワーク上を流れることになる。したがって、ネットワーク管理者は、アプリケーションが満たすべき品質や、データ量に応じて、マルチキャスト経路を決定し、管理する必要がある。リング型やスター型といった、シンプルなネットワークでは、マルチキャスト経路は一意に決まり、ネットワーク管理者は、経路の管理を容易に行うことができる。しかし、近年、ネットワークは複雑化しており、最適な経路を決定するためには、適したマルチキャスト経路計算アルゴリズムが必要である。最適なマルチキャスト経路の決定方法として、ネットワークのリンクにコスト値を与え、マルチキャスト経路全体の合計コストを最小化する方法がある。   In recent years, demand for multicast communication such as digital video distribution and group video conferencing is increasing. Since such an application has a large data size, a large amount of traffic flows on the network. Therefore, the network administrator needs to determine and manage the multicast route according to the quality to be satisfied by the application and the amount of data. In a simple network such as a ring type or a star type, a multicast route is uniquely determined, and the network administrator can easily manage the route. However, in recent years, networks have become complex, and a suitable multicast route calculation algorithm is required to determine an optimum route. As a method for determining an optimum multicast route, there is a method of giving a cost value to a link of a network and minimizing the total cost of the entire multicast route.

合計コストが最小となるマルチキャスト経路を求める問題は、最小シュタイナーツリー問題として、古くから解かれているが、NP(Nondeterministic Polynomial)完全問題であることが知られており、実時間で最適解を見つけることは困難である。   The problem of finding a multicast route with the lowest total cost has been solved for a long time as a minimum Steiner tree problem, but it is known to be an NP (Nondeterministic Polynomial) complete problem, and an optimal solution is found in real time. It is difficult.

近似解を求める手法として、非特許文献1には、送信ノードと受信ノードそれぞれを結ぶフルメッシュの最短路ネットワークを求め、求めたネットワークにおいて、最小全域木を求めることで、低コストマルチキャスト経路を計算する方法が開示されている。   As a method for obtaining an approximate solution, Non-Patent Document 1 calculates a full-mesh shortest path network that connects each of a transmission node and a reception node, and calculates a low cost multicast path by obtaining a minimum spanning tree in the obtained network. A method is disclosed.

また、非特許文献2には、送信ノードからダイクストラ法による最短経路計算を行い、経路探索中に受信ノードが発見されると、その受信ノードを経由して、他の受信ノードに向かう経路を優先的に選択することにより、一経路上に複数の受信ノードを乗せることで、低コストマルチキャスト経路を計算する方法が開示されている。   In Non-Patent Document 2, the shortest path calculation is performed from the transmitting node by the Dijkstra method, and if a receiving node is found during the route search, priority is given to the path toward the other receiving node via the receiving node. A method for calculating a low-cost multicast route by placing a plurality of receiving nodes on one route by selecting the target is disclosed.

Kou. L., G. Markowsky, and L. Berman, "A fast algorithm for Steiner trees," IBM Thomas J Watson Research Center, Acta Information 15, pp.141-145, 1981.Kou. L., G. Markowsky, and L. Berman, "A fast algorithm for Steiner trees," IBM Thomas J Watson Research Center, Acta Information 15, pp. 141-145, 1981. A. Shaikh and K. Shin, "Destination-driven routing for low-cost multicast," IEEE Journal on Selected Areas in Communications, vol.15, No.3, April 1997.A. Shaikh and K. Shin, "Destination-driven routing for low-cost multicast," IEEE Journal on Selected Areas in Communications, vol.15, No.3, April 1997.

非特許文献1に開示された方法では、コストを低く抑えることが可能だが、送信ノードと受信ノードの全ての組み合わせのフルメッシュ経路を計算する必要があり、計算量が多くなってしまう。一方、非特許文献2に開示された方法では、計算量は少ないが、コストは非特許文献1より大きくなる傾向がある。   In the method disclosed in Non-Patent Document 1, it is possible to keep the cost low, but it is necessary to calculate full mesh paths of all combinations of the transmission node and the reception node, which increases the amount of calculation. On the other hand, in the method disclosed in Non-Patent Document 2, the calculation amount is small, but the cost tends to be larger than that in Non-Patent Document 1.

本発明は上述したような技術が有する問題点を解決するためになされたものであり、マルチキャスト経路の合計コストと経路探索の計算量を抑えることを可能にした経路計算方法、経路計算装置、およびコンピュータに実行させるためのプログラムを提供することを目的とする。   The present invention has been made in order to solve the problems of the above-described technology, a route calculation method, a route calculation device, and a route calculation method capable of suppressing the total cost of a multicast route and the amount of route search calculation, and It is an object to provide a program for causing a computer to execute.

上記目的を達成するための本発明の経路計算方法は、
ネットワーク内の各ノードに対応する識別子、隣接するノード同士を接続する経路および各経路のコスト値の情報を含むトポロジ情報、ならびに送信ノードおよび複数の受信ノードのそれぞれの識別子の情報を取得し、
前記複数の受信ノードの経路計算の順位に関して、該複数の受信ノードのそれぞれについて、前記送信ノードから該受信ノードに至るまでの各経路のノード間のコスト値を合計した合計コストのうち最小値である最小合計コストを求め、該最小合計コストが最も小さい受信ノードを最上位の受信ノードとし、該最小合計コストが最も大きい受信ノードを最下位の受信ノードとして前記経路計算の順位を決め、
決定した順位の最上位の受信ノードから最下位の受信ノードまで順に第1の探索ノードに設定し、
設定した第1の探索ノード毎に、該第1の探索ノードの隣接ノードについて、該第1の探索ノードと該隣接ノードの間のコスト値を合計コストとし、該合計コストが最小となる隣接ノードを第2の探索ノードとし、該第2の探索ノードが前記送信ノード、または該第1の探索ノードよりも前記順位が上位の受信ノードにおける経路計算で設定された経路上のノードに一致するまで、前記第1の探索ノードから該第2の探索ノードを経由して該第2の探索ノードの隣接ノードまでの前記合計コストが最小となる隣接ノードを第2の探索ノードに順次更新することで、前記第1の探索ノードから更新された第2の探索ノードを順に結ぶ経路を設定し、
前記第2の探索ノードについて前記隣接ノードの前記合計コストを算出する際、該第2の探索ノードが前記複数の受信ノードのうち、いずれかの受信ノードと一致する場合、該第2の探索ノードまでの前記合計コストをゼロにリセットし、該第2の探索ノードを起点とする経路のコスト値を前記合計コストとし、
前記第2の探索ノードの前記隣接ノードの前記合計コストを求める際、該隣接ノードについて、他のノード経由で算出された合計コストが記憶されている場合、該他のノード経由で算出された合計コストと該第2の探索ノード経由で算出される合計コストとを比較し、小さい方を前記合計コストとして選択する
In order to achieve the above object, the route calculation method of the present invention includes:
Obtaining an identifier corresponding to each node in the network, topology information including information on the path connecting adjacent nodes and the cost value of each path, and information on each identifier of the transmitting node and the plurality of receiving nodes,
Regarding the order of the route calculation of the plurality of receiving nodes, for each of the plurality of receiving nodes, the minimum value among the total costs obtained by summing the cost values between the nodes of each route from the transmitting node to the receiving node. A certain minimum total cost is calculated, the receiving node having the lowest minimum total cost is set as the highest receiving node, the receiving node having the highest minimum total cost is set as the lowest receiving node, and the order of the path calculation is determined.
Set the first search node in order from the highest receiving node of the determined order to the lowest receiving node,
For each set first search node, for the adjacent nodes of the first search node, the cost value between the first search node and the adjacent node is the total cost, and the adjacent node having the minimum total cost Until the second search node coincides with a node on the route set in the route calculation in the transmission node or the higher-order receiving node than the first search node. , By sequentially updating the adjacent node having the minimum total cost from the first search node to the adjacent node of the second search node via the second search node to the second search node. , Setting a route sequentially connecting the second search node updated from the first search node,
When calculating the total cost of the adjacent node for the second search node, if the second search node matches one of the plurality of reception nodes, the second search node The total cost up to zero is reset to zero, and the cost value of the route starting from the second search node is set as the total cost ,
When calculating the total cost of the adjacent node of the second search node, if the total cost calculated via another node is stored for the adjacent node, the total calculated via the other node The cost is compared with the total cost calculated via the second search node, and the smaller one is selected as the total cost .

また、本発明の経路計算装置は、
ネットワーク内の各ノードに対応する識別子、隣接するノード同士を接続する経路および各経路のコスト値の情報を含むトポロジ情報、ならびに送信ノードおよび複数の受信ノードのそれぞれの識別子の情報を保存する記憶手段と、
記複数の受信ノードの経路計算の順位に関して、該複数の受信ノードのそれぞれについて、前記送信ノードから該受信ノードに至るまでの各経路のノード間のコスト値を合計した合計コストのうち最小値である最小合計コストを求め、該最小合計コストが最も小さい受信ノードを最上位の受信ノードとし、該最小合計コストが最も大きい受信ノードを最下位の受信ノードとして前記経路計算の順位を決める計算順序決定手段と、
前記計算順序決定手段が決定した順位の最上位の受信ノードから最下位の受信ノードまで順に第1の探索ノードに設定し、設定した第1の探索ノード毎に、該第1の探索ノードの隣接ノードについて、該第1の探索ノードと該隣接ノードの間のコスト値を合計コストとし、該合計コストが最小となる隣接ノードを第2の探索ノードとし、前記第1の探索ノードから該第2の探索ノードを経由して該第2の探索ノードの隣接ノードまでの前記合計コストが最小となる隣接ノードを第2の探索ノードに順次更新する経路パラメータ計算手段と、
前記第2の探索ノードが前記送信ノード、または該第1の探索ノードよりも前記順位が上位の受信ノードにおける経路計算で設定された経路上のノードに一致すると、前記第1の探索ノードから更新された第2の探索ノードを順に結ぶ経路を設定する経路パラメータ判定手段と、を有し、
前記経路パラメータ計算手段は、
前記第2の探索ノードについて前記隣接ノードの前記合計コストを算出する際、該第2の探索ノードが前記複数の受信ノードのうち、いずれかの受信ノードと一致する場合、該第2の探索ノードまでの前記合計コストをゼロにリセットし、該第2の探索ノードを起点とする経路のコスト値を前記合計コストとし、
前記経路パラメータ計算手段は、
前記第2の探索ノードの前記隣接ノードの前記合計コストを求める際、該隣接ノードについて、他のノード経由で算出された合計コストが記憶されている場合、該他のノード経由で算出された合計コストと該第2の探索ノード経由で算出される合計コストとを比較し、小さい方を前記合計コストとして選択する構成である。
The route calculation apparatus of the present invention
Storage means for storing an identifier corresponding to each node in the network, topology information including information on a path connecting adjacent nodes and a cost value of each path, and information on each identifier of the transmitting node and the plurality of receiving nodes When,
With respect to the path computation of the rank of the previous SL plurality of receiving nodes, for each of said plurality of receiving nodes, the minimum value of the total cost of the total cost value between the nodes of each path from the sending node until the said receiving node A calculation order for determining the order of the route calculation by obtaining the minimum total cost of which is the highest receiving node having the lowest minimum total cost and the lowest receiving node having the lowest minimum total cost. A determination means;
The first search node is set in order from the highest receiving node to the lowest receiving node in the order determined by the calculation order determining means, and the adjacent first search node is set for each set first search node. For a node, a cost value between the first search node and the adjacent node is defined as a total cost, an adjacent node having the minimum total cost is defined as a second search node, and the second search node to the second Path parameter calculation means for sequentially updating the adjacent node having the minimum total cost to the adjacent node of the second search node via the search node to the second search node;
When the second search node matches the node on the route set in the route calculation in the sending node or the higher-order receiving node than the first search node, the second search node is updated from the first search node Route parameter determination means for setting a route connecting the second search nodes in order,
The route parameter calculation means includes:
When calculating the total cost of the adjacent node for the second search node, if the second search node matches one of the plurality of reception nodes, the second search node The total cost up to zero is reset to zero, and the cost value of the route starting from the second search node is set as the total cost ,
The route parameter calculation means includes:
When calculating the total cost of the adjacent node of the second search node, if the total cost calculated via another node is stored for the adjacent node, the total calculated via the other node The cost is compared with the total cost calculated via the second search node, and the smaller one is selected as the total cost .

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

本発明によれば、マルチキャスト通信を行う際、経路探索の計算量を抑制し、経路全体の合計コストを抑制できる。   ADVANTAGE OF THE INVENTION According to this invention, when performing multicast communication, the computational complexity of a route search can be suppressed and the total cost of the whole route can be suppressed.

本発明の一実施形態におけるマルチキャスト経路計算装置の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the multicast route calculation apparatus in one Embodiment of this invention. 本発明の一実施形態におけるマルチキャスト経路計算方法の手順を示すフローチャートである。It is a flowchart which shows the procedure of the multicast route calculation method in one Embodiment of this invention. 第1の実施形態におけるマルチキャスト経路計算装置の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the multicast route calculation apparatus in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法を具体的に説明するためのネットワークトポロジの一構成例を示す図である。It is a figure which shows one structural example of the network topology for demonstrating the multicast route calculation method in 1st Embodiment concretely. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 1st Embodiment. 第2の実施形態におけるマルチキャスト経路計算装置の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the multicast route calculation apparatus in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment. 第2の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。It is a figure for demonstrating the specific example of the multicast route calculation method in 2nd Embodiment.

本発明のマルチキャスト経路計算装置は、ネットワークのリンクに距離や帯域などと関連付けられたコスト値を与え、コスト値の合計が最小となるマルチキャスト経路を計算する装置である。   The multicast route calculation device of the present invention is a device that gives a cost value associated with a distance, a bandwidth, and the like to a link of a network and calculates a multicast route that minimizes the total cost value.

本発明の一実施形態のマルチキャスト経路計算装置の構成を説明する。図1は本発明の一実施形態におけるマルチキャスト経路計算装置の一構成例を示すブロック図である。   A configuration of a multicast route calculation apparatus according to an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a configuration example of a multicast route calculation apparatus according to an embodiment of the present invention.

マルチキャスト経路計算装置100は、要求取得手段1と、計算順序決定手段2と、計算受信ノード決定手段3と、探索ノード決定手段4と、経路パラメータ計算手段5と、経路パラメータ判定手段6と、経路保存手段7と、経路出力手段8とを有する。また、マルチキャスト経路計算装置100は、マルチキャスト経路を計算する過程で情報を保存し、また、計算結果を保存するための記憶手段を備えている。記憶手段は、経路記憶手段11と、訪問済みノード記憶手段12と、ノード情報記憶手段13とを有する。   The multicast route calculation apparatus 100 includes a request acquisition unit 1, a calculation order determination unit 2, a calculation reception node determination unit 3, a search node determination unit 4, a route parameter calculation unit 5, a route parameter determination unit 6, a route The storage unit 7 and the route output unit 8 are included. The multicast route calculation apparatus 100 includes storage means for storing information in the process of calculating the multicast route and for storing the calculation result. The storage means includes route storage means 11, visited node storage means 12, and node information storage means 13.

次に、図1に示したマルチキャスト経路計算装置100による経路計算方法の動作を説明する。図2は本発明の一実施形態におけるマルチキャスト経路計算方法の手順を示すフローチャートである。   Next, the operation of the route calculation method by the multicast route calculation device 100 shown in FIG. 1 will be described. FIG. 2 is a flowchart showing a procedure of a multicast route calculation method according to an embodiment of the present invention.

要求取得手段1が、ネットワーク内の各ノードの接続関係を表した情報を含むトポロジ情報、ならびに送信ノードおよび複数の受信ノードの識別子を受け付けると(ステップ101)、送信ノードの識別子を経路記憶手段11に格納する。続いて、計算順序決定手段2が、受信ノードの経路計算の順序である計算順序を決定する(ステップ102)。計算受信ノード決定手段3が、経路記憶手段11に格納されていない受信ノードの中で、計算順序最上位の受信ノードを決定する(ステップ103)。   When the request acquisition unit 1 receives topology information including information representing the connection relationship of each node in the network and the identifiers of the transmission node and the plurality of reception nodes (step 101), the identifier of the transmission node is stored in the path storage unit 11 To store. Subsequently, the calculation order determination means 2 determines the calculation order which is the order of route calculation of the receiving node (step 102). The calculation reception node determination unit 3 determines the highest reception node in the calculation order among the reception nodes not stored in the path storage unit 11 (step 103).

次に、探索ノード決定手段4が、訪問済みノード記憶手段12を参照し、経路計算が済んだノードである訪問済みノードが訪問済みノード記憶手段12に保存されていない場合、ステップ103で決定された受信ノードを探索ノードとして決定する。一方、訪問済みノードが訪問済みノード記憶手段12に保存されている場合、まだ経路計算が済んでいない(訪問済みとなっていない)ノードの中から、ノード情報記憶手段13を参照して、合計コストが最小のノードを探索ノードとして決定し、探索ノードを訪問済みノード記憶手段12に格納する(ステップ104)。   Next, if the visited node storage unit 12 refers to the visited node storage unit 12 and the visited node, which is the node for which the route calculation has been completed, is not stored in the visited node storage unit 12, it is determined in step 103. The received node is determined as a search node. On the other hand, when the visited node is stored in the visited node storage unit 12, the node information storage unit 13 is referred to from the nodes that have not yet been calculated (not visited). The node with the lowest cost is determined as the search node, and the search node is stored in the visited node storage unit 12 (step 104).

続いて、経路パラメータ計算手段5が、ステップ104で決定された探索ノードの隣接ノードについて、探索ノード経由の経路における合計コストを計算する(ステップ105)。その際、探索ノードが受信ノードである場合、経路パラメータ計算手段5は、探索ノードまでの合計コストをゼロにリセットし、探索ノードと隣接ノードとの間のコスト値を新たな合計コストとする。ステップ105で算出される合計コストを第1の合計コストと称する。なお、本実施形態では、ステップ105において、探索ノードが受信ノードであると、探索ノードまでの合計コストをゼロにリセットする場合で説明するが、その合計コストをゼロにリセットしなくてもよい。   Subsequently, the route parameter calculation means 5 calculates the total cost of the route via the search node for the adjacent node of the search node determined in step 104 (step 105). At that time, when the search node is a receiving node, the route parameter calculation means 5 resets the total cost to the search node to zero, and sets the cost value between the search node and the adjacent node as a new total cost. The total cost calculated in step 105 is referred to as a first total cost. In the present embodiment, a case will be described where the total cost up to the search node is reset to zero when the search node is the receiving node in step 105, but the total cost may not be reset to zero.

経路パラメータ判定手段6は、隣接ノードについて、ノード情報記憶手段13を参照し、合計コストが保存されていない場合、または、他のノード経由の経路で既に計算された合計コストである第2の合計コストが保存されているが、第1の合計コストの方が小さい場合(ステップ106)、第1の合計コストおよび上記探索ノード経由の経路を、ノード情報記憶手段13に格納する(ステップ107)。第2の合計コストの方が第1の合計コストよりも小さい場合には、経路パラメータ判定手段6は、上記隣接ノードについて、ノード情報記憶手段13の情報を更新しない。   The route parameter determination unit 6 refers to the node information storage unit 13 for the adjacent nodes, and when the total cost is not stored, or the second total which is the total cost already calculated in the route via another node If the cost is stored but the first total cost is smaller (step 106), the first total cost and the route through the search node are stored in the node information storage means 13 (step 107). When the second total cost is smaller than the first total cost, the route parameter determination unit 6 does not update the information in the node information storage unit 13 for the adjacent node.

経路記憶手段11を参照し、経路記憶手段11に探索ノードの識別子が含まれていなければ、ステップ104の探索ノード決定ステップからステップ107の経路パラメータ判定ステップまでの処理を繰り返す(ステップ108)。ステップ108で探索ノードが経路記憶手段11に含まれていると、経路保存手段が、ノード情報記憶手段13を参照し、探索ノードから受信ノードまでの経路の情報として、探索ノードから受信ノードまでの各ノードの識別子を順に並べた情報を経路記憶手段11に格納する(ステップ109)。 Referring to the route storage unit 11, if the route storage unit 11 does not include the identifier of the search node, the processing from the search node determination step in step 104 to the route parameter determination step in step 107 is repeated (step 108). When the search node is included in the route storage unit 11 in step 108, the route storage unit 7 refers to the node information storage unit 13 and uses the search node to the reception node as the route information from the search node to the reception node. Information in which the identifiers of the respective nodes are arranged in order is stored in the path storage means 11 (step 109).

経路記憶手段11を参照して、ステップ101で取得した、受信ノードの識別子が経路記憶手段11に全て格納されていなければ、ステップ103の計算受信ノード決定ステップからステップ109の経路保存ステップまでの処理を繰り返す(ステップ110)。ステップ110で、受信ノードの識別子が経路記憶手段11に全て格納されていれば、経路出力手段8は、経路記憶手段11に格納された経路の情報を出力する(ステップ111)。   If all the identifiers of the receiving nodes acquired in step 101 are not stored in the path storing unit 11 with reference to the path storing unit 11, the process from the calculation receiving node determining step in step 103 to the path saving step in step 109 Is repeated (step 110). If all the identifiers of the receiving nodes are stored in the route storage unit 11 in step 110, the route output unit 8 outputs the route information stored in the route storage unit 11 (step 111).

以下に、本発明のマルチキャスト経路計算方法およびマルチキャスト経路計算装置についての実施形態を詳しく説明する。   Hereinafter, embodiments of a multicast route calculation method and a multicast route calculation device according to the present invention will be described in detail.

(第1の実施形態)
本実施形態のマルチキャスト経路計算装置の構成を説明する。図3は本実施形態におけるマルチキャスト経路計算装置の一構成例を示すブロック図である。
(First embodiment)
The configuration of the multicast route calculation apparatus of this embodiment will be described. FIG. 3 is a block diagram illustrating a configuration example of the multicast route calculation apparatus according to the present embodiment.

図3に示すように、マルチキャスト経路計算装置200は、制御部20と、記憶部30とを有する。制御部20は、要求取得部21と、計算順序決定部22と、初期化部23と、計算受信ノード決定部24と、探索ノード決定部25と、経路パラメータ計算部26と、経路パラメータ判定部27と、経路保存部28と、経路出力部29とを有する。記憶部30は、トポロジ情報記憶部31と、送信・受信ノード記憶部32と、経路記憶部33と、訪問済みノード記憶部34と、ノード情報記憶部35とを有する。   As illustrated in FIG. 3, the multicast route calculation apparatus 200 includes a control unit 20 and a storage unit 30. The control unit 20 includes a request acquisition unit 21, a calculation order determination unit 22, an initialization unit 23, a calculation reception node determination unit 24, a search node determination unit 25, a route parameter calculation unit 26, and a route parameter determination unit. 27, a route storage unit 28, and a route output unit 29. The storage unit 30 includes a topology information storage unit 31, a transmission / reception node storage unit 32, a route storage unit 33, a visited node storage unit 34, and a node information storage unit 35.

要求取得部21は、外部からトポロジ情報と、ネットワーク内のノードのうち送信ノードおよび複数の受信ノードのそれぞれを特定するための情報とが入力装置(不図示)を介して入力され、または、これらの情報を記憶装置(不図示)から読み出す。ノードを特定するための情報とは、ネットワーク内のノード毎に異なる識別子である。トポロジ情報には、ネットワーク内に配置されている全てのノードの識別子の情報と、隣接するノード同士を接続する経路の情報と、各経路のコスト値の情報とが含まれている。   The request acquisition unit 21 receives topology information from outside and information for specifying each of the transmission node and the plurality of reception nodes among the nodes in the network via an input device (not shown), or these Is read from a storage device (not shown). The information for specifying a node is an identifier that is different for each node in the network. The topology information includes information on identifiers of all nodes arranged in the network, information on paths connecting adjacent nodes, and information on cost values of each path.

要求取得部21は、上記のようにして、トポロジ情報と、送信ノードおよび受信ノードのそれぞれの識別子の情報とを取得すると、トポロジ情報をトポロジ情報記憶部31に格納し、送信ノードおよび受信ノードのそれぞれの識別子を送信・受信ノード記憶部32に格納し、送信ノードの識別子を経路記憶部33に格納する。   When the request acquisition unit 21 acquires the topology information and the identifier information of each of the transmission node and the reception node as described above, the request acquisition unit 21 stores the topology information in the topology information storage unit 31 and stores the topology information in the transmission node and the reception node. Each identifier is stored in the transmission / reception node storage unit 32, and the identifier of the transmission node is stored in the path storage unit 33.

計算順序決定部22は、送信・受信ノード記憶部32を参照し、受信ノードの計算順序を決定し、決定した計算順序を送信・受信ノード記憶部32に格納する。   The calculation order determination unit 22 refers to the transmission / reception node storage unit 32, determines the calculation order of the reception nodes, and stores the determined calculation order in the transmission / reception node storage unit 32.

初期化部23は、訪問済みノード記憶部34およびノード情報記憶部35を初期化する。計算受信ノード決定部24は、送信・受信ノード記憶部32および経路記憶部33を参照し、経路記憶部33に格納されていない受信ノードの中で計算順序最上位の受信ノードを決定する。   The initialization unit 23 initializes the visited node storage unit 34 and the node information storage unit 35. The calculation reception node determination unit 24 refers to the transmission / reception node storage unit 32 and the path storage unit 33 and determines the highest reception node in the calculation order among the reception nodes not stored in the path storage unit 33.

探索ノード決定部25は、訪問済みノード記憶部34およびノード情報記憶部35を参照し、探索ノードを決定し、決定した探索ノードを訪問済みノード記憶部34に格納する。   The search node determination unit 25 refers to the visited node storage unit 34 and the node information storage unit 35 to determine a search node, and stores the determined search node in the visited node storage unit 34.

経路パラメータ計算部26は、トポロジ情報記憶部31を参照し、上記探索ノードの隣接ノードについて、探索ノード経由の経路における第1の合計コストを計算する。   The route parameter calculation unit 26 refers to the topology information storage unit 31 and calculates the first total cost in the route via the search node for the adjacent nodes of the search node.

経路パラメータ判定部27は、ノード情報記憶部35を参照し、上記隣接ノードについて、既に算出された第2の合計コストがノード情報記憶部35に格納されていると、第2の合計コストと第1の合計コストとを比較し、合計コストの小さい方を残すように、ノード情報記憶部35の情報を更新する。ノード情報記憶部35に上記隣接ノードの第2の合計コストが格納されていない場合、経路パラメータ判定部27は、経路パラメータ計算部26が算出した第1の合計コストを隣接ノードの識別子と組にしてノード情報記憶部35に格納する。   The route parameter determination unit 27 refers to the node information storage unit 35, and when the already calculated second total cost is stored in the node information storage unit 35 for the adjacent node, the second total cost and the second total cost are calculated. The total cost of 1 is compared, and the information in the node information storage unit 35 is updated so that the smaller total cost remains. When the second total cost of the adjacent node is not stored in the node information storage unit 35, the route parameter determination unit 27 sets the first total cost calculated by the route parameter calculation unit 26 together with the identifier of the adjacent node. And stored in the node information storage unit 35.

経路保存部28は、ノード情報記憶部35を参照し、探索ノードから受信ノードまでの経路を、ノードを経路順に並べた情報として、経路記憶部33に保存する。経路出力部29は、経路記憶部33に格納された経路の情報を出力する。   The route storage unit 28 refers to the node information storage unit 35 and stores the route from the search node to the reception node in the route storage unit 33 as information in which the nodes are arranged in the route order. The route output unit 29 outputs route information stored in the route storage unit 33.

なお、制御部20には、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)と、プログラムを格納するためのメモリ(不図示)とが設けられている。CPUがプログラムを実行することで、要求取得部21、計算順序決定部22、初期化部23、計算受信ノード決定部24、探索ノード決定部25、経路パラメータ計算部26、経路パラメータ判定部27、経路保存部28および経路出力部29がマルチキャスト経路計算装置200に仮想的に構成される。   The control unit 20 is provided with a CPU (Central Processing Unit) (not shown) for executing processing according to a program and a memory (not shown) for storing the program. When the CPU executes the program, the request acquisition unit 21, the calculation order determination unit 22, the initialization unit 23, the calculation reception node determination unit 24, the search node determination unit 25, the route parameter calculation unit 26, the route parameter determination unit 27, A route storage unit 28 and a route output unit 29 are virtually configured in the multicast route calculation device 200.

次に、本実施形態のマルチキャスト経路計算装置200の動作を説明する。図4および図5は本実施形態におけるマルチキャスト経路計算方法の動作手順を示すフローチャートである。   Next, the operation of the multicast route calculation apparatus 200 of this embodiment will be described. 4 and 5 are flowcharts showing the operation procedure of the multicast route calculation method in this embodiment.

まず、ステップ201に示すように、要求取得部21がネットワークの各ノードの接続関係を表したトポロジ情報と、送信ノードおよび受信ノードの識別子を取得する。トポロジ情報には、各ノードの接続関係の情報の他に、各リンクのコスト値の情報が含まれている。また、受信ノードは、ここでは、複数のノードとする。また、要求取得部21は、取得したトポロジ情報をトポロジ情報記憶部31に格納し、送信ノードと受信ノードの識別子を送信・受信ノード記憶部32に保存する。   First, as shown in step 201, the request acquisition unit 21 acquires topology information representing a connection relationship between nodes of the network and identifiers of a transmission node and a reception node. The topology information includes information on the cost value of each link in addition to the information on the connection relationship of each node. Here, the receiving node is assumed to be a plurality of nodes. Further, the request acquisition unit 21 stores the acquired topology information in the topology information storage unit 31 and stores the identifiers of the transmission node and the reception node in the transmission / reception node storage unit 32.

次に、要求取得部21が、送信ノードの識別子を経路記憶部33に保存する(ステップ202)。次に、計算順序決定部22が、送信ノードから各受信ノードまでの最小合計コストを計算する(ステップ203)。   Next, the request acquisition unit 21 stores the identifier of the transmission node in the path storage unit 33 (step 202). Next, the calculation order determination unit 22 calculates the minimum total cost from the transmission node to each reception node (step 203).

次に、計算順序決定部22が、送信ノードから各受信ノードまでの最小合計コストを比較し、最小合計コストが最も小さい受信ノードを計算順序最上位、最も大きい受信ノードを最下位とし、計算順序を送信・受信ノード記憶部32の各受信ノードに対応して保存する(ステップ204)。次に、初期化部23が、訪問済みノード記憶部34とノード情報記憶部の情報を削除する(ステップ205)。ただし、最初はデータが格納されていないため、この処理を行う必要はない。   Next, the calculation order determination unit 22 compares the minimum total cost from the transmission node to each reception node, sets the reception node with the lowest minimum total cost as the highest in the calculation order, and sets the highest reception node as the lowest. Are stored corresponding to each receiving node in the transmitting / receiving node storage unit 32 (step 204). Next, the initialization unit 23 deletes the information in the visited node storage unit 34 and the node information storage unit (step 205). However, since no data is stored at first, it is not necessary to perform this process.

次に、計算受信ノード決定部24が、経路記憶部33に保存されていない受信ノードの中で、計算順序最上位の受信ノードを決定する(ステップ206)。ただし、最初は、経路記憶部33には、送信ノードの情報しか保存されていないため、計算順序最上位の受信ノードが決定される。   Next, the calculation reception node determination unit 24 determines the highest reception node in the calculation order among the reception nodes that are not stored in the path storage unit 33 (step 206). However, since only the information on the transmission node is stored in the path storage unit 33 at the beginning, the reception node at the top in the calculation order is determined.

次に、探索ノード決定部25が、訪問済みノード記憶部34に何らかのノードが保存さているかを判定する(ステップ207)。訪問済みノード記憶部34に何も保存されていない場合、探索ノード決定25は、ステップ206で決定された受信ノードを探索ノードとして決定し、この受信ノードを訪問済みノード記憶部34に保存する(ステップ208)。ここで設定される受信ノードが第1の探索ノードに相当する。   Next, the search node determination unit 25 determines whether any node is stored in the visited node storage unit 34 (step 207). When nothing is stored in the visited node storage unit 34, the search node determination 25 determines the reception node determined in step 206 as a search node, and stores this reception node in the visited node storage unit 34 ( Step 208). The receiving node set here corresponds to the first search node.

一方、ステップ207の判定で訪問済みノード記憶部34に何らかのノードが保存されている場合、探索ノード決定部25は、まだ訪問済みとなっていないノードについて、ノード情報記憶部35に保存されているノードに対する合計コストと経路を参照する。そして、探索ノード決定部25は、合計コストが最小のノードを1つ選び、選んだノードを探索ノードとして決定し、訪問済みノード記憶部34に保存する(ステップ209)。ここで設定される探索ノードは第2の探索ノードに相当し、第2の探索ノードは、送信ノードまたは上記計算順序が上位の受信ノードにおける経路計算で設定された経路上のノードに一致するまで更新される。   On the other hand, if any node is stored in the visited node storage unit 34 in the determination in step 207, the search node determination unit 25 stores the node that has not been visited yet in the node information storage unit 35. Refers to the total cost and path for the node. Then, the search node determination unit 25 selects one node having the minimum total cost, determines the selected node as a search node, and stores it in the visited node storage unit 34 (step 209). The search node set here corresponds to the second search node, and the second search node is the same as the transmission node or a node on the route set in the route calculation in the upper receiving node in the above calculation order. Updated.

次に、経路パラメータ計算部26が、探索ノードvの隣接ノードuについて、探索ノード経由の合計コストC1(第1の合計コストに相当)を計算する(ステップ210)。合計コストC1は、
C1=Id*C(v)+w(v,u)・・・(式1)
で求まる。
Next, the route parameter calculation unit 26 calculates the total cost C1 (corresponding to the first total cost) via the search node for the adjacent node u of the search node v (step 210). Total cost C1 is
C1 = Id * C (v) + w (v, u) (Formula 1)
It is obtained by

(式1)において、Idは、探索ノードが受信ノードの1つであれば0であり、そうでなければ1である。C(v)は、探索ノードvの合計コストである。w(v,u)は、探索ノードと隣接ノード間のリンクのコスト値である。C(v)は、ノード情報記憶部35に保存されている値を用いる。ノード情報記憶部35に探索ノードvが保存されていない場合、C(v)は0である。   In (Expression 1), Id is 0 if the search node is one of the receiving nodes, and 1 otherwise. C (v) is the total cost of the search node v. w (v, u) is the cost value of the link between the search node and the adjacent node. A value stored in the node information storage unit 35 is used as C (v). When the search node v is not stored in the node information storage unit 35, C (v) is 0.

次に、経路パラメータ判定部27が、ノード情報記憶部35を参照し、隣接ノードuに対して、他のノード経由の合計コストC(第2の合計コストに相当)が既に保存されているかどうかを判定する(ステップ211)。合計コストCが保存されていない場合、経路パラメータ判定部27は、ノード情報記憶部35の隣接ノードuに、C1と、経路を示す情報として探索ノードの識別子とを一緒にして保存する。ステップ211の判定で既にCが保存されている場合、経路パラメータ判定部27は、C1<Cかどうかを判定する(ステップ212)。C1<Cである場合、経路パラメータ判定部27は、ノード情報記憶部35の隣接ノードuに、C1と経路(探索ノード)の識別子の情報を上書きする(ステップ213)。   Next, the route parameter determination unit 27 refers to the node information storage unit 35, and whether or not the total cost C (corresponding to the second total cost) via other nodes has already been stored for the adjacent node u. Is determined (step 211). When the total cost C is not stored, the path parameter determination unit 27 stores C1 and the identifier of the search node as information indicating the path in the adjacent node u of the node information storage unit 35. If C is already stored in the determination in step 211, the path parameter determination unit 27 determines whether C1 <C (step 212). When C1 <C, the route parameter determination unit 27 overwrites the adjacent node u of the node information storage unit 35 with the information on the identifiers of C1 and the route (search node) (step 213).

経路パラメータ判定部27は、探索ノードに対する隣接ノード全てに対し、C1の計算が行われるまで、ステップ210〜ステップ213の処理を繰り返す(ステップ214)。ステップ214で、C1の計算を行っていない隣接ノードがなければ、経路パラメータ判定部27は、探索ノードが経路記憶部33に保存されているか否かを判定し(ステップ215)、探索ノードが経路記憶部33に保存されていなければ、ステップ207〜ステップ214の処理を繰り返す。   The route parameter determination unit 27 repeats the processing from Step 210 to Step 213 until C1 is calculated for all the adjacent nodes to the search node (Step 214). If there is no adjacent node for which C1 is not calculated in step 214, the route parameter determination unit 27 determines whether or not the search node is stored in the route storage unit 33 (step 215). If not stored in the storage unit 33, the processing from step 207 to step 214 is repeated.

ステップ215で探索ノードが経路記憶部33に保存されているノードであれば、経路保存部28は、ノード情報記憶部35を参照し、探索ノードから受信ノードまでの経路を、ノードを経路順に並べた情報として、経路記憶部33に保存する。つまり、経路保存部28は、経路情報として、探索ノードから受信ノードまでの経路における各ノードの識別子を経路順に並べた情報を、経路記憶部33に保存する。この経路は、ノード情報記憶部35の各ノードに保存されている経路(ノード)をたどることで得られる。   If the search node is a node stored in the route storage unit 33 in step 215, the route storage unit 28 refers to the node information storage unit 35 and arranges the route from the search node to the reception node in the order of the nodes. Information is stored in the route storage unit 33. That is, the route storage unit 28 stores, in the route storage unit 33, information obtained by arranging the identifiers of the nodes in the route from the search node to the reception node in the route order as route information. This route is obtained by following a route (node) stored in each node of the node information storage unit 35.

このようにして、ステップ201で取得した識別子の全ての受信ノードの経路の情報が、経路記憶部33に保存されるまで、初期化部23が実行するステップ205〜経路保存部28が実行するステップ216までの処理を繰り返す(ステップ217)。   In this way, steps 205 to 5 that are executed by the initialization unit 23 and steps that are executed by the route storage unit 28 until the information on the routes of all the receiving nodes having the identifier acquired in step 201 are stored in the route storage unit 33. The processing up to 216 is repeated (step 217).

全ての受信ノードの経路の情報が経路記憶部33に保存されたら、最後に、経路出力部29が、経路記憶部33に保存されている経路の情報を出力することで(ステップ218)、処理が終了する。   When the route information of all the receiving nodes is stored in the route storage unit 33, the route output unit 29 finally outputs the information of the route stored in the route storage unit 33 (step 218). Ends.

次に、上述した本実施形態のマルチキャスト経路計算方法の具体例を、図6を参照して説明する。図6はネットワークトポロジの一構成例を示す図である。   Next, a specific example of the multicast route calculation method of the present embodiment described above will be described with reference to FIG. FIG. 6 is a diagram illustrating a configuration example of a network topology.

図6に示す例では、ノードの識別子を1〜16のノード番号としている。ノード間のリンク上の数値はコスト値を表している。   In the example illustrated in FIG. 6, the node identifiers are the node numbers 1 to 16. The numerical value on the link between nodes represents the cost value.

はじめに、要求取得部21がトポロジ情報を外部から取得する。各ノードの接続関係、各リンクのコスト値は、図6に示すとおりである。次に、要求取得部21は、送信ノードと複数の受信ノードの識別子を外部から取得する。本具体例では、送信ノードを図6に示すノード1とする。また、受信ノードの数は5個とし、受信ノードAを図6に示すノード9とし、受信ノードBをノード10とし、受信ノードCをノード13とし、受信ノードDをノード12とし、受信ノードEをノード15とする。要求取得部21は、トポロジ情報をトポロジ情報記憶部31に保存し、送信ノードと受信ノードA〜Eの識別子を送信・受信ノード記憶部32に保存する。さらに、要求取得部21は、送信ノードの識別子を経路記憶部33に保存する。   First, the request acquisition unit 21 acquires topology information from the outside. The connection relationship of each node and the cost value of each link are as shown in FIG. Next, the request acquisition unit 21 acquires the identifiers of the transmission node and the plurality of reception nodes from the outside. In this specific example, the transmission node is assumed to be node 1 shown in FIG. Further, the number of receiving nodes is 5, receiving node A is node 9 shown in FIG. 6, receiving node B is node 10, receiving node C is node 13, receiving node D is node 12, and receiving node E Is a node 15. The request acquisition unit 21 stores topology information in the topology information storage unit 31 and stores identifiers of transmission nodes and reception nodes A to E in the transmission / reception node storage unit 32. Further, the request acquisition unit 21 stores the identifier of the transmission node in the route storage unit 33.

次に、計算順序決定部22が、送信ノードから各受信ノードまでの最小合計コストを計算する。本具体例において、各受信ノードの最小合計コストは、受信ノードAが3、受信ノードBが5、受信ノードCが6、受信ノードDが9、受信ノードEが10となる。計算順序決定部22は、これらのコスト値を比較し、最小合計コストが小さい方から順に、以下に示すように、計算順序を決定する。
1位:受信ノードA
2位:受信ノードB
3位:受信ノードC
4位:受信ノードD
5位:受信ノードE
計算順序決定部22は、これらの最小合計コストと順位の情報を送信・受信ノード記憶部32における、それぞれの受信ノードの識別子の情報に関連付けて保存する。
Next, the calculation order determination unit 22 calculates the minimum total cost from the transmission node to each reception node. In this specific example, the minimum total cost of each receiving node is 3 for receiving node A, 5 for receiving node B, 6 for receiving node C, 9 for receiving node D, and 10 for receiving node E. The calculation order determination unit 22 compares these cost values, and determines the calculation order as shown below in order from the smallest total cost.
1st place: Receiving node A
Second place: Receiving Node B
3rd place: Receiving node C
4th: Receiving node D
5th: Receiving node E
The calculation order determination unit 22 stores these minimum total cost and rank information in association with the identifier information of each reception node in the transmission / reception node storage unit 32.

図7Aから図9Bは、第1の実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。図7Aから図8Aに示す黒三角印は探索ノードを示し、図7Aから図9Bにおいて、ノードの脇に記述された四角の中のCとRの情報は、ノード情報記憶部35に保存される情報を示す。   7A to 9B are diagrams for explaining a specific example of the multicast route calculation method according to the first embodiment. Black triangles shown in FIG. 7A to FIG. 8A indicate search nodes. In FIG. 7A to FIG. 9B, information on C and R in squares written beside the nodes is stored in the node information storage unit 35. Indicates information.

初期化部23が、訪問済みノード記憶部34とノード情報記憶部35の情報を削除する。ただし、最初はデータが格納されていないため、この処理を行う必要はない。次に、計算受信ノード決定部24が、経路記憶部33に保存されていない受信ノードの中で、計算順序最上位の受信ノードを決定する。ただし、最初は、経路記憶部33には、送信ノードの識別子しか保存されていないため、計算順序最上位の受信ノードが決定される。本具体例では、受信ノードAが選択される。   The initialization unit 23 deletes the information in the visited node storage unit 34 and the node information storage unit 35. However, since no data is stored at first, it is not necessary to perform this process. Next, the calculation reception node determination unit 24 determines the highest reception node in the calculation order among the reception nodes that are not stored in the path storage unit 33. However, since only the identifier of the transmission node is stored in the path storage unit 33 at the beginning, the highest reception node in the calculation order is determined. In this specific example, the receiving node A is selected.

次に、探索ノード決定部25が、訪問済みノード記憶部34に何らかのノードが保存さているかを判定する。最初は何も保存されていないため、ステップ206で決定された受信ノードAを探索ノードとして決定し、受信ノードAを訪問済みノード記憶部34に保存する(図7A)。   Next, the search node determination unit 25 determines whether any node is stored in the visited node storage unit 34. Since nothing is initially stored, the receiving node A determined in step 206 is determined as a search node, and the receiving node A is stored in the visited node storage unit 34 (FIG. 7A).

次に、経路パラメータ計算部26が、探索ノードvの隣接ノードuについて、探索ノード経由の合計コストC1を計算する。ここでは、ノード9(受信ノードA)が探索ノードvに相当し、ノード5、ノード6、ノード10およびノード13が隣接ノードuに相当する。   Next, the route parameter calculation unit 26 calculates the total cost C1 via the search node for the adjacent node u of the search node v. Here, the node 9 (receiving node A) corresponds to the search node v, and the node 5, the node 6, the node 10, and the node 13 correspond to the adjacent node u.

さらに、経路パラメータ判定部27が、ノード情報記憶部35を参照し、隣接ノードuに対して、他のノード経由の合計コストCが既に保存されているかどうかを判定する。最初は、合計コストCが保存されていないため、ノード情報記憶部35の隣接ノードuに、C1および、経路として、探索ノードの識別子を保存する(図5に示したステップ213)。経路パラメータ計算と、経路パラメータ判定の処理を全ての隣接ノードに対して行う(図7B)。図7Bにおいて、合計コストをC、経路の目印として探索ノードの識別子をRで示す。また、図7Aから図9Bの各図において、経路記憶部33および訪問済みノード記憶部34のそれぞれに保存される、ノードの識別子を破線枠の中に示す。   Further, the route parameter determination unit 27 refers to the node information storage unit 35 and determines whether the total cost C via other nodes has already been stored for the adjacent node u. Initially, since the total cost C is not stored, C1 and the identifier of the search node are stored as a route in the adjacent node u of the node information storage unit 35 (step 213 shown in FIG. 5). Route parameter calculation and route parameter determination processing are performed for all adjacent nodes (FIG. 7B). In FIG. 7B, the total cost is indicated by C, and the identifier of the search node is indicated by R as a route mark. In each of FIGS. 7A to 9B, the identifiers of the nodes stored in the route storage unit 33 and the visited node storage unit 34 are shown in broken line frames.

続いて、図5に示したステップ215において、探索ノードが経路記憶部33に保存されていないので、探索ノード決定の処理(図5に示したステップ207)に戻る。   Subsequently, in step 215 shown in FIG. 5, since the search node is not stored in the route storage unit 33, the process returns to the search node determination process (step 207 shown in FIG. 5).

探索ノード決定部25が、訪問済みノード記憶部34を参照し、ノードが保存されているため、訪問済みとなっていないノードについて、ノード情報記憶部35に保存されているノードに対する合計コストと経路を参照し、合計コストが最小のノードを1つ選ぶ。ここでは、合計コストが2のノード5が探索ノードとして選択され、訪問済みノード記憶部34に保存される(図7C)。   Since the search node determination unit 25 refers to the visited node storage unit 34 and the node is stored, the total cost and path for the node stored in the node information storage unit 35 for the node that has not been visited. And select one node with the lowest total cost. Here, the node 5 having a total cost of 2 is selected as a search node and stored in the visited node storage unit 34 (FIG. 7C).

次に、経路パラメータ計算部26が、探索ノードvの隣接ノードuについて、探索ノード経由の合計コストC1を計算する。ここでは、ノード5が探索ノードvに相当し、ノード1、ノード2、ノード6およびノード9が隣接ノードuに相当する。   Next, the route parameter calculation unit 26 calculates the total cost C1 via the search node for the adjacent node u of the search node v. Here, the node 5 corresponds to the search node v, and the node 1, the node 2, the node 6, and the node 9 correspond to the adjacent node u.

さらに、経路パラメータ判定部27が、ノード情報記憶部35を参照し、隣接ノードuに対して、他のノード経由の合計コストCが既に保存されているかどうかを判定する。保存されていないノードには、ノード情報記憶部35の隣接ノードuに、C1および、経路として、探索ノードを保存する。一方、既に、Cが保存されているノードにおいては、C1<Cの場合、C1を新たなCとして、また、探索ノードを経路として保存する。経路パラメータ計算と、経路パラメータ判定の処理を全ての隣接ノードに対して行う(図7D)。図7Dに示すように、ノード1およびノード2については、C1と経路として探索ノード(ノード5)とが保存され、ノード6およびノード9については情報が更新されなかった。   Further, the route parameter determination unit 27 refers to the node information storage unit 35 and determines whether the total cost C via other nodes has already been stored for the adjacent node u. For nodes that have not been saved, the search node is saved as C1 and a route in the adjacent node u of the node information storage unit 35. On the other hand, in a node where C is already stored, if C1 <C, C1 is stored as a new C, and a search node is stored as a route. Route parameter calculation and route parameter determination processing are performed for all adjacent nodes (FIG. 7D). As shown in FIG. 7D, for node 1 and node 2, C1 and the search node (node 5) are stored as a route, and information about node 6 and node 9 was not updated.

続いて、図5に示したステップ215において、探索ノードが経路記憶部33に保存されていないので、探索ノード決定の処理(図5に示したステップ207)に戻る。   Subsequently, in step 215 shown in FIG. 5, since the search node is not stored in the route storage unit 33, the process returns to the search node determination process (step 207 shown in FIG. 5).

探索ノード決定部25が、訪問済みノード記憶部34を参照し、ノードが保存されているため、訪問済みとなっていないノードについて、ノード情報記憶部35に保存されているノードに対する合計コストと経路を参照し、合計コストが最小のノードを1つ選ぶ。ここでは、合計コストが3のノード1が探索ノードとして選択され、訪問済みノード記憶部34に保存される(図8A)。ここで、合計コスト3のノードが複数あるが、そのような場合、ノード番号が最も小さいノードを選択することとした。   Since the search node determination unit 25 refers to the visited node storage unit 34 and the node is stored, the total cost and path for the node stored in the node information storage unit 35 for the node that has not been visited. And select one node with the lowest total cost. Here, node 1 with a total cost of 3 is selected as a search node and stored in visited node storage unit 34 (FIG. 8A). Here, there are a plurality of nodes having a total cost of 3. In such a case, the node having the smallest node number is selected.

ノード1の識別子が経路記憶部33に保存されているため、図4および図5に示したステップ207からステップ215までの繰り返し処理が終了し、経路記憶部33に探索ノードから受信ノードAまでの経路の情報が保存される(図8B)。ここで、探索ノードから受信ノードAまでの経路の情報は、具体的には、送信ノード1、ノード5およびノード9の識別子が順に並んだ情報である。図8Bでは、保存された経路の情報に相当する経路を太線で示している。   Since the identifier of the node 1 is stored in the path storage unit 33, the iterative processing from step 207 to step 215 shown in FIGS. 4 and 5 is completed, and the path storage unit 33 stores information from the search node to the reception node A. The route information is saved (FIG. 8B). Here, the information on the route from the search node to the reception node A is specifically information in which identifiers of the transmission node 1, the node 5, and the node 9 are arranged in order. In FIG. 8B, a route corresponding to the stored route information is indicated by a bold line.

経路記憶部33には全ての受信ノードの識別子が保存されていないため、初期化部23の処理(図4に示したステップ205)に戻る。初期化部23は、訪問済みノード記憶部34とノード情報記憶部35の情報を削除する(図8C)。   Since the identifiers of all receiving nodes are not stored in the path storage unit 33, the process returns to the processing of the initialization unit 23 (step 205 shown in FIG. 4). The initialization unit 23 deletes the information in the visited node storage unit 34 and the node information storage unit 35 (FIG. 8C).

次に、計算受信ノード決定部24が、送信・受信ノード記憶部32を参照し、次の計算対象の受信ノードとして、受信ノードBを選択する。   Next, the calculation reception node determination unit 24 refers to the transmission / reception node storage unit 32 and selects the reception node B as the next calculation target reception node.

受信ノードBについて、探索ノード決定、経路パラメータ計算、および経路パラメータ判定の処理を、受信ノードAと同様に繰り返すと、探索ノードがノード10、ノード6、ノード11、ノード13、ノード9の順に決定される。   For the receiving node B, when the search node determination, route parameter calculation, and route parameter determination processing are repeated in the same manner as the reception node A, the search node is determined in the order of the node 10, the node 6, the node 11, the node 13, and the node 9. Is done.

ノード9の識別子が経路記憶部33に保存されているため、図4および図5に示したステップ207からステップ215までの繰り返し処理が終了し、経路記憶部33に探索ノードから受信ノードBまでの経路が保存される(図8D)。ここで、ノード13が探索ノードとして決定されたとき、経路パラメータ計算部26において、C1の計算式(式1)では、Idが0にセットされることに注意が必要である。また、このとき、探索ノードに相当するノード9から受信ノードBに相当するノード10までの経路情報として、ノード9、ノード13およびノード10が順に並んだ情報が経路記憶部33に保存される。つまり、受信ノードCの識別子が経路記憶部33に保存される。   Since the identifier of the node 9 is stored in the path storage unit 33, the iterative process from step 207 to step 215 shown in FIGS. 4 and 5 is completed, and the path storage unit 33 stores information from the search node to the reception node B. The route is saved (FIG. 8D). Here, when the node 13 is determined as a search node, it should be noted that the Id is set to 0 in the calculation formula (Formula 1) of C1 in the route parameter calculation unit 26. Further, at this time, as the route information from the node 9 corresponding to the search node to the node 10 corresponding to the receiving node B, information in which the node 9, the node 13, and the node 10 are arranged in order is stored in the route storage unit 33. That is, the identifier of the receiving node C is stored in the route storage unit 33.

経路記憶部33に全ての受信ノードの識別子が保存されていないため、初期化部23の処理(図4に示したステップ205)に戻る。初期化部23は、訪問済みノード記憶部34とノード情報記憶部35の情報を削除する。次に、計算受信ノード決定部24が、送信・受信ノード記憶部32を参照し、次の計算対象の受信ノードとして、受信ノードDを選択する。1つ前の順位である受信ノードCは、受信ノードBからの経路に含まれているため、受信ノードCからの経路探索は行われない。   Since the identifiers of all receiving nodes are not stored in the path storage unit 33, the process returns to the processing of the initialization unit 23 (step 205 shown in FIG. 4). The initialization unit 23 deletes the information in the visited node storage unit 34 and the node information storage unit 35. Next, the calculation reception node determination unit 24 refers to the transmission / reception node storage unit 32 and selects the reception node D as the next calculation target reception node. Since the receiving node C which is the previous rank is included in the route from the receiving node B, the route search from the receiving node C is not performed.

受信ノードDについて、探索ノード決定、経路パラメータ計算、および経路パラメータ判定の処理を、受信ノードAと同様に繰り返すと、探索ノードがノード12、ノード11、ノード15、ノード14、ノード16、ノード7、ノード10の順に決定される。ここで、ノード15が探索ノードとして決定されたとき、経路パラメータ計算部26において、C1の計算式(式1)では、Idが0にセットされることに注意が必要である。   For the receiving node D, when the search node determination, the route parameter calculation, and the route parameter determination process are repeated in the same manner as the receiving node A, the search node is the node 12, the node 11, the node 15, the node 14, the node 16, and the node 7 , Node 10 in this order. Here, when the node 15 is determined as the search node, it should be noted that Id is set to 0 in the C1 calculation formula (Formula 1) in the route parameter calculation unit 26.

ノード10の識別子が経路記憶部33に保存されているため、図4および図5に示したステップ207からステップ215までの繰り返し処理が終了し、経路記憶部33に探索ノードから受信ノードDまでの経路が保存される(図9A)。   Since the identifier of the node 10 is stored in the path storage unit 33, the iterative process from step 207 to step 215 shown in FIGS. 4 and 5 is completed, and the path storage unit 33 stores information from the search node to the reception node D. The route is saved (FIG. 9A).

経路記憶部33に全ての受信ノードの識別子が保存されていないため、初期化部23の処理(図4に示したステップ205)に戻る。初期化部23は、訪問済みノード記憶部34とノード情報記憶部35の情報を削除する。次に、計算受信ノード決定部24が、送信・受信ノード記憶部32を参照し、次の計算対象の受信ノードとして、受信ノードEを選択する。   Since the identifiers of all receiving nodes are not stored in the path storage unit 33, the process returns to the processing of the initialization unit 23 (step 205 shown in FIG. 4). The initialization unit 23 deletes the information in the visited node storage unit 34 and the node information storage unit 35. Next, the calculation reception node determination unit 24 refers to the transmission / reception node storage unit 32 and selects the reception node E as the next calculation target reception node.

受信ノードEについて、探索ノード決定、経路パラメータ計算、および経路パラメータ判定の処理を、受信ノードAと同様に繰り返すと、探索ノードがノード15、ノード14、ノード16、ノード12の順に決定される。   For the receiving node E, when the search node determination, the route parameter calculation, and the route parameter determination process are repeated in the same manner as the reception node A, the search nodes are determined in the order of the node 15, the node 14, the node 16, and the node 12.

ノード12の識別子が経路記憶部33に保存されているため、図4および図5に示したステップ207からステップ215までの繰り返し処理が終了し、経路記憶部33に探索ノードから受信ノードEまでの経路が保存される(図9B)。   Since the identifier of the node 12 is stored in the path storage unit 33, the iterative process from step 207 to step 215 shown in FIGS. 4 and 5 is completed, and the path storage unit 33 stores information from the search node to the reception node E. The route is saved (FIG. 9B).

経路記憶部33に全ての受信ノードの識別子が保存されたため、最後に経路出力部29が経路記憶部33を参照し、マルチキャスト経路を、例えば以下のように出力し、処理を終了する。
受信ノードAへの経路:1、5、9
受信ノードBへの経路:1、5、9、13、10
受信ノードCへの経路:1、5、9、13
受信ノードDへの経路:1、5、9、13、10、11、12
受信ノードEへの経路:1、5、9、13、10、11、12、16、15
Since the identifiers of all receiving nodes are stored in the route storage unit 33, the route output unit 29 finally refers to the route storage unit 33, outputs the multicast route, for example, as follows, and ends the process.
Route to receiving node A: 1, 5, 9
Route to receiving node B: 1, 5, 9, 13, 10
Route to receiving node C: 1, 5, 9, 13
Route to receiving node D: 1, 5, 9, 13, 10, 11, 12
Route to receiving node E: 1, 5, 9, 13, 10, 11, 12, 16, 15

本実施形態によれば、受信ノードから送信ノードへ、また、受信ノードから既に確定した経路へ、最小の合計コストで経路を接続させていくことで、1つの経路に複数の受信ノードが乗り、マルチキャスト経路全体の合計コストを低く抑えることができる。また、送信ノードと受信ノードの全ての組み合わせのフルメッシュ経路を計算する場合よりも計算量が少なく済む。   According to the present embodiment, a plurality of receiving nodes ride on one route by connecting the routes from the receiving node to the transmitting node and from the receiving node to the already determined route at the minimum total cost. The total cost of the entire multicast route can be kept low. In addition, the calculation amount is smaller than in the case of calculating full mesh paths of all combinations of the transmission node and the reception node.

また、本実施形態では、ある受信ノードからの経路探索の途中で他の受信ノードが発見されると、合計コストをゼロにリセットする場合を説明したが、必ずしもゼロにリセットしなくてもよい。このとき合計コストをゼロにリセットすることにより、他の受信ノードを経由する経路が優先的に選択されるため、さらにマルチキャスト経路全体の合計コストを最小限に抑えることが可能になる。   Further, in the present embodiment, a case has been described in which the total cost is reset to zero when another receiving node is found during a route search from a certain receiving node. However, the total cost may not necessarily be reset to zero. At this time, by resetting the total cost to zero, a route passing through another receiving node is preferentially selected, so that the total cost of the entire multicast route can be further minimized.

(第2の実施形態)
本実施形態のマルチキャスト経路計算装置の構成を説明する。
(Second Embodiment)
The configuration of the multicast route calculation apparatus of this embodiment will be described.

図10は、本実施形態のマルチキャスト経路計算装置の一構成例を示すブロック図である。なお、本実施形態では、第1の実施形態と異なる点を詳細に説明し、第1の実施形態と同様な構成についてはその詳細な説明を省略する。   FIG. 10 is a block diagram illustrating a configuration example of the multicast route calculation apparatus according to this embodiment. In the present embodiment, points different from the first embodiment will be described in detail, and detailed description of the same configurations as those of the first embodiment will be omitted.

本実施形態のマルチキャスト経路計算装置300は、第1の実施形態で説明した初期化部23と計算受信ノード決定部24の処理が異なる。本実施形態では、図10に示すように、第1の実施形態における初期化部23と計算受信ノード決定部24の処理順序が逆転し、初期化部23の代わりに情報更新部41が設けられている。   The multicast route calculation apparatus 300 of this embodiment is different in the processing of the initialization unit 23 and the calculation reception node determination unit 24 described in the first embodiment. In the present embodiment, as shown in FIG. 10, the processing order of the initialization unit 23 and the calculation reception node determination unit 24 in the first embodiment is reversed, and an information update unit 41 is provided instead of the initialization unit 23. ing.

情報更新部41は、計算受信ノード決定部24で決定された受信ノード(受信ノードdとする)の1つ前の順位の受信ノード(受信ノードd’とする)からの経路探索において、受信ノードdからの経路が計算されている場合に、その経路と合計コストの情報を含む経路探索情報を訪問済みノード記憶部34とノード情報記憶部35に残し、それ以外の情報を削除する。   The information update unit 41 receives the reception node in the route search from the reception node (reception node d ′) of the rank immediately before the reception node (reception node d) determined by the calculation reception node determination unit 24. When the route from d is calculated, route search information including the route and total cost information is left in the visited node storage unit 34 and the node information storage unit 35, and other information is deleted.

図11および図12は、本実施形態におけるマルチキャスト経路計算方法の動作手順を示すフローチャートである。   11 and 12 are flowcharts showing the operation procedure of the multicast route calculation method in this embodiment.

本実施形態におけるマルチキャスト経路計算方法は、図10で示したマルチキャスト経路計算装置の構成に対応して、第1の実施形態で説明した初期化ステップ(ステップ205)と計算受信ノード決定ステップ(ステップ206)の順序が逆になり、初期化ステップ(ステップ205)の代わりに情報更新ステップ(ステップ306)を有する。   The multicast route calculation method in this embodiment corresponds to the configuration of the multicast route calculation apparatus shown in FIG. 10, and the initialization step (step 205) and the calculation receiving node determination step (step 206) described in the first embodiment. ) Is reversed, and an information update step (step 306) is provided instead of the initialization step (step 205).

図4に示したステップ206は図11に示すステップ305に相当し、図4に示したステップ201〜204およびステップ207〜209のそれぞれは図11に示すステップ301〜304およびステップ307〜309のそれぞれに相当しており、同様な処理についての詳細な説明を省略する。また、図5に示したステップ210〜ステップ218のそれぞれは図11に示すステップ310〜ステップ318に相当し、同様な処理についての詳細な説明を省略する。   Step 206 shown in FIG. 4 corresponds to step 305 shown in FIG. 11, and steps 201 to 204 and steps 207 to 209 shown in FIG. 4 are respectively steps 301 to 304 and steps 307 to 309 shown in FIG. 11. Detailed description of similar processing will be omitted. Each of Step 210 to Step 218 illustrated in FIG. 5 corresponds to Step 310 to Step 318 illustrated in FIG. 11, and detailed description of similar processing is omitted.

本実施形態のマルチキャスト経路計算装置300の動作の具体例について、第1の実施の形態と異なる部分を詳しく説明する。ここでも、ネットワークトポロジの一例として、図6に示したトポロジを用いる。   A specific example of the operation of the multicast route calculation apparatus 300 according to the present embodiment will be described in detail with respect to differences from the first embodiment. Again, the topology shown in FIG. 6 is used as an example of the network topology.

第1の実施形態で説明した動作を例に説明する。受信ノードAからの経路探索終了後、計算受信ノード決定部24が、探索ノードとして、計算順序次位の受信ノードである受信ノードBに決定する。受信ノードAからの経路探索では、受信ノードBからの経路は計算されていないため、図11に示すステップ306において、情報更新部41は、訪問済みノード記憶部34とノード情報記憶部35の全ての情報を削除する。   The operation described in the first embodiment will be described as an example. After the route search from the reception node A is completed, the calculation reception node determination unit 24 determines the reception node B, which is the reception node in the calculation order, as the search node. In the route search from the receiving node A, since the route from the receiving node B is not calculated, in step 306 shown in FIG. 11, the information updating unit 41 sets all of the visited node storage unit 34 and the node information storage unit 35. Delete the information.

次に、受信ノードBからの経路探索終了後、計算受信ノード決定部24が、探索ノードとして、計算順序次位の受信ノードである受信ノードDに決定する。1つ前の順位である受信ノードCは、受信ノードBからの経路に含まれているため、受信ノードCからの経路探索は行われていない。したがって、この場合にも、情報更新部41は、訪問済みノード記憶部34とノード情報記憶部35の全ての情報を削除する。   Next, after the end of the route search from the receiving node B, the calculation receiving node determination unit 24 determines the receiving node D that is the receiving node next in the calculation order as the search node. Since the receiving node C which is the previous rank is included in the route from the receiving node B, the route search from the receiving node C is not performed. Therefore, also in this case, the information update unit 41 deletes all information in the visited node storage unit 34 and the node information storage unit 35.

受信ノードDからの経路計算について、情報更新ステップ以降の処理を、具体的に説明する。図13Aから図15Bは本実施形態におけるマルチキャスト経路計算方法の具体例を説明するための図である。   Regarding the route calculation from the receiving node D, the processing after the information update step will be specifically described. FIG. 13A to FIG. 15B are diagrams for explaining a specific example of the multicast route calculation method in the present embodiment.

探索ノード決定部25が、受信ノードDを探索ノードとして決定し、受信ノードDの識別子を訪問済みノード記憶部34に保存する(図13A)。   The search node determination unit 25 determines the reception node D as a search node, and stores the identifier of the reception node D in the visited node storage unit 34 (FIG. 13A).

次に、経路パラメータ計算部26が、探索ノードvの隣接ノードuについて、探索ノード経由の合計コストC1を計算する。さらに、経路パラメータ判定部27が、ノード情報記憶部35を参照し、隣接ノードuに対して、他のノード経由の合計コストCが既に保存されているかどうかを判定する。最初は保存されていないため、ノード情報記憶部35の隣接ノードuに、C1および、経路として、探索ノードの識別子を保存する。経路パラメータ計算と、経路パラメータ判定の処理を全ての隣接ノードに対して行う(図13B)。図13Bにおいて、合計コストをC、経路の目印として探索ノードの識別子をRで示す。   Next, the route parameter calculation unit 26 calculates the total cost C1 via the search node for the adjacent node u of the search node v. Further, the route parameter determination unit 27 refers to the node information storage unit 35 and determines whether the total cost C via other nodes has already been stored for the adjacent node u. Since it is not saved at first, C1 and the identifier of the search node are saved as the route in the adjacent node u of the node information storage unit 35. Route parameter calculation and route parameter determination processing are performed for all adjacent nodes (FIG. 13B). In FIG. 13B, the total cost is indicated by C, and the identifier of the search node is indicated by R as a route mark.

探索ノードが経路記憶部33に保存されていないので、探索ノード決定の処理(図11に示すステップ307)に戻る。   Since the search node is not stored in the route storage unit 33, the process returns to the search node determination process (step 307 shown in FIG. 11).

探索ノード決定部25が、訪問済みノード記憶部34を参照し、ノードが保存されているため、訪問済みとなっていないノードについて、ノード情報記憶部35に保存されているノードに対する合計コストと経路を参照し、合計コストが最小のノードを1つ選ぶ。ここでは、合計コストが2のノード11が探索ノードとして選択され、訪問済みノード記憶部34に保存される(図13C)。   Since the search node determination unit 25 refers to the visited node storage unit 34 and the node is stored, the total cost and path for the node stored in the node information storage unit 35 for the node that has not been visited. And select one node with the lowest total cost. Here, the node 11 having a total cost of 2 is selected as a search node and stored in the visited node storage unit 34 (FIG. 13C).

次に、経路パラメータ計算部26が、探索ノードvの隣接ノードuについて、探索ノード経由の合計コストC1を計算する。さらに、経路パラメータ判定部27が、ノード情報記憶部35を参照し、隣接ノードuに対して、他のノード経由の合計コストCが既に保存されているかどうかを判定する。保存されていないノードには、ノード情報記憶部35の隣接ノードuに、C1および、経路として、探索ノードの識別子を保存する。既に、Cが保存されているノードにおいては、C1<Cの場合、C1を新たなCとして、また、探索ノードを経路として保存する。経路パラメータ計算と、経路パラメータ判定の処理を全ての隣接ノードに対して行う(図13D)。   Next, the route parameter calculation unit 26 calculates the total cost C1 via the search node for the adjacent node u of the search node v. Further, the route parameter determination unit 27 refers to the node information storage unit 35 and determines whether the total cost C via other nodes has already been stored for the adjacent node u. For the unsaved node, the identifier of the search node is saved as C1 and the route in the adjacent node u of the node information storage unit 35. In a node where C is already stored, if C1 <C, C1 is stored as a new C, and the search node is stored as a route. Route parameter calculation and route parameter determination processing are performed for all adjacent nodes (FIG. 13D).

上記の探索ノード決定、経路パラメータ計算、および経路パラメータ判定の処理を繰り返すと、探索ノードがノード12、ノード11、ノード15、ノード14、ノード16、ノード7、ノード10の順に決定される。ここで、ノード15が探索ノードとして決定されたとき、経路パラメータ計算部26において、C1の計算式(式1)では、Idが0にセットされることに注意が必要である(図14A〜図14C)。   When the above search node determination, route parameter calculation, and route parameter determination processes are repeated, the search nodes are determined in the order of node 12, node 11, node 15, node 14, node 16, node 7, and node 10. Here, when the node 15 is determined as a search node, it should be noted that the Id is set to 0 in the calculation formula (Formula 1) of C1 in the route parameter calculation unit 26 (FIGS. 14A to 14). 14C).

ノード10の識別子が経路記憶部33に保存されているため、図11および図12に示すステップ307からステップ315までの繰り返し処理が終了し、経路記憶部33に探索ノードから受信ノードDまでの経路が保存される(図14D)。   Since the identifier of the node 10 is stored in the path storage unit 33, the iterative process from step 307 to step 315 shown in FIGS. 11 and 12 is completed, and the path from the search node to the receiving node D is stored in the path storage unit 33. Is saved (FIG. 14D).

経路記憶部33に全ての受信ノードの識別子が保存されていないため、計算受信ノード決定部24の処理に戻る。計算受信ノード決定部24が、送信・受信ノード記憶部32を参照し、次の計算対象の受信ノードとして、受信ノードEを選択する。   Since the identifiers of all receiving nodes are not stored in the path storage unit 33, the processing returns to the calculation receiving node determination unit 24. The calculation reception node determination unit 24 refers to the transmission / reception node storage unit 32 and selects the reception node E as the next calculation target reception node.

次に、図11に示したステップ306において、情報更新部41が、受信ノードDからの経路探索において、受信ノードEからの経路が計算されているかを判定する。つまり、受信ノードEの識別子が訪問済みノード記憶部34に格納されており、受信ノードEを経由して探索されたノードの識別子が訪問済みノード記憶部34に格納されているかどうかを判定する。   Next, in step 306 shown in FIG. 11, the information update unit 41 determines whether a route from the receiving node E is calculated in the route search from the receiving node D. That is, it is determined whether the identifier of the receiving node E is stored in the visited node storage unit 34 and the identifier of the node searched via the receiving node E is stored in the visited node storage unit 34.

受信ノードEの識別子が訪問済みノード記憶部34に格納されている場合には、情報更新部41は、受信ノードEと受信ノードEから探索された訪問済みノードの識別子を、訪問済みノード記憶部34に残し、それ以外のノードの識別子を削除する。また、情報更新部41は、受信ノードEを経由して探索された訪問済みノードに関する情報をノード情報記憶部35に残し、それ以外のノードに関する情報を削除する。本動作例では、ノード15、ノード14、ノード16が訪問済みノード記憶部34に残され、ノード14とノード16の情報がノード情報記憶部35に残される(図15A)。経路パラメータ計算部26は、ノード15、ノード14およびノード16の経路探索情報を利用することが可能となる。   When the identifier of the receiving node E is stored in the visited node storage unit 34, the information updating unit 41 displays the visited node identifier searched from the receiving node E and the receiving node E as the visited node storage unit. 34, and the identifiers of other nodes are deleted. In addition, the information update unit 41 leaves information regarding visited nodes searched via the receiving node E in the node information storage unit 35 and deletes information regarding other nodes. In this operation example, the node 15, the node 14, and the node 16 are left in the visited node storage unit 34, and the information on the nodes 14 and 16 is left in the node information storage unit 35 (FIG. 15A). The route parameter calculation unit 26 can use route search information of the nodes 15, 14, and 16.

これ以降は、受信ノードDと同様に、探索ノード決定、経路パラメータ計算、および経路パラメータ判定の処理を繰り返すと、探索ノードがノード12と決定され、経路計算が完了する(図15B)。   Thereafter, as with the receiving node D, when the search node determination, route parameter calculation, and route parameter determination processing are repeated, the search node is determined as the node 12 and the route calculation is completed (FIG. 15B).

第1の実施形態では、受信ノードEから新たに経路計算を行ったが、本実施形態では、ノード14とノード16への経路探索を行う必要がなく、計算量が少なくてすむ。経路出力部29が出力する経路の情報は、第1の実施形態と同じになる。   In the first embodiment, a new route calculation is performed from the receiving node E. However, in this embodiment, it is not necessary to perform a route search to the node 14 and the node 16, and the calculation amount can be reduced. The route information output by the route output unit 29 is the same as that in the first embodiment.

本実施形態によれば、第1の実施形態と同様にマルチキャスト経路全体の合計コストを最小限に抑えられるだけでなく、ある受信ノードからの経路計算において、並行して計算された、次の計算順位の受信ノードからの経路を、次の受信ノードからの経路計算時に流用することで、計算量の低減を図ることが可能である。   According to the present embodiment, as in the first embodiment, not only the total cost of the entire multicast route can be minimized, but also the following calculation calculated in parallel in the route calculation from a certain receiving node: The amount of calculation can be reduced by diverting the route from the receiving node of the rank when calculating the route from the next receiving node.

なお、上述した第1または第2の実施形態で説明した動作をプログラムとして構築し、そのプログラムをマルチキャスト経路計算装置として利用されるコンピュータにインストールして実行させる、または、そのプログラムをネットワークを介して流通させることが可能である。   The operation described in the first or second embodiment described above is constructed as a program, and the program is installed and executed on a computer used as a multicast route calculation device, or the program is executed via a network. It can be distributed.

また、構築されたプログラムを、コンピュータ読み取り可能なディスク装置や、CD−ROM等の搬送可能な記憶媒体に格納し、コンピュータにインストールして実行させる、または、配布することが可能である。   Further, the constructed program can be stored in a computer-readable disk device or a transportable storage medium such as a CD-ROM, installed in a computer, executed, or distributed.

本発明は、上記の実施形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

100、200、300 マルチキャスト経路計算装置
1 要求取得手段
2 計算順序決定手段
4 探索ノード決定手段
5 経路パラメータ計算手段
6 経路パラメータ判定手段
7 経路保存手段
8 経路出力手段
11 経路記憶手段
12 訪問済みノード記憶手段
13 ノード情報記憶手段
20 制御部
30 記憶部
100, 200, 300 Multicast route calculation device 1 Request acquisition means 2 Calculation order determination means 4 Search node determination means 5 Route parameter calculation means 6 Route parameter determination means 7 Route storage means 8 Route output means 11 Route storage means 12 Visited node storage Means 13 Node information storage means 20 Control unit 30 Storage unit

Claims (5)

ネットワーク内の各ノードに対応する識別子、隣接するノード同士を接続する経路および各経路のコスト値の情報を含むトポロジ情報、ならびに送信ノードおよび複数の受信ノードのそれぞれの識別子の情報を取得し、
前記複数の受信ノードの経路計算の順位に関して、該複数の受信ノードのそれぞれについて、前記送信ノードから該受信ノードに至るまでの各経路のノード間のコスト値を合計した合計コストのうち最小値である最小合計コストを求め、該最小合計コストが最も小さい受信ノードを最上位の受信ノードとし、該最小合計コストが最も大きい受信ノードを最下位の受信ノードとして前記経路計算の順位を決め、
決定した順位の最上位の受信ノードから最下位の受信ノードまで順に第1の探索ノードに設定し、
設定した第1の探索ノード毎に、該第1の探索ノードの隣接ノードについて、該第1の探索ノードと該隣接ノードの間のコスト値を合計コストとし、該合計コストが最小となる隣接ノードを第2の探索ノードとし、該第2の探索ノードが前記送信ノード、または該第1の探索ノードよりも前記順位が上位の受信ノードにおける経路計算で設定された経路上のノードに一致するまで、前記第1の探索ノードから該第2の探索ノードを経由して該第2の探索ノードの隣接ノードまでの前記合計コストが最小となる隣接ノードを第2の探索ノードに順次更新することで、前記第1の探索ノードから更新された第2の探索ノードを順に結ぶ経路を設定し、
前記第2の探索ノードについて前記隣接ノードの前記合計コストを算出する際、該第2の探索ノードが前記複数の受信ノードのうち、いずれかの受信ノードと一致する場合、該第2の探索ノードまでの前記合計コストをゼロにリセットし、該第2の探索ノードを起点とする経路のコスト値を前記合計コストとし、
前記第2の探索ノードの前記隣接ノードの前記合計コストを求める際、該隣接ノードについて、他のノード経由で算出された合計コストが記憶されている場合、該他のノード経由で算出された合計コストと該第2の探索ノード経由で算出される合計コストとを比較し、小さい方を前記合計コストとして選択する、経路計算方法。
Obtaining an identifier corresponding to each node in the network, topology information including information on the path connecting adjacent nodes and the cost value of each path, and information on each identifier of the transmitting node and the plurality of receiving nodes,
Regarding the order of the route calculation of the plurality of receiving nodes, for each of the plurality of receiving nodes, the minimum value among the total costs obtained by summing the cost values between the nodes of each route from the transmitting node to the receiving node. A certain minimum total cost is calculated, the receiving node having the lowest minimum total cost is set as the highest receiving node, the receiving node having the highest minimum total cost is set as the lowest receiving node, and the order of the path calculation is determined.
Set the first search node in order from the highest receiving node of the determined order to the lowest receiving node,
For each set first search node, for the adjacent nodes of the first search node, the cost value between the first search node and the adjacent node is the total cost, and the adjacent node having the minimum total cost Until the second search node coincides with a node on the route set in the route calculation in the transmission node or the higher-order receiving node than the first search node. , By sequentially updating the adjacent node having the minimum total cost from the first search node to the adjacent node of the second search node via the second search node to the second search node. , Setting a route sequentially connecting the second search node updated from the first search node,
When calculating the total cost of the adjacent node for the second search node, if the second search node matches one of the plurality of reception nodes, the second search node The total cost up to zero is reset to zero, and the cost value of the route starting from the second search node is set as the total cost ,
When calculating the total cost of the adjacent node of the second search node, if the total cost calculated via another node is stored for the adjacent node, the total calculated via the other node A route calculation method in which a cost is compared with a total cost calculated via the second search node, and a smaller one is selected as the total cost .
請求項1記載の経路計算方法において、
前記第1の探索ノードの前記隣接ノードおよび前記合計コスト、ならびに前記第2の探索ノードの前記隣接ノードおよび前記合計コストの情報を含む経路探索情報を保存し、
決定した順位のうち、任意の順位の受信ノードの経路計算を行う際、該任意の順位よりも順位が1つ上位の受信ノードの経路計算の過程で保存された前記経路探索情報のうち、該任意の順位の受信ノードに関する前記経路探索情報が保存されている場合、該経路探索情報を利用する、経路計算方法。
The route calculation method according to claim 1,
Storing route search information including information on the adjacent node and the total cost of the first search node, and information on the adjacent node and the total cost of the second search node;
Among the determined ranks, when performing route calculation of a receiving node of an arbitrary rank, the route search information stored in the route calculation process of the receiving node one rank higher than the arbitrary rank , A route calculation method using the route search information when the route search information related to receiving nodes of an arbitrary order is stored .
ネットワーク内の各ノードに対応する識別子、隣接するノード同士を接続する経路および各経路のコスト値の情報を含むトポロジ情報、ならびに送信ノードおよび複数の受信ノードのそれぞれの識別子の情報を保存する記憶手段と、
記複数の受信ノードの経路計算の順位に関して、該複数の受信ノードのそれぞれについて、前記送信ノードから該受信ノードに至るまでの各経路のノード間のコスト値を合計した合計コストのうち最小値である最小合計コストを求め、該最小合計コストが最も小さい受信ノードを最上位の受信ノードとし、該最小合計コストが最も大きい受信ノードを最下位の受信ノードとして前記経路計算の順位を決める計算順序決定手段と、
前記計算順序決定手段が決定した順位の最上位の受信ノードから最下位の受信ノードまで順に第1の探索ノードに設定し、設定した第1の探索ノード毎に、該第1の探索ノードの隣接ノードについて、該第1の探索ノードと該隣接ノードの間のコスト値を合計コストとし、該合計コストが最小となる隣接ノードを第2の探索ノードとし、前記第1の探索ノードから該第2の探索ノードを経由して該第2の探索ノードの隣接ノードまでの前記合計コストが最小となる隣接ノードを第2の探索ノードに順次更新する経路パラメータ計算手段と、
前記第2の探索ノードが前記送信ノード、または該第1の探索ノードよりも前記順位が上位の受信ノードにおける経路計算で設定された経路上のノードに一致すると、前記第1の探索ノードから更新された第2の探索ノードを順に結ぶ経路を設定する経路パラメータ判定手段と、を有し、
前記経路パラメータ計算手段は、
前記第2の探索ノードについて前記隣接ノードの前記合計コストを算出する際、該第2の探索ノードが前記複数の受信ノードのうち、いずれかの受信ノードと一致する場合、該第2の探索ノードまでの前記合計コストをゼロにリセットし、該第2の探索ノードを起点とする経路のコスト値を前記合計コストとし、
前記経路パラメータ計算手段は、
前記第2の探索ノードの前記隣接ノードの前記合計コストを求める際、該隣接ノードについて、他のノード経由で算出された合計コストが記憶されている場合、該他のノード経由で算出された合計コストと該第2の探索ノード経由で算出される合計コストとを比較し、小さい方を前記合計コストとして選択する、経路計算装置。
Storage means for storing an identifier corresponding to each node in the network, topology information including information on a path connecting adjacent nodes and a cost value of each path, and information on each identifier of the transmitting node and the plurality of receiving nodes When,
With respect to the path computation of the rank of the previous SL plurality of receiving nodes, for each of said plurality of receiving nodes, the minimum value of the total cost of the total cost value between the nodes of each path from the sending node until the said receiving node A calculation order for determining the order of the route calculation by obtaining the minimum total cost of which is the highest receiving node having the lowest minimum total cost and the lowest receiving node having the lowest minimum total cost. A determination means;
The first search node is set in order from the highest receiving node to the lowest receiving node in the order determined by the calculation order determining means, and the adjacent first search node is set for each set first search node. For a node, a cost value between the first search node and the adjacent node is defined as a total cost, an adjacent node having the minimum total cost is defined as a second search node, and the second search node to the second Path parameter calculation means for sequentially updating the adjacent node having the minimum total cost to the adjacent node of the second search node via the search node to the second search node;
When the second search node matches the node on the route set in the route calculation in the sending node or the higher-order receiving node than the first search node, the second search node is updated from the first search node Route parameter determination means for setting a route connecting the second search nodes in order,
The route parameter calculation means includes:
When calculating the total cost of the adjacent node for the second search node, if the second search node matches one of the plurality of reception nodes, the second search node The total cost up to zero is reset to zero, and the cost value of the route starting from the second search node is set as the total cost ,
The route parameter calculation means includes:
When calculating the total cost of the adjacent node of the second search node, if the total cost calculated via another node is stored for the adjacent node, the total calculated via the other node A route calculation device that compares a cost with a total cost calculated via the second search node and selects a smaller one as the total cost .
請求項記載の経路計算装置において、
前記経路パラメータ判定手段は、
前記経路パラメータ計算手段が出力する、前記第1の探索ノードの前記隣接ノードおよび前記合計コスト、ならびに前記第2の探索ノードの前記隣接ノードおよび前記合計コストの情報を含む経路探索情報を前記記憶手段に保存し、
前記経路パラメータ計算手段は、
決定した順位のうち、任意の順位の受信ノードの経路計算を行う際、該任意の順位よりも順位が1つ上位の受信ノードの経路計算の過程で前記記憶手段に保存された前記経路探索情報のうち、該任意の順位の受信ノードに関する前記経路探索情報が保存されている場合、該経路探索情報を利用する、経路計算装置
The route calculation apparatus according to claim 3 , wherein
The route parameter determination means includes
The route search information output by the route parameter calculation means includes information on the adjacent node and the total cost of the first search node, and information on the adjacent node and the total cost of the second search node. Save to
The route parameter calculation means includes:
The route search information stored in the storage means in the course of the route calculation of the receiving node one rank higher than the arbitrary rank when performing the route calculation of the receiving node of any rank among the determined ranks A route calculation device that uses the route search information when the route search information related to the receiving nodes in any order is stored .
請求項1または2に記載の経路計算方法をコンピュータに実行させるためのプログラム。 Program for executing a route calculation method according to the computer to claim 1 or 2.
JP2011132051A 2011-06-14 2011-06-14 Route calculation method, route calculation device, and program Expired - Fee Related JP5576831B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011132051A JP5576831B2 (en) 2011-06-14 2011-06-14 Route calculation method, route calculation device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011132051A JP5576831B2 (en) 2011-06-14 2011-06-14 Route calculation method, route calculation device, and program

Publications (2)

Publication Number Publication Date
JP2013005079A JP2013005079A (en) 2013-01-07
JP5576831B2 true JP5576831B2 (en) 2014-08-20

Family

ID=47673214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011132051A Expired - Fee Related JP5576831B2 (en) 2011-06-14 2011-06-14 Route calculation method, route calculation device, and program

Country Status (1)

Country Link
JP (1) JP5576831B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190010B (en) * 2021-05-08 2024-04-05 珠海一微半导体股份有限公司 Edge obstacle detouring path planning method, chip and robot

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4536690B2 (en) * 2006-08-28 2010-09-01 日本電信電話株式会社 Route calculation method, apparatus and program
JP2011091495A (en) * 2009-10-20 2011-05-06 Nippon Telegr & Teleph Corp <Ntt> Multicast route search device, method and program

Also Published As

Publication number Publication date
JP2013005079A (en) 2013-01-07

Similar Documents

Publication Publication Date Title
CN111770019A (en) A Q-learning Optical On-Chip Network Adaptive Routing Planning Method Based on Dijkstra&#39;s Algorithm
JP3945656B2 (en) Management node device, node device, network configuration management system, network configuration management method, node device control method, management node device control method
JP2005086460A (en) Route design apparatus, method and program
CN109922004A (en) The traffic engineering method and device of IPv6 network based on partial deployment Segment routing
US10404576B2 (en) Constrained shortest path determination in a network
JP5391322B2 (en) Route calculation method, program, and calculation device
CN104506435B (en) Shortest path in SDN controllers and SDN determines method
CN113992259B (en) Method for constructing time slot resource expansion graph
WO2017045578A1 (en) Topological graph optimal path algorithm with constraint conditions
CN107196858A (en) A kind of k solving the shortest path methods for considering polymorphic type constraint
WO2017117951A1 (en) Virtual mapping method and device
US8085688B2 (en) Methods and systems for determining a network data path
CN105634974B (en) Route determining methods and device in software defined network
CN109511091A (en) A kind of BLE MESH network routing algorithm based on location information
JP5576831B2 (en) Route calculation method, route calculation device, and program
CN104753694A (en) Method and device for automatic route selection of optical cable
JP2013175913A (en) Communication system, path determination device, path determination method, and path determination program
CN107453997B (en) An Optimal Routing Method Based on Double Cost
JP5419740B2 (en) Pass accommodation design method
JP2010286978A (en) Route search method, apparatus and program
JP5001996B2 (en) Route calculation apparatus, route calculation method and program
JP2013009181A (en) Plural route search method and device
JP2017212492A (en) Network route selection device, network topology display device, network route selection method, network topology display method, and program
JP2008211656A (en) Apparatus, method, and program for creating multicast tree
CN108124294B (en) A routing method under the constraint of identity recursive computation

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20130305

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140416

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: 20140701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140704

R150 Certificate of patent or registration of utility model

Ref document number: 5576831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees