(57)【要約】【課題】  マルチキャストデータと別ルートで伝送されるユニキャストデータの信頼性を向上させることができるようにする。【解決手段】  マルチキャスト受信要求６を受信すると、状態判断手段１ｃにより、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かが判断される。マルチキャスト受信要求送信手段１ｄにより、既定伝送路上の全てのリンクが接続されている場合、既定伝送路でマルチキャスト受信要求６が送信され、既定伝送路上に切断されたリンクが存在する場合、別の伝送路でマルチキャスト受信要求６が送信される。そして、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストデータ転送手段１ｅにより、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７が送信される。【選択図】  図１
2006229740.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャストデータをルーティングするためのマルチキャストルーティングプログラムにおいて、
コンピュータを、
ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段、
前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段、
前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段、
前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段、
前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段、
として機能させることを特徴とするマルチキャストルーティングプログラム。
【請求項２】
前記マルチキャスト受信要求送信手段は、前記既定伝送路上に切断されたリンクが存在する場合、ユニキャストデータ用のルーティングテーブルを参照し、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路を選択することを特徴とする請求項１記載のマルチキャストルーティングプログラム。
【請求項３】
前記リンク管理手段は、前記リンク状態テーブルにおいて、装置間のリンクを一意に識別するための識別番号に対応づけて、各リンクの状態情報を設定しており、
前記既定伝送路管理テーブルには、前記マルチキャスト送信端末装置のマルチキャストアドレスに対応づけて、前記既定伝送路に含まれる各リンクを識別するための識別番号が登録されており、前記既定伝送路管理手段は、前記リンク状態テーブルを参照して、前記既定伝送路管理テーブルに登録された各リンクの識別番号に対応するリンクのリンク状態を確認し、前記既定伝送路の接続状態を判断することを特徴とする請求項１記載のマルチキャストルーティングプログラム。
【請求項４】
コンピュータにより、マルチキャストデータをルーティングするためのマルチキャストルーティング方法において、
リンク管理手段が、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブル設定し、
既定伝送路管理手段が、前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定し、
状態判断手段が、前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断し、
マルチキャスト受信要求送信手段が、前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信し、
マルチキャストデータ転送手段が、前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信する、
ことを特徴とするマルチキャストルーティング方法。
【請求項５】
マルチキャストデータをルーティングするマルチキャストルータにおいて、
ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段と、
前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段と、
前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段と、
前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段と、
前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段と、
を有することを特徴とするマルチキャストルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチキャストデータをルーティングするためのマルチキャストルーティングプログラム、マルチキャストルーティング方法、およびマルチキャストルータに関し、特にユニキャストデータと異なる伝送路でマルチキャストデータを伝送できるマルチキャストルーティングプログラム、マルチキャストルーティング方法、およびマルチキャストルータに関する。
【背景技術】
【０００２】
高度情報化社会の発達とともに、光ファイバが全国にはりめぐらされている。これに伴いＩＰ（Internet Protocol）ネットワークの通信速度の高速化が押し進められている。通信速度が高速になることで、従来からのＷｅｂや電子メールの通信の他に、動画像配信サービスやネットワークゲーム等、ＩＰマルチキャストを使用する通信が広範囲に使用されるようになってきている。
【０００３】
ＩＰマルチキャスト技術にはいくつかの種類があるが、ネットワークのトラフィックを効率的に使用するＰＩＭ−ＳＭ（Protocol Independent Multicast-Sparse Mode）は、その中の代表的な方式であり多くのＩＰマルチキャストネットワークにおいてこの方式が使用されている。
【０００４】
図１８は、従来のダイナミックルーティングによるマルチキャストデータの送信技術を示す図である。ルータ９０１〜９０６（レイヤ３スイッチを含む）間には、光ファイバがはりめぐらされている。これにより、各ルータ９０１〜９０６間が、複数の経路で接続される。ルータ間が複数の経路で接続されることで、光ファイバ断などの回線障害時等にダイナミックルーティングにより自動迂回が可能となる。
【０００５】
ルータ９０１には、ネットワークのセグメント９１０，９２０が接続されている。セグメント９１０には、端末装置９１１が接続されている。セグメント９２０には、端末装置９２１が接続されている。
【０００６】
ルータ９０６には、ネットワークのセグメント９３０，９４０が接続されている。セグメント９３０には、端末装置９３１とマルチキャスト送信端末装置９３２とが接続されている。セグメント９４０には、端末装置９４１とマルチキャスト送信端末装置９４２とが接続されている。マルチキャスト送信端末装置９３２，９４２は、マルチキャストで配信するソースデータを生成し、出力する装置である。
【０００７】
このネットワークは、ＯＳＰＦ（Open Shortest Path First）により、データの経路制御を行っている。各ルータ９０１〜９０６は、ダイナミックルーティングにより各セグメント情報を収集してユニキャストルーティングテーブルを構成する。ユニキャストルーティングテーブルには、各ルータ９０１〜９０６間の各経路のコストが設定されている。
【０００８】
ルータ９０１、９０２，９０４，９０６を通る経路は、それぞれのルータ間のコストが「１」に設定されている。また、ルータ９０１、９０３，９０５，９０６を通る経路は、それぞれのルータ間のコストが「１０」に設定されている。各ルータ９０１〜９０６は、コストの低くなる経路を選択することで、データのルーティングを行う。
【０００９】
ここで、端末装置９１１と端末装置９３１との間でユニキャスト通信を行う場合を考える。ユニキャストデータ９５１は、コストの低くなる経路を通り送受信される。その結果、ルータ９０１、９０２，９０４，９０６を通る経路でユニキャストデータ９５１が送受信される。
【００１０】
次に、ＰＩＭ−ＳＭ方式によるマルチキャストデータの送信手順を説明する。なお、この例では、マルチキャスト送信端末装置９３２から端末装置９１１に対して、マルチキャストデータ９５３を配信するものとする。
【００１１】
マルチキャスト送信端末装置９３２から端末装置９１１がマルチキャストデータ９５３の受信を行うためには、端末装置９１１が、マルチキャスト送信端末装置９３２のユニキャストアドレス宛てのマルチキャスト受信要求（ｊｏｉｎメッセージ）９５２を、ルータ９０１に対して送信する。なお、マルチキャスト受信要求９５２は周期的に端末装置９１１より送信される。
【００１２】
マルチキャスト受信要求９５２を受信したルータ９０１は、ユニキャストルーティングテーブルを参照して、マルチキャスト送信端末装置９３２に繋がる最もコストの低い経路を選択し、その経路上で隣接するルータ９０２に対してマルチキャスト受信要求９５２を送信する。
【００１３】
このマルチキャスト受信要求送信動作は、マルチキャスト送信端末装置９３２を含むセグメント９３０に接続されたルータ９０６まで順次行われる。ルータ９０６は、マルチキャスト受信要求９５２を受信すると、マルチキャストデータ９５３を、マルチキャスト受信要求９５２を受信した通信インタフェースから出力する。ルータ９０４、ルータ９０２、ルータ９０１も同様に、マルチキャストデータ９５３を転送する。これによりマルチキャスト受信要求９５２を送信した端末装置９１１までマルチキャストデータ９５３が送信される。
【００１４】
このように、ＰＩＭ−ＳＭ方式でマルチキャストデータ９５３を配信すると、同一セグメント９３０内の装置から端末装置９１１へのユニキャストデータ９５１とマルチキャストデータ９５３との送信は、同一経路で行われる。
【００１５】
なお、ダイナミックルーティングにおいては、回線障害時などは自動的にデータの受信経路が変更される。ただし、この場合においても、マルチキャストデータとユニキャストデータとは同一経路を辿ることとなる。
【００１６】
また、ユニキャストルーティングに沿ってマルチキャスト受信要求に送信する以外に、あらかじめマルチキャスト受信要求の送信先をスタティックに設定する方式がある。
図１９は、従来のスタティックルーティングによるマルチキャストデータの送信技術を示す図である。図１９のネットワークは、図１８に示したネットワークの各ルータ９０１〜９０６を、スタティックルーティングを行うルータ９６１〜９６６に置き換えたものである。なお、ユニキャストデータ９７１の転送方式は、図１８の場合と同様にユニキャストルーティングテーブルに従って行われる。
【００１７】
各ルータ９６１〜９６６には、予めマルチキャスト受信要求９７２（ｊｏｉｎメッセージ）のスタティック設定が行われる。図１９の例では、ルータ９６１では、マルチキャスト送信端末装置９３２のマルチキャストアドレスを指定したマルチキャスト受信要求の転送先を、ルータ９６３に設定している。同様に、ルータ９６３では、マルチキャスト送信端末装置９３２のマルチキャストアドレスを指定したマルチキャスト受信要求の転送先を、ルータ９６５に設定している。ルータ９６５では、マルチキャスト送信端末装置９３２のマルチキャストアドレスを指定したマルチキャスト受信要求の転送先を、ルータ９６６に設定している。
【００１８】
ここで、端末装置９１１からマルチキャスト送信端末装置９３２のマルチキャストアドレスを指定したマルチキャスト受信要求９７２が出力されると、そのマルチキャスト受信要求９７２がルータ９６１に渡される。ルータ９６１は、スタティック設定に従って、ルータ９６３に対してマルチキャスト受信要求９７２を送信する。この際、ユニキャストルーティングテーブルは参照されない。以後、マルチキャスト受信要求９７２は、ルータ９６３からルータ９６５に転送され、さらにルータ９６５からルータ９６６に転送される。
【００１９】
すると、マルチキャスト送信端末装置９３２からマルチキャストデータ９７３を受信しているルータ９６６は、ルータ９６５からマルチキャスト受信要求９７２を受信すると、マルチキャストデータ９７３をマルチキャスト受信要求９７２受信回線に送信する。ルータ９６５，ルータ９６３、ルータ９６１もマルチキャストデータ９７３を受信すると、同様にマルチキャスト受信要求９７２受信回線にマルチキャストデータ９７３を送信する。
【００２０】
これにより端末装置９１１までマルチキャストデータが送信される。なお、マルチキャスト受信要求９７２は周期的に端末装置９１１より送信される。
また、伝送されるデータの種別に応じて、各データに最適な経路を選択し、選択された経路に向けて受信データを送出するネットワーク中継装置も考えられている（例えば、特許文献１参照）。
【特許文献１】特開２００３−７８５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかし、ダイナミックルーティングによってマルチキャストデータを転送した場合、マルチキャストデータとユニキャストデータとが、常に同じ経路で転送されてしまう。すなわち、端末装置から出力されたマルチキャスト受信要求をルータが転送する場合、ユニキャストルーティングテーブルでマルチキャスト送信端末装置のユニキャストアドレスを検索し最短経路にマルチキャスト受信要求を送信する。このマルチキャスト受信要求の伝送経路は、ユニキャストデータの伝送経路と同じである。そして、マルチキャストデータは、マルチキャスト受信要求が辿った経路を逆方向に転送されるため、マルチキャストデータとユニキャストデータは、必ず同一回線を使用することとなる。
【００２２】
そのため、マルチキャストデータとユニキャストデータを別ルートで分散ルーティングすることができない。
なお、スタティック方式のマルチキャストルーティングを行えば、マルチキャストデータとユニキャストデータを分散することができる。ただし、この場合、マルチキャストスタティック設定回線上で障害が発生した場合、ユニキャストで使用している回線へマルチキャストデータを自動的に迂回することができない。このためネットワークの信頼性が低下するという問題がある。
【００２３】
また、特許文献１に示す技術では、通信データのプロトコルに応じて経路選択を行う技術が開示されている。しかし、マルチキャストデータの伝送路は、端末装置から出力されたマルチキャスト受信要求の伝送路によって決定されてしまう。そのため、マルチキャスト受信要求がユニキャストデータと同様に伝送された後、マルチキャスト送信端末装置から出力されたデータに対して特許文献１記載の経路選択技術を適用しても、マルチキャストデータのみを別ルートで伝送させるのは困難である。
【００２４】
すなわち、マルチキャスト受信要求が辿った経路の逆方向にマルチキャストデータを転送することで、不必要なルートにマルチキャストデータを出力せずにすむ。これは、通信の効率化を図るために必要な処理である。そのため、マルチキャスト受信要求が辿った経路に関係なくユニキャストデータとマルチキャストデータとを特許文献１に示す技術で分散ルーティングさせると、不必要なルートにマルチキャストデータが送信されてしまう。そのため、ユニキャストデータとマルチキャストデータとの分散ルーティングに、特許文献１に示す技術をそのまま適用することは困難となる。
【００２５】
本発明はこのような点に鑑みてなされたものであり、マルチキャストデータと別ルートで伝送されるユニキャストデータの信頼性を向上させることができるマルチキャストルーティングプログラム、マルチキャストルーティング方法、およびマルチキャストルータを提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明では上記課題を解決するために、図１に示すようなマルチキャストルーティングプログラムが提供される。本発明に係るマルチキャストルーティングプログラムは、マルチキャストデータをルーティングするために、図１に示す機能をコンピュータに実行させることができる。
【００２７】
リンク管理手段１ａは、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブル１ａａに設定する。既定伝送路管理手段１ｂは、リンク状態テーブル１ａａを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置３までの既定伝送路が設定された既定伝送路管理テーブル１ｂａに対し、既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する。状態判断手段１ｃは、マルチキャスト送信端末装置３を指定したマルチキャスト受信要求６を受信すると、既定伝送路管理テーブル１ｂａを参照し、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かを判断する。マルチキャスト受信要求送信手段１ｄは、既定伝送路上の全てのリンクが接続されている場合、伝送路上で隣接するルータに対してマルチキャスト受信要求６を送信し、既定伝送路上に切断されたリンクが存在する場合、マルチキャスト送信端末装置３までのリンクが全て接続されている伝送路の１つを選択し、選択した伝送路にマルチキャスト受信要求６を送信する。マルチキャストデータ転送手段１ｅは、マルチキャスト受信要求６が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブル１ｅａに登録し、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストルーティングテーブル１ｅａを参照し、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７を送信する。
【００２８】
このようなマルチキャストルーティングプログラムを実行するコンピュータによれば、リンク管理手段１ａにより、ネットワークに接続された装置間のリンクの状態が監視され、装置間のリンクが接続状態か切断状態かを示す状態情報がリンク状態テーブル１ａａに設定される。また、既定伝送路管理手段１ｂにより、リンク状態テーブル１ａａが参照され、マルチキャスト送信端末装置３までの既定伝送路が設定された既定伝送路管理テーブル１ｂａに対し、既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報が設定される。マルチキャスト送信端末装置３を指定したマルチキャスト受信要求６を受信すると、状態判断手段１ｃにより、既定伝送路管理テーブル１ｂａが参照され、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かが判断される。既定伝送路上の全てのリンクが接続されている場合、マルチキャスト受信要求送信手段１ｄにより、伝送路上で隣接するルータに対してマルチキャスト受信要求６が送信される。既定伝送路上に切断されたリンクが存在する場合、マルチキャスト受信要求送信手段１ｄにより、マルチキャスト送信端末装置３までのリンクが全て接続されている伝送路の１つが選択され、選択した伝送路にマルチキャスト受信要求６が送信される。すると、マルチキャストデータ転送手段１ｅにより、マルチキャスト受信要求６が入力された通信インタフェースの識別情報がマルチキャストルーティングテーブル１ｅａに登録される。そして、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストデータ転送手段１ｅにより、マルチキャストルーティングテーブル１ｅａが参照され、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７が送信される。
【００２９】
また、本発明では上記課題を解決するために、コンピュータにより、マルチキャストデータをルーティングするためのマルチキャストルーティング方法において、リンク管理手段が、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブル設定し、既定伝送路管理手段が、前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定し、状態判断手段が、前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断し、マルチキャスト受信要求送信手段が、前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信し、マルチキャストデータ転送手段が、前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信する、ことを特徴とするマルチキャストルーティング方法が提供される。
【００３０】
さらに、上記課題を解決するために、マルチキャストデータをルーティングするマルチキャストルータにおいて、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段と、前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段と、前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段と、前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段と、前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段と、を有することを特徴とするマルチキャストルータが提供される。
【発明の効果】
【００３１】
本発明では、既定伝送路上の全てのリンクが接続状態の場合、予め設定された既定伝送路でマルチキャスト受信要求を送信し、既定伝送路上に切断されたリンクがある場合、他の伝送路でマルチキャスト受信要求を送信するようにした。その後、マルチキャスト送信端末装置から出力されたマルチキャストデータは、マルチキャスト受信要求の転送された経路を逆方向に転送される。これにより、既定伝送路を介した通信が可能な限り、マルチキャストデータが既定伝送路経由で配信され、既定伝送路で障害等で切断されると、マルチキャストデータの伝送路が、他の通信可能な伝送路に自動的に切り替えられる。その結果、ユニキャストデータと異なる経路で配信されるマルチキャストデータの信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を図面を参照して説明する。なお、本発明の実施の形態の説明における「ルータ」は、全てマルチキャストデータのルーティングを行うことができるマルチキャストルータを指すものとする。
【００３３】
図１は、本実施の形態の概略を示す図である。マルチキャストデータ７のルーティングを行うルータ１は、ネットワーク８ａを介して端末装置２（アドレス「ａａ」）に接続されている。なお、ルータ１は、ネットワーク８ａやネットワーク８ｂを介して図示していない他の端末装置にも接続される。また、ルータ１は、他のルータ４，５（それぞれアドレス「ｄｄ」と「ｅｅ」）を介してネットワーク８ｃに接続されている。ネットワーク８ｃには、マルチキャスト送信端末装置３（ユニキャストアドレス「ｂｂ」、マルチキャストアドレス「ｃｃ」）が接続されている。
【００３４】
端末装置２は、ユーザが使用するコンピュータである。端末装置２は、マルチキャスト送信端末装置３が配信するマルチキャストデータ７を受信する際には、マルチキャスト送信端末装置３宛のマルチキャスト受信要求６を定期的（例えば、３０秒毎）に出力する。マルチキャスト受信要求６は、送信先のアドレスとして、マルチキャスト送信端末装置３のユニキャストアドレスが指定される。また、マルチキャスト受信要求６には、マルチキャスト送信端末装置３のマルチキャストアドレスが含まれる。
【００３５】
マルチキャスト送信端末装置３は、マルチキャストデータ７をネットワーク８ｃを介して送信する。
ルータ１，４，５は、端末装置２から出力されたマルチキャスト受信要求６をマルチキャスト送信端末装置３に対して転送する。その際、ルータ１，４，５は、予め設定された既定の伝送路上の全てのリンクが接続されていれば、既定の伝送路上の隣接するルータにマルチキャスト受信要求６を転送する。また、ルータ１，４，５は、予め設定された既定の伝送路上に切断されたリンクがあれば、既定の伝送路と異なる伝送路上の隣接するルータにマルチキャスト受信要求６を転送する。また、ルータ１，４，５は、マルチキャストデータ７を、マルチキャスト受信要求６の伝送路を逆方向に転送する。
【００３６】
ルータ１は、異なるネットワーク間のデータを中継するために、複数の通信インタフェース１ｆ，１ｇ，１ｈ，１ｉ（それぞれの識別場号は「Ｉ／Ｆ＃１」、「Ｉ／Ｆ＃２」、「Ｉ／Ｆ＃３」、「Ｉ／Ｆ＃４」）を有している。さらに、ルータ１は、マルチキャスト受信要求６とマルチキャストデータ７との転送を行うために、図１に示す各処理機能を有している。なお、他のルータ４，５もルータ１と同様の機能を有している。ルータ１が有する機能は、以下の通りである。
【００３７】
リンク管理手段１ａは、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンク（ネットワーク層における通信状態）が接続状態か切断状態かを示す状態情報をリンク状態テーブル１ａａに設定する。リンク状態テーブル１ａａは、例えば、装置間のリンクを一意に識別するためのリンク番号に対応づけて、リンクの状態が登録される。リンク状態は、例えば、接続状態であれば「ＵＰ」、切断状態であれば「ＤＯＷＮ」となる。
【００３８】
なお、リンク管理手段１ａは、例えば、ｐｉｎｇコマンドによる応答確認を行うことで、各リンクの状態を認識することができる。また、リンク管理手段１ａは、ＯＳＰＦデータベースと連携して、各リンクの状態を認識することもできる。
【００３９】
既定伝送路管理手段１ｂは、リンク状態テーブル１ａａを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置３までの既定伝送路が設定された既定伝送路管理テーブル１ｂａに対し、既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する。リンク状態テーブル１ａａには、例えば、マルチキャスト送信端末装置３のマルチキャストアドレス（図１の例では「ｃｃ」）に対応づけて、マルチキャスト受信要求を転送するための既定伝送路が、既定伝送路上のリンクのリンク番号（全リンク番号）によって定義される。
【００４０】
また、既定伝送路管理テーブル１ｂａには、マルチキャストアドレスに対応づけて、既定伝送路上で隣接するルータのアドレス（マルチキャスト受信要求送信先）が登録される。図１の例では、マルチキャスト送信端末装置３（マルチキャストアドレス「ｃｃ」に対する既定伝送路は、ルータ５（アドレス「ｅｅ」を経由した伝送路であり、マルチキャスト受信要求送信先としてルータ５のアドレスが登録されている。
【００４１】
そして、既定伝送路管理テーブル１ｂａでは、全てのリンクが接続状態の既定伝送路には「ＵＰ」の状態が設定される。また、既定伝送路管理テーブル１ｂａでは、少なくとも１つのリンクが切断された既定伝送路には「ＤＯＷＮ」の状態が設定される。
【００４２】
状態判断手段１ｃは、マルチキャスト送信端末装置３を指定したマルチキャスト受信要求６を受信すると、既定伝送路管理テーブル１ｂａを参照し、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かを判断する。すなわち、状態判断手段１ｃは、マルチキャスト受信要求６の宛先であるマルチキャスト送信端末装置３のマルチキャストアドレスに対応するレコードを既定伝送路管理テーブル１ｂａから検索する。そして、状態判断手段１ｃは、検出したレコードの状態が「ＵＰ」か「ＤＯＷＮ」かにより、伝送路の状態を判断する。
【００４３】
マルチキャスト受信要求送信手段１ｄは、既定伝送路上の全てのリンクが接続されている場合、伝送路上で隣接するルータに対してマルチキャスト受信要求６を送信する。一方、マルチキャスト受信要求送信手段１ｄは、既定伝送路上に切断されたリンクが存在する場合、マルチキャスト送信端末装置３までのリンクが全て接続されている伝送路の１つを選択し、選択した伝送路にマルチキャスト受信要求６を送信する。
【００４４】
なお、既定伝送路上に切断されたリンクが存在する場合、マルチキャスト受信要求送信手段１ｄは、例えば、ユニキャストルーティングテーブル１ｄａを参照して、伝送路を選択することができる。
【００４５】
図１の例では、ユニキャストルーティングテーブル１ｄａには、宛先のマルチキャスト送信端末装置３のマルチキャストアドレス「ｂｂ」（目的ネットワーク）に対応づけて、伝送路毎のコスト、および隣接するルータのアドレス（ゲートウェイ）が登録されている。この場合、マルチキャスト受信要求送信手段１ｄは、ユニキャストルーティングテーブル１ｄａからマルチキャスト送信端末装置３のユニキャストアドレスに対応する伝送路のうち、コストが最も低い伝送路を選択する。そして、マルチキャスト受信要求送信手段１ｄは、選択した伝送路上で隣接するルータ（図１の例ではアドレスが「ｄｄ」のルータ４）に対して、マルチキャスト受信要求６を送信する。
【００４６】
マルチキャストデータ転送手段１ｅは、マルチキャスト受信要求６が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブル１ｅａに登録する。例えば、マルチキャストルーティングテーブル１ｅａには、送信端末アドレス（マルチキャスト送信端末装置３のユニキャストアドレスとマルチキャストアドレス）、受信インタフェース（マルチキャスト受信要求６を出力した通信インタフェースに識別番号）、および送信インタフェースリスト（マルチキャスト送信端末装置３宛のマルチキャスト受信要求が入力された通信インタフェースのリスト）の組が登録される。
【００４７】
さらに、マルチキャストデータ転送手段１ｅは、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストルーティングテーブル１ｅａを参照し、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７を送信する。具体的には、マルチキャストデータ転送手段１ｅは、マルチキャストルーティングテーブル１ｅａの受信インタフェースから入力されたマルチキャストデータ７が、送信端末アドレスで示されたマルチキャスト送信端末装置３から出力されたものであれば、送信インタフェースリストで示された通信インタフェースからマルチキャストデータを出力する。
【００４８】
このようなマルチキャストルーティングプログラムを実行するコンピュータによれば、リンク管理手段１ａにより、ネットワークに接続された装置間のリンクの状態が監視され、装置間のリンクが接続状態か切断状態かを示す状態情報がリンク状態テーブル１ａａに設定される。また、既定伝送路管理手段１ｂにより、リンク状態テーブル１ａａが参照され、マルチキャスト送信端末装置３までの既定伝送路が設定された既定伝送路管理テーブル１ｂａに対し、既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報が設定される。
【００４９】
マルチキャスト送信端末装置３を指定したマルチキャスト受信要求６を受信すると、状態判断手段１ｃにより、既定伝送路管理テーブル１ｂａが参照され、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かが判断される。既定伝送路上の全てのリンクが接続されている場合、マルチキャスト受信要求送信手段１ｄにより、伝送路上で隣接するルータに対してマルチキャスト受信要求６が送信される。既定伝送路上に切断されたリンクが存在する場合、マルチキャスト受信要求送信手段１ｄにより、マルチキャスト送信端末装置３までのリンクが全て接続されている伝送路の１つが選択され、選択した伝送路にマルチキャスト受信要求６が送信される。すると、マルチキャストデータ転送手段１ｅにより、マルチキャスト受信要求６が入力された通信インタフェースの識別情報がマルチキャストルーティングテーブル１ｅａに登録される。
【００５０】
なお、端末装置２からは、マルチキャスト受信要求６が定期的に出力される。従って、ネットワーク上の障害により、既定伝送路が切断状態になると、その後に出力されるマルチキャスト受信要求６は、既定伝送路とは異なる伝送路へ転送される。これにより、マルチキャストデータ転送手段１ｅのマルチキャストルーティングテーブル１ｅａの内容（受信インタフェース）も変更される。
【００５１】
そして、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストデータ転送手段１ｅにより、マルチキャストルーティングテーブル１ｅａが参照され、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７が送信される。
【００５２】
このように、既定伝送路が正常に接続されている場合、マルチキャスト受信要求６を経由で転送し、既定伝送路上に障害が発生した場合には、他の伝送路で転送するようにした。既定伝送路は予め任意に定義しておくことができるため、既定伝送路に障害が発生していない場合、マルチキャストデータ７をユニキャストデータとは異なる伝送路経由で転送することができる。また、既定伝送路に障害が発生した場合、マルチキャストデータの伝送路をダイナミックに変更（回線障害時の自動迂回）することができる。これにより、マルチキャストデータを、ユニキャストデータと異なる伝送路で転送した場合の信頼性が向上する。
【００５３】
次に、本発明の実施の形態の詳細を説明する。
図２は、本発明の実施の形態のシステム構成例を示す図である。ルータ１００，２１０，２２０，２３０，２４０，２５０（レイヤ３スイッチを含む）間には、光ファイバがはりめぐらされている。具体的には、ルータ１００は、ルータ２１０とルータ２２０とに接続されている。ルータ２１０は、ルータ２３０に接続されている。ルータ２２０は、ルータ２４０に接続されている。ルータ２３０とルータ２４０とは、ルータ２５０に接続されている。これにより、ルータ１００とルータ２５０との間が、複数の経路で接続される。ルータ間が複数の経路で接続されることで、光ファイバ断などの回線障害時等にダイナミックルーティングにより自動迂回が可能となる。
【００５４】
ルータ１００には、ネットワークのセグメント１０，２０が接続されている。セグメント１０には、端末装置１１が接続されている。セグメント２０には、端末装置２１が接続されている。
【００５５】
ルータ２５０には、ネットワークのセグメント３０，４０が接続されている。セグメント３０には、端末装置３１とマルチキャスト送信端末装置３２とが接続されている。セグメント４０には、端末装置４１とマルチキャスト送信端末装置４２とが接続されている。
【００５６】
マルチキャスト送信端末装置３２，４２は、マルチキャストで配信するソースデータを生成し、出力する装置である。例えば、マルチキャスト送信端末装置３２，４２として、ネットワークインタフェースを有する監視カメラが用いられる。ネットワークに接続された多数の監視カメラを河川沿いに配置すれば、監視カメラで撮影した映像をリアルタイムにブロードキャストで配信できる。これにより、ネットワーク上の端末装置１１，２１において、河川監視を行うことができる。
【００５７】
なお、マルチキャスト送信端末装置３２，４２は、マルチキャストアドレスとユニキャストアドレスとを有している。マルチキャストアドレスは、マルチキャストデータの送信時に、送信元のアドレスとして使用される。ユニキャストアドレスは、ユニキャストデータの送受信に使用される。この例では、マルチキャスト送信端末装置３２のユニキャストアドレスが「10.162.202.1」であり、マルチキャストアドレスが「239.196.90.1」であるものとする。
【００５８】
各ルータ１００，２１０，２２０，２３０，２４０，２５０は、ＯＳＰＦにより、データの経路制御を行っている。各ルータ１００，２１０，２２０，２３０，２４０，２５０は、ダイナミックルーティングにより各セグメント情報を収集してユニキャストルーティングテーブルを構成する。ユニキャストルーティングテーブルには、各ルータ１００，２１０，２２０，２３０，２４０，２５０に接続された経路を介した通信のコストが設定されている。
【００５９】
ルータ１００とルータ２１０との間の経路のコストは「１」である。ルータ２１０とルータ２３０との間のコストは「１」である。ルータ２３０とルータ２４０との間のコストは「１」である。ルータ１００とルータ２２０との間のコストは「１０」である。ルータ２２０とルータ２４０との間のコストは「１０」である。ルータ２４０とルータ２５０との間のコストは「１０」である。各ルータ１００，２１０，２２０，２３０，２４０，２５０は、コストの低くなる経路を選択することで、データのルーティングを行う。
【００６０】
また、各ルータ１００，２１０，２２０，２３０，２４０，２５０は、識別番号（例えば、ＩＰアドレス）を有している。ルータ１００の識別番号は「ルータ＃１」、ルータ２１０の識別番号は「ルータ＃２」、ルータ２２０の識別番号は「ルータ＃３」、ルータ２３０の識別番号は「ルータ＃４」、ルータ２４０の識別番号は「ルータ＃５」、ルータ２５０の識別番号は「ルータ＃６」である。
【００６１】
図３は、本実施の形態に用いるサーバのハードウェア構成例を示す図である。ルータ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、ＬＡＮインタフェース１０４，１０５、および光通信インタフェース１０６，１０７が接続されている。
【００６２】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００６３】
ＬＡＮインタフェース１０４は、セグメント１０に接続されている。ＬＡＮインタフェース１０４は、セグメント１０を介して、端末装置１１との間でデータの送受信を行う。
ＬＡＮインタフェース１０５は、セグメント２０に接続されている。ＬＡＮインタフェース１０５は、セグメント２０を介して、端末装置２１との間でデータの送受信を行う。
【００６４】
光通信インタフェース１０６は、光ファイバを介してルータ２１０に接続されている。光通信インタフェース１０６は、ルータ２１０との間でデータの送受信を行う。
光通信インタフェース１０７は、光ファイバを介してルータ２２０に接続されている。光通信インタフェース１０７は、ルータ２２０との間でデータの送受信を行う。
【００６５】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、ルータ１００のハードウェア構成例を示したが、他のルータ２１０，２２０，２３０，２４０，２５０も同様のハードウェアで実現することができる。
【００６６】
図４は、サーバの機能を示すブロック図である。ルータ１００は、ユニキャストルーティング部１１０、マルチキャストルーティング部１２０、およびマルチキャストダイナミックルーティング管理部１３０を有している。
【００６７】
ユニキャストルーティング部１１０は、ユニキャストデータのルーティングを行う。ユニキャストルーティング部１１０は、ユニキャストルーティングテーブル１１１と、状態管理データベース（ＤＢ）１１２とを有している。ユニキャストルーティングテーブル１１１には、ユニキャストで配信されるデータの宛先と、その宛先に通じる伝送路上で隣接するルータとの対応関係等が登録されている。リンク状態管理ＤＢ１１２には、他のルータとの間のリンクが確立しているか否に関する情報が管理されている。
【００６８】
マルチキャストルーティング部１２０は、マルチキャストデータのルーティングを行う。マルチキャストルーティング部１２０は、マルチキャストルーティングテーブル群１２１を有している。マルチキャストルーティングテーブル群１２１には、マルチキャストデータを配信するマルチキャスト送信端末装置のマルチキャストアドレスと、ユニキャストアドレスとの対応関係等が登録されたマルチキャストルーティングテーブルの集合である。
【００６９】
マルチキャストダイナミックルーティング管理部１３０は、マルチキャストデータの伝送経路をダイナミックに制御する。マルチキャストダイナミックルーティング管理部１３０は、マルチキャストリンク確認部１３１とマルチキャストスタティック確認部１３２とを有している。
【００７０】
マルチキャストリンク確認部１３１は、マルチキャスト受信要求（ｊｏｉｎメッセージ）が通過するルータ間のリンクの状態をリンク状態テーブル１３１ａに登録しておき、リンクの状態を管理する。
【００７１】
リンク状態テーブル１３１ａには、リンク番号、リンク、および状態の欄が設けられている。各欄の横方向に隣接するデータ同士が互いに関連づけられ、リンク毎のレコードを構成している。
【００７２】
リンク番号の欄には、リンクの識別番号が登録される。リンクの欄には、リンクの両端に位置するルータの識別番号が登録される。状態の欄には、リンクが接続されているか状態（ＵＰ）か、あるいはリンクが切断されている状態（ＤＯＷＮ）かが設定されている。
【００７３】
リンク状態テーブル１３１ａの状態の欄は、マルチキャストリンク確認部１３１によって適宜更新される。具体的には、マルチキャストリンク確認部１３１は、定期的に各サーバ間のリンクの状態を確認し、その結果に基づいてリンク状態テーブル１３１ａのリンクの欄を更新する。リンク状態の確認方法としては、例えば、他のルータの光通信インタフェースに対するPing応答確認によって、リンク状態を確認することができる。また、ＯＳＰＦによるダイナミックルーティングをおこなっている場合、ＯＳＰＦの状態管理ＤＢ１１２と連携してリンク状態を確認することができる。
【００７４】
マルチキャストスタティック確認部１３２は、マルチキャスト受信要求（ｊｏｉｎメッセージ）の送信先を登録しておき、該当マルチキャストアドレス宛ての全リンク番号がＵＰ状態か否かを、スタティックルート管理テーブル１３２ａを用いて管理する。
【００７５】
スタティックルート管理テーブル１３２ａには、マルチキャストアドレス、マルチキャスト受信要求送信先、全体リンク番号、および状態の欄が設けられている。各欄の横方向に隣接するデータ同士が互いに関連づけられ、伝送路毎のレコードを構成している。
【００７６】
マルチキャストアドレスの欄には、マルチキャストデータを送信するマルチキャスト送信端末装置３２，４２のマルチキャストアドレスが登録される。マルチキャスト受信要求送信先の欄には、マルチキャスト送信端末装置３２，４２までの伝送路上で隣接するルータの識別番号が登録される。全リンク番号の欄には、マルチキャスト送信端末装置３２，４２までの伝送路上に存在する全てのルータの識別番号が登録される。状態の欄には、マルチキャスト送信端末装置３２，４２までの伝送路が通信可能（ＵＰ）か否か（ＤＯＷＮ）の状態を示す情報が登録される。
【００７７】
以下、図５〜図７を参照して、ユニキャストルーティングテーブル１１１、状態管理ＤＢ１１２、およびマルチキャストルーティングテーブル群１２１の内容を詳細に説明する。
【００７８】
図５は、ユニキャストルーティングテーブルのデータ構造例を示す図である。ユニキャストルーティングテーブル１１１には、ルーティングプロトコル種別、目的ネットワーク、コスト、ゲートウェイ等の欄が設けられている。各欄の横方向に隣接したデータ同士が互いに関連づけられており、ユニキャストデータの送信先毎のレコードを構成している。
【００７９】
ルーティングプロトコル種別の欄には、ユニキャストデータのルーティングプロトコルが設定される。この例では、ルーティングプログラムがＯＳＰＦの場合「Ｏ」が登録され、ルーティングプロトコルがＲＩＰ（Routing information protocol）の場合「Ｒ」が登録される。
【００８０】
目的ネットワークの欄には、データの宛先のＩＰアドレスと、サブネットワークアドレスとが登録される。
コストの欄には、データの宛先となる端末装置までのコストが登録される。このコストは、宛先となる装置までの伝送路を構成する各リンクに対するコストの合算値である。
【００８１】
ゲートウェイの欄には、宛先となる装置までの伝送路上で隣接するルータのＩＰアドレスが登録される。
図６は、状態管理ＤＢのデータ構造例を示す図である。状態管理ＤＢ１１２には、リンクＩＤ、ＡＤＶルータ、Age等の欄が設けられている。各欄の横方向に隣接したデータ同士が互いに関連づけられており、セグメント毎の管理情報のレコードを構成している。
【００８２】
リンクＩＤの欄には、データの宛先となるセグメントの識別情報が登録される。ＡＤＶルータの欄には、管理情報を通知したルータのＩＰアドレスが登録される。Age等の欄には、レコードが登録されてからの経過時間が登録される。
【００８３】
状態管理ＤＢ１１２には、通信経路が存在するセグメントに関するレコードが登録されている。すなわち、マルチキャストスタティック確認部１３２は、状態管理ＤＢ１１２に登録されているセグメントへのリンクをＵＰ状態と判断し、状態管理ＤＢ１１２に登録されていないセグメントへのリンクをＤＯＷＮ状態と判断する。
【００８４】
図７は、マルチキャストルーティングテーブルのデータ構造例を示す図である。マルチキャストルーティングテーブル群１２１には、マルチキャスト送信端末装置毎のマルチキャストルーティングテーブル１２１ａ，１２１ｂ，・・・で構成されている。
【００８５】
各マルチキャストルーティングテーブル１２１ａ，１２１ｂ，・・・には、送信端末アドレス、受信インタフェース（Incoming interface）、送信インタフェースリスト（Outgoing interface list）の各欄が設けられている。送信端末アドレスの欄には、マルチキャスト送信端末装置のユニキャストアドレスと、マルチキャストアドレスとの組が登録されている。括弧内の左側がユニキャストアドレスであり、右側がマルチキャストアドレスである。なお、ユニキャストアドレスとして、「＊」の記号が登録される場合がある。この記号は、ランデブーポイントがマルチキャストデータの送信先となることを示している。
【００８６】
なお、ランデブーポイントとは、複数のマルチキャストグループがあってもひとつのディストリビューションツリーを共有して、マルチキャストデータのルーティングを行う場合の、ツリーを共有するために中心となるルータである。
【００８７】
受信インタフェースの欄には、マルチキャストデータを受信しているインタフェース（ＬＡＮインタフェースまたは光通信インタフェース）のサーバ１００内での識別番号が登録される。送信インタフェースリストの欄には、マルチキャストデータを送信する１つ以上のインタフェースのサーバ１００内での識別番号が登録される。
【００８８】
次に、マルチキャストリンク確認部１３１とマルチキャストスタティック確認部１３２とで実行される処理を詳細に説明する。
図８は、マルチキャストリンク確認部の状態登録の処理手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
【００８９】
［ステップＳ１１］マルチキャストリンク確認部１３１は、新たなリンク関係が認識された場合、リンク状態テーブル１３１ａにリンク情報を登録する。例えば、マルチキャストリンク確認部１３１は、ユニキャストルーティング部１１０の状態管理ＤＢ１１２を参照し、リンク情報が新たに登録されたことを検出することで、新たなリンク関係を認識できる。
【００９０】
［ステップＳ１２］マルチキャストリンク確認部１３１は、登録されているリンク情報に基づいて、そのリンクのルータ間のリンク状態を確認する。例えば、マルチキャストリンク確認部１３１は、ユニキャストルーティング部１１０の状態管理ＤＢ１１２を参照することで、その時点でのリンク状態を確認することができる。
【００９１】
［ステップＳ１３］マルチキャストリンク確認部１３１は、ルータ間のリンク状態がＵＰか否かを判断する。ＵＰ状態であれば処理がステップＳ１４に進められる。ＤＯＷＮ状態であれば処理がステップＳ１５に進められる。
【００９２】
［ステップＳ１４］マルチキャストリンク確認部１３１は、リンク状態テーブル１３１ａの該当するリンクの状態の欄に「ＵＰ」を登録する。その後、処理がステップＳ１６に進められる。
【００９３】
［ステップＳ１５］マルチキャストリンク確認部１３１は、リンク状態テーブル１３１ａの該当するリンクの状態の欄に「ＤＯＷＮ」を登録する。
［ステップＳ１６］マルチキャストリンク確認部１３１は、所定時間待機し、処理をステップＳ１７に進める。
【００９４】
［ステップＳ１７］マルチキャストリンク確認部１３１は、システムの処理終了の指示がある場合には処理を終了し、そうでない場合には処理をステップＳ１２に進め、リンク状態の確認と状態の更新処理を繰り返す。
【００９５】
このようにして、周期的にリンク状態を更新することができる。
図９は、マルチキャストスタティック確認部の状態登録の処理手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００９６】
［ステップＳ２１］マルチキャストスタティック確認部１３２は、スタティックルート管理テーブル１３２ａに新たなレコードを登録する。具体的には、マルチキャストスタティック確認部１３２は、新たなマルチキャスト送信端末装置に関する情報を、「マルチキャストアドレス」「マルチキャスト受信要求送信先」「リンク番号」の各欄に登録する。
【００９７】
［ステップＳ２２］マルチキャストスタティック確認部１３２は、登録されている全リンク番号の状態を確認する。具体的には、マルチキャストスタティック確認部１３２は、登録されている全リンク番号の状態をマルチキャストリンク確認部１３１に問い合わせ、伝送路上の全てのリンクの状態（ＵＰかＤＯＷＮか）を示す応答を取得する。
【００９８】
［ステップＳ２３］マルチキャストスタティック確認部１３２は、全てのリンクの状態が「ＵＰ」であるか否かを判定する。全てのリンク状態が「ＵＰ」であれば処理がステップＳ２４に進められる。少なくとも１つのリンクにおいて状態が「ＤＯＷＮ」となっていれば、処理がステップＳ２５に進められる。
【００９９】
［ステップＳ２４］マルチキャストスタティック確認部１３２は、スタティックルート管理テーブル１３２ａ内のレコードに、伝送路の状態として「ＵＰ」を登録する。その後、処理がステップＳ２６に進められる。
【０１００】
［ステップＳ２５］マルチキャストスタティック確認部１３２は、スタティックルート管理テーブル１３２ａ内のレコードに、伝送路の状態として「ＤＯＷＮ」を登録する。
［ステップＳ２６］マルチキャストスタティック確認部１３２は、システムの処理終了の指示がある場合には処理を終了し、そうでない場合には処理をステップＳ２２に進め、リンク状態の確認と状態の更新処理を繰り返す。
【０１０１】
このようにして、周期的に伝送路の状態を更新することができる。
次に、マルチキャスト受信要求を受け取った際のサーバ１００での処理手順について説明する。
【０１０２】
図１０は、マルチキャスト受信要求に応じた処理手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。なお、以下の処理は、マルチキャスト受信要求を取得した際に開始される。
【０１０３】
［ステップＳ３１］ルータ１００がマルチキャスト受信要求を受信すると、マルチキャストルーティング部１２０は、マルチキャスト受信要求の送信先に応じたマルチキャストルーティングテーブルを、マルチキャストルーティングテーブル群１２１に追加する。
【０１０４】
［ステップＳ３２］マルチキャストスタティック確認部１３２が、マルチキャスト受信要求の送信先となる隣接ルータを検索する。すなわち、マルチキャストスタティック確認部１３２は、スタティックルート管理テーブル１３２ａのマルチキャストアドレスの欄から、マルチキャスト受信要求で示されるマルチキャストアドレスを検索し、対応するマルチキャスト受信要求送信先を取得する。
【０１０５】
［ステップＳ３３］マルチキャストスタティック確認部１３２は、マルチキャスト受信要求で示されるマルチキャストアドレスがスタティックルート管理テーブル１３２ａに登録されていたか否かを判定する。登録されていた場合、処理がステップＳ３４に進められる。登録されていなかった場合、処理がステップＳ３７に進められる。
【０１０６】
［ステップＳ３４］マルチキャスト受信要求で示されるマルチキャストアドレスがスタティックルート管理テーブル１３２ａに登録されている場合、マルチキャストスタティック確認部１３２は、該当するレコードの状態が「ＵＰ」か否かを判定する。「ＵＰ」状態の場合、処理がステップＳ３５に進められる。「ＤＯＷＮ」状態の場合、処理がステップＳ３７に進められる。
【０１０７】
［ステップＳ３５］マルチキャストスタティック確認部１３２は、ステップＳ３２で取得したマルチキャスト受信要求送信先を、マルチキャストルーティング部１２０に渡す。すると、マルチキャストルーティング部１２０は、受け取ったマルチキャスト受信要求送信先に対して、マルチキャスト受信要求のデータを送信する。
【０１０８】
［ステップＳ３６］マルチキャストルーティング部１２０は、マルチキャスト受信要求に応じたマルチキャストルーティングテーブルを生成し、マルチキャストルーティングテーブル群１２１に追加する。その後、処理が終了する。
【０１０９】
［ステップＳ３７］マルチキャストスタティック確認部１３２は、マルチキャストルーティング部１２０に対して、スタティックルート管理テーブル１３２ａにマルチキャストの通信可能なスタティックルートが存在しないことを通知する。すると、マルチキャストルーティング部１２０は、ユニキャストルーティングテーブル１１１にマルチキャスト受信要求で示されるユニキャストアドレス（マルチキャスト送信端末装置のユニキャストアドレス）が登録されているか否かを、ユニキャストルーティング部１１０に問い合わせる。登録されている場合、処理がステップＳ３８に進められる。登録されていない場合、処理がステップＳ４０に進められる。
【０１１０】
［ステップＳ３８］マルチキャストルーティング部１２０は、ユニキャストルーティング部１１０から、マルチキャスト受信要求で示されるユニキャストアドレスのレコードのうち、コストが最小となるレコード（最短経路を示す）に登録されたゲートウェイの情報（隣接するサーバのＩＰアドレス）を取得する。そして、マルチキャストルーティング部１２０は、取得したＩＰアドレス宛に、マルチキャスト受信要求のデータを送信する。
【０１１１】
［ステップＳ３９］マルチキャストルーティング部１２０は、マルチキャスト受信要求に応じたマルチキャストルーティングテーブルを生成し、マルチキャストルーティングテーブル群１２１に追加する。その後、処理が終了する。
【０１１２】
［ステップＳ４０］マルチキャストルーティング部１２０は、受信したマルチキャスト受信要求を破棄する。その後、処理が終了する。
以上のように、マルチキャストダイナミックルーティング管理部１３０が、マルチキャストルーティング部１２０と連携して動作することにより、マルチキャストデータとユニキャストデータとの分散ルーティング、および自動迂回（ダイナミックルーティング）が実現される。
【０１１３】
以下、本実施の形態のネットワークにおけるユニキャストデータとマルチキャストデータとの送受信例について説明する。以下の例では、端末装置１１と端末装置３１との間および端末装置２１と端末装置４１との間でユニキャストデータの送受信を行うと共に、マルチキャスト送信端末装置３２から端末装置１１へ、およびマルチキャスト送信端末装置４２から端末装置２１へ、マルチキャストデータを送信するものとする。
【０１１４】
図１１は、ユニキャストデータの伝送状況を示す図である。ユニキャストデータ５１，５２は、コストが低くなる伝送路を経由して送受信される。本実施の形態では、ルータ１００、ルータ２１０、ルータ２３０およびルータ２５０を経由した伝送路のルータ間のコストは「１」である。一方、ルータ１００、ルータ２２０、ルータ２４０およびルータ２５０を経由した伝送路のルータ間のコストは「１０」である。
【０１１５】
そのため、端末装置１１と端末装置３１との間のユニキャストデータ５１は、ルータ１００、ルータ２１０、ルータ２３０、およびルータ２５０を経由した伝送路を通る。同様に、端末装置２１と端末装置４１との間のユニキャストデータ５２は、ルータ１００、ルータ２１０、ルータ２３０、およびルータ２５０を経由した伝送路を通る。
【０１１６】
ここで、マルチキャスト送信端末装置３２が配信しているマルチキャストデータを、端末装置１１で取得する場合、端末装置１１からマルチキャスト送信端末装置３２宛に、マルチキャスト受信要求が送信される。マルチキャスト受信要求では、データの宛先としてマルチキャスト送信端末装置３２のユニキャストアドレスが指定され、データ内の情報としてマルチキャスト送信端末装置３２のマルチキャストアドレスが含まれている。
【０１１７】
同様に、マルチキャスト送信端末装置４２が配信しているマルチキャストデータを、端末装置２１で取得する場合、端末装置２１からマルチキャスト送信端末装置４２宛に、マルチキャスト受信要求が送信される。マルチキャスト受信要求では、データの宛先としてマルチキャスト送信端末装置４２のユニキャストアドレスが指定され、データ内の情報としてマルチキャスト送信端末装置４２のマルチキャストアドレスが含まれている。
【０１１８】
図１２は、マルチキャスト受信要求の伝送経路を示す図である。各端末装置１１，２１から出力されたマルチキャスト受信要求は、各ルータ１００，２１０，２２０，２３０，２４０，２５０内に予め設定されたスタティックルート管理テーブルに登録されたマルチキャスト受信要求転送先に基づいて伝送路が決定され、マルチキャスト送信端末装置３２，４２に送られる。
【０１１９】
この例では、ルータ１００には、マルチキャスト受信要求転送先としてルータ２２０のＩＰアドレスが設定されている。ルータ２２０には、マルチキャスト受信要求転送先としてルータ２４０のＩＰアドレスが設定されている。ルータ２４０には、マルチキャスト受信要求転送先としてルータ２５０のＩＰアドレスが設定されている。
【０１２０】
ルータ１００では、受信したマルチキャスト受信要求で指定されたマルチキャストアドレスに対応するレコードをスタティックルート管理テーブル１３２ａから取得し、伝送路の状態が「ＵＰ」であることを確認する。図１２の例では、伝送路の状態は「ＵＰ」であるため、サーバ１００は、マルチキャストアドレスに対応づけて登録されているマルチキャスト受信要求送信先であるルータ２２０に対してマルチキャスト受信要求を送信する。以後、ルータ２２０、ルータ２４０、およびルータ２５０が同様にマルチキャスト受信要求を中継する。
【０１２１】
その結果、端末装置１１から出力されたマルチキャスト受信要求６１は、ルータ１００，２２０，２４０，２５０を経由して、マルチキャスト送信端末装置３２に渡される。同様に、端末装置２１から出力されたマルチキャスト受信要求６２は、ルータ１００，２２０，２４０，２５０を経由して、マルチキャスト送信端末装置４２に渡される。
【０１２２】
マルチキャスト受信要求６１，６２を中継した各ルータ１００，２２０，２４０，２５０では、それぞれのマルチキャストルーティング部において、マルチキャスト受信要求６１，６２毎のマルチキャストルーティングテーブルが記憶される。マルチキャストルーティングテーブルには、マルチキャスト受信要求６１，６２の宛先となるマルチキャスト送信端末装置３２，４２のアドレス（ユニキャストアドレスとマルチキャストアドレス）、受信インタフェース、および送信インタフェースリストが含まれる。
【０１２３】
その後、マルチキャスト送信端末装置３２，４２から出力されるマルチキャストデータが、マルチキャスト受信要求６１，６２の伝送路を逆に辿り、端末装置１１，２１に伝送される。
【０１２４】
図１３は、マルチキャストデータの伝送路を示す図である。マルチキャスト送信端末装置３２から出力されたマルチキャストデータ７１は、始めにルータ２５０に入力される。ルータ２５０では、マルチキャスト送信端末装置３２のマルチキャストアドレスに対応するマルチキャストルーティングテーブルを参照し、送信インタフェースリストを取得する。そして、ルータ２５０は、送信インタフェースリストに含まれるインタフェース（光通信インタフェースまたはＬＡＮインタフェース）からマルチキャストデータを出力する。
【０１２５】
これにより、マルチキャストデータ７１，７２は、ルータ２５０からルータ２４０に転送される。その後、同様にしてルータ２２０、ルータ１００へと順次マルチキャストデータ７１，７２が転送される。そして、マルチキャスト送信端末装置３２から出力されたマルチキャストデータ７１はサーバ１００から端末装置１１に送信され、マルチキャスト送信端末装置４２から出力されたマルチキャストデータ７２はサーバ１００から端末装置２１に送信される。
【０１２６】
以上のようにして、ユニキャストデータ５１，５２と異なる伝送路で、マルチキャストデータ７１，７２の伝送が可能となる。
ここで、ルータ２２０とルータ２４０との間の光ファイバ上で回線障害が発生し、ルータ２２０，２４０間のリンクが切断された場合を想定する。その場合、端末装置１１，２１から定期的に出力されるマルチキャスト受信要求が、図１３で示したような伝送路では伝送できなくなる。そこで、端末装置１１，２１からマルチキャスト受信要求を取得したルータ１００では、スタティックルート管理テーブル１３２ａに登録された伝送路とは別の伝送路の探索が行われる。
【０１２７】
図１４は、障害発生時のマルチキャスト受信要求の伝送路を示す図である。ルータ２２０とルータ２４０との間で回線障害が発生すると、ルータ２２０がその回線障害（ルータ２４０とのリンクが切断されたこと）を検出する。すると、ルータ２２０は、ユニキャストデータのルーティングプロトコルに従って、ルータ２４０との間のリンクが切断されたことをルータ１００に通知する。
【０１２８】
すると、ルータ１００では、スタティックルート管理テーブル１３２ａ中で、ルータ２２０とルータ２４０とを経由する伝送路の状態を「ＤＯＷＮ」に変更する。その後、端末装置１１，２１からマルチキャスト送信端末装置３２，４２宛のマルチキャスト受信要求６３，６４が出力されると、ルータ１００は、スタティックルート管理テーブル１３２ａに登録された伝送路が切断されていることを判断し、ユニキャストデータのルーティングプロトコルに沿った伝送路を決定する。
【０１２９】
その結果、サーバ１００は、マルチキャスト受信要求６３，６４をサーバ２１０に送信する。他のサーバ２１０，２４０，２５０も同様にユニキャストデータと同じ伝送路でマルチキャスト受信要求６３，６４を中継する。その結果、マルチキャスト受信要求６３，６４がマルチキャスト送信端末装置３２，４２に送られる。
【０１３０】
その後、マルチキャスト送信端末装置３２，４２から送信されるマルチキャストデータは、マルチキャスト受信要求６３，６４が伝送された伝送路を逆方向に伝送される。
図１５は、障害発生後のマルチキャストデータの伝送路を示す図である。図１５に示す様に、マルチキャストデータ７３，７４の伝送用に予め設定された伝送路で回線障害が発生すると、自動的にマルチキャストデータ７３，７４の伝送路が変更される。
【０１３１】
なお、図１１〜図１５に示した例では、２つのマルチキャスト送信端末装置３２，４２が出力するマルチキャストデータが、同じ伝送路で伝送されるように各サーバに設定されているが、それぞれ異なる伝送路で伝送させることもできる。例えば、ＶｏＩＰによる音声データと映像データなどマルチキャストデータ毎に特性が異なる場合、マルチキャストアドレス毎に伝送路を分散させることができる。その場合においても、各ルータにマルチキャストダイナミックルーティング機能を実装することで、障害発生時には予め設定された伝送路と異なる伝送路経由でマルチキャストデータの伝送を継続することができる。
【０１３２】
図１６は、マルチキャストデータを種別毎に分散させるためのマルチキャスト受信要求の伝送路を示す図である。図１６の例では、ルータ１００には、マルチキャスト送信端末装置３２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２１０が登録されている。また、ルータ１００には、マルチキャスト送信端末装置４２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２２０が登録されている。
【０１３３】
ルータ２１０には、マルチキャスト送信端末装置３２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２３０が登録されている。また、ルータ２３０には、マルチキャスト送信端末装置３２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２５０が登録されている。
【０１３４】
ルータ２２０には、マルチキャスト送信端末装置４２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２４０が登録されている。また、ルータ２４０には、マルチキャスト送信端末装置４２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２５０が登録されている。
【０１３５】
これにより、端末装置１１からマルチキャスト送信端末装置３２宛に出力されたマルチキャスト受信要求６５は、ルータ１００、ルータ２１０、ルータ２３０、およびルータ２５０を経由して、マルチキャスト送信端末装置３２に送信される。また、端末装置２１からマルチキャスト送信端末装置４２宛に出力されたマルチキャスト受信要求６６は、ルータ１００、ルータ２２０、ルータ２４０、およびルータ２５０を経由して、マルチキャスト送信端末装置４２に送信される。
【０１３６】
その結果、マルチキャスト送信端末装置３２，４２から出力されたマルチキャストデータは、異なる伝送路で配信される。
図１７は、種別毎に分散させたときのマルチキャストデータの伝送路を示す図である。図１７の例では、マルチキャスト送信端末装置３２から出力されたマルチキャストデータ７５は、ルータ２５０、ルータ２３０、ルータ２１０、およびルータ１００を経由して端末装置１１に伝送される。また、マルチキャスト送信端末装置４２から出力されたマルチキャストデータ７６は、ルータ２５０、ルータ２４０、ルータ２２０、およびルータ１００を経由して端末装置２１に伝送される。
【０１３７】
ここで、ルータ２２０とルータ２４０との間の光ファイバで回線障害が発生し、ルータ２２０，２４０間のリンクが切断されると、マルチキャスト送信端末装置４２から出力されたマルチキャストデータ７６の伝送路が変更される。その結果、図１５に示すマルチキャストデータ７４と同様の伝送路で、マルチキャストデータ７６が伝送される。
【０１３８】
このようにして、マルチキャストデータの伝送路上で回線障害が発生した場合、マルチキャストデータをダイナミックに迂回させることができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ルータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１３９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１４１】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１４２】
（付記１）  マルチキャストデータをルーティングするためのマルチキャストルーティングプログラムにおいて、
コンピュータを、
ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段、
前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段、
前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段、
前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段、
前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段、
として機能させることを特徴とするマルチキャストルーティングプログラム。
【０１４３】
（付記２）  前記マルチキャスト受信要求送信手段は、前記既定伝送路上に切断されたリンクが存在する場合、ユニキャストデータ用のルーティングテーブルを参照し、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路を選択することを特徴とする付記１記載のマルチキャストルーティングプログラム。
【０１４４】
（付記３）  前記リンク管理手段は、前記リンク状態テーブルにおいて、装置間のリンクを一意に識別するための識別番号に対応づけて、各リンクの状態情報を設定しており、
前記既定伝送路管理テーブルには、前記マルチキャスト送信端末装置のマルチキャストアドレスに対応づけて、前記既定伝送路に含まれる各リンクを識別するための識別番号が登録されており、前記既定伝送路管理手段は、前記リンク状態テーブルを参照して、前記既定伝送路管理テーブルに登録された各リンクの識別番号に対応するリンクのリンク状態を確認し、前記既定伝送路の接続状態を判断することを特徴とする付記１記載のマルチキャストルーティングプログラム。
【０１４５】
（付記４）  前記既定伝送路管理テーブルには、複数のマルチキャスト送信端末装置それぞれへの前記既定伝送路が、前記マルチキャスト送信端末装置のアドレスに対応づけて登録されていることを特徴とする付記１記載のマルチキャストルーティングプログラム。
【０１４６】
（付記５）  コンピュータにより、マルチキャストデータをルーティングするためのマルチキャストルーティング方法において、
リンク管理手段が、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブル設定し、
既定伝送路管理手段が、前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定し、
状態判断手段が、前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断し、
マルチキャスト受信要求送信手段が、前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信し、
マルチキャストデータ転送手段が、前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信する、
ことを特徴とするマルチキャストルーティング方法。
【０１４７】
（付記６）  マルチキャストデータをルーティングするマルチキャストルータにおいて、
ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段と、
前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段と、
前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段と、
前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段と、
前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段と、
を有することを特徴とするマルチキャストルータ。
【０１４８】
（付記７）  マルチキャストデータをルーティングするためのマルチキャストルーティングプログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段、
前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段、
前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段、
前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段、
前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段、
として機能させることを特徴とするマルチキャストルーティングプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図面の簡単な説明】
【０１４９】
【図１】本実施の形態の概略を示す図である。
【図２】本発明の実施の形態のシステム構成例を示す図である。
【図３】本実施の形態に用いるサーバのハードウェア構成例を示す図である。
【図４】サーバの機能を示すブロック図である。
【図５】ユニキャストルーティングテーブルのデータ構造例を示す図である。
【図６】状態管理ＤＢのデータ構造例を示す図である。
【図７】マルチキャストルーティングテーブルのデータ構造例を示す図である。
【図８】マルチキャストリンク確認部の状態登録の処理手順を示すフローチャートである。
【図９】マルチキャストスタティック確認部の状態登録の処理手順を示すフローチャートである。
【図１０】マルチキャスト受信要求に応じた処理手順を示すフローチャートである。
【図１１】ユニキャストデータの伝送状況を示す図である。
【図１２】マルチキャスト受信要求の伝送経路を示す図である。
【図１３】マルチキャストデータの伝送路を示す図である。
【図１４】障害発生時のマルチキャスト受信要求の伝送路を示す図である。
【図１５】障害発生後のマルチキャストデータの伝送路を示す図である。
【図１６】マルチキャストデータを種別毎に分散させるためのマルチキャスト受信要求の伝送路を示す図である。
【図１７】種別毎に分散させたときのマルチキャストデータの伝送路を示す図である。
【図１８】従来のダイナミックルーティングによるマルチキャストデータの送信技術を示す図である。
【図１９】従来のスタティックルーティングによるマルチキャストデータの送信技術を示す図である。
【符号の説明】
【０１５０】
１，４，５  ルータ
１ａ  リンク管理手段
１ａａ  リンク状態テーブル
１ｂ  既定伝送路管理手段
１ｂａ  既定伝送路管理テーブル
１ｃ  状態判断手段
１ｄ  マルチキャスト受信要求送信手段
１ｄａ  ユニキャストルーティングテーブル
１ｅ  マルチキャストデータ転送手段
１ｅａ  マルチキャストルーティングテーブル
１ｆ，１ｇ，１ｈ，１ｉ  通信インタフェース
２  端末装置
３  マルチキャスト送信端末装置
６  マルチキャスト受信要求
７  マルチキャストデータ
８ａ，８ｂ，８ｃ  ネットワーク
【図１】
2006229740.tif 000003
【図２】
2006229740.tif 000004
【図３】
2006229740.tif 000005
【図４】
2006229740.tif 000006
【図５】
2006229740.tif 000007
【図６】
2006229740.tif 000008
【図７】
2006229740.tif 000009
【図８】
2006229740.tif 000010
【図９】
2006229740.tif 000011
【図１０】
2006229740.tif 000012
【図１１】
2006229740.tif 000013
【図１２】
2006229740.tif 000014
【図１３】
2006229740.tif 000015
【図１４】
2006229740.tif 000016
【図１５】
2006229740.tif 000017
【図１６】
2006229740.tif 000018
【図１７】
2006229740.tif 000019
【図１８】
2006229740.tif 000020
【図１９】
2006229740.tif 000021
【手続補正書】
【提出日】平成18年4月21日(2006.4.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
コンピュータにより、マルチキャストデータをルーティングするためのマルチキャストルーティング方法において、
リンク管理手段が、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定し、
既定伝送路管理手段が、前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定し、
状態判断手段が、前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断し、
マルチキャスト受信要求送信手段が、前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信し、
マルチキャストデータ転送手段が、前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信する、
ことを特徴とするマルチキャストルーティング方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチキャストデータをルーティングするためのマルチキャストルーティングプログラム、マルチキャストルーティング方法、およびマルチキャストルータに関し、特にユニキャストデータと異なる伝送路でマルチキャストデータを伝送できるマルチキャストルーティングプログラム、マルチキャストルーティング方法、およびマルチキャストルータに関する。
【背景技術】
【０００２】
高度情報化社会の発達とともに、光ファイバが全国にはりめぐらされている。これに伴いＩＰ（Internet Protocol）ネットワークの通信速度の高速化が押し進められている。通信速度が高速になることで、従来からのＷｅｂや電子メールの通信の他に、動画像配信サービスやネットワークゲーム等、ＩＰマルチキャストを使用する通信が広範囲に使用されるようになってきている。
【０００３】
ＩＰマルチキャスト技術にはいくつかの種類があるが、ネットワークのトラフィックを効率的に使用するＰＩＭ−ＳＭ（Protocol Independent Multicast-Sparse Mode）は、その中の代表的な方式であり多くのＩＰマルチキャストネットワークにおいてこの方式が使用されている。
【０００４】
図１８は、従来のダイナミックルーティングによるマルチキャストデータの送信技術を示す図である。ルータ９０１〜９０６（レイヤ３スイッチを含む）間には、光ファイバがはりめぐらされている。これにより、各ルータ９０１〜９０６間が、複数の経路で接続される。ルータ間が複数の経路で接続されることで、光ファイバ断などの回線障害時等にダイナミックルーティングにより自動迂回が可能となる。
【０００５】
ルータ９０１には、ネットワークのセグメント９１０，９２０が接続されている。セグメント９１０には、端末装置９１１が接続されている。セグメント９２０には、端末装置９２１が接続されている。
【０００６】
ルータ９０６には、ネットワークのセグメント９３０，９４０が接続されている。セグメント９３０には、端末装置９３１とマルチキャスト送信端末装置９３２とが接続されている。セグメント９４０には、端末装置９４１とマルチキャスト送信端末装置９４２とが接続されている。マルチキャスト送信端末装置９３２，９４２は、マルチキャストで配信するソースデータを生成し、出力する装置である。
【０００７】
このネットワークは、ＯＳＰＦ（Open Shortest Path First）により、データの経路制御を行っている。各ルータ９０１〜９０６は、ダイナミックルーティングにより各セグメント情報を収集してユニキャストルーティングテーブルを構成する。ユニキャストルーティングテーブルには、各ルータ９０１〜９０６間の各経路のコストが設定されている。
【０００８】
ルータ９０１、９０２，９０４，９０６を通る経路は、それぞれのルータ間のコストが「１」に設定されている。また、ルータ９０１、９０３，９０５，９０６を通る経路は、それぞれのルータ間のコストが「１０」に設定されている。各ルータ９０１〜９０６は、コストの低くなる経路を選択することで、データのルーティングを行う。
【０００９】
ここで、端末装置９１１と端末装置９３１との間でユニキャスト通信を行う場合を考える。ユニキャストデータ９５１は、コストの低くなる経路を通り送受信される。その結果、ルータ９０１、９０２，９０４，９０６を通る経路でユニキャストデータ９５１が送受信される。
【００１０】
次に、ＰＩＭ−ＳＭ方式によるマルチキャストデータの送信手順を説明する。なお、この例では、マルチキャスト送信端末装置９３２から端末装置９１１に対して、マルチキャストデータ９５３を配信するものとする。
【００１１】
マルチキャスト送信端末装置９３２から端末装置９１１がマルチキャストデータ９５３の受信を行うためには、端末装置９１１が、マルチキャスト送信端末装置９３２のユニキャストアドレス宛てのマルチキャスト受信要求（ｊｏｉｎメッセージ）９５２を、ルータ９０１に対して送信する。なお、マルチキャスト受信要求９５２は周期的に端末装置９１１より送信される。
【００１２】
マルチキャスト受信要求９５２を受信したルータ９０１は、ユニキャストルーティングテーブルを参照して、マルチキャスト送信端末装置９３２に繋がる最もコストの低い経路を選択し、その経路上で隣接するルータ９０２に対してマルチキャスト受信要求９５２を送信する。
【００１３】
このマルチキャスト受信要求送信動作は、マルチキャスト送信端末装置９３２を含むセグメント９３０に接続されたルータ９０６まで順次行われる。ルータ９０６は、マルチキャスト受信要求９５２を受信すると、マルチキャストデータ９５３を、マルチキャスト受信要求９５２を受信した通信インタフェースから出力する。ルータ９０４、ルータ９０２、ルータ９０１も同様に、マルチキャストデータ９５３を転送する。これによりマルチキャスト受信要求９５２を送信した端末装置９１１までマルチキャストデータ９５３が送信される。
【００１４】
このように、ＰＩＭ−ＳＭ方式でマルチキャストデータ９５３を配信すると、同一セグメント９３０内の装置から端末装置９１１へのユニキャストデータ９５１とマルチキャストデータ９５３との送信は、同一経路で行われる。
【００１５】
なお、ダイナミックルーティングにおいては、回線障害時などは自動的にデータの受信経路が変更される。ただし、この場合においても、マルチキャストデータとユニキャストデータとは同一経路を辿ることとなる。
【００１６】
また、ユニキャストルーティングに沿ってマルチキャスト受信要求に送信する以外に、あらかじめマルチキャスト受信要求の送信先をスタティックに設定する方式がある。
図１９は、従来のスタティックルーティングによるマルチキャストデータの送信技術を示す図である。図１９のネットワークは、図１８に示したネットワークの各ルータ９０１〜９０６を、スタティックルーティングを行うルータ９６１〜９６６に置き換えたものである。なお、ユニキャストデータ９７１の転送方式は、図１８の場合と同様にユニキャストルーティングテーブルに従って行われる。
【００１７】
各ルータ９６１〜９６６には、予めマルチキャスト受信要求９７２（ｊｏｉｎメッセージ）のスタティック設定が行われる。図１９の例では、ルータ９６１では、マルチキャスト送信端末装置９３２のマルチキャストアドレスを指定したマルチキャスト受信要求の転送先を、ルータ９６３に設定している。同様に、ルータ９６３では、マルチキャスト送信端末装置９３２のマルチキャストアドレスを指定したマルチキャスト受信要求の転送先を、ルータ９６５に設定している。ルータ９６５では、マルチキャスト送信端末装置９３２のマルチキャストアドレスを指定したマルチキャスト受信要求の転送先を、ルータ９６６に設定している。
【００１８】
ここで、端末装置９１１からマルチキャスト送信端末装置９３２のマルチキャストアドレスを指定したマルチキャスト受信要求９７２が出力されると、そのマルチキャスト受信要求９７２がルータ９６１に渡される。ルータ９６１は、スタティック設定に従って、ルータ９６３に対してマルチキャスト受信要求９７２を送信する。この際、ユニキャストルーティングテーブルは参照されない。以後、マルチキャスト受信要求９７２は、ルータ９６３からルータ９６５に転送され、さらにルータ９６５からルータ９６６に転送される。
【００１９】
すると、マルチキャスト送信端末装置９３２からマルチキャストデータ９７３を受信しているルータ９６６は、ルータ９６５からマルチキャスト受信要求９７２を受信すると、マルチキャストデータ９７３をマルチキャスト受信要求９７２受信回線に送信する。ルータ９６５，ルータ９６３、ルータ９６１もマルチキャストデータ９７３を受信すると、同様にマルチキャスト受信要求９７２受信回線にマルチキャストデータ９７３を送信する。
【００２０】
これにより端末装置９１１までマルチキャストデータが送信される。なお、マルチキャスト受信要求９７２は周期的に端末装置９１１より送信される。
また、伝送されるデータの種別に応じて、各データに最適な経路を選択し、選択された経路に向けて受信データを送出するネットワーク中継装置も考えられている（例えば、特許文献１参照）。
【特許文献１】特開２００３−７８５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかし、ダイナミックルーティングによってマルチキャストデータを転送した場合、マルチキャストデータとユニキャストデータとが、常に同じ経路で転送されてしまう。すなわち、端末装置から出力されたマルチキャスト受信要求をルータが転送する場合、ユニキャストルーティングテーブルでマルチキャスト送信端末装置のユニキャストアドレスを検索し最短経路にマルチキャスト受信要求を送信する。このマルチキャスト受信要求の伝送経路は、ユニキャストデータの伝送経路と同じである。そして、マルチキャストデータは、マルチキャスト受信要求が辿った経路を逆方向に転送されるため、マルチキャストデータとユニキャストデータは、必ず同一回線を使用することとなる。
【００２２】
そのため、マルチキャストデータとユニキャストデータを別ルートで分散ルーティングすることができない。
なお、スタティック方式のマルチキャストルーティングを行えば、マルチキャストデータとユニキャストデータを分散することができる。ただし、この場合、マルチキャストスタティック設定回線上で障害が発生した場合、ユニキャストで使用している回線へマルチキャストデータを自動的に迂回することができない。このためネットワークの信頼性が低下するという問題がある。
【００２３】
また、特許文献１に示す技術では、通信データのプロトコルに応じて経路選択を行う技術が開示されている。しかし、マルチキャストデータの伝送路は、端末装置から出力されたマルチキャスト受信要求の伝送路によって決定されてしまう。そのため、マルチキャスト受信要求がユニキャストデータと同様に伝送された後、マルチキャスト送信端末装置から出力されたデータに対して特許文献１記載の経路選択技術を適用しても、マルチキャストデータのみを別ルートで伝送させるのは困難である。
【００２４】
すなわち、マルチキャスト受信要求が辿った経路の逆方向にマルチキャストデータを転送することで、不必要なルートにマルチキャストデータを出力せずにすむ。これは、通信の効率化を図るために必要な処理である。そのため、マルチキャスト受信要求が辿った経路に関係なくユニキャストデータとマルチキャストデータとを特許文献１に示す技術で分散ルーティングさせると、不必要なルートにマルチキャストデータが送信されてしまう。そのため、ユニキャストデータとマルチキャストデータとの分散ルーティングに、特許文献１に示す技術をそのまま適用することは困難となる。
【００２５】
本発明はこのような点に鑑みてなされたものであり、マルチキャストデータと別ルートで伝送されるユニキャストデータの信頼性を向上させることができるマルチキャストルーティングプログラム、マルチキャストルーティング方法、およびマルチキャストルータを提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明では上記課題を解決するために、図１に示すようなマルチキャストルーティングプログラムが提供される。本発明に係るマルチキャストルーティングプログラムは、マルチキャストデータをルーティングするために、図１に示す機能をコンピュータに実行させることができる。
【００２７】
リンク管理手段１ａは、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブル１ａａに設定する。既定伝送路管理手段１ｂは、リンク状態テーブル１ａａを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置３までの既定伝送路が設定された既定伝送路管理テーブル１ｂａに対し、既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する。状態判断手段１ｃは、マルチキャスト送信端末装置３を指定したマルチキャスト受信要求６を受信すると、既定伝送路管理テーブル１ｂａを参照し、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かを判断する。マルチキャスト受信要求送信手段１ｄは、既定伝送路上の全てのリンクが接続されている場合、伝送路上で隣接するルータに対してマルチキャスト受信要求６を送信し、既定伝送路上に切断されたリンクが存在する場合、マルチキャスト送信端末装置３までのリンクが全て接続されている伝送路の１つを選択し、選択した伝送路にマルチキャスト受信要求６を送信する。マルチキャストデータ転送手段１ｅは、マルチキャスト受信要求６が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブル１ｅａに登録し、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストルーティングテーブル１ｅａを参照し、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７を送信する。
【００２８】
このようなマルチキャストルーティングプログラムを実行するコンピュータによれば、リンク管理手段１ａにより、ネットワークに接続された装置間のリンクの状態が監視され、装置間のリンクが接続状態か切断状態かを示す状態情報がリンク状態テーブル１ａａに設定される。また、既定伝送路管理手段１ｂにより、リンク状態テーブル１ａａが参照され、マルチキャスト送信端末装置３までの既定伝送路が設定された既定伝送路管理テーブル１ｂａに対し、既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報が設定される。マルチキャスト送信端末装置３を指定したマルチキャスト受信要求６を受信すると、状態判断手段１ｃにより、既定伝送路管理テーブル１ｂａが参照され、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かが判断される。既定伝送路上の全てのリンクが接続されている場合、マルチキャスト受信要求送信手段１ｄにより、伝送路上で隣接するルータに対してマルチキャスト受信要求６が送信される。既定伝送路上に切断されたリンクが存在する場合、マルチキャスト受信要求送信手段１ｄにより、マルチキャスト送信端末装置３までのリンクが全て接続されている伝送路の１つが選択され、選択した伝送路にマルチキャスト受信要求６が送信される。すると、マルチキャストデータ転送手段１ｅにより、マルチキャスト受信要求６が入力された通信インタフェースの識別情報がマルチキャストルーティングテーブル１ｅａに登録される。そして、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストデータ転送手段１ｅにより、マルチキャストルーティングテーブル１ｅａが参照され、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７が送信される。
【００２９】
また、本発明では上記課題を解決するために、コンピュータにより、マルチキャストデータをルーティングするためのマルチキャストルーティング方法において、リンク管理手段が、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブル設定し、既定伝送路管理手段が、前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定し、状態判断手段が、前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断し、マルチキャスト受信要求送信手段が、前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信し、マルチキャストデータ転送手段が、前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信する、ことを特徴とするマルチキャストルーティング方法が提供される。
【００３０】
さらに、上記課題を解決するために、マルチキャストデータをルーティングするマルチキャストルータにおいて、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段と、前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段と、前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段と、前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段と、前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段と、を有することを特徴とするマルチキャストルータが提供される。
【発明の効果】
【００３１】
本発明では、既定伝送路上の全てのリンクが接続状態の場合、予め設定された既定伝送路でマルチキャスト受信要求を送信し、既定伝送路上に切断されたリンクがある場合、他の伝送路でマルチキャスト受信要求を送信するようにした。その後、マルチキャスト送信端末装置から出力されたマルチキャストデータは、マルチキャスト受信要求の転送された経路を逆方向に転送される。これにより、既定伝送路を介した通信が可能な限り、マルチキャストデータが既定伝送路経由で配信され、既定伝送路で障害等で切断されると、マルチキャストデータの伝送路が、他の通信可能な伝送路に自動的に切り替えられる。その結果、ユニキャストデータと異なる経路で配信されるマルチキャストデータの信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を図面を参照して説明する。なお、本発明の実施の形態の説明における「ルータ」は、全てマルチキャストデータのルーティングを行うことができるマルチキャストルータを指すものとする。
【００３３】
図１は、本実施の形態の概略を示す図である。マルチキャストデータ７のルーティングを行うルータ１は、ネットワーク８ａを介して端末装置２（アドレス「ａａ」）に接続されている。なお、ルータ１は、ネットワーク８ａやネットワーク８ｂを介して図示していない他の端末装置にも接続される。また、ルータ１は、他のルータ４，５（それぞれアドレス「ｄｄ」と「ｅｅ」）を介してネットワーク８ｃに接続されている。ネットワーク８ｃには、マルチキャスト送信端末装置３（ユニキャストアドレス「ｂｂ」、マルチキャストアドレス「ｃｃ」）が接続されている。
【００３４】
端末装置２は、ユーザが使用するコンピュータである。端末装置２は、マルチキャスト送信端末装置３が配信するマルチキャストデータ７を受信する際には、マルチキャスト送信端末装置３宛のマルチキャスト受信要求６を定期的（例えば、３０秒毎）に出力する。マルチキャスト受信要求６は、送信先のアドレスとして、マルチキャスト送信端末装置３のユニキャストアドレスが指定される。また、マルチキャスト受信要求６には、マルチキャスト送信端末装置３のマルチキャストアドレスが含まれる。
【００３５】
マルチキャスト送信端末装置３は、マルチキャストデータ７をネットワーク８ｃを介して送信する。
ルータ１，４，５は、端末装置２から出力されたマルチキャスト受信要求６をマルチキャスト送信端末装置３に対して転送する。その際、ルータ１，４，５は、予め設定された既定の伝送路上の全てのリンクが接続されていれば、既定の伝送路上の隣接するルータにマルチキャスト受信要求６を転送する。また、ルータ１，４，５は、予め設定された既定の伝送路上に切断されたリンクがあれば、既定の伝送路と異なる伝送路上の隣接するルータにマルチキャスト受信要求６を転送する。また、ルータ１，４，５は、マルチキャストデータ７を、マルチキャスト受信要求６の伝送路を逆方向に転送する。
【００３６】
ルータ１は、異なるネットワーク間のデータを中継するために、複数の通信インタフェース１ｆ，１ｇ，１ｈ，１ｉ（それぞれの識別場号は「Ｉ／Ｆ＃１」、「Ｉ／Ｆ＃２」、「Ｉ／Ｆ＃３」、「Ｉ／Ｆ＃４」）を有している。さらに、ルータ１は、マルチキャスト受信要求６とマルチキャストデータ７との転送を行うために、図１に示す各処理機能を有している。なお、他のルータ４，５もルータ１と同様の機能を有している。ルータ１が有する機能は、以下の通りである。
【００３７】
リンク管理手段１ａは、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンク（ネットワーク層における通信状態）が接続状態か切断状態かを示す状態情報をリンク状態テーブル１ａａに設定する。リンク状態テーブル１ａａは、例えば、装置間のリンクを一意に識別するためのリンク番号に対応づけて、リンクの状態が登録される。リンク状態は、例えば、接続状態であれば「ＵＰ」、切断状態であれば「ＤＯＷＮ」となる。
【００３８】
なお、リンク管理手段１ａは、例えば、ｐｉｎｇコマンドによる応答確認を行うことで、各リンクの状態を認識することができる。また、リンク管理手段１ａは、ＯＳＰＦデータベースと連携して、各リンクの状態を認識することもできる。
【００３９】
既定伝送路管理手段１ｂは、リンク状態テーブル１ａａを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置３までの既定伝送路が設定された既定伝送路管理テーブル１ｂａに対し、既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する。既定伝送路管理テーブル１ｂａには、例えば、マルチキャスト送信端末装置３のマルチキャストアドレス（図１の例では「ｃｃ」）に対応づけて、マルチキャスト受信要求を転送するための既定伝送路が、既定伝送路上のリンクのリンク番号（全リンク番号）によって定義される。
【００４０】
また、既定伝送路管理テーブル１ｂａには、マルチキャストアドレスに対応づけて、既定伝送路上で隣接するルータのアドレス（マルチキャスト受信要求送信先）が登録される。図１の例では、マルチキャスト送信端末装置３（マルチキャストアドレス「ｃｃ」に対する既定伝送路は、ルータ５（アドレス「ｅｅ」を経由した伝送路であり、マルチキャスト受信要求送信先としてルータ５のアドレスが登録されている。
【００４１】
そして、既定伝送路管理テーブル１ｂａでは、全てのリンクが接続状態の既定伝送路には「ＵＰ」の状態が設定される。また、既定伝送路管理テーブル１ｂａでは、少なくとも１つのリンクが切断された既定伝送路には「ＤＯＷＮ」の状態が設定される。
【００４２】
状態判断手段１ｃは、マルチキャスト送信端末装置３を指定したマルチキャスト受信要求６を受信すると、既定伝送路管理テーブル１ｂａを参照し、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かを判断する。すなわち、状態判断手段１ｃは、マルチキャスト受信要求６の宛先であるマルチキャスト送信端末装置３のマルチキャストアドレスに対応するレコードを既定伝送路管理テーブル１ｂａから検索する。そして、状態判断手段１ｃは、検出したレコードの状態が「ＵＰ」か「ＤＯＷＮ」かにより、伝送路の状態を判断する。
【００４３】
マルチキャスト受信要求送信手段１ｄは、既定伝送路上の全てのリンクが接続されている場合、伝送路上で隣接するルータに対してマルチキャスト受信要求６を送信する。一方、マルチキャスト受信要求送信手段１ｄは、既定伝送路上に切断されたリンクが存在する場合、マルチキャスト送信端末装置３までのリンクが全て接続されている伝送路の１つを選択し、選択した伝送路にマルチキャスト受信要求６を送信する。
【００４４】
なお、既定伝送路上に切断されたリンクが存在する場合、マルチキャスト受信要求送信手段１ｄは、例えば、ユニキャストルーティングテーブル１ｄａを参照して、伝送路を選択することができる。
【００４５】
図１の例では、ユニキャストルーティングテーブル１ｄａには、宛先のマルチキャスト送信端末装置３のユニキャストアドレス「ｂｂ」（目的ネットワーク）に対応づけて、伝送路毎のコスト、および隣接するルータのアドレス（ゲートウェイ）が登録されている。この場合、マルチキャスト受信要求送信手段１ｄは、ユニキャストルーティングテーブル１ｄａからマルチキャスト送信端末装置３のユニキャストアドレスに対応する伝送路のうち、コストが最も低い伝送路を選択する。そして、マルチキャスト受信要求送信手段１ｄは、選択した伝送路上で隣接するルータ（図１の例ではアドレスが「ｄｄ」のルータ４）に対して、マルチキャスト受信要求６を送信する。
【００４６】
マルチキャストデータ転送手段１ｅは、マルチキャスト受信要求６が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブル１ｅａに登録する。例えば、マルチキャストルーティングテーブル１ｅａには、送信端末アドレス（マルチキャスト送信端末装置３のユニキャストアドレスとマルチキャストアドレス）、受信インタフェース（マルチキャスト受信要求６を出力した通信インタフェースに識別番号）、および送信インタフェースリスト（マルチキャスト送信端末装置３宛のマルチキャスト受信要求が入力された通信インタフェースのリスト）の組が登録される。
【００４７】
さらに、マルチキャストデータ転送手段１ｅは、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストルーティングテーブル１ｅａを参照し、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７を送信する。具体的には、マルチキャストデータ転送手段１ｅは、マルチキャストルーティングテーブル１ｅａの受信インタフェースから入力されたマルチキャストデータ７が、送信端末アドレスで示されたマルチキャスト送信端末装置３から出力されたものであれば、送信インタフェースリストで示された通信インタフェースからマルチキャストデータを出力する。
【００４８】
このようなルータ１によれば、リンク管理手段１ａにより、ネットワークに接続された装置間のリンクの状態が監視され、装置間のリンクが接続状態か切断状態かを示す状態情報がリンク状態テーブル１ａａに設定される。また、既定伝送路管理手段１ｂにより、リンク状態テーブル１ａａが参照され、マルチキャスト送信端末装置３までの既定伝送路が設定された既定伝送路管理テーブル１ｂａに対し、既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報が設定される。
【００４９】
マルチキャスト送信端末装置３を指定したマルチキャスト受信要求６を受信すると、状態判断手段１ｃにより、既定伝送路管理テーブル１ｂａが参照され、マルチキャスト送信端末装置３までの既定伝送路上の全てのリンクが接続されているか否かが判断される。既定伝送路上の全てのリンクが接続されている場合、マルチキャスト受信要求送信手段１ｄにより、伝送路上で隣接するルータに対してマルチキャスト受信要求６が送信される。既定伝送路上に切断されたリンクが存在する場合、マルチキャスト受信要求送信手段１ｄにより、マルチキャスト送信端末装置３までのリンクが全て接続されている伝送路の１つが選択され、選択した伝送路にマルチキャスト受信要求６が送信される。すると、マルチキャストデータ転送手段１ｅにより、マルチキャスト受信要求６が入力された通信インタフェースの識別情報がマルチキャストルーティングテーブル１ｅａに登録される。
【００５０】
なお、端末装置２からは、マルチキャスト受信要求６が定期的に出力される。従って、ネットワーク上の障害により、既定伝送路が切断状態になると、その後に出力されるマルチキャスト受信要求６は、既定伝送路とは異なる伝送路へ転送される。これにより、マルチキャストデータ転送手段１ｅのマルチキャストルーティングテーブル１ｅａの内容（受信インタフェース）も変更される。
【００５１】
そして、マルチキャスト送信端末装置３から出力されたマルチキャストデータ７を受け取ると、マルチキャストデータ転送手段１ｅにより、マルチキャストルーティングテーブル１ｅａが参照され、マルチキャスト受信要求６が入力された通信インタフェース１ｆからマルチキャストデータ７が送信される。
【００５２】
このように、既定伝送路が正常に接続されている場合、マルチキャスト受信要求６を既定伝送路経由で転送し、既定伝送路上に障害が発生した場合には、他の伝送路で転送するようにした。既定伝送路は予め任意に定義しておくことができるため、既定伝送路に障害が発生していない場合、マルチキャストデータ７をユニキャストデータとは異なる伝送路経由で転送することができる。また、既定伝送路に障害が発生した場合、マルチキャストデータの伝送路をダイナミックに変更（回線障害時の自動迂回）することができる。これにより、マルチキャストデータを、ユニキャストデータと異なる伝送路で転送した場合の信頼性が向上する。
【００５３】
次に、本発明の実施の形態の詳細を説明する。
図２は、本発明の実施の形態のシステム構成例を示す図である。ルータ１００，２１０，２２０，２３０，２４０，２５０（レイヤ３スイッチを含む）間には、光ファイバがはりめぐらされている。具体的には、ルータ１００は、ルータ２１０とルータ２２０とに接続されている。ルータ２１０は、ルータ２３０に接続されている。ルータ２２０は、ルータ２４０に接続されている。ルータ２３０とルータ２４０とは、ルータ２５０に接続されている。これにより、ルータ１００とルータ２５０との間が、複数の経路で接続される。ルータ間が複数の経路で接続されることで、光ファイバ断などの回線障害時等にダイナミックルーティングにより自動迂回が可能となる。
【００５４】
ルータ１００には、ネットワークのセグメント１０，２０が接続されている。セグメント１０には、端末装置１１が接続されている。セグメント２０には、端末装置２１が接続されている。
【００５５】
ルータ２５０には、ネットワークのセグメント３０，４０が接続されている。セグメント３０には、端末装置３１とマルチキャスト送信端末装置３２とが接続されている。セグメント４０には、端末装置４１とマルチキャスト送信端末装置４２とが接続されている。
【００５６】
マルチキャスト送信端末装置３２，４２は、マルチキャストで配信するソースデータを生成し、出力する装置である。例えば、マルチキャスト送信端末装置３２，４２として、ネットワークインタフェースを有する監視カメラが用いられる。ネットワークに接続された多数の監視カメラを河川沿いに配置すれば、監視カメラで撮影した映像をリアルタイムにブロードキャストで配信できる。これにより、ネットワーク上の端末装置１１，２１において、河川監視を行うことができる。
【００５７】
なお、マルチキャスト送信端末装置３２，４２は、マルチキャストアドレスとユニキャストアドレスとを有している。マルチキャストアドレスは、マルチキャストデータの送信時に、送信元のアドレスとして使用される。ユニキャストアドレスは、ユニキャストデータの送受信に使用される。この例では、マルチキャスト送信端末装置３２のユニキャストアドレスが「10.162.202.1」であり、マルチキャストアドレスが「239.196.90.1」であるものとする。
【００５８】
各ルータ１００，２１０，２２０，２３０，２４０，２５０は、ＯＳＰＦにより、データの経路制御を行っている。各ルータ１００，２１０，２２０，２３０，２４０，２５０は、ダイナミックルーティングにより各セグメント情報を収集してユニキャストルーティングテーブルを構成する。ユニキャストルーティングテーブルには、各ルータ１００，２１０，２２０，２３０，２４０，２５０に接続された経路を介した通信のコストが設定されている。
【００５９】
ルータ１００とルータ２１０との間の経路のコストは「１」である。ルータ２１０とルータ２３０との間のコストは「１」である。ルータ２３０とルータ２４０との間のコストは「１」である。ルータ１００とルータ２２０との間のコストは「１０」である。ルータ２２０とルータ２４０との間のコストは「１０」である。ルータ２４０とルータ２５０との間のコストは「１０」である。各ルータ１００，２１０，２２０，２３０，２４０，２５０は、コストの低くなる経路を選択することで、データのルーティングを行う。
【００６０】
また、各ルータ１００，２１０，２２０，２３０，２４０，２５０は、識別番号（例えば、ＩＰアドレス）を有している。ルータ１００の識別番号は「ルータ＃１」、ルータ２１０の識別番号は「ルータ＃２」、ルータ２２０の識別番号は「ルータ＃３」、ルータ２３０の識別番号は「ルータ＃４」、ルータ２４０の識別番号は「ルータ＃５」、ルータ２５０の識別番号は「ルータ＃６」である。
【００６１】
図３は、本実施の形態に用いるサーバのハードウェア構成例を示す図である。ルータ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、ＬＡＮインタフェース１０４，１０５、および光通信インタフェース１０６，１０７が接続されている。
【００６２】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００６３】
ＬＡＮインタフェース１０４は、セグメント１０に接続されている。ＬＡＮインタフェース１０４は、セグメント１０を介して、端末装置１１との間でデータの送受信を行う。
ＬＡＮインタフェース１０５は、セグメント２０に接続されている。ＬＡＮインタフェース１０５は、セグメント２０を介して、端末装置２１との間でデータの送受信を行う。
【００６４】
光通信インタフェース１０６は、光ファイバを介してルータ２１０に接続されている。光通信インタフェース１０６は、ルータ２１０との間でデータの送受信を行う。
光通信インタフェース１０７は、光ファイバを介してルータ２２０に接続されている。光通信インタフェース１０７は、ルータ２２０との間でデータの送受信を行う。
【００６５】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、ルータ１００のハードウェア構成例を示したが、他のルータ２１０，２２０，２３０，２４０，２５０も同様のハードウェアで実現することができる。
【００６６】
図４は、サーバの機能を示すブロック図である。ルータ１００は、ユニキャストルーティング部１１０、マルチキャストルーティング部１２０、およびマルチキャストダイナミックルーティング管理部１３０を有している。
【００６７】
ユニキャストルーティング部１１０は、ユニキャストデータのルーティングを行う。ユニキャストルーティング部１１０は、ユニキャストルーティングテーブル１１１と、状態管理データベース（ＤＢ）１１２とを有している。ユニキャストルーティングテーブル１１１には、ユニキャストで配信されるデータの宛先と、その宛先に通じる伝送路上で隣接するルータとの対応関係等が登録されている。状態管理ＤＢ１１２には、他のルータとの間のリンクが確立しているか否に関する情報が管理されている。
【００６８】
マルチキャストルーティング部１２０は、マルチキャストデータのルーティングを行う。マルチキャストルーティング部１２０は、マルチキャストルーティングテーブル群１２１を有している。マルチキャストルーティングテーブル群１２１には、マルチキャストデータを配信するマルチキャスト送信端末装置のマルチキャストアドレスと、ユニキャストアドレスとの対応関係等が登録されたマルチキャストルーティングテーブルの集合である。
【００６９】
マルチキャストダイナミックルーティング管理部１３０は、マルチキャストデータの伝送経路をダイナミックに制御する。マルチキャストダイナミックルーティング管理部１３０は、マルチキャストリンク確認部１３１とマルチキャストスタティック確認部１３２とを有している。
【００７０】
マルチキャストリンク確認部１３１は、マルチキャスト受信要求（ｊｏｉｎメッセージ）が通過するルータ間のリンクの状態をリンク状態テーブル１３１ａに登録しておき、リンクの状態を管理する。
【００７１】
リンク状態テーブル１３１ａには、リンク番号、リンク、および状態の欄が設けられている。各欄の横方向に隣接するデータ同士が互いに関連づけられ、リンク毎のレコードを構成している。
【００７２】
リンク番号の欄には、リンクの識別番号が登録される。リンクの欄には、リンクの両端に位置するルータの識別番号が登録される。状態の欄には、リンクが接続されているか状態（ＵＰ）か、あるいはリンクが切断されている状態（ＤＯＷＮ）かが設定されている。
【００７３】
リンク状態テーブル１３１ａの状態の欄は、マルチキャストリンク確認部１３１によって適宜更新される。具体的には、マルチキャストリンク確認部１３１は、定期的に各サーバ間のリンクの状態を確認し、その結果に基づいてリンク状態テーブル１３１ａのリンクの欄を更新する。リンク状態の確認方法としては、例えば、他のルータの光通信インタフェースに対するPing応答確認によって、リンク状態を確認することができる。また、ＯＳＰＦによるダイナミックルーティングをおこなっている場合、ＯＳＰＦの状態管理ＤＢ１１２と連携してリンク状態を確認することができる。
【００７４】
マルチキャストスタティック確認部１３２は、マルチキャスト受信要求（ｊｏｉｎメッセージ）の送信先を登録しておき、該当マルチキャストアドレス宛ての全リンク番号がＵＰ状態か否かを、スタティックルート管理テーブル１３２ａを用いて管理する。
【００７５】
スタティックルート管理テーブル１３２ａには、マルチキャストアドレス、マルチキャスト受信要求送信先、全体リンク番号、および状態の欄が設けられている。各欄の横方向に隣接するデータ同士が互いに関連づけられ、伝送路毎のレコードを構成している。
【００７６】
マルチキャストアドレスの欄には、マルチキャストデータを送信するマルチキャスト送信端末装置３２，４２のマルチキャストアドレスが登録される。マルチキャスト受信要求送信先の欄には、マルチキャスト送信端末装置３２，４２までの伝送路上で隣接するルータの識別番号が登録される。全リンク番号の欄には、マルチキャスト送信端末装置３２，４２までの伝送路上に存在する全てのルータの識別番号が登録される。状態の欄には、マルチキャスト送信端末装置３２，４２までの伝送路が通信可能（ＵＰ）か否か（ＤＯＷＮ）の状態を示す情報が登録される。
【００７７】
以下、図５〜図７を参照して、ユニキャストルーティングテーブル１１１、状態管理ＤＢ１１２、およびマルチキャストルーティングテーブル群１２１の内容を詳細に説明する。
【００７８】
図５は、ユニキャストルーティングテーブルのデータ構造例を示す図である。ユニキャストルーティングテーブル１１１には、ルーティングプロトコル種別、目的ネットワーク、コスト、ゲートウェイ等の欄が設けられている。各欄の横方向に隣接したデータ同士が互いに関連づけられており、ユニキャストデータの送信先毎のレコードを構成している。
【００７９】
ルーティングプロトコル種別の欄には、ユニキャストデータのルーティングプロトコルが設定される。この例では、ルーティングプログラムがＯＳＰＦの場合「Ｏ」が登録され、ルーティングプロトコルがＲＩＰ（Routing information protocol）の場合「Ｒ」が登録される。
【００８０】
目的ネットワークの欄には、データの宛先のＩＰアドレスと、サブネットワークアドレスとが登録される。
コストの欄には、データの宛先となる端末装置までのコストが登録される。このコストは、宛先となる装置までの伝送路を構成する各リンクに対するコストの合算値である。
【００８１】
ゲートウェイの欄には、宛先となる装置までの伝送路上で隣接するルータのＩＰアドレスが登録される。
図６は、状態管理ＤＢのデータ構造例を示す図である。状態管理ＤＢ１１２には、リンクＩＤ、ＡＤＶルータ、Age等の欄が設けられている。各欄の横方向に隣接したデータ同士が互いに関連づけられており、セグメント毎の管理情報のレコードを構成している。
【００８２】
リンクＩＤの欄には、データの宛先となるセグメントの識別情報が登録される。ＡＤＶルータの欄には、管理情報を通知したルータのＩＰアドレスが登録される。Age等の欄には、レコードが登録されてからの経過時間が登録される。
【００８３】
状態管理ＤＢ１１２には、通信経路が存在するセグメントに関するレコードが登録されている。すなわち、マルチキャストスタティック確認部１３２は、状態管理ＤＢ１１２に登録されているセグメントへのリンクをＵＰ状態と判断し、状態管理ＤＢ１１２に登録されていないセグメントへのリンクをＤＯＷＮ状態と判断する。
【００８４】
図７は、マルチキャストルーティングテーブルのデータ構造例を示す図である。マルチキャストルーティングテーブル群１２１には、マルチキャスト送信端末装置毎のマルチキャストルーティングテーブル１２１ａ，１２１ｂ，・・・で構成されている。
【００８５】
各マルチキャストルーティングテーブル１２１ａ，１２１ｂ，・・・には、送信端末アドレス、受信インタフェース（Incoming interface）、送信インタフェースリスト（Outgoing interface list）の各欄が設けられている。送信端末アドレスの欄には、マルチキャスト送信端末装置のユニキャストアドレスと、マルチキャストアドレスとの組が登録されている。括弧内の左側がユニキャストアドレスであり、右側がマルチキャストアドレスである。なお、ユニキャストアドレスとして、「＊」の記号が登録される場合がある。この記号は、ランデブーポイントがマルチキャストデータの送信先となることを示している。
【００８６】
なお、ランデブーポイントとは、複数のマルチキャストグループがあってもひとつのディストリビューションツリーを共有して、マルチキャストデータのルーティングを行う場合の、ツリーを共有するために中心となるルータである。
【００８７】
受信インタフェースの欄には、マルチキャストデータを受信しているインタフェース（ＬＡＮインタフェースまたは光通信インタフェース）のサーバ１００内での識別番号が登録される。送信インタフェースリストの欄には、マルチキャストデータを送信する１つ以上のインタフェースのサーバ１００内での識別番号が登録される。
【００８８】
次に、マルチキャストリンク確認部１３１とマルチキャストスタティック確認部１３２とで実行される処理を詳細に説明する。
図８は、マルチキャストリンク確認部の状態登録の処理手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
【００８９】
［ステップＳ１１］マルチキャストリンク確認部１３１は、新たなリンク関係が認識された場合、リンク状態テーブル１３１ａにリンク情報を登録する。例えば、マルチキャストリンク確認部１３１は、ユニキャストルーティング部１１０の状態管理ＤＢ１１２を参照し、リンク情報が新たに登録されたことを検出することで、新たなリンク関係を認識できる。
【００９０】
［ステップＳ１２］マルチキャストリンク確認部１３１は、登録されているリンク情報に基づいて、そのリンクのルータ間のリンク状態を確認する。例えば、マルチキャストリンク確認部１３１は、ユニキャストルーティング部１１０の状態管理ＤＢ１１２を参照することで、その時点でのリンク状態を確認することができる。
【００９１】
［ステップＳ１３］マルチキャストリンク確認部１３１は、ルータ間のリンク状態がＵＰか否かを判断する。ＵＰ状態であれば処理がステップＳ１４に進められる。ＤＯＷＮ状態であれば処理がステップＳ１５に進められる。
【００９２】
［ステップＳ１４］マルチキャストリンク確認部１３１は、リンク状態テーブル１３１ａの該当するリンクの状態の欄に「ＵＰ」を登録する。その後、処理がステップＳ１６に進められる。
【００９３】
［ステップＳ１５］マルチキャストリンク確認部１３１は、リンク状態テーブル１３１ａの該当するリンクの状態の欄に「ＤＯＷＮ」を登録する。
［ステップＳ１６］マルチキャストリンク確認部１３１は、所定時間待機し、処理をステップＳ１７に進める。
【００９４】
［ステップＳ１７］マルチキャストリンク確認部１３１は、システムの処理終了の指示がある場合には処理を終了し、そうでない場合には処理をステップＳ１２に進め、リンク状態の確認と状態の更新処理を繰り返す。
【００９５】
このようにして、周期的にリンク状態を更新することができる。
図９は、マルチキャストスタティック確認部の状態登録の処理手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００９６】
［ステップＳ２１］マルチキャストスタティック確認部１３２は、スタティックルート管理テーブル１３２ａに新たなレコードを登録する。具体的には、マルチキャストスタティック確認部１３２は、新たなマルチキャスト送信端末装置に関する情報を、「マルチキャストアドレス」「マルチキャスト受信要求送信先」「全リンク番号」の各欄に登録する。
【００９７】
［ステップＳ２２］マルチキャストスタティック確認部１３２は、登録されている全リンク番号の状態を確認する。具体的には、マルチキャストスタティック確認部１３２は、登録されている全リンク番号の状態をマルチキャストリンク確認部１３１に問い合わせ、伝送路上の全てのリンクの状態（ＵＰかＤＯＷＮか）を示す応答を取得する。
【００９８】
［ステップＳ２３］マルチキャストスタティック確認部１３２は、全てのリンクの状態が「ＵＰ」であるか否かを判定する。全てのリンク状態が「ＵＰ」であれば処理がステップＳ２４に進められる。少なくとも１つのリンクにおいて状態が「ＤＯＷＮ」となっていれば、処理がステップＳ２５に進められる。
【００９９】
［ステップＳ２４］マルチキャストスタティック確認部１３２は、スタティックルート管理テーブル１３２ａ内のレコードに、伝送路の状態として「ＵＰ」を登録する。その後、処理がステップＳ２６に進められる。
【０１００】
［ステップＳ２５］マルチキャストスタティック確認部１３２は、スタティックルート管理テーブル１３２ａ内のレコードに、伝送路の状態として「ＤＯＷＮ」を登録する。
［ステップＳ２６］マルチキャストスタティック確認部１３２は、システムの処理終了の指示がある場合には処理を終了し、そうでない場合には処理をステップＳ２２に進め、リンク状態の確認と状態の更新処理を繰り返す。
【０１０１】
このようにして、周期的に伝送路の状態を更新することができる。
次に、マルチキャスト受信要求を受け取った際のサーバ１００での処理手順について説明する。
【０１０２】
図１０は、マルチキャスト受信要求に応じた処理手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。なお、以下の処理は、マルチキャスト受信要求を取得した際に開始される。
【０１０３】
［ステップＳ３１］ルータ１００がマルチキャスト受信要求を受信すると、マルチキャストルーティング部１２０は、マルチキャスト受信要求の送信先に応じたマルチキャストルーティングテーブルを、マルチキャストルーティングテーブル群１２１に追加する。
【０１０４】
［ステップＳ３２］マルチキャストスタティック確認部１３２が、マルチキャスト受信要求の送信先となる隣接ルータを検索する。すなわち、マルチキャストスタティック確認部１３２は、スタティックルート管理テーブル１３２ａのマルチキャストアドレスの欄から、マルチキャスト受信要求で示されるマルチキャストアドレスを検索し、対応するマルチキャスト受信要求送信先を取得する。
【０１０５】
［ステップＳ３３］マルチキャストスタティック確認部１３２は、マルチキャスト受信要求で示されるマルチキャストアドレスがスタティックルート管理テーブル１３２ａに登録されていたか否かを判定する。登録されていた場合、処理がステップＳ３４に進められる。登録されていなかった場合、処理がステップＳ３７に進められる。
【０１０６】
［ステップＳ３４］マルチキャスト受信要求で示されるマルチキャストアドレスがスタティックルート管理テーブル１３２ａに登録されている場合、マルチキャストスタティック確認部１３２は、該当するレコードの状態が「ＵＰ」か否かを判定する。「ＵＰ」状態の場合、処理がステップＳ３５に進められる。「ＤＯＷＮ」状態の場合、処理がステップＳ３７に進められる。
【０１０７】
［ステップＳ３５］マルチキャストスタティック確認部１３２は、ステップＳ３２で取得したマルチキャスト受信要求送信先を、マルチキャストルーティング部１２０に渡す。すると、マルチキャストルーティング部１２０は、受け取ったマルチキャスト受信要求送信先に対して、マルチキャスト受信要求のデータを送信する。
【０１０８】
［ステップＳ３６］マルチキャストルーティング部１２０は、マルチキャスト受信要求に応じたマルチキャストルーティングテーブルを生成し、マルチキャストルーティングテーブル群１２１に追加する。その後、処理が終了する。
【０１０９】
［ステップＳ３７］マルチキャストスタティック確認部１３２は、マルチキャストルーティング部１２０に対して、スタティックルート管理テーブル１３２ａにマルチキャストの通信可能なスタティックルートが存在しないことを通知する。すると、マルチキャストルーティング部１２０は、ユニキャストルーティングテーブル１１１にマルチキャスト受信要求で示されるユニキャストアドレス（マルチキャスト送信端末装置のユニキャストアドレス）が登録されているか否かを、ユニキャストルーティング部１１０に問い合わせる。登録されている場合、処理がステップＳ３８に進められる。登録されていない場合、処理がステップＳ４０に進められる。
【０１１０】
［ステップＳ３８］マルチキャストルーティング部１２０は、ユニキャストルーティング部１１０から、マルチキャスト受信要求で示されるユニキャストアドレスのレコードのうち、コストが最小となるレコード（最短経路を示す）に登録されたゲートウェイの情報（隣接するサーバのＩＰアドレス）を取得する。そして、マルチキャストルーティング部１２０は、取得したＩＰアドレス宛に、マルチキャスト受信要求のデータを送信する。
【０１１１】
［ステップＳ３９］マルチキャストルーティング部１２０は、マルチキャスト受信要求に応じたマルチキャストルーティングテーブルを生成し、マルチキャストルーティングテーブル群１２１に追加する。その後、処理が終了する。
【０１１２】
［ステップＳ４０］マルチキャストルーティング部１２０は、受信したマルチキャスト受信要求を破棄する。その後、処理が終了する。
以上のように、マルチキャストダイナミックルーティング管理部１３０が、マルチキャストルーティング部１２０と連携して動作することにより、マルチキャストデータとユニキャストデータとの分散ルーティング、および自動迂回（ダイナミックルーティング）が実現される。
【０１１３】
以下、本実施の形態のネットワークにおけるユニキャストデータとマルチキャストデータとの送受信例について説明する。以下の例では、端末装置１１と端末装置３１との間および端末装置２１と端末装置４１との間でユニキャストデータの送受信を行うと共に、マルチキャスト送信端末装置３２から端末装置１１へ、およびマルチキャスト送信端末装置４２から端末装置２１へ、マルチキャストデータを送信するものとする。
【０１１４】
図１１は、ユニキャストデータの伝送状況を示す図である。ユニキャストデータ５１，５２は、コストが低くなる伝送路を経由して送受信される。本実施の形態では、ルータ１００、ルータ２１０、ルータ２３０およびルータ２５０を経由した伝送路のルータ間のコストは「１」である。一方、ルータ１００、ルータ２２０、ルータ２４０およびルータ２５０を経由した伝送路のルータ間のコストは「１０」である。
【０１１５】
そのため、端末装置１１と端末装置３１との間のユニキャストデータ５１は、ルータ１００、ルータ２１０、ルータ２３０、およびルータ２５０を経由した伝送路を通る。同様に、端末装置２１と端末装置４１との間のユニキャストデータ５２は、ルータ１００、ルータ２１０、ルータ２３０、およびルータ２５０を経由した伝送路を通る。
【０１１６】
ここで、マルチキャスト送信端末装置３２が配信しているマルチキャストデータを、端末装置１１で取得する場合、端末装置１１からマルチキャスト送信端末装置３２宛に、マルチキャスト受信要求が送信される。マルチキャスト受信要求では、データの宛先としてマルチキャスト送信端末装置３２のユニキャストアドレスが指定され、データ内の情報としてマルチキャスト送信端末装置３２のマルチキャストアドレスが含まれている。
【０１１７】
同様に、マルチキャスト送信端末装置４２が配信しているマルチキャストデータを、端末装置２１で取得する場合、端末装置２１からマルチキャスト送信端末装置４２宛に、マルチキャスト受信要求が送信される。マルチキャスト受信要求では、データの宛先としてマルチキャスト送信端末装置４２のユニキャストアドレスが指定され、データ内の情報としてマルチキャスト送信端末装置４２のマルチキャストアドレスが含まれている。
【０１１８】
図１２は、マルチキャスト受信要求の伝送経路を示す図である。各端末装置１１，２１から出力されたマルチキャスト受信要求は、各ルータ１００，２１０，２２０，２３０，２４０，２５０内に予め設定されたスタティックルート管理テーブルに登録されたマルチキャスト受信要求転送先に基づいて伝送路が決定され、マルチキャスト送信端末装置３２，４２に送られる。
【０１１９】
この例では、ルータ１００には、マルチキャスト受信要求転送先としてルータ２２０のＩＰアドレスが設定されている。ルータ２２０には、マルチキャスト受信要求転送先としてルータ２４０のＩＰアドレスが設定されている。ルータ２４０には、マルチキャスト受信要求転送先としてルータ２５０のＩＰアドレスが設定されている。
【０１２０】
ルータ１００では、受信したマルチキャスト受信要求で指定されたマルチキャストアドレスに対応するレコードをスタティックルート管理テーブル１３２ａから取得し、伝送路の状態が「ＵＰ」であることを確認する。図１２の例では、伝送路の状態は「ＵＰ」であるため、サーバ１００は、マルチキャストアドレスに対応づけて登録されているマルチキャスト受信要求送信先であるルータ２２０に対してマルチキャスト受信要求を送信する。以後、ルータ２２０、ルータ２４０、およびルータ２５０が同様にマルチキャスト受信要求を中継する。
【０１２１】
その結果、端末装置１１から出力されたマルチキャスト受信要求６１は、ルータ１００，２２０，２４０，２５０を経由して、マルチキャスト送信端末装置３２に渡される。同様に、端末装置２１から出力されたマルチキャスト受信要求６２は、ルータ１００，２２０，２４０，２５０を経由して、マルチキャスト送信端末装置４２に渡される。
【０１２２】
マルチキャスト受信要求６１，６２を中継した各ルータ１００，２２０，２４０，２５０では、それぞれのマルチキャストルーティング部において、マルチキャスト受信要求６１，６２毎のマルチキャストルーティングテーブルが記憶される。マルチキャストルーティングテーブルには、マルチキャスト受信要求６１，６２の宛先となるマルチキャスト送信端末装置３２，４２のアドレス（ユニキャストアドレスとマルチキャストアドレス）、受信インタフェース、および送信インタフェースリストが含まれる。
【０１２３】
その後、マルチキャスト送信端末装置３２，４２から出力されるマルチキャストデータが、マルチキャスト受信要求６１，６２の伝送路を逆に辿り、端末装置１１，２１に伝送される。
【０１２４】
図１３は、マルチキャストデータの伝送路を示す図である。マルチキャスト送信端末装置３２から出力されたマルチキャストデータ７１は、始めにルータ２５０に入力される。ルータ２５０では、マルチキャスト送信端末装置３２のマルチキャストアドレスに対応するマルチキャストルーティングテーブルを参照し、送信インタフェースリストを取得する。そして、ルータ２５０は、送信インタフェースリストに含まれるインタフェース（光通信インタフェースまたはＬＡＮインタフェース）からマルチキャストデータを出力する。
【０１２５】
これにより、マルチキャストデータ７１，７２は、ルータ２５０からルータ２４０に転送される。その後、同様にしてルータ２２０、ルータ１００へと順次マルチキャストデータ７１，７２が転送される。そして、マルチキャスト送信端末装置３２から出力されたマルチキャストデータ７１はサーバ１００から端末装置１１に送信され、マルチキャスト送信端末装置４２から出力されたマルチキャストデータ７２はサーバ１００から端末装置２１に送信される。
【０１２６】
以上のようにして、ユニキャストデータ５１，５２と異なる伝送路で、マルチキャストデータ７１，７２の伝送が可能となる。
ここで、ルータ２２０とルータ２４０との間の光ファイバ上で回線障害が発生し、ルータ２２０，２４０間のリンクが切断された場合を想定する。その場合、端末装置１１，２１から定期的に出力されるマルチキャスト受信要求が、図１３で示したような伝送路では伝送できなくなる。そこで、端末装置１１，２１からマルチキャスト受信要求を取得したルータ１００では、スタティックルート管理テーブル１３２ａに登録された伝送路とは別の伝送路の探索が行われる。
【０１２７】
図１４は、障害発生時のマルチキャスト受信要求の伝送路を示す図である。ルータ２２０とルータ２４０との間で回線障害が発生すると、ルータ２２０がその回線障害（ルータ２４０とのリンクが切断されたこと）を検出する。すると、ルータ２２０は、ユニキャストデータのルーティングプロトコルに従って、ルータ２４０との間のリンクが切断されたことをルータ１００に通知する。
【０１２８】
すると、ルータ１００では、スタティックルート管理テーブル１３２ａ中で、ルータ２２０とルータ２４０とを経由する伝送路の状態を「ＤＯＷＮ」に変更する。その後、端末装置１１，２１からマルチキャスト送信端末装置３２，４２宛のマルチキャスト受信要求６３，６４が出力されると、ルータ１００は、スタティックルート管理テーブル１３２ａに登録された伝送路が切断されていることを判断し、ユニキャストデータのルーティングプロトコルに沿った伝送路を決定する。
【０１２９】
その結果、サーバ１００は、マルチキャスト受信要求６３，６４をサーバ２１０に送信する。他のサーバ２１０，２３０，２５０も同様にユニキャストデータと同じ伝送路でマルチキャスト受信要求６３，６４を中継する。その結果、マルチキャスト受信要求６３，６４がマルチキャスト送信端末装置３２，４２に送られる。
【０１３０】
その後、マルチキャスト送信端末装置３２，４２から送信されるマルチキャストデータは、マルチキャスト受信要求６３，６４が伝送された伝送路を逆方向に伝送される。
図１５は、障害発生後のマルチキャストデータの伝送路を示す図である。図１５に示す様に、マルチキャストデータ７３，７４の伝送用に予め設定された伝送路で回線障害が発生すると、自動的にマルチキャストデータ７３，７４の伝送路が変更される。
【０１３１】
なお、図１１〜図１５に示した例では、２つのマルチキャスト送信端末装置３２，４２が出力するマルチキャストデータが、同じ伝送路で伝送されるように各サーバに設定されているが、それぞれ異なる伝送路で伝送させることもできる。例えば、ＶｏＩＰによる音声データと映像データなどマルチキャストデータ毎に特性が異なる場合、マルチキャストアドレス毎に伝送路を分散させることができる。その場合においても、各ルータにマルチキャストダイナミックルーティング機能を実装することで、障害発生時には予め設定された伝送路と異なる伝送路経由でマルチキャストデータの伝送を継続することができる。
【０１３２】
図１６は、マルチキャストデータを種別毎に分散させるためのマルチキャスト受信要求の伝送路を示す図である。図１６の例では、ルータ１００には、マルチキャスト送信端末装置３２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２１０が登録されている。また、ルータ１００には、マルチキャスト送信端末装置４２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２２０が登録されている。
【０１３３】
ルータ２１０には、マルチキャスト送信端末装置３２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２３０が登録されている。また、ルータ２３０には、マルチキャスト送信端末装置３２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２５０が登録されている。
【０１３４】
ルータ２２０には、マルチキャスト送信端末装置４２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２４０が登録されている。また、ルータ２４０には、マルチキャスト送信端末装置４２のマルチキャストアドレスに対応するマルチキャスト受信要求送信先として、ルータ２５０が登録されている。
【０１３５】
これにより、端末装置１１からマルチキャスト送信端末装置３２宛に出力されたマルチキャスト受信要求６５は、ルータ１００、ルータ２１０、ルータ２３０、およびルータ２５０を経由して、マルチキャスト送信端末装置３２に送信される。また、端末装置２１からマルチキャスト送信端末装置４２宛に出力されたマルチキャスト受信要求６６は、ルータ１００、ルータ２２０、ルータ２４０、およびルータ２５０を経由して、マルチキャスト送信端末装置４２に送信される。
【０１３６】
その結果、マルチキャスト送信端末装置３２，４２から出力されたマルチキャストデータは、異なる伝送路で配信される。
図１７は、種別毎に分散させたときのマルチキャストデータの伝送路を示す図である。図１７の例では、マルチキャスト送信端末装置３２から出力されたマルチキャストデータ７５は、ルータ２５０、ルータ２３０、ルータ２１０、およびルータ１００を経由して端末装置１１に伝送される。また、マルチキャスト送信端末装置４２から出力されたマルチキャストデータ７６は、ルータ２５０、ルータ２４０、ルータ２２０、およびルータ１００を経由して端末装置２１に伝送される。
【０１３７】
ここで、ルータ２２０とルータ２４０との間の光ファイバで回線障害が発生し、ルータ２２０，２４０間のリンクが切断されると、マルチキャスト送信端末装置４２から出力されたマルチキャストデータ７６の伝送路が変更される。その結果、図１５に示すマルチキャストデータ７５と同様の伝送路で、マルチキャストデータ７６が伝送される。
【０１３８】
このようにして、マルチキャストデータの伝送路上で回線障害が発生した場合、マルチキャストデータをダイナミックに迂回させることができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ルータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１３９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１４１】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１４２】
（付記１）  マルチキャストデータをルーティングするためのマルチキャストルーティングプログラムにおいて、
コンピュータを、
ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段、
前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段、
前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段、
前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段、
前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段、
として機能させることを特徴とするマルチキャストルーティングプログラム。
【０１４３】
（付記２）  前記マルチキャスト受信要求送信手段は、前記既定伝送路上に切断されたリンクが存在する場合、ユニキャストデータ用のルーティングテーブルを参照し、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路を選択することを特徴とする付記１記載のマルチキャストルーティングプログラム。
【０１４４】
（付記３）  前記リンク管理手段は、前記リンク状態テーブルにおいて、装置間のリンクを一意に識別するための識別番号に対応づけて、各リンクの状態情報を設定しており、
前記既定伝送路管理テーブルには、前記マルチキャスト送信端末装置のマルチキャストアドレスに対応づけて、前記既定伝送路に含まれる各リンクを識別するための識別番号が登録されており、前記既定伝送路管理手段は、前記リンク状態テーブルを参照して、前記既定伝送路管理テーブルに登録された各リンクの識別番号に対応するリンクのリンク状態を確認し、前記既定伝送路の接続状態を判断することを特徴とする付記１記載のマルチキャストルーティングプログラム。
【０１４５】
（付記４）  前記既定伝送路管理テーブルには、複数のマルチキャスト送信端末装置それぞれへの前記既定伝送路が、前記マルチキャスト送信端末装置のアドレスに対応づけて登録されていることを特徴とする付記１記載のマルチキャストルーティングプログラム。
【０１４６】
（付記５）  コンピュータにより、マルチキャストデータをルーティングするためのマルチキャストルーティング方法において、
リンク管理手段が、ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定し、
既定伝送路管理手段が、前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定し、
状態判断手段が、前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断し、
マルチキャスト受信要求送信手段が、前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信し、
マルチキャストデータ転送手段が、前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信する、
ことを特徴とするマルチキャストルーティング方法。
【０１４７】
（付記６）  マルチキャストデータをルーティングするマルチキャストルータにおいて、
ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段と、
前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段と、
前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段と、
前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段と、
前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段と、
を有することを特徴とするマルチキャストルータ。
【０１４８】
（付記７）  マルチキャストデータをルーティングするためのマルチキャストルーティングプログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
ネットワークに接続された装置間のリンクの状態を監視し、装置間のリンクが接続状態か切断状態かを示す状態情報をリンク状態テーブルに設定するリンク管理手段、
前記リンク状態テーブルを参照し、マルチキャストデータを配信するマルチキャスト送信端末装置までの既定伝送路が設定された既定伝送路管理テーブルに対し、前記既定伝送路上のリンクの全てが接続状態か否かを示す伝送路状態情報を設定する既定伝送路管理手段、
前記マルチキャスト送信端末装置を指定したマルチキャスト受信要求を受信すると、前記既定伝送路管理テーブルを参照し、前記マルチキャスト送信端末装置までの前記既定伝送路上の全てのリンクが接続されているか否かを判断する状態判断手段、
前記既定伝送路上の全てのリンクが接続されている場合、前記伝送路上で隣接するルータに対して前記マルチキャスト受信要求を送信し、前記既定伝送路上に切断されたリンクが存在する場合、前記マルチキャスト送信端末装置までのリンクが全て接続されている伝送路の１つを選択し、前記選択した伝送路に前記マルチキャスト受信要求を送信するマルチキャスト受信要求送信手段、
前記マルチキャスト受信要求が入力された通信インタフェースの識別情報をマルチキャストルーティングテーブルに登録し、前記マルチキャスト送信端末装置から出力されたマルチキャストデータを受け取ると、前記マルチキャストルーティングテーブルを参照し、前記マルチキャスト受信要求が入力された前記通信インタフェースから前記マルチキャストデータを送信するマルチキャストデータ転送手段、
として機能させることを特徴とするマルチキャストルーティングプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図面の簡単な説明】
【０１４９】
【図１】本実施の形態の概略を示す図である。
【図２】本発明の実施の形態のシステム構成例を示す図である。
【図３】本実施の形態に用いるサーバのハードウェア構成例を示す図である。
【図４】サーバの機能を示すブロック図である。
【図５】ユニキャストルーティングテーブルのデータ構造例を示す図である。
【図６】状態管理ＤＢのデータ構造例を示す図である。
【図７】マルチキャストルーティングテーブルのデータ構造例を示す図である。
【図８】マルチキャストリンク確認部の状態登録の処理手順を示すフローチャートである。
【図９】マルチキャストスタティック確認部の状態登録の処理手順を示すフローチャートである。
【図１０】マルチキャスト受信要求に応じた処理手順を示すフローチャートである。
【図１１】ユニキャストデータの伝送状況を示す図である。
【図１２】マルチキャスト受信要求の伝送経路を示す図である。
【図１３】マルチキャストデータの伝送路を示す図である。
【図１４】障害発生時のマルチキャスト受信要求の伝送路を示す図である。
【図１５】障害発生後のマルチキャストデータの伝送路を示す図である。
【図１６】マルチキャストデータを種別毎に分散させるためのマルチキャスト受信要求の伝送路を示す図である。
【図１７】種別毎に分散させたときのマルチキャストデータの伝送路を示す図である。
【図１８】従来のダイナミックルーティングによるマルチキャストデータの送信技術を示す図である。
【図１９】従来のスタティックルーティングによるマルチキャストデータの送信技術を示す図である。
【符号の説明】
【０１５０】
１，４，５  ルータ
１ａ  リンク管理手段
１ａａ  リンク状態テーブル
１ｂ  既定伝送路管理手段
１ｂａ  既定伝送路管理テーブル
１ｃ  状態判断手段
１ｄ  マルチキャスト受信要求送信手段
１ｄａ  ユニキャストルーティングテーブル
１ｅ  マルチキャストデータ転送手段
１ｅａ  マルチキャストルーティングテーブル
１ｆ，１ｇ，１ｈ，１ｉ  通信インタフェース
２  端末装置
３  マルチキャスト送信端末装置
６  マルチキャスト受信要求
７  マルチキャストデータ
８ａ，８ｂ，８ｃ  ネットワーク
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2006229740.tif 000022
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2006229740.tif 000023