(57)【要約】  複数の計算機を有する複数のクラウド基盤及びリソース管理装置を備える計算機システムであって、複数の計算機は、計算機リソースを提供する複数の業務用計算機、及び、仮想計算機の制御を行うクラウド管理計算機を含み、複数の業務用計算機及びクラウド管理計算機の何れか一方は、仮想計算機の性能値を計測するモニタを含み、リソース管理装置は、サービスの性能に関するＳＬＡの閾値を管理するＳＬＡ管理情報を保持し、複数のクラウド基盤から仮想計算機の性能値を含むモニタ情報を取得する取得部と、ＳＬＡ管理情報に基づいて、性能に関するＳＬＡを満たさないターゲットサービスを特定する性能判定部と、モニタ情報に基づいて、ターゲット業務システムを構成する仮想計算機の移行候補のクラウド基盤を特定し、ユーザに提示する分析部と、を有する。
2017208413.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機を有する複数のクラウド基盤、及び前記複数のクラウド基盤が提供する計算機リソースを用いて生成され、所定のサービスを提供する業務システムを構成する仮想計算機の配置を制御するリソース管理装置を備える計算機システムであって、
前記複数の計算機は、前記仮想計算機に計算機リソースを提供する複数の業務用計算機、及び、前記業務用計算機に対する前記仮想計算機の制御を行う少なくとも一つのクラウド管理計算機を含み、
前記少なくとも一つのクラウド管理計算機は、任意のユーザから前記仮想計算機を設定するための要求を受け付けるインタフェースを提供し、
前記要求は、前記仮想計算機の計算機リソースのサイズ及び前記クラウド基盤の設置場所を示すリージョン情報を含み、
前記複数の業務用計算機及び前記少なくとも一つのクラウド管理計算機の何れか一方は、前記仮想計算機の性能値を計測するモニタを含み、
前記リソース管理装置は、
前記サービスの性能に関するＳＬＡの閾値を管理するＳＬＡ管理情報を保持し、
前記複数のクラウド基盤から、前記仮想計算機の性能値を含むモニタ情報を取得する取得部と、
前記ＳＬＡ管理情報に基づいて、前記性能に関するＳＬＡを満たさないサービスであるターゲットサービスを特定する性能判定部と、
前記モニタ情報に基づいて、前記ターゲットサービスの前記業務システムであるターゲット業務システムを構成する前記仮想計算機の移行候補のクラウド基盤を特定し、前記ターゲットサービスを提供するユーザであるターゲットユーザに提示する分析部と、を有することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記分析部は、
前記複数のクラウド基盤の中から分析対象のクラウド基盤を特定し、
前記分析対象のクラウド基盤上の前記仮想計算機の性能値を含む前記モニタ情報に基づいて、前記移行候補のクラウド基盤を特定することを特徴とする計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
前記分析部は、
前記移行候補のクラウド基盤上の前記仮想計算機の性能値を含む前記モニタ情報に基づいて、前記移行候補のクラウド基盤の中から移行先のクラウド基盤を選択し、
前記移行先のクラウド基盤に前記ターゲット業務システムを構成する前記仮想計算機を移行するための命令を前記少なくとも一つのクラウド管理計算機に送信することを特徴とする計算機システム。
【請求項４】
請求項３に記載の計算機システムであって、
前記リソース管理装置は、前記モニタ情報を管理する性能管理情報を保持し、
前記性能管理情報は、前記クラウド基盤の識別情報と、前記ユーザの識別情報と、タイムスタンプ及び前記仮想計算機の性能値とが対応付けられたエントリを複数含み、
前記分析部は、
前記性能管理情報に基づいて、前記ターゲットユーザが現在運用する前記業務システムを構成する前記仮想計算機を含む前記クラウド基盤を前記分析対象のクラウド基盤として特定し、
前記性能管理情報に基づいて、前記分析対象のクラウド基盤に含まれ、前記ターゲットユーザが現在運用する前記業務システムを構成する前記仮想計算機の性能値を含む前記モニタ情報を分析し、
前記分析の結果に基づいて、前記移行候補のクラウド基盤を特定することを特徴とする計算機システム。
【請求項５】
請求項３に記載の計算機システムであって、
前記リソース管理装置は、
前記モニタ情報を管理する性能管理情報と、
前記ユーザが使用契約を結んでいる前記クラウド基盤を管理する契約クラウド管理情報を保持し、
前記性能管理情報は、前記クラウド基盤の識別情報と、前記ユーザの識別情報と、タイムスタンプ及び前記仮想計算機の性能値とが対応付けられたエントリを複数含み、
前記契約クラウド管理情報は、前記ユーザの識別情報と、前記クラウド基盤の識別情報とが対応付けられたエントリを複数含み、
前記分析部は、
前記契約クラウド管理情報に基づいて、前記ターゲットユーザが使用契約を結んでいる前記クラウド基盤を前記分析対象のクラウド基盤として特定し、
前記性能管理情報に基づいて、前記分析対象のクラウド基盤の中から、前記ターゲットユーザが運用する前記業務システムを構成する前記仮想計算機を含まないクラウド基盤である未使用クラウド基盤、及び前記ターゲットユーザが運用する業務システムを構成する前記仮想計算機を含むクラウド基盤である使用クラウド基盤を特定し、
前記性能管理情報から、前記使用クラウド基盤上の前記ターゲットユーザが現在運用する業務システムを構成する前記仮想計算機の性能値を含む前記モニタ情報を取得し、
前記性能管理情報から、前記未使用クラウド基盤に含まれ、かつ、前記ターゲットユーザ以外のユーザが運用する前記業務システムを構成する前記仮想計算機の性能値を含む前記モニタ情報を取得し、
前記取得されたモニタ情報を分析し、
前記分析の結果に基づいて、前記移行候補のクラウド基盤を特定することを特徴とする計算機システム。
【請求項６】
請求項３に記載の計算機システムであって、
前記分析部は、前記移行候補のクラウド基盤上の前記仮想計算機の性能値を含む前記モニタ情報を用いたクラスタ分析に基づいて、前記移行候補のクラウド基盤を特定することを特徴とする計算機システム。
【請求項７】
請求項６に記載の計算機システムであって、
前記分析部は、前記分析対象のクラウド基盤上の前記仮想計算機の性能値を含む前記モニタ情報の中から異常値を含む前記モニタ情報を削除し、
正常値を含む前記モニタ情報を用いたクラスタ分析を実行することを特徴とする計算機システム。
【請求項８】
複数の計算機を有する複数のクラウド基盤、及び前記複数のクラウド基盤が提供する計算機リソースを用いて生成され、所定のサービスを提供する業務システムを構成する仮想計算機の配置を制御するリソース管理装置を備える計算機システムの計算機リソース管理方法であって、
前記複数の計算機は、前記仮想計算機に計算機リソースを提供する複数の業務用計算機、及び、前記業務用計算機に対する前記仮想計算機の制御を行う少なくとも一つのクラウド管理計算機を含み、
前記少なくとも一つのクラウド管理計算機は、任意のユーザから前記仮想計算機を設定するための要求を受け付けるインタフェースを提供し、
前記要求は、前記仮想計算機の計算機リソースのサイズ及び前記クラウド基盤の設置場所を示すリージョン情報を含み、
前記複数の業務用計算機及び前記少なくともクラウド管理計算機の何れか一方は、前記仮想計算機の性能値を計測するモニタを含み、
前記リソース管理装置は、前記サービスの性能に関するＳＬＡの閾値を管理するＳＬＡ管理情報を保持し、
前記計算機リソース管理方法は、
前記リソース管理装置が、前記複数のクラウド基盤から、前記仮想計算機の性能値を含むモニタ情報を取得する第１のステップと、
前記リソース管理装置が、前記ＳＬＡ管理情報に基づいて、前記性能に関するＳＬＡを満たさないサービスであるターゲットサービスを特定する第２のステップと、
前記リソース管理装置が、前記モニタ情報に基づいて、前記ターゲットサービスの前記業務システムであるターゲット業務システムを構成する前記仮想計算機の移行候補のクラウド基盤を特定する第３のステップと、
前記リソース管理装置が、前記ターゲットサービスを提供するユーザであるターゲットユーザに前記移行候補のクラウド基盤を提示する第４のステップと、を含むことを特徴とする計算機リソース管理方法。
【請求項９】
請求項８に記載の計算機リソース管理方法であって、
前記第３のステップは、
前記リソース管理装置が、前記複数のクラウド基盤の中から分析対象のクラウド基盤を特定する第５のステップと、
前記リソース管理装置が、前記分析対象のクラウド基盤上の前記仮想計算機の性能値を含む前記モニタ情報に基づいて、前記移行候補のクラウド基盤を特定する第６のステップと、を含むことを特徴とする計算機リソース管理方法。
【請求項１０】
請求項９に記載の計算機リソース管理方法であって、
前記第４のステップは、
前記リソース管理装置が、前記移行候補のクラウド基盤上の前記仮想計算機の性能値を含む前記モニタ情報に基づいて、前記移行候補のクラウド基盤の中から移行先のクラウド基盤を選択する第７のステップと、
前記リソース管理装置が、前記移行先のクラウド基盤に前記ターゲット業務システムを構成する前記仮想計算機を移行するための命令を前記少なくとも一つのクラウド管理計算機に送信する第８のステップと、を含むことを特徴とする計算機リソース管理方法。
【請求項１１】
請求項１０に記載の計算機リソース管理方法であって、
前記リソース管理装置は、前記モニタ情報を管理する性能管理情報を保持し、
前記性能管理情報は、前記クラウド基盤の識別情報と、前記ユーザの識別情報と、タイムスタンプ及び前記仮想計算機の性能値とが対応付けられたエントリを複数含み、
前記第５のステップは、前記リソース管理装置が、前記性能管理情報に基づいて、前記ターゲットユーザが現在運用する前記業務システムを構成する前記仮想計算機を含む前記クラウド基盤を前記分析対象のクラウド基盤として特定するステップを含み、
前記第６のステップは、
前記リソース管理装置が、前記性能管理情報に基づいて、前記分析対象のクラウド基盤に含まれ、前記ターゲットユーザが現在運用する前記業務システムを構成する前記仮想計算機の性能値を含む前記モニタ情報を分析するステップと、
前記リソース管理装置が、前記分析の結果に基づいて、前記移行候補のクラウド基盤を特定するステップと、を含むことを特徴とする計算機リソース管理方法。
【請求項１２】
請求項１０に記載の計算機リソース管理方法であって、
前記リソース管理装置は、
前記モニタ情報を管理する性能管理情報と、
前記ユーザが使用契約を結んでいる前記クラウド基盤を管理する契約クラウド管理情報を保持し、
前記性能管理情報は、前記クラウド基盤の識別情報と、前記ユーザの識別情報と、タイムスタンプ及び前記仮想計算機の性能値とが対応付けられたエントリを複数含み、
前記契約クラウド管理情報は、前記ユーザの識別情報と、前記クラウド基盤の識別情報とが対応付けられたエントリを複数含み、
前記第５のステップは、前記リソース管理装置が、前記契約クラウド管理情報に基づいて、前記ターゲットユーザが使用契約を結んでいる前記クラウド基盤を前記分析対象のクラウド基盤として特定するステップを含み、
前記第６のステップは、
前記リソース管理装置が、前記性能管理情報に基づいて、前記分析対象のクラウド基盤の中から、前記ターゲットユーザが運用する前記業務システムを構成する前記仮想計算機を含まないクラウド基盤である未使用クラウド基盤、及び前記ターゲットユーザが運用する前記業務システムを構成する前記仮想計算機を含むクラウド基盤である使用クラウド基盤を特定するステップと、
前記リソース管理装置が、前記性能管理情報から、前記使用クラウド基盤上の前記ターゲットユーザが現在運用する前記業務システムを構成する前記仮想計算機の性能値を含む前記モニタ情報を取得するステップと、
前記リソース管理装置が、前記性能管理情報から、前記未使用クラウド基盤に含まれ、かつ、前記ターゲットユーザ以外のユーザが運用する前記業務システムを構成する前記仮想計算機の性能値を含む前記モニタ情報を取得するステップと、
前記リソース管理装置が、前記取得されたモニタ情報を分析するステップと、
前記リソース管理装置が、前記分析の結果に基づいて、前記移行候補のクラウド基盤を特定するステップと、を含むことを特徴とする計算機リソース管理方法。
【請求項１３】
請求項１０に記載の計算機リソース管理方法であって、
前記第５のステップは、前記リソース管理装置が、前記移行候補のクラウド基盤上の前記仮想計算機の性能値を含む前記モニタ情報を用いたクラスタ分析に基づいて、前記移行候補のクラウド基盤を特定する第９のステップを含むことを特徴とする計算機リソース管理方法。
【請求項１４】
請求項１３に記載の計算機リソース管理方法であって、
前記第９のステップは、
前記リソース管理装置が、前記分析対象のクラウド基盤上の前記仮想計算機の性能値を含む前記モニタ情報の中から異常値を含む前記モニタ情報を削除するステップと、
前記リソース管理装置が、正常値を含む前記モニタ情報を用いたクラスタ分析を実行するステップと、を含むことを特徴とする計算機リソース管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハイブリッドクラウドにおける計算機リソースの管理方法に関する。
【背景技術】
【０００２】
近年、プライベートクラウド及びパブリッククラウドを併用する利用形態であるハイブリッドクラウドの利用者が増加している。例えば、Ｗｅｂサーバ、アプリケーションサーバ、及びデータベースサーバから構成されるＷｅｂ三階層モデルのシステムの場合、プライベートクラウド用のクラウド基盤にＤＢサーバを設定し、パブリッククラウド用の複数のクラウド基盤に複数のＷｅｂサーバを設定することが考えられる。【０００３】
パブリッククラウド用のクラウド基盤にＶＭを設定する場合、ユーザは、通常、ＶＭのサイズ及びリージョンを選択する。パブリッククラウド用のクラウド基盤に含まれる管理装置は、ユーザからの要求を受け付けた場合、ハードウェア構成及び計算機リソースの使用状況等に基づいて、要求されたＶＭをクラウド基盤に設定する。【０００４】
サービスを提供する業務システムを構成するＶＭをクラウド基盤に設定する場合、又は、性能不足のＶＭを他のクラウド基盤に移動させる場合、ユーザは、性能に関するＳＬＡが満たされるようにＶＭの配置先となるクラウド基盤を選択する。なお、性能に関するＳＬＡとは、スループット及びバッチ処理等の処理完了時間等を示す。【０００５】
ユーザがＶＭの配置先のクラウド基盤を選択する方法として、特許文献１に記載のような技術が知られている。特許文献１には、「サーバメータは、各サーバリソースの処理動作を監視して負荷情報を収集し、予め各ＳａａＳに対して設定された当該ＳａａＳの提供に必要なサーバリソースの機能条件、価格条件、環境性能条件、評価条件、および各条件の優先度を少なくとも含むポリシー定義情報を記憶し、ロケータ処理部は、サーバメータが収集した各サーバリソースの負荷情報と、記憶したポリシー定義に含まれる条件情報とを照合して、条件を満足する各サーバリソースを抽出し、抽出した各サーバリソースから、予め当該ＳａａＳに対して定められたポリシー定義情報における最も優先度の高い条件に最も適した１つのサーバリソースを特定し、リロケーション処理部は、ロケータ処理部が特定したサーバリソースに、当該ＳａａＳを再配置する。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−６９０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１等に記載の従来技術では、クラウド基盤から計算機リソースの負荷情報等を取得できることが前提となっている。【０００８】
一方、パブリッククラウドを利用するユーザは、クラウド基盤を構成するサーバのハードウェア構成及び性能、並びに負荷情報等の運用状態を示す情報をクラウド基盤から取得することができない。そのため、従来技術をそのまま適用することができない。【０００９】
本発明の目的は、パブリッククラウドを利用するユーザが、性能に関するＳＬＡを満たすようにパブリッククラウド用のクラウド基盤を選択するためのシステム及び方法を提供することである。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機を有する複数のクラウド基盤、及び前記複数のクラウド基盤が提供する計算機リソースを用いて生成され、所定のサービスを提供する業務システムを構成する仮想計算機の配置を制御するリソース管理装置を備える計算機システムであって、前記複数の計算機は、前記仮想計算機に計算機リソースを提供する複数の業務用計算機、及び、前記業務用計算機に対する前記仮想計算機の制御を行う少なくとも一つのクラウド管理計算機を含み、前記少なくとも一つのクラウド管理計算機は、任意のユーザから前記仮想計算機を設定するための要求を受け付けるインタフェースを提供し、前記要求は、前記仮想計算機の計算機リソースのサイズ及び前記クラウド基盤の設置場所を示すリージョン情報を含み、前記複数の業務用計算機及び前記少なくとも一つのクラウド管理計算機の何れか一方は、前記仮想計算機の性能値を計測するモニタを含み、前記リソース管理装置は、前記サービスの性能に関するＳＬＡの閾値を管理するＳＬＡ管理情報を保持し、前記複数のクラウド基盤から、前記仮想計算機の性能値を含むモニタ情報を取得する取得部と、前記ＳＬＡ管理情報に基づいて、前記性能に関するＳＬＡを満たさないサービスであるターゲットサービスを特定する性能判定部と、前記モニタ情報に基づいて、前記ターゲットサービスの前記業務システムであるターゲット業務システムを構成する前記仮想計算機の移行候補のクラウド基盤を特定し、前記ターゲットサービスを提供するユーザであるターゲットユーザに提示する分析部と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、計算機リソースの負荷情報等が取得できないクラウド基盤であっても、性能に関するＳＬＡを満たさないサービスを構成する仮想計算機の移行候補のクラウド基盤を提示できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１の計算機システムの構成例を示す図である。
【図２】実施例１の計算機システムに含まれる計算機のハードウェア構成の一例を示す図である。
【図３】実施例１の性能管理情報の一例を示す図である。
【図４】実施例１のサービス構成管理情報の一例を示す図である。
【図５】実施例１のＳＬＡ管理情報の一例を示す図である。
【図６】実施例１の契約クラウド管理情報の一例を示す図である。
【図７】実施例１のリソース管理装置が表示する操作画面の一例を示す図である。
【図８】実施例１のリソース管理装置が実行する処理の概要を説明するフローチャートである。
【図９】実施例１のモニタ情報取得部が実行するモニタ情報取得処理の一例を説明するフローチャートである。
【図１０】実施例１の性能判定部が実行する性能判定処理の一例を説明するフローチャートである。
【図１１】実施例１の分析部が実行する分析処理の一例を説明するフローチャートである。
【図１２】実施例１のＶＭ移行命令部が実行する移行処理の一例を説明するフローチャートである。
【図１３】実施例２の分析部が実行する分析処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１３】
図１は、実施例１の計算機システムの構成例を示す図である。図２は、実施例１の計算機システムに含まれる計算機のハードウェア構成の一例を示す図である。【００１４】
計算機システムは、ハイブリッドクラウド環境を提供するシステムであり、プライベートクラウド用のクラウド基盤１００及びパブリッククラウド用の複数のクラウド基盤１０１から構成される。なお、クラウド基盤１００は複数存在してもよい。クラウド基盤１００及び複数のクラウド基盤１０１は、ネットワーク１０３を介して互いに接続される。【００１５】
クラウド基盤１０１は、パブリッククラウドを提供する事業者及びリージョンの組合せの数だけ存在する。リージョンは、クラウド基盤１０１の設置場所を示す情報である。【００１６】
ユーザは、クラウド基盤１００、１０１によって提供される計算機リソースを用いて、所定のサービスを提供する業務システムを構築する。業務システムは一つ以上のＶＭ１２１を含む。【００１７】
クラウド基盤１００は、複数のサーバ装置１１０、クラウド管理サーバ１１１、及びリソース管理装置１１２を含む。ここで、図２を用いて、計算機システムに含まれる計算機のハードウェア構成について説明する。図２では、リソース管理装置１１２を例に計算機のハードウェア構成について説明する。【００１８】
リソース管理装置１１２は、ＣＰＵ２００、主記憶装置２０１、及びＮＩＣ２０２を有する。なお、リソース管理装置１１２は、他のハードウェアを有してもよい。例えば、リソース管理装置１１２は、ＨＤＤ及びＳＳＤ等の記憶媒体、並びに、キーボード、マウス、ディスクプレイ、及びタッチパネル等の入出力装置を有してもよい。【００１９】
ＣＰＵ２００は、主記憶装置２０１に格納されるプログラムを格納する。ＣＰＵ２００がプログラムを実行することによって、リソース管理装置１１２が有する機能を実現できる。以下の説明では、機能部を主語に処理を説明する場合、ＣＰＵ２００が当該機能部を実現するプログラムを実行していることを表す。【００２０】
主記憶装置２０１は、ＣＰＵ２００が実行するプログラム及び当該プログラムに用いる情報を格納する。また、主記憶装置２０１は、プログラムが使用するワークエリアを含む。各計算機の主記憶装置２０１に格納されるプログラム及び情報については後述する。【００２１】
ＮＩＣ２０２は、ネットワークを介して他の装置と接続するためのインタフェースである。なお、リソース管理装置１１２は、ＮＩＣ２０２以外のインタフェースを有してもよい。【００２２】
サーバ装置１１０は、業務システムを構築するための計算機リソースを提供する。サーバ装置１１０の主記憶装置２０１は、ハイパバイザ１２０を実現するプログラムを格納し、また、ＶＭ１２１の実体であるデータを格納する。【００２３】
ハイパバイザ１２０は、業務システムを構成するＶＭ１２１を管理する。具体的には、ハイパバイザ１２０は、ＶＭ１２１の生成及び削除等を行う。なお、本発明はハイパバイザ１２０に限定されない。一般的な仮想化制御部でも同様の効果を有する。【００２４】
ＶＭ１２１は、仮想的な計算機であり、図示しないＯＳを含む。ＯＳ上では、アプリケーション１２２が実行される。また、本実施例のＶＭ１２１は、ＶＭ１２１の性能値を計測するモニタ１２３を含む。【００２５】
モニタ１２３は、ＶＭ１２１の性能値を計測し、また、ＶＭ１２１の性能値及びタイムスタンプを含むモニタ情報を出力する。本実施例は、モニタ情報取得部１４０が取得命令を発行した時間をタイムスタンプとして用いるものとする。これは、クラスタリングの処理を容易にするためである。なお、モニタ１２３がＶＭ１２１の性能値を計測した時刻をタイムスタンプとして用いてもよい。【００２６】
本実施例では、クラウド管理サーバ１１１は、クラウド基盤１００、１０１にＶＭ１２１を配置する場合、クラウド基盤１００、１０１の種別及びリージョンを保持するモニタ１２３を含むＶＭ１２１をサーバ装置１１０上に配置する。【００２７】
なお、ハイパバイザ１２０又はクラウド管理サーバ１１１が、モニタ１２３を含んでもよい。また、本実施例は、モニタ１２３が計測するＶＭ１２１の性能値の種別に限定されない。【００２８】
クラウド管理サーバ１１１は、クラウド基盤１００に含まれる複数のサーバ装置１１０を制御する。クラウド管理サーバ１１１の主記憶装置２０１は、ＶＭ操作部１２５を実現するプログラムを格納する。【００２９】
ＶＭ操作部１２５は、各サーバ装置１１０のハイパバイザ１２０に対して、ＶＭ１２１の操作命令を出力する。ハイパバイザ１２０は、当該操作命令に基づいて、サーバ装置１１０上のＶＭ１２１を制御する。なお、ＶＭ１２１の操作命令には、ＶＭ１２１の生成命令、ＶＭ１２１の削除命令、及びＶＭ１２１の移行命令等が含まれる。【００３０】
リソース管理装置１１２は、クラウド基盤１００、１０１に含まれるＶＭ１２１の性能を管理し、ＶＭ１２１の配置を変更する場合に性能に関するＳＬＡが満たされるようにクラウド基盤１００、１０１を選択する。【００３１】
リソース管理装置１１２の主記憶装置２０１は、リソース選択制御部１３０を実現するプログラムを格納する。また、リソース管理装置１１２の主記憶装置２０１は、性能管理情報１３１、サービス構成管理情報１３２、ＳＬＡ管理情報１３３、及び契約クラウド管理情報１３４を格納する。【００３２】
リソース選択制御部１３０は、性能に関するＳＬＡに基づいて、ＶＭ１２１に計算機リソースを提供するクラウド基盤１００、１０１、すなわち、ＶＭ１２１を配置するクラウド基盤１００、１０１を選択する。【００３３】
リソース選択制御部１３０は、複数のプログラムモジュールを含む。具体的には、リソース選択制御部１３０は、モニタ情報取得部１４０、性能判定部１４１、分析部１４２、及びＶＭ移行命令部１４３を含む。【００３４】
モニタ情報取得部１４０は、モニタ１２３からモニタ情報を取得する。性能判定部１４１は、業務システムを構成するＶＭ１２１の中に性能に関するＳＬＡを満たさないサービスが存在するか否かを判定する。分析部１４２は、モニタ情報に基づいて、ＶＭ１２１の移行先となるクラウド基盤１００、１０１を選択するための分析処理を実行する。ＶＭ移行命令部１４３は、クラウド管理サーバ１１１に対して、ＶＭ１２１の移行に関する命令を発行する。【００３５】
性能管理情報１３１の詳細は図３を用いて説明する。サービス構成管理情報１３２の詳細は、図４を用いて説明する。ＳＬＡ管理情報１３３の詳細は、図５を用いて説明する。契約クラウド管理情報１３４の詳細は、図６を用いて説明する。【００３６】
クラウド基盤１０１は、複数のサーバ装置１１０及びクラウド管理サーバ１１１を含む。サーバ装置１１０及びクラウド管理サーバ１１１は、クラウド基盤１００に含まれるサーバ装置１１０及びクラウド管理サーバ１１１と同一の構成であるため説明を省略する。【００３７】
なお、クラウド管理サーバ１１１は、ＶＭのサイズ及びリージョンの値を含む要求を受け付けるインタフェースをユーザに提供する。【００３８】
図３は、実施例１の性能管理情報１３１の一例を示す図である。【００３９】
性能管理情報１３１は、各クラウド基盤１００、１０１に含まれるＶＭ１２１の各種性能値を管理する情報である。【００４０】
リソース管理装置１１２は、ＶＭ１２１の性能値の種別毎に性能管理情報１３１を保持する。例えば、リソース管理装置１１２は、ＶＭ１２１のＣＰＵに関する性能値を管理する性能管理情報１３１、及びＶＭ１２１のＩＯの性能を管理する性能管理情報１３１等を保持する。図３では、ＶＭ１２１のＣＰＵに関する性能値を管理する性能管理情報１３１を例に説明する。【００４１】
性能管理情報１３１は、ユーザ３０１、クラウド３０２、リージョン３０３、ＶＭ名３０４、及び性能値３０５を含むエントリを複数含む。【００４２】
ユーザ３０１は、計算機システム内のユーザを一意に識別するための識別情報である。ユーザ３０１には、ユーザ名及びＩＤ等が格納される。【００４３】
クラウド３０２は、計算機システム内のクラウド基盤１００、１０１の種別及び事業者を一意に識別するための情報である。クラウド３０２には、クラウド基盤の種別、及びクラウド基盤を提供する事業者の識別情報を組み合わせた値が格納される。リージョン３０３は、クラウド基盤１００、１０１が設置される地域である。【００４４】
クラウド３０２及びリージョン３０３を組み合わせた情報が、クラウド基盤１００、１０１の識別情報として用いられる。以下の説明では、クラウド基盤１００、１０１の種別、クラウド基盤１００、１０１の事業者、及びリージョンを組み合わせた情報をクラウド基盤１００、１０１の識別情報とも記載する。【００４５】
ＶＭ名３０４は、業務システムを構成するＶＭ１２１を一意に識別するための識別情報である。性能値３０５は、ＶＭ名３０４に対応するＶＭ１２１の性能値を計測したモニタ１２３から取得されたモニタ情報である。性能値３０５には、ＶＭ１２１の性能値及びタイムスタンプが格納される。また、各エントリの性能値３０５は、取得されたモニタ情報の数だけ列を含む。なお、リソース管理装置１１２は、性能値３０５をリスト形式の情報として保持してもよい。【００４６】
図４は、実施例１のサービス構成管理情報１３２の一例を示す図である。【００４７】
サービス構成管理情報１３２は、各ユーザの業務システムを管理する情報である。サービス構成管理情報１３２は、ユーザ４０１、ＶＭ名４０２、及びサービス名４０３を含むエントリを複数含む。【００４８】
ユーザ４０１及びＶＭ名４０２は、ユーザ３０１及びＶＭ名３０４と同一のものである。サービス名４０３は、ＶＭ名４０２に対応するＶＭ１２１を用いて構成される業務システムが提供するサービスの識別情報である。【００４９】
例えば、ユーザ４０１が「Ａ」であるユーザが運用し、かつ、サービス名４０３が「ＳＡＸ」に対応するサービスを提供する業務システムは、ＶＭ名４０２が「Ａ１」、「Ａ３」、「Ａ４」である三つのＶＭ１２１から構成されることを示す。【００５０】
図５は、実施例１のＳＬＡ管理情報１３３の一例を示す図である。【００５１】
ＳＬＡ管理情報１３３は、業務システムを用いて提供されるサービスの性能に関するＳＬＡの閾値を管理する情報である。【００５２】
リソース管理装置１１２は、性能に関するＳＬＡの種別毎にＳＬＡ管理情報１３３を保持する。図５では、サービスの応答時間（スループット）を管理するＳＬＡ管理情報１３３を例に説明する。【００５３】
ＳＬＡ管理情報１３３は、サービス名５０１、サービス応答時間５０２、及び実行フラグ５０３を含むエントリを複数含む。【００５４】
サービス名５０１は、サービス名４０３と同一のものである。サービス応答時間５０２は、サービス名５０１に対応するサービスの応答時間の閾値である。サービス応答時間５０２がサービスの性能に関するＳＬＡの値を示す。実行フラグ５０３は、リソース選択処理を実行するか否かを示すフラグである。リソース選択制御部１３０は、実行フラグ５０３に「有効」が設定されているサービスに対してリソース選択処理を実行する。【００５５】
図６は、実施例１の契約クラウド管理情報１３４の一例を示す図である。【００５６】
契約クラウド管理情報１３４は、ユーザ自身が運用するクラウド基盤１００及びユーザが使用契約を結んでいるクラウド基盤１０１を管理する情報である。契約クラウド管理情報１３４は、ユーザ６０１、クラウド６０２、及びリージョン６０３を含むエントリを複数含む。【００５７】
ユーザ６０１、クラウド６０２、及びリージョン６０３は、ユーザ３０１、クラウド３０２、及びリージョン３０３と同一のものである。【００５８】
性能管理情報１３１は、クラウド基盤１００、１０１上に構築された業務システムに含まれるＶＭ１２１から取得されたモニタ情報を格納する。したがって、リソース管理装置１１２は、性能管理情報１３１を用いたリソース選択処理の場合、使用中のクラウド基盤１０１の中からＶＭ１２１の移行先となるクラウド基盤１０１を選択する。【００５９】
一方、契約クラウド管理情報１３４は、業務システムが構築されていないクラウド基盤１００、１０１も含む。したがって、リソース管理装置１１２は、性能管理情報１３１及び契約クラウド管理情報１３４を用いたリソース選択処理の場合、使用中のクラウド基盤１０１及び使用されていないクラウド基盤１０１の中からＶＭ１２１の移行先となるクラウド基盤１０１を選択できる。なお、契約クラウド管理情報１３４を用いた処理については、実施例２で説明する。【００６０】
図７は、実施例１のリソース管理装置１１２が表示する操作画面７００の一例を示す図である。【００６１】
操作画面７００は、リソース管理装置１１２によって表示される。ユーザは、操作画面７００を用いて、サービスの起動、サービスの停止、及び実行フラグの操作を行う。【００６２】
操作画面７００は、サービス一覧７０１、起動ボタン７０２、停止ボタン７０３、及び実行フラグ選択ボタン７０４を含む。【００６３】
サービス一覧７０１は、ユーザが提供するサービスの一覧である。サービス一覧７０１は、チェック欄７１１、ユーザ７１２、サービス名７１３、及び実行フラグ７１４を含むエントリを複数含む。【００６４】
チェック欄７１１は、エントリを選択するためのチェック欄である。ユーザ７１２及びサービス名７１３は、ユーザ３０１及びサービス名４０３と同一のものである。また、実行フラグ７１４は、実行フラグ５０３と同一のものである。【００６５】
図７のサービス一覧７０１では、複数のユーザのサービスが表示されているが、リソース管理装置１１２は、ユーザに関連するサービスのみの操作を受け付けるように制御する。なお、リソース管理装置１１２は、ユーザに関連するサービスのみをサービス一覧７０１に表示するように制御してもよい。【００６６】
起動ボタン７０２は、サービスの起動を指示する操作ボタンである。ユーザは、チェック欄７１１を操作し、さらに、起動ボタン７０２を操作することによって、所定のサービスを起動できる。【００６７】
停止ボタン７０３は、サービスの停止を指示する操作ボタンである。ユーザは、チェック欄７１１を操作し、さらに、停止ボタン７０３を操作することによって、所定のサービスを停止できる。【００６８】
実行フラグ選択ボタン７０４は、サービスに対してリソース選択処理を実行するか否かを選択するためのボタンである。ユーザは、チェック欄７１１を操作し、さらに、実行フラグ選択ボタン７０４を操作することによって、所定のサービスに対するリソース選択処理を有効化し、また、無効化することができる。【００６９】
リソース管理装置１１２は、実行フラグ選択ボタン７０４の操作を受け付けた場合、操作内容に応じて、ＳＬＡ管理情報１３３の実行フラグ５０３の値を更新する。【００７０】
図８は、実施例１のリソース管理装置１１２が実行する処理の概要を説明するフローチャートである。【００７１】
リソース管理装置１１２のリソース選択制御部１３０は、周期的に以下で説明する処理を実行する。なお、リソース管理装置１１２は、実行指示を受け付けた場合に処理を開始してもよい。【００７２】
リソース選択制御部１３０は、モニタ情報取得部１４０を呼び出し、モニタ情報取得処理の実行を指示する（ステップＳ１００）。【００７３】
モニタ情報取得処理を実行することによって、クラウド基盤１００、１０１に含まれる複数のＶＭ１２１からモニタ情報が取得される。モニタ情報取得処理の詳細は、図９を用いて説明する。【００７４】
次に、リソース選択制御部１３０は、処理対象のサービスを一つ選択し（ステップＳ１０１）、選択されたサービスの実行フラグは有効であるか否かを判定する（ステップＳ１０２）。すなわち、リソース選択処理を実行するか否かが判定される。【００７５】
具体的には、リソース選択制御部１３０は、ＳＬＡ管理情報１３３を参照して、処理対象のサービスを一つ選択する。例えば、上のエントリから順に選択する方法が考えられる。さらに、リソース選択制御部１３０は、ＳＬＡ管理情報１３３の選択されたサービスに対応するエントリの実行フラグ５０３が「有効」であるか否かを判定する。【００７６】
選択されたサービスの実行フラグが無効であると判定された場合、リソース選択制御部１３０は、ステップＳ１０６に進む。【００７７】
選択されたサービスの実行フラグが有効であると判定された場合、リソース選択制御部１３０は、リソース選択処理（ステップＳ１０３からステップＳ１０７までの処理）を開始する。まず、リソース選択制御部１３０は、性能判定部１４１を呼び出し、性能判定処理の実行を指示する（ステップＳ１０３）。このとき、リソース選択制御部１３０は、選択されたサービスの識別情報を性能判定部１４１に入力する。性能判定処理の詳細は、図１０を用いて説明する。【００７８】
次に、リソース選択制御部１３０は、選択されたサービスが性能に関するＳＬＡを満たすか否かを判定する（ステップＳ１０４）。【００７９】
具体的には、リソース選択制御部１３０は、性能判定部１４１から出力された応答にサービスの識別情報が含まれるか否かを判定する。応答にサービスの識別情報が含まれる場合、リソース選択制御部１３０は、選択されたサービスが性能に関するＳＬＡを満たさないと判定する。応答にＮＵＬＬが含まれる場合、リソース選択制御部１３０は、選択されたサービスが性能に関するＳＬＡを満たすと判定する。【００８０】
選択されたサービスが性能に関するＳＬＡを満たすと判定された場合、リソース選択制御部１３０は、ステップＳ１０６に進む。【００８１】
選択されたサービスが性能に関するＳＬＡを満たさないと判定された場合、リソース選択制御部１３０は、分析部１４２を呼び出し、分析処理の実行を指示する（ステップＳ１０５）。このとき、リソース選択制御部１３０は、選択されたサービスの識別情報を分析部１４２に入力する。分析処理の詳細は図１１を用いて説明する。以下の説明では、性能に関するＳＬＡを満たさないサービスをターゲットサービスとも記載する。【００８２】
ステップＳ１０６では、リソース選択制御部１３０は、全てのサービスについて処理が完了したか否かを判定する（ステップＳ１０６）。【００８３】
全てのサービスについて処理が完了していないと判定された場合、リソース選択制御部１３０は、ステップＳ１０１に戻り、同様の処理を実行する。すなわち、リソース選択制御部１３０は、新たなサービスに対してステップＳ１０２からステップＳ１０６までの処理を実行する。【００８４】
全てのサービスについて処理が完了したと判定された場合、リソース選択制御部１３０は、ＶＭ移行命令部１４３を呼び出し、移行処理の実行を指示する（ステップＳ１０７）。このとき、リソース選択制御部１３０は、ターゲットサービスの識別情報、及び移行先のクラウド基盤１０１の識別情報を含むエントリを複数含む移行サービスリストをＶＭ移行命令部１４３に入力する。移行処理の詳細は、図１２を用いて説明する。【００８５】
リソース選択制御部１３０は、移行処理が完了した後、待ち状態に移行し、一定時間が経過した後、ステップＳ１００に戻る。【００８６】
なお、モニタ情報取得処理と、ステップＳ１０１からステップＳ１０７までの処理は、別々の処理として実行されてもよい。すなわち、モニタ情報取得処理とリソース選択処理とが別々の処理として実行されてもよい。【００８７】
図９は、実施例１のモニタ情報取得部１４０が実行するモニタ情報取得処理の一例を説明するフローチャートである。【００８８】
モニタ情報取得部１４０は、全てのモニタ１２３にモニタ情報の取得命令を送信する（ステップＳ２００）。【００８９】
具体的には、モニタ情報取得部１４０は、性能管理情報１３１を参照して、使用中のクラウド基盤１００、１０１を特定し、特定されたクラウド基盤１００、１０１に対して取得命令を送信する。当該取得命令は、クラウド管理サーバ１１１を経由してモニタ１２３に送信され、又は、直接モニタ１２３に送信される。【００９０】
モニタ１２３は、当該取得命令を受信した場合、ＶＭ１２１の性能値を計測し、モニタ情報を含む応答をモニタ情報取得部１４０に送信する。なお、モニタ情報には、ＶＭ１２１が配置されるクラウド基盤１００、１０１の識別情報、ＶＭ１２１の識別情報、ＶＭ１２１の性能値、及びタイムスタンプが含まれる。【００９１】
モニタ情報取得部１４０は、受信したモニタ情報を一時的に主記憶装置２０１に格納する。このとき、モニタ情報取得部１４０は、どのモニタ情報取得部１４０から受信したモニタ情報であるかを確認する。【００９２】
次に、モニタ情報取得部１４０は、全てのモニタ情報取得部１４０からモニタ情報を受信したか否かを判定する（ステップＳ２０１）。【００９３】
全てのモニタ情報取得部１４０からモニタ情報を受信していないと判定された場合、モニタ情報取得部１４０は、待ち状態に移行し、一定時間経過した後にステップＳ２０１に戻る。【００９４】
全てのモニタ情報取得部１４０からモニタ情報を受信したと判定された場合、モニタ情報取得部１４０は、性能管理情報１３１を更新する（ステップＳ２０２）。その後、モニタ情報取得部１４０は、処理の完了をリソース選択制御部１３０に出力し、モニタ情報取得処理を終了する。【００９５】
具体的には、モニタ情報取得部１４０は、性能管理情報１３１の性能値３０５に新たな列を生成する。モニタ情報取得部１４０は、モニタ情報に含まれるクラウド基盤１００、１０１の識別情報に基づいてエントリを特定し、特定されたエントリの性能値３０５の列に、モニタ情報に含まれるタイムスタンプ及びＶＭ１２１の性能値を格納する。【００９６】
図１０は、実施例１の性能判定部１４１が実行する性能判定処理の一例を説明するフローチャートである。【００９７】
性能判定部１４１は、選択されたサービスの性能に関するＳＬＡの値を計測し、当該値に基づいて選択されたサービスが性能に関するＳＬＡを満たすか否かを判定する。性能判定部１４１には、予め、計測する性能に関するＳＬＡの値の種別が設定されているものとする。本実施例では、サービスの応答時間が設定されているものとする。【００９８】
性能判定部１４１は、リソース選択制御部１３０によって選択されたサービスの応答時間を計測する（ステップＳ３００）。【００９９】
例えば、性能判定部１４１は、Ｗｅｂブラウザに特定のＵＲＬを入力し、ページが更新されるまでの時間を計測する。【０１００】
次に、性能判定部１４１は、計測された応答時間が閾値より大きいか否かを判定する（ステップＳ３０１）。【０１０１】
具体的には、性能判定部１４１は、リソース選択制御部１３０から入力されたサービスの識別情報に基づいてＳＬＡ管理情報１３３のサービス名５０１を参照し、選択されたサービスに対応するエントリを検索する。性能判定部１４１は、検索されたエントリのサービス応答時間５０２の値を取得する。性能判定部１４１は、計測された応答時間がサービス応答時間５０２の値より大きいか否かを判定する。【０１０２】
計測された応答時間が閾値より大きいと判定された場合、性能判定部１４１は、選択されたサービスの識別情報、すなわち、サービス名を応答としてリソース選択制御部１３０に出力する（ステップＳ３０２）。その後、性能判定部１４１は、処理を終了する。【０１０３】
計測された応答時間が閾値以下であると判定された場合、性能判定部１４１は、ＮＵＬＬを応答としてリソース選択制御部１３０に出力する（ステップＳ３０３）。その後、性能判定部１４１は、処理を終了する。【０１０４】
図１１は、実施例１の分析部１４２が実行する分析処理の一例を説明するフローチャートである。【０１０５】
分析部１４２は、サービス構成管理情報１３２を参照して、ターゲットサービスを提供するユーザを特定する（ステップＳ４００）。【０１０６】
具体的には、分析部１４２は、サービス名４０３がターゲットサービスの識別情報と一致するエントリを検索する。分析部１４２は、検索されたエントリのユーザ４０１の値及びＶＭ４０２の値を取得する。【０１０７】
以下の説明では、ターゲットサービスを提供するユーザをターゲットユーザとも記載する。また、ターゲットサービスの業務システムをターゲット業務システムとも記載する。【０１０８】
次に、分析部１４２は、ターゲット業務システムを構成するＶＭ１２１が配置されたクラウド基盤１００、１０１を特定する（ステップＳ４０１）。すなわち、移行元のクラウド基盤１００、１０１が特定される。具体的には、以下のような処理が実行される。【０１０９】
分析部１４２は、サービス構成管理情報１３２を参照し、サービス名４０３が選択されたサービスの識別情報と一致するエントリを検索する。分析部１４２は、検索されたエントリのＶＭ名４０２からターゲット業務システムを構成するＶＭ１２１の識別情報を取得する。【０１１０】
分析部１４２は、性能管理情報１３１を参照し、ＶＭ名３０４が取得された各ＶＭ１２１の識別情報に一致するエントリを検索する。分析部１４２は、検索されたエントリのクラウド３０２の値を取得する。以上がステップＳ４０１の処理の説明である。【０１１１】
次に、分析部１４２は、性能管理情報１３１を参照し、分析対象のクラウド基盤１０１を特定する（ステップＳ４０２）。本実施例では、パブリッククラウド用のクラウド基盤１０１の中から分析対象のクラウド基盤１０１が特定されるものとする。具体的には、以下のような処理が実行される。【０１１２】
分析部１４２は、ユーザ３０１がターゲットユーザの識別情報に一致するエントリを検索する。分析部１４２は、検索されたエントリから、クラウド３０２が移行元のクラウド基盤１００、１０１の識別情報に一致するエントリを削除する。また、分析部１４２は、検索されたエントリから、クラウド３０２に「プライベートクラウド」を含むエントリを削除する。【０１１３】
前述した処理によって、分析部１４２は、ターゲット業務システム以外の業務システムであり、かつ、ターゲットユーザが現在運用する業務システムを構成するＶＭ１２１を含むクラウド基盤１０１を特定できる。なお、分析部１４２は、ターゲットユーザが使用している全てのクラウド基盤１０１を分析対象のクラウド基盤１０１として特定してもよい。【０１１４】
分析部１４２は、検索されたエントリのクラウド３０２の値及びリージョン３０３の値の組合せを分析対象のクラウド基盤１０１の識別情報として取得する。以上がステップＳ４０２の処理の説明である。【０１１５】
次に、分析部１４２は、クラスタリングを実行する（ステップＳ４０３）。具体的には、以下のような処理が実行される。【０１１６】
分析部１４２は、性能管理情報１３１を参照し、分析対象のクラウド基盤１０１に含まれ、かつ、ターゲット業務システム以外の業務システムを構成するＶＭ１２１に対応するエントリの性能値３０５から所定の数の列の性能値を取得する。【０１１７】
本実施例では、分析部１４２は、時系列とは逆の順番でｎ個の列からＶＭ１２１の性能値を取得する。ここで、ｔｎは最新のタイムスタンプを示し、ｔ０は最古のタイムスタンプを示すものとする。【０１１８】
分析部１４２は、ＶＭ１２１の性能値及びタイムスタンプを軸とするグラフ上にＶＭ１２１の性能値をマッピングする。このとき、分析部１４２は、各性能値にクラウド基盤１０１の識別情報を付与する。【０１１９】
分析部１４２は、ＶＭ１２１の性能値がマッピングされたグラフを用いてクラスタリングを行う。例えば、グラフ上のＶＭ１２１の性能値間の距離に基づいて、一つ以上のＶＭ１２１の性能値を含むクラスタを生成する。以上がステップＳ４０３の処理の説明である。【０１２０】
次に、分析部１４２は、移行候補のクラウド基盤１０１を特定する（ステップＳ４０４）。具体的には、以下のような処理が実行される。【０１２１】
分析部１４２は、次回のＶＭ１２１の性能値が含まれる可能性があるクラスタを一つ以上特定する。例えば、分析部１４２は、タイムスタンプがｔｎであるＶＭ１２１の性能値を含むクラスタを、次回のＶＭ１２１の性能値が含まれる可能性があるクラスタとして特定する。【０１２２】
さらに、分析部１４２は、特定されたクラスタのうち、各クラスタに含まれるｔｎのＶＭ１２１の性能値を比較することによってＶＭ１２１の性能値が最も高いクラスタを一つ特定する。例えば、クラスタに含まれるｔｎのＶＭ１２１の性能値の平均値を比較することによって、ＶＭ１２１の性能値が最も高いクラスタを特定できる。【０１２３】
分析部１４２は、特定されたクラスタに含まれるＶＭ１２１の性能値に付与されたクラウド基盤１０１の識別情報に基づいて、移行候補のクラウド基盤１０１を特定する。以上がステップＳ４０４の処理の説明である。【０１２４】
次に、分析部１４２は、移行候補のクラウド基盤１０１の中から移行先のクラウド基盤１０１を選択する（ステップＳ４０５）。【０１２５】
具体的には、分析部１４２は、ＶＭ１２１の性能値が最も高いクラスタに属するクラウド基盤１００、１０１の数をカウントし、当該数が最も大きいクラウド基盤１０１を移行先候補のクラウド基盤１０１として選択する。【０１２６】
次に、分析部１４２は、ターゲットサービスの識別情報、移行先のクラウド基盤１０１の種別、及び移行先のクラウド基盤１０１のリージョンの値をリソース選択制御部１３０に出力する（ステップＳ４０６）。その後、分析部１４２は、分析処理を終了する。【０１２７】
このとき、リソース選択制御部１３０は、移行サービスリストに、ターゲットサービスの識別情報、移行先のクラウド基盤１０１の種別、移行先のクラウド基盤１０１のリージョンの値を含むエントリを追加する。【０１２８】
図１２は、実施例１のＶＭ移行命令部１４３が実行する移行処理の一例を説明するフローチャートである。【０１２９】
ＶＭ移行命令部１４３は、ＶＭ１２１を移行させるサービスを一つ選択する（ステップＳ５００）。【０１３０】
具体的には、ＶＭ移行命令部１４３は、移行サービスリストの中からエントリを一つ選択する。また、ＶＭ移行命令部１４３は、選択されたエントリを移行サービスリストから削除する。【０１３１】
次に、ＶＭ移行命令部１４３は、選択されたサービスの業務システムを構成するＶＭ１２１の中から、移行先のクラウド基盤１００、１０１に移行するＶＭ１２１を選択する（ステップＳ５０１）。具体的には、以下のような処理が実行される。【０１３２】
ＶＭ移行命令部１４３は、サービス構成管理情報１３２を参照し、サービス名４０３が選択されたサービスの識別情報と一致するエントリを検索する。ＶＭ移行命令部１４３は、検索されたエントリのＶＭ名４０２の値を取得する。これによって、選択されたサービスを構成するＶＭ１２１を特定できる。【０１３３】
ＶＭ移行命令部１４３は、検索されたＶＭ１２１の中から、対象のＶＭ１２１を一つ選択する。ＶＭ移行命令部１４３は、性能管理情報１３１のユーザ３０１及びＶＭ名３０４が、選択されたサービスの識別情報及び選択されたＶＭ１２１の識別情報に一致するエントリを検索する。【０１３４】
ＶＭ移行命令部１４３は、検索されたエントリの性能値３０５から所定の数の列のＶＭ１２１の性能値を取得し、当該ＶＭ１２１の性能値を用いて対象のＶＭ１２１の平均性能値を算出する。ＶＭ移行命令部１４３は、対象のＶＭ１２１の最新の性能値が平均性能値より小さいか否かを判定する。対象のＶＭ１２１の最新の性能値が平均性能値より小さい場合、ＶＭ移行命令部１４３は、当該ＶＭ１２１を移行するＶＭ１２１に決定する。【０１３５】
ＶＭ移行命令部１４３は、選択されたサービスの業務システムを構成する全てのＶＭ１２１に対して前述した処理を実行する。【０１３６】
なお、移行するＶＭ１２１を選択する方法は、前述したものに限定されない。例えば、ＶＭ移行命令部１４３は、複数のＶＭ１２１の最新の性能値を比較し、性能値が低い順に所定の数のＶＭ１２１を選択する方法が考えられる。また、ユーザが移行するＶＭ１２１を選択する方法が考えられる。以上がステップＳ５０１の処理の説明である。【０１３７】
次に、ＶＭ移行命令部１４３は、移行先のクラウド基盤１０１のクラウド管理サーバ１１１に対して、選択されたＶＭ１２１の移行命令を送信する（ステップＳ５０２）。さらに、ＶＭ移行命令部１４３は、移行元のクラウド基盤１００、１０１のクラウド管理サーバ１１１に対して、選択されたＶＭ１２１の削除命令を送信する（ステップＳ５０３）。【０１３８】
次に、ＶＭ移行命令部１４３は、移行サービスリストに含まれる全てのサービスに対して処理が完了したか否かを判定する（ステップＳ５０４）。【０１３９】
移行サービスリストに含まれる全てのサービスに対して処理が完了していないと判定された場合、ＶＭ移行命令部１４３は、ステップＳ５００に戻り、同様の処理を実行する。【０１４０】
移行サービスリストに含まれる全てのサービスに対して処理が完了したと判定された場合、ＶＭ移行命令部１４３は、移行処理を終了する。このとき、ＶＭ移行命令部１４３は、移行サービスリストを初期化する。【０１４１】
なお、リソース選択制御部１３０が移行先のクラウド基盤１０１を選択していたが、本実施例はこれに限定されない。【０１４２】
例えば、分析部１４２は、ステップＳ４０４の処理が実行された後、ターゲットサービスの識別情報、及び移行候補のクラウド基盤１０１の識別情報を、ターゲットサービスを提供するユーザに提示してもよい。また、分析部１４２は、ステップＳ４０４の処理が実行された後、ステップＳ５００及びステップＳ５０１の処理を実行し、ターゲットサービスの識別情報、移行候補のクラウド基盤１０１の識別情報、移行するＶＭ１２１の識別情報を、ターゲットサービスを提供するユーザに提示してもよい。この場合、ユーザが、ＶＭ１２１の移行先となるクラウド基盤１０１を選択する。【０１４３】
なお、実施例１では、ＶＭ移行命令部１４３が移行するＶＭ１２１を選択していたが、本実施例はこれに限定されない。例えば、分析部１４２がステップＳ５０１の処理を実行してもよい。この場合、分析部１４２は、ターゲットサービスの識別情報、移行するＶＭ１２１の識別情報、及び、クラウド基盤１０１を含むエントリを識別情報移行サービスリストに追加する。【０１４４】
実施例１によれば、リソース管理装置１１２は、クラウド基盤１０１上のＶＭ１２１の性能値の分析結果に基づいて、性能に関するＳＬＡを満たさないサービスの業務システムを構成するＶＭ１２１の移行候補のクラウド基盤１０１を提示できる。【０１４５】
また、リソース管理装置１１２は、ＶＭ１２１の性能値の分析結果に基づいて、自動的にＶＭ１２１の移行先のクラウド基盤１０１を選択し、新たなクラウド基盤１０１にＶＭ１２１を移行することができる。
【実施例２】
【０１４６】
実施例２では、リソース管理装置１１２が、契約クラウド管理情報１３４に基づいて、分析対象のクラウド基盤１００、１０１を特定する点が実施例１と異なる。以下、実施例１との差異を中心に実施例２について説明する。【０１４７】
実施例２の計算機システムの構成は、実施例１と同一であるため説明を省略する。実施例２の各装置のハードウェア構成及びソフトウェア構成は、実施例１と同一であるため説明を省略する。また、実施例２のリソース管理装置１１２が保持する情報は、実施例１と同一であるため説明を省略する。【０１４８】
実施例２のリソース管理装置１１２が実行する処理の概要は実施例１と同一であるため説明を省略する。実施例２のモニタ情報取得処理及び性能判定処理は、実施例１と同一の処理であるため説明を省略する。また、実施例２の移行処理は、実施例１と同一の処理であるため説明を省略する。【０１４９】
実施例２では、分析部１４２が実行する分析処理が異なる。図１３は、実施例２の分析部１４２が実行する分析処理の一例を説明するフローチャートである。【０１５０】
分析部１４２は、サービス構成管理情報１３２を参照して、ターゲットサービスを提供するユーザを特定する（ステップＳ６００）。ステップＳ６００の処理は、ステップＳ４００の処理と同一である。【０１５１】
次に、分析部１４２は、ターゲット業務システムを構成するＶＭ１２１が配置されたクラウド基盤１００、１０１を特定する（ステップＳ６０１）。ステップＳ６０１の処理は、ステップＳ４０１の処理と同一である。【０１５２】
次に、分析部１４２は、契約クラウド管理情報１３４を参照し、分析対象のクラウド基盤１０１を特定する（ステップＳ６０２）。具体的には、以下のような処理が実行される。【０１５３】
分析部１４２は、ユーザ６０１がターゲットユーザの識別情報と一致するエントリを検索する。分析部１４２は、検索されたエントリから、クラウド６０２が移行元のクラウド基盤１００、１０１の識別情報に一致するエントリを削除する。また、分析部１４２は、検索されたエントリから、クラウド６０２が「プライベートクラウド」であるエントリを削除する。【０１５４】
前述した処理によって、分析部１４２は、ターゲットユーザが使用契約を結んでいるクラウド基盤１０１であり、かつ、ターゲット業務システムを構成するＶＭ１２１を含まないクラウド基盤１０１を特定できる。なお、分析部１４２は、ターゲットユーザが使用契約を結んでいる全てのクラウド基盤１０１を分析対象のクラウド基盤１０１として特定してもよい。【０１５５】
分析部１４２は、検索されたエントリのクラウド６０２の値及びリージョン６０３の値の組合せを分析対象のクラウド基盤１０１の識別情報として取得する。以上がステップＳ６０２の処理の説明である。【０１５６】
次に、分析部１４２は、性能管理情報１３１を参照し、分析対象のクラウド基盤１０１に含まれるＶＭ１２１の性能値を取得する（ステップＳ６０３）。具体的には、以下のような処理が実行される。なお、以下の説明では、ターゲットユーザが使用していないクラウド基盤１０１を未使用クラウド基盤１０１と記載し、また、ターゲットユーザが使用しているクラウド基盤１０１を使用クラウド基盤１０１と記載する。【０１５７】
分析部１４２は、性能管理情報１３１のユーザ３０１及びクラウド３０２に基づいて、エントリが存在しない分析対象のクラウド基盤１０１を特定する。すなわち、未使用クラウド基盤１０１が特定される。未使用クラウド基盤１０１以外のクラウド基盤１０１は使用クラウド基盤１０１として特定される。【０１５８】
分析部１４２は、性能管理情報１３１のユーザ３０１、クラウド３０２、及びリージョン３０３を参照し、ターゲットユーザの識別情報及び使用クラウド基盤１０１の識別情報に一致するエントリを検索する。分析部１４２は、検索されたエントリの性能値３０５を使用クラウド基盤１０１に含まれるＶＭ１２１の性能値として取得する。【０１５９】
分析部１４２は、性能管理情報１３１のクラウド３０２及びリージョン３０３を参照し、未使用クラウド基盤１０１の識別情報に一致するエントリを検索する。分析部１４２は、検索されたエントリの性能値３０５を未使用クラウド基盤１０１に含まれるＶＭ１２１の性能値として取得する。【０１６０】
なお、未使用クラウド基盤１０１に一致するエントリが複数存在する場合、分析部１４２は、一つのエントリを選択する。エントリを選択する方法は、例えば、ＶＭ１２１の性能値の平均値が大きいものを選択する方法が考えられる。以上がステップＳ６０３の処理の説明である。【０１６１】
次に、分析部１４２は、クラスタリングに使用するＶＭ１２１の性能値を選択する（ステップＳ６０４）。ステップＳ６０４の処理は、異常値を含むモニタ情報を削除するための処理である。【０１６２】
具体的には、分析部１４２は、タイムスタンプが同一であるＶＭ１２１の性能値を用いて、各時刻のＶＭ１２１の性能値の平均値及び標準偏差を算出する。分析部１４２は、下式（１）を満たすＶＭ１２１の性能値をクラスタリングに使用する性能値として選択する。【０１６３】
【数１】
2017208413.tif 000003
【０１６４】
なお、ステップＳ６０４の処理は省略してもよい。また、ステップＳ６０４の処理は、実施例１にも適応できる。【０１６５】
次に、分析部１４２は、クラスタリングを実行し（ステップＳ６０５）、移行候補のクラウド基盤１０１を特定する（ステップＳ６０６）。ステップＳ６０５及びステップＳ６０６の処理は、ステップＳ４０３及びステップＳ４０４の処理と同一である。【０１６６】
次に、分析部１４２は、移行候補のクラウド基盤１０１の中から移行先のクラウド基盤１０１を選択し（ステップＳ６０７）、ターゲットサービスの識別情報、移行先のクラウド基盤１０１の種別、及び移行先のクラウド基盤１０１のリージョンの値をリソース選択制御部１３０に出力する（ステップＳ６０８）。その後、分析部１４２は、分析処理を終了する。ステップＳ６０７及びステップＳ６０８の処理は、ステップＳ４０５及びステップＳ４０６の処理と同一である。【０１６７】
実施例２によれば、リソース管理装置１１２は、ターゲットユーザ以外の他のユーザが運用する業務システムを構成するＶＭ１２１の性能値に基づいて、未使用クラウド基盤１０１を移行候補のクラウド基盤１０１として選択することができる。また、実施例２は、実施例１と同様の効果を有する。【０１６８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。【０１６９】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるＣＰＵが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。【０１７０】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ等の広範囲のプログラム又はスクリプト言語で実装できる。【０１７１】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるＣＰＵが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。【０１７２】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【図１】
2017208413.tif 000004
【図２】
2017208413.tif 000005
【図３】
2017208413.tif 000006
【図４】
2017208413.tif 000007
【図５】
2017208413.tif 000008
【図６】
2017208413.tif 000009
【図７】
2017208413.tif 000010
【図８】
2017208413.tif 000011
【図９】
2017208413.tif 000012
【図１０】
2017208413.tif 000013
【図１１】
2017208413.tif 000014
【図１２】
2017208413.tif 000015
【図１３】
2017208413.tif 000016
【国際調査報告】
2017208413.tif 000017
2017208413.tif 000018