(57)【要約】  リソースプールを用いて計算機リソースが管理されるクラウド環境において、リソースを有効に活用できるマイグレーション技術を提供する。  複数の物理計算機及び複数の物理計算機を管理する管理サーバを備える計算機システムであって、物理計算機上には、割当リソースが割り当てられた仮想計算機が稼働し、仮想計算機は一以上のサブ処理を含む一以上の業務処理を実行し、仮想計算機が、サブ処理毎の使用リソース量を取得し、管理サーバが、各物理計算機からリソース情報及び割当リソース情報を取得し、仮想計算機の移行処理の実行要求を受信した場合に、リソース情報及び割当リソース情報に基づいて空きリソース情報を生成し、サブ処理毎の使用リソース量に基づいて移行対象の仮想計算機に必要な要求リソース量を算出し、空きリソース情報及び要求リソース量に基づいて、移行先となる物理計算機を検索し、移行先の物理計算機に移行対象の仮想計算機を移行する。
2012066640.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理計算機、及び、前記複数の物理計算機を管理する管理サーバを備える計算機システムであって、
前記物理計算機上には、当該物理計算機が備える計算機リソースを複数に分割することによって生成された割当リソースが割り当てられた仮想計算機が一以上稼働し、
前記仮想計算機は、一以上のサブ処理を含む一以上の業務処理を実行し、
前記各物理計算機は、それぞれ、第１のプロセッサ、前記第１のプロセッサに接続される第１の主記憶媒体、前記第１のプロセッサに接続される副記憶媒体、前記第１のプロセッサに接続される第１のネットワークインタフェース、前記仮想計算機を管理する仮想管理部、及び前記業務処理を実行することによって使用される前記割当リソースの使用量に関する情報である使用リソース量を取得する使用リソース量取得部、を備え、
前記管理サーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２の記憶媒体、前記第２のプロセッサに接続される第２のネットワークインタフェース、前記各物理計算機が備える計算機リソースに関する情報を含むリソース情報を管理するリソース情報管理部、前記割当リソースに関する情報を含む割当リソース情報を管理する割当リソース情報管理部、前記仮想管理部に前記使用リソース量の取得命令を送信する取得命令部、及び前記仮想計算機の移行処理を実行する移行処理部、を備え、
前記計算機システムは、
前記管理サーバが、前記取得命令を前記各仮想計算機に送信し、
前記各仮想計算機が、
前記受信した取得命令に基づいて、前記サブ処理毎の前記使用リソース量を取得し、
前記取得されたサブ処理毎の使用リソース量を前記管理サーバに送信し、
前記管理サーバが、
前記各物理計算機から、前記リソース情報及び前記割当リソース情報を取得し、
前記仮想計算機の移行処理の実行要求を受信した場合に、前記取得されたリソース情報及び前記取得された割当リソース情報に基づいて、前記計算機システムにおける未使用の前記計算機リソースを表す空きリソースに関する情報である空きリソース情報を生成し、
前記取得されたサブ処理毎の使用リソース量に基づいて、移行対象の前記仮想計算機に必要な計算機リソースのリソース量である要求リソース量を算出し、
前記生成された空きリソース情報及び前記算出された要求リソース量に基づいて、移行先となる前記物理計算機を検索し、
前記検索結果に基づいて、前記移行先の物理計算機に前記移行対象の仮想計算機を移行することを特徴とする計算機システム。
【請求項２】
前記管理サーバは、
前記サブ処理毎の使用リソース量の合計値を前記要求リソース量として算出し、
前記空きリソース情報を参照して、前記空きリソースを選択し、
前記選択された空きリソースのリソース量が、前記要求リソース量以上であるか否かを判定し、
前記選択された空きリソースのリソース量が、前記要求リソース量以上である場合に、前記選択された空きリソースに対応する前記物理計算機を、前記移行対象の仮想計算機の移行先となる候補物理計算機として選択することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記取得されたサブ処理毎の使用リソース量は、前記使用リソース量が取得された期間を表す取得期間を含み、
前記管理サーバは、
前記要求リソース量を算出する場合に、前記サブ処理毎の使用リソース量の合計値を候補リソース量として算出し、
前記取得期間が所定の閾値以下の場合には、前記候補リソース量に所定の付加リソース量を加算することによって前記要求リソース量を算出することを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記管理サーバは、
前記候補物理計算機が複数ある場合に、前記候補物理計算機上で稼動する前記仮想計算機の数が多く、かつ、前記候補物理計算機における前記空きリソースのリソース量が少ない前記候補物理計算機を選択することを特徴とする請求項２に記載の計算機システム。
【請求項５】
前記仮想計算機は、
前記サブ処理の実行優先度又は生存期間を取得し、
前記取得されたサブ処理の実行優先度が所定の閾値以上、又は、前記取得されたサブ処理の生存期間が所定の閾値以上である前記サブ処理を対象サブ処理として選択し、
前記対象サブ処理毎の使用リソース量を取得することを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記取得命令は、前記使用リソース量の取得対象である前記サブ処理の識別情報を含み、
前記仮想計算機は、
前記受信した取得命令に含まれる前記サブ処理の識別情報に基づいて、前記サブ処理の中から、前記使用リソース量の取得対象となる対象サブ処理を選択し、
前記対象サブ処理毎の使用リソース量を取得することを特徴とする請求項１に記載の計算機システム。
【請求項７】
複数の物理計算機、及び、前記複数の物理計算機を管理する管理サーバを備える計算機システムにおけるマイグレーション方法であって、
前記物理計算機上には、当該物理計算機が備える計算機リソースを複数に分割することによって生成された割当リソースが割り当てられた仮想計算機が一以上稼働し、
前記仮想計算機は、一以上のサブ処理を含む一以上の業務処理を実行し、
前記各物理計算機は、それぞれ、第１のプロセッサ、前記第１のプロセッサに接続される第１の主記憶媒体、前記第１のプロセッサに接続される副記憶媒体、前記第１のプロセッサに接続される第１のネットワークインタフェース、前記仮想計算機を管理する仮想管理部、及び前記業務処理を実行することによって使用される前記割当リソースの使用量に関する情報である使用リソース量を取得する使用リソース量取得部、を備え、
前記管理サーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２の記憶媒体、前記第２のプロセッサに接続される第２のネットワークインタフェース、前記各物理計算機が備える計算機リソースに関する情報を含むリソース情報を管理するリソース情報管理部、前記割当リソースに関する情報を含む割当リソース情報を管理する割当リソース情報管理部、前記仮想管理部に前記使用リソース量の取得命令を送信する取得命令部、及び前記仮想計算機の移行処理を実行する移行処理部、を備え、
前記方法は、
前記管理サーバが、前記取得命令を前記各仮想計算機に送信する第１のステップと、
前記各仮想計算機が、前記管理サーバから送信される前記取得命令に基づいて、前記サブ処理毎の前記使用リソース量を取得する第２のステップと、
前記各仮想計算機が、前記取得されたサブ処理毎の使用リソース量を前記管理サーバに送信する第３のステップと、
前記管理サーバが、前記各物理計算機から、前記リソース情報及び前記割当リソース情報を取得する第４のステップと、
前記管理サーバが、前記仮想計算機の移行処理の実行要求を受信した場合に、前記取得されたリソース情報及び前記取得された割当リソース情報に基づいて、前記計算機システムにおける未使用の前記計算機リソースを表す空きリソースに関する情報である空きリソース情報を生成する第５のステップと、
前記管理サーバが、前記取得されたサブ処理毎の使用リソース量に基づいて、移行対象の前記仮想計算機に必要な計算機リソースのリソース量である要求リソース量を算出する第６のステップと、
前記管理サーバが、前記生成された空きリソース情報及び前記算出された要求リソース量に基づいて、移行先となる前記物理計算機を検索する第７のステップと、
前記管理サーバが、前記検索結果に基づいて、前記移行先の物理計算機に前記移行対象の仮想計算機を移行する第８のステップと、
を含むことを特徴とするマイグレーション方法。
【請求項８】
前記第７のステップは、前記サブ処理毎の使用リソース量の合計値を前記要求リソース量として算出するステップを含み、
前記第８のステップは、
前記空きリソース情報を参照して、前記空きリソースを選択するステップと、
前記選択された空きリソースのリソース量が、前記要求リソース量以上であるか否かを判定するステップと、
前記選択された空きリソースのリソース量が、前記要求リソース量以上である場合に、前記選択された空きリソースに対応する前記物理計算機を、前記移行対象の仮想計算機の移行先となる候補物理計算機として選択するステップと、を含むことを特徴とする請求項７に記載のマイグレーション方法。
【請求項９】
前記取得されたサブ処理毎の使用リソース量は、前記使用リソース量が取得された期間を表す取得期間を含み、
前記第７のステップは、
前記サブ処理毎の使用リソース量の合計値を候補リソース量として算出するステップと、
前記取得期間が所定の閾値以下の場合には、前記候補リソース量に所定の付加リソース量を加算することによって前記要求リソース量を算出するステップと、を含むことを特徴とする請求項８に記載のマイグレーション方法。
【請求項１０】
前記第８のステップは、前記候補物理計算機が複数ある場合に、前記候補物理計算機上で稼動する前記仮想計算機の数が多く、かつ、前記候補物理計算機における前記空きリソースのリソース量が少ない前記候補物理計算機を選択するステップを含むことを特徴とする請求項８に記載のマイグレーション方法。
【請求項１１】
前記第２のステップは、
前記サブ処理の実行優先度又は生存期間を取得するステップと、
前記取得されたサブ処理の実行優先度が所定の閾値以上、又は、前記取得されたサブ処理の生存期間が所定の閾値以上である前記サブ処理を対象サブ処理として選択するステップと、
前記対象サブ処理毎の使用リソース量を取得するステップと、を含むことを特徴とする請求項７に記載のマイグレーション方法。
【請求項１２】
前記取得命令は、前記使用リソース量の取得対象である前記サブ処理の識別情報を含み、
前記第２のステップは、
前記受信した取得命令に含まれる前記サブ処理の識別情報に基づいて、前記サブ処理の中から、前記使用リソース量の取得対象となる対象サブ処理を選択するステップと、
前記対象サブ処理毎の使用リソース量を取得するステップと、を含むことを特徴とする請求項７に記載のマイグレーション方法。
【請求項１３】
第１のプロセッサ、前記第１のプロセッサに接続される第１の記憶媒体、及び前記第１のプロセッサに接続される第１のネットワークインタフェースを備える、複数の物理計算機を管理する管理サーバであって、
前記物理計算機上には、当該物理計算機が備える計算機リソースを複数に分割することによって生成された割当リソースが割り当てられた仮想計算機が一以上稼働し、
前記仮想計算機は、一以上のサブ処理を含む一以上の業務処理を実行し、
前記管理サーバは、
第２のプロセッサと、前記第２のプロセッサに接続される第２の記憶媒体と、前記第２のプロセッサに接続される第２のネットワークインタフェースと、前記各物理計算機が備える計算機リソースに関する情報を含むリソース情報を管理するリソース情報管理部と、前記割当リソースに関する情報を含む割当リソース情報を管理する割当リソース情報管理部と、前記仮想管理部に、前記業務処理を実行することによって使用される前記割当リソースの使用量を表す使用リソース量の取得命令を送信する取得命令部と、前記仮想計算機の移行処理を実行する移行処理部と、を備え、
前記取得命令を前記各仮想計算機に送信することによって、前記各仮想計算機から、前記サブ処理毎の前記使用リソース量を取得し、
前記各物理計算機から、前記リソース情報及び前記割当リソース情報を取得し、
前記仮想計算機の移行処理の実行要求を受信した場合に、前記取得されたリソース情報及び前記取得された割当リソース情報に基づいて、前記各物理計算機における未使用の前記計算機リソースを表す空きリソースに関する情報である空きリソース情報を生成し、
前記取得されたサブ処理毎の使用リソース量に基づいて、移行対象の前記仮想計算機に必要な計算機リソースのリソース量である要求リソース量を算出し、
前記生成された空きリソース情報及び前記算出された要求リソース量に基づいて、移行先となる前記物理計算機を検索し、
前記検索結果に基づいて、前記移行先の物理計算機に前記移行対象の仮想計算機を移行することを特徴とする管理サーバ。
【請求項１４】
前記サブ処理毎の使用リソース量の合計値を前記要求リソース量として算出し、
前記空きリソース情報を参照して、前記空きリソースを選択し、
前記選択された空きリソースのリソース量が、前記要求リソース量以上であるか否かを判定し、
前記選択された空きリソースのリソース量が、前記要求リソース量以上である場合に、前記選択された空きリソースに対応する前記物理計算機を、前記移行対象の仮想計算機の移行先となる候補物理計算機として選択することを特徴とする請求項１３に記載の管理サーバ。
【請求項１５】
前記取得されたサブ処理毎の使用リソース量は、前記使用リソース量が取得された期間を表す取得期間を含み、
前記管理サーバは、
前記要求リソース量を算出する場合に、前記サブ処理毎の使用リソース量の合計値を候補リソース量として算出し、
前記取得期間が所定の閾値以下の場合には、前記候補リソース量に所定の付加リソース量を加算することによって前記要求リソース量を算出することを特徴とする請求項１４に記載の管理サーバ。
【請求項１６】
前記候補物理計算機が複数ある場合に、前記候補物理計算機上で稼動する前記仮想計算機の数が多く、かつ、前記候補物理計算機における前記空きリソースのリソース量が少ない前記候補物理計算機を選択することを特徴とする請求項１４に記載の管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
クラウド環境において、物理サーバ上で稼動する仮想サーバを移行するマイグレーション技術に関する。
【背景技術】
【０００２】
クラウド環境では、性能の異なるサーバが混在する。例えば、クロック周波数が高いＣＰＵを備えるサーバ装置と、クロック周波数の低いＣＰＵを備えるサーバ装置とが混在する。リソースプールでは、リソースプールに含まれる各サーバ装置が備えるリソース量の合計値（ＣＰＵの場合は、クロック周波数の合計値）が、リソースプールのリソース量として管理される。【０００３】
例えば、クロック周波数が３ＧＨｚであるＣＰＵを４つ含むリソースプールと、クロック周波数が２ＧＨｚであるＣＰＵを６つ含むリソースプールとは、クロック周波数の合計値が共に１２ＧＨｚとなり、同一のＣＰＵリソースを有するリソースプールとして扱われる。【０００４】
ユーザは、サーバ装置を用いて構築される仮想サーバ装置（ＶＭ）を利用してサービスを提供する。障害が発生した場合、他のサーバ装置に仮想サーバ装置を移行（マイグレーション）することによって、ユーザは継続してサービスを提供することができる。【０００５】
マイグレーション方法としては、例えば、データセンタ内において、アプリケーションが要求するネットワーク条件、サーバ要件及びストレージ要件に基づいてマイグレーション先のデータセンタを見つける方法がある（例えば、特許文献１参照）。【０００６】
クラウド環境において、リソースプールに含まれるサーバ装置に仮想サーバ装置を移行する場合、仮想サーバ装置に割り当てられたリソース量に基づいてマイグレーション先のリソースプールが決定される。【０００７】
具体的には、仮想サーバ装置に割り当てられたリソース量以上のリソース量を備えるリソースプールが、移行先のリソースプールとして決定される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９-１３４６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、従来の方法では、仮想サーバ装置の使用リソース量が少ない場合等に、当該使用リソース量以上のリソース量を備えるリソースプールであっても移行先として選択されない。すなわち、仮想サーバ装置に必要なリソース量以上のリソース量を備えるリソースプールが選択される場合がある。そのため、リソースの有効活用が困難であった。【００１０】
本発明では、仮想サーバ装置に必要なリソース量に基づいて移行先のリソースプールを検索することによって、クラウド環境における計算機リソースの有効活用を実現することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の代表的な一例を示せば以下の通りである。すなわち、複数の物理計算機、及び、前記複数の物理計算機を管理する管理サーバを備える計算機システムであって、前記物理計算機上には、当該物理計算機が備える計算機リソースを複数に分割することによって生成された割当リソースが割り当てられた仮想計算機が一以上稼働し、前記仮想計算機は、一以上のサブ処理を含む一以上の業務処理を実行し、前記各物理計算機は、それぞれ、第１のプロセッサ、前記第１のプロセッサに接続される第１の主記憶媒体、前記第１のプロセッサに接続される副記憶媒体、前記第１のプロセッサに接続される第１のネットワークインタフェース、前記仮想計算機を管理する仮想管理部、及び前記業務処理を実行することによって使用される前記割当リソースの使用量に関する情報である使用リソース量を取得する使用リソース量取得部、を備え、前記管理サーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２の記憶媒体、前記第２のプロセッサに接続される第２のネットワークインタフェース、前記各物理計算機が備える計算機リソースに関する情報を含むリソース情報を管理するリソース情報管理部、前記割当リソースに関する情報を含む割当リソース情報を管理する割当リソース情報管理部、前記仮想管理部に前記使用リソース量の取得命令を送信する取得命令部、及び前記仮想計算機の移行処理を実行する移行処理部、を備え、前記計算機システムは、前記管理サーバが、前記取得命令を前記各仮想計算機に送信し、前記各仮想計算機が、前記受信した取得命令に基づいて、前記サブ処理毎の前記使用リソース量を取得し、前記取得されたサブ処理毎の使用リソース量を前記管理サーバに送信し、前記管理サーバが、前記各物理計算機から、前記リソース情報及び前記割当リソース情報を取得し、前記仮想計算機の移行処理の実行要求を受信した場合に、前記取得されたリソース情報及び前記取得された割当リソース情報に基づいて、前記計算機システムにおける未使用の前記計算機リソースを表す空きリソースに関する情報である空きリソース情報を生成し、前記取得されたサブ処理毎の使用リソース量に基づいて、移行対象の前記仮想計算機に必要な計算機リソースのリソース量である要求リソース量を算出し、前記生成された空きリソース情報及び前記算出された要求リソース量に基づいて、移行先となる前記物理計算機を検索し、前記検索結果に基づいて、前記移行先の物理計算機に前記移行対象の仮想計算機を移行することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、サブ処理の使用リソース量に基づいて、移行先の物理計算機を検索するため、仮想計算機に割り当てられた割当リソースに基づく検索と比較して、より適切なリソース量の物理計算機に移行することができる。したがって、計算機システム内のリソースを有効活用することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態の計算機システムの構成例を示す説明図である。
【図２】本発明の第１の実施形態の管理サーバのハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【図３】本発明の第１の実施形態の物理サーバのハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【図４】本発明の第１の実施形態のストレージシステムのハードウェア構成の一例を示す説明図である。
【図５】本発明の第１の実施形態の計算機システムの論理的構成を示す説明図である。
【図６】本発明の第１の実施形態のプロセス管理情報の一例を示す説明図である。
【図７】本発明の第１の実施形態のユーザ定義情報の一例を示す説明図である。
【図８】本発明の第１の実施形態の物理サーバ管理情報の一例を示す説明図である。
【図９】本発明の第１の実施形態の仮想サーバ管理情報の一例を示す説明図である。
【図１０】本発明の第１の実施形態のプロセッサ性能Ｉｎｄｅｘ情報の一例を示す説明図である。
【図１１】本発明の第１の実施形態の空きリソースプール管理情報の一例を示す説明図である。
【図１２】本発明の第１の実施形態の物理サーバ構成管理部によって実行される処理を説明するフローチャートである。
【図１３】本発明の第１の実施形態の仮想サーバ構成管理部によって実行される処理を説明するフローチャートである。
【図１４】本発明の第１の実施形態のプロセッサ性能管理部によって実行される処理を説明するフローチャートである。
【図１５】本発明の第１の実施形態のワークロード管理部によって実行される処理を説明するフローチャートである。
【図１６】本発明の第１の実施形態の物理サーバ構成取得部によって実行される処理を説明するフローチャートである。
【図１７】本発明の第１の実施形態の仮想サーバ構成取得部によって実行される処理を説明するフローチャートである。
【図１８】本発明の第１の実施形態のプロセッサ性能取得部によって実行される処理を説明するフローチャートである。
【図１９】本発明の第１の実施形態のプロセス情報取得部によって実行される処理を説明するフローチャートである。
【図２０】本発明の第１の実施形態のＶＭ移行制御部によって実行される処理を説明するフローチャートである。
【図２１】本発明の第１の実施形態におけるリソース算出処理の詳細を説明するフローチャートである。
【図２２】本発明の第１の実施形態における検索処理の詳細を説明するフローチャートである。
【図２３Ａ】本発明の第１の実施形態の適用例を示す説明図である。
【図２３Ｂ】本発明の第１の実施形態の適用例を示す説明図である。
【図２４】本発明の第２の実施形態の計算機システムの論理的構成を示す説明図である。
【図２５】本発明の第２の実施形態のプロセス管理情報の一例を示す説明図である。
【図２６】本発明の第２の実施形態の仮想サーバ管理情報の一例を示す説明図である。
【図２７】本発明の第２の実施形態の空きリソースプール管理情報の一例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、図面を用いて本発明の実施形態について説明する。なお、同一の構成については同一の符号を付すものとする。
【００１５】
仮想化方法としては、ＶＭ方式及びＬＰＡＲ方式がある。
【００１６】
ＶＭ方式は、ハイパバイザ等の仮想化管理部が物理サーバの計算機リソースを時分割して仮想サーバに割り当てる方式である。ＬＰＡＲ方式は、仮想化管理部が物理サーバの計算機リソースを論理的に分割したＬＰＡＲ上に仮想サーバを割り当てる方式である。
【００１７】
以下、ＶＭ方式及びＬＰＡＲ方式、それぞれの実施形態について説明する。
【００１８】
［第１の実施形態］
【００１９】
第１の実施形態では、ＶＭ方式を用いた仮想化技術の場合について説明する。
【００２０】
図１は、本発明の第１の実施形態の計算機システムの構成例を示す説明図である。
【００２１】
計算機システムは、管理サーバ１００、物理サーバ１１０、及びストレージシステム１２０から構成される。
【００２２】
管理サーバ１００と物理サーバ１１０とは、ネットワーク１３０を介して接続される。ネットワーク１３０は、例えば、ＬＡＮ、ＷＡＮ等が考えられる。
【００２３】
また、物理サーバ１１０とストレージシステム１２０とは、直接、また、ＳＡＮ等を介して接続される。
【００２４】
管理サーバ１００は、計算機システム全体を管理する。管理サーバ１００のハードウェア構成及びソフトウェア構成については、図２を用いて後述する。
【００２５】
物理サーバ１１０は、ユーザがサービスを提供するための仮想サーバ１５０が稼動する計算機である。物理サーバ１１０のハードウェア構成及びソフトウェア構成については、図３を用いて後述する。
【００２６】
ストレージシステム１２０は、仮想サーバ１５０に割り当てられる記憶領域を提供する。ストレージシステム１２０のハードウェア構成及びソフトウェア構成については、図４を用いて後述する。
【００２７】
図２は、本発明の第１の実施形態の管理サーバ１００のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【００２８】
管理サーバ１００は、ハードウェア構成としてプロセッサ２０１、メモリ２０２、ネットワークＩ／Ｆ２０３、及びディスクＩ／Ｆ２０４を備える。なお、管理サーバ１００は、ＨＤＤ等の他のハードウェア構成を備えてもよい。
【００２９】
プロセッサ２０１は、演算を実行するプロセッサコア（図示省略）を複数含み、メモリ２０２に格納されるプログラムを実行する。これによって、管理サーバ１００が備える機能を実現する。
【００３０】
メモリ２０２は、プロセッサ２０１によって実行されるプログラム及び当該プログラムを実行するために必要となる情報を格納する。
【００３１】
ネットワークＩ／Ｆ２０３は、ネットワーク１３０と接続するためのインタフェースである。
【００３２】
ディスクＩ／Ｆ２０４は、外部のストレージシステム（図示省略）と接続するためのインタフェースである。
【００３３】
以下、管理サーバ１００のソフトウェア構成について説明する。
【００３４】
メモリ２０２は、仮想化管理部２１０及び構成情報管理部２２０を実現するためのプログラム、並びに、物理サーバ管理情報２３０、仮想サーバ管理情報２４０、プロセス管理情報２５０、ユーザ定義情報２６０、プロセッサ性能Ｉｎｄｅｘ情報２７０、及び空きリソースプール管理情報２８０を格納する。
【００３５】
仮想化管理部２１０は、物理サーバ１１０上で稼動する仮想化部３１０（図３参照）が保持する情報を管理する。仮想化管理部２１０は、ワークロード管理部２１１、プロセッサ性能管理部２１２、及びＶＭ移行制御部２１３を備える。
【００３６】
ワークロード管理部２１１は、仮想サーバ１５０上で実行される処理（例えば、プロセス、スレッド等）に関する情報を管理する。具体的には、ワークロード管理部２１１は、仮想サーバ１５０上で実行される処理（例えば、プロセス、スレッド等）によって使用される計算機リソースの使用率等の情報を取得する。また、ワークロード管理部２１１は、取得された情報をプロセス管理情報２５０に格納する。
【００３７】
プロセッサ性能管理部２１２は、物理サーバ１１０が備えるプロセッサ３０１（図３参照）の性能情報を取得し、取得された性能情報をプロセッサ性能Ｉｎｄｅｘ情報２７０に格納する。
【００３８】
ＶＭ移行制御部２１３は、仮想サーバ１５０を別の物理サーバ１１０に移行するためのマイグレーション処理を実行する。
【００３９】
構成情報管理部２２０は、物理サーバ１１０及び仮想サーバ１５０の構成情報を管理する。構成情報管理部２２０は、物理サーバ構成管理部２２１及び仮想サーバ構成管理部２２２を備える。
【００４０】
物理サーバ構成管理部２２１は、物理サーバ１１０の構成情報を管理する。具体的には、物理サーバ構成管理部２２１は、各物理サーバ１１０から、当該物理サーバ１１０の構成情報を取得し、取得された構成情報を物理サーバ管理情報２３０に格納する。
【００４１】
本実施形態では、一つの物理サーバ１１０が備える計算機リソースが一つのリソースプールとして管理される。なお、本発明はこれに限定されず、例えば、複数の物理サーバ１１０が備える計算機リソースが一つのリソースプールとして管理されてもよい。
【００４２】
仮想サーバ構成管理部２２２は、仮想サーバ１５０に割り当てられる計算機リソース（例えば、プロセッサ、メモリ等）の情報、すなわち、仮想サーバ１５０の構成情報を管理する。具体的には、仮想サーバ構成管理部２２２は、仮想化部３１０（図３参照）から、当該仮想化部３１０（図３参照）上で稼動する仮想サーバ１５０の構成情報を取得し、取得された仮想サーバ１５０の構成情報を仮想サーバ管理情報２４０に格納する。
【００４３】
物理サーバ管理情報２３０は、物理サーバ１１０の構成情報を格納する。物理サーバ管理情報２３０の詳細については、図８を用いて後述する。
【００４４】
仮想サーバ管理情報２４０は、仮想サーバ１５０の構成情報を格納する。仮想サーバ管理情報２４０の詳細については、図９を用いて後述する。
【００４５】
プロセス管理情報２５０は、仮想サーバ１５０上で実行される処理（例えば、プロセス、スレッド等）に関する情報を格納する。プロセス管理情報２５０の詳細については、図６を用いて後述する。
【００４６】
ユーザ定義情報２６０は、仮想サーバ１５０上で実行される処理（例えば、プロセス、スレッド等）のうち、ユーザによって指定された処理（例えば、プロセス、スレッド等）に関する情報を格納する。ユーザ定義情報２６０の詳細については、図７を用いて後述する。ユーザ定義情報２６０は、仮想サーバ１５０のマイグレーション実行時にユーザによって入力される情報である。
【００４７】
プロセッサ性能Ｉｎｄｅｘ情報２７０は、物理サーバ１１０が備えるプロセッサの性能情報を格納する。プロセッサ性能Ｉｎｄｅｘ情報２７０の詳細については、図１０を用いて後述する。
【００４８】
空きリソースプール管理情報２８０は、使用されていない計算機リソース、すなわち、空きリソースプールに関する情報を格納する。本実施形態では、物理サーバ管理情報２３０、仮想サーバ管理情報２４０及びプロセッサ性能Ｉｎｄｅｘ情報２７０に基づいて、空きリソースプール管理情報２８０が生成される。
【００４９】
なお、空きリソースプール管理情報２８０の詳細については、図１１を用いて後述する。
【００５０】
本実施形態では、一つの物理サーバ１１０が備える計算機リソースのうち、未使用の計算機リソースが一つの空きリソースプールとして管理される。なお、本発明はこれに限定されず、例えば、複数の物理サーバ１１０における未使用の計算機リソースが一つの空きリソースプールとして管理されてもよい。
【００５１】
本実施形態では、仮想化管理部２１０、構成情報管理部２２０、ワークロード管理部２１１、プロセッサ性能管理部２１２、ＶＭ移行制御部２１３、物理サーバ構成管理部２２１及び仮想サーバ構成管理部２２２は、ソフトウェアによって実現されているが、ハードウェアを用いて実現してもよい。
【００５２】
図３は、本発明の第１の実施形態の物理サーバ１１０のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【００５３】
物理サーバ１１０は、プロセッサ３０１、メモリ３０２、ネットワークＩ／Ｆ３０３、及びディスクＩ／Ｆ３０４を備える。
【００５４】
プロセッサ３０１は、演算を実行するプロセッサコア（図示省略）を複数含み、メモリ３０２に格納される各種プログラムを実行する。これによって、物理サーバ１１０が備える機能を実現する。
【００５５】
メモリ３０２は、プロセッサ３０１によって実行されるプログラム及び当該プログラムを実行するために必要となる情報を格納する。
【００５６】
ネットワークＩ／Ｆ３０３は、ネットワーク１３０と接続するためのインタフェースである。
【００５７】
ディスクＩ／Ｆ３０４は、ストレージシステム１２０と接続するためのインタフェースである。
【００５８】
以下、物理サーバ１１０のソフトウェア構成について説明する。
【００５９】
メモリ３０２は、仮想化部３１０を実現するためのプログラムを格納する。
【００６０】
仮想化部３１０は、物理サーバ１１０が備える計算機リソースを分割することによって複数の仮想サーバ１５０を生成する。また、仮想化部３１０は、生成された仮想サーバ１５０を管理する。本実施形態の仮想化部３１０は、ＶＭ方式を用いた仮想環境を実現するものとする。
【００６１】
仮想化部３１０は、物理サーバ構成取得部３１１、仮想サーバ構成取得部３１２、プロセッサ性能取得部３１３、物理サーバ構成情報３１４、及び仮想サーバ構成情報３１５を備える。
【００６２】
物理サーバ構成取得部３１１は、管理サーバ１００から物理サーバ１１０の構成情報の取得要求を受信した場合に、物理サーバ構成情報３１４から物理サーバ１１０の構成情報を読み出し、読み出された物理サーバ１１０の構成情報を管理サーバ１００に送信する。
【００６３】
なお、物理サーバ構成取得部３１１は、物理サーバ１１０の構成情報の取得要求を受信した時に、物理サーバ１１０から直接情報を取得してもよい。
【００６４】
仮想サーバ構成取得部３１２は、管理サーバ１００から仮想サーバ１５０の構成情報の取得要求を受信した場合に、仮想サーバ構成情報３１５から仮想サーバ１５０の構成情報を読み出し、読み出された仮想サーバ１５０の構成情報を管理サーバ１００に送信する。
【００６５】
なお、仮想サーバ構成取得部３１２は、仮想サーバ１５０の構成情報の取得要求を受信した時に、仮想サーバ１５０から直接情報を取得してもよい。
【００６６】
プロセッサ性能取得部３１３は、管理サーバ１００からプロセッサ３０１の性能情報の取得要求を受信した場合に、プロセッサ３０１の性能情報を取得し、取得された性能情報を管理サーバ１００に送信する。
【００６７】
物理サーバ構成情報３１４は、物理サーバ１１０のハードウェア構成及びソフトウェア構成に関する情報を格納する。
【００６８】
仮想サーバ構成情報３１５は、仮想サーバ１５０に割り当てられる計算機リソースの情報を格納する。
【００６９】
仮想サーバ１５０は、一つの計算機として稼動する。仮想サーバ１５０はＯＳ３３０を実行する。さらに、当該ＯＳ３３０上では一以上のアプリケーション（図示省略）が実行される。アプリケーション（図示省略）は一以上のプロセス３５０から構成される。また、プロセス３５０は、複数のスレッド３６０を含む。
【００７０】
なお、本発明は、図３に示すようなプロセス３５０とスレッド３６０との包含関係に限定されない。すなわち、プロセス３５０又はスレッド３６０の扱いが異なっていてもよい。
【００７１】
ＯＳ３３０は、プロセス情報取得部３４０を備える。プロセス情報取得部３４０は、ＯＳ３３０上で実行されるアプリケーションによって使用される計算機リソースに関する情報を取得する。
【００７２】
本実施形態では、プロセス３５０及びスレッド３６０単位に、計算機リソースの使用量が取得される。
【００７３】
プロセス情報取得部３４０が取得した情報は、仮想化部３１０から管理サーバ１００に送信される。
【００７４】
本実施形態では、仮想化部３１０、物理サーバ構成取得部３１１、仮想サーバ構成取得部３１２、プロセッサ性能取得部３１３、物理サーバ構成情報３１４、及び仮想サーバ構成情報３１５は、ソフトウェアによって実現されているが、ハードウェアを用いて実現してもよい。
【００７５】
図４は、本発明の第１の実施形態のストレージシステム１２０のハードウェア構成の一例を示す説明図である。
【００７６】
ストレージシステム１２０は、プロセッサ４０１、メモリ４０２、ディスクＩ／Ｆ４０３、及び記憶媒体４０４を備える。
【００７７】
プロセッサ４０１は、複数のプロセッサコア（図示省略）を含み、メモリ４０２に格納されるプログラムを実行する。これによって、ストレージシステム１２０が備える機能を実現する。
【００７８】
メモリ４０２は、プロセッサ４０１によって実行されるプログラム及び当該プログラムを実行するために必要となる情報を格納する。
【００７９】
ディスクＩ／Ｆ４０３は、記憶媒体４０４に接続するためのインタフェースである。
【００８０】
記憶媒体４０４は、各種情報を格納する。記憶媒体４０４は、例えば、ＨＤＤ、ＳＳＤ、及び不揮発性メモリ等が考えられる。
【００８１】
なお、ストレージシステム１２０は、複数の記憶媒体４０４からディスクアレイを構成し、一つの記憶領域として管理してもよい。
【００８２】
また。ストレージシステム１２０は、記憶媒体４０４又はディスクアレイの記憶領域を論理的に分割することによって複数のＬＵを生成し、生成されたＬＵを各仮想サーバ１５０に割り当ててもよい。
【００８３】
図５は、本発明の第１の実施形態の計算機システムの論理的構成を示す説明図である。
【００８４】
仮想化部３１０は、物理サーバ１１０が備えるプロセッサ３０１及びメモリ３０２等の計算機リソースを時分割して、仮想サーバ１５０に割り当てられる。仮想サーバ１５０は、割り当てられた計算機リソースを仮想プロセッサ５１１及び仮想メモリ５１２として認識する。
【００８５】
ストレージシステム１２０は、記憶領域５０１を論理分割して生成されたＬＵ５０２を各仮想サーバ１５０に割り当てる。当該ＬＵ５０２にＯＳ３３０等の実行イメージが格納される。
【００８６】
以下、計算機リソースを単にリソースとも記載する。
【００８７】
図６は、本発明の第１の実施形態のプロセス管理情報２５０の一例を示す説明図である。
【００８８】
プロセス管理情報２５０は、仮想サーバＩＤ６０１、ＯＳ種別６０２、プロセスＩＤ６０３、スレッドＩＤ６０４、処理名６０５、親子関係６０６、優先度６０７、コアＩＤ６０８、使用率６０９、生存期間６１０、及び取得時間６１１を含む。
【００８９】
仮想サーバＩＤ６０１は、仮想サーバ１５０を一意に識別するための識別子を格納する。
【００９０】
ＯＳ種別６０２は、仮想サーバＩＤ６０１に対応する仮想サーバ１５０が実行するＯＳ３３０の種別を格納する。
【００９１】
なお、ＯＳ３３０の種別によってプロセス３５０及びスレッド３６０等の定義が異なるため、プロセスＩＤ６０３、スレッドＩＤ６０４、親子関係６０６及び優先度６０７に格納される情報が異なる。本実施形態では、ＯＳ種別６０２に基づいて、プロセス３５０、スレッド３６０等の定義が特定される。
【００９２】
プロセスＩＤ６０３は、仮想サーバＩＤ６０１に対応する仮想サーバ１５０上で実行されるプロセス３５０を一意に識別するための識別子を格納する。同一のプロセス３５０には、同一のプロセスＩＤ６０３が格納される。
【００９３】
スレッドＩＤ６０４は、プロセスＩＤ６０３に対応するプロセス３５０よって生成されたスレッド３６０を一意に識別するための識別子を格納する。スレッドＩＤ６０４に識別子が格納される場合、当該処理はスレッド３６０であることを表す。
【００９４】
処理名６０５は、プロセスＩＤ６０３又はスレッドＩＤ６０４に対応するプロセス３５０又はスレッド３６０の名称を格納する。
【００９５】
親子関係６０６は、プロセス３５０の親子関係を格納する。親子関係６０６に「ｐａｒｅｎｔ」が格納される場合、当該エントリが親プロセスであることを表す。親プロセス３５０から生成された子プロセス３５０の親子関係６０６には、親プロセス３５０のプロセスＩＤ６０３が格納される。
【００９６】
優先度６０７は、仮想サーバＩＤ６０１に対応する仮想サーバ１５０上で実行されるプロセス３５０又はスレッド３６０の重要度を表す情報を格納する。なお、優先度６０７は、ＯＳ種別６０２によって異なる情報が格納される。例えば、数値、又は「高、中、低」等の情報が格納される。
【００９７】
コアＩＤ６０８は、仮想サーバＩＤ６０１に対応する仮想サーバ１５０に割り当てられる仮想プロセッサ５１１に含まれる仮想プロセッサコアの識別子を格納する。
【００９８】
使用率６０９は、コアＩＤ６０８に対応する仮想プロセッサ５１１の使用率を格納する。
【００９９】
生存期間６１０は、プロセスＩＤ６０３に対応するプロセス３５０又はスレッドＩＤ６０４に対応するスレッド３６０の生存時間を格納する。
【０１００】
取得時間６１１は、プロセスＩＤ６０３に対応するプロセス３５０又はスレッドＩＤ６０４に対応するスレッド３６０の情報の取得時間を格納する。
【０１０１】
図７は、本発明の第１の実施形態のユーザ定義情報２６０の一例を示す説明図である。
【０１０２】
ユーザ定義情報２６０は、物理サーバＩＤ７０１、仮想サーバＩＤ７０２及び処理名７０３を含む。
【０１０３】
物理サーバＩＤ７０１は、物理サーバ１１０を一意に識別するための識別子を格納する。
【０１０４】
仮想サーバＩＤ７０２は、物理サーバＩＤ７０１に対応する物理サーバ１１０における仮想サーバ１５０を一意に識別するための識別子を格納する。仮想サーバＩＤ７０２は、仮想サーバＩＤ６０１と同一の情報である。
【０１０５】
処理名７０３は、仮想サーバＩＤ７０２に対応する仮想サーバ１５０上で実行されるプロセス３５０又はスレッド３６０の名称を格納する。処理名７０３は、処理名６０５と同一の情報である。
【０１０６】
図８は、本発明の第１の実施形態の物理サーバ管理情報２３０の一例を示す説明図である。
【０１０７】
物理サーバ管理情報２３０は、物理サーバＩＤ８０１、サーバ構成８０２及び仮想化部ＩＤ８０３を含む。
【０１０８】
物理サーバＩＤ８０１は、物理サーバ１１０を一意に識別するための識別子である。物理サーバＩＤ８０１は、物理サーバＩＤ７０１と同一の情報を格納する。
【０１０９】
サーバ構成８０２は、物理サーバＩＤ８０１に対応する物理サーバ１１０が備えるリソースの情報を格納する。サーバ構成８０２は、プロセッサ８０４及びメモリ８０５を含む。なお、サーバ構成８０２に他の情報が含まれてもよい。
【０１１０】
プロセッサ８０４は、物理サーバＩＤ８０１に対応する物理サーバ１１０が備えるプロセッサ３０１のリソース量を格納する。本実施形態では、物理サーバ１１０が備えるプロセッサ３０１の周波数と、当該プロセッサ３０１に含まれるプロセッサコアの数とを乗算した値が格納される。
【０１１１】
なお、本発明はこれに限定されない。プロセッサ３０１の周波数とソケット数とを乗算した値が格納されてもよい。
【０１１２】
メモリ８０５は、物理サーバＩＤ８０１に対応する物理サーバ１１０が備えるメモリ３０２のリソース量を格納する。本実施形態では、物理サーバ１１０が備えるメモリ３０２の全記憶領域の容量が格納される。
【０１１３】
仮想化部ＩＤ８０３は、物理サーバＩＤ８０１に対応する物理サーバ１１０における仮想化部３１０を一意に識別するための識別子を格納する。
【０１１４】
図９は、本発明の第１の実施形態の仮想サーバ管理情報２４０の一例を示す説明図である。
【０１１５】
仮想サーバ管理情報２４０は、仮想化部ＩＤ９０１、仮想サーバＩＤ９０２、仮想サーバ構成９０３、割当方式９０４、及び使用状況９０５を含む。
【０１１６】
仮想化部ＩＤ９０１は、仮想化部３１０を一意に識別するための識別子を格納する。仮想化部ＩＤ９０１は、仮想化部ＩＤ８０３と同一の情報である。
【０１１７】
仮想サーバＩＤ９０２は、仮想化部ＩＤ９０１に対応する仮想化部３１０が管理する仮想サーバ１５０を一意に識別するための識別子を格納する。仮想サーバＩＤ９０２は、仮想サーバＩＤ６０１と同一の情報である。
【０１１８】
仮想サーバ構成９０３は、仮想サーバＩＤ９０２に対応する仮想サーバ１５０に割り当てられるリソースに関する情報を格納する。仮想サーバ構成９０３は、仮想プロセッサ９０６及び仮想メモリ９０７を含む。なお、仮想サーバ構成９０３は、他の情報を含んでもよい。
【０１１９】
仮想プロセッサ９０６は、仮想サーバ１５０に割り当てられる仮想プロセッサ５１１のリソース量を格納する。具体的には、仮想プロセッサ５１１に含まれるプロセッサコアの周波数と、当該プロセッサコアの数とを乗算した値が格納される。
【０１２０】
例えば、図９の仮想化部ＩＤ９０１が「ｈｙｐｅｒ１」、仮想サーバＩＤ９０２が「ｖｉｒｔ１」の仮想サーバ１５０は、周波数が「１．７ＧＨｚ」のプロセッサコアが３つ含まれる仮想プロセッサ５１１が割り当てられていることを示す。
【０１２１】
なお、本発明はこれに限定されない。仮想プロセッサ５１１の周波数と、ソケット数とを乗算した値を仮想プロセッサ９０６に格納してもよい。
【０１２２】
仮想メモリ９０７は、仮想サーバ１５０に割り当てられる仮想メモリ５１２のリソース量を格納する。
【０１２３】
なお、仮想化部３１０は、当該仮想プロセッサ９０６に格納されたリソース量を満たすように物理サーバ１１０が備えるプロセッサ３０１を各仮想サーバ１５０に割り当てる。また、仮想化部３１０は、当該仮想メモリ９０７に格納されたリソース量を満たすように物理サーバ１１０が備えるメモリ３０２を各仮想サーバ１５０に割り当てる。
【０１２４】
割当方式９０４は、プロセッサ３０１の割当方式を格納する。
【０１２５】
具体的には、割当方式９０４が「共有」の場合、仮想プロセッサ９０６に示されたリソースのうちの一部のリソースが他の仮想サーバ１５０に割り当て可能な状態を表す。また、割当方式９０４が「占有」の場合、仮想プロセッサ９０６に示されたリソースが必ず割り当てられる状態を表す。
【０１２６】
使用状況９０５は、仮想サーバ１５０が稼動しているか否かを表す情報を格納する。例えば、ＯＳ３３０が実行される場合、使用状況９０５には「使用中」が格納され、ＯＳ３３０が実行されていない場合、使用状況９０５には「未使用」が格納される。
【０１２７】
図１０は、本発明の第１の実施形態のプロセッサ性能Ｉｎｄｅｘ情報２７０の一例を示す説明図である。
【０１２８】
プロセッサ性能Ｉｎｄｅｘ情報２７０は、物理サーバＩＤ１００１、プロセッサ１００２、及び性能Ｉｎｄｅｘ１００３を含む。
【０１２９】
物理サーバＩＤ１００１は、物理サーバ１１０を一意に識別するための識別子を格納する。物理サーバＩＤ１００１は、物理サーバＩＤ７０１と同一の情報である。
【０１３０】
プロセッサ１００２は、物理サーバＩＤ１００１に対応する物理サーバ１１０が備えるプロセッサ３０１のリソース量を格納する。具体的には、プロセッサ３０１に含まれるプロセッサコアの周波数と、当該プロセッサコアの数とを乗算した値が格納される。
【０１３１】
なお、本発明はこれに限定されない。プロセッサ３０１の周波数と、ソケット数とを乗算した値を仮想プロセッサ９０６に格納してもよい。
【０１３２】
性能Ｉｎｄｅｘ１００３は、物理サーバＩＤ１００１に対応する物理サーバ１１０が備えるプロセッサ３０１の性能を評価するため情報を格納する。
【０１３３】
物理サーバ１１０が備えるプロセッサ３０１は、クロック周波数、キャッシュ、アーキテクチャ等によって性能を一律に比較できないため、本実施形態では、プロセッサ３０１の性能を比較するための指標として性能Ｉｎｄｅｘ１００３が用いられる。性能Ｉｎｄｅｘ１００３は、同一のベンチマークを実行させることによって得られる値である。実行されるベンチマークはどのようなものであってもよい。
【０１３４】
本実施形態では、性能Ｉｎｄｅｘ１００３を用いて移行先の物理サーバ１１０に必要なリソース量を算出される。
【０１３５】
図１１は、本発明の第１の実施形態の空きリソースプール管理情報２８０の一例を示す説明図である。
【０１３６】
空きリソースプール管理情報２８０は、仮想化部ＩＤ１１０１、サーバ構成１１０２を含む。
【０１３７】
仮想化部ＩＤ１１０１は、仮想化部３１０を一意に識別するための識別子を格納する。仮想化部ＩＤ１１０１は、仮想化部ＩＤ８０３と同一の情報である。
【０１３８】
サーバ構成１１０２は、仮想化部ＩＤ１１０１に対応する仮想化部３１０が稼動する物理サーバ１１０の空きリソース量に関する情報を格納する。サーバ構成１１０２は、プロセッサ１１０３及びメモリ１１０４を含む。なお、他の情報が含まれてもよい。
【０１３９】
プロセッサ１１０３は、物理サーバ１１０における、未使用のプロセッサ３０１のリソース量を格納する。本実施形態では、以下のようにして算出された値が格納される。
プロセッサ１１０３＝（プロセッサ８０４−総仮想プロセッサ）×性能Ｉｎｄｅｘ１００３
【０１４０】
ここで、「総仮想プロセッサ」は、仮想化部ＩＤ１１０１に対応する仮想化部３１０が管理する全仮想サーバ１５０の仮想プロセッサ９０６の合計値を表す。
【０１４１】
例えば、仮想化部ＩＤ１１０１が「ｈｙｐｅｒ１」の場合、次のようにプロセッサ１１０３が算出される。
プロセッサ１１０３＝｛３．４ＧＨｚ×６−（１．７ＧＨｚ×３＋３．４ＧＨｚ×３）｝×１＝５．１ＧＨｚ×１
【０１４２】
メモリ１１０４は、物理サーバ１１０における、未使用のメモリ３０２のリソース量を格納する。本実施形態では以下ようにして算出された値が格納される。
メモリ１１０４＝（メモリ８０５−総仮想メモリ）
【０１４３】
ここで、「全仮想メモリ」は、仮想化部ＩＤ１１０１に対応する仮想化部３１０が管理する全仮想サーバ１５０の仮想メモリ９０７の合計値を表す。
【０１４４】
例えば、仮想化部ＩＤ１１０１が「ｈｙｐｅｒ１」の場合、次のようにメモリ１１０４が算出される。
メモリ１１０４＝｛３２ＧＢ−（９ＧＢ＋１２ＧＢ）｝＝１１ＧＢ
【０１４５】
次に、本実施形態における処理の詳細について説明する。
【０１４６】
図１２は、本発明の第１の実施形態の物理サーバ構成管理部２２１によって実行される処理を説明するフローチャートである。
【０１４７】
物理サーバ構成管理部２２１は、管理対象である各物理サーバ１１０の仮想化部３１０に対して、物理サーバ構成取得部３１１の実行要求を送信する（ステップ１２１０）。
【０１４８】
なお、管理対象の物理サーバ１１０は、管理サーバ１００に接続される全ての物理サーバ１１０でもよいし、ＯＳ３３０が実行するアプリケーション毎に予め指定された物理サーバ１１０であってもよい。以下、管理対象である物理サーバ１１０を対象物理サーバ１１０とも記載する。
【０１４９】
当該実行要求を受信した各仮想化部３１０は、それぞれ、物理サーバ構成取得部３１１を実行する。これによって、対象物理サーバ１１０の構成情報が取得される。なお、物理サーバ構成取得部３１１によって実行される処理については、図１６を用いて後述する。
【０１５０】
物理サーバ構成管理部２２１は、各仮想化部３１０から対象物理サーバ１１０の構成情報を取得し、取得された対象物理サーバ１１０の構成情報に基づいて、物理サーバ管理情報２３０を更新する（ステップ１２２０）。
【０１５１】
例えば、取得された対象物理サーバ１１０の構成情報に対応するエントリが物理サーバ管理情報２３０に追加される。
【０１５２】
なお、物理サーバ構成管理部２２１は、計算機システムの構成時に前述した処理を実行する。また、物理サーバ構成管理部２２１は、計算機システムの構成が変更された旨の通知を受信した場合に、前述した処理を実行してもよい。また、物理サーバ構成管理部２２１は、周期的に前述した処理を実行してもよい。
【０１５３】
図１３は、本発明の第１の実施形態の仮想サーバ構成管理部２２２によって実行される処理を説明するフローチャートである。
【０１５４】
仮想サーバ構成管理部２２２は、各対象物理サーバ１１０の仮想化部３１０に対して、仮想サーバ構成取得部３１２の実行要求を送信する（ステップ１３１０）。
【０１５５】
当該実行要求を受信した各仮想化部３１０は、それぞれ、仮想サーバ構成取得部３１２を実行する。これによって、当該仮想化部３１０が管理する仮想サーバ１５０の構成情報が取得される。なお、仮想サーバ構成取得部３１２によって実行される処理については、図１７を用いて後述する。
【０１５６】
仮想サーバ構成管理部２２２は、各仮想化部３１０から仮想サーバ１５０の構成情報を取得し、取得された仮想サーバ１５０の構成情報に基づいて、仮想サーバ管理情報２４０を更新する（ステップ１３２０）。
【０１５７】
例えば、取得された仮想サーバ１５０の構成情報に対応するエントリが仮想サーバ管理情報２４０に追加される。
【０１５８】
なお、仮想サーバ構成管理部２２２は、仮想サーバ１５０の構成時に前述した処理を実行する。また、仮想サーバ構成管理部２２２は、仮想サーバ１５０の構成が変更された旨の通知を受信した場合に、前述した処理を実行してもよい。また、仮想サーバ構成管理部２２２は、周期的に前述した処理を実行してもよい。
【０１５９】
図１４は、本発明の第１の実施形態のプロセッサ性能管理部２１２によって実行される処理を説明するフローチャートである。
【０１６０】
プロセッサ性能管理部２１２は、各対象物理サーバ１１０の仮想化部３１０に対して、プロセッサ性能取得部３１３の実行要求を送信する（ステップ１４１０）。
【０１６１】
当該実行要求を受信した各仮想化部３１０は、それぞれ、プロセッサ性能取得部３１３を実行する。これによって、当該仮想化部３１０が稼動する物理サーバ１１０が備えるプロセッサ３０１の性能情報が取得される。なお、プロセッサ性能取得部３１３によって実行される処理については、図１８を用いて後述する。
【０１６２】
プロセッサ性能管理部２１２は、各仮想化部３１０からプロセッサ３０１の性能情報を取得し、取得されたプロセッサ３０１の性能情報に基づいて、プロセッサ性能Ｉｎｄｅｘ情報２７０を更新する（ステップ１４２０）。
【０１６３】
例えば、取得されたプロセッサ３０１の性能情報に対応するエントリがプロセッサ性能Ｉｎｄｅｘ情報２７０に追加される。
【０１６４】
なお、プロセッサ性能管理部２１２は、前述した処理を周期的に実行してもよいし、管理サーバ１００を操作する管理者の命令に基づいて、前述した処理を実行してもよい。
【０１６５】
図１５は、本発明の第１の実施形態のワークロード管理部２１１によって実行される処理を説明するフローチャートである。
【０１６６】
ワークロード管理部２１１は、対象物理サーバ１１０の中から一つの物理サーバ１１０を選択する（ステップ１５１０）。
【０１６７】
次に、ワークロード管理部２１１は、ユーザ定義情報２６０を参照して、選択された物理サーバ１１０上の仮想サーバ１５０が、ユーザによって指定された処理を実行するか否かを判定する（ステップ１５２０）。以下、ユーザによって指定された処理をユーザ処理とも記載する。
【０１６８】
ユーザ処理を実行すると判定された場合、ワークロード管理部２１１は、選択された物理サーバ１１０上で稼動する仮想サーバ１５０に対して、プロセス情報取得部３４０の実行要求を送信する（ステップ１５３０）。なお、当該実行要求には、ユーザ処理に対応する処理名７０３が含まれる。
【０１６９】
当該実行要求を受信した仮想サーバ１５０は、プロセス情報取得部３４０を実行する。これによって、ユーザ処理の処理情報が取得される。
【０１７０】
なお、プロセス情報取得部３４０によって実行される処理については、図１９を用いて後述する。
【０１７１】
ユーザ処理がないと判定された場合、ワークロード管理部２１１は、選択された物理サーバ１１０上の全仮想サーバ１５０に対して、プロセス情報取得部３４０の実行要求を送信する（ステップ１５４０）。
【０１７２】
当該実行要求を受信した仮想サーバ１５０は、プロセス情報取得部３４０を実行する。これによって、選択された物理サーバ１１０上の全仮想サーバ１５０において実行される処理の処理情報が取得される。
【０１７３】
なお、プロセス情報取得部３４０によって実行される処理については、図１９を用いて後述する。
【０１７４】
ワークロード管理部２１１は、各仮想サーバ１５０から処理情報を取得し、取得された処理情報に基づいて、プロセス管理情報２５０を更新する（ステップ１５５０）。
【０１７５】
例えば、取得された処理情報に対応するエントリがプロセス管理情報２５０に追加される。
【０１７６】
ワークロード管理部２１１は、全対象物理サーバ１１０について処理が実行されたか否かを判定する（ステップ１５６０）。
【０１７７】
全対象物理サーバ１１０について処理が実行されていないと判定された場合、ワークロード管理部２１１は、ステップ１５１０に戻り、同様の処理を実行する。
【０１７８】
全対象物理サーバ１１０について処理が実行されたと判定された場合、ワークロード管理部２１１は、処理を終了する。
【０１７９】
なお、ワークロード管理部２１１は、前述した処理を周期的に実行してもよいし、管理サーバ１００を操作する管理者の命令に基づいて、前述した処理を実行してもよい。
【０１８０】
図１６は、本発明の第１の実施形態の物理サーバ構成取得部３１１によって実行される処理を説明するフローチャートである。
【０１８１】
管理サーバ１００から、物理サーバ構成取得部３１１の実行要求を受信した仮想化部３１０によって、物理サーバ構成取得部３１１が実行される。
【０１８２】
物理サーバ構成取得部３１１は、物理サーバ構成情報３１４から物理サーバ１１０の構成情報を取得する（ステップ１６１０）。
【０１８３】
取得される物理サーバ１１０の構成情報には、物理サーバ１１０が備えるプロセッサ３０１のリソース量、及びメモリ３０２のリソース量が含まれる。
【０１８４】
物理サーバ構成取得部３１１は、取得された物理サーバ１１０の構成情報を管理サーバ１００に送信する（ステップ１６２０）。なお、送信される物理サーバ１１０の構成情報には、物理サーバ１１０の識別子が含まれる。
【０１８５】
図１７は、本発明の第１の実施形態の仮想サーバ構成取得部３１２によって実行される処理を説明するフローチャートである。
【０１８６】
管理サーバ１００から、仮想サーバ構成取得部３１２の実行要求を受信した仮想化部３１０によって、仮想サーバ構成取得部３１２が実行される。
【０１８７】
仮想サーバ構成取得部３１２は、物理サーバ１１０に生成された仮想サーバ１５０を特定する（ステップ１７１０）。以下の処理は、特定された仮想サーバ１５０毎に実行される。
【０１８８】
具体的には、仮想サーバ構成取得部３１２は、仮想サーバ構成情報３１５を参照して、物理サーバ１１０上に生成された仮想サーバ１５０の識別子を取得する。
【０１８９】
仮想サーバ構成取得部３１２は、特定された仮想サーバ１５０の構成情報を取得する（ステップ１７２０）。
【０１９０】
具体的には、仮想サーバ構成取得部３１２は、取得された仮想サーバ１５０の識別子に基づいて、仮想サーバ構成情報３１５を参照することによって仮想サーバ１５０の構成情報を取得する。
【０１９１】
取得される仮想サーバ１５０の構成情報には、当該仮想サーバ１５０に割り当てられる仮想プロセッサ５１１のリソース量、仮想メモリ５１２のリソース量、プロセッサ３０１の割当方式、及び仮想サーバ１５０の使用状況が含まれる。
【０１９２】
仮想サーバ構成取得部３１２は、管理サーバ１００に、取得された仮想サーバ１５０の構成情報を送信し（ステップ１７３０）、処理を終了する。
【０１９３】
なお、全ての仮想サーバ１５０について処理が実行されていない場合には、ステップ１７１０に戻り同様の処理（ステップ１７１０〜ステップ１７３０）が実行される。
【０１９４】
図１８は、本発明の第１の実施形態のプロセッサ性能取得部３１３によって実行される処理を説明するフローチャートである。
【０１９５】
管理サーバ１００から、プロセッサ性能取得部３１３の実行要求を受信した仮想化部３１０によって、プロセッサ性能取得部３１３が実行される。
【０１９６】
プロセッサ性能取得部３１３は、物理サーバ１１０が備えるプロセッサ３０１の性能情報を取得する（ステップ１８１０）。
【０１９７】
プロセッサ３０１の性能情報の取得方法としては、プロセッサ性能取得部３１３が、所定のマイクロベンチマークを実行し、当該マイクロベンチマークの結果をプロセッサ３０１の性能情報として取得する方法が考えられる。なお、仮想化部３１０がプロセッサの３０１の性能表を保持し、当該性能表からプロセッサ３０１の性能情報を取得する方法を用いてもよい。
【０１９８】
なお、マイクロベンチマークを実行するためのプログラムは各物理サーバ１１０が予め保持してもよいし、管理サーバ１００から送信されたものを用いてもよい。
【０１９９】
本実施形態では、プロセッサ３０１の性能情報として、性能Ｉｎｄｅｘが取得される。
【０２００】
プロセッサ性能取得部３１３は、管理サーバ１００に、取得されたプロセッサ３０１の性能情報を送信し（ステップ１８２０）、処理を終了する。
【０２０１】
図１９は、本発明の第１の実施形態のプロセス情報取得部３４０によって実行される処理を説明するフローチャートである。
【０２０２】
以下では、ＯＳ３３０がプロセス３５０及びスレッド３６０を実行する場合について説明する。
【０２０３】
管理サーバ１００から、プロセス情報取得部３４０の実行要求を受信した仮想化部３１０によって、プロセス情報取得部３４０が実行される。
【０２０４】
プロセス情報取得部３４０は、受信した実行要求に処理名７０３が含まれるか否かを判定する（ステップ１９０５）。
【０２０５】
受信した実行要求に処理名７０３が含まれると判定された場合、プロセス情報取得部３４０は、処理名７０３に対応するユーザ処理、すなわち、プロセス３５０の処理情報を取得する対象として選択し（ステップ１９１０）、ステップ１９１５に進む。
【０２０６】
以下、処理情報の取得対象であるプロセス３５０を対象プロセス３５０とも記載する。
【０２０７】
受信した実行要求に処理名７０３が含まれないと判定された場合、プロセス情報取得部３４０は、ＯＳ３３０によって実行される全プロセス３５０の優先度及び生存期間を取得する（ステップ１９１５）。これによって、プロセス３５０の優先度６０７及び生存期間６１０に対応する情報が取得される。
【０２０８】
なお、プロセス３５０の優先度及び生存期間は、公知の技術を用いて取得できるため説明を省略する。
【０２０９】
プロセス情報取得部３４０は、取得されたプロセス３５０の優先度及び生存期間に基づいて、対象プロセス３５０を選択する（ステップ１９１５）。
【０２１０】
例えば、プロセス３５０の優先度が「高」、かつ、生存期間が「１日」以上であるプロセスを対象プロセス３５０として選択する方法が考えられる。なお、プロセスの選択方法は、これに限定されず、管理サーバ１００を操作する管理者が指定した基準に基づいて決定する方法であってもよい。なお、選択される対象プロセス３５０は複数あってもよい。
【０２１１】
ステップ１９２５〜ステップ１９５０までの処理は、対象プロセス３５０毎に実行される。
【０２１２】
プロセス情報取得部３４０は、対象プロセス３５０に関連するプロセス３５０及びスレッド３６０を特定する（ステップ１９２５）。なお、対象プロセス３５０に関連するプロセス３５０及びスレッド３６０は、公知の技術を用いて特定できるため説明を省略する。
【０２１３】
これによって、プロセスＩＤ６０３、スレッドＩＤ６０４、処理名６０５、親子関係６０６、優先度６０７及び生存期間６１０に対応する情報が取得される。
【０２１４】
以下、対象プロセス３５０、並びに、対象プロセス３５０に関連するプロセス３５０及びスレッド３６０を関連処理とも記載する。
【０２１５】
次に、プロセス情報取得部３４０は、関連処理毎に、当該関連処理を実行する仮想プロセッサ５１１を特定する（ステップ１９３０）。これによってコアＩＤ６０８に対応する情報が取得される。
【０２１６】
以下、関連処理を実行する仮想プロセッサ５１１を、対象仮想プロセッサ５１１とも記載する。
【０２１７】
プロセス情報取得部３４０は、各対象仮想プロセッサ５１１の使用率を取得する（ステップ１９３５）。これによって、使用率６０９に対応する情報が取得される。
【０２１８】
本実施形態では、対象仮想プロセッサ５１１の使用率として、平均値が取得される。なお、プロセス情報取得部３４０は、生存時間における、使用率の最大値を対象仮想プロセッサ５１１の使用率として取得してもよい。
【０２１９】
プロセス情報取得部３４０は、対象仮想プロセッサ５１１の使用率の取得が完了したか否かを判定する（ステップ１９４０）。
【０２２０】
例えば、予め監視時間を設定しておき、対象仮想プロセッサ５１１の使用率の取得を開始してから、監視時間分の時間が経過したか否かを判定する方法が考えられる。この場合、監視時間が取得時間６１１に対応する時間となる。
【０２２１】
また、関連処理群に含まれる全てのプロセス３５０及びスレッド３６０が終了した場合に、対象仮想プロセッサ５１１の使用率の取得が完了したと判定してもよい。この場合、対象仮想プロセッサ５１１の使用率の取得開始時間から対象プロセス３５０等の終了時間までの時間が取得時間６１１に対応する時間となる。
【０２２２】
対象仮想プロセッサ５１１の使用率の取得が完了していないと判定された場合、プロセス情報取得部３４０は、ステップ１９３５に戻り同様の処理を実行する。
【０２２３】
対象仮想プロセッサ５１１の使用率の取得が完了したと判定された場合、プロセス情報取得部３４０は、全ての対象プロセス３５０について処理が完了したか否かを判定する（ステップ１９４５）。
【０２２４】
全ての対象プロセス３５０について処理が完了していないと判定された場合、プロセス情報取得部３４０は、ステップ１９２５に戻り同様の処理を実行する。
【０２２５】
全ての対象プロセス３５０について処理が完了したと判定された場合、プロセス情報取得部３４０は、取得された処理情報を管理サーバ１００に送信し（ステップ１９５０）、処理を終了する。
【０２２６】
なお、送信される処理情報には、ＯＳ種別、プロセスＩＤ、スレッドＩＤ、処理名、親子関係、コアＩＤ、プロセッサ使用率、生存期間、及び採取期間が含まれる。
【０２２７】
本実施形態では、全てのプロセスを対象とするのではなく、ステップ１９１０〜ステップ１９２５において、所定の条件を満たすプロセス３５０及びスレッド３６０に限定して、仮想プロセッサ５１１の使用率を算出する。すなわち、重要な業務を特定し、当該業務によって使用されるリソース量が算出される。
【０２２８】
なお、本発明はこれに限定されず、全てのプロセスを対象にしてもよい。
【０２２９】
図２０は、本発明の第１の実施形態のＶＭ移行制御部２１３によって実行される処理を説明するフローチャートである。
【０２３０】
仮想サーバ１５０を用いてサービスを提供するユーザ、又は、管理サーバ１００を操作する管理者から仮想サーバ１５０の移行要求を受け付けると、管理サーバ１００はＶＭ移行制御部２１３を実行する（ステップ２０１０）。
【０２３１】
なお、移行要求には、移行対象となる仮想化部３１０の識別子、及び仮想サーバ１５０の識別子が含まれる。
【０２３２】
ＶＭ移行制御部２１３は、仮想サーバ管理情報２４０及びプロセス管理情報２５０から移行元の仮想サーバ１５０に関連する情報を取得する（ステップ２０２０）。
【０２３３】
具体的には、ＶＭ移行制御部２１３は、移行要求に含まれる仮想サーバ１５０の識別子に基づいて、仮想サーバ管理情報２４０及びプロセス管理情報２５０を参照する。
【０２３４】
さらに、ＶＭ移行制御部２１３は、仮想サーバ管理情報２４０及びプロセス管理情報２５０から、移行要求に含まれる仮想サーバ１５０の識別子と一致するエントリに格納された情報を取得する。
【０２３５】
次に、ＶＭ移行制御部２１３は、取得された仮想サーバ１５０の情報に基づいて、仮想サーバ１５０の使用リソース量を算出するためのリソース算出処理を実行する（ステップ２０３０）。
【０２３６】
なお、リソース算出処理の詳細については、図２１を用いて後述する。
【０２３７】
ＶＭ移行制御部２１３は、算出された仮想サーバ１５０の使用リソース量に基づいて、移行先の物理サーバ１１０を検索するための検索処理を実行する（ステップ２０４０）。
【０２３８】
なお、検索処理の詳細については、図２２を用いて後述する。
【０２３９】
ＶＭ移行制御部２１３は、検索の結果、移行可能な物理サーバ１１０が存在するか否かを判定する（ステップ２０５０）。
【０２４０】
移行可能な物理サーバ１１０が存在しないと判定された場合、ＶＭ移行制御部２１３は、ユーザ又は管理者に検索処理を継続するか確認する（ステップ２０７０）。
【０２４１】
確認方法は、管理サーバ１００に接続されたディスクプレイ等に検索処理を継続する否かを選択するための指示画面を表示する方法が考えられる。
【０２４２】
検索処理を継続する旨の通知を受信した場合、ＶＭ移行制御部２１３は、ステップ２０２０に戻り同様の処理を実行する。なお、すぐに処理を開始してもよいし、所定時間経過後に処理を開始してもよい。
【０２４３】
検索処理を継続しない旨の通知を受信した場合、ＶＭ移行制御部２１３は、ユーザ又は管理者に移行可能な物理サーバ１１０が存在しない旨を通知し（ステップ２０８０）、処理を終了する。
【０２４４】
ステップ２０５０において、移行可能な物理サーバ１１０が存在すると判定された場合、ＶＭ移行制御部２１３は、移行処理を実行する（ステップ２０６０）。これによって、移行先の物理サーバ１１０に対象となる仮想サーバ１５０が移行される。
【０２４５】
移行処理は、例えば、以下のような方法が考えられる。
【０２４６】
管理サーバ１００が、移行先の物理サーバ１１０のＶＭ移行制御部２１３に、対象となる仮想サーバ１５０に必要なリソースの確保を指示する。当該指示を受信した移行先の物理サーバ１１０のＶＭ移行制御部２１３は、必要な情報を設定し、リソースが確保できた旨の通知を管理サーバ１００に送信する。
【０２４７】
移行先の物理サーバ１１０からリソースが確保できた旨の通知を受信した後に、管理サーバ１００が、移行元の物理サーバ１１０のＶＭ移行制御部２１３に対して、仮想サーバ１５０の移行を指示する。
【０２４８】
当該指示を受信した移行元のＶＭ移行制御部２１３は、仮想サーバ１５０のデータを移行先の物理サーバ１１０に送信する。
【０２４９】
移行先の物理サーバ１１０に仮想サーバ１５０が移行された後、ＶＭ移行制御部２１３は、移行処理が完了した旨をユーザ又は管理者に通知し（ステップ２０８０）、処理を終了する。
【０２５０】
図２１は、本発明の第１の実施形態におけるリソース算出処理の詳細を説明するフローチャートである。
【０２５１】
ＶＭ移行制御部２１３は、移行対象の仮想サーバ１５０が使用する仮想メモリ５１２の使用リソース量を算出する（ステップ２１０５）。
【０２５２】
具体的には、ＶＭ移行制御部２１３は、仮想サーバ管理情報２４０から、移行要求に含まれる仮想化部３１０の識別子及び仮想サーバ１５０の識別子に一致するエントリの仮想メモリ９０７を読み出す。ＶＭ移行制御部２１３は、読み出された仮想メモリ９０７に格納される値を仮想メモリ５１２の使用リソース量として算出する。
【０２５３】
次に、ＶＭ移行制御部２１３は、移行対象の仮想サーバ１５０上で実行される処理を一つ選択する（ステップ２１１０）。
【０２５４】
具体的には、ＶＭ移行制御部２１３は、プロセス管理情報２５０から、移行要求に含まれる仮想サーバ１５０の識別子に一致するエントリを一つ選択する。
【０２５５】
以下、ステップ２１１５〜ステップ２１４０では、選択された処理によって使用される仮想プロセッサ５１１の使用リソース量が算出される。
【０２５６】
ＶＭ移行制御部２１３は、選択された処理によって使用される仮想プロセッサ５１１の使用リソース量を算出する（ステップ２１１５）。
【０２５７】
具体的には、ＶＭ移行制御部２１３は、プロセス管理情報２５０から対応する処理の使用率６０９を読み出し、また、仮想サーバ管理情報２４０から対応する処理の仮想プロセッサ９０６を読み出す。
【０２５８】
ＶＭ移行制御部２１３は、読み出された使用率６０９と、読み出された仮想プロセッサ９０６に含まれるクロック周波数とを乗算することによって、選択された処理によって使用される仮想プロセッサ５１１の使用リソース量を算出する。
【０２５９】
例えば、仮想化部ＩＤ９０１が「ｈｙｐｅｒ１」、仮想サーバＩＤ９０２が「ｖｉｒｔ１」、処理名６０５が「ｐｎａｍｅ１」の場合、以下のように算出される。
１．７ＧＨｚ×０．５＝０．８５ＧＨｚ
【０２６０】
次に、ＶＭ移行制御部２１３は、プロセス管理情報２５０を参照して、選択された処理に対応する取得時間６１１が１日以上であるか否かを判定する（ステップ２１２０）。
【０２６１】
選択された処理に対応する取得時間６１１が１日以上であると判定された場合、ＶＭ移行制御部２１３は、ステップ２１２５に進む。
【０２６２】
選択された処理に対応する取得時間６１１が１日未満であると判定された場合、ＶＭ移行制御部２１３は、選択された処理に対応する取得時間６１１が半日以上であるか否かを判定する（ステップ２１３０）。
【０２６３】
選択された処理に対応する取得時間６１１が半日以上であると判定された場合、ＶＭ移行制御部２１３は、ステップ２１１５で算出された仮想プロセッサ５１１の使用リソース量を２０％増加させる（ステップ２１３５）。その後、ＶＭ移行制御部２１３は、ステップ２１２５に進む。
【０２６４】
選択された処理に対応する取得時間６１１が半日未満であると判定された場合、ＶＭ移行制御部２１３は、ステップ２１１５で算出された仮想プロセッサ５１１の使用リソース量を４０％増加させる（ステップ２１４０）。その後、ＶＭ移行制御部２１３は、ステップ２１２５に進む。
【０２６５】
ＶＭ移行制御部２１３は、プロセス管理情報２５０を参照して、移行対象の仮想サーバ１５０における対象処理について算出処理が終了したか否かを判定する（ステップ２１２５）。
【０２６６】
移行対象の仮想サーバ１５０における全ての処理について算出処理が終了していないと判定された場合、ＶＭ移行制御部２１３は、ステップ２１１０に戻り次の処理を選択して同様の算出処理を実行する。
【０２６７】
移行対象の仮想サーバ１５０における全ての処理について算出処理が終了したと判定された場合、ＶＭ移行制御部２１３は、各対象処理によって使用される仮想プロセッサ５１１の使用リソース量の合計値を算出し（ステップ２１４５）、処理を終了する。
【０２６８】
ステップ２１４５において算出される値が、移行対象の仮想サーバ１５０が使用する仮想プロセッサ５１１の使用リソース量である。
【０２６９】
なお、リソース算出処理によって算出された値は、ＶＭ移行制御部２１３が一時的に保持する。
【０２７０】
ステップ２１２０、ステップ２１３０〜ステップ２１４０では、取得された対象処理の使用リソースの信頼性に依存する処理である。情報取得時に一時的に負荷が増大する可能性もあり、処理情報の取得時間が短いと、必ずしも正確な情報とは限らない。
【０２７１】
そのため、本実施形態では、取得時間に応じて使用リソース量を余分に見積もることによって、具体的には、余分な使用リソース量を加算することによって、移行先に必要な計算機リソースに余裕を持たせる。
【０２７２】
なお、取得時間は１日、半日という単位に限定されない。また、ＯＳ３３０、プロセス３５０毎に異なる判定基準を用いてもよい。
【０２７３】
本実施形態では、移行対象となる仮想サーバ１５０上の対象処理によって使用されるリソース量を算出することに特徴がある。すなわち、仮想サーバ１５０上で実行される処理のうち、重要な処理（業務）によって使用されるリソース量が、仮想サーバ１５０に必要なリソース量として算出される。これによって、より多くの物理サーバ１１０が移行先として選択可能となる。
【０２７４】
以下、リソース算出処理によって算出された仮想プロセッサ５１１の使用リソース量を要求プロセッサリソース量と記載し、また、仮想メモリ５１２の使用リソース量を要求メモリリソース量とも記載する。また、要求プロセッサリソース量と要求メモリリソース量とを合わせて、要求リソース量とも記載する。
【０２７５】
図２２は、本発明の第１の実施形態における検索処理の詳細を説明するフローチャートである。
【０２７６】
ＶＭ移行制御部２１３は、物理サーバ管理情報２３０、仮想サーバ管理情報２４０及びプロセッサ性能Ｉｎｄｅｘ情報２７０に基づいて、空きリソースプール管理情報２８０を生成する（ステップ２２１０）。
【０２７７】
具体的には、以下のような処理が実行される。
【０２７８】
まず、ＶＭ移行制御部２１３は、仮想化部３１０上の各仮想サーバ１５０に割り当てられたリソース量を算出する。次に、ＶＭ移行制御部２１３は、各仮想サーバ１５０に割り当てられたリソース量を合計する。これによって、仮想化部３１０における使用リソース量が算出される。
【０２７９】
例えば、仮想化部ＩＤ９０１が「ｈｙｐｅｒ１」の場合、各仮想サーバ１５０の仮想プロセッサ５１１に割り当てられたリソースの合計値が「１５．３ＧＨｚ」、各仮想サーバ１５０の仮想メモリ５１２に割り当てられたリソースの合計値が「２１ＧＢ」と算出される。
【０２８０】
仮想化部３１０が稼動する物理サーバ１１０が備えるリソース量から、仮想化部３１０における使用リソース量を減算する。
【０２８１】
さらに、プロセッサのリソース量に、性能Ｉｎｄｅｘ１００３を乗算する。以上の処理によって算出された値が空きリソースプール管理情報２８０のプロセッサ１１０３及びメモリ１１０４に格納される。
【０２８２】
ＶＭ移行制御部２１３は、要求リソース量を取得する（ステップ２２２０）。
【０２８３】
次に、ＶＭ移行制御部２１３は、空きリソースプール管理情報２８０を参照して、空きリソースプールを一つ選択する（ステップ２２３０）。選択方法は、空きリソースプール管理情報２８０の上のエントリから順に選択する方法が考えられる。他の選択方法を用いてもよい。
【０２８４】
ＶＭ移行制御部２１３は、選択された空きリソースプールに、要求メモリリソース量以上のリソース量が存在するか否かを判定する（ステップ２２４０）。
【０２８５】
具体的には、メモリ１１０４に格納される値が、要求メモリリソース量の値以上の場合、空きリソースプールに、要求メモリリソース量以上のリソース量が存在すると判定される。
【０２８６】
選択された空きリソースプールに、要求メモリリソース量以上のリソース量が存在しないと判定された場合、ＶＭ移行制御部２１３は、ステップ２２７０に進む。
【０２８７】
選択された空きリソースプールに、要求メモリリソース量以上のリソース量が存在すると判定された場合、ＶＭ移行制御部２１３は、選択された空きリソースプールに、要求プロセッサリソース量以上のリソース量が存在するか否かを判定する（ステップ２２５０）。
【０２８８】
具体的には、プロセッサ１１０３に格納された値が、要求プロセッサリソース量の値以上の場合、空きリソースプールに、要求プロセッサリソース量以上のリソース量が存在すると判定される。
【０２８９】
選択された空きリソースプールに、要求プロセッサリソース量以上のリソース量が存在しないと判定された場合、ＶＭ移行制御部２１３は、ステップ２２７０に進む。
【０２９０】
選択された空きリソースプールに、要求プロセッサリソース量以上のリソース量が存在すると判定された場合、ＶＭ移行制御部２１３は、選択された空きリソースプールに、移行対象の仮想サーバ１５０上で実行される処理を実行可能なプロセッサが含まれるか否かを判定する（ステップ２２６０）。
【０２９１】
具体的には、空きリソースプールに含まれるプロセッサ３０１のクロック周波数が、仮想プロセッサ５１１に含まれるプロセッサコアのクロック周波数以上であるか否かが判定される。
【０２９２】
例えば、仮想プロセッサ５１１に含まれるプロセッサコアのクロック周波数が「１．２ＧＨｚ」であり、空きリソースプールに含まれるプロセッサ３０１のクロック周波数が「１．７ＧＨｚ」である場合、移行対象の仮想サーバ１５０上で実行される処理に必要なプロセッサが含まれると判定される。
【０２９３】
空きリソースプールに、移行対象の仮想サーバ１５０上で実行される処理に必要なプロセッサが含まれないと判定された場合、ＶＭ移行制御部２１３は、ステップ２２７０に進む。
【０２９４】
空きリソースプールに、移行対象の仮想サーバ１５０上で実行される処理に必要なプロセッサが含まれると判定された場合、ＶＭ移行制御部２１３は、選択された仮想化部３１０を移行可能な仮想化部３１０の候補として選択する。以下、移行可能な仮想化部３１０の候補を候補仮想化部３１０とも記載する。
【０２９５】
ＶＭ移行制御部２１３は、空きリソースプール管理情報２８０の全てのエントリについて検索処理が完了したか否かを判定する（ステップ２２７０）。
【０２９６】
空きリソースプール管理情報２８０の全てのエントリについて検索処理が完了していないと判定された場合、ＶＭ移行制御部２１３は、ステップ２２３０に戻り、他のエントリを選択して同様の処理を実行する。
【０２９７】
空きリソースプール管理情報２８０の全てのエントリについて検索処理が完了したと判定された場合、ＶＭ移行制御部２１３は、候補仮想化部３１０から移行先となる仮想化部３１０を選択し（ステップ２２８０）、処理を終了する。
【０２９８】
候補仮想化部３１０が複数存在する場合、ＶＭ移行制御部２１３は、仮想サーバ管理情報２４０を参照する。ＶＭ移行制御部２１３は、候補仮想化部３１０上の仮想サーバ１５０の数、及び、割当方式９０４に基づいて、移行先の仮想化部３１０を選択する。
【０２９９】
例えば、仮想サーバ１５０の数が多く、さらに、割当方式９０４が「共有」である仮想サーバ１５０の数が多い候補仮想化部３１０を優先的に選択する方法が考えられる。なお、本発明はこれに限定されず、他の方法を用いても同様の効果が得られる。
【０３００】
なお、仮想サーバ１５０に割り当てられていないリソースを空きリソースプールとして管理しているが、本発明はこれに限定されない。例えば、使用されていない仮想サーバ１５０に割り当てられているリソースを空きリソースプールに含めてもよい。
【０３０１】
なお、移行先の仮想化部３１０は、移行される仮想サーバ１５０を稼動させるための処理を実行する。例えば、仮想サーバ１５０が必要なリソースを確保する処理を実行する。
【０３０２】
図２３Ａ及び図２３Ｂは、本発明の第１の実施形態の適用例を示す説明図である。
【０３０３】
図２３Ａは、移行前における、移行元の仮想化部１（３１０−１）と、移行先の仮想化部２（３１０−２）との状態を表す。
【０３０４】
仮想化部１（３１０−１）では、仮想サーバ１（１５０−１）及び仮想サーバ２（１５０−２）が稼動している。
【０３０５】
仮想サーバ１（１５０−１）は、仮想プロセッサ５１１のリソース量が「１．７ＧＨｚ×３」、仮想メモリ５１２のリソース量が「９ＧＢ」である。また、仮想サーバ１（１５０−１）は、仮想プロセッサ５１１としてＶＣＰＵ１、ＶＣＰＵ２、及びＶＣＰＵ３を備える。仮想プロセッサ５１１の周波数は、それぞれ、１．７ＧＨｚである。
【０３０６】
ＶＣＰＵ１は、処理名が「ｐｎａｍｅ１」であるプロセス３５０を実行し、当該プロセス３５０によって使用される使用率が５０％である。ＶＣＰＵ２は、処理名が「ｐｎａｍｅ２」であるプロセス３５０が実行され、当該プロセス３５０によって使用される使用率が４０％である。また、ＶＣＰＵ３は、処理名が「ｔｈｒｅａｄ１」であるスレッド３６０が実行され、当該スレッド３６０によって使用される使用率が１０％である。
【０３０７】
仮想サーバ２（１５０−２）は、仮想プロセッサ５１１のリソース量が「３．４ＧＨｚ×３」、仮想メモリ５１２のリソース量が「１２ＧＢ」である。また、仮想サーバ２（１５０−２）は、仮想プロセッサ５１１としてＶＣＰＵ１、ＶＣＰＵ２、及びＶＣＰＵ３を備える。仮想プロセッサ５１１の周波数は、それぞれ、３．４ＧＨｚである。
【０３０８】
ＶＣＰＵ１は、処理名が「ｐｎａｍｅ１」であるプロセス３５０を実行し、当該プロセス３５０によって使用される使用率が４５％である。ＶＣＰＵ２は、処理名が「ｐｎａｍｅ２」であるプロセス３５０と処理名が「ｔｈｒｅａｄ１」であるスレッド３６０とが実行され、当該プロセス３５０及び当該スレッド３６０によって使用される使用率が４０％である。また、ＶＣＰＵ３は、処理名が「ｐｎａｍｅ３」であるプロセス３５０が実行され、当該プロセス３５０によって使用される使用率が１０％である。
【０３０９】
仮想化部２（３１０−２）は、仮想サーバ３（１５０−３）が生成されている。また、仮想化部２（３１０−２）は、空きリソースプール２３００を備える。
【０３１０】
なお、仮想サーバ３（１５０−３）は、未使用の状態である。本実施形態では、仮想サーバ３（１５０−３）に割り当てられたリソースが、一つの空きリソースプールとして扱われる。
【０３１１】
仮想サーバ３（１５０−３）は、仮想プロセッサ５１１のリソース量が「１．２ＧＨｚ×３」、仮想メモリ５１２のリソース量が「９ＧＢ」である。また、仮想サーバ１（１５０−１）は、仮想プロセッサ５１１としてＶＣＰＵ１、ＶＣＰＵ２、及びＶＣＰＵ３を備える。仮想プロセッサ５１１の周波数は、それぞれ、１．２ＧＨｚである。
【０３１２】
また、空きリソースプール２３００は、未使用のプロセッサ３０１が「１．７ＧＨｚ×４」、未使用のメモリ３０２が「１２ＧＢ」である。
【０３１３】
従来は、仮想サーバ１５０に割り当てられるリソースの総量に基づいて、移行先が決定されていた。したがって、従来の方法では、仮想サーバ１（１５０−１）は、空きリソースプール２３００が移行先として選択される。一方、仮想サーバ２（１５０−２）は、移行先がないと判定される。
【０３１４】
そのため、従来の方法では、仮想化部１（３１０−２）で稼動する仮想サーバ１（１５０−１）及び仮想サーバ２（１５０−２）は移行できないと判定される。
【０３１５】
一方、本実施形態では、仮想サーバ１５０上で実行されるプロセス３５０及びスレッド３６０によって使用されるリソース量に着目する。
【０３１６】
ＶＭ移行制御部２１３は、仮想サーバ１（１５０−１）における要求プロセッサリソース量を「１．７ＧＨｚ」、要求メモリリソース量を「９ＧＢ」と算出する。
【０３１７】
したがって、ＶＭ移行制御部２１３は、仮想サーバ３（１５０−３）も移行先として選択できる。
【０３１８】
また、ＶＭ移行制御部２１３は、仮想サーバ２（１５０−２）における要求プロセッサリソース量を「３．７４ＧＨｚ」、要求メモリリソース量を「１２ＧＢ」と算出する。
【０３１９】
したがって、ＶＭ移行制御部２１３は、空きリソースプール２３００を移行先として選択できる。
【０３２０】
図２３Ｂは、移行後における、移行元の仮想化部１（３１０−１）と、移行先の仮想化部２（３１０−２）との状態を表す。
【０３２１】
図２３Ｂでは、仮想サーバ１（１５０−１）が仮想サーバ３（１５０−３）に移行し、仮想サーバ２（１５０−２）が空きリソースプール２３００に移行した場合の一例を示す。
【０３２２】
なお、仮想化部２（３１０−２）は、空きリソースプール２３００から仮想サーバ４（１５０−４）を生成する。ＶＭ移行制御部２１３は、生成された仮想サーバ４（１５０−４）上に仮想サーバ２（１５０−２）を移行する。
【０３２３】
図２３Ｂに示すように移行前の仮想サーバ１５０上で実行されたプロセス３５０及びスレッド３６０は、移行先の仮想サーバ１５０上でも継続的に実行される。
【０３２４】
なお、本実施形態では、処理毎の仮想プロセッサ５１１の使用量に考慮したが本発明はこれに限定されない。例えば、処理毎の仮想メモリ５１２の使用量を考慮してもよい。この場合、要求プロセッサリソース量を算出する方法と同様の方法を用いて、要求メモリリソース量を算出すればよい。
【０３２５】
［第２の実施形態］
【０３２６】
第２の実施形態では、ＬＰＡＲ方式の場合について説明する。なお、第１の実施形態との差異を中心に説明する。
【０３２７】
第２の実施形態の計算機システム、管理サーバ１００、物理サーバ１１０、及びストレージシステム１２０の構成は第１の実施形態と同一であるため説明を省略する。
【０３２８】
ＬＰＡＲ方式では、仮想サーバ１５０へのリソース割当方法が異なる。
【０３２９】
図２４は、本発明の第２の実施形態の計算機システムの論理的構成を示す説明図である。
【０３３０】
仮想化部３１０は、物理サーバ１１０が備えるリソースを論理的に分割し、論理的に分割されたリソースから構成されるＬＰＡＲ２４００を仮想サーバ１５０に割り当てる。
【０３３１】
図２４に示す例では、ＬＰＡＲ２４００は、プロセッサコア２４１０、記憶領域２４２０及びＬＵ５０２から構成される。ＬＰＡＲ２４００に割り当てられたリソースは当該ＬＰＡＲが占有的に使用できる。そのため、他のＬＰＡＲ２４００から使用されない。
【０３３２】
なお、ＬＰＡＲ２４００にはプロセッサ３０１単位のリソースを割り当ててもよいし、また、メモリ３０２単位のリソースを割り当ててもよい。
【０３３３】
物理サーバ管理情報２３０、ユーザ定義情報２６０、及びプロセッサ性能Ｉｎｄｅｘ情報２７０は、第１の実施形態と同一であるため説明を省略する。
【０３３４】
図２５は、本発明の第２の実施形態のプロセス管理情報２５０の一例を示す説明図である。
【０３３５】
第２の実施形態のプロセス管理情報２５０は、コアＩＤ２５０１に格納される情報が異なる。ＬＰＡＲ方式では、プロセッサコア２４１０が直接割り当てられるため、コアＩＤ２５０１には、プロセッサコア２４１０を識別するための識別子が格納される。
【０３３６】
なお、仮想サーバＩＤ６０１、ＯＳ種別６０２、プロセスＩＤ６０３、スレッドＩＤ６０４、処理名６０５、親子関係６０６、優先度６０７、使用率６０９、生存期間６１０、及び取得時間６１１は、第１の実施形態と同一である。
【０３３７】
図２６は、本発明の第２の実施形態の仮想サーバ管理情報２４０の一例を示す説明図である。
【０３３８】
第２の実施形態の仮想サーバ管理情報２４０は、仮想サーバ構成９０３に格納される情報が異なる。
【０３３９】
具体的には、プロセッサ２６０１には、ＬＰＡＲ２４００に割り当てられたプロセッサコア２４１０の周波数と、割り当てられたプロセッサコア２４１０の数とを乗算した値が格納される。メモリ２６０２には、ＬＰＡＲ２４００に割り当てられた記憶領域２４２０の容量が格納される。
【０３４０】
また、第２の実施形態の仮想サーバ管理情報２４０は、割当方式９０４を含まない。これは、ＬＰＡＲ２４００には占有的にリソースが笑い照られるためである。
【０３４１】
なお、仮想化部ＩＤ９０１、仮想サーバＩＤ９０２、及び使用状況９０５は、第１の実施形態と同一である。
【０３４２】
図２７は、本発明の第２の実施形態の空きリソースプール管理情報２８０の一例を示す説明図である。
【０３４３】
第２の実施形態の空きリソースプール管理情報２８０は、サーバ構成１１０２に格納される値が異なる。サーバ構成１１０２には、ＬＰＡＲ２４００に割り当てられていないリソース量が格納される。
【０３４４】
プロセッサ２７０１に格納される値は、以下のように算出される。
【０３４５】
ステップ２２１０において、ＶＭ移行制御部２１３は、物理サーバ１１０が備える全プロセッサコア２４１０の数から、ＬＰＡＲ２４００に割り当てられたプロセッサコア２４１０の数を減算する。これによってＬＰＡＲ２４００に割り当てられていないプロセッサコア２４１０の数が算出される。
【０３４６】
次に、ＶＭ移行制御部２１３は、ＬＰＡＲ２４００に割り当てられていないプロセッサコア２４１０の数と当該プロセッサコア２４１０のクロック周波数とを乗算する。
【０３４７】
ＶＭ移行制御部２１３は、さらに、算出された値に、プロセッサコア２４１０に対応する性能Ｉｎｄｅｘ１００３を乗算する。
【０３４８】
以上の処理によって算出された値がプロセッサ２７０１に格納される。
【０３４９】
また、メモリ２７０２に格納される値は、以下のように算出される。
【０３５０】
ステップ２２１０において、ＶＭ移行制御部２１３は、物理サーバ１１０が備えるメモリ３０２の総容量から、ＬＰＡＲ２４００に割り当てられた記憶領域の総領域を減算する。これによってＬＰＡＲ２４００に割り当てられていない記憶領域２４２０の容量が算出される。
【０３５１】
以上の処理によって算出された値がメモリ２７０２に格納される。
【０３５２】
以下、第１の実施形態と異なる処理について説明する。
【０３５３】
図１９に示すプロセス情報取得部３４０が実行する処理では以下の処理が異なる。
【０３５４】
ステップ１９３０において、プロセス情報取得部３４０は、関連処理毎に、当該関連処理を実行するプロセッサコア２４１０を特定する。
【０３５５】
ステップ１９３５において、プロセス情報取得部３４０は、処理を実行する各プロセッサコア２４１０の使用率を取得する。
【０３５６】
他の処理は、第１の実施形態と同一である。
【０３５７】
図２１に示すＶＭ移行制御部２１３が実行するリソース算出処理は以下の処理が異なる。
【０３５８】
ステップ２１０５において、ＶＭ移行制御部２１３は、移行対象の仮想サーバ１５０が使用する記憶領域２４２０の使用リソース量を算出する。
【０３５９】
具体的には、ＶＭ移行制御部２１３は、仮想サーバ管理情報２４０から、移行要求に含まれる仮想化部３１０の識別子及び仮想サーバ１５０の識別子に一致するエントリの仮想メモリ９０７を読み出す。ＶＭ移行制御部２１３は、読み出されたメモリ２６０２に格納される値を記憶領域２４２０の使用リソース量として算出する。
【０３６０】
ステップ２１１５において、ＶＭ移行制御部２１３は、選択された処理によって使用されるプロセッサコア２４１０の使用リソース量を算出する。
【０３６１】
具体的には、ＶＭ移行制御部２１３は、プロセス管理情報２５０から選択された処理の使用率６０９を読み出し、また、仮想サーバ管理情報２４０から選択された処理を実行する仮想サーバ１５０のプロセッサ２６０１を読み出す。
【０３６２】
ＶＭ移行制御部２１３は、読み出された使用率６０９と、読み出されたプロセッサ２６０１に含まれる周波数とを乗算することによって、選択された処理によって使用されるプロセッサコア２４１０の使用リソース量を算出する。
【０３６３】
ステップ２１３５において、ＶＭ移行制御部２１３は、ＬＰＡＲ２４００が使用するプロセッサコア２４１０の数を１増加させる。
【０３６４】
ステップ２１４０において、ＶＭ移行制御部２１３は、ＬＰＡＲ２４００が使用するプロセッサコア２４１０の数を２増加させる。
【０３６５】
他の処理については、第１の実施形態と同一であるため説明を省略する。
【０３６６】
本発明の一形態によれば、仮想サーバ１５０上で実行される処理（プロセス３５０、スレッド３６０等）によって使用されるリソース量に基づいて、仮想サーバ１５０に必要なリソース量が算出される。したがって、適切なリソース量の空きリソースプールに仮想サーバ１５０を移行させることができる。また、移行先の空きリソースプールの候補が増えるため、リソースを有効利用することが可能となる。
【０３６７】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【図１】
2012066640.tif 000003
【図２】
2012066640.tif 000004
【図３】
2012066640.tif 000005
【図４】
2012066640.tif 000006
【図５】
2012066640.tif 000007
【図６】
2012066640.tif 000008
【図７】
2012066640.tif 000009
【図８】
2012066640.tif 000010
【図９】
2012066640.tif 000011
【図１０】
2012066640.tif 000012
【図１１】
2012066640.tif 000013
【図１２】
2012066640.tif 000014
【図１３】
2012066640.tif 000015
【図１４】
2012066640.tif 000016
【図１５】
2012066640.tif 000017
【図１６】
2012066640.tif 000018
【図１７】
2012066640.tif 000019
【図１８】
2012066640.tif 000020
【図１９】
2012066640.tif 000021
【図２０】
2012066640.tif 000022
【図２１】
2012066640.tif 000023
【図２２】
2012066640.tif 000024
【図２３Ａ】
2012066640.tif 000025
【図２３Ｂ】
2012066640.tif 000026
【図２４】
2012066640.tif 000027
【図２５】
2012066640.tif 000028
【図２６】
2012066640.tif 000029
【図２７】
2012066640.tif 000030
【国際調査報告】
2012066640.tif 000031
2012066640.tif 000032
2012066640.tif 000033
2012066640.tif 000034