(57)【要約】【課題】定期的なタスクを目標とする完了時刻までに完遂させる。【解決手段】管理サーバが、計算機に業務を割り当てて実行させ、前記業務に対する処理の開始時刻と当該処理の終了時刻とをタスク実行情報に設定し、前記処理の実行に必要な前記計算機の物理資源の量を第１の物理資源量としてタスクリソース情報に設定し、前記計算機の物理資源の使用量を第２の物理資源量として取得し、第１の物理資源量と第２の物理資源量の和を前記計算機の物理資源が有するときには、前記業務に対する処理の開始時刻を現在の時刻側に更新し、現在の時刻が前記処理の開始時刻となったときに、前記計算機へ前記処理の開始を指令する。【選択図】図１
2012094030.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリを備えた計算機と、
前記業務と、前記業務に対する処理と、前記計算機の物理資源を管理する管理サーバとを備えて、前記業務に対する処理を制御する処理制御方法であって、
前記管理サーバが、前記計算機に前記業務を割り当てて実行させる第１の手順と、
前記管理サーバが、前記業務に対する処理の開始時刻と、当該処理の終了時刻とをタスク実行情報に設定する第２の手順と、
前記管理サーバが、前記処理の実行に必要な前記計算機の物理資源の量を第１の物理資源量としてタスクリソース情報に設定する第３の手順と、
前記管理サーバが、前記計算機の物理資源の使用量を第２の物理資源量として取得する第４の手順と、
前記管理サーバが、前記計算機の物理資源の利用状況を示す第２の物理資源量と、前記処理の実行に必要な前第１の物理資源量とを比較して、前記第１の物理資源量と第２の物理資源量の和を前記計算機の物理資源が有するか否かを判定する第５の手順と、
前記管理サーバが、前記第１の物理資源量と第２の物理資源量の和を前記計算機の物理資源が有すると判定したときには、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を現在の時刻側に更新する第６の手順と、
前記管理サーバが、前記タスク実行情報を監視して、現在の時刻が前記処理の開始時刻となったときに、前記計算機へ前記処理の開始を指令する第７の手順と、
を含むことを特徴とする処理制御方法。
【請求項２】
請求項１に記載の処理制御方法であって、
前記第２の物理資源量は、複数の時間帯毎に前記業務を実行する計算機で使用される物理資源の使用量の推定値を含み、
前記第６の手順は、
前記管理サーバが、前記第１の物理資源量の前記推定値と第２の物理資源量の前記推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出し、前記抽出した時間帯のうち最も開始時刻の早い時間帯を選択し、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を前記選択した時間帯の開始時刻に更新することを特徴とする処理制御方法。
【請求項３】
請求項２に記載の処理制御方法であって、
前記計算機は複数の計算機で構成され、
前記第２の物理資源量は、前記複数の計算機のそれぞれについて、複数の時間帯毎に設定した物理資源の使用量の推定値を含み、
前記第１の手順は、
前記管理サーバが、前記複数の計算機のうちの少なくともひとつに前記業務を割り当てて実行させ、
前記第２の手順は、
前記管理サーバが、前記業務に対する処理の開始時刻と、当該処理の終了時刻と、前記処理を実行する前記計算機をタスク実行情報に設定し、
前記第６の手順は、
前記管理サーバが、前記第１の物理資源量と第２の物理資源量の前記推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出し、前記抽出した時間帯のうち最も開始時刻の早い時間帯と計算機を選択し、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を前記選択した開始時刻に更新し、前記タスク実行情報に設定された処理を実行する計算機を前記選択した計算機に更新することを特徴とする処理制御方法。
【請求項４】
請求項３に記載の処理制御方法であって、
前記管理サーバは、計算機毎に実行可能な前記処理と前記業務の関係を設定した実行可能計算機情報をさらに有し、
前記第６の手順は、
前記管理サーバが、前記第１の物理資源量と第２の物理資源量の前記推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出する際に、前記実行可能計算機情報から当該処理を実行可能な計算機を選択し、当該選択したから前記時間帯を抽出することを特徴とする処理制御方法。
【請求項５】
請求項３に記載の処理制御方法であって、
前記管理サーバは、前記処理を実現する複数のパターンのそれぞれについて当該パターンを実行可能な前記業務と前記計算機の関係と優先度を設定したタスクパターン情報をさらに有し、
前記第２の手順は、
前記管理サーバが、前記業務に対する処理の開始時刻と、当該処理の終了時刻と、前記処理を実行する前記計算機と、前記処理の詳細なパターンと、をタスク実行情報に設定し、
前記第６の手順は、
前記管理サーバが、前記第１の物理資源量と第２の物理資源量の前記推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出する際に、前記タスクパターン情報のパターンのうち、前記優先度の高いパターンを実行可能な計算機の前記時間帯を抽出し、前記抽出した時間帯のうち最も開始時刻の早い時間帯と計算機と前記パターンを選択し、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を前記選択した開始時刻に更新し、前記タスク実行情報に設定された処理を実行する計算機を前記選択した計算機に更新し、前記タスク実行情報に設定されたパターンを前記タスクパターン情報で選択したパターンに更新することを特徴とする処理制御方法。
【請求項６】
請求項１または請求項３に記載の処理制御方法であって、
前記計算機は、物理資源を仮想化する仮想化部によって生成された仮想サーバで構成されたことを特徴とする処理制御方法。
【請求項７】
プロセッサとメモリを備えた計算機と、
前記計算機に接続されてプロセッサとメモリを備えた管理サーバと、を備えて、前記管理サーバが、前記計算機で実行する業務と、前記業務に対する処理と、前記計算機の物理資源と、前記業務に対する処理を管理する計算機システムであって、
前記管理サーバは、
前記計算機に割り当てて実行させる業務を管理する業務情報と、
前記業務に対する処理の開始時刻と、当該処理の終了時刻とを格納したタスク実行情報と、
前記処理の実行に必要な前記計算機の物理資源量を第１の物理資源量として設定したタスクリソース情報と、
前記計算機の物理資源の使用量を第２の物理資源量として取得する資源管理部と、
前記タスク実行情報を監視して、現在の時刻が前記処理の開始時刻となったときに、前記計算機へ前記処理の開始を指令するタスク制御部と、
を備え、
前記タスク制御部は、
前記計算機の物理資源の利用状況を示す第２の物理資源量と、前記処理の実行に必要な前第１の物理資源量とを比較して、前記第１の物理資源量と第２の物理資源量の和を前記計算機の物理資源が有するか否かを判定し、
前記第１の物理資源量と第２の物理資源量の和を前記計算機の物理資源が有すると判定したときには、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を現在の時刻側に更新することを特徴とする計算機システム。
【請求項８】
請求項７に記載の計算機システムであって、
前記第２の物理資源量は、複数の時間帯毎に前記業務を実行する計算機で使用される物理資源の使用量の推定値を含み、
前記タスク制御部は、
前記第１の物理資源量の前記推定値と第２の物理資源量の前記推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出し、前記抽出した時間帯のうち最も開始時刻の早い時間帯を選択し、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を前記選択した時間帯の開始時刻に更新することを特徴とする計算機システム。
【請求項９】
請求項８に記載の計算機システムであって、
前記計算機は複数の計算機で構成され、
前記第２の物理資源量は、前記複数の計算機のそれぞれについて、複数の時間帯毎に設定した物理資源の使用量の推定値を含み、
前記管理サーバは、前記複数の計算機のうちの少なくともひとつに前記業務を割り当てて実行させ、
前記タスク制御部は、
前記業務に対する処理の開始時刻と、当該処理の終了時刻と、前記処理を実行する前記計算機をタスク実行情報に設定し、
前記第１の物理資源量と第２の物理資源量の前記推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出し、前記抽出した時間帯のうち最も開始時刻の早い時間帯と計算機を選択し、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を前記選択した開始時刻に更新し、前記タスク実行情報に設定された処理を実行する計算機を前記選択した計算機に更新することを特徴とする計算機システム。
【請求項１０】
請求項９に記載の計算機システムであって、
前記管理サーバは、計算機毎に実行可能な前記処理と前記業務の関係を設定した実行可能計算機情報をさらに有し、
前記タスク制御部は、
前記第１の物理資源量と第２の物理資源量の前記推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出する際に、前記実行可能計算機情報から当該処理を実行可能な計算機を選択し、当該選択したから前記時間帯を抽出することを特徴とする計算機システム。
【請求項１１】
請求項９に記載の計算機システムであって、
前記管理サーバは、前記処理を実現する複数のパターンのそれぞれについて当該パターンを実行可能な前記業務と前記計算機の関係と優先度を設定したタスクパターン情報をさらに有し、
前記タスク制御部は、
前記業務に対する処理の開始時刻と、当該処理の終了時刻と、前記処理を実行する前記計算機と、前記処理の詳細なパターンと、をタスク実行情報に設定し、
前記第１の物理資源量と第２の物理資源量の前記推定値の和を満たす物理資源を有する前記計算機の前記時間帯を抽出する際に、前記タスクパターン情報のパターンのうち、前記優先度の高いパターンを実行可能な計算機の前記時間帯を抽出し、前記抽出した時間帯のうち最も開始時刻の早い時間帯と計算機と前記パターンを選択し、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を前記選択した開始時刻に更新し、前記タスク実行情報に設定された処理を実行する計算機を前記選択した計算機に更新し、前記タスク実行情報に設定されたパターンを前記タスクパターン情報で選択したパターンに更新することを特徴とする計算機システム。
【請求項１２】
請求項７または請求項９に記載の計算機システムであって、
前記計算機は、物理資源を仮想化する仮想化部によって生成された仮想サーバで構成されたことを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ仮想化機構を備える計算機システムに係り、特にサーバ上で稼動する処理の制御方法を決定する技術に関する。
【背景技術】
【０００２】
１つの物理サーバ上で複数の仮想的なサーバ（以下、仮想サーバ）を稼動させる方法として、サーバ仮想化機構が存在する。サーバ仮想化機構の例としてＶＭｗａｒｅ（登録商標）が挙げられる。サーバ仮想化機構を備えたシステム環境における、物理資源の有効活用に関する方法として、バッチジョブ、バックアップなど定期的に発生する処理（以下、定期業務）への割当がある（例えば、特許文献１）。特許文献１に記載の方法では、仮想サーバのリソース要求の変化を、仮想サーバ上で稼動するアプリケーションの活動よりモニタし、仮想サーバへのリソース割当を動的に調整している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８１５７８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、サーバ仮想化環境においては、ある仮想サーバ上の負荷（例えば、ネットワーク転送やディスクＩ／Ｏ(Input／Output)効率）の影響を、同じ物理サーバ上で稼動する他の仮想サーバが受けてしまう。これは、仮想サーバ間で物理資源（ＣＰＵ、メモリ、ネットワークデバイス、ＨＢＡ（Host Bus Adapter）など）を共有するからである。
【０００５】
上記は、業務に対して行われる定期的なタスクの処理効率に影響を与えることとなる。例えば、仮想サーバ上でバックアップなどネットワーク帯域を必要とする定期的なタスクを実行しようとした場合、その実行時間は、同じ物理サーバ上で稼動する他の仮想サーバがネットワーク帯域を大量に使用しているかどうかで変わる。これにより、設計時に見積もった実行時間内でタスクを終わらせることができず、定期的なタスクの終了後に実行すべき業務やタスクを予定の時刻に開始できない恐れが発生する。
【０００６】
そこで、本発明が解決しようとする課題は、定期的なタスクを目標とする完了時刻までに完遂させられるようにするために、物理資源に余裕がある状況にて、事前にタスクを実行させることである。
【課題を解決するための手段】
【０００７】
本発明は、プロセッサとメモリを備えた計算機と、前記業務と、前記業務に対する処理と、前記計算機の物理資源を管理する管理サーバとを備えて、前記業務に対する処理を制御する処理制御方法であって、前記管理サーバが、前記計算機に前記業務を割り当てて実行させる第１の手順と、前記管理サーバが、前記業務に対する処理の開始時刻と、当該処理の終了時刻とをタスク実行情報に設定する第２の手順と、前記管理サーバが、前記処理の実行に必要な前記計算機の物理資源の量を第１の物理資源量としてタスクリソース情報に設定する第３の手順と、前記管理サーバが、前記計算機の物理資源の使用量を第２の物理資源量として取得する第４の手順と、前記管理サーバが、前記計算機の物理資源の利用状況を示す第２の物理資源量と、前記処理の実行に必要な前第１の物理資源量とを比較して、前記第１の物理資源量と第２の物理資源量の和を前記計算機の物理資源が有するか否かを判定する第５の手順と、前記管理サーバが、前記第１の物理資源量と第２の物理資源量の和を前記計算機の物理資源が有すると判定したときには、前記タスク実行情報に設定された前記業務に対する処理の開始時刻を現在の時刻側に更新する第６の手順と、前記管理サーバが、前記タスク実行情報を監視して、現在の時刻が前記処理の開始時刻となったときに、前記計算機へ前記処理の開始を指令する第７の手順と、を含む。
【発明の効果】
【０００８】
したがって、本発明によれば、計算機の物理資源に余裕がある状況にて、業務に必要な処理（タスク）を本来の開始時刻よりも早めて実行させることで、タスクが目標とする完了時刻までに処理を終わらせる事ができないリスクを低減できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態を示し、計算機システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態を示し、管理サーバの構成を示すブロック図である。
【図３】本発明の第１の実施形態を示し、物理サーバの構成を示すブロック図である。
【図４】本発明の第１の実施形態を示し、物理サーバ及び管理サーバ間の処理の概要を示すブロック図である。
【図５】本発明の第１の実施形態を示し、タスク実行テーブルの構成を示す説明図である。
【図６】本発明の第１の実施形態を示し、資源利用状況テーブルの構成を示す説明図である。
【図７】本発明の第１の実施形態を示し、実行パターンテーブルの構成を示す説明図である。
【図８】本発明の第１の実施形態を示し、業務テーブルの構成を示す説明図である。
【図９】本発明の第２の実施形態を示し、資源利用状況テーブルの構成を示す説明図である。
【図１０】本発明の第２の実施形態を示し、業務テーブルの構成を示す説明図である。
【図１１】本発明の第３の実施形態を示し、実行可能サーバテーブルの構成を示す説明図である。
【図１２】本発明の第３の実施形態を示し、タスク実行テーブルの構成を示す説明図である。
【図１３】本発明の第４の実施形態を示し、タスク充足テーブルの構成を示す説明図である。
【図１４】本発明の第４の実施形態を示し、タスク実行テーブルの構成を示す説明図である。
【図１５】本発明の第１の実施形態を示し、タスク制御部１０３で行われる処理の一例を示すフローチャートである。
【図１６】本発明の第２の実施形態を示し、タスク制御部１０３で行われる処理の一例を示すフローチャートである。
【図１７】本発明の第３の実施形態を示し、タスク制御部１０３で行われる処理の一例を示すフローチャートである。
【図１８】本発明の第４の実施形態を示し、実行パターンテーブルの構成を示す説明図である。
【図１９】本発明の第４の実施形態を示し、タスク制御部１０３で行われる処理の一例を示すフローチャートである。
【図２０】本発明の第２の実施形態を示し、計算機システムの構成を示すブロック図である。
【図２１】本発明の第３の実施形態を示し、計算機システムの構成を示すブロック図である。
【図２２】本発明の第４の実施形態を示し、計算機システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１１】
図１は、本発明の第１の実施形態を示し、サーバ仮想化機構を備えた計算機システムのブロック図である。
【００１２】
計算機システムは、管理サーバ２０１、１つ以上の物理サーバ１１１、１つ以上のネットワークスイッチ１０８、１つ以上のストレージスイッチ１１２、ディスクアレイ装置１１６を有する。
【００１３】
管理サーバ２０１は、プログラム制御により稼動するコンピュータであり、ネットワークスイッチ１０８に接続するＮＩＣ２０５を備える。管理サーバ２０１は、ネットワークスイッチ２０７を介して、物理サーバ１１１及びディスクアレイ装置１１６に接続する。管理サーバ２０１は、資源管理部１０２、タスク制御部１０３、業務管理部１０４、サーバ管理部１０５を実行し、これらの処理に必要なテーブル群として、資源利用状況テーブル１１９、タスク実行テーブル（タスク実行情報）１０７、実行パターンテーブル（タスクリソース情報）１０８、業務テーブル１１８を有する。各テーブルは、図５以降のテーブルの構成例を用いて後述する。
【００１４】
物理サーバ１１１は、プログラム制御により稼動するコンピュータであり、ネットワークスイッチ２０７に接続するＮＩＣ、及びストレージスイッチ１１２に接続するＨＢＡを備える。物理サーバ１１１は、ネットワークスイッチ２０７を介して、他の物理サーバ１１１、管理サーバ２０１、ディスクアレイ装置１１６に接続する。物理サーバ１１１は、ストレージスイッチ１１２を介して、ディスクアレイ装置１１６に接続する。なお、ストレージスイッチ１１２は、ＳＡＮ（Storage Area Network）１１２Ａを構成する。物理サーバ１１１上では、サーバ仮想化機構１１０（またはサーバ仮想化部）と、仮想サーバ１０９が実行される。
【００１５】
ネットワークスイッチ２０７は、ネットワーク２０７Ａを構成する１つ以上のネットワーク機器である。ネットワーク機器は、具体的にはネットワークスイッチやルータ、ロードバランサまたはファイアウォールなどである。
【００１６】
ディスクアレイ装置１１６は、ＦＣ（Fiber Channel）及びＬＡＮインタフェースを備え、管理サーバ２０１及び物理サーバ１１１が使用する１つ以上のディスクまたは不揮発性の半導体記憶装置を含む記憶装置システムである。ディスクアレイ装置１１６は、サーバ仮想化機構１１０、仮想サーバ１０９の実行に必要なディスクとして、仮想サーバイメージ格納ディスク１１４、定義情報格納ディスク１１５を有する。仮想サーバイメージ格納ディスク１１４は、仮想サーバ１０９を構成するディスクイメージを有するディスクボリューム（または論理ボリューム）である。
【００１７】
定義情報格納ディスク１１５は、仮想サーバ１０９にインストールされるＯＳ（Operating System）や業務３２０、仮想サーバ１０９に割り当てられた仮想的なデバイス（仮想プロセッサ、仮想メモリ、仮想Ｉ／Ｏデバイスなど）の内容を記述したメタデータを有するディスクボリューム（または論理ボリューム）である。
【００１８】
ディスクアレイ装置１１６は、仮想サーバ１０９上で実行する業務が使用する業務データを格納する論理ボリュームとしてデータディスク３２０１を含む。データディスク３２０１は、業務ごとに生成されてもよいし、一つの論理ボリュームを複数の業務（または仮想サーバ１０９）で共有する共有ボリュームとして利用することができる。
【００１９】
図２は、管理サーバ２０１の構成を示す。管理サーバ２０１は、資源管理部１０２、タスク制御部１０３、業務管理部１０４、サーバ管理部１０５を有する。尚、本実施形態では、資源管理部１０２、タスク制御部１０３、業務管理部１０４、サーバ管理部１０５は、ＣＰＵ（プロセッサ）２０３により実行されるプログラムとして説明するが、管理サーバ２０１に搭載するハードウェアやファームウェア、またはそれらの組み合わせにより実装しても良い。また、資源管理部１０２、タスク制御部１０３、業務管理部１０４、サーバ管理部１０５は、管理サーバ２０１が備える補助記憶装置に格納され、実行時にはメモリ２０２にロードされてから、プロセッサ２０３によって実行される。
【００２０】
資源管理部１０２は、各物理サーバ１１１の負荷情報（ＣＰＵ使用率、メモリ使用量など）を、物理サーバ１１１より収集して保持する。タスク制御部１０３は、仮想サーバ１０９で実行する業務に必要なタスクの実行状態の管理及び、仮想サーバ１０９へのタスクの実行命令の送信を行う。
【００２１】
業務管理部１０４は、物理サーバ１１１と、当該物理サーバ１１１上の仮想サーバ１０９で稼動する業務を関連付ける情報を保持する。サーバ管理部１０５は、各物理サーバ１１１に関する構成情報（ホスト名、オペレーティングシステムの種別、デバイス情報など）を、物理サーバ１１１より収集して保持する。そして、サーバ管理部１０５は、管理者などの指令に基づいて物理サーバ１１１のサーバ仮想機構１１０に仮想サーバ１０９の生成、移動または削除を指令して、物理サーバ１１１上の仮想サーバ１０９を制御する。また、サーバ管理部１０５は、仮想サーバ１０９で実行する業務３２０を制御することができる。例えばサーバ管理部１０５は、業務３２０を何れの物理サーバ１１１で行うかを選択し、当該選択した物理サーバ１１１上の仮想サーバ１０９で業務３２０を割り当てる。仮想サーバ１０９は、業務３２０を実行することで図示しないクライアント端末などへ当該業務３２０を提供することができる。
【００２２】
管理サーバ２０１は、ネットワーク２０７Ａに接続するためのＮＩＣ２０５を備える。管理サーバ２０１はネットワーク２０７Ａを通じて、物理サーバ１１１、ディスクアレイ装置１１６と接続する。管理サーバ２０１は、複数のＮＩＣを有しても良い。
【００２３】
図３は、物理サーバ１１１の構成を示す。物理サーバ１１１は、メモリ３０１、ＣＰＵ３０３を有する。メモリ３０１は、サーバ仮想化機構１１０及び仮想サーバ１０９を実行するためのプログラムを保持する。
【００２４】
物理サーバ１１１は、ネットワーク２０７Ａに接続するためのＮＩＣ３０５を備える。物理サーバ１１１はネットワーク２０７Ａを通じて、管理サーバ２０１、他の物理サーバ１１１と接続する。物理サーバ１１１は、ＳＡＮ１１２Ａを介してディスクアレイ装置１１６に接続するためのＨＢＡ３０４を備える。物理サーバ１１１は、複数のＮＩＣ及びＨＢＡを有しても良い。
【００２５】
サーバ仮想化機構１１０は、仮想サーバ管理部３１０、制御Ｉ／Ｆ（Interface）３０２を有する。サーバ仮想化機構１１０は、物理サーバ１１１の計算機リソースを仮想化して複数の仮想サーバ１０９を提供する。サーバ仮想化機構１１０は、例えば、ＶＭＭ（Virtual Machine Monitor）やハイパーバイザなどで構成することができる。本実施形態では、サーバ仮想化機構１１０としてＶＭＭを採用した例を示す。
【００２６】
仮想サーバ管理部３１０は、仮想サーバ１０９の負荷情報（ＣＰＵ使用率、メモリ使用量など）、構成情報（ＯＳ種別、割り当てた仮想デバイスなど）、状態情報（電源、デバイスの有効または無効、デバイスの障害の有無など）を収集、保持、更新する。制御Ｉ／Ｆ３０２は、外部（管理サーバ２０１、他の物理サーバ１１１など）への、仮想サーバ管理部３１０に対するアクセスを行うユーザインターフェースを提供する。
【００２７】
サーバ仮想化機構１１０上では、１つ以上の仮想サーバ１０９が実行される。仮想サーバ１０９は、サーバ仮想化機構１１０によって物理サーバ１１１の計算機の資源が割り当てられて機能する仮想的なサーバである。仮想サーバ１０９では、ＯＳ３０２、業務３２０を提供する処理（ソフトウェアプログラムなど）が実行される。
【００２８】
図４は、管理サーバ２０１と、１つ以上の物理サーバ１１１間での処理の流れの例を示す。この例では、計算機の物理資源に余裕がある状況にて、事前に定期的な業務３２０を実行させるための方法を示す。
【００２９】
管理サーバ２０１は、第１の処理として、資源管理部１０２より低負荷の物理サーバ１１１を選択する。この処理は、後述するように、各物理サーバ１１１から資源管理部１０２が収集した負荷情報と、予め設定されたしきい値を比較し、負荷情報が閾値未満の物理サーバ１１１を低負荷の物理サーバ１１１として選択する。
【００３０】
第２の処理として、サーバ管理部１０５が、第１の処理で資源管理部１０２が選択した物理サーバ１１１上で、定期的な業務３２０用の仮想サーバ１０９を稼動させる。定期的な業務３２０を実行させる仮想サーバ１０９は、選択された物理サーバ１１１上で既に起動している仮想サーバ１０９のうち定期的な業務３２０を実行可能な仮想サーバ１０９がない場合には、サーバ管理部１０５が新たな仮想サーバ１０９を生成する。既に起動している仮想サーバ１０９で定期的な業務３２０が実行可能であれば、サーバ管理部１０５は当該仮想サーバ１０９に定期的な業務３２０を実行させる。
【００３１】
第３の処理として、タスク制御部１０３は、第２の処理で稼動させた仮想サーバ１０９に対し定期的な業務３２０を遂行するための所定のタスクの実行を指令する。上記処理によって、定期的な業務３２０に対して予め設定されたタスクが低負荷の物理サーバ１１１上の仮想サーバ１０９で実行される。
【００３２】
ここで、定期的な業務３２０とタスクの関係は、次の通りとなる。業務３２０は、ＷＥＢサーバやアップリケーションサーバまたはデータベースサーバなど、ネットワーク２０７Ａを介してアクセするクライアント計算機（図示省略）に対してサービスを提供する処理を指す。
【００３３】
一方、タスクは、各業務３２０ごとに実行する処理を示し、例えば、業務３２０で利用するデータディスク３２０１のバックアップや予め設定されたバッチ処理（例えば、日次更新や月次更新）など、業務３２０ごとに予め設定されたデータディスク３２０１に格納された業務データに対する処理である。さらに、タスクには、当該タスクを開始すべき開始時刻と、当該タスクを完了させておくべき終了時刻とが設定される。ただし、開始時刻よりも前にタスクを開始することは許容するが、終了時刻を越えてタスクの実行を継続することは許容せず、終了時刻は当該時刻までに当該タスクを完了させておくべき時刻とする。
【００３４】
図５は、タスク実行テーブル１０７の例を示す。タスク実行テーブル１０７は、定期的な業務３２０に必要なタスクとその実行に関する情報を保持する。カラム５０１は、タスクの内容を識別するための識別子が格納される。カラム５０２は、カラム５０１に示すタスクの実行対象の業務３２０を識別するための識別子が格納される。本実施形態では、この識別子を、業務３２０を識別するための識別子として説明するが、仮想サーバ１０９を識別するための識別子を用いても良い。
【００３５】
カラム５０３は、カラム５０１で指定されたタスクの実行を開始する時刻である。カラム５０４は、カラム５０１の実行が完遂されている必要がある時刻である。カラム５０３、カラム５０４の初期値はユーザ（業務管理者など）がＳＬＡ（Service Level Agreement）などに基づいて予め設定しておく。カラム５０５は、カラム５０１で指定されたタスクの実行状況を示す。本実施形態では、未実行、実行中、実行完了として説明するが、処理の進捗度合い（％、タスクを構成するステップの数）などを用いても良い。
【００３６】
タスク制御部１０３は、定期的（所定の周期）にタスク実行テーブル１０７を監視し、カラム５０５が未実行のもので、かつカラム５０３の開始時刻と、現在の時刻とを比較し、現在の時刻が実行開始時刻以降となった場合はタスクを実行するよう仮想サーバ１０９に指令する。尚、カラム５０３と現在の時刻との比較には、仮想サーバ１０９の処理など、タスクが実行可能状態になるまでの時間を加味しても良い。
【００３７】
図６は、資源利用状況テーブル１１９の例を示す。資源利用状況テーブル１１９は、物理サーバ１１１の物理資源の使用度合いに関する情報を保持する。資源利用状況テーブル１１９には、資源管理部１０２が収集した計算機資源毎の負荷情報を、予め設定したしきい値と比較して、各計算機資源毎の利用の度合いを算出した結果が格納される。
【００３８】
カラム６０１は、物理サーバ１１１を識別するための識別子である。カラム６０２は、物理サーバ１１１が持つ各物理コンポーネント（プロセッサ（ＣＰＵ）、メモリ、ネットワーク（図中、Ｎ／Ｗ、以下同様）帯域など）の使用度合いを示す。この使用度合いは、物理サーバ１１１で実行されている処理が使用している物理資源の量を示す。本実施形態では、カラム６０２は、サブカラムとして、カラム６０３、カラム６０４、カラム６０５を備える。カラム６０３はプロセッサ３０３の利用度合いを格納し、カラム６０４はメモリ３０１の利用度合いを格納し、カラム６０５はＮＩＣ３０５のネットワーク帯域の利用率を使用度合いとして格納している。
【００３９】
なお、カラム６０３、カラム６０４、カラム６０５とは別に、ディスクＩ／Ｏ帯域、ディスク領域、などを備えても良い。カラム６０３、カラム６０４、カラム６０５の値は、サーバ仮想化機構１１０の仮想サーバ管理部３１０より得た、サーバ仮想化機構１１０及び仮想サーバ１０９の負荷情報を元に、資源管理部１０２が定期的に演算して更新する。
【００４０】
例えば、図６に示す各利用度合いは、物理サーバ１１１のサーバ仮想化機構１１０が測定した物理的な計算機資源の負荷情報から利用率（または使用量）を求め、各計算器資源の利用率を所定のしきい値（図示の例では、２つのしきい値）で比較して、「高」、「中」、「低」の３段階の利用度合いとした例を示す。つまり、利用率が第１のしきい値未満であれば利用度合いは「低」とし、利用率が第１の閾値以上、かつ第２のしきい値未満であれば利用度合いは「中」とし、利用率が第２の閾値以上であれば利用度合いは「高」とする。なお、図示の例では２つのしきい値から３つの利用度合いを求める例を示したが、管理者が所望の数のしきい値を設定することができる。
【００４１】
ここで、プロセッサ３０３の利用率は、資源管理部１０２がサーバ仮想化機構１１０から取得したプロセッサ３０３の利用率から、資源管理部１０２がしきい値を用いて求めた利用度合いを示す。
【００４２】
メモリ３０１の使用度合いは、物理サーバ１１１に実装されたメモリ３０１の量に対して、サーバ仮想化機構１１０が実際に使用しているメモリ３０１の量の比率としきい値から資源管理部１０２が求めた利用度合いを示す。また、ネットワークの利用度合いは、ＮＩＣ３０５の最大転送速度に対してサーバ仮想化機構１１０が利用した実際の通信量の比率を利用率として求め、資源管理部１０２がしきい値を用いて利用度合いを算出したものである。
【００４３】
尚、上記利用率の演算方法として、本実施形態では、閾値を用いたレベライズとして説明するが、物理資源量に対する使用物理資源量の比率などを用いても良い。
【００４４】
図７は、実行パターンテーブル１０８の例を示す。実行パターンテーブル１０８は、定期業務３２０に必要なタスクの種類と、タスクを実行する際に必要とする計算機資源の特徴に関する情報を保持する。
【００４５】
カラム７０１は、タスクの内容（種類）を識別するための識別子である。この識別子には、図５に示したタスク実行テーブル１０７のカラム５０１に関連付けられる値を使用する。カラム７０２は、カラム７０１に示すタスクを実行した場合に必要となる物理資源の使用度合いに関する情報を保持する。この使用度合いは、物理サーバ１１１でタスクを実行する際に使用する物理資源の量を示す。
【００４６】
カラム７０２は、サブカラムとして、カラム７０３、カラム７０４、カラム７０５を備え、それぞれが、物理サーバ１１１が持つ各物理的な計算機資源（プロセッサ、メモリ、ネットワーク帯域など）の使用度合いを示す。カラム７０３、カラム７０４、カラム７０５とは別に、ディスクＩ／Ｏ帯域、ディスク領域、などを備えても良い。カラム７０３、カラム７０４、カラム７０５の計算機資源の使用の度合いの値は、管理者による設定や、過去のタスク実行時に収集した負荷情報、などを元に決定する。なお、管理者が計算機資源の使用の度合いを設定する際には、管理サーバ２０１の図示しないコンソールから入力することができる。
【００４７】
図８は、業務テーブル１１８の例を示す。業務テーブル１１８は、物理サーバ１１１上で稼動する業務３２０の特徴を示す情報を保持する。カラム８０１は、業務を識別するための識別子である。この識別子には、図５に示したタスク実行テーブル１０７のカラム５０１に関連付けられる値を使用する。カラム８０２は、カラム８０１の業務が稼動する物理サーバ１１１を識別するための識別子である。この識別子には、図６に示した資源利用状況テーブル１１９のカラム６０１に関連付けられる値を使用する。
【００４８】
図１５は、タスク制御部１０３で行われる処理の一例を示すフローチャートである。タスク制御部１０３は、図４の第１の処理で示したように、物理サーバ１１１の物理資源に余裕がある状況にて、事前に定期的な業務３２０を実行させることが可能か否かを判定する際に実行される。この際には、管理サーバ２０１が、複数の仮想サーバ１０９の少なくともひとつに業務３２０を割り当てて、当該業務３２０が実行されているものとする。
【００４９】
タスク制御部１０３は、タスク実行テーブル１０７を参照し、ステータス５０５が未実行のものがあるか否かをチェックする（ステップ１５０１）。未実行のタスクがある場合は当該タスクを選択してステップ１５０３へ進み、未実行のタスクが無い場合は処理を終了する（ステップ１５０２）。
【００５０】
タスク制御部１０３は、業務テーブル１１８と、実行パターンテーブル１０８と、資源利用状況テーブル１１９とを参照し、ステップ１５０１で選択したタスクが物理サーバ１１１上で現在実行可能であるか否かを判定する（ステップ１５０３）。このチェックは、まずタスクの対象となる業務が実行される物理サーバ１１１について、タスク実行テーブル１０７のカラム５０２から対象の業務を選択し、図８の業務テーブル１１８からカラム８０１の業務識別子が選択された業務と一致するサーバ識別子８０２を取得する。
【００５１】
次に、タスク制御部１０３は、取得したサーバ識別子８０２の物理サーバ１１１について物理資源の使用度合いを、業務テーブル１１８のカラム８０２のサーバ識別子８０２と、資源利用状況テーブル１１９のカラム６０１のサーバ識別子とが一致したカラム６０２の資源利用状態より取得する。また、タスク制御部１０３は、ステップ１５０１で選択したタスクの実行に必要な物理資源を図７の実行パターンテーブル１０８からカラム７０１のタスク識別子をキーとして、カラム７０２の使用資源（物理資源の使用度合い）を取得する。
【００５２】
次に、タスク制御部１０３は、取得した現在の物理資源の使用度合いと、タスクが必要とする物理資源の度合いを、カラム６０２、カラム７０１、カラム７０２より比較し、タスクの実行に必要な物理資源が物理サーバ１１１上に存在するか否かを判定する（ステップ１５０４）。この判定は、現在の物理資源の使用度合いを示す資源利用状況６０２が、選択したタスクで必要とする使用資源（物理資源の使用度合い）７０２を受け付け可能か否かで行われる。例えば、タスク制御部１０３は、資源利用状況６０２と使用資源７０２の度合いを数値化し、これらの和が管理者やシステムが設定した閾値未満の物理サーバ１１１があれば、タスクを実行可能な物理資源があると判定してステップ１５０５へ進む。
【００５３】
一方、タスク制御部１０３は、資源利用状況６０２と使用資源７０２の和が閾値未満となる物理サーバ１１１がなければ、タスクを実行可能な物理資源がないと判定して処理を終了する。
【００５４】
すなわち、ステップ１５０４の判定では、物理サーバ１１１の物理資源が、資源利用状況６０２と使用資源７０２の和を満たすか否かを判定し、物理サーバ１１１の物理資源が、資源利用状況６０２と使用資源７０２の和を満たせば、当該物理サーバ１１１でタスクを実行可能であると判定する。ここで、資源利用状況６０２と使用資源７０２は、計算機資源の使用の度合い６０３〜６０５と７０３〜７０５の「低」、「中」、「高」を所定の数値に変換し、計算機資源の使用の度合い６０３〜６０５と７０３〜７０５の和が、所定の閾値以下であればタスク制御部１３０は、当該タスクを現在選択した物理サーバ１１１で実行可能であると判定し、そうでない場合には実行不可であると判定することができる。
【００５５】
ステップ１５０５では、タスク制御部１０３が、ステップ１５０１で選択したタスクについて、タスク実行テーブル１０７の実行開始時間５０３を現時刻に変更する。
【００５６】
タスク制御部１０３は、定期的にタスク実行テーブル１０７を監視し、現在の時刻が実行開始時刻５０３以降となったタスクを実行するよう仮想サーバ１０９に指令するので、上記ステップ１５０５で開始時間５０３を変更されたタスクを即座に実行することができる。
【００５７】
本実施形態によれば、タスク制御部１０３は、物理サーバ１１１の物理資源に余裕がある状況にて、定期的な業務３２０のタスクを即時に仮想サーバ１０９で実行させることで、定期的な業務３２０に対して割り当てられたタスクが目標とする完了時刻までに処理を終わらせる事ができないリスクを軽減する事ができる。
【００５８】
なお、上記第１の実施形態では、物理サーバ１１１の物理資源に余裕がある場合には、即座にタスクを実行する例を示したが、タスクの開始時刻を現在時刻側に早めることで、実現してもよい。
【００５９】
＜第２実施形態＞
前記第１の実施形態では、現時点で物理サーバ１１１の物理資源に余裕がある状況にて、定期業務３２０のタスクを即時に実行させるためのステップを含む処理制御方法について述べた。本第２の実施形態では、現時点以降で物理サーバ１１１の物理資源に余裕がある状況にて、定期業務３２０のタスクの実行開始を予約させるためのステップを含む処理制御方法について述べる。
【００６０】
図２０は、本発明の第２の実施形態を示し、計算機システムの構成を示すブロック図である。第２の実施形態の計算機システムでは、前記第１実施形態の資源利用状況テーブル１１９と業務テーブル１１８を変更し、資源利用状況テーブル１１９Ａと業務テーブル１１８Ａを含む。その他の構成については前記第１実施形態と同様である。
【００６１】
図９は、本第２実施形態における資源利用状況テーブル１１９Ａの例である。図９では、前記第１実施形態の図６に示した資源利用状況テーブルに、現時刻からの資源利用状況の推移を示す情報として、新たにカラム９０１、カラム９０２が追加されている。カラム９０１は、カラム６０１、カラム６０２が示す物理サーバ１１１の資源利用状況が、開始する時刻を示す。カラム９０２は、カラム６０１、カラム６０２が示す物理サーバ１１１の資源利用状況が、終了する時刻を示す。図９の資源利用状況テーブル１１９Ａは、物理サーバ１１１（６０１）毎に所定の期間（例えば、２４時間）の資源利用状況６０２の推定値（例えば、各時間帯の統計値など）を管理者などが予め設定しておくものである。なお、カラム９０１、カラム９０２の値は、図１０にて後述する各業務３２０の業務特性（カラム１００１）より決定する。
【００６２】
図１０は、本第２実施形態における業務テーブル１１８Ａの例である。図１０では、前記第１実施形態の図８に示した業務テーブル１１８に、現時刻からの各業務の負荷の推移を示す情報として、新たにカラム１００１、カラム１００２、カラム１００３、カラム１００４、カラム１００５、カラム１００６、カラム１００７を追加したものである。
【００６３】
カラム１００１は、各業務３２０の負荷特性を示す。カラム１００１はサブカラムとしてカラム１００２、カラム１００６、カラム１００７を備える。カラム１００２は、業務３２０の負荷特性として、業務３２０が使用する物理サーバ１１１の資源（ＣＰＵ、メモリ、Ｎ／Ｗ）の使用度合いをそれぞれ示す。カラム１００２は、サブカラムとしてカラム１００３、カラム１００４、カラム１００５を備え、それぞれが、物理サーバ１１１が持つ各物理コンポーネント（ＣＰＵ、メモリ、Ｎ／Ｗ帯域など）の使用度合いを示す。カラム１００３、カラム１００４、カラム１００５とは別に、ディスクＩ／Ｏ帯域、ディスク領域、などを備えても良い。
【００６４】
上記カラム１００３、カラム１００４、カラム１００５の値は、管理者による設定や、過去のタスク実行時に収集した負荷の情報などを元に、時間（開始時刻１００６から終了時刻１００７）帯毎に予め設定したものである。カラム１００６は、カラム１００２が示す負荷特性が、開始する時刻（時間帯の始点）を示す。カラム１００７は、カラム１００２が示す負荷特性が終了する時刻（時間帯の終点）を示す。
【００６５】
図１０の業務テーブル１１８Ａで設定された時間帯（カラム１００６、カラム１００７）と負荷特性１００２は、図９の時間帯（カラム９０１、カラム９０２）と資源利用状況６０２に反映される。すなわち、第２実施形態の資源利用状況テーブル１１９Ａと業務テーブル１１８Ａは、現在以降の負荷特性及び資源利用状況の推定値（または予測値）を時間帯毎に設定したものである。
【００６６】
図１６は、本第２実施形態におけるタスク制御部１０３で行われる処理の一例を示すフローチャートである。図１６は、前記第１実施形態の図１５に示したタスク制御部１０３の処理の一部を変更した処理である。すなわち、
図１６は、前記第１実施形態の図１５に示したステップ１５０３、ステップ１５０４、ステップ１５０５を、ステップ１６０３、ステップ１６０４、ステップ１６０５に置き換えたものである。なお、その他の処理については前記第１実施形態と同様である。
【００６７】
タスク制御部１３０は、業務テーブル１１８Ａ、実行パターンテーブル１０８、資源利用状況テーブル１１９を参照し、ステップ１５０１で選択したタスクが物理サーバ１１１上で実行可能な時間帯があるか否かを判定する（ステップ１６０３）。この判定は、まずタスクの対象となる業務３２０が実行される物理サーバ１１１を、図５に示したタスク実行テーブル１０７のカラム５０２で対象となる業務３２０を特定し、図１０の業務テーブル１１８Ａのカラム８０１の業務識別子がカラム５０２で特定した業務と一致するカラム８０２より物理サーバ１１１のサーバ識別子８０２を取得する。
【００６８】
次に、タスク制御部１３０は、取得したサーバ識別子８０２に対応する物理サーバ１１１の物理資源の使用度合いを、図９の資源利用状況テーブル１１９Ａのカラム６０１のサーバ識別子が一致するカラム６０２の資源利用状況を取得する。このとき、タスク制御部１３０は、資源利用状況テーブル１１９Ａのカラム９０１、カラム９０２が示す時間帯が、タスク実行テーブル１０７のカラム５０３（開始時刻）と、カラム５０４（終了時刻）が示す時間帯を含むものを選択して、当該レコードについて資源利用状況の取得を行う。
【００６９】
次に、タスク制御部１３０は、上記取得した物理資源の使用度合いと、タスクが必要とする物理資源の度合いを、図９の資源利用状況テーブル１１９Ａのカラム６０２の資源利用状況と、実行パターンテーブル１０８のカラム７０１（タスク識別子）が現在着目しているタスクに一致するカラム７０２（使用資源量）を取得する。
【００７０】
そして、タスク制御部１３０は、資源利用状況テーブル１１９Ａのカラム６０２の資源利用状況と、実行パターンテーブル１０８のカラム７０２の使用資源を比較して、タスクの実行に必要な物理資源が物理サーバ１１１上に存在するか否かを判定する。この判定は、カラム６０２の資源利用状況とカラム７０２の使用資源の和が、予め設定した閾値以下であれば、資源利用状況テーブル１１９Ａのカラム９０１、カラム９０２が示す時間帯で当該タスクを実行可能と判定することができる。この判定は、例えば、前記第１実施形態と同様に、計算機資源の使用の度合い６０３〜６０５と７０３〜７０５の「低」、「中」、「高」を所定の数値に変換し、計算機資源の使用の度合い６０３〜６０５と７０３〜７０５の和が、所定の閾値以下であればタスク制御部１３０は、当該タスクを現在選択した物理サーバ１１１で実行可能であると判定し、そうでない場合には実行不可であると判定することができる。
【００７１】
タスク制御部１０３は、ステップ１６０３でタスクの実行に必要な物理資源があると判定した場合はステップ１６０５へ進み、タスクの実行に必要な物理資源がないと判定した場合は処理を終了する（ステップ１６０４）。ここで、タスク制御部１０３は、当該タスクを現在選択した物理サーバ１１１で実行可能であると判定した資源利用状況テーブル１１９Ａのレコードのうち最も開始時刻９０１が早いレコードを選択する。なお、タスク制御部１０３は、前記選択した開始時刻９０１がタスクの開始時刻５０３よりも遅い場合には、物理サーバ１１１で実行不可であると判定して、ステップ１６０５の更新を禁止してもよい。
【００７２】
タスク制御部１０３は、ステップ１５０１で選択したタスクを実行するために、タスク実行テーブル１０７で当該タスクの開始時刻５０３を上記ステップ１６０４で選択したレコードに含まれる開始時刻９０１で変更する（ステップ１６０５）。
【００７３】
タスク制御部１０３は、定期的にタスク実行テーブル１０７を監視し、時刻が実行開始時刻５０３以降となったタスクを実行するよう仮想サーバ１０９に指令するので、上記ステップ１６０５で開始時間５０３を変更されたタスクを物理サーバ１１１の物理資源に余裕のある時間帯で前もって実行することができる。
【００７４】
本実施形態に拠れば、タスク制御部１０３は、現時点以降で物理サーバ１１１の物理資源に余裕がある状況にて、定期的な業務３２０に対して割り当てられたタスクの実行開始を予約することで、タスク実行テーブル１０７で計画されたタスクの実行計画よりも事前に実行可能なタスクを増加させることができる。
【００７５】
＜第３実施形態＞
前記第２の実施形態では、現時点以降で物理サーバ１１１に物理資源に余裕がある状況にて、定期的な業務３２０に対するタスクを予約させるためのステップを含む処理制御方法について述べた。本第３実施形態では、実行可能な物理サーバが複数存在する場合における処理制御方法について述べる。
【００７６】
図２１は、本発明の第３の実施形態を示し、計算機システムの構成を示すブロック図である。第３の実施形態の計算機システムは、前記第２実施形態の管理サーバ２０１に実行可能サーバテーブル１２１を加え、第１及び第２の実施形態に変更を加えたタスク実行テーブル１０７Ａに置き換えたもので、その他の構成については前記第２実施形態と同様である。
【００７７】
図１２は、タスク実行テーブル１０７Ａの一例を示す説明図である。タスク実行テーブル１０７Ａは、前記第１及び第２実施形態の図５に示したタスク実行テーブル１０７に、タスクを実行する物理サーバ１１１の識別子を格納する実行場所１２０１を加えたものである。その他の構成は、前記第１及び第２実施形態の図５に示したタスク実行テーブル１０７と同一である。
【００７８】
図１１は、実行可能サーバテーブル１２１の一例を示す説明図である。実行可能サーバテーブル１２１は、タスク実行テーブル１０７Ａが示す各タスクと、各タスクが対象とする業務と、そのタスクを実行できる物理サーバ１１１の関係を示す。
【００７９】
カラム１１０１はタスクの内容を示す識別子である。この識別子には、タスク実行テーブル１０７Ａのカラム５０１のタスク識別子と関連付けられるものを使用する。
【００８０】
カラム１１０２は、カラム１１０１の実行対象を示す識別子である。この識別子には、タスク実行テーブル１０７Ａのカラム５０２に格納された対象となる業務３２０の識別子と関連付けられるものを使用する。
【００８１】
カラム１１０３は、タスク実行テーブル１０７Ａのカラム５０１のタスクを実行できる物理サーバの識別子を格納する。カラム１１０３は、サブカラムとしてカラム１１０４、カラム１１０５を備える。カラム１１０４、カラム１１０５は、物理サーバ１１１を識別する識別子毎に設定される。本実施形態では、カラム１１０３は、２つのサブカラムを持つこととして説明するが、計算機システム上に存在する１つ以上の物理サーバ１１１の数だけサブカラムを持っても良い。図１１の例では、カラム１１０４は、物理サーバＡに関して、カラム１１０１のタスク識別子毎に、カラム１１０２の対象業務に関するタスクが実行可能であれば「○」が設定され、タスクが実行不能であれば「−」が設定される。同様に、カラム１１０５は、物理サーバＢで実行可能なタスク（１１０１）と業務（１１０２）の組み合わせには「○」が設定され、タスクと業務の組み合わせが実行不能であれば「−」が設定される。
【００８２】
カラム１１０４、カラム１１０５の値は、管理サーバ２０１が、サーバ管理部１０５及び仮想サーバ管理部３１０から収集した構成情報より決定することができる。例えば、バックアップタスクの場合、そのバックアップがネットワークを介したファイル転送で行われる場合、カラム１１０２の対象業務の物理サーバ１１１がネットワーク２０７Ａに接続されていれば、タスクは実行可能と判定し、ネットワーク２０７Ａに接続されていなければ実行不能と判定し、実行可能サーバテーブル１２１を設定することができる。
【００８３】
図１１の実行可能サーバテーブル１２１のタスク識別子（１１０１）と対象業務３２０（１１０２）の関係は、管理サーバ２０１を利用する管理者が設定することができる。
【００８４】
図１７は、本実施形態におけるタスク制御部１０３の処理フローチャートの例を示す。図１７は、前記第２実施形態の図１６に示したタスク制御部１０３のステップ１６０３、１６０５を、ステップ１７０３〜１７０５に変更した処理である。図１７が図１６と異なる箇所は、ステップ１７０３、ステップ１７０５であり、その他の処理は、前記第２実施形態と同様である。
【００８５】
タスク制御部１３０は、ステップ１５０１、１５０２を前記第１実施形態と同様に行って未実行のタスクを選択する。そして、タスク制御部１０３は、ステップ１７０３において、ステップ１５０１で選択したタスクが物理サーバ１１１上で実行可能な時間帯があるか否かを判定する。ここで、タスク制御部１０３は、実行可能サーバテーブル１２１を参照し、選択したタスクを実行可能な物理サーバ１１１の識別子を取得する。ここで、タスク制御部１０３は、実行可能サーバ１１０３を図１１の”○”で示されているサーバ識別子を取得して、前記第２実施形態と同様に資源利用状況テーブル１１９Ａを参照し、選択したタスクを実行可能な時間帯を検索する。すなわち、資源利用状況テーブル１１９Ａにおいて、取得したサーバ識別子の開始時刻９０１と終了時刻９０２の時間帯で、ステップ１５０２で選択したタスクの開始時刻５０３と終了時刻５０４を含む時間帯を抽出する。
【００８６】
そして、タスク制御部１０３は、前記第２実施形態のステップ１６０４と同様にして、抽出した時間帯で、タスクの実行に必要な物理資源を満たす資源利用状況６０２の時間帯が存在するか否かを判定する。
【００８７】
タスク制御部１０３は、タスクの実行に必要な物理資源を満たす資源利用状況６０２の時間帯が存在する場合には、ステップ１６０４にて選択した資源利用状況テーブル１１９Ａの該当レコードで物理資源を満たす時間帯の物理サーバ１１１の識別子を、タスク実行テーブル１０７Ａの実行場所１２０１に格納する。そして、タスク制御部１０３は、前記第２実施形態と同様にして、選択したタスクのエントリの開始時刻に利用状況テーブル１１９Ａで選択したレコードの開始時刻９０１でタスク実行テーブル１０７Ａの開始時刻５０３を更新する。
【００８８】
タスク制御部１０３は、定期的にタスク実行テーブル１０７を監視し、時刻が実行開始時刻５０３以降となったタスクを、実行場所１２０１の物理サーバ１１１上の仮想サーバ１０９で実行するように指令するので、上記ステップ１７０５で開始時間５０３を変更され、実行場所１２０１が設定されたタスクを、物理資源に余裕のある時間帯のうち、最も開始時刻９０１が早い物理サーバ１１１で前もって実行することができる。
【００８９】
本実施形態に拠れば、タスク制御部１０３は、実行可能な物理サーバが複数存在する場合にて、定期業務３２０に対するタスクの実行を物理資源に余裕のある時間帯の物理サーバ１１１に予約させることで、事前に実行可能なタスクを増加させることができる。
【００９０】
なお、上記第３実施形態では、複数の物理サーバ１１１毎に複数の時間帯毎を設定した例を示したが、前記第１実施形態と同様に、現在時刻で物理資源に余裕のある物理サーバ１１１を選択してタスクを実行させてもよい。
【００９１】
＜第４実施形態＞
前記第３の実施形態では、実行可能な物理サーバ１１１が複数存在する場合における処理制御方法について述べた。本第４実施形態では、タスクの実施パターンが複数存在する場合における処理制御方法について述べる。例えば、タスクがバックアップの場合、仮想サーバ１０９のエージェントソフトウェアと連携したファイルシステムレベルでのバックアップや、仮想化ソフトウェア（サーバ仮想化機構１１０）のスナップショット機能と連携した仮想サーバレベルでのバックアップ、ディスクアレイ装置１１６（ストレージ装置）のボリュームコピー機能と連携した論理ボリュームレベルでのバックアップ、などがある。これらのバックアップタスクの実現方法は、実行時間や、適用範囲、アプリケーションの整合性、必要とする物理資源といった点で違いがある。
【００９２】
例えば、ファイルシステムレベルでのバックアップは、アプリケーションの整合性は最も高いが、業務３２０への性能の影響が発生する。論理ボリュームレベルでのバックアップは、ストレージ装置にてバックアップ処理を実行できるため業務３２０への影響は少ないが、業務３２０の稼働中にバックアップできない可能性がある。
【００９３】
本第４実施形態では、図２２で示すように、新たに、タスク充足テーブル１２０を用いる。図２２は、本発明の第４の実施形態を示し、計算機システムの構成を示すブロック図である。第４の実施形態の計算機システムは、前記第３実施形態の管理サーバ２０１にタスク充足テーブル１２０を加え、前記第１の実施形態の実行パターンテーブル１０８に変更を加えた実行パターンテーブル１０８Ａと、前記第３実施形態のタスク実行テーブル１０７Ａに変更を加えたタスク実行テーブル１０７Ｂを備えたもので、その他の構成については前記第３実施形態と同様である。
【００９４】
図１３は、タスク充足テーブル１２０の例を示す。タスク充足テーブル（タスク情報テーブル）１２０は、各タスクの実行がカバーできる業務３２０の対象範囲を示す情報を持つ。タスク充足テーブル１２０は、タスク識別子５０１の分だけ用意される。図１３は、バックアップに関するタスク充足テーブルとして説明する。カラム１３０１は、タスクの具体的（詳細）な実行パターンを示す内容である。図示の例では、「ファイルシステムのバックアップ」が、仮想サーバ１０９のエージェントソフトウェアと連携したファイルシステムレベルでのバックアップを示し、「論理ボリュームのコピー」がディスクアレイ装置１１６（ストレージ装置）のボリュームコピー機能を用いた論理ボリュームレベルでのバックアップを示し、「スナップショット」作成が、サーバ仮想化機構１１０のスナップショット機能を用いた仮想サーバ１０９レベルでのバックアップを示す。
【００９５】
カラム１３０２は、カラム１３０１のタスクの実行パターンの実行対象となる業務３２０を示す識別子である。この識別子には、図１２のタスク実行テーブル１０７Ａのカラム５０２（対象業務）と関連付けられるものを使用する。カラム１３０６は、カラム１３０１で示された実行パターンの優先度を示す。カラム１３０６の値は、実行パターンの特徴に応じて管理者が設定する。例えば、ファイルシステムのバックアップは、アプリケーション整合性の面で、論理ボリュームのコピーより優れているため、優先度が高い。なお、図１３の適用範囲２００１は、後述の第５実施形態で用いるので、ここでは説明を省略する。
【００９６】
図１４はタスク実行テーブル１０７Ｂの一例を示す説明図である。タスク実行テーブル１０７Ｂは、図１２に示したタスク実行テーブル１０７Ａにタスクの詳細な内容を示す実行パターン１４０１を加えたもので、その他の構成は前記第３実施形態のタスク実行テーブル１０７Ａと同様である。
【００９７】
図１８は実行パターンテーブル１０８Ａの一例を示す説明図である。図示の例は、バックアップに関する実行パターンテーブル１０８Ａの例を示す。
【００９８】
実行パターンテーブル１０８Ａは、前記第１実施形態の図７に示した実行パターンテーブル１０８に、パターン１８０１のカラムを追加したもので、その他の構成は前記第１実施形態と同様である。パターン１８０１はタスク識別子７０１で識別されるタスクの実施パターンが格納される。図示の例では、「ファイルシステムのバックアップ」が、仮想サーバ１０９のエージェントソフトウェアと連携したファイルシステムレベルでのバックアップを示し、「論理ボリュームのコピー」がディスクアレイ装置１１６（ストレージ装置）のボリュームコピー機能を用いた論理ボリュームレベルでのバックアップを示し、「スナップショット」作成が、サーバ仮想化機構１１０のスナップショット機能を用いた仮想サーバ１０９レベルでのバックアップを示す。
【００９９】
図１９は、本第４実施形態におけるタスク制御部１０３の処理フローチャートの例を示す。図１９のフローチャートは、前記第３実施形態の図１７に示したステップ１７０３、ステップ１７０５を、ステップ１９０３とステップ１９０５に置き換えたもので、その他の処理は前記第３実施形態と同様である。
【０１００】
タスク制御部１３０は、ステップ１９０３において、ステップ１５０１、１５０２で選択した未実行のタスクが物理サーバ１１１上で実行可能な時間帯が有るか否かを判定する。ここでタスク制御部１３０は、図１７のステップ１７０３の内容に加えて、タスク充足テーブル１２０を参照する。ここで参照するタスク充足テーブル１２０は、タスク実行テーブル１０７Ｂのカラム５０１が示すタスク識別子（ここでは、バックアップ）に該当するものである。タスク制御部１３０は、本処理にて一度も選択されていないもので、最もカラム１３０６の優先度が高いパターン１３０１を選択する。選択したパターン１３０１に対し、タスク制御部１３０は、実行パターンテーブル１０８Ａのパターン１８０１（図１８）のレコードで、選択したパターン１３０１の実行に必要な物理資源量７０２を取得する。
【０１０１】
そして、タスク制御部１３０は、必要な物理資源量７０２が、物理サーバ１１１上で確保できる時間帯があるか否かを前記第２実施形態と同様に判定する。物理資源量７０２を確保できる時間帯が無い場合は、選択したパターン１３０１は実行できないものとし、次に優先度の高いカラム１３０６に対応するパターン１３０１を選択する（ステップ１９０３）。この処理は、優先度が高い順から低い順に行い、物理資源量７０２を確保できる時間帯が無い場合は本処理を終了することができる。
【０１０２】
タスク制御部１３０は、前記第２実施形態と同様にしてステップ１６０４にて選択した資源利用状況テーブル１１９Ａの該当レコード（タスクの実行に必要な物理資源を満たす資源利用状況６０２の時間帯が存在する）の開始時刻９０１とサーバ識別子６０１を取得し、タスク充足テーブル１２０で選択したパターン１３０１からタスク実行テーブル１０７Ｂを更新する。
【０１０３】
この更新は、タスク制御部１０３が、タスク実行テーブル１０７Ｂのタスク識別子５０１と対象業務５０２に、ステップ１５０１、１５０２で選択したタスク識別子と業務３２０を格納し、資源利用状況テーブル１１９Ａの該当レコードの開始時刻９０１をタスク実行テーブル１０７Ｂの開始時刻５０３に格納し、資源利用状況テーブル１１９Ａのサーバ識別子６０１を、タスク実行テーブル１０７Ｂの実行場所１２０１に格納し、タスク充足テーブル１２０で選択したパターン１３０１をタスク実行テーブル１０７Ｂのパターン１４０１に格納し、ステータス５０５を「未実行」に設定する（ステップ１９０５）。
【０１０４】
タスク制御部１０３は、定期的にタスク実行テーブル１０７を監視し、時刻が実行開始時刻５０３以降となったタスクを、実行場所１２０１の物理サーバ１１１上の仮想サーバ１０９でパターン１３０１の処理を実行するように指令するので、上記ステップ１９０５で開始時刻５０３を変更され、実行場所１２０１が設定されたパターン１４０１のタスクを、物理資源に余裕のある時間帯の物理サーバ１１１で前もって実行することができる。
【０１０５】
本実施形態に拠れば、タスク制御部１０３は、タスク充足テーブル１２０の実施パターンの優先度が高いタスクの実行パターンを選択し、本来の開始時刻よりも前に実行可能なタスクを増加させることができる。
【０１０６】
＜第５実施形態＞
前記実施形態４では、タスクの実施パターンが複数存在する場合における処理制御方法について述べた。しかし、仮想サーバ１０９のマイグレーションなど、システム構成が動的に変化する環境においては、第４実施形態で決定した優先度は適切でない可能性がある。
【０１０７】
本第５実施形態では、各実施パターンの優先度を動的に決定するための情報として、タスクの実行時間に影響するタスクの各実施パターンの適用範囲を用いた処理制御方法について述べる。なお、第５の実施形態は、図２２に示した前記第４実施形態と同様の構成を用いる。
【０１０８】
タスクの複数の実施パターンの適用範囲は、例えば、ファイルシステムレベル、仮想サーバレベルでのバックアップは、仮想サーバ１０９の数だけバックアップを行う必要があるが、論理ボリュームレベルでのバックアップは、ボリュームを共有する複数の仮想サーバ１０９を一度にバックアップできる。
【０１０９】
本第５実施形態では、図１３に示したタスク充足テーブル１２０に、新たにカラム２００１の適用範囲を追加する。カラム２００１は、タスク制御部１３０が、数値計算などによって、カラム１３０６の優先度を決定または更新するために用いる。本第５実施形態では、カラム２００１の適用範囲は、パターン１３０１が示すタスクの詳細なパターンの適用範囲となる業務３２０を示す。カラム２００１は適用範囲のサブカラムとしてカラム２００２、カラム２００３を有する。カラム２００２、カラム２００３は、業務を識別する識別子毎に生成され、パターン１３０１のタスクを実行か否かを示す情報が格納される。なお、カラム２００２、カラム２００３の識別子には、タスク実行テーブル１０７Ｂのカラム５０２と関連付けられる識別子を使用する。
【０１１０】
図１３の例では、カラム２００２が「業務Ａ」を示し、カラム２００３が「業務Ｂ」を示す。パターン１３０１のタスクを実行か否かを示す情報としては「○」または「−」が設定される。これらの値は管理者が設定する。この情報は、パターン１３０１が実行可能であれば「○」が設定され、実行不能であれば「−」が設定される。
【０１１１】
図示の例では、パターン１３０１が「ファイルシステムのバックアップ」では、対象業務１３０２が「業務Ａ」のとき、適用範囲は業務Ａのカラム２００２のみが実行可能であることを示す。一方、パターン１３０１が「論理ボリュームのコピー」では、対象業務１３０２が「業務Ａ」のとき、適用範囲は業務Ａのカラム２００２と２００３の双方の業務Ａ、業務Ｂでタスクの実行パターン１３０１が行われることを示す。なお、この例では、業務Ａと業務Ｂがディスクアレイ装置１１６の同一の論理ボリュームを使用する場合である。論理ボリュームのコピーでは、同一の論理ボリューム上のブロック単位でコピーが行われるため、業務ごとのファイルシステム等にかかわらずコピーが実行される。このため同一の論理ボリューム上に業務Ａのデータと、業務Ｂのデータが格納されていれば、一方の業務について論理ボリュームのコピーを行えば、他方の業務Ｂのデータもコピーされることになる。
【０１１２】
カラム１３０１のパターンに格納される各値は、サーバ管理部１０５が、資源管理部１０２、業務管理部１０４から取得した情報を元に設定する。本第５実施形態では、カラム２００１は、２つのサブカラムを持つこととして説明するが、システム上に存在する１つ以上の業務の数だけサブカラムを持っても良い。
【０１１３】
タスク制御部１３０は、図１９に示したステップ１９０３の処理として、カラム２００１の値よりカラム１３０６の優先度の決定または更新を行う。この決定または更新方法として、例えば、カラム２００１の適用範囲とカラム１３０６の優先度を数値化し、さらに重み付けを行い、数値計算を行う方法が挙げられるが、別の計算方法を用いても良い。例えば、カラム２００２、２００３のパターン１３０１を実行か否かを示す情報が「○」のとき「１」、「−」のとき「０」とし、さらにカラム１３０６の優先度が「高」、「中」、「低」の順に「３」、「２」、「１」とし、パターン１３０１と対象業務１３０２のレコード単位でカラム２００１と１３０６の和を求め、この和の大きい順に優先度を再設定するなどの数値計算を行うことができる。
【０１１４】
本第５実施形態によれば、タスク制御部１３０は、システム構成が動的に変化する状況にて、複数のタスク実施パターンの間で発生する優先度を決定することができる。
【０１１５】
なお、上記第１〜第５の実施形態では、業務３２０を仮想サーバ１０９上で実行する例について述べたが、物理サーバ１１１上で業務３２０とタスクを実行する計算器システムに本発明を適用することができる。
【産業上の利用可能性】
【０１１６】
以上のように、本発明は仮想サーバ上で業務を提供し、業務ごとにバックアップやバッチ処理などのタスクを実行する仮想計算機システムに適用することができる。
【符号の説明】
【０１１７】
１０３  タスク制御部
１０７  タスク実行テーブル
１０８  実行パターンテーブル
１０９  仮想サーバ
１１０  サーバ仮想機構
１１１  物理サーバ
１１８  業務テーブル
１１９  資源利用状況テーブル
１１６  ディスクアレイ装置
２０１  管理サーバ
２０７Ａ  ネットワーク
【図１】
2012094030.tif 000003
【図２】
2012094030.tif 000004
【図３】
2012094030.tif 000005
【図４】
2012094030.tif 000006
【図５】
2012094030.tif 000007
【図６】
2012094030.tif 000008
【図７】
2012094030.tif 000009
【図８】
2012094030.tif 000010
【図９】
2012094030.tif 000011
【図１０】
2012094030.tif 000012
【図１１】
2012094030.tif 000013
【図１２】
2012094030.tif 000014
【図１３】
2012094030.tif 000015
【図１４】
2012094030.tif 000016
【図１５】
2012094030.tif 000017
【図１６】
2012094030.tif 000018
【図１７】
2012094030.tif 000019
【図１８】
2012094030.tif 000020
【図１９】
2012094030.tif 000021
【図２０】
2012094030.tif 000022
【図２１】
2012094030.tif 000023
【図２２】
2012094030.tif 000024