(57)【要約】【課題】配信装置の冗長構成の採用時において配信装置候補メッセージサイズを低減可能とする。【解決手段】マルチキャストグループへのマルチキャストパケットの配信経路を形成する複数の中継装置であってマルチキャストパケットを配信する配信装置となり得る２以上の配信装置候補を含む複数の中継装置と、２以上の配信装置候補のそれぞれから受信される配信装置候補情報を含む配信装置候補メッセージを各中継装置に配信する通知装置とを含むマルチキャストネットワークシステムにおいて、各配信装置候補は、通知装置から受信された配信装置候補メッセージ中にマルチキャストグループに関して自装置に優先する他の配信装置候補の配信装置候補情報が含まれている場合は自装置の配信装置候補情報を通知装置への送信対象から除外し、そうでない場合は自装置の配信装置候補情報を通知装置へ送信する制御部を含む。【選択図】図１２
2015226187.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャストグループへのマルチキャストパケットの配信経路を形成する複数の中継装置であって、前記マルチキャストパケットを配信する配信装置となり得る２以上の配信装置候補を含む複数の中継装置と、
前記２以上の配信装置候補のそれぞれから受信される配信装置候補情報を含む配信装置候補メッセージを各中継装置に配信する通知装置とを含み、
前記各配信装置候補は、
前記通知装置から受信された前記配信装置候補メッセージ中に前記マルチキャストグループに関して自装置に優先する他の配信装置候補の配信装置候補情報が含まれている場合は自装置の配信装置候補情報を前記通知装置への送信対象から除外し、そうでない場合は自装置の配信装置候補情報を前記通知装置へ送信する制御部を含む
マルチキャストネットワークシステム。
【請求項２】
前記各配信装置候補は、前記マルチキャストグループに対する自装置の配信装置候補情報を当該配信装置候補情報が主系か従系かを示す情報とともに記憶する記憶部をさらに含み、
前記制御部は、前記記憶部に記憶された前記配信装置候補情報に基づいて、当該配信装置候補情報が従系であれば当該配信装置候補情報を前記通知装置への送信対象から除外し、当該配信装置候補情報が主系であれば当該配信装置候補情報を前記通知装置へ送信する処理を行う
請求項１に記載のマルチキャストネットワークシステム。
【請求項３】
前記制御部は、前記記憶部に前記マルチキャストグループに対する従系の配信装置候補情報が記憶されている場合に、前記通知装置から受信された配信装置候補メッセージに前記マルチキャストグループに対する主系の配信装置候補情報が含まれているときには前記従系の配信装置候補情報を前記通知装置への送信対象から除外し、前記主系の配信装置候補情報が前記配信装置候補メッセージに含まれていないときには前記従系の配信装置候補情報を前記通知装置へ送信する
請求項２に記載のマルチキャストネットワークシステム。
【請求項４】
前記制御部は、前記通知装置から受信された配信装置候補メッセージに自装置から送信した前記従系の配信装置候補情報である第１の候補情報と他の配信装置候補から送信された前記マルチキャストグループに対する従系の配信装置候補情報である第２の候補情報とが含まれているときに、前記第１及び第２の候補情報のそれぞれに設定された優先度を比較し、前記第１の候補情報の優先度が前記第２の候補情報の優先度より高いときには前記第１の候補情報を前記通知装置へ送信し、そうでなければ前記第１の候補情報の送信を停止する
請求項３に記載のマルチキャストネットワークシステム。
【請求項５】
マルチキャストグループへのマルチキャストパケットの配信経路を形成する複数の中継装置のうち他の中継装置とともに前記マルチキャストパケットを配信する配信装置候補となる中継装置であって、
各配信装置候補から受信される配信装置候補情報を含む配信装置候補メッセージを前記複数の中継装置へ配信する通知装置から前記配信装置候補メッセージを受信する受信部と、
前記受信部で受信された前記配信装置候補メッセージ中に前記マルチキャストグループに関して自装置に優先する他の配信装置候補の配信装置候補情報が含まれている場合は自装置の配信装置候補情報を前記通知装置への送信対象から除外し、そうでない場合は自装置の配信装置候補情報を前記通知装置へ送信する制御部と
を含む中継装置。
【請求項６】
マルチキャストグループへのマルチキャストパケットの配信経路を形成する複数の中継装置のうち他の中継装置とともに前記マルチキャストパケットを配信する配信装置候補となる中継装置の制御部に、
各配信装置候補から受信される配信装置候補情報を含む配信装置候補メッセージを前記複数の中継装置へ配信する通知装置から前記配信装置候補メッセージを受信するステップと、
受信された前記配信装置候補メッセージ中に前記マルチキャストグループに関して自装置に優先する他の配信装置候補の配信装置候補情報が含まれている場合は自装置の配信装置候補情報を前記通知装置への送信対象から除外し、そうでない場合は自装置の配信装置候補情報を前記通知装置へ送信するステップと
を実行させるプログラム。
【請求項７】
マルチキャストグループへのマルチキャストパケットの配信経路を形成する複数の中継装置のうち他の中継装置とともに前記マルチキャストパケットを配信する配信装置候補となる中継装置が、
各配信装置候補から受信される配信装置候補情報を含む配信装置候補メッセージを前記複数の中継装置へ配信する通知装置から前記配信装置候補メッセージを受信し、
受信された前記配信装置候補メッセージ中に前記マルチキャストグループに関して自装置に優先する他の配信装置候補の配信装置候補情報が含まれている場合は自装置の配信装置候補情報を前記通知装置への送信対象から除外し、そうでない場合は自装置の配信装置候補情報を前記通知装置へ送信する
ことを含む中継装置の配信装置候補情報送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストネットワークシステム，中継装置，プログラム，及び中継装置の配信装置候補情報送信方法に関する。
【背景技術】
【０００２】
マルチキャストルーティングプロトコルの１つとして、Protocol-Independent Multicast Sparse Mode （ＰＩＭ−ＳＭ）がある。ＰＩＭ−ＳＭでは、マルチキャストパケット
の受信装置（レシーバ）の位置を把握し、レシーバが存在するインタフェースに限定したマルチキャストパケットのルーティングが行われる。
【０００３】
このため、ＰＩＭ−ＳＭでは、送信元ツリーと共有ツリーが組み合わせられた配布（ディストリビューション）ツリーが生成される。送信元ツリーと共有ツリーとの境界には、ランデブーポイント（Rendezvous Point(ＲＰ)）と呼ばれるレイヤ３（Ｌ３）スイッチ又はルータが設けられる。共有ツリーはＲＰツリーとも呼ばれる。以下の説明において、Ｌ３スイッチとルータとを区別しない場合には、「中継装置」と表記する。
【０００４】
マルチキャストパケットの受信を所望するホストは、マルチキャストグループへ参加する。マルチキャストグループに参加したホストは、受信装置（レシーバ）と呼ばれる。各レシーバへ送信する（マルチキャストする）データを含んだマルチキャストパケットは、当該データの送信元のホストから送信元ツリーを辿ってＲＰに到達する。ＲＰは、マルチキャストグループに参加している各レシーバが存在するインタフェース経由でマルチキャストパケットを配信する。これによって、マルチキャストパケットは、共有ツリーを辿って各レシーバに到達する。
【０００５】
ＰＩＭ−ＳＭにおいて、ＲＰを自動的に設定する方法の一つに「ブートストラップルータ（Bootstrap Router（ＢＳＲ））」がある。マルチキャストネットワークを形成する複数の中継装置の１つがＢＳＲとして選出される。或るマルチキャストグループに関してＲＰとなることを希望する中継装置は、ＲＰ候補と呼ばれる。ＲＰ候補は、ＲＰとなることを希望する旨のメッセージをＢＳＲにユニキャストで送る。当該メッセージは、ＲＰアナウンスメッセージと呼ばれる。
【０００６】
ＢＳＲは、ＲＰ候補から受信されたＲＰアナウンスメッセージの内容（マルチキャストグループの情報及びＲＰ候補のアドレス）を含むメッセージ（ＢＳＲメッセージと呼ぶ）を各中継装置に配信する。ＲＰ候補の位置（アドレス）を各中継装置に知らせ、共有ツリーを構築するためである。このとき、ＢＳＲメッセージに含まれた或るマルチキャストグループに対するＲＰ候補が一つであれば、各Ｌ３スイッチは、ＲＰ候補のアドレスをＲＰのアドレスとして認識する。
【０００７】
ところで、１つのマルチキャストグループに関してＲＰの冗長構成が適用されることがある。冗長構成が採られる場合には、複数のＲＰ候補がＢＳＲに対してＲＰアナウンスメッセージを送信する。ＢＳＲが配信するＢＳＲメッセージには、各ＲＰ候補から受信されたＲＰアナウンスメッセージの内容（マルチキャストグループアドレス及びＲＰ候補のアドレス）が含まれる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−２２２６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したように、ＲＰの冗長構成が採られる場合、ＢＳＲからは、１つのマルチキャストグループに関して複数のＲＰ候補の情報を含んだＢＳＲメッセージが送信される。このため、ＲＰ候補の数が増える程、ＢＳＲメッセージのサイズが大きくなる。サイズの増大は、ＢＳＲメッセージを各中継装置へ配信するためのネットワークリソースの消費量の増大を招来する。ＢＳＲメッセージの配信は周期的又は定期的に行われる。このため、ＢＳＲメッセージの配信によるネットワークリソースの消費が他のトラフィックに影響を与える虞があった。
【００１０】
１つの側面では、マルチキャストパケットの配信装置の冗長構成の採用時において配信装置候補メッセージのサイズを低減可能な技術を提供することを課題とする。
【課題を解決するための手段】
【００１１】
一つの側面では、或るマルチキャストグループへのマルチキャストパケットの配信経路を形成する複数の中継装置であって、前記マルチキャストパケットを配信する配信装置となり得る２以上の配信装置候補を含む複数の中継装置と、
前記２以上の配信装置候補のそれぞれから受信される配信装置候補情報を含む配信装置候補メッセージを各中継装置に配信する通知装置とを含み、
前記各配信装置候補は、
前記通知装置から受信された前記配信装置候補メッセージ中に前記或るマルチキャストグループに関して自装置に優先する他の配信装置候補の配信装置候補情報が含まれているときには自装置の配信装置候補情報を前記通知装置への送信対象から除外し、そうでなければ自装置の配信装置候補情報を前記通知装置へ送信する制御装置を含む
マルチキャストネットワークシステムである。
【発明の効果】
【００１２】
１つの側面として、マルチキャストパケットの配信装置の冗長構成の採用時において配信装置候補メッセージのサイズを低減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施形態に係るマルチキャストネットワークシステムの構成例を示す。
【図２】図２は、参考例における動作例の説明図である。
【図３】図３は、参考例における動作例の説明図である。
【図４】図４は、参考例における冗長化の第１のパターン（パターン１）の説明図である。
【図５】図５は、参考例における冗長化の第２のパターン（パターン２）の説明図である。
【図６】図６は、参考例における冗長化の第２のパターン（パターン２）の説明図である。
【図７】図７は、参考例における冗長化の第３のパターン（パターン３）の説明図である。
【図８】図８は、Ｌ３スイッチ，及びＢＳＲに適用可能な中継装置（情報処理装置）のハードウェア構成例を示す図である。
【図９】図９は、Ｃ−ＲＰ管理テーブルのデータ構造例を示す図である。
【図１０】図１０は、送信用テーブルのデータ構造例を示す図である。
【図１１】図１１は、従系テーブルのデータ構造例を示す図である。
【図１２】図１２は、実施形態の動作例１の説明図である。
【図１３】図１３は、実施形態の動作例１の説明図である。
【図１４】図１４は、実施形態の動作例１の説明図である。
【図１５】図１５は、実施形態の動作例１の説明図である。
【図１６】図１６は、実施形態の動作例１の説明図である。
【図１７】図１７は、実施形態の動作例１の説明図である。
【図１８】図１８は、実施形態の動作例２の説明図である。
【図１９】図１９は、実施形態の動作例２の説明図である。
【図２０】図２０は、ＲＰ候補のＬ３スイッチのＣＰＵで実行される処理の例を示すフローチャートである。
【図２１】図２１は、ＲＰ候補のＬ３スイッチのＣＰＵで実行される処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１５】
＜マルチキャストネットワークシステムの構成例＞
図１は、実施形態に係るマルチキャストネットワークシステムの構成例を示す。図１には、ＰＩＭ−ＳＭが適用されるマルチキャストネットワークシステムの一例が図示されている。図１において、マルチキャストネットワークシステムは、複数のＬ３スイッチ（Ｌ３−ＳＷ）Ａ〜Ｅと、ＢＳＲ１０と、Wide Area Network（ＷＡＮ）１１とを含んでいる
。
【００１６】
図１の例では、Ｌ３スイッチＡ，Ｌ３スイッチＢ，及びＢＳＲ１０はＷＡＮに接続されている。Ｌ３スイッチＡとＬ３スイッチＢとは相互に接続されている。各Ｌ３スイッチＣ，Ｄ，Ｅは、Ｌ３スイッチＡ及びＬ３スイッチＢのそれぞれと相互に接続されている。各Ｌ３スイッチＣ，Ｄ，Ｅは、マルチキャストグループ“239.168.0.0/29”に参加しているレシーバ（受信ホスト）Ｒを収容している。但し、Ｌ３スイッチＤ及びＬ３スイッチＥのそれぞれが収容するレシーバＲの図示は省略している。
【００１７】
複数のＬ３スイッチＡ〜Ｅは、マルチキャストネットワークを形成する。すなわち、或るマルチキャストグループ（例：239.168.0.0/29）に対するマルチキャストパケットの配信経路（共通ツリー）を形成する。ＷＡＮ１１には、各レシーバＲへ送信する情報（データ）の送信元のホストであるソース（「センダー」とも呼ばれる）１２が接続されている。なお、図１に示す例では、ソース１２は、Ｌ２スイッチＢに接続されていても良い。
【００１８】
図１の例では、マルチキャストグループ“239.168.0.0/29”に関して、Ｌ３スイッチＡ〜Ｅのうち、Ｌ３スイッチＡ及びＬ３スイッチＢがＲＰ候補（「Ｃ−ＲＰ」と表記することもある）となる。すなわち、Ｌ３スイッチＡ及びＬ３スイッチＢは、ＲＰとなり得る。具体的には、Ｌ３スイッチＡに障害が生じていない（正常である）場合には、Ｌ３スイッチＡがＲＰとして動作する。
【００１９】
Ｌ３スイッチＡの正常時には、ソース１２から送信されるマルチキャストパケットは、ソース１２とＲＰであるＬ３スイッチＡとの間に形成された送信元ツリーを辿ってＬ３スイッチＡに受信される。このとき、Ｌ３スイッチＢは、ソース１２のファーストホップルータとして動作し、ソース１２から受信されるマルチキャストパケットをＬ３スイッチＡへ転送する。
【００２０】
Ｌ３スイッチＡは、ＲＰとして、マルチキャストパケットのルーティングを行い、レシ
ーバＲが存在する方路（インタフェース）にあるＬ３スイッチへ配信する（マルチキャストする）。図１の例では、レシーバＲを収容する各Ｌ３スイッチＣ，Ｄ，Ｅへマルチキャストパケットを送信する。各Ｌ３スイッチＣ，Ｄ，Ｅは、マルチキャストパケットのルーティングを行い、自装置が収容するホストのうちレシーバＲであるホストに対し、マルチキャストパケットを送信する。このようにして、各レシーバＲは、マルチキャストパケットを受信することができる。
【００２１】
これに対し、Ｌ３スイッチＡに障害が発生した場合には、Ｌ３スイッチＢがＬ３スイッチＡの代わりにＲＰとなる。すなわち、ＲＰがＬ３スイッチＡからＬ３スイッチＢに切り替わる。このとき、Ｌ３スイッチＢは、ソース１２から受信されるマルチキャストパケットを各レシーバＲに配信するために、Ｌ３スイッチＣ，Ｄ，Ｅへマルチキャストパケットを転送する。このように、図１に示すマルチキャストネットワークシステムは、Ｌ３スイッチＡ及びＬ３スイッチＢを用いた冗長構成を採る。
【００２２】
ＢＳＲ１０は、ＲＰ候補であるＬ３スイッチＡ及びＢからＲＰ候補情報を含むメッセージ（ＲＰアナウンスメッセージ）を受信し、ＲＰ候補情報を含んだメッセージ（ＢＳＲメッセージ）をＬ３スイッチＡ〜Ｅに配信する。各Ｌ３スイッチＡ〜Ｅは、ＢＳＲメッセージの内容に従って、ＲＰの決定及びＲＰの切り替えに基づく共通ツリーの変更を行う。
【００２３】
Ｌ３スイッチＡ〜Ｅは、「複数の中継装置」の一例である。ＲＰは、「配信装置」の一例である。ＲＰ候補となるＬ３スイッチＡ及びＬ３スイッチＢは、「２以上の配信装置候補」の一例である。ＢＳＲ１０は、「通知装置」の一例である。ＲＰ候補情報は、「配信装置候補情報」の一例である。ＢＳＲメッセージは「配信装置候補メッセージ」の一例である。
【００２４】
＜参考例＞
次に、ＲＰの冗長構成を採る場合の参考例について説明する。図２及び図３は、参考例における動作例の説明図である。図２に示す参考例のネットワークシステムは、図１と同じネットワーク構成を有している。参考例でも、Ｌ３スイッチＡとＬ３スイッチＢとが冗長構成を形成すると仮定する。
【００２５】
Ｌ３スイッチＡ及びＬ３スイッチＢのそれぞれは、ＲＰ候補の宣言を行う。宣言は、図２に示すように、ＲＰ候補情報を含むメッセージ（ＲＰアナウンスメッセージ）をＢＳＲに送る（ユニキャストする）ことで行われる。ＲＰ候補情報は、マルチキャストグループ（「ＭＣグループ」とも表記）の識別情報（例：239.168.0.0/29）と、ＲＰ候補のＩＰアドレス（ＲＰアドレス）とを含む。Ｌ３スイッチＡのＩＰアドレス（ＲＰアドレス）は、例えば“10.**.**.A”であり、Ｌ３スイッチＢのＩＰアドレス（ＲＰアドレス）は、例えば“10.**.**.B”である。
【００２６】
ＢＳＲ１０は、Ｌ３スイッチＡ及びＬ３スイッチＢからＲＰアナウンスメッセージを受信する。すると、ＢＳＲ１０は、これらのＲＰアナウンスメッセージ中のＲＰ候補情報を含んだＢＳＲメッセージを生成し、各Ｌ３スイッチＡ〜Ｅに配信する（図３）。図３中の太線矢印は、ＢＳＲメッセージを示し、図３中の表は、ＢＳＲメッセージの内容を示す。これによって、マルチキャストネットワークを形成するＬ３スイッチＡ〜Ｅの中で、マルチキャストグループ（239.168.0.0/29）に対するＲＰ候補を各Ｌ３スイッチＡ〜Ｅは認識することができる。
【００２７】
＜＜パターン１＞＞
図４は、参考例における冗長化の第１のパターン（パターン１）の説明図である。パターン１では、Ｌ３スイッチＡ及びＬ３スイッチＢのそれぞれが並列にマルチキャストグル
ープのＲＰとなる。すなわち、冗長化された複数のＲＰが並列に運用される。
【００２８】
マルチキャストグループへの情報を送信するソース１２は、２つのＲＰに対し、適宜の手法で分散してレシーバＲ向けの情報を送る。従って、各レシーバＲに対し、Ｌ３スイッチＡからマルチキャストパケットが配信される場合もあれば、Ｌ３スイッチＢからマルチキャストパケットが配信される場合もある。Ｌ３スイッチＡ及びＬ３スイッチＢの一方が障害となった場合、障害となっていない方のＬ３スイッチがマルチキャストパケットの配信を継続する。これによって、マルチキャストグループに対するマルチキャストパケットの配信が維持される。
【００２９】
パターン１では、Ｌ３スイッチＡは、ＲＰ候補情報として、ＭＣグループ“239.168.0.0/29”及びＲＰアドレス“10.**.**.A”を含むメッセージを定期的にＢＳＲ１０に送る。Ｌ３スイッチＢは、ＲＰ候補情報として、ＭＣグループ“239.168.0.0/29”及びＲＰアドレス“10.**.**.B”を含むメッセージを定期的にＢＳＲ１０に送る。従って、ＢＳＲ１０は、各ＲＰからのＲＰ候補情報を含んだＢＳＲメッセージ（図４参照）を定期的に各Ｌ３スイッチＡ〜Ｅへ送信する。
【００３０】
上記したパターン１では、並列に運用される各ＲＰのＲＰ候補情報を含んだＢＳＲメッセージが定期的に送信される。また、複数のＲＰに対して、マルチキャスト用のデータが分散配置される。このため、ネットワーク管理者が、特定の通信がいずれのＲＰを用いてなされているかを判断することが困難となる欠点がある。或いは、並列に運用されているＲＰのいずれかに障害が発生した場合に、障害の影響がどのように及ぶのかをネットワーク管理者が把握するのが困難となる欠点がある。
【００３１】
＜＜パターン２＞＞
参考例における冗長化の第２のパターン（パターン２）は、各ＲＰ候補が用いるサブネットマスクのマスク長を異ならせることで、ＲＰ候補を区別するとともに、冗長構成における主従関係を規定する。
【００３２】
図５及び図６は、参考例における冗長化の第２のパターン（パターン２）の説明図である。パターン２は、第１ケース（[1]）と第２ケース（[2]）とがある。第１ケースは、Ｌ３スイッチＡが使用するマスク長をＬ３スイッチＢのマスク長より長くする場合であり、図５は、第１ケースを例示している。第２ケースは、Ｌ３スイッチＢが使用するマスク長をＬ３スイッチＡが使用するマスク長より短くする場合であり、図６は、第２ケースを例示している。
【００３３】
パターン２では、２つのＲＰ候補の１つを用いてマルチキャストパケットの配信が行われる。例として、Ｌ３スイッチＡが主系に設定され、Ｌ３スイッチが主系の障害時に動作する従系に設定される。
【００３４】
図５に示す第１ケースの例では、従系であるＬ３スイッチＢが使用するＭＣグループの情報としてマスク長が２９ビットの“239.168.0.0/29”が使用される。これに対し、主系のＬ３スイッチＡが使用するＭＣグループの情報としてマスク長が３０ビットの“239.168.0.0/30”と、マスク長が３１ビットの“239.168.0.4/30”とが使用される。
【００３５】
Ｌ３スイッチＡ及びＬ３スイッチＢのそれぞれは、ＲＰ候補情報を含んだメッセージ（ＲＰアナウンスメッセージ）をＢＳＲ１０に送信し、ＢＳＲ１０は、Ｌ３スイッチＡからの２つのＲＰ候補情報と、Ｌ３スイッチＢからの１つのＲＰ候補情報とを含んだＢＳＲメッセージ（図５中の表参照）を各Ｌ３スイッチＡ〜Ｅへ配信する。
【００３６】
各Ｌ３スイッチＡ〜Ｅは、いわゆるロンゲストマッチングによって、Ｌ３スイッチＡとＬ３スイッチＢとの主従を決定する。すなわち、各Ｌ３スイッチＡ〜Ｅは、ＲＰ候補間でマスク長を比較し、マスク長の長いＲＰ候補を主系ＲＰ（「Ｍ−ＲＰ」と表記することもある）として設定する。従って、各Ｌ３スイッチＡ〜Ｅは、Ｌ３スイッチＡを主系と判断し、Ｌ３スイッチＢを従系のＲＰ（「Ｓ−ＲＰ」と表記することもある）と判断する。
【００３７】
これにより、Ｌ３スイッチＡに障害が発生していない場合（通常時）には、ソース１２から送信される情報（マルチキャストパケット）は、Ｌ３スイッチＡ（Ｍ−ＲＰ）へ送られ、Ｌ３スイッチＡ（Ｍ−ＲＰ）は、各レシーバＲ向けにマルチキャストパケットを配信する。
【００３８】
これに対し、Ｌ３スイッチＡに障害が生じた場合には、例えばＬ３スイッチＡは、メッセージをＢＳＲ１０へ送信しなくなる。これにより、ＢＳＲメッセージにＬ３スイッチＡからのＲＰ候補情報が含まれない状態となる。これによって、各Ｌ３スイッチＢ〜Ｅは、従系のＬ３スイッチＢ（Ｓ−ＲＰ）をＲＰと認識する。この場合、ソース１２からの情報はＬ３スイッチＢへ送られ、Ｌ３スイッチＢが各レシーバＲにマルチキャストパケットを配信する。
【００３９】
パターン２の第１ケースでは、パターン１のように、複数のＲＰが並列に運用されるのではなく、主系のＲＰが従系のＲＰより優先して使用され、主系のＲＰの障害時に従系のＲＰが使用される。このため、パターン１で示した欠点が解消される。但し、Ｌ３スイッチＡがＲＰアナウンスメッセージに含めるＲＰ候補情報が２つとなる。換言すれば、１つのマルチキャストグループに対して冗長構成を採る１ペアのＬ３スイッチＡ及びＢからのＲＰ候補情報（ＢＳＲメッセージに含まれるＲＰ候補情報の数）が３つとなる。このため、パターン１に比べて、ＢＳＲメッセージのサイズが大きくなる。
【００４０】
図６に示す第２のケースでは、主系のＬ３スイッチＡが使用するＭＣグループの情報としてマスク長が２９ビットの“239.168.0.0/29”が使用される。これに対し、従系のＬ３スイッチＢが使用するＭＣグループの情報としてマスク長が２８ビットの“239.168.0.0/28”が使用される。
【００４１】
ＲＰアナウンスメッセージの送信及びＢＳＲメッセージの送信は第１ケース（図５）と同じである。但し、ＢＳＲメッセージ中のＲＰ候補情報の内容が異なり、図６中の表に示すような内容となる。各Ｌ３スイッチＡ〜Ｅは、ロンゲストマッチングによって、Ｌ３スイッチＡを主系と判断し、Ｌ３スイッチＢを従系と判断する。その他の点は第１ケースと同じである。
【００４２】
第２ケースでも、パターン１の欠点を回避可能である。また、第２ケースでは、Ｌ３スイッチＡのＲＰ候補情報を１つにできる。すなわち、１つのマルチキャストグループに対して冗長構成を採る１ペアのＬ３スイッチＡ及びＢからのＲＰ候補情報（ＢＳＲメッセージ中のＲＰ候補情報の数）が２つとなる。このため、パターン１に比べて、ＢＳＲメッセージのサイズを小さくすることができる。
【００４３】
しかし、第２ケースでは、マスク長に基づくロンゲストマッチを行うために、使用できないアドレス空間が発生する。図６に示す例では、“239.168.0.8”〜“239.168.0.15”
の各ＩＰアドレスは、２９ビット目が“１”となるため、使用できないという欠点がある。
【００４４】
＜＜パターン３＞＞
参考例における冗長化の第３のパターン（パターン３）は、各ＲＰ候補が送信するＲＰ
候補情報にプライオリティ値（優先度）が設定される。このプライオリティ値を基に冗長構成における主従関係が規定される。
【００４５】
図７は、参考例における冗長化の第３のパターン（パターン３）の説明図である。パターン３では、各ＲＰ候補がＢＳＲ１０に送信するＲＰ候補情報にプライオリティ値が含まれる。図７に示す例では、各Ｌ３スイッチＡ及びＢが送信するＲＰ候補情報中のＭＣグループ情報は共に“239.168.0.0/29”である。但し、主系のＬ３スイッチＡからのＲＰ候補情報には、プライオリティ値“１００”が含まれる。一方、従系のＬ３スイッチＢからのＲＰ候補情報には、プライオリティ値“５０”が含まれる。プライオリティ値は例示である。
【００４６】
各Ｌ３スイッチＡ〜Ｅは、ＢＳＲメッセージ中のプライオリティ値を参照して、プライオリティ値が大きいＲＰ候補情報中のＲＰアドレスを有するＲＰ候補（図７ではＬ３スイッチＡ）を主系のＲＰと判定する。各Ｌ３スイッチＡ〜Ｅは、プライオリティ値が小さいＲＰ候補（図７ではＬ３スイッチＢ）を従系のＲＰと判定する。このようにして決定された主系及び従系を用いた運用は、パターン２と同様である。
【００４７】
パターン３は、パターン２と同様にパターン１の欠点がない。また、パターン３では、プライオリティ値の分だけＢＳＲメッセージのサイズがパターン１より大きくなる。但し、パターン２の第１ケース及び第２ケースについて説明したような欠点はない。
【００４８】
＜＜参考例の問題点＞＞
しかしながら、パターン１〜３のいずれにおいても、冗長構成を形成するＲＰ候補のペア（複数のＲＰ候補）のＲＰ候補情報を含んだＢＳＲメッセージが各Ｌ３スイッチＡ〜Ｅへ配信されることは共通している。従って、冗長構成の採用により、ＢＳＲメッセージのサイズが増大し、ＢＳＲメッセージ配信用のネットワークリソースの消費量増大を招く問題があった。
【００４９】
以下に説明する実施形態のマルチキャストネットワークシステムでは、冗長構成を採りつつＢＳＲメッセージのサイズを小さくすることを可能とする。これによって、ＢＳＲメッセージの配信に要するネットワークリソース（ＷＡＮ１１のネットワークリソースが含まれる）の消費量の低減を図る。
【００５０】
＜Ｌ３スイッチのハードウェア構成例＞
実施形態に係るマルチキャストネットワークシステムの構成例は、図１に示した通りである。図８は、各Ｌ３スイッチＡ〜Ｅ，及びＢＳＲ１０に適用可能な中継装置（情報処理装置）２０のハードウェア構成例を示す図である。Ｌ３スイッチＡ〜Ｅ及びＢＳＲ１０に対して、既存のＬ３スイッチやルータのハードウェア構成を適用可能である。
【００５１】
図８において、中継装置２０は、バスＢを介して接続されたCentral Processing Unit
（ＣＰＵ）２１と、メモリ２２と、通信インタフェース（通信ＩＦ）２３と、Application Specific Integrated Circuit（ＡＳＩＣ）２４と、インタフェース（ＩＦ：Ｉ／Ｏ（input/output unit））２５とを含む。ＣＰＵ２１は、「プロセッサ」、「制御部」或いは「制御装置」の一例である。ＡＳＩＣ２４は、「制御装置」、「制御部」の一例である。
【００５２】
メモリ２２は、不揮発性記憶媒体と、揮発性記憶媒体とを含む。不揮発性記憶媒体は、例えば、Read Only Memory（ＲＯＭ）や、フラッシュメモリ、Solid State Drive（ＳＳ
Ｄ）の少なくとも１つである。不揮発性記録媒体にはＣＰＵ２１によって実行されるプログラムやプログラムの実行に際して使用されるデータが記憶される。揮発性記憶媒体は、例えば、Random Access Memory（ＲＡＭ）である。メモリ２２は、ＣＰＵ２１の作業領域
として使用される。メモリ２２は、「記憶装置」、「記憶媒体」、「記憶部」の一例である。
【００５３】
通信ＩＦ２３は、通信に係る信号変換、プロトコル変換を司る装置である。通信ＩＦ２３として、例えば、ネットワークカード、或いはネットワークインタフェースカード（ＮＩＣ）と呼ばれる通信インタフェース装置が適用される。通信ＩＦ２３は、「送信装置」、「受信装置」、「送信部」、「受信部」の一例である。
【００５４】
ＡＳＩＣ２４は、ＩＰパケットのルーティング処理を司る半導体デバイス（集積回路）である。すなわち、ＡＳＩＣ２４は、通信ＩＦ２３で受信されたＩＰパケットの送信元ＩＰアドレスから宛先ＩＰアドレスに対応する送信ポートへパケットを送る処理を行う。
【００５５】
なお、ＡＳＩＣ２４が実行するルーティング処理は、ＣＰＵ２１及びメモリ２２を用いたソフトウェア処理によって行うことができる。ルータは、ルーティング処理をソフトウェア処理で行う点で、Ｌ３スイッチと異なる。なお、ＡＳＩＣ２４は、Field Programmable Gate Array（ＦＰＧＡ）のようなプログラマブルロジックデバイスであっても良い。
【００５６】
ＩＦ２５は、コンソール２６（ユーザインタフェース）と接続されている。コンソール２６は、キー，ボタン，タッチパネル，ポインティングデバイス等の少なくとも１つを含む情報の入力装置と、ディスプレイ装置のような情報の出力装置とを含む。中継装置２０のユーザは、コンソール２６を用いて情報の入力を行うことでき、コンソール２６から出力される情報を受け取ることができる。コンソール２６は、中継装置２０と通信回線を介して接続された端末装置（情報処理装置）であっても良い。
【００５７】
ＣＰＵ２１は、メモリ２２に記憶されたプログラムをロードして実行する。これによって、中継装置２０は、各Ｌ３スイッチＡ〜Ｅとして動作したり、ＢＳＲ１０として動作したりすることができる。
【００５８】
各Ｌ３スイッチＡ〜Ｅとして動作する中継装置２０のＣＰＵ２１は、ＰＩＭ−ＳＭに係る処理を行う。すなわち、ＣＰＵ２１は、各Ｌ３スイッチＲＰ候補情報（ＲＰアナウンスメッセージ）の生成及び送信処理、ＢＳＲメッセージの受信処理（ＲＰの認識処理）などを行う。
【００５９】
また、ＢＳＲ１０として動作する中継装置２０のＣＰＵ２１は、ＰＩＭ−ＳＭに係る処理として、各ＲＰ候補からのＲＰアナウンスメッセージ（ＲＰ候補情報）を受信する処理、ＢＳＲメッセージを生成して配信する処理などを行う。
【００６０】
また、Ｌ３スイッチとして動作するＣＰＵ２１は、Open Shortest Path First（ＯＳＰＦ）のような最短経路探索プロトコルをサポートする。ＯＳＰＦは、マルチキャストパケットの最短経路ツリー（ＳＰＴ）の生成に使用される。また、ＣＰＵ２１は、Internet Group Management Protocol （ＩＧＭＰ）のようなマルチキャストグループへの参加及び
離脱を制御するプロトコルをサポートする。
【００６１】
通常、ＰＩＭ−ＳＭの運用では、マルチキャストネットワークを形成する各Ｌ３スイッチ（ルータ）にＢＳＲとして動作する機能とＲＰ候補（ＲＰ）として動作する機能との双方が実装される。よって、中継装置２０には、各Ｌ３スイッチＡ〜Ｅが有する機能と、ＢＳＲ１０の機能との双方が実装されるようにしても良い。
【００６２】
なお、中継装置２０のＣＰＵ２１によって実行される処理（図２０，図２１のフローチャートで説明される処理）は、ＡＳＩＣのような集積回路やＦＰＧＡのようなプログラマ
ブルロジックデバイスを用いて実行されるようにしても良い。
【００６３】
＜＜テーブル＞＞
本実施形態に係る各Ｌ３スイッチＡ〜Ｅとして動作する中継装置２０のＣＰＵ２１は、Ｃ−ＲＰ（ＲＰ候補）管理テーブル３１と、送信用テーブル３２と、従系テーブル３３とをメモリ２２の記憶領域上に作成する。
【００６４】
図９は、Ｃ−ＲＰ管理テーブル３１のデータ構造例を示す図である。図１０は、送信用テーブル３２のデータ構造例を示す図である。図１１は、従系テーブル３３のデータ構造例を示す図である。
【００６５】
図９において、Ｃ−ＲＰ管理テーブル３１は、ＭＣグループと、ＲＰアドレスと、プライオリティ値と、主従のタイプを示す情報（タイプ情報）とを含む１以上のレコードを記憶する。プライオリティ値は、１つのマルチキャストグループについて複数のＲＰ候補があるときに、複数のＲＰ候補の優先順位を決定するために使用される。Ｃ−ＲＰ管理テーブル３１は、例えば、Ｌ３スイッチ２０のユーザがコンソール２６を用いて入力するコンフィグ情報に基づき、ＣＰＵ２１が作成する。
【００６６】
図１０において、送信用テーブル３２は、Ｃ−ＲＰ管理テーブル３１に記憶されたレコードのうち、ＢＳＲ１０へ送信するＲＰアナウンスメッセージに含めるレコードを記憶するメッセージ送信時の作業用テーブルである。送信用テーブル３２は、ＭＣグループと、ＲＰアドレスと、プライオリティ値と、主従のタイプを示す情報（タイプ情報）とを含む１以上のレコードを記憶する。
【００６７】
図１１において、従系テーブル３３は、Ｃ−ＲＰ管理テーブル３１に記憶されたレコードのうち、タイプ情報が“従系”を示すレコードを記憶するテーブルである。従系テーブル３３は、ＢＳＲメッセージの受信時に、従系テーブル３３中のレコードをＲＰアナウンスメッセージで送信するか否かを判断するために使用される。換言すれば、従系テーブル３３は、従系のレコードをＢＳＲ１０への送信対象に含めるか除外するかを判定するために使用される。
【００６８】
＜動作例＞
次に、実施形態の動作例について説明する。
＜＜動作例１＞＞
図１２〜図１７は、動作例１の説明図である。動作例１は、上記したように、図１に示したネットワーク構成において、Ｌ３スイッチＡとＬ３スイッチＢとが冗長構成を採る場合について説明する。なお、図１２以降の動作例の説明図において、レシーバＲ及びソース１２の図示は省略してある。
【００６９】
図１２において、Ｌ３スイッチＡ及びＬ３スイッチＢのユーザ（例えば、ネットワーク管理者）は、各Ｌ３スイッチＡ，ＢをＲＰ候補（Ｃ−ＲＰ）とするためのコンフィグ設定を行う。コンフィグ設定は、コンソール２６（図８）を用いてＲＰ候補情報が各Ｌ３スイッチＡ及びＢに入力されることによって行われる。
【００７０】
Ｌ３スイッチＡについては、コンフィグ情報として、ＲＰ候補情報（ＭＣグループ“239.168.0.0/29”，ＲＰアドレス“10.**.**.A”，プライオリティ値“１００”，タイプ情報“主系”）が入力される。Ｌ３スイッチＢについては、コンフィグ情報として、主系のＲＰ候補情報と、従系のＲＰ候補情報とが入力されたと仮定する。
【００７１】
具体的には、従系のＲＰ候補情報として、ＭＣグループ“239.168.0.0/29”，ＲＰアド
レス“10.**.**.B”，プライオリティ値“５０”，タイプ情報“従系”が入力される。また、主系のＲＰ候補情報として、ＭＣグループ“239.168.100.0/29”，ＲＰアドレス“10.**.**.B”，プライオリティ値“１００”，タイプ情報“主系”が入力される。ＭＣグループ“239.168.0.0/29”とＭＣグループ“239.168.100.0/29”とは異なるマルチキャストグループである。
【００７２】
ここで、Ｌ３スイッチＢに着目する。Ｌ３スイッチＢとして動作する中継装置２０のＣＰＵ２１は、コンソール２６からＩＦ２５を介して入力されたコンフィグ情報（ＲＰ候補情報）を用いてＣ−ＲＰ管理テーブル３１を作成する（図１２＜１＞）。ＣＰＵ２１は、Ｃ−ＲＰ管理テーブル３１に対し、従系のＲＰ候補情報のレコード（レコード１と称する）と、主系のＲＰ候補情報のレコード（レコード２と称する）とを登録する。
【００７３】
続いて、ＣＰＵ２１は、Ｃ−ＲＰ管理テーブル３１への登録内容を参照して、送信用テーブル３２を作成する（図１２＜２＞）。このとき、ＣＰＵ２１は、Ｃ−ＲＰ管理テーブル３１に登録されたレコードのうち、タイプ“主（メイン）”を含むレコード２を抽出して、送信用テーブル３２に登録する。また、ＣＰＵ２１は、従系のレコード（レコード１）をＣ−ＲＰ管理テーブル３１から抽出して、従系テーブル３３に登録する。
【００７４】
続いて、Ｌ３スイッチＢのＣＰＵ２１は、送信用テーブル３２の登録内容を含むＲＰアナウンスメッセージを生成する。ＲＰアナウンスメッセージは、通信ＩＦ２３を介してＢＳＲ１０へ送信される（図１２＜３＞）
【００７５】
上記のようなＣ−ＲＰ管理テーブル３１及び送信用テーブルの作成処理は、Ｌ３スイッチＡでも実行される。Ｌ３スイッチＡで作成されるＣ−ＲＰ管理テーブル３１には、従系のレコードが存在しないので、Ｃ−ＲＰ管理テーブル３１の内容がそのまま送信用テーブル３２に書き込まれる。
【００７６】
Ｌ３スイッチＡは、送信用テーブル３２に書き込まれた主系のＲＰ候補情報を含むＲＰアナウンスメッセージを生成し、ＢＳＲ１０へ送信する（図１２＜４＞）。なお、各Ｌ３スイッチＡ及びＢにおいて、ＢＳＲ１０のＩＰアドレスは既知である。
【００７７】
ＢＳＲ１０のＣＰＵ２１は、各Ｌ３スイッチＡ及びＢからのＲＰアナウンスメッセージを通信ＩＦ２３を介して受信する。すると、ＣＰＵ２１は、各ＲＰアナウンスメッセージに含まれたＲＰ候補情報を含むＢＳＲメッセージを生成する（図１２＜５＞）。ＢＳＲメッセージは、各Ｌ３スイッチＡ〜Ｅ向けに送信される（図１２＜６＞）。従って、ＢＳＲ１０から配信されるＢＳＲメッセージには、図１２に示すように、主系のＲＰ候補情報のみが含まれた状態となる。
【００７８】
図１３に示すように、ＢＳＲメッセージは、各Ｌ３スイッチＡ〜Ｅで受信される（図１３＜６＞）。Ｌ３スイッチＢに着目すると、Ｌ３スイッチＢのＣＰＵ２１は、ＢＳＲメッセージのＲＰ候補情報と、従系テーブル３３とを参照する。このとき、従系テーブル３３に登録されたＭＣグループと同値のＭＣグループを含むＲＰ候補情報がＢＳＲメッセージに含まれている場合には、ＣＰＵ２１は、プライオリティ値を比較する（図１３＜７＞）。ＢＳＲメッセージ中のプライオリティ値が従系テーブル３３のプライオリティ値より高い場合には、ＣＰＵ２１は、従系テーブル３３中のレコードを送信用テーブル３２に登録しない。すなわち、ＣＰＵ２１は、従系のＲＰ候補情報をＢＳＲ１０への送信対象から除外する。
【００７９】
図１３に示す例に則して説明すると、ＢＳＲ１０からのＢＳＲメッセージには、ＭＣグループ“239.168.0.0/29”について、プライオリティ値“１００”が設定されている。一
方、従系テーブル３３には、当該ＭＣグループについて、プライオリティ値“５０”が設定されている。従って、従系テーブル３３のＲＰ候補情報は、送信用テーブル３２に登録されない。
【００８０】
また、ＣＰＵ２１は、ＢＳＲメッセージに含まれたＭＣグループ“239.168.0.0/29”のＲＰアドレスを主系（現用系）のＲＰのアドレスとして認識する。当該認識は、ＢＳＲメッセージを受信した他のＬ３スイッチ（各Ｌ３スイッチＡ，Ｃ〜Ｅ）においても行われる。これによって、当該ＭＣグループに関するマルチキャストパケットは、Ｌ３スイッチＡを経由して各レシーバＲ（図１）に配信される状態となる。
【００８１】
上述したように、動作例１において、最初に各Ｌ３スイッチＡ〜Ｅに送信されるＢＳＲメッセージには、主系のＲＰ候補情報のみが含まれた状態となり、従系のＲＰ候補情報は含まれない。このため、実施形態におけるＢＳＲメッセージのサイズは、主系及び従系のＲＰ候補情報を含む参考例のＢＳＲメッセージより小さくなる。
【００８２】
また、ＲＰ候補であるＬ３スイッチＡ及びＬ３スイッチＢのそれぞれは、周期的又は定期的にＲＰアナウンスメッセージをＢＳＲ１０に送信する。このとき、ＢＳＲ１０から受信されるＢＳＲメッセージにプライオリティ値が大きいＲＰ候補情報が含まれているときには、従系のＲＰ候補情報は、送信用テーブル３２に登録されない。この結果、従系のＲＰ候補情報は、ＲＰアナウンスメッセージに含まれない。従って、主系のＲＰ候補情報と従系のＲＰ候補情報との双方がＢＳＲメッセージに含まれることが回避される。従って、ＢＳＲメッセージのサイズを小さくすることができ、ＢＳＲメッセージの配信に要するネットワークリソースの消費量を低減することができる。
【００８３】
図１４に示すように、何らかの要因で、主系のＲＰ、すなわちＬ３スイッチＡに障害が発生し、Ｌ３スイッチＡが定期的なＲＰアナウンスメッセージを送信できない状態になったと仮定する（図１４＜８＞）。この場合、ＢＳＲ１０から送信されるＢＳＲメッセージ（図１４＜９＞）には、Ｌ３スイッチＡからのＲＰ候補情報が含まれない状態となる（図１４中のＢＳＲメッセージを参照）。
【００８４】
Ｌ３スイッチＢのＣＰＵ２１は、ＢＳＲメッセージを受信すると、当該ＢＳＲメッセージに、従系テーブル３３に登録されたＲＰ候補情報が含まれていないことを検知する。すると、ＣＰＵ２１は、送信用テーブル３２に、従系テーブル３３に登録された従系のＲＰ候補情報（レコード）を登録する（図１４＜１０＞）。そして、ＣＰＵ２１は、従系のＲＰ候補情報を含んだＲＰアナウンスメッセージを周期的又は定期的に生成し、ＢＳＲ１０へ送信する状態となる（図１４＜１１＞）。
【００８５】
これによって、図１５に示すように、ＢＳＲ１０からは、ＭＣグループ“239.168.0.0/29”について、Ｌ３スイッチＢからのＲＰ候補情報を含んだＢＳＲメッセージが各Ｌ３スイッチＡ〜Ｅに配信される（図１５＜１２＞）。各Ｌ３スイッチＢ〜Ｅは、Ｌ３スイッチＢ（従系のＲＰ候補）を当該ＭＣグループのＲＰとして認識し、必要に応じて共通ツリーに係る情報の変更を行う。これによって、ＭＣグループ“239.168.0.0/29”のＲＰが従系のＬ３スイッチＢに切り替わり、Ｌ３スイッチＢは、ソース１２から受信されるマルチキャストパケットを各Ｌ３スイッチＣ，Ｄ，Ｅ経由で各レシーバＲへ配信する状態となる。
【００８６】
図１６に示すように、Ｌ３スイッチＡが障害から復旧すると、Ｌ３スイッチＡは、主系のＲＰ候補情報（プライオリティ値“１００”）を含んだＲＰアナウンスメッセージの送信を再開する（図１６＜１３＞）。ＢＳＲ１０は、Ｌ３スイッチＡからのＲＰアナウンスメッセージを受信すると、Ｌ３スイッチＡからの主系のＲＰ候補情報と、Ｌ３スイッチＢからの従系のＲＰ候補情報とを含んだＢＳＲメッセージを各Ｌ３スイッチＡ〜Ｅ向けに配
信する（図１６＜１４＞）。
【００８７】
Ｌ３スイッチＢのＣＰＵ２１は、ＢＳＲメッセージを受信すると、ＢＳＲメッセージ中のＲＰ候補情報と従系テーブル３３とを参照する。これにより、ＣＰＵ２１は、従系テーブル３３のＲＰ候補情報よりプライオリティ値の高いＲＰ候補情報がＢＳＲメッセージに含まれていることを検知する（図１６＜１５＞）。
【００８８】
すると、図１７に示すように、Ｌ３スイッチＢのＣＰＵ２１は、送信用テーブル３２から、従系のＲＰ候補情報を削除する（図１７＜１６＞）。従って、Ｌ３スイッチＢからのＲＰアナウンスメッセージ（図１７＜１７＞）からは、従系のＲＰ候補情報が除かれる。この結果、ＢＳＲ１０からは、主系のＲＰ候補情報を含む一方で、従系のＲＰ候補情報が除かれたＢＳＲメッセージが各Ｌ３スイッチＡ〜Ｅに配信される（図１７＜１８＞）。
【００８９】
この結果、各Ｌ３スイッチＡ〜Ｅは、Ｌ３スイッチＡのＲＰアドレスをＭＣグループ“239.168.0.0/29”のＲＰアドレスとして認識する（ＲＰがＬ３スイッチＡであることを検知する）。これによって、ＲＰをＬ３スイッチＢからＬ３スイッチＡに切り替える処理（共有ツリーの変更等）が必要に応じて実施され、Ｌ３スイッチＡの障害前の状態に戻る。
【００９０】
このように、Ｌ３スイッチＢは、従系テーブル３３に登録された従系のＲＰ候補情報よりプライオリティ値の高いＲＰ候補情報をＢＳＲメッセージから検出すると、従系のＲＰ候補情報の送信を停止する（送信対象から除外する）。これによって、ＢＳＲメッセージから従系のＲＰ候補情報が除かれ、ＢＳＲメッセージのサイズを小さくすることができる。
【００９１】
＜＜動作例２＞＞
図１８及び図１９は、動作例２の説明図である。図１８及び図１９に示すマルチキャストネットワークは、図１に示すマルチキャストネットワーク構成と異なり、Ｌ３スイッチＡ〜Ｆを含んでいる。
【００９２】
Ｌ３スイッチＡとＬ３スイッチＢとは相互に接続されている。Ｌ３スイッチＢとＬ３スイッチＣとは相互に接続されている。各Ｌ３スイッチＤ，Ｅ，Ｆは、各Ｌ３スイッチＡ，Ｂ，Ｃと相互に接続されており、ＭＣグループ“239.168.0.0/29”のレシーバＲを収容している（レシーバＲの図示は省略）。ＭＣグループ“239.168.0.0/29”に関して、Ｌ３スイッチＡ，Ｂ，ＣのそれぞれがＲＰ候補として動作する。なお、ソース１２（図示は省略）のファーストホップルータはＬ３スイッチＣであると仮定する。
【００９３】
当該ＭＣグループに関して、Ｌ３スイッチＡに対するコンフィグ情報（ＲＰ候補情報）は、動作例１と同じである（図示は省略）。これに対し、Ｌ３スイッチＢのＣ−ＲＰ管理テーブル３１に登録されるコンフィグ情報（ＲＰ候補情報）は、図示しないが、ＭＣグループ“239.168.0.0/29”，ＲＰアドレス“10.**.**.B”，プライオリティ値“５０”，タイプ情報“従系”である。また、Ｌ３スイッチＢのＣ−ＲＰ管理テーブル３１に登録されるコンフィグ情報（ＲＰ候補情報）は、図示しないが、ＭＣグループ“239.168.0.0/29”，ＲＰアドレス“10.**.**.C”，プライオリティ値“３０”，タイプ情報“従系”である。
【００９４】
図１８は、各Ｌ３スイッチＡ，Ｂ，ＣのＣ−ＲＰ管理テーブル３１が上記登録内容を有し、動作例１と同様の手法で、Ｌ３スイッチＡが主系のＲＰとして動作しているときに、Ｌ３スイッチＡに障害が発生した場合の動作を示している。
【００９５】
Ｌ３スイッチＡに障害が生じると、Ｌ３スイッチＡは、ＲＰアナウンスメッセージをＢ
ＳＲ１０へ送信しなくなる（図１８＜０＞）。Ｌ３スイッチＢは、ＢＳＲメッセージにＬ３スイッチＡからのＲＰ候補情報が含まれなくなることを契機として、Ｌ３スイッチＢの送信用テーブル３２（送信用テーブル３２Ｂとする）に従系のＲＰ候補情報を登録する（図１８＜１＞）。Ｌ３スイッチＢは、従系のＲＰ候補情報を含んだＲＰアナウンスメッセージをＢＳＲ１０に送信する（図１８＜２＞）。
【００９６】
Ｌ３スイッチＡに障害が生じると、Ｌ３スイッチＣも、ＢＳＲメッセージにＬ３スイッチＡからのＲＰ候補情報が含まれなくなることを契機として、Ｌ３スイッチＣの送信用テーブル３２（送信用テーブル３２Ｃとする）に従系のＲＰ候補情報を登録する（図１８＜３＞）。Ｌ３スイッチＣは、従系のＲＰ候補情報を含んだＲＰアナウンスメッセージをＢＳＲ１０に送信する（図１８＜４＞）。
【００９７】
ＢＳＲ１０は、各Ｌ３スイッチＢ，ＣからのＲＰアナウンスメッセージを受信し、これらのＬ３スイッチＢ及びＬ３スイッチＣからのＲＰ候補情報を含んだＢＳＲメッセージを各Ｌ３スイッチＡ〜Ｆ向けに配信する（図１８＜５＞）。
【００９８】
図１９に示すように、Ｌ３スイッチＣは、ＢＳＲメッセージを受信すると、ＢＳＲメッセージ中のＲＰ候補情報と、従系テーブル３３（従系テーブル３３Ｃとする）のＲＰ候補情報とを比較する（図１９＜６＞）。このとき、ＢＳＲメッセージにプライオリティ値の高いＲＰ候補情報が含まれていることをＬ３スイッチＣのＣＰＵ２１は検知する。このため、Ｌ３スイッチＣのＣＰＵ２１は、送信用テーブル３２Ｃから従系のＲＰ候補情報を削除する（図１９＜７＞）。このように、従系のＲＰ候補情報が送信対象から除外されるので、Ｌ３スイッチＣは、従系のＲＰ候補情報を含んだＲＰアナウンスメッセージの送信を停止する（図１９＜８＞）。
【００９９】
これに対し、Ｌ３スイッチＢでは、Ｌ３スイッチＢの従系テーブル３３（図示せず）に登録されたＲＰ候補情報のプライオリティ値と、ＢＳＲメッセージに含まれた他のＲＰ候補（Ｌ３スイッチＣ）のＲＰ候補情報のプライオリティ値とを比較する。比較の結果では、Ｌ３スイッチＢのプライオリティ値が大きい。このため、Ｌ３スイッチＢは、送信用テーブル３２Ｂの登録内容を維持し、ＲＰアナウンスメッセージの送信を継続する（図１９＜９＞）。この結果、ＢＳＲ１０からは、ＭＣグループ“239.168.0.0/29”に関してＬ３スイッチＢからのＲＰ候補情報のみを含んだＢＳＲメッセージが配信される（図１９＜１０＞）。
【０１００】
動作例２によれば、複数の従系のＲＰ候補が存在する場合には、プライオリティ値に従って、複数の従系のＲＰ候補の１つがＲＰとして決定される。これによって、ＢＳＲメッセージのサイズを小さくし、ネットワークリソースの消費量を低減することができる。
【０１０１】
＜Ｌ３スイッチにおける処理＞
図２０及び図２１は、ＲＰ候補のＬ３スイッチＡ，Ｂ，ＣのそれぞれにおけるＣＰＵ２１で実行される処理の例を示すフローチャートである。図２０において、処理が開始されると、ＣＰＵ２１は、コンソール２６を用いて入力（投入）されるコンフィグ情報を受け付ける（０１）。
【０１０２】
次に、ＣＰＵ２１は、投入されたコンフィグ情報を元に、Ｃ−ＲＰ管理テーブル３１（図９）を作成する（０２）。次に、ＣＰＵ２１は、Ｃ−ＲＰ管理テーブル３１に従系の行、なわち、タイプ情報として“従系（サブ）”が登録されたレコードが存在するか否かを判定する（０３）。
【０１０３】
０３の処理において、該当するレコードが存在する場合には（０３，Ｙｅｓ）、処理が
０４に進む。これに対し、該当するレコードが存在しない場合には（０３，Ｎｏ）、処理が０８に進む。
【０１０４】
０４では、ＣＰＵ２１は、Ｃ−ＲＰ管理テーブル３１から主系のＲＰ候補情報、すなわち、タイプ情報として“主系（メイン）”が含まれたレコードを抽出し、送信用テーブル３２（図１０）に書き込む。次の０５では、ＣＰＵ２１は、ＢＳＲ１０に対して、送信用テーブル３２の内容を宣言する。すなわち、ＣＰＵ２１は、送信用テーブル３２の内容を含むＲＰアナウンスメッセージを生成し、ＢＳＲ１０へ送信する。
【０１０５】
次の０６では、ＣＰＵ２１は、Ｃ−ＲＰ管理テーブル３１から従系のＲＰ候補情報を抽出し、従系テーブル３３（図１１）に書き込む。０４〜０６の処理は、動作例１（図１２）におけるＬ３スイッチＢの動作に相当する。
【０１０６】
Ｃ−ＲＰ管理テーブル３１に主系のＲＰ候補情報のみが登録されている場合に処理が０８に進む。０８では、ＣＰＵ２１は、Ｃ−ＲＰ管理テーブル３１の登録内容を送信用テーブル３１に書き込む。次の０９で、ＣＰＵ２１は、ＢＳＲ１０に対してＲＰ候補情報を宣言する。すなわち、ＣＰＵ２１は、Ｃ−ＲＰ管理テーブル３１の登録内容を含むＲＰアナウンスメッセージを生成し、ＢＳＲ１０へ送信する。その後、処理が０３に戻る。
【０１０７】
０８及び０９の処理は、動作例１(図１２)におけるＬ３スイッチＡの動作に相当する。すなわち、０８及び０９の処理は、Ｌ３スイッチＡのように、主系となるＲＰ候補情報を含んだＲＰアナウンスメッセージを周期的又は定期的に送信することが想定されている。
【０１０８】
次の０７では、ＣＰＵ２１は、ＢＳＲ１０からのＢＳＲメッセージを待ち受ける状態となる。ＢＳＲメッセージが受信されると、次の１０（図２１）へ処理を進める。
【０１０９】
１０では、ＣＰＵ２１は、受信されたＢＳＲメッセージ（中のＲＰ候補情報）と従系テーブル３３の行（レコード）とを比較する。次の１１において、ＣＰＵ２１は、ＭＣグループ情報中のＭＣグループアドレスが一致しているか否かを判定する。このとき、ＭＣグループが一致している場合には（１１，Ｙｅｓ）、処理が１２へ進む。これに対し、ＭＣグループが一致していない場合には（１１，Ｎｏ）、処理が１７へ進む。
【０１１０】
１２へ処理が進んだ場合には、ＣＰＵ２１は、ＭＣグループ情報中のマスク長が一致しているか否かを判定する。このとき、マスク長が一致している場合には（１２，Ｙｅｓ）、処理が１３へ進む。これに対し、マスク長が一致していない場合には（１２，Ｎｏ）、処理が１７へ進む。
【０１１１】
１３へ処理が進んだ場合には、ＢＳＲメッセージ中のＲＰ候補情報のプライオリティ値と従系テーブル３３のレコード中のプライオリティ値とを比較する。このとき、ＢＳＲメッセージのプライオリティ値より従系テーブル３３のレコード中のプライオリティ値が小さい場合には（１３，＞）、処理が１４へ進む。これに対し、従系テーブル３３のレコード中のプライオリティ値がＢＳＲメッセージのプライオリティ値以上である場合には（１３，≦）、処理が１７へ進む。
【０１１２】
１４へ処理が進んだ場合には、ＣＰＵ２１は、従系テーブル３３の次の行（レコード）に対する処理へ進む。１５では、次の行が従系テーブル３３の最終行であるか否かを判定する。このとき、次の行が最終行でなければ（１５，Ｎｏ）、処理が１０へ戻る。
【０１１３】
これに対し、次の行が最終行であれば（１５，Ｙｅｓ）、ＣＰＵ２１は、ＢＳＲ１０に対して、送信用テーブル３２の内容を宣言する（１６）。すなわち、従系テーブル３３の
レコードのプライオリティ値がＢＳＲメッセージのプライオリティ値を上回るので、ＣＰＵ２１は、ＲＰアナウンスメッセージの生成及び送信を継続する。その後、処理が０７（ＢＳＲメッセージの受信待機）に戻る。
【０１１４】
処理が１７に進んだ場合には、ＣＰＵ２１は、ＢＳＲメッセージの次の行（ＲＰ候補情報）に対する処理へ移る。次の１８では、ＣＰＵ２１は、次の行がＢＳＲメッセージの最終行であるか否かを判定する。このとき、次の行が最終行でなければ（１８，Ｎｏ）、処理が１０へ戻る。
【０１１５】
これに対し、次の行が最終行であれば（１８，Ｙｅｓ）、ＣＰＵ２１は、現在の従系テーブル３３の行（レコード）を送信用テーブル３２に書き込む。その後、ＣＰＵ２１は、処理を１４へ進める。１８でＹｅｓと判定されることは、主系のＲＰ候補情報がＢＳＲメッセージに含まれていないことを意味する。この場合、ＣＰＵ２１は、従系のＲＰ候補情報を送信用テーブル３２に書き込み、ＲＰアナウンスメッセージの内容に含める。
【０１１６】
＜実施形態の作用効果＞
上述した実施形態では、マルチキャストネットワークシステムは、複数の中継装置であるＬ３スイッチＡ〜Ｅと、通知装置であるＢＳＲ１０とを含む。ＲＰ候補であるＬ３スイッチＢは、以下の処理を行う。すなわち、Ｌ３スイッチＢのＣＰＵ２１は、ＢＳＲメッセージ中に或るマルチキャストグループに関して自装置に優先する他のＲＰ候補のＲＰ候補情報があるときには自装置のＲＰ候補情報を前記通知装置への送信対象から除外する。  
【０１１７】
従って、実施形態に係るマルチキャストネットワークシステムによれば、ＲＰ候補情報がＢＳＲ１０への送信対象から除外される。これによって、ＢＳＲ１０から送信されるＢＳＲメッセージのサイズを参考例よりも小さくする（低減する）ことができる。
【０１１８】
これに対し、Ｌ３スイッチＢのＣＰＵ２１は、ＢＳＲメッセージ中に或るマルチキャストグループに関して自装置に優先する他のＲＰ候補のＲＰ候補情報がないときには自装置のＲＰ候補情報をＢＳＲ１０へ送信する。これによって、自装置をＲＰにすることができ、マルチキャストパケットの配信を継続することができる。このように、本実施形態によれは、ＲＰ冗長構成採用時においてＢＳＲメッセージのサイズを低減し、ＢＳＲメッセージ配信に要するＷＡＮ１１のネットワークリソースの消費量低減を図ることができる。
【０１１９】
また、実施形態における各Ｌ３スイッチＡ及びＢのそれぞれは、或るマルチキャストグループに対する自装置のＲＰ候補情報を当該ＲＰ候補情報が主系か従系かを示す情報とともに記憶するメモリ２２を含む。
【０１２０】
そして、Ｌ３スイッチＢのＣＰＵ２１は、メモリ２２にＲＰ候補情報が記憶された（Ｃ−ＲＰ管理テーブル３１にＲＰ候補情報が登録された）ときに、従系のＲＰ候補情報を送信対象から除外し、主系のＲＰ候補情報をＢＳＲ１０へ送信する処理（送信用テーブル３２への登録）を行う。これによって、従系のＲＰ候補情報がＢＳＲメッセージに含まれるのを回避でき、ＢＳＲメッセージのサイズを小さくすることができる。
【０１２１】
実施形態では、Ｌ３スイッチＢのＣＰＵ２１は、メモリ２２（従系テーブル３３）に或るマルチキャストグループに対する従系のＲＰ候補情報が記憶されている場合は、以下の処理を行う。すなわち、ＣＰＵ２１は、ＢＳＲ１０から受信されたＢＳＲメッセージに或るマルチキャストグループに対する主系のＲＰ候補情報が含まれているときには従系のＲＰ候補情報をＢＳＲ１０への送信対象から除外する。これに対し、主系のＲＰ候補情報がＢＳＲメッセージに含まれていないときには、ＣＰＵ２１は、従系のＲＰ候補情報をＢＳＲへ送信する処理を行う。これによっても、従系のＲＰ候補情報が従系のＲＰ候補情報が
ＢＳＲメッセージに含まれるのを回避でき、ＢＳＲメッセージのサイズを小さくすることができる。
【０１２２】
また、実施形態によれば、Ｌ３スイッチＣのＣＰＵ２１は、自装置から送信した従系のＲＰ候補情報（第１の候補情報）と他のＲＰ候補（Ｌ３スイッチＢ）から送信された従系のＲＰ候補情報（第２の候補情報）とがあるときに、以下の処理を行う。
【０１２３】
すなわち、ＣＰＵ２１は、第１及び第２の候補情報のそれぞれに設定された優先度（プライオリティ値）を比較し、第１の候補情報の優先度が第２の候補情報の優先度より高いときには第１の候補情報をＢＳＲ１０へ送信する。そうでなければ、ＣＰＵ２１は、第１の候補情報の送信を停止する。
【０１２４】
これによれば、複数の従系のＲＰを有するＲＰの冗長構成が採用される場合において、複数のＲＰのうち優先度（プライオリティ値）の高い従系のＲＰのＲＰ候補情報が含まれ、他の従系のＲＰ候補情報が除外されたＢＳＲメッセージが送信される。すなわち、ＢＳＲメッセージのサイズを小さくすることができる。
【０１２５】
以上説明した実施形態の構成は、適宜組み合わせることができる。
【符号の説明】
【０１２６】
Ａ〜Ｆ・・・レイヤ３スイッチ
Ｒ・・・レシーバ
１０・・・ＢＳＲ
１１・・・ＷＡＮ
１２・・・ソース
２０・・・中継装置
２１・・・ＣＰＵ
２２・・・メモリ
２３・・・通信インタフェース
【図１】
2015226187.tif 000003
【図２】
2015226187.tif 000004
【図３】
2015226187.tif 000005
【図４】
2015226187.tif 000006
【図５】
2015226187.tif 000007
【図６】
2015226187.tif 000008
【図７】
2015226187.tif 000009
【図８】
2015226187.tif 000010
【図９】
2015226187.tif 000011
【図１０】
2015226187.tif 000012
【図１１】
2015226187.tif 000013
【図１２】
2015226187.tif 000014
【図１３】
2015226187.tif 000015
【図１４】
2015226187.tif 000016
【図１５】
2015226187.tif 000017
【図１６】
2015226187.tif 000018
【図１７】
2015226187.tif 000019
【図１８】
2015226187.tif 000020
【図１９】
2015226187.tif 000021
【図２０】
2015226187.tif 000022
【図２１】
2015226187.tif 000023