(57)【要約】【課題】仮想ネットワークを構成する仮想ノードのサービスを中断することなく、仮想ノードのマイグレーション処理を実行する。【解決手段】計算機リソースを有する複数の物理ノードから構成されるネットワークシステムであって、ネットワークシステムには、物理ノードが有する計算機リソースが割り当てられ、サービスを実行する複数の仮想ノードから構成される仮想ネットワークが構成され、第１の物理ノードの計算機リソースを用いてサービスを実行する第１の仮想ノードを第２の物理ノードに移行させる場合に、第２の物理ノードと隣接物理ノードとを接続する物理リンク上に、第１の仮想ノードと隣接仮想ノードとを接続する仮想リンクを実現するための通信経路を生成し、第２の物理ノードによって確保された計算機リソースを用いて第１の仮想ノードが実行するサービスを開始し、生成された通信経路を仮想リンクとして切り替える。【選択図】図３
2014049773.tif 000002
【特許請求の範囲】
【請求項１】
計算機リソースを有する複数の物理ノードから構成されるネットワークシステムであって、
前記物理ノードは、物理リンクを介して、他の前記物理ノードと接続され、
前記ネットワークシステムには、前記物理ノードが有する計算機リソースが割り当てられ、所定のサービスを実行する複数の仮想ノードから構成される仮想ネットワークが構成され、
前記ネットワークシステムは、
前記仮想ノードを管理するネットワーク管理部と、
前記物理ノードを管理するノード管理部と、
前記物理ノード間を接続する前記物理リンク及び前記仮想ノード間を接続する仮想リンクの接続を管理するリンク管理部と、
を備え、
前記ネットワーク管理部は、
前記仮想ノードと、前記仮想ノードに前記計算機リソースを割り当てる前記物理ノードとの対応を示すマッピング情報と、
前記仮想リンクを管理する仮想ノード管理情報と、
を保持し、
前記リンク管理部は、前記仮想リンクの接続状態を管理する経路設定情報を保持し、
前記ネットワークシステムは、
第１の物理ノードの前記計算機リソースを用いてサービスを実行する第１の仮想ノードを第２の物理ノードに移行させる場合に、前記ネットワーク管理部が、前記第２の物理ノードに前記第１の仮想ノードに割り当てる前記計算機リソースの確保指示を送信し、
前記ネットワーク管理部が、前記仮想ネットワーク上において、前記第１の仮想ノードと前記仮想リンクを介して接続される隣接仮想ノードに前記計算機リソースを割り当てる隣接物理ノードを特定し、
前記ネットワーク管理部が、前記リンク管理部に対して、前記第２の物理ノードと前記隣接物理ノードとを接続する前記物理リンク上に、前記第１の仮想ノードと前記隣接仮想ノードとを接続する前記仮想リンクを実現するための通信経路の生成指示を送信し、
前記リンク管理部が、前記通信経路の生成指示に基づいて、前記第２の物理ノードと前記隣接物理ノードとを接続する前記物理リンク上に前記通信経路を生成し、
前記ノード管理部が、前記第２の物理ノードによって確保された前記計算機リソースを用いて前記第１の仮想ノードが実行するサービスを開始し、
前記ネットワーク管理部が、前記リンク管理部に前記仮想リンクの切替指示を送信し、
前記リンク管理部が、前記生成された通信経路を前記仮想リンクとして切り替えることを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記ノード管理部は、
前記経路設定情報に基づいて、前記仮想ノード間のデータの送受信を制御し、
前記第２の物理ノードと前記隣接物理ノードとを接続する前記物理リンク上に前記通信経路を生成する場合に、前記第２の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードから前記隣接仮想ノードへのデータの送信を許可し、前記隣接仮想ノードから前記第２の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードへのデータの送信を停止するように設定された前記通信経路を生成し、
前記経路設定情報に、前記生成された通信経路の識別情報とデータの送信許可を示す情報とを対応づけた設定情報を追加し、
前記仮想リンクの切替指示を受信した場合に、前記隣接仮想ノードから前記第２の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードへのデータの送信を許可するように、前記経路設定情報に追加された設定情報を更新することを特徴とするネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記ネットワーク管理部は、前記ノード管理部に、前記第１の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードが実行するサービスの停止条件を送信し、
前記ノード管理部は、
前記受信したサービス停止条件を満たすか否かを判定する判定処理を実行し、
前記受信したサービス停止条件を満たすと判定された場合に、前記第１の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードが実行するサービスを停止することを特徴とするネットワークシステム。
【請求項４】
請求項３に記載のネットワークシステムであって、
前記サービス停止条件は、前記隣接物理ノードから前記仮想リンクの切替完了通知の受信であることを特徴とするネットワークシステム。
【請求項５】
請求項４に記載のネットワークシステムであって、
前記ノード管理部は、前記第１の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードが実行するサービスを停止した後に、前記第１の仮想ノードに割り当てられていた前記第１の物理ノードの計算機リソースを解放することを特徴とするネットワークシステム。
【請求項６】
請求項２に記載のネットワークシステムであって、
前記物理ノードは、前記ノード管理部及び前記リンク管理部を含み、
前記第２の物理ノードの前記リンク管理部及び前記隣接物理ノードの前記リンク管理部は、前記通信経路を生成し、
前記第２の物理ノードのリンク管理部は、前記通信経路を介した、前記データの送受信を許可する第１の設定情報を前記経路設定情報に追加し、
前記隣接物理ノードのリンク管理部は、前記通信経路を介した、前記データの受信を許可し、かつ、前記データの送信を停止する第２の設定情報を前記経路設定情報に追加し、
前記隣接物理ノードは、前記生成された通信経路を介して、前記第２の物理ノードに前記通信経路が生成されたことを通知する第１の制御情報を送信し、
前記第２の物理ノードの前記ノード管理部は、
前記第１の制御情報を受信した後に、前記確保された計算機リソースを前記第１の仮想ノードに割り当てて、前記第１の仮想ノードが実行するサービスを開始し、
前記隣接物理ノードに、前記通信経路を介して、前記第１の仮想ノードが実行するサービスが開始したことを通知する第２の制御情報を送信し、
前記隣接物理ノードのリンク管理部は、前記第２の制御情報を受信した後に、前記通信経路を介した、前記データの送信を許可するように前記第２の設定情報を変更することによって、前記仮想リンクを切り替えることを特徴とするネットワークシステム。
【請求項７】
計算機リソースを有する複数の物理ノードから構成されるネットワークシステム上に構成される仮想ネットワークを構成する仮想ノードのマイグレーション方法であって、
前記物理ノードは、物理リンクを介して、他の前記物理ノードと接続され、
前記仮想ネットワークは、前記物理ノードが有する計算機リソースが割り当てられ、所定のサービスを実行する複数の仮想ノードから構成され、
前記ネットワークシステムは、
前記仮想ノードを管理するネットワーク管理部と、
前記物理ノードを管理するノード管理部と、
前記物理ノード間を接続する前記物理リンク及び前記仮想ノード間を接続する仮想リンクの接続を管理するリンク管理部と、
を備え、
前記ネットワーク管理部は、
前記仮想ノードと、前記仮想ノードに前記計算機リソースを割り当てる前記物理ノードとの対応を示すマッピング情報と、
前記仮想リンクを管理する仮想ノード管理情報と、
を保持し、
前記リンク管理部は、前記仮想リンクの接続状態を管理する経路設定情報を保持し、
前記方法は、
前記ネットワーク管理部が、第１の物理ノードの前記計算機リソースを用いてサービスを実行する第１の仮想ノードを第２の物理ノードに移行させる場合に、前記第２の物理ノードに前記第１の仮想ノードに割り当てる前記計算機リソースの確保指示を送信する第１のステップと、
前記ネットワーク管理部が、前記仮想ネットワーク上において、前記第１の仮想ノードと前記仮想リンクを介して接続される隣接仮想ノードに前記計算機リソースを割り当てる隣接物理ノードを特定する第２のステップと、
前記ネットワーク管理部が、前記リンク管理部に対して、前記第２の物理ノードと前記隣接物理ノードとを接続する前記物理リンク上に、前記第１の仮想ノードと前記隣接仮想ノードとを接続する前記仮想リンクを実現するための通信経路の生成指示を送信する第３のステップと、
前記リンク管理部が、前記通信経路の生成指示に基づいて、前記第２の物理ノードと前記隣接物理ノードとを接続する前記物理リンク上に前記通信経路を生成する第４のステップと、
前記ノード管理部が、前記第２の物理ノードによって確保された前記計算機リソースを用いて前記第１の仮想ノードが実行するサービスを開始する第５のステップと、
前記ネットワーク管理部が、前記リンク管理部に前記仮想リンクの切替指示を送信する第６のステップと、
前記リンク管理部が、前記生成された通信経路を前記仮想リンクとして切り替える第７のステップと、を含むことを特徴とする仮想ノードのマイグレーション方法。
【請求項８】
請求項７に記載の仮想ノードのマイグレーション方法であって、
前記ノード管理部は、前記経路設定情報に基づいて、前記仮想ノード間のデータの送受信を制御し、
前記第４のステップは、
前記第２の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードから前記隣接仮想ノードへのデータの送信を許可し、前記隣接仮想ノードから前記第２の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードへのデータの送信を停止するように設定された前記通信経路を生成するステップと、
前記経路設定情報に、前記生成された通信経路の識別情報とデータの送信許可を示す情報とを対応づけた設定情報を追加するステップと、を含み、
前記第７のステップでは、前記仮想リンクの切替指示を受信した場合に、前記隣接仮想ノードから前記第２の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードへのデータの送信を許可するように、前記経路設定情報に追加された設定情報を更新することを特徴とする仮想ノードのマイグレーション方法。
【請求項９】
請求項８に記載の仮想ノードのマイグレーション方法であって、
前記方法は、
前記ネットワーク管理部が、前記ノード管理部に、前記第１の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードが実行するサービスの停止条件を送信するステップと、
前記ノード管理部が、前記受信したサービス停止条件を満たすか否かを判定する判定処理を実行するステップと、
前記ノード管理部が、前記受信したサービス停止条件を満たすと判定された場合に、前記第１の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードが実行するサービスを停止するステップと、を含むことを特徴とする仮想ノードのマイグレーション方法。
【請求項１０】
請求項９に記載の仮想ノードのマイグレーション方法であって、
前記サービス停止条件は、前記隣接物理ノードから前記仮想リンクの切替完了通知の受信であることを特徴とする仮想ノードのマイグレーション方法。
【請求項１１】
請求項１０に記載の仮想ノードのマイグレーション方法であって、
前記方法は、
前記ノード管理部が、前記第１の物理ノードの計算機リソースが割り当てられた前記第１の仮想ノードが実行するサービスを停止した後に、前記第１の仮想ノードに割り当てられていた前記第１の物理ノードの計算機リソースを解放するステップを含むことを特徴とする仮想ノードのマイグレーション方法。
【請求項１２】
請求項８に記載の仮想ノードのマイグレーション方法であって、
前記物理ノードは、前記ノード管理部及び前記リンク管理部を含み、
前記第４のステップは、
前記第２の物理ノードの前記リンク管理部及び前記隣接物理ノードの前記リンク管理部が、前記通信経路を生成するステップと、
前記第２の物理ノードのリンク管理部が、前記通信経路を介した、前記データの送受信を許可する第１の設定情報を前記経路設定情報に追加するステップと、
前記隣接物理ノードのリンク管理部が、前記通信経路を介した、前記データの受信を許可し、かつ、前記データの送信を停止する第２の設定情報を前記経路設定情報に追加するステップと、
前記隣接物理ノードが、前記生成された通信経路を介して、前記第２の物理ノードに前記通信経路が生成されたことを通知する第１の制御情報を送信するステップと、
を含み、
前記第５のステップは、
前記第２の物理ノードの前記ノード管理部が、前記第１の制御情報を受信した後に、前記確保された計算機リソースを前記第１の仮想ノードに割り当てて、前記第１の仮想ノードが実行するサービスを開始するステップと、
前記第２の物理ノードのノード管理部が、前記隣接物理ノードに、前記通信経路を介して、前記第１の仮想ノードが実行するサービスが開始したことを通知する第２の制御情報を送信するステップと、
を含み、
前記第７のステップは、前記隣接物理ノードのリンク管理部が、前記第２の制御情報を受信した後に、前記通信経路を介した、前記データの送信を許可するように前記第２の設定情報を変更することによって、前記仮想リンクを切り替えるステップを含む、ことを特徴とする仮想ノードのマイグレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ネットワークを構成する仮想ノードのマイグレーション方式に関する。
【背景技術】
【０００２】
近年、ネットワークを介して、インターネット及び電話、モバイル、企業網等の種々のサービスが提供されている。異なるサービスに対応したネットワークを実現し、各サービスに必要な機能を提供するために、物理的なネットワーク上に、複数の仮想ネットワーク（スライス）を生成する仮想化ネットワーク技術が用いられている。
【０００３】
仮想ネットワークを構築するためには、インフラとなる物理ネットワークを構成するノードが、仮想ネットワークの特有の処理を実現する機能を有する必要がある。
【０００４】
前述した機能は、スライス毎に異なるため、前述した機能はプログラム処理（汎用サーバやネットワークプロセッサ上のプログラム）によって実現する方式が多く用いられている。
【０００５】
仮想ネットワーク技術では、仮想ネットワークの構成と、物理ネットワークの構成とが分離されている。そのため、仮想ネットワークを構成するノード（仮想ノード）は、当該仮想ノードに必要な計算機リソース（ＣＰＵ、メモリ及びネットワーク帯域等）及び性能（ネットワークレイテンシ等）が確保できるならば、いずれの物理ノードにも配置することができる。また、仮想ネットワークにおけるリンクに関しても同様に、仮想的なリンクがどの物理リンクを経由するかを自由に設定できる。
【０００６】
また、仮想ネットワークの管理者の要求に基づいて、特定の物理ノード及び物理リンクを指定して仮想ノードを配置することも可能である。
【０００７】
また、仮想ネットワーク技術では、仮想ネットワーク上におけるアドレス及びパケット構成が、物理ネットワーク上のアドレス等に影響を与えることを回避する必要がある。
【０００８】
そのため、ＶＬＡＮを用いて仮想ネットワークを分離し、ＧＲＥ及びＭａｃ−ｉｎ−Ｍａｃを用いて仮想ネットワーク上のパケットをカプセリングして、仮想ネットワークにおけるパケットを、物理ネットワークとは分離する必要がある。
【０００９】
カプセリング方式を用いた場合、仮想ネットワーク上では、既存のＩＰ通信に依存しない、自由なパケット形式の通信が可能となる。
【００１０】
広域なネットワーク上において仮想ネットワークを実現する場合、管理体系が異なるネットワークをまたがって、仮想ネットワークを実現する必要がある。例えば、異なる通信事業者をまたがった仮想ネットワーク、及び複数の国をまたがった仮想ネットワークなどが考えられる。
【００１１】
以下では、物理ネットワークにおけるネットワークの管理単位をドメインと呼び、ドメインをまたがった仮想ネットワークを実現する処理をフェデレーションと呼ぶ。
【００１２】
フェデレーションは、複数のドメインにおける管理サーバが連携して、単一のドメインの場合と同様に、仮想ネットワークの管理者が要求する仮想ネットワークを構成し、サービスを提供する処理である。
【００１３】
前述したように仮想ノードは、物理ノードに自由に配置することができるが、何らかの事情によって、仮想ノードの配置を変更する必要がある。すなわち、仮想ノードのマイグレーション処理を実行するが発生する。
【００１４】
例えば、仮想ノードに割り当てる計算機リソース量を追加する場合に、物理ノードの計算機リソースに余裕がない場合には、計算機リソース量に余裕のある他の物理ノードに移行させ、また、ネットワーク的に近い物理ノードに移動させる必要がある。
【００１５】
仮想ノードのマイグレーション処理では、仮想ネットワークにおいてシームレスであることが望ましい。すなわち、仮想ネットワークの構成を変更することなく、仮想ノードを配置する物理ノードを変更する必要がある。
【００１６】
さらに、マイグレーション処理の実行時に仮想ネットワークにおけるサービスを継続する必要がある。すなわち、仮想ネットワーク上のサービス利用者から見て、サービスを停止することなく、ノードをマイグレーションする必要がある。サーバ間で仮想マシン（ＶＭ）をライブマイグレーションさせる技術がいくつか製品化されているが、本技術では、ＶＭを移動させる際に、ごく短期間（０．５秒程度）ＶＭの動作が中断する時間がある。仮想ネットワークのノードへの適用を考えた場合、ネットワーク通信中断されることは容認できない。したがってＶＭライブマイグレーションを使用せずに、仮想ノードのマイグレーションを実現する必要がある。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】Pisa ,P.、外７名、「オープンフロー  アンド  ゼンベースド  バーチャル  ネットワーク  マイグレーション（Ｏｐｅｎｆｌｏｗ  ａｎｄ  Ｘｅｎ−ｂａｓｅｄ  Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｍｉｇｒａｔｉｏｎ）」、Wireless in Developing Countries and Networks of the Future、volume 327 of IFIP Advances in Information and Communication Technology、p.170−181、Springer Boston．
【発明の概要】
【発明が解決しようとする課題】
【００１８】
非特許文献１の図３には、オープンフロースイッチによって構成された仮想ネットワークにおけるマイグレーション方式が記載されている。通信中も仮想ネットワークにおける通信を継続するために、フロー（片方向）が経由するオープンフロースイッチに対して、下記三つのステップで設定を実施し、マイグレーション処理を実施する。
（１）追加された新規ノードと、新規ノードからのフローが既存経路と合流するノードとに、新規ノードを経由するフローに対する定義を追加する。
（２）既存経路から、新規ノードへ分岐するノードのフローの定義を、新しいフローに変更する。
（３）フローが経由しなくなった古いノードの定義を削除する。
【００１９】
前述した構成によって、オープンフロースイッチを経由するフローの通信中に、ステップ（２）の処理によって経路情報が変更されることによって、通信を中断することなく、フローが新しい経路を経由することができる。
【００２０】
しかし、前述した従来技術では、仮想ノードがオープンフロースイッチ上に配置されることが前提である。したがって、汎用サーバ及びネットワークプロセッサ上のプログラムを用いて仮想ノードを実現する場合には、前述した従来技術を適用するのは困難である。
【００２１】
さらに、従来技術では、各オープンフロースイッチは、単一のコントローラによって制御されているため、単一のドメイン内のネットワークを前提としている。したがって、複数のドメインをまたがったマイグレーション処理には適用できない。
【００２２】
本発明は、前述した課題を鑑みてなされた発明である。すなわち、本発明は、複数のドメインをまたがった仮想ネットワークにおいて、仮想ノードが実行するサービスを中断することなく、かつ、迅速に当該仮想ノードの配置先を変更するマイグレーション処理を実現するネットワークシステムを提供することである。
【課題を解決するための手段】
【００２３】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、計算機リソースを有する複数の物理ノードから構成されるネットワークシステムであって、前記物理ノードは、物理リンクを介して、他の前記物理ノードと接続され、前記ネットワークシステムには、前記物理ノードが有する計算機リソースが割り当てられ、所定のサービスを実行する複数の仮想ノードから構成される仮想ネットワークが構成され、前記ネットワークシステムは、前記仮想ノードを管理するネットワーク管理部と、前記物理ノードを管理するノード管理部と、前記物理ノード間を接続する前記物理リンク及び前記仮想ノード間を接続する仮想リンクの接続を管理するリンク管理部と、を備え、前記ネットワーク管理部は、前記仮想ノードと、前記仮想ノードに前記計算機リソースを割り当てる前記物理ノードとの対応を示すマッピング情報と、前記仮想リンクを管理する仮想ノード管理情報と、を保持し、前記リンク管理部は、前記仮想リンクの接続状態を管理する経路設定情報を保持し、前記ネットワークシステムは、第１の物理ノードの前記計算機リソースを用いてサービスを実行する第１の仮想ノードを第２の物理ノードに移行させる場合に、前記ネットワーク管理部が、前記第２の物理ノードに前記第１の仮想ノードに割り当てる前記計算機リソースの確保指示を送信し、前記ネットワーク管理部が、前記仮想ネットワーク上において、前記第１の仮想ノードと仮想リンクを介して接続される隣接仮想ノードに前記計算機リソースを割り当てる隣接物理ノードを特定し、前記ネットワーク管理部が、前記リンク管理部に対して、前記第２の物理ノードと前記隣接物理ノードとを接続する前記物理リンク上に、前記第１の仮想ノードと前記隣接仮想ノードとを接続する前記仮想リンクを実現するための通信経路の生成指示を送信し、前記リンク管理部が、前記通信経路の生成指示に基づいて、前記第２の物理ノードと前記隣接物理ノードとを接続する前記物理リンク上に前記通信経路を生成し、前記ノード管理部が、前記第２の物理ノードによって確保された前記計算機リソースを用いて前記第１の仮想ノードが実行するサービスを開始し、前記ネットワーク管理部が、前記リンク管理部に前記仮想リンクの切替指示を送信し、前記リンク管理部が、前記生成された通信経路を前記仮想リンクとして切り替えることを特徴とする。
【発明の効果】
【００２４】
本発明の一側面によれば、予め移行先の物理ノードにおいて仮想ノードのサービスを起動し、また、予め隣接仮想ノードのサービスを実行する物理ノードとの間に仮想リンクを実現するための通信経路を生成することによって、仮想ノードが実行するサービスを中断することなく、かつ、迅速に仮想ノードを他の物理ノードに移行することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施例におけるネットワークシステムの構成例を示す説明図である。
【図２】本発明の実施例１における仮想ネットワーク（スライス）の構成例を示す説明図である。
【図３】本発明の実施例１における物理ネットワークの構成例を示す説明図である。
【図４】本発明の実施例１におけるマッピング情報の一例を示す説明図である。
【図５】本発明の実施例１における仮想ノード管理情報の一例を示す説明図である。
【図６】本発明の実施例１における物理ノードの構成例を示す説明図である。
【図７Ａ】本発明の実施例１におけるパケットの形式の一例を示す説明図である。
【図７Ｂ】本発明の実施例１におけるパケットの形式の一例を示す説明図である。
【図８】本発明の実施例１における経路設定情報の一例を示す説明図である。
【図９Ａ】本発明の実施例１におけるマイグレーション処理の流れを説明するシーケンス図である。
【図９Ｂ】本発明の実施例１におけるマイグレーション処理の流れを説明するシーケンス図である。
【図１０Ａ】本発明の実施例１のマイグレーション処理の実行時におけるドメイン１５内の状態を示す説明図である。
【図１０Ｂ】本発明の実施例１のマイグレーション処理の実行時におけるドメイン１５内の状態を示す説明図である。
【図１０Ｃ】本発明の実施例１のマイグレーション処理の実行時におけるドメイン１５内の状態を示す説明図である。
【図１１Ａ】本発明の実施例１における経路設定情報の一例を示す説明図である。
【図１１Ｂ】本発明の実施例１における経路設定情報の一例を示す説明図である。
【図１２Ａ】本発明の実施例１におけるＧＲＥ変換装置内の通信経路の接続状態を示す説明図である。
【図１２Ｂ】本発明の実施例１におけるＧＲＥ変換装置内の通信経路の接続状態を示す説明図である。
【図１３】本発明の実施例２における物理ネットワークの構成例を示す説明図である。
【図１４Ａ】本発明の実施例２におけるマイグレーション処理の流れを説明するシーケンス図である。
【図１４Ｂ】本発明の実施例２におけるマイグレーション処理の流れを説明するシーケンス図である。
【図１５Ａ】本発明の実施例２のマイグレーション処理の実行時におけるドメイン１５内の状態を示す説明図である。
【図１５Ｂ】本発明の実施例２のマイグレーション処理の実行時におけるドメイン１５内の状態を示す説明図である。
【図１５Ｃ】本発明の実施例２のマイグレーション処理の実行時におけるドメイン１５内の状態を示す説明図である。
【図１６Ａ】本発明の実施例３におけるマイグレーション処理の流れを説明するシーケンス図である。
【図１６Ｂ】本発明の実施例３におけるマイグレーション処理の流れを説明するシーケンス図である。
【発明を実施するための形態】
【００２６】
まず、本発明の前提となるネットワークシステムの構成例について説明する。
【００２７】
図１は、本発明の実施例におけるネットワークシステムの構成例を示す説明図である。
【００２８】
本発明では、物理ネットワーク１０上に、複数の異なる仮想ネットワーク２０が構築されている。
【００２９】
物理ネットワーク１０は、複数の物理ノード１００から構成され、各物理ノード１００は、所定のネットワーク回線を介して互いに接続される。
【００３０】
なお、本発明はネットワーク回線の種別に限定されず、ＷＡＮ、ＬＡＮ及びＳＡＮ等のいずれを用いてもよい。また、本発明はネットワーク回線の接続方式に限定されず、有線又は無線いずれであってもよい。
【００３１】
仮想ネットワーク２０は、複数の仮想ノード２００から構成され、各仮想ノード２００は、仮想的なネットワーク回線を介して互いに接続される。また、仮想ノード２００は、仮想ネットワーク２０上で所定のサービスを実行する。
【００３２】
ここで、仮想ノード２００は、物理ノード１００が備える計算機リソースを用いて実現される。したがって、一つの物理ノード１００が、異なる仮想ネットワーク２０を構成する仮想ノード２００を提供することも可能である。
【００３３】
また、仮想ネットワーク２０は、それぞれ、異なった通信プロトコルを用いたネットワークであってもよい。
【００３４】
これによって、物理ネットワーク１０上に、独自のネットワークを自由に構築できる。また、既存の計算機リソースを有効に活用することができため、導入コストを低く抑えることができる。
【００３５】
なお、本明細書では仮想ネットワークをスライスとも記載する。
【実施例１】
【００３６】
図２は、本発明の実施例１における仮想ネットワーク（スライス）２０の構成例を示す説明図である。
【００３７】
本実施例では、スライス２０は、仮想ノードＡ（２００−１）、仮想ノードＢ（２００−２）及び仮想ノードＣ（２００−３）から構成される。仮想ノードＡ（２００−１）と仮想ノードＣ（２００−３）とは、仮想リンク２５０−１を介して接続され、仮想ノードＢ（２００−２）と仮想ノードＣ（２００−３）とは、仮想リンク２５０−２を介して接続される。
【００３８】
以下の説明では、仮想ノードＣ（２００−３）がマイグレーション対象の仮想ノードであるものとする。なお、図２では、説明の簡単のため単純な構成の仮想ネットワーク（スライス）２０を示しているが、より複雑な構成の仮想ネットワーク（スライス）２０でも、以下で説明する処理を実現できる。
【００３９】
（システム構成）
図３は、本発明の実施例１における物理ネットワーク１０の構成例を示す説明図である。
【００４０】
実施例１では、一つのドメイン１５から構成される物理ネットワーク１０を例に説明する。
【００４１】
物理ネットワーク１０を構成するドメイン１５には、ドメイン管理サーバ３００及び複数の物理ノード１００を含む。本実施例では、ドメイン１５内の物理ノード１００を用いて図２に示すようなスライス２０が提供されているものとする。
【００４２】
ドメイン管理サーバ３００は、ドメイン１５内の物理ノード１００を管理する計算機である。ドメイン管理サーバ３００は、ＣＰＵ３１０、主記憶装置３２０、ストレージ３３０及びＮＩＣ３４０を備える。
【００４３】
ＣＰＵ３１０は、主記憶装置３２０に格納されるプログラムを実行する。ＣＰＵ３１０がプログラムを実行することによって、ドメイン管理サーバ３００が有する機能を実現することができる。なお、ドメイン管理サーバ３００は、複数のＣＰＵ３１０を備えていてもよい。
【００４４】
主記憶装置３２０は、ＣＰＵ３１０によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。主記憶装置３２０は、例えば、メモリなどが考えられる。
【００４５】
主記憶装置３２０は、ドメイン管理部３２１を実現するプログラム（図示省略）を格納する。また、主記憶装置３２０は、ドメイン管理部３２１によって用いられる情報として、マッピング情報３２２及び仮想ノード管理情報３２３を格納する。
【００４６】
ドメイン管理部３２１は、物理ノード１００及び仮想ノード２００を管理する。本実施例では、ドメイン管理部３２１によって、仮想ノード２００のマイグレーション処理が実行される。
【００４７】
マッピング情報３２２は、ドメイン１５内の物理ノード１００と仮想ノード２００との対応関係を管理する情報である。マッピング情報３２２の詳細については、図４を用いて後述する。仮想ノード管理情報３２３は、仮想ノード２００の設定情報である。仮想ノード管理情報３２３の詳細については、図５を用いて後述する。
【００４８】
なお、仮想ノード管理情報３２３は、各物理ノード１００が保持しており、ドメイン管理サーバ３００は、ドメイン１５内の各物理ノード１００から仮想ノード管理情報３２３を取得することができる。
【００４９】
ストレージ３３０は、各種データを格納する。ストレージ３３０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等が考えられる。
【００５０】
なお、ドメイン管理部３２１を実現するプログラム、マッピング情報３２２及び仮想ノード管理情報３２３は、ストレージ３３０に格納されていてもよい。この場合、ＣＰＵ３１０が、ストレージ３３０から読み出し、読み出されたプログラム及び情報を主記憶装置３２０にロードする。
【００５１】
ＮＩＣ３４０は、ネットワーク回線を介して他の装置と接続するためのインタフェースである。本実施例では、ＮＩＣ３４０に接続される物理リンク５００−１、５００−２、５００−３、５００−４を介して、各物理ノード１００と接続される。より具体的には、ドメイン管理サーバ３００は、物理リンク５００を介して、各物理ノード１００のノード管理部１９０と通信可能なように接続される。
【００５２】
なお、ドメイン管理サーバ３００は、物理ノード１００が備えるノード管理部１９０と接続するための管理インタフェースを備えていてもよい。
【００５３】
物理ノード１００は、スライス２０を構成する仮想ノード２００に計算機リソースを提供する。また、各物理ノード１００は、物理リンク４００を介して互いに接続される。具体的には、物理ノードＡ（１００−１）と物理ノードＣ（１００−３）とは物理リンク４００−１を介して接続され、物理ノードＣ（１００−３）と物理ノードＢ（１００−２）とは物理リンク４００−２を介して接続され、物理ノードＡ（１００−１）と物理ノードＤ（１００−４）とは物理リンク４００−３を介して接続され、物理ノードＢ（１００−２）と物理ノードＤ（１００−４）とは物理リンク４００−４を介して接続される。
【００５４】
仮想ノード２００は、いずれかの物理ノード１００に配置される。本実施例では、仮想ノードＡ（２００−１）が物理ノードＡ（１００−１）上に、仮想ノードＢ（２００−２）が物理ノードＢ（１００−２）上に、仮想ノードＣ（２００−３）が物理ノードＣ（１００−３）に配置されているものとする。
【００５５】
物理ノード１００は、リンク管理部１６０及びノード管理部１９０を備える。リンク管理部１６０は、物理ノード１００間を接続する物理リンク４００及び仮想リンク２５０を管理する。ノード管理部１９０は、物理ノード１００全体を管理する。また、物理ノード１００は、仮想計算機（ＶＭ）１１０を実現する仮想管理部（図６参照）も備える。
【００５６】
本実施例では、ＶＭ１１０は、仮想ノード２００を実現するための各種機能を提供する。具体的には、ＶＭ１１０は、仮想ノード２００のプログラマブルな機能を提供する。例えば、ＶＭ１１０は、通信プロトコルの変換機能を実現するためのプログラムを実行する。
【００５７】
本実施例では、ＶＭ＿Ａ（１１０−１）によって仮想ノードＡ（２００−１）の機能が提供され、ＶＭ＿Ｂ（１１０−２）によって仮想ノードＢ（２００−２）の機能が提供され、ＶＭ＿Ｃ（１１０−３）によって仮想ノードＣ（２００−３）の機能が提供される。
【００５８】
なお、本実施例では、ＶＭ１１０が仮想ノード２００の機能を提供しているが、本発明はこれに限定されない。例えば、ネットワークプロセッサ、ＧＰＵ又はＦＰＧＡ等を用いて仮想ノード２００の機能が提供されてもよい。
【００５９】
仮想ノード２００が配置された物理ノード１００間を接続する物理リンク４００には、仮想リンク２５０を実現するためにＧＲＥトンネル６００が生成される。なお、本発明は、ＧＲＥトンネル６００を用いて仮想リンク２５０を実現する方法に限定されない。例えば、Ｍａｃ−ｉｎ−Ｍａｃ又はＶＬＡＮ等を用いて仮想リンク２５０を実現してもよい。
【００６０】
具体的には、物理リンク４００−１には、仮想リンク２５０−１を構成するＧＲＥトンネル６００−１、６００−２が生成され、物理リンク４００−２には、仮想リンク２５０−２を構成するＧＲＥトンネル６００−３、６００−４が生成される。
【００６１】
なお、一つのＧＲＥトンネル６００は、単方向通信をサポートする。そのため、本実施例では、仮想ノード２００間の双方向通信をサポートするために、二つのＧＲＥトンネル６００が生成される。
【００６２】
図４は、本発明の実施例１におけるマッピング情報３２２の一例を示す説明図である。
【００６３】
マッピング情報３２２は、仮想ノード２００と当該仮想ノード２００の機能を提供するＶＭ１１０が稼働する物理ノード１００との対応関係を示す情報を格納する。具体的には、マッピング情報３２２は、仮想ノードＩＤ７１０、物理ノードＩＤ７２０及びＶＭ＿ＩＤ７３０を含む。なお、マッピング情報３２２には、その他の情報が含まれてもよい。
【００６４】
仮想ノードＩＤ７１０は、仮想ノード２００を一意に識別するための識別子を格納する。物理ノードＩＤ７２０は、物理ノード１００を一意に識別するための識別子を格納する。ＶＭ＿ＩＤ７３０は、ＶＭ１１０を一意に識別するための識別子を格納する。
【００６５】
図５は、本発明の実施例１における仮想ノード管理情報３２３の一例を示す説明図である。
【００６６】
仮想ノード管理情報３２３は、各物理ノード１００に配置された仮想ノード２００を管理するための各種情報を格納する。本実施例では、仮想ノード管理情報３２３は、ＸＭＬ形式の情報であるものとする。また、一つの仮想ノード２００に一つの仮想ノード管理情報３２３が存在するものとする。一般に、物理ノード１００は、複数の仮想ノード管理情報３２３を持つ。
【００６７】
仮想ノード管理情報３２３は、属性８１０及び仮想リンク情報８２０を含む。なお、仮想ノード管理情報３２３には、その他の情報が含まれてもよい。
【００６８】
属性８１０は、仮想ノード２００の属性を示す情報を格納する。例えば、仮想ノード２００上で実行されるプログラムの識別情報等が格納される。
【００６９】
仮想リンク情報８２０は、物理ノード１００に配置された仮想ノード２００を接続する仮想リンク２５０の情報が格納される。仮想リンク情報８２０には、例えば、仮想リンク２５０の識別情報、及び仮想リンク２５０を介して接続される他の仮想ノード２００の識別情報が格納される。
【００７０】
図５に示す例では、仮想ノードＣ（２００−３）の仮想ノード管理情報３２３を表す。当該仮想ノード管理情報３２３には、物理ノードＣ（１００−３）に配置される仮想ノードＣ（２００−３）を接続する仮想リンク２５０−１の仮想リンク情報８２０−１及び仮想リンク２５０−２の仮想リンク情報８２０−２が含まれる。
【００７１】
なお、本発明は、仮想ノード管理情報３２３のデータ形式に限定されず、テーブル形式等の異なるデータ形式であってもよい。
【００７２】
図６は、本発明の実施例１における物理ノード１００の構成例を示す説明図である。図６では、物理ノードＣ（１００−３）を例に説明するが、物理ノードＡ（１００−１）、物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）も同一の構成である。
【００７３】
物理ノードＣ（１００−３）は、複数のサーバ９００、ノード内スイッチ１０００及びＧＲＥ変換装置１１００から構成される。また、物理ノードＣ（１００−３）内では、ＶＬＡＮが構成される。
【００７４】
サーバ９００は、ＣＰＵ９１０、主記憶装置９２０、ＮＩＣ９３０及びストレージ９４０を備える。
【００７５】
ＣＰＵ９１０は、主記憶装置９２０に格納されるプログラムを格納する。ＣＰＵ９１０がプログラムを実行することによって、サーバ９００が備える機能を実現できる。主記憶装置９２０は、ＣＰＵ９１０によって実行されるプログラム及び当該プログラムの実行に必要が情報を格納する。
【００７６】
ＮＩＣ９３０は、ネットワーク回線を介して他の装置と接続するためのインタフェースである。ストレージ９４０は、各種情報を格納する。
【００７７】
本実施例では、物理ノード１００には、ノード管理部９３１を備えるサーバ９００と、仮想化管理部９３２を備えるサーバ９００とが含まれる。なお、ＣＰＵ９１０が、主記憶装置９２０に格納される所定のプログラムを実行することによって、ノード管理部９３１及び仮想化管理部９３２が実現される。
【００７８】
以下では、ノード管理部９３１及び仮想化管理部９３２を主語にして説明する場合、ＣＰＵ９１０によってノード管理部９３１及び仮想化管理部９３２を実現するプログラムが実行されていることを示す。
【００７９】
ノード管理部９３１は、ノード管理部１９０と同一のものである。なお、ノード管理部９３１は、自身の物理ノード１００に配置された仮想ノード２００を管理するために、仮想ノード管理情報３２３を保持する。
【００８０】
仮想化管理部９３２は、計算機リソースを用いてＶＭ１１０を生成し、また、生成されたＶＭ１１０を管理する。仮想化管理部９３２は、例えば、ハイパバイザ等が考えられる。なお、ＶＭ１１０の生成方法及び管理方法は、公知であるため詳細な説明を省略する。
【００８１】
なお、ノード管理部９３１が稼働するサーバ９００は、管理用ネットワークを介して、ノード内スイッチ１０００及びＧＲＥ変換装置１１００と接続し、また、物理リンク５００−３を介して、ドメイン管理サーバ３００と接続する。また、仮想化管理部９３２が稼働するサーバ９００は、内部のデータネットワークを介して、ノード内スイッチ１０００と接続する。
【００８２】
ノード内スイッチ１０００は、物理ノードＣ（１００−３）内の各サーバ９００及びＧＲＥ変換装置１１００を接続する。また、ノード内スイッチ１０００は、ＶＬＡＮを管理する機能を備え、ＶＬＡＮ内のパケットの転送処理を実行する。なお、ノード内スイッチ１０００の構成は公知であるため詳細な説明は省略するが、例えば、ノード内スイッチ１０００は、スイッチ転送部（図示省略）及び一つ以上のポートを有するＩ／Ｏインタフェース（図示省略）を備える。
【００８３】
ＧＲＥ変換装置１１００は、リンク管理部１６０に対応するものであり、物理ノード１００間の接続を管理する。ＧＲＥ変換装置１１００は、ＧＲＥトンネル６００を生成し、当該ＧＲＥトンネル６００を介して、他の物理ノード１００と通信する。なお、ＧＲＥ変換装置１１００は、ＣＰＵ（図示省略）、メモリ（図示省略）及びネットワークインタフェース等の計算機リソースを備える。
【００８４】
なお、本実施例では、ＧＲＥトンネル６００を用いて仮想リンク２５０を実現しているため、ＧＲＥ変換装置１１００を用いているが本発明はこれに限定されない。仮想リンク２５０を実現するためのプロトコルを適用したルータ及びアクセスゲートウェイ装置等を用いてもよい。
【００８５】
ＧＲＥ変換装置１１００は、経路設定情報１１１０を保持する。経路設定情報１１１０は、仮想ノード２００と通信するためのＧＲＥトンネル６００の接続関係を示す情報である。ＧＲＥ変換装置１１００は、経路設定情報１１１０を用いて、仮想ノード２００への接続を切り替えることができる。なお、経路設定情報１１１０の詳細については、図８を用いて後述する。
【００８６】
ＧＲＥ変換装置１１００は、他の物理ノード１００上に稼働するＶＭ１１０にパケットを送信する場合、ＧＲＥヘッダを付与することによって、物理ノード１００内のパケットをカプセル化し、カプセル化されたパケットを送信する。また、ＧＲＥ変換装置１１００は、他の物理ノード１００上に稼働するＶＭ１１０からパケットを受信する場合、ＧＲＥヘッダを削除して、ＶＬＡＮ上のＭａｃ−ｉｎ−Ｍａｃパケットに変換し（デカプセル化し）、変換されたパケットを物理ノード１００内のＶＭ１１０に転送する。
【００８７】
ここで、物理ノード１００間において送受信されるパケットの形式について説明する。
【００８８】
図７Ａ及び図７Ｂは、本発明の実施例１におけるパケットの形式の一例を示す説明図である。図７Ａは、データパケット１２００のパケット形式を示し、図７Ｂは、制御パケット１２１０のパケット形式を示す。
【００８９】
データパケット１２００は、ＧＲＥヘッダ１２０１、パケット種別１２０２及び仮想ネットワークパケット１２０３から構成される。
【００９０】
ＧＲＥヘッダ１２０１は、ＧＲＥヘッダを格納する。パケット種別１２０２は、パケットの種別を示す情報を格納する。データパケット１２００の場合、パケット種別１２０２には「データ」が格納される。仮想ネットワークパケット１２０３は、仮想ネットワーク、すなわち、スライス２０において送受信されるパケットを格納する。
【００９１】
制御パケット１２１０は、ＧＲＥヘッダ１２１１、パケット種別１２１２及び制御情報１２１３から構成される。
【００９２】
ＧＲＥヘッダ１２１１及びパケット種別１２１２は、ＧＲＥヘッダ１２０１及びパケット種別１２０２と同一のものである。なお、パケット種別１２１２には「制御」が格納される。制御情報１２１３は、各種制御処理に必要な命令及び情報等を格納する。
【００９３】
なお、データパケット１２００は、仮想ノード２００の機能を提供するＶＭ１１０間で送受信され、制御パケット１２１０は、各物理ノード１００内のノード管理部９３１が稼働するサーバ９００感で送受信される。
【００９４】
ＧＲＥ変換装置１１００は、他の物理ノード１００上で稼働するＶＭ１１０からパケットを受信した場合、パケット種別１２０２、１２１２を参照して、受信したパケットの種別を特定する。受信したパケットが制御パケット１２１０の場合、ＧＲＥ変換装置１１００は、制御情報１２１３に格納される情報に基づいて、制御処理を実行する。一方、受信したパケットがデータパケット１２００の場合、ＧＲＥ変換装置１１００は、デカプセル化したパケットを所定のサーバ９００に転送する。
【００９５】
また、ＧＲＥ変換装置１１００は、他の物理ノード１００上で稼働するＶＭ１１０にデータパケット１２００を送信する場合、経路設定情報１１１０に基づいて、カプセル化したパケットを送信する。ＧＲＥ変換装置１１００は、ドメイン管理サーバ３００又は他の物理ノード１００に制御パケット１２１０を送信する場合、ＧＲＥトンネル６００を介して、カプセル化したパケットを送信する。
【００９６】
図８は、本発明の実施例１における経路設定情報１１１０の一例を示す説明図である。図８では、物理ノードＡ（１００−１）のＧＲＥ変換装置１１００が備える経路設定情報１１１０を例に説明する。
【００９７】
経路設定情報１１１０は、通信方向１３１０及び通信可否１３２０を含む。
【００９８】
通信方向１３１０は、ＶＭ１１０間の通信方向を示す情報を格納する。すなわち、ＧＲＥトンネル６００の通信方向を示す情報が格納される。
【００９９】
具体的には、通信方向１３１０には、送信元のＶＭ１１０及び送信先のＶＭ１１０の識別情報が格納される。なお、図８に示す例では、矢印を用いて通信方向を表しているが、本発明はこれに限定されず、送信元のＶＭ１１０と送信先のＶＭ１１０とが識別可能であればどのようなデータ形式であってもよい。
【０１００】
通信可否１３２０は、通信方向１３１０に対応するＶＭ１１０間の通信を接続するか否かを示す情報が格納される。本実施例では、ＶＭ１１０間の通信を接続する場合、通信可否１３２０には「ＯＫ」が格納され、ＶＭ１１０間の通信を接続しない場合、通信可否１３２０には「ＮＯ」が格納される。
【０１０１】
（マイグレーション処理）
以下では、物理ノードＣ（１００−３）から物理ノードＤ（１００−４）への仮想ノードＣ（２００−３）のマイグレーション処理について、図９Ａ、図９Ｂ、図１０Ａ、図１０Ｂ、図１０Ｃ、図１１Ａ、図１１Ｂ、図１２Ａ及び図１２Ｂを用いて説明する。
【０１０２】
図９Ａ及び図９Ｂは、本発明の実施例１におけるマイグレーション処理の流れを説明するシーケンス図である。図１０Ａ、図１０Ｂ及び図１０Ｃは、本発明の実施例１のマイグレーション処理の実行時におけるドメイン１５内の状態を示す説明図である。図１１Ａ及び図１１Ｂは、本発明の実施例１における経路設定情報１１１０の一例を示す説明図である。図１２Ａ及び図１２Ｂは、本発明の実施例１におけるＧＲＥ変換装置１１００内の通信経路の接続状態を示す説明図である。
【０１０３】
本実施例では、ドメイン管理サーバ３００を操作する管理者によって、マイグレーション対象の仮想ノードＣ（２００−３）の識別子とともに、処理開始の要求が入力されたものとする。なお、本発明は、マイグレーション処理が開始されるタイミングに限定されない。例えば、ＶＭ１１０の負荷が閾値以上になった場合等に実行されてもよい。
【０１０４】
ドメイン管理サーバ３００は、まず、マイグレーション処理に必要な計算機リソースを確保し、また、マイグレーション処理時に用いられる情報を設定する。具体的には、ステップＳ１０１からステップＳ１０６の処理が実行される。
【０１０５】
これは、スライス２０上で実行されるサービスの停止を回避し、かつ、瞬時にＶＭ１１０を切り替えるための準備処理である。
【０１０６】
ドメイン管理サーバ３００は、物理ノードＤ（１００−４）に、ＶＭ生成指示を送信する（ステップＳ１０１）。
【０１０７】
具体的には、ドメイン管理サーバ３００は、物理ノードＤ（１００−４）のノード管理部９３１に、ＶＭ＿Ｄ（１１０−４）の生成指示を送信する。なお、ＶＭ生成指示には、ＶＭ＿Ｄ（１１０−４）の各種設定情報が含まれる。ＶＭ１１０の設定情報は、例えば、ＶＭ＿Ｄ（１１０−４）に割り当てるＣＰＵ及びメモリの割当量、起動ＯＳイメージのパス名、並びに、仮想ノードＣ（２００−３）が実行するサービスを提供するプログラム名等を含む。
【０１０８】
なお、ドメイン管理サーバ３００は、ＶＭ＿Ｃ（１１０−３）と同一の性能となるように生成指示を生成する。具体的には、ドメイン管理サーバ３００は、ＶＭ＿Ｃ（１１０−３）が稼働するサーバ９００の仮想化管理部９３２から、ＶＭ＿Ｃ（１１０−３）の設定情報を取得し、取得された設定情報に基づいて生成指示を生成する。
【０１０９】
ドメイン管理サーバ３００は、物理ノードＡ（１００−１）及び物理ノードＤ（１００−４）に、仮想リンク生成指示を送信する（ステップＳ１０２、ステップＳ１０３）。また、ドメイン管理サーバ３００は、同様に、物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）に、仮想リンク生成指示を送信する（ステップＳ１０４、ステップＳ１０５）。具体的には、以下のような処理が実行される。
【０１１０】
ドメイン管理サーバ３００は、マッピング情報３２２を参照して、仮想ノードＣ（１００−３）が配置される物理ノードＣ（１００−３）を特定する。
【０１１１】
次に、ドメイン管理サーバ３００は、物理ノードＣ（１００−３）の仮想ノード管理情報３２３を参照して、仮想リンク２５０−１、２５０−２によって接続される仮想ノードＡ（２００−１）及び仮想ノードＢ（２００−２）を特定する。
【０１１２】
さらに、ドメイン管理サーバ３００は、マッピング情報３２２を参照して、仮想ノードＡ（２００−１）が配置される物理ノードＡ（１００−１）を特定し、仮想ノードＢ（２００−２）が配置される物理ノードＢ（１００−２）を特定する。
【０１１３】
次に、ドメイン管理サーバ３００は、仮想ノード２００間の接続関係を確認し、仮想ノードＣ（２００−３）に対する隣接仮想ノード２００を特定する。本実施例では、スライス２０上の接続関係において、仮想ノードＣ（２００−３）から１ホップで接続される仮想ノード２００を隣接仮想ノード２００とする。したがって、本実施例では、仮想ノードＡ（２００−１）及び仮想ノードＢ（２００−２）が、仮想ノードＣ（２００−３）に対する隣接仮想ノード２００となる。なお、ホップ数は任意に設定することができる。
【０１１４】
さらに、ドメイン管理サーバ３００は、隣接仮想ノード２００が配置された物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）を隣接物理ノード１００として特定する。
【０１１５】
ドメイン管理サーバ３００は、物理ノードＡ（１００−１）及び物理ノードＤ（１００−４）との間に仮想リンク２５０−１の生成指示を送信する。また、ドメイン管理サーバ３００は、物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）との間に仮想リンク２５０−２の生成指示を送信する。
【０１１６】
なお、仮想リンク生成指示には、仮想リンク２５０の設定情報が含まれる。仮想リンク２５０の設定情報は、例えば、帯域、接続に必要なＧＲＥキー、及びＩＰアドレス等を含む。
【０１１７】
以上が、ステップＳ１０２、ステップＳ１０３、ステップＳ１０４及びステップＳ１０５の処理である。
【０１１８】
さらに、ドメイン管理サーバ３００は、物理ノードＣ（１００−３）に、ＶＭ停止条件を通知する（ステップＳ１０６）。
【０１１９】
ここで、ＶＭ停止条件とは、移行元の物理ノード１００上で稼働するＶＭ１１０を停止させるための条件を表す。物理ノードＣ（１００−３）のノード管理部９３１は、ＶＭ停止条件を受信すると、当該停止条件が成立するか否かを判定するための判定処理を開始する。
【０１２０】
本実施例では、ＶＭ停止条件として、隣接物理ノード１００、すなわち、物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）から仮想リンク切替完了通知を受信した場合にＶＭ＿Ｃ（１１０−３）を停止する条件が設定されているものとする。すなわち、物理ノードＣ（１００−３）のノード管理部９３１は、ＶＭ＿Ａ（１１０−１）が稼働する物理ノードＡ（１００−１）及びＶＭ＿Ｂ（１１０−２）が稼働する物理ノードＢ（１００−２）から、仮想リンク切替完了通知を受信するまで、ＶＭ＿Ｃ（１１０−３）を停止させない。
【０１２１】
物理ノードＤ（１００−４）は、ＶＭ生成指示を受信すると、当該ＶＭ生成指示に基づいて、所定のサーバ９００上にＶＭ＿Ｄ（１１０−４）を生成する（ステップＳ１０７）。具体的には、以下のような処理が実行される。
【０１２２】
ノード管理部９３１は、ＶＭ＿Ｄ（１１０−４）を生成するサーバ９００を決定する。ノード管理部９３１は、決定されたサーバ９００上で稼働する仮想化管理部９３２に、受信したＶＭ生成指示を転送する。
【０１２３】
仮想化管理部９３２は、ＶＭ生成指示に基づいて、ＶＭ＿Ｄ（１１０−４）を生成する。仮想化管理部９３２は、ＶＭ＿Ｄ（１１０−４）の生成後、ＶＭ＿Ｄ（１１０−４）の生成完了を通知する。なお、この時点では、生成されたＶＭ＿Ｄ（１１０−４）は起動されない。
【０１２４】
以上が、ステップＳ１０７の処理である。
【０１２５】
物理ノードＡ（１００−１）及び物理ノードＤ（１００−４）は、仮想リンク生成指示を受信すると、当該仮想リンク生成指示に基づいて、仮想リンク２５０−１を実現するためのＧＲＥトンネル６００−５、６００−６（図１０Ａ参照）を生成する（ステップＳ１０８）。具体的には、以下のような処理が実行される。
【０１２６】
物理ノードＡ（１００−１）のノード管理部９３１は、ドメイン管理サーバ３００から仮想リンク生成指示を受信すると、当該生成指示をＧＲＥ変換装置１１００に転送する。また、物理ノードＤ（１００−４）のノード管理部９３１は、ドメイン管理サーバ３００から仮想リンク生成指示を受信すると、当該生成指示をＧＲＥ変換装置１１００に転送する。
【０１２７】
物理ノードＡ（１００−１）のＧＲＥ変換装置１１００及び物理ノードＤ（１００−４）のＧＲＥ変換装置１１００は、ＧＲＥトンネル６００−５、６００−６を生成する。なお、ＧＲＥトンネル６００の生成方法は公知の技術を用いればよいため説明を省略する。
【０１２８】
物理ノードＡ（１００−１）のＧＲＥ変換装置１１００は、図１１Ａに示すように、ＧＲＥトンネル６００−５、６００−６に対応するエントリを経路設定情報１１１０に追加する。
【０１２９】
物理ノードＡ（１００−１）のＧＲＥ変換装置１１００は、ＧＲＥトンネル６００−５に対応するエントリの通信可否１３２０に「ＮＯ」を設定し、ＧＲＥトンネル６００−６に対応するエントリの通信可否１３２０に「ＯＫ」を設定する（図１１Ａ参照）。
【０１３０】
一方、物理ノードＤ（１００−４）のＧＲＥ変換装置１１００は、ＧＲＥトンネル６００−５、６００−６に対応するエントリを経路設定情報１１１０に追加し、当該エントリの通信可否１３２０に「ＯＫ」を設定する。
【０１３１】
以上の処理によって、物理ノードＡ（１００−１）と物理ノードＤ（１００−４）との間には、ＶＭ＿Ｄ（１１０−４）からＶＭ＿Ａ（１００−１）への単方向通信のみが可能な仮想リンク２５０が生成される。
【０１３２】
以上がステップＳ１０８の処理である。
【０１３３】
同様に、物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）は、仮想リンク生成指示を受信すると、当該仮想リンク生成指示に基づいて、仮想リンク２５０−２を実現するためのＧＲＥトンネル６００−７、６００−８（図１０Ａ参照）を生成する（ステップＳ１０９）。
【０１３４】
この場合、物理ノードＢ（１００−２）のＧＲＥ変換装置１１００は、ＧＲＥトンネル６００−７に対応するエントリの通信可否１３２０に「ＮＯ」を設定し、ＧＲＥトンネル６００−８に対応するエントリの通信可否１３２０に「ＯＫ」を設定する。また、物理ノードＤ（１００−４）のＧＲＥ変換装置１１００は、ＧＲＥトンネル６００−７、６００−８に対応するエントリの通信可否１３２０に「ＯＫ」を設定する。
【０１３５】
物理ノードＡ（１００−１）のノード管理部９３１及び物理ノードＢ（１００−２）のノード管理部９３１は、仮想リンク２５０を生成した後、ドメイン管理サーバ３００に、計算機リソースを確保した旨の通知を送信する（ステップＳ１１０、ステップＳ１１１）。
【０１３６】
また、物理ノードＤ（１００−５）のノード管理部９３１は、ＶＭ＿Ｄ（１００−４）を生成し、かつ、仮想リンク２５０を生成した後、ドメイン管理サーバ３００に、計算機リソースを確保した旨の通知を送信する（ステップＳ１１２）。
【０１３７】
このとき、ドメイン管理サーバ３００は、計算機リソースを確保した旨の通知に基づいて、マッピング情報３２２の更新情報及び仮想ノード管理情報３２３の更新情報を生成し、一時的に保持する。本実施例では、以下のような情報が生成される。
【０１３８】
ドメイン管理サーバ３００は、仮想ノードＣ（２００−３）に対応するエントリの物理ノードＩＤ７２０が物理ノードＤ（１００−４）、ＶＭ＿ＩＤ７３０がＶＭ＿Ｄ（１１０−４）である更新情報を生成する。また、ドメイン管理サーバ３００は、物理ノードＤ（１００−４）の仮想ノード管理情報３２３を生成する。なお、ドメイン管理サーバ３００は、物理ノードＤ（１００−４）から仮想ノード管理情報３２３を取得してもよい。
【０１３９】
図１０Ａは、ステップＳ１１２までの処理が実行された後のドメイン１５内の状態を示す。
【０１４０】
図１０Ａに示すように、ＧＲＥトンネル６００−５、６００−７は、点線で表示している。これは、ＧＲＥトンネル６００−５、６００−７は存在するが、当該ＧＲＥトンネル６００を用いてパケットを送信できないことを示す。ここで、図１２Ａを用いて、物理ノードＡ（１００−１）のＧＲＥ変換装置１１００における通信経路の接続状態について説明する。
【０１４１】
図１２Ａに示すように、ＧＲＥ変換装置１１００は、ＶＭ＿Ｃ（１１０−３）及びＶＭ＿Ｄ（１１０−４）の両方から受信したパケットをＶＭ＿Ａ（１１０−１）に対する転送するように内部の通信経路を設定する。一方、ＧＲＥ変換装置１１００は、ＶＭ＿Ａ（１１０−１）から送信されるパケットをＶＭ＿Ｃ（１１０−３）のみに送信するように内部の通信経路を設定する。前述のように、ＧＲＥ変換装置１１００は、ＧＲＥトンネル６００−５に対してパケットが転送されないように制御する。
【０１４２】
図９Ａの説明に戻る。
【０１４３】
次に、ドメイン管理サーバ３００は、物理ノードＤ（１００−４）に、ＶＭ＿Ｄ（１１０−４）の起動指示を送信する（ステップＳ１１３）。具体的には、物理ノードＤ（１００−４）のノード管理部９３１にＶＭ＿Ｄ（１１０−４）の起動指示が送信される。
【０１４４】
これによって、仮想リンク２５０が生成される前に、ＶＭ＿Ｄ（１１０−４）が稼働することを防止できる。
【０１４５】
物理ノードＤ（１００−４）のノード管理部９３１は、ＶＭ＿Ｄ（１１０−４）の起動を仮想化管理部９３２に指示し（ステップＳ１１４）、ドメイン管理サーバ３００にＶＭ＿Ｄ（１１０−４）の起動完了通知を送信する（ステップＳ１１５）。
【０１４６】
ＶＭ＿Ｄ（１１０−４）を起動させることによって、仮想ノードＣ（２００−３）が実行するサービスが開始された時点では、ＶＭ＿Ｃ（１１０−３）及びＶＭ＿Ｄ（１１０−４）の両方が仮想ノードＣ（２００−３）の機能を提供できる。しかし、この時点では、まだ、ＶＭ＿Ｃ（１１０−３）によって提供される機能を用いる仮想ノードＣ（２００−３）において、仕掛かり中のサービスが継続中である可能性がある。したがって、ＶＭ＿Ｃ（１１０−３）が提供する機能を用いる仮想ノードＣ（２００−３）が引き続きサービスを実行する。
【０１４７】
ただし、図１０Ａに示すように、ＶＭ＿Ｄ（１１０−４）が提供する機能を用いる仮想ノードＣ（１１０−４）もサービスを開始しているため、仮想リンク２５０を切り替えてもサービスが停止することはない。なお、スライス２０を使用しているユーザから見ると、一つの仮想ノードＣ（１１０−４）によってサービスが実行されているように認識される。
【０１４８】
なお、本実施例では、仮想ノードＣ（２００−３）が実行するサービスがステートレスであるものとする。すなわち、サービスを実行する仮想ノードＣ（１１０−４）に機能を提供するＶＭ１１０が切り替えられた場合であっても、各ＶＭ１１０は独立して処理を実行することができる。仮想ノードＣ（２００−３）が実行するサービスがステートレスでない場合、移行元及び移行先のＶＭ１１０間に共有ストレージを設置し、ステート情報を共有させることによって、サービスを継続することができる。
【０１４９】
ドメイン管理サーバ３００は、ＶＭ＿Ｄ（１１０−４）の起動完了通知を受信した後、隣接物理ノード１００、すなわち、物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）に仮想リンク切替指示を送信する（ステップＳ１１６、ステップＳ１１７）。なお、仮想リンク切替指示には、切替対象のＧＲＥトンネル６００の識別情報が含まれる。
【０１５０】
物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）は、仮想リンク切替指示を受信すると、仮想リンク２５０を切り替える（ステップＳ１１８、ステップＳ１１９）。具体的には、以下のような処理が実行される。
【０１５１】
ノード管理部９３１は、仮想リンク切替指示を受信すると、ＧＲＥ変換装置１１００に受信した仮想リンク切替指示を転送する。
【０１５２】
ＧＲＥ変換装置１１００は、受信した仮想リンク切替指示に含まれるＧＲＥトンネル６００の識別情報に基づいて、経路設定情報１１１０を参照して、切替対象のＧＲＥトンネル６００のエントリを特定する。ここでは、移行元のＶＭ＿Ｃ（１１０−３）と接続するＧＲＥトンネル６００のエントリと、移行先のＶＭ＿Ｄ（１１０−４）と接続するＧＲＥトンネル６００のエントリとが特定される。
【０１５３】
ＧＲＥ変換装置１１００は、特定されたエントリの通信可否１３２０の設定値を入れ替える。具体的には、移行元のＶＭ１１０と接続するＧＲＥトンネル６００のエントリの通信可否１３２０を「ＮＯ」に変更し、移行先のＶＭ１１０と接続するＧＲＥトンネル６００のエントリの通信可否１３２０を「ＯＫ」に変更する。
【０１５４】
当該処理によって、経路設定情報１１１０は、図１１Ｂに示すように更新される。
【０１５５】
ＧＲＥ変換装置１１００は、更新された経路設定情報１１１０に基づいて、ＧＲＥトンネル６００に接続する内部の通信経路を切り替える。ＧＲＥ変換装置１１００は、通信経路の切替完了の通知をノード管理部９３１に送信する。
【０１５６】
なお、ＧＲＥ変換装置１１００は、内部の通信経路を切り替えた後であっても、受信したパケットが制御パケット１２１０であり、かつ、移行前の仮想ノード２００が配置された物理ノード１００が宛先の場合には、仮想リンク２５０の切り替え前に使用していた内部の通信経路を介して制御パケット１２１０を送信することができる。
【０１５７】
すなわち、ＧＲＥ変換装置１１００は、移行前に仮想ノード２００が配置された物理ノード１００に、データパケット１２００を送信しないように制御する。
【０１５８】
以上の処理によって、図１２Ｂに示すように内部の通信経路が切り替えられる。これによって、ＶＭ＿Ｄ（１１０−４）への仮想ノードＣ（２００−３）の移行が完了する。また、システム全体において、図１０Ｂに示すように仮想リンク２５０が切り替えられる。
【０１５９】
このように、ＶＭ＿Ｃ（１１０−３）によって提供される機能を用いた仮想ノードＣ（２００−３）によって実行されるサービスの実行結果を取得するために、一定期間経過した後に仮想リンク２５０が切り替えられる。これによって、スライス２０におけるサービスの整合性を保つことができる。
【０１６０】
以上が、ステップＳ１１８、ステップＳ１１９の処理である。
【０１６１】
仮想リンク２５０が切り替えられることによって、ＶＭ＿Ｄ（１１０−４）によって提供される機能を用いた仮想ノードＣ（２００−３）がサービスを実行する。なお、物理ノードＣ（１００−３）のノード管理部９３１は、この時点では、ＶＭ＿Ｃ（１１０−３）の停止条件を満たしていないため、ＶＭ＿Ｃ（１１０−３）の起動状態を維持する。
【０１６２】
物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）は、仮想リンク２５０を実現するＧＲＥトンネル６００の接続を切り替えた後、物理ノードＣ（１００−３）に、仮想リンク切替完了通知を送信する（ステップＳ１２０、ステップＳ１２１）。具体的には、以下のような処理が実行される。
【０１６３】
各物理ノード１００のノード管理部９３１は、ＧＲＥ変換装置１１００に仮想リンク２５０の切替結果を問い合わせることによって、接続が切り替えられたＧＲＥトンネル６００を特定する。ＧＲＥ変換装置１１００は、経路設定情報１１１０に新たに追加されたエントリの情報を出力することによって、切り替えられたＧＲＥトンネル６００を特定できる。
【０１６４】
各物理ノード１００のノード管理部９３１は、特定されたＧＲＥトンネル６００の接続先のＶＭ１１０の識別子に基づいて、当該ＶＭ１１０が稼働する物理ノード１００を特定する。例えば、各物理ノード１００のノード管理部９３１は、ドメイン管理サーバ３００に、特定されたＶＭの識別子を含む問い合わせを送信する方法が考えられる。この場合、ドメイン管理サーバ３００は、マッピング情報３２２を参照することによって、特定されたＶＭ１１０が稼働する物理ノード１００を特定できる。
【０１６５】
なお、仮想リンク切替完了通知を送信する物理ノード１００の決定方法は、前述したものに限定されない。例えば、ノード管理部９３１が、予め、ＧＲＥトンネル６００と接続先の物理ノード１００とを対応づけた情報を保持してもよい。
【０１６６】
ノード管理部９３１は、接続先の物理ノード１００の識別子を含む仮想リンク切替完了通知を生成し、当該通知をＧＲＥ変換装置１１００に送信する。なお、仮想リンク切替完了通知は、制御パケット１２１０である。
【０１６７】
ＧＲＥ変換装置１１００は、ＧＲＥトンネル６００を介して、接続先の物理ノード１００に仮想リンク切替完了通知を送信する。
【０１６８】
以上が、ステップＳ１２０及びステップＳ１２１の処理である。
【０１６９】
次に、物理ノードＣ（１００−３）は、物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）から仮想リンク切替完了通知を受信すると、ＶＭ＿Ｃ（１１０−３）を停止し、またＧＲＥトンネル６００の接続を停止する（ステップＳ１２２）。
【０１７０】
これは、物理ノードＣ（１００−３）のノード管理部９３１が、ＶＭ＿Ｃ（１１０−３）の停止条件を満たしたと判定したためである。
【０１７１】
前述したように、仮想リンク切替完了通知は、データパケット１２００が送信されるＧＲＥトンネル６００−２、６００−４を介して送信される。したがって、物理ノード１００のノード管理部９３１は、仮想リンク切替完了通知を受信することによって、ＶＭ＿Ｃ（１１０−３）に対して、ＶＭ＿Ａ（１１０−１）及びＶＭ＿Ｂ（１１０−２）からこれ以上データパケット１２００が送信されないことを保証することができる。
【０１７２】
一方、仮想リンク切替完了通知が、ドメイン管理サーバ３００から送信される場合、仮想リンク切替完了通知に対応する制御パケット１２１０は、データパケット１２００が送信される通信経路とは異なった通信経路を経由することになるため、ＧＲＥトンネル６００−２、６００−４を介してデータパケット１２０が送信される可能性がある。
【０１７３】
したがって、物理ノード１００上で稼働するＶＭ１１０と通信する全ての物理ノード１００から制御パケット１２１０を受信することによって、仮想ノード２００の移行前に機能を提供していたＶＭ１１０が不要となることが分かる。
【０１７４】
物理ノードＣ（１００−３）は、物理ノードＡ（１００−１）及び物理ノードＣ（１００−３）に、仮想リンク切替完了通知に対する応答を送信する（ステップＳ１２３、ステップＳ１２４）。
【０１７５】
なお、当該応答は制御パケット１２１０であるため、ＧＲＥトンネル６００−１、６００−３を介して送信される。したがって、物理ノード１００は、移行前に機能を提供していたＶＭ１１０からパケットが送信されないことを保証できる。
【０１７６】
物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）は、仮想リンク切替完了通知に対する応答を受信すると、ＶＭ＿Ｃ（１１０−３）と通信するためのＧＲＥトンネル６００の接続を停止する（ステップＳ１２５、ステップＳ１２６）。
【０１７７】
具体的には、各物理ノード１００のノード管理部９３１が、ＧＲＥ変換装置１１００にＶＭ＿Ｃ（１１０−３）と通信するためのＧＲＥトンネル６００の接続停止指示を送信する。ＧＲＥ変換装置１１００は、当該接続停止指示を受信すると、ＶＭ＿Ｃ（１１０−３）と通信するためのＧＲＥトンネル６００を介した通信を停止する。
【０１７８】
物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）は、ドメイン管理サーバ３００に、仮想リンク停止通知を送信する（ステップＳ１２７、ステップＳ１２８）。また、物理ノードＣ（１００−３）は、ＶＭ＿Ｃ（１１０−３）の停止、及び、ＶＭ＿Ｃ（１１０−３）への接続を停止した旨を通知する（ステップＳ１２９）。
【０１７９】
ドメイン管理サーバ３００は、物理ノードＡ（１００−１）、物理ノードＢ（１００−２）及び物理ノードＣ（１００−３）に、ＶＭ＿Ｃ（１１０−３）に関連する計算機リソースの解放指示を送信する（ステップＳ１３０、ステップＳ１３１、ステップＳ１３２）。
【０１８０】
具体的には、ドメイン管理サーバ３００は、物理ノードＡ（１００−１）に対して、ＧＲＥトンネル６００−１、６００−２を構成するための計算機リソースの解放を指示し、物理ノードＢ（１００−２）に対して、ＧＲＥトンネル６００−３、６００−４を構成するための計算機リソースの解放を指示する。また、ドメイン管理サーバ３００は、物理ノードＣ（１００−３）に対して、ＶＭ＿Ｃ（１１０−３）に割り当てられた計算機リソース、及び、ＧＲＥトンネル６００−１、６００−２、６００−３、６００−４を構成するための計算機リソースの解放を指示する。これによって、計算機リソースを有効に活用することができる。
【０１８１】
なお、図９Ａ及び図９Ｂにおいて、ドメイン管理サーバ３００及び各物理ノード１００間で送受信される指示及び応答は、処理の整合性を保つ範囲内で、任意の順番に変更してもよいし、同時に送信してもよい。また、同一の指示及び応答を複数回送信してもよい。また、一つの指示又は応答を複数の指示又は応答に分けて送信してもよい。
【０１８２】
図１０Ｃは、ステップＳ１３２までの処理が実行された後のドメイン内の状態を表す図である。図１０Ｃに示すように、仮想ノードＣ（２００−３）が物理ノードＣ（１００−３）から物理ノードＤ（１００−４）に移行していることが分かる。なお、スライス２０上では、仮想ノードＣ（２００−３）の移行は認識されない。
【０１８３】
実施例１によれば、スライス２０上の仮想ノード２００が実行するサービスを停止することなく、かつ、スライス２０のネットワーク構成を変更することなく仮想ノード２００を配置する物理ノード１００のマイグレーション処理を実現することができる。
【実施例２】
【０１８４】
実施例２では、仮想ネットワーク２０が二つ以上のドメイン１５間をまたがって構成される点が異なる。以下、ドメイン間１５をまたがった仮想ノード２００のマイグレーション処理について説明する。なお、実施例１との差異を中心に説明する。
【０１８５】
（システム構成）
図１３は、本発明の実施例２における物理ネットワーク１０の構成例を示す説明図である。実施例２では、二つのドメイン１５から構成される物理ネットワーク１０を例に説明する。
【０１８６】
物理ネットワーク１０を構成するドメインＡ（１５−１）及びドメインＢ（１５−３）には、それぞれ、ドメイン管理サーバ３００及び複数の物理ノード１００が含まれる。実施例２では、各ドメイン１５内の物理ノード１００を用いて図２に示すようなスライス２０が提供されているものとする。この場合、フェデレーション機能を用いることによって、二つのドメイン１５をまたがったスライス２０を構成することができる。
【０１８７】
また、ドメイン管理サーバＡ（３００−１）及びドメイン管理サーバＢ（３００−２）は、物理リンク１３００を介して接続される。ドメイン管理サーバＡ（３００−１）及びドメイン管理サーバＢ（３００−２）は、物理リンク１３００を介して互いに通信することによって、各ドメイン１５の管理情報（例えば、マッピング情報３２２及び仮想ノード管理情報３２３）を共有しているものとする。
【０１８８】
なお、ドメイン管理サーバ３００の構成は、実施例１と同一であるため説明を省略する。また、物理ノード１００間の接続は、実施例１と同一のものであるため説明を省略する。
【０１８９】
実施例２では、物理ノードＢ（１００−２）と物理ノードＣ（１００−３）とを接続する物理リンク４００−２、及び、物理ノードＡ（１００−１）と物理ノードＤ（１００−４）とを接続する物理リンク４００−３は、ドメイン１５間を接続するネットワークである。
【０１９０】
したがって、物理ネットワーク１０の実装によっては、ドメイン１５の出入口にゲートウェイ装置が設置される場合がある。本実施例では、ＧＲＥトンネル６００を用いることによって、二つのドメイン１５間の物理ノード１００を直接接続できるものとしているが、ゲートウェイ装置が設置される場合でも、同様の処理を適用することできる。
【０１９１】
なお、物理ノード１００の構成は、実施例１と同一であるため説明を省略する。
【０１９２】
（マイグレーション動作）
以下では、実施例１と同様に、物理ノードＣ（１００−３）から物理ノードＤ（１００−４）への仮想ノードＣ（２００−３）のマイグレーション処理について、図１４Ａ、図１４Ｂ、図１５Ａ、図１５Ｂ及び図１５Ｃを用いて説明する。ただし、ドメイン１５の異なる物理ノード１００間において仮想ノード２００を移行させる点が異なる。
【０１９３】
図１４Ａ及び図１４Ｂは、本発明の実施例２におけるマイグレーション処理の流れを説明するシーケンス図である。図１５Ａ、図１５Ｂ及び図１５Ｃは、本発明の実施例２のマイグレーション処理の実行時におけるドメイン１５内の状態を示す説明図である。
【０１９４】
なお、経路設定情報１１１０の更新方法、及び、ＧＲＥ変換装置１１００における内部の通信経路の制御方法は、実施例１と同一であるため説明を省略する。
【０１９５】
本実施例では、ドメイン管理サーバＡ（３００−１）を操作する管理者によって、マイグレーション対象の仮想ノードＣ（２００−３）の識別子とともに、処理開始の要求が入力されたものとする。なお、本発明は、マイグレーション処理が開始されるタイミングに限定されない。例えば、ＶＭ１１０の負荷が閾値以上になった場合等に実行されてもよい。
【０１９６】
本実施例では、ドメイン管理サーバＡ（３００−１）及びドメイン管理サーバＢ（３００−２）が連携してマイグレーション処理を実行するが、この場合、ドメイン管理サーバＡ（３００−１）がマイグレーション処理を統括する。なお、ドメイン管理サーバＢ（３００−２）がマイグレーション処理を統括する場合も同様の処理を適用することが可能である。
【０１９７】
なお、ドメイン管理サーバ３００は、ＶＭ＿Ｃ（１１０−３）と同一の性能となるように生成指示を生成する。具体的には、ドメイン管理サーバ３００は、ＶＭ＿Ｃ（１１０−３）が稼働するサーバ９００の仮想化管理部９３２から、ＶＭ＿Ｃ（１１０−３）の設定情報を取得し、取得された設定情報に基づいて生成指示を生成する。
【０１９８】
実施例２では、物理ノードＤ（１００−４）に対するＶＭ生成指示の送信処理が異なる（ステップＳ１０１）。
【０１９９】
具体的には、ドメイン管理サーバＡ（３００−１）は、ドメイン管理サーバＢ（３００−２）に、ＶＭ生成指示を送信する。なお、ＶＭ生成指示には、宛先情報として、送信先の物理ノードＤ（１００−４）の識別子が含まれているものとする。
【０２００】
ドメイン管理サーバＢ（３００−２）は、受信したＶＭ生成指示の宛先情報に基づいて、物理ノードＤ（１００−４）にＶＭ生成指示を転送する。
【０２０１】
なお、本実施例では、予めＶＭ生成指示に送信先の物理ノードＤ（１００−４）の識別子が含まれているものとしたが、本発明はこれに限定されない。例えば、ドメイン管理サーバＡ（１００−１）が、実施例１と同様のＶＭ生成指示を送信し、ドメイン管理サーバＢ（３００−２）が、ドメイン１５内の物理ノード１００の負荷情報等からＶＭ生成指示を送信する物理ノード１００を決定してもよい。
【０２０２】
また、実施例２では、物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）に対する仮想リンク生成指示の送信処理が異なる（ステップＳ１０３、ステップＳ１０４、ステップＳ１０５）。
【０２０３】
具体的には、ドメイン管理サーバＡ（３００−１）は、ドメイン管理サーバＢ（３００−２）に、仮想リンク生成指示を送信する。なお、仮想リンク生成指示には、宛先情報として、送信先の物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）の識別子が含まれているものとする。なお、ドメイン管理サーバＡ（３００−１）は、マッピング情報３２２を参照することによって、物理ノードＤ（１００−４）に対する隣接物理ノード１００が物理ノードＢ（１００−２）であることを把握できる。
【０２０４】
ドメイン管理サーバＢ（３００−２）は、受信した仮想リンク生成指示の宛先情報に基づいて、物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）にリンク生成指示を転送する。
【０２０５】
物理ノードＡ（１００−１）及び物理ノードＤ（１００−４）は、仮想リンク生成指示を受信すると、当該仮想リンク生成指示に基づいて、仮想リンク２５０−１を実現するためのＧＲＥトンネル６００−５、６００−６（図１５Ａ参照）を生成する（ステップＳ１０８）。
【０２０６】
なお、ＧＲＥトンネル６００−５、６００−６の生成方法は、基本的には実施例１において示した生成方法と同一である。この場合は、フェデレーションによって、ドメインをまたがったスライスが生成されているので、ＧＲＥトンネルに関してもドメインをまたがって生成される。さらに、各ドメイン、さらにはドメイン間の物理ネットワークの実装方式によっては、ドメインの境界において、異なるリンク方式（例えばＶＬＡＮ等）に乗り換えが行われることもある。
【０２０７】
物理ノードＢ（１００−２）のノード管理部９３１は、仮想リンク２５０を生成した後、ドメイン管理サーバＢ（３００−２）に、計算機リソースを確保した旨の通知を送信する（ステップＳ１１１）。ドメイン管理サーバＢ（３００−２）は、ドメイン管理サーバＡ（３００−１）に当該通知を転送する（図１５Ａ参照）。
【０２０８】
また、物理ノードＤ（１００−５）のノード管理部９３１は、ＶＭ＿Ｄ（１００−４）を生成し、かつ、仮想リンク２５０を生成した後、ドメイン管理サーバＢ（３００−２）に、計算機リソースを確保した旨の通知を送信する（ステップＳ１１２）。ドメイン管理サーバＢ（３００−２）は、ドメイン管理サーバＡ（３００−１）に当該通知を転送する（図１５Ａ参照）。
【０２０９】
なお、ドメイン管理サーバＢ（３００−２）は、物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）からの計算機リソースを確保した旨の通知をマージし、ドメイン管理サーバＡ（３００−１）にマージされた通知を転送してもよい。
【０２１０】
実施例２では、ＶＭ起動指示及びＶＭ起動完了通知は、ドメイン管理サーバＢ（３００−２）を経由して送信される（ステップＳ１１３、ステップＳ１１５）。また、物理ノードＢ（１００−２）に対する仮想リンク切替指示は、図１５Ｂに示すように、ドメイン管理サーバＢ（３００−２）を経由して送信される（ステップＳ１１７）。
【０２１１】
物理ノードＢ（１００−２）から送信されるリンク切替完了通知は、ドメイン管理サーバＢ（３００−２）を経由せずに、物理リンク４００−２上に生成されたＧＲＥトンネル６００を介して送信される（ステップＳ１２１）。物理ノードＢ（１００−２）に対して送信される応答は、ドメイン管理サーバＢ（３００−２）を経由せずに、物理リンク４００−２上に生成されたＧＲＥトンネル６００を介して送信される（ステップＳ１２４）。
【０２１２】
物理ノードＢから送信される仮想リンク停止通知は、ドメイン管理サーバＢ（３００−２）を経由して、ドメイン管理サーバＡ（３００−１）に送信される。また、計算機リソースの解放指示についても、ドメイン管理サーバＢ（３００−２）を経由して、物理ノードＢ（１００−２）に送信される。
【０２１３】
その他の処理は、実施例１と同一であるため説明を省略する。
【０２１４】
実施例２によれば、複数のドメイン１５から構成されるスライス２０においても、仮想ノード２００が実行するサービスを中断することなく、ドメイン１５をまたがった仮想ノード２００のマイグレーション処理を実現することができる。
【実施例３】
【０２１５】
実施例２では、図１４Ａ及び図１４Ｂに示すように、ドメイン管理サーバ３００間の通信が多く発生する。当該通信では、ドメイン１５間の認証処理等が含まれるため、オーバヘッドが大きく、さらに、制御コマンドを送受信数が増大するため、マイグレーション処理のオーバヘッドが増大する。
【０２１６】
そこで、実施例３では、ドメイン管理サーバ３００間の通信を抑制したマイグレーション処理を実現する。具体的には、物理ノード１００間の物理リンク４００を介して制御パケットを送受信することによって、ドメイン管理サーバ３００間の通信を抑制する。
【０２１７】
以下、実施例２との差異を中心に説明する。なお、物理ネットワーク１０の構成、ドメイン管理サーバ３００の構成及び物理ノード１００の構成は、実施例１と同一であるため説明を省略する。
【０２１８】
（マイグレーション動作）
以下では、実施例２と同様に、ドメインＡ（１５−１）の物理ノードＣ（１００−３）からドメインＢ（１５−２）の物理ノードＤ（１００−４）への仮想ノードＣ（２００−３）のマイグレーション処理について、図１６Ａ及び図１６Ｂを用いて説明する。
【０２１９】
図１６Ａ及び図１６Ｂは、本発明の実施例３におけるマイグレーション処理の流れを説明するシーケンス図である。
【０２２０】
ドメイン管理サーバＡ（３００−１）は、ドメイン管理サーバＢ（３００−２）にＶＭ作成指示及びパケットＶＭ起動条件を通知する（ステップＳ２０１）。
【０２２１】
この時点では、まだ、物理ノード１００−４との間に仮想リンク２５０が生成されていないため、ＶＭ作成指示及びパケットＶＭ起動条件は、ドメイン管理サーバＢ（３００−２）を経由して、物理ノードＤ（１００−４）に送信される。追加ノードとの間のリンクが構成されていないためである。
【０２２２】
ここで、ＶＭ起動条件とは、移行先の物理ノード１００上に生成されたＶＭ１１０を起動させるための条件を表す。物理ノードＤ（１００−４）のノード管理部９３１は、ＶＭ起動条件を受信すると、当該起動条件が設立するか否かを判定するための判定処理を開始する。
【０２２３】
本実施例では、ＶＭ起動条件として、隣接物理ノード１００、すなわち、物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）から仮想リンク生成報告を受信した場合にＶＭ＿Ｄ（１１０−４）を起動する条件が設定されているものとする。
【０２２４】
実施例３では、物理ノードＡ（１００−１）、物理ノードＢ（１００−２）及び物理ノードＤ（１００−４）は、ドメイン管理サーバＡ（３００−１）に、計算機リソースを確保した旨の通知を送信しない。実施例３では、物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）が、ＧＲＥトンネル６００を介して、物理ノードＤ（１００−４）に仮想リンク生成報告を送信する点が異なる（ステップＳ２０２、ステップＳ２０３）。
【０２２５】
これによって、ＶＭ＿Ｄ（１１０−４）を起動するために、ドメイン管理サーバ３００間の通信及びドメイン管理サーバ３００と物理ノード１００との間の通信を抑制することができる。したがって、マイグレーション処理のオーバヘッドを削減できる。
【０２２６】
実施例３では、物理ノードＤ（１００−４）のノード管理部９３１は、隣接物理ノード１００から仮想リンク生成報告を受信すると、ＶＭ＿Ｄ（１１０−４）の起動を仮想化管理部９３２に指示する（ステップＳ１１４）。
【０２２７】
物理ノードＤ（１００−４）のノード管理部９３１は、ＶＭ＿Ｄ（１１０−４）の起動後、隣接物理ノード１００に、サービス開始通知を送信する（ステップＳ２０４、ステップＳ２０５）。ここで、サービス開始通知は、ＶＭ＿Ｄ（１１０−４）が提供する機能を用いて仮想ノードＣ（２００−３）がサービスを開始したことを示す通知である。
【０２２８】
具体的には、サービス開始通知が、ＧＲＥトンネル６００を介して、物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）に送信される。
【０２２９】
物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）は、サービス開始通知を受信すると、仮想リンク２５０を切り替える（ステップＳ１１８、ステップＳ１１９）。
【０２３０】
実施例３では、物理ノードＡ（１００−１）及び物理ノードＢ（１００−２）は、物理ノードＤ（１００−４）から送信されたサービス開始通知の受信を契機に、仮想リンク２５０を切り替える点が異なる。すなわち、ＶＭ起動完了通知及び仮想リンク切替指示の送信を、サービス開始通知の送信によって実現している。
【０２３１】
実施例２では、仮想リンク２５０を切り替えるために、物理ノード１００とドメイン管理サーバ３００との間で通信を行う必要があったが、実施例３では、物理ノード１００間で直接通信するため、ドメイン管理サーバ３００を経由した通信を抑制することができる。
【０２３２】
その他の処理は実施例２と同一であるため説明を省略する。
【０２３３】
実施例３によれば、物理ノード１００間を接続するリンク（ＧＲＥトンネル６００）を介して通信することによって、ドメイン管理サーバ３００との間の通信を抑制できる。これによって、マイグレーション処理におけるオーバヘッドを削減することができる。
【０２３４】
なお、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体（例えば、非一時的な記憶媒体）に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
【０２３５】
さらに、本実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。
【０２３６】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０２３７】
１０  物理ネットワーク
１５  ドメイン
２０  仮想ネットワーク（スライス）
１００  物理ノード
１１０  仮想計算機（ＶＭ）
１６０  リンク管理部
１９０  ノード管理部
２００  仮想ノード
２５０  仮想リンク
３００  ドメイン管理サーバ
３２１  ドメイン管理部
９００  サーバ
９３１  ノード管理部
９３２  仮想化管理部
９４０  ストレージ
１０００  ノード内スイッチ
１１００  ＧＲＥ変換装置
【図１】
2014049773.tif 000003
【図２】
2014049773.tif 000004
【図３】
2014049773.tif 000005
【図４】
2014049773.tif 000006
【図５】
2014049773.tif 000007
【図６】
2014049773.tif 000008
【図７Ａ】
2014049773.tif 000009
【図７Ｂ】
2014049773.tif 000010
【図８】
2014049773.tif 000011
【図９Ａ】
2014049773.tif 000012
【図９Ｂ】
2014049773.tif 000013
【図１０Ａ】
2014049773.tif 000014
【図１０Ｂ】
2014049773.tif 000015
【図１０Ｃ】
2014049773.tif 000016
【図１１Ａ】
2014049773.tif 000017
【図１１Ｂ】
2014049773.tif 000018
【図１２Ａ】
2014049773.tif 000019
【図１２Ｂ】
2014049773.tif 000020
【図１３】
2014049773.tif 000021
【図１４Ａ】
2014049773.tif 000022
【図１４Ｂ】
2014049773.tif 000023
【図１５Ａ】
2014049773.tif 000024
【図１５Ｂ】
2014049773.tif 000025
【図１５Ｃ】
2014049773.tif 000026
【図１６Ａ】
2014049773.tif 000027
【図１６Ｂ】
2014049773.tif 000028