(57)【要約】【課題】情報システムのコストを削減する処理実行装置、処理実行方法を提供することを目的としている。【解決手段】処理実行装置は、自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される自処理と他処理とを含む前段処理の実行が完了しているか否かを判定し、前段処理に含まれるすべての処理が完了していると判定した場合に、前段処理の後に実行される後段処理を起動する判定部を備える。【選択図】図１
2014112300.tif 000002
【特許請求の範囲】
【請求項１】
自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される前記自処理と前記他処理とを含む前段処理の実行が完了しているか否かを判定し、前記前段処理に含まれるすべての処理が完了していると判定した場合に、前記前段処理の後に実行される後段処理を起動する判定部、
を備えることを特徴とする処理実行装置。
【請求項２】
前記判定部は、
前記自処理の実行の完了を前記判定の開始条件にして、前記前段処理に含まれるすべての処理の実行が完了しているか否かを判定する
ことを特徴とする請求項１に記載の処理実行装置。
【請求項３】
前記自処理の実行が完了したときに、当該自処理の実行が完了したことを示す前記実行完了情報を記憶部に書き込む実行完了情報書込部を備え、
前記判定部は、
前記記憶部に記憶されている前記実行完了情報を読み出し、読み出した前記実行完了情報に基づいて、前記前段処理に含まれるすべての処理の実行が完了しているか否かを判定する
ことを特徴とする請求項１または請求項２に記載の処理実行装置。
【請求項４】
前記実行完了情報書込部は、
前記前段処理のうち複数の処理の実行が完了したときに、予め定められる書込み順序に基づいて前記実行完了情報を前記記憶部に書き込む
ことを特徴とする請求項３に記載の処理実行装置。
【請求項５】
前記前段処理の開始時に起動回数を計数する起動カウンタを備え、
前記実行完了情報書込部は、
前記前段処理の実行が完了したときに、前記実行完了情報と前記起動カウンタが計数した起動回数とを関連づけて前記記憶部に書き込む
ことを特徴とする請求項３または請求項４に記載の処理実行装置。
【請求項６】
前記判定部は、
前記記憶部に記憶されている自処理実行装置の起動回数と同じ値の前記起動回数に関連づけられている前記実行完了情報を読み出し、読み出した前記実行完了情報に基づいて、複数の前記前段処理の実行が完了しているか否かを判定する
ことを特徴とする請求項５に記載の処理実行装置。
【請求項７】
判定部が、自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される前記自処理と前記他処理とを含む前段処理の実行が完了しているか否かを判定し、前記前段処理に含まれるすべての処理が完了していると判定した場合に、前記前段処理の後に実行される後段処理を起動する判定手順
を有することを特徴とする処理実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理実行装置、処理実行方法に関する。
【背景技術】
【０００２】
近年、ネットワークに接続された複数のコンピュータによる情報システムが用いられている。このような情報システムでは、各コンピュータには用途に応じたアプリケーションプログラムが配備されている。
【０００３】
例えば、特許文献１に記載の技術では、ジョブ管理装置のマネージャープログラムが、複数の第１〜第３の計算機に配備されている各アプリケーションプログラム（以下、ジョブ、またはバッチともいう）の起動、実行制御、および監視などを行っている。特許文献１に記載の技術では、第１の計算機にジョブＡ１が配置され、第２の計算機にはジョブＡ２が配置され、第３の計算機にはジョブＡ３が配備されている。また、特許文献１に記載の技術では、ジョブ管理装置のマネージャープログラムは、ジョブの実行順番やジョブの起動時刻などの設定情報を有している。
【０００４】
特許文献１に記載の技術では、ジョブ管理装置のマネージャープログラムが、設定情報に応じて第１の計算機に配備されているジョブＡ１を実行する。そして、特許文献１に記載の技術では、ジョブ管理装置のマネージャープログラムが、ジョブＡ１が終了後、ジョブＡ１の出力をジョブＡ２へ入力し、ジョブＡ２を起動する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６-２４４１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、ジョブ管理装置が各計算機に配備されているジョブを起動、実行制御および監視している。このため、特許文献１に記載の技術では、ジョブ管理装置が必要なため、情報システムのコストが高いという課題があった。
【０００７】
本発明は上記の点に鑑みてなされたものであり、情報システムのコストを削減する処理実行装置、処理実行方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
（１）上記目的を達成するため、本発明の一態様に係る処理実行装置は、自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される前記自処理と前記他処理とを含む前段処理の実行が完了しているか否かを判定し、前記前段処理に含まれるすべての処理が完了していると判定した場合に、前記前段処理の後に実行される後段処理を起動する判定部を備えることを特徴としている。
【０００９】
（２）また、本発明の一態様に係る処理実行装置において、前記判定部は、前記自処理の実行の完了を前記判定の開始条件にして、前記前段処理に含まれるすべての処理の実行が完了しているか否かを判定するようにしてもよい。
【００１０】
（３）また、本発明の一態様に係る処理実行装置において、前記自処理の実行が完了したときに、当該自処理の実行が完了したことを示す前記実行完了情報を記憶部に書き込む実行完了情報書込部を備え、前記判定部は、前記記憶部に記憶されている前記実行完了情報を読み出し、読み出した前記実行完了情報に基づいて、前記前段処理に含まれるすべての処理の実行が完了しているか否かを判定するようにしてもよい。
【００１１】
（４）また、本発明の一態様に係る処理実行装置において、前記実行完了情報書込部は、前段処理の実行が完了したとき、予め定められる書込み順序に基づいて前記実行完了情報を前記記憶部に書き込むようにしてもよい。
【００１２】
（５）また、本発明の一態様に係る処理実行装置において、前記前段処理の開始時に起動回数を計数する起動カウンタを備え、前記実行完了情報書込部は、前段処理の実行が完了したときに、前記実行完了情報と前記起動カウンタが計数した起動回数とを関連づけて前記記憶部に書き込むようにしてもよい。
【００１３】
（６）また、本発明の一態様に係る処理実行装置において、前記判定部は、前記記憶部に記憶されている自装置の起動回数と同じ値の前記起動回数に関連づけられている前記実行完了情報を読み出し、読み出した前記実行完了情報に基づいて、複数の前記前段処理の実行が完了しているか否かを判定するようにしてもよい。
【００１４】
（７）上記目的を達成するため、本発明の一態様に係る処理実行方法は、判定部が、自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される前記自処理と前記他処理とを含む前段処理の実行が完了しているか否かを判定し、前記前段処理に含まれるすべての処理が完了していると判定した場合に、前記前段処理の後に実行される後段処理を起動する判定手順を有することを特徴とする。
【発明の効果】
【００１５】
本発明の態様（１）および（７）によれば、複数のバッチが並列に処理されていた場合であっても、判定部が互いにバッチが終了したか判定し、すべてのバッチが終了したと判定した場合に、判定した判定部が、次のバッチを起動するようにした。この結果、バッチ管理装置が不要になり情報システムのコストを削減できる。
本発明の態様（２）によれば、自処理の実行の完了を判定の開始条件にするため、前段処理に含まれるすべての処理の実行が完了しているか否かの判定を常時行うことが不要になり処理装置の処理実行負荷を低減できる。
本発明の態様（３）によれば、複数のバッチが並列に処理されていた場合であっても、判定部が互いにバッチが終了したか否かを記憶部に記憶されている実行完了情報に基づいて判定できる。この結果、バッチの終了を監視するためのバッチ管理装置が不要になり情報システムのコストを削減できる。
【００１６】
本発明の態様（４）によれば、複数のバッチが並列に処理されて同時に終了した場合であっても、記憶部に実行完了情報を書き込む順番を調停できる。判定部は、互いに記憶部に記憶されている実行完了情報を確認することができる。この結果、バッチ管理装置が不要になり情報システムのコストを削減できる。
本発明の態様（５）および（６）によれば、処理実行装置が各々、起動カウンタを備え、バッチの起動毎に起動回数を加算する。このようにバッチの起動回数をお互いに監視しあうことで、バッチのネット構成が複数回起動されても、起動回数に合わせてネット構成を起動することができる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態に係る処理実行装置および処理実行システムの概略構成例を説明する図である。
【図２】第１実施形態に係る記憶部に記憶されている設定情報の例を説明する図である。
【図３】第１実施形態に係る記憶装置に記憶されている情報の例を説明する図である。
【図４】第１実施形態に係るバッチの連携を説明する図である。
【図５】第１実施形態に係る処理実行装置、記憶装置間の処理のシーケンスの一例である。
【図６】第２実施形態に係る処理実行装置および処理実行システムの概略構成例を説明する図である。
【図７】第２実施形態に係る処理実行装置、記憶装置間の処理のシーケンスの一例である。
【図８】第３実施形態に係るバッチの連携の概要を説明する図である。
【図９】第３実施形態に係る処理実行装置および処理実行システムの概略構成例を説明する図である。
【図１０】第３実施形態に係る記憶装置に記憶されている情報の例を説明する図である。
【図１１】第３実施形態に係る複数のバッチの連携の構成の一例を説明する図である。
【図１２】第３実施形態に係るバッチ異常終了時の構成の一例を説明する図である。
【図１３】第３実施形態に係るバッチ処理の連動の一例を説明する図である。
【発明を実施するための形態】
【００１８】
［第１の実施形態］
以下、図面を参照しながら本発明の実施形態について説明する。
図１は、本実施形態に係る処理実行装置および処理実行システムの概略構成例を説明する図である。
図１に示すように、処理実行システム１は、ｎ（ｎは２以上の整数）台の処理実行装置１０−ｎ、および記憶装置２０を備えている。処理実行装置１０−ｎは、各々、通信ネットワーク３０を介して接続されている。通信ネットワーク３０は、有線ネットワーク、または無線ネットワークである。図１に示した例では、処理実行装置１０−ｎが４台（ｎ＝４）接続されている例を示したが、処理実行装置１０−ｎの台数は、２台以上であればよい。
【００１９】
記憶装置２０は、記憶部２０１を備えている。記憶部２０１には、実行完了情報が記憶されている。なお、記憶部２０１に記憶されている情報については、図３を参照して後述する。
【００２０】
処理実行装置１０−ｎは、各々、操作部１０１−ｎ、通信部１０２−ｎ、処理部１０３−ｎ、判定部１０４−ｎ、実行完了情報書込部１０５−ｎおよび記憶部１０６−ｎを備えている。
【００２１】
操作部１０１−ｎは、処理実行システム１の利用者の操作を検出し、検出した検出結果を処理部１０３−ｎに出力する。この検出結果には、記憶部１０６−ｎに記憶されているアプリケーションプログラム（ジョブ、またはバッチともいう）の起動指示が含まれている。操作部１０１−ｎとは、例えば、キーボード、マウス、タッチパネルセンサを有する表示部等である。ここで、起動指示とは、バッチを起動する指示である。バッチとは、処理目的ごとに区切られた１つの流れのプログラム群である。
通信部１０２−ｎは、他の処理実行装置１０−ｎとの通信を、通信ネットワーク３０を介して行う。以下、説明の対象としている処理実行装置１０−ｎを自装置（または、自処理実行装置）ともいい、この自装置と通信ネットワーク３０を介して情報の送受信を行う他の処理実行装置１０−ｎを他装置ともいう。また、この自装置が実行している処理を自処理ともいい、他装置が実行している処理を他処理ともいう。
【００２２】
処理部１０３−ｎは、自装置の操作部１０１−ｎから入力された起動指示、または他装置の判定部１０４−ｎから入力された起動指示に応じて、自装置の記憶部１０６−ｎに記憶されているバッチの実行制御を行う。なお、他装置が起動指示を出力する仕組みについては後述する。処理部１０３−ｎは、バッチの実行制御の終了後、バッチが終了したことを示すバッチ終了情報を自装置の判定部１０４−ｎに出力する。
【００２３】
判定部１０４−ｎは、自装置の処理部１０３−ｎから入力されたバッチ終了情報に応じて、自装置のバッチが終了したと判定する。
ここで、自装置と並列に行う処理を並列処理という。すなわち並列処理とは、異なる２台の処理実行装置１０−ｎが各々、バッチを実行することである。並列処理されるバッチは、例えば１台の処理実行装置１０−ｎが出力した起動指示に応じて実行が開始される第１のバッチと第２のバッチであってもよい。あるいは、第１のバッチと第２のバッチが、１台の処理実行装置１０−ｎが出力した起動指示に応じて実行が開始され、第２のバッチが終了した後、第２のバッチを実行していた処理実行装置１０−ｎが出力した起動指示により第３のバッチが実行される場合、並列処理されるバッチは、第１のバッチと、第３のバッチであってもよい。
【００２４】
判定部１０４−ｎは、自装置におけるバッチが終了したと判定した場合、記憶装置２０の記憶部２０１に実行完了情報を書き込む指示を自装置の実行完了情報書込部１０５−ｎに対して出力する。ここで、実行完了情報とは、バッチが終了したことを示す情報である。
【００２５】
実行完了情報書込部１０５−ｎは、判定部１０４−ｎから入力された実行完了情報を書き込む指示に応じて、実行完了情報を記憶装置２０の記憶部２０１に書き込む。
【００２６】
判定部１０４−ｎの説明に戻って、判定部１０４−ｎは、自装置の記憶部１０６−ｎに記憶されている設定情報の中から監視対象のバッチ名を読み出す。判定部１０４−ｎは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したか否かを、監視対象のバッチ名と関連づけて記憶部２０１に記憶されている実行完了情報に基づいて判定する。すなわち、判定部１０４−ｎは、自処理の実行の完了を判定の開始条件にして、前段処理に含まれるすべての処理の実行が完了しているか否かを判定する。
判定部１０４−ｎは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定した場合、自装置の記憶部１０６−ｎに記憶されている設定情報に応じて次に実行するバッチに対する起動指示を、通信ネットワーク３０を介して他の装置に送信する。設定情報に記述されている次に実行するバッチが複数の場合、判定部１０４−ｎは、設定情報に記述されている複数のバッチ毎に起動指示を他装置に送信する。なお、設定情報については、図２を参照して後述する。
【００２７】
記憶部１０６−ｎには、アプリケーションプログラムおよび設定情報が記憶されている。例えば、記憶部１０６−１には、アプリケーションＡ（バッチＡともいう）が記憶され、記憶部１０６−２には、アプリケーションＢ（バッチＢともいう）が記憶されている。記憶部１０６−３には、アプリケーションＣ（バッチＣともいう）が記憶され、記憶部１０６−４には、アプリケーションＤ（バッチＤともいう）が記憶されている。
【００２８】
図２は、本実施形態に係る記憶部１０６−ｎに記憶されている設定情報の例を説明する図である。図２に示すように、記憶部１０６−ｎには、バッチの実行順番、実行するバッチ、バッチを実行する処理実行装置名、バッチ起動時刻、監視対象のバッチ名、次に実行するバッチ、およびアプリケーションプログラムが関連づけられて記憶されている。設定情報とは、バッチの実行順番、実行するバッチ、バッチを実行する処理実行装置名、バッチ起動時刻、監視対象のバッチ、次に実行するバッチである。
例えば符号３０１に示すように、記憶部１０６−ｎに記憶されている情報は、バッチの実行順番が１であり、実行するバッチがバッチＡであり、バッチを実行する処理実行装置名が処理実行装置１０−１である。また、バッチ起動時刻が１０時００分００秒であり、監視対象のバッチ名がＡであり、次に実行するバッチがバッチＢとバッチＣである。また、記憶部１０６−ｎにはバッチＡが記憶されている。
【００２９】
例えば符号３０２に示すように、記憶部１０６−ｎに記憶されている情報は、バッチの実行順番が２であり、実行するバッチがバッチＢであり、バッチを実行する処理実行装置名が処理実行装置１０−２である。また、バッチ起動時刻は記述無しであり、監視対象のバッチ名がＢおよびＣであり、次に実行するバッチがバッチＤである。また、記憶部１０６−ｎにはバッチＢが記憶されている。
例えば符号３０３に示すように、記憶部１０６−ｎに記憶されている情報は、バッチの実行順番が２であり、実行するバッチがバッチＣであり、バッチを実行する処理実行装置名が処理実行装置１０−３である。また、バッチ起動時刻は記述無しであり、監視対象のバッチ名がＢおよびＣであり、次に実行するバッチがバッチＤである。また、記憶部１０６−ｎにはバッチＣが記憶されている。
【００３０】
例えば符号３０４に示すように、記憶部１０６−ｎに記憶されている情報は、バッチの実行順番が３であり、実行するバッチがバッチＤであり、バッチを実行する処理実行装置名が処理実行装置１０−４である。また、バッチ起動時刻は記述無しであり、監視対象のバッチ名がＤであり、次に実行するバッチは記述無しである。また、記憶部１０６−ｎにはバッチＤが記憶されている。
なお、図２に示した情報すべてが、各処理実行装置１０−ｎの各記憶部１０６−ｎに記憶されていてもよい。あるいは、自装置分の情報のみが記憶部１０６−ｎに記憶されていてもよく、例えば符号３０１に示した情報のみが処理実行装置１０−１の記憶部１０６−１に記憶されていてもよい。
【００３１】
図３は、本実施形態に係る記憶装置２０に記憶されている情報の例を説明する図である。図３に示すように、記憶装置２０の記憶部２０１には、バッチ名と実行完了情報とが関連づけられて記憶されている。例えば、記憶部２０１には、バッチ名Ａと実行完了情報とが関連づけられて記憶されている。
【００３２】
図４は、本実施形態に係るバッチの連携を説明する図である。符号４０１はバッチＡであり、符号４０３はバッチＢであり、符号４０４はバッチＣであり、符号４０７はバッチＤである。また、符号４０２は、判定部１０４−１が行うバッチ完了判定と次のバッチ起動処理を示し、符号４０５は、判定部１０４−２が行うバッチ完了判定と次のバッチ起動処理を示す。符号４０６は、判定部１０４−３が行うバッチ完了判定と次のバッチ起動処理を示す。
【００３３】
図４に示すように、まず処理実行装置１０−１の処理部１０３−１は、バッチＡを起動する。次に、判定部１０４−１は、バッチＡが終了したか判定し、バッチＡが終了した場合、バッチＢとバッチＣに対する起動指示を処理実行装置１０−１と処理実行装置１０−２に送信する。
次に、処理実行装置１０−２の処理部１０３−２はバッチＢを起動し、処理実行装置１０−３の処理部１０３−３はバッチＣを起動する。
次に、判定部１０４−２と判定部１０４−３は、互いにバッチが終了したかを判定し、最後にバッチを終了したと判定した方の判定部１０４が、バッチＤに対する起動指示を処理実行装置１０−４に送信する。
【００３４】
図５は、本実施形態に係る処理実行装置１０−ｎ、記憶装置２０間の処理のシーケンスの一例である。図５に示した例では、図１に示したように処理実行装置１０−１〜１０−４、記憶装置２０が通信ネットワーク３０を介して接続されている。また、処理実行装置１０−ｎの各記憶部１０６−ｎには、図２に示した情報が記憶されている。
【００３５】
（ステップＳ１）処理実行装置１０−１の処理部１０３−１は、記憶部１０６−１に記憶されている設定情報に応じて実行するバッチＡを記憶部１０６−１から読み出す。次に処理部１０３−１は、読み出したバッチＡを起動する。処理部１０３−１は、ステップＳ１終了後、処理をステップＳ２に進める。
（ステップＳ２）処理部１０３−１は、バッチＡを実行制御する。処理部１０３−１は、ステップＳ２終了後、処理をステップＳ３に進める。
【００３６】
（ステップＳ3）処理部１０３−１は、バッチＡが終了した際、バッチ終了情報を判定部１０４−１に出力する。次に、判定部１０４−１は、処理部１０３−１から入力されたバッチ終了情報に応じてバッチＡが終了したと判定する。処理部１０３−１は、ステップＳ３終了後、処理をステップＳ４に進める。
（ステップＳ４）判定部１０４−１は、記憶装置２０に実行完了情報を書き込む指示を実行完了情報書込部１０５−１に対して出力する。次に、実行完了情報書込部１０５−１は、判定部１０４−１から入力された実行完了情報を書き込む指示に応じて、バッチ名Ａと実行完了情報とを関連づけて記憶装置２０の記憶部２０１に書き込む。処理部１０３−１は、ステップＳ４終了後、処理をステップＳ５に進める。
【００３７】
（ステップＳ５）判定部１０４−１は、記憶部１０６−１に記憶されている設定情報のうち、監視対象のバッチ名Ａを読み出す。次に、判定部１０４−１は、バッチ名Ａに関連づけられた実行完了情報が記憶部２０１に記憶されているか否かを確認する。図５に示した例では、監視対象のバッチ名Ａに関連づけられた実行完了情報が記憶部２０１に記憶されている。このため判定部１０４−１は、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定し、処理をステップＳ６に進める。
（ステップＳ６）判定部１０４−１は、記憶部１０６−１に記憶されている設定情報に応じて、バッチＢに対する起動指示を処理実行装置１０−２に送信し、バッチＣに対する起動指示を処理実行装置１０−３に送信する。
【００３８】
（ステップＳ７）処理実行装置１０−２の処理部１０３−２は、処理実行装置１０−１から入力されたバッチＢに対する起動指示に応じて、記憶部１０６−２に記憶されている設定情報に基づいてバッチＢを読み出す。処理部１０３−２は、読み出したバッチＢを起動する。
（ステップＳ８）処理実行装置１０−３の処理部１０３−３は、処理実行装置１０−１から入力されたバッチＣに対する起動指示に応じて、記憶部１０６−３に記憶されている設定情報に基づいてバッチＣを読み出す。処理部１０３−３は、読み出したバッチＣを起動する。これにより、バッチＢとバッチＣとが並列処理される。
【００３９】
（ステップＳ９）処理部１０３−２は、バッチＢを実行制御する。処理部１０３−２は、ステップＳ９終了後、処理をステップＳ１１に進める。
（ステップＳ１０）処理部１０３−３は、バッチＣを実行制御する。処理部１０３−３は、ステップＳ１０終了後、処理をステップＳ１４に進める。
【００４０】
（ステップＳ１１）処理部１０３−２は、バッチＢが終了した際、バッチ終了情報を判定部１０４−２に出力する。次に、判定部１０４−２は、処理部１０３−２から入力されたバッチ終了情報に応じてバッチＢが終了したと判定する。処理部１０３−２は、ステップＳ１１終了後、処理をステップＳ１２に進める。
【００４１】
（ステップＳ１２）判定部１０４−２は、バッチＢが終了したと判定した場合、記憶部２０１に実行完了情報を書き込む指示を実行完了情報書込部１０５−２に対して出力する。次に、実行完了情報書込部１０５−２は、判定部１０４−２から入力された実行完了情報を書き込む指示に応じて、バッチ名Ｂと実行完了情報とを関連づけて記憶部２０１に書き込む。処理部１０３−２は、ステップＳ１２終了後、処理をステップＳ１３に進める。
【００４２】
（ステップＳ１３）判定部１０４−２は、記憶部１０６−２に記憶されている設定情報のうち、監視対象のバッチ名ＢとＣを読み出す。次に、判定部１０４−２は、監視対象であるバッチ名ＢとＣに各々関連づけられて記憶されている実行完了情報が記憶部２０１に記憶されているか否か確認する。図５に示した例では、記憶部２０１に監視対象のバッチ名Ｂに関連づけられた実行完了情報が記憶されているが、監視対象のバッチ名Ｃに関連づけられた実行完了情報が記憶されていない。このため判定部１０４−２は、自装置および並列して処理されている他装置におけるすべてのバッチが終了していないと判定する。
【００４３】
（ステップＳ１４）処理部１０３−３は、バッチＣが終了した際、バッチ終了情報を判定部１０４−３に出力する。次に、判定部１０４−３は、処理部１０３−３から入力されたバッチ終了情報に応じてバッチＣが終了したと判定する。処理部１０３−３は、ステップＳ１４終了後、処理をステップＳ１５に進める。
【００４４】
（ステップＳ１５）判定部１０４−３は、バッチＣが終了したと判定した場合、記憶部２０１に実行完了情報を書き込む指示を実行完了情報書込部１０５−３に対して出力する。次に、実行完了情報書込部１０５−３は、判定部１０４−３から入力された実行完了情報を書き込む指示に応じて、バッチ名Ｃと実行完了情報とを関連づけて記憶部２０１に書き込む。処理部１０３−３は、ステップＳ１５終了後、処理をステップＳ１６に進める。
【００４５】
（ステップＳ１６）判定部１０４−３は、記憶部１０６−３に記憶されている設定情報のうち、監視対象のバッチ名ＢとＣを読み出す。次に、判定部１０４−３は、監視対象であるバッチ名ＢとＣに各々関連づけられて記憶されている実行完了情報が記憶部２０１に記憶されているか否か確認する。図５に示した例では、記憶部２０１に監視対象のバッチ名Ｂに関連づけられた実行完了情報が記憶され、監視対象のバッチ名Ｃに関連づけられた実行完了情報が記憶されている。このため判定部１０４−３は、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。処理部１０３−３は、ステップＳ１６終了後、処理をステップＳ１７に進める。
【００４６】
（ステップＳ１７）判定部１０４−３は、記憶部１０６−３に記憶されている設定情報に応じて、バッチＤに対する起動指示を処理実行装置１０−４に送信する。
（ステップＳ１８）処理実行装置１０−４の処理部１０３−４は、処理実行装置１０−３から入力されたバッチＤに対する起動指示に応じて、記憶部１０６−４に記憶されている設定情報に基づいてバッチＤを読み出す。処理部１０３−４は、読み出したバッチＤを起動する。処理部１０３−４は、ステップＳ１８終了後、処理をステップＳ１９に進める。
（ステップＳ１９）処理部１０３−４は、バッチＤを実行制御する。
【００４７】
以上のように、本実施形態の処理実行装置１０−ｎは、前段処理の実行が完了したことを示す実行完了情報に基づいて、複数の前段処理の実行が完了しているか否かを互いに判定し、すべての前段処理が完了していると判定した場合に、前段処理の後に実行される後段処理を起動する判定部１０４−ｎを備える。
これにより、複数のバッチが並列に処理されていた場合であっても、判定部１０４−ｎが互いにバッチが終了したか判定し、すべてのバッチが終了したと判定した場合に、判定した判定部１０４−ｎが、次のバッチを起動するようにした。この結果、バッチ管理装置が不要になり情報システムのコストを削減できる。
【００４８】
また、本実施形態の処理実行装置１０−ｎは、前段処理の実行が完了したとき、実行完了情報を記憶部（２０１または１０６−ｎ）に書き込む実行完了情報書込部１０５−ｎを備え、判定部１０４−ｎは、記憶部（２０１または１０６−ｎ）に記憶されている実行完了情報を読み出し、読み出した実行完了情報に基づいて、複数の前段処理の実行が完了しているか否かを互いに判定する。
これにより、複数のバッチが並列に処理されていた場合であっても、判定部１０４−ｎが互いにバッチが終了したか否かを記憶装置２０の記憶部２０１に記憶されている実行完了情報に基づいて判定できる。この結果、バッチの終了を監視するためのバッチ管理装置が不要になり情報システムのコストを削減できる。
【００４９】
なお、本実施形態では、各バッチの実行完了情報を、記憶装置２０の記憶部２０１に記憶させる例を説明したが、これに限られない。例えば、実行完了情報書込部１０５−２は、バッチＢ終了後、実行終了情報を自装置の記憶部１０６−２に記憶させるようにしてもよい。そして、判定部１０４−３は、バッチＣ終了後、バッチＢ関連づけられた実行終了情報が記憶部１０６−２に記憶されているか否かを確認することで、バッチＢが終了しているか否かを判定するようにしてもよい。同様に、実行完了情報書込部１０５−３は、バッチＣ終了後、実行終了情報を自装置の記憶部１０６−３に記憶させるようにしてもよい。そして、判定部１０４−２は、バッチＢ終了後、バッチＣに関連づけられた実行終了情報が記憶部１０６−３に記憶されているか否かを確認することで、バッチＣが終了しているか否かを判定するようにしてもよい。
【００５０】
なお、図４または図５に示した例において、バッチ終了後、判定部１０４−ｎは、各バッチで得られた値を、次のバッチに引き渡すようにしてもよい。例えば、バッチＡ終了後、判定部１０４−１は、バッチＢを実行する処理実行装置１０−２と、バッチＣを実行する処理実行装置１０−３へバッチＡで得られた値を引き渡すようにしてもよい。また、バッチＢおよびバッチＣ終了後、判定部１０４−２または判定部１０４−３は、バッチＤを実行する処理実行装置１０−４へバッチＢおよびバッチＣで得られた値を引き渡すようにしてもよい。
【００５１】
なお、本実施形態では、各バッチが、各処理実行装置１０−ｎの記憶部１０６−ｎに記憶されている例を説明したが、これに限られない。例えば、１台の処理実行装置１０−１の記憶部１０６−１にバッチＡ〜バッチＤが記憶されていてもよい。この場合、処理部１０３−１は、まずバッチＡを起動するようにしてもよい。そして、判定部１０４−１はバッチＡ終了後に、バッチＢとバッチＣを起動するようにしてもよい。処理部１０３−１は、バッチＢとバッチＣとを並列処理するようにしてもよい。そして、判定部１０４−１は、バッチＢとバッチＣとが終了したと判定した後、バッチＤを起動するようにしてもよい。
【００５２】
また、バッチが異常終了した場合、処理部１０３−ｎは、実行していたバッチを再実行（リラン；Ｒｅｒｕｎ）するようにしてもよい。例えば、バッチの実行途中の所定の位置にコミットポイントを設けるようにしてもよい。ここで、コミットポイントとは、バッチをいくつかに小分けた場合、小分けたバッチが終了したポイントを示す情報である。処理部１０３−ｎは、バッチ実行中、実行が終了したコミットポイントを記憶部１０６−ｎに記憶させるようにしてもよい。そして、バッチが異常終了した場合、処理部１０３−ｎは、記憶部１０６−ｎに記憶されているコミットポイントに応じて、異常終了した前の処理からバッチを継続するようにしてもよい。このように、バッチが異常終了した場合であっても、バッチを先頭からすべて再実行しなくてすむため、バッチの実行にかかる時間を軽減することができる。
【００５３】
［第２の実施形態］
第１実施形態では、複数のバッチが並列処理されて、終了するタイミングが異なる例を説明した。本実施形態では、複数のバッチが並列処理されて、終了するタイミングが同じ場合の例を説明する。
【００５４】
図６は、本実施形態に係る処理実行装置および処理実行システム１Ａの概略構成例を説明する図である。
図６に示すように、処理実行システム１Ａは、ｎ（ｎは２以上の整数）台の処理実行装置１０−ｎ、および記憶装置２０Ａを備えている。第１実施形態における処理実行システム１と同じ機能を有する機能部は、同じ符号を用いて説明を省略する。第１実施形態の処理実行システム１とことなる機能部は、記憶装置２０Ａである。
【００５５】
記憶装置２０Ａは、記憶部２０１Ａおよび調停部２０２を備えている。
調停部２０２は、複数の実行完了情報書込部１０５−ｎからアクセスがあった場合、実行完了情報の書き込み順番を調停する。例えば、調停部２０２は、複数の実行完了情報書込部１０５−ｎからアクセスがあった場合、予め定められている書き込み順位に従って、実行完了情報の書き込みを受け付ける。ここで、予め定められている書き込み順位とは、並列処理される複数のバッチに対して予め定めてある順位である。予め定められている書き込み順位は、例えば、処理実行装置１０−ｎに識別情報が割り振られている場合、並列処理されている処理実行装置１０−ｎのうち、識別番号が小さい方を優先する順番であってもよい。
【００５６】
例えば、図４に示したように、バッチＢとバッチＣが並列処理される場合、予め定められている書き込み順位として、バッチＢがバッチＣに優先するようにしてもよい。そしてバッチＢとバッチＣとが同時に終了した場合、調停部２０２は、実行完了情報書込部１０５−２からの書き込みを優先して受け付け、バッチ名Ｂに対応する実行完了情報を記憶部２０１Ａに記憶させる。また、調停部２０２は、同時にアクセスしてきた実行完了情報書込部１０５−３に対して、所定の時間後に再アクセスする指示を送信するようにしてもよい。
【００５７】
図７は、本実施形態に係る処理実行装置１０−ｎ、記憶装置２０Ａ間の処理のシーケンスの一例である。図７に示した例では、図１に示したように処理実行装置１０−１〜１０−４、記憶装置２０Ａが通信ネットワーク３０を介して接続されている。また、処理実行装置１０−ｎの各記憶部１０６−ｎには、図２に示した設定情報が記憶されている。
【００５８】
ステップＳ１〜Ｓ１０は、第１実施形態と同様に処理を行う。
（ステップＳ１０１）判定部１０４−２は、処理部１０３−２が出力したバッチ終了情報に応じてバッチＢが終了したと判定する。処理部１０３−２は、ステップＳ１０１終了後、処理をステップＳ１０２に進める。
（ステップＳ１０２）判定部１０４−２は、バッチＢが終了したと判定した場合、記憶装置２０Ａの記憶部２０１Ａに実行完了情報を書き込む指示を実行完了情報書込部１０５−２に対して出力する。次に、実行完了情報書込部１０５−２は、判定部１０４−２から入力された実行完了情報を書き込む指示に応じて、記憶装置２０Ａにアクセスする。
【００５９】
（ステップＳ１０３）判定部１０４−３は、処理部１０３−３が出力したバッチ終了情報に応じてバッチＣが終了したと判定する。処理部１０３−３は、ステップＳ１０３終了後、処理をステップＳ１０４に進める。
（ステップＳ１０４）判定部１０４−３は、バッチＣが終了したと判定した場合、記憶部２０１Ａに実行完了情報を書き込む指示を実行完了情報書込部１０５−３に対して出力する。次に、実行完了情報書込部１０５−３は、判定部１０４−３から入力された実行完了情報を書き込む指示に応じて、記憶装置２０Ａにアクセスする。
【００６０】
（ステップＳ１０５）記憶装置２０Ａの調停部２０２は、実行完了情報書込部１０５−２と実行完了情報書込部１０５−３から同時にアクセスがあった場合、予め定められている書き込み順位に従って、アクセスを受け付ける。図７に示した例では、調停部２０２は、実行完了情報書込部１０５−２のアクセスを優先的に受け付ける。
（ステップＳ１０６）調停部２０２は、同時にアクセスしてきた実行完了情報書込部１０５−３に対して、所定の時間後に再アクセスする指示を送信する。
【００６１】
（ステップＳ１０７）調停部２０２は、実行完了情報書込部１０５−２からのアクセスに応じて、バッチ名Ｂと実行完了情報とを関連づけて記憶部２０１Ａに記憶させる。
（ステップＳ１０８）判定部１０４−２は、記憶部１０６−２に記憶されている設定情報のうち、監視対象のバッチ名ＢとＣを読み出す。次に、判定部１０４−２は、バッチ名ＢとＢに各々関連づけられた実行完了情報が記憶部２０１Ａに記憶されているか否かを確認する。図７に示した例では、監視対象のバッチ名Ｂに関連づけられた実行完了情報が記憶部２０１Ａに記憶されているが、監視対象のバッチ名Ｃに関連づけられた実行完了情報が記憶されていない。このため判定部１０４−２は、自装置および並列して処理されている他装置におけるすべてのバッチが終了していないと判定する。
【００６２】
（ステップＳ１０９）実行完了情報書込部１０５−３は、所定時間が経過後、実行完了情報を書き込むため記憶装置２０Ａに再アクセスし、バッチ名Ｃと実行完了情報とを関連づけて記憶部２０１Ａに書き込む。判定部１０４−３は、ステップＳ１０９終了後、処理をステップＳ１１０に進める。
（ステップＳ１１０）判定部１０４−３は、記憶部１０６−３に記憶されている設定情報のうち、監視対象のバッチ名ＢとＣを読み出す。次に、判定部１０４−３は、バッチ名ＢとＢに各々関連づけられた実行完了情報が記憶部２０１Ａに記憶されているか否かを確認する。図７に示した例では、監視対象のバッチ名Ｂに関連づけられた実行完了情報が記憶部２０１Ａに記憶され、監視対象のバッチ名Ｃに関連づけられた実行完了情報が記憶されている。このため判定部１０４−３は、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。処理部１０３−３は、ステップＳ１１０終了後、処理をステップＳ１１１に進める。
【００６３】
（ステップＳ１１１）判定部１０４−３は、記憶部１０６−３に記憶されている設定情報に応じて、バッチＤに対する起動指示を処理実行装置１０−４に送信する。
（ステップＳ１１２）処理実行装置１０−４の処理部１０３−４は、処理実行装置１０−３から入力されたバッチＤを起動する起動情報に応じて、記憶部１０６−４に記憶されている設定情報に基づいてバッチＤを読み出す。次に、処理部１０３−４は、読み出したバッチＤを起動する。
【００６４】
なお、本実施形態では、記憶装置２０Ａが調停部２０２を備える例を説明したが、これに限られない。調停部は、各処理実行装置１０−ｎが備えていてもよい。例えば、記憶装置２０Ａに、実行完了情報書込部１０５−ｎが同時にアクセスしてきて実行完了情報を書き込めない場合、予め定められている順位で書き込むようにしてもよい。例えば、図７に示したように、実行完了情報書込部１０５−２と実行完了情報書込部１０５−３とが記憶装置２０Ａに同時アクセスした場合、処理実行装置１０−２の調停部は、実行完了情報書込部１０５−２が優先的に実行完了情報を記憶装置２０Ａに書き込むように調停するようにしてもよい。そして、処理実行装置１０−３の調停部は、実行完了情報書込部１０５−３に対して、所定の時間経過後に記憶装置２０Ａに再アクセスして、実行完了情報を書き込むように調停するようにしてもよい。
また、調停部２０２は、例えば、通信ネットワーク３０と記憶装置２０Ａとの間に設けられていてもよい。
【００６５】
また、本実施形態では、調停部２０２を備えて調停するする例を説明したが、これに限られない。他の実施例を説明する。
例えば、図７において、バッチＡが終了した後、判定部１０４−１は、記憶部１０６−１に記憶されている設定情報に応じて、バッチＢに対する起動指示を処理実行装置１０−２に送信し、バッチＣに対する起動指示を処理実行装置１０−３に送信する。さらに、判定部１０４−１は、処理実行装置１０−２と処理実行装置１０−３に対して、トークンを発行するようにしてもよい。この場合、トークンは、処理実行装置１０−２と処理実行装置１０−３との間を、通信ネットワーク３０を介して周回する。処理実行装置１０−２と処理実行装置１０−３とが、同時にバッチの実行を終えた場合、トークンを有している処理実行装置１０−ｎの実行完了情報書込部１０５−ｎのみが、記憶装置２０Ａにアクセスして実行完了情報を記憶装置２０Ａに書き込むようにしてもよい。処理実行装置１０−２は、実行完了情報の書き込み後、トークンを処理実行装置１０−３に送信する。そして、トークンを受信した処理実行装置１０−３の実行完了情報書込部１０５−３は、記憶装置２０Ａに実行完了情報を書き込むようにしてもよい。
【００６６】
また、本実施形態では、記憶部２０１Ａを記憶装置２０Ａが備える例を説明したが、これに限られない。記憶部２０１Ａは、各処理実行装置１０−ｎの記憶部１０６−ｎであってもよい。
【００６７】
以上のように、本実施形態の処理実行装置１０−ｎは、実行完了情報書込部１０５−ｎは、前段処理の実行が完了したとき予め定められる書込み順序に基づいて実行完了情報を記憶部（２０１または１０６−ｎ）に書き込む。
これにより、複数のバッチが並列に処理されて同時に終了した場合であっても、記憶部（２０１または１０６−ｎ）に実行完了情報を書き込む順番を調停できる。判定部１０４−ｎは、互いに記憶部（２０１または１０−６−ｎ）に記憶されている実行完了情報を確認することができる。この結果、バッチ管理装置が不要になり情報システムのコストを削減できる。
【００６８】
［第３の実施形態］
第１および第２実施形態では、バッチＡ〜バッチＤが１回ずつ起動される例を説明した。本実施形態では、バッチＡ〜バッチＤが所定の時刻毎に起動される例を説明する。
【００６９】
図８は、本実施形態に係るバッチの連携の概要を説明する図である。図８（ａ）は、第１の時刻にバッチＡが起動された例であり、図８（ｂ）は、第２の時刻にバッチＡが起動された例である。
図８に示した例では、バッチＡ〜バッチＢが所定の時間間隔で定期的に行われる。図８に示した例は、すべてのバッチが異常終了せずに終了した場合の図である。
【００７０】
例えば、図８（ａ）において、バッチＣが異常終了した場合を説明する。この場合、バッチＣを実行制御している処理部１０３−ｎ（図６参照）は、バッチＣをリランする。そして、バッチＣを実行制御している判定部１０４−ｎ（図６参照）は、並列処理されているバッチＢが終了したか否かを記憶部２０１Ａ（図６参照）に記憶されている実行完了情報に基づいて確認する。しかしながら、バッチＡ〜バッチＣが定期的に実行されているため、実行完了情報がどの時刻に実行されたバッチによるものか、判定部１０４−ｎは判定できない。このため、例えば図８（ｂ）のバッチＡ〜バッチＤの実行において、第１の時刻に起動されたバッチＢが終了したことを受けて、判定部１０４−ｎがバッチＣ終了後に、並列処理されているすべてのバッチが終了したと誤判定してしまうこともあり得る。
このため、本実施形態では、起動回数をカウントするカウンタを設けることで、このような誤判定を防ぐ。
【００７１】
図９は、本実施形態に係る処理実行装置および処理実行システム１Ｂの概略構成例を説明する図である。
図９に示すように、処理実行システム１Ｂは、ｎ（ｎは２以上の整数）台の処理実行装置１０−ｎＢ、および記憶装置２０Ｂを備えている。処理実行装置１０−ｎＢは、各々、通信ネットワーク３０を介して接続されている。処理実行装置１０−ｎＢは、操作部１０１−ｎ、通信部１０２−ｎ、処理部１０３−ｎ、判定部１０４−ｎＢ、実行完了情報書込部１０５−ｎＢ、記憶部１０６−ｎおよび起動カウンタ１０７−ｎを備えている。第１および第２実施形態にける処理実行装置１０−ｎとの差異は、判定部１０４−ｎＢ、実行完了情報書込部１０５−ｎＢおよび起動カウンタ１０７−ｎである。
【００７２】
起動カウンタ１０７−ｎは、処理部１０３−ｎにより所定の時間毎に初期化される。ここで、初期化とは、例えば０である。所定の時間は、例えば、２４時間である。起動カウンタ１０７−ｎは、バッチの起動回数を計数する。具体的には、起動カウンタ１０７−ｎは、バッチの起動毎に起動回数を１ずつ加算する。この場合、起動カウンタ１０７−ｎは、バッチ（すなわち前段処理）の起動時（開始時）に起動回数を１ずつ加算する。なお、起動カウンタ１０７−ｎは、バッチの起動毎に起動回数を１ずつ減算してもよい。
【００７３】
実行完了情報書込部１０５−ｎＢは、判定部１０４−ｎＢから入力された実行完了情報を書き込む指示に応じて、終了したバッチ名と実行完了情報と起動カウンタ１０７−ｎの起動回数とを関連づけて記憶装置２０Ｂの記憶部２０１Ｂに書き込む。
【００７４】
判定部１０４−ｎＢは、記憶部１０６―ｎに記憶されている設定情報に記憶されている並列して処理されている装置におけるすべてのバッチが終了したか否かを、記憶部２０１Ｂに記憶されているバッチ名と実行完了情報と起動回数に基づいて判定する。
【００７５】
記憶装置２０Ｂは、記憶部２０１Ｂを備える。記憶部２０１Ｂには、図１０に示すように、起動カウンタ値とバッチ名と実行完了情報とが関連づけられて記憶されている。
【００７６】
図１０は、本実施形態に係る記憶装置２０Ｂに記憶されている情報の例を説明する図である。図１０に示すように、記憶装置２０Ｂの記憶部２０１Ｂには、起動回数とバッチ名と実行完了情報とが関連づけられて記憶されている。例えば、記憶部２０１Ｂには、起動回数（＝１）とバッチ名Ａと実行完了情報とが関連づけられて記憶されている。
【００７７】
図１１は、本実施形態に係る複数のバッチの連携の構成の一例を説明する図である。
図１１（ａ）は、第１の時刻に第１のネット構成に含まれるバッチＡが起動された例である。ここで、ネット構成とは、図８（ａ）に示したように、バッチＡ〜バッチＤを含むバッチ群の起動順番およびバッチ間の連携を含む構成である。また、第１のネット構成とは、第１の時刻において起動されるバッチＡ、およびこれに連携して起動されるバッチＢ〜バッチＤを含むバッチ群の起動順番およびバッチ間の連携の構成である。図１１（ｂ）は、第１の時刻とは異なる第２の時刻において、第２のネット構成に含まれるバッチＡが起動された例である。ここで、第２のネット構成とは、第１のネット構成に含まれるバッチＡの起動時刻とは異なる時刻において起動されるバッチＡ、およびこれに連携して起動されるバッチＢ〜バッチＤを含むバッチ群である。
【００７８】
まず、第１のネット構成に含まれる各バッチに対する処理について説明する。図１１（ａ）に示すように、処理部１０３−１は起動カウンタ１０７−１の起動回数に１を加算する。次に、処理部１０３−１は、記憶部１０６−１に記憶されている設定情報に基づいて記憶部１０６−１から読み出したバッチＡを起動する。バッチＡ終了後、実行完了情報書込部１０５−１Ｂは、判定部１０４−１Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ａと実行完了情報と起動回数（＝１）を記憶部２０１Ｂに書き込む。次に、判定部１０４−１Ｂは、記憶部１０６−１に記憶されている設定情報に応じて、バッチＢに対する起動指示を処理実行装置１０−２Ｂに送信し、バッチＣに対する起動指示を処理実行装置１０−３Ｂに送信する。この起動指示には、起動カウンタ１０７−１の値、すなわちバッチＡの起動回数を示す情報が含まれている。
【００７９】
次に、処理部１０３−２は、処理実行装置１０−１Ｂから入力された起動指示に応じて、記憶部１０６−２から読み出したバッチＢを起動する。次に、処理部１０３−２は起動カウンタ１０７−２の起動回数に、起動指示に含まれるバッチＡの起動回数（この例においては、１）を設定する。
次に、処理部１０３−３は、処理実行装置１０−１Ｂから入力された起動指示に応じて、記憶部１０６−３から読み出したバッチＣを起動する。次に、処理部１０３−３は起動カウンタ１０７−３の起動回数に、起動指示に含まれるバッチＡの起動回数（この例においては、１）を設定する。
バッチＢ終了後、実行完了情報書込部１０５−２Ｂは、判定部１０４−２Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ｂと実行完了情報と起動回数（＝１）とを関連づけて記憶部２０１Ｂに書き込む。
【００８０】
この図１１（ａ）は、バッチＣが正常に終了した場合の例である。この場合、記憶部２０１Ｂには、起動回数（＝１）とバッチ名Ｃに関連づけられた実行完了情報が記憶される。
【００８１】
判定部１０４−３Ｂは、記憶部１０６−３に記憶されている設定情報のうち、監視対象のバッチ名ＢとＣを読み出す。次に、判定部１０４−３Ｂは、起動回数（＝１）であり、バッチ名ＢとＣに各々関連づけられた実行完了情報が記憶部２０１Ｂに記憶されているか否かを確認する。この場合、記憶部２０１Ｂには、起動回数（＝１）に関連づけられてバッチ名Ｂに対応する実行完了情報が記憶され、起動回数（＝１）に関連づけられてバッチ名Ｃに対応する実行完了情報が記憶されている。このため判定部１０４−３Ｂは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。
【００８２】
次に、判定部１０４−３Ｂは、記憶部１０６−３に記憶されている設定情報に応じて、バッチＤに対する起動指示を処理実行装置１０−４Ｂに送信する。この起動指示には、起動カウンタ１０７−３の値、すなわちバッチＣの起動回数を示す情報が含まれている。
次に、処理部１０３−４は、処理実行装置１０−３Ｂから入力された起動指示に応じて、記憶部１０６−４から読み出したバッチＤを起動する。次に、処理部１０３−４は起動カウンタ１０７−４の起動回数に、起動指示に含まれるバッチＣの起動回数（この例においては、１）を設定する。
【００８３】
次に、第２のネット構成に含まれる各バッチに対する処理について説明する。
図１１（ｂ）において、処理部１０３−１は起動カウンタ１０７−１の起動回数に１を加算する。次に、処理部１０３−１は、記憶部１０６−１に記憶されている設定情報に基づいて記憶部１０６−１から読み出したバッチＡを起動する。バッチＡ終了後、実行完了情報書込部１０５−１Ｂは、判定部１０４−１Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ａと実行完了情報と起動回数（＝２）を関連づけて記憶部２０１Ｂに書き込む。次に、判定部１０４−１Ｂは、記憶部１０６−２に記憶されている設定情報に応じて、バッチＢに対する起動指示を処理実行装置１０−２Ｂに送信し、バッチＣに対する起動指示を処理実行装置１０−３Ｂに送信する。この起動指示には、起動カウンタ１０７−１の値、バッチＡの起動回数を示す情報が含まれている。
【００８４】
次に、処理部１０３−２は、処理実行装置１０−１Ｂから入力された起動指示に応じて、記憶部１０６−２から読み出したバッチＢを起動する。次に、処理部１０３−２は起動カウンタ１０７−２の起動回数に、起動指示に含まれるバッチＡの起動回数（この例においては、２）を設定する。
次に、処理部１０３−３は、処理実行装置１０−１Ｂから入力された起動指示に応じて、記憶部１０６−３から読み出したバッチＣを起動する。次に、処理部１０３−３は起動カウンタ１０７−３の起動回数に、起動指示に含まれるバッチＡの起動回数（この例においては、２）を設定する。
バッチＢ終了後、実行完了情報書込部１０５−２Ｂは、判定部１０４−２Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ｂと実行完了情報と起動回数（＝２）を関連づけて記憶部２０１Ｂに書き込む。
【００８５】
バッチＣ終了後、実行完了情報書込部１０５−３Ｂは、判定部１０４−３Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ｃと実行完了情報と起動回数（＝２）を関連づけて記憶部２０１Ｂに書き込む。
判定部１０４−３Ｂは、記憶部１０６−３に記憶されている設定情報のうち、監視対象のバッチ名ＢとＣを読み出す。次に、判定部１０４−３Ｂは、起動回数（＝２）であり、バッチ名ＢとＣに各々関連づけられた実行完了情報が記憶部２０１Ｂに記憶されているか否かを確認する。この場合、記憶部２０１Ｂには、起動回数（＝２）に関連づけられてバッチ名Ｂに対応する実行完了情報が記憶され、起動回数（＝２）に関連づけられてバッチ名Ｃに対応する実行完了情報が記憶されている。このため判定部１０４−３Ｂは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。
【００８６】
次に、判定部１０４−３Ｂは、記憶部１０６−３に記憶されている設定情報に応じて、バッチＤに対する起動指示を処理実行装置１０−４Ｂに送信する。この起動指示には、起動カウンタ１０７−３の値、すなわちバッチＣの起動回数を示す情報が含まれている。
次に、処理部１０３−４は、処理実行装置１０−３Ｂから入力された起動指示に応じて、記憶部１０６−４から読み出したバッチＤを起動する。次に、処理部１０３−４は起動カウンタ１０７−４の起動回数に、起動指示に含まれるバッチＣの起動回数（この例においては、２）を設定する。
【００８７】
上述したように、本実施形態によれば、処理実行装置１０−ｎＢが、各々、起動カウンタ１０７−ｎを備え、バッチの起動毎に起動回数を更新（例えば、加算）する。本実施形態に係る処理実行装置１０−ｎＢは、このバッチの起動回数によって各々のネット構成を区別しながら、バッチを起動することができる。すなわち、処理実行装置１０−ｎＢは、起動カウンタ１０７−ｎを備えることにより、ネット構成が互いに異なる同じ種類のバッチ（例えば、バッチＡ）が起動された場合に、これらのバッチを区別して処理することができる。よって、処理実行装置１０−ｎＢは、複数のネット構成を同時に処理することができる。ここで、従来の処理実行装置のように、起動カウンタ１０７−ｎを備えない場合において、複数のネット構成を同時に処理するために、予め複数のネット構成を設定しておく場合がある。処理実行装置１０−ｎＢは、予め複数のネット構成を設定することなく複数のネット構成を同時に処理することができるため、このような予め複数のネット構成を設定しておく場合に比べて、ネット構成の設定を簡素化することができる。
【００８８】
なお、起動指示には前段処理の起動回数を示す情報が含まれているとして説明したが、これに限られない。例えば、前段処理の起動指示によって後段処理が起動される際に、後段処理の処理部１０３−ｎが、記憶部２０１Ｂから前段処理の起動回数を示す情報を取得する構成であってもよい。
【００８９】
次に、図１２を参照して、バッチが異常終了した場合について説明する。
図１２は、本実施形態に係るバッチ異常終了時の構成の一例を説明する図である。このうち、図１２（ａ）は、第１の時刻に第１のネット構成に含まれるバッチＡが起動された例である。図１２（ｂ）は、第２の時刻に第２のネット構成に含まれるバッチＡが起動された例である。ここでは、第１のネット構成に含まれるバッチＣが異常終了し、第１のネット構成に含まれるバッチＤが起動できない場合について説明する。
【００９０】
まず、第１のネット構成に含まれる各バッチに対する処理について説明する。図１２（ａ）に示すように、処理部１０３−１は起動カウンタ１０７−１の起動回数に１を加算する。次に、処理部１０３−１は、記憶部１０６−１に記憶されている設定情報に基づいて記憶部１０６−１から読み出したバッチＡを起動する。バッチＡ終了後、実行完了情報書込部１０５−１Ｂは、判定部１０４−１Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ａと実行完了情報と起動回数（＝１）を記憶部２０１Ｂに書き込む。次に、判定部１０４−１Ｂは、記憶部１０６−１に記憶されている設定情報に応じて、バッチＢに対する起動指示を処理実行装置１０−２Ｂに送信し、バッチＣに対する起動指示を処理実行装置１０−３Ｂに送信する。この起動指示には、起動カウンタ１０７−１の値、すなわちバッチＡの起動回数を示す情報が含まれている。
【００９１】
次に、処理部１０３−２は、処理実行装置１０−１Ｂから入力された起動指示に応じて、記憶部１０６−２から読み出したバッチＢを起動する。次に、処理部１０３−２は起動カウンタ１０７−２の起動回数に、起動指示に含まれるバッチＡの起動回数（この例においては、１）を設定する。
次に、処理部１０３−３は、処理実行装置１０−１Ｂから入力された起動指示に応じて、記憶部１０６−３から読み出したバッチＣを起動する。次に、処理部１０３−３は起動カウンタ１０７−３の起動回数に、起動指示に含まれるバッチＡの起動回数（この例においては、１）を設定する。
バッチＢ終了後、実行完了情報書込部１０５−２Ｂは、判定部１０４−２Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ｂと実行完了情報と起動回数（＝１）とを関連づけて記憶部２０１Ｂに書き込む。
【００９２】
この図１２（ａ）は、バッチＣが異常終了し、リランできなかった場合の例を示している。上述した図１１（ａ）の場合と異なり、バッチＣが異常終了した場合には、記憶部２０１Ｂには、起動回数（＝１）とバッチ名Ｃに関連づけられた実行完了情報は記憶されない。また、起動カウンタ１０７−４の起動回数は、初期値０のままである。
【００９３】
次に、第２のネット構成に含まれる各バッチに対する処理について説明する。
図１２（ｂ）において、処理部１０３−１は起動カウンタ１０７−１の起動回数に１を加算する。ここで、第２のネット構成に含まれるバッチＡ起動前においては、起動カウンタ１０７−１の起動回数は１であるため、起動カウンタ１０７−１の起動回数は２になる。次に、処理部１０３−１は、記憶部１０６−１に記憶されている設定情報に基づいて記憶部１０６−１から読み出したバッチＡを起動する。バッチＡ終了後、実行完了情報書込部１０５−１Ｂは、判定部１０４−１Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ａと実行完了情報と起動回数（＝２）を関連づけて記憶部２０１Ｂに書き込む。次に、判定部１０４−１Ｂは、記憶部１０６−２に記憶されている設定情報に応じて、バッチＢに対する起動指示を処理実行装置１０−２Ｂに送信し、バッチＣに対する起動指示を処理実行装置１０−３Ｂに送信する。
【００９４】
次に、処理部１０３−２は、処理実行装置１０−１Ｂから入力された起動指示に応じて、記憶部１０６−２から読み出したバッチＢを起動する。次に、処理部１０３−２は起動カウンタ１０７−２の起動回数に、起動指示に含まれるバッチＡの起動回数（この例においては、２）を設定する。
次に、処理部１０３−３は、処理実行装置１０−１Ｂから入力された起動指示に応じて、記憶部１０６−３から読み出したバッチＣを起動する。次に、処理部１０３−３は起動カウンタ１０７−３の起動回数に、起動指示に含まれるバッチＡの起動回数（この例においては、２）を設定する。
バッチＢ終了後、実行完了情報書込部１０５−２Ｂは、判定部１０４−２Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ｂと実行完了情報と起動回数（＝２）を関連づけて記憶部２０１Ｂに書き込む。
【００９５】
バッチＣ終了後、実行完了情報書込部１０５−３Ｂは、判定部１０４−３Ｂから入力された実行完了情報を書き込む指示に応じて、バッチ名Ｃと実行完了情報と起動回数（＝２）を関連づけて記憶部２０１Ｂに書き込む。
判定部１０４−３Ｂは、記憶部１０６−３に記憶されている設定情報のうち、監視対象のバッチ名ＢとＣを読み出す。次に、判定部１０４−３Ｂは、起動回数（＝２）であり、バッチ名ＢとＣに各々関連づけられた実行完了情報が記憶部２０１Ｂに記憶されているか否かを確認する。この場合、記憶部２０１Ｂには、起動回数（＝２）に関連づけられてバッチ名Ｂに対応する実行完了情報が記憶され、起動回数（＝２）に関連づけられてバッチ名Ｃに対応する実行完了情報が記憶されている。このため判定部１０４−３Ｂは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。
【００９６】
次に、判定部１０４−３Ｂは、記憶部１０６−３に記憶されている設定情報に応じて、バッチＤに対する起動指示を処理実行装置１０−４Ｂに送信する。
次に、処理部１０３−４は、処理実行装置１０−３Ｂから入力された起動指示に応じて、記憶部１０６−４から読み出したバッチＤを起動する。次に、処理部１０３−４は起動カウンタ１０７−４の起動回数に、起動指示に含まれるバッチＣの起動回数（この例においては、２）を設定する。
【００９７】
上述したように、本実施形態によれば、処理実行装置１０−ｎＢが、各々、起動カウンタ１０７−ｎを備え、バッチの起動毎に起動回数を更新（例えば、加算）する。本実施形態に係る処理実行装置１０−ｎＢは、このようにバッチの起動回数と実行完了情報とをお互いに監視しあうことにより、バッチが異常終了したことを検出することができる。これにより、処理実行装置１０−ｎＢは、一部のネット構成に含まれるバッチが異常終了した場合であっても、他のネット構成に影響を与えることなく、起動回数に合わせてネット構成に含まれるバッチを起動することができる。
【００９８】
なお、本実施形態では、起動カウンタ１０７−ｎを各処理実行装置１０−ｎＢが備える例を説明したが、これに限られない。起動カウンタは、例えば記憶装置２０が備えていてもよく、あるいは、通信ネットワーク３０に接続される起動カウンタ装置であってもよい。
【００９９】
なお、第３実施形態において、例えば操作部１０１−ｎを管理者が操作して実行中のバッチを中断するようにしてもよい。このような場合であっても、本実施形態に係る処理実行装置１０−ｎＢは、起動回数に基づいて、次の時刻にスケジュールされているバッチのネット構成を維持して、バッチを実行することができる。
【０１００】
上述したように、第１〜第３実施形態によれば、バッチ監視装置が不要であるため、情報システムのコストを削減できる。
また、従来のバッチ監視装置を有する情報システムでは、バッチ監視装置によるバッチ間の連動は起動順番のみであったが、第１〜第３実施形態によれば、お互いにバッチ間の相互監視をしているため、密接な連動関係が可能になる。また、第１〜第３実施形態によれば、ネット構成の多重起動等の高機能なバッチ間の連動が可能になる。また第１〜第３実施形態によれば、随時系バッチ等の多彩なバッチに対応できる。
【０１０１】
なお、第１〜第３実施形態では、２つの判定部１０４−ｎ（含む１０４−Ｂ）が互いにバッチが終了したか否かを監視する例を説明したが、これに限られない。互いに監視するバッチは３つ以上であってもよい。
また、第１〜第３実施形態では、前段の処理実行装置１０−ｎ（含む１０−ｎＢ）により起動されたバッチを実行している処理実行装置１０−ｎ同士についてバッチが終了したか否かを判定する例を説明したが、これに限られない。例えば、図１３に示すように、監視し合うバッチは、起動指示を出力した処理実行装置１０−ｎ（含む１０−ｎＢ）が異なっていてもよい。図１３は、本実施形態に係るバッチの連動の一例を説明する図である。以下の例では、第１および第２実施形態で説明した処理実行装置１０−ｎを例に説明するが、第３実施形態で説明した処理実行装置１０−ｎＢであってもよい。
【０１０２】
図１３に示した例では、１５台（ｎ＝１５）の処理実行装置１０−１５が、通信ネットワーク３０（図１参照）を介して接続されている。図１３において、符号０１＿０１、０２＿０１〜０２＿０４、０３＿０１、０４＿０１〜０４＿０２、０５＿０１、０６＿０１、０７＿０１〜０７＿０２、０８＿０１、０９＿０１、１０＿０１は、各々、バッチを示している。
処理実行装置１０−１の各記憶部１０６−１には、バッチ０１＿０１が記憶され、以下同様に、処理実行装置１０−１５の各記憶部１０６−１５には、バッチ１０＿０１が記憶されている。
【０１０３】
バッチ０１＿０１が終了後、判定部１０４−１は、処理実行装置１０−２にバッチ０２＿１に対する起動指示を送信し、処理実行装置１０＿５にバッチ０２＿１〜０２＿０４に対する起動指示を送信する。
バッチ０２＿０１とバッチ０２＿０２が終了後、監視するすべてのバッチが完了したと判定した判定部１０４−２または１０４−３は、処理実行装置１０−６にバッチ０３＿１に対する起動指示を送信する。
バッチ０３＿０１が終了後、判定部１０４−６は、処理実行装置１０−７にバッチ０４＿０１に対する起動指示を送信し、処理実行装置１０−８にバッチ０４＿２に対する起動指示を送信する。
【０１０４】
バッチ０４＿０１とバッチ０４＿０２が終了後、監視するすべてのバッチが完了したと判定した判定部１０４−７または１０４−８は、処理実行装置１０−９にバッチ０５＿１に対する起動指示を送信する。
バッチ０３＿０１とバッチ０５＿０２が終了後、監視するすべてのバッチが完了したと判定した判定部１０４−４または１０４−９は、処理実行装置１０−１０にバッチ０６＿１に対する起動指示を送信する。
バッチ０６＿０１が終了後、判定部１０４−１０は、処理実行装置１０−１１にバッチ０７＿０１に対する起動指示を送信し、処理実行装置１０−１２にバッチ０７＿２に対する起動指示を送信する。
【０１０５】
バッチ０７＿０１とバッチ０７＿０２が終了後、監視するすべてのバッチが完了したと判定した判定部１０４−１１または１０４−１２は、処理実行装置１０−１３にバッチ０８＿１に対する起動指示を送信する。
バッチ０２＿０４とバッチ０８＿０１が終了後、監視するすべてのバッチが完了したと判定した判定部１０４−５または１０４−１３は、処理実行装置１０−１４にバッチ０９＿１に対する起動指示を送信する。
バッチ０９＿０１が終了後、判定部１０４−１４は、処理実行装置１０−１５にバッチ１０＿０１に対する起動指示を送信する。
【０１０６】
以上のように、第１〜第３実施形態に係る処理実行装置１０−ｎ（含む１０−ｎＢ）において、判定部１０４−ｎは、記憶部１０６−ｎに記憶されている設定情報に応じて、監視するバッチがすべて終了したか否かを判定する。そして、第１〜第３実施形態に係る処理実行装置１０−ｎ（含む１０−ｎＢ）は、監視するバッチがすべて終了した場合、記憶部１０６−ｎに記憶されている設定情報に応じて後段のバッチを起動する起動指示を送信する。
【０１０７】
なお、本発明における処理実行装置１０−ｎ（含む１０−ｎＢ）、記憶装置２０（含む２０Ａ、２０Ｂ）の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより制御を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０８】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１０９】
１、１Ａ、１Ｂ…処理実行システム、１０−ｎ、１０−ｎＢ…処理実行装置、２０、２０Ａ…記憶装置、３０…通信ネットワーク、１０１−ｎ…操作部、１０２−ｎ…通信部、１０３−ｎ…処理部、１０４−ｎ、１０４−ｎＢ…判定部、１０５−ｎ、１０５−ｎＢ…実行完了情報書込部、１０６−ｎ…記憶部、１０７−ｎ…起動カウンタ部、２０１…記憶部、２０２…調停部
【図１】
2014112300.tif 000003
【図２】
2014112300.tif 000004
【図３】
2014112300.tif 000005
【図４】
2014112300.tif 000006
【図５】
2014112300.tif 000007
【図６】
2014112300.tif 000008
【図７】
2014112300.tif 000009
【図８】
2014112300.tif 000010
【図９】
2014112300.tif 000011
【図１０】
2014112300.tif 000012
【図１１】
2014112300.tif 000013
【図１２】
2014112300.tif 000014
【図１３】
2014112300.tif 000015