(57)【要約】【課題】  複数の顧客が、複数の事業者が配信しているストリーミングを、同時に受信可能にしたマルチキャストパケット配信システムを提供する。【解決手段】  上位ネットワーク（１４０）と、複数のプロバイダがそれぞれ構成した下位ネットワークと、それぞれのプロバイダ側のマルチキャストルータおよび複数の端末（１２１ａ，１２１ｂ）が接続されたマルチキャストプロキシルータ（２０）を介して、コンテンツを複数の端末にマルチキャストパケットで配信するシステムにおいて、マルチキャストプロキシルータの複数の上流側インタフェース上（１１１ａ，１１１ｂ）のマルチキャストパケットを、マルチキャストプロキシルータの複数の下流側インタフェース（１１２ａ，１１２ｂ）に、同時に配信する手段（データベース２１，設定テーブル２２，重複テーブル２３）を備えた。【選択図】  図１
2005277948.tif 000002
【特許請求の範囲】
【請求項１】
上位ネットワークに接続された複数の下位ネットワークを構成するそれぞれのプロバイダが、該それぞれのプロバイダ側のマルチキャストルータおよび複数の端末が接続されたマルチキャストプロキシルータを介し、コンテンツを前記複数の端末にマルチキャストパケットで配信するマルチキャストパケット配信システムにおいて、
前記マルチキャストプロキシルータが備える複数の上流側インタフェース上のマルチキャストパケットを、該マルチキャストプロキシルータが備える複数の下流側インタフェースに、同時に配信する同時配信手段を備えたことを特徴とするマルチキャストパケット配信システム。
【請求項２】
請求項１記載のマルチキャストパケット配信システムにおいて、
前記マルチキャストプロキシルータが備える複数の下流側インタフェース上のマルチキャストパケットを、前記マルチキャストプロキシルータが備える複数の上流側インタフェースに、同時に配信可能にしたことを特徴とするマルチキャストパケット配信システム。
【請求項３】
請求項１または請求項２記載のマルチキャストパケット配信システムにおいて、
前記同時配信手段は、少なくともマルチキャストアドレスＸのグループが、どのインタフェースで動作しているかの情報を管理するデータベースと、
少なくともマルチキャストパケットのマルチキャストアドレスと上流側インタフェースを関連付けるための設定と、端末のIPアドレスと上流側インタフェースを関連付けるための設定と、端末のMACアドレスと上流側インタフェースを関連付けるための設定と、下流側インタフェースと上流側インタフェースを関連付けるための設定と、マルチキャストサーバのIPアドレスと下流側インタフェースを関連付けるための設定とを行う第一の設定手段と、
一つのマルチキャストアドレスを複数のインタフェースで使用する場合、重複するエントリはすべて、上流側インタフェースと下流側インタフェースを関連付けるための設定と、マルチキャストサーバのIPアドレスと下流側インタフェースを関連付けるための設定とを行う第二の設定手段と
を備えたことを特徴とするマルチキャストパケット配信システム。
【請求項４】
請求項３記載のマルチキャストパケット配信システムにおいて、
前記第一の設定手段は、上流側インタフェースがリンクダウンした場合に、他にリンクアップしている上流側インタフェースがある場合には、該リンクアップしている上流側インタフェースを使用する設定を行うことを特徴とするマルチキャストパケット配信システム。
【請求項５】
請求項３記載のマルチキャストパケット配信システムにおいて、
前記第一の設定手段は、前記上流側インタフェースのIPアドレスを解放した場合、他に使用可能な上流側インタフェースがある場合は、該上流側インタフェースを使用する設定を行うことを特徴とするマルチキャストパケット配信システム。
【請求項６】
請求項１〜請求項５記載のマルチキャストパケット配信システムにおいて、
前記上位ネットワークは、インターネットであることを特徴とするマルチキャストパケット配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストパケット配信システムに関し、特に、複数の顧客が、複数の事業者が配信しているストリーミングを、複数の事業者から同時に受信可能にしたマルチキャストパケット配信システムに関する。
【背景技術】
【０００２】
ADSLやCATV等の高速通信が普及しつつある現在、ストリーミング配信は、ますます重要なコンテンツ配信手段になると考えられ、今後、ADSLマルチキャストプロキシルータやブロードバンドルータは、マルチキャスト（Multicast）に対応することが必須になると思われる。ここに、ストリーミング配信とは、データを読み出しながらその場で再生していく情報配信の総称であり、マルチキャストとは、同じデータを複数の宛先アドレスに配布することをいう。（特許文献１、特許文献２、参照）
【０００３】
このマルチキャストに対応するのに必要となる技術が、マルチキャストのグループを制御するためのプロトコルであるIGMP/MLD(Internet  Group  Management  Protocol／Multicast  Listener  Discovery)（後述）である。このIGMP/MLDの実装の容易さ等を考えると、ADSLモデムやブロードバンドルータの多くは、IGMP/MLDプロキシ（代理）機能を実装することになる。
【０００４】
ここで、従来のIGMP/MLDプロキシ機能を用いたIPマルチキャストパケット配信システム（以下、IPマルチキャストパケット配信システムと記す）１００について、図７を参照しつつ説明する。
なお、図７のシステム構成は、後述する本発明の実施形態のシステム構成と殆ど同じであるので（マルチキャストプロキシルータの構成および機能のみが異なる）、システム構成の詳細説明は、実施形態において行う。
【０００５】
第１インターネットサービスプロバイダ（事業者Ａ）１３０ａ，第２インターネットサービスプロバイダ（事業者Ｂ）１３０ｂのそれぞれのネットワークは、インターネット１４０に接続されている。第１，第２インターネットサービスプロバイダ１３０ａ，１３０ｂは、それぞれ第１，第２マルチキャストルータ１３１ａ，１３１ｂと、第１，第２マルチキャストサーバ１３２ａ，１３２ｂを備えている。第１，第２マルチキャストルータ１３１ａ，１３１ｂは、マルチキャストプロキシルータ（IGMP/MLDプロキシルータ）１１０の第１，第２アップストリームインタフェース１１１ａ，１１１ｂに接続されている。
【０００６】
マルチキャストプロキシルータ１１０の第１，第２ダウンストリームインタフェース１１２ａ，１１２ｂは、それぞれ第１マルチキャストクライアント端末（顧客Ｃ１）１２１ａと、第２マルチキャストクライアント端末（顧客Ｃ２）１２１ｂに接続されている。
【０００７】
ここに、アップストリームインタフェースとは、上流側（マルチキャストルータ）に接続しているインタフェースをいい、ダウンストリームインタフェースとは、アップストリームインタフェースとは逆側（下流側）のインタフェースをいう。
【０００８】
ここで、IPマルチキャストパケット配信システム１００を構成する要素（マルチキャストサーバ等）の基本的機能を、図８，図９を参照しつつ説明する。
図８は、マルチキャストサーバとマルチキャストルータとマルチキャストクライアント端末との関係を、単純化して示すシステム構成図である。
図９は、図８の構成に、マルチキャストプロキシルータ（IGMP/MLDプロキシルータ）を追加した場合のシステム構成図である。
【０００９】
図８に示すように、ストリーミング配信サーバ等のマルチキャストサーバ１３２（１３２ａ，１３２ｂ）は、マルチキャストパケットを送信し続ける。この状態では、マルチキャストルータ１３１（１３１ａ，１３１ｂ）は、マルチキャストパケットを受信したインタフェース以外のインタフェースへマルチキャストパケットを転送しない。
即ち、マルチキャストルータ１３１の 上流側インタフェースで受信したマルチキャストパケットを、下流側インタフェースに転送しない。
【００１０】
マルチキャストクライアント端末１２１（１２１ａ，１２１ｂ）が、マルチキャストサーバ１３２からのマルチキャストパケットを受信したい場合は、マルチキャストルータ１３１宛にマルチキャストグループ「X．X．X．X」を受信したいというメッセージ（受信要求メッセージ）を送信する。ここで、「X．X．X．X」は、マルチキャストグループのアドレスである。
【００１１】
マルチキャストルータ１３１は、前記受信要求メッセージを受信して、はじめてマルチキャストサーバ１３２からのマルチキャストパケットを、下流側へ転送する。
このメッセージ送信に使用するプロトコルが、前記のIGMP/MLDである。
なお、実際のネットワークでは、複数（多数）のサーバ，ルータ，クライアント端末が接続されている。
【００１２】
複数のサーバ，ルータ，クライアント端末が接続された場合には、マルチキャストルータ１３１が管理しなければならない情報(マルチキャストグループのデータ等)が、増えてくる。
なお、基本的にマルチキャストサーバ１３２は、マルチキャストクライアント端末１２１の存在の有無に拘わらず、マルチキャストパケットを送信し続ける。
【００１３】
次に、図９を参照しつつ、マルチキャストプロキシルータ（IGMP/MLDプロキシルータ）１１０の説明をする。
マルチキャストプロキシルータ１１０は、マルチキャストクライアント端末１２１からの「X.X.X.X」という受信要求メッセージを受信して、はじめてマルチキャストプロキシルータ１１０としての動作を開始する。
【００１４】
図９に示したネットワーク（システム構成）で、マルチキャストクライアント端末１２１が「X.X.X.X」の受信要求メッセージを送信していない状態では、マルチキャストプロキシルータ１１０が、マルチキャストパケットに関する情報を管理する必要はない。
【００１５】
マルチキャストクライアント端末１２１からの「X.X.X.X」の受信要求メッセージを受信したマルチキャストプロキシルータ１１０は、「X.X.X.X」の受信要求メッセージをマルチキャストルータ１３１へ送信する。
このことが、プロキシ(代理)といわれる所以であり、マルチキャストプロキシルータ１１０のアップストリームインタフェース１１１では、マルチキャストクライアント端末１２１のような動作を行う。
【００１６】
このメッセージを受信したマルチキャストルータ１３１は、この「X.X.X.X」のマルチキャストグループのマルチキャストパケットだけを、下流側へ転送する。
マルチキャストプロキシルータ１１０は、このマルチキャストパケットを受信し、マルチキャストクライアント端末１２１へ転送する。
【００１７】
よって、マルチキャストプロキシルータ１１０は、マルチキャストクライアント端末１２１が受信したい「X.X.X.X」というマルチキャストグループだけを管理すれば良いことになる。
このように、マルチキャストプロキシルータ１１０を使用すれば、管理しなければならない情報が少なくて済む。
【００１８】
【特許文献１】特開２００２−０６４５５８号公報
【特許文献２】特開２００３−３４８１５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、従来のIGMP/MLDプロキシ機能を実装しているマルチキャストプロキシルータ１１０は、上位ルータ側に対し、一組の論理インタフェース（アップストリームインタフェースとダウンストリームインタフェース）のみを動作させている。即ち、図７に示すように、マルチキャストプロキシルータ１１０は、複数の論理インタフェースを備えている場合でも、複数の論理インタフェースを同時に動作させることができない。
【００２０】
つまり、第１マルチキャストクライアント端末（顧客Ｃ１）１２１ａと第２マルチキャストクライアント端末（顧客Ｃ２）が、それぞれ第１ルート１１３ａと第２ルート１１３ｂで動作している場合には（実線で示す）、第３ルート１１４ａと第４ルート１１４ｂを同時に動作させることはできない（点線に「×」印を付して示す）。
なお、複数の論理インタフェースのうち、いずれの論理インタフェースを動作させるかは、マルチキャストクライアント端末側から選択可能となっている。
【００２１】
このため、事業者Ａと事業者Ｂが、自分の顧客にだけストリーミングコンテンツを配信するようなサービスを行っている場合、事業者Ａと事業者Ｂの共通の顧客Ｃ１と顧客Ｃ２が、事業者Ａと事業者Ｂが配信しているストリーミングを、両方から同時に受信することはできない。
【００２２】
本発明は、上記の問題を解決すべくなされたものであり、複数の顧客が、複数の事業者が配信しているストリーミングを、複数の事業者から同時に受信可能としたマルチキャストパケット配信システムの提供を目的とする。
【課題を解決するための手段】
【００２３】
この目的を達成するために本発明のマルチキャストパケット配信システムは、上位ネットワーク（図１のインターネット１４０）に接続された、複数の下位ネットワークを構成するそれぞれのプロバイダ（第１，第２インターネットサービスプロバイダ１３０ａ，１３０ｂ（事業者Ａ，事業者Ｂ））が、それぞれのプロバイダ側のマルチキャストルータ（第１，第２マルチキャストルータ１３１ａ，１３１ｂ）および複数の端末（第１，第２マルチキャストクライアント端末１２１ａ，１２１ｂ（顧客Ｃ１，顧客Ｃ２））が接続されたマルチキャストプロキシルータ（２０）を介して、コンテンツを複数の端末にマルチキャストパケットで配信するマルチキャストパケット配信システムにおいて、
マルチキャストプロキシルータが備える複数の上流側インタフェース上（第１，第２アップストリームインタフェース１１１ａ，１１１ｂ上）のマルチキャストパケットを、マルチキャストプロキシルータが備える複数の下流側インタフェース（第１，第２ダウンストリームインタフェース１１２ａ，１１２ｂ）に、同時に配信する同時配信手段（図３のデータベース２１，設定テーブル２２，重複テーブル２３）を備えた構成としてある。
【００２４】
以上の構成を図示すると、例えば図１，図３に示すようになる。このようにすれば、事業者Ａからのマルチキャストパケットは、上流側インタフェース１１１ａを介して二つの下流側インタフェース１１２ａ，１１２ｂに同時に配信されるので、顧客Ｃ１と顧客Ｃ２とは、同時に事業者Ａからのマルチキャストパケットを受信できる（実線の第1ルート２０ａと第２ルート２０ｂで示す）。
【００２５】
また、事業者Ｂからのマルチキャストパケットは、上流側インタフェース１１１ｂを介して二つの下流側インタフェース１１２ａ，１１２ｂに同時に配信されるので、顧客Ｃ１と顧客Ｃ２とは、同時に事業者Ｂからのマルチキャストパケットを受信できる（実線の第３ルート２０ｃと第４ルート２０ｄで示す）。
即ち、複数の顧客（Ｃ１とＣ２）は、複数の事業者（ＡとＢ）が配信しているストリーミング（マルチキャストパケット）を、同時に受信可能とすることができる。
【００２６】
また、本発明のマルチキャストパケット配信システムは、請求項1記載のマルチキャストパケット配信システムにおいて、マルチキャストプロキシルータが備える複数の下流側インタフェース上のマルチキャストパケットを、マルチキャストプロキシルータが備える複数の上流側インタフェースに、同時に配信可能にした構成としてある。
【００２７】
以上の構成を図示すると、例えば図１，図３に示すようになる。このようにすれば、顧客Ｃ１からのマルチキャストパケットは、下流側インタフェース１１２ａを介して二つの上流側インタフェース１１１ａ，１１１ｂに同時に配信されるので、事業者Ａと事業者Ｂとは、同時に顧客Ｃ１からのマルチキャストパケットを受信できる（実線の第1ルート２０ａと第３ルート２０ｃで示す。但し、矢印方向は逆である）。
【００２８】
また、顧客Ｃ２からのマルチキャストパケットは、下流側インタフェース１１２ｂを介して二つの上流側インタフェース１１１ａ，１１１ｂに同時に配信されるので、事業者Ａと事業者Ｂとは、同時に顧客Ｃ２からのマルチキャストパケットを受信できる（実線の第２ルート２０ｂと第４ルート２０ｄで示す．但し、矢印方向は逆である）。
【００２９】
また、本発明のマルチキャストパケット配信システムは、請求項１または請求項２記載のマルチキャストパケット配信システムにおいて、同時配信手段は、少なくともマルチキャストアドレスＸのグループが、どのインタフェースで動作しているかの情報を管理するデータベース（図３の２１）と、少なくともマルチキャストパケットのマルチキャストアドレスと上流側インタフェースを関連付けるための設定と、端末のIPアドレスと上流側インタフェースを関連付けるための設定と、端末のMACアドレスと上流側インタフェースを関連付けるための設定と、下流側インタフェースと上流側インタフェースを関連付けるための設定と、マルチキャストサーバのIPアドレスと下流側インタフェースを関連付けるための設定とを行う第一の設定手段（設定テーブル２２）と、一つのマルチキャストアドレスを複数のインタフェースで使用する場合、重複するエントリはすべて、上流側インタフェースと下流側インタフェースを関連付けるための設定と、マルチキャストサーバのIPアドレスと下流側インタフェースを関連付けるための設定とを行う第二の設定手段（重複テーブル２３）とを備えた構成としてある。
【００３０】
以上の構成を図示すると、例えば図１，図３，図４に示すようになる。請求項１で説明した同時配信手段が正常に機能するためには、複数の事業者（ＡとＢ）と、複数の顧客（Ｃ１とＣ２）との間のルートを設定するために、最小限の各種データを必要とする。
データベース（２１）は、少なくともマルチキャストアドレスＸのグループが、どのインタフェースで動作しているかの情報を管理する。
【００３１】
第一の設定手段（設定テーブル２２）は、少なくともマルチキャストパケットのマルチキャストアドレスと上流側インタフェースを関連付けるための設定と、端末のIPアドレスと上流側インタフェースを関連付けるための設定と、端末のMACアドレスと上流側インタフェースを関連付けるための設定と、下流側インタフェースと上流側インタフェースを関連付けるための設定と、マルチキャストサーバのIPアドレスと下流側インタフェースを関連付けるための設定とを行う。
【００３２】
第二の設定手段（重複テーブル２３）は、一つのマルチキャストアドレスを複数のインタフェースで使用する場合、重複するエントリはすべて、上流側インタフェースと下流側インタフェースを関連付けるための設定と、マルチキャストサーバのIPアドレスと下流側インタフェースを関連付けるための設定とを行う。
【００３３】
また、本発明のマルチキャストパケット配信システムは、請求項３記載のマルチキャストパケット配信システムにおいて、第一の設定手段は、上流側インタフェースがリンクダウンした場合に、他にリンクアップしている上流側インタフェースがある場合には、該リンクアップしている上流側インタフェースを使用する設定を行う構成としてある。
このようにすれば、リンクダウンが発生した場合であっても、事業者側と顧客側との接続性を維持することができる。
【００３４】
また、本発明のマルチキャストパケット配信システムは、請求項３記載のマルチキャストパケット配信システムにおいて、第一の設定手段は、上流側インタフェースのIPアドレスを解放した場合に、他に使用可能な上流側インタフェースがある場合は、該上流側インタフェースを使用する設定を行う構成としてある。
このようにすれば、上流側インタフェースのIPアドレスを解放した場合であっても、事業者側と顧客側との接続性を維持することができる。
【００３５】
また、本発明のマルチキャストパケット配信システムは、請求項１〜請求項５記載のマルチキャストパケット配信システムにおいて、上位ネットワークは、インターネット（１４０）である構成としてある。
このようにすれば、インターネット上に存在するマルチキャストサーバ（第３マルチキャストサーバ１４１）と、複数の端末（顧客Ｃ１，顧客Ｃ２）との間で、下位ネットワークを介して、マルチキャストパケットの送受信を行うことができる。
【発明の効果】
【００３６】
本発明によれば、マルチキャストパケットを上流側インタフェースに配信する機能を備えたので、複数の顧客が、複数の事業者が配信しているマルチキャストパケットを、同時に受信可能とすることができる。
また、逆に、複数の事業者が、複数の顧客が配信するマルチキャストパケットを、同時に受信可能とすることができる。
【００３７】
さらに、複数の事業者と、複数の顧客との間のルートを設定するために、最小限の各種データを備えたので、同時配信手段を正常に機能させることができる。
しかも、設定テーブルは、上流側インタフェースがリンクダウンした場合に、他にリンクアップしている上流側インタフェースがある場合には、該リンクアップしている上流側インタフェースを使用する設定を行う構成としてあるので、リンクダウンが発生した場合であっても、事業者側と顧客側との接続性を維持することができる。
【００３８】
また、設定テーブルは、上流側インタフェースのIPアドレスを解放した場合に、他に使用可能な上流側インタフェースがある場合は、該上流側インタフェースを使用する設定を行う構成としてあるので、上流側インタフェースのIPアドレスを解放した場合であっても、事業者側と顧客側との接続性を維持することができる。
【００３９】
さらに、上位ネットワークは、インターネットである構成としてあるので、インターネット上に存在するマルチキャストサーバと、複数の端末との間で、下位ネットワークを介して、マルチキャストパケットの送受信を行うことができる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明の一実施形態について説明する。
［実施形態］
図１は、本実施形態のIPマルチキャストパケット配信システム１０のシステム構成図、図２はIPマルチキャストパケット配信システム１０を構成するマルチキャストプロキシルータ等の構成要素のIPアドレスの一覧表である。なお、既に概略構成を説明した従来例（図７）と本実施形態（図１）との相違点は、顧客側が備えるマルチキャストプロキシルータ２０の構成および機能である。
【００４１】
図１，図２に示すように、IGMP/MLDプロキシ機能を実装しているマルチキャストプロキシルータ（IGMP/MLDプロキシルータ）２０は、第１アップストリームインタフェース１１１ａ、第２アップストリームインタフェース１１１ｂ、第１ダウンストリームインタフェース１１２ａ、第２ダウンストリームインタフェース１１２ｂを備えている。
【００４２】
マルチキャストプロキシルータ２０の第１ダウンストリームインタフェース１１２ａ側には、第1マルチキャストクライアント端末１２１ａが接続され、第２ダウンストリームインタフェース１１２ｂ側には、第２マルチキャストクライアント端末１２１ｂが接続されている。
【００４３】
第１アップストリームインタフェース１１１ａは、第１インターネットサービスプロバイダ１３０ａ内の第１マルチキャストルータ１３１ａに接続され、第２アップストリームインタフェース１１１ｂは、第２インターネットサービスプロバイダ１３０ｂ内の第２マルチキャストルータ１３１ｂに接続されている。
【００４４】
第1マルチキャストサーバ１３２ａは、第１インターネットサービスプロバイダ１３０ａが用意したマルチキャストサーバであり、第１インターネットサービスプロバイダ１３０ａのネットワーク内に設置されている。
第２マルチキャストサーバ１３２ｂは、第２インターネットサービスプロバイダ１３０ｂが用意したマルチキャストサーバで、第２インターネットサービスプロバイダ１３０ｂのネットワーク内に設置されている。
【００４５】
また、第１インターネットサービスプロバイダ１３０ａ、第２インターネットサービスプロバイダ１３０ｂ以外のネットワーク（インターネット)１４０に、第３マルチキャストサーバ１４１が設置されている。
【００４６】
図３に示すように、本実施形態のIGMP/MLDプロキシ機能を実装しているマルチキャストプロキシルータ２０は、三つの管理テーブルを有している。
第一の管理テーブルは、、受信したIGMPパケット（IPv6の場合は、MLDパケット）の情報を基に作成されるマルチキャストアドレスのデータベース２１管理する。マルチキャストプロキシルータ２０は、このデータベース２１を基にマルチキャストの振り分けを行う。本実施形態では、以降、このデータベース２１を、単にデータベース２１と呼ぶ。
【００４７】
第二の管理テーブルは、振り分け先の設定を行うテーブル２２である。このテーブル２２は、ユーザがスタティックに設定するテーブルで、マルチキャストプロキシルータ２０は、データベース２１に登録されていないIGMPパケットを受信した場合、このテーブル２２に従ってデータベース２１を作成する。本実施形態では、以降、このテーブルを、設定テーブル２２と呼ぶ。
【００４８】
第三の管理テーブルは、一つのマルチキャストアドレスを、複数のアップストリームインタフェースで使用する場合等に、マルチキャストプロキシルータ２０が使用する設定テーブル２３である。本実施形態では、以降、このテーブルを、重複テーブル２３と呼ぶ。
以下、この三つの管理テーブル（データベース２１，設定テーブル２２，重複テーブル２３）について、順に説明する。
【００４９】
図４は、データベース２１の一例である。データベース２１は、IPマルチキャストアドレスXのグループが、どのインタフェースで動作しているか等の情報を管理するものである。マルチキャストプロキシルータ２０は、このデータベース２１に従い、適切なインタフェースにマルチキャストパケットを送信する。以下は、データベース２１で管理する情報である。
【００５０】
なお、IPマルチキャストでは、IPマルチキャストアドレスを、グループという単位で管理する。例えば、第nマルチキャストクライアント端末１２１ｎは、IPマルチキャストアドレスXのグループに属する。
【００５１】
２１ａ：IPマルチキャストのグループアドレス
２１ｂ：タイマの残り時間（このエントリの有効時間）
２１c：このエントリで動作しているIGMPまたはMLDのバージョン
２１d：このエントリで使用しているダウンストリームインタフェース
２１e：このエントリで使用しているアップストリームインタフェース
２１ｆ：送信元IPアドレス
【００５２】
設定テーブル２２では、以下の項目について設定する。
1．  マルチキャストパケットのマルチキャストアドレスとアップストリームインタフェースを関連付けるための設定。
この設定で指定されたマルチキャストアドレス<X>は、指定されたアップストリームインタフェース１１１xでのみ使用することができ、他のアップストリームインタフェース１１１yからマルチキャストアドレス<X>のマルチキャストパケットを受信した場合は、廃棄する。
【００５３】
また、マルチキャストプロキシルータ２０のダウンストリームインタフェース側からマルチキャストアドレス<X>のマルチキャストパケットを受信した場合は、マルチキャストプロキシルータ２０のアップストリームインタフェース１１１x側へ送信する。
【００５４】
2.  マルチキャストクライアント端末のIPアドレスとアップストリームインタフェースを関連付けるための設定。
この設定で指定されたIPアドレス<N>を、使用しているマルチキャストクライアント端末からのマルチキャストパケットをアップストリームインタフェース側へ送信する場合、指定されたアップストリームインタフェース１１１ｎへ送信する。
【００５５】
3.  マルチキャストクライアント端末のMACアドレスとアップストリームインタフェースを関連付けるための設定。
この設定で指定されたMACアドレスを、使用しているマルチキャストクライアント端末からのマルチキャストパケットをアップストリームインタフェース側へ送信する場合、指定されたアップストリームインタフェース１１１ｎへ送信する。
【００５６】
4.  ダウンストリームインタフェースとアップストリームインタフェースを関連付けるための設定。
この設定で指定されたアップストリームインタフェースからのマルチキャストパケットは、必ず指定されたダウンストリームインタフェースに送信される。また、指定されたダウンストリームインタフェースからのマルチキャストパケットは、必ず指定されたアップストリームインタフェースへ送信される。
【００５７】
5.  マルチキャストサーバのIPアドレスとダウンストリームインタフェースを関連付けるための設定。
この設定は、指定したIPアドレスを送信元IPアドレスにセットしたマルチキャストパケットを受信したとき、はじめて有効になる。受信時、マルチキャストプロキシルータ２０は、この送信元IPアドレスがセットされたマルチキャストパケットの宛先IPアドレスと、受信したアップストリームインタフェースを関連付ける。
その後は、上記4と同じ動作になる。
【００５８】
上記1〜5の設定に当てはまらないマルチキャストパケットを受信したときに使用する設定（ルーティングテーブルのデフォルトゲートウェイのようなイメージ）として、以下の項目を用意する。
【００５９】
6.  デフォルトで使用するアップストリームインタフェースの指定
6-1.  アップストリームインタフェースの固定指定
6-2.  最初にリンクアップしたアップストリームインタフェースの使用
【００６０】
6-3.  アップストリームインタフェースのIPアドレスをPPP（Point-to-point  Protocol）やDHCP（Dynamic  Host  Configuration  Protocol）で取得する設定になっていた場合、最初にIPアドレスを取得したアップストリームインタフェースを使用
6-4.  IPアドレスが小さい方のアップストリームインタフェースを使用
6-5.  固定的に設定した場合以外のパケットについては廃棄
【００６１】
また、接続性を高めるため、以下の場合についての設定を用意する。
7.  アップストリームインタフェースがリンクダウン（LINK  DOWN）した場合の扱い
7-1.  他にリンクアップ（LINK  UP）しているアップストリームインタフェースがある場合は、そのアップストリームインタフェースを使用する。このとき、使用するアップストリームインタフェースについてあらかじめ優先順位を設定しておく必要がある。ユーザが設定する優先順位に従い、リンクアップしているアップストリームインタフェースのうち、優先度が一番高いアップストリームインタフェースを使用して、マルチキャストパケットの送信を行う。
【００６２】
7-2.  リンクダウンした場合は、そのアップストリームインタフェースを使用することになっているIPマルチキャストパケットは、すべて廃棄する。
【００６３】
8.  アップストリームインタフェースのIPアドレスを解放したときの扱い（アップストリームインタフェースのIPアドレスを、PPPやDHCPで取得する設定になっていた場合）
【００６４】
8-1.  他に使用可能なアップストリームインタフェースがある場合は、そのアップストリームインタフェースを使用する。このとき、使用するアップストリームインタフェースについてあらかじめ優先順位を設定しておく必要がある。ユーザが設定する優先順位に従い、利用可能なアップストリームインタフェースのうち、優先度が一番高いアップストリームインタフェースを使用して、マルチキャストパケットの送信を行う。
8-2.  IPアドレスを開放した場合は、そのアップストリームインタフェースを使用することになっているIPマルチキャストパケットは、すべて廃棄する。
【００６５】
重複テーブル２３では、以下の項目について設定する。
一つのマルチキャストアドレスを複数のインタフェースで使用する場合、重複するエントリはすべて、下記に示す設定を行っていなくてはならない。
・アップストリームインタフェースとダウンストリームインタフェースを関連付けるための設定
・マルチキャストサーバのIPアドレスとダウンストリームインタフェースを関連付けるための設定
【００６６】
上記以外の場合は、最初に動作しているエントリ（現在、データベース２１に登録されているエントリ）が、データベース２１から削除されない限り、そのエントリ以外のインタフェースからのマルチキャストパケットは廃棄される。
【００６７】
以下、本実施形態の動作を説明する。
ここに、マルチキャストプロキシルータ２０は、従来のIGMP/MLDプロキシ機能を有している必要があり、本実施形態は、従来のIGMP/MLDプロキシ機能の拡張的な位置付けになる。
【００６８】
まず、特殊なマルチキャストアドレスの扱いについて説明する。以下に説明するアドレスについては、データベース２１や設定テーブル２２の情報に関係なく動作する。
【００６９】
「224.0.0.1(IPv4)/FF02::1(IPv6)」
マルチキャストプロキシルータ２０は、装置起動時、宛先IPアドレスに224.0.0.1（IPv6の場合は、FF02::1）をセットしたIGMP  Query（IGMP問い合わせ）パケットを第１ダウンストリームインタフェース１１２ａおよび第２ダウンストリームインタフェース１１２ｂに対して送信する（マルチキャストを動作させているすべてのダウンストリームインタフェースに対して送信を行う）。
【００７０】
このQueryパケットは、定期的に第１，第２ダウンストリームインタフェース１１２ａ,１１２bに送信され、このQueryパケットに対するマルチキャストクライアント端末からの応答（ＩＧＭＰリポート）を受信した場合は、その内容をデータベース２１に反映させる。
【００７１】
第1アップストリームインタフェース１１１ａから宛先IPアドレスを224.0.0.1（IPv6の場合は、FF02::1）にセットしたマルチキャストパケットを受信した場合、マルチキャストプロキシルータ２０はデータベース２１を参照し、データベース２１に登録されているマルチキャストアドレスをセットしたＩＧＭＰリポートパケットを第1アップストリームインタフェース１１１ａ側に送信する。（図４のデータベース２１を持っていた場合、224.1.1.1および239.255.255.255のマルチキャストアドレスをセットしたＩＧＭＰリポートパケットを送信する。）
【００７２】
「224.0.0.2(IPv4)/FF02::2(IPv6)」
マルチキャストプロキシルータ２０が、第２アップストリームインタフェース１１１ｂ側からグループアドレスに224.3.3.3をセットしている宛先IPアドレスが224.0.0.2（IPv6では、FF02::2）のLeave  Groupパケット（グループ離脱パケット）を受信した場合、224.3.3.3のマルチキャストグループに属するホストが他にいないことを確認した後、データベース２１に従い、第２アップストリームインタフェース１１１ｂへLeave  Groupパケットを送信する。
【００７３】
上記以外のマルチキャストパケットを受信した場合の動作は、以下のようになる。
マルチキャストプロキシルータ２０は、IPマルチキャストパケットを受信すると、次のように動作する。
1.  データベース２１、設定テーブル２２および重複テーブル２３を検索し、受信したIPマルチキャストとに合致するエントリを検索する。
【００７４】
2.  データベース２１、設定テーブル２２および重複テーブル２３に従ってIPマルチキャストパケットを送信する。
3.  IPマルチキャストパケットの配信と同時に、データベース２１の登録または送信を行う。
【００７５】
マルチキャストプロキシルータ２０が、IPマルチキャストパケットをダウンストリームインタフェース側から受信した場合、マルチキャストプロキシルータ２０は、受信したIPマルチキャストパケットを、図５のフローチャート図に従って、適切なインタフェースへ送信する。
【００７６】
図５は、IPv4におけるダウンストリームインタフェース側のフローチャート図である。また、図６は、本実施形態のIPv4におけるアップストリームインタフェース側のフローチャート図である。
以下、図５および図６のフローチャート図を使用してIPv4の場合で説明する。
【００７７】
マルチキャストプロキシルータ２０がダウンストリームインタフェースからマルチキャストパケットを受信すると、まず、そのマルチキャストパケットがIGMPパケット（IPv6の場合はMLDパケット）であるかどうかを判断する（ステップＳ１）。
【００７８】
ステップＳ１で、受信したマルチキャストパケットがＩＧＭＰリポートである場合、受信したマルチキャストパケットのマルチキャストアドレスが、マルチキャストプロキシルータ２０が管理するデータベース２１にあるかどうかを確認する（ステップＳ２）。
【００７９】
ステップＳ２で、データベース２１に受信したマルチキャストパケットのマルチキャストアドレスのエントリが登録されている(=yes)場合、そのエントリのダウンストリームインタフェースとＩＧＭＰリポートを受信したダウンストリームインタフェースが一致しているかどうかを確認する（ステップＳ３）。
【００８０】
ステップＳ３で、一致している(=yes)場合、データベース２１を更新する（ステップＳ４）。
ステップＳ３で、一致していない(=no)場合、受信したマルチキャストパケット（ＩＧＭＰリポート）に合致するエントリが、設定テーブル２２にあるかどうかを検索する（ステップＳ５）。
【００８１】
ステップＳ５で、合致するエントリがデータベース２１に存在する(=yes)場合、重複テーブル２３を参照し、合致したエントリが重複テーブル２３に登録されているエントリと合致するかを検索する（ステップＳ６）。
【００８２】
ステップＳ６で、重複テーブル２３に合致するエントリの内容が登録されていた(=yes)場合、データベース２１にその内容を登録し（ステップＳ７）、そのエントリに登録されているグループアドレスをセットしたＩＧＭＰリポートパケットを該当するアップストリームインタフェース側に送信する（ステップＳ８）。
ステップＳ５，ステップＳ６で、合致するエントリが存在しない場合、受信したマルチキャストパケット（ＩＧＭＰリポート）を廃棄する（ステップＳ９）。
【００８３】
ステップＳ２で、データベース２１に受信したマルチキャストパケットのマルチキャストアドレスのエントリが登録されていない(=no)場合、設定テーブル２２を参照し、受信したマルチキャストパケット（ＩＧＭＰリポート）に合致するエントリが、あるかどうかを検索する（ステップＳ１０）。
【００８４】
ステップＳ１０で、合致するエントリが存在する(=yes)場合、データベース２１にその内容を登録し（ステップＳ１１）、その登録したエントリのグループアドレスをセットしたＩＧＭＰリポートを該当するアップストリームインタフェースに送信する（ステップＳ１２）。
ステップＳ１０で、合致するエントリが存在しない場合、受信したマルチキャストパケット（ＩＧＭＰリポート）を廃棄する（ステップＳ９）。
【００８５】
ステップＳ１で、受信したマルチキャストパケットがIGMP  Leave  Groupである場合、IGMP  Group-Specific  Query（特定グループIGMP問い合わせ）を設定された再送回数だけ送信し（ステップＳ１３）、それに対する応答（ＩＧＭＰリポート）があるかどうかを確認する（ステップＳ１４）。
ステップＳ１４で、応答が返ってきた(=yes)場合、マルチキャストプロキシルータ２０はアクションを起こさない（ステップＳ１５）。
【００８６】
ステップＳ１４で、応答が返ってこない(=no)場合、受信したIGMP  Leave  GroupにセットされていたグループアドレスをセットしたIGMP  Leave  Groupパケットを該当するアップストリームインタフェース側に送信し（ステップＳ１６）、データベース２１から該当するエントリを削除する（ステップＳ１７）。
【００８７】
ステップＳ１で、受信したマルチキャストパケットがIGMPパケット（IPv6の場合は、MLDパケット）でない場合、データベース２１に従って受信したマルチキャストパケットを適切なインタフェース側に送信する。データベース２１に該当するエントリがない場合は、その受信パケットを廃棄する。
【００８８】
マルチキャストプロキシルータ２０が、マルチキャストパケットをアップストリームインタフェース側から受信した場合、受信したマルチキャストパケットを、図６に示したフローチャート図に従って適切なインタフェースへ送信する。
【００８９】
図６に示すように、まず、受信したマルチキャストパケットがIGMPパケットであるかどうかを判断する（ステップＳ２１）。
IGMPパケットである場合、そのパケットがIGMP  Queryであることを確認し、そのパケットを受信したアップストリームインタフェース側にＩＧＭＰリポートで応答する（ステップＳ２２）。もし、IGMP  Queryパケットでない場合は、そのパケットを廃棄する。
【００９０】
IGMPパケットでない場合、マルチキャストプロキシルータ２０が管理するデータベース２１に従い、受信したマルチキャストパケットを適切なインタフェースへ送信し（ステップＳ２３）、データベース２１を更新する（ステップＳ２４）。もし、データベース２１に該当するエントリが存在しない場合は、そのパケットを廃棄する。
【００９１】
ここで、本実施形態の効果の概略を説明すると、以下のようになる。即ち、マルチキャストプロキシルータ２０が実装しているIGMP/MLDプロキシの振り分け機能（配信機能）を使用することにより、第1マルチキャストサーバ１３２ａ、第２マルチキャストサーバ１３２ｂ、または第３マルチキャストサーバ１４１からのマルチキャストパケットを、同時に第1マルチキャストクライアント端末１２１ａ、第２マルチキャストクライアント端末１２１ｂが受信することが可能になる。
【００９２】
また、逆に、第1マルチキャストクライアント端末１２１ａまたは第２マルチキャストクライアント端末１２１ｂからのマルチキャストパケットを、マルチキャストプロキシルータ２０の第1アップストリームインタフェース１１１ａまたは第２アップストリームインタフェース１１１ｂに振り分けることも可能である。
【００９３】
なお、本実施形態では、マルチキャストプロキシルータ２０のアップストリームインタフェースが２個、ダウンストリームインタフェースが２個の場合を想定して説明するが、アップストリームインタフェース、ダウンストリームインタフェース共に３個以上あっても良い。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施形態のIPマルチキャストパケット配信システムのシステム構成図である。
【図２】同実施形態のIPマルチキャストパケット配信システムを構成するマルチキャストプロキシルータ等の構成要素のIPアドレスの一覧表である。
【図３】同実施形態を構成するマルチキャストプロキシルータが持つ、三つの管理テーブルを示す図である。
【図４】同管理テーブルの一つであるデータベースの一例を示す図である。
【図５】同実施形態の動作を示すフローチャート図である。
【図６】同実施形態の別の動作を示すフローチャート図である。
【図７】従来のIPマルチキャストパケット配信システムのシステム構成図である。
【図８】従来のマルチキャストサーバとマルチキャストルータとマルチキャストクライアント端末との関係を、単純化して示すシステム構成図である。
【図９】図８の構成に、マルチキャストプロキシルータ（IGMP/MLDプロキシルータ）を追加した場合のシステム構成図である。
【符号の説明】
【００９５】
１０  IPマルチキャストパケット配信システム
２０  マルチキャストプロキシルータ（IGMP/MLDプロキシルータ）
２１  データベース
２１ａ  IPマルチキャストのグループアドレス
２１ｂ  タイマの残り時間（エントリの有効時間）
２１c  エントリで動作しているIGMPまたはMLDのバージョン
２１d  エントリで使用しているダウンストリームインタフェース
２１e  エントリで使用しているアップストリームインタフェース
２１ｆ  送信元IPアドレス
２２  設定テーブル
２３  重複テーブル
１００  従来のIPマルチキャストパケット配信システム
１１０  マルチキャストプロキシルータ（IGMP/MLDプロキシルータ）
１１１ａ  第１アップストリームインタフェース
１１１ｂ  第２アップストリームインタフェース
１１２ａ  第１ダウンストリームインタフェース
１１２ｂ  第２ダウンストリームインタフェース
１２１  マルチキャストクライアント端末
１２１ａ  第１マルチキャストクライアント端末（顧客Ｃ１）
１２１ｂ  第２マルチキャストクライアント端末（顧客Ｃ２）
１２１ｎ  第nマルチキャストクライアント端末
１３０ａ  第１インターネットサービスプロバイダ（事業者Ａ）
１３０ｂ  第２インターネットサービスプロバイダ（事業者Ｂ）
１３１  マルチキャストルータ
１３１ａ  第１マルチキャストルータ
１３１ｂ  第２マルチキャストルータ
１３２  マルチキャストサーバ
１３２ａ  第１マルチキャストサーバ
１３２ｂ  第２マルチキャストサーバ
１４０  インターネット
１４１  第３マルチキャストサーバ
【図１】
2005277948.tif 000003
【図２】
2005277948.tif 000004
【図３】
2005277948.tif 000005
【図４】
2005277948.tif 000006
【図５】
2005277948.tif 000007
【図６】
2005277948.tif 000008
【図７】
2005277948.tif 000009
【図８】
2005277948.tif 000010
【図９】
2005277948.tif 000011