以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
図1〜図32は、本発明の情報処理システム、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体の一実施例を示す図であり、図1は、本発明の情報処理システム、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体の一実施例を適用した情報処理システム1のシステム構成図である。
図1において、情報処理システム1は、LAN(Local Area Network)等のネットワークNWに、画像処理装置11、A動画編集装置12、議事録作成装置13、B動画編集装置14、B画像処理装置15、テレビ会議装置16、C画像処理装置17、C動画編集装置18、音声処理装置19等の複数の情報処理装置及び複数のパーソナルコンピュータPC(図1では、1台のみ記載されている。)が接続されており、これらの情報処理装置11〜19及びパーソナルコンピュータPCは、ネットワークNWに接続されている台数に何ら制限されるものではない。なお、画像処理装置11、A動画編集装置12、議事録作成装置13、B動画編集装置14、B画像処理装置15、テレビ会議装置16、C画像処理装置17、C動画編集装置18、音声処理装置19等の各装置は、以下、必要に応じて、情報処理装置という。
画像処理装置11は、MFP(Multi Function Peripheral)、サーバ、プリンタ装置、ファクシミリ装置、複写装置等の画像処理装置や情報処理装置が用いられており、特に、OCR(Optical Character Reader)処理を行う機能を備えている。
A動画編集装置12は、MFP、サーバ、プリンタ装置、ファクシミリ装置、複写装置等の画像処理装置や情報処理装置が用いられており、特に、動画を編集する機能を備えている。
議事録作成装置13は、MFP、サーバ、プリンタ装置、ファクシミリ装置、複写装置等の画像処理装置や情報処理装置が用いられており、特に、映像、テキスト等のデータから議事録を作成する議事録作成機能を備えている。
B動画編集装置14は、A動画編集装置12と同様に、MFP、サーバ、プリンタ装置、ファクシミリ装置、複写装置等の画像処理装置や情報処理装置が用いられており、特に、動画を編集する機能を備えている。
B画像処理装置15は、MFP、サーバ、プリンタ装置、ファクシミリ装置、複写装置等の画像処理装置や情報処理装置が用いられており、特に、画像の編集等の各種処理を行う画像処理機能を備えている。
テレビ会議装置16は、ネットワークNWを介して、あるいは、直接、インターネットや専用回線等によって遠隔のテレビ会議装置と接続されており、映像、音声、テキスト等によって相手テレビ会議装置を利用する相手方と情報の交換を行う。したがって、テレビ会議装置16は、映像、音声、テキスト等のデータを処理する機能を搭載しており、ネットワークNWを通してネットワークNW上の他の装置11〜15、17〜19、PCと通信して、後述するワークフロー処理を実行する。
C画像処理装置17は、MFP、サーバ、プリンタ装置、ファクシミリ装置、複写装置等の画像処理装置や情報処理装置が用いられており、特に、画像データの編集処理、例えば、2値化処理等の機能を備えている。
C動画編集装置18は、A動画編集装置12と同様に、MFP、サーバ、プリンタ装置、ファクシミリ装置、複写装置等の画像処理装置や情報処理装置が用いられており、特に、動画を編集する機能を備えている。
音声処理装置19は、MFP、サーバ、プリンタ装置、ファクシミリ装置、複写装置等の画像処理装置や情報処理装置が用いられており、特に、音声データの編集処理、例えば、ノイズ除去処理等の機能を備えている。
パーソナルコンピュータPCは、通常のパーソナルコンピュータであり、ネットワークNW上の情報処理装置11〜19に、予め設定したワークフローWF(図5参照)の設計、ワークフローWFに対応する手順書の作成を行って情報処理装置11〜19の1台または複数台に、ワークフロー処理の実行を依頼する。
情報処理装置11〜19は、それぞれ画像処理装置11、15、17、動画編集装置12、14、17、議事録作成装置13、テレビ会議装置16及び音声処理装置19としての必要なハードウェア及びソフトウェアを備えているとともに、ワークフロー処理を実行する上で必要な機能ブロックとして、図2に示すように、受信部21、送信部22、エラー検知部23、データ管理部24、データ保存部25、ワークフロー管理部26及び処理部27等を備えている。情報処理装置11〜19は、図示しないが、特に、ハードウェアとして、データ処理部とデータ処理部を制御して必要なデータ処理を行わせるコントローラ部を備えており、データ処理部は、例えば、画像処理ASIC(Application Specific Integrated Circuit)等を搭載して、情報処理装置11〜19として必要なデータ処理を行う機能を備えている。コントローラ部は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク、コントローラASIC(Application Specific Integrated Circuit)等を搭載して、ROMやハードディスクのプログラムをRAMに展開して、該プログラムに基づいて情報処理装置11〜19の各部を制御して、情報処理装置11〜19としての基本処理を実行するとともに、本発明のワークフロー処理を実行する。
すなわち、情報処理装置11〜19は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Versatile Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明の情報処理方法を実行する情報処理プログラムを読み込んでROMやハードディスク等に導入することで、後述する並列処理を含む複雑な処理であってもワークフロー処理を適切かつ効率的に実行する情報処理装置として構築されている。この情報処理プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
そして、受信部21は、ネットワークNWに接続されて、ネットワークNW上の他の情報処理装置11〜19及びパーソナルコンピュータPCと通信して、該他の情報処理装置11〜19及びパーソナルコンピュータからネットワークNWを通して送られてくるデータ及びコマンドを受信する。
送信部22は、ネットワークNWに接続されて、ネットワークNW上の他の情報処理装置11〜19及びパーソナルコンピュータPCと通信して、該他の情報処理装置11〜19及びパーソナルコンピュータPCにネットワークNWを通してデータ及びコマンドを送信する。上記受信部21及び送信部22は、全体として通信手段として機能している。
エラー検知部(下流装置異常検出手段)23は、ワークフローWFの手順書に基づいて処理依頼した下流側の情報処理装置11〜19のエラー(異常)発生の有無を検知する。
データ管理部24は、ワークフロー処理に関連する一連のデータ、例えば、手順書、処理対象のデータ、処理後のデータを管理して、該データのデータ保存部25への保存、データ保存部25からのデータの削除、読み出しを行うデータ保存処理を行う。
データ保存部(データ保存手段)25は、例えば、ハードディスク等で実現され、ワークフロー処理に関連する一連のデータを、データ管理部24の制御下で、保存する。
ワークフロー管理部(ワークフロー管理手段、異常連絡手段、代替データ送信手段)26は、手順書に従って、ワークフロー処理の開始、終了、再開、復帰の各処理を行う。
処理部27は、ワークフロー管理部26の管理下で、ワークフローWFの手順書で指示されているデータ処理を実行するワークフロー管理処理を行う。
手順書Tbは、図3に示すように、ワークフローID、手順ID(自己手順書特定情報)、デバイス(情報処理装置名)、IPアドレス、処理内容、詳細設定、次の手順(次手順書特定情報)、前の手順(前手順書特定情報)の各項目からなっており、情報処理システム1においては、パーソナルコンピュータPCがワークフロー処理を依頼する際に、手順書Tbを作成して、手順書Tbと処理対象のデータを、ワークフロー処理の先頭(依頼先)の情報処理装置11〜19にネットワークNWを介して渡す。
手順書TbのワークフローIDは、ワークフローWFを識別するID(identification)、手順IDは、手順を識別するID、デバイス名は、処理を実行する装置(情報処理装置11〜19)の名称、IPアドレスは、装置(情報処理装置11〜19)のネットワークアドレス、処理内容は、装置(情報処理装置11〜19)で実行すべき処理内容、詳細設定は、処理する際に必要な設定値、次の手順は、次に実施するワークフローWFの手順書Tbの手順ID(一つ下流の手順、次に実施するワークフローWFの手順書Tbが複数ある場合は、手順IDが複数列挙される。)、前の手順は、直前に実施されたワークフローWFの手順書Tbの手順ID(一つ上流の手順、直前に実施するワークフローWFの手順書Tbが複数ある場合は、手順IDが複数列挙される)をそれぞれ意味している。
次に、本実施例の作用について説明する。本実施例の情報処理システム1は、ネットワークNW上の情報処理装置11〜19を利用してワークフロー処理を行っている場合にエラーが発生すると、処理対象のデータの全てが集合する上流の情報処理装置11〜19までさかのぼって該情報処理装置11〜19が、代替装置決定装置として、ワークフロー処理の代替依頼先を検索設定して、速やかにかつ適切なワークフロー処理を実行する。
例えば、いま、図4に示すように、テレビ会議装置16で取得した動画、音声、ホワイトボードの写真データ、テキストデータ等のデータをそれぞれ議事録記録用に処理を行って、それらのデータを最終的にまとめて議事録として作成する場合に、パーソナルコンピュータPCが、これらの一連の処理を各情報処理装置の手順書TbからなるワークフローWFとして定義して、テレビ会議装置16にワークフローWFを送って、ネットワークNW上の情報処理装置11〜19に自動的に実行させる。いま、パーソナルコンピュータPCが定義したワークフローWFでは、図4の上段に示すように、テレビ会議装置16で撮影した動画データを、手順書Tbに従って、A動画編集装置12に渡して、音声データと画像データに分割し、音声データを音声処理装置19に、画像データをB画像処理装置15に、それぞれ渡し、また、テレビ会議装置16は、手順書Tbに従って、撮影された画像データを、2値化処理機能を有するC画像処理装置17に渡し、C画像処理装置17が、手順書Tbに従って、渡された画像データを2値化して、OCR機能を有する画像処理装置11に2値化した画像データを渡す。画像処理装置11は、手順書Tbに従って、渡された画像データに対してOCR処理を行って文字データ化して、OCR処理したデータ(文字データ)を議事録作成装置13に渡す。
そして、音声処理装置19は、手順書Tbに従って、受け取った音声データに対してノイズ除去処理を行って、B動画編集装置14に渡し、B画像処理装置15は、手順書Tbに従って、受け取った画像データを画像処理して、B動画編集装置14に渡す。B動画編集装置14は、手順書Tbに従って、音声処理装置19からの音声データとB画像処理装置15からの画像データに基づいて音声付きの動画データを生成し、議事録作成装置13に渡す。
議事録作成装置13は、手順書Tbに従って、B動画編集装置14からの動画データと画像処理装置11からの画像データに基づいて議事録を作成する。
この場合、パーソナルコンピュータPCは、図5に示すようなワークフローWFを作成して、上流側から下流側へと流れる情報処理の処理手順を該情報処理を実行させる画像処理装置11〜19毎の手順書Tb1、Tb21、Tb22、Tb31〜Tb33、Tb4、Tb5を作成して図4及び図5に示したワークフロー処理を実行させる先頭の画像処理装置11〜19(図4、図5では、テレビ会議装置16)にワークフローWFとして配布する。
そして、ワークフローWFを実行する各画像処理装置11〜17、19のうち、最下流の議事録作成装置13以外の画像処理装置11、12、14〜17、19は、図6に示すように、異常時対応処理を実行する。
すなわち、画像処理装置11、12、14〜17、19は、図6に示すように、エラー検知部23が、1つ下流の情報処理装置11〜15、17、19に異常が発生したことを検知すると(ステップS101)、異常が発生した装置の手順書をワークフローWFから取得してワークフロー管理部26に通知する(ステップS102)。なお、異常検知の方法については、後で詳細に説明する。そして、エラー検知部23は、自己の手順書Tbの「次の手順」に記載されている「手順ID」の手順書TbをワークフローWFから取得し、取得した手順書Tbの中から、異常を検知した情報処理装置11〜15、17、19、すなわち、異常の発生した情報処理装置11〜15、17、19の「デバイス名」または「IPアドレス」と一致する「デバイス名」または「IPアドレス」を持つ手順書Tbを取得する。
例えば、図4の上段に示すように、B動画編集装置14でエラーが発生したことを音声処理装置19及びB画像処理装置15のエラー検知部23は、手順書Tb31、Tb32の「次の手順」に記載されている手順4の手順書Tb4をワークフローWFから取得して、ワークフロー管理部26に通知する。
ワークフロー管理部26は、エラー検知部23から渡された手順書Tb(取得した手順書Tb)の「前の手順」に、2つ以上の「手順ID」が記載されているか、すなわち、異常の発生した情報処理装置11〜15、17、19の1つ上流の「手順ID」が2つ以上あるかチェックする(ステップS103)。
ステップS103で、「前の手順」に2つ以上の「手順ID」があるときには、ワークフロー管理部26は、ステップS102で取得した手順書Tb(図4及び図5の場合、手順書Tb4)の「前の手順」に共通の上流の装置(情報処理装置11〜15、17、19)が処理する手順書Tb(図5の場合、手順書Tb21)をワークフローWFの中から取得する手順書取得処理を行う(ステップS104)。ワークフロー管理部26による異常が発生した情報処理装置11〜15、17、19の共通する上流側情報処理装置11〜15、17、19の手順書Tbの取得は、ワークフローWFを解析することによって取得可能であるが、その詳細な手順書取得処理については、後で説明する。
次に、ワークフロー管理部26は、受信部21と送信部22によって、ステップS104で取得した手順書Tbの情報処理装置11〜15、17、19(図4及び図5の場合A動画編集装置12)とコネクションを張って、双方向通信ができるようにする(ステップS105)。この双方向通信の確立においては、コネクションを張る相手の手順書TbのIPアドレスが存在するときには、そのIPアドレスを使用し、手順書TbにIPアドレスがないときには、デバイス名からDNS(Domain Name Service)等を用いてIPアドレスを取得して、コネクションを張る。
ワークフロー管理部26は、送信部22を介して、ステップS105でコネクションを張った代替装置決定装置である情報処理装置11〜15、17、19(図4及び図5では、A動画編集装置12)にワークフローWFとエラー(異常)が発生した「手順ID」(図4及び図5では、B動画編集装置14の手順書Tb4)を通知する(ステップS106)。
ワークフローWFと手順書IDが送信されてきた情報処理装置11〜15、17、19(図4及び図5の場合、A動画編集装置12)は、後述する代替装置決定処理を行って、代替装置を決定し、決定した代替装置のデバイス名やIPアドレスを、ワークフローWFと手順書IDを送信してきた画像形成装置に送信する(ステップS107)。すなわち、図7に示すように、音声処理装置19とB画像処理装置15からのデータを受け取って画像処理を行うB動画編集装置14で異常(エラー)が発生した場合、図7に示すように、異常の発生したB動画編集装置14に送られてくるデータが全て合流するA動画編集装置12を代替装置を決定する画像処理装置として、A動画編集装置12が、代替装置として、C動画編集装置18を決定する。
ワークフローWFと手順書IDを送信した情報処理装置11〜15、17、19は、上流の情報処理装置11〜15、17、19から代替装置のデバイス名やIPアドレスが代替装置特定情報として送信されてくると、受信部21で該デバイス名やIPアドレスを受信して、ワークフロー管理部26に渡して、該上流側の情報処理装置11〜15、17、19とのコネクションを切断し(ステップS108)、ワークフロー管理部26は、受信したデバイス名やIPアドレスを用いて、下流側の情報処理装置11〜15、17、19の手順書Tbを、例えば、図8に示すように、修正する(ステップS109)。すなわち、図8では、手順書Tb4が、図5に示したB動画編集装置14の手順書Tb4からC動画編集装置18用の手順書Tb4として、デバイス名やIPアドレスが修正されている。
ワークフロー管理部26は、修正した手順書Tbに基づいて、受信部21と送信部22によって、代替装置(図4の下段では、C動画編集装置18)に接続し(ステップS110)、代替装置にワークフローWF、手順ID及び出力データを送信して、処理を終了する(ステップS111)。
一方、ステップS103で、「前の手順」に2つ以上の「手順ID」がないときには、ワークフロー管理部26は、ステップS102で取得した手順書Tbの処理を実行できる代替装置を検索し、代替装置として検索した情報処理装置11〜15、17、19のデバイス名やIPアドレス等の装置を特定できる情報を取得する(ステップS112)。
ワークフロー管理部26は、取得したデバイス名やIPアドレス等を用いて、下流側の情報処理装置11〜15、17、19の手順書Tbを修正する(ステップS109)。
ワークフロー管理部26は、修正した手順書Tbに基づいて、受信部21と送信部22によって、代替装置に接続し(ステップS110)、代替装置にワークフローWF、手順ID及び出力データを送信して、処理を終了する(ステップS111)。
すなわち、上記異常時対応処理は、異常発生の対応に関連する情報処理装置11〜15、17、19におけるタイミング図として、図9に示すように、B動画編集装置14で異常が発生すると、B動画編集装置14にデータ出力した情報処理装置である音声処理装置19とB画像処理装置15が異常を検知し、B動画編集装置14が複数の情報処理装置から入力データを受信する情報処理装置であるかどうかを確認する。音声処理装置19、B画像処理装置15は、B動画編集装置14が複数の情報処理装置から入力データを受信するので、B動画編集装置14の上流の情報処理装置をたどっていき、全てのデータが合流する情報処理装置であるA動画編集装置12を検索して、A動画編集装置12に異常が発生したB動画編集装置14の情報を送信する。A動画編集装置12は、異常が発生したB動画編集装置14の情報を受信すると、代替装置であるC動画編集装置18を決定し、代替装置の情報を音声処理装置19及びB画像処理装置15に通知する。
音声処理装置19及びB画像処理装置15は、通知された代替装置にワークフローWF、手順ID及び出力データを送信して、代替装置であるC動画編集装置18を使用して、ワークフロー処理を継続する。
なお、図4、図7〜図9では、B動画編集装置14に異常(エラー)が発生した場合について説明したが、図10に示すように、最終の議事録作成装置13で異常(エラー)が発生した場合には、図6に示した異常時対応処理を同様に行って、議事録作成装置13に入力する全てのデータを上流側に遡って探して合流する画像処理装置、すなわち、テレビ会議装置16を代替装置決定装置として、該テレビ会議装置16が代替装置を検索して、例えば、議事録作成装置13Bを代替装置として決定する。この場合、図11に示すように、議事録作成装置13に異常が発生したことを、議事録作成装置13にデータを送るA画像処理装置11とB動画編集装置14が検知し、異常を検知したA画像処理装置11とB動画編集装置14が、ワークフローWFから全てのデータの合流するテレビ会議装置16を代替装置を決定する画像処理装置(代替装置決定装置)として決定して、テレビ会議装置16に異常の発生した画像処理装置(議事録作成装置13)を通知する異常通知を行う。代替装置であるテレビ会議装置16は、代替装置を決定、例えば、議事録作成装置13Bを議事録作成装置13の代替装置として決定して、異常通知を行ってきたB動画編集装置14とA画像処理装置11に代替装置情報を通知する。B動画編集装置14及びA画像処理装置11は、ワークフローWF、手順ID及び出力データを、代替装置である議事録作成装置13Bに出力する。
そして、代替装置を決定する装置(代替装置決定装置)として、決定された画像処理装置、例えば、A動画編集装置12またはテレビ会議装置16は、図6のステップS107の代替装置決定処理を、図12に示すように実行する。
すなわち、図12において、代替装置決定装置は、受信部21が異常の発生した情報処理装置11〜15、17、19の手順IDとワークフローWFを受信すると、ワークフロー管理部26が、通知された手順IDの手順書TbをワークフローWFから取得し(ステップS201)、例えば、図13に示すような代替リストに、ステップS201で取得した手順書Tbの手順IDが含まれているかチェックする(ステップS202)。
ワークフロー管理部26は、ステップS202で、取得した手順IDが代替リストの中にあるときには、代替リストにある手順IDに対応するデバイス名やIDアドレスを取得し(ステップS203)、取得したデバイス名やIPアドレスを代替装置として、送信部22を介して、異常通知してきた情報処理装置11〜15、17、19に送信して、代替装置決定処理を終了する(ステップS204)。
ステップS202で、取得した手順IDが代替リストの中にないときには、ワークフロー管理部26は、図14に示すようなデバイスリストから、ステップS201で取得した手順書Tbの処理を実行可能な画像処理装置を検索して、代替装置を決定し、そのデバイス名やIDアドレスを取得する(ステップS205)。なお、図14のデバイスリストには、複数のデバイス名(画像処理装置)と、そのIPアドレス及び処理可能な処理内容が登録されており、デバイスリストは、予めネットワークNWに接続されていてワークフローWFで使用できるデバイス名、IPアドレス、処理可能な処理内容がデバイスリストとして、ハードディスク等に格納されている。なお、代替装置の決定においては、デバイスリストを検索する方法に限るものではなく、例えば、MIB(Management Information Base)等を用いて、ネットワークNW上のデバイスを動的に検索して、決定してもよい。
ワークフロー管理部26は、代替装置を決定してデバイス名やIPアドレスを取得すると、取得したデバイス名やIPアドレスを代替リストに登録するとともに(ステップS206)、取得したデバイス名やIPアドレスを代替装置として、送信部22を介して、異常通知してきた情報処理装置11〜15、17、19に送信して、代替装置決定処理を終了する(ステップS204)。
すなわち、代替装置決定装置、例えば、A動画編集装置12は、図15に示すように、下流のB画像処理装置15から受信部21に接続があって、ワークフローWFと異常が発生した手順書Tbの手順IDが送られてくると、受信部21が、送られてきたワークフローWF及び手順書Tbの該手順IDをワークフロー管理部26に渡し、ワークフロー管理部26が、上述のように、代替リストやデバイスリスト等を用いて代替装置を決定する。ワークフロー管理部26は、代替装置を決定すると、代替装置の情報とワークフローWFを送信部22を介して、B画像処理装置15にワークフローWFと代替装置情報(デバイス名やIPアドレス)を送信する。
そして、異常発生を検知した情報処理装置11〜15、17、19のワークフロー管理部26は、図6に示した異常時対応処理における手順書取得処理においては、図16に示すように行う。なお、図16において、図6と同じ処理ステップには、同じステップナンバーを付与して、その説明を簡略化または省略する。
図16において、情報処理装置11〜15、17、19は、エラー検知部23が、1つ下流の情報処理装置11〜15、17、19の異常を検知すると(ステップS101)、異常が発生した装置の手順書をワークフローWFから取得してワークフロー管理部26に通知して(ステップS102)、ワークフロー管理部26が、エラー検知部23から渡された手順書Tb(取得した手順書Tb)の「前の手順」に、2つ以上の「手順ID」が記載されているか、すなわち、異常の発生した情報処理装置11〜15、17、19の1つ上流の手順が2つ以上あるかチェックする(ステップS103)。
ステップS103で、「前の手順」に2つ以上の「手順ID」があるときには、ワークフロー管理部26は、手順書取得処理を行うが、この手順書取得処理として、まず、図17に示す処理フローリスト作成処理を行う(ステップS301)。
次に、ワークフロー管理部26は、処理フローリスト作成処理で作成された処理フローリスト(図18、図19参照)から、全てのリストに含まれる手順IDとその深さを抽出し(ステップS302)、抽出された手順IDの中から最も深さの値の小さい手順IDを取得する(ステップS303)。この手順書Tbに記載されているデバイス名(IPアドレスでもよい)の情報処理装置11〜15、17、19が異常の発生した情報処理装置11〜15、17、19の一つ上流の全ての画像処理装置11〜17、19の入力データのもととなる入力データを作成した画像処理装置11〜17、19となる。
ワークフロー管理部26は、最も深さの値の小さい手順IDに対応する手順書TbをワークフローWFから取得する(ステップS304)。
以下、図6の異常時対応処理と同様に、ワークフロー管理部26は、受信部21と送信部22によって、取得した手順書Tbの情報処理装置11〜15、17、19(図4及び図5の場合A動画編集装置12)とコネクションを張って、双方向通信ができるようにし(ステップS105)、送信部22を介して、コネクションを張った情報処理装置11〜15、17、19にワークフローWFとエラー(異常)が発生した「手順ID」を通知する(ステップS106)。
ワークフローWFと手順書IDが送信されてきた情報処理装置11〜15、17、19(図4及び図5の場合、A動画編集装置12)は、上記代替装置決定処理を行って、代替装置を決定し、決定した代替装置のデバイス名やIPアドレスを、ワークフローWFと手順書IDを送信してきた画像形成装置に送信する(ステップS107)。
ワークフローWFと手順書IDを送信した、すなわち、異常発生を検知した情報処理装置11〜15、17、19は、上流の情報処理装置11〜15、17、19から代替装置のデバイス名やIPアドレスが送信されてくると、受信部21で該デバイス名やIPアドレスを受信して、ワークフロー管理部26に渡して、該上流側の情報処理装置11〜15、17、19とのコネクションを切断し(ステップS108)、ワークフロー管理部26は、受信したデバイス名やIPアドレスを用いて、下流側の情報処理装置11〜15、17、19の手順書Tbを、例えば、図8に示したように、修正する(ステップS109)。
ワークフロー管理部26は、修正した手順書Tbに基づいて、受信部21と送信部22によって、代替装置(図4の下段では、C動画編集装置18)に接続し(ステップS110)、代替装置にワークフローWF、手順ID及び出力データを送信して、処理を終了する(ステップS111)。
そして、ワークフロー管理部26は、図16のステップS301の処理フローリスト作成処理を図17に示すように行う。すなわち、ワークフロー管理部26は、「前の手順」の手順番号を示す変数nに、「1」を設定し(ステップS401)、ステップS102で取得した手順書Tbの「前の手順」のn番目に手順IDが記載されているかチェックする(ステップS402)。
ステップS402で、「前の手順」のn番目に手順IDが記載されていると、ワークフロー管理部26は、「前の手順」のn番目の手順IDに該当する手順書TbをワークフローWFから取得し(ステップS403)、取得した手順書Tbの処理フローリストを作成する(ステップS404)。
ワークフロー管理部26は、処理フローリストを作成すると、変数nを「1」だけインクリメントして(ステップS405)、ステップS402に戻って、意図した変数nについて、上記同様に、「前の手順」のn番目の手順IDがあるかチェックし(ステップS402)、「前の手順」のn番目に手順IDが記載されていると、上記同様に、「前の手順」のn番目の手順IDに該当する手順書TbをワークフローWFから取得して(ステップS403)、取得した手順書Tbの処理フローリストを作成した後(ステップS404)、変数nを「1」だけインクリメントして、ステップS402に戻るという処理を順次繰り返し行う(ステップS402〜S405)。
ステップS402で、[前の手順」のn番目の手順IDがないときには、処理フローリスト作成処理を終了する。
このようにして作成された処理フローリストは、例えば、図4に示したワークフローWFの場合、図18に示すように、音声処理装置19での処理フローリスト(図18(a))とB画像処理装置15の処理フローリスト(図18(b))のようになり、図10の場合、図19に示すように、A画像処理装置11での処理フローリスト(図19(a))、B動画編集装置14での処理フローリスト(図19(b)、(c))のようになる。
そして、ワークフローWFにおける下流側の情報処理装置11〜15、17、19に異常が発生したことを上流側の画像処理装置11〜17、19で検出する方法について説明する。下流側情報処理装置11〜15、17、19の異常発生の検出方法としては、例えば、図4の場合について図20及び図20の続きを示す図21に示すように、異常の発生した下流側のB動画編集装置14から、例えば、上流側のB画像処理装置15に異常発生通知を行うことで、上流側のB画像処理装置15が下流側のB動画編集装置14での異常発生を検知する。
この場合、図20に示すように、B画像処理装置15は、上流側のA動画編集装置12から受信部21に接続があって、入力データ、ワークフローWF及び次の手順通知があると、受信部21が、入力データをデータ管理部24に渡し、ワークフローWFと次の手順通知をワークフロー管理部26に渡す。ワークフロー管理部(処理状態通知手段)26が、処理部27に処理依頼を行い、データ管理部24から入力データを取得して処理を開始する。処理部(異常状態通知手段)27は、処理を開始すると、送信部22を介してA動画編集装置12に状態通知(開始)を行って、処理が正常に終了すると、送信部22を介してA動画編集装置12に状態通知(終了)を行い、また、ワークフロー管理部26に処理結果を通知する。ワークフロー管理部26は、処理結果通知を受け取ると、出力データをデータ管理部24を介してデータ保存部25に保存するとともに、送信部22を介して出力データ、ワークフローWF及び次の手順通知を下流のB動画編集装置14に出力する。
B動画編集装置14は、データ、ワークフローWF及び次の手順通知を受け取ると、B画像処理装置15と同様に、処理部27で処理を開始すると、状態通知(開始)を、送信部22から上流側のB画像処理装置15に通知するが、処理途中で故障等の異常が発生すると、送信部22から状態通知(異常)を送信部22から上流側のB画像処理装置15に出力する。
上流側のB画像処理装置15は、下流側のB動画編集装置14から状態通知(異常)を、受信部21が受信すると、受信部21は、状態通知(異常)をエラー検知部23に渡して、エラー検知部(下流装置異常検出手段)23が、送信部22に下流側のB動画編集装置14との接続の切断を要求して、送信部22が切断する。
次に、上流側のB画像処理装置15は、エラー検知部23が、ワークフロー管理部26にワークフロー復旧要求を行い、ワークフロー管理部26が、ワークフロー復旧処理を行って、ワークフローWF及び異常の発生した手順を送信部22を介して、上流側のA動画編集装置12に送信する。
上流側のA動画編集装置12は、図21に示すように、代替装置を決定して、代替装置に修正したワークフローWFを下流側の画像処理装置15の受信部21に送信し、B画像処理装置15の受信部21は、上流側のA動画編集装置12から送られてきたワークフローWFをワークフロー管理部26に渡す。ワークフロー管理部26は、送信部22に上流側のA動画編集装置12との切断依頼を行い、送信部22が、上流側のA動画編集装置12との接続を切断する。
B画像処理装置15は、ワークフロー管理部26が、出力データをデータ管理部24を介してデータ保存部25から取得し、取得した出力データ、ワークフローWF及び次の手順通知を、送信部22を介して、代替装置であるC動画編集装置18に送信する。
C動画編集装置18は、データ、ワークフローWF及び次の手順通知を受け取ると、上記同様に手順に従ってデータ処理を開始して、状態通知(開始)を行い、正常にデータ処理を終了すると、上流側のB画像処理装置15の受信部21に状態通知(終了)を送信する。
上流側のB画像処理装置15は、状態通知(終了)を受信すると、送信部22に切断依頼して、送信部22が下流側のC動画編集装置18との接続を切断する。また、受信部は、処理結果である状態通知(終了)をワークフロー管理部26に出力し、ワークフロー管理部26は、データ管理部24を介してデータ保存部25に保存している出力データを削除して、全ての処理を終了する。
また、下流側の画像処理装置の異常発生を検出する方法としては、図20及び図21に示した下流側からの異常発生通知である状態通知(異常)の受信によってのみに限るものではなく、例えば、図4の場合について図22及び図23に示すように、情報処理装置11〜15、17、19における処理毎の問い合わせ間隔で下流側の情報処理装置11〜15、17、19に処理状態の問い合わせを所定回数行っても応答がないと、該情報処理装置11〜15、17、19に異常が発生したとして、異常対応処理を行ってもよい。
この場合、図22に示すように、B画像処理装置15は、上流側のA動画編集装置12から受信部21に接続があって、入力データ、ワークフローWF及び次の手順通知があると、受信部21が、入力データをデータ管理部24に渡し、ワークフローWFと次の手順通知をワークフロー管理部26に渡す。ワークフロー管理部26が、処理部27lに処理依頼を行い、データ管理部24から入力データを取得して処理を開始する。処理部27は、処理を開始すると、送信部22を介してA動画編集装置12に状態通知(開始)を行って、処理が正常に終了すると、送信部22を介してA動画編集装置12に状態通知(終了)を行い、また、ワークフロー管理部26に処理結果を通知する。ワークフロー管理部26は、処理結果通知を受け取ると、出力データをデータ管理部24を介してデータ保存部25に保存するとともに、送信部22を介して出力データ、ワークフローWF及び次の手順通知を下流のB動画編集装置14に出力する。
B動画編集装置14は、データ、ワークフローWF及び次の手順通知を受け取ると、B画像処理装置15と同様に、処理部27で処理を開始すると、状態通知(開始)を、送信部22から上流側のB画像処理装置15に通知するが、処理途中で故障等の異常が発生しても、異常発生を通知する機能が故障等で利用できなかったり、異常通知機能を備えていないときには、送信部22から状態通知(異常)を送信部22から上流側のB画像処理装置15に出力することができない。
そこで、上流側のB画像処理装置15は、エラー検知部23が、送信部22を介して下流側のB動画編集装置14に対して、所定の問い合わせ間隔で、状態取得要求を送出し、下流側のB動画編集装置14から状態取得応答が受信部21にあると、下流側のB動画編集装置14での処理が進行していると判断する。ところが、下流側のB動画編集装置14で異常が発生して状態取得要求に対して応答を行うことができないときには、状態取得要求を行っても、状態取得応答が戻ってこないことになる。
そこで、エラー検知部23は、最初に状態取得応答を出力してから、予め設定されている所定の問い合わせ回数だけ状態取得要求の問い合わせを行っても、下流側のB動画編集装置14から状態取得応答が無いときには、下流側のB動画編集装置14で異常が発生したと判断して、送信部22に下流側のB動画編集装置14との接続の切断を要求するとともに、ワークフロー管理部26にワークフロー復旧要求を行い、送信部22が下流側のB動画編集装置14との接続を切断する。
この問い合わせ間隔は、異常検知対象の情報処理装置11〜15、17、19が実行する画像処理内容によって設定する。すなわち、処理内容によって処理に要する時間が、例えば、図24に示すように異なり、例えば、画像補正処理では、30sec(30秒)、2値化処理では、10sec、OCR処理では、180sec、ノイズ除去処理では、30sec程度要する場合、1つの処理に対して問い合わせる回数を、所定回数、例えば、5回とすると、画像補正処理では、6sec、OCR処理の場合は、36sec間隔で状態取得要求の問い合わせを行う。そして、エラー検知部23は、この各処理内容毎の目安となる処理時間、問い合わせ回数を記憶しており、処理内容に応じて問い合わせ間隔を算出して、その算出した問い合わせ間隔で下流側の情報処理装置11〜15、17、19に状態取得要求の問い合わせを行う。エラー検知部23は、状態取得要求の問い合わせを、予め設定されている回数、例えば、5回行っても、状態取得応答が下流側の情報処理装置11〜15、17、19から戻ってこないときには、下流側の情報処理装置11〜15、17、19で異常が発生したと判断する。このようにすると、上流側の情報処理装置11〜15、17、19から下流側の情報処理装置11〜15、17、19への状態取得要求の問い合わせ回数を少なくしつつ、適切に下流側の情報処理装置11〜15、17、19の異常発生の有無を検出することができる。
ワークフロー管理部26は、ワークフロー復旧処理を行って、ワークフローWF及び異常の発生した手順を送信部22を介して、上流側のA動画編集装置12に送信する。
上流側のA動画編集装置12は、図23に示すように、代替装置を決定して、代替装置に修正したワークフローWFを下流側の画像処理装置15の受信部21に送信し、B画像処理装置15の受信部21は、上流側のA動画編集装置12から送られてきたワークフローWFをワークフロー管理部26に渡す。ワークフロー管理部26は、送信部22に上流側のA動画編集装置12との切断依頼を行い、送信部22が、上流側のA動画編集装置12との接続を切断する。
B画像処理装置15は、ワークフロー管理部26が、出力データをデータ管理部24を介してデータ保存部25から取得し、取得した出力データ、ワークフローWF及び次の手順通知を、送信部22を介して、代替装置であるC動画編集装置18に送信する。
C動画編集装置18は、データ、ワークフローWF及び次の手順通知を受け取ると、上記同様に手順に従ってデータ処理を開始して、状態通知(開始)を行い、正常にデータ処理を終了すると、上流側のB画像処理装置15の受信部21に状態通知(終了)を送信する。
上流側のB画像処理装置15は、状態通知(終了)を受信すると、送信部22に切断依頼して、送信部22が下流側のC動画編集装置18との接続を切断する。また、受信部は、処理結果である状態通知(終了)をワークフロー管理部26に出力し、ワークフロー管理部26は、データ管理部24を介してデータ保存部25に保存している出力データを削除して、全ての処理を終了する。
さらに、下流側の画像処理装置の異常発生を検出する方法としては、図20と図21及び図22と図23に示した方法に限るものではなく、例えば、図25及び図26に示すように、下流側の情報処理装置11〜15、17、19に処理依頼を行ってから、処理毎に設定した待ち時間を経過しても状態通知(終了)が無いときには、下流側の情報処理装置11〜15、17、19に異常が発生したとして、異常対応処理を行ってもよい。
この場合、図25に示すように、B画像処理装置15は、上流側のA動画編集装置12から受信部21に接続があって、入力データ、ワークフローWF及び次の手順通知があると、受信部21が、入力データをデータ管理部24に渡し、ワークフローWFと次の手順通知をワークフロー管理部26に渡す。ワークフロー管理部26が、処理部27lに処理依頼を行い、データ管理部24から入力データを取得して処理を開始する。処理部27は、処理を開始すると、送信部22を介してA動画編集装置12に状態通知(開始)を行って、処理が正常に終了すると、送信部22を介してA動画編集装置12に状態通知(終了)を行い、また、ワークフロー管理部26に処理結果を通知する。ワークフロー管理部26は、処理結果通知を受け取ると、出力データを、データ管理部24を介してデータ保存部25に保存するとともに、送信部22を介して出力データ、ワークフローWF及び次の手順通知を下流のB動画編集装置14に出力する。
B動画編集装置14は、データ、ワークフローWF及び次の手順通知を受け取ると、B画像処理装置15と同様に、処理部27で処理を開始すると、状態通知(開始)を、送信部22から上流側のB画像処理装置15に通知するが、処理途中で故障等の異常が発生しても、異常発生を通知する機能が故障等で利用できなかったり、異常通知機能を備えていないときには、送信部22から状態通知(異常)を送信部22から上流側のB画像処理装置15に出力することができない。
そこで、上流側のB画像処理装置15のエラー検知部23は、出力データ、ワークフローWF及び次の手順通知を下流のB動画編集装置14に出力してから、あるいは、状態通知(開始)のつうちがあってから、予め設定されている待ち時間だけ待って、状態通知(終了)が下流側のB動画編集装置14から送られてこないときには、下流側のB動画編集装置14に異常が発生したと判断する。
エラー検知部23は、この待ち時間として、図24に示したような各処理内容毎に必要な処理時間を予め記憶して、処理時間を考慮した待ち時間を設定する。
そして、エラー検知部23は、待ち時間経過しても下流側のB動画編集装置14から状態取得応答が無いときには、下流側のB動画編集装置14で異常が発生したと判断して、送信部22に下流側のB動画編集装置14との接続の切断を要求するとともに、ワークフロー管理部26にワークフロー復旧要求を行い、送信部22が下流側のB動画編集装置14との接続を切断する。
ワークフロー管理部26は、ワークフロー復旧処理を行って、ワークフローWF及び異常の発生した手順を、送信部22を介して、上流側のA動画編集装置12に送信する。
上流側のA動画編集装置12は、図26に示すように、代替装置を決定して、代替装置に修正したワークフローWFを下流側の画像処理装置15の受信部21に送信し、B画像処理装置15の受信部21は、上流側のA動画編集装置12から送られてきたワークフローWFをワークフロー管理部26に渡す。ワークフロー管理部26は、送信部22に上流側のA動画編集装置12との切断依頼を行い、送信部22が、上流側のA動画編集装置12との接続を切断する。
B画像処理装置15は、ワークフロー管理部26が、出力データをデータ管理部24を介してデータ保存部25から取得し、取得した出力データ、ワークフローWF及び次の手順通知を、送信部22を介して、代替装置であるC動画編集装置18に送信する。
C動画編集装置18は、データ、ワークフローWF及び次の手順通知を受け取ると、上記同様に手順に従ってデータ処理を開始して、状態通知(開始)を行い、正常にデータ処理を終了すると、上流側のB画像処理装置15の受信部21に状態通知(終了)を送信する。
上流側のB画像処理装置15は、状態通知(終了)を受信すると、送信部22に切断依頼して、送信部22が下流側のC動画編集装置18との接続を切断する。また、受信部は、処理結果である状態通知(終了)をワークフロー管理部26に出力し、ワークフロー管理部26は、データ管理部24を介してデータ保存部25に保存している出力データを削除して、全ての処理を終了する。
このようにすると、異常発生有無判断のための問い合わせ回数をより一層削減して、ネットワークNWのトラフィックへの負荷をより一層抑制しつつ、適切に下流側の情報処理装置11〜15、17、19の異常発生の有無を検出することができる。
上記説明においては、異常発生した情報処理装置11〜15、17、19の上流側に異常通知したり、上流側が異常検知して、異常発生した情報処理装置11〜15、17、19が複数の情報処理装置11〜15、17、19から入力データを受けている場合に、該複数の入力データの集合する上流側の情報処理装置11〜15、17、19に異常発生を通知して、入力データの集合する上流側の情報処理装置11〜15、17、19が代替装置を決定しているが、異常発生通知を、上流側の装置だけでなく、図27〜図30に示すように、該異常発生の情報処理装置11〜15、17、19からデータが入力される予定の下流側の情報処理装置11〜15、17、19にも通知してもよい。なお、図27において、図6と同様の処理ステップには、同一のステップナンバーを付与して、その説明を簡略化、または、省略する。
図27において、情報処理装置11〜15、17、19は、エラー検知部23が、1つ下流の情報処理装置11〜15、17、19の異常を検知すると(ステップS101)、図28に示す下流側への異常通知処理を行う(ステップS500)。
情報処理装置11〜15、17、19は、下流側への異常通知処理を行うと、以降、図6の場合と同様に異常事態王処理を行う。すなわち、1つ下流の情報処理装置11〜15、17、19の異常を検知した情報処理装置11〜15、17、19は、異常が発生した装置の手順書をワークフローWFから取得してワークフロー管理部26に通知して(ステップS102)、ワークフロー管理部26が、エラー検知部23から渡された手順書Tb(取得した手順書Tb)の「前の手順」に、2つ以上の「手順ID」が記載されているか、すなわち、異常の発生した情報処理装置11〜15、17、19の1つ上流の手順が2つ以上あるかチェックする(ステップS103)。
ステップS103で、「前の手順」に2つ以上の「手順ID」があるときには、ワークフロー管理部26は、手順書取得処理を行い(ステップS104)、受信部21と送信部22によって、取得した手順書Tbの情報処理装置11〜15、17、19とコネクションを張って、双方向通信ができるようにして(ステップS105)、送信部22を介して、コネクションを張った情報処理装置11〜15、17、19にワークフローWFとエラー(異常)が発生した「手順ID」を通知する(ステップS106)。
ワークフローWFと手順書IDが送信されてきた情報処理装置11〜15、17、19は、上記代替装置決定処理を行って、代替装置を決定し、決定した代替装置のデバイス名やIPアドレスを、ワークフローWFと手順書IDを送信してきた画像形成装置に送信する(ステップS107)。
ワークフローWFと手順書IDを送信した情報処理装置11〜15、17、19は、上流の情報処理装置11〜15、17、19から代替装置のデバイス名やIPアドレスが送信されてくると、受信部21で該デバイス名やIPアドレスを受信して、ワークフロー管理部26に渡して、該上流側の情報処理装置11〜15、17、19とのコネクションを切断し(ステップS108)、ワークフロー管理部26は、受信したデバイス名やIPアドレスを用いて、下流側の情報処理装置11〜15、17、19の手順書Tbを、例えば、図8に示すように、修正する(ステップS109)。
ワークフロー管理部26は、修正した手順書Tbに基づいて、受信部21と送信部22によって、代替装置(図4の下段では、C動画編集装置18)に接続し(ステップS110)、代替装置にワークフローWF、手順ID及び出力データを送信して、処理を終了する(ステップS111)。
また、ステップS103で、「前の手順」に2つ以上の「手順ID」がないときには、ワークフロー管理部26は、ステップS102で取得した手順書Tbの処理を実行できる代替装置を検索し、代替装置として検索した情報処理装置11〜15、17、19のデバイス名やIPアドレス等の装置を特定できる情報を取得する(ステップS112)。
そして、ワークフロー管理部26は、ステップS500の下流側への異常通知処理を、図28に示すように実行する。すなわち、ワークフロー管理部26は、異常が発生した情報処理装置11〜15、17、19の手順書Tbの「次の手順」に手順IDがあるかチェックし(ステップS501)、「次の手順」に手順IDがないときには、異常通知すべき下流側の情報処理装置11〜15、17、19が存在しないので、そのまま処理を終了する。
ステップS501で、「次の手順」に手順IDがあるときには、ワークフロー管理部26は、異常が発生した情報処理装置11〜15、17、19の手順書Tbの「次の手順」に記載されている手順IDの手順書TbをワークフローWFから取得し(ステップS502)、取得した手順書Tbの「前の手順」に2つ以上の手順IDが記載されているか確認する(ステップS503)。
ステップS503で、取得した手順書Tbの「前の手順」に2つ以上の手順IDが記載されていないときには、ワークフロー管理部26は、下流側の情報処理装置11〜15、17、19に以上通知する必要がないと判断して、処理を終了する。
ステップS503で、取得した手順書Tbの「前の手順」に2つ以上の手順IDが記載されているときには、ワークフロー管理部26は、ステップS502で取得した手順書Tbの「デバイス名」に記載されている情報処理装置11〜15、17、19に送信部22によって接続し(ステップS504)、接続した情報処理装置11〜15、17、19に対して、入力装置の異常、すなわち、異常発生した情報処理装置11〜15、17、19の下流側の情報処理装置11〜15、17、19であって、異常発生した情報処理装置11〜15、17、19からデータが入力される情報処理装置11〜15、17、19に対して、データを入力してくる情報処理装置11〜15、17、19に異常が発生している旨の下流側への異常通知を行って(ステップS505)、該下流側の情報処理装置11〜15、17、19に入力装置の異常によって入力データ待ちのタイムアウトをしないように要請する(ステップS506)。
ワークフロー管理部26は、該下流側の情報処理装置11〜15、17、19との接続を送信部22に切断させて、処理を終了する(ステップS507)。
すなわち、図4の場合、図29及び図30に示すように、異常時対応処理を行う。まず、図29に示すように、B画像処理装置15は、上流側のA動画編集装置12から受信部21に接続があって、入力データ、ワークフローWF及び次の手順通知があると、受信部21が、入力データをデータ管理部24に渡し、ワークフローWFと次の手順通知をワークフロー管理部26に渡す。ワークフロー管理部26が、処理部27lに処理依頼を行い、データ管理部24から入力データを取得して処理を開始する。処理部27は、処理を開始すると、送信部22を介してA動画編集装置12に状態通知(開始)を行って、処理が正常に終了すると、送信部22を介してA動画編集装置12に状態通知(終了)を行い、また、ワークフロー管理部26に処理結果を通知する。ワークフロー管理部26は、処理結果通知を受け取ると、出力データをデータ管理部24を介してデータ保存部25に保存するとともに、送信部22を介して出力データ、ワークフローWF及び次の手順通知を下流のB動画編集装置14に出力する。
B動画編集装置14は、データ、ワークフローWF及び次の手順通知を受け取ると、B画像処理装置15と同様に、処理部27で処理を開始すると、状態通知(開始)を、送信部22から上流側のB画像処理装置15に通知するが、処理途中で故障等の異常が発生しても、異常発生を通知する機能が故障等で利用できなかったり、異常通知機能を備えていないときには、送信部22から状態通知(異常)を送信部22から上流側のB画像処理装置15に出力することができない。
そこで、上流側のB画像処理装置15のエラー検知部23は、出力データ、ワークフローWF及び次の手順通知を下流のB動画編集装置14に出力してから、あるいは、状態通知(開始)のつうちがあってから、予め設定されている待ち時間だけ待って、状態通知(終了)が下流側のB動画編集装置14から送られてこないときには、下流側のB動画編集装置14に異常が発生したと判断する。
そして、エラー検知部23は、待ち時間経過しても下流側のB動画編集装置14から状態取得応答が無いときには、下流側のB動画編集装置14で異常が発生したと判断して、送信部22に下流側のB動画編集装置14との接続の切断を要求するとともに、ワークフロー管理部26にワークフロー復旧要求を行い、送信部22が下流側のB動画編集装置14との接続を切断する。
ワークフロー管理部26は、ワークフロー復旧処理を行って、入力装置に異常がある旨を、送信部22を介して異常が発生したB動画編集装置14の下流側の議事録作成装置13に出力するとともに、ワークフローWF及び異常の発生した手順を送信部22を介して、上流側のA動画編集装置12に送信する。
上流側のA動画編集装置12は、図30に示すように、代替装置を決定して、代替装置に修正したワークフローWFを下流側の画像処理装置15の受信部21に送信し、B画像処理装置15の受信部21は、上流側のA動画編集装置12から送られてきたワークフローWFをワークフロー管理部26に渡す。ワークフロー管理部26は、送信部22に上流側のA動画編集装置12との切断依頼を行い、送信部22が、上流側のA動画編集装置12との接続を切断する。
B画像処理装置15は、ワークフロー管理部26が、出力データをデータ管理部24を介してデータ保存部25から取得し、取得した出力データ、ワークフローWF及び次の手順通知を、送信部22を介して、代替装置であるC動画編集装置18に送信する。
C動画編集装置18は、データ、ワークフローWF及び次の手順通知を受け取ると、上記同様に手順に従ってデータ処理を開始して、状態通知(開始)を行い、正常にデータ処理を終了すると、上流側のB画像処理装置15の受信部21に状態通知(終了)を送信する。
上流側のB画像処理装置15は、状態通知(終了)を受信すると、送信部22に切断依頼して、送信部22が下流側のC動画編集装置18との接続を切断する。また、受信部は、処理結果である状態通知(終了)をワークフロー管理部26に出力し、ワークフロー管理部26は、データ管理部24を介してデータ保存部25に保存している出力データを削除して、全ての処理を終了する。
なお、上記説明においては、2つ以上の入力データが入力される情報処理装置11〜15、17、19において異常が発生すると、全てのデータが集合する上流の情報処理装置11〜15、17、19において、代替装置を決定して、その代替装置のデバイス名を該代替装置にデータを出力する下流側の情報処理装置11〜15、17、19に通知しているが、代替装置の通知方法としては、デバイス名を通知する方法に限るものではなく、例えば、図31及び図32に示すように、デバイス名を代替装置に修正したワークフローWFを下流側の情報処理装置11〜15、17、19に通知してもよい。なお、図31において、図6と同様の処理ステップには、同一のステップナンバーを付与して、その説明を簡略化、または、省略する。
すなわち、図31において、情報処理装置11〜15、17、19は、エラー検知部23が、1つ下流の情報処理装置11〜15、17、19の異常を検知すると(ステップS101)、異常が発生した装置の手順書TbをワークフローWFから取得してワークフロー管理部26に通知して(ステップS102)、ワークフロー管理部26が、エラー検知部23から渡された手順書Tb(取得した手順書Tb)の「前の手順」に、2つ以上の「手順ID」が記載されているか、すなわち、異常の発生した情報処理装置11〜15、17、19の1つ上流の手順が2つ以上あるかチェックする(ステップS103)。
ステップS103で、「前の手順」に2つ以上の「手順ID」があるときには、ワークフロー管理部26は、手順書取得処理を行い(ステップS104)、受信部21と送信部22によって、取得した手順書Tbの情報処理装置11〜15、17、19とコネクションを張って、双方向通信ができるようにして(ステップS105)、送信部22を介して、コネクションを張った情報処理装置11〜15、17、19にワークフローWFとエラー(異常)が発生した「手順ID」を通知する(ステップS106)。
ワークフローWFと手順書IDが送信されてきた情報処理装置11〜15、17、19は、上記代替装置決定処理を行って、図32に示す代替装置を決定する代替装置決定処理を行って、決定した代替装置で修正したワークフローWFを、ワークフローWFと手順書IDを送信してきた画像形成装置に送信する(ステップS600)。
ワークフローWFと手順書IDを送信した情報処理装置11〜15、17、19は、上流の情報処理装置11〜15、17、19から修正されたワークフローWFが送信されてくると、受信部21で該ワークフローWFを受信して、ワークフロー管理部26に渡して、該上流側の情報処理装置11〜15、17、19とのコネクションを切断する(ステップS108)。
ワークフロー管理部26は、受信した修正後のワークフローWFを用いて、受信部21と送信部22によって、代替装置に接続し(ステップS110)、代替装置にワークフローWF、手順ID及び出力データを送信して、処理を終了する(ステップS111)。
また、ステップS103で、「前の手順」に2つ以上の「手順ID」がないときには、ワークフロー管理部26は、ステップS102で取得した手順書Tbの処理を実行できる代替装置を検索し、代替装置として検索した情報処理装置11〜15、17、19のデバイス名やIPアドレス等の装置を特定できる情報を取得し(ステップS112)、ステップS102で取得した手順書Tbのデバイス名を修正する(ステップS610)。
ワークフロー管理部26は、修正したデバイス名に基づいて、受信部21と送信部22によって、代替装置に接続し(ステップS110)、代替装置にワークフローWF、手順ID及び出力データを送信して、処理を終了する(ステップS111)。
そして、代替装置決定装置として、決定された画像処理装置は、図図31のステップS600の代替装置決定処理を、図32に示すように実行する。なお、図32において、図12に示した代替装置決定処理と同様の処理ステップについては、同一のステップナンバーを付与して、その説明を簡略化する。
すなわち、代替装置決定装置は、図32に示すように、受信部21が異常の発生した情報処理装置11〜15、17、19の手順IDとワークフローWFを受信すると、ワークフロー管理部26が、通知された手順IDの手順書TbをワークフローWFから取得し(ステップS201)、例えば、図13に示したような代替リストに、ステップS201で取得した手順書Tbの手順IDが含まれているかチェックする(ステップS202)。
ワークフロー管理部26は、ステップS202で、取得した手順IDが代替リストの中にあるときには、代替リストにある手順IDに対応するデバイス名やIDアドレスを取得し(ステップS203)、取得したデバイス名やIPアドレスを代替装置として、ステップS201で取得した手順書Tbのデバイス名やIPアドレスを該代替装置のデバイス名やIPアドレスで修正する(ステップS601)。
ワークフロー管理部26は、手順書Tbを修正すると、送信部22を介して、異常通知してきた情報処理装置11〜15、17、19にワークフローWFを送信して、代替装置決定処理を終了する(ステップS602)。
ステップS202で、取得した手順IDが代替リストの中にないときには、代替装置決定装置のワークフロー管理部26は、図14に示したようなデバイスリストから、ステップS201で取得した手順書Tbの処理を実行可能な画像処理装置を検索して、代替装置を決定し、そのデバイス名やIDアドレスを取得する(ステップS205)。
ワークフロー管理部26は、代替装置を決定してデバイス名やIPアドレスを取得すると、取得したデバイス名やIPアドレスを用いて、ステップS201で取得した手順書Tbのデバイス名やIPアドレスを該代替装置のデバイス名やIPアドレスで修正し(ステップS603)、取得したデバイス名やIPアドレスを、代替リストに登録するとともに(ステップS206)、デバイス名を修正した手順書TbのワークフローWFを、送信部22を介して、異常通知してきた情報処理装置11〜15、17、19に送信して、代替装置決定処理を終了する(ステップS602)。
このように、本実施例の情報処理システム1は、ネットワークNWに接続された複数の情報処理装置11〜19が各情報処理装置11〜19用の手順書Tbに基づいて上流側から下流側及び並列に連携してデータ処理するとともに、該手順書Tbが、少なくとも、処理内容、自己の手順書を特定するための手順ID(自己手順書特定情報)、デバイス(情報処理装置名)、次に処理する情報処理装置11〜19の手順書Tbを特定する次の手順(次の手順ID:次手順書特定情報)、1つ上流側の情報処理装置11〜19の手順書Tbを特定する前の手順(前の手順ID:前手順書特定情報)を含んでワークフローWFを構成しており、各情報処理装置11〜19が、上流側から送られてきたワークフローWFにおける自己の手順書Tbの処理内容に記載されている処理を、上流側の該情報処理装置11〜19から送られてきたデータに施して、処理済みデータ及び上流側から送られてきた該ワークフローWFをデータ保存部(データ保存手段)に保存するとともに、該処理済みデータとワークフローWFを該手順書Tbの次の手順で特定される情報処理装置11〜19へ送信し、該処理済みデータを送信した次の手順に対応する情報処理装置11〜19に異常が発生すると、該ワークフローWFに基づいて、異常の発生した情報処理装置11〜19の手順書Tbを参照して、前の手順が2つ以上記載されていると、全ての該前の手順の情報処理装置11〜19の出力しているデータを上流側に辿って最終的に集合する情報処理装置11〜19を、異常の発生した情報処理装置11〜19の処理を代替えして実行する情報処理装置11〜19である代替装置を決定する代替決定装置として選択して、該代替決定装置に該ワークフローWFと異常の発生した該情報処理装置11〜19の手順書Tbを特定する異常手順書ID(異常発生手順書特定情報)を送信して、該代替決定装置から該代替装置の情報処理装置11〜19を特定する代替装置特定情報が送られてくると、データ保存部25に保存されている該処理済みデータ及び異常の発生した情報処理装置11〜19を該代替装置特定情報で特定される情報処理装置11〜19に書き換えたワークフローWFを該代替装置特定情報で特定される該情報処理装置11〜19に送信している。
したがって、データに対して複数の情報処理装置11〜19で並列処理を行っている場合に、異常が発生しても、並列処理しているデータが上流側で集合する情報処理装置11〜19を代替決定装置として、異常の発生した情報処理装置11〜19の処理を代替して実行する情報処理装置11〜19を決定して、ワークフロー処理を継続することができ、生産性を落とすことなく、適切にワークフロー処理を継続して行うことができる。
また、本実施例の情報処理システム1は、データ処理を実行している情報処理装置11〜19が、データの処理に異常が発生すると、手順書Tbに前手順ID(前手順書特定情報)が2つ以上記載されているか判定して、2つ以上の前手順IDが記載されていると、2つ以上の該前手順IDに対応する情報処理装置11〜19へ異常が発生した旨の異常通知を行っている。
したがって、データの並列処理を行って下流側にデータを出力した上流側の複数の情報処理装置11〜19が、異常通知によって、下流側の情報処理装置11〜15、17、19に異常が発生したことを認識して、異常発生に対して適切に対応することができ、生産性を落とすことなく、適切にワークフロー処理を継続して行うことができる。
さらに、本実施例の情報処理システム1は、各情報処理装置11〜19が、少なくとも、データの処理が正常に終了すると、手順書Tbの前手順IDに対応する情報処理装置11〜19へ処理が終了した旨の処理状態通知を行い、該前手順IDに対応する情報処理装置11〜19が、該処理状態通知が予め設定されている通知待ち時間内に未通知であることによって、該情報処理装置11〜19に異常が発生したことを検出している。
したがって、データの並列処理を行って下流側にデータを出力した上流側の複数の情報処理装置11〜19が、処理状態通知が通知待ち時間内にこないことによって、下流側の情報処理装置11〜15、17、19に異常が発生したことを認識して、異常発生に対して適切に対応することができ、生産性を落とすことなく、適切にワークフロー処理を継続して行うことができる。
また、本発明の情報処理システム1は、データを送信した下流側の情報処理装置11〜19に該データの処理状態の問い合わせを行って、該問い合わせに対する下流側の情報処理装置11〜19からの応答に基づいて、下流側の情報処理装置11〜19に異常が発生したか否かを検出している。
したがって、データの並列処理を行って下流側にデータを出力した上流側の複数の情報処理装置11〜19が、下流側に処理状態の問い合わせを行ってその応答に基づいて、処理状態通知が通知待ち時間内にこないことによって、下流側の情報処理装置11〜15、17、19に異常が発生したことを認識して、異常発生に対して適切に対応することができ、生産性を落とすことなく、適切にワークフロー処理を継続して行うことができる。
さらに、本実施例の情報処理システム1は、前記通知待ち時間を下流側の情報処理装置11〜19での処理内容に応じた通知待ち時間に設定したり、または、下流側の情報処理装置11〜19に対する処理状態の問い合わせを、下流側の該情報処理装置11〜19での処理内容に応じた問い合わせ間隔で所定回数行っている。
したがって、下流側の情報処理装置11〜19の処理内容に応じて、ネットワークNWのトラフィックを削減しつつ適切かつ確実に下流側の情報処理装置11〜19での異常発生を検出することができ、利用性を向上させることができる。
また、本発明の情報処理システム1は、データ処理に異常が発生すると、ワークフローWFを参照して、次に処理する情報処理装置11〜19の手順書Tbに、2つ以上の前手順IDが記載されていると、次に処理する下流側の該情報処理装置11〜19へ、異常が発生した旨の異常通知を行っている。
したがって、異常の発生した情報処理装置11〜19よりも下流側の情報処理装置11〜19が、上流側からデータが送られてこないことによって異常終了することを防止することができ、適切にワークフロー処理を継続することができる。
さらに、本発明の情報処理システム1は、代替決定装置としての情報処理装置11〜19が、送信されてきたワークフローWFと異常発生手順書ID(異常発生手順書特定情報)で特定される異常の発生した情報処理装置11〜19の手順書Tbに基づいて、該手順書Tbに記載されている処理を実行可能な他の情報処理装置11〜19を検索して代替装置を設定し、該ワークフローWF及び異常の発生した該情報処理装置11〜19の手順書Tbのデバイス名(情報処理装置名)を代替装置のデバイス名(情報処理装置名)に変更した手順書Tbを、ワークフローTbと異常発生手順書IDを送信してきた情報処理装置11〜19に、送信している。
したがって、デバイス名によって代替装置の情報処理装置11〜19を特定することができ、適切にワークフロー処理を継続することができる。
また、本発明の情報処理システム1は、代替決定装置としての情報処理装置11〜19が、送信されてきたワークフローWFと異常発生手順書IDで特定される異常の発生した情報処理装置11〜19の手順書Tbに基づいて、手順書Tbに記載されている処理を実行可能な他の情報処理装置11〜19を検索して代替装置を設定し、該ワークフローWFの異常の発生した情報処理装置11〜19の手順書Tbのデバイス名(情報処理装置名)を該代替装置のデバイス名(情報処理装置名)に変更して、変更した該ワークフローWFを代替装置特定情報として、ワークフローWFと異常発生手順書IDを送信してきた情報処理装置11〜19に、送信している。
したがって、ワークフローWFのデバイス名によって代替装置の情報処理装置11〜19を特定することができ、適切にワークフロー処理を継続することができる。
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。