(57)【要約】【課題】レイヤ３以上の情報を用いたマルチキャストグループ管理プロトコルが使用されるネットワークにおいて、マルチキャストデータが、レイヤ２スイッチを介して、このマルチキャストデータの受信を望むクライアントが接続されるポートのみに配信されるシステムや装置を提供すること。【解決手段】第一のレイヤのデータに基づいてハードウェア的にスイッチングを行うスイッチング装置よりも上流に設置されるデータ生成装置であって、前記第一のレイヤよりも高次である第二のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出す読出手段と、前記読出手段によって読み出される前記転送管理情報を記憶する記憶手段と、前記記憶手段が記憶する前記転送管理情報に基づいて転送データの転送先となるクライアントを判断し、転送先となるクライアント数と同数の、それぞれのクライアントに対して送信される、受信された転送データと同等の内容を含む送信データを生成するデータ生成手段とを備える。【選択図】  図１１
2004242063.tif 000002
【特許請求の範囲】
【請求項１】
第一のレイヤのデータに基づいてハードウェア的にスイッチングを行うスイッチング装置よりも上流に設置されるデータ生成装置であって、前記第一のレイヤよりも高次である第二のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出す読出手段と、
前記読出手段によって読み出される前記転送管理情報を記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいて転送データの転送先となるクライアントを判断し、転送先となるクライアント数と同数の、それぞれのクライアントに対して送信される、受信された転送データと同等の内容を含む送信データを生成するデータ生成手段と、
前記データ生成手段によって生成された送信データを前記スイッチング装置へ転送する転送手段と
を備えるデータ生成装置。
【請求項２】
レイヤ２よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出す読出手段と、
前記読出手段によって読み出された情報に基づいた転送管理情報を記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断し、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段と
を備えるデータ生成装置。
【請求項３】
前記データ生成手段は、前記コピーされた夫々のデータのＭＡＣアドレスを、転送先となる各クライアントのＭＡＣアドレスに書き換えることによりユニキャストデータを生成する請求項２に記載のデータ生成装置。
【請求項４】
自装置よりも下流側にデータを送出する送出手段をさらに備え、
前記送出手段は、前記データ生成手段によって生成されるユニキャストデータ及び受信されたマルチキャストデータを送出する
請求項２又は３に記載のデータ生成装置。
【請求項５】
前記読出手段によって読み出された情報に基づいて、前記記憶手段に記憶される前記転送管理情報を更新する管理手段をさらに備える請求項２〜４のいずれかに記載のデータ生成装置。
【請求項６】
前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、前記管理手段はこの情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させる請求項５に記載のデータ生成装置。
【請求項７】
前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、前記管理手段はこの情報の送信元であるクライアントに関する情報を前記転送管理情報から削除する請求項６に記載のデータ生成装置。
【請求項８】
一定時間を計時する計時手段をさらに備え、
前記計時手段が、応答要求に対する応答がクライアントから一定時間以上受信されていないと判断した場合、前記管理手段はこのクライアントに関する情報を前記転送管理情報から削除する請求項６又は７に記載のデータ生成装置。
【請求項９】
前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶し、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報として記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備える請求項７又は８に記載のデータ生成装置。
【請求項１０】
前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶し、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報として記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備える請求項７又は８に記載のデータ生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチキャスト環境において、効率的にマルチキャストのデータを配信するための装置に関する。
【０００２】
【従来の技術】
従来、音声や動画などのマルチメディアデータによるストリーミングデータ等の伝送の効率化を図る技術として、マルチキャストが利用されている。マルチキャストでは、基本的にオンデマンドのデータ配信を提供することはできない。しかし、マルチキャストは、リアルタイムの動画配信や音声配信（例：ライブ中継）において多くのメリットを有する。
【０００３】
マルチキャストでは、クライアント数（データ受信を望むユーザ数）に関わらず、ある経路のトラフィック量を常に一定に保つことができる。このため、その他の通信に与える影響も少ない。従って、マルチキャストでは、ユニキャストと異なり、配信専用のネットワークやキャッシュサーバ等の設備を設ける必要がない。よって、マルチキャストでは、非常に安価なネットワーク構成によるマルチメディアデータの配信が可能となる。
【０００４】
マルチキャストを実現する技術として、ＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）やマルチキャストルーティングプロトコルがある。ＩＧＭＰは、マルチキャストに対応するルータやレイヤ３スイッチ（以下、マルチキャストルータと呼ぶ）が、その配下に接続されるクライアント（エンドシステム）のマルチキャスト受信状態を把握するためのプロトコルである。マルチキャストルーティングプロトコルは、サーバから各クライアントまでのデータの配信経路を構成するために、マルチキャストルータ間で機能するプロトコルである。
【０００５】
従来のＩＧＭＰバージョン１（ＩＧＭＰｖ１）やＩＧＭＰバージョン２（ＩＧＭＰｖ２）では、マルチキャストデータの宛て先アドレスとなるマルチキャストアドレスのみによって、マルチキャストグループの管理が行われる。なお、ＩＧＭＰｖ２メッセージ対応のＩＰマルチキャスト通信において送信ホストを制限することが可能となるシステムを提供することを課題とする技術がある（特許文献１参照）。
【０００６】
しかし、ＩＧＭＰバージョン３（ＩＧＭＰｖ３：非特許文献２参照）では、データの送信元であるサーバ（ソース）のアドレス（ソースアドレス）及びマルチキャストアドレスによってマルチキャストセッションが識別及び管理される。即ち、マルチキャストアドレスが同じであっても、ソースアドレスが異なるマルチキャストセッションは、異なるマルチキャストセッションとして認識される。従って、ＩＧＭＰｖ３では、マルチキャストアドレスの重複使用が可能となる。このマルチキャストの形態は、ＳＳＭ（Ｓｏｕｒｃｅ  Ｓｐｅｃｉｆｉｃ  Ｍｕｌｔｉｃａｓｔ）と呼ばれ、今後のリアルタイム放送などへの適用が見込まれている。
【０００７】
また、通常、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）環境やインターネットアクセスのためのブロードバンド環境では、ルータあるいはレイヤ３スイッチとクライアントの間にはレイヤ２スイッチ（ＬＡＮスイッチ）が設置される。そして、このレイヤ２スイッチが、エンドシステムを収容し、ルータあるいはレイヤ３スイッチに接続される。
【０００８】
マルチキャストが利用されるネットワークで使用されるレイヤ２スイッチには、一般的には、ＩＧＭＰ  Ｓｎｏｏｐｉｎｇ機能が実装される。ＩＧＭＰ  Ｓｎｏｏｐｉｎｇでは、マルチキャストデータの受信を望むクライアント（レシーバ）が接続されているポートのみへマルチキャストデータが転送される。ＩＧＭＰＳｎｏｏｐｉｎｇでは、レイヤ２スイッチは、クライアントやマルチキャストルータによって送信されるＩＧＭＰメッセージを盗み見る（参照する）。そして、レイヤ２スイッチは、どのポートにマルチキャストルータが接続され、どのポートに接続されるクライアントがどのマルチキャストアドレス宛てのマルチキャストデータの受信を望んでいるかを把握し、マルチキャストデータの転送を行う。
【０００９】
このように、ＩＧＭＰ  Ｓｎｏｏｐｉｎｇにより、必要とされるポートへのみマルチキャストデータを転送することが可能となる。このため、受信を望まないクライアントを含む全てのクライアントに対してマルチキャストデータが届くということが回避される。この時、ＩＧＭＰ  Ｓｎｏｏｐｉｎｇをサポートするレイヤ２スイッチは、レイヤ２の情報、即ちＭＡＣアドレスがマルチキャストであるか否かを判別する。そして、ＭＡＣアドレスがマルチキャストである場合、レイヤ２スイッチは、必要とされるポートへのみマルチキャストデータを転送する。
【００１０】
このように、レイヤ２スイッチは、ＩＧＭＰ  Ｓｎｏｏｐｉｎｇによって擬似的にＩＧＭＰの機能を実現する。即ち、ＩＧＭＰやＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）マルチキャストはレイヤ３の機能であるが、レイヤ２スイッチはレイヤ２の情報を基に転送処理を制御する。従って、レイヤ２スイッチは、ＩＧＭＰ  Ｓｎｏｏｐｉｎｇをサポートしたとしても、レイヤ３に関する処理を行う必要がないため、そのパフォーマンスに大きな悪影響を被ることはなかった。
【００１１】
【特許文献１】
特開２００２−６４５５８号公報
【非特許文献１】
”Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｖｅｒｓｉｏｎ  ２  （ＭＬＤｖ２）  ｆｏｒ  ＩＰｖ６”、［ｏｎｌｉｎｅ］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｉｎｔｅｒｎｅｔ−ｄｒａｆｔｓ／ｄｒａｆｔ−ｖｉｄａ−ｍｌｄ−ｖ２−０６．ｔｘｔ＞
【非特許文献２】
”Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，  Ｖｅｒｓｉｏｎ  ３”、［ｏｎｌｉｎｅ］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３３７６．ｔｘｔ？ｎｕｍｂｅｒ＝３３７＞
【００１２】
【発明が解決しようとする課題】
しかしながら、今後の普及が予想されるＩＧＭＰｖ３やＭＬＤｖ２（Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｖｅｒｓｉｏｎ  ２：非特許文献１参照）では、従来のＩＧＭＰ（ｖ１，ｖ２）やＭＬＤ（ｖ１）と異なり、レイヤ２レベルでの処理が不可能となる。ここで、ＭＬＤとは、ＩＰｖ６における技術であり、ＩＰｖ４におけるＩＧＭＰと同様の技術である。ＩＧＭＰｖ３やＭＬＤｖ２では、ＩＰパケットのＩＰヘッダの次に来るペイロード部分にソースの情報や複数のマルチキャストアドレス等が格納される。これらの情報は、ＩＧＭＰｖ３やＭＬＤｖ２の機能の実現において不可欠である。このため、従来のＩＧＭＰ  Ｓｎｏｏｐｉｎｇでは、ＩＧＭＰｖ３やＭＬＤｖ２の機能をレイヤ２スイッチで擬似的に実現することは不可能である。即ち、ＩＧＭＰ  Ｓｎｏｏｐｉｎｇを使用してＩＧＭＰｖ３やＭＬＤｖ２の機能を実現するためには、レイヤ２スイッチは、ＩＧＭＰパケットあるいはＭＬＤｖ２パケットのレイヤ３の情報を参照する必要がある。ＩＧＭＰ  Ｓｎｏｏｐｉｎｇを使用してＩＧＭＰｖ３やＭＬＤｖ２の機能を実現するためには、レイヤ２スイッチは、さらに、実際の転送処理においても、レイヤ３の情報を参照した後に、転送先となるポートを決定する必要がある。
【００１３】
レイヤ２（ＭＡＣ）の情報に基づいてフレームをスイッチするレイヤ２スイッチに対して、レイヤ３の情報を参照するという処理を実装することは、レイヤ２スイッチのパフォーマンスを著しく低下させ、機器自体を非常に複雑かつ高価にする原因となる。また、ＩＧＭＰ  Ｓｎｏｏｐｉｎｇを実現できないレイヤ２スイッチによってネットワークを構成することは、シェアドメディア（ハブ（ＨＵＢ）等）によってクライアントが接続されている状態と同じこととなる。即ち、マルチキャストデータの受信を不要とするクライアントに対してもマルチキャストデータが転送され、他のユニキャスト通信やマルチキャスト通信に対して悪影響を与える。このため、レイヤ２スイッチによってクライアントを収容することによるメリットを失うこととなる。
【００１４】
本発明は、このような問題を解決し、あるレイヤの情報（例えばレイヤ３の情報）を用いたマルチキャストグループ管理プロトコル（例えば、ＩＧＭＰｖ３あるいはＭＬＤｖ２）が使用されるネットワークにおいて、マルチキャストデータが、あるレイヤよりも低次のレイヤに基づいたスイッチを介して、このマルチキャストデータの受信を望むクライアントが接続されるポートのみに配信されるシステムや装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記問題を解決するため、本発明は以下のような構成をとる。本発明の第一の態様は、第一のレイヤのデータに基づいてハードウェア的にスイッチングを行うスイッチング装置よりも上流に設置されるデータ生成装置であって、前記第一のレイヤよりも高次である第二のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出す読出手段と、前記読出手段によって読み出される前記転送管理情報を記憶する記憶手段と、前記記憶手段が記憶する前記転送管理情報に基づいて転送データの転送先となるクライアントを判断し、転送先となるクライアント数と同数の、それぞれのクライアントに対して送信される、受信された転送データと同等の内容を含む送信データを生成するデータ生成手段とを備える。
【００１６】
本発明の第一の態様では、読出手段は、自装置の下流に設置されるスイッチング装置がスイッチングを行う際に参照するデータのレイヤよりも高次のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出す。例えば、自装置の下流に設置されるスイッチング装置がレイヤ２スイッチである場合、読出手段は、レイヤ３以上のレイヤのデータから転送管理情報を読み出す。このようなデータの例として、ＩＧＭＰバージョン３のメッセージや、ＭＬＤバージョン２のメッセージ等がある。
【００１７】
記憶手段は、読出手段によって読み出された転送管理情報に基づいた情報を記憶する。記憶手段は、読出手段によって読み出された転送管理情報をそのまま記憶しても良いし、他の手段（例えば管理手段）によって転送管理情報に基づいて作成された情報を記憶しても良い。
【００１８】
データ生成手段は、転送管理情報に基づいて、転送データの転送先となる装置（クライアント）を判断する。データ生成手段は、転送先となるクライアント１台に対して一つのデータが送信されるように、転送データをコピーし変更する。データ生成手段は、転送先となるクライアントと同数のデータを生成するために、転送データのコピーを行う。そして、データ生成手段は、コピーされたデータの送信先のアドレスを、転送先となるクライアントのアドレスに変更する。
【００１９】
このため、本発明の第一の態様によれば、転送データは、転送管理情報に基づいて、転送先となる各クライアントに対して１対１に送信される。このため、自装置の下流に設置されるスイッチング装置は、転送データについて転送管理情報に基づいた処理を実施する必要がない。即ち、自装置の下流に設置されるスイッチング装置が、より高次のレイヤの情報（転送管理情報）を読み出す必要がない。従って、このスイッチング装置がより高次のレイヤの情報を読み出す事による処理の遅延や、このようにスイッチング装置を設計することによるコストを削減することが可能となる。
【００２０】
本発明の第二の態様は、データ生成装置であって、レイヤ２よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出す読出手段と、前記読出手段によって読み出された情報に基づいた転送管理情報を記憶する記憶手段と、受信されたマルチキャストデータを、前記記憶手段が記憶する前記転送管理情報に基づいて、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段とを備える。
【００２１】
また、本発明の第二の態様の前記データ生成手段は、前記コピーされた夫々のデータのＭＡＣアドレスを、転送先となる各クライアントのＭＡＣアドレスに書き換えることによりユニキャストデータを生成するように構成されても良い。
【００２２】
また、本発明の第二の態様は、自装置よりも下流側にデータを送出する送出手段をさらに備え、前記送出手段は、前記データ生成手段によって生成されるユニキャストデータ及び受信されたマルチキャストデータを送出するように構成されても良い。
【００２３】
また、本発明の第二の態様は、前記読出手段によって読み出された情報に基づいて、前記記憶手段に記憶される前記転送管理情報を更新する管理手段をさらに備えるように構成されても良い。
【００２４】
また、本発明の第二の態様は、前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、前記管理手段はこの情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させるように構成されても良い。
【００２５】
また、本発明の第二の態様は、前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、前記管理手段はこの情報の送信元であるクライアントに関する情報を前記転送管理情報から削除するように構成されても良い。
【００２６】
また、本発明の第二の態様は、一定時間を計時する計時手段をさらに備え、前記計時手段が、応答要求に対する応答がクライアントから一定時間以上受信されていないと判断した場合、前記管理手段はこのクライアントに関する情報を前記転送管理情報から削除するように構成されても良い。
【００２７】
また、本発明の第二の態様の前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶し、前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備えるように構成されても良い。
【００２８】
また、本発明の第二の態様の前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶し、前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備えるように構成されても良い。
【００２９】
また、前記読出手段によって読み出された情報がマルチキャスト受信状態の変更を示す情報である場合、前記管理手段はこの情報の内容を用いて前記記憶手段に記憶される前記転送管理情報を更新するように構成されても良い。
【００３０】
【発明の実施の形態】
〔ＩＰマルチキャスト〕
〈概要〉
本発明が前提としているＩＰマルチキャストの仕組みについて説明する。なお、以下の説明では、データリンク層がイーサネットである場合について説明する。
【００３１】
図１は、ＩＰマルチキャストを用いたネットワークの構成例を示す図である。ＩＰマルチキャストでは、アドレスとしてマルチキャストアドレスが使用される。ＩＰマルチキャストは、エンドシステムであるサーバ（ソース）Ｅ１とクライアント（レシーバ）Ｅ２とマルチキャストルータＭ１間で機能する。
【００３２】
ＩＰマルチキャストでは、マルチキャストアドレスに対してマルチキャストデータが送信される。マルチキャストデータは、マルチキャスト対応ネットワークＮ１，マルチキャストルータＭ１，レイヤ２スイッチＬ１を介して、マルチキャストグループに属するクライアントＥ２によって受信される。ＩＰｖ４環境におけるＩＰマルチキャストは、マルチキャストグループ管理プロトコルであるＩＧＭＰと、マルチキャストルーティングプロトコルによって実現される。
【００３３】
ＩＧＭＰのメッセージ（マルチキャストグループ制御メッセージ，ＩＧＭＰメッセージ）は、クライアントＥ２と近隣のマルチキャストルータＭ１との間で（レイヤ２スイッチＬ１を挟んで）交換される。ＩＧＭＰにより、マルチキャストルータＭ１は、自身の配下に位置する各クライアントＥ２のマルチキャストグループを把握する。
【００３４】
マルチキャストルーティングプロトコルのメッセージは、マルチキャストルータＭ１間で（レイヤ２スイッチＬ１を挟んで）交換される。マルチキャストルーティングプロトコルにより、マルチキャストルータＭ１間で、サーバＥ１から複数の各クライアントＥ２（受信クライアント）までのマルチキャストデータ配信ツリーが構築される。
【００３５】
次に、ＩＰマルチキャストによるデータ伝送の基本動作について説明する。まず、マルチキャストデータの受信を望むクライアントＥ２は、ＩＧＭＰメッセージによって、ローカルネットワークのマルチキャストルータＭ１へその旨を通知する。この通知により、このクライアントＥ２は、マルチキャストグループに参加したこととなる。即ち、このクライアントＥ２は、マルチキャストグループのメンバとなる。
【００３６】
サーバＥ１は、クラスＤのアドレスで識別されるマルチキャストアドレス宛てに、マルチキャストデータ（例えばストリームデータ）を送信する。このとき、サーバＥ１は、マルチキャストグループに属するクライアントの数に関わらず、一つのマルチキャストデータを送信する。
【００３７】
マルチキャスト対応ネットワークＮ１内のマルチキャストルータＭ１は、サーバＥ１から送信されたマルチキャストデータを受信する。マルチキャストルータＭ１は、このマルチキャストデータのマルチキャストグループに参加している各クライアントＥ２への経路に沿って、このマルチキャストデータを必要に応じてコピーしながら伝送してゆく。即ち、マルチキャストルータＭ１は、マルチキャストルーティングプロトコルによって構成された、送信ホスト（サーバＥ１）から各クライアントＥ２へ至るマルチキャストデータ配信の経路木に沿って、マルチキャストデータを配信する。従って、最終的に、サーバＥ１が送信した一つのマルチキャストデータは、ネットワーク内の複数のクライアントＥ２へ配信される。
【００３８】
次に、マルチキャストアドレス，ＩＧＭＰ，マルチキャストルーティングプロトコルそれぞれについて説明する。
【００３９】
〈マルチキャストアドレス〉
ＩＰｖ４におけるマルチキャストアドレスについて説明する。マルチキャストアドレスは、クラスＤアドレスとして規定されており、１０進表記で、”２２４．０．０．０”から”２３９．２５５．２５５．２５５”の範囲の値をとる。このため、クラスＤアドレスは、最初の４ビットの”１１１０”によって識別される。
【００４０】
図２は、マルチキャストアドレスの割り当てを示す表である。図２に示されるように、いくつかのマルチキャストアドレスは、特定用途のために予約されている。そして、ローカルサイト用の割り当て、即ち”２３９．０．０．０”から”２３９．２５５．２５５．２５５”までのアドレスが、例えば企業ネットワークやＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）等で一般に使用されるマルチキャストアドレスである。
【００４１】
また、最近ではＳＳＭという概念やプロトコルもＩＥＴＦにて検討されている。ＳＳＭとは、マルチキャストアドレス（マルチキャストグループアドレス）とマルチキャストデータのソースアドレスとの組によって識別されるマルチキャストセッション、あるいはその仕組みのことである。ＳＳＭのためのマルチキャストアドレスの範囲は、ＩＰｖ４クラスＤアドレスのうち、”２３２．０．０．０”から”２３２．２５５．２５５．２５５”である。
【００４２】
尚、ＳＳＭでは、受信されるマルチキャストデータのソースアドレスがＩＧＭＰによって指定されるため、マルチキャストルータやエンドシステムにおいてＩＧＭＰｖ３が実装されていなければならない。
【００４３】
〈ＩＧＭＰ〉
次に、ＩＧＭＰについて説明する。クライアント（ホスト）とマルチキャストルータとは、ＩＧＭＰメッセージをやり取りする。このＩＧＭＰメッセージによって、マルチキャストルータは、自身が接続されるローカルネットワークにおけるクライアントを把握／管理する。言い換えれば、ＩＧＭＰは、クライアントが、あるマルチキャストグループに参加することをマルチキャストルータに伝えるためのプロトコルである。この場合、マルチキャストルータとクライアントとは、ＩＧＭＰで規定されている各機能が実装される必要がある。ＩＧＭＰには、バージョン１（ｖ１）からバージョン３（ｖ３）まである。ＩＧＭＰｖ１は、ＲＦＣ１１１２の付録１で規定されている。ＩＧＭＰｖ２は、ＲＦＣ２２３６で規定されている。ＩＧＭＰｖ３は、ＲＦＣ３３７６で規定されている。
【００４４】
ＩＧＭＰｖ１とＩＧＭＰｖ２とＩＧＭＰｖ３とは、それぞれマルチキャストグループ管理を行う点では同じだが、それぞれ異なる機能を有するプロトコルである。以下に、各バージョンのＩＧＭＰについて説明する。
【００４５】
〈〈ＩＧＭＰｖ１〉〉
図３は、ＩＧＭＰｖ１の概要を示す図である。図３を用いて、ＩＧＭＰｖ１について、クライアントＥ２がマルチキャストグループに参加する場合の処理（図３（ａ）参照）と、クライアントＥ２がマルチキャストグループから離脱する場合の処理（図３（ｂ）参照）とを説明する。
【００４６】
まず、図３（ａ）を用いて、クライアントＥ２がマルチキャストグループに参加する場合の処理について説明する。ＩＧＭＰｖ１では、マルチキャストルータ（ＩＧＭＰ  Ｑｕｅｒｉｅｒルータ）Ｍ１は、サブネットに対してクエリメッセージ（Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ）を定期的に送信する（１）。マルチキャストグループに参加を希望するクライアントＥ２は、このクエリメッセージへの応答として、このマルチキャストグループの情報をレポートメッセージ（Ｒｅｐｏｒｔ）に格納し送信する。言い換えれば、クライアントＥ２は、クエリメッセージに応答して、参加を希望するグループを指定したレポートメッセージを送信する（２）。マルチキャストルータＭ１は、このレポートメッセージを受信した場合、このレポートメッセージを受信したインタフェースに対して、このマルチキャストグループに対応するマルチキャストアドレスへ送信されたデータ（マルチキャストデータ）を、このクライアントＥ２に対して転送するように設定する。
【００４７】
次に、図３（ｂ）を用いて、クライアントＥ２がマルチキャストグループから離脱する場合の処理について説明する。あるマルチキャストグループに参加しているクライアントＥ２は、アプリケーション等の終了によってマルチキャストに関する自身の機能を停止し、マルチキャストデータの受信を中止する（３）。この処理によって、このクライアントＥ２は、マルチキャストグループから離脱する。この場合、クライアントＥ２は、クエリメッセージに対して応答しない。
【００４８】
マルチキャストルータＭ１は、クライアントＥ２から一定時間レポートメッセージを受信しない場合、タイムアウトによってこのクライアントＥ２がマルチキャストグループから離脱したことを認識する（４）。そして、この認識の後、マルチキャストルータＭ１は、マルチキャストデータをこのクライアントＥ２に転送する処理を中止する。
【００４９】
このように、マルチキャストルータＭ１は、クエリメッセージに対応するレポートメッセージの受信についてのタイムアウトによって、クライアントＥ２がマルチキャストグループに参加しているか否かを把握する。このため、クライアントＥ２がマルチキャストグループから離脱しても、タイムアウトが発生するまで、マルチキャストルータＭ１は、クライアントＥ２へマルチキャストデータの転送を実行する。即ち、タイムアウトが発生するまで、このクライアントＥ２が接続されるサブネットにマルチキャストデータが流れ続ける。
【００５０】
〈〈ＩＧＭＰｖ２〉〉
図４は、ＩＧＭＰｖ２の概要を示す図である。図４を用いて、ＩＧＭＰｖ２について、クライアントＥ２がマルチキャストグループに参加する場合の処理（図４（ａ）参照）と、クライアントＥ２がマルチキャストグループから離脱する場合の処理（図４（ｂ）参照）とを説明する。
【００５１】
まず、図４（ａ）を用いて、クライアントＥ２がマルチキャストグループに参加する場合の処理について説明する。ＩＧＭＰｖ２では、ＩＧＭＰｖ１と同様に、マルチキャストルータＭ１は、サブネットに対してクエリメッセージを定期的に送信する（１）。マルチキャストグループに参加を希望するクライアントＥ２は、クエリメッセージへの応答として、このマルチキャストグループの情報をレポートメッセージに格納して送信する（２）。マルチキャストルータＭ１は、このレポートメッセージを受信した場合、このレポートメッセージを受信したインタフェースに対して、このマルチキャストグループに対応するマルチキャストデータを、このクライアントＥ２に対して転送するように設定する。
【００５２】
ＩＧＭＰｖ２では、クライアントＥ２は、マルチキャストグループに参加を希望する時点で、クエリメッセージの受信に関係なく、Ｕｎｓｏｌｉｃｉｔｅｄ  Ｒｅｐｏｒｔを送信することが可能である。マルチキャストルータＭ１は、Ｕｎｓｏｌｉｃｉｔｅｄ  Ｒｅｐｏｒｔを受信した場合、配下にグループメンバが現れたことを即座に認識する。そして、このグループメンバであるクライアントＥ２に対し、マルチキャストデータの転送を開始する。
【００５３】
次に、図４（ｂ）を用いて、クライアントＥ２がマルチキャストグループから離脱する場合の処理について説明する。あるマルチキャストグループに参加しているクライアントＥ２は、このマルチキャストグループの情報をリーブメッセージ（Ｌｅａｖｅ）に格納してマルチキャストルータＭ１に送信することにより、このマルチキャストグループから離脱する（３）。
【００５４】
マルチキャストルータＭ１は、このリーブメッセージを受信すると、このリーブメッセージを受信したインタフェース配下について、リーブメッセージを送信した以外のクライアントＥ２（他のグループメンバ）の存在を確認する。このとき、マルチキャストルータＭ１は、このマルチキャストグループに関するＧｒｏｕｐ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙを、リーブメッセージを受信したインタフェースを介して送信する（４）。
【００５５】
他のグループメンバが存在する場合、この他のグループメンバは、まだ受信したいことを伝えるため、Ｇｒｏｕｐ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙに応答してレポートメッセージを送信する（５）。マルチキャストルータＭ１は、このレポートメッセージを受信すると、他のグループメンバの存在を認識し、このインタフェースへのマルチキャストデータの転送を継続する。
【００５６】
一方、マルチキャストルータＭ１は、このＧｒｏｕｐ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙへの応答としてのレポートメッセージを受信しない場合、即ち他のグループメンバが存在しない場合、このインタフェース配下に他のグループメンバが存在しないと判断し、このインタフェースへのマルチキャストデータの転送を中止する。
【００５７】
次に、ＩＧＭＰｖ１とＩＧＭＰｖ２との差異を説明する。第一に、ＩＧＭＰｖ２では、クライアントＥ２が所属していたマルチキャストグループから離脱することを明示的に伝えるリーブメッセージが規定された。
【００５８】
第二に、ＩＧＭＰｖ２では、リーブメッセージを受信したマルチキャストルータＭ１が、他のグループメンバがローカルに（ローカルインタフェースに）存在するか否かを確認するためのＧｒｏｕｐ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙが規定された。
【００５９】
第三に、ＩＧＭＰｖ２では、クライアントＥ２は、自身がマルチキャストグループに参加すると決定した時点で、マルチキャストルータＭ１からのクエリメッセージの受信に関係なく、即座にマルチキャストグループに参加することを可能にするＵｎｓｏｌｉｃｉｔｅｄ  Ｒｅｐｏｒｔが規定された。
【００６０】
第四に、ＩＧＭＰｖ２では、あるサブネットにＩＧＭＰｖ１に対応して動作するマルチキャストルータ（以後、ＩＧＭＰｖ１ルータと呼ぶ）Ｍ１、あるいはクライアント（以後、ＩＧＭＰｖ１クライアントと呼ぶ）Ｅ２が存在する場合、ＩＧＭＰｖ２に対応して動作するマルチキャストルータ（以後、ＩＧＭＰｖ２ルータと呼ぶ）Ｍ１とＩＧＭＰｖ２に対応して動作するクライアント（以後、ＩＧＭＰｖ２クライアントと呼ぶ）Ｅ２は、ＩＧＭＰｖ１に対応して動作しなければならないということが規定された。
【００６１】
〈〈ＩＧＭＰｖ３〉〉
図５は、ＩＧＭＰｖ３の概要を示す図である。図５を用いて、ＩＧＭＰｖ３について、クライアントＥ２がマルチキャストグループに参加する場合の処理（図５（ａ）参照）と、クライアントＥ２がマルチキャストグループから離脱する場合の処理（図５（ｂ）参照）とを説明する。
【００６２】
まず、図５（ａ）を用いて、クライアントＥ２がマルチキャストグループに参加する場合の処理について説明する。ＩＧＭＰｖ３では、ＩＧＭＰｖ１やＩＧＭＰｖ２と同様に、マルチキャストルータＭ１は、サブネットに対してクエリメッセージを定期的に送信する（１）。マルチキャストグループへの参加を希望するクライアントＥ２は、クエリメッセージへの応答として、このマルチキャストグループの情報をレポートメッセージに格納して送信する。この時、クライアントＥ２は、このマルチキャストグループに対するソース（サーバＥ１（Ｅ１ａ，Ｅ１ｂ，Ｅ１ｎ））を指定したければ、ソースとなるサーバＥ１の情報をレポートメッセージに含めて送信することができる（２）。クライアントＥ２は、あるマルチキャストグループに対して、複数（０以上：例えばサーバＥ１ａ及びサーバＥ１ｂ）のソースとなるサーバＥ１を指定することができる。
【００６３】
このようなソースを指定する方法（フィルタモード）には、ＩＮＣＬＵＤＥモードとＥＸＣＬＵＤＥモードの２種類がある。ＩＮＣＬＵＤＥモードでは、クライアントＥ２は、レポートメッセージで指定されたサーバＥ１からマルチキャストデータを受信する。一方、ＥＸＣＬＵＤＥモードでは、クライアントＥ２は、レポートメッセージで指定されたサーバＥ１以外のサーバＥ１からマルチキャストデータを受信する。
【００６４】
マルチキャストルータＭ１は、レポートメッセージを受信すると、このレポートメッセージを受信したインタフェースを介して、このレポートメッセージに対応するマルチキャストデータのうち、このレポートメッセージによって指定されたサーバＥ１から送信されたマルチキャストデータのみを転送する。このため、マルチキャストルータＭ１の配下のクライアントＥ２は、任意の１台以上のサーバＥ１から送信されたマルチキャストデータのみを受信することができる。
【００６５】
マルチキャストルータＭ１は、あるマルチキャストグループについて、あるクライアントＥ２にとって新たなサーバＥ１をソースとしたレポートメッセージを受信した場合、このサーバＥ１からのマルチキャストデータの転送先について判断（情報のマージ）を行う。この場合、マルチキャストルータＭ１は、この判断結果を保持することで、このサーバＥ１から送信されたマルチキャストデータを、該当するクライアントＥ２へ転送する（即ち、該当するインタフェースから送信する）。
【００６６】
ＩＧＭＰｖ３では、あるインタフェース配下に、あるマルチキャストアドレスに対してＩＮＣＬＵＤＥモードを指定したクライアントＥ２のみが存在する場合、情報のマージの実行により、フィルタモードは”ＩＮＣＬＵＤＥ”であり、指定されたサーバＥ１の全てを含むソースリストが保持される。ここで、ソースリストとは、あるマルチキャストアドレスについてのソースを判断するための、サーバＥ１のアドレスのリストである。
【００６７】
図６は、あるインタフェースｉ配下にＩＮＣＬＵＤＥモードを指定したクライアントＥ２のみが存在する場合の状態を示す図である。例えば、マルチキャストルータＭ１のあるインタフェースｉ配下のクライアントＥ２ａ，Ｅ２ｂ，Ｅ２ｎの状態は、マルチキャストアドレスｍに対して、それぞれ（ｍ，ＩＮＣＬＵＤＥ，”ａ，ｂ，ｃ”），（ｍ，ＩＮＣＬＵＤＥ，”ｂ，ｃ，ｄ”），（ｍ，ＩＮＣＬＵＤＥ，”ｅ，ｆ”）であると仮定する。ここで、（マルチキャストアドレス，フィルタモード，ソースリスト）とする。この場合、マルチキャストルータＭ１が保持すべき状態は、（ｉ，ｍ，ＩＮＣＬＵＤＥ，”ａ，ｂ，ｃ，ｄ，ｅ，ｆ”）となる。即ち、あるインタフェースｉ配下の全てのクライアントＥ２がＩＮＣＬＵＤＥモードであれば、このインタフェースｉについてのフィルタモードの設定はＩＮＣＬＵＤＥモードになり、ソースリストは各レコードに含まれるソースのマージ（即ちａ，ｂ，ｃ，ｄ，ｅ，ｆ）となる。
【００６８】
また、あるインタフェース配下に、あるマルチキャストアドレスに対してＥＸＣＬＵＤＥモードを指定したクライアントＥ２が１台でも存在すれば、マルチキャストルータＭ１が保持するフィルタモードはＥＸＣＬＵＤＥモードとなる。そして、マルチキャストルータＭ１は、ＩＮＣＬＵＤＥモードで指定された全てのソースを除いた、ＥＸＣＬＵＤＥモードで指定された全てのソースの共通部分を、ソースリストとして保持する。
【００６９】
図７は、あるインタフェースｉ配下にＥＸＣＬＵＤＥモードを指定したクライアントＥ２が存在する場合の状態を示す図である。例えば、マルチキャストルータＭ１のあるインタフェースｉ配下のクライアントＥ２ａ，Ｅ２ｂ，Ｅ２ｎの状態が、マルチキャストアドレスｍに対して、それぞれ（ｍ，ＥＸＣＬＵＤＥ，”ａ，ｂ，ｃ，ｄ”），（ｍ，ＥＸＣＬＵＤＥ，”ｂ，ｃ，ｄ，ｅ”），（ｍ，ＩＮＣＬＵＤＥ，”ｄ，ｅ，ｆ”）であると仮定する。この場合、マルチキャストルータＭ１が保持すべき状態は、（ｉ，ｍ，ＥＸＣＬＵＤＥ，”ｂ，ｃ”）となる。即ち、インタフェースｉ配下にＥＸＣＬＵＤＥモードのクライアントＥ２（この場合は、Ｅ２ａ，Ｅ２ｂ）が存在するため、このインタフェースｉのフィルタモードはＥＸＣＬＵＤＥモードとなる。そして、このインタフェースｉのソースリストは、”ｂ，ｃ”となる。
【００７０】
マルチキャストルータＭ１は、配下の各システムの状態をマージし、その状態を各インタフェースにおいて、マルチキャストアドレス毎に保持する。
【００７１】
また、クライアントＥ２は、ソケット毎に（ソケットが複数存在すれば）インタフェース毎のマルチキャストアドレス毎に、フィルタモードと、対応するソースリストをそれぞれ保持する。
【００７２】
次に、図５（ｂ）を用いて、クライアントＥ２がマルチキャストグループから離脱する場合の処理について説明する。あるマルチキャストグループに参加しているクライアントＥ２は、このマルチキャストグループに対して、ＩＮＣＬＵＤＥモードでソースリストがエンプティのレポートメッセージを送信する。あるいは、このクライアントＥ２は、このマルチキャストグループに対して、ソース情報の変更を含めたレポートメッセージを送信する（３）。このレポートメッセージの送信により、このクライアントＥ２は、このマルチキャストグループから離脱する。
【００７３】
マルチキャストルータＭ１は、このレポートメッセージを受信すると、このレポートメッセージを受信したインタフェース配下について、このレポートメッセージを送信した以外のクライアントＥ２（他のグループメンバ）の存在を確認する。即ち、マルチキャストルータＭ１は、このマルチキャストグループに関するＧｒｏｕｐ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙを、レポートメッセージを受信したインタフェースを介して送信する。あるいは、マルチキャストルータＭ１は、ソース情報の変更が含まれたレポートメッセージを受信した場合は、ソース情報が変更されることを確認するＧｒｏｕｐ  ａｎｄ  Ｓｏｕｒｃｅ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙを送信する（４）。
【００７４】
他のグループメンバが存在する場合、この他のグループメンバは、まだ受信したいことを伝えるため、Ｇｒｏｕｐ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙに応答してレポートメッセージを送信する。あるいは、この他のグループメンバは、変更されるソース情報を維持させるためのレポートメッセージを送信する（５）。マルチキャストルータＭ１は、このレポートメッセージを受信すると、他のグループメンバの存在を認識し、このインタフェースへのマルチキャストデータの転送を継続する。
【００７５】
一方、マルチキャストルータＭ１は、このＧｒｏｕｐ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙへの応答としてのレポートメッセージを受信しない場合、即ち他のグループメンバが存在しない場合、このインタフェース配下に他のグループメンバが存在しないと判断し、このインタフェースへのマルチキャストデータの転送を中止する。
【００７６】
次に、ＩＧＭＰｖ３による、クライアントＥ２のステート変更の動作について説明する。ＩＧＭＰｖ１，ＩＧＭＰｖ２では、クライアントＥ２について、マルチキャストグループへの参加や離脱に関連する動作のみが規定されていた。しかし、ＩＧＭＰｖ３では、クライアントＥ２が、ステートの変更（ソースやフィルタモードの変更）をマルチキャストルータＭ１へ通知することが可能となった。マルチキャストルータＭ１は、この通知を受信すると、ステートの変更を反映して動作する。
【００７７】
あるマルチキャストグループに参加しているクライアントＥ２は、このマルチキャストグループにおけるソースやフィルタモードを変更する場合、このマルチキャストグループの情報と、フィルタモードやソースの変更情報とを、レポートメッセージに格納して送信する。
【００７８】
マルチキャストルータＭ１は、このレポートメッセージを受信すると、自身が記憶する情報（例えば情報のマージによる判断結果）に対して、レポートメッセージに含まれるステートの変更を反映するして良いか否かを確認する。このとき、マルチキャストルータＭ１は、このマルチキャストグループとこのマルチキャストグループに関連するソースリストに関するＧｒｏｕｐ  ａｎｄ  Ｓｏｕｒｃｅ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙを送信することにより、上記の確認を行う。このマルチキャストグループに対して変更されようとしているソース情報を維持したいクライアントＥ２は、その情報を含めたレポートメッセージをマルチキャストルータＭ１へ送信する。
【００７９】
マルチキャストルータＭ１は、このレポートメッセージを受信すると、必要とされるソースとしてのサーバＥ１の情報を把握して、該当するソースリストを維持あるいは更新し、適切なサーバＥ１からのマルチキャストデータを転送する。
【００８０】
マルチキャストルータＭ１は、マルチキャストグループに関するＧｒｏｕｐ  ａｎｄ  Ｓｏｕｒｃｅ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙに対するレポートメッセージが受信されない場合、現在の情報に従ってマルチキャストデータの転送を継続する。
【００８１】
ＩＧＭＰｖ３では、クエリメッセージの受信に関係なく、クライアントＥ２は、自身のステートが変更（マルチキャストデータの受信中止や、フィルタモードの変更など）された時点で、Ｕｎｓｏｌｉｃｉｔｅｄ  Ｒｅｐｏｒｔを送信することが出来る。
【００８２】
このように、従来のＩＧＭＰ（ＩＧＭＰｖ１，ＩＧＭＰｖ２）では、マルチキャストアドレスのみを基にマルチキャストグループ管理機能が提供されていたのに対し、ＩＧＭＰｖ３では一つのマルチキャストアドレスとこのマルチキャストデータのソースとなる０台以上のサーバＥ１とをセットとして、マルチキャストグループ管理機能が提供される。即ち、クライアントＥ２は、あるマルチキャストグループに対して、０以上のサーバＥ１の組を指定してマルチキャストデータの受信要求を行うことが可能となる。言い換えると、あるマルチキャストアドレスに対してサーバＥ１に制限が付けられなければ（サーバＥ１の数が０）、従来のＩＧＭＰと同じマルチキャストアドレスのみの管理と同等となる。また、サーバＥ１が（１台以上）指定されれば、マルチキャストアドレスが同じでも指定されたサーバＥ１以外から送信されるマルチキャストデータは処理（受信や転送など）されない。さらに、同じレポートメッセージにおいて、複数のマルチキャストアドレスとその関連するソースが指定されることが可能である。
【００８３】
また、ソースが一つだけ指定されれば、あるマルチキャストセッションはソースＳとマルチキャストグループＧとを用いて、（Ｓ，Ｇ）と表現される。このため、同じマルチキャストアドレスＧが重複して使用されても、ソースＳが異なることで、他のマルチキャストセッションと識別することが可能となる。この形態をＳＳＭと呼ぶ。
【００８４】
尚、ＩＧＭＰではいずれのバージョンもＩＰｖ４が対象とされている。ＩＰｖ６におけるＩＧＭＰ相当のプロトコルは、ＭＬＤとしてＩＥＴＦのｍａｇｍａ  ＷＧにて標準化作業中である。ＩＧＭＰｖ２に対応するのがＭＬＤ  ｆｏｒ  ＩＰｖ６（ＲＦＣ２７１０）であり、ＩＧＭＰｖ３に対応するのがＭＬＤｖ２  ｆｏｒ  ＩＰｖ６（ｄｒａｆｔ−ｖｉｄａ−ｍｌｄ−ｖ２−ｘｘ．ｔｘｔ）である。
【００８５】
ＩＧＭＰ（ＩＧＭＰｖ１）は、ＲＦＣ１１１２のＡＰＰＥＮＤＩＸ  Ｉで規定され、インターネットスタンダード（Ｉｎｔｅｒｎｅｔ  Ｓｔａｎｄａｒｄ）となっている。また、ＩＧＭＰｖ２はＲＦＣ２２３６で規定され、リーブメッセージが追加されたことにより、ＩＧＭＰｖ１に比べて「小さい離脱待ち時間（ｌｏｗ  ｌｅａｖｅ  ｌａｔｅｎｃｙ）」に関する機能が加えられている。さらに、ＩＧＭＰｖ３は、マルチキャストアドレスと共にソースを指定してグループメンバーシップ情報を管理する「ソースフィルタリング」の機能が追加されており、また、ＩＧＭＰｖ１とＩＧＭＰｖ２とに対して相互動作可能なように設計されている。ソースフィルタリングとは、あるシステムがあるマルチキャストアドレスに対して特定のソースから、あるいは特定のソースの組からのみマルチキャストデータを受信することを可能にする機能である。
【００８６】
ＩＧＭＰｖ３のメッセージは、ＩＰｖ４データグラムにカプセル化され、ＩＰプロトコル番号は”２”である。各々のＩＧＭＰメッセージはＩＰ  ＴＴＬ＝１で送信される。これらの規定は、従来のＩＧＭＰと同じである。
【００８７】
また、ＩＧＭＰｖ３のメッセージはＩＧＭＰｖ１の場合と同じく、クエリメッセージとレポートメッセージとが使用される（ただし、当然内容は異なる）。ＩＧＭＰｖ２のリーブメッセージに相当する動作は、ＩＧＭＰｖ３のレポートメッセージを「受信を希望するソースのリストをエンプティにした状態」で送信することで実現される。また、従来のＩＧＭＰのＪｏｉｎ（レポートメッセージの送信）に相当する動作は、ＩＧＭＰｖ３のレポートメッセージを「受信を希望しないソースのリストをエンプティにした状態」で送信することで実現される。
【００８８】
次に、ＩＧＭＰｖ２とＩＧＭＰｖ３との差異を説明する。第一に、ＩＧＭＰｖ３では、ソースフィルタリングが導入された。
【００８９】
第二に、ＩＧＭＰｖ３では、リーブメッセージ（グループ離脱を通知するメッセージ）が仕様から削除された。このため、ＩＧＭＰｖ３では、グループ離脱は、該当するマルチキャストグループについて転送を必要とするソースが無いことを示すレポートメッセージを送信することによって実施される。
【００９０】
第三に、ＩＧＭＰｖ３では、ステート変更の通知が可能となった。即ち、ＩＧＭＰｖ３では、クライアントがあるマルチキャストグループに対して、転送を必要とするソースやフィルタモードに変更があった場合に、レポートメッセージによってルータにこの旨を通知することが可能となった。
【００９１】
第四に、ＩＧＭＰｖ３では、Ｇｒｏｕｐ  ａｎｄ  Ｓｏｕｒｃｅ  Ｓｐｅｃｉｆｉｃ  Ｑｕｅｒｙが規定された。この規定により、クライアントが、あるマルチキャストグループについて必要とするソースやフィルタモードに変更があったことをレポートメッセージによってマルチキャストルータに通知した時、このマルチキャストルータは、このマルチキャストグループに対するソースの情報変更を反映して良いか否かをインタフェース配下に確認する。
【００９２】
第五に、ＩＧＭＰｖ３では、ＩＧＭＰｖ３ルータは、自身以外にＩＧＭＰｖ２で動作するマルチキャストルータあるいはクライアントが存在した場合は、ＩＧＭＰｖ２で動作しなければならないことが規定された。同様に、ＩＧＭＰｖ１で動作するマルチキャストルータあるいはクライアントが存在した場合には、ＩＧＭＰｖ１で動作しなければならないことが規定された。
【００９３】
第六に、ＩＧＭＰｖ３では、クライアントによるレポートメッセージの抑制機能が廃止された。即ち、ＩＧＭＰｖ３でネットワークが動作している場合、ＩＧＭＰｖ１，ｖ２と異なり、レポートメッセージは全てのＩＧＭＰｖ３ルータを示すアドレス”２２４．０．０．２２”へ送信される。この廃止は、ブリッジ／Ｌ２スイッチでのＩＧＭＰ  Ｓｎｏｏｐｉｎｇを考慮して実施された。
【００９４】
第七に、ＩＧＭＰｖ３では、ＩＧＭＰｖ３ルータは、レポートメッセージが到着したインタフェースにアサインされたあらゆるアドレス（ユニキャストあるいはマルチキャスト）を受信し、レポートメッセージか否かを確認できなければならなくなった。
【００９５】
〈マルチキャストルーティングプロトコル〉
図８は、マルチキャストルーティングプロトコルの概要を示す図である。図８を用いてマルチキャストルーティングプロトコルについて説明する。
【００９６】
マルチキャストルーティングプロトコルとは、マルチキャストに対応する複数のルータやレイヤ３スイッチ（複数のマルチキャストルータＭ１）によって構成されるネットワークにおいて、マルチキャストルータＭ１がマルチキャストデータをクライアントＥ２への経路に沿って配信するために、マルチキャストルータＭ１のどのインタフェースへマルチキャストデータをコピーして送信するべきかを決める経路制御（あるいは経路木の構成）のためのプロトコルである。マルチキャストルーティングプロトコルは、マルチキャストルータＭ１間のプロトコルである。
【００９７】
マルチキャストルーティングプロトコルには、ＤＶＭＲＰ（ＭＢｏｎｅで使用，ＲＦＣ１０７５で規定）や、ＰＩＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ：ＲＦＣ２３６２で規定，新たなバージョンがＩＥＴＦで検討中）、ＭＯＳＰＦ（ＯＳＦＰ上でのみ動作可，ＲＦＣ１５８４，１５８５で規定）等がある。このうち、ＰＩＭがデファクトスタンダードになっている。
【００９８】
〈ＲＦＣ１１１２〉
図９は、ＲＦＣ１１１２の概要を示す図である。図９を用いて、ＲＦＣ１１１２について説明する。ＲＦＣ１１１２では、クラスＤのＩＰアドレスと物理アドレスとのマッピングや、特定のクラスＤの物理アドレスのパケットのみを受信し上位層へ上げるフィルタリング機能等が規定されている。ＲＦＣ１１１２の機能が実施されるためには、ルータ、クライアント共に、ＲＦＣ１１１２が実装される必要がある。
【００９９】
クラスＤのＩＰアドレスと物理アドレスとの対応付けは、クラスＤのＩＰアドレスの下位２３ビットをマルチキャスト物理アドレス”０１：００：５Ｅ：００：００：００”（１６進数）の下位２３ビットに入れると規定されている（ＲＦＣ１７００参照）。例えば、”２３９．１３３．１３０．３４”は、”０１：００：５Ｅ：０５：８２：２２”となる。
【０１００】
〈ＩＰｖ６でのマルチキャスト〉
次に、ＩＰｖ６環境でのマルチキャストについて説明する。ＩＰｖ６におけるＩＧＭＰｖ３に相当するプロトコルは、ＭＬＤｖ２であり、ＩＥＴＦで検討中である。ＩＧＭＰとＭＬＤの主な差異は以下の点である。第一に、ＭＬＤｖ２では、ＩＰｖ４ヘッダでＩＧＭＰを示すことはなく、ＩＣＭＰｖ６メッセージタイプ（Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｑｕｅｒｙ：Ｔｙｐｅ  ＝  ｄｅｃｉｍａｌ  １３０、ＭＬＤ  Ｖｅｒｓｉｏｎ  ２  Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｒｅｐｏｒｔ：Ｔｙｐｅ  ＝  ｄｅｃｉｍａｌ  １３１、ＭＬＤ  Ｖｅｒｓｉｏｎ  ２  Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｏｎｅ：Ｔｙｐｅ  ＝  ｄｅｃｉｍａｌ  １３２  ）を使用する。
【０１０１】
第二に、ＭＬＤｖ２では、マルチキャストＭＡＣアドレスは、１２８ビットＩＰｖ６アドレスの下位３２ビットを４８ビットのＭＡＣアドレス”３３：３３：ｘｘ：ｘｘ：ｘｘ：ｘｘ”へマッピングし生成する。
【０１０２】
従って、上記のようなＩＰｖ４とＩＰｖ６マルチキャストの差異を上記に従って認識・区別可能であり、またＩＧＭＰｖ３及びＭＬＤｖ２の動作に関しては大きな差分はない。また、ＩＰｖ６に対応可能なＰＩＭのようなマルチキャストルーティングプロトコルも存在する。
【０１０３】
〔原理〕
〈システム構成〉
次に、図を用いて本発明の転送装置の原理について説明する。図１０は、本発明の転送装置が使用された転送システム１を示す図である。転送システム１は、転送装置２，サーバ３，レイヤ２スイッチ４（４ａ，４ｂ），クライアント５（５ａ，５ｂ），及びマルチキャスト対応ネットワーク６を用いて構成される。
【０１０４】
まず、転送装置２以外の構成について説明する。サーバ３は、パーソナルコンピュータやワークステーション等の情報処理装置を用いて構成され、クライアント５に対してマルチキャストデータを送信する。
【０１０５】
レイヤ２スイッチ４は、複数のクライアント５を収容する。ここでは、レイヤ２スイッチ４ａはマルチキャストデータを受信しないクライアント５ａを収容し、レイヤ２スイッチ４ｂはマルチキャストデータを受信するクライアント５ｂを収容する。
【０１０６】
クライアント５は、パーソナルコンピュータやワークステーション等の情報処理装置を用いて構成される。ここでは、クライアント５ａはサーバ３からマルチキャストデータを受信せず、クライアント５ｂはサーバ３からマルチキャストデータを受信するように設定される。このため、クライアント５ｂは、転送装置２に対し、マルチキャスト制御パケットを送信する。即ち、転送装置２，レイヤ２スイッチ４ｂ，クライアント５ｂの間では、マルチキャスト制御パケットが送受信される。マルチキャスト制御パケットとは、クライアント５ｂが、マルチキャストデータの受信を望むことあるいは受信を中止すること等を転送装置２へ通知するためのデータである。このようなマルチキャスト制御パケットの例として、ＩＧＭＰｖ３メッセージがある。
【０１０７】
マルチキャスト対応ネットワーク６は、マルチキャストに対応するルータやレイヤ３スイッチを用いて構成されるネットワークである。
【０１０８】
図１１は、転送装置２の原理を示すブロック図である。次に、図１１を用いて転送装置２について説明する。転送装置２は、クライアント５ｂからマルチキャスト制御パケットを受信しその内容を記憶することにより、マルチキャストパケットを転送すべきクライアント５を判別する。そして、転送装置２は、サーバ３からマルチキャストパケットを受信すると、各クライアント５ｂに対してユニキャストとして、受信されたマルチキャストパケットの内容を転送する。転送装置２は、このような処理を実行するため、送受信インタフェース７（７ａ，７ｂ），マルチキャストパケット処理部８，及び転送処理部１３を用いて構成される。
【０１０９】
送受信インタフェース７は、ネットワークを介して他の装置とデータの送受信を行う。送受信インタフェース７ａは、ネットワークを介してレイヤ２スイッチ４やクライアント５とデータの送受信を行う。ここでは、送受信インタフェース７ａは、レイヤ２スイッチ４を介してクライアント５とデータの送受信を行う。通常、転送装置２は、送受信インタフェース７ａを複数備える。送受信インタフェース７ｂは、ネットワーク（マルチキャスト対応ネットワーク６）を介してサーバ３とデータの送受信を行う。
【０１１０】
マルチキャストパケット処理部８は、送受信インタフェース７ａ及び送受信インタフェース７ｂ毎に備えられる。または、マルチキャストパケット処理部８は、全ての送受信インタフェース７ａ，７ｂについて、一つ備えられる。図１１では、便宜上、一つのマルチキャストパケット処理部８が描かれている。マルチキャストパケット処理部８は、対応する送受信インタフェース７ａを管理する。マルチキャストパケット処理部８は、自身が管理する送受信インタフェース７配下のクライアント５の中から、送受信インタフェース７ｂによって受信されたマルチキャストパケットを転送すべきクライアント５を判断する。マルチキャストパケット処理部８は、このような処理を行うために、受信クライアント情報管理テーブル記憶部９，マルチキャスト制御メッセージ判別部１０，マルチキャストパケット判別部１１，及びデータフレーム生成部１２を備える。
【０１１１】
受信クライアント情報管理テーブル記憶部９は、受信クライアント情報管理テーブル９Ａを記憶する。受信クライアント情報管理テーブル９Ａは、転送装置２配下の各クライアント５についての情報を格納する。
【０１１２】
マルチキャスト制御メッセージ判別部１０は、送受信インタフェース７ａによってクライアント５から受信されたパケットが、マルチキャスト制御パケットであるか否かを判別する。マルチキャスト制御メッセージ判別部１０は、受信されたパケットがマルチキャスト制御パケットである場合、このパケットの内容を受信クライアント情報管理テーブル９Ａに反映させる。このとき、マルチキャスト制御メッセージ判別部１０は、このパケットを転送処理部１３へ渡す。一方、受信されたパケットがマルチキャスト制御パケットでない場合、マルチキャスト制御メッセージ判別部１０は、このパケットを転送処理部１３へ渡す。
【０１１３】
マルチキャストパケット判別部１１は、転送処理部１３から受け取られたパケットが、マルチキャストパケットであるか否かを判別する。マルチキャストパケット判別部１１は、このパケットがマルチキャストパケットである場合、このパケットをデータフレーム生成部１２へ渡す。一方、マルチキャスト判別部１１は、このパケットがマルチキャストパケットでない場合、このパケットを送受信インタフェース７ａを介して送出する。
【０１１４】
データフレーム生成部１２は、マルチキャストパケット判別部１１から受け取られたマルチキャストパケットを基に、送受信インタフェース７ａ配下のクライアント５（５ｂ）へ送信されるべきユニキャストパケット（クライアント５（５ｂ）へ送信されるべきマルチキャストフレーム）を生成する。
【０１１５】
転送処理部１３は、通常のルータが備えるルーティング処理やマルチキャストルーティング処理などを行う。このため、転送処理部１３は、ルーティングテーブル１４Ａを記憶するルーティングテーブル記憶部１４と、マルチキャストルーティング処理を実行するマルチキャスト処理部１５とを備える。
【０１１６】
〈動作例〉
次に、転送装置２の動作例を説明する。送受信インタフェース７ａがマルチキャスト制御パケットを受信すると、マルチキャスト制御メッセージ判別部１０は、受信されたパケットがマルチキャスト制御メッセージであるか否かを判別（検査）する。マルチキャスト制御メッセージ判別部１０は、受信されたパケットがマルチキャスト制御パケットである場合、このパケットの内容を受信クライアント情報管理テーブル９Ａに反映させる。また、マルチキャスト制御メッセージ判別部１０は、このパケットを転送処理部１３へ渡す。そして、転送処理部１３は、通常のマルチキャストデータの転送制御情報として受け取ったマルチキャスト制御パケットの内容を、ルーティングテーブル１４Ａ及びマルチキャスト処理部１５に反映させる。
【０１１７】
一方、マルチキャスト制御メッセージ判別部１０は、受信されたパケットがマルチキャスト制御パケットでない場合、このパケットを転送処理部１３へ渡す。そして、転送処理部１３は、このパケットについて転送処理を実行する。
【０１１８】
送受信インタフェース７ｂがマルチキャストパケットを受信すると、転送処理部１３は、受信されたマルチキャストデータをどの送受信インタフェース７ａから送出すべきかを判別する。そして、転送処理部１３は、判別された送受信インタフェース７ａを管理するマルチキャストパケット処理部８へ、受信されたマルチキャストパケットを渡す。
【０１１９】
転送処理部１３からマルチキャストパケット処理部８へ渡されたマルチキャストパケットは、マルチキャストパケット判別部１１によって処理される。マルチキャストパケット判別部１１は、受信クライアント管理テーブル９Ａを参照し、受信されたマルチキャストパケットを転送すべきクライアント５ｂの存在の有無を確認する。このようなクライアント５ｂが存在する場合、マルチキャストパケット判別部１１は、受信されたマルチキャストパケットをデータフレーム生成部１２へ渡す。
【０１２０】
データフレーム生成部１２は、受信されたマルチキャストパケットを、クライアント５ｂ宛のユニキャストパケットに変換し、送受信インタフェース７ａを介してクライアント５ｂへ転送する。このとき、データフレーム生成部１２は、必要に応じてユニキャストパケットを複数生成する。例えば、受信されたマルチキャストパケットを転送すべきクライアント５ｂが複数存在する場合、ユニキャストパケットは複数生成される。
【０１２１】
一方、このようなクライアント５ｂが存在しない場合、マルチキャストパケット判別部１１は、受信されたマルチキャストパケットを、送受信インタフェース７ａを介して他の装置へ転送する。このような他の装置とは、例えば自装置２に接続される、転送装置２や、マルチキャスト対応ルータ等がある。
【０１２２】
〔実施形態概要〕
次に、図を用いて本発明の実施形態における転送装置、即ちマルチキャストルータ１６について説明する。なお、本実施形態の説明は例示であり、本発明の構成は以下の説明に限定されない。また、以下の説明では、ＩＰｖ４とＩＧＭＰｖ３とが適用されるネットワークを例として説明する。ＩＰｖ６が適用される場合には、ＩＧＭＰｖ３の代わりにＭＤＬｖ２を適用するなど、上記したＩＰｖ４におけるマルチキャストとＩＰｖ６におけるマルチキャストとの差分を考慮することにより、同様の手順で本発明を実施することが可能である。
【０１２３】
図１２は、マルチキャストルータ１６を用いたマルチキャストシステム１７のネットワーク構成を示す図である。マルチキャストシステム１７は、サーバ３，マルチキャスト対応ネットワーク６，マルチキャストルータ１６，レイヤ２スイッチ４，及び複数のクライアント５を用いて構成される。
【０１２４】
まず、マルチキャストルータ１６以外の構成について説明する。サーバ３，マルチキャスト対応ネットワーク６，レイヤ２スイッチ４，及びクライアント５の基本的な構成は、原理において説明した通りである。
【０１２５】
図１３は、マルチキャストルータ１６の構成を示すブロック図である。図１３を用いてマルチキャストルータ１６の構成について説明する。マルチキャストルータ１６は、ハードウェア的には、バスを介して接続されたＣＰＵ，主記憶（ＲＡＭ），補助記憶装置（フラッシュメモリ）等を備えている。マルチキャストルータ１６は、補助記憶装置に記憶された各種のプログラム（ＯＳ，アプリケーション等）が主記憶にロードされＣＰＵにより実行されることによって、マルチキャストパケット処理部１８（１８ａ，１８ｂ，１８ｃ），転送制御部１９，送受信インタフェース２１（２１ａ，２１ｂ，２１ｃ）等を含む装置として機能する。
【０１２６】
図１４は、マルチキャストパケット処理部１８の構成を示すブロック図である。図１４を用いてマルチキャストパケット処理部１８について説明する。マルチキャストパケット処理部１８は、タイマ２３，受信クライアント情報管理テーブル記憶部２４，マルチキャスト制御メッセージ判別部２５，マルチキャストパケット判別部２６，及びデータフレーム生成部２７を用いて構成される。
【０１２７】
タイマ２３は、計時装置やＣＰＵやＲＡＭ等を用いて構成される。タイマ２３は、自身が備えられるマルチキャストパケット処理部１８に対応する送受信インタフェース２１を介してクエリメッセージが送出されると、計時を開始する。タイマ２３は、受信クライアント情報管理テーブル２４Ａの各エントリについて、計時を行う。そして、タイマ２３は、このクエリメッセージに対するレポートメッセージが、一定時間内にこの送受信インタフェース２１を介して受信されるか否かを判断する。即ち、タイマ２３は、受信クライアント情報管理テーブル２４Ａの各エントリについて、一定時間内にレポートメッセージが受信されるか否かを判断する。タイマ２３は、受信クライアント情報管理テーブル２４Ａのあるエントリについてレポートメッセージが受信されると、このエントリについての計時をリセット（計時の値を０とすること）する。
【０１２８】
例えば、タイマ２３は、クエリメッセージの送信間隔の３倍の時間が設定される。この場合、タイマ２３は、クエリメッセージが３回送信される間にレポートメッセージが受信されない場合に、タイムアウトとなる。クエリメッセージの送信間隔が１２５秒である場合、タイマ２３には、３７５秒が設定される。
【０１２９】
タイマ２３は、タイムアウトとなった場合、このエントリに対応するクライアント５がなんらかの原因によってマルチキャストデータを既に受信していないと判断する。このため、タイマ２３は、タイムアウトとなったエントリに対応するクライアント５に関する情報を、受信クライアント管理テーブル２４Ａから削除する。即ち、タイマ２３は、タイムアウトとなったエントリに対応するクライアント５に関するエントリを、受信クライアント管理テーブル２４Ａから削除する。よって、タイマ２３がタイムアウトとなった場合、このエントリに対応するクライアント５へのマルチキャストデータの転送が停止される。
【０１３０】
タイマ２３の処理は、ＩＰｖ６環境におけるＭＬＤｖ２の場合であっても、同様に実施される。
【０１３１】
受信クライアント情報管理テーブル記憶部２４は、ハードディスクやフラッシュメモリ等の不揮発性記憶装置を用いて構成される。受信クライアント情報管理テーブル記憶部２４は、受信クライアント情報管理テーブル２４Ａを記憶する。
【０１３２】
図１５は、受信クライアント情報管理テーブル２４Ａの例を示す図である。図１５を用いて、受信クライアント情報管理テーブル２４Ａについて説明する。
【０１３３】
受信クライアント情報管理テーブル２４Ａは、各クライアント５がどのマルチキャストデータを受信したいかを判断するために必要となる情報を管理する。受信クライアント情報管理テーブル２４Ａは、各クライアント５から送出され自身が対応する送受信インタフェース２１を介して受信されるレポートメッセージに含まれる情報を基に作成・更新される。受信クライアント情報管理テーブル２４Ａは、ローカルなインタフェース情報であるため、ＭＡＣアドレスも格納される。
【０１３４】
受信クライアント情報管理テーブル２４Ａは、エントリナンバー，クライアントアドレス（Ｃｌｉｅｎｔ  Ａｄｄｒｅｓｓ），クライアントＭＡＣアドレス（Ｃｌｉｅｎｔ  ＭＡＣ  Ａｄｄｒｅｓｓ），マルチキャストアドレス（Ｍｕｌｔｉｃａｓｔ  Ａｄｄｒｅｓｓ），ソースアドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ），フィルタモード（Ｆｉｌｔｅｒ  Ｍｏｄｅ）を項目とするエントリを持つ。
【０１３５】
エントリナンバーは、各エントリに割り当てられる重複しない数字である。図１５に示される受信クライアント情報管理テーブル２４Ａでは、クライアントアドレス毎に一つのエントリナンバーが与えられる。即ち、図１５に示される受信クライアント情報管理テーブル２４Ａでは、一つのクライアントアドレスに対して、複数の（１以上の）マルチキャストアドレス，ソースアドレス，フィルタモードが与えられる。
【０１３６】
クライアントアドレスは、受信クライアント情報管理テーブル記憶部２４が備えられるマルチキャストパケット処理部１８に対応する送受信インタフェース２１配下に位置するクライアント５のＩＰアドレスを示す。
【０１３７】
クライアントＭＡＣアドレスは、同じエントリのクライアントアドレスに対応するＭＡＣアドレスを示す。即ち、クライアントＭＡＣアドレスは、同じエントリのクライアントアドレスを有するクライアント５のＭＡＣアドレスを示す。
【０１３８】
マルチキャストアドレスは、同じエントリのクライアントアドレスを有するクライアント５が受信を希望するマルチキャストデータのマルチキャストアドレスを示す。マルチキャストアドレスは、一つのエントリに複数保持される場合がある（例：図１５におけるエントリナンバー１）。
【０１３９】
ソースアドレスは、対応するマルチキャストアドレスについてのマルチキャストデータの送信元となるサーバ３のアドレス（ＩＰアドレス）を示す。マルチキャストルータ１６は、ＩＧＭＰｖ３に対応する。このため、ソースアドレスは、一つのマルチキャストアドレスに対して複数保持される場合がある（例：図１５におけるエントリナンバー１）。
【０１４０】
フィルタモードは、対応するマルチキャストアドレスについてのフィルタモードを示す。フィルタモードは、”ＩＮＣＬＵＤＥ”と”ＥＸＣＬＵＤＥ”とのいずれかの値を持つ。
【０１４１】
ここで、マルチキャストアドレス”２３８．０．０．１２３”を例として、受信クライアント情報管理テーブル２４Ａについて説明する。図１５に示される受信クライアント情報管理テーブル２４Ａは、以下の情報を持つ。
【０１４２】
”６１．１４３．２２１．２”がソースアドレスであるマルチキャストデータは、”２１０．２３．１７１．ａａ”をアドレスとするクライアント５と”２１０．２３．１７１．ｆｆ”をアドレスとするクライアント５とが受信を希望している。”６１．１４３．２２１．３”がソースアドレスであるマルチキャストデータは、”２１０．２３．１７１．ａａ”をアドレスとするクライアント５と”２１０．２３．１７１．ｄｄ”をアドレスとするクライアント５と”２１０．２３．１７１．ｆｆ”をアドレスとするクライアント５とが受信を希望している。”６１．１４３．２２１．４”がソースアドレスであるマルチキャストデータは、”２１０．２３．１７１．ａａ”をアドレスとするクライアント５と”２１０．２３．１７１．ｄｄ”をアドレスとするクライアント５とが受信を希望している。”６１．１４３．２２１．５”がソースアドレスであるマルチキャストデータは、”２１０．２３．１７１．ｆｆ”をアドレスとするクライアント５が受信を希望している。そして、上記以外のソースアドレスであるマルチキャストデータは、”２１０．２３．１７１．ｄｄ”をアドレスとするクライアント５が受信を希望している。また、エントリナンバー１のエントリにおけるクライアント５は、マルチキャストアドレス”２３８．０．０．１２３”宛のマルチキャストデータを、ソースアドレスが”６１．１４３．２２１．２”，”６１．１４３．２２１．３”，”６１．１４３．２２１．４”であるサーバ３から送信された場合にのみ受信する。
【０１４３】
マルチキャスト制御メッセージ判別部２５は、ＣＰＵやＲＡＭ等を用いて構成される。マルチキャスト制御メッセージ判別部２５は、自身が備えられるマルチキャストパケット処理部１８に対応する送受信インタフェース２１を介して受信されたパケットが、マルチキャスト制御パケットであるか否かを判別する。即ち、マルチキャスト制御メッセージ判別部２５は、対応する送受信インタフェース２１を介して受信されたパケットが、マルチキャスト制御メッセージ（クライアント５が自発的に送信するＩＧＭＰレポートやリーブメッセージ，レポートメッセージなど）を含むパケットであるか否かを判別する。マルチキャスト制御メッセージ判別部２５は、受信されたパケットがマルチキャスト制御パケットである場合、対応する送受信インタフェース２１配下に、マルチキャストデータの受信を希望するクライアント５が存在することを認識する。マルチキャスト制御メッセージ判別部２５は、受信されたパケットがマルチキャスト制御パケットである場合、このパケットの内容を受信クライアント情報管理テーブル２４Ａに反映させる（パケットの内容に応じて受信クライアント情報管理テーブル２４Ａの内容を更新あるいは変更する）。このとき、マルチキャスト制御メッセージ判別部２５は、このパケットを転送制御部１９へも渡す。一方、受信されたパケットがマルチキャスト制御パケットでない場合、マルチキャスト制御メッセージ判別部２５は、このパケットを転送制御部１９へ渡す。
【０１４４】
マルチキャスト制御メッセージ判別部２５は、例えばレポートメッセージ（ＩＧＭＰ  Ｒｅｐｏｒｔ）を含むパケットをマルチキャスト制御パケットであると判断し、処理を実行する。ここで、レポートメッセージについて説明する。
【０１４５】
レポートメッセージは、ＩＧＭＰメッセージ又はＭＬＤｖ２メッセージによる制御メッセージである。図１６，１７は、ＩＧＭＰメッセージを含むパケット，ＭＬＤｖ２メッセージを含むパケットのフォーマットを示す図である。図１６，１７では、データリンク層がイーサネットであると仮定している。ＩＧＭＰメッセージは、ＩＰパケットのデータグラムとして、ＩＰパケットに保持される。ＭＬＤｖ２メッセージも同様に、ＩＰパケットのデータグラムとしてＩＰパケットに保持される。
【０１４６】
レポートメッセージは、ＩＰアドレスが”２２４．０．０．２２”であり、ＭＡＣアドレスが”０１：００：５Ｅ：００：００：１６”であり、ＩＰヘッダ内のプロトコル番号がＩＧＭＰを示す”２”であり、ＩＧＭＰメッセージのタイプ値が”０ｘ２２”である。図１８，１９は、ＩＰｖ４，ＩＰｖ６のパケットのヘッダフォーマットを示す図である。図１８におけるＰｒｏｔｏｃｏｌ  ＩＤの値が”２”である場合に、このパケットがＩＧＭＰメッセージを含むパケットであると判別される。このため、これらの情報を基に、マルチキャスト制御メッセージ判別部２５は、受信されたパケットが、ＩＧＭＰメッセージを含むか否か、さらにはレポートメッセージを含むか否かを判別する。
【０１４７】
図２０，２１は、ＩＧＭＰｖ３，ＭＬＤｖ２におけるレポートメッセージのフォーマットを示す図である。レポートメッセージは、このレポートメッセージの送信元であるクライアント５が受信を希望するマルチキャストデータのマルチキャストアドレス（グループアドレス：Ｍｕｌｔｉｃａｓｔ  Ａｄｄｒｅｓｓ）と、受信を希望するマルチキャストデータの送信元となるサーバ３のアドレス（ソースアドレス：Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）のリスト（ソースリスト）と、フィルタモードとを含む。
【０１４８】
例えば、「マルチキャストアドレス”２３８．０．１．１２”のマルチキャストデータをソース”１６２．２２．３６．５”と”１６２．２２．３６．６”とから受信する」ことを意味するレポートメッセージは、マルチキャストアドレスは”２３８．０．１．１２”、ソースアドレスは”１６２．２２．３６．５”と”１６２．２２．３６．６”、フィルタモードは”ＩＮＣＬＵＤＥ”となる。
【０１４９】
また、例えば、「マルチキャストアドレス”２３８．０．１．１２”のマルチキャストデータをソース”１６２．２２．３６．５”，”１６２．２２．３６．６”以外から受信する」ことを意味するレポートメッセージは、マルチキャストアドレスは”２３８．０．１．１２”、ソースアドレスは”１６２．２２．３６．５”と”１６２．２２．３６．６”、フィルタモードは”ＥＸＣＬＵＤＥ”となる。クライアント５は、単一のレポートメッセージにおいて、複数のマルチキャストアドレスを指定でき、さらにそれぞれのマルチキャストアドレスに対するソースアドレスのリストとフィルタモードとを指定できる。
【０１５０】
レポートメッセージについての説明を終え、マルチキャスト制御メッセージ判別部２５の説明に戻る。次に、マルチキャスト制御メッセージ判別部２５が実行する、エントリの追加処理について説明する。マルチキャスト制御メッセージ判別部２５は、受信クライアント情報管理テーブル２４Ａのエントリとして記録されていない新たなクライアント５からのレポートメッセージを受け取った場合、このレポートメッセージに含まれる情報を基に新たなエントリを生成する。このとき、マルチキャスト制御メッセージ判別部２５は、レポートメッセージを含むパケットの送信元アドレスと、受信クライアント情報管理テーブル２４Ａのクライアントアドレスとを比較することにより、新たなクライアント５を識別する。
【０１５１】
図２２は、受信クライアント情報管理テーブル２４Ａに保持されるエントリの例を示す図である。例えば、図１５に示される受信クライアント情報管理テーブル２４Ａが保持されている状態で、ＩＰアドレスが”２１０．２３．１７１．ｇｇ”であるクライアント５からレポートメッセージが受信された場合、図２２に示される新たなエントリが受信クライアント情報管理テーブル２４Ａに登録される。このとき、このレポートメッセージには、クライアント５のＭＡＣアドレスとして”ｘｘ：ｘｘ：ｘｘ：ｘｘ：４５：６７”，ソースアドレスとして”６１．１４３．２２１．３８”，マルチキャストアドレスとして”２３８．０．２．２２２”，フィルタモードとして”ＩＮＣＬＵＤＥ”が含まれていると仮定する。
【０１５２】
次に、マルチキャスト制御メッセージ判別部２５が実行する、エントリの更新処理について説明する。マルチキャスト制御メッセージ判別部２５は、レポートメッセージの内容と、受信クライアント情報管理テーブル２４Ａにおけるエントリの内容とが異なる場合、エントリの更新処理を行う。
【０１５３】
例えば、アドレスが”２１０．２３．１７１．ａａ”であるクライアント５から、フィルタモードとして”ＥＸＣＬＵＤＥ”，ソースアドレスとして”６１．１４３．２２１．２”，マルチキャストアドレスとして”２３８．０．０．１２３”が指定されたレポートメッセージが受信されたと仮定する。この場合、このレポートメッセージの内容と、受信クライアント情報管理テーブル２４Ａの内容とが異なる。従って、マルチキャスト制御メッセージ判別部２５は、受信クライアント情報管理テーブル２４Ａの内容を更新する。
【０１５４】
図２３は、受信クライアント情報管理テーブル２４Ａに保持されるエントリの例を示す図である。上記のレポートメッセージが受信された場合、マルチキャスト制御メッセージ判別部２５は、図１５に示されるエントリナンバー１の内容を、図２３に示される内容に更新する。この更新の結果、マルチキャストルータ１６は、アドレスが”２１０．２３．１７１．ａａ”であるクライアント５に対し、マルチキャストアドレスが”２３８．０．０．１２３”であるマルチキャストデータであって、ソースアドレスが”６１．１４３．２２１．２”であるサーバ３以外から送出されたマルチキャストデータを転送する。
【０１５５】
また、フィルタモードが”ＩＮＣＬＵＤＥ”であり、ソースアドレスを含まない（エンプティである）レポートメッセージが受信された場合、マルチキャスト制御メッセージ判別部２５は、このレポートメッセージに含まれるマルチキャストアドレスを含む情報をエントリから削除する。即ち、このようなレポートメッセージが受信された場合、マルチキャスト制御メッセージ判別部２５は、このレポートメッセージの送信元であるクライアント５に対し、このレポートメッセージに含まれるマルチキャストアドレスのマルチキャストデータを転送しないようにエントリを更新する。
【０１５６】
例えば、アドレスが”２１０．２３．１７１．ｂｂ”であるクライアント５から、マルチキャストアドレスが”２３８．２２５．１３．３３”であり、ソースアドレスがエンプティであり、フィルタモードが”ＩＮＣＬＵＤＥ”であるレポートメッセージが受信されたと仮定する。この場合、マルチキャスト制御メッセージ判別部２５は、このクライアント５に対し、マルチキャストアドレスが”２３８．２２５．１３．３３”であるマルチキャストデータの転送を停止（中止）すると判断する。即ち、マルチキャスト制御メッセージ判別部２５は、クライアントアドレスが”２１０．２３．１７１．ｂｂ”であるエントリから、マルチキャストアドレスが”２３８．２２５．１３．３３”である情報を削除する。図１５に示される受信クライアント情報管理テーブル２４Ａでは、結果として、エントリナンバー２のエントリが全て削除される。この処理は、ＩＰｖ６環境におけるＭＬＤｖ２においても同様に実行される。
【０１５７】
次に、ＩＰｖ６環境におけるマルチキャスト制御メッセージ判別部２５の動作について説明する。ＩＰｖ６環境におけるＭＬＤｖ２に対応したネットワークでは、マルチキャスト制御メッセージ判別部２５は、ＭＡＣアドレスがマルチキャストＭＡＣアドレスでさらに”３３：３３：００：００：００：２２”であり、ＩＰヘッダ内のネクストヘッダフィールドの値が”５８”であり、ヘッダ内のタイプ値が”１３６（二進数）”であるパケットを、ＭＬＤｖ２におけるレポートメッセージを含むパケットであると判別する。このため、レイヤ２スイッチ４がＭＬＤｖ２  Ｓｎｏｏｐｉｎｇをサポートしていない場合であり、かつマルチキャストルータ１６配下のサブネットワークにおいてＭＬＤｖ２が適用される環境であっても、マルチキャストデータを必要とするクライアント５のみにマルチキャストデータを転送することが可能となる。
【０１５８】
マルチキャストパケット判別部２６は、ＣＰＵやＲＡＭ等を用いて構成される。マルチキャストパケット判別部２６は、転送制御部１９から受け取られたパケットが、マルチキャストパケットであるか否かを判別する。マルチキャストパケット判別部２６は、このパケットがマルチキャストパケットである場合、このパケットをデータフレーム生成部２７へ渡す。
【０１５９】
一方、マルチキャスト判別部２６は、このパケットがマルチキャストパケットでない場合、このパケットを送受信インタフェース２１を介して送出する。このようなパケットの例として、通常のユニキャストデータや、マルチキャストデータのうちマルチキャストルーティングプロトコルのメッセージ等がある。
【０１６０】
データフレーム生成部２７は、ＣＰＵやＲＡＭ等を用いて構成される。データフレーム生成部２７は、マルチキャストパケット判別部２６によってマルチキャストパケットであると判別されたパケットを、マルチキャストパケット判別部２６から受け取る。データフレーム生成部２７は、受け取られたマルチキャストパケットのマルチキャストアドレス及びソースアドレス（送信元のサーバ３のアドレス）を参照する。データフレーム生成部２７は、参照結果のマルチキャストアドレス及びソースアドレスに該当するエントリを、受信クライアント情報管理テーブル２４Ａから読み出す。データフレーム生成部２７は、受け取られたマルチキャストパケットを変更・コピーすることにより、読み出されたエントリのクライアントアドレス（クライアントＭＡＣアドレス）宛のユニキャストパケットを生成する。このとき、データフレーム生成部２７は、受け取られたマルチキャストパケットにおける宛先ＭＡＣアドレスを、マルチキャストＭＡＣアドレスから、読み出されたエントリに含まれるクライアントＭＡＣアドレスに変更する。そして、データフレーム生成部２７は、生成されたユニキャストパケットを、送受信インタフェース２１を介して送出する。
【０１６１】
図２４は、データフレーム生成部２７の動作例を示すフローチャートである。図２４を用いて、データフレーム生成部２７の動作について説明する。
【０１６２】
例えば、アドレスが”６１．１４３．２２１．２”であるサーバ３から送信されたマルチキャストデータ（マルチキャストアドレスは”２３８．０．０．１２３”）が、マルチキャストルータ１６によって受信された場合、データフレーム生成部２７はマルチキャストパケット判別部２６からこのマルチキャストデータを受け取る（Ｓ０１）。
【０１６３】
データフレーム生成部２７は、受け取られたマルチキャストデータに関するエントリが、受信クライアント情報管理テーブル２４Ａにあるか否かを判断する。即ち、データフレーム生成部２７は、このマルチキャストデータのマルチキャストアドレス及びソースアドレス（フィルタモードが”ＩＮＣＬＵＤＥ”である場合は該当するソースアドレスを含むエントリ、フィルタモードが”ＥＸＣＬＵＤＥ”である場合は該当するソースアドレスを含まないエントリ）について、受信クライアント情報管理テーブル２４Ａを検索する（Ｓ０２）。
【０１６４】
受け取られたマルチキャストデータに関するエントリが受信クライアント情報管理テーブル２４Ａに無い場合（Ｓ０３−ＮＯ）、データフレーム生成部２７は、このマルチキャストデータをそのままの状態で（即ちオリジナルのマルチキャストデータを）、送受信インタフェース２１を介して送出し、処理を終了する（Ｓ０４）。
【０１６５】
一方、受け取られたマルチキャストデータに関するエントリが受信クライアント情報管理テーブル２４Ａに有る場合（Ｓ０３−ＹＥＳ）、データフレーム生成部２７は、このマルチキャストデータの受信を要求している各クライアント５に対し、このマルチキャストデータをユニキャスト送信する（Ｓ０５）。
【０１６６】
上記した例では、受信されたマルチキャストデータのマルチキャストアドレス”２３８．０．０．１２３”は、受信クライアント情報管理テーブル２４Ａのエントリナンバー１，４にある。そして、フィルタモード及びソースアドレスが考慮されると、結果として、エントリナンバー１に該当するクライアント５に対して、受信されたマルチキャストデータが転送されるべきと、データフレーム生成部２７は判断する。このため、受信されたマルチキャストデータは、エントリナンバー１に該当するクライアント５に対して、ユニキャスト送信される。
【０１６７】
具体的には、データフレーム生成部２７は、該当するこのエントリを確認すると、このエントリに含まれるクライアントＭＡＣアドレスを読み出す。即ち、図１５においては、データフレーム生成部２７は、”ｘｘ：ｘｘ：ｘｘ：ｘｘ：１２：３４”を読み出す。次に、データフレーム生成部２７は、受信されたマルチキャストデータの送信先ＭＡＣアドレスに対し、読み出されたクライアントＭＡＣアドレスを付与しユニキャストデータを生成する。このとき、データフレーム生成部２７は、複数のクライアントＭＡＣアドレスを読み出した場合、受信されたマルチキャストデータをコピーすることにより、読み出されたクライアントＭＡＣアドレスと同数のユニキャストデータを生成する。上記した例では、一つのクライアントＭＡＣアドレスが読み出されるため、データフレーム生成部２７は、マルチキャストデータを一つコピーし、ＭＡＣアドレスの変更を実行することによりユニキャストデータを生成する。データフレーム生成部２７は、生成されたユニキャストデータを、送受信インタフェース２１を介して送出する。そして、データフレーム生成部２７は、このマルチキャストデータをそのままの状態で（即ちオリジナルのマルチキャストデータを）、送受信インタフェース２１を介して送出し、処理を終了する（Ｓ０６）。
【０１６８】
上述したように、データフレーム生成部２７は、ユニキャストデータの転送処理を実行するか否かに関わらず、オリジナルのマルチキャストデータを送信する。図２５は、オリジナルのマルチキャストデータの送信処理の作用を説明するための図である。図２５では、マルチキャストルータ１６ｂは、レイヤ２スイッチ４を介して、上流に位置するマルチキャストルータ１６ａに接続される。このように接続されたマルチキャストルータ１６ｂは、配下に接続されるクライアント５ｂに対して正しくマルチキャストデータを配信するため、オリジナルのマルチキャストデータを必要とする。このため、マルチキャストルータ１６ａのデータフレーム生成部２７は、ユニキャストデータの転送処理を実行するか否かに関わらず、オリジナルのマルチキャストデータを送信する。通常、レイヤ２スイッチ４は、あるポートから入力されたマルチキャストパケットをマルチキャストルータが接続されるポート（例えば、マルチキャストルータ１６ｂが接続されるポート）、あるいはその方向のポートを介して送出する。このため、他のマルチキャストルータ（マルチキャストルータ１６ｂ）に対し、オリジナルのマルチキャストデータが伝達される。
【０１６９】
送受信インタフェース２１は、ネットワークを介して他の装置とデータの送受信を行う。送受信インタフェース２１ａは、ネットワーク（マルチキャスト対応ネットワーク６）を介してサーバ３とデータの送受信を行う。送受信インタフェース２１ｂ，２１ｃは、サブネットワークやレイヤ２スイッチ４を介してクライアント５や、他のマルチキャストルータ１６とデータの送受信を行う。
【０１７０】
転送制御部１９は、通常のルータが備えるルーティング処理やマルチキャストルーティング処理などを行う。このため、転送処理部１９は、ルーティングデーブル２０Ａを記憶するルーティングテーブル記憶部２０と、マルチキャストルーティング処理を実行するマルチキャスト処理部２２とを備える。
【０１７１】
〔作用／効果〕
本発明によるマルチキャストルータ１６によれば、受信クライアント情報管理テーブル２４Ａが、ＩＧＭＰｖ３メッセージに基づいて、各クライアント５についてのマルチキャストデータの受信設定を保持する。そして、データフレーム生成部２７が、受信クライアント情報管理テーブル２４Ａの内容に基づいて、受信されたマルチキャストデータを、ユニキャストデータとして、このマルチキャストデータを受信するように設定されているクライアント５に対してユニキャスト送信する。
【０１７２】
このため、マルチキャストルータ１６とクライアント５との間に設置されるレイヤ２スイッチ４は、マルチキャストルータ１６から送信されたユニキャストデータを、レイヤ２の情報に基づいて転送することが可能となる。即ち、レイヤ２スイッチ４は、レイヤ３レベルの処理が要求されるＩＧＭＰｖ３に基づいて処理を行う必要がなくなる。従って、レイヤ２スイッチ４は、転送能力の低下を招くＩＧＭＰｖ３対応Ｓｎｏｏｐｉｎｇを実装される必要が無くなる。よって、ＩＧＭＰｖ３対応Ｓｎｏｏｐｉｎｇの実装によるコストを削減することや、転送能力の低下を防止することが可能となる。
【０１７３】
言い換えれば、マルチキャストルータ１６の下流に存するレイヤ２スイッチ４が、レイヤ２に基づくスイッチング動作によって、このレイヤ２スイッチ４が収容している１以上のクライアント５のうち、マルチキャストデータの受信を所望するクライアント５のみにマルチキャストデータを転送することが可能となる。
【０１７４】
また、データフレーム生成部２７は、マルチキャストデータをユニキャストデータとして転送するか否かに関わらず、必ずオリジナルのマルチキャストデータを転送する。このため、自装置１６配下に設置される他のマルチキャストルータ１６に対して、オリジナルのマルチキャストデータを転送することが可能となる。従って、他のマルチキャストルータ１６は、オリジナルのマルチキャストデータに基づいて、自装置１６の配下に設置される複数のクライアント５それぞれに対して、ユニキャストデータを正しく転送することが可能となる。
【０１７５】
また、タイマ２３は、タイムアウトとなったエントリに対応するクライアント５に関するエントリを、受信クライアント管理テーブル２４Ａから削除する。このため、クライアント５が問題の発生（例：突然の電源断，ＯＳのハングアップ）によりマルチキャストデータの受信をできなくなった場合、このクライアント５へのマルチキャストデータの転送が停止される。従って、ネットワーク帯域の浪費を防止することが可能となる。即ち、無駄なマルチキャストデータの転送処理の実行を防止することが可能となる。
【０１７６】
〔変形例〕
送受信インタフェース２１は、クライアント側に二つ備えられているが（送受信インタフェース２１ｂ，２１ｃ）、二つに限らず三つ以上又は一つのみが備えられるように構成されても良い。
【０１７７】
また、マルチキャストパケット処理部１８は、送受信インタフェース２１毎に備えられているが、全ての送受信インタフェースを管理する一つのマルチキャストパケット処理部１８が備えられるように構成されても良い。
【０１７８】
また、データフレーム生成部２７は、どのような判断手順によってクライアントＭＡＣアドレスを読み出すように構成されても良い。
【０１７９】
また、マルチキャスト制御メッセージ判別部２５は、ＩＧＭＰｖ１又はＩＧＭＰｖ２に対応するレポートメッセージやクエリメッセージを受信した場合に、受信クライアント情報管理テーブル２４Ａを、ＩＧＭＰｖ１又はＩＧＭＰｖ２に対応するように変換するように構成されても良い。そして、データフレーム生成部２７は、変換された受信クライアント情報管理テーブル２４Ａを参照して、マルチキャストデータに対応するユニキャストデータを生成、送信する。即ち、この場合、データフレーム生成部２７を含むマルチキャストパケット処理部１８は、ＩＧＭＰｖ１又はＩＧＭＰｖ２に対応して動作する。
【０１８０】
マルチキャストルータ１６は、本発明による転送装置の構成が、ＩＰレベルの中継処理を行う一般的なマルチキャストルータやレイヤ３スイッチに実装されることにより構成される。しかし、本発明による転送装置の構成が、専用装置として実装されても良い。
【０１８１】
図２６は、本発明による転送装置の構成が専用装置２９として実装された場合のネットワークの構成例を示す図である。このネットワークは、配信センタ２８，専用装置２９，ＥＰＯＮ（Ｅｔｈｅｒｎｅｔ  Ｐａｓｓｉｖｅ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋ）３２，カプラ３３，ユーザ宅３６を用いて構成される。配信センタ２８内には、コンテンツサーバ３１が設置される。また、ユーザ宅３６内には、メディアコンバータ３４とクライアント３５とが設置される。また、専用装置２９は、マルチキャスト対応ネットワーク３０に接続されるルータ３７とクライアント３５との間に設置される。
【０１８２】
専用装置２９は、ルータ３７とクライアント３５とから送信されるＩＧＭＰメッセージを参照し、受信クライアント情報管理テーブル２４Ａ（図１５参照）を生成する。また、専用装置２９は、ルータ３７から送信されるマルチキャストデータを受信し、受信クライアント情報管理テーブル２４Ａに基づいて、データフレーム生成部２７によって、ユニキャストデータを生成しクライアント３５へ送信する。
【０１８３】
このように専用装置２９を設置することにより、本発明による転送装置が実装された新たなマルチキャストルータ１６を設置する必要がなくなり、ルータ３７等の既存設備を活用することが可能となる。例えば、ルータ３７がＩＧＭＰｖ３に対応していない場合であっても、ソフトウェアのアップグレード等により、ＩＧＭＰｖ３に対応させることが可能である。このため、ＩＧＭＰｖ１やＩＧＭＰｖ２にのみ対応していたネットワークについても、専用装置２９の設置とソフトウェアのアップグレード等により、ＩＧＭＰｖ３に対応したネットワークを構成することが可能となり、このようなネットワーク構成に費やすコストの削減が可能となる。
【０１８４】
また、ＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）では、ＥＰＯＮ３２の性質上、ＩＧＭＰ  Ｓｎｏｏｐｉｎｇの機能は、メディアコンバータ３４に実装されなければならない。しかし、通常は、小型でＣＰＵ等も備えないメディアコンバータ３４に対して、本発明による転送装置を実装することは困難である。このような場合に、専用装置２９が図２６に示されるように設置されることにより、他のシステムには影響を与えることなく、ＩＧＭＰｖ３によるマルチキャストが可能となる。
【０１８５】
〔適用例〕
本発明による転送装置（転送装置が実装されたマルチキャストルータ１６や専用装置２９など）は、コンテンツ配信システムに適用されることにより、新たな効果を奏する。図２７は、マルチキャストルータ１６が適用されたコンテンツ配信システム３８の概要を示す図である。コンテンツ配信システム３８は、コンテンツ配信ネットワーク（ＣＤＮ：Ｃｏｎｔｅｎｔｓ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｎｅｔｗｏｒｋ）事業者のサーバサイト３９，ＩＳＰの制御センタ４４，ＩＳＰのネットワーク４５，マルチキャストルータ１６，クライアント５，レイヤ２スイッチ４を用いて構成される。サーバサイト３９は、ユーザ管理／認証サーバ４０，課金サーバ４１，マルチキャストコンテンツ配信サーバ４２，及びルータ４３を用いて構成される。また、ＩＳＰのネットワーク４５は、マルチキャストルータ１６を含む。さらに、レイヤ２スイッチ４は、マルチキャストルータ１６を介してＩＳＰのネットワーク４５に接続される。
【０１８６】
図２７に示されるコンテンツ配信システム３８では、ＣＤＮ事業者とＩＳＰとの間で、コンテンツ配信依頼／契約が行われる（１）。その後、ＣＤＮ事業者のマルチキャストコンテンツ配信サーバ４２からコンテンツのマルチキャスト配信が実施される（２）。マルチキャストルータ１６は、受信クライアント情報について収集・保持・管理を行い（３）、受信クライアント情報をＣＤＮ事業者のサイトへ送信する（４）。この受信クライアント情報を受信したＣＤＮ事業者は、契約しているＩＳＰへ、受信されたユーザ情報と課金情報とを通知する（５）。そして、ＩＳＰによって、ユーザに対するコンテンツ受信状況に応じた料金請求が実施される（６）。
【０１８７】
ユーザ管理／認証サーバ４０は、ユーザ管理テーブル４６を記憶する。ユーザ管理／認証サーバ４０は、ＩＳＰのネットワーク４５に設置されたマルチキャストルータ１６から送信されるクライアント情報を基に、ユーザ管理テーブル４６を作成／更新する。クライアント情報は、受信クライアント情報管理テーブル２４Ａに保持される情報を含む。
【０１８８】
図２８は、ユーザ管理テーブル４６の例を示す図である。ユーザ管理テーブル４６は、ユーザ名，ユーザアドレス（クライアントアドレス），受信コンテンツアドレス（マルチキャストアドレス），受信開始時間，受信終了時間を項目として有する。
【０１８９】
ユーザ名は、クライアント５のユーザの名前を示す。ユーザ名は、ユーザを識別するために使用されるため、ユーザＩＤ等によって代替されても良い。
【０１９０】
ユーザアドレスは、クライアント５に割り当てられたアドレスであり、受信クライアント情報管理テーブル２４Ａにおけるクライアントアドレスと対応する。ユーザアドレスは、受信クライアント情報管理テーブル２４ＡにおけるクライアントＭＡＣアドレスと対応しても良い。また、ユーザ名とユーザアドレスとの対応付けは、ＩＳＰのＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバのログ情報を参照することや、ユーザ管理／認証サーバ４０とＤＨＣＰサーバとが連動することで可能となる。
【０１９１】
受信コンテンツアドレスは、クライアント５が受信したコンテンツについてのマルチキャストアドレスであり、受信クライアント情報管理テーブル２４Ａにおけるマルチキャストアドレスに対応する。このとき、クライアント５は、マルチキャストコンテンツ配信サーバ４２によって配信されるマルチキャストデータをコンテンツとして受信する。
【０１９２】
受信開始時間と受信終了時間とは、クライアント５が、対応するマルチキャストアドレスについてのマルチキャストデータの受信を開始した時間と受信を終了した時間を示す。
【０１９３】
ＣＤＮ事業者は、ユーザ管理テーブル４６の情報を基に、サービスを提供することが可能である。図２９は、ユーザ管理テーブル４６の情報を基に実施されるサービスの例を示す図である。
【０１９４】
図２９では、ＣＤＮ事業者がサービスを実施する。ＣＤＮ事業者は、コンテンツ制作会社やＩＳＰ等の契約ユーザ向けのコンテンツ配信システムを提供するビジネスを行う。ここでは特に、ＣＤＮ事業者は、マルチキャストによるコンテンツ配信システムを提供すると仮定する。
【０１９５】
ＣＤＮ事業者は、サービスメニューとして、通常のマルチキャストによるコンテンツ配信のサービスと、マルチキャストによるコンテンツ配信に加えてユーザ管理を含むサービスとを設定する。このとき、ユーザ管理を含むサービスでは、ユーザ管理テーブル４６に保持される情報に基づいたサービスが提供される。例えば、ＣＤＮ事業者は、ユーザ管理テーブル４６に基づいて、ユーザ毎の受信コンテンツとその受信時間等を、コンテンツ制作会社やＩＳＰに提供する。
【０１９６】
従来のマルチキャストでは、サーバは、コンテンツのデータに対し単にマルチキャストアドレスを付与して送信する処理のみを実施していた。また、従来のマルチキャストでは、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）が使用されていたため、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が使用された場合と異なり、基本的にどのクライアントがどのマルチキャストデータを受信しているかについては把握できなかった。従って、従来のマルチキャストによるコンテンツ配信では、ユーザ管理やコンテンツの視聴状況を把握することができなかった。
【０１９７】
しかし、ＣＤＮ事業者によって提供される情報により、コンテンツ制作会社やＩＳＰは、ユーザ管理やコンテンツの視聴状況を把握することが可能となり、ユーザ毎の時間課金や、視聴率の算出等を実施することが可能となる。
【０１９８】
なお、このサービスは、ＣＤＮ事業者ではなく、ＩＳＰ自身によって実施されても良い。また、ＣＤＮ事業者がネットワークシステム自体を提供し、コンテンツ制作会社の作成したコンテンツの代行配信を実施するという形態でこのサービスが実施されても良い。
【０１９９】
〔その他〕
本発明は、以下のように特定することができる。
（付記１）  第一のレイヤのデータに基づいてハードウェア的にスイッチングを行うスイッチング装置よりも上流に設置されるデータ生成装置であって、
前記第一のレイヤよりも高次である第二のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出す読出手段と、
前記読出手段によって読み出される前記転送管理情報を記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいて転送データの転送先となるクライアントを判断し、転送先となるクライアント数と同数の、それぞれのクライアントに対して送信される、受信された転送データと同等の内容を含む送信データを生成するデータ生成手段と、
前記データ生成手段によって生成された送信データを前記スイッチング装置へ転送する転送手段と
を備えるデータ生成装置。
（付記２）  前記データ生成手段は、さらに前記転送データにおける前記第二のレイヤのデータに基づいて転送先となるクライアントを判断する付記１に記載のデータ生成装置。
（付記３）  前記データ生成手段は、前記第一のレイヤの送信先アドレスに、前記転送先となるクライアントのアドレスを書き込むことにより前記送信データを生成する付記１又は２に記載のデータ生成装置。
（付記４）  レイヤ２よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出す読出手段と、
前記読出手段によって読み出された情報に基づいた転送管理情報を記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断し、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段と
を備えるデータ生成装置。
（付記５）  前記データ生成手段は、さらに前記マルチキャストデータにおけるレイヤ２よりも高次のレイヤのデータに基づいて転送先となるクライアントを判断する付記４に記載のデータ生成装置。
（付記６）  前記データ生成手段は、前記コピーされた夫々のデータのＭＡＣアドレスを、転送先となる各クライアントのＭＡＣアドレスに書き換えることによりユニキャストデータを生成する付記４又は５に記載のデータ生成装置。
（付記７）  自装置よりも下流側にデータを送出する送出手段をさらに備え、
前記送出手段は、前記データ生成手段によって生成されるユニキャストデータ及び受信されたマルチキャストデータを送出する
付記４〜６のいずれかに記載のデータ生成装置。
（付記８）  前記読出手段によって読み出された情報に基づいて、前記記憶手段に記憶される前記転送管理情報を更新する管理手段をさらに備える付記４〜７のいずれかに記載のデータ生成装置。
（付記９）  前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、前記管理手段はこの情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させる付記８に記載のデータ生成装置。
（付記１０）  前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、前記管理手段はこの情報の送信元であるクライアントに関する情報を前記転送管理情報から削除する付記９に記載のデータ生成装置。
（付記１１）  一定時間を計時する計時手段をさらに備え、
前記計時手段が、応答要求に対する応答がクライアントから一定時間以上受信されていないと判断した場合、前記管理手段はこのクライアントに関する情報を前記転送管理情報から削除する付記９又は１０に記載のデータ生成装置。
（付記１２）  前記読出手段は、ＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）バージョン３のメッセージから前記情報を読み出す付記４〜１１のいずれかに記載のデータ生成装置。
（付記１３）  前記読出手段は、ＭＬＤ（Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ）バージョン２のメッセージから前記情報を読み出す付記４〜１１のいずれかに記載のデータ生成装置。
（付記１４）  前記管理手段は、ＩＧＭＰバージョン１又はＩＧＭＰバージョン２のメッセージが受信された場合、前記転送管理情報をＩＧＭＰバージョン１又はＩＧＭＰバージョン２の仕様に基づいて変更する付記４〜１３のいずれかに記載のデータ生成装置。
（付記１５）  前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶する付記４〜１４のいずれかに記載のデータ生成装置。
（付記１６）  前記記憶手段は、前記転送管理情報として、さらにマルチキャストデータの送信元アドレスを関連付けて記憶する付記１５に記載のデータ生成装置。
（付記１７）  前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶し、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備える付記１０又は１１に記載のデータ生成装置。
（付記１８）  前記記憶手段は、前記転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶し、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段をさらに備える付記１０又は１１に記載のデータ生成装置。
（付記１９）  第一のレイヤのプロトコルに基づいて転送されるマルチキャストデータの受信を所望する１以上のクライアントに関するデータを記憶する記憶手段と、
前記マルチキャストデータを受け取ったときに、前記記憶手段に記憶された前記１以上のクライアントに関するデータに基づいて、前記マルチキャストデータから前記第一のレイヤより低次の第二のレイヤのプロトコルに基づいて転送されるクライアント毎のユニキャストデータを生成し、このクライアント毎のユニキャストデータを前記１以上のクライアントを収容する１以上の第二のレイヤのスイッチに向けて送出する送出手段に与えるデータ生成手段と
を含むデータ生成装置。
（付記２０）  マルチキャストデータの転送処理に関する情報を読み出す読出手段と、
前記読出手段によって読み出された情報に基づいた転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいて、受信されたマルチキャストデータの転送先となるクライアントを判断し、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段と、
前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、この情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させ、前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、この情報の送信元であるクライアントに関する情報を前記転送管理情報から削除する管理手段と、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段と
を備えるクライアント管理装置。
（付記２１）  マルチキャストデータの転送処理に関する情報を読み出す読出手段と、
前記読出手段によって読み出された情報に基づいた転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶する記憶手段と、
前記記憶手段が記憶する前記転送管理情報に基づいて、受信されたマルチキャストデータの転送先となるクライアントを判断し、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するデータ生成手段と、
前記読出手段によって読み出された情報がマルチキャストグループへの加入を示す情報である場合、この情報の内容を前記記憶手段に記憶される前記転送管理情報に反映させ、前記読出手段によって読み出された情報がマルチキャストグループからの離脱を示す情報である場合、この情報の送信元であるクライアントに関する情報を前記転送管理情報から削除する管理手段と、
前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するクライアント管理情報記憶手段と
を備えるクライアント管理装置。
（付記２２）  第一のレイヤのデータに基づいてハードウェア的にスイッチングを行うスイッチング装置よりも上流に設置される情報処理装置によって実行されるデータ生成方法であって、
前記情報処理装置が、前記第一のレイヤよりも高次である第二のレイヤのデータから、転送データの転送処理に関する転送管理情報を読み出すステップと、
前記情報処理装置が、読み出された前記転送管理情報に基づいて転送データの転送先となるクライアントを判断するステップと、
前記情報処理装置が、前記転送先となるクライアント数と同数の、それぞれのクライアントに対して送信される、受信された転送データと同等の内容を含む送信データを生成するステップと、
前記生成された送信データを前記スイッチング装置へ転送するステップと
を含むデータ生成方法。
（付記２３）  情報処理装置が、レイヤ２よりも高次のレイヤのデータから、マルチキャストデータの転送処理に関する情報を読み出すステップと、
情報処理装置が、前記読み出された情報に基づいた転送管理情報を記憶するステップと、
情報処理装置が、前記記憶される前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断するステップと、
情報処理装置が、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するステップと
を含むデータ生成方法。
（付記２４）  情報処理装置が、マルチキャストデータの転送処理に関する情報を読み出すステップと、
情報処理装置が、前記読み出された情報に基づいた転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスとを関連付けて記憶するステップと、
情報処理装置が、前記転送管理情報に基づいて、受信されたマルチキャストデータの転送先となるクライアントを判断するステップと、
情報処理装置が、前記受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するステップと、
情報処理装置が、前記読み出された情報がマルチキャストグループへの加入を示す情報である場合、この情報の内容を前記記憶される転送管理情報に反映させ、前記読み出された情報がマルチキャストグループからの離脱を示す情報である場合、この情報の送信元であるクライアントに関する情報を前記転送管理情報から削除するステップと、
情報処理装置が、前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するステップと
を含むクライアント管理方法。
（付記２５）  情報処理装置が、マルチキャストデータの転送処理に関する情報を読み出すステップと、
情報処理装置が、前記読み出された情報に基づいた転送管理情報として、マルチキャストデータが転送されるべきクライアントのアドレスと、このマルチキャストデータの送信先アドレスと、マルチキャストデータの送信元アドレスとを関連付けて記憶するステップと、
情報処理装置が、前記転送管理情報に基づいてマルチキャストデータの転送先となるクライアントを判断するステップと、
情報処理装置が、受信されたマルチキャストデータを、転送先となるクライアント数と同数のデータにコピーし、コピーされた夫々のデータをユニキャストデータに変更するステップと、
情報処理装置が、前記読み出された情報がマルチキャストグループへの加入を示す情報である場合、この情報の内容を前記転送管理情報に反映させ、前記読み出された情報がマルチキャストグループからの離脱を示す情報である場合、この情報の送信元であるクライアントに関する情報を前記転送管理情報から削除するステップと、
情報処理装置が、前記転送管理情報に基づいて、マルチキャストデータが転送されるべきクライアントを示すクライアント識別子と、このマルチキャストデータの送信先を示す送信先識別子と、このマルチキャストデータの送信元を示す送信元識別子と、このクライアント及びこのマルチキャストデータの送信先が関連付けて前記転送管理情報に記憶された時間と、このクライアント及びこのマルチキャストデータの送信先に関する情報が前記転送管理情報から削除された時間と、を関連付けて記憶するステップと
を含むクライアント管理方法。
【０２００】
【発明の効果】
本発明によれば、あるレイヤ（例えばレイヤ３）以上の情報を用いたマルチキャストグループ管理プロトコルが使用されるネットワークにおいて、あるレイヤよりも低次のレイヤ（例えばレイヤ２）のスイッチング装置に変更を行うことなく、このスイッチング装置によって、マルチキャストデータの受信を望むクライアントが接続されるポートのみにマルチキャストデータが配信される。
【図面の簡単な説明】
【図１】ＩＰマルチキャストを用いたネットワークの構成例を示す図である。
【図２】マルチキャストアドレスの割り当てを示す表である。
【図３】ＩＧＭＰｖ１の概要を示す図である。
【図４】ＩＧＭＰｖ２の概要を示す図である。
【図５】ＩＧＭＰｖ３の概要を示す図である。
【図６】ＩＮＣＬＵＤＥモードを指定したクライアントのみが接続される状態を示す図である。
【図７】ＥＸＣＬＵＤＥモードを指定したクライアントが接続される状態を示す図である。
【図８】マルチキャストルーティングプロトコルの概要を示す図である。
【図９】ＲＦＣ１１１２の概要を示す図である。
【図１０】本発明の転送装置が使用された転送システムを示す図である。
【図１１】転送装置のブロック図である。
【図１２】マルチキャストシステムのネットワーク構成を示す図である。
【図１３】マルチキャストルータのブロック図である。
【図１４】マルチキャストパケット処理部のブロック図である。
【図１５】受信クライアント情報管理テーブルの例を示す図である。
【図１６】ＩＧＭＰメッセージを含むパケットのフォーマットを示す図である。
【図１７】ＭＬＤｖ２メッセージを含むパケットのフォーマットを示す図である。
【図１８】ＩＰｖ４のパケットのヘッダフォーマットを示す図である。
【図１９】ＩＰｖ６のパケットのヘッダフォーマットを示す図である。
【図２０】ＩＧＭＰｖ３におけるレポートメッセージのフォーマットを示す図である。
【図２１】ＭＬＤｖ２におけるレポートメッセージのフォーマットを示す図である。
【図２２】受信クライアント情報管理テーブルに保持されるエントリの例を示す図である。
【図２３】受信クライアント情報管理テーブルに保持されるエントリの例を示す図である。
【図２４】データフレーム生成部の動作例を示すフローチャートである。
【図２５】オリジナルのマルチキャストデータの送信処理の作用を説明するための図である。
【図２６】専用装置が用いられたネットワークの構成例を示す図である。
【図２７】コンテンツ配信システムの概要を示す図である。
【図２８】ユーザ管理テーブルの例を示す図である。
【図２９】ユーザ管理テーブルの情報を基に実施されるサービスの例を示す図である。
【符号の説明】
Ｅ１，Ｅ１ａ，Ｅ１ｂ，Ｅ１ｎ    サーバ
Ｅ２，Ｅ２ａ，Ｅ２ｂ，Ｅ２ｎ    クライアント
Ｎ１                            マルチキャスト対応ネットワーク
Ｍ１                            マルチキャストルータ
Ｌ１                            レイヤ２スイッチ
１                            転送システム
２                            転送装置
３                            サーバ
４，４ａ，４ｂ                レイヤ２スイッチ
５，５ａ，５ｂ                クライアント
６                            マルチキャスト対応ネットワーク
７，７ａ，７ｂ                送受信インタフェース
８                            マルチキャストパケット処理部
９                            受信クライアント情報管理テーブル記憶部
９Ａ                          受信クライアント情報管理テーブル
１０                            マルチキャスト制御メッセージ判別部
１１                            マルチキャストパケット判別部
１２                            データフレーム生成部
１３                            転送処理部
１４                            ルーティングテーブル記憶部
１４Ａ                          ルーティングテーブル
１５                            マルチキャスト処理部
１６                            マルチキャストルータ
１７                            マルチキャストシステム
１８，１８ａ，１８ｂ，１８ｃ    マルチキャストパケット処理部
１９                            転送制御部
２０                            ルーティングテーブル記憶部
２０Ａ                          ルーティングテーブル
２１，２１ａ，２１ｂ，２１ｃ    送受信インタフェース
２２                            マルチキャスト処理部
２３                            タイマ
２４                            受信クライアント情報管理テーブル記憶部
２４Ａ                          受信クライアント情報管理テーブル
２５                            マルチキャスト制御メッセージ判別部
２６                            マルチキャストパケット判別部
２７                            データフレーム生成部
２８                            配信センタ
２９                            専用装置
３０                            マルチキャスト対応ネットワーク
３１                            コンテンツサーバ
３２                            ＥＰＯＮ
３３                            カプラ
３４                            メディアコンバータ
３５                            クライアント
３６                            ユーザ宅
３７                            ルータ
３８                            コンテンツ配信システム
３９                            サーバサイト
４０                            ユーザ管理／認証サーバ
４１                            課金サーバ
４２                            マルチキャストコンテンツ配信サーバ
４３                            ルータ
４４                            ＩＳＰの制御センタ
４５                            ＩＳＰのネットワーク
４６                            ユーザ管理テーブル
【図１】
2004242063.tif 000003
【図２】
2004242063.tif 000004
【図３】
2004242063.tif 000005
【図４】
2004242063.tif 000006
【図５】
2004242063.tif 000007
【図６】
2004242063.tif 000008
【図７】
2004242063.tif 000009
【図８】
2004242063.tif 000010
【図９】
2004242063.tif 000011
【図１０】
2004242063.tif 000012
【図１１】
2004242063.tif 000013
【図１２】
2004242063.tif 000014
【図１３】
2004242063.tif 000015
【図１４】
2004242063.tif 000016
【図１５】
2004242063.tif 000017
【図１６】
2004242063.tif 000018
【図１７】
2004242063.tif 000019
【図１８】
2004242063.tif 000020
【図１９】
2004242063.tif 000021
【図２０】
2004242063.tif 000022
【図２１】
2004242063.tif 000023
【図２２】
2004242063.tif 000024
【図２３】
2004242063.tif 000025
【図２４】
2004242063.tif 000026
【図２５】
2004242063.tif 000027
【図２６】
2004242063.tif 000028
【図２７】
2004242063.tif 000029
【図２８】
2004242063.tif 000030
【図２９】
2004242063.tif 000031