(57)【特許請求の範囲】
【請求項１】
所定の時点のジョブネットの定義を記憶するジョブネット定義記憶手段と、
ジョブネットの定義が変更されるごとに、当該変更の内容を記憶する変更履歴記憶手段と、
ジョブネットおよびジョブが実行されるごとに、当該実行されたジョブネットおよびジョブの実行の結果を記憶する実行結果記憶手段と、
稼働実績のある直近のジョブネットの定義のうち、指定された未実行のジョブネットの定義に最も近い時点における実行済のジョブネットの定義を復元するジョブネット定義復元手段と、
前記ジョブネット定義記憶手段によって記憶されたジョブネットの定義のうち前記未実行のジョブネットの定義と、前記変更履歴記憶手段によって記憶されたジョブネットの定義の変更の内容の履歴とに基づいて、前記実行済のジョブネットの定義を前記ジョブネット定義復元手段により復元するとともに、当該復元されたジョブネットの定義と前記未実行のジョブネットの定義との差分を示す差分情報を求める差分取得手段と、
前記差分取得手段によって求められた取得した差分情報と、前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴とに基づいて、未実行のジョブネットの定義の稼働予測を示す稼働予測情報を求める稼働予測情報取得手段と、
前記差分取得手段によって復元されたジョブネットの定義および前記差分取得手段によって求められた差分情報と、前記稼働予測情報取得手段によって求められた稼働予測情報とを出力する出力手段と、
を備えることを特徴とするジョブ管理システム。
【請求項２】
前記稼働予測情報取得手段が、
前記差分取得手段によって求められた差分情報がジョブネットまたはジョブの追加を示す場合、ジョブネットおよびジョブの実行の結果の履歴に基づき前記ジョブネット定義復元手段によって復元されたジョブネットの定義に含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、当該実行時間の平均を当該復元されたジョブネットの定義の実行時間に加算することにより、前記未実行のジョブネットの定義の稼働予測情報を求め、
前記差分情報が前記ジョブネットの変更の内容がジョブネットまたはジョブの削除を示す場合、ジョブネットおよびジョブの実行の結果の履歴に基づき前記未実行のジョブネットの定義において削除されたジョブネットまたはジョブの実行時間を求め、当該実行時間を前記ジョブネット定義復元手段によって復元されたジョブネットの定義の実行時間から減算することにより、前記未実行のジョブネットの定義の稼働予測情報を求め、
前記差分情報が前記ジョブネットの変更の内容がジョブネットまたはジョブの変更を示す場合、ジョブネットおよびジョブの実行の結果の履歴に基づき変更前のジョブネットまたはジョブの実行時間を求め、当該実行時間を前記ジョブネット定義復元手段によって復元されたジョブネットの定義の実行時間から減算し、更に、前記ジョブネット定義復元手段によって復元されたジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、当該実行時間の平均を加算することにより、前記未実行のジョブネットの定義の稼働予測情報を求める、
ことを特徴とする請求項１に記載のジョブ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種業務を遂行するコンピュータシステムにおいて、指定された日時に指定された業務プログラムを実行するジョブ管理システムに関する。
【背景技術】
【０００２】
各種業務を遂行するコンピュータシステムにおいて、日々の業務を計画的にスケジューリングし自動運用を行うために、ジョブ管理システムが利用されている。ジョブ管理システムは、関連する複数のジョブを起動する順番が記述されたジョブネット毎に運用日や休業日を設定することや、ジョブネットの実行スケジュールとして日次、月次などの各種処理サイクルを指定することによって、さまざまな業務サイクルに合わせてジョブをスケジューリングすることができる。
【０００３】
しかし、業務は日々変動し、変動する業務に対応するため、ジョブネットの定義を変更する必要がでてくる。このとき、その変更が原因で、次回ジョブネットを実行した際に異常終了したり、実行が遅延したりする場合がある。
このような場合に、変更前後のジョブネットの定義を確認することができれば異常終了や遅延の原因の特定が容易になる。
【０００４】
そこで、ジョブネットの定義に適用期間情報を付加することにより、管理上は単一のジョブネットとして扱うが、実際には適用期間ごとに別々のジョブネットの定義を保持し、明示的なバックアップ操作なしに変更前後のジョブネットの定義を確認することができるジョブ管理システムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２３０３２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
実行中のジョブネットの異常終了や遅延が起こった場合には、稼働していた状態のジョブネットを復元し、業務を継続する必要がある。
しかし、日々バックアップを取得していたとしても、以前バックアップを取得した時点までしか戻すことができず、バックアップを取得するまでに加えた変更については復元することができない。また、バックアップしたジョブネットの定義は復元するまでどういう定義か分からず、どの時点のジョブネットが正常に動作するか判断するのが困難であり、復元すべきバックアップを決定するのに手間がかかる。
更に、変動する業務に対応するためには、変更後のジョブネットの定義を正しく動作するように修正する必要があるが、バックアップから復元された定義と変更後の定義とを比較して異常終了や遅延の原因を特定するのは手間がかかる。
特許文献１に記載のジョブ管理システムを用いると、明示的なバックアップ操作は不要となるが、どの適用期間のジョブネットの定義を復元すべきか決定すること、および異常終了や遅延の原因を特定することに手間がかかる点は同様である。
【０００７】
本発明の目的は、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができるジョブ管理システムを提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のジョブ管理システムは、
所定の時点のジョブネットの定義を記憶するジョブネット定義記憶手段と、
ジョブネットの定義が変更されるごとに、当該変更の内容を記憶する変更履歴記憶手段と、
ジョブネットおよびジョブが実行されるごとに、当該実行されたジョブネットおよびジョブの実行の結果を記憶する実行結果記憶手段と、
稼働実績のある直近のジョブネットの定義のうち、指定された未実行のジョブネットの定義に最も近い時点における実行済のジョブネットの定義を復元するジョブネット定義復元手段と、
前記ジョブネット定義記憶手段によって記憶されたジョブネットの定義のうち前記未実行のジョブネットの定義と、前記変更履歴記憶手段によって記憶されたジョブネットの定義の変更の内容の履歴とに基づいて、前記実行済のジョブネットの定義を前記ジョブネット定義復元手段により復元するとともに、当該復元されたジョブネットの定義と前記未実行のジョブネットの定義との差分を示す差分情報を求める差分取得手段と、
前記差分取得手段によって求められた取得した差分情報と、前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴とに基づいて、未実行のジョブネットの定義の稼働予測を示す稼働予測情報を求める稼働予測情報取得手段と、
前記差分取得手段によって復元されたジョブネットの定義および前記差分取得手段によって求められた差分情報と、前記稼働予測情報取得手段によって求められた稼働予測情報とを出力する出力手段と、
を備えることを特徴とする。
【０００９】
好ましくは、本発明のジョブ管理システムは、
前記稼働予測情報取得手段が、
前記差分取得手段によって求められた差分情報がジョブネットまたはジョブの追加を示す場合、ジョブネットおよびジョブの実行の結果の履歴に基づき前記ジョブネット定義復元手段によって復元されたジョブネットの定義に含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、当該実行時間の平均を当該復元されたジョブネットの定義の実行時間に加算することにより、前記未実行のジョブネットの定義の稼働予測情報を求め、
前記差分情報が前記ジョブネットの変更の内容がジョブネットまたはジョブの削除を示す場合、ジョブネットおよびジョブの実行の結果の履歴に基づき前記未実行のジョブネットの定義において削除されたジョブネットまたはジョブの実行時間を求め、当該実行時間を前記ジョブネット定義復元手段によって復元されたジョブネットの定義の実行時間から減算することにより、前記未実行のジョブネットの定義の稼働予測情報を求め、
前記差分情報が前記ジョブネットの変更の内容がジョブネットまたはジョブの変更を示す場合、ジョブネットおよびジョブの実行の結果の履歴に基づき変更前のジョブネットまたはジョブの実行時間を求め、当該実行時間を前記ジョブネット定義復元手段によって復元されたジョブネットの定義の実行時間から減算し、更に、前記ジョブネット定義復元手段によって復元されたジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、当該実行時間の平均を加算することにより、前記未実行のジョブネットの定義の稼働予測情報を求める、
ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るジョブ管理システムの構成の一例を示す図である。
【図２】ジョブ管理装置とジョブ管理ＧＵＩ装置とジョブ実行装置のハードウェア構成の一例を示す図である。
【図３】ジョブ管理マネージャーの構成の一例を示す図である。
【図４】ジョブ定義ＤＢに格納されているデータの概念の一例を示す図である。
【図５】実行結果情報ＤＢに格納されている実行結果情報テーブルのデータ構成の一例を示す図である。
【図６】履歴管理ＤＢに格納されている履歴管理テーブルのデータ構成の一例を示す図である。
【図７】稼働実績情報の構成の一例を示す図である。
【図８】稼働予測情報の構成の一例を示す図である。
【図９】履歴情報からジョブネットの定義を求める処理の一例の流れを示す図である。
【図１０】変更履歴の任意の２つの時点を選択し、ジョブネットの差分を求める処理の一例の流れを示す図である。
【図１１】図１０の続きの図である。
【図１２】ジョブ管理ＧＵＩによって表示されるジョブネットの差分の一例を示す図である。
【図１３】稼働実績情報を求める稼働情報算出部の処理の一例の流れを示す図である。
【図１４】稼働予測情報を求める稼働情報算出部の処理の一例の流れを示す図である。
【図１５】ジョブ管理ＧＵＩによってジョブ管理ＧＵＩ装置の表示部に表示される差分履歴リストの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係るジョブ管理システムについて図面を参照しながら詳細に説明する。
なお、本明細書と特許請求の範囲におけるジョブとは、コンピュータが処理する仕事の単位を意味し、各種業務に対応した外部プログラムを定義できるものである。また、ジョブネットとは、複数のジョブをまとめてそれぞれのジョブの実行順序を定義したものである。
【００１４】
図１は、本発明の実施形態に係るジョブ管理システム１００の構成の一例を示す。
ジョブ管理システム１００は、ジョブ管理マネージャー１０２を有するジョブ管理装置１０１Ａと、ジョブ管理ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）１０３を有するジョブ管理ＧＵＩ装置１０１Ｂと、ジョブ実行エージェント１０４を有するジョブ実行装置１０１Ｃ〜１０１Ｅとで構成される。ジョブ管理装置１０１Ａと、ジョブ管理ＧＵＩ装置１０１Ｂと、ジョブ実行装置１０１Ｃ〜１０１Ｅとはネットワーク１０５に接続されており、相互に通信することができる。
ジョブ管理マネージャー１０２は、実際の業務をジョブとして管理する。またジョブ管理ＧＵＩ１０３は、ジョブ管理マネージャー１０２が管理するジョブネットやジョブの定義、実行やジョブネットの定義の履歴情報をＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）で表示する。ジョブ管理ＧＵＩ１０３の利用者は、ＧＵＩで表示されている各種の情報を見ながら、操作することができる。ジョブ実行エージェント１０４はジョブ管理マネージャー１０２から配信されたジョブを実際に実行する。
【００１５】
ジョブ管理装置１０１Ａとジョブ実行装置１０１Ｃ〜１０１Ｅは、図２（Ａ）に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成されるメモリ１１２と、ハードディスク等で構成される記憶部１１３とを有するコンピュータである。また、ジョブ管理ＧＵＩ装置１０１Ｂは、図２（Ｂ）に示すように、ＣＰＵ１１１と、メモリ１１２と、記憶部１１３と、キーボードやマウス等で構成される入力部１１４と、ディスプレイ等で構成される表示部１１５とを有するコンピュータである。なお、ジョブ管理装置１０１Ａとジョブ実行装置１０１Ｃ〜１０１Ｅも入力部１１４と表示部１１５を有していてもよい。
ジョブ管理装置１０１Ａのメモリはジョブ管理プログラムを記憶している。ジョブ管理装置１０１ＡのＣＰＵ１１１がメモリに記憶されているジョブ管理プログラムを実行することにより、ジョブ管理マネージャー１０２を有するジョブ管理装置１０１Ａの機能が実現される。
ジョブ管理ＧＵＩ装置１０１Ｂのメモリはジョブ管理ＧＵＩプログラムを記憶している。ジョブ管理ＧＵＩ装置１０１ＢのＣＰＵ１１１がメモリに記憶されているジョブ管理ＧＵＩプログラムを実行することにより、ジョブ管理ＧＵＩ１０３を有するジョブ管理ＧＵＩ装置１０１Ｂの機能が実現される。
ジョブ実行装置１０１Ｃ〜１０１Ｅのメモリはジョブ実行プログラムを記憶している。ジョブ実行装置１０１Ｃ〜１０１ＥのＣＰＵ１１１がメモリに記憶されているジョブ実行プログラムを実行することにより、ジョブ実行エージェント１０４を有するジョブ実行装置１０１Ｃ〜１０１Ｅの機能が実現される。
【００１６】
なお、ジョブ管理装置１０１Ａと、ジョブ管理ＧＵＩ装置１０１Ｂと、ジョブ実行装置１０１Ｃ〜１０１Ｅを別々のコンピュータではなく、１台のコンピュータで実現することもできる。また、ジョブ実行装置は３台のコンピュータに限らず、１台、２台、または４台以上のコンピュータで実現してもよい。
【００１７】
図３は、ジョブ管理マネージャー１０２の構成の一例を示す。
ジョブ管理マネージャー１０２は、ジョブ実行処理部２０１と、ＤＢアクセス処理部２０２と、ジョブ管理ＧＵＩ通信部２０３と、稼働情報算出部２０４とを有する。ジョブ管理マネージャー１０２を有するジョブ管理装置１０１Ａの記憶部１１３は、ジョブ定義ＤＢ（Ｄａｔａ  Ｂａｓｅ）２０５と、実行結果情報ＤＢ２０６と、履歴管理ＤＢ２０７とを記憶している。
ジョブ定義ＤＢ２０５は、ジョブネットやジョブの定義を示す定義情報を格納する。
実行結果情報ＤＢ２０６は、ジョブ実行処理部２０１によって取得される動作したジョブネットやジョブの状態や開始時刻、終了時刻などを格納する。
履歴管理ＤＢ２０７は、ジョブネットやジョブの定義を変更したときに取得した変更履歴を格納する。
ジョブ実行処理部２０１は、ジョブネットの中に定義されているジョブ等の実行をジョブ実行エージェント１０４に要求し、その結果を受け取る。
ＤＢアクセス処理部２０２は、ジョブ定義ＤＢ２０５と実行結果情報ＤＢ２０６と履歴管理ＤＢ２０７とに格納されている情報の追加、更新、削除を行う。
ジョブ管理ＧＵＩ通信部２０３は、ジョブ管理ＧＵＩ１０３からジョブネットに関する情報を求められると、ＤＢアクセス処理部２０２に依頼してジョブ定義ＤＢ２０５、実行結果情報ＤＢ２０６、または履歴管理ＤＢ２０７に格納されている情報を取得し、取得した情報をジョブ管理ＧＵＩ１０３に返却する。
稼働情報算出部２０４は、ジョブ管理ＧＵＩ１０３から稼働情報の取得を求められると、ジョブ定義ＤＢ２０５、実行結果情報ＤＢ２０６、および履歴管理ＤＢ２０７に格納されている情報に基づいて稼働情報を算出する。
【００１８】
図４は、ジョブ定義ＤＢ２０５に格納されているデータの概念の一例を示す。
ジョブ管理マネージャー１０２で運用される業務は、図４（Ａ）に示すように、バッチファイルやバイナリファイルを実行するジョブ３０１と、複数のジョブ３０１の実行順序を定めてひとまとめにしたものであるジョブネット３０２とで構成される。
ジョブネット３０２は、階層化が可能である。例えば、図４（Ｂ）に示すように、ジョブネット３０２のトップの階層はRootNet３０３であり、RootNet３０３は配下にJobNetA３０４を持つ。JobNetA３０４は配下にJobA３０５と、JobNetB３０６と、JobB３０７とを持つ。JobNetB３０６は配下にJobC３０８を持つ。また、JobNetA３０４から見た上位のユニットはRootNet３０３である。JobA３０５とJobNetB３０６とJobB３０７から見た上位のユニットはJobNetA３０４である。JobC３０８から見た上位のユニットはJobNetB３０６である。
【００１９】
図５は、実行結果情報ＤＢ２０６に格納されている実行結果情報テーブル４０１のデータ構成の一例を示す。
実行結果情報テーブル４０１のレコードは、実行結果ごとに一意に付与される識別符号を示す実行ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）４０２と、ジョブネットまたはジョブを一意に特定する名前を示すジョブネット・ジョブ名４０３と、該当のジョブネットまたはジョブを開始した時刻を示す開始時刻４０４と、該当のジョブネットまたはジョブが終了した時刻を示す終了時刻４０５と、該当のジョブネットまたはジョブを実行した結果を示す状態４０６から構成される。
ジョブネットが階層化されている場合、実行結果情報テーブル４０１には、トップの階層のジョブネットの実行結果だけではなく、中間の階層のジョブネットの実行結果も格納される。例えば、ジョブネットが図４（Ｂ）に示す階層を有する場合、実行結果情報テーブル４０１には、RootNet３０３と、JobNetA３０４と、JobA３０５と、JobNetB３０６と、JobB３０７と、JobC３０８の実行結果がそれぞれ格納される。
【００２０】
図６は、ジョブネットまたはジョブの定義が更新された際に履歴管理ＤＢ２０７に格納される履歴管理テーブル５０１のデータ構成の一例を示す。
履歴管理テーブル５０１のレコードは、変更履歴ごとに一意に付与される識別符号を示す履歴ＩＤ５０２と、ジョブネットまたはジョブを一意に特定する名前を示すジョブネット・ジョブ名５０３と、該当のジョブネットまたはジョブの変更の種別を示す変更種別５０４と、該当のジョブネットまたはジョブを変更した内容を示す変更内容５０５と、該当のジョブネットまたはジョブを変更した時刻を示す変更時刻５０６とから構成される。
【００２１】
図７は、ジョブ管理ＧＵＩ１０３によってジョブ管理ＧＵＩ装置１０１Ｂの表示部１１５に表示される稼働実績情報６０１の構成の一例を示す。
稼働実績情報６０１は、該当するジョブネットまたはジョブがジョブ実行処理部２０１によって実行された回数を示す実行回数６０２と、該当するジョブネットまたはジョブの実行にかかった時間の平均である実行時間６０３と、該当するジョブネットまたはジョブの直近の実行結果を示す実行結果６０４と、該当するジョブネットまたはジョブの直近の開始時刻を示す開始時刻６０５と、該当するジョブネットまたはジョブの直近の終了時刻を示す終了時刻６０６から構成される。
【００２２】
図８は、ジョブ管理ＧＵＩ１０３によってジョブ管理ＧＵＩ装置１０１Ｂの表示部１１５に表示される稼働予測情報７０１の構成の一例を示す。
稼働予測情報７０１は、該当するジョブネットまたはジョブがジョブ実行処理部２０２によって実行された回数を示す実行回数７０２と、該当するジョブネットまたはジョブの差分情報から算出した実行にかかる時間の予測を示す実行時間７０３と、該当するジョブネットまたはジョブに定義されている開始予定時刻を示す開始時刻７０４と、該当するジョブネットまたはジョブの実行時間７０３と開始時刻７０４から算出した終了予定時刻を示す終了時刻７０５から構成される。なお、稼働予測情報７０１には、稼働実績情報６０１の実行結果６０４に相当するものは格納されない。
【００２３】
図９は、履歴情報からジョブネットの定義を求める処理の一例の流れを示す。
ジョブ管理ＧＵＩ１０３は、ジョブ管理マネージャー１０２にジョブネットと変更時点とを指定してジョブネットの定義を要求する。
ジョブ管理ＧＵＩ通信部２０３は、まず、ＤＢアクセス処理部２０２を通じて、ジョブ管理ＧＵＩ１０３によって指定されたジョブネットの定義をジョブ定義ＤＢ２０５から取得する（Ｓ１０１）。なお、ジョブ定義ＤＢ２０５から取得するジョブネットの定義は現時点のものである。
ジョブ管理ＧＵＩ通信部２０３は、次に、指定されたジョブネットの定義について指定された変更時点から現時点まで変更種別５０４と変更内容５０５から成る変更情報を履歴管理ＤＢ２０７の履歴管理テーブル５０１から取得する(Ｓ１０２)。
【００２４】
そして、ジョブ管理ＧＵＩ通信部２０３は、現時点から指定された変更時点に向けて、変更情報を１件ずつ順番に選択し（Ｓ１０３）、指定されたジョブネットの定義に選択した変更情報を反映して復元する（Ｓ１０４）ことを繰り返す（Ｓ１０５）。指定された変更時点まで変更情報を反映したならば、ジョブ管理ＧＵＩ通信部２０３は処理を終了する。
ジョブ管理ＧＵＩ通信部２０３は、完成したジョブネットの定義をジョブ管理ＧＵＩ１０３に出力（送信）する。ジョブ管理ＧＵＩ１０３は、受信したジョブネットの定義をジョブ管理ＧＵＩ装置１０１Ｂの表示部１１５に表示する。
【００２５】
図１０と図１１は、変更履歴の任意の２つの時点を選択し、ジョブネットの差分を求める処理の一例の流れを示す。
変更履歴の任意の２つの時点を選択することによって、２つの時点間のジョブネットの差分を求め、変更前後の差分を表示することができる。
ジョブ管理ＧＵＩ１０３は、ジョブ管理マネージャー１０２にジョブネットと変更前の時点と変更後の時点とを指定してジョブネットの定義の差分を要求する。
ジョブ管理ＧＵＩ通信部２０３は、まず、図９で説明した手順で、指定された２つの時点のうち変更前のジョブネットの定義を復元する(Ｓ２０１)。次に、変更前の時点から変更後の時点まで、変更種別５０４と変更内容５０５から成る変更情報を履歴管理テーブル５０１から取得する(Ｓ２０２)。
次に、ジョブ管理ＧＵＩ通信部２０３は、取得した変更情報から１件選択する(Ｓ２０３)。ジョブ管理ＧＵＩ通信部２０３は、変更情報に含まれる変更種別５０４を確認し、ジョブネットに対して「変更フラグ」または「削除フラグ」または「追加フラグ」を立て(Ｓ２０４〜Ｓ２０６)、ジョブネットに変更を反映する(Ｓ２０７)。ジョブ管理ＧＵＩ通信部２０３は、変更前の時点から変更後の時点に向けて取得した変更情報を全部処理するまでＳ２０３〜Ｓ２０７を繰り返し(Ｓ２０８)、最終的に変更後の時点のジョブネットの定義を完成させる。
【００２６】
次に、ジョブ管理ＧＵＩ通信部２０３は、上位のジョブネットについて変更前の時点から変更後の時点までの間に変更があるか否か履歴管理テーブル５０１を調べ(Ｓ２０９)、変更がある場合は「上位に変更ありのフラグ」を立てる(Ｓ２１０)。最後に、ジョブ管理ＧＵＩ通信部２０３は、下位のジョブネットについて変更前の時点から変更後の時点までの間に変更があるか否か履歴管理テーブル５０１を調べ(Ｓ２１１)、変更がある場合は「下位に変更ありのフラグ」を立てる(Ｓ２１２)。
ジョブ管理ＧＵＩ通信部２０３は、復元した２つの時点のジョブネットの定義と完成したジョブネットの定義の差分情報をジョブ管理ＧＵＩ１０３に出力（送信）する。ジョブ管理ＧＵＩ１０３は、受信した２つの時点のジョブネットの定義とジョブネットの定義の差分情報をジョブ管理ＧＵＩ装置１０１Ｂの表示部１１５に表示する。
【００２７】
図４に示すJobNetA３０４について変更前の時点として履歴ＩＤ５０２＝００２、変更後の時点として履歴ＩＤ５０２＝００５を選択して差分を求める例について説明する。図１２は、ジョブ管理ＧＵＩ１０３によってジョブ管理ＧＵＩ装置１０１Ｂの表示部１１５に表示される変更前後の差分の一例を示す。
図６の履歴管理テーブル５０１に示すように、履歴ＩＤ５０２＝００３でJobNetB３０６が追加されているので、追加フラグが立てられ、「追加」と表示される(８０１)。履歴ＩＤ５０２＝００４で上位のジョブネットRootNet３０３が変更されているので、上位のジョブネットRootNet３０３に上位に変更ありのフラグが立てられ、「上位に変更あり」と表示される(８０２)。履歴ＩＤ５０２＝００５でJobB３０７が削除されているので、削除フラグが立てられ、「削除」と表示される(８０３)。
【００２８】
図１３は、稼働実績情報６０１を求める稼働情報算出部２０４の処理の一例の流れを示す。
ジョブ管理ＧＵＩ１０３は、ジョブ管理マネージャー１０２にジョブネットと時刻とを指定して稼働実績を要求する。
稼働情報算出部２０４は、ジョブ管理ＧＵＩ１０３によって指定された時刻におけるジョブネットが変更された時点の変更時刻５０６と、そのジョブネットが次に変更された時点の変更時刻５０６とをＤＢアクセス処理部２０２を通して履歴管理ＤＢ２０７の履歴管理テーブル５０１から取得する(Ｓ３０１)。次に、稼働情報算出部２０４は、指定された時刻におけるジョブネットが変更された時点の変更時刻５０６と、そのジョブネットが次に変更された時点の変更時刻５０６との間に実行されたそのジョブネットの実行結果が含まれるレコードを、開始時刻４０４と終了時刻４０５と照らし合わせ、実行結果情報テーブル４０１から取得する(Ｓ３０２)。次に、稼働情報算出部２０４は、ステップＳ３０２で取得したレコード数をカウントし、指定されたジョブネットの実行回数６０２を求める(Ｓ３０３)。次に、稼働情報算出部２０４は、ステップＳ３０２で取得した全てのレコードの開始時刻４０４と終了時刻４０５の差分を取って平均し、実行時間６０３を求める(Ｓ３０４)。最後に、稼働情報算出部２０４は、最新の実行結果情報を取得するため、開始時刻４０４が最も遅いレコードを求め、そのレコードの状態４０６と開始時刻４０４と終了時刻４０５とを、それぞれ実行結果６０４と開始時刻６０５と終了時刻６０６とする(Ｓ３０５)。
ジョブ管理ＧＵＩ通信部２０３は、稼働情報算出部２０４から完成した稼働実績情報６０１を受け取り、ジョブ管理ＧＵＩ１０３に出力（送信）する。ジョブ管理ＧＵＩ１０３は、受信した稼働実績情報６０１をジョブ管理ＧＵＩ装置１０１Ｂの表示部１１５に表示する。
【００２９】
稼働実績情報６０１を求める処理の例として、ジョブネットとしてJobNetA、時刻として2011/08/17  12:10:11を指定して稼働実績情報を求める場合を示す。図６より、時刻2011/08/17  12:10:11におけるJobNetAの履歴ＩＤ５０２は００２である。そして、履歴ＩＤ５０２＝００２の変更時刻は2011/08/16  13：25：46であり、その次の履歴ＩＤ５０２＝００３の変更時刻は2011/08/20  10：29：58である。図５より、2011/08/16  13：25：46と2011/08/20  10：29：58の間に実行ＩＤ４０２＝００２〜００４のジョブネットまたはジョブが実行されているため、実行ＩＤ４０２＝００２〜００４の実行結果情報を取得する。取得した実行結果情報の数は３レコードであり、取得した実行結果情報の開始時刻４０４、終了時刻４０５の差分の平均は00:10:25である。取得した実行結果情報の中で最新のものは実行ＩＤ４０２＝００４のものである。上記の情報を総合した結果、実行結果情報が図７のように表示される。
【００３０】
図１４は、稼働予測情報７０１を求める稼働情報算出部２０４の処理の一例の流れを示す。
履歴管理テーブル５０１に格納されている履歴情報について、実行されたことがあるジョブネットの定義に関しては実際に稼働したデータを稼働実績情報６０１として表示できるが、変更後に実行されたことがないジョブネットの定義に関しては、稼働実績情報６０１を表示することができない。そこで、直近の稼働実績がある履歴情報から、変更差分を加味することによって稼働予測情報７０１を作成する。
【００３１】
ジョブ管理ＧＵＩ１０３は、ジョブ管理マネージャー１０２にジョブネットの定義を指定して稼働予測を要求する。
稼働情報算出部２０４は、まず、指定されたジョブネットの定義について、過去の履歴をたどり、稼働実績情報６０１の存在する直近のジョブネットの定義を探し、直近のジョブネットの定義（指定された未実行のジョブネットの定義に最も近い時点の実行済みのジョブネットの定義）を復元する(Ｓ４０１)。そして、稼働情報算出部２０４は、見つかった稼働実績情報６０１の存在するジョブネットの定義と指定されたジョブネットの定義との差分を、図１０のステップＳ２０２〜Ｓ２０８と同様の方法で求める(Ｓ４０２)。
【００３２】
稼働情報算出部２０４は、次に、稼働実績のある直近のジョブネットの定義の実行時間６０３を求め、取得した差分全部について、履歴管理テーブル５０１の変更種別５０４毎に次の処理を行う。
変更種別５０４が「追加」の場合、復元された稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を、追加したジョブネットまたはジョブの実行時間とみなす。そこで、稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、その平均を稼働実績がある直近のジョブネットの定義の実行時間６０３に加算する（Ｓ４０４）。
変更種別５０４が「削除」の場合、削除したジョブネットまたはジョブの稼働実績情報６０１を実行結果情報テーブル４０１と履歴管理テーブル５０１から求めることができる。そこで、削除したジョブネットまたはジョブの実行時間６０３を求め、求められた実行時間６０３を稼働実績がある直近のジョブネットの定義の実行時間６０３から減算する（Ｓ４０５）。
変更種別５０４が「変更」の場合、まず、変更したジョブネットまたはジョブの変更前の稼働実績情報６０１から変更前のジョブネットまたはジョブの実行時間６０３を求め、求められた実行時間６０３を稼働実績がある直近のジョブネットの定義の実行時間６０３から減算する。次に、その結果に対して、復元された稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、その平均を加算する。
すべての差分についてステップＳ４０３〜Ｓ４０６の処理を繰り返すことで、実行時間７０３を算出する(Ｓ４０７)。
【００３３】
上記の操作を行うことで、ジョブネットの定義を変更した場合に、どの程度の時間がかかるかを高い確度で予測することができる。
なお、稼働予測情報７０１に含まれるジョブネットの開始時刻７０４は指定されたジョブネットの定義の開始予定時刻である。ジョブネットの終了時刻７０５は開始時刻７０４に上記で求めた実行時間７０２を加えることで求めることができる。
ジョブ管理ＧＵＩ通信部２０３は、稼働情報算出部２０４から完成した稼働予測情報７０１を受け取り、ジョブ管理ＧＵＩ１０３に出力（送信）する。ジョブ管理ＧＵＩ１０３は、受信した稼働予測情報７０１をジョブ管理ＧＵＩ装置１０１Ｂの表示部１１５に表示する。
【００３４】
図１５は、ジョブ管理ＧＵＩ１０３によってジョブ管理ＧＵＩ装置１０１Ｂの表示部１１５に表示される差分履歴リストの一例を示す。
履歴情報９０１には、履歴管理ＤＢ２０７に格納されている履歴管理テーブル５０１の情報が表示される。稼働実績／稼働予測９０２には、図１３に示す処理で求めた稼働実績情報６０１と、図１４に示す処理で求めた稼働予測情報７０１が表示される。ユーザーは、差分履歴リストから任意の差分を選択してジョブネットの定義を復元したり、差分情報を表示したりすることができる。
【００３５】
なお、上述した実施形態では、図９に示したように、ジョブ管理ＧＵＩ通信部２０３は、ジョブ定義ＤＢ２０５から現時点のジョブネットの定義を取得し、現時点から指定された変更時点に向けて、変更情報を１件ずつ順番に選択し（Ｓ１０３）、指定されたジョブネットの定義に選択した変更情報を反映して復元する（Ｓ１０４）ことを繰り返す（Ｓ１０５）とした。しかし、これに限らず、ジョブ管理ＧＵＩ通信部２０３は、所定の時点、例えば、最初の時点のジョブネットの定義、すなわち、初めてそのジョブネットの定義がジョブ定義ＤＢ２０５に格納された時のジョブネットの定義をジョブ定義ＤＢ２０５から取得する。次に、ジョブ管理ＧＵＩ通信部２０３は、そのジョブネットの定義について所定の時点から指定された変更時点まで変更種別５０４と変更内容５０５から成る変更情報を履歴管理ＤＢ２０７の履歴管理テーブル５０１から取得する。そして、ジョブ管理ＧＵＩ通信部２０３は、所定の時点から指定された変更時点に向けて、変更情報を１件ずつ順番に選択し、指定されたジョブネットの定義に選択した変更情報を反映して復元する（Ｓ１０４）ことを繰り返すとしてもよい。
【００３６】
以上説明したように、本発明によれば、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができる。すなわち、本発明によれば、変更前のジョブネットの定義を復元するとともにジョブネットの定義の変更差分を取得し、これらをＧＵＩ表示することで、実際にバックアップから復元する前に復元結果を確認することができる。
また、変更ポイントごとの稼働実績を表示することで、正常に稼働していたジョブネットかどうかが確認でき、迅速にシステムを再開できる。
さらに、稼働実績のないジョブネットについても、稼働実績のある部分とない部分の差分を取ることで、稼働させたときのジョブスケジューリング情報を予測できる。
【符号の説明】
【００３７】
１００…ジョブ管理システム、１０１Ａ…ジョブ管理装置、１０１Ｂ…ジョブ管理ＧＵＩ装置、１０１Ｃ〜１０１Ｅ…ジョブ実行装置、１０２…ジョブ管理マネージャー、１０３…ジョブ管理ＧＵＩ、１０４…ジョブ実行エージェント、１０５…ネットワーク、１１１…ＣＰＵ、１１２…メモリ、１１３…記憶部、１１４…入力部、１１５…表示部、２０１…ジョブ実行処理部、２０２…ＤＢアクセス処理部、２０３…ジョブ管理ＧＵＩ通信部、２０４…稼働情報算出部、２０５…ジョブ定義ＤＢ、２０６…実行結果情報ＤＢ、２０７…履歴管理ＤＢ、３０１…ジョブ、３０２…ジョブネット、３０３…RootNet、３０４…JobNetA、３０５…JobA、３０６…JobNetB、３０７…JobB、３０８…JobC
【図１】
0005797994.tif 000002
【図２】
0005797994.tif 000003
【図３】
0005797994.tif 000004
【図４】
0005797994.tif 000005
【図５】
0005797994.tif 000006
【図６】
0005797994.tif 000007
【図７】
0005797994.tif 000008
【図８】
0005797994.tif 000009
【図９】
0005797994.tif 000010
【図１０】
0005797994.tif 000011
【図１１】
0005797994.tif 000012
【図１２】
0005797994.tif 000013
【図１３】
0005797994.tif 000014
【図１４】
0005797994.tif 000015
【図１５】
0005797994.tif 000016