(57)【要約】【課題】運用者がジョブ同士の依存関係を考慮せずジョブの再実行を行うことができ、運用者がジョブを再実行する際にかかる労力を軽減すること。【解決手段】ジョブ実行管理システム１０は、再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を依存関係情報記憶部１６から検索し、依存関係情報記憶部１６において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、指定されたジョブとともに再実行する。【選択図】図１
2015204036.tif 000002
【特許請求の範囲】
【請求項１】
一連のジョブを順次実行するジョブ実行部と、
前記ジョブ実行部によってジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて記憶部に格納する格納部と、
再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を前記記憶部から検索する検索部と、
前記記憶部において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、前記指定されたジョブとともに再実行するように制御するジョブ再実行制御部と、
を備えることを特徴とするジョブ実行管理システム。
【請求項２】
前記ジョブ再実行制御部は、再実行対象のジョブとともに、再実行対象のジョブが実行された後に実行される予定のジョブを未実行の状態にした後に、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、前記指定されたジョブとともに再実行するように制御することを特徴とする請求項１に記載のジョブ実行管理システム。
【請求項３】
前記検索部は、検索されたイベントの通知元のジョブの特定情報または該通知元のジョブが実行された後に実行される予定の各ジョブの特定情報に対応するイベントの通知先のジョブの特定情報と一致するイベントの通知元のジョブの特定情報を前記記憶部からさらに検索することを特徴とする請求項１または２に記載のジョブ実行管理システム。
【請求項４】
ジョブ実行管理システムで実行されるジョブ再実行方法であって、
一連のジョブを順次実行するジョブ実行工程と、
前記ジョブ実行工程によってジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて記憶部に格納する格納工程と、
再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を前記記憶部から検索する検索工程と、
前記記憶部において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、前記指定されたジョブとともに再実行するように制御するジョブ再実行制御工程と、
を含んだことを特徴とするジョブ再実行方法。
【請求項５】
一連のジョブを順次実行するジョブ実行ステップと、
前記ジョブ実行ステップによってジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて記憶部に格納する格納ステップと、
再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を前記記憶部から検索する検索ステップと、
前記記憶部において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、前記指定されたジョブとともに再実行するように制御するジョブ再実行制御ステップと、
をコンピュータに実行させるためのジョブ再実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ実行管理システム、ジョブ再実行方法およびジョブ再実行プログラムに関する。
【背景技術】
【０００２】
従来、決められた処理を逐次的に実行するジョブ実行管理システムにおいて、ジョブの実行結果に異常があった場合には、原因を取り除いた後に、該当ジョブフローの異常が起きたジョブ及び以降のジョブの再実行が必要となる。または、緊急トラブルやリハーサル試験等のため、一度実行したジョブフローを最初から、あるいは途中から再実行が必要となる事がある。
【０００３】
例えば、運用者が効率的にジョブの再実行を実施するための方法として、ジョブフローから対象とするジョブを指定し、指定された以降のジョブを再実行する方法が知られている（例えば、特許文献１参照）。
【０００４】
また、複雑なジョブ実行を行っているシステムでは、あるジョブフローのジョブ実行が他のジョブフローのジョブ実行の遷移状況に影響を与えている場合がある。従来技術を用いた場合でも、運用者が再実行するジョブフローだけではなく、そのジョブフローが影響を与えたジョブフロー及びジョブを一つ一つ確認し、再実行操作を行う必要がある。
【０００５】
例えば、所定のジョブフローのジョブ実行により発生するメッセージ通知等のイベントの発生を受けて、他のジョブフローのジョブ実行が遷移する場合において、メッセージ通知が発生するジョブを再実行する場合に、イベントを受けて遷移するジョブフローにおいてもジョブの再実行が必要となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−２２７３６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ジョブフローのジョブと依存関係があるジョブを再実行する場合は、再実行するジョブと依存関係があるジョブフロー及びジョブについて手作業で確認し、再実行するので、運用者がジョブを再実行する際にかかる労力が大きいという課題があった。
【０００８】
なお、異なるジョブフローにあるジョブ間に依存関係を予め設定する解決方法も考えられるが、ジョブフロー毎に実行するスケジュールや周期が異なり、実行の度に同じ依存関係となるとは限らない事がジョブ実行管理システムでは一般的であるため、この方法では解決できない。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明のジョブ実行管理システムは、一連のジョブを順次実行するジョブ実行部と、前記ジョブ実行部によってジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて記憶部に格納する格納部と、再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を前記記憶部から検索する検索部と、前記記憶部において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、前記指定されたジョブとともに再実行するように制御するジョブ再実行制御部と、を備えることを特徴とする。
【００１０】
また、本発明のジョブ再実行方法は、ジョブ実行管理システムで実行されるジョブ再実行方法であって、一連のジョブを順次実行するジョブ実行工程と、前記ジョブ実行工程によってジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて記憶部に格納する格納工程と、再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を前記記憶部から検索する検索工程と、前記記憶部において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、前記指定されたジョブとともに再実行するように制御するジョブ再実行制御工程と、を含んだことを特徴とする。
【００１１】
また、本発明のジョブ再実行プログラムは、一連のジョブを順次実行するジョブ実行ステップと、前記ジョブ実行ステップによってジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて記憶部に格納する格納ステップと、再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を前記記憶部から検索する検索ステップと、前記記憶部において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、前記指定されたジョブとともに再実行するように制御するジョブ再実行制御ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、運用者がジョブ同士の依存関係を考慮せずジョブの再実行を行うことができ、運用者がジョブを再実行する際にかかる労力を軽減することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、第一の実施の形態に係るジョブ実行管理システムの全体構成を示す概略構成図である。
【図２】図２は、第一の実施形態に係るイベント通知に含まれる情報の一例を示す図である。
【図３】図３は、依存関係情報記憶部に記憶されるテーブルの一例を示す図である。
【図４】図４は、イベント通知を送信する前の各ジョブの状況の一例を示す図である。
【図５】図５は、イベント通知を送信した時の各ジョブの状況の一例を示す図である。
【図６】図６は、イベント通知を受信した時の各ジョブの状況の一例を示す図である。
【図７】図７は、イベント通知を受信した後の各ジョブの状況の一例を示す図である。
【図８】図８は、運用者がジョブの再実行を実施する際の各ジョブの状況の一例を示す図である。
【図９】図９は、運用者がジョブの再実行を実施する際に、再実行対象のジョブがイベント通知の送信元である場合に、他のジョブも再実行することを説明する図である。
【図１０】図１０は、運用者がジョブの再実行を実施する際に、イベント通知の送信先のジョブフローが他のジョブフローからも影響されている場合の再実行処理を説明する図である。
【図１１】図１１は、運用者がジョブの再実行を実施する際に、イベント通知の送信先のジョブフローが、さらに他のジョブフローに影響を与えている場合の再実行処理を説明する図である。
【図１２】図１２は、第一の実施の形態に係るジョブ実行管理システムにおけるジョブ実行管理処理の流れを説明する図である。
【図１３】図１３は、第一の実施の形態に係るジョブ実行管理システムによる依存関係情報格納処理の流れを示すフローチャートである。
【図１４】図１４は、第一の実施の形態に係るジョブ実行管理システムによるジョブ再実行処理の流れを示すフローチャートである。
【図１５】図１５は、ジョブ再実行プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願に係るジョブ実行管理システム、ジョブ再実行方法およびジョブ再実行プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係るジョブ実行管理システム、ジョブ再実行方法およびジョブ再実行プログラムが限定されるものではない。
【００１５】
［第一の実施の形態］
以下の実施の形態では、第一の実施の形態に係るジョブ実行管理システムの構成および処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
【００１６】
［第一の実施の形態に係るジョブ実行管理システムの構成］
まず、図１を用いて、第一の実施の形態に係るジョブ実行管理システムについて説明する。図１は、第一の実施の形態に係るジョブ実行管理システムの全体構成を示す概略構成図である。なお、以下の説明において、ジョブフローとは、ジョブ実行の順序、分岐条件等が記載されたジョブの実行フローであり、運用者が実行開始操作を行う単位のことであり、ジョブとは、逐次的に行う処理の単位のことをいう。
【００１７】
図１に示すように、ジョブ実行管理システム１０は、実行操作取得部１１、実行結果出力部１２、ジョブフロー実行部１３、ジョブ実行部１４、イベント管理部１５および依存関係情報記憶部１６を有し、操作端末２０と接続される。
【００１８】
実行操作取得部１１は、ジョブフローの実行する旨の指示として、運用者によるジョブフローの実行操作を受け付ける。具体的には、実行操作取得部１１は、運用者が操作端末２０を通してジョブフローの実行操作を行うと、該実行操作を受け付け、実行操作の操作内容を取得する。
【００１９】
また、実行操作取得部１１は、ジョブフローを特定する特定情報と、ジョブフローの中のジョブを特定する特定情報の指定を受け付けるとともに、該ジョブフローの再実行操作を受け付ける。具体的には、実行操作取得部１１は、運用者が操作端末２０を通してジョブフローを特定する情報と、ジョブフローの中のジョブを特定する情報を指定するとともに、ジョブフローの再実行操作を行うと、該再実行操作を受け付け、ジョブフローを特定する特定情報とジョブフローの中のジョブを特定する特定情報とを取得する。
【００２０】
実行結果出力部１２は、ジョブフローが実行された後、ジョブフローの実行結果や実行状況を操作端末２０に出力する。例えば、実行結果出力部１２は、ジョブフローの実行結果、または、ジョブフローの実行状況を示す画面を操作端末２０に出力する。
【００２１】
ジョブフロー実行部１３は、全ジョブフローを制御し、ジョブフローの実行と、各ジョブの結果や状態を管理する。具体的には、ジョブフロー実行部１３は、ジョブフロー実行依頼を実行操作取得部１１から受信すると、ジョブ実行依頼をジョブ実行部１４に通知する。そして、ジョブフロー実行部１３は、ジョブ実行部１４からジョブの実行結果を受信すると、ジョブフローの実行状況を実行結果出力部１２に通知する。
【００２２】
また、ジョブフロー実行部１３は、特に本発明に密接に関連するものとして、格納部１３ａ、検索部１３ｂおよびジョブ再実行制御部１３ｃを有する。
【００２３】
格納部１３ａは、ジョブ実行部１４によってジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて依存関係情報記憶部１６に格納する。
【００２４】
検索部１３ｂは、再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を依存関係情報記憶部１６から検索する。
【００２５】
また、検索部１３ｂは、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を依存関係情報記憶部１６からさらに検索する。
【００２６】
ジョブ再実行制御部１３ｃは、依存関係情報記憶部１６において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、指定されたジョブとともに再実行するように制御する。具体的には、ジョブ再実行制御部１３ｃは、依存関係情報を用いて、指定されたジョブ及び以降のジョブの実行に影響を受けたジョブ、つまり、イベントの通知先のジョブを特定し、特定されたジョブを、指定されたジョブとともに再実行するように制御する。
【００２７】
また、ジョブ再実行制御部１３ｃは、再実行対象のジョブとともに、再実行対象のジョブが実行された後に実行される予定のジョブを未実行の状態にした後に、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、指定されたジョブとともに再実行するように制御する。
【００２８】
つまり、ジョブフロー実行部１３では、再実行対象として指定されたジョブと以降のジョブについて、依存関係情報から影響を与えたジョブを特定し、他のジョブフローの与えたジョブ移行についても再実行を行う。これにより、再実行対象として指定されたジョブだけでなく、影響がある他のジョブフローも含め、運用者は一つの操作で再実行を行うことが可能であり、運用者の稼働を大幅に削減することが可能である。
【００２９】
ジョブ実行部１４は、一連のジョブを順次実行する。例えば、ジョブ実行部１４は、イベント通知のジョブ、及び、イベント受信のジョブを複数同時に実行する。具体的には、ジョブ実行部１４は、ジョブ実行依頼をジョブフロー実行部１３から受信すると、依頼されたジョブを実行し、ジョブの実行結果をジョブフロー実行部１３に通知する。
【００３０】
また、ジョブ実行部１４は、ジョブ実行時にイベントが発生すると、イベント管理部１５にイベント送信元の特定情報とイベント内容とからなるイベント通知を送信する。例えば、ジョブ実行部１４は、図２に例示するように、イベントの通知として、イベント送信元「フローａ：ジョブ３」とイベント内容「“ｔｅｓｔ”ファイル作成」とからなるイベント通知をイベント管理部１５に送信する。図２は、第一の実施形態に係るイベント通知に含まれる情報の一例を示す図である。
【００３１】
そして、ジョブ実行部１４は、イベント通知をイベント管理部１５に送信した後、同内容のイベント通知をイベント管理部１５から受信し、各ジョブにイベント通知を送信する。ここで、イベント通知を受信した各ジョブは、イベント通知に含まれる内容が、自身のジョブに影響を与えるイベントであるか否かを判断し、自身のジョブに影響を与えるイベントである場合には、該イベントを受信し、自身のジョブに影響を与えるイベントでない場合には、該イベントを破棄する。
【００３２】
イベント管理部１５は、ジョブ実行部１４から送信されるイベント通知を管理する。具体的には、イベント管理部１５は、ジョブ実行部１４からイベント通知が送信されると、イベント通知の内容として、イベント送信元の特定情報とイベント内容とを記憶する。また、イベント管理部１５は、ジョブ実行部１４からイベント通知が送信されると、該イベント通知をジョブ実行部１４において実行される各ジョブに対して送信する。
【００３３】
依存関係情報記憶部１６は、イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて記憶する。具体的には、依存関係情報記憶部１６は、イベントを受信したジョブの特定情報と、そのジョブが受信したイベント通知に含まれるイベント送信元の特定情報とからなる依存関係情報を記憶する。
【００３４】
例えば、依存関係情報記憶部１６は、図３に例示するように、イベント送信元の特定情報と、イベント受信先の特定情報とを対応付けて記憶する。例えば、図３の具体例を挙げて説明すると、依存関係情報記憶部１６は、イベント送信元の特定情報「フローａ：ジョブ３」と、イベント受信先の特定情報「フローｂ：ジョブ１」とを対応付けて記憶する。図３は、依存関係情報記憶部に記憶されるテーブルの一例を示す図である。
【００３５】
ここで、図４〜図７を用いて、ジョブフローにおける各ジョブの一連の実行処理について説明する。図４は、イベント通知を送信する前の各ジョブの状況の一例を示す図である。図５は、イベント通知を送信した時の各ジョブの状況の一例を示す図である。図６は、イベント通知を受信した時の各ジョブの状況の一例を示す図である。図７は、イベント通知を受信した後の各ジョブの状況の一例を示す図である。図４〜図７の例では、ジョブフローＡの各ジョブと、ジョブフローＢの各ジョブを同時に実行している場合を例として説明する。また、図４〜図７の例では、ジョブフローに含まれるジョブのうち、左側に図示されるジョブから順次実行されていく。
【００３６】
まず、図４に示すように、ジョブ実行部１４は、ジョブフローＡに含まれるジョブのうち、最も左側に図示されたジョブと、ジョブフローＢに含まれるジョブのうち、最も左側に図示されたジョブとが同時に実行されている。そして、ジョブフローＢのジョブは、他のジョブによる、イベントを待っている状況である。該ジョブフローＢのジョブは、条件が合致したイベント通知を受け取ると、実行が完了し、次のジョブへ遷移する。
【００３７】
続いて、図５に示すように、ジョブフローＡに含まれるジョブのうち、左側から２つ目に図示されたジョブが、イベント通知を伴うジョブである。ジョブ実行部１４は、該ジョブを実行すると、メッセージ通知等のイベントが発生し、イベント通知が送信される。具体的には、ジョブ実行部１４は、イベントが発生すると、イベント管理部１５に送信する。そして、イベント管理部１５が、ジョブフローＢの左側のジョブにイベント通知を送信する。
【００３８】
そして、図６に示すように、イベント通知の内容から、ジョブフローＢの左側のジョブが、条件が合致したイベント通知を受け取ったと判定された場合には、該実行が完了し、次のジョブへ遷移する。例えば、ジョブフローＢの左側のジョブが、ｔｅｓｔのファイル作成イベントの通知を受け取ることが条件であり、ｔｅｓｔのファイルのイベント内容を含むイベント通知を受け取った場合には、自ジョブの実行を完了し、次のジョブへ遷移する。
【００３９】
そして、図７に示すように、ジョブフローＢのうち、真ん中に図示されたジョブと、右側に図示されたジョブが順次実行される。つまり、ジョブフローＢの各ジョブは、ジョブフローＡのイベントにより、ジョブフローＢの実行が進められる。このため、ジョブフローＡの左側がら二つ目のジョブと、ジョブフローＢの左側から一つ目のジョブとは、依存関係があるといえる。このため、第一の実施の形態に係るジョブ実行管理システム１０では、ジョブ実行によって発生したイベント通知におけるイベント通知を送信したジョブと受信したジョブを特定する情報を、依存関係情報として依存関係情報記憶部１６に記憶する。この依存関係情報を用いて、異なるジョブフローにあるジョブ間の依存関係を自動で解決し、運用者は依存関係を考慮せずにジョブの再実行を実施できる。
【００４０】
ここで、図８〜図１１を用いて、依存関係情報を用いたジョブの再実行処理について説明する。図８は、運用者がジョブの再実行を実施する際の各ジョブの状況の一例を示す図である。以下では、図８に例示するように、ジョブフローＡの左側から二つ目のジョブについて、運用者が再実行するように指示した場合を前提として、図９〜図１１に例示するそれぞれのケースでのジョブの再実行処理について説明する。図９は、運用者がジョブの再実行を実施する際に、再実行対象のジョブがイベント通知の送信元である場合に、他のジョブも再実行することを説明する図である。図１０は、運用者がジョブの再実行を実施する際に、イベント通知の送信先のジョブフローが他のジョブフローからも影響されている場合の再実行処理を説明する図である。図１１は、運用者がジョブの再実行を実施する際に、イベント通知の送信先のジョブフローが、さらに他のジョブフローに影響を与えている場合の再実行処理を説明する図である。
【００４１】
図９の例では、ジョブフローＡの左側から二つ目のジョブについて、運用者が再実行を指示すると、検索部１３ｂは、ジョブフローＡの左側から二つ目のジョブの特定情報またはジョブフローＡの左側から二つ目のジョブが実行された後に実行される予定の各ジョブ（ジョブフローＡの左側から三つ目のジョブおよび四つ目のジョブ）の特定情報と一致するイベントの通知元のジョブの特定情報を依存関係情報記憶部１６から検索する。そして、ジョブ再実行制御部１３ｃは、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブであるジョブフローＢにおける左側のジョブを、指定されたジョブフローＡの左側から二つ目のジョブとともに再実行するように制御する。
【００４２】
また、ジョブ再実行制御部１３ｃは、ジョブフローＢにおける左側のジョブとともに、ジョブフローＢにおける左側のジョブ以後に実行されるジョブ、すなわち、ジョブフローＢにおける真ん中のジョブおよび右側のジョブについても、未実行の状態に戻す。なお、例えば、ジョブフローＢの左側のジョブのように、イベント通知先のジョブが再実行を指示された場合には、イベント通知元のジョブフローＡのジョブが再実行されることはなく、ジョブフローＡは特に状態復元されることはない。
【００４３】
次に、図１０を用いて、運用者がジョブの再実行を実施する際に、イベント通知の送信先のジョブフローが他のジョブフローからも影響されている場合の再実行処理を説明する。図１０に例示するように、イベント通知先のジョブを含むジョブフローＢが、他のジョブフローＣのジョブからも影響されている場合、ジョブフローＣのジョブについては再実行対象とせず、ジョブフローＣの状態を戻すことはない。
【００４４】
次に、図１１を用いて、運用者がジョブの再実行を実施する際に、イベント通知の送信先のジョブフローが、さらに他のジョブフローに影響を与えている場合の再実行処理を説明する。図１１に例示するように、イベント通知先のジョブを含むジョブフローＢが、他のジョブフローＣのジョブに影響を与えている場合、ジョブフローＣのジョブを再実行対象とし、ジョブフローＣも状態を、ジョブフローＢの影響を受ける前に戻す。
【００４５】
つまり、ジョブフローＡの左側から二つ目のジョブについて、運用者が再実行を指示すると、検索部１３ｂは、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブであるジョブフローＢにおける左側のジョブまたは該左側のジョブが実行された後に実行される予定の各ジョブ（ジョブフローＢにおける真ん中のジョブおよび右側のジョブ）の特定情報と一致するイベントの通知元のジョブの特定情報を依存関係情報記憶部１６からさらに検索する。ここで、図１１の例では、ジョブフローＢにおける真ん中のジョブが、イベント通知を伴うジョブであるため、ジョブフローＢにおける真ん中のジョブの特定情報と一致するイベントの通知元のジョブの特定情報が検索されるものとする。そして、ジョブ再実行制御部１３ｃは、検索されたイベントの通知元のジョブ（ジョブフローＢにおける真ん中のジョブ）の特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブであるジョブフローＣにおける左側から二つ目のジョブを再実行するように制御する。
【００４６】
次に、図１２を用いて、第一の実施の形態に係るジョブ実行管理システムにおけるジョブ実行管理処理の概要を説明する。図１２は、第一の実施の形態に係るジョブ実行管理システムにおけるジョブ実行管理処理の流れを説明する図である。
【００４７】
まず、ジョブフロー実行の流れを説明する。図１２に示すように、運用者が操作端末２０を通してジョブフローの実行操作を行うと、ジョブフロー実行部１３は、実行操作取得部１１を介して、その操作を受けて各ジョブ実行をジョブ実行部１４に依頼する。そして、ジョブ実行部１４がジョブを実行した結果、ジョブ実行でイベントが発生した際は、イベント管理部１５にイベント送信元の特定情報とイベント内容からなるイベント通知を送信する。
【００４８】
そして、イベント管理部１５は、送信されたイベント通知をジョブ実行部１４に送信する。ここで、ジョブ実行部１４で実行されているイベントを受信するジョブは、イベント通知の受信によりジョブ実行処理を進める。続いて、ジョブ実行部１４は、ジョブ実行が完了すると、ジョブフロー実行部１３にジョブ実行の結果を送信する。ここで、ジョブ実行の結果について、イベントを受信するジョブの場合には、受信したイベント通知が含まれる。
【００４９】
そして、ジョブフロー実行部１３は、イベントを受信するジョブのジョブ実行結果を受け取った場合に、イベントを受信したジョブの特定情報と、そのジョブが受信したイベント通知に含まれるイベント送信元の特定情報からなる依存関係情報を、依存関係情報記憶部１６に格納する。その後、ジョブフロー実行部１３は、各ジョブの実行結果からフローの実行状況を作成し、実行結果出力部１２を通して、操作端末２０に出力する。
【００５０】
次に、ジョブフロー再実行の流れについて説明する。運用者が操作端末２０を通して、ジョブフローを特定する情報として、例えば、ジョブフロー名、ジョブフローＩＤ等のシステム内で一意に特定する情報と、ジョブフローの中のジョブを特定する情報として、ジョブ名、ジョブＩＤ等のジョブフロー内で一意に特定する情報を指定して、ジョブフローの再実行操作を行うと、ジョブフロー実行部１３は、指定されたジョブ及び以降のジョブの実行により影響を受けたジョブであって、イベントを受信したジョブの依存関係情報を依存関係情報記憶部１６より取得する。
【００５１】
ジョブフロー実行部１３は、取得した情報から再実行するジョブフロー及びジョブを決定し、再実行を実施する。ここで、再実行についても、各ジョブ実行は上記のジョブ実行処理と同様である。そして、操作端末２０を通して指定された、ジョブフローのジョブ及び以降のジョブについても再実行を実施する。
【００５２】
このように、第一の実施の形態に係るジョブ実行管理システム１０では、ジョブ実行によって発生したイベント通知における、イベント通知を送信したジョブ、受信したジョブを特定する情報を依存関係情報として格納しておくことにより、異なるジョブフローにあるジョブ間の依存関係を自動で解決し、運用者は依存関係を考慮せずジョブの再実行を行うことが可能となった。
【００５３】
これにより、運用者がジョブを再実行する際にかかる稼働が削減される。また、運用者はジョブの依存関係を熟知する必要がなくなり、運用者に必要とされていた再実行に関する知識や経験も不要となる。
【００５４】
［ジョブ実行管理システムの処理の一例］
次に、図１３および図１４を用いて、ジョブ実行管理システム１０の処理について説明する。図１３は、第一の実施の形態に係るジョブ実行管理システムによる依存関係情報格納処理の流れを示すフローチャートである。図１４は、第一の実施の形態に係るジョブ実行管理システムによるジョブ再実行処理の流れを示すフローチャートである。
【００５５】
まず、図１３を用いて、ジョブ実行管理システム１０による依存関係情報格納処理の流れを説明する。図１３に示すように、ジョブ実行管理システム１０の実行操作取得部１１が、ジョブフロー実行操作を受け付けると（ステップＳ１０１肯定）、ジョブ実行部１４は、全ジョブフローの各ジョブの実行を実施する（ステップＳ１０２）。具体的には、ジョブ実行管理システム１０の実行操作取得部１１が、ジョブフロー実行操作を受け付けると、ジョブフロー実行部１３は、ジョブ実行依頼をジョブ実行部１４に通知する。そして、具体的には、ジョブ実行部１４は、ジョブ実行依頼をジョブフロー実行部１３から受信すると、依頼されたジョブを実行し、ジョブの実行結果をジョブフロー実行部１３に通知する。
【００５６】
そして、ジョブフロー実行部１３における格納部１３ａは、ジョブ実行部１４によってジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの送信先のジョブの特定情報からなる依存関係情報を依存関係情報記憶部１６に格納する（ステップＳ１０３）。
【００５７】
次に、図１４を用いて、ジョブ実行管理システム１０によるジョブ再実行処理の流れを説明する。図１４に示すように、ジョブ実行管理システム１０の実行操作取得部１１が再実行するジョブフローおよびジョブの指定を受け付けると（ステップＳ２０１肯定）、検索部１３ｂは、指定されたジョブ及び以降のジョブに対応する依存関係情報を依存関係情報記憶部１６から検索する（ステップＳ２０２）。具体的には、検索部１３ｂは、再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を依存関係情報記憶部１６から検索する。
【００５８】
そして、ジョブ再実行制御部１３ｃは、依存関係情報を用いて、指定されたジョブ及び以降のジョブの実行に影響を受けたジョブを特定し（ステップＳ２０３）、指定されたジョブ及び以降のジョブとともに、影響を受けたジョブについても再実行を実施する（ステップＳ２０４）。
【００５９】
［第一の実施形態の効果］
このように、第一の実施形態に係るジョブ実行管理システム１０は、一連のジョブを順次実行し、ジョブが実行された結果、イベントが発生し、該イベントが他のジョブに通知された場合には、該イベントの通知元のジョブの特定情報と、該イベントの通知先のジョブの特定情報とを対応付けて依存関係情報記憶部１６に格納する。そして、ジョブ実行管理システム１０は、再実行するジョブの特定情報の指定を受け付けた場合に、該指定されたジョブの特定情報または該指定されたジョブが実行された後に実行される予定の各ジョブの特定情報と一致するイベントの通知元のジョブの特定情報を依存関係情報記憶部１６から検索し、依存関係情報記憶部１６において、検索されたイベントの通知元のジョブの特定情報に対応するイベントの通知先のジョブの特定情報によって特定されるジョブを、指定されたジョブとともに再実行するように制御する。
【００６０】
これにより、運用者がジョブ同士の依存関係を考慮せずジョブの再実行を行うことができ、運用者がジョブを再実行する際にかかる労力を軽減することが可能である。つまり、第一の実施の形態に係るジョブ実行管理システム１０では、ジョブ実行によって発生したイベント通知における、イベント通知を送信したジョブ、受信したジョブを特定する情報を依存関係情報として格納しておくことにより、異なるジョブフローにあるジョブ間の依存関係を自動で解決し、運用者は依存関係を考慮せずジョブの再実行を行うことが可能となった。
【００６１】
例えば、従来では、異なるジョブフローのジョブと依存関係があるジョブを再実行する場合は、再実行するジョブと依存関係があるジョブフロー及びジョブについて手作業で確認し、再実行する必要があったが、第一の実施形態に係るジョブ実行管理システム１０では、これらの操作が不要となり、再実行を開始したい直接のジョブフローのジョブを指定するだけで、依存関係があるジョブフローのジョブも含めて再実行が可能となる。これにより、運用者がジョブを再実行する際にかかる稼働が削減される。また、運用者はジョブの依存関係を熟知する必要がなくなり、運用者に必要とされていた再実行に関する知識や経験も不要となる。
【００６２】
（システム構成等）
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。例えば、ジョブフロー実行部１３とジョブ実行部１４を統合してもよいし、ジョブフロー実行部１３とイベント管理部１５とを統合してもよい。また、ジョブフロー実行部１３とジョブ実行部１４とは、別の装置の機能部であってもよいし、同じ装置の機能部であってもよい。
【００６３】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６４】
（プログラム）
また、上記実施形態に係るジョブ実行管理システム１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、ジョブ実行管理システム１０と同様の機能を実現するジョブ再実行プログラムを実行するコンピュータの一例を説明する。
【００６５】
図１５は、ジョブ再実行プログラムを実行するコンピュータを示す図である。図１５に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００６７】
ここで、図１５に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００６８】
また、ジョブ再実行プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明したジョブ実行管理システム１０が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【００６９】
また、ジョブ再実行プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００７０】
なお、ジョブ再実行プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ジョブ再実行プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７１】
１０  ジョブ実行管理システム
１１  実行操作取得部
１２  実行結果出力部
１３  ジョブフロー実行部
１３ａ  格納部
１３ｂ  検索部
１３ｃ  ジョブ再実行制御部
１４  ジョブ実行部
１５  イベント管理部
１６  依存関係情報記憶部
２０  操作端末
【図１】
2015204036.tif 000003
【図２】
2015204036.tif 000004
【図３】
2015204036.tif 000005
【図４】
2015204036.tif 000006
【図５】
2015204036.tif 000007
【図６】
2015204036.tif 000008
【図７】
2015204036.tif 000009
【図８】
2015204036.tif 000010
【図９】
2015204036.tif 000011
【図１０】
2015204036.tif 000012
【図１１】
2015204036.tif 000013
【図１２】
2015204036.tif 000014
【図１３】
2015204036.tif 000015
【図１４】
2015204036.tif 000016
【図１５】
2015204036.tif 000017