(57)【要約】【課題】  最低性能レベルを保証すると共にそれ以上の性能レベルもある程度保証したサービスを効率良く提供することが可能な技術を提供する。【解決手段】  処理の実行の際に用いられる計算機リソースを管理する計算機リソース管理方法において、処理の実行の為に予約される計算機リソースの台数として最低限必要な台数及び最大で必要な台数の入力を受け付けて記憶手段に格納するステップと、単一の処理により専有して用いられる計算機リソースから成る専有プールの情報を記憶手段から読み出し、前記最低限必要な台数の計算機リソースを前記専有プールから選択して予約するステップと、複数の処理により共有して用いられる計算機リソースから成る共有プールの情報を記憶手段から読み出し、前記最大で必要な台数の値から前記最低限必要な台数の値を引いた台数の計算機リソースを前記共有プールから選択し、所定の多重度まで前記選択した計算機リソースを重複して予約するステップとを有するものである。【選択図】        図１
2005234637.tif 000002
【特許請求の範囲】
【請求項１】
処理の実行の際に用いられる計算機リソースを管理する計算機リソース管理方法において、
処理の実行の為に予約される計算機リソースの台数として最低限必要な台数及び最大で必要な台数の入力を受け付けて記憶手段に格納するステップと、
単一の処理により専有して用いられる計算機リソースから成る専有プールの情報を記憶手段から読み出し、前記最低限必要な台数の計算機リソースを前記専有プールから選択して予約するステップと、
複数の処理により共有して用いられる計算機リソースから成る共有プールの情報を記憶手段から読み出し、前記最大で必要な台数の値から前記最低限必要な台数の値を引いた台数の計算機リソースを前記共有プールから選択し、所定の多重度まで前記選択した計算機リソースを重複して予約するステップとを有することを特徴とする計算機リソース管理方法。
【請求項２】
単一の処理により専有して用いられる計算機リソースに対して単一の予約情報を設定して専有プールを表現し、複数の処理により共有して用いられる計算機リソースに複数の予約情報を設定して共有プールを表現することにより、専有プール及び共有プールの情報を記憶手段上で管理することを特徴とする請求項１に記載された計算機リソース管理方法。
【請求項３】
前記計算機リソースに設定される予約情報の数を変更することにより、専有プールと共有プールの境界を可変とすることを特徴とする請求項２に記載された計算機リソース管理方法。
【請求項４】
予約する計算機リソースの性能や金額を含む要件の入力を受け付け、その受け付けた要件を満たす計算機リソースを選択して予約することを特徴とする請求項１乃至請求項３のいずれか１項に記載された計算機リソース管理方法。
【請求項５】
前記計算機リソースの予約を行えなかった場合に、予約可能となる変更例を提示することを特徴とする請求項１乃至請求項４のいずれか１項に記載された計算機リソース管理方法。
【請求項６】
前記計算機リソースの予約を行えなかった場合に、その予約の行えなかったプールへ他方のプール内の空き計算機リソースを移動することを特徴とする請求項１乃至請求項５のいずれか１項に記載された計算機リソース管理方法。
【請求項７】
前記最低限必要な台数及び最大で必要な台数の入力の際に、予約時間毎に異なる値の入力を受け付け、予約時間毎に最低限必要な台数及び最大で必要な台数の異なる予約を行うことを特徴とする請求項１乃至請求項６のいずれか１項に記載された計算機リソース管理方法。
【請求項８】
処理の実行の際に用いられる計算機リソースを管理する計算機リソース管理システムにおいて、
単一の処理により専有して用いられる計算機リソースから成る専有プールと、
複数の処理により共有して用いられる計算機リソースから成る共有プールと、
処理の実行の為に予約される計算機リソースの台数として最低限必要な台数及び最大で必要な台数の入力を受け付けて記憶手段に格納する予約受付処理部と、前記専有プールの情報を記憶手段から読み出し、前記最低限必要な台数の計算機リソースを前記専有プールから選択して予約し、前記共有プールの情報を記憶手段から読み出し、前記最大で必要な台数の値から前記最低限必要な台数の値を引いた台数の計算機リソースを前記共有プールから選択し、所定の多重度まで前記選択した計算機リソースを重複して予約する予約処理部とを備える計算機リソース管理装置とを具備することを特徴とする計算機リソース管理システム。
【請求項９】
処理の実行の際に用いられる計算機リソースを管理する計算機リソース管理装置において、
処理の実行の為に予約される計算機リソースの台数として最低限必要な台数及び最大で必要な台数の入力を受け付けて記憶手段に格納する予約受付処理部と、
単一の処理により専有して用いられる計算機リソースから成る専有プールの情報を記憶手段から読み出し、前記最低限必要な台数の計算機リソースを前記専有プールから選択して予約し、複数の処理により共有して用いられる計算機リソースから成る共有プールの情報を記憶手段から読み出し、前記最大で必要な台数の値から前記最低限必要な台数の値を引いた台数の計算機リソースを前記共有プールから選択し、所定の多重度まで前記選択した計算機リソースを重複して予約する予約処理部とを備えることを特徴とする計算機リソース管理装置。
【請求項１０】
処理の実行の際に用いられる計算機リソースを管理する計算機リソース管理方法をコンピュータに実行させる為のプログラムにおいて、
処理の実行の為に予約される計算機リソースの台数として最低限必要な台数及び最大で必要な台数の入力を受け付けて記憶手段に格納するステップと、
単一の処理により専有して用いられる計算機リソースから成る専有プールの情報を記憶手段から読み出し、前記最低限必要な台数の計算機リソースを前記専有プールから選択して予約するステップと、
複数の処理により共有して用いられる計算機リソースから成る共有プールの情報を記憶手段から読み出し、前記最大で必要な台数の値から前記最低限必要な台数の値を引いた台数の計算機リソースを前記共有プールから選択し、所定の多重度まで前記選択した計算機リソースを重複して予約するステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機リソースを管理する計算機リソース管理システムに関し、特にサーバ資源を専有サーバのプールと共有サーバのプールに分けて管理し、サーバ資源の効率的な予約を実現する計算機リソース管理システムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
従来の予約システムでは、ピーク負荷時の性能を保証するためには、ピーク負荷時に合わせてサーバ資源を予約する必要があった。そのため非ピーク負荷時では予約した資源の多くがアイドル状態となり効率が悪いという問題があった。
【０００３】
この問題を解決する手段として、資源を予約する際に、クライアントの利用パターンを発見して、最小及び最大ホスティング・サービス資源を指定し、各クライアントに排他的に割り当てられる資源と、クライアントの組合せに対して割り当てられる共用資源に対して割り当てを行うことで、非ピーク時の効率を改善する技術がある（例えば特許文献１参照）。
【０００４】
【特許文献１】特開２００２−３１８７９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記従来の技術では、利用パターンを発見して最小及び最大ホスティング・サービス資源を、排他的に割り当てられる排他資源やクライアントの組合せに対して割り当てられる共用資源に割り当てている為、指定される最小及び最大ホスティング・サービス資源の量によっては、排他資源または共用資源の量が不足するという問題がある。
【０００６】
例えば最大ホスティング・サービス資源の量と最小ホスティング・サービス資源の量の差が少ない場合、未使用の共用資源があるにもかかわらず、排他的に割り当てられる資源の台数が足りないという状況が発生し、また逆に最大ホスティング・サービス資源の量と最小ホスティング・サービス資源の量の差が大きい場合、排他的に割り当てられる資源に未使用のものがあるにもかかわらず、共用資源の台数が足りないという状況が発生するという問題が生じる。
【０００７】
本発明の目的は上記問題を解決し、最低性能レベルを保証すると共にそれ以上の性能レベルもある程度保証したサービスを効率良く提供することが可能な技術を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、処理の実行の際に用いられる計算機リソースを管理する計算機リソース管理システムにおいて、計算機リソースを専有プールと共有プールに分けて管理し、最低限必要な台数及び最大で必要な台数に応じて専有プールと共有プールに計算機リソースの予約を割り振るものである。
【０００９】
本発明の計算機リソース管理システムを利用したデータセンタにおいて、サーバ等の各種計算機リソースを利用したサービス（プログラムやオブジェクトの実行により実現される機能）を提供する場合、本発明の計算機リソース管理装置（計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）は、まずそのサービスの提供で用いられる各種計算機リソースを、単一の処理により専有して用いられる計算機リソースから成る専有プールと、複数の処理により共有して用いられる計算機リソースから成る共有プールに分けておく。
【００１０】
そして、処理の実行の為に予約される計算機リソースの台数として最低限必要な台数及び最大で必要な台数の入力を受け付けて記憶手段に格納し、また、予約する計算機リソースの要件として、計算機リソースの性能やその計算機リソースを利用した場合の利用料金等の金額、更に計算機リソースを使用する時刻や期間等の予約時間情報等の入力を受け付けて記憶手段に格納する。
【００１１】
その後、前記専有プール内の計算機リソースの予約状況を示す情報を記憶手段から読み出し、前記予約時間における専有プール内で空き状態となっている計算機リソースの中から前記予約する計算機リソースの要件を満たす計算機リソースを前記最低限必要な台数選択して予約する。
【００１２】
更に、前記共有プール内の計算機リソースの予約状況を示す情報を記憶手段から読み出し、前記予約時間における共有プール内で空き状態となっている計算機リソースの中から前記予約する計算機リソースの要件を満たす計算機リソースを、前記最大で必要な台数の値から前記最低限必要な台数の値を引いた台数選択して予約する。ここで、共有プールの計算機リソースの予約を行う際、単一の計算機リソースに対して共有可能な処理の数を示す多重度まで重複した予約がまだ行われていない計算機リソースについては、その計算機リソースを空き状態として取り扱うものとする。
【００１３】
前記の様に本発明では、複数の計算機リソースを専有プールと共有プールに分けて管理し、最低限必要な台数を、単一の処理により専有して用いられる計算機リソースから成る専有プールに割り振り、最大で必要な台数から最低限必要な台数を引いた台数を、複数の処理により共有して用いられる計算機リソースから成る共有プールに割り振るので、その割り振った計算機リソースによりサービスを提供する際に、最低限必要な台数で示される最低性能レベルを保証すると共に、それ以上の性能レベルもある程度保証したサービスを提供することができる。
【００１４】
また本発明では、前記専有プール及び共有プールの情報を記憶手段上の予約テーブルに格納して管理し、前記記憶手段上の専有プール及び共有プールの情報を変更することにより前記専有プールと共有プールの境界を可変としても良い。
【００１５】
例えば、単一の計算機リソースに対して共有可能な処理の数を示す多重度の情報を含めて予約テーブルで管理し、単一の処理により専有して用いられる計算機リソースに対して単一の予約情報を設定して専有プールを表現し、複数の処理により共有して用いられる計算機リソースに複数の予約情報を設定して共有プールを表現することにより、専有プールの計算機リソースが不足していると共に共有プールの計算機リソースに余裕がある場合やその逆の場合には、前記予約テーブル内の予約情報の数を変更することにより、専有プールの計算機リソースを共有プールへ移動したり、共有プールの計算機リソースを専有プールへ移動したりして、専有プールと共有プールの境界を可変としても良い。
【００１６】
前記の様に専有プールと共有プールの境界を可変とした場合には、予約時に計算機リソースの台数が不足した際に、どの様にプールの境界を変更すれば良いかを表示したり、専有プールまたは共有プールの空き計算機リソースを他方のプールへ移動してより効率的な予約を行うことが可能になる。
【発明の効果】
【００１７】
本発明によれば計算機リソースを専有プールと共有プールに分けて管理することにより、サービスを効率良く提供することが可能である。
【発明を実施するための最良の形態】
【００１８】
以下にデータセンタでの処理の実行の際に用いられる計算機リソースとしてサーバを管理する一実施形態の計算機リソース管理システムについて説明する。
【００１９】
図１は本実施形態の計算機リソース管理システムの全体構成を示す図である。図１に示す様に本実施形態の計算機リソース管理システム１００は、計算機リソース管理装置１０１と、専有プール１０２と、共有プール１０３とを有している。
【００２０】
計算機リソース管理装置１０１は、計算機リソースであるサーバＡ〜Ｘを専有プール１０２と共有プール１０３に分けて管理し、最低限必要な台数及び最大で必要な台数に応じて専有プール１０２と共有プール１０３に各サーバの予約を割り振る情報処理装置である。
【００２１】
専有プール１０２は、単一の処理により専有して用いられるサーバから成るプールである。共有プール１０３は、複数の処理により共有して用いられるサーバから成るプールである。
【００２２】
計算機リソース管理装置１０１は、予約テーブル１１１と、多重度管理テーブル１１２と、サーバ情報テーブル１１３とを有している。
【００２３】
予約テーブル１１１は、各サーバの時刻毎の予約状況を保持するテーブルである。多重度管理テーブル１１２は、単一のサーバに対してそのサーバを共有可能な処理の数を示す多重度を各サーバ毎に保持するテーブルである。サーバ情報テーブル１１３は、各サーバの性能・利用料金等、予約するサーバを選択するための情報を保持するテーブルである。
【００２４】
また計算機リソース管理装置１０１は、予約受付処理部１２１と、予約処理部１２２とを有している。
【００２５】
予約受付処理部１２１は、処理の実行の為に予約される計算機リソースの台数として最低限必要な台数及び最大で必要な台数の入力を受け付けてメモリ等の記憶手段に格納する処理部である。予約処理部１２２は、専有プール１０２の情報を磁気ディスク装置等の記憶手段から読み出し、前記最低限必要な台数の計算機リソースを専有プール１０２から選択して予約し、共有プール１０３の情報を磁気ディスク装置等の記憶手段から読み出し、前記最大で必要な台数の値から前記最低限必要な台数の値を引いた台数の計算機リソースを共有プール１０３から選択し、所定の多重度まで重複して予約する処理部である。
【００２６】
計算機リソース管理装置１０１を予約受付処理部１２１及び予約処理部１２２として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２７】
データセンタ内の計算機リソース管理システム１００で管理される計算機リソースであるサーバ資源Ａ〜Ｘは、それぞれ専有プール１０２か共有プール１０３に属しており、データセンタの管理者が設定することで、各サーバの属するプールを変更することが出来るものとする。
【００２８】
図２は本実施形態の予約テーブル１１１の一例を示す図である。図２に示す様に予約テーブル１１１は、各時刻におけるサーバの予約情報を保持しており、各サーバがいつどのジョブによって予約されているかを表しており、例えばサーバＡ、Ｂ及びＦは時刻１〜時刻６までジョブ１によって予約され、サーバＣ、Ｅ及びＦは時刻１〜４までジョブ２によって予約されていることが判る。
【００２９】
この予約テーブル１１１では、各サーバに対応する予約情報の行数が、そのサーバを同時に予約可能なジョブの数（多重度）を表している。この為、専有プール１０２内のサーバについては１行のテーブルとなり、共有プール１０３内のサーバについては、同時に予約可能な数（多重度）だけ複数行に分割されたテーブルになる。また、ある時刻において各サーバがどのプールに属するかを参照する場合や、共有プール１０３に属する場合の多重度を参照する場合にもこのテーブルを用いるものとする。
【００３０】
図３は本実施形態の多重度管理テーブル１１２の一例を示す図である。図３に示す様に多重度管理テーブル１１２は各時刻におけるサーバの多重度情報を保持している。
【００３１】
図２及び図３の例では、時刻５〜６においてジョブ４で最低限必要な台数「２」を確保する為に、サーバＥの多重度が「２」から「１」に変更されている。
【００３２】
図４は本実施形態のサーバ情報テーブル１１３の一例を示す図である。図４に示す様にサーバ情報テーブル１１３は、予約するサーバを選択する為の指針となる情報を保持しており、この例では各サーバの性能（ある特定のサーバの性能を「１」とした場合の相対的な性能）及びそのサーバの利用料金を示す金額が保持されているが、項目はこれに限らないものとする。予約する際にはこのサーバ情報テーブル１１３の値を利用した式として、例えば性能に比例すると共に金額に反比例する様な条件式を指定し、利用可能なサーバの中から、その条件式の値を最大化するものを選択して予約を行うものとする。
【００３３】
図５は本実施形態のジョブ予約時パラメータの例を示す図である。図５は各ジョブを予約する際の入力パラメータの例を表しており、開始時刻及び終了時刻は、サーバの予約される時間帯を、所定の単位時間毎に付加された番号で示している。
【００３４】
また、最低限必要な台数及び最大で必要な台数は、開始時刻及び終了時刻で示される予約時間内で最低限必要とされるサーバの台数及び必要となるサーバの最大台数をそれぞれ示しており、本実施形態の予約処理では、最低限必要な台数のサーバを専有プール１０２から、最大で必要な台数から最低限必要な台数を引いた台数のサーバを共有プール１０３から予約する。
【００３５】
本実施形態の計算機リソース管理システム１００においてサーバを予約する際は、最大で必要な台数、最小限必要な台数、予約時間（時刻および期間）、予約するサーバの要件を計算機リソース管理装置１０１に管理者が入力装置によって入力することによって、予約処理部１２２で予約を行う。予約処理部１２２の処理内容を図６に示す。
【００３６】
図６は本実施形態の予約処理の処理手順を示すフローチャートである。図６に示す様に本実施形態の予約処理では、指定された予約時間における専有プール１０２の空きサーバを予約テーブル１１１から検索し、最小限必要な台数のサーバを確保できるか確認する。同様に、最大で必要な台数から最小限必要な台数を引いた台数のサーバを共有プール１０３から確保できるかを確認する。
【００３７】
そして台数が確保できない場合には、どの様に予約を変更すれば良いかの指針を表示し、また専有プール１０２と共有プール１０３間でサーバを移動すれば予約可能であればそれも表示する。また台数が確保できる場合には、サーバ情報テーブル１１３を参照して指定した条件式を空きサーバ毎に適用して、その条件式の値が最大となるサーバを選択して予約を行う。
【００３８】
また、時間に応じて最低限必要な台数及び最大で必要な台数が変化する予約を行う場合には、入力パラメータの開始時刻、終了時刻、最低限必要な台数及び最大で必要な台数を変化させて、このフローチャートを複数回繰り返すことで実現できる。
【００３９】
ある時刻において専有プール１０２と共有プール１０３の境界を変更するには、予約テーブル１１１や多重度管理テーブル１１２を更新することで行う。専有プール１０２内のサーバを共有プール１０３に移動する場合には、多重度「１」のサーバをある時刻から多重度「２」以上になる様、予約テーブル１１１や多重度管理テーブル１１２を更新する。共有プール１０３内のサーバを専有プール１０２に移動するには、多重度「２」以上のサーバをある時刻から多重度「１」になる様、予約テーブル１１１や多重度管理テーブル１１２を更新する。
【００４０】
以下に、本実施形態の計算機リソース管理システム１００における予約処理について図６を参照して説明する。
【００４１】
ステップ６０１で予約受付処理部１２１は、データセンタでの処理の実行の為に予約されるサーバの台数として、最低限必要な台数の入力を受け付けてその値をメモリ中の変数Ａに格納する。ステップ６０２では、予約されるサーバの台数として、最大で必要な台数の入力を受け付けてその値をメモリ中の変数Ｂに格納する。そしてステップ６０３では、前記格納した変数Ｂの値から変数Ａの値を引いた値を算出してその結果をメモリ中の変数Ｂに格納する。
【００４２】
ステップ６０４で予約受付処理部１２１は、予約するサーバの要件として、サーバの性能の下限値や支払い可能な金額の上限値等の入力を受け付けて、その内容をメモリ中の変数Ｃに格納する。またステップ６０５では、前記入力された台数のサーバが予約される予約時間の情報として、開始時刻及び終了時刻の入力を受け付け、その内容をメモリ中の変数Ｄに格納する。
【００４３】
ステップ６０６で予約処理部１２２は、前記受け付けた予約時間Ｄにおける専有プール１０２内のサーバの空き台数から変数Ａの値を引いた値を算出してその結果をメモリ中の変数Ｅに格納する。すなわち、磁気ディスク装置に格納されている予約テーブル１１１を参照して、前記受け付けた予約時間Ｄにおける予約情報の内でその行数が１行であると共にその内容が「空き」となっているサーバを検索してそのサーバ名をメモリ中に格納した後、その格納したサーバ名の数を計数して専有プール１０２内のサーバの空き台数を求め、その求めたサーバの空き台数から変数Ａの値を引いた値を算出してその結果をメモリ中の変数Ｅに格納する。
【００４４】
ステップ６０７では、前記受け付けた予約時間Ｄにおける共有プール１０３内のサーバの空き台数から変数Ｂの値を引いた値を算出してその結果をメモリ中の変数Ｆに格納する。すなわち、磁気ディスク装置に格納されている予約テーブル１１１を参照して、前記受け付けた予約時間Ｄにおける予約情報の内でその行数が２行以上であると共にその内容に「空き」を含むサーバを検索してそのサーバ名をメモリ中に格納した後、その格納したサーバ名の数を計数して共有プール１０３内のサーバの空き台数を求め、その求めたサーバの空き台数から変数Ｂの値を引いた値を算出してその結果をメモリ中の変数Ｆに格納する。
【００４５】
ステップ６０８では、前記メモリ中の変数Ｅの値が「０」以上であるかどうかを調べ、その変数Ｅの値が「０」以上である場合にはステップ６０９へ進む。次にステップ６０９では、前記メモリ中の変数Ｆの値が「０」以上であるかどうかを調べ、その変数Ｆの値が「０」以上である場合にはステップ６１０へ進む。
【００４６】
ステップ６１０では、予約するサーバの要件Ｃを元に専有プール１０２から適切なサーバを１台選び、予約する。すなわち、ステップ６０６の処理でメモリ中に格納しておいた専有プール１０２のサーバ名によりサーバ情報テーブル１１３を検索し、予約するサーバの要件Ｃの内容を満たす性能や金額等の値を持つサーバを選択して、当該サーバの予約テーブル１１１中の前記受け付けた予約時間Ｄにおける予約情報にその予約のジョブ名を格納する。またその際に、予約するサーバの要件Ｃの内容を満たすサーバが複数存在する場合には、前記の様に条件式を用いてサーバを選択する。
【００４７】
ステップ６１１では、前記メモリ中の変数Ａの値から「１」を引いた値を算出してその結果をメモリ中の変数Ａに格納する。そしてステップ６１２では、前記メモリ中の変数Ａの値が「０」であるかどうかを調べ、変数Ａの値が「０」である場合にはステップ６１３へ進み、そうでない場合にはステップ６１０へ戻って専有プール１０２からの予約を続行する。
【００４８】
ステップ６１３では、予約するサーバの要件Ｃを元に共有プール１０３から適切なサーバを１台選び、予約する。すなわち、ステップ６０７の処理でメモリ中に格納しておいた共有プール１０３のサーバ名によりサーバ情報テーブル１１３を検索し、予約するサーバの要件Ｃの内容を満たす性能や金額等の値を持つサーバを選択して、予約テーブル１１１中の前記受け付けた予約時間Ｄにおける当該サーバの予約情報の内で「空き」となっている行にその予約のジョブ名を格納する。またその際に、予約するサーバの要件Ｃの内容を満たすサーバが複数存在する場合には、前記と同様に条件式を用いてサーバを選択する。
【００４９】
ステップ６１４では、前記メモリ中の変数Ｂの値から「１」を引いた値を算出してその結果をメモリ中の変数Ｂに格納する。そしてステップ６１５では、前記メモリ中の変数Ｂの値が「０」であるかどうかを調べ、変数Ｂの値が「０」である場合には処理を終了し、そうでない場合にはステップ６１３へ戻って共有プール１０３からの予約を続行する。
【００５０】
一方、予約処理部１２２は、ステップ６０８でメモリ中の変数Ｅの値が「０」以上であるかどうかを調べた結果、その変数Ｅの値が「０」未満である場合にはステップ６１６へ進む。
【００５１】
ステップ６１６では、前記メモリ中の変数Ｆの値に変数Ｅの値を加えた値を算出してその結果をメモリ中の変数Ｆ’に格納する。そしてステップ６１７では、前記メモリ中の変数Ｆ’の値が「０」以上であるかどうかを調べ、変数Ｆ’の値が「０」以上である場合にはステップ６１８へ進む。
【００５２】
ステップ６１８では、最低限必要な台数を（Ａ＋Ｅ）台に減らせば予約可能であることを計算機リソース管理装置１０１の出力装置に表示する。
【００５３】
ステップ６１９では、前記メモリ中の変数Ｅの値に変数Ｆの値を加えた結果が「０」以上であるかどうかを調べ、その結果が「０」以上である場合にはステップ６２０へ進む。
【００５４】
ステップ６２０では、共有プール１０３の空きサーバの（−Ｅ）台を専有プール１０２に移動すれば予約可能であることを計算機リソース管理装置１０１の出力装置に表示する。
【００５５】
またステップ６１７で変数Ｆ’の値が「０」以上であるかどうかを調べた結果、変数Ｆ’の値が「０」未満である場合にはステップ６２１へ進む。
【００５６】
ステップ６２１では、最低限必要な台数を（Ａ＋Ｅ）台に減らすと共に最大で必要な台数を（Ａ＋Ｂ＋Ｆ’）台に減らせば予約可能であることを計算機リソース管理装置１０１の出力装置に表示する。
【００５７】
一方、予約処理部１２２は、ステップ６０９で変数Ｆの値が「０」以上であるかどうかを調べた結果、変数Ｆの値が「０」未満である場合にはステップ６２２へ進む。
【００５８】
ステップ６２２では、最大で必要な台数を（Ａ＋Ｂ＋Ｆ）台に減らせば予約可能であることを計算機リソース管理装置１０１の出力装置に表示する。
【００５９】
次にステップ６２３では、前記メモリ中の変数Ｅの値に変数Ｆの値を加えた結果が「０」以上であるかどうかを調べ、その結果が「０」以上である場合にはステップ６２４へ進む。
【００６０】
ステップ６２４では、専有プール１０２の空きサーバの（−Ｆ）台を共有プール１０３に移動すれば予約可能であることを計算機リソース管理装置１０１の出力装置に表示する。
【００６１】
ステップ６２５では、予約時間Ｄ以外で、専有プール１０２の空き台数が変数Ａの値以上であると共に共有プール１０３の空き台数が変数Ｂの値以上である時間を検索し、その検索結果をメモリ中の変数Ｄ’に格納する。
【００６２】
ステップ６２６では、前記メモリ中の変数Ｄ’の内容が空であるかどうかを調べ、変数Ｄ’の内容が空でない場合にはステップ６２７へ進む。そしてステップ６２７では、予約時間をＤ’に変更すれば予約可能であることを計算機リソース管理装置１０１の出力装置に表示する。
【００６３】
ステップ６２８で予約受付処理部１２１は、予約条件の再入力を求めるメッセージを計算機リソース管理装置１０１の出力装置に表示した後、ステップ６０１へ戻る。
【００６４】
またこのステップ６２８で予約条件の再入力を求めるメッセージを表示した後、空きサーバの専有プール１０２または共有プール１０３への移動指示を受け付けた場合には、予約テーブル１１１の該当サーバの予約情報の行数や多重度管理テーブル１１２の値を変更して空きサーバの移動を行うものとする。
【００６５】
図７は本実施形態の空きサーバの移動例を示す図である。図７では予約テーブル７０１の様にジョブ１〜ジョブ３及びジョブ５が予約済みでジョブ４の予約を行った場合に、予約時間５〜６におけるサーバＥを共有プール１０３から専有プール１０２へ移動する例を表している。
【００６６】
ジョブ４の開始時刻が「５」、終了時刻が「６」、最低限必要な台数が「２」、最大で必要な台数が「３」である場合、予約テーブル７０１の予約時間５〜６における専有プール１０２内のサーバの空き台数、すなわち予約時間５〜６における予約情報の内でその行数が１行であると共にその内容が「空き」となっているサーバ数はサーバＣの１台であるので、予約処理部１２２は、ステップ６０６で変数Ｅとして「−１」を算出した後、ステップ６０８からステップ６１７等を経てステップ６２０で、共有プール１０３の空きサーバの（−Ｅ）台、すなわち１台を専有プール１０２に移動すれば予約可能であることを計算機リソース管理装置１０１の出力装置に表示する。
【００６７】
その後、予約処理部１２２は、空きサーバの専有プール１０２への移動指示を受け付けると、予約時間５〜６における予約情報の内でその行数が２行以上であると共にその内容全てが「空き」となっているサーバを予約テーブル７０１から検索し、その内の（−Ｅ）台を選択した後、その選択した空きサーバの予約情報の行数を１行に変更する。また多重度管理テーブル１１２の対応する多重度も「１」に変更する。予約テーブル７０１の例では、サーバＥの予約時間５〜６における予約情報が全て「空き」となっているので、この行数を１行に変更する。
【００６８】
その後、前記と同様にしてステップ６０１からの処理を行えば、ステップ６０６では、予約時間５〜６でサーバＥが専有プール１０２の空きサーバとして計数されるので、予約テーブル７０２の様にジョブ４の予約が行える様になる。
【００６９】
以上説明した様に本実施形態の計算機リソース管理システムによれば、計算機リソースを専有プールと共有プールに分けて管理し、最低限必要な台数及び最大で必要な台数に応じて専有プールと共有プールに計算機リソースの予約を割り振るので、最低性能レベルを保証すると共にそれ以上の性能レベルもある程度保証したサービスを効率良く提供することが可能である。
【図面の簡単な説明】
【００７０】
【図１】本実施形態の計算機リソース管理システムの全体構成を示す図である。
【図２】本実施形態の予約テーブル１１１の一例を示す図である。
【図３】本実施形態の多重度管理テーブル１１２の一例を示す図である。
【図４】本実施形態のサーバ情報テーブル１１３の一例を示す図である。
【図５】本実施形態のジョブ予約時パラメータの例を示す図である。
【図６】本実施形態の予約処理の処理手順を示すフローチャートである。
【図７】本実施形態の空きサーバの移動例を示す図である。
【符号の説明】
【００７１】
１００…計算機リソース管理システム、１０１…計算機リソース管理装置、１０２…専有プール、１０３…共有プール、１１１…予約テーブル、１１２…多重度管理テーブル、１１３…サーバ情報テーブル、１２１…予約受付処理部、１２２…予約処理部、７０１及び７０２…予約テーブル
【図１】
2005234637.tif 000003
【図２】
2005234637.tif 000004
【図３】
2005234637.tif 000005
【図４】
2005234637.tif 000006
【図５】
2005234637.tif 000007
【図６】
2005234637.tif 000008
【図７】
2005234637.tif 000009