(57)【要約】【課題】システムで共有する共通ジョブ定義情報と特化されたジョブ定義情報との分離をジョブ定義の限定されたある一部分だけではなく、ジョブ定義全体に適用することを可能にし、ジョブ定義のスリム化を図り、共通なジョブ定義の保守作業の簡易化を実現する。【解決手段】個々のジョブ固有の特化ジョブ定義情報とシステムに共通な汎用ジョブ定義情報とを分離して管理し、前記特化ジョブ定義情報により定義される特化ジョブの実行時、特化ジョブ自身が所持する１または複数の参照先の汎用ジョブを定義する汎用ジョブ定義情報、及び、または、他の特化ジョブを定義する特化ジョブ定義情報を参照する。【選択図】      図６
2006079335.tif 000002
【特許請求の範囲】
【請求項１】
電子計算機上で、予め定義されたスケジュールや実行順序に基づいてジョブの実行を制御するジョブ管理方法において、個々のジョブ固有の特化ジョブ定義情報と複数のジョブ間で共通な汎用ジョブ定義情報とを分離して管理し、前記特化ジョブ定義情報により定義される特化ジョブの実行時、特化ジョブ自身が所持する１または複数の参照先の汎用ジョブを定義する汎用ジョブ定義情報を参照することを特徴とするジョブ管理方法。
【請求項２】
前記特化ジョブの実行時に、特化ジョブ自身が所持する１または複数の参照先の他の特化ジョブを定義する特化ジョブ定義情報を参照可能であることを特徴とする請求項１記載のジョブ管理方法。
【請求項３】
前記汎用ジョブ定義情報の変更は、前記特化ジョブ定義情報の変更を伴うことなく行われることを特徴とする請求項１または２記載のジョブ管理方法。
【請求項４】
電子計算機上で、予め定義されたスケジュールや実行順序に基づいてジョブの実行を制御するジョブ管理システムにおいて、個々のジョブ固有の特化ジョブ定義情報と複数のジョブ間で共通な汎用ジョブ定義情報とを分離して管理する手段と、前記特化ジョブ定義情報により定義される特化ジョブの実行時、特化ジョブ自身が所持する１または複数の参照先の汎用ジョブを定義する汎用ジョブ定義情報を参照する手段とを備えることを特徴とするジョブ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ管理方法及びジョブ管理システムに係り、特に、ジョブ運用管理システムにおけるシステムに共通なジョブ定義情報を管理するジョブ管理方法及びジョブ管理システムに関する。
【背景技術】
【０００２】
ジョブ管理システムは、業務を自動的に運用することを目的としたシステムであり、業務に合わせて、複数のジョブの実行順序を定義したり、ある特定の日時に動作させるようにスケジュールを定義したりするシステムである。業務を自動化させるために作成したジョブ定義は、一般的にはジョブ固有の特化した定義とシステム全体として共有すべき定義とに分けられる傾向にある。このような場合、システム全体として共有すべき定義を個々のジョブに定義として保持してしまうと、定義情報の肥大化や共通部分の定義変更の保守作業が煩雑になるといった問題が発生する。
【０００３】
汎用的な定義と特化した定義とを分離し、前述したような問題を解決することができるようにした従来技術として、例えば、システムに共通のデータをシステム環境変数として定義し、複数のジョブの定義でシステム環境変数を使用することにより定義を共有するという手法が知られている。システム環境変数を使用し特化した定義と汎用の定義とを分離した従来技術として、例えば、特許文献１等に記載された技術が知られている。
【０００４】
特許文献１に記載の従来技術は、業務アプリケーションで使用する定義情報において、実行環境に依存する部分を仮想名（システム環境変数に該当）を用いて記述し、仮想名を実名に置き換える定義ファイルを用意しておき、実行時に仮想名を実名に置き換えるという手法である。このような手法を使用する従来技術によれば、実行環境固有の特化した定義を、仮想名を実名に置き換えるファイルにのみ記述しておくことにより、実行環境固有の変更が全体に共通な定義情報には影響を与えないようにすることができる。
【特許文献１】特開平０６−１９５２４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前述した従来技術は、共通なジョブ定義情報と特化されたジョブ定義情報との分離がジョブ定義のある一部分にしか適用することかができないという問題が存在する。すなわち、前述した特許文献１に記載の従来技術は、定義を予め仮想名で記述しておき、実行時に仮想名を実名に置き換える手法であるため、実行するアプリケーション名等の単一の文字列の定義では有効な手法であるが、スケジュールやカレンダ情報等の複数の条件が付属する複雑な定義項目（例えば、毎週月曜日、但し、第５月曜日を除くというような定義項目）の場合、仮想名の実名への置き換えの手法では限界がある。
【０００６】
本発明の目的は、前述した従来技術の問題点を解決し、システムで共有すべき共通ジョブ定義情報と特化されたジョブ定義情報との分離をジョブ定義の限定されたある一部分だけではなく、ジョブ定義全体に適用することを可能にし、ジョブ定義のスリム化を図り、共通なジョブ定義の保守作業の簡易化を実現することができるジョブ管理方法及びジョブ管理システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば前記目的は、電子計算機上で、予め定義されたスケジュールや実行順序に基づいてジョブの実行を制御するジョブ管理方法において、個々のジョブ固有の特化ジョブ定義情報と複数のジョブ間またはシステムに共通な汎用ジョブ定義情報とを分離して管理し、前記特化ジョブ定義情報により定義される特化ジョブの実行時、特化ジョブ自身が所持する１または複数の参照先の汎用ジョブを定義する汎用ジョブ定義情報、及び、または、他の特化ジョブを定義する特化ジョブ定義情報を参照することにより達成される。
【発明の効果】
【０００８】
本発明によれば、個々のジョブ固有のジョブ定義情報とシステムで共通なジョブ定義情報とを分離して一元管理することがを可能になり、共通なジョブ定義情報をジョブのそれぞれが持つ必要がないため、ジョブ定義のスリム化、共通なジョブ定義の保守作業の簡易化を実現することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明によるジョブ管理方法及びジョブ管理システムの実施形態を図面により詳細に説明する。
【００１０】
図１は本発明の一実施形態によるジョブ管理方法を用いて業務を実行するシステムの構成を示すブロック図である。図１において、１０１はジョブ定義情報ファイル群、１０２はジョブ実行予定・結果情報ファイル群、１０３はジョブ定義管理プログラム、１０４はジョブ実行制御プログラム、１０５はユーザである。
【００１１】
図１に示す業務を実行するシステムは、情報処理システムの中に構築されていればよく、情報処理システムは、よく知られているように、ＣＰＵ、ハードディスク装置、主記憶装置、ディスプレイ、キーボード及びマウス等の入力装置、通信制御部等を備えて構成されるＰＣ、ワークステーション等であってよい。そして、図１に示すシステムは、ジョブ定義情報ファイル群１０１、ジョブ実行予定・結果情報ファイル群１０２、ジョブ定義管理プログラム１０３、ジョブ実行制御プログラム１０４により構成されている。
【００１２】
前述において、システムの制御プログラムとしては、ジョブ定義を管理するジョブ定義情報管理プログラム１０３とスケジュールに従ってジョブを実行し結果を出力するジョブ実行制御プログラム１０４とから構成され、これらのプログラムは、主記憶装置内にロードされ、主記憶装置内にロードされているＯＳの制御の下に実行される。また、システムを構成するファイル群としては、ジョブ定義情報を格納するジョブ定義情報ファイル群１０１とジョブの実行予定や実行結果情報を格納するジョブ実行予定・結果情報ファイル群１０２とから構成され、これらのファイル群は、ハードディスク装置内に格納され、前述したプログラムからアクセスされる。
【００１３】
ジョブ定義情報管理プログラム１０３は、ユーザ１０５の指示により作成したジョブ定義情報をジョブ定義情報ファイル群１０１に格納する。また、ジョブ実行制御プログラム１０４は、作成されたジョブ定義情報ファイル群１０１を参照してジョブの実行予定を作成しジョブを実行する。作成した実行予定や実行結果は、ジョブ実行予定・結果情報ファイル群１０２に格納される。
【００１４】
図２は業務の運用の流れを説明する図であり、次に、これについて説明する。
【００１５】
業務運用は、ユーザ１０５がジョブ定義情報管理プログラム１０３を使用してジョブ定義を作成しておく前準備のフェーズ２０１と、作成したジョブ定義やスケジュール情報をジョブ実行制御プログラム１０４に登録して実行する実際の運用フェーズ２０２と、運用環境、実行条件の変更に合わせてジョブ定義の変更を行う保守フェーズ２０３とにより行われる。前準備のフェーズ２０１は、業務システムの構築時に一度実施するのみでよく、実運用開始後は、運用フェーズ２０２と保守フェーズ２０３とが繰り返される。
【００１６】
図３は保守フェーズ２０３で複数のジョブで共有する共通のジョブ定義情報を更新する例について説明する図である。図３に示す例は、メールを送信するジョブについて、メール送信アプリケーションを共通なジョブ定義情報とし、送信宛先を特化したジョブ定義情報として、汎用ジョブと特化ジョブとを構成した例である。
【００１７】
いま、変更前の共通のジョブ定義情報である汎用ジョブ３０１として、ジョブ名：メール送信共通ジョブ、実行ファイル名：C:\MailAPP\send.exe が定義され、この汎用ジョブ３０１における送信宛先を特化した特化ジョブの１つとして、ジョブ名：メール送信ジョブ（Ａさん）、実行ファイル名：C:\MailAPP\send.exe が定義され、さらに、パラメータ：ＴＯ＝“Ａさん”が定義されているものとする。
【００１８】
このような共通のジョブ定義情報を更新する場合、端末装置３０３から定義の変更を行うことができ、図示例では、端末装置３０３から
＞DFE_CHANGE.exe  メール送信共通ジョブ「メール送信共通ジョブ」の定義変更を開始    します・・・
を入力した後、実行ファイル名として、D:\MailAPP2\send.exe を入力する。
【００１９】
この結果、変更後の共通のジョブ定義情報である汎用ジョブ３０１’として、ジョブ名：メール送信共通ジョブ、実行ファイル名：D:\MailAPP2\send.exe  が定義されて、共通のジョブ定義情報が更新される。後述する処理の実行により、この共通のジョブ定義情報の更新が特化ジョブに反映されて、送信宛先を特化した特化ジョブ３０２の実行ファイル名に D:\MailAPP2\send.exe が設定されて、定義情報が更新される。
【００２０】
ジョブ定義属性では、送信アプリケーションは実行ファイル名に、送信宛先はパラメータに相当する。こういった定義とすることにより共通なジョブ定義情報である送信アプリケーションの変更が必要になった場合、それぞれのジョブの定義（実行ファイル名）を１つずつ全て変更していくのではなく、汎用ジョブ３０１の定義（実行ファイル名）を変更するだけで、全てのメールを送信する特化ジョブについて送信アプリケーションを変更することが可能となる。
【００２１】
図４はジョブ定義情報ファイル群１０１を構成するジョブ定義情報ファイルの実現例を示す図である。ここでは、１つのジョブ定義情報ファイル４０１を例に示している。
【００２２】
ジョブ定義情報ファイル４０１は、１つのジョブに対して１つのジョブ定義ファイルとして作成されるものであり、ジョブ定義情報ファイル４０１には、ジョブの定義要素であるジョブ定義属性が記述される。ジョブ定義属性には、ジョブ名４００１、ジョブの内容を説明するコメント４００２、ジョブタイプ４００３（汎用ジョブか、特化ジョブかの区別、及び特化ジョブの場合は参照先の汎用ジョブ名）といった必ず記述が必要なジョブ定義属性（必須）４０２と、汎用データまたは特化データとしてユーザが記述するか、省略するかを選択することができるジョブ定義属性（オプション）４０３とがある。
【００２３】
必須ジョブ定義属性４０２のジョブタイプ４００３で特化ジョブを指定する場合、特化する元になる参照先の汎用ジョブまたは特化ジョブ（特化ジョブをさらに特化することも可能とする）を指定する。参照先ジョブには、１つもしくは複数のジョブを指定することが可能である。このようにして定義された特化ジョブのジョブ定義には、特化ジョブ固有の定義以外に参照先に指定された全てのジョブの定義も含まれる。また、図示例では、ジョブ定義属性（オプション）４０３が定義されており、この定義属性には、実行ファイル名：C:\APP1\program.exe （４００４）、パラメータ：パラメータ１、パラメータ２、パラメータ３（４００５）、スケジュール：（１）毎週金曜日１７：１５開始、（２）毎月最終日１７：１５開始（４００６）が設定されている。
【００２４】
図５は図３に示した実行ファイル名を共通なジョブ定義情報とした場合におけるジョブ定義情報ファイル４０１の実際の使用例を示す図であり、次に、これについて説明する。
【００２５】
汎用ジョブ定義情報ファイル５０１は、メール送信アプリケーションの実行ファイル名を共通なジョブ定義情報とするメール送信用汎用ジョブ定義ファイルの例であり、ジョブ定義属性（必須）として、ジョブ名「メール送信共通ジョブ」、コメント「メールを送信する（パラメータに送信先とメッセージを指定）」、ジョブタイプ「汎用ジョブ」が設定される。また、この例では、ジョブ定義属性（オプション）として、実行ファイル名「C:\MailApp\send.exe」 が設定される。このようなメール送信用汎用ジョブは、このジョブを参照先として定義する全ての特化ジョブの間でメール送信用汎用ジョブとしてジョブ定義情報を共有することができる。特化ジョブ定義情報ファイル５０２と特化ジョブ定義情報ファイル５０３とは、送信宛先を特化したジョブ定義情報とする特化ジョブの例である。これらの例において、パラメータ定義として指定される宛先が、それぞれ、“Ａさん”用、“Ｂさん”用に特化されている。
【００２６】
図６はスケジュールを共通なジョブ定義情報とした場合におけるジョブ定義ファイル４０１の実際の使用例を示す図であり、次に、これについて説明する。
【００２７】
汎用ジョブ定義情報ファイル６０１は、毎週日曜日００：００に実行を開始するというスケジュールを共通なジョブ定義情報として持つ休日実行ジョブ用汎用ジョブの定義ファイルの例であり、この休日実行ジョブ用汎用ジョブを参照先として定義する全ての特化ジョブの間で休日に実行するというスケジュール定義が共有される。この例の汎用ジョブ定義情報ファイル６０１は、ジョブ定義属性（必須）として、ジョブ名「休日実行共通ジョブ」、コメント「休日（毎週日曜日）に実行するジョブ」、ジョブタイプ「汎用ジョブ」が設定される。また、この例では、ジョブ定義属性（オプション）として、スケジュール「毎週日曜日００：００開始」が設定される。
【００２８】
特化ジョブ定義情報ファイル６０２と特化ジョブ定義情報ファイル６０３とは、特化ジョブの例で、ともに休日実行されるという点では共通であるが、それぞれ、業務データバックアップ、ディスクのメンテナンスを実行するという業務内容に特化されている。すなわち、特化ジョブ定義情報ファイル６０２では、ジョブ定義属性（必須）として、ジョブ名「業務データバックアップ」、コメント「１週間分の業務データをバックアップする」、ジョブタイプ「特化ジョブ」（参照先ジョブ：休日実行共通ジョブ）が設定される。また、この例では、ジョブ定義属性（オプション）として、実行ファイル名「C:\BackupApp\Backup.exe」 が設定される。また、特化ジョブ定義情報ファイル６０３では、ジョブ定義属性（必須）として、ジョブ名「ディスクのメンテナンス」、コメント「ディスクにエラーがないかスキャンする」、ジョブタイプ「特化ジョブ」（参照先ジョブ：休日実行共通ジョブ）が設定される。また、この例では、ジョブ定義属性（オプション）として、実行ファイル名「C:\DiskApp\ScanDisk.exe」 が設定される。
【００２９】
図７は複数のスケジュールを共通定義情報とした場合におけるジョブ定義ファイル４０１の実際の使用例を示す図であり、次に、これについて説明する。図６により説明した例は、単一のスケジュールを共通定義情報とした例であったが、図７に示す例は、複数のスケジュールを共通定義情報とした場合（１つの特化ジョブが複数の汎用ジョブを参照する場合）の例である。
【００３０】
図７において、日曜日や休日の無人のときに、自動でマシンのシャットダウンするジョブ「マシン自動シャットダウン」の定義が特化ジョブ定義情報ファイル７０３である。この特化ジョブ「マシン自動シャットダウン」の汎用ジョブが、毎週日曜日に実行する「休日実行共通ジョブ」（汎用ジョブ定義情報ファイル７０１）と、年末１２／３１に実行する「年末実行共通ジョブ」（特化ジョブ定義情報ファイル７０２）である。
【００３１】
図８はジョブ定義ファイルからジョブ定義情報を取得する処理動作を説明するフローチャートであり、次に、これについて説明する。ジョブ定義情報の取得処理は、ジョブ定義管理プログラム１０３がジョブ定義情報を表示／更新する場合、または、ジョブ実行制御プログラム１０４がジョブ定義情報を参照してジョブを実行する場合に実行され処理である。前述で説明したように、ジョブ１つに対して定義ファイルは１つ作成される。従って、特化ジョブのジョブ定義情報を取得する場合、特化ジョブ自身の定義だけでなく参照先の汎用ジョブの定義ファイルも参照してジョブ定義情報を取得する必要がある。
【００３２】
（１）まず、最初に取得したいジョブのジョブ定義情報ファイル読み込み、そのジョブ自身のオプション及び必須の定義属性情報を取得する（ステップ８０１〜８０３）。
【００３３】
（２）次に、ジョブ定義属性（必須）のジョブタイプ４００３が特化ジョブとなっているか否かを判定し、ジョブタイプ４００３が特化ジョブでない、すなわち、汎用ジョブであった場合、定義取得の処理が完了したことになり、ここでの処理を終了する（ステップ８０４）。
【００３４】
（３）ステップ８０４の判定で、ジョブタイプ４００３が特化ジョブであった場合、全ての参照先ジョブについて処理を繰り返すことを設定し、参照先ジョブの定義情報ファイルを読み込み、ジョブ定義属性（オプション）情報を取得する（ステップ８０５〜８０７）。
【００３５】
（４）次に、取得した参照先ジョブに記述された定義属性について、同一の定義属性が未設定であるか、または同一の定義属性が設定されていても、既に設定されている定義属性と競合しない定義属性であるかを判定し、定義属性が未設定または設定された定義属性が競合しない場合であであれば、ステップ８０６、８０７で取得した参照先ジョブの定義属性の値を定義属性（オプション）として設定する（ステップ８０８、８０９）。
【００３６】
例えば、スケジュールに関する定義属性が既に設定されている場合でも、取得した参照先ジョブの定義属性が、異なる日時のスケジュールに関するものであった場合、両者は競合しないので、重複して設定することができる（ステップ８０８でＹｅｓ、図７の例を参照）。しかし、取得した参照先ジョブの定義属性が、実行ファイル名を「C:\MailApp2\send.exe」とするものであった場合、もし、実行ファイル名を「C:\MailApp\send.exe」とする定義属性が既に設定されていれば、両者は競合する（矛盾する）ので、取得した参照先ジョブの定義属性の値は設定しないことになる（ステップ８０８でＮｏ）。
【００３７】
（５）ステップ８０９の処理後、または、ステップ８０８の判定で、競合する定義属性がすでに設定されていた場合、定義属性（必須）情報を取得し、定義が特化ジョブになされているか否かを判定し、特化ジョブである場合、すなわち、参照先ジョブと特化ジョブとの両方で定義されている場合、特化ジョブの定義を優先し、ステップ８０６からの処理に戻って、参照先のジョブ定義ファイルの読み込みからの処理を繰り返し、定義属性の設定が参照先ジョブか汎用ジョブになるまで繰り返す（ステップ８１０、８１１）。
【００３８】
（６）また、ステップ８１１の判定で、特化ジョブでなかった場合、参照先の汎用ジョブの定義が複数定義されている場合、全ての参照先の汎用ジョブの定義を読み込むまでステップ８０５〜８１１までの処理を繰り返し、最終的に全ての参照先ジョブについて参照先がなくなり、定義の読み込みが全て完了した時点で取得した定義属性を該当ジョブのジョブ定義情報としてここでの処理を終了する（ステップ８１２）。
【００３９】
前述した処理を実行することにより、保守フェースでの共通のジョブ定義情報の更新が特化ジョブに反映されることになる。
【００４０】
前述した本発明の実施形態における処理は、処理プログラムとして構成することができ、この処理プログラムは、ＨＤ、ＤＡＴ、ＦＤ、ＭＯ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態によるジョブ管理方法を用いて業務を実行するシステムの構成を示すブロック図である。
【図２】業務の運用の流れを説明する図である。
【図３】保守フェーズで複数のジョブで共有する共通のジョブ定義情報を更新する例について説明する図である。
【図４】ジョブ定義情報ファイル群を構成するジョブ定義情報ファイルの実現例を示す図である。
【図５】図３に示した実行ファイル名を共通なジョブ定義情報とした場合におけるジョブ定義情報ファイルの実際の使用例を示す図である。
【図６】スケジュールを共通なジョブ定義情報とした場合におけるジョブ定義ファイルの実際の使用例を示す図である。
【図７】複数のスケジュールを共通定義情報とした場合におけるジョブ定義ファイルの実際の使用例を示す図である。
【図８】ジョブ定義ファイルからジョブ定義情報を取得する処理動作を説明するフローチャートである。
【符号の説明】
【００４２】
１０１  ジョブ定義情報ファイル群
１０２  ジョブ実行予定・結果情報ファイル群
１０３  ジョブ定義管理プログラム
１０４  ジョブ実行制御プログラム
１０５  ユーザ
【図１】
2006079335.tif 000003
【図２】
2006079335.tif 000004
【図３】
2006079335.tif 000005
【図４】
2006079335.tif 000006
【図５】
2006079335.tif 000007
【図６】
2006079335.tif 000008
【図７】
2006079335.tif 000009
【図８】
2006079335.tif 000010