(57)【要約】【課題】  業務システムの論理構成を加味することで、ジョブネットの設定を効率化する。また、ジョブネットの実行監視の場面でも業務システムの論理構成で監視できるようにすることで、可読性を高める。【解決手段】  複数のコンピュータから構成される業務システムの運用手続きがジョブネットの形式で定義された複数のジョブを実行するジョブ管理システムは、業務システムのアーキテクチャを表す論理システム構成定義を入力し、入力された論理システム構成定義に基づいて、ジョブネットを構成する各ジョブのパラメタを設定し、作成されたジョブネットを実行する。システム構成定義は、システムを記述するためのデータモデルに基づいて、業務システムの論理構成を定義し、定義された論理サーバと実世界の物理サーバとの対応付けを一元的に管理する。つぎに、システム構成定義の情報を使用してジョブネットを構成する各ジョブのパラメタを定義する。【選択図】  図１
2006260528.tif 000002
【特許請求の範囲】
【請求項１】
記憶されているプログラムを実行するためのコマンドを読み出し、複数の物理計算機に該コマンドを送信し該物理計算機を制御する管理計算機における計算機制御方法において、
前記管理計算機は、
前記複数の物理計算機の物理計算機名称を論理計算機名称と対応付けて予め記憶し、
前記コマンドを実行する前記論理計算機の論理計算機名称を含む前記コマンドを解析し、
前記論理計算機名称に対応する当該複数の物理計算機のそれぞれに当該解析したコマンドを送信することを特徴とする計算機制御方法。
【請求項２】
プログラムを実行するためのコマンドを受け付けて実行する複数の物理計算機と前記コマンドを送信して前記物理計算機を制御する管理計算機とを有する計算機システムにおける計算機制御方法において、
前記管理計算機は、
前記複数の物理計算機の物理計算機名称を計算機種別と対応付けて予め記憶し、
前記コマンドを実行する前記論理計算機の計算機種別を含む前記コマンドを解析し、
前記計算機種別に対応する当該複数の物理計算機のそれぞれに当該解析したコマンドを送信することを特徴とする計算機制御方法。
【請求項３】
前記コマンドのパラメタに前記論理計算機名称を含む場合、該パラメタを当該論理計算機名称に対応する当該複数の物理計算機名称にそれぞれ変換して、当該変換したそれぞれのコマンドを送信すべき当該物理計算機に送信することを特徴とする請求項１記載または請求項２記載の計算機制御方法。
【請求項４】
前記複数の物理計算機の物理計算機名称と論理計算機名称または計算機種別との対応付けは、複数のジョブの実行をコマンド制御するためのジョブネットに定義されたシステム構成情報として記憶することを特徴とする請求項１から請求項３記載のいずれかの計算機制御方法。
【請求項５】
前記システム構成情報は、複数の論理計算機名称が階層的に定義されて記憶されており、
当該コマンドで実行すべき論理計算機として指定された論理計算機の論理計算機名称の下位階層に定義された論理計算機名称に対応する全ての物理計算機についてそれぞれ当該解析したコマンドを送信することを特徴とする請求項４記載の計算機制御方法。
【請求項６】
記憶されているプログラムを実行するためのコマンドを読み出し、複数の物理計算機に該コマンドを送信し該物理計算機を制御する管理計算機において、
前記管理計算機は、
前記複数の物理計算機の物理計算機名称を論理計算機名称と対応付けて予め記憶する手段と、
前記コマンドを実行する前記論理計算機の論理計算機名称を含む前記コマンドを解析する手段と、
前記論理計算機名称に対応する当該複数の物理計算機のそれぞれに当該解析したコマンドを送信する手段とを備えたことを特徴とする管理計算機。
【請求項７】
記憶されているプログラムを実行するためのコマンドを読み出し、複数の物理計算機に該コマンドを送信し該物理計算機を制御する管理計算機で実行される管理プログラムにおいて、
前記管理プログラムは、
前記複数の物理計算機の物理計算機名称を論理計算機名称と対応付けて予め記憶するステップと、
前記コマンドを実行する前記論理計算機の論理計算機名称を含む前記コマンドを解析するステップと、
前記論理計算機名称に対応する当該複数の物理計算機のそれぞれに当該解析したコマンドを送信するステップとを有することを特徴とする管理プログラム。
【請求項８】
請求項１または請求項２記載の方法によって設定されたジョブネットの実行状況監視の場面において、各ジョブが実行されるホストの情報を論理ホスト名で表示することを特徴とするジョブ実行監視システム。
【請求項９】
請求項１または請求項２記載の方法によって設定されたジョブネットの実行状況監視の場面において、各ジョブが実行されるホストの情報を論理ホスト名と物理ホスト名の両方で表示することを特徴とするジョブ実行監視システム。
【請求項１０】
請求項２記載のジョブネットの設定方法によって設定されたジョブネットの実行状況監視の場面において、実行ホストを論理リソースの種別で設定されたジョブを１つの仮想的なジョブとして取り扱うことにより、ジョブ実行監視画面上で１つのジョブの状況を表示させる操作によって、該当する一つ以上の物理ホスト上で実行される複数のジョブの実行状況を一度に表示することを特徴とするジョブ実行監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機におけるプログラムの実行を管理するためのシステム管理技術である。
【背景技術】
【０００２】
予め設定されたジョブネットに従ってジョブを実行する、いわゆるジョブ管理システムが知られている。ここでいう「ジョブ」とは、ある１つのコマンドであったり、複数のコマンドやプログラムの実行手順を記述したスクリプトであったりする。例えば、バックアップツールＡのバックアップコマンドＢＵを実行したい場合、ジョブの定義として、このコマンドＢＵおよびそのパラメタを指定することになる。このようなシステム管理技術は、特開２００１−２８２５５１号公報に開示されている。
【０００３】
このようなジョブ管理システムにおいて、ユーザは例えば、図９に示す設定画面を見ながらジョブネットの設定を行う。図９の設定画面は、ジョブに関する設定を可能とする一例を示す。例えばジョブＡ１のプロパティ設定枠８４の「実行先ホスト」設定項目９１にコマンドを実行するコンピュータの識別子（通常、実行ホスト名称、またはＩＰアドレス）として「Ｈｏｓｔ２０」を、「コマンド」設定項目９２には実行する実行コマンドとして「ｃｍｄ１．ｅｘｅ」を、「パラメタ」設定項目９３には実行時にコマンドに渡すパラメタとして「-ｈ  Ｈｏｓｔ４０」などと指定する。また、本例は、ジョブA1の実行が終了するとジョブA2が実行され、ジョブA2の実行が終了するとジョブA3が実行されることを示している。
【０００４】
【特許文献１】特開２００１−２８２５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
コンピュータネットワークを用いた情報システムが普及しているが、これらのシステムは、図２に示すように業務単位に構築・管理運用されるのが通常である。１つの業務システムは、ネットワークに接続された複数のコンピュータから構成される。また各コンピュータには、オペレーティングシステムとその用途に応じたミドルウェア（例えば、アプリケーションサーバプログラム，データベースマネージメントシステム等）、ならびに業務用プログラムといった複数のプログラムが配備される。
【０００６】
業務システムの運用は、これら複数のプログラムの実行により実現され、そのプログラムの実行制御は運用コマンドを組合せ実行することで実現できる。この運用に係るコマンドの組合せの多くは定型化が可能であり、ジョブ管理システム（運用管理システムともいう）によりシステム運用の自動化を実現することが可能となる。
【０００７】
ジョブ管理システムは、ジョブ定義として、どのコマンドをどのコンピュータ（計算機や情報処理装置ともいう）でどのパラメタによって実行するかということを表すジョブのフロー定義を記憶する。つまり、ジョブの実行順序を定義している。
【０００８】
しかし、従来のジョブ管理システムでは、業務システムの運用を支援するのが目的でありながら、図９の設定画面にみるように、これらの定義において業務に関連する用語で設定できない。
【０００９】
これは、ジョブ管理システムが扱うコマンド自身の多様性・汎用性にも依存している。即ち、コマンドを提供するソフトウェアの多くは、汎用機能を提供するいわゆるプログラムプロダクトであって、そのコマンドシグニチャ（コマンドの設定形態）に業務との関連を設定できない。また、システムを構成する複数のソフトウェアは、通常複数のベンダから提供され、そのコマンドのレベルやインタフェースがそれぞれ異なる。
【００１０】
このため、ジョブ管理システムでは、例えば図９の設定画面はＧＵＩの操作上十分な機能を有していても、コマンドを実行するコンピュータや、コンピュータ識別子を含むコマンドパラメタに対するコンピュータ等の業務システムにおける意味付けはユーザが意識する必要があり、ジョブネットを定義する業務開発者に煩雑な作業を強いることになる。
【００１１】
例えば、業務システム「Ｅ−ｓｈｏｐｐｉｎｇ」の設計時、システムアーキテクチャは、「アプリケーションサーバ」とか「データベースサーバ」等の論理サーバにより定義される。本来、ジョブネットの定義においても、同様にこれら上流工程での定義、例えば「Ｅ−Ｓｈｏｐｐｉｎｇシステムのアプリケーションサーバ」等を用いたいが、現状ではそのアプリケーションサーバがどのコンピュータを指すのかをユーザが独立に管理し、ジョブネットの定義に反映させなければならない。
【００１２】
これは、また、単に名称の管理の問題にとどまらない。運用手順においても、「（システム内の）アプリケーションサーバに対しては、オペレーティングシステムにはこの稼動監視条件を、ミドルウェアにはこの監視条件を設定したい」といった、業務システムのセマティクス（意味）を意識して、ジョブネットを定義すべき場合も多々あるからである。この場合、ユーザは個々のコンピュータの対応に限らず、業務システム全体における構成を考慮しなければならない。
【００１３】
これらの問題は、ブレードサーバシステムやＳＡＮ(Storage Area Network)によるハードウェアリソースの統合(consolidation)、ならびにハードウェアリソースを使用負荷状況に応じて業務システムに割り当てるユーティリティコンピューティングの登場により、増長される傾向にある。
【００１４】
例えば、昼間ある業務で使用されていたコンピュータが、夜には別の業務で使用されたりする。また、それにより、監視条件を設定したいアプリケーションサーバの数も時間帯によって変わったりもする。このような状況下、システムとコンピュータとの対応を人手で管理し、この対応関係の情報に基づきジョブネット内の各ジョブの定義を逐一人手で変更するのは困難である。
【００１５】
本発明の目的は、計算機の運用を簡易化することにある。
【００１６】
また、他の目的は、ジョブネットを効率よく管理することにより、ジョブネットが対象とする業務システムの運用を効率よく行えることを可能にし、業務システム運用に係るユーザの前記作業負荷を軽減することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の目的を達成するために、本発明では、複数のコンピュータから構成される業務システムの運用手続きがジョブネットの形式で定義された複数のジョブを実行するジョブ管理システムは、業務システムのアーキテクチャを表す論理システム構成定義を入力し、入力された論理システム構成定義に基づいて、ジョブネットを構成する各ジョブのパラメタを設定し、作成されたジョブネットを実行する。
【００１８】
まず、システム構成定義は、システムを記述するためのデータモデルに基づいて、業務システムの論理構成を定義し、定義された論理サーバと実世界の物理サーバとの対応付けを一元的に管理する。これにより、業務システムで使用するハードウェアが変更された場合に、論理サーバの対応情報を変更するだけで、ジョブネット定義自身を変更しなくても、このハードウェアの構成変更に対応できる。
【００１９】
つぎに、システム構成定義の情報を使用してジョブネットを構成する各ジョブのパラメタを定義する。特に、ジョブ定義として設定するコマンドの実行ホストやコマンドパラメタに、それらが取りうる値を包含するメタ情報としてシステム定義で規定した情報を付与できる。例えば、あるジョブのコマンド実行ホストとして、例えば「Ｅ−ｓｈｏｐｐｉｎｇシステムのアプリケーションサーバであるところのＡＰＳ１である」等の論理サーバを指定する。これにより、業務システムのセマティクス（意味）を意識した、ジョブネットの定義を可能にする。
【００２０】
このメタ情報付与による対応は、ジョブの元になる各ソフトウェアからの提供コマンドの形式に依存しないインタフェースである。
【００２１】
最後に、ジョブネット実行において、システム構成定義に基づくジョブネットを実行する。ここでは、ジョブ定義時に付与したメタ情報と、システム定義での論理サーバと物理サーバとの対応情報から、実行ホストやパラメタを決定する。また、この処理において、対応する実行ホストが複数あった場合には、当該ジョブの実行コマンドを各実行ホストにて繰り返し実行する。これにより、「（システム内の）アプリケーションサーバには一括して同じ設定を行う」ような場合でも、簡便で、かつ物理構成に依存しないジョブネットの定義・実行が可能となる。
【００２２】
以上により、ジョブネットを効率よく設定・管理することができる。また、ジョブネットが対象とする業務システムの運用を効率よく行うことができる。
【発明の効果】
【００２３】
本発明によれば、システムの運用を簡易化することが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施例を、図面を参照しながら説明する。図１は本発明の一実施例として説明するジョブ管理システムの構成を示す図である。
＜ジョブ管理システム＞
このシステムは、ネットワーク１を介して接続されるコンピュータ１０,２０，３０，４０から構成される。各コンピュータ１０，２０，３０，４０はＣＰＵとメモリを有し、メモリ内には本実施例を実現するための以下に述べるプログラムが格納されている。コンピュータ１０,２０，３０，４０では、オペレーティングシステムが稼動しており、ジョブ管理システムは、設定されたジョブネットに従ってオペレーティングシステム上でジョブを実行する。このようにすることにより、各計算機におけるプログラムの実行制御が可能となる。
【００２５】
このシステムの主な機能は、コンピュータ１０で稼動するマネージャプログラム（以下、「マネージャ」と称する）１１と、コンピュータ２０，３０,４０のそれぞれで稼動するエージェントプログラム（以下「エージェント」と称する）２１,３１,４１とによって提供される。
【００２６】
このうちマネージャ（プログラム）１１は、ユーザがシステムの論理構成を定義するシステム構成定義処理１２、そのシステム構成情報１７を管理するシステム構成管理処理１３、ユーザがジョブネットを定義するジョブネット定義処理１４、そのジョブネット情報１８を管理するジョブネット管理処理１５、ならびに、ジョブネットの解析、ジョブのスケジュール管理、イベントハンドリング、ジョブやジョブネットの実行制御や監視などを行うジョブネット実行制御処理１６を備える。これらの各処理部は、プログラムにより実現している。これらのプログラムは、ハードウェアやオブジェクトでも実現可能である。
【００２７】
ジョブネット管理処理１５が格納するジョブネット情報１８には、ジョブネットを構成する各ジョブの定義情報、各ジョブの実行順序、及びジョブの起動時刻などについての設定情報が含まれる。ジョブの定義情報とは、当ジョブで実行するコマンドとそのパラメタ、コマンドを実行するホスト情報等である。ジョブネット実行制御処理１６は、コンピュータ１０の内蔵タイマが出力する日時や先行ジョブの実行状況を監視し、ジョブネット情報１８に定義されているジョブの起動タイミングが来ると、同じくジョブネット情報１８からそのジョブの実行ホストおよび実行コマンドとパラメタを特定し、例えば実行ホストがコンピュータ２０であればエージェント２１に、ジョブの実行を指示する。エージェント２１は、マネージャ１１からの要求に従い当該コマンドを実行する。また、ジョブネット情報１８によっては、実行ホストおよびパラメタに、システム構成定義処理１２でユーザが定義したシステム構成情報１７の情報が含まれることがある。この場合には、ジョブネット実行制御処理１６は、システム構成管理処理１３に問合せを行い、実行ホストおよびパラメタを確定させる。
＜システムの構成定義＞
ジョブ管理システムのエージェントは、通常、業務システムの実行コンピュータに配備される。図２に、コンピュータ１０,２０，３０，４０を用いた業務システム６０の一例として「Ｅ−ｓｈｏｐｐｉｎｇ」の構成例を示す。業務システム６０には「Ｅ−ｓｈｏｐｐｉｎｇ」システムの他にもいくつかのアプリケーションシステムが含まれてもよい。
【００２８】
業務システム６０は、Ｗｅｂ３階層モデルのシステムであり、Ｗｅｂサーバ（ＨＴＴＰサーバともいう）プログラム２２とアプリケーションサーバプログラム２３をコンピュータ２０に配備し、同じＷｅｂサーバプログラム３２とアプリケーションサーバ（ＡＰサーバ）プログラム３３をコンピュータ３０に配備し、データベースマネージメントシステム４１をコンピュータ４０に配備した構成を有する。また、業務システム６０の運用に係る一連の手続きを自動化するために、ジョブ管理システムのエージェント（プログラム）２１，３１，４１を、各々コンピュータ２０，３０，４０に配備し、運用管理用コンピュータ１０におけるマネージャ１１がこれらのエージェントを制御する。
【００２９】
システム構成定義処理１２は、業務システムの論理構成を定義するユーザインタフェースを提供する。図３に業務システム６０「Ｅ−ｓｈｏｐｐｉｎｇ」の構成定義例を示す。システム構成定義処理１２は、システムの構成を記述するのに必要な要素「システム」や「論理サーバ」を階層化したデータとしてモデル化する。論理サーバとしては、例えば、典型的なＷｅｂ３階層のシステムを構成する「Ｗｅｂサーバ」，「ＡＰサーバ」，「ＤＢサーバ」等をモデルとして提供する。
【００３０】
ユーザが、システム構成定義処理１２で「Ｅ−Ｓｈｏｐｐｉｎｇ」システム７０を定義する場合、このシステムの論理サーバの種別（計算機種別ともいう）であるＷｅｂサーバ７１はＷＥＢ１（７４）とＷＥＢ２（７５）で構成され、ＡＰサーバ７２はＡＰＳ１（７６）とＡＰＳ２（７７）で構成され、ＤＢサーバ７３はＤＢＳ１（７８）で構成され、ＷＥＢ１（７４）とＡＰＳ１（７６）はコンピュータ２０に配備され、ＷＥＢ２（７５）とＡＰＳ２（７７）はコンピュータ３０に配備され，ＤＢＳ１（７８）がコンピュータ４０に配備されることを定義する。即ち、物理サーバ（物理計算機）であるコンピュータ２０及び３０にはそれぞれ２つの論理サーバ（論理計算機）が割り当てられている。
【００３１】
この定義情報は図３（ａ）〜（ｆ）の例に示すような形で表現され、システム構成定義処理１２で入力された情報は、システム構成管理処理１３を介して、システム構成情報１７に格納される。システム構成情報は、少なくとも、システム及びそれを構成する要素といった論理構成情報ならびに各論理構成要素と物理要素の対応情報からなり、システム構成情報テーブル１１００に格納される。
【００３２】
なお、この実施例では、システム記述のデータモデルとして、マネージャ１１に対応するシステム７０，論理サーバであるＷｅｂサーバ７１，ＡＰサーバ７２，及びＤＢサーバ７３のみを記しているが、このモデルを限定するものではない。例えば、論理サーバとして「ロードバランサ」や「メールサーバ」等、また論理グループとしてロードバランサにより透過的に負荷分散されるグループ「クラスタグループ」等のモデル拡張が考えられる。
＜ジョブネットの定義＞
図４は、ジョブネット定義処理１４でジョブネットを定義するときに用いる定義画面８０を示す。定義画面８０に表示されているジョブネットは、ジョブＡ１に後続してジョブＡ２を実行し、ジョブＡ２に後続してジョブＡ３を実行するように定義されている。図４において、ジョブＡ１，Ａ２のそれぞれに対応するオブジェクト８１，８２から吹出状に表示されるジョブＡ１，Ａ２のプロパティ設定枠８４，８５内には、「実行ホスト」、「コマンド」、「パラメタ」などの各設定項目９１〜９３が設けられている。なお、プロパティ設定枠８４，８５は、別ウィンドウで表示するようにしてもよい。「実行ホスト」の設定項目９１には、そのジョブが実行されるコンピュータの識別子が設定される。「コマンド」の設定項目９２には、このジョブにより起動されるコマンド名が設定される。「パラメタ」の設定項目９３にはコマンドを起動するときに与えるパラメタが設定される。コマンドの起動によりオペレーティングシステム上にプロセスが生成される。なお、１つのジョブに複数のプロセスを含ませることもできる。
【００３３】
ここで、「実行ホスト」の設定項目９１に設定されるコンピュータの識別子は、従来、コンピュータのホスト名称，ＩＰアドレス，もしくはそれらに関連付けられた変数である。本実施例では、これらの識別子を包含するメタ情報としてシステム構成管理処理１３で定義されたシステム構成情報１７を用いることができる。例えば、物理サーバの代わりに論理サーバを用いることができる。
【００３４】
図４に示すように、ジョブＡ１のプロパティ設定枠８４の「実行ホスト」設定項目９１の値「？Ｅ−ｓｈｏｐｐｉｎｇ／ＷＥＢ１．ホスト？」は、実行ホストとして、図３(b)に定義したシステム「Ｅ−ｓｈｏｐｐｉｎｇ」のメンバである論理サーバ「ＷＥＢ１」のホスト情報を受ける変数である。この変数には、ジョブＡ１の実行時に、ジョブネット実行制御処理１６がシステム構成管理処理１３に問合せを行うことで、従来の識別子「Ｈｏｓｔ２０」が割り当てられる。
【００３５】
また、ジョブＡ２のプロパティ設定枠８５の「実行ホスト」設定項目９１の値「？Ｅ−ｓｈｏｐｐｉｎｇ／＠ＡＰサーバ．ホスト？」は、実行ホストとして、図３(d)(e)に定義したシステム「Ｅ−ｓｈｏｐｐｉｎｇ」のメンバである論理サーバの種別が「ＡＰサーバ」である実行ホストのホスト（群）情報を受ける変数である。「＠」はパラメタとして種別を受け取れることを示す。この変数には、ジョブＡ２の実行時にジョブネット実行制御処理１６がシステム構成管理処理１３に問合せを行うことで、図３に示すシステム構成定義に基づいて、従来の実行ホストの識別子「Ｈｏｓｔ２０」と「Ｈｏｓｔ３０」が割り当てられ、それぞれのコンピュータ２０とコンピュータ３０にてコマンドが実行される。
【００３６】
一方、コマンドが受け取る各パラメタの意味付けはそれぞれ異なる。例えばコンピュータの識別子を受け取るパラメタ等、システム構成情報１７に含まれる情報を受け取るパラメタに関しては、同様な扱いが可能となる。
【００３７】
例えば、ジョブＡ１のプロパティ設定枠８４の「パラメタ」設定項目９３に示した「‐ｈ」オプションの「？Ｅ−ｓｈｏｐｐｉｎｇ／ＤＢＳ１．ホスト？」は、図３に定義したシステム「Ｅ−ｓｈｏｐｐｉｎｇ」のメンバである論理サーバ「ＤＢＳ１」のホスト情報を受ける変数であることを意味する。この変数には、ジョブＡ１の実行時に、ジョブネット実行制御処理１６が、システム構成管理処理１３に問合せを行うことで、従来の物理サーバであるコンピュータ４０の識別子「Ｈｏｓｔ４０」が割り当てられる。
【００３８】
なお、「？Ｅ−ｓｈｏｐｐｉｎｇ／ＷＥＢ１．ホスト？」のようにシステム構成情報１７を引用する変数を、本実施例では「システム定義変数」と称する。
【００３９】
これらジョブネット定義処理１４で入力された情報は、ジョブネット管理処理１５を介して、ジョブネット情報１８に、そのうちジョブネットを構成する各ジョブの定義情報は、ジョブ定義テーブル１０００に格納される。例えば「実行ホスト」設定項目９１は「実行ホスト」カラム１００４に、「コマンド」設定項目９２は「実行コマンド」カラム１０００５に、「パラメタ」設定項目９３は「パラメタ情報」カラム１００６に保持されている。
（マネージャの処理）
つぎに、ジョブネットの実行時におけるジョブ管理システムの処理について説明する。ジョブネット実行時におけるマネージャ１１[ジョブ実行制御処理１６]の処理を図５のＰＡＤ図に示す。設定されたジョブネットの実行に際し、マネージャ１１は利用するメモリの初期化等の初期処理（Ｓ１０１）を行った後、ジョブネットの受け付け処理（Ｓ１０４）、ジョブネット解析処理（Ｓ１０５）、及びジョブネット実行処理（Ｓ１０６）の各プロセスを、終了指示の割り込みが入力されるまでの間（Ｓ１０２）繰り返し実行する。マネージャ１１は終了指示を受けると終了処理（Ｓ１０３）を行う。
【００４０】
図６に示すＰＡＤ図は、図５におけるマネージャ１１のジョブネット実行処理（Ｓ１０６）の詳細である。マネージャ１１は、実行可能なジョブを１つ選出する（Ｓ１１２）。ここで実行可能なジョブとは、ジョブ管理システムが実行待ち状態として管理しているジョブのうち、先行ジョブの終了やイベントの受信などの実行開始条件が揃った状態にあるジョブをいう。そして、マネージャ１１は選出したジョブに対して、ジョブ定義テーブル１０００から先ず実行先ホストの情報（１００４）を取得・解析し（Ｓ１１３）、その情報に上述のシステム定義変数が含まれているかを判断する（Ｓ１１４）。具体的にはジョブネット定義の「実行ホスト」情報１００４に「？」で囲まれたシステム定義変数があるかをチェックする。
【００４１】
チェックの結果、システム定義変数があった場合には、システム構成管理処理１３に変数の解決を依頼する（Ｓ１１５）。システム構成管理処理１３は、管理するシステム構成情報１７とシステム定義変数とを照合し、該当するシステム定義変数の値を返す。例えば、上述「？Ｅ−ｓｈｏｐｐｉｎｇ／ＷＥＢ１．ホスト？」については、システム構成情報テーブル１１００から、所属システム１１０４が「Ｅ−ｓｈｏｐｐｉｎｇ」で論理名称１１０２が「ＷＥＢ１」である論理要素の要素ＩＤ１１０１を「００１０１」として取得し、その論理要素（要素ＩＤ）１１０１が「００１０１」である物理要素１１０５を「Ｈｏｓｔ２０」として取得し、この値を返すことになる。
また、パラメタの「？Ｅ−ｓｈｏｐｉｎｇ／ＤＢＳ１．ホスト？」は、所属システム１１０４が「Ｅ−ｓｈｏｐｐｉｎｇ」で論理名称１１０２が「ＤＢＳ１」である論理要素の要素ＩＤ１１０１を「００１０５」として取得し、その論理要素（要素ＩＤ）１１０１が「００１０５」である物理名称１１０５を「Ｈｏｓｔ４０」として取得し、この値を返すことになる。ここで、例えば、ＤＢＳ１を示す物理名称がＮ個ある場合は、Ｎ回繰り返してその物理名称に変換したパラメタでコマンドを同じ物理サーバへ送信することになる。
【００４２】
また、上述「？Ｅ−ｓｈｏｐｐｉｎｇ／＠ＡＰサーバ．ホスト？」については、先に説明の通り「＠」は種別を意味するので、システム構成情報テーブル１１００から、所属システム１１０４が「Ｅ−ｓｈｏｐｐｉｎｇ」で種別１１０３が「ＡＰサーバ」である論理要素の要素ＩＤ１１０１の集合を「００１０３、００１０４」として取得し、それぞれの論理要素（要素ＩＤ）に対応する「Ｈｏｓｔ２０、Ｈｏｓｔ３０」を取得し、この集合を値として返すことになる。つまり、Ｈｏｓｔ２０、Ｈｏｓｔ３０のそれぞれにコマンドとパラメタが送信されることになる。
【００４３】
ジョブ実行制御処理１６は、システム定義変数の値として取得したこれら実ホストの集合から値を１つづつ取り出しては順次実行先ホストに割り当てて（Ｓ１１８）、実行ホストの情報をジョブネット情報１８の実行ホスト情報テーブル１２００に保存し、ジョブを実行する（Ｓ１１７）。実行先ホストに割り当てる変数の値がなくなるまでこれを繰り返す（Ｓ１１６）。
ここで、実行ホスト情報テーブル１２００は、例えば図１２に示すように、ジョブネットＩＤ１２０１、ジョブＩＤ１２０２、多重度識別子１２０３、ジョブ名１２０４、論理ホスト名１２０５、物理ホスト名１２０６などから構成される。多重度識別子１２０３は、同一のジョブＩＤ１２０２に対する実行ホストの変数解決の結果、２つ以上の実行ホストが登録される場合にジョブを識別するために自動的に振られる識別番号である。
【００４４】
「実行ホスト」情報にシステム定義変数を含まず、パラメタの値だけでホスト情報を確定できる場合は、その情報を用いてジョブを実行する（Ｓ１１７）。この場合、実行ホスト情報テーブル１２００には、物理ホスト名１２０６のみが登録され、論理ホスト名１２０５は格納されない。
【００４５】
以上の処理（Ｓ１１２−Ｓ１１９）を当該ジョブネットに含まれるジョブがなくなるまで繰り返す（Ｓ１１１）。
【００４６】
図７に示すＰＡＤ図は、図６におけるジョブネット実行プロセスのジョブ実行処理（Ｓ１１７）の詳細である。実行先ホストが特定された後、マネージャ１１は、ジョブ定義テーブル１０００から当該ジョブのパラメタ情報１００６を取得・解析し（Ｓ１２１）、パラメタ情報にシステム定義変数が含まれるかを判断する（Ｓ１２２）。具体的にはジョブネット定義の「パラメタ情報」１００６中に「？」で囲まれたシステム変数があるかをチェックする。当該ジョブのパラメタは１つに限定されないため、パラメタ情報中には複数のシステム定義変数が含まれている可能性がある。パラメタ情報中にシステム定義変数があった場合には、システム構成管理処理１３に全ての変数の解決を依頼して変数の値を取得し（Ｓ１２６）、変数の値を当該パラメタに割り当てて（Ｓ１２７）、全ての未解決変数を解決した後、確定したパラメタ情報を生成する（Ｓ１２５）。システム構成管理処理１３が、システム構成情報１７とシステム定義変数とを照合し、該当するシステム定義変数の値を返す処理は、前述の実行ホストでの処理（Ｓ１１５）と同様である。
【００４７】
パラメタ情報にシステム定義変数を含まない場合は、パラメタの値をそのまま確定したパラメタ情報として扱える。
【００４８】
こうして確定したパラメタ情報とジョブ定義テーブル１０００から取得した実行コマンド（１００５）情報により、当該ジョブの実行ジョブ情報が確定する。マネージャ１１は、先に特定した実行先ホストのエージェント２１,３１，または４１に対してこの実行ジョブ情報を送信する（Ｓ１２３）。なお、本実施例では、ジョブ実行のためのプログラムやデータは、そのジョブの実行時においてコンピュータにセットアップされているものとして説明している。エージェントによるジョブの実行後、マネージャ１１はその実行結果をエージェントから受信する（Ｓ１２４）。
（エージェントの処理）
図８のＰＡＤ図に従ってエージェント２１，３１，４１の処理について説明する。実行コンピュータで稼動しているエージェント２１，３１，４１は、利用するメモリの初期化等の初期処理（Ｓ１３１）を行った後、マネージャ１１からのジョブ実行情報を受信し（Ｓ１３４）、ジョブを実行し（Ｓ１３５）、ジョブの実行結果をマネージャ１１へ送信する（Ｓ１３６）。ここでジョブの実行とは、ジョブ実行情報に含まれるコマンドを、同じくジョブ実行情報に含まれるパラメタをもって実行することである。各プロセスの終了指示の割り込み（要求）が入力されるまでの間（Ｓ１３２）、ステップＳ１３４、Ｓ１３５，及びＳ１３６が繰り返し実行される。エージェント２１，３１，４１は、終了指示を受けると終了処理を行う（Ｓ１３３）。
次に第二の実施例として、ジョブネットの実行監視の場面において、論理ホスト名（論理名称）を使って実行状況の監視を実現するための仕組みを説明する。
従来技術では、ジョブネットの実行状態を監視するジョブネット監視画面（図１９）は、各ジョブを表すオブジェクト１２１、１２２、１２３、１２４、および、特定のジョブでの異常を知らせるオブジェクト１２５などから構成され、ユーザがジョブネット監視画面上でジョブＡ３を表すオブジェクト１２３を選択すると、ジョブＡ３のステータス情報１３０が表示される。このときステータス情報１３０は、該当するジョブ名（１３１）、ジョブが実行されている物理ホスト名を表す実行ホスト名（１３２）、該当ジョブの状態（１３３）などから構成されている。この監視画面では、実行ホスト名（１３２）として物理ホスト名（物理名称）のみを表示しているため、物理ホスト名（物理名称）を用いてしかジョブの実行状況の監視が出来ない。
これに対し本発明の実施例では、図２０に示すようなジョブネット監視画面を表示し、異常を知らせるオブジェクト（１４４）の付いたジョブＡ２を表すオブジェクト（１４２）をユーザが選択すると、該当するジョブの状態を表すステータス情報１５０および１６０が画面上で表示される。この場合、実行ホストとして論理ホスト名（論理名称）１５２、１６２と物理ホスト名（物理名称）１５３、１６３の両方を表示することにより、論理ホスト名（論理名称）でのジョブ実行監視を可能にしている。
本来、ジョブネットの実行状況を監視する業務管理者にとっては、馴染みやすい論理ホスト名（論理名称）を用いて実行状況を監視できれば状況を把握しやすい。しかし一方で、あるジョブの障害原因が実行ホストのハードウェア障害の可能性がある場合には、業務管理者はサーバ等のリソースを管理するシステム管理者に対し障害の発生を伝える必要が生じる。その場合、システム管理者にとって有用な情報は論理ホスト名（論理名称）ではなく物理ホスト名（物理名称）であるため、ジョブ実行監視画面では論理ホスト名（論理名称）と物理ホスト名（物理名称）の両方を表示できることが有効である。
なお、図２０では１つのジョブＡ２（１４２）に対し、状態を表示するステータス情報が１５０と１６０の２つ表示されている。これは、第一の実施例のように、ジョブネット定義の際に変数を用いて実行ホスト名を定義した場合、システム構成によっては１つのジョブ名に対して実行ホストが複数あるようなジョブネットを定義できるためである。図２０のジョブＡ２（１４２）はジョブネット定義の際に、実行ホストとして「Ｅ−ｓｈｏｐｐｉｎｇシステムのＡＰサーバ」と定義したことにより、ＡＰＳ１とＡＰＳ２（物理ホスト名（物理名称）ではＨｏｓｔ２０とＨｏｓｔ３０）の２台で実行することになった例を示している。
このような重複するジョブ名の中から個々のジョブを特定するためには、後述する多重度識別子を付与してジョブを区別する。
図１３は、第二の実施例を説明するための全体構成図である。
＜ジョブ実行監視＞
図１３では、マネージャ１１は第一の実施例で説明した図１に加えて、ユーザが指定したジョブの実行状況を画面表示する監視画面表示処理１９、ジョブ実行中にエージェント２１、３１、４１から受信したイベント情報をイベントログ情報２３に格納するログ情報管理処理２０、ならびに、イベントの内容に応じてジョブステータス情報２２を変更・管理するステータス管理処理２１を備える。
ジョブネット実行時において、ユーザが特定のジョブを選択してからジョブステータス情報が表示されるまでの処理の流れを図１４のＰＡＤ図に示す。ユーザがジョブネット監視画面上で実行状況を確認したいジョブＡ２（１４２）を選択すると、ジョブネット監視画面上のオブジェクト１４１、１４２、１４３がジョブ定義テーブル１０００（図１０）と対応していて、選択されたジョブのジョブネットＩＤ１００１、ジョブＩＤ１００２、ジョブ名１００３の値がジョブネット管理処理１５を通して監視画面表示処理１９に渡される（Ｓ２０１）。次に、監視画面表示処理１９は取得したジョブネットＩＤ、ジョブＩＤの値をジョブネット情報１８の実行ホスト情報テーブル１２００（図１２）のカラム１２０１、１２０２と照合し、該当するデータの個数（多重度）を確認する（Ｓ２０２）。このとき複数のデータが該当した場合には、各々の多重度識別子１２０３ごとに以下の処理（Ｓ２０４〜Ｓ２０６）を繰り返し実行する。
監視画面表示処理１９は、実行ホスト情報テーブル１２００（図１２）から該当ジョブの実行ホストである論理名称１２０５と物理名称１３０６を取得する（Ｓ２０４）。続いて、ジョブステータス情報２２のジョブステータステーブル１３００（図１６）から、ジョブネットＩＤ１３０１、ジョブＩＤ１３０２、多重度識別子１３０３が全て一致するデータを検索し、現在のステータス１３０４を取得する（Ｓ２０５）。管理画面表示処理１９はジョブネット監視画面１４０（図２０）の該当ジョブに対応するステータス情報１５０（または１６０）の項目として、取得したデータをそれぞれジョブ名１５１（または１６１）、論理ホスト名１５２（または１６２）、物理ホスト名１５３（または１６３）、状態１５４（または１６４）の値として図示しない監視モニタに表示する（Ｓ２０６）。
＜ステータスの更新＞
ジョブステータステーブル１３００（図１６）の現在のステータス１３０４を最新状態に維持しておくための処理の流れを図１５のＰＡＤ図で説明する。
エージェント２１、３１、４１から送信されるイベントメッセージをマネージャ１１のジョブネット実行制御処理１６が受信する（Ｓ３０１）。ジョブネット実行制御処理１６は受け取ったイベントメッセージと発生時刻と共に、イベントが発生したジョブのジョブネットＩＤ、ジョブＩＤ、多重度識別子および物理ホスト名をステータス管理処理２１に引き渡す（Ｓ３０２）。ステータス管理処理２１は受け取った情報をイベントログ情報２３のログテーブル１５００（図１７）に格納する（Ｓ３０３）。次に、ステータス管理処理２１は受け取ったイベントメッセージをジョブステータス情報２２のステータス変更テーブル１４００（図１８）と照合し、イベント受信後のステータス１４０３を取得する（Ｓ３０４）。この取得したイベント受信後のステータス１４０３をジョブステータス情報２２のジョブステータステーブル１３００（図１６）の現在のステータス１３０４に上書きする（Ｓ３０５）。
【００４９】
以上に述べたジョブネットの設定方法および監視方法を実行するためのプログラムを、計算機で読み取り可能な記憶媒体に格納し、このプログラムを計算機のメモリに読み込んで実行することもできる。
【００５０】
以上、本発明に係るジョブ管理システムにおけるジョブネットワークの設定方法および監視方法を説明してきたが、上記実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることは勿論である。
【００５１】
また、以上に説明したジョブ管理システムの機能は、ジョブ管理システムの全ての機能を説明している訳ではなく、ジョブ管理システムには、以上に説明した以外にも、ジョブネットワークのスケジューリングによる実行制御機能、繰り返し実行制御、何らかのイベントを検知してジョブの実行を開始する機能、ＧＵＩの制御、ネットワークを介した通信機能、ジョブの実行管理のためのキューイング処理を行う機能など、適用されるシステムの形態に応じて他にも様々な機能を備えていてもよい。
【図面の簡単な説明】
【００５２】
【図１】第一の実施例のシステム構成を説明する図である。
【図２】業務システムの一例を説明する図である。
【図３】システムの論理構成定義を説明する図である。
【図４】ジョブネット定義での定義項目を説明する図である。
【図５】マネージャの処理を説明するＰＡＤ図である。
【図６】マネージャのジョブネット実行処理を説明するＰＡＤ図である。
【図７】マネージャのジョブ実行処理を説明するＰＡＤ図である。
【図８】エージェントの処理を説明するＰＡＤ図である。
【図９】ジョブネットの設定画面を示す図である。
【図１０】ジョブ定義情報を格納するテーブル構造を示す。
【図１１】システムの論理構成情報を格納するテーブル構造を示す。
【図１２】ジョブを実行するホスト情報を格納するテーブル構造を示す。
【図１３】第二の実施例の基本プログラム構成を説明する図である。
【図１４】マネージャのジョブステータス情報の表示処理を説明するＰＡＤ図である。
【図１５】マネージャのジョブステータスの変更処理を説明するＰＡＤ図である。
【図１６】ジョブのステータス情報を格納するテーブル構造を示す。
【図１７】ログ情報を格納するテーブル構造を示す。
【図１８】イベント受信後のステータス変更のルールを格納するテーブル構造を示す。
【図１９】従来技術による、ジョブネット監視画面を示す図である。
【図２０】本発明の実施例による、ジョブネット監視画面を示す図である。
【符号の説明】
【００５３】
１  ネットワーク
１０〜４０  コンピュータ
１１  マネージャ
１２〜１６、１９〜２１  マネージャの機能
１７〜１８、２２〜２３  マネージャに格納する情報
２１〜４１  エージェント
６０  業務システム（例）
７０〜７３  システム構成定義におけるデータモデル
７４〜７８  システム構成定義におけるデータモデルのインスタンス  
８０  ジョブネット定義（例）
９１  ジョブネット定義における「実行ホスト」設定項目
９２  ジョブネット定義における「コマンド」設定項目
９３  ジョブネット定義における「パラメタ」設定項目
１０１〜１０４  CPU
１２０、１４０  ジョブネット監視画面
１３０、１５０、１６０  ジョブのステータス情報
【図１】
2006260528.tif 000003
【図２】
2006260528.tif 000004
【図３】
2006260528.tif 000005
【図４】
2006260528.tif 000006
【図５】
2006260528.tif 000007
【図６】
2006260528.tif 000008
【図７】
2006260528.tif 000009
【図８】
2006260528.tif 000010
【図９】
2006260528.tif 000011
【図１０】
2006260528.tif 000012
【図１１】
2006260528.tif 000013
【図１２】
2006260528.tif 000014
【図１３】
2006260528.tif 000015
【図１４】
2006260528.tif 000016
【図１５】
2006260528.tif 000017
【図１６】
2006260528.tif 000018
【図１７】
2006260528.tif 000019
【図１８】
2006260528.tif 000020
【図１９】
2006260528.tif 000021
【図２０】
2006260528.tif 000022