(57)【要約】  集中制御型の通信システムにおける通信ノードのポートへのＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報の設定の省力化。制御装置は、制御対象の通信ノードに対して、端末又は仮想マシンが接続したことを検出する接続検出部と、前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ情報を決定する第１のＶＬＡＮ情報決定部と、前記ポートに前記決定したＶＬＡＮ情報を設定するＶＬＡＮ設定部と、を備える。
2014104277.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の通信ノードに対して、端末又は仮想マシンが接続したことを検出する接続検出部と、
前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報を決定する第１のＶＬＡＮ情報決定部と、
前記ポートに前記決定したＶＬＡＮ情報を設定するＶＬＡＮ設定部と、を備えた制御装置。
【請求項２】
前記第１のＶＬＡＮ情報決定部は、前記端末の接続されたポートが、パケット送信時に指定されたＶＬＡＮ情報が設定されていないパケットを破棄する機能を備えているポートである場合にＶＬＡＮ情報を決定する請求項１の制御装置。
【請求項３】
前記第１のＶＬＡＮ情報決定部は、前記端末の接続されたポートが、指定されたＶＬＡＮ情報が設定されていないパケットを受信した場合、当該パケットを破棄する機能を備えているポートである場合にＶＬＡＮ情報を決定する請求項１又は２の制御装置。
【請求項４】
前記ＶＬＡＮ設定部は、
前記制御対象の通信ノードに対し、指定されたポートに前記ＶＬＡＮ情報を設定する動作を実行させる制御メッセージを送信することにより、ＶＬＡＮ情報を設定する請求項１から３いずれか一の制御装置。
【請求項５】
さらに、仮想ネットワークの構成情報と、前記制御対象の通信ノードから受信したトポロジ情報とに基づいて、前記制御対象の通信ノードの外部機器と接続されたポートに設定するＶＬＡＮ情報を決定する第２のＶＬＡＮ情報決定部を備える請求項１から４いずれか一の制御装置。
【請求項６】
さらに、前記仮想ネットワークの構成情報と、前記制御対象の通信ノードから受信したトポロジ情報とに基づいて、前記制御対象の通信ノード同士を接続するポートにＶＬＡＮ情報を設定する請求項１から５いずれか一の制御装置。
【請求項７】
前記接続検出部は、前記制御対象の通信ノードからの制御情報の設定要求を受信することにより、端末又は仮想マシンが接続したことを検出する請求項１から６いずれか一の制御装置。
【請求項８】
特定のポートにおいて指定されたＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報が設定されていないパケットの送信指示を受けた場合、当該パケットを破棄する機能、又は、特定のポートにおいて指定されたＶＬＡＮ情報が設定されていないパケットを受信した場合、当該パケットを破棄する機能を備えている通信ノードと、
前記通信ノードの前記特定のポートに端末又は仮想マシンが接続したことを検出する接続検出部と、
前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ情報を決定する第１のＶＬＡＮ情報決定部と、
前記ポートに前記決定したＶＬＡＮ情報を設定するＶＬＡＮ設定部と、を備えた制御装置と、
を含む通信システム。
【請求項９】
制御対象の通信ノードに対して、端末又は仮想マシンが接続したことを検出するステップと、
前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報を決定するステップと、
前記ポートに前記決定したＶＬＡＮ情報を設定するステップと、
を含む通信ノードの制御方法。
【請求項１０】
通信ノードを制御するコンピュータに、
制御対象の通信ノードに対して、端末又は仮想マシンが接続したことを検出する処理と、
前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報を決定する処理と、
前記ポートに前記決定したＶＬＡＮ情報を設定する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１２−２８８３７８号（２０１２年１２月２８日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信システム、通信ノードの制御方法及びプログラムに関し、特に、通信ノードを集中制御する制御装置、通信システム、通信ノードの制御方法及びプログラムに関する。
【背景技術】
【０００２】
非特許文献１、２に、オープンフローという技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「５．３  Ｍａｔｃｈｉｎｇ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。【０００４】
また、非特許文献１のＥｘａｍｐｌｅ２には、オープンフロースイッチと、オープンフロースイッチを集中制御するオープンフローコントローラとの組合せにて、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のような仮想的なネットワークを構築できることが記載されている。【０００５】
また、非特許文献２の仕様書では、オープンフローコントローラとオープンフロースイッチ間で、Ｅｘｐｅｒｍｅｎｔｅｒメッセージという追加機能用の制御メッセージを授受できることが記載されている（非特許文献２の「Ａ．５．４  Ｅｘｐｅｒｍｅｎｔｅｒ」）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１１月２４日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．３．１  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０４）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１２月１１日検索］、インターネット〈URL: https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明によって与えられたものである。上記した非特許文献１と２には、オープンフロースイッチ（以下、「スイッチ」という。）のフローテーブルに格納するエントリのマッチ条件として、ＶＬＡＮ情報を設定することで、仮想ネットワークを構築できると記載されている。【０００８】
しかしながら、オープンフローを用いて仮想ネットワークを構成可能なスイッチの中には、各ポートに適切なＶＬＡＮを設定する必要があるものが含まれている。このため、未知の端末や仮想マシンがいずれかのスイッチに接続した場合や、ネットワークの構成に変更が生じた場合に、当該スイッチのポートに適切なＶＬＡＮを設定するという作業が発生している。【０００９】
また、上記各ポートに適切なＶＬＡＮを設定する必要があるタイプのスイッチには、出力ポートとの関係において適切でないＶＬＡＮが付加されたパケットを破棄する機能を有しているものがある。また、指定されたＶＬＡＮ情報が設定されていないパケットを受信した場合、当該パケットを破棄する機能を有しているものもある。これらの機能は、ポートとの関係において適切でないＶＬＡＮ情報を持つパケットを破棄するフローエントリの代わりにもなり、個々のスイッチが保持するフローエントリの数の削減やスイッチの応答性の向上にも貢献する。【００１０】
本発明は、上記オープンフローに代表される集中制御型の通信システムにおける各通信ノードのポートへのＶＬＡＮ情報の設定の省力化に貢献できる制御装置、通信システム、通信ノードの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の視点によれば、制御対象の通信ノードに対して、端末又は仮想マシンが接続したことを検出する接続検出部と、前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報を決定する第１のＶＬＡＮ情報決定部と、前記ポートに前記決定したＶＬＡＮ情報を設定するＶＬＡＮ設定部と、を備えた制御装置が提供される。【００１２】
第２の視点によれば、特定のポートにおいて指定されたＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報が設定されていないパケットの送信指示を受けた場合、当該パケットを破棄する機能、又は、特定のポートにおいて指定されたＶＬＡＮ情報が設定されていないパケットを受信した場合、当該パケットを破棄する機能を備えている通信ノードと、前記通信ノードの前記特定のポートに端末又は仮想マシンが接続したことを検出する接続検出部と、前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ情報を決定する第１のＶＬＡＮ情報決定部と、前記ポートに前記決定したＶＬＡＮ情報を設定するＶＬＡＮ設定部と、を備えた制御装置と、を含む通信システムが提供される。【００１３】
第３の視点によれば、制御対象の通信ノードに対して、端末又は仮想マシンが接続したことを検出するステップと、前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報を決定するステップと、前記ポートに前記決定したＶＬＡＮ情報を設定するステップと、を含む通信ノードの制御方法が提供される。本方法は、通信ノードのポートにＶＬＡＮ情報を設定する制御装置という、特定の機械に結びつけられている。【００１４】
第４の視点によれば、通信ノードを制御するコンピュータに、制御対象の通信ノードに対して、端末又は仮想マシンが接続したことを検出する処理と、前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報を決定する処理と、前記ポートに前記決定したＶＬＡＮ情報を設定する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明によれば、集中制御型の通信システムの各通信ノードのポートへのＶＬＡＮ情報の設定の省力化に貢献することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態の制御装置の構成を示すブロック図である。
【図４】本発明の第１の実施形態の制御装置のトポロジ構築動作の一例を示す図である。
【図５】本発明の第１の実施形態の通信ノードによって構成される仮想ネットワークの構成例を示す図である。
【図６】本発明の第１の実施形態の仮想ネットワークＤＢに保持されるＶＬＡＮゲート制御情報の一例である。
【図７】本発明の第１の実施形態の制御装置のＶＬＡＮ設定動作の一例を示す図である。
【図８】本発明の第１の実施形態の通信ノードが端末Ａからパケットを受信した際の動作を説明するための図である。
【図９】本発明の第１の実施形態の制御装置の経路計算動作の一例を示す図である。
【図１０】本発明の第１の実施形態の制御装置の入口通信ノードへのＶＬＡＮ設定動作の一例を示す図である。
【図１１】本発明の第１の実施形態の制御装置の通信ノード間インタフェースへのＶＬＡＮ設定動作の一例を示す図である。
【図１２】本発明の第１の実施形態の制御装置の経路計算動作と入口通信ノードへのＶＬＡＮ設定動作の別の一例を示す図である。
【図１３】本発明の第１の実施形態の制御装置の通信ノード間インタフェースへのＶＬＡＮ設定動作の別の一例を示す図である。
【図１４】本発明の第１の実施形態により各通信ノードのインタフェースに設定されるＶＬＡＮ情報を示す図である。
【発明を実施するための形態】
【００１７】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
本発明は、その一実施形態において、図１に示すように、複数の通信ノード２０と、これらの通信ノード２０を制御する制御装置１０とを含む構成にて実現できる。より具体的には、制御装置１０は、制御対象の通信ノード２０に対して、端末又は仮想マシンが接続したことを検出する接続検出部１１と、前記検出した端末又は仮想マシンが属する仮想ネットワークに基づいて、前記通信ノードの前記端末又は仮想マシンが接続されたポートに設定するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報を決定する第１ＶＬＡＮ情報決定部１２と、前記ポートに前記決定したＶＬＡＮ情報を設定するＶＬＡＮ設定部１３と、を備える。なお、ＶＬＡＮ設定部１３が、通信ノードに対し、指定したポートへのＶＬＡＮ情報の設定を指示する方法としては、非特許文献２のＥｘｐｅｒｍｅｎｔｅｒメッセージという追加機能用の制御メッセージを用いることができる。また、ＮＥＴＣＯＮＦなどのネットワーク設定プロトコルを用いる方法や外部のシステムを介して、ＶＬＡＮを設定する方法も採用可能である。
【００１９】
上記構成を備えることにより、少なくとも端末又は仮想マシンが接続された通信ノードのポートに、適切なＶＬＡＮ情報が設定される。即ち、未知の端末や仮想マシンの通信ノードへの接続を検出すると、自動的に適切なＶＬＡＮ情報が設定されるため、ネットワーク管理者等の負担を軽減することが可能となっている。
【００２０】
なお、接続検出部１１における端末又は仮想マシンの接続検出の仕組みとしては、後記する通信ノードからの、新規パケット受信通知を利用する方法や、その他、仮想ネットワークの管理装置や、仮想マシンの管理装置等からの通知を受ける方法を採用することができる。
【００２１】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、互いに接続されたネットワークを構成する複数の通信ノード２００Ａ〜２００Ｃ（以下、通信ノードを特に区別しない場合、「通信ノード２００」と記す。）と、これらの通信ノード２００に制御情報を設定することによりネットワークを制御する制御装置１００と、通信ノード２００により構成されたネットワークを介して通信する端末とサーバが示されている。
【００２２】
通信ノード２００は、制御情報として設定されたフローエントリを参照してパケットを処理する。このような通信ノードとしては、非特許文献２のオープンフロースイッチを挙げることができる。また、本実施形態の通信ノード２００は、特定のポートにおいて、パケット出力時に、指定されたＶＬＡＮ情報が設定されていないパケットを破棄する機能を備えている（この機能を「ＶＬＡＮゲート機能」という。）。なお、通信ノード２００は、物理的なスイッチであってもよいし、仮想化サーバ等で動作する仮想スイッチであってもよい。
【００２３】
制御装置１００は、上記した通信ノード２００に対し、制御情報としてフローエントリを設定して、これら通信ノード２００を制御する。このような制御装置としては、非特許文献２のオープンフローコントローラを挙げることができる。
【００２４】
図３は、本発明の第１の実施形態の制御装置１００の構成を示すブロック図である。図３を参照すると、経路計算部１０１と、制御情報生成部１０２と、第１ＶＬＡＮ情報決定部１０３と、第２ＶＬＡＮ情報決定部１０４と、トポロジ構築部１０５と、仮想ネットワークデータベース（仮想ネットワークＤＢ）１０６と、物理トポロジデータベース（物理トポロジＤＢ）１０７と、通信ノード２００と種々の制御メッセージを授受する通信部１０８（上記ＶＬＡＮ設定部１３に相当）と、を備えている。
【００２５】
トポロジ構築部１０５は、通信部１０８を介して、通信ノード２００にトポロジ確認パケットを送信させ、その結果に基づいて、通信ノード２００によって構成されるネットワークのトポロジを構築し、物理トポロジデータベース（物理トポロジＤＢ）１０７に格納する。
【００２６】
図４は、制御装置によるトポロジ構築動作の一例を示す図である。図４の例では、制御装置１００が通信ノード２００Ｃに対して、トポロジ確認パケットの送信を指示すると、通信ノード２００Ｃは、トポロジ確認パケットの送信指示を受けたポート以外のポートから、トポロジ確認パケットを送信する（なお、トポロジ確認パケットの出力ポートが、ＶＬＡＮゲート機能を有するポートである場合、制御装置１００が適切なＶＬＡＮを設定したトポロジ確認パケットの送出を指示するか、制御装置１００からの指示によるパケット出力はＶＬＡＮゲート機能の対象外とすればよい。）。通信ノード２００Ａ、２００Ｂが、通信ノード２００Ｃからのトポロジ確認パケットを受信したことを検出することで、制御装置１００は、通信ノード２００によって構成されるネットワークのトポロジを構築することができる。なお、上記した方法に限られず、ＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）やその他のルーティングプロトコルを用いてトポロジを検出することも可能である。
【００２７】
また、前記通信ノード２００に対するトポロジ情報の収集と併せて、各通信ノード２００の能力情報を収集することも好ましい。このようにすることで、制御装置１００が、通信ノード２００が備えているポートの情報や、ＶＬＡＮゲート機能を備えているかどうかを自動的に収集することができる。
【００２８】
仮想ネットワークＤＢ１０６は、通信ノード２００によって構成された仮想ネットワークの構成情報を保持するデータベースである。
【００２９】
図５は、本発明の第１の実施形態の通信ノード２００によって構成される仮想ネットワークの構成例を示す図である。図５の例では、通信ノード２００Ａ〜２００Ｃを制御することによって仮想的に構成された仮想ブリッジ３００を持つ仮想ネットワークが示されている。また、仮想ブリッジの２つの端点の通信ノード２００Ａ、２００Ｃの特定のポートにマッピングされている。このように仮想ネットワークを通信ノード２００Ａ、２００Ｃのポートとマッピングすることで、１つの物理ネットワークから論理的に分割された複数の仮想ネットワークを構成することができる。
【００３０】
図６は、本発明の第１の実施形態の仮想ネットワークＤＢ１０６に保持されるＶＬＡＮゲート制御情報の一例である。図６の例では、仮想ネットワーク毎に、それぞれ端末側に設定するゲートＶＬＡＮ  ＩＤと、通信ノード間を接続するポートに設定するコアＶＬＡＮ  ＩＤと、サーバ側のゲートＶＬＡＮ  ＩＤとが対応付けられている。例えば、ＶＬＡＮ  ＩＤ＝１００を用いる仮想ネットワークＡ、ＶＬＡＮ  ＩＤ＝３００を用いる仮想ネットワークＢの通信は、通信ノード２００Ａ〜２００Ｃ間のコアネットワークでは、共通のコアＶＬＡＮ  ＩＤ＝４０９４を持つ通信に集約される。このため、入口側の通信ノードのコアネットワーク側ポートには、ＶＬＡＮ  ＩＤ＝４０９４を設定する必要がある。このようにすることで、上述のＶＬＡＮゲート機能により、入口側の通信ノードに、コアネットワーク側に出力するパケットでＶＬＡＮ  ＩＤが４０９４でないパケットを破棄させることが可能になる。同様に、出口側の通信ノードのサーバと接続されたポートには、ＶＬＡＮ  ＩＤ＝２００を設定する必要がある。またこのようにすることで、同様に、出口側の通信ノードに、サーバ側に出力するパケットでＶＬＡＮ  ＩＤが２００でないパケットを破棄させることができる。本実施形態では、このように、適切なＶＬＡＮ  ＩＤが設定されていないパケットを破棄（Ｄｒｏｐ）させる制御情報（フローエントリ）を設定せずに済むため、通信ノードに設定するフローエントリの数を削減可能となっている。
【００３１】
加えて、上記のように、コアネットワークで、特定のＶＬＡＮ  ＩＤに統一することにより、通信ノード２００に設定するフローエントリの数を低減することができる。また、フローエントリの数の低減は、制御装置１００の実装の容易化にも貢献する。
【００３２】
第２ＶＬＡＮ情報決定部１０４は、上記した仮想ネットワークＤＢ１０６に保持された仮想ネットワークの構成情報と、物理トポロジＤＢに格納されたトポロジ情報とに基づいて、通信ノード２００の外部機器（例えば、図５のサーバＡ）と接続されたポートに設定するＶＬＡＮ  ＩＤを決定し、通信部１０８を介して、該当ポートに前記決定したＶＬＡＮ  ＩＤを設定する。
【００３３】
図７は、第２ＶＬＡＮ情報決定部１０４によるＶＬＡＮ設定動作の一例を示す図である。例えば、物理トポロジＤＢ１０７に格納されている情報から、通信ノード２００ＣがサーバＡと接続され、仮想ネットワークＤＢ１０６に格納されている情報から、前記通信ノード２００ＣのサーバＡとの接続ポートが仮想ネットワークの仮想端点にマッピングされていることが分かる。そして、第２ＶＬＡＮ情報決定部１０４は、図６に示されたＶＬＡＮゲート制御情報を参照して、通信ノード２００ＣのサーバＡとの接続ポートに、サーバ側ゲートＶＬＡＮ  ＩＤとして「２００」を設定する動作を行う。
【００３４】
また、仮想ネットワークＤＢ１０６や物理トポロジＤＢ１０７に格納された情報が更新された場合には、第２ＶＬＡＮ情報決定部１０４に、これら更新内容に応じたＶＬＡＮ  ＩＤの設定動作を行わせてもよい。例えば、通信ノード２００Ｃに、新たにサーバＢが接続された場合、第２ＶＬＡＮ情報決定部１０４は、上記したサーバＡの場合と同様に、通信ノード２００ＣのサーバＢとの接続ポートに、サーバ側ゲートＶＬＡＮ  ＩＤとして「２００」を設定する。また、サーバＡが通信ノード２００Ｃから外された場合には、通信ノード２００ＣのサーバＡとの接続ポートから、ＶＬＡＮ  ＩＤを削除する動作を行わせてもよい。
【００３５】
経路計算部１０１は、通信部１０８を介して、通信ノード２００からの制御情報の設定要求（非特許文献２の「Ｐａｃｋｅｔ−Ｉｎ」メッセージ）を受信すると、制御情報の設定要求の契機となったパケットの受信ポートや送信元端末のＩＤ等を参照して、送信元の端末が属する仮想ネットワークを特定する。そして、仮想ネットワークを特定できた場合、経路計算部１０１は、制御情報の設定要求に含まれるパケット情報に基づいて、起点となる通信ノードから、宛先に接続された通信ノード２００に到る転送経路を計算する。
【００３６】
制御情報生成部１０２は、経路計算部１０１にて計算された転送経路でパケットを転送するために、計算された転送経路上の通信ノードに設定する制御情報（フローエントリ）を生成し、通信部１０８を介して、転送経路上の通信ノード２００に設定する。また併せて、制御情報生成部１０２は、図６に示したＶＬＡＮゲート制御情報を参照して、転送経路上の通信ノードに、必要なヘッダ書換えを実行させる制御情報（フローエントリ）を設定する。
【００３７】
第１ＶＬＡＮ情報決定部１０３は、制御情報の設定要求（非特許文献２の「Ｐａｃｋｅｔ−Ｉｎ」メッセージ）を契機として、経路計算部１０１にて経路の計算が行われると、その経路の始点にあたるポートに、前記特定された仮想ネットワークに対応するＶＬＡＮ  ＩＤを決定し、通信部１０８を介して、該当ポートに前記決定したＶＬＡＮ  ＩＤを設定する。前記経路の始点にあたるポートがＶＬＡＮゲート機能を備えていないポートであるか否かは、予めネットワーク管理者が制御装置１００に記憶させておいた設定情報（ＶＬＡＮ自動設定対象のポート情報）に基づいて判断してもよいし、上記したトポロジ収集動作時に各通信ノードから収集した通信ノード２００の能力情報に基づいて判別することもできる。
【００３８】
なお、図２に示した制御装置１００の各部（処理手段）は、制御装置１００を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３９】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図８〜図１４は、通信ノード２００Ａに端末Ａが接続され、端末ＡからサーバＡ宛てのパケットを受信した場合の動作を表した図である。
【００４０】
端末ＡからサーバＡ宛てのパケットを受信した通信ノード２００Ａは、自身が保持する制御情報中に、端末ＡからサーバＡ宛てのパケットに適合するマッチ条件を持つ制御情報が存在しないため、図８に示すように、制御装置１００に対して、制御情報の設定要求（非特許文献２の「Ｐａｃｋｅｔ−Ｉｎ」メッセージ）を送信する。
【００４１】
前記制御情報の設定要求を受信した制御装置１００は、例えば、端末Ａが仮想ネットワークＡに属すると判定し、図９に示すように、通信ノード２００Ａから通信ノード２００Ｃを経由してサーバＡにパケットを転送させる転送経路を計算する。そして、前記転送経路上の転送ノード２００Ａ、２００Ｃに、前記転送経路に従ったパケットの転送と、前記ＶＬＡＮゲート制御情報に対応するＶＬＡＮ  ＩＤの書き換えとを実行させる制御情報（フローエントリ）を設定する。
【００４２】
次に制御装置１００は、図１０に示すように、前記計算した転送経路の始点となるポートに、図６に示したＶＬＡＮゲート制御情報の仮想ネットワークＡのゲートＶＬＡＮ  ＩＤ「１００」を設定する。
【００４３】
さらに制御装置１００は、図１１に示すように、前記計算した転送経路上の通信ノード同士を接続するポートに、図６に示したＶＬＡＮゲート制御情報の仮想ネットワークＡのＣＯＲＥ  ＶＬＡＮ  ＩＤ「４０９４」を設定する。
【００４４】
なお、図７にて説明したように、前記経路の終点となる通信ノード２００ＣのサーバＡとの接続ポートには、第２ＶＬＡＮ情報決定部１０４によりサーバ側ゲートＶＬＡＮ  ＩＤ「２００」が設定済みである。以上により、端末ＡからサーバＡへのパケット転送の準備が完了する。
【００４５】
続いて、仮想ネットワークＢに属する端末Ｂが通信ノード２００Ａに接続し、サーバＡ宛てのパケットを送信した場合について説明する。この場合も同様に、制御装置１００は、例えば、図１２に示すように、通信ノード２００Ａから通信ノード２００Ｂ、通信ノード２００Ｃを経由してサーバＡにパケットを転送させる転送経路を計算する。そして、制御装置１００は、前記転送経路上の転送ノード２００Ａ〜２００Ｃに、前記転送経路に従ったパケットの転送と、ＶＬＡＮ  ＩＤの書き換えとを実行させる制御情報（フローエントリ）を設定する。さらに、制御装置１００は、前記転送経路の始点となるポートに、図６に示したＶＬＡＮゲート制御情報の仮想ネットワークＢのゲートＶＬＡＮ  ＩＤ「３００」を設定する。
【００４６】
さらに制御装置１００は、図１３に示すように、前記計算した転送経路上の通信ノード同士を接続するポートに、図６に示したＶＬＡＮゲート制御情報の仮想ネットワークＢのＣＯＲＥ  ＶＬＡＮ  ＩＤ「４０９４」を設定する。
【００４７】
なお、図７にて説明したように、前記経路の終点となる通信ノード２００ＣのサーバＡとの接続ポートには、第２ＶＬＡＮ情報決定部１０４によりサーバ側ゲートＶＬＡＮ  ＩＤ「２００」を設定済みである。以上により、端末ＢからサーバＡへのパケット転送の準備が完了する。
【００４８】
図１４は、上記一連の処理により実現されるパケット転送経路（太実線、太破線）と、その経路上のポートに設定されるＶＬＡＮ  ＩＤを示した図である。以上のように、本実施形態によれば、制御装置１００による経路設定と同時に、経路上の通信ノード２００のポートに必要なＶＬＡＮ  ＩＤを設定することができる。この結果、各通信ノードのポートへのＶＬＡＮ  ＩＤの設定作業が軽減されている。また、前記設定されたＶＬＡＮ  ＩＤは、各通信ノードにおいて、ＶＬＡＮゲート機能に使用されるため、フローエントリの数の削減やスイッチの応答性の向上も実現される。
【００４９】
なお、上記した過程で、制御装置１００が通信ノード２００のポートに設定したＶＬＡＮ  ＩＤは適当なタイミングで削除することが望ましい。例えば、一定期間の経過によるタイムアウトや、制御装置１００からの明示的な指示で、個々の通信ノード２００に設定した制御情報（フローエントリ）を削除した場合に、ＶＬＡＮ  ＩＤを削除することができる。
【００５０】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００５１】
また例えば、上記した実施形態では、通信ノードからの制御情報の設定要求の受信を契機としてＶＬＡＮ  ＩＤを設定するものとして説明したが、その他、端末や仮想マシンの通信ノードへの接続、通信ノードの追加によるトポロジの変更等を契機としてＶＬＡＮ  ＩＤを設定する形態も採用可能である。
【００５２】
また例えば、上記した実施形態では、通信ノード２００のＶＬＡＮゲート機能として、通信ノードの特定のポートにおいて、パケット出力時に、指定されたＶＬＡＮ情報が設定されていないパケットを破棄する機能として説明したが、通信ノード２００が、指定されたＶＬＡＮ情報が設定されていないパケットを受信した場合、当該パケットを破棄する機能を備えていてもよい。この場合、ＶＬＡＮ情報が設定されていないパケットの受信時に、通信ノード２００が制御装置１００に対し制御情報の設定要求を送信する動作も抑止されてしまうので、端末や仮想マシンの通信ノードへの接続、通信ノードの追加によるトポロジの変更等を制御装置１００に通知する仕組みを設ける必要がある。
【００５３】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による制御装置参照）
［第２の形態］
第１の形態の制御装置において、
前記第１のＶＬＡＮ情報決定部は、前記端末の接続されたポートが、パケット送信時に指定されたＶＬＡＮ情報が設定されていないパケットを破棄する機能を備えているポートである場合にＶＬＡＮ情報を決定する制御装置。
［第３の形態］
第１又は第２の形態の制御装置において、
前記第１のＶＬＡＮ情報決定部は、前記端末の接続されたポートが、指定されたＶＬＡＮ情報が設定されていないパケットを受信した場合、当該パケットを破棄する機能を備えているポートである場合にＶＬＡＮ情報を決定する制御装置。
［第４の形態］
第１から第３いずれか一の形態の制御装置において、
前記ＶＬＡＮ設定部は、
前記制御対象の通信ノードに対し、指定されたポートに前記ＶＬＡＮ情報を設定する動作を実行させる制御メッセージを送信することにより、ＶＬＡＮ情報を設定する制御装置。
［第５の形態］
第１から第４いずれか一の形態の制御装置において、
さらに、仮想ネットワークの構成情報と、前記制御対象の通信ノードから受信したトポロジ情報とに基づいて、前記制御対象の通信ノードの外部機器と接続されたポートに設定するＶＬＡＮ情報を決定する第２のＶＬＡＮ情報決定部を備える制御装置。
［第６の形態］
第１から第５いずれか一の形態の制御装置において、
さらに、前記仮想ネットワークの構成情報と、前記制御対象の通信ノードから受信したトポロジ情報とに基づいて、前記制御対象の通信ノード同士を接続するポートにＶＬＡＮ情報を設定する制御装置。
［第７の形態］
第１から第６いずれか一の形態の制御装置において、
前記制御対象の通信ノードからの制御情報の設定要求を受信することにより、端末又は仮想マシンが接続したことを検出する制御装置。
［第８の形態］
（上記第２の視点による通信システム参照）
［第９の形態］
（上記第３の視点による通信ノードの制御方法参照）
［第１０の形態］
（上記第４の視点によるプログラム参照）
なお、上記第８〜第１０の形態は、第１の形態と同様に、第２〜第７の形態に展開することが可能である。
【００５４】
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００５５】
１０、１００  制御装置
１１  接続検出部
１２、１０３  第１ＶＬＡＮ情報決定部
１３  ＶＬＡＮ設定部
２０、２００Ａ〜２００Ｃ  通信ノード
１０１  経路計算部
１０２  制御情報生成部
１０４  第２ＶＬＡＮ情報決定部
１０５  トポロジ構築部
１０６  仮想ネットワークデータベース（仮想ネットワークＤＢ）
１０７  物理トポロジデータベース（物理トポロジＤＢ）
１０８  通信部
３００  仮想ブリッジ
【図１】
2014104277.tif 000003
【図２】
2014104277.tif 000004
【図３】
2014104277.tif 000005
【図４】
2014104277.tif 000006
【図５】
2014104277.tif 000007
【図６】
2014104277.tif 000008
【図７】
2014104277.tif 000009
【図８】
2014104277.tif 000010
【図９】
2014104277.tif 000011
【図１０】
2014104277.tif 000012
【図１１】
2014104277.tif 000013
【図１２】
2014104277.tif 000014
【図１３】
2014104277.tif 000015
【図１４】
2014104277.tif 000016
【国際調査報告】
2014104277.tif 000017
2014104277.tif 000018