(57)【要約】【課題】ユーザが物理レベルを意識した設定に依存せずにジョブ管理を適切に行うことを可能にする。【解決手段】本発明に係るバッチジョブ管理システムは、エージェント２００と、マネージャ１００と、がネットワークを介して接続されるバッチジョブ管理システムであって、エージェント２００は、任意の識別子情報を記憶するバッチジョブ実行ＤＢ２０２を有し、マネージャ１００は、識別子とバッチジョブ実行エージェントとを紐付けて記憶する識別子ＤＢ１０７と、ユーザがバッチジョブの定義をする際、選択可能な識別子の一覧を識別子ＤＢ１０７より取得してユーザに提示するバッチジョブ定義処理部１０１と、を有することを特徴とする。【選択図】図１
2009211426.tif 000002
【特許請求の範囲】
【請求項１】
バッチジョブ実行エージェントと、バッチジョブ管理装置と、がネットワークを介して接続されるバッチジョブ管理システムであって、
前記バッチジョブ実行エージェントは、
任意の識別子情報を記憶するバッチジョブ実行データベースを有し、
前記バッチジョブ管理装置は、
識別子とバッチジョブ実行エージェントとを紐付けて記憶する識別子データベースと、
ユーザがバッチジョブの定義をする際、選択可能な識別子の一覧を前記識別子データベースより取得してユーザに提示するバッチジョブ定義処理手段と、
を有することを特徴とする、バッチジョブ管理システム。
【請求項２】
前記バッチジョブ定義処理手段は、ユーザによるバッチジョブの定義がなされた際、バッチジョブに識別子が用いられている場合、当該識別子にバッチジョブ名を含むバッチジョブ情報を付与し、前記識別子データベースに記憶させることを特徴とする、請求項１記載のバッチジョブ管理システム。
【請求項３】
前記バッチジョブ管理装置は、さらに、バッチジョブの実行を制御するフロー制御手段を有し、
前記フロー制御手段は、バッチジョブの名前でクエリを発行することによって前記識別子データベースからバッチジョブ実行エージェントを決定し、バッチジョブの実行を決定したバッチジョブ実行エージェントに行わせることを特徴とする、請求項１又は２記載のバッチジョブ管理システム。
【請求項４】
前記バッチジョブ管理装置は、さらに、前記識別子データベースを管理する識別子処理手段を有し、
前記識別子処理手段は、ユーザにより任意の識別子の監視を行う旨の入力を受けると、当該識別子と紐付けられているバッチジョブ実行エージェントの一覧を前記識別子データベースから取得し、取得した一覧に基づいたバッチジョブ実行エージェントに実行されているバッチジョブ一覧の情報を要求し、
前記バッチジョブ実行エージェントは、前記バッチジョブ実行データベースから前記バッチジョブ一覧の情報を抽出して、前記識別子処理手段に返し、
前記識別子処理手段は、前記バッチジョブ一覧の情報からユーザが要求した識別子に一致するバッチジョブ情報だけをフィルタして、ユーザに提示することを特徴とする、請求項１から３のいずれか１項記載のバッチジョブ管理システム。
【請求項５】
バッチジョブ実行エージェントと、ネットワークを介して接続されるバッチジョブ管理装置であって、
任意の識別子とバッチジョブ実行エージェントとを紐付けて記憶する識別子データベースと、
ユーザがバッチジョブの定義をする際、選択可能な識別子の一覧を前記識別子データベースより取得してユーザに提示するバッチジョブ定義処理手段と、
を有することを特徴とする、バッチジョブ管理装置。
【請求項６】
バッチジョブ実行エージェントと、ネットワークを介して接続される情報処理装置を、
任意の識別子とバッチジョブ実行エージェントとを紐付けて記憶する識別子データベースと、
ユーザがバッチジョブの定義をする際、選択可能な識別子の一覧を前記識別子データベースより取得してユーザに提示するバッチジョブ定義処理手段と、
を有するバッチジョブ管理装置として機能させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッチジョブ管理システム、装置及びプログラムに関し、特に、バッチジョブ管理製品に関する。
【背景技術】
【０００２】
本発明は、運用管理分野におけるジョブ管理製品に関わる発明である。ジョブ管理製品とは、バッチジョブを目的に応じて前後関係を設け、それをフロー状に定義したジョブネットワーク及びそのバッチジョブを処理するためのプログラム群から成る。このときの運用形態としては、マネージャと呼ばれるマシンでバッチジョブの定義情報を管理、及び、ジョブネットワークのフロー制御を行い、実際のバッチジョブの実行はその目的に応じた他のサーバ（エージェント）へ転送を行い、そこで実行させるといったものが一般的に考えられる。
【０００３】
以下に本明細書中での言葉の定義をしておく。
本明細書において、「バッチジョブ」は、業務などのある１つの目的のために定義された処理手続きをいう。シェルスクリプト（Ｕｎｉｘ（登録商標））やバッチスクリプト（Ｗｉｎｄｏｗｓ（登録商標））で記述される。
【０００４】
同様に本明細書において、「ジョブネットワーク」は、複雑な判断を伴う自動運用のため、より大きなまとまりで上記バッチジョブを順序付けてグルーピングしたものをいう。一般にフロー状に記述され、順番に実行するだけでなく、並列実行や、前段の実行結果により処理を分岐させるといった複雑な制御が可能になる。
【０００５】
同様に本明細書において、「マネージャ」は、上記バッチジョブやジョブネットワークの定義情報を管理し、またジョブネットワークのフロー制御を行う機能をもったサーバをいう。実際のバッチジョブの実行は他のリモートのサーバへ転送する。
同様に本明細書において、「エージェント」は、バッチジョブの実行を行う機能をもったサーバをいう。
【０００６】
本発明に関連する技術を開示する文献として、特許文献１と２を挙げる。特許文献１は、書類印刷の処理に用いる技術という前提で、ワークフロー制御により複数の処理をサービス処理装置に転送させて実行させるというジョブ管理に関する記載がある。また、特許文献２は、一般的なジョブ管理製品の仕組みについて記載がある。
【特許文献１】特開２００４−２８７８５９号公報
【特許文献２】特開２００６−２７７６９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
現在の一般的なジョブ管理製品では、バッチジョブの作成・設計を行う際、設定する情報は物理レベルを意識した設定に依存している。例えば、バッチジョブの転送先を指定する場合、そのバッチジョブが実行するアプリケーション（以下、「ＡＰ」と略す）や業務の内容に応じて転送するエージェントを決定しなければならない。このとき、どのエージェントに転送すべきかというのは、そのバッチジョブが実行するＡＰがインストールされているかどうかや、プラットフォーム、その他ユーザ要件など様々な要因から決定されるが、そのような場合にエージェント名だけを見て判断することは困難なことが多い。
【０００８】
通常、このようなバッチジョブの転送先を決定する場合には、エージェントの名称やスペック、インストールされているプログラムなどが詳細に記述された、ジョブ管理製品の外部で管理されるサーバ情報の一覧を見ながら、１つ１つユーザが指定しなければならない。これは、ジョブ管理製品の中では、サーバとは単一の名称を持つマシンに過ぎず、実際にはその中にインストールされているＡＰの情報などは紐付けて管理されていないためである。
【０００９】
また、運用時における監視・制御の場面でも欠点がある。それは、バッチジョブの監視・制御がジョブネットワーク単位やエージェント単位といった固定的な視点での監視しか行えず、他の異なる視点での監視・管理ができないということである。
【００１０】
例えば同じ目的をもつ複数のバッチジョブを実行させる際に、負荷分散のために複数のエージェントへ転送した場合、それら１つ１つのバッチジョブはどこへ転送されたかの情報は記録されているので、それぞれを個別に確認することは可能である。しかしこのような同じ目的のために実行しているバッチジョブは、それらを一元的に監視したいと思うことが多々ある。
【００１１】
このような場合、それらのバッチジョブが１つのジョブネットワークの中でまとまっていればその中で一元的に監視・制御を行うことも可能であるが、複数のジョブネットワークに存在している場合には一元監視は行えない。１つ１つのバッチジョブを一元監視するためには、それらを何らかの方法で結びつける必要があるが、そのようなユーザが意図したキーが存在しない。また、同じジョブネットワークであってもそれ以外のバッチジョブも存在する場合には目的のものだけを一括して制御したいと思っても、そのジョブネットワークの中で選択する必要が出てくる。
【００１２】
そこで本発明は、上記実情に鑑みて、ユーザが物理レベルを意識した設定に依存せずにジョブ管理を適切に行うことを可能にするバッチジョブ管理システム、装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために本発明は、以下の特徴を有することとする。
【００１４】
本発明に係るバッチジョブ管理システムは、バッチジョブ実行エージェントと、バッチジョブ管理装置と、がネットワークを介して接続されるバッチジョブ管理システムであって、前記バッチジョブ実行エージェントは、任意の識別子情報を記憶するバッチジョブ実行データベースを有し、前記バッチジョブ管理装置は、識別子とバッチジョブ実行エージェントとを紐付けて記憶する識別子データベースと、ユーザがバッチジョブの定義をする際、選択可能な識別子の一覧を前記識別子データベースより取得してユーザに提示するバッチジョブ定義処理手段と、を有することを特徴とする。
【００１５】
本発明に係るバッチジョブ管理装置は、バッチジョブ実行エージェントと、ネットワークを介して接続されるバッチジョブ管理装置であって、任意の識別子とバッチジョブ実行エージェントとを紐付けて記憶する識別子データベースと、ユーザがバッチジョブの定義をする際、選択可能な識別子の一覧を前記識別子データベースより取得してユーザに提示するバッチジョブ定義処理手段と、を有することを特徴とする。
【００１６】
本発明に係るプログラムは、バッチジョブ実行エージェントと、ネットワークを介して接続される情報処理装置を、任意の識別子とバッチジョブ実行エージェントとを紐付けて記憶する識別子データベースと、ユーザがバッチジョブの定義をする際、選択可能な識別子の一覧を前記識別子データベースより取得してユーザに提示するバッチジョブ定義処理手段と、を有するバッチジョブ管理装置として機能させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ユーザが物理レベルを意識した設定に依存せずにジョブ管理を適切に行うことを可能にするバッチジョブ管理システム、装置及びプログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１８】
本発明の最適な実施形態の構成を説明する。本実施形態の構成例は図１とし、本実施形態は、以下の装置ないしは処理部をもつことを特徴とする。
【００１９】
図１において、マネージャ１００は、バッチジョブ定義処理部１０１と、バッチジョブ定義ＤＢ１０２と、フロー制御エンジン１０３と、バッチジョブ転送処理部１０４と、エージェントＤＢ１０５と、識別子処理部１０６と、識別子ＤＢ１０７と、を備える。
【００２０】
バッチジョブ定義処理部１０１は、バッチジョブ定義の作成や変更を行う機能を有する。バッチジョブ定義ＤＢ１０２は、バッチジョブ定義情報が格納されたデータベースである。フロー制御エンジン１０３は、実行指示されたジョブネットワークを制御し、フロー順に従ってバッチジョブの起動を行う機能を有する。
【００２１】
バッチジョブ転送処理部１０４は、フロー制御エンジン１０３からバッチジョブの起動処理を受け付け、指定されているエージェント２００へそのバッチジョブを転送する機能を有する。エージェントＤＢ１０５は、当該マネージャ１００に登録されているエージェント情報、及びエージェントに転送したバッチジョブの情報が格納されるデータベースである。
【００２２】
識別子処理部１０６は、識別子情報を管理し、バッチジョブ定義処理部１０１又はバッチジョブ転送処理部１０４からの識別子更新要求や検索要求を受け付ける機能を有する。識別子ＤＢ１０７は、エージェント及びバッチジョブに付与される識別子情報が格納されるデータベースである。
【００２３】
図１において、エージェント２００は、実行処理部２０１と、バッチジョブ実行ＤＢ２０２と、を備える。実行処理部２０１は、マネージャ１００からの転送処理を受け付け、バッチジョブの実行を行う機能を有する。バッチジョブ実行ＤＢ２０２は、エージェント２００で受け付けたバッチジョブの情報が格納されたデータベースである。また、バッチジョブ実行ＤＢ２０２には、バッチジョブの終了ステータスなどの情報も記録される。
【００２４】
次に、本実施形態の動作の説明を、以下の３つの場面（定義作成時、実行時、監視・制御時）に分けて説明する。なお、識別子情報は、あらかじめ登録されているエージェント２００には、それぞれ付与されているものとする。すなわち、例えば、マネージャ１００にエージェント２００を登録する際に、ユーザが一緒に定義しておくものとする。
【００２５】
まず、本実施形態の定義作成時の動作（定義作成処理）について、図２を参照して説明する。
【００２６】
図２において、ユーザがバッチジョブ定義作成命令を行うと、マネージャ１００は、当該作成命令を受け付ける（ステップＳ２０１）。バッチジョブ定義処理部１０１は、対象のバッチジョブを作成する（ステップＳ２０２）とともに、識別子処理部１０６に選択可能な識別子一覧を要求し（ステップＳ２０３）、取得した識別子一覧をユーザへ表示する（ステップＳ２０４）。
【００２７】
ユーザは、表示された識別子一覧から、そのバッチジョブの処理に応じた識別子を選択・決定する。バッチジョブ定義処理部１０１は、選択された識別子を識別子処理部１０６に転送し（ステップＳ２０５）、識別子処理部１０６は、選択された識別子情報に対象バッチジョブの情報を付与して（ステップＳ２０６）、識別子ＤＢ１０７を更新する（ステップＳ２０７）。
【００２８】
以上の処理は、従来のバッチジョブ作成時の転送先のエージェントを決定する作業に取って代わるものであり、ユーザはバッチジョブ作成の場面で、いちいちどのエージェントに何がインストールされどこに転送しなければならないか、といったことを気にする必要がなくなる。
【００２９】
次に、本実施形態のバッチジョブ実行時の動作（バッチジョブ実行処理）について、図３を参照して説明する。
【００３０】
図３に示すバッチジョブ実行処理は、ユーザによる指示等により、投入指示がフロー制御エンジン１０３に対して行われることによって始まる。なお、この投入指示はユーザからの直接要求、又はスケジューラ機能などによる時刻起動要求でもどちらでも良い。このとき、図３において、フロー制御エンジン１０３は、対象バッチジョブの定義情報をバッチジョブ定義処理部１０１に対して要求し、バッチジョブ定義処理部１０１は、要求された情報をバッチジョブ定義ＤＢ１０２から読み出し、フロー制御エンジン１０３に対して返却する（図３におけるステップＳ３０１）。
【００３１】
フロー制御エンジン１０３は、フロー定義に従って順にバッチジョブを起動し、バッチジョブ転送処理部１０４に処理を依頼する（ステップＳ３０２）。バッチジョブ転送処理部１０４は、対象のバッチジョブを転送すべきエージェントを決定するために、識別子処理部１０６に対してバッチジョブ名でクエリを行う（ステップＳ３０３）。識別子処理部１０６は、識別子ＤＢ１０７から対象のバッチジョブに付与されている識別子及びその識別子に一致するエージェントを検索し、バッチジョブ転送処理部１０４へ返却する（ステップＳ３０４）。
【００３２】
エージェント名を受け取ったバッチジョブ転送処理部１０４は、対象バッチジョブ情報をそのエージェント２００へ転送処理を行い（ステップＳ３０５）、エージェントＤＢ１０５を更新して転送先を記録する（ステップＳ３０６）。転送されたバッチジョブ情報を受け取ったエージェント２００側の実行処理部２０１は、バッチジョブ実行ＤＢ２０２を更新し、対象のバッチジョブの実行を行う。
【００３３】
なお、本発明の実施形態においては、同じ識別子を複数のエージェントやバッチジョブに定義してもよい。例えばある識別子Ａを付与されたエージェントが２台あった場合、同じく識別子Ａを付与されたバッチジョブはいずれかのエージェントに転送されることとなる（例えば、図３のステップＳ３０４等参照）。しかしながら、どのエージェントへ転送するかということについては、負荷分散などのアルゴリズムが関係してくるため、本明細書では言及しないこととする。
【００３４】
次に、本実施形態の監視・制御時の動作について、図４を参照して説明する。
【００３５】
図４に示す監視・制御処理は、ユーザが監視・制御を行いたい識別子を識別子処理部１０６に要求することによって始まる。図４において、識別子処理部１０６は、当該要求を受け付けると（ステップＳ４０１）、識別子ＤＢ１０７から要求された識別子に一致するエージェントを抽出し（ステップＳ４０２）、そのエージェント上で実行されているバッチジョブ情報をバッチジョブ転送処理部１０４に要求する（ステップＳ４０３）。
【００３６】
バッチジョブ転送処理部１０４は、要求されたエージェント上で実行されているバッチジョブ一覧の情報を対象エージェントに対して要求して取得する（ステップＳ４０４）。バッチジョブ転送処理部１０４は、取得した一覧を識別子処理部１０６へとさらに転送し、識別子処理部１０６では返却されたバッチジョブ一覧情報からユーザが要求した識別子に一致するバッチジョブ情報だけをフィルタして、ユーザへ表示を行う（ステップＳ４０５）。
【００３７】
以上の処理により、ユーザは目的の識別子に応じたバッチジョブを一元的に監視でき、また同様に制御を行うことが可能である。
【００３８】
なお、取得したバッチジョブ一覧をさらに識別子でフィルタするのは、エージェント上で実行されているバッチジョブ一覧を取得しているため、目的の識別子以外のバッチジョブも実行されている可能性があるためである。
【００３９】
以上に本実施形態の構成及び動作を説明した。次に、本実施形態の効果について説明する。上述した本実施形態の第１の効果としては、バッチジョブの設計時に、ユーザはそのバッチジョブで実行するＡＰや業務の内容を意識して設計を行うことが可能となることである。これは、ユーザがどこのエージェントかといった物理的な方法で転送先の指定を行うのではなく、任意の意味のある識別子で指定できるようになるためである。
【００４０】
また第二の効果としては、実際の運用を行う場面で、ユーザは実行する業務ＡＰごとに監視・制御を行うことが可能になるということである。これは、ユーザがあらかじめ作成した任意の識別子によりフィルタしてバッチジョブを監視できるため、例えば負荷分散機能利用時などに、どこのエージェントへ転送されたかを意識して監視する必要がない。
【００４１】
最後に、本実施形態の概要を以下にまとめる。
ジョブ管理製品を利用するユーザは、あらかじめ業務ＡＰなどの目的に応じた任意の識別子を用意し、エージェントに対して定義しておく。バッチジョブの設計時、転送先のエージェントを指定する際、ユーザは直接エージェントの名前を指定するのではなく、この識別子を選択する。これによりバッチジョブとエージェントを、業務ＡＰを意識した識別子（キーワード）で紐付けることが可能になる。また実行時には、バッチジョブは指定された識別子に一致するエージェントに転送され実行される。また監視時には、ユーザは目的に応じた識別子でバッチジョブ一覧情報を取得できるため、ジョブネットワーク単位やエージェント単位といった物理的な枠組みにこだわることなく監視・制御を行うことが可能となる。
【００４２】
（他の実施形態）
上記実施形態の応用的な構成例を以下に説明する。
【００４３】
監視・制御時の場面において前述の説明では、ユーザはバッチジョブ一覧を要求しているものとしており、このとき表示される情報としてはユーザが指定した識別子に一致するバッチジョブ一覧だけとなる。しかしながら、エージェント上で実行されている目的のバッチジョブだけを確認するのではなく、そのエージェント上で実行されている他のバッチジョブも確認したいときがある。例えば、目的はそのバッチジョブ情報を確認することであったが、そのバッチジョブがまだ実行されていなかった場合、ユーザはそのエージェント上に転送された他のバッチジョブもさらに確認し、何故実行されていないのかといった理由を知りたいためである（多くのバッチジョブが転送されているため順番待ちをしている、といったような理由を知りたい。）。
【００４４】
このような場合、上記実施形態における「識別子に一致するバッチジョブ一覧」に換えて、「識別子に一致するエージェント一覧」を要求することで簡単に実現できる。処理の最後でユーザに表示を行う際、図１の識別子処理部１０６では識別子に一致するバッチジョブ一覧だけをフィルタして表示しているが、このフィルタを行うことなく、そのまま表示するだけでよい。このように、ユーザは識別子に応じたバッチジョブ一覧を表示させるのか、エージェント一覧を表示させるのかを、作業目的に応じて変更することができる。
【００４５】
また、上記実施形態のさらに他の応用的な構成例として、次のようなバッチジョブの一括制御を実行するよう構成してもよい。
【００４６】
ある特定の識別子が定義されたバッチジョブを停止させ、かつ、その後も一時的にその識別子が定義されているバッチジョブは実行されない（エージェントに転送されない）ようにしたいとする。これは例えば、あるファイルを読み込んで処理する業務ＡＰがあって、そのファイルの作成は、別の処理で行われているといった場合に、そのファイル作成を行っているところで不具合やサーバの障害があり、作成されるファイルが不正になっている可能性があるため、対象の業務ＡＰを一括して止めて、かつその後も実行されないようにしたい、といったような場合である（あくまで例であり、これ以外にも色々考えられる）。
【００４７】
このような場合、すでに実行中のバッチジョブについては前述の一括制御によって止めてしまうことが可能であるが、フロー上でこれから実行が予定されているものについては、まだエージェントに転送されておらず、前述の方法での一括制御の範疇にはない。しかしながら本発明による実施形態では、業務ＡＰを意識した識別子を定義するので、例えば識別子に有効化／無効化といった概念を持たせ、識別子ＤＢ１０７で識別子の無効化ということを行えば、バッチジョブの実行時に転送先のエージェントを検索するところで、対象識別子が無効化されているため、実行を一時的に中断や保留することが可能になる（どのように処理するかは製品の実装によるものであり、本明細書では言及しない）。
【００４８】
以上、本発明の好適な実施の形態について説明したが、本発明はこれに限定されるものではなく、要旨を逸脱しない範囲内で種々の変形実施が可能である。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態の構成例を示すブロック図である。
【図２】本発明の実施形態の定義作成時の動作を示すフローチャートである。
【図３】本発明の実施形態のバッチジョブ実行時の動作を示すフローチャートである。
【図４】本発明の実施形態の監視・制御時の動作を示すフローチャートである。
【符号の説明】
【００５０】
１００    マネージャ
１０１    バッチジョブ定義処理部
１０２    バッチジョブ定義ＤＢ（データベース）
１０３    フロー制御エンジン
１０４    バッチジョブ転送処理部
１０５    エージェントＤＢ（データベース）
１０６    識別子処理部
１０７    識別子ＤＢ（データベース）
２００    エージェント
２０１    実行処理部
２０２    バッチジョブ実行ＤＢ（データベース）
【図１】
2009211426.tif 000003
【図２】
2009211426.tif 000004
【図３】
2009211426.tif 000005
【図４】
2009211426.tif 000006