(57)【要約】【課題】ジョブの異常に関する判定を、状況に応じて適切に実現する。【解決手段】対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、前記ジョブの異常に関する判定を行なう判定プログラムにおいて、ジョブの異常に関する判定を行なう際に監視する監視対象を該ジョブに対応付けて記憶する記憶部２１を参照して、前記対象のジョブに対応付けられた監視対象を特定し、特定した前記監視対象の監視により取得した監視情報に基づき、前記基準時刻又は前記基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更し、前記新たな基準時刻又は前記新たな基準時間に基づき、前記対象のジョブの異常に関する判定を行なう。【選択図】図２
2019139262.tif 000002
【特許請求の範囲】
【請求項１】
対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、前記ジョブの異常に関する判定を行なう判定プログラムにおいて、
ジョブの異常に関する判定を行なう際に監視する監視対象を該ジョブに対応付けて記憶する記憶部を参照して、前記対象のジョブに対応付けられた監視対象を特定し、
特定した前記監視対象の監視により取得した監視情報に基づき、前記基準時刻又は前記基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更し、
前記新たな基準時刻又は前記新たな基準時間に基づき、前記対象のジョブの異常に関する判定を行なう、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【請求項２】
前記監視情報に基づき、前記対象のジョブが、前記基準時刻から前記新たな基準時刻までの間、又は、前記基準時間外であって前記新たな基準時間内、に終了すると判断した場合に、前記基準時刻又は前記基準時間を、それぞれ前記新たな基準時刻又は前記新たな基準時間に変更する、
処理を前記コンピュータに実行させる、請求項１に記載の判定プログラム。
【請求項３】
ジョブの終了の遅延が許容される許容時間を該ジョブに対応付けて記憶する記憶部を参照して、前記監視情報に基づき、前記基準時刻又は前記基準時間に対して、それぞれ前記許容時間を加算することで、前記新たな基準時刻又は前記新たな基準時間に変更する、
処理を前記コンピュータに実行させる、請求項２に記載の判定プログラム。
【請求項４】
前記監視情報に基づき、前記監視対象の障害を検出した場合に、前記基準時刻の到来又は前記基準時間の満了を待たずに、前記対象のジョブを異常と判定する、
処理を前記コンピュータに実行させる、請求項１〜請求項３のいずれか１項に記載の判定プログラム。
【請求項５】
前記監視情報に基づき、前記対象のジョブが、前記新たな基準時刻までに終了しない、又は、前記新たな基準時間内に終了しないと判断した場合に、前記基準時刻の到来又は前記基準時間の満了を待たずに、前記対象のジョブを異常と判定する、
処理を前記コンピュータに実行させる、請求項１〜請求項４のいずれか１項に記載の判定プログラム。
【請求項６】
前記対象のジョブの過去の開始時刻又は実行時間と、前記対象のジョブによる前記監視対象へのデータの転送速度と、に基づいて、前記対象のジョブが終了する予定時刻又は予定時間を算出し、
前記基準時刻と前記予定時刻との比較、又は、前記基準時間と前記予定時間との比較、を行なうことで、前記基準時刻又は前記基準時間の変更のための前記判断を行なう、
処理を前記コンピュータに実行させる、請求項１〜請求項５のいずれか１項に記載の判定プログラム。
【請求項７】
対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、前記ジョブの異常に関する判定を行なう判定方法において、
ジョブの異常に関する判定を行なう際に監視する監視対象を該ジョブに対応付けて記憶する記憶部を参照して、前記対象のジョブに対応付けられた監視対象を特定し、
特定した前記監視対象の監視により取得した監視情報に基づき、前記基準時刻又は前記基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更し、
前記新たな基準時刻又は前記新たな基準時間に基づき、前記対象のジョブの異常に関する判定を行なう、
ことを特徴とする判定方法。
【請求項８】
対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、前記ジョブの異常に関する判定を行なう判定装置であって、
ジョブの異常に関する判定を行なう際に監視する監視対象を該ジョブに対応付けて記憶する記憶部と、
前記記憶部を参照して、前記対象のジョブに対応付けられた監視対象を特定する特定部と、
特定した前記監視対象の監視により取得した監視情報に基づき、前記基準時刻又は前記基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更する変更部と、
前記新たな基準時刻又は前記新たな基準時間に基づき、前記対象のジョブの異常に関する判定を行なう判定部と、
をそなえることを特徴とする判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定プログラム、判定方法、及び判定装置に関する。
【背景技術】
【０００２】
近年、システム構築に伴うサーバやソフトウェアの購入、運用、及びメンテナンス等が不要といったメリットから、クラウド市場が成長している。
【０００３】
システムをオンプレミスからクラウドに移行する場合、オンプレミスのシステムで実行されていたバッチ業務についても、システムと同様にそのまま（バッチ業務内容を維持したまま）クラウドへ移行される傾向にある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３８５１６号公報
【特許文献２】特開２０１３−１６４７１２号公報
【特許文献３】特開２００４−３０２９３７号公報
【特許文献４】特開２０１４−４９０４５号公報
【特許文献５】特開２０１２−１４６０４９号公報
【特許文献６】特開２０１５−５７６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
クラウドでは、複数のシステムが互いに共通のハードウェアリソース及び／又はソフトウェアリソース（以下、単にリソースと表記する場合がある）を共用することがある。なお、複数のシステムは、例えば、互いに異なるユーザが利用するシステムの場合がある。
【０００６】
複数のシステムが互いに共通のリソースを利用する場合、システムがクラウドに移行されることにより、システムでのジョブの運用において、当該システムと同じリソースを利用している他者の利用状況がブラックボックス化されてわからない状況が生じ得る。
【０００７】
このような状況において、システムにおけるジョブの運用では、従来のオンプレミスでは発生しなかった、他者の影響によるトラブルが発生する場合がある。
【０００８】
このため、オンプレミスの環境における手法では、クラウド環境におけるジョブの異常に関する判定を適切に行なうことができない場合がある。
【０００９】
１つの側面では、本発明は、ジョブの異常に関する判定を、状況に応じて適切に実現することを目的とする。
【課題を解決するための手段】
【００１０】
１つの側面では、判定プログラムは、対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、前記ジョブの異常に関する判定を行なう判定プログラムにおいて、以下の処理をコンピュータに実行させてよい。前記処理は、ジョブの異常に関する判定を行なう際に監視する監視対象を該ジョブに対応付けて記憶する記憶部を参照して、前記対象のジョブに対応付けられた監視対象を特定してよい。また、前記処理は、特定した前記監視対象の監視により取得した監視情報に基づき、前記基準時刻又は前記基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更してよい。さらに、前記処理は、前記新たな基準時刻又は前記新たな基準時間に基づき、前記対象のジョブの異常に関する判定を行なってよい。
【発明の効果】
【００１１】
１つの側面では、ジョブの異常に関する判定を、状況に応じて適切に実現することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態の一例としての判定システムの構成例を示すブロック図である。
【図２】一実施形態に係るサーバの機能構成例を示すブロック図である。
【図３】ジョブ定義情報の一例を示す図である。
【図４】実行履歴情報の一例を示す図である。
【図５】ジョブ分類情報の一例を示す図である。
【図６】先行依存型の異常検出の一例（正常の場合）を示す図である。
【図７】先行依存型の異常検出の比較例（先行ジョブ遅延の場合）を示す図である。
【図８】先行依存型の異常検出の一例（先行ジョブ遅延の場合）を示す図である。
【図９】先行依存型の異常検出の比較例（先行ジョブ異常の場合）を示す図である。
【図１０】先行依存型の異常検出の一例（先行ジョブ異常の場合）を示す図である。
【図１１】ＮＷ（Network）異常型の異常検出の一例（正常の場合）を示す図である。
【図１２】ＮＷ異常型の異常検出の比較例（ＮＷ遅延の場合）を示す図である。
【図１３】ＮＷ異常型の異常検出の一例（ＮＷ遅延の場合）を示す図である。
【図１４】ＮＷ異常型の異常検出の比較例（サーバダウンの場合）を示す図である。
【図１５】ＮＷ異常型の異常検出の一例（サーバダウンの場合）を示す図である。
【図１６】一定時間動作型の異常検出の一例（正常の場合）を示す図である。
【図１７】一定時間動作型の異常検出の一例（異常の場合）を示す図である。
【図１８】ディスク異常型の異常検出の一例（正常の場合）を示す図である。
【図１９】ディスク異常型の異常検出の比較例（ディスク遅延の場合）を示す図である。
【図２０】ディスク異常型の異常検出の一例（ディスク遅延の場合）を示す図である。
【図２１】ディスク異常型の異常検出の比較例（ディスク異常の場合）を示す図である。
【図２２】ディスク異常型の異常検出の一例（ディスク異常の場合）を示す図である。
【図２３】データ型の異常検出の一例（正常の場合）を示す図である。
【図２４】データ型の異常検出の一例（異常の場合）を示す図である。
【図２５】一実施形態に係るジョブ分類処理の動作例を示すフローチャートである。
【図２６】一実施形態に係るジョブ実行制御の動作例を示すフローチャートである。
【図２７】一実施形態に係る先行依存型ジョブの異常検出処理の動作例を示すフローチャートである。
【図２８】一実施形態に係る先行するジョブの特定処理の動作例を示すフローチャートである。
【図２９】一実施形態に係る起動したジョブの異常検出処理の動作例を示すフローチャートである。
【図３０】一実施形態に係る起動したジョブの異常検出処理の動作例を示すフローチャートである。
【図３１】一実施形態に係る起動したジョブの異常検出処理の動作例を示すフローチャートである。
【図３２】一実施形態に係る起動したジョブの異常検出処理の動作例を示すフローチャートである。
【図３３】一実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【図３４】ＮＷ異常の検出例（ＮＷ遅延の場合）を示す図である。
【図３５】ＮＷ異常の検出例（ＮＷ障害の場合）を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１４】
〔１〕一実施形態
〔１−１〕比較例
バッチ業務の運用においては、ジョブ及び／又はジョブネットの異常の早期検知や迅速なリカバリ対処を行なうことが好ましく、クラウド環境においても、高速且つ正確にジョブ及び／又はジョブネットの正常又は異常を判別することが重要である。
【００１５】
なお、「ジョブ」はコンピュータに実行させる仕事の単位を意味し、「ジョブネット」は１つ以上の（例えば関連する複数の）ジョブの集合を意味する。「ジョブネット」は１つ以上のジョブの実行順序等を定義してもよい。以下、「ジョブ」及び／又は「ジョブネット」を単に「ジョブ」と表記する場合がある。
【００１６】
バッチ業務の運用において、ジョブの異常を検知する手法としては、例えば、ジョブの稼動実績を基に設定された基準時間の満了又は基準時刻の到来を以って、異常と判断する手法が考えられる。この手法では、基準時間内又は基準時刻以前の時間帯に実行されたジョブを正常として扱い、基準時間外又は基準時刻よりも後の時間帯に実行されたジョブを異常として扱う。なお、基準時間は、一例として、ジョブの実行予定時間（期間）であり、基準時刻は、一例として、ジョブの開始予定時刻及び／又は終了予定時刻である。
【００１７】
しかしながら、基準時間又は基準時刻を境界として、ジョブの正常及び異常を一律に扱う手法では、以下の場合、誤判断となる虞がある。
【００１８】
（Ａ）異常として扱われる時間帯にジョブが実行されていても、許容時間の範囲内でのジョブの正常終了が見込める場合。
【００１９】
（Ｂ）正常として扱われる時間帯にジョブが実行されていても、処理自体が全く（又は処理の少なくとも一部が）行なわれずに異常となっている場合。
【００２０】
まず、上記（Ａ）の場合について説明する。図３４（ａ）及び（ｂ）に例示するように、サーバ２００−１及び２００−２により実行されるジョブＰ１０１〜Ｐ１０４のうち、サーバ２００−１で実行されるファイル転送ジョブＰ１０２に着目する。なお、以下の説明では、サーバ２００−１及び２００−２をそれぞれサーバＡ及びＢと表記する場合がある。
【００２１】
ファイル転送ジョブＰ１０２は、ファイルをネットワーク１００を介してサーバＢに転送するジョブである。
【００２２】
ファイル転送ジョブＰ１０２の実行予定時間が６０分である場合、当該ジョブＰ１０２が９時に開始したとき、ジョブの管理部（図示省略）は、１０時の時点で転送処理が完了していればジョブＰ１０２が正常であると判断する。一方、管理部は、１０時になっても転送処理が完了していなければジョブＰ１０２が異常であると判断する。
【００２３】
ここで、例えば、ネットワーク１００のスローダウンが発生し、転送速度が低下して転送処理の完了が遅延する場合がある。このような場合、転送速度の進捗状況から、少しの時間（許容時間）まで待てば（例えば１０時５分まで待てば）転送処理の完了（正常終了）が見込める場合であっても、１０時を超えた時点で、管理部はジョブＰ１０２が異常であると判断する。
【００２４】
次に、上記（Ｂ）の場合について説明する。図３５（ａ）及び（ｂ）に例示するように、ネットワーク１００の障害（異常）が発生し、転送処理が全く行なわれない場合がある。このような場合、転送処理が開始されていなくても、正常として判断される時間帯（９時〜１０時）においては、ファイル転送ジョブＰ１０２は正常であると判断される。
【００２５】
上記（Ａ）及び（Ｂ）の場合に加えて、クラウド環境特有の遅延や障害、例えば、他者の影響によるサーバＡ又はＢの処理遅延や障害等が発生する場合もある。
【００２６】
上記のように、クラウド環境において、オンプレミスの環境で行なっていたような基準時間又は基準時刻を用いた手法では、ジョブの異常に関する判定を適切に行なうことができない場合がある。
【００２７】
〔１−２〕一実施形態の構成例
そこで、一実施形態においては、ジョブの特性に基づいて、ジョブの異常に関する判定を適切に行なう手法を説明する。
【００２８】
図１は一実施形態の一例としての判定システム１の構成例を示すブロック図であり、図２は一実施形態に係るサーバの機能構成例を示すブロック図である。
【００２９】
図１に示すように、判定システム１は、例示的に、複数（図１ではｎ台；ｎは２以上の整数）のサーバ２−１〜２−ｎ（以下の説明においてサーバ２−１〜２−ｎを区別しない場合には単にサーバ２と表記する）、及び、端末３をそなえてよい。
【００３０】
複数のサーバ２は、例えば、クラウドサービスの提供に用いられる複数のコンピュータの一例であり、サーバ２のハードウェアリソース及び／又はソフトウェアリソースがクラウドコンピューティングに利用されてよい。複数のサーバ２は、クラウドサービスのネットワーク基盤等のネットワーク１ａを介して相互に通信可能に接続されてよい。
【００３１】
端末３は、複数のサーバ２により提供されるクラウドサービスにアクセスするコンピュータの一例である。端末３は、例えば、ネットワーク１ｂに接続されてよく、ネットワーク１ｂと、ネットワーク１ｂに相互に通信可能に接続されたネットワーク１ａと、を介して、サーバ２と相互に通信可能に接続されてよい。
【００３２】
ネットワーク１ａ及び１ｂの一方又は双方は、例えば、ＬＡＮ（Local Area Network）或いはＷＡＮ（Wide Area Network）、又はこれらの組み合わせを含む、インターネット及びイントラネットの少なくとも一方であってよい。また、ネットワーク１ａ及び１ｂの一方又は双方は、ＶＰＮ（Virtual Private Network）等の仮想ネットワークを含んでもよい。なお、ネットワーク１ａ及び１ｂの一方又は双方は、有線ネットワーク及び無線ネットワークの一方又は双方により形成されてよい。
【００３３】
〔１−３〕サーバの機能構成例
次に、図２を参照して、サーバ２の機能構成例を説明する。一実施形態において、各サーバ２は、複数のジョブを実行するとともに、対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、ジョブの異常に関する判定を行なう。なお、複数のジョブは、例えば、端末３により設定されたバッチ業務において実行される一連のジョブを含んでよく、対象のジョブは実行対象のジョブであってよい。
【００３４】
図２に示すように、各サーバ２は、例示的に、メモリ部２１、ジョブ管理部２２、及び、業務プログラム２３をそなえてよい。
【００３５】
メモリ部２１は、サーバ２の処理に用いられる種々の情報を格納する記憶部の一例である。メモリ部２１が格納する情報については、ジョブ管理部２２の機能の説明において後述する。なお、メモリ部２１としては、メモリ、例えばＲＡＭ（Random Access Memory）等の揮発性メモリ、並びに、記憶部、例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）等の記憶装置、の一方又は双方が挙げられる。
【００３６】
ジョブ管理部２２は、ジョブの実行、並びに、ジョブの異常の監視及び検出を行なう。図２に示すように、ジョブ管理部２２は、例示的に、スケジューラ２２１、実行制御部２２２、分類部２２３、及び、異常判定部２２４をそなえてよい。
【００３７】
スケジューラ２２１は、ジョブ定義情報２１１に設定されたジョブの起動条件の定義に従って、ジョブの実行を実行制御部２２２に指示（依頼）する。
【００３８】
ジョブ定義情報２１１は、ジョブが実行されるサーバ２ごとに設定される、当該サーバ２で実行されるジョブに関する情報が定義された定義情報の一例である。ジョブに関する情報としては、例えば、ジョブ自体の定義、並びに、当該ジョブとその前後のジョブとの関係の定義、等であってよく、一例として、起動する業務プログラム２３の名前、起動条件（時刻到来等）、起動順序、ジョブに対する付帯情報等であってよい。なお、業務プログラム２３は、ジョブとして実行されるプログラムである。
【００３９】
ジョブ定義情報２１１は、例えば、ジョブを自動運用するために、端末３からネットワーク１ａ及び１ｂを介してサーバ２に送信され、設定されてよい。また、業務プログラム２３は、例えば、端末３からネットワーク１ａ及び１ｂを介してサーバ２に送信され、メモリ部２１の一部の記憶領域に格納されてもよい。
【００４０】
図３に示すように、ジョブ定義情報２１１は、例示的に、ジョブの種類、ジョブ名、起動条件、開始時刻、許容時間、監視間隔時間の項目を含んでよい。また、ジョブ定義情報２１１は、例示的に、待ち合わせファイル名、ジョブとして実行するプログラム名及び引数、出力ファイル名、転送元ファイル名、転送先サーバ名、転送先ファイル名の項目を含んでよい。
【００４１】
起動条件は、ジョブが起動する条件であり、例えば、先行するジョブが正常に終了した場合に起動する「先行正常終了」や、設定された時刻の到来を以って起動する「時刻」等が設定される。開始時刻、許容時間、監視間隔時間は、それぞれ、起動条件が「時刻」の場合に設定される。開始時刻はジョブの起動する時刻である。許容時間は起動したジョブの終了が終了予定時刻（基準時刻）よりも遅延した場合又は実行予定時間（基準時間）外となる場合に許容される遅延時間である。監視間隔時間は実行中のジョブの監視を行なうインターバルである。
【００４２】
待ち合わせファイル名はジョブの種類が「ファイル待ち」の場合に設定されるファイル名（パス）である。ジョブとして実行するプログラム名及び引数は業務プログラム２３のファイル名（パス）及び引数である。出力ファイル名はサーバ２でのジョブの実行により出力される当該サーバ２上でのファイル名（パス）である。転送元ファイル名、転送先サーバ名、転送先ファイル名は、それぞれ、自サーバ２でのジョブの実行により他サーバ２に転送されるファイルの当該サーバ２でのファイル名（パス）、他サーバ２のサーバ名、他サーバ２での転送先のファイル名（パス）、である。
【００４３】
なお、許容時間を含むジョブ定義情報２１１を記憶するメモリ部２１は、ジョブの終了の遅延が許容される許容時間を当該ジョブに対応付けて記憶する記憶部の一例である。
【００４４】
スケジューラ２２１は、例えば、端末３からジョブ定義情報２１１に登録する情報を受信すると、ジョブ定義情報２１１を作成してメモリ部２１に保存してよく、或いは、メモリ部２１に格納されたジョブ定義情報２１１を更新してよい。
【００４５】
なお、メモリ部２１には、１つ以上の（例えば関連する複数の）ジョブの集合、及び／又は、１つ以上のジョブの実行順序等を定義するジョブネットがさらに保存されてもよい。
【００４６】
実行制御部２２２は、スケジューラ２２１からの指示に応じて、ジョブ定義情報２１１に定義されたジョブの情報に従いジョブを実行し、ジョブの実行状況や実行結果の管理を行なう。例えば、ジョブの実行状況や実行結果の情報は、異常判定部２２４からの要求に応じて、実行制御部２２２から異常判定部２２４に通知されてよい。
【００４７】
また、実行制御部２２２は、ジョブを実行した際の情報、例えば、ジョブの起動及び終了時刻や実行結果等の情報を実行履歴情報２１２としてメモリ部２１に保存してよい。
【００４８】
図４に実行履歴情報２１２の一例を示す。図４に示すように、実行履歴情報２１２は、例示的に、ジョブ名、開始実績時刻、終了実績時刻の項目を含んでよい。
【００４９】
ジョブ名はジョブ定義情報２１１に記載されたジョブ名であり、実行されたジョブを特定するための情報である。開始実績時刻はジョブの実行が開始された（ジョブが起動された）時刻である。終了実績時刻はジョブの実行が終了した時刻である。開始実績時刻及び終了実績時刻は年月日等の日付の情報をさらに含んでもよい。
【００５０】
開始実績時刻及び終了実績時刻は、後述する異常判定部２２４により、終了実績時刻が登録されているジョブと同一の実行中のジョブの終了予定時刻又は実行予定時間の決定に用いられてよい。
【００５１】
例えば、終了実績時刻そのものが実行中の同一のジョブの終了予定時刻として扱われてもよい。或いは、実行履歴情報２１２における同一のジョブの終了実績時刻の平均若しくは加重平均（例えば最近の実績に重み付けをした加重平均）を算出することで、実行中の同一のジョブの終了予定時刻が算出されてもよい。
【００５２】
または、終了実績時刻から開始実績時刻を減算した実行実績時間が、実行中のジョブの実行予定時間として扱われてもよい。或いは、実行履歴情報２１２における同一のジョブについてそれぞれ算出した実行実績時間の平均若しくは加重平均を算出し、算出結果を実行中の同一のジョブの実行予定時間として扱われてもよい。
【００５３】
なお、ジョブが開始されない場合やジョブが正常に終了しなかった場合等、ジョブの起動及び／又は終了に異常がある場合、開始実績時刻及び終了実績時刻の一方又は双方には、異常を示す情報が設定されてよく、或いは、空欄とされてよい。
【００５４】
また、実行履歴情報２１２は、実行中のジョブの状態を示す情報や、ジョブの処理状況、ジョブの異常の有無を示す項目等をさらに含んでもよい。
【００５５】
分類部２２３は、ジョブ定義情報２１１に設定されたジョブの種類に基づいて、サーバ２で実行されるジョブを分類する。例えば、分類部２２３は、ジョブ定義情報２１１に設定されたジョブをジョブの種類に応じた特性に基づいて分類してよい。
【００５６】
ここで、ジョブの分類について説明する。ジョブの種類によって、ジョブの正常性を判断するのに最適な異常の種類は異なる。例えば、図３４及び図３５に示す例では、ジョブの実行時間に基づく異常の検出ではなく、ネットワーク異常を検出することが適切であるといえる。
【００５７】
図５にジョブ分類情報２１３の一例を示す。以下、ジョブ分類情報２１３について説明する。ジョブ分類情報２１３は、ジョブの種類とジョブの分類とを対応付けた情報である。ジョブ分類情報２１３に設定される情報は、以下の手順によって導出されてよい。
【００５８】
なお、以下の手順は、例えば、ジョブの種類に基づいて、どのような論理でジョブの分類を求めるのかを、例えば利用者による端末３を用いた導出手順として説明するものである。
【００５９】
ジョブの種類とジョブの分類との対応付けは、例えば、以下の手順で予め導出された情報として、ジョブ分類情報２１３に設定されていてよく、分類部２２３は、このようなジョブ分類情報２１３を参照して、実行されるジョブの分類を行なってよい。
【００６０】
例えば、ジョブ分類情報２１３は、図５に示す項目のうち、少なくとも、ジョブの種類、及び、分類の項目を含んでいればよい。ジョブの種類はジョブ定義情報２１１に記載されたジョブの種類である。分類はジョブの種類に応じたジョブの特性に基づく区分である。
【００６１】
（Ｉ）ジョブの種類を定義する。
バッチ業務は、ファイル待ち、ファイル転送、時刻待ち、ＤＢ（Database）抽出、データ加工、データ集計、ＤＢ更新、バックアップ、インフラといったジョブで構成されるため、ジョブの種類として、これらの種類が定義されてよい。なお、分類部２２３は、実行されるジョブの種類の判断を、ジョブ分類情報２１３に基づき行なってよい。
【００６２】
（II）ジョブの種類ごとにジョブの特性を特定する。
利用者は、端末３により、ジョブの種類ごとに、実行時間、メモリ使用、ファイルＩＯ（Input Output）、ネットワークＩＯ、高多重動作といった観点を主として、特性を決定し、図５に示すように、ジョブ分類情報２１３に入力する。ジョブの特性としては、例えば、以下の（II-1）〜（II-9）等が挙げられる。
【００６３】
（II-1）ファイル待ち
ファイル待ちジョブは、ファイルを待ち合わせ、次のジョブに遷移させるジョブである。ファイル待ちジョブは、長時間実行され、待ち合わせを行なうだけのジョブであるため、メモリ使用は「低」となる。また、同時に複数ファイルを待ち合わせる使い方では多重動作となる。先行ジョブがファイルを作成しないと実行が開始されない。
【００６４】
（II-2）ファイル転送
ファイル転送ジョブは、他サーバ２でファイルを処理するために、ファイルを他サーバ２に転送する。実行時間、ファイルＩＯ、ネットワークＩＯは転送するファイルのファイルサイズに依存する。ファイル転送を行なうだけのジョブであるため、メモリ使用は「低」となる。
【００６５】
（II-3）時刻待ち
時刻待ちジョブは、時刻を待ち合わせ、次のジョブに遷移させるジョブである。時刻待ちジョブは、一定時間実行され、待ち合わせを行なうだけのジョブであるため、メモリ使用は「低」となる。同時に複数の時刻を待ち合わせる使い方では多重動作となる。
【００６６】
（II-4）ＤＢ抽出
ＤＢ抽出ジョブは、図１のサーバ２のうちの１つであるＤＢサーバ２のＤＢからデータ抽出を行なう。ＤＢ抽出ジョブは、データの抽出を行なうだけであるため、メモリ使用は「低」となる。実行時間、ファイルＩＯ、ネットワークＩＯは抽出するデータのデータサイズに依存する。
【００６７】
（II-5）データ加工
データ加工ジョブは、ＤＢから抽出したデータに対し、データ形式変換、データ結合、データ間照会、ソート処理、データ分析などのデータ加工を行なう。実行時間、メモリ使用、ファイルＩＯは加工するデータのデータサイズに依存する。
【００６８】
（II-6）データ集計
データ集計ジョブは、加工したデータを基に集計を行なう。実行時間、メモリ使用、ファイルＩＯは集計するデータのデータサイズに依存する。
【００６９】
（II-7）ＤＢ更新
ＤＢ更新ジョブは、ＤＢサーバ２のＤＢの更新を行なう。ＤＢ更新ジョブは、ＤＢを更新するだけであるため、メモリ使用は「低」となる。実行時間、ファイルＩＯ、ネットワークＩＯは更新するデータのデータサイズに依存する。
【００７０】
（II-8）バックアップ
バックアップジョブは、破損や消失に備え、データの複製を行なう。バックアップジョブは定期的に実行される。実行時間、ファイルＩＯは複製するデータのデータサイズに依存する。
【００７１】
（II-9）インフラ
インフラジョブは、業務開始のためのサーバ２やサービスの起動を行なう。インフラジョブの実行時間は日によって変動はなく、一定時間動作する。多重度は起動するサーバ２やサービスの数に依存する。
【００７２】
（III）見出した特性から検出すべき異常を特定する。
利用者は、端末３により、上記（II）において特定した、ジョブの種類ごとの特性に基づいて、ジョブの種類ごとに検出対象とする「異常」の種別を特定し、特定を行なったジョブをタイプ別に以下のように分類する。
【００７３】
（ａ）先行依存
上記（II-1）の「ファイル待ち」ジョブは、他サーバ２で先行して実行されるファイル作成ジョブが実行されないと開始されない。このため、「ファイル待ち」ジョブでは、先行するファイル作成ジョブの状態を確認することで異常を検出することが、適切である。
【００７４】
（ｂ）ネットワーク異常
上記（II-2）、（II-4）、（II-7）の「ファイル転送」、「ＤＢ抽出」、「ＤＢ更新」ジョブは、ジョブの実行状況がファイルの転送先サーバ２やＤＢサーバ２といった他サーバ２とのネットワーク１ａに依存する。このため、これらのジョブでは、ネットワーク１ａの状態を確認することで異常を検出することが、適切である。
【００７５】
（ｃ）一定時間動作
上記（II-3）、（II-9）の「時刻待ち」、「インフラ」ジョブは、実行時間が一定している。このため、これらのジョブでは、予定時間の超過を判定することで異常を検出することが、最適である。
【００７６】
（ｄ）ディスク異常
上記（II-8）の「バックアップ」は、ジョブの実行状況がデータ書き込み先のディスクに依存する。このため、「バックアップ」ジョブでは、ディスクの状態を確認することで異常を検出することが、適切である。
【００７７】
（ｅ）データ
上記（II-5）、（II-6）の「データ加工」、「データ集計」ジョブは、データ処理の状態を確認することで異常を検出することが、最適である。
【００７８】
利用者は、端末３により、以上のように分類された上記（ａ）〜（ｅ）のジョブの分類を、ジョブの種類に対応付けて、ジョブ分類情報２１３としてメモリ部２１に保存してよい。
【００７９】
換言すれば、ジョブ分類情報２１３を記憶するメモリ部２１は、ジョブの異常に関する判定を行なう際に監視する監視対象（例えば、先行する他のジョブやＤＢサーバ２等）を当該ジョブに対応付けて記憶する記憶部の一例である。
【００８０】
異常判定部２２４は、実行制御部２２２による実行中のジョブに対して、ジョブ分類情報２１３に設定されたジョブの分類に基づいて、ジョブの異常に関する判定を行なう。例えば、異常判定部２２４は、自サーバ２において実行制御部２２２により実行されるジョブのそれぞれについて、実行される順に、ジョブの異常に関する判定を行なってよい。
【００８１】
上述のように、ジョブの分類に応じて、監視の対象となる異常の種類（内容）が異なるため、異常判定部２２４は、実行中のジョブの分類をジョブ分類情報２１３から特定する。換言すれば、ジョブの分類に応じて監視対象は異なるため、異常判定部２２４は、メモリ部２１を参照して、対象のジョブに対応付けられた監視対象を特定する特定部の一例であるといえる。
【００８２】
そして、異常判定部２２４は、特定したジョブの分類に応じた種類の監視対象の異常を監視して監視情報を取得し、取得した監視情報に基づき、ジョブの異常を判定する。例えば、異常判定部２２４は、ジョブの分類に応じた適切なリソースの状態を確認することができるため、ジョブの異常を早期に検知することができる。
【００８３】
なお、異常判定部２２４は、ジョブの異常を検出すると、検出したジョブの異常を通知してよい。ジョブの異常の通知は、例えば、メモリ部２１に対する異常のジョブに関する情報のログ出力、端末３に対する異常のジョブに関する情報の送信、等の種々の手法により行なわれてよい。
【００８４】
〔１−４〕異常判定部の説明
以下、異常判定部２２４によるジョブの分類に応じた異常判定処理について、比較例と比較しながら説明する。
【００８５】
〔１−４−１〕先行依存
まず、図６〜図１０を参照して、上記（ａ）の先行依存タイプのジョブの異常に関する判定処理について説明する。
【００８６】
図６に例示するように、サーバ２−１及び２−２により実行されるジョブＰ１〜Ｐ４のうち、サーバ２−２で実行されるファイル待ちジョブＰ３に着目する。なお、以下の説明では、サーバ２−１及び２−２をそれぞれサーバＡ及びＢと表記する場合がある。
【００８７】
ファイル待ちジョブＰ３は、ネットワーク１ａを介してサーバＡから転送されてくるファイルをサーバＢで待ち合わせるジョブであり、サーバＡにおいて実行される、先行するファイル作成ジョブＰ１及びファイル転送ジョブＰ２に依存するジョブである。
【００８８】
サーバＢの異常判定部２２４は、判定対象であるジョブＰ３に先行する、他サーバＡのジョブＰ１及びＰ２が、ジョブＰ３に設定されている実行予定時間内に正常終了するか否かを判定する。実行予定時間は、例えば、ジョブ定義情報２１１に設定されたファイル待ちジョブの開始時刻から、実行履歴情報２１２から得られる終了予定時刻までの間の時間である。
【００８９】
図６に示す例では、ジョブＰ１及びＰ２が、ジョブＰ３に設定されている実行予定時間内に正常終了し、ジョブＰ３が正常終了する。
【００９０】
一方、比較例において、図７（ａ）及び（ｂ）に示すように、例えばファイル作成ジョブＰ１０１及びファイル転送ジョブＰ１０２の少なくとも一方が遅延して、ファイル待ちジョブＰ１０３に設定されている実行予定時間内に正常終了しない場合を仮定する。この場合、他サーバＡで先行して実行されるジョブＰ１０１及びＰ１０２の状態が考慮されないため、ファイル待ちジョブＰ１０３は、実行予定時間を超過した時点で（図７（ａ）の（ｉ）参照）、即時に異常として検知される。
【００９１】
これに対し、図８（ａ）及び（ｂ）に示すように、一実施形態に係る異常判定部２２４は、以下の手順により、ジョブＰ３の異常に関する判定を適切に実施できる。
【００９２】
（ｉ）異常判定部２２４は、ファイル待ちジョブＰ３に先行するファイル作成ジョブＰ１、ファイル転送ジョブＰ２を特定する。
【００９３】
（ii）異常判定部２２４は、ファイル作成ジョブＰ１の正常終了を確認後、ファイル転送ジョブＰ２の状態を定期的に確認する。
【００９４】
例えば、異常判定部２２４は、他サーバＡの実行制御部２２２に対して、監視対象であるジョブＰ１及びＰ２の状態（監視情報）を問い合わせてよい。ジョブの状態には、例えば、ジョブの正常終了、異常終了、実行中、或いは、実行の進捗率等が含まれてよい。また、定期的な問い合わせの確認タイミングは、例えば、ジョブ定義情報２１１に設定されたジョブＰ３の監視間隔時間であってよい。問い合わせを受けた他サーバＡの実行制御部２２２は、例えば、他サーバＡの実行履歴情報２１２を参照することで、ジョブＰ１及びＰ２の状態を取得し、異常判定部２２４に応答してよい。
【００９５】
（iii）異常判定部２２４は、ファイル転送ジョブＰ２の状態確認として、その時点の転送性能（例えば転送速度、転送サイズ等）を基に、受信完了予定時刻を算出する。
【００９６】
なお、転送速度は下記式（１）により求めることができ、受信完了予定時刻は下記式（２）により求めることができる（以下の説明においても同様である）。転送サイズは転送されるファイルのサイズ（全体サイズ）であり、例えば他サーバＡの実行制御部２２２に対する問い合わせにより取得可能である。
【００９７】
転送速度＝現在サイズ／（現在時刻−開始実績時刻）                  （１）
受信完了予定時刻＝現在時刻＋（転送サイズ−現在サイズ）／転送速度  （２）
【００９８】
（iv）異常判定部２２４は、上記（iii）の時刻が、終了予定時刻（例えば10:00）以降である場合、当該時刻が、許容時間（例えば5分）を含めた（加えた）許容終了予定時刻（例えば10:05）以前であるかを判断する。
【００９９】
（ｖ）異常判定部２２４は、上記（iii）の時刻が許容終了予定時刻（例えば10:05）以前である場合、ファイル到着が見込めるとして、終了予定時刻（10:00）の時点で異常と判定しないよう、ジョブＰ３が異常か否かを判定する基準時間を遅延させる。
【０１００】
例えば、上記（ｖ）において、異常判定部２２４は、許容終了予定時刻を終了予定時刻に上書きする、或いは、実行予定時間に許容時間を加算する、等により、基準時間を遅延させてよい（以下の説明においても同様である）。
【０１０１】
これにより、例えば、図８（ｂ）に許容動作として示すように、終了予定時刻（例えば10:00）ではなく、許容終了予定時刻（10:05）を過ぎるまでは、正常と判断されるように、異常検出のタイミングを調整することができる。例えば、異常判定部２２４は、図８（ｂ）に本例として示すように、終了予定時刻（例えば10:00）と許容終了予定時刻（10:05）との間でジョブＰ３が終了した場合に、ジョブＰ３を正常終了として検出することができる。
【０１０２】
本例においては、終了予定時刻（基準時刻）との関係で上記式（２）の受信完了予定時刻を求めているが、これに限定されるものではない。例えば、異常判定部２２４は、実行予定時間（基準時間）との関係で、下記（３）式を求め、許容時間を考慮した上記と同様の趣旨の判定を行なってもよい（以下の説明においても同様である）。
【０１０３】
受信完了予定時間＝（転送サイズ−現在サイズ）／転送速度            （３）
【０１０４】
なお、上記受信完了予定時間は、現在時刻から、受信が完了するまでの時間を示すため、実行予定時間（基準時間）との比較の際には、開始実績時刻から現在時刻までの経過時間を受信完了予定時間に加算してもよい。
【０１０５】
上述のように、ジョブ定義情報２１１はサーバ２ごとに定義され、記憶される。このため、サーバ２００ごとにジョブの判定を行なう比較例等においては、他サーバ２００において実行されるジョブについて考慮することは困難である。
【０１０６】
これに対し、一実施形態においては、サーバＢの異常判定部２２４は、上記（ｉ）の手順において、サーバＡで実行されるジョブＰ１及びＰ２の情報を、以下の処理により取得することができる。
【０１０７】
（ファイル転送ジョブＰ２の特定）
例えば、図３に示すように、サーバＡでは、ジョブ定義情報２１１において、ファイル転送ジョブＰ２について以下のデータが定義されている。
【０１０８】
・転送元ファイル名：“C:\out1”
・転送先サーバ名：“サーバＢ”
・転送先ファイル名：“D:\send1”
【０１０９】
また、サーバＢでは、ジョブ定義情報２１１において、ファイル待ちジョブＰ３について以下のデータが定義されている。
【０１１０】
・待ち合わせファイル名＝“D:\send1”
【０１１１】
そこで、サーバＢの異常判定部２２４は、サーバＢからサーバＡに対して、ネットワーク１ａを介してアクセスを行ない、サーバＡのジョブ定義情報２１１を検索し、以下の条件に一致するジョブ（ファイル転送ジョブＰ２）を特定する。
【０１１２】
・転送先サーバ名＝サーバＢ
・転送先ファイル名＝ファイル待ちジョブＰ１の待ち合わせファイル名＝“D:\send1”
【０１１３】
（ファイル作成ジョブＰ１の特定）
例えば、図３に示すように、サーバＡでは、ジョブ定義情報２１１において、ファイル作成ジョブＰ１について以下のデータが定義されている。
【０１１４】
・出力ファイル名：“C:\out1”
【０１１５】
そこで、サーバＢの異常判定部２２４は、サーバＢからサーバＡに対して、ネットワーク１ａを介してアクセスを行ない、サーバＡのジョブ定義情報２１１を検索し、以下の条件に一致するジョブ（ファイル作成ジョブＰ１）を特定する。
【０１１６】
・出力ファイル名＝ファイル転送ジョブＰ２の転送元ファイル名＝“C:\out1”
【０１１７】
このように、異常判定部２２４は、他サーバ２のジョブ定義情報２１１を参照して、自サーバ２で実行される判定対象のジョブに先行するジョブを、判定対象のジョブから１つずつ順に遡って検索する。
【０１１８】
これにより、異常判定部２２４は、他サーバＡにおけるジョブの実行状況に基づいて、ファイル待ちジョブＰ３の異常を正確に判定することができる。
【０１１９】
他の例について説明する。比較例において、図９（ａ）及び（ｂ）に示すように、例えばファイル作成ジョブＰ１０１に異常が発生して、ファイル作成ジョブＰ１０１及びファイル転送ジョブＰ１０２が実行されない場合を仮定する。この場合、他サーバＡで先行して実行されるジョブＰ１０１及びＰ１０２の状態が考慮されないため、ファイル待ちジョブＰ１０３は、実行予定時間を超過するまでは、異常として検知されない。
【０１２０】
これに対し、図１０（ａ）及び（ｂ）に示すように、一実施形態に係る異常判定部２２４は、以下の手順により、ジョブＰ３の異常に関する判定を適切に実施できる。なお、以下の（ｉ）及び（ii）は図８の例と同様である。
【０１２１】
（ｉ）異常判定部２２４は、ファイル待ちジョブＰ３に先行するファイル作成ジョブＰ１、ファイル転送ジョブＰ２を特定する。
【０１２２】
（ii）異常判定部２２４は、ファイル作成ジョブＰ１、ファイル転送ジョブＰ２の状態を定期的に確認する。
【０１２３】
（iii）異常判定部２２４は、上記（ii）で確認したジョブＰ１又はＰ２が異常である場合、ファイルの到着が見込めないため、実行予定時間の超過を待たずに異常と判断する。
【０１２４】
これにより、異常判定部２２４は、例えば、図１０（ｂ）に許容動作及び本例として示すように、終了予定時刻（例えば10:00）を過ぎる前であって、異常が発生してから遅くとも監視間隔時間が経過するまでの間に、ジョブＰ３の異常を検出できる。
【０１２５】
〔１−４−２〕ネットワーク異常
次に、図１１〜図１５を参照して、上記（ｂ）のネットワーク異常タイプのジョブの異常に関する判定処理について説明する。
【０１２６】
図１１に例示するように、サーバＡにより実行されるジョブＰ１１〜Ｐ１４のうち、ＤＢ抽出ジョブＰ１１に着目する。ＤＢ抽出ジョブＰ１１は、ネットワーク１ａを介してＤＢサーバＢのＤＢ２ａからデータを抽出するジョブである。
【０１２７】
図１１に示す例では、ネットワーク１ａに異常が発生せず、ジョブＰ１１がジョブＰ１１に設定されている実行予定時間内に正常終了する。
【０１２８】
一方、比較例において、図１２（ａ）及び（ｂ）に示すように、例えばネットワーク１００のスローダウンが発生し、ＤＢ抽出ジョブＰ１１１が遅延して実行予定時間内に正常終了しない場合を仮定する。この場合、ネットワーク１００の状態（性能）が考慮されないため、ＤＢ抽出ジョブＰ１１１は、実行予定時間を超過した時点で（図１２（ａ）の（ｉ）参照）、即時に異常として検知される。
【０１２９】
これに対し、図１３（ａ）及び（ｂ）に示すように、一実施形態に係るサーバＡの異常判定部２２４は、以下の手順により、ジョブＰ１１の異常に関する判定を適切に実施できる。
【０１３０】
（ｉ）異常判定部２２４は、ＤＢサーバＢの状態を定期的に確認する。
【０１３１】
例えば、異常判定部２２４は、ＤＢサーバＢに対するｐｉｎｇ等を定期的に実行し、レスポンスがあることを確認してよい。
【０１３２】
（ii）異常判定部２２４は、ＤＢサーバＢの状態確認として、その時点の転送性能（例えば転送速度、転送サイズ等）を基に、抽出完了予定時刻を算出する。
【０１３３】
なお、転送速度は、図８（ａ）及び（ｂ）の説明における上記式（１）の転送速度の算出式により算出可能である。抽出完了予定時刻は、図８（ａ）及び（ｂ）の説明における上記式（２）の受信完了予定時刻を抽出完了予定時刻に読み替えることにより算出可能である。
【０１３４】
（iii）異常判定部２２４は、上記（ii）の時刻が、終了予定時刻（例えば10:00）以降である場合、当該時刻が、許容時間（例えば5分）を含めた（加えた）許容終了予定時刻（例えば10:05）以前であるかを判断する。
【０１３５】
（iv）異常判定部２２４は、上記（ii）の時刻が許容終了予定時刻（例えば10:05）以前である場合、抽出完了が見込めるとして、終了予定時刻（10:00）の時点で異常と判定しないよう、ジョブＰ１１が異常か否かを判定する基準時間を遅延させる。
【０１３６】
これにより、例えば、図１３（ｂ）に許容動作として示すように、終了予定時刻（例えば10:00）ではなく、許容終了予定時刻（10:05）を過ぎるまでは、正常と判断されるように、異常検出のタイミングを調整することができる。例えば、異常判定部２２４は、図１３（ｂ）に本例として示すように、終了予定時刻（例えば10:00）と許容終了予定時刻（10:05）との間でジョブＰ１１が終了した場合に、ジョブＰ１１を正常終了として検出することができる。
【０１３７】
このように、異常判定部２２４は、他サーバＢとの間のネットワーク状況に基づいて、ＤＢ抽出ジョブＰ１１の異常を正確に判定することができる。
【０１３８】
他の例について説明する。比較例において、図１４（ａ）及び（ｂ）に示すように、例えば他サーバＢのＤＢ２１０に異常が発生して、ＤＢ抽出ジョブＰ１１１が実行されない場合を仮定する。この場合、ネットワーク１００の状態（性能）が考慮されないため、ＤＢ抽出ジョブＰ１１１は、実行予定時間を超過するまでは、異常として検知されない。
【０１３９】
これに対し、図１５（ａ）及び（ｂ）に示すように、一実施形態に係る異常判定部２２４は、以下の手順により、ジョブＰ１１の異常に関する判定を適切に実施できる。
【０１４０】
（ｉ）異常判定部２２４は、ＤＢサーバＢの状態を定期的に確認する。
【０１４１】
（ii）異常判定部２２４は、上記（ｉ）により、ＤＢサーバＢに異常があること、例えば、ＤＢサーバＢへのｐｉｎｇに対するＤＢサーバＢからのレスポンスがないことを認識した場合、実行予定時間の超過を待たずに異常と判断する。
【０１４２】
これにより、異常判定部２２４は、例えば、図１５（ｂ）に許容動作及び本例として示すように、終了予定時刻（例えば10:00）を過ぎる前であって、異常が発生してから遅くとも監視間隔時間が経過するまでの間に、ジョブＰ１１の異常を検出できる。
【０１４３】
〔１−４−３〕一定時間動作
次に、図１６及び図１７を参照して、上記（ｃ）の一定時間動作タイプのジョブの異常に関する判定処理について説明する。
【０１４４】
図１６に例示するように、サーバ２により実行されるジョブＰ２１、Ｐ２２のうち、時刻待ちジョブＰ２１に着目する。時刻待ちジョブＰ２１は、設定されている時刻まで待機するジョブである。
【０１４５】
図１６に示す例では、ジョブＰ２１が、ジョブＰ２１に設定されている時刻までに正常終了する。
【０１４６】
一方、図１７に示すように、例えばサーバ２の処理遅延等が発生し、時刻待ちジョブＰ２１が遅延して実行予定時間内に正常終了しない場合を仮定する。この場合、時刻待ちジョブＰ２１は、実行予定時間を超過した時点で（図１７の（ｉ）参照）、即時に異常として検知される。
【０１４７】
図５のジョブ分類情報２１３に示すように、（ｃ）の一定時間動作タイプのジョブについては、時間に基づきジョブの異常を判定することが適切であるため、異常判定部２２４は、従来の手法と同様に、実行予定時間に基づきジョブＰ２１の異常を判定してよい。
【０１４８】
或いは、一定時間動作タイプのジョブに許容時間が設定されている場合には、異常判定部２２４は、ジョブＰ２１に設定されている終了予定時刻に許容時間を加えた許容終了予定時刻までにジョブＰ２１が終了しない場合に、ジョブＰ２１の異常を検出してもよい。
【０１４９】
〔１−４−４〕ディスク異常
次に、図１８〜図２２を参照して、上記（ｄ）のディスク異常タイプのジョブの異常に関する判定処理について説明する。
【０１５０】
図１８に例示するように、サーバ２により実行されるバックアップジョブＰ３１に着目する。バックアップジョブＰ３１は、サーバ２内のバックアップ元２ｂからバックアップ先２ｃへのデータのバックアップを行なうジョブである。
【０１５１】
図１８に示す例では、バックアップ元２ｂ及びバックアップ先２ｃには異常が発生せず、ジョブＰ３１がジョブＰ３１に設定されている実行予定時間内に正常終了する。
【０１５２】
一方、比較例において、図１９（ａ）及び（ｂ）に示すように、例えばバックアップ先２３０においてディスクＩＯの高負荷が発生し、バックアップジョブＰ１２１が遅延して実行予定時間内に正常終了しない場合を仮定する。この場合、ディスクの状態（性能）が考慮されないため、バックアップジョブＰ１２１は、実行予定時間を超過した時点で（図１９（ａ）の（ｉ）参照）、即時に異常として検知される。
【０１５３】
これに対し、図２０（ａ）及び（ｂ）に示すように、一実施形態に係るサーバ２の異常判定部２２４は、以下の手順により、ジョブＰ３１の異常に関する判定を適切に実施できる。
【０１５４】
（ｉ）異常判定部２２４は、バックアップ元２ｂ及びバックアップ先２ｃの少なくとも一方のディスクの状態を定期的に確認する。
【０１５５】
例えば、異常判定部２２４は、ディスクに対する状態確認用のコマンド、例えばｉｏｓｔａｔコマンドの送信等を定期的に実行し、レスポンスがあることを確認してよい。
【０１５６】
（ii）異常判定部２２４は、ディスクの状態確認として、その時点のディスク性能（例えば読込速度及び／又は書込速度、読込サイズ及び／又は書込サイズ等）を基に、バックアップ完了予定時刻を算出する。
【０１５７】
なお、読込速度及び／又は書込速度は、図８（ａ）及び（ｂ）の説明における上記式（１）の転送速度を、読込速度及び／又は書込速度に読み替えることにより算出可能である。バックアップ完了予定時刻は、図８（ａ）及び（ｂ）の説明における上記式（２）の受信完了予定時刻をバックアップ完了予定時刻に読み替え、転送サイズを読込サイズ及び／又は書込サイズに読み替えることにより算出可能である。
【０１５８】
（iii）異常判定部２２４は、上記（ii）の時刻が、終了予定時刻（例えば10:00）以降である場合、当該時刻が、許容時間（例えば5分）を含めた（加えた）許容終了予定時刻（例えば10:05）以前であるかを判断する。
【０１５９】
（iv）異常判定部２２４は、上記（ii）の時刻が許容終了予定時刻（例えば10:05）以前である場合、バックアップ完了が見込めるとして、終了予定時刻（10:00）の時点で異常と判定しないよう、ジョブＰ３１が異常か否かを判定する基準時間を遅延させる。
【０１６０】
これにより、例えば、図２０（ｂ）に許容動作として示すように、終了予定時刻（例えば10:00）ではなく、許容終了予定時刻（10:05）を過ぎるまでは、正常と判断されるように、異常検出のタイミングを調整することができる。例えば、異常判定部２２４は、図２０（ｂ）に本例として示すように、終了予定時刻（例えば10:00）と許容終了予定時刻（10:05）との間でジョブＰ３１が終了した場合に、ジョブＰ３１を正常終了として検出することができる。
【０１６１】
このように、異常判定部２２４は、サーバ２におけるディスクの動作状況に基づいて、ＤＢ抽出ジョブＰ１１の異常を正確に判定することができる。
【０１６２】
他の例について説明する。比較例において、図２１（ａ）及び（ｂ）に示すように、例えばバックアップ先２３０のディスクに異常が発生して、バックアップジョブＰ１２１が実行されない場合を仮定する。この場合、ディスクの状態（性能）が考慮されないため、バックアップジョブＰ１２１は、実行予定時間を超過するまでは、異常として検知されない。
【０１６３】
これに対し、図２２（ａ）及び（ｂ）に示すように、一実施形態に係る異常判定部２２４は、以下の手順により、ジョブＰ３１の異常に関する判定を適切に実施できる。
【０１６４】
（ｉ）異常判定部２２４は、バックアップ元２ｂ及びバックアップ先２ｃの少なくとも一方のディスクの状態を定期的に確認する。
【０１６５】
（ii）異常判定部２２４は、上記（ｉ）により、ディスクに異常があること、例えば、ディスクへの状態確認用のコマンドに対するディスクからのレスポンスがないことを認識した場合、実行予定時間の超過を待たずに異常と判断する。
【０１６６】
これにより、異常判定部２２４は、例えば、図２２（ｂ）に許容動作及び本例として示すように、終了予定時刻（例えば10:00）を過ぎる前であって、異常が発生してから遅くとも監視間隔時間が経過するまでの間に、ジョブＰ３１の異常を検出できる。
【０１６７】
〔１−４−５〕データ
次に、図２３及び図２４を参照して、上記（ｅ）のデータタイプのジョブの異常に関する判定処理について説明する。
【０１６８】
図２３に例示するように、サーバＡにより実行されるジョブＰ１１〜Ｐ１４のうち、データ加工ジョブＰ１２に着目する。データ加工ジョブＰ１２は、ＤＢ抽出ジョブＰ１１がサーバＢのＤＢ２ａから抽出したデータを加工するジョブである。
【０１６９】
図２３に示す例では、ジョブＰ１２が正常終了する。
【０１７０】
一方、図２４に示すように、データ加工ジョブＰ１２が異常終了した場合、データ加工ジョブＰ１２は、異常終了した時点で（図２４の（ｉ）参照）、異常として検知される。
【０１７１】
（ｅ）のデータタイプのジョブについては、ジョブが正常に終了したか否か（或いはデータが正常か否か）に基づきジョブの異常を判定することが適切であるため、異常判定部２２４は、従来の手法と同様に、ジョブＰ１２の異常を判定してよい。
【０１７２】
以上のように、上記（ａ）の先行依存、（ｂ）のネットワーク異常、（ｄ）のディスク異常の分類について、ジョブの特性を考慮することにより、ジョブの正常又は異常の判断を正しく行なうことができる。
【０１７３】
例えば、上記（ａ）、（ｂ）、（ｄ）において、異常判定部２２４は、終了予定時刻に許容時間を加算した許容終了予定時刻を用いて、ジョブの異常に関する判定を行なう。これは、終了予定時刻（時間）を新たな終了予定時刻（時間）に変更すると捉えることができる。
【０１７４】
すなわち、異常判定部２２４は、特定した監視対象の監視により取得した監視情報に基づき、基準時刻又は基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更する変更部の一例であるといえる。変更（換言すれば、基準時刻又は基準時間への許容時間の加算）を行なう場合としては、例えば、監視情報に基づき、対象のジョブが、基準時刻から新たな基準時刻までの間、又は、基準時間外であって新たな基準時間内、に終了すると判断した場合である。
【０１７５】
また、異常判定部２２４は、新たな基準時刻又は新たな基準時間に基づき、対象のジョブの異常に関する判定を行なう判定部の一例である。
【０１７６】
ところで、上記のように、異常判定部２２４は、監視情報に基づき、監視対象の障害を検出した場合に、基準時刻の到来又は基準時間の満了を待たずに、例えば、異常を検出したタイミングで、対象のジョブを異常と判定してよい。
【０１７７】
このように、基準時刻の到来又は基準時間の満了を待たずにジョブを異常と判定する制御は、上記（ａ）の先行依存、（ｂ）のネットワーク異常、（ｄ）のディスク異常の分類のジョブについて、以下の場合に実行されてもよい。例えば、異常判定部２２４は、受信、抽出、又はバックアップの完了予定時刻が、許容時間を含む許容終了予定時刻を超えると判定した場合、この判定を行なったタイミングで、ジョブの異常を検出してもよい。
【０１７８】
換言すれば、異常判定部２２４は、監視情報に基づき、対象のジョブが、新たな基準時刻までに終了しない、又は、新たな基準時間内に終了しないと判断した場合に、基準時刻の到来又は基準時間の満了を待たずに、対象のジョブを異常と判定してよい。
【０１７９】
オンプレミス環境からクラウド環境へのシステム移行によって、自システムと同じリソースを利用している他者のシステムの影響により、自システムにおいてトラブルが発生する場合がある。しかし、ジョブが利用するリソースの状態は、ブラックボックス化されていて容易に取得することが難しい情報である。
【０１８０】
一実施形態に係る手法によれば、以下の利点により、ジョブが利用するリソースの状態を確認した上で、ジョブの適切なトラブル対応を行なうことができ、バッチ業務を安定して運用することができる。
【０１８１】
例えば、実行されるジョブを分類部２２３が分類し、異常判定部２２４がジョブの分類に応じた監視対象（例えば他のジョブ、ネットワーク、ＤＢサーバ、ディスク等）を監視し、監視結果に基づきジョブの正常及び異常を判定することができる。これにより、人手によるジョブの正常及び異常の判定を不要とすることができる。
【０１８２】
また、終了予定時刻に許容時間を加えた許容終了予定時刻以内にジョブが完了する場合、終了予定時刻を更新するため、時間に猶予があれば正常終了するジョブを打ち切らずに実行させることができる。これにより、例えば、ジョブの再実行等のリカバリ処理によるサーバ２のリソース消費を抑制できる。
【０１８３】
さらに、許容終了予定時刻以内にジョブが完了しない場合や、ジョブの処理が行なわれていない場合、終了予定時刻前にジョブを打ち切ることができる。このように、ジョブの異常を早期に検出できるため、迅速にジョブのリカバリ処理を行なうことができる。
【０１８４】
〔１−５〕動作例
次に、図２５〜図３２を参照して、上述の如く構成されたサーバ２の動作例を説明する。
【０１８５】
〔１−５−１〕ジョブ分類処理の動作例
まず、ジョブ分類処理の動作例を説明する。図２５に示すように、スケジューラ２２１は、例えば端末３から受信した情報に基づきジョブ定義情報２１１を設定し、メモリ部２１に保存する（ステップＳ１）。
【０１８６】
分類部２２３は、ジョブ定義情報２１１を参照して各ジョブの種類を取得し、ジョブ分類情報２１３に基づき各ジョブを分類して（ステップＳ２）、処理が終了する。
【０１８７】
〔１−５−２〕ジョブ実行制御の動作例
次に、ジョブ実行制御の動作例を説明する。図２６に示すように、スケジューラ２２１は、ジョブ定義情報２１１を参照して、ジョブの起動条件（例えば時刻の到来等）に基づいて、ジョブの起動を待ち合わせる（ステップＳ１１）。起動の待ち合わせが行なわれたジョブの情報は、スケジューラ２２１から異常判定部２２４に通知されてよい。
【０１８８】
異常判定部２２４は、待ち合わせたジョブが上記（ａ）の先行依存型か否かを判定する（ステップＳ１２）。先行依存型ではない場合（ステップＳ１２でＮｏ）、処理がステップＳ１５に移行する。
【０１８９】
一方、待ち合わせたジョブが先行依存型の場合（ステップＳ１２でＹｅｓ）、異常判定部２２４は、先行依存型ジョブの異常検出処理を行ない（ステップＳ１３）、異常検出処理の結果が正常か否かを判定する（ステップＳ１４）。先行依存型ジョブの異常検出処理は、例えば、開始時刻を迎えても起動条件が成立しない等の起動条件非成立に関する異常検出処理である。
【０１９０】
異常検出処理の結果が正常の場合（ステップＳ１４でＹｅｓ）、すなわち、起動条件の成立が検知されると、スケジューラ２２１は、実行制御部２２２に当該ジョブの起動を指示する。実行制御部２２２は、ジョブ定義情報２１１に基づき当該ジョブの業務プログラム２３を起動する（ステップＳ１５）。
【０１９１】
次に、異常判定部２２４は、起動したジョブが先行依存型か否かを判定し（ステップＳ１６）、先行依存型の場合（ステップＳ１６でＹｅｓ）、処理がステップＳ１９に移行する。
【０１９２】
一方、起動したジョブが先行依存型ではない場合（ステップＳ１６でＮｏ）、起動したジョブは、上記（ｂ）〜（ｅ）のいずれかのタイプである。この場合、異常判定部２２４は、起動したジョブの異常検出処理を行ない（ステップＳ１７）、異常検出処理の結果が正常か否かを判定する（ステップＳ１８）。
【０１９３】
異常検出処理の結果が正常の場合（ステップＳ１８でＹｅｓ）、実行制御部２２２は、メモリ部２１の実行履歴情報２１２に対して実行履歴を記録する（ステップＳ１９）。
【０１９４】
スケジューラ２２１は、ジョブ定義情報２１１を参照して、実行するジョブ（起動を待ち合わせるジョブ）があるか否かを判定し（ステップＳ２０）、ない場合（ステップＳ２０でＮｏ）、処理が終了する。一方、実行するジョブがある場合（ステップＳ２０でＹｅｓ）、処理がステップＳ１１に移行する。
【０１９５】
なお、ステップＳ１４又はＳ１９で異常検出処理の結果が異常の場合（ステップＳ１４でＮｏ又はステップＳ１９でＮｏ）、異常判定部２２４は、ジョブの異常を通知する（ステップＳ２１）。
【０１９６】
ジョブの異常を通知すると、異常判定部２２４は、それ以降のジョブの実行を中止するか否かを判定する（ステップＳ２２）。中止しない場合（ステップＳ２２でＮｏ）、処理がステップＳ２０に移行する。一方、それ以降のジョブの実行を中止する場合（ステップＳ２２でＹｅｓ）、処理が終了する。
【０１９７】
なお、ジョブの実行を中止するか否かは、事前に定義された障害時の対処リスト（図示省略）等に基づき判定されてよい。ジョブの実行を中止する場合としては、例えば、バッチ処理等におけるジョブの継続が困難な異常が発生した場合等が挙げられる。
【０１９８】
〔１−５−３〕先行依存型ジョブの異常検出処理
次に、図２６のステップＳ１３における先行依存型ジョブの異常検出処理の動作例を説明する。図２７に示すように、異常判定部２２４は、先行依存型ジョブに先行するジョブの特定処理を行なう（ステップＳ３１）。
【０１９９】
異常判定部２２４は、特定した先行するジョブのうち、実行順序が先のジョブを選択する（ステップＳ３２）。
【０２００】
異常判定部２２４は、選択したジョブがファイル作成ジョブか否かを判定する（ステップＳ３３）。ファイル作成ジョブの場合（ステップＳ３３でＹｅｓ）、異常判定部２２４は、ファイル作成ジョブが実行中か否かを判定する（ステップＳ３４）。
【０２０１】
ファイル作成ジョブが実行中の場合（ステップＳ３４でＹｅｓ）、異常判定部２２４は、ジョブ定義情報２１１に設定された先行依存型ジョブの監視間隔時間の経過を待ち合わせ（ステップＳ３５）、処理がステップＳ３４に移行する。
【０２０２】
一方、ファイル作成ジョブが実行中ではない場合（ステップＳ３４でＮｏ）、異常判定部２２４は、ファイル作成ジョブが正常終了したか否かを判定し（ステップＳ３６）、正常終了していない場合（ステップＳ３６でＮｏ）、処理が終了する。
【０２０３】
ステップＳ３３において、選択したジョブがファイル作成ジョブでない場合（ステップＳ３３でＮｏ）、又は、ステップＳ３６において、ファイル作成ジョブが正常終了した場合（ステップＳ３６でＹｅｓ）、処理がステップＳ３７に移行する。
【０２０４】
ステップＳ３７では、異常判定部２２４は、選択したジョブがファイル転送ジョブか否かを判定する。ファイル転送ジョブの場合（ステップＳ３７でＹｅｓ）、異常判定部２２４は、ファイル転送ジョブが実行中か否かを判定する（ステップＳ３８）。
【０２０５】
ファイル転送ジョブが実行中の場合（ステップＳ３８でＹｅｓ）、異常判定部２２４は、上記式（１）及び（２）に基づいて、転送速度、受信完了予定時刻を算出する（ステップＳ３９）。この算出には、例えば、ファイルの転送サイズ（全体サイズ）、現在の転送済サイズ（現在サイズ）、現在時刻、ファイル転送ジョブの開始実績時刻等の情報が用いられてよい。
【０２０６】
次いで、異常判定部２２４は、受信完了予定時刻が終了予定時刻に許容時間を加えた時刻（許容終了予定時刻）よりも後か否かを判定する（ステップＳ４０）。受信完了予定時刻が許容終了予定時刻以前の場合（ステップＳ４０でＮｏ）、異常判定部２２４は、ジョブ定義情報２１１に設定された先行依存型ジョブの監視間隔時間の経過を待ち合わせ（ステップＳ４１）、処理がステップＳ３８に移行する。
【０２０７】
一方、受信完了予定時刻が許容終了予定時刻よりも後の場合（ステップＳ４０でＹｅｓ）、処理が異常として終了する。
【０２０８】
ステップＳ３８において、ファイル転送ジョブが実行中ではない場合（ステップＳ３８でＮｏ）、異常判定部２２４は、ファイル転送ジョブが正常終了したか否かを判定し（ステップＳ４２）、正常終了していない場合（ステップＳ４２でＮｏ）、処理が終了する。
【０２０９】
ステップＳ３７において、選択したジョブがファイル転送ジョブでない場合（ステップＳ３７でＮｏ）、又は、ステップＳ４２において、ファイル転送ジョブが正常終了した場合（ステップＳ４２でＹｅｓ）、処理がステップＳ４３に移行する。
【０２１０】
ステップＳ４３では、異常判定部２２４は、ステップＳ３２において未選択の先行するジョブがあるか否かを判定し、未選択の先行するジョブがない場合（ステップＳ４３でＮｏ）、処理が終了する。
【０２１１】
一方、未選択の先行するジョブがある場合（ステップＳ４３でＹｅｓ）、異常判定部２２４は、未選択の先行するジョブのうち、実行順序が先のジョブを選択し（ステップＳ４４）、処理がステップＳ３３に移行する。
【０２１２】
〔１−５−４〕先行するジョブの特定処理
次に、図２７のステップＳ３１における先行するジョブの特定処理の動作例を説明する。なお、以下、サーバＢの異常判定部２２４が、サーバＡで実行される先行するジョブを特定する場合の例を示す。
【０２１３】
図２８に示すように、異常判定部２２４は、ファイル転送元のサーバＡのジョブ定義情報２１１を参照して、ジョブの種類がファイル転送であるジョブを１つ選択する（ステップＳ５１）。
【０２１４】
異常判定部２２４は、ジョブ定義情報２１１を参照して、選択したファイル転送ジョブが条件を満たすか否かを判定し（ステップＳ５２）、満たさない場合（ステップＳ５２でＮｏ）、処理がステップＳ５１に移行する。なお、条件としては、例えば、ファイル転送ジョブの転送先サーバ名がサーバＢであり、且つ、ファイル転送ジョブの転送先ファイル名がファイル待ちジョブの待ち合わせファイル名である、ことが挙げられる。
【０２１５】
一方、選択したファイル選択ジョブが条件を満たす場合（ステップＳ５２でＹｅｓ）、異常判定部２２４は、ファイル転送元のサーバＡのジョブ定義情報２１１を参照して、ジョブの種類がファイル生成であるジョブを１つ選択する（ステップＳ５３）。
【０２１６】
異常判定部２２４は、ジョブ定義情報２１１を参照して、選択したファイル生成ジョブが条件を満たすか否かを判定し（ステップＳ５４）、満たさない場合（ステップＳ５４でＮｏ）、処理がステップＳ５３に移行する。なお、条件としては、例えば、ファイル転送ジョブの転送先サーバ名がサーバＢであり、且つ、ファイル転送ジョブの転送先ファイル名がファイル待ちジョブの待ち合わせファイル名である、ことが挙げられる。
【０２１７】
一方、選択したファイル生成ジョブが条件を満たす場合（ステップＳ５４でＹｅｓ）、異常判定部２２４は、選択したジョブを、ファイル待ちジョブの先行するジョブとして特定し（ステップＳ５５）、処理が終了する。
【０２１８】
なお、図２７及び図２８には、先行するジョブがファイル生成ジョブ及びファイル転送ジョブである場合の例を示すが、これらのジョブに限定されるものではなく、ジョブ定義情報２１１に設定されたジョブの関係に応じて種々変形して実行されてよい。先行するジョブとしては、例えば、バッチ業務として設定可能なジョブであって、自サーバ２又は他のサーバ２で実行可能な種々のジョブが挙げられる。
【０２１９】
〔１−５−５〕起動したジョブの異常検出処理
次に、図２６のステップＳ１７における起動したジョブの異常検出処理の動作例を説明する。図２９に示すように、異常判定部２２４は、起動したジョブが上記（ｂ）のネットワーク異常型か否かを判定する（ステップＳ６１）。
【０２２０】
起動したジョブがネットワーク異常型の場合（ステップＳ６１でＹｅｓ）、異常判定部２２４は、ジョブの通信先、例えばＤＢサーバ２の状態確認を行ない（ステップＳ６２）、ＤＢサーバ２が正常状態か否かを判定する（ステップＳ６３）。
【０２２１】
ＤＢサーバ２が正常状態ではない場合（ステップＳ６３でＮｏ）、例えば応答がない場合、異常判定部２２４は異常を検出し（ステップＳ６４）、処理が終了する。
【０２２２】
一方、ＤＢサーバ２が正常状態の場合（ステップＳ６３でＹｅｓ）、異常判定部２２４は、ネットワーク異常型のジョブ、例えばＤＢ抽出ジョブの状態を確認し（ステップＳ６５）、ＤＢ抽出ジョブが正常状態か否かを判定する（ステップＳ６６）。
【０２２３】
ＤＢ抽出ジョブが正常状態ではない場合（ステップＳ６６でＮｏ）、処理がステップＳ６４に移行する。一方、ＤＢ抽出ジョブが正常状態の場合（ステップＳ６６でＹｅｓ）、異常判定部２２４は、ＤＢ抽出ジョブが実行中か否かを判定する（ステップＳ６７）。
【０２２４】
ＤＢ抽出ジョブが実行中ではない場合（ステップＳ６７でＮｏ）、処理が終了する。一方、ＤＢ抽出ジョブが実行中の場合（ステップＳ６７でＹｅｓ）、異常判定部２２４は、上記式（１）及び（２）に基づいて、転送速度、抽出完了予定時刻を算出する（ステップＳ６８）。この算出には、例えば、データの転送サイズ（全体サイズ）、現在の転送済サイズ（現在サイズ）、現在時刻、ＤＢ抽出ジョブの開始実績時刻等の情報が用いられてよい。
【０２２５】
次いで、異常判定部２２４は、抽出完了予定時刻が終了予定時刻に許容時間を加えた時刻（許容終了予定時刻）よりも後か否かを判定する（ステップＳ６９）。抽出完了予定時刻が許容終了予定時刻以前の場合（ステップＳ６９でＮｏ）、異常判定部２２４は、ジョブ定義情報２１１に設定されたネットワーク異常型ジョブの監視間隔時間の経過を待ち合わせ（ステップＳ７０）、処理がステップＳ６７に移行する。
【０２２６】
一方、抽出完了予定時刻が許容終了予定時刻よりも後の場合（ステップＳ６９でＹｅｓ）、処理がステップＳ６４に移行する。
【０２２７】
ステップＳ６１において、起動したジョブがネットワーク異常型ではない場合（ステップＳ６１でＮｏ）、処理が図３０のステップＳ７１に移行する。
【０２２８】
図３０に示すように、異常判定部２２４は、起動したジョブが上記（ｃ）の一定時間動作型か否かを判定する（ステップＳ７１）。
【０２２９】
起動したジョブが一定時間動作型の場合（ステップＳ７１でＹｅｓ）、異常判定部２２４は、一定時間動作型のジョブ、例えばインフラジョブの状態を確認し（ステップＳ７２）、インフラジョブが正常状態か否かを判定する（ステップＳ７３）。
【０２３０】
インフラジョブが正常状態ではない場合（ステップＳ７３でＮｏ）、異常判定部２２４は、異常を検出し（ステップＳ７４）、処理が終了する。一方、インフラジョブが正常状態の場合（ステップＳ７３でＹｅｓ）、異常判定部２２４は、インフラジョブが実行中か否かを判定する（ステップＳ７５）。
【０２３１】
インフラジョブが実行中ではない場合（ステップＳ７５でＮｏ）、処理が終了する。一方、インフラジョブが実行中の場合（ステップＳ７５でＹｅｓ）、異常判定部２２４は、現在時刻が終了予定時刻に許容時間を加えた時刻（許容終了予定時刻）よりも後か否かを判定する（ステップＳ７６）。現在時刻が許容終了予定時刻以前の場合（ステップＳ７６でＮｏ）、異常判定部２２４は、ジョブ定義情報２１１に設定された一定時間動作型ジョブの監視間隔時間の経過を待ち合わせ（ステップＳ７７）、処理がステップＳ７５に移行する。
【０２３２】
一方、現在時刻が許容終了予定時刻よりも後の場合（ステップＳ７６でＹｅｓ）、処理がステップＳ７４に移行する。
【０２３３】
ステップＳ７１において、起動したジョブが一定時間動作型ではない場合（ステップＳ７１でＮｏ）、処理が図３１のステップＳ８１に移行する。
【０２３４】
図３１に示すように、異常判定部２２４は、起動したジョブが上記（ｄ）のディスク異常型か否かを判定する（ステップＳ８１）。
【０２３５】
起動したジョブがディスク異常型の場合（ステップＳ８１でＹｅｓ）、異常判定部２２４は、ジョブのアクセス先、例えばディスクの状態確認を行ない（ステップＳ８２）、ディスクが正常状態か否かを判定する（ステップＳ８３）。
【０２３６】
ディスクが正常状態ではない場合（ステップＳ８３でＮｏ）、例えば応答がない場合、異常判定部２２４は異常を検出し（ステップＳ８４）、処理が終了する。
【０２３７】
一方、ディスクが正常状態の場合（ステップＳ８３でＹｅｓ）、異常判定部２２４は、ディスク異常型のジョブ、例えばバックアップジョブの状態を確認し（ステップＳ８５）、バックアップジョブが正常状態か否かを判定する（ステップＳ８６）。
【０２３８】
バックアップジョブが正常状態ではない場合（ステップＳ８６でＮｏ）、処理がステップＳ８４に移行する。一方、バックアップジョブが正常状態の場合（ステップＳ８６でＹｅｓ）、異常判定部２２４は、バックアップジョブが実行中か否かを判定する（ステップＳ８７）。
【０２３９】
バックアップジョブが実行中ではない場合（ステップＳ８７でＮｏ）、処理が終了する。一方、バックアップジョブが実行中の場合（ステップＳ８７でＹｅｓ）、異常判定部２２４は、上記式（１）及び（２）に基づいて、例えば、書込速度、書込完了予定時刻を算出する（ステップＳ８８）。この算出には、例えば、データの書込サイズ（全体サイズ）、現在の書込済サイズ（現在サイズ）、現在時刻、バックアップジョブの開始実績時刻等の情報が用いられてよい。
【０２４０】
次いで、異常判定部２２４は、書込完了予定時刻が終了予定時刻に許容時間を加えた時刻（許容終了予定時刻）よりも後か否かを判定する（ステップＳ８９）。書込完了予定時刻が許容終了予定時刻以前の場合（ステップＳ８９でＮｏ）、異常判定部２２４は、ジョブ定義情報２１１に設定されたディスク異常型ジョブの監視間隔時間の経過を待ち合わせ（ステップＳ９０）、処理がステップＳ８７に移行する。
【０２４１】
一方、書込完了予定時刻が許容終了予定時刻よりも後の場合（ステップＳ８９でＹｅｓ）、処理がステップＳ８４に移行する。
【０２４２】
ステップＳ８１において、起動したジョブがディスク異常型ではない場合（ステップＳ８１でＮｏ）、起動したジョブはデータ型のジョブである。この場合、処理が図３２のステップＳ９１に移行する。
【０２４３】
図３２に示すように、異常判定部２２４は、データ型のジョブ、例えばデータ加工ジョブの状態を確認し（ステップＳ９１）、正常終了したか否かを判定する（ステップＳ９２）。
【０２４４】
データ加工ジョブが正常終了していない場合（ステップＳ９２でＮｏ）、異常判定部２２４は、異常を検出し（ステップＳ９３）、処理が終了する。一方、データ加工ジョブが正常終了した場合（ステップＳ９２でＹｅｓ）、処理が終了する。
【０２４５】
〔１−６〕ハードウェア構成例
次に、図３３を参照して、一実施形態に係るサーバ２のハードウェア構成例について説明する。以下、サーバ２の一例としてコンピュータ１０を例に挙げて、コンピュータ１０のハードウェア構成例について説明する。
【０２４６】
図３３に示すように、コンピュータ１０は、例示的に、プロセッサ１０ａ、メモリ１０ｂ、記憶部１０ｃ、ＩＦ（Interface）部１０ｄ、Ｉ／Ｏ（Input / Output）部１０ｅ、及び読取部１０ｆをそなえてよい。
【０２４７】
プロセッサ１０ａは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ１０ａは、コンピュータ１０内の各ブロックとバス１０ｉで相互に通信可能に接続されてよい。プロセッサ１０ａとしては、例えば、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＡＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ等の集積回路（ＩＣ；Integrated Circuit）が用いられてもよい。なお、ＣＰＵはCentral Processing Unitの略称であり、ＭＰＵはMicro Processing Unitの略称である。ＧＰＵはGraphics Processing Unitの略称であり、ＡＰＵはAccelerated Processing Unitの略称である。ＤＳＰはDigital Signal Processorの略称であり、ＡＳＩＣはApplication Specific ICの略称であり、ＦＰＧＡはField-Programmable Gate Arrayの略称である。
【０２４８】
メモリ１０ｂは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。メモリ１０ｂとしては、例えばＲＡＭ等の揮発性メモリが挙げられる。
【０２４９】
記憶部１０ｃは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。記憶部１０ｃとしては、例えばＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、ＳＣＭ（Storage Class Memory）、ＲＯＭ（Read Only Memory）等が挙げられる。
【０２５０】
なお、図２に示すサーバ２のメモリ部２１は、例えば、サーバ２のメモリ１０ｂ及び記憶部１０ｃの少なくとも一方の記憶領域により実現されてもよい。
【０２５１】
また、記憶部１０ｃは、コンピュータ１０の各種機能の全部若しくは一部を実現するプログラム１０ｇを格納してよい。プロセッサ１０ａは、記憶部１０ｃに格納されたプログラム（例えば判定プログラム）１０ｇをメモリ１０ｂに展開して実行することにより、図２に示すサーバ２のジョブ管理部２２としての機能を実現できる。
【０２５２】
ＩＦ部１０ｄは、ネットワーク１ａとの間の接続及び通信の制御等を行なう通信ＩＦの一例である。例えば、ＩＦ部１０ｄは、ＬＡＮ、或いは、光通信（例えばＦＣ（Fibre Channel；ファイバチャネル））等に準拠したアダプタを含んでよい。例えば、プログラム１０ｇは、当該通信ＩＦを介してネットワーク１ａからコンピュータ１０にダウンロードされ、記憶部１０ｃに格納されてもよい。
【０２５３】
Ｉ／Ｏ部１０ｅは、マウス、キーボード、又は操作ボタン等の入力部、並びに、タッチパネルディスプレイ、ＬＣＤ（Liquid Crystal Display）等のモニタ、プロジェクタ、又はプリンタ等の出力部、の一方又は双方を含んでよい。
【０２５４】
読取部１０ｆは、記録媒体１０ｈに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部１０ｆは、記録媒体１０ｈを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部１０ｆとしては、例えば、ＵＳＢ（Universal Serial Bus）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体１０ｈにはプログラム１０ｇが格納されてもよく、読取部１０ｆが記録媒体１０ｈからプログラム１０ｇを読み出して記憶部１０ｃに格納してもよい。
【０２５５】
記録媒体１０ｈとしては、例示的に、磁気／光ディスクやフラッシュメモリ等の非一時的な記録媒体が挙げられる。磁気／光ディスクとしては、例示的に、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク、ＨＶＤ（Holographic Versatile Disc）等が挙げられる。フラッシュメモリとしては、例示的に、ＵＳＢメモリやＳＤカード等が挙げられる。なお、ＣＤとしては、例示的に、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等が挙げられる。また、ＤＶＤとしては、例示的に、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。
【０２５６】
上述したコンピュータ１０のハードウェア構成は例示である。従って、コンピュータ１０内でのハードウェアの増減（例えば任意のブロックの追加や削除）、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【０２５７】
〔２〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【０２５８】
例えば、図２に示すサーバ２の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【０２５９】
さらに、図３３に示すコンピュータ１０のプロセッサ１０ａは、シングルプロセッサやシングルコアプロセッサに限定されるものではなく、マルチプロセッサやマルチコアプロセッサであってもよい。
【０２６０】
また、図２に示すジョブ管理部２２の機能の少なくとも一部は、ネットワーク１ａ及び／又は１ｂを介して、サーバ２以外の装置（図示省略）に分散又は冗長化して配置されてもよい。
【０２６１】
〔３〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０２６２】
（付記１）
対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、前記ジョブの異常に関する判定を行なう判定プログラムにおいて、
ジョブの異常に関する判定を行なう際に監視する監視対象を該ジョブに対応付けて記憶する記憶部を参照して、前記対象のジョブに対応付けられた監視対象を特定し、
特定した前記監視対象の監視により取得した監視情報に基づき、前記基準時刻又は前記基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更し、
前記新たな基準時刻又は前記新たな基準時間に基づき、前記対象のジョブの異常に関する判定を行なう、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【０２６３】
（付記２）
前記監視情報に基づき、前記対象のジョブが、前記基準時刻から前記新たな基準時刻までの間、又は、前記基準時間外であって前記新たな基準時間内、に終了すると判断した場合に、前記基準時刻又は前記基準時間を、それぞれ前記新たな基準時刻又は前記新たな基準時間に変更する、
処理を前記コンピュータに実行させる、付記１に記載の判定プログラム。
【０２６４】
（付記３）
ジョブの終了の遅延が許容される許容時間を該ジョブに対応付けて記憶する記憶部を参照して、前記監視情報に基づき、前記基準時刻又は前記基準時間に対して、それぞれ前記許容時間を加算することで、前記新たな基準時刻又は前記新たな基準時間に変更する、
処理を前記コンピュータに実行させる、付記２に記載の判定プログラム。
【０２６５】
（付記４）
前記監視情報に基づき、前記監視対象の障害を検出した場合に、前記基準時刻の到来又は前記基準時間の満了を待たずに、前記対象のジョブを異常と判定する、
処理を前記コンピュータに実行させる、付記１〜付記３のいずれか１項に記載の判定プログラム。
【０２６６】
（付記５）
前記監視情報に基づき、前記対象のジョブが、前記新たな基準時刻までに終了しない、又は、前記新たな基準時間内に終了しないと判断した場合に、前記基準時刻の到来又は前記基準時間の満了を待たずに、前記対象のジョブを異常と判定する、
処理を前記コンピュータに実行させる、付記１〜付記４のいずれか１項に記載の判定プログラム。
【０２６７】
（付記６）
前記対象のジョブの過去の開始時刻又は実行時間と、前記対象のジョブによる前記監視対象へのデータの転送速度と、に基づいて、前記対象のジョブが終了する予定時刻又は予定時間を算出し、
前記基準時刻と前記予定時刻との比較、又は、前記基準時間と前記予定時間との比較、を行なうことで、前記基準時刻又は前記基準時間の変更のための前記判断を行なう、
処理を前記コンピュータに実行させる、付記１〜付記５のいずれか１項に記載の判定プログラム。
【０２６８】
（付記７）
対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、前記ジョブの異常に関する判定を行なう判定方法において、
ジョブの異常に関する判定を行なう際に監視する監視対象を該ジョブに対応付けて記憶する記憶部を参照して、前記対象のジョブに対応付けられた監視対象を特定し、
特定した前記監視対象の監視により取得した監視情報に基づき、前記基準時刻又は前記基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更し、
前記新たな基準時刻又は前記新たな基準時間に基づき、前記対象のジョブの異常に関する判定を行なう、
ことを特徴とする判定方法。
【０２６９】
（付記８）
前記監視情報に基づき、前記対象のジョブが、前記基準時刻から前記新たな基準時刻までの間、又は、前記基準時間外であって前記新たな基準時間内、に終了すると判断した場合に、前記基準時刻又は前記基準時間を、それぞれ前記新たな基準時刻又は前記新たな基準時間に変更する、
付記７に記載の判定方法。
【０２７０】
（付記９）
ジョブの終了の遅延が許容される許容時間を該ジョブに対応付けて記憶する記憶部を参照して、前記監視情報に基づき、前記基準時刻又は前記基準時間に対して、それぞれ前記許容時間を加算することで、前記新たな基準時刻又は前記新たな基準時間に変更する、
付記８に記載の判定方法。
【０２７１】
（付記１０）
前記監視情報に基づき、前記監視対象の障害を検出した場合に、前記基準時刻の到来又は前記基準時間の満了を待たずに、前記対象のジョブを異常と判定する、
付記７〜付記９のいずれか１項に記載の判定方法。
【０２７２】
（付記１１）
前記監視情報に基づき、前記対象のジョブが、前記新たな基準時刻までに終了しない、又は、前記新たな基準時間内に終了しないと判断した場合に、前記基準時刻の到来又は前記基準時間の満了を待たずに、前記対象のジョブを異常と判定する、
付記７〜付記１０のいずれか１項に記載の判定方法。
【０２７３】
（付記１２）
前記対象のジョブの過去の開始時刻又は実行時間と、前記対象のジョブによる前記監視対象へのデータの転送速度と、に基づいて、前記対象のジョブが終了する予定時刻又は予定時間を算出し、
前記基準時刻と前記予定時刻との比較、又は、前記基準時間と前記予定時間との比較、を行なうことで、前記基準時刻又は前記基準時間の変更のための前記判断を行なう、
付記７〜付記１１のいずれか１項に記載の判定方法。
【０２７４】
（付記１３）
対象のジョブが基準時刻までに終了したか又は基準時間内に終了したかに基づき、前記ジョブの異常に関する判定を行なう判定装置であって、
ジョブの異常に関する判定を行なう際に監視する監視対象を該ジョブに対応付けて記憶する記憶部と、
前記記憶部を参照して、前記対象のジョブに対応付けられた監視対象を特定する特定部と、
特定した前記監視対象の監視により取得した監視情報に基づき、前記基準時刻又は前記基準時間を、それぞれ新たな基準時刻又は新たな基準時間に変更する変更部と、
前記新たな基準時刻又は前記新たな基準時間に基づき、前記対象のジョブの異常に関する判定を行なう判定部と、
をそなえることを特徴とする判定装置。
【０２７５】
（付記１４）
前記変更部は、前記監視情報に基づき、前記対象のジョブが、前記基準時刻から前記新たな基準時刻までの間、又は、前記基準時間外であって前記新たな基準時間内、に終了すると判断した場合に、前記基準時刻又は前記基準時間を、それぞれ前記新たな基準時刻又は前記新たな基準時間に変更する、
付記１３に記載の判定装置。
【０２７６】
（付記１５）
前記変更部は、ジョブの終了の遅延が許容される許容時間を該ジョブに対応付けて記憶する記憶部を参照して、前記監視情報に基づき、前記基準時刻又は前記基準時間に対して、それぞれ前記許容時間を加算することで、前記新たな基準時刻又は前記新たな基準時間に変更する、
付記１４に記載の判定装置。
【０２７７】
（付記１６）
前記判定部は、前記監視情報に基づき、前記監視対象の障害を検出した場合に、前記基準時刻の到来又は前記基準時間の満了を待たずに、前記対象のジョブを異常と判定する、
付記１３〜付記１５のいずれか１項に記載の判定装置。
【０２７８】
（付記１７）
前記判定部は、前記監視情報に基づき、前記対象のジョブが、前記新たな基準時刻までに終了しない、又は、前記新たな基準時間内に終了しないと判断した場合に、前記基準時刻の到来又は前記基準時間の満了を待たずに、前記対象のジョブを異常と判定する、
付記１３〜付記１６のいずれか１項に記載の判定装置。
【０２７９】
（付記１８）
前記変更部は、
前記対象のジョブの過去の開始時刻又は実行時間と、前記対象のジョブによる前記監視対象へのデータの転送速度と、に基づいて、前記対象のジョブが終了する予定時刻又は予定時間を算出し、
前記基準時刻と前記予定時刻との比較、又は、前記基準時間と前記予定時間との比較、を行なうことで、前記基準時刻又は前記基準時間の変更のための前記判断を行なう、
付記１３〜付記１７のいずれか１項に記載の判定装置。
【符号の説明】
【０２８０】
１    判定システム
１ａ、１ｂ    ネットワーク
２、２−１〜２−ｎ    サーバ
２１    メモリ部
２１１    ジョブ定義情報
２１２    実行履歴情報
２１３    ジョブ分類情報
２２    ジョブ管理部
２２１    スケジューラ
２２２    実行制御部
２２３    分類部
２２４    異常判定部
２３    業務プログラム
３    端末
【図１】
2019139262.tif 000003
【図２】
2019139262.tif 000004
【図３】
2019139262.tif 000005
【図４】
2019139262.tif 000006
【図５】
2019139262.tif 000007
【図６】
2019139262.tif 000008
【図７】
2019139262.tif 000009
【図８】
2019139262.tif 000010
【図９】
2019139262.tif 000011
【図１０】
2019139262.tif 000012
【図１１】
2019139262.tif 000013
【図１２】
2019139262.tif 000014
【図１３】
2019139262.tif 000015
【図１４】
2019139262.tif 000016
【図１５】
2019139262.tif 000017
【図１６】
2019139262.tif 000018
【図１７】
2019139262.tif 000019
【図１８】
2019139262.tif 000020
【図１９】
2019139262.tif 000021
【図２０】
2019139262.tif 000022
【図２１】
2019139262.tif 000023
【図２２】
2019139262.tif 000024
【図２３】
2019139262.tif 000025
【図２４】
2019139262.tif 000026
【図２５】
2019139262.tif 000027
【図２６】
2019139262.tif 000028
【図２７】
2019139262.tif 000029
【図２８】
2019139262.tif 000030
【図２９】
2019139262.tif 000031
【図３０】
2019139262.tif 000032
【図３１】
2019139262.tif 000033
【図３２】
2019139262.tif 000034
【図３３】
2019139262.tif 000035
【図３４】
2019139262.tif 000036
【図３５】
2019139262.tif 000037