(57)【特許請求の範囲】
【請求項１】
ある計算機上で仮想マシンを稼働させて業務を実行するのに必要なリソースの割当てを行うリソース制御方法であって、
前記計算機は、
業務と前記業務の優先度と前記業務を構成する少なくとも１つ以上のジョブとの対応関係を記憶し、
前記業務と前記業務を実行する業務空間との対応関係を記憶し、
前記計算機で実行中のジョブの状態を示すジョブ実行情報を取得し、
取得した前記ジョブ実行情報と、実行中の前記ジョブが所属する前記業務空間と、実行中の前記ジョブが所属する前記業務の優先度との対応関係から、実行中の前記ジョブが所属する前記業務空間に割当てるリソース量を算出し、
前記算出したリソース量から、前記業務空間で実行中の前記ジョブが稼働する仮想マシンに対して割当てるべきリソース量を算出することを特徴とするリソース制御方法。
【請求項２】
前記業務の優先度は、前記計算機の有するリソースの配分量で表すことを特徴とする、
請求項１に記載のリソース制御方法。
【請求項３】
前記計算機は、更に、
実行すべきジョブを稼働するための仮想マシンを複製によって生成し、前記仮想マシンに対するリソース量を算出して実行することを特徴とする、
請求項２に記載のリソース制御方法。
【請求項４】
ある計算機上で仮想マシンを稼働させて業務を実行するのに必要なリソースの割当てを行うリソース制御システムであって、
前記計算機は、
業務と前記業務の優先度と前記業務を構成する少なくとも１つ以上のジョブとの対応関係を記憶する業務管理記憶部と、
前記業務と前記業務が実行する業務空間との対応関係を記憶する業務空間記憶部と、
前記計算機上で実行中のジョブの状態を示すジョブ実行情報を取得するジョブ実行情報取得部と、
前記ジョブ実行情報取得部で取得した前記ジョブ実行情報と、実行中の前記ジョブが所属する前記業務空間と、実行中の前記ジョブが所属する前記業務の優先度とを、前記業務管理記憶部と前記業務空間記憶部で記憶された対応関係から参照して、実行中の前記ジョブが所属する前記業務空間に割当てるリソース量を算出する業務空間リソース割当部と、
前記業務空間リソース割当部で算出したリソース量から、前記業務空間で実行中の前記ジョブが稼働する仮想マシンに対して割当てるべきリソース量を算出する仮想マシンリソース割当部と、
を有することを特徴とするリソース制御システム。
【請求項５】
前記業務管理記憶部で記憶されている前記業務の前記優先度は、前記計算機の有するリソースの配分量で表すことを特徴とする、
請求項４に記載のリソース制御システム。
【請求項６】
前記仮想マシンリソース割当部は、
更にジョブを稼働させるのに必要な仮想マシンを複製よって生成し、算出した前記仮想マシンに対するリソース量を算出して実行することを更に有することを特徴とする、
請求項５に記載のリソース制御システム。
【請求項７】
複数の計算機上で仮想マシンを稼働させて業務を実行するのに必要なリソースの割当てを行う制御装置におけるリソース制御方法であって、
前記制御装置は、
業務を実行する計算機の保有するリソース量を記憶し、
業務と前記業務に割当てるリソース量と最小多重度、最大多重度および前記業務を構成する少なくとも１つ以上のジョブとの対応関係を記憶し、
前記業務と前記業務を実行する少なくとも１つ以上の業務空間との対応関係を記憶し、
前記業務空間と前記業務空間を実行する前記計算機との対応関係を記憶し、
前記業務と前記業務を実行する業務空間との対応関係と、前記業務と前記業務に割当てるリソース量との対応関係から、前記業務空間に割当てるリソース量を算出し、
算出された前記業務空間に割当てるリソース量と、前記業務空間と前記業務空間を実行する前記計算機との対応関係から、前記計算機で必要なリソース量を算出し、
算出された前記計算機で必要なリソース量と、前記計算機の保有するリソース量との対応関係から、前記計算機で割当て可能なリソース量を算出し、
算出された前記計算機で割当て可能なリソース量から、前記業務を実行する業務空間を追加するべき計算機を算出することを特徴とするリソース制御方法。
【請求項８】
前記業務空間の前記計算機への割当ては、更に、
前記計算機の保有するリソース量と、前記業務空間に割当てるリソース量との対応関係から、前記計算機での優先度を算出し、
前記計算機でリソース制御をおこなうことを特徴とする、
請求項７に記載のリソース制御方法。
【請求項９】
前記制御装置は、更に、
前記計算機で実行中のジョブの状態を示すジョブ実行情報を取得し、
取得した前記ジョブ実行情報と、実行中の前記ジョブが所属する前記業務空間との対応関係から、新たに前記業務のジョブを実行するべき業務空間を算出し、
算出された業務空間から、前記業務のジョブを実行するべき計算機を算出することを特徴とする、
請求項７に記載のリソース制御方法。
【請求項１０】
複数の計算機上で仮想マシンを稼働させて業務を実行するのに必要なリソースの割当てを行う制御装置におけるリソース制御システムであって、
前記制御装置は、
前記複数の計算機の各々が保有する保有リソース量を記憶する計算機リソース管理記憶部と、
業務と前記業務に割当てる必要リソース量と前記業務の多重度および前記業務を構成する少なくとも１つ以上のジョブとの対応関係を記憶する業務管理記憶部と、
前記業務と前記業務を実行する少なくとも１つ以上の業務空間との対応関係を記憶する業務空間記憶部と、
前記業務空間と前記業務空間を実行する前記計算機との対応関係を記憶する実行計算機記憶部と、
前記業務と前記業務を実行する業務空間との対応関係を業務空間記憶部から参照し、前記業務と前記業務に割当てるリソース必要量との対応関係を業務管理記憶部から参照し、
前記業務空間に割当てるリソース割当量を算出する業務空間リソース割当部と、
前記リソース割当量と、前記業務空間と前記業務空間を実行する前記計算機との対応関係を実行計算機記憶部から参照し、前記計算機で必要なリソース必要量を算出し、
前記リソース必要量と、前記計算機の保有する前記保有リソース量との対応関係を計算機リソース管理記憶部から参照し、前記計算機で割当て可能な割当可能リソース量を算出する計算機リソース管理部と、
前記割当可能リソース量から、前記業務を実行する業務空間を追加するべき計算機を前記複数の計算機から特定する実行計算機割当部とを有することを特徴とするリソース制御システム。
【請求項１１】
前記実行計算機割当部は、更に、
前記計算機の保有する前記保有リソース量を前記計算機リソース管理記憶部から取得し、前記業務空間リソース割当部で算出した前記リソース割当量との対応関係から、前記複数の計算機毎の優先度を算出することを特徴とする、
請求項１０に記載のリソース制御システム。
【請求項１２】
前記制御システムは、更に、
前記計算機で実行中のジョブの状態を示すジョブ実行情報を取得するジョブ実行情報取得部と、
前記ジョブ実行情報取得部で取得した前記ジョブ実行情報と、実行中の前記ジョブが所属する前記業務空間との対応関係を記憶するジョブ実行状況管理記憶部と、
前記ジョブ実行状況管理記憶部から参照したジョブの実行状況から、新たに前記業務のジョブを実行するべき業務空間を算出する実行業務空間検索部と、
算出された業務空間から、前記業務のジョブを実行するべき計算機を前記複数の計算機から特定する実行計算機検索部とを有することを特徴とする、
請求項１０に記載のリソース制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化システム環境における仮想マシンへのリソース割り当て方法の技術に関しする。
【背景技術】
【０００２】
業務アプリケーションが動作している複数のマシンを仮想化し、１台の物理的なマシンに集約することで、ITにかかるコストを削減する取り組みが活発におこなわれている。例えば、ある業務が物理的に３台のマシンで構成されたシステムで稼働する場合、当該業務を１台の物理マシン上に３台の仮想マシンを構築して稼働させることで、ITにかかるコストを従来の３分の１に削減することができる。
【０００３】
ここで、物理的なマシン１台あたりの仮想マシンの数（集約度）は、削減できるコストに直結するので、集約度を更に大きくするためには、各仮想マシンが必要とする「平均」リソース量の総和が、物理的なマシンが有するリソース量と等しくなる程度に物理的なマシン上に仮想マシンを配置することが多い。こうすることで、リソースの限られた物理的なマシン上に更に多くの仮想マシンを配置することが可能となる。そのため、逆に業務アプリケーションを稼働する各仮想マシンが必要とする「最大」リソース量の総和は、物理的なマシンが有するリソース量よりも大きくなるのが一般的である。
【０００４】
仮想マシンの必要とする最大リソース量の総和が、物理的なマシンの持つリソース量を越えるような場合、各仮想マシンに割り当てるリソースの量を適宜かつ適切に決定する必要がある。
【０００５】
従来の技術では、特許文献１に示すように、各仮想マシンに対して、あらかじめ決められた比率あるいは固定値にしたがって、各仮想マシンに割り当てるリソースの量を決定する。さらに、ある仮想マシンにおいて余剰リソースがある場合には、余剰リソースを回収したうえで、不足している仮想マシンに余剰リソースの再割り当てをおこなう。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３０９６４４  リソース制御方法及びそのシステム
【発明の概要】
【発明が解決しようとする課題】
【０００７】
すでに運用している業務システムを仮想化集約する場合、ひとつの仮想マシンで複数の業務アプリケーションが動作する場合や、さらにひとつの業務が複数の仮想マシンにまたがって実行される場合がある。このような場合、ある業務で使用可能なリソースは、同一仮想マシン上で実行される他の業務により影響を受ける可能性がある。しかし、従来技術では、リソースの割当が仮想マシンを単位として行われているため、他の業務により影響を受ける場合の考慮がなされていない。従来技術での仮想マシン単位でのリソース割り当てでは、このような同一仮想マシン上で実行される業務の影響を考慮した業務視点でリソースの割り当てをおこなうことができない。
【０００８】
本発明では、このように、ひとつのマシンで複数の業務が実行される場合や、さらにひとつの業務が複数のマシンにまたがって実行される場合に、業務視点でリソースの割り当てを可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、物理的なマシンの中の仮想空間内に、業務を実行するための空間として「業務空間」を定義し、業務空間に対してリソースの割り当てをおこなう。
前述の業務空間内に、当該業務の実行に必要な仮想マシンの複製を配置し、業務空間に割り当てられたリソースを用いてこれらの仮想マシンを動作させる。業務空間に配置された仮想マシンには、当該業務のみを実行させることにより、各業務を実行するマシンを業務空間内に集約し、各業務に対して一定のリソースを割り当てることができる。
【００１０】
このとき、各業務空間に割り当てた業務を構成するジョブの実行状況から、業務空間および業務空間内に配置した仮想マシンに対するリソース割り当てを制御する。実際のリソース使用状況ではなく、ジョブの実行状況を利用することで、業務に対して必要なリソース量を正しく把握し、適切なリソースの割り当てをおこなうことができる。
【発明の効果】
【００１１】
本発明によれば、仮想化システムにおいて、ひとつの仮想マシンで複数の業務が実行される場合や、さらにひとつの業務が複数の仮想マシンにまたがって実行される場合に、業務視点でリソースの割り当てをおこなうことができる。
【図面の簡単な説明】
【００１２】
【図１】実施例１での全体構成を示した説明図
【図２】実施例１の業務空間の詳細を示した説明図
【図３】実施例１の記憶部の詳細を示した説明図
【図４】実施例1におけるジョブの概念図
【図５】実施例1におけるジョブ管理テーブル
【図６】実施例1における業務別リソース割当管理テーブル
【図７】実施例1における業務空間管理テーブル
【図８】実施例1における業務空間リソース割当管理テーブル
【図９】実施例1におけるジョブ実行状況管理テーブル
【図１０】実施例1における業務空間割り当ての流れを示したフローチャート
【図１１】実施例1におけるジョブ実行の流れを示したフローチャート
【図１２】実施例1におけるリソース割り当ての流れを示したフローチャート
【図１３】実施例1における業務空間への割り当てを示した概念図
【図１４】実施例1におけるリソース割り当て管理テーブル
【図１５】実施例1におけるジョブ実行状況およびリソース割り当て状況を表示する画面
【図１６】実施例２における全体構成を示した説明図
【図１７】実施例２における管理マネージャの詳細を示した説明図
【図１８】実施例２における管理マネージャの記憶部の詳細を示した説明図
【図１９】実施例２における管理マネージャ用ジョブ管理テーブル
【図２０】実施例２における管理マネージャ用業務別リソース割当管理テーブル
【図２１】実施例２における管理マネージャ用業務空間管理テーブル
【図２２】実施例２における管理マネージャ用業務空間リソース割当管理テーブル
【図２３】実施例２における管理マネージャ用ジョブ実行状況管理テーブル
【図２４】実施例２における管理マネージャ用マシンリソース管理テーブル
【図２５】実施例２において各業務に業務空間を割り当て、各実行マシンに業務空間を割り当てる流れの概要を示したフローチャート
【図２６】実施例２において各業務に業務空間を割り当てる流れを示したフローチャート
【図２７】実施例２において各実行マシンに業務空間を割り当てる流れを示したフローチャート
【図２８】実施例２において各実行マシンに対して業務空間の割り当て（更新）をおこなう流れを示したフローチャート
【図２９】実施例２においてジョブを実行する際の流れを示したフローチャート
【図３０】実施例２において業務空間にジョブを投入する際の流れを示したフローチャート
【図３１】実施例２において業務空間の移動をおこなう流れを示したフローチャート
【図３２】実施例２において業務空間の削除をおこなう流れを示したフローチャート
【発明を実施するための形態】
【実施例１】
【００１３】
以下、本発明におけるシステムの実施例について、図面を用いて説明する。
【００１４】
まず、以下で使用する用語について説明する。
ジョブとは、業務やサービスを構成する手順のひとつであり、業務アプリケーションやコマンド、スクリプトの実行などが該当する。ジョブの実行内容を定義したものをジョブ定義といい、ジョブ定義を識別するための識別子をジョブＩＤという。
【００１５】
業務とは、複数のジョブの集合であり、ジョブを実行する契機や、あるジョブの実行後に継続して実行するジョブを定義することにより、一連の手順を実行することができる。この一連の手順の定義を業務定義といい、業務定義を識別するための識別子を業務ＩＤという。
【００１６】
仮想マシンとは、仮想化技術により物理的なマシンの中で動作する論理的なマシンであり、独立したＯＳを持ち、物理的なマシンと同様に動作する。仮想マシンの動作に必要なリソースは、物理的なマシンのリソースを、該物理的なマシンの中で動作する複数の仮想マシンで共有し、各仮想マシンには仮想的なリソースとして割り当てて使用される。このとき、物理的なマシンのリソースをどの仮想マシンにどれだけ割り当てるかを決めることができる。複数の仮想マシンで共有するリソースとして、ＣＰＵやメモリがあげられる。
【００１７】
また、仮想マシンの複製は、仮想マシンを構成する論理ボリュームを複製することにより容易に作成することができる。
【００１８】
本実施例では、各業務に対して割り当て量の調整をおこなうリソースを、ＣＰＵとメモリとし、それぞれ割り当ての比率が同じである場合について説明する。管理対象のリソースを減らすこと、これ以外のリソースについて管理対象として加えること、また業務への割り当て比をリソースごとに決定することも本発明の考え方において可能である。
【００１９】
また、本実施例では、複数の物理的なマシンに対して本発明を適用する場合に、各実行マシン上でのジョブの実行状況に応じた業務空間および業務空間上で実行される仮想マシンへのリソースの割り当てについては、各実行マシンで制御する方法を説明する。これらの制御を管理マネージャにおいて一括でおこなうことも、本発明の考え方において可能である。
【００２０】
図１は、本発明の実施例１の全体構成を示した説明図である。物理コンピュータ１００に仮想化システムを構成した例を示している。
物理コンピュータ１００は、ディスクインタフェース１１０、通信インタフェース１１１、ＣＰＵ１１２、メモリ１１３、表示インタフェース１１４を備える。また、ディスクインタフェース１１０を通して記憶部１０１と、通信インタフェース１１１を通してネットワーク１０２と、表示インタフェース１１４を通して表示装置１０３と接続している。メモリ１１３には、ＯＳ１２０、ジョブ管理部１２１、業務空間管理部１２２、仮想化部１２３がロードされ、後述する業務空間１２４、１２５が確保される。業務空間には、ひとつまたは複数の仮想マシンが割り当てられる。業務空間の詳細については図２、記憶部の詳細については図３で説明する。
【００２１】
ジョブ管理部１２１は、図３に示すジョブ管理テーブル３００、業務別リソース割当管理テーブル３０１の情報をもとに、業務ごとに業務空間を割り当て、割り当てた業務空間で仮想マシンを稼働させて、当該仮想マシンでジョブを実行し、これらの実行状況を管理する処理部である。これらの処理の詳細については、図１０、図１１に示している。
【００２２】
業務空間管理部１２２は、図３に示す業務空間管理テーブル３０２、業務空間リソース割当管理テーブル３０３、ジョブ実行状況管理テーブル３０４の情報をもとに、業務空間、仮想マシンごとのリソースの割り当て管理をおこなう処理部である。この処理の詳細については、図１２に示している。
【００２３】
図２は、業務空間の詳細な構成を示した説明図である。説明を簡単にするため、仮想マシンは１台としている。
業務空間１２４は、業務空間で使用するリソースである論理ＣＰＵ２００、論理メモリ２０１を備え、ひとつまたは複数の仮想マシン１３０と、ひとつまたは複数の仮想ディスク１３１が割り当てられる。
【００２４】
仮想マシン１３０は、記憶部１０１に論理ボリュームとして記録されており、必要に応じてメモリ中にロードすることで仮想マシンとして動作する。仮想マシン１３０は、論理ディスクインタフェース２１０、論理通信インタフェース２１１、論理ＣＰＵ２１２、論理メモリ２１３、論理表示インタフェース２１４を備える。また、論理ディスクインタフェース２１０を通して仮想ディスク１３１と接続している。論理メモリ２１３には、ＯＳ２２０、ジョブ実行部２２１、ひとつまたは複数の業務アプリケーション２２２がロードされる。
【００２５】
仮想ディスク１３１は、記憶部１０１に論理ボリュームとして記録されており、仮想マシン１３０の論理ディスクインタフェースを通して読み書きされる内容は、記憶部１０１内の論理ボリュームに反映される。
【００２６】
図３は、記憶部１０１の詳細な構成を示した説明図である。
記憶部１０１には、ジョブ管理テーブル３００、業務別リソース割当管理テーブル３０１、業務空間管理テーブル３０２、業務空間リソース割当管理テーブル３０３、ジョブ実行状況管理テーブル３０４、リソース割り当て管理テーブル３０５が格納される。また、仮想マシンや仮想ディスクの論理ボリュームとして、仮想マシン論理ボリューム３１０、３１２、仮想ディスク論理ボリューム３１１、３１３が格納される。
【００２７】
図４は、本実施例で実行される業務と、業務を構成するジョブおよびその実行ホスト、実行順序を表した概念図である。図中の丸はジョブを、矢印はジョブの実行順序を表す。この情報は、図５に示すジョブ管理テーブル３００の形式で管理される。
【００２８】
本実施例では、業務１（４１０）〜業務４（４４０）が、ホストＡ、ホストＢ、ホストＣの３つのホストで実行される。
業務１（４１０）は、ジョブ１Ａ（４１１）、ジョブ１Ｂ（４１２）、ジョブ１Ｃ（４１３）で構成され、この順序で実行される。同様に、業務２（４２０）は、ジョブ２Ａ１（４２１）、ジョブ２Ａ２（４２２）、ジョブ２Ｃ（４２３）で、業務３は、ジョブ３Ａ１（４３１）、ジョブ３Ａ２（４３２）、ジョブ３Ｃ（４３３）で、業務４（４４０）は、ジョブ４Ｃ（４４１）で構成される。ジョブ１Ａ（４１１）、ジョブ２Ａ１（４２１）、ジョブ２Ａ２（４２２）は、ホストＡ上で実行される。同様に、ジョブ１Ｂ（４１２）、ジョブ３Ｂ１（４３１）、ジョブ３Ｂ２（４３２）は、ホストＢ上で、ジョブ１Ｃ（４１３）、ジョブ２Ｃ（４２３）、ジョブ３Ｃ（４３３）、ジョブ４Ｃ（４４１）は、ホストＣ上で実行される。
【００２９】
図５は、ジョブ管理テーブル３００の詳細を示したものである。
業務を構成するジョブと、ジョブの実行内容を管理するテーブルで、業務ＩＤ５００、ジョブＩＤ５０１、各ジョブが実行するコマンドの内容５０２、ジョブを実行するホスト５０３、そのジョブを実行した後に実行するジョブのジョブＩＤ５０４、そのジョブを実行する前に実行するジョブのジョブＩＤ５０５の情報を持つ。図５は、図４に示す業務の定義が格納された例を示している。
【００３０】
図６は、業務別リソース割当管理テーブル３０１の詳細を示したものである。業務ＩＤごとのリソース割当量を管理するテーブルで、業務ＩＤ６００、リソース割当比率６０１の情報を持つ。リソース割当比率６０１は、即ち業務の優先度を数値化したものにも相当する。またリソース割当比率６０１は、計算機リソース全体を１００％としたときのリソース配分量であるので、業務毎に割当てるべきリソース量そのものを決定している。本実施例では、リソース割当比率６０１、もしくは当該割当比率から算出された具体的なリソース量を業務リソース量と呼ぶ。また業務リソース量は予めユーザの設定画面を通じて変更することも可能である。
【００３１】
図７は、業務空間管理テーブル３０２の詳細を示したものである。業務空間に所属する業務と、業務空間を構成するホストを管理するテーブルで、業務ＩＤ７００、業務空間ＩＤ７０１、構成ホスト７０２の情報を持つ。業務空間管理テーブル３０２は、図１０に示す手順で作成される。
【００３２】
図８は、業務空間リソース割当管理テーブル３０３の詳細を示したものである。業務空間ごとに割り当てる計算機リソースの割当比率を管理するテーブルで、業務空間ＩＤ８００、リソース割当比率８０１の情報を持つ。業務空間リソース割当管理テーブル３０３は、図１０に示す手順で作成される。リソース割当比率は、計算機リソース全体を１００％とした場合の、業務空間毎に割り当てるべきリソース量である。これにより、業務の優先度に応じた業務空間へのリソース割当を行う。本実施例では、リソース割当比率８０１、もしくは当該割当比率から算出された具体的なリソース量を空間リソース量と呼ぶ。
【００３３】
図９は、ジョブ実行状況管理テーブル３０４の詳細を示したものである。
業務空間ごとの実行中のジョブを管理するテーブルで、業務空間ＩＤ９００、ジョブ実行ＩＤ９０１、ジョブＩＤ９０２、実行ホスト９０３の情報を持つ。
ジョブ実行状況管理テーブル３０４は、図１１に示す手順で作成される。
【００３４】
図１０は、ジョブ管理部１２１が、各業務に業務空間を割り当てる流れを示したフローチャートである。割り当て方法の一例を示しているが、割り当て方法はこの限りではない。
【００３５】
ジョブ管理部１２１は、ジョブ管理テーブル３００と業務別リソース割当管理テーブル３０１を参照し、優先度の高い業務から順に業務空間への割り当て処理をおこなう（１０００）。まず、業務を割り当てるための業務空間を新たに定義する（１００１）。定義した業務空間には、管理のために業務空間ＩＤを割り振る。業務空間の割り当てがおこなわれていない業務のうち、もっとも優先度の高い業務を、１００１で定義した業務空間に割り当て、業務空間管理テーブル３０２を更新する（１００２）。業務空間管理テーブル３０２を参照し、業務空間を構成するために必要なマシンを算出する（１００３）。業務空間管理テーブル３０２と、業務別リソース割当管理テーブル３０１を参照し、業務空間に対する優先度を算出し、業務空間リソース割当管理テーブル３０３を更新する（１００４）。定義された業務空間が、以下の数１を満たすか検査する（１００５）。業務空間の構成に必要な仮想マシンの動作に必要なリソースが、業務空間に割り当てられたリソースに対して十分に小さいかを検査することで、業務空間の割り当てを効率的におこなうことができる。式中の「係数」は、リソースや、物理的なマシンの特性によってあらかじめ決定される。
【００３６】
【数１】
0005396339.tif 000002
数１を満たす場合、業務空間への業務の割り当てを確定とし、次の業務空間の定義と業務の割り当てのため、１０００に戻る（１００７）。この場合、１００２で割り当てられた業務が、１００１で定義した業務空間を占有する。数１を満たさない場合、業務空間の割り当てがおこなわれていない業務のうち次に優先度の高い業務を、１００１で定義した業務空間に追加で割り当て、業務空間管理テーブル３０２を更新した後、１００３の手順から繰り返す（１００６）。この場合、１００１で定義した業務空間は、数１を満たすように複数の業務で共有される。以上の処理を、すべての業務について業務空間が割り当てられるまで繰り返す（１００８）。
【００３７】
割り当て処理の完了後、ジョブ管理部１２１は、仮想化部１２３に対して、業務空間と、必要な仮想マシンの複製を作成するよう通知する（１００９）。仮想化部１２３は、業務空間管理テーブルを参照し、記憶部１０１に記録されている仮想マシン論理ボリュームと、仮想ディスク論理ボリュームの複製を作成し、業務空間と、必要な仮想マシンをメモリ中に展開する。
【００３８】
図４に示す業務を、以上の流れにしたがって業務空間に割り当てた例を図１３に示す。
【００３９】
図１１は、ジョブ管理部１２１が、ジョブを実行する流れを示したフローチャートである。ジョブ管理部１２１は、まず、ジョブ管理テーブル３００から、業務ＩＤおよびジョブの実行ホストを取得する（１１００）。業務空間管理テーブル３０２を参照し、業務ＩＤから、ジョブを実行する業務空間を取得する（１１０１）。ジョブ管理部１２１は、１１０１で取得した業務空間内の実行ホスト上にあるジョブ実行部２２１に対し、実行するジョブの情報を通知し、業務空間内の仮想マシン上でジョブを実行させる（１１０２）。
【００４０】
ジョブ管理部１２１は、ジョブ実行状況管理テーブル３０４に、実行ジョブのエントリーを追加する（１１０３）。ジョブ管理部１２１は、定期的にジョブ実行部２２１に対し、ジョブの実行状況を確認する（１１０４）。ジョブの実行が終了していた場合、ジョブ管理部１２１は、ジョブ実行状況管理テーブル３０４から、実行ジョブのエントリーを削除する（１１０５、１１０７）。ジョブの実行が終了していなかった場合、ジョブ実行状況管理テーブル３０４の情報を更新し、１００４に戻る（１１０６）。これにより、ジョブ実行状況管理テーブルには、常に実行中のジョブのエントリーのみが記録されることになる。
【００４１】
ジョブ管理テーブル３００を参照し、次ジョブが定義されているか確認する（１１０８）。次ジョブが定義されている場合、次ジョブＩＤに指定されているジョブを実行させ、当該ジョブの実行を終了する（１１０９）。次ジョブが定義されていない場合、そのまま当該ジョブの実行を終了する。
【００４２】
図１２は、業務空間管理部１２２が、各業務空間、各仮想マシンに対してリソースを割り当てる流れを示したフローチャートである。割り当て方法の一例を示しているが、割り当て方法はこの限りではない。
【００４３】
業務空間管理部１２２は、すべての業務空間について、順にリソースの割り当て処理をおこなう（１２００）。まず、業務空間管理部１２２は、業務空間リソース割当管理テーブル３０３から、業務空間への割り当てリソースを取得し、業務空間の論理ＣＰＵ２００、論理メモリ２０１へ割り当て量を決定する（１２０１）。業務空間管理部１２２は、ジョブ実行状況管理テーブル３０４から、業務空間で実行中のジョブの数を取得する（１２０２）。業務空間管理部１２２は、業務空間管理テーブル３０２から業務空間内のホストを取得し、業務空間内のすべてのホストについて、順にリソースの割り当て処理をおこなう（１２０３）。業務空間管理部１２２は、ジョブ実行状況管理テーブル３０４から、ジョブ実行情報を取得する。例えば、ホストで実行中のジョブの数を取得する（１２０４）。ホストに割り当てるリソースの量を、以下の数２により決定する（１２０５）。業務空間に割り当てられたリソースを、実行中のジョブの数に応じてホストに配分することになる。
【００４４】
【数２】
0005396339.tif 000003
以上の手順で決定したホストごとのリソース割り当て量で、リソース割り当て管理テーブル３０５を更新する（１２０６）。これを、業務空間と、各業務空間を構成するホストの数だけ繰り返す（１２０７、１２０８）。
【００４５】
業務空間管理部１２２は、仮想化部１２３に対して、リソースの割り当てを要求する（１２０９）。仮想化部１２３は、リソース割り当て管理テーブル３０５の情報にしたがい、仮想ホストへのリソースの割り当てをおこなう。先の図８、図９の例では、業務空間３では、ジョブ実行ＩＤが００３、００６、００７の３個のジョブが実行中であり、各ジョブに対して業務空間３に割り当てられたリソース２０％を均等に６．６６％ずつ割り当てる。ジョブ実行ＩＤが００３のジョブはホストＢで、ジョブ実行ＩＤが００６、００７のジョブはホストＣで実行中のため、各ホストに割り当てられるリソースは、ホストＢが６．６７％、ホストＣが１３．３３％となる。
【００４６】
また、例えば業務空間３で実行していた全てのジョブが終了した場合、業務空間３に割当てられている空間リソース量を、現在実行中のジョブを有する他の業務空間に再配分することも可能である。
【００４７】
【数３】
0005396339.tif 000004
業務空間３で実行していた全てのジョブが終了した場合、現在実行中のジョブを有する業務空間は、業務空間１と業務空間２となる。図８の業務空間リソース割当管理テーブル３０３に定義する業務空間１の５０％と業務空間２の３０％との割合を維持しながら、再配分すればよい。上述数３に基づいて再配分すると、業務空間１に対して６２．５％、業務空間２に対して３７．５％を配分する。この再配分された空間リソース量に基づいて、各業務空間で実行中のジョブを稼働するホストに対するリソース量を再計算すればよい。また新たに業務空間３の業務３を稼働させたい場合は、上述のように実行中のジョブの状況を再確認し、業務空間に割当てるべき空間リソース量を上述数３に基づいて再調整することで、実現できる。このように、業務空間に対して割当てるべき空間リソース量を、業務の優先度に応じて適宜調整することで、業務を遂行する仮想マシンに対するリソース量を、他の優先度の高い業務への空間リソース量を配慮し、維持しながら適宜自由に設定することができる。
【００４８】
業務別リソース割当管理テーブル３０１は、前述した通り、ユーザからの設定画面により変更することも可能であるので、システムを稼働中に業務リソース量を変更した場合は、上述の手順で空間リソース量を再設定し、実行中の仮想マシンに対するリソース量を変更することも可能である。このように、業務空間に割当ら得る空間リソース量は、実行中のジョブの状態に応じて適宜変更することができる。
【００４９】
図１３は、図４に示す業務を、図１０に示す流れにしたがって業務空間に割り当てた例を示す概念図である。業務空間１（１３００）で業務１が、業務空間２（１３１０）で業務２が、業務空間３（１３２０）で業務３と業務４が実行される。業務空間１（１３００）には、業務１の実行に必要な仮想マシンの複製が配置され、それぞれの仮想マシンでは、業務１に関連するジョブ１Ａ（４１１）、ジョブ１Ｂ（４１２）、ジョブ１Ｃ（４１３）のみが実行される。業務空間２（１３１０）には、業務２の実行に不要なホストＢの仮想マシンの複製は配置されない。業務空間３（１３２０）に配置されたホストＣでは、業務３を構成するジョブ３Ｃ（４３３）、業務４を構成するジョブ４Ｃ（４４１）の両方が実行される。
【００５０】
図１４は、リソース割り当て管理テーブル３０５の詳細を示したものである。
業務空間に配置されているホストと、各ホストへのリソース割り当て状況を管理するテーブルで、業務空間ＩＤ１４００、ホスト名１４０１、リソース割り当て量１４０２の情報を持つ。リソース割り当て管理テーブル３０５は、図１２に示す手順で作成される。
【００５１】
図１５は、業務空間の割り当て状況、ジョブの実行状況およびリソースの割り当て状況を管理者に表示するための画面を示す図である。表示装置１０３に表示される。
【００５２】
生成された業務空間および各業務空間内に複製されたホストの状況が、それぞれ１５００〜１５０２、１５１０〜１５１６で示される。実行中の業務の状況が、１５２０〜１５３５で示される。１５２０〜１５３５がジョブを表し、１５２０のように実行中のジョブが色などで識別できるように表示される。これにより、どの業務のどのジョブが、どのホストでいくつ実行中か、視覚的に確認することができる。また、ジョブの実行状況は、１５４０〜１５４２の表でも示され、一覧形式でも確認できる。
【００５３】
各仮想ホストへのリソースの割り当て状況は、１５１０〜１５１６の中に示され、ジョブの実行状況とあわせて視覚的に確認できる。
【実施例２】
【００５４】
図１６は、本発明を複数の物理的なマシンに適用する場合の実施例２における全体構成を示した説明図である。業務を実行可能な物理コンピュータ１００、１６１０が、コンピュータ資源１６００として確保されている。説明を簡単にするため、コンピュータ資源として確保される物理コンピュータを２台としている。物理コンピュータ１００、１６１０の詳細な構成は図１で説明したとおりである。コンピュータ資源として確保された物理コンピュータは、ネットワーク１０２を通して、管理マネージャと接続されている。管理マネージャの詳細については図１７で説明する。
【００５５】
図１７は、本発明を複数の物理的なマシンに適用する場合に、全体の業務空間、ジョブおよびリソースの割り当てを制御する管理マネージャの詳細を示した説明図である。管理マネージャを物理コンピュータ１７００に構成した例を示している。
【００５６】
物理コンピュータ１７００は、ディスクインタフェース１７１０、通信インタフェース１７１１、ＣＰＵ１７１２、メモリ１７１３、表示インタフェース１７１４を備える。また、ディスクインタフェース１７１０を通して記憶部１７０１と、通信インタフェース１７１１を通してネットワーク１０２と、表示インタフェース１７１４を通して表示装置１７０３と接続している。メモリ１７１３には、ＯＳ１７２０、管理マネージャ用ジョブ管理部１７２１、管理マネージャ用実行マシン管理部１７２２がロードされ、コンピュータ資源として確保されている業務を実行する物理コンピュータ（以下、実行マシンと記載）のジョブおよびリソースの割り当てを制御する。管理マネージャは、実行マシンに対して業務空間の割り当て、当該業務空間に対するリソースの割り当ておよび当該業務空間へのジョブの投入を制御するが、当該実行マシン上でのジョブの実行状況に応じた業務空間および業務空間上で実行される仮想マシンへのリソースの割り当ては、先に示した手順により、各実行マシンでおこなわれる。
【００５７】
図１８は、記憶部１７０１の詳細を示した説明図である。記憶部１７０１には、管理マネージャ用ジョブ管理テーブル１８００、管理マネージャ用業務別リソース割当管理テーブル１８０１、管理マネージャ用業務空間管理テーブル１８０２、管理マネージャ用業務空間リソース割当管理テーブル１８０３、管理マネージャ用ジョブ実行状況管理テーブル１８０４、管理マネージャ用マシンリソース管理テーブル１８０５が格納される。また、仮想マシンや仮想ディスクの論理ボリュームとして、仮想マシン論理ボリューム１８１０、１８１２、仮想ディスク論理ボリューム１８１１、１８１３が格納される。
【００５８】
管理マネージャを用いて複数の実行マシンを制御する場合、実行マシンで定義していたジョブ管理テーブル３００、業務別リソース割当管理テーブル３０１は、管理マネージャのそれぞれ管理マネージャ用ジョブ管理テーブル１８００、管理マネージャ用業務別リソース割当管理テーブル１８０１で定義する。実行マシンのジョブ管理テーブル３００、業務空間管理テーブル３０２、業務空間リソース割当管理テーブル３０３は管理マネージャから更新される。また、仮想マシンや仮想ディスクの論理ボリュームも、管理マネージャが必要に応じて実行マシンへ転送する。したがって、運用に必要な定義はすべて管理マネージャでおこなう。
【００５９】
図１９は、管理マネージャ用ジョブ管理テーブル１８００の詳細を示したものである。業務を構成するジョブと、ジョブの実行内容を管理するテーブルで、管理する内容は、図５で示したジョブ管理テーブル３００と同じであり、業務ＩＤ１９００、ジョブＩＤ１９０１、各ジョブが実行するコマンドの内容１９０２、ジョブを実行するホスト１９０３、そのジョブを実行した後に実行するジョブのジョブＩＤ１９０４、そのジョブを実行する前に実行するジョブのジョブＩＤ１９０５の情報を持つ。ジョブ管理テーブル３００が当該物理コンピュータ上で実行するジョブの情報のみを管理するのに対して、管理マネージャ用ジョブ管理テーブル１８００はコンピュータ資源全体で実行するジョブの情報を管理する。本情報は、ユーザの設定画面を通じて事前に定義することが可能で、また、ユーザの設定画面を通じて変更することも可能である。説明を簡単にするため、業務１〜業務６が定義されている例を示している。
【００６０】
図２０は、管理マネージャ用業務別リソース割当管理テーブル１８０１の詳細を示したものである。業務ごとのリソース割当量を管理するテーブルで、業務ＩＤ２０００、リソース割当量２００１、最小多重度２００２、最大多重度２００３の情報を持つ。リソース割当量２００１は、図６で示した業務別リソース割当管理テーブル３０１のリソース割当比率６０１が当該実行マシンの持つリソースに対する相対的な比率で表しているのに対し、複数の実行マシンの持つリソース差異に対応するために絶対的なリソース量で表すものである。最小多重度２００２は、当該業務を実行するにあたり最低いくつの業務空間を作成するかを定義したものである。また最大多重度２００３は、当該業務を実行するにあたり最大いくつの業務空間を作成するかを定義したものである。本情報は、ユーザの設定画面を通じて事前に定義することが可能で、また、ユーザの設定画面を通じて変更することも可能である。
【００６１】
図２１は、管理マネージャ用業務空間管理テーブル１８０２の詳細を示したものである。業務空間別に、当該業務空間で実行する業務と、業務空間を構成するホスト、業務空間の実行マシンおよび業務空間の実行に必要なリソース割当量を管理するテーブルで、業務空間ＩＤ２１００、業務ＩＤ２１０１、構成ホスト２１０２、実行マシン２１０３、リソース割当量２１０４の情報を持つ。管理マネージャ用業務空間管理テーブル１８０２は、図２６および図２７に示す手順で作成される。また、図２９、図３１、図３２に示す手順で、それぞれ追加、変更、削除される。
【００６２】
図２２は、管理マネージャ用業務空間リソース割当管理テーブル１８０３の詳細を示したものである。実行マシン別に、業務空間ごとのリソースの割当量および業務空間での業務の実行状況から判断した現在必要なリソース量を管理するテーブルで、実行マシン２２００、業務空間ＩＤ２２０１、リソース割当量２２０２、必要リソース量２２０３の情報を持つ。必要リソース量２２０３は、業務空間でのジョブの実行状況から判断した、実際に割り当てが必要なリソース量を表す。すなわち、業務空間に対してリソースが割り当てられている場合でも、当該業務空間でジョブが実行されていない場合、当該業務空間に対するリソースの割り当ては不要であり、ジョブの実行状況を加味することで求められる、その時点で実際に必要なリソース量を表している。管理マネージャ用業務空間リソース割当管理テーブル１８０３は、図２７に示す手順で作成される。また、図３０および図３１に示す手順で変更、図３２に示す手順で削除される。
【００６３】
図２３は、管理マネージャ用ジョブ実行状況管理テーブル１８０４の詳細を示したものである。業務別に、業務空間ごとの実行中のジョブおよび新規ジョブの投入可否を管理するテーブルで、業務ＩＤ２３００、業務空間ＩＤ２３０１、ジョブ実行ＩＤ２３０２、ジョブ投入可否２３０３の情報を持つ。ジョブ投入可否２３０３は、当該業務空間に新規ジョブの投入が可能かを示し、業務空間の削除をおこなう場合に、新規ジョブの投入を抑止し、業務空間を空けるために使用する。管理マネージャ用ジョブ実行状況管理テーブル１８０４は、図２６に示す手順で作成される。また、図２９、図３０、図３２に示す手順で、それぞれ追加、変更、削除される。
【００６４】
図２４は、管理マネージャ用マシンリソース管理テーブル１８０５の詳細を示したものである。実行マシンごとの保有リソース量と、未割り当てのリソース量および業務空間での業務の実行状況から判断した現在余剰となっているリソース量を管理するテーブルで、実行マシン２４００、保有リソース量２４０１、未割当リソース量２４０２、余剰リソース量２４０３の情報を持つ。保有リソース量２４０１は、当該マシンの持つリソース量を絶対的な値で表したものである。未割当リソース量２４０２は、業務空間に明示的に割り当てられていないリソース量で、当該マシンに業務空間を追加するときに割り当て可能なリソース量を表す。業務実行時の業務空間の追加判断や、ユーザが業務空間の移動をおこなう際に移動先の決定の参考にするために使用する。余剰リソース量２４０３は、当該実行マシンの保有リソース量２４０１から、図２２の管理マネージャ用業務空間リソース割当管理テーブル１８０３で示した必要リソース量２２０３の当該実行マシン分の総和を減じて求められ、当該マシンで現在実行中の各業務に必要なリソースを割り当てたうえで余剰となるリソース量を表す。なお、実際には、図１２に示す手順により、余剰リソースは業務を実行中の業務空間に割り振られ、実行中のジョブで利用される。
【００６５】
管理マネージャ用マシンリソース管理テーブル１８０５の情報のうち、実行マシン２４００および保有リソース量２４０１は、コンピュータ資源として確保された実行マシンの情報をもとに、あらかじめユーザにより定義される。未割当リソース量２４０２、余剰リソース量２４０３については、図２７に示す手順で設定される。また、図３０、図３１、図３２に示す手順で変更される。
【００６６】
図２５は、管理マネージャが、各業務に業務空間を割り当て、各実行マシンに業務空間を割り当てる流れを示したフローチャートである。割り当て方法の一例を示しているが、割り当て方法はこの限りではない。
【００６７】
管理マネージャ用ジョブ管理部１７２１が、各業務に対して業務空間の割り当てをおこなう（２５００）。この処理については、図２６で詳細に説明する。次に、管理マネージャ用実行マシン管理部１７２２が、各業務空間に対して実行マシンの割り当てをおこなう（２５０１）。この処理については、図２７で詳細に説明する。実行マシンに対して業務空間の割り当てが完了した後、すべての実行マシンについて業務空間の更新をおこなう（２５０２）。各実行マシンに対して必要な管理テーブルや論理ボリュームを転送し、業務空間を追加、削除するよう各実行マシンの仮想化部１２３に指示する（２５０３）。この処理については、図２８で詳細に説明する。すべての実行マシンについて業務空間の更新が完了するまで２５０３の処理を繰り返す（２５０４）。
【００６８】
図２６は、管理マネージャ用ジョブ管理部１７２１が、各業務に業務空間を割り当てる流れを示したフローチャートである。割り当て方法の一例を示しているが、割り当て方法はこの限りではない。
【００６９】
管理マネージャ用ジョブ管理部１７２１は、管理マネージャ用ジョブ管理テーブル１８００と管理マネージャ用業務別リソース割当管理テーブル１８０１を参照し、業務空間への割り当て処理をおこなう。
【００７０】
最初に、最大多重度が２以上のすべての業務について、業務空間への割り当て処理をおこなう（２６００）。最大多重度が２以上の業務については、業務空間の追加、削除がおこなわれるため、当該業務単独で業務空間を割り当てる。まず、業務を割り当てるための業務空間を新たに定義し、業務空間の割り当てがおこなわれていない業務について、定義した業務空間に割り当てる（２６０１）。このとき、定義した業務空間には、管理のためにユニークになるように業務空間ＩＤを割り振る。２６０１での割り当て結果にしたがい、業務空間ＩＤ、業務ＩＤについて、管理マネージャ用業務空間管理テーブル１８０２を更新する（２６０２）。２６０１での定義および割り当て結果に従い、管理マネージャ用ジョブ実行状況管理テーブル１８０４に割り当て結果を追加する（２６０３）。このとき、ジョブ実行ＩＤはなし、ジョブ投入可否は「可」とする。
【００７１】
次に、業務空間を構成するために必要なマシンを算出する（２６０４）。管理マネージャ用業務別リソース割当管理テーブル１８０１を参照し、業務空間に対するリソース割当量を取得する（２６０５）。構成ホスト、リソース割当量について、業務空間管理マネージャ用業務空間管理テーブル１８０２を更新する（２６０６）。最小多重度の数になるよう、業務空間管理マネージャ用業務空間管理テーブル１８０２業務空間の定義を複製する（２６０７）。このとき、業務空間ＩＤのみ、ユニークになるよう更新する。以上の処理を、最大多重度が２以上のすべての業務について業務空間が割り当てられるまで繰り返す（２６０８）。
【００７２】
次に、業務空間を未割り当てのすべての業務について、優先度の高い業務から順に業務空間への割り当て処理をおこなう（２６０９）。本割り当て処理は、図１０で示したものとほぼ同じである。まず、業務を割り当てるための業務空間を新たに定義し、業務空間の割り当てがおこなわれていない業務のうち、もっとも優先度の高い業務について、定義した業務空間に割り当てる（２６１０）。定義した業務空間には、管理のためにユニークになるように業務空間ＩＤを割り振る。構成ホスト、リソース割当量について、管理マネージャ用業務空間管理テーブル１８０２を更新する（２６１１）。２６１０もしくは後述する２６１６での割り当て結果にしたがい、管理マネージャ用ジョブ実行状況管理テーブル１８０４に割り当て結果を追加する（２６１２）。管理マネージャ用業務空間管理テーブル１８０２を参照し、当該業務空間で実行される業務から、業務空間を構成するために必要なマシンを算出する（２６１３）。管理マネージャ用業務空間管理テーブル１８０２と、管理マネージャ用業務別リソース割当管理テーブル１８０１を参照し、業務空間に対するリソース割当量を算出する（２６１４）。定義された業務空間が、数１を満たすか検査する（２６１５）。数1は実施例１と同じ式を用いる。図１０の場合と同様に、業務空間の構成に必要な仮想マシンの動作に必要なリソースが、業務空間に割り当てられたリソースに対して十分に小さいかを検査することで、業務空間の割り当てを効率的におこなうことができる。式中の「係数」は、リソースや、コンピュータ資源１６００に確保された実行マシンの特性によってあらかじめ決定される。
【００７３】
数１を満たす場合、業務空間への業務の割り当てを確定とし、構成ホスト、リソース割当量について、管理マネージャ用業務空間管理テーブル１８０２を更新する（２６１６）。その後、次の業務空間の定義と業務の割り当てのため、２６０９に戻る（２６１７）。この場合、２６１０での割り当て結果が確定し、２６１０で定義した業務空間を１つの業務が占有する。
【００７４】
数１を満たさない場合、業務空間の割り当てがおこなわれていない業務のうち次に優先度の高い業務を、２６１０で定義した業務空間に追加で割り当てた後、２６１１の手順から繰り返す（２６１６）。この場合、２６１０で定義した業務空間は、数１を満たすように複数の業務で共有される。以上の処理を、すべての業務について業務空間が割り当てられるまで繰り返す（２６１８）。
【００７５】
図２７は、管理マネージャ用実行マシン管理部１７２２が、各実行マシンに業務空間を割り当てる流れを示したフローチャートである。割り当て方法の一例を示しているが、割り当て方法はこの限りではない。
【００７６】
管理マネージャ用実行マシン管理部１７２２は、管理マネージャ用業務空間管理テーブル１８０２と管理マネージャ用業務空間リソース割当管理テーブル１８０３を参照し、業務空間の割り当て処理をおこなう。実行マシンを未割当のすべての業務空間について、リソース割当量の多いものから順に実行マシンへの割り当て処理をおこなう（２７００）。まず、業務空間を割り当てる実行マシンを決定するため、実行マシンのうち、未割り当てのリソースがもっとも多いものを検索する（２７０１）。検索された実行マシン上で、同一業務を実行する他の業務空間が割り当てられていないことを確認する（２７０２）。もし、検索された実行マシン上で、同一業務を実行する他の業務空間がすでに割り当て済みの場合、実行マシンのうち、未割り当てのリソースが次に多いものを検索し、２７０２に戻って再度評価をおこなう（２７０３）。２７０２の評価で、検索された実行マシン上で、同一業務を実行する他の業務空間が割り当てられていないことが確認された場合、当該実行マシンに業務空間の割り当てをおこなう（２７０４）。
【００７７】
決定した割り当てにしたがい、実行マシンについて、管理マネージャ用業務空間管理テーブル１８０２を更新する（２７０５）。実行マシン、業務空間ＩＤ、リソース割当量、必要リソース量について、管理マネージャ用業務空間リソース割当管理テーブル１８０３を更新する。ここで、新規に追加する業務空間については、必要リソース量は０とする（２７０６）。未割当リソース量、余剰リソース量について、管理マネージャ用マシンリソース管理テーブル１８０５を更新する。余剰リソース量は、保有リソース量から、当該実行マシンの必要リソース量を引いたもので求められ、ここでは余剰リソース量と同じとする（２７０７）。
以上の処理を、すべての業務空間について実行マシンが割り当てられるまで繰り返す（２７０８）。
【００７８】
図２８は、管理マネージャ用実行マシン管理部１７２２が、各実行マシンに対して業務空間の割り当て（更新）をおこなう流れを示したフローチャートである。割り当て方法の一例を示しているが、割り当て方法はこの限りではない。
【００７９】
管理マネージャ用実行マシン管理部１７２２が、実行マシンのジョブ管理テーブル３００の内容を更新する（２８００）。当該実行マシンで実行する業務のジョブ定義については、管理マネージャから実行マシンに転送し、更新を反映する。当該実行マシンで実行しない業務のジョブ定義がジョブ管理テーブル３００にある場合は、当該ジョブ定義を削除する。
【００８０】
管理マネージャ用実行マシン管理部１７２２が、実行マシンの業務空間管理テーブル３０２の内容を更新する（２８０１）。当該マシンで実行する業務空間について、管理マネージャ用業務空間管理テーブル１８０２から、業務空間ＩＤ、業務ＩＤ、構成ホストの情報を、実行マシンの業務空間管理テーブル３０２に転送し、更新を反映する。当該実行マシンで実行しない業務空間の定義が業務空間管理テーブル３０２にある場合は、当該定義を削除する。
【００８１】
管理マネージャ用実行マシン管理部１７２２が、実行マシンの業務空間リソース割当管理テーブル３０３の内容を更新する（２８０２）。当該マシンで実行する業務空間について、管理マネージャ用リソース割当管理テーブル１８０１および管理マネージャ用マシンリソース管理テーブル１８０５から、実行マシンでの優先度を計算し、業務空間リソース割当管理テーブル３０３のリソース割り当て比とする。当該実行マシンで実行しない業務空間の定義が業務空間リソース割当管理テーブル３０３にある場合は、当該定義を削除する。
【００８２】
次に、当該実行マシンで削除する業務空間があるか評価する（２８０３）。削除すべき業務空間がない場合、次の処理２８０５に進む。削除すべき業務空間がある場合、実行マシンの仮想化部１２３に、当該業務空間を削除するよう指示をおこなった後、次の処理２８０５に進む（２８０４）。
【００８３】
実行マシンで使用する仮想マシン論理ボリュームについて、不足しているものを管理マネージャから実行マシンへ転送する。当該実行マシンで実行しない仮想マシンの論理ボリュームがある場合は、当該仮想マシン論理ボリュームを削除する（２８０５）。
【００８４】
実行マシンで使用する仮想ディスク論理ボリュームについて、不足しているものを管理マネージャから実行マシンへ転送する。当該実行マシンで実行しない仮想マシンの仮想ディスク論理ボリュームがある場合は、当該仮想ディスク論理ボリュームを削除する（２８０６）。
【００８５】
次に、当該実行マシンで追加する業務空間があるか評価する（２８０７）。追加すべき業務空間がない場合、業務空間の更新処理が完了する。追加すべき業務空間がある場合、実行マシンの仮想化部１２３に、当該業務空間を追加するよう指示をおこなった後、業務空間の更新処理が完了する（２８０８）。
【００８６】
図２９は、管理マネージャ用ジョブ管理部１７２１が、ジョブを実行する際の流れを示したフローチャートである。ジョブの実行方法の一例を示しているが、実行方法はこの限りではない。
【００８７】
管理マネージャ用ジョブ管理部１７２１は、管理マネージャ用リソース割当管理テーブル１８０１、管理マネージャ用ジョブ実行状況管理テーブル１８０４を参照し、当該業務についてすでに最大多重度の業務空間を割り当てているかを評価する（２９００）。
【００８８】
当該業務についてすでに最大多重度の業務空間を割り当てている場合、管理マネージャ用ジョブ実行状況管理テーブル１８０４を参照し、当該業務用の業務空間でジョブ投入可否が「可」の業務空間のうち、実行中のジョブ数がもっとも少ない業務空間を検索する（２９０１）。２９０１で検索された業務空間を、ジョブ投入対象の業務空間として決定する（２９０２）。
【００８９】
当該業務についてまだ最大多重度の業務空間を割り当てていない場合、管理マネージャ用マシンリソース管理テーブル１８０５を参照し、実行マシンのうち未割り当てのリソース量がもっとも多いものを検索する（２９０３）。２９０３で検索された実行マシンに対し、新たに業務空間を割り当て可能か検査する（２９０４）。割り当て不可の場合、２９０１からの処理を実行する。割り当て可能な場合、２９０３で検索された実行マシン上で、同一業務を実行する他の業務空間が割り当てられていないことを確認する（２９０５）。もし、検索された実行マシン上で、同一業務を実行する他の業務空間がすでに割り当て済みの場合、実行マシンのうち、未割り当てのリソースが次に多いものを検索し、２９０４に戻って再度評価をおこなう（２９０６）。２９０５の評価で、検索された実行マシン上で、同一業務を実行する他の業務空間が割り当てられていないことが確認された場合、当該実行マシンに業務空間の割り当てをおこなう（２９０７）。
割り当てにしたがい、業務空間ＩＤ、業務ＩＤ、構成ホスト、リソース割当量について、管理マネージャ用業務空間管理テーブル１８０２を更新する（２９０８）。
【００９０】
当該業務について業務空間を追加するよう、管理マネージャ用ジョブ実行状況管理テーブル１８０４を更新する（２９０９）。
追加した定義にしたがい、実行マシンに対して必要な管理テーブルや論理ボリュームを転送し、業務空間を追加するよう実行マシンの仮想化部１２３に指示する（２９１０）。この処理については、図２８で詳細に説明した。業務空間の作成が完了したら、作成した業務空間をジョブ投入対象の業務空間として決定する（２９１１）。ジョブ投入対象として２９０２で決定された既存の業務空間または２９１１で決定された新規に作成した業務空間に対して、ジョブの投入をおこなう（２９１２）。この処理については、図３０で詳細に説明する。
【００９１】
図３０は、管理マネージャ用ジョブ管理部１７２１が、業務空間にジョブを投入する際の流れを示したフローチャートである。
管理マネージャ用ジョブ管理部１７２１は、投入するジョブを識別するためのユニークなジョブ実行ＩＤを採番し、ジョブ実行ＩＤについて、管理マネージャ用ジョブ実行状況管理テーブル１８０４を更新する（３０００）。
ジョブの実行状態から、必要リソース量について、管理マネージャ用業務空間リソース割当管理テーブル１８０３を更新する（３００１）。更新後の必要リソース量は、業務空間内で実行されている業務ごとのリソース割当量の総和になる。
３００１で計算された必要リソース量から、管理マネージャ用マシンリソース管理テーブル１８０５の余剰リソース量を更新する（３００２）。実行マシンのジョブ管理部に対して、当該ジョブの実行を指示する（３００３）。この際、ジョブ実行ＩＤも通知し、管理マネージャと実行マシンで同一のジョブ実行ＩＤで管理する。その後、実行マシンでのジョブの実行状況を監視する（３００４）。一連のジョブが終了するまで、監視を継続する（３００５）。一連のジョブが終了したら、ジョブ実行ＩＤについて、管理マネージャ用ジョブ実行状況管理テーブル１８０４から削除する（３００６）。ジョブの実行状態から、必要リソース量について、管理マネージャ用業務空間リソース割当管理テーブル１８０３を更新する（３００７）。更新後の必要リソース量は、業務空間内で実行されている業務ごとのリソース割当量の総和になる。３００７で計算された必要リソース量から、管理マネージャ用マシンリソース管理テーブル１８０５の余剰リソース量を更新する（３００８）。
【００９２】
図３１は、管理マネージャ用実行マシン管理部１７２２が、業務空間を実行するマシンの移動をおこなう流れを示したフローチャートである。移動の方法の一例を示しているが、移動の方法はこの限りではない。
【００９３】
まず、管理マネージャ用実行マシン管理部１７２２が、管理マネージャ用業務空間管理テーブル１８０２および管理マネージャ用マシンリソース管理テーブル１８０５を参照し、移動先マシンの未割当リソース量が十分か確認をおこなう（３１００）。未割当リソースが十分でない場合、移動処理はおこなわない。未割当リソースが十分ある場合、移動元マシンで、移動対象の業務空間を停止させるため、移動元マシンの仮想化部１２３に、業務空間の停止を指示する（３１０１）。移動対象業務空間で使用するジョブ管理テーブル３００の内容を、移動元マシンから、移動先マシンへ転送する（３１０２）。移動対象業務空間で使用する業務空間管理テーブル３０２の内容を、移動元マシンから、移動先マシンへ転送する（３１０３）。移動元マシンの業務空間リソース割当管理テーブル３０３から、移動対象業務空間の情報を削除する（３１０４）。移動先マシンの業務空間リソース割当管理テーブル３０３に、移動対象業務空間の情報を追加する（３１０５）。このとき、管理マネージャ用リソース割当管理テーブル１８０１および管理マネージャ用マシンリソース管理テーブル１８０５から、移動先マシンでの優先度を計算し、業務空間リソース割当管理テーブル３０３のリソース割り当て比とする。移動対象業務空間で使用するジョブ実行状況管理テーブル３０４の内容を、移動元マシンから、移動先マシンへ転送する（３１０６）。移動対象業務空間で使用する仮想マシン論理ボリュームを、移動元マシンから、移動先マシンへ転送する（３１０７）。移動対象業務空間で使用する仮想ディスク論理ボリュームを、移動元マシンから、移動先マシンへ転送する（３１０８）。業務空間の移動結果にしたがって、実行マシンについて、管理マネージャ用業務空間管理テーブル１８０２を更新する（３１０９）。
【００９４】
業務空間の移動結果にしたがって、業務空間ＩＤ、リソース割当量、必要リソース量について、管理マネージャ用業務空間リソース割当管理テーブル１８０３を更新する（３１１０）。移動元マシンから当該業務空間の情報を削除し、移動先マシンに当該業務空間の情報を追加する。移動前後で、リソース割当量、必要リソース量は、変化しない。３１１０で変更された業務空間の割り当てから、移動元マシン、移動先マシンそれぞれについて、管理マネージャ用マシンリソース管理テーブル１８０５の余剰リソース量を更新する（３１１１）。移動先マシンで、移動対象の業務空間を再開させる。移動先マシンの仮想化部１２３に、業務空間の再開を指示する（３１１２）。
【００９５】
図３２は、管理マネージャ用ジョブ管理部１７２１が、業務空間の削除をおこなう流れを示したフローチャートである。業務空間の削除の方法の一例を示しているが、削除の方法はこの限りではない。
【００９６】
管理マネージャ用ジョブ管理部１７２１が、まず、当該業務空間について、管理マネージャ用ジョブ実行状況管理テーブル１８０４のジョブ投入可否を「不可」に更新する（３２００）。業務空間の使用状況を確認する。管理マネージャ用ジョブ実行状況管理テーブル１８０４を確認し、当該業務空間で実行中のジョブ実行ＩＤを監視する（３２０１）。ジョブ実行ＩＤがある場合、当該業務空間でジョブが実行中のため、３２０１に戻ってジョブの実行完了を待つ（３２０２）。ジョブ実行ＩＤがない場合、業務空間の削除をおこなう。まず、管理マネージャ用業務空間管理テーブル１８０２から当該業務空間の情報を削除する（３２０３）。管理マネージャ用業務空間リソース割当管理テーブル１８０３から当該業務空間の情報を削除する（３２０４）。当該業務空間を実行していた実行ホストについて、管理マネージャ用マシンリソース管理テーブル１８０５の未割当リソース量、余剰リソース量を更新する（２３０５）。余剰リソース量は、保有リソース量から、当該実行マシンの必要リソース量を引いたもので求められる。管理マネージャ用ジョブ実行状況管理テーブル１８０４から当該業務空間の情報を削除する（３２０６）。更新した定義にしたがい、業務空間を削除するよう実行マシンの仮想化部１２３に指示する（３２０７）。この処理については、図２８で詳細に説明した。
【００９７】
以上から、各業務空間に対してリソースを一旦割当て、当該割当てられたリソースの範囲で仮想マシンを稼働させてジョブを実行するので、別の業務を遂行するためにリソースを割当てる場合においても、実行中のジョブに直接影響しない。また、別業務の業務空間に対するリソースの割当ては、業務の優先度に応じてなされるので、例えば重要なジョブを実行している最中に、別業務の実行を開始しなければならない場合にも、重要なジョブへ影響を及ぼさない。
【００９８】
また、業務を実行する業務空間を定義することにより、図６で示すように業務毎にリソースを割当てることができる。これは、複数かつ複雑な業務を遂行する業務システムにおいて、実行状態を事前に加味する必要がない点で有効である。例えば、稼働中の業務システムにおいて、新たな業務を加えたい場合にも、図６で示すリソース割当比率を、その業務の優先度に応じて設定し、他の業務に対するリソース比率を変更することが可能となる。
【００９９】
また先の実施例では、業務の実行を開始する以前に予め定義する点を説明したが、これを業務の実行を開始するときに業務リソース量を変更することも可能である。業務に対するリソース割当ての量（業務リソース量）は一旦業務空間へのリソース割当て量（空間リソース量）に変換するので、その結果を用いて実行中の仮想マシンに割当てられたリソースを変更すればよい。これにより、業務の実行状態に合わせて計算機全体のリソース配分を調整することができる。
【０１００】
このように、複雑なジョブを構成する業務を遂行する業務システムにおいては、同時に複数の業務を並行して実施する中で、業務の優先度に応じた適切なリソース割当を実施しなければならない。本発明のように、業務と仮想マシンとの間に「業務空間」を定義することで、業務に対して適切なリソースの割当を行うことができ、業務実行時に適切に割り当てられたリソースに基づいて仮想マシンを実行することができるようになる。
【０１０１】
複数の実行マシンを利用する場合も、業務空間を定義することで、業務に対して割り当てたリソースに基づいて業務空間が適切な実行マシンに確保され、業務空間に対して割り当てられたリソースに基づいて仮想マシンが実行される。各実行マシンへの業務空間の割り当て状況から未割当リソース量が、各業務空間でのジョブの実行状況から余剰リソース量が算出される。ユーザは、業務の実行計画と、それらの情報を利用して、特定の業務を実行する業務空間について、未割当リソース量や余剰リソース量の多い実行マシンに移動することができる。
【０１０２】
なお、先の実施例では、業務空間を、リソースを持つ論理的な空間として説明したが、単に複数の仮想マシンをグループ化してリソースの割り当て量を算出するための論理的な単位として考えることも可能である。この場合も、業務空間および業務空間内の各仮想マシンでのジョブの実行状況をもとに、まず業務空間に対するリソース割り当て量を算出した後、業務空間内での各仮想マシンへのリソースの割り当てをおこなう点は同様である。
【符号の説明】
【０１０３】
１００、１６１０  物理コンピュータ
１０１、１６１１  記憶部
１０２  ネットワーク
１０３  表示装置
１１０  物理コンピュータのディスクインタフェース
１１１  物理コンピュータの通信インタフェース
１１２  物理コンピュータのＣＰＵ
１１３  物理コンピュータのメモリ
１１４  物理コンピュータの表示インタフェース
１２０  ホストＯＳ
１２１  ジョブ管理部
１２２  業務空間管理部
１２３  仮想化部
１２４、１２５  仮想化部１２３により管理される業務空間
１３０、１３２  仮想化部１２３により管理される仮想マシン
１３１、１３３  仮想化部１２３により管理される仮想ディスク
２００  業務空間に割り当てられた論理ＣＰＵ
２０１  業務空間に割り当てられた論理メモリ
２１０  仮想マシンの論理ディスクインタフェース
２１１  仮想マシンの論理通信インタフェース
２１２  仮想マシンの論理ＣＰＵ
２１３  仮想マシンの論理メモリ
２１４  仮想マシンの論理表示インタフェース
２２０  仮想マシン上のゲストＯＳ
２２１  仮想マシン上のジョブ実行部
２２２  仮想マシン上の業務アプリケーション
３００  ジョブ管理テーブル
３０１  業務別リソース割当管理テーブル
３０２  業務空間管理テーブル
３０３  業務空間リソース割当管理テーブル
３０４  ジョブ実行状況管理テーブル
３０５  リソース割り当て管理テーブル
３１０、３１２  仮想マシンの論理ボリューム
３１１、３１３  仮想ディスクの論理ボリューム
１６００  コンピュータ資源
１７００  物理コンピュータ
１７０１  記憶部
１７０３  表示装置
１７１０  物理コンピュータのディスクインタフェース
１７１１  物理コンピュータの通信インタフェース
１７１２  物理コンピュータのＣＰＵ
１７１３  物理コンピュータのメモリ
１７１４  物理コンピュータの表示インタフェース
１７２０  ＯＳ
１７２１  管理マネージャ用ジョブ管理部
１７２２  管理マネージャ用実行マシン管理部
１８００  管理マネージャ用ジョブ管理テーブル
１８０１  管理マネージャ用業務別リソース割当管理テーブル
１８０２  管理マネージャ用業務空間管理テーブル
１８０３  管理マネージャ用業務空間リソース割当管理テーブル
１８０４  管理マネージャ用ジョブ実行状況管理テーブル
１８０５  管理マネージャ用マシンリソース管理テーブル
１８１０、１８１２  仮想マシンの論理ボリューム
１８１１、１８１３  仮想ディスクの論理ボリューム
【図１】
0005396339.tif 000005
【図２】
0005396339.tif 000006
【図３】
0005396339.tif 000007
【図４】
0005396339.tif 000008
【図５】
0005396339.tif 000009
【図６】
0005396339.tif 000010
【図７】
0005396339.tif 000011
【図８】
0005396339.tif 000012
【図９】
0005396339.tif 000013
【図１０】
0005396339.tif 000014
【図１１】
0005396339.tif 000015
【図１２】
0005396339.tif 000016
【図１３】
0005396339.tif 000017
【図１４】
0005396339.tif 000018
【図１５】
0005396339.tif 000019
【図１６】
0005396339.tif 000020
【図１７】
0005396339.tif 000021
【図１８】
0005396339.tif 000022
【図１９】
0005396339.tif 000023
【図２０】
0005396339.tif 000024
【図２１】
0005396339.tif 000025
【図２２】
0005396339.tif 000026
【図２３】
0005396339.tif 000027
【図２４】
0005396339.tif 000028
【図２５】
0005396339.tif 000029
【図２６】
0005396339.tif 000030
【図２７】
0005396339.tif 000031
【図２８】
0005396339.tif 000032
【図２９】
0005396339.tif 000033
【図３０】
0005396339.tif 000034
【図３１】
0005396339.tif 000035
【図３２】
0005396339.tif 000036