(57)【要約】【課題】  情報処理装置を提供すること。【解決手段】  情報処理装置２０は、実施された一連の処理手続の成否情報を記録する記録部２４２と、指定の一連の処理手続を受け付ける受付部２３２と、受け付けた指定の一連の処理手続について、実行の成否を予測するための成否予測条件および記録された成否情報に基づいて、実行の成否を予測する予測部２４４と、失敗が予測された場合に、指定の一連の処理手続の失敗の予測を通知する通知部２４６とを含む。【選択図】図４
2020204897.tif 000002
【特許請求の範囲】
【請求項１】
実施された一連の処理手続の成否情報を記録する記録部と、
指定の一連の処理手続を受け付ける受付部と、
受け付けた前記指定の一連の処理手続について、実行の成否を予測するための成否予測条件および記録された成否情報に基づいて、実行の成否を予測する予測部と、
失敗が予測された場合に、前記指定の一連の処理手続の失敗の予測を通知する通知部と
を含む、情報処理装置。
【請求項２】
前記一連の処理手続は、複数定義されており、前記指定の一連の処理手続は、複数の一連の処理手続の中から選択されたものであり、前記成否情報は、一連の処理手続に紐付けて管理されている、請求項１に記載の情報処理装置。
【請求項３】
成功が予測された場合、または、失敗が予測され、かつ、前記通知に対する続行の指示を受けた場合に、前記指定の一連の処理手続を実行する実行部をさらに含み、前記記録部は、前記指定の一連の処理手続の実行に応答して前記成否情報を記録する、請求項１または２に記載の情報処理装置。
【請求項４】
前記成否予測条件は、前記指定の一連の処理手続が失敗する可能性を評価する評価値を与え、前記通知は、前記評価値が所定の閾値を超えた場合に行われ、前記成否予測条件および前記閾値の一方または両方は、ユーザ定義される、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記一連の処理手続は、１以上の分岐と、該１以上の分岐による複数の終端部とを含み、例外であるとして定義された終端部に到達した状態での終了は、前記通知に関して失敗として取り扱われる、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記成否情報は、実施された一連の処理手続の失敗の事実、該失敗の事由、該失敗の統計値、事由毎の該失敗の統計値、実施された一連の処理手続の成功の事実、該成功の統計値、該成功の場合の処理遅延の事実、該処理遅延の統計値からなる群から選択された少なくとも１つを含むか、または該少なくとも１つを与える情報である、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記統計値は、失敗または成功の発生回数、所定期間内での発生回数、存在および不存在の少なくとも１つを含む、請求項６に記載の情報処理装置。
【請求項８】
前記失敗の事由は、前記一連の処理手続の定義内の設定項目の不備に起因するもの、前記一連の処理手続の定義内の処理に起因するもの、および、当該情報処理装置の周辺環境に起因するものの少なくとも１つを含む、請求項６に記載の情報処理装置。
【請求項９】
前記情報処理装置は、指定の一連の処理手続の実行の指示を利用者から受け付けるとともに、前記通知を利用者に対して行う画像入力装置であるか、または、指定の一連の処理手続の実行の指示を利用者から受け付ける画像入力装置と接続された情報処理装置であって、該画像入力装置から前記指定の一連の処理手続を受け付けるとともに前記通知を該画像入力装置に対して行う情報処理装置である、請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
一連の処理手続を処理する情報処理システムであって、
実施された一連の処理手続の成否情報を記録する記録部と、
利用者から指定の一連の処理手続を受け付ける受付部と、
前記一連の処理手続に関連して入力画像を取得する取得部と、
受け付けた前記指定の一連の処理手続について、実行の成否を予測するための成否予測条件および記録された成否情報に基づいて、実行の成否を予測する予測部と、
失敗が予測された場合に、利用者に対し、前記指定の一連の処理手続の失敗の予測を通知する通知部と
を含む、情報処理システム。
【請求項１１】
成功が予測された場合または失敗が予測され、かつ、前記通知に対する続行の指示を受けた場合に、前記入力画像に基づいて前記一連の処理手続を実行する制御部
をさらに含む、請求項１０に記載の情報処理システム。
【請求項１２】
コンピュータを、
実施された一連の処理手続の成否情報を記録する記録部、
指定の一連の処理手続を受け付ける受付部、
受け付けた前記指定の一連の処理手続について、実行の成否を予測するための成否予測条件および記録された成否情報に基づいて、実行の成否を予測する予測部、および、
失敗が予測された場合に、前記指定の一連の処理手続の失敗の予測を通知する通知部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理システムおよびプログラムに関する。
【背景技術】
【０００２】
複合機などの画像入力装置で読み取った画像データを所定のサーバに送信し、サーバ内で事前に定義した一連の処理手続（ワークフロー）に従って画像データを加工し、特定の配信先に配信する、文書配信機能を提供するシステムが知られている。
【０００３】
上述したシステムにおいて、設定誤りやネットワーク環境などの種々の事由に起因してワークフローの実行が失敗する場合がある。従来より、配信ミスを低減する目的で、例えば、特許第４７９８１９８号公報（特許文献１）に開示される技術が知られている。特許文献１は、エラーの履歴が残るジョブ履歴における宛先関連の項目の設定内容を抽出し、宛先関連情報の設定に際し、警告情報中の警告対象である設定内容と同じ設定内容での設定がなされた場合、該設定内容の確認を促す警告を報知する技術を開示する。しかしながら、特許文献１の従来技術では、エラーの履歴が残る宛先関連の項目の設定内容にしか対応できない点で充分なものではなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、上記点に鑑みてなされたものであり、一連の処理手続に関し、失敗する可能性が高い設定や状況を予測し、データ投入前に見直しを促すことが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本開示では、上記課題を解決するために、下記特徴を有する情報処理装置を提供する。情報処理装置は、実施された一連の処理手続の成否情報を記録する記録部を含む。情報処理装置は、また、指定の一連の処理手続を受け付ける受付部を含む。情報処理装置は、さらに、受け付けた指定の一連の処理手続について、実行の成否を予測するための成否予測条件および記録された成否情報に基づいて、実行の成否を予測する予測部を含む。情報処理装置は、失敗が予測された場合に、指定の一連の処理手続の失敗の予測を通知する通知部をさらに含む。
【発明の効果】
【０００６】
上記構成により、一連の処理手続に関し、失敗する可能性が高い設定や状況を予測し、実際のデータ投入前に見直しを促すことが可能なとなる。
【図面の簡単な説明】
【０００７】
【図１】図１は、本実施形態によるワークフロー処理システムのネットワーク環境を示す図である。
【図２】図２は、本実施形態によるワークフローサーバおよびワークフロー管理システムとして用いられ得るサーバ（コンピュータ）のハードウェア構成の実施形態を示す図である。
【図３】図３は、本実施形態による複合機のハードウェア構成の実施形態を示す図である。
【図４】図４は、本実施形態によるワークフロー処理システムの機能ブロック図。
【図５】図５は、本実施形態で処理されるフロー定義データのデータ構造を例示する図である。
【図６】図６は、本実施形態で処理されるワークフローおよびそれに関連して記録される成否情報を模式的に説明する図である。
【図７】図７は、本実施形態で用いられる成否予測条件のデータ構造を例示する図である。
【図８】図８は、本実施形態によるワークフロー処理システムで実行される、ワークフロー処理の全体的な流れを示すシーケンス図である。
【図９】図９は、本実施形態によるワークフローサーバが実行する、ワークフロー失敗予測処理の流れを示すフローチャートである。
【図１０】図１０は、本実施形態において失敗が予測される場合に表示される失敗予測通知画面を例示する図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。なお、以下の実施形態では、情報処理装置、および、情報処理システムの一例として、一連の処理手続（ワークフロー）を実行するワークフローサーバ２０、および、該ワークフローサーバ２０を含むワークフロー処理システム１０を用いて説明する。
【０００９】
図１は、本実施形態のによるワークフロー処理システム１０のネットワーク環境を示す図である。図１に示すワークフロー処理システム１０は、ネットワーク１２を介して互いに接続する、１以上のワークフローサーバ２０と、１以上の複合機２２と、ワークフロー管理システム２６とを含み構成される。
【００１０】
図１に示すネットワーク環境では、ワークフローサーバ２０は、ネットワーク１２を介して、ファイルサーバ２８、文書管理サーバ３０、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバ３２およびクライアント・コンピュータ３６と通信可能とされている。これらは、画像データを所定のワークフローに則って配信する場合の配信先として機能する。
【００１１】
上記ネットワーク１２は、イーサネット（登録商標）やＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）などのトランザクション・プロトコルによるＬＡＮ（Local Area Network）、ＶＰＮ（Virtual Private Network）や専用線を使用して接続されるＷＡＮ（Wide Area Network）などとして構成することができる。しかしながら、ネットワーク１２の構成は、特に限定されるものではなく、図示しないルータを介して接続されるインターネットなどを含んでいてもよく、また接続方法としても、有線または無線、またはこれらの混合のネットワークとして構成することができる。ネットワーク１２上の各ノードは、ネットワーク１２を介してデータ転送を行うことによって、種々の情報のやり取りを行うことができる。
【００１２】
複合機２２は、スキャナ機能およびファクシミリ機能を備え、ワークフローサーバ２０が提供する文書配信機能を利用するためのアプリケーションがインストールされており、本実施形態の画像入出力装置として動作する。複合機２２は、スキャンまたはファクシミリ受信により生成した画像データに対し、書誌情報を適宜付し、画像データをワークフローサーバ２０に転送する。なお、本実施形態において、画像データは、ＢＭＰ（Bitmap）、ＴＩＦＦ（Tagged Image File Format）、ＪＰＥＧ（Joint Photographic Experts Group）、ＲＡＷ形式等のフォーマットのデータを含み、さらに、書誌情報を含み得るが、書誌情報は、例えばＸＭＬ（Extensible Markup Language）などの構造化言語で記述されたファイルとして、画像ファイルと別に構成されていてもよい。
【００１３】
ワークフローサーバ２０は、複合機２２から画像データを受信して、予め定義された所定のワークフローに従って、画像データに対し一連の処理手続を適用する。ワークフロー中に定義される処理としては、種々の出力処理、フロー制御（分岐制御など）および出力処理の前段階で適用される種々の中間処理が含まれる。出力処理としては、例えば、上述したファイルサーバ２８に対するファイル転送、文書管理サーバ３０に対する文書登録、ＳＭＴＰサーバ３２を介した電子メール送信、ＷＥＢ配信処理、クライアント・コンピュータ３６に対するファイル転送などを含むことができる。上記中間処理としては、画像データのフォーマット変換（ＰＤＦ（Portable Document Format）形式への変換、モノクロ画像への変換など）、画像認識（バーコード認識）、画像の補正や加工などの画像処理、文字認識、スタンプ付加、地紋付加、機密レベル等の書誌情報に従ってフローを振り分けるフィルタリングなどの振り分け処理、書誌情報の変換処理などを含むことができる。
【００１４】
ワークフロー管理システム２６は、１以上のワークフローサーバ２０を管理し、管理者の指示に応答して、１または複数のワークフローの定義の作成、編集、削除および所定のワークフローサーバ２０への配信を実行する。クライアント・コンピュータ３６は、管理者がワークフロー管理システム２６を操作する際のインタフェースとして用いることができる。ここで、管理者は、ワークフローを管理する権限を有する者を意味し、ワークフローを定義し、それを利用者に使用させる者をいう。これに対し、利用者は、ワークフローを利用する者をいう。
【００１５】
図１に示すワークフロー処理システム１０は、また、データベースサーバ３４を含んでいてもよい。データベースサーバ３４は、ワークフローサーバ２０やワークフロー管理システム２６における各種設定内容を記憶することができる。データベースサーバ３４は、ワークフローサーバ２０やワークフロー管理システム２６とは別のサーバとして説明されているが、これに限定されるものではなく、ワークフローサーバ２０やワークフロー管理システム２６上に構成されてもよい。
【００１６】
なお、ワークフローへ画像を入力する画像入力装置としては、図１では複合機２２が例示されているが、複合機２２に限定されるものではない。他の実施形態では、所定のアプリケーションをインストールしたスマートフォンやタブレットコンピュータなどの携帯情報端末からの画像の入力、スキャナなどの画像読取装置からの入力、印刷データからの入力、ファクシミリ装置からの画像データ、文書管理サーバ３０に登録した文書データの入力など種々の画像入力方法が想定される。なお、各サーバについては、物理的なオンプレミスサーバとして実装されてもよいし、クラウド環境上の仮想サーバとして実装されてもよく、特に限定されるものではない。
【００１７】
上述したワークフロー処理システム１０において、複合機２２から所定のワークフローへ画像データを入力した場合、種々の要因によってワークフローの実行が失敗してしまう可能性がある。そして、そのような失敗をする可能性が高い設定や状況であっても、通常、ワークフローの処理の成否は、ワークフローが実際に実行された後に判明するため、データを入力した段階では失敗の判断を行うことが難しい。このため、利用者が画像データを入力する前にその失敗の可能性を知ることができず、利用者に余分な手間をかけさせてしまう可能性があった。
【００１８】
例えば、複合機２２を利用した画像データの入力の使用態様を検討すると、一般的には、利用者は、データ投入をした後、画像読み取りが正常に完了したことを確認したとしても、その後のワークフロー処理の成否を確認せず、そのまま席に戻るケースが多いことが考えられる。しかしながら、ワークフロー処理の成否を確認せずに離れてしまうと、もしワークフロー処理に失敗していた場合に、その失敗の事実に気付くまでにタイムラグが生じ、また利用者が再度複合機２２の前に移動して画像データを再投入する手間も生じることになる。
【００１９】
そこで、本実施形態のワークフロー処理システム１０においては、ワークフローに関連付けて実施状況を蓄積し、蓄積された実施状況の情報および特定の条件に基づいて、失敗する可能性が高いワークフローにデータを投入しようとした利用者に対し、好ましくは投入前に、失敗する可能性が高いことを通知するよう構成される。これにより、利用者が選択したワークフローに関し、利用者に実際のデータ投入前に見直しを促す。
【００２０】
以下、本実施形態によるワークフローの失敗予測機能について説明するが、まず、図２および図３を参照しながら、本実施形態における主要な装置のハードウェア構成を説明する。
【００２１】
図２は、ワークフローサーバ２０およびワークフロー管理システム２６として用いられ得るサーバ（コンピュータ）のハードウェア構成図である。ここでは、サーバ５のハードウェア構成について説明する。
【００２２】
図２に示されているように、サーバ５は、コンピュータによって構築されており、図２に示されているように、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、ＨＤ（Hard Disk）５０４、ＨＤＤ（Hard Disk Drive）コントローラ５０５、ディスプレイ５０６、外部機器接続Ｉ／Ｆ（Interface）５０８、ネットワークＩ／Ｆ５０９、データバス５１０、キーボード５１１、ポインティングデバイス５１２、ＤＶＤ−ＲＷ（Digital Versatile Disk Rewritable）ドライブ５１４およびメディアＩ／Ｆ５１６を備えている。
【００２３】
これらのうち、ＣＰＵ５０１は、サーバ５全体の動作を制御する。ＲＯＭ５０２は、ＩＰＬ（Initial Program Loader）等のＣＰＵ５０１の駆動に用いられるプログラムを記憶する。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。ＨＤ５０４は、プログラム等の各種データを記憶する。ＨＤＤコントローラ５０５は、ＣＰＵ５０１の制御にしたがってＨＤ５０４に対する各種データの読み出しまたは書き込みを制御する。ディスプレイ５０６は、カーソル、メニュー、ウィンドウ、文字、または画像などの各種情報を表示する。外部機器接続Ｉ／Ｆ５０８は、各種の外部機器を接続するためのインタフェースである。この場合の外部機器は、例えば、ＵＳＢ（Universal Serial Bus）メモリやプリンタ等である。ネットワークＩ／Ｆ５０９は、ネットワーク１２を利用してデータ通信をするためのインタフェースである。バスライン５１０は、図２に示されているＣＰＵ５０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００２４】
また、キーボード５１１は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス５１２は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。ＤＶＤ−ＲＷドライブ５１４は、着脱可能な記録媒体の一例としてのＤＶＤ−ＲＷ５１３に対する各種データの読み出しまたは書き込みを制御する。なお、ＤＶＤ−ＲＷに限らず、ＤＶＤ−Ｒ等であってもよい。メディアＩ／Ｆ５１６は、フラッシュメモリ等の記録メディア５１５に対するデータの読み出しまたは書き込み（記憶）を制御する。
【００２５】
図３は、複合機（ＭＦＰ，Multi-Function Peripheral/Product/Printer）のハードウェア構成図である。図３に示されているように、複合機９は、コントローラ９１０、近距離通信回路９２０、エンジン制御部９３０、操作パネル９４０およびネットワークＩ／Ｆ９５０を備えている。
【００２６】
これらのうち、コントローラ９１０は、コンピュータの主要部であるＣＰＵ９０１、システムメモリ（ＭＥＭ−Ｐ）９０２、ノースブリッジ（ＮＢ）９０３、サウスブリッジ（ＳＢ）９０４、ＡＳＩＣ（Application Specific Integrated Circuit）９０６、記憶部であるローカルメモリ（ＭＥＭ−Ｃ）９０７、ＨＤＤコントローラ９０８、および、ＨＤ９０９を有し、ＮＢ９０３とＡＳＩＣ９０６との間をＡＧＰ（Accelerated Graphics Port）バス９２１で接続した構成となっている。
【００２７】
これらのうち、ＣＰＵ９０１は、複合機９の全体制御を行う制御部である。ＮＢ９０３は、ＣＰＵ９０１と、ＭＥＭ−Ｐ９０２、ＳＢ９０４およびＡＧＰバス９２１とを接続するためのブリッジであり、ＭＥＭ−Ｐ９０２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩ（Peripheral Component Interconnect）マスタおよびＡＧＰターゲットとを有する。
【００２８】
ＭＥＭ−Ｐ９０２は、コントローラ９１０の各機能を実現させるプログラムやデータの格納用メモリであるＲＯＭ９０２ａ、プログラムやデータの展開、およびメモリ印刷時の描画用メモリなどとして用いるＲＡＭ９０２ｂとからなる。なお、ＲＡＭ９０２ｂに記憶されているプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００２９】
ＳＢ９０４は、ＮＢ９０３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。ＡＳＩＣ９０６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰバス９２１、ＰＣＩバス９２２、ＨＤＤコントローラ９０８およびＭＥＭ−Ｃ９０７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ９０６は、ＰＣＩターゲットおよびＡＧＰマスタ、ＡＳＩＣ９０６の中核をなすアービタ（ＡＲＢ）、ＭＥＭ−Ｃ９０７を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のＤＭＡＣ（Direct Memory Access Controller）、並びに、スキャナ部９３１およびプリンタ部９３２との間でＰＣＩバス９２２を介したデータ転送を行うＰＣＩユニットとからなる。なお、ＡＳＩＣ９０６には、ＵＳＢ（Universal Serial Bus）のインタフェースや、ＩＥＥＥ１３９４（Institute of Electrical and Electronics Engineers 1394）のインタフェースを接続するようにしてもよい。
【００３０】
ＭＥＭ−Ｃ９０７は、コピー用画像バッファおよび符号バッファとして用いるローカルメモリである。ＨＤ９０９は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。ＨＤＤコントローラ９０８は、ＣＰＵ９０１の制御にしたがってＨＤ９０９に対するデータの読出または書込を制御する。ＡＧＰバス９２１は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、ＭＥＭ−Ｐ９０２に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【００３１】
また、近距離通信回路９２０には、近距離通信回路９２０ａが備わっている。近距離通信回路９２０は、ＮＦＣ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信回路である。
【００３２】
更に、エンジン制御部９３０は、スキャナ部９３１およびプリンタ部９３２によって構成されている。また、操作パネル９４０は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキーおよびコピー開始指示を受け付けるスタートキー等からなる操作部を備えている。コントローラ９１０は、複合機９全体の制御を行い、例えば、描画、通信、操作パネル９４０からの入力等を制御する。スキャナ部９３１またはプリンタ部９３２には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【００３３】
なお、複合機９は、操作パネル９４０のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、およびファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【００３４】
また、ネットワークＩ／Ｆ９５０は、ネットワーク１２を利用してデータ通信をするためのインタフェースである。近距離通信回路９２０およびネットワークＩ／Ｆ９５０は、ＰＣＩバス９２２を介して、ＡＳＩＣ９０６に電気的に接続されている。
【００３５】
以下、図４〜図１０を参照しながら、本実施形態による、事前に失敗予測を実施するワークフロー処理について、より詳細に説明する。
【００３６】
図４は、本実施形態によるワークフロー処理システム１０における機能ブロック図である。図４には、複合機２２上の機能ブロック（画像処理部）２１０、ワークフローサーバ２０上の機能ブロック（ワークフロー処理部）２３０、および、ワークフロー管理システム２６上の機能ブロック（ワークフロー管理部）２５０が示されている。
【００３７】
まず、図４を参照しながら、複合機２２側の構成について説明を行う。画像処理部２１０は、複数の構成要素からなり、ワークフローに渡す画像データの入力を担当する。図４に示すように、画像処理部２１０は、操作者からの各種指示を受け付ける指示受付部２１２と、画像読取の指示に応答して、原稿台にセットされた原稿を画像読み取りする画像読取部２１４と、画像読取部２１４により読み取られた画像を画像データとして保存する画像生成部２１６と、画像生成部２１６によって生成された画像データを外部装置に転送するデータ転送部２２４と、外部装置との通信を制御する通信部２２６とを含み構成される。図４に示す画像処理部２１０は、さらに、失敗予測依頼部２１８と、失敗予測報告部２２０と、実行制御部２２２とを含み構成される。以下、画像処理部２１０のワークフロー処理に関連する主要な構成について、より詳細に説明する。
【００３８】
指示受付部２１２は、利用者から指定のワークフローの実行の指示を受け付ける。ここで、ワークフローは、予め複数定義されており、適切なユーザインタフェースを介して、複数のワークフローの中から、利用者によって、実行すべき指定のワークフローが選択される。その際に、ワークフローに関連して利用者が行うべき設定も、ワークフローに応じた画面を介して適宜実施される。指示受付部２１２は、本実施形態において、利用者から、実行すべきワークフローの指定を受け付ける受付部を構成する。
【００３９】
画像読取部２１４は、指定のワークフロー内で定義された設定または操作者によって行われた設定に基づいて、原稿台にセットされた原稿の画像読取を実行する。画像生成部２１６は、画像読取部２１４で読み取られた画像を、画像データとしてメモリなどの記憶手段に一時的に保存する。画像読取部２１４は、本実施形態における取得部を構成する。
【００４０】
失敗予測依頼部２１８は、画像生成部２１６により画像データが生成された段階で、あるいは、指示受付部２１２により利用者から指定のワークフローの実行の指示を受け付けた段階で、ワークフロー処理部２３０の失敗予測部２４４に対し、ジョブ失敗予測を依頼する。ジョブ失敗予測の依頼は、好ましくは、データ転送部２２４から画像データをワークフローサーバ２０に転送する前に行われる。
【００４１】
失敗予測報告部２２０は、ワークフロー処理部２３０の失敗予測通知部２４６からジョブ失敗の可能性有りとの通知を受けた場合に、利用者に対し、ワークフロー設定の確認やジョブ中断を促すために、利用者に対し失敗予測を報告（通知）する。失敗予測報告部２２０は、本実施形態において、利用者に対し、指定のワークフローの失敗の予測を通知する通知部を構成する。
【００４２】
実行制御部２２２は、入力された画像データを、データ転送部２２４によりワークフローサーバ２０に渡し、ワークフローの実行を制御する。予測の結果として成功が予測された場合は、実行制御部２２２は、ワークフローの実行をそのまま継続する。予測の結果として失敗が予測された場合であって、失敗予測結果の内容に関わらず実行の継続を求める利用者からの通知に対する明示的な応答または暗黙的な続行の意思表示（事前に設定値として続行を指定するなど）を受けた場合には、実行制御部２２２は、ワークフローの実行をそのまま継続する。失敗が予測された場合であって、失敗予測結果に基づき実行の中止を求める利用者からの通知に対する中止（非継続）の明示的な応答または暗黙的な中止の意思表示（事前に設定値として中止を指定するなど）を受けた場合には、実行制御部２２２は、ワークフローの実行を中止し、保存された画像データを破棄する。
【００４３】
データ転送部２２４は、実行制御部２２２の制御の下、画像読取部２１４により読み取られた画像データを、ワークフローサーバ２０に対し、通信部２２６を経由して転送する。通信部２２６は、外部と通信を行い、ワークフローサーバ２０に対し、画像データを所定のプロトコルに従って送信する。
【００４４】
引き続き、図４を参照しながら、ワークフローサーバ２０側の構成について説明を続ける。ワークフロー処理部２３０は、複数の構成要素からなり、ワークフローの実行を担当する。図４に示すように、ワークフロー処理部２３０は、複合機２２からの各種要求を受け付ける要求受付部２３２と、ジョブ実行の要求に応答して、ジョブを生成するジョブ生成部２３４と、ジョブ生成部２３４により生成されたジョブを保持する実行キュー２３６と、指定されたワークフローに従って各種処理を実行するフロー実行部２３８と、登録されたワークフローの定義内容を記憶するフロー定義記憶部２４０と、外部装置との通信を制御する通信部２４８とを含む。図４に示すワークフロー処理部２３０は、さらに、フロー履歴記録部２４２と、失敗予測部２４４と、失敗予測通知部２４６とを含み構成される。以下、ワークフロー処理部２３０のワークフロー処理に関連する主要な構成について、より詳細に説明する。
【００４５】
要求受付部２３２は、複合機２２からの指定のワークフローの実行要求を受け付ける。要求受付部２３２は、また、複合機２２からの指定のワークフローの失敗予測の依頼を受け付ける。要求受付部２３２は、本実施形態において、利用者からワークフローの実行の指示を受け付けた複合機２２から、実行の成否を予測すべきワークフローの指定を受け付ける受付部を構成する。
【００４６】
ジョブ生成部２３４は、複合機２２からの指定のワークフローの実行要求を受け付けて、複合機２２から送られてきた画像データに基づいて、指定されたワークフローにかかるジョブを生成し、実行キュー２３６に投入する。実行キュー２３６は、要求されたジョブを一時的に保持し、ワークフローの実行が完了するまで保持する。実行キュー２３６に投入されたジョブは、順次、フロー実行部２３８に渡される。
【００４７】
フロー実行部２３８は、実行キュー２３６中で待機するジョブを順次読み出し、フロー定義記憶部２４０に定義される指定のワークフローの内容に沿って、プラグインなどとして提供される各種処理部を呼び出し、画像データに対し処理を適用する。
【００４８】
フロー定義記憶部２４０は、登録された１または複数のワークフローの内容を定義したフロー定義データを記憶する。上述したようにワークフローは、複数定義されており、フロー定義記憶部２４０は、定義されるワークフロー毎に、その内容を記述するフロー定義データを保持する。
【００４９】
図５は、フロー定義データのデータ構造を示す。図５に示すフロー定義データ２４０ａは、画像データに対する１以上の処理の流れをＸＭＬにより記述したものである。図５に示す例では、フロー定義データ２４０ａは、契約書の画像データに対する画像変換処理と、画像変換された画像データのフォルダへの配信とを順に適用するフローと、画像データを電子メールで送信するフローとを並列して実行することを示している。
【００５０】
フロー定義データ２４０ａは、より具体的には、図５に示すように木構造に構成された多数のタグからなる。タグ＜ＩＤ＞は、ワークフローを識別するフロー定義識別値を記述するための記述子である。タグ＜ＰｌｕｇｉｎＩＤ＞は、処理を識別する処理識別値を記述するための記述子である。値”ImageConverter”は、画像変換処理を示し、値”ToFolder”は、フォルダ配信処理を示し、値”ToEmail”は、電子メール送信を示す。タグ＜ＰｌｕｇｉｎＴｙｐｅ＞は、処理のタイプを設定するための記述子であり、出力処理（”OutPut”）または中間処理（”filter”）が設定される。タグ＜Ｐａｒａｍｅｔｅｒ＞は、各処理の種々のパラメータを設定するための記述子である。また、タグ＜Ｐａｒａｍｅｔｅｒ＞は、書誌情報に対応して入力されるパラメータを含むことができる。なお、図５に示したフロー定義では一例であって、一連の処理手続の定義を与える限り、如何なる形態をとることができる。
【００５１】
再び図４を参照する。フロー履歴記録部２４２は、フロー実行部２３８によってワークフローを実行した結果として、成否情報を含む履歴情報に記録する。成否情報は、各ワークフローに紐付けて管理される。成否情報は、実施されたワークフローの失敗の事実、該失敗の事由、該失敗の統計値、事由毎の該失敗の統計値、実施されたワークフローの成功の事実、該成功の統計値、該成功の場合の処理遅延の事実、および、該処理遅延の統計値からなる群から選択された少なくとも１つを含むか、またはこれらを与える情報である。ここで、統計は、失敗または成功の発生回数、所定期間内での発生回数、存在および不存在の少なくとも１つを含むことができる。処理遅延は、成功した場合であっても、平均処理時間と比較して一定以上長く処理がかかった場合にそれを異常として検知したものである。フロー履歴記録部２４２は、本実施形態における記録部を構成する。なお、成否情報を含む履歴情報は、フロー履歴記録部２４２により、適宜、ワークフローサーバ２０がアクセス可能な記憶領域に記録されるが、記録が保管される記憶場所は、特に限定されるものではない。
【００５２】
図６は、本実施形態で処理されるワークフローおよびそれに関連して記憶される成否情報を模式的に説明する図である。図６に示すワークフロー３００は、一連の複数の処理３１０，３２０，３３０，３５０，３７０を含み構成される。各処理３１０（３１０を代表して説明する。）には、内部定義として各種設定値３１２が含まれ得る。内部定義の設定値３１２としては、例えば、配信先パス、配信先アドレス、認証情報やその他の処理パラメータを挙げることができ、その処理で固定的に使用されるか、または、ワークフロー実行時に利用者に選択させる選択肢として使用される。なお、各処理で使用される設定値としては、内部定義として与えられるもののほか、利用者によりワークフローを実行する際に逐次入力される動的な設定値も含まれ得る。
【００５３】
各処理３１０（３１０を代表して説明する）に関連付けて、さらに、各処理が失敗した場合のエラーコード（事由）３１４ａ，３１４ｂおよびそのエラーコードでの失敗の発生件数を計数するカウンタ３１６ａ，３１６ｂと、各処理の失敗を合計を計数する失敗カウンタ３１８とが関連づけられている。所定の処理でエラーが発生した場合、当該ワークフローを当該処理で失敗させたり、または、エラーを無視して既定値を当該処理の後続の処理に渡してワークフローを続行させたりするように、ワークフローを定義することができる。
【００５４】
ここでのエラーコード３１４ａ，３１４ｂおよびカウンタ３１６ａ，３１６ｂは、当該ワークフローを当該処理３１０で失敗させた場合のエラーの事由を示す値、およびその発生回数を計数したものであってよい。エラーコードとしては、ワークフローの定義内の設定項目（パラメータ）の不備に起因するもの、ワークフローの定義内の処理に起因するもの、および、ワークフローサーバ２０の周辺環境（配信先サーバやそこまでの通信経路など）に起因するものを含みうる。
【００５５】
図６に示すワークフローにおいて、処理Ｂ３２０で３つにフローが分岐しており、分岐先の処理Ｃ３３０、処理Ｄ３５０および処理Ｅ３７０が終端となっている。上述したように、各処理でエラーが発生した場合は、エラーが発生した処理でワークフローを中止し、ワークフロー自体を失敗させる場合と、既定値を後続の処理に渡してワークフローを続行させる場合とがある。後者を用いることにより、ワークフロー内で例外処理を行うことが可能となる。一方、これは、ワークフロー自体が成功していたとしても、ワークフロー内の例外側に分岐されただけで、所期の結果が得られていないという場合もあることになる。
【００５６】
そこで、図４に示すように、終端である処理Ｃ３３０、処理Ｄ３５０および処理Ｅ３７０には、異常系フラグ３４０，３６０，３８０および成功カウンタ３４２，３６２，３８２が関連付けられる。異常系フラグ３４０，３６０，３８０は、立てられた場合（値が真（ＴＲＵＥ）である場合）、その終端処理が、ワークフロー内での例外ないし異常系であることを表し、その終端処理を完了した状態でワークフローの実行が成功した場合でも、そのワークフローの成功を失敗として取り扱うためのフラグである。異常系フラグが立てられた成功カウンタ３４２の値は、失敗した回数として取り扱うことができる。
【００５７】
なお、図６では、成否情報としては、各処理の失敗の回数を計数する失敗カウンタ、各処理のエラーコードなどエラーの種類毎の回数を計数するカウンタ、各終端処理でのワークフローの成功の回数を計数する成功カウンタを例に説明した。しかしながら、成否情報の保持の仕方は、特に限定されるものではない。例えば、回数ではなく、例えば、失敗や成功の事実の有無（存在／不存在）が記録されてもよいし、発生回数の代わりに、単位時間当たりの発生頻度などの他の統計値を保持してもよい。また、発生回数や発生頻度を集計する対象の期間も、全期間を対象としてもよいし、直近Ｎ回や当日などに制限してもよい。また、エラーコードとして検出されるもの以外にも成功した場合の処理時間の遅延などを異常として、その有無や発生回数や頻度を保持してもよい。さらに、上述した集計後の値に代えて、一定期間のログを成否情報として保持することとし、発生回数や発生頻度などを事後的に算出することとしてもよい。
【００５８】
再び図４を参照する。失敗予測部２４４は、要求受付部２３２により失敗予測の依頼を受け付けた指定のワークフローについて、実行の成否を予測する。実行の成否は、後述するワークフローの実行の成否を予測するための成否予測条件およびフロー履歴記録部２４２により記録された成否情報に基づいて予測される。成否予測条件は、どのような条件でワークフローが失敗すると予測するかを定義した条件であり、詳細を後述するように、ワークフロー管理システム２６側の失敗予測定義部２６０で定義される。上述した複合機２２側の失敗予測依頼部２１８が失敗予測の依頼を行うタイミングに対応して、画像データが生成された段階、あるいは指定のワークフローの実行の指示を受け付けた段階で、好ましくは、画像データをワークフローサーバ２０に転送する前に、失敗予測部２４４により失敗予測が行われる。
【００５９】
失敗予測通知部２４６は、失敗予測部２４４による予測結果を、通信部２４８を介して、失敗予測の依頼元の複合機２２（の実行制御部２２２）に対し通知する。失敗予測部２４４により指定のワークフローの失敗が予測された場合には、失敗予測通知部２４６により指定のワークフローの失敗の予測が通知される。好ましくは、失敗の予測に加えて、失敗の事由や推奨する事項なども通知される。失敗予測通知部２４６は、本実施形態における通知部を構成する。
【００６０】
通信部２４８は、外部と通信を行い、所定のプロトコルに従って、複合機２２からの失敗予測依頼やワークフローの実行要求を受信し、また、複合機２２へ予測結果を送信する。なお、失敗予測の結果の通知は、複合機２２の操作を操作パネルで行っている利用者に対して行うものであるが、これに付随して、事前に登録されたワークフローの管理者などに対し、例えばメールなどによって、ワークフローの設定に誤りがある可能性を示唆する通知を行い、設定の見直しを促してもよい。
【００６１】
失敗の通知に応答してワークフローを継続するか中止するかは、複合機２２側で決定されるが、複合機２２側での決定に応じて、フロー実行部２３８は、必要に応じてワークフローを実行する。成功が予測された場合、または、失敗が予測され、かつ、通知に対する続行の明示的なまたは暗黙的な指示を受けた場合には、複合機２２から画像データが送信されてくるが、フロー実行部２３８は、その場合に、受信した画像データを指定のワークフローに渡して、各種処理部を呼び出し、画像データに対し処理を適用する。
【００６２】
引き続き、図４を参照しながら、ワークフロー管理システム２６側の構成について説明を続ける。ワークフロー管理部２５０は、複数の要素から構成されており、ワークフローの定義、成否予測条件の定義、それらのワークフローサーバ２０への配布を担当する。図４に示すように、ワークフロー管理部２５０は、ユーザインタフェース２５２と、フロー定義生成部２５４と、フロー定義記憶部２５６と、フロー定義配布部２５８と、失敗予測定義部２６０と、通信部２６２とを含み構成される。
【００６３】
ユーザインタフェース２５２は、管理者がワークフロー管理システム２６の操作を行うためのインタフェースを提供する。フロー定義生成部２５４は、上記インタフェース２５２を介した管理者の操作に応答して、画像データを処理する手順を記述したワークフローを定義する。フロー定義記憶部２５６は、フロー定義生成部２５４により生成された、図５に示すようなフロー定義データを記憶する。フロー定義配布部２５８は、フロー定義データをワークフローサーバ２０に配布する。失敗予測定義部２６０は、上記インタフェース２５２を介した管理者の操作に応答して、ワークフローの成否を予測するための成否予測条件を定義する。成否予測条件は、例えば、フロー定義データ内に保持される。通信部２６２は、外部と通信を行い、ワークフローサーバ２０に対し、フロー定義データ（その成否予測条件を含む。）を所定のプロトコルに従って送信する。
【００６４】
以下、図７を参照しながら成否予測条件について、より詳細に説明する。図７は、本実施形態で用いられる成否予測条件のデータ構造を例示する図である。図７に示す成否予測条件４００は、ワークフローＩＤ４０２が設けられており、ワークフロー毎に、これに関連付けて定義される。
【００６５】
成否予測条件４００は、ワークフロー中のいずれの処理を判定対象とするのかを指定する（具体的な処理を指定する場合のほか、プラグインが共通した複数の処理や異常系フラグが真である処理やワークフロー全体を包括的に対象とする場合も含む。）対象処理フィールド４１０と；対象処理における判定対象の項目を指定する項目フィールド４１２と；対象処理および対象項目について、蓄積された成否情報から失敗すると予測する条件を指定する失敗条件フィールド４１４と；失敗条件が満たされた場合に失敗可能性スコアを与える条件を指定する失敗可能性スコアフィールド４１６とを含み構成される。
【００６６】
ここで、失敗可能性スコアは、実施状況からその条件を満たした場合に、経験的要因や失敗の種別の観点から、ワークフローが失敗してしまう可能性の程度を数値化して評価した評価値（スコア）である。
【００６７】
失敗可能性スコアは、エラーの種別によって与えることができる。例えば、ワークフローで定義された内部定義の設定値に誤りがあるなど、エラーの種別によっては高い確率でワークフローが失敗すると考えられる場合がある。より具体的には、内部定義の固定値として与えられた配信先パスのＵＲＬや配信先メールアドレスに誤りがある場合は、その誤りに起因してほぼ確実に失敗することが考えられる。あるいは、内部定義の選択値として与えられた配信先パスのＵＲＬや配信先メールアドレスに誤りがある場合は、高い確率で失敗することが考えられる。また、配信先の認証情報（ネットワークフォルダややメールサーバへアクセスするための情報）を内部定義の設定値として事前に設定する場合があるところ、そのような場合に、入力した認証情報に誤りがある場合は、ほぼ確実に失敗することが考えられる。
【００６８】
図４の項目１〜３の具体例は、配信に関し、ＵＲＬ誤り、認証エラー、アドレス誤りを示すエラーコードで所定回数（例えば１回）以上失敗したことを条件として高い値の失敗可能性スコア（例えば１００）を与えるものである。そのような失敗予測を通知することで、利用者にワークフローの定義の見直し（例えば管理者へのはたらきかけ）や、そのワークフロー自体の使用の見直し（別の新しいバージョンのワークフローの使用など）を促すことができる。
【００６９】
一方で、ワークフローで定義された内部定義の設定値が正しくても、環境要因によって失敗する可能性もある。例えば、ネットワーク環境の要因に起因して、一時的にサーバへのアクセス不可のエラーが生じる可能性がある。また、配信先のサーバの外部環境の要因に起因して、高負荷であるため応答できないなどのエラーが生じる可能性がある。あるいは、配信先のサーバの使用状況の要因に起因して、容量不足であるため配信されたデータを保存できないなどのエラーが生じる可能性がある。このようなエラーは、必ず起こるというものではなく、失敗の要因が解消された場合には、成功するようになる可能性もある。
【００７０】
図７の項目４〜６の具体例は、配信に関し、アクセス不可、高負荷、容量不足を示すエラーコードで所定頻度（例えば８０％）以上失敗したことを条件として、頻度に応じた失敗可能性スコア（例えば１０回中８回失敗した場合に８０）を与えるものである。そのような失敗予測を通知することで、利用者にワークフローが失敗する可能性が高いことを注意し、ワークフローの完了まで複合機２２の前で待つことを促したり、ネットワーク管理者へのネットワークの増強のはたらきかけを促したりすることができる。
【００７１】
また、上述したように、ワークフロー内で例外処理が規定され、片方の条件が基本的に成立し、他方の条件が失敗ケースとして扱うようなワークフローを定義することがある。その場合、ワークフロー自体が成功していたとしても異常系だと判断すべきということになる。図７に示す項目７の具体例は、処理Ｅでの失敗（処理Ｅは異常系であるので成功した場合も失敗として取り扱われる。）の直近５０％以上失敗したことを条件として高い値の失敗可能性スコア（例えば１００）を与えるものである。
【００７２】
また、ワークフロー処理においてエラーが繰り返し起きている場合に失敗の可能性が高いことを通知することが望まれる。例えば、繰り返し同じエラーが起こり、一度も配信が成功していない場合や、頻繁にエラーが起こり、失敗するケースが散見する場合などである。図７の項目８の具体例は、「全体」を対象処理として、成功合計カウンタ（＝Σ成功カウンタ（異常系フラグ≠ＴＲＵＥ））が０であり、失敗合計カウンタ（＝Σ失敗カウンタ＋Σ成功カウンタ（異常系フラグ＝ＴＲＵＥ））が１回以上である場合に、高い値の失敗可能性カウンタを与えるものである。なお、この例では、失敗の要因を規定していないが、サーバが高負荷であったり、ネットワークが貧弱であったり、配信先の空きデータ容量不足であったり、ワークフローの中間処理において失敗しやすいなどの要因で条件付けを行ってもよい。
【００７３】
なお、成否予測条件の複数の項目に該当した場合の失敗可能性スコアの決定の仕方は任意である。例えば、失敗可能性スコアの最大のものを採用してもよいし、平均値を用いてもよいし、合計値を用いてもよい。また、上記ワークフローの内容およびその成否予測条件は、ユーザ定義することができ、管理者が、管理者が属する組織やワークフロー機能の使用目的に応じて任意に定義可能である。特定の実施形態では、上記算出された失敗可能性スコアが所定の閾値を超えた場合に、上述した失敗予測の通知が行われる。この閾値も、ユーザ定義することができる。
【００７４】
なお、図１および図４において、ワークフローサーバ２０およびワークフロー管理システム２６がそれぞれ別のサーバとして１つあるものとして説明した。しかしながら、これに特に限定されるものではない。ワークフローサーバ２０が、ネットワーク環境内に複数あってもよく、ワークフロー管理システム２６は、複数のワークフローサーバ２０を一元管理することができる。また、説明する実施形態では、ワークフローサーバ２０およびワークフロー管理システム２６は、別のサーバとして説明したが、これに限定されるものではなく、これら２つのサーバ機能を統合したサーバとして構成されてもよい。さらに、ワークフローサーバ２０およびワークフロー管理システム２６の一方または両方を、文書管理サーバ３０と統合し、文書管理機能の一機能として実装してもよい。さらに、複合機２２が、ワークフローサーバ２０およびワークフロー管理システム２６の機能を備えて、サーバレスで稼働することとしてもよい。
【００７５】
以下、図８〜図１０を参照しながら、ワークフロー処理について、より詳細を説明する。図８は、本実施形態によるワークフロー処理システムで実行されるワークフロー処理の全体的な流れを示すシーケンス図である。
【００７６】
図８に示す処理では、ステップＳ１０１で、複合機２２は、利用者からのログインを受け付ける。ステップＳ１０２では、複合機２２は、利用者から、操作パネル９４０上で登録された複数のワークフローの中からの所望のワークフローの選択を受ける。ステップＳ１０３では、複合機２２は、利用者から、操作パネル９４０上で選択したワークフローを指定したスキャン実行の指示を受け付ける。
【００７７】
ステップＳ１０４では、複合機２２は、ワークフローサーバ２０に対し、ワークフローを指定して失敗予測依頼を行う。ステップＳ１０５では、ワークフローサーバ２０は、指定されたワークフローの実行の成否を予測し、ステップＳ１０６で、失敗予測結果を通知する。なお、図８に示すシーケンス図では、ワークフローを指定してスキャン実行を指示したことに応答して失敗予測依頼が行われるものとして示されている。しかしながら、これに限定されるものではなく、ステップＳ１０２で、利用者が所望のワークフローを選択したことに応答して、その選択されたワークフローを指定して失敗予測依頼が行われてもよい。事前に設定したワークフローの設定不備が原因でエラーが発生した実績がある場合に有効である。
【００７８】
図９は、本実施形態によるワークフローサーバ２０が実行するワークフロー失敗予測処理の流れを示すフローチャートである。図９に示す処理は、ワークフローサーバ２０の起動に応答して、ステップＳ２０１から開始される。ステップＳ２０１では、ワークフローサーバ２０は、要求受付部２３２で失敗予測依頼を受信したか否かを判定し、失敗予測依頼を受信するまで（ＮＯの間）、ステップＳ２０１へ処理をループさせる。ステップＳ２０１で、失敗予測依頼を受信したと判定された場合（ＹＥＳ）は、ステップＳ２０２へ処理が進められる。
【００７９】
ステップＳ２０２では、ワークフローサーバ２０は、失敗予測を行うべき指定のワークフローを特定する。一般的に指定のワークフローは、失敗予測依頼において指定される。ステップＳ２０３では、ワークフローサーバ２０は、指定のワークフローに対応する以前に実施されたジョブの成否情報を取得する。ステップＳ２０４では、ワークフローサーバ２０は、指定のワークフローに対応する成否予測条件を取得する。
【００８０】
ステップＳ２０５では、ワークフローサーバ２０は、失敗予測部２４４により、取得した成否情報および成否予測条件に基づいて、失敗可能性スコアを計算する。ステップＳ２０６では、ワークフローサーバ２０は、失敗可能性スコアが所定の閾値を上回っているか否かを判定する。
【００８１】
ステップＳ２０６で、失敗可能性スコアが所定の閾値を上回っていると判定された場合（ＹＥＳ）は、ワークフローサーバ２０は、ステップＳ２０７で、失敗予測およびその事由を依頼元に通知し、ステップＳ２０１へ処理を戻し、次の失敗予測依頼を待ち受ける。一方、ステップＳ２０６で、失敗可能性スコアが所定の閾値を上回っていないと判定された場合（ＮＯ）は、ワークフローサーバ２０は、ステップＳ２０８で、成功予測を依頼元に通知し、ステップＳ２０１へ戻し、次の失敗予測依頼を待ち受ける。
【００８２】
再び図８を参照する。失敗予測結果が失敗を示す場合は、ステップＳ１０７では、複合機２２は、利用者に対し、失敗予測通知および失敗の具体的な理由を行い、利用者に対して配信の続行かワークフローの見直しの意思確認を行う。なお、説明する実施形態では、失敗可能性スコアが閾値を超えたか否かの判断を、ワークフローサーバ２０で行い、ワークフローサーバ２０から複合機２２へは、失敗の可能性が高いことを示す失敗予測の結果を通知することとしているが、これに限定されない。他の実施形態では、失敗予測の結果として、失敗可能性スコアを通知し、複合機２２側で閾値を超えたか否かの判定を行ってもよい。
【００８３】
図１０は、本実施形態において失敗が予測される場合に表示される失敗予測通知画面を例示する図である。ステップＳ１０７では、図１０（Ａ）または（Ｂ）に示した失敗予測通知画面が操作パネル９４０のディスプレイなどに表示される。
【００８４】
図１０（Ａ）は、ワークフローの内部定義の設定値に誤りがある場合に示される失敗予測通知画面６００を示す。図１０（Ａ）に示す失敗予測通知画面６００は、配信先フォルダのパスが高い可能性で誤っていることを示すメッセージ６０２と、ワークフローの続行の指示を受け付ける続行ボタン６１０と、ワークフローの中止の指示を受け付ける中止ボタン６１２と、ワークフローの見直しの指示を受け付ける見直しボタン６１４とを含む。
【００８５】
図１０（Ｂ）は、ワークフローの内部定義の設定値に誤りがないものの環境要因で失敗が起こる可能性が高い場合に示される失敗予測通知画面６２０を示す。図１０（Ｂ）に示す失敗予測通知画面６２０は、サーバの負荷集中により高い確率で失敗することを示すメッセージ６２２と、ワークフローの続行の指示を受け付ける続行ボタン６３０と、ワークフローの中止の指示を受け付ける中止ボタン６３２と、ワークフローの見直しの指示を受け付ける見直しボタン６３４とを含む。
【００８６】
図１０に示したような失敗予測通知画面を表示することにより、利用者にジョブ予測結果を通知するとともにジョブ実行の継続判断を仰ぐことができる。続行ボタン６１０，６３０の押下を検出すると、失敗予測結果の内容に関わらず実行の継続を求める明示的な意思表示が受け付けられる。中止ボタン６１２，６３２の押下を検出すると、失敗予測結果に基づき実行の中止を求める明示的な意思表示が受け付けられる。見直しボタン６１４，６３４が押下されると、例えば、読み取った画像データを保持したまま、ワークフローの再選択や再設定するための画面が表示される。
【００８７】
再び図８を参照する。利用者に対する意思確認で、ステップＳ１０８で失敗予測を無視する旨の指示を受けた場合（続行ボタン６１０，６３０の押下）は、ステップＳ１０９で、複合機２２は、ワークフローサーバ２０に対し、画像データを送信し、ワークフローの続行を依頼する。ステップＳ１１０では、ワークフローサーバ２０は、フロー実行部２３８により、ワークフローを実行する。より具体的には、要求受付部２３２で当該ワークフローの実行指示とともに画像データが受け付けられ、ジョブ生成部２３４によりジョブが生成され、生成されたジョブが実行キュー２３６に投入される。フロー実行部２３８は、実行キュー２３６に投入されたジョブを、順次、実行する。ステップＳ１１１では、ワークフローサーバ２０は、フロー実行部２３８により、ワークフロー中に定義された配信処理を実行する。ステップＳ１１２では、ワークフローサーバ２０は、ワークフローの実行の成否に応じて、フロー履歴記録部２４２により履歴を記録し、本処理を終了させる。なお、失敗予測結果が失敗を示す場合、ワークフローが失敗する可能性はあるが、必ず失敗するわけではない。
【００８８】
一方、利用者に対する意思確認で、失敗予測に基づいて見直しをする旨の指示を受けた場合（見直しボタン６１４，６３４の押下）は、複合機２２は、ステップＳ１１３で、利用者からの設定等の見直しを受け付ける。説明する実施形態では、利用者からの設定等の見直しは、複合機２２が受けることとなっているが、ワークフローサーバ２０が設定の見直しを受ける場合もある。エラーの原因がどこにあるのかは不定であるため、そのほか、認証サーバや配信サーバの設定を見直すケースも考えられる。見直しを行った結果、ステップＳ１１４で、利用者からの配信実行の指示を受けた場合は、複合機２２は、ステップＳ１１５で、ワークフローサーバ２０に対し、保持しておいた画像データを送信し、ワークフローの続行を依頼する。ステップＳ１１６では、ワークフローサーバ２０は、ワークフローを実行し、ステップＳ１１７で、ワークフロー中に定義された配信処理を実行する。ステップＳ１１８では、ワークフローサーバ２０は、ワークフローの実行の成否の履歴を記録し、本処理を終了させる。
【００８９】
一方、失敗予測結果が成功を示す場合は、複合機２２は、ステップＳ１１９で、ワークフローサーバ２０に対し、画像データを送信し、ワークフローの続行を依頼する。ステップＳ１２０では、ワークフローサーバ２０は、ワークフローを実行し、ステップＳ１２１で、ワークフロー中に定義された配信処理を実行する。ステップＳ１２２では、ワークフローサーバ２０は、ワークフローの実行の成否の履歴を記録し、本処理を終了させる。予測結果が成功を示す場合、ワークフローが通常成功するが、必ず成功するというわけではなく、失敗した場合は、その失敗の履歴が記録される。
【００９０】
以上説明したように、上述した実施形態によれば、一連の処理手続に関し、失敗する可能性が高い設定や状況を予測し、データ投入前に見直しを促すことが可能な情報処理装置、情報処理システムおよびプログラムを提供することができる。
【００９１】
上述したように、特許文献１の従来技術では、エラーの履歴が残る宛先関連の項目の設定内容にしか対応できない。また、エラーの履歴が残る宛先関連の項目の設定内容を保持しておき、これと比較しなければならず、必要な記憶領域が大きくなる可能性がある。これに対し、本実施形態による処理では、実施したワークフローの成否情報を記録しておくだけでよく、必要な記憶領域も比較的小さくて済むという利点もある。
【００９２】
なお、上述した実施形態では、指定のワークフローの実行の指示を利用者から受け付ける複合機２２と接続され、複合機２２ら実行すべき指定のワークフローを受け付けるとともに通知を複合機２２に対して行うワークフローサーバ２０を情報処理装置として説明した。しかしながら、これに限定されるものではなく、例えば、指定のワークフローの実行の指示を利用者から受け付けるとともに、通知を利用者に対して行う複合機２２が情報処理装置として構成されてもよい。
【００９３】
上記で説明した実施形態の各機能は、一または複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC（Application Specific Integrated Circuit）、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【００９４】
また上記機能は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【００９５】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００９６】
１０…ワークフロー処理システム、１２…ネットワーク、２０…ワークフローサーバ、２２…複合機、２６…ワークフロー管理システム、２８…ファイルサーバ、３０…文書管理サーバ、３４…データベースサーバ、３６…クライアント・コンピュータ、２１０…画像処理部、２１２…指示受付部、２１４…画像読取部、２１６…画像生成部、２１８…失敗予測依頼部、２２０…失敗予測報告部、２２２…実行制御部、２２４…データ転送部、２２６…通信部、２３０…ワークフロー処理部、２３２…要求受付部、２３４…ジョブ生成部、２３６…実行キュー、２３８…フロー実行部、２４０…フロー定義記憶部、２４２…フロー履歴記録部、２４４…失敗予測部、２４６…失敗予測通知部、２４８…通信部、２５２…ユーザインタフェース、２５４…フロー定義生成部、２５６…フロー定義記憶部、２５８…フロー定義配布部、２６０…失敗予測定義部、２６２…通信部、２５０…ワークフロー管理部、２５２…ユーザインタフェース、２５４…フロー定義生成部２５４、２５６…フロー定義記憶部、２５８…フロー定義配布部、２６０…失敗予測定義部、２６２…通信部
【先行技術文献】
【特許文献】
【００９７】
【特許文献１】特許第４７９８１９８号公報
【図１】
2020204897.tif 000003
【図２】
2020204897.tif 000004
【図３】
2020204897.tif 000005
【図４】
2020204897.tif 000006
【図５】
2020204897.tif 000007
【図６】
2020204897.tif 000008
【図７】
2020204897.tif 000009
【図８】
2020204897.tif 000010
【図９】
2020204897.tif 000011
【図１０】
2020204897.tif 000012