(57)【特許請求の範囲】
【請求項１】
基盤ネットワークを論理的に分割した仮想ネットワーク上で行うマルチキャスト通信に用いる複数のマッピング情報のうち、少なくとも１つのマッピング情報を用いてマルチキャストパケットをカプセル化するパケットカプセリング部と、
前記マルチキャスト通信の通達範囲が同一であるマッピング情報同士を統合するマッピング情報統合部と、
を備え、
前記複数のマッピング情報は、それぞれ前記仮想ネットワークで使用する第１のマルチキャストマッピングアドレスと、前記基盤ネットワークで使用する第２のマルチキャストマッピングアドレスと、当該マルチキャスト通信に参加するメンバーを示すメンバー情報とを含み、
前記パケットカプセリング部は、前記統合されたマッピング情報を用いて前記第１のマルチキャストアドレスに対応付けられた前記第２のマルチキャストアドレスを用いて前記マルチキャストパケットのカプセル化を行う、
パケット転送装置。
【請求項２】
さらに、前記複数のマッピング情報を記憶するマッピング情報記憶部を備える、請求項１記載のパケット転送装置。
【請求項３】
前記マッピング情報統合部は、前記マッピング情報記憶部に新たなマッピング情報が記憶されたことを機に、当該マッピング情報に含まれるメンバー情報と同じメンバー情報を持つマッピング情報を検索する、
請求項１又は２に記載のパケット転送装置。
【請求項４】
基盤ネットワークを論理的に分割した仮想ネットワーク上でのマルチキャスト通信に用いる複数のマッピング情報のうち、少なくとも１つのマッピング情報を用いて前記マルチキャスト通信を行うパケット転送装置と、
前記マルチキャスト通信の通達範囲が同一であるマッピング情報同士を統合するマッピング情報統合部と、
前記パケット転送装置を介して前記マルチキャスト通信を行う仮想マシンを提供するサーバと、を備え、
前記複数のマッピング情報は、それぞれ前記仮想ネットワークで使用する第１のマルチキャストマッピングアドレスと、前記基盤ネットワークで使用する第２のマルチキャストマッピングアドレスと、当該マルチキャスト通信に参加するメンバーを示すメンバー情報とを含み、
前記パケット転送装置は、
前記マルチキャスト通信の通達範囲が同一であるマッピング情報同士を統合し、前記統合されたマッピング情報を用いて前記マルチキャスト通信を行う、
通信システム。
【請求項５】
基盤ネットワークを論理的に分割した仮想ネットワーク上で行うマルチキャスト通信に用いる複数のマッピング情報を記憶するステップと、
前記複数のマッピング情報のうち、少なくとも１つのマッピング情報を用いてマルチキャストパケットをカプセル化するステップと、
前記マルチキャスト通信の通達範囲が同一であるマッピング情報同士を統合するステップと、
を含み、
前記複数のマッピング情報は、それぞれ前記仮想ネットワークで使用する第１のマルチキャストマッピングアドレスと、前記基盤ネットワークで使用する第２のマルチキャストマッピングアドレスと、当該マルチキャスト通信に参加するメンバーを示すメンバー情報とを含み、
前記マルチキャストパケットをカプセル化するステップにおいて、前記統合されたマッピング情報を用いて前記第１のマルチキャストアドレスに対応付けられた前記第２のマルチキャストアドレスを用いて前記マルチキャストパケットのカプセル化を行う、
通信方法。
【請求項６】
基盤ネットワークを論理的に分割した仮想ネットワーク上で行うマルチキャスト通信に用いる複数のマッピング情報を記憶する処理と、
前記複数のマッピング情報のうち、少なくとも１つのマッピング情報を用いてマルチキャストパケットをカプセル化する処理と、
前記マルチキャスト通信の通達範囲が同一であるマッピング情報同士を統合する処理と、
をパケット転送装置に実行させ、
前記複数のマッピング情報は、それぞれ前記仮想ネットワークで使用する第１のマルチキャストマッピングアドレスと、前記基盤ネットワークで使用する第２のマルチキャストマッピングアドレスと、当該マルチキャスト通信に参加するメンバーを示すメンバー情報とを含み、
前記マルチキャストパケットをカプセル化する処理において、前記パケット転送装置に、前記統合されたマッピング情報を用いて前記第１のマルチキャストアドレスに対応付けられた前記第２のマルチキャストアドレスを用いて前記マルチキャストパケットのカプセル化を行わせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１４−００５６３７号（２０１４年  １月１６日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、パケット転送装置、制御装置、通信システム、通信方法及びプログラムに関し、特に、基盤ネットワーク（Ｓｕｂｓｔｒａｔｅ  Ｎｅｔｗｏｒｋ）上に構成された仮想ネットワーク上のマルチキャストパケットを取り扱うパケット転送装置、制御装置、通信システム、通信方法及びプログラムに関する。
【背景技術】
【０００２】
近年、大規模データセンター環境、また、その上での仮想計算機環境の利用が増え、仮想計算機環境上でのＳＤＮ（Ｓｏｆｔｗａｒｅ−Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）構築が行われている。このとき、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などでは、ネットワーク装置の区画資源の少なさや、ネットワーク機器の設定の複雑さという問題が発生するため、エッジオーバレイを構築するためのオーバレイネットワーク技術が使用される。
【０００３】
エッジオーバレイネットワーク技術としては、ＶＸＬＡＮ  （Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）  や  ＮＶＧＲＥ  （Ｎｅｔｗｏｒｋ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ｕｓｉｎｇ  Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）などのトンネリング技術が用いられる（非特許文献１、２参照）。これらの技術は、仮想計算機上に構築される仮想ネットワークの通信をカプセル化して、仮想計算機環境を構築しているネットワーク機器で構成される基盤ネットワーク（Ｓｕｂｓｔｒａｔｅ  Ｎｅｔｗｏｒｋ；物理ネットワーク）に通信を流す。これらトンネリング技術では、カプセリングの際に、仮想ネットワークＩＤを付加することで、仮想的に、仮想ネットワークの区画資源を増やすことが可能となっている。また、これらトンネリング技術では、基盤ネットワークの通信を用いることで、ネットワーク機器への設定の負担を削減している。
【０００４】
しかしながら、これらのトンネリング技術は、ブロードキャスト、マルチキャスト、Ｕｎｋｎｏｗｎ  ユニキャストに関しては、その処理を詳細に規定しておらず、基盤ネットワークのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）マルチキャスト技術を用いることが定められている程度である。このＩＰマルチキャストアドレスは、共有されることもあるが、通常、仮想ネットワークＩＤごとに設定され、構築する仮想計算機環境のネットワーク、即ち、対象仮想ネットワークの全域に届けられている（非特許文献１の「４．２．  Ｂｒｏａｄｃａｓｔ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ  ｔｏ  Ｍｕｌｔｉｃａｓｔ」、非特許文献２の「４．１．  Ｂｒｏａｄｃａｓｔ  ａｎｄ  Ｍｕｌｔｉｃａｓｔ  Ｔｒａｆｆｉｃ」参照）。
【０００５】
特許文献１には、ＴＲＩＬＬ（Ｔｒａｎｓｐａｒｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｏｆ  Ｌｏｔｓ  ｏｆ  Ｌｉｎｋｓ）ヘッダと呼ばれるヘッダによりパケットをカプセル化する構成に用いるスイッチが開示されている。同文献によると、このスイッチは、マルチキャストパケットと関連付けられるソースアドレス、マルチキャストアドレス、およびマルチキャストツリー識別子フィールドに基づいて、内部マルチキャストグループ識別子を判定するように構成される判定機構と、該内部マルチキャストグループ識別子に基づいて該マルチキャストパケットを転送するように構成される転送機構とを備えている。
【０００６】
非特許文献３は、オープンフローと呼ばれるネットワーク制御技術のホワイトペーパーである。オープンフローを用いることで、オープンフロースイッチをトンネリング技術のＴＥＰ装置として機能させることもできる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２０１３−５２８３４０号公報
【非特許文献】
【０００８】
【非特許文献１】Ｍ．Ｍａｈａｌｉｎｇａｍほか７名、“ＶＸＬＡＮ：  Ａ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｏｖｅｒｌａｙｉｎｇ  Ｖｉｒｔｕａｌｉｚｅｄ  Ｌａｙｅｒ  ２  Ｎｅｔｗｏｒｋｓ  ｏｖｅｒ  Ｌａｙｅｒ  ３  Ｎｅｔｗｏｒｋ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年１１月１１日検索］、インターネット〈URL:http://tools.ietf.org/pdf/draft-mahalingam-dutt-dcops-vxlan-02.pdf〉
【非特許文献２】Ｍ．Ｓｒｉｄｈａｒａｎほか９名、“ＮＶＧＲＥ：  Ｎｅｔｗｏｒｋ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ｕｓｉｎｇ  Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年１１月１１日検索］、インターネット〈URL:http://tools.ietf.org/pdf/draft-sridharan-virtualization-nvgre-01.pdf〉
【非特許文献３】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年１１月１１日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以下の分析は、本発明によって与えられたものである。図３７に仮想ネットワークを構築する一例を示す。ストリーミングサーバ１１１（Ｖｉｄｅｏ  ＶＭ  １）とクライアント端末１１２（Ｃｌｉｅｎｔ  ＶＭ  １）が１つの仮想ネットワークに属するものとする。このとき、仮想ネットワークのパケット転送装置（不図示）となる仮想スイッチ（不図示）内において、ＴＥＰ（Ｔｕｎｎｅｌ  Ｅｎｄ  Ｐｏｉｎｔ）装置１０１、１０２がトンネリング技術によりカプセル化、デカプセル化を行うことで、仮想ネットワークと基盤ネットワークとの分離を行う。
【００１０】
前記ストリーミングサーバ１１１（Ｖｉｄｅｏ  ＶＭ  １）とクライアント端末１１２（Ｃｌｉｅｎｔ  ＶＭ  １）の属する仮想ネットワークの仮想ネットワークＩＤ（ＶＸＬＡＮの「ＶＮＩ」、ＮＶＧＲＥの「ＴＮＩ」に相当）が１であるとする。このとき、仮想ネットワークＩＤ＝１に対し、ＩＰマルチキャストアドレス（図例では２３９．０．０．１）を設定し、各々の属するＴＥＰ装置１０２及びＴＥＰ装置１０１が基盤ネットワークのマルチキャスト網を構築する。今後、仮想ネットワークＩＤ＝１に属する端末におけるブロードキャスト、マルチキャスト、Ｕｎｋｎｏｗｎ  ユニキャストは、基盤ネットワークでは、このＩＰマルチキャストアドレス２３９．０．０．１を用いて通信される。
【００１１】
同様に、ストリーミングサーバ１２１（Ｖｉｄｅｏ  ＶＭ  ２）とクライアント端末１２２（Ｃｌｉｅｎｔ  ＶＭ  ２）が仮想ネットワークＩＤ＝２の別の仮想ネットワークに属するとする。このとき、仮想ネットワークＩＤ＝２に対し、ＩＰマルチキャストアドレス（図例では２３９．０．０．２）を設定し、各々の属するＴＥＰ装置１０２及びＴＥＰ装置１０３が基盤ネットワークのマルチキャスト網を構築する。
【００１２】
これらのＩＰマルチキャストアドレスは、各仮想ネットワークを構築する際に、各々のＴＥＰ装置デバイスに事前設定したり、外部設定制御装置から設定したりする必要がある。また、このＩＰマルチキャストアドレスは、明確に分割しない場合、同一マルチキャストアドレスを用いることもできる。例えば、図３７の例では、仮想ネットワークＩＤ＝２用に２３９．０．０．２を用いたが、仮想ネットワークＩＤ＝１に対して設定されている２３９．０．０．１を用いても構わない。このとき、ＴＥＰ装置１０１、ＴＥＰ装置１０２、ＴＥＰ装置１０３すべてが同一ＩＰマルチキャストアドレス２３９．０．０．１を用いるため、基盤ネットワークで行われるマルチキャスト通信はすべてのＴＥＰ装置に通信されることになる。各ＴＥＰ装置が仮想ネットワーク内にデカプセリングするときに仮想ネットワークＩＤで認識し、内部（ＶＭ側）に通信するかどうかを認識することができる。
【００１３】
上記のように仮想ネットワーク内で複数のマルチキャスト通信を扱うとき、それらマルチキャスト通信の本来の通信範囲は異なる。一方で、前述のように、基盤ネットワークでのマルチキャスト通信は、仮想ネットワーク全域に届くように通信が行われることがある。このとき、仮想ネットワーク内のマルチキャスト通信は、そのマルチキャスト領域に拘わらず、仮想ネットワークが属する基盤ネットワークの回線をすべて利用する。これは、マルチキャストの回線利用効率性を損なう。
【００１４】
上記した方式の問題点について図３８を用いて別の視点から説明する。すべての端末に、同一ネットワークＩＤの仮想ネットワークが設定されているとする。このとき、クライアント端末２１２（Ｃｌｉｅｎｔ  ＶＭ  １−１）とクライアント端末２１３（Ｃｌｉｅｎｔ  ＶＭ  １−２）は、ストリーミングサーバ２１１（Ｖｉｄｅｏ  ＶＭ  １）からストリーミングを受信したいため、仮想ネットワーク上でマルチキャスト通信を行う。同様に、クライアント端末２２２（Ｃｌｉｅｎｔ  ＶＭ  ２−１）とクライアント端末２２３（Ｃｌｉｅｎｔ  ＶＭ  ２−２）は、ストリーミングサーバ２２１（Ｖｉｄｅｏ  ＶＭ  ２）からストリーミングを受信したいため、仮想ネットワーク上でマルチキャスト通信を行う。このとき、ストリーミングサーバ２１１から発信されるマルチキャスト通信は、ＴＥＰ装置２０１を通り、ＴＥＰ装置２０２に通信できれば十分であるが、同一仮想ネットワークを構築しているため、ＴＥＰ装置２０３にもマルチキャスト通信が行われる。その後、ＴＥＰ装置２０３の先、本例では、クライアント端末２２２（Ｃｌｉｅｎｔ  ＶＭ  ２−１）とクライアント端末２２３  （Ｃｌｉｅｎｔ  ＶＭ  ２−２）が受信を拒否することで、受信される端末としては正しくなる。しかしながら、図３８に示したように、ＲｏｕｔｅｒからＴＥＰ装置２０３の回線の利用、もしくは、その先のネットワーク資源を意味なく利用する。
【００１５】
上記マルチキャストによりネットワーク資源の利用効率が損なわれる点は、特許文献１の段落０１３９にも記載されている。しかしながら、同文献には、ＩＶＮＩＤ（内部仮想ネットワークＩＤ）に基づいてマルチキャストパケットをフィルタリングすることが開示されているに止まり、如何にしてＩＶＮＩＤ（内部仮想ネットワークＩＤ）を設定するかや、スイッチ間で動的に共有する仕組みについては記載されていない。
【００１６】
本発明は、仮想ネットワークでマルチキャスト通信を行うためのＩＰマルチキャストアドレスの事前設定を省力化するとともに、前記基盤ネットワークの通信利用効率の向上に貢献できるパケット転送装置、制御装置、通信システム、通信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
第１の視点によれば、特定のパケット転送装置が提供される。このパケット転送装置は、基盤ネットワークを論理的に分割した仮想ネットワークを流れるパケットがマルチキャスト通信のパケットであるか否かを判定するマルチキャスト判定部を有する。このパケット転送装置は、さらに、前記論理的に分割された仮想ネットワーク側で用いる第１のマルチキャストアドレスと前記基盤ネットワーク内で使用可能なマルチキャストアドレスから使用する第２のマルチキャストアドレスとを対応付けたマッピング情報を記憶するマルチキャストマッピング情報記憶部を有する。このパケット転送装置は、さらに、新規に発生したマルチキャスト通信の第１のマルチキャストアドレスに対して、前記第２のマルチキャストアドレスを割り当てて、前記マッピング情報として管理するマルチキャストマッピング部を有する。このパケット転送装置は、さらに、前記仮想ネットワークを流れるパケットを、前記基盤ネットワークを介して対向するパケット転送装置に到達できるようカプセリングするパケットカプセリング部を有する。そして、前記パケットカプセリング部は、前記仮想ネットワークのマルチキャスト通信のパケットについて、前記第１のマルチキャストアドレスに対応付けられた第２のマルチキャストアドレスを用いてカプセリングを行う。
【００１８】
第２の視点によれば、上記したパケット転送装置に制御情報を設定することにより、前記パケット転送装置の機能を実現する制御装置が提供される。
【００１９】
第３の視点によれば、マルチキャスト機能を備えたルータが配置された基盤ネットワークと、上記したパケット転送装置と、前記基盤ネットワーク及び前記パケット転送装置を介して通信する仮想マシンを提供するサーバと、を含む通信システムが提供される。
【００２０】
第４の視点によれば、基盤ネットワークを論理的に分割した仮想ネットワークを流れるパケットを、前記基盤ネットワークを介して対向するパケット転送装置に到達できるようカプセリングして通信するパケット転送装置において、前記仮想ネットワークを流れるパケットがマルチキャスト通信のパケットであるか否かを判定するステップと、前記仮想ネットワークのマルチキャスト通信に関して、前記論理的に分割された仮想ネットワーク側で用いる第１のマルチキャストアドレスに対して、前記基盤ネットワーク内で使用可能なマルチキャストアドレスから使用する第２のマルチキャストアドレスを割り当てて、前記第１のマルチキャストアドレスと第２のマルチキャストアドレスとを対応付けたマッピング情報として記憶するマルチキャストマッピング情報記憶部にて管理するステップと、前記仮想ネットワークのマルチキャスト通信のパケットに関して、前記第１のマルチキャストアドレスに対応付けられた第２のマルチキャストアドレスを用いてカプセリングを行うステップと、を含む通信方法が提供される。本方法は、基盤ネットワークを含む物理ネットワークを論理的に分割した仮想ネットワークを流れるパケットを処理するパケット転送装置という、特定の機械に結びつけられている。
【００２１】
第５の視点によれば、基盤ネットワークを論理的に分割した仮想ネットワークを流れるパケットを、前記基盤ネットワークを介して対向するパケット転送装置に到達できるようカプセリングして通信するパケット転送装置に搭載されたコンピュータに、前記仮想ネットワークを流れるパケットがマルチキャスト通信のパケットであるか否かを判定する処理と、前記仮想ネットワークのマルチキャスト通信に関して、前記論理的に分割された仮想ネットワーク側で用いる第１のマルチキャストアドレスに対して、前記基盤ネットワーク内で使用可能なマルチキャストアドレスから使用する第２のマルチキャストアドレスを割り当てて、前記第１のマルチキャストアドレスと第２のマルチキャストアドレスとを対応付けたマッピング情報として記憶するマルチキャストマッピング情報記憶部にて管理する処理と、前記仮想ネットワークのマルチキャスト通信のパケットに関して、前記第１のマルチキャストアドレスに対応付けられた第２のマルチキャストアドレスを用いてカプセリングを行う処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
なお、前記したパケット転送装置のパケット転送装置、制御装置、通信システム、通信方法及びプログラムの各要素は、それぞれ上記した課題の解決に貢献する。
【発明の効果】
【００２２】
本発明によれば、仮想ネットワークでマルチキャスト通信を行うためのＩＰマルチキャストアドレスの事前設定を省力化するとともに、前記基盤ネットワークの通信利用効率の向上に貢献することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態のパケット転送装置の構成を示す図である。
【図３】本発明の第１の実施形態のパケット転送装置が保持するマッピング情報の例を示す図である。
【図４】本発明の第１の実施形態のパケット転送装置の動作（仮想ネットワーク用インタフェースからパケット受信時）を表した流れ図である。
【図５】本発明の第１の実施形態のパケット転送装置の動作（基盤ネットワーク用インタフェースからパケット受信時）を表した流れ図である。
【図６】本発明の第１の実施形態のパケット転送装置の動作の具体例（マッピング情報共有）を説明するための図である。
【図７】本発明の第１の実施形態のパケット転送装置の動作の具体例（マルチキャスト加入メッセージの書換と転送）を説明するための図である。
【図８】本発明の第１の実施形態のパケット転送装置の動作の具体例（マルチキャストデータの転送）を説明するための図である。
【図９】本発明の第１の実施形態のパケット転送装置の動作の具体例（クライアントからのマルチキャスト加入メッセージの転送）を説明するための図である。
【図１０】本発明の第１の実施形態のパケット転送装置の動作の具体例（グループのメンバーへのマルチキャストデータの転送）を説明するための図である。
【図１１】本発明の第１の実施形態のパケット転送装置の動作の具体例（異なるグループのメンバーへのマルチキャストデータの転送）を説明するための図である。
【図１２】本発明の第１の実施形態のパケット転送装置の動作の具体例（マルチキャストグループへのクエリーメッセージの転送）を説明するための図である。
【図１３】本発明の第１の実施形態のパケット転送装置の動作の具体例（クライアントからのマルチキャスト離脱メッセージの転送）を説明するための図である。
【図１４】本発明の第１の実施形態のパケット転送装置の動作の具体例（マルチキャストグループへの存在確認メッセージの転送）を説明するための図である。
【図１５】本発明の第１の実施形態のパケット転送装置の動作の具体例（マッピング情報共有）を説明するための図である。
【図１６】本発明の第１の実施形態のパケット転送装置の動作の具体例（マッピング情報調停）を説明するための図である。
【図１７】本発明の第１の実施形態のパケット転送装置の動作の具体例（マッピング情報調停結果に基づく再加入メッセージの送信）を説明するための図である。
【図１８】本発明の第２の実施形態のパケット転送装置とマルチキャストマッピング管理装置の構成を示す図である。
【図１９】本発明の第２の実施形態のマルチキャストマッピング管理装置が保持するマッピング情報の例を示す図である。
【図２０】本発明の第２の実施形態のパケット転送装置の動作（仮想ネットワーク用インタフェースからパケット受信時）を表した流れ図である。
【図２１】本発明の第２の実施形態のマルチキャストマッピング管理装置の動作（マッピング情報問い合わせ受信時）を表した流れ図である。
【図２２】本発明の第２の実施形態のパケット転送装置の動作（基盤ネットワーク用インタフェースからパケット受信時）を表した流れ図である。
【図２３】本発明の第２の実施形態のマルチキャストマッピング管理装置の動作（マッピング情報削除要求受信時）を表した流れ図である。
【図２４】本発明の第２の実施形態のパケット転送装置の動作の具体例（基盤ネットワーク用のマルチキャストアドレスの問い合わせ）を説明するための図である。
【図２５】本発明の第２の実施形態のパケット転送装置の動作の具体例（基盤ネットワーク用のマルチキャストアドレスの応答）を説明するための図である。
【図２６】本発明の第２の実施形態のパケット転送装置の動作の具体例（マルチキャスト加入メッセージの転送）を説明するための図である。
【図２７】本発明の第２の実施形態のパケット転送装置の動作の具体例（基盤ネットワーク用のマルチキャストアドレスの問い合わせ（クライアント用））を説明するための図である。
【図２８】本発明の第２の実施形態のパケット転送装置の動作の具体例（基盤ネットワーク用のマルチキャストアドレスの応答（クライアント用））を説明するための図である。
【図２９】本発明の第２の実施形態のパケット転送装置の動作の具体例（マルチキャスト加入メッセージの転送（クライアント用））を説明するための図である。
【図３０】本発明の第２の実施形態のパケット転送装置の動作の具体例（グループのメンバーへのマルチキャストデータの転送）を説明するための図である。
【図３１】本発明の第３の実施形態のパケット転送装置の構成を示す図である。
【図３２】本発明の第４の実施形態のパケット転送装置の構成を示す図である。
【図３３】本発明の第４の実施形態のマッピング情報統合部の動作の具体例（初期状態）を説明するための図である。
【図３４】本発明の第４の実施形態のマッピング情報統合部の動作の具体例（統合したマッピング情報の共有）を説明するための図である。
【図３５】本発明の第４の実施形態のパケット転送装置の動作の具体例（クライアントからのマルチキャスト離脱メッセージの転送）を説明するための図である。
【図３６】本発明の第４の実施形態のパケット転送装置の動作の具体例（異なるグループのメンバーへのマルチキャストデータの転送）を説明するための図である。
【図３７】トンネリング技術を用いて構築された仮想ネットワーク間のマルチキャストを説明するための図である。
【図３８】図３７の続図である。
【発明を実施するための形態】
【００２４】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００２５】
本発明は、その一実施形態において、図１に示すように、基盤ネットワークを含む物理ネットワークを論理的に分割した仮想ネットワークを流れるパケットがマルチキャスト通信のパケットであるか否かを判定するマルチキャスト判定部１１と、前記論理的に分割された仮想ネットワーク内の第１のマルチキャストアドレスと前記基盤ネットワーク内で使用可能なマルチキャストアドレスから使用する第２のマルチキャストアドレスとの対応関係を記憶するマルチキャストマッピング情報記憶部１３と、新規に発生したマルチキャスト通信の第１のマルチキャストアドレスに対して、前記第２のマルチキャストアドレスを割り当てて管理するマルチキャストマッピング部１２と、前記仮想ネットワークを流れるパケットを、前記基盤ネットワークを介して対向するパケット転送装置に到達できるようカプセリングするパケットカプセリング部１４と、を備えるパケット転送装置１Ａにて実現できる。
【００２６】
そして、前記パケットカプセリング部１４が、マルチキャスト判定部１１及びマルチキャストマッピング部１２からの指示に基づき、前記仮想ネットワークのマルチキャスト通信のパケットについて、前記第１のマルチキャストアドレスに対応付けられた第２のマルチキャストアドレスを用いてカプセリングを行う。このようにすることで、仮想ネットワークでマルチキャスト通信が基盤ネットワークに流入する際に、第２のマルチキャストアドレスによるカプセリングが行われる。基盤ネットワークにおいては、カプセリングされた第２のマルチキャストアドレスをベースに既存のグループ管理プロトコル等を用いて、グループ管理とこれに基づく転送が行われる。このため、事前設定をしなくとも、適正な範囲にマルチキャストパケットを転送することが可能となり、基盤ネットワークの通信利用効率の向上が達成される。
【００２７】
［第１の実施形態］
続いて、本発明の第１の実施形態について、図面を参照して詳細に説明する。図２は、本発明の第１の実施形態のパケット転送装置の構成を示す図である。図２を参照すると、マルチキャスト判定部１１と、マルチキャストマッピング部１２と、マルチキャストマッピング情報記憶部１３と、マルチキャストマッピング情報共有部１５と、パケットカプセリング部１４と、仮想ネットワーク、基盤ネットワークへそれぞれ通信パケットを送受信する仮想ネットワーク用インタフェース１８、基盤ネットワーク用インタフェース１９とを備えるパケット転送装置が示されている。
【００２８】
マルチキャスト判定部１１は、仮想ネットワーク用インタフェース１８から通信パケットを受信したとき、当該通信パケットがマルチキャストパケット、または、マルチキャスト制御メッセージかどうかを判定する。仮想ネットワーク用インタフェース１８から受信した通信パケットが、マルチキャストパケット、または、マルチキャスト制御メッセージである場合、マルチキャスト判定部１１は、マルチキャストマッピング部１２に対しマルチキャストパケットの情報を送付し、マッピング処理を要求する。このとき、マルチキャストパケットアドレスが、全マルチキャストドメインアドレス（ＩＰ  ｖｅｒｓｉｏｎ  ４では、２２４．０．０．１）のように特殊用途のアドレスである場合、マルチキャスト判定部１１は、ブロードキャストと同様の扱いにし、マッピング処理の要求対象とはしない。マルチキャストパケット、及び、マルチキャスト制御メッセージのいずれでもないと判定されたパケットは、パケットカプセリング部１４に転送される。
【００２９】
マルチキャストマッピング部１２は、マルチキャストパケットのマッピング処理を要求された場合、マルチキャストマッピング情報記憶部１３を参照し、該マルチキャストパケットアドレス（第１のマルチキャストアドレス）に対応する基盤ネットワーク用のマルチキャストアドレス（第２のマルチキャストアドレス）を抽出、又は、決定する。
【００３０】
マルチキャストマッピング部１２は、マルチキャストマッピング情報記憶部１３の参照の結果、基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）を抽出できた場合、パケットカプセリング部１４に対し、該抽出した基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）でのカプセリングを依頼する。
【００３１】
一方、基盤ネットワーク用マルチキャストアドレスを抽出できなかった場合、即ち、マルチキャストアドレスが前述の全マルチキャストドメインアドレス（ＩＰ  ｖｅｒｓｉｏｎ  ４では、２２４．０．０．１）である場合、マルチキャストマッピング部１２は、パケットカプセリング部１４に対し、当該仮想ネットワークを構築する際に設定されている基盤ネットワーク用マルチキャストアドレスでのカプセリングを依頼する。
【００３２】
また、マルチキャストマッピング部１２は、マルチキャスト判定部１１、または、パケットカプセリング部１４から、マルチキャスト制御メッセージのマッピング処理を要求された場合、その種類に応じて、次のように処理する。
【００３３】
まず、マルチキャスト制御メッセージのうち、マルチキャストグループへの加入メッセージに対するマッピング処理を要求された場合、マルチキャストマッピング部１２は、マルチキャストマッピング情報記憶部１３を参照し、加入マルチキャストアドレスに対応する基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）を抽出する。対応する基盤ネットワーク用マルチキャストアドレスが抽出できた場合、マルチキャストマッピング部１２は、パケットカプセリング部１４に対し、基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）でのマルチキャスト加入メッセージの送信を依頼する。
【００３４】
一方、加入マルチキャストアドレスに対応する制御基盤ネットワーク用マルチキャストアドレスが抽出できなかった場合、マルチキャストマッピング部１２は、新たなマルチキャストマッピング情報を決定し、マルチキャストマッピング情報記憶部１３へ対応関係を記録する。記録後、マルチキャストマッピング部１２は、マルチキャストマッピング情報共有部１５に対し、他のパケット転送装置への対応関係通達を依頼し、共有させる。共有処理後、マルチキャストマッピング部１２は、パケットカプセリング部１４に対し、基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）でのマルチキャスト制御加入メッセージの送信を依頼する。
【００３５】
なお、加入マルチキャストアドレスに対応する制御基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）が抽出できなかった場合の新たなマルチキャストマッピング情報の決定方法としては、予め条件、範囲等を設定しておいた使用可能なマルチキャストアドレスの中から未使用マルチキャストアドレスを選択する方法が挙げられる。
【００３６】
次に、マルチキャストマッピング部１２が、マルチキャスト制御メッセージの確認メッセージに対応するマッピング処理を要求された場合について説明する。マルチキャスト制御メッセージの確認メッセージに対応するマッピング処理を要求された場合、マルチキャストマッピング部１２は、マルチキャストマッピング情報記憶部１３を参照し、確認マルチキャストアドレスに対応する仮想ネットワーク用マルチキャストアドレスを抽出する。対応する仮想ネットワーク用マルチキャストアドレスが抽出できた場合、マルチキャストマッピング部１２は、パケットカプセリング部１４に対し、仮想ネットワーク用マルチキャストアドレスでのマルチキャスト確認メッセージの送信を依頼する。送信後、マルチキャストマッピング部１２は、マルチキャスト存在確認シーケンスを実行する（後述）。
【００３７】
ここで、対応する仮想ネットワーク用マルチキャストアドレスが抽出できない場合であるが、マルチキャストアドレスが全マルチキャストドメインアドレス（ＩＰ  ｖｅｒｓｉｏｎ  ４  では、２２４．０．０．１）であった場合、パケットカプセリング部１４に対し、マルチキャストアドレスを変更せずにマルチキャスト確認メッセージを送信するよう依頼する。送信後、マルチキャストマッピング部１２は、全マッピング情報に対して、マルチキャスト存在確認シーケンスを実行する。マルチキャスト存在確認シーケンスでマルチキャストのクライアントの存在が確認できない場合、マルチキャストマッピング部１２は、マルチキャストマッピング情報記憶部１３から、対応関係を削除する。前記以外で、対応する仮想ネットワーク用マルチキャストアドレスが抽出できない場合、マルチキャストマッピング部１２は、該受信マルチキャスト確認メッセージを破棄する。
【００３８】
次に、マルチキャストマッピング部１２が、マルチキャスト制御メッセージのグループ離脱メッセージに対するマッピング処理を要求された場合について説明する。この場合、マルチキャストマッピング部１２は、マルチキャストマッピング情報記憶部１３を参照し、離脱マルチキャストアドレスに対応する基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）を抽出する。離脱マルチキャストアドレスに対応する基盤ネットワーク用マルチキャストアドレスが抽出できた場合は、パケットカプセリング部１４に対し、基盤ネットワーク用マルチキャストアドレスでのマルチキャスト離脱メッセージの送信を依頼する。
【００３９】
マルチキャストマッピング情報記憶部１３は、少なくとも、仮想ネットワーク内のマルチキャストアドレス（第１のマルチキャストアドレス）に対応付けられた基盤ネットワークのマルチキャストアドレス（第２のマルチキャストアドレス）との対応関係を示すマッピング情報を記憶する。図３は、マルチキャストマッピング情報記憶部１３に保持されるマッピング情報の例を示す図である。なお、図３の例では省略されているが、各マルチキャストアドレスの対に、仮想ネットワークＩＤ等を対応付けておいてもよい。
【００４０】
パケットカプセリング部１４は、基盤ネットワークと仮想ネットワーク間を流れるパケットのカプセリング・デカプセリングを行うことで、ＴＥＰ装置として機能するパケット転送装置より接続された仮想ネットワーク同士を接続する。具体的には、パケットカプセリング部１４は、次の処理を行う。
【００４１】
パケットカプセリング部１４は、マルチキャスト判定部１１からマルチキャスト判定でないパケットを受信した場合、指定された宛先に対応するパケット転送装置へ通達可能な通信アドレスを用いてカプセリングする。具体的には、受信パケットがユニキャストパケットである場合、パケットカプセリング部１４は、非特許文献１、２の方法と同様に、相手のいるパケット転送装置（厳密にはＴＥＰ装置）へのアドレスとの通信としてカプセリングし、基盤ネットワーク用インタフェース１９を介して転送する。また、受信パケットがブロードキャストパケット又はＵｎｋｎｏｗｎユニキャストパケットである場合、パケットカプセリング部１４は、仮想ネットワークの構築に利用したマルチキャストパケットアドレスでカプセリングし、基盤ネットワーク用インタフェース１９を介して転送する。
【００４２】
また、パケットカプセリング部１４は、マルチキャストマッピング部１２からマルチキャストパケットのカプセリングを依頼された場合、マルチキャストマッピング部１２から指示された基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）を用いてカプセリングし、基盤ネットワーク用インタフェース１９を介して転送する。また、マルチキャストマッピング部１２から、マルチキャスト制御メッセージの転送を依頼された場合、パケットカプセリング部１４は、当該依頼に従いマルチキャスト制御メッセージを作成し、仮想ネットワーク用インタフェース１８、または、基盤ネットワーク用インタフェース１９を介して通信する。
【００４３】
また、パケットカプセリング部１４は、基盤ネットワーク用インタフェース１９からパケットを受信したとき、カプセリングされたパケットか否かと、自装置の管理対象の仮想ネットワークであるか否かをそれぞれ確認する。受信パケットが自装置の管理対象の仮想ネットワークに紐づけられたアドレスを持つパケットである場合、受信パケットをデカプセリングし、仮想ネットワーク用インタフェース１８を介して通信する。さらに、受信パケットをデカプセリングしたパケットがマッピング情報共有メッセージの場合、パケットカプセリング部１４は、マルチキャストマッピング情報共有部１５へマッピング情報共有メッセージを転送する。
【００４４】
マルチキャストマッピング情報共有部１５は、マルチキャストマッピング部１２からマルチキャスト情報の共有を依頼されたとき、仮想ネットワークのマルチキャストアドレスと基盤ネットワークのマルチキャストアドレスの対応関係を記したマッピング情報共有メッセージを作成する。マルチキャストマッピング情報共有部１５は、該マッピング情報共有メッセージをパケットカプセリング部１４へ通知し、デフォルトの仮想ネットワークの構築に利用したマルチキャストパケットアドレスでカプセリングし、送信させる。これにより、他のパケット転送装置とマッピング情報を共有する。
【００４５】
マルチキャストマッピング情報共有部１５は、パケットカプセリング部１４からマッピング情報共有メッセージを受信したときに、マルチキャストマッピング部１２を介して、マルチキャストマッピング情報記憶部１３に記憶する。マッピング情報共有メッセージにより送信されたマッピング情報が既存のマッピング情報と競合する場合、マルチキャストマッピング情報共有部１５は、予め定められた競合解決ルール（競合解決アルゴリズム）により競合状態を解消する。前記競合解決ルールを適用した結果、マッピング情報共有メッセージにより送信されたマッピング情報を登録しない場合がある。この場合、マルチキャストマッピング情報共有部１５は、競合解決メッセージを作成し、パケットカプセリング部１４を介して、仮想ネットワークの構築に利用したマルチキャストパケットアドレスでカプセリングし、他のパケット転送装置のマルチキャストマッピング情報共有部１５へと通知する。
【００４６】
仮想ネットワーク用インタフェース１８、および、基盤ネットワーク用インタフェース１９は、それぞれ、仮想ネットワークのパケット、基盤ネットワークのパケットの送受信を行う。これらは、同一の物理インタフェースとして実現されていても構わない。
【００４７】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図４は、本発明の第１の実施形態のパケット転送装置の動作（仮想ネットワーク用インタフェースからパケット受信時）を表した流れ図である。図４を参照すると、仮想ネットワーク用インタフェース１８は、パケットを受信すると、マルチキャスト判定部１１へ受信パケットを渡す。マルチキャスト判定部１１は、該受信パケットがマルチキャストパケット、または、マルチキャスト通信制御メッセージかどうかを判定する（ステップＳ１１０１）。
【００４８】
マルチキャスト通信、及び、マルチキャスト通信制御メッセージのいずれでもない場合（ステップＳ１１０１のＮｏ）、マルチキャスト判定部１１は、該受信パケットをパケットカプセリング部１４へ渡し、カプセリングを行わせる。ユニキャスト通信の通信相手情報を保持している場合、パケットカプセリング部１４は、当該通信相手が接続されているパケット転送装置へのユニキャスト通信としてカプセリングし、基盤ネットワーク用インタフェース１９へ渡す。それ以外の場合（ブロードキャストパケット又はＵｎｋｎｏｗｎユニキャストパケット等）、パケットカプセリング部１４は、該当仮想ネットワークの基盤ネットワーク用マルチキャストアドレスを用いてカプセリングし、基盤ネットワーク用インタフェース１９へ渡す。基盤ネットワーク用インタフェース１９は、基盤ネットワークに、前記カプセリング済みのパケットを送信する（ステップＳ１１０６）。
【００４９】
一方、該受信パケットが、マルチキャスト通信、または、マルチキャスト通信制御メッセージの場合、マルチキャスト判定部１１は、マルチキャストマッピング部１２に対し、該パケットを渡す。マルチキャストマッピング部１２は、マルチキャストマッピング情報記憶部１３を参照し、受信パケットのマルチキャストアドレス（第１のマルチキャストアドレス）と、基盤ネットワークのマルチキャストアドレス（第２のマルチキャストアドレス）とを対応付けたマッピング情報を検索する（ステップＳ１１０２）。
【００５０】
マルチキャストマッピング部１２は、該受信パケットに対応するマッピング情報が見つかった場合（ステップＳ１１０３のＹＥＳ）、パケットカプセリング部１４に対し、前記マッピング情報とともに受信パケットを渡し、カプセリングを行わせる。パケットカプセリング部１４は、該受信パケットがマルチキャストパケットの場合、前記マッピング情報にて指定された基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）を用いてカプセリングし、基盤ネットワーク用インタフェース１９へ渡す。一方、該受信パケットがマルチキャスト制御メッセージの場合、パケットカプセリング部１４は、制御マルチキャストアドレス情報を前記マッピング情報にて指定された基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）に置きかえ、基盤ネットワーク用インタフェース１９へ渡す。基盤ネットワーク用インタフェース１９は、該カプセリング済みパケットを基盤ネットワークに送信する（ステップＳ１１０６）。
【００５１】
ステップＳ１１０３において、受信パケットに対応するマッピング情報が見つからなかった場合、マルチキャストマッピング部１２は、メッセージの種別に応じて次の処理を行う。まず、受信パケットがグループ離脱メッセージの場合、マルチキャストマッピング部１２は、該パケットを破棄して終了する（ステップＳ１１０４のＬｅａｖｅ）。
【００５２】
また、受信パケットがグループ加入メッセージの場合（ステップＳ１１０４のＲｅｐｏｒｔ（Ｊｏｉｎ））、マルチキャストマッピング部１２は、仮想ネットワークのマルチキャストアドレス（第１のマルチキャストアドレス）と基盤ネットワークのマルチキャストアドレス（第２のマルチキャストアドレス）のマッピング情報を作成し、マルチキャストマッピング情報記憶部１３へ登録する。マルチキャストマッピング部１２は、作成したマッピング情報を共有するためのマッピング情報共有メッセージを作成し、パケットカプセリング部１４へ該当仮想ネットワークの基盤ネットワーク用マルチキャストアドレスを用いてカプセリングを依頼する。パケットカプセリング部１４は、前記マッピング情報共有メッセージを該当仮想ネットワークの基盤ネットワーク用マルチキャストアドレスでカプセリングし、基盤ネットワーク用インタフェース１９を介して基盤ネットワークに対し、該カプセリング済みのパケットを送信する（ステップＳ１１０５）。
【００５３】
その後、マルチキャストマッピング部１２は、パケットカプセリング部１４に対し、受信パケットであるマルチキャスト加入メッセージを、前記新規に作成したマッピング情報で変換するよう依頼する。パケットカプセリング部１４は、前記マルチキャスト加入メッセージの制御マルチキャストアドレス情報を該マッピング情報にて指定された基盤ネットワーク用マルチキャストアドレス（第２のマルチキャストアドレス）に置きかえ、基盤ネットワーク用インタフェース１９を介して基盤ネットワークに送信する（ステップＳ１１０６）。
【００５４】
前記マルチキャストアドレスのマッピング情報の作成方法の一例としては、事前に使用可能な基盤マルチキャストアドレスを用意しておき、その中から１つ選択する方法が挙げられる。その際に、仮想ネットワーク単位に使用可能範囲を設定しておくことも好ましい。この事前設定の方法自体も、装置個別に設定する方法や、仮想ネットワークの基本設定をする際に外部設定統合コントローラから設定する方法などが挙げられる。
【００５５】
また、ステップＳ１１０４において、受信パケットがマルチキャスト通信の場合（Ｓ１１０４のＭｕｌｔｉｃａｓｔ）、マルチキャストマッピング部１２は、パケットカプセリング部１４へ該当仮想ネットワークの基盤ネットワーク用マルチキャストアドレスを用いてカプセリングを依頼する。パケットカプセリング部１４は、受信マルチキャストパケットを該当仮想ネットワークの基盤ネットワーク用マルチキャストアドレスでカプセリングし、基盤ネットワーク用インタフェース１９を介して基盤ネットワークに、前記カプセリング済みパケットを送信する（ステップＳ１１０６）。
【００５６】
以上の処理により、仮想ネットワークからの受信パケットのカプセリング制御が実現される。
【００５７】
続いて、基盤ネットワーク用インタフェース１９からパケットを受信した際のパケット転送装置の動作について説明する。図５は、本発明の第１の実施形態のパケット転送装置の動作（基盤ネットワーク用インタフェースからパケット受信時）を表した流れ図である。
【００５８】
図５を参照すると、基盤ネットワーク用インタフェース１９は、基盤ネットワーク側からパケットを受信すると、パケットカプセリング部１４に対し、受信パケットを渡す。パケットカプセリング部１４は、該受信パケットがカプセリングされているかどうかを確認する（ステップＳ１２０１）。
【００５９】
パケットカプセリング部１４は、受信パケットがカプセリングされていない場合（ステップＳ１２０１のＮｏ）、マルチキャスト制御メッセージかどうかを確認する（ステップＳ１２０２）。受信パケットがカプセリングされておらず、マルチキャスト制御メッセージでもない場合、パケットカプセリング部１４は、受信パケットを破棄する（ステップＳ１２０２のＮｏ）。
【００６０】
一方、受信パケットがマルチキャスト制御メッセージの場合（ステップＳ１２０２のＹｅｓ）、パケットカプセリング部１４は、該マルチキャストマッピング部１２へ該受信パケットを渡し、受信パケットのマルチキャストアドレスに対応するマッピング情報の検索を依頼する。マルチキャストマッピング部１２は、マルチキャストマッピング情報記憶部１３を参照し、該受信パケットのマルチキャストアドレスに対応するマッピング情報を検索する（ステップＳ１２０３）。
【００６１】
受信パケットのマルチキャストアドレスに対応するマッピング情報が見つかった場合、マルチキャストマッピング部１２は、パケットカプセリング部１４に対し、該受信パケットとマッピング情報を転送する。また、受信パケットのマルチキャストアドレスが全マルチキャストドメインアドレス（例えば、前述のＩＰ  ｖｅｒｓｉｏｎ  ４  では、２２４．０．０．１）である場合も同様に、マルチキャストマッピング部１２は、パケットカプセリング部１４に対し、該受信パケットのアドレスの変換せずに転送することを依頼する。
【００６２】
パケットカプセリング部１４は、マッピング情報に基づいて、受信パケット（マルチキャスト制御メッセージ）の制御対象マルチキャストアドレスを、仮想ネットワーク用マルチキャストアドレス（第１のマルチキャストアドレス）へ変更する。マルチキャストマッピング部１２は、仮想ネットワーク用インタフェース１８を介し、仮想ネットワークへ該変更後のマルチキャスト制御メッセージを送信する。このとき、マルチキャスト制御メッセージが確認メッセージ（Ｑｕｅｒｙ）である場合、パケットカプセリング部１４は、マルチキャスト存在確認シーケンスを実行する（ステップＳ１２０４のＹｅｓ〜Ｓ１２０５）。
【００６３】
マルチキャストマッピング部１２は、該受信パケットに対応するマルチキャストマッピング情報が抽出できない場合、該受信パケットを破棄して終了する（ステップＳ１２０４  Ｎｏ）。
【００６４】
ステップＳ１２０１において、受信パケットがカプセリングされていた場合（ステップＳ１２０１のＹｅｓ）、パケットカプセリング部１４は、受信パケットをデカプセリングし、内部メッセージを取り出す（ステップＳ１２０６）。
【００６５】
パケットカプセリング部１４は、該デカプセリング後のパケットがマルチキャスト共有メッセージであるか否かを確認する。パケットがマルチキャスト共有メッセージでない場合（ステップＳ１２０７のＮｏ）、パケットカプセリング部１４は、仮想ネットワーク用インタフェース１８を介し、仮想ネットワークへ該デカプセリングパケットを送信する（ステップＳ１２０８）。
【００６６】
一方、デカプセリング後のパケットがマルチキャスト共有メッセージである場合ステップＳ１２０７のＹｅｓ）、パケットカプセリング部１４は、マルチキャストマッピング情報共有部１５へ通知する。マルチキャストマッピング情報共有部１５は、該マルチキャスト共有メッセージを元に、マルチキャストマッピング部１２に、マルチキャストマッピング情報記憶部１３へのマッピング情報を登録させる。このとき、マルチキャストマッピング情報共有部１５は、マッピング情報の調停アルゴリズムを動作させることができる。調停アルゴリズムによる調停の結果、自装置のマッピング情報を優先するとき、マルチキャストマッピング情報共有部１５は、再び、他のパケット転送装置のマッピング情報共有部１５に対し、自装置側のマッピング情報の送信を行う。具体的には、マルチキャストマッピング情報共有部１５からの指示に基づきパケットカプセリング部１４が、該当仮想ネットワークの基盤ネットワーク用マルチキャストアドレスを用いてマルチキャスト共有メッセージをカプセリングし、送信する（ステップＳ１２０９）。
【００６７】
マッピング情報の調停アルゴリズムの一例としては、識別子による優先度を設定し、優先度の高いマッピング情報を選択する方法が挙げられる。識別子の例としては、装置ＩＤ、装置ＩＦアドレス、装置設定優先度、マッピング情報の利用マルチキャストアドレス、マッピング情報作成時間のうち少なくとも１つ以上を用い、順序づけられた中で優先されるマッピング情報を選択する方法が挙げられる。
【００６８】
以上のように、基盤ネットワークから受信したパケットのデカプセリング制御が実現される。
【００６９】
続いて、図６〜図１７を参照して、第１の実施形態の構成による具体的な動作を説明する。図中の用語やメッセージの表記について説明する。図６〜図１７のＶｉｄｅｏ  ＶＭ  １、Ｖｉｄｅｏ  ＶＭ  ２はストリーミングサーバであり、Ｃｌｉｅｎｔ  ＶＭ  １−１、１−２、２−１、２−２は、このストリーミングサーバからストリーミングデータを受信するクライアントであり、Ｒｏｕｔｅｒ３００は、ＩＰマルチキャスト機能を備えたルータ（以下、「マルチキャストルータ」とも記載）であり、基盤ネットワークに少なくとも１つ配置されている。また、図６〜図１７のＴＥＰ（装置）３０１〜３０３は、それぞれ上記した第１の実施形態のパケット転送装置１によって構成されている。なお、以下の説明において、Ｖｉｄｅｏ  ＶＭ及びＣｌｉｅｎｔ  ＶＭは、それぞれＴＥＰ（装置）に接続されたサーバ上で、サーバ仮想化技術を用いて動作する仮想的なエンティティである。
【００７０】
ここでは、ストリーミングサーバ３１１は、クライアント３１２及び３１３に対してマルチキャストでストリーミングデータを送信する。このときのマルチキャストアドレスは、２２５．０．０．１とする。同様に、ストリーミングサーバ３２１は、クライアント３２２、３２３に対してマルチキャストでストリーミングデータを送信する。このときのマルチキャストアドレスは、２２６．０．０．１とする。前記２台のストリーミングサーバ及び４台のクライアントは、同一グループとして、単一仮想ネットワークを構築している。このときの仮想ネットワーク用マルチキャストアドレスとして、２３９．０．０．１が設定されているものとする。また、マッピング使用マルチキャストアドレスは、２３８．０．０．１から随時使用する。
【００７１】
また、以下の説明では、マルチキャストグループの管理プロトコルとして、ＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）を用いるものとし、そのマルチキャスト制御メッセージを、『ＩＧＭＰ  ［メッセージタイプ］  ［対象ＩＰアドレス］』として表記する。それぞれに付属する付加情報は省略する。メッセージタイプは、加入メッセージを『Ｒｅｐｏｒｔ（ｊｏｉｎ）』、確認メッセージを『Ｑｕｅｒｙ』、離脱メッセージを『Ｌｅａｖｅ』としてそれぞれ表記する。Ｌｅａｖｅに対する離脱確認メッセージＧｒｏｕｐＳｐｅｃｉｆｉｃＱｕｅｒｙは確認メッセージと同じで『Ｑｕｅｒｙ』として扱うが、実現方式に応じて別々に扱ってよいことは明白であることをここに記載しておく。
【００７２】
通信メッセージは、『［アドレス］  ｛  ［メッセージ］  ｝  』で表現する。アドレスは送信先アドレスのみを記載する。実際には送信元アドレスや属性情報などが付随するが本例では省略する。カプセリングした場合は、この通信メッセージがメッセージボディとなるため、『［カプセリングアドレス］  ｛  ［被カプセリングアドレス］  ｛メッセージ｝  ｝』と表記される。マッピング情報共有メッセージは、『Ｓｈａｒｅｄ  Ｉｎｎｅｒ  ［仮想ネットワークアドレス］  Ｏｕｔｅｒ  ［基盤ネットワークアドレス］』として表現する。また、アプリケーションが実際に扱うデータは『ＤＡＴＡ』として表現する。
【００７３】
［マルチキャストグループの作成、マッピング、カプセリング］
まず、マルチキャストサービスの開始に当たり、ストリーミングサーバ３１１は、マルチキャスト加入メッセージとして、ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）の２２５．０．０．１を送信する。該パケットを受信したＴＥＰ（パケット転送装置）３０１は、該パケットを仮想ネットワークからのパケット受信として扱う（図４の処理開始）。ＴＥＰ（パケット転送装置）３０１のマルチキャスト判定部１１は、該パケットをマルチキャスト制御メッセージと判断し、マルチキャストマッピング部１２へマッピング情報の検索を依頼する（図４のステップＳ１１０１〜Ｓ１１０２）。
【００７４】
マルチキャストマッピング部１２は、該当するマッピング情報を発見できなかったため、メッセージ種別を把握し、加入メッセージ（Ｒｅｐｏｒｔ）であることを確認する。このため、マルチキャストマッピング部１２は、マッピング使用マルチキャストアドレスから、基盤ネットワーク用マルチキャストアドレスとして、２３８．０．０．１を選択し、マッピング情報を作成する。マルチキャストマッピング部１２は、前記作成したマッピング情報をマルチキャストマッピング情報記憶部１３に記憶する（図３の１番目のエントリ参照）。
【００７５】
マルチキャストマッピング部１２は、マルチキャストマッピング情報共有部１５に前記作成したマッピング情報を渡し、他のＴＥＰ（パケット転送装置）へのマッピング情報共有を依頼する。マルチキャストマッピング情報共有部１５は、マッピング情報共有メッセージ『Ｓｈａｒｅｄ  Ｉｎｎｅｒ  ２２５．０．０．１  Ｏｕｔｅｒ  ２３８．０．０．１』を作成し、パケットカプセリング部１４へ仮想ネットワーク構築用マルチキャストアドレスでの転送を依頼する。
【００７６】
パケットカプセリング部１４は、仮想ネットワーク構築用マルチキャストアドレス２３９．０．０．１でカプセリングし、マルチキャスト通信をする。マルチキャストルータ３００は、仮想ネットワークに属する他のＴＥＰ装置３０２、および、３０３へとカプセリング済みマッピング情報共有メッセージを転送する（図４のステップＳ１１０３〜Ｓ１１０５）。
【００７７】
該カプセリングされたマッピング情報共有メッセージを受信したＴＥＰ装置３０２、３０３は、マッピング情報共有メッセージを基盤ネットワークからのパケット受信として扱う（図５の処理開始）。パケットカプセリング部１４は、対象がカプセリング済みパケットであるため、デカプセリングを行い、マッピング情報共有メッセージ『Ｓｈａｒｅｄ  Ｉｎｎｅｒ  ２２５．０．０．１  Ｏｕｔｅｒ  ２３８．０．０．１』を取り出す（図５のＳ１２０１〜Ｓ１２０６）。パケットカプセリング部１４は、デカプセリング結果がマッピング情報共有メッセージであるため、マルチキャストマッピング部１２へ通知し、マッピング情報をマルチキャストマッピング情報記憶部１３に記憶させる（図５のＳ１２０７〜Ｓ１２０９）。これらにより、マルチキャストマッピング情報が共有される。図６は、上記ストリーミングサーバ３１１からのマルチキャスト加入メッセージ（ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ））の送信により、マッピング情報が生成され、マッピング情報共有メッセージで他のＴＥＰ（パケット転送装置）と共有されるまでの流れを表している。
【００７８】
さらに、ＴＥＰ（パケット転送装置）３０１のマルチキャストマッピング部１２は、受信パケット『ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）  ２２５．０．０．１』と作成したマッピング情報をパケットカプセリング部１４へ渡す。パケットカプセリング部１４は、受け取った情報を元にマルチキャスト制御情報を基盤ネットワーク側マルチキャストアドレスに変換し、『ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）  ２３８．０．０．１』を作成する。パケットカプセリング部１４は、該変換後マルチキャスト制御メッセージを基盤ネットワーク側に送信する。図７は、ＴＥＰ（パケット転送装置）３０１が、基盤ネットワーク側に、変換後のマルチキャスト制御メッセージを送信した状態を示している。
【００７９】
以上により、仮想ネットワークのマルチキャストアドレス２２５．０．０．１は、基盤ネットワークの２３８．０．０．１に関連付けられ、マルチキャストルータ３００からはＴＥＰ装置３０１のみが属していることとなる。
【００８０】
その後、図８に示すように、ストリーミングサーバ３１１が、ストリーミングデータを流そうとすると、メッセージ『２２５．０．０．１  ｛ＤＡＴＡ｝』が流れ、ＴＥＰ（パケット転送装置）３０１に到着する。該パケットを受信したＴＥＰ（パケット転送装置）３０１は、該パケットを仮想ネットワークからのパケット受信として扱う（図４の処理開始）。
【００８１】
ＴＥＰ（パケット転送装置）３０１のマルチキャスト判定部１１は、該パケットをマルチキャスト制御メッセージと判断し、マルチキャストマッピング部１２へマッピング情報の検索を依頼する（図４のステップＳ１１０１〜Ｓ１１０２）。ここでは、前記作成したマッピング情報が見つかるため、マルチキャストマッピング部１２は、該マッピング情報と受信パケットを、パケットカプセリング部１４へ渡す。パケットカプセリング部１４は、受け取った情報を元にカプセリングし、メッセージ『２３８．０．０．１｛  ２２５．０．０．１  ｛  ＤＡＴＡ  ｝  ｝』を作成し、基盤ネットワークへと送出する。マルチキャストルータ３００は、マルチキャストグループ２３８．０．０．１には、ＴＥＰ（パケット転送装置）３０１しか属していないため、新たな転送は行わない（図８参照）。
【００８２】
次に、クライアント３１２が、ストリーミングサーバ３１１からのマルチキャストデータの受信を希望したとする。クライアント３１２は、マルチキャスト加入メッセージとして、ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）の２２５．０．０．１を送信する。このパケットを受信したＴＥＰ（パケット転送装置）３０２は、該パケットを仮想ネットワークからのパケット受信として扱う（図４の処理開始）。ＴＥＰ（パケット転送装置）３０２のマルチキャスト判定部１１は、該パケットをマルチキャスト制御メッセージと判断し、マルチキャストマッピング部１２へマッピング情報の検索を依頼する（図４のステップＳ１１０１〜Ｓ１１０２）。マルチキャストマッピング部１２は、該当するマッピング情報が見つかったため、マッピング情報をパケットカプセリング部１４へ渡す。パケットカプセリング部１４は、受け取った情報を元にマルチキャスト制御情報のマルチキャストアドレスを基盤ネットワーク側マルチキャストアドレスに変換し、『ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）  ２３８．０．０．１』を作成する。パケットカプセリング部１４は、基盤ネットワーク側に変換後のマルチキャスト制御メッセージを送出する。これにより、ＴＥＰ装置３０２もマルチキャストグループ２３８．０．０．１に加入する（図９参照）。
【００８３】
上記の後、ストリーミングサーバ３１１が送出するストリーミングデータ『２２５．０．０．１  ｛ＤＡＴＡ｝』は、図１０に示すように、ＴＥＰ（パケット転送装置）３０１でカプセリングされ、メッセージ『２３８．０．０．１｛  ２２５．０．０．１  ｛  ＤＡＴＡ  ｝  ｝』となり、マルチキャストルータ３００を通して、ＴＥＰ装置３０２へと到達するようになる。
【００８４】
カプセリングされたメッセージ『２３８．０．０．１｛  ２２５．０．０．１  ｛  ＤＡＴＡ  ｝  ｝』を受信したＴＥＰ（パケット転送装置）３０２は、基盤ネットワークからのパケット受信として扱う（図５の処理開始）。パケットカプセリング部１４は、対象がカプセリング済みパケットであるため、デカプセリングを行い、マルチキャスト通信メッセージ『２２５．０．０．１  ｛  ＤＡＴＡ  ｝』を取り出す（図５のＳ１２０１〜Ｓ１２０６）。パケットカプセリング部１４は、デカプセリング結果がマッピング情報共有メッセージでないため、仮想ネットワークへと送出する（図５のＳ１２０７〜Ｓ１２０８）。これにより、ストリーミングサーバ３１１が送出するストリーミングデータが、クライアント３１２に、同一仮想ネットワークのマルチキャストデータとして届くことになる（図１０参照）。
【００８５】
以上の流れと同様に、ストリーミングサーバ３２１が加入し、クライアント３２３が加入するマルチキャストアドレス２２６．０．０．１を持つグループは、基盤ネットワークのマルチキャストアドレス２３８．０．０．２に対応付けられる（例えば、図３の２番目のエントリ参照）。図１１は、上記２つの仮想ネットワーク側のマルチキャストアドレスが、入り口側のＴＥＰ（パケット転送装置）でそれぞれ基盤ネットワークのマルチキャストアドレスでカプセリングされた後、宛先のＴＥＰ（パケット転送装置）に転送されて、再度、デカプセリングされてクライアントに届けられている状態を示している。図１１に示すように、新たなマルチキャストアドレス２２６．０．０．１を持つマルチキャストグループの通信は、ＴＥＰ（パケット転送装置）３０１と３０３の間にのみ転送され、ＴＥＰ（パケット転送装置）３０２へは流れない。
【００８６】
このように、仮想ネットワーク側のマルチキャスト通信を、基盤ネットワークにおけるマルチキャスト通信と同様に制御することができる。また、基盤ネットワークにおけるマルチキャストアドレスは、仮想ネットワーク全体は２３９．０．０．１、ストリーミングサーバ３１１のストリーミングは、２３８．０．０．１、ストリーミングサーバ３２１のストリーミングは、２３８．０．０．２と区別可能なため、負荷分散やＱｏＳ制御として利用できることが分かる。
【００８７】
［マルチキャストグループの維持管理］
次に、マルチキャストグループの維持について、図１２を用いて説明する。ＩＧＭＰでは、マルチキャストルータは、全マルチキャストドメインアドレス（ＩＰ  ｖｅｒｓｉｏｎ  ４  では、２２４．０．０．１）に対して、Ｑｕｅｒｙを出すことで、加入メッセージＩＧＭＰ  Ｒｅｐｏｒｔの通信を促す。マルチキャストルータ３００は、図１２に示すように、宛先アドレスを２２４．０．０．１とした『ＩＧＭＰ  Ｑｕｅｒｙ  ０．０．０．０』を作成し、全ＴＥＰ（パケット転送装置）へと送信する。
【００８８】
ＴＥＰ（パケット転送装置）３０１、３０２、３０３は、前記マルチキャスト制御メッセージを、基盤ネットワークからのパケット受信として扱う（図５の処理開始）。パケットカプセリング部１４は、受信パケットがカプセリング済みパケットでないため、マルチキャストマッピング部１２へマッピング情報の抽出を依頼する（図５のＳ１２０１〜Ｓ１２０３）。マルチキャストマッピング部１２は、パケットカプセリング部１４に対し、マッピング情報が存在しないことを報告する。しかし、パケットカプセリング部１４は、全マルチキャストアドレス２２４．０．０．１であるため、そのままの情報として扱うようにし、仮想ネットワークへと送信する（図５のＳ１２０４〜Ｓ１２０５）。これにより、各端末、もしくは、仮想ネットワークの任意の端末に、Ｑｕｅｒｙメッセージを届け、Ｒｅｐｏｒｔの送信をさせることができる。また、マルチキャストマッピング部１２は、マルチキャスト存在確認シーケンスを実行する。マルチキャスト存在確認シーケンスでマルチキャストのクライアントの存在が確認できない場合、すなわち、Ｒｅｐｏｒｔでの報告がないグループの場合、マルチキャストマッピング情報記憶部１３から、該当するマッピング情報を削除する。
【００８９】
［マルチキャストグループからの離脱］
次に、マルチキャストグループからの離脱について、図１３〜図１４を用いて説明する。ＩＧＭＰ  ｖ２以降からは、マルチキャスト通信から離脱するとき、離脱メッセージを送信する。ここでは、図１３に示すように、クライアント３１２が離脱をするため、『ＩＧＭＰ  Ｌｅａｖｅ  ２２５．０．０．１』を送信したものとする。該パケットを受信したＴＥＰ（パケット転送装置）３０２は、該パケットを仮想ネットワークからのパケット受信として扱う（図４の処理開始）。ＴＥＰ（パケット転送装置）３０２のマルチキャスト判定部１１は、該パケットをマルチキャスト制御メッセージと判断し、マルチキャストマッピング部１２へマッピング情報の検索を依頼する（図４のステップＳ１１０１〜Ｓ１１０２）。マルチキャストマッピング部１２は、該当するマッピング情報が見つかったため、パケットカプセリング部１４に対しマッピング情報を渡す。パケットカプセリング部１４は、受け取った情報を元にマルチキャスト制御情報を基盤ネットワーク側マルチキャストアドレスに変換し、『ＩＧＭＰ  Ｌｅａｖｅ  ２３８．０．０．１』を作成する。パケットカプセリング部１４は、該変換後マルチキャスト制御メッセージを基盤ネットワーク側に送出する。これにより、マルチキャストルータ３００は、マルチキャストグループ２３８．０．０．１における離脱の契機を受信する（図１３参照）。
【００９０】
マルチキャスト離脱メッセージを受信したマルチキャストルータ３００は、応答として、該当グループにメンバーが存在するか否かを確認する存在確認メッセージ『ＩＧＭＰ  Ｑｕｅｒｙ  ２３８．０．０．１』を送信する。該離脱確認メッセージを受信したＴＥＰ（パケット転送装置）３０２は、該パケットを基盤ネットワークからのパケット受信として扱う（図５の処理開始）。パケットカプセリング部１４は、受信パケットがカプセリング済みパケットでないため、マルチキャストマッピング部１２へマッピング情報の検索を依頼する（図５のＳ１２０１〜Ｓ１２０３）。マルチキャストマッピング部１２は、該当するマッピング情報を見つけ、パケットカプセリング部１４へと通知する。パケットカプセリング部１４は、前記マッピング情報を用いて、マルチキャスト制御アドレスを仮想ネットワーク側のマルチキャストアドレスとして扱うようにメッセージ変換を行う。ここでは、パケットカプセリング部１４は、図１４に示すように、『ＩＧＭＰ  Ｑｕｅｒｙ  ２２５．０．０．１』との離脱確認メッセージに変換し仮想ネットワークへと送信する。（Ｓ１２０４〜Ｓ１２０５）。これにより、各端末、もしくは、仮想ネットワークの任意の端末にＲｅｐｏｒｔの送信をさせることができる。また、マルチキャストマッピング部１２は、このタイミングでも、マルチキャスト存在確認シーケンスを実行する。マルチキャスト存在確認シーケンスでクライアントの存在が確認できないマルチキャストグループがあった場合、すなわち、Ｒｅｐｏｒｔでの報告がない場合、マルチキャストマッピング情報記憶部１３から、該当するマッピング情報を削除する（例えば、図３の１番目のエントリを削除）。
【００９１】
［マッピング情報の調停］
次に、図１５〜図１７を用いてマッピング情報の調停の具体例について説明する。前記クライアント３１２の離脱後、新たに、クライアント３１３がマルチキャストアドレス２２５．０．０．１のグループに加入してきたとする。このとき、すでにマッピング情報は削除されているため、新たに、ＴＥＰ（パケット転送装置）３０２は、２３８．０．０．３にマッピングしたとする。ＴＥＰ（パケット転送装置）３０２は、図１５に示すように、ＴＥＰ（パケット転送装置）３０１、３０３に対して、マッピング情報共有メッセージ『Ｓｈａｒｅｄ  Ｉｎｎｅｒ  ２２５．０．０．１  Ｏｕｔｅｒ  ２３８．０．０．３』を送信する（図１５参照）。しかしながら、実際に当該グループに属しているホスト（この場合、ストリーミングサーバ３１１）が存在しているＴＥＰ（パケット転送装置）３０１などでは、マッピング情報の削除は行われていないため、衝突する。このときに、ＴＥＰ（パケット転送装置）３０１は、前述の調停ルール乃至調停アルゴリズムに基づき、優先されるマッピング情報を選択する。今回は、マルチキャストアドレス順として、２３８．０．０．１が優先されるとする。ＴＥＰ（パケット転送装置）３０１は、ＴＥＰ（パケット転送装置）３０２、３０３に対して、再びマッピング情報共有メッセージ『Ｓｈａｒｅｄ  Ｉｎｎｅｒ  ２２５．０．０．１  Ｏｕｔｅｒ  ２３８．０．０．１』を送信する（図１６参照）。これによりＴＥＰ（パケット転送装置）３０２は、マッピング情報を更新する。その後、ＴＥＰ（パケット転送装置）３０２は、新たなマルチキャストグループに、クライアント３１３を再加入させることで整合を取ることができる（図１７の状態）。
【００９２】
なお、上記した具体例では、マルチキャストルータ３００としたが、複数のマルチキャストルータ群として実現することもできる。マルチキャストルータ３００は、またＩＧＭＰ  ｓｎｏｏｐｉｎｇやＣＧＭＰ（Ｃｉｓｃｏ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）などを利用してＩＧＭＰメッセージに対して通信範囲を特定可能なＬ２スイッチを含んだネットワーク装置群として実現することもできる。
【００９３】
本実施形態の効果について総括する。上記のように、ＴＥＰ（パケット転送装置）において、仮想ネットワークと基盤ネットワークのマルチキャストアドレスをマッピングする機能を追加することで、仮想ネットワークのマルチキャスト空間を、基盤ネットワークのマルチキャスト空間にマッピングすることができ、マルチキャスト通信の回線利用の範囲を必要な範囲に制限することができる。これにより、通信の回線利用の効率が向上する。また、２次的効果として、基盤ネットワーク側のマルチキャストアドレスで、仮想ネットワークのマルチキャスト通信を分別することが可能になる。そのため、マルチキャストアドレスの違いを用いた、基盤ネットワークでの負荷分散機能、ＱｏＳ制御機能を有効にすることができる。また、アドレスの違いから、同様に、基盤ネットワークでの障害解析や性能解析等にも活用することができる。
【００９４】
［第２の実施形態］
続いて、個々のパケット転送装置に代わって、マッピング情報とメンバー情報を集中して管理する装置を追加した第２の実施形態について図面を参照して詳細に説明する。図１８は、本発明の第２の実施形態のパケット転送装置とマルチキャストマッピング管理装置の構成を示す図である。図１８を参照すると、マルチキャストマッピング情報共有部１５に代わって、マルチキャストマッピング管理装置２６がパケット転送装置の外部に追加された構成が示されている。その他パケット転送装置１Ｂの構成は、第１の実施形態のパケット転送装置１とほぼ共通するため、以下、その相違点を中心に説明する。
【００９５】
第２の実施形態のマルチキャストマッピング部２２は、マッピング情報を作成する必要があるときに、マルチキャストマッピング管理装置２６へマッピング情報の問合せを依頼する。
【００９６】
また、第２の実施形態のマルチキャストマッピング部２２は、マッピング情報を削除するときは、マルチキャストマッピング管理装置２６に対し、マッピング情報の削除を依頼する。
【００９７】
マルチキャストマッピング管理装置２６は、図１９に示すようなマッピング情報を用いて、メンバー情報を対応付けたマッピング情報の維持管理を行う。例えば、マルチキャストマッピング管理装置２６は、パケット転送装置１Ｂを含む任意のパケット転送装置のマルチキャストマッピング部２２からマッピング情報の問合せを依頼されたとき、該当するマッピング情報を保持していない場合、基盤ネットワークで使用可能なマルチキャストアドレスの中から任意の１つを選択し、依頼元仮想ネットワークのマルチキャストアドレスとのマッピング情報を作成する。また、前記作成したマッピング情報のメンバーフィールドに依頼元のメンバーを追記する。そして、作成したマッピング情報を依頼元のパケット転送装置のマルチキャストマッピング部２２へ通達する。
【００９８】
また、マルチキャストマッピング管理装置２６は、任意のパケット転送装置のマルチキャストマッピング部２２からマッピング情報の問合せを依頼されたとき、該当するマッピング情報を保持している場合は、該マッピング情報のメンバーフィールドに依頼元のメンバーを追記する。そして、該マッピング情報を依頼元のパケット転送装置のマルチキャストマッピング部２２へ通達する。
【００９９】
また、マルチキャストマッピング管理装置２６は、任意のパケット転送装置のマルチキャストマッピング部２２からマッピング情報の解除を依頼されたときは、記憶しているマッピング情報のメンバーフィールドから、依頼元のメンバーを削除する。該マッピング情報のメンバーフィールドのすべてのメンバーがいなくなったとき、マルチキャストマッピング管理装置２６は、該マッピング情報を削除する。
【０１００】
なお、上記マッピング情報の問合せ、削除の依頼は、基盤ネットワークの通信を用いて実現することができる。
【０１０１】
以上のように、マッピング管理情報の集約管理点として機能するマルチキャストマッピング管理装置２６を配置することにより、マッピング作業の共有作業、調停作業を除くことができる。
【０１０２】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図２０は、本発明の第２の実施形態のパケット転送装置１Ｂの動作（仮想ネットワーク用インタフェースからパケット受信時）を表した流れ図である。図２０に示すパケット転送装置の動作は、図４に示す流れ図とほぼ同様である。相違点は、ステップＳ１１０５におけるマッピング情報の作成、共有が、マルチキャストマッピング管理装置２６に対するマッピング情報の問い合わせ、応答受信となる点である（ステップＳ１１０５Ａ参照）。
【０１０３】
図２１は、前記マッピング情報の問い合わせを受けた場合のマルチキャストマッピング管理装置の動作を表した流れ図である。図２０を参照すると、マルチキャストマッピング部２２は、マルチキャスト加入メッセージを受信すると、このマルチキャスト加入メッセージで指定されたマルチキャストアドレスに対応するマッピング情報が存在しない場合、マルチキャストマッピング管理装置２６に対しマッピング情報の問合せを行う（図２１の処理開始）。問合せ情報は、仮想ネットワーク識別子と仮想ネットワークのマルチキャストアドレスを少なくとも含む。
【０１０４】
マルチキャストマッピング管理装置２６は、依頼元の仮想ネットワークのマルチキャストアドレスに対応するマッピング情報を保持していない場合（ステップＳ２１０１のＮｏ）、新たに、基盤ネットワークで使用可能なマルチキャストアドレスの中から任意の１つを選択し、依頼元仮想ネットワークのマルチキャストアドレスとのマッピング情報を作成する（図２１のステップＳ２１０２）。
【０１０５】
次に、マルチキャストマッピング管理装置２６は、既存のマッピング情報（ステップＳ２１０１のＹｅｓ）、または、前記ステップＳ２１０２で作成したマッピング情報に対して、依頼元のパケット転送装置の識別子をメンバー（利用者）として登録する（ステップＳ２１０３）。
【０１０６】
次に、マルチキャストマッピング管理装置２６は、依頼元のパケット転送装置のマルチキャストマッピング部２２に対して、前記既存のマッピング情報（ステップＳ２１０１のＹｅｓ）、または、前記ステップＳ２１０２で作成したマッピング情報を応答する（ステップＳ２１０４）。
【０１０７】
マッピング情報を応答されたマルチキャストマッピング部２２は、マッピング情報をマルチキャストマッピング情報記憶装置１３へ記憶する。その後、受信パケットと応答されたマッピング情報を元に、パケットカプセリング部１４へパケットのメッセージ変換を依頼する（図２０のステップＳ１１０６）。
【０１０８】
以上の処理により、マルチキャストマッピング部２２は、マッピング情報の作成、および、マッピング情報の共有をマルチキャストマッピング管理装置２６に任せることができる。
【０１０９】
続いて、基盤ネットワーク用インタフェース１９からパケットを受信した際のパケット転送装置１Ｂの動作について説明する。図２２は、本発明の第２の実施形態のパケット転送装置の動作（基盤ネットワーク用インタフェースからパケット受信時）を表した流れ図である。図５に示した第１の実施形態のパケット転送装置の動作との違いは、図５のステップ１２０９で示されていたマッピング情報調停処理が削除され、また、ステップＳ１２０５のマルチキャスト確認シーケンスの実行の結果、自装置側のマッピング情報を削除した場合にマルチキャストマッピング管理装置２６に対してマッピング情報の削除を要求するステップＳ１２１０が追加されている点である。
【０１１０】
上述した第１の実施形態と同様に、本実施形態においてもマルチキャストマッピング部２２は、メンバーの存在を確認できないマルチキャストグループを検知すると、マルチキャストマッピング情報記憶部１３からマッピング情報を削除する。その後、マルチキャストマッピング部２２は、マルチキャストマッピング管理装置２６に対し、マッピング情報の削除を要求する（図２３の処理開始）。なお、前記マッピング情報の削除を要求には、少なくともパケット転送装置１Ｂ側で削除したマッピング情報が含まれている。
【０１１１】
図２３は、前記マッピング情報の削除要求を受けた場合のマルチキャストマッピング管理装置の動作を表した流れ図である。図２３を参照すると、マルチキャストマッピング管理装置２６は、自身が保持しているマッピング情報のメンバーフィールドから、メンバー（利用者）として登録されていた依頼元のパケット転送装置の識別子を削除する（ステップＳ２２０１）。
【０１１２】
次に、マルチキャストマッピング管理装置２６は、前記削除後のマッピング情報のメンバーフィールドに、別のメンバーが存在しなくなった場合（ステップＳ２２０２のＮｏ）、マッピング情報を削除する（ステップＳ２２０３）。
【０１１３】
以上の処理により、マルチキャストマッピング管理装置２６において不要となったマッピング情報が整理される。
【０１１４】
続いて、図２４〜図３０を参照して、第２の実施形態の構成による具体的な動作を説明する。第１の実施形態と同様に、Ｖｉｄｅｏ  ＶＭ  １、Ｖｉｄｅｏ  ＶＭ  ２はストリーミングサーバであり、Ｃｌｉｅｎｔ  ＶＭ  １−１、１−２、２−１、２−２は、このストリーミングサーバからストリーミングデータを受信するクライアントであり、Ｒｏｕｔｅｒ４００は、ＩＰマルチキャスト機能を備えたマルチキャストルータである。また、図２４〜図３０のＴＥＰ（装置）４０１〜４０３は、それぞれ上記した第２の実施形態のパケット転送装置１Ｂによって構成されている。第１の実施形態との大きな違いは、マルチキャストマッピング管理装置２６として機能するＣｏｎｎｅｃｔｉｏｎ  Ｓｅｒｖｅｒ（以下、「接続サーバ」と記す。）４０９が追加されている点である。
【０１１５】
本例では、新たなメッセージの表現として、マッピング情報の問合せを『Ｓｈａｒｅｄ  ｑｕｅｒｙ  ［仮想ネットワークマルチキャストアドレス］』、その応答を『Ｓｈａｒｅｄ  ｍａｐ  ［仮想ネットワークマルチキャストアドレス］  ［基盤ネットワークマルチキャストアドレス］』として表現する。今回は分かりやすくするために、仮想ネットワークは１つとし、メッセージ表現としては省略する。また、その他用語やメッセージの表現は第１の実施形態と同様であるので、説明を省略する。
【０１１６】
図２４に示すように、ストリーミングサーバ４１１が２２５．０．０．１でマルチキャストグループに加入しようとすると（『ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）  ２２５．０．０．１』）、ＴＥＰ（パケット転送装置）４０１は、マルチキャストアドレスのマッピング処理を行う。しかし、この時点ではマッピング情報を保持していないため、ＴＥＰ（パケット転送装置）４０１のマルチキャストマッピング部２２は、接続サーバ４０９へマッピング情報の問合せを行うため、問合せメッセージ『Ｓｈａｒｅｄ  ｑｕｅｒｙ  ２２５．０．０．１』を送信する（図２４参照）。
【０１１７】
接続サーバ４０９は、未だマッピング情報を保持していないため、基盤ネットワークで利用可能なマルチキャストとして２３８．０．０．１を選択し、マッピング情報を作成する（図２１のステップＳ２１０１のＮｏ〜Ｓ２１０２）。また、接続サーバ４０９は、作成したマッピング情報のメンバーとして、ＴＥＰ（パケット転送装置）４０１を記憶する（ステップＳ２１０３）。接続サーバ４０９は、ＴＥＰ（パケット転送装置）４０１に対し、前記作成したマッピング情報を応答するために、マッピング情報応答メッセージ『Ｓｈａｒｅｄ  ｍａｐ  ２２５．０．０．１  ２３８．０．０．１』を作成して送信する（図２５参照）。
【０１１８】
ＴＥＰ（パケット転送装置）４０１は、マッピング情報を入手したため、自装置のマルチキャストマッピング情報記憶部１３に記憶する。さらに、ＴＥＰ（パケット転送装置）４０１は、加入メッセージを『ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）  ２３８．０．０．１』に変換して基盤ネットワーク側に送信する。これにより、ＴＥＰ（パケット転送装置）４０１は、基盤ネットワークとしては、２３８．０．０．１のマルチキャストアドレスに加入したことになる（図２６参照）。
【０１１９】
その後、クライアント４１２が２２５．０．０．１でマルチキャストグループに加入しようとすると（『ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）  ２２５．０．０．１』）、ＴＥＰ（パケット転送装置）４０２は、マルチキャストアドレスのマッピング処理を行う。しかし、この時点では、ＴＥＰ（パケット転送装置）４０２は、該当マッピング情報を保持していない。このため、ＴＥＰ（パケット転送装置）４０２のマルチキャストマッピング部２２は、接続サーバ４０９に対して、問合せメッセージ『Ｓｈａｒｅｄ  ｑｕｅｒｙ  ２２５．０．０．１』を送信してマッピング情報の問合せを行う（図２７参照）。
【０１２０】
前記問い合わせを受けた接続サーバ４０９は、対応するマッピング情報を保持しているため、該マッピング情報のメンバーとして、ＴＥＰ（パケット転送装置）４０２を追加する（図２１のステップＳ２１０１のＮｏ〜Ｓ２１０３、図１９の１番目のエントリ参照）。接続サーバ４０９は、ＴＥＰ（パケット転送装置）４０２に対して、該マッピング情報を応答するために、マッピング情報応答メッセージ『Ｓｈａｒｅｄ  ｍａｐ  ２２５．０．０．１  ２３８．０．０．１』を作成して送信する（図２８参照）。
【０１２１】
ＴＥＰ（パケット転送装置）４０２は、マッピング情報を入手したため、自装置のマルチキャストマッピング情報記憶部１３に記憶する。さらに、ＴＥＰ（パケット転送装置）４０２は、加入メッセージを『ＩＧＭＰ  Ｒｅｐｏｒｔ（ｊｏｉｎ）  ２３８．０．０．１』に変換して基盤ネットワーク側に送信する。これにより、ＴＥＰ（パケット転送装置）４０２は、基盤ネットワークとしては、２３８．０．０．１のマルチキャストアドレスに加入したことになる（図２９参照）。
【０１２２】
以上の処理により、その後のストリーミングサーバ４１１の２２５．０．０．１を用いてのマルチキャスト通信は、入り口側のＴＥＰ（パケット転送装置）４０１で基盤ネットワークのマルチキャストアドレスでカプセリングされた後、宛先のＴＥＰ（パケット転送装置）４０２に転送されて、再度、デカプセリングされてクライアントに届けられることになる（図３０参照）。
【０１２３】
以上のように、本実施形態によれば、第１の実施の形態の効果に加え、マッピング情報の共有の負荷、及び、調停の負荷を削減することができる。その理由は、マルチキャストマッピング管理装置２６を設け、マッピング情報に集約管理させる構成を採用したことにある。
【０１２４】
［第３の実施形態］  
続いて、上記した第１の実施形態にマッピング情報の統合機能を追加した第３の実施形態について説明する。図３１は、本発明の第３の実施形態のパケット転送装置の構成を示す図である。図３１を参照すると、図２に示した第１の実施形態のパケット転送装置の構成に、マッピング情報統合部３７が追加された構成が示されている。
【０１２５】
マッピング情報統合部３７は、所定の契機で、マルチキャストマッピング情報記憶部１３に記憶されているマッピング情報の統合を行う。
【０１２６】
マルチキャストマッピング部１２は、予め設定されたマッピング情報を共有するパケット転送装置の情報に基づいて、マルチキャストマッピング情報共有部１５を介して、他のパケット転送装置と、マルチキャスト情報の同期した登録、削除を行う。
【０１２７】
マッピング情報統合部３７は、マルチキャストマッピング情報記憶部１３を参照し、利用しているパケット転送装置の組が共通するマッピング情報を探索し、検索されたマッピング情報同士を統合する。また、マッピング情報の統合を行った場合、マッピング情報統合部３７は、マルチキャストマッピング部１２に対し、統合の結果、変更されたマッピング情報を通知する。
【０１２８】
以下に、統合できる例を示す。
（１）マルチキャストの通達範囲が同一のマッピング情報は、どちらかの基盤ネットワークのマルチキャストアドレスに統一することができる。
（２）マルチキャストの通達範囲が他より狭いマッピング情報は、マルチキャストの通達範囲が広い基盤ネットワークのマルチキャストアドレスに統一することができる。
【０１２９】
また、前記所定の契機（統合タイミング）としては、以下のものが挙げられる。
（１）定期的チェック
（２）基盤マルチキャストアドレスが枯渇したとき、または、使用可能な基盤マルチキャストアドレスの数が一定以下になったとき
（３）マッピング情報が更新されたとき
【０１３０】
マルチキャストマッピング部１２は、マッピング情報統合部３７から統合により変更されたマッピング情報を伝えられた場合、マルチキャストマッピング情報記憶部１３のマッピング情報を更新するとともに、マルチキャストマッピング情報共有部１５を通じて、他のパケット転送装置に対してマッピング情報の同期更新を要求する。また、マルチキャストマッピング部１２は、統合により変更されたマッピング情報に基づいて、マルチキャスト加入アドレスの変更を行う。
【０１３１】
さらに、マルチキャストマッピング部１２は、加入アドレスの変更に伴い、同一の基盤マルチキャストアドレスを利用している他のマッピング情報が存在しなくなった場合、基盤マルチキャストアドレスを設定した離脱メッセージを出力する。
【０１３２】
以上のように、本実施形態によれば、第１の実施形態の効果に加えて、基盤マルチキャストアドレスが枯渇する状態の発生を抑止することが可能となる。
【０１３３】
［第４の実施形態］  
続いて、上記した第２の実施形態にマッピング情報の統合機能を追加した第４の実施形態について説明する。図３２は、本発明の第４の実施形態のパケット転送装置と外部装置の構成を示す図である。図３２を参照すると、図１８と同様のパケット転送装置１Ｄとマルチキャストマッピング管理装置４６を接続した構成に、マッピング情報統合装置４７が追加された構成が示されている。なお、図３２の例では、マルチキャストマッピング管理装置４６と、マッピング情報統合装置４７とをそれぞれ別の装置として示しているが、両者を統合し同一の装置で実現してもよい。
【０１３４】
マッピング情報統合装置４７は、マルチキャストマッピング管理装置４６からマッピング情報を取得し、グループに参加しているパケット転送装置の組が共通するマッピング情報を検索する。グループに参加しているパケット転送装置の組が共通するマッピング情報が見つかった場合、マッピング情報統合装置４７は、マルチキャストマッピング管理装置４６に対しマッピング情報の統合を要求する。
【０１３５】
マルチキャストマッピング管理装置４６は、マッピング情報の統合を行った場合、当該マッピング情報の統合により影響を受けるパケット転送装置のマルチキャストマッピング部２２に対し、統合の結果、変更されたマッピング情報を通知する。
【０１３６】
前記通知を受けたマルチキャストマッピング部２２は、マルチキャストマッピング情報記憶部１３のマッピング情報を更新する。また、マルチキャストマッピング部２２は、変更されたマッピング情報に基づいて、マルチキャスト加入アドレスの変更を行う。
【０１３７】
続いて、図３３〜図３６を参照して、第４の実施形態の構成による具体的な動作を説明する。第１の実施形態と同様に、Ｖｉｄｅｏ  ＶＭ  １、Ｖｉｄｅｏ  ＶＭ  ２、Ｖｉｄｅｏ  ＶＭ  ３はストリーミングサーバであり、Ｃｌｉｅｎｔ  ＶＭ  １−１、２−１、２−２、３−１は、これらストリーミングサーバからストリーミングデータを受信するクライアントであり、Ｒｏｕｔｅｒ５００は、ＩＰマルチキャスト機能を備えたマルチキャストルータである。また、図３３〜図３６のＴＥＰ（装置）５０１〜５０３は、それぞれ上記した第４の実施形態のパケット転送装置１Ｄによって構成されている。Ｃｏｎｎｅｃｔｉｏｎ  Ｓｅｒｖｅｒ（以下、「接続サーバ」と記す。）５０９は、マルチキャストマッピング管理装置４６及びマッピング情報統合装置４７として機能する。また、その他用語やメッセージの表現は第１の実施形態と同様であるので、説明を省略する。
【０１３８】
各ストリーミングのためのマルチキャスト通信制御が行われた時、接続サーバ５０９のマルチキャストマッピング管理装置４６が記憶しているマッピング情報は、図３３の通りとなる。すなわち、２２５．０．０．１は、２３８．０．０．１にマッピングされ、ＴＥＰ（パケット転送装置）５０１、５０２が属する。２２６．０．０．１は、２３８．０．０．２にマッピングされ、ＴＥＰ（パケット転送装置）５０１、５０３が属する。２２７．０．０．１は、２３８．０．０．３にマッピングされ、ＴＥＰ（パケット転送装置）５０１、５０２が属する。
【０１３９】
接続サーバ５０９のマッピング情報統合装置４７は、マルチキャストマッピング管理装置４６からマッピング情報を受け取って統合できるマッピング情報を探す。その結果、本例では、２２５．０．０．１に対するマッピング情報と２２７．０．０．１に対するマッピング情報が、メンバーが等しいために統合可能と判定されることになる。接続サーバ５０９のマッピング情報統合装置４７は、これら２つのマッピング情報を統合対象として選択すると、接続サーバ５０９のマルチキャストマッピング管理装置４６に対し、マッピング情報の統合を要求する。本例では、２２７．０．０．１に対するマッピング情報に、２２５．０．０．１に対するマッピング情報を同一の基盤マルチキャストアドレスに統合するよう要求したものとする。
【０１４０】
接続サーバ５０９のマルチキャストマッピング管理装置４６は、マッピング情報の統合を行うと、統合前後のマッピング情報のメンバーであるＴＥＰ（パケット転送装置）５０１、５０２に対し、マッピング情報の更新メッセージ『Ｓｈａｒｅｄ  ｃｈａｎｇｅ  ２２７．０．０．１  ２３８．０．０．１』を送信する。ＴＥＰ（パケット転送装置）５０１、５０２のマルチキャストマッピング部２２は、それぞれマッピング情報の更新メッセージに基づいて、マッピング情報を更新する。これにより、２２５．０．０．１、及び２２７．０．０．１に関するカプセル化が２３８．０．０．１に統一される。（図３４参照）。
【０１４１】
その後、ＴＥＰ（パケット転送装置）５０１、５０２のマルチキャストマッピング部２２は、マッピング情報の更新を契機に、元の２２７．０．０．１で利用していた２３８．０．０．３のメンバーがいなくなるので、パケットカプセリング部１４を介して、離脱メッセージ『ＩＧＭＰ  Ｌｅａｖｅ  ２３８．０．０．３』を送信することで、離脱処理を開始することができる（図３５参照）。
【０１４２】
結果として、図３６のように、２２５．０．０．１、および、２２７．０．０．１にマッピングする基盤マルチキャストアドレスが２３８．０．０．１に統一される。このようにして、仮想ネットワークの異なるマルチキャストアドレスのマルチキャスト通信のうち、通信範囲が重複するものについて、基盤ネットワーク側では、同一マルチキャストアドレスで通信することができる。
【０１４３】
なお、図３６では、クライアント５１２、５３２がそれぞれ自身のマルチキャスト通信のみを受信するように書いているが、このような通信制御は、ＩＧＭＰ  ｓｎｏｏｐｉｎｇ技術をＴＥＰ装置に装備することで実現することができる。
【０１４４】
以上のように、本実施形態によれば、第３の実施形態と同様に、基盤マルチキャストアドレスが枯渇する状態の発生を抑止することが可能となる。
【０１４５】
最後に、上記開示した構成を、さらに効果的に活用するための外部装置との組み合わせを述べる。ＩＰマルチキャストでは、一般的にグローバルＩＰマルチキャストアドレス領域など利用目的が定義付けられている。このような領域を使用するとき、外部との通信との影響が問題となる可能性が出てくる。このような場合、マルチキャストルータには、特定のマルチキャスト通信のみを外部ネットワークと接続し、マッピング目的を利用しているマルチキャストアドレスなどをＤｒｏｐさせるフィルタ設定をすることで、外部マシンとの影響度を切り離すことができる。これにより、グローバルＩＰマルチキャストアドレス領域をマッピング用途として利用しても問題ないことは明白である。
【０１４６】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【０１４７】
なお、上記したパケット転送装置１、１Ａ〜１Ｄは、非特許文献３のオープンフロースイッチにて実現することもできる。この場合、上記したパケット転送装置１、１Ａ〜１Ｄの各機能は、集中制御装置が、各装置に制御情報を設定することにより実現する。例えば、上記したマルチキャストパケットかどうかを判断する機能は、パケット転送装置１、１Ａ〜１Ｄに、マルチキャストパケットを識別するマッチ条件と、その際の動作（インストラクション）とを対応付けたフローエントリを設定することにより実現できる。
【０１４８】
また、各図に示したパケット転送装置の各部（処理手段）は、パケット転送装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【０１４９】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点によるパケット転送装置参照）
［第２の形態］
第１の形態のパケット転送装置において、
さらに、
他のパケット転送装置に対して、前記マルチキャストマッピング情報記憶部に記憶されているマッピング情報の変更内容を通知するマルチキャストマッピング情報共有部を備えるパケット転送装置。
［第３の形態］
第２の形態のパケット転送装置において、
前記マルチキャストマッピング情報共有部は、他のパケット転送装置から、自装置側に保持されているマッピング情報と競合するマッピング情報の変更内容の通知を受け取った場合、所定のルールで調停動作を行うパケット転送装置。
［第４の形態］
第１の形態のパケット転送装置において、
前記マルチキャストマッピング部は、前記第２のマルチキャストアドレスとして、外部のマルチキャストマッピング管理装置から提供されたマルチキャストアドレスを用いるパケット転送装置。
［第５の形態］
第４の形態のパケット転送装置において、
前記マルチキャストマッピング部は、前記マッピング情報と対応付けて、マルチキャストグループへの参加メンバーを管理し、メンバーが存在しなくなったとき、前記マルチキャストマッピング管理装置に対して、マッピング情報の削除を要求するパケット転送装置。
［第６の形態］
第１から第４いずれか一の形態のパケット転送装置において、
前記マルチキャストマッピング部は、前記マッピング情報と対応付けて、マルチキャストグループへの参加メンバーを管理し、
前記パケット転送装置は、さらに、
前記マッピング情報の中から、マルチキャストグループに参加しているメンバーが重複するマッピング情報を選択して、前記第２のマルチキャストアドレスを共有するよう統合するマッピング情報統合部を備えるパケット転送装置。
［第７の形態］
（上記第２の視点による制御装置参照）
［第８の形態］
（上記第３の視点による通信システム参照）
［第９の形態］
（上記第４の視点による通信方法参照）
［第１０の形態］
（上記第５の視点によるプログラム参照）
なお、上記第７〜第１０の形態は、第１の形態と同様に、第２〜第６の形態に展開することが可能である。
【０１５０】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１５１】
１、１Ａ〜１Ｄ  パケット転送装置
１１  マルチキャスト判定部
１２、２２  マルチキャストマッピング部
１３  マルチキャストマッピング情報記憶部
１４  パケットカプセリング部
１５  マルチキャストマッピング情報共有部
１８  仮想ネットワーク用インタフェース
１９  基盤ネットワーク用インタフェース
２６、４６  マルチキャストマッピング管理装置
３７  マッピング情報統合部
４７  マッピング情報統合装置
１１１、１２１、２１１、２２１、３１１、３２１、４１１、４２１、５１１、５２１、５３１  Ｖｉｄｅｏ  ＶＭ
１１２、１２２、２１２、２１３、２２２、２２３、３１２、３１３、３２２、３２３、４１２、４１３、４２２、４２３、５１２、５３２、５２２、５２３  Ｃｌｉｅｎｔ  ＶＭ
１０１〜１０３、２０１〜２０３、３０１〜３０３、４０１〜４０３、５０１〜５０３  ＴＥＰ（装置）
１００、２００、３００、４００、５００  ルータ（マルチキャストルータ）
４０９、５０９  コネクションサーバ（マルチキャストマッピング管理装置）
【図１】
0006544401.tif 000002
【図２】
0006544401.tif 000003
【図３】
0006544401.tif 000004
【図４】
0006544401.tif 000005
【図５】
0006544401.tif 000006
【図６】
0006544401.tif 000007
【図７】
0006544401.tif 000008
【図８】
0006544401.tif 000009
【図９】
0006544401.tif 000010
【図１０】
0006544401.tif 000011
【図１１】
0006544401.tif 000012
【図１２】
0006544401.tif 000013
【図１３】
0006544401.tif 000014
【図１４】
0006544401.tif 000015
【図１５】
0006544401.tif 000016
【図１６】
0006544401.tif 000017
【図１７】
0006544401.tif 000018
【図１８】
0006544401.tif 000019
【図１９】
0006544401.tif 000020
【図２０】
0006544401.tif 000021
【図２１】
0006544401.tif 000022
【図２２】
0006544401.tif 000023
【図２３】
0006544401.tif 000024
【図２４】
0006544401.tif 000025
【図２５】
0006544401.tif 000026
【図２６】
0006544401.tif 000027
【図２７】
0006544401.tif 000028
【図２８】
0006544401.tif 000029
【図２９】
0006544401.tif 000030
【図３０】
0006544401.tif 000031
【図３１】
0006544401.tif 000032
【図３２】
0006544401.tif 000033
【図３３】
0006544401.tif 000034
【図３４】
0006544401.tif 000035
【図３５】
0006544401.tif 000036
【図３６】
0006544401.tif 000037
【図３７】
0006544401.tif 000038
【図３８】
0006544401.tif 000039