特許第5835846号(P5835846)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧
特許5835846ネットワークシステム及び仮想ノードのマイグレーション方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5835846
(24)【登録日】2015年11月13日
(45)【発行日】2015年12月24日
(54)【発明の名称】ネットワークシステム及び仮想ノードのマイグレーション方法
(51)【国際特許分類】
   H04L 12/70 20130101AFI20151203BHJP
【FI】
   H04L12/70 D
【請求項の数】10
【全頁数】34
(21)【出願番号】特願2012-188316(P2012-188316)
(22)【出願日】2012年8月29日
(65)【公開番号】特開2014-49773(P2014-49773A)
(43)【公開日】2014年3月17日
【審査請求日】2014年11月5日
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成23年度、独立行政法人情報通信研究機構、新世代ネットワークを支えるネットワーク仮想化基盤技術の研究開発 委託事業、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】100114236
【弁理士】
【氏名又は名称】藤井 正弘
(74)【代理人】
【識別番号】100075513
【弁理士】
【氏名又は名称】後藤 政喜
(72)【発明者】
【氏名】垂井 俊明
(72)【発明者】
【氏名】金田 泰
(72)【発明者】
【氏名】春日井 靖
【審査官】 菊地 陽一
(56)【参考文献】
【文献】 米国特許出願公開第2011/0032830(US,A1)
【文献】 米田司他,マルチレイヤNDLを利用した仮想ネットワーク環境における仮想ルータ移動制御機構の提案,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2010年12月10日,Vol.110 No.349,pp.61-66
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
計算機リソースを有する複数の物理ノードから構成されるネットワークシステムであって、
前記物理ノードは、物理リンクを介して、他の前記物理ノードと接続され、
前記ネットワークシステムには、前記物理ノードが有する計算機リソースが割り当てられ、所定のサービスを実行する複数の仮想ノードから構成される仮想ネットワークが構成され、
前記ネットワークシステムは、
前記仮想ノードを管理するネットワーク管理部と、
前記物理ノードを管理するノード管理部と、
前記物理ノード間を接続する前記物理リンク及び前記仮想ノード間を接続する仮想リンクの接続を管理するリンク管理部と、
を備え、
前記ネットワーク管理部は、
前記仮想ノードと、前記仮想ノードに前記計算機リソースを割り当てる前記物理ノードとの対応を示すマッピング情報と、
前記仮想リンクを管理する仮想ノード管理情報と、
を保持し、
前記リンク管理部は、
前記仮想リンクの接続状態を管理する経路設定情報を保持し、
前記経路設定情報に基づいて、前記仮想ノード間のデータの送受信を制御し、
前記ネットワークシステムは、
第1の物理ノードの前記計算機リソースを用いてサービスを実行する第1の仮想ノードを第2の物理ノードに移行させる場合に、前記ネットワーク管理部が、前記第2の物理ノードに前記第1の仮想ノードに割り当てる前記計算機リソースの確保指示を送信し、
前記ネットワーク管理部が、前記仮想ネットワーク上において、前記第1の仮想ノードと前記仮想リンクを介して接続される第3の仮想ノードに前記計算機リソースを割り当てる第3の物理ノードを特定し、
前記ネットワーク管理部が、前記リンク管理部に対して、前記第2の物理ノードと前記第3の物理ノードとを接続する前記物理リンク上に、前記第1の仮想ノードと前記第3の仮想ノードとを接続する前記仮想リンクを実現するための通信経路の生成指示を送信し、
前記リンク管理部が、前記通信経路の生成指示に基づいて、前記第2の物理ノードと前記第3の物理ノードとを接続する前記物理リンク上に、前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードから前記第3の仮想ノードへのデータの送信を許可し、前記第3の仮想ノードから前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードへのデータの送信を停止するように設定された前記通信経路を生成し、
前記リンク管理部が、前記経路設定情報に、前記生成された通信経路の識別情報とデータの送信許可を示す情報とを対応づけた設定情報を追加し、
前記ノード管理部が、前記第2の物理ノードによって確保された前記計算機リソースを用いて前記第1の仮想ノードが実行するサービスを開始し、
前記ネットワーク管理部が、前記リンク管理部に前記仮想リンクの切替指示を送信し、
前記リンク管理部が、前記仮想リンクの切替指示を受信した場合に、前記第3の仮想ノードから前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードへのデータの送信を許可するように、前記経路設定情報に追加された設定情報を更新することによって前記生成された通信経路を前記仮想リンクとして切り替えることを特徴とするネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムであって、
前記ネットワーク管理部は、前記ノード管理部に、前記第1の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードが実行するサービスの停止条件を送信し、
前記ノード管理部は、
前記受信したサービス停止条件を満たすか否かを判定する判定処理を実行し、
前記受信したサービス停止条件を満たすと判定された場合に、前記第1の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードが実行するサービスを停止することを特徴とするネットワークシステム。
【請求項3】
請求項2に記載のネットワークシステムであって、
前記サービス停止条件は、前記第3の物理ノードから前記仮想リンクの切替完了通知の受信であることを特徴とするネットワークシステム。
【請求項4】
請求項3に記載のネットワークシステムであって、
前記ノード管理部は、前記第1の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードが実行するサービスを停止した後に、前記第1の仮想ノードに割り当てられていた前記第1の物理ノードの計算機リソースを解放することを特徴とするネットワークシステム。
【請求項5】
請求項1に記載のネットワークシステムであって、
前記物理ノードは、前記ノード管理部及び前記リンク管理部を含み、
前記第2の物理ノードの前記リンク管理部及び前記第3の物理ノードの前記リンク管理部は、前記通信経路を生成し、
前記第2の物理ノードのリンク管理部は、前記通信経路を介した、前記データの送受信を許可する第1の設定情報を前記経路設定情報に追加し、
前記第3の物理ノードのリンク管理部は、前記通信経路を介した、前記データの受信を許可し、かつ、前記データの送信を停止する第2の設定情報を前記経路設定情報に追加し、
前記第3の物理ノードは、前記生成された通信経路を介して、前記第2の物理ノードに前記通信経路が生成されたことを通知する第1の制御情報を送信し、
前記第2の物理ノードの前記ノード管理部は、
前記第1の制御情報を受信した後に、前記確保された計算機リソースを前記第1の仮想ノードに割り当てて、前記第1の仮想ノードが実行するサービスを開始し、
前記第3の物理ノードに、前記通信経路を介して、前記第1の仮想ノードが実行するサービスが開始したことを通知する第2の制御情報を送信し、
前記第3の物理ノードのリンク管理部は、前記第2の制御情報を受信した後に、前記通信経路を介した、前記データの送信を許可するように前記第2の設定情報を変更することによって、前記仮想リンクを切り替えることを特徴とするネットワークシステム。
【請求項6】
計算機リソースを有する複数の物理ノードから構成されるネットワークシステム上に構成される仮想ネットワークを構成する仮想ノードのマイグレーション方法であって、
前記物理ノードは、物理リンクを介して、他の前記物理ノードと接続され、
前記仮想ネットワークは、前記物理ノードが有する計算機リソースが割り当てられ、所定のサービスを実行する複数の仮想ノードから構成され、
前記ネットワークシステムは、
前記仮想ノードを管理するネットワーク管理部と、
前記物理ノードを管理するノード管理部と、
前記物理ノード間を接続する前記物理リンク及び前記仮想ノード間を接続する仮想リンクの接続を管理するリンク管理部と、
を備え、
前記ネットワーク管理部は、
前記仮想ノードと、前記仮想ノードに前記計算機リソースを割り当てる前記物理ノードとの対応を示すマッピング情報と、
前記仮想リンクを管理する仮想ノード管理情報と、
を保持し、
前記リンク管理部は、
前記仮想リンクの接続状態を管理する経路設定情報を保持し、
前記経路設定情報に基づいて、前記仮想ノード間のデータの送受信を制御し、
前記方法は、
前記ネットワーク管理部が、第1の物理ノードの前記計算機リソースを用いてサービスを実行する第1の仮想ノードを第2の物理ノードに移行させる場合に、前記第2の物理ノードに前記第1の仮想ノードに割り当てる前記計算機リソースの確保指示を送信する第1のステップと、
前記ネットワーク管理部が、前記仮想ネットワーク上において、前記第1の仮想ノードと前記仮想リンクを介して接続される第3の仮想ノードに前記計算機リソースを割り当てる第3の物理ノードを特定する第2のステップと、
前記ネットワーク管理部が、前記リンク管理部に対して、前記第2の物理ノードと前記第3の物理ノードとを接続する前記物理リンク上に、前記第1の仮想ノードと前記第3の仮想ノードとを接続する前記仮想リンクを実現するための通信経路の生成指示を送信する第3のステップと、
前記リンク管理部が、前記通信経路の生成指示に基づいて、前記第2の物理ノードと前記第3の物理ノードとを接続する前記物理リンク上に前記通信経路を生成する第4のステップと、
前記ノード管理部が、前記第2の物理ノードによって確保された前記計算機リソースを用いて前記第1の仮想ノードが実行するサービスを開始する第5のステップと、
前記ネットワーク管理部が、前記リンク管理部に前記仮想リンクの切替指示を送信する第6のステップと、
前記リンク管理部が、前記生成された通信経路を前記仮想リンクとして切り替える第7のステップと、を含み、
前記第4のステップは、
前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードから前記第3の仮想ノードへのデータの送信を許可し、前記第3の仮想ノードから前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードへのデータの送信を停止するように設定された前記通信経路を生成するステップと、
前記経路設定情報に、前記生成された通信経路の識別情報とデータの送信許可を示す情報とを対応づけた設定情報を追加するステップと、を含み、
前記第7のステップでは、前記仮想リンクの切替指示を受信した場合に、前記第3の仮想ノードから前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードへのデータの送信を許可するように、前記経路設定情報に追加された設定情報を更新することを特徴とする仮想ノードのマイグレーション方法。
【請求項7】
請求項6に記載の仮想ノードのマイグレーション方法であって、
前記方法は、
前記ネットワーク管理部が、前記ノード管理部に、前記第1の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードが実行するサービスの停止条件を送信するステップと、
前記ノード管理部が、前記受信したサービス停止条件を満たすか否かを判定する判定処理を実行するステップと、
前記ノード管理部が、前記受信したサービス停止条件を満たすと判定された場合に、前記第1の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードが実行するサービスを停止するステップと、を含むことを特徴とする仮想ノードのマイグレーション方法。
【請求項8】
請求項7に記載の仮想ノードのマイグレーション方法であって、
前記サービス停止条件は、前記第3の物理ノードから前記仮想リンクの切替完了通知の受信であることを特徴とする仮想ノードのマイグレーション方法。
【請求項9】
請求項8に記載の仮想ノードのマイグレーション方法であって、
前記方法は、
前記ノード管理部が、前記第1の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードが実行するサービスを停止した後に、前記第1の仮想ノードに割り当てられていた前記第1の物理ノードの計算機リソースを解放するステップを含むことを特徴とする仮想ノードのマイグレーション方法。
【請求項10】
請求項6に記載の仮想ノードのマイグレーション方法であって、
前記物理ノードは、前記ノード管理部及び前記リンク管理部を含み、
前記第4のステップは、
前記第2の物理ノードの前記リンク管理部及び前記第3の物理ノードの前記リンク管理部が、前記通信経路を生成するステップと、
前記第2の物理ノードのリンク管理部が、前記通信経路を介した、前記データの送受信を許可する第1の設定情報を前記経路設定情報に追加するステップと、
前記第3の物理ノードのリンク管理部が、前記通信経路を介した、前記データの受信を許可し、かつ、前記データの送信を停止する第2の設定情報を前記経路設定情報に追加するステップと、
前記第3の物理ノードが、前記生成された通信経路を介して、前記第2の物理ノードに前記通信経路が生成されたことを通知する第1の制御情報を送信するステップと、
を含み、
前記第5のステップは、
前記第2の物理ノードの前記ノード管理部が、前記第1の制御情報を受信した後に、前記確保された計算機リソースを前記第1の仮想ノードに割り当てて、前記第1の仮想ノードが実行するサービスを開始するステップと、
前記第2の物理ノードのノード管理部が、前記第3の物理ノードに、前記通信経路を介して、前記第1の仮想ノードが実行するサービスが開始したことを通知する第2の制御情報を送信するステップと、
を含み、
前記第7のステップは、前記第3の物理ノードのリンク管理部が、前記第2の制御情報を受信した後に、前記通信経路を介した、前記データの送信を許可するように前記第2の設定情報を変更することによって、前記仮想リンクを切り替えるステップを含む、ことを特徴とする仮想ノードのマイグレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想ネットワークを構成する仮想ノードのマイグレーション方式に関する。
【背景技術】
【0002】
近年、ネットワークを介して、インターネット及び電話、モバイル、企業網等の種々のサービスが提供されている。異なるサービスに対応したネットワークを実現し、各サービスに必要な機能を提供するために、物理的なネットワーク上に、複数の仮想ネットワーク(スライス)を生成する仮想化ネットワーク技術が用いられている。
【0003】
仮想ネットワークを構築するためには、インフラとなる物理ネットワークを構成するノードが、仮想ネットワークの特有の処理を実現する機能を有する必要がある。
【0004】
前述した機能は、スライス毎に異なるため、前述した機能はプログラム処理(汎用サーバやネットワークプロセッサ上のプログラム)によって実現する方式が多く用いられている。
【0005】
仮想ネットワーク技術では、仮想ネットワークの構成と、物理ネットワークの構成とが分離されている。そのため、仮想ネットワークを構成するノード(仮想ノード)は、当該仮想ノードに必要な計算機リソース(CPU、メモリ及びネットワーク帯域等)及び性能(ネットワークレイテンシ等)が確保できるならば、いずれの物理ノードにも配置することができる。また、仮想ネットワークにおけるリンクに関しても同様に、仮想的なリンクがどの物理リンクを経由するかを自由に設定できる。
【0006】
また、仮想ネットワークの管理者の要求に基づいて、特定の物理ノード及び物理リンクを指定して仮想ノードを配置することも可能である。
【0007】
また、仮想ネットワーク技術では、仮想ネットワーク上におけるアドレス及びパケット構成が、物理ネットワーク上のアドレス等に影響を与えることを回避する必要がある。
【0008】
そのため、VLANを用いて仮想ネットワークを分離し、GRE及びMac−in−Macを用いて仮想ネットワーク上のパケットをカプセリングして、仮想ネットワークにおけるパケットを、物理ネットワークとは分離する必要がある。
【0009】
カプセリング方式を用いた場合、仮想ネットワーク上では、既存のIP通信に依存しない、自由なパケット形式の通信が可能となる。
【0010】
広域なネットワーク上において仮想ネットワークを実現する場合、管理体系が異なるネットワークをまたがって、仮想ネットワークを実現する必要がある。例えば、異なる通信事業者をまたがった仮想ネットワーク、及び複数の国をまたがった仮想ネットワークなどが考えられる。
【0011】
以下では、物理ネットワークにおけるネットワークの管理単位をドメインと呼び、ドメインをまたがった仮想ネットワークを実現する処理をフェデレーションと呼ぶ。
【0012】
フェデレーションは、複数のドメインにおける管理サーバが連携して、単一のドメインの場合と同様に、仮想ネットワークの管理者が要求する仮想ネットワークを構成し、サービスを提供する処理である。
【0013】
前述したように仮想ノードは、物理ノードに自由に配置することができるが、何らかの事情によって、仮想ノードの配置を変更する必要がある。すなわち、仮想ノードのマイグレーション処理を実行するが発生する。
【0014】
例えば、仮想ノードに割り当てる計算機リソース量を追加する場合に、物理ノードの計算機リソースに余裕がない場合には、計算機リソース量に余裕のある他の物理ノードに移行させ、また、ネットワーク的に近い物理ノードに移動させる必要がある。
【0015】
仮想ノードのマイグレーション処理では、仮想ネットワークにおいてシームレスであることが望ましい。すなわち、仮想ネットワークの構成を変更することなく、仮想ノードを配置する物理ノードを変更する必要がある。
【0016】
さらに、マイグレーション処理の実行時に仮想ネットワークにおけるサービスを継続する必要がある。すなわち、仮想ネットワーク上のサービス利用者から見て、サービスを停止することなく、ノードをマイグレーションする必要がある。サーバ間で仮想マシン(VM)をライブマイグレーションさせる技術がいくつか製品化されているが、本技術では、VMを移動させる際に、ごく短期間(0.5秒程度)VMの動作が中断する時間がある。仮想ネットワークのノードへの適用を考えた場合、ネットワーク通信中断されることは容認できない。したがってVMライブマイグレーションを使用せずに、仮想ノードのマイグレーションを実現する必要がある。
【先行技術文献】
【非特許文献】
【0017】
【非特許文献1】Pisa ,P.、外7名、「オープンフロー アンド ゼンベースド バーチャル ネットワーク マイグレーション(Openflow and Xen−based Virtual Network Migration)」、Wireless in Developing Countries and Networks of the Future、volume 327 of IFIP Advances in Information and Communication Technology、p.170−181、Springer Boston.
【発明の概要】
【発明が解決しようとする課題】
【0018】
非特許文献1の図3には、オープンフロースイッチによって構成された仮想ネットワークにおけるマイグレーション方式が記載されている。通信中も仮想ネットワークにおける通信を継続するために、フロー(片方向)が経由するオープンフロースイッチに対して、下記三つのステップで設定を実施し、マイグレーション処理を実施する。
(1)追加された新規ノードと、新規ノードからのフローが既存経路と合流するノードとに、新規ノードを経由するフローに対する定義を追加する。
(2)既存経路から、新規ノードへ分岐するノードのフローの定義を、新しいフローに変更する。
(3)フローが経由しなくなった古いノードの定義を削除する。
【0019】
前述した構成によって、オープンフロースイッチを経由するフローの通信中に、ステップ(2)の処理によって経路情報が変更されることによって、通信を中断することなく、フローが新しい経路を経由することができる。
【0020】
しかし、前述した従来技術では、仮想ノードがオープンフロースイッチ上に配置されることが前提である。したがって、汎用サーバ及びネットワークプロセッサ上のプログラムを用いて仮想ノードを実現する場合には、前述した従来技術を適用するのは困難である。
【0021】
さらに、従来技術では、各オープンフロースイッチは、単一のコントローラによって制御されているため、単一のドメイン内のネットワークを前提としている。したがって、複数のドメインをまたがったマイグレーション処理には適用できない。
【0022】
本発明は、前述した課題を鑑みてなされた発明である。すなわち、本発明は、複数のドメインをまたがった仮想ネットワークにおいて、仮想ノードが実行するサービスを中断することなく、かつ、迅速に当該仮想ノードの配置先を変更するマイグレーション処理を実現するネットワークシステムを提供することである。
【課題を解決するための手段】
【0023】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、計算機リソースを有する複数の物理ノードから構成されるネットワークシステムであって、前記物理ノードは、物理リンクを介して、他の前記物理ノードと接続され、前記ネットワークシステムには、前記物理ノードが有する計算機リソースが割り当てられ、所定のサービスを実行する複数の仮想ノードから構成される仮想ネットワークが構成され、前記ネットワークシステムは、前記仮想ノードを管理するネットワーク管理部と、前記物理ノードを管理するノード管理部と、前記物理ノード間を接続する前記物理リンク及び前記仮想ノード間を接続する仮想リンクの接続を管理するリンク管理部と、を備え、前記ネットワーク管理部は、前記仮想ノードと、前記仮想ノードに前記計算機リソースを割り当てる前記物理ノードとの対応を示すマッピング情報と、前記仮想リンクを管理する仮想ノード管理情報と、を保持し、前記リンク管理部は、前記仮想リンクの接続状態を管理する経路設定情報を保持し、前記経路設定情報に基づいて、前記仮想ノード間のデータの送受信を制御し、前記ネットワークシステムは、第1の物理ノードの前記計算機リソースを用いてサービスを実行する第1の仮想ノードを第2の物理ノードに移行させる場合に、前記ネットワーク管理部が、前記第2の物理ノードに前記第1の仮想ノードに割り当てる前記計算機リソースの確保指示を送信し、前記ネットワーク管理部が、前記仮想ネットワーク上において、前記第1の仮想ノードと前記仮想リンクを介して接続される第3の仮想ノードに前記計算機リソースを割り当てる第3の物理ノードを特定し、前記ネットワーク管理部が、前記リンク管理部に対して、前記第2の物理ノードと前記第3の物理ノードとを接続する前記物理リンク上に、前記第1の仮想ノードと前記第3の仮想ノードとを接続する前記仮想リンクを実現するための通信経路の生成指示を送信し、前記リンク管理部が、前記通信経路の生成指示に基づいて、前記第2の物理ノードと前記第3の物理ノードとを接続する前記物理リンク上に、前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードから前記第3の仮想ノードへのデータの送信を許可し、前記第3の仮想ノードから前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードへのデータの送信を停止するように設定された前記通信経路を生成し、前記リンク管理部が、前記経路設定情報に、前記生成された通信経路の識別情報とデータの送信許可を示す情報とを対応づけた設定情報を追加し、前記ノード管理部が、前記第2の物理ノードによって確保された前記計算機リソースを用いて前記第1の仮想ノードが実行するサービスを開始し、前記ネットワーク管理部が、前記リンク管理部に前記仮想リンクの切替指示を送信し、前記リンク管理部が、前記仮想リンクの切替指示を受信した場合に、前記第3の仮想ノードから前記第2の物理ノードの計算機リソースが割り当てられた前記第1の仮想ノードへのデータの送信を許可するように、前記経路設定情報に追加された設定情報を更新することによって前記生成された通信経路を前記仮想リンクとして切り替えることを特徴とする。
【発明の効果】
【0024】
本発明の一側面によれば、予め移行先の物理ノードにおいて仮想ノードのサービスを起動し、また、予め隣接仮想ノードのサービスを実行する物理ノードとの間に仮想リンクを実現するための通信経路を生成することによって、仮想ノードが実行するサービスを中断することなく、かつ、迅速に仮想ノードを他の物理ノードに移行することができる。
【図面の簡単な説明】
【0025】
図1】本発明の実施例におけるネットワークシステムの構成例を示す説明図である。
図2】本発明の実施例1における仮想ネットワーク(スライス)の構成例を示す説明図である。
図3】本発明の実施例1における物理ネットワークの構成例を示す説明図である。
図4】本発明の実施例1におけるマッピング情報の一例を示す説明図である。
図5】本発明の実施例1における仮想ノード管理情報の一例を示す説明図である。
図6】本発明の実施例1における物理ノードの構成例を示す説明図である。
図7A】本発明の実施例1におけるパケットの形式の一例を示す説明図である。
図7B】本発明の実施例1におけるパケットの形式の一例を示す説明図である。
図8】本発明の実施例1における経路設定情報の一例を示す説明図である。
図9A】本発明の実施例1におけるマイグレーション処理の流れを説明するシーケンス図である。
図9B】本発明の実施例1におけるマイグレーション処理の流れを説明するシーケンス図である。
図10A】本発明の実施例1のマイグレーション処理の実行時におけるドメイン15内の状態を示す説明図である。
図10B】本発明の実施例1のマイグレーション処理の実行時におけるドメイン15内の状態を示す説明図である。
図10C】本発明の実施例1のマイグレーション処理の実行時におけるドメイン15内の状態を示す説明図である。
図11A】本発明の実施例1における経路設定情報の一例を示す説明図である。
図11B】本発明の実施例1における経路設定情報の一例を示す説明図である。
図12A】本発明の実施例1におけるGRE変換装置内の通信経路の接続状態を示す説明図である。
図12B】本発明の実施例1におけるGRE変換装置内の通信経路の接続状態を示す説明図である。
図13】本発明の実施例2における物理ネットワークの構成例を示す説明図である。
図14A】本発明の実施例2におけるマイグレーション処理の流れを説明するシーケンス図である。
図14B】本発明の実施例2におけるマイグレーション処理の流れを説明するシーケンス図である。
図15A】本発明の実施例2のマイグレーション処理の実行時におけるドメイン15内の状態を示す説明図である。
図15B】本発明の実施例2のマイグレーション処理の実行時におけるドメイン15内の状態を示す説明図である。
図15C】本発明の実施例2のマイグレーション処理の実行時におけるドメイン15内の状態を示す説明図である。
図16A】本発明の実施例3におけるマイグレーション処理の流れを説明するシーケンス図である。
図16B】本発明の実施例3におけるマイグレーション処理の流れを説明するシーケンス図である。
【発明を実施するための形態】
【0026】
まず、本発明の前提となるネットワークシステムの構成例について説明する。
【0027】
図1は、本発明の実施例におけるネットワークシステムの構成例を示す説明図である。
【0028】
本発明では、物理ネットワーク10上に、複数の異なる仮想ネットワーク20が構築されている。
【0029】
物理ネットワーク10は、複数の物理ノード100から構成され、各物理ノード100は、所定のネットワーク回線を介して互いに接続される。
【0030】
なお、本発明はネットワーク回線の種別に限定されず、WAN、LAN及びSAN等のいずれを用いてもよい。また、本発明はネットワーク回線の接続方式に限定されず、有線又は無線いずれであってもよい。
【0031】
仮想ネットワーク20は、複数の仮想ノード200から構成され、各仮想ノード200は、仮想的なネットワーク回線を介して互いに接続される。また、仮想ノード200は、仮想ネットワーク20上で所定のサービスを実行する。
【0032】
ここで、仮想ノード200は、物理ノード100が備える計算機リソースを用いて実現される。したがって、一つの物理ノード100が、異なる仮想ネットワーク20を構成する仮想ノード200を提供することも可能である。
【0033】
また、仮想ネットワーク20は、それぞれ、異なった通信プロトコルを用いたネットワークであってもよい。
【0034】
これによって、物理ネットワーク10上に、独自のネットワークを自由に構築できる。また、既存の計算機リソースを有効に活用することができため、導入コストを低く抑えることができる。
【0035】
なお、本明細書では仮想ネットワークをスライスとも記載する。
【実施例1】
【0036】
図2は、本発明の実施例1における仮想ネットワーク(スライス)20の構成例を示す説明図である。
【0037】
本実施例では、スライス20は、仮想ノードA(200−1)、仮想ノードB(200−2)及び仮想ノードC(200−3)から構成される。仮想ノードA(200−1)と仮想ノードC(200−3)とは、仮想リンク250−1を介して接続され、仮想ノードB(200−2)と仮想ノードC(200−3)とは、仮想リンク250−2を介して接続される。
【0038】
以下の説明では、仮想ノードC(200−3)がマイグレーション対象の仮想ノードであるものとする。なお、図2では、説明の簡単のため単純な構成の仮想ネットワーク(スライス)20を示しているが、より複雑な構成の仮想ネットワーク(スライス)20でも、以下で説明する処理を実現できる。
【0039】
(システム構成)
図3は、本発明の実施例1における物理ネットワーク10の構成例を示す説明図である。
【0040】
実施例1では、一つのドメイン15から構成される物理ネットワーク10を例に説明する。
【0041】
物理ネットワーク10を構成するドメイン15には、ドメイン管理サーバ300及び複数の物理ノード100を含む。本実施例では、ドメイン15内の物理ノード100を用いて図2に示すようなスライス20が提供されているものとする。
【0042】
ドメイン管理サーバ300は、ドメイン15内の物理ノード100を管理する計算機である。ドメイン管理サーバ300は、CPU310、主記憶装置320、ストレージ330及びNIC340を備える。
【0043】
CPU310は、主記憶装置320に格納されるプログラムを実行する。CPU310がプログラムを実行することによって、ドメイン管理サーバ300が有する機能を実現することができる。なお、ドメイン管理サーバ300は、複数のCPU310を備えていてもよい。
【0044】
主記憶装置320は、CPU310によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。主記憶装置320は、例えば、メモリなどが考えられる。
【0045】
主記憶装置320は、ドメイン管理部321を実現するプログラム(図示省略)を格納する。また、主記憶装置320は、ドメイン管理部321によって用いられる情報として、マッピング情報322及び仮想ノード管理情報323を格納する。
【0046】
ドメイン管理部321は、物理ノード100及び仮想ノード200を管理する。本実施例では、ドメイン管理部321によって、仮想ノード200のマイグレーション処理が実行される。
【0047】
マッピング情報322は、ドメイン15内の物理ノード100と仮想ノード200との対応関係を管理する情報である。マッピング情報322の詳細については、図4を用いて後述する。仮想ノード管理情報323は、仮想ノード200の設定情報である。仮想ノード管理情報323の詳細については、図5を用いて後述する。
【0048】
なお、仮想ノード管理情報323は、各物理ノード100が保持しており、ドメイン管理サーバ300は、ドメイン15内の各物理ノード100から仮想ノード管理情報323を取得することができる。
【0049】
ストレージ330は、各種データを格納する。ストレージ330は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。
【0050】
なお、ドメイン管理部321を実現するプログラム、マッピング情報322及び仮想ノード管理情報323は、ストレージ330に格納されていてもよい。この場合、CPU310が、ストレージ330から読み出し、読み出されたプログラム及び情報を主記憶装置320にロードする。
【0051】
NIC340は、ネットワーク回線を介して他の装置と接続するためのインタフェースである。本実施例では、NIC340に接続される物理リンク500−1、500−2、500−3、500−4を介して、各物理ノード100と接続される。より具体的には、ドメイン管理サーバ300は、物理リンク500を介して、各物理ノード100のノード管理部190と通信可能なように接続される。
【0052】
なお、ドメイン管理サーバ300は、物理ノード100が備えるノード管理部190と接続するための管理インタフェースを備えていてもよい。
【0053】
物理ノード100は、スライス20を構成する仮想ノード200に計算機リソースを提供する。また、各物理ノード100は、物理リンク400を介して互いに接続される。具体的には、物理ノードA(100−1)と物理ノードC(100−3)とは物理リンク400−1を介して接続され、物理ノードC(100−3)と物理ノードB(100−2)とは物理リンク400−2を介して接続され、物理ノードA(100−1)と物理ノードD(100−4)とは物理リンク400−3を介して接続され、物理ノードB(100−2)と物理ノードD(100−4)とは物理リンク400−4を介して接続される。
【0054】
仮想ノード200は、いずれかの物理ノード100に配置される。本実施例では、仮想ノードA(200−1)が物理ノードA(100−1)上に、仮想ノードB(200−2)が物理ノードB(100−2)上に、仮想ノードC(200−3)が物理ノードC(100−3)に配置されているものとする。
【0055】
物理ノード100は、リンク管理部160及びノード管理部190を備える。リンク管理部160は、物理ノード100間を接続する物理リンク400及び仮想リンク250を管理する。ノード管理部190は、物理ノード100全体を管理する。また、物理ノード100は、仮想計算機(VM)110を実現する仮想管理部(図6参照)も備える。
【0056】
本実施例では、VM110は、仮想ノード200を実現するための各種機能を提供する。具体的には、VM110は、仮想ノード200のプログラマブルな機能を提供する。例えば、VM110は、通信プロトコルの変換機能を実現するためのプログラムを実行する。
【0057】
本実施例では、VM_A(110−1)によって仮想ノードA(200−1)の機能が提供され、VM_B(110−2)によって仮想ノードB(200−2)の機能が提供され、VM_C(110−3)によって仮想ノードC(200−3)の機能が提供される。
【0058】
なお、本実施例では、VM110が仮想ノード200の機能を提供しているが、本発明はこれに限定されない。例えば、ネットワークプロセッサ、GPU又はFPGA等を用いて仮想ノード200の機能が提供されてもよい。
【0059】
仮想ノード200が配置された物理ノード100間を接続する物理リンク400には、仮想リンク250を実現するためにGREトンネル600が生成される。なお、本発明は、GREトンネル600を用いて仮想リンク250を実現する方法に限定されない。例えば、Mac−in−Mac又はVLAN等を用いて仮想リンク250を実現してもよい。
【0060】
具体的には、物理リンク400−1には、仮想リンク250−1を構成するGREトンネル600−1、600−2が生成され、物理リンク400−2には、仮想リンク250−2を構成するGREトンネル600−3、600−4が生成される。
【0061】
なお、一つのGREトンネル600は、単方向通信をサポートする。そのため、本実施例では、仮想ノード200間の双方向通信をサポートするために、二つのGREトンネル600が生成される。
【0062】
図4は、本発明の実施例1におけるマッピング情報322の一例を示す説明図である。
【0063】
マッピング情報322は、仮想ノード200と当該仮想ノード200の機能を提供するVM110が稼働する物理ノード100との対応関係を示す情報を格納する。具体的には、マッピング情報322は、仮想ノードID710、物理ノードID720及びVM_ID730を含む。なお、マッピング情報322には、その他の情報が含まれてもよい。
【0064】
仮想ノードID710は、仮想ノード200を一意に識別するための識別子を格納する。物理ノードID720は、物理ノード100を一意に識別するための識別子を格納する。VM_ID730は、VM110を一意に識別するための識別子を格納する。
【0065】
図5は、本発明の実施例1における仮想ノード管理情報323の一例を示す説明図である。
【0066】
仮想ノード管理情報323は、各物理ノード100に配置された仮想ノード200を管理するための各種情報を格納する。本実施例では、仮想ノード管理情報323は、XML形式の情報であるものとする。また、一つの仮想ノード200に一つの仮想ノード管理情報323が存在するものとする。一般に、物理ノード100は、複数の仮想ノード管理情報323を持つ。
【0067】
仮想ノード管理情報323は、属性810及び仮想リンク情報820を含む。なお、仮想ノード管理情報323には、その他の情報が含まれてもよい。
【0068】
属性810は、仮想ノード200の属性を示す情報を格納する。例えば、仮想ノード200上で実行されるプログラムの識別情報等が格納される。
【0069】
仮想リンク情報820は、物理ノード100に配置された仮想ノード200を接続する仮想リンク250の情報が格納される。仮想リンク情報820には、例えば、仮想リンク250の識別情報、及び仮想リンク250を介して接続される他の仮想ノード200の識別情報が格納される。
【0070】
図5に示す例では、仮想ノードC(200−3)の仮想ノード管理情報323を表す。当該仮想ノード管理情報323には、物理ノードC(100−3)に配置される仮想ノードC(200−3)を接続する仮想リンク250−1の仮想リンク情報820−1及び仮想リンク250−2の仮想リンク情報820−2が含まれる。
【0071】
なお、本発明は、仮想ノード管理情報323のデータ形式に限定されず、テーブル形式等の異なるデータ形式であってもよい。
【0072】
図6は、本発明の実施例1における物理ノード100の構成例を示す説明図である。図6では、物理ノードC(100−3)を例に説明するが、物理ノードA(100−1)、物理ノードB(100−2)及び物理ノードD(100−4)も同一の構成である。
【0073】
物理ノードC(100−3)は、複数のサーバ900、ノード内スイッチ1000及びGRE変換装置1100から構成される。また、物理ノードC(100−3)内では、VLANが構成される。
【0074】
サーバ900は、CPU910、主記憶装置920、NIC930及びストレージ940を備える。
【0075】
CPU910は、主記憶装置920に格納されるプログラムを格納する。CPU910がプログラムを実行することによって、サーバ900が備える機能を実現できる。主記憶装置920は、CPU910によって実行されるプログラム及び当該プログラムの実行に必要が情報を格納する。
【0076】
NIC930は、ネットワーク回線を介して他の装置と接続するためのインタフェースである。ストレージ940は、各種情報を格納する。
【0077】
本実施例では、物理ノード100には、ノード管理部931を備えるサーバ900と、仮想化管理部932を備えるサーバ900とが含まれる。なお、CPU910が、主記憶装置920に格納される所定のプログラムを実行することによって、ノード管理部931及び仮想化管理部932が実現される。
【0078】
以下では、ノード管理部931及び仮想化管理部932を主語にして説明する場合、CPU910によってノード管理部931及び仮想化管理部932を実現するプログラムが実行されていることを示す。
【0079】
ノード管理部931は、ノード管理部190と同一のものである。なお、ノード管理部931は、自身の物理ノード100に配置された仮想ノード200を管理するために、仮想ノード管理情報323を保持する。
【0080】
仮想化管理部932は、計算機リソースを用いてVM110を生成し、また、生成されたVM110を管理する。仮想化管理部932は、例えば、ハイパバイザ等が考えられる。なお、VM110の生成方法及び管理方法は、公知であるため詳細な説明を省略する。
【0081】
なお、ノード管理部931が稼働するサーバ900は、管理用ネットワークを介して、ノード内スイッチ1000及びGRE変換装置1100と接続し、また、物理リンク500−3を介して、ドメイン管理サーバ300と接続する。また、仮想化管理部932が稼働するサーバ900は、内部のデータネットワークを介して、ノード内スイッチ1000と接続する。
【0082】
ノード内スイッチ1000は、物理ノードC(100−3)内の各サーバ900及びGRE変換装置1100を接続する。また、ノード内スイッチ1000は、VLANを管理する機能を備え、VLAN内のパケットの転送処理を実行する。なお、ノード内スイッチ1000の構成は公知であるため詳細な説明は省略するが、例えば、ノード内スイッチ1000は、スイッチ転送部(図示省略)及び一つ以上のポートを有するI/Oインタフェース(図示省略)を備える。
【0083】
GRE変換装置1100は、リンク管理部160に対応するものであり、物理ノード100間の接続を管理する。GRE変換装置1100は、GREトンネル600を生成し、当該GREトンネル600を介して、他の物理ノード100と通信する。なお、GRE変換装置1100は、CPU(図示省略)、メモリ(図示省略)及びネットワークインタフェース等の計算機リソースを備える。
【0084】
なお、本実施例では、GREトンネル600を用いて仮想リンク250を実現しているため、GRE変換装置1100を用いているが本発明はこれに限定されない。仮想リンク250を実現するためのプロトコルを適用したルータ及びアクセスゲートウェイ装置等を用いてもよい。
【0085】
GRE変換装置1100は、経路設定情報1110を保持する。経路設定情報1110は、仮想ノード200と通信するためのGREトンネル600の接続関係を示す情報である。GRE変換装置1100は、経路設定情報1110を用いて、仮想ノード200への接続を切り替えることができる。なお、経路設定情報1110の詳細については、図8を用いて後述する。
【0086】
GRE変換装置1100は、他の物理ノード100上に稼働するVM110にパケットを送信する場合、GREヘッダを付与することによって、物理ノード100内のパケットをカプセル化し、カプセル化されたパケットを送信する。また、GRE変換装置1100は、他の物理ノード100上に稼働するVM110からパケットを受信する場合、GREヘッダを削除して、VLAN上のMac−in−Macパケットに変換し(デカプセル化し)、変換されたパケットを物理ノード100内のVM110に転送する。
【0087】
ここで、物理ノード100間において送受信されるパケットの形式について説明する。
【0088】
図7A及び図7Bは、本発明の実施例1におけるパケットの形式の一例を示す説明図である。図7Aは、データパケット1200のパケット形式を示し、図7Bは、制御パケット1210のパケット形式を示す。
【0089】
データパケット1200は、GREヘッダ1201、パケット種別1202及び仮想ネットワークパケット1203から構成される。
【0090】
GREヘッダ1201は、GREヘッダを格納する。パケット種別1202は、パケットの種別を示す情報を格納する。データパケット1200の場合、パケット種別1202には「データ」が格納される。仮想ネットワークパケット1203は、仮想ネットワーク、すなわち、スライス20において送受信されるパケットを格納する。
【0091】
制御パケット1210は、GREヘッダ1211、パケット種別1212及び制御情報1213から構成される。
【0092】
GREヘッダ1211及びパケット種別1212は、GREヘッダ1201及びパケット種別1202と同一のものである。なお、パケット種別1212には「制御」が格納される。制御情報1213は、各種制御処理に必要な命令及び情報等を格納する。
【0093】
なお、データパケット1200は、仮想ノード200の機能を提供するVM110間で送受信され、制御パケット1210は、各物理ノード100内のノード管理部931が稼働するサーバ900感で送受信される。
【0094】
GRE変換装置1100は、他の物理ノード100上で稼働するVM110からパケットを受信した場合、パケット種別1202、1212を参照して、受信したパケットの種別を特定する。受信したパケットが制御パケット1210の場合、GRE変換装置1100は、制御情報1213に格納される情報に基づいて、制御処理を実行する。一方、受信したパケットがデータパケット1200の場合、GRE変換装置1100は、デカプセル化したパケットを所定のサーバ900に転送する。
【0095】
また、GRE変換装置1100は、他の物理ノード100上で稼働するVM110にデータパケット1200を送信する場合、経路設定情報1110に基づいて、カプセル化したパケットを送信する。GRE変換装置1100は、ドメイン管理サーバ300又は他の物理ノード100に制御パケット1210を送信する場合、GREトンネル600を介して、カプセル化したパケットを送信する。
【0096】
図8は、本発明の実施例1における経路設定情報1110の一例を示す説明図である。図8では、物理ノードA(100−1)のGRE変換装置1100が備える経路設定情報1110を例に説明する。
【0097】
経路設定情報1110は、通信方向1310及び通信可否1320を含む。
【0098】
通信方向1310は、VM110間の通信方向を示す情報を格納する。すなわち、GREトンネル600の通信方向を示す情報が格納される。
【0099】
具体的には、通信方向1310には、送信元のVM110及び送信先のVM110の識別情報が格納される。なお、図8に示す例では、矢印を用いて通信方向を表しているが、本発明はこれに限定されず、送信元のVM110と送信先のVM110とが識別可能であればどのようなデータ形式であってもよい。
【0100】
通信可否1320は、通信方向1310に対応するVM110間の通信を接続するか否かを示す情報が格納される。本実施例では、VM110間の通信を接続する場合、通信可否1320には「OK」が格納され、VM110間の通信を接続しない場合、通信可否1320には「NO」が格納される。
【0101】
(マイグレーション処理)
以下では、物理ノードC(100−3)から物理ノードD(100−4)への仮想ノードC(200−3)のマイグレーション処理について、図9A図9B図10A図10B図10C図11A図11B図12A及び図12Bを用いて説明する。
【0102】
図9A及び図9Bは、本発明の実施例1におけるマイグレーション処理の流れを説明するシーケンス図である。図10A図10B及び図10Cは、本発明の実施例1のマイグレーション処理の実行時におけるドメイン15内の状態を示す説明図である。図11A及び図11Bは、本発明の実施例1における経路設定情報1110の一例を示す説明図である。図12A及び図12Bは、本発明の実施例1におけるGRE変換装置1100内の通信経路の接続状態を示す説明図である。
【0103】
本実施例では、ドメイン管理サーバ300を操作する管理者によって、マイグレーション対象の仮想ノードC(200−3)の識別子とともに、処理開始の要求が入力されたものとする。なお、本発明は、マイグレーション処理が開始されるタイミングに限定されない。例えば、VM110の負荷が閾値以上になった場合等に実行されてもよい。
【0104】
ドメイン管理サーバ300は、まず、マイグレーション処理に必要な計算機リソースを確保し、また、マイグレーション処理時に用いられる情報を設定する。具体的には、ステップS101からステップS106の処理が実行される。
【0105】
これは、スライス20上で実行されるサービスの停止を回避し、かつ、瞬時にVM110を切り替えるための準備処理である。
【0106】
ドメイン管理サーバ300は、物理ノードD(100−4)に、VM生成指示を送信する(ステップS101)。
【0107】
具体的には、ドメイン管理サーバ300は、物理ノードD(100−4)のノード管理部931に、VM_D(110−4)の生成指示を送信する。なお、VM生成指示には、VM_D(110−4)の各種設定情報が含まれる。VM110の設定情報は、例えば、VM_D(110−4)に割り当てるCPU及びメモリの割当量、起動OSイメージのパス名、並びに、仮想ノードC(200−3)が実行するサービスを提供するプログラム名等を含む。
【0108】
なお、ドメイン管理サーバ300は、VM_C(110−3)と同一の性能となるように生成指示を生成する。具体的には、ドメイン管理サーバ300は、VM_C(110−3)が稼働するサーバ900の仮想化管理部932から、VM_C(110−3)の設定情報を取得し、取得された設定情報に基づいて生成指示を生成する。
【0109】
ドメイン管理サーバ300は、物理ノードA(100−1)及び物理ノードD(100−4)に、仮想リンク生成指示を送信する(ステップS102、ステップS103)。また、ドメイン管理サーバ300は、同様に、物理ノードB(100−2)及び物理ノードD(100−4)に、仮想リンク生成指示を送信する(ステップS104、ステップS105)。具体的には、以下のような処理が実行される。
【0110】
ドメイン管理サーバ300は、マッピング情報322を参照して、仮想ノードC(200−3)が配置される物理ノードC(100−3)を特定する。
【0111】
次に、ドメイン管理サーバ300は、物理ノードC(100−3)の仮想ノード管理情報323を参照して、仮想リンク250−1、250−2によって接続される仮想ノードA(200−1)及び仮想ノードB(200−2)を特定する。
【0112】
さらに、ドメイン管理サーバ300は、マッピング情報322を参照して、仮想ノードA(200−1)が配置される物理ノードA(100−1)を特定し、仮想ノードB(200−2)が配置される物理ノードB(100−2)を特定する。
【0113】
次に、ドメイン管理サーバ300は、仮想ノード200間の接続関係を確認し、仮想ノードC(200−3)に対する隣接仮想ノード200を特定する。本実施例では、スライス20上の接続関係において、仮想ノードC(200−3)から1ホップで接続される仮想ノード200を隣接仮想ノード200とする。したがって、本実施例では、仮想ノードA(200−1)及び仮想ノードB(200−2)が、仮想ノードC(200−3)に対する隣接仮想ノード200となる。なお、ホップ数は任意に設定することができる。
【0114】
さらに、ドメイン管理サーバ300は、隣接仮想ノード200が配置された物理ノードA(100−1)及び物理ノードB(100−2)を隣接物理ノード100として特定する。
【0115】
ドメイン管理サーバ300は、物理ノードA(100−1)及び物理ノードD(100−4)との間に仮想リンク250−1の生成指示を送信する。また、ドメイン管理サーバ300は、物理ノードB(100−2)及び物理ノードD(100−4)との間に仮想リンク250−2の生成指示を送信する。
【0116】
なお、仮想リンク生成指示には、仮想リンク250の設定情報が含まれる。仮想リンク250の設定情報は、例えば、帯域、接続に必要なGREキー、及びIPアドレス等を含む。
【0117】
以上が、ステップS102、ステップS103、ステップS104及びステップS105の処理である。
【0118】
さらに、ドメイン管理サーバ300は、物理ノードC(100−3)に、VM停止条件を通知する(ステップS106)。
【0119】
ここで、VM停止条件とは、移行元の物理ノード100上で稼働するVM110を停止させるための条件を表す。物理ノードC(100−3)のノード管理部931は、VM停止条件を受信すると、当該停止条件が成立するか否かを判定するための判定処理を開始する。
【0120】
本実施例では、VM停止条件として、隣接物理ノード100、すなわち、物理ノードA(100−1)及び物理ノードB(100−2)から仮想リンク切替完了通知を受信した場合にVM_C(110−3)を停止する条件が設定されているものとする。すなわち、物理ノードC(100−3)のノード管理部931は、VM_A(110−1)が稼働する物理ノードA(100−1)及びVM_B(110−2)が稼働する物理ノードB(100−2)から、仮想リンク切替完了通知を受信するまで、VM_C(110−3)を停止させない。
【0121】
物理ノードD(100−4)は、VM生成指示を受信すると、当該VM生成指示に基づいて、所定のサーバ900上にVM_D(110−4)を生成する(ステップS107)。具体的には、以下のような処理が実行される。
【0122】
ノード管理部931は、VM_D(110−4)を生成するサーバ900を決定する。ノード管理部931は、決定されたサーバ900上で稼働する仮想化管理部932に、受信したVM生成指示を転送する。
【0123】
仮想化管理部932は、VM生成指示に基づいて、VM_D(110−4)を生成する。仮想化管理部932は、VM_D(110−4)の生成後、VM_D(110−4)の生成完了を通知する。なお、この時点では、生成されたVM_D(110−4)は起動されない。
【0124】
以上が、ステップS107の処理である。
【0125】
物理ノードA(100−1)及び物理ノードD(100−4)は、仮想リンク生成指示を受信すると、当該仮想リンク生成指示に基づいて、仮想リンク250−1を実現するためのGREトンネル600−5、600−6(図10A参照)を生成する(ステップS108)。具体的には、以下のような処理が実行される。
【0126】
物理ノードA(100−1)のノード管理部931は、ドメイン管理サーバ300から仮想リンク生成指示を受信すると、当該生成指示をGRE変換装置1100に転送する。また、物理ノードD(100−4)のノード管理部931は、ドメイン管理サーバ300から仮想リンク生成指示を受信すると、当該生成指示をGRE変換装置1100に転送する。
【0127】
物理ノードA(100−1)のGRE変換装置1100及び物理ノードD(100−4)のGRE変換装置1100は、GREトンネル600−5、600−6を生成する。なお、GREトンネル600の生成方法は公知の技術を用いればよいため説明を省略する。
【0128】
物理ノードA(100−1)のGRE変換装置1100は、図11Aに示すように、GREトンネル600−5、600−6に対応するエントリを経路設定情報1110に追加する。
【0129】
物理ノードA(100−1)のGRE変換装置1100は、GREトンネル600−5に対応するエントリの通信可否1320に「NO」を設定し、GREトンネル600−6に対応するエントリの通信可否1320に「OK」を設定する(図11A参照)。
【0130】
一方、物理ノードD(100−4)のGRE変換装置1100は、GREトンネル600−5、600−6に対応するエントリを経路設定情報1110に追加し、当該エントリの通信可否1320に「OK」を設定する。
【0131】
以上の処理によって、物理ノードA(100−1)と物理ノードD(100−4)との間には、VM_D(110−4)からVM_A(110−1)への単方向通信のみが可能な仮想リンク250が生成される。
【0132】
以上がステップS108の処理である。
【0133】
同様に、物理ノードB(100−2)及び物理ノードD(100−4)は、仮想リンク生成指示を受信すると、当該仮想リンク生成指示に基づいて、仮想リンク250−2を実現するためのGREトンネル600−7、600−8(図10A参照)を生成する(ステップS109)。
【0134】
この場合、物理ノードB(100−2)のGRE変換装置1100は、GREトンネル600−7に対応するエントリの通信可否1320に「NO」を設定し、GREトンネル600−8に対応するエントリの通信可否1320に「OK」を設定する。また、物理ノードD(100−4)のGRE変換装置1100は、GREトンネル600−7、600−8に対応するエントリの通信可否1320に「OK」を設定する。
【0135】
物理ノードA(100−1)のノード管理部931及び物理ノードB(100−2)のノード管理部931は、仮想リンク250を生成した後、ドメイン管理サーバ300に、計算機リソースを確保した旨の通知を送信する(ステップS110、ステップS111)。
【0136】
また、物理ノードD(100−4)のノード管理部931は、VM_D(110−4)を生成し、かつ、仮想リンク250を生成した後、ドメイン管理サーバ300に、計算機リソースを確保した旨の通知を送信する(ステップS112)。
【0137】
このとき、ドメイン管理サーバ300は、計算機リソースを確保した旨の通知に基づいて、マッピング情報322の更新情報及び仮想ノード管理情報323の更新情報を生成し、一時的に保持する。本実施例では、以下のような情報が生成される。
【0138】
ドメイン管理サーバ300は、仮想ノードC(200−3)に対応するエントリの物理ノードID720が物理ノードD(100−4)、VM_ID730がVM_D(110−4)である更新情報を生成する。また、ドメイン管理サーバ300は、物理ノードD(100−4)の仮想ノード管理情報323を生成する。なお、ドメイン管理サーバ300は、物理ノードD(100−4)から仮想ノード管理情報323を取得してもよい。
【0139】
図10Aは、ステップS112までの処理が実行された後のドメイン15内の状態を示す。
【0140】
図10Aに示すように、GREトンネル600−5、600−7は、点線で表示している。これは、GREトンネル600−5、600−7は存在するが、当該GREトンネル600を用いてパケットを送信できないことを示す。ここで、図12Aを用いて、物理ノードA(100−1)のGRE変換装置1100における通信経路の接続状態について説明する。
【0141】
図12Aに示すように、GRE変換装置1100は、VM_C(110−3)及びVM_D(110−4)の両方から受信したパケットをVM_A(110−1)に対する転送するように内部の通信経路を設定する。一方、GRE変換装置1100は、VM_A(110−1)から送信されるパケットをVM_C(110−3)のみに送信するように内部の通信経路を設定する。前述のように、GRE変換装置1100は、GREトンネル600−5に対してパケットが転送されないように制御する。
【0142】
図9Aの説明に戻る。
【0143】
次に、ドメイン管理サーバ300は、物理ノードD(100−4)に、VM_D(110−4)の起動指示を送信する(ステップS113)。具体的には、物理ノードD(100−4)のノード管理部931にVM_D(110−4)の起動指示が送信される。
【0144】
これによって、仮想リンク250が生成される前に、VM_D(110−4)が稼働することを防止できる。
【0145】
物理ノードD(100−4)のノード管理部931は、VM_D(110−4)の起動を仮想化管理部932に指示し(ステップS114)、ドメイン管理サーバ300にVM_D(110−4)の起動完了通知を送信する(ステップS115)。
【0146】
VM_D(110−4)を起動させることによって、仮想ノードC(200−3)が実行するサービスが開始された時点では、VM_C(110−3)及びVM_D(110−4)の両方が仮想ノードC(200−3)の機能を提供できる。しかし、この時点では、まだ、VM_C(110−3)によって提供される機能を用いる仮想ノードC(200−3)において、仕掛かり中のサービスが継続中である可能性がある。したがって、VM_C(110−3)が提供する機能を用いる仮想ノードC(200−3)が引き続きサービスを実行する。
【0147】
ただし、図10Aに示すように、VM_D(110−4)が提供する機能を用いる仮想ノードC(200−3)もサービスを開始しているため、仮想リンク250を切り替えてもサービスが停止することはない。なお、スライス20を使用しているユーザから見ると、一つの仮想ノードC(200−3)によってサービスが実行されているように認識される。
【0148】
なお、本実施例では、仮想ノードC(200−3)が実行するサービスがステートレスであるものとする。すなわち、サービスを実行する仮想ノードC(200−3)に機能を提供するVM110が切り替えられた場合であっても、各VM110は独立して処理を実行することができる。仮想ノードC(200−3)が実行するサービスがステートレスでない場合、移行元及び移行先のVM110間に共有ストレージを設置し、ステート情報を共有させることによって、サービスを継続することができる。
【0149】
ドメイン管理サーバ300は、VM_D(110−4)の起動完了通知を受信した後、隣接物理ノード100、すなわち、物理ノードA(100−1)及び物理ノードB(100−2)に仮想リンク切替指示を送信する(ステップS116、ステップS117)。なお、仮想リンク切替指示には、切替対象のGREトンネル600の識別情報が含まれる。
【0150】
物理ノードA(100−1)及び物理ノードB(100−2)は、仮想リンク切替指示を受信すると、仮想リンク250を切り替える(ステップS118、ステップS119)。具体的には、以下のような処理が実行される。
【0151】
ノード管理部931は、仮想リンク切替指示を受信すると、GRE変換装置1100に受信した仮想リンク切替指示を転送する。
【0152】
GRE変換装置1100は、受信した仮想リンク切替指示に含まれるGREトンネル600の識別情報に基づいて、経路設定情報1110を参照して、切替対象のGREトンネル600のエントリを特定する。ここでは、移行元のVM_C(110−3)と接続するGREトンネル600のエントリと、移行先のVM_D(110−4)と接続するGREトンネル600のエントリとが特定される。
【0153】
GRE変換装置1100は、特定されたエントリの通信可否1320の設定値を入れ替える。具体的には、移行元のVM110と接続するGREトンネル600のエントリの通信可否1320を「NO」に変更し、移行先のVM110と接続するGREトンネル600のエントリの通信可否1320を「OK」に変更する。
【0154】
当該処理によって、経路設定情報1110は、図11Bに示すように更新される。
【0155】
GRE変換装置1100は、更新された経路設定情報1110に基づいて、GREトンネル600に接続する内部の通信経路を切り替える。GRE変換装置1100は、通信経路の切替完了の通知をノード管理部931に送信する。
【0156】
なお、GRE変換装置1100は、内部の通信経路を切り替えた後であっても、受信したパケットが制御パケット1210であり、かつ、移行前の仮想ノード200が配置された物理ノード100が宛先の場合には、仮想リンク250の切り替え前に使用していた内部の通信経路を介して制御パケット1210を送信することができる。
【0157】
すなわち、GRE変換装置1100は、移行前に仮想ノード200が配置された物理ノード100に、データパケット1200を送信しないように制御する。
【0158】
以上の処理によって、図12Bに示すように内部の通信経路が切り替えられる。これによって、VM_D(110−4)への仮想ノードC(200−3)の移行が完了する。また、システム全体において、図10Bに示すように仮想リンク250が切り替えられる。
【0159】
このように、VM_C(110−3)によって提供される機能を用いた仮想ノードC(200−3)によって実行されるサービスの実行結果を取得するために、一定期間経過した後に仮想リンク250が切り替えられる。これによって、スライス20におけるサービスの整合性を保つことができる。
【0160】
以上が、ステップS118、ステップS119の処理である。
【0161】
仮想リンク250が切り替えられることによって、VM_D(110−4)によって提供される機能を用いた仮想ノードC(200−3)がサービスを実行する。なお、物理ノードC(100−3)のノード管理部931は、この時点では、VM_C(110−3)の停止条件を満たしていないため、VM_C(110−3)の起動状態を維持する。
【0162】
物理ノードA(100−1)及び物理ノードB(100−2)は、仮想リンク250を実現するGREトンネル600の接続を切り替えた後、物理ノードC(100−3)に、仮想リンク切替完了通知を送信する(ステップS120、ステップS121)。具体的には、以下のような処理が実行される。
【0163】
各物理ノード100のノード管理部931は、GRE変換装置1100に仮想リンク250の切替結果を問い合わせることによって、接続が切り替えられたGREトンネル600を特定する。GRE変換装置1100は、経路設定情報1110に新たに追加されたエントリの情報を出力することによって、切り替えられたGREトンネル600を特定できる。
【0164】
各物理ノード100のノード管理部931は、特定されたGREトンネル600の接続先のVM110の識別子に基づいて、当該VM110が稼働する物理ノード100を特定する。例えば、各物理ノード100のノード管理部931は、ドメイン管理サーバ300に、特定されたVMの識別子を含む問い合わせを送信する方法が考えられる。この場合、ドメイン管理サーバ300は、マッピング情報322を参照することによって、特定されたVM110が稼働する物理ノード100を特定できる。
【0165】
なお、仮想リンク切替完了通知を送信する物理ノード100の決定方法は、前述したものに限定されない。例えば、ノード管理部931が、予め、GREトンネル600と接続先の物理ノード100とを対応づけた情報を保持してもよい。
【0166】
ノード管理部931は、接続先の物理ノード100の識別子を含む仮想リンク切替完了通知を生成し、当該通知をGRE変換装置1100に送信する。なお、仮想リンク切替完了通知は、制御パケット1210である。
【0167】
GRE変換装置1100は、GREトンネル600を介して、接続先の物理ノード100に仮想リンク切替完了通知を送信する。
【0168】
以上が、ステップS120及びステップS121の処理である。
【0169】
次に、物理ノードC(100−3)は、物理ノードA(100−1)及び物理ノードB(100−2)から仮想リンク切替完了通知を受信すると、VM_C(110−3)を停止し、またGREトンネル600の接続を停止する(ステップS122)。
【0170】
これは、物理ノードC(100−3)のノード管理部931が、VM_C(110−3)の停止条件を満たしたと判定したためである。
【0171】
前述したように、仮想リンク切替完了通知は、データパケット1200が送信されるGREトンネル600−2、600−4を介して送信される。したがって、物理ノード100のノード管理部931は、仮想リンク切替完了通知を受信することによって、VM_C(110−3)に対して、VM_A(110−1)及びVM_B(110−2)からこれ以上データパケット1200が送信されないことを保証することができる。
【0172】
一方、仮想リンク切替完了通知が、ドメイン管理サーバ300から送信される場合、仮想リンク切替完了通知に対応する制御パケット1210は、データパケット1200が送信される通信経路とは異なった通信経路を経由することになるため、GREトンネル600−2、600−4を介してデータパケット1200が送信される可能性がある。
【0173】
したがって、物理ノード100上で稼働するVM110と通信する全ての物理ノード100から制御パケット1210を受信することによって、仮想ノード200の移行前に機能を提供していたVM110が不要となることが分かる。
【0174】
物理ノードC(100−3)は、物理ノードA(100−1)及び物理ノードB(100−2)に、仮想リンク切替完了通知に対する応答を送信する(ステップS123、ステップS124)。
【0175】
なお、当該応答は制御パケット1210であるため、GREトンネル600−1、600−3を介して送信される。したがって、物理ノード100は、移行前に機能を提供していたVM110からパケットが送信されないことを保証できる。
【0176】
物理ノードA(100−1)及び物理ノードB(100−2)は、仮想リンク切替完了通知に対する応答を受信すると、VM_C(110−3)と通信するためのGREトンネル600の接続を停止する(ステップS125、ステップS126)。
【0177】
具体的には、各物理ノード100のノード管理部931が、GRE変換装置1100にVM_C(110−3)と通信するためのGREトンネル600の接続停止指示を送信する。GRE変換装置1100は、当該接続停止指示を受信すると、VM_C(110−3)と通信するためのGREトンネル600を介した通信を停止する。
【0178】
物理ノードA(100−1)及び物理ノードB(100−2)は、ドメイン管理サーバ300に、仮想リンク停止通知を送信する(ステップS127、ステップS128)。また、物理ノードC(100−3)は、VM_C(110−3)の停止、及び、VM_C(110−3)への接続を停止した旨を通知する(ステップS129)。
【0179】
ドメイン管理サーバ300は、物理ノードA(100−1)、物理ノードB(100−2)及び物理ノードC(100−3)に、VM_C(110−3)に関連する計算機リソースの解放指示を送信する(ステップS130、ステップS131、ステップS132)。
【0180】
具体的には、ドメイン管理サーバ300は、物理ノードA(100−1)に対して、GREトンネル600−1、600−2を構成するための計算機リソースの解放を指示し、物理ノードB(100−2)に対して、GREトンネル600−3、600−4を構成するための計算機リソースの解放を指示する。また、ドメイン管理サーバ300は、物理ノードC(100−3)に対して、VM_C(110−3)に割り当てられた計算機リソース、及び、GREトンネル600−1、600−2、600−3、600−4を構成するための計算機リソースの解放を指示する。これによって、計算機リソースを有効に活用することができる。
【0181】
なお、図9A及び図9Bにおいて、ドメイン管理サーバ300及び各物理ノード100間で送受信される指示及び応答は、処理の整合性を保つ範囲内で、任意の順番に変更してもよいし、同時に送信してもよい。また、同一の指示及び応答を複数回送信してもよい。また、一つの指示又は応答を複数の指示又は応答に分けて送信してもよい。
【0182】
図10Cは、ステップS132までの処理が実行された後のドメイン内の状態を表す図である。図10Cに示すように、仮想ノードC(200−3)が物理ノードC(100−3)から物理ノードD(100−4)に移行していることが分かる。なお、スライス20上では、仮想ノードC(200−3)の移行は認識されない。
【0183】
実施例1によれば、スライス20上の仮想ノード200が実行するサービスを停止することなく、かつ、スライス20のネットワーク構成を変更することなく仮想ノード200を配置する物理ノード100のマイグレーション処理を実現することができる。
【実施例2】
【0184】
実施例2では、仮想ネットワーク20が二つ以上のドメイン15間をまたがって構成される点が異なる。以下、ドメイン間15をまたがった仮想ノード200のマイグレーション処理について説明する。なお、実施例1との差異を中心に説明する。
【0185】
(システム構成)
図13は、本発明の実施例2における物理ネットワーク10の構成例を示す説明図である。実施例2では、二つのドメイン15から構成される物理ネットワーク10を例に説明する。
【0186】
物理ネットワーク10を構成するドメインA(15−1)及びドメインB(15−3)には、それぞれ、ドメイン管理サーバ300及び複数の物理ノード100が含まれる。実施例2では、各ドメイン15内の物理ノード100を用いて図2に示すようなスライス20が提供されているものとする。この場合、フェデレーション機能を用いることによって、二つのドメイン15をまたがったスライス20を構成することができる。
【0187】
また、ドメイン管理サーバA(300−1)及びドメイン管理サーバB(300−2)は、物理リンク1300を介して接続される。ドメイン管理サーバA(300−1)及びドメイン管理サーバB(300−2)は、物理リンク1300を介して互いに通信することによって、各ドメイン15の管理情報(例えば、マッピング情報322及び仮想ノード管理情報323)を共有しているものとする。
【0188】
なお、ドメイン管理サーバ300の構成は、実施例1と同一であるため説明を省略する。また、物理ノード100間の接続は、実施例1と同一のものであるため説明を省略する。
【0189】
実施例2では、物理ノードB(100−2)と物理ノードC(100−3)とを接続する物理リンク400−2、及び、物理ノードA(100−1)と物理ノードD(100−4)とを接続する物理リンク400−3は、ドメイン15間を接続するネットワークである。
【0190】
したがって、物理ネットワーク10の実装によっては、ドメイン15の出入口にゲートウェイ装置が設置される場合がある。本実施例では、GREトンネル600を用いることによって、二つのドメイン15間の物理ノード100を直接接続できるものとしているが、ゲートウェイ装置が設置される場合でも、同様の処理を適用することできる。
【0191】
なお、物理ノード100の構成は、実施例1と同一であるため説明を省略する。
【0192】
(マイグレーション動作)
以下では、実施例1と同様に、物理ノードC(100−3)から物理ノードD(100−4)への仮想ノードC(200−3)のマイグレーション処理について、図14A図14B図15A図15B及び図15Cを用いて説明する。ただし、ドメイン15の異なる物理ノード100間において仮想ノード200を移行させる点が異なる。
【0193】
図14A及び図14Bは、本発明の実施例2におけるマイグレーション処理の流れを説明するシーケンス図である。図15A図15B及び図15Cは、本発明の実施例2のマイグレーション処理の実行時におけるドメイン15内の状態を示す説明図である。
【0194】
なお、経路設定情報1110の更新方法、及び、GRE変換装置1100における内部の通信経路の制御方法は、実施例1と同一であるため説明を省略する。
【0195】
本実施例では、ドメイン管理サーバA(300−1)を操作する管理者によって、マイグレーション対象の仮想ノードC(200−3)の識別子とともに、処理開始の要求が入力されたものとする。なお、本発明は、マイグレーション処理が開始されるタイミングに限定されない。例えば、VM110の負荷が閾値以上になった場合等に実行されてもよい。
【0196】
本実施例では、ドメイン管理サーバA(300−1)及びドメイン管理サーバB(300−2)が連携してマイグレーション処理を実行するが、この場合、ドメイン管理サーバA(300−1)がマイグレーション処理を統括する。なお、ドメイン管理サーバB(300−2)がマイグレーション処理を統括する場合も同様の処理を適用することが可能である。
【0197】
なお、ドメイン管理サーバ300は、VM_C(110−3)と同一の性能となるように生成指示を生成する。具体的には、ドメイン管理サーバ300は、VM_C(110−3)が稼働するサーバ900の仮想化管理部932から、VM_C(110−3)の設定情報を取得し、取得された設定情報に基づいて生成指示を生成する。
【0198】
実施例2では、物理ノードD(100−4)に対するVM生成指示の送信処理が異なる(ステップS101)。
【0199】
具体的には、ドメイン管理サーバA(300−1)は、ドメイン管理サーバB(300−2)に、VM生成指示を送信する。なお、VM生成指示には、宛先情報として、送信先の物理ノードD(100−4)の識別子が含まれているものとする。
【0200】
ドメイン管理サーバB(300−2)は、受信したVM生成指示の宛先情報に基づいて、物理ノードD(100−4)にVM生成指示を転送する。
【0201】
なお、本実施例では、予めVM生成指示に送信先の物理ノードD(100−4)の識別子が含まれているものとしたが、本発明はこれに限定されない。例えば、ドメイン管理サーバA(100−1)が、実施例1と同様のVM生成指示を送信し、ドメイン管理サーバB(300−2)が、ドメイン15内の物理ノード100の負荷情報等からVM生成指示を送信する物理ノード100を決定してもよい。
【0202】
また、実施例2では、物理ノードB(100−2)及び物理ノードD(100−4)に対する仮想リンク生成指示の送信処理が異なる(ステップS103、ステップS104、ステップS105)。
【0203】
具体的には、ドメイン管理サーバA(300−1)は、ドメイン管理サーバB(300−2)に、仮想リンク生成指示を送信する。なお、仮想リンク生成指示には、宛先情報として、送信先の物理ノードB(100−2)及び物理ノードD(100−4)の識別子が含まれているものとする。なお、ドメイン管理サーバA(300−1)は、マッピング情報322を参照することによって、物理ノードD(100−4)に対する隣接物理ノード100が物理ノードB(100−2)であることを把握できる。
【0204】
ドメイン管理サーバB(300−2)は、受信した仮想リンク生成指示の宛先情報に基づいて、物理ノードB(100−2)及び物理ノードD(100−4)にリンク生成指示を転送する。
【0205】
物理ノードA(100−1)及び物理ノードD(100−4)は、仮想リンク生成指示を受信すると、当該仮想リンク生成指示に基づいて、仮想リンク250−1を実現するためのGREトンネル600−5、600−6(図15A参照)を生成する(ステップS108)。
【0206】
なお、GREトンネル600−5、600−6の生成方法は、基本的には実施例1において示した生成方法と同一である。この場合は、フェデレーションによって、ドメインをまたがったスライスが生成されているので、GREトンネルに関してもドメインをまたがって生成される。さらに、各ドメイン、さらにはドメイン間の物理ネットワークの実装方式によっては、ドメインの境界において、異なるリンク方式(例えばVLAN等)に乗り換えが行われることもある。
【0207】
物理ノードB(100−2)のノード管理部931は、仮想リンク250を生成した後、ドメイン管理サーバB(300−2)に、計算機リソースを確保した旨の通知を送信する(ステップS111)。ドメイン管理サーバB(300−2)は、ドメイン管理サーバA(300−1)に当該通知を転送する(図15A参照)。
【0208】
また、物理ノードD(100−4)のノード管理部931は、VM_D(110−4)を生成し、かつ、仮想リンク250を生成した後、ドメイン管理サーバB(300−2)に、計算機リソースを確保した旨の通知を送信する(ステップS112)。ドメイン管理サーバB(300−2)は、ドメイン管理サーバA(300−1)に当該通知を転送する(図15A参照)。
【0209】
なお、ドメイン管理サーバB(300−2)は、物理ノードB(100−2)及び物理ノードD(100−4)からの計算機リソースを確保した旨の通知をマージし、ドメイン管理サーバA(300−1)にマージされた通知を転送してもよい。
【0210】
実施例2では、VM起動指示及びVM起動完了通知は、ドメイン管理サーバB(300−2)を経由して送信される(ステップS113、ステップS115)。また、物理ノードB(100−2)に対する仮想リンク切替指示は、図15Bに示すように、ドメイン管理サーバB(300−2)を経由して送信される(ステップS117)。
【0211】
物理ノードB(100−2)から送信されるリンク切替完了通知は、ドメイン管理サーバB(300−2)を経由せずに、物理リンク400−2上に生成されたGREトンネル600を介して送信される(ステップS121)。物理ノードB(100−2)に対して送信される応答は、ドメイン管理サーバB(300−2)を経由せずに、物理リンク400−2上に生成されたGREトンネル600を介して送信される(ステップS124)。
【0212】
物理ノードBから送信される仮想リンク停止通知は、ドメイン管理サーバB(300−2)を経由して、ドメイン管理サーバA(300−1)に送信される。また、計算機リソースの解放指示についても、ドメイン管理サーバB(300−2)を経由して、物理ノードB(100−2)に送信される。
【0213】
その他の処理は、実施例1と同一であるため説明を省略する。
【0214】
実施例2によれば、複数のドメイン15から構成されるスライス20においても、仮想ノード200が実行するサービスを中断することなく、ドメイン15をまたがった仮想ノード200のマイグレーション処理を実現することができる。
【実施例3】
【0215】
実施例2では、図14A及び図14Bに示すように、ドメイン管理サーバ300間の通信が多く発生する。当該通信では、ドメイン15間の認証処理等が含まれるため、オーバヘッドが大きく、さらに、制御コマンドを送受信数が増大するため、マイグレーション処理のオーバヘッドが増大する。
【0216】
そこで、実施例3では、ドメイン管理サーバ300間の通信を抑制したマイグレーション処理を実現する。具体的には、物理ノード100間の物理リンク400を介して制御パケットを送受信することによって、ドメイン管理サーバ300間の通信を抑制する。
【0217】
以下、実施例2との差異を中心に説明する。なお、物理ネットワーク10の構成、ドメイン管理サーバ300の構成及び物理ノード100の構成は、実施例1と同一であるため説明を省略する。
【0218】
(マイグレーション動作)
以下では、実施例2と同様に、ドメインA(15−1)の物理ノードC(100−3)からドメインB(15−2)の物理ノードD(100−4)への仮想ノードC(200−3)のマイグレーション処理について、図16A及び図16Bを用いて説明する。
【0219】
図16A及び図16Bは、本発明の実施例3におけるマイグレーション処理の流れを説明するシーケンス図である。
【0220】
ドメイン管理サーバA(300−1)は、ドメイン管理サーバB(300−2)にVM作成指示及びVM起動条件を通知する(ステップS201)。
【0221】
この時点では、まだ、物理ノード100−4との間に仮想リンク250が生成されていないため、VM作成指示及びVM起動条件は、ドメイン管理サーバB(300−2)を経由して、物理ノードD(100−4)に送信される。追加ノードとの間のリンクが構成されていないためである。
【0222】
ここで、VM起動条件とは、移行先の物理ノード100上に生成されたVM110を起動させるための条件を表す。物理ノードD(100−4)のノード管理部931は、VM起動条件を受信すると、当該起動条件が設立するか否かを判定するための判定処理を開始する。
【0223】
本実施例では、VM起動条件として、隣接物理ノード100、すなわち、物理ノードA(100−1)及び物理ノードB(100−2)から仮想リンク生成報告を受信した場合にVM_D(110−4)を起動する条件が設定されているものとする。
【0224】
実施例3では、物理ノードA(100−1)、物理ノードB(100−2)及び物理ノードD(100−4)は、ドメイン管理サーバA(300−1)に、計算機リソースを確保した旨の通知を送信しない。実施例3では、物理ノードA(100−1)及び物理ノードB(100−2)が、GREトンネル600を介して、物理ノードD(100−4)に仮想リンク生成報告を送信する点が異なる(ステップS202、ステップS203)。
【0225】
これによって、VM_D(110−4)を起動するために、ドメイン管理サーバ300間の通信及びドメイン管理サーバ300と物理ノード100との間の通信を抑制することができる。したがって、マイグレーション処理のオーバヘッドを削減できる。
【0226】
実施例3では、物理ノードD(100−4)のノード管理部931は、隣接物理ノード100から仮想リンク生成報告を受信すると、VM_D(110−4)の起動を仮想化管理部932に指示する(ステップS114)。
【0227】
物理ノードD(100−4)のノード管理部931は、VM_D(110−4)の起動後、隣接物理ノード100に、サービス開始通知を送信する(ステップS204、ステップS205)。ここで、サービス開始通知は、VM_D(110−4)が提供する機能を用いて仮想ノードC(200−3)がサービスを開始したことを示す通知である。
【0228】
具体的には、サービス開始通知が、GREトンネル600を介して、物理ノードA(100−1)及び物理ノードB(100−2)に送信される。
【0229】
物理ノードA(100−1)及び物理ノードB(100−2)は、サービス開始通知を受信すると、仮想リンク250を切り替える(ステップS118、ステップS119)。
【0230】
実施例3では、物理ノードA(100−1)及び物理ノードB(100−2)は、物理ノードD(100−4)から送信されたサービス開始通知の受信を契機に、仮想リンク250を切り替える点が異なる。すなわち、VM起動完了通知及び仮想リンク切替指示の送信を、サービス開始通知の送信によって実現している。
【0231】
実施例2では、仮想リンク250を切り替えるために、物理ノード100とドメイン管理サーバ300との間で通信を行う必要があったが、実施例3では、物理ノード100間で直接通信するため、ドメイン管理サーバ300を経由した通信を抑制することができる。
【0232】
その他の処理は実施例2と同一であるため説明を省略する。
【0233】
実施例3によれば、物理ノード100間を接続するリンク(GREトンネル600)を介して通信することによって、ドメイン管理サーバ300との間の通信を抑制できる。これによって、マイグレーション処理におけるオーバヘッドを削減することができる。
【0234】
なお、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
【0235】
さらに、本実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。
【0236】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【0237】
10 物理ネットワーク
15 ドメイン
20 仮想ネットワーク(スライス)
100 物理ノード
110 仮想計算機(VM)
160 リンク管理部
190 ノード管理部
200 仮想ノード
250 仮想リンク
300 ドメイン管理サーバ
321 ドメイン管理部
900 サーバ
931 ノード管理部
932 仮想化管理部
940 ストレージ
1000 ノード内スイッチ
1100 GRE変換装置
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9A
図9B
図10A
図10B
図10C
図11A
図11B
図12A
図12B
図13
図14A
図14B
図15A
図15B
図15C
図16A
図16B