(57)【要約】【課題】通常各個別仮想計算機に配分される資源を、個別ユーザの一時的なサービス要求に際して変更可能にする。【解決手段】ユーザの処理要求を受け付けるＷＥＢサーバ５６と、ＷＥＢサーバからの指示に基づいて個別仮想計算機２０ａ等への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、ユーザから、予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求がＷＥＢサーバ５６に送信された場合、資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、処理要求において変更を要求された計算機性能レベルに応じた空き資源を抽出し、当該ユーザに割り当てた個別仮想計算機２０ａ等を含む資源の割り当てを変更してユーザに配分する。【選択図】図１
2011170679.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムであって、
前記仮想計算機システムは、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザが予めシステムに登録した所望の計算機性能レベルを満たすに足るだけの資源が配分された前記個別仮想計算機を当該ユーザに割り当て、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空き資源を抽出し、当該ユーザに割り当てた個別仮想計算機を含む資源の割り当てを変更して配分することを特徴とする仮想計算機システム。
【請求項２】
前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空きの個別仮想計算機を抽出し、前記抽出された空きの個別仮想計算機を当該ユーザに一時的に割り当てることを特徴とする請求項１に記載の仮想計算機システム。
【請求項３】
前記各個別仮想計算機は、割り当てられたユーザが使用するＯＳを含むシステム・ソフト部を有し、それぞれ内部ＩＰアドレスが付与され、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空きの個別仮想計算機を抽出すると、当該抽出した個別仮想計算機に、当該ユーザに割り当てられた個別仮想計算機のシステム・ソフト部の内容を、当該抽出した個別仮想計算機に複製するとともに、前記抽出した個別仮想計算機に付与されたＩＰアドレスを当該ユーザに割り当てられた個別仮想計算機に付与されたＩＰアドレスに付け替えることにより前記抽出された空きの個別仮想計算機を当該ユーザに一時的に割り当てることを特徴とする請求項２に記載の仮想計算機システム。
【請求項４】
前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照し、前記仮想計算機システムの配分可能な総資源量を把握し、既に配分されている資源量との差異を計算することで配分可能な資源量を把握し、変更を要求された計算機性能レベルに基づいて追加すべき資源配分の量とを比較することにより、要求の実行が可能であるかを判断し、その結果により実行不能を通知するかまたは要求に従い資源を配分することを特徴とする請求項３に記載の仮想計算機システム。
【請求項５】
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、前記仮想計算機システムは、更に、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルを備え、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超える計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、前記メモリアロケーションテーブルを参照して、前記未配分の仮想メモリの論理アドレスを抽出し、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を増加して当該ユーザに一時的に割り当てて前記メモリアロケーションテーブルを更新し、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、前記メモリアロケーションテーブルを参照して、当該ユーザに割り当てられている仮想メモリ資源のうち、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を減じて当該ユーザに一時的に割り当て、該減じた仮想メモリ資源を未配分として前記メモリアロケーションテーブルを更新することを特徴とする請求項１に記載の仮想計算機システム。
【請求項６】
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムであって、
前記複数の個別仮想計算機のうち、ユーザの一時的な処理要求に対して一時的に割り当てる個別仮想計算機を１または複数の一時的割り当て個別仮想計算機として構成され、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、
前記仮想計算機システムは、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルと、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザが予めシステムに登録した所望の計算機性能レベルを満たすに足るだけの資源が配分された前記個別仮想計算機を当該ユーザに割り当て、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、空きの一時的割り当て個別仮想計算機を抽出するとともに、前記メモリアロケーションテーブルを参照して、当該ユーザに割り当てられている仮想メモリ資源のうち、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を増減して前記抽出した一時的割り当て個別仮想計算機に配分することを特徴とする仮想計算機システム。
【請求項７】
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムであって、
前記複数の個別仮想計算機のうち、ユーザに対して一時的に割り当てる個別仮想計算機を１または複数の一時的割り当て個別仮想計算機として構成され、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、
前記仮想計算機システムは、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルと、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
前記ユーザに配分された前記個別仮想計算機において一定時間入出力の操作がなされない状態が継続した時に、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して当該仮想計算機のユーザへの割り当てを自動的に解除し、事前に用意した限定的資源配分の一時割り当て個別仮想計算機を自動的に割り当て、ユーザに配分された前記個別仮想計算機に付与されたＩＰアドレスを当該ユーザに割り当てられた限定的資源配分の個別仮想計算機に付与されたＩＰアドレスに付け替えることにより当該ユーザに限定的資源配分の個別仮想計算機を一時的に割り当てることを特徴とする仮想計算機システム。
【請求項８】
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムにおける資源配分制御方法であって、
前記仮想計算機システムは、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザが予めシステムに登録した所望の計算機性能レベルを満たすに足るだけの資源が配分された前記個別仮想計算機を当該ユーザに割り当てるステップと、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムが、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空き資源を抽出するステップと、当該ユーザに割り当てた個別仮想計算機を含む資源の割り当てを変更して配分するステップと、有することを特徴とする仮想計算機システムにおける資源配分制御方法。
【請求項９】
前記資源割り当てサブシステムが、使用割当状況表示テーブルを参照して前記処理要求において変更を要求された計算機性能レベルに応じた空き資源を抽出するステップは、前記処理要求において変更を要求された計算機性能レベルに応じた空き資源を抽出する空きの個別仮想計算機を抽出する処理であることを特徴とする請求項８に記載の仮想計算機システムシステムにおける資源配分制御方法。
【請求項１０】
前記各個別仮想計算機は、割り当てられたユーザが使用するＯＳを含むシステム・ソフト部を有し、それぞれ内部ＩＰアドレスが付与され、前記資源割り当てサブシステムが、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空きの個別仮想計算機を抽出すると、当該抽出した個別仮想計算機に、当該ユーザに割り当てられた個別仮想計算機のシステム・ソフト部の内容を、当該抽出した個別仮想計算機に複製するステップと、前記抽出した個別仮想計算機に付与されたＩＰアドレスを当該ユーザに割り当てられた個別仮想計算機に付与されたＩＰアドレスに付け替えることにより前記抽出された空きの個別仮想計算機を当該ユーザに一時的に割り当てステップと、を有することを特徴とする請求項８に記載の仮想計算機システムシステムにおける資源配分制御方法。
【請求項１１】
前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照し、前記仮想計算機システムの配分可能な総資源量を把握し、既に配分されている資源量との差異を計算することで配分可能な資源量を把握するステップと、変更を要求された計算機性能レベルに基づいて追加すべき資源配分の量とを比較することにより、要求の実行が可能であるかを判断するステップと、その結果により実行不能を通知するかまたは要求に従い資源を配分するステップとを有することを特徴とする請求項１０に記載の仮想計算機システムにおける資源配分方法。
【請求項１２】
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、前記仮想計算機システムは、更に、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルを備え、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超える計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、前記メモリアロケーションテーブルを参照して、前記未配分の仮想メモリの論理アドレスを抽出し、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を増加して当該ユーザに一時的に割り当てて前記メモリアロケーションテーブルを更新するステップと、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、前記メモリアロケーションテーブルを参照して、当該ユーザに割り当てられている仮想メモリ資源のうち、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を減じ、該減じた仮想メモリ資源を未配分として前記メモリアロケーションテーブルを更新するステップと、有することを特徴とする請求項８に記載の仮想計算機システムにおける資源配分制御方法。
【請求項１３】
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムにおける資源配分制御方法であって、
前記複数の個別仮想計算機のうち、ユーザの一時的な処理要求に対して一時的に割り当てる個別仮想計算機を１または複数の一時的割り当て個別仮想計算機として構成され、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、
前記仮想計算機システムは、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルと、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザが予めシステムに登録した所望の計算機性能レベルを満たすに足るだけの資源が配分された前記個別仮想計算機を当該ユーザに割り当てるステップと、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムが、使用割当状況表示テーブルを参照して、空きの一時的割り当て個別仮想計算機を抽出するステップと、前記メモリアロケーションテーブルを参照して、当該ユーザに割り当てられている仮想メモリ資源のうち、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を増減して前記抽出した一時的割り当て個別仮想計算機に配分するステップと、を有することを特徴とする仮想計算機システムにおける資源配分制御方法。
【請求項１４】
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムにおける資源配分方法であって、
前記複数の個別仮想計算機のうち、ユーザに対して一時的に割り当てる個別仮想計算機を１または複数の一時的割り当て個別仮想計算機として構成され、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、
前記仮想計算機システムは、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルと、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
前記ユーザに配分された前記個別仮想計算機において一定時間入出力の操作がなされない状態が継続した時に、前記資源割り当てサブシステムが、使用割当状況表示テーブルを参照して当該仮想計算機のユーザへの割り当てを自動的に解除するステップと、事前に用意した限定的資源配分の一時割り当て個別仮想計算機を自動的に割り当てるステップと、ユーザに配分された前記個別仮想計算機に付与されたＩＰアドレスを当該ユーザに割り当てられた限定的資源配分の個別仮想計算機に付与されたＩＰアドレスに付け替えることにより当該ユーザに限定的資源配分の個別仮想計算機を一時的に割り当てるステップと、を有することを特徴とする仮想計算機システムにおける資源配分方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムおよびその資源配分制御方法に関するものであり、より詳細には、仮想計算機システム内に複数の個別仮想計算機を構築して、それぞれの個別仮想計算機を複数の個別ユーザの各々に割り当て、各個別ユーザからのサービス要求はＷＥＢサービスを用いて個別仮想計算機管理サブシステムにおいて受信し、通常各個別仮想計算機に配分される資源を、個別ユーザの一時的なサービス要求に際して変更可能とした仮想計算機システムおよびその資源配分制御方法に関するものである。
【背景技術】
【０００２】
従来から、仮想計算機モニタプログラム（ＶＭモニタ）として知られた制御プログラムにより実計算機上で複数の仮想計算機（ゲストＶＭ）を動作可能とし、ゲストＶＭの各々がオペレーティングシステムＯＳで動作できる仮想計算機システムが大型コンピュータの利用技術の一つとして知られている。このような仮想計算機の技術を応用すれば、１つの大型の仮想計算機上に、複数の個別仮想計算機を構築し、その個別仮想計算機を個別のユーザの利用に供するシステムを提供することができる。
【０００３】
例えば、下記の特許文献１（特開平５−３２４３６１号公報）には、各仮想計算機上のゲストＯＳで実行されるコマンドを一元的に取り扱うようにした仮想計算機システムが開示されている。この仮想計算機システムは、仮想計算機システムのハイパーバイザーの表示する制御画面に、仮想計算機上で動作するオペレーティングシステムのコマンドを入力できるようにし、制御画面では、コマンドとそれが実行される各仮想計算機の識別子を対として入力し、コマンドとその実行条件の設定、変更をおこなうことができるように構成したものである。
【０００４】
また、下記の特許文献２（特開２００８−２９３１１７号公報）には、仮想計算機の性能を監視する方法及び装置の発明が開示されている。この監視方法及び装置は、計算機は、論理的に分割された前記計算機の資源の各々を、第１仮想計算機及び第２仮想計算機として動作させる仮想化プログラムを実行し、前記第１仮想計算機は、第１ＯＳを実行し、前記第２仮想計算機は、第２ＯＳを実行し、前記方法は、前記仮想化プログラムによって前記第１仮想計算機及び前記第２仮想計算機に割り当てられた前記資源に関する情報を、前記仮想化プログラムから取得し、前記第１仮想計算機の性能を示す情報を、前記第１ＯＳから取得し、前記第２仮想計算機の性能を示す情報を、前記第２ＯＳから取得し、前記取得した情報と、前記情報が取得された時刻を示す情報とを記憶装置に格納し、前記時刻を示す情報、前記時刻において取得された前記資源に関する情報及び前記性能を示す情報を出力するようにしたものである。
【０００５】
このような仮想計算機システムで、複数のゲストＶＭを複数のＣＰＵ上で動作させる場合には、ゲストＶＭがＣＰＵ能力を有効に利用できるようにするため、各ゲストＶＭにＣＰＵ資源の配分量（配分比）を決め、この配分量に従って順番にゲストＶＭを走行させている。
【０００６】
更に、下記の特許文献３（特開平５−３２４３６１号公報）には、ＣＰＵ配分が不均等であっても、指定したＣＰＵ資源の配分比を維持して実ＣＰＵの有効利用を図った仮想計算機システムのＣＰＵ制御方式が開示されている。この制御方式は、ＣＰＵ割当情報域１６に設けられ、指定されたＣＰＵ資源の配分量を消化した回数をゲストＶＭ１〜ＶＭｎ毎に動作カウンタで記憶し、レディキュー上のゲストＶＭ１〜ＶＭｎのＣＰＵ資源の配分順序を配分順序制御手段により動作カウンタの動作回数の小さい順番に並べ、動作カウンタの動作回数が同一の場合は配分比の大きい順番にゲストＶＭ１〜ＶＭｎのＣＰＵ配分を行い、動作回数が異なる場合には、動作回数の少ない順番にゲストＶＭ１〜ＶＭｎのＣＰＵ配分を行うようにしたものである。
【０００７】
仮想計算機システムにおいては、システム総体としてその処理性能の低下を防ぐため、与えられる処理量を事前に計測し個別仮想計算機に適切な負荷となるようにそれぞれの仮想計算機に配分される処理量に制限をかけるか、仮想計算機の稼働状況を実時間で計測し処理能力の低下を起こさないよう、実時間で負荷を制御するなどの防止策をとる必要があった。
【０００８】
しかし、ある種のオペレーティングシステム（以下「ＯＳ」という）では中央演算処理装置（ＣＰＵ）の稼働状況を示すデータが抽出できても、他の種類のＯＳでは出来ないなどの不整合があり、必ずしも意図した通り制御することができないでいた。精緻に負荷を計測し制御することは技術的には可能であるが、制御系のサブシステムが巨大なものとなり、主たる機能を提供する仮想計算機機構に近いコストを必要とするなど実用化する上では大きな障害となっている。簡易な負荷分散のための一般的な技術として、精緻な計測が困難な場合のために、例えばラウンドロビン方式などが提唱され利用されている技術分野はあるが、仮想計算機の分野には必ずしも適切とはいえない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平５−３２４３６１号公報
【特許文献２】特開２００８−２９３１１７号公報
【特許文献３】特開平５−３２４３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
仮想計算機において、一台に構築された大型の仮想計算機上に多数の個別仮想計算機を構築し、その個別仮想計算機を個々のユーザの任意の利用に供するという情報処理システムおいて、全体としての処理性能を低下させることなく、個別仮想計算機の処理能力を変動させようとした場合、これまでに提案されている負荷の計測技術や制御の方式では商用的実現性に困難さがあった。
【００１１】
理論的には、全ての個別仮想計算機の負荷状況と処理能力を既知の技術で計測し、負荷のバランスを取るなどの方法は容易に考えられるが、個別仮想計算機のユーザが一時的に高性能の仮想計算機を利用したり、一定時間の操作が行われない場合には一時的に低性能の仮想計算機に移動させることなどで資源を節約する、といった細かな要求に応える商用的解決策を提供するには至っていない。
【００１２】
計算機を利用するユーザの業務は多岐にわたる。大きな記憶容量を必要とする高度なＯＳを利用するユーザもいれば、そうでない一般的なＯＳを利用するユーザもいる。また、ユーザが利用するアプリケーションを同様である。一般的なアプリケーションのみで業務を処理できるユーザもいれば、専門的、高度なアプリケーションを用いて業務を処理するユーザもいる。例えば、文書や表の作成、表計算、簡単な画像処理などの作業は一般的なアプリケーションを用いることができ、高いＣＰＵの処理能力やメモリを必要としない。一方、高度な画像処理などの作業はそのためのアプリケーションを必要とし、高いＣＰＵの処理能力やメモリを必要とする。
【００１３】
また、同じユーザであっても、１日あるいは１週間、１ケ月という単位でみた場合、定常的に高度なＣＰＵの処理能力を必要とするものではなく、専門的、高度なアプリケーションを用いた業務を処理する時もあれば、一般的なドキュメント作成などの業務を処理する時もある。
【００１４】
個々のユーザに個別仮想計算機を割り当て各個別仮想計算機に割り当てる資源の配分を考える時、特定の企業内あるいは特定の企業内の特定の業務を担当する組織単位などの場合、各個別仮想計算機の処理能力や割り当てる資源は各ユーザの平均的な業務に基づいて平均化することもでき、そのようにしても資源の有効利用を大きく阻害することもない。しかしながら、不特定多数の個人ユーザに対して個別仮想計算機を提供するサービスを考えた場合には、個々のユーザの要求する水準がまちまちであるから、標準的な個別仮想計算機を提供するシステムでは柔軟な対応ができず、資源の有効利用も阻害されるという問題点がある。
【００１５】
そこで、本発明の目的は、事前に設定した個別仮想計算機の処理能力、資源配分の制御手順に加えて、個別仮想計算機のユーザの要請によっても、個別仮想計算機の処理能力を容易に変化させ、全体としての負荷を高めることなく、また、過大な資源を設けることなく、商用化の観点で合理的な資源配分を実現することができる仮想計算機システムおよびその資源配分制御方法を提供することにある。
【００１６】
すなわち、本発明は、仮想計算機システム内に複数の個別仮想計算機を構築して、それぞれの個別仮想計算機を複数の個別ユーザの各々に割り当て、各個別ユーザからのサービス要求はＷＥＢサービスを用いて個別仮想計算機管理サブシステムにおいて受信し、通常各個別仮想計算機に配分される資源を、個別ユーザの一時的なサービス要求に際して変更可能とした仮想計算機システムおよびその資源配分制御方法を提供することを目的とするものである。
【課題を解決するための手段】
【００１７】
前記課題を解決するために、本願にかかる第1の発明は、
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムであって、
前記仮想計算機システムは、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザが予めシステムに登録した所望の計算機性能レベルを満たすに足るだけの資源が配分された前記個別仮想計算機を当該ユーザに割り当て、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空き資源を抽出し、当該ユーザに割り当てた個別仮想計算機を含む資源の割り当てを変更して配分することを特徴とする。
【００１８】
また、前記第１の発明の１態様において、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空きの個別仮想計算機を抽出し、前記抽出された空きの個別仮想計算機を当該ユーザに一時的に割り当てることを特徴とし、また、第１の発明の１態様において、前記各個別仮想計算機は、割り当てられたユーザが使用するＯＳを含むシステム・ソフト部を有し、それぞれ内部ＩＰアドレスが付与され、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空きの個別仮想計算機を抽出すると、当該抽出した個別仮想計算機に、当該ユーザに割り当てられた個別仮想計算機のシステム・ソフト部の内容を、当該抽出した個別仮想計算機に複製するとともに、前記抽出した個別仮想計算機に付与されたＩＰアドレスを当該ユーザに割り当てられた個別仮想計算機に付与されたＩＰアドレスに付け替えることにより前記抽出された空きの個別仮想計算機を当該ユーザに一時的に割り当てることを特徴とする。更に、第１の発明の１態様において、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照し、前記仮想計算機システムの配分可能な総資源量を把握し、既に配分されている資源量との差異を計算することで配分可能な資源量を把握し、変更を要求された計算機性能レベルに基づいて追加すべき資源配分の量とを比較することにより、要求の実行が可能であるかを判断し、その結果により実行不能を通知するかまたは要求に従い資源を配分することを特徴とする。
【００１９】
本願にかかる第２の発明は、第１発明において、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、前記仮想計算機システムは、更に、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルを備え、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超える計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、前記メモリアロケーションテーブルを参照して、前記未配分の仮想メモリの論理アドレスを抽出し、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を増加して当該ユーザに一時的に割り当てて前記メモリアロケーションテーブルを更新し、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、前記メモリアロケーションテーブルを参照して、当該ユーザに割り当てられている仮想メモリ資源のうち、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を減じて当該ユーザに一時的に割り当て、該減じた仮想メモリ資源を未配分として前記メモリアロケーションテーブルを更新することを特徴とする。
【００２０】
本願にかかる第３の発明は、
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムであって、
前記複数の個別仮想計算機のうち、ユーザの一時的な処理要求に対して一時的に割り当てる個別仮想計算機を１または複数の一時的割り当て個別仮想計算機として構成され、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、
前記仮想計算機システムは、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルと、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザが予めシステムに登録した所望の計算機性能レベルを満たすに足るだけの資源が配分された前記個別仮想計算機を当該ユーザに割り当て、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、空きの一時的割り当て個別仮想計算機を抽出するとともに、前記メモリアロケーションテーブルを参照して、当該ユーザに割り当てられている仮想メモリ資源のうち、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を増減して前記抽出した一時的割り当て個別仮想計算機に配分することを特徴とする。
【００２１】
本願にかかる第４の発明は、
１または複数の実計算機の総資源を論理的に分割して、分割した資源のそれぞれが互いに独立した複数の個別仮想計算機を前記１または複数の実計算機上に構築し、ハイパーバイザーにより制御する仮想計算機システムであって、
前記複数の個別仮想計算機のうち、ユーザに対して一時的に割り当てる個別仮想計算機を１または複数の一時的割り当て個別仮想計算機として構成され、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、
前記仮想計算機システムは、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルと、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
前記ユーザに配分された前記個別仮想計算機において一定時間入出力の操作がなされない状態が継続した時に、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して当該仮想計算機のユーザへの割り当てを自動的に解除し、事前に用意した限定的資源配分の一時割り当て個別仮想計算機を自動的に割り当て、ユーザに配分された前記個別仮想計算機に付与されたＩＰアドレスを当該ユーザに割り当てられた限定的資源配分の個別仮想計算機に付与されたＩＰアドレスに付け替えることにより当該ユーザに限定的資源配分の個別仮想計算機を一時的に割り当てることを特徴とする。
【００２２】
本願にかかる第５の発明〜第８の発明は、第１発明〜第４発明の仮想計算機システムにおける資源配分制御方法の発明である。
【発明の効果】
【００２３】
本願の第１の発明にかかる仮想計算機システムにおいては、仮想計算機システムは、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザが予めシステムに登録した所望の計算機性能レベルを満たすに足るだけの資源が配分された前記個別仮想計算機を当該ユーザに割り当て、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、前記処理要求において変更を要求された計算機性能レベルに応じた空き資源を抽出し、当該ユーザに割り当てた個別仮想計算機を含む資源の割り当てを変更して配分する。
【００２４】
かかる構成によれば、各個別ユーザからのサービス要求はＷＥＢサービスを用いて個別仮想計算機管理サブシステムにおいて受信し、通常各個別仮想計算機に配分される資源を、個別ユーザの一時的なサービス要求に際して容易に変更することが可能になる。
【００２５】
本願の第２の発明にかかる仮想計算機システムにおいては、第１の発明にかかる仮想計算機システムにおいて、仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、前記仮想計算機システムは、更に、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルを備え、ユーザから、予めシステムに登録した所望の計算機性能レベルを超えるか下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、前記メモリアロケーションテーブルを参照して、前記未配分の仮想メモリの論理アドレスを抽出し、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を増減して当該ユーザに一時的に割り当てて前記メモリアロケーションテーブルを更新する。
【００２６】
かかる構成によれば、ユーザからの予めシステムに登録した所望の計算機性能レベルを超えるか下回る計算機性能レベルへの変更を伴う一時的な処理要求に対して、変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように資源を割り当てることができるようになる。
【００２７】
本願の第３の発明にかかる仮想計算機システムにおいては、
複数の個別仮想計算機のうち、ユーザの一時的な処理要求に対して一時的に割り当てる個別仮想計算機を１または複数の一時的割り当て個別仮想計算機として構成され、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、
前記仮想計算機システムは、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルと、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザから、前記予めシステムに登録した所望の計算機性能レベルを超えるかまたは下回る計算機性能レベルへの変更を伴う処理要求が前記ＷＥＢサーバに送信された場合、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して、空きの一時的割り当て個別仮想計算機を抽出するとともに、前記メモリアロケーションテーブルを参照して、当該ユーザに割り当てられている仮想メモリ資源のうち、前記処理要求において変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように、仮想メモリ資源を増減して前記抽出した一時的割り当て個別仮想計算機に配分する。
【００２８】
かかる構成によれば、各個別ユーザからのサービス要求はＷＥＢサービスを用いて個別仮想計算機管理サブシステムにおいて受信し、通常各個別仮想計算機に配分される資源を、個別ユーザの一時的なサービス要求に際して容易に変更することが可能になる。また、ユーザからの予めシステムに登録した所望の計算機性能レベルを超えるか下回る計算機性能レベルへの変更を伴う一時的な処理要求に対して、変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように資源を割り当てることができるようになる。
【００２９】
本願の第４の発明にかかる仮想計算機システムにおいては、
複数の個別仮想計算機のうち、ユーザに対して一時的に割り当てる個別仮想計算機を１または複数の一時的割り当て個別仮想計算機として構成され、
前記仮想計算機システムのメモリ資源は、実メモリを所定の記憶容量の単位で分割し、分割された単位記憶領域毎に論理アドレスが付与された仮想化メモリであり、
前記仮想計算機システムは、前記各個別仮想計算機に配分される仮想化メモリの論理アドレスおよび未配分の仮想化メモリの論理アドレスが記憶されるメモリアロケーションテーブルと、ユーザの処理要求を受け付けるＷＥＢサーバと、該ＷＥＢサーバからの指示に基づいて前記個別仮想計算機への割り当て資源の配分を特定する資源割り当てサブシステムと、各個別仮想計算機毎に割り当てユーザと使用状況と資源の割り当て状況を示す情報を蓄積した使用割当状況表示テーブルと、を備え、
ユーザに配分された前記個別仮想計算機において一定時間入出力の操作がなされない状態が継続した時に、前記資源割り当てサブシステムは、使用割当状況表示テーブルを参照して当該仮想計算機のユーザへの割り当てを自動的に解除し、事前に用意した限定的資源配分の一時割り当て個別仮想計算機を自動的に割り当て、ユーザに配分された前記個別仮想計算機に付与されたＩＰアドレスを当該ユーザに割り当てられた限定的資源配分の個別仮想計算機に付与されたＩＰアドレスに付け替えることにより当該ユーザに限定的資源配分の個別仮想計算機を一時的に割り当てる。
【００３０】
かかる構成によれば、本来ユーザに割り当てられた個別仮想計算機が休止状態を継続している場合に、当該個別仮想計算機において余剰となる資源を、他のユーザの一時的な処理の要求に対して有効に活用することができるようになり、仮想計算機システムに用意する総資源をいたずらに増大させることがない。
【００３１】
本願にかかる第５の発明〜第８の発明によれば、それぞれ、第１発明〜第４発明の仮想計算機システムにおける資源配分制御方法を提供することができるようになる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施例にかかる仮想計算機システムの構成を示すシステム構成図である。
【図２】図１に示す仮想計算機システムにおけるサービスの概念を示す模式図である。
【図３】図１に示す仮想計算機システムにおける制御用計算機の構成を示すブロック図である。
【図４】本発明の仮想計算機システムの基本仮想計算機の資源・性能を表す指標を説明するための図である。
【図５】ユーザに割り当てられる個別仮想計算機の資源・性能を表す指標を説明するための図である。
【図６】ユーザに割り当てられた各個別仮想計算機の使用割り当て状況を示す使用割当状況表示テーブルの構成を示す図である。
【図７】本発明の実施例にかかる仮想計算機システムにおける処理のシーケンスを示す図である。
【図８】ユーザが一時的により高性能な処理能力の個別仮想計算機の要求があった場合の割り当てサブシステムの処理のシーケンスを示す図である。
【図９】ユーザの処理要求に応じて割り当てサブシステムが資源を再配分する詳細な処理の手順を示すシーケンス図である。
【図１０】本発明の実施例２にかかる仮想計算機システムにおける制御用計算機の構成を示すブロック図である。
【図１１】本発明の実施例２にかかる仮想計算機システムにおけるメモリアロケーションの概念を説明するための図である。
【図１２】実施例２にかかるユーザに割り当てられた各個別仮想計算機の使用割り当て状況を示す使用割当状況表示テーブルの構成を示す図である。
【図１３】本発明の実施例２において、ユーザに割り当てられた各個別仮想計算機の使用状況を示す使用割当状況表示テーブルの構成を示す図であり、図１３Ａは、各個別仮想計算機の性能の変更要求がない場合の構成、図１３Ｂはある個別仮想計算機について、性能の変更要求があった場合の構成の一例を示す図である。
【図１４】本発明の実施例２において、ユーザの処理要求に応じて割り当てサブシステムが資源を再配分する詳細な処理の手順を示すシーケンス図である。
【発明を実施するための形態】
【００３３】
以下、本発明の具体例を実施例及び図面を用いて詳細に説明する。但し、以下に示す実施例は、本発明の技術思想を具体化するための仮想計算機システムを例示するものであって、本発明をこの実施例の仮想計算機システムに特定することを意図するものではなく、特許請求の範囲に含まれるその他の実施形態の仮想計算機システムにも等しく適用し得るものである。
【実施例１】
【００３４】
図１は、本発明の実施例にかかる仮想計算機システムの構成を示すシステム構成図である。本発明の第１の実施態様にかかる仮想計算機システムＳは、図１において、複数のユーザが利用する基本仮想計算機１０とその仮想計算機上にソフトウェアとして設定された個別仮想計算機群２０ａ〜２０ｎ、その個別仮想計算機２０ａ〜２０ｎを利用するユーザが入出力を行うためのユーザ端末４０ａ〜４０ｎと、ユーザの要求に応じた資源配分の管理を行うための制御用計算機５０等により構成される。
【００３５】
ユーザ端末４０ａ〜４０ｎはネットワーク３０を介して制御用計算機５０にリクエストを送信し、それぞれに割り当てられた個別仮想計算機２０ａ〜２０ｎを利用する。制御用計算機５０は、ユーザ端末４０ａ〜４０ｎから受信したリクエストに基づいて、基本仮想計算機１０を介して、それぞれに割り当てられた個別仮想計算機２０ａ〜２０ｎにリクエストを処理させる。ユーザ（ユーザ端末）と基本仮想計算機１０の実体が１つの組織や拠点内にある場合にはネットワーク３０は、いわゆる社内ネットワーク（イントラネット）となり、ユーザが広域（社外などに）分散する場合にはインターネット、もしくは広域専用線である。
【００３６】
基本仮想計算機１０は、複数の実計算機群１２（高性能の単一の実計算機であってもよい）と、実計算機群１２（市販のサーバであってよい）のハードウェア上に仮想化を実現するハイパーバイザー１４（例えば、英国ケンブリッジ大学で開発されたＸＥＮと呼ばれるソフトウェアを用いて構成される）を搭載する。その上で、個別仮想計算機を構成する基礎となる特権ドメインと呼ばれる第一の個別仮想計算機（ユーザには解放されないこと、内部機能であることから図１の上では記載していない）を構成する。この第一の個別仮想計算機を使って、ユーザに提供するための第二以降の個別仮想計算機２０ａ〜２０ｎを必要台数構成している。
【００３７】
第二以降の個別仮想計算機２０ａ〜２０ｎを構成するにあたっては、ハイパーバイザー１４上にソフトウェアでＣＰＵに相当するインターフェース（図１のプロセッサ部２４ａ
〜２４ｎを指す）を構成し、そのインターフェース上にユーザに提供するＯＳ２６（例えば、マイクロソフト社が提供する各種ＯＳ）を搭載している。ユーザが利用するアプリケーションソフト（文書作成ソフトウェア、印刷用プリンタドライバなど）はそのＯＳ上に適合する（互換性がある）バージョンのソフトウェアを搭載する。個別仮想計算機２０ａ〜２０ｎを利用するユーザは、図１のユーザ端末４０ａ〜４０ｎより当該ユーザに割り当てられた仮想計算機に接続し、必要なアプリケーションを利用する。
【００３８】
上記説明は、単体の実サーバ上に個別仮想計算機を構成した場合を説明しているが、複数台のサーバを集めてサーバ群を構成することで、一台のサーバでは達成が困難な処理能力を持った仮想的サーバを構成し利用する場合もある。すなわち、仮想化技術を用いることで一台のサーバを複数台の個別仮想計算機に構成でき、また複数台の実サーバをまとめ仮想的に一台のサーバも構成できる。この技術を用いて、複数台の実サーバをまとめたサーバ群上に複数台の個別仮想計算機を構成することで、安価なサーバを複数集めた高性能サーバ上に必要な個別計算機を構成することができ、商用的観点で合理的なシステムを構成することができる。
【００３９】
一般的な仮想計算機システムにおいては、システム側でユーザの処理要求を満足できるように個別仮想計算機への資源配分を設定している。しかしながら不特定多数の個人ユーザに対して個別仮想計算機を提供するサービスを考えた場合には、個々のユーザの要求する水準がまちまちであるから、ユーザに対して標準的な個別仮想計算機を提供するシステムでは柔軟な対応ができず、資源の有効利用も阻害される。
【００４０】
図２は、図１に示す本発明にかかる仮想計算機システムＳにおけるサービスの概念を示す模式図である。ここでは、ユーザ端末４０ａ（ユーザａ）と、当該ユーザａに割り当てられた個別仮想計算機２０ａのシステム・ソフト部２２ａのみが図示されている。ユーザ端末４０ａはネットワーク３０を介して制御用計算機５０にリクエストを送信し、それぞれに割り当てられた個別仮想計算機２０ａを利用する。制御用計算機５０は、ユーザ端末４０ａから受信したリクエストに基づいて、基本仮想計算機１０を介して、それぞれに割り当てられた個別仮想計算機２０ａにリクエストを処理させる。
【００４１】
ユーザａに割り当てられた個別仮想計算機２０ａのシステム・ソフト部２２ａには、ユーザａに応じたＯＳ２６と、ユーザａが使用する個別ＡＰＰ（個別アプリケーション）２８が搭載されている。複数のユーザが共通的（一般的）に使用するアプリケーションは、システム側に用意された共通ＡＰＰ（共通アプリケーション）２９を用いるように構成されている。制御用計算機５０は、ＷＥＢサーバ５６を有しており、ユーザ端末４０ａはネットワーク３０を介してＷＥＢサーバ５６にリクエストを送信し、ＷＥＢサーバ５６が提供するブラウザを使い、自身に割り当てられた個別仮想計算機２０ａに接続して必要とする処理を行い、処理の経過あるいは処理結果は個別仮想計算機２０ａに保存される。処理の経過や配分されている資源量などの管理情報はＷＥＢサーバ５６が提供するブラウザ上に表示される。ＷＥＢサーバ５６を含む制御用計算機５０の構成、機能は後に詳細に説明する。
【００４２】
ユーザａは計算機を用いた自身の業務を実行するにあたって、ユーザ端末４０ａから、予めシステムに登録したユーザ名、ＰＷ（パスワード）、クライアント名などのユーザ識別情報を入力してＷＥＢサーバ５６に接続要求を送信する。ＷＥＢサーバ５６はユーザ識別情報に基づいて認証を行い正規のユーザであれば、ユーザａに割り当てられた個別仮想計算機２０ａの内部ＩＰアドレス（仮想計算機システム側で管理する個別仮想計算機２０ａ〜２０ｎの内部ＩＰアドレス）に変換し、該当する個別仮想計算機２０ａを起動し、ＷＥＢブラウザを用いてユーザ端末４０ａの表示画面に個別仮想計算機２０ａのデスクトップ画面を表示させ、ユーザａが所望する処理を行わせる。処理の経過、結果もユーザ端末２０ａの表示画面上に表示されるが、それら処理経過や処理結果のデータは個別仮想計算機２０ａに保存される。
【００４３】
従って、ユーザａのユーザ端末４０ａは、ネットワークを用いた通信機能とＷＥＢサーバ５６から提供されるブラウザを表示する機能があればよく、ユーザａが利用するアプリケーションをインストールしておく必要もない。ユーザが必要とするＯＳや各種アプリケーションプログラムのバージョンアップを仮想計算機システム側で実施するように実装したことから、ユーザはこれらのメンテナンス処理を自身で行う必要もない。また、コンピュータウィルスに対する対応も仮想計算機システム側で構築しているので、ユーザが個別に対応する必要もなくキュリティーも確保できる。
【００４４】
なお、ユーザ端末４０ａ等をシンクライアントシステム（例えば、特開２００５−２２８２２７号公報に開示された技術）に適合するシンクライアントＰＣとすれば、個別仮想計算機とのネットワーク接続を行うときにブラウザを使用し、その後の処理の結果を表示する時はソフトで構成されたいわゆるシンクライアント端末として動作させることができる。
【００４５】
更に、複数のユーザでグループを構成し、個々のユーザがそれぞれの個別仮想計算機を用いて作成あるいは取得したデータを共有し、各データへのアクセス権、アクセスレベル（表示、参照、複写、書換え）をユーザ対応に設定しておけば、グループ内のデータ管理、データセキュリティーの確保が可能になる。仮想計算機システム側はこのようなサービスおよび、以下に述べる個別仮想計算機の提供サービスを総合した対価をユーザあるいはユーザのグループに対して設定することで、仮想計算機システムを用いたビジネスモデルが構築される。
【００４６】
ユーザの業務は多岐にわたる。文書や表の作成、表計算、簡単な画像処理などの作業は一般的なアプリケーションを用いることができ、高いＣＰＵの処理能力やメモリを必要としない。高度な画像処理などの作業はそのためのアプリケーションを必要とし、高いＣＰＵの処理能力やメモリを必要とする。また、同じユーザであっても、ある時間の単位でみた場合、定常的に高度なＣＰＵの処理能力を必要とするものではなく、専門的、高度なアプリケーションを用いた業務を処理する時もあれば、一般的なドキュメント作成などの業務を処理する時もある。
【００４７】
本発明の仮想計算機システムＳによれば、ユーザは、最もユーザが日常的に（平均的に）必要とする計算機の処理能力（計算機性能レベル）を予めシステム側に設定（登録）して、自身に割り当てられる個別仮想計算機の資源配分を設定しておき、ユーザが設定した計算機の処理能力（日常的に使用する処理能力（計算機性能レベル））を一時的に上回る、あるいは、下回る処理能力を必要とする場合には、システムに対して資源配分の一時的変更を要求するようにしたものである。このような構成によれば、ユーザは日常的に必要とする資源配分を受けた個別仮想計算機を用いたサービスに対する対価を支払い、ユーザが設定した計算機の処理能力（日常的に使用する処理能力）を一時的に上回る、あるいは、下回る処理能力を必要とした場合には、通常の対価に上乗せし、あるいは、通常の対価を低減して対価を支払うことにより所望のサービスを受けることができる。
【００４８】
図３は、制御用計算機５０の構成を示すブロック図である。制御用計算機５０は、ユーザがより高性能の個別仮想計算機を要求、あるいは逆により低性能の個別仮想計算機の利用に切り替える要求に対応し、個別仮想計算機２０ａ〜２０ｎの割り当てを制御するサブシステムである。制御用計算機５０は、先に説明したＷＥＢサーバ５６の他に、ハイパーバイザーＩＦ（インターフェース）５５、使用割当状況表示テーブル５７、資源割り当てサブシステム５８、サービス間連携プロセス５９等を含んで構成されている。
【００４９】
ハイパーバイザーＩＦ５５は、基本仮想計算機１０と制御用計算機５０とを連携させるための通信インターフェースであり、ＷＥＢサーバ５６を介して受け付けられたユーザの要求は、ハイパーバイザーＩＦを経由して仮想化を実現するハイパーバイザー１４に伝えられる。また、ユーザ要求に応じたハイパーバイザー１４の処理はハイパーバイザーＩＦ５５を介してサービス間連携プロセス５９に伝えられる。
【００５０】
資源割当サブシステム５８はＷＥＢサーバ５６がユーザの要求を受け付けると、使用割当状況表示テーブル５７に記憶された個別仮想計算機２０ａ〜２０ｎを参照し、利用可能な資源の有無を判断し、利用可能な個別仮想計算機を選択しユーザの利用に提供するための指示をＷＥＢサーバ５６、サービス間連携プロセス５９に与える。使用割当状況表示テーブル５７の構成およびその詳細は、図４〜図７を参照して後に詳述する。サービス間連携プロセス５９は、ハイパーバイザーＩＦ５５を介して資源割り当てサブシステム５８はハイパーバイザー１４、ＷＥＢサーバ５６等の間を連携させる。
【００５１】
次に、本発明の仮想計算機システムにおける個別仮想計算機とその資源配分方法の概念について、図４〜図６を参照して説明する。図４は基本仮想計算機１０の配分可能な総可用性能指標の算出例である。本発明では資源配分実施に先立って、配分可能な計算機資源の総量を把握しておく必要がある。このアイデアの背景は、個別仮想計算機２０ａ〜２０ｎの性能は配分される主メモリー量とＣＰＵの性能で決定されるという性質を利用している。
【００５２】
実計算機１台に主メモリー３２ＧＢ（ギガバイト）、ＣＰＵモジュールとしてその内部にＣＰＵコア４ヶを有するものを２基搭載した（合計ＣＰＵコアが８ヶある）計算機を想定した時、そのクロック数が２ＧＨｚ（ギガヘルツ）のものは、ラップトップ型パソコンで主メモリー１ＧＢ（ギガバイト）、クロック数１ＧＨｚ（ギガヘルツ）のものに換算すると３０台に相当することが経験的にわかっている。
【００５３】
そこで、図１における基本仮想計算機１０を構成する実計算機として複数台の実計算機群１２を用いる時に、その複数台の実計算機群１２が全体として有する配分可能な資源量の見極めを上記した換算方式で算出する。計算はその実計算機の有する主メモリー量、ＣＰＵのコア数、クロック数の積から、「主メモリー量（ギガバイト）―２」×「コア数/ＣＰＵ」×「ＣＰＵ数」×「クロック数（ギガヘルツ）」÷１６台の算術式を用いて配分可能な台数を導く。例えば、３２ＧＢ主メモリー、２ＣＰＵで４コア、クロック数２ＧＨｚの場合には「（３２−２）×４×２×２÷１６＝３０台」となる。
【００５４】
ただし、本発明では性能の違う個別仮想計算機２０ａ〜２０ｎの配分をユーザの所望する個別仮想計算機の性能をきめ細かく実施することがねらいであるので、上記したように台数で管理するのではなく、指標で管理する方式を採る。例えば、いわゆるスクリーンセーバーなどのアプリケーションに必要となる最小限の資源配分状態から高性能サーバに近い性能を個別ユーザに割り当てることを勘案して、上記したラップトップ型パソコンの指数を４とおくこととした。本発明ではこれを基準に総合指標（「可用性能指標」と呼ぶ）に換算した値を利用している。これによると、上記した実計算機の可用性能指標は、「３０台×指数（４）＝１２０」と表される。
【００５５】
この可用性能指標の意味するところは、上気したラップトップ型パソコンと同等の計算機性能レベルを持つ個別仮想計算機を構成するならば「１２０÷４＝３０台」が当該サーバ上に構成できることを意味し、より低位機種としていわゆるＰＤＡ程度の処理能力の機種とするならば、その必要となる可用性能指標は１程度となることから、「１２０÷１＝１２０台」となり、１２０台を構成することが可能と判断できる。
【００５６】
こうした計算方式で、実計算機群１２の物理的性能数値から、本発明で用いる配分可能な個々の実計算機の可用性能指標（計算機性能レベルに相当する指標）を算出し、それぞれの実計算機の可用性能指標の合算値をだすことにより、基本仮想計算機１０が有する総可用性能指標（総性能指標）を導き出すことができる。本発明のシステムの運用に当たっては、この総可用性能指標（総性能指標）をそれぞれのユーザの要求に応じて動的に配分を切り替えながら、この総可用性能指標（総性能指標）を越えない範囲で、ユーザの個別の要求を充足しながら運転する構成としている。図４は、このようにして番号００１〜番号ｎまでの各実計算機について算出した可用性能指標を例示したものである。各実計算機の可用性能指標を合計した値「６００」が、基本仮想計算機１０の総可用性能指標となる。従って、図４に従えば、本発明にかかる仮想計算機システムでは、可用性能指標「６００」の範囲で、各個別仮想計算機２０ａ〜２０ｎを構成することができることになる。
【００５７】
図５は、可用性能指標と個別仮想計算機２０ａ〜２０ｎの性能との関係を表現している。本発明は商用的簡便さを持って動的に資源配分をおこなうことを実現することにある。この観点から、ユーザが実際に利用しているパソコンや携帯型のデバイス（いわゆるパーソナル・ディジタルアシスタンス＝ＰＤＡと略す）などの性能評価を行った。その結果、上述した様に、汎用のラップトップ型コンピュータの必要とする可用性能指標を４とした場合にＰＤＡではその１／４程度であり、上位機種に相当するデスクトップ型パソコンでは汎用ラップトップ型の倍の性能指標となっているので、その結果を適用することとした。
【００５８】
この他、ほぼ休止状態に近いが運転は行われている状態を作っておくために、可用性能指標として０．２という割当も用意した。また、ユーザからより上位機種（上位の性能）を求められた場合に提供可能とするために可用性能指標１６というサーバクラスの割当も用意した。これまでに述べているのは可用性能指標であるが、実際のシステム構築時にはその可用性能指標のそれぞれに対応する実メモリーの割当を変動させることで実現している。図５は、上述した可用性能指標「１６」〜「０．２」に対応する個別仮想計算機に具体的に配分される実メモリー量の関係を示したものである。
【００５９】
図６は、以上のようにして構築される個別仮想計算機２０ａ〜２０ｎの使用割当状況表示テーブル５７の内容を示している。本割当テーブルは、現在時間で基本仮想計算機１０の内部に構成された個別仮想計算機２０ａ〜２０ｎのそれぞれが、どのような可用性能指標を有するか、現在どのユーザに割当られているか、当該ユーザは使用中であるかあるいは割り当られてはいるがアイドリング状態にあるか、また有期限での割り当となっている場合には残存利用可能時間はあと何時間何分残っているか、とそれぞれの個別仮想計算機２０ａ〜２０ｎのとりうる状態遷移のなかでどの状態にあるか、を示すものである。状態遷移については、図７〜図８を参照して後述する。
【００６０】
また、本発明では個別仮想計算機（それぞれ固有の可用性能指標を有する）の台数設定に当たっては、ビジネス的観点から可用性能指標が４である個別仮想計算機を８０台（これにより図４に例示した基本仮想計算機総性能指標である可用性能指標６００の中から、３２０を可用性能指標が４である個別仮想計算機に配分されている。残る可用性能指標２８０の中から可用性能指標８である個別仮想計算機２０台に配分し、可用性能指標１６の個別仮想計算機６台に、さらに可用性能指標１の機種を２０台、可用性能指標０．２の機種を２０台で、合計６００の可用性能指標の累積値とした。
【００６１】
この数値は、ビジネス的観点から設定しているのであり、可用性能指標８の計算機を可用性能指標１の計算機８台に置き換えることや、その逆の置き換えもユーザの要求に対する対応として変更することができる。上記では、図６でいう総可用性能指標であるＸは６００となっており、最大限の配分がなされている状態である。ただし、そのうち、ユーザに割り当されていない仮想計算機があり、割り当られ使用されている可用性能指標の合算値Ｙは６００を越えない。
【００６２】
本発明においては、先に説明したように、ユーザ自身が所望する計算機の性能（サーバマシン相当、デスクトップ機相当、汎用ラップトップ相当等）を予めシステムに設定（登録）しておく。システム側ではこのユーザの設定（登録）に基づいて個別仮想計算機の１つを当該ユーザに割り当て、その可用性能指標に応じた資源（メモリ量）を配分する。以下、本明細書においてはユーザが設定した計算機の性能（可用性能指標）の範囲内での処理を、通常処理要求レベルまたは通常処理要求ということとする。これに対して、ユーザが一時的に通常処理要求レベルを超える処理または通常処理要求レベルより低い処理を行う場合を、一時的処理要求レベルまたは一時的処理要求ということとする。
【００６３】
特定のユーザに割り当てられた個別仮想計算機（例えば２０ａ）にはシステム側で管理する内部ＩＰアドレスが付与され、ユーザ名、ＰＷ、クライアント名から、そのユーザに割り当てられた内部ＩＰアドレスに変換され、該当する個別仮想計算機（例えば２０ａ）が特定される。通常、ユーザは設定した計算機の性能の範囲内（通常処理要求レベル）で仮想計算機システムに処理を要求する。
【００６４】
ユーザが設定した計算機の性能を上回るまたは下回る処理（一時的処理要求レベル）を所望する時には、ＷＥＢサーバ５６への接続要求時にその旨を入力する。この要求が行われると、仮想計算機システムＳは、図６に示す使用割当状況表示テーブル５７を参照し、空き資源を一時的に再配分する。本発明の実施例１においては、ユーザが要求した一時的処理要求レベルに相当する可用性能指標を持ち、他のユーザに割り当てられた個別仮想計算機の空きを調べ、空きがあれば、空いている個別仮想計算機を要求ユーザに対して一時的に割り当てて利用させる。すなわち、本実施例においては資源としての個別仮想計算機そのものが空き資源の状態にある時には、当該空きの個別仮想計算機を一時的に他のユーザに割り当て変更して配分する。
【００６５】
例えば、可用性能指標「４」の性能を登録し、個別仮想計算機２０ａを割り当てられたユーザａが、可用性能指標「１６」の性能を要する一時的処理要求レベルを行い、他のユーザに割り当てられた可用性能指標「１６」の個別仮想計算機２０ｎが空きであった場合、資源割り当てサブシステム５８は、個別仮想計算機２０ａのシステム・ソフト部に記憶されたＯＳ２６やアプリケーションを個別仮想計算機２０ｎにコピー（複製）し、個別仮想計算機２０ｎの内部ＩＰアドレスを、個別仮想計算機２０ａの内部ＩＰアドレスに付け替える。この手順により、可用性能指標「１６」に一時的に変更を要求したユーザに対して、該当する空きの個別仮想計算機２０ｎを一時的に割り当て変更して利用させることができる。
【００６６】
次に、このような資源配分の手順の詳細について、図７〜図９に示す動作シーケンス図を参照して説明する。図７は、図１〜図６を参照して説明した構成をもつ基本仮想計算機１０において個別ユーザの利用に提供されている個別仮想計算機群２０ａ〜２０ｎの中から、その一例として個別仮想計算機２０ａを例に、状態遷移の観点から仮想計算機システムＳの動作シーケンスを説明するシーケンス図である。
【００６７】
まず、ユーザａは個別仮想計算機２０ａを利用するに先立って、ユーザａはＷＥＢサーバ５６にユーザ名、パスワード、クライアント名など所定のユーザ情報を送信し、ＷＥＢサーバ５６においてユーザとして利用権限があるか否か認証される。このシーケンスは一般的プロセスであることから図示は省略している。利用権限が確認されると、当該ユーザａに割り当てられている個別仮想計算機２０ａへユーザ端末４０からの通信経路の確立が行われる（使用開始：シーケンスＳ１００の状態）。
【００６８】
通信経路の確立は、ユーザ端末４０ａからのＩＰ通信（インターネットプロトコル通信）がなされる先の個別仮想計算機２０ａにシステムから動的に割り当てられているＩＰアドレスを、ユーザ端末４０にシステムの経路確立までの動作の一部として通知し、通信経路を確立する通常の方式でなされる。ユーザは実質的には通知されたＩＰアドレスを意識する必要はなく、ＷＥＢサーバ５６においてユーザ名、ＰＷ等の認証情報に基づいて当該ユーザに割割り当てられた個別仮想計算機２０ａのＩＰアドレスを特定し、そのＩＰアドレスに該当するその個別仮想計算機２０のデスクトップ画面をブラウザ表示させることで行われる。
【００６９】
使用開始のシーケンスＳ１００の状態からシステムが立ち上がる一定時間が経過すると、ユーザａが予め設定（システムに登録した）所定の性能（可用性能指標）を有する個別仮想計算機２０ａの割当が完了し、通常リソース割り当て状態（シーケンスＳ１０４）に状態は遷移する。このあと、個別仮想計算機２０ａの利用が連続的にあるときは連続運転状態（シーケンスＳ１１０）として、特にそのリソース割り当て（資源配分）の変化が起きることは無い。連続的であるとは、アプリケーションプログラムが所定の処理をおこなっている、ユーザが文章を入力している、システムの入出力系が動作している等の状態にあることをいう。
【００７０】
しかし、そうしたアプリケーションプログラムが処理を終了しており、ユーザがキー入力などを行わない状態にあるときは「使用」していない状態であるという。しかし、連続運転状態（シーケンスＳ１１０）が継続していた中で、当該ユーザが「使用を中止する」（シーケンスＳ１２４）の手順を起動させるか、「当初の割り当てと異なるリソース割当要求」発生（シーケンスＳ１５０）があるか、「一定時間以上の使用が無い」（シーケンスＳ１２２）状態のいずれかが発生すると、それぞれのイベントごとに別の状態遷移を起こさせる様にシステムを構築してある。
【００７１】
「使用を中止する」（シーケンスＳ１２４）手順が起動された場合には、それまで当該ユーザに割り当てられていた個別仮想計算機２０ａへの通信路が切断され、図６に示した例として、個別仮想計算機番号１００１の使用ステータスは「使用中」からたとえば個別仮想計算機番号１００３に見られる様に使用割当状況「未割り当て」、使用ステータス「アイドリング中」に書き換えられ、個別仮想計算機２０ａは開放される（シーケンスＳ１４０）。これにより、これまで使用されていた個別仮想計算機２０ａの使用は終了し（シーケンスＳ１４２）、他のユーザの利用に提供される準備ができた。
【００７２】
使用を中止するシステム設計上の原因は、ユーザが使用を中止する選択しそのための操作を行った結果として中止に至る場合と、当初より所定の時間のみ利用するという選択を行った結果、図６に示される「管理タイマー」が残り使用可能時間を計測してきて残存時間がゼロになったことをトリガーとして使用を中止するプロセスが起動される場合とがある。
【００７３】
「一定時間以上の使用が無い」（シーケンスＳ１２２）状態が発生するとは、ユーザが端末４０ａに対してキーボードの操作を行わないでいる時間であり、使用中の個別仮想計算機２０ａ内部でもアイドリング状態が一定時間（本実施例では１０分間に設定した）以上継続している状態をいう。この状態にもかかわらずＣＰＵリソースが配分されていることはリソースの無駄であるとの考え方から、休止状態の限定的リソース配分状態へ強制的に遷移させ（シーケンスＳ１３０）て、総合的資源の節約を行っている。この状態遷移の手順は次に述べる通常と異なるリソース割当要求が発生した場合と同様であるので、詳細は次に述べる。
【００７４】
次に、ユーザａにより通常と異なるリソース割り当て要求が発生した場合の状態遷移を説明する。ユーザが計算機を利用していると、利用するアプリケーションの種類や、処理すべき情報量が多い場合によっては、いっそうの高性能の計算機を一時的必要とする場合がある。そのような例を挙げれば、高機能の画像処理ソフトウェアとして多く用いられている例としてはＡｄｏｂｅ社のＰｈｏｔｏｓｈｏｐやＩｌｌｕｓｔｒａｔｏｒなどがあり、処理すべき情報量が多い例としては、年度末に集中して利用される会計ソフトの各種経理データや、印刷版下作成用の原稿などがあげられる。
【００７５】
図８は、図７の「イベントの発生」（シーケンスＳ１２０）のイベントの内、ユーザが一時的により高性能な処理能力の個別仮想計算機の要求を行った場合の処理の流れを説明するシーケンス図である。利用にあたっては、一旦高性能の処理能力を得た後、ユーザの判断で元の通常の処理能力の利用に戻る場合もあれば、高性能機の利用は追加料金が発生することを管理するために利用を時間で制限することもあり、システムとしてはいずれの方法でも不整合を起こさないで機能するようにしている。
【００７６】
ユーザａがより高性能の処理能力を必要とする時は、最初に図３に示されているユーザ接続要求や処理能力拡張要求などを受け付けるＷＥＢサーバ５６に、ユーザが利用している個別仮想計算機のＷＥＢブラウザからアクセスし、必要な性能要求を入力する。この入力は一般のユーザの理解しやすさの観点から、ユーザはＷＥＢサーバ５６が表現する、図５の「ユーザへ配分される個別仮想計算機の性能の例示説明」の中から必要と思われる性能表現（可用性能指標）を選択する方式で行うように構成されている。例えば、ユーザａが使用していた個別仮想計算機２０ａの性能は「汎用のラップトップ計算機に相当」するものであるので、可用性能指標は４、主メモリー配分量は１Ｇバイトである。今回のユーザの要求（一時的処理要求）例は「サーバマシンに相当」する処理能力であり、この場合の可用性能指標は１６、主メモリー配分は４Ｇバイトとなる。
【００７７】
ユーザから「サーバマシン相当」の処理能力利用の要求を受け付けたＷＥＢサーバ５６は、図８の遷移状態（シーケンスＳ１５２）のプロセスにある、ユーザの処理要求を、可用性能指標「１６」に変換を行い、図３に示す資源割り当てサブシステム５８に対して、当該ユーザａが必要とするリソースは可用性能指標「１６」であるとしてアイドリング中の仮想計算機を検索し入手可能であれば割当を行う指示を伝達する。次に、当該指示を受けた資源割当サブシステム５８は、個別仮想計算機の使用割当状況表示テーブル５７の使用中の可用性能指標の合算値Ｙを再計算し最新のＹの値を求めておく（状態遷移シーケンスＳ１５３）。
【００７８】
この結果最新の使用されている可用性能指標が算出されるので、ここでさらにＹ＋１６−４＝Ｙ'を計算する（１６は新たに配分される予定（要求された）可用性能指標の値である。現在使用中の資源が４あることから、それからの増分を求めている）次の状態遷移である判定プロセス１５４において、ＸとＹ'の大小の比較を行い、もしＹ'＞Ｘであるならば、プロセス１５６（シーケンスＳ１５６）へ、もしＹ'≦Ｘであるならば、プロセス１６０（シーケンスＳ１６０）の処理を行わせる。
【００７９】
プロセス１５６（シーケンスＳ１５６）は、基本仮想計算機１０のほとんどのリソースはすでに配分されてしまっており、ユーザがそれまでに利用していた可用性能指標４は利用可能であったが、さらに追加する可用性能指標１２を獲得する余裕の無い状態であったことを意味している。プロセス１６０（シーケンスＳ１６０）に状態遷移させることができるということは、さらに配分可能な可用性能指標が１２を含みそれ以上あった場合であることを意味している。
【００８０】
プロセス１５６に振り分けられた場合には、割当は不能であるので、資源割当サブシステム５８はＷｅｂサーバ５６に対して、割当不能の回答を伝達しその伝達内容は要求してきたユーザに対して、Ｗｅｂ上で要求されたリソースは現在入手できないため、性能の高度の要求に応えられない旨の表示を行ったのち処理を中止する。
【００８１】
図８におけるプロセス１６０（シーケンスＳ１６０）の詳細は、図９に示すシーケンス図に示される。その詳細を示している。プロセス１６０（シーケンスＳ１６０）を起動した資源割り当サブシステム５８は、図９のプロセス１６１（シーケンスＳ１６０）に示すように個別仮想計算機２０ａ〜２０ｎの使用割当状況表示テーブル５７の中から要求された可用性能指標１６を持ち、使用ステータスがアイドリング中となっている、他のユーザに割り当てられた個別仮想計算機を検索する。すなわち、図６に示した個別仮想計算機の使用割当状況表示テーブル５７から、可用性能指標「１６」として他のユーザに割り当てられたグループである個別仮想計算機番号５０００番台から検索を開始し、最初のアイドリング中である個別仮想計算機を抽出する。
【００８２】
図６に示す例によれば、仮想計算機番号５００１番は可用性能指標１６を持ち、かつアイドリング中であることから当該個別仮想計算機が特定され、その内部ＩＰアドレスが個別仮想計算機の使用割当状況表示テーブル５７から抽出され、資源割当サブシステム５８に引き渡される。資源割当サブシステム５８は、プロセス１６２（シーケンスＳ１６２）として、次に割当を要求してきた個別仮想計算機２０ａのシステム・ソフト部２２ａ（この中にはオペレーティングシステム２６も含まれる）の複製を、仮想計算機番号５００１番に対応する個別仮想計算機（この場合、図１上の２０ｎとして説明する）の２２ｎ部分に作成する。
【００８３】
次にプロセス１６３（シーケンスＳ１６３）では、個別仮想計算機２０ｎの運転を開始し、それ以前に端末が接続先として利用していた個別仮想計算機２０ａのための接続用ＩＰアドレスに代わるＩＰアドレスとして個別仮想計算機の使用割当状況表示テーブル５７から抽出し資源割当サブシステム５８に引き渡された個別仮想計算機２０ｎの持つＩＰアドレスが利用できるように付け替え（入れ替え）を行うことで、ユーザ端末からの接続先が停止すること無く切り替えられる。
【００８４】
このようにＩＰアドレスを付け替えることで、異なる性能指標を有する個別仮想計算機の割り当てユーザを一時的に本来割り当てられたユーザから他のユーザに変更しながら合理的なリソース配分で運転することができるようになる。切り替えが終わった段階で、これまで当該ユーザの利用に供してきた個別仮想計算機２０ａは利用を終了したので、個別仮想計算機の使用割当状況表示テーブル５７の上で、使用割当状況は「未割り当て」、使用ステータスは「アイドリング中」に状態記述は改変され、また使用中の総可用性能指標Ｙ'もそれに従い修正される。
【００８５】
その後、提供された個別仮想計算機２０ｎが他の仮想計算機と同様に定常的に運転されていれば、状態遷移は発生しない。これを示しているのが図９における状態１６５（シーケンス（Ｓ１６５）である。しかし、この場合でも前述したように、一定時間（本実施例では１０分間）操作が行われない状態が継続したときは、休止時のリソース割当状態１６９に遷移させ、端末上で何らかのキー操作を行えば（シーケンスＳ１７１）、シーケンスＳ１６４の定常状態に復帰するように実装した。この休止状態の提供も上述した要求割り当と同じ手順が、１０分間の操作が無い状態の継続をトリガーとして起動され、ユーザが端末のキーを操作すれば元の状態に回復するという自動化されたプロセスとして構成している。
【００８６】
休止状態とする以外は、ユーザが一時的に利用してきた高性能の個別仮想計算機の利用を終わらせ、当初利用していた標準的性能指標をもつ個別仮想計算機の利用に戻る場合（図９のプロセス１７２（シーケンスＳ１７２））と、使用そのものを終了する場合に分かれる。使用そのものを終了させる場合には、先述したプロセス１４０（シーケンスＳ１４０）に遷移し、ユーザａに一時的に割り当てられて利用されていた個別仮想計算機２０ｎは解放される。
【００８７】
通常リソース割り当状態に復帰するプロセス１７２（シーケンスＳ１７２）においては、手順はプロセス１６０（シーケンスＳ１６０）と同様にたどるが、プロセス１５４（シーケンスＳ１５４）で行われている、総性能指標の評価によるリソース割り当の可否の判断プロセスは省かれている。高性能機の利用からそれ以下の性能の仮想計算機に切り替える場合には、リソースの必要量は必ず低下することから、割当可否の判断は不要であることによる。これにより、復帰プロセスの処理時間は短縮され、利用者に不便をかけることが無くなっている。プロセス１７２（シーケンスＳ１７２）のでは、当該個別仮想計算機２０ｎのシステム・ソフト部（コアイメージ）を、要求元のユーザａ（ユーザ端末４０ａ）に割り当てられていた標準の性能指標をもつイドリング中の個別仮想計算機２０ａ上に複製を作成し、入出力のネットワークＩＰアドレスを付け替えて再割り当てを完了する。
【００８８】
以上、詳細に説明したように、本発明の実施例１にかかる仮想計算機システムによれば、可用性能指標「４」の性能を登録し、個別仮想計算機２０ａを割り当てられたユーザａが、可用性能指標「１６」の性能を要する一時的処理要求レベルを行い、他のユーザに割り当てられた可用性能指標「１６」の個別仮想計算機２０ｎが空きであった場合、資源割り当てサブシステム５８は、個別仮想計算機２０ａのシステム・ソフト部に記憶されたＯＳ２６やアプリケーションを個別仮想計算機２０ｎにコピー（複写）し、個別仮想計算機２０ｎの内部ＩＰアドレスを、個別仮想計算機２０ａの内部ＩＰアドレスに付け替える。この手順により、可用性能指標「１６」に一時的に変更を要求したユーザに対して、該当する空きの個別仮想計算機２０ｎを一時的に割り当て変更して利用させることができる。
【実施例２】
【００８９】
上記実施例１にかかる仮想計算機システムにおいては、ユーザがシステムに予め設定（登録）した可用性能指標（例えば、可用性能指標「４」）に応じて当該ユーザに割り当てられた個別仮想計算機（例えば、２０ａ）を用いた通常処理要求ではなく、前記可用性能指標を超える一時的処理要求を所望した場合、他のユーザに割り当てられたまたは未割り当ての、前記一時的処理要求を満たす可用性能指標（例えば、可用性能指標「１６」を持つ個別仮想計算機を一時的に要求ユーザに割り当て変更するものであるから、該当する可用性能指標を持つ個別仮想計算機に空きがなければ、割り当ての変更は不能になる（図８のシーケンスＳ１５６参照）。設定された可用性能指標を下回る一時的処理要求の場合も同様である。
【００９０】
しかしながら、仮想計算機システムＳの資源全体の中で、一時的処理要求を満足できる空き資源を提供できれば上記の不都合は生じない。例えば、予め設定（登録）された可用性能指標が「４」であり、要求された可用性能指標が「１６」である上記の場合、他のユーザに割り当てられた可用性能指標「４」の４つの個別仮想計算機が空きであれば、その資源を一時的に要求元のユーザの個別仮想計算機２０ａに割り当て、これを可用性能指標「１６」の性能を持つ個別仮想計算機２０ａとして運用させることもできる。
【００９１】
そこで、本実施例２にかかる仮想計算機システムでは、ある時点で存在する複数のユーザと、そのユーザに割当られている個別仮想計算機との関係を変えること無く、性能変更のための割り当メモリ量を、ユーザの要求に応じて、その時点で使用割り当されていないメモリを動的に探索し割り当することで、ユーザの要求に応えるものである。本実施例２にかかる仮想計算機システムは、使用割り当のされていない個別仮想計算機を可用性能指標によることなく排除することで、資源の節約を図っているところに特徴がある
【００９２】
実施例２にかかる仮想計算機システムＳの構成およびサービス提供の概念は、図１および図２に示した実施例１と同様のものである。図１０は、本発明の実施例２にかかる仮想計算機システムＳにおける制御用計算機５０の構成を示すブロック図である。本実施例２にかかる制御用計算機５０は、図３に示す実施例１にかかる制御用計算機５０の構成と基本的には同様の構成であるが、メモリアロケーションテーブル６０が設けられている点で実施例１の制御用計算機５０とは異なる。他の構成要素は実施例１と同様であり、実施例１の制御用計算機５０と同一の構成要素には同一の参照符号を付してある。説明の重複を避けるため、それら同一の構成要素についての説明は省略する。
【００９３】
本実施例では、動的な資源割り当を商用的簡便さで行うために、基本仮想計算機１０（図１参照）が有する実メモリを、仮想化を実現するハイパーバイザー１４で仮想化されたメモリ７０に変換し、以降の利用のために一定の量（本実施例では２５６メガバイト）毎にブロック分けして、その単位毎に論理アドレスを連番として付与している。図１１はこのようなメモリアロケーションの概念を示している。図１１に示すように、本実施例２では最初の２５６メガバイトは論理アドレス００００に、次の連続するブロック（２５６メガバイト）は０００１の論理アドレスをもち、それに続くブロックは連続した論理アドレスが与えられている。
【００９４】
これらのブロック単位で論理アドレスが付された実メモリが、個別仮想計算機２０ａ〜２０ｎにそれぞれ与えられた可用性能指標に応じて実時間における各個別仮想計算機の使用状況に応じて動的に割り当てられる。従って、図１２に示す本実施例２における使用割当状況表示テーブル５７には、図６に示す実施例１における使用割当状況表示テーブル５７と比較してメモリアロケーションテーブル６０の参照先の情報が追加されている。図１２において、Ｚは総可用性能指標Ｘから使用中の可用性能指標の合算値Ｙを減じた値である。
【００９５】
図１３はメモリアロケーションテーブル６０の構成を示しており、ユーザからの一時的処理要求に基づく資源の割り当て（資源配分）の変更前の状態の例が図１３Ａに示されている。この状態では、それぞれの個別仮想計算機２０ａ〜２０ｎが使用している仮想化されたメモリ７０の論理アドレスがメモリアロケーションテーブル上で、どの論理アドレスの仮想化されたメモリブロックが配分されているかが示されている。この時点では、どのユーザもそれぞれがシステムに設定（登録）した可用性能指標を超えるあるいは下回る一時的処理要求をしていな状態を示している。
【００９６】
すなわち、図１３Ａは、ある時間においてそれぞれの個別仮想計算機２０ａ〜２０ｎが使用しているメモリ（割り当てられたメモリ）の論理アドレスが記憶されたものであり、未割り当てとなっているメモリの論理アドレスも記憶される。この関係が、図１１の時間断面でみた資源の配分状況（割り当て状況）７２に示されている。
【００９７】
この時点でのメモリの配分状況を説明すると、ユーザ＃０００１が使用している個別仮想計算機１００１は論理アドレス００００で示される２５６メガバイトのメモリ、０００１から０００３までのそれぞれの２５６メガバイトのメモリが割り当てられており、合計１ギガバイトを使用中である。この個別仮想計算機の持つ可用性能指標は４であり、本発明では管理の容易さから、可用性能指標の１単位毎に論理アドレスの増分１単位が対応するように構成している。
【００９８】
次に、あるユーザから予めユーザがシステムに設定（登録）してある可用性能指標を超えるまたは下回る資源を必要とする一時的処理要求があった場合について説明する。まず、ユーザがより高性能を必要とする場合には、ユーザの要求を受け付けるＷＥＢサーバ５６（図１０参照）に対して、メモリ量の拡張を要求（一時的処理要求）すると、本実施例２では、追加するメモリ量と価格の情報をユーザに提供し、追加を必要とするメモリの量（増加・減少）の単位は可用性能指標に対応する２５６メガバイトを一単位としている。このようなメモリ量のユーザへの提示は可用性能指標を単位とし、ユーザ判断の容易さとシステム運用の簡便さを計るためである。
【００９９】
具体例としては、例えば、ユーザ＃０００３が使用している個別仮想計算機１００３のすでに配分されているメモリ量である可用性能指標「２」を、４単位増加させ可用性能指標「６」とする要求を行った場合である。図１４はこの場合を具体例とした割り当てサブシステム５８が資源を再配分する詳細な処理の手順を示すシーケンス図である。
【０１００】
ユーザからの要求をＷＥＢサーバ５６が受け付けると、次に資源割当てサブシステム５８に対して、個別仮想計算機１００３の可用性能指標を「６」に変更する指示を行う。資源割り当てサブシステム５８はＷＥＢサーバ５６の指示を受けると、変更要求に伴い割り当てを増加すべきメモリ量を算出する。この場合、当初の（予め設定された）可用性能指標は「２」であり、変更が要求された可用性能指標は「６」であるから、追加割割り当てすべきメモリ量は可用性能指標「４」相当分であると判断される（シーケンスＳ２６１）。
【０１０１】
次いで、資源割り当てサブシステム５８は、図１３Ａに図示するメモリアロケーションテーブル６０の中の「未割り当てブロック」をスキャンし、その時点で配分されていない論理アドレス番号を検索し、増加を必要とする可用性能指標に合致する数まで論理アドレスを抽出する。今回は４単位を追加するので、未割り当のリストから、論理アドレス１０１３，１０１４，１０１７，１０１８の計４単位を抽出する（シーケンスＳ２６２）。
【０１０２】
次に、抽出した論理アドレスリストをメモリアロケーションテーブル６０の個別仮想計算機番号１００３の配分メモリの論理アドレスが記録されている領域に追記する。そうすると、配分前には１０１１と１０１２のみであったものが、論理アドレスのリストは１０１１，１０１２，１０１３，１０１４，１０１７，１０１８と書き換えられる（シーケンスＳ２６３）。これにより、ユーザが要求する可用性能指標６とするための用意ができた。図１３Ｂはこの時点のメモリアロケーションテーブル６０の状態を示している。
【０１０３】
次に、このメモリの論理アドレスを有効化する（割り当てられた個別仮想計算機のＯＳが認識できるようにする）必要があり、その有効化のためには当該個別仮想計算機のＯＳを再立ち上げする。そのために、資源割り当サブシステム５８は論理アドレスのリストを書き換えた後に、当該ＯＳに対してサービス間連携プロセス５９を経由して「再起動」の指示を送り、一旦当該ＯＳをシャットダウンしその後、自動的に当該ＯＳが立ち上がるのを待つ（シーケンスＳ２６３）。
【０１０４】
本実施例２では「再起動」の指示をＯＳに送った後にＯＳが立ち上がり、使用に供されるようになるまでの時間は４５秒から１分３０秒程度と、搭載しているアプリケーションの多寡によりばらつきがあった。しかし、ハードウェアとしての計算機を交換するのに必要とする時間を勘案すると、著しく短時間で性能の変更を行うことができている。この状態で必要な時間だけ、ユーザが要求した可用性能指標を満足する個別仮想計算機を一時処理要求に基づく処理が完了するまで利用し続けることができる（シーケンスＳ２６４）。すなわち、個別仮想計算機に対して連続して操作があれば、資源の追加配分を受けた状態で運転が継続される（シーケンスＳ２６５）。
【０１０５】
次に、高性能の個別仮想計算機の利用を終了させ、割り当てられた個別仮想計算機の性能（可用性能指標）を変更前の性能に戻す必要がある場合や、個別仮想計算機そのものの利用を終わらせる選択がされる場合がある。図１４におけるシーケンスＳ２６６（状態２６６）が、この状態変更の判断を行っていることを意味している。ユーザは前記したように、性能を変更する必要が発生した場合にはＷＥＢサーバ５６に対して、再度処理能力の変更（この場合には、元の変更前の状態に戻す、あるいは、使用そのものを中止する、という変更選択がなされる）要求を行う。
【０１０６】
元の、性能に戻す場合には、図１４のシーケンスＳ２６７に示すように、これまで行われてきた操作の逆が実施され、資源割り当てサブシステム５８は、ＷＥＢサーバ５６から、割り当てメモリを減少させる指示を受取り、現在個別仮想計算機に割り当てられているメモリの論理アドレスが１０１１，１０１２，１０１３，１０１４，１０１７，１０１８であることを確認する。次いで、要求の意味する論理アドレス（ブロック数）が「２」（可用性能指標の差）になるためには、１０１３，１０１４，１０１７，１０１８の４ブロックを減ずる必要があることを認識する。
【０１０７】
本実施例では、新たに追加するときは論理アドレスの番号の少ない方から追加し、減ずるときは大きい番号から減ずるというアルゴリズムを採用している。従って、減ずる必要がある論理アドレス１０１３，１０１４，１０１７，１０１８の計４単位のメモリは、メモリアロケーションテーブル６０の未割り当領域に移動される。ここでいう移動とは、メモリアロケーションテーブル６０上の個別仮想計算機１００３に登録されているメモリの論理アドレスから、移動対象のメモリの論理アドレスが削除され、その論理アドレスが未割り当領域に追記されることをいう。
【０１０８】
これにより、配分変更の前には１０１１，１０１２，１０１３，１０１４，１０１７，１０１８であったものが（図１３Ｂ参照）、論理アドレスのリストは１０１１，１０１２と、元の状態に書き換えられる（図１３Ａ参照）。これにより、ユーザが要求する可用性能指標２に戻すための用意ができた。次に、このメモリの論理アドレスを有効化する必要があり、その有効化のためには当該個別仮想計算機のＯＳを再立ち上げする必要がある。なお、当該個別仮想計算機で使用している以外のＯＳはなんらの操作はしない。
【０１０９】
資源割り当サブシステム５８は、上記したとおり、メモリアロケーションテーブル６０の論理アドレスのリストを書き換えた後に、当該ＯＳに対して「再起動」の指示を送り、一旦ＯＳをシャットダウンしその後の自動立ち上がりを待つ。この手順により、個別仮想計算機は、可用性能指標「２」の個別仮想計算機に戻り、一時的に利用していた一旦ＯＳをシャットダウンしその後の自動立ち上がりを待つ。この手順により、可用性能指標２の個別仮想計算機に戻り、一時的に利用していたメモリは開放される。
【０１１０】
これとは別に、操作を終了する選択を行った場合には、個別仮想計算機１００３に配分されていた論理アドレス１０１１，１０１２，１０１３，１０１４，１０１７，１０１８のすべてが、未割り当領域に書き換えられた後に、当該ＯＳの終了オプションの内「シャットダウンする」指示が送られ、当該ＯＳの稼働が停止し個別仮想計算機の使用が終了する（シーケンスＳ２６８）。
【０１１１】
以上、説明した実施例２にかかる仮想計算機システムによれば、実施例１にかかる仮想計算機システムにおいて、ユーザからの予めシステムに登録した所望の計算機性能レベルを超えるか下回る計算機性能レベルへの変更を伴う一時的な処理要求に対して、変更を要求された計算機性能レベルに応じた量のメモリ資源を満たすように資源を割り当てることができるようになる。
【実施例３】
【０１１２】
以上、説明した実施例２にかかる仮想計算機システムによれば、ユーザがシステムに予め設定（登録）した処理性能（可用性能指標）を超えるまたは下回る一時的処理要求を行った場合、該ユーザに割り当てられた所定の可用性能指標を持つ個別仮想計算機を変更することなく、当該個別仮想計算機に割り当てられ資源配分（メモリ量）を一時的に増減するものであった。また、先に説明した実施例１にかかる仮想計算機システムにおいては、ユーザがシステムに予め設定（登録）した処理性能（可用性能指標）を超えるまたは下回る一時的処理要求を行った場合、ユーザに割り当てられた個別仮想計算機を用いず、他のユーザに割り当てられたまたは未割り当ての前記一時的処理要求を満たす可用性能指標を持つ、空きの個別仮想計算機を一時的に要求ユーザに割り当て変更するものであった。
【０１１３】
これら第１の実施例、第２の実施例に加えて、第１の実施例の構成と第２の実施例の構成を併用した仮想計算機システムを構築することができる。本発明の実施例３にかかる仮想計算機システムは、可用性能指標０．２という一般的にスクリーンセーバーと呼ばれるような、入力信号を待っているだけの状態の個別仮想計算機を１または複数台構築し、ユーザに本来割り当てた個別仮想計算機において一定時間（本実施例では１０分間）操作が行われない状態が継続した時、当該ユーザにこの可用性能指標の個別仮想計算機を使用させるように実施例１の手順（ＩＰアドレスの付け替えとシステム・ソフト部の複写）を適用するとともに、ユーザの要求する可用性能指標に応じたメモリ量の増減（実施例２の手順）も要求に応じて適用する。
【０１１４】
以下、簡単に本発明の実施例３にかかる仮想計算機システムについて説明する。この仮想計算機システムＳは、実施例１にあるような可用性能指標「０．２」という一般的にスクリーンセーバーと呼ばれるような、入力信号を待っているだけの状態の個別仮想計算機を一定時間操作が行われない状態が継続する個別仮想計算機と一時的に入れ替えることで総資源の節約、効率的利用を図ったものである。本実施例３における仮想計算機システムの基本構成は、図１に示す構成と同様の構成であり、制御用計算機は図１０に示す実施例２にかかる制御用計算機の構成と同様の構成である。
【０１１５】
この実施例では、図１１の個別仮想計算機の使用割当状況表示テーブル内に新たに個別仮想計算機で可用性能指標「０．２」の割当をしたものを複数台設置し、管理のために個別仮想計算機番号として２００１，２００２〜２０１０と番号を与えている。これらの個別仮想計算機群は、内部ＩＰアドレスとしては異なるセグメントである１９２．１６８．２０．ＸＸＸ（ＸＸＸは１から１０まで）を付与し、個別仮想計算機番号２００１のＩＰアドレスは１９２．１６８．２０．１に番号２００２のアドレスは１９２．１６８．２０．２に、他もそれぞれが対応する様にアドレスを付与して、ユーザに割り当てられる個別仮想計算機とは別管理が行えるように構成している。
【０１１６】
従って、これらの変更用個別仮想計算機は専ら、ユーザに本来割り当てた個別仮想計算機において一定時間操作が行われない状態が継続する時（休止状態と呼ぶ）に当該個別仮想計算機の資源を節約するためユーザに割り当てられた個別仮想計算機の割り当て変更用に用いることができる。この構成により実施例１において空きの個別仮想計算機がない状態や、変更により一時的に他のユーザに変更して割り当てられた個別仮想計算機の本来ユーザの使用と重複して当該他のユーザの使用が待たされる事態が生ずるような不都合が緩和される。
【０１１７】
あるユーザに割り当てられた個別仮想計算機において、一定時間ユーザによる操作が行われない休止状態が継続する場合、資源割り当てサブシステム（図１０参照）は、変更用個別仮想計算機のうち空きの１つを当該ユーザにタイマーによる管理で自動的に（図7のシーケンスＳ１２２）、一時的に割り当てる。この割当ての手順は、実施例１において採用した図９のシーケンスＳ１６６，Ｓ１６７，Ｓ１６９の順番で、システム・ソフト部の複製、内部ＩＰアドレスの付け替えを行った後、変更用個別仮想計算機の連続運転に移行する（図７のシーケンスＳ１３０）手順である。
【０１１８】
休止状態を終了し本来の使用状態に戻す場合は、当該変更用個別仮想計算機を開放して処理を終了する（実施例１、図９のシーケンスＳ１７１）が、その具体的プロセスは、システム・ソフト部を本来ユーザに割り当てられていた個別仮想計算機に複製し、ＩＰアドレスの付け替えを行う（図９のシーケンスＳ１６２、Ｓ１６３と同様の手順となる）。これによりユーザの一時的休止状態（一時的処理要求と見做すことができる）に対して一時的に事前に設定された少量の資源を配分することができ、その後ユーザは本来割り当てられた個別仮想計算機に復帰して通常処理要求を実行することができる。
【０１１９】
なお、上記の説明は、ユーザに本来割り当てられた個別仮想計算機において、一定時間ユーザ操作がなく休止状態にある場合に、変更用仮想計算機を当該ユーザに一時的に割り当てる態様であるが、ユーザから予め登録した可用性能指標を超える又は下回る一時的所要求があった場合にも適用することができる。この場合、変更用個別仮想計算機を一時的に該当ユーザに割り当てる実施例１の手順と、変更用個別仮想計算機に割り当てられたメモリ資源を増減させる実施例２の手順とを併用して適用すればよい。
【０１２０】
上記実施例３は、実施例２では本来ユーザに割り当てられた個別仮想計算機が休止状態を継続している場合の資源の有効活用が実現できていない課題へ対応する解決策を提供するために実施例１と実施例２の技術を複合して構築したものである。しかし、実施例１と実施例２の複合構成による構成は休止状態の実現に留まらず、より広範な領域への適応が可能になっている。その応用例を以下に示す。
【０１２１】
実施例１では、個別仮想計算機の可用性能指標を「０．２」、「１」、４から「１６」と管理の容易さから実施例２（可用性能指標は１を増減の単位とするステップになっている）と比較すると粗い段階分けとなっている。ユーザの要求によっては、一層きめ細かい性能の割当て変更を要求される場合があり、そうした要求に応えるには、例えば可用性能指標４（この場合の主メモリの配分量は１Ｇバイト）までは、実施例１の割当て方式を採用し、可用性能指標４を越えてユーザが追加の性能を要求した場合には、実施例２の方式の、よりきめ細かく主メモリの配分を制御することで、一層ユーザの要求に忠実に応える解決策を提供する事もできる。
【０１２２】
その他の適応事例としては、図５に示す汎用ラップトップ機相当（可用性能指標４）を標準としたときに、どの機種（どの可用性能指標）を選択するかの一義的（最初の）選択には実施例１の方式で対応させるが、一旦実施例１の方式で対応した後に、調整的（可用性能指標の変更幅がプラスマイナス２程度の）変更には実施例２の方式を採用するという、複合構成の実装も可能である。
【０１２３】
以上、詳細に説明したように、本発明にかかる仮想計算機システムによれば、仮想計算機システム内に複数の個別仮想計算機を配置し、ユーザの都度の要求に応じた処理能力を、商用的簡便さで提供することができ、従来の仮想計算機システムに比較して低コストで、おおむねにおいて最適な資源配分を達成することができるようになる。
【産業上の利用可能性】
【０１２４】
本発明にかかる仮想計算機システムは、ユーザ（ユーザ端末）と基本仮想計算機１０の実体が１つの組織や拠点内にあるイントラネットを用いたシステムに適用できるが、インターネットや広域専用線を用いて広域（社外などに）分散するユーザにサービスを提供するシステムとして好適に適用することができる。
その他、個人事業主などのように情報システムに関する専門家の支援が得にくい職種や事業形態の利用者に、当該サービスを集中的に生成し提供することにより、ＯＳなどの世代交代があっても、情報システムやパソコンの買い替え無しに、より高性能の機能を利用でき、買い替えをした場合に発生する旧型機の廃棄などの環境問題に対してもエコロジカルな解決策を提供することができる。
【符号の説明】
【０１２５】
Ｓ・・・・仮想計算機システム
１０・・・基本仮想計算機
１２・・・実計算機
１４・・・ハイパーバイザー
２０ａ〜２０ｎ・・・・個別仮想計算機
２２ａ〜２２ｎ・・・・システム・ソフト部
２４ａ〜２４ｎ・・・・プロセッサ部
２６・・・ＯＳ
２８・・・個別アプリケーション
２９・・・共通アプリケーション
３０・・・ネットワーク
４０ａ〜４０ｎ・・・・ユーザ端末
５０・・・制御用計算機
５５・・・ハイパーバイザーＩＦ
５６・・・ＷＥＢサーバ
５７・・・使用割当状況表示テーブル
５８・・・資源割り当てサブシステム
５９・・・サービス間連携プロセス
６０・・・メモリアロケーションテーブル
７０・・・仮想化されたメモリ
【図１】
2011170679.tif 000003
【図２】
2011170679.tif 000004
【図３】
2011170679.tif 000005
【図４】
2011170679.tif 000006
【図５】
2011170679.tif 000007
【図６】
2011170679.tif 000008
【図７】
2011170679.tif 000009
【図８】
2011170679.tif 000010
【図９】
2011170679.tif 000011
【図１０】
2011170679.tif 000012
【図１１】
2011170679.tif 000013
【図１２】
2011170679.tif 000014
【図１３】
2011170679.tif 000015
【図１４】
2011170679.tif 000016