"複数のゲストOSが実装され、CPUの処理時間を時分割して前記複数のゲストOSに割り当てることにより処理を実行する仮想計算機システムであって、複数の処理要求を受信する処理要求受信手段と、前記処理要求受信手段により受信した複数の処理要求の優先度を識別する優先度識別手段と、前記複数の処理要求についての処理を実行する場合に、前記複数のゲストOSがそれぞれ必要とする負荷についての負荷情報を格納する負荷情報格納手段と、前記優先度識別手段による識別結果および前記負荷情報格納手段に格納された負荷情報に基づいて、前記ゲストOSに割り当てる前記CPUの処理時間を決定する割当決定手段と、を備えることを特徴とする仮想計算機システム。前記割当決定手段は、優先度の最も高い処理要求の前記負荷算出結果に基づいて、前記ゲストOSに割り当てる前記CPUの処理時間を決定すること、を特徴とする請求項1記載の仮想計算機システム。前記優先度識別手段は、前記複数の処理要求をその優先度に基づいて、複数のグループに分類し、前記割当決定手段は、前記複数のグループのうち最も高い優先度が設定されたグループの負荷算出結果に基づいて、前記ゲストOSに割り当てる前記CPUの処理時間を決定すること、を特徴とする請求項1記載の仮想計算機システム。前記割当決定手段は、前記優先度識別手段により識別した優先度に応じて重みづけを行った前記負荷情報に基づいて前記ゲストOSに割り当てる前記CPUの処理時間を決定すること、を特徴とする請求項1~3のいずれか1項に記載の仮想計算機システム。前記処理要求の処理を前記CPUが実行するのに要する時間を計測する応答時間計測手段をさらに備え、前記負荷情報格納手段は、前記応答時間計測手段により計測された応答時間が、予め定められた範囲外である場合に、対応する処理要求についての負荷情報を更新すること、を特徴とする請求項1~4のいずれか1項に記載の仮想計算機システム。計算機に複数のゲストOSが実装され、前記計算機のCPUの処理時間を時分割して前記複数のゲストOSに割り当てることにより処理を実行する仮想計算機システムに適用可能な資源割り当て制御方法であって、複数の処理要求を受信する処理要求受信ステップと、前記処理要求受信ステップにおいて受信した複数の処理要求の優先度を識別する優先度識別ステップと、前記処理要求受信ステップにおいて受信した複数の処理要求についての処理を実行する場合に前記複数のゲストOSが必要とする負荷を算出する負荷算出ステップと、前記優先度識別ステップにおける識別結果および前記負荷算出ステップにおける負荷算出結果に基づいて、前記ゲストOSに割り当てる前記CPUの処理時間を決定する割当決定ステップと、を備えることを特徴とする資源割り当て制御方法。従来の仮想計算機システムでは、ハイパーバイザ上に実装されている各ゲストOSに対するCPU割当時間を動的に変更することができ、各ゲストOSのCPUの使用時間に着目したスケジューリングには対応可能であるが、リアルタイム性を意識した処理に対応することができなかった。例えば、ハイパーバイザが割り当てるCPUの割当時間には、実際にCPUを使用している処理の優先度を反映することができない。同一ゲストOS上では優先度の高い処理が先に実行されるため、優先度の高い処理に多くCPUの処理時間が割り当てられる。しかし、異なるゲストOS上で同程度のCPU使用率の優先度の低い処理と優先度の高い処理が動作していた場合には、CPU使用率がその優先度に関係なく同程度と評価され、優先度の高い処理が動作しているゲストOSに対するCPU割当時間と優先度の低い処理が動作しているゲストOSに対しても、優先度の高い処理を実行しているゲストOSと同程度の処理時間が割り当てられてしまうことになる。これらの問題から、従来の仮想計算機システムにおいては、ゲストOSをまたがった優先度を考慮することができず、結果としてシステム全体として優先制御を実現することができず、リアルタイム性を要求される処理に対して効率的にCPU時間を割当てることができなかった。この発明は上記のような問題点を解決するためになされたもので、複数のゲストOSをまたがった優先制御を実現し、CPUの効率的な利用を実現することを目的とする。この発明に係る仮想計算機システムは、複数のゲストOSが実装され、CPUの処理時間を時分割して複数のゲストOSに割り当てることにより処理を実行する仮想計算機システムであって、複数の処理要求を受信する処理要求受信手段と、処理要求受信手段により受信した複数の処理要求の優先度を識別する優先度識別手段と、複数の処理要求についての処理を実行する場合に、複数のゲストOSがそれぞれ必要とする負荷についての負荷情報を格納する負荷情報格納手段と、優先度識別手段による識別結果および負荷情報格納手段に格納された負荷情報に基づいて、ゲストOSに割り当てるCPUの処理時間を決定する割当決定手段と、を備える。また、この発明に係る資源割り当て制御方法は、計算機に複数のゲストOSが実装され、計算機のCPUの処理時間を時分割して複数のゲストOSに割り当てることにより処理を実行する仮想計算機システムに適用可能な資源割り当て制御方法であって、複数の処理要求を受信する処理要求受信ステップと、処理要求受信ステップにおいて受信した複数の処理要求の優先度を識別する優先度識別ステップと、処理要求受信ステップにおいて受信した複数の処理要求についての処理を実行する場合に複数のゲストOSが必要とする負荷を算出する負荷算出ステップと、優先度識別ステップにおける識別結果および負荷算出ステップにおける負荷算出結果に基づいて、ゲストOSに割り当てるCPUの処理時間を決定する割当決定ステップと、を備える本発明によれば、ゲストOSをまたがった優先制御を行うことが可能となり、CPUの効率的な使用を実現することができる。実施の形態1.本発明を適用した仮想計算機システムについて、ハイパーバイザを実装した仮想計算機システムを例にとり説明する。図1はこの発明の実施の形態1に係る仮想計算機システムの構成図である。図1において仮想計算機システム1は、実施の形態1に係る仮想計算機システムのシステム全体を示しており、例えば、パーソナルコンピュータやサーバコンピュータのような計算機を用いて実現される。図1においては、1台の計算機を用いて仮想計算機システムを構成する場合について示しているが、複数の計算機により構成するようにしてもよい。また、図1においては図示しないが入出力デバイスおよびネットワーク等を介して外部にユーザ端末等が接続されている。物理資源部2は仮想計算機システム1を構成する物理的な構成要素であり、物理資源2はCPU11、および、図1では図示しない主記憶装置や入出力デバイス等を備えている。ハイパーバイザ3は複数のゲストOS4に対して、仮想的な計算機環境を提供し仮想マシンを実現する。ハイパーバイザ3はそれぞれのゲストOS4に対して、物理資源部2に対するアクセスを制御するCPU割当部10を備えており、また、各ゲストOSが主記憶や入出力デバイスといった物理資源2に対するアクセスする機能を有している。CPU割当決定部5は、仮想計算機システム1において1つだけ存在し、仮想計算機システム1が外部からの処理依頼を受け付ける機能を有する受付アプリケーション8と同一のゲストOS上に実装される。要求データベースDB6は、受付アプリケーション8が受け付けた外部からの処理要求のリストを管理するデータベースである。種別テーブルTBL7は、受付アプリケーション8が受け付ける可能性のある要求処理について、その種別ごとの処理負荷と優先度を管理するテーブルである。ここで、種別ごとの処理負荷とは、処理要求についての処理を実行する場合に、各ゲストOSが必要とする処理の負荷をいう。受付アプリケーション8およびその他の個別アプリケーションAPL9は各ゲストOS上で動作するアプリケーションであり、受付アプリケーションは仮想計算機システム1に接続されたユーザ端末からの処理要求の受付を行う。構成の説明1図2は要求データベース6の論理的な構成を示した図である。要求データベース6は、受付アプリケーションが受け付けた処理要求を一意に管理するための識別子である要求ID601と、受け付けた処理要求の処理内容を示す要求処理種別602の情報により構成されるエントリの集合である。図3は種別テーブル7の論理的な構成を示した図である。種別テーブル7は、要求処理種別毎の情報を示す要求処理種別701毎と仮想計算機システム1に実装されるゲストOS4ごとの負荷を管理するテーブルである。図3では要求処理種別701がFID1で示される処理では、ゲストOS1の負荷702はW1-1、ゲストOS2の負荷703はW2-1、ゲストOS3の負荷704はW3-1で定義されている。また要求処理種別701がFID1で示される処理の優先度705はPRI1で定義されている。次に動作について説明する。まず、本発明の実施の形態1に係る仮想計算機システムの全体的な動作について説明する。本発明の実施の形態1に係る仮想計算機システムは、外部の装置/ユーザから処理要求を受け付け、仮想計算機システム1内で各処理要求の負荷および優先度に基づいて、各ゲストOSが使用する資源ここでは、CPUの処理時間の割り当ての決定を行い、割当てられた処理時間に各ゲストOSがCPUを用いて処理を行う。処理が終了した場合、外部の装置/ユーザに対して処理結果を送信する。なお、仮想計算機システム1が処理結果を送信する先は、処理要求を入力した要求元のユーザ端末とは限らない。次に、各ゲストOSが使用するCPUの処理時間の割当動作について図4を参照して説明する。外部の装置/ユーザから仮想計算機システム1に処理要求が入力された場合、受付アプリケーション8へ転送されステップS1、受付アプリケーション8では受信した処理要求の情報を精査し、必要な処理の種別を示す要求処理種別を判定するステップS2。要求処理種別が判定できたら、受付アプリケーション8は当該要求処理を実現するために必要なアプリケーション9に対して処理の依頼を行う。その後、受付アプリケーション8は現在処理中の処理要求の内容に識別子を割り当てて要求データベース6に登録し、要求データベースを更新するステップS3。要求データベース6への登録が終わった後、受付アプリケーション8は新しい要求が登録されたことで要求データベース6の内容が変更されことをCPU割当決定機能5に対して通知するステップS4。要求データベース6の更新が通知された際には、CPU割当決定機能5は要求データベース6の内容と種別テーブル7の内容を基に、ハイパーバイザ3が各ゲストOSに対してどのようにCPUを割り当てるかを計算するステップS6。要求DBに処理要求がある場合には、ステップS1に戻り、CPUによる処理が終了し処理要求が全て処理された場合には終了するステップS7。CPU11は、割当スケジュールに基づいて処理要求の内容についてアプリケーション9を実行することにより、要求された処理を実行し、処理結果を外部の装置/ユーザに対して送信することができる。以下に、発明の特徴となる動作について詳述する。要求データベース6への登録動作ステップS4について説明する。外部のユーザ端末から処理要求が入力された場合、受付アプリケーション8がその処理要求を受け付ける。受付アプリケーション8は、受け付けた処理要求に対して要求IDを振り、要求データベース6に登録する。また、受け付けた処理要求の種別を判定し、その種別を要求IDに対応させて要求データベース6に登録する。要求データベース6の設定例を図5に示す。図5に示す設定例では要求IDが1、2、3、4の4つの要求が登録されており、それぞれの要求種別はA、A、D、Cである。図6に、種別テーブル7の設定例を示す。図5では、A~Eの処理要求の種別が登録されている。それぞれの種別で、各OS1~3の負荷が格納されており、例えば、要求処理種別Aでは、各ゲストOSの負荷はOS1,OS2,OS3=1,0,1となっている。また、要求処理種別ごとに優先度が格納されており、優先度はA,B,C,D,E=低、高、低、低、高である。CPU割当スケジュールの決定方法ステップS6について説明する。まず、図4に示すように要求データベース6に高優先度の処理要求最も高い優先度の処理要求が格納されていない場合の割当決定動作について説明する。要求データベース6の更新が通知された場合、CPU割当決定部10は要求データベース6の登録内容を確認する。仮想計算機システム1で処理中の要求の要求種別はA、C、Dの3種類である。CPU割当決定部10は、現在仮想計算機システム1で処理中のA、C、Dの3種類の処理について、種別テーブル7を参照し、それぞれに対応する優先度と各ゲストOSへの負荷を算出する。図5の設定例では、要求種別がAの処理については、優先度が低、各ゲストOSの負荷がOS1,OS2,OS3=1,0,1となっている。同様に要求種別がCの場合には優先度低、OS1,OS2,OS3=1,1,1、要求種別がDの場合には優先度低、OS1,OS2,OS3=1,0,2となる。この結果から現在処理中の要求に対応する要求種別A、C、Dは全て優先度が低で定義されており、同一の優先度を持つことがわかる。全ての処理要求が同一の優先度を持つ場合には、定義された各ゲストOSの負荷に対応した比率で各OSのCPU割当比率を決定する。現在処理中の要求はA、A、D、Cであるため、それらの処理に必要とされる各OSの処理負荷の値を加算するとOS1,OS2,OS3=AADC=1,0,11,0,11,0,21,1,1=4,1,5となり、OS1:OS2:OS3=4:1:5の比率でCPUの割当を行うように決定する。要求データベース6に対応したCPU割当スケジュールを決定したCPU割当決定部5は、結果をハイパーバイザ3内に実装されているCPU割当部10へ設定する。CPU割当部10は、設定されたCPU割当スケジュールに基づき、各ゲストOS4のCPU割当スケジュールを制御する。受付アプリケーション8から他のアプリケーション9に依頼していた処理が完了し、受付アプリケーション8へ応答が返ってきた場合には、受付アプリケーションは応答の内容を確認し、要求データベース6に登録された内容から、対応する要求ID601の登録情報を削除し、CPU割当決定機能5へ要求データベース6が変更されたことを通知する。CPU割当決定機能5は現在の最新の要求データベース6の情報を基にCPU割当スケジュールを決定し、ハイパーバイザ3内のCPU割当部10に設定する。この動作により仮想計算機システム1外部から要求された処理の要求種別に基づき、各ゲストOSへのCPU割当スケジュールを変更する。次に、高優先度の処理要求最も優先度の高い処理要求を受け付けた場合の割当決定動作ステップS6について説明する。すなわち、要求データベース6が図5に示す設定状態であった場合に、外部から要求処理種別がBとEの処理要求が入力された場合の動作について説明する。要求データベース6の更新が通知され、CPU割当決定機能5が割り当てスケジュールを決定する際、要求データベース6から登録されている処理要求の要求処理種別を検索するとA、B、C、D、Eが登録されているということがわかる。図5に示された種別テーブル7から要求種別A、B、C、D、Eに対応する情報を検索すると、B、Eの優先度が高、A、C、Dの優先度は低として設定されていることがわかる。ここで優先度705が異なる要求が要求データベース6に登録されていることがわかるため、CPU割当決定機能5は優先度705の最も高い処理要求に基づいてCPU割当スケジュールを決定する。登録されているA、B、C、D、Eの要求処理種別の優先度は高低の2種類に分類される。このうち最も優先度が高いグループは優先度高と設定されたものである。この結果からCPU割当決定機能5は優先度高に該当する要求処理種別のB、Eの情報を用いてCPU割当スケジュールの決定を行う。すなわち、この場合各OSの負荷はOS1,OS2,OS3=BE=1,1,01,0,2=2,1,2となり、OS1:OS2:OS3=2:1:2の比率でCPUの割当を行うように決定する。CPU11は、設定された割当スケジュールに基づいて処理要求の内容についてアプリケーション9を実行して要求された処理を行い、処理結果を外部の装置/ユーザに対して送信する。これらの動作によりゲストOSをまたがった優先度を考慮することが可能となり、システム全体として優先制御を実現することができ、リアルタイム性を要求される処理に対して効率的にCPU時間を割当てることができるようになる。なお、ここでは、優先度が最も高い処理要求に基づいて割当スケジュールを決定する場合について示したが、優先度が3つ以上設けられている場合例えば、高中低には、2以上の優先度の処理要求例えば、高中に基づいて割当スケジュールを決定するようにしても良い。また、本実施の形態では、処理要求を受け付けた場合にCPUの処理時間の割当を行う場合について示したが、処理要求の受付の有無にかかわらず定期的に要求データベースの内容に基づいてCPUの処理時間の割当を行う構成としてもよい。実施の形態2.実施の形態1では、CPU割当決定部10において、最も高い優先度の処理要求の情報に基づいてCPU割当スケジュールを決定する場合について示したが、実施の形態2では優先度の比率に対応してCPU割当時間を割り振る場合について示す。実施の形態2に係る仮想計算機システムの構成は、図1に示す実施の形態1の仮想計算機システムと同様であり、説明を省略する。図8は本実施の形態に関わる種別テーブル7の設定例について示している。図8に示す種別テーブル7では、実施の形態1で示した種別テーブルと異なり、優先度は数値1~3で設定されている。次に、動作について説明する。実施の形態2に係る仮想計算機システムの全体の動作およびCPU割当決定動作は、実施の形態1に示す場合と同様であり、図4に示すとおりである。ここでは、実施の形態1に示す仮想計算機システムと動作が異なるCPU割当スケジュールの決定ステップS6について説明する。要求データベース6が更新され、図7のように設定された場合、CPU割当決定機能5では要求データベース6に登録されている処理要求の要求処理種別A、B、C、D、Eを種別テーブル7から検索し、各要求処理種別の優先度を識別し、各ゲストOSに対する付加を算出する。要求種別がAの処理について優先度は1、各ゲストOSの負荷はOS1,OS2,OS3=1,0,1となっている。同様に、要求種別がBの場合には優先度は2、1,1,0、要求種別がCの場合には優先度が1、1,1,1、要求種別がDの場合には優先度が1、1,0,2、要求種別がEの場合には優先度が2、1,0,2となる。これらの結果から各ゲストOSへの負荷に対して、優先度に応じて重み付け、すなわち、優先度を乗算した情報を加算して各ゲストOSへのCPU割当時間を決定する。具体的には、OS1,OS2,OS3=AADCBE=1,1,01,1,01,0,21,1,12×1,1,03×1,0,2=9,5,9となり、OS1:OS2:OS3=9:5:9の比率でCPUの割当を行うように決定する。CPU11は、設定された割当スケジュールに基づいて処理要求の内容についてアプリケーション9を実行して要求された処理を行い、処理結果を外部の装置/ユーザに対して送信する。実施の形態2に係る仮想計算機システムでは、上述のような構成となっているため、ゲストOSをまたがった優先度を考慮することが可能となり、システム全体として優先制御を実現することができ、リアルタイム性を要求される処理に対して効率的にCPU時間を割当てることができるようになる。実施の形態3.実施の形態1および2は、種別テーブル7において予め定められた処理要求種別ごとの各ゲストOSに対するCPU負荷に基づいてCPU割当スケジュールの決定する場合について示したが、実施の形態3では処理要求種別の実際の応答時間に基づいて、種別テーブル7を修正し、修正された種別テーブル7に基づいてCPU割り当てを決定する場合について説明する。実施の形態3に係る計算機システムの構成は、実施の形態1に示す場合と同様であり、図1に示す通りである。図9に、実施の形態3に係る仮想計算機システムの要求データベース6の構成を示す。図8において、各エントリには要求ID601に対応する要求実施時刻603を保存する項目が設定されている。要求実施時刻603には受付アプリケーション8が他のアプリケーション9に対して要求を依頼した時刻を格納する。図9に、実施の形態3に係る仮想計算機システムの種別テーブル7の構成を示す。各エントリには要求処理種別701に対応する応答時間下限706、応答時間上限707の情報を設定する。ここで、応答時間下限706とは、予め設定された応答時間の下限値であり、同様に、応答時間上限707とは、予め設定された応答時間の上限値である。また、ここでの応答時間とは、各処理要求の処理に要する時間を指し、ここでは、受付アプリケーション8が他のアプリケーション9に対して要求を依頼してから、要求を依頼された他のアプリケーション9から応答を受け取るまでの時間をいうものとする。次に動作について説明する。実施の形態3に係る仮想計算機システムの全体の動作については図4に示す場合と同様である。仮想計算機システム1が外部から処理要求を受信するステップS1と、受付アプリケーション8がその処理要求を受け付け、他のアプリケーション9に要求を依頼しステップS2、要求データベース6を更新する。その際、実施の形態3においては、要求ID601に対応する要求依頼時の時刻情報を要求実施時刻603に格納する。その後、受け付けアプリケーション8はCPU割当決定機能5に対して、要求データベース6の更新があったことを通知しステップS5、CPU割当決定機能5は各ゲストOS4に対するCPU割当時間のスケジュールを再計算し、再計算された割当時間に基づいて各ゲストOSが処理を実行するステップS6。他のアプリケーション9から応答を受信した場合には、該当する処理要求を要求データベース6から削除し、CPU割当決定機能5は更新された要求データベース5を基に応答時間の計算を行うが、その後要求データベース5に登録されていた該当する処理要求の要求実施時刻603の情報と、要求された処理を実行したアプリケーション9から応答を受信した時刻の情報を用いて処理要求の実行にかかった時間応答時間を算出し、該当する要求処理種別701に対応する応答時間下限706、応答時間上限707の値と比較を行う。実行にかかった時間が応答時間下限706より小さい場合、あるいは実行にかかった時間が応答時間上限707より大きい場合には、対象となる要求処理種別701の各ゲストOSの処理負荷702~704の値を変更する。図11は実施の形態3に対応する要求データベース6の設定例である。図12は実施の形態3に対応する種別テーブル7の設定例である。図11では現在仮想計算機システム1で要求処理種別602がAの要求を1件処理している。要求ID601のその処理要求は01:02:03000に受付アプリケーション8から他のアプリケーション9へ転送している。図13は受付アプリケーション8が処理要求の応答を受信した場合の動作について示している。この状態で受付アプリケーション8が要求ID601に1が設定されている処理要求の応答を、他のアプリケーションから受信した場合には、該当する要求データベース6のエントリを一時格納エリア12に、要求完了時刻1204の情報を付加して保存し、要求データベース6の該当する要求ID601に対応するエントリを削除する動作を示したものである。CPU割当決定機能5は更新された要求データベース6に基づきCPU割当スケジュールの再計算をした後、一時格納エリア12の情報を基に種別テーブル7の更新を行う。図13の例では、要求ID601の値が1を持った処理要求の、受付アプリケーション8における処理時間の計測では要求完了時刻1204から要求実施時刻1203の値を減算すると8msec経過していることがわかる。ここで要求処理種別701がAの場合の処理時間下限706、処理時間上限707を見ると、今回の処理時間が処理時間上限707の値である5よりも大きいため、次回からの要求処理種別Aに対する各ゲストOSのCPU時間の割当を増やすために、図14に示すとおり種別テーブル7の要求処理種別Aに対する各ゲストOSの負荷702~704を例えば10ずつ増やして再設定する。もし、処理時間下限706よりも処理時間が小さい場合には、各ゲストOSの負荷702~704を例えば10ずつ減らす。これらの動作によりCPU使用率の割当に使用する処理負荷の見積もりを、現状のシステムの稼動状況に応じて適切化することで、優先される処理に対しても過剰に資源を割り当てることではなく、適切な資源分配を実現することができる。"