(57)【特許請求の範囲】
【請求項１】
第１のプロセッサ、前記第１のプロセッサに接続される第１の記憶媒体及び他の装置と接続する第１のネットワークインタフェースを有する複数の計算機と、制御部及び他の装置を接続するポートを有し、前記複数の計算機を接続する複数の転送装置と、を管理する管理計算機であって、
前記管理計算機は、第２のプロセッサと、前記第２のプロセッサに接続される第２の記憶媒体と、他の装置と接続する第２のネットワークインタフェースとを備え、
前記複数の転送装置によってネットワークが構成され、
前記複数の転送装置は、前記複数の計算機間で送受信されるデータフローの転送を制御するための経路情報を保持し、
前記複数の計算機は、計算機資源を提供する複数の提供計算機と、前記ネットワークを介して前記計算機資源を使用する一以上のユーザ計算機とを含み、
前記複数の提供計算機は、第１のユーザ計算機が使用する第１の計算機資源を提供する第１の提供計算機を含み、
前記管理計算機は、
前記提供計算機の稼働状態に基づいて、前記ユーザ計算機が使用する前記計算機資源の割当先の提供計算機を変更する配置変更部と、
前記ネットワークにおける、前記ユーザ計算機と前記計算機資源を割り当てる前記提供計算機との接続関係を管理する接続管理部と、
前記計算機資源と、前記計算機資源を提供する前記提供計算機との対応関係を管理する計算機資源管理情報を記憶する記憶部と、
を備え、
前記接続管理部は、
前記複数の転送装置から前記経路情報を取得し、
前記配置変更部によって、前記第１の計算機資源を提供する前記提供計算機が前記第１の提供計算機から第２の提供計算機に変更される場合に、前記第１のユーザ計算機を収容し、かつ、前記第１の計算機資源宛ての前記データフローを転送する転送装置である始点転送装置の前記経路情報、及び前記計算機資源管理情報に基づいて、前記始点転送装置が転送する前記データフローの中に、前記第２の提供計算機が提供する第２の計算機資源宛ての前記データフローが存在するか否かを判定し、
前記始点転送装置が転送する前記データフローの中に、前記第２の計算機資源宛ての前記データフローが存在すると判定された場合、前記複数の転送装置の前記経路情報に基づいて、前記始点転送装置と前記第１の提供計算機を収容する転送装置との間で送受信される第１のデータフローが通過する第１の転送経路、及び、前記始点転送装置と前記第２の提供計算機を収容する転送装置との間で送受信される第２のデータフローが通過する第２の転送経路を検索し、
前記第２の転送経路に含まれる前記転送装置の前記経路情報に基づいて、前記第１の転送経路に含まれる前記転送装置、及び、前記第２の転送経路に含まれる前記転送装置のうち前記経路情報の更新が必要な転送装置の前記経路情報の更新データを算出することを特徴とする管理計算機。
【請求項２】
請求項１に記載の管理計算機であって、
前記経路情報は、前記各データフローが通過する転送経路の設定データを含み、
前記転送装置は、当該転送装置の識別情報とともに前記経路情報を送信し、
前記管理計算機は、
前記経路情報の更新が必要な前記転送装置の前記経路情報の更新データを算出する場合に、前記複数の転送装置の前記経路情報に基づいて、前記第２の転送経路に含まれる前記転送装置を特定し、
前記第２の転送経路に含まれる転送装置のうち、前記第１のデータフロー及び前記第２のデータフローを転送する第１の転送装置、及び前記第２のデータフローを転送する第２の転送装置を特定し、
前記第１の転送装置の前記経路情報において、前記第２の転送経路の設定データに基づいて、前記第１のデータフローが前記第２の転送経路を通過するように前記設定データを変更するための前記更新データを算出し、
前記第２の転送装置の前記経路情報において、前記第２の転送経路の設定データに基づいて、前記第１のデータフローが前記第２の転送経路を通過するように新たな前記設定データを追加するための前記更新データを算出することを特徴とする管理計算機。
【請求項３】
請求項２に記載の管理計算機であって、
前記経路情報の更新が必要な前記転送装置の前記経路情報の更新データを算出する場合に、前記複数の転送装置の前記経路情報に基づいて、前記第１の転送経路に含まれる転送装置を特定し、
前記第１の転送経路に含まれる転送装置のうち、前記第１のデータフローを転送する第３の転送装置、及び前記第１のデータフロー及び前記第２のデータフローを転送する第４の転送装置を特定し、
前記第３の転送装置の前記経路情報において、前記第１のデータフローに関する前記設定データを削除するための前記更新データを算出し、
前記第４の転送装置の前記経路情報において、前記第２の転送経路の設定データに基づいて、前記第１のデータフローが前記第２の転送経路を通過するように前記設定データを変更するための前記更新データを算出することを特徴とする管理計算機。
【請求項４】
請求項３に記載の管理計算機であって、
前記複数の転送装置の前記経路情報に基づいて、前記データフローの識別情報、前記転送装置が有する前記ポートの識別情報、及び前記更新データによって更新されたか否かを示すフラグを含む経路管理情報を生成し、
前記第３の転送装置の前記経路管理情報の前記フラグを参照して、前記第１のデータフローに関する前記設定データが前記更新データによって更新されたか否かを判定し、
前記第１のデータフローに関する前記設定データが前記更新データによって更新されていないと判定された場合に、当該第１のデータフローに関する前記設定データを削除するための前記更新データを算出することを特徴とする管理計算機。
【請求項５】
請求項１に記載の管理計算機であって、
前記経路情報の更新が必要な転送装置に対して前記経路情報の更新データを送信し、
前記第２の提供計算機に前記第１の計算機資源の生成を指示することを特徴とする管理計算機。
【請求項６】
第１のプロセッサ、前記第１のプロセッサに接続される第１の記憶媒体及び他の装置と接続する第１のネットワークインタフェースを有する複数の計算機と、制御部及び他の装置を接続するポートを有し、前記複数の計算機を接続する複数の転送装置と、を管理する管理計算機における転送経路管理方法であって、
前記管理計算機は、第２のプロセッサと、前記第２のプロセッサに接続される第２の記憶媒体と、他の装置と接続する第２のネットワークインタフェースとを備え、
前記複数の転送装置によってネットワークが構成され、
前記複数の転送装置は、前記複数の計算機間で送受信されるデータフローの転送を制御するための経路情報を保持し、
前記複数の計算機は、計算機資源を提供する複数の提供計算機と、前記ネットワークを介して前記計算機資源を使用する一以上のユーザ計算機とを含み、
前記複数の提供計算機は、第１のユーザ計算機が使用する第１の計算機資源を提供する第１の提供計算機を含み、
前記管理計算機は、前記計算機資源と、前記計算機資源を提供する前記提供計算機との対応関係を管理する計算機資源管理情報を記憶する記憶部を備え、
前記方法は、
前記管理計算機が、前記複数の転送装置から前記経路情報を取得する第１のステップと、
前記管理計算機が、前記提供計算機の稼働状態に基づいて、前記第１の計算機資源を提供する前記提供計算機を前記第１の提供計算機から第２の提供計算機への変更を決定する第２のステップと、
前記管理計算機が、前記第１のユーザ計算機を収容し、かつ、前記第１の計算機資源宛ての前記データフローを転送する転送装置である始点転送装置の前記経路情報、及び前記計算機資源管理情報に基づいて、前記始点転送装置が転送する前記データフローの中に、前記第２の提供計算機が提供する第２の計算機資源宛ての前記データフローが存在するか否かを判定する第３のステップと、
前記管理計算機が、前記始点転送装置が転送する前記データフローの中に、前記第２の計算機資源宛ての前記データフローが存在すると判定された場合、前記複数の転送装置の前記経路情報に基づいて、前記始点転送装置と前記第１の提供計算機を収容する転送装置との間で送受信される第１のデータフローが通過する第１の転送経路、及び、前記始点転送装置と前記第２の提供計算機を収容する転送装置との間で送受信される第２のデータフローが通過する第２の転送経路を検索する第４のステップと、
前記管理計算機が、前記第２の転送経路に含まれる前記転送装置の前記経路情報に基づいて、前記第１の転送経路に含まれる前記転送装置、及び、前記第２の転送経路に含まれる前記転送装置のうち前記経路情報の更新が必要な転送装置の前記経路情報の更新データを算出する第５のステップと、を含むことを特徴とする転送経路管理方法。
【請求項７】
請求項６に記載の転送経路管理方法であって、
前記経路情報は、前記データフローが通過する転送経路の設定データを含み、
前記経路情報は、前記転送装置の識別情報とともに送信され、
前記第５のステップは、
前記複数の転送装置の前記経路情報に基づいて、前記第２の転送経路に含まれる前記転送装置を特定するステップと、
前記第２の転送経路に含まれる転送装置のうち、前記第１のデータフロー及び前記第２のデータフローを転送する第１の転送装置、及び前記第２のデータフローを転送する第２の転送装置を特定するステップと、
前記第１の転送装置の前記経路情報において、前記第２の転送経路の設定データに基づいて、前記第１のデータフローが前記第２の転送経路を通過するように前記設定データを変更するための前記更新データを算出するステップと、
前記第２の転送装置の前記経路情報において、前記第２の転送経路の設定データに基づいて、前記第１のデータフローが前記第２の転送経路を通過するように新たな前記設定データを追加するための前記更新データを算出するステップと、を含むことを特徴とする転送経路管理方法。
【請求項８】
請求項７に記載の転送経路管理方法であって、
前記第５のステップは、
前記複数の転送装置の前記経路情報に基づいて、前記第１の転送経路に含まれる転送装置を特定する第６のステップと、
前記第１の転送経路に含まれる転送装置のうち、前記第１のデータフローを転送する第３の転送装置、及び前記第１のデータフロー及び前記第２のデータフローを転送する第４の転送装置を特定する第７のステップと、
前記第３の転送装置の前記経路情報において、前記第１のデータフローに関する前記設定データを削除するための前記更新データを算出する第８のステップと、
前記第４の転送装置の前記経路情報において、前記第２の転送経路の設定データに基づいて、前記第１のデータフローが前記第２の転送経路を通過するように前記設定データを変更するための前記更新データを算出する第９のステップと、を含むことを特徴とする転送経路管理方法。
【請求項９】
請求項８に記載の転送経路管理方法であって、
前記第１のステップは、前記複数の転送装置の前記経路情報に基づいて、前記データフローの識別情報、前記転送装置が有する前記ポートの識別情報、及び前記更新データによって更新されたか否かを示すフラグを含む経路管理情報を生成するステップを含み、
前記第８のステップは、
前記第３の転送装置の前記経路管理情報の前記フラグを参照して、前記第１のデータフローに関する前記設定データが前記更新データによって更新されたか否かを判定するステップと、
前記第１のデータフローに関する前記設定データが前記更新データによって更新されていないと判定された場合に、当該第１のデータフローに関する前記設定データを削除するための前記更新データを算出するステップと、を含むことを特徴とする転送経路管理方法。
【請求項１０】
請求項６に記載の転送経路管理方法であって、
前記管理計算機が、前記経路情報の更新が必要な転送装置に対して前記経路情報の更新データを送信するステップと、
前記管理計算機が、前記第２の提供計算機に前記第１の計算機資源の生成を指示するステップと、を含むことを特徴とする転送経路管理方法。
【請求項１１】
複数の計算機と、他の装置を接続する複数の転送装置と、前記複数の計算機及び前記複数の転送装置を管理する管理計算機とを備える計算機システムであって、
前記複数の計算機の各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１の記憶媒体及び他の装置と接続する第１のネットワークインタフェースを有し、
前記複数の転送装置の各々は、制御部及び他の装置を接続するポートを有し、
前記管理計算機は、第２のプロセッサと、前記第２のプロセッサに接続される第２の記憶媒体と、他の装置と接続する第２のネットワークインタフェースとを有し、
前記複数の転送装置によってネットワークが構成され、
前記複数の転送装置は、前記複数の計算機間で送受信されるデータフローの転送を制御するための経路情報を保持し、
前記複数の計算機は、計算機資源を提供する複数の提供計算機と、前記ネットワークを介して前記計算機資源を使用する一以上のユーザ計算機とを含み、
前記複数の提供計算機は、第１のユーザ計算機が使用する第１の計算機資源を提供する第１の提供計算機を含み、
前記計算機システムは、
前記提供計算機の稼働状態に基づいて、前記ユーザ計算機が使用する前記計算機資源の割当先の提供計算機を変更する配置変更部と、
前記ネットワークにおける、前記ユーザ計算機と前記計算機資源を割り当てる前記提供計算機との接続関係を管理する接続管理部と、
前記計算機資源と、前記計算機資源を提供する前記提供計算機との対応関係を管理する計算機資源管理情報を記憶する記憶部と、
を備え、
前記接続管理部は、
前記複数の転送装置から前記経路情報を取得し、
前記複数の転送装置の前記経路情報に基づいて、前記データフローの識別情報及び前記転送装置が有する前記ポートの識別情報を含む経路管理情報を生成し、
前記配置変更部によって、前記第１の計算機資源を提供する前記提供計算機が前記第１の提供計算機から第２の提供計算機に変更される場合に、前記第１のユーザ計算機を収容し、かつ、前記第１の計算機資源宛ての前記データフローを転送する転送装置である始点転送装置の前記経路管理情報、及び前記計算機資源管理情報に基づいて、前記始点転送装置が転送する前記データフローの中に、前記第２の提供計算機が提供する第２の計算機資源宛ての前記データフローが存在するか否かを判定し、
前記始点転送装置が転送する前記データフローの中に、前記第２の計算機資源宛ての前記データフローが存在すると判定された場合、前記複数の転送装置の前記経路管理情報に基づいて、前記始点転送装置と前記第１の提供計算機を収容する転送装置との間で送受信される第１のデータフローが通過する第１の転送経路、及び、前記始点転送装置と前記第２の提供計算機を収容する転送装置との間で送受信される第２のデータフローが通過する第２の転送経路を検索し、
前記第２の転送経路に含まれる前記転送装置の前記経路管理情報に基づいて、前記第１の転送経路に含まれる前記転送装置、及び、前記第２の転送経路に含まれる前記転送装置のうち前記経路情報の更新が必要な転送装置の前記経路情報の更新データを算出することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザに計算機資源を提供するクラウドシステムに関する。特に、計算機資源のマイグレーションに伴うネットワーク設定の更新処理の高速化を実現する装置、方法及びシステムに関する。
【背景技術】
【０００２】
近年、大規模なデータセンタの計算機資源をユーザに提供するクラウドコンピューティングが普及しつつある。クラウドコンピューティングでは仮想化技術が用いられ、計算機資源から生成された仮想計算機（ＶＭ）及び論理ボリューム（ＬＵ）がユーザに提供される。
【０００３】
クラウドコンピューティングを提供するベンダは、データセンタの計算機資源を有効に活用し、また、消費電力の削減のため、ＶＭ又はＬＵを集約するためのマイグレーション処理が実行される（例えば、特許文献１参照）。
【０００４】
特許文献１には、ネットワーク側及びコンピュータ側を一元的に制御して仮想マシンのマイグレーションを実行する方法が記載されている。具体的にはスイッチは、移動後の仮想マシンからのパケットデータがルールに適合しない場合、パケットデータのＭＡＣアドレスをオープンフローコントローラに通知し、オープンフローコントローラは、通知されたＭＡＣアドレスに応じて生成された移動先ＶＭ宛通信用フローをスイッチに設定することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−７０５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来のＶＭ等のアクセス先の切替処理では、クラウドコンピューティングを提供するシステム内の機器に対してブロードキャストでＶＭ又はＬＵの移動先に関する情報が送信される。そのため、大規模なネットワークや複数のデータセンタをまたがるネットワークでは、計算機資源の配置変更に伴う機器の接続情報の更新に遅延が生じる。
【０００７】
引用文献１には、仮想マシンのマイグレーション後のアクセス先の切替処理において、通信経路情報及びトポロジー情報からフローの設定が必要なノード等を抽出することが記載されている。しかし、前述した方法は、全ての通信経路について検索処理が実行されるため処理時間が長く、ノードへのフロー設定に遅延が生じる。
【０００８】
本発明は、前述した課題を鑑みてなされた発明である。すなわち、クラウドコンピューティングにおいて、計算機資源の配置変更に伴う機器の接続情報の更新を高速に実現する装置、方法及び計算機システムを提供する。
【課題を解決するための手段】
【０００９】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、第１のプロセッサ、前記第１のプロセッサに接続される第１の記憶媒体及び他の装置と接続する第１のネットワークインタフェースを有する複数の計算機と、制御部及び他の装置を接続するポートを有し、前記複数の計算機を接続する複数の転送装置と、を管理する管理計算機であって、前記管理計算機は、第２のプロセッサと、前記第２のプロセッサに接続される第２の記憶媒体と、他の装置と接続する第２のネットワークインタフェースとを備え、前記複数の転送装置によってネットワークが構成され、前記複数の転送装置は、前記複数の計算機間で送受信されるデータフローの転送を制御するための経路情報を保持し、前記複数の計算機は、計算機資源を提供する複数の提供計算機と、前記ネットワークを介して前記計算機資源を使用する一以上のユーザ計算機とを含み、前記複数の提供計算機は、第１のユーザ計算機が使用する第１の計算機資源を提供する第１の提供計算機を含み、前記管理計算機は、前記提供計算機の稼働状態に基づいて、前記ユーザ計算機が使用する前記計算機資源の割当先の提供計算機を変更する配置変更部と、前記ネットワークにおける、前記ユーザ計算機と前記計算機資源を割り当てる前記提供計算機との接続関係を管理する接続管理部と、前記計算機資源と、前記計算機資源を提供する前記提供計算機との対応関係を管理する計算機資源管理情報を記憶する記憶部と、を備え、前記接続管理部は、前記複数の転送装置から前記経路情報を取得し、前記配置変更部によって、前記第１の計算機資源を提供する前記提供計算機が前記第１の提供計算機から第２の提供計算機に変更される場合に、前記第１のユーザ計算機を収容し、かつ、前記第１の計算機資源宛ての前記データフローを転送する転送装置である始点転送装置の前記経路情報、及び前記計算機資源管理情報に基づいて、前記始点転送装置が転送する前記データフローの中に、前記第２の提供計算機が提供する第２の計算機資源宛ての前記データフローが存在するか否かを判定し、前記始点転送装置が転送する前記データフローの中に、前記第２の計算機資源宛ての前記データフローが存在すると判定された場合、前記複数の転送装置の前記経路情報に基づいて、前記始点転送装置と前記第１の提供計算機を収容する転送装置との間で送受信される第１のデータフローが通過する第１の転送経路、及び、前記始点転送装置と前記第２の提供計算機を収容する転送装置との間で送受信される第２のデータフローが通過する第２の転送経路を検索し、前記第２の転送経路に含まれる前記転送装置の前記経路情報に基づいて、前記第１の転送経路に含まれる前記転送装置、及び、前記第２の転送経路に含まれる前記転送装置のうち前記経路情報の更新が必要な転送装置の前記経路情報の更新データを算出することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、クラウドコンピューティングにおいて、計算機資源の割り当て先の変更に伴って、経路情報の更新が必要な転送装置のみに必要な更新データを送信することができる。したがって、計算機資源へのアクセスに遅延が生じることがないため、業務等を停止させることなく継続できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態におけるクラウドサービスを提供する計算機システムの構成例を示す説明図である。
【図２】本発明の第１の実施形態における転送装置（ＳＷ）のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態における管理装置のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図４Ａ】本発明の第１の実施形態におけるＵＥ−ＳＷ１が保持するＭＡＣ情報の一例を示す説明図である。
【図４Ｂ】本発明の第１の実施形態におけるＵＥ−ＳＷ２が保持するＭＡＣ情報の一例を示す説明図である。
【図４Ｃ】本発明の第１の実施形態におけるＳＷ１が保持するＭＡＣ情報の一例を示す説明図である。
【図４Ｄ】本発明の第１の実施形態におけるＳＷ２が保持するＭＡＣ情報の一例を示す説明図である。
【図４Ｅ】本発明の第１の実施形態におけるＤＣＥ−ＳＷ１が保持するＭＡＣ情報の一例を示す説明図である。
【図４Ｆ】本発明の第１の実施形態におけるＤＣＥ−ＳＷ２が保持するＭＡＣ情報の一例を示す説明図である。
【図５Ａ】本発明の第１の実施形態における管理装置が保持するＶＭ管理情報の一例を示す説明図である。
【図５Ｂ】本発明の第１の実施形態における管理装置が保持するＶＭ管理情報の一例を示す説明図である。
【図６】本発明の第１の実施形態における転送装置が実行するＭＡＣ情報の更新処理を説明するフローチャートである。
【図７Ａ】本発明の第１の実施形態における計算機システム全体の処理の流れを説明するシーケンス図である。
【図７Ｂ】本発明の第１の実施形態における計算機システム全体の処理の流れを説明するシーケンス図である。
【図８Ａ】本発明の第１の実施形態における管理装置が保持するＭＡＣ情報の一例を示す説明図である。
【図８Ｂ】本発明の第１の実施形態における管理装置が保持するＭＡＣ情報の一例を示す説明図である。
【図８Ｃ】本発明の第１の実施形態における管理装置が保持するＭＡＣ情報の一例を示す説明図である。
【図８Ｄ】本発明の第１の実施形態における管理装置が保持するＭＡＣ情報の一例を示す説明図である。
【図８Ｅ】本発明の第１の実施形態における管理装置が保持するＭＡＣ情報の一例を示す説明図である。
【図８Ｆ】本発明の第１の実施形態における管理装置が保持するＭＡＣ情報の一例を示す説明図である。
【図９Ａ】本発明の第１の実施形態における管理装置が実行する処理の詳細を説明するフローチャートである。
【図９Ｂ】本発明の第１の実施形態における管理装置が実行する処理の詳細を説明するフローチャートである。
【図１０】本発明の第１の実施形態における管理装置が実行する更新データの算出処理の詳細を説明するフローチャートである。
【図１１Ａ】本発明の第１の実施形態におけるＳＷ１に関するＭＡＣ情報の一例を示す説明図である。
【図１１Ｂ】本発明の第１の実施形態におけるＳＷ２に関するＭＡＣ情報の一例を示す説明図である。
【図１１Ｃ】本発明の第１の実施形態におけるＤＣＥ−ＳＷ１に関するＭＡＣ情報の一例を示す説明図である。
【図１１Ｄ】本発明の第１の実施形態におけるＤＣＥ−ＳＷ２に関するＭＡＣ情報の一例を示す説明図である。
【図１２】本発明の第２の実施形態におけるクラウドサービスを提供する計算機システムの構成例を示す説明図である。
【図１３】本発明の第２の実施形態におけるストレージシステムの構成例を示すブロック図である。
【図１４】本発明の第２の実施形態におけるＬＵ管理情報の一例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、実施形態について図面を用いて説明する。
【００１３】
［第１の実施形態］
第１の実施形態では、管理装置が、仮想計算機（ＶＭ）の移動に伴って、当該仮想計算機へデータフローを転送するための設定を行う。また、本実施形態では、ＯＳＩ参照モデルの第２層に相当するレイヤ２におけるデータ転送を例に説明する。本実施形態のレイヤ２の転送では、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）情報に従ってデータフローが転送される。
【００１４】
図１は、本発明の第１の実施形態におけるクラウドサービスを提供する計算機システムの構成例を示す説明図である。
【００１５】
本実施形態における計算機システムは、端末１００、ＵＥ−ＳＷ１１０、ＳＷ１３０、ＤＣＥ−ＳＷ１５０、データセンタ２０１及び管理装置３００から構成される。
【００１６】
ＵＥ−ＳＷ１１０、ＳＷ１３０及びＤＣＥ−ＳＷ１５０は、端末１００とデータセンタ２０１との間、又はデータセンタ２０１間で送受信されるデータを転送する転送装置である。本実施形態では、ＵＥ−ＳＷ１１０、ＳＷ１３０及びＤＣＥ−ＳＷ１５０からネットワーク３５０が構成される。なお、ＵＥ−ＳＷ１１０、ＳＷ１３０及びＤＣＥ−ＳＷ１５０のハードウェア構成及びソフトウェア構成は同一のものである。
【００１７】
また、ＵＥ−ＳＷ１１０、ＳＷ１３０及びＤＣＥ−ＳＷ１５０は、所定のルールに基づいてグルーピングされたデータの集合であるデータフロー毎にデータを転送する。例えば、送信元ＭＡＣアドレス、送信先ＭＡＣアドレス、送信元ポート番号及び送信先ポート番号の組み合わせに基づいてグルーピングするルールが考えられる。本実施形態では、送信先のＭＡＣアドレスに基づいてグルーピングされたデータフローとする。
【００１８】
以下では、データフローが転送される経路を転送経路とも記載する。
【００１９】
端末１００は、クラウドサービスを利用するユーザが操作する計算機であり、プロセッサ（図示省略）、メモリ（図示省略）、ネットワークインタフェース（図示省略）及び入出力装置（図示省略）を備える。図１では、端末１００は、端末１（１００−１）及び端末２（１００−２）の２台であるが、本発明はこれに限定されず、端末１００は２台以上あってもよい。
【００２０】
ＵＥ−ＳＷ１１０は、端末１００を接続する転送装置であり、複数のポート１１１を備える。ＵＥ−ＳＷ１１０は、ポート１１１を介して受信したデータフローを転送する。なお、ＵＥ−ＳＷ１１０は、端末１００と直接接続されている必要は無く、端末１００を収容できればよい。
【００２１】
図１に示す例では、ＵＥ−ＳＷ１（１１０−１）は、端末１（１００−１）と接続され、ポート１１１−１及びポート１１１−２を介して、受信したデータフローを転送する。また、ＵＥ−ＳＷ２（１１０−２）は、端末２（１００−２）と接続され、ポート１１１−３及びポート１１１−４を介して、受信したデータフローを転送する。
【００２２】
ＳＷ１３０は、ネットワーク３５０内の他の転送装置（ＵＥ−ＳＷ１１０、ＳＷ１３０及びＤＣＥ−１５１）を接続する転送装置であり、複数のポート１３１を備える。ＳＷ１３０は、ポート１３１を介して受信したデータフローを転送する。
【００２３】
図１に示す例では、ＳＷ１（１３０−１）は、ポート１３１−１、ポート１３１−２、ポート１３１−３及びポート１３１−４を介して、受信したデータフローを転送する。転送装置ＳＷ２（１３０−２）は、ポート１３１−５、ポート１３１−６、ポート１３１−７及びポート１３１−８を介して受信したデータフローを転送する。
【００２４】
ＤＣＥ−ＳＷ１５０は、データセンタ２０１を接続する転送装置であり、複数のポート１５１を備える。ＤＣＥ−ＳＷ１５０は、ポート１５１を介して受信したデータフローを転送する。
【００２５】
図１に示す例では、ＤＣＥ−ＳＷ１（１５０−１）は、ポート１５１−１及びポート１５１−２を介して受信したデータフローを転送する。ＤＣＥ−ＳＷ２（１５０−２）は、ポート１５１−３及びポート１５１−４を介して、受信したデータフローを転送する。ＤＣＥ−ＳＷ３（１５０−３）は、ポート１５１−５及びポート１５１−６を介して、受信したデータフローを転送する。
【００２６】
データセンタ２０１は、複数のサーバ２１０を備える計算機システムであり、ネットワーク２２０を介してＤＣＥ−ＳＷ１５０と接続される。
【００２７】
図１に示す例では、データセンタ１（２１０−１）は、ネットワーク２２０−１を介してＤＣＥ−ＳＷ１（１５０−１）と接続する。データセンタ２（２１０−２）は、ネットワーク２２０−２を介してＤＣＥ−ＳＷ２（１５０−２）と接続する。データセンタ３（２１０−３）は、ネットワーク２２０−３を介してＤＣＥ−ＳＷ３（１５０−３）と接続する。
【００２８】
図１に示す例では、データセンタ１（２１０−１）は、サーバ１（２１０−１）を備える。データセンタ２（２１０−２）は、サーバ２（２１０−２）及びサーバ３（２１０−３）を備える。データセンタ３（２１０−３）は、サーバ４（２１０−４）を備える。
【００２９】
サーバ２１０は、ユーザに計算機資源を提供する計算機である。サーバ２１０は、計算機資源を仮想化することによって仮想計算機（ＶＭ）２１２を生成する仮想化部２１１を備える。仮想化部２１１は、生成されたＶＭ２１２に一意の識別子を付与して、当該ＶＭ２１２を管理する。
【００３０】
図１に示す例では、サーバ１（２１０−１）上で実行される仮想化部２１１−１は、識別子が「Ｂ１」であるＶＭ１（２１２−１）を稼動させる。サーバ２（２１０−２）上で実行される仮想化部２１１−２は、識別子が「Ｃ１」であるＶＭ２（２１２−２）を稼動させる。サーバ２（２１０−３）上で実行される仮想化部２１１−３は、識別子が「Ｃ２」であるＶＭ３（２１２−３）及び識別子が「Ｃ３」であるＶＭ４（２１２−４）を稼動させる。サーバ４（２１０−４）上で実行される仮想化部２１１−４は、識別子が「Ｄ１」であるＶＭ５（２１２−５）を稼動させる。
【００３１】
本実施形態における端末１００とＶＭ２１２との接続関係について説明する。
【００３２】
端末１（１００−１）については以下のような接続関係とする。端末１（１００−１）は、ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）及びＤＣＥ-ＳＷ１（１５０−１）を経由してＶＭ１（２１２−１）にアクセスする。また、端末１（１００−１）は、ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）、ＳＷ２（１３０−２）及びＤＣＥ-ＳＷ２（１５０−２）を経由してＶＭ２（２１２−２）にアクセスする。
【００３３】
端末２（１００−２）については以下のような接続関係とする。端末２（１００−２）は、ＵＥ−ＳＷ２（１１０−２）、ＳＷ２（１３０−２）、ＳＷ１（１３０−１）及びＤＣＥ-ＳＷ１（１５０−１）を経由してＶＭ１（２１２−１）にアクセスする。端末２（１００−２）は、ＵＥ−ＳＷ２（１１０−２）、ＳＷ２（１３０−２）及びＤＣＥ-ＳＷ２（１５０−２）を経由してＶＭ２（２１２−２）にアクセスする。さらに、端末２（１００−２）は、ＵＥ−ＳＷ２（１１０−２）、ＳＷ２（１１０−２）及びＤＣＥ-ＳＷ２（１５０−２）を経由してＶＭ３（２１２−３）にアクセスする。
【００３４】
本実施形態では、ＶＭ１（２１２−１）における負荷の増大を契機にマイグレーション処理が実行され、サーバ１（２１０−１）上で稼働していたＶＭ１（２１２−１）がサーバ２（２１０−２）上へ移動する場合を例に説明する。
【００３５】
図２は、本発明の第１の実施形態における転送装置（ＳＷ）のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。図２では、ＳＷ１３０を例に転送装置のハードウェア構成及びソフトウェア構成について説明する。
【００３６】
なお、ＵＥ−ＳＷ１１０及びＤＣＥ−ＳＷ１５０のハードウェア構成及びソフトウェア構成は同一であるため説明を省略する。
【００３７】
ＳＷ１３０は、ＣＰＵ４１０、メモリ４２０、内部スイッチ４３０、記憶媒体４４０及びポート１３１を備える。ＣＰＵ４１０、メモリ４２０及び内部スイッチ４３０は、バス４５０を介して互いに接続される。
【００３８】
ＣＰＵ４１０は、メモリ４２０に格納されるプログラムを実行する。ＣＰＵ４１０がプログラムを実行することによってＳＷ１３０が備える機能を実現できる。
【００３９】
メモリ４２０は、ＣＰＵ４１０によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ４２０に格納されるプログラム及び情報については後述する。
【００４０】
内部スイッチ４３０は、後述するＭＡＣ情報４２７に基づいて、ポート１３１間の接続を切り替え、所定の宛先の装置にデータフローを転送する。なお、内部スイッチ４３０は、ＣＰＵ４１０とは独立して稼動可能である。したがって、内部スイッチ４３０は、ＣＰＵ４１０に障害が発生した場合であってもデータフローの転送処理を継続することができる。
【００４１】
記憶媒体４４０は、所定の情報を格納する。なお、メモリ４２０上に格納されるプログラム及び情報は、記憶媒体４４０に格納されてもよい。この場合、ＣＰＵ４１０は、記憶媒体４４０からプログラム及び情報をメモリ４２０に読み出し、読み出されたプログラム及び情報を用いて所定の処理を実行する。
【００４２】
メモリ４２０は、ＲＡＲＰ（Ｒｅｖｅｒｓｅ  Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）処理プログラム４２５、ＭＡＣ情報制御プログラム４２６及びＭＡＣ情報４２７を格納する。
【００４３】
ＲＡＲＰ処理プログラム４２５は、ＭＡＣアドレスに基づいてＩＰアドレスを取得するプログラムである。ＭＡＣ情報制御プログラム４２６は、ＭＡＣアドレスの情報を管理するプログラムである。
【００４４】
ＭＡＣ情報４２７は、データフローを把握するための情報、すなわち、ＭＡＣアドレスに関する情報を格納する。ＭＡＣ情報４２７の詳細については、図４Ａ〜図４Ｆを用いて後述する。
【００４５】
なお、転送装置は、ハードウェアを用いて、ＲＡＲＰ処理プログラム４２５及びＭＡＣ情報制御プログラム４２６と同様の機能を実現してもよい。
【００４６】
図３は、本発明の第１の実施形態における管理装置３００のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【００４７】
管理装置３００は、ＣＰＵ５１０、メモリ５２０及びネットワークインタフェース５３０を備え、各構成はバス５４０を介して互いに接続される。
【００４８】
ＣＰＵ５１０は、メモリ５２０に格納されるプログラムを実行する。ＣＰＵ５１０がプログラムを実行することによって管理装置３００が備える機能を実現できる。
【００４９】
メモリ５２０は、ＣＰＵ５１０によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ５２０に格納されるプログラム及び情報については後述する。
【００５０】
ネットワークインタフェース５３０は、ネットワーク３５０を介して外部の装置と接続する。
【００５１】
メモリ５２０は、ＭＡＣ情報管理プログラム５２５、ＶＭ配置管理プログラム５２６、ＭＡＣ情報５２７及びＶＭ管理情報５２８を格納する。
【００５２】
ＭＡＣ情報管理プログラム５２５は、各転送装置のデータフローを把握するためのＭＡＣ情報５２７を管理するプログラムである。ＶＭ配置管理プログラム５２６は、ＶＭ２１２の配置を管理するプログラムである。本実施形態では、ＶＭ配置管理プログラム５２６によってＶＭ２１２のマイグレーション処理が実行される。
【００５３】
ＭＡＣ情報５２７は、各転送装置が転送するデータフローを把握するための情報、すなわち、ＭＡＣアドレスに関する情報を格納する。なお、管理装置３００は、転送装置の識別子とＭＡＣ情報５２７とを対応づけて管理する。ＶＭ管理情報５２８は、ＶＭ２１２を管理するための情報を格納する。
【００５４】
なお、図示していないが、メモリ５２０は、転送装置の識別子、転送装置が備えるポート及びポートの接続関係等を管理するトポロジー情報も格納する。これによってネットワーク３５０の構成を把握することができる。
【００５５】
なお、管理装置３００は、ハードウェアを用いて、ＭＡＣ情報管理プログラム５２５及びＶＭ配置管理プログラム５２６と同様の機能を実現してもよい。
【００５６】
図４Ａ〜図４Ｆは、本発明の第１の実施形態における各転送装置が保持するＭＡＣ情報４２７の一例を示す説明図である。まず、ＭＡＣ情報４２７の概要について説明する。
【００５７】
ＭＡＣ情報４２７は、宛先ＭＡＣアドレス４２７１及びポート４２７２を含む。
【００５８】
宛先ＭＡＣアドレス４２７１は、データフローの宛先となる装置を識別するためのＭＡＣアドレスを格納する。なお、仮想化部２１１は、各ＶＭ２１２に、仮想的なＭＡＣアドレスを割り当てる。これによって、仮想的なＭＡＣアドレスに基づいて各ＶＭ２１２を特定することができる。
【００５９】
ポート４２７２は、宛先ＭＡＣアドレス４２７１で指定されたデータフローを送信する場合に用いられポート１３１の識別子を格納する。
【００６０】
なお、ＭＡＣ情報４２７は、前述した情報に限定されず、その他の情報を含んでもよい。例えば、ＭＡＣ情報４２７は、送信元の端末１００のＭＡＣアドレスを含んでいてもよい。
【００６１】
図４Ａは、本発明の第１の実施形態におけるＵＥ−ＳＷ１（１１０−１）が保持するＭＡＣ情報４２７−１の一例を示す説明図である。
【００６２】
ＭＡＣ情報４２７−１は、二つのエントリ６１０−１、６１０−２を含む。
【００６３】
エントリ６１０−１の宛先ＭＡＣアドレス４２７１には、ＶＭ１（２１２−１）を示す「Ｂ１」が格納される。また、エントリ６１０−１のポート４２７２には、ポート１１１−２を示す「ポート２」が格納される。したがって、ＵＥ−ＳＷ１（１１０−１）は、宛先のＭＡＣアドレスが「Ｂ１」であるデータフローを受信した場合に、ポート１１１−２から当該データフローを送信する。
【００６４】
エントリ６１０−２の宛先ＭＡＣアドレス４２７１には、ＶＭ２（２１２−２）を示す「Ｃ１」が格納される。また、エントリ６１０−２のポート４２７２には、ポート１１１−２を示す「ポート２」が格納される。したがって、ＵＥ−ＳＷ１（１１０−１）は、宛先のＭＡＣアドレスが「Ｃ１」であるデータフローを受信した場合に、ポート１１１−２から当該データフローを送信する。
【００６５】
図４Ｂは、本発明の第１の実施形態におけるＵＥ−ＳＷ２（１１０−２）が保持するＭＡＣ情報４２７−２の一例を示す説明図である。
【００６６】
ＭＡＣ情報４２７−２は、三つのエントリ６２０−１、６２０−２、６２０−３を含む。
【００６７】
エントリ６２０−１の宛先ＭＡＣアドレス４２７１には、ＶＭ１（２１２−１）を示す「Ｂ１」が格納される。また、エントリ６２０−１のポート４２７２には、ポート１１１−４を示す「ポート２」が格納される。したがって、ＵＥ−ＳＷ２（１１０−２）は、宛先のＭＡＣアドレスが「Ｂ１」であるデータフローを受信した場合に、ポート１１１−４から当該データフローを送信する。
【００６８】
エントリ６２０−２の宛先ＭＡＣアドレス４２７１には、ＶＭ２（２１２−２）を示す「Ｃ１」が格納される。また、エントリ６２０−２のポート４２７２には、ポート１１１−４を示す「ポート２」が格納される。したがって、ＵＥ−ＳＷ２（１１０−２）は、宛先のＭＡＣアドレスが「Ｃ１」であるデータフローを受信した場合に、ポート１１１−４から当該データフローを送信する。
【００６９】
エントリ６２０−３の宛先ＭＡＣアドレス４２７１には、ＶＭ３（２１２−３）を示す「Ｃ２」が格納される。また、エントリ６２０−２のポート４２７２には、ポート１１１−４を示す「ポート２」が格納される。したがって、ＵＥ−ＳＷ２（１１０−２）は、宛先のＭＡＣアドレスが「Ｃ２」であるデータフローを受信した場合に、ポート１１１−４から当該データフローを送信する。
【００７０】
図４Ｃは、本発明の第１の実施形態におけるＳＷ１（１３０−１）が保持するＭＡＣ情報４２７−３の一例を示す説明図である。
【００７１】
ＭＡＣ情報４２７−３は、二つのエントリ６３０−１、６３０−２を含む。
【００７２】
エントリ６３０−１の宛先ＭＡＣアドレス４２７１には、ＶＭ１（２１２−１）を示す「Ｂ１」が格納される。また、エントリ６２０−１のポート４２７２には、ポート１３１−３を示す「ポート３」が格納される。したがって、ＳＷ１（１３０−１）は、宛先のＭＡＣアドレスが「Ｂ１」であるデータフローを受信した場合に、ポート１３１−３から当該データフローを送信する。
【００７３】
エントリ６３０−２の宛先ＭＡＣアドレス４２７１には、ＶＭ２（２１２−２）を示す「Ｃ１」が格納される。また、エントリ６３０−２のポート４２７２には、ポート１３１−４を示す「ポート４」が格納される。したがって、ＳＷ１（１３０−１）は、宛先のＭＡＣアドレスが「Ｃ１」であるデータフローを受信した場合に、ポート１３１−４から当該データフローを送信する。
【００７４】
図４Ｄは、本発明の第１の実施形態におけるＳＷ２（１３０−２）が保持するＭＡＣ情報４２７−４の一例を示す説明図である。
【００７５】
ＭＡＣ情報４２７−４は、三つのエントリ６４０−１、６４０−２、６４０−３を含む。
【００７６】
エントリ６４０−１の宛先ＭＡＣアドレス４２７１には、ＶＭ１（２１２−１）を示す「Ｂ１」が格納される。また、エントリ６２０−１のポート４２７２には、ポート１３１−６を示す「ポート２」が格納される。したがって、ＳＷ２（１３０−２）は、宛先のＭＡＣアドレスが「Ｂ１」であるデータフローを受信した場合に、ポート１３１−６から当該データフローを送信する。
【００７７】
エントリ６４０−２の宛先ＭＡＣアドレス４２７１には、ＶＭ２（２１２−２）を示す「Ｃ１」が格納される。また、エントリ６３０−２のポート４２７２には、ポート１３１−７を示す「ポート３」が格納される。したがって、ＳＷ２（１３０−２）は、宛先のＭＡＣアドレスが「Ｃ１」であるデータフローを受信した場合に、ポート１３１−７から当該データフローを送信する。
【００７８】
エントリ６４０−３の宛先ＭＡＣアドレス４２７１には、ＶＭ３（２１２−３）を示す「Ｃ２」が格納される。また、エントリ６４０−３のポート４２７２には、ポート１３１−７を示す「ポート３」が格納される。したがって、ＳＷ２（１３０−２）は、宛先のＭＡＣアドレスが「Ｃ２」であるデータフローを受信した場合に、ポート１３１−７から当該データフローを送信する。
【００７９】
図４Ｅは、本発明の第１の実施形態におけるＤＣＥ−ＳＷ１（１５０−１）が保持するＭＡＣ情報４２７−５の一例を示す説明図である。
【００８０】
ＭＡＣ情報４２７−５は、一つのエントリ６５０−１を含む。
【００８１】
エントリ６５０−１の宛先ＭＡＣアドレス４２７１には、ＶＭ１（２１２−１）を示す「Ｂ１」が格納される。また、エントリ６５０−１のポート４２７２には、ポート１５１−２を示す「ポート２」が格納される。したがって、ＤＣＥ−ＳＷ１（１５０−１）は、宛先のＭＡＣアドレスが「Ｂ１」であるデータフローを受信した場合に、ポート１５１−２から当該データフローを送信する。
【００８２】
図４Ｆは、本発明の第１の実施形態におけるＤＣＥ−ＳＷ２（１５０−２）が保持するＭＡＣ情報４２７−６の一例を示す説明図である。
【００８３】
ＭＡＣ情報４２７−６は、二つのエントリ６６０−１、６６０−２を含む。
【００８４】
エントリ６６０−１の宛先ＭＡＣアドレス４２７１には、ＶＭ２（２１２−２）を示す「Ｃ１」が格納される。また、エントリ６６０−１のポート４２７２には、ポート１５１−４を示す「ポート２」が格納される。したがって、ＤＣＥ−ＳＷ２（１５０−２）は、宛先のＭＡＣアドレスが「Ｃ１」であるデータフローを受信した場合に、ポート１５１−４から当該データフローを送信する。
【００８５】
エントリ６６０−２の宛先ＭＡＣアドレス４２７１には、ＶＭ３（２１２−３）を示す「Ｃ２」が格納される。また、エントリ６６０−２のポート４２７２には、ポート１５１−４を示す「ポート２」が格納される。したがって、ＤＣＥ−ＳＷ２（１５０−２）は、宛先のＭＡＣアドレスが「Ｃ２」であるデータフローを受信した場合に、ポート１５１−４から当該データフローを送信する。
【００８６】
図５Ａ及び図５Ｂは、本発明の第１の実施形態における管理装置３００が保持するＶＭ管理情報５２８の一例を示す説明図である。まず、ＶＭ管理情報５２８の概要について説明する。
【００８７】
ＶＭ管理情報５２８は、データセンタ識別子５２８１、サーバ識別子５２８２、サーバＣＰＵ負荷５２８３、ＶＭ識別子５２８４、ＶＭＭＡＣアドレス５２８５及びＶＭＣＰＵ負荷５２８６を含む。
【００８８】
データセンタ識別子５２８１は、データセンタ２０１の識別子を格納する。サーバ識別子５２８２は、データセンタ識別子５２８１に対応するデータセンタ２０１に含まれるサーバ２１０の識別子を格納する。
【００８９】
サーバＣＰＵ負荷５２８３は、サーバ識別子５２８２に対応するサーバ２１０が備えるＣＰＵ（図示省略）の負荷を表す情報を格納する。本実施形態では、ＣＰＵの使用率が格納される。
【００９０】
ＶＭ識別子５２８４は、サーバ識別子５２８２に対応するサーバ２１０上で稼動するＶＭ２１２の識別子を格納する。ＶＭＭＡＣアドレス５２８５は、ＶＭ識別子５２８４に対応するＶＭ２１２に割り当てられた仮想的なＭＡＣアドレスを格納する。
【００９１】
ＶＭＣＰＵ負荷５２８６は、ＶＭ識別子５２８４に対応するＶＭ２１２に割り当てられた仮想的なＣＰＵ（図示省略）の負荷を表す情報を格納する。本実施形態では、仮想的なＣＰＵの使用率が格納される。
【００９２】
なお、ＶＭ管理情報５２８は、前述した情報に限定されず、その他の情報を含んでもよい。
【００９３】
図５Ａは、本発明の第１の実施形態における管理装置３００が保持するＶＭ管理情報５２８の一例を示す説明図である。図５Ａは、マイグレーション処理が実行される前のＶＭ管理情報５２８を表す。
【００９４】
なお、管理装置３００は、各データセンタ２０１に含まれるサーバ２１０から取得した情報に基づいてＶＭ管理情報５２８を生成する。
【００９５】
図５Ａに示すように、サーバ１（２１０−１）のＣＰＵの使用率は８０％である。そこで、管理装置３００は、サーバ１（２１０−１）のＣＰＵ負荷を低減するために、サーバ１（２１０−１）上で稼動するＶＭ１（２１２−１）をサーバ２（２１０−２）にマイグレーションする。
【００９６】
本実施形態では、管理装置３００は、サーバ２１０のＣＰＵ負荷、及びサーバ２１０上で稼動するＶＭ２１２の数に基づいて、マイグレーション先のサーバ２１０を決定する。具体的には、管理装置３００は、ＣＰＵ負荷が小さく、かつ、稼動するＶＭ２１２の数が多いサーバ２１０をマイグレーション先のサーバ２１０に決定する。
【００９７】
なお、本発明は、マイグレーション先のサーバ２１０の決定方法に限定されず、前述した方法以外の方法を用いてもよい。
【００９８】
図５Ｂは、本発明の第１の実施形態における管理装置３００が保持するＶＭ管理情報５２８の一例を示す説明図である。図５Ｂは、マイグレーション処理が実行された後のＶＭ管理情報５２８を表す。
【００９９】
図５Ｂに示すように、ＶＭ１（２１２−１）がサーバ２（２１０−２）にマイグレーションされている。なお、ＶＭ１（２１２−１）の移動直後であるため、サーバＣＰＵ負荷５２８３及びＶＭＣＰＵ負荷５２８６には値が格納されていない。
【０１００】
図６は、本発明の第１の実施形態における転送装置が実行するＭＡＣ情報４２７の更新処理を説明するフローチャートである。
【０１０１】
ＣＰＵ４１０が、ＭＡＣ情報制御プログラム４２６を実行することによってＭＡＣ情報４２７の更新処理が開始される（ステップＳ１００）。
【０１０２】
ＣＰＵ４１０は、ＭＡＣ情報４２７の更新データを受信したか否かを判定する（ステップＳ１０１）。ＭＡＣ情報４２７の更新データは、管理装置３００から送信される。
【０１０３】
ＭＡＣ情報４２７の更新データを受信したと判定された場合、ＣＰＵ４１０は、受信した更新データに基づいてＭＡＣ情報４２７を更新し、ステップＳ１０１に戻る（ステップＳ１０２）。
【０１０４】
ＭＡＣ情報４２７の更新データを受信していないと判定された場合、ＣＰＵ４１０は、管理装置３００からＭＡＣ情報４２７の送信要求を受信したか否かを判定する（ステップＳ１０３）。
【０１０５】
管理装置３００からＭＡＣ情報４２７の送信要求を受信したと判定された場合、ＣＰＵ４１０は、ＭＡＣ情報４２７を管理装置３００に送信し、ステップＳ１０１に戻る（ステップＳ１０４）。なお、ＣＰＵ４１０は、転送装置の識別子とともにＭＡＣ情報４２７を送信する。
【０１０６】
管理装置３００からＭＡＣ情報４２７の送信要求を受信していない判定された場合、ＣＰＵ４１０は、ＲＡＲＰ処理プログラム４２５によってＭＡＣ情報４２７が更新され、かつ、当該更新から一定期間経過したか否かを判定する（ステップＳ１０５）。例えば、ＭＡＣ情報４２７の更新から５分経過したか否かが判定される。なお、本発明は期間に限定されず、どのような期間であってもよい。
【０１０７】
なお、ＲＡＲＰ処理プログラム４２５によって実行される処理については、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）のＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）に規定された標準的な処理であるため、説明を省略する。
【０１０８】
ステップＳ１０５の条件を満たすと判定されて場合、ＣＰＵ４１０は、ＭＡＣ情報４２７を管理装置３００に送信し、ステップＳ１０１に戻る（ステップＳ１０６）。
【０１０９】
ステップＳ１０５の条件を満たさないと判定された場合は、ＣＰＵ４１０は、ステップＳ１０１に戻る。
【０１１０】
図７Ａ及び図７Ｂは、本発明の第１の実施形態における計算機システム全体の処理の流れを説明するシーケンス図である。図７Ａ及び図７Ｂでは、サーバ１（２１０−１）上で稼動するＶＭ１（２１２−１）が、サーバ２（２１０−２）にマイグレーションする場合の処理を示す。当該処理に関係のない構成は省略している。
【０１１１】
ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）、ＳＷ２（１３０−２）、ＤＣＥ−ＳＷ１（１５０−１）及びＤＣＥ−ＳＷ２（１５０−２）は、ネットワーク３５０を介したデータフローの転送処理を実行すると共に、ＭＡＣアドレスを自動的に学習してＭＡＣ情報４２７を生成する（ステップＳ２００）。
【０１１２】
これによって、図４Ａ〜図４Ｆに示すようなＭＡＣ情報４２７が生成される。なお、ＭＡＣアドレスの自動学習方法については、レイヤ２のスイッチ等の転送装置が備える標準的な機能であるため説明を省略する。
【０１１３】
管理装置３００は、ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）、ＳＷ２（１３０−２）、ＤＣＥ−ＳＷ１（１５０−１）及びＤＣＥ−ＳＷ２（１５０−２）のそれぞれに、ＭＡＣ情報４２７の送信要求を送信する（ステップＳ２０１〜ステップＳ２０５）。
【０１１４】
ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）、ＳＷ２（１３０−２）、ＤＣＥ−ＳＷ１（１５０−１）及びＤＣＥ−ＳＷ２（１５０−２）は、ＭＡＣ情報４２７の送信要求を受信すると、それぞれ、ＭＡＣ情報４２７を管理装置３００に送信する（ステップＳ２０６〜ステップＳ２１０）。
【０１１５】
管理装置３００は、受信したＭＡＣ情報４２７に基づいて、ＭＡＣ情報５２７を更新する（ステップＳ２１１）。なお、対応するＭＡＣ情報５２７がない場合、管理装置３００は、新たにＭＡＣ情報５２７を生成する。ここで、ＭＡＣ情報５２７について説明する。
【０１１６】
図８Ａ〜図８Ｆは、本発明の第１の実施形態における管理装置３００が保持するＭＡＣ情報５２７の一例を示す説明図である。
【０１１７】
図８Ａは、本発明の第１の実施形態におけるＵＥ−ＳＷ１（１１０−１）に関するＭＡＣ情報５２７−１の一例を示す説明図である。図８Ｂは、本発明の第１の実施形態におけるＵＥ−ＳＷ２（１１０−２）に関するＭＡＣ情報５２７−２の一例を示す説明図である。図８Ｃは、本発明の第１の実施形態におけるＳＷ１（１３０−１）に関するＭＡＣ情報５２７−３の一例を示す説明図である。図８Ｄは、本発明の第１の実施形態におけるＳＷ２（１３０−２）に関するＭＡＣ情報５２７−４の一例を示す説明図である。図８Ｅは、本発明の第１の実施形態におけるＤＣＥ−ＳＷ１（１５０−１）に関するＭＡＣ情報５２７−５の一例を示す説明図である。図８Ｆは、本発明の第１の実施形態におけるＤＣＥ−ＳＷ２（１５０−２）に関するＭＡＣ情報５２７−６の一例を示す説明図である。
【０１１８】
ＭＡＣ情報５２７は、宛先ＭＡＣアドレス５２７１、ポート５２７２及び更新フラグ５２７３を含む。
【０１１９】
宛先ＭＡＣアドレス５２７１は、宛先ＭＡＣアドレス４２７１と同一のものであり、ポート５２７２は、ポート４２７２と同一のものである。
【０１２０】
更新フラグ５２７３は、ＶＭ２１２のマイグレーションによって対応するエントリが更新されか否かを示す情報を格納する。ＭＡＣ情報５２７の生成時には、エントリが更新されていないことを示す「無し」が格納される。一方、ＶＭマイグレーションに伴いエントリが更新、又は追加された場合、更新フラグ５２７３には「有り」が格納される。
【０１２１】
図７Ａ及び図７Ｂの説明に戻る。
【０１２２】
サーバ１（２１０−１）及びサーバ２（２１０−２）は、周期的にサーバ２１０の稼動状態を管理装置３００に通知する（ステップＳ２１２、ステップＳ２１３）。具体的には、サーバ２１０は、当該サーバ２１０の稼動状態情報を管理装置３００に送信する。サーバ２１０が稼動状態情報を送信するタイミングとしては、１分ごと若しくは３分ごと、又は、サーバ２１０の負荷が所定の閾値以上になった場合などが考えられる。
【０１２３】
サーバの稼動状況情報には、サーバ２１０の識別子、サーバ２１０が備えるＣＰＵの負荷、ＶＭ２１２の識別子、ＶＭ２１２に割り当てられたＭＡＣアドレス、及びＶＭ２１２に割り当てられた仮想ＣＰＵの負荷が含まれる。なお、ＶＭ２１２へのメモリの割当量、ＶＭ２１２のメモリ使用量、及びネットワーク帯域の消費量等が含まれてもよい。
【０１２４】
管理装置３００は、サーバ２１０から受信した稼動状態情報に基づいて、ＶＭ管理情報５２８を更新する（ステップＳ２１４）。なお、対応するＶＭ管理情報５２８がない場合、管理装置３００は、ＶＭ管理情報５２８を生成する。
【０１２５】
本実施形態では、管理装置３００がＶＭ管理情報５２８を参照して、ＶＭ１（２１２−１）をマイグレーション処理の対象に決定する。以下、マイグレーション処理の対象となるＶＭ２１２を移動対象ＶＭ２１２とも記載する。
【０１２６】
管理装置３００は、移動対象ＶＭ２１２の移動先となるサーバ２１０を決定する（ステップＳ２１５）。例えば、サーバ２１０のＣＰＵ負荷が最も小さいサーバ２１０をマイグレーション先のサーバ２１０に決定する方法が考えられる。なお、マイグレーション先のサーバ２１０を決定する方法は、どのようなものであってもよく、計算機資源の空き容量、ネットワーク帯域の消費量を用いて決定してもよい。
【０１２７】
本実施形態では、サーバ２（２１０−２）がＶＭ１（２１２−１）の移動先として決定されたものとする。
【０１２８】
管理装置３００は、サーバ２（２１０−２）にＶＭ１（２１２−１）宛のデータフローを転送するために、ＭＡＣ情報４２７における更新データの算出処理を実行する（ステップＳ２１６）。また、管理装置３００は、更新データの算出処理と並列して、サーバ２（２１０−２）にＶＭ生成指示を送信する（ステップＳ２１７）。
【０１２９】
サーバ２（２１０−２）は、ＶＭ生成指示を受信すると、ＶＭ１（２１２−１）を移動するために必要な計算機資源（例えば、ＣＰＵ及びメモリのリソース等）を確保し、生成完了を通知する（ステップＳ２１８）。
【０１３０】
管理装置３００は、生成完了の通知を受信すると、サーバ１（２１０−１）に、ＶＭ１（２１２−１）の移動（マイグレーション処理の開始）を指示する（ステップＳ２１９）。なお、マイグレーション処理は、公知の技術であるため説明を省略する。
【０１３１】
サーバ１（２１０−１）は、ＶＭ１（２１２−１）の移動指示を受信すると、ＶＭ１（２１２−１）をサーバ２（２１０−２）へマイグレーションする（ステップＳ２２０）。サーバ２（２１０−２）は、マイグレーション処理の完了を検出すると、管理装置３００に移動完了を通知する（ステップＳ２２１）。
【０１３２】
管理装置３００は、更新データの算出処理が完了し、かつ、移動完了の通知を受信した後、ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）、ＳＷ２（１３０−２）、ＤＣＥ−ＳＷ１（１５０−１）及びＤＣＥ−ＳＷ２（１５０−２）に、算出された更新データを含むＭＡＣ情報４２７の更新指示を送信する（ステップ２２２〜ステップＳ２２６）。
【０１３３】
ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）、ＳＷ２（１３０−２）、ＤＣＥ−ＳＷ１（１５０−１）及びＤＣＥ−ＳＷ２（１５０−２）は、受信した更新データに基づいて、ＭＡＣ情報４２７を更新する。
【０１３４】
図９Ａ及び図９Ｂは、本発明の第１の実施形態における管理装置３００が実行する処理の詳細を説明するフローチャートである。
【０１３５】
ＣＰＵ４１０が、ＭＡＣ情報管理プログラム５２５及びＶＭ配置管理プログラム５２６を実行することによって処理が開始される（ステップＳ３００）。
【０１３６】
ＣＰＵ４１０は、各転送装置にＭＡＣ情報４２７の送信要求を送信する（ステップＳ３０１）。本実施形態では、ＵＥ−ＳＷ１（１１０−１）、ＵＥ−ＳＷ２（１１０−２）、ＳＷ１（１３０−１）、ＳＷ２（１３０−２）、ＤＣＥ−ＳＷ１（１５０−１）、ＤＣＥ−ＳＷ２（１５０−２）及びＤＣＥ−ＳＷ３（１５０−３）にＭＡＣ情報４２７の送信要求が送信される。
【０１３７】
ＣＰＵ４１０は、転送装置からＭＡＣ情報４２７を受信したか否かを判定する（ステップＳ３０２）。
【０１３８】
転送装置からＭＡＣ情報４２７を受信したと判定された場合、ＣＰＵ４１０は、受信したＭＡＣ情報４２７に基づいて、ＭＡＣ情報５２７を更新し、ステップＳ３０２に戻る（ステップＳ３０３）。
【０１３９】
転送装置からＭＡＣ情報４２７を受信していないと判定された場合、ＣＰＵ４１０は、各サーバ２１０から稼動状態情報を受信したか否か判定する（ステップＳ３０４）。
【０１４０】
サーバ２１０から稼動状態情報を受信していないと判定された場合、ＣＰＵ４１０は、ステップＳ３０２に戻る。
【０１４１】
サーバ２１０から稼動状態情報を受信したと判定された場合、ＣＰＵ４１０は、受信した稼動状態情報に基づいてＶＭ管理情報５２８を更新し、ＶＭ２１２を再配置するか否か判定する（ステップＳ３０５）。すなわち、マイグレーション処理を実行するか否かが判定される。
【０１４２】
本実施形態では、サーバＣＰＵ負荷５２８３の値が８０％以上の場合に、ＶＭ２１２の再配置が必要であると判定される。そのため、管理装置３００は、サーバ１（２１０−１）上で稼動するＶＭ１（２１２−１）をマイグレーションする必要があると判定する。
【０１４３】
ＶＭ２１２を再配置しない、すなわち、マイグレーション処理を実行しないと判定された場合、ＣＰＵ４１０は、ステップＳ３０２に戻る。
【０１４４】
ＶＭ２１２を再配置する、すなわち、マイグレーション処理を実行すると判定された場合、ＣＰＵ４１０は、移動対象ＶＭ２１２を決定し、さらに、決定された移動対象ＶＭ２１２の移動先のサーバ２１０を決定する（ステップＳ３０６）。本実施形態では、ＣＰＵ４１０は、サーバ１（２１０−１）上で稼働するＶＭ１（２１２−１）を移動対象ＶＭ２１２に決定し、サーバ２（２１０−２）を移動先のサーバ２１０に決定する。
【０１４５】
次に、ステップＳ３０７からステップＳ３１１において、ＣＰＵ４１０は、端末１００と移動前の移動対象ＶＭ２１２が稼動するサーバ２１０との間で送受信されるデータフローが通過する第１の転送経路と、当該端末１００を収容するＵＥ−ＳＷ１１０と移動先のサーバ１００との間で送受信されるデータフローが通過する第２の転送経路とを検索する。
【０１４６】
ＣＰＵ４１０は、端末１００を収容し、かつ、移動対象ＶＭ２１２宛のデータフローを転送する転送装置を検索する（ステップＳ３０７）。具体的には、以下のような処理が実行される。
【０１４７】
ＣＰＵ４１０は、ＵＥ−ＳＷ１１０に対応するＭＡＣ情報５２７を参照して、移動対象ＶＭ１（２１０−１）の識別子に一致するエントリを含むＭＡＣ情報５２７を検索する。なお、ＣＰＵ４１０は、トポロジー情報等からＵＥ−ＳＷ１１０を特定することができる。
【０１４８】
ＣＰＵ４１０は、検索されたＭＡＣ情報５２７に対応するＵＥ−ＳＷ１１０を処理対象のＵＥ−ＳＷ１１０として特定する。本実施形態では、ＵＥ−ＳＷ１（１１０−１）及びＵＥ−ＳＷ２（１１０−２）が処理対象のＵＥ−ＳＷ１１０となる。以下、検索されたＵＥ−ＳＷ１１０を始点転送装置とも記載する。始点転送装置は、第１の転送経路及び第２の転送経路の始点となる転送装置である。
【０１４９】
ＣＰＵ４１０は、全ての始点転送装置に対して処理が終了したか否かを判定する（ステップＳ３０８）。すなわち、全ての始点転送装置に対する処理において、未処理の始点転装置が存在するか否かが判定される。
【０１５０】
全ての始点転送装置に対して処理が終了したと判定された場合、すなわち、未処理の始点転送装置が存在しないと判定された場合、ＣＰＵ４１０は、ステップＳ３１５へ進む。
【０１５１】
全ての始点転送装置に対して処理が終了していないと判定された場合、すなわち、未処理の始点転送装置が存在すると判定された場合、ＣＰＵ４１０は、未処理の処理対象ＵＥ−ＳＷ１１０の中からＵＥ−ＳＷ１１０を一つ選択し、ステップＳ３０９に進む。
【０１５２】
ＣＰＵ４１０は、選択された処理対象ＵＥ−ＳＷ１１０が転送するデータフローのうち、移動先のサーバ２１０上で稼動するＶＭ２１２宛に転送されるデータフローが存在するか否かを判定する（ステップＳ３０９）。具体的には、以下のような処理が実行される。
【０１５３】
ＣＰＵ４１０は、まず、選択された処理対象ＵＥ−ＳＷ１１０に対応するＭＡＣ情報５２７を参照し、移動対象ＶＭ２１２以外のＶＭ２１２のＭＡＣアドレスを取得する。さらに、ＣＰＵ４１０は、ＶＭ管理情報５２８を参照して、移動先のサーバ２１０上で稼動する全てのＶＭ２１２のＭＡＣアドレスを取得する。
【０１５４】
本実施形態では、ＣＰＵ４１０は、移動対象ＶＭ２１２のＭＡＣアドレスが「Ｂ１」であるため、それ以外のＭＡＣアドレス、すなわち、ＭＡＣアドレス「Ｃ１」を取得する。さらに、ＣＰＵ４１０は、ＶＭ管理情報５２８を参照して、移動先のサーバ２１０上で稼動する全てのＶＭ２１２を確認し、全てのＶＭ２１２のＭＡＣアドレスを取得する（本実施形態では、ＭＡＣアドレスが「Ｃ１」を取得する）。
【０１５５】
ＣＰＵ４１０は、ＭＡＣ情報５２７から取得されたＭＡＣアドレスの中に、ＶＭ管理情報５２８から取得されたＭＡＣアドレスと一致するものがあるか否かを判定する。
【０１５６】
一致するＭＡＣアドレスが一以上ある場合、ＣＰＵ４１０は、ステップＳ３０９の条件を満たすと判定する。以下、一致するＭＡＣアドレスを対象ＭＡＣアドレスとも記載する。
【０１５７】
本実施形態では、ＵＥ−ＳＷ１（１１０−１）は、移動先のサーバ２（２１０−２）上で稼動するＶＭ２（２１２−２）宛にデータフローを転送しているため、ステップＳ３０９の条件を満たすと判定する。
【０１５８】
なお、移動先のサーバ２１０を含むデータセンタ２０１内の全てのサーバ２１０上で稼動するＶＭ２１２のＭＡＣアドレスを取得して、前述した判定処理を実行してもよい。また、ＣＰＵ４１０は、対象ＭＡＣアドレスの情報をメモリ４２０に格納する。
【０１５９】
以上がステップＳ３０９の処理である。
【０１６０】
ステップＳ３０９の条件を満たさないと判定された場合、ＣＰＵ４１０は、従来のＭＡＣ情報５２７の更新処理を実行して、ステップＳ３０２に戻る（ステップＳ３１４）。例えば、ＣＰＵ４１０は、トポロジー情報（図示省略）を用いてＭＡＣ情報５２７を更新する方法、又は、移動先のサーバ２１０を起点としたＲＡＲＰのフラッディングによる方法などを用いることが考えられる。
【０１６１】
ステップＳ３０９の条件を満たすと判定された場合、ＣＰＵ４１０は、対象ＭＡＣアドレスを一つ選択する（ステップＳ３１０）。選択された対象ＭＡＣアドレスに対応するＶＭ２１２を移動先ＶＭ２１２とも記載する。
【０１６２】
ステップＳ３０７〜ステップＳ３１０までの処理によって、ＣＰＵ４１０は、後述する転送経路を検索するための始点及び終点を特定することができる。
【０１６３】
ＣＰＵ４１０は、既存の転送経路の中から第１の転送経路を検索し、また、既存の転送経路の中から第２の転送経路を一以上検索する（ステップＳ３１１）。
【０１６４】
ここで、第１の転送経路は、処理対象ＵＥ−ＳＷ１１０から移動元のサーバ２１０を収容する転送装置ＤＣＥ−ＳＷ１５０まで転送経路であり、第２の転送経路は、処理対象ＵＥ−ＳＷ１１０から移動先のサーバ２１０を収容する転送装置ＤＣＥ−ＳＷ１５０までの転送経路である。また、既存の転送経路とは、現在、ネットワーク内において送受信されるデータフローが転送される転送経路を示す。
【０１６５】
具体的には、ＣＰＵ４１０は、移動対象ＶＭ２１２のＭＡＣアドレス「Ｂ１」に基づいてＭＡＣ情報５２７を参照して、ステップＳ３０８において選択された処理対象ＵＥ−ＳＷ１１０から、移動元のサーバ２１０が含まれるデータセンタ２０１までの転送経路を検索する。また、ＣＰＵ４１０は、ステップＳ３１０において選択したＭＡＣアドレス「Ｃ１」に基づいてＭＡＣ情報５２７を参照して、ステップＳ３０８において選択された処理対象ＵＥ−ＳＷ１１０から、移動先のサーバ２１０が含まれるデータセンタ２０１までの転送経路を検索する。
【０１６６】
本実施形態では、ＵＥ−ＳＷ１（１１０−１）からＤＣＥ−ＳＷ１（１５０−１）までの転送経路が第１の転送経路として検索され、ＵＥ−ＳＷ１（１１０−１）からＤＣＥ−ＳＷ２（１５０−２）までの転送経路が第２の転送経路として検索される。
【０１６７】
ＣＰＵ４１０は、検索された第１の転送経路及び第２の転送経路に含まれる転送装置を特定し、特定された転送装置の識別子をメモリ４２０に格納する。（ステップＳ３１２）。
【０１６８】
本実施形態では、ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）及びＤＣＥ-ＳＷ１（１５０−１）が第１の転送経路に含まれる転送装置として特定され、また、ＵＥ−ＳＷ１（１１０−１）、ＳＷ１（１３０−１）、ＳＷ２（１３０−２）及びＤＣＥ-ＳＷ２（１５０−２）が第２の転送経路に含まれる転送装置として特定される。
【０１６９】
以下、特定された転送装置を、更新候補の転送装置とも記載する。
【０１７０】
ＣＰＵ４１０は、各転送経路に含まれる更新候補の転送装置毎に、ＭＡＣ情報４２７の更新データの算出処理を実行する（ステップＳ３１３）。なお、ＭＡＣ情報４２７の更新データの算出処理の詳細については、図１０を用いて後述する。
【０１７１】
ステップＳ３０８において、全ての始点転送装置に対して処理が終了したと判定された場合、ＣＰＵ４１０は、ＭＡＣ情報５２７の更新フラグ５２７３を全てリセットし（ステップＳ３１５）、ステップＳ３０２に戻る。具体的には、ＣＰＵ４１０は、更新フラグ５２７３を「無し」に設定する。
【０１７２】
本実施形態では、ステップＳ３０７〜ステップＳ３１２の処理によって、ＣＰＵ４１０は、移動先のサーバ２１０へ接続可能な既存の転送経路（第２の転送経路）があるか否かを判定する。当該既存の転送経路の設定情報を用いることによって転送経路の検索処理の処理コストを削減することができる。さらに、ステップＳ３１３の処理によって、更新データの算出処理を実行する転送装置を絞り込むことができる。
【０１７３】
図１０は、本発明の第１の実施形態における管理装置３００が実行する更新データの算出処理の詳細を説明するフローチャートである。
【０１７４】
管理装置３００は、検索された転送経路毎に以下で説明する処理を実行する。本実施形態では、第１の転送経路及び第２の転送経路のそれぞれについて処理が実行される。
【０１７５】
ＣＰＵ４１０は、転送経路に含まれる全ての更新候補の転送装置について処理が終了したか否かを判定する（ステップＳ４０１）。
【０１７６】
転送経路に含まれる全ての更新候補の転送装置について処理が終了していないと判定された場合、ＣＰＵ４１０は、更新候補の転送装置を一つ選択して、当該転送装置に対応するＭＡＣ情報５２７を取得する（ステップＳ４０２）。
【０１７７】
ＣＰＵ４１０は、取得されたＭＡＣ情報５２７を参照して、移動対象ＶＭ２１２に対応するエントリがあり、かつ、当該エントリのポート５２７２にポートの識別子が格納されているか否かを判定する（ステップＳ４０３）。
【０１７８】
例えば、ＭＡＣ情報５２７−１の場合、移動対象ＶＭ１（２１２−１）に対応するエントリ７１０−１があり、ポート５２７２には「ポート２」が格納されているためステップＳ４０３の条件を満たすと判定される。
【０１７９】
ステップＳ４０３の条件を満たすと判定された場合、ＣＰＵ４１０は、取得されたＭＡＣ情報５２７を参照して、移動先ＶＭ２１２に対応するエントリがあり、かつ、当該エントリのポート５２７２にポートの識別子が格納されているか否かを判定する（ステップＳ４０４）。
【０１８０】
例えば、ＭＡＣ情報５２７−１の場合、移動先ＶＭ２（２１２−２）に対応するエントリ７１０−２があり、かつ、当該エントリ７１０−１のポート５２７２にポートに識別子が格納されているため、ステップＳ４０４の条件を満たすと判定される。
【０１８１】
ステップＳ４０４の条件を満たすと判定された場合、ＣＰＵ４１０は、移動対象ＶＭ２１２に対応するエントリのポート５２７２と移動先ＶＭ２１２に対応するエントリのポート５２７２とが異なるか否かを判定する（ステップＳ４０５）。
【０１８２】
例えば、ＭＡＣ情報５２７−１の場合、移動対象ＶＭ２１２のポート５２７２と移動先ＶＭ２１２のポート５２７２とは同一であるため、ステップＳ４０５の条件は満たさないと判定される。一方、ＭＡＣ情報５２７−４の場合、移動対象ＶＭ２１２のポート５２７２と移動先ＶＭ２１２のポート５２７２とは異なる、ステップＳ４０５の条件を満たすと判定される。
【０１８３】
ステップＳ４０５の条件を満たさないと判定された場合、ＣＰＵ４１０は、処理を終了する。これは、すでに、更新候補の転送装置には、移動先のサーバ２１０宛のデータフローを転送するための設定がされているためである。
【０１８４】
ステップＳ４０５の条件を満たすと判定された場合、ＣＰＵ４１０は、移動対象ＶＭ２１２のポート５２７２の値を、移動先ＶＭ２１２のポート５２７２の値に変更し、ステップＳ４０１に戻る（ステップＳ４０６）。また、ＣＰＵ４１０は、移動対象ＶＭ２１２に対応するエントリの更新フラグ５２７３を「有り」に変更する。これによって、更新候補の転送装置は移動先のサーバ２１０宛にデータフローを転送できる。
【０１８５】
ステップＳ４０３において、ステップＳ４０３の条件を満たさないと判定された場合、ＣＰＵ４１０は、取得されたＭＡＣ情報５２７を参照して、移動先ＶＭ２１２に対応するエントリがあり、かつ、当該エントリのポート５２７２にポートの識別子が格納されているか否かを判定する（ステップＳ４０７）。ステップＳ４０７の処理は、ステップＳ４０４と同一の処理である。
【０１８６】
ステップＳ４０７の条件を満たさないと判定された場合、ＣＰＵ４１０はステップＳ４０１に戻る。
【０１８７】
ステップＳ４０７の条件を満たすと判定された場合、ＣＰＵ４１０は、ＭＡＣ情報５２７に移動対象ＶＭ２１２のエントリを追加し、ステップＳ４０１に戻る（ステップＳ４０８）。
【０１８８】
具体的には、ＣＰＵ４１０は、追加されたエントリの宛先ＭＡＣアドレス５２７１に移動対象ＶＭ２１２の識別子を格納し、ポート５２７２に移動先ＶＭ２１２のポート５２７２の値を格納し、さらに、更新フラグ５２７３に「有り」を格納する。
【０１８９】
ステップＳ４０４において、ステップＳ４０４の条件を満たさないと判定された場合、ＣＰＵ４１０は、移動対象ＶＭ２１２のエントリを削除し、ステップＳ４０１に戻る（ステップＳ４０９）。ただし、移動対象ＶＭ２１２に対応するエントリの更新フラグ５２７３が「有り」である場合には、当該エントリは削除されない。
【０１９０】
ステップＳ４０１において、転送経路に含まれる全ての更新候補の転送装置について処理が終了したと判定された場合、ＣＰＵ４１０は、各転送装置のＭＡＣ情報５２７に基づいて更新データを生成する（ステップＳ４１０）。更新データには、ＭＡＣアドレス及びポートの識別子が含まれる。また、ＣＰＵ４１０は、更新されたＭＡＣ情報５２７に対応する転送装置の識別子と、更新データとを対応づけて保持する。
【０１９１】
なお、更新データはその他の情報を含んでいてもよい。また、ＣＰＵ４１０は、全てのＭＡＣ情報５２７の処理が終了した後に更新データを生成しなくてもよく、ステップＳ４０６、ステップＳ４０８及びステップＳ４０９のように、ＭＡＣ情報５２７の更新時に更新情報を生成してもよい。この場合、ステップＳ４１０の処理は省略することができる。
【０１９２】
ＣＰＵ４１０は、更新データを送信する転送装置、すなわち、ＭＡＣ情報５２７が更新された転送装置を特定し、特定された転送装置に更新データを送信して処理を終了する（ステップＳ４１１）。
【０１９３】
本実施形態では、図１０に示す更新データの算出処理によって図１１Ａ〜図１１Ｄに示すようにＭＡＣ情報５２７が更新される。
【０１９４】
図１１Ａは、本発明の第１の実施形態におけるＳＷ１（１３０−１）に関するＭＡＣ情報５２７−３の一例を示す説明図である。図１１Ｂは、本発明の第１の実施形態におけるＳＷ２（１３０−２）に関するＭＡＣ情報５２７−４の一例を示す説明図である。図１１Ｃは、本発明の第１の実施形態におけるＤＣＥ−ＳＷ１（１５０−１）に関するＭＡＣ情報５２７−５の一例を示す説明図である。図１１Ｄは、本発明の第１の実施形態におけるＤＣＥ−ＳＷ２（１５０−２）に関するＭＡＣ情報５２７−６の一例を示す説明図である。
【０１９５】
図１１Ａに示すように、ＭＡＣ情報５２７−３のエントリ７３０−１のポート５２７２がエントリ７３０−２のポート５２７２と同一の「ポート４（１３１−４）」になるように変更されている。また、更新フラグ５２７３には「有り」が格納される。
【０１９６】
図１１Ｂに示すように、ＭＡＣ情報５２７−４のエントリ７４０−１のポート５２７２がエントリ７４０−２のポート５２７２と同一の「ポート３（１３１−７）」になるように変更されている。また、更新フラグ５２７３には「有り」が格納される。
【０１９７】
図１１Ｃに示すように、ＭＡＣ情報５２７−５のエントリ７５０−１は削除される。
【０１９８】
図１１Ｄに示すように、ＭＡＣ情報５２７−６には、新たなエントリ７６０−３が追加され、当該エントリ７６０−３の宛先ＭＡＣアドレス５２７１には「Ｂ１」、ポート５２７２にはエントリ７６０−１のポート５２７２と同一の「ポート２（１５１−４）」、さらに、更新フラグ５２７３には「有り」が格納される。
【０１９９】
本実施形態では、図１０に示すように一定の規則に基づいてＭＡＣ情報５２７が更新される。具体的には、以下の三つの規則に基づいてＭＡＣ情報５２７が更新される。
【０２００】
第１の規則では、ＣＰＵ４１０は、移動対象ＶＭ２１２及び移動先ＶＭ２１２に対応するエントリがペアで存在し、各エントリのポート５２７２の値が異なる場合、移動先ＶＭ２１２宛のデータフローが出力されるポートと同一になるように、移動対象ＶＭ２１２宛のデータフローが出力されるポートを設定する。
【０２０１】
第２の規則では、ＣＰＵ４１０は、移動対象ＶＭ２１２に対応するエントリのみがある場合、当該エントリを削除する。ただし、一連の更新処理においてすでに更新されているエントリである場合、すなわち、更新フラグ５２７３が「有り」のエントリは削除されない。
【０２０２】
第３の規則では、ＣＰＵ４１０は、移動先ＶＭ２１２に対応するエントリのみがある場合、移動対象ＶＭ２１２に対応するエントリを追加し、移動先ＶＭ２１２宛のデータフローが出力されるポートと同一になるように、移動対象ＶＭ２１２宛のデータフローが出力されるポートを設定する。
【０２０３】
第１の規則、第２の規則及び第３の規則に基づいてＭＡＣ情報５２７を更新することによって、第１の転送経路及び第２の転送経路に含まれる転送装置の中から、更新が必要な転送装置のみを特定することができる。
【０２０４】
以上のように、本発明の第１の実施形態によれば、管理装置３００は、ＶＭ２１２のマイグレーション時に、データフローを転送するための設定を変更する転送装置にのみ、必要な更新データを送信することができる。また、管理装置３００は、既存の転送経路に基づいて更新データを算出するため、更新データを高速に算出することができる。
【０２０５】
なお、第１の実施形態では、ＭＡＣアドレスを用いてデータフローの宛先を識別しているが、その他の識別子、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルが規定する各層における識別情報、又は、各層の識別情報を組み合わせて用いてもよい。例えば、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）番号を用いてもよい。
【０２０６】
また、第１の実施形態では、ネットワーク３５０に含まれる転送装置を対象としていたが本発明はこれに限定されない。例えば、データセンタ２０１内におけるマイグレーション処理時において、ネットワーク２２０における転送装置についても同様の処理を適用することができる。この場合、データセンタ内に管理装置３００と同一の機能を備えた計算機を含めることによって実現することができる。
【０２０７】
さらに、第１の実施形態では、ネットワーク３５０におけるデータフロー転送が単一経路方式のネットワークを対象としていたが、複数パスの転送経路を可能とするネットワークを対象としてもよい。すなわち、移動先ＶＭ２１２に対するポートがテーブル５２７に複数記載されている場合は、移動対象ＶＭ２１２に対するポートとして複数ポート記載することによって、複数の転送経路を経由したデータフロー転送を実現してもよい。
【０２０８】
［第２の実施形態］
第２の実施形態では、論理ボリュームの移動に伴い、移動先の論理ボリュームへデータを転送するための設定を変更する。以下、第１の実施形態との差異を中心に説明する。
【０２０９】
図１２は、本発明の第２の実施形態におけるクラウドサービスを提供する計算機システムの構成例を示す説明図である。
【０２１０】
本実施形態における計算機システムは、端末１００、ＵＥ−ＳＷ１１０、ＳＷ１３０、ＤＣＥ−ＳＷ１５０、データセンタ２０１、データセンタ８００及び管理装置３００から構成される。端末１００、ＵＥ−ＳＷ１１０、ＳＷ１３０及びＤＣＥ−ＳＷ１５０は、第１の実施形態と同一であるため説明を省略する。
【０２１１】
本実施形態では、計算機資源としてＶＭ２１２を提供するデータセンタ２０１の他に、計算機資源として論理ボリューム８１１を提供するデータセンタ８００を含む点が第１の実施形態と異なる。
【０２１２】
データセンタ８００は、１以上のストレージシステム８１０を備え、ストレージシステム８１０が管理するＬＵ８１１を提供する。ストレージシステム８１０の詳細については図１３を用いて後述する。
【０２１３】
本実施形態では、ＶＭ１（２１２−１）がＬＵ１（８１１−１）を用いて所定のサービスを提供しており、端末１（１００−１）がＬＵ１（８１１−１）にアクセスしているものとする。また、本実施形態では、ＬＵ１（８１１−１）をストレージシステム８１０−１からストレージシステム８１０−２へマイグレーションする例について説明する。
【０２１４】
図１３は、本発明の第２の実施形態におけるストレージシステム８１０−１の構成例を示すブロック図である。
【０２１５】
ストレージシステム８１０−１は、制御部９００、ネットワークインタフェース９１０、ストレージインタフェース９２０及び複数の記憶媒体９３０を備える。制御部９００、ネットワークインタフェース９１０及びストレージインタフェース９２０は、バス９４０を介して互いに接続される。また、ストレージインタフェース９２０と記憶媒体９３０とは、直接接続されてもよいし、ＳＡＮ等のネットワークを介して接続されてもよい。
【０２１６】
制御部９００は、ストレージシステム８１０全体を制御する。制御部９００には、ＣＰＵ（図示省略）及びメモリ（図示省略）が含まれる。また、当該メモリ（図示省略）には、ＬＵ管理プログラム（図示省略）及びＬＵ構成情報（図示省略）が格納される。ＬＵ管理プログラムは、ＬＵを管理するためのプログラムであり、ＬＵ構成情報は、ＬＵを管理するための情報を格納する。
【０２１７】
ネットワークインタフェース９１０は、ネットワーク３５０に接続するためのインタフェースである。本実施形態では、ＦＣｏＥ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ）に対応したＣＮＡ（Ｃｏｎｖｅｒｇｅｄ  Ｎｅｔｗｏｒｋ  Ａｄａｐｔｅｒ）を用いるものとする（Ｅｔｈｅｒｎｅｔは登録商標、以下同じ）。これによって、Ｅｔｈｅｒｎｅｔフレームを用いて通信することができる。
【０２１８】
ストレージインタフェース９２０は、記憶媒体９３０と接続するためのインタフェースである。記憶媒体９３０は、ＬＵ８１１を作成するための記憶容量を提供する装置である。記憶媒体９３０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などが考えられる。
【０２１９】
図１５に示す例では、ストレージシステム８１０−１は、三つの記憶媒体９３０−１、９３０−２、９３０−３を備える。なお、ストレージシステム８１０−１は、三つ以上の記憶媒体９３０を備えてもよい。本実施形態では、制御部９００は、三つの記憶媒体９３０−１、９３０−２、９３０−３を用いてＲＡＩＤグループを構成し、ＲＡＩＤグループによって提供される記憶領域上にＬＵ１（８１１−１）を生成する。
【０２２０】
本実施形態の管理装置３００のメモリ５２０には、ＬＵ配置管理プログラム（図示省略）及びＬＵ管理情報（図示省略）が格納される。ＬＵ配置管理プログラムは、ＬＵ８１１の配置を管理するための処理を実現するプログラムである。ＬＵ管理情報は、各ストレージシステム８１０のＬＵ８１１の情報を格納する。管理装置３００は、各ストレージシステム８１０からＬＵ構成情報を取得し、取得された情報に基づいてＬＵ管理情報を生成する。なお、ＬＵ管理情報の詳細については、図１４を用いて後述する。
【０２２１】
なお、ＭＡＣ情報管理プログラム５２５及びＭＡＣ情報５２７は、第１の実施形態と同一である。なお、ＭＡＣ情報５２７の宛先ＭＡＣアドレス５２７１にはストレージシステム８１０のＭＡＣアドレスが格納される。
【０２２２】
図１４は、本発明の第２の実施形態におけるＬＵ管理情報の一例を示す説明図である。
【０２２３】
ＬＵ管理情報１０００は、データセンタ識別子１００１、ストレージシステム識別子１００２、ＲＡＩＤグループ識別子１００３、使用率１００４、ＭＡＣアドレス１００５、ＬＵ識別子１００６及びＬＵ使用量１００７を含む。
【０２２４】
データセンタ識別子１００１は、データセンタ２０１の識別子を格納する。ストレージシステム識別子１００２は、データセンタ識別子１００１に対応するデータセンタ２０１に含まれるストレージシステム８１０の識別子を格納する。
【０２２５】
ＲＡＩＤグループ識別子１００３は、ストレージシステム識別子１００２に対応するストレージシステム８１０上に生成されたＲＡＩＤグループの識別子を格納する。
【０２２６】
使用率１００４は、ＲＡＩＤグループ識別子１００３に対応するＲＡＩＤグループによって提供される記憶領域の使用率を格納する。
【０２２７】
ＭＡＣアドレス１００５は、ストレージシステム８１０に割り当てられたＭＡＣアドレスを格納する。
【０２２８】
ＬＵ識別子１００６は、ＲＡＩＤグループ識別子１００３に対応するＲＡＩＤグループ上に生成されたＬＵ８１１の識別子を格納する。ＬＵ使用量１００７は、ＬＵ識別子１００６に対応するＬＵ８１１の使用量を格納する。
【０２２９】
本実施形態では、使用率１００４の値が８０％以上である場合に、ＬＵ８１１を他ストレージシステム８１０にマイグレーションするものとする。
【０２３０】
第２の実施形態における処理の流れは以下の点が異なる。
【０２３１】
図７ＡのステップＳ２１２及びステップＳ２１３では、ストレージシステム８１０−１及びストレージシステム８１０−２が、管理装置３００にストレージシステム８１０の稼動状態を通知する。
【０２３２】
ステップＳ２１４では、管理装置３００がＬＵ管理情報１０００を更新する。ステップＳ２１５では、管理装置３００が移行するＬＵ８１１と移行先のストレージシステム８１０とを決定する。なお、移行するＬＵ８１１及び移行先のストレージシステム８１０を決定する方法は、公知のものを用いればよいため説明を省略する。
【０２３３】
ステップＳ２１７では、管理装置３００がストレージシステム８１０−２にＬＵ８１１の生成指示を送信し、ステップＳ２１８では、ストレージシステム８１０−２がＬＵ８１１の生成完了を通知する。ステップＳ２１９では、管理装置３００がストレージシステム８１０−１にＬＵ１（８１１−１）の移動指示を送信する。
【０２３４】
ステップＳ２２０では、ストレージシステム８１０−１がＬＵ１（８１１−１）をストレージシステム８１０−２に移動させる。ステップＳ２２１では、ストレージシステム８１０−２が管理装置３００に移動完了を通知する。
【０２３５】
その他の処理は第１の実施形態と同一である。
【０２３６】
また、図９Ａ及び図９Ｂに示す管理装置３００が実行する処理は、以下の点が異なる。
【０２３７】
ステップＳ３０４では、管理装置３００は、ストレージシステムの８１０の稼動情報を受信したか否かを判定する。ステップＳ３０５及びステップＳ３０６では、管理装置３００は、ＬＵ８１１のマイグレーションが必要か否かを判定し、ＬＵ８１１の移動先を決定する。
【０２３８】
その他の処理は第１の実施形態と同一であるため説明を省略する。
【０２３９】
第２の実施形態によれば、ＬＵ８１１のマイグレーションにおいても、高速にＭＡＣ情報を更新することができる。
【０２４０】
本発明は、第１の実施形態と第２の実施形態とを組み合わせて用いてもよい。
【符号の説明】
【０２４１】
１００  端末
１１０、１３０、１５０  転送装置
２０１  データセンタ
２１０  サーバ
２１１  仮想化部
２１２  仮想計算機（ＶＭ）
２２０  ネットワーク
３００  管理装置
３５０  ネットワーク
８００  データセンタ
８１０  ストレージシステム
８１１  論理ユニット（ＬＵ）
【図１】
0005881465.tif 000002
【図２】
0005881465.tif 000003
【図３】
0005881465.tif 000004
【図４Ａ】
0005881465.tif 000005
【図４Ｂ】
0005881465.tif 000006
【図４Ｃ】
0005881465.tif 000007
【図４Ｄ】
0005881465.tif 000008
【図４Ｅ】
0005881465.tif 000009
【図４Ｆ】
0005881465.tif 000010
【図５Ａ】
0005881465.tif 000011
【図５Ｂ】
0005881465.tif 000012
【図６】
0005881465.tif 000013
【図７Ａ】
0005881465.tif 000014
【図７Ｂ】
0005881465.tif 000015
【図８Ａ】
0005881465.tif 000016
【図８Ｂ】
0005881465.tif 000017
【図８Ｃ】
0005881465.tif 000018
【図８Ｄ】
0005881465.tif 000019
【図８Ｅ】
0005881465.tif 000020
【図８Ｆ】
0005881465.tif 000021
【図９Ａ】
0005881465.tif 000022
【図９Ｂ】
0005881465.tif 000023
【図１０】
0005881465.tif 000024
【図１１Ａ】
0005881465.tif 000025
【図１１Ｂ】
0005881465.tif 000026
【図１１Ｃ】
0005881465.tif 000027
【図１１Ｄ】
0005881465.tif 000028
【図１２】
0005881465.tif 000029
【図１３】
0005881465.tif 000030
【図１４】
0005881465.tif 000031