(57)【要約】【課題】ジョブスケジュールが失敗する可能性を削減することを可能とし、ジョブスケジュールの最適化の度合いを把握させることが可能な表示を行う。【解決手段】ジョブ実行の最適化を行うジョブスケジュール管理ホスト１００と、ジョブスケジュールの実行を行うマシンである複数の実行ホスト１０３、１０８、１０９と、磁気ディスク等のストレージ１０２とにより構成される。管理ホスト１００は、予め管理されている前記複数のマシンのリソース使用量情報に基づいてジョブスケジューリングを行い、前記ジョブスケジューリングに基づいて１つのマシンにジョブの実行を指示し、前記指示したジョブの実行状況を監視し、前記ジョブの実行によりジョブを実行するマシンのリソース使用量が所定の値を超えた場合、前記ジョブスケジューリングを再度設定する。【選択図】      図１
2005011023.tif 000002
【特許請求の範囲】
【請求項１】
複数のマシンに所定のジョブを実行させる際のジョブスケジューリング方法において、予め管理されている前記複数のマシンのリソース使用量情報に基づいてジョブスケジューリングを行い、前記ジョブスケジューリングに基づいて１つのマシンにジョブの実行を指示し、前記指示したジョブの実行状況を監視し、前記ジョブの実行によりジョブを実行するマシンのリソース使用量が所定の値を超えた場合、前記ジョブスケジューリングを再度設定することを特徴とするジョブスケジューリング方法。
【請求項２】
前記ジョブスケジューリングの再設定が、前記所定のジョブを他のマシンに行わせるようにするスケジューリングであることを特徴とする請求項１記載のジョブスケジューリング方法。
【請求項３】
前記ジョブスケジューリングの再設定が、ジョブの実行開始時間を単位時間ずつずらせて、ジョブ終了までの間、前記ジョブの実行によりジョブを実行するマシンのリソース使用量が所定の値を超えないようなジョブ実行開始時間の設定を行うスケジューリングであることを特徴とする請求項１または２記載のジョブスケジューリング方法。
【請求項４】
複数のマシンに所定のジョブを実行させる際のジョブスケジューリングシステムにおいて、予め管理されている前記複数のマシンのリソース使用量情報に基づいてジョブスケジューリングを行うジョブスケジュール手段と、前記ジョブスケジューリングに基づいて１つのマシンにジョブの実行を指示し、前記指示したジョブの実行状況を監視するジョブ実行監視手段と、前記ジョブの実行によりジョブを実行するマシンのリソース使用量が所定の値を超えた場合、前記ジョブスケジューリングを再度設定するスケジュール変更手段とを備えたことを特徴とするジョブスケジューリングシステム。
【請求項５】
複数のマシンに所定のジョブを実行させる際のジョブスケジュールを行うジョブスケジューリングプログラムであって、予め管理されている前記複数のマシンのリソース使用量情報に基づいてジョブスケジューリングを行う処理ステップと、前記ジョブスケジューリングに基づいて１つのマシンにジョブの実行を指示し、前記指示したジョブの実行状況を監視する処理ステップと、前記ジョブの実行によりジョブを実行するマシンのリソース使用量が所定の値を超えた場合、前記ジョブスケジューリングを再度行う処理ステップとを有し、前記各処理ステップを実行することによりジョブのスケジューリングを行うことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機上で実行されるジョブスケジュールの最適化を行うジョブスケジューリング方法及びジョブスケジュール管理システムに係り、特に、ジョブ実行マシンの性能予測を用いてスケジューリングの最適化を図ることを可能としたジョブスケジューリング方法及びジョブスケジュール管理システムに関する。
【０００２】
なお、以下の説明において、計算機を用いて処理する業務の単位をジョブと呼び、依存関係を持つ複数のジョブ群をジョブネットと呼ぶ。また、ジョブネットを１つのジョブとして考え、ジョブネット間で依存関係を持った複数のジョブネットもまたジョブネットと呼ぶ。さらに、実行する時間や順序を定めたジョブネットをジョブスケジュールと呼ぶ。
【０００３】
【従来の技術】
近年の情報処理システムは、無人で業務ジョブを処理するために、時刻予約によるジョブの自動起動、先行ジョブの終了による後続ジョブの自動起動等のジョブスケジューリングが行われており、これらのスケジューリングされたジョブの実行をジョブキューによって制御する方法を用いている。
【０００４】
また、ジョブ実行時間の予測に関する従来技術として、例えば、特許文献１等に記載された技術が知られている。この従来技術は、マシン情報、ジョブ実行条件等によりジョブの実行時間を予測するというものである。
【０００５】
前述した情報処理システムのジョブスケジュール管理に特許文献１に記載された技術を適用することにより、ジョブの予想実行時間を基にジョブスケジュールリングを行うことが可能となるが、この場合、ジョブを実行するマシンの性能予測を行ってジョブ実行の失敗を回避するようなジョブスケジューリングを行うことができない。
【０００６】
【特許文献１】
特開２００２−１８２９３２号公報
【０００７】
【発明が解決しようとする課題】
前述した従来技術のジョブスケジュール管理システムは、設定されたジョブスケジュールが実行前にどれだけのリソースを必要とするのかが不明なため、実行予定マシンでジョブの実行が正常に終了するか否かを判断することが困難であるという問題点を有している。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、ジョブの実行前にジョブの実行に失敗する可能性がある場合に、ジョブスケジュールを変更してジョブ実行の失敗を回避することを可能にしたジョブスケジューリング方法及びジョブスケジュール管理システムを提供することにある。
【０００９】
【課題を解決するための手段】
本発明によれば前記目的は、ジョブ実行に必要なリソース量を計測し、このリソース量と使用するマシンの時間毎に変化する使用可能リソース量とを比較し、ジョブ実行の際に発生する障害を回避するために、ジョブスケジュールの実行時間の最適化と、ジョブスケジュールを実行するマシンのリソースの負荷を分散したリソース最適化とを行うようにすることにより達成される。
【００１０】
具体的にいえば、前記目的は、複数のマシンに所定のジョブを実行させる際のジョブスケジューリング方法において、予め管理されている前記複数のマシンのリソース使用量情報に基づいてジョブスケジューリングを行い、前記ジョブスケジューリングに基づいて１つのマシンにジョブの実行を指示し、前記指示したジョブの実行状況を監視し、前記ジョブの実行によりジョブを実行するマシンのリソース使用量が所定の値を超えた場合、前記ジョブスケジューリングを再度設定することにより達成される。
【００１１】
また、前記目的は、複数のマシンに所定のジョブを実行させる際のジョブスケジューリングシステムにおいて、予め管理されている前記複数のマシンのリソース使用量情報に基づいてジョブスケジューリングを行うジョブスケジュール手段と、前記ジョブスケジューリングに基づいて１つのマシンにジョブの実行を指示し、前記指示したジョブの実行状況を監視するジョブ実行監視手段と、前記ジョブの実行によりジョブを実行するマシンのリソース使用量が所定の値を超えた場合、前記ジョブスケジューリングを再度設定するスケジュール変更手段とを備えたことにより達成される。
【００１２】
【発明の実施の形態】
以下、本発明によるジョブスケジューリング方法及びシステムの実施形態を図面により詳細に説明する。
【００１３】
図１は本発明の一実施形態によるジョブスケジューリングシステムの構成を示すブロック図、図２は管理ホストの機能構成を示すブロック図である。図１、図２において、１００は管理ホスト、１０１はデータファイル、１０２はストレージ、１０３、１０８、１０９は実行ホスト、１０４、２０４は通信部、１０５はジョブ実行部、１０６は性能測定部、１０７はジョブ実行状態通知部、２０１はＧＵＩ部、２０２はジョブスケジュール部、２０３はジョブ実行監視部、２０５はデータ解析部、２０６は性能評価部、２０７はスケジュール変更部、２０８はジョブスケジュールデータ、２０９はマシン性能データ、２１０はジョブポリシーデータである。
【００１４】
本発明の実施形態によるジョブスケジューリングシステムは、ジョブ実行の最適化を行うジョブスケジュール管理ホスト１００と、ジョブスケジュールの実行を行うマシンである複数の実行ホスト１０３、１０８、１０９と、磁気ディスク等のストレージ１０２とがネットワークに接続されて構成されている。管理ホスト１００は、実行ホスト１０３（複数の実行ホストを代表して実行ホスト１０３とする）と通信を行い、ジョブの実行指示を行う。実行ホスト１０３は、管理ホスト１００と通信を行う通信部１０４、指示されたジョブを実行するジョブ実行部１０５、実行ホスト自身の性能を測定する性能測定部１０６、ジョブの実行開始、終了、障害情報を管理ホスト１００に通知するジョブ実行状態通知部１０７を備えて構成される。管理ホスト１００が管理しているデータファイル１０１には、ジョブスケジューリングデータや実行ホストから取得する情報が格納される。なお、管理ホストと実行ホストとが同一ホスト内に存在してもよい。
【００１５】
管理ホスト１００は、図２に示すように、ジョブスケジュールや実行ホストのジョブ実行状態、ジョブスケジューリングを最適化した結果の表示、設定入力等を行うＧＵＩ部２０１、ジョブスケジュールを制御するジョブスケジュール部２０２、実行ホストで実行されているジョブの状態を監視するジョブ実行監視部２０３、ジョブ実行指示や実行ホストの性能測定指示の送信やジョブ実行状態受信を行う通信部２０４、測定したマシン性能を解析するデータ解析部２０５、解析したデータからジョブ実行が可能か否かを判断する性能評価部２０６、マシン性能を基にジョブスケジュールを変更するスケジュール変更部２０７から構成される。また、管理ホスト１００が管理しているデータファイル１０１には、図１０、図１１により後述するジョブスケジュールデータ２０８や図３により後述するマシン性能データ２０９、図５により後述するジョブポリシーデータ２１０が格納される。
【００１６】
マシン性能データ２０９は、管理ホスト１００の指示により測定した実行ホスト１０３の性能データを通信部２０４で受信し、データ解析部２０５によって解析したものである。ジョブスケジュールデータ２０８とジョブポリシーデータ２１０とは、ＧＵＩ部２０１により設定されるデータである。
【００１７】
ジョブスケジュールデータ２０８には、ジョブの実行時間や実行ホスト、実行するジョブの順番、ジョブの依存関係が設定されており、ジョブスケジュールの変更がなければ、このジョブスケジュール２０８に従いジョブスケジュール部２０２が実行ホスト１０３にジョブの実行を指示する。また、ジョブポリシーデータ２１０には、実行するジョブの実行開始時間や終了時間のリミットの設定や、実行ホスト以外に実行可能なホストの設定などのジョブスケジュールの変更許容範囲のデータが格納されている。ジョブのスケジューリングは、ジョブポリシーデータ２１０とマシン性能データ２０９とを基に、スケジュール変更部２０７がジョブスケジュールデータ２０８を変更してデータを反映する処理である。ジョブスケジュール部２０２は、変更されたジョブスケジュールデータ２０８を基に実行ホストへジョブの実行を指示する。
【００１８】
図３は実行ホストのマシン性能データ２０９のデータテーブルの例を示す図であり、図３（ａ）はすでにジョブがスケジュールされているジョブスケジュール実行前のマシン性能データテーブル６００、図３（ｂ）は新たなジョブをスケジュールしたジョブスケジュール実行後のマシン性能データテーブル６０５を示す。テーブル６００、６０５内に格納されるデータは、ＣＰＵの使用率６０１、メモリ使用率６０２、ディスク使用率６０３等の最適化を行いたいリソースの単位時間毎（図示例では、時間ｔ、ｔ＋ｎ、ｔ＋２ｎ、ｔ＋３ｎ、……、ｔ＋ｍｎとして示している）の使用量のデータである。これらのデータは、ジョブ実行を予定している実行ホストや実行予定の実行ホストの代替実行ホストで計測される。
【００１９】
図４はジョブ毎の使用リソース量について示す図である。ジョブ毎の使用リソース量は、前述した図３（ａ）に示すジョブスケジュール実行前のマシン性能データと図３（ｂ）に示すジョブスケジュール実行後のマシン性能データとを比較して求めたものである。この図４において、５５０は図３（ａ）に示したようなジョブスケジュール実行前の時間軸に沿ったリソース使用量のグラフを表し、５５１は図３（ｂ）に示したようなジョブスケジュール実行後の時間軸に沿ったリソース使用量のグラフを表している。前述のグラフ５５１は、グラフ５５０に示すようなジョブスケジュール実行前のリソース使用量の状態の実行ホストに追加のジョブスケジュールを実行させたときのグラフであり、５５４、５５２、５５３で網掛けをして示している部分が、追加のジョブにより増加したリソース使用量であり、ジョブ実行によって増加する使用リソースの差分を求め、ジョブ毎の使用リソース量を割り出したもので誤差は丸められている。
【００２０】
図５はジョブポリシーデータ２１０のテーブルの構成例を示す図である。このジョブポリシーデータは、ジョブ実行の設定データであり、ジョブを実行する実行日７００、実行開始時刻７０２、実行終了期限７０２、ジョブで使用する使用データ７０６、実行ホスト７０７、障害が起きた場合の代替ホスト７０８、優先する最適化のフラグ７０９、最適化するリソース７１０の各情報を含み、これらの他に、図３（ａ）、図３（ｂ）に示して説明したマシン性能データ６００を用い、図６により後に説明するフローのジョブ実行データの算出処理で算出するジョブ実行の使用メモリ量７０４、使用ディスク量７０５、ジョブ実行予想時間７０３等の情報を含んで構成される。
【００２１】
図６はジョブスケジュールの最適化の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００２２】
（１）管理ホスト１００は、ジョブスケジュールを実行していない状態の実行ホスト１０３のマシン性能データ２０９を取得し、次に、新たなジョブ実行に必要なリソースデータを取得するため、設定されている最適化前のジョブスケジュールを実行する。さらに、ジョブスケジュールの実行を行ったマシンの性能データを取得する（ステップ３００〜３０２）。
【００２３】
（２）次に、図３（ａ）に示すジョブスケジュール実行前のマシン性能データと図３（ｂ）に示すジョブスケジュール実行後のマシン性能データとを比較し、ジョブ実行に必要なリソースデータをデータ解析部２０４で算出する。例えば、図３（ａ）の時間ｔ＋３ｎにおけるメモリ使用量６０４と図３（ｂ）の時間ｔ＋３ｎにおけるメモリ使用量との差分を算出し、この差分をジョブが使用したリソース量と考え、ジョブを実行した時間で平均を求める。算出されたジョブ実行に必要なリソースデータは、図５に示すジョブポリシーデータテーブル２１０の７０３、７０４、７０５に格納される。なお、ジョブが実行された時間は、図１０により後述するジョブスケジュールデータテーブルのジョブ実行開始時刻８００から実行ホストのジョブ実行状態通知部１０７から通知されたジョブジョブ実行完了通知までとする（ステップ３０３）。
【００２４】
（３）ジョブ実行マシンでの使用リソース量が所定の閾値を超えていないか否かを性能評価部２０６で検査する。この検査は、性能評価部２０６が、例えば、図３（ｂ）に示す性能データテーブルの使用リソースデータ６０６と閾値とを比較して行うことができる（ステップ３０４）。
【００２５】
（４）ステップ３０４の検査で、使用リソース量が所定の閾値を超えていた場合、超えた時間に実行したジョブを特定（閾値を超えた時間が図１０により後述するジョブスケジュールデータのジョブ実行開始時刻８００と実行ホストのジョブ実行完了通知の時刻との間にあるジョブ）し、そのジョブに依存するジョブあるいはジョブスケジュールを変更対象として次に説明する変更処理を行う（ステップ３０５）。
【００２６】
（５）ステップ３０５の処理で変更対象のジョブが特定されると、図５に示すジョブポリシーデータテーブル２１０の代替ホスト７０８の情報から他ホストにスケジュールを移動することができるか否かを判断する（ステップ３０６）。
【００２７】
（６）ステップ３０６の判断で、ジョブスケジュールを他の実行ホストに移動できる場合、図３（ａ）に示すマシン性能データ２０９のテーブルから移動可能なホストの中で最も使用リソース量が少ないホスト（変更対象のジョブ（依存関係のあるジョブを含む）の実行開始時刻７１６から終了期限７１７までの区間で使用リソース量の平均が少ない実行ホスト）を選択する（ステップ３０７）。
【００２８】
（７）次に、スケジュール変更部２０７でスケジュールの変更を行う（スケジュール変更の詳細な処理については図７、図９に示すフローを参照して後述する）。このとき、図５に示すジョブポリシーデータのテーブル内の優先する最適化７０９の情報により、実行時間の最適化かリソースの最適化かを選択して実行する。最適化に用いるリソースの種別は、図５に示すジョブポリシーデータのテーブルの最適化するリソース７１０の設定から選択する（ステップ３０８）。
【００２９】
（８）ステップ３０６の判断で、他の実行ホストにスケジュールを移動することができない場合、ステップ３０８の場合と同様にスケジュールの変更を行う（ステップ３１２）。
【００３０】
（９）ステップ３０８またはステップ３１２でのスケジュール変更の結果、使用リソース量が所定の閾値（上限値）以下に設定できたか否かを判定し、閾値を下回るスケジューリングができなかった場合、最適化処理を終了する（ステップ３０９）。
【００３１】
（１０）ステップ３０９の判定で、使用リソース量が所定の閾値（上限値）以下に設定できた場合、または、ステップ３０４の検査で、ジョブ実行マシンでの使用リソース量が所定の閾値を超えていなかった場合、閾値を所定の間隔で下げて閾値の再設定を行い、下げた閾値が所定の下限値を下回ったか否かを判定し、下げた閾値が所定の下限値を下回った場合、ジョブスケジュール最適化を終了する。また、閾値が下限値でない場合は、ステップ３０４からの処理に戻り、使用リソース量が閾値を超える場合を調べる処理からの処理を繰り返す。このように、処理用リソース量の閾値（上限値）を徐々に下げるようにすることにより、リソースに対する負荷を均等化することができる（ステップ３１０、３１１）。
【００３２】
図７は図６により説明したフローにおけるステップ３０８、３１２の処理でのスケジュール変更処理の詳細を説明するフローチャートである。この処理は、１つのジョブに対して実行可能範囲内で使用リソース量が閾値を超えない条件下で、最も早い時間を最適な実行時間とするジョブ実行時間最適化の処理である。
【００３３】
（１）まず、図５に示したジョブポリシーデータ２１０のテーブルに設定されているジョブ実行可能時間の範囲（実行開始時間７０１から終了期限７０２まで）で、単位時間毎（例えば、単位時間を１とした場合に、ｔ＋１、ｔ＋２、ｔ＋３、．．、ｔ＋ｎ）にジョブを実行していないマシンの使用リソース量にジョブ実行で使用するリソース量（例えば、図５に示すジョブ１における使用メモリ量Ｓ１）を加算して予想使用リソース量を求める。但し、ジョブ実行可能時間の終了期限は、スケジュールを変更しようとするジョブの終了後に実行を開始するような依存関係があるジョブがある場合、依存関係のあるジョブの終了期限から依存するジョブの予想実行時間を引いたものがスケジュールを変更しようとするジョブの終了期限となる。この終了期限は、例えば、図５に７１５として示すジョブ１の場合、実行可能時間は、ジョブ１の実行開始時刻７１６に示す時刻ｔ１から、依存関係のあるジョブ、例えば、ジョブ３が終了する図５に７１７として示す時間  ｔ１＋ｘ１までの時間より、依存するジョブの実行予想時間を引いた  ｔ１＋ｘ１−ｙ３−ｙ２までとなる（ステップ４００）。
【００３４】
図８はジョブ実行における予想使用リソース量の時間変化の例を示す図である。この図８において、単位時間当たりの使用リソース量にジョブで使用するリソース量を加えたものが網掛け部であり、網掛け部が閾値を超えている時間ではリソース不足によってジョブの実行が困難になるため、前述したステップ４００の処理では、閾値を超えない時間を採用する。
【００３５】
（２）ジョブ実行開始時間をｔに設定し、時間ｔがジョブ実行終了期限より大きいか否か判定し、時間ｔがジョブ実行終了期限より大きかった場合、最適化不可能であると判定して、ここでの処理を終了する（ステップ４０１、４０２）。
【００３６】
（３）ステップ４０２の判定で、時間ｔがジョブ実行終了期限より小さかった場合、実行締め切り時間までにジョブ実行に要する時間の範囲、すなわち、ｔ＋ジョブ実行時間の範囲で、使用リソース量が閾値を超えていないか否かを調べる。この調べは、例えば、図３の６０４と閾値を比べて行うことができ、閾値を超えた場合、ジョブ実行困難と判断する（ステップ４０３）。
【００３７】
（４）ステップ４０３の調べで、使用リソース量が閾値を超えていなかった場合、ジョブ実行開始時間として時間ｔを設定し、時間ｔからジョブ実行予想時間の範囲、すなわち、時間ｔからｔ＋ｙ１まで閾値を超えなければ、予想使用リソース量を使用リソースとして、ジョブスケジュールデータ２０８に登録して、処理を終了する（ステップ４０５、４０６）。
【００３８】
（５）ステップ４０３の調べで、使用リソース量が閾値を超えていた場合、ジョブ実行開始時間ｔをｔ＋ｎに所定間隔進めて、ステップ４０２からの処理に戻って処理を繰り返す（ステップ４０４）。
【００３９】
前述した処理により、追加するジョブの開始時間をずらしていくことにより、ジョブの終了まで使用リソース量が閾値を超えないジョブの開始時間を確定することができる。また、他のジョブについてもスケジュール変更を行うため、ステップ４０６で確定したジョブ実行開始時間ｔからジョブ実行所要時間ｔ＋ｙ１まで、使用マシンのリソース量にジョブ実行に要するリソース量Ｓ１を加算し、マシン性能データ２０９を更新する。
【００４０】
図９は図６により説明したフローにおけるステップ３０８、３１２の処理でのスケジュール変更処理の他の例の詳細を説明するフローチャートである。この処理は、１つのジョブに対して実行可能範囲内で使用リソース量が最少の時間を検索し、使用マシンの負荷を分散することができる時間にジョブ実行を行うことにより、使用リソースを最適化するものである。
【００４１】
（１）まず、図７により説明した場合と同様に、ジョブポリシーデータ２１０に設定されているジョブ実行可能時間の範囲で、単位時間毎にジョブを実行していないマシンの使用リソース量にジョブ実行で使用するリソース量を、図８に示しているように加算する（ステップ５００）。
【００４２】
（２）次に、使用リソースが最小となる時間を検索する。例えば、図３の６０２で時間ｔ１からｔ１＋ｘ１−ｙ３−ｙ２  までで、リソース量が最低となる時間を検索して、その時間ｔをとする（ステップ５０１）。
【００４３】
（３）ステップ５０１で検索したリソース量が最低となる時間を基準とし、その時間からジョブ実行所用時間の間、予想使用リソース量が閾値を下回っているか否かを判定し、下回っていなかった場合、最適化不可としてここでの処理を終了する（ステップ５０２）。
【００４４】
（４）ステップ５０２の判定で、予想使用リソース量が閾値を下回っていた場合、その時間ｔをジョブ実行開始時間として設定し、その時間ｔから実行予想時間ｙ１までの間の使用リソース量ｓ１を図３（ａ）に示すマシンデータテーブルの６０２に追加する（ステップ５０３、５０４）。
【００４５】
前述した本発明の実施形態における各処理は、処理プログラムとして構成することができ、この処理プログラムは、ＨＤ、ＤＡＴ、ＦＤ、ＭＯ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することができる。
【００４６】
図１０はジョブスケジュールデータの最適化前のデータ例を示す図、図１１は最適化後のデータ例を示す図である。
【００４７】
ジョブスケジュールデータ２０８のテーブルは、本発明の実施形態により最適化を行うジョブの実行時間や、実行ホストの情報が変更され、この変更されたテーブルの内容に基づいて、ジョブスケジュール部２０２が、実行ホスト１０３に対して、ジョブ実行を指示する。図１０に示す最適化前のジョブスケジュールデータ２０８には、ジョブ実行開始時間８００が、ジョブ毎に個別に設定されているものや、ジョブの依存関係により、ジョブの実行完了を次のジョブ実行の契機にするものや、ジョブ実行の結果により実行されるジョブあるいは実行されないジョブ等がある。いま、仮に、図１０に示すように、ジョブ１の後にジョブ２を実行するスケジュールがあった場合、スケジュールの最適化を行うと、図１１に示すように、ジョブ２の実行開始時間ｔ２は、ジョブ１の実行完了予定時間以降、すなわち、ｔ２＞ｔ１＋ｘ１で、終了期限内に実行が完了できる範囲内の最も効率のよい時間に設定される。
【００４８】
図１２はジョブスケジュールを最適化した結果を表示するＧＵＩの例を示す図である。図１２に示す例は、ジョブが実行される順番や依存関係を把握することができるようにしたジョブネット表示の例であり、ジョブを１つの単位として実行される順番を矢印で示している。ジョブスケジュールの最適化の結果、ジョブが実行困難な場合、そのジョブは、図１４により後述するように、例えば、赤色の点滅で表示されてユーザに警告し、最適化の結果ジョブの実行失敗の可能性が低くなると青色に変化する。
【００４９】
図１３はジョブスケジュールを最適化した結果を表示するＧＵＩの他の例を示す図である。図１３に示す例は、横軸を時間軸とした表示の例であり、このような表示により、ジョブ実行所要時間や実行の順番とその間隔を把握することが可能である。この表示例は、各ジョブが実行される予定時間と、実行失敗の可能性を図１４により後述するように色を変えて表示する。
【００５０】
図１４は最適化した後のジョブの表示色の例について説明する図である。この図から判るように、最適化後の各ジョブについて、「実行限界閾値超」、「実行限界閾値近」、「問題なし」、「実行ホスト変更」の各項目に分け、これらの各項目について、さらに、「実行期限超」、「実行期限近」、「問題なし」にランク分けして、それぞれに、図１４に示すような色を割り当てて点滅させることが設定される。この設定された色の点滅は、図１２、図１３に示すＧＵＩの表示例において表示される各ジョブの表示に反映される。
【００５１】
図１５はジョブスケジュールを最適化した結果を表示するＧＵＩのさらに他の例を示す図である。図１５に示す例は、ジョブ実行による使用リソースの予想グラフを表示した例であり、このような表示により、最適化した際の使用リソース量を把握することが可能となる。
【００５２】
最適化を行う際に、図６に示すフローにより説明したステップ３１０の閾値再設定処理が行われ、これにより、ジョブ実行失敗の可能性が下がるため、図１５（ａ）に示すように、追加したジョブが使用するリソース量を示すグラフが閾値付近にあっても問題が生じることはないが、この場合、ジョブ実行の限界の閾値付近ではジョブ実行が失敗する可能性が高くなるため、図１５（ｂ）に示すように、図１４により説明したジョブに対する表示色１２０３、１２０４等の色を付与して表示するとよい。
【００５３】
【発明の効果】
以上説明したように本発明によれば、ジョブスケジュールが失敗する可能性を削減することが可能になり、また、ジョブスケジュールの最適化の度合いを把握させることが可能に、グラフィカルに表示することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態によるジョブスケジューリングシステムの構成を示すブロック図である。
【図２】管理ホストの機能構成を示すブロック図である。
【図３】実行ホストのマシン性能データのデータテーブルの例を示す図である。
【図４】ジョブ毎の使用リソース量について示す図である。
【図５】ジョブポリシーデータの構成例を示す図である。
【図６】ジョブスケジュールの最適化の処理動作を説明するフローチャートである。
【図７】図６により説明したフローにおける処理でのスケジュール変更処理（ジョブ実行時間最適化）の詳細を説明するフローチャートである。
【図８】ジョブ実行における予想使用リソース量の時間変化の例を示す図である。
【図９】図６により説明したフローにおける処理でのスケジュール変更処理の他の例（リソース最適化）の詳細を説明するフローチャートである。
【図１０】はジョブスケジュールデータの最適化前のデータ例を示す図である。
【図１１】ジョブスケジュールデータの最適化後のデータ例を示す図である。
【図１２】ジョブスケジュールを最適化した結果を表示するＧＵＩの例（ジョブネット表示）を示す図である。
【図１３】ジョブスケジュールを最適化した結果を表示するＧＵＩの他の例（時間軸表示）を示す図である。
【図１４】最適化した後のジョブの表示色の例について説明する図である。
【図１５】ジョブスケジュールを最適化した結果を表示するＧＵＩのさらに他の例（使用リソースの予想グラフ）を示す図である。
【符号の説明】
１００  管理ホスト
１０１  データファイル
１０２  ストレージ
１０３、１０８、１０９  実行ホスト
１０４、２０４  通信部
１０５  ジョブ実行部
１０６  性能測定部
１０７  ジョブ実行状態通知部
２０１  ＧＵＩ部
２０２  ジョブスケジュール部
２０３  ジョブ実行監視部
２０５  データ解析部
２０６  性能評価部
２０７  スケジュール変更部
２０８  ジョブスケジュールデータ
２０９  マシン性能データ
２１０  ジョブポリシーデータ
【図１】
2005011023.tif 000003
【図２】
2005011023.tif 000004
【図３】
2005011023.tif 000005
【図４】
2005011023.tif 000006
【図５】
2005011023.tif 000007
【図６】
2005011023.tif 000008
【図７】
2005011023.tif 000009
【図８】
2005011023.tif 000010
【図９】
2005011023.tif 000011
【図１０】
2005011023.tif 000012
【図１１】
2005011023.tif 000013
【図１２】
2005011023.tif 000014
【図１３】
2005011023.tif 000015
【図１４】
2005011023.tif 000016
【図１５】
2005011023.tif 000017