(57)【特許請求の範囲】
【請求項１】
複数のジョブの各々の過去のデータ処理件数及び実行開始から一定時間毎の複数のハードウェア資源各々の使用率に関する履歴情報を記憶する実行履歴記憶部と、
前記複数のジョブの各々のデータ処理予定件数を記憶する処理予定件数記憶部と、
前記複数のジョブに含まれるジョブと、当該ジョブの開始時に終了している必要のあるジョブを示す先行ジョブとを対応付けて記憶するジョブネット情報記憶部と、
前記複数のジョブの各々について、前記実行履歴記憶部に記憶された当該ジョブのデータ処理件数に対する、前記処理予定件数記憶部に記憶された当該ジョブのデータ処理予定件数の割合に基づき、前記実行履歴記憶部に記憶された当該ジョブの前記一定時間毎の複数のハードウェア資源各々の使用率の値を求め、該一定時間毎の前記複数のハードウェア資源各々の使用率の値を予想値記憶部に記憶する使用率予想部と、
前記ハードウェア資源毎の使用率の上限値を記憶する閾値記憶部と、
前記予想値記憶部に記憶された前記複数のジョブの各々についての前記一定時間毎の前記複数のハードウェア資源各々の使用率の値を基に、前記ジョブネット情報記憶部を参照して、前記先行ジョブが対応付けて記憶されているジョブについては当該ジョブの前記先行ジョブの終了時刻以降、前記先行ジョブが対応付けて記憶されていないジョブについては、所定の初期時刻以降であって、且つ、前記一定時間毎の前記複数のジョブの複数のハードウェア資源各々の使用率の値の合計値が前記閾値記憶部に記憶された前記ハードウェア資源毎の使用率の上限値以下となる各ジョブの開始時刻を求め、該各ジョブの開始時刻を更新するジョブネット組替部と
を備えることを特徴とするジョブネット組替装置。
【請求項２】
前記ジョブネット情報記憶部には、前記各ジョブの実行順序を更に対応付けて記憶し、
前記ジョブネット組替部は、
前記複数のジョブの前記一定時間毎の複数ハードウェア資源各々の使用率の値の合計値を示す組替ジョブネットの前記合計値の初期値として、前記実行順序の先頭ジョブについて前記使用率予想部により求めた前記一定時間毎の前記複数のハードウェア資源各々の使用率の値を設定し、
前記先頭ジョブ以降の全てのジョブについて、前記実行順序に、前記ジョブネット情報記憶部を参照して、前記先行ジョブが対応付けて記憶されているジョブについては該先行ジョブの終了時刻、前記先行ジョブが対応付けて記憶されていないジョブについては前記組替ジョブネットの開始時刻を前記組替ジョブネットへの加算開始時刻に設定し、前記使用率予想部に記憶された前記一定時間毎の前記複数のハードウェア資源各々の使用率の値を前記組替ジョブネットの前記一定時間毎の複数ハードウェア資源各々の使用率の値の合計値に加算した合計値を求める合計処理と、前記求めた合計値が前記閾値記憶部に記憶された、対応するハードウェア資源の使用率の上限値を超える場合には、前記加算開始時刻に所定時間を加算した時刻を該ジョブの加算開始時刻に設定する再設定処理と、を前記組替ジョブネットと当該実行順序のジョブとの全ての前記合計値が前記上限値以下となるまで繰り返し、前記合計値が前記上限値以下となった場合に前記組替ジョブネットの前記一定時間毎の複数ハードウェア資源各々の使用率の値の合計値を更新する処理を繰り返すことで、前記各ジョブの開始時刻を求める
ことを特徴とする請求項１記載のジョブネット組替装置。
【請求項３】
コンピュータに、
ジョブ毎に過去のデータ処理件数及び実行開始から一定時間毎の複数のハードウェア資源各々の使用率に関する履歴情報が記憶された実行履歴記憶部と、ジョブ毎にデータ処理予定件数が記憶された処理予定件数記憶部を参照して、ジョブ毎に、前記実行履歴記憶部に記憶された当該ジョブのデータ処理件数に対する、前記処理予定件数記憶部に記憶された当該ジョブのデータ処理予定件数の割合を求め、
前記割合に基づき、前記実行履歴記憶部に記憶された前記ジョブ毎の前記一定時間毎の複数のハードウェア資源各々の使用率の値を求め、
前記ジョブの各々についての前記一定時間毎の前記複数のハードウェア資源各々の使用率の値を基に、前記複数のジョブに含まれるジョブと当該ジョブの開始時に終了している必要のあるジョブを示す先行ジョブとが対応付けて記憶されたジョブネット情報記憶部と前記ハードウェア資源毎の使用率の上限値が記憶された閾値記憶部を参照して、前記ジョブネット情報記憶部に先行ジョブが対応付けて記憶されているジョブについては当該ジョブの前記先行ジョブの終了時刻以降、前記ジョブネット情報記憶部に先行ジョブが対応付けて記憶されていないジョブについては所定の初期時刻以降であって、且つ、前記一定時間毎の前記複数のジョブの複数のハードウェア資源各々の使用率の値の合計値が、前記閾値記憶部に記憶されたハードウェア資源毎の使用率の上限値以下となる各ジョブの開始時刻を求め、
前記求めた各ジョブの開始時刻を更新する
処理を実行させることを特徴とするジョブネット組替プログラム。
【請求項４】
コンピュータが、
ジョブ毎に過去のデータ処理件数及び実行開始から一定時間毎の複数のハードウェア資源各々の使用率に関する履歴情報が記憶された実行履歴記憶部と、ジョブ毎にデータ処理予定件数が記憶された処理予定件数記憶部を参照して、ジョブ毎に、前記実行履歴記憶部に記憶された当該ジョブのデータ処理件数に対する、前記処理予定件数記憶部に記憶された当該ジョブのデータ処理予定件数の割合を求め、
前記割合に基づき、前記実行履歴記憶部に記憶された前記ジョブ毎の前記一定時間毎の複数のハードウェア資源各々の使用率の値を求め、
前記ジョブの各々についての前記一定時間毎の前記複数のハードウェア資源各々の使用率の値を基に、前記複数のジョブに含まれるジョブと当該ジョブの開始時に終了している必要のあるジョブを示す先行ジョブとが対応付けて記憶されたジョブネット情報記憶部と前記ハードウェア資源毎の使用率の上限値が記憶された閾値記憶部を参照して、前記ジョブネット情報記憶部に先行ジョブが対応付けて記憶されているジョブについては当該ジョブの前記先行ジョブの終了時刻以降、前記ジョブネット情報記憶部に先行ジョブが対応付けて記憶されていないジョブについては所定の初期時刻以降であって、且つ、前記一定時間毎の前記複数のジョブの複数のハードウェア資源各々の使用率の値の合計値が、前記閾値記憶部に記憶されたハードウェア資源毎の使用率の上限値以下となる各ジョブの開始時刻を求め、
前記求めた各ジョブの開始時刻を更新する
ことを特徴とするジョブネット組替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブネット組替プログラム、ジョブネット組替プログラム及びジョブネット組替方法に関する。
【背景技術】
【０００２】
コンピュータシステムに実行させたい複数のジョブの実行順序をジョブネットとして作成・登録し、ジョブネットに登録された順序にしたがって、コンピュータシステムにジョブを順次実行させることが行なわれている。
【０００３】
このジョブネットは、運用管理者により、データの入出力順や負荷を考慮して試行錯誤しながら作成されている。なお、以降では、ジョブネットを作成することを、ジョブネットを組むと表現することがある。
【０００４】
Ｉ／Ｏ装置が少ない小規模コンピュータシステムの場合、Ｉ／Ｏ競合やＩ／Ｏ待ちを避けるため、処理的には並列実行可能なジョブであったとしても、念のため、直列にジョブを実行するようジョブネットが作成されているという実情がある。
【０００５】
直列にジョブを実行させると、Ｉ／Ｏ競合やＩ／Ｏ待ちを避けられる反面、コンピュータシステムのハードウェア資源は相当の余裕がある状態となる状況が多くなり、有効利用できていない場合がある。
【０００６】
そのため、運用管理者の試行錯誤に依らず、ジョブネットを、コンピュータシステムのハードウェア資源を有効利用できるものに変更する技術が要望されている。なお、以降では、ジョブネットを変更することを、ジョブネットを組み替えると表現することがある。
【０００７】
ジョブネットを利用したジョブの実行制御に関する従来技術として、ジョブネット内の特定ジョブの終了予定時刻を早めるため、コンピュータシステムにより、特定ジョブの開始時刻に影響を及ぼすジョブネット内の先行ジョブの処理実行優先度を高めたり、ジョブ毎のデータ処理件数と処理時間の過去の実績値と今回のデータ処理件数からジョブの推定処理時間を算出して終了予定時刻を推定したりする技術が開示されている（例えば、特許文献１）。
【０００８】
また、資源を有効利用するため、コンピュータシステムのＣＰＵの負荷状況を計測し、予め設定された、ＣＰＵ負荷状況別のジョブ入力キュー多重度設定情報に基づき、ジョブ入力キューの多重度を現在のコンピュータシステムのＣＰＵ状況負荷に対応する多重度に変更する技術も開示されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−２９５７３１号公報
【特許文献２】特開平５−１７３８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、上述した従来技術は、並行して実行されるジョブ間でハードウェア資源の競合が起こる可能性を考慮するものではないため、例えば、ＣＰＵが空いていても、Ｉ／Ｏ競合によるＩ／Ｏ待ちが発生する事態を妨げ得ず、ハードウェア資源の有効利用という課題を解決し得るものではない。
【００１１】
例えば、上記特許文献１の技術は、ジョブネット内の特定ジョブの終了予定時刻を早めるためのものであり、ジョブネットを、コンピュータシステム資源を有効利用可能なものに組み替えるというものではない。また、特定ジョブにつながるジョブと、その他のジョブとの間でハードウェア資源の競合が起こると、この優先度が低い他のジョブへのハードウェア資源の割り当て優先度は低くなる。そのため、Ｉ／Ｏ競合が発生すると、仮にＣＰＵに空きがあってもＩ／Ｏ待ちのためＣＰＵを割り当てることができず、結果としてハードウェア資源を有効利用できず、全体的なジョブネットの処理が遅延してしまう恐れが否めないものであった。
【００１２】
また、上記特許文献２の技術は、ＣＰＵ負荷状況に基づき多重度を調整することを開示するのみで、上述のように多重実行するジョブ間のＩ／Ｏ競合発生の可能性は考慮されていない。そのため、多重実行するジョブ間でＩ／Ｏ競合が発生すると、ハードウェア資源を有効利用できないという問題を解決するものではない。また、ジョブネットの中には、決められた順序で実行する必要がある、つまり、多重化してはならないジョブも含まれるため、この技術を使い、ジョブネット内の全ジョブを対象としてＣＰＵ負荷に応じた多重度になるよう調整してしまうと、順番どおりに実行されないことで、ないデータへのアクセスが発生したり、データが破壊されたりする恐れが否めないものであった。
【００１３】
開示の技術は、上記に鑑みてなされたものであって、ジョブネットを、ジョブの実行順序の要請を守りつつ、コンピュータシステムのハードウェア資源を有効利用可能なものに組み替えることができるジョブネット組替装置、ジョブネット組替プログラム及びジョブネット組替方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示するジョブネット組替装置は、複数のジョブの各々の過去のデータ処理件数及び実行開始から一定時間毎の複数のハードウェア資源各々の使用率に関する履歴情報を記憶する実行履歴記憶部と、前記複数のジョブの各々のデータ処理予定件数を記憶する処理予定件数記憶部と、前記複数のジョブに含まれるジョブと、当該ジョブの開始時に終了している必要のあるジョブを示す先行ジョブとを対応付けて記憶するジョブネット情報記憶部と、前記複数のジョブの各々について、前記実行履歴記憶部に記憶された当該ジョブのデータ処理件数に対する、前記処理予定件数記憶部に記憶された当該ジョブのデータ処理予定件数の割合に基づき、前記実行履歴記憶部に記憶された当該ジョブの前記一定時間毎の複数のハードウェア資源各々の使用率の変化値を求め、該一定時間毎の前記複数のハードウェア資源各々の使用率の変化値を予想値記憶部に記憶する使用率予想部と、前記ハードウェア資源毎の使用率の上限値を記憶する閾値記憶部と、前記予想値記憶部に記憶された前記複数のジョブの各々についての前記一定時間毎の前記複数のハードウェア資源各々の使用率の変化値を基に、前記ジョブネット情報記憶部を参照して、前記先行ジョブが対応付けて記憶されているジョブについては当該ジョブの前記先行ジョブの終了時刻以降、前記先行ジョブが対応付けて記憶されていないジョブについては、所定の初期時刻以降であって、且つ、前記一定時間毎の前記複数のジョブの複数のハードウェア資源各々の使用率の変化値の合計値が前記前記閾値記憶部に記憶された前記ハードウェア資源毎の使用率の上限値以下となる各ジョブの開始時刻を求め、該各ジョブの開始時刻を出力するジョブネット組替部とを備えることを特徴とする。
【発明の効果】
【００１５】
本願の開示するジョブネット組替装置によれば、ジョブネットを、ジョブの実行順序の要請を守りつつ、コンピュータシステムのハードウェア資源を有効利用可能なものに組み替えることができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】ジョブネット組替装置の機能構成の一例を示す図である。
【図２】ジョブネット情報の一例を示す図である。
【図３】ジョブのデータ処理件数の履歴情報の一例を示す図である。
【図４】ジョブのハードウェア資源毎の使用率の履歴情報の一例を示す図である。
【図５】ジョブの実行予定件数の一例を示す図である。
【図６】ジョブの使用率予想情報の一例を示す図である。
【図７】コンピュータシステム資源の使用率閾値の一例を示す図である。
【図８】ジョブネット組替処理の一例を示すフローチャート（その１）である。
【図９】ジョブネット組替処理の一例を示すフローチャート（その２）である。
【図１０】ジョブ使用率予想処理の一例を示すフローチャートである。
【図１１】ジョブネット組替情報の一例を示す図である。
【図１２】ジョブネット組替装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１７】
図１は、本実施の形態のジョブネット組替装置の機能構成の一例を示すブロック図である。
【００１８】
本実施の形態のジョブネット組替装置１０は、使用率予想部１１、ジョブネット組替部１２、ジョブネット情報記憶部１３、ジョブ実行履歴記憶部１４、予定件数記憶部１５、予想使用率記憶部１６、システム閾値記憶部１７、組替ジョブネット記憶部１８を備える。
【００１９】
使用率予想部１１は、ジョブ実行履歴記憶部１４、予定件数記憶部１５に記憶された情報を基に、ジョブ負荷予想情報を生成し予想使用率記憶部１６に記憶する。
【００２０】
ジョブネット組替部１２は、ジョブネット情報記憶部１３、コンピュータシステム閾値記憶部１７、及び使用率予想部１１により生成され予想使用率記憶部１６に記憶された情報を基に、組替ジョブネットを生成し、組替ジョブネット記憶部１８に記憶する。
【００２１】
図２は、本実施の形態のジョブネット情報記憶部１３に記憶される、ジョブネット情報の一例を示す図である。ジョブネット情報記憶部１３には、ジョブネット情報として、例えば、現在のジョブネットでの実行順序、ジョブ、及び、このジョブの実行開始前に終了している必要がある他のジョブである先行ジョブがあれば、この先行ジョブのジョブ名が対応付けて記憶される。
【００２２】
図３は、本実施の形態のジョブ実行履歴記憶部１４に記憶される、ジョブのデータ処理件数の履歴情報の一例を示す図である。ジョブ実行履歴記憶部１４には、ジョブのデータ処理件数の履歴情報として、例えば、ジョブ名、及び、データの処理件数が対応付けて記憶される。
【００２３】
図４は、本実施の形態のジョブ実行履歴記憶部１４に記憶される、ジョブのハードウェア資源毎の使用率の履歴情報の一例を示す図である。ジョブ実行履歴記憶部１４には、ジョブのハードウェア資源毎の使用率の履歴情報として、例えば、ジョブ名、サンプリング日時に対応付けて、コンピュータシステムのハードウェア資源毎の使用率が記憶される。サンプリング日時は、例えば、このジョブ名のジョブの開始後、予め決められた一定の周期毎にハードウェア資源毎の使用率がこのコンピュータシステムでサンプリングされたサンプリング日時である。図４の例では、ジョブ名がＨＤＡＹ００１のジョブに、５秒周期で、ＣＰＵ、チャネル１（ＣＨ１）、チャネル２（ＣＨ２）、補助記憶装置Ａ（Ｄ−Ａ）、補助記憶装置Ｂ（Ｄ−Ｂ）などのハードウェア資源が割り当てられた割合を表している。
【００２４】
図５は、本実施の形態のジョブの予定件数記憶部１５に記憶される、ジョブの実行件数情報の一例を示す図である。予定件数記憶部１５には、ジョブの実行件数情報として、例えば、ジョブ名、及び、データの処理予定件数が対応付けて記憶される。
【００２５】
図６は、本実施の形態の予想使用率記憶部１６に記憶される、ジョブの予想使用率情報の一例を示す図である。ジョブの予想使用率記憶部１６には、ジョブの予想使用率情報として、例えば、ジョブ名、ジョブの実行開始を０とする実行経過時間、ハードウェア資源毎の予想使用率が対応付けて記憶される。図６（Ａ）の例では、ジョブ名がＨＤＡＹ００１のジョブに、実行開始から７秒経過する毎に、ＣＰＵ、チャネル１（ＣＨ１）、チャネル２（ＣＨ２）、補助記憶装置Ａ（Ｄ−Ａ）、補助記憶装置Ｂ（Ｄ−Ｂ）などのハードウェア資源が割り当てられると予想される割合を表している。また、図６（Ｂ）の例では、この図６（Ａ）で示す、ジョブ名がＨＤＡＹ００１のジョブに、実行開始から５秒経過する毎に、ＣＰＵ、チャネル１（ＣＨ１）、チャネル２（ＣＨ２）、補助記憶装置Ａ（Ｄ−Ａ）、補助記憶装置Ｂ（Ｄ−Ｂ）などのハードウェア資源が割り当てられると予想される割合を表している。
【００２６】
図７は、本実施の形態のシステム閾値記憶部１７に記憶される、ジョブネットのジョブによるコンピュータシステムのハードウェア資源種別毎の使用率の閾値の一例を示す図である。システム閾値記憶部１７には、例えば、ＣＰＵ、チャネル、補助記憶装置などのハードウェア資源の種別毎に使用率の閾値が対応付けて記憶される。図４のＣＰＵは図７のＣＰＵ、図４のチャネル１（ＣＨ１）及びチャネル２（ＣＨ２）は図７のチャネル、図４の補助記憶装置Ａ（Ｄ−Ａ）及び補助記憶装置Ｂ（Ｄ−Ｂ）は図７の補助記憶装置が、各ハードウェア資源の種類として対応する。
【００２７】
図８および図９は、本実施の形態のジョブネット組替装置１０による、ジョブネット組替処理の一例を示すフローチャートである。
【００２８】
図８のＳ１００で、使用率予想部１１は、処理対象のジョブネットの各ジョブのハードウェア資源の使用率予想処理を実行する。このＳ１００の使用率予測処理の詳細を、図１０を用いて説明する。
【００２９】
図１０は、本実施の形態のジョブネット組替装置１０による、使用率予想処理の一例を示すフローチャートである。
【００３０】
図１０のＳ２０１で、使用率予想部１１は、初期値を０とするカウンタｊを１インクリメントする。
【００３１】
Ｓ２０２で、使用率予想部１１は、ジョブネット情報記憶部１３から、実行順序がカウンタｊ番目のレコードを選択する。
【００３２】
Ｓ２０３で、使用率予想部１１は、ジョブネット情報記憶部１３から、実行順序がカウンタｊ番目のレコードを選択できたか否かを判定する。使用率予想部１１は、ジョブネット情報記憶部１３から、実行順序がカウンタｊ番目のレコードを選択できなかったと判定した場合には（Ｓ２０３  Ｎｏ）、使用率予想処理を終了する。一方、使用率予想部１１は、ジョブネット情報記憶部１３から、実行順序がカウンタｊ番目のレコードを選択できたと判定した場合には（Ｓ２０３  Ｙｅｓ）、Ｓ２０４に進む。
【００３３】
Ｓ２０４で、使用率予想部１１は、Ｓ２０２で選択したレコードに含まれるジョブ名に対応付けてジョブ実行履歴記憶部１４に記憶された、データ処理件数の履歴情報と、ハードウェア資源毎の使用率の履歴情報を抽出する。例えば、Ｓ２０２で、図２に示す実行順序が１のレコードを取得した場合、このレコードに含まれるＨＤＡＹ００１というジョブ名に対応付けて図３に示すジョブ実行履歴記憶部１４に記憶された処理件数「５０００」、及び、図４に示すジョブ実行履歴記憶部１４に記憶された、サンプリング日時と、ＣＰＵ、チャネル１（ＣＨ１）、チャネル２（ＣＨ２）、補助記憶装置Ａ（Ｄ−Ａ）、補助記憶装置Ｂ（Ｄ−Ｂ）などのハードウェア資源毎の使用率を抽出する。
【００３４】
Ｓ２０５で、使用率予想部１１は、予定件数記憶部１５から、処理対象のジョブ名に対応付けて記憶された処理予定件数を取得し、Ｓ２０４で抽出したデータ処理件数で割って、履歴のデータ処理件数に対する処理予定件数の割合を求める。例えば、図５に示すジョブ名ＨＤＡＹ００１の処理予定件数「７０００」を取得し、Ｓ２０４で抽出した「５０００」で割り、１．４を求める。
【００３５】
Ｓ２０６で、使用率予想部１１は、Ｓ２０４で抽出したハードウェア資源毎の使用率の履歴情報のレコードのサンプリング日時の間隔（以降ではサンプリング間隔ということがある）に、Ｓ２０２で求めた割合を掛けた時間を予想経過時間間隔として求め、各レコードのサンプリング日時を、この予想時間間隔での経過時間に変更する。また、使用率予想部１１は、Ｓ２０４で抽出したハードウェア資源毎の使用率の履歴情報のレコードの使用率に、Ｓ２０２で求めた割合を掛けた予想使用率を求め、各レコードの使用率を、この予想使用率に変更する。これは、件数の変化に応じ、この処理件数の処理に係る資源の使用時間及び使用率も増加すると考えられるためである。
【００３６】
図６（Ａ）は、図４に示すジョブ名ＨＤＡＹ００１のサンプリング間隔に１．４を掛けた場合の例を示す。図４では、ジョブ名がＨＤＡＹ００１のレコードのサンプリング間隔は５秒であったが、１．４を掛けて、最も古いサンプリング日時のレコードは７秒、次に古いサンプリング日時のレコードは１４秒、次の次に古いサンプリング日時のレコードは２１秒、・・・と７秒間隔の経過時間を示すものに変更する。
【００３７】
このように処理実績件数に対する処理予定件数の割合を元の間隔に掛けることにより、データ処理件数の増減に応じ、ジョブ開始からの経過時間および経過時間毎の各ハードウェア資源の使用率を増加させた予想経過時間及び予想経過時間毎の各ハードウェア資源の予想使用率を得ることができる。そのため、データ処理件数の増減に応じ、単にジョブの総処理時間の変化を予想するだけでなく、各ハードウェア資源について、ジョブの開始からの一定の経過時間毎の使用率の変化も予想することが可能となる。
【００３８】
Ｓ２０７で、使用率予想部１１は、Ｓ２０３で割合を掛けた時間間隔毎の使用率を基に、元のサンプリング間隔での経過時間毎の各ハードウェア資源の使用率を求める。図６（Ａ）を用いて、各ハードウェア資源の使用率を求める場合の例を説明する。
【００３９】
使用率予想部１１は、ジョブ開始後、最初のサンプリング間隔の経過時間である０〜５秒の間のＣＰＵの予想使用率として元の５秒の時点のＣＰＵの使用率１．００％を求める。同様に、使用率予想部１１は、０〜５秒の間のチャネル１（ＣＨ１）の予想使用率として元の５秒の時点のチャネル１（ＣＨ１）の使用率１．００％を取得する。また、使用率予測部１１は、０〜５秒の間の補助記憶装置Ａ（Ｄ−Ａ）の予想使用率として元の５秒の時点の補助記憶装置Ａ（Ｄ−Ａ）の予想使用率２．５０％を取得する。
【００４０】
また、次のサンプリング間隔の経過時間である６〜１０秒の間のＣＰＵの予想使用率を求める場合には、使用率予想部１１は、まず、６秒から７秒の間のＣＰＵの予想使用率として、７秒の時点のＣＰＵの予想使用率１．４０％から０〜５秒の間の予想使用率１．００％を減じた０．４０％を求める。次に、１４秒の時点のＣＰＵの使用率４．２０％をＳ２０３で割合を掛けた時間間隔７秒で割って３を掛けることによって８秒から１０秒の間のＣＰＵの予想使用率１．８０％を求める。そして６秒から１０秒の間のＣＰＵの予想使用率として、この０．４０％と１．８０％の合計値である２．２０％を求める。
【００４１】
同様に、使用率予想部１１は、７秒の時点のチャネル１（ＣＨ１）の予想使用率１．４０％から５秒の時点のチャネル１（ＣＨ１）の予想使用率１．００％を減じた０．４０％を求める。次に、１４秒の時点のチャネル１（ＣＨ１）の使用率４．２０％をＳ２０３で割合を掛けた時間間隔７秒で割って３を掛けることによって８秒から１０秒の間のチャネル１（ＣＨ１）の予想使用率１．２０％を求める。そして６秒から１０秒の間のチャネル１（ＣＨ１）の予想使用率として、この０．４０％と１．２０％の合計値である１．６０％を求める。
【００４２】
また、使用率予想部１１は、７秒の時点の補助記憶装置Ａ（Ｄ−Ａ）の予想使用率２．５０％から５秒の時点の補助記憶装置Ａ（Ｄ−Ａ）の予想使用率３．５０％を減じた１．００％を求める。次に、１４秒の時点の補助記憶装置Ａ（Ｄ−Ａ）の使用率７．００％をＳ２０３で割合を掛けた時間間隔７秒で割って３を掛けることによって８秒から１０秒の間の補助記憶装置Ａ（Ｄ−Ａ）の予想使用率３．００％を求める。そして６秒から１０秒の間の補助記憶装置Ａ（Ｄ−Ａ）の予想使用率として、この１．００％と３．００％の合計値である４．００％を求める。
【００４３】
この説明では、チャネル２（ＣＨ２）、補助記憶装置Ｂ（Ｄ−Ｂ）については０．００％であるため説明を省略するが、もし値がある場合には同様の計算を行って予測使用率を求める。
【００４４】
このように、元のサンプリング間隔毎の予想使用率を求めることにより、各ジョブで処理実績件数に対する処理予定件数の割合が違う場合でも、同じ間隔に揃えることができ、複数のジョブを並列実行する場合のハードウェア資源使用率の計算を簡単に実行することができる。
【００４５】
なお、使用率予想部１１は、このように計算した各ハードウェア資源の予想使用率が、図７に示す各ハードウェア資源の種別に対応する使用率の閾値を超えた場合、この閾値を超えた分の予想使用率を次のサンプリング間隔にずらす、つまり、次のサンプリング間隔の予想使用率に加算する処理を併せて行っても良い。この処理により、ジョブを実行するコンピュータシステムにおいてジョブの実行を管理・制御するプログラムによる各ジョブへのハードウェア資源の割り当て制御の実態に合った経過予想時間及び各経過予想時間における予想使用率を求めることが可能となる。また、この計算方法は一例であって、加減・乗除の順番、四捨五入する桁数などは、処理件数の変化に対応して実行開始からサンプリング間隔毎のハードウェア資源の使用率の変化を計算するという趣旨を逸脱しない範囲で適宜変更が可能である。
【００４６】
図１０の説明に戻り、Ｓ２０８で、使用率予想部１１は、ジョブ名、Ｓ２０７で求めた元のサンプリング日時間隔毎の経過時間に対応付けて、各ハードウェア資源の予想使用率を予想使用率記憶部１６に記憶し、図１０のＳ２０１に進む。
【００４７】
図６（Ｂ）は、このようにして、図６（Ａ）に示すジョブ名ＨＤＡＹ００１について、開始から図４に示す元のサンプリング間隔の経過時間の経過時点毎の、各ハードウェア資源の使用率の情報を示す。図4に示すサンプリング間隔は５秒であったため、図６（Ｂ）に示す経過時間は、先頭のレコードから、５秒、１０秒、１５秒…と５秒刻みの昇順の時系列順になっている。
【００４８】
Ｓ２０８で、処理対象のジョブネットの最後のジョブのハードウェア資源の使用率の予想処理が終了すると、Ｓ２０１では、カウンタｊに最後のジョブの実行順序＋１の値が設定される。そして、Ｓ２０２では、最後のジョブの実行順序＋１のレコードは選択できず、Ｓ２０３でＮｏと判定されて使用率予想処理は終了に遷移し、図８のＳ１０１に進む。
【００４９】
なお、ジョブネット情報記憶部１３に、処理予定件数と同じデータ処理件数の履歴情報と、ハードウェア資源毎の使用率の履歴情報がある場合には、割合が１になるため、この予想処理を実行することなく、履歴情報をそのまま利用してもよい。また、ジョブネット情報記憶部１３に、同じジョブについての複数のデータ処理件数の履歴情報と、ハードウェア資源毎の使用率の履歴情報がある場合には、処理予定件数と最も近いデータ処理件数のハードウェア資源毎の使用率の履歴情報を用いるようにしても良い。また、複数のデータ処理件数と、ハードウェア資源毎の使用率の履歴情報との関係を分析することによって、件数の変化と使用率の変化とが単純な比例以外の関係にあることが判った場合には、その関係にあった変化となるよう割合を補正して使用率予測処理を行うようにしても良い。例えば、件数が違っても、開始からある特定の使用率になるまでにかかる時間は同じであった、データ処理件数が２倍のときに、ある特定の使用率の継続時間が１．５倍となっていた、といったことが判った場合など、特定の使用率毎に、件数差から求めた割合を適宜異なる値に補正して用いるようにしても良い。
【００５０】
図８のＳ１０１では、ジョブネット組替部１２は、ジョブネット情報記憶部１３から、実行順序が１番目のレコードを選択し、予想使用率記憶部１６から、このレコードに含まれるジョブ名の予想使用率を組替ジョブネット予想使用率として組替ジョブネット記憶部１８に記憶する。また、ジョブネット組替部１２は、１番目のジョブのジョブ名、このジョブの開始時刻として０と、このジョブの最終時刻として予想使用率の最後の経過時間とを対応付けて組替ジョブネット情報として組替ジョブネット記憶部１８に記憶する。
【００５１】
Ｓ１０３で、ジョブネット組替部１２は、初期値を１とするカウンタｉを１インクリメントする。
【００５２】
Ｓ１０４で、ジョブネット組替部１２は、ジョブネット情報記憶部１３から、実行順序がｉ番目のレコードを選択し、予想使用率記憶部１６から、このレコードに含まれるジョブ名の予想使用率を取得する。
【００５３】
Ｓ１０５で、ジョブネット組替部１２は、ジョブネット情報記憶部１３から、実行順序がカウンタｉ番目のレコードを選択できたか否かを判定する。ジョブネット組替部１２は、ジョブネット情報記憶部１３から、実行順序がカウンタｉ番目のレコードを選択できたと判定した場合には（Ｓ１０５  Ｙｅｓ）、Ｓ１０６に進む。一方、ジョブネット組替部１２は、ジョブネット情報記憶部１３から、実行順序がカウンタｉ番目のレコードを選択できなかったと判定した場合には（Ｓ１０５  Ｎｏ）、Ｓ１２１に進む。
【００５４】
Ｓ１０６で、ジョブネット組替部１２は、Ｓ１０４で選択したレコードに先行ジョブ名が含まれるか否かを判定する。Ｓ１０６で、ジョブネット組替部１２は、Ｓ１０４で選択したレコードに先行ジョブ名が含まれないと判定した場合には（Ｓ１０６  Ｎｏ）Ｓ１０７に進む。
【００５５】
Ｓ１０７では、ジョブネット組替部１２は、組替ジョブネット予想使用率の開始とｉ番目のジョブの開始の時間差ｔ１に０を設定し、Ｓ１１０に進む。
【００５６】
Ｓ１０６で、ジョブネット組替部１２は、Ｓ１０４で選択したレコードに先行ジョブ名が含まれると判定した場合には（Ｓ１０６  Ｙｅｓ）Ｓ１０８に進む。
【００５７】
Ｓ１０８では、ジョブネット組替部１２は、組替ジョブネット記憶部１８から、組替ジョブネット予想使用率の最終時刻と、Ｓ１０４で選択したレコードに含まれる先行ジョブ名と対応付けて記憶された、先行ジョブの最終時刻とを取得し、これら２つの最終時刻が同じ時刻であるか否かを判定する。ジョブネット組替部１２は、これら２つの最終時刻が同じ時刻であると判定した場合には（Ｓ１０８  Ｙｅｓ）、Ｓ１２０に進む。一方、ジョブネット組替部１２は、これら２つの最終時刻が同じ時刻ではないと判定した場合には（Ｓ１０８  Ｎｏ）、Ｓ１０９に進む。
【００５８】
Ｓ１０９で、ジョブネット組替部１２は、組替ジョブネット予想使用率の開始とｉ番目のジョブの開始の時間差ｔ１に、Ｓ１０４で選択したレコードに含まれる先行ジョブ名と対応付けて組替ジョブネット記憶部１８に記憶された、先行ジョブの最終時刻を設定し、Ｓ１１０に進む。
【００５９】
このように、ｉ番目のジョブの開始時刻ｔ１に先行ジョブの最終時刻を設定することで、ｉ番目のジョブの先行ジョブの終了後、ｉ番目のジョブの実行を開始した場合のハードウェア資源毎の使用率を予想することが可能となる。
【００６０】
Ｓ１１０で、ジョブネット組替部１２は、組替ジョブネット予想使用率に対するｉ番目のジョブの経過時間ｔ２に０を設定する。
【００６１】
Ｓ１１１で、ジョブネット組替部１２は、図示しないワークエリアを初期化する。
【００６２】
Ｓ１１２で、ジョブネット組替部１２は、開始時間差ｔ１＋経過時間ｔ２の経過時間に対応付けて組替ジョブネット記憶部に記憶された組替ジョブネットのハードウェア資源各々の予想使用率に、ｉ番目のジョブの経過時間ｔ２の経過時間のハードウェア資源各々の予想使用率を加算し、ｔ１＋経過時間ｔ２の組替ジョブネットの開始から開始時間差ｔ１経過した時点でｉ番目のジョブを開始した場合の、ジョブネットの開始からｔ１＋ｔ２の時間が経過した時点のジョブネットのハードウェア資源各々の予想使用率の合計値を得る。
【００６３】
Ｓ１１３で、ジョブネット組替部１２は、Ｓ１１２で得たハードウェア資源各々の予想使用率の合計値は、システム閾値記憶部１７に、対応するハードウェア資源の種別に対応付けて記憶された使用率の閾値より小さいか否かを判定する。図７に示す例では、ＣＰＵの予想使用率の合計値とＣＰＵの使用率の閾値４０％、チャネル１（ＣＨ１）の予想使用率の合計値とチャネルの使用率の閾値６０％、補助記憶装置（ＤＡＳＤ）であれば、ジョブネット組替部１２は、Ｓ１１２で得たハードウェア資源各々の予想使用率の合計値が、システム閾値記憶部１７に、対応するハードウェア資源の種別に対応付けて記憶された使用率の閾値より小さいと判定した場合には（Ｓ１１３  Ｙｅｓ）Ｓ１１４に進む。
【００６４】
Ｓ１１４で、ジョブネット組替部１２は、ワークエリアにｔ１＋経過時間ｔ２、及び、Ｓ１１２で得たハードウェア資源各々の予想使用率の合計値を対応付けて記憶する。
【００６５】
Ｓ１１５で、ジョブネット組替部１２は、経過時間ｔ２をサンプリング間隔分インクリメントする。
【００６６】
Ｓ１１６で、ジョブネット組替部１２は、経過時間ｔ２が、ｉ番目のジョブの予想使用率の、最後の時刻を超えたか否かを判定する。ジョブネット組替部１２は、経過時間ｔ２がｉ番目のジョブの予想使用率の、最後の時刻を超えたと判定した場合には、Ｓ１１７に進み、経過時間ｔ２がｉ番目のジョブの予想使用率の、最後の時刻を超えていないと判定した場合には、Ｓ１１２に進む。なお、Ｓ１１２に進み、ジョブネットのｔ１＋経過時間ｔ２の時刻の予想使用率がなかった場合には、Ｓ１１２では、ジョブネット組み換え部１２は、ｉ番目のジョブの経過時間ｔ２の時刻のハードウェア資源各々の予想使用率だけを、ｔ１＋経過時間ｔ２に対応付けてワークエリアに記憶することになる。
【００６７】
Ｓ１１７で、ジョブネット組替部１２は、組替ジョブネット記憶部１８に、ｔ１＋経過時間ｔ２の時刻に対応付けて記憶した組替ジョブネット予想使用率を、ｔ１＋経過時間ｔ２の時刻と対応付けてワークエリアに記憶したハードウェア資源各々の合計値で更新する。また、組替ジョブネット記憶部１８に、ｔ１＋経過時間ｔ２の時刻に対応付けて組替ジョブネット予想使用率が記憶されていない場合には、新たに追加して記憶する。また、ジョブネット組替部１２は、組替ジョブネット記憶部１８に、ｉ番目のジョブ名と、先行ジョブ名がある場合には先行ジョブ名と、ジョブネットにおけるｉ番目のジョブの開始時刻としてｔ１と、最終時刻としてｉ番目のジョブの最終時刻＋ｔ１と、を対応付けて記憶する。そして、Ｓ１１３に進む。
【００６８】
上述のＳ１１３で、ジョブネット組替部１２が、Ｓ１１２で得たハードウェア資源各々の予想使用率の合計値が、システム閾値記憶部１７に、対応するハードウェア資源の種別に対応付けて記憶された使用率の閾値以上であると判定した場合には（Ｓ１１３  Ｎｏ）、Ｓ１１８に進む。
【００６９】
Ｓ１１８で、ジョブネット組替部１２は、ｉ番目のジョブの開始時刻ｔ１に時刻間隔ｔを加算した時刻を設定する。
【００７０】
Ｓ１１９で、ジョブネット組替部１２は、ｉ番目のジョブの開始時刻ｔ１が組替ジョブネット記憶部１８に記憶された組替ジョブネット予想使用率の最終時刻と同じ時刻であるか否かを判定する。ジョブネット組替部１２は、これら２つの時刻が同じ時刻であると判定した場合には（Ｓ１０９  Ｙｅｓ）、Ｓ１２０に進み、これら２つの時刻が同じ時刻ではないと判定した場合には（Ｓ１０９  Ｎｏ）、Ｓ１１０に進む。
【００７１】
Ｓ１２０で、ジョブネット組替部１２は、組替ジョブネット予想使用率の最終時刻を開始時刻として、ｉ番目のジョブの経過時間ｔ２の時刻のハードウェア資源各々の予想使用率を、ｔ１＋経過時間ｔ２に対応付けて組替ジョブネット予想使用率としてジョブネット記憶部１８に記憶する。また、ジョブネット組替部１２は、組替ジョブネット記憶部１８に、ｉ番目のジョブ名と、先行ジョブ名がある場合には先行ジョブ名と、ジョブネットにおけるｉ番目のジョブの開始時刻としてｔ１と、最終時刻としてｉ番目のジョブの最終時刻＋ｔ１と、を対応付けて記憶し、Ｓ１０３に進む。
このように、開始時刻を少しずつずらしながら、ジョブネットの全実行時刻を通してハードウェア資源の使用率が閾値を超えないような、各ジョブの最適な実行開始時刻を予想することが可能となる。
【００７２】
図１１は、本実施の形態の組替ジョブネット記憶部１８に記憶される、組替ジョブネット情報の一例を示す図である。組替ジョブネット記憶部１８には、組替ジョブネット情報として、ジョブ名、先行ジョブ名、開始時刻及び最終時刻が対応付けて記憶される。そして、実際のジョブネットの実行の際には、先行ジョブがないジョブについては、オペレータに指定されたジョブネットの開始時刻に、組替ジョブネット情報に記憶された開始時刻を加算した時刻に開始し、先行ジョブがあるジョブについては、先行ジョブが終了すると開始するようにジョブの投入を制御する。
【００７３】
なお、もし、実際のジョブの終了時刻が予想した終了時刻より速かったり、遅かったりした場合には、適宜、実際のジョブの実行状況を基に、このジョブの後に実行する予定のジョブについて組替ジョブネット記憶部１８に記憶された開始時刻や終了時刻を更新するようにしても良い。また、更に、予想使用率記憶部１６に記憶した予想使用率を利用して、開始時刻や終了時刻を再計算するようにしてもよい。
【００７４】
図１２は、本実施の形態のジョブネット組替装置１０のハードウェア構成の一例を示す図である。ジョブネット組替装置１０は、例えば、ＣＰＵ１０１、記録部１０２、記録媒体読取装置１０３、入出力インタフェース１０４（入出力Ｉ／Ｆ）、通信インタフェース１０５（通信Ｉ／Ｆ）などを備えるコンピュータシステムである。また、上記各構成部はバス１０６によってそれぞれ接続されている。
【００７５】
ＣＰＵ１０１は、記録部１０２に記録されている上記実施の形態で説明したジョブネット組替装置１の各処理を実行する。
【００７６】
記録部１０２は、ＣＰＵ１０１が実行するプログラムやデータが記録され、または、ワークエリアとして使用される、例えば、半導体メモリや磁気記憶装置などである。
【００７７】
記録媒体読取装置１０３は、ＣＰＵ１０１の制御に従って記録媒体１０７に対するデータのリード／ライトを制御する。そして、記録媒体１０７に記録媒体読取装置１０３の制御で書き込まれたデータを記録させたり、記録媒体１０７に記録されたデータを読み取らせたりする。
【００７８】
記録媒体１０７は、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどである。
【００７９】
入出力インタフェース１０４は、入出力装置１０８が接続され、利用者が入力した情報を受信し、バス１０６を介してＣＰＵ１０１に送信する。また、ＣＰＵ１０１からの命令に従って、入出力装置１０８の１つである、ディスプレイの画面上に操作情報などを表示する。
【００８０】
入出力装置１０８は、例えば、キーボード、マウス、ディスプレイ、スピーカー、タッチパネルなどである。
【００８１】
通信インタフェース１０５は、必要に応じ、他のコンピュータシステムとの間のLocal Area Network（ＬＡＮ）接続やインターネット接続や無線接続を行うためのインタフェースである。
【００８２】
このようなハードウェア構成を有するコンピュータシステムを用いることによって、上記説明した各種処理機能が実現される。その場合コンピュータシステムが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータシステムで実行することにより、上記各機能がコンピュータシステム上で実現される。処理内容を記述したプログラムは、コンピュータシステムで読み取り可能な記録媒体１０７に記録しておくことができる。
【００８３】
プログラムを流通させる場合には、例えば、そのプログラムが記録された記録媒体１０７が販売される。また、プログラムをサーバコンピュータシステムの記憶装置に記録しておき、ネットワークを介して、サーバコンピュータシステムから他のコンピュータシステムにそのプログラムを転送することもできる。
【００８４】
プログラムを実行するコンピュータシステムは、例えば、記録媒体１０７に記録されたプログラムもしくはサーバコンピュータシステムから転送されたプログラムを、自己の記録部１０２に記録する。そして、コンピュータシステムは、自己の記録部１０２からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータシステムは、記録媒体１０７から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータシステムは、サーバコンピュータシステムからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００８５】
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。なお、各実施例は処理に矛盾の無い限りにおいて、互いに組み合わせても構わない。
【符号の説明】
【００８６】
１０  ジョブネット組替装置
１１  使用率予想部
１２  ジョブネット組替部
１３  ジョブネット情報記憶部
１４  ジョブ実行履歴記憶部
１５  予定件数記憶部
１６  予想使用率記憶部
１７  システム閾値記憶部
１８  組替ジョブネット記憶部
【図１】
0005614279.tif 000002
【図２】
0005614279.tif 000003
【図３】
0005614279.tif 000004
【図４】
0005614279.tif 000005
【図５】
0005614279.tif 000006
【図６】
0005614279.tif 000007
【図７】
0005614279.tif 000008
【図８】
0005614279.tif 000009
【図９】
0005614279.tif 000010
【図１０】
0005614279.tif 000011
【図１１】
0005614279.tif 000012
【図１２】
0005614279.tif 000013