(57)【要約】【課題】情報システムの運用管理において、ジョブの登録作業の信頼性を向上させる。【解決手段】ジョブ登録受付部３２は、複数のサーバを有する情報システムにおいて、ジョブの実行に必要な情報であるジョブ定義とジョブにしたがって実行されるバッチコマンドとを含むジョブ登録情報を受け付ける。ジョブ管理部５２は、ジョブ登録情報のうち承認を受けたものをジョブ登録受付部から受け取り保持する。配布部５４は、ジョブ登録情報のうちバッチコマンドを情報システム内のサーバに配布する。ジョブ定義保持部６２は、ジョブ登録情報のうちジョブ定義を保持する。マッチング部５６は、ジョブ管理部に保持されているジョブ登録情報と、サーバに配布されたバッチコマンドに関する情報およびジョブ定義保持部に保持されているジョブ定義とのマッチングを実行し、バッチコマンドおよびジョブ定義が一致するか否かを判定する。【選択図】図２
2008090485.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバを有する情報システムにおいて、バッチコマンドの実行日時および実行順序を定義するジョブの実行を管理する装置であって、
ジョブの実行に必要な情報であるジョブ定義と、ジョブにしたがって実行されるバッチコマンドとを含むジョブ登録情報を受け付けるジョブ登録受付部と、
前記ジョブ登録情報のうち承認を受けたものをジョブ登録受付部から受け取り保持するジョブ管理部と、
前記ジョブ登録情報のうちバッチコマンドを情報システム内のサーバに配布する配布部と、
前記ジョブ登録情報のうちジョブ定義を保持するジョブ定義保持部と、
前記ジョブ管理部に保持されているジョブ登録情報と、前記サーバに配布されたバッチコマンドに関する情報および前記ジョブ定義保持部に保持されているジョブ定義とのマッチングを実行し、バッチコマンドおよびジョブ定義が一致するか否かを判定するマッチング部と、
前記マッチング部によりバッチコマンドおよびジョブ定義が一致していると判定されたとき、前記ジョブ定義保持部内のジョブ定義にしたがって前記サーバでバッチコマンドを実行させるジョブ制御部と、
を備えることを特徴とするジョブ管理装置。
【請求項２】
前記マッチング部は、前記サーバに保持されている該サーバで実行されたバッチコマンドの実行ログと、前記ジョブ管理部に保持されているジョブ登録情報とのマッチングを実行し、該ジョブ登録情報内のバッチコマンドと実行ログに記録されたバッチコマンドとが一致するか否かをさらに判定することを特徴とする請求項１に記載のジョブ管理装置。
【請求項３】
複数のサーバを有する情報システムにおいて、バッチコマンドの実行日時および実行順序を定義するジョブの実行を管理するプログラムであって、
ジョブの実行に必要な情報であるジョブ定義と、ジョブにしたがって実行されるバッチコマンドとを含むジョブ登録情報を受け付ける機能と、
前記ジョブ登録情報のうち承認を受けたものをジョブ管理部に格納する機能と、
前記ジョブ登録情報のうちバッチコマンドを情報システム内のサーバに配布する機能と、
前記ジョブ登録情報のうちジョブ定義をジョブ定義保持部に格納する機能と、
前記ジョブ管理部に保持されているジョブ登録情報と、前記サーバに配布されたバッチコマンドに関する情報および前記ジョブ定義保持部に保持されているジョブ定義とのマッチングを実行し、バッチコマンドおよびジョブ定義が一致するか否かを判定する機能と、
バッチコマンドおよびジョブ定義が一致していると判定されたとき、前記ジョブ定義保持部内のジョブ定義にしたがって前記サーバでバッチコマンドを実行させる機能と、
をコンピュータに実行せしめることを特徴とするジョブ管理プログラム。
【請求項４】
複数のサーバを有する情報システムにおいて、バッチコマンドの実行日時および実行順序を定義するジョブの実行を管理するシステムであって、
ジョブの実行に必要な情報であるジョブ定義と、ジョブにしたがって実行されるバッチコマンドとを含むジョブ登録情報を受け付けるジョブ登録受付部を備えるワークフロー管理サーバと、
前記ジョブ登録情報のうち承認を受けたものをジョブ登録受付部から受け取り保持するジョブ管理部と、
前記ジョブ登録情報のうちバッチコマンドを情報システム内のサーバに配布する配布部と、
前記ジョブ登録情報のうちジョブ定義を保持するジョブ定義保持部と、
前記ジョブ管理部に保持されているジョブ登録情報と、前記サーバに配布されたバッチコマンドに関する情報および前記ジョブ定義保持部に保持されているジョブ定義とのマッチングを実行し、バッチコマンドおよびジョブ定義が一致するか否かを判定するマッチング部と、
前記マッチング部によりバッチコマンドおよびジョブ定義が一致していると判定されたとき、前記ジョブ定義保持部内のジョブ定義にしたがって前記サーバでバッチコマンドを実行させるジョブ制御部と、を備える運用管理サーバと、
を含むことを特徴とするジョブ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムの運用管理においてジョブ登録の信頼性を高める技術に関する。
【背景技術】
【０００２】
近年、情報システムはますます大規模化してきており、またビジネスニーズの変化に対する対応やセキュリティリスクへの対応なども頻繁に必要となっている。そのため、システムの管理者は、適切なコストで情報システムを運用してサービスを提供すると共に、安全性を維持することが求められ、その結果、ジョブスケジュール機能を有する運用管理システムの導入が盛んに行われている。運用管理システムとは、情報システムの運用フェーズを支援するソフトウェアであり、サーバ、ネットワーク、ミドルウェアといった情報システムを構成する様々なＩＴインフラの監視機能や、各種サーバ上で実行させるバッチ処理の自動スケジューリング機能などを備える。運用管理システムによって、システム管理者の負荷の軽減、効率的なシステム運用、業務の連続稼働による止まらないサービスの提供、システムの安定稼働、といった目的を効率よく達成できる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の運用管理システムを使用しても、実際の運用には、管理者の判断や手作業が必要となることが多い。例えば、情報システムに新たなジョブを追加しようとする際には、以下のような手順を踏むことになる。
１．情報システムで実行されるアプリケーションの開発担当者が、追加したいジョブのジョブ名、ジョブの実行対象サーバ名、ジョブの実行対象であるアプリケーションのリストなどを記載したジョブ登録申請書を作成する。
２．アプリケーションの開発責任者がジョブ登録申請書に対して承認をし、システムの運用管理者に対してジョブの登録作業を依頼する。
３．運用管理者は、アプリケーション開発責任者によって承認されたジョブ登録申請書にしたがって、ジョブの登録やジョブの実行対象サーバへのアプリケーションの配布を行う。
【０００４】
このように、ジョブの申請から登録までが自動化されていないため、システムが大規模化、複雑化するにつれて、運用管理にかかるコストの増大を招く。また、申請のあったジョブの登録漏れや、承認されていないジョブが登録されてしまうというおそれもある。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、情報システムの運用管理において、ジョブの登録作業の信頼性を向上させる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態は、複数のサーバを有する情報システムにおいて、バッチコマンドの実行日時および実行順序を定義するジョブの実行を管理するジョブ管理装置である。この装置は、ジョブの実行に必要な情報であるジョブ定義と、ジョブにしたがって実行されるバッチコマンドとを含むジョブ登録情報を受け付けるジョブ登録受付部と、ジョブ登録情報のうち承認を受けたものをジョブ登録受付部から受け取り保持するジョブ管理部と、ジョブ登録情報のうちバッチコマンドを情報システム内のサーバに配布する配布部と、ジョブ登録情報のうちジョブ定義を保持するジョブ定義保持部と、ジョブ管理部に保持されているジョブ登録情報と、サーバに配布されたバッチコマンドに関する情報およびジョブ定義保持部に保持されているジョブ定義とのマッチングを実行し、バッチコマンドおよびジョブ定義が一致するか否かを判定するマッチング部と、マッチング部によりバッチコマンドおよびジョブ定義が一致していると判定されたとき、ジョブ定義保持部内のジョブ定義にしたがってサーバでバッチコマンドを実行させるジョブ制御部と、を備える。
【０００７】
ここで、「ジョブ定義」とは、ジョブの登録日時、アプリケーション配布日時、ジョブ稼働開始日、ジョブ稼働サーバなどが含まれ、ジョブの実行に際して必要となる定義情報をいう。
【０００８】
この態様によると、承認されたジョブと、実際に各サーバに配布されたバッチコマンド、および作成されたジョブ定義の間に違いがないか否かを確認できるので、申請されたジョブの登録漏れ、ジョブの転送ミス、不正なアクセスによる改ざん、未承認ジョブの実行、古いジョブにしたがった実行というような間違いを防止することができる。
【０００９】
マッチング部は、サーバに保持されている該サーバで実行されたバッチコマンドの実行ログと、ジョブ管理部に保持されているジョブ登録情報とのマッチングを実行し、該ジョブ登録情報内のバッチコマンドと実行ログに記録されたバッチコマンドとが一致するか否かをさらに判定してもよい。これによると、ジョブの登録後も、承認されたジョブ登録申請情報と各サーバに記録されているログとのマッチングを行うことによって、実際に各サーバで稼働しているジョブが承認を受けたものであることを証明できる。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明を方法、装置、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、情報システムの運用管理において、ジョブの登録作業の信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００１２】
本発明の一実施形態は、情報システムに対するジョブの登録および登録されたジョブの確認を実行するジョブ管理装置である。以下、図面を参照して詳細に説明する。
【００１３】
図１は、本実施形態に係るジョブ管理装置１０と情報システム１４の全体構成図である。情報システム１４は、ひとつまたは複数のサーバ１２を有する。情報システム１４の処理対象は、任意のものであってよい。ジョブ管理装置１０は、情報システム１４におけるジョブの運用を管理する。具体的には、ジョブ管理装置１０は、各サーバと接続して、アプリケーションを配布したり、または各サーバにおけるジョブの実行状態を調査したりする。
【００１４】
本明細書において「ジョブ」とは、ある決められた日時にあるバッチコマンドを実行させることをいい、「ジョブ定義」とは、その実行に必要な情報のことである。ジョブの例は、「データベースを起動してデータを更新する」などがある。ジョブ管理装置１０は、所定の日時に複数のジョブを予め定められたスケジュール通りに連続して実行することで所望の処理を情報システム１４に実行させる。
【００１５】
サーバ１２は、プログラムにしたがって各種処理を実行するプロセッサと、一時的にデータやプログラムを記憶するメモリと、サーバの再起動があっても記録内容が失われないハードディスクドライブ、ＤＶＤドライブなどの記憶装置と、ネットワークに接続し各種の入出力処理を実行するネットワークインタフェースと、これらを相互接続するバスとを少なくとも含む。各サーバは、必要に応じて、キーボードやマウスなどの入力装置、ディスプレイなどの出力装置を有していてもよい。
【００１６】
図２は、ジョブ管理装置１０のうち、本実施形態に係るジョブ登録および登録されたジョブの確認に関与する部分の構成を示す。これらの構成は、ハードウェア的には、プロセッサ、メモリ、バス等で実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１７】
ジョブ管理装置１０は、情報システム１４に新たに追加するジョブの登録作業を実施する。ジョブ管理装置１０は、アプリケーション開発者によるジョブ登録の申請と承認を管理するワークフロー管理部３０と、ジョブのスケジューリング、各サーバへのアプリケーションの配布やジョブの実行を管理する運用管理部５０とを含む。
【００１８】
ワークフロー管理部３０は、ジョブ登録受付部３２と転送部３４とを含む。
ジョブ登録受付部３２は、アプリケーション開発者からのジョブの登録申請を受け付ける。具体的には、アプリケーション開発者は、所定のフォーマットにしたがってジョブの登録に必要な情報を自身の端末で入力し、その情報をジョブ登録受付部３２に対して送信する。
【００１９】
ジョブ登録受付部３２は、ジョブ登録申請情報を受け取ると、アプリケーションの開発責任者の端末に対して、新たなジョブ登録申請を受け取った旨の通知をする。開発責任者は、ジョブ登録受付部３２にアクセスし、ジョブ登録申請情報を閲覧する。開発責任者は、問題がなければジョブ登録申請に対して承認をする。ジョブ登録受付部３２には、ジョブ登録申請情報とともにその情報が承認されたか否かを示すフラグが記録される。
【００２０】
ジョブ申請登録情報には、登録するジョブの名称、追加するジョブの先行ジョブ名および後続ジョブ名、ジョブの開始時刻などの情報のほか、アプリケーション情報とジョブ定義の作成の際に必要な情報とを含む。
【００２１】
図３は、アプリケーション情報の一例を示すテーブル７０である。アプリケーション情報７２は、ジョブで実行するアプリケーションの配布日時、アプリケーションのサイズ、タイプスタンプ、チェックサムなどである。図３には、それらの値の例も列７４に示してある。
【００２２】
図４は、ジョブ定義の作成の際に必要な情報の一例を示すテーブル８０である。ジョブ定義８２は、ジョブがジョブ定義保持部に格納された日時であるジョブ登録日時、アプリケーションを各サーバに配布した日時であるアプリケーション配布日時、ジョブを各サーバにおいて実際に動かす日であるジョブ稼働開始日、そのジョブを実行するサーバ名であるジョブ稼働サーバなどである。図４には、それらの値の例も列８４に示してある。
【００２３】
図２に戻り、転送部３４は、所定のタイミング、例えば１時間毎にジョブ登録受付部３２にアクセスして、新たに承認されたジョブ登録申請情報があるか探索する。転送部３４は、承認されたことを示すフラグが立っているジョブ登録申請情報があれば、それらをジョブ登録受付部３２から取得して運用管理部５０に送る。
【００２４】
なお、転送部３４を備えず、ジョブ登録受付部３２が新たに承認されたジョブ登録申請情報を運用管理部５０に対して自動的に転送するようにしてもよい。
【００２５】
運用管理部５０は、ジョブ管理部５２、配布部５４、マッチング部５６、ジョブ定義保持部６２およびジョブ制御部６４を含む。
【００２６】
ジョブ管理部５２は、転送部３４からジョブ登録申請情報を受け取り、それを保持する。
【００２７】
さらに、ジョブ管理部５２は、ジョブ登録申請情報からアプリケーションとアプリケーション情報とを抜き出し、配布部５４に渡す。また、ジョブ管理部５２は、ジョブ登録申請情報をジョブ定義保持部６２に渡す。
【００２８】
ジョブ定義保持部６２はジョブ登録申請情報を受け取り、新たに承認されたジョブを既に存在する前後のジョブのいずれの位置に入れるかのスケジューリングを実行する。具体的には、ジョブ登録申請情報に含まれている先行ジョブ名および後続ジョブ名を参照し、先行ジョブと後続ジョブとの間に新たなジョブを挿入する。また、ジョブ稼働開始日を参照して、ジョブを実行する日時を定義する。こうしてジョブの実行順序と実行タイミングをジョブ登録申請情報に基づいて作成し、ジョブ定義として保持する。
【００２９】
配布部５４は、アプリケーションをジョブが稼働するサーバ１２に配布する。配布されたアプリケーションは、各サーバのアプリケーション保持部２２に格納される。なお「アプリケーション」とは、本明細書においてはバッチコマンドのことを指す。
【００３０】
マッチング部５６は、所定のタイミング（例えば、一日）で、ジョブ管理部５２に保持されているジョブ登録申請情報と、アプリケーション保持部２２に格納されているアプリケーション情報とのマッチングを実行する。そして、両者に相違がないか否かを判定する。また、マッチング部５６は、ジョブ管理部５２に保持されているジョブ登録申請情報と、ジョブ定義保持部６２に保持されているジョブ定義とのマッチングを実行する。そして両者に相違がないか否かを判定する。
こうすることで、承認されたジョブ登録申請情報に記述されたのと同一のアプリケーションが各サーバに配布され、また承認されたジョブ登録申請情報にしたがってジョブ定義が作成されたことを、各サーバでアプリケーションを実行する前に確認することができる。
【００３１】
マッチング部５６によって、アプリケーション情報およびジョブ定義が一致していると判定された場合、ジョブ制御部６４は、ジョブ定義保持部６２に保持されているジョブ定義を参照し、そのジョブ定義で定まる順序およびタイミングにしたがって、各サーバ１２のコマンドをキックする。これに応答して、各サーバ１２のアプリケーション実行部２６がアプリケーションを実行する。アプリケーションの実行のログは各サーバのログ記録部２４に記録される。
【００３２】
なお、図２中で点線で囲んだ部分は、従来のジョブスケジューラに相当する部分である。
【００３３】
図５は、本実施形態にしたがったジョブ管理装置へのジョブ登録のフローチャートである。
まず、アプリケーションの開発者が、ジョブ登録受付部３２に対して、所定のフォーマットでジョブ登録申請情報を入力する（Ｓ１０）。アプリケーション開発責任者は、ジョブ登録受付部３２にアクセスして、ジョブ登録申請に承認を与える。承認を与えられたジョブ登録申請情報には、承認されたことを表すフラグが立てられる。
【００３４】
転送部３４は、定期的にジョブ登録受付部３２にアクセスする。承認された新たなジョブ登録申請情報が見つかると、その情報をジョブ管理部５２に転送する（Ｓ１２）。ジョブ管理部５２は、転送されたジョブ登録申請情報をデータベースに格納する。このとき、所定のサーバに配布すべきジョブによって実行されるアプリケーションも受け取り、同じくデータベースに格納する。
【００３５】
ジョブ管理部５２は、ジョブ稼働サーバへ配布すべきアプリケーションを配布部５４に送る。また、ジョブ登録申請情報をジョブ定義保持部６２に送る（Ｓ１４）。配布部５４は、ジョブ稼働サーバへアプリケーションを配布する。ジョブ稼働サーバのアプリケーション保持部２２は、配布されたアプリケーションを保持するとともに、配布されたアプリケーションに関する情報、例えば、配布日時、サイズ、タイムスタンプ、チェックサムを取得し、これを保持する（Ｓ１６）。また、ジョブ定義保持部６２は、ジョブ登録申請情報にしたがってジョブ定義を作成する（Ｓ１８）。
【００３６】
アプリケーション配布の完了後、マッチング部５６によってジョブ登録の確認が実行される。まず、マッチング部５６は、ジョブ管理部５２にアクセスして、承認を得たジョブ登録申請情報のなかのアプリケーションに関する情報と、ジョブ定義に関する情報を取得する。またマッチング部５６は、ジョブ定義保持部６２内のジョブ定義を取得する。また、各サーバ１２のアプリケーション保持部２２にアクセスして、サーバで保持されている実際のアプリケーションに関する情報を取得する。そして、これらのマッチングを実行し、それらが一致するか否かを判定する（Ｓ２０）。前者のマッチングによって、ジョブ定義保持部６２に保持されているジョブ定義が、承認を受けたものであるか否かを判定できる。また、後者のマッチングによって、承認を得たジョブ登録申請情報と、実際に各サーバに配布されたアプリケーションの情報とが同一のものであるかを判定できる。
【００３７】
Ｓ２０の判定の結果、すべてが一致していれば（Ｓ２０のＹ）、ジョブ制御部６４によってジョブ定義にしたがってコマンドがキックされ、各サーバのアプリケーション実行部２６でアプリケーションが実行される（Ｓ２２）。Ｓ２０の判定の結果が一致してなければ（Ｓ２０のＮ）、所定のエラー情報を出力し、ジョブを実行しない（Ｓ２４）。
【００３８】
ジョブ管理装置１０は、上記の確認の他、各サーバで実行されたアプリケーションがジョブ登録申請情報にしたがっているか否かを確認するようにしてもよい。図６は、この場合のフローチャートである。
マッチング部５６は、各サーバのログ記録部２４にアクセスし、アプリケーションのログを参照する（Ｓ３０）。また、ジョブ管理部５２にアクセスして、承認を得たジョブ登録申請情報のなかのアプリケーションに関する情報を取得する（Ｓ３２）。そして、両者のマッチングを実行する（Ｓ３４）。両者が一致していれば（Ｓ３４のＹ）、そのままフローを終了する。両者が一致していなければ（Ｓ３４のＮ）、所定のエラー情報を出力する（Ｓ３６）。
【００３９】
以上説明したように、本実施形態によれば、従来の運用管理システムでは手作業で行われていたジョブ登録申請からジョブ登録およびアプリケーションのサーバへの配布を自動化した。したがって、ジョブの登録業務を円滑かつ迅速に実行できる。
【００４０】
また、本実施形態では、承認されたジョブ登録申請情報と、サーバ１２に配布されたアプリケーション情報と、運用管理部５０で作成されたジョブ定義とを付き合わせてチェックする仕組みを設けた。これによって、承認されたジョブと、実際に各サーバに配布されたアプリケーション、および作成されたジョブ定義の間に違いがないか否かを確認できるので、申請されたジョブの登録漏れ、ジョブの転送ミス、不正なアクセスによる改ざん、未承認ジョブの実行、古いジョブにしたがった実行というような間違いを防止することができる。
【００４１】
さらに、ジョブの登録後も、承認されたジョブ登録申請情報と各サーバに記録されているログとのマッチングを行うことによって、実際に各サーバで稼働しているジョブが承認を受けたものであることを証明できる。
【００４２】
以上、本発明をいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【００４３】
ワークフロー管理部３０と運用管理部５０は、それぞれ別々のサーバにおいて実行されてもよいし、同一のサーバで実行されてもよい。
【００４４】
マッチング部５６は、ジョブ登録申請情報に記述されたジョブの開始時刻と、実際に各サーバで稼働しているジョブの開始時刻とを比較してもよい。
【図面の簡単な説明】
【００４５】
【図１】本実施形態に係るジョブ管理装置と情報システムの全体構成図である。
【図２】ジョブ管理装置のうち、本実施形態に係るジョブ登録および登録されたジョブの確認に関与する部分の構成を示す図である。
【図３】アプリケーション情報の一例を示すテーブルである。
【図４】ジョブ定義の作成の際に必要な情報の一例を示すテーブルである。
【図５】本実施形態にしたがったジョブ管理装置へのジョブ登録のフローチャートである。
【図６】各サーバで実行されたアプリケーションがジョブ登録申請情報にしたがっているか否かを確認するフローチャートである。
【符号の説明】
【００４６】
１０  ジョブ管理装置、  １２  サーバ、  １４  情報システム、  ２２  アプリケーション保持部、  ２４  ログ記録部、  ２６  アプリケーション実行部、  ３０  ワークフロー管理部、  ３２  ジョブ登録受付部、  ３４  転送部、  ５０  運用管理部、  ５２  ジョブ管理部、  ５４  配布部、  ５６  マッチング部、  ６２  ジョブ定義保持部、  ６４  ジョブ制御部。
【図１】
2008090485.tif 000003
【図２】
2008090485.tif 000004
【図３】
2008090485.tif 000005
【図４】
2008090485.tif 000006
【図５】
2008090485.tif 000007
【図６】
2008090485.tif 000008