(57)【特許請求の範囲】
【請求項１】
不確定に発生する第１のジョブと厳密な実行時期は要求されないが所定の時間間隔で発生する第２のジョブを実行するジョブ実行手段、
前記ジョブ実行手段における第１のジョブの生起時刻についての確率分布を作成する確率分布作成手段、
前記確率分布作成手段の作成した確率分布に基づいて前記ジョブ実行手段における第２のジョブの実行時期を調整する実行時期調整手段、
前記ジョブ実行手段における第１のジョブの処理終了時から第１のジョブの処理の無生起の継続時間としての無生起継続時間ｔと基準値Ｔmaxとを対比する対比手段、及び
前記ジョブ実行手段における第２のジョブの実行後、無生起継続時間ｔ＞基準値Ｔmaxの条件が１度、成立するまでは前記ジョブ実行手段における第２のジョブの次の実行を禁止する実行禁止手段を
有していることを特徴とするジョブ実行制御装置。
【請求項２】
第１のジョブの処理終了時を確率分布の時間起点として該時間起点からの経過時間を複数の区間に区分けする区間区分け手段、
前記時間起点から前記各区間の終点まで第１のジョブの処理が無生起であったとき各終点から次に第２のジョブの処理を前記ジョブ実行手段において実行できる時刻までの予測時間としての期待値Ｔlを前記確率分布に基づいて算出する期待値算出手段、及び
各区間の終点におけるＴlが所定の基準値Ｔmaxに対してＴl＜基準値Ｔmaxの条件を満足する区間の中で前記時間起点から最も離れる終点をＴmとし前記時間起点からＴmまでの区間の中で確率最小の区間を検出する最小確率区間検出手段を有し、
前記実行時期調整手段は前記最小確率区間検出手段の検出した区間内に前記ジョブ実行手段において第２のジョブを実行することを特徴とする請求項１記載のジョブ実行制御装置。
【請求項３】
基準値Ｔmaxを調整自在に設定する基準値設定手段を有していることを特徴とする請求項２記載のジョブ実行制御装置。
【請求項４】
不確定に発生する第１のジョブと厳密な実行時期は要求されないが所定の時間間隔で発生する第２のジョブを実行するジョブ実行手段における第１のジョブの生起時刻についての確率分布を作成する確率分布作成ステップ、
前記確率分布作成ステップにおいて作成した確率分布に基づいて前記ジョブ実行手段における第２のジョブの実行時期を調整する実行時期調整ステップ、
前記ジョブ実行手段における第１のジョブの処理終了時から第１のジョブの処理の無生起の継続時間としての無生起継続時間ｔと基準値Ｔmaxとを対比する対比ステップ、及び
前記ジョブ実行手段における第２のジョブの実行後、無生起継続時間ｔ＞基準値Ｔmaxの条件が１度、成立するまでは前記ジョブ実行手段における第２のジョブの次の実行を禁止する実行禁止ステップ
を有していることを特徴とするジョブ実行制御方法。
【請求項５】
不確定に発生する第１のジョブと厳密な実行時期は要求されないが所定の時間間隔で発生する第２のジョブを実行するジョブ実行手段における第１のジョブの生起時刻についての確率分布を作成する確率分布作成ステップ、
前記確率分布作成ステップにおいて作成した確率分布に基づいて前記ジョブ実行手段における第２のジョブの実行時期を調整する実行時期調整ステップ、
前記ジョブ実行手段における第１のジョブの処理終了時から第１のジョブの処理の無生起の継続時間としての無生起継続時間ｔと基準値Ｔmaxとを対比する対比ステップ、及び
前記ジョブ実行手段における第２のジョブの実行後、無生起継続時間ｔ＞基準値Ｔmaxの条件が１度、成立するまでは前記ジョブ実行手段における第２のジョブの次の実行を禁止する実行禁止ステップ
をコンピュータに実行させることを特徴とするジョブ実行制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のジョブを効率的に実行するジョブ実行制御装置、方法、及びプログラムに関し、詳しくは不確定に生起する一方のジョブの実行に対して重複を抑制しつつ他方のジョブを実行できるジョブ実行制御装置、方法、及び装置に関するものである。
【０００２】
【従来の技術】
例えば、コンピュータの外部接続装置としてのテープドライブでは、メモリの一部の経年劣化による故障発生を事前に調査するために、機能診断プログラムを適宜、実行している。従来の機能診断プログラムでは、機能診断プログラムは、一定時間間隔で実行することになっている。
【０００３】
一方、特開平５−２４２１０３号公報は、複数のジョブを順番に実行する場合に、所定の確率で起きるマシンの故障にもかかわらず、効率的に複数のジョブを実行できるスケジューリングシステムを開示する。該スケジューリングシステムでは、マシンへの各ジョブの割付け時間の最大値、平均値、及び最小値を算出するとともに、各ジョブの割付け時間を第１〜第３の３個のセグメントに分割し、先行ジョブの第３のセグメントに対して後続ジョブの第１のセグメントの時間的位置付けを適切化し、すなわち先行ジョブの最早終了時刻及び最遅終了時刻に対して後続のジョブの最早開始時刻及び最遅開始時刻を適切化している。
【０００４】
【発明が解決しようとする課題】
通常のテープドライブは、シングルタスク処理であり、かつ本来のジョブとしてのテープへのデータの読書き処理を実行することになっているので、機能診断プログラムの実行中に、データの読書きの指示を受けると、本来のジョブの実行が長く待たされることになる。また、マルチタスク処理が可能なデバイスであっても、本来の処理の実行中に機能診断プログラム等のその他の処理を実行させることは、本来の処理の速度低下や、トラブル発生に繋がり易い。
【０００５】
特開平５−２４２１０３号公報のスケジューリングシステムは、実行開始時期及び実行順番がほぼ決まっている複数のジョブをマシンに割り付ける場合には、効果的であるが、本来のジョブの実行要求が不確定に生起するマシンでは、複数個のジョブをあらかじめスケジューリングすることは困難である。
【０００６】
本発明の目的は、不確定に生起する第１のジョブを実行するデバイスにおいて、重複を抑制しつつ、第２のジョブを適切に実行することのできるジョブ実行制御装置、方法、及びプログラムを提供することである。
本発明の他の目的は、第２のジョブを適切な時間間隔又は頻度で実行することを保証できるジョブ実行制御装置、方法、及び装置を提供することである。
【０００７】
【課題を解決するための手段】
第１の発明のジョブ実行制御装置は次のものを有している。
・複数のジョブを実行するジョブ実行手段
・ジョブ実行手段における第１のジョブの生起時刻についての確率分布を作成する確率分布作成手段
・確率分布作成手段の作成した確率分布に基づいてジョブ実行手段における第２のジョブの実行時期を調整する実行時期調整手段
【０００８】
ジョブ実行手段は、シングルタスク型及びマルチタスク型のいずれであってもよい。ジョブ実行手段が例えばテープドライブである場合、第１のジョブは例えばテープへのデータの読書きに関するジョブであり、第２のジョブは例えばテープの経年劣化に因る故障の発生を事前に察知するための機能診断プログラムである。ジョブ実行手段が例えばコンピュータ本体である場合、第２のジョブは例えばアンチウィルスプログラム、スキャンディスクのプログラム、及び／又はデフラグのプログラムである。例えば、ユーザがパーソナルコンピュータでワードプロセッサのアプリケーションを使用している場合、第１のジョブはワードプロセッサ本来の文章編集に関するジョブにし、第２のジョブは例えば現在編集中のファイルの自動保存プログラムにしてもよい。ジョブ実行手段が例えばサーバーである場合、第１のジョブは例えばクライアントからの要求に係るジョブであるの対し、第２のジョブは例えばサーバーのデータのバックアップに係るジョブである。
【０００９】
第１のジョブは、例えばジョブ実行手段における読書きに係るジョブのみと言うように、同一のジョブに限定されない。ジョブ実行手段が例えばマルチタスク可能型ＯＳ搭載のコンピュータであるとき、第１のジョブは、表計算ソフトに係るジョブ、ワードプロセッサに係るジョブ、及びウェブブラウザに係るジョブで、第２のジョブはアンチウィルスプログラムに係るジョブと言うように、第１のジョブは、異なる複数個のプログラムであってもよい。逆に、第２のジョブは、例えばジョブ実行手段におけるアンチウィルスに係るジョブのみと言うように、同一のジョブに限定されない。ジョブ実行手段が例えばコンピュータであるとき、第１のジョブは表計算ソフトに係るジョブであり、第２のジョブはアンチウィルスプログラムに係るジョブ、及びファイルの自動バックアップのプログラムに係るジョブと言うように、第２のジョブは、異なる複数個のプログラムに係るジョブであってもよい。第１のジョブは不確定に生起するジョブであり、第２のジョブは、第１のジョブの確率分布を参照しつつ、厳密な実行時期を要求されることなく所定の時間間隔で行うべきジョブである。なお、確率分布の作成処理は、第２のジョブとしてジョブ実行手段において実行されても、ジョブ実行手段とは別のＣＰＵ等において行われてもよい。
【００１０】
第１の発明では、第２のジョブの実行時期は、第１のジョブの生起の確率分布の最小の区間に限定されない。例えば、第１のジョブの生起確率が、連続する複数の区間においてほぼフラットで大差なく、かつ基準値以下である場合には、これら区間の最初の区間又は中間の区間が、生起確率の最小の区間でなくても、第２のジョブの実施する時期として選択されてもよいとする。さらに、生起確率の最小の区間の両側の区間の生起確率が異常に大きく、第２のジョブの処理時間が今回は長くなると予測される場合には、生起確率の２番目や３番目に小さい区間が第２のジョブの実施する時期として選択されてもよいとする。
【００１１】
実行時期調整手段は、第１のジョブの生起時刻に関する確率分布を踏まえ、所定の観点から第２のジョブの最適な実行時期を算出して、該時期に第２のジョブを実行することになる。これにより、第１のジョブ及び第２のジョブの実行時期が調和され、ジョブ実行手段における第１のジョブ及び第２のジョブの処理を良好化できる。
【００１２】
第２の発明のジョブ実行制御装置によれば、第１の発明のジョブ実行制御装置において、確率分布作成手段の作成する確率分布の起点は、ジョブ実行手段における第１のジョブの終了時刻に設定されている。
【００１３】
確率分布の起点は、ジョブ実行手段における第１のジョブの終了時刻でなく、１日の例えば午前零時とか業務開始の午前９時とかに設定することもできる。しかし、第１のジョブの生起確率の分布には、所定の周期があることが多いので、確率分布の起点をジョブ実行手段における第１のジョブの終了時刻ｔｆに設定する方が、信頼性のより高い確率分布を作成することができる。
【００１４】
第３の発明のジョブ実行制御装置によれば、第１又は第２の発明のジョブ実行制御装置において、確率分布作成手段は、時間帯、曜日帯、及び／又は季節帯ごとに確率分布を作成し、実行時期調整手段は、現時刻、現曜日、及び／又は現季節に対応する確率分布に基づいてジョブ実行手段における第２のジョブの実行時期を調整する。
【００１５】
第１のジョブの生起の確率分布は、昼間帯と夜間帯、深夜及び早朝の時間帯とその他の時間帯、平日と土日、夏と冬、と言うように、別の特徴をもつことがある。確率分布を時間帯、曜日帯、及び／又は季節帯ごとに分けることにより、第２のジョブの実施時期を各状況に応じて最適なものに選択できる。
【００１６】
第４の発明のジョブ実行制御装置によれば、第１〜第３のいずれかの発明のジョブ実行制御装置において、確率分布作成手段は、ジョブ実行手段における第１のジョブの生起時刻についてのデータの内、直近の所定個数のデータ、又は直近の所定期間内のデータに基づいて、確率分布を作成する。
【００１７】
ジョブ実行手段によっては、システムの環境変化等に伴い、第１のジョブの生起の確率分布が急激に変化することがある。確率分布の作成用のデータを、直近の所定個数のデータ、又は直近の所定期間内のデータに絞ることにより、第２のジョブの実行時期をシステムの環境変化等に速やかに対応したものにすることができる。
【００１８】
第５の発明のジョブ実行制御装置によれば、第１〜第４のいずれかの発明のジョブ実行制御装置において、確率分布作成手段は次の手段を有している。
・ジョブ実行手段における第１のジョブの終了時からの経過時間を測定する経過時間測定手段
・ジョブ実行手段における第１のジョブの終了時からの経過時間を複数の区間に分け各区間に対応する配列要素を備える配列手段
・ジョブ実行手段における第１のジョブの生起を監視し生起時の経過時間に対応する区間の配列要素の値を更新する更新手段
・各配列要素の値に基づいて各区間の確率を算出して全体の確率分布を作成する確率分布算出手段
【００１９】
このように、第１のジョブが生起すると、その生起時刻に対応する配列要素の値が更新されることにより、的確な確率分布を作成することができる。なお、確率分布算出手段による確率分布の更新は、典型的には、第１のジョブの生起ごとに行われるが、これに限定されない。
【００２０】
第６の発明のジョブ実行制御装置によれば、第５の発明のジョブ実行制御装置において、区間の長さは、ジョブ実行手段における第２のジョブの処理時間より長く設定されている。
【００２１】
第２のジョブの実行時期を確率分布の区間に対応させるとすると、確率分布の区間の長さが、ジョブ実行手段における第２のジョブの処理時間より長い場合、第２のジョブの実行期間を含む区間の確率が、小であっても、その次の区間の確率が大であると、第２のジョブの処理が該次の区間に及び、第１のジョブの実行と重なる可能性が高くなる。区間の長さが、ジョブ実行手段における第２のジョブの処理時間より長く設定されることにより、第２のジョブの最適な実行時期は、単純に各区間の確率からに決定できる。なお、好ましくは、区間の長さは、ジョブ実行手段における第２のジョブの処理時間の数倍程度（例えば６倍）とされる。
【００２２】
第７の発明のジョブ実行制御装置は、第１〜第６のいずれかの発明のジョブ実行制御装置において、次のものを有している。
・ジョブ実行手段における第１のジョブの処理終了時から第１のジョブの処理の無生起の継続時間としての無生起継続時間ｔと基準値Ｔmaxとを対比する対比手段
・ジョブ実行手段における第２のジョブの実行後、無生起継続時間ｔ＞基準値Ｔmaxの条件が１度、成立するまではジョブ実行手段における第２のジョブの次の実行を禁止する実行禁止手段
【００２３】
確率分布の期間の最初の方に確率の小さい区間が存在する等、確率分布に基づく第２のジョブの最適実行時刻が確率分布の期間の最初の方に存在する事情があると、第２のジョブが不必要に頻繁に実施されることがある。無生起継続時間ｔ＞基準値Ｔmaxの条件が１度、成立するまでは、第２のジョブの実行を禁止するようにすれば、第２のジョブの頻繁な実施を回避することができる。なお、該確率分布では、無生起継続時間ｔは確率変数を意味する。
【００２４】
第８の発明のジョブ実行制御装置は、第７の発明のジョブ実行制御装置において、次のものを有している。
・第１のジョブの処理終了時を確率分布の時間起点として該時間起点からの経過時間を複数の区間に区分けする区間区分け手段
・時間起点から各区間の終点まで第１のジョブの処理が無生起であったとき各終点から次に第２のジョブの処理をジョブ実行手段において実行できる時刻までの予測時間としての期待値Ｔlを確率分布に基づいて算出する期待値算出手段
・各区間の終点におけるＴlが所定の基準値Ｔmaxに対してＴl＜基準値Ｔmaxの条件を満足する区間の中で時間起点から最も離れる終点をＴmとし時間起点からＴmまでの区間の中で確率最小の区間を検出する最小確率区間検出手段
・最小確率区間検出手段の検出した区間内にジョブ実行手段において第２のジョブを実行する実行時期調整手段
【００２５】
第１のジョブの実行との重複の可能性の低い第２のジョブの実行時期としては、一般的に、確率分布の中で確率最小の区間である。一方、無生起継続時間ｔ＞基準値Ｔmaxの条件が１度、成立すると、速やかに第２のジョブを実行すべきとの要請がある。該ジョブ実行制御装置では、ｔ＞Ｔmaxの条件が成立した後、第１のジョブの生起確率の小さい期間に第２のジョブを実施して、第１のジョブ及び第２のジョブの実行の重複抑制と、第２のジョブの速やかな実行とを両立させることができる。
【００２６】
第９の発明のジョブ実行制御装置は、第５又は第８の発明のジョブ実行制御装置において、基準値Ｔmaxを調整自在に設定する基準値設定手段を有している。
【００２７】
基準値Ｔmaxの設定は、ユーザ操作によっても行われても、自動的に行われてもよい。例えばテープドライブにおける第２のジョブとしての機能診断プログラムは、実行頻度は、使用期間の増大に連れて、増大した方が好ましいことがある。このような場合に、基準値Ｔmaxを固定することなく、調整可とすることは有意義である。
【００２８】
本発明のジョブ実行制御方法は、複数のジョブを実行するジョブ実行手段における第１のジョブの生起時刻についての確率分布を作成する確率分布作成ステップ、及び確率分布作成ステップにおいて作成した確率分布に基づいてジョブ実行手段における第２のジョブの実行時期を調整する実行時期調整ステップを有している。好ましくは、該確率分布作成ステップにおいて作成する確率分布の起点は、ジョブ実行手段における第１のジョブの終了時刻に設定されている。好ましくは、該確率分布作成ステップでは、時間帯、曜日帯、及び／又は季節帯ごとに確率分布を作成し、実行時期調整ステップでは、現時刻、現曜日、及び／又は現季節に対応する確率分布に基づいてジョブ実行手段における第２のジョブの実行時期を調整する。好ましくは、該確率分布作成ステップでは、ジョブ実行手段における第１のジョブの生起時刻についてのデータの内、直近の所定個数のデータ、又は直近の所定期間内のデータに基づいて、確率分布を作成する。
【００２９】
好ましくは、該確率分布作成ステップは、ジョブ実行手段における第１のジョブの終了時からの経過時間を測定する経過時間測定サブステップ、ジョブ実行手段における第１のジョブの終了時からの経過時間を複数の区間に分け各区間に対応する配列要素を備える配列サブステップ、ジョブ実行手段における第１のジョブの生起を監視し生起時の経過時間に対応する区間の配列要素の値を更新する更新サブステップ、及び各配列要素の値に基づいて各区間の確率を算出して全体の確率分布を作成する確率分布算出サブステップを有している。好ましくは、該区間の長さは、ジョブ実行手段における第２のジョブの処理時間より長く設定されている。
【００３０】
好ましくは、ジョブ実行制御方法は、さらに、ジョブ実行手段における第１のジョブの処理終了時から第１のジョブの処理の無生起の継続時間としての無生起継続時間ｔと基準値Ｔmaxとを対比する対比ステップ、及びジョブ実行手段における第２のジョブの実行後、無生起継続時間ｔ＞基準値Ｔmaxの条件が１度、成立するまではジョブ実行手段における第２のジョブの次の実行を禁止する実行禁止ステップを有している。好ましくは、ジョブ実行制御方法は、第１のジョブの処理終了時を確率分布の時間起点として該時間起点からの経過時間を複数の区間に区分けする区間区分けステップ、時間起点から各区間の終点まで第１のジョブの処理が無生起であったとき各終点から次に第２のジョブの処理をジョブ実行手段において実行できる時刻までの予測時間としての期待値Ｔlを確率分布に基づいて算出する期待値算出ステップ、各区間の終点におけるＴlが所定の基準値Ｔmaxに対してＴl＜基準値Ｔmaxの条件を満足する区間の中で時間起点から最も離れる終点をＴmとし時間起点からＴmまでの区間の中で確率最小の区間を検出する最小確率区間検出ステップ、及び最小確率区間検出手段の検出した区間内にジョブ実行手段において第２のジョブを実行する実行時期調整ステップを有している。好ましくは、ジョブ実行制御方法は、基準値Ｔmaxを調整自在に設定する基準値設定ステップを有している。
【００３１】
本発明のジョブ実行制御プログラムは、本発明の前述したジョブ実行制御方法の各ステップ及び／又は各サブステップをコンピュータに実行させるものである。
【００３２】
【発明の実施の形態】
以下、発明の実施の形態について図面を参照して説明する。
図１は動的診断機能付きジョブ実行装置10の機能ブロック図である。ジョブ実行手段13は第１のジョブ14及び第２のジョブ15を実行する。ジョブ実行手段13がテープドライブである場合は、第１のジョブ14はテープへのデータの読書き処理であり、第２のジョブ15はテープの経年劣化を調べる機能診断プログラムである。テープドライブ等のデバイスでは、大規模なシステムに接続された場合、一旦、電源を投入されて、起動すると、長期間、作動状態に維持され、電源を切って、システムから切り離し、故障診断を行うことができ難くなる。ジョブ実行手段13がシングルタスク型である場合、ジョブ実行手段13は、第２のジョブ15の非実行中における第１のジョブ14の実行要求の生起に対しては、第１のジョブ14を直ちに実行し、また、第２のジョブ15の実行中は、第２のジョブ15の処理の終了するまで、第１のジョブ14の実行を引き延ばす。ジョブ実行手段13がマルチタスク型である場合、ジョブ実行手段13は、第２のジョブ15の実行中及び非実行中に関係なく、第１のジョブ14の実行要求が生起しだい、第１のジョブ14を実行する。確率分布作成手段18は、ジョブ実行手段13における第１のジョブの実行状態を監視し、ジョブ実行手段13における第１のジョブ14の生起についての確率分布を作成する。実行時期調整手段19は、確率分布作成手段18の作成した確率分布に基づいてジョブ実行手段13に第２のジョブ15を実行させるタイミングを指示する。
【００３３】
図２は確率分布作成手段18の詳細なブロック図である。経過時間測定手段24は、ジョブ実行手段13における第１のジョブ14の処理の終了を検出し、該終了時刻を起点として、該起点からの経過時間を測定する。生起データ収集手段25は、ジョブ実行手段13における第１のジョブ14の生起を監視し、第１のジョブ14の生起した時の経過時間測定手段24の経過時間（＝確率分布の起点を基準とする生起時刻）をデータとして収集する。第１のジョブ14の生起の確率分布は複数の等区間に分割され、配列手段27は、確率分布の各等区間に対応した配列要素を備えている。更新手段26は、収集データに基づいて生起時刻に対応する配列要素の値を所定量増大する。これにより、配列手段27の配列要素には、後述の図３における対応区間の確率の対応値が格納されることになる。確率分布算出手段28は、配列手段27の配列要素の値に基づいて確率分布を算出する。
【００３４】
図３及び図４は確率分布の第１及び第２の例示図である。確率変数は、ジョブ実行手段13における第１のジョブ14の処理終了時刻を起点のｔ＝０として、ジョブ実行手段13において第１のジョブ14の次に生起するまでの経過時間である。該確率分布では、ｔ＝０から時間軸に沿って等区間Δｔごとに、ｔ1，ｔ2，・・・，ｔr-1，ｔr，・・・ｔn-1，ｔnを取り、区間（ｔ0，ｔ1］の確率をｐ1，区間（ｔ1，ｔ2］の確率をｐ2，・・・，区間（ｔr-1，ｔr］の確率をｐr，区間（ｔn-1，ｔn］の確率をｐnとする。図３の確率分布では、時間軸方向の中間に確率の最小値が出現しているのに対し、図４の確率分布では、確率は時間軸方向へ単調減少している。なお、図３及び図４において、最後の区間（ｔn-1，ｔn］のｐnは、厳密には、（ｔn-1，∞］の確率である。
【００３５】
なお、Δｔはジョブ実行手段13において第２のジョブ15の処理に要する時間より長い時間が設定される。本出願人の販売に係るテープドライブとしてのＩＢＭ３５８０Ｕｌｔｒｉｕｍ（Ｕｌｔｒｉｕｍとは、規格名）では、メモリの劣化を調査する機能診断プログラムが実行されることになっているが、該テープドライブをジョブ実行手段13とした場合、機能診断プログラムの処理に要する時間は例えば約６０秒であるので、Δｔは６０秒より適当に大きい例えば３００秒に設定する。
【００３９】
ここで期待値Ｔlは、第１のジョブ14の無生起継続時間の各時点について、該各時点から第２のジョブ15が次に実行される時点まで予測時間を第１のジョブの確率分布に基づいて算出した時間として定義される。
【００４０】
動的診断機能付きジョブ実行装置10において、Ｔlは次のように利用される。（ｚ１）Ｔlの上限値Ｔmax（ｔ0≦Ｔmax≦ｔn）を適宜、設定する。
（ｚ２）Ｔm＝ｍａｘ（Ｔl｜Ｔl＜Ｔmax，ｌ＝１，２，３，・・・，ｎ）を算出する。
（ｚ３）ｐd＝ｍｉｎ（ｐi｜ｉ＝１，２，３，・・・，ｍ）を与えるｔdを求める。後述の図６のＳ５５において明らかになるように、第２のジョブ15は、ｔd−Δｔ以降に開始可能になり、（ｔd−Δｔ，ｔd］の期間に実行されることになる。
【００４１】
図５及び図６は機能診断プログラムの実行時期を制御するルーチンのフローチャートである。該ルーチンでは、第１のジョブ14及び第２のジョブ15を実行するデバイスとしてテープドライブが想定され、第２のジョブ15として機能診断プログラムが想定されている。該ルーチンは、デバイスに電源が投入されしだい、開始される。Ｓ３７では、ｔがリセットされる。Ｓ３８では、デバイス（ここではジョブ実行手段13。）において第１のジョブ14の処理が生起されたか否かを判定し、該判定がｙｅｓであれば、ＳＡの処理生起の確率分布の更新のルーチンを実行してから、Ｓ３７へ戻る。また、該判定がｎｏであれば、Ｓ３９へ進む。ＳＡのルーチンの詳細は図７において後述する。Ｓ３９では、ｔとＴmaxとを対比し、ｔ＞Ｔmaxであれば、すなわち、電源投入から第１のジョブ14の無生起継続時間ｔがＴmaxを超えれば、Ｓ４０へ進み、また、ｔ≦Ｔmaxであれば、Ｓ３８へ戻る。こうして、電源投入から第１のジョブ14の無生起継続時間ｔがＴmaxを超えるまでは、後述のＳ５６の実行は中止され、確率分布の作成の基礎となる標本が十分に収集される。Ｓ４０ではｔdを算出し、次にＳ５０へ進む。ｔdは、前述の（ｚ３）に基づいて算出する。
【００４２】
Ｓ５０では、Ｓ３８と同じく、デバイスにおいて第１のジョブ14の処理が生起されたか否かを判定し、該判定がｙｅｓであれば、ＳＡの処理生起の確率分布の更新のルーチンを実行してから、Ｓ５１へ進み、該判定がｎｏであれば、Ｓ５２へ進む。Ｓ５１では、ｔをリセットし、次に、Ｓ５０へ戻る。Ｓ５２では、ｔとＴmaxとを対比し、ｔ＞Ｔmaxであれば、Ｓ５３へ進み、ｔ≦Ｔmaxであれば、Ｓ５４へ進む。Ｓ５３では、フラグを”偽”にし、Ｓ４０へ戻る。Ｓ５４では、フラグが”真”か”偽”かを判定し、”真”であれば、Ｓ５０へ戻り、”偽”であれば、Ｓ５５へ進む。Ｓ５５では、ｔとｔd−Δｔとを対比し、ｔ＞ｔd−Δｔであれば、Ｓ５６へ進み、ｔ≦ｔd−Δｔであれば、Ｓ５０へ戻る。Ｓ５６では、機能診断プログラムを実行する。Ｓ５７では、フラグを”真”にする。これにより、ｔ＞Ｔmaxの条件が成立すると、この後、ｔ＞ｔd−Δｔとなりしだい、第２のジョブ15が実行され、また、ｔ≦Ｔmaxの間は、ｔに関係なく、第２のジョブ15の実行が中止される。
【００４３】
図７は図５及び図６のＳＡの詳細なフローチャートである。図２の配列手段27は、図３及び図４の各Δｔの区間に対応する配列要素を有している。配列要素の番号ｉを１，２，３，・・・ｎとすると、配列要素ｉには、確率分布における区間（ｔi-1，ｔi］の第１のジョブ14の生起回数に対応する値がｖiとして格納されている。Ｓ６０では、ｖiの総和Ｖを計算する。Ｓ６１では、Ｖが基準値としての０ｘＦＦＦ７ＦＦＦＦ（０ｘはそれより右の桁が１６進の数値であることを意味するものとする。）より大か否かを判定し、該判定がｙｅｓであれば、Ｓ６２を経由してから、Ｓ６３へ進み、該判定がｎｏであれば、Ｓ６３へ直接、進む。Ｓ６２では、各配列要素ｖiに、０ｘＦＦＦ７ＦＦＦＦ／Ｖを乗じる。これにより、各配列要素ｖiの値は、一律に所定割合だけ減少する。Ｓ６１，Ｓ６２の意義は、配列手段27の配列要素におけるオーバフローを回避するためである。Ｓ６３では、ジョブ実行手段13における第１のジョブ14の前回の処理が終了してからの経過時間を検出する。Ｓ６４では、第１のジョブ14の今回の処理の生起時刻として検出した経過時間に対応する配列要素ｖi、すなわち今回の第１のジョブ14の生起した区間に対応する配列要素ｖiを決定する。Ｓ６５では、Ｓ６４で決定した対応の配列要素ｖiに所定量０ｘ０００８００００を加算する。Ｓ６６では、確率分布の各区間に対応の確率ｐiを計算する。こうして、ジョブ実行手段13において第１のジョブ14の処理が生起されるごとに、対応の配列要素ｖiに、生起回数１に対応する量が加算されるとともに、確率分布が更新される。ジョブ実行手段13における第１のジョブ14の生起の確率分布は、環境変化等に伴い、変化するが、ジョブ実行手段13において第１のジョブ14の処理が生起されるごとに、確率分布が更新されるので、動的診断機能付きジョブ実行装置10の保持する確率分布は、環境変化等を十分に反映するものとなる。
【００４４】
図８は本提案法の効果を調べるためにシミュレーションを行った３個の確率分布のパターンを示している。図８の（ａ）、（ｂ）、及び（ｃ）はそれぞれ機能診断プログラムの第１、第２、及び第３のパターンと呼ぶことにする。機能診断プログラムの横軸の終端は１日に設定されている。機能診断プログラムの第１のパターンでは、確率は時間経過に連れて直線的に減少している。機能診断プログラムの第２のパターンでは、確率は、最大値とほぼ０との間を周期的に変動する。機能診断プログラムの第３のバターンでは、確率は、増減を繰り返しつつ、全体的に減少していく。
【００４５】
図９は図８の機能診断プログラムの各パターンに対して従来法と本提案法とで第２のジョブ15を実行したときの第１のジョブ14と第２のジョブ15との重複率についてのシミュレーション結果を示している。なお、デバイスの故障率は、図９及び後述の図１１共に、９．５×１０-2回／年を想定している。第１〜第３のいずれのバターンにおいても、従来法に比して本提案法では、重複率が大幅に低下していることが分かる。
【００４６】
図１０は本提案法の効果を調べるためにシミュレーションを行った別の３個の確率分布のパターンを示している。図１０の（ａ）、（ｂ）、及び（ｃ）はそれぞれ機能診断プログラムの第４、第５、及び第６のパターンと呼ぶことにする。機能診断プログラムの横軸の終端は１日に設定されている。第４〜第６のパターン共に、減少度は、最初が大で、その後、小となっている。起点時を含む区間の確率は第４、第５、及び第６の順番で増大している。
【００４７】
図１１は図８の機能診断プログラムの各パターンに対して従来法と本提案法とで第２のジョブ15を実行したときの第１のジョブ14と第２のジョブ15との重複率についてのシミュレーション結果を示している。いずれのバターンにおいても、従来法に比して本提案法では、重複率が大幅に低下していることが分かる。
【図面の簡単な説明】
【図１】動的診断機能付きジョブ実行装置の機能ブロック図である。
【図２】確率分布作成手段の詳細なブロック図である。
【図３】確率分布の第１の例示図である。
【図４】確率分布の第２の例示図である。
【図５】機能診断プログラムの実行時期を制御するルーチンの第１の範囲のフローチャートである。
【図６】機能診断プログラムの実行時期を制御するルーチンの第２の範囲のフローチャートである。
【図７】図５及び図６のＳＡの詳細なフローチャートである。
【図８】本提案法の効果を調べるためにシミュレーションを行った３個の確率分布のパターンを示す図である。
【図９】図８の機能診断プログラムの各パターンに対して従来法と本提案法とで第２のジョブを実行したときの第１のジョブと第２のジョブとの重複率についてのシミュレーション結果を示す図である。
【図１０】本提案法の効果を調べるためにシミュレーションを行った別の３個の確率分布のパターンを示す図である。
【図１１】図８の機能診断プログラムの各パターンに対して従来法と本提案法とで第２のジョブを実行したときの第１のジョブと第２のジョブとの重複率についてのシミュレーション結果を示す図である。
【符号の説明】
１０    動的診断機能付きジョブ実行装置（ジョブ実行制御装置）
１３    ジョブ実行手段
１４    第１のジョブ
１５    第２のジョブ
１８    確率分布作成手段
１９    実行時期調整手段
２４    経過時間測定手段
２５    生起データ収集手段
２６    更新手段
２７    配列手段
２８    確率分布算出手段
【図１】
0003857530.tif 000002
【図２】
0003857530.tif 000003
【図３】
0003857530.tif 000004
【図４】
0003857530.tif 000005
【図５】
0003857530.tif 000006
【図６】
0003857530.tif 000007
【図７】
0003857530.tif 000008
【図８】
0003857530.tif 000009
【図９】
0003857530.tif 000010
【図１０】
0003857530.tif 000011
【図１１】
0003857530.tif 000012