(57)【要約】【課題】ネットワークからマルチキャストパケットを受信して受信者側に転送するブリッジ装置は、装置内部の管理情報から受信者側装置の登録（エントリ）が削除されている場合、ネットワークから受信したマルチキャストパケットをブロードキャストに変換して受信者側の通信回線に送信することによる、通信帯域圧迫を解消する。【解決手段】ブリッジ装置１０１は、受信者側装置であるＳＴＢ１０５、１０６およびパソコン１０７から所定マルチキャストパケットを受信しないとの通知（離脱メッセージ）を受けても、当該受信者側装置にパケットを配信するために登録されていたエントリ情報をすぐには削除せず、離脱メッセージの送達後にコンテンツ配信サーバ１００からの当該マルチキャストパケットが到着しなくなる時間を考慮した所定時間経過後に、当該エントリ情報を削除する。【選択図】図１
2009021940.tif 000002
【特許請求の範囲】
【請求項１】
複数の受信者側装置と、前記複数の受信者側装置とネットワークを経由して接続されたサービス提供側装置との間でパケット転送を制御するブリッジ装置であって、
前記サービス提供側装置から受信したパケットの送信先となる前記受信者側装置を特定するための特定情報をエントリ情報として記憶する記憶手段と、
前記エントリ情報を前記記憶手段に登録あるいは削除するエントリ情報登録／削除手段と、
パケットの転送を制御する制御手段と、を備え、
前記制御手段は、前記サービス提供側装置から受信したパケットに対応する前記エントリ情報に基づいて、当該パケットの転送を制御し、
前記エントリ情報登録／削除手段は、前記受信者側装置から受信した前記サービス提供側装置に宛てた制御メッセージが、パケットの配信停止を要求する停止要求を指示するときは、当該制御メッセージを受信した後所定の時間が経過してから該停止要求を発信した前記受信側者装置に対応する前記エントリ情報を前記記憶手段から削除する、ブリッジ装置。
【請求項２】
複数の受信者側装置と、前記複数の受信者側装置とネットワークを経由して接続されたサービス提供側装置との間でパケット転送を制御するブリッジ装置であって、
前記サービス提供側装置から受信したパケットの送信先となる前記受信者側装置を特定するための特定情報と、当該パケットの送信可否を示すフラグ情報を含むエントリ情報を記憶する記憶手段と、
前記エントリ情報を前記記憶手段に登録あるいは削除するエントリ情報登録／削除手段と、
パケットの転送を制御する制御手段と、を備え、
前記エントリ情報登録／削除手段は、前記受信者側装置から受信した前記サービス提供側装置に宛てた制御メッセージが、パケットの配信停止を要求する停止要求を指示するときは、該停止要求を送信してきた前記受信者側装置を特定するための特定情報を含む前記エントリ情報のフラグ情報を停止要求ありの状態にセットし、
前記制御手段は該フラグ情報が停止要求ありの状態にセットされている前記エントリ情報の前記特定情報により特定される受信者側装置に対するパケットの送信を停止する、ブリッジ装置。
【請求項３】
前記エントリ情報登録／削除手段は、前記フラグ情報を停止要求ありの状態にセットした後に、前記エントリ情報を前記記憶手段から削除する、請求項２に記載のブリッジ装置。
【請求項４】
前記ブリッジ装置は、さらに前記受信者側装置から前記サービス提供側装置宛に送信される情報をスヌープするスヌープ手段を備え、
前記制御メッセージは前記スヌープ手段により取得される、請求項１から３のいずれかに記載のブリッジ装置。
【請求項５】
前記サービス提供側装置へ接続する通信方式はイーサネット（登録商標）を指し、前記受信者側装置へ接続する通信方式は電力線搬送を指す、請求項１から４のいずれかに記載のブリッジ装置。
【請求項６】
前記サービス提供側装置へ接続する通信方式はイーサネットを指し、前記受信者側装置へ接続する通信方式は無線ＬＡＮを指す、請求項１から４のいずれかに記載のブリッジ装置。
【請求項７】
前記請求項１から６のいずれかに記載のブリッジ装置を内蔵する通信機器。
【請求項８】
複数の受信者側装置と、前記複数の受信者側装置とネットワークを経由して接続されたサービス提供側装置との間でパケット転送を制御する方法を、ＣＰＵ、メモリおよび通信部を備えるコンピュータにより実行させるためのプログラムであって、
前記方法は、
前記サービス提供側装置から前記通信部を介して受信したパケットの送信先となる前記受信者側装置を特定するための特定情報を、前記ＣＰＵによりエントリ情報として前記メモリに登録あるいは削除するエントリ情報登録／削除ステップと、
パケットの転送を制御する制御ステップと、を備え、
前記制御ステップでは、前記ＣＰＵにより、前記サービス提供側装置から前記通信部を介して受信したパケットに対応する前記エントリ情報に基づいて、当該パケットの転送を制御し、
前記エントリ情報登録／削除ステップでは、前記ＣＰＵにより、前記受信者側装置から前記通信部を介して受信した前記サービス提供側装置に宛てた前記制御メッセージが、パケットの配信停止を要求する停止要求を指示すると検知したときは、前記ＣＰＵにより、当該制御メッセージを受信した後所定の時間が経過してから該停止要求を発信した前記受信者側装置に対応する前記エントリ情報を前記メモリから削除することを特徴とする、パケット転送を制御する方法をコンピュータにより実行させるためのプログラム。
【請求項９】
複数の受信者側装置と、前記複数の受信者側装置とネットワークを経由して接続されたサービス提供側装置との間でパケット転送を制御する方法を、ＣＰＵ、メモリおよび通信部を備えるコンピュータにより実行させるためのプログラムであって、
前記方法は、
前記サービス提供側装置から前記通信部を介して受信したパケットの送信先となる前記受信者側装置を特定するための特定情報と、当該パケットの送信可否を示すフラグ情報を含むエントリ情報を、前記ＣＰＵにより前記メモリに登録あるいは削除するエントリ情報登録／削除ステップと、
パケットの転送を制御する制御ステップと、を備え、
前記エントリ情報登録／削除ステップでは、前記ＣＰＵにより、前記受信者側装置から前記通信部を介して受信した前記サービス提供側装置に宛てた制御メッセージが、パケットの配信停止を要求する停止要求を指示すると検知したときは、前記ＣＰＵにより、該停止要求を送信してきた受信者側装置を特定するための特定情報を含む前記エントリ情報のフラグ情報を停止要求ありの状態にセットし、
前記制御ステップでは、前記ＣＰＵにより、該フラグ情報が停止要求ありの状態にセットされている前記エントリ情報の前記特定情報により特定される受信者側装置に対するパケットの送信を停止することを特徴とする、パケット転送を制御する方法をコンピュータにより実行させるためのプログラム。
【請求項１０】
請求項８に記載のプログラムを記録した機械読取り可能な記録媒体。
【請求項１１】
請求項９に記載のプログラムを記録した機械読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストパケットの転送をサポートするブリッジ装置に関し、特に、複数の受信者側装置と、ＩＰ網（Internet protocolに従う通信網）などのネットワークを経由して接続されたサービス提供側装置との間でマルチキャストパケットを転送するブリッジ装置に関する。
【０００２】
ここで、ＩＰマルチキャストパケットは、ＩＰ網を経由して接続されるコンテンツサーバ等のサービス提供側装置と、そのサービスを受けるセットトップボックス（ＳＴＢ）等のホスト端末（受信者側装置）との間で通信されるパケットを指す。
【背景技術】
【０００３】
種々の情報を配信するサーバなどのサービス提供側装置からデジタル映像などで代表されるデジタルコンテンツを、ＩＰ網を通じて多数の利用者に配信する場合、ブロードキャスト、マルチキャストなどの技術を使用することができる。マルチキャストによる配信は、受信希望者の複数の端末（ホスト）のみにパケットを送信することができるので、通信帯域の有効利用を図ることができるという利点を有する。マルチキャストに従い配信されるパケットの受信を希望する複数のホストはマルチキャストグループを構成する。マルチキャストグループの構成は固定されておらず、各ホストはいつでもマルチキャストグループに参加することができ、いつでも（たとえば、マルチキャストパケットの受信を希望しないときは）グループから離脱することができる。
【０００４】
ＩＰ網を経由してパケットをマルチキャストに従い多数の受信側端末（以下、ホストと呼ぶ）に配信する場合、経路の途中に設けられているルータなどの装置が、マルチキャストパケットを、その受信を希望するホストが存在する（接続される）ネットワークのインタフェース（以下、インタフェースと呼ぶ）に転送する。インタフェースは、ルータなどの装置とネットワーク内のホストとの通信を行なう接点のことである。インタフェースが複数ある場合は、ルータなどの装置は必要な分だけマルチキャストパケットをコピーして転送する。経路上のルータがマルチキャストパケットをコピーして転送することにより、最終的にマルチキャストパケットの受信を希望するホスト全てに対して、マルチキャストパケットが転送される。
【０００５】
サーバからマルチキャストで送信される場合のパケットの宛先アドレスは、グループアドレスと呼ばれ、ホストのアドレスとは関係の無いものになる。マルチキャスト対応ルータは、グループアドレスとホストが存在するインタフェースの情報を管理することによって、あるグループアドレスを持つマルチキャストパケットを適切なインタフェースに転送することができる。
【０００６】
以下、ルータ−ルータ間のプロトコルの説明は本発明に関係しないので省略し、ルータとホスト間の通信プロトコルについて説明する。
【０００７】
マルチキャスト対応ルータとホストとの間では、マルチキャスト転送情報を通知するためのプロトコルが用いられる。たとえば、ＩＰｖ４（Internet Protocol version 4）の場合はＩＧＭＰ（Internet Group Management Protocol）が用いられ、ＩＰｖ６（Internet Protocol version 6）の場合はＭＬＤ（Multicast Listener Discovery）が用いられる。
【０００８】
ＩＧＭＰやＭＬＤで用いられるメッセージには、問合せ（Ｑｕｅｒｙ）メッセージ、報告（Ｒｅｐｏｒｔ）メッセージ、離脱（Ｌｅａｖｅ）メッセージが含まれる。これらメッセージもマルチキャストパケットの一種として送信される。このときのグループアドレスは、あらかじめ定められたアドレスが用いられる。
【０００９】
ホストは、ＩＰマルチキャスト放送の視聴を開始するとき、報告（Ｒｅｐｏｒｔ）メッセージを送出し、グループアドレスに参加することを、自己が属する同一ネットワーク上の全ての端末（マルチキャスト対応ルータも含まれる）に通知する。マルチキャスト対応ルータは、報告（Ｒｅｐｏｒｔ）メッセージを検出すると、グループアドレスやホストが属するネットワークのインタフェースなどの情報をエントリ情報として内部の記憶領域に記憶する。エントリ情報が記憶されると、マルチキャスト対応ルータは、記憶されたエントリ情報に基づきマルチキャストパケットを、必要なインタフェースにだけ転送することができる。
【００１０】
ホストはＩＰマルチキャスト放送の視聴を停止するとき離脱（Ｌｅａｖｅ）メッセージを送出する。マルチキャスト対応ルータは、離脱（Ｌｅａｖｅ）メッセージを検出しても、すぐにはマルチキャストパケットの転送を停止しない。離脱（Ｌｅａｖｅ）メッセージの送出元ホストが属する同一ネットワークに、同じ番組の放送を受信している別のホストが存在するかもしれないからである。マルチキャスト対応ルータは、離脱（Ｌｅａｖｅ）メッセージを送信したインタフェースのネットワークに対して、グループアドレスを特定した問合せ（Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙ）メッセージを複数回送出し、最大応答時間（Ｍａｘ  Ｒｅｓｐｏｎｓｅ  Ｔｉｍｅ）以内に応答があるか否かを検出する。応答がないことを検出すると、そのインタフェースのネットワークには、該当するグループアドレスを受信するホストが存在しないと判断して、マルチキャストの転送を停止する。応答があることを検出した場合にはマルチキャストの転送を継続する。
【００１１】
また、マルチキャスト対応ルータは、一定時間毎に一般問合せ（Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ）メッセージを送出する。ＩＰマルチキャスト放送を視聴しているホストは一般問合せ（Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ）メッセージに応答して、報告（Ｒｅｐｏｒｔ）メッセージを送出する。報告（Ｒｅｐｏｒｔ）メッセージにはホストが参加しているグループアドレスなどが含まれる。マルチキャスト対応ルータは、連続して最大応答時間（Ｍａｘ  Ｒｅｓｐｏｎｓｅ  Ｔｉｍｅ）以内に応答がないことを検出すると（これを‘タイムアウト’を検出するという）、一般問合せ（Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ）メッセージを送出したインタフェースのネットワークには、マルチキャストパケットを受信するホストが存在しないと判断して、当該インタフェースへのマルチキャストパケットの転送を停止する。応答があると検出した場合には、ネットワークには、マルチキャストパケットを受信するホストが存在すると判断して、マルチキャストパケットの転送を継続する。
【００１２】
タイムアウトの仕組みが必要な理由は、ホストの電源が不意にＯＦＦされて離脱（Ｌｅａｖｅ）メッセージを送出しない場合があるため、またＩＧＭＰｖ１（ＩＧＭＰ Version １の仕様書：ＲＦＣ（Request for Comments）１１１２）では離脱（Ｌｅａｖｅ）メッセージがサポートされていないためなどである。離脱（Ｌｅａｖｅ）メッセージは、ＩＧＭＰｖ２（ＩＧＭＰ Version 2）以降からサポートされる。
【００１３】
また、マルチキャスト対応ルータが、離脱（Ｌｅａｖｅ）メッセージを検出しても、すぐにマルチキャストパケットの転送を停止しない理由として、次のものがある。
【００１４】
ホストがマルチキャストグループに参加するとき、そのネットワークにおいて最初の参加者でなければ、報告（Ｒｅｐｏｒｔ）メッセージを送出しなくてよい。同様に、受信者側端末（ホスト）がマルチキャストグループから離脱するときも、そのネットワークにおいて問合せ（Ｑｕｅｒｙ）メッセージに応答した最後のホストでなければ、離脱（Ｌｅａｖｅ）メッセージを送出しなくてよい。また、一般問合せ（Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ）メッセージの応答のときも、同一ネットワークに同じ番組の放送を受信しているホストが複数存在する場合、どれか１台のホストだけが報告（Ｒｅｐｏｒｔ）メッセージを応答することがある。これらの仕様をホストの抑制（Ｈｏｓｔ  Ｓｕｐｐｒｅｓｓｉｏｎ）と呼ぶ。ホストの抑制は、ＩＧＭＰｖ２（仕様書：ＲＦＣ（Request for Comments）２２３６）とそれから派生したＭＬＤｖ１（ＭＬＤ version 1の仕様書：ＲＦＣ（Request for Comments）２７１０）には存在するが、ＩＧＭＰｖ３（ＩＧＭＰ Version 3の仕様書：ＲＦＣ（Request for Comments）３３７６）やＭＬＤｖ２（ＭＬＤ version 2の仕様書：ＲＦＣ（Request for Comments）３８１０）では廃止されている。
【００１５】
ホストの抑制が実施されると、マルチキャスト対応ルータはマルチキャストグループに参加している全てのホストを特定できない。このことは、離脱（Ｌｅａｖｅ）メッセージを検出しても即座にマルチキャストパケットの転送を停止できない理由となっている。
【００１６】
マルチキャスト対応ルータのうち、高速離脱（Ｆａｓｔ  Ｌｅａｖｅ）というオプションを搭載したものがある。このオプションが有効にセットされたマルチキャスト対応ルータは、離脱（Ｌｅａｖｅ）メッセージを検出すると、グループアドレスを特定した問合せ（Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙ）メッセージを送出することなく、即座にマルチキャストパケットの転送を停止する。高速離脱（Ｆａｓｔ  Ｌｅａｖｅ）オプションの利用は、各インタフェースのネットワークには最大１つのホストしか存在しないことが前提とされている。
【００１７】
特許文献１に記載されているパケット交換装置は、インタフェースごとに、グループアドレスとそれに参加しているホストの情報（台数を含む）とを管理している。このため、そのパケット交換装置は、最後の１台のホストがグループアドレスからの離脱（Ｌｅａｖｅ）メッセージを送出したときにだけ、マルチキャストパケットの転送を停止することができ、不用意なデータ配信停止を避けることができる、とされている。
【００１８】
また、ＬＡＮ（Local Area Network）スイッチがマルチキャスト対応ルータとホストとの間に置かれる場合がある。
【００１９】
特別な機能を備えないＬＡＮスイッチの場合、マルチキャストパケットを受信すると、受信したマルチキャストパケットを全てのポートに対して転送するため、帯域のリソースを無駄に消費することになる。
【００２０】
ＬＡＮスイッチがＩＧＭＰパケットやＭＬＤパケットを盗み見する機能（「ＩＧＭＰスヌーピング」および「ＭＬＤスヌーピング」と呼ばれる）を持っている場合、ホストから送出される報告（Ｒｅｐｏｒｔ）メッセージを盗み見して、グループアドレスやホストが存在するポートなどの情報をエントリ情報として内部の記憶領域に登録する。エントリ情報が記憶されれば、スヌーピング対応ＬＡＮスイッチは、記憶されたエントリ情報に基づき、マルチキャストパケットを必要なホストが存在するポートにだけ転送する。そのようなポートが複数ある場合は、必要な分だけパケットをコピーして転送する。対応のエントリ情報が登録されていない未知のマルチキャストパケットについては、全てのポートに対して転送する。
【００２１】
スヌーピング対応ＬＡＮスイッチは、離脱（Ｌｅａｖｅ）メッセージを受信すると、マルチキャスト対応ルータと同様な処理を行なう。まず、ＬＡＮスイッチは、ＬＡＮスイッチ以外の機器（たとえば、マルチキャスト対応ルータ）が、グループアドレスを特定した問合せ（Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙ）メッセージを送出するのを監視する。次に、ＬＡＮスイッチは、最大応答時間（Ｍａｘ  Ｒｅｓｐｏｎｓｅ  Ｔｉｍｅ）以内に応答があるか否かを検出する。応答がないことを検出すると、そのポートに該当するグループアドレスを受信するホストがいないものと判断して、マルチキャストパケットの転送を停止する。応答があることを検出した場合には、マルチキャストパケットの転送を継続する。
【００２２】
また、スヌーピング対応ＬＡＮスイッチの一部には、高速離脱（Ｆａｓｔ  Ｌｅａｖｅ）のオプションを用意したものもある。このオプションが有効にセットされたスヌーピング対応ＬＡＮスイッチは、離脱（Ｌｅａｖｅ）メッセージを検出すると、グループアドレスを特定した問合せ（Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙ）メッセージを監視することなく、即座にマルチキャストパケットの転送を停止する。高速離脱（Ｆａｓｔ  Ｌｅａｖｅ）オプションの利用は、各ポートが接続するネットワークに最大１つのホストしか存在しないことが前提である。
【００２３】
また、特許文献１に記載されているような処理を、ＬＡＮスイッチに実行させることも可能である。
【特許文献１】特開２００３−２４４２３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
マルチキャスト対応ルータの高速離脱（Ｆａｓｔ  Ｌｅａｖｅ）のオプションの使用は、各インタフェースのネットワークには最大１つのホストしか存在しないことが前提となっている。
【００２５】
マルチキャスト対応ルータが特許文献１に記載されている処理に対応していたとしても、あるインタフェースのネットワーク上で、スヌーピングに非対応のＬＡＮスイッチがある場合にはホストの抑制の実施は避けられない。ホストの抑制が実施されると、視聴を開始するときの報告（Ｒｅｐｏｒｔ）メッセージの送出や、視聴を停止するときの離脱（Ｌｅａｖｅ）メッセージの送出がされない可能性がある。特許文献１はこの可能性について言及していない。
【００２６】
従来は、『端末からの配信停止要求に対して即座にデータ配信の停止を行なうとともに、同一のインタフェースを通じて複数の端末が接続されている場合でも、不用意なデータ配信停止を起こさない』という機能の提供が望まれていた。しかし、ホストの抑制が実施されるので、上述の機能を実現することは不可能であった。
【００２７】
マルチキャスト対応ルータとホストとの間をブリッジするためにブリッジ装置が適用される。ここで、ブリッジ装置とは、Ｌａｙｅｒ２におけるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）フレームをブリッジする装置、またはフレーム転送装置を指す。具体的には、Ｅｔｈｅｒｎｅｔ（登録商標）のＭＡＣフレームをブリッジする装置、たとえば電力線搬送通信であるＰＬＣ（Ｐｏｗｅｒ  Ｌｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）を使ったブリッジ装置、ＩＥＥＥ８０２．１１ｂ／ｇ／ａ等の無線ＬＡＮの規格やその他の無線規格を使ったブリッジ装置、同軸ケーブル（Ｃｏａｘ）を使ったブリッジ装置などを指す。
【００２８】
このようなブリッジ装置においては、未知なる（エントリ情報に登録されていない）マルチキャストパケットを送信しようとすると、ブロードキャストパケットと同じ扱いとなり、低速のビットレートでしか送信できない。なぜなら、全ての端末が受信できるようにするため、ロバストな（誤り耐性の強い）伝送方法を用いているからである。たとえば、ＰＬＣの一規格であるＨｏｍｅＰｌｕｇＡＶにおいては、約３Ｍｂｐｓのビットレートでしか伝送されない。このため、ビットレートの高いＩＰマルチキャスト放送を正常に受信することはできない。
【００２９】
そこで、マルチキャストパケットを複数のユニキャスト・コネクションで伝送する方法がある。これは、あるマルチキャストパケットを、それを必要とする全てのホストに対し、必要な分だけパケットをコピーして伝送するものである。全体に一斉送信するブロードキャスト・コネクションと比べて、特定のアダプタに送信するユニキュスト・コネクションの方は高速に伝送できる。ユニキャスト・コネクションで伝送する方法は、必要な分だけパケットをコピーしなければならないが、それを差し引いてもブロードキャスト・コネクションで伝送するよりずっと効率が良い。これを実現するためスヌーピング対応ＬＡＮスイッチと同様な技術、すなわち、「ＩＧＭＰスヌーピング」や「ＭＬＤスヌーピング」を用いることができる。
【００３０】
ブリッジ装置が「ＩＧＭＰスヌーピング」や「ＭＬＤスヌーピング」の機能を持っている場合（これを、スヌーピング対応ブリッジ装置という）、スヌーピング対応ブリッジ装置は、ホストから送出される報告（Ｒｅｐｏｒｔ）メッセージを盗み見して、グループアドレスやその先にホストが存在するブリッジ装置などの情報をエントリ情報として内部の記憶領域に登録する。エントリ情報が記憶されると、記憶したエントリ情報に基づき、スヌーピング対応ブリッジ装置は、マルチキャストパケットを必要なホストが存在するブリッジ装置にだけ転送する。そのようなブリッジ装置が複数ある場合は、必要な分だけパケットをコピーして転送する。エントリ情報に登録されていない未知のマルチキャストパケットについては、自分以外の全てのブリッジ装置に対して転送する。
【００３１】
前述した通り、ホストの抑制がある限り、『端末からの配信停止要求に対して即座にデータ配信の停止を行なうとともに、同一のインタフェースを通じて複数の端末が接続されている場合でも、不用意なデータ配信停止を起こさない』という機能を確実に実現することはできないが、実際の使用状況に鑑みると、発生確率が非常に低いため「ホストの抑制」は無視しても差し支えないといえる。少なくとも、「ホストの抑制」を無視することは、設計上のひとつの選択としてはありうる。
【００３２】
しかし、スヌーピング対応ブリッジ装置に、高速離脱（Ｆａｓｔ  Ｌｅａｖｅ）のオプションや、特許文献１に記載されているような処理を実施させると以下の課題がある。
【００３３】
すなわち従来技術では、グループアドレスやホストが存在するポートなどの情報がエントリ情報として記憶領域に登録されているが、離脱（Ｌｅａｖｅ）メッセージを受信してからエントリ情報を削除するまでの時間の概念が想定されていない。あるいは、離脱（Ｌｅａｖｅ）メッセージを受信するとエントリ情報を即座に削除するということが暗黙のうちに想定されている。あるいは、少なくともマルチキャスト対応ルータからマルチキャストパケットの転送状態を考慮せずにエントリ情報を削除すると想定される。
【００３４】
先に述べたように、マルチキャスト対応ルータは、離脱（Ｌｅａｖｅ）メッセージを受信しても、すぐにはマルチキャストパケットの配信を停止しない。このような場合、スヌーピング対応ブリッジ装置は、離脱（Ｌｅａｖｅ）メッセージを受信して、すぐにエントリ情報を記憶領域から削除してしまうと、未知なる（エントリ情報が登録されていない）マルチキャストパケットを受信することになる。未知なるマルチキャストパケットを送信しようとすると、スヌーピング対応ブリッジ装置は、ブロードキャストパケットと同様に、未知なるマルチキャストパケットを低速のビットレートで送信する。その結果、マルチキャストパケットの転送によって、ネットワーク上で通信時間の大半が占有されることになり、同じネットワークに接続される他の端末の通信に影響を及ぼす。また、ネットワークの帯域を逼迫させ、全体のスループットを低下させる。少なくとも、ＩＰマルチキャスト放送を視聴している別のホストがあった場合には、当該別ホストではＩＰマルチキャスト放送に従う出力映像が乱れることになる。
【００３５】
それゆえに、この発明の目的は、ネットワークからマルチキャストパケットを受信して受信者側に転送するブリッジ装置であって、装置内部の記憶手段から受信者側装置の送信先情報が削除され、ネットワークから受信したマルチキャストパケットをブロードキャストに変換して受信者側の通信回線に送信することによる、通信帯域圧迫を解消する機能を有するブリッジ装置を提供することを目的とする。
【課題を解決するための手段】
【００３６】
この発明のある局面に従うと、複数の受信者側装置と、前記複数の受信者側装置とネットワークを経由して接続されたサービス提供側装置との間でパケット転送を制御するブリッジ装置は、以下の特徴を備える。
【００３７】
つまり、ブリッジ装置は、サービス提供側装置から受信したパケットの送信先となる受信者側装置を特定するための特定情報をエントリ情報として記憶する記憶手段と、エントリ情報を記憶手段に登録あるいは削除するエントリ情報登録／削除手段と、パケットの転送を制御する制御手段と、を備える。
【００３８】
制御手段は、サービス提供側装置から受信したパケットに対応するエントリ情報に基づいて、当該パケットの転送を制御する。エントリ情報登録／削除手段は、受信者側装置から受信したサービス提供側装置に宛てた制御メッセージが、パケットの配信停止を要求する停止要求を指示するときは、当該制御メッセージを受信した後所定の時間が経過してから該停止要求を発信した受信側者装置に対応するエントリ情報を記憶手段から削除する。
【００３９】
この発明の他の局面に従うと、上述のブリッジ装置を内蔵する通信機器が提供される。
この発明のさらに他の局面に従うと、複数の受信者側装置と、複数の受信者側装置とネットワークを経由して接続されたサービス提供側装置との間でパケット転送を制御するブリッジ装置は、以下の特徴を備える。
【００４０】
つまり、ブリッジ装置は、サービス提供側装置から受信したパケットの送信先となる受信者側装置を特定するための特定情報と、当該パケットの送信可否を示すフラグ情報を含むエントリ情報を記憶する記憶手段と、エントリ情報を記憶手段に登録あるいは削除するエントリ情報登録／削除手段と、パケットの転送を制御する制御手段と、を備える。
【００４１】
エントリ情報登録／削除手段は、受信者側装置から受信したサービス提供側装置に宛てた制御メッセージが、パケットの配信停止を要求する停止要求を指示するときは、該停止要求を送信してきた受信者側装置を特定するための特定情報を含むエントリ情報のフラグ情報を停止要求ありの状態にセットする。
【００４２】
制御手段は該フラグ情報が停止要求ありの状態にセットされているエントリ情報の特定情報により特定される受信者側装置に対するパケットの送信を停止する。
【００４３】
好ましくは、エントリ情報登録／削除手段は、フラグ情報を停止要求ありの状態にセットした後に、エントリ情報を記憶手段から削除する。
【００４４】
好ましくは、ブリッジ装置は、さらに受信者側装置からサービス提供側装置宛に送信される情報をスヌープするスヌープ手段を備え、制御メッセージはスヌープ手段により取得される。
【００４５】
好ましくは、サービス提供側装置へ接続する通信方式はＥｔｈｅｒｎｅｔを指し、受信者側装置へ接続する通信方式は電力線搬送を指す。
【００４６】
好ましくは、サービス提供側装置へ接続する通信方式はＥｔｈｅｒｎｅｔを指し、受信者側装置へ接続する通信方式は無線ＬＡＮを指す。
【００４７】
この発明のさらに他の局面に従うと、複数の受信者側装置と、複数の受信者側装置とネットワークを経由して接続されたサービス提供側装置との間でパケット転送を制御する方法を、ＣＰＵ、メモリおよび通信部を備えるコンピュータにより実行させるためのプログラムは以下の特徴を備える。
【００４８】
つまり、前述の方法は、サービス提供側装置から通信部を介して受信したパケットの送信先となる受信者側装置を特定するための特定情報を、ＣＰＵによりエントリ情報としてメモリに登録あるいは削除するエントリ情報登録／削除ステップと、パケットの転送を制御する制御ステップと、を備える。
【００４９】
制御ステップでは、ＣＰＵにより、サービス提供側装置から通信部を介して受信したパケットに対応するエントリ情報に基づいて、当該パケットの転送を制御する。エントリ情報登録／削除ステップでは、ＣＰＵにより、受信者側装置から通信部を介して受信したサービス提供側装置に宛てた制御メッセージが、パケットの配信停止を要求する停止要求を指示すると検知したときは、ＣＰＵにより、当該制御メッセージを受信した後所定の時間が経過してから該停止要求を発信した受信者側装置に対応するエントリ情報をメモリから削除する。
【００５０】
この発明のさらに他の局面に従うと、複数の受信者側装置と、複数の受信者側装置とネットワークを経由して接続されたサービス提供側装置との間でパケット転送を制御する方法を、ＣＰＵ、メモリおよび通信部を備えるコンピュータにより実行させるためのプログラムであって、以下の特徴を備える。
【００５１】
つまり、前述の方法は、サービス提供側装置から通信部を介して受信したパケットの送信先となる受信者側装置を特定するための特定情報と、当該パケットの送信可否を示すフラグ情報を含むエントリ情報を、ＣＰＵによりメモリに登録あるいは削除するエントリ情報登録／削除ステップと、パケットの転送を制御する制御ステップと、を備える。
【００５２】
エントリ情報登録／削除ステップでは、ＣＰＵにより、受信者側装置から通信部を介して受信したサービス提供側装置に宛てた制御メッセージが、パケットの配信停止を要求する停止要求を指示すると検知したときは、ＣＰＵにより、該停止要求を送信してきた受信者側装置を特定するための特定情報を含むエントリ情報のフラグ情報を停止要求ありの状態にセットし、制御ステップでは、ＣＰＵにより、該フラグ情報が停止要求ありの状態にセットされているエントリ情報の特定情報により特定される受信者側装置に対するパケットの送信を停止する。
【００５３】
この発明のさらに他の局面に従うと、上述のプログラムを記録した機械読取り可能な記録媒体が提供される。
【発明の効果】
【００５４】
発明によれば、ブリッジ装置の記憶手段に記憶されているマルチキャストパケットの送信先となる受信者側装置を特定する特定情報のエントリ情報は、受信者側装置からのマルチキャストパケットの配信停止を要求する停止要求を受信しても即刻には削除されず所定時間だけ記憶手段にそのまま保存される。したがって、ブリッジ装置が、記憶手段から受信者側装置のエントリ情報が削除されている場合には、ネットワークから受信したマルチキャストパケットをブロードキャストパケットに変換して受信者側装置の通信回線に送信する機能を有しているとしても、ブリッジ装置は停止要求受信後にサービス提供側装置からマルチキャストパケットを受信してもブロードキャストパケットには変換せずに、停止要求受信前の態様に従いパケットが受信者側装置に転送される。
【００５５】
したがって、記憶手段から受信者側装置の送信先情報が削除されているなど未登録の場合には、ＩＰ網から受信したマルチキャストパケットをブロードキャストに変換して受信者側装置の通信回線に送信することによる、通信帯域圧迫を解消することができる。
【００５６】
また別の局面においては、送信先情報はフラグ情報を含み、ブリッジ装置が停止要求を受信したとき、停止要求を送信してきた受信者側装置に対応する送信先情報のフラグ情報を「停止要求あり」にセットし、制御手段はこのフラグが「停止要求あり」にセットされている送信先情報に対応する受信者側装置にはパケットを送信しないようにするので、ブリッジ装置が停止要求を受信後にサービス提供側装置からからマルチキャストパケットを受信しても上述と同様にブロードキャストには変換しないで送信する。これにより、フラグ情報が「停止要求あり」に対応する受信者側装置にはパケットを転送せず、フラグ情報が「停止要求なし」に対応する受信者側装置には以前と同様に転送される。
【００５７】
また、全ての受信者側装置から停止要求を受信すると、ブロードキャスト、ユニキャストのいずれにおいてもパケットの転送は全く行われない。
【００５８】
上述のいずれの場合も、受信者側装置のネットワークの帯域を圧迫することは無く、受信者側の通信には弊害が及ばない。
【発明を実施するための最良の形態】
【００５９】
以下、図面を参照しつつ、本発明の各実施の形態について説明する。なお、図面においては、同一符号は同一または相当する部分を指し、それらの名称および機能は同一であるから、それらの詳細な説明は繰返さない。
【００６０】
なお、本実施の形態の説明では、マルチキャストは、不特定多数の相手（後述のホスト）に対して同じデータ（パケット）を送信することを指し、ブロードキャストとは同一ネットワーク上の全ての相手（後述のホスト）に対して同じデータ（パケット）を送信することを指し、ユニキャストとは単一のアドレスを指定して特定の相手にデータを送信することを指す。
【００６１】
[実施の形態１]
図１は本実施の形態に係る通信システムの基本的構成の例を示すブロック図である。図１の通信システムは、たとえばテレビ番組のコンテンツ（映像・音声・文字情報）などをＩＰマルチキャストに従い配信するサービス提供側装置であるコンテンツ配信サーバ１００、コンテンツ配信サーバ１００から配信されるマルチキャストパケットを受信し受信側端末（ホスト）へ転送するマルチキャスト対応ルータ１１０、マルチキャスト対応ルータ１１０から転送されてくるマルチキャストパケットを受信して他のブリッジ装置へ転送するブリッジ装置Ｔ（以下、単にブリッジ装置ともいう）１０１、ブリッジ装置１０１からパケットを受信し、受信したパケットを受信側端末（ホスト）に転送するブリッジ装置Ｒ１、Ｒ２およびＲ３（以下、単にブリッジ装置ともいう）１０２、１０３および１０４、パケットを受信する受信側端末（ホスト）であるセットトップボックス１および２（以下、ＳＴＢ１および２と略す）１０５および１０６とパソコン（パーソナルコンピュータの略）１０７、コンテンツ配信サーバ１００から配信されるコンテンツをＳＴＢを介して受信して出力する出力装置１０８、１０９を備える。出力装置１０８、１０９は、たとえばテレビなどである。
【００６２】
またパソコン１０７は、ＳＴＢを介さずにそれ自身が最終的な出力装置になっているものとして例示される。以後の記述では、ＳＴＢやパソコンなどを特定する必要の無いときは、単に受信側端末（ホスト）と称することがある。
【００６３】
本実施の形態１では、マルチキャスト対応ルータ１１０とブリッジ装置１０１との間はＥｔｈｅｒｎｅｔを介して接続される。ブリッジ装置１０１とブリッジ装置１０２、１０３および１０４とは、Ｅｔｈｅｒｎｅｔとは別のネットワーク、たとえばＰＬＣや無線ＬＡＮなどを介して接続される。ブリッジ装置１０２、１０３および１０４と受信側端末（ホスト）とは、Ｅｔｈｅｒｎｅｔを介して接続される。ブリッジ装置１０１は、本発明が適用される装置である。
【００６４】
ここでは、ブリッジ装置１０１と受信側端末とを接続するネットワークの通信規格は、次のようなものである。つまり、ブリッジ装置１０１は、サービス提供側装置（コンテンツ配信サーバ１００およびマルチキャスト対応ルータ１１０）からマルチキャストパケットを受信したとき、それが未知のグループアドレスを指示するならば（後述のエントリ情報記憶部１０１５に登録されていないエントリ情報を指示するならば）、当該マルチキャストパケットをブロードキャスト・コネクションに従い受信側端末の通信回線に伝送し、かつ、そのときに転送のビットレートが低下するような通信規格が採用される。このような通信規格の代表例は、ＰＬＣである。
【００６５】
本実施の形態１、また後述の実施の形態２でも、図１に示すように、パケット（データ）の流れる方向がブリッジ装置１０１からブリッジ装置１０２、１０３および１０４になっているが、ブリッジ装置１０２、１０３および１０４とブリッジ装置１０１は本質的には同等である。
【００６６】
図１において、ブリッジ装置１０１はマルチキャストパケットを送信し、ブリッジ装置１０２、１０３および１０４はマルチキャストを受信する。
【００６７】
図１には実線矢印で示すストリームＡと破線矢印で示すストリームＢが示される。ストリームＡとＢはマルチキャストパケット（データ）の伝送経路（流れ）を指し、矢印は流れる方向を示す。太い実線はマルチキャストパケットのストリームＡを指し、太い点線はマルチキャストパケットのストリームＢを指す。また、細い実線はユニキャスト・コネクションに従うマルチキャストパケットのストリームＡを指し、細い実線はユニキャスト・コネクションに従うマルチキャストパケットのストリームＢを指す。
【００６８】
コンテンツ配信サーバ１００からは、たとえばあるコンテンツはマルチキャストパケットのストリームＡを用いて配信されて、別のコンテンツはマルチキャストパケットのストリームＢを用いて配信される。
【００６９】
マルチキャスト対応ルータ１１０は、マルチキャストパケットを、コンテンツの受信を希望する受信側端末（ホスト）を接続するインタフェースに転送する。
【００７０】
ＳＴＢ１０５および１０６それぞれには、配信されたコンテンツの最終的な出力装置であるテレビ１０８および１０９それぞれが接続されている。最終的なコンテンツの出力装置は、テレビ１０８、１０９に限らず、受信者がコンテンツを視聴するためにコンテンツを出力する機能を有した装置であれば良い。また、図１ではテレビ１０８と１０９にパケットを送信するためのＳＴＢ１０５と１０６を備えるが、ＳＴＢ１０５とテレビ１０８（ＳＴＢ１０６とテレビ１０９）に代替して、自身がさらなるパケット転送を行わないパソコン１０７などの最終的なコンテンツ出力装置を備えるようにしてもよい。または、たとえばＳＴＢを内蔵したテレビを備えるようにしてもよい。
【００７１】
図１では、ストリームＡに従うマルチキャストパケットが、ユニキャスト・コネクションとして、ブリッジ装置１０１からブリッジ装置１０２とブリッジ装置１０３にそれぞれに伝送される。ストリームＢに従うマルチキャストパケットも、ユニキャスト・コネクションとして、ブリッジ装置１０１からブリッジ装置１０４に伝送される。
【００７２】
図２にブリッジ装置１０１の機能構成を示す。図２の構成は、本発明の内容を説明するために、ブリッジ装置１０１の最小限の構成要素をモデル化して示したものである。図２の太い矢印線はマルチキャストパケットの伝送方向を指し、破線矢印は制御パケットの伝送方向を指す。ブリッジ装置１０１は、マルチキャスト対応ルータ１１０との通信を行なう第１通信部１０１１、他のブリッジ装置１０２、１０３および１０４との通信を行なう第２通信部１０１２、受信側端末（ホスト）から受信した報告（Ｒｅｐｏｒｔ）メッセージなどの制御パケットを解析する制御パケット解析部１０１３、エントリ情報の登録と削除を行なうエントリ情報管理部１０１４、エントリ情報を記憶するエントリ情報記憶部１０１５、マルチキャストパケットを適切なブリッジ装置に、必要ならばコピー（複製）した後に、コピーによって得られた複数のマルチキャストパケットを転送するマルチキャストパケット転送部１０１６、カウント動作によって現在時刻を計時するタイマ部１０１７を含む。
【００７３】
第１通信部１０１１は送信部１０１１Ａと受信部１０１１Ｂを有し、第２通信部１０１２は送信部１０１２Ａと受信部１０１２Ｂとを有する。第１通信部１０１１と第２通信部１０１２とは、互いに違った通信規格を用いる。たとえば第１通信部１０１１はＥｔｈｅｒｎｅｔに従う規格を用いて通信を行ない、第２通信部１０１２は、電力線搬送や無線ＬＡＮに従う規格を用いて通信を行なう。
【００７４】
図２に示す機能は全てハードウェアとして実現されても良く、または、ブリッジ装置１０１の機能が搭載される図３の一般的なコンピュータにより実現されてもよい。図３を参照して、ブリッジ装置１０１の機能が搭載されるコンピュータは、ＣＰＵ（Central Processing Unit）２０１、ＲＯＭ（Read Only Memory）２０２およびエントリ情報記憶部１０１５に対応するＲＡＭ（Random Access Memory）２０３ならなるメモリ、タイマ部１０１７に対応するタイマ２０５、第１および第２通信部１０１１および１０１２に対応する通信Ｉ／Ｆ（Interface）２０６、ＦＤ（Flexible Disk）２０９などの記憶媒体が着脱自在に装着される外部Ｉ／Ｆ２０７を有する。なお、図３では、メモリと周辺装置のデータ転送は、ＣＰＵ２０１を介して行なうとしているが、ＤＭＡ（Direct Memory Access）を介してデータ転送するとしてもよい。
【００７５】
第１および第２通信部１０１１および１０１２、制御パケット解析部１０１３、エントリ情報管理部１０１４およびマルチキャストパケット転送部１０１６の一部の機能は、プログラムとして予め準備されてＲＯＭ２０２に格納される。ＣＰＵ２０１はＲＯＭ２０２から当該プログラムを読出し、読出したプログラムの命令を実行する。このことにより当該機能が実現される。
【００７６】
ここで、本実施の形態のＩＰマルチキャストで使用されるパケットの構成を説明する。図４にはコンテンツ配信サーバ１００から送信されるマルチキャストパケットの構成が示される。
【００７７】
図４の（Ａ）を参照して、Ｅｔｈｅｒｎｅｔを介して伝送されるマルチキャストパケットＰＡ１は、ヘッダ部とデータ部からなり、ヘッダ部には送信先ＭＡＣアドレスＤＡ、送信元ＭＡＣアドレスＳＡ、送信元ＩＰアドレスＳＩＰおよび送信先ＩＰアドレスＤＩＰを含み、データ部には送信するべきデータ本体を指すペイロードＰＬを含む。ペイロードＰＬはコンテンツのデータを含む。
【００７８】
受信部１０１１Ｂは、受信したマルチキャストパケットＰＡ１の送信先ＭＡＣアドレスＤＡが、０ｘ０１、０ｘ００、０ｘ５ｅ・・・から始まっているか否かを検出し、始まっていると検出すると、受信したマルチキャストパケットＰＡ１はＩＰｖ４のマルチキャストパケットを指すと検知する。また、送信先ＭＡＣアドレスＤＡが、０ｘ３３、０ｘ３３・・・から始まっていると検出すれば、ＩＰｖ６のマルチキャストパケットを指すと検知する。
【００７９】
ＩＰｖ４のマルチキャストパケットの、送信先ＩＰアドレスＤＩＰおよび送信元ＩＰアドレスＳＩＰは３２ビット（４オクテット）長を有する。ＩＰｖ６のマルチキャストパケットの、送信先ＩＰアドレスＤＩＰおよび送信元ＩＰアドレスＳＩＰは１２８ビット（１６オクテット）長を有する。
【００８０】
図４の（Ｂ）を参照して、ＰＬＣを介して伝送されるマルチキャストパケットＰＡ２は、図４の（Ａ）と同様にヘッダ部とデータ部からなり、ヘッダ部には図４の（Ａ）の情報と、データＡＡＴが指す宛先アダプタＴＥＩとを含む。データ部にはペイロードＰＬを含む。データＡＡＴが指す宛先アダプタＴＥＩは、マルチキャストパケットＰＡ２の宛先となるべきブリッジ装置のアドレスを指す。送信部１０１２ＡはマルチキャストパケットＰＡ２の宛先アダプタＴＥＩが０ｘ０１、０ｘ０２・・・、０ｘＦＥを指示すると検知した場合には、当該マルチキャストパケットＰＡ２をユニキャスト・コネクションに従い特定のブリッジ装置に対して伝送する。宛先アダプタＴＥＩが０ｘＦＦを指示すると検知した場合には、当該マルチキャストパケットＰＡ２をブロードキャスト・コネクションに従い、全てのブリッジ装置に対して伝送する。
【００８１】
ブリッジ装置１０１は、マルチキャストパケットであると判断すれば、受信したパケットのグループアドレスとソースアドレスを、エントリ情報記憶部１０１５に記憶されるエントリ情報と比較する。合致すれば、エントリ情報に含まれる宛先アダプタＴＥＩを受信したパケットに付与し、当該パケットをそのＴＥＩ宛てのブリッジ装置に伝送する。合致しなければ、当該パケットの宛先アダプタＴＥＩに‘０ｘＦＦ’を付与して、受信したパケットを全てのブリッジ装置に伝送する。
【００８２】
図５に、ＰＬＣを介して伝送される制御パケットとして、（Ａ）のＩＰｖ４に従う制御パケット（以下、ＩＧＭＰパケットという）と、（Ｂ）のＩＰｖ６に従う制御パケット（以下、ＭＬＤパケットという）を示す。
【００８３】
図５の（Ａ）のＩＧＭＰパケットは、アダプタＴＥＩを指すデータＡＴ、送信先ＭＡＣアドレスＤＡ、送信元ＭＡＣアドレスＳＡ、ＥｔｈｅｒＴｙｐｅを指すデータＥＴ、ＩＰプロトコルＰＴ、およびＩＧＭＰデータＩＤを含む。アダプタＴＥＩは、制御パケットがどのブリッジ装置から転送されたかを特定することができるように、そのブリッジ装置のアドレスを示す。ＥｔｈｅｒＴｙｐｅは、‘０ｘ０８００’を指すならばＩＰｖ４に従う制御パケット（ＩＧＭＰパケット）を指し、‘０ｘ８６ｄｄ’を指すならばＩＰｖ６に従う制御パケット（ＭＬＤパケット）を指す。
【００８４】
ＩＰプロトコルＰＴが‘２’を指すならば当該制御パケットはＩＧＭＰパケットを指す。ＩＧＭＰデータＩＤには、タイプＤ１、モードＤ２、グループアドレスＤ３、およびソースアドレス・リストＤ４のデータが含まれる可能性があるが、これら全てのデータが含まれるとは限らない。
【００８５】
タイプＤ１は、当該制御パケット（ＩＧＭＰパケット）の種別を指示する。タイプＤ１が‘０ｘ１１’を指すならば当該制御パケットは問合せ（Ｑｕｅｒｙ）メッセージのパケットを指す。同様に‘０ｘ１２’ならばＩＧＭＰｖ１の報告（Ｒｅｐｏｒｔ）メッセージを指し、‘０ｘ１６’ならばＩＧＭＰｖ２の報告（Ｒｅｐｏｒｔ）メッセージを指し、‘０ｘ１７’ならばＩＧＭＰｖ２のマルチキャストパケットの配信停止を要求するための離脱（Ｌｅａｖｅ）メッセージを指し、‘０ｘ２２’ならばＩＧＭＰｖ３の報告（Ｒｅｐｏｒｔ）メッセージ、または、ＩＧＭＰｖ３の離脱（Ｌｅａｖｅ）メッセージを指す。
【００８６】
グループアドレスＤ３は、参加するべきマルチキャストグループのパケットを指示する。モードＤ２とソースアドレス・リストＤ４は、送信元アドレスのフィルタリングを指示する。詳細は後述する。
【００８７】
図５の（Ｂ）を参照して、ＰＬＣを介して伝送されるＩＰｖ６に従う制御パケット（ＭＬＤパケット）は、データＡＴが指すアダプタＴＥＩ、送信先ＭＡＣアドレスＤＡ、送信元ＭＡＣアドレスＳＡ、データＥＴが指すＥｔｈｅｒＴｙｐｅ、データＮＨが指すＩＰｖ６ＮｅｘｔＨｅａｄｅｒおよびＭＬＤデータＭＤを含む。
【００８８】
アダプタＴＥＩは、制御パケットがどのブリッジ装置から転送されたかを特定することができるように、そのブリッジ装置のアドレスを示す。ＩＰｖ６ＮｅｘｔＨｅａｄｅｒは‘５８’を指すならばＩＣＭＰｖ６パケットを指す。ＩＣＭＰｖ６パケットの一部によってＭＬＤパケットが構成される。ＭＬＤデータＭＤには、タイプＤ１、モードＤ２、グループアドレスＤ３およびソースアドレスＤ４が含まれる可能性があるが、全てが含まれるとは限らない。
【００８９】
タイプＤ１は当該制御パケット（ＭＬＤパケット）の種別を特定する。タイプＤ１が‘１３０’を指すならば問合せ（Ｑｕｅｒｙ）メッセージを指示する。同様に、‘１３１’を指すならばＭＬＤｖ１の報告（Ｒｅｐｏｒｔ）メッセージを指示し、‘１３２’を指すならばＭＬＤｖ１の離脱（Ｌｅａｖｅ）メッセージを指示し、‘１４３’を指すならばＭＬＤｖ２の報告（Ｒｅｐｏｒｔ）メッセージ、または、ＭＬＤｖ２の離脱（Ｌｅａｖｅ）メッセージを指示する。
【００９０】
図６はエントリ情報記憶部１０１５に格納されるエントリ情報の例を示す。エントリ情報記憶部１０１５には、ＩＧＭＰパケットのエントリ情報１２００を登録するためのＩＧＭＰ用管理テーブル１０１５１とＭＬＤパケットのエントリ情報１２０１を登録するためのＭＬＤ用管理テーブル１０１５２が格納される。それぞれの管理テーブルにはリスト構造によって０個以上のエントリ情報を格納することができる。管理テーブルにおいてエントリ情報はポインタにより連結されている。リストの最後のエントリ情報のポインタは次位のエントリ情報を指すことはないので、当該ポインタには‘ＮＵＬＬ’が設定される。したがって、エントリ情報管理部１０１４とマルチキャストパケット転送部１０１６は、管理テーブルからリスト構造に従いエントリ情報の読出しを行なうので、‘ＮＵＬＬ’を指すポインタを有するエントリ情報を読出すと、当該管理テーブルから全てのエントリ情報を読出したことを検知することができる。
【００９１】
あるいは、図６の管理テーブルは、配列と配列の長さを持つデータ構造を有していてもよい。
【００９２】
エントリ情報記憶部１０１５のエントリ情報１２００（１２０１）はマルチキャストパケットを送信する際に読出し（参照）され、また制御パケットの情報に基づき書込み、または削除（更新）されるが、この参照と更新は排他的に行われると想定する。
【００９３】
エントリ情報管理部１０１４は、制御パケットを受信すると、受信した制御パケットの情報に基づきエントリ情報記憶部１０１５のエントリ情報を更新する。
【００９４】
図６のエントリ情報１２００と１２０１の構成は共通するので、ここではエントリ情報１２００について詳述する。図示されるように、エントリ情報１２００は、データＭＯＤＥ、データＤＥＳＴ＿ＴＥＩ、データＤＥＳＴ＿ＭＡＣ、データＧＲＯＵＰ＿ＡＤＤＲＥＳＳ、データＵＰＤＡＴＥ＿ＴＩＭＥＲ、およびＮ個（ただしＮ≧０の整数）のデータＳＯＵＲＣＲ＿ＡＤＤＲＥＳＳを含む。図６では、エントリ情報１２００は１例として１個のデータＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳを含むとしている。
【００９５】
データＭＯＤＥには、図５のＩＧＭＰデータＩＤまたはＭＬＤデータＭＤのモードＤ２が制御パケットから読出されて設定される。データＭＯＤＥは、受信するマルチキャストパケットの送信元をフィルタリングするための方法を、次の２つのモードで指定する。つまり、データＭＯＤＥが‘ＩＮＣＬＵＤＥ’（＝０）を指す場合には、記述されているソースアドレス・リストを持つ送信元からのパケットだけを受信し、‘ＥＸＣＬＵＤＥ’（＝１）を指す場合には、記述されているソースアドレス・リスト以外の送信元からのパケットだけを受信することを指示する。
【００９６】
データＤＥＳＴ＿ＴＥＩには、図５のアダプタＴＥＩを指示するデータＡＴが制御パケットから読出されて設定される。データＤＥＳＴ＿ＴＥＩは、マルチキャストパケットの宛先アダプタＴＥＩ（報告メッセージを送信したブリッジ装置のアドレス）を指す。
【００９７】
データＤＥＳＴ＿ＭＡＣには、図５の送信元ＭＡＣアドレスが制御パケットから読出されて設定される。データＤＥＳＴ＿ＭＡＣは、マルチキャストパケットの最終宛先ＭＡＣアドレスを指す。最終宛先ＭＡＣアドレスは報告メッセージの送信者（ホスト）を指示する。
【００９８】
データＧＲＯＵＰ＿ＡＤＤＲＥＳＳには、図５のＩＧＭＰデータＩＤまたはＭＬＤデータＭＤのグループアドレスＤ３が制御パケットから読出されて設定される。データＧＲＯＵＰ＿ＡＤＤＲＥＳＳは、マルチキャストパケットのグループアドレスＤＩＰを指す。
【００９９】
データＵＰＤＡＴＥ＿ＴＩＭＥＲには、エントリ情報１２００（１２０１）を更新した時点でタイマ部１０１７が指示するタイムカウント値が入力されて設定される。報告（Ｒｅｐｏｒｔ）メッセージの制御パケットを受信する毎に、当該制御パケットに対応するエントリ情報１２００（１２０１）のデータＵＰＤＡＴＥ＿ＴＩＭＥＲが更新される。所定の期間更新がされなければ、エントリ情報１２００（１２０１）はタイムアウト処理によりエントリ情報記憶部１０１５から削除される。
【０１００】
Ｎ個のデータＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳには、図５のＩＧＭＰデータまたはＭＬＤデータのソースアドレスリストＤ４が制御パケットから読出されて設定される。Ｎ個のデータＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳは、受信するマルチキャストパケットの送信元をフィルタリングするために参照されるソースアドレスのリストを指す。ソースアドレスはコンテンツ配信サーバ１００のＩＰアドレスを指す。
【０１０１】
なお、モードＤ２とソースアドレス・リストＤ４は、ＩＧＭＰｖ３およびＭＬＤｖ２にに従う制御パケットのみが有する。旧バージョンのプロトコルには送信元をフィルタリングするという概念はないが、旧バージョンのプロトコルであっても、モードＤ２とソースアドレス・リストＤ４の概念を適用することができる。すなわち、旧バージョンのプロトコルに従う通信がされる場合には、制御パケット解析部１０１３は、受信した制御パケットの情報を、グループアドレスが指示するマルチキャストグループへの参加は、ＭＯＤＥ＝‘ＥＸＣＬＵＤＥ’でソースアドレス・リスト＝｛｝（｛｝は空を意味する）により指示されると解釈する。また、グループアドレスが指示するマルチキャストグループからの離脱は、ＭＯＤＥ＝‘ＩＮＣＬＵＤＥ’でソースアドレス・リスト＝｛｝により指示されると解釈する。
【０１０２】
なお、ＩＧＭＰパケットのエントリ情報１２００とＭＬＤパケットのエントリ情報１２０１とは、データＧＲＯＵＰ＿ＡＤＤＲＥＳＳとデータＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳのビット数の違いがあるだけで、他は上述したように共通のデータを有する。
【０１０３】
本実施の形態に係るブリッジ装置１０１の動作の概略を、図１〜図６を参照して説明する。コンテンツ配信サーバ１００によってマルチキャストパケットＰＡ１が送信されると、ホストであるＳＴＢ１０５と１０６およびパソコン１０７は、マルチキャストパケットＰＡ２をブリッジ装置１０１を経由して受信する。具体的には、以下のようである。
【０１０４】
ブリッジ装置１０１は、コンテンツ配信サーバ１００から送信されたマルチキャストパケットＰＡ１を第１通信部１０１１内の受信部１０１１Ａによって受信する。受信部１０１１Ａは受信したマルチキャストパケットＰＡ１をマルチキャストパケット転送部１０１６に出力する。マルチキャストパケット転送部１０１６は、入力したマルチキャストパケットＰＡ１の送信先ＩＰアドレスＤＩＰと送信元ＩＰアドレスＳＩＰそれぞれと、エントリ情報記憶部１０１５のエントリ情報１２００（１２０１）それぞれから読出したＧＲＯＵＰ＿ＡＤＤＲＥＳＳおよびＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳそれぞれとを比較する。この比較は、エントリ情報記憶部１０１５に格納された全てのエントリ情報１２００（１２０１）について行なわれる。比較結果に基づき、エントリ情報記憶部１０１５から読出したエントリ情報１２００（１２０１）のうち、そのＧＲＯＵＰ＿ＡＤＤＲＥＳＳおよびＳＯＵＲＣＥ＿ＡＤＤＲＥＳ１が、受信したマルチキャストパケットＰＡ１の送信先アドレスＤＩＰと送信元アドレスＳＩＰと一致するものがあるか否かを検出する。一致するエントリ情報１２００（１２０１）が１つだけエントリ情報記憶部１０１５に格納されていることを検出すれば、エントリ情報記憶部１０１５から読出した当該エントリ情報１２００（１２０１）のデータＤＥＳＴ＿ＴＥＩを、受信したマルチキャストパケットＰＡ１のヘッダ部にデータＡＡＴとして付加する。これにより、マルチキャストパケットＰＡ１からマルチキャストパケットＰＡ２が生成される。
【０１０５】
生成されたマルチキャストパケットＰＡ２は、第２通信部１０１２の送信部１０１２Ａに与えられる。送信部１０１２Ａは、入力したマルチキャストパケットＰＡ２のデータＡＡＴに基づき、マルチキャストパケットＰＡ２をユニキャスト・コネクションに従い特定のブリッジ装置に送信する。特定のブリッジ装置は、データＡＴＴの宛先アダプタＴＥＩによって指定される。
【０１０６】
一致するエントリ情報１２００（１２０１）がエントリ情報記憶部１０１５に複数個（たとえばｍ個）格納されていることを検出すると、マルチキャストパケット転送部１０１６は、入力したマルチキャストパケットＰＡ１をコピー（複製）することによりｍ個のマルチキャストパケットＰＡ１を生成する。そして生成したｍ個のマルチキャストパケットＰＡ１それぞれのヘッダ部に、異なる宛先アダプタＴＥＩをデータＡＡＴとして付加する。これにより、ｍ個のマルチキャストパケットＰＡ１からｍ個のマルチキャストパケットＰＡ２が生成される。生成されたマルチキャストパケットＰＡ２は第２通信部１０１２に出力される。宛先アダプタＴＥＩが付与されたマルチキャストパケットＰＡ２のそれぞれは、送信部１０１２Ａによって、ヘッダ部のデータＡＡＴが指す宛先アダプタＴＥＩに従い、ブリッジ装置のそれぞれに送信される。
【０１０７】
一致するエントリ情報１２００（１２０１）がエントリ情報記憶部１０１５には格納されていないことを検出すると、マルチキャストパケット転送部１０１６は、マルチキャストパケットＰＡ１のヘッダ部に宛先アダプタ（＝‘０ｘＦＦ’）を指すデータＡＡＴを付加する。これにより、マルチキャストパケットＰＡ２が生成される。生成されたマルチキャストパケットＰＡ２は第２通信部１０１２に出力される。送信部１０１２Ａは、マルチキャストパケットＰＡ２を入力すると、ヘッダ部のデータＡＡＴが指す宛先アダプタＴＥＩ（＝‘０ｘＦＦ’）に従い、当該マルチキャストパケットＰＡ２をブロードキャスト・コネクションに従い全てのブリッジ装置に送信する。
【０１０８】
ブリッジ装置１０１は、ホストであるＳＴＢ１０５と１０６およびパソコン１０７から制御パケットを受信する場合には、以下のように動作する。
【０１０９】
ブリッジ装置１０１では、第２通信部１０１２の受信部１０１２Ａは、ホストであるＳＴＢ１０５および１０６ならびにパソコン１０７のいずれかから送信された制御パケットを受信すると、受信した制御パケットを、制御パケット解析部１０１３に出力する。本実施の形態では、制御パケットは、ホストからブリッジ装置１０２、１０３および１０４を経由してマルチキャスト対応ルータ１１０に送信されるパケットを指し、具体的にはＩＧＭＰパケットおよびＭＬＤパケットの報告（Ｒｅｐｏｒｔ）メッセージ、離脱（Ｌｅａｖｅ）メッセージを指す。制御パケットは制御パケット解析部１０１３を介して、第１通信部１０１１に与えられて、送信部１０１１Ａによってマルチキャスト対応ルータ１１０に送信される。
【０１１０】
また、制御パケット解析部１０１３は、入力した制御パケットの情報を解析する。解析の結果に基づき、データＥＴのＥｔｈｅｒＴｙｐｅが‘０ｘ０８００’を指すと検出すると当該制御パケットはＩＧＭＰパケットを指すと判定し、‘０ｘ８６ｄｄ’を指すと検出するとＭＬＤパケットを指すと判定する。つづいて、判定結果と、当該制御パケットから抽出したモードＤ２、データＡＴ、送信元ＭＡＣアドレスＳＡ、グループアドレスＤ３およびソース・アドレスリストＤ４とを、エントリ情報管理部１０１４に出力する。
【０１１１】
エントリ情報管理部１０１４は、制御パケット解析部１０１３から入力した情報に基づきエントリ情報記憶部１０１５のエントリ情報１２００（１２０１）を更新する。具体的には、エントリ情報管理部１０１４は、入力した判定結果に基づきエントリ情報記憶部１０１５のＩＧＭＰ用管理テーブル１０１５１とＭＬＤ用管理テーブル１０１５２のいずれの情報を更新するかを決定する。
【０１１２】
つづいて、決定した管理テーブルを入力情報（データＡＴ、送信元ＭＡＣアドレスＳＡ、グループアドレスＤ３）に基づき検索して、検索結果に従い当該入力情報に一致するデータを有するエントリ情報が記憶されていないと検知すると、決定した管理テーブルに、当該入力情報を有する新規のエントリ情報を登録（記憶）する。エントリ情報の新規登録時には、エントリ情報管理部１０１４は、このエントリ情報のデータＵＰＤＡＴＥ＿ＴＩＭＥＲに、タイマ部１０１７から入力したタイムカウント値を設定する。
【０１１３】
一方、検索結果に従い当該入力情報に一致するデータを有するエントリ情報が既に記憶されていると検知すると、エントリ情報管理部１０１４は、当該エントリ情報のデータＵＰＤＡＴＥ＿ＴＩＭＥＲの値を、タイマ部１０１７から入力したタイムカウント値を用いて更新する。
【０１１４】
エントリ情報管理部１０１４は、タイマ部１０１７から入力するタイムカウント値に従い定期的に、エントリ情報記憶部１０１５のエントリ情報１２００（１２０１）のうちから、エントリ情報記憶部１０１５に記憶されてから所定の時間を経過したエントリ情報１２００（１２０１）をタイムアウトの情報と判定して、判定されたエントリ情報１２００（１２０１）をエントリ情報記憶部１０１５から削除する。タイムアウト情報の判定は、入力するタイムカウント値とエントリ情報１２００（１２０１）それぞれのデータＵＰＤＡＴＥ＿ＴＩＭＥＲの値とを比較し、比較結果に基づき両値の差分が、所定時間以上を指すと判定すると、当該エントリ情報１２００（１２０１）はタイムアウト情報と判定する。なお、所定時間を指すデータはＲＯＭ２０２に予め格納されていると想定する。
【０１１５】
図７に本実施の形態に係る通信プロトコルに従う基本フローを示す。説明を簡単にするため、図７ではホストは１台だけと想定する。図７のマルチキャスト対応ルータ、ブリッジ装置Ｔ、ブリッジ装置Ｒおよびホストは、それぞれ、図１のマルチキャスト対応ルータ１１０、ブリッジ装置１０１、ブリッジ装置１０２およびＳＴＢ１０５のそれぞれに対応すると想定する。
【０１１６】
図７を参照して、ユーザがテレビ１０８の図示のない入力部を介してストリームＡに対応のコンテンツの視聴開始の操作を行なうと、ホストはテレビ１０８から当該視聴開始操作に従う指令を入力し、応じて報告（Ｒｅｐｏｒｔ）メッセージの制御パケットを生成して送信する（Ｆ１００）。この制御パケットのタイプＤ１は、‘報告（Ｒｅｐｏｒｔ）メッセージ’の種別を指す。ここでは、報告（Ｒｅｐｏｒｔ）メッセージの制御パケットを、単に、報告（Ｒｅｐｏｒｔ）メッセージと称する。
【０１１７】
報告（Ｒｅｐｏｒｔ）メッセージは、ホストから、ブリッジ装置Ｒおよびブリッジ装置Ｔを経由してマルチキャスト対応ルータに送信される。このとき、ブリッジ装置Ｔでは、エントリ情報管理部１０１４は受信した報告（Ｒｅｐｏｒｔ）メッセージを盗み見する。そして、盗み見した報告（Ｒｅｐｏｒｔ）メッセージの情報に基づき、前述したようにエントリ情報記憶部１０１５のエントリ管理テーブル１０１５１（１０１５２）を検索する。検索結果、盗み見した情報に一致するデータを有するエントリ情報１２００（１２０１）はエントリ管理テーブル１０１５１（１０１５２）には未だ格納されていないとする。したがって、盗み見した情報に従う新規のエントリ情報１２００（１２０１）がエントリ情報記憶部１０１５に格納される（Ｆ１０１）。エントリ情報１２００（１２０１）には、データＧＲＯＵＰ＿ＡＤＤＲＥＳＳとブリッジ装置Ｒのアドレス（データＤＥＳＴ＿ＴＥＩ）が少なくとも含まれる。
【０１１８】
マルチキャスト対応ルータは、報告（Ｒｅｐｏｒｔ）メッセージを受信すると、受信した報告（Ｒｅｐｏｒｔ）メッセージに基づき、ストリームＡに対応するマルチキャストパケットＡの転送を開始する（Ｆ１０２）。
【０１１９】
マルチキャスト対応ルータは、マルチキャストパケットＡの転送開始をするために、コンテンツ配信サーバ１００にマルチキャストパケットＡの配信開始を要求する（ここでは、当該配信開始要求の詳細は記載しない）。
【０１２０】
ブリッジ装置Ｔは、マルチキャスト対応ルータから送信されるマルチキャストパケットＡを受信すると、マルチキャストパケット転送部１０１６は前述したようにエントリ情報記憶部１０１５を検索する。そして検索結果に基づき、受信したマルチキャストパケットＡの送信先ＩＰアドレスＤＩＰと一致するデータＧＲＯＵＰ＿ＡＤＤＲＥＳＳを有するエントリ情報１２００（１２０１）がエントリ情報記憶部１０１５に格納されていることを検知する。したがって、第２通信部１０１２は、前述したように、受信したマルチキャストパケットＡを、ホスト宛てに、ユニキャスト・コネクションに従い送信する（Ｆ１０３）。
【０１２１】
マルチキャスト対応ルータは、一定時間毎に一般問い合わせ（Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ）を送信する（Ｆ１０４）。この一般問い合わせのグループアドレスには特殊アドレスが用いられ、同一ネットワーク上の全てのホストに送信される。
【０１２２】
マルチキャストパケットを受信しているホストは、マルチキャスト対応ルータからの一般問い合わせ（Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ）を受信すると、応答として、報告（Ｒｅｐｏｒｔ）メッセージをブリッジ装置Ｒおよびブリッジ装置Ｔを経由してマルチキャスト対応ルータに送信する（Ｆ１０５）。このとき、ブリッジ装置Ｔのエントリ情報管理部１０１４は、受信した報告（Ｒｅｐｏｒｔ）メッセージを盗み見して、盗み見した結果に基づきエントリ情報記憶部１０１５を、検索する。検索結果、盗み見した情報に一致するデータを有するエントリ情報１２００（１２０１）がエントリ情報記憶部１０１５に既に格納されていると検知する。エントリ情報管理部１０１４は、当該エントリ情報１２００（１２０１）のデータＵＰＤＡＴＥ＿ＴＩＭＥＲをタイマ部１０１７から入力したタイムカウント値を用いて更新する（Ｆ１０６）。
【０１２３】
マルチキャストパケットＡのコンテンツの視聴が終了すると、たとえばユーザがテレビ１０８の図示のない入力部を介して視聴終了の操作をすると、ホストはテレビ１０８から視聴終了の指令を入力し、入力した指令に基づき離脱（Ｌｅａｖｅ）メッセージの制御パケットを生成し、生成した制御パケットをブリッジ装置Ｒおよびブリッジ装置Ｔを経由してマルチキャスト対応ルータに送信する（Ｆ１０７）。この制御パケットのタイプＤ１は、‘離脱（Ｌｅａｖｅ）メッセージ’の種別を指す。ここでは、離脱（Ｌｅａｖｅ）メッセージの制御パケットを、単に、離脱（Ｌｅａｖｅ）メッセージと称する。
【０１２４】
ブリッジ装置Ｔでは、制御パケット解析部１０１３は受信した離脱（Ｌｅａｖｅ）メッセージを盗み見し、エントリ情報管理部１０１４は、その盗み見結果に基づいてエントリ情報１２００（１２０１）のエントリ情報記憶部１０１５からの削除処理を行なうように動作するが、すぐには該削除処理を実行しない（Ｆ１０８）。
【０１２５】
マルチキャスト対応ルータは、離脱（Ｌｅａｖｅ）メッセージを受信すると、受信した離脱（Ｌｅａｖｅ）メッセージのグループアドレスＤ３に従い、グループアドレスを特定した問い合わせ（Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙ）を送信する（Ｆ１０９）。同一ネットワーク上に当該グループアドレスを受信している他のホストが存在しなければ、当該問い合わせに対する応答はされない。
【０１２６】
その後、マルチキャスト対応ルータは、最大応答時間（Ｍａｘ  Ｒｅｓｐｏｎｓｅ  Ｔｉｍｅ）以内に、問い合わせ（Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙ）に対する、ホストからの応答を受信するか否かを判定する。判定結果に基づき、受信できなかったことを検出する（Ｆ１１０）。
【０１２７】
応答を受信できないことを検出すると、マルチキャスト対応ルータは、マルチキャストパケットＡの送信を停止する（Ｆ１１１）。つまり、マルチキャスト対応ルータは、マルチキャストパケットＡの送信を停止するために、コンテンツ配信サーバ１００にマルチキャストパケットＡの配信停止を要求する（ここでは、配信停止要求の詳細は記載しない）。コンテンツ配信サーバ１００は、当該要求に応答して、マルチキャストパケットＡの配信を停止する。
【０１２８】
ステップＦ１０８における離脱の検出から、マルチキャストパケットＡの配信を停止されるまでの所定の時間が経過した後に、ブリッジ装置Ｔのエントリ情報管理部１０１４は、ステップＦ１０１で登録したエントリ情報１２００（１２０１）をエントリ情報記憶部１０１５から削除する（Ｆ１１１）。
【０１２９】
以上のように、ブリッジ装置Ｔは、離脱（Ｌｅａｖｅ）メッセージを検出して（Ｆ１０８）から、マルチキャストパケットＡの配信が停止されるまで（Ｆ１１１）の期間は少なくとも、マルチキャストパケットＡを配信するためのエントリ情報１２００（１２０１）を削除しない。したがって、ブリッジ装置Ｔは、この間に受信するマルチキャストパケットＡが指す送信先ＩＰアドレスＤＩＰは、エントリ情報記憶部１０１５に登録されたエントリ情報１２００（１２０１）が指示するデータＧＲＯＵＰ＿ＡＤＤＲＥＳＳに一致すると検知するので、すなわち未知のグループアドレスではないと検知する。その結果、ブリッジ装置ＴがマルチキャストパケットＡをブロードキャスト・コネクションに従い伝送することはない。
【０１３０】
ここで本実施の形態におけるマルチキャストパケットの転送処理の手順を図１の構成を基に図８に従って説明する。
【０１３１】
図８の転送処理は、マルチキャストパケット転送部１０１６によって実行される。第１通信部１０１１はパケットを受信すると、マルチキャストパケット転送部１０１６に出力する。マルチキャストパケット転送部１０１６は入力したパケットの情報を解析して、解析結果に基づき、当該パケットが図４の（Ａ）の構成を有すると検知すると、受信パケットはマルチキャストパケットＰＡ１であると判断する。
【０１３２】
マルチキャストパケット転送部１０１６は、マルチキャストパケットＰＡ１を受信すると、Ｓ１０１にて、マルチキャストパケットＰＡ１の送信先ＩＰアドレスＤＩＰがＲＯＭ２０２に予め記憶された特殊アドレスを指示するか否かを検知する。
【０１３３】
特殊アドレスとは、制御パケットとして使用されるアドレスのことである。具体的には、ＩＰｖ４に従うＩＧＭＰパケットのためのアドレス‘２２４．０．０．Ｘ’（Ｘは任意値）と、ＩＰｖ６に従うＭＬＤパケットのためのアドレス‘ＦＦ０２：Ｘ・・・Ｘ’（Ｘは任意値）を指す。なお、制御パケットについては、無条件で全てのブリッジ装置へ送信される。
【０１３４】
マルチキャストパケットＰＡ１の送信先ＩＰアドレスＤＩＰが特殊アドレスを指示する検知すると（Ｓ１０１でＹＥＳ）、Ｓ１０２にて、マルチキャストパケットＰＡ１の情報に基づきマルチキャストパケットＰＡ２を生成し、生成したマルチキャストパケットＰＡ２をブロードキャスト・コネクションに従い第２通信部１０１２を介して全てのブリッジ装置へ送信する。このとき、マルチキャストパケットＰＡ２のデータＡＡＴは‘０ｘＦＦ’を指す。
【０１３５】
送信先ＩＰアドレスＤＩＰが特殊アドレスを指示しないと検知すると（Ｓ１０１でＮＯ）、マルチキャストパケットＰＡ１を、エントリ情報記憶部１０１５に登録されたエントリ情報１２００（１２０１）に従い送信する処理を行なう。
【０１３６】
まず、Ｓ１０３にて、ＩＧＭＰ管理テーブル１０５１１とＭＬＤ管理テーブル１０５１２からエントリ情報１２００と１２０１を順次に１個づつ読出す。
【０１３７】
Ｓ１０４にて、Ｓ１０３において未だ読出されていないエントリ情報１２００（１２０１）が有るか否かを判断する。Ｓ１０３の処理によって全てのエントリ情報１２００（１２０１）の読出しが終了していると判断されると（Ｓ１０４でＮＯ）、後述のＳ１０９の処理に移行するが、新たなエントリ情報１２００（１２０１）が読出されたことが判断されると（Ｓ１０４でＹＥＳ）、Ｓ１０５にて、読出したエントリ情報１２００（１２０１）のデータＤＥＳＴ＿ＴＥＩを読出し、読出したデータＤＥＳＴ＿ＴＥＩが指すアドレスと送信済みの宛先アダプタＴＥＩが指すアドレスとを比較する。比較結果に基づき、読出したデータＤＥＳＴ＿ＴＥＩが指すアドレスが送信済みのアドレスに一致すると判定すると（Ｓ１０５でＴＥＳ）、以降の処理をスキップしてＳ１０３に移る。この処理によって、既に送信済みのブリッジ装置へ同じパケットが繰返し送信されるのを回避できる。なお、送信済みの宛先アダプタＴＥＩを指すアドレスは、後述のＳ１０８においてＲＡＭ２０３に格納されるので、ＲＡＭ２０３に格納されたアドレスと比較される。
【０１３８】
前述の比較結果に基づき、読出したデータＤＥＳＴ＿ＴＥＩが指すアドレスが送信済みのアドレスには一致しないと判定すると（Ｓ１０５でＮＯ）、Ｓ１０６にて、マルチキャストパケットＰＡ１の送信先ＩＰアドレスＤＩＰと、エントリ情報１２００（１２０１）のデータＧＲＯＵＰ＿ＡＤＤＲＥＳＳとを比較し、比較結果に基づき両者が一致するか否かを判定する。一致しないと判定されると（Ｓ１０６でＮＯ）、以降の処理はスキップしてＳ１０３に移るが、一致したと判定されると（Ｓ１０６でＹＥＳ）、Ｓ１０７にて、マルチキャストパケットＰＡ１の送信元ＩＰアドレスＳＩＰがソースアドレス・フィルタリングの条件を満たしているか否か判定する。
【０１３９】
判定結果に基づき、送信元ＩＰアドレスＳＩＰが条件を満足しないと判定されると（Ｓ１０７でＮＯ）、以降の処理をスキップしてＳ１０４に移るが、条件を満たすと判定されると（Ｓ１０７でＹＥＳ）、Ｓ１０８の処理に移行する。
【０１４０】
ここで、ソースアドレス・フィルタリングの条件をチェックする処理は、エントリ情報１２００（１２０１）のデータＭＯＤＥによって異なる。すわなち、データＭＯＤＥが‘ＩＮＣＬＵＤＥ’（＝０）を指す場合には、送信元ＩＰアドレスＳＩＰがＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳ（Ｎ個）のいずれかと一致していれば条件を満たしていると判断する。データＭＯＤＥが‘ＥＸＣＬＵＤＥ’（＝１）を指す場合には、送信元ＩＰアドレスＳＩＰがＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳ（Ｎ個）のいずれとも一致していなければ条件を満たしていると判断する。
【０１４１】
また、ＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳが‘空’である場合は次のようになる。すなわち、データＭＯＤＥが‘ＩＮＣＬＵＤＥ’（＝０）を指す場合には、送信元ＩＰアドレスＳＩＰによらず、常に条件を満たさないと判断する。データＭＯＤＥが‘ＥＸＣＬＵＤＥ’（＝１）を指す場合には、送信元ＩＰアドレスＳＩＰによらず、常に条件を満たしていると判断する。
【０１４２】
Ｓ１０８では、マルチキャストパケットＰＡ１に基づきマルチキャストパケットＰＡ２が生成されて、生成されたマルチキャストパケットＰＡ２は、ユニキャスト・コネクションに従い、第２通信部１０１２を介して特定のブリッジ装置宛てに送信される。特定のブリッジ装置は、エントリ情報１２００（１２０１）のデータＤＥＳＴ＿ＴＥＩ（マルチキャストパケットＰＡ２のデータＡＴＴ）により指示される。マルチキャストパケットＰＡ２の送信後、マルチキャストパケット転送部１０１６は、送信したマルチキャストパケットＰＡ２のデータＡＴＴ（宛先アダプタＴＥＩが指すブリッジ装置のアドレス）をＲＡＭ２０３に格納する。その後、Ｓ１０３の処理に移る。ＲＡＭ２０３のデータＡＴＴは、Ｓ１００においてマルチキャストパケットＰＡ１を受信する毎にクリアされる。
【０１４３】
Ｓ１０３におけるエントリ情報記憶部１０１５からのエントリ情報１２００（１２０１）の読出しの結果、全てのエントリ情報１２００（１２０１）が既に読出し完了しており新たなエントリ情報１２００（１２０１）の読出しがされなかったと判定がされると（Ｓ１０１でＮＯ）、Ｓ１０９に移行する。
【０１４４】
Ｓ１０９では、エントリ情報記憶部１０１５から読出したエントリ情報１２００（１２０１）のうちデータＧＲＯＵＰ＿ＡＤＤＲＥＳＳが、マルチキャストパケットＰＡ１の送信先ＩＰアドレスＤＩＰと一致したエントリ情報があったか否かを判定する。すなわち、今回受信したマルチキャストパケットＰＡ１についてＳ１０６において‘一致’の判定がされたか否かを判定する。この判定は、たとえば、マルチキャストパケットＰＡ１を受信する毎に‘０’にセットされてＳ１０６で当該マルチキャストパケットＰＡ１に関して‘一致’と判定されると‘１’にセットされるフラグを参照することにより行なうことができる。
【０１４５】
マルチキャストパケットＰＡ１の送信先ＩＰアドレスＤＩＰと一致したデータＧＲＯＵＰ＿ＡＤＤＲＥＳＳを有するエントリ情報１２００（１２０１）が読出されたと判定されると、Ｓ１１０に移行する。Ｓ１１０では、受信したマルチキャストパケットＰＡ１の送信は行なわれない。
【０１４６】
一方、マルチキャストパケットＰＡ１の送信先ＩＰアドレスＤＩＰと一致したデータＧＲＯＵＰ＿ＡＤＤＲＥＳＳを有するエントリ情報１２００（１２０１）は読出されなかったと判定されると、Ｓ１１１に移行する。Ｓ１１１では、マルチキャストパケットＰＡ１に基づき生成されたマルチキャストパケットＰＡ２は、第１通信部１０１２を介してブロードキャスト・コネクションに従い全てのブリッジ装置宛てに送信される。このときマルチキャストパケットＰＡ２のデータＡＴＴはブロードキャストを指す。したがって、エントリ情報記憶部１０１５に格納されていないデータＧＲＯＵＰ＿ＡＤＤＲＥＳＳを指示する送信先ＩＰアドレスＤＩＰを有する未知のマルチキャストパケットＰＡ１を受信した場合は、当該マルチキャストパケットＰＡ１を全てのブリッジ装置へ送信することができる。
【０１４７】
図９に制御パケット受信処理について示す。制御パケット受信処理は、制御パケット解析部１０１３およびエントリ情報管理部１０１４によって実行される。第２通信部１０１２の受信部１０１２Ｂは受信するパケットを制御パケット解析部１０１３に出力する。
【０１４８】
制御パケット解析部１０１３は、入力したパケットの構成を解析して、解析結果に基づき当該パケットが図５の構成を有すると判定した場合には、制御パケットを受信したと検知し、そうでない場合には受信パケットは制御パケットではないと検知する。
【０１４９】
この時点で、ＩＧＭＰの制御パケットであるか、ＭＬＤの制御パケットであるかは検知されている。図９に示す受信処理は、ＩＧＭＰの場合とＭＬＤの場合で本来別々に存在しうる。ＩＧＭＰ制御パケットであればＩＧＭＰ用の受信処理が実施され、ＭＬＤ制御パケットであればＭＬＤ用の受信処理が実施される。ここではまとめて記載している。以下の処理において、エントリ情報記憶部１０１５の管理テーブルは、ＩＧＭＰ制御パケットの場合はＩＧＭＰ管理テーブル１０５１１を、ＭＬＤ制御パケットの場合はＭＬＤ管理テーブル１０５１２を選択するものとする。
【０１５０】
Ｓ２００において制御パケット解析部１０１３が制御パケットを受信すると、Ｓ２０１にて、制御パケット解析部１０１３は制御パケット内の情報を解析する。さらに、エントリ情報記憶部１０１５からエントリ情報１２００（１２０１）を読出す。
【０１５１】
Ｓ２０２にて、解析結果に基づき、制御パケットのタイプＤ１がＩＧＭＰまたはＭＬＤに従う報告（Ｒｅｐｏｒｔ）メッセージの種別を指すか否かを判断する。報告（Ｒｅｐｏｒｔ）メッセージでないと判断されると（Ｓ２０２でＮＯ）、Ｓ２０７に移るが、報告（Ｒｅｐｏｒｔ）メッセージであると判断されると（Ｓ２０２でＹＥＳ）、Ｓ２０３に移行する。
【０１５２】
Ｓ２０３にて、エントリ情報管理部１０１４は、エントリ情報記憶部１０１５の管理テーブルを、入力した制御パケットの情報に基づき検索して、検索結果に基づき当該入力制御パケットの情報を有するエントリ情報１２００（１２０１）が格納されているか否かを判断する。具体的には、制御パケットのデータＡＴが指すアダプタＴＥＩ、送信先ＭＡＣアドレスＤＡおよびグループアドレスＤ３のそれぞれに一致するデータＤＥＳＴ＿ＴＥＩ、データＤＥＳＴ＿ＭＡＣおよびデータＧＲＯＵＰ＿ＡＤＤＲＥＳＳを有するエントリ情報１２００（１２０１）が格納されているか否かを判断する。
【０１５３】
Ｓ２０３の検索結果、入力制御パケットのデータと一致するデータを有するエントリ情報１２００（１２０１）が管理テーブルに格納されていると判定されると（Ｓ２０３でＹＥＳ）、入力制御パケットに関する新たなエントリ情報１２００（１２０１）を管理テーブルに追加して格納する必要はないので、Ｓ２０４に移行する。
【０１５４】
Ｓ２０４では、エントリ情報管理部１０１４は、Ｓ２０３の検索結果である、入力制御パケットのデータと一致するデータを有するエントリ情報１２００（１２０１）のデータＵＰＤＡＴＥ＿ＴＩＭＥＲに、タイマ部１０１７から入力する現在時刻を指すタイマカウント値をセットする。これにより、データＵＰＤＡＴＥ＿ＴＩＭＥＲが更新される。
【０１５５】
Ｓ２０３の検索結果、入力制御パケットのデータと一致するデータを有するエントリ情報１２００（１２０１）がエントリ情報記憶部１０１５に格納されていないと判定されると（Ｓ２０３でＮＯ）、Ｓ２０５に移行する。
【０１５６】
Ｓ２０５では、入力制御パケットの情報に基づき、図６の新たなエントリ情報１２００（１２０１）を生成して、生成したエントリ情報１２００（１２０１）を管理テーブル１０５１（１０５２）に追加して格納する。このとき、Ｓ２０６において、エントリ情報管理部１０１４は新たなエントリ情報１２００（１２０１）のデータＵＰＤＡＴＥ＿ＴＩＭＥＲに、タイマ部１０１７から入力する現在時刻を指すタイマカウント値をセットする。
【０１５７】
Ｓ２０７では、制御パケット解析部１０１３は、Ｓ２０２における解析結果に基づき、制御パケットのタイプＤ１がＩＧＭＰまたはＭＬＤに従う離脱（Ｌｅａｖｅ）メッセージの種別を指すか否かを判断する。離脱（Ｌｅａｖｅ）メッセージでないと判断されると（Ｓ２０７でＮＯ）、一連の処理を終了するが、離脱（Ｌｅａｖｅ）メッセージであると判断されると（Ｓ２０７でＹＥＳ）、Ｓ２０８に移行する。
【０１５８】
Ｓ２０８にて、エントリ情報管理部１０１４は、エントリ情報記憶部１０１５の管理テーブルを、入力した制御パケットの情報に基づき検索して、検索結果に基づき当該入力制御パケットの情報を有するエントリ情報１２００（１２０１）が格納されているか否かを判断する。
【０１５９】
Ｓ２０８の検索結果、入力制御パケットのデータと一致するデータを有するエントリ情報１２００（１２０１）がエントリ情報記憶部１０１５に格納されていないと判定されると（Ｓ２０８でＮＯ）、一連の処理は終了するが、格納されていると判定されると（Ｓ２０８でＹＥＳ）、Ｓ２０９に移行する。
【０１６０】
Ｓ２０９では、格納されていると判定されたエントリ情報１２００（１２０１）のデータＵＰＤＡＴＥ＿ＴＩＭＥＲに、（タイマ部１０１７から入力したタイマカウント値が指す現在時刻−α）の値をセットする。ここでαは、（タイムアウト時間−β秒）と設定しておく。このように設定すると、後述するタイムアウト処理によって、β秒後に該当するエントリ情報１２００（１２０１）がエントリ情報記憶部１０１５から削除されることになる。たとえばタイムアウト時間のデフォルト値を２６０秒とすると、αのデフォルト値は２５０秒のように設定する。
【０１６１】
βの値は特別に限定されるものではないが、マルチキャスト対応ルータ１１０が離脱（Ｌｅａｖｅ）メッセージを受信してから、マルチキャストパケットＰＡ１の転送を中止するまでの時間よりも長いものとする。また、βの値を設定可能なパラメータとして実装してもよい。
【０１６２】
βの値は動的に決定してもよい。マルチキャスト対応ルータ１１０からグループアドレスを特定した問合せ（Ｇｒｏｕｐ−Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙ）メッセージが送出されるので、ブリッジ装置１０１が、その問合せメッセージを解析して、最大応答時間（ＭａｘＲｅｓｐｏｎｓｅＴｉｍｅ）を取得し、その値に基づきβの値を決定してもよい。たとえば、最大応答時間（ＭａｘＲｅｓｐｏｎｓｅＴｉｍｅ）＋１秒と設定する。グループアドレスを特定した問合せを検出できなければ、所定の値を使用する。
【０１６３】
図１０にタイムアウト処理フローチャート示す。タイムアウト処理（プログラム）は、タイマ部１０１７から定期的な時間割込みによって呼出されると、エントリ情報管理部１０１４によって処理が実行される。典型的には１秒おきに実行される。タイムアウト処理は、受信した離脱（Ｌｅａｖｅ）メッセージに対応するエントリ情報を削除するために必要である。
【０１６４】
Ｓ３００において、エントリ情報管理部１０１４によるタイムアウト処理が起動される（Ｓ３００）。
【０１６５】
Ｓ３０１にて、エントリ情報管理部１０１４は、エントリ情報記憶部１０１５のＩＧＭＰ管理テーブル１０１５１およびＭＬＤ管理テーブル１０１５２から順次にエントリ情報１２００（１２０１）のデータＵＰＤＡＴＥ＿ＴＩＭＥＲを読出す。
【０１６６】
Ｓ３０２にて、Ｓ３０１によって、既に全てのエントリ情報１２００（１２０１）のデータＵＰＤＡＴＥ＿ＴＩＭＥＲが読出されたか否かを判定する。全ての読出しが終了し新たなデータＵＰＤＡＴＥ＿ＴＩＭＥＲは読出されなかったと判定されると（Ｓ３０２でＮＯ）、一連の処理は終了するが、新たなデータＵＰＤＡＴＥ＿ＴＩＭＥＲが読出されたと判定されると（Ｓ３０２でＹＥＳ）、Ｓ３０３において、読出したデータＵＰＤＡＴＥ＿ＴＩＭＥＲの値と（タイマ部１０１７から入力したタイマカウント値が指す現在時刻−タイムアウト時間）の値とを比較し、比較結果に基づき（ＵＰＤＡＴＥ＿ＴＩＭＥＲ＜現在時刻−タイムアウト時間）の条件が成立するか否かを判定する。
【０１６７】
タイムアウト時間は、少なくとも式（２＊ＱｕｅｒｙＩｎｔｅｒｖａｌ＋ＭａｘＲｅｓｐｏｎｓｅＴｉｍｅ）に従い算出される値以上であることが望ましい。ここで、ＱｕｅｒｙＩｎｔｅｒｖａｌはマルチキャスト対応ルータ１１０がＱｕｅｒｙを送出する間隔、ＭａｘＲｅｓｐｏｎｓｅＴｉｍｅはＱｕｅｒｙに対する最大応答時間それぞれを表している。上記の式に従い算出される値は、Ｑｕｅｒｙに対する応答が２回連続してないことを確認できる時間を指す。ＱｕｅｒｙＩｎｔｅｒｖａｌのデフォルトはたとえば１２５秒、ＭａｘＲｅｓｐｏｎｓｅＴｉｍｅのデフォルトはたとえば１０秒なので、ここではタイムアウト時間をデフォルト２６０秒に設定している。あるいは、問合せ（Ｑｕｅｒｙ）パケットの情報を解析すると、解析結果に基づきＱｕｅｒｙＩｎｔｅｒｖａｌとＭａｘＲｅｓｐｏｎｓｅＴｉｍｅの値を取得できるので、取得した値から、タイムアウト時間を決定してもよい。
【０１６８】
比較結果に基づき（ＵＰＤＡＴＥ＿ＴＩＭＥＲ＜現在時刻−タイムアウト時間）の条件が成立すると判定すると、Ｓ３０４において、今回、Ｓ３０１で読出したエントリ情報１２００（１２０１）をエントリ情報記憶部１０１５から削除し、Ｓ３０１の処理に戻るが、成立しない判定するとＳ３０１に戻る。
【０１６９】
Ｓ３０１の処理に戻ることによって、次のエントリ情報１２００（１２０１）を読出す処理が行なわれて、新たに読出されたエントリ情報１２００（１２０１）について以降の処理が同様に繰返される。
【０１７０】
図１１は、管理テーブル（ＩＧＭＰ管理テーブル１０１５１またはＭＬＤ管理テーブル１０１５２）におけるエントリ情報１２００または１２０１の追加と削除を説明する図である。図１１の（Ａ）はエントリ情報１２００（１２０１）が管理テーブルに登録されていない状態を示す。図１１の（Ｂ）はＳＴＢ１０５とＳＴＢ１０６が同じストリームＡの受信を開始した状態を指す。ＳＴＢ１０５とＳＴＢ１０６は、ソースアドレス（データＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳ）を指定して受信していることがわかる。その後にパソコン１０７がストリームＢの受信を開始した状態が図１１の（Ｃ）に示される。パソコン１０７は、ソースアドレス（データＳＯＵＲＣＥ＿ＡＤＤＲＥＳＳ）を指定しないで受信していることがわかる。その後、パソコン１０７がストリームＢの受信を停止すると、パソコン１０７がストリームＢを受信するためのエントリ情報１２００（１２０１）は削除されるので、図１１の（Ｄ）のように更新される。
【０１７１】
図１２に、図１のシステム構成において離脱（Ｌｅａｖｅ）メッセージの受信後にブリッジ装置１０１がエントリ情報をすぐに削除した場合のマルチキャストパケットの転送の様子を模式的に示す。先に述べたように、パソコン１０７がストリームＢの受信を停止しても、その後も、ブリッジ装置１０１はマルチキャスト対応ルータ１１０を介してコンテンツ配信サーバ１００から送信され続けるストリームＢのマルチキャストパケットＰＡ１を受信する。
【０１７２】
もし、ブリッジ装置１０１がストリームＢを配信するためのエントリ情報１２００（１２０１）を、離脱（Ｌｅａｖｅ）メッセージの受信後にすぐに削除したとすれば、ストリームＢのマルチキャストパケットＰＡ１はブリッジ装置１０１にとって未知のマルチキャストパケットと判定されるので、ブリッジ装置１０１は受信するマルチキャストパケットＰＡ１を全てのブリッジ装置に対し送信する。この送信は、低速のビットレートで行われるため、ネットワークのリソースを消費することになり、結果、この送信が行なわれる期間は、ＳＴＢ１０５とＳＴＢ１０６のテレビ１０８と１０９を介して出力される映像が乱れるなどの影響が出る可能性がある。本実施の形態１では、このような不都合は回避することができる。
【０１７３】
つまり、実施の形態１によれば、図９のＳ２０９においては、離脱（Ｌｅａｖｅ）メッセージを受信しても、エントリ情報管理部１０１４はすぐにはエントリ情報１２００（１２０１）を削除せずに、離脱（Ｌｅａｖｅ）メッセージを受信してから所定の時間経過後にエントリ情報１２００（１２０１）をエントリ情報記憶部１０１５からを削除している。
【０１７４】
したがって、マルチキャスト対応ルータ１１０は、マルチキャストパケットＰＡ１を送信開始し送信終了するまでにおいて離脱（Ｌｅａｖｅ）メッセージを受信した場合であっても、マルチキャストパケットＰＡ１の送信を継続するが、ブリッジ装置１０１には、マルチキャストパケットＰＡ１を送信するためのエントリ情報が残っているので、離脱（Ｌｅａｖｅ）メッセージを受信した場合にマルチキャストパケットＰＡ１がブロードキャスト・コネクションに従い全てのブリッジ装置に送信されるのを回避することができる。その結果、ホストのテレビ１０８または１０９において出力映像が乱れるなどの影響が発生するのを回避できる。
【０１７５】
[実施の形態２]
実施の形態１では、離脱（Ｌｅａｖｅ）メッセージを検出すると、エントリ情報１２００（１２０１）のフラグの値をセットする。このフラグは受信側端末（ホスト）がコンテンツの視聴を停止することを意味する離脱メッセージを送信してきたか否かを示す。実施の形態１と同様に所定の期間を経過すると、エントリ情報１２００（１２０１）は削除される。
【０１７６】
本実施の形態２のシステムの構成と実施の形態１のそれとを比較して異なる点は、実施の形態１のエントリ情報１２００（１２０１）のデータにフラグを追加しエントリ情報１３００を用いている点と、エントリ情報管理部１０１４がエントリ情報１３００のフラグの値の更新と参照を行なう点と、マルチキャストパケット転送部１０１６がエントリ情報１３００を参照する点とにある。他の部分は実施の形態１と同様なので、ここでは異なる点を中心に説明する。
【０１７７】
図１３を参照して、本実施の形態２に係るフラグを付加したエントリ情報１３００は、エントリ情報１２００（１２０１）のデータに追加してフラグＬＦＧを含む。報告（Ｒｅｐｏｒｔ）メッセージを受信してエントリ情報１３００がエントリ情報記憶部１０１５に格納されたときにはフラグＬＦＧは「０」にセットされ、その後、エントリ情報１３００に対応する離脱（Ｌｅａｖｅ）メッセージを受信するまでは「０」に維持される。そして離脱（Ｌｅａｖｅ）メッセージを受信したら「１」にセットされる。このフラグＬＦＧが「１」にセットされていると、マルチキャストパケット転送部１０１６は、それまでホストに転送していたマルチキャストパケットＰＡ１を受信したとしても、このフラグＬＦＧが「１」に対応するデータＤＥＳＴ＿ＴＥＩのアドレスが指すブリッジ装置には、当該マルチキャストパケットＰＡ１を転送しない。
【０１７８】
図１４に、実施の形態２に係る制御パケット受信処理を示す。図１４の処理と図９の処理とを比較して異なる点は、図１４では図９のＳ２０４、Ｓ２０６およびＳ２０９の処理それぞれを、Ｓ２１４、Ｓ２１６およびＳ２１９の処理それぞれで代替した点である。その他の処理は図９のそれと同じなので、ここでは異なる処理のみを説明する。
【０１７９】
Ｓ２１４、Ｓ２１６およびＳ２１９の処理では、Ｓ２０４、Ｓ２０６およびＳ２０９におけるデータＵＰＤＡＴＥ＿ＴＩＭＥＲの更新処理が同様に行なわれるとともに、フラグＬＦＧの値の更新処理が追加して行なわれる。つまり、Ｓ２１９にて、ＬＦＧ←１の更新処理が追加されて、Ｓ２１４およびＳ２１６では、ＬＦＧ←０の更新処理が追加されている。
【０１８０】
Ｓ２１９の処理は、本実施の形態１と同様に、ＵＰＤＡＴＥ＿ＴＩＭＥＲ←現在時刻−αを設定している。図１０のタイムアウト処理によってエントリを削除することを意図している。つまり、離脱（Ｌｅａｖｅ）メッセージを検出すると、エントリ情報１３００は、所定の期間経過後に削除される。
【０１８１】
図１５に、本実施の形態２に係るマルチキャストパケットの転送処理のフローチャートを示す。図１５の処理と図８の処理とを比較し異なる点は、図１５では図８のＳ１０７とＳ１０８の処理の間にＳ１０８ａの処理を追加して点にある。図１５の他の処理は図８に示したものと同様なのでここでは説明を略す。
【０１８２】
Ｓ１０８ａでは、エントリ情報１３００のフラグＬＦＧが判定される。判定結果に基づきフラグＬＦＧが「１」を指すならばマルチキャストパケットＰＡ１を受信しても、これは送信しないと検知されて、Ｓ１０３の処理に移行するが、フラグＬＦＧが「０」を指すならば、受信したマルチキャストパケットＰＡ１はＳ１０８においてエントリ情報１３００に従い送信処理が行なわれる。
【０１８３】
以上が、実施の形態２における動作の説明である。実施の形態２のように転送制御することで、ブリッジ装置１０１は、離脱（Ｌｅａｖｅ）メッセージを送信した受信側端末（ホスト）に対して無用なマルチキャストパケットを転送することがないので、ネットワークのリソースを無駄に消費することがない。この結果、実施の形態１と同様に、ホストのテレビにおいて出力される映像が乱れるなどの影響も回避できる。
【０１８４】
各実施の形態では、伝送媒体として、電力線搬送（ＰＬＣ）、無線ＬＡＮ、同軸ケーブル（Ｃｏａｘ）などを適用するとしたが、これらに限定されるものではない。システムに適したものであればその他の伝送媒体を適宜採用すれば良い。
【０１８５】
[実施の形態３]
実施の形態１および２におけるブリッジ１０１が行なうパケットの転送方法は、プログラムとして提供することもできる。このようなプログラムは、図３のコンピュータに付属するＦＤ２０８のコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。図３では、ＦＤ２０８としたが、これに代替して、ＣＤ−ＲＯＭ（Compact Disc-ＲＯＭ）およびメモリカードなどを用いてもよい。または、ＲＯＭ２０３またはＲＡＭ２０３およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵する図示のないハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ＩＰ網などのネットワークを介したダウンロードによって、プログラムを提供することもできる。たとえば、図３の構成では、ＣＰＵ２０１は、外部Ｉ／Ｆ２０７を介してＦＤ２０８に格納されたプログラムを読出し、実行する。
【０１８６】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされてＣＰＵ２０１により読出されて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１８７】
上述した各実施の形態のブリッジ装置１０１は、コンテンツ配信サーバ１００などのサービス提供側装置と、サービスＩＰ網（Internet protocolに従う通信網）に接続されるマルチキャスト対応ルータ１０１と受信側端末（ホスト）との間をパケットの伝送を中継する装置単体として示したが、パケット転送装置の一種であるルータに内蔵された態様で用いられてもよく、または、ＳＴＢやテレビなどの家電製品に内蔵された態様で用いられても良い。
【０１８８】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【図面の簡単な説明】
【０１８９】
【図１】各実施の形態に係る通信システムの基本的構成例を示すブロック図である。
【図２】各実施の形態に係るブリッジ装置の機能構成図である。
【図３】各実施の形態に係るブリッジ装置の機能が搭載されるコンピュータの構成図である。
【図４】（Ａ）と（Ｂ）は各実施の形態に係るマルチキャストパケットの構成図である。
【図５】（Ａ）と（Ｂ）は各実施の形態に係る制御パケットの構成図である。
【図６】実施の形態１に係るエントリ情報記憶部のエントリ情報の一例を示す図である。
【図７】実施の形態１に係る通信プロトコルに従う基本フローを示す図である。
【図８】実施の形態１に係るマルチキャストパケットの転送処理の手順を示す図である。
【図９】実施の形態１に係る制御パケットの受信処理の手順を示す図である。
【図１０】実施の形態１に係るタイムアウト処理の手順を示す図である。
【図１１】実施の形態１に係るエントリ情報の追加と削除を説明する図である。
【図１２】実施の形態１に係るエントリ情報をすぐに削除した場合の通信手順を説明する図である。
【図１３】実施の形態２に係るエントリ情報の一例を説明する図である。
【図１４】実施の形態２に係る制御パケットの受信処理の手順を示す図である。
【図１５】実施の形態２に係るマルチキャストパケットの転送処理の手順を示す図である。
【符号の説明】
【０１９０】
１００  配信サーバ、１０１  マルチキャスト対応ルータ、１０１，１０２，１０３，１０４  ブリッジ装置、１０５，１０６  ＳＴＢ、１０７  パソコン、１０８，１０９  テレビ、１０１１  第１通信部、１０１２  第２通信部、１０１３  制御パケット解析部、１０１４  エントリ情報管理部、１０１５  エントリ情報記憶部、１０１６  マルチキャストパケット転送部、１０１７  タイマ部、１２００，１２０１，１３００  エントリ情報、ＰＡ１，ＰＡ２  マルチキャストパケット。
【図１】
2009021940.tif 000003
【図２】
2009021940.tif 000004
【図３】
2009021940.tif 000005
【図４】
2009021940.tif 000006
【図５】
2009021940.tif 000007
【図６】
2009021940.tif 000008
【図７】
2009021940.tif 000009
【図８】
2009021940.tif 000010
【図９】
2009021940.tif 000011
【図１０】
2009021940.tif 000012
【図１１】
2009021940.tif 000013
【図１２】
2009021940.tif 000014
【図１３】
2009021940.tif 000015
【図１４】
2009021940.tif 000016
【図１５】
2009021940.tif 000017