(57)【特許請求の範囲】
【請求項１】
ＩＴ（Information Technology）リソースの利用予約を管理するコンピュータに、
ＩＴリソース毎の予約情報を格納した予約情報リポジトリを参照し、入力された予約要求に示される希望予約期間に予約を登録可能なＩＴリソースを検出し、
検出した各ＩＴリソースについて、それぞれの予約情報に基づき、前記希望予約期間を包含する空き期間を計算し、
計算した空き期間のうち最も短い空き期間を有するＩＴリソースを、予約登録対象として決定し、
検出した前記ＩＴリソースのうち、複数のＩＴリソースが同じ空き期間を有する場合には、同じ空き期間を有するＩＴリソースの数が最も多い最多空き期間を検出し、前記最多空き期間と同じ空き期間を有するＩＴリソースの中から、前記予約要求に応じた予約登録の対象とするＩＴリソースを決定し、
決定したＩＴリソースを、前記予約情報リポジトリに予約登録すること
を実行させることを特徴とする予約管理プログラム。
【請求項２】
前記最多空き期間を複数検出した場合、検出された複数の最多空き期間のうち、最も近い未来である最多空き期間と同じ空き期間を有するＩＴリソースを、予約登録の対象とすること
を特徴とする請求項１記載の予約管理プログラム。
【請求項３】
前記最多空き期間と同じ空き期間を有するＩＴリソースが複数ある場合、各ＩＴリソースにおける空き期間の前又は後の予約がキャンセルされた場合に最も短い空き期間を有するＩＴリソースを、予約登録の対象とすること
を特徴とする請求項１記載の予約管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＩＴリソースのユーザへの割り当てを行う予約管理プログラムに関し、特にグリッドコンピューティングのリソースを割り当てるための予約管理プログラムに関する。
【背景技術】
【０００２】
コンピュータによる情報処理を高速に行うための技術として、グリッドコンピューティングと呼ばれる技術がある。グリッドコンピューティングでは、ネットワークを介して複数のコンピュータを接続し、利用者が各コンピュータから必要な処理能力（ＩＴリソース）を使用して、高速な情報処理を実行させるものである。
【０００３】
このようなグリッドコンピューティングの技術では、ユーザに対して、ＩＴリソースを効率的に割り当てる必要がある。そこで、ジョブスケジューラがジョブのスケジューリングに先立って資源を仮予約することで、資源の予約状況を正確に把握し、最適な資源の組み合わせを選ぶようなシステムがある（例えば、特許文献１参照）。
【特許文献１】特開２００４−３０２７４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ビジネスグリッドコンピューティングを実現するソフトウェアは、業務管理者による業務の予約要求時に、業務が必要とするＩＴリソースの条件（スペックや予約期間）に従い、最適なＩＴリソースの割り当てを行う（ブローカリング）。このときブローカリング機能では、業務管理者の要件を満たした上で、「ＩＴリソースの遊休期間を減らし、できるだけ多くの予約受付を可能にする」といったリソース有効活用の要件を満たしたＩＴリソース割り当てを行うことが望まれている。
【０００５】
しかし、グリッドコンピューティングのＩＴリソース予約における有効活用に関するアルゴリズムについては、現状では確立されていない。特許文献１の技術は、予約の失敗が連続して発生することを避けることが目的となっており、リソースの有効活用のためには不十分である。
【０００６】
本発明はこのような点に鑑みてなされたものであり、ＩＴリソースを有効に活用することができる予約管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では、ＩＴ（Information Technology）リソースの利用予約を管理するコンピュータに、ＩＴリソース毎の予約情報を格納した予約情報リポジトリを参照し、入力された予約要求に示される希望予約期間に予約を登録可能なＩＴリソースを検出し、検出した各ＩＴリソースについて、それぞれの予約情報に基づき、前記希望予約期間を包含する空き期間を計算し、計算した空き期間のうち最も短い空き期間を有するＩＴリソースを、予約登録対象として決定し、決定したＩＴリソースを、前記予約情報リポジトリに予約登録することを実行させることを特徴とする予約管理プログラムが提供される。
【発明の効果】
【００１０】
本発明では、予約要求に応じたＩＴリソースを確保できる可能性が高くなり、ＩＴリソースの利用効率が高くなる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本実施の形態の概略を示す図である。本実施の形態に係る予約管理装置は、ＩＴリソース（サーバなどのハードウェアリソースや、サーバに実装されているソフトウェアリソースなど）の予約管理を行うため、予約情報リポジトリ１、ＩＴリソース検出手段２、空き期間計算手段３、最多空き期間検出手段４、ＩＴリソース決定手段５、および予約登録手段６を有している。
【００１２】
予約情報リポジトリ１は、ＩＴリソース毎の予約情報を格納する。例えば、予約情報リポジトリ１には、予約された業務の開始日と終了日とが設定される。
ＩＴリソース検出手段２は、希望予約期間を示す予約要求７が入力されると、予約情報リポジトリ１を参照し、希望予約期間に予約を登録可能なＩＴリソースを検出する。換言すると、ＩＴリソース検出手段２は、予約希望期間で示される期間に予約が登録されていないＩＴリソースを検出する。
【００１３】
空き期間計算手段３は、ＩＴリソース検出手段２で検出された各ＩＴリソースの予約情報に基づき、希望予約期間を包含する空き期間を計算する。これにより、各ＩＴリソースの予約状況に関して、希望予約期間の前後にどれほどの空き期間が存在するのかが算出される。
【００１４】
最多空き期間検出手段４は、空き期間計算手段３で計算された空き期間が同一となるＩＴリソースの数が最も多い最多空き期間を検出する。このとき、最多空き期間検出手段４は、例えば、比較単位となる単位期間を、時間単位、日単位、週単位など、任意に設定することができる。どの程度の単位期間とするのかは、ＩＴリソースで提供されるサービスの内容に応じて、業務管理者が設定する。例えば、日単位で空き期間の同一性を判定する場合、ＩＴリソースの予約登録が時分の単位で開始時刻と終了時刻とが設定されていても、空き期間の同一性の比較において時分の単位は無視される。
【００１５】
ＩＴリソース決定手段５は、最多空き期間と同じ空き期間を有するＩＴリソースの中から、予約要求７に応じた予約登録の対象とするＩＴリソースを決定する。すなわち、空き期間が同一となるＩＴリソースが多数あれば、そのうちの１つに予約登録を行っても、その後の同様の希望予約期間を指定した予約登録が可能となる。すなわち、以降の予約登録が成立する可能性を低下させずにすむ。
【００１６】
予約登録手段６は、予約情報リポジトリ１に対して、ＩＴリソース決定手段５で決定されたＩＴリソースに対する予約登録を行う。
このような予約管理プログラムを実行するコンピュータによれば、予約要求７が入力されると、ＩＴリソース検出手段２により、希望予約期間に予約を登録可能なＩＴリソースが検出される。次に、空き期間計算手段３により、ＩＴリソース検出手段２で検出された各ＩＴリソースの予約情報に基づき、希望予約期間を包含する空き期間が計算される。さらに、最多空き期間検出手段４により、空き期間計算手段３で計算された空き期間が同一となるＩＴリソースの数が最も多い最多空き期間が検出される。次に、ＩＴリソース決定手段５により、最多空き期間と同じ空き期間を有するＩＴリソースの中から、予約要求７に応じた予約登録の対象とするＩＴリソースが決定される。そして、予約登録手段６により、予約情報リポジトリ１に対して、ＩＴリソース決定手段５で決定されたＩＴリソースに対する予約登録が行われる。
【００１７】
このように、最多空き期間と同じ空き期間を有するＩＴリソースの中から予約対象を決定するようにすることで、次に入る予約が成立しやすくなる。その結果、予約要求に応じたＩＴリソースを確保できる可能性が高くなり、ＩＴリソースの利用効率が高くなる。
【００１８】
このような予約管理装置は、グリッドコンピューティングにおける各コンピュータで提供される機能への業務の振り分け処理に利用できる。グリッドコンピューティングにおける業務の振り分け機能は、ブローカリングと呼ばれる。以下、グリッドコンピューティングのブローカリングに、図１に示す機能を適用した場合の例を採り、具体的な実施の形態を説明する。
【００１９】
次に、本実施の形態の詳細を説明する。
図２は、本実施の形態のシステム構成例を示す図である。本実施の形態では、サーバ２１，２２，・・・などのＩＴリソース群２０に対して、ネットワーク１０を介して複数のクライアント３１，３２，・・・と管理サーバ１００とが接続されている。管理サーバ１００は、ＩＴリソース群２０で提供されるＩＴリソースの利用スケジュールを管理する。具体的には、管理サーバ１００は、クライアント３１，３２，・・・からの要求に応じて、クライアントに対して割り当てるＩＴリソースを決定する。
【００２０】
図３は、本実施の形態に用いる管理サーバのハードウェア構成例を示す図である。管理サーバ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００２１】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００２２】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。
入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００２３】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００２４】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図４は、管理サーバの機能を示すブロック図である。管理サーバ１００は、構成情報取得部１１０、構成情報管理リポジトリ１２０、予約情報管理リポジトリ１３０、およびブローカリング部１４０を有している。
【００２５】
構成情報取得部１１０は、ＩＴリソース群２０を構成するサーバ２１，２２，・・・から、提供しているＩＴリソースの情報を収集し、構成情報管理リポジトリ１２０に格納する。
【００２６】
構成情報管理リポジトリ１２０は、ＩＴリソースの構成情報を管理するデータベースである。
予約情報管理リポジトリ１３０は、ＩＴリソースの利用予約状況を管理するデータベースである。
【００２７】
ブローカリング部１４０は、クライアント３１を介したＩＴリソースの予約要求に応じて、そのクライアント３１に対するＩＴリソースの割り当てを行う。その際、ブローカリング部１４０は、構成情報リポジトリと予約情報リポジトリを参照して業務管理者の要求する条件にマッチしたＩＴリソースの決定を行い、その結果を予約情報管理リポジトリ１３０に格納する。このＩＴリソースの決定は、リソース有効活用の観点から行われる。
【００２８】
リソース有効活用のため、ブローカリング部１４０は、ある予約のブローカリングにおいてその次に入る予約をより成立させやすくするよう、空き期間の断片化をできるだけ抑止するＩＴリソースに予約登録を行う。空き期間の断片化を抑止するため、ブローカリング部１４０は、条件に合致したＩＴリソースの空き期間の時系列に着目し、空き期間の同一性などを比較して、予約登録対象とするＩＴリソースを決定する。
【００２９】
図５は、構成情報管理リポジトリのデータ構造例を示す図である。構成情報管理リポジトリ１２０では、ＩＴリソースと構成情報との欄が設けられている。
ＩＴリソースの欄には、ＩＴリソースを提供するサーバの識別情報が設定される。構成情報の欄には、対応するサーバで提供されるＩＴリソースの構成情報が設定される。
【００３０】
ＩＴリソースの構成情報には、サーバのハードウェア構成とソフトウェア構成とが含まれる。ハードウェア構成は、例えば、ＣＰＵの処理能力、メモリ容量、ディスク容量などである。ソフトウェア構成は、ＯＳの種別と版数、ミドルウェアの種別と版数などである。
【００３１】
図６は、予約情報管理リポジトリのデータ構造例を示す図である。予約情報管理リポジトリ１３０には、予約期間、ＩＴリソース、ＩＴリソース利用業務の欄が設けられている。
【００３２】
予約期間の欄には、予約されている期間が設定されている。予約期間の欄は、開始日と終了日との欄に分かれている。開始日の欄には、予約の開始日が設定される。終了日の欄には、予約の終了日が設定される。
【００３３】
ＩＴリソースの欄には、予約されたＩＴリソースに対応するサーバの識別情報（サーバ＃１、サーバ＃２、サーバ＃３、サーバ＃４、サーバ＃５、サーバ＃６）が設定される。
ＩＴリソース利用業務の欄には、ＩＴリソースを利用する業務の名称（業務ａ、業務ｂ、業務ｃ、業務ｄ、業務ｅ、業務ｆ、業務ｇ、業務ｈ、業務ｉ、業務ｊ、業務ｋ、業務ｌ、業務ｍ、業務ｎ）が設定される。
【００３４】
このような予約情報管理リポジトリ１３０によって、各ＩＴリソースの予約状況がブローカリング部１４０で管理される。
このような構成の管理サーバ１００によって、クライアント３１からの要求に応じてＩＴリソースの割り当てが行われる。業務管理者は、クライアント３１に表示されたＩＴリソース予約画面から所定事項を入力することで、ＩＴリソースの予約要求をクライアント３１から管理サーバ１００に対して予約要求を送信することができる。
【００３５】
図７は、ＩＴリソース予約画面の例を示す図である。ＩＴリソース予約画面４０には、業務名表示部４１、希望期間入力部４２、および予約ボタン４３が設けられている。
業務名表示部４１には、予約対象の業務の名称が表示される。例えば、業務管理者は、業務を指定し、その業務に対するＩＴリソース予約画面４０の表示要求をクライアント３１に入力する。すると、クライアント３１は、表示要求で指定された業務の業務名が業務名表示部４１に表示されたＩＴリソース予約画面４０を、モニタの画面に表示する。
【００３６】
希望期間入力部４２は、業務の予約を希望する期間を入力するためのテキストボックスである。希望期間入力部４２には、予約を希望する期間の開始日と終了日とを入力することができる。
【００３７】
予約ボタン４３は、予約要求を管理サーバ１００に送信するためのボタンである。予約ボタン４３が押下されると、業務名表示部４１に表示されている業務に対する希望期間入力部４２に入力された期間の予約要求が、クライアント３１から管理サーバ１００に送信される。
【００３８】
クライアント３１から管理サーバ１００に対して予約要求が送信されると、管理サーバ１００のブローカリング部１４０において、ＩＴリソース予約処理が行われる。
図８は、ＩＴリソース予約処理の手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
【００３９】
［ステップＳ１１］ブローカリング部１４０は、クライアント３１からの予約要求を受け付ける。
［ステップＳ１２］ブローカリング部１４０は、構成情報管理リポジトリ１２０と予約情報管理リポジトリ１３０とを参照する。
【００４０】
［ステップＳ１３］ブローカリング部１４０は、ＩＴリソースの空き期間の断片化をできるだけ抑止するように、予約要求で指定された業務で利用するＩＴリソースを決定する。この処理の詳細は後述する。
【００４１】
［ステップＳ１４］ブローカリング部１４０は、決定したＩＴリソースの予約情報を、予約情報管理リポジトリ１３０に格納する。
［ステップＳ１５］ブローカリング部１４０は、業務管理者が利用するクライアント３１に対して、決定したＩＴリソースの内容を応答する。
【００４２】
以上のような手順で、ＩＴリソースの予約処理が進行する。以下、ステップＳ１３に示したＩＴリソース決定処理の内容を詳細に説明する。
図９は、ＩＴリソース決定処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００４３】
［ステップＳ２１］ブローカリング部１４０は、予約可能なＩＴリソース候補を、構成情報管理リポジトリ１２０と予約情報管理リポジトリ１３０とから検索し、該当するＩＴリソース候補を取得する。具体的には、ブローカリング部１４０は、まず構成情報管理リポジトリ１２０を参照し、予約要求で示される業務を実行するために必要な要素を備えたＩＴリソース（サーバ）を特定する。そして、ブローカリング部１４０は、特定したＩＴリソースに関する予約状況を予約情報管理リポジトリ１３０で確認し、指定された業務を実行可能なＩＴリソースのうち、予約の希望期間が空いているＩＴリソースを取得し、予約管理テーブルを生成する。
【００４４】
図１０は、予約管理テーブルのデータ構造例を示す図である。予約管理テーブル５０には、ＩＴリソース、空き期間、直前予約キャンセル後空き期間長、直後予約キャンセル後空き期間長、選択候補フラグ、および決定フラグの欄が設けられている。
【００４５】
ＩＴリソースの欄には、予約可能なサーバの識別情報が設定される。空き期間の欄には、対応するサーバのＩＴリソースの空き期間（予約要求で指定された希望期間を包含する期間）が設定される。
【００４６】
直前予約キャンセル後空き期間長の欄には、直前の予約がキャンセルされた場合の空き期間長が設定される。直後予約キャンセル後空き期間長の欄には、直後の予約がキャンセルされた場合の空き期間長が設定される。
【００４７】
選択候補フラグの欄には、対応するＩＴリソースが選択候補と判定されたか否かを示すフラグ（選択候補フラグ）が設定される。選択候補と判定された場合、選択候補フラグがＯＮとなる。それ以外の場合、選択候補フラグはＯＦＦである。選択候補フラグの初期値はＯＦＦである。
【００４８】
決定フラグの欄には、対応するＩＴリソースが、予約対象に決定されたか否かを示すフラグ（決定フラグ）が設定される。決定フラグは、予約対象に決定された場合はＯＮに設定され、それ以外の場合はＯＦＦである。決定フラグの初期値はＯＦＦである。
【００４９】
以下、図９に戻り、ステップＳ２２以降の処理を説明する。
［ステップＳ２２］ブローカリング部１４０は、ステップＳ２１で取得されたＩＴリソースの空き期間を比較し、空き期間の長さが全て同じか否かを判定する。空き期間の長さが同じであれば処理がステップＳ２４に進められる。空き期間の長さが同じでなければ、処理がステップＳ２３に進められる。
【００５０】
［ステップＳ２３］ブローカリング部１４０は、取り出されたＩＴリソースの空き期間の長さに応じて、適当なＩＴリソースを予約対象に決定する。例えば、ブローカリング部１４０は、空き期間の長さが最も短いＩＴリソースを、予約対象のＩＴリソースに決定する。その後、ＩＴリソース決定処理が終了する。
【００５１】
［ステップＳ２４］ブローカリング部１４０は、空き期間が同一のＩＴリソースを１つのエントリに統合し、空き期間の情報が登録された空き期間テーブルを生成する。そして、ブローカリング部１４０は、同じ空き期間を持つＩＴリソース数をカウントし、空き期間テーブルに登録する。
【００５２】
図１１は、空き期間テーブルのデータ構造例を示す図である。空き期間テーブル５１には、空き期間、期間カウンタ、選択候補期間フラグ、および決定期間フラグの欄が設けられている。
【００５３】
空き期間の欄には、ＩＴリソースの空き期間が設定される。期間カウンタの欄には、対応する空き期間を有するＩＴリソースの数が設定される。
選択候補期間フラグの欄には、空き期間が選択候補と判定されたか否かを示すフラグ（選択候補期間フラグ）が設定される。選択候補フラグは、選択候補と判定された空き期間に対してＯＮが設定される。それ以外の空き期間に対しては、ＯＦＦが設定される。
【００５４】
決定期間フラグの欄には、予約対象として決定した期間か否かを示すフラグ（決定期間フラグ）が設定される。何れかの空き期間が予約対象として決定した場合、その空き期間の決定フラグがＯＮに設定され、それ以外の空き期間がＯＦＦに設定される。
【００５５】
以下、図９に戻り、ステップＳ２５以降の処理を説明する。
［ステップＳ２５］ブローカリング部１４０は、空き期間テーブルのエントリ数が複数あるか（空き期間のバリエーションが２種類以上あるか）否かを判定する。エントリ数が複数ある場合、処理がステップＳ２７に進められる。エントリ数が１つの場合、処理がステップＳ２６に進められる。
【００５６】
［ステップＳ２６］ブローカリング部１４０は、空き期間のバリエーションが１種類しか無い場合、予約管理テーブル５０に設定されている全てのＩＴリソースを選択候補とする。すなわち、ブローカリング部１４０は、予約管理テーブル５０内の全てのエントリの選択候補フラグをＯＮにする。その後、処理がステップＳ３０に進められる。
【００５７】
［ステップＳ２７］ブローカリング部１４０は、選択候補期間の決定処理を行う。具体的には、ブローカリング部１４０は、空き期間のバリエーションが複数ある場合、ＩＴリソース数が最も多い空き期間を全て選択候補期間とする。すなわち、ブローカリング部１４０は、空き期間テーブル５１の中から、ＩＴリソース数が最も多い空き期間を選択し、対応する選択候補期間フラグをＯＮに設定する。このとき、空き期間が同一となるＩＴリソース数が全ての空き期間で同じであれば、全ての空き期間が選択される。
【００５８】
このように、ＩＴリソース数が多い空き期間を優先するのは、次の予約の間口を狭めないためである。すなわち、同じ空き期間を有するＩＴリソースが多数あれば、そのＩＴリソースに予約を確定した後、同様の期間を希望する予約要求が発行された場合にも、その予約要求に応じたＩＴリソースの予約が可能となる。
【００５９】
［ステップＳ２８］ブローカリング部１４０は、空き期間決定処理を行う。具体的には、ブローカリング部１４０は、より近い未来の空き期間を、予約対象の空き期間として決定する。より近い未来の空き期間を優先することで、以後の予約要求に応じたＩＴリソースの予約可能な空き期間を多く確保することができる。
【００６０】
［ステップＳ２９］ブローカリング部１４０は、決定した空き期間を持つＩＴリソースを選択候補として決定する。具体的には、ブローカリング部１４０は、決定した空き期間に対応するＩＴリソースを予約管理テーブル５０から選択し、そのＩＴリソースの選択候補フラグをＯＮに設定する。
【００６１】
［ステップＳ３０］ブローカリング部１４０は、ＩＴリソース決定処理を行う。具体的には、ブローカリング部１４０は、選択候補のＩＴリソースに対し、前後予約を検索する。そして、ブローカリング部１４０は、前後の予約キャンセル後の空き期間長が最小となるＩＴリソースを、予約対象に決定する。すなわち、ブローカリング部１４０は、前後の予約がキャンセルされても空き期間の断片化の影響の少ないＩＴリソースを、予約対象とする。
【００６２】
次に、図９のステップＳ２４に示す空き期間テーブル生成処理を詳細に説明する。
図１２は、空き期間テーブル生成処理の手順を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
【００６３】
［ステップＳ４１］ブローカリング部１４０は、予約管理テーブル５０から未参照の１エントリを参照し、空き期間情報を取得する。
［ステップＳ４２］ブローカリング部１４０は、空き期間テーブル５１に、ステップＳ４１で取得した空き期間情報と同じ空き期間情報が既に登録されているか否かを判定する。同じ空き期間情報が登録されていれば、処理がステップＳ４４に進められ、登録されていなければ、処理がステップＳ４３に進められる。
【００６４】
［ステップＳ４３］ブローカリング部１４０は、空き期間テーブル５１に対して、ステップＳ４１で取得した空き期間を有するエントリを追加し、期間カウンタに１を設定する。その後、処理がステップＳ４５に進められる。
【００６５】
［ステップＳ４４］ブローカリング部１４０は、空き期間テーブル５１内のステップＳ４１で取得した空き期間情報と同じ空き期間情報が登録されているエントリの期間カウンタに、１を加える。
【００６６】
［ステップＳ４５］ブローカリング部１４０は、予約管理テーブル５０に、未参照のエントリがあるか否かを判定する。未参照のエントリがある場合処理がステップＳ４１に進められる。未参照のエントリがない場合、空き期間テーブル５１の生成処理が終了する。
【００６７】
次に、図９のステップＳ２７に示す選択候補期間決定処理を詳細に説明する。
図１３は、選択候補期間決定処理の手順を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。
【００６８】
［ステップＳ５１］ブローカリング部１４０は、最大期間カウンタを生成し、その最大期間カウンタに０を格納する。
［ステップＳ５２］ブローカリング部１４０は、空き期間テーブル５１のエントリの中から未参照の１エントリを参照し、期間カウンタの値を取得する。
【００６９】
［ステップＳ５３］ブローカリング部１４０は、ステップＳ５２で取得した期間カウンタの値が、最大期間カウンタの値より大きいか否かを判定する。取得した期間カウンタの値の方が大きければ、処理がステップＳ５４に進められる。取得した期間カウンタが最大期間カウンタ未満であれば、処理がステップＳ５５に進められる。
【００７０】
［ステップＳ５４］ブローカリング部１４０は、取得した期間カウンタの値を、最大期間カウンタに格納する。
［ステップＳ５５］ブローカリング部１４０は、空き期間テーブル５１に未参照のエントリがあるか否かを判定する。未参照のエントリがある場合、処理がステップＳ５２に進められる。未参照のエントリが無い場合、空き期間テーブル５１のエントリに対する参照状態を未参照に戻し、処理がステップＳ５６に進められる。
【００７１】
［ステップＳ５６］ブローカリング部１４０は、空き期間テーブル５１の未参照のエントリのうち１エントリを参照し、期間カウンタを取得する。
［ステップＳ５７］ブローカリング部１４０は、ステップＳ５６で取得した期間カウンタの値が最大期間カウンタと同値か否かを判断する。同値であれば、処理がステップＳ５８に進められる。同値でなければ、処理がステップＳ５９に進められる。
【００７２】
［ステップＳ５８］ブローカリング部１４０は、空き期間テーブル５１のステップＳ５６で選択した参照したエントリの選択候補期間フラグをＯＮに設定する。
［ステップＳ５９］ブローカリング部１４０は、空き期間テーブル５１に未参照のエントリがあるか否かを判定する。未参照のエントリがある場合、処理がステップＳ５６に進められる。未参照のエントリが無い場合、選択候補期間決定処理が終了する。
【００７３】
次に、空き期間決定処理の詳細を説明する。
図１４は、空き期間決定処理の手順を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
【００７４】
［ステップＳ６１］ブローカリング部１４０は、決定期間情報をクリアする。
［ステップＳ６２］ブローカリング部１４０は、空き期間テーブル５１のエントリの中から、未参照の１エントリを参照する。
【００７５】
［ステップＳ６３］ブローカリング部１４０は、参照したエントリの選択候補期間フラグがＯＮか否かを判定する。選択候補期間フラグがＯＮであれば、処理がステップＳ６４に進められる。選択候補期間フラグがＯＦＦであれば、処理がステップＳ６７に進められる。
【００７６】
［ステップＳ６４］ブローカリング部１４０は、ステップＳ６２で選択されたエントリの空き期間の開始日の値を取得する。
［ステップＳ６５］ブローカリング部１４０は、取得した開始日が、決定期間情報より過去の日か否かを判定する。決定期間情報より過去の日であれば、処理がステップＳ６６に進められる。決定期間情報と同じか、それ以後の日であれば、処理がステップＳ６７に進められる。
【００７７】
［ステップＳ６６］ブローカリング部１４０は、ステップＳ６４で取得した開始日を決定期間情報に格納する。
［ステップＳ６７］ブローカリング部１４０は、空き期間テーブル５１に未参照のエントリがあるか否かを判定する。未参照のエントリがあれば、処理がステップＳ６２に進められる。未参照のエントリがなければ、空き期間テーブル５１のエントリに対する参照状態を未参照に戻し、処理がステップＳ６８に進められる。
【００７８】
［ステップＳ６８］ブローカリング部１４０は、空き期間テーブル５１のエントリの中から、未参照の１エントリを参照する。
［ステップＳ６９］ブローカリング部１４０は、ステップＳ６８で参照したエントリの選択候補期間フラグがＯＮであり、かつ、空き期間の開始日と決定期間情報が同値であるという条件を満たすか否かを判定する。この条件が満たされる場合、処理がステップＳ７０に進められる。条件が満たされない場合、処理がステップＳ７１に進められる。
【００７９】
［ステップＳ７０］ブローカリング部１４０は、空き期間テーブル５１のステップＳ６８で選択したエントリの決定期間フラグをＯＮに設定する。
［ステップＳ７１］ブローカリング部１４０は、空き期間テーブル５１に未参照のエントリがあるか否かを判定する。未参照のエントリがあれば、処理がステップＳ６８に進められる。未参照のエントリがなければ、空き期間決定処理が終了する。
【００８０】
次に、図９のステップＳ２９に示すＩＴリソース選択候補決定処理の詳細について説明する。
図１５は、ＩＴリソース選択候補決定処理の手順を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。
【００８１】
［ステップＳ８１］ブローカリング部１４０は、空き期間テーブル５１のエントリの中から、未参照のエントリを参照し、空き期間の情報を取得する。
［ステップＳ８２］ブローカリング部１４０は、ステップＳ８１で参照したエントリの決定期間フラグがＯＮか否かを判定する。決定期間フラグがＯＮであれば、処理がステップＳ８３に進められる。決定期間フラグがＯＮでなければ、処理がステップＳ８７に進められる。
【００８２】
［ステップＳ８３］ブローカリング部１４０は、予約管理テーブル５０のエントリを参照し、空き期間の情報を取得する。
［ステップＳ８４］ブローカリング部１４０は、ステップＳ８１で空き期間テーブル５１から取得した空き期間と、ステップＳ８３で予約管理テーブル５０から取得した空き期間とを比較し、それぞれの期間が同じか否かを判定する。空き期間が同じであれば、処理がステップＳ８５に進められる。空き期間が同じでなければ、処理がステップＳ８６に進められる。
【００８３】
［ステップＳ８５］ブローカリング部１４０は、予約管理テーブル５０のステップＳ８３で参照したエントリの選択候補フラグをＯＮに設定する。
［ステップＳ８６］ブローカリング部１４０は、予約管理テーブル５０に未参照のエントリがあるか否かを判定する。未参照のエントリがあれば、処理がステップＳ８３に進められる。未参照のエントリがなければ、処理がステップＳ８７に進められる。
【００８４】
［ステップＳ８７］ブローカリング部１４０は、空き期間テーブル５１に未参照のエントリがあるか否かを判定する。未参照のエントリがあれば、処理がステップＳ８１に進められる。未参照のエントリがなければ、ＩＴリソース選択候補決定処理が終了する。
【００８５】
次に、図９のステップＳ３０に示すＩＴリソース決定処理を詳細に説明する。
図１６は、ＩＴリソース決定処理のフローチャートを示す第１の図である。以下、図１６に示す処理をステップ番号に沿って説明する。
【００８６】
［ステップＳ１０１］ブローカリング部１４０は、予約管理テーブル５０のエントリから未参照のエントリの１つを参照する。
［ステップＳ１０２］ブローカリング部１４０は、ステップＳ１０１で参照したエントリの選択候補フラグがＯＮか否かを判定する。選択候補フラグがＯＮであれば、処理がステップＳ１０４に進められる。選択候補フラグがＯＦＦであれば、処理がステップＳ１０３に進められる。
【００８７】
［ステップＳ１０３］ブローカリング部１４０は、予約管理テーブル５０内のエントリに未参照のエントリがあるか否かを判定する。未参照のエントリがあれば、処理がステップＳ１０１に進められる。未参照のエントリがなければ、処理がステップＳ１２１（図１８に示す）に進められる。
【００８８】
［ステップＳ１０４］ブローカリング部１４０は、予約情報管理リポジトリ１３０から、ステップＳ１０１で参照したエントリの直前の予約期間情報を取得する。具体的には、ブローカリング部１４０は、ステップＳ１０１で参照したエントリと同一のＩＴリソースの予約期間情報のうち、参照したエントリの空き期間の直前のものを取得する。
【００８９】
［ステップＳ１０５］ブローカリング部１４０は、予約情報管理リポジトリ１３０から、ステップＳ１０１で参照したエントリの２つ前の予約期間情報を取得する。
［ステップＳ１０６］ブローカリング部１４０は、ステップＳ１０１で参照したエントリに対応するＩＴリソースに予約を入れたと仮定し、その後、直前の予約がキャンセルされた場合に生じる空き期間長を算出する。具体的には、ブローカリング部１４０は、２つ前の予約期間の終了日から、予約要求で示されている希望予約期間の開始日までの期間を計算する。その期間が、直前の予約がキャンセルされた場合に生じる空き期間長となる。ブローカリング部１４０は、算出した直前予約キャンセル後空き期間長を、予約管理テーブル５０におけるステップＳ１０１で参照したエントリに格納する。
【００９０】
なお、２つ前の予約が存在しない場合、ブローカリング部１４０は、現在の日付から、予約要求で示されている希望予約期間の開始日までの期間長を、直前予約キャンセル後空き期間長とする。
【００９１】
［ステップＳ１０７］ブローカリング部１４０は、ステップＳ１０１で参照したエントリが最初の選択候補か否かを判定する。最初の選択候補の場合、処理がステップＳ１０８に進められる。最初の選択候補ではない場合、処理がステップＳ１０９に進められる。
【００９２】
［ステップＳ１０８］ブローカリング部１４０は、キャンセル後最小空き期間情報に、ステップＳ１０６で算出した直前予約キャンセル後空き期間長を格納する。
［ステップＳ１０９］ブローカリング部１４０は、直前予約キャンセル後空き期間長がキャンセル後最小空き期間情報より短いか否かを判定する。直前予約キャンセル後空き期間長がキャンセル後最小空き期間情報より短い場合、処理がステップＳ１１０に進められる。直前予約キャンセル後空き期間長がキャンセル後最小空き期間情報以上の場合、処理がステップＳ１１１（図１７に示す）に進められる。
【００９３】
［ステップＳ１１０］ブローカリング部１４０は、キャンセル後最小空き期間情報に、ステップＳ１０６で算出した直前予約キャンセル後空き期間長を格納する。その後、処理がステップＳ１１１（図１７に示す）に進められる。
【００９４】
図１７は、ＩＴリソース決定処理のフローチャートを示す第２の図である。以下、図１７に示す処理をステップ番号に沿って説明する。
［ステップＳ１１１］ブローカリング部１４０は、予約情報管理リポジトリ１３０から、ステップＳ１０１で参照したエントリの直後の予約期間情報を取得する。具体的には、ブローカリング部１４０は、ステップＳ１０１で参照したエントリと同一のＩＴリソースの予約期間情報のうち、参照したエントリの空き期間の直後のものを取得する。
【００９５】
［ステップＳ１１２］ブローカリング部１４０は、予約情報管理リポジトリ１３０から、ステップＳ１０１で参照したエントリの２つ後の予約期間情報を取得する。
［ステップＳ１１３］ブローカリング部１４０は、ステップＳ１０１で参照したエントリに対応するＩＴリソースに予約を入れたと仮定し、その後、直後の予約がキャンセルされた場合に生じる空き期間長を算出する。具体的には、ブローカリング部１４０は、予約要求で示されている希望予約期間の終了日から、２つ後の予約期間の開始日までの期間を計算する。その期間が、直後の予約がキャンセルされた場合に生じる空き期間長となる。ブローカリング部１４０は、算出した直後予約キャンセル後空き期間長を、予約管理テーブル５０におけるステップＳ１０１で参照したエントリに格納する。
【００９６】
［ステップＳ１１４］ブローカリング部１４０は、直後予約キャンセル後空き期間長がキャンセル後最小空き期間情報より短いか否かを判定する。直後予約キャンセル後空き期間長がキャンセル後最小空き期間情報より短い場合、処理がステップＳ１１５に進められる。直後予約キャンセル後空き期間長がキャンセル後最小空き期間情報以上の場合、処理がステップＳ１１６に進められる。
【００９７】
［ステップＳ１１５］ブローカリング部１４０は、キャンセル後最小空き期間情報に、ステップＳ１１３で算出した直後予約キャンセル後空き期間長を格納する。
［ステップＳ１１６］ブローカリング部１４０は、予約管理テーブル５０内のエントリに未参照のエントリがあるか否かを判定する。未参照のエントリがあれば、処理がステップＳ１０１（図１６に示す）に進められる。未参照のエントリがなければ、処理がステップＳ１２１（図１８に示す）に進められる。
【００９８】
図１８は、ＩＴリソース決定処理のフローチャートを示す第３の図である。以下、図１８に示す処理をステップ番号に沿って説明する。
［ステップＳ１２１］ブローカリング部１４０は、予約管理テーブル５０の各エントリを未参照の状態に戻すと共に、ブローカリング部１４０内に直前予約決定フラグを生成し、その値をＯＦＦに設定する。
【００９９】
［ステップＳ１２２］ブローカリング部１４０は、予約管理テーブル５０の未参照のエントリのうち１つのエントリを参照する。
［ステップＳ１２３］ブローカリング部１４０は、ステップＳ１２２で参照したエントリの選択候補フラグがＯＮか否かを判断する。選択候補フラグがＯＮであれば、処理がステップＳ１２４に進められる。選択候補フラグがＯＦＦであれば、処理がステップＳ１２６に進められる。
【０１００】
［ステップＳ１２４］ブローカリング部１４０は、直前予約キャンセル後空き期間長が、キャンセル後最小空き期間情報と同値か否かを判定する。同値であれば、処理がステップＳ１２５に進められる。同値でなければ、処理がステップＳ１２６に進められる。
【０１０１】
［ステップＳ１２５］ブローカリング部１４０は、ステップＳ１２２で参照したエントリの決定フラグをＯＮに設定すると共に、直前予約決定フラグをＯＮに設定する。
［ステップＳ１２６］ブローカリング部１４０は、予約管理テーブル５０内に未参照のエントリがあるか否かを判断する。未参照のエントリがあれば、処理がステップＳ１２２に進められる。未参照のエントリがなければ、処理がステップＳ１２７に進められる。
【０１０２】
［ステップＳ１２７］ブローカリング部１４０は、直前予約決定フラグがＯＮか否かを判断する。直前予約決定フラグがＯＦＦであれば、予約管理テーブル５０の各エントリを未参照の状態に戻し、処理がステップＳ１３１（図１９に示す）に進められる。直前予約決定フラグがＯＮであれば、処理がステップＳ１３６（図１９に示す）に進められる。
【０１０３】
図１９は、ＩＴリソース決定処理のフローチャートを示す第４の図である。以下、図１９に示す処理をステップ番号に沿って説明する。
［ステップＳ１３１］ブローカリング部１４０は、予約管理テーブル５０の未参照のエントリの１つを参照する。
【０１０４】
［ステップＳ１３２］ブローカリング部１４０は、ステップＳ１３１で参照したエントリの選択候補フラグがＯＮか否かを判断する。選択候補フラグがＯＮであれば、処理がステップＳ１３３に進められる。選択候補フラグがＯＦＦであれば、処理がステップＳ１３５に進められる。
【０１０５】
［ステップＳ１３３］ブローカリング部１４０は、直後予約キャンセル後空き期間長が、キャンセル後最小空き期間情報と同値か否かを判定する。同値であれば、処理がステップＳ１３４に進められる。同値でなければ、処理がステップＳ１３５に進められる。
【０１０６】
［ステップＳ１３４］ブローカリング部１４０は、ステップＳ１３１で参照したエントリの決定フラグをＯＮに設定する。
［ステップＳ１３５］ブローカリング部１４０は、予約管理テーブル５０内に未参照のエントリがあるか否かを判断する。未参照のエントリがあれば、処理がステップＳ１３１に進められる。未参照のエントリがなければ、処理がステップＳ１３６に進められる。
【０１０７】
［ステップＳ１３６］ブローカリング部１４０は、予約管理テーブル５０の決定フラグがＯＮになっているエントリに対応するＩＴリソースを、予約対象として決定する。
以上のような処理によって、予約要求に応じたＩＴリソースの予約が行われる。
【０１０８】
例えば、図７に示すような予約要求が入力された場合について説明する。この場合、ブローカリング部１４０は、予約情報管理リポジトリ１３０から「２００５年６月１日〜２００５年６月３０日」の期間の予約が空いているＩＴリソースを検索する。ここで、予約対象とするＩＴリソースの決定処理を分かりやすくするため、図７に示されている予約情報管理リポジトリ１３０の内容を示すタイムテーブルを参照して説明する。
【０１０９】
図２０は、予約状況のタイムテーブルを示す図である。これは、予約情報管理リポジトリ１３０で登録されている予約情報を、横軸に日付を取ったタイムテーブル１３１で表したものである。
【０１１０】
タイムテーブル１３１では、各ＩＴリソースの予約された期間帯が、網掛けで示されている。また、予約された期間帯には、その期間帯に実行される業務の識別情報が示されている。なお、図２０の例では、説明を分かりやすくするために、各業務の予約期間を一箇月単位にしている。
【０１１１】
ここで、図７に示された予約要求が入力された場合、６月の全期間１３１ａが空き期間となっているＩＴリソースが検索される。すると、サーバ＃１〜サーバ＃５が検出される。
【０１１２】
ブローカリング部１４０は、検出されたＩＴリソースの、希望予約期間を含む空き期間の長さ計算する。すると、各サーバとも空き期間の長さが３箇月である。そのため、空き期間の長さに応じた優劣はつけられない。
【０１１３】
そこで、ブローカリング部１４０は、空き期間が同一となるＩＴリソースの数を、空き期間の種類毎にカウントする。図２０の例では、空き期間が「２００５年６月１日〜２００５年８月３１日」のＩＴリソースとして、サーバ＃１とサーバ＃２の２つがある。また、空き期間が「２００５年４月１日〜２００５年６月３０日」のＩＴリソースとして、サーバ＃３とサーバ＃４の２つがある。空き期間が「２００５年５月１日〜２００５年７月３１日」のＩＴリソースは、サーバ＃５の１だけである。
【０１１４】
ブローカリング部１４０は、空き期間が同じＩＴリソースの数が多い期間を、優先的に選択候補期間とする。すると、「２００５年６月１日〜２００５年８月３１日」の期間と、「２００５年４月１日〜２００５年６月３０日」の期間とが選択候補期間となる。
【０１１５】
ブローカリング部１４０は、対応するＩＴリソース数が同じ場合、より近い未来の期間が空き期間となっている選択候補期間を優先的に、予約対象の空き期間として選択する。図２０の例では、「２００５年４月１日〜２００５年６月３０日」の期間の方が近い未来であるため、この空き期間が予約対象となる。
【０１１６】
この予約対象の空き期間を有するＩＴリソースは、サーバ＃３とサーバ＃４である。そこで、ブローカリング部１４０は、予約要求に応じた予約を設定したものと仮定し、直前または直後の予約がキャンセルされた場合に生じる空き期間を計算する。
【０１１７】
サーバ＃３は、直前の業務ｃの予約がキャンセルされると「２００５年２月１日〜２００５年５月３１日」が空き期間となる。一方サーバ＃４は、直前の業務ｂの予約がキャンセルされると「２００５年１月１日〜２００５年５月３１日」が空き期間となる。また、サーバ＃３は、直後の業務ｈの予約がキャンセルされると「２００５年７月１日〜２００５年９月３０日」が空き期間となる。一方、サーバ＃４は、直後の業務ｉの予約がキャンセルされると「２００５年７月１日〜２００５年８月３１日」が空き期間となる。すると、サーバ＃４の方が直後予約キャンセル後の空き期間が短くなる。そこで、ブローカリング部１４０は、予約対象のＩＴリソースをサーバ＃４に決定する。
【０１１８】
予約の結果は、管理サーバ１００からクライアント３１に送られる。すると、クライアント３１において予約結果画面が表示される。
図２１は、予約結果画面の例を示す図である。予約結果画面６０には、予約された期間帯に実行される業務の名称、予約期間、および予約されたＩＴリソースの名称が表示される。
【０１１９】
以上説明したように、本実施の形態では、空き期間が同一となるＩＴリソースの数が多い空き期間を選択候補期間とし、その選択候補期間と同じ空き期間を有するＩＴリソースに予約登録を行うようにした。これにより、次に入る予約が、より成立させやすくなる。
【０１２０】
また、選択候補期間と同じ空き期間を有するＩＴリソースの間では、より近い未来の空き期間を有するＩＴリソースを優先的に、予約登録の対象として決定するようにした。換言すると、空き期間が遠い未来のＩＴリソースを、できるだけ空き期間のまま残すようにした。これにより、以降の予約要求に応じた予約が成立しやすくなる。
【０１２１】
さらに、前後の予約がキャンセルされた場合を想定し、前後の予約がキャンセルされた場合に空き期間が最小となるＩＴリソースを、優先的に予約登録の対象として決定するようにした。これにより、空き期間の断片化の抑止が行われる。
【０１２２】
このように、次に入る予約をより成立させやすくすることで、業務の予約要求によりＩＴリソースを確保できる可能性が高まる。その結果、より多くの業務の予約登録が可能となり、ＩＴリソースを有効に活用することができる。
【０１２３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１２４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２６】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１２７】
（付記１）  ＩＴリソースの利用予約を管理する予約管理プログラムにおいて、
コンピュータを、
ＩＴリソース毎の予約情報を格納する予約情報リポジトリ、
希望予約期間を示す予約要求が入力されると、前記予約情報リポジトリを参照し、希望予約期間に予約を登録可能なＩＴリソースを検出するＩＴリソース検出手段、
前記ＩＴリソース検出手段で検出された各ＩＴリソースの予約情報に基づき、前記希望予約期間を包含する空き期間を計算する空き期間計算手段、
前記空き期間計算手段で計算された空き期間が同一となるＩＴリソースの数が最も多い最多空き期間を検出する最多空き期間検出手段、
前記最多空き期間と同じ空き期間を有するＩＴリソースの中から、前記予約要求に応じた予約登録の対象とするＩＴリソースを決定するＩＴリソース決定手段、
前記予約情報リポジトリに対して、前記ＩＴリソース決定手段で決定されたＩＴリソースに対する予約登録を行う予約登録手段、
として機能させることを特徴とする予約管理プログラム。
【０１２８】
（付記２）  前記ＩＴリソース決定手段は、前記最多空き期間と同じ空き期間を有するＩＴリソースが複数ある場合、空き期間が最も近い未来であるＩＴリソースを予約登録の対象とすることを特徴とする付記１記載の予約管理プログラム。
【０１２９】
（付記３）  前記ＩＴリソース決定手段は、前記最多空き期間と同じ空き期間を有するＩＴリソースが複数ある場合、各ＩＴリソースに予約要求に応じた予約登録を行ったものと仮定し、前後の予約がキャンセルされた場合に空き期間が最小となるＩＴリソースを、予約登録の対象とすることを特徴とする付記１記載の予約管理プログラム。
【０１３０】
（付記４）  ＩＴリソースの機能が登録された構成情報管理リポジトリをさらに有し、
前記ＩＴリソース検出手段は、前記予約要求で業務の種別が指定されている場合、前記業務の種別に応じた処理を実行可能なＩＴリソースを前記構成情報管理リポジトリから検索し、前記業務を実行可能なＩＴリソースの中から、希望予約期間に予約を登録可能なＩＴリソースを検出することを特徴とする付記１記載の予約管理プログラム。
【０１３１】
（付記５）  ＩＴリソースの利用予約を管理する予約管理装置において、
ＩＴリソース毎の予約情報を格納する予約情報リポジトリと、
希望予約期間を示す予約要求が入力されると、前記予約情報リポジトリを参照し、希望予約期間に予約を登録可能なＩＴリソースを検出するＩＴリソース検出手段と、
前記ＩＴリソース検出手段で検出された各ＩＴリソースの予約情報に基づき、前記希望予約期間を包含する空き期間を計算する空き期間計算手段と、
前記空き期間計算手段で計算された空き期間が同一となるＩＴリソースの数が最も多い最多空き期間を検出する最多空き期間検出手段と、
前記最多空き期間と同じ空き期間を有するＩＴリソースの中から、前記予約要求に応じた予約登録の対象とするＩＴリソースを決定するＩＴリソース決定手段、
前記予約情報リポジトリに対して、前記ＩＴリソース決定手段で決定されたＩＴリソースに対する予約登録を行う予約登録手段と、
を有することを特徴とする予約管理装置。
【０１３２】
（付記６）  ＩＴリソースの利用予約を管理する予約管理方法において、
ＩＴリソース検出手段が、希望予約期間を示す予約要求が入力されると、ＩＴリソース毎の予約情報を格納する予約情報リポジトリを参照し、希望予約期間に予約を登録可能なＩＴリソースを検出し、
空き期間計算手段が、前記ＩＴリソース検出手段で検出された各ＩＴリソースの予約情報に基づき、前記希望予約期間を包含する空き期間を計算し、
最多空き期間検出手段が、前記空き期間計算手段で計算された空き期間が同一となるＩＴリソースの数が最も多い最多空き期間を検出し、
ＩＴリソース決定手段が、前記最多空き期間と同じ空き期間を有するＩＴリソースの中から、前記予約要求に応じた予約登録の対象とするＩＴリソースを決定し、
予約登録手段が、前記予約情報リポジトリに対して、前記ＩＴリソース決定手段で決定されたＩＴリソースに対する予約登録を行う、
ことを特徴とする予約管理方法。
【図面の簡単な説明】
【０１３３】
【図１】本実施の形態の概略を示す図である。
【図２】本実施の形態のシステム構成例を示す図である。
【図３】本実施の形態に用いる管理サーバのハードウェア構成例を示す図である。
【図４】管理サーバの機能を示すブロック図である。
【図５】構成情報管理リポジトリのデータ構造例を示す図である。
【図６】予約情報管理リポジトリのデータ構造例を示す図である。
【図７】ＩＴリソース予約画面の例を示す図である。
【図８】ＩＴリソース予約処理の手順を示すフローチャートである。
【図９】ＩＴリソース決定処理の手順を示すフローチャートである。
【図１０】予約管理テーブルのデータ構造例を示す図である。
【図１１】空き期間テーブルのデータ構造例を示す図である。
【図１２】空き期間テーブル生成処理の手順を示すフローチャートである。
【図１３】選択候補期間決定処理の手順を示すフローチャートである。
【図１４】空き期間決定処理の手順を示すフローチャートである。
【図１５】ＩＴリソース選択候補決定処理の手順を示すフローチャートである。
【図１６】ＩＴリソース決定処理のフローチャートを示す第１の図である。
【図１７】ＩＴリソース決定処理のフローチャートを示す第２の図である。
【図１８】ＩＴリソース決定処理のフローチャートを示す第３の図である。
【図１９】ＩＴリソース決定処理のフローチャートを示す第４の図である。
【図２０】予約状況のタイムテーブルを示す図である。
【図２１】予約結果画面の例を示す図である。
【符号の説明】
【０１３４】
１  予約情報リポジトリ
２  ＩＴリソース検出手段
３  空き期間計算手段
４  最多空き期間検出手段
５  ＩＴリソース決定手段
６  予約登録手段
７  予約要求
【図１】
0004629587.tif 000002
【図２】
0004629587.tif 000003
【図３】
0004629587.tif 000004
【図４】
0004629587.tif 000005
【図５】
0004629587.tif 000006
【図６】
0004629587.tif 000007
【図７】
0004629587.tif 000008
【図８】
0004629587.tif 000009
【図９】
0004629587.tif 000010
【図１０】
0004629587.tif 000011
【図１１】
0004629587.tif 000012
【図１２】
0004629587.tif 000013
【図１３】
0004629587.tif 000014
【図１４】
0004629587.tif 000015
【図１５】
0004629587.tif 000016
【図１６】
0004629587.tif 000017
【図１７】
0004629587.tif 000018
【図１８】
0004629587.tif 000019
【図１９】
0004629587.tif 000020
【図２０】
0004629587.tif 000021
【図２１】
0004629587.tif 000022