(57)【要約】【課題】管理ホスト装置がダウンした場合に、実行完了したジョブの情報を基に、迅速にリカバリを出来るようにすること。【解決手段】複数のジョブのスケジュールを管理する管理ホスト装置と接続する情報処理装置であって、前記複数のジョブを実行し、実行完了した前記複数のジョブそれぞれに実行完了した順に通し番号を割り当て、前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを履歴データに書き込む。【選択図】図１
2018028739.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブのスケジュールを管理する管理ホスト装置と接続する情報処理装置であって、
前記複数のジョブを実行する実行部と、
実行完了した前記複数のジョブそれぞれに実行完了した順に通し番号を割り当てる採番部と、
前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを履歴データに書き込む送信部と、
前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記履歴データを記憶する記憶部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記管理ホスト装置から前記管理ホスト装置が最後に受信した完了情報に含まれる前記通し番号である最終通番を受信し、前記最終通番に基づいて、前記複数のレコードから１以上のレコードを読み出し、前記読み出したレコードに含まれるジョブの識別情報と通し番号とを前記管理ホスト装置に送信するリカバリ制御部をさらに備えることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記リカバリ制御部は、前記複数のレコードのうち、前記最終通番より大きい通し番号を含むレコードを読み出すことを特徴とする請求項２記載の情報処理装置。
【請求項４】
複数のジョブのスケジュールを管理する管理ホスト装置と前記複数のジョブを実行する実行ホスト装置を備える情報処理システムであって、
前記複数のジョブを実行する実行部と、
実行完了した前記複数のジョブそれぞれに実行完了した順に通し番号を割り当てる採番部と、
前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを第１の履歴データに書き込む送信部と、
実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記第１の履歴データを記憶する第１の記憶部と、
を備え、
前記管理ホスト装置は、
最後に受信した完了情報に含まれる前記通し番号を最終通番として記憶する第２の記憶部と、
前記完了情報を受信し、前記完了情報に含まれるジョブの識別情報と通し番号とを含むレコードを第２の履歴データに書き込み、前記完了情報に含まれる前記通し番号で前記最終通番を更新する受信部と、
前記複数のジョブの識別情報と前記複数のジョブの状態を含む管理データベースと、前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記第２の履歴データを記憶する第３の記憶部と、
前記完了情報に基づいて前記管理データベースを更新するスケジューラ部と、
を備えることを特徴とする情報処理システム。
【請求項５】
複数のジョブのスケジュールを管理する管理ホスト装置と前記複数のジョブを実行する実行ホスト装置を備える情報処理システムが実行する情報処理方法であって、
前記実行ホスト装置は、
前記複数のジョブを実行し、
実行完了した前記複数のジョブそれぞれに実行完了した順に前記通し番号を割り当て、
前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、
前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを第１の履歴データに書き込み、
前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記第１の履歴データを記憶する第１の記憶部を備え、
前記管理ホスト装置は、
前記完了情報を受信し、
前記完了情報に含まれるジョブの識別情報と前記通し番号とを含むレコードを第２の履歴データに書き込み、
前記完了情報に含まれる前記通し番号で最終通番を更新し、
前記完了情報に基づいて前記管理データベースを更新し、
最後に受信した完了情報に含まれる通し番号を前記最終通番として記憶する第２の記憶部と、前記複数のジョブの識別情報と前記複数のジョブの状態を含む管理データベースと、前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記第２の履歴データを記憶する第３の記憶部と、を備えることを特徴とする情報処理方法。
【請求項６】
複数のジョブのスケジュールを管理する管理ホスト装置と接続するコンピュータに、
前記複数のジョブを実行し、
実行完了した前記複数のジョブそれぞれに実行完了した順に通し番号を割り当て、
前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、
前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを履歴データに書き込む
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
複数のホスト（管理ホスト、実行ホスト）でバッチジョブを分散して運用し、ジョブの実行状況を管理ホスト配下の管理データベース（ＤＢ）に記録するジョブスケジューリングシステムがある。ジョブスケジューリングシステムにおいて、管理ホストがダウンした場合、実行ホストでのジョブの実行状況を把握できず、管理ＤＢとジョブの実行の実態が合わなくなる。
【０００３】
管理ホストの復旧後のリカバリとして、管理ホストのダウン中に実行されたジョブの実行状況を、スケジュール順に従い後続ジョブを実行するため順序性を守った上で管理ＤＢに反映する（最新化）。
【０００４】
多重化された計算機システムにおいて、復旧中の計算機は、通常稼働中の計算機からタスクの動作状態を受信し、通常稼働中の計算機の動作状態と復旧中の計算機の動作状態を一致させる技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２５７２４３号公報
【特許文献２】特開平６−４４１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
管理ホストのリカバリにおいて、実行ホストでの大量のログの解析や管理ホストと実行ホスト間の大量のデータ転送などにより、迅速なリカバリが困難になる場合がある。
【０００７】
本発明は、管理ホスト装置がダウンした場合に、実行完了したジョブの情報を基に、迅速にリカバリを出来るようにすることである。
【課題を解決するための手段】
【０００８】
実施の形態に係る情報処理装置は、複数のジョブのスケジュールを管理する管理ホスト装置と接続する。前記情報処理装置は、実行部、採番部、送信部、および記憶部を備える。
【０００９】
前記実行部は、前記複数のジョブを実行する。
前記採番部は、実行完了した前記複数のジョブそれぞれに実行完了した順に通し番号を割り当てる。
【００１０】
前記送信部は、前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを履歴データに書き込む。
【００１１】
前記記憶部は、前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記履歴データを記憶する。
【発明の効果】
【００１２】
実施の形態に係る情報処理装置によれば、管理ホスト装置がダウンした場合に、実行完了したジョブの情報を基に、迅速にリカバリをすることが出来る。
【図面の簡単な説明】
【００１３】
【図１】実施の形態に係るシステムの構成図である。
【図２】管理ＤＢの例を示す図である。
【図３】管理ホストの履歴データの例を示す図である。
【図４】実行ホストの履歴データの例を示す図である。
【図５】実施の形態に係るジョブ管理処理のフローチャートである。
【図６】実施の形態に係るジョブ管理処理の例を説明する図である。
【図７】実施の形態に係るリカバリ処理のフローチャートである。
【図８】実施の形態に係るリカバリ処理の例を説明する図である。
【図９】情報処理装置（コンピュータ）の構成図である。
【発明を実施するための形態】
【００１４】
管理ＤＢを最新化する方法として、（１）管理ＤＢを共用ボリューム（外部記憶装置）に配置し、最新状態の管理ＤＢを管理ホストと実行ホストとで共有する方法がある。しかしながら、管理ＤＢを共有する方法において、管理ホストと実行ホストと共用ボリュームのそれぞれの間の距離には制限があるため、管理ホストと実行ホストと共用ボリュームを物理的に接続不可能な可能性がある。また、管理ホストと実行ホストと共用ボリュームとを遠隔（リモート）接続する場合、遠隔接続するための装置が必要となり、コストが増加するという問題がある。
【００１５】
上記問題を回避する管理ＤＢを最新化する他の方法として、（２）実行ホストのログを解析して管理ＤＢに反映する方法がある。（２）の方法では、管理ホストの管理ＤＢ上で未完了となっているジョブを検出し、検出したジョブのジョブ名をキーにして実行ホストのログを解析する。そして、ログの解析の結果明らかになった実行ホストで完了しているジョブのうち管理ホストの管理ＤＢ上で未完了となっているジョブを完了順にソートし、管理ＤＢへ反映する。
【００１６】
しかしながら、実行ホストのログを解析して管理ＤＢに反映する方法では、管理ＤＢとログの両方のデータを解析し、ジョブを完了順にソートする処理が必要となるため、処理が煩雑であり復旧までに時間がかかる。具体的には、数千〜数万単位の大量のジョブの完了状態を解析し、その情報を複数のホスト間でやりとりする場合もあるため、解析そのものに時間がかかる。また、大量の解析データの転送にも時間がかかるので、迅速なリカバリが困難である。
【００１７】
以下、図面を参照しながら実施の形態について説明する。
図１は、実施の形態に係るシステムの構成図である。
【００１８】
システム１０１は、管理ホスト２０１および実行ホスト３０１を備える。管理ホスト２０１と実行ホスト３０１は、Local Area Network（ＬＡＮ）やWide Area Network（ＷＡＮ）等のネットワーク４０１を介して接続している。尚、管理ホスト２０１および実行ホスト３０１は、物理ホストまたは仮想ホストのいずれでもよい。
【００１９】
管理ホスト２０１は、システム１０１で実行されるジョブを管理する。ジョブは、システム１０１において、スケジューリング管理の対象となるものである。ジョブは、例えば、プログラムやコマンド等である。
【００２０】
管理ホスト２０１は、ジョブスケジューラ部２１１、コマンド部２２１、エージェント部２３１、通信部２４１、記憶部２５１、および最終通番記憶部２６１を備える。管理ホスト２０１は、例えば、サーバやパーソナルコンピュータ（ＰＣ）等のコンピュータである。管理ホスト２０１は、情報処理装置の一例である。
【００２１】
ジョブスケジューラ部２１１は、管理ＤＢ２７１を参照し、設定されたスケジュールに基づいて、ジョブを投入する。
【００２２】
コマンド部２２１は、エージェント部２３１にリカバリを行うコマンド等を入力する。
エージェント部２３１は、イベント受信部２３２、リカバリ制御部２３３、および起動部２３４を備える。
【００２３】
イベント受信部２３２は、イベント送信部３３３からジョブの完了を示すジョブ完了情報を受信する。イベント受信部２３２は、ジョブ完了情報に基づいて、履歴データ２８１を更新する。
【００２４】
リカバリ制御部２３３は、最終通番記憶部２６１から最終通番を読み出し、実行ホスト３０１に送信する。
【００２５】
起動部２３４は、エージェント部２３１が停止および再起動した場合に、履歴データ２８１の最終レコードの通し番号を取得し、取得した通し番号を最終通番として最終通番記憶部２６１に記憶する。
【００２６】
通信部２４１は、実行ホスト３０１へのデータの送信や実行ホスト３０１からのデータの受信等の通信の制御を行う。
【００２７】
記憶部２５１は、管理ホスト２０１で使用されるデータやプログラム等を記憶する。記憶部２５１は、管理データベース（ＤＢ）２７１および履歴データ２８１を記憶する。
【００２８】
管理ＤＢ２７１には、管理ホスト２０１がスケジュール管理するジョブに関する情報が記載されており、ジョブの状態およびジョブの完了時刻や実行予定時刻などの情報を含む。
【００２９】
履歴データ２８１は、実行ホスト３０１において完了したジョブに関する情報である。尚、履歴データ２８１の詳細については後述する。
【００３０】
最終通番記憶部２６１は、受信したジョブ完了情報に含まれる通し番号を最終通番として記憶する。最終通番は、ジョブ完了情報が受信されるごとに更新される。すなわち、最終通番は、管理ホスト２０１が最後に受信したジョブ完了情報に含まれる通し番号である。尚、最終通番記憶部２６１は、記憶部２５１と同じ記憶装置であってもよい。
【００３１】
実行ホストは３０１、ジョブ実行部３１１、エージェント部３３１、通信部３４１、および記憶部３５１を備える。実行ホスト３０１は、例えば、サーバやＰＣ等のコンピュータである。実行ホスト３０１は、情報処理装置の一例である。尚、実行ホスト３０１の数は、複数でもよく、その場合、管理ホスト２０１には複数の実行ホスト３０１のそれぞれに対応する複数の履歴データ２８１が用意される。また、実行ホスト３０１の数が複数の場合、最終通番記憶部２６１は、複数の実行ホスト３０１それぞれに対応する複数の最終通番を記憶する。
【００３２】
ジョブ実行部３１１は、ジョブを実行する。ジョブ実行部３１１は、ジョブイベント認識部３１２を含む。
【００３３】
ジョブイベント認識部３１２は、ジョブイベントを検出し、イベント送信部３３３にジョブイベントを通知する。ジョブイベントは、例えば、ジョブの開始またはジョブの完了である。
【００３４】
エージェント部３３１は、採番部３３２、イベント送信部３３３、およびリカバリ制御部３３４を含む。
【００３５】
採番部３３２は、完了したジョブに通し番号を割り当てる。通し番号は、初期値が１で、１ずつ増加する番号である。言い換えれば、採番部３３２は、実行ホスト３０１で完了したジョブの数をカウントし、何番目に完了したジョブであるかを示す値を通し番号として、完了したジョブに割り当てる。
【００３６】
イベント送信部３３３は、ジョブが完了したことを示すジョブ完了情報を通信部３４１を介してイベント受信部２３２に送信する。
【００３７】
リカバリ制御部３３４は、管理ホスト２０１から最終通番を受信し、最終通番に基づいて、履歴データ３８１のレコードを読み出す。
【００３８】
通信部３４１は、管理ホスト２０１へのデータの送信や管理ホスト２０１からのデータの受信等の通信の制御を行う。
【００３９】
記憶部３５１は、実行ホスト３０１で使用されるデータやプログラム等を記憶する。記憶部３５１は、履歴データ３８１を記憶する。
【００４０】
履歴データ３８１は、実行ホスト３０１において完了したジョブに関する情報である。尚、履歴データ３８１の詳細については後述する。
【００４１】
図２は、管理ＤＢの例を示す図である。
管理ＤＢ２７１は、項目として、ジョブ名、状態、日付、および時刻を含む。管理ＤＢ２７１には、ジョブ名、状態、日付、および時刻が対応付けられて記載されている。
【００４２】
ジョブ名は、ジョブを識別する情報であり、ジョブの名前である。ジョブ名は、識別情報の一例である。以下、ジョブ名＝ＡであるジョブをジョブＡと表記する場合がある。例えば、ジョブ名＝JOB_a、JOB_b、JOB_c、JOB_dであるジョブは、それぞれジョブJOB_a、ジョブJOB_b、ジョブJOB_c、ジョブJOB_dと表記する場合がある。
【００４３】
状態は、ジョブの状態を示す。「完了」はジョブが完了していることを示し、「実行中」はジョブが実行ホスト３０１で実行中であることを示し、「未実行」はジョブをまだ実行していないことを示す。
【００４４】
日付および時刻は、それぞれジョブに関する日付および時刻を示す。状態が「完了」の場合、日付と時刻はそれぞれ実行ホスト３０１でジョブが完了した日付と時刻を示す。状態が「実行中」の場合、日付と時刻はそれぞれ管理ホスト２０１がジョブを投入した日付および時刻を示す。状態が「未実行」の場合、日付と時刻はそれぞれジョブの投入予定の日付と時刻を示す。
【００４５】
図３は、管理ホストの履歴データの例を示す図である。
履歴データ２８１は、項目として、日付、時刻、通し番号、およびジョブ名を含む。履歴データ２８１には、日付、時刻、通し番号、およびジョブ名が対応付けられて記載されている。
【００４６】
日付および時刻は、それぞれ実行ホスト３０１でジョブが完了した日付と時刻を示す。
通し番号は、ジョブに割り当てられた通し番号である。通し番号は、ジョブが実行ホスト３０１で何番目に完了したジョブであるかを示す。
【００４７】
ジョブ名は、ジョブを識別する情報であり、ジョブの名前である。ジョブ名は、識別情報の一例である。
【００４８】
履歴データ２８１において、上から順に通し番号の順に完了したジョブに関する情報が記載される。
【００４９】
図４は、実行ホストの履歴データの例を示す図である。
履歴データ３８１は、項目として、日付、時刻、通し番号、およびジョブ名を含む。履歴データ３８１には、日付、時刻、通し番号、およびジョブ名が対応付けられて記載されている。
【００５０】
日付および時刻は、それぞれ実行ホスト３０１でジョブが完了した日付と時刻を示す。
通し番号は、ジョブに割り当てられた通し番号である。通し番号は、ジョブが実行ホスト３０１で何番目に完了したジョブであるかを示す。
【００５１】
ジョブ名は、ジョブを識別する情報であり、ジョブの名前である。ジョブ名は、識別情報の一例である。
【００５２】
履歴データ３８１において、上から順に通し番号の順に完了したジョブに関する情報が記載される。
【００５３】
上記のように、履歴データ２８１と履歴データ３８１は同じ形式である。下記に述べるように、履歴データ２８１と履歴データ３８１には、同じ情報が書き込まれ、管理ホスト２０１がダウン（停止）していない限り、履歴データ２８１の内容と履歴データ３８１の内容は同じ状態になっている。
【００５４】
図５は、実施の形態に係るジョブ管理処理のフローチャートである。
ステップＳ５０１において、エージェント部２３１は履歴データ２８１を初期化し、エージェント部３３１は履歴データ３８１を初期化する。尚、管理ＤＢ２７１には、管理ホスト２０１がスケジュール管理するジョブの情報が記載されているとする。
【００５５】
ステップＳ５０２において、ジョブスケジューラ部２１１は、管理ＤＢ２７１を参照し、未実行のジョブに設定されている日付および時刻（すなわち、ジョブの実行予定日時）に基づいて、ジョブを投入する。詳細には、ジョブスケジューラ部２１１は、現在の日付と時刻が未実行のジョブに設定されている日付および時刻になったら、当該ジョブを実行する指示を通信部２４１を介して実行ホスト３０１に送信する。ジョブスケジューラ部２１１は、管理ＤＢ２７１の投入したジョブのジョブ名に対応する状態を未実行から実行中に更新する。
【００５６】
ステップＳ５０３において、ジョブ実行部３１１は、ジョブの実行指示を受信し、ジョブを実行する。
【００５７】
ステップＳ５０４において、ジョブが完了すると、ジョブイベント認識部３１２は、ジョブの完了を検出し、イベント送信部３３３にジョブの完了と完了した日付と時刻を通知する。採番部３３２は、完了したジョブに通し番号を割り当てる。通し番号は、ジョブが完了した順に割り当てられる番号であり、実行ホスト３０１において何番目に完了したジョブであるかを示す。
【００５８】
ステップＳ５０５において、イベント送信部３３３は、完了したジョブの情報（ジョブが完了した日付と時刻、当該ジョブに割り当てられた通し番号、および当該ジョブのジョブ名）を最終レコードとして履歴データ３８１に追記する。完了したジョブの情報を履歴データ３８１の最後に追記していくことで、履歴データ３８１には、通し番号順（すなわちジョブが完了した順）に完了したジョブの情報が記載される。以下、ジョブが完了した日付、ジョブが完了した時刻、当該ジョブに割り当てられた通し番号、および当該ジョブのジョブ名を含む履歴データ３８１のレコードは、履歴レコードと称する。
【００５９】
ステップＳ５０６において、イベント送信部３３３は、ジョブが完了したことを示すジョブ完了情報を通信部３４１を介してイベント受信部２３２に送信する。ジョブ完了情報は、完了したジョブに関する履歴レコード（ジョブが完了した日付と時刻、当該ジョブに割り当てられた通し番号、および当該ジョブのジョブ名）を含む。
【００６０】
ステップＳ５０７において、イベント受信部２３２は、ジョブ完了情報を受信し、ジョブスケジューラ部２１１にジョブの完了を通知する。詳細には、イベント受信部２３２は、受信したジョブ完了情報に含まれる日付、時刻、およびジョブ名を通知する。
【００６１】
ステップＳ５０８において、イベント受信部２３２は、受信したジョブ完了情報に含まれる完了したジョブに関する履歴レコード（ジョブが完了した日付と時刻、当該ジョブに割り当てられた通し番号、および当該ジョブのジョブ名）を履歴データ２８１に最終レコードとして追記する。
【００６２】
ステップＳ５０９において、イベント受信部２３２は、受信したジョブ完了情報に含まれる通し番号を最終通番として最終通番記憶部２６１に記憶する。尚、既に最終通番記憶部２６１に最終通番が記憶されている場合、今回受信した通し番号で最終通番を更新する。これにより、最終通番は、管理ホスト２０１が受信した複数のジョブ完了情報のうち、最後に受信したジョブ完了情報に含まれる通し番号となる。
【００６３】
ステップＳ５１０において、ジョブスケジューラ部２１１は、管理ＤＢ２７１の完了したジョブのジョブ名に対応する状態を実行中から完了に更新し、日付と時刻をそれぞれジョブが完了した日付と時刻に更新する。
【００６４】
ステップＳ５１１において、ユーザから停止指示が入力された場合、ジョブ管理処理は終了し、停止指示が入力されない場合、制御はステップＳ５０２に戻る。
【００６５】
図６は、実施の形態に係るジョブ管理処理の例を説明する図である。
ここでは、ジョブJOB_cが実行され、ジョブJOB_cに関する履歴レコードが履歴データ２８１、３８１に登録され、ジョブJOB_cの情報が管理ＤＢ２７１に反映される場合について説明する。
【００６６】
ジョブスケジューラ部２１１は、管理ＤＢ２７１を参照し、現在の日付と時刻がジョブJOB_cに設定されている日付および時刻になったら、ジョブJOB_cを投入する（ステップＳ５５１）。すなわち、ジョブスケジューラ部２１１は、ジョブJOB_cを実行する指示を実行ホスト３０１に送信する。
【００６７】
ジョブ実行部３１１は、指示を受信すると、ジョブJOB_cを開始する（ステップＳ５５２）。
【００６８】
ジョブJOB_cが完了すると、ジョブイベント認識部３１２は、ジョブJOB_cの完了を検出し、エージェント部３３１（イベント送信部３３３）にジョブJOB_cの完了と完了した日付＝2015/10/16と時刻＝12:30:33を通知する（ステップＳ５５３）。
【００６９】
尚、ジョブJOB_cが完了した時点で、実行ホスト３０１において、ジョブJOB_a、ジョブJOB_b、およびジョブJOB_dはすでに完了しており、ジョブJOB_a、ジョブJOB_b、およびジョブJOB_dには通し番号＝１，２，３がそれぞれ割り当てられている。また、履歴データ２８１、３８１には、ジョブJOB_a、ジョブJOB_b、およびジョブJOB_dの履歴レコードが記載されている。
【００７０】
採番部３３２は、完了したジョブJOB_cに通し番号＝４を割り当てる。上記のように、ジョブJOB_a、ジョブJOB_b、およびジョブJOB_dはすでに完了しており、ジョブJOB_cは実行ホスト３０１において４番目に完了したため、通し番号は４となる。
【００７１】
エージェント部３３１（イベント送信部３３３）は、ジョブJOB_cが完了した日付＝2015/10/16と時刻＝12:30:33、通し番号＝４、およびジョブ名＝JOB_cを履歴データ３８１の最後に追記する（ステップＳ５５４）。
【００７２】
エージェント部３３１（イベント送信部３３３）は、ジョブJOB_cが完了したことを示すジョブ完了情報を管理ホスト２０１に送信する（ステップＳ５５５）。ジョブ完了情報は、ジョブJOB_cに関する履歴レコード（日付＝2015/10/16、時刻＝12:30:33、通し番号＝４、およびジョブ名＝JOB_c）を含む。
【００７３】
エージェント部２３１（イベント受信部２３２）は、受信したジョブJOB_cに関する履歴レコード（日付＝2015/10/16、時刻＝12:30:33、通し番号＝４、およびジョブ名＝JOB_c）を履歴データ２８１の最後に追記する（ステップＳ５５６）。エージェント部２３１（イベント受信部２３２）は、通し番号＝４を最終通番として最終通番記憶部２６１に記憶する。すなわち、エージェント部２３１（イベント受信部２３２）は、最終通番を「４」に更新する。
【００７４】
エージェント部２３１（イベント受信部２３２）は、ジョブスケジューラ部２１１にジョブJOB_cの処理完了を通知する（ステップＳ５５７）。詳細には、エージェント部２３１（イベント受信部２３２）は、日付＝2015/10/16、時刻＝12:30:33、およびジョブ名＝JOB_cをジョブスケジューラ部２１１に通知する。
【００７５】
ジョブスケジューラ部２１１は、ジョブJOB_cの完了を管理ＤＢ２７１に反映する（ステップＳ５５８）。詳細には、ジョブスケジューラ部２１１は、ジョブ名＝JOB_cに対応する状態、日付、および時刻をそれぞれ「完了」、2015/10/16、および12:30:33に更新する。
【００７６】
図７は、実施の形態に係るリカバリ処理のフローチャートである。
ステップＳ６０１において、コマンド部２２１は、リカバリを指示するリカバリコマンドをエージェント部２３１に投入する。
【００７７】
ステップＳ６０２において、リカバリ制御部２３３は、最終通番記憶部２６１から最終通番を読み出す。
【００７８】
ステップＳ６０３において、リカバリ制御部２３３は、通信部２４１を介してリカバリ制御部３３４に最終通番を送信する。
【００７９】
ステップＳ６０４において、リカバリ制御部３３４は、最終通番を受信し、受信した最終通番に１加算した値を読み込み番号とし、履歴データ３８１の通し番号＝読み込み番号である履歴レコードを読み込みレコードに設定する。すなわち、リカバリ制御部３３４は、通し番号＝読み込み番号である履歴レコードに読み込み位置を設定する。
【００８０】
ステップＳ６０５において、リカバリ制御部３３４は、履歴データの３８１の設定された読み込みレコードを読み出す。すなわち、リカバリ制御部３３４は、設定された読み込み位置の履歴レコードを読み出す。
【００８１】
ステップＳ６０６において、イベント送信部３３３は、読み込みレコードに含まれるジョブ名のジョブが完了したことを示すジョブ完了情報を通信部３４１を介してイベント受信部２３２に送信する。ジョブ完了情報は、読み込みレコード、すなわち完了したジョブに関する履歴レコード（ジョブが完了した日付と時刻、当該ジョブに割り当てられた通し番号、および当該ジョブのジョブ名）を含む。
【００８２】
ステップＳ６０７において、イベント受信部２３２は、受信したジョブ完了情報に含まれる完了したジョブに関する履歴レコード（ジョブが完了した日付と時刻、当該ジョブに割り当てられた通し番号、および当該ジョブのジョブ名）を履歴データ２８１に最終レコードとして追記する。
【００８３】
ステップＳ６０８において、イベント受信部２３２は、ジョブ完了情報に含まれる通し番号を最終通番として最終通番記憶部２６１に記憶する。すなわち、イベント受信部２３２は、今回受信した通し番号で最終通番記憶部２６１に記憶されている最終通番を更新する。
【００８４】
ステップＳ６０９において、イベント受信部２３２は、ジョブスケジューラ部２１１にジョブ完了情報に含まれるジョブ名のジョブの処理完了を通知する。すなわち、イベント受信部２３２は、ジョブ完了情報に含まれるジョブ名、日付、および時刻をジョブスケジューラ部２１１に通知する。
【００８５】
ステップＳ６１０において、ジョブスケジューラ部２１１は、通知されたジョブの完了を管理ＤＢ２７１に反映する。詳細には、ジョブスケジューラ部２１１は、管理ＤＢ２７１において、受信したジョブ完了情報に含まれるジョブ名に対応する状態、日付、および時刻をそれぞれ「完了」、ジョブ完了情報に含まれる日付、およびジョブ完了情報に含まれる時刻に更新する。
【００８６】
ステップＳ６１１において、全てのレコードが処理済みの場合（すなわち、履歴データ３８１の最終通番より大きい通し番号を含む履歴レコードを全て読み出した場合）、処理は終了する。また、全てのレコードが処理済みでない場合（すなわち、履歴データ３８１の最終通番より大きい通し番号を含む履歴レコードを全て読み出していない場合）、リカバリ制御部３３４は、履歴データ３８１の読み込みレコードを今回読み出した履歴レコードの次の行の履歴レコードに設定し、制御はステップ６０５に戻る。
【００８７】
図８は、実施の形態に係るリカバリ処理の例を説明する図である。
図８のシステム１０１において、ジョブJOB_aおよびジョブJOB_bが投入され、実行ホスト３０１において、ジョブJOB_b、ジョブJOB_aの順に完了し、ジョブJOB_bには、通し番号＝１、ジョブJOB_aには、通し番号＝２が割り当てられている。履歴データ２８１、３８１それぞれには、ジョブJOB_aおよびジョブJOB_bの履歴レコードが記載されている。また、管理ＤＢ２７１においてジョブ名＝JOB_a、JOB_bのジョブの状態は完了となっている（不図示）。また、最終通番記憶部２６１には、最終通番＝２が記憶されている。
【００８８】
管理ホスト２０１は、ジョブJOB_cおよびジョブJOB_dを投入後、ジョブJOB_cおよびジョブJOB_dの完了前にダウンしたとする。また、実行ホスト３０１において、管理ホスト２０１のダウン中に、ジョブJOB_cおよびジョブJOB_dは、ジョブJOB_d、ジョブJOB_cの順に実行完了し、履歴データ３８１にはジョブJOB_dおよびジョブJOB_cの履歴レコードが記載されている。ジョブJOB_dおよびジョブJOB_cには、通し番号＝３および通し番号＝４がそれぞれ割り当てられている。管理ホスト２０１は、ダウン中のため、履歴データ２８１には、ジョブJOB_dおよびジョブJOB_cの履歴レコードは記載されていない。また、管理ホスト２０１は、ダウン中のため、管理ＤＢ２７１において、ジョブJOB_dおよびジョブJOB_cの状態は反映されておらず、「実行中」となっている。
【００８９】
上記のような状態から管理ホスト２０１を再起動し、リカバリ処理を開始する。
コマンド部２２１は、リカバリを指示するリカバリコマンドをエージェント部２３１に投入する（ステップＳ６５１）。
【００９０】
エージェント部２３１（リカバリ制御部２３３）は、最終通番記憶部２６１から最終通番＝２を読み出し、実行ホスト３０１に最終通番＝２を送信する（ステップＳ６５２）。
【００９１】
エージェント部３３１（リカバリ制御部３３４）は、受信した最終通番＝２に１加算した３を読み込み番号とし、履歴データ３８１の通し番号＝３である履歴レコードを読み込みレコードに設定する（ステップＳ６５３）。これにより、履歴データ３８１の３行目の通し番号＝３であるジョブJOB_dの履歴レコードが読み込みレコード（読み込み位置）に設定される。
【００９２】
エージェント部３３１（リカバリ制御部３３４）は、履歴データの３８１の設定された読み込みレコード、すなわち通し番号＝３であるジョブJOB_dの履歴レコードを読み出す。エージェント部３３１（イベント送信部３３３）は、ジョブJOB_dが完了したことを示すジョブ完了情報を管理ホスト２０１に送信する（ステップＳ６５４）。ジョブ完了情報は、ジョブJOB_dに関する履歴レコード（日付＝2015/10/16、時刻＝11:30:08、通し番号＝３、およびジョブ名＝JOB_d）を含む。
【００９３】
エージェント部２３１（イベント受信部２３２）は、ジョブJOB_dに関する履歴レコード（日付＝2015/10/16、時刻＝11:30:08、通し番号＝３、およびジョブ名＝JOB_d）を履歴データ２８１の最後に追記する。また、エージェント部２３１（イベント受信部２３２）は、通し番号＝３を最終通番として最終通番記憶部２６１に記憶する。すなわち、エージェント部２３１（イベント受信部２３２）は、最終通番を「３」に更新する。また、エージェント部２３１（イベント受信部２３２）は、ジョブスケジューラ部２１１にジョブJOB_dの処理完了を通知する（ステップＳ６５５）。エージェント部２３１（イベント受信部２３２）は、日付＝2015/10/16、時刻＝11:30:08、およびジョブ名＝JOB_dをジョブスケジューラ部２１１に通知する。
【００９４】
ジョブスケジューラ部２１１は、ジョブJOB_dの完了を管理ＤＢ２７１に反映する（ステップＳ６５６）。詳細には、ジョブスケジューラ部２１１は、ジョブ名＝JOB_dに対応する状態、日付、および時刻をそれぞれ「完了」、2015/10/16、および11:30:08に更新する。
【００９５】
エージェント部３３１（リカバリ制御部３３４）は、ジョブJOB_dの履歴レコードは、履歴データ３８１の最終レコードではないため、読み出しレコードをジョブJOB_dの履歴レコードの次の履歴レコード、すなわち通し番号＝４であるジョブJOB_cの履歴レコードに設定する。
【００９６】
エージェント部３３１（リカバリ制御部３３４）は、履歴データの３８１の設定された読み込みレコード、すなわち通し番号＝４であるジョブJOB_cの履歴レコードを読み出す。エージェント部３３１（イベント送信部３３３）は、ジョブJOB_cが完了したことを示すジョブ完了情報を管理ホスト２０１に送信する（ステップＳ６５４’）。ジョブ完了情報は、ジョブJOB_cに関する履歴レコード（日付＝2015/10/16、時刻＝12:30:33、通し番号＝４、およびジョブ名＝JOB_c）を含む。
【００９７】
エージェント部２３１（イベント受信部２３２）は、ジョブJOB_cに関する履歴レコード（日付＝2015/10/16、時刻＝12:30:33、通し番号＝４、およびジョブ名＝JOB_c）を履歴データ２８１の最後に追記する。また、エージェント部２３１（イベント受信部２３２）は、通し番号＝４を最終通番として最終通番記憶部２６１に記憶する。すなわち、エージェント部２３１（イベント受信部２３２）は、最終通番を「４」に更新する。また、エージェント部２３１（イベント受信部２３２）は、ジョブスケジューラ部２１１にジョブJOB_cの処理完了を通知する（ステップＳ６５５’）。エージェント部２３１（イベント受信部２３２）は、日付＝2015/10/16、時刻＝12:30:33、およびジョブ名＝JOB_cをジョブスケジューラ部２１１に通知する。
【００９８】
ジョブスケジューラ部２１１は、ジョブJOB_cの完了を管理ＤＢ２７１に反映する（ステップＳ６５６’）。詳細には、ジョブスケジューラ部２１１は、ジョブ名＝JOB_cに対応する状態、日付、および時刻をそれぞれ「完了」、2015/10/16、および12:30:33に更新する。
【００９９】
上記の処理により、システム１０１のジョブの最新の実行状況が管理ＤＢ２７１と履歴データ２８１に反映される。
【０１００】
実施の形態に係るシステムによれば、最終通番を用いることより、大量のデータの解析や送信を行うことなく、管理ＤＢに反映されていない実行ホストで完了しているジョブを容易に検出でき、迅速にリカバリを行うことが出来る。
【０１０１】
図９は、情報処理装置（コンピュータ）の構成図である。
実施の形態の管理ホスト２０１および実行ホスト３０１は、例えば、図９に示すような情報処理装置（コンピュータ）１によって実現可能である。
【０１０２】
情報処理装置１は、ＣＰＵ２、メモリ３、入力装置４、出力装置５、記憶部６、記録媒体駆動部７、及びネットワーク接続装置８を備え、それらはバス９により互いに接続されている。
【０１０３】
ＣＰＵ２は、情報処理装置１全体を制御する中央処理装置である。ＣＰＵ２は、ジョブスケジューラ部２１１、コマンド部２２１、エージェント部２３１、通信部２４１、ジョブ実行部３１１、エージェント部３３１、および通信部３４１として動作する。
【０１０４】
メモリ３は、プログラム実行の際に、記憶部６（あるいは可搬記録媒体１０）に記憶されているプログラムあるいはデータを一時的に記憶するRead Only Memory(ＲＯＭ)やRandom Access Memory(ＲＡＭ)等のメモリである。ＣＰＵ２は、メモリ３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【０１０５】
この場合、可搬記録媒体１０等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
【０１０６】
入力装置４は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置１で用いられるデータの取得等に用いられる。入力装置４は、例えば、キーボード、マウス、タッチパネル、カメラ、またはセンサ等である。
【０１０７】
出力装置５は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、ＣＰＵ２による制御により動作する装置である。出力装置５は、例えば、ディスプレイ、またはプリンタ等である。
【０１０８】
記憶部６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１は、記憶部６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３に読み出して使用する。メモリ３および記憶部６は、最終通番記憶部２６１および記憶部２５１，３５１に対応する。
【０１０９】
記録媒体駆動部７は、可搬記録媒体１０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(ＣＤ−ＲＯＭ)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体１０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０１１０】
ネットワーク接続装置８は、Local Area Network（ＬＡＮ）やWide Area Network（ＷＡＮ）等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置８は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
【０１１１】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
複数のジョブのスケジュールを管理する管理ホスト装置と接続する情報処理装置であって、前記複数のジョブを実行する実行部と、実行完了した前記複数のジョブそれぞれに実行完了した順に通し番号を割り当てる採番部と、前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを履歴データに書き込む送信部と、前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記履歴データを記憶する記憶部と、  を備えることを特徴とする情報処理装置。
（付記２）
前記管理ホスト装置から前記管理ホスト装置が最後に受信した完了情報に含まれる前記通し番号である最終通番を受信し、前記最終通番に基づいて、前記複数のレコードから１以上のレコードを読み出し、前記読み出したレコードに含まれるジョブの識別情報と通し番号とを含む完了情報を前記管理ホスト装置に送信するリカバリ制御部をさらに備えることを特徴とする付記１記載の情報処理装置。
（付記３）
前記リカバリ制御部は、前記複数のレコードのうち、前記最終通番より大きい通し番号を含むレコードを読み出すことを特徴とする付記２記載の情報処理装置。
（付記４）
複数のジョブのスケジュールを管理する管理ホスト装置と前記複数のジョブを実行する実行ホスト装置を備える情報処理システムであって、前記実行ホスト装置は、前記複数のジョブを実行する実行部と、実行完了した前記複数のジョブそれぞれに実行完了した順に通し番号を割り当てる採番部と、前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを第１の履歴データに書き込む送信部と、前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記第１の履歴データを記憶する第１の記憶部と、を備え、前記管理ホスト装置は、最後に受信した完了情報に含まれる前記通し番号を最終通番として記憶する第２の記憶部と、前記完了情報を受信し、前記完了情報に含まれるジョブの識別情報と通し番号とを含むレコードを第２の履歴データに書き込み、前記完了情報に含まれる前記通し番号で前記最終通番を更新する受信部と、前記複数のジョブの識別情報と前記複数のジョブの状態を含む管理データベースと、前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記第２の履歴データを記憶する第３の記憶部と、前記完了情報に基づいて前記管理データベースを更新するスケジューラ部と、を備えることを特徴とする情報処理システム。
（付記５）
前記管理ホスト装置は、前記最終通番を前記実行ホストに送信する第１のリカバリ制御部をさらに備え、前記実行ホスト装置は、前記最終通番を受信し、前記最終通番に基づいて、前記第１の履歴データの前記複数のレコードから１以上のレコードを読み出し、前記読み出したレコードに含まれるジョブの識別情報と通し番号とを含む完了情報を前記管理ホスト装置に送信する第２のリカバリ制御部をさらに備えることを特徴とする付記４記載の情報処理システム。
（付記６）
前記第１のリカバリ制御部は、前記第１の履歴データの前記複数のレコードのうち、前記最終通番より大きい通し番号を含むレコードを読み出すことを特徴とする付記５記載の情報処理システム。
（付記７）
複数のジョブのスケジュールを管理する管理ホスト装置と前記複数のジョブを実行する実行ホスト装置を備える情報処理システムが実行する情報処理方法であって、前記実行ホスト装置は、前記複数のジョブを実行し、実行完了した前記複数のジョブそれぞれに実行完了した順に前記通し番号を割り当て、前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを第１の履歴データに書き込み、前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記第１の履歴データを記憶する第１の記憶部を備え、前記管理ホスト装置は、前記完了情報を受信し、前記完了情報に含まれるジョブの識別情報と前記通し番号とを含むレコードを第２の履歴データに書き込み、前記完了情報に含まれる前記通し番号で最終通番を更新し、前記完了情報に基づいて前記管理データベースを更新し、最後に受信した完了情報に含まれる通し番号を前記最終通番として記憶する第２の記憶部と、前記複数のジョブの識別情報と前記複数のジョブの状態を含む管理データベースと、前記実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記第２の履歴データを記憶する第３の記憶部と、を備えることを特徴とする情報処理方法。
（付記８）
前記管理ホスト装置は、前記最終通番を前記実行ホストに送信し、前記実行ホスト装置は、前記最終通番を受信し、前記最終通番に基づいて、前記第１の履歴データの前記複数のレコードから１以上のレコードを読み出し、前記読み出したレコードに含まれるジョブの識別情報と通し番号とを含む完了情報を前記管理ホスト装置に送信する処理をさらに備えることを特徴とする付記７記載の情報処理方法。
（付記９）
前記実行ホスト装置は、前記第１の履歴データの前記複数のレコードのうち、前記最終通番より大きい通し番号を含むレコードを読み出すことを特徴とする付記８記載の情報処理方法。
（付記１０）
複数のジョブのスケジュールを管理する管理ホスト装置と接続するコンピュータに、前記複数のジョブを実行し、実行完了した前記複数のジョブそれぞれに実行完了した順に通し番号を割り当て、前記複数のジョブのうち実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含む完了情報を前記管理ホスト装置に送信し、前記実行完了したジョブの識別情報と前記実行完了したジョブに割り当てられた前記通し番号とを含むレコードを履歴データに書き込む処理を実行させるプログラム。
（付記１１）
前記コンピュータは、実行完了した前記複数のジョブの識別情報と前記複数のジョブそれぞれに割り当てた前記通し番号を含む複数のレコードを含む前記履歴データを記憶する記憶部を備え、前記管理ホスト装置から前記管理ホスト装置が最後に受信した完了情報に含まれる前記通し番号である最終通番を受信し、前記最終通番に基づいて、前記複数のレコードから１以上のレコードを読み出し、前記読み出したレコードに含まれるジョブの識別情報と通し番号とを含む完了情報を前記管理ホスト装置に送信する処理をさらに前記コンピュータに実行させることを特徴とする付記１０記載のプログラム。
（付記１２）
前記読み出す処理は、前記複数のレコードのうち、前記最終通番より大きい通し番号を含むレコードを読み出すことを特徴とする付記１１記載のプログラム。
【符号の説明】
【０１１２】
１０１    システム
２０１    管理ホスト
２１１    ジョブスケジューラ部
２２１    コマンド部
２３１    エージェント部
２３２    イベント受信部
２３３    リカバリ制御部
２３４    起動部
２４１    通信部
２５１    記憶部
２６１    最終通番記憶部
２７１    管理ＤＢ
２８１    履歴データ
３０１    実行ホスト
３１１    ジョブ実行部
３３１    エージェント部
３３２    採番部
３３３    イベント送信部
３３４    リカバリ制御部
３４１    通信部
３５１    記憶部
３８１    履歴データ
【図１】
2018028739.tif 000003
【図２】
2018028739.tif 000004
【図３】
2018028739.tif 000005
【図４】
2018028739.tif 000006
【図５】
2018028739.tif 000007
【図６】
2018028739.tif 000008
【図７】
2018028739.tif 000009
【図８】
2018028739.tif 000010
【図９】
2018028739.tif 000011