(57)【要約】【課題】誤設定でのマルチキャスト配信を抑制すること。【解決手段】記憶部１ａは、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報を記憶する。演算部１ｂは、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置２に登録される際に、当該組合せを示す情報を中継装置２から取得する。演算部１ｂは、記憶部１ａを参照して当該組合せが許容されていないことを検出すると、送信元のアドレスから宛先のマルチキャストアドレスへのパケットを転送しないように中継装置２を制御する。【選択図】図１
2014183332.tif 000002
【特許請求の範囲】
【請求項１】
送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報を記憶する記憶部と、
送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置に登録される際に、当該組合せを示す情報を前記中継装置から取得し、前記記憶部を参照して当該組合せが許容されていないことを検出すると、前記送信元のアドレスおよび前記宛先のマルチキャストアドレスを含むデータを転送しないように前記中継装置を制御する演算部と、
を有する情報処理装置。
【請求項２】
前記演算部は、前記組合せを示す情報を前記中継装置から取得すると、当該組合せを取得した時間を示す情報に対応付けて前記記憶部に格納し、前記中継装置から取得された組合せが許容されているか否かを判定する際に、前記記憶部を参照して、同じマルチキャストアドレスを宛先として含む複数の組合せのうち、最も早い時間を示す情報に対応付けられた組合せ以外の組合せを許容されていないと判断する、請求項１記載の情報処理装置。
【請求項３】
前記演算部は、前記中継装置に登録される前記組合せが許容されていないことを検出すると、前記宛先のマルチキャストアドレスに対するデータの送信を停止するように前記送信元のアドレスに対応する装置を制御する、請求項１または２記載の情報処理装置。
【請求項４】
前記演算部は、前記中継装置により保持されるルーティングテーブルから、許容されていないと判断された送信元のアドレスおよび宛先のマルチキャストアドレスを前記中継装置に削除させることで、前記送信元のアドレスおよび前記宛先のマルチキャストアドレスを含むデータを転送しないように前記中継装置を制御する、請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記演算部は、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せとして許容する組合せを示す情報、または、許容しない組合せを示す情報の入力を受け付け、入力された情報を前記記憶部に格納する、請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
データの転送を行う複数の中継装置を含むマルチキャスト配信システムであって、
送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置に登録される際に、当該組合せを示す情報を前記中継装置から取得し、当該組合せが許容されているか否かを示す情報を参照して、当該組合せが許容されていないことを検出すると、前記送信元のアドレスおよび前記宛先のマルチキャストアドレスを含むデータを転送しないように前記中継装置を制御する情報処理装置、
を有するマルチキャスト配信システム。
【請求項７】
送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置に登録される際に、当該組合せを示す情報を前記中継装置から取得し、
送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報を参照して前記中継装置から取得された組合せが許容されていないことを検出すると、前記送信元のアドレスおよび前記宛先のマルチキャストアドレスを含むデータを転送しないように前記中継装置を制御する、
処理をコンピュータに実行させるプログラム。
【請求項８】
送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報を記憶する記憶部と、
送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置に登録される際に、当該組合せを示す情報を前記中継装置から取得し、前記記憶部を参照して当該組合せが許容されていないことを検出すると、前記宛先のマルチキャストアドレスへのデータの送信を停止するように前記送信元のアドレスに対応する装置を制御する演算部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、マルチキャスト配信システムおよびプログラムに関する。
【背景技術】
【０００２】
現在、送信元の装置により送信されたデータを複数の装置に配信するマルチキャスト配信システムが利用されている。マルチキャストでは、１つのマルチキャストグループに所属する複数の装置に同じデータを配信し得る。マルチキャストグループは、マルチキャストアドレスと呼ばれるアドレス情報によって識別される。例えば、マルチキャストの方法として、ＰＩＭ−ＳＭ（Protocol Independent Multicast - Sparse Mode）がある。
【０００３】
ＰＩＭ−ＳＭでは、送信元の装置（ソースと呼ぶことがある）と宛先の装置（レシーバと呼ぶことがある）とが接続されたネットワークにランデブーポイント（ＲＰ：Rendezvous Point）と呼ばれる中継装置を設ける。ＲＰは、マルチキャストグループに対応付けられる。ソースがデータの配信を開始する際に、ＲＰは、ソースにより送信されたデータを最初に中継するマルチキャスト対応の中継装置（ＦＨＲ：First Hop Router）からＰＩＭレジスタメッセージと呼ばれるメッセージを受信する。ＰＩＭレジスタメッセージは、ソースのアドレスとマルチキャストアドレスとマルチキャストデータの転送先インタフェースとの対応関係を示す情報をＲＰに登録させるためのメッセージである。以後、ＲＰは、マルチキャストアドレス宛のデータを登録済のソースから受信すると、登録された情報に基づいて、当該アドレスに対応するマルチキャストグループに所属するレシーバへ向けてデータの転送を行う。
【０００４】
ここで、例えば、サーバにより送信されたデータフローを受信するマルチキャストセッション管理装置の提案がある。マルチキャストセッション管理装置は、当該データフローの宛先アドレスをマルチキャストアドレスに変換して、変換後のデータフローをネットワーク上に代理送信する。この提案では、アドレス変換時に、使用中のマルチキャストアドレスとは異なるマルチキャストアドレスを選択して割り当てることも考えられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２４４４８８号公報
【特許文献２】特開２００９−１９４６６６号公報
【特許文献３】特開２００５−１４３０５７号公報
【特許文献４】特開２００６−１４８６５４号公報
【特許文献５】特開２００４−４０８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
マルチキャスト配信を行う前に、ユーザが宛先のマルチキャストアドレスをソースに設定することがある。この場合、マルチキャストアドレスの誤設定が問題となる。例えば、同一のマルチキャストアドレスが複数のソースに重複して設定されることがある。各ソースが配信を開始すると、ＲＰは異なるソースから受信した異なるデータを同一のマルチキャストグループに属するレシーバに重複して配信してしまう。レシーバ側の所定の機能（例えば、動画や音声の再生など）に異なるソースから送られた異なるデータが入力されると、当該機能の処理を適切に行えずに、当該機能の利用が中断されるおそれがある。
【０００７】
１つの側面では、本発明は、誤設定でのマルチキャスト配信を抑制できる情報処理装置、マルチキャスト配信システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、情報処理装置が提供される。情報処理装置は、記憶部と演算部とを有する。記憶部は、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報を記憶する。演算部は、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置に登録される際に、当該組合せを示す情報を当該中継装置から取得し、記憶部を参照して当該組合せが許容されていないことを検出すると、当該送信元のアドレスおよび当該宛先のマルチキャストアドレスを含むデータを転送しないように当該中継装置を制御する。
【０００９】
また、１つの態様では、データの転送を行う複数の中継装置を含むマルチキャスト配信システムが提供される。このマルチキャスト配信システムは、情報処理装置を有する。情報処理装置は、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置に登録される際に、当該組合せを示す情報を当該中継装置から取得し、当該組合せが許容されているか否かを示す情報を参照して、当該組合せが許容されていないことを検出すると、当該送信元のアドレスおよび当該宛先のマルチキャストアドレスを含むデータを転送しないように当該中継装置を制御する。
【００１０】
また、１つの態様では、コンピュータによって実行されるプログラムが提供される。このプログラムは、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置に登録される際に、当該組合せを示す情報を当該中継装置から取得し、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報を参照して、当該中継装置から取得された組合せが許容されていないことを検出すると、当該送信元のアドレスおよび当該宛先のマルチキャストアドレスを含むデータを転送しないように当該中継装置を制御する、処理をコンピュータに実行させる。
【００１１】
また、１つの態様では、情報処理装置が提供される。この情報処理装置は、記憶部と演算部とを有する。記憶部は、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報を記憶する。演算部は、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がランデブーポイントとして動作する中継装置に登録される際に、当該組合せを示す情報を当該中継装置から取得し、記憶部を参照して当該組合せが許容されていないことを検出すると、当該宛先のマルチキャストアドレスへのデータの送信を停止するように当該送信元のアドレスに対応する装置を制御する。
【発明の効果】
【００１２】
１つの側面では、誤設定でのマルチキャスト配信を抑制できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態のマルチキャスト配信システムを示す図である。
【図２】第２の実施の形態のマルチキャスト配信システムを示す図である。
【図３】第２の実施の形態の管理サーバのハードウェア例を示す図である。
【図４】第２の実施の形態のソフトウェア例を示す図である。
【図５】第２の実施の形態のアドレス情報履歴テーブルの例を示す図である。
【図６】第２の実施の形態のルーティングテーブルの例を示す図である。
【図７】第２の実施の形態のＲＰルータの処理例を示すフローチャートである。
【図８】第２の実施の形態の管理サーバの処理例を示すフローチャートである。
【図９】第２の実施の形態の処理例を示すシーケンス図である。
【図１０】第２の実施の形態の他の処理例を示すシーケンス図である。
【図１１】第３の実施の形態のアドレス情報テーブルの例を示す図である。
【図１２】第３の実施の形態のＲＰルータの処理例を示すフローチャートである。
【図１３】第３の実施の形態の管理サーバの処理例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のマルチキャスト配信システムを示す図である。第１の実施の形態のマルチキャスト配信システムは、情報処理装置１、中継装置２，３，３ａ，３ｂ，３ｃ、送信装置４，４ａおよび受信装置５，５ａを含む。中継装置２，３，３ａ，３ｂ，３ｃは、送信装置４，４ａおよび受信装置５，５ａの間でデータを転送する。転送されるデータは、パケットまたはＩＰ（Internet Protocol）パケットと呼ばれるものでもよい。マルチキャスト配信されるパケットをマルチキャストパケットと呼ぶこともある。
【００１５】
第１の実施の形態のマルチキャスト配信システムは、マルチキャスト配信にＰＩＭ−ＳＭを用いる。中継装置２は、ＰＩＭ−ＳＭにおけるＲＰとして動作する。中継装置２をＲＰルータと呼ぶことがある。中継装置３は送信装置４に対するＦＨＲである。中継装置３ａは送信装置４ａに対するＦＨＲである。中継装置３ｂは受信装置５に対するＬＨＲ（Last Hop Router）である。中継装置３ｃは受信装置５ａに対するＬＨＲである。
【００１６】
情報処理装置１は、記憶部１ａおよび演算部１ｂを有する。記憶部１ａは、ＲＡＭ（Random Access Memory）などのメモリでもよい。演算部１ｂは、ＣＰＵ（Central Processing Unit）などのプロセッサでもよい。第１の実施の形態の情報処理は、記憶部１ａに記憶されたプログラムを演算部１ｂが実行することで実現されてもよい。
【００１７】
記憶部１ａは、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報を記憶する。当該情報は、中継装置２がもつ情報に基づいて演算部１ｂにより生成されたものでもよいし、ユーザなどが記憶部１ａに予め格納しておくものでもよい。
【００１８】
ここで、例えば送信装置４のアドレスはアドレスＡである。送信装置４ａのアドレスはアドレスＢである。受信装置５，５ａはマルチキャストアドレスＣに対応するマルチキャストグループに所属している。各アドレスはＩＰｖ４（Internet Protocol version 4）またはＩＰｖ６（Internet Protocol version 6）で用いられるＩＰアドレスでもよい。
【００１９】
演算部１ｂは、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せを示す情報がＲＰとして動作する中継装置２に登録される際に、当該組合せを示す情報を中継装置２から取得する。演算部１ｂは、記憶部１ａに記憶された情報を参照して、当該組合せが許容されていないことを検出すると、当該送信元のアドレスおよび当該宛先のマルチキャストアドレスを含むデータを転送しないように中継装置２を制御する。
【００２０】
例えば、送信装置４から受信装置５，５ａに対してマルチキャスト配信が行われているとする。この場合、中継装置３は、送信装置４がマルチキャスト配信を開始する際に、ＰＩＭレジスタメッセージを中継装置２に送信している。よって、中継装置２は、アドレスＡとマルチキャストアドレスＣとマルチキャストデータの転送先インタフェースを示す情報を保持している。ここで、この情報を（Ｓ（Source），Ｇ（Group））エントリと呼ぶことがある。（Ｓ，Ｇ）エントリは、ＲＰである中継装置２が保持するマルチキャストルーティングテーブルのエントリのうちの１つである。
【００２１】
演算部１ｂは、新たに登録された（Ｓ，Ｇ）エントリの情報を中継装置２から取得して、登録された（Ｓ，Ｇ）エントリの履歴を示す情報を記憶部１ａに格納してもよい。そして、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されているか否かを示す情報として、当該履歴を示す情報を利用してもよい。例えば、使用中のマルチキャストアドレスを含む（Ｓ，Ｇ）エントリが中継装置２に登録された場合に、演算部１ｂは、後から登録された（Ｓ，Ｇ）エントリに含まれる送信元のアドレスおよび宛先のマルチキャストアドレスの組合せが許容されていないと判断する。既存のマルチキャスト配信を優先させて、既存の配信サービスが中断されるのを防ぐためである。
【００２２】
例えば、送信装置４ａから受信装置５，５ａに対してマルチキャスト配信が開始される際に、中継装置３ａは中継装置２にＰＩＭレジスタメッセージを送信する。しかし、マルチキャストアドレスＣを含む（Ｓ，Ｇ）エントリ（アドレスＡを送信元とするもの）が中継装置２に登録済である。このとき、演算部１ｂは、アドレスＢとマルチキャストアドレスＣとの組合せを中継装置２から取得する。演算部１ｂは、記憶部１ａに記憶された履歴と中継装置２から取得された情報とに基づいて、マルチキャストアドレスＣを含む（Ｓ，Ｇ）エントリが重複して中継装置２に登録されたことを検出する。例えば、演算部１ｂは、後から登録された（Ｓ，Ｇ）エントリに対応する送信元のアドレスＢと宛先のマルチキャストアドレスＣとの組合せを許容されていない組合せとして検出する。
【００２３】
または、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せとして許容されている組合せのみを示す情報を記憶部１ａに予め格納しておいてもよい。より具体的には、送信元のアドレスＡと宛先のマルチキャストアドレスＣとの組合せを許容する旨を示す情報を記憶部１ａに予め格納しておく。あるいは、送信元のアドレスおよび宛先のマルチキャストアドレスの組合せとして許容されていない組合せのみを示す情報を記憶部１ａに予め格納しておいてもよい。より具体的には、送信元のアドレスＢと宛先のマルチキャストアドレスＣとの組合せを許容しない旨を示す情報を記憶部１ａに予め格納しておく。何れの場合も、演算部１ｂは、記憶部１ａに格納された情報に基づいて、新たに中継装置２に登録された（Ｓ，Ｇ）エントリが許容されたものであるか否かを判断できる。
【００２４】
例えば、演算部１ｂは、アドレスＢとマルチキャストアドレスＣとの組合せが許容されていないことを検出したとする。すると、演算部１ｂは、アドレスＢとマルチキャストアドレスＣとの組合せを含む（Ｓ，Ｇ）エントリによるマルチキャスト配信を行わないように中継装置２を制御する。例えば、演算部１ｂは、当該（Ｓ，Ｇ）エントリの削除を中継装置２に指示してもよい。（Ｓ，Ｇ）エントリが削除されれば、対応するマルチキャストデータの中継装置２による転送を抑制できるからである。あるいは、演算部１ｂは、送信装置４ａ（アドレスＢに対応する装置）に、マルチキャストデータの送信を停止させてもよい。
【００２５】
情報処理装置１によれば、演算部１ｂにより、送信元のアドレスＢおよび宛先のマルチキャストアドレスＣの組合せを示す情報がＲＰとして動作する中継装置２に登録される際に、当該組合せを示す情報が中継装置２から取得される。演算部１ｂにより、記憶部１ａが参照されて、当該組合せが許容されていないことが検出されると、送信元のアドレスＢおよび宛先のマルチキャストアドレスＣを含むデータを転送しないように中継装置２が制御される。これにより、宛先のマルチキャストアドレスＣが送信装置４ａに誤設定されたとしても、誤設定でのマルチキャスト配信を抑制できる。具体的には次の通りである。
【００２６】
マルチキャスト配信を行う前に、宛先のマルチキャストアドレスをソースに設定することがある。設定の作業をシステムの管理者などが行うこともある。この場合、マルチキャストアドレスの誤設定が問題となる。例えば、同一のマルチキャストアドレスが複数のソースに重複して設定されることがある。各ソースが配信を開始すると、ＲＰにより、異なるソースにより送信された異なるデータが、同一のマルチキャストグループに属するレシーバに対して重複して配信され得る。
【００２７】
そこで、中継装置２に登録される送信元のアドレスと宛先のマルチキャストアドレスとの組合せを情報処理装置１により管理する。情報処理装置１を用いて、許容されていない組合せによるマルチキャスト配信を停止するように中継装置２を制御する。これにより、送信装置（例えば、送信装置４ａ）に宛先のマルチキャストアドレスが誤設定されたとしても、誤設定のままマルチキャスト配信が行われることを抑制できる。
【００２８】
特に、情報処理装置１は、ＲＰとして動作する中継装置２に登録される情報を取得して、送信元と宛先との組合せが許容されているかの判断を行う。例えば、ネットワークの何れかの箇所で、ネットワークを流れるデータを収集して解析することも考えられる。しかし、この場合、収集されたデータの中からマルチキャスト配信の対象となるデータを検索するための処理コストが問題となる。ネットワークには種々の通信による大量のデータが流され得るからである。一方、情報処理装置１は、このように大量のデータを解析しなくて済むので、送信元と宛先との組合せが許容されているかの判断を効率的に行える。
【００２９】
また、情報処理装置１は、許容されていないマルチキャスト配信を停止させるように中継装置２を制御する。このため、許容されていないマルチキャスト配信を迅速に停止させることができる。例えば、システムの管理者が送信装置４ａの誤設定を修正するまで受信装置５，５ａにマルチキャスト配信がされ続けると、送信装置４による正しい設定でのマルチキャスト配信が受信装置５，５ａで正常に受信できないおそれがある。この影響は、監視映像などリアルタイムでマルチキャスト配信されるコンテンツにとっては特に深刻である。例えば、監視者が重要な時点の映像を見逃してしまうおそれがあるからである。情報処理装置１によれば、許容されていないマルチキャスト配信を迅速に停止できるので、正しい設定でのマルチキャスト配信への影響を低減できる。
【００３０】
［第２の実施の形態］
図２は、第２の実施の形態のマルチキャスト配信システムを示す図である。第２の実施の形態のマルチキャスト配信システムは、管理サーバ１００、ルータ２００，３００，３００ａ，３００ｂ，３００ｃ、監視カメラ４００，４００ａおよびクライアント５００，５００ａ，５００ｂ，５００ｃを含む。ルータ２００，３００，３００ａはネットワーク１０を介して接続されている。ルータ２００，３００ｂはネットワーク２０を介して接続されている。ルータ２００，３００ｃはネットワーク３０を介して接続されている。ネットワーク１０，２０，３０は、ＬＡＮ（Local Area Network）でもよいし、ＷＡＮ（Wide Area Network）やインターネットなどの広域ネットワークでもよい。第２の実施の形態のマルチキャスト配信システムでは、ＰＩＭ−ＳＭが用いられる。
【００３１】
管理サーバ１００は、ルータ２００によるマルチキャストパケットのルーティングを監視するサーバコンピュータである。また、管理サーバ１００は、監視により検出したイベントに応じてルータ２００によるルーティングを制御する。
【００３２】
ルータ２００，３００，３００ａ，３００ｂ，３００ｃは、マルチキャストパケットをルーティングするマルチキャスト対応の中継装置である。ルータ２００は、あるマルチキャストグループに対してＲＰルータとして動作する。
【００３３】
監視カメラ４００，４００ａは、監視対象の領域を継続的に撮像し、マルチキャストで動画を配信する撮像装置である。例えば、監視カメラ４００，４００ａは、監視対象としたい河川付近、道路付近および建物内などに設けられる。監視カメラ４００，４００ａのようにマルチキャストパケットの送信元となる装置をマルチキャストソースまたは単にソースと呼ぶことがある。監視カメラ４００は、ルータ３００に接続されている。監視カメラ４００ａは、ルータ３００ａに接続されている。
【００３４】
クライアント５００，５００ａ，５００ｂ，５００ｃは、ユーザによって利用されるクライアントコンピュータである。ユーザは、クライアント５００，５００ａ，５００ｂ，５００ｃを操作して、監視カメラ４００，４００ａによって配信される監視用の動画を閲覧できる。クライアント５００，５００ａ，５００ｂ，５００ｃのようにマルチキャストパケットの宛先となる装置をマルチキャストレシーバまたは単にレシーバと呼ぶことがある。
【００３５】
例えば、監視カメラ４００により撮像された監視用の動画を、あるマルチキャストグループに対して配信したい場合、ユーザは当該マルチキャストグループのマルチキャストアドレスを監視カメラ４００に設定する。例えば、ユーザは、クライアント５００からＴｅｌｎｅｔなどを用いて監視カメラ４００にアクセスし、マルチキャストアドレスを設定し得る。
【００３６】
ここで、例えば、ＩＰｖ４またはＩＰｖ６ではマルチキャストアドレスとして、所定のプレフィクスとマルチキャストグループを識別するＩＤ（IDentifier）との組合せを用いる。以下では、ＩＰｖ４を用いる場合を例示するが、ＩＰｖ６を用いる場合も第２の実施の形態の情報処理を適用できる。その場合はＩＰｖ４のＩＰアドレスをＩＰｖ６のＩＰアドレスに置き換えればよい。
【００３７】
ＩＰｖ４では、マルチキャストアドレスとして、アドレス範囲のうちクラスＤと呼ばれる範囲が用いられる。クラスＤのプレフィクスは“１１１０”である。クラスＤのアドレス範囲は、“２２４．０．０．０”から“２３９．２５５．２５５．２５５”である。
【００３８】
以下の説明では、一例として、クライアント５００，５００ａが属する第１のマルチキャストグループのマルチキャストアドレスを“２３９．１．１．１”とする。クライアント５００ｂ，５００ｃが属する第２のマルチキャストグループのマルチキャストアドレスを“２３９．１．１．２”とする。また、監視カメラ４００のＩＰアドレスを“１０．１．１．１”とする。監視カメラ４００ａのＩＰアドレスを“１０．１．２．２”とする。ＩＰアドレスのうちマルチキャストアドレスを指したいときは、マルチキャストアドレスと明記するものとする。ルータ２００は、第１のマルチキャストグループに対してＲＰルータとして動作するものとする。
【００３９】
また、監視カメラ４００により送信されるマルチキャストパケットは、マルチキャスト対応のルータとして最初にルータ３００を経由する。この場合、ルータ３００は監視カメラ４００に対するＦＨＲである。同様に、ルータ３００ａは監視カメラ４００ａに対するＦＨＲである。また、クライアント５００，５００ａにより受信されるマルチキャストパケットは、マルチキャスト対応のルータとして最後にルータ３００ｂを経由する。この場合、ルータ３００ｂはクライアント５００，５００ａに対するＬＨＲである。同様に、ルータ３００ｃはクライアント５００ｂ，５００ｃに対するＬＨＲである。
【００４０】
マルチキャストでは、ソースにより送信されたマルチキャストパケットは、ＦＨＲ、ＲＰルータおよびＬＨＲの順で経由して、レシーバに到達する。このとき、ＦＨＲからＲＰルータの直前までのルータは、マルチキャストパケットに含まれるマルチキャストアドレスに対応するＲＰルータへ向けて当該マルチキャストパケットを転送する。ＦＨＲからＲＰルータまでの経路を送信元ツリーと呼ぶことがある。ＲＰルータからＬＨＲまでの経路を共有ツリーと呼ぶことがある。
【００４１】
なお、第２の実施の形態では、監視カメラ４００，４００ａをソースとして用いる場合を例示するが、他の装置をソースとして用いることを妨げるものではない。例えば、所定の動画や音声などのコンテンツをマルチキャストでストリーム配信するサーバコンピュータをソースとして用いてもよい。
【００４２】
図３は、第２の実施の形態の管理サーバのハードウェア例を示す図である。管理サーバ１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ（Hard Disk Drive）１０３、通信部１０４、画像信号処理部１０５、入力信号処理部１０６、ディスクドライブ１０７および機器接続部１０８を有する。各ユニットが管理サーバ１００のバスに接続されている。
【００４３】
プロセッサ１０１は、管理サーバ１００の情報処理を制御する。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）またはＰＬＤ（Programmable Logic Device）などである。プロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ、ＰＬＤのうちの２以上の要素の組合せであってもよい。
【００４４】
ＲＡＭ１０２は、管理サーバ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００４５】
ＨＤＤ１０３は、管理サーバ１００の補助記憶装置である。ＨＤＤ１０３は、内蔵の磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。管理サーバ１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００４６】
通信部１０４は、ネットワーク１０を介して他のコンピュータと通信を行えるインタフェースである。通信部１０４は、有線インタフェースでもよいし、無線インタフェースでもよい。
【００４７】
画像信号処理部１０５は、プロセッサ１０１からの命令に従って、管理サーバ１００に接続されたディスプレイ１１に画像を出力する。ディスプレイ１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００４８】
入力信号処理部１０６は、管理サーバ１００に接続された入力デバイス１２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１２としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００４９】
ディスクドライブ１０７は、レーザ光などを利用して、光ディスク１３に記録されたプログラムやデータを読み取る駆動装置である。光ディスク１３として、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などを使用できる。ディスクドライブ１０７は、例えば、プロセッサ１０１からの命令に従って、光ディスク１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００５０】
機器接続部１０８は、管理サーバ１００に周辺機器を接続するための通信インタフェースである。例えば、機器接続部１０８にはメモリ装置１４やリーダライタ装置１５を接続できる。メモリ装置１４は、機器接続部１０８との通信機能を搭載した記録媒体である。リーダライタ装置１５は、メモリカード１６へのデータの書き込み、またはメモリカード１６からのデータの読み出しを行う装置である。メモリカード１６は、カード型の記録媒体である。機器接続部１０８は、例えば、プロセッサ１０１からの命令に従って、メモリ装置１４またはメモリカード１６から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００５１】
図４は、第２の実施の形態のソフトウェア例を示す図である。図４では、監視カメラ４００とルータ２００との間およびルータ２００とクライアント５００との間のルータやネットワークの図示を省略している。図４では、監視カメラ４００ａおよびクライアント５００ａ，５００ｂ，５００ｃの図示を省略している。図４に示すユニットの全部または一部は、管理サーバ１００、ルータ２００、監視カメラ４００およびクライアント５００が備える各プロセッサがＲＡＭなどのメモリに記憶されたプログラムを実行することで実現されてもよい。管理サーバ１００は記憶部１１０および管理部１２０を有する。
【００５２】
記憶部１１０は、アドレス情報履歴テーブルを記憶する。アドレス情報履歴テーブルは、ルータ２００により保持されるルーティングテーブルに登録された所定のエントリの履歴が記録された情報である。
【００５３】
管理部１２０は、ルータ２００が保持するルーティングテーブルの登録内容を監視する。具体的には、管理部１２０は、ルーティングテーブルに新たに追加されたエントリの情報を取得して記憶部１１０に記憶されたアドレス情報履歴テーブルに登録する。また、管理部１２０は、アドレス情報履歴テーブルを参照して誤ったエントリを検出する。すると、管理部１２０は、マルチキャストパケットの配信停止のための制御を行う。管理部１２０は、監視カメラ４００と通信し、監視カメラ４００の動作を制御することもある。
【００５４】
ルータ２００は、記憶部２１０および中継処理部２２０を有する。記憶部２１０は、ルーティングテーブルを記憶する。ルーティングテーブルは中継処理部２２０によって更新される。
【００５５】
中継処理部２２０は、記憶部２１０に記憶されたルーティングテーブルに基づいて、マルチキャストパケットのルーティングを行う。ルーティングテーブルは、（Ｓ，Ｇ）エントリと呼ばれる情報を含む。（Ｓ，Ｇ）エントリは、送信元であるソースのＩＰアドレス（“Ｓ”に相当）と宛先であるマルチキャストグループのマルチキャストアドレス（“Ｇ”に相当）との組合せに、ルータ２００が備える通信用インタフェース（送出すべき通信ポート）の識別情報を対応付けた情報である。
【００５６】
すなわち、中継処理部２２０は、マルチキャストパケットのルーティングを次のようにして行える。ルータ２００は、第１のマルチキャストグループ（アドレス“２３９．１．１．１”）に対応するＲＰルータである。よって、送信元ツリーの各ルータは、マルチキャストアドレス“２３９．１．１．１”を宛先アドレスに含むマルチキャストパケットをルータ２００へ転送する。中継処理部２２０は、マルチキャストパケットを受信する。
【００５７】
中継処理部２２０は、マルチキャストパケットに含まれる送信元ＩＰアドレスと宛先マルチキャストアドレスとを取得する。中継処理部２２０は取得されたアドレスの組合せを含む（Ｓ，Ｇ）エントリをルーティングテーブルから検索する。中継処理部２２０は、検索された（Ｓ，Ｇ）エントリに含まれる通信用インタフェースから、当該マルチキャストパケットを送出する。当該マルチキャストパケットは、当該マルチキャストグループに対応する共有ツリーを介してレシーバに到達する。
【００５８】
中継処理部２２０は、ＦＨＲによって生成されるＰＩＭレジスタメッセージと呼ばれる制御メッセージを受信すると、ルーティングテーブルに（Ｓ，Ｇ）エントリを登録する。
ここで、ＰＩＭ−ＳＭでは、ＦＨＲはソースによって送信開始されたマルチキャストパケットを受信すると、ユニキャストパケットにカプセル化して、ＰＩＭレジスタメッセージを生成する。ＰＩＭレジスタメッセージは、送信元のＩＰアドレスおよび宛先のマルチキャストアドレスを含む。ＦＨＲには、当該マルチキャストアドレスに対応するＲＰルータのＩＰアドレスが予め登録されている。ＦＨＲは、ＰＩＭレジスタメッセージを、当該ＲＰルータへ向けてユニキャストで送信する。ＲＰルータは、ＰＩＭレジスタメッセージに基づいて（Ｓ，Ｇ）エントリを生成する。具体的には、（＊，Ｇ）エントリとソースのＩＰアドレスとに基づいて（Ｓ，Ｇ）エントリを生成できる。（＊，Ｇ）エントリは、共有ツリーの情報であり、マルチキャストアドレスと各ルータが備える通信用インタフェース（送出すべき通信ポート）の識別情報を対応付けた情報である。（＊，Ｇ）エントリは共有ツリーに属するルータにおいて、事前に生成される。
【００５９】
監視カメラ４００は、エンコーダ４１０を有する。エンコーダ４１０は、監視カメラ４００で撮像された監視映像を所定のデータフォーマットに変換（エンコード）することで、ストリーミング配信のデータを生成する。エンコーダ４１０は、ストリーミング配信用のデータに基づいて、マルチキャストパケットを生成し、所定のマルチキャストグループに配信する。例えば、エンコーダ４１０には、配信先のマルチキャストアドレスが、ユーザにより、事前に設定される。ここで、監視カメラ４００ａのソフトウェア例も監視カメラ４００と同様である。
【００６０】
クライアント５００は、デコーダ５１０を有する。デコーダ５１０は、マルチキャストパケットを受信することで、ストリーミング配信用のデータを取得する。デコーダ５１０は、ストリーミング配信用のデータをデコードして、監視映像を出力する。例えば、デコーダ５１０は、クライアント５００に接続されたディスプレイに監視映像を表示させる。クライアント５００ａ，５００ｂ，５００ｃのソフトウェア例もクライアント５００と同様である。
【００６１】
図５は、第２の実施の形態のアドレス情報履歴テーブルの例を示す図である。アドレス情報履歴テーブル１１１は記憶部１１０に格納される。アドレス情報履歴テーブル１１１は、項番、時間、送信元アドレスおよび宛先マルチキャストアドレスの項目を含む。
【００６２】
項番の項目には、レコードを識別する番号が登録される。時間の項目には、（Ｓ，Ｇ）エントリがルーティングテーブルに登録された旨の通知をルータ２００から受信した時間が登録される。例えば、時間は年月日時分秒のフォーマットである。送信元アドレスの項目には、当該（Ｓ，Ｇ）エントリに含まれる送信元アドレスが登録される。宛先マルチキャストアドレスの項目には、当該（Ｓ，Ｇ）エントリに含まれる宛先マルチキャストアドレスが登録される。
【００６３】
例えば、アドレス情報履歴テーブル１１１には、項番が“１”、時間が“２０１３／１／１５  １０：３８：２１”、送信元アドレスが“１０．１．１．１”、宛先マルチキャストアドレスが“２３９．１．１．１”という情報が登録される。これは、ルーティングテーブルに（Ｓ，Ｇ）＝（“１０．１．１．１”，“２３９．１．１．１”）の（Ｓ，Ｇ）エントリの登録を行った旨の通知を、２０１３年１月１５日１０時３８分２１秒に、受けたことを示す。
【００６４】
図６は、第２の実施の形態のルーティングテーブルの例を示す図である。ルーティングテーブル２１１は、記憶部２１０に格納される。ルーティングテーブル２１１は、マルチキャストソース名および（Ｓ，Ｇ）エントリの項目を含む。
【００６５】
マルチキャストソース名の項目には、ソースの名称が登録される。例えば、監視カメラ４００の名称は“監視カメラＡ”である。監視カメラ４００ａの名称は“監視カメラＢ”である。（Ｓ，Ｇ）エントリの項目には、（Ｓ，Ｇ）エントリが登録される。（Ｓ，Ｇ）エントリは、送信元アドレス、宛先マルチキャストアドレスおよび出力ＩＦ（InterFace）の項目を含む。送信元アドレスの項目には、ソースのＩＰアドレスが登録される。宛先マルチキャストアドレスの項目には、宛先のマルチキャストアドレスが登録される。出力ＩＦの項目には、ルータ２００が備える通信用インタフェース（送出すべき通信ポート）の識別情報が登録される。
【００６６】
例えば、ルーティングテーブル２１１には、マルチキャストソース名が“監視カメラＡ”、（Ｓ，Ｇ）エントリが、送信元アドレス“１０．１．１．１”、宛先マルチキャストアドレス“２３９．１．１．１”、出力ＩＦ“ＩＦ１”という情報が登録されている。これは、ルータ２００が、送信元“２３９．１．１．１”から“２３９．１．１．１”宛のマルチキャストパケットを受信したとき、ルータ２００が備える複数の通信用インタフェースのうち、“ＩＦ１”で示されるインタフェースから当該マルチキャストパケットを送出すればよいことを示す。
【００６７】
ここで、ルーティングテーブル２１１では、監視カメラ４００，４００ａから同じ宛先マルチキャストアドレスでマルチキャスト配信が行われる状態を例示している。例えば、ユーザが、監視カメラ４００ａに対し、誤って監視カメラ４００と同じ宛先マルチキャストアドレスを設定してしまったことが原因として考えられる。例えば、この場合、デコーダ５１０は、監視カメラ４００，４００ａによって配信される異なるマルチキャストパケットを重複して受信することになる。すると、デコーダ５１０は適切にデコードを行えない。その結果、クライアント５００のユーザは監視カメラ４００，４００ａが配信する監視映像を何れも閲覧できなくなるおそれがある。
【００６８】
図７は、第２の実施の形態のＲＰルータの処理例を示すフローチャートである。以下、図７に示す処理をステップ番号に沿って説明する。
（ステップＳ１１）中継処理部２２０は、ＰＩＭレジスタメッセージを受信する。例えば、ＰＩＭレジスタメッセージは、監視カメラ４００によりマルチキャスト配信が行われる際、ルータ３００によって生成されてルータ２００へ送信され得る。あるいは、例えば、ＰＩＭレジスタメッセージは、監視カメラ４００ａによりマルチキャスト配信が行われる際、ルータ３００ａによって生成されてルータ２００へ送信され得る。
【００６９】
（ステップＳ１２）中継処理部２２０は、ＰＩＭレジスタメッセージと（＊，Ｇ）エントリとに基づいて、記憶部２１０に記憶されたルーティングテーブル２１１に（Ｓ，Ｇ）エントリを登録する。
【００７０】
（ステップＳ１３）中継処理部２２０は、新たに登録された（Ｓ，Ｇ）エントリの情報を管理サーバ１００に通知する。
（ステップＳ１４）中継処理部２２０は、宛先マルチキャストアドレスが重複した（Ｓ，Ｇ）エントリがルーティングテーブル２１１に存在するか否かを判定する。存在する場合、処理をステップＳ１５に進める。存在しない場合、処理を終了する。例えば、図６で説明したルーティングテーブル２１１の例では、宛先マルチキャストアドレス“２３９．１．１．１”が重複した（Ｓ，Ｇ）エントリが登録されている。この場合、中継処理部２２０は、処理をステップＳ１５に進めることになる。
【００７１】
（ステップＳ１５）中継処理部２２０は、誤設定された（Ｓ，Ｇ）エントリの内容を管理サーバ１００に問い合わせる。当該問い合わせには、宛先が重複した（Ｓ，Ｇ）エントリの情報が含まれる。
【００７２】
（ステップＳ１６）中継処理部２２０は、誤設定された（Ｓ，Ｇ）エントリの情報を管理サーバ１００から受信する。後述するように、管理サーバ１００は、宛先が重複した（Ｓ，Ｇ）エントリのうち、後から登録された（Ｓ，Ｇ）エントリを誤設定と判断する。図６で説明したルーティングテーブル２１１の例では、誤設定された（Ｓ，Ｇ）エントリは監視カメラ４００ａ（“監視カメラＢ”）の（Ｓ，Ｇ）エントリということになる。
【００７３】
（ステップＳ１７）中継処理部２２０は、管理サーバ１００から指定された（Ｓ，Ｇ）エントリをルーティングテーブル２１１から削除する。例えば、中継処理部２２０は、監視カメラ４００ａの（Ｓ，Ｇ）エントリを削除する。
【００７４】
このように、中継処理部２２０は、管理サーバ１００に誤設定の（Ｓ，Ｇ）エントリを問い合わせて、誤設定の（Ｓ，Ｇ）エントリを削除する。すると、中継処理部２２０は、監視カメラ４００ａにより送信されたマルチキャストパケットの転送を行わなくなる。当該マルチキャストパケットを受信しても送出すべき通信用インタフェースの判断を行えなくなるからである。
【００７５】
図８は、第２の実施の形態の管理サーバの処理例を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
（ステップＳ２１）管理部１２０は、ＲＰルータであるルータ２００に新たに登録された（Ｓ，Ｇ）エントリの情報を受信する。当該（Ｓ，Ｇ）エントリの情報は、図７のステップＳ１３の通知に含まれている。
【００７６】
（ステップＳ２２）管理部１２０は、記憶部１１０に記憶されたアドレス情報履歴テーブル１１１に、受信した（Ｓ，Ｇ）エントリの情報を登録する。例えば、新たに登録された（Ｓ，Ｇ）＝（“１０．１．１．１”，“２３９．１．１．１”）であれば、アドレス情報履歴テーブルの送信元アドレスに“１０．１．１．１”を、宛先マルチキャストアドレスに“２３９．１．１．１”を設定することになる。また、管理部１２０は、ステップＳ２１の情報を受信した時間を示すタイムスタンプを当該レコードに付与する（時間の項目に登録する）。
【００７７】
（ステップＳ２３）管理部１２０は、誤設定された（Ｓ，Ｇ）エントリの問い合わせをルータ２００から受信したか否かを判定する。受信した場合、処理をステップＳ２４に進める。受信していない場合、処理を終了する。当該問い合わせは、図７のステップＳ１５で説明した問い合わせに対応する。
【００７８】
（ステップＳ２４）管理部１２０は、アドレス情報履歴テーブル１１１に基づいて、誤設定された（Ｓ，Ｇ）エントリ（許容されていないエントリ）を特定する。アドレス情報履歴テーブル１１１には、ルーティングテーブル２１１に含まれる（Ｓ，Ｇ）エントリの登録履歴がタイムスタンプとともに記録されている。管理部１２０は、宛先マルチキャストアドレスが重複している（Ｓ，Ｇ）エントリのうち、後から登録された方の（Ｓ，Ｇ）エントリを、誤設定された（Ｓ，Ｇ）エントリであると特定する。図５のアドレス情報履歴テーブル１１１の例でいえば、項番“１”，“２”のレコードは、宛先マルチキャストアドレスが重複している。時間の項目の設定によれば、項番“２”のレコードは、項番“１”のレコードよりも後に登録されている。よって、管理部１２０は、項番“２”に対応する（Ｓ，Ｇ）エントリが誤設定されたものであると特定する。
【００７９】
（ステップＳ２５）管理部１２０は、誤設定された（Ｓ，Ｇ）エントリの情報をルータ２００に通知する。
（ステップＳ２６）管理部１２０は、アドレス情報履歴テーブル１１１を参照して、誤設定でマルチキャスト配信を行っているソースのＩＰアドレスを取得する。図５のアドレス情報履歴テーブル１１１の例でいえば、監視カメラ４００ａのＩＰアドレス“１０．１．２．２”である。管理部１２０は、当該ソース（例えば、監視カメラ４００ａ）にマルチキャストパケットの配信の停止を指示する。例えば、監視カメラ４００ａのエンコーダは、当該指示を受け付けると、マルチキャストパケットの配信を停止する。
【００８０】
このように、管理サーバ１００は、ＲＰルータであるルータ２００のルーティングテーブル２１１に登録された（Ｓ，Ｇ）エントリの履歴を管理する。ここで、ルーティングテーブル２１１から（Ｓ，Ｇ）エントリが削除された場合、管理サーバ１００は、その旨の通知をルータ２００から受信する。管理サーバ１００は、当該（Ｓ，Ｇ）エントリに対応するアドレス情報履歴テーブル１１１上のエントリを削除する。これによって、ルーティングテーブル２１１とアドレス情報履歴テーブル１１１との登録内容を同期し得る。管理サーバ１００は、ルータ２００からの問い合わせに応じて、誤設定された（Ｓ，Ｇ）エントリの情報を管理サーバ１００に提供する。
【００８１】
すなわち、アドレス情報履歴テーブル１１１は（Ｓ，Ｇ）エントリ（送信元アドレスと宛先マルチキャストアドレスとの組合せ）に対し、ＲＰルータとして動作するルータ２００への登録が許容されているか否かを示す情報であるといえる。
【００８２】
また、管理部１２０は、誤設定された宛先マルチキャストアドレスに対して配信を行うソースに対し、マルチキャスト配信の停止を指示する。余計なマルチキャストパケットの送信を抑止することで、ネットワークに対する負荷を軽減し得るからである。なお、ステップＳ２５，Ｓ２６の順序を逆にしてもよい。すなわち、ステップＳ２６の後にステップＳ２５が実行されてもよい。
【００８３】
図９は、第２の実施の形態の処理例を示すシーケンス図である。以下、図９に示す処理をステップ番号に沿って説明する。以下の説明では、図中、マルチキャストをＭＣ（Multi Cast）と略記することがある。また、Ｓ１＝“１０．１．１．１”、Ｓ２＝“１０．１．２．２”、Ｇ１＝“２３９．１．１．１”、Ｇ２＝“２３９．１．１．２”である。
【００８４】
（ステップＳＴ１０１）監視カメラ４００は、マルチキャストアドレスＧ１を宛先としたマルチキャストパケットの配信を開始する。ルータ３００は、マルチキャストパケットを受信する。これ以降、監視カメラ４００はマルチキャストアドレスＧ１を宛先としたマルチキャストパケットを継続的に送信する（以降の送信ステップの図示を省略している）。
【００８５】
（ステップＳＴ１０２）ルータ３００は、マルチキャストパケットに基づいてＰＩＭレジスタメッセージを生成する。ルータ３００は、マルチキャストアドレスＧ１に対するＲＰルータであるルータ２００にＰＩＭレジスタメッセージを送信する。ルータ２００は、ＰＩＭレジスタメッセージを受信する。ルータ２００は、（Ｓ，Ｇ）＝（Ｓ１，Ｇ１）のエントリをルーティングテーブル２１１に登録する。
【００８６】
（ステップＳＴ１０３）ルータ２００は、（Ｓ，Ｇ）＝（Ｓ１，Ｇ１）のエントリをルーティングテーブル２１１に登録した旨を管理サーバ１００に通知する。管理サーバ１００は、タイムスタンプとともに（Ｓ１，Ｇ１）を示すレコードをアドレス情報履歴テーブル１１１に登録する。
【００８７】
（ステップＳＴ１０４）監視カメラ４００ａは、マルチキャストアドレスＧ１を宛先としたマルチキャストパケットの配信を開始する。ルータ３００ａは、マルチキャストパケットを受信する。これ以降、監視カメラ４００ａはマルチキャストアドレスＧ１を宛先としたマルチキャストパケットを継続的に送信する（以降の送信ステップの図示を省略している）。
【００８８】
（ステップＳＴ１０５）ルータ３００ａは、マルチキャストパケットに基づいてＰＩＭレジスタメッセージを生成する。ルータ３００ａは、マルチキャストアドレスＧ１に対するＲＰルータであるルータ２００にＰＩＭレジスタメッセージを送信する。ルータ２００は、ＰＩＭレジスタメッセージを受信する。ルータ２００は、（Ｓ，Ｇ）＝（Ｓ２，Ｇ１）のエントリをルーティングテーブル２１１に登録する。
【００８９】
（ステップＳＴ１０６）ルータ２００は、（Ｓ，Ｇ）＝（Ｓ２，Ｇ１）のエントリをルーティングテーブル２１１に登録した旨を管理サーバ１００に通知する。管理サーバ１００は、タイムスタンプとともに（Ｓ２，Ｇ１）を示すレコードをアドレス情報履歴テーブル１１１に登録する。
【００９０】
（ステップＳＴ１０７）ルータ２００は、宛先マルチキャストアドレスの重複した２つのエントリ（Ｓ１，Ｇ１）と（Ｓ２，Ｇ１）とがルーティングテーブル２１１に登録されていることを検出する。ルータ２００は、誤設定の（Ｓ，Ｇ）エントリを管理サーバ１００に問い合わせる。
【００９１】
（ステップＳＴ１０８）管理サーバ１００は、当該問い合わせに応じてアドレス情報履歴テーブル１１１を参照し、宛先マルチキャストアドレスが重複するエントリのうち後から登録された（Ｓ２，Ｇ１）が誤設定であることを特定する。管理サーバ１００は、（Ｓ２，Ｇ１）が誤設定であることをルータ２００に通知する。ルータ２００は当該通知を受信する。
【００９２】
（ステップＳＴ１０９）ルータ２００は、通知された（Ｓ２，Ｇ１）に対応する（Ｓ，Ｇ）エントリをルーティングテーブル２１１から削除する。これ以降、監視カメラ４００ａを送信元としたマルチキャストパケットはルータ２００の先の共有ツリー側へは転送されなくなる。
【００９３】
（ステップＳＴ１１０）管理サーバ１００は、マルチキャストアドレスＧ１を宛先としたマルチキャストパケットの送信停止を監視カメラ４００ａに指示する。監視カメラ４００ａは、当該指示に応じて、マルチキャストアドレスＧ１の送信を停止する。
【００９４】
例えば、上記のように監視カメラ４００がマルチキャストアドレスＧ１を宛先としたマルチキャスト配信を行っている最中に、監視カメラ４００ａがマルチキャストアドレスＧ１を宛先としたマルチキャスト配信を開始することがある。この状態をそのままにすると、監視カメラ４００，４００ａが別個に配信するマルチキャストパケットが、クライアント５００，５００ａの各デコーダに重複して入力されてしまう。すると、クライアント５００，５００ａの各デコーダで適切な処理を行えなくなり、監視カメラ４００を用いた監視が中断されるおそれがある。
【００９５】
そこで、管理サーバ１００は、宛先マルチキャストアドレスが重複しているマルチキャストパケットについて、ルーティングテーブル２１１に後から登録された方のマルチキャストパケットを、転送しないようにルータ２００を制御する。後から登録された方を誤設定としてマルチキャストパケットを停止させる理由は、監視カメラ４００による既存の監視を継続して行えるようにするためである。これにより、誤設定のまま重複した配信が行われることの防止を図れる。
【００９６】
特に、管理サーバ１００は、ＲＰルータとして動作するルータ２００が保持するルーティングテーブル２１１の情報を取得して、誤設定の検出に用いる。ここで、例えば、ネットワークの何れかの箇所でネットワークを流れる種々のデータを収集して解析する（この手法はパケットキャプチャと呼ばれることもある）ことも考えられる。しかし、パケットキャプチャでは、収集されたデータの中からマルチキャスト配信の対象となるデータを検索するための処理コストが問題となる。ネットワークには種々の通信による対象のデータが流され得るからである。一方、管理サーバ１００は、このように大量のデータを解析しなくて済むので、（Ｓ，Ｇ）エントリが許容されているかの判断を効率的に行える。
【００９７】
また、管理サーバ１００は、許容されていない（誤設定での）マルチキャスト配信を停止させるようにルータ２００を制御する。このため、許容されていないマルチキャスト配信を迅速に停止させることができる。例えば、システムの管理者が監視カメラ４００ａの誤設定を修正するまで、クライアント５００，５００ａにマルチキャスト配信がされ続けると、監視カメラ４００による正しい設定でのマルチキャスト配信がクライアント５００，５００ａで正常に受信できないおそれがある。この影響は、第２の実施の形態のマルチキャスト配信システムのように、監視映像などリアルタイムでマルチキャスト配信されるコンテンツにとっては特に深刻である。例えば、監視者が重要な時点の映像を見逃してしまうおそれがあるからである。管理サーバ１００によれば、許容されていないマルチキャスト配信を迅速に停止できるので、既存のマルチキャスト配信への影響を低減できる。
【００９８】
また、管理サーバ１００は、監視カメラ４００ａに対し、マルチキャスト配信の停止を指示する。これにより、監視カメラ４００ａからルータ２００までの送信元ツリーにおいて、余計なマルチキャストパケットを流さずに済む。よって、ネットワークに対する負荷を軽減し得る。
【００９９】
また、第２の実施の形態のマルチキャスト配信システムでは、誤設定の（Ｓ，Ｇ）エントリを管理サーバ１００によって特定する。このため、ＲＰルータとして動作するルータ２００がどの（Ｓ，Ｇ）エントリが誤設定されたものかを判別できなかったとしても、管理サーバ１００に問い合わせることで誤設定の（Ｓ，Ｇ）エントリを適切に削除できる。すなわち、各ルータに誤設定された（Ｓ，Ｇ）エントリを検出するための機能を組み込まなくてもよい。ただし、管理サーバ１００の機能を１または複数のＲＰルータによって実現することを妨げるものではない。例えば、管理サーバ１００の機能を１または複数のＲＰルータが代替してもよい。
【０１００】
また、管理サーバ１００は、ルータ２００以外にも複数の他のＲＰルータとネットワークを介して接続され得る。管理サーバ１００は、複数の他のＲＰルータに対しても第２の実施の形態の情報処理を同様に実行して、複数の他のＲＰルータを集中的に管理することができる。その場合、アドレス情報履歴テーブル１１１の各レコードにＲＰルータの識別情報（例えば、ＲＰルータのＩＰアドレスなど）を含めて登録することが考えられる。ＲＰルータごとの履歴を管理するためである。
【０１０１】
なお、ステップＳＴ１０３の通知は、ＰＩＭ（Ｓ，Ｇ）ＪＯＩＮメッセージおよびＰＩＭレジスタストップメッセージが、ルータ２００からルータ３００に対して送信された後に実行されてもよい。ＰＩＭレジスタメッセージが継続的に送信されていると、ステップＳＴ１０７〜ＳＴ１０９が繰り返し実行される可能性があるからである。ステップＳＴ１０６の通知も同様に、ＰＩＭ（Ｓ，Ｇ）ＪＯＩＮメッセージおよびＰＩＭレジスタストップメッセージが、ルータ２００からルータ３００ａに対して送信された後に実行されてもよい。ＰＩＭ（Ｓ，Ｇ）ＪＯＩＮメッセージは、ＰＩＭ−ＳＭにおいて、ＦＨＲからＲＰルータまでの送信元ツリーの作成に用いられる制御メッセージである。また、ＰＩＭレジスタストップメッセージは、ＰＩＭ−ＳＭにおいて、ＲＰルータがＦＨＲに対してＰＩＭレジスタメッセージの送信を停止するように指示するための制御メッセージである。ＰＩＭレジスタストップメッセージを受信したＦＨＲは、ＰＩＭレジスタメッセージの送信を停止する。ただし、ルータ２００がＰＩＭレジスタストップメッセージを送る前に、ステップＳＴ１０３（またはステップＳＴ１０６）を実行することを妨げるものではない。
【０１０２】
ところで、図８でステップＳ２５，Ｓ２６を逆の順序で実行してもよいことを説明した。そこで、ステップＳ２５，Ｓ２６を逆の順序で実行する場合の処理例を説明する。
図１０は、第２の実施の形態の他の処理例を示すシーケンス図である。以下、図１０に示す処理をステップ番号に沿って説明する。図１０のシーケンスでは、図９のステップＳＴ１０８〜ＳＴ１１０に代えて、ステップＳＴ１０８ａ〜ＳＴ１１０ａを実行する点が異なる。ステップＳＴ１０１〜ＳＴ１０７は、図９で説明した同一の符号の各ステップと同様であるため、処理を省略する。
【０１０３】
（ステップＳＴ１０８ａ）管理サーバ１００は、マルチキャストアドレスＧ１を宛先としたマルチキャストパケットの送信停止を監視カメラ４００ａに指示する。監視カメラ４００ａは、当該指示に応じて、マルチキャストアドレスＧ１の送信を停止する。
【０１０４】
（ステップＳＴ１０９ａ）管理サーバ１００は、当該問い合わせに応じてアドレス情報履歴テーブル１１１を参照し、宛先マルチキャストアドレスが重複するエントリのうち後から登録された（Ｓ２，Ｇ１）が誤設定であることを特定する。管理サーバ１００は、（Ｓ２，Ｇ１）が誤設定であることをルータ２００に通知する。ルータ２００は当該通知を受信する。
【０１０５】
（ステップＳＴ１１０ａ）ルータ２００は、通知された（Ｓ２，Ｇ１）に対応する（Ｓ，Ｇ）エントリをルーティングテーブル２１１から削除する。
このように、管理サーバ１００は、監視カメラ４００ａに対して、先にマルチキャストパケットの停止指示を行った後に、誤設定された（Ｓ，Ｇ）エントリの通知をルータ２００に行ってもよい。
【０１０６】
また、監視カメラ４００ａからのマルチキャストパケットの送信が停止すれば、ルータ２００は、監視カメラ４００ａからのマルチキャストパケットを受信しなくなる。ここで、ＲＰルータには、ある（Ｓ，Ｇ）エントリについて、所定時間だけマルチキャストパケットを受信しない場合は、ルーティングテーブル２１１から当該（Ｓ，Ｇ）エントリを削除するものもある。ルータ２００がこのように動作する場合、管理サーバ１００は、ステップＳ１０８ａを実行した後、ステップＳＴ１０９ａ，ＳＴ１１０ａを実行しなくてもよい。誤設定された（Ｓ，Ｇ）エントリはタイムアウトによって削除され得るからである。
【０１０７】
［第３の実施の形態］
以下、第３の実施の形態を説明する。前述の第２の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【０１０８】
第２の実施の形態では、管理サーバ１００がアドレス情報履歴テーブル１１１に基づいて、誤設定の（Ｓ，Ｇ）エントリを特定するものとした。一方、ルータ２００のルーティングテーブル２１１への登録を許容する（Ｓ，Ｇ）エントリを管理サーバ１００に事前に設定しておいてもよい。第３の実施の形態では、この場合の具体例を説明する。
【０１０９】
ここで、第３の実施の形態のマルチキャスト配信システムの全体、装置、ハードウェア例およびソフトウェア例は、図２〜４で説明した第２の実施の形態のマルチキャスト配信システムの全体、装置、ハードウェア例およびソフトウェア例と同様である。ただし、第３の実施の形態では、アドレス情報履歴テーブル１１１に代えて、アドレス情報テーブル１１２を記憶部１１０に予め格納しておく点が異なる。
【０１１０】
図１１は、第３の実施の形態のアドレス情報テーブルの例を示す図である。アドレス情報テーブル１１２は、項番、送信元アドレスおよび宛先マルチキャストアドレスの項目を含む。
【０１１１】
項番の項目には、レコードを識別する番号が登録される。送信元アドレスの項目には、ＲＰルータのルーティングテーブルへの登録を許容する（Ｓ，Ｇ）エントリの送信元アドレスが登録される。宛先マルチキャストアドレスの項目には、ＲＰルータのルーティングテーブルへの登録を許容する（Ｓ，Ｇ）エントリの宛先マルチキャストアドレスが登録される。
【０１１２】
例えば、アドレス情報テーブル１１２には、項番が“１”、送信元アドレスが“１０．１．１．１”、宛先マルチキャストアドレスが“２３９．１．１．１”という情報が登録されている。これは、送信元アドレス“１０．１．１．１”および宛先マルチキャストアドレス“２３９．１．１．１”を含む（Ｓ，Ｇ）エントリのルーティングテーブルへの登録を許容することを示す。
【０１１３】
図１２は、第３の実施の形態のＲＰルータの処理例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
（ステップＳ３１）中継処理部２２０は、ＰＩＭレジスタメッセージを受信する。例えば、ＰＩＭレジスタメッセージは、監視カメラ４００ａによりマルチキャスト配信が行われる際、ルータ３００ａによって生成されてルータ２００へ送信され得る。例えば、ＰＩＭレジスタメッセージは、（Ｓ，Ｇ）＝（“１０．１．２．２”，“２３９．１．１．１”）を含むとする。
【０１１４】
（ステップＳ３２）中継処理部２２０は、ＰＩＭレジスタメッセージと（＊，Ｇ）エントリとに基づいて、記憶部２１０に記憶されたルーティングテーブル２１１に（Ｓ，Ｇ）エントリを登録する。この場合、（Ｓ，Ｇ）＝（“１０．１．２．２”，“２３９．１．１．１”）の（Ｓ，Ｇ）エントリがルーティングテーブル２１１に登録され得る。
【０１１５】
（ステップＳ３３）中継処理部２２０は、新たに登録された（Ｓ，Ｇ）エントリの情報を管理サーバ１００に通知する。
（ステップＳ３４）中継処理部２２０は、誤設定された（Ｓ，Ｇ）エントリの情報を管理サーバ１００から受信したか否かを判定する。受信した場合、処理をステップＳ３５に進める。受信しない場合、処理を終了する。後述するように、管理サーバ１００は、アドレス情報テーブル１１２に基づいて、誤設定の（Ｓ，Ｇ）エントリが存在する場合、その旨をルータ２００に通知する。当該通知の有無により、ステップＳ３４の判定を行える。例えば、図１１のアドレス情報テーブル１１２の例によれば、（Ｓ，Ｇ）＝（“１０．１．２．２”，“２３９．１．１．１”）の（Ｓ，Ｇ）エントリは、誤設定ということになる。よって、中継処理部２２０は当該（Ｓ，Ｇ）エントリに対して、管理サーバ１００から誤設定の通知を受けることになる。
【０１１６】
（ステップＳ３５）中継処理部２２０は、管理サーバ１００から指定された（Ｓ，Ｇ）エントリをルーティングテーブル２１１から削除する。例えば、中継処理部２２０は、ステップＳ３２で登録された（Ｓ，Ｇ）＝（“１０．１．２．２”，“２３９．１．１．１”）の（Ｓ，Ｇ）エントリをルーティングテーブル２１１から削除する。
【０１１７】
図１３は、第３の実施の形態の管理サーバの処理例を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。
（ステップＳ４１）管理部１２０は、ＲＰルータであるルータ２００に新たに登録された（Ｓ，Ｇ）エントリの情報を受信する。当該（Ｓ，Ｇ）エントリの情報は、図１２のステップＳ３３の通知に含まれている。例えば、（Ｓ，Ｇ）＝（“１０．１．２．２”，“２３９．１．１．１”）であるとする。
【０１１８】
（ステップＳ４２）管理部１２０は、記憶部１１０に記憶されたアドレス情報テーブル１１２に基づいて、ステップＳ４１で受信した（Ｓ，Ｇ）エントリが誤ったエントリであるか否かを判定する。誤ったエントリである（すなわち、許容されていない）場合、処理をステップＳ４３に進める。誤ったエントリでない（すなわち、許容されている）場合、処理を終了する。（Ｓ，Ｇ）＝（“１０．１．２．２”，“２３９．１．１．１”）の組合せは、アドレス情報テーブル１１２には登録されていない。よって、管理部１２０は、当該（Ｓ，Ｇ）エントリが許容されていないと判断する。
【０１１９】
（ステップＳ４３）管理部１２０は、誤設定された（Ｓ，Ｇ）エントリの情報をルータ２００に通知する。
（ステップＳ４４）管理部１２０は、ステップＳ４１で受信した情報から、誤設定でマルチキャスト配信を行っているソースのＩＰアドレスを取得する。図１１のアドレス情報テーブル１１２の例でいえば、監視カメラ４００ａのＩＰアドレス“１０．１．２．２”である。管理部１２０は、当該ソース（例えば、監視カメラ４００ａ）にマルチキャストパケットの配信の停止を指示する。例えば、監視カメラ４００ａのエンコーダは、当該指示を受け付けると、マルチキャストパケットの配信を停止する。
【０１２０】
このようにして、管理サーバ１００は、誤った（Ｓ，Ｇ）エントリがルーティングテーブル２１１に登録されたか否かを監視する。管理サーバ１００は、誤った（Ｓ，Ｇ）エントリがルーティングテーブル２１１に登録された場合、マルチキャスト配信を停止するようにルータ２００を制御する。これにより、誤設定でのマルチキャスト配信が行われることの防止を図れる。
【０１２１】
このため、例えば、１つのマルチキャストグループに対して誤って複数のソースからマルチキャスト配信されてしまう事態を抑制できる。アドレス情報テーブル１１２の例でいえば、宛先マルチキャストアドレス“２３９．１．１．１”に対しては、監視カメラ４００（送信元アドレス“１０．１．１．１”）のみがソースとして許容されている。したがって、それ以外のソースから宛先マルチキャストアドレス“２３９．１．１．１”に重複したマルチキャスト配信が行われることを抑制できる。アドレス情報テーブル１１２の例では、許容する送信元アドレスと宛先マルチキャストアドレスとの組合せを予め設定するものとした。ただし、許容しない送信元アドレスと宛先マルチキャストアドレスとの組合せを予め設定することを妨げるものではない。例えば、アドレス情報テーブル１１２に（Ｓ，Ｇ）エントリとして許容しないアドレスの組合せを設定して、判定に用いてもよい。
【０１２２】
ここで、ステップＳ４３，Ｓ４４の順序を逆にしてもよい。すなわち、ステップＳ４３の後にステップＳ４４が実行されてもよい。また、管理部１２０は、ステップＳ４３をスキップしてもよい。すなわち、ステップＳ４２の後にステップＳ４４を実行し、ステップＳ４３を実行しなくてもよい。誤設定された（Ｓ，Ｇ）エントリはタイムアウトによってルータ２００のルーティングテーブル２１１から削除され得るからである。
【０１２３】
また、管理サーバ１００は、ルータ２００以外にも複数の他のＲＰルータとネットワークを介して接続され得る。管理サーバ１００は、複数の他のＲＰルータに対しても第３の実施の形態の情報処理を同様に実行して、複数の他のＲＰルータを集中的に管理することができる。その場合、アドレス情報テーブル１１２の各レコードにＲＰルータの識別情報（例えば、ＲＰルータのＩＰアドレスなど）を含めて登録することが考えられる。ＲＰルータごとに登録を許容する（Ｓ，Ｇ）エントリを管理するためである。
【０１２４】
なお、前述のように、第１の実施の形態は、演算部１ｂにプログラムを実行させることで実現できる。また、第２の実施の形態および第３の実施の形態は、プロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体（例えば、光ディスク１３、メモリ装置１４およびメモリカード１６など）に記録できる。
【０１２５】
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
【０１２６】
また、上記の情報処理の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１２７】
１  情報処理装置
１ａ  記憶部
１ｂ  演算部
２，３，３ａ，３ｂ，３ｃ  中継装置
４，４ａ  送信装置
５，５ａ  受信装置
【図１】
2014183332.tif 000003
【図２】
2014183332.tif 000004
【図３】
2014183332.tif 000005
【図４】
2014183332.tif 000006
【図５】
2014183332.tif 000007
【図６】
2014183332.tif 000008
【図７】
2014183332.tif 000009
【図８】
2014183332.tif 000010
【図９】
2014183332.tif 000011
【図１０】
2014183332.tif 000012
【図１１】
2014183332.tif 000013
【図１２】
2014183332.tif 000014
【図１３】
2014183332.tif 000015