(57)【特許請求の範囲】
【請求項１】
画像処理の処理対象を当該処理対象に対する画像処理の設定および画像処理プログラムに基づいて処理する処理手段と、
処理手段における障害の発生条件を記憶する記憶手段と、
前記処理対象または前記設定が前記障害の発生条件を満たすか否かを検知プログラムに基づいて検知する検知手段と、
前記検知手段が障害の発生条件を満たすことを検知した場合には、当該障害の回避のための情報を提示する、または、当該障害を回避する、制御を行う制御手段と、
を備え、
前記記憶手段は、障害を解消した版のプログラムを前記障害の発生条件と対応させて記憶しており、
前記制御手段は、前記障害を回避する制御は、前記検知手段が検知した障害の発生条件に対応する該障害を解消した版のプログラムを一時的に適用するように制御し、
障害を解消した版のプログラムを一時的に適用する前であって出力異常に該当する場合の画像と、障害を解消した版のプログラムを一時的に適用した後の画像とを比較した結果を出力するように制御し、
該プログラムを一時的に適用した後に、本適用するとの指示を受け付けた場合は、該プログラムを本適用し、本適用しないとの指示を受け付けた場合は、適用する前の状態に戻す、
画像処理装置。
【請求項２】
前記障害の回避のための情報、前記障害の発生条件、または、前記障害の回避方法を提示する、
請求項１に記載の画像処理装置。
【請求項３】
前記記憶手段は、障害を解消したプログラムの版を前記障害の発生条件と対応させて記憶しており、
前記障害の回避方法は、前記障害を解消したプログラムの版を提示することによるものである、
請求項２に記載の画像処理装置。
【請求項４】
前記記憶手段は、前記障害の発生条件として、障害が発生する場合の処理の順序又は他の処理の状態を記憶しており、
前記制御手段は、前記障害を回避する制御は、処理を開始するにあたって、前記障害の発生条件に該当する場合は、該発生条件に該当しなくなるまで、該処理を停止する、または、該処理の順番を入れ替えるように制御する、
請求項１に記載の画像処理装置。
【請求項５】
コンピュータを、
画像処理の処理対象を当該処理対象に対する画像処理の設定および画像処理プログラムに基づいて処理する処理手段と、
処理手段における障害の発生条件を記憶する記憶手段と、
前記処理対象または前記設定が前記障害の発生条件を満たすか否かを検知プログラムに基づいて検知する検知手段と、
前記検知手段が障害の発生条件を満たすことを検知した場合には、当該障害の回避のための情報を提示する、または、当該障害を回避する、制御を行う制御手段
として機能させ、
前記記憶手段は、障害を解消した版のプログラムを前記障害の発生条件と対応させて記憶しており、
前記制御手段は、前記障害を回避する制御は、前記検知手段が検知した障害の発生条件に対応する該障害を解消した版のプログラムを一時的に適用するように制御し、
障害を解消した版のプログラムを一時的に適用する前であって出力異常に該当する場合の画像と、障害を解消した版のプログラムを一時的に適用した後の画像とを比較した結果を出力するように制御し、
該プログラムを一時的に適用した後に、本適用するとの指示を受け付けた場合は、該プログラムを本適用し、本適用しないとの指示を受け付けた場合は、適用する前の状態に戻す、
画像処理プログラム。
【請求項６】
画像処理の処理対象を当該処理対象に対する画像処理の設定および画像処理プログラムに基づいて処理する処理手段と、
処理手段における障害の発生条件を記憶する記憶手段と、
前記処理対象または前記設定が前記障害の発生条件を満たすか否かを検知プログラムに基づいて検知する検知手段と、
前記検知手段が障害の発生条件を満たすことを検知した場合には、当該障害の回避のための情報を提示する、または、当該障害を回避する、制御を行う制御手段と、
を備え、
前記記憶手段は、障害を解消した版のプログラムを前記障害の発生条件と対応させて記憶しており、
前記制御手段は、前記障害を回避する制御は、前記検知手段が検知した障害の発生条件に対応する該障害を解消した版のプログラムを一時的に適用するように制御し、
障害を解消した版のプログラムを一時的に適用する前であって出力異常に該当する場合の画像と、障害を解消した版のプログラムを一時的に適用した後の画像とを比較した結果を出力するように制御し、
該プログラムを一時的に適用した後に、本適用するとの指示を受け付けた場合は、該プログラムを本適用し、本適用しないとの指示を受け付けた場合は、適用する前の状態に戻す、
画像処理装置と、
前記画像処理装置と通信回線を介して接続されており、
前記記憶手段の内容を更新する更新手段
を備えた更新装置と、
を備えた画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理プログラム及び画像処理システムに関する。
【背景技術】
【０００２】
特許文献１には、障害発生に対する対応処理を実行する場合であっても、様々な状況や環境等に適切かつ柔軟に対応することを可能にすることを課題とし、画像処理ジョブを実行するジョブ処理手段と、前記ジョブ処理手段でのジョブ実行に対する障害発生及び発生した障害種類を検知する障害検知手段と、発生し得る障害の種類と当該障害についての対応処理との対応関係に関する情報を記憶管理する情報管理手段と、前記障害検知手段が障害発生及び発生した障害種類を検知すると前記情報管理手段が記憶管理する情報に基づいて当該障害検知手段が検知した障害についての対応処理を実行する障害対応手段と、前記情報管理手段が記憶管理する情報を変更するための情報更新手段とを備えて、画像処理装置を構成することが開示されている。
【０００３】
特許文献２には、発生したエラーを回避して印刷の続行を行うとともに、個々の印刷ジョブの出力結果をより好ましいものとすることを課題とし、印刷装置は、与えられた印刷ジョブに従って印刷を実行し、この印刷装置は、エラー検出部と、印刷条件変更部と、を備えており、エラー検出部は、印刷ジョブに設定された印刷条件によって印刷ジョブの印刷が完了しない可能性を表すエラーを検出し、印刷条件変更部は、エラー検出部がエラーを検出した場合に、印刷を完了し得るように印刷ジョブの印刷条件を変更し、印刷条件変更部による印刷ジョブの印刷条件の変更は、エラー検出部により検出されたエラーの種別と、エラーの種別に関連付けられエラーを回避するために印刷ジョブに対して設定される変更印刷条件とに基づいて行われることが開示されている。
障害に対応するための処理が従来から行われている。例えば、特許文献１に記載の技術では、ジョブ実行に対する障害発生及び発生した障害種類を検知し、発生し得る障害の種類とその障害についての対応処理との対応関係に関する情報を記憶管理しており、その情報を用いて、障害発生及び発生した障害種類を検知すると、対応処理を実行することが行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−０４２３５８号公報
【特許文献２】特開２００７−２７６１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
障害発生及び発生した障害種類を検知して当該障害を回避する処理を実行するためには、障害の要因および回避または解決方法を特定したあとに画像処理プログラムのバージョンを修正し、画像処理の内容を修正する必要があるが、ユーザーによっては運用実績を重視して画像処理プログラムのアップデートをせずに古いバージョンを使い続けることがある。
画像処理プログラムのアップデートをせずに古いバージョンを使い続けるユーザーにおいては、条件および回避方法または解決方法を特定された障害であっても回避することができず不具合が発生してしまう。
本発明は、画像処理プログラムのアップデートを行なっていないユーザーにおいて、処理手段と管理手段とを別にしない場合と比較して当該バージョンで回避できない障害の発生を抑制する画像処理装置、画像処理プログラム及び画像処理システムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像処理の処理対象を当該処理対象に対する画像処理の設定および画像処理プログラムに基づいて処理する処理手段と、処理手段における障害の発生条件を記憶する記憶手段と、前記処理対象または前記設定が前記障害の発生条件を満たすか否かを検知プログラムに基づいて検知する検知手段と、前記検知手段が障害の発生条件を満たすことを検知した場合には、当該障害の回避のための情報を提示する、または、当該障害を回避する、制御を行う制御手段と、を備え、前記記憶手段は、障害を解消した版のプログラムを前記障害の発生条件と対応させて記憶しており、前記制御手段は、前記障害を回避する制御は、前記検知手段が検知した障害の発生条件に対応する該障害を解消した版のプログラムを一時的に適用するように制御し、障害を解消した版のプログラムを一時的に適用する前であって出力異常に該当する場合の画像と、障害を解消した版のプログラムを一時的に適用した後の画像とを比較した結果を出力するように制御し、該プログラムを一時的に適用した後に、本適用するとの指示を受け付けた場合は、該プログラムを本適用し、本適用しないとの指示を受け付けた場合は、適用する前の状態に戻す、画像処理装置である。
【０００７】
請求項２の発明は、前記障害の回避のための情報、前記障害の発生条件、または、前記障害の回避方法を提示する、請求項１に記載の画像処理装置である。
【０００８】
請求項３の発明は、前記記憶手段は、障害を解消したプログラムの版を前記障害の発生条件と対応させて記憶しており、前記障害の回避方法は、前記障害を解消したプログラムの版を提示することによるものである、請求項２に記載の画像処理装置である。
【０００９】
請求項４の発明は、前記記憶手段は、前記障害の発生条件として、障害が発生する場合の処理の順序又は他の処理の状態を記憶しており、前記制御手段は、前記障害を回避する制御は、処理を開始するにあたって、前記障害の発生条件に該当する場合は、該発生条件に該当しなくなるまで、該処理を停止する、または、該処理の順番を入れ替えるように制御する、請求項１に記載の画像処理装置である。
【００１１】
請求項５の発明は、コンピュータを、画像処理の処理対象を当該処理対象に対する画像処理の設定および画像処理プログラムに基づいて処理する処理手段と、処理手段における障害の発生条件を記憶する記憶手段と、前記処理対象または前記設定が前記障害の発生条件を満たすか否かを検知プログラムに基づいて検知する検知手段と、前記検知手段が障害の発生条件を満たすことを検知した場合には、当該障害の回避のための情報を提示する、または、当該障害を回避する、制御を行う制御手段として機能させ、前記記憶手段は、障害を解消した版のプログラムを前記障害の発生条件と対応させて記憶しており、前記制御手段は、前記障害を回避する制御は、前記検知手段が検知した障害の発生条件に対応する該障害を解消した版のプログラムを一時的に適用するように制御し、障害を解消した版のプログラムを一時的に適用する前であって出力異常に該当する場合の画像と、障害を解消した版のプログラムを一時的に適用した後の画像とを比較した結果を出力するように制御し、該プログラムを一時的に適用した後に、本適用するとの指示を受け付けた場合は、該プログラムを本適用し、本適用しないとの指示を受け付けた場合は、適用する前の状態に戻す、画像処理プログラムである。
【００１２】
請求項６の発明は、画像処理の処理対象を当該処理対象に対する画像処理の設定および画像処理プログラムに基づいて処理する処理手段と、処理手段における障害の発生条件を記憶する記憶手段と、前記処理対象または前記設定が前記障害の発生条件を満たすか否かを検知プログラムに基づいて検知する検知手段と、前記検知手段が障害の発生条件を満たすことを検知した場合には、当該障害の回避のための情報を提示する、または、当該障害を回避する、制御を行う制御手段と、を備え、前記記憶手段は、障害を解消した版のプログラムを前記障害の発生条件と対応させて記憶しており、前記制御手段は、前記障害を回避する制御は、前記検知手段が検知した障害の発生条件に対応する該障害を解消した版のプログラムを一時的に適用するように制御し、障害を解消した版のプログラムを一時的に適用する前であって出力異常に該当する場合の画像と、障害を解消した版のプログラムを一時的に適用した後の画像とを比較した結果を出力するように制御し、該プログラムを一時的に適用した後に、本適用するとの指示を受け付けた場合は、該プログラムを本適用し、本適用しないとの指示を受け付けた場合は、適用する前の状態に戻す、画像処理装置と、前記画像処理装置と通信回線を介して接続されており、前記記憶手段の内容を更新する更新手段を備えた更新装置と、を備えた画像処理システムである。
【発明の効果】
【００１３】
請求項１、２、４の画像処理装置、請求項５の画像処理プログラム、および請求項６の画像処理システムによれば、画像処理プログラムのアップデートを行なっていないユーザーにおいて、処理手段と管理手段とを別にしない場合と比較して当該バージョンで回避できない障害の発生を抑制することができる。そして、障害を解消した版のプログラムを一時的に適用することができる。
【００１４】
請求項３の画像処理装置によれば、ユーザーが適用していないプログラムの版のうち、障害を解消したプログラムの版を提示することができる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】障害テーブルのデータ構造例を示す説明図である。
【図４】ジョブ属性管理テーブルのデータ構造例を示す説明図である。
【図５】ジョブ属性管理（処理中）テーブルのデータ構造例を示す説明図である。
【図６】第１の実施の形態による処理例を示すフローチャートである。
【図７】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図８】第２の実施の形態による処理例を示すフローチャートである。
【図９】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図１０】第３の実施の形態による処理例を示すフローチャートである。
【図１１】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１７】
まず、本実施の形態を説明する前に、その前提について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
画像処理、画像生成をするプログラムを更新しないユーザーがいることで、対策が済んでいる障害であっても、当該ユーザーの元ではプログラムが更新されていないため、その障害が発生してしまう。また、障害は、ジョブの設定やＰＤＬの記述に起因するものも多く、設定変更やＰＤＬの記述の変更で回避できるものもある。
本実施の形態は、当該ユーザーが管理している環境（旧バージョンを維持したままの環境）でも、障害を回避することができるようにしたものである。
そのために、画像処理生成用のプログラムとは別に障害への対応に合わせて更新するジョブ管理用のプログラムを用意し、ジョブ管理モジュール１２０にて旧バージョンのプログラムでは発生してしまう障害を事前検知する。検知した結果をユーザーに伝える方法は、「発生条件の提示」、「回避方法の提示」（「回避できるバージョンの提示」を含む）、「回避できるバージョンのプログラムの一時提供」、「ジョブ順序の変更」がある。なお、これらは例示列挙であり、他の情報を提示するようにしてもよいし、これらの１つ又は組み合わせを提示してもよい。
【００１８】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００１９】
第１の実施の形態である画像処理装置１００は、画像の印刷等の処理を行う装置であって、特に、画像処理装置１００における既知の障害を回避する機能を提供し、図１の例に示すように、エラー状態管理モジュール１１０、ジョブ管理モジュール１２０、表示モジュール１３０、判定条件テーブル記憶モジュール１４０、処理中ジョブテーブル記憶モジュール１５０、ジョブ属性管理テーブル記憶モジュール１６０、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚを有している。処理手段としては、例えば、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚを用いることができる。記憶手段としては、例えば、判定条件テーブル記憶モジュール１４０を用いることができる。検知手段としては、例えば、エラー状態管理モジュール１１０、ジョブ管理モジュール１２０を用いることができる。制御手段としては、例えば、ジョブ管理モジュール１２０、表示モジュール１３０を用いることができる。画像処理装置１００は、例えば、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）、複写機、ファックス、スキャナ、プリンタ等である。画像処理装置１００は、ジョブにしたがって処理を行う。ジョブとは、画像処理装置１００に対する実行要求であり、具体的には、原稿複写ジョブ、印刷ジョブ、画像読み取りジョブ、ファックス送受信ジョブ等がある。  ここでいう障害とは、ジョブ設定を特定の設定とした場合や処理対象であるＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）が特定の記述を含む場合等のジョブ設定またはジョブデータの内容を要因としており、再現性があり、発生がジョブ設定またはジョブデータの内容から予測ができる不具合で、回避または解決方法が特定されている不具合をいう。不具合には、ジョブが正常に終了しないなどの明示的に表示されるエラーおよび、印刷の品質が不良であるなどの明示的に表示されない現象も含む。
なお、以下の説明では、エラーとして明示的に表示されるもの全てを「エラー」といい、エラーと明示的に表示されない品質不良等を「不具合」といい、不具合のうち「再現性があり、発生条件等の原因と回避方法または解決方法が特定できており、それがジョブ設定またはジョブデータから予測できるもの」で特定され、条件、回避策等が記憶されたものを「障害」という。
【００２０】
以下に示す実施の形態は、画像処理／画像生成のプログラム（画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚで動作するプログラム）と、障害についての提示、ジョブの順序変更や一時停止を行うプログラム（ジョブ管理モジュール１２０で動作するプログラム）を別に用意している。これによって、画像処理／画像生成のプログラムと、画像処理／画像生成のプログラムに起因して発生する障害を回避するためのプログラムを分け、別々にアップデートできるようにする。
ユーザーは画像処理／画像生成のプログラムについては運用実績を重視し旧バージョンを用いることを行う場合があるが、画像処理／画像生成とは直接関係しないエラーの発生を提示するプログラムであればアップデートすることが多いので、旧バージョンのユーザーに対しても提示することで回避方法等を提供することができる。
つまり、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚで動作するプログラムで動作するプログラムとジョブ管理モジュール１２０で動作するプログラムは別である。これによって、それぞれのプログラムのバージョンアップが別々に行えることとなる。
あわせて、ユーザーが画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚで動作する画像処理／画像生成のためのプログラムをバージョンアップしない（ユーザーがバージョンアップすることを許可しない）場合であっても、障害の発生の提示、ジョブの順序変更、一時停止を制御するジョブ管理モジュール１２０のプログラムをバージョンアップすることができる。
【００２１】
画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚは、画像処理の処理対象を、その処理対象に対する画像処理の設定及び画像処理プログラムに基づいて処理する。具体的には、以下の通りである。
画像生成モジュール１７０Ａは、エラー状態管理モジュール１１０、判定条件テーブル記憶モジュール１４０と接続されている。画像生成モジュール１７０Ａは、受け付けた印刷対象のＰＤＬデータ等から印刷可能な画像データを生成する。
Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚは、エラー状態管理モジュール１１０と接続されている。これらは、画像処理装置１００が提供する機能の処理を行う。例えば、画像読み取りの処理を行うものであってもよいし、他の情報処理装置と通信を行うものであってもよいし、印刷した用紙に後処理（ステープル、穴空け等）を行うものであってもよい。
画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚで、エラーが発生した場合、そのエラー発生をエラー状態管理モジュール１１０に通知する。また、画像生成モジュール１７０Ａは、ジョブデータを解析した結果、判定条件テーブル記憶モジュール１４０内の障害の発生条件を満たす場合は、「判定条件成立」（つまり、障害）として、ジョブ管理モジュール１２０に通知する。
エラー状態管理モジュール１１０は、ジョブ管理モジュール１２０、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚと接続されている。エラー状態管理モジュール１１０は、処理対象又は設定が障害の発生条件を満たすか否かを検知プログラムに基づいて検知する。また、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚからエラー等（正確には、エラーと画像生成モジュール１７０Ａから通知された障害、以下、エラー等ともいう）の発生の通知を受ける。そして、エラー等の内容とエラー等の発生したモジュールをジョブ管理モジュール１２０に通知する。
【００２２】
ジョブ管理モジュール１２０は、エラー状態管理モジュール１１０、表示モジュール１３０、判定条件テーブル記憶モジュール１４０、処理中ジョブテーブル記憶モジュール１５０、ジョブ属性管理テーブル記憶モジュール１６０と接続されている。ジョブ管理モジュール１２０は、エラー状態管理モジュール１１０が障害の発生条件を満たすことを検知した場合には、その障害の回避のための情報を提示する、又は、その障害を回避する、制御を行う。障害の回避のための情報として、例えば、障害の発生条件であってもよい。障害の発生条件を提示するだけでもユーザーの方で条件を取り除くことができる場合があるからである。また、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚにおける障害の発生条件を満たすか否かを検知するようにしてもよい。検知する契機は、エラー状態管理モジュール１１０がエラーを検知する前（実際のエラーが発生する前）であれば、処理を開始するとき（又は前）であっても処理を開始した後であってもよい。判定条件テーブル記憶モジュール１４０を用いて、エラー状態管理モジュール１１０が検知した障害の発生条件に対応するその障害の回避方法を提示するように、表示モジュール１３０を制御する。つまり、本実施の形態は、エラーが発生する前に記憶された障害の発生条件に基づいて障害の発生を予見し、対応付けて記憶した障害の回避方法に基づいて回避方法を提示する。そのため、ジョブの設定またはＰＤＬの記述が障害の発生条件を満たすか否かを検知するのは、エラー検知の前である。
【００２３】
また、ジョブ管理モジュール１２０は、障害の回避のための情報、又は、障害の発生条件、障害の回避方法を提示するように、表示モジュール１３０を制御してもよい。また、ジョブ管理モジュール１２０は、障害の回避方法として、障害を解消したプログラムの版を提示するように、表示モジュール１３０を制御してもよい。また、判定条件テーブル記憶モジュール１４０内の障害の発生条件に対応する回避方法と障害を解消した画像処理プログラムの版を提示するように、表示モジュール１３０を制御してもよい。
表示モジュール１３０は、ジョブ管理モジュール１２０と接続されている。表示モジュール１３０は、ジョブ管理モジュール１２０による制御にしたがって、画像処理装置１００の提示装置に、障害の回避方法を提示する。なお、「提示」には、液晶ディスプレイ等の表示装置への表示の他に、プリンタ等の印刷装置での印刷、スピーカー等の音声出力装置への音声の出力等があり、それらの組み合わせであってもよい。
また、表示モジュール１３０は、ジョブ管理モジュール１２０による制御にしたがって、画像処理装置１００の提示装置に、回避方法と障害を解消した画像処理プログラムの版を提示するようにしてもよい。
【００２４】
判定条件テーブル記憶モジュール１４０は、ジョブ管理モジュール１２０、画像生成モジュール１７０Ａと接続されている。判定条件テーブル記憶モジュール１４０は、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚにおける障害の発生条件を記憶する。また、判定条件テーブル記憶モジュール１４０は、画像処理装置１００又は画像生成モジュール１７０Ａによる画像の生成処理における障害の発生条件とその障害の回避方法を対応させて記憶するようにしてもよい。さらに、判定条件テーブル記憶モジュール１４０は、障害を解消した画像処理プログラムの版を障害の発生条件と対応させて記憶していてもよい。
具体的には、エラーコード、エラー発生個所（エラータスク）、ジョブの設定、ジョブデータ（ＰＤＬの記述）、リソース、エラー発生時のジョブ状態、シーケンス（処理順序、他のジョブの状態）等を記憶している。そして、障害の回避に関する情報を記憶している。具体的には、回避策、修正バージョン（修正パッチ）を記憶している。より具体的には、障害テーブル３００を記憶している。図３は、障害テーブル３００のデータ構造例を示す説明図である。障害テーブル３００は、障害コード欄３０５、エラーコード欄３１０、エラータスク欄３１５、ジョブ設定欄３２０、状態欄３２５、ジョブデータ欄３３０、リソース欄３３５、シーケンス欄３４０、回避策欄３４５、修正バージョン欄３５０を有している。障害コード欄３０５は、障害を、本実施の形態で一意に識別するための情報（障害コード）を記憶している。エラーコード欄３１０は、その障害が対象としているエラーコードを記憶している。エラータスク欄３１５は、その障害が対象としているエラータスクを記憶している。ここでのエラータスクは、エラーが発生したタスク（画像処理プログラムの一部または全部）を示している。ジョブ設定欄３２０は、その障害が発生するジョブの設定を記憶している。例えば、カラーモード（カラーで印刷する状態か、白黒で印刷する状態かを決定する処理体系）、面付け（１つの用紙に印刷するページ数）、用紙サイズ、画像生成に使う処理系（例えば、ＣＰＳＩ（Ｃｏｎｆｉｇｕｒａｂｌｅ  ＰｏｓｔＳｃｒｉｐｔ  Ｉｎｔｅｒｐｒｅｔｅｒ）等）、カラー調整等がある。状態欄３２５は、その障害が発生する状態を記憶している。例えば、「画像生成中」等がある。ジョブデータ欄３３０は、その障害が発生するジョブデータを記憶している。例えば、ＰｏｓｔＳｃｒｉｐｔ、ＰＤＦの記述内容等がある。リソース欄３３５は、その障害が発生するリソースを記憶している。例えば、面付けの設定、ページ番号の設定等がある。シーケンス欄３４０は、その障害が発生するシーケンスを記憶している。つまり、障害が発生する場合の処理の順序又は他の処理の状態を記憶している。回避策欄３４５は、その障害の回避策を記憶している。なお、条件を満たす場合は、その回避策を自動適用するようにしてもよいし、その回避策を適用するか否かは、操作者の操作に応じるようにしてもよい。例えば、操作者は、その障害（例えば、色味の変更等）を許容する場合もあるからである。修正バージョン欄３５０は、その障害の修正バージョン（その障害を解消した画像処理プログラムの版）を記憶している。
図３の例で示している障害コード：３は、明示的なエラーが発生せずに印刷が完了するが印刷結果に問題（文字化け）があるケースで、エラーコード欄３１０が空欄となっている。つまり、「エラー」には該当しないが、「障害」には該当する場合である。
図３の例で示している障害コード：４は、障害の修正が行われていないため修正バージョン欄３５０は空欄であるが、回避策欄３４５の回避策は判明しているケースである。
【００２５】
ジョブ属性管理テーブル記憶モジュール１６０は、ジョブ管理モジュール１２０と接続されている。ジョブ属性管理テーブル記憶モジュール１６０は、ジョブの情報（例えば、属性等を含めてもよい）を記憶している。例えば、ジョブ属性管理テーブル４００を記憶している。図４は、ジョブ属性管理テーブル４００のデータ構造例を示す説明図である。ジョブ属性管理テーブル４００は、ジョブＩＤ欄４０５、エラーコード欄４１０、障害コード欄４１５、修正バージョン欄４２０を有している。ジョブＩＤ欄４０５は、ジョブを、本実施の形態において一意に識別するための情報（ジョブＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）を記憶している。エラーコード欄４１０は、そのジョブで発生したエラーのエラーコードを記憶している。障害コード欄４１５は、そのジョブで発生した障害の障害コードを記憶している。修正バージョン欄４２０は、その障害を解消した画像処理プログラムの修正バージョンを記憶している。
【００２６】
処理中ジョブテーブル記憶モジュール１５０は、ジョブ管理モジュール１２０と接続されている。処理中ジョブテーブル記憶モジュール１５０は、処理中のジョブの情報を記憶する。例えば、ジョブ属性管理（処理中）テーブル５００を記憶している。図５は、ジョブ属性管理（処理中）テーブル５００のデータ構造例を示す説明図である。ジョブ属性管理（処理中）テーブル５００は、ジョブＩＤ欄５０５、開始日時欄５１０、利用メモリアドレス欄５１５、利用メモリ容量欄５２０、エラーコード欄５２５、障害コード欄５３０、修正バージョン欄５３５を有している。ジョブＩＤ欄５０５は、ジョブＩＤを記憶している。開始日時欄５１０は、そのジョブの処理の開始日時（年、月、日、時、分、秒、秒以下、又はこれらの組み合わせであってもよい）を記憶している。利用メモリアドレス欄５１５は、そのジョブが利用するメモリアドレスを記憶している。利用メモリ容量欄５２０は、そのジョブが利用するメモリ容量を記憶している。エラーコード欄５２５は、そのジョブで発生したエラーのエラーコードを記憶している。障害コード欄５３０は、そのジョブで発生した障害の障害コードを記憶している。修正バージョン欄５３５は、その障害を解消した画像処理プログラムの修正バージョンを記憶している。
なお、処理中ジョブテーブル記憶モジュール１５０とジョブ属性管理テーブル記憶モジュール１６０のいずれか一方だけでもよい。ただし、ジョブの処理中であるか否か（処理が終了したか否か）を示すフラグを記憶するように、ジョブ属性管理テーブル４００又はジョブ属性管理（処理中）テーブル５００に欄を付加してもよい。
【００２７】
画像処理装置１００の処理の概要を示す。
Ｓｔｅｐ１０２では、エラーが発生した場合、各処理モジュール（画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚ）はエラー発生をエラー状態管理モジュール１１０に通知する。なお、画像生成モジュール１７０Ａは、ジョブデータを解析した結果、障害テーブル３００内の条件を満たす場合は、「判定条件成立」としてジョブ管理モジュール１２０に通知する。
Ｓｔｅｐ１０４では、エラー等が発生した場合、エラー状態管理モジュール１１０はジョブ管理モジュール１２０に通知する。ジョブ管理モジュール１２０は、障害テーブル３００に基づき、発生条件を満たすか否かを判定し、満たす場合はエラー等の補足情報として、障害コード、修正バージョン情報を設定する。エラーになれば、正常に印刷完了できないので、ジョブ処理後であっても、そのジョブはジョブ属性管理テーブル４００から削除しない。出力異常に該当する場合（つまり、「エラーではない障害」の場合）、対象となったイメージをエクスポートする。
Ｓｔｅｐ１０６では、表示モジュール１３０で障害に関する情報を表示する。障害に関する情報として、回避策、修正バージョンを提示する。そして、回避策の適用指示、修正バージョンの適用指示用の画面を表示する。
【００２８】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
会社２２０Ａには、画像処理装置１００Ａ、画像処理装置１００Ｂ、ユーザー用端末２１０Ａ、ユーザー用端末２１０Ｂが設置されており、それぞれが接続されている。
会社２２０Ｂには、画像処理装置１００Ｃ、ユーザー用端末２１０Ｃ、ユーザー用端末２１０Ｄが設置されており、それぞれが接続されている。
会社２２０Ａ内の装置、会社２２０Ｂ内の装置、画像処理装置管理装置２５０は、通信回線２９０を介してそれぞれ接続されている。通信回線２９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。
画像処理装置管理装置２５０は、各画像処理装置１００の判定条件テーブル記憶モジュール１４０内に記憶させる障害テーブル３００を更新する。例えば、画像処理装置管理装置２５０で、障害テーブル３００を更新する都度、各画像処理装置１００に障害テーブル３００を送信するようにしてもよい。また、会社２２０の通信回線が通信回線２９０とファイヤーウォールを介して接続されている場合は、画像処理装置管理装置２５０から直接画像処理装置１００に対して接続することができないが、画像処理装置１００から画像処理装置管理装置２５０に対して接続要求（定期的な接続要求であってもよいし、非定期的な接続要求であってもよい）があった場合に、画像処理装置管理装置２５０から画像処理装置１００に対して障害テーブル３００のデータを送信するようにしてもよい。なお、画像処理装置管理装置２５０による機能は、クラウドサービスとして実現してもよい。
【００２９】
図６は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ６００では、該当する画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ等が、ジョブ処理を開始する。
ステップＳ６０２では、エラー等が発生したか否かを判断し、発生した場合はステップＳ６０４へ進み、それ以外の場合は正常終了する（ステップＳ６９８）。
ステップＳ６０４では、発生したエラー等に該当するレコードがあるか障害テーブル３００を検索する。なお、エラーに該当するが、障害には該当しないものがあるのは前述した定義から明らかである。また、画像生成モジュール１７０Ａから通知された障害は、障害テーブル３００にあるのは明白であるので、ステップＳ６０８の処理に進んでもよい。
【００３０】
ステップＳ６０６では、該当レコードがあるか否かを判断し、該当レコードがある場合はステップＳ６０８へ進み、それ以外の場合は終了する（ステップＳ６９９）。
ステップＳ６０８では、ジョブの障害情報として、障害テーブル３００の情報（障害コード又は具体的な回避策・修正バージョン）を設定する。
ステップＳ６１０では、回避策・修正バージョンを表示する。
ステップＳ６１２では、操作者の指示にしたがって、回避策・修正バージョンを適用するか否かを判断し、適用する場合はステップＳ６１４へ進み、それ以外の場合は終了する（ステップＳ６９９）。
ステップＳ６１４では、回避策・修正バージョンを適用する。
【００３１】
＜＜第２の実施の形態＞＞
図７は、第２の実施の形態の構成例についての概念的なモジュール構成図である。
画像処理装置７００は、ジョブ処理モジュール７１０、ＰＤＬ解析モジュール７２０、ジョブ管理モジュール７３０、受付モジュール７４０、判定条件テーブル記憶モジュール１４０、処理中ジョブテーブル記憶モジュール１５０、ジョブ属性管理テーブル記憶モジュール１６０、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚを有している。なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する（以下、同様）。
画像生成モジュール１７０Ａは、ジョブ処理モジュール７１０と接続されている。Ｘ処理モジュール１７０Ｘは、ジョブ処理モジュール７１０と接続されている。Ｙ処理モジュール１７０Ｙは、ジョブ処理モジュール７１０と接続されている。Ｚ処理モジュール１７０Ｚは、ジョブ処理モジュール７１０と接続されている。
ジョブ処理モジュール７１０は、ジョブ管理モジュール７３０、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚと接続されている。ジョブ処理モジュール７１０は、ジョブ管理モジュール７３０による制御にしたがって、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ等を用いて、ジョブ処理を行わせる。
【００３２】
ＰＤＬ解析モジュール７２０は、ジョブ管理モジュール７３０と接続されている。ＰＤＬ解析モジュール７２０は、画像生成モジュール１７０Ａが対象とするジョブデータとしてのＰＤＬの内容を解析する。具体的には、そのＰＤＬ内に障害テーブル３００のジョブデータ欄３３０に該当するものがあるか否かを解析する。
判定条件テーブル記憶モジュール１４０は、ジョブ管理モジュール７３０と接続されている。判定条件テーブル記憶モジュール１４０は、第１の実施の形態の判定条件テーブル記憶モジュール１４０が記憶している情報に加えて、さらに、障害の発生条件として、障害が発生する場合の処理の順序又は他の処理の状態を記憶している。
ジョブ管理モジュール７３０は、ジョブ処理モジュール７１０、ＰＤＬ解析モジュール７２０、受付モジュール７４０、判定条件テーブル記憶モジュール１４０、処理中ジョブテーブル記憶モジュール１５０、ジョブ属性管理テーブル記憶モジュール１６０と接続されている。ジョブ管理モジュール７３０は、ジョブの処理を開始するにあたって、判定条件テーブル記憶モジュール１４０内の障害の発生条件に該当する場合は、その発生条件に該当しなくなるまで、その処理を停止するように、ジョブ処理モジュール７１０を制御する。又は、その処理の順番を入れ替えるように、ジョブ処理モジュール７１０を制御する。なお、処理を停止すること、処理の順番を入れ替えることに関しては、その旨の提示を不要としてもよい。障害の発生条件として、具体的には、障害テーブル３００の状態欄３２５、シーケンス欄３４０の条件に該当するか否かを判断する。
画像処理／画像生成のプログラムと、順番を制御するプログラムを別々に用意することで、順序を制御するプログラムのみをアップデートすることができる。そして、ユーザーは画像処理／画像生成のプログラムについては運用実績を重視し旧バージョンを用いることを行う場合があるが、画像処理／画像生成とは直接関係しないジョブの順番を制御するプログラムであればアップデートすることが多いので、旧バージョンを維持しているユーザーに対しても（提示せずとも）回避を提供することができる。
処理中ジョブテーブル記憶モジュール１５０は、ジョブ管理モジュール７３０と接続されている。ジョブ属性管理テーブル記憶モジュール１６０は、ジョブ管理モジュール７３０と接続されている。
【００３３】
画像処理装置７００の処理の概要を示す。
Ｓｔｅｐ７０２では、ジョブ管理モジュール７３０は、ジョブの処理を開始するにあたって、処理中ジョブテーブル記憶モジュール１５０内の現在のジョブの状態、ＰＤＬ解析モジュール７２０の結果に基づき、判定条件テーブル記憶モジュール１４０内の発生条件を満たすか否かの判断処理を行い、障害が発生すると判断した場合は、処理可能なシーケンス（障害が解消した状態）になってからジョブを開始する。例えば、図３の例で示した障害テーブル３００の障害コード：１における「他のジョブで画像を生成中」に該当する場合は、「他のジョブで画像生成」が終了するまで待機し、その後、対象としているジョブの処理を行う。つまり、画像生成モジュール１７０Ａでは障害が発生する並列処理を行わせずに、順に処理を行わせるようにしている。この他に、障害テーブル３００のシーケンス欄３４０に「３つの画像生成処理が並列」と設定されていた場合、新たなジョブで３つの画像生成処理が並列して実行されてしまうことになる場合は、現在実行されている画像生成処理の１つが終了するまで待機して、その後、対象としているジョブの処理を行う。また、並列した画像生成処理の例を挙げて説明したが、もちろんのことながら、Ｘ処理モジュール１７０Ｘ等におけるシーケンス、異なる処理の組み合わせを条件としてもよい。
Ｓｔｅｐ７０４では、該当ジョブ処理中は、受付モジュール７４０から新規ジョブを受け付けてもシーケンスが不正にならないようにする。具体的には、受け付けたジョブの処理を開始しない、そして、ある状態（障害が解消した状態）まで進んだら開始する等の処理を行う。
【００３４】
図８は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ８００では、該当する画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ等が、ジョブ処理を開始する。
ステップＳ８０２では、ジョブを開始できないシーケンス条件があるか障害テーブル３００を検索する。
ステップＳ８０４では、該当レコードがあるか否かを判断し、該当レコードがある場合はステップＳ８０６へ進み、それ以外の場合は該当ジョブの処理を継続する（ステップＳ８９９）。
ステップＳ８０６では、該当ジョブの処理開始を一時停止する。
ステップＳ８０８では、他のジョブの状態を監視する。
ステップＳ８１０では、シーケンス条件が解消されたか否かを判断し、解消された場合は該当ジョブの処理を継続し（ステップＳ８９９）、それ以外の場合はステップＳ８０８へ戻る。
【００３５】
＜＜第３の実施の形態＞＞
図９は、第３の実施の形態の構成例についての概念的なモジュール構成図である。
画像処理装置９００は、エラー状態管理モジュール１１０、ジョブ管理モジュール９２０、表示モジュール９３０、パッチ適用モジュール９４０、判定条件テーブル記憶モジュール１４０、処理中ジョブテーブル記憶モジュール１５０、ジョブ属性管理テーブル記憶モジュール１６０、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚを有している。
ユーザーによっては、障害が修復されたバージョンがリリースされても、運用実績を重視してアップデートに慎重になり、古いバージョンを使い続けるケースがある。
古いバージョンを使い続けるユーザーに対して、画像処理装置９００は、アップデート後の出力を確認する機能を提供するものである。
【００３６】
画像生成モジュール１７０Ａは、エラー状態管理モジュール１１０、判定条件テーブル記憶モジュール１４０と接続されている。Ｘ処理モジュール１７０Ｘは、エラー状態管理モジュール１１０と接続されている。Ｙ処理モジュール１７０Ｙは、エラー状態管理モジュール１１０と接続されている。Ｚ処理モジュール１７０Ｚは、エラー状態管理モジュール１１０と接続されている。
エラー状態管理モジュール１１０は、ジョブ管理モジュール９２０、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚと接続されている。
【００３７】
ジョブ管理モジュール９２０は、エラー状態管理モジュール１１０、表示モジュール９３０、パッチ適用モジュール９４０、判定条件テーブル記憶モジュール１４０、処理中ジョブテーブル記憶モジュール１５０、ジョブ属性管理テーブル記憶モジュール１６０と接続されている。ジョブ管理モジュール９２０は、第１の実施の形態のジョブ管理モジュール１２０による機能に加えて、さらに、エラー状態管理モジュール１１０が検知した障害の発生条件に対応するその障害を解消した版の画像処理プログラムを一時的に適用するように、パッチ適用モジュール９４０を制御する。ここで「一時的に」とは、「適用した後に、適用前の状態に戻すことが可能なように」の意味である。
表示モジュール９３０は、ジョブ管理モジュール９２０、パッチ適用モジュール９４０と接続されている。表示モジュール９３０は、第１の実施の形態の表示モジュール１３０による機能に加えて、さらに、修正バージョン（障害を解消した版の画像処理プログラム）を一時的に適用するか否かの指示を提示し（例えば、指示ボタンを表示装置に表示等）、適用するとの指示を受け付けた場合は、パッチ適用モジュール９４０に一時的に適用するよう指示する。そして、一時的に適用した後、本適用する否かの指示を提示し、適用するとの指示を受け付けた場合は、パッチ適用モジュール９４０に本適用するよう指示する。本適用しないとの指示を受け付けた場合は、パッチ適用モジュール９４０に以前の状態に戻すように指示する。
パッチ適用モジュール９４０は、ジョブ管理モジュール９２０、表示モジュール９３０と接続されている。パッチ適用モジュール９４０は、表示モジュール９３０から一時的に適用するとの指示を受け付けた場合は、ジョブ管理モジュール９２０からの指示にしたがって修正バージョンを適用する。そして、表示モジュール９３０から本適用するとの指示を受け付けた場合は、その修正バージョンを本適用する。また、表示モジュール９３０から以前の状態に戻すとの指示を受け付けた場合は、その修正バージョンを削除し、以前の状態に戻す。
判定条件テーブル記憶モジュール１４０は、ジョブ管理モジュール９２０、画像生成モジュール１７０Ａと接続されている。処理中ジョブテーブル記憶モジュール１５０は、ジョブ管理モジュール９２０と接続されている。ジョブ属性管理テーブル記憶モジュール１６０は、ジョブ管理モジュール９２０と接続されている。
【００３８】
画像処理装置９００の処理の概要を示す。
Ｓｔｅｐ９０２では、エラーが発生した場合、各処理モジュール（画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚ）はエラー発生をエラー状態管理モジュール１１０に通知する。なお、画像生成モジュール１７０Ａは、ジョブデータを解析した結果、障害テーブル３００内の条件を満たす場合は、「判定条件成立」としてジョブ管理モジュール９２０にエラー通知する。
Ｓｔｅｐ９０４では、エラーが発生した場合、エラー状態管理モジュール１１０はジョブ管理モジュール９２０に通知する。ジョブ管理モジュール９２０は、障害テーブル３００に基づき、発生条件を満たすか否かを判定し、満たす場合はエラーの補足情報として、障害コード、修正バージョン情報を設定する。エラーになれば、正常に印刷完了できないので、ジョブ処理後であっても、そのジョブはジョブ属性管理テーブル４００から削除しない。出力異常に該当する場合（つまり、「エラーではない障害」の場合）、対象となったイメージをエクスポートする。
Ｓｔｅｐ９０６では、表示モジュール９３０で障害に関する情報を表示する。障害に関する情報として、回避策、修正バージョンを提示する。回避策の適用指示、修正バージョンの適用画面を表示する。
【００３９】
Ｓｔｅｐ９０８では、回避策の適用指示があった場合、表示モジュール９３０からパッチ適用モジュール９４０へ、修正パッチの一時適用を通知する。
Ｓｔｅｐ９１０では、パッチ適用モジュール９４０からジョブ管理モジュール９２０へ、修正パッチの一時適用前処理（適用前のプリント、画像の収集、一時適用以前の状態の記憶等）を通知する。
Ｓｔｅｐ９１２では、ジョブ管理モジュール９２０で修正パッチの一時適用前処理完了後、修正パッチの適用を実施する。修正パッチの一時適用後、該当ジョブを再処理する。ユーザーは、修正パッチ適用後の結果と修正パッチ適用前の結果（修正パッチの一時適用前の処理結果）とを比較して、本適用（アップデート）するか否かを決定する。また、Ｓｔｅｐ９０４でエクスポートした画像と一時適用後の画像とを比較（例えば、ＥＯＲ処理等）した結果を出力するようにしてもよい。
【００４０】
図１０は、第３の実施の形態による処理例を示すフローチャートである。
ステップＳ１０００では、該当する画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ等が、ジョブ処理を開始する。
ステップＳ１００２では、エラー等が発生したか否かを判断し、発生した場合はステップＳ１００４へ進み、それ以外の場合は正常終了する（ステップＳ１０９７）。
ステップＳ１００４では、発生したエラー等に該当するレコードがあるか障害テーブル３００を検索する。
【００４１】
ステップＳ１００６では、該当レコードがあるか否かを判断し、該当レコードがある場合はステップＳ１００８へ進み、それ以外の場合は処理を終了する（ステップＳ１０９８）。
ステップＳ１００８では、ジョブの障害情報として、障害テーブル３００の情報（障害コード又は具体的な回避策・修正バージョン）を設定する。
ステップＳ１０１０では、回避策・修正バージョンを表示する。
ステップＳ１０１２では、操作者の操作に応じて、回避策・修正バージョンを一時適用するか否かを判断し、一時適用する場合はステップＳ１０１４へ進み、それ以外の場合は処理を終了する（ステップＳ１０９８）。
【００４２】
ステップＳ１０１４では、修正パッチ一時適用の前処理を実施する。前処理として、例えば、適用前のプリント、画像の収集、一時適用以前の状態の記憶等がある。
ステップＳ１０１６では、修正パッチを一時適用する。
ステップＳ１０１８では、該当ジョブを再処理する。
ステップＳ１０２０では、処理結果を比較する。
ステップＳ１０２２では、操作者の操作に応じて、一時適用した修正パッチを本適用するか否かを判断し、本適用する場合はステップＳ１０２４へ進み、それ以外の場合は処理を終了する（ステップＳ１０９９）。なお、それ以外の場合は修正パッチ一時適用以前の状態に戻す処理を行う。
ステップＳ１０２４では、修正パッチを本適用する。
【００４３】
図１１を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図１１に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部１１１７と、プリンタ等のデータ出力部１１１８を備えたハードウェア構成例を示している。
【００４４】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０１は、前述の実施の形態において説明した各種のモジュール、すなわち、エラー状態管理モジュール１１０、ジョブ管理モジュール１２０、表示モジュール１３０、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚ、ジョブ処理モジュール７１０、ＰＤＬ解析モジュール７２０、ジョブ管理モジュール７３０、受付モジュール７４０、ジョブ管理モジュール９２０、表示モジュール９３０、パッチ適用モジュール９４０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００４５】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１０２は、ＣＰＵ１１０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１０３は、ＣＰＵ１１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス１１０４により相互に接続されている。
【００４６】
ホストバス１１０４は、ブリッジ１１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス１１０６に接続されている。
【００４７】
キーボード１１０８、マウス等のポインティングデバイス１１０９は、操作者により操作されるデバイスである。ディスプレイ１１１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。
【００４８】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１１１１は、ハードディスク（フラッシュ・メモリ等であってもよい）を内蔵し、ハードディスクを駆動し、ＣＰＵ１１０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、判定条件テーブル記憶モジュール１４０、処理中ジョブテーブル記憶モジュール１５０、ジョブ属性管理テーブル記憶モジュール１６０等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【００４９】
ドライブ１１１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１１１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１１０７、外部バス１１０６、ブリッジ１１０５、及びホストバス１１０４を介して接続されているＲＡＭ１１０３に供給する。リムーバブル記録媒体１１１３も、データ記録領域として利用可能である。
【００５０】
接続ポート１１１４は、外部接続機器１１１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１１１４は、インタフェース１１０７、及び外部バス１１０６、ブリッジ１１０５、ホストバス１１０４等を介してＣＰＵ１１０１等に接続されている。通信部１１１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部１１１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１１１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５１】
なお、図１１に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１１に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部または全部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部または全部のモジュールは外部のシステム内にあり通信回線で接続する形態でもよく、さらに図１１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機などに組み込まれていてもよい。
【００５２】
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む）、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
また、画像生成モジュール１７０Ａ、Ｘ処理モジュール１７０Ｘ、Ｙ処理モジュール１７０Ｙ、Ｚ処理モジュール１７０Ｚのいずれか（全部であってもよい）と、エラー状態管理モジュール１１０、ジョブ管理モジュール１２０は、ハードウェアとして同一の構成であってもよい。例えば、１つのＣＰＵ上で別のプログラム（例えば、画像生成モジュール１７０Ａのプログラムとエラー状態管理モジュール１１０のプログラム）を動作させることで異なる処理をしてもよい。
【００５３】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分または全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５４】
１００…画像処理装置
１１０…エラー状態管理モジュール
１２０…ジョブ管理モジュール
１３０…表示モジュール
１４０…判定条件テーブル記憶モジュール
１５０…処理中ジョブテーブル記憶モジュール
１６０…ジョブ属性管理テーブル記憶モジュール
１７０Ａ…画像生成モジュール
１７０Ｘ…Ｘ処理モジュール
１７０Ｙ…Ｙ処理モジュール
１７０Ｚ…Ｚ処理モジュール
２１０…ユーザー用端末
２２０…会社
２５０…画像処理装置管理装置
２９０…通信回線
【図１】
0006641831.tif 000002
【図２】
0006641831.tif 000003
【図３】
0006641831.tif 000004
【図４】
0006641831.tif 000005
【図５】
0006641831.tif 000006
【図６】
0006641831.tif 000007
【図７】
0006641831.tif 000008
【図８】
0006641831.tif 000009
【図９】
0006641831.tif 000010
【図１０】
0006641831.tif 000011
【図１１】
0006641831.tif 000012