(57)【特許請求の範囲】
【請求項１】
フローにしたがって行われたジョブにおいて障害が発生した場合、該ジョブに適用する対応を受け付ける受付手段と、
前記フローにおいて前記障害が発生する前段の処理が類似している他のジョブを、障害が発生した複数のジョブを記憶している記憶手段から抽出する抽出手段と、
前記抽出手段によって抽出されたジョブを提示し、該ジョブに対して前記対応を適用するか否かの指示を受け付け可能に提示する提示手段
を有する情報処理装置。
【請求項２】
前記抽出手段は、前段の処理の他に、前記フローの定義、障害が発生した箇所、処理の設定状況、障害が発生した際のパラメータの状況、障害が発生した日時、前記フローの作成者、ジョブの実行を指示した者のいずれか１つ又はこれらの組み合わせが類似するジョブを抽出する、
請求項１に記載の情報処理装置。
【請求項３】
前記障害が発生したジョブ、前記対応、前記提示手段によってジョブに適用された対応を、前記フローの作成者に提示する第２の提示手段
をさらに有する請求項１又は２に記載の情報処理装置。
【請求項４】
障害が発生した場合は、処理途中のデータを記憶し、前記対応が再開であるときは、該処理途中のデータを用いてジョブを再開する再開手段
をさらに有する請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
コンピュータを、
フローにしたがって行われたジョブにおいて障害が発生した場合、該ジョブに適用する対応を受け付ける受付手段と、
前記フローにおいて前記障害が発生する前段の処理が類似している他のジョブを、障害が発生した複数のジョブを記憶している記憶手段から抽出する抽出手段と、
前記抽出手段によって抽出されたジョブを提示し、該ジョブに対して前記対応を適用するか否かの指示を受け付け可能に提示する提示手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、印刷処理の途中で画像形成装置がエラー（印刷不可状態）となり、印刷処理が中断する場合、ユーザーの指定する箇所から印刷処理を再開させる画像形成装置、画像形成方法、画像形成プログラム、プリントサーバ、プリンタ制御方法、プリンタ制御プログラムを提供することを課題とし、複数頁を所定の順序で印刷する印刷ジョブを実行する画像形成装置であって、前記印刷ジョブを中断した場合、該印刷ジョブを中断した原因を検出する中断原因検出手段と、前記中断原因検出手段により検出された前記原因が所定の原因である場合、前記印刷ジョブに関し、ユーザーが指定する頁以降を印刷する印刷再開手段と、を有することが開示されている。
【０００３】
特許文献２には、システムの障害報告後の障害原因の追求及び障害復旧を効率よく自動化して、システム管理者の作業負荷を軽減し、障害復旧を自動化して、障害からの迅速な復旧を可能とすることを課題とし、障害管理部は、監視エージェント部からの障害通知を受け、障害原因の追求及び障害復旧を行う障害管理プロセスを実行し、予め、手順登録部により、アプリケーション毎に、障害解析及び復旧の手順の登録を行い、コンポーネント登録部は、障害原因となり得る各コンポーネント毎に、解析及び復旧手順を登録し、フロー登録部により、各コンポーネントを組み合わせて障害解析及び復旧フローを登録し、登録された障害解析及び復旧の手順は、記憶部の解析手順記憶部及び復旧手順記憶部にそれぞれ記憶され、障害解析部及び障害復旧部により参照されることが開示されている。
【０００４】
特許文献３には、実際の障害復旧作業に適した復旧手順を提供することを課題とし、機器の状態を監視する監視装置であって、前記機器で発生した障害を復旧するための手順であるワークフロー定義を保持し、前記機器で発生した障害を監視し、前記監視によって取得した障害の情報及び当該障害を復旧するために実行した復旧手順を履歴情報として保持し、前記保持した履歴情報に基づいて前記ワークフロー定義を更新することが開示されている。
【０００５】
特許文献４には、障害発生時の問い合わせにより類似する障害対策事例を迅速に情報提供することによって、障害対応の経験の少ないクライアントでも、障害対策事例から殆どの場合自分で障害対策が行える方法を提供することを課題とし、障害を分類対策するための障害対策情報（障害分類条件や分類条件毎の障害対策事例、プログラム別の障害担当者、及びプログラム毎の採取操作資料など）をサーバに蓄積しておき、クライアントが問い合わせした障害に対して、対応する障害対策事例などの障害対策情報を抽出してクライアントに表示し、クライアントは、その障害対策情報をみることにより、殆ど自分で対策することができ、自分で対策できない場合は、障害対策情報を採取して、プログラム別の障害対策担当者にデータ電送し対策を依頼することが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−０６４３９９号公報
【特許文献２】特開平１０−３２６２０８号公報
【特許文献３】特開２０１５−１１８４４０号公報
【特許文献４】特開２００２−２９７７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
障害に対する対応として、例えば、前述の特許文献に記載の技術では、クライアントが問い合わせした障害に対して、対応する障害対策事例などの障害対策情報を抽出してクライアントに表示することが行われている。
ところで、障害が発生したジョブが複数ある場合、前述の技術では、そのジョブ毎に対応する必要がある。
本発明は、１つのジョブに適用する対応を、他の類似するジョブにも適用することを可能とした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、フローにしたがって行われたジョブにおいて障害が発生した場合、該ジョブに適用する対応を受け付ける受付手段と、前記フローにおいて前記障害が発生する前段の処理が類似している他のジョブを、障害が発生した複数のジョブを記憶している記憶手段から抽出する抽出手段と、前記抽出手段によって抽出されたジョブを提示し、該ジョブに対して前記対応を適用するか否かの指示を受け付け可能に提示する提示手段を有する情報処理装置である。
【０００９】
請求項２の発明は、前記抽出手段は、前段の処理の他に、前記フローの定義、障害が発生した箇所、処理の設定状況、障害が発生した際のパラメータの状況、障害が発生した日時、前記フローの作成者、ジョブの実行を指示した者のいずれか１つ又はこれらの組み合わせが類似するジョブを抽出する、請求項１に記載の情報処理装置である。
【００１０】
請求項３の発明は、前記障害が発生したジョブ、前記対応、前記提示手段によってジョブに適用された対応を、前記フローの作成者に提示する第２の提示手段をさらに有する請求項１又は２に記載の情報処理装置である。
【００１１】
請求項４の発明は、障害が発生した場合は、処理途中のデータを記憶し、前記対応が再開であるときは、該処理途中のデータを用いてジョブを再開する再開手段をさらに有する請求項１から３のいずれか一項に記載の情報処理装置である。
【００１２】
請求項５の発明は、コンピュータを、フローにしたがって行われたジョブにおいて障害が発生した場合、該ジョブに適用する対応を受け付ける受付手段と、前記フローにおいて前記障害が発生する前段の処理が類似している他のジョブを、障害が発生した複数のジョブを記憶している記憶手段から抽出する抽出手段と、前記抽出手段によって抽出されたジョブを提示し、該ジョブに対して前記対応を適用するか否かの指示を受け付け可能に提示する提示手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１３】
請求項１の情報処理装置によれば、１つのジョブに適用する対応を、他の類似するジョブにも適用することを可能とする。
【００１４】
請求項２の情報処理装置によれば、前段の処理の他に、フローの定義、障害が発生した箇所、処理の設定状況、障害が発生した際のパラメータの状況、障害が発生した日時、フローの作成者、ジョブの実行を指示した者のいずれか１つ又はこれらの組み合わせが類似するジョブを抽出することができる。
【００１５】
請求項３の情報処理装置によれば、障害が発生したジョブ、対応、提示手段によってジョブに適用された対応を、フローの作成者に提示することができる。
【００１６】
請求項４の情報処理装置によれば、障害が発生した場合は、処理途中のデータを記憶し、対応が再開であるときは、その処理途中のデータを用いてジョブを再開することができる。
【００１７】
請求項５の情報処理プログラムによれば、１つのジョブに適用する対応を、他の類似するジョブにも適用することを可能とする。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態による処理例を示すフローチャートである。
【図４】エラー情報テーブルのデータ構造例を示す説明図である。
【図５】フローの定義例を示す説明図である。
【図６】エラー操作リストの提示例を示す説明図である。
【図７】類似エラージョブ操作リストの提示例を示す説明図である。
【図８】エラージョブリストの提示例を示す説明図である。
【図９】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２０】
本実施の形態である情報処理装置１００は、フローにしたがって行われたジョブにおいて発生した障害に対する対応を適用するものであって、図１の例に示すように、フロー処理モジュール１１０、エラー処理モジュール１４０、操作受付・提示モジュール１６０を有している。
フローとは、一連の処理の流れを定義したもの（型、雛形、クラス）であり、ジョブとは、フローによって生成された実体（インスタンス）である。例えば、文書画像に対しての一連の処理をフローとして定義しておき、スキャナー機能を有する画像処理装置（例えば、後述する画像処理装置２００等）において、読み込んだ文書画像に対して、フローにしたがったジョブを生成する。特に、このフローをドキュメントフローと呼ぶことがある。
【００２１】
このジョブでは障害（以下、エラーともいう）が発生し得る。また、障害が発生し、その障害をジョブの実行者に通知したとしても、すぐに対応を指示するとは限らない。特に、ジョブの実行には時間がかかるものがあり、対応の指示が困難な場合があるからである。また、１つのフローにしたがった複数のジョブを実行させることがある。したがって、障害が発生したジョブが複数記憶されていることがある。なお、ジョブにおいて障害が発生した場合、そのジョブの実行を中断して、対応の指示を待っている状態になる。
障害への対応は、操作者による手動操作を前提としている。個々の障害の原因が異なり、機械的な対応が困難な場合が多いからである。したがって、前述の特許文献に記載の技術では、ジョブの障害への対応の指定操作を、その障害数（正確には障害が発生したジョブ数）だけ行うことが必要になる。
しかし、類似しているジョブの場合は、その対応も同じである場合が多い。
情報処理装置１００は、１つのジョブＡにおける障害への対応Ａが決定した場合、障害が発生した他のジョブＢであって、そのジョブＡに類似する他のジョブＢを抽出し、他のジョブＢの障害への対応ＢをジョブＡの障害への対応Ａと同じにすることを可能とするものである。したがって、対応Ｂを対応Ａと同じにした場合は、対応の指定操作を減少させることになる。
【００２２】
フロー作成者１９２は、定型の文書処理のフローを定義（作成）する管理ユーザーである。フロー作成者端末１９０は、フロー作成者１９２によって操作され、情報処理装置１００との間で通信を行う。
操作者１９７は、ジョブの実行を指示した者である。そして、実行させたジョブに障害が発生した場合、そのジョブ（以下、エラージョブともいう）又は障害について調査を行い、必要に応じて対応を指示する役割を持つユーザーである。操作者端末１９５は、操作者１９７によって操作され、情報処理装置１００との間で通信を行う。
なお、障害に対する対応として、具体的には、少なくとも以下のものがある。
（１）ジョブを最初から再度実行させること
例えば、通信回線の接続不良である場合は、ジョブの再実行が選択される。
（２）障害が発生した処理（工程）をスキップしてジョブの実行を途中から再開すること
（３）そのジョブを削除すること（停止させること）
この対応の場合は、フロー処理モジュール１１０の内部の途中データも削除する。
【００２３】
フロー処理モジュール１１０は、フロー作成モジュール１１５、フロー管理モジュール１２０、文書処理モジュール１２５、文書格納モジュール１３０、ジョブ管理モジュール１３５を有している。フロー処理モジュール１１０は、フロー定義に応じて自動加工、配信処理を行うフローシステムである。
フロー作成モジュール１１５は、フロー管理モジュール１２０と接続されている。フロー作成モジュール１１５は、フロー作成者１９２の操作にしたがって、フローの作成を行う。例えば、フロー内に文書の認識範囲を指定することを含めることができる。
フロー管理モジュール１２０は、フロー作成モジュール１１５、文書処理モジュール１２５と接続されている。フロー管理モジュール１２０は、フロー作成モジュール１１５によって作成されたフローを格納し、操作者１９７の操作に応じてフローの適用（ジョブの生成）を行う。
文書処理モジュール１２５は、フロー管理モジュール１２０、文書格納モジュール１３０、ジョブ管理モジュール１３５と接続されている。文書処理モジュール１２５は、予め定義されたフローにしたがって、文書処理を実施する。
文書格納モジュール１３０は、文書処理モジュール１２５と接続されている。文書格納モジュール１３０は、処理対象となる文書を保持する。例えば、スキャナーで読み込まれた文書画像を記憶している。
【００２４】
ジョブ管理モジュール１３５は、文書処理モジュール１２５、エラー処理モジュール１４０のエラー判定モジュール１４５、エラー情報格納モジュール１５０、分析モジュール１５５、操作受付・提示モジュール１６０と接続されている。ジョブ管理モジュール１３５は、ジョブ状態及びジョブの遷移（具体的には、ジョブを構成している処理のうち、実行が完了した処理から次の処理への実行の遷移）を管理する。そして、ジョブ管理モジュール１３５は、ジョブにおいて障害が発生した場合、操作者１９７によって指定された対応を、そのジョブに適用する。
また、ジョブ管理モジュール１３５は、障害が発生した場合は、処理途中のデータをエラー情報格納モジュール１５０に記憶させ、対応が再開であるときは、その処理途中のデータを用いてジョブを再開する。
【００２５】
エラー処理モジュール１４０は、エラー判定モジュール１４５、エラー情報格納モジュール１５０、分析モジュール１５５を有している。エラー処理モジュール１４０は、フローにしたがって行われたジョブにおいて障害が発生した場合に、その障害に関する処理を行う。
エラー判定モジュール１４５は、エラー情報格納モジュール１５０、フロー処理モジュール１１０のジョブ管理モジュール１３５と接続されている。エラー判定モジュール１４５は、操作受付・提示モジュール１６０によって障害への対応を受け付けた場合、同様のエラー詳細を持つエラージョブを判定してリストする。
【００２６】
エラー判定モジュール１４５は、フローにおいて障害が発生する前段の処理が類似している他のジョブを、障害が発生した複数のジョブを記憶しているエラー情報格納モジュール１５０から抽出する。ここで「前段の処理」とは、フローにおける複数の処理のうち、そのフローにしたがって行われたジョブにおいて障害が発生した処理よりも時間的に前に行われた処理を指す。したがって、既に実行された処理を指す。また、フローにおいては処理の成否が前段処理に起因している場合があるため、類似の判定に用いている。なお、類似している他のジョブとして、障害が発生した処理と類似した処理で障害が発生したジョブであることを前提としてもよい。
また「類似」とは、処理として互いに共通点があることをいう。なお、もちろんのことながら、完全一致である場合を含む。例えば、前段の処理全て（ジョブ内の最初の処理から障害が発生した処理の直前の処理まで）が一致していることであってもよいし、前段の処理の一致する割合（前段の処理全ての個数を分母とし、一致している処理の数を分子とする）が予め定められた閾値より多い又は以上である場合であってもよい。また、前段の処理として、障害が発生した処理の直前の処理だけとしてもよい。また、処理に重み付けするようにしてもよい。例えば、障害が発生した処理の直前の処理には重い重み付けをして、障害が発生した処理に遠くなるほど（フロー内の最初の処理に近いほど）軽い重み付けとするようにしてもよい。
【００２７】
また、エラー判定モジュール１４５は、前段の処理の他に、フローの定義（例えば、後述するエラー情報テーブル４００のフロー定義の種類欄４２０の内容）、障害が発生した箇所（具体的には、処理名称、プログラム内の行数等、例えば、後述するエラー情報テーブル４００のスタックトレース欄４５０の内容）、処理の設定状況（例えば、後述するエラー情報テーブル４００の要求パラメータ欄４４０の内容）、障害が発生した際のパラメータの状況（例えば、後述するエラー情報テーブル４００のエラー発生時パラメータ欄４４５の内容）、障害が発生した日時（例えば、後述するエラー情報テーブル４００のエラー発生日時欄４１５の内容）、フローの作成者（例えば、フロー作成者１９２）、ジョブの実行を指示した者（例えば、操作者１９７、後述するエラー情報テーブル４００のユーザーＩＤ欄４３０の内容）のいずれか１つ又はこれらの組み合わせが類似するジョブを抽出するようにしてもよい。なお、日時が類似するとは、両者の日時の差が予め定められた閾値未満又は以下であることの他に、週の曜日が同じであること、両者が月の予め定められた期間（例えば、月末等）にあること等も含む。
【００２８】
エラー情報格納モジュール１５０は、エラー判定モジュール１４５、フロー処理モジュール１１０のジョブ管理モジュール１３５と接続されている。エラー情報格納モジュール１５０は、エラージョブに対応させて、障害の詳細データを格納する。例えば、エラー情報テーブル４００を記憶している。図４は、エラー情報テーブル４００のデータ構造例を示す説明図である。エラー情報テーブル４００は、エラーＩＤ欄４１０、エラー発生日時欄４１５、フロー定義の種類欄４２０、処理要求欄４２５、エラー発生時パラメータ欄４４５、スタックトレース欄４５０を有している。処理要求欄４２５は、ユーザーＩＤ欄４３０、要求日時欄４３５、要求パラメータ欄４４０を有している。エラーＩＤ欄４１０は、本実施の形態において、エラーを一意に識別するための情報（エラーＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）を記憶している。エラー発生日時欄４１５は、そのエラーの発生日時（年、月、日、時、分、秒、秒以下、又はこれらの組み合わせであってもよい）を記憶している。フロー定義の種類欄４２０は、そのエラーが発生したジョブがしたがったフロー定義の種類を記憶している。処理要求欄４２５は、処理要求を記憶している。ユーザーＩＤ欄４３０は、本実施の形態において、そのジョブの実行指示を行ったユーザー（操作者１９７）を一意に識別するための情報（ユーザーＩＤ）を記憶している。要求日時欄４３５は、そのジョブの実行要求を行った日時を記憶している。要求パラメータ欄４４０は、そのジョブの実行にあたって要求されたパラメータを記憶している。パラメータとして、例えば、処理優先、認識精度優先等がある。エラー発生時パラメータ欄４４５は、エラーが発生した時におけるパラメータを記憶している。ここでのパラメータとして、例えば、文字認識に用いられる枠のサイズ等が該当する。また、画像を読み込んだ機器が事務所用の複合機であるか、家庭用スキャナーであるかをパラメータとして含んでもよい。スタックトレース欄４５０は、エラーが発生した時点でのスタックトレースを記憶している。スタックトレースとは、ジョブ（プログラム）のデバッグ時に実行過程をプレイバックするための情報であり、エラーが発生したプログラム内の行数、関数の呼び出し元への戻りアドレス、ローカル変数等によって構成されている。
【００２９】
分析モジュール１５５は、フロー処理モジュール１１０のジョブ管理モジュール１３５と接続されている。分析モジュール１５５は、操作履歴をベースに分析を行い集計結果をもとにしてフロー作成者１９２へフィードバックを行う。
分析モジュール１５５は、障害が発生したジョブ、対応、操作受付・提示モジュール１６０によってジョブに適用された対応を、フロー作成者１９２に提示する。
操作受付・提示モジュール１６０は、フロー処理モジュール１１０のジョブ管理モジュール１３５と接続されている。操作受付・提示モジュール１６０は、操作者１９７による操作を受け付け、ジョブにおいて障害が発生したこと、類似のエラージョブ等を提示する。操作として、例えば、ジョブの実行、障害への対応等がある。
操作受付・提示モジュール１６０は、フローにしたがって行われたジョブにおいて障害が発生した場合、そのジョブに適用する対応を受け付ける。
そして、操作受付・提示モジュール１６０は、エラー判定モジュール１４５によって抽出されたジョブを提示し、そのジョブに対して対応を適用するか否かの指示を受け付け可能に提示する。
【００３０】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
図２（ａ）の例に示す画像処理装置２００は、情報処理装置１００を含むものであり、例えば、複写機、ファックス、スキャナー、プリンタ、複合機（スキャナー、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）が該当する。情報処理装置１００は、フロー作成者端末１９０、操作者端末１９５と接続されている。
【００３１】
図２（ｂ）に示す例は、情報処理装置１００ｂ、フロー作成者端末１９０ａ、フロー作成者端末１９０ｂ、操作者端末１９５ａ、操作者端末１９５ｂ、操作者端末１９５ｃ、画像処理装置２００、画像処理装置２１０ａ、画像処理装置２１０ｂが、通信回線２９０を介してそれぞれ接続されている。通信回線２９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、情報処理装置１００ｂによる機能は、クラウドサービスとして実現してもよい。画像処理装置２００は、情報処理装置１００ａを有している。画像処理装置２１０は、情報処理装置１００ｂ又は画像処理装置２００内の情報処理装置１００ａを利用して、ジョブを実行させる。
【００３２】
図３は、本実施の形態による処理例を示すフローチャートである。エラージョブが発生した後の処理例であって、操作受付・提示モジュール１６０、ジョブ管理モジュール１３５、エラー判定モジュール１４５、エラー情報格納モジュール１５０、分析モジュール１５５間で行われる処理例を示している。
操作者１９７は、ジョブ内の処理の途中でエラーが発生している場合、その処理をスキップしてジョブ処理を継続させる操作を行ったものとする。
なお、エラーが発生したジョブの実行者である操作者１９７に関連する「エラーが発生したジョブ」が既にエラー情報格納モジュール１５０に記憶されている場合は、以下の処理を行う。
例えば、エラーが発生した旨の内容のメール等を情報処理装置１００のエラー判定モジュール１４５が操作者１９７（操作者端末１９５）に送信等することによって、操作者１９７はジョブにおいてエラーが発生したことを知る。複数のエラーが発生した場合は、操作者１９７はその複数のエラーの中から１つ選択する。
【００３３】
ステップＳ３０２では、操作受付・提示モジュール１６０は、操作者１９７の指示（例えば、対応（２）の「エラーが発生した処理をスキップすること」の指定）にしたがって、エラージョブの再開を指示する。
ステップＳ３０４では、ジョブ管理モジュール１３５は、指定されたジョブを再開する。
ステップＳ３０６では、ジョブ管理モジュール１３５はエラー判定モジュール１４５に対し、類似エラーの検索要求を行う。
ステップＳ３０８では、エラー判定モジュール１４５はエラー情報格納モジュール１５０に対し、類似エラージョブの検索を行う。
【００３４】
ステップＳ３１０では、エラー情報格納モジュール１５０はエラー判定モジュール１４５に対し、検索結果を戻す。
ステップＳ３１２では、エラー判定モジュール１４５はジョブ管理モジュール１３５に対し、検索結果を戻す。
ステップＳ３１４では、ジョブ管理モジュール１３５は操作受付・提示モジュール１６０に対し、検索結果を提示する。
ステップＳ３１６では、操作受付・提示モジュール１６０は、操作者１９７の指示にしたがって、類似エラージョブを再開することを指示する。ここでの「再開」は、ステップＳ３０２での対応（対応（２）の「エラーが発生した処理をスキップすること」）と同じである。また、操作者１９７によって複数の類似エラージョブに対して再開指示があった場合は、ジョブ管理モジュール１３５へまとめて類似エラージョブの再開処理を行う。
ステップＳ３１８では、ジョブ管理モジュール１３５は、指定されたジョブ（類似エラージョブ）を再開する。
【００３５】
ステップＳ３２０では、ジョブ管理モジュール１３５は分析モジュール１５５に対し、エラージョブ、類似エラージョブに関する情報を提供する。
ステップＳ３２２では、分析モジュール１５５は、エラージョブ、類似エラージョブを分析する。例えば、後述する図８の例に示すエラー提示リスト８３０の生成等がある。また、エラージョブへの対応の操作履歴を用いて特徴量の分析を行い、対応の類似度の高いジョブは類似するジョブとして判断するようにエラー判定モジュール１４５の判断パラメータを変更するようにしてもよい。また、エラーの発生頻度の多い処理に関する情報を、フロー作成者１９２又は操作者１９７へ提示するようにしてもよい。
ステップＳ３２４では、分析モジュール１５５は、フロー作成者１９２への通知（エラー時の自動スキップの有効化の推奨、フローの見直し）を行う。
ステップＳ３２６では、操作受付・提示モジュール１６０は、フロー作成者１９２の操作にしたがって、操作の手間を省くため、エラージョブへの対応等を組み込んだフローの修正等が行われる。
【００３６】
図５は、フローの定義例を示す説明図である。
フローＡは、図５（ａ）の例に示すように、フォルダ入力５１０Ａ、文書変換５２０Ａ、バーコード認識５３０Ａ、メール送信５４０Ａの処理を順に行うことを定義している。
フローＢは、図５（ｂ）の例に示すように、スキャン入力５１０Ｂ、バーコード認識５２０Ｂ、共有フォルダ保存５３０Ｂの処理を順に行うことを定義している。
フローＣは、図５（ｃ）の例に示すように、フォルダ入力５１０Ｃ、自動正立５２０Ｃ、文書変換５３０Ｃ、バーコード認識５４０Ｃ、メール送信５５０Ｃの処理を順に行うことを定義している。
フローＤは、図５（ｄ）の例に示すように、フォルダ入力５１０Ｄ、自動正立５２０Ｄ、バーコード認識５３０Ｄ、文書変換５４０Ｄ、メール送信５５０Ｄの処理を順に行うことを定義している。
【００３７】
図６は、エラー操作リスト６２０の提示例を示す説明図である。
エラージョブ一覧画面６００には、エラージョブリスト６１０を表示する。そして、エラージョブリスト６１０内の１つのエラージョブが選択された場合に、エラー操作リスト６２０を表示する。エラー操作リスト６２０内には、そのエラージョブへの選択可能な対応を表示する。図６の例では、（１）再開（前述の対応（１）に該当）、（２）処理をスキップして再開（前述の対応（２）に該当）、（３）削除（前述の対応（３）に該当）、を表示している。
この選択されたエラージョブは、図５（ａ）の例に示したフローＡにしたがって生成されたジョブである。そして、バーコード認識の処理（バーコード認識５３０Ａのインスタンス）でエラーが発生している。操作者１９７は、バーコード認識が失敗（属性付与に失敗）した場合でも配信を行う方が望ましい（後に手動で属性を付与すればよい）を判断したため、そのバーコード認識の処理をスキップして再開（対応（２））を選択している。
【００３８】
また、図４の例に示したエラー情報テーブル４００のエラー発生時パラメータ欄４４５で前述したように、情報画像（例えば、バーコード、ＱＲコード（登録商標）等）の読み取り処理において、読み取り機器の種類（具体的には、事務所用の複合機器であるか、家庭用スキャナーであるか）を、類似判断のパラメータとしてもよい。事務所用の複合機器から送信された画像は正しく認識されているが、家庭用スキャナーから送信された画像は、認識に失敗する場合があるためである。家庭用スキャナーから送信された画像を対象としている場合には、対応として、認識率優先（処理時間は増加する）モードに変更することを提示するようにしてもよい。
【００３９】
図７は、類似エラージョブ操作リスト７２０の提示例を示す説明図である。図６の例で、対応（２）が選択された後に、対象としているエラージョブと類似するエラージョブを提示している例を示すものである。対象としているエラージョブ（フローＡにしたがって行われたジョブ）では、バーコード認識の処理でエラーが発生しており、その直前の処理は文書変換である。類似していると抽出されたジョブ（エラージョブ表示リスト７３０内に表示されたエラージョブ）は、フローＡにしたがって行われたジョブであって、バーコード認識の処理でエラーが発生したものと、文書変換の処理の後にバーコード認識の処理の処理が行われるフローＣにしたがって行われたジョブであって、バーコード認識の処理でエラーが発生したものである。
類似エラージョブ操作リスト７２０には、例えば、「以下のジョブで類似のエラーが発生しています。まとめてスキップして再開処理を行いますか？」と表示する。なお、類似エラージョブ操作リスト７２０には、図６の例で対応を選択したエラージョブの前段処理を提示してもよい。操作者１９７は、対象としたエラージョブと類似エラージョブにおける前段処理を確認することができるようになる。
【００４０】
そして、類似エラージョブ操作リスト７２０に、エラージョブ表示リスト７３０、「まとめてスキップして再開」ボタン７６０、キャンセルボタン７７０を表示する。
エラージョブ表示リスト７３０は、ジョブ名欄７３２、フロー定義名欄７３４、ユーザー名欄７３６、前段処理欄７３８、操作欄７４０を有している。ジョブ名欄７３２にはジョブ名を表示し、フロー定義名欄７３４にはフロー定義名を表示し、ユーザー名欄７３６にはそのジョブの実行を指示したユーザー名を表示し、前段処理欄７３８にはそのエラージョブにおいてエラーが発生した処理の前段処理を表示し、操作欄７４０には操作ボタン７４２、７４４、７４６を表示する。この操作ボタンは、図６の例で選択した対応と同じ対応を示している。
「まとめてスキップして再開」ボタン７６０は、エラージョブ表示リスト７３０内の全てのエラージョブに対して、図６の例で選択した対応と同じ対応を適用する場合に押下される。
キャンセルボタン７７０は、エラージョブ表示リスト７３０内のエラージョブには、図６の例で選択した対応と同じ対応を適用しない場合に押下される。
【００４１】
なお、対象としているエラージョブに対して対応（２）が選択された場合だけ、類似エラージョブを提示するようにしてもよい。
また、操作者に権限があるジョブであれば、他人が実行を指示したジョブであっても類似するジョブとして提示している。例えば、同じグループに属しているユーザーが実行を指示したエラージョブに対しては権限があるとしてもよい。
【００４２】
図８は、エラージョブリスト８２０の提示例を示す説明図である。分析モジュール１５５が分析結果として、フロー作成者１９２に提示する例である。
エラージョブリスト８２０には、例えば、「以下のフローでエラーが発生し、再開されています。フローの確認を行ってください。」、『「バーコード認識」でエラーが発生しています。「文書変換」の設定を見直してください。』と表示する。
エラージョブリスト８２０には、エラー提示リスト８３０を表示する。
エラー提示リスト８３０は、フロー定義名欄８３２、実行数欄８３４、エラー数欄８３６、再開数欄８３８、エラー発生箇所欄８４０、エラー発生時の前段処理欄８４２を有している。フロー定義名欄８３２にはフロー定義名を表示し、実行数欄８３４には実行数欄を表示し、エラー数欄８３６にはエラー数を表示し、再開数欄８３８には再開数を表示し、エラー発生箇所欄８４０にはエラー発生箇所を表示し、エラー発生時の前段処理欄８４２にはエラー発生時の前段処理を表示する。
分析モジュール１５５によって特定の前段処理が原因であると推測される場合に、操作の履歴からフロー作成者１９２へ提示を行っている。
【００４３】
図９を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図９に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナー等のデータ読み取り部９１７と、プリンタ等のデータ出力部９１８を備えたハードウェア構成例を示している。
【００４４】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１は、前述の実施の形態において説明した各種のモジュール、すなわち、フロー処理モジュール１１０、フロー作成モジュール１１５、フロー管理モジュール１２０、文書処理モジュール１２５、ジョブ管理モジュール１３５、エラー処理モジュール１４０、エラー判定モジュール１４５、分析モジュール１５５、操作受付・提示モジュール１６０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００４５】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス９０４により相互に接続されている。
【００４６】
ホストバス９０４は、ブリッジ９０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス９０６に接続されている。
【００４７】
キーボード９０８、マウス等のポインティングデバイス９０９は、操作者により操作されるデバイスである。ディスプレイ９１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス９０９とディスプレイ９１０の両方の機能を備えているタッチスクリーン等であってもよい。
【００４８】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）９１１は、ハードディスク（フラッシュ・メモリ等であってもよい）を内蔵し、ハードディスクを駆動し、ＣＰＵ９０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、文書格納モジュール１３０、エラー情報格納モジュール１５０等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【００４９】
ドライブ９１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース９０７、外部バス９０６、ブリッジ９０５、及びホストバス９０４を介して接続されているＲＡＭ９０３に供給する。なお、リムーバブル記録媒体９１３も、データ記録領域として利用可能である。
【００５０】
接続ポート９１４は、外部接続機器９１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート９１４は、インタフェース９０７、及び外部バス９０６、ブリッジ９０５、ホストバス９０４等を介してＣＰＵ９０１等に接続されている。通信部９１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部９１７は、例えばスキャナーであり、ドキュメントの読み取り処理を実行する。データ出力部９１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５１】
なお、図９に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図９に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図９に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナー、プリンタ、複合機などに組み込まれていてもよい。
【００５２】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分又は全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５３】
１００…情報処理装置
１１０…フロー処理モジュール
１１５…フロー作成モジュール
１２０…フロー管理モジュール
１２５…文書処理モジュール
１３０…文書格納モジュール
１３５…ジョブ管理モジュール
１４０…エラー処理モジュール
１４５…エラー判定モジュール
１５０…エラー情報格納モジュール
１５５…分析モジュール
１６０…操作受付・提示モジュール
１９０…フロー作成者端末
１９２…フロー作成者
１９５…操作者端末
１９７…操作者
２００…画像処理装置
２１０…画像処理装置
２９０…通信回線
【図１】
0006547649.tif 000002
【図２】
0006547649.tif 000003
【図３】
0006547649.tif 000004
【図４】
0006547649.tif 000005
【図５】
0006547649.tif 000006
【図６】
0006547649.tif 000007
【図７】
0006547649.tif 000008
【図８】
0006547649.tif 000009
【図９】
0006547649.tif 000010