(57)【要約】【課題】適切な資源にジョブの実行を依頼するスーパースケジューラを提供する。【解決手段】スーパースケジュール装置１０１が、各資源ユニットから受信した資源情報と、ユーザ側装置１０から受信したジョブ情報とにもとづいて、ジョブの実行を依頼する候補の資源ユニットを選択する。そして、スーパースケジュール装置１０１が、資源情報とジョブ情報とにもとづいて、候補の資源ユニットを絞り込み、順位付けをおこなう。スーパースケジュール装置１０１は、順位が上位から所定の順位までの資源ユニットに、入力ファイルを転送する。【選択図】図１
2008077281.tif 000002
【特許請求の範囲】
【請求項１】
処理を実行する処理実行装置に、通信ネットワークを介して処理の実行を依頼するスーパースケジューラにおいて、
複数の処理実行装置から処理の実行の依頼先を選択する依頼先選択手段と、
前記依頼先選択手段が選択した依頼先の処理実行装置に、前記通信ネットワークを介して前記処理の実行に用いるファイルを送信する通信手段とを備え、
前記依頼先選択手段は、所定の条件を満たす処理実行装置を複数選択する
ことを特徴とするスーパースケジューラ。
【請求項２】
通信手段は、処理の依頼元のコンピュータである依頼元端末から、前記処理の実行に用いるファイルと、ＳＬＡを含み前記処理の実行条件を示すジョブ情報とを通信ネットワークを介して受信し、処理実行装置の内容を示す資源情報を通信ネットワークを介して受信し、
依頼先選択手段は、前記通信手段が受信したジョブ情報と資源情報とにもとづいて、前記処理の実行の依頼先を選択する
請求項１記載のスーパースケジューラ。
【請求項３】
通信手段は、一定量のファイルを通信ネットワークを介して処理実行装置に送信してネットワーク帯域を測定させ、前記処理実行装置から測定結果を受信し、
依頼先選択手段は、前記測定結果にもとづいて、処理の実行の依頼先を選択する
請求項２記載のスーパースケジューラ。
【請求項４】
依頼先選択手段は、通信手段が受信したジョブ情報、または前記ジョブ情報と資源情報とにもとづいて処理実行装置を順位付けし、順位が上位から所定の順位までの処理実行装置を選択する
請求項２または請求項３記載のスーパースケジューラ。
【請求項５】
通信手段は、ファイルの送信先の処理実行装置から、ファイルの転送状況を示す情報を受信する
請求項１から請求項４のうちいずれか１項記載のスーパースケジューラ。
【請求項６】
通信手段は、ファイルの送信が終了した処理実行装置に、処理の実行開始を依頼する実行依頼通知を通信ネットワークを介して送信する
請求項１から請求項５のうちいずれか１項記載のスーパースケジューラ。
【請求項７】
通信手段は、処理実行装置から処理の実行が終了したことを通知された場合に、実行依頼通知を送信した処理実行装置に、処理の実行開始の依頼を取り消す取消し通知を通信ネットワークを介して送信する
請求項６記載のスーパースケジューラ。
【請求項８】
依頼先選択手段は、同一のファイルを用いた処理の実行を２回目以降に依頼する場合に、通信手段が前回以前にファイルを送信した処理実行装置から依頼先を選択する
請求項１から請求項７のうちいずれか１項記載のスーパースケジューラ。
【請求項９】
処理を実行する処理実行装置に、通信ネットワークを介して処理の実行を依頼する処理依頼方法において、
通信手段が、前記処理の依頼元のコンピュータである依頼元端末から、前記処理の実行に用いるファイルと、ＳＬＡを含み前記処理の実行条件を示すジョブ情報とを通信ネットワークを介して受信し、処理実行装置の内容を示す資源情報を通信ネットワークを介して受信する受信ステップと、
依頼先選択手段が、複数の処理実行装置から前記処理の実行の依頼先を選択する依頼先選択ステップと、
通信手段が、前記依頼先選択ステップで依頼先選択手段が選択した依頼先の処理実行装置に、前記通信ネットワークを介して前記処理の実行に用いるファイルを送信する送信ステップとを備え、
前記依頼先選択手段は、前記依頼先選択ステップで、前記受信ステップで受信したジョブ情報と資源情報とにもとづいて、前記処理の実行の依頼先を複数選択する
ことを特徴とする処理依頼方法。
【請求項１０】
ジョブを実行するジョブ実行装置に、通信ネットワークを介してジョブの実行を依頼するコンピュータに搭載されるスーパースケジューラプログラムであって、
コンピュータに、
前記ジョブの依頼元のコンピュータである依頼元端末から、前記ジョブの実行に用いるファイルと、ＳＬＡを含み前記ジョブの実行条件を示すジョブ情報とを通信ネットワークを介して受信し、ジョブ実行装置の内容を示す資源情報を通信ネットワークを介して受信する受信処理と、
複数のジョブ実行装置からジョブの実行の依頼先を選択する依頼先選択処理と、
前記依頼先選択処理で選択した依頼先のジョブ実行装置に、前記通信ネットワークを介して前記ジョブの実行に用いるファイルを送信する送信処理とを実行させ、
前記依頼先選択処理で、前記受信処理で受信したジョブ情報と資源情報とにもとづいて、前記ジョブの実行の依頼先を複数選択させる
ためのスーパースケジューラプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グリッドコンピューティングにおいて実行する処理を各装置に割り当てるスーパースケジューラ、処理依頼方法、およびスーパースケジューラプログラムに関する。
【背景技術】
【０００２】
グリッドコンピューティングとは、通信ネットワークで接続され、地理的に離れた複数の演算装置や記憶装置が、仮想的な１つのコンピュータとして処理を実行するサービスを提供する仕組みをいう。
【０００３】
そして、スーパースケジューラ（スーパースケジュール装置）が、それらの演算装置や記憶装置（以下、資源という。）にジョブを割り当てる。なお、ジョブとは、コンピュータ（例えば、資源を構成する演算装置）が実行する処理をいう。
【０００４】
スーパースケジュール装置は、通信ネットワークの帯域などを適切に利用するようにジョブを各資源に割り当てて、ジョブを実行する演算時間の最小化や、演算に対する料金の最小化、資源の稼働率の最大化などを図る。
【０００５】
特許文献１には、ジョブを分割し、分割したジョブの数よりもクライアント装置の数が多い場合に、分割したジョブをそれぞれ複数のクライアント装置に割り当て、いずれかのクライアント装置がジョブの実行を終了した場合に、当該ジョブを実行している他のクライアント装置にジョブの実行を中止させるシステムが記載されている。
【０００６】
【特許文献１】特開２００５−３５２６９７号公報（段落００４９〜００５４、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のグリッドコンピューティングの第１の問題点は、ジョブを適切な資源に割り当てることが困難なことである。その理由は、ジョブの実行に用いる入力ファイルが蓄積されている記憶装置と、ジョブの割り当て先の候補の資源との間の通信ネットワークの状態によっては、どの資源に最も早く入力ファイルを転送することが可能であるのかの予測が困難なためである。
【０００８】
また、従来のグリッドコンピューティングの第２の問題点は、資源に入力ファイルを転送し、入力ファイルの転送が完了した資源にジョブの実行を予約しても、ターンアラウンドタイム等のジョブ実行のＳＬＡ(Ｓｅｒｖｉｃｅ Ｌｅｖｅｌ Ａｇｒｅｅｍｅｎｔ：サービスレベルアグリーメント)を満たすとは限らないことである。
【０００９】
そこで、本発明は、グリッドコンピューティングにおいて、適切な資源にジョブの実行を依頼するスーパースケジューラ、処理依頼方法、およびスーパースケジューラプログラムを提供することを目的とする。
【００１０】
また、本発明は、ＳＬＡを満たすように資源にジョブの実行を依頼するスーパースケジューラ、処理依頼方法、およびスーパースケジューラプログラムを提供することも目的とする。
【００１１】
また、本発明は、ジョブを実行している資源に障害が発生した場合に、他の資源が受信した入力ファイルを有効に活用するスーパースケジューラ、処理依頼方法、およびスーパースケジューラプログラムを提供することも目的とする。
【課題を解決するための手段】
【００１２】
本発明によるスーパースケジューラは、処理を実行する処理実行装置に、通信ネットワークを介して処理の実行を依頼するスーパースケジューラであって、複数の処理実行装置から処理の実行の依頼先を選択する依頼先選択手段と、依頼先選択手段が選択した依頼先の処理実行装置に、通信ネットワークを介して処理の実行に用いるファイルを送信する通信手段とを備え、依頼先選択手段は、所定の条件を満たす処理実行装置を複数選択することを特徴とする。
【００１３】
通信手段は、処理の依頼元のコンピュータである依頼元端末から、処理の実行に用いるファイルと、ＳＬＡを含み処理の実行条件を示すジョブ情報とを通信ネットワークを介して受信し、処理実行装置の内容を示す資源情報を通信ネットワークを介して受信し、依頼先選択手段は、通信手段が受信したジョブ情報と資源情報とにもとづいて、処理の実行の依頼先を選択してもよい。
【００１４】
通信手段は、一定量のファイルを通信ネットワークを介して処理実行装置に送信してネットワーク帯域を測定させ、処理実行装置から測定結果を受信し、依頼先選択手段は、測定結果にもとづいて、処理の実行の依頼先を選択してもよい。
【００１５】
依頼先選択手段は、通信手段が受信したジョブ情報、またはジョブ情報と資源情報とにもとづいて処理実行装置を順位付けし、順位が上位から所定の順位までの処理実行装置を選択してもよい。
【００１６】
通信手段は、ファイルの送信先の処理実行装置から、ファイルの転送状況を示す情報を受信してもよい。
【００１７】
通信手段は、ファイルの送信が終了した処理実行装置に、処理の実行開始を依頼する実行依頼通知を通信ネットワークを介して送信してもよい。
【００１８】
通信手段は、処理実行装置から処理の実行が終了したことを通知された場合に、実行依頼通知を送信した処理実行装置に、処理の実行開始の依頼を取り消す取消し通知を通信ネットワークを介して送信してもよい。
【００１９】
依頼先選択手段は、同一のファイルを用いた処理の実行を２回目以降に依頼する場合に、通信手段が前回以前にファイルを送信した処理実行装置から依頼先を選択してもよい。
【００２０】
本発明による処理依頼方法は、処理を実行する処理実行装置に、通信ネットワークを介して処理の実行を依頼する処理依頼方法であって、通信手段が、処理の依頼元のコンピュータである依頼元端末から、処理の実行に用いるファイルと、ＳＬＡを含み処理の実行条件を示すジョブ情報とを通信ネットワークを介して受信し、処理実行装置の内容を示す資源情報を通信ネットワークを介して受信する受信ステップと、依頼先選択手段が、複数の処理実行装置から処理の実行の依頼先を選択する依頼先選択ステップと、通信手段が、依頼先選択ステップで依頼先選択手段が選択した依頼先の処理実行装置に、通信ネットワークを介して処理の実行に用いるファイルを送信する送信ステップとを備え、依頼先選択手段は、依頼先選択ステップで、受信ステップで受信したジョブ情報と資源情報とにもとづいて、処理の実行の依頼先を複数選択することを特徴とする。
【００２１】
本発明によるスーパースケジューラプログラムは、ジョブを実行するジョブ実行装置に、通信ネットワークを介してジョブの実行を依頼するコンピュータに搭載されるスーパースケジューラプログラムであって、コンピュータに、ジョブの依頼元のコンピュータである依頼元端末から、ジョブの実行に用いるファイルと、ＳＬＡを含みジョブの実行条件を示すジョブ情報とを通信ネットワークを介して受信し、ジョブ実行装置の内容を示す資源情報を通信ネットワークを介して受信する受信処理と、複数のジョブ実行装置からジョブの実行の依頼先を選択する依頼先選択処理と、依頼先選択処理で選択した依頼先のジョブ実行装置に、通信ネットワークを介してジョブの実行に用いるファイルを送信する送信処理とを実行させ、依頼先選択処理で、受信処理で受信したジョブ情報と資源情報とにもとづいて、ジョブの実行の依頼先を複数選択させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、依頼先選択手段が所定の条件を満たす処理実行装置を選択するので、適切な処理実行装置にジョブの実行を依頼することができる。
【００２３】
依頼先選択手段が、ジョブ情報と資源情報とにもとづいて、処理の実行の依頼先の処理実行装置を選択するように構成されている場合には、ＳＬＡを満たすように処理実行装置にジョブの実行を依頼することができる。
【００２４】
依頼先選択手段が、ジョブ情報、またはジョブ情報と資源情報とにもとづいて処理実行装置を順位付けし、順位が上位から所定の順位までの処理実行装置を選択するように構成されている場合には、より適切な処理実行装置にジョブの実行を依頼することができる。
【００２５】
依頼先選択手段が、同一のファイルを用いた処理の実行を２回目以降に依頼する場合に、前回以前にファイルを送信した処理実行装置から依頼先を選択するように構成されている場合には、ジョブを実行している処理実行装置に障害が発生した場合に、他の処理実行装置が受信したファイルを有効に活用することができる。
【発明を実施するための最良の形態】
【００２６】
本発明の実施の形態について、図面を参照して説明する。図１は、本発明によるスーパースケジューラ（スーパースケジュールユニット）１００を含むグリッドコンピューティングシステムの一構成例を示す説明図である。
【００２７】
図１に示すグリッドコンピューティングシステムは、スーパースケジュールユニット１００、ユーザ側処理装置（依頼元端末）１０、ユーザ側記憶装置１１、資源ユニット（処理実行装置、ジョブ実行装置）２００ａ〜２００ｘ、および通信ネットワーク１を含む。
【００２８】
通信ネットワーク１は、例えば、インターネットや、大学内ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、企業内ＬＡＮ等の通信回線網である。各ユニットおよび各装置は、通信ネットワーク１に接続され、互いに情報を送受信する。
【００２９】
スーパースケジュールユニット１００は、スーパースケジュール装置（依頼先選択手段）１０１と情報サービス装置１０２とを含む。なお、通信手段は、スーパースケジュール装置１０１および情報サービス装置１０２によって実現される。スーパースケジュール装置１０１および情報サービス装置１０２は、１つのコンピュータであってもよいし、それぞれ独立したコンピュータであってもよい。つまり、スーパースケジュールユニット１００は、ソフトウェア制御に従って処理を実行する１つまたは複数のコンピュータである。
【００３０】
スーパースケジュール装置１０１は、通信ネットワーク１を介して、ユーザ側処理装置１０から、ジョブを実行するための入力ファイル（例えば、ジョブを実行するために必要なデータが記載されているデータファイル）とジョブ情報とを受信する。なお、スーパースケジュール装置１０１は、入力ファイルおよびジョブ情報とともに、ジョブを実行するために必要な実行用バイナリファイルをユーザ側処理装置１０から受信してもよい。そして、スーパースケジュール装置１０１は、実行用バイナリファイルを受信した場合に、入力ファイルとともに資源ユニットへ送信等する。
【００３１】
ジョブ情報は、ジョブを実行する資源ユニットの条件とＳＬＡとを含み、ジョブを実行するための条件を示す情報である。ジョブ情報は、例えば、ユーザＩＤ、ジョブを実行することができるＣＰＵアーキテクチャ、ジョブを実行するために必要なＣＰＵの数、ジョブを実行するために必要なメモリの容量、ジョブを実行するためのアプリケーションソフトウェア名、入力ファイルの大きさ、およびジョブの実行過程でデータを保存する容量の大きさを示す情報を含む。
【００３２】
図２は、ジョブ情報の一例を示す説明図である。図２には、ユーザを識別するユーザＩＤがＧＤ２４９７８であり、ジョブを実行することができるＣＰＵアーキテクチャがＩＡ３２  ＥＭ６４Ｔであり、ジョブを実行するために必要なＣＰＵの数が２４個であることが例示されている。また、図２には、ジョブを実行するために必要なメモリサイズが３ＧＢｙｔｅであり、ジョブを実行するためのアプリケーションソフトウェア名がＬＳ−ＤＹＮＡであり、入力ファイルの大きさが１２０ＭＢｙｔｅであり、ジョブの実行過程でデータを保存する容量（必要スクラッチディスク容量）が３．６ＧＢｙｔｅであることが例示されている。
【００３３】
また、図２には、クロック周波数が３．２ＧＨｚのインテル社製のＸｅｏｎでジョブを実行した場合の予測処理時間が１２０分であり、ジョブの実行を終了しなければならない時刻であるジョブ終了時刻が日本時間の２００６年１２月１２日の１３時３０分であることが例示されている。また、図２には、ユーザが当該ジョブの実行に対する料金を７８０００円まで支払うことを保証し、ジョブの実行終了後に入力ファイルを４８時間保持することが例示されている。また、図２には、入力ファイルを識別するＩＤ（入力ファイル識別ＩＤ）が「ＦＪＯＨ１９９６１５１１７４８」であり、プライオリティが「ＴｕｒｎＡｒｏｕｎｄＴｉｍｅ」であることが例示されている。
【００３４】
なお、図２には、ジョブを実行するためのアプリケーションソフトウェア名がＬＳ−ＤＹＮＡであることが例示されているが、ジョブを実行するためのアプリケーションソフトウェア名と、当該アプリケーションソフトウェアのバージョン名とが示されていてもよいし、アプリケーションソフトウェアの実行用バイナリファイル名が直接示されていてもよい。
【００３５】
また、図２のジョブ終了時刻の欄には、ジョブの実行を日本時間の２００６年１２月１２日の１３時３０分までに終了しなければならないことが例示されているが、ジョブ終了時刻が示されていない場合には、ジョブの終了時刻に制限がないとする。
【００３６】
スーパースケジュール装置１０１は、受信した入力ファイルの転送先の資源ユニットを選択して、選択した資源ユニットに入力ファイルを転送する。
【００３７】
情報サービス装置１０２は、各資源ユニットから各資源の内容を示す資源情報を受信して記憶する。図３は、資源情報の一例を示す説明図である。
【００３８】
図３には、資源のＣＰＵがインテル社製のＸｅｏｎ  ３．４ＧＨｚであり、ＣＰＵアーキテクチャがＩＡ３２  ＥＭ６４Ｔであり、実行の順番を待っているジョブ数が１２０であり、ジョブを実行するために割り当てることができるメモリの大きさが３ＧＢｙｔｅであり、搭載しているアプリケーションソフトウェアがＬＳ−ＤＹＮＡと、ＰａｒｍＣＲＡＳＨと、ＮＡＳＴＲＡＮとであることが例示されている。また、図３には、資源がジョブの実行を開始するまでの推定待ち時間が７４分であり、スクラッチディスクの容量が３．６ＧＢｙｔｅであり、プロセッサの数が５１２個であり、スーパースケジュール装置１０１との間のデータ転送帯域が１０Ｍｂｉｔ／ｓであり、搭載しているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が、ＳｕＳｅ  Ｌｉｎｕｘ（登録商標）  １０．５であることが例示されている。
【００３９】
資源ユニット２００ａは、資源２０１ａと、資源監視手段２０２ａと、データ管理手段２０３ａとを含む。資源２０１ａは、ジョブを実行する演算部２０４ａと情報を記憶する記憶装置２０５ａとを含む。
【００４０】
記憶装置２０５ａは、入力ファイルを記憶する。演算部２０４ａは、入力ファイルを用いてジョブを実行する。具体的には、例えば、アメダスデータの入力ファイルを用いて気象計算を行ったり、自動車の車体のメッシュデータの入力ファイルを用いて構造解析を行ったり、化合物データの入力ファイルを用いて医薬品の解析を行ったりする。
【００４１】
資源監視手段２０２ａは、資源２０１ａを監視して資源２０１ａ（資源ユニット２００ａでもよい）の内容を示す資源情報を生成する。なお、資源監視手段２０２ａは、生成した資源情報を通信ネットワーク１を介して定期的にスーパースケジュールユニット１００に送信してもよい。
【００４２】
データ管理手段２０３ａは、通信ネットワーク１を介してスーパースケジュールユニット１００から転送された入力ファイルの転送状況を監視し、転送状況を示す情報を通信ネットワーク１を介してスーパースケジュールユニット１００に送信する。
【００４３】
資源２０１ａは、例えば、パーソナルコンピュータや、パーソナルコンピュータの集合、クラスタシステム、スーパーコンピュータである。そして、演算部２０４ａは、例えば、コンピュータのＣＰＵである。従って、資源２０１ａが地理的に離れた複数のコンピュータによって構成され、１つのコンピュータに仮想化されている場合に、演算部２０４ａは、各コンピュータのＣＰＵ（つまり、複数のＣＰＵ）を含む。また、記憶装置２０５ａは、例えば、コンピュータが内蔵するハードディスクや、コンピュータに接続されたファイルサーバ、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）である。なお、資源監視手段２０２ａおよびデータ管理手段２０３ａは、それぞれ独立したコンピュータであってもよいし、ソフトウェア制御に従って処理を実行する資源２０１ａを実現するコンピュータであってもよい。
【００４４】
なお、資源ユニット２００ｂ〜２００ｘは、資源ユニット２００ａと同様な構成のため、説明を省略する。
【００４５】
スーパースケジュールユニット１００は、ジョブを実行する資源ユニットに、通信ネットワークを介してジョブの実行を依頼するコンピュータに搭載されるスーパースケジューラプログラムであって、コンピュータに、ユーザ側装置１０から、ジョブの実行に用いる入力ファイルと、ジョブ情報とを通信ネットワーク１を介して受信し、資源ユニットの内容を示す資源情報を通信ネットワーク１を介して受信する受信処理と、複数の資源ユニットからジョブの実行の依頼先を選択する依頼先選択処理と、依頼先選択処理で選択した依頼先の資源ユニットに、通信ネットワーク１を介してジョブの実行に用いる入力ファイルを送信する送信処理とを実行させ、依頼先選択処理で、受信処理で受信したジョブ情報と資源情報とにもとづいて、ジョブの実行の依頼先を複数選択させることを特徴とするスーパースケジューラプログラムを搭載している。
【００４６】
次に、グリッドコンピューティングシステムの動作について、図面を参照して説明する。図４は、グリッドコンピューティングシステムの動作を説明するフローチャートである。
【００４７】
スーパースケジュールユニット１００の情報サービス装置１０２は、各資源ユニットの各資源監視手段から資源情報を受信する（ステップＳ１０１）。情報サービス装置１０２は、受信した資源情報を蓄積する。
【００４８】
スーパースケジュール装置１０１は、ユーザ側処理装置１０からジョブ情報と入力ファイルとを受信した場合に（ステップＳ１０２）、受信したジョブ情報と、情報サービス装置１０２が蓄積している資源情報とにもとづいて、ジョブを実行させる（ジョブの実行を依頼する）資源ユニットを選択する（ステップＳ１０３）。
【００４９】
スーパースケジュール装置１０１が、ジョブを実行させる資源ユニットを選択する動作について説明する。図５は、スーパースケジュール装置１０１が、ジョブを実行させる資源ユニットを選択する動作を説明するフローチャートである。
【００５０】
スーパースケジュール装置１０１は、ユーザ側処理装置１０から受信したジョブ情報と、情報サービス装置１０２が蓄積している資源情報とにもとづいて、ジョブの実行が可能な資源ユニットの候補リストを生成する（ステップＳ２０１）。
【００５１】
具体的には、例えば、スーパースケジュール装置１０１が、自装置を示すＩＤと、各資源ユニットを識別するＩＤとを対応づけるマッピングファイルを予め記憶しており、当該マッピングファイルで自装置のＩＤに対応づけられているＩＤの資源ユニットのリストを候補リストとして生成する。
【００５２】
次に、スーパースケジュール装置１０１は、候補リストの各資源ユニットの資源監視手段から受信した資源情報とユーザ側処理装置１０から受信したジョブ情報とを参照して、ジョブ情報で指定されたＣＰＵアーキテクチャに合致しないＣＰＵアーキテクチャの資源ユニットを候補リストから消去する。以下、ある資源ユニットの資源監視手段から受信した資源情報をその資源ユニットの資源情報と記す。
【００５３】
また、スーパースケジュール装置１０１は、候補リストの各資源ユニットの資源情報とジョブ情報とを参照して、ジョブ情報が示す必要ＣＰＵ数が２以上である場合、つまり並列処理が要求されている場合、ＣＰＵ数の条件を満たさない資源ユニットを候補リストから消去する。また、スーパースケジュール装置１０１は、候補リストの各資源ユニットの資源情報とジョブ情報とを参照して、ジョブ情報で指定されているアプリケーションソフトウェアが搭載されていない資源ユニットを候補リストから消去する。
【００５４】
スーパースケジュール装置１０１は、ジョブの実行が終了する時刻を算出し、算出した時刻にもとづいて、候補リストが含む資源ユニットを絞り込む（ステップＳ２０２）。具体的には、スーパースケジュール装置１０１は、候補リストの各資源ユニットの資源情報の推定ジョブ開始待ち時間にジョブ情報が示す予測処理時間を加えた時間と現在時刻とにもとづいて、ジョブを実行させた場合の終了時刻を資源ユニット毎にそれぞれ算出する。そして、ジョブ情報がジョブ終了時刻を含む場合に、算出した終了時刻がジョブ情報が示すジョブ終了時刻より遅い資源ユニットを候補リストから消去する。
【００５５】
スーパースケジュール装置１０１は、候補リストの各資源ユニットにジョブを実行させた場合の料金を計算し、計算結果にもとづいて候補リストが含む資源ユニットを絞り込む（ステップＳ２０３）。具体的には、例えば、スーパースケジュール装置１０１が、資源ユニットにジョブを実行させた場合の料金を算出するための課金情報を各資源ユニット毎にそれぞれ記憶しておき、記憶している課金情報にもとづいて、ジョブを実行させた場合の料金を算出して、算出した料金にもとづいて候補リストから資源ユニットを消去する。
【００５６】
課金情報は、例えば、単位時間あたりの従量制課金であることを示している場合や、アプリケーションソフトウェア利用の固定料金制課金であって、アプリケーションソフトウェアごとの料金を示している場合がある。課金情報が単位時間あたりの従量制課金であることを示している場合に、スーパースケジュール装置１０１は、ジョブ実行に必要なＣＰＵの数、および予測処理時間にもとづいて料金を算出する。なお、スーパースケジュール装置１０１は、それぞれの資源監視装置から単位時間あたりのＣＰＵ使用料金情報を取得して料金を算出してもよい。
【００５７】
また、課金情報がアプリケーションソフトウェア利用の固定料金制課金であることを示している場合に、スーパースケジュール装置１０１は、ジョブの実行に使用するアプリケーションソフトウェアの料金を参照する。そして、スーパースケジュール装置１０１は、算出した料金がジョブ情報の許容計算料金を満たさない資源ユニットを候補リストから消去する。
【００５８】
ステップＳ２０３の処理で、候補リストに資源ユニットが存在しなくなった場合（ステップＳ２０４のＮ）、スーパースケジュール装置１０１は、ユーザー側処理装置１０にエラーを通知してすべての処理を終了する（ステップＳ２０８）。
【００５９】
スーパースケジュール装置１０１は、候補リストに資源ユニットが存在している場合（ステップＳ２０４のＹ）、ジョブの入力ファイルの予測転送時間を算出する（ステップＳ２０５）。なお、ジョブ情報に入力ファイル保持期間が示されている場合に、スーパースケジュール装置１０１は、候補リストの各資源ユニットのデータ管理手段に、ジョブ情報の入力ファイル識別ＩＤと合致する入力ファイル識別ＩＤの入力ファイルが記憶装置に保持されているか否かを問い合わせる。そして、スーパースケジュール装置１０１は、ジョブ情報の入力ファイル識別ＩＤと合致する入力ファイル識別ＩＤの入力ファイルが記憶装置に保持されていた場合に、その資源ユニットへの入力ファイルの予測転送時間は０であるとする。
【００６０】
また、スーパースケジュール装置１０１は、ジョブ情報の入力ファイル識別ＩＤと合致する入力ファイル識別ＩＤの入力ファイルが記憶装置に保持されていない場合に、以下の処理を実行する。
【００６１】
スーパースケジュール装置１０１は、候補リストの各資源ユニットに、一定量のファイルを送信する。資源監視装置は、そのファイルの送信完了時間（受信完了時間でもよい）を計測して、その資源ユニットとの間のネットワーク帯域（データ転送帯域ともいう。）を測定する。資源監視手段は、測定したネットワーク帯域を示す情報（データ転送帯域情報）を資源情報のデータ転送帯域情報として情報サービス装置１０２に送信して、蓄積させる。
【００６２】
なお、スーパースケジュール装置１０１は、各資源ユニットに、定期的（例えば、１時間毎）に、一定量のファイルを送信して、資源監視装置にネットワーク帯域を測定させてもよい。そして、ネットワーク帯域を測定した資源監視装置は、測定したネットワーク帯域を示す情報を含む資源情報を生成する。図２に示す例では、資源監視装置は、ネットワーク帯域（データ転送帯域）の測定結果が１０Ｍｂｉｔ／ｓであることを示す資源情報を生成している。
【００６３】
そして、スーパースケジュール装置１０１は、情報サービス装置１０２が蓄積しているデータ転送帯域情報と、ジョブ情報が示す入力ファイルサイズとにもとづいて、入力ファイルを各資源ユニットに転送した場合の予測転送時間をそれぞれ算出する。
【００６４】
ここで、算出した予測転送時間が資源情報の推定ジョブ開始待ち時間よりも長い場合に、スーパースケジュール装置１０１は、現在時刻に予測転送時間と予測処理時間とを加算して、ジョブの終了時刻を算出する。つまり、ステップＳ２０２では、ジョブの終了時刻の算出に推定ジョブ開始待ち時間を用いたが、計算した予測転送時間が資源情報の推定ジョブ開始待ち時間よりも長い場合には、ジョブの終了時刻の算出に、推定ジョブ開始待ち時間に代えて予測転送時間を用いる。
【００６５】
スーパースケジュール装置１０１は、ジョブ情報のプライオリティ指定に従って、候補リストの各資源ユニットに順位付けを行う（ステップＳ２０６）。具体的には、例えば、ジョブ情報のプライオリティ指定がＳｔａｒｔＴｉｍｅである場合に、スーパースケジュール装置１０１は、ジョブの実行の開始時刻が早い順に順位付けを行う。スーパースケジュール装置１０１は、開始時刻を、例えば、資源情報の推定ジョブ開始待ち時間と予測転送時間とのうちの長いほうの時間と、現在時刻とにもとづいて算出する。プライオリティ指定がＴｕｒｎＡｒｏｕｎｄＴｉｍｅの場合に、スーパースケジュール装置１０１は、ジョブの予測実行終了時刻を算出して、算出した時刻が早い順に順位付けを行う。また、プライオリティ指定がＣＨＥＡＰである場合に、スーパースケジュール装置１０１は、ステップＳ２０３で算出した料金が安い順に順位付けを行う。プライオリティ指定がない場合に、スーパースケジュール装置１０１は、ＴｕｒｎＡｒｏｕｎｄＴｉｍｅが指定されたとして、順位付けを行う。なお、図２に示す例では、ＴｕｒｎＡｒｏｕｎｄＴｉｍｅが指定されている。
【００６６】
そして、スーパースケジュール装置１０１は、順位付けした資源ユニットの順位が上位から所定の順位（例えば第３位）までの資源ユニットを選択する（ステップＳ２０７）。ステップＳ２０７で選択された資源ユニットが、入力ファイルの送信先の資源ユニットである。
【００６７】
スーパースケジュール装置１０１は、ステップＳ２０７で選択した資源ユニットに、ユーザ側処理装置１０から受信した入力ファイルを通信ネットワーク１を介してそれぞれ送信（転送）する（ステップＳ１０４）。
【００６８】
入力ファイルが転送された各資源ユニットのデータ管理手段は、転送状況を示す情報を通信ネットワーク１を介して情報サービス装置１０２に送信する。具体的には、各データ管理手段は、例えば、受信したデータ量を示す情報を通信ネットワーク１を介して情報サービス装置１０２に送信する。
【００６９】
入力ファイルの転送が終了した資源ユニット（つまり、入力ファイルの受信が完了した資源ユニット）のデータ管理手段は、入力ファイルの受信が完了したことを示すジョブ転送終了通知を通信ネットワーク１を介してスーパースケジュール装置１０１に送信する。
【００７０】
スーパースケジュール装置１０１は、ジョブ転送終了通知を受信した場合に、ジョブ転送終了通知を送信したデータ管理手段の資源ユニットに、通信ネットワーク１を介してジョブの実行開始を依頼する実行依頼通知を送信する（ステップＳ１０５）。スーパースケジュール装置１０１は、ジョブ転送終了通知を送信したデータ管理手段の資源ユニットに、通信ネットワーク１を介して順次実行依頼通知を送信する。なお、入力ファイルの転送が終了し、スーパースケジュール装置１０１が資源ユニットに実行依頼通知を送信しても、すぐにジョブが実行されるとは限らない。
【００７１】
実行依頼通知を受信した資源の演算部（例えば、資源２０１ａの演算部２０４ａ）は、ジョブの実行を開始した場合に、ジョブの実行を開始したことを示すジョブ実行開始通知を通信ネットワーク１を介して情報サービス装置１０２に送信する。スーパースケジュール装置１０１は、情報サービス装置１０２がジョブ実行開始通知を受信した場合に、ジョブ実行開始通知の送信元の資源（例えば、資源２０１ａ）が、ジョブの実行を開始したことを認識する。
【００７２】
スーパースケジュール装置１０１は、情報サービス装置１０２がジョブ実行開始通知を受信した場合に、入力ファイルを転送した資源ユニットであって、ジョブ実行開始通知の送信元以外の資源ユニットに、入力ファイルを保持させ、ジョブの実行依頼を取り消すことを要求する取消し通知を通信ネットワーク１を介して送信する。
【００７３】
資源ユニットの演算部は、ジョブの実行が終了した場合に、通信ネットワーク１を介してスーパースケジュール装置１０１に、ジョブの実行が終了したことを示すジョブ終了通知を送信する。
【００７４】
スーパースケジュール装置１０１は、ジョブ終了通知を受信した場合に、入力ファイルを送信した全ての資源ユニットに、ジョブの実行が終了したことを通知する。ジョブの実行が終了したことを通知された資源ユニットのデータ管理手段は、ジョブ情報で入力ファイルの保持期間が指定されていればその保持期間が経過した時に入力ファイルを消去し、保持期間が指定されていなければ、ジョブの実行が終了したことを通知された時に入力ファイルを消去する。
【００７５】
なお、スーパースケジュール装置１０１は、ジョブ実行開始通知の送信元の資源ユニットから、例えば、異常終了等してジョブの実行を中断したことを通信ネットワーク１と情報サービス装置１０２とを介して通知された場合に、他の資源ユニットであって、入力ファイルの転送が終了した資源ユニット、または入力ファイルを転送中の資源ユニットに、通信ネットワーク１を介して実行依頼通知を送信する。
【００７６】
また、スーパースケジュール装置１０１は、同一の入力ファイル識別ＩＤの入力ファイルを用いたジョブが複数回実行される場合に、ジョブ情報が示す入力ファイル保持期間内であれば、入力ファイルの送信先の資源ユニットに、通信ネットワーク１を介して実行依頼通知を送信する。
【００７７】
本実施の形態では、スーパースケジュール装置１０１が、ネットワーク帯域などを考慮して選択した複数の資源ユニットに入力ファイルを転送するので、予め転送時間が分からない入力ファイルの転送であっても、最初に転送が完了した資源ユニットにジョブの実行を依頼し、ジョブ実行の開始時刻を早くすることができる。
【００７８】
また、本実施の形態では、スーパースケジュール装置１０１が、ジョブの入力ファイルを複数の資源ユニットに転送し、転送が終了した資源ユニットに実行依頼通知を送信するので、転送先の資源の状況によって入力ファイルが最初に転送された資源でのジョブの実行開始が遅れても他の資源でジョブが実行開始され、ジョブ実行の開始時刻を早めることができる。
【００７９】
また、本実施の形態では、スーパースケジュール装置１０１が、ジョブの入力ファイルを複数の資源ユニットに転送し、転送が終了した資源ユニットに実行依頼通知を送信するので、ジョブの実行を開始した資源に何らかの障害が発生してジョブの実行が中断しても、再度入力ファイルの転送処理を行うことなく、他の資源にジョブを実行させることができる。
【００８０】
また、本実施の形態では、スーパースケジュール装置１０１が転送した入力ファイルが資源ユニットのデータ管理手段に所定の期間保持されるので、再度入力ファイルの転送処理が行われることなく、同じ入力ファイルを利用するジョブの実行を早期に開始させることができる。
【００８１】
以上、本発明の実施の形態について説明したが、本発明は、以上に述べた実施の形態に限定されるものではなく、構成要素の付加および変更が可能である。例えば、以上に述べた実施の形態では、ユーザがＳＬＡを指定したが、各資源に対するＳＬＡの兼ね合いに応じて、ジョブの実行のターンアラウンドタイムの短縮や、ジョブ実行料金の最適化を図ることを目的として、ジョブ実行要求の送信先を判断（決定）するアルゴリズムを追加してもよい。
【産業上の利用可能性】
【００８２】
本発明は、グリッドコンピューティングにおけるスーパースケジューラに適用することができる。
【図面の簡単な説明】
【００８３】
【図１】スーパースケジュールユニットを含むグリッドコンピューティングシステムの一構成例を示す説明図である。
【図２】ジョブ情報の一例を示す説明図である。
【図３】資源情報の一例を示す説明図である。
【図４】グリッドコンピューティングシステムの動作を説明するフローチャートである。
【図５】スーパースケジュール装置が、ジョブを実行させる資源ユニットを選択する動作を説明するフローチャートである。
【符号の説明】
【００８４】
１  通信ネットワーク
１０  ユーザ側処理装置
１１  ユーザ側記憶装置
１００  スーパースケジュールユニット
１０１  スーパースケジュール装置
１０２  情報サービス装置
２００ａ〜２００ｘ  資源ユニット
２０１ａ  資源
２０２ａ  資源監視手段
２０３ａ  データ管理手段
２０４ａ  演算部
２０５ａ  記憶装置
【図１】
2008077281.tif 000003
【図２】
2008077281.tif 000004
【図３】
2008077281.tif 000005
【図４】
2008077281.tif 000006
【図５】
2008077281.tif 000007