(57)【要約】      （修正有）【課題】リソースを効率良く使用してジョブを実行する。【解決手段】プログラム予約情報が入力されると、使用可能なリソースの量と時期とが対応付けられた空きリソース量管理テーブルを参照し、実行予定時期における使用可能なリソースの量が、必要なリソースの量以上であるか否かを判定する判定ステップと、使用可能量が必要量以上であると判定すると、使用可能量から必要量を減算し、空きリソース量管理テーブルに対して減算量を新たな使用可能量として書き込むとともに、プログラム予約情報管理テーブルに対してプログラム予約情報を新たに書き込む更新ステップと、を備えてなる。【選択図】      図３
2005346433.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行に必要なリソースの量と実行予定時期とがプログラム予約情報として前記プログラム毎に対応付けられたプログラム予約情報管理テーブルに基づいて、前記必要なリソースを前記プログラムに割り付けるプログラム実行予約方法であって、
前記プログラム予約情報が端末から入力されると、
使用可能な前記リソースの量と時期とが対応付けられた空きリソース量管理テーブルを参照し、前記プログラム予約情報の前記実行予定時期における前記使用可能なリソースの量を取得し、
前記取得したリソースの量が、前記プログラム予約情報の前記必要なリソースの量以上であるか否かを判定する判定ステップと、
前記使用可能なリソースの量が前記必要なリソースの量以上であると判定すると、
前記使用可能なリソースの量から前記必要なリソースの量を減算し、前記空きリソース量管理テーブルに対して前記減算量を新たな前記使用可能なリソースの量として書き込むとともに、
前記プログラム予約情報管理テーブルに対して前記プログラム予約情報を新たに書き込む更新ステップと、
を備えたことを特徴とするプログラム実行予約方法。
【請求項２】
前記プログラム予約情報は、前記プログラムの実行に必要なオペレーティングシステム及びソフトウェアの情報を更に含み、
前記オペレーティングシステム及び前記ソフトウェア毎に前記リソースへのインストールに必要な準備期間が対応付けられた準備期間管理テーブルを参照し、前記プログラム予約情報の前記プログラムの実行のための前記準備期間を取得し、
前記実行予定時期における開始時より前記準備期間分だけ早めて新たな開始時とする開始時設定ステップを更に備えた、
ことを特徴とする請求項１に記載のプログラム実行予約方法。
【請求項３】
前記実行予定時期における開始時に、
前記リソース毎にその使用の有無の情報が対応付けられたリソース使用状況管理テーブルを参照し、前記開始時に使用可能な前記リソースの中から、新たな前記プログラム予約情報管理テーブルにおける前記必要なリソースの量分の任意の前記リソースを、前記プログラムに対して割り付ける任意割付ステップを更に備えたことを特徴とする請求項１又は２に記載のプログラム実行予約方法。
【請求項４】
前記実行予定時期における開始時に、
前記リソース毎にその使用の有無の情報が対応付けられたリソース使用状況管理テーブルを参照し、前記開始時に使用可能な前記リソースの中から、新たな前記プログラム予約情報管理テーブルにおける前記必要なリソースの量分の所定の前記リソースを、前記プログラムに対して割り付ける制限割付ステップを更に備えたことを特徴とする請求項１又は２に記載のプログラム実行予約方法。
【請求項５】
前記リソースの量は、計算機たる前記リソースの数であることを特徴とする請求項４に記載のプログラム実行予約方法。
【請求項６】
複数の前記リソースは、当該各リソースが帰属する複数のデータセンタと、当該各データセンタの内部ユーザ用及び外部ユーザ用とに区別されてなり、
前記区別に応じて、前記プログラム予約情報管理テーブル及び前記空きリソース量管理テーブルは、前記内部ユーザ用及び外部ユーザ用に区別されてなり、
前記リソース使用状況管理テーブルは、前記リソース毎に、その使用の有無の情報に加えて、前記データセンタの情報と、前記内部ユーザ用及び外部ユーザ用を区別する情報とが更に対応付けられてなり、
前記所定のリソースは、前記リソース使用状況管理テーブルにおける前記外部ユーザ用のリソースのうち、所定の前記データセンタに帰属するリソースからできるだけ構成されてなる、
ことを特徴とする請求項５に記載のプログラム実行予約方法。
【請求項７】
前記各データセンタにおける前記内部ユーザ用のリソースの数と前記外部ユーザ用のリソースの数との比は、時期により変化可能であることを特徴とする請求項６に記載のプログラム実行予約方法。
【請求項８】
プログラムの実行に必要なリソースの量と実行予定時期とがプログラム予約情報として前記プログラム毎に対応付けられたプログラム予約情報管理テーブルを備え、前記プログラム予約情報管理テーブル基づいて前記必要なリソースを前記プログラムに割り付けるプログラム実行予約装置であって、
使用可能な前記リソースの量と時期とが対応付けられた空きリソース量管理テーブルと、
前記プログラム予約情報が端末から入力されると、前記空きリソース量管理テーブルを参照し、前記プログラム予約情報の前記実行予定時期における前記使用可能なリソースの量を取得し、前記取得したリソースの量が、前記プログラム予約情報の前記必要なリソースの量以上であるか否かを判定する予約可否判定部と、
前記使用可能なリソースの量が前記必要なリソースの量以上であると判定すると、前記使用可能なリソースの量から前記必要なリソースの量を減算し、前記空きリソース量管理テーブルに対して前記減算量を新たな前記使用可能なリソースの量として書き込むとともに、前記プログラム予約情報管理テーブルに対して前記プログラム予約情報を新たに書き込むテーブル更新部と、
を備えたことを特徴とするプログラム実行予約装置。
【請求項９】
プログラムの実行に必要なリソースの量と実行予定時期とがプログラム予約情報として前記プログラム毎に対応付けられたプログラム予約情報管理テーブルを備えたプログラム実行予約装置に、前記プログラム予約情報管理テーブル基づいて前記必要なリソースを前記プログラムに割り付けるプログラム実行予約方法を実行させるプログラム実行予約プログラムであって、
前記プログラム予約情報が端末から入力されると、
使用可能な前記リソースの量と時期とが対応付けられた空きリソース量管理テーブルを参照し、前記プログラム予約情報の前記実行予定時期における前記使用可能なリソースの量を取得し、
前記取得したリソースの量が、前記プログラム予約情報の前記必要なリソースの量以上であるか否かを判定する、判定ステップと、
前記使用可能なリソースの量が前記必要なリソースの量以上であると判定すると、
前記使用可能なリソースの量から前記必要なリソースの量を減算し、前記空きリソース量管理テーブルに対して前記減算量を新たな前記使用可能なリソースの量として書き込むとともに、
前記プログラム予約情報管理テーブルに対して前記プログラム予約情報を新たに書き込む、更新ステップと、
を備えたことを特徴とするプログラム実行予約プログラム。
【請求項１０】
プログラムを実行するリソースを格納するリソースプールと、
前記プログラムの実行に必要な前記リソースの量と実行予定時期とがプログラム予約情報として前記プログラム毎に対応付けられたプログラム予約情報管理テーブルと、前記プログラム予約情報管理テーブル基づいて、前記必要なリソースを前記プログラムに割り付けるリソース割付部とを有するプログラム実行予約装置と、
前記プログラム予約情報が入力されるための端末と、を備えたプログラム実行システムであって、
前記プログラム実行予約装置は、
使用可能な前記リソースの量と時期とが対応付けられた空きリソース量管理テーブルと、
前記リソースプールにおける前記リソース毎にその使用の有無の情報が対応付けられたリソース使用状況管理テーブルと、
前記プログラム予約情報が前記端末から入力されると、前記空きリソース量管理テーブルを参照し、前記プログラム予約情報の前記実行予定時期における前記使用可能なリソースの量を取得し、前記取得したリソースの量が、前記プログラム予約情報の前記必要なリソースの量以上であるか否かを判定する予約可否判定部と、
前記使用可能なリソースの量が前記必要なリソースの量以上であると判定すると、前記使用可能なリソースの量から前記必要なリソースの量を減算し、前記空きリソース量管理テーブルに対して前記減算量を新たな前記使用可能なリソースの量として書き込むとともに、前記プログラム予約情報管理テーブルに対して前記プログラム予約情報を新たに書き込むテーブル更新部と、
を更に備え、
前記プログラム実行予約装置の前記リソース割付部は、
前記実行予定時期における開始時に、前記リソース使用状況管理テーブルを参照し、前記開始時に使用可能な前記リソースの中から、新たな前記プログラム予約情報管理テーブルにおける前記必要なリソースの量分の前記リソースを前記プログラムに対して割り付ける、
ことを特徴とするプログラム実行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム実行予約方法、プログラム実行予約装置、プログラム実行予約プログラム、及びプログラム実行システムに関する。
【背景技術】
【０００２】
グリッド計算技術が適用される計算システムには、この計算のジョブ（プログラム）を実行する計算機（リソース）を複数台格納した所謂リソースプールにアクセス可能な、ジョブ実行予約装置を備えたシステムがある。このジョブ実行予約装置とは、ジョブ予約情報管理テーブルを有し、このテーブルに基づいて、リソースプール中の計算機をジョブに対して割り付ける機能を有する装置である。このジョブ予約情報管理テーブルとは、ジョブの実行に必要な計算機の台数と実行予定時期とがジョブ予約情報としてジョブ毎に対応付けられたテーブルデータである。
【０００３】
例えば、図１２（ａ）の時間ダイアグラムに例示されるように、各計算機（マシン１乃至４）毎の予約状況として、１２：００乃至１４：００においてマシン１及びマシン２がジョブＡに予約され、１６：００乃至１８：００においてマシン２がジョブＢに予約された状況について考える。この場合、ジョブ予約情報管理テーブルは、ジョブＡに対して１２：００乃至１４：００にマシン１及びマシン２が割り付けられ、ジョブＢに対して１６：００乃至１８：００にマシン２が割り付けられる構成を有する。
【０００４】
この予約状況に対して、例えばマシン２台を４時間使用するジョブＣを１３：００から実行することは可能であり、このジョブＣの予約によって、前述した予約状況は、図１２（ｂ）の時間ダイアグラムに例示される予約状況に更新される。尚、マシン１乃至４の個々の計算性能は等しいと仮定する。
【特許文献１】特開２００２−３１８７９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、前述した計算システムにおいては、ジョブ予約情報管理テーブルにおいてジョブに対して個々の計算機を具体的に割り付けることによって、当該ジョブの予約を行っている。例えば、図１２（ｃ）の時間ダイアグラムに例示されるように、ジョブＢが、マシン１又はマシン２ではなく、マシン３に割り付けられている場合、同一の計算機を連続して使用するという前提では、ジョブＣを予約できないという問題が生じる。つまり、この場合、計算機が効率良く使用されていないことになる。
【０００６】
そこで、本発明は、前記課題に鑑みてなされたものであり、リソースを効率良く使用してジョブを実行することを目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するための発明は、プログラムの実行に必要なリソースの量と実行予定時期とがプログラム予約情報として前記プログラム毎に対応付けられたプログラム予約情報管理テーブルに基づいて、前記必要なリソースを前記プログラムに割り付けるプログラム実行予約方法であって、前記プログラム予約情報が端末から入力されると、使用可能な前記リソースの量と時期とが対応付けられた空きリソース量管理テーブルを参照し、前記プログラム予約情報の前記実行予定時期における前記使用可能なリソースの量を取得し、前記取得したリソースの量が、前記プログラム予約情報の前記必要なリソースの量以上であるか否かを判定する判定ステップと、前記使用可能なリソースの量が前記必要なリソースの量以上であると判定すると、前記使用可能なリソースの量から前記必要なリソースの量を減算し、前記空きリソース量管理テーブルに対して前記減算量を新たな前記使用可能なリソースの量として書き込むとともに、前記プログラム予約情報管理テーブルに対して前記プログラム予約情報を新たに書き込む更新ステップと、を備えてなる。
【０００８】
また、かかるプログラム実行予約方法において、前記プログラム予約情報は、前記プログラムの実行に必要なオペレーティングシステム及びソフトウェアの情報を更に含み、前記オペレーティングシステム及び前記ソフトウェア毎に前記リソースへのインストールに必要な準備期間が対応付けられた準備期間管理テーブルを参照し、前記プログラム予約情報の前記プログラムの実行のための前記準備期間を取得し、前記実行予定時期における開始時より前記準備期間分だけ早めて新たな開始時とする開始時設定ステップを更に備えた、ことが好ましい。
【０００９】
また、かかるプログラム実行予約方法において、前記実行予定時期における開始時に、前記リソース毎にその使用の有無の情報が対応付けられたリソース使用状況管理テーブルを参照し、前記開始時に使用可能な前記リソースの中から、新たな前記プログラム予約情報管理テーブルにおける前記必要なリソースの量分の任意の前記リソースを、前記プログラムに対して割り付ける任意割付ステップを更に備えてもよい。
【００１０】
また、かかるプログラム実行予約方法において、前記実行予定時期における開始時に、前記リソース毎にその使用の有無の情報が対応付けられたリソース使用状況管理テーブルを参照し、前記開始時に使用可能な前記リソースの中から、新たな前記プログラム予約情報管理テーブルにおける前記必要なリソースの量分の所定の前記リソースを、前記プログラムに対して割り付ける制限割付ステップを更に備えてもよい。
【００１１】
また、かかるプログラム実行予約方法において、前記リソースの量は、計算機たる前記リソースの数であってもよい。
【００１２】
また、かかるプログラム実行予約方法において、複数の前記リソースは、当該各リソースが帰属する複数のデータセンタと、当該各データセンタの内部ユーザ用及び外部ユーザ用とに区別されてなり、前記区別に応じて、前記プログラム予約情報管理テーブル及び前記空きリソース量管理テーブルは、前記内部ユーザ用及び外部ユーザ用に区別されてなり、前記リソース使用状況管理テーブルは、前記リソース毎に、その使用の有無の情報に加えて、前記データセンタの情報と、前記内部ユーザ用及び外部ユーザ用を区別する情報とが更に対応付けられてなり、前記所定のリソースは、前記リソース使用状況管理テーブルにおける前記外部ユーザ用のリソースのうち、所定の前記データセンタに帰属するリソースからできるだけ構成されてなってもよい。
【００１３】
また、かかるプログラム実行予約方法において、前記各データセンタにおける前記内部ユーザ用のリソースの数と前記外部ユーザ用のリソースの数との比は、時期により変化可能であってもよい。
【００１４】
また、前記課題を解決するための発明は、プログラムの実行に必要なリソースの量と実行予定時期とがプログラム予約情報として前記プログラム毎に対応付けられたプログラム予約情報管理テーブルを備え、前記プログラム予約情報管理テーブル基づいて前記必要なリソースを前記プログラムに割り付けるプログラム実行予約装置であって、使用可能な前記リソースの量と時期とが対応付けられた空きリソース量管理テーブルと、前記プログラム予約情報が端末から入力されると、前記空きリソース量管理テーブルを参照し、前記プログラム予約情報の前記実行予定時期における前記使用可能なリソースの量を取得し、前記取得したリソースの量が、前記プログラム予約情報の前記必要なリソースの量以上であるか否かを判定する予約可否判定部と、前記使用可能なリソースの量が前記必要なリソースの量以上であると判定すると、前記使用可能なリソースの量から前記必要なリソースの量を減算し、前記空きリソース量管理テーブルに対して前記減算量を新たな前記使用可能なリソースの量として書き込むとともに、前記プログラム予約情報管理テーブルに対して前記プログラム予約情報を新たに書き込むテーブル更新部と、を備えてなる。
【００１５】
また、前記課題を解決するための発明は、プログラムの実行に必要なリソースの量と実行予定時期とがプログラム予約情報として前記プログラム毎に対応付けられたプログラム予約情報管理テーブルを備えたプログラム実行予約装置に、前記プログラム予約情報管理テーブル基づいて前記必要なリソースを前記プログラムに割り付けるプログラム実行予約方法を実行させるプログラム実行予約プログラムであって、前記プログラム予約情報が端末から入力されると、使用可能な前記リソースの量と時期とが対応付けられた空きリソース量管理テーブルを参照し、前記プログラム予約情報の前記実行予定時期における前記使用可能なリソースの量を取得し、前記取得したリソースの量が、前記プログラム予約情報の前記必要なリソースの量以上であるか否かを判定する、判定ステップと、前記使用可能なリソースの量が前記必要なリソースの量以上であると判定すると、前記使用可能なリソースの量から前記必要なリソースの量を減算し、前記空きリソース量管理テーブルに対して前記減算量を新たな前記使用可能なリソースの量として書き込むとともに、前記プログラム予約情報管理テーブルに対して前記プログラム予約情報を新たに書き込む、更新ステップと、を備えてなる。
【００１６】
また、前記課題を解決するための発明は、プログラムを実行するリソースを格納するリソースプールと、前記プログラムの実行に必要な前記リソースの量と実行予定時期とがプログラム予約情報として前記プログラム毎に対応付けられたプログラム予約情報管理テーブルと、前記プログラム予約情報管理テーブル基づいて、前記必要なリソースを前記プログラムに割り付けるリソース割付部とを有するプログラム実行予約装置と、前記プログラム予約情報が入力されるための端末と、を備えたプログラム実行システムであって、前記プログラム実行予約装置は、使用可能な前記リソースの量と時期とが対応付けられた空きリソース量管理テーブルと、前記リソースプールにおける前記リソース毎にその使用の有無の情報が対応付けられたリソース使用状況管理テーブルと、前記プログラム予約情報が前記端末から入力されると、前記空きリソース量管理テーブルを参照し、前記プログラム予約情報の前記実行予定時期における前記使用可能なリソースの量を取得し、前記取得したリソースの量が、前記プログラム予約情報の前記必要なリソースの量以上であるか否かを判定する予約可否判定部と、前記使用可能なリソースの量が前記必要なリソースの量以上であると判定すると、前記使用可能なリソースの量から前記必要なリソースの量を減算し、前記空きリソース量管理テーブルに対して前記減算量を新たな前記使用可能なリソースの量として書き込むとともに、前記プログラム予約情報管理テーブルに対して前記プログラム予約情報を新たに書き込むテーブル更新部と、を更に備え、前記プログラム実行予約装置の前記リソース割付部は、前記実行予定時期における開始時に、前記リソース使用状況管理テーブルを参照し、前記開始時に使用可能な前記リソースの中から、新たな前記プログラム予約情報管理テーブルにおける前記必要なリソースの量分の前記リソースを前記プログラムに対して割り付けてなる。
【発明の効果】
【００１７】
リソースを効率良く使用してジョブ（プログラム）を実行できる。
【発明を実施するための最良の形態】
【００１８】
＝＝＝第一の実施の形態＝＝＝
＜＜＜ジョブ実行予約装置＞＞＞
図１のブロック図に例示されるように、本実施の形態のグリッド計算システム（プログラム実行システム）１０は、グリッド計算のジョブを実行するための複数台の計算機（リソース）３１ａ、３１ｂ、３１ｃ、３１ｄを格納するリソースプール３０と、リソース予約・管理装置（プログラム実行予約装置）５０とを、主として備えている。尚、図１の例示においては、計算機３１の台数は４台であるが、これに限定されるものではなく、２台以上であれば何台でもよい。また、本実施の形態の計算機３１の性能は全て同一であるとする。
【００１９】
リソース予約・管理装置５０は、ジョブを実行する際に計算機３１にインストールすべきオペレーティングシステム（ＯＳ）、前提ソフトウェア、アプリケーション（ＡＰ）、設定情報等を格納するＡＰリポジトリ７０と、オペレータがジョブ予約情報等を入力するためのオペレータ端末（端末）９０とを備えている。このリソース予約・管理装置５０は、ジョブ予約情報に基づいてジョブの実行を予約するとともに、計算機３１にジョブを実行させる機能を有する情報処理装置である。
【００２０】
尚、本実施の形態のリソース予約・管理装置５０は、単体の情報処理装置に限定されるものではなく、例えば計算機３１の内の１つにインストールされたソフトウェアが、当該１つの計算機にリソース予約・管理装置５０としての動作をさせるものであってもよい。
【００２１】
また、本実施の形態のリソース予約・管理装置５０は、更に、予約情報管理テーブル（プログラム予約情報管理テーブル）１１０、空き台数管理テーブル（空きリソース量管理テーブル）１３０、システム準備時間管理テーブル（準備期間管理テーブル）１５０、及び実行マシン管理テーブル（リソース使用状況管理テーブル）１７０を備える。本例ではジョブを一例に説明するが、プログラムやオブジェクト、プロセス、スレットでもよい。
【００２２】
図２（ａ）の図表に例示されるように、予約情報管理テーブル１１０は、オペレータ情報毎に、計算機３１の予約台数（リソース量）と、ジョブの実行日時（実行予定時期）と、当該ジョブに必要なＯＳ及び前提ソフトウェアと、アプリケーションや設定情報等とが、ジョブ予約情報として、互いに対応付けられて構成されている。図２（ａ）においては、例えば、“オペレータＸ”が“１月１０日１２：００乃至１４：００”に計算機３１を“２”台予約している。更に、この予約に対応するジョブは、“Linux（登録商標）”なるＯＳにて“J2EE1.4”及び“ftp”なる前提ソフトウェアを使用して実行される。尚、本実施の形態においては、予約情報管理テーブル１１０はオペレータ情報毎の構成となっているが、これは、オペレータが実行するジョブ毎の構成や当該ジョブのアプリケーション毎の構成等と等価である。要するに、本実施の形態のリソース量と実行予定時期とは、ジョブを特定する情報毎に対応付けられていればよい。
【００２３】
図２（ｂ）の図表に例示されるように、空き台数管理テーブル１３０は、使用可能な計算機３１の台数（リソース量）が日時（時期）毎に対応付けられて構成されている。図２（ｂ）においては、例えば、“１月１０日１２：００乃至１３：００”の計算機３１の空き台数は２台であり、“１月１０日１３：００乃至１４：００”の計算機３１の空き台数は２台である。ここで、本実施の形態のリソースプール３０における計算機３１の全台数は４台であることを考慮すると、前述した予約情報管理テーブル１１０において１２：００乃至１３：００及び１３：００乃至１４：００の何れについてもオペレータＸが２台ずつ計算機３１を予約していることは、計算機３１の空き台数（２台）と整合がとれている。つまり、空き台数管理テーブル１３０（図２（ｂ））のデータと予約情報管理テーブル１１０（図２（ａ））のデータとは互いに整合がとれている。
【００２４】
図２（ｃ）の図表に例示されるように、システム準備時間管理テーブル１５０は、前述したＯＳと前提ソフトウェアとからなる幾つかのパターン毎に、当該ＯＳ及びソフトウェアを計算機３１にインストールするためのシステム準備時間（準備期間）が対応付けられて構成されている。図２（ｃ）においては、例えば“Linux（登録商標）”なるＯＳ及び“J2EE1.4”及び“ftp”なる前提ソフトウェアを計算機３１にインストールするために必要な時間は０．２時間（１２分間）である。また、例えば“Windows（登録商標）”なるＯＳ及び“VisualBasic（登録商標）”及び“Excel（登録商標）”なる前提ソフトウェアを計算機３１にインストールするために必要な時間は０．４時間（２４分間）である。
【００２５】
図２（ｄ）の図表に例示されるように、実行マシン管理テーブル１７０は、各計算機３１ａ、３１ｂ、３１ｃ、３１ｄに、現時点（例えば１２：４８）での使用の有無が対応付けられて構成されている。図２（ｄ）においては、例えば、計算機３１ａ及び計算機３１ｂの２台は、１２：４８時点でオペレータＸに使用されており、計算機３１ｃ及び計算機３１ｄの２台は、１２：４８時点で使用されていない（“空き”）。計算機３１の実行動作はジョブ予約情報に基づいているため、図２（ｄ）において使用中とされている２台は、予約情報管理テーブル１１０（図２（ａ））において“オペレータＸ”が“１月１０日１２：００乃至１４：００”に予約している計算機３１の台数である２台に相当する。また、図２（ｄ）において未使用とされている２台は、空き台数管理テーブル１３０（図２（ｂ））における“１月１０日１２：００乃至１３：００”の計算機３１の空き台数である２台に相当する。
【００２６】
更に、図１のブロック図に例示されるように、本実施の形態のリソース予約・管理装置５０は、後述する、ジョブの実質的な実行開始日時において当該ジョブに計算機３１を割り付けるためのリソース決定モジュール（リソース割付部）１９０を備える。
【００２７】
＜＜＜ジョブの実行予約及び実行＞＞＞
図３のフローチャートに例示されるように、先ず、オペレータＸによって、実行すべきジョブＣのアプリケーションとともに、ＯＳ、前提ソフトウェア、計算機３１の予約台数、及び予約日時（これらがジョブ予約情報）が、オペレータ端末９０を通じて、前述したグリッド計算システム１０におけるリソース予約・管理装置５０に入力される（Ｓ２００）。本実施の形態においては、ＯＳはLinux（登録商標）、前提ソフトウェアは“J2EE1.4”及び“ftp”、計算機３１の予約台数は２台、予約日時は１月１０日１３：００乃至１７：００であるとする。尚、本実施の形態においては、同一のオペレータＸによって、既にジョブＡ及びジョブＢが予約されており、後述するように、これらのジョブに対して計算機３１は未だ割り付けられていないものとする。
【００２８】
リソース予約・管理装置５０は、空き台数管理テーブル１３０（図２（ｂ））を参照し、ジョブ予約情報の予約日時において使用可能な計算機３１の台数を取得し、この台数が、ジョブ予約情報の予約台数以上であるか否かを判定する（Ｓ２０１）。
【００２９】
図２（ｂ）によれば、１月１０日において、１３：００乃至１４：００の使用可能台数は２台、１４：００乃至１５：００の使用可能台数は４台、１５：００乃至１６：００の使用可能台数は４台、１６：００乃至１７：００の使用可能台数は３台である。よって、同日１３：００乃至１７：００を通して使用可能な計算機３１の台数は２台であり、これは予約台数の２台に等しい（Ｓ２０１：Ｙ）。
【００３０】
もし、使用可能台数が予約台数より少なければ（Ｓ２０１：Ｎ）、リソース予約・管理装置５０は、その適宜なディスプレイに予約失敗の旨を表示し（Ｓ２０２）、処理を終了する。
【００３１】
次に、リソース予約・管理装置５０は、空き台数管理テーブル１３０（図２（ｂ））の１月１０日のデータについて、１３：００乃至１４：００の使用可能台数の２台から予約台数の２台を減算して０台（減算量）とし、１４：００乃至１５：００の使用可能台数の４台から予約台数の２台を減算して２台（減算量）とし、１５：００乃至１６：００の使用可能台数の４台から予約台数の２台を減算して２台（減算量）とし、１６：００乃至１７：００の使用可能台数の３台から予約代数の２台を減算して１台（減算量）とし、当該減算量を新たな使用可能台数として書き込んで空き台数管理テーブル１３０を更新する（図４参照）。また、リソース予約・管理装置５０は、予約情報管理テーブル１１０（図２（ａ））に前述したジョブ予約情報を新たに書き込んで更新する（図５参照、Ｓ２０３）。
【００３２】
次に、リソース予約・管理装置５０は、システム準備時間管理テーブル１５０（図２（ｃ））を参照し、ジョブ予約情報のＯＳと前提ソフトウェアとからなるパターン（“パターン１”）に対応付けられたシステム準備時間である０．２時間（＝１２分間）を取得する。また、ジョブＣの実質的な実行開始日時を、１月１０日１３：００より１２分間前の１月１０日１２：４８として、リソース予約・管理装置５０は、同日時にリソース決定モジュール１９０を呼び出すべく適宜なタイマをセットする（Ｓ２０４）。
【００３３】
最後にリソース予約・管理装置５０は、その適宜なディスプレイに予約完了の旨を表示し（Ｓ２０５）、処理を終了する。
【００３４】
図６のフローチャートに例示されるように、前述した１月１０日１２：４８に呼び出されたリソース決定モジュール１９０の動作により、リソース予約・管理装置５０は、実行マシン管理テーブル１７０を参照し、未使用の計算機３１ｃ、３１ｄから、ジョブ予約情報に基づく２台分の任意の計算機３１を選択し、これをジョブＣに割り付ける（Ｓ３００）。尚、本実施の形態においては、未使用の計算機３１ｃ、３１ｄは２台であるため、これより任意に選択される２台の計算機も計算機３１ｃ、３１ｄとなる。
【００３５】
次に、リソース予約・管理装置５０は、ジョブ予約情報に基づき、ＡＰリポジトリ７０からジョブＣに必要なＯＳ及び前提ソフトウェアを読み出し、計算機３１ｃ、３１ｄにインストールする（Ｓ３０１）。  
次に、リソース予約・管理装置５０は、ジョブ予約情報に基づき、ＡＰリポジトリ７０からジョブＣに必要なアプリケーションを読み出し、計算機３１ｃ、３１ｄにインストールし、設定情報に基づきその動作環境を設定する（Ｓ３０２）。  
最後に、リソース予約・管理装置５０は、１３：００にアプリケーションを起動する（Ｓ３０３）。
【００３６】
尚、前述したステップＳ２０１が本実施の形態の判定ステップに相当し、ステップＳ２０３が本実施の形態の更新ステップに相当し、ステップＳ２０４が本実施の形態の開始時設定ステップに相当し、ステップＳ３００が本実施の形態の任意割付ステップに相当する。また、リソース予約・管理装置５０の備える適宜なＣＰＵと、当該ＣＰＵにステップＳ２０１の動作を実行させる適宜なプログラム（プログラム実行予約プログラム）が、本実施の形態の予約可否判定部に相当する。更に、リソース予約・管理装置５０の備える適宜なＣＰＵと、当該ＣＰＵにステップＳ２０３の動作を実行させる適宜なプログラム（プログラム実行予約プログラム）が、本実施の形態のテーブル更新部に相当する。
【００３７】
＜＜＜リソース割付＞＞＞
本実施の形態のリソース予約・管理装置５０によれば、ステップＳ２０１の判定によって、例えば図５の予約情報管理テーブル１１０は、図４の空き台数管理テーブル１３０との整合性が確保されるように生成される。この予約情報管理テーブル１１０によれば、１月１０日１２：００乃至１４：００において２台分の計算機３１を使用してジョブＡが実行され、同日１６：００乃至１８：００において１台分の計算機３１を使用してジョブＢが実行され、同日１３：００乃至１７：００において２台分の計算機３１を使用してジョブＣが実行される。
【００３８】
また、本実施の形態のリソース予約・管理装置５０によれば、ステップＳ３００において、各ジョブの実質的な実行開始日時に当該各ジョブに対して計算機３１が割り付けられる。
【００３９】
そこで、図７（ａ）の時間ダイアグラムに例示されるように、１月１０日１２：００（実質１１：４８）に予約情報管理テーブル１３０（図５）に基づいてジョブＡに２台分の計算機３１が割り付けられるとき、ジョブＢ及びジョブＣには未だ計算機３１は割り付けられていない。よって、ジョブＡに対して４台の計算機３１から任意の２台の計算機３１を割り付けることができる。図７（ａ）によれば、この計算機３１は計算機３１ａ、３１ｂである。
【００４０】
また、図７（ｂ）の時間ダイアグラムに例示されるように、前述した１月１０日１３：００（実質１２：４８）に予約情報管理テーブル１３０（図５）に基づいてジョブＣに２台分の計算機３１が割り付けられるとき、割り付け可能な２台の計算機３１は、計算機３１ｃ及び計算機３１ｄである。
【００４１】
更に、図７（ｃ）の時間ダイアグラムに例示されるように、１月１０日１６：００（実質１５：３６）に予約情報管理テーブル１３０（図５）に基づいてジョブＢに１台分の計算機３１が割り付けられるとき、ジョブＢに対して、ジョブＡから開放された計算機３１ａ、３１ｂから任意の１台の計算機３１が割り付け可能である。図７（ｃ）においては、この計算機３１は計算機３１ｂである。
【００４２】
このように、予約情報管理テーブル１１０（図５）が空き台数管理テーブル１３０（図４）との整合性が確保されるように生成され、各ジョブの実質的な実行開始日時に計算機３１が割り付けられることにより、計算機３１を効率良く使用してジョブを実行することとなる。
【００４３】
また、本実施の形態のリソース予約・管理装置５０によれば、各ジョブの実質的な実行開始日時にジョブの実行準備が開始されているため、当該各ジョブが予定の終了日時よりも遅れて終了する虞がない。よって、計算機３１は予定通り効率良く使用されてジョブが実行される。
【００４４】
＝＝＝第二の実施の形態＝＝＝
図８のブロック図に例示されるように、本実施の形態においては、前述した実施の形態におけるリソースプール３０が、複数のデータセンタ３３毎に分割され、各データセンタ３３において内部ユーザ用及び外部ユーザ用の計算機３５に更に分割されて構成されている。
【００４５】
リソース予約・管理装置５０は、各データセンタ３３の内部ユーザ用のジョブに対しては、当該各データセンタ３３の内部ユーザ用の計算機３５を、前述したジョブの実行予約及び実行方法に基づいてそれぞれ割り付ける。この場合、予約情報管理テーブル１１０及び空き台数管理テーブル１３０は、各データセンタ３３の内部ユーザ用として個別に生成される。これにより、各データセンタ３３の内部ユーザ用の計算機３５を効率良く使用して当該各データセンタ３３の内部ユーザ用のジョブを実行できる。つまり、本実施の形態においても、前述した実施の形態において奏される効果が同様に奏される。
【００４６】
一方、外部ユーザ用のジョブに対しては、データセンタ３３に関係なく、外部ユーザ用の計算機３５全体から割り付けられる。この場合、予約情報管理テーブル１１０及び空き台数管理テーブル１３０は、外部ユーザ用として、前述した内部ユーザ用と区別して生成される。
【００４７】
図９の模式図に例示されるように、或る外部ユーザ用のジョブに対して、データセンタＡ３３ａ及びデータセンタＢ３３ｂの計算機３５（３５０１乃至３５２４）を割り付けるまでのジョブ実行予約方法について述べる。
【００４８】
外部ユーザ用のジョブの実行予約時には、例えば図９（ａ）のように、７台の内部ユーザ用の計算機３５０１乃至３５０７及び５台の外部ユーザ用の計算機３５０８乃至３５１２がデータセンタＡ３３ａに帰属し、５台の内部ユーザ用の計算機３５１３乃至３５１７及び７台の外部ユーザ用の計算機３５１８乃至３５２４がデータセンタＢ３３ｂに帰属しているものとする。ここで、前述した実施の形態と同様に、外部ユーザ用のジョブに対して、計算機３５の台数である１０台が、所定の実行予定時期に予約されているとする。
【００４９】
図１０の図表に例示されるように、この実行予約時の実行マシン管理テーブル１７０は、各計算機３５０１乃至３５２４に、当該実行予約時の使用の有無に加えて、帰属するデータセンタ３３ａ、３３ｂの情報である“Ａ”又は“Ｂ”と、ユーザを区別する情報である“内部”又は“外部”とが更に対応付けられて構成されている。
【００５０】
ここで、図１１の図表に例示されるように、外部ユーザ用のジョブの実行開始時に、データセンタＡ３３ａにおいて、内部ユーザ用の計算機３５０１乃至３５０７のうち５台分が空いて外部ユーザ用として開放されたとする。つまり、データセンタＡ３３ａにおいて、内部ユーザ用の計算機３５の台数と外部ユーザ用の計算機３５の台数の比は、ジョブの実行予約時には７：５であったが、ジョブの実行開始時には２：１０に変化したことになる。
【００５１】
具体的には、外部ユーザ用のジョブの実行開始時には、図９（ｂ）のように、２台の内部ユーザ用の計算機３５０１乃至３５０２及び１０台の外部ユーザ用の計算機３５０３乃至３５１２がデータセンタＡ３３ａに帰属し、５台の内部ユーザ用の計算機３０１３乃至３５１７及び７台の外部ユーザ用の計算機３５１８乃至３５２４がデータセンタＢ３３ｂに帰属している。このように、各データセンタ３３において、台数の比は日時によって変化し得るものとする。
【００５２】
もし、外部ユーザ用のジョブの実行予約時に計算機３５を具体的に割り付けなければならないとすれば、図９（ａ）に例示されるように、２つのデータセンタＡ３３ａ、Ｂ３３ｂにわたって１０台分の計算機３５０８乃至３５１２、３５２０乃至３５２４を選択しなければならなかった。
【００５３】
一方、本実施の形態のリソース予約・管理装置５０によれば、外部ユーザ用のジョブの実行開始時に計算機３５を具体的に割り付ける。よって、図９（ａ）に例示される予約状況が図９（ｂ）に例示される予約状況に変化した場合、外部ユーザ用の計算機３５０３乃至３５１２、３５１８乃至３５２４の中から１０台分を選択すればよいため、例えばデータセンタＡ３３ａのみから当該１０台分を選択できる。このように、できるだけ所定の１つのデータセンタＡ３３ａに帰属する計算機３５０３乃至３５１２から１０台分を選択した方が、広域ネットワークを介することなくジョブが実行できて効率が良い。これにより、データセンタ３３全体の稼動率も上がり得る。
【００５４】
また、計算機３５０１乃至３５２４間のネットワーク条件やコスト等、ジョブ実行開始時において最適な計算機３５０１乃至１５２４を使用できるという効果がある。
【００５５】
尚、前述した、できるだけ所定の１つのデータセンタＡ３３ａに帰属する計算機３５０３乃至３５１２から１０台分を選択し割り付ける動作が、本実施の形態の制限割付ステップの動作に相当する。
【００５６】
前述した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。
【００５７】
前述した実施の形態において、ジョブを実行するリソースを計算機３１、３５としたが、これに限定されるものではなく、ＣＰＵやメモリといったジョブの実行に係り当該ジョブに割り付けられるべきものであればいかなるものでもよい。
【図面の簡単な説明】
【００５８】
【図１】第一の実施の形態のジョブ実行システムの構成例を示すブロック図である。
【図２】（ａ）は第一の実施の形態のジョブ予約情報管理テーブルの一例を示す図表、（ｂ）は第一の実施の形態の空きリソース量管理テーブルの一例を示す図表、（ｃ）は第一の実施の形態の準備期間管理テーブルを示す図表、（ｄ）は第一の実施の形態のリソース使用状況管理テーブルの一例を示す図表である。
【図３】第一の実施の形態のジョブ実行予約方法の処理の手順を示すフローチャートである。
【図４】第一の実施の形態の空きリソース量管理テーブルのもう一つの例を示す図表である。
【図５】第一の実施の形態のジョブ予約情報管理テーブルのもう一つの例を示す図表である。
【図６】第一の実施の形態のジョブ実行方法の処理の手順を示すフローチャートである。
【図７】第一の実施の形態のリソース割り付けの一例を示す時間ダイアグラムである。
【図８】第二の実施の形態のジョブ実行システムの構成例を示すブロック図である。
【図９】（ａ）は第二の実施の形態のジョブ実行予約時におけるリソース割り付けを示す模式図であり、（ｂ）は第二の実施の形態のジョブ実行開始時におけるリソース割り付けを示す模式図である。
【図１０】第二の実施の形態のジョブ実行予約時におけるリソース使用状況管理テーブルの一例を示す図表である。
【図１１】第二の実施の形態のジョブ実行開始時におけるリソース使用状況管理テーブルの一例を示す図表である。
【図１２】リソース割り付けの一例を示す時間ダイアグラムである。
【符号の説明】
【００５９】
１０  グリッド計算システム
３０  リソースプール
３１、３１ａ、３１ｂ、３１ｃ、３１ｄ、３５、３５０１−３５２４  計算機
３３、３３ａ、３３ｂ  データセンタ
５０  リソース予約・管理装置
７０  ＡＰリポジトリ
９０  オペレータ端末
１１０  予約情報管理テーブル
１３０  空き台数管理テーブル
１５０  システム準備時間管理テーブル
１７０  実行マシン管理テーブル
１９０  リソース決定モジュール
【図１】
2005346433.tif 000003
【図２】
2005346433.tif 000004
【図３】
2005346433.tif 000005
【図４】
2005346433.tif 000006
【図５】
2005346433.tif 000007
【図６】
2005346433.tif 000008
【図７】
2005346433.tif 000009
【図８】
2005346433.tif 000010
【図９】
2005346433.tif 000011
【図１０】
2005346433.tif 000012
【図１１】
2005346433.tif 000013
【図１２】
2005346433.tif 000014