(57)【要約】      （修正有）【課題】既に実行済みのジョブの実行結果の詳細を後続するジョブに適用可能とする制御装置の処理方法、制御装置、及びプログラムを提供する。【解決手段】制御装置が、複数のジョブを連携させてジョブ連携として実行する際に、先行するジョブが実行した結果に応じて、該ジョブに後続するジョブの実行を制御する。先行する先行ジョブを実行させた実行結果を保持し、保持された実行結果を取得し、取得した実行結果に応じて、先行ジョブに後続するジョブの実行を制御する。【選択図】図４
2014238882.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブを連携させてジョブ連携として実行する際に、先行する先行ジョブが実行した結果に応じて、該先行ジョブに後続する後続ジョブの実行を制御することが可能な制御装置における処理方法であって、
後続ジョブを実行させる実行条件を設定する制御画面を表示する表示工程と、
先行する先行ジョブを実行させた実行結果を保持する保持工程と、
前記保持工程において保持された前記実行結果を取得する取得工程と、
前記取得工程において取得された前記実行結果および前記制御画面を介して設定された実行条件に応じて、前記先行ジョブに後続する後続ジョブの実行を制御する制御工程と、
を有し、
前記制御画面では、前記実行条件として、先行ジョブの実行結果となり得る、正常終了、及び、正常終了とは異なる複数の終了状態の中から少なくとも１以上の指定が行えることを特徴とする処理方法。
【請求項２】
前記制御画面では、前記実行条件として、先行ジョブの実行結果に関わらず後続する後続ジョブの実行を制御する第１の設定と、先行ジョブの実行結果に応じて後続する後続ジョブの実行を制御する第２の設定との何れかを指定でき、
前記第１の設定が指定された場合に、前記制御工程では、前記取得工程において取得された前記実行結果に関わらず、前記先行ジョブに後続する後続ジョブの実行を制御し、
前記第２の設定が指定された場合に、前記制御画面では、前記実行条件として、先行ジョブの実行結果となり得る、正常終了、及び、正常終了とは異なる複数の終了状態の中から少なくとも１以上の指定が行えることを特徴とする請求項１に記載の処理方法。
【請求項３】
正常終了とは異なる複数の終了状態には、部分終了、エラー終了、及び中止終了が含まれることを特徴とする請求項１または２に記載の処理方法。
【請求項４】
前記先行ジョブがアドレス帳のバックアップであり、かつ、前記後続ジョブがアドレス帳の設定であることを特徴とする請求項１乃至３のいずれか一項に記載の処理方法。
【請求項５】
前記制御画面は、前記後続ジョブに対する設定を行うための設定項目において、指定した先行ジョブの処理に成功または失敗したデバイスに対してのみ当該後続ジョブを実行するように指定可能な設定項目を更に含むことを特徴とする請求項１乃至４のいずれか一項に記載の処理方法。
【請求項６】
各ジョブは、前記ジョブ連携を定義するジョブ連携定義データに基づいて、各ジョブを指定するＵＲＩにより起動されることを特徴とする請求項１乃至５のいずれか一項に記載の処理方法。
【請求項７】
前記ジョブ連携定義データには、前記先行ジョブが対象とするネットワークデバイスを一意に識別する識別子と各ネットワークデバイスに設定する設定内容とが含まれることを特徴とする請求項６に記載の処理方法。
【請求項８】
前記後続するジョブに前記実行結果の適用方法を指示する指示工程を更に有することを特徴とする請求項１乃至７の何れか１項に記載の処理方法。
【請求項９】
複数のタスクによるワークフローサービスを実行する際に、先行する先行タスクが実行した結果に応じて、該先行タスクに後続する後続タスクの実行を制御することが可能な制御装置における処理方法であって、
後続タスクを実行させる実行条件を設定する制御画面を表示する表示工程と、
先行タスクを実行させた実行結果を保持する保持工程と、
前記保持工程において保持された前記実行結果を取得する取得工程と、
前記取得工程において取得された前記実行結果および前記制御画面を介して設定された実行条件に応じて、前記先行タスクに後続する後続タスクの実行を制御する制御工程と、
を有し、
前記制御画面では、前記実行条件として、先行タスクの実行結果となり得る、正常終了、及び、正常終了とは異なる複数の終了状態の中から少なくとも１以上の指定が行えることを特徴とする処理方法。
【請求項１０】
前記制御画面では、前記実行条件として、先行タスクの実行結果に関わらず後続する後続タスクの実行を制御する第１の設定と、先行タスクの実行結果に応じて後続する後続タスクの実行を制御する第２の設定との何れかを指定でき、
前記第１の設定が指定された場合に、前記制御工程では、前記取得工程において取得された前記実行結果に関わらず、前記先行タスクに後続する後続タスクの実行を制御し、
前記第２の設定が指定された場合に、前記制御画面では、前記実行条件として、先行タスクの実行結果となり得る、正常終了、及び、正常終了とは異なる複数の終了状態の中から少なくとも１以上の指定が行えることを特徴とする請求項９に記載の処理方法。
【請求項１１】
前記ワークフローサービスはＲＥＳＴを利用したＷｅｂサービスであり、各タスクは各タスクを指定するＵＲＩによって起動され、前記先行タスクと前記後続タスクを非同期で実行可能とすることを特徴とする請求項１０に記載の処理方法。
【請求項１２】
複数のジョブを連携させてジョブ連携として実行する際に、先行する先行ジョブが実行した結果に応じて、該先行ジョブに後続する後続ジョブの実行を制御することが可能な制御装置であって、
後続ジョブを実行させる実行条件を設定する制御画面を表示する表示手段と、
先行する先行ジョブを実行させた実行結果を保持する保持手段と、
前記保持手段により保持された前記実行結果を取得する取得手段と、
前記取得手段により取得された前記実行結果および前記制御画面を介して設定された実行条件に応じて、前記先行ジョブに後続する後続ジョブの実行を制御する制御手段と、
を有し、
前記制御画面では、前記実行条件として、先行ジョブの実行結果となり得る、正常終了、及び、正常終了とは異なる複数の終了状態の中から少なくとも１以上の指定が行えることを特徴とする制御装置。
【請求項１３】
複数のタスクによるワークフローサービスを実行する際に、先行する先行タスクが実行した結果に応じて、該先行タスクに後続する後続タスクの実行を制御することが可能な制御装置であって、
後続タスクを実行させる実行条件を設定する制御画面を表示する表示手段と、
先行タスクを実行させた実行結果を保持する保持手段と、
前記保持手段により保持された前記実行結果を取得する取得手段と、
前記取得手段により取得された前記実行結果および前記制御画面を介して設定された実行条件に応じて、前記先行タスクに後続する後続タスクの実行を制御する制御手段と、
を有し、
前記制御画面では、前記実行条件として、先行タスクの実行結果となり得る、正常終了、及び、正常終了とは異なる複数の終了状態の中から少なくとも１以上の指定が行えることを特徴とする制御装置。
【請求項１４】
請求項１または９に記載の制御装置の処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のジョブを連携させてジョブ連携として実行する際に、先行するジョブが実行した結果に応じて、該ジョブに後続するジョブの実行を制御する制御装置の処理方法、制御装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、先行するジョブを実行した実行結果の詳細を後続するジョブに適用するジョブの管理方法や実行方法として、ＵＮＩＸ（登録商標）のシェルやＤＯＳのコマンドのパイプ処理を挙げることができる。ここで、パイプ処理とは、先行ジョブの出力するジョブの実行結果の詳細を後続するジョブの入力に接続するものである。
【０００３】
このパイプ処理の考え方をネットワーク上の複数のコンピュータで実行されるジョブに適用したものも提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１０２４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のジョブの管理方法では、パイプ処理を使用して先行ジョブの出力を後続するジョブの入力に接続するため、次のような問題があった。先行ジョブの成功や失敗などの実行結果に従って、次に実行するジョブを決定するようなジョブ管理方法には適用することができない。また、既に実行が終了している先行ジョブの実行結果の詳細を後続するジョブに適用することができない。
【０００６】
本発明は、既に実行済みのジョブの実行結果の詳細を後続するジョブに適用可能な方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明による制御装置の処理方法は以下の構成を有する。
【０００８】
即ち、複数のジョブを連携させてジョブ連携として実行する際に、先行する先行ジョブが実行した結果に応じて、該先行ジョブに後続する後続ジョブの実行を制御することが可能な制御装置における処理方法であって、
後続ジョブを実行させる実行条件を設定する制御画面を表示する表示工程と、
先行する先行ジョブを実行させた実行結果を保持する保持工程と、
前記保持工程において保持された前記実行結果を取得する取得工程と、
前記取得工程において取得された前記実行結果および前記制御画面を介して設定された実行条件に応じて、前記先行ジョブに後続する後続ジョブの実行を制御する制御工程と、
を有し、
前記制御画面では、前記実行条件として、先行ジョブの実行結果となり得る、正常終了、及び、正常終了とは異なる複数の終了状態の中から少なくとも１以上の指定が行えることを特徴とする。
【０００９】
また、上記の目的を達成するために、本発明による制御装置の処理方法は以下の構成を有する。
【００１０】
即ち、複数のタスクによるワークフローサービスを実行する際に、先行する先行タスクが実行した結果に応じて、該先行タスクに後続する後続タスクの実行を制御することが可能な制御装置における処理方法であって、
後続タスクを実行させる実行条件を設定する制御画面を表示する表示工程と、
先行タスクを実行させた実行結果を保持する保持工程と、
前記保持工程において保持された前記実行結果を取得する取得工程と、
前記取得工程において取得された前記実行結果および前記制御画面を介して設定された実行条件に応じて、前記先行タスクに後続する後続タスクの実行を制御する制御工程と、
を有し、
前記制御画面では、前記実行条件として、先行タスクの実行結果となり得る、正常終了、及び、正常終了とは異なる複数の終了状態の中から少なくとも１以上の指定が行えることを特徴とする。
【００１１】
より好ましくは、前記ワークフローサービスはＲＥＳＴを利用したＷｅｂサービスであり、各タスクは各タスクを指定するＵＲＩにより起動され、前記先行タスクと前記後続タスクを非同期で実行可能とする。
【発明の効果】
【００１２】
本発明によれば、既に実行済みのジョブの実行結果の詳細を後続するジョブに適用することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態によるジョブ管理方法の構成の概念を示すブロック図。
【図２】図１に示すジョブ管理方法を実行するホストコンピュータのハードウェア構成を示すブロック図。
【図３】図２に示すホストコンピュータと複数のネットワークデバイスとで構成されるネットワークシステムの構成を示す図。
【図４】図１に示す概念図を実装に即して詳細に記述し直したブロック図。
【図５】ジョブに関連する部分の統一モデリング言語（ＵＭＬ）のクラス図。
【図６】各ジョブ処理部が実装するインターフェイスを示すＵＭＬのクラス図。
【図７】ジョブ起動処理の流れを示すＵＭＬのシーケンス図。
【図８】実行したジョブの実行結果詳細を返す処理の流れを示すＵＭＬのシーケンス図。
【図９】実行結果詳細取得のＲＥＳＴのＷｅｂサービスによりネットワークデバイス管理ソフトウェアにより返されるジョブの実行結果詳細を含むＸＭＬの一例を示す図。
【図１０】ジョブ連携処理部４０１が複数のジョブを実行させる実行方法を定義するＵＩの例を示す図。
【図１１】図１０に示すＵＩの例で実行される２つのジョブの処理を示すフローチャート。
【図１２】複数のジョブの実行方法を定義するＵＩの別の例を示す図。
【図１３】（Ａ）は、データベース１０４に保存されたジョブ連携を定義するデータ（ジョブ連携定義データ）を示す図、（Ｂ）は、第２の実施形態におけるジョブ連携を定義するデータベースに保存されるデータの例を示す図、（Ｃ）は、システムＩＤを定義するデータベース内のデータの例を示す図。
【図１４】複数のジョブの実行を制御するジョブ連携処理部４０１のジョブ連携処理を示すフローチャート。
【図１５】ジョブＡ実行処理部１０２やジョブＢ実行処理部１０３の処理の流れを示すフローチャート。
【図１６】図１２の複数のジョブの実行方法を定義するＵＩを、異なるネットワークデバイス管理ソフトウェア上の登録ジョブも指定可能なように拡張した図。
【図１７】実行済みジョブの一覧を表示する画面の一例を示す図。
【図１８】第４の実施形態によるワークフローシステムの構成を示す図。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。まず、ネットワーク上のコンピュータのコンピュータ処理をネットワーク経由でサービスとして利用できるクラウドコンピューティングの実施形態として、デバイス連携のジョブ管理について説明する。
【００１５】
［第１の実施形態］
図１は、第１の実施形態によるジョブ管理方法の構成の概念を示すブロック図である。図１において、ジョブ実行制御部１０１は、複数のジョブの実行を制御する。ジョブ実行制御部１０１により制御されるジョブＡ処理部１０２とジョブＢ処理部１０３とは、別の種類のジョブを処理する。例えば、ジョブＡ処理部１０２はデジタル複合機のアドレス帳のバックアップ処理を行い、ジョブＢ処理部１０３はプリンタへのファームウェアの配信処理を行う。データベース１０４には、複数のジョブの実行条件や各ジョブの実行内容の詳細、及び各ジョブの実行結果の詳細などが格納される。
【００１６】
ＲＥＳＴインターフェイス１０５は、ＲＥＳＴのＷｅｂサービス呼び出しを受け取り、ジョブＡ処理部１０２、ジョブＢ処理部１０３に対応する関数を呼び出す。ここで、ＲＥＳＴとは、ＳＯＡＰを利用せずにＵＲＩによりリソースを指定し、ＨＴＴＰやＨＴＴＰＳを利用して情報を取得又は設定するための手法である。そして、ＨＴＴＰサーバ１０６は、ＨＴＴＰやＨＴＴＰＳ要求を受信し、必要に応じてＲＥＳＴインターフェイス１０５を呼び出す。
【００１７】
ＳＯＡＰは拡張性が高いが、拡張性が高い分、開発が複雑であり、また動作保証の確認にも時間がかかる。一方、ＲＥＳＴはＨＴＴＰのＧＥＴ、ＰＯＳＴ、ＰＵＴ、ＤＥＬＥＴＥの４つのメソッドを利用し、リソース毎に固有のＵＲＩを持たせる。よって、リソースの数だけＵＲＩを使い分ける必要があるが、ＳＯＡＰと比較して開発し易く、動作確認もし易いというメリットがある。また、一般的なＨＴＴＰ通信は、処理の応答を待つ場合にコネクション（接続）を確立し続ける必要があるが、ＲＥＳＴを利用してその必要を無くすことができる。
【００１８】
即ち、ＲＥＳＴにおいて非同期処理の状態を１リソースとして捉えて、リソースを作成すれば良い。よって処理のリクエストとその応答のタイミングを一致（同期）させずに、任意のタイミング（非同期）で実行できることになる。つまりＲＥＳＴを利用して、リソースの記述により非同期処理を比較的容易に実行可能となる。本発明はデバイス連携のジョブ管理やクラウド・コンピューティングのワークフローにＲＥＳＴを利用した非同期処理を特徴的構成とするものである。
【００１９】
図２は、図１に示すジョブ管理方法を実行するホストコンピュータのハードウェア構成を示すブロック図である。ホストコンピュータ２０１は、ＣＰＵ２０２、ＲＡＭ２０３、ＲＯＭ２０４、外部記憶装置（ＦＤ／ＨＤ）２０９を含む。ここで、ホストコンピュータ２０１はＲＯＭ２０４又は外部記憶装置２０９に記憶されたソフトウェアをＲＡＭ２０３に読み出して実行し、システムバス２０５に接続された各デバイスを総括的に制御する。ＲＡＭ２０３は、ＣＰＵ２０２の主メモリ或いはワークエリアなどとして機能する。
【００２０】
外部記憶装置２０９は、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）などからなる。外部記憶装置２０９は、ブートプログラム、オペレーティングシステム、認証サーバ、認証クライアントを含む各種のアプリケーション、データベースデータ、ユーザファイルなどを記憶する。
【００２１】
システムバス２０５には、キーボード（ＫＢＤ）２０５やマウスなどのポインティングデバイス（不図示の）からの入力情報をＣＰＵ２０２に出力するキーボードコントローラ（ＫＢＤＣ）２０６が接続される。また、システムバス２０５には、ＣＲＴや液晶パネルなどからなる表示装置２０７の表示を制御するビデオコントローラ（ＶＣ）２０８や外部記憶装置２０９へのアクセスを制御するディスクコントローラ（ＤＫＣ）２１０が接続される。そして、システムバス２０５には、ローカルエリアネットワーク（ＬＡＮ）２１３との接続を制御する通信コントローラ（ＣＯＭＭＩ／Ｆ）２１２が接続される。
【００２２】
図３は、図２に示すホストコンピュータと複数のネットワークデバイスとで構成されるネットワークシステムの構成を示す図である。図３に示すように、ネットワークシステムのＬＡＮ２１３には複数のホストコンピュータ３０１、３０２、３０３とデジタル複合機３０４、印刷装置３０５とが接続される。
【００２３】
ここで、ホストコンピュータ３０１、３０２はネットワークデバイス管理ソフトウェアが動作する。ホストコンピュータ３０３はネットワークデバイス管理ソフトウェアを操作するためのＷｅｂブラウザが動作する。ネットワーク管理者などのネットワークデバイス管理ソフトウェアのユーザは、ホストコンピュータ３０３上で動作するＷｅｂブラウザを経由してホストコンピュータ３０１、３０２で動作するネットワークデバイス管理ソフトウェアを利用する。また、ネットワークデバイス管理ソフトウェアはＬＡＮ２１３に接続されたデジタル複合機３０４や印刷装置３０５と通信し、装置の監視や設定を行うものである。
【００２４】
図４は、図１に示す概念図を実装に即して詳細に記述し直したブロック図である。図４において、ジョブ連携処理部４０１は、ジョブ実行制御部１０１と同等である。ここでは「複数のジョブの実行を制御するジョブ」として実装しており、「ジョブ連携処理部」と呼んでいる。ネットワークデバイス管理ソフトウェアの共通ライブラリ４０２は、データベース１０４へのアクセスやＷｅｂユーザインターフェイスの共通部品などを提供するライブラリである。ジョブスケジューラ４０３は、システムに常駐され、指定された時刻に指定されたジョブを起動する。
【００２５】
ＲＥＳＴインターフェイス１０５内のジョブ起動部４０４は、ＨＴＴＰサーバ１０６を経由して受信されたジョブ起動用のＲＥＳＴのＷｅｂサービスを解釈し、ジョブの起動を行うモジュールである。また、実行結果取得部４０５は、ジョブの実行結果の詳細取得用のＲＥＳＴのＷｅｂサービスを解釈し、ジョブの実行結果の詳細取得を行うモジュールである。
【００２６】
ジョブスケジューラ４０３は、データベース１０４内に保存されたスケジュール情報を定期的に監視し、実行時刻を過ぎた登録ジョブを起動する。登録ジョブの起動は、ＷｅｂサーバがＨＴＴＰ経由で行うか、ジョブ起動部４０４がＲＥＳＴインターフェイス１０５経由で行う。その際、登録ジョブＩＤがＵＲＩのパラメータやＨＴＴＰ要求の本文に格納される。ＲＥＳＴのＷｅｂサービスを使用したジョブ起動用のＵＲＩの例を以下に記す。
https://192.168.0.12/NDM/ExecuteJob/10
ここで、“192.168.0.12”はネットワークデバイス管理ソフトウェアの動作するホスト３０１のＩＰアドレス、“10”は起動するジョブの登録ジョブＩＤである。また“NDM”はネットワークデバイス管理ソフトウェアの基本パス、“ExecuteJob”はジョブの実行を指示するＲＥＳＴのＷｅｂサービスのパスである。
【００２７】
尚、これだけでは、第三者が容易にジョブ起動のためのＨＴＴＰ要求を簡単に作成可能であるため、要求がネットワークデバイス管理ソフトウェアから発行されたものであること、及び内容が改竄されていないことを保障するための仕組みが導入されている。また、必要に応じて、更にＵＲＩパラメータが付加される。
【００２８】
ジョブの起動要求は、ＨＴＴＰサーバ１０６によりＲＥＳＴインターフェイス１０５に渡される。ＲＥＳＴインターフェイス１０５は、要求がジョブの起動であることを判断し、ジョブ起動部４０４に処理を委譲し、ジョブ起動部４０４が要求に従ってジョブの起動処理を開始する。また、ジョブ起動部４０４は、実行した登録ジョブの実行ジョブＩＤを呼び出し元に返し、更にＲＥＳＴインターフェイス１０５は、その値をＨＴＴＰの応答として、ＨＴＴＰ要求の送信元に返す。
【００２９】
次に、ジョブに関連する部分の統一モデリング言語（ＵＭＬ）のクラスを、図５を用いて説明する。登録ジョブ情報クラス５０１は、ネットワークデバイス管理ソフトウェアが保持する登録されたジョブの共通項目を保持し、登録ジョブの処理を実装するクラスである。登録ジョブの共通項目はデータベース１０４に保存される。共通項目には、登録されたジョブを一意に識別する登録ジョブＩＤ、ユーザが付けたジョブのジョブ名、ジョブの実行日時を指定するスケジュール情報、ジョブを実際に処理する処理クラスに関するジョブクラス情報（図６を参照）などが含まれる。
【００３０】
処理クラスは、登録ジョブ情報クラス５０１のジョブクラスの作成メソッドを呼び出すことにより動的に生成される。スケジュール情報は、例えば２００９年１０月１３日午前８時３０分のような指定日時や毎週金曜日の午後１０時２０分のような定期実行の指定が可能である。また、ジョブ連携処理部４０１により間接的に実行されるジョブの場合は、スケジュール情報を持たないこともある。登録ジョブ情報クラス５０１は、登録ジョブＩＤで示されるジョブを実行するためのメソッドも更に実装している。
【００３１】
登録ジョブ詳細情報クラス５０２は、例えばジョブＡ処理部１０２内の登録ジョブの詳細情報を保持し、ジョブの実行を実際に行うためのクラスである。この登録ジョブ詳細情報クラス５０２は、それぞれのジョブを実装する提供者が独自に用意するクラスである。例えば、ジョブＡとジョブＢとでは異なる登録ジョブ詳細情報のクラスを実装する。登録ジョブ詳細情報クラス５０２は、例えば、登録ジョブＩＤと登録ジョブＩＤに関連付けられたジョブの詳細情報を保持する。ジョブの詳細情報は、例えばそのジョブが対象とするネットワークデバイスを一意に識別する識別子のリストと各ネットワークデバイスに設定する設定内容のリストである。これらの情報はデータベース１０４に保存される。更に、ジョブの実行メソッドを呼び出すことによりジョブの詳細情報に従ってジョブを実行する。例えば、この例では、リスト内のネットワークデバイスのそれぞれに対して設定内容を配信する。
【００３２】
実行ジョブ情報クラス５０３は、既に実行されたジョブに関するネットワークデバイス管理ソフトウェアに共通な情報を保持し、実行ジョブに関する処理を実装するクラスである。これらの情報はデータベース１０４に保存される。保存される情報には、実行したジョブの登録ジョブＩＤ、実行したジョブを一意に識別する実行ジョブＩＤ、ジョブを実行した日時、ジョブの実行結果などが含まれる。この実行ジョブ情報クラス５０３は、実行ジョブＩＤで示される実行したジョブの実行結果詳細を取得するためのメソッドも実装している。
【００３３】
実行ジョブ詳細情報クラス５０４は、例えばジョブＡ処理部１０２内の実行したジョブの実行結果詳細を保持し、実行結果詳細を返すためのクラスである。この実行ジョブ詳細情報クラス５０４は、それぞれのジョブの提供者が独自に用意するクラスである。例えば、ジョブＡとジョブＢとでは異なる実行ジョブ詳細情報のクラスを実装する。実行ジョブ詳細情報クラス５０４は、例えば実行ジョブを一意に識別する実行ジョブＩＤと実行結果の詳細を保持する。実行ジョブの実行結果詳細は、例えば設定に成功したデバイスの一覧や失敗したデバイスの一覧とその原因などで、データベース１０４内に保存される。
【００３４】
図６は、各ジョブ処理部が実装するインターフェイスを示すＵＭＬのクラス図である。各ジョブ処理部は必ずＪｏｂＩＦインターフェイス６０１を実装するクラスを含む必要がある。クラス６０２、６０３、６０４は、ジョブＡ処理部１０２、ジョブＢ処理部１０３、ジョブ連携処理部４０１が含む、ＪｏｂＩＦインターフェイスクラス６０１を実装したクラスである。これらのクラスに関する情報が、図５の登録ジョブ情報クラス５０１内のジョブを実際に処理するクラスに関する情報に記載される。ＪｏｂＩＦインターフェイスクラス６０１で定義されるジョブの実行メソッドは、引数で指定される登録ジョブＩＤのジョブを実行し、実行したジョブを一意に識別する実行ジョブＩＤを返す。
【００３５】
またＪｏｂＩＦインターフェイスクラス６０１で定義される結果取得メソッドは、引数で指定された実行ジョブＩＤのジョブの実行結果詳細をＸＭＬ形式で返す。各メソッドは、それぞれ登録ジョブ詳細情報クラス５０２及び実行ジョブ詳細情報クラス５０４のインスタンスを作成し、これらのクラスにそれぞれの処理を委譲することを示している。
【００３６】
図７は、ジョブ起動処理の流れを示すＵＭＬのシーケンス図である。まずジョブ起動部４０４がＳ７０１においてＵＲＩやＨＴＴＰ要求を解析し、登録ジョブＩＤを取得する。Ｓ７０２で、ジョブ起動部４０４は取得した登録ジョブＩＤを引数にして登録ジョブ情報クラス５０１を作成する。作成された登録ジョブ情報クラス５０１は、クラスの作成処理中のＳ７０３において、登録ジョブＩＤに関連した登録ジョブに関する共通情報をデータベース１０４から取得する。
【００３７】
次に、ジョブ起動部４０４はＳ７０４において、作成した登録ジョブ情報クラス５０１に対してジョブの実行を指示する。登録ジョブ情報クラス５０１は、Ｓ７０５において、登録ジョブ情報クラス５０１中のジョブを実際に処理するクラスに関する情報より、登録ジョブＩＤのジョブを実行するためにＪｏｂＩＦインターフェイスクラス６０１を実装したクラスを生成する。この例の場合、実行ジョブＩＤで示されるのはジョブＡのジョブであるため、登録ジョブ情報クラス５０１はジョブＡクラス６０２を生成する。
【００３８】
ジョブＡクラス６０２を生成した登録ジョブ情報クラス５０１は次いでＳ７０６にて、作成したジョブＡクラス６０２が実装するＪｏｂＩＦインターフェイス６０１のジョブの実行メソッドを呼び出す。このジョブ実行の呼び出しを受けたジョブＡクラス６０２は、Ｓ７０７においてジョブの実行を実装する登録ジョブ詳細情報クラス５０２を作成する。作成された登録ジョブ詳細情報クラス５０２はＳ７０８において、登録ジョブ詳細情報をデータベース１０４から取得する。そして、Ｓ７０９において、ジョブＡクラス６０２は生成した登録ジョブ詳細情報クラス５０２のジョブの実行メソッドを呼び出すことにより、指定された登録ジョブの実行を開始する。
【００３９】
以上が、ＲＥＳＴインターフェイス１０５がジョブ実行のためにＨＴＴＰ要求を受信してから、実際にジョブが実行されるまでの処理の流れである。尚、以上のシーケンス図では、エラー時の処理は省略している。
【００４０】
図８は、実行したジョブの実行結果詳細を返す処理の流れを示すＵＭＬのシーケンス図である。ＲＥＳＴのＷｅｂサービスを使用したジョブ実行結果詳細取得用のＵＲＩの一例を以下に記す。
https://192.168.0.12/NDM/JobResult/38
ここで、“192.168.0.12”はネットワークデバイス管理ソフトウェアの動作するホストコンピュータ３０１のＩＰアドレス、“38”は実行結果詳細を取得する実行ジョブの実行ジョブＩＤである。また、“NDM”はネットワークデバイス管理ソフトウェアの基本パス、“JobResult”は、ジョブの実行結果詳細取得を指示するＲＥＳＴのＷｅｂサービスのパスである。このＨＴＴＰ要求を受信すると、ＨＴＴＰサーバ１０６はＲＥＳＴインターフェイス１０５に処理を委譲する。ＲＥＳＴインターフェイス１０５は、ＨＴＴＰ要求のＵＲＩのパスを検査し、これがジョブの実行結果詳細を指示するものである場合、実行結果取得部４０５に処理を委譲する。
【００４１】
実行結果取得部４０５は、最初にＳ８０１において、ＵＲＩやＨＴＴＰ要求を解析し、実行ジョブＩＤを取得する。この例の場合、実行ジョブＩＤは“38”である。次に、実行結果取得部４０５はＳ８０２において、実行結果取得部４０５が取得した実行ジョブＩＤを持つ実行ジョブ情報クラス５０３を作成する。実行ジョブ情報クラス５０３の作成部はＳ８０３において、指定された実行ジョブＩＤに関連する実行ジョブの共通情報をデータベース１０４より取得する。共通情報には、実行したジョブに関連した登録ジョブＩＤ、ジョブを実行した日時、ジョブの実行結果などが含まれる。
【００４２】
実行結果取得部４０５はＳ８０４において、作成した実行ジョブ情報クラス５０３の実行結果取得用のメソッドを呼び出す。実行ジョブ情報クラス５０３は、Ｓ８０５のクラス作成時に取得した登録ジョブＩＤに関連した登録ジョブ情報クラス５０１を作成する（作成した登録ジョブ情報クラスは図示しない）。実行ジョブ情報クラス５０３は、Ｓ８０６において、先に作成した登録ジョブ情報クラスのジョブクラスの作成メソッドを呼び出すことにより、指定された実行ジョブに関連したＪｏｂＩＦインターフェイス６０１を実装するジョブＡクラス６０２を作成する。
【００４３】
次いで、実行ジョブ情報クラス５０３は、Ｓ８０７において、作成したジョブＡクラス６０２が実装するＪｏｂＩＦインターフェイス６０１の結果取得メソッドを呼び出す。呼び出されたジョブＡクラス６０２の結果取得メソッドは先ずＳ８０８において、指定された実行ジョブＩＤに関連した実行ジョブ詳細情報クラス５０４を作成する。実行ジョブ詳細情報クラス５０４は、その作成時に、Ｓ８０９において、与えられた実行ジョブＩＤに関連したジョブの実行結果詳細をデータベース１０４から取得する。
【００４４】
ジョブＡクラス６０２はＳ８１０において、作成した実行ジョブ詳細情報クラス５０４の実行結果の詳細取得メソッドを呼び出す。実行ジョブ詳細情報クラス５０４は、実行結果の詳細取得メソッドに対して、実行結果の詳細をＸＭＬ形式の文字列にして返す。ここで返された実行結果詳細のＸＭＬ文字列は、そのまま実行ジョブ情報クラス５０４、実行結果取得部４０５に戻され、実行結果取得部４０５がこれをＨＴＴＰ要求の送信元に返信する。
【００４５】
以上が、ＲＥＳＴインターフェイス１０５がジョブの実行結果詳細取得のためにＨＴＴＰ要求を受信し、実際にジョブの実行結果詳細が返却されるまでの処理の流れである。尚、以上のシーケンス図では、エラー時の処理は省略してある。
【００４６】
図９は、実行結果詳細取得のＲＥＳＴのＷｅｂサービスによりネットワークデバイス管理ソフトウェアにより返されるジョブの実行結果詳細を含むＸＭＬの一例である。例では、ネットワークデバイスを一意に識別するデバイス識別子が、00008523cd4dと000085437822のデバイスに対する処理が成功し、00008572dc23のデバイスに対する処理が失敗したことを示している。
【００４７】
即ち、ＸＭＬのTaskResult/SucceededDevices/Deviceパスの中のId要素が成功したデバイスの識別子を示している。また、ＸＭＬのTaskResult/FailedDevices/Deviceパスの中のId要素が失敗したデバイスの識別子を示している。
【００４８】
個々のジョブの実行結果詳細取得メソッドは、これ以外のＸＭＬ要素を任意に追加することが可能である。この例では、TaskInformationノードとDeviceノード中のIPAddressが追加された情報である。
【００４９】
ここで、ジョブ連携処理部４０１が複数のジョブを実行させる実行方法を定義するＵＩの例を、図１０を用いて説明する。また、図１１は、図１０に示すＵＩの例で実行される２つのジョブの処理を示すフローチャートである。Ｓ１１０１において、ジョブ連携処理部４０１は、アドレス帳のバックアップジョブを実行する。その後、Ｓ１１０２において、ジョブの実行結果を判定する。判定の結果、処理が正常終了、若しくは部分終了（一部のデバイスに対する処理は成功したが、残りのデバイスに対する処理は失敗した）場合、Ｓ１１０３へ処理を進め、次のアドレス帳の設定ジョブを実行する。その際、アドレス帳の設定ジョブは、先行ジョブであるアドレス帳のバックアップジョブが成功したデバイスに対してのみ、アドレス帳の設定処理を行う。また、Ｓ１１０２において、エラー終了や中止終了と判定された場合は、この連携ジョブ処理を終了する。
【００５０】
ここでアドレス帳とは、例えばデジタル複合機３０４内に保存されているファクシミリ送信時の電話番号やスキャンした画像を電子メールで送信する場合の電子メールアドレスなどである。また、ネットワーク上のホストからこれらデジタル複合機内のアドレス帳の読み書きができるものとする。この例のアドレス帳のバックアップとかアドレス帳の設定が、例えばジョブＡ処理部１０２やジョブＢ処理部１０３で実行されるジョブである。
【００５１】
図１０に示すＵＩの「次のジョブの実行条件」で「実行結果にかかわらず次のジョブを実行する」が選択されている場合、ジョブ連携処理部４０１はジョブ１の実行結果にかかわらずジョブ２を実行する。また、「次のジョブの対象」で「このジョブとは無関係」が選択されている場合、ジョブ連携処理部４０１はジョブ２が独自に定義している対象デバイスがジョブの対象となるように、ジョブ２として指定されたジョブに指示する。
【００５２】
尚、ＵＩの「ジョブの追加」ボタンの押下を検出すると、ボタンが配置されたジョブの後ろに、新たにジョブの設定ＵＩを挿入する。この例では、ジョブ２の後ろにジョブ３の設定用のＵＩを追加する。
【００５３】
図１２は、複数のジョブの実行方法を定義するＵＩの別の例である。この例では、ファームウェアの配信を行った後に、ファームウェアの配信に成功したデバイスに対してアドレス帳のバックアップを行う。そして、同じくファームウェアの配信に成功したデバイスに対して、配信したファームウェアを有効にするためにデバイスの再起動を行う、という一連の流れを指示している。
【００５４】
図１３に示す（Ａ）は、データベース１０４に保存されたジョブ連携を定義するデータ（ジョブ連携定義データ）を示す図である。ジョブ番号は、ジョブ連携内の登録ジョブの順番を意味する。登録ジョブＩＤは、連携する各ジョブの登録ジョブＩＤである。この例の場合、各ジョブの登録ジョブＩＤはファームウェアの配信が２３、アドレス帳のバックアップが４２、デバイスの再起動が１３である。次ジョブ実行条件は、次の登録ジョブを実行するための条件である。この例では、登録ジョブＩＤ２３のジョブの実行結果が正常終了（Ｎ）又は部分終了（Ｐ）のとき、ジョブ番号が“２”の登録ジョブを実行することを意味する。他の条件として、エラー終了（Ｅ）と中止終了（Ａ）を指定することも可能である。この欄が空の場合は、ジョブの実行結果にかかわらず次のジョブを実行することを意味する。
【００５５】
対象デバイスには、このジョブの処理対象となるデバイスを指定する。指定可能な値はこの登録ジョブで指定されているデバイス（Ｊ）、対象デバイスのジョブ番号で示されるジョブの実行が成功したデバイス（Ｓ）、又は失敗したデバイス（Ｆ）、ジョブの対象となっていたデバイスの全て（Ａ）の何れか一つである。この例では、各ジョブの対象デバイスは、ジョブ番号が“１”のジョブが指定されているデバイス、ジョブ番号の“２”と“３”のジョブが共にジョブ番号が“１”のジョブの実行に成功したデバイスとなる。
【００５６】
図１４は、複数のジョブの実行を制御するジョブ連携処理部４０１のジョブ連携処理を示すフローチャートである。この説明には、図１３に示す（Ａ）のジョブ連携定義データを便宜上使用する。
【００５７】
ジョブ連携処理部４０１はＳ１４０１において、データベース１０４から、指定されたジョブ連携を定義するデータ（ジョブ連携定義データ）を取得する。そして、ジョブ連携処理部４０１はＳ１４０２において、取得したジョブ連携定義データから最初のジョブに関するデータに基づき、このジョブの実行を指示する。この例の場合、最初に実行されるジョブは、登録ジョブＩＤが“２３”のファームウェアの配信ジョブである。ジョブ連携処理部４０１は、例えば以下のＵＲＩを呼び出すことによりジョブの実行を指示する。
https://192.168.0.12/NDM/ExecuteJob/23
呼び出しの結果、ジョブ起動部４０４は、指定した登録ジョブを起動し、実行したジョブを一意に識別する実行ジョブＩＤを呼び出し元に返し、ジョブ連携処理部４０１はこの実行ジョブＩＤを受け取る。ジョブ連携処理部４０１はＳ１４０３において、データベース１０４から受け取った実行ジョブＩＤに関連する実行ジョブ情報クラス５０３を定期的に取得し、ジョブの実行の終了を検出する。ジョブの実行終了を確認すると、ジョブ連携処理部４０１はＳ１４０４において、ジョブ連携定義データを調べ、次のジョブが存在しない場合は、このジョブ連携処理を終了する。
【００５８】
また、次のジョブが存在する場合は、ジョブ連携処理部４０１はＳ１４０５において、ジョブの実行結果と、ジョブ連携定義データの中の次のジョブの実行条件とを比較する。比較の結果、次のジョブの実行条件に合致しない場合、ジョブ連携処理部４０１はジョブ連携処理を終了する。
【００５９】
一方、次のジョブの実行条件に合致する場合、ジョブ連携処理部４０１はＳ１４０６において、ジョブ連携定義データから次の登録ジョブに関する情報を取り出す。ジョブ連携処理部４０１はＳ１４０７において、取り出した次の登録ジョブの対象デバイスに関する情報を設定し、Ｓ１４０８において、次の登録ジョブの起動を行う。図１３に示す（Ａ）のジョブ連携定義データを用いて２番目のジョブを実行する場合、一番目のジョブの実行ジョブＩＤが１５２であれば、２番目の登録ジョブの実行のためのＵＲＩは以下のようになる。
https://192.168.0.12/NDM/ExecuteJob/42?uri=https%3A%2F%2F192.168.0.12%2FNDM%2FJobResult%2F152&target=s
このＵＲＩのパラメータは、uriがhttps://192.168.0.12/NDM/JobResult/152、targetがｓである。これは、https://192.168.0.12/NDM/JobResult/152から実行ジョブの結果を取得し、成功したデバイス（ｓ）に対して、登録ジョブＩＤが４２で指定されるジョブを実行することを意味している。ここで、targetがｆの場合は失敗したデバイスを意味し、ａの場合は全てのデバイスを意味する。また、ＵＲＩのパラメータであるtarget又はuriが存在しない場合は、登録ジョブＩＤで示されるジョブが独自に定義しているデバイスをジョブの対象とすることを意味する。
【００６０】
Ｓ１４０８において、ジョブの起動を行った後、ジョブ連携処理部４０１はＳ１４０３に戻り、起動したジョブの終了を待ち、同様の処理を続ける。
【００６１】
図１５は、ジョブＡ実行処理部１０２やジョブＢ実行処理部１０３の処理の流れを示すフローチャートである。この処理は、図７に示すＳ７０９においてジョブの実行メソッドの呼び出しで実行される登録ジョブ詳細情報クラス５０２の処理である。図７では、呼び出し時の引数は明記されていないが、上述のジョブの結果詳細を取得するためのＵＲＩとジョブの結果詳細中のどのデバイスをジョブの対象とするかの別が引数として指定されているものとする。また、Ｓ７０６の呼び出しにおいても、これらの引数が登録ジョブＩＤに加えて指定されているものとする。
【００６２】
登録ジョブ詳細情報クラス５０２はＳ１５０１において、既に実行した前ジョブの実行結果の詳細を利用するか否かを検査する。そして、登録ジョブ詳細情報クラス５０２はＳ１５０２において、利用するか否かを判定する。ここで、実行結果詳細を取得するためのＵＲＩが指定されており、且つ、対象デバイスの別を示す値がｓ、ｆ又はａの場合、登録ジョブ詳細情報クラス５０２は、既実行ジョブの実行結果を利用すると判定する。
【００６３】
即ち、利用する場合、登録ジョブ詳細情報クラス５０２はＳ１５０３において、既実行ジョブの実行結果詳細を取得するためのＵＲＩに要求を出すことにより、既実行ジョブの実行結果詳細を取得する。一方、既実行ジョブの実行結果を利用しない場合、登録ジョブ詳細情報クラス５０２はＳ１５０６において、この登録ジョブで指定されているデバイスをジョブの対象デバイスとする。
【００６４】
次に、登録ジョブ詳細情報クラス５０２はＳ１５０４において、取得した実行結果詳細から、与えられた対象デバイス種別に応じて、処理に成功したデバイス、処理に失敗したデバイス、処理の対象となったデバイスを抽出し、ジョブの対象デバイスとする。最後に、登録ジョブ詳細情報クラス５０２はＳ１５０４或いはＳ１５０６で求めた対象デバイスに対して、指定された処理を実行し、ジョブを終了する。
【００６５】
以上の手順により、既に実行したジョブに関する情報を次に実行するジョブに指示し、次に実行するジョブは既に実行したジョブの実行結果詳細を取得することが可能となる。また、既に実行したジョブの実行結果詳細の利用法を指定し、次に実行するジョブは指示に従って、実行結果詳細から指定された利用法に合致したデータを抽出することが可能となる。
【００６６】
［第２の実施形態］
第１の実施形態では、ジョブ連携処理部４０１とジョブ連携処理部４０１に呼び出される登録ジョブを実行するジョブ処理部（ジョブＡ処理部１０２、ジョブＢ処理部１０３）は同じホストコンピュータ上で動作している。第１の実施形態での登録ジョブを実行するための方法及び、実行ジョブの詳細結果取得のための方法は共に、ＨＴＴＰによるＵＲＩ呼び出しである。従って、ジョブ連携処理部とジョブ処理部とが別のホストコンピュータ上に存在していてもこれらの呼び出しは可能である。
【００６７】
例えば、図３に示すホストコンピュータ３０１、３０２上でネットワークデバイス管理ソフトウェアがそれぞれ動作しているとする。また、ネットワーク上で動作している別のネットワークデバイス管理ソフトウェアを記憶する記憶装置と、互いのネットワーク管理ソフトウェア上に登録されている登録ジョブの一覧を取得する装置が存在するものとする。次のＵＲＩに対するＨＴＴＰ要求により、ＩＰアドレスが192.168.0.38のホスト上で動作するネットワークデバイス管理ソフトウェアに登録されている登録ジョブの一覧が取得できるものとする。尚、取得した登録ジョブの一覧には、登録ジョブＩＤと、登録ジョブ名が少なくとも含まれている。
https://192.168.0.38/NDM/RegisteredJob/
図１６は、図１２の複数のジョブの実行方法を定義するＵＩを、異なるネットワークデバイス管理ソフトウェア上の登録ジョブも指定可能なように拡張したものである。図１６において、「システム名」で示されるリストは、記憶しているネットワーク上で動作している自身を含むネットワークデバイス管理ソフトウェアの一覧である。ユーザがシステム名から目的のネットワークデバイス管理ソフトウェアを選択し、選択されたネットワークデバイス管理ソフトウェアに登録されている登録ジョブの一覧をジョブ名の選択リストに設定する。
【００６８】
図１３に示す（Ｂ）は、第２の実施形態におけるジョブ連携を定義するデータベースに保存されるデータの例である。図１３に示す（Ａ）に加えてシステムＩＤ列が追加されている。また、図１３に示す（Ｃ）は、システムＩＤを定義するデータベース内のデータの例である。図１３に示す（Ｂ）及び（Ｃ）を組み合わせることにより、例えばジョブ番号が“２”の登録ジョブを起動することができる。
【００６９】
具体的には、https://192.168.9.38/NDM/ExecuteJob/42に対してＨＴＴＰ要求を送信する。ここでは簡略化のため、実行済みのジョブの実行結果詳細を取得するためのＵＲＩと実行結果詳細の適用方法を示すtargetのＵＲＩパラメータは省略している。
【００７０】
以上の手順により、複数のジョブの実行を制御するジョブ実行制御部は、異なるホスト上の登録ジョブ同士を連携することが可能となる。
【００７１】
［第３の実施形態］
第１の実施形態では、ジョブ連携処理部が提供するＵＩ（図１０や図１１）により指定した登録ジョブの実行結果詳細を次の登録ジョブへ適用するジョブ連携を実現している。既に実行済みのジョブの実行結果詳細を登録ジョブに指示し、登録ジョブが実行時に既に実行済みのジョブの実行結果詳細を取得する方法は、既実行ジョブがジョブ連携処理内で実行したジョブである場合に限定されない。即ち、任意の既に実行したジョブの実行結果詳細を任意の登録ジョブに適用することが可能である。
【００７２】
第３の実施形態では、既に実行済みのジョブの実行結果詳細を登録ジョブに適用する例として、既に実行済みのジョブにおいて処理に失敗したデバイスに対して、同じジョブを実行する機能を実現するための方法を説明する。ここでは、この処理を「リカバリー」と呼ぶことにする。
【００７３】
図１７は、実行済みジョブの一覧を表示する画面の一例を示す図である。図１７では、ジョブの名前、状態、実行日時がリストされている。状態欄には、実行結果とリカバリーのリンクが表示されている。ユーザによる実行結果リンクのクリックを検出すると、実行ジョブ一覧表示部は、指定されたジョブの実行結果の詳細を表示する。ユーザによるリカバリーリンクのクリックを検出すると、実行ジョブ一覧表示部は、指定された実行ジョブＩＤに関連した実行ジョブ情報クラス５０３から登録ジョブＩＤを取得する。実行ジョブ一覧表示部は、取得した登録ジョブＩＤと実行ジョブＩＤとから、指定された実行ジョブＩＤの実行結果詳細の失敗したデバイスに対して登録ジョブを実行するために、以下のＵＲＩに対してＨＴＴＰ要求を送信する。
https://localhost/NDM/ExecuteJob/62?uri=https%3A%2F%2Flocalhost%2FNDM%2FJobResult%2F142&target=f
ここで、登録ジョブＩＤ及び実行ジョブＩＤは６２及び１４２である。この処理により、実行済みジョブが処理に失敗したデバイスに対して同じジョブを繰り返すことが可能となる。
【００７４】
［第４の実施形態］
上述した実施形態では、クラウドコンピューティングの実施形態として、デバイス連携のジョブ管理について説明したが、第４の実施形態ではワークフローを非同期で実行する場合を例に挙げて説明する。また、第４の実施形態におけるワークフローを実行する装置は汎用コンピュータ（例えば図２）で構成され、コンピュータがネットワーク上で複数のデバイスと接続されている（例えば図３）ものとする。
【００７５】
図１８は、第４の実施形態によるワークフローシステムの構成を示す図である。図１８において、ワークフロー処理部１８０１は、複数のタスクによるワークフローサービスの実行を制御する。ワークフロー処理部１８０１により制御されるタスクＡ処理部１８０２とタスクＢ処理部１８０２とは、異なる種類のＷｅｂサービスを提供するタスクである。ここで、Ｗｅｂサービスは一般的に公開されているリソース指向のサービスであり、特に限定されるものではない。データベース１０４には、複数のタスクの実行条件や各タスクの実行内容の詳細、及び各タスクの実行結果の詳細などが格納される。
【００７６】
ＲＥＳＴインターフェイス１８０５内のタスク起動部１８０９は、ＨＴＴＰサーバ１８０６を経由して受信されたタスク起動用のＲＥＳＴのＷｅｂサービスを解釈し、タスクの起動を行うモジュールである。実行結果取得部１８１０は、タスクの実行結果の詳細取得用のＲＥＳＴのＷｅｂサービスを解釈し、タスクの実行結果の詳細取得を行うモジュールである。
【００７７】
共通ライブラリ１８０７は、データベース１８０４へのアクセスやＷｅｂユーザインターフェイスの共通部品などを提供するライブラリである。タスクスケジューラ１８０８は、データベース１８０４内に保存されたスケジュール情報を定期的に監視し、実行時刻を過ぎた登録タスクを起動する。ここで登録タスクの起動は、ＷｅｂサーバがＨＴＴＰ経由で行うか、タスク起動部１８０９がＲＥＳＴインターフェイス１０５経由で行う。
【００７８】
以上の構成において、ワークフロー処理部１８０１は、先行タスクが実行した実行結果を取得し、実行結果が予め定義されている後続タスクの実行条件に合致する場合に、後続タスクを実行させる。
【００７９】
第４の実施形態によれば、既に実行したタスクに関する情報を次に実行するタスクに指示し、次に実行するタスクは既に実行したタスクの実行結果詳細を取得することが可能となる。また、既に実行したタスクの実行結果詳細の利用法を指定し、次に実行するタスクは指示に従って、実行結果詳細から指定された利用法に合致したデータを抽出することが可能となる。
【００８０】
また、第４の実施形態における構成を第２及び第３の実施形態に適用することも可能である。これにより、異なるコンピュータ上のタスク同士を起動させることが可能となり、更に実行済みタスクが処理に失敗したデバイスに対して同じタスクを繰り返すことが可能となる。
【００８１】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014238882.tif 000003
【図２】
2014238882.tif 000004
【図３】
2014238882.tif 000005
【図４】
2014238882.tif 000006
【図５】
2014238882.tif 000007
【図６】
2014238882.tif 000008
【図７】
2014238882.tif 000009
【図８】
2014238882.tif 000010
【図９】
2014238882.tif 000011
【図１０】
2014238882.tif 000012
【図１１】
2014238882.tif 000013
【図１３】
2014238882.tif 000014
【図１４】
2014238882.tif 000015
【図１５】
2014238882.tif 000016
【図１７】
2014238882.tif 000017
【図１８】
2014238882.tif 000018
【図１２】
2014238882.tif 000019
【図１６】
2014238882.tif 000020