(57)【特許請求の範囲】
【請求項１】
最新世代の世代ファイルを入力としてジョブを実行することにより次世代の世代ファイルを作成する情報処理システムにおける情報処理方法であって、
前記情報処理システムは、
登録された前記ジョブを管理するジョブ管理部と、
前記ジョブ管理部からの前記ジョブの実行要求に基づいて、指定された前記ジョブを実行するジョブ実行部とを有し、
前記ジョブ管理部が、登録された前記ジョブを当該ジョブに固有の識別子と対応付けて管理し、前記ジョブの実行日時に当該ジョブの実行要求と、当該ジョブと対応付けられた前記識別子とを前記ジョブ実行部に通知する第１のステップと、
前記ジョブ実行部が、前記ジョブ管理部からの前記ジョブの実行要求に基づいて、指定された前記ジョブを実行すると共に、前記ジョブを実行することにより作成した次世代の前記世代ファイルを、当該ジョブの実行要求と共に前記ジョブ管理部から通知された前記識別子と対応付けて管理する第２のステップとを備え、
前記第２のステップにおいて、前記ジョブ実行部は、
前記ジョブ管理部からの実行要求に基づいて前記ジョブを実行する際、当該実行要求と共に通知された前記識別子と対応付けられた前記世代ファイルが既に存在するか否かを確認し、当該世代ファイルが存在しない場合には、指定された前記ジョブを実行する一方、当該世代ファイルが既に存在する場合には、指定された動作を実行する
ことを特徴とする情報処理方法。
【請求項２】
前記識別子と対応付けられた前記世代ファイルが既に存在する場合の前記ジョブ実行部の前記動作は、
前記ジョブの処理結果を、前記識別子と対応付けられた既存の前記世代ファイルに上書きするか、前記識別子と対応付けられた既存の前記世代ファイルを退避して、新たな前記世代ファイルを作成するか、又は、前記ジョブの実行を中止するかのいずれかである
ことを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記ジョブ実行部は、
前記ジョブごとのジョブ内容が定義されたジョブ定義ファイルを保持し、
前記ジョブ管理部から前記ジョブの実行要求が与えられるごとに前記ジョブ定義ファイルを参照して当該ジョブを実行し、
前記識別子と対応付けられた前記世代ファイルが既に存在する場合の前記ジョブ実行部の前記動作は、前記ジョブ定義ファイルにおいて定義され、
前記定義された動作に基づいて、前記ジョブの処理結果を前記識別子と対応付けられた既存の前記世代ファイルに上書きするか、前記識別子と対応付けられた既存の前記世代ファイルを退避して、新たな前記世代ファイルを作成するか、又は、前記ジョブの実行を中止するかを決定する
ことを特徴とする請求項２に記載の情報処理方法。
【請求項４】
前記第２のステップでは、
前記ジョブ実行部が、前記ジョブ管理部からの実行要求に基づいて前記ジョブを実行する際、当該実行要求と共に通知された前記識別子と対応付けられた前記世代ファイルが既に存在する場合には、所定のメッセージを前記ジョブ管理部に送信し、
前記ジョブ管理部が、前記ジョブ実行部からの前記メッセージを受信すると、前記ジョブ実行部が実行すべき動作の入力要求を表示し、入力された前記ジョブ実行部が実行すべき前記動作を前記ジョブ実行部に通知し、
前記ジョブ実行部が、前記ジョブ管理部から通知された前記動作を実行する
ことを特徴とする請求項２に記載の情報処理方法。
【請求項５】
最新世代の世代ファイルを入力としてジョブを実行し、次世代の世代ファイルを作成する情報処理システムであって、
登録された前記ジョブを管理するジョブ管理部と、
前記ジョブ管理部からの前記ジョブの実行要求に基づいて、指定された前記ジョブを実行するジョブ実行部とを備え、
前記ジョブ管理部は、
登録された前記ジョブを当該ジョブに固有の識別子と対応付けて管理し、前記ジョブの実行日時に当該ジョブの実行要求と、当該ジョブと対応付けられた前記識別子とを前記ジョブ実行部に通知し、
前記ジョブ実行部は、
前記ジョブを実行することにより作成した次世代の前記世代ファイルを、当該ジョブの実行要求と共に前記ジョブ管理部から通知された前記識別子と対応付けて管理し、前記ジョブ管理部からの実行要求に基づいて前記ジョブを実行する際には、当該実行要求と共に通知された前記識別子と対応付けられた前記世代ファイルが既に存在するか否かを確認し、当該世代ファイルが存在しない場合には、指定された前記ジョブを実行する一方、当該世代ファイルが既に存在する場合には、指定された動作を実行する
ことを特徴とする情報処理システム。
【請求項６】
前記識別子と対応付けられた前記世代ファイルが既に存在する場合の前記ジョブ実行部の前記動作は、
前記ジョブの処理結果を、前記識別子と対応付けられた既存の前記世代ファイルに上書きするか、前記識別子と対応付けられた既存の前記世代ファイルを退避して、新たな前記世代ファイルを作成するか、又は、前記ジョブの実行を中止するかのいずれかである
ことを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記ジョブ実行部は、
前記ジョブごとのジョブ内容が定義されたジョブ定義ファイルを保持し、
前記ジョブ管理部から前記ジョブの実行要求が与えられるごとに前記ジョブ定義ファイルを参照して当該ジョブを実行し、
前記識別子と対応付けられた前記世代ファイルが既に存在する場合の前記ジョブ実行部の前記動作は、前記ジョブ定義ファイルにおいて定義され、
前記定義された動作に基づいて、前記ジョブの処理結果を前記識別子と対応付けられた既存の前記世代ファイルに上書きするか、前記識別子と対応付けられた既存の前記世代ファイルを退避して、新たな前記世代ファイルを作成するか、又は、前記ジョブの実行を中止するかを決定する
ことを特徴とする請求項６に記載の情報処理システム。
【請求項８】
前記ジョブ実行部は、
前記ジョブ管理部からの実行要求に基づいて前記ジョブを実行する際、当該実行要求と共に通知された前記識別子と対応付けられた前記世代ファイルが既に存在する場合には、所定のメッセージを前記ジョブ管理部に送信し、
前記ジョブ管理部は、
前記ジョブ実行部からの前記メッセージを受信すると、前記ジョブ実行部が実行すべき動作の入力要求を表示し、入力された前記ジョブ実行部が実行すべき前記動作を前記ジョブ実行部に通知し、
前記ジョブ実行部は、
前記ジョブ管理部から通知された前記動作を実行する
ことを特徴とする請求項６に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法及び情報処理システムに関し、世代管理ファイル機能が搭載された情報処理システムに適用して好適なものである。
【背景技術】
【０００２】
例えば給与ファイルや在庫ファイルといった順次更新されるファイルの旧ファイル及び新ファイルの関係のように、互いに時間的な関連をもった一連のファイルをグループとして管理する機能を世代ファイル機能と呼ぶ。以下においては、このグループを世代グループと呼び、世代グループを構成する個々のファイルを世代ファイルと呼ぶものとする。【０００３】
一連のジョブからなる処理に従来の世代ファイル機能を用いる場合、最新の世代ファイルを入力として、新しい世代ファイルを作成する運用が一般的である。このような運用で、ジョブエラーなどにより作成された世代ファイルが不当な内容になっている可能性がある場合、世代ファイルを作成し直すためにジョブを再実行する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２３６６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の世代ファイル機能では、どのジョブによりどの世代ファイルが作成されたかは一切管理していない。このためジョブを再実行すると、そのジョブが世代ファイルを既に出力しているかどうかは関係なく、無条件に次の世代の世代ファイルが作成されることになる。【０００６】
そうなると、ジョブの再実行によって、ジョブエラーなどにより作成された不当な世代ファイルを入力として、そのとき目的とする世代よりも１つ後の世代の世代ファイルが作成されることになり、世代ファイル及び世代を管理する世代管理情報に不整合が生じる。【０００７】
このため、従来、ジョブを再実行するに際しては、ジョブエラーにより作成された不当な世代ファイル及び当該世代ファイルを入力として作成された世代ファイルを削除する処理（不当な世代ファイルの後処理）や、ジョブエラーにより不当な世代ファイルが作成された世代について、どの世代ファイルを入力として目的とする世代の世代ファイルを作成するかといったジョブの実行計画の修正（ジョブ実行計画の修正）などを行う必要があり（例えば特許文献１参照）、一連のジョブの完了までに要する時間が増加するという問題があった。【０００８】
本発明は以上の点を考慮してなされたもので、ジョブエラーに伴う不当な世代ファイルの後処理やジョブ実行計画の修正のコストを軽減し、一連のジョブからなる処理の完了までの時間を短縮し得る情報処理方法及び情報処理システムを提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、最新世代の世代ファイルを入力としてジョブを実行することにより次世代の世代ファイルを作成する情報処理システムにおける情報処理方法であって、前記情報処理システムは、登録された前記ジョブを管理するジョブ管理部と、前記ジョブ管理部からの前記ジョブの実行要求に基づいて、指定された前記ジョブを実行するジョブ実行部とを有し、前記ジョブ管理部が、登録された前記ジョブを当該ジョブに固有の識別子と対応付けて管理し、前記ジョブの実行日時に当該ジョブの実行要求と、当該ジョブと対応付けられた前記識別子とを前記ジョブ実行部に通知する第１のステップと、前記ジョブ実行部が、前記ジョブ管理部からの前記ジョブの実行要求に基づいて、指定された前記ジョブを実行すると共に、前記ジョブを実行することにより作成した次世代の前記世代ファイルを、当該ジョブの実行要求と共に前記ジョブ管理部から通知された前記識別子と対応付けて管理する第２のステップとを設け、前記第２のステップにおいて、前記ジョブ実行部が、前記ジョブ管理部からの実行要求に基づいて前記ジョブを実行する際、当該実行要求と共に通知された前記識別子と対応付けられた前記世代ファイルが既に存在するか否かを確認し、当該世代ファイルが存在しない場合には、指定された前記ジョブを実行する一方、当該世代ファイルが既に存在する場合には、指定された動作を実行するようにした。【００１０】
また本発明においては、最新世代の世代ファイルを入力としてジョブを実行し、次世代の世代ファイルを作成する情報処理システムであって、登録された前記ジョブを管理するジョブ管理部と、前記ジョブ管理部からの前記ジョブの実行要求に基づいて、指定された前記ジョブを実行するジョブ実行部とを設け、前記ジョブ管理部が、登録された前記ジョブを当該ジョブに固有の識別子と対応付けて管理し、前記ジョブの実行日時に当該ジョブの実行要求と、当該ジョブと対応付けられた前記識別子とを前記ジョブ実行部に通知し、前記ジョブ実行部が、前記ジョブを実行することにより作成した次世代の前記世代ファイルを、当該ジョブの実行要求と共に前記ジョブ管理部から通知された前記識別子と対応付けて管理し、前記ジョブ管理部からの実行要求に基づいて前記ジョブを実行する際には、当該実行要求と共に通知された前記識別子と対応付けられた前記世代ファイルが既に存在するか否かを確認し、当該世代ファイルが存在しない場合には、指定された前記ジョブを実行する一方、当該世代ファイルが既に存在する場合には、指定された動作を実行するようにした。【００１１】
本情報処理方法及び情報処理システムによれば、ジョブの再実行により新たな世代ファイルが無条件に作成されるのを防止することができる。
【発明の効果】
【００１２】
本発明によれば、ジョブエラーに伴う不当な世代ファイルの後処理やジョブ実行計画の修正のコストを軽減することができ、かくして一連のジョブからなる処理の完了までの時間を短縮させることができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態による情報処理システムのハードウェア構成を示すブロック図である。
【図２】本実施の形態による情報処理システムの論理構成を示すブロック図である。
【図３】ジョブ管理テーブルの構成を示す概念図である。
【図４】世代管理ファイルの構成を示す概念図である。
【図５】通常のバッチ処理時における実行制御部の処理内容の説明に供するブロック図である。
【図６】バッチ処理の再実行時における実行制御部の処理内容の説明に供するブロック図である。
【図７】バッチ処理の再実行時における実行制御部の処理内容の説明に供するブロック図である。
【図８】ジョブネット画面の画面構成例を略線的に示す略線図である。
【図９】第１の動作確認ウインドの構成例を示す略線図である。
【図１０】第２の動作確認ウインドの構成例を示す略線図である。
【図１１】ジョブ起動処理の処理手順例を示すフローチャートである。
【図１２】ジョブ管理処理の処理手順例を示すフローチャートである。
【図１３Ａ】ジョブ実行制御処理の処理手順例を示すフローチャートである。
【図１３Ｂ】ジョブ実行制御処理の処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）本実施の形態による情報システムの構成
図１において、１は全体として本実施の形態による情報処理システムを示す。この情報処理システム１は、ケーブル又はネットワーク等の通信路２を介して接続されたクライアント装置３及びバッチサーバ４から構成される。
【００１６】
クライアント装置３は、ユーザにより登録された１つの処理を構成する一連のジョブをそれぞれ管理し、いずれかのジョブの実行日時にその実行をバッチサーバ４に指示するコンピュータ装置である。このクライアント装置３は、内部バス１０を介して相互に接続されたＣＰＵ（Central  Processing  Unit）１１、メモリ１２、記憶装置１３、入力装置１４及び表示装置１５を備えて構成される。
【００１７】
ＣＰＵ１１は、クライアント装置３全体の動作制御を司るプロセッサである。またメモリ１２は、例えば揮発性の半導体メモリから構成され、ＣＰＵ１１のワークメモリとして利用される。後述するジョブ管理テーブル１６や、クライアント側スケジューラ１７は、このメモリ１２に格納されて保持される。
【００１８】
記憶装置１３は、例えばハードディスク装置から構成され、プログラムやデータを長期的に保持するために利用される。記憶装置１３に格納されたプログラムがクライアント装置３の起動時や必要時にメモリ１２に読み出されてＣＰＵ１０により実行されることにより、クライアント装置３全体としての各種処理が実行される。
【００１９】
入力装置１４は、キーボードやマウスなどから構成され、例えばユーザが一連のジョブの実行スケジュールを作成する場合に利用される。また表示装置１５は、液晶パネルディスプレイなどから構成され、ＣＰＵ１１からの指示に従って各種ＧＵＩ（Graphical  User  Interface）や必要な各種情報を表示する。
【００２０】
バッチサーバ４は、クライアント装置３からの要求に応じて、最新の世代ファイルを入力として、指定されたバッチ処理を実行するサーバ装置であり、ＣＰＵ２０、メモリ２１及び記憶装置２２を備えて構成される。これらＣＰＵ２０、メモリ２１及び記憶装置２２は、クライアント装置３のＣＰＵ１１、メモリ１２及び記憶装置１３と同様の構成及び機能を有するものであるため、ここでの説明は省略する。
【００２１】
バッチサーバ４のメモリ２１には、プログラムとして、後述するサーバ側スケジューラ２３及び実行制御部２４並びにジョブごとのプログラム２５が格納され、制御データとして、ジョブ定義ファイル２６が格納される。
【００２２】
ジョブ定義ファイル２６は、ジョブを実行する際に起動すべきプログラム２５や、そのジョブを実行する際に入力とすべき世代ファイル及びそのジョブの処理結果を出力すべき世代ファイルなど、ジョブごとのジョブ内容がそれぞれ定義されたファイルである。
【００２３】
またジョブ定義ファイル２６には、ジョブごとに、そのジョブの処理結果が記録された世代ファイルが既に存在する場合（つまりそのジョブが再実行であり、前回のそのジョブの実行時に作成された世代ファイルが存在する場合）のバッチサーバ４の動作が予め記録されている。
【００２４】
本実施の形態の場合、かかる動作として、ジョブの再実行により得られたバッチ処理結果を既に存在する世代ファイルに上書きする「上書き」と、既に存在する世代ファイルに代えて、新たに作成した世代ファイルを対応する世代と対応付け、ジョブの再実行により得られたバッチ処理結果をその新たな世代ファイルに記録する「退避」と、ジョブの再実行を中止する「中止」との３つの動作が規定されている。なお「退避」の場合、既に存在する世代ファイルは、対応する世代の世代ファイルに付与されるファイル名とは別のファイル名が付与されて保存される。
【００２５】
一方、バッチサーバ４の記憶装置２２には、かかるバッチ処理の処理結果が記録された世代ごとの世代ファイル２７と、各世代の世代ファイル２７を管理するために利用する世代管理ファイル２８とが格納される。世代管理ファイル２８の詳細については後述する。
【００２６】
図２は、クライアント装置３及びバッチサーバ４の論理構成を示す。この図２に示すように、クライアント装置３には、クライアント側スケジューラ１７が実装され、バッチサーバ４には、サーバ側スケジューラ２３、実行制御部２４及びプログラム２５が実装されている。
【００２７】
クライアント側スケジューラ１７は、ユーザにより登録された一連のジョブを管理する機能を有するプログラムであり、ユーザ操作に応じてジョブを登録するための所定のＧＵＩ画面を表示装置に表示させ、当該ＧＵＩを利用してユーザにより登録されたジョブをジョブ管理テーブル１６に格納して管理する。
【００２８】
ジョブ管理テーブル１６は、図３に示すように、ジョブ名欄１６Ａ、ジョブ番号欄１６Ｂ及び実行日時欄１６Ｃから構成される。そしてジョブ名欄１６Ａには、登録されたジョブに対してユーザが付与した名称（ジョブ名）が格納され、実行日時欄１６Ｃには、対応するジョブの予定された実行日時が格納される。
【００２９】
またジョブ番号欄１６Ｂには、対応するジョブの登録時にクライアント側スケジューラ１７により付与されたジョブ番号が格納される。ジョブ番号は、登録されたジョブのジョブ名及び実行日時に基づいて設定されるそのジョブに固有な識別番号であり、同じジョブを複数回実行する場合でも実行日時が異なる場合には、ジョブごとに異なるジョブ番号がそれぞれ付与される。またジョブ番号は、ジョブを再実行する場合には変更されない。
【００３０】
そしてクライアント側スケジューラ１７は、管理しているいずれかのジョブの実行日時となると、そのジョブを起動すべき旨の要求（以下、これをジョブ起動要求と呼ぶ）と、そのジョブのジョブ番号とをバッチサーバ４のサーバ側スケジューラ２３に送信する。
【００３１】
サーバ側スケジューラ２３は、クライアント装置３のクライアント側スケジューラ１７と、バッチサーバ４の実行制御部２４との間におけるコマンドや情報のやり取りを仲介する機能を有するプログラムである。サーバ側スケジューラ２３は、クライアント側スケジューラ１７からのジョブ起動要求及びジョブ番号を受信すると、これらを実行制御部２４に転送する。
【００３２】
実行制御部２４は、クライアント側スケジューラ１７からのジョブ起動要求に応じて、指定されたジョブの実行を制御する機能を有するプログラムである。実行制御部２４は、サーバ側スケジューラ２３から転送されたジョブ起動要求及びジョブ番号を受信すると、ジョブ定義ファイル２６を参照して、指定されたジョブを実行するために起動すべきプログラム２５と、そのジョブにおいて入力とすべき世代ファイル２７及び出力とすべき世代ファイル２７と、通知されたジョブ番号に対応する世代ファイル２７が既に存在する場合の動作とを決定する。
【００３３】
また実行制御部２４は、記憶装置２２に保存している世代管理ファイル２８を参照して、クライアント側スケジューラ１７から通知されたジョブ番号に対応する世代の世代ファイル２７が既に作成されているか否かを確認する。
【００３４】
この世代管理ファイル２８は、既に作成されて記憶装置２２に保存されている各世代の世代ファイル２７を実行制御部２４が管理するために利用するファイルである。この世代管理ファイル２８には、図４に示すように、世代番号欄２９Ａ、ファイル名欄２９Ｂ及びジョブ番号欄２９Ｃから構成されるテーブル２９が記録されている。
【００３５】
そして、かかるテーブル２９の世代番号欄２９Ａには、対応する世代に付与された番号（世代番号）が格納される。本実施の形態の場合、世代番号は、最新世代に「１」が付与され、それよりも前の世代には１世代古くなるごとに最新世代の世代番号に「１」を順次加算した値が付与される。またファイル名欄２９Ｂには、対応する世代の処理結果が記録された世代ファイル２７に付与されたファイル名が格納され、ジョブ番号欄２９Ｃには、対応する世代のジョブ処理に対して付与されたジョブ番号が格納される。
【００３６】
かくして実行制御部２４は、図５に示すように、クライアント側スケジューラ１７から通知されたジョブ番号を世代管理ファイル２８上で検索し（ＳＰ１）、かかるジョブ番号を検出できなかった場合（つまり、そのジョブ番号に対応する世代ファイル２７が存在しない場合）には、そのジョブが再実行でないと判断して、その世代の世代ファイル２７を作成し、作成した世代ファイル２７を記憶装置２２に格納すると共に（ＳＰ２）、対応するプログラム２５を起動する（ＳＰ３）。
【００３７】
この結果、実行制御部２４に起動されたプログラム２５は、対応するバッチ処理を実行し、その処理結果を上述のように新たに作成された世代ファイル２７に記録する（ＳＰ４）。また、そのプログラム２５は、バッチ処理が終了すると、その旨のコード（以下、これをジョブ終了コードと呼ぶ）を実行制御部２４に送信する（ＳＰ５）。
【００３８】
かくして実行制御部２４は、かかるジョブ終了コードを受信すると、世代管理ファイル２８を更新すると共に（ＳＰ６）、当該ジョブ終了コードをサーバ側スケジューラ２３（図２）を介してクライアント側スケジューラ１７（図２）に送信する（ＳＰ７）。
【００３９】
これに対して実行制御部２４は、世代管理ファイル２８上でクライアント側スケジューラ１７から通知されたジョブ番号を検出した場合（つまり、そのジョブ番号に対応する世代ファイル２７が既に存在する場合）には、そのジョブが再実行であると判断して、その場合の動作としてジョブ定義ファイル２６に定義された動作（「上書き」、「退避」又は「中止」）を実行する。
【００４０】
例えば、かかる動作として「上書き」又は「退避」がジョブ定義ファイル２６上で定義されている場合、実行制御部２４は、図６に示すように、世代管理ファイル２８上でクライアント側スケジューラ１７から通知されたジョブ番号を検出すると（ＳＰ１０）、かかる動作が「上書き」である場合には、そのジョブ番号に対応する世代ファイル２７を記憶装置２２から削除した後に、当該ジョブ番号の世代に対応する新たな世代ファイル２７を作成して記憶装置２２に格納し、かかる動作が「退避」である場合には、記憶装置２２に格納されているそのジョブ番号に対応する世代ファイル２７を退避した後に、そのジョブ番号の世代に対応する新たな世代ファイル２７を作成して記憶装置２２に格納する（ＳＰ１１）。また実行制御部２４は、この後、対応するプログラム２５を起動する（ＳＰ１２）。
【００４１】
この結果、実行制御部２４に起動されたプログラム２５は、対応するバッチ処理を実行し、その処理結果を上述のように新たに作成された世代ファイル２７に記録する（ＳＰ１３）。また、そのプログラム２５は、バッチ処理が終了すると、その旨のコード（以下、これをジョブ終了コードと呼ぶ）を実行制御部２４に送信する（ＳＰ１４）。
【００４２】
かくして実行制御部２４は、かかるジョブ終了コードを受信すると、世代管理ファイル２８を更新すると共に（ＳＰ１５）、当該ジョブ終了コードをサーバ側スケジューラ２３を介してクライアント側スケジューラ１７に送信する（ＳＰ１６）。
【００４３】
これに対して、かかる動作として「中止」がジョブ定義ファイル２６上で定義されている場合、実行制御部２４は、図７に示すように、世代管理ファイル２８上でクライアント側スケジューラ１７から通知されたジョブ番号を検出すると（ＳＰ２０）、その旨のジョブ終了コードをサーバ側スケジューラ２３を介してクライアント側スケジューラ１７に送信する（ＳＰ２１）。
【００４４】
なお本実施の形態の情報処理システム１には、上述のように既に世代ファイル２７がバッチサーバ４の記憶装置２２に格納されているジョブを再実行する際のバッチサーバ４の動作を、その都度ユーザが指定する機能（以下、これをユーザ応答機能と呼ぶ）も搭載されている。
【００４５】
実際上、バッチサーバ４の実行制御部２４は、かかるユーザ応答機能がオン設定されている場合において、世代管理ファイル２８上でクライアント側スケジューラ１７から通知されたジョブ番号を検出した場合、その旨のメッセージ（以下、これを応答要求メッセージと呼ぶ）をサーバ側スケジューラ２３を介してクライアント装置３に送信する。
【００４６】
そして、この応答要求メッセージを受信したクライアント装置３のクライアント側スケジューラ１７は、この後のバッチサーバ４の動作として、「上書き」、「退避」及び「中止」のうちのいずれの動作を実行すべきかをユーザに確認するための図９及び図１０について後述する第１の動作確認ウインド４０や第２の動作確認ウインド５０を表示装置１５（図１）に表示する。そしてクライアント側スケジューラ１７は、この第１の動作確認ウインド４０や第２の動作確認ウインド５０を用いてユーザによりそのときバッチサーバ４が実行すべき動作が指定されると、指定された動作を示すメッセージ（以下、これを応答メッセージと呼ぶ）をバッチサーバ４に送信する。
【００４７】
かくしてこの応答メッセージは、バッチサーバ４において、サーバ側スケジューラ２３を介して実行制御部２４に与えられる。そして、この応答メッセージを受信した実行制御部２４は、かかる動作が「上書き」又は「退避」であった場合には、図６について上述した一連の処理のステップＳＰ１１以降の処理を実行し、かかる動作が「中止」であった場合には、図７について上述した一連の処理のステップＳＰ２１以降の処理を実行する。
【００４８】
本実施の形態の場合、かかるユーザ応答機能に基づく処理を実行するか否かはジョブ定義ファイル２６に定義される。
【００４９】
（２）クライアント装置に表示される各種画面
図８は、本実施の形態の情報処理システム１において、バッチサーバ４が一連のジョブからなる処理を実行している場合にクライアント装置３の表示装置１５に表示されるジョブネット画面３０の構成を示す。
【００５０】
この図８に示すように、ジョブネット画面３０では、画面名表示バー３１及びツールバー３２が画面上部に設けられており、ツールバー３２の下左側にジョブグループ名表示部３３、下右側にジョブネット表示部３４がそれぞれ設けられている。
【００５１】
そしてジョブグループ名表示部３３には、そのときバッチサーバ４において実行されている一連のジョブからなるジョブグループに付与された名称（ジョブグループ名）が表示される。
【００５２】
また、ジョブネット表示部３４には、そのジョブグループに属する各ジョブにそれぞれ対応させて、これらジョブのジョブ名がそれぞれ表示されたマーク（以下、これをジョブマークと呼ぶ）３５がその実行順に左から右に向けて並べて表示されると共に、各ジョブマーク３５間には、右側に向けられた矢印３６が表示される。
【００５３】
そしてジョブネット表示部３４では、処理が完了したジョブに対応するジョブマーク３５や、処理が中止又は停止されたジョブに対応するジョブマーク３５の色が、処理が完了していないジョブに対応するジョブマーク３５とは異なる色に着色されて表示される。
【００５４】
さらにジョブグループ名表示部３３及びジョブネット表示部３４の下側には、ジョブ詳細一覧３７が表示される。このジョブ詳細一覧３７は、ユニット名欄３７Ａ、コメント欄３７Ｂ、種別欄３７Ｃ、状態欄３７Ｄ及び遅延状態欄３７Ｅ等を備えており、そのとき対象としているジョブグループ（ジョブグループ名表示部３３にグループ名が表示されたジョブグループ）に属する各ジョブのジョブ名がユニット名欄３７Ａにそれぞれ表示される。
【００５５】
またコメント欄３７Ｂには、予め入力された対応するジョブに関する情報（例えば世代ファイル２７を出力するジョブの場合には「世代ファイル出力」）が表示され、種別欄３７Ｃには、対応するジョブの種別が表示される。さらに状態欄３７Ｄには、対応するジョブの状態（「正常終了」、「停止」又は「待ち」等）が表示され、遅延状態欄３７Ｅには、対応するジョブの遅延状態に関する情報が表示される。
【００５６】
従って、図８の例の場合、そのときバッチサーバ４が実行しているジョブグループは「ジョブグループＡ」であり、その「ジョブグループＡ」は「ジョブＡ」、「ジョブＢ」、「ジョブＣ」及び「ジョブＤ」の４つのジョブから構成され、このうち「ジョブＣ」が完了した段階で世代ファイル２７が出力される（「世代ファイル出力」）されることが示されている。また図８では、かかる「ジョブＡ」〜「ジョブＤ」のうちの「ジョブＡ」及び「ジョブＢ」は既に処理が正常に終了（「正常終了」）しているが、「ジョブＣ」が「停止」している状態にあることが示されている。
【００５７】
なお図８は、ジョブ定義ファイル２６においてユーザ応答機能がオン設定されており、かつ、「ジョブＣ」を実行する際、対応する世代の世代ファイル２７が既に存在することが確認された場合のジョブネット画面３０の表示例を示している。この場合、クライアント装置３の表示装置１５には、かかるジョブネット画面３０に重ねて図９に示すような第１の動作確認ウインド４０が表示される。
【００５８】
この第１の動作確認ウインド４０では、停止状態にあるジョブに対応する世代ファイル２７が既に存在するというメッセージ（「ジョブ番号××××に対応する世代ファイルは既に存在します。」）と、そのジョブを続行するか否かを問い合わせるメッセージ（「続行しますか。」）とが表示されると共に、そのジョブのジョブ番号及び既存の世代ファイルのファイル名が併せて表示される。
【００５９】
また第１の動作確認ウインド４０では、続行ボタン４１及び中止ボタン４２が表示される。そしてユーザは、中止ボタン４２をクリックすることによって、その後のバッチサーバ４の動作として「中止」を指定することができ、続行ボタン４１をクリックすることによって、その後のバッチサーバ４の動作として「続行」（つまり「上書き」又は「退避」）を指定することができる。そして、続行ボタン４１をクリックした場合、第１の動作確認ウインド４０に代えて、図１０に示すような第２の動作確認ウインド５０がジョブネット画面３０に重ねて表示される。
【００６０】
この第２の動作確認ウインド５０では、かかるジョブを続行するに際して、当該ジョブの処理結果を既存の対応する世代ファイルに上書きするか、又は、既存の世代ファイルを退避させて新たな世代ファイルに書き込むかを問い合わせるメッセージ（「ジョブ番号××××に対応する世代ファイルを上書きしますか？退避して新規作成しますか？」）が表示されると共に、そのジョブのジョブ番号及び既存の世代ファイルのファイル名が併せて表示される。
【００６１】
また第２の動作確認ウインド５０では、上書きボタン５１及び退避ボタン５２が表示される。そしてユーザは、上書きボタン５１をクリックすることによって、その後のバッチサーバ４の動作として「上書き」を指定することができ、退避ボタン５２をクリックすることによって、その後のバッチサーバ４の動作として「退避」を指定することができる。
【００６２】
（３）バッチ処理に関する各種処理
次に、上述のようなバッチ処理に関連して実行される各種処理の具体的な処理内容について説明する。なお以下においては、「プログラム」を各種処理の処理主体として説明するが、その処理は、その「プログラム」に基づいてクライアント装置３のＣＰＵ１１や、バッチサーバ４のＣＰＵ２０がその処理を実行することは言うまでもない。
【００６３】
（３−１）クライアント側スケジューラの処理
図１１は、クライアント側スケジューラ１７（図２）により実行されるジョブ起動処理の処理手順を示す。以下においては、図８について上述したジョブネット画面３０を表示するための処理については省略する。
【００６４】
クライアント側スケジューラ１７は、ジョブ管理テーブル１６（図３）に登録されたいずれかのジョブの実行日時になると、この図１１に示すジョブ起動処理を開始し、まず、そのジョブのジョブ番号をジョブ管理テーブル１６から読み出し、読み出したジョブ番号をジョブ起動要求と共にバッチサーバ４に送信する（ＳＰ３０）。
【００６５】
続いて、クライアント側スケジューラ１７は、バッチサーバ４からジョブ終了コード又は応答要求メッセージが送信されてくるのを待ち受ける（ＳＰ３１，ＳＰ３２）。そしてクライアント側スケジューラ１７は、かかる応答要求メッセージを受信すると（ＳＰ３２：ＹＥＳ）、図９について上述した第１の動作確認ウインド４０や、必要に応じて図１０について上述した第２の動作確認ウインド５０を表示装置１５（図１）に表示させてユーザからの操作入力を受け付ける（ＳＰ３３）。
【００６６】
次いで、クライアント側スケジューラ１７は、ユーザにより第１の動作確認ウインド４０や第２の動作確認ウインド５０を用いてバッチサーバ４の動作が指定されると、指定されたバッチサーバ４の動作を応答メッセージとしてバッチサーバ４に送信し（ＳＰ３４）、この後、ステップＳＰ３１に戻る。
【００６７】
またクライアント側スケジューラ１７は、やがてバッチサーバ４からのジョブ終了コードを受信すると（ＳＰ３１：ＹＥＳ）、このジョブ起動処理を終了する。
【００６８】
（３−２）サーバ側スケジューラの処理
一方、図１２は、クライアント側スケジューラ１７からのジョブ起動要求及びジョブ番号を受信したバッチサーバ４のサーバ側スケジューラ２３（図２）により実行されるジョブ管理処理の処理手順を示す。
【００６９】
サーバ側スケジューラ２３は、かかるジョブ起動要求及びジョブ番号を受信すると、この図１２に示すジョブ管理処理を開始し、まず、受信したジョブ起動要求及びジョブ番号を実行制御部２４に転送する（ＳＰ４０）。
【００７０】
続いて、サーバ側スケジューラ２３は、実行制御部２４からジョブ終了コード又は応答要求メッセージが送信されてくるのを待ち受ける（ＳＰ４１，ＳＰ４２）。そしてサーバ側スケジューラ２３は、実行制御部２４からの応答要求メッセージを受信すると（ＳＰ４２：ＹＥＳ）、その応答要求メッセージをクライアント装置３に転送する（ＳＰ４３）。
【００７１】
続いて、サーバ側スケジューラ２３は、かかる応答要求メッセージに対する上述の応答メッセージ（図１１のステップＳＰ３４）がクライアント装置３から送信されてくるのを待ち受ける（ＳＰ４４）。そしてサーバ側スケジューラ２３は、やがてこの応答メッセージを受信すると（ＳＰ４４：ＹＥＳ）、この応答メッセージを実行制御部２４に転送し（ＳＰ４５）、この後ステップＳＰ４１に戻る。
【００７２】
そしてサーバ側スケジューラ２３は、やがて実行制御部２４からのジョブ終了コードを受信すると（ＳＰ４１：ＹＥＳ）、受信したジョブ終了コードをクライアント装置３のクライアント側スケジューラ１７に転送し（ＳＰ４６）、この後、このジョブ管理処理を終了する。
【００７３】
（３−３）実行制御部の処理
他方、図１３Ａ及び図１３Ｂは、サーバ側スケジューラ２３からのジョブ起動要求及びジョブ番号を受信した実行制御部２４により実行されるジョブ実行制御処理の処理手順を示す。
【００７４】
実行制御部２４は、かかるジョブ起動要求及びジョブ番号を受信すると、この図１３Ａ及び図１３Ｂに示すジョブ実行制御処理を開始し、まず、ジョブ定義ファイル２６を読み込み（ＳＰ５１）、読み込んだジョブ定義ファイル２６に基づいて、バッチ処理の処理結果を出力する世代ファイルと、当該世代ファイルが存在する場合の動作（上書き、退避若しくは中止又はユーザ応答）とを決定する（ＳＰ５２）。
【００７５】
続いて、実行制御部２４は、世代管理ファイル２８（図４）を読み込み（ＳＰ５３）、サーバ側スケジューラ２３から通知されたジョブ番号を世代管理ファイル２８上で検索する（ＳＰ５４）。そして実行制御部２４は、この検索結果に基づいて、サーバ側スケジューラ２３から通知されたジョブ番号に対応する世代ファイル２７が既に存在するか否かを判断する（ＳＰ５５）。
【００７６】
実行制御部２４は、この判断で否定結果を得ると、サーバ側スケジューラ２３から通知されたジョブ番号に対応する世代ファイル２７のファイル名を当該ジョブ番号に基づいて決定し（ＳＰ６３）、決定したファイル名の世代ファイル２７を作成する（ＳＰ６４）。
【００７７】
また実行制御部２４は、サーバ側スケジューラ２３からのジョブ起動要求に従って、対応するプログラム２５を起動し（ＳＰ６５）、この後、そのプログラム２５からのジョブ終了コードを受信するのを待ち受ける（ＳＰ６６）。かくして、このとき起動されたプログラム２５は、対応するジョブを実行し、かかるジョブが終了すると、その処理結果をステップＳＰ６４で作成された世代ファイル２７に記録すると共に、実行制御部２４にジョブ終了コードを送信する。
【００７８】
そして実行制御部２４は、プログラム２５からのジョブ終了コードを受信すると、ステップＳＰ６４で作成した世代ファイル２７を世代管理ファイル２８に新規登録し、その世代ファイル２７の世代番号を「１」とし、その世代ファイル２７よりも古い世代の世代ファイル２７の世代番号をそれぞれ「１」ずつ大きな値にずらすように世代管理ファイル２８を更新し、対応する世代のジョブ処理に対して付与されたジョブ番号を登録する（ＳＰ６７）。
【００７９】
次いで、実行制御部２４は、ステップＳＰ６６において受信したプログラム２５からのジョブ終了コードをサーバ側スケジューラ２３に転送し（ＳＰ６８）、この後、このジョブ実行制御処理を終了する。
【００８０】
一方、実行制御部２４は、ステップＳＰ５５の判断で肯定結果を得た場合、ステップＳＰ５０において読み込んだジョブ定義ファイル２６を参照して、ユーザ応答機能がオン設定されているか否かを判断する（ＳＰ５６）。
【００８１】
そして実行制御部２４は、この判断で肯定結果を得ると、サーバ側スケジューラ２３に応答要求メッセージを送信し（ＳＰ５７）、この後、クライアント側スケジューラ１７からの応答メッセージを受信するのを待ち受ける（ＳＰ５８）。
【００８２】
そして実行制御部２４は、やがてクライアント側スケジューラ１７からの応答メッセージを受信すると（ＳＰ５８：ＹＥＳ）、応答メッセージにおいて指定された動作が「上書き」又は「退避」のいずれかであるか否かを判断する（ＳＰ５９）。
【００８３】
この判断で否定結果を得ることは、応答メッセージにおいて指定された動作が「中止」であったことを意味する。かくして、このとき実行制御部２４は、対応するジョブを中止した旨のジョブ終了コードをサーバ側スケジューラ２３に送信し（ＳＰ６８）、この後、このジョブ実行制御処理を終了する。この結果、この場合には、対応するジョブを中止した旨のメッセージがクライアント装置３の表示装置１５に表示される。
【００８４】
これに対して、実行制御部２４は、ステップＳＰ５９の判断で肯定結果を得ると、ステップＳＰ５８で受信した応答メッセージに基づいて、ユーザが指定した動作が「上書き」であるか否かを判断する（ＳＰ６０）。
【００８５】
そして実行制御部２４は、この判断で肯定結果を得ると、そのとき記憶装置２２（図２）に格納されている、クライアント側スケジューラ１７から通知されたジョブ番号に対応する世代ファイル２７を削除する（ＳＰ６１）。そして実行制御部２４は、この後、ステップＳＰ６３以降を上述のように処理し、この後、このジョブ実行制御処理を終了する。
【００８６】
これに対してステップＳＰ６０の判断で否定結果を得ることは、ユーザが指定した動作が「退避」であったことを意味する。かくして、このとき実行制御部２４は、そのとき記憶装置２２に格納されている、クライアント側スケジューラ１７から通知されたジョブ番号と、対応する世代ファイル２７を当該ジョブ番号から切り離す（ＳＰ６２）。具体的に、実行制御部２４は、かかる世代ファイル２７のファイル名を変更すると共に、世代管理ファイル２８におけるその世代ファイル２７に対応するエントリ（行）を削除する。そして実行制御部２４は、この後、ステップＳＰ６３以降を上述のように処理し、この後、このジョブ実行制御処理を終了する。
【００８７】
他方、実行制御部２４は、ステップＳＰ５６の判断で否定結果を得ると、クライアント側スケジューラ１７から通知されたジョブ番号と対応付けられた世代ファイル２７が既に存在する場合の動作としてジョブ定義ファイル２６において設定されている動作が「上書き」又は「退避」のいずれかであるか否かを判断する（ＳＰ５９）。
【００８８】
そして実行制御部２４は、この判断で否定結果を得ると、対応するジョブを中止した旨のジョブ終了コードをサーバ側スケジューラ２３に送信し（ＳＰ６８）、この後、このジョブ実行制御処理を終了する。この結果、この場合には、対応するジョブを中止した旨のメッセージがクライアント装置３の表示装置１５に表示される。
【００８９】
これに対して、実行制御部２４は、ステップＳＰ５９の判断で肯定結果を得ると、クライアント側スケジューラ１７から通知されたジョブ番号と対応付けられた世代ファイル２７が既に存在する場合の動作としてジョブ定義ファイル２６において設定されている動作が「上書き」であるか否かを判断する（ＳＰ６０）。
【００９０】
そして実行制御部２４は、この判断で肯定結果を得ると、そのとき記憶装置２２（図２）に格納されている、クライアント側スケジューラ１７から通知されたジョブ番号に対応する世代ファイル２７を削除する（ＳＰ６１）。そして実行制御部２４は、この後、ステップＳＰ６３以降を上述のように処理し、この後、このジョブ実行制御処理を終了する。
【００９１】
これに対してステップＳＰ６０の判断で否定結果を得ることは、ユーザが指定した動作が「退避」であったことを意味する。かくして、このとき実行制御部２４は、そのとき記憶装置２２に格納されている、クライアント側スケジューラ１７から通知されたジョブ番号に対応する世代ファイル２７を当該ジョブ番号から切り離す（ＳＰ６２）。そして実行制御部２４は、この後、ステップＳＰ６３以降を上述のように処理し、この後、このジョブ実行制御処理を終了する。
【００９２】
（４）本実施の形態の効果
以上のように本実施の形態の情報処理システム１では、バッチサーバ４において、各ジョブにそれぞれ付与されたジョブ番号と、ジョブにより作成された世代ファイル２７とを対応付けて管理し、ジョブを実行する際に当該ジョブに付与されたジョブ番号と対応付けられた世代ファイル２７が既に作成されているか否かを判定し、当該世代ファイル２７が既に存在する場合には、ジョブ定義ファイル２６において予め定義され、又は、ユーザにより指定された動作を実行する。
【００９３】
従って、本情報処理システム１によれば、ジョブの再実行により新たな世代ファイル２７が無条件に作成されるのを防止することができ、ジョブエラーに伴う不当な世代ファイルの後処理やジョブ実行計画の修正のコストをなくして、一連のジョブからなる処理の完了までの時間を短縮させることができる。
【００９４】
（５）他の実施の形態
なお上述の実施の形態においては、登録されたジョブを管理するジョブ管理部としての機能をクライアント装置３に搭載し、ジョブ管理部（クライアント装置３）からのジョブの実行要求に基づいて、指定されたジョブを実行するジョブ実行部としての機能をバッチサーバ４に搭載するようにした場合について述べたが、本発明はこれに限らず、かかるジョブ管理部としての機能及びジョブ実行部としての機能のすべてをバッチサーバ４に搭載するようにしても良い。
【００９５】
また上述の実施の形態においては、ジョブの実行時に対応するジョブ番号と対応付けられた世代ファイルが存在する場合の動作として、「上書き」、「退避」及び「中止」の３つの動作を適用するようにした場合について述べたが、本発明はこれに限らず、これらに加えて又は代えてこれら以外の動作を適用するようにしても良い。
【００９６】
さらに上述の実施の形態においては、個々のジョブに対して識別子として番号（ジョブ番号）を付与するようにした場合について述べたが、本発明はこれに限らず、番号（ジョブ番号）に代えて、例えばアルファベットをジョブごとの識別子として適用したり、アルファベット及び番号を組み合わせたものをジョブごとの識別子として適用するようにしても良い。
【符号の説明】
【００９７】
１……情報処理システム、３……クライアント装置、４……バッチサーバ、１１，２０……ＣＰＵ、１２，２１……メモリ、１３，２２……記憶装置、１６……ジョブ管理テーブル、１７……クライアント側スケジューラ、２３……サーバ側スケジューラ、２４……実行制御部、２５……プログラム、２６……ジョブ定義ファイル、２７……世代ファイル、２８……世代管理ファイル、３０……ジョブネット画面、４０，５０……動作確認ウインド。
【図１】
0005967791.tif 000002
【図２】
0005967791.tif 000003
【図３】
0005967791.tif 000004
【図４】
0005967791.tif 000005
【図５】
0005967791.tif 000006
【図６】
0005967791.tif 000007
【図７】
0005967791.tif 000008
【図８】
0005967791.tif 000009
【図９】
0005967791.tif 000010
【図１０】
0005967791.tif 000011
【図１１】
0005967791.tif 000012
【図１２】
0005967791.tif 000013
【図１３Ａ】
0005967791.tif 000014
【図１３Ｂ】
0005967791.tif 000015