(57)【要約】      （修正有）【課題】ワークフロー内の一部のジョブだけをデバッグモードで実行する装置、プログラム、方法を提供する。【解決手段】ワークフロー内の第１のジョブのプログラムをデバッグモードで起動し、当該ワークフロー内の第２のジョブのプログラムを通常モードで起動する。また、各ジョブを通常モードで実行するかデバッグモードで実行するかを規定するモード表の中の有効モードをスケジューラが書き換えることにより、各ジョブが実行されるモードを動的に変更させることが出来る。【選択図】図１
2009075724.tif 000002
【特許請求の範囲】
【請求項１】
ワークフロー内の第１のジョブのプログラムをデバッグモードで起動し、前記ワークフロー内の第２のジョブのプログラムを通常モードで起動する管理装置。
【請求項２】
前記第１のジョブのプログラムと前記デバッグモードの指定を、前記第１のジョブのプログラムを前記デバッグモードで実行する資源装置に送信する請求項１の管理装置。
【請求項３】
複数の資源装置から前記資源装置を前記第１のジョブの資源要件に基づいて選択する請求項２の管理装置。
【請求項４】
デバッグコマンドを記憶するコマンド記憶部を備え、
前記第１のジョブのプログラムを前記ワークフロー内で複数回の起動を行い、前記起動ごとに、前記デバッグコマンドを実行する前記資源装置に、前記デバッグコマンドを前記コマンド記憶部から取得して送信する請求項３の管理装置。
【請求項５】
前記第１のジョブのプログラムをデバッグモードで起動すること、または、前記第２のジョブのプログラムを通常モードで起動することを、前記ワークフローの実行過程で決定する請求項４の管理装置。
【請求項６】
請求項３乃至５の何れかに記載の管理装置と、前記複数の資源装置とからなる管理システム。
【請求項７】
コンピュータに、
ワークフロー内の第１のジョブのプログラムをデバッグモードで起動し、前記ワークフロー内の第２のジョブのプログラムを通常モードで起動する処理を実行させる管理プログラム。
【請求項８】
前記コンピュータに、
前記第１のジョブのプログラムと前記デバッグモードの指定を、前記第１のジョブのプログラムを前記デバッグモードで実行する資源装置に送信させる請求項７の管理プログラム。
【請求項９】
前記コンピュータに、
複数の資源装置から前記資源装置を前記第１のジョブの資源要件に基づいて選択させる請求項８の管理プログラム。
【請求項１０】
デバッグコマンドを記憶するコマンド記憶部を備えた前記コンピュータに、
前記第１のジョブのプログラムを前記ワークフロー内で複数回の起動を行い、前記起動ごとに、前記デバッグコマンドを実行する前記資源装置に、前記デバッグコマンドを前記コマンド記憶部から取得して送信する処理を実行させる請求項９の管理プログラム。
【請求項１１】
前記コンピュータに、
前記第１のジョブのプログラムをデバッグモードで起動すること、または、前記第２のジョブのプログラムを通常モードで起動することを、前記ワークフローの実行過程で決定させる請求項１０の管理プログラム。
【請求項１２】
コンピュータが、
ワークフロー内の第１のジョブのプログラムをデバッグモードで起動し、前記ワークフロー内の第２のジョブのプログラムを通常モードで起動する管理方法。
【請求項１３】
前記コンピュータが、
前記第１のジョブのプログラムと前記デバッグモードの指定を、前記第１のジョブのプログラムを前記デバッグモードで実行する資源装置に送信する請求項１２の管理方法。
【請求項１４】
前記コンピュータが、
複数の資源装置から前記資源装置を前記第１のジョブの資源要件に基づいて選択する請求項１３の管理方法。
【請求項１５】
デバッグコマンドを記憶するコマンド記憶部を備えた前記コンピュータが、
前記第１のジョブのプログラムを前記ワークフロー内で複数回の起動を行い、前記起動ごとに、前記デバッグコマンドを実行する前記資源装置に、前記デバッグコマンドを前記コマンド記憶部から取得して送信する請求項１４の管理方法。
【請求項１６】
前記コンピュータが、
前記第１のジョブのプログラムをデバッグモードで起動すること、または、前記第２のジョブのプログラムを通常モードで起動することを、前記ワークフローの実行過程で決定する請求項１５の管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理システム、管理プログラム、および、管理方法に関する。
【背景技術】
【０００２】
特許文献１は、ファンクションブロック形式によりプログラムを作成し、ファンクションブロックを実行するかしないかを決める実行フラグを設け、実行フラグが実行することを示しているファンクションブロックのみを実行する技術を開示する。
【０００３】
特許文献２は、プログラムに挿入されたモード切り替え部を用いて、デバッグモード表示の有無に従って、プログラムの一部はデバッグモードで、他は非デバッグモードで実行する技術を開示する。
【０００４】
特許文献３は、イベントに対応してデバッガの操作をカスタムハンドラに記述、登録できることが開示されている。
【０００５】
【特許文献１】特開２００５−３１００５６号公報
【特許文献２】特開平１１−３０６０４２号公報
【特許文献３】特開平１１−１１０２５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述の特許文献に記載された技術は、何れも、ワークフロー内の第１のジョブのプログラムをデバッグモードで、第２のジョブのプログラムを通常モードで起動するものではない。従って、ワークフロー内の一部のジョブだけをデバッグモードで実行することが出来ないという課題があった。本発明の目的は、上記課題を解決する管理装置、管理システム、管理プログラム、および、管理方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の管理装置は、ワークフロー内の第１のジョブのプログラムをデバッグモードで起動し、前記ワークフロー内の第２のジョブのプログラムを通常モードで起動する。
【０００８】
本発明の一実施形態の管理プログラムは、コンピュータに、ワークフロー内の第１のジョブのプログラムをデバッグモードで起動し、前記ワークフロー内の第２のジョブのプログラムを通常モードで起動する処理を実行させる。
【０００９】
本発明の一実施形態の管理方法は、コンピュータが、ワークフロー内の第１のジョブのプログラムをデバッグモードで起動し、前記ワークフロー内の第２のジョブのプログラムを通常モードで起動する。
【発明の効果】
【００１０】
本発明は、ワークフロー内の一部のジョブだけをデバッグモードで実行することが出来る管理装置、管理システム、管理プログラム、および、管理方法を提供する。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の第１の実施形態にかかる管理システム１０の構成を示す。管理システム１０は、ネットワークで接続された、管理装置２０、資源装置３０、および、クライアント端末１１から構成される。資源装置３０は通常複数台存在するが一台でも良い。
【００１２】
管理装置２０は、スケジューラ２１、デバッグサーバ２２、コマンド記憶部４０、ワークフロー５０、管理プログラム２３を備える。ワークフロー５０は、資源装置３０の図示せぬディスク装置などに格納されている。
【００１３】
本実施形態に於いて、スケジューラ２１、デバッグサーバ２２はハードウェアで実現されてもよいし、管理装置２０が備えるプロセッサが記憶域に格納されている管理プログラム２３を読み込んで実行することで同等な機能を果たすように実現されてもよい。
【００１４】
資源装置３０は、エージェント３３、デバッガ３１、ユーザプロセス３２を備える。
【００１５】
本実施形態に於いて、エージェント３３およびデバッガ３１はハードウェアで実現されてもよいし、資源装置３０のプロセッサが記憶域に格納されている図示せぬプログラムを読み込んで実行することで同等な機能を果たすように実現されてもよい。
【００１６】
図２はワークフロー５０を示す。ワークフロー５０は、ジョブ５１およびフロー記述５９を包含する。ジョブ５１は、通常複数存在するが、一つでも構わない。
【００１７】
フロー記述５９は、ワークフロー５０に属するジョブ５１の実行フローを記述したファイルである。フロー記述５９は、ジョブ５１をステップとした実行フローの記述（フローチャート）に相当する。図２は、このフローチャートを例示する。このフロー記述５９は、ジョブ５１の実行順序、選択または分岐の条件、繰り返し条件等を規定する。
【００１８】
フロー記述５９は変数の定義も可能であり、定義した変数に、ジョブ５１の完了コードや管理装置２０が有するシステム変数の値を代入したり、演算や比較したりすることが可能である。フロー記述５９は、この演算や比較の結果に基づいて、ジョブ５１の実行を制御する。
【００１９】
ここで、システム変数とは、管理装置２０が管理するシステムの属性や状態を示す値を、ソフトウェアに参照させる為に格納する記憶域をいう。システム変数は、例えば、日時情報、プロセッサ数、プロセッサ使用率、メモリ使用率、ソフトウェアのバージョン情報を格納する。
【００２０】
ジョブ５１は、ジョブＩＤ５２、プログラム５３、資源要件５６、モード指定５７を備える。また、ジョブ５１は通常、入力ファイル５４、出力ファイル５５を備えるが、備えていなくても構わない。
【００２１】
ジョブＩＤ５２は、ジョブ５１の管理システム１０内で一意な識別子である。プログラム５３はジョブ５１として実行される。プログラム５３は、その実行中に入力ファイル５４からデータを入力して、出力ファイル５５にデータを出力する。入力ファイル５４と出力ファイル５５は別ファイルでも同一ファイルでも構わない。
【００２２】
ジョブ５１は、資源装置３０が備えている図示しないデータベースを更新しても良い。
【００２３】
ジョブ５１は、ワークフロー５０の一部としてスケジューラ２１により実行のスケジュールをされる。このとき、スケジューラ２１は、資源要件５６に基づいてプログラム５３を実行する資源装置３０を一つまたは複数選択する。
【００２４】
選択された資源装置３０では、エージェント３３が、ジョブ５１のプログラム５３を起動する。資源装置３０のプロセッサは、起動されたプログラム５３をユーザプロセス３２として実行する。ここで、ユーザプロセス３２は、資源装置３０における実行制御の単位である。ユーザプロセス３２は、タスクと呼ばれることもある。
【００２５】
資源要件５６は、必要なプロセッサ数、UNIX（登録商標）等のＯＳ（Operating System）の種別、必要なメモリ量等、上述の資源装置３０の選択に必要な情報を記載したファイルである。
【００２６】
モード指定５７は、ジョブ５１のプログラム５３を通常モード、あるいはデバッグモードで実行するかを指定する情報のファイルである。モード指定５７は、省略されると通常モードを指定したものと解釈されるようにしてもよい。
【００２７】
ここで、プログラム５３をデバッグモードで実行するとは、デバッガ３１が提供するデバッグ機能をプログラム５３に適用できるように環境設定してプログラム５３を実行することをいう。デバッグ機能とは、ユーザが指定したブレークポイントアドレスでのプログラム５３の実行中断や、ユーザが指定したチェックポイントアドレスでのトレース情報の取得などの機能をいう。
【００２８】
デバッグモードでは、デバッガ３１が、プログラム５３の実行を中断して介入できるように、プログラム５３の命令の一部を書き換えて実行しても良い。また、デバッガ３１が、資源装置３０のプロセッサをデバッグモードに設定してプログラム５３を実行する場合もある。プロセッサは、デバッグモードに設定されると例えば、一命令毎にデバッグの為の割り込みを発生する。
【００２９】
このような、プログラム５３をデバッグモードで実行するための技術は、種々のものが当業者に知られているが、本発明に於いてはその何れを用いても良い。デバッガ３１が提供するデバッグ機能も、当業者に種々のものが知られているが、本実施形態は、具体的なデバッグ機能に依存しない。
【００３０】
図３はコマンド記憶部４０の構成を示す。コマンド記憶部４０は、ジョブ５１に対応して存在する、ジョブＩＤ４１およびコマンド文字列４２を包含する。
【００３１】
図４は、スケジューラ２１のフローチャートである。スケジューラ２１は、ワークフロー５０を入力すると、フロー記述５９を解析して、実行すべきジョブ５１の情報を取得する（Ｓ４１）。
【００３２】
実行すべきジョブ５１があれば（Ｓ４２でＹ）、スケジューラ２１は、資源要件５６に基づいて、当該ジョブ５１を実行する資源装置３０を選択する（Ｓ４３）。選択の技術はグリッドコンピューティングなどの分野で当業者に知られたものであり、詳細は割愛する。スケジューラ２１は、ジョブ５１のプログラム５３、入力ファイル５４およびジョブ５１の定義情報を、選択した資源装置３０に送信する（Ｓ４４）。
【００３３】
ジョブ５１のモード指定５７がデバッグモードの指定であれば（Ｓ４５でＹ）、スケジューラ２１は、デバッグサーバ２２を起動する（Ｓ４６）。その後、スケジューラ２１は、デバッグサーバ２２の完了を待ち合わせる（Ｓ４７）。なお、デバッグサーバ２２は、プログラム５３の起動と、その完了の待ち合わせを内部で行う。
【００３４】
上記待ち合わせの後、スケジューラ２１は、ジョブ５１の出力ファイル５５を資源装置３０から受信して（Ｓ４８）、フロー記述５９に基づいた次のジョブ５１のスケジュールを実行する（Ｓ４１）。
【００３５】
ジョブ５１のモード指定５７がデバッグモードの指定でなければ（Ｓ４５でＮ）、スケジューラ２１は、資源装置３０のエージェント３３に、通常モードを指定して、プログラム５３の起動依頼を送信する（Ｓ４９）。その後、スケジューラ２１は、プログラム５３の完了を待ち合わせる（Ｓ４Ａ）。
【００３６】
上記待ち合わせの後、スケジューラ２１は、ジョブ５１の出力ファイル５５を資源装置３０から受信して（Ｓ４８）、フロー記述５９に基づいた次のジョブ５１のスケジュールを実行する（Ｓ４１）。
【００３７】
なお、実行すべきジョブ５１がなければ（Ｓ４２でＮ）、スケジューラ２１は当該ワークフロー５０の処理を終了し、次のワークフロー５０の入力を待つなどする。
【００３８】
図５および図６はデバッグサーバ２２のフローチャートである。図５は、デバッグサーバ２２の全体の流れを示す。
【００３９】
デバッグサーバ２２は起動されると、クライアント端末１１と接続する（Ｓ５１）。デバッグサーバ２２が、クライアント端末１１からデバッグコマンドを入力したり、デバッグコマンド実行結果を同端末に出力したりするためである。
【００４０】
デバッグサーバ２２は、資源装置３０のエージェント３３に、デバッグモードを指定して、プログラム５３の起動依頼を送信する（Ｓ５２）。その後、デバッグサーバ２２は、エージェント３３にデバッガ３１を送信する（Ｓ５３）。デバッガ３１が資源装置３０に常駐していれば、この送信は不要である。
【００４１】
デバッグサーバ２２は、コマンド記憶部４０に処理中ジョブ５１に対応したコマンド文字列４２が登録されているかチェックする（Ｓ５４）。即ち、デバッグサーバ２２は、コマンド記憶部４０を走査して、処理中ジョブ５１のジョブＩＤ５２と一致するジョブＩＤ４１を発見し、対応するコマンド文字列４２がＮｕｌｌ値（例えば、全てブランク）でないかをチェックする。
【００４２】
コマンド記憶部４０に処理中ジョブ５１に対応したコマンド文字列４２が登録されていなければ（Ｓ５４でＮ）、デバッグサーバ２２はデバッグコマンドの入力とデバッガ３１への送信を行う（Ｓ５５）。図６はこの詳細を示す。
【００４３】
コマンド記憶部４０に処理中ジョブ５１に対応したコマンド文字列４２が登録されていれば（Ｓ５４でＹ）、デバッグサーバ２２は、コマンド記憶部４０から、処置中ジョブ５１に対応するコマンド文字列４２を取得し（Ｓ５Ｂ）、デバッガ３１への送信を行う（Ｓ５Ｃ）。
【００４４】
デバッグサーバ２２は、デバッガ３１からの応答を待ち合わせる（Ｓ５６）。応答が、終了報告でなければ（Ｓ５７でＮ）、デバッグサーバ２２は、クライアント端末１１に、プログラム５３のブレークポイントによる中断を報告する（Ｓ５８）。その後、デバッグサーバ２２はデバッグコマンドの入力とデバッガ３１への送信を行って（Ｓ５９）、その応答待ち合わせを行う（Ｓ５６）。
【００４５】
デバッガ３１からの応答が終了報告であれば（Ｓ５７でＹ）、デバッグサーバ２２は、クライアント端末１１およびスケジューラ２１にプログラム５３の終了を報告して（Ｓ５Ａ）、終了する。
【００４６】
図６は、デバッグサーバ２２のデバッグコマンド入力等のフローチャートである。
【００４７】
デバッグサーバ２２は、クライアント端末１１からデバッグコマンドを入力する（Ｓ６１）。入力したデバッグコマンドに明示的なジョブＩＤ５２の指定がなければ（Ｓ６２でＮ）、入力したデバッグコマンドが繰り返し実行対象であるかをチェックする（Ｓ６３）。デバッグサーバ２２は、入力したデバッグコマンドが繰り返し実行対象であるかどうかを、デバッグコマンドの命令部で判断しても良い。デバッグサーバ２２は、それをデバッグコマンドのパラメータで判断しても良い。
【００４８】
入力したデバッグコマンドが繰り返し実行対象であれば（Ｓ６３でＹ）、デバッグサーバ２２は、当該デバッグコマンドを処理中ジョブ５１に対応させてコマンド記憶部４０に登録する（Ｓ６４）。即ち、デバッグサーバ２２は、コマンド記憶部４０を走査して、処理中ジョブ５１のジョブＩＤ５２と一致するジョブＩＤ４１を発見し、対応するコマンド文字列４２に入力したデバッグコマンドを格納する。
【００４９】
その後、デバッグサーバ２２は、入力したデバッグコマンドを、資源装置３０のデバッガ３１に送信する（Ｓ６６）。
【００５０】
入力したデバッグコマンドが繰り返し実行対象でなければ（Ｓ６３でＮ）、デバッグサーバ２２は、処理中ジョブ５１対応のコマンド登録を削除する（Ｓ６５）。即ち、デバッグサーバ２２は、コマンド記憶部４０を走査して、処理中ジョブ５１のジョブＩＤ５２と一致するジョブＩＤ４１を発見し、対応するコマンド文字列４２をＮｕｌｌ値に設定する。
【００５１】
その後、デバッグサーバ２２は、入力したデバッグコマンドを、資源装置３０のデバッガ３１に送信する（Ｓ６６）。
【００５２】
入力したデバッグコマンドに明示的なジョブＩＤ５２の指定があれば（Ｓ６２でＹ）、デバッグサーバ２２は、入力したデバッグコマンドが繰り返し実行対象であるかをチェックする（Ｓ６７）。
【００５３】
入力したデバッグコマンドが繰り返し実行対象であれば（Ｓ６７でＹ）、デバッグサーバ２２は、当該デバッグコマンドを、指定されたジョブＩＤ４１に対応させてコマンド記憶部４０に登録する（Ｓ６８）。即ち、デバッグサーバ２２は、コマンド記憶部４０を走査して、指定されたジョブＩＤ４１を発見し、入力したデバッグコマンドを対応するコマンド文字列４２に格納する。
【００５４】
その後、デバッグサーバ２２は、クライアント端末１１から新たなデバッグコマンドを入力する（Ｓ６１）。
【００５５】
入力したデバッグコマンドが繰り返し実行対象でなければ（Ｓ６７でＮ）、デバッグサーバ２２は、指定されたジョブＩＤ４１対応のコマンド登録を削除する（Ｓ６９）。
【００５６】
その後、デバッグサーバ２２は、クライアント端末１１から新たなデバッグコマンドを入力する（Ｓ６１）。
【００５７】
図７は、資源装置３０のエージェント３３のフローチャートである。エージェント３３は、資源装置３０に常駐し稼働している。
【００５８】
エージェント３３は、スケジューラ２１からジョブ５１のプログラム５３、入力ファイル５４およびジョブ５１の定義情報を受信する（Ｓ７１）。エージェント３３は、スケジューラ２１またはデバッグサーバ２２から受信したプログラム５３の起動依頼でデバッグモードが指定されているかをチェックする（Ｓ７２）。
【００５９】
デバッグモードが指定されていれば（Ｓ７２でＹ）、エージェント３３は、デバッガ３１を受信する（Ｓ７３）。デバッガ３１が資源装置３０に常駐していれば、この受信は不要である。エージェント３３は、デバッガ３１を起動してその終了を待ち合わせる（Ｓ７４）。デバッガ３１の終了後、エージェント３３は、ジョブ５１の出力ファイル５５をスケジューラ２１に送信して（Ｓ７５）、その処理を終了する。
【００６０】
デバッグモードが指定されていなければ（Ｓ７２でＮ）、エージェント３３は、プログラム５３を通常モードで実行する為のユーザプロセス３２を起動してその終了を待ち合わせる（Ｓ７６）。プログラム５３の終了後、エージェント３３は、スケジューラ２１に終了報告を送信し（Ｓ７７）、ジョブ５１の出力ファイル５５をスケジューラ２１に送信して（Ｓ７５）、その処理を終了する。
【００６１】
図８は、デバッガ３１のフローチャートである。
【００６２】
デバッガ３１は、デバッグサーバ２２からデバッグコマンドを入力する（Ｓ８１）。入力したデバッグコマンドがプログラム５３の起動を指示する場合（Ｓ８２でＹ）、デバッガ３１は、プログラム５３をデバッグモードで実行する為のユーザプロセス３２を起動し、その終了または中断を待ち合わせる（Ｓ８４）。前述のように、プログラム５３をデバッグモードで実行する種々の技術が当業者に知られており、ここでは詳細を割愛する。
【００６３】
プログラム５３が終了した場合（Ｓ８５でＹ）は、デバッガ３１は、プログラム５３の終了通知をデバッグサーバ２２およびエージェント３３に送る（Ｓ８９）。
【００６４】
プログラム５３が中断点（ブレークポイント）に達した場合（Ｓ８５でＮ、かつ、Ｓ８６でＹ）は、デバッガ３１は、デバッグサーバ２２に中断点報告を送信して（Ｓ８７）、デバッグサーバ２２から新たなデバッグコマンドを入力する（Ｓ８１）。
【００６５】
その他の理由でプログラム５３の処理が中断した場合（Ｓ８６でＮ）は、それに応じた処理を行う。この処理としては、例えば、チェックポイントに達した場合のトレース情報取得（Ｓ８Ａ）がある。
【００６６】
入力したデバッグコマンドがプログラム５３の終了を指示する場合（Ｓ８２でＮ、かつ、Ｓ８３でＹ）、デバッガ３１はプログラム５３の終了通知をデバッグサーバ２２およびエージェント３３に送る（Ｓ８９）。
【００６７】
入力したデバッグコマンドがその他の場合（Ｓ８３でＮ）は、そのデバッグコマンドの処理を行って、結果をデバッグサーバ２２に送信する（Ｓ８８）。この処理としては、例えば、特定メモリの表示や更新がある。
【００６８】
図９は、本実施形態の特徴的な構成要素を示す。管理装置２０が、ワークフロー５０内の第１のジョブ５１のプログラム５３をデバッグモードで起動し、同一ワークフロー５０内の第２のジョブ５１のプログラム５３を通常モードで起動する。
【００６９】
本実施形態の第１の効果は、ワークフロー５０の規模や複雑さに関わらず、ワークフロー５０の中の一部のジョブ５１だけを容易にデバッグできることである。
【００７０】
その理由は、スケジューラ２１が、モード指定５７に応じてプログラム５３の通常モード実行、或いは、デバッグモード実行を選択するからである。従って、ワークフロー５０の作成者が、ワークフロー５０を個々のジョブ５１に分割して、それぞれを通常モード実行、或いは、デバッグモード実行を繰り返す必要が無くなる。
【００７１】
第２の効果は、大量の入出力を伴うワークフロー５０のデバッグを容易に行えることにある。
【００７２】
その理由は、スケジューラ２１がワークフロー５０全体を実行する過程で、ユーザが特定ジョブ５１をデバッグ出来るからである。このため、ユーザは、デバッグを行いたいプログラム５３の前提となる入力ファイル５４（対象ジョブ５１より前に実行されるジョブ５１の出力ファイル５５）を事前に準備する必要が無い。
【００７３】
第３の効果は、繰り返し数の多い、ジョブ５１実行の繰り返しを含むワークフロー５０のデバッグを、容易に行えることである。
【００７４】
その理由は、スケジューラ２１がジョブ５１の繰り返し実行毎にデバッガ３１を起動し、デバッグサーバ２２がコマンド記憶部４０に登録されているデバッグコマンドを繰り返し入力するからである。
【００７５】
第４の効果は、ワークフロー５０で投入するジョブ５１の実行規模やシステムの利用モデルを変更せずデバッグが行えることにある。
【００７６】
その理由は、スケジューラ２１が、通常のワークフロー５０と同様の手段でジョブ５１投入を行うからである。また、デバッグサーバ２２が、クライアント端末１１から入力されたデバッグコマンドを、ジョブ５１実行のために選択された資源装置３０に送信し、それぞれにおいて実行することが出来るためである。
【００７７】
次に、本発明の第２の実施形態について図１０および１１を参照して説明する。図１０は、管理装置２０が備えるモード表７０を示す。モード表７０は、各ジョブ５１に対応するジョブＩＤ７１および当該ジョブ５１が実行されるモードの指定値である有効モード７２を包含する。
【００７８】
有効モード７２は、ジョブ５１毎に当該ジョブ５１を、通常モードで実行するかデバッグモードで実行するかを規定する。ワークフロー５０は、スケジューラ２１を経由して、その実行過程で有効モード７２の中を書き換えることにより、各ジョブ５１が実行されるモードを動的に変更させることが出来る。ここで、ワークフロー５０の実行過程とは、ワークフロー５０に属するジョブ５１の実行中、および、ジョブ５１実行と別のジョブ５１実行の間の期間を指す。
【００７９】
図１１は、本実施形態に於けるスケジューラ２１のフローチャートである。本実施形態におけるスケジューラ２１は、ワークフロー５０を入力すると、ワークフロー５０内の各ジョブ５１のジョブＩＤ５２とモード指定５７の対を、ジョブＩＤ７１と有効モード７２の対としてモード表７０に登録する（Ｓ１１）。モード指定５７は用いず、スケジューラ２１は、最初、全ての有効モード７２を通常モードの指定に設定しても良い。
【００８０】
ワークフロー５０内のジョブ５１のスケジュールに際して、ジョブ５１の有効モード７２がデバッグモードの指定であれば（Ｓ１６でＹ）、スケジューラ２１は、デバッグサーバ２２を起動する（Ｓ１７）。ジョブ５１の有効モード７２が通常モードの指定であれば（Ｓ１６でＮ）、スケジューラ２１は、資源装置３０のエージェント３３に、通常モードを指定して、プログラム５３の起動依頼を送信する（Ｓ１Ｂ）。ここでスケジューラ２１は、モード表７０を走査して、処理中ジョブ５１のジョブＩＤ５２と一致するジョブＩＤ７１に対応する有効モード７２を参照する。
【００８１】
また、本実施形態のスケジューラ２１は、ジョブ５１の終了後、フロー記述５９に基づいて演算や比較を行うが、このとき、有効モード７２に値を設定することが出来る（Ｓ１Ａ）。即ち、フロー記述５９は有効モード７２に値を設定する記述を包含しうる。
【００８２】
図１１の他のステップは、図４と同じであるのでここでは説明を割愛する。
【００８３】
本実施の形態に於いては、ユーザは、デバッグ実施条件を柔軟に設定できる。例えば、繰り返し実行されるジョブ５１が、特定回数実行後に異常終了するような場合、当該特定回の実行以降のみデバッグモードで実行するなどの運用が可能となる。
【００８４】
デバッグ実施条件を柔軟に設定できる理由は、スケジューラ２１がモード表７０に基づいてプログラム５３の実行モードを決定し、かつ、ワークフロー５０の実行過程でモード表７０の書き換えが可能だからである。
【図面の簡単な説明】
【００８５】
【図１】管理システムの全体構成を示す図である。
【図２】ワークフローの構成を示す図である。
【図３】コマンド記憶部４０の構成を示す図である。
【図４】スケジューラのフローチャートである。
【図５】デバッグサーバのフローチャート（１）である。
【図６】デバッグサーバのフローチャート（２）である。
【図７】エージェントのフローチャートである。
【図８】デバッガのフローチャートである。
【図９】管理装置の全体構成を示す図である。
【図１０】第２の実施形態のモード表の構成を示す図である。
【図１１】第２の実施形態のスケジューラのフローチャートである。
【符号の説明】
【００８６】
１０    管理システム
１１    クライアント端末
２０    管理装置
２１    スケジューラ
２２    デバッグサーバ
２３    管理プログラム
３０    資源装置
３１    デバッガ
３２    ユーザプロセス
３３    エージェント
４０    コマンド記憶部
４１    ジョブＩＤ
４２    コマンド文字列
５０    ワークフロー
５１    ジョブ
５２    ジョブＩＤ
５３    プログラム
５４    入力ファイル
５５    出力ファイル
５６    資源要件
５７    モード指定
５９    フロー記述
７０    モード表
７１    ジョブＩＤ
７２    有効モード
【図１】
2009075724.tif 000003
【図２】
2009075724.tif 000004
【図３】
2009075724.tif 000005
【図４】
2009075724.tif 000006
【図５】
2009075724.tif 000007
【図６】
2009075724.tif 000008
【図７】
2009075724.tif 000009
【図８】
2009075724.tif 000010
【図９】
2009075724.tif 000011
【図１０】
2009075724.tif 000012
【図１１】
2009075724.tif 000013