(57)【特許請求の範囲】
【請求項１】
仮想ネットワーク上の仮想ノードと、前記仮想ノードと通信する端末ノードとの対応関係を管理する制御装置と通信する第一の手段と、
通信データを受信する第二の手段と、
前記制御装置の指示に基づいて、前記通信データの送信元の前記端末ノードに対応付けられた前記仮想ノードの機能を実行する第三の手段と、
を含むことを特徴とする物理ノード。
【請求項２】
前記第三の手段は、前記端末ノードが送信した前記通信データが経由する前記物理ノードの変更に応じた前記制御装置の指示に基づいて、前記通信データの送信元の前記端末ノードに対応付けられた前記仮想ノードの機能を実行する
ことを特徴とする請求項１の物理ノード。
【請求項３】
仮想ネットワーク上の仮想ノードと、前記仮想ノードと通信する端末ノードとを対応付ける第一の手段と、
通信データを処理する物理ノードに、当該通信データの送信元の前記端末ノードに対応する前記仮想ノードを対応付ける第二の手段と、
前記仮想ノードに対応付けられた前記物理ノードに、当該物理ノードに対応付けられた前記仮想ノードの機能を実行することを指示する第三の手段と
を含む制御装置。
【請求項４】
前記第三の手段は、前記端末ノードが送信した前記通信データを処理する前記物理ノードの変更に応じて、前記通信データの送信元の前記端末ノードに対応付けられた前記仮想ノードの機能を実行することを前記物理ノードに指示する
ことを特徴とする請求項３の制御装置。
【請求項５】
仮想ネットワーク上の仮想ノードと、前記仮想ノードと通信する端末ノードとの対応関係を管理する制御装置と通信し、
通信データを受信し、
前記制御装置の指示に基づいて、前記通信データの送信元の前記端末ノードに対応付けられた前記仮想ノードの機能を実行する
ことを特徴とする通信方法。
【請求項６】
前記端末ノードが送信した前記通信データが経由する前記物理ノードの変更に応じた前記制御装置の指示に基づいて、前記通信データの送信元の前記端末ノードに対応付けられた前記仮想ノードの機能を実行する
ことを特徴とする請求項５の通信方法。
【請求項７】
仮想ネットワーク上の仮想ノードと、前記仮想ノードと通信する端末ノードとを対応付け、
通信データを処理する物理ノードに、当該通信データの送信元の前記端末ノードに対応する前記仮想ノードを対応付け、
前記仮想ノードに対応付けられた前記物理ノードに、当該物理ノードに対応付けられた前記仮想ノードの機能を実行することを指示する
ことを特徴とする制御方法。
【請求項８】
前記端末ノードが送信した前記通信データを処理する前記物理ノードの変更に応じて、前記通信データの送信元の前記端末ノードに対応付けられた前記仮想ノードの機能を実行することを前記物理ノードに指示する
ことを特徴とする請求項７の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１０−２９２０１４号（２０１０年１２月２８日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、情報システム、制御装置、仮想ネットワークの提供方法およびプログラムに関し、特に、受信パケットに適合する処理規則に従って、受信パケットを処理する転送ノードを用いて構成した情報システム、制御装置、仮想ネットワークの提供方法およびプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（特許文献１、非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、制御装置と位置付けられるオープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチングルール（ヘッダフィールド）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したアクション（Ａｃｔｉｏｎｓ）と、の組が定義される（図１７参照）。
【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチングルール（図１７のヘッダフィールド参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／０９５０１０号
【非特許文献】
【０００５】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２２(2010)年１２月１日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．０．０．  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０１）  ［平成２２(2010)年１２月１日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献及び非特許文献の全開示内容はその引用をもって本書に繰込み記載する。
以下の分析は、本発明によって与えられたものである。
【０００７】
非特許文献１の５頁のＥｘａｍｐｌｅ２には、上記のようなオープンフローの仕組みを用いてＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のような仮想ネットワークを提供できることが記載されている。また、その際のユーザトラヒックの特定方法として、オープンフロースイッチのポートやＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスにより個々のユーザトラヒックを特定し、オープンフロースイッチに適切なＶＬＡＮ  ＩＤを付与させることや、コントローラにユーザ認証を行なわせること、さらには、前記ＶＬＡＮ  ＩＤの付与にユーザの位置を考慮することが記載されている。
【０００８】
しかしながら、上記非特許文献１には、上記ＶＬＡＮ  ＩＤの付与方法（即ち、仮想ネットワークの決定）等が開示されているに止まり、上記オープンフロースイッチを仮想ネットワーク上の仮想ノードないし仮想フロンドエンドシステムとして動作させ、ユーザの利用に供することについては触れられていない。
【０００９】
とりわけ、上記仮想ネットワークを提供する場合においては、オープンフロースイッチ等の物理的なノード（以下、「物理ノード」という。）と仮想ノードとの対応付けが問題となる。例えば、物理ノード（あるいはそのインタフェース）と仮想ノード（あるいはそのインタフェース）とを１対１で静的に対応付けた場合、その対応関係を更新するまで、ユーザの移動に対応できなくなってしまうほか、ネットワークの構成変更時にその都度、前記物理ノードと仮想ノードとの対応関係を更新しなければならないという問題点がある。
【００１０】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記したオープンフローに代表される制御装置が複数の物理ノードを制御する情報システムにおける物理ノードと仮想ノードとの対応付けを動的に、かつ、簡便に行うことができるようにした構成および方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、仮想ネットワーク上の仮想ノードと、前記仮想ノードと通信する端末ノードとの対応関係を管理する制御装置と通信する第一の手段と、通信データを受信する第二の手段と、前記制御装置の指示に基づいて、前記通信データの送信元の前記端末ノードに対応付けられた前記仮想ノードの機能を実行する第三の手段と、を含む物理ノードが提供される。
【００１２】
本発明の第２の視点によれば、仮想ネットワーク上の仮想ノードと、前記仮想ノードと通信する端末ノードとを対応付ける第一の手段と、通信データを処理する物理ノードに、当該通信データの送信元の前記端末ノードに対応する前記仮想ノードを対応付ける第二の手段と、前記仮想ノードに対応付けられた前記物理ノードに、当該物理ノードに対応付けられた前記仮想ノードの機能を実行することを指示する第三の手段とを含む制御装置が提供される。
【００１３】
本発明の第３の視点によれば、仮想ネットワーク上の仮想ノードと、前記仮想ノードと通信する端末ノードとの対応関係を管理する制御装置と通信し、通信データを受信し、前記制御装置の指示に基づいて、前記通信データの送信元の前記端末ノードに対応付けられた前記仮想ノードの機能を実行する通信方法が提供される。
【００１４】
本発明の第４の視点によれば、仮想ネットワーク上の仮想ノードと、前記仮想ノードと通信する端末ノードとを対応付け、通信データを処理する物理ノードに、当該通信データの送信元の前記端末ノードに対応する前記仮想ノードを対応付け、前記仮想ノードに対応付けられた前記物理ノードに、当該物理ノードに対応付けられた前記仮想ノードの機能を実行することを指示する制御方法が提供される。
【発明の効果】
【００１５】
本発明によれば、物理ノードと仮想ノードとを１対１で対応付けなくとも、外部ノードが接続しているものと取り扱う仮想ノードを決定し、該仮想ノードを始点とした仮想ネットワークによるサービスを提供することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の概要を説明するための図である。
【図２】本発明の第１の実施形態の全体構成を表わした図である。
【図３】本発明の第１の実施形態の物理ノードの構成を表わした図である。
【図４】本発明の第１の実施形態の物理ノードに保持される処理規則を説明するための図である。
【図５】本発明の第１の実施形態の制御サーバの構成を表わした図である。
【図６】本発明の第１の実施形態の制御サーバに保持される仮想ネットワーク構成情報を説明するための図である。
【図７】本発明の第１の実施形態の制御サーバの物理仮想変換情報記憶部に保持される情報を説明するための図である。
【図８】本発明の第１の実施形態の制御サーバの物理仮想変換情報記憶部に保持される物理位置仮想位置変換情報を説明するための図である。
【図９】本発明の第１の実施形態の制御サーバの物理仮想変換情報記憶部に保持される外部ノード仮想位置変換情報を説明するための図である。
【図１０】本発明の第１の実施形態の制御サーバの物理仮想変換情報記憶部に保持される物理位置仮想ネットワーク変換情報を説明するための図である。
【図１１】本発明の第１の実施形態の構成によって実現される仮想ネットワークの例である。
【図１２】本発明の第１の実施形態の物理ノードの動作を表したシーケンス図である。
【図１３】本発明の第１の実施形態の制御サーバの動作を表したシーケンス図である。
【図１４】本発明の第１の実施形態の制御サーバの別の動作を表したシーケンス図である。
【図１５】本発明の第１の実施形態の制御サーバの別の動作を表したシーケンス図である。
【図１６】本発明の第１の実施形態の制御サーバの別の動作（外部ノード移動時）を表したシーケンス図である。
【図１７】非特許文献２に記載のフローエントリの構成を表した図である。
【発明を実施するための形態】
【００１７】
はじめに本発明の一実施形態の概要を説明する。本発明は、図１に示すように、その一実施形態において、フローを特定するための照合規則と、前記照合規則に適合するパケットに適用する処理内容とを対応付けた処理規則に従って、外部ノード３０Ａ〜３０Ｄから受信したパケットを処理する複数の物理ノードと、物理ノードに、前記処理規則を設定することにより、前記複数の物理ノードを、外部ノード３０Ａ〜３０Ｄから利用可能な仮想ネットワーク上の仮想ノードとして動作させる制御サーバ（制御装置）２０と、を含む構成にて実現できる。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
より具体的には、制御サーバ２０は、前記物理ノードと仮想ネットワークとの対応関係を定めた第１の記憶部と、前記外部ノードと仮想ネットワーク上の仮想ノードとの対応関係を定めた第２の記憶部と、を備え、前記外部ノードが接続する物理ノードの情報（例えば、図１の物理ノード１０Ａ）と、前記外部ノードの情報とに基づいて、前記外部ノードが接続する仮想ネットワークと仮想ノードとを決定する。
【００１９】
上記構成によれば、物理ノードと仮想ノードとを１対１で対応付けなくとも、物理ノードの情報と外部ノードの情報から、当該外部ノードが接続する仮想ネットワークと仮想ノードとを一意に求めることが可能となる。また、同構成を採ることにより、例えば、図１の外部ノード３０Ａのように外部ノードが移動しても、決定した仮想ノードを移動先の物理ノードと対応付けることができる（図１の符号５１０、５２０参照）。前記更新後の対応関係に基づいて、仮想ネットワーク上のフローと、物理ネットワーク上のフローとの相互変換を行うことにより、その通信を継続することが可能となる。
【００２０】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の全体構成を表わした図である。図２を参照すると、物理ノード１０Ａ〜１０Ｃと、これら物理ノード１０Ａ〜１０Ｃに処理規則を設定する制御サーバ（制御装置）２０と、物理ノード１０Ａ〜１０Ｃを介して他の外部ノードと通信する外部ノード３０Ａ〜３０Ｄとが示されている。
【００２１】
制御サーバ２０は、これら物理ノード１０Ａ〜１０Ｃに処理規則に設定することにより、パケット転送経路の制御のほか、物理ノード１０Ａ〜１０Ｃを、ユーザが認識している仮想ネットワーク上の仮想ノードとして振舞わせることができる。例えば、外部ノード３０Ｃ、３０Ｄを用いて仮想サーバが構成されている場合、物理ノード１０Ｃに、外部ノード３０Ａ、３０Ｂからのアクセスを、所定のアルゴリズムにより、外部ノード３０Ｃ、３０Ｄに振り分けることで物理ノード１０Ｃを仮想的なロードバランサとして動作させることができる。
【００２２】
図３は、上記物理ノード１０Ａ〜１０Ｃの詳細構成（以下、物理ノード、外部ノードについて特に区別する必要がないときは、それぞれ「物理ノード１０」、「外部ノード３０」と記す。）を表したブロック図である。
【００２３】
図３を参照すると、受信パケットの処理を行うパケット処理部１０１と、制御サーバ２０から設定された処理規則を保持する処理規則記憶部１０２と、制御サーバ２０と通信する制御サーバ通信部１０３とを備えた構成が示されている。
【００２４】
図４は、上記処理規則記憶部１０２に保持される処理規則１０２Ａを説明するための図である。図４を参照すると、処理規則は、フローを特定するための照合規則と、前記照合規則に適合するパケットに適用する処理内容（アクション）とを対応付けた構成となっている。また、本実施形態においては、物理ノード１０は、各処理規則のエージングを行う。
【００２５】
パケット処理部１０１は、パケットを受信すると、処理規則記憶部１０２から、受信パケットに適合する照合規則を持つ処理規則を検索する。処理規則記憶部１０２に該当する処理規則が存在する場合、パケット処理部１０１は、当該処理規則に定められた処理内容（例えば、ポート＃１から出力）を実行する。
【００２６】
また、前記処理規則の検索の結果、処理規則記憶部１０２に該当する処理規則が存在しない場合、パケット処理部１０１は、サーバ通信部１０３に制御サーバ２０に対する処理規則の設定要求を依頼する。
【００２７】
パケット処理部１０１は、前記エージングのために設定された時間（タイムアウト値）内に受信パケットを受信しなかった処理規則を、処理規則記憶部１０２から削除する。また、パケット処理部１０１は、サーバ通信部１０３を介して、処理規則記憶部１０２からの処理規則を削除したことを制御サーバ２０に通知する。
【００２８】
サーバ通信部１０３は、制御サーバ２０と、処理規則の設定要求、処理規則の受信や処理規則の削除等の通信を行う。前記処理規則の設定要求は、受信パケットそのものまたは受信パケットから抽出した処理規則の作成に必要な情報と、物理ノード１０を一意に特定する情報を含んだ処理規則の設定要求メッセージを制御サーバ２０に送信することによって行われる。また、サーバ通信部１０３は、制御サーバ２０から処理規則を受信すると、パケット処理部１０１を介して、処理規則記憶部１０２に格納する。
【００２９】
なお、このような物理ノード１０は、上記と同様の動作を行う非特許文献２に記載されたオープンフロースイッチを用いて構成することが可能である。
【００３０】
図５は、本発明の第１の実施形態の制御サーバ２０の詳細構成を表わした図である。図５を参照すると、物理ノード１０に処理規則を設定することにより、物理ノード１０を制御する物理ノード制御部２０１と、物理ノード１０によって構成されるネットワークトポロジに基づいたパケット転送経路の計算等を行う経路制御部２０２と、制御サーバ２０上に構築される仮想ネットワークを制御する仮想ネットワーク制御部２０３と、これら各制御部が参照する情報を格納する記憶部と、から構成される。
【００３１】
制御サーバ２０の物理ノード情報記憶部２０４は、物理ノード１０から受信した物理ノード１０の情報を記憶する手段である。このような物理ノードの情報としては、物理ノード１０を一意に特定する物理ノードＩＤ、物理ノード１０の物理ポート（インタフェース）を一意に特定する物理ポートＩＤ、物理ポートの設定や状態、物理ノード１０の制御サーバ２０との接続状態等が挙げられる。
【００３２】
制御サーバ２０の転送経路情報記憶部２０５は、任意の２点の物理ノード１０間の転送経路と、当該転送経路上の物理ノード１０に指示した処理規則との対応関係を示した物理ネットワーク上のフロー（物理フロー）を記憶する。
【００３３】
制御サーバ２０の物理トポロジ情報記憶部２０６は、物理ノード１０間の接続リンク状態（ネットワークトポロジ）を記憶する。
【００３４】
制御サーバ２０の仮想ネットワーク経路情報記憶部２０７は、上記転送経路情報記憶部２０５にて管理されている物理ネットワーク上のフロー（物理フロー）と、仮想ネットワーク上の任意の２点の仮想ノードのフロー（仮想フロー）との対応関係を記憶する。
【００３５】
制御サーバ２０の物理仮想変換情報記憶部２０８は、物理ネットワークの位置情報と仮想ネットワークの位置情報との対応関係を記憶する。この物理ネットワークの位置情報と仮想ネットワークの位置情報は、即ち、物理ノードと仮想ネットワーク上の仮想ノードとの対応関係と言い換えることもでき、その詳細は、後に図７を用いて詳細に説明する。
【００３６】
制御サーバ２０の仮想ネットワーク構成情報記憶部２０９は、図６に示されるような制御サーバ２０上に構築される仮想ネットワークＩＤと仮想ノードのＩＤから特定される仮想ノードと、その仮想ノードオブジェクトとの対応関係を示す仮想ネットワーク構成情報２０９Ａを記憶する。
【００３７】
図７は、物理仮想変換情報記憶部に保持される情報を説明するための図である。図７を参照すると、物理位置仮想位置変換情報記憶部（第３の記憶部）２０８１と、物理位置仮想ネットワーク変換情報記憶部（第１の記憶部）２０８３と、外部ノード仮想位置変換情報記憶部（第２の記憶部）２０８２とを含んだ構成が示されている。
【００３８】
物理位置仮想位置変換情報記憶部２０８１は、図８で示されるような物理ノードＩＤ、その物理ポートＩＤおよびＶＬＡＮ−ＴＡＧの組に、仮想ネットワークＩＤ、仮想ノードＩＤおよび仮想インタフェースＩＤを対応付けたエントリ（物理位置仮想位置変換情報２０８１Ａ）を保持する。以降、物理ノードＩＤと物理ポートＩＤとＶＬＡＮ−ＴＡＧ（但し、ＶＬＡＮ−ＴＡＧは必須項目ではない。）の組を「物理ネットワーク位置情報」とし、仮想ネットワークＩＤと仮想ノードＩＤと仮想インタフェースＩＤを「仮想ネットワーク位置情報」とする。
【００３９】
外部ノード仮想位置変換情報記憶部２０８２は、図９で示されるような送信元ＭＡＣアドレス、送信元ＩＰアドレスまたは送信元ネットワークアドレス等の外部ノードを特定する情報に、仮想ネットワーク位置情報を対応付けたエントリ（外部ノード仮想位置変換情報２０８２Ａ）を保持する。
【００４０】
物理位置仮想ネットワーク変換情報記憶部２０８３は、図１０で示されるような物理ネットワーク位置情報と、仮想ネットワークＩＤとを対応付けたエントリ（物理位置仮想ネットワーク変換情報２０８３Ａ）を保持する。
【００４１】
物理ノード制御部２０１は、経路制御部２０２からの指示により、物理ノード情報記憶部２０４に保持されている情報を参照して、転送経路上の物理ノード１０に設定すべき処理規則を作成し、各物理ノード１０に設定する機能と、物理ノード１０から受信した処理規則の設定要求や処理規則の削除通知等を受信し、経路制御部２０２と仮想ネットワーク制御部２０３に通知する機能を有する。
【００４２】
経路制御部２０２は、物理トポロジ情報記憶部２０６に保持されている物理ノード１０間の接続リンク状態（ネットワークトポロジ）を参照して、任意の２点の物理ノード１０間の経路を求める機能を有する。また、経路制御部２０２は、仮想ネットワーク制御部２０３からの指示に基づいて、前記物理ノード制御部２０１に、物理ノード１０に前記経路を実現する処理規則を設定させ、任意の２点の物理ノード１０の物理ポート間で通信するフローを構築する機能を有する。また、経路制御部２０２は、物理ノード１０から処理規則の削除通知を受信した場合、該当処理規則の削除を仮想ネットワーク制御部２０３に通知する機能を有する。
【００４３】
仮想ネットワーク制御部２０３は、物理ノード１０の物理ネットワーク上の位置情報に対応する仮想ネットワーク位置情報を特定し、物理ネットワークと仮想ネットワーク間のパケットの送受信を実現する機能を有する。また、仮想ネットワーク制御部２０３は、仮想ネットワーク上の通信のエミュレーションを行い、仮想ネットワークの任意の２点の仮想ノード間のＥｎｄ−Ｔｏ−Ｅｎｄの通信フローを求める機能を有する。また、仮想ネットワーク制御部２０３は、仮想ネットワーク上の通信フローを物理ネットワークの任意の２点の物理ノード１０のＥｎｄ−Ｔｏ−Ｅｎｄの通信フローに変換し、経路制御部２０２に物理ネットワーク上の経路とこれを実現する処理規則の設定を指示する機能を有する。
【００４４】
図１１は、上記のような仮想ネットワーク制御部２０３により管理される仮想ネットワークの例である。仮想ネットワークは、図１１に示すように、仮想ルータＶ１、仮想ファイアウォールＶ２、仮想ロードバランサＶ３、仮想ブリッジＶ４、仮想サーバＶ５、Ｖ６といった仮想ノードと、これら仮想ノードに所属する仮想インタフェースと、仮想インタフェースを結ぶ仮想リンクで構成される。
【００４５】
以上のような制御サーバ２０は、制御サーバ２０を構成するコンピュータに、上記した情報を参照させ、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４６】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図１２は、外部ノード３０から送信されたパケットを受信した物理ノードの動作を表したシーケンス図である。図１２を参照すると、外部ノード（例えば、図２の３０Ａ）が他の外部ノード（例えば、図２の３０Ｄ）宛てのパケットを送信すると（ステップＳ１−１）、物理ノード１０は、受信パケットに適合する照合規則を持つ処理規則を検索する（ステップＳ１−２）。ここでは、外部ノード（例えば、図２の３０Ａ）から他の外部ノード（例えば、図２の３０Ｄ）に宛てられた最初のパケットであるため、処理規則記憶部１０２に、受信パケットに適合する処理規則が存在しなかったものとする。そこで、物理ノード１０は、受信パケットに、自装置の物理ノードＩＤと当該パケットを受信した物理ポートの物理ポートＩＤと、を付加し（ステップＳ１−３）、制御サーバ２０に、処理規則の設定要求として送信する（ステップＳ１−４）。
【００４７】
図１３、図１４は、上記処理規則の設定要求を受信した制御サーバ２０の動作を表したシーケンス図である。はじめに図１３を参照して、処理規則の設定要求を行った物理ノードの位置情報に対応する仮想ネットワーク位置情報が物理位置仮想位置変換情報記憶部２０８１に登録されている場合の動作について説明する。
【００４８】
図１３を参照すると、まず、制御サーバ２０の物理ノード制御部２０１は、物理ノード１０から受信した処理規則の設定要求を仮想ネットワーク制御部２０３に出力する（ステップＳ１−５）。
【００４９】
仮想ネットワーク制御部２０３は、物理位置仮想位置変換情報記憶部２０８１を参照して処理規則設定要求に含まれる物理ネットワーク位置情報に対応する仮想ネットワーク位置情報を検索する（ステップＳ１−６）。ここでは、物理位置仮想位置変換情報記憶部２０８１に、物理ネットワーク位置情報に対する仮想ネットワーク位置情報が登録されているため、仮想ネットワーク制御部２０３は、仮想ネットワーク構成情報記憶部２０９から、前記特定した仮想ネットワーク位置情報の仮想ノードを特定し（ステップＳ１−７）、前記特定した仮想ノード（該仮想ノードに対応する物理ノード）にパケットを送信する（ステップＳ１−８）。以降、仮想ネットワーク制御部２０３による、仮想ネットワーク上の通信のエミュレーション、仮想ノード間のＥｎｄ−Ｔｏ−Ｅｎｄの通信フローの算出、前記算出した仮想ネットワーク上の通信フローの物理ネットワーク上の通信フローへの変換し、前記変換した通信フローを実現する処理規則の設定処理が行われる。
【００５０】
続いて、図１４を参照して、処理規則の設定要求を行った物理ノードの位置情報に対応する仮想ネットワーク位置情報が物理位置仮想位置変換情報記憶部２０８１に登録されていない場合の動作について説明する。
【００５１】
図１４のステップＳ１−５、Ｓ１−６までの動作は、先に図１３を参照して説明したとおりである。ステップＳ１−６にて、処理規則の設定要求を行った物理ノードの位置情報に対応する仮想ネットワーク位置情報が物理位置仮想位置変換情報記憶部２０８１に登録されていない場合、仮想ネットワーク制御部２０３は、物理位置仮想ネットワーク変換情報記憶部２０８３を参照して、物理ネットワーク位置情報に対応する仮想ネットワークＩＤを検索する（ステップＳ１−９）。
【００５２】
前記検索の結果、物理位置仮想ネットワーク変換情報記憶部２０８３に、対応する仮想ネットワークＩＤが登録されていた場合、仮想ネットワーク制御部２０３は、さらに、外部ノード仮想位置変換情報記憶部２０８２を参照し、受信パケットのパケットヘッダに含まれる送信元ＭＡＣアドレス、送信元ＩＰアドレスまたは送信元ネットワークアドレスいずれかの外部ノードを特定する情報に対応する仮想ネットワーク位置情報を検索する（ステップＳ１−１０）。
【００５３】
前記検索の結果、外部ノードを特定する情報に対応する仮想ネットワーク位置情報が見つかった場合、仮想ネットワーク制御部２０３は、物理位置仮想位置変換情報記憶部２０８１に、物理ネットワーク位置情報と外部ノード仮想位置変換情報記憶部２０８２から特定した仮想ネットワーク位置情報とを対応付けたエントリを追加する（ステップＳ１−１１）。これにより、同一の物理ノードから、再度の処理規則の設定要求を受けた場合は、図１３のシーケンスに従って、直接、物理位置仮想位置変換情報記憶部２０８１を参照して特定した仮想ノードにパケットを送信することが可能となる。
【００５４】
その後の動作は、図１３と同様であるため説明を省略する。
【００５５】
続いて、物理ノード１０でのエージングにより処理規則が削除された場合における物理位置仮想位置変換情報記憶部２０８１のエントリの削除処理について説明する。
【００５６】
図１５は、物理ノード１０でのエージングにより処理規則が削除された場合の一連の動作を表したシーケンス図である。まず、物理ノード１０は、処理規則記憶部１０２の処理規則のうち、一定時間、適合する受信パケットを受信しなかった場合、該当する処理規則を削除し（ステップＳ１−１２）、前記処理規則の削除を制御サーバ２０に通知する（ステップＳ１−１３）。
【００５７】
前記通知を受けた制御サーバ２０の物理ノード制御部２０１は、経路制御部２０２に、前記処理規則削除通知を転送する（ステップＳ１−１４）。
【００５８】
経路制御部２０２は、転送経路情報記憶部２０５から、前記削除された処理規則に対応するフロー（物理フロー）を検索し（ステップＳ１−１５）、仮想ネットワーク制御部２０３にフロー削除通知を行う（ステップＳ１−１６）。
【００５９】
次に、仮想ネットワーク制御部２０３は、仮想ネットワーク経路情報記憶部２０７から前記通知されたフロー（物理フロー）に対応するフロー（仮想フロー）を検索する（ステップＳ１−１７）。仮想ネットワーク制御部２０３は、経路制御部２０２を介して、前記検索されたフロー（処理規則が削除された物理フロー）に対応する物理ネットワーク位置情報を取得する（ステップＳ１−１８）。
【００６０】
仮想ネットワーク制御部２０３は、仮想ネットワーク経路情報記憶部２０７から、取得した物理ネットワーク位置情報が含まれる他のフロー（仮想フロー）を検索する（ステップＳ１−１９）。
【００６１】
次に、仮想ネットワーク制御部２０３は、物理位置仮想位置変換情報記憶部２０８１から、物理ネットワーク位置情報と仮想ネットワーク位置情報とを対応付けた物理位置仮想位置変換情報エントリを検索する（ステップＳ１−２０）。
【００６２】
最後に、仮想ネットワーク制御部２０３は、前記検索された物理位置仮想位置変換情報エントリを、即時または一定時間経過後に削除する（ステップＳ１−２１）。
【００６３】
以上のようにして、物理ノード１０において処理規則の削除が行われた場合、これに応じて、制御サーバ２０の持つ物理位置仮想位置変換情報の削除が行われる。
【００６４】
続いて、上記のように物理ノード（例えば図２の物理ノード１０Ａ）に接続し、仮想ネットワーク上の仮想ノードへとパケットを送信可能となった外部ノード３０が移動した場合の動作を説明する。
【００６５】
外部ノード３０が移動した場合、当該外部ノード３０からパケットを受信する別の物理ノードの物理ポートが変更される。そこで、外部ノード３０は、ＧＡＲＰ（Ｇｒａｔｕｉｔｏｕｓ  Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットを、前記別の物理ノード（例えば、図２の物理ノード１０Ｂ）に送信する。
【００６６】
ＧＡＲＰパケットを受信した物理ノード１０は、図１２に示したシーケンスに従って、制御サーバ２０に処理規則の設定要求を送信する。
【００６７】
図１６は、上記移動した外部ノードから送信されたＧＡＲＰパケットについての処理規則設定要求を受けた制御サーバの動作を表わしたシーケンス図である。
【００６８】
図１６を参照すると、まず、制御サーバ２０の物理ノード制御部２０１は、物理ノード１０から受信した処理規則の設定要求を仮想ネットワーク制御部２０３に出力する（ステップＳ２−１）。
【００６９】
仮想ネットワーク制御部２０３は、物理位置仮想位置変換情報記憶部２０８１を参照して処理規則設定要求に含まれる物理ネットワーク位置情報に対応する仮想ネットワーク位置情報を検索する（ステップＳ２−２）。ここでは、外部ノードの移動により、物理位置仮想位置変換情報記憶部２０８１に、物理ネットワーク位置情報に対する仮想ネットワーク位置情報が登録されていないため、仮想ネットワーク制御部２０３は、物理位置仮想ネットワーク変換情報記憶部２０８３を参照して、物理ネットワーク位置情報に対応する仮想ネットワークＩＤを検索する（ステップＳ２−３）。
【００７０】
ここでは、外部ノード３０は、移動前まで仮想ネットワークを利用していたので、物理位置仮想ネットワーク変換情報記憶部２０８３に、対応する仮想ネットワークＩＤが登録されている。そこで、仮想ネットワーク制御部２０３は、さらに、外部ノード仮想位置変換情報記憶部２０８２を参照し、受信パケットのパケットヘッダに含まれる送信元ＭＡＣアドレス、送信元ＩＰアドレスまたは送信元ネットワークアドレスいずれかの外部ノードを特定する情報に対応する仮想ネットワーク位置情報を検索する（ステップＳ２−４）。
【００７１】
前記検索の結果、外部ノードを特定する情報に対応する仮想ネットワーク位置情報が見つかった場合、仮想ネットワーク制御部２０３は、物理位置仮想位置変換情報記憶部２０８１に、物理ネットワーク位置情報と外部ノード仮想位置変換情報記憶部２０８２から特定した仮想ネットワーク位置情報とを対応付けたエントリを追加する（ステップＳ２−５）。
【００７２】
このときさらに、仮想ネットワーク制御部２０３は、物理位置仮想位置変換情報記憶部２０８１に、既に特定した仮想ネットワーク位置情報に対する物理ネットワーク位置情報を対応付けたエントリが存在する場合、外部ノード３０が移動したものと判断し、仮想ネットワーク経路情報記憶部２０７を参照し、該当物理ネットワーク位置情報に関連するフロー（仮想フロー）を検索する（ステップＳ２−６）。
【００７３】
前記検索の結果、フロー（仮想フロー）が見つかった場合、仮想ネットワーク制御部２０３は、経路制御部２０２に、前記フロー（仮想フロー）に対応付けられたフロー（物理フロー）の削除を指示する（ステップＳ２−７）。
【００７４】
経路制御部２０２は転送経路情報記憶部２０５を参照し、フロー（物理フロー）を実現するための一連の処理規則を取得する（ステップＳ２−８）。
【００７５】
経路制御部２０２は、すべての該当処理規則の削除を物理ノード制御部２０１に指示する（ステップＳ２−９）。
【００７６】
最後に、物理ノード制御部２０１は、前記削除指示を受けた処理規則を保持する物理ノード１０に、これら処理規則の削除を指示する（ステップＳ２−１０）。以降は、図１５のステップＳ１−１２からステップＳ１−２１と同様の処理が行われる。
【００７７】
以上のように、本実施形態によれば、物理ネットワークの位置情報と仮想ネットワークの位置情報の対応を動的に対応づけることで、予め外部ノードを接続する物理ノードの物理ポートの設定を不要とすることが可能となる。また、本実施形態によれば、上記したように、外部ノード３０が物理的に移動した場合でも仮想ネットワーク上の通信を継続することが可能となる。
【００７８】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で示した物理ノードや仮想ノードの個数は、本発明を簡単に説明するために例示したものであり、これらに限定するものではないことはもちろんである。
【００７９】
同様に、上記した実施形態では一つの仮想ネットワークが構成されているものとして説明したが、仮想ネットワークの数も特に限定するものではない。
最後に、本発明の好ましい形態を要約する。
［形態１］
前記第１の視点に記載の情報システムのとおり。
［形態２］
前記制御装置は、
前記物理ノードからの前記処理規則の設定要求の受信を契機に、
前記処理規則の設定要求を送信した物理ノードの情報と、前記処理規則の設定要求に含まれる前記外部ノードの情報とに基づいて、前記外部ノードが接続する仮想ネットワークと仮想ノードとを決定することが好ましい。
［形態３］
さらに、前記決定した仮想ネットワークおよび仮想ノードと、前記物理ノードとの対応関係を記憶する第３の記憶部を備え、
前記物理ノードから前記処理規則の設定要求を受信した際に、前記第３の記憶部を参照し、該当エントリを発見できない場合に、前記第１、第２の記憶部を参照して、前記外部ノードが接続する仮想ネットワークと仮想ノードとを決定し、前記第３の記憶部に前記決定した仮想ネットワークおよび仮想ノードと、前記物理ノードとの対応関係を記憶することが好ましい。
［形態４］
前記第１の記憶部には、前記物理ノードのインタフェース毎に、仮想ネットワークが対応付けられており、
前記制御装置は、
前記物理ノードが処理規則の設定要求に係るパケットを受信したインタフェースに応じて、仮想ネットワークを決定することが好ましい。
［形態５］
前記第２の記憶部には、前記外部ノード毎に、仮想ネットワーク上の仮想ノードとその仮想インタフェース情報が対応付けられており、
前記制御装置は、
前記外部ノードが、前記仮想ネットワーク上の仮想ノードに、前記仮想インタフェースを介して接続しているものとして取り扱うことが好ましい。
［形態６］
前記第２の視点に記載の制御装置のとおり。
［形態７］
前記第３の視点に記載の仮想ネットワークの提供方法のとおり。
［形態８］
前記第４の視点に記載のプログラムのとおり。
なお、仮想ネットワークの提供方法およびプログラムは、形態１の情報システムと同様に、それぞれの構成要素ないしステップについて、形態２〜形態５と同様に展開することが可能である。
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８０】
１０、１０Ａ〜１０Ｃ  物理ノード
２０  制御サーバ（制御装置）
３０、３０Ａ〜３０Ｄ  外部ノード
１０１  パケット処理部
１０２  処理規則記憶部
１０３  サーバ通信部
２０１  物理ノード制御部
２０２  経路制御部
２０３  仮想ネットワーク制御部
２０４  物理ノード情報記憶部
２０５  転送経路情報記憶部
２０６  物理トポロジ情報記憶部
２０７  仮想ネットワーク経路情報記憶部
２０８  物理仮想変換情報記憶部
２０９  仮想ネットワーク構成情報記憶部
２０８１  物理位置仮想位置変換情報記憶部（第３の記憶部）
２０８２  外部ノード仮想位置変換情報記憶部（第２の記憶部）
２０８３  物理位置仮想ネットワーク変換情報記憶部（第１の記憶部）
【図１】
0005590262.tif 000002
【図２】
0005590262.tif 000003
【図３】
0005590262.tif 000004
【図４】
0005590262.tif 000005
【図５】
0005590262.tif 000006
【図６】
0005590262.tif 000007
【図７】
0005590262.tif 000008
【図８】
0005590262.tif 000009
【図９】
0005590262.tif 000010
【図１０】
0005590262.tif 000011
【図１１】
0005590262.tif 000012
【図１２】
0005590262.tif 000013
【図１３】
0005590262.tif 000014
【図１４】
0005590262.tif 000015
【図１５】
0005590262.tif 000016
【図１６】
0005590262.tif 000017
【図１７】
0005590262.tif 000018