(57)【要約】【課題】  ジョブ管理マネージャが稼働し、その配下のジョブ実行エージェントでジョブを実行するジョブ管理サーバーを、複数台備えたジョブ管理システムにおいて、各サーバーの状況と本番機と代行機間のレプリケーションの状況の把握、およびそれらに対する各種操作を可能とする統合ジョブ管理マネージャを設け、任意の拠点から統合ジョブ管理マネージャにログインして集中管理することを目的とする。【解決手段】  ジョブ管理マネージャに異常（メンテナンスによるサーバー停止を含む）が発生していることを検出し、異常が検出されたジョブ管理マネージャを代行機のジョブ管理マネージャに切り替えることによりジョブ実行業務を継続させる統合ジョブ管理マネージャを設ける。これにより、異常が発生したジョブ管理サーバーのジョブ管理マネージャを代行機のジョブ管理マネージャに切り替える制御を遠隔から行うことができる。【選択図】  図２
2011076512.tif 000002
【特許請求の範囲】
【請求項１】
ジョブ管理マネージャが稼働し、該ジョブ管理マネージャの配下のジョブ実行エージェントでジョブを実行するジョブ管理サーバーを、複数台備えたジョブ管理システムにおけるジョブ管理サーバーの統合管理システムであって、
前記ジョブ管理マネージャに異常（メンテナンスによるサーバー停止を含む）が発生していることを検出する手段と、
前記異常が検出されたジョブ管理マネージャを代行機のジョブ管理マネージャに切り替えることによりジョブ実行業務を継続させる切り替え制御手段と
を備えることを特徴とするジョブ管理サーバーの統合管理システム。
【請求項２】
ジョブ管理マネージャが稼働し、該ジョブ管理マネージャの配下のジョブ実行エージェントでジョブを実行するジョブ管理サーバーを、複数台備えたジョブ管理システムにおけるジョブ管理サーバーの統合管理システムであって、
前記ジョブ実行エージェントに異常（メンテナンスによるサーバー停止を含む）が発生していることを検出する手段と、
前記異常が検出されたジョブ実行エージェントを代行機のジョブ実行エージェントに切り替えることによりジョブ実行業務を継続させる切り替え制御手段と
を備えることを特徴とするジョブ管理サーバーの統合管理システム。
【請求項３】
請求項１に記載のジョブ管理サーバーの統合管理システムにおいて、
前記ジョブ管理マネージャを代行機のジョブ管理マネージャに切替える際に、前記ジョブ実行エージェントで実行中のジョブ結果を切り替え後のジョブ管理マネージャに通知するため、前記ジョブ実行エージェントの親サーバーのジョブ管理マネージャのサーバー名を切り替え後のジョブ管理マネージャ名に変更することを特徴とするジョブ管理サーバーの統合管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のジョブ管理サーバーの状況を監視し操作可能な統合ジョブ管理マネージャを設け、任意の拠点から統合ジョブ管理マネージャにログインして集中管理する技術に関する。
【背景技術】
【０００２】
大規模ジョブ管理システムでは、システム故障（広域災害などによる場合を含む）が発生しても業務処理を継続して運用できるように、通常処理（本番）用の装置に対し災害対策用予備機を設けることが少なくない。例えば、拠点Aに本番用の装置を設置し、拠点Bに災害対策用予備機を設置する。そして、本番用の拠点Aで障害が発生し、例えば拠点Aの装置で動作していたジョブ管理マネージャ1、ジョブ実行エージェントA、およびジョブ実行エージェントBが停止した場合、拠点Bの災対用予備機で継続運用できるようにする。このとき、拠点Aのジョブ管理マネージャ1と拠点Bのジョブ管理マネージャ2との間は、データベース（DB）のデータレプリケーション機能により、データの複製が拠点B側の装置に作成されていることを前提とする。
【０００３】
このように拠点Aでの障害発生により、拠点Aで実行していた業務処理を拠点Bの予備機で継続して実行するようにするためには、以下のような操作を各拠点にて手動で実施する必要があった。
(1) [拠点B]拠点Aの障害を受けて、拠点Bの予備機でジョブ管理マネージャ2のサービスを起動する。
(2) [拠点B]ジョブの実行先サーバーが、拠点Aのジョブ実行エージェントAやジョブ実行エージェントBになっているジョブの実行先を、拠点Bのジョブ実行エージェントZやジョブ実行エージェントYに変更する。
(3) [拠点A]拠点Aのジョブ実行エージェントC（このエージェントは拠点Aで正常動作しているとする）で実行中のジョブの終了結果を拠点Bのジョブ管理マネージャ2で受信できるように、ジョブ実行エージェントCの親サーバ名をジョブ管理マネージャ2に変更する。
【０００４】
本発明に関連する公知技術文献としては、下記特許文献１に記載の技術がある。該特許文献は、冗長システムにおいて障害発生時に系の切り替えを行う技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2009-98715号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
大規模ジョブ管理システムでは、複数のサーバーマシンが国内・国外を含めて数箇所の拠点に点在している。更に、24時間稼動などの厳しい運用要件がある。このような環境では、システム故障（広域災害含む）やサーバーメンテナンス時などのサーバーを停止せざる得ない状況が発生するが、点在した拠点間の状況把握や各種操作を行うためには多くの工数と人員が必要となる。
【０００７】
複数台のサーバーに対して、代行機への切り替えを行う際、停止するそれぞれのサーバーおよび停止するサーバーが利用しているジョブの実行先サーバーの状況を把握するには、点在するサーバー毎に確認する必要がある。
【０００８】
また、ジョブ実行先サーバーを代行機に切り替える場合、ジョブ実行先ホスト名やそのサーバーに合ったユーザー名等のジョブ情報の書き換えが必要であるが、ジョブ数に比例して書き換え作業が増大する。
【０００９】
また、ジョブの実行中でもジョブ管理サーバーが代行機に切り替えられるように、ジョブ実行先サーバーで、ジョブ要求元であるジョブ管理サーバーのホスト名等の情報を書き換える必要があるが、ジョブ実行先サーバー数に比例して書き換え作業が増大する。
【００１０】
ジョブの実行主体を主系サーバーから待機系サーバーへと切替えて継続してジョブを実行する技術として、特許文献１に記載の技術がある。しかし、特許文献１に記載の技術は、冗長システム装置におけるジョブの実行方法と実行プログラムに特化したものであり、各拠点に点在するサーバーの状況を把握し、任意の拠点から統合管理するものではない。
【００１１】
本発明の目的は、各サーバーの状況と本番機と代行機間のレプリケーションの状況の把握、およびそれらに対する各種操作を可能とする統合ジョブ管理マネージャを設け、任意の拠点から統合ジョブ管理マネージャにログインして集中管理することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１に係る発明は、ジョブ管理マネージャが稼働し、該ジョブ管理マネージャの配下のジョブ実行エージェントでジョブを実行するジョブ管理サーバーを、複数台備えたジョブ管理システムにおけるジョブ管理サーバーの統合管理システムであって、前記ジョブ管理マネージャに異常（メンテナンスによるサーバー停止を含む）が発生していることを検出する手段と、前記異常が検出されたジョブ管理マネージャを代行機のジョブ管理マネージャに切り替えることによりジョブ実行業務を継続させる切り替え制御手段とを備えることを特徴とする。これにより、異常が発生したジョブ管理サーバーのジョブ管理マネージャを代行機のジョブ管理マネージャに切り替える制御を遠隔から行うことができる。
【００１３】
請求項２に係る発明は、ジョブ管理マネージャが稼働し、該ジョブ管理マネージャの配下のジョブ実行エージェントでジョブを実行するジョブ管理サーバーを、複数台備えたジョブ管理システムにおけるジョブ管理サーバーの統合管理システムであって、前記ジョブ実行エージェントに異常（メンテナンスによるサーバー停止を含む）が発生していることを検出する手段と、前記異常が検出されたジョブ実行エージェントを代行機のジョブ実行エージェントに切り替えることによりジョブ実行業務を継続させる切り替え制御手段とを備えることを特徴とする。
【００１４】
請求項３に係る発明は、請求項１に記載のジョブ管理サーバーの統合管理システムにおいて、前記ジョブ管理マネージャを代行機のジョブ管理マネージャに切替える際に、前記ジョブ実行エージェントで実行中のジョブ結果を切り替え後のジョブ管理マネージャに通知するため、前記ジョブ実行エージェントの親サーバーのジョブ管理マネージャのサーバー名を切り替え後のジョブ管理マネージャ名に変更することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、統合ジョブ管理マネージャを用いて、各拠点に点在するジョブ管理マネージャを管理し、それらのジョブ管理マネージャ配下のジョブ実行エージェントも同様に管理し、マシン故障（広域災害含む）やマシンメンテナンスなどのときに、統合ジョブ管理マネージャ側から操作を行って即座に運用変更が可能である。例えば、拠点Aのジョブ管理マネージャに故障等が発生しても、拠点Bのジョブ管理マネージャに切り替えて、ジョブの運用変更やジョブ再実行をすることができ、マシンを停止させないシステムを提供できる。ジョブ実行エージェントに故障等が発生した場合も同様に、代行機のジョブ実行エージェントに切り替えることができる。ジョブ管理マネージャを代行機のジョブ管理マネージャに切替える際に、ジョブ実行エージェントの親サーバーのジョブ管理マネージャのサーバー名を切り替え後のジョブ管理マネージャ名に変更することにより、ジョブ実行エージェントで実行中のジョブ結果を切り替え後のジョブ管理マネージャに通知するように設定することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態であるシステムの構成図である。
【図２】本実施形態のシステムにおける異常発生時の実施例１である。
【図３】本実施形態のシステムにおける異常発生時の実施例２である。
【図４】本実施形態のシステムにおける異常発生時の実施例３である。
【図５】サーバー監視処理のフローチャートである。
【図６】ジョブ管理マネージャ異常処理のフローチャートである。
【図７】ジョブ実行エージェント異常処理のフローチャートである。
【図８】本実施形態で利用するジョブ管理マネージャ情報テーブルで必要なデータ構造である。
【図９】本実施形態で利用するジョブ実行エージェント情報テーブルで必要なデータ構造である。
【図１０】本実施形態で利用するジョブ管理マネージャ異常情報テーブルで必要なデータ構造である。
【図１１】本実施形態で利用するジョブ実行エージェント異常情報テーブルで必要なデータ構造である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に基づき説明する。
【００１８】
図１は、本発明の実施形態である統合ジョブ管理マネージャが統合管理をするシステムの構成の一例を示す。拠点Aのシステムでは、ジョブ管理マネージャA（１１０）と業務運用管理システムDB（１１１）が稼働している。ジョブ管理マネージャA（１１０）は、処理すべきジョブを、配下のジョブ実行エージェントA1（１１２），A2（１１３），A3（１１４）などに実行させる。拠点Bのシステムでは、ジョブ管理マネージャB（１２０）が稼働しており、DBのデータレプリケーション機能により拠点Aの業務運用管理システムDB（１１１）のデータの複製が拠点Bの業務運用管理システムDB（１２１）に作成されている。ジョブ管理マネージャB（１２０）は、処理すべきジョブを、配下のジョブ実行エージェントB1（１２２），B2（１２３），B3（１３４）などに実行させる。
【００１９】
統合ジョブ管理マネージャ（１００）は、各拠点に点在するジョブ管理マネージャA（１１０）および配下のジョブ実行エージェントA1（１１２），A2（１１３），A3（１１４）、ジョブ管理マネージャB（１２０）および配下のジョブ実行エージェントB1（１２２），B2（１２３），B3（１３４）、並びに、ジョブ・ジョブネット監視部（１３０）の状況を把握し統合管理を行う。統合ジョブ管理マネージャ（１００）は、どのジョブ管理マネージャの配下のどのジョブ実行エージェントでどのようなジョブが実行されているのかを全て管理している。本システムの管理者は、任意の拠点から統合ジョブ管理マネージャにログインして監視View（監視および制御操作用の画面）を表示し、該監視Viewから以下で説明するような各部の監視および統合管理を行うことができる。
【００２０】
図２は、図１のシステムにおいて、ジョブ管理マネージャA（１１０）でシステムに故障が発生し、配下のジョブ実行エージェントA1（１１２），A2（１１３），A3（１１４）との通信が不通となった場合の例を示す。この例では、この時点で、ジョブ管理マネージャA（１１０）の管理下でジョブ実行エージェントA1（１１２），A2（１１３），A3（１１４）に実行させているジョブが無いケースを想定している。この場合、本実施形態の統合ジョブ管理マネージャ（１００）は、ジョブ管理マネージャA（１１０）が停止したことを検知し、ジョブ管理マネージャA（１１０）の役割を代行機のジョブ管理マネージャB（１２０）へと切り替えて業務を継続させる作業を遠隔で制御する操作を行うことができる。これにより、これ以降、ジョブ管理マネージャA（１１０）の管理下で実行すべきジョブが発生したときには、代行機のジョブ管理マネージャB（１２０）がジョブ実行エージェントB1（１２２），…などを利用して当該ジョブを実行することになる。
【００２１】
図３は、図１のシステムにおいて、ジョブ管理マネージャA（１１０）の配下のジョブ実行エージェントA1（１１２）とA2（１１３）でシステムに故障が発生し停止したが、ジョブ実行エージェントA3（１１４）は正常に稼働している場合の例である。この例では、ジョブ管理マネージャA（１１０）の管理下で、ジョブ実行エージェントA1（１１２），A2（１１３），A3（１１４）にそれぞれ実行させているジョブがあることを想定している。従って、停止したジョブ実行エージェントA1（１１２）とA2（１１３）でそれぞれ実行していたジョブは、代行機に移行させる必要がある。この場合、統合ジョブ管理マネージャ（１００）は、ジョブ実行エージェントA1（１１２）とA2（１１３）が停止してしまったことを検知し、これらのエージェントで実行していたジョブ実行業務を継続させるために、ジョブ実行エージェントのサーバー名を代行機のジョブ管理マネージャB（１２０）へ変更し、ジョブ実行エージェントB1（１２２），B2（１２３）でこれらのジョブを再実行させる操作をすることができる。これにより、ジョブ実行エージェントA1（１１２），A2（１１３）で実行していたジョブは、代行機のジョブ実行エージェントB1（１２２），B2（１２３）で継続実行させることができる。ジョブ管理マネージャA（１１０）の管理下で正常に動作しているジョブ実行エージェントA3（１１４）については、そのまま動作が継続される。
【００２２】
図４は、図１のシステムにおいて、ジョブ管理マネージャA（１１０）でシステムに故障が発生し、配下のジョブ実行エージェントA1（１１２），A2（１１３），A3（１１４）との通信が不通となり、かつ、ジョブ実行エージェントA3（１１４）は正常に稼働している場合の例である。この例では、ジョブ管理マネージャA（１１０）の管理下で、ジョブ実行エージェントA1（１１２），A2（１１３），A3（１１４）にそれぞれ実行させているジョブがあることを想定している。従って、停止したジョブ実行エージェントA1（１１２）とA2（１１３）でそれぞれ実行していたジョブは、代行機に移行させる必要がある。この場合、統合ジョブ管理マネージャ（１００）は、ジョブ実行エージェントA1（１１２）とA2（１１３）が停止してしまったことを検知し、これらのエージェントで実行していたジョブ実行業務を継続させるために、ジョブ実行エージェントのサーバー名を代行機のジョブ管理マネージャB（１２０）へ変更し、ジョブ実行エージェントB1（１２２），B2（１２３）でこれらのジョブを再実行させる操作をすることができる。これにより、ジョブ実行エージェントA1（１１２），A2（１１３）で実行していたジョブは、代行機のジョブ実行エージェントB1（１２２），B2（１２３）で継続実行させることができる。さらに、ジョブ実行エージェントA3（１１４）はジョブ管理マネージャA（１１０）の管理下のエージェントであるので実行が完了したジョブの実行結果をジョブ管理マネージャA（１１０）に送信するように設定されているが、ジョブ管理マネージャA（１１０）では故障が発生しているので、そのジョブ実行結果は代替機のジョブ管理マネージャB（１２０）に送信するようにしたい。そのため、統合ジョブ管理マネージャ（１００）は、ジョブ実行エージェントA3（１１４）の親サーバーであるジョブ管理マネージャのサーバー名をジョブ管理マネージャA（１１０）からジョブ管理マネージャB（１２０）に切り替える。これにより、ジョブ実行エージェントA3（１１４）は、実行が完了したジョブの実行結果をジョブ管理マネージャB（１２０）に対して送信するため、その実行結果を切り替え後のジョブ管理マネージャB（１２０）にて管理することができる。
【００２３】
図５は、本実施形態における統合ジョブ管理マネージャ（１００）で実行する監視処理の概要を示すフローチャートである。統合ジョブ管理マネージャ（１００）は、適当なタイミング（例えば所定時間毎あるいは管理者が指示したとき）で本処理を実行する。
【００２４】
まず、統合ジョブ管理マネージャ（１００）が監視をしているジョブ管理マネージャの数だけループ処理を繰り返す（ステップ５０１）。このループ処理では、統合ジョブ管理マネージャ（１００）は、監視しているジョブ管理マネージャと通信を行う（ステップ５０２）。この通信では、当該ジョブ管理マネージャが正常動作しているか否かを示す情報とともに、当該ジョブ管理マネージャから配下のエージェントで実行させているジョブに関する各種情報を収集する。当該ジョブ管理マネージャから正常動作している旨を示す情報を受信したか否かを判定する（ステップ５０３）。正常動作している場合はステップ５０５に進む。異常が発生している旨を示す情報を受信した場合、あるいは一定時間経過しても当該ジョブ管理マネージャから応答がない場合は、異常と判断をして、ジョブ管理マネージャの異常処理（図６で後述する）を行う（ステップ５０４）。
【００２５】
次に、ステップ５０５では、統合ジョブ管理マネージャ（１００）が監視しているジョブ実行エージェントの数だけ処理を繰り返すループ処理を行う。このループ処理では、まずジョブ実行エージェントと通信を行う（ステップ５０６）。この通信では、当該ジョブ管理マネージャが正常動作しているか否かを示す情報とともに、当該ジョブ実行エージェントで実行中のジョブに関する各種情報を収集する。当該ジョブ実行エージェントから正常動作している旨を示す情報を受信したか否かを判定する（ステップ５０７）。正常動作している場合は、次のジョブ実行エージェントの処理へループを進める。ステップ５０７で異常が発生している旨を示す情報を受信した場合、あるいは一定時間経過しても当該ジョブ実行エージェントから応答がない場合は、異常と判断をして、ジョブ実行エージェントの異常処理（図７で後述する）を行う（ステップ５０８）。すべてのジョブ実行エージェントに対して処理が終了したらループを抜ける。また、すべてのジョブ管理マネージャに対して処理が終了したら、ジョブ管理マネージャのループも抜けて、処理を終了する。
【００２６】
図６は、図５のステップ５０４で実行するジョブ管理マネージャの異常処理の概要を示すフローチャートである。まず、ジョブ管理マネージャ異常情報テーブルを参照して、異常を検出したジョブ管理マネージャのジョブ管理マネージャ名が存在するか否かを判定する（ステップ６０１）。ジョブ管理マネージャ異常情報テーブル（図１０で詳しく説明する）は、異常が発生したジョブ管理マネージャに関する情報を格納するテーブルである。ジョブ管理マネージャ異常情報テーブルに当該ジョブ管理マネージャ名が既に有る場合は、ジョブ管理マネージャの異常処理を終了する。無い場合は、当該ジョブ管理マネージャに関する異常情報をジョブ管理マネージャ異常情報テーブルに追加する（ステップ６０２）。また、追加したレコード中のマネージャの切り替え先拠点名（１００６）および切り替え先ジョブ管理マネージャ名（１００７）を、新たに切り替えてジョブを継続実行する拠点名およびジョブ管理マネージャ名に、更新する（ステップ６０３）。次に、ジョブ管理マネージャの変更を行う（ステップ６０４）。また、ジョブ管理マネージャ情報テーブルを更新する（ステップ６０５）。ジョブ管理マネージャ情報テーブル（図８で詳しく説明する）は、各ジョブ管理マネージャに関する情報を格納するテーブルである。以上で、ジョブ管理マネージャの異常処理を終了する。
【００２７】
図７は、図５のステップ５０８で実行するジョブ実行エージェントの異常処理の概要を示すフローチャートである。まず、ジョブ実行エージェント異常情報テーブルを参照して、異常を検出したジョブ実行エージェントのジョブ実行エージェント名が存在するか否かを判定する（ステップ７０１）。ジョブ実行エージェント異常情報テーブル（図１１で詳しく説明する）は、異常が発生したジョブ実行エージェントに関する情報を格納するテーブルである。ジョブ実行エージェント異常情報テーブルに当該ジョブ実行エージェント名が既に有る場合は、ジョブ実行エージェントの異常処理を終了する。無い場合は、当該ジョブ実行エージェントに関する異常情報をジョブ実行エージェント異常情報テーブルに追加する（ステップ７０２）。次に、当該ジョブ実行エージェントの親サーバに当るジョブ管理マネージャが停止しているか否かの判断を行う（ステップ７０３）。稼働中の場合は、ジョブ実行エージェント異常情報テーブルの当該ジョブ実行エージェントのレコードの切り替え先拠点名（１１０７）、切り替え先ジョブ管理マネージャ名（１１０８）、および切り替え先ジョブ実行エージェント名（１１０９）を、新たに切り替えてジョブを継続実行する拠点名、ジョブ管理マネージャ名、およびジョブ実行エージェント名に更新する（ステップ７０４）。次に、ジョブ実行エージェントを再起動し（ステップ７０７）、ジョブ実行エージェント情報テーブルを更新する（ステップ７０８）。
【００２８】
ステップ７０３でジョブ管理マネージャが停止している場合は、ジョブ実行エージェント異常情報テーブルの当該ジョブ実行エージェントのレコードの切り替え先拠点名（１１０７）、切り替え先ジョブ管理マネージャ名（１１０８）、および切り替え先ジョブ実行エージェント名（１１０９）を、新たに親サーバーとなる拠点名およびジョブ管理マネージャ名に更新する（ステップ７０５）。次に、ジョブ管理マネージャを切り替え（ステップ７０６）、ジョブ実行エージェントを再起動し（ステップ７０７）、ジョブ実行エージェント情報テーブルを更新する（ステップ７０８）。
【００２９】
以上でジョブ実行エージェントの異常処理を終了する。
【００３０】
図８は、統合ジョブ管理マネージャ（１００）が管理するジョブ管理マネージャ情報テーブルのデータ構成図を示す。本テーブルには、統合ジョブ管理マネージャ（１００）が管理を行っているジョブ管理マネージャに関する情報を登録する。各レコード８００，８１０，８２０，８３０は、それぞれが１つのジョブ管理マネージャに関する情報を登録するレコードであり、統合ジョブ管理マネージャ（１００）が監視を行っているジョブ管理マネージャの数だけのレコードが登録されている。
【００３１】
１レコードは、ジョブ管理マネージャ名（８０１）、IPアドレス（８０２）、拠点名（８０３）、Version（８０４）、状態（８０５）、管理ジョブ数（８０６）、管理ジョブ１（８０７）、管理ジョブ２（８０８）、および、管理ジョブ３（８０９）の各エリアデータから構成される。統合ジョブ管理マネージャ（１００）は、ジョブ管理マネージャと通信を行って、当該ジョブ管理マネージャに関するこれらの情報を受信し、ジョブ管理マネージャ情報テーブルに格納する。
【００３２】
図９は、統合ジョブ管理マネージャ（１００）が管理するジョブ管理マネージャ配下ジョブ実行エージェント情報テーブルのデータ構成図を示す。本テーブルには、統合ジョブ管理マネージャ（１００）が監視を行っているジョブ実行エージェントに関する情報を登録する。各レコード９００，９１０，９２０，９３０，９４０，９５０は、それぞれが１つのジョブ実行エージェントに関する情報を登録するレコードであり、統合ジョブ管理マネージャ（１００）が監視を行っているジョブ実行エージェントの数だけのレコードが登録されている。
【００３３】
１レコードは、ジョブ実行エージェント名（９０１）、IPアドレス（９０２）、拠点名（９０３）、Version（９０４）、状態（９０５）、および、親サーバ名（ジョブ管理マネージャ）（９０６）の各エリアデータから構成される。統合ジョブ管理マネージャ（１００）は、ジョブ実行エージェントと通信を行ったときに、当該ジョブ実行エージェントに関するこれらの情報を受信し、ジョブ実行エージェント情報テーブルに格納する。
【００３４】
図１０は、統合ジョブ管理マネージャ（１００）が管理するジョブ管理マネージャ異常情報テーブルのデータ構成図を示す。本テーブルには、統合ジョブ管理マネージャ（１００）が監視を行っているジョブ管理マネージャに異常が発生した場合に、当該ジョブ管理マネージャに関する情報を登録する。各レコード１０００，１０１０，１０２０，１０３０は、それぞれが１つのジョブ管理マネージャに関する情報を登録するレコードであり、異常が発生したジョブ管理マネージャの数だけのレコードが登録されている。
【００３５】
１レコードは、ジョブ管理マネージャ名（１００１）、IPアドレス（１００２）、拠点名（１００３）、Version（１００４）、追加登録日（１００５）、切り替え先拠点名（１００６）、および、切り替え先ジョブ管理マネージャ名（１００７）の各エリアデータから構成される。統合ジョブ管理マネージャ（１００）は、ジョブ管理マネージャと通信を行い、そのジョブ管理マネージャに異常が発生していると判断したとき、（ジョブ管理マネージャ異常情報テーブルに同じジョブ管理マネージャ名が存在しない場合には、）これらの情報を格納する。
【００３６】
図１１は、統合ジョブ管理マネージャ（１００）のジョブ実行エージェント異常情報テーブルのデータ構成図を示す。本テーブルには、統合ジョブ管理マネージャ（１００）が監視を行っているジョブ実行エージェントに異常が発生した場合に、当該ジョブ実行エージェントに関する情報を登録する。各レコード１１００，１１１０，１１２０，１１３０は、それぞれが１つのジョブ実行エージェントに関する情報を登録するレコードであり、異常が発生したジョブ実行エージェントの数だけのレコードが登録されている。
【００３７】
１レコードは、ジョブ実行エージェント名（１１０１）、IPアドレス（１１０２）、拠点名（１１０３）、親サーバ名（１１０４）、Version（１１０５）、追加登録日（１１０６）、切り替え先拠点名（１１０７）、切り替え先ジョブ管理マネージャ名（１１０８）、および、切り替え先ジョブ実行エージェント名（１１０９）の各エリアデータから構成される。統合ジョブ管理マネージャ（１００）は、ジョブ実行エージェントと通信を行い、そのジョブ実行エージェントに異常が発生していると判断したとき、（ジョブ実行エージェント情報テーブルに同じジョブ実行エージェント名が存在しない場合には、）これらの情報を格納する。
【００３８】
上述の図２〜４に示した異常が検出された各場合で、上記フローチャートに沿ってどのように処理が進むかについて説明する。
【００３９】
まず図２の場合、統合ジョブ管理マネージャ（１００）は、図５のステップ５０３でジョブ管理マネージャA（１１０）に異常が発生していることを検知し、ステップ５０４で図６の異常処理を行う。図１０のジョブ管理マネージャ異常情報テーブルにジョブ管理マネージャA（１１０）に関するレコードが未だ無かったときは、図６のステップ６０２で、ジョブ管理マネージャ異常情報テーブルに、ジョブ管理マネージャA（１１０）に関するレコードが追加される。このとき、ジョブ管理マネージャ名（１００１）はジョブ管理マネージャA（１１０）とし、IPアドレス（１００２）、拠点名（１００３）、Version（１００４）、および追加登録日（１００５）には、当該ジョブ管理マネージャA（１１０）についてのそれらの情報を設定する。また、ステップ６０３で、当該レコードの切り替え先拠点名（１００６）および切り替え先ジョブ管理マネージャ名（１００７）に、代行機である拠点Bのジョブ管理マネージャB（１２０）を設定する。さらに、ステップ６０４では、ジョブ管理マネージャを変更する。この処理は、いままでジョブ管理マネージャA（１１０）が担っていた役割（発生したジョブを配下のエージェントに実行させてその実行結果を受け取りジョブ依頼元などに送る機能）をジョブ管理マネージャB（１２０）に切り替える処理である。次にステップ６０５では、図８のジョブ管理マネージャ情報テーブルのジョブ管理マネージャA（１１０）のレコードの状態（８０５）を「停止中」とし、管理ジョブ数（８０６）を「０」とする。以上により、これ以降、ジョブ管理マネージャA（１１０）の役割はジョブ管理マネージャB（１２０）に引き継がれ、ジョブの実行を継続して行うことができる。
【００４０】
次に図３の場合、統合ジョブ管理マネージャ（１００）は、図５のステップ５０３ではジョブ管理マネージャA（１１０）が正常動作していることを検知し、ステップ５０５に進む。ステップ５０５のループ処理内のステップ５０６，５０７で、まずジョブ実行エージェントA1（１１２）の異常を検出するので、ステップ５０８で図７の異常処理を行う。図１１のジョブ実行エージェント異常情報テーブルにジョブ実行エージェントA1（１１２）に関するレコードが未だ無かったときは、図７のステップ７０２で、ジョブ実行エージェント異常情報テーブルに、ジョブ実行エージェントA1（１１２）に関するレコードが追加される。このとき、ジョブ実行エージェント名（１１０１）はジョブ実行エージェントA1（１１２）とし、IPアドレス（１１０２）、拠点名（１１０３）、親サーバ名（１１０４）、Version（１１０５）、および追加登録日（１１０６）には、当該ジョブ実行エージェントA1（１１２）についてのそれらの情報を設定する。次に、ステップ７０３で、ジョブ実行エージェントA1（１１２）の親サーバであるジョブ管理マネージャA（１１０）が停止していないかチェックするが、ここではジョブ管理マネージャA（１１０）は正常に動作しているので、ステップ７０４に進む。
【００４１】
ステップ７０４では、ステップ７０２で追加したジョブ実行エージェント異常情報テーブルのジョブ実行エージェントA1（１１２）に関するレコードの切り替え先拠点名（１１０７）、切り替え先ジョブ管理マネージャ名（１１０８）、および、切り替え先ジョブ実行エージェント名（１１０９）に、代行機である拠点Bのジョブ管理マネージャB（１２０）とジョブ実行エージェントB1（１２２）を設定する。次に、ジョブ実行エージェントB1（１２２）を再起動し（ステップ７０７）、ジョブ実行エージェント情報テーブルを更新する（ステップ７０８）。ジョブ実行エージェントA2（１１３）についても、ステップ５０５のループ処理の中で同様に処理する。以上により、異常が発生したジョブ実行エージェントA1（１１２）およびジョブ実行エージェントA2（１１３）で実行していた全てのジョブは、代行機である拠点Bのジョブ実行エージェントB1（１２２）およびジョブ実行エージェントB2（１２３）に移行され、継続して実行されることになる。ジョブ管理マネージャA（１１０）の管理下で正常に動作しているジョブ実行エージェントA3（１１４）については、親サーバーがジョブ管理マネージャA（１１０）のまま動作が継続される。
【００４２】
次に図４の場合、統合ジョブ管理マネージャ（１００）は、図５のステップ５０３でジョブ管理マネージャA（１１０）に異常が発生していることを検知し、ステップ５０４で図６の異常処理を行う。この異常処理では、上記図２の場合で説明したのと同様にして、ジョブ管理マネージャA（１１０）の役割をジョブ管理マネージャB（１２０）で引き継ぎ、以降のジョブの実行を継続して行うことができるようにする。
【００４３】
さらに、ステップ５０５のループ処理で、ジョブ実行エージェントA1（１１２）の異常を検出し、ステップ５０８で図７の異常処理を行う。図１１のジョブ実行エージェント異常情報テーブルにジョブ実行エージェントA1（１１２）に関するレコードが未だ無かったときは、図７のステップ７０２で、ジョブ実行エージェント異常情報テーブルに、ジョブ実行エージェントA1（１１２）に関するレコードが追加される。次に、ステップ７０３で、ジョブ実行エージェントA1（１１２）の親サーバであるジョブ管理マネージャA（１１０）が停止していないかチェックするが、ここではジョブ管理マネージャA（１１０）は停止しているので、ステップ７０５に進む。ステップ７０５では、ステップ７０２で追加したジョブ実行エージェント異常情報テーブルのジョブ実行エージェントA1（１１２）に関するレコードの切り替え先拠点名（１１０７）、切り替え先ジョブ管理マネージャ名（１１０８）、および、切り替え先ジョブ実行エージェント名（１１０９）に、代行機である拠点Bのジョブ管理マネージャB（１２０）とジョブ実行エージェントB2（１２３）を設定する。次に、ステップ７０６〜７０８の処理を行う。ジョブ実行エージェントA2（１１３）についても同様に処理される。これにより、異常が発生したジョブ実行エージェントA1（１１２）およびジョブ実行エージェントA2（１１３）で実行していた全てのジョブは、代行機である拠点Bのジョブ実行エージェントB2（１２３）およびジョブ実行エージェントB1（１２２）に移行され、継続して実行されることになる。
【００４４】
さらに、図４で正常に動作しているジョブ実行エージェントA3（１１４）については、ステップ５０７で正常であると判定されるが、このステップ５０７の例外的処理によりステップ５０８の異常処理に進むものとする。ステップ５０７の例外的処理とは、判定対象のジョブ実行エージェントが正常動作していたとしても、親サーバであるジョブ管理マネージャに異常が発生しており、かつ、当該ジョブ実行エージェントで実行中のジョブがあった場合は、ステップ５０７から５０８に進んで当該ジョブ実行エージェントの異常処理（当該ジョブ実行エージェントに異常が発生しているわけではないが、その親サーバに異常が発生しているので、その親サーバを切り替える必要があり、異常処理の中でその切り替え処理を行うものである）を行う。親サーバであるジョブ管理マネージャが正常である場合、あるいは親サーバに異常が発生しているが当該ジョブ実行エージェントで実行中のジョブが無い場合は、当該ジョブ実行エージェントの異常処理を行う必要がないので、ステップ５０７から次のジョブ実行エージェントのループ処理に進む。
【００４５】
図４のジョブ実行エージェントA3（１１４）についての図７の異常処理で、図１１のジョブ実行エージェント異常情報テーブルにジョブ実行エージェントA3（１１４）に関するレコードが未だ無かったときは、ステップ７０２で、ジョブ実行エージェント異常情報テーブルに、ジョブ実行エージェントA3（１１４）に関するレコードが追加される。次に、ステップ７０３で、ジョブ実行エージェントA3（１１４）の親サーバであるジョブ管理マネージャA（１１０）が停止していないかチェックするが、ここではジョブ管理マネージャA（１１０）は停止しているので、ステップ７０５に進む。ステップ７０５では、ステップ７０２で追加したジョブ実行エージェント異常情報テーブルのジョブ実行エージェントA3（１１４）に関するレコードの切り替え先拠点名（１１０７）と切り替え先ジョブ管理マネージャ名（１１０８）に代行機である拠点Bのジョブ管理マネージャB（１２０）を設定する。なお、ジョブ実行エージェントA3（１１４）自体は正常動作しているので、切り替え先ジョブ実行エージェント名（１１０９）の設定は不要である。次に、ステップ７０６→７０７→７０８と進む。以上により、ジョブ実行エージェントA3（１１４）の親サーバがジョブ管理マネージャB（１２０）に切り替えられるので、ジョブ実行エージェントA3（１１４）で実行中のジョブの実行結果は、ジョブ管理マネージャB（１２０）に送られて処理される。
【符号の説明】
【００４６】
１００…統合ジョブ管理マネージャ、１１０…ジョブ管理マネージャA、１１１…業務運用管理システムDB、１１２…ジョブ実行エージェントA1、１１３…ジョブ実行エージェントA2、１１４…ジョブ実行エージェントA3、１２０…ジョブ管理マネージャB、１２１…業務運用管理システムDB、１２２…ジョブ実行エージェントB1、１２３…ジョブ実行エージェントB2、１２４…ジョブ実行エージェントB3、１３０…ジョブ・ジョブネット監視部。
【図１】
2011076512.tif 000003
【図２】
2011076512.tif 000004
【図３】
2011076512.tif 000005
【図４】
2011076512.tif 000006
【図５】
2011076512.tif 000007
【図６】
2011076512.tif 000008
【図７】
2011076512.tif 000009
【図８】
2011076512.tif 000010
【図９】
2011076512.tif 000011
【図１０】
2011076512.tif 000012
【図１１】
2011076512.tif 000013