(57)【要約】【課題】ジョブの状態を反映させた画面の出力の遅延発生を防止することを可能とするジョブ監視プログラム、ジョブ監視装置及びジョブ監視方法を提供する。【解決手段】実行するジョブのスケジュール管理を行う複数のジョブスケジューラのそれぞれから、ジョブのスケジュール情報を取得し、取得したスケジュール情報に基づいて、特定の期間内に実行される対象ジョブを特定し、特定した対象ジョブの管理を行うジョブスケジューラに対して、特定した対象ジョブの状態に関する情報を要求し、要求に応じて取得した対象ジョブの状態に関する情報から、特定の時間内に実行される対象ジョブの状態を示す画面を生成する。【選択図】図６
2018116518.tif 000002
【特許請求の範囲】
【請求項１】
実行するジョブのスケジュール管理を行う複数のジョブスケジューラのそれぞれから、ジョブのスケジュール情報を取得し、
取得した前記スケジュール情報に基づいて、特定の期間内に実行される対象ジョブを特定し、
特定した前記対象ジョブの管理を行うジョブスケジューラに対して、特定した前記対象ジョブの状態に関する情報を要求し、
要求に応じて取得した前記対象ジョブの状態に関する情報から、前記特定の時間内に実行される前記対象ジョブの状態を示す画面を生成する、
処理をコンピュータに実行させることを特徴とするジョブ監視プログラム。
【請求項２】
請求項１において、さらに、
前記要求する処理の前に、時間帯に応じてジョブの状態の取得に要する時間を記憶する記憶部を参照し、前記対象ジョブの状態に関する情報を要求するタイミングを決定する、
処理をコンピュータに実行させ、
前記要求する処理では、決定したタイミングにおいて前記対象ジョブの状態に関する情報の要求を行う、
ことを特徴とするジョブ監視プログラム。
【請求項３】
請求項２において、
前記決定する処理では、
前記対象ジョブの状態に関する情報の取得に要する第１の時間を、前記対象ジョブに対応するジョブスケジューラ毎に特定し、
前記生成する処理を行うタイミングよりも前記第１の時間以上前のタイミングを、前記対象ジョブの状態に関する情報を要求するタイミングとして、前記対象ジョブに対応するジョブスケジューラ毎に決定する、
ことを特徴とするジョブ監視プログラム。
【請求項４】
請求項１において、さらに、
前記対象ジョブが複数存在する場合、前記要求する処理の前に、時間帯に応じてジョブの状態の取得に要する時間を記憶する記憶部を参照し、前記対象ジョブの状態に関する情報を要求する順序を決定する、
処理をコンピュータに実行させ、
前記要求する処理では、決定した順序に従ったタイミングにおいて前記対象ジョブの状態に関する情報の要求を行う、
ことを特徴とするジョブ監視プログラム。
【請求項５】
請求項４において、
前記決定する処理では、
前記対象ジョブの状態に関する情報の取得に要する第２の時間を、前記対象ジョブに対応するジョブスケジューラ毎に特定し、
特定した前記第２の時間が他のジョブスケジューラよりも長いジョブスケジューラに対応する対象ジョブの順序が、前記他のジョブスケジューラに対応する対象ジョブよりも前になるように、前記対象ジョブの状態に関する情報を要求する順序を決定する、
ことを特徴とするジョブ監視プログラム。
【請求項６】
請求項１において、
前記特定する処理では、前記特定の期間内に実行されるジョブに加え、手動による操作が行われたジョブを前記対象ジョブとして特定する、
ことを特徴とするジョブ監視プログラム。
【請求項７】
請求項６において、
前記特定する処理では、直前に行われた前記画面の生成の後に前記手動による操作が行われたジョブを、前記対象ジョブとして特定する、
ことを特徴とするジョブ監視プログラム。
【請求項８】
請求項６において、
前記特定する処理では、前記手動による操作が行われた場合に出力される操作ログが生成された場合、生成された前記操作ログに対応するジョブを、前記対象ジョブとして特定する、
ことを特徴とするジョブ監視プログラム。
【請求項９】
請求項１において、
前記特定する処理では、前記特定の期間内に実行されるジョブに加え、過去に実行されたジョブのうちの正常に終了していないジョブを、前記対象ジョブとして特定する、
ことを特徴とするジョブ監視プログラム。
【請求項１０】
実行するジョブのスケジュール管理を行う複数のジョブスケジューラのそれぞれから、ジョブのスケジュール情報を取得するスケジュール取得部と、
取得した前記スケジュール情報に基づいて、特定の期間内に実行される対象ジョブを特定する対象ジョブ特定部と、
特定した前記対象ジョブの管理を行うジョブスケジューラに対して、特定した前記対象ジョブの状態に関する情報を要求する要求送信部と、
要求に応じて取得した前記対象ジョブの状態に関する情報から、前記特定の時間内に実行される前記対象ジョブの状態を示す画面を生成する画面生成部と、を有する、
ことを特徴とするジョブ監視装置。
【請求項１１】
実行するジョブのスケジュール管理を行う複数のジョブスケジューラのそれぞれから、ジョブのスケジュール情報を取得し、
取得した前記スケジュール情報に基づいて、特定の期間内に実行される対象ジョブを特定し、
特定した前記対象ジョブの管理を行うジョブスケジューラに対して、特定した前記対象ジョブの状態に関する情報を要求し、
要求に応じて取得した前記対象ジョブの状態に関する情報から、前記特定の時間内に実行される前記対象ジョブの状態を示す画面を生成する、
ことを特徴とするジョブ監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ監視プログラム、ジョブ監視装置及びジョブ監視方法に関する。
【背景技術】
【０００２】
例えば、利用者にサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、サービスの提供を行うための業務システム（以下、情報処理システムとも呼ぶ）を構築して稼働させる。
【０００３】
この場合、業務システムの運用者（以下、単に運用者とも呼ぶ）は、例えば、業務システムを構成するジョブまたはジョブネット（以下、これらを総称してジョブとも呼ぶ）の稼働状態を監視する監視装置によって出力される画面の確認を行う。これにより、業務システムの運用者は、各ジョブの稼働状態の確認を行うことが可能になる。そのため、運用者は、業務システムにおいて異常が発生した場合に、その異常の検知を迅速に行うことが可能になる（例えば、特許文献１から３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１５０４４２号公報
【特許文献２】特開２００２−１５７１３４号公報
【特許文献３】特開２００１−３５０６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のような業務システムでは、利用者によるサービスの利用状況等に応じて、複数のデータセンターにそれぞれ構築された各業務システムの集約が行われる。そして、運用者は、この場合、例えば、集約対象の業務システムの監視を行う監視装置の集約を併せて行う。これにより、運用者は、稼働させる監視装置の台数を減らすことが可能になり、各業務システムの監視に要する作業負担を軽減させることが可能になる。
【０００６】
しかしながら、上記のように業務システムの集約が行われる場合、各監視装置が監視を行う必要があるジョブの数は増加する。そのため、監視装置では、この場合、各ジョブの稼働状態を示す情報（以下、状態情報とも呼ぶ）の取得に要する時間が長くなり、運用者が監視を行う画面の出力が遅延する可能性がある。
【０００７】
そこで、一つの側面では、ジョブの状態を反映させた画面の出力の遅延発生を防止することを可能とするジョブ監視プログラム、ジョブ監視装置及びジョブ監視方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態の一つの態様によれば、実行するジョブのスケジュール管理を行う複数のジョブスケジューラのそれぞれから、ジョブのスケジュール情報を取得し、取得した前記スケジュール情報に基づいて、特定の期間内に実行される対象ジョブを特定し、特定した前記対象ジョブの管理を行うジョブスケジューラに対して、特定した前記対象ジョブの状態に関する情報を要求し、要求に応じて取得した前記対象ジョブの状態に関する情報から、前記特定の時間内に実行される前記対象ジョブの状態を示す画面を生成する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一つの側面によれば、ジョブの状態を反映させた画面の出力の遅延発生を防止することを可能とする。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報処理システム１０の全体構成を示す図である。
【図２】図２は、監視装置１のハードウエア構成を説明する図である。
【図３】図３は、管理装置２のハードウエア構成を説明する図である。
【図４】図４は、監視装置１の機能ブロック図である。
【図５】図５は、管理装置２の機能ブロック図である。
【図６】図６は、第１の実施の形態におけるジョブ監視処理の概略を説明するフローチャートである。
【図７】図７は、第１の実施の形態におけるジョブ監視処理の概略を説明する図である。
【図８】図８は、第１の実施の形態におけるジョブ監視処理の概略を説明する図である。
【図９】図９は、第１の実施の形態におけるジョブ監視処理の概略を説明する図である。
【図１０】図１０は、第１の実施の形態におけるジョブ監視処理の詳細を説明するフローチャートである。
【図１１】図１１は、第１の実施の形態におけるジョブ監視処理の詳細を説明するフローチャートである。
【図１２】図１２は、第１の実施の形態におけるジョブ監視処理の詳細を説明するフローチャートである。
【図１３】図１３は、第１の実施の形態におけるジョブ監視処理の詳細を説明するフローチャートである。
【図１４】図１４は、第１の実施の形態におけるジョブ監視処理の詳細を説明するフローチャートである。
【図１５】図１５は、スケジュール情報１３１の具体例を説明する図である。
【図１６】図１６は、第１の実施の形態におけるジョブ監視処理の詳細を説明する図である。
【図１７】図１７は、時間帯情報１３３の具体例を説明する図である。
【図１８】図１８は、第１の実施の形態におけるジョブ監視処理の詳細を説明する図である。
【図１９】図１９は、状態情報１３２の具体例を説明する図である。
【図２０】図２０は、監視画面の具体例を説明する図である。
【図２１】図２１は、図２０に示す監視画面の出力が行われた後、ジョブ監視処理が再度行われる場合の具体例を説明する図である。
【図２２】図２２は、図２０に示す監視画面の出力が行われた後、ジョブ監視処理が再度行われる場合の具体例を説明する図である。
【図２３】図２３は、図２０に示す監視画面の出力が行われた後、ジョブ監視処理が再度行われる場合の具体例を説明する図である。
【図２４】図２４は、図２０に示す監視画面の出力が行われた後、ジョブ監視処理が再度行われる場合の具体例を説明する図である。
【図２５】図２５は、第２の実施の形態におけるジョブ監視処理を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を示す図である。図１に示す情報処理システム１０は、例えば、利用者にサービスを提供するための業務システムである。
【００１２】
図１に示す情報処理システム１０は、利用者にサービスを提供するためのジョブを実行するジョブ実行装置３ａ、３ｂ及び３ｃ（以下、これらを総称してジョブ実行装置３とも呼ぶ）を有する。各ジョブ実行装置３は、例えば、複数のデータセンター（図示しない）に分散して配備されている。
【００１３】
また、図１に示す情報処理システム１０は、ジョブ実行装置３ａ、３ｂ及び３ｃにおいて実行される各ジョブのスケジュール管理を行うジョブスケジューラＪＳ２ａ、ＪＳ２ｂ及びＪＳ２ｃ（以下、これらを総称してジョブスケジューラＪＳ２とも呼ぶ）がそれぞれ動作する管理装置２ａ、２ｂ及び２ｃ（以下、これらを総称して管理装置２とも呼ぶ）を有する。各ジョブスケジューラＪＳ２が行うスケジュール管理には、例えば、予め決められた時間における各ジョブの実行が含まれる。
【００１４】
さらに、図１に示す情報処理システム１０は、ジョブ実行装置３において実行される各ジョブの状態情報を管理装置２から取得し、各ジョブの状態を示す画面（以下、監視画面とも呼ぶ）の生成を行うジョブスケジューラＪＳ１が動作する監視装置１（以下、ジョブ監視装置１とも呼ぶ）を有する。具体的に、ジョブスケジューラＪＳ１は、例えば、各ジョブスケジューラＪＳ２に対してポーリングを行い、各ジョブの状態情報の取得を行う。そして、取得した状態情報を集約することにより、監視画面の生成を行う。
【００１５】
監視装置１、管理装置２及びジョブ実行装置３は、例えば、それぞれ１台以上の物理マシンによって構成される。各物理マシンは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｃｏｍｐｕｔｉｎｇ  Ｕｎｉｔ）と、メモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、ハードディスク（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の大容量メモリとを有する。また、監視装置１、管理装置２及びジョブ実行装置３は、例えば、それぞれ物理マシン上に生成された仮想マシン（図示しない）によって構成されるものであってもよい。
【００１６】
上記のような情報処理システム１０では、利用者によるサービスの利用状況等に応じて、複数のデータセンターにそれぞれ配備されたジョブ実行装置の集約が行われる場合がある。そして、運用者は、この場合、例えば、集約対象のジョブ実行装置の監視を行う監視装置の集約を併せて行う。具体的に、例えば、ジョブ実行装置３以外の他のジョブ実行装置（図示しない）によって実行されていた他のジョブがジョブ実行装置３ａに集約された場合、運用者は、他のジョブの監視を行う監視装置を、監視装置１以外の他の監視装置（図示しない）から監視装置１に変更する。これにより、運用者は、稼働させる監視装置の台数を減らすことが可能になり、各ジョブの稼働状態の監視に要する作業負担を軽減させることが可能になる。
【００１７】
しかしながら、上記のようにジョブ実行装置の集約が行われる場合、監視装置１が監視を行う必要があるジョブの数は増加する。そのため、監視装置１では、この場合、各ジョブの状態情報の取得に要する時間が長くなり、運用者が監視を行う監視画面の出力が遅延する可能性がある。
【００１８】
そこで、本実施の形態における監視装置１は、実行するジョブのスケジュール管理を行う複数のジョブスケジューラＪＳ２のそれぞれから、ジョブのスケジュール情報を取得する。そして、監視装置１は、取得したスケジュール情報に基づいて、特定の期間内に実行されるジョブ（以下、対象ジョブとも呼ぶ）を特定する。
【００１９】
その後、監視装置１は、特定したジョブの管理を行うジョブスケジューラＪＳ２に対して、特定した対象ジョブの状態情報を要求し、要求に応じて取得した対象ジョブの状態情報から、特定の時間内に実行される対象ジョブの状態を示す監視画面を生成する。
【００２０】
すなわち、本実施の形態における監視装置１は、ジョブスケジューラＪＳ２から取得したスケジュール情報を参照することで、状態情報を取得するジョブを特定の期間内に実行されるジョブのみに制限する。
【００２１】
これにより、監視装置１は、監視画面の生成に要する処理負荷を軽減させることが可能になる。そのため、監視装置１は、実際のジョブの状態を反映させた画面の出力を要求された時間に行うことが可能になる。
【００２２】
［監視装置及び管理装置のハードウエア構成］
次に、監視装置１及び管理装置２のハードウエア構成について説明する。図２は、監視装置１のハードウエア構成を説明する図である。また、図３は、管理装置２のハードウエア構成を説明する図である。
【００２３】
監視装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体（ストレージ）１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２４】
記憶媒体１０４は、記憶媒体１０４内のプログラム格納領域（図示しない）に、ジョブ実行装置３において実行されるジョブの監視を行う処理（以下、ジョブ監視処理とも呼ぶ）を行うためのプログラム１１０を記憶する。
【００２５】
ＣＰＵ１０１は、図２に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働してジョブ監視処理を行う。
【００２６】
記憶媒体１０４は、例えば、ジョブ監視処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。また、外部インターフェース１０３は、管理装置２と通信を行う。
【００２７】
また、管理装置２は、プロセッサであるＣＰＵ２０１と、メモリ２０２と、外部インターフェース（Ｉ／Ｏユニット）２０３と、記憶媒体（ストレージ）２０４とを有する。各部は、バス２０５を介して互いに接続される。
【００２８】
記憶媒体２０４は、記憶媒体２０４内のプログラム格納領域（図示しない）に、ジョブ監視処理を行うためのプログラム２１０を記憶する。
【００２９】
ＣＰＵ２０１は、図３に示すように、プログラム２１０の実行時に、プログラム２１０を記憶媒体２０４からメモリ２０２にロードし、プログラム２１０と協働してジョブ監視処理を行う。
【００３０】
記憶媒体２０４は、例えば、ジョブ監視処理を行う際に用いられる情報を記憶する情報格納領域２３０（以下、記憶部２３０とも呼ぶ）を有する。また、外部インターフェース２０３は、監視装置１と通信を行う。
【００３１】
[情報処理システムのソフトウエア構成]
次に、情報処理システム１０のソフトウエア構成について説明する。図４は、監視装置１の機能ブロック図である。また、図５は、管理装置２の機能ブロック図である。
【００３２】
ＣＰＵ１０１は、図４に示すように、プログラム１１０と協働することにより、スケジュール取得部１１１と、対象ジョブ特定部１１２と、タイミング決定部１１３と、要求送信部１１４と、状態情報受信部１１５として動作する。また、ＣＰＵ１０１は、図４に示すように、プログラム１１０と協働することにより、画面生成部１１６と、画面出力部１１７として動作する。さらに、情報格納領域１３０には、図３に示すように、スケジュール情報１３１と、状態情報１３２と、時間帯情報１３３とが記憶される。
【００３３】
なお、スケジュール取得部１１１、対象ジョブ特定部１１２、タイミング決定部１１３、要求送信部１１４、状態情報受信部１１５、画面生成部１１６及び画面出力部１１７は、それぞれジョブスケジューラＪＳ１の機能であってよい。
【００３４】
スケジュール取得部１１１は、実行するジョブのスケジュール管理を行う複数のジョブスケジューラＪＳ２のそれぞれからスケジュール情報１３１を取得する。スケジュール情報１３１は、各ジョブスケジューラＪＳ２がスケジュール管理を行っているジョブの実行スケジュールを含む情報である。具体的に、スケジュール取得部１１１は、管理装置２の情報格納領域２３０にアクセスし、スケジュール情報１３１の取得を行う。スケジュール情報１３１の具体例については後述する。
【００３５】
対象ジョブ特定部１１２は、スケジュール取得部１１１が取得したスケジュール情報１３１に基づいて、特定の期間内に実行される対象ジョブを特定する。
【００３６】
タイミング決定部１１３は、対象ジョブの状態情報１３２を要求するタイミングを決定する。状態情報１３２は、ジョブ実行装置３において実行される各ジョブの稼働状態を示す情報である。状態情報１３２の具体例については後述する。
【００３７】
具体的に、タイミング決定部１１３は、情報格納領域１３０に記憶された時間帯情報１３３を参照し、対象ジョブの状態情報１３２を要求するタイミングを決定する。時間帯情報１３３は、ジョブの状態情報１３２の取得に要する時間を示す時間帯毎の情報である。時間帯情報１３３の具体例については後述する。
【００３８】
要求送信部１１４は、対象ジョブ特定部１１２が特定した対象ジョブの管理を行うジョブスケジューラＪＳ２のそれぞれに対して、対象ジョブの状態情報１３２を要求する。具体的に、要求送信部１１４は、タイミング決定部１１３が決定したタイミングにおいて、対象ジョブの状態情報１３２の送信要求の送信を行う。
【００３９】
状態情報受信部１１５は、各ジョブスケジューラＪＳ２から送信された状態情報１３２を受信する。
【００４０】
画面生成部１１６は、状態情報受信部１１５が取得した対象ジョブの状態情報１３２から、特定の時間内に実行される対象ジョブの稼働状態を含む監視画面を生成する、そして、画面出力部１１７は、例えば、画面生成部１１６が生成した監視画面を、運用者が確認可能な監視端末（図示しない）に出力する。
【００４１】
また、ＣＰＵ２０１は、図５に示すように、プログラム２１０と協働することにより、スケジュール生成部２１１と、要求受信部２１２と、状態情報生成部２１３と、状態情報送信部２１４として動作する。また、情報格納領域１３０には、図５に示すように、スケジュール情報１３１と、状態情報１３２とが記憶される。
【００４２】
スケジュール生成部２１１は、例えば、運用者が管理装置２に対して各ジョブの実行スケジュールの入力を行ったことに応じて、スケジュール情報１３１を生成する。そして、スケジュール生成部２１１は、生成したスケジュール情報１３１を情報格納領域２３０に記憶する。
【００４３】
要求受信部２１２は、監視装置１が送信した状態情報１３２の送信要求を受信する。そして、状態情報生成部２１３は、要求受信部２１２が状態情報１３２の送信要求を受信したことに応じて、状態情報１３２を生成する。そして、状態情報生成部２１３は、生成した状態情報１３２を情報格納領域２３０に記憶する。
【００４４】
なお、管理装置２は、例えば、各ジョブ実行装置３にアクセスし、スケジュール管理を行う各ジョブの稼働状態を示す情報を定期的なタイミングで取得する。そして、状態情報生成部２１３は、取得済の各ジョブの稼働状況を示す情報から、状態情報１３２の生成を行う。
【００４５】
状態情報送信部２１４は、状態情報生成部２１３が生成した状態情報１３２を監視装置１に送信する。
【００４６】
[第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図６は、第１の実施の形態におけるジョブ監視処理の概略を説明するフローチャートである。図７から図９は、第１の実施の形態におけるジョブ監視処理の概略を説明する図である。図７から図９を参照しながら、図６に示すジョブ監視処理を説明する。
【００４７】
監視装置１は、図６に示すように、情報取得タイミングまで待機する（Ｓ１のＮＯ）。情報取得タイミングは、例えば、監視画面の出力（生成）が行われた直後のタイミングである。すなわち、監視装置１は、例えば、監視画面の出力の完了に応じて、次の監視画面の出力を行うための準備を開始する。
【００４８】
そして、情報取得タイミングになった場合（Ｓ１のＹＥＳ）、監視装置１は、図７に示すように、各ジョブのスケジュール管理を行う複数のジョブスケジューラＪＳ２のそれぞれから、各ジョブのスケジュール情報１３１を取得する（Ｓ２）。
【００４９】
続いて、監視装置１は、Ｓ２の処理で取得したスケジュール情報１３１に基づいて、特定の期間内に実行される対象ジョブを特定する（Ｓ３）。特定の期間は、例えば、次に監視画面の出力を行う時間から次の次に監視画面の出力を行う時間までの期間である。そのため、監視装置１は、Ｓ３の処理において、例えば、次に監視画面の出力を行う時間から次の次に監視画面の出力を行う時間までの間に実行されるジョブを対象ジョブとして特定する。
【００５０】
さらに、監視装置１は、図８に示すように、Ｓ３の処理で特定した対象ジョブの管理を行うジョブスケジューラＪＳ２に対して、特定した対象ジョブの状態情報１３２を要求する（Ｓ４）。そして、要求した状態情報１３２を受信するまで待機する（Ｓ５のＮＯ）。
【００５１】
その後、要求した状態情報１３２を受信した場合（Ｓ５のＹＥＳ）、監視装置１は、図９に示すように、Ｓ５の処理で取得した対象ジョブの状態情報１３２から、特定の時間内に実行される対象ジョブの状態を示す画面を生成する（Ｓ６）。
【００５２】
すなわち、本実施の形態における監視装置１は、ジョブスケジューラＪＳ２から取得したスケジュール情報１３１を参照することで、状態情報１３２を取得するジョブを、特定の期間内に実行されるジョブのみに制限する。
【００５３】
これにより、監視装置１は、画面の生成に要する処理負荷を軽減させることが可能になる。そのため、監視装置１は、実際のジョブの状態を反映させた監視画面の出力を要求された時間に行うことが可能になる。
【００５４】
[第１の実施の形態の詳細]
次に、第１の実施の形態の詳細について説明する。図１０から図１４は、第１の実施の形態におけるジョブ監視処理の詳細を説明するフローチャートである。また、図１５から図２４は、第１の実施の形態におけるジョブ監視処理の詳細を説明する図である。図１５から図２４を参照しながら、図１０から図１４に示すジョブ監視処理を説明する。
【００５５】
[スケジュール生成処理]
初めに、管理装置２がスケジュール情報１３１を生成する処理（以下、スケジュール生成処理とも呼ぶ）について説明を行う。
【００５６】
管理装置２のスケジュール生成部２１１は、図１０に示すように、スケジュール生成タイミングまで待機する（Ｓ１０１のＮＯ）。スケジュール生成タイミングは、例えば、運用者が管理装置２に対して各ジョブの実行スケジュールを入力したタイミングであってよい。
【００５７】
そして、スケジュール生成タイミングになった場合（Ｓ１０１のＹＥＳ）、スケジュール生成部２１１は、管理対象のジョブ実行装置３において実行される各ジョブのスケジュールを含むスケジュール情報１３１を生成する（Ｓ１０２）。以下、スケジュール情報１３１の具体例について説明を行う。
【００５８】
[スケジュール情報の具体例]
図１５は、スケジュール情報１３１の具体例を説明する図である。図１５（Ａ）は、ジョブスケジューラＪＳ２ａから取得されたスケジュール情報１３１ａの具体例を説明する図であり、図１５（Ｂ）は、ジョブスケジューラＪＳ２ｂから取得されたスケジュール情報１３１ｂの具体例を説明する図であり、図１５（Ｃ）は、ジョブスケジューラＪＳ２ｃから取得されたスケジュール情報１３１ｃの具体例を説明する図である。
【００５９】
図１５に示すスケジュール情報１３１は、スケジュール情報１３１に含まれる各情報を識別する「項番」と、各ジョブスケジューラＪＳ２を識別する「識別ＩＤ」と、各ジョブ（ジョブネット）を識別する「ジョブＩＤ」とを項目として有する。また、図１５に示すスケジュール情報１３１は、各ジョブの実行開始予定時間を示す「開始予定時間」と、各ジョブの実行終了予定時間を示す「終了予定時間」と、各ジョブの実行開始条件を示す「開始条件」とを項目として有する。
【００６０】
具体的に、図１５（Ａ）に示すスケジュール情報１３１ａにおいて、「項番」が「１」である情報には、「識別ＩＤ」として「ＪＳ２ａ」が設定され、「ジョブＩＤ」として「ＮＥＴ＃２」が設定され、「開始予定時間」として「０８：０５」が設定されている。また、図１５（Ａ）に示すスケジュール情報１３１ａにおいて、「項番」が「１」である情報には、「終了予定時間」として「０８：１５」が設定され、「起動条件」として「ＮＥＴ＃１の終了」が設定されている。すなわち、図１５（Ａ）に示すスケジュール情報１３１ａは、ＮＥＴ＃２が、ＮＥＴ＃１の実行の終了を条件として、８時５分に実行を開始することを示している。
【００６１】
さらに、図１５（Ａ）に示すスケジュール情報１３１ａにおいて、「項番」が「２」である情報には、「識別ＩＤ」として「ＪＳ２ａ」が設定され、「ジョブＩＤ」として「ＮＥＴ＃３」が設定され、「開始予定時間」として「０８：００」が設定されている。また、図１５（Ａ）に示すスケジュール情報１３１ａにおいて、「項番」が「２」である情報には、「終了予定時間」として「０８：３０」が設定され、「起動条件」として「なし」が設定されている。すなわち、図１５（Ａ）に示すスケジュール情報１３１ａは、ＮＥＴ＃３が、他のジョブの実行状況に依らず、８時に実行を開始することを示している。図１５に含まれる他の情報については説明を省略する。
【００６２】
図１０に戻り、スケジュール生成部２１１は、Ｓ１０２の処理で生成したスケジュール情報１３１を情報格納領域１３０に記憶する（Ｓ１０３）。その後、スケジュール生成部２１１は、次のスケジュール生成タイミングまで待機する（Ｓ１０１のＮＯ）。
【００６３】
[ジョブ監視処理の詳細]
次に、監視装置１が行うジョブ管理装置の詳細について説明を行う。監視装置１のスケジュール取得部１１１は、情報取得タイミングまで待機する（Ｓ１１のＮＯ）。以下、情報取得タイミングが、７時５０分に監視画面の出力が行われた直後のタイミングであるものとする。
【００６４】
そして、情報取得タイミングになった場合（Ｓ１１のＹＥＳ）、監視装置１のスケジュール取得部１１１は、実行するジョブのスケジュール管理を行う複数のジョブスケジューラＪＳ２のそれぞれから、ジョブのスケジュール情報１３１を取得する（Ｓ１２）。
【００６５】
具体的に、監視装置１（ジョブスケジューラＪＳ１）は、例えば、図１５に示すスケジュール情報１３１をそれぞれ取得することにより、図１６の矢印が示すように、他のジョブの実行状況に依らずにＮＥＴ＃１及びＮＥＴ＃３の実行が開始されることを示す情報の取得が可能になる。また、監視装置１は、この場合、図１６の矢印が示すように、ＮＥＴ＃１の実行の終了を条件としてＮＥＴ＃２の実行が開始され、ＮＥＴ＃２の実行の終了を条件としてＮＥＴ＃４の実行が開始されることを示す情報の取得が可能になる。さらに、監視装置１は、この場合、図１６の矢印が示すように、ＮＥＴ＃２及びＮＥＴ＃３の実行の終了を条件としてＮＥＴ＃５の実行が開始されることを示す情報の取得が可能になる。
【００６６】
また、スケジュール取得部１１１は、Ｓ１２の処理において、複数のジョブスケジューラＪＳ２のそれぞれから、手動による操作が行われたジョブを示す情報を取得する。
【００６７】
具体的に、スケジュール取得部１１１は、例えば、複数のジョブスケジューラＪＳ２が蓄積する各ジョブに関するログ（図示しない）を参照し、過去の所定の時点（例えば、直前に監視画面の出力が行われた時点）から現在までの間に、手動による操作が行われた場合に出力されるログ（以下、操作ログとも呼ぶ）が生成されているジョブが存在するか否かを判定する。そして、スケジュール取得部１１１は、操作ログが生成されているジョブが存在すると判定した場合、存在すると判定したジョブを示す情報を、手動による操作が行われたジョブを示す情報として取得する。
【００６８】
これにより、対象ジョブ特定部１１２は、後述するように、手動による操作が行われたジョブが存在するか否かの判定を行うことが可能になる。
【００６９】
その後、監視装置１の対象ジョブ特定部１１２は、Ｓ１２の処理で取得したスケジュール情報１３１を参照し、特定の期間内に実行予定のジョブを対象ジョブとして特定する（Ｓ１３）。
【００７０】
具体的に、図１５に示すスケジュール情報１３１において、「開始予定時間」に設定された時間が「０８：００」から「０８：１０」までの間である情報は、「項番」が「１」、「２」及び「３」である情報である。そのため、例えば、Ｓ１３の処理における特定の期間が８時から８時１０分までの間である場合、対象ジョブ特定部１１２は、「項番」に「１」から「３」が設定された情報の「ジョブＩＤ」に設定された情報である「ＮＥＴ＃１」、「ＮＥＴ＃２」及び「ＮＥＴ＃３」を特定する。
【００７１】
すなわち、対象ジョブ特定部１１２は、Ｓ１３の処理において、近い将来に実行されるジョブのみを特定する。具体的に、対象ジョブ特定部１１２は、次に監視画面の出力を行う時間から次の次に監視画面の出力を行う時間までに実行される予定のジョブ（次に出力を行う監視画面に情報を含める必要があるジョブ）のみを特定する。そのため、対象ジョブ特定部１１２は、この場合、次に監視画面の出力を行う時間から次の次に監視画面の出力を行う時間までに実行される予定がないジョブの特定を行わない。
【００７２】
これにより、監視装置１は、後述するように、監視画面の生成に要する処理負担を抑制することが可能になる。
【００７３】
そして、対象ジョブ特定部１１２は、過去に実行を開始したジョブのうち、正常終了していないジョブが存在するか否かを判定する（Ｓ１４）。
【００７４】
その結果、正常終了していないジョブが存在すると判定した場合（Ｓ１４のＹＥＳ）、対象ジョブ特定部１１２は、Ｓ１３の処理で特定した対象ジョブに加え、Ｓ１４の処理で存在するものと判定したジョブについても対象ジョブとして特定する（Ｓ１５）。一方、正常終了していないジョブが存在しないと判定した場合（Ｓ１４のＮＯ）、対象ジョブ特定部１１２は、Ｓ１５の処理を行わない。
【００７５】
これにより、監視装置１は、過去に実行を開始したジョブのうち、運用者が継続して監視する必要があるジョブを特定することが可能になる。
【００７６】
さらに、対象ジョブ特定部１１２は、手動による操作が行われたジョブが存在するか否かと判定する（Ｓ１６）。具体的に、対象ジョブ特定部１１２は、例えば、Ｓ１２の処理において、手動による操作が行われたジョブを示す情報が取得されたか否かを判定する。
【００７７】
その結果、手動による操作が行われたジョブが存在すると判定した場合（Ｓ１６のＹＥＳ）、対象ジョブ特定部１１２は、Ｓ１３及びＳ１５の処理で特定した対象ジョブに加え、Ｓ１６の処理で存在するものと判定したジョブを対象ジョブとして特定する（Ｓ１７）。具体的に、対象ジョブ特定部１１２は、例えば、Ｓ１２の処理において手動による操作が行われたジョブを示す情報が取得されている場合に、取得された情報に対応するジョブを対象ジョブとして特定する。一方、手動による操作が行われたジョブが存在しないと判定した場合（Ｓ１６のＮＯ）、対象ジョブ特定部１１２は、Ｓ１７の処理を行わない。
【００７８】
すなわち、スケジュール情報１３１において特定の期間内における実行が予定されていないジョブであっても、手動によって特定の期間内に実行されるジョブが存在する可能性がある。そのため、対象ジョブ特定部１１２は、Ｓ１６の処理において、手動による操作が行われたジョブが存在するか否かの判定を行う。そして、手動による操作が行われたジョブが存在すると判定した場合、Ｓ１３及びＳ１５の処理で特定したジョブに加え、Ｓ１６の処理において存在したジョブを対象ジョブとして特定する。
【００７９】
これにより、監視装置１は、次に出力を行う監視画面に情報を含める必要があるジョブを網羅的に特定することが可能になる。
【００８０】
その後、監視装置１のタイミング決定部１１３は、図１２に示すように、情報格納領域１３０に記憶された時間帯情報１３３を参照し、Ｓ１３、Ｓ１５及びＳ１７の処理で特定した対象ジョブの状態情報１３２を要求するタイミングを決定する（Ｓ２１）。以下、時間帯情報１３３の具体例について説明を行う。
【００８１】
[時間帯情報の具体例]
図１７は、時間帯情報１３３の具体例を説明する図である。図１７に示す時間帯情報１３３は、時間帯情報１３３に含まれる各情報を識別する「項番」と、各ジョブスケジューラＪＳ２を識別する「識別ＩＤ」と、各時間帯を示す「時間帯」とを項目として有する。また、図１７に示す時間帯情報１３３は、各ジョブスケジューラＪＳ２からの状態情報１３２の取得に要した時間の平均時間を示す「平均時間」と、各ジョブスケジューラＪＳ２からの状態情報１３２の取得に要した時間の最大時間を示す「最大時間」とを項目として有する。
【００８２】
具体的に、図１７に示す時間帯情報１３３において、「項番」が「１」である情報には、「識別ＩＤ」として「ＪＳ２ａ」が設定され、「時間帯」として「７：００−１１：００」が設定されている。また、図１７に示す時間帯情報１３３において、「項番」が「１」である情報には、「平均時間」として「０．２（秒）」が設定され、「最大時間」として「０．４（秒）」が設定されている。図１７に含まれる他の情報については説明を省略する。
【００８３】
[Ｓ２１の処理の詳細]
次に、Ｓ２１の処理の詳細について説明を行う。タイミング決定部１１３は、図１３に示すように、時間帯情報１３３を記憶する情報格納領域１３０を参照し、Ｓ１３等で特定した対象ジョブの状態情報１３２の取得に要する時間（以下、第１の時間とも呼ぶ）を、Ｓ１３等で特定した対象ジョブのスケジュール管理を行うジョブスケジューラＪＳ２ａ毎に特定する（Ｓ３１）。
【００８４】
そして、タイミング決定部１１３は、Ｓ１３等で特定した対象ジョブに対応するジョブスケジューラＪＳ２毎に、監視画面の出力を行うタイミングよりも第１の時間以上前のタイミングを、Ｓ１３等で特定した対象ジョブの状態情報１３２を要求するタイミングとして決定する（Ｓ３２）。
【００８５】
具体的に、図１７に示す時間帯情報１３３において、例えば、「識別ＩＤ」が「ＪＳ２ａ」であって「時間帯」が「７：００−１１：００」である情報は、「項番」が「１」である情報である。また、図１７に示す時間帯情報１３３において、例えば、「識別ＩＤ」が「ＪＳ２ｂ」であって「時間帯」が「７：００−１１：００」である情報は、「項番」が「４」である情報である。そのため、例えば、監視画面の出力を次に行う必要がある時間が８時であり、Ｓ１３等の処理においてＮＥＴ＃１、ＮＥＴ＃２及びＮＥＴ＃３が特定されている場合、タイミング決定部１１３は、時間帯情報１３３における「項番」が「１」及び「４」である情報を参照する。
【００８６】
すなわち、タイミング決定部１１３は、この場合、時間帯情報１３３に含まれる情報のうち、ＮＥＴ＃２及びＮＥＴ＃３を管理するジョブスケジューラＪＳ２ａを示す「ＪＳ２ａ」が「識別ＩＤ」に設定され、８時を含む「７：００−１１：００」が「時間帯」に設定された情報である「項番」が「１」である情報を参照する。また、タイミング決定部１１３は、この場合、時間帯情報１３３に含まれる情報のうち、ＮＥＴ＃１を管理するジョブスケジューラＪＳ２ｂを示す「ＪＳ２ｂ」が「識別ＩＤ」に設定され、８時を含む「７：００−１１：００」が「時間帯」に設定された情報である「項番」が「４」である情報を参照する。
【００８７】
そして、タイミング決定部１１３は、Ｓ３１の処理において、例えば、ジョブスケジューラＪＳ２ａで動作するＮＥＴ＃２及びＮＥＴ＃３に対応する時間として、「項番」が「１」である情報の「平均時間」に設定された情報である「０．２（秒）」を特定する。また、タイミング決定部１１３は、Ｓ３１の処理において、例えば、ジョブスケジューラＪＳ２ｂで動作するＮＥＴ＃１に対応する時間として、「項番」が「１」である情報の「平均時間」に設定された情報である「０．３（秒）」を特定する。さらに、タイミング決定部１１３は、例えば、ＮＥＴ＃２及びＮＥＴ＃３の状態情報１３２の取得にそれぞれ要する時間である「０．２（秒）」に、状態情報１３２の取得を行うジョブの数である「２」を乗算した結果である「０．４（秒）」を特定する。また、タイミング決定部１１３は、例えば、ＮＥＴ＃１の状態情報１３２の取得に要する時間である「０．３（秒）」に、状態情報１３２の取得を行うジョブの数である「１」を乗算した結果である「０．３（秒）」を特定する。
【００８８】
その後、タイミング決定部１１３は、Ｓ３２の処理において、図１８に示すように、ジョブスケジューラＪＳ２ａに対してＮＥＴ＃２及びＮＥＴ＃３の状態情報１３２を要求するタイミングとして、監視画面を出力する必要がある時間（例えば、８時）の０．４秒以上前の時間を特定する。また、タイミング決定部１１３は、Ｓ３２の処理において、図１８に示すように、ＮＥＴ＃１の状態情報１３２を要求するタイミングとして、監視画面を出力する必要がある時間（例えば、８時）の０．３秒以上前の時間を特定する。
【００８９】
図１２に戻り、監視装置１の要求送信部１１４は、Ｓ２１の処理で決定したタイミングが到達するまで待機する（Ｓ２２のＮＯ）。具体的に、Ｓ２１の処理で決定したタイミングが８時の０．４秒前と８時の０．３秒前である場合、これらの時間のうちの先の時間である８時の０．４秒前になるまで待機する。
【００９０】
そして、Ｓ２１の処理で決定したタイミングが到達した場合（Ｓ２２のＹＥＳ）、要求送信部１１４は、Ｓ２２の処理で到達したタイミングに対応するジョブスケジューラＪＳ２に対して、Ｓ１３等の処理で特定した対象ジョブの状態情報１３２を要求する（Ｓ２３）。
【００９１】
具体的に、要求送信部１１４は、この場合、例えば、Ｓ２１の処理で決定したタイミングである８時の０．４秒前に対応するジョブスケジューラＪＳ２ａに対して、状態情報１３２の送信要求を送信する。
【００９２】
その後、要求送信部１１４は、Ｓ２１の処理で決定したタイミングに対応する全てのジョブスケジューラＪＳ２に対して状態情報１３２の送信要求を送信したか否かを判定する（Ｓ２４）。その結果、全てのジョブスケジューラＪＳ２に対して状態情報１３２の送信要求を送信していないと判定した場合（Ｓ２４のＮＯ）、要求送信部１１４は、Ｓ２２以降の処理を再度行う。
【００９３】
具体的に、要求送信部１１４は、例えば、ジョブスケジューラＪＳ２ａに対して状態情報１３２の送信要求を送信した後、８時の０．３秒前（ジョブスケジューラＪＳ２ｂに対して状態情報１３２の送信要求を送信する時間）になるまで待機する。
【００９４】
一方、全てのジョブスケジューラＪＳ２に対して状態情報１３２の送信要求を送信したと判定した場合（Ｓ２４のＹＥＳ）、監視装置１の状態情報受信部１１５は、Ｓ２３の処理で要求した状態情報１３２の全てを受信するまで待機する（Ｓ２５のＮＯ）。以下、状態情報１３２の具体例について説明を行う。
【００９５】
[状態情報の具体例]
図１９は、状態情報１３２の具体例を説明する図である。図１９（Ａ）は、ジョブスケジューラＪＳ２ａから受信した状態情報１３２の具体例を説明する図であり、図１９（Ｂ）は、ジョブスケジューラＪＳ２ｂから受信した状態情報１３２の具体例を説明する図である。なお、以下、各ジョブスケジューラＪＳ２が、図１５で説明したスケジュール情報１３１に従って各ジョブの管理を行うものとする。また、以下、図１９に示す状態情報１３２が、８時に出力する監視画面を生成するために取得された情報であるものとする。
【００９６】
図１９に示す状態情報１３２は、状態情報１３２に含まれる各情報を識別する「項番」と、ジョブスケジューラＪＳ２を識別する「識別ＩＤ」と、各ジョブ（ジョブネット）を識別する「ジョブＩＤ」とを項目として有する。また、図１９に示す状態情報１３２は、各ジョブの実行状態を示す「状態」を項目として有する。「状態」には、各ジョブの実行が正常に終了したことを示す「正常終了」、各ジョブの実行が正常に終了しなかったことを示す「異常終了」、各ジョブが実行中であることを示す「実行中」、または、各ジョブが実行待ちであることを示し「実行待ち」が設定される。
【００９７】
具体的に、図１９に示す状態情報１３２において、「項番」が「１」である情報には、「識別ＩＤ」として「ＪＳ２ａ」が設定され、「ジョブＩＤ」として「ＮＥＴ＃２」が設定され、「状態」として「実行待ち」が設定されている。また、図１９に示す状態情報１３２において、「項番」が「２」である情報には、「識別ＩＤ」として「ＪＳ２ａ」が設定され、「ジョブＩＤ」として「ＮＥＴ＃３」が設定され、「状態」として「実行待ち」が設定されている。図１９に含まれる他の情報については説明を省略する。
【００９８】
図１２に戻り、要求した状態情報１３２の全てを受信した場合（Ｓ２５のＹＥＳ）、監視装置１の画面生成部１１６は、Ｓ２５の処理で受信した対象ジョブの状態情報１３２から、特定の時間内に実行される対象ジョブの状態を示す監視画面を生成する（Ｓ２６）。そして、監視装置１の画面出力部１１７は、Ｓ２６の処理で生成した監視画面を出力する（Ｓ２７）。
【００９９】
その後、スケジュール取得部１１１は、次の情報取得タイミングまで待機する（Ｓ１１のＮＯ）。
【０１００】
ここで、監視装置１は、ジョブ監視処理を２回目以降に行う場合、Ｓ１２の処理を省略するものであってもよい。すなわち、監視装置１は、この場合、１回目のジョブ監視処理において取得したスケジュール情報１３１を、２回目以降のジョブ監視処理においても利用するものであってよい。
【０１０１】
なお、要求送信部１１４は、Ｓ１２の処理が省略される場合、Ｓ２３の処理において、複数のジョブスケジューラＪＳ２のそれぞれから手動による操作が行われたジョブを示す情報を取得する。これにより、対象ジョブ特定部１１２は、Ｓ１２の処理が行われない場合であっても、手動による操作が行われたジョブを示す情報を参照することが可能になる。以下、監視画面の具体例について説明を行う。
【０１０２】
[監視画面の具体例]
図２０は、監視画面の具体例を説明する図である。図２０に示す監視画面は、図１９に示す状態情報１３２の取得が行われた場合に生成される監視画面である。
【０１０３】
具体的に、図１９に示す状態情報１３２において、「ジョブＩＤ」が「ＮＥＴ＃２」である情報の「状態」には「実行待ち」が設定され、「ジョブＩＤ」が「ＮＥＴ＃３」である情報の「状態」には「実行待ち」が設定されている。また、図１９に示す状態情報１３２において、「ジョブＩＤ」が「ＮＥＴ＃１」である情報の「状態」には「実行待ち」が設定されている。
【０１０４】
そのため、画面生成部１１６は、例えば、図２０に示すように、「ＮＥＴ＃１」と「実行待ち」とが対応する旨の情報と、「ＮＥＴ＃２」と「実行待ち」とが対応する旨の情報とを監視画面に含める。また、画面生成部１１６は、例えば、図２０に示すように、「ＮＥＴ＃３」と「実行待ち」とが対応する旨の情報を監視画面に含める。
【０１０５】
一方、図１９に示す状態情報１３２には、「ジョブＩＤ」が「ＮＥＴ＃４」である情報及び「ジョブＩＤ」が「ＮＥＴ＃５」である情報が含まれていない。そのため、画面生成部１１６は、例えば、図２０に示すように、「ＮＥＴ＃４」及び「ＮＥＴ＃５」を示す情報に対応する状態情報１３２が存在しない旨の情報（例えば、「情報なし」）を監視画面に含める。具体的に、画面生成部１１６は、図２０に示すように、「ＮＥＴ＃４」を示す情報と「情報なし」を示す情報とが対応する旨の情報と、「ＮＥＴ＃５」を示す情報と「情報なし」を示す情報とが対応する旨の情報とを監視画面に含める。
【０１０６】
すなわち、監視装置１は、例えば、次に出力する監視画面の生成を行う際に、次の次に監視画面の出力を行う時間までに実行されないジョブについての情報の取得を省略する。これにより、監視装置１は、監視画面の生成に要する処理負荷を軽減させることが可能になり、実際のジョブの状態を反映させた監視画面の出力を要求された時間（予定された時間）に行うことが可能になる。
【０１０７】
なお、タイミング決定部１１３は、Ｓ３１の処理において第１の時間の算出を行う際に、図１７に示す時間帯情報１３３の「平均時間」に代えて、図１７に示す時間帯情報１３３の「最大時間」を用いるものであってもよい。具体的に、タイミング決定部１１３は、図１７に示す時間帯情報１３３の「最大時間」に設定された時間と、状態情報１３２を取得する必要があるジョブの数とを乗算することによって、第１の時間を算出するものであってもよい。また、タイミング決定部１１３は、この場合、図１７に示す時間帯情報１３３の「最大時間」に設定された時間とジョブの数とを乗算した値から、監視画面を出力する際に許容されている時間（以下、遅延許容時間とも呼ぶ）を減算することによって、第１の時間を算出するものであってもよい。
【０１０８】
さらに、「平均時間」に設定された時間とジョブの数とを乗算した値が、「最大時間」に設定された時間とジョブの数とを乗算した値から遅延許容時間を減算した値以上である場合、タイミング決定部１１３は、「平均時間」に設定された時間とジョブの数とを乗算した値を、第１の時間とするものであってよい。また、「平均時間」に設定された時間とジョブの数とを乗算した値が、「最大時間」に設定された時間とジョブの数とを乗算した値から遅延許容時間を減算した値未満である場合、タイミング決定部１１３は、「最大時間」に設定された時間とジョブの数とを乗算した値から遅延許容時間を減算した値を、第１の時間とするものであってもよい。
【０１０９】
これにより、監視装置１は、例えば、各時間帯における各ジョブの実行状態に応じて、第１の時間の算出方法を決定することが可能になる。
【０１１０】
[状態情報生成処理]
次に、管理装置２が状態情報１３２を生成する処理（以下、状態情報生成処理とも呼ぶ）について説明を行う。
【０１１１】
管理装置２の要求受信部２１２は、図１４に示すように、状態情報１３２の送信要求を受信するまで待機する（Ｓ１１１のＮＯ）。すなわち、要求受信部２１２は、監視装置１が管理装置２に対して状態情報１３２の送信要求を送信するまで待機する。
【０１１２】
そして、状態情報１３２の送信要求を受信した場合（Ｓ１１１のＹＥＳ）、管理装置２の状態情報生成部２１３は、各ジョブ実行装置３にアクセスし、各ジョブの稼働状態を示す情報を取得する（Ｓ１１２）。さらに、状態情報生成部２１３は、Ｓ１１２の処理で取得した各ジョブの稼働状態を示す情報を含む状態情報１３２を生成する（Ｓ１１３）。その後、状態情報生成部２１３は、Ｓ１１３で生成した状態情報１３２を情報格納領域２３０に記憶する（Ｓ１１４）。
【０１１３】
これにより、各管理装置２は、監視装置１から送信された送信要求に対応する状態情報１３２を、監視装置１に送信することが可能になる。
【０１１４】
[ジョブ監視処理の具体例]
次に、ジョブ監視処理の具体例について説明を行う。図２１から図２４は、図２０に示す監視画面の出力が行われた後、ジョブ監視処理が再度行われる場合の具体例を説明する図である。なお、以下、監視画面の出力が１０分毎に行われるものする。また、以下、監視画面の出力が行われる毎に、Ｓ１３の処理における特定の期間が１０分ずつ後の時間に変更されるものとする。
【０１１５】
[２回目に行われるジョブ監視処理の具体例]
初めに、２回目に行われるジョブ監視処理（図２０で説明した監視画面の出力が行われた直後に行われるジョブ監視処理）の具体例について説明を行う。
【０１１６】
図１５に示すスケジュール情報１３１において、「開始予定時間」に設定された情報が「０８：１０」から「０８：２０」までの間である情報は、「項番」が「４」である情報である。そのため、この場合、対象ジョブ特定部１１２は、Ｓ１３の処理において、「項番」に「４」が設定された情報の「ジョブＩＤ」に設定された情報である「ＮＥＴ＃４」を特定する。
【０１１７】
また、図１９に示す状態情報１３２において、「ジョブＩＤ」が「ＮＥＴ＃２」、「ＮＥＴ＃３」及び「ＮＥＴ＃１」である情報の「状態」には、全て「実行待ち」が設定されている。そのため、対象ジョブ特定部１１２は、Ｓ１５の処理において、正常終了していないジョブ（実行中であるジョブ、実行待ちであるジョブ、または、異常終了したジョブ）としてＮＥＴ＃１、ＮＥＴ＃２及びＮＥＴ＃３を特定する。
【０１１８】
そのため、要求送信部１１４は、Ｓ２３の処理において、ジョブスケジューラＪＳ２ａに対してＮＥＴ＃２及びＮＥＴ＃３の状態情報１３２の送信要求を送信し、ジョブスケジューラＪＳ２ｂに対してＮＥＴ＃１の状態情報１３２の送信要求を送信する。また、要求送信部１１４は、Ｓ２３の処理において、ジョブスケジューラＪＳ２ｃに対してＮＥＴ＃４の状態情報１３２の送信要求を送信する。
【０１１９】
そして、状態情報受信部１１５は、Ｓ２５の処理において、図２１に示す状態情報１３２を受信する。具体的に、状態情報受信部１１５は、図２１に示すように、ＮＥＴ＃２及びＮＥＴ＃３が実行中であり、ＮＥＴ＃１が正常終了であり、ＮＥＴ＃４が実行待ちであることを示す情報を取得する。
【０１２０】
その後、画面生成部１１６は、Ｓ２６の処理において、図２２に示すように、「ＮＥＴ＃１」と「正常終了」とが対応する旨の情報と、「ＮＥＴ＃２」と「実行中」とが対応する旨の情報と、「ＮＥＴ＃３」と「実行中」とが対応する旨の情報とを監視画面に含める。また、画面生成部１１６は、Ｓ２６の処理において、図２２に示すように、「ＮＥＴ＃４」と「実行待ち」とが対応する旨の情報と、「ＮＥＴ＃５」と「情報なし」とが対応する旨の情報とを監視画面に含める。
【０１２１】
[３回目に行われるジョブ監視処理の具体例]
次に、３回目に行われるジョブ監視処理（図２２で説明した監視画面の出力が行われた直後に行われるジョブ監視処理）の具体例について説明を行う。
【０１２２】
図１５に示すスケジュール情報１３１において、「開始予定時間」が「０８：２０」から「０８：３０」までの間である情報は、「項番」が「５」である情報である。そのため、この場合、対象ジョブ特定部１１２は、Ｓ１３の処理において、「項番」に「５」が設定された情報の「ジョブＩＤ」に設定された情報である「ＮＥＴ＃５」を特定する。
【０１２３】
また、図２１に示す状態情報１３２において、「ジョブＩＤ」が「ＮＥＴ＃２」及び「ＮＥＴ＃３」である情報の「状態」には「実行中」が設定されており、「ジョブＩＤ」が「ＮＥＴ＃１」である情報の「状態」には「正常終了」が設定されている。また、図２３に示す状態情報１３２において、「ジョブＩＤ」が「ＮＥＴ＃４」である情報の「状態」には「実行待ち」が設定されている。そのため、対象ジョブ特定部１１２は、Ｓ１５の処理において、正常終了していないジョブとしてＮＥＴ＃２、ＮＥＴ＃３及びＮＥＴ＃４を特定する。
【０１２４】
そのため、要求送信部１１４は、Ｓ２３の処理において、ジョブスケジューラＪＳ２ａに対してＮＥＴ＃２及びＮＥＴ＃３の状態情報１３２の送信要求を送信し、ジョブスケジューラＪＳ２ｃに対してＮＥＴ＃４及びＮＥＴ＃５の状態情報１３２の送信要求を送信する。
【０１２５】
そして、状態情報受信部１１５は、Ｓ２５の処理において、図２３に示す状態情報１３２を受信する。具体的に、状態情報受信部１１５は、ＮＥＴ＃４が実行中であり、ＮＥＴ＃１及びＮＥＴ＃３が正常終了であり、ＮＥＴ＃２が異常終了であり、ＮＥＴ＃５が実行待ちであることを示す情報を取得する。
【０１２６】
その後、画面生成部１１６は、Ｓ２６の処理において、図２４に示すように、「ＮＥＴ＃２」と「正常終了」とが対応する旨の情報と、「ＮＥＴ＃３」と「異常終了」とが対応する旨の情報と、「ＮＥＴ＃４」と「実行中」とが対応する旨の情報とを監視画面に含める。また、画面生成部１１６は、Ｓ２６の処理において、図２４に示すように、「ＮＥＴ＃５」と「実行待ち」とが対応する旨の情報を監視画面に含める。
【０１２７】
なお、この場合、状態情報受信部１１５は、ＮＥＴ＃１の状態情報１３２の取得を行わない。そのため、画面生成部１１６は、Ｓ２６の処理において、図２２に示す監視画面に含まれている情報のうちのＮＥＴ＃１についての情報を流用するものであってよい。
【０１２８】
[第２の実施の形態]
次に、第２の実施の形態について説明する。図２５は、第２の実施の形態におけるジョブ監視処理を説明するフローチャートである。
【０１２９】
第１の実施の形態におけるタイミング決定部１１３は、Ｓ２１の処理において、ジョブスケジューラＪＳ２に対して各ジョブの状態情報１３２を要求する時間を決定する。これに対し、第２の実施の形態におけるタイミング決定部１１３は、Ｓ２１の処理において、ジョブスケジューラＪＳ２に対して各ジョブの状態情報１３２を要求する順番を決定する。以下、第１の実施の形態と異なる処理（Ｓ２１の処理）についてのみ説明を行う。
【０１３０】
タイミング決定部１１３は、図２５に示すように、時間帯情報１３３を記憶する情報格納領域１３０を参照し、Ｓ１３等の処理で特定した対象ジョブの状態に関する情報の取得に要する時間（以下、第２の時間とも呼ぶ）を、Ｓ１３等で特定した対象ジョブに対応するジョブスケジューラＪＳ２毎に特定する（Ｓ４１）。
【０１３１】
そして、タイミング決定部１１３は、Ｓ４１の処理で特定した第２の時間が他のジョブスケジューラＪＳ２よりも長いジョブスケジューラＪＳ２に対応する対象ジョブの順序が、他のジョブスケジューラＪＳ２に対応する対象ジョブよりも前になるように、Ｓ１３等で特定した対象ジョブの状態情報１３２を要求する順序を決定する（Ｓ４２）。
【０１３２】
その後、タイミング決定部１１３は、Ｓ４２の処理で決定した順序に従って、対象ジョブの状態情報１３２を要求するタイミングを決定する（Ｓ４３）。具体的に、タイミング決定部１１３は、例えば、あるジョブスケジューラＪＳ２に対する状態情報１３２の要求が行われた後、所定時間が経過してから次のジョブスケジューラＪＳ２に対する状態情報１３２の要求が行われるように、タイミングの決定を行うものであってよい。また、タイミング決定部１１３は、例えば、あるジョブスケジューラＪＳ２に対する状態情報１３２の要求が行われた後、そのジョブスケジューラＪＳ２からの状態情報１３２の受信があったことに応じて、次のジョブスケジューラＪＳ２に対する状態情報１３２の要求が行われるように、タイミングの決定を行うものであってよい。
【０１３３】
これにより、タイミング決定部１１３は、各ジョブスケジューラＪＳ２に対する状態情報１３２の要求タイミングを決定する際の負担を軽減させることが可能になる。
【０１３４】
以上の実施の形態をまとめると、以下の付記の通りである。
【０１３５】
（付記１）
実行するジョブのスケジュール管理を行う複数のジョブスケジューラのそれぞれから、ジョブのスケジュール情報を取得し、
取得した前記スケジュール情報に基づいて、特定の期間内に実行される対象ジョブを特定し、
特定した前記対象ジョブの管理を行うジョブスケジューラに対して、特定した前記対象ジョブの状態に関する情報を要求し、
要求に応じて取得した前記対象ジョブの状態に関する情報から、前記特定の時間内に実行される前記対象ジョブの状態を示す画面を生成する、
処理をコンピュータに実行させることを特徴とするジョブ監視プログラム。
【０１３６】
（付記２）
付記１において、さらに、
前記要求する処理の前に、時間帯に応じてジョブの状態の取得に要する時間を記憶する記憶部を参照し、前記対象ジョブの状態に関する情報を要求するタイミングを決定する、
処理をコンピュータに実行させ、
前記要求する処理では、決定したタイミングにおいて前記対象ジョブの状態に関する情報の要求を行う、
ことを特徴とするジョブ監視プログラム。
【０１３７】
（付記３）
付記２において、
前記決定する処理では、
前記対象ジョブの状態に関する情報の取得に要する第１の時間を、前記対象ジョブに対応するジョブスケジューラ毎に特定し、
前記生成する処理を行うタイミングよりも前記第１の時間以上前のタイミングを、前記対象ジョブの状態に関する情報を要求するタイミングとして、前記対象ジョブに対応するジョブスケジューラ毎に決定する、
ことを特徴とするジョブ監視プログラム。
【０１３８】
（付記４）
付記１において、さらに、
前記対象ジョブが複数存在する場合、前記要求する処理の前に、時間帯に応じてジョブの状態の取得に要する時間を記憶する記憶部を参照し、前記対象ジョブの状態に関する情報を要求する順序を決定する、
処理をコンピュータに実行させ、
前記要求する処理では、決定した順序に従ったタイミングにおいて前記対象ジョブの状態に関する情報の要求を行う、
ことを特徴とするジョブ監視プログラム。
【０１３９】
（付記５）
付記４において、
前記決定する処理では、
前記対象ジョブの状態に関する情報の取得に要する第２の時間を、前記対象ジョブに対応するジョブスケジューラ毎に特定し、
特定した前記第２の時間が他のジョブスケジューラよりも長いジョブスケジューラに対応する対象ジョブの順序が、前記他のジョブスケジューラに対応する対象ジョブよりも前になるように、前記対象ジョブの状態に関する情報を要求する順序を決定する、
ことを特徴とするジョブ監視プログラム。
【０１４０】
（付記６）
付記１において、
前記特定する処理では、前記特定の期間内に実行されるジョブに加え、手動による操作が行われたジョブを前記対象ジョブとして特定する、
ことを特徴とするジョブ監視プログラム。
【０１４１】
（付記７）
付記６において、
前記特定する処理では、直前に行われた前記画面の生成の後に前記手動による操作が行われたジョブを、前記対象ジョブとして特定する、
ことを特徴とするジョブ監視プログラム。
【０１４２】
（付記８）
付記６において、
前記特定する処理では、前記手動による操作が行われた場合に出力される操作ログが生成された場合、生成された前記操作ログに対応するジョブを、前記対象ジョブとして特定する、
ことを特徴とするジョブ監視プログラム。
【０１４３】
（付記９）
付記１において、
前記特定する処理では、前記特定の期間内に実行されるジョブに加え、過去に実行されたジョブのうちの正常に終了していないジョブを、前記対象ジョブとして特定する、
ことを特徴とするジョブ監視プログラム。
【０１４４】
（付記１０）
実行するジョブのスケジュール管理を行う複数のジョブスケジューラのそれぞれから、ジョブのスケジュール情報を取得するスケジュール取得部と、
取得した前記スケジュール情報に基づいて、特定の期間内に実行される対象ジョブを特定する対象ジョブ特定部と、
特定した前記対象ジョブの管理を行うジョブスケジューラに対して、特定した前記対象ジョブの状態に関する情報を要求する要求送信部と、
要求に応じて取得した前記対象ジョブの状態に関する情報から、前記特定の時間内に実行される前記対象ジョブの状態を示す画面を生成する画面生成部と、を有する、
ことを特徴とするジョブ監視装置。
【０１４５】
（付記１１）
付記１０において、さらに、
時間帯に応じてジョブの状態の取得に要する時間を記憶する記憶部を参照し、前記対象ジョブの状態に関する情報を要求するタイミングを決定するタイミング決定部を有し、
前記要求送信部は、決定したタイミングにおいて前記対象ジョブの状態に関する情報の要求を行う、
ことを特徴とするジョブ監視装置。
【０１４６】
（付記１２）
実行するジョブのスケジュール管理を行う複数のジョブスケジューラのそれぞれから、ジョブのスケジュール情報を取得し、
取得した前記スケジュール情報に基づいて、特定の期間内に実行される対象ジョブを特定し、
特定した前記対象ジョブの管理を行うジョブスケジューラに対して、特定した前記対象ジョブの状態に関する情報を要求し、
要求に応じて取得した前記対象ジョブの状態に関する情報から、前記特定の時間内に実行される前記対象ジョブの状態を示す画面を生成する、
ことを特徴とするジョブ監視方法。
【０１４７】
（付記１３）
付記１２において、さらに、
前記要求する工程の前に、時間帯に応じてジョブの状態の取得に要する時間を記憶する記憶部を参照し、前記対象ジョブの状態に関する情報を要求するタイミングを決定する、
処理をコンピュータに実行させ、
前記要求する工程では、決定したタイミングにおいて前記対象ジョブの状態に関する情報の要求を行う、
ことを特徴とするジョブ監視方法。
【符号の説明】
【０１４８】
１：監視装置                  ２：管理装置
３：ジョブ実行装置            ＪＳ１：ジョブスケジューラ
ＪＳ２：ジョブスケジューラ
【図１】
2018116518.tif 000003
【図２】
2018116518.tif 000004
【図３】
2018116518.tif 000005
【図４】
2018116518.tif 000006
【図５】
2018116518.tif 000007
【図６】
2018116518.tif 000008
【図７】
2018116518.tif 000009
【図８】
2018116518.tif 000010
【図９】
2018116518.tif 000011
【図１０】
2018116518.tif 000012
【図１１】
2018116518.tif 000013
【図１２】
2018116518.tif 000014
【図１３】
2018116518.tif 000015
【図１４】
2018116518.tif 000016
【図１５】
2018116518.tif 000017
【図１６】
2018116518.tif 000018
【図１７】
2018116518.tif 000019
【図１８】
2018116518.tif 000020
【図１９】
2018116518.tif 000021
【図２０】
2018116518.tif 000022
【図２１】
2018116518.tif 000023
【図２２】
2018116518.tif 000024
【図２３】
2018116518.tif 000025
【図２４】
2018116518.tif 000026
【図２５】
2018116518.tif 000027