(57)【要約】【課題】画像処理装置が保持するプログラムの更新において要する記憶領域の削減と処理時間の短縮を図る。【解決手段】画像処理装置１０は、プログラムの更新を行う更新実行部２１と、プログラムの更新の成否を判定する成否判定部２２と、ネットワークを介して接続された他装置の機種および他装置が保持するプログラムのバージョンの情報を受信する情報送受信部２３と、他装置との間で機種やプログラムのバージョンを比較する比較部２４と、他装置が保持するプログラムを受信し、自装置が保持するプログラムを他装置へ送信するプログラム送受信部２５と、プログラムの更新に関する情報を記憶する記憶部２６とを備える。そして、プログラムの更新が失敗したと判定された場合、画像処理装置１０は他装置からプログラムを取得して復旧の処理を行う。【選択図】図３
2015026108.tif 000002
【特許請求の範囲】
【請求項１】
自装置が保持するプログラムを更新する更新手段と、
前記更新手段による更新の成否を判定する成否判定手段と、
自装置が保持するプログラムの版に関する情報である第１情報を取得する第１情報取得手段と、
通信回線を介して自装置に接続された他の画像処理装置が保持するプログラムの版に関する情報である第２情報を取得する第２情報取得手段と、
前記成否判定手段により更新が失敗したと判定された場合、前記第１情報取得手段により取得された前記第１情報と前記第２情報取得手段により取得された前記第２情報とに基づいて、前記更新手段により更新される前の自装置が保持するプログラムの版と前記他の画像処理装置が保持するプログラムの版とが同一か否かを判定する版判定手段と、
前記版判定手段により同一であると判定された場合、前記他の画像処理装置が保持するプログラムを取得するプログラム取得手段と
を備える画像処理装置。
【請求項２】
前記プログラム取得手段により取得された前記他の画像処理装置が保持するプログラムを用いて、自装置が保持するプログラムを前記更新手段により更新される前の状態に復旧させる復旧手段をさらに備えたことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
自装置における処理内容の履歴を取得する履歴取得手段をさらに備え、
前記成否判定手段は、前記更新手段により更新された後に前記履歴取得手段により取得された前記履歴に記載されたエラーが、当該更新手段により更新される前に当該履歴取得手段により取得された当該履歴に記載されているかに基づいて、更新の成否を判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記成否判定手段は、前記更新手段による更新において発生したエラーが予め定められたエラーであるか否かを判定して、更新の成否を判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
自装置が保持するプログラムを自装置とは異なる別の画像処理装置に送信する送信手段をさらに備え、
前記版判定手段は、前記成否判定手段により更新が成功したと判定された場合、前記第１情報取得手段により取得された前記第１情報と前記第２情報取得手段により取得された前記第２情報とに基づいて、前記更新手段により更新された後の自装置が保持するプログラムの版の方が前記別の画像処理装置が保持するプログラムの版より新しいか否かを判定し、
前記送信手段は、前記版判定手段により、更新された後の自装置が保持するプログラムの版の方が新しいと判定された場合、更新された後の自装置が保持するプログラムを前記別の画像処理装置に送信することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
画像データを処理して記録媒体に画像を形成する第１の画像処理装置と、
前記第１の画像処理装置と通信回線を介して接続される第２の画像処理装置とを備え、
前記第１の画像処理装置が、
自装置が保持するプログラムを更新する更新手段と、
前記更新手段による更新の成否を判定する成否判定手段と、
自装置が保持するプログラムの版に関する情報である第１情報を取得する第１情報取得手段と、
前記第２の画像処理装置が保持するプログラムの版に関する情報である第２情報を取得する第２情報取得手段と、
前記成否判定手段により更新が失敗したと判定された場合、前記第１情報取得手段により取得された前記第１情報と前記第２情報取得手段により取得された前記第２情報とに基づいて、前記更新手段により更新される前の自装置が保持するプログラムの版と前記第２の画像処理装置が保持するプログラムの版とが同一か否かを判定する版判定手段と、
前記版判定手段により同一であると判定された場合、前記第２の画像処理装置が保持するプログラムを取得するプログラム取得手段とを備え、
前記第２の画像処理装置が、
前記第２情報を前記第１の画像処理装置に送信する第１送信手段と、
自装置が保持するプログラムを前記第１の画像処理装置に送信する第２送信手段とを備える画像処理システム。
【請求項７】
コンピュータに、
画像処理装置が保持するプログラムを更新する機能と、
前記画像処理装置が保持するプログラムの更新の成否を判定する機能と、
前記画像処理装置が保持するプログラムの版に関する情報である第１情報を取得する機能と、
通信回線を介して前記画像処理装置に接続された他の画像処理装置が保持するプログラムの版に関する情報である第２情報を取得する機能と、
前記画像処理装置が保持するプログラムの更新が失敗したと判定された場合、取得された前記第１情報と取得された前記第２情報とに基づいて、更新される前の前記画像処理装置が保持するプログラムの版と前記他の画像処理装置が保持するプログラムの版とが同一か否かを判定する機能と、
更新される前の前記画像処理装置が保持するプログラムの版と前記他の画像処理装置が保持するプログラムの版とが同一であると判定された場合、当該他の画像処理装置が保持するプログラムを取得する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理システムおよびプログラムに関する。
【背景技術】
【０００２】
公報記載の従来技術として、自装置の制御に用いられるプログラムを退避する退避領域を設け、プログラムを退避領域に退避してからプログラムの更新を行い、更新後に特定のエラーが生じた場合に退避領域に退避したプログラムを復旧させて、自動的に復旧を行う画像形成装置が存在する。（特許文献１参照）
【０００３】
また、他の公報記載の従来技術として、ファームウェアのアップデート中に不具合（エラー）が発生する前に、自動的にアップデート前のファームウェアのバージョンに戻す方法又はバージョンの最適化を行う方法を予め選択し、エラーの発生を検出した場合、予め設定した対処処理に基づいて、自動的にファームウェアのアップデートを行う画像形成装置が存在する。（特許文献２参照）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２３４３３０号公報
【特許文献２】特開２０１１−１２８７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、画像処理装置が保持するプログラムの更新において要する記憶領域の削減と処理時間の短縮を図ることを目的とする。
【課題を解決するための手段】
【０００６】
請求項１記載の発明は、自装置が保持するプログラムを更新する更新手段と、前記更新手段による更新の成否を判定する成否判定手段と、自装置が保持するプログラムの版に関する情報である第１情報を取得する第１情報取得手段と、通信回線を介して自装置に接続された他の画像処理装置が保持するプログラムの版に関する情報である第２情報を取得する第２情報取得手段と、前記成否判定手段により更新が失敗したと判定された場合、前記第１情報取得手段により取得された前記第１情報と前記第２情報取得手段により取得された前記第２情報とに基づいて、前記更新手段により更新される前の自装置が保持するプログラムの版と前記他の画像処理装置が保持するプログラムの版とが同一か否かを判定する版判定手段と、前記版判定手段により同一であると判定された場合、前記他の画像処理装置が保持するプログラムを取得するプログラム取得手段とを備える画像処理装置である。
請求項２記載の発明は、前記プログラム取得手段により取得された前記他の画像処理装置が保持するプログラムを用いて、自装置が保持するプログラムを前記更新手段により更新される前の状態に復旧させる復旧手段をさらに備えたことを特徴とする請求項１に記載の画像処理装置である。
請求項３記載の発明は、自装置における処理内容の履歴を取得する履歴取得手段をさらに備え、前記成否判定手段は、前記更新手段により更新された後に前記履歴取得手段により取得された前記履歴に記載されたエラーが、当該更新手段により更新される前に当該履歴取得手段により取得された当該履歴に記載されているかに基づいて、更新の成否を判定することを特徴とする請求項１または２に記載の画像処理装置である。
請求項４記載の発明は、前記成否判定手段は、前記更新手段による更新において発生したエラーが予め定められたエラーであるか否かを判定して、更新の成否を判定することを特徴とする請求項１または２に記載の画像処理装置である。
請求項５記載の発明は、自装置が保持するプログラムを自装置とは異なる別の画像処理装置に送信する送信手段をさらに備え、前記版判定手段は、前記成否判定手段により更新が成功したと判定された場合、前記第１情報取得手段により取得された前記第１情報と前記第２情報取得手段により取得された前記第２情報とに基づいて、前記更新手段により更新された後の自装置が保持するプログラムの版の方が前記別の画像処理装置が保持するプログラムの版より新しいか否かを判定し、前記送信手段は、前記版判定手段により、更新された後の自装置が保持するプログラムの版の方が新しいと判定された場合、更新された後の自装置が保持するプログラムを前記別の画像処理装置に送信することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置である。
請求項６記載の発明は、画像データを処理して記録媒体に画像を形成する第１の画像処理装置と、前記第１の画像処理装置と通信回線を介して接続される第２の画像処理装置とを備え、前記第１の画像処理装置が、自装置が保持するプログラムを更新する更新手段と、前記更新手段による更新の成否を判定する成否判定手段と、自装置が保持するプログラムの版に関する情報である第１情報を取得する第１情報取得手段と、前記第２の画像処理装置が保持するプログラムの版に関する情報である第２情報を取得する第２情報取得手段と、前記成否判定手段により更新が失敗したと判定された場合、前記第１情報取得手段により取得された前記第１情報と前記第２情報取得手段により取得された前記第２情報とに基づいて、前記更新手段により更新される前の自装置が保持するプログラムの版と前記第２の画像処理装置が保持するプログラムの版とが同一か否かを判定する版判定手段と、前記版判定手段により同一であると判定された場合、前記第２の画像処理装置が保持するプログラムを取得するプログラム取得手段とを備え、前記第２の画像処理装置が、前記第２情報を前記第１の画像処理装置に送信する第１送信手段と、自装置が保持するプログラムを前記第１の画像処理装置に送信する第２送信手段とを備える画像処理システムである。
請求項７記載の発明は、コンピュータに、画像処理装置が保持するプログラムを更新する機能と、前記画像処理装置が保持するプログラムの更新の成否を判定する機能と、前記画像処理装置が保持するプログラムの版に関する情報である第１情報を取得する機能と、通信回線を介して前記画像処理装置に接続された他の画像処理装置が保持するプログラムの版に関する情報である第２情報を取得する機能と、前記画像処理装置が保持するプログラムの更新が失敗したと判定された場合、取得された前記第１情報と取得された前記第２情報とに基づいて、更新される前の前記画像処理装置が保持するプログラムの版と前記他の画像処理装置が保持するプログラムの版とが同一か否かを判定する機能と、更新される前の前記画像処理装置が保持するプログラムの版と前記他の画像処理装置が保持するプログラムの版とが同一であると判定された場合、当該他の画像処理装置が保持するプログラムを取得する機能とを実現させるためのプログラムである。
【発明の効果】
【０００７】
請求項１記載の発明によれば、本構成を有していない場合と比較して、画像処理装置が保持するプログラムの更新において要する記憶領域の削減と処理時間の短縮を図ることができる。
請求項２記載の発明によれば、本構成を有していない場合と比較して、画像処理装置が保持するプログラムを更新前の状態に戻すことが容易になる。
請求項３記載の発明によれば、本構成を有していない場合と比較して、プログラム更新前から発生しているエラーを更新時のエラーと誤判定することを抑制することができる。
請求項４記載の発明によれば、本構成を有していない場合と比較して、プログラム更新前から発生しているエラーを更新時のエラーと誤判定することを抑制することができる。
請求項５記載の発明によれば、本構成を有していない場合と比較して、プログラムの更新時のエラーを低減することができる。
請求項６記載の発明によれば、本構成を有していない場合と比較して、画像処理装置が保持するプログラムの更新において要する記憶領域の削減と処理時間の短縮を図ることができる。
請求項７記載の発明によれば、本構成を有していない場合と比較して、画像処理装置が保持するプログラムの更新において要する記憶領域の削減と処理時間の短縮を図る機能を、コンピュータにより実現できる。
【図面の簡単な説明】
【０００８】
【図１】本実施の形態に係る画像処理システムの概略構成の一例を示す図である。
【図２】本実施の形態に係る画像処理装置のハードウェア構成例を示す図である。
【図３】本実施の形態に係る画像処理装置の機能構成例を示したブロック図である。
【図４】（ａ）は、更新前の装置ログの一例を説明するための図である。（ｂ）は、更新後の装置ログの一例を説明するための図である。
【図５】本実施の形態に係る画像処理装置が対象プログラムの更新および更新の成否に応じた処理を行う手順の一例を示したフローチャートである。
【図６】本実施の形態に係る画像処理装置における再起動処理の手順の一例を示したフローチャートである。
【図７】本実施の形態に係る画像処理装置における更新失敗処理の手順の一例を示したフローチャートである。
【図８】本実施の形態に係る画像処理装置における更新成功処理の手順の一例を示したフローチャートである。
【図９】本実施の形態に係る更新の成否判定のために予め定められたエラーの一例について説明するための図である。
【図１０】本実施の形態に係る画像処理装置が、更新の成否判定の他の例により、対象プログラムの更新および更新の成否に応じた処理を行う手順の一例を示したフローチャートである。
【図１１】本実施の形態に係る画像処理装置における更新失敗処理の手順の他の例を示したフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
＜システム構成＞
図１は、本実施の形態に係る画像処理システム１の概略構成の一例を示す図である。本実施の形態に係る画像処理システム１は、通信回線の一例としてのネットワーク３０を介して接続された複数の画像処理装置１０（本実施の形態では３台の画像処理装置）を備えている。即ち、本実施の形態に係る画像処理システム１は、ネットワーク３０に接続された、第１の画像処理装置１０Ａ、第２の画像処理装置１０Ｂ、第３の画像処理装置１０Ｃを備える。第１の画像処理装置１０Ａ、第２の画像処理装置１０Ｂ、第３の画像処理装置１０Ｃは、同一の機能および構成を有している。
【００１０】
画像処理装置１０は、例えば、画像の読み取りを行う画像読取機能や、画像データを処理して例えば電子写真方式やインクジェット方式により記録媒体に画像を形成する画像形成機能等の各種機能を有する装置である。そして、画像処理装置１０は、各種機能を実現するためのプログラムを保持しており、各種機能の拡張、変更または改良のために、随時プログラムの更新が行われる（以下、更新の対象である各種機能を実現するためのプログラムを、対象プログラムと称する）。
【００１１】
対象プログラムの更新は、例えば、更新後に適用される対象プログラムが格納された外部装置からインターネット等のネットワークを介してダウンロードすることにより行われる場合もあれば、更新後に適用される対象プログラムが格納されたＵＳＢ（Universal Serial Bus）メモリ等の媒体を画像処理装置１０に装着して媒体から取得することにより行われる場合もある。そして、詳しくは後述するが、画像処理装置１０は、対象プログラムの更新を行った後、その更新の成否に応じた処理を行う。
ネットワーク３０は、第１の画像処理装置１０Ａ、第２の画像処理装置１０Ｂ、第３の画像処理装置１０Ｃの間の情報通信に用いられる通信手段であり、例えば、ＬＡＮ（Local Area Network）である。
【００１２】
＜画像処理装置のハードウェア構成＞
次に、画像処理装置１０のハードウェア構成について説明する。図２は、本実施の形態に係る画像処理装置１０のハードウェア構成例を示す図である。
画像処理装置１０は、演算手段であるＣＰＵ（Central Processing Unit）１１と、記憶手段であるＲＯＭ（Read Only Memory）１２、揮発性ＲＡＭ（Random Access Memory）１３、不揮発性ＲＡＭ（Random Access Memory）１４、磁気ディスク装置（ＨＤＤ:Hard Disk Drive）１５とを備える。
【００１３】
ＣＰＵ１１は対象プログラムを実行し、画像処理装置１０の各種機能を実現する。対象プログラムはＲＯＭ１２に格納されており、ＣＰＵ１１はＲＯＭ１２から対象プログラムを読み出して、作業用メモリ等として用いられる揮発性ＲＡＭ１３にロードして実行することにより、画像形成機能等の各種機能が実現される。揮発性ＲＡＭ１３は、電源が供給されなければ記憶している情報を保持できない揮発性メモリにより構成される。
【００１４】
また、不揮発性ＲＡＭ１４には、例えば、画像処理装置１０における画像形成機能等の各種機能を実現する各機能部やその機能部を構成する部品等の設定に関する情報（以下、設定情報と称することがある）が格納される。不揮発性ＲＡＭ１４は、電源が供給されなくても記憶している情報を保持することが可能な不揮発性メモリにより構成される。また、磁気ディスク装置１５には、例えば、外部から受信するプリント画像データやファクシミリ画像データ等の各種データが格納される。
【００１５】
さらに、画像処理装置１０は、画像読取部１６と画像形成部１７と通信Ｉ／Ｆ１８とを備える。
画像読取部１６は、紙等の記録媒体に記録された画像を読み取る。ここで、画像読取部１６は、例えばスキャナであり、光源から原稿に照射した光に対する反射光をレンズで縮小してＣＣＤ(Charge Coupled Devices)で受光するＣＣＤ方式や、ＬＥＤ光源から原稿に順に照射した光に対する反射光をＣＩＳ(Contact Image Sensor)で受光するＣＩＳ方式のものを用いるとよい。
【００１６】
画像形成部１７は、記録媒体に画像を形成する。ここで、画像形成部１７は、例えばプリンタであり、感光体に付着させたトナーを記録媒体に転写して画像を形成する電子写真方式や、インクを記録媒体上に吐出して画像を形成するインクジェット方式のものを用いるとよい。
通信Ｉ／Ｆ１８は、外部との通信を行うためのインタフェースである。
【００１７】
＜画像処理装置の機能構成＞
次に、画像処理装置１０の機能構成について説明する。図３は、本実施の形態に係る画像処理装置１０の機能構成例を示したブロック図である。
【００１８】
画像処理装置１０は、対象プログラムの更新を行う更新実行部２１と、対象プログラムの更新の成否を判定する成否判定部２２と、他装置（本実施の形態に係る画像処理システム１においては、自装置が第１の画像処理装置１０Ａであれば、他装置は第２の画像処理装置１０Ｂ、または第３の画像処理装置１０Ｃとなる）の機種および他装置が保持する対象プログラムのバージョンの情報を受信する情報送受信部２３とを備える。本実施の形態では、プログラムの版の一例として、対象プログラムのバージョンを定めている。
【００１９】
また、画像処理装置１０は、他装置との間で機種や対象プログラムのバージョンを比較する比較部２４と、他装置が保持する対象プログラムを受信し、自装置が保持する対象プログラムを他装置へ送信するプログラム送受信部２５と、対象プログラムの更新に関する情報を記憶する記憶部２６とを備える。
【００２０】
そして、更新実行部２１、成否判定部２２、情報送受信部２３、比較部２４、プログラム送受信部２５は、例えば、図２に示したハードウェア構成におけるＣＰＵ１１により実現される。より具体的には、本実施の形態に係る画像処理装置１０の機能を実現するプログラムが、例えば、ＲＯＭ１２に格納され、このプログラムをＣＰＵ１１が揮発性ＲＡＭ１３にロードして実行することにより、上記の更新実行部２１、成否判定部２２、情報送受信部２３、比較部２４、プログラム送受信部２５の各機能が実現される。
【００２１】
また、記憶部２６は、例えば、図２に示したＲＯＭ１２、揮発性ＲＡＭ１３、不揮発性ＲＡＭ１４、ＨＤＤ１５により実現される。また、情報送受信部２３は、例えば、図２に示した通信Ｉ／Ｆ１８を介して他装置から情報を受信し、プログラム送受信部２５は、例えば、通信Ｉ／Ｆ１８を介して他装置から対象プログラムを受信するとともに自装置の対象プログラムを他装置へ送信する。
【００２２】
更新手段の一例としての更新実行部２１は、外部から対象プログラムの更新処理命令を受け付けると、自装置が保持する対象プログラムの更新を行う。ここで、更新後に適用される対象プログラム（以下、更新後プログラムと称することがある）は、例えば、外部装置等に記憶されている。そして、更新実行部２１は、外部装置等から更新後プログラムを取得して、更新前の対象プログラム（以下、更新前プログラムと称することがある）を更新後プログラムに置き換えることで、対象プログラムの更新を行う。
【００２３】
また、更新実行部２１は、対象プログラムの更新に伴い、設定情報も更新する。更新後に適用される設定情報（以下、更新後情報と称することがある）は、更新後プログラムと同様に、例えば外部装置等に記憶されている。そして、更新実行部２１は、外部装置等から更新後情報を取得して、更新前の設定情報を更新後情報に置き換えることで、設定情報の更新を行う。なお、更新後プログラムおよび更新後情報に置き換えられた後、自装置の再起動が行われる。
【００２４】
また、更新実行部２１は、対象プログラムの更新において、更新の成否が確定していない状態であることを示すフラグ（以下、更新フラグと称することがある）を設定する。そして、更新実行部２１は、成否判定部２２から更新が成功したことの通知を受けると、更新フラグを削除する。
【００２５】
また、更新実行部２１は、成否判定部２２から、エラーが発生した更新処理の回数（以下、エラー更新回数と称することがある）が予め定められた閾値に到達していない旨の通知を受けると、対象プログラムの更新を行う。
さらに、復旧手段の一例としての更新実行部２１は、プログラム送受信部２５から、他装置が保持する対象プログラムおよび設定情報を受信すると、受信した他装置の対象プログラムおよび設定情報を用いて、自装置が保持する対象プログラムおよび設定情報を更新される前の状態に復旧させる。
【００２６】
成否判定手段、履歴取得手段の一例としての成否判定部２２は、更新実行部２１による対象プログラムの更新の成否を判定する。ここで、成否判定部２２は、自装置が再起動された際、更新フラグが設定されていれば、対象プログラムの更新が行われたがその成否が確定していない状態であると判断し、更新の成否を判定する。
【００２７】
成否の判定において、成否判定部２２は、記憶部２６に記憶された更新前の装置ログと更新後の装置ログとを比較して、更新後の装置ログに記載されたエラーが更新前の装置ログに記載されているかに基づいて判定を行う。具体的には、成否判定部２２は、更新後の装置ログに更新前の装置ログには存在しない特定のエラーが記載されているか否かを判断する。ここで、装置ログとは、装置が実行する処理内容が記載された履歴情報である。本実施の形態では、処理内容の履歴の一例として、装置ログを定めている。装置ログの詳細については、図４（ａ）、（ｂ）で説明する。
【００２８】
また、特定のエラーとは、対象プログラムの更新が正常に行われなかった際に発生するエラーであり、例えば、ＣＰＵ１１とＲＯＭ１２との間の通信障害等、図２に示す各機能ブロック間における通信障害のエラーや、画像形成部１７が正常に起動しないことによるエラー等をいう。また、例えば、用紙切れエラーや用紙詰まりエラーのように、画像処理装置１０が正常な状態で使用されているときに生じるエラーは、特定のエラーには該当しない。特定のエラーは、画像処理装置１０の初期設定として予め記憶部２６に記憶されていても良いし、ユーザによる操作により記憶部２６に記憶されることとしても良い。
【００２９】
更新後の装置ログに更新前の装置ログには存在しない特定のエラーが記載されていなければ、成否判定部２２は、プログラムの更新が成功したと判定する。そして、成否判定部２２は、更新が成功したことを更新実行部２１、情報送受信部２３および比較部２４に通知する。
【００３０】
一方、更新後の装置ログに更新前の装置ログには存在しない特定のエラーが記載されていれば、成否判定部２２は、エラー更新回数を１加算し、加算後のエラー更新回数が予め定められた閾値に到達したか否かを判定する。エラー更新回数が予め定められた閾値に到達していれば、成否判定部２２は、プログラムの更新が失敗したと判定する。そして、成否判定部２２は、更新が失敗したことを情報送受信部２３および比較部２４に通知する。エラー更新回数が予め定められた閾値に到達していなければ、成否判定部２２は、閾値に到達していない旨を更新実行部２１に通知する。
【００３１】
第２情報取得手段の一例としての情報送受信部２３は、成否判定部２２から対象プログラムの更新の成否に関する通知を受けると、ネットワーク３０を介して自装置に接続された他装置から、機種、および第２情報の一例としての他装置が保持する対象プログラムのバージョン情報を受信する。ここで、情報送受信部２３は、ネットワーク３０を介して接続された全ての他装置に対して、機種および対象プログラムのバージョン情報を要求する。そして、情報送受信部２３は、他装置から送信された機種および対象プログラムのバージョン情報を受信し、受信した機種およびバージョン情報を比較部２４に送信する。
【００３２】
第１情報取得手段、版判定手段の一例としての比較部２４は、成否判定部２２から更新が失敗したことの通知を受けると、記憶部２６から自装置の機種、および第１情報の一例としての更新前プログラムのバージョン情報を取得する。また、比較部２４は、情報送受信部２３による送信処理に基づき、他装置の機種および他装置が保持する対象プログラムのバージョン情報を取得する。そして、比較部２４は、ネットワーク３０を介して接続された他装置を対象として、自装置の機種と他装置の機種とが同一であり、さらに、自装置の更新前プログラムのバージョンと他装置が保持する対象プログラムのバージョンとが同一であるか否かを判定する。自装置の機種と他装置の機種とが同一であり、更新前プログラムのバージョンと他装置が保持するプログラムのバージョンとが同一である場合（以下、このような他装置を第１対象装置と称することがある）、比較部２４は第１対象装置の情報をプログラム送受信部２５に送信する。
【００３３】
また、比較部２４は、成否判定部２２から更新が成功したことの通知を受けると、記憶部２６から自装置の機種、および第１情報の一例としての更新後プログラムのバージョン情報を取得する。また、比較部２４は、情報送受信部２３による送信処理に基づき、他装置の機種および他装置が保持する対象プログラムのバージョン情報を取得する。そして、比較部２４は、ネットワーク３０を介して接続された他装置を対象として、自装置の機種と他装置の機種とが同一であり、さらに、自装置の更新後プログラムのバージョンの方が、他装置が保持する対象プログラムのバージョンより新しいか否かを判定する。自装置の機種と他装置の機種とが同一であり、更新後プログラムのバージョンの方が、他装置が保持する対象プログラムのバージョンより新しい場合（以下、このような他装置を第２対象装置と称することがある）、比較部２４は第２対象装置の情報をプログラム送受信部２５に送信する。
【００３４】
プログラム取得手段の一例としてのプログラム送受信部２５は、成否判定部２２から更新が失敗したことの通知を受け、さらに比較部２４から第１対象装置の情報を受信すると、第１対象装置に対して更新前プログラムと同一バージョンの対象プログラム、および第１対象装置の設定情報を要求する。そして、プログラム送受信部２５は、第１対象装置から第１対象装置が保持する対象プログラムおよび設定情報を受信すると、受信した対象プログラムおよび設定情報を更新実行部２１に送信する。
【００３５】
また、送信手段の一例としてのプログラム送受信部２５は、成否判定部２２から更新が成功したことの通知を受け、さらに比較部２４から第２対象装置の情報を受信すると、第２対象装置に更新後プログラムを送信することを通知する。そして、プログラム送受信部２５は、第２対象装置から応答を受けると、記憶部２６から更新後プログラムおよび自装置の設定情報を取得して第２対象装置に送信する。
【００３６】
記憶部２６は、対象プログラム、自装置の機種および対象プログラムのバージョン情報等の対象プログラムの更新に関する情報を記憶する。対象プログラムとしては、対象プログラムの更新前には更新前プログラムが記憶されており、更新後には更新後プログラムが記憶される。また、バージョン情報としては、更新前プログラムおよび更新後プログラムのバージョン情報が記憶される。さらに、記憶部２６は、成否判定部２２による成否の判定に用いられる特定のエラーの一覧、更新前および更新後の装置ログを記憶する。
【００３７】
以上のように、画像処理装置１０は、対象プログラムの更新の成否を判定し、その成否に応じた処理を行う。そして、例えば、自装置が第１の画像処理装置１０Ａ、他装置が第２の画像処理装置１０Ｂ、第３の画像処理装置１０Ｃで、３台の画像処理装置の機種、対象プログラムのバージョンが同一である場合を例とすると、自装置である第１の画像処理装置１０Ａの対象プログラムの更新が失敗したと判定された場合、第１の画像処理装置１０Ａは第２の画像処理装置１０Ｂから復旧用の対象プログラムを取得して、更新前の対象プログラムに復旧させる。かかる場合、第２の画像処理装置１０Ｂは他の画像処理装置の一例として機能する。また、第２の画像処理装置１０Ｂの情報送受信部２３が第１送信手段の一例として機能し、第２の画像処理装置１０Ｂのプログラム送受信部２５が第２送信手段の一例として機能する。
また、自装置である第１の画像処理装置１０Ａの対象プログラムの更新が成功したと判定された場合、第１の画像処理装置１０Ａは第３の画像処理装置１０Ｃに更新後プログラムを送信する。かかる場合、第３の画像処理装置１０Ｃは別の画像処理装置の一例として機能する。
【００３８】
＜更新前および更新後の装置ログ＞
次に、成否判定部２２による成否の判定に用いられる装置ログについて説明する。図４（ａ）は、更新前の装置ログを説明するための図である。図４（ｂ）は、更新後の装置ログを説明するための図である。
【００３９】
図４（ａ）に示す装置ログには、対象プログラムの更新前の時点で画像処理装置１０が過去に実行した処理として、「00123 PowerUP」「00234 Print」「00535 ModeChange」等の処理が記載されている。例えば、「00123 PowerUP」において、「00123」は処理内容ごとに付与される番号を表しており、「PowerUP」は電源が供給されて装置の起動が開始された処理を表している。
【００４０】
図４（ｂ）に示す装置ログには、対象プログラムの更新後の時点で画像処理装置１０が過去に実行した処理として、図４（ａ）に示す装置ログに記載されたものに加えて、エラーを表す「00225 SystemLogicError」が記載されている。即ち、このエラーは対象プログラムの更新において発生したものといえる。また、成否判定部２２は、記憶部２６に記憶された特定のエラー一覧に基づき、発生したエラーが特定のエラーに該当するか否かを判断するが、「00225 SystemLogicError」は特定のエラーに該当する。そのため、この場合、成否判定部２２は、エラー更新回数を１加算し、加算後のエラー更新回数が予め定められた閾値に到達したか否かを判定することとなる。
【００４１】
＜更新および更新の成否に応じた処理手順＞
次に、画像処理装置１０が対象プログラムの更新を行い、更新の成否に応じた処理を行う手順について説明する。図５は、本実施の形態に係る画像処理装置１０が対象プログラムの更新および更新の成否に応じた処理を行う手順の一例を示したフローチャートである。
【００４２】
まず、更新実行部２１は、外部から対象プログラムの更新処理命令を受け付けたか否かを判断する（ステップ１０１）。更新実行部２１が更新処理命令を受け付けたと判断しない場合（ステップ１０１でＮｏ）、本処理フローは終了する。一方、更新実行部２１が更新処理命令を受け付けたと判断した場合（ステップ１０１でＹｅｓ）、更新実行部２１は更新前の装置ログを記憶部２６に記憶させる（ステップ１０２）。次に、更新実行部２１は、更新フラグを設定（ＯＮ）する（ステップ１０３）。そして、更新実行部２１は、対象プログラムの更新を行う（ステップ１０４）。ここで、更新実行部２１は、更新前プログラムを更新後プログラムに置き換えるとともに、更新前の設定情報を更新後情報に置き換える処理を行う。その後、画像処理装置１０の再起動処理が行われる（ステップ１０５）。
【００４３】
ここで、画像処理装置１０の再起動処理について説明する。図６は、本実施の形態に係る画像処理装置１０における再起動処理の手順の一例を示したフローチャートである。この再起動処理では、まず、画像処理装置１０が動作するために必要となる起動処理が行われる（ステップ２０１）。次に、成否判定部２２は、フラグが設定（ＯＮ）されているか否かを判定する（ステップ２０２）。
【００４４】
成否判定部２２が、フラグが設定（ＯＮ）されていると判定した場合（ステップ２０２でＹｅｓ）、対象プログラムの更新が行われたがその成否が確定していない状態であるため、後述する図５のステップ１０６に移行する。一方、成否判定部２２が、フラグが設定（ＯＮ）されていないと判定した場合（ステップ２０２でＮｏ）、対象プログラムの更新の成否が確定していない状態ではないため、更新の成否判定は行われずに通常通りの再起動となり、処理は終了する。
以上のようにして、画像処理装置１０が再起動された場合、フラグの設定有無に応じて更新の成否判定を行なうか否かが決められる。
【００４５】
次に、図５のステップ１０５で再起動処理が行われた後、更新実行部２１は、更新後の装置ログを記憶部２６に記憶させる（ステップ１０６）。そして、成否判定部２２は、更新後の装置ログに特定のエラーが記載されているか否かを判定する（ステップ１０７）。ここで、成否判定部２２は、記憶部２６に記憶された更新前の装置ログと更新後の装置ログとを比較して、更新後の装置ログに更新前の装置ログには存在しない特定のエラーが記載されているか否かを判断する。成否判定部２２は、更新後の装置ログに更新前の装置ログには存在しない特定のエラーが記載されていると判断した場合（ステップ１０７でＹｅｓ）、エラー更新回数を１加算する（ステップ１０８）。そして、成否判定部２２は、加算後のエラー更新回数が予め定められた閾値に到達したか否かを判定する（ステップ１０９）。
【００４６】
成否判定部２２は、エラー更新回数が予め定められた閾値に到達したと判定すると（ステップ１０９でＹｅｓ）、プログラムの更新が失敗したと判定する。そして、成否判定部２２は、更新が失敗したことを情報送受信部２３および比較部２４に通知し、続けて更新失敗処理が行われ（ステップ１１０）、本処理フローは終了する。更新失敗処理については、図７で説明する。
一方、ステップ１０９で否定の判断（Ｎｏ）がされた場合、即ち、成否判定部２２は、エラー更新回数が予め定められた閾値に到達していないと判定すると、閾値に到達していない旨を更新実行部２１に通知する。そして、ステップ１０４に移行し、再度、更新処理が行われる。
【００４７】
また、ステップ１０７で否定の判断（Ｎｏ）がされた場合、即ち、成否判定部２２は、更新後の装置ログに更新前の装置ログには存在しない特定のエラーが記載されていないと判断した場合、プログラムの更新が成功したと判定する。そして、成否判定部２２は、更新が成功したことを更新実行部２１、情報送受信部２３および比較部２４に通知する。更新実行部２１は、成否判定部２２から更新が成功したことの通知を受けると、更新フラグを削除（ＯＦＦ）し（ステップ１１１）、続けて更新成功処理が行われ（ステップ１１２）、本処理フローは終了する。更新成功処理については、図８で説明する。
【００４８】
＜更新失敗処理の処理手順＞
次に、更新失敗処理について説明する。図７は、本実施の形態に係る画像処理装置１０における更新失敗処理の手順の一例を示したフローチャートである。
この更新失敗処理において、まず、情報送受信部２３は、成否判定部２２から更新が失敗したことの通知を受けると、他装置の機種、および他装置が保持する対象プログラムのバージョン情報を取得する（ステップ３０１）。次に、情報送受信部２３は、取得した他装置の機種およびバージョン情報を比較部２４に送信する。
【００４９】
比較部２４は、成否判定部２２から更新が失敗したことの通知を受けて、記憶部２６から自装置の機種および更新前プログラムのバージョン情報を取得する。また、比較部２４は、ステップ３０１の情報送受信部２３による送信処理に基づき、他装置の機種および他装置が保持する対象プログラムのバージョン情報を取得する。そして、比較部２４は、自装置の機種と他装置の機種とが同一であり、さらに、自装置の更新前プログラムのバージョンと他装置が保持する対象プログラムのバージョンとが同一であるか否かを判定する（ステップ３０２）。比較部２４は、自装置と同一の機種であり、更新前プログラムのバージョンと同一バージョンのプログラムを保持する第１対象装置が存在すると判定した場合（ステップ３０２でＹｅｓ）、第１対象装置の情報をプログラム送受信部２５に送信する。
【００５０】
次に、プログラム送受信部２５は、成否判定部２２から更新が失敗したことの通知を受け、さらに比較部２４から第１対象装置の情報を受信すると、第１対象装置から更新前プログラムと同一バージョンの対象プログラム、および第１対象装置の設定情報を取得する（ステップ３０３）。そして、プログラム送受信部２５は、第１対象装置から取得した対象プログラムおよび設定情報を更新実行部２１に送信する。更新実行部２１は、第１対象装置の対象プログラムおよび設定情報を用いて、更新前の対象プログラムおよび設定情報に復旧させる（ステップ３０４）。復旧が完了すると、更新実行部２１は更新フラグを削除（ＯＦＦ）し（ステップ３０５）、本処理フローは終了する。また、ステップ３０２で否定の判断（Ｎｏ）がされた場合、即ち、比較部２４が第１対象装置に該当する装置が存在しないと判定した場合、本処理フローは終了する。
【００５１】
以上のようにして、対象プログラムの更新が失敗した場合、画像処理装置１０は、ネットワーク３０を介して接続された他装置のうち自装置と機種が同一の装置から、更新前プログラムと同一バージョンの対象プログラムを取得する。そして、画像処理装置１０は取得した対象プログラムを用いて更新前の状態に復旧させる。このように、画像処理装置１０は、更新の事前に更新前プログラムを記憶部２６の別の領域等に退避させないため、例えば、更新前プログラムを退避させる構成と比較して、対象プログラムの更新において要する記憶領域が削減される。また、画像処理装置１０は、例えば、更新前プログラムを退避させる構成と比較して、更新前プログラムを退避させるための時間がかからずに済み、更新において要する処理時間が短縮される。
【００５２】
また、画像処理装置１０は、更新前および更新後の装置ログに基づいて更新時における特定のエラーの発生有無を判断する。そのため、画像処理装置１０は、対象プログラムの更新前から発生しているエラーを更新時のエラーと誤判定して更新前の対象プログラムに復旧してしまうことを抑制する。また、更新時に発生した特定のエラーの内容から、更新が正常に実行されなかった原因が容易に特定される。
【００５３】
＜更新成功処理の処理手順＞
次に、更新成功処理について説明する。図８は、本実施の形態に係る画像処理装置１０における更新成功処理の手順の一例を示したフローチャートである。
この更新成功処理において、まず、情報送受信部２３は、成否判定部２２から更新が成功したことの通知を受けると、他装置の機種、および他装置が保持する対象プログラムのバージョン情報を取得する（ステップ４０１）。次に、情報送受信部２３は、取得した他装置の機種およびバージョン情報を比較部２４に送信する。
【００５４】
比較部２４は、成否判定部２２から更新が成功したことの通知を受けて、記憶部２６から自装置の機種および更新前プログラムのバージョン情報を取得する。また、比較部２４は、ステップ４０１の情報送受信部２３による送信処理に基づき、他装置の機種および他装置が保持する対象プログラムのバージョン情報を取得する。そして、比較部２４は、自装置の機種と他装置の機種とが同一であり、さらに、自装置の更新後プログラムのバージョンの方が、他装置が保持する対象プログラムのバージョンより新しいか否かを判定する（ステップ４０２）。比較部２４は、自装置と同一の機種であり、更新後プログラムより古いバージョンの対象プログラムを保持する第２対象装置が存在すると判定した場合（ステップ４０２でＹｅｓ）、第２対象装置の情報をプログラム送受信部２５に送信する。
【００５５】
次に、プログラム送受信部２５は、成否判定部２２から更新が成功したことの通知を受け、さらに比較部２４から第２対象装置の情報を受信すると、記憶部２６から更新後プログラムおよび自装置の設定情報を取得する。そして、プログラム送受信部２５は、更新後プログラムおよび設定情報を第２対象装置に送信し（ステップ４０３）、本処理フローは終了する。第２対象装置では、送信された対象プログラムおよび設定情報を用いて、対象プログラムおよび設定情報の更新が行われる。また、ステップ４０２で否定の判断（Ｎｏ）がされた場合、即ち、比較部２４が第２対象装置に該当する装置が存在しないと判定した場合、本処理フローは終了する。
【００５６】
以上のようにして、対象プログラムの更新が成功した場合、画像処理装置１０は、ネットワーク３０を介して接続された他装置のうち機種が同一の装置で、更新後プログラムより古い対象プログラムを保持する装置に対して、更新後プログラムを送信する。そして、他装置は、更新に成功した実績のある対象プログラムを用いて更新を行うため、更新時のエラーが低減される。
【００５７】
＜更新の成否を判定する手順の他の例＞
本実施の形態では、対象プログラムの更新の成否を判定する手順の例として、成否判定部２２が更新前および更新後の装置ログに基づいて判定する手順について説明した。次に、本実施の形態において更新の成否を判定する手順の他の例について説明する。
【００５８】
成否判定部２２は、更新時に発生したエラーが、更新が正常に実行されなかった際に発生するエラーとして予め定められたエラーと一致するか否かにより、更新の成否を判定する。更新時にエラーが発生しなかった場合、または更新時に発生したエラーが予め定められたエラーと一致しない場合、成否判定部２２は、対象プログラムの更新が成功したと判定する。一方、更新時に発生したエラーが予め定められたエラーと一致する場合、図５のステップ１０８乃至１１０と同様に、成否判定部２２は、エラー更新回数を１加算し、加算後のエラー更新回数が予め定められた閾値に到達していれば対象プログラムの更新が失敗したと判定する。
【００５９】
ここで、予め定められたエラーとしては、例えば上記の特定のエラーと同様に、ＣＰＵ１１とＲＯＭ１２との間の通信障害等、図２に示す各機能ブロック間における通信障害のエラーや、画像形成部１７が正常に起動しないことによるエラー等が挙げられる。また、予め定められたエラーではないが更新時に発生する可能性のあるエラーとしては、例えば、用紙切れエラーや用紙詰まりエラーのように画像処理装置１０が正常な状態で使用されているときに生じるエラー等が挙げられる。
【００６０】
図９は、本実施の形態に係る更新の成否判定のために予め定められたエラーの一例について説明するための図である。
図９には、予め定められたエラーとして、１番から４番までの４つのエラーが表されている。そして、各エラーには、「サブシステム」および「モジュール」の番号で表されるエラーコードが定められている。ここで、「サブシステム」は、画像処理装置１０を構成する画像読取部１６や画像形成部１７等の各機能部に割り当てられた番号であり、「モジュール」は、各機能部の部品ごとに割り当てられた番号である。これらの番号により、画像処理装置１０のどの部分における障害が要因で更新が正常に実行されずにエラーが発生したかが判断される。
【００６１】
例えば、１行目のエラーは、サブシステムが３２、モジュールが３２６のエラーであり、サブシステムが３２を示す機能部のうち、モジュールが３２６を示す部品の障害により発生するエラーを表している。また、２行目のエラーは、サブシステムが４０、モジュールが３１０のエラーであり、サブシステムが４０を示す機能部のうち、モジュールが３１０を示す部品の障害により発生するエラーを表している。そして、更新時に発生したエラーのエラーコードが、例えば図９に示す予め定められたエラーのエラーコードと一致すれば、成否判定部２２は、更新したことで、エラーコードが示す部品において何らかの障害が発生して、更新が正常に実行されなかったと判断し、エラー更新回数を１加算する処理を行う。
【００６２】
図１０は、画像処理装置１０が本例による更新の成否判定により、対象プログラムの更新および更新の成否に応じた処理を行う手順の一例を示したフローチャートである。
まず、更新が正常に実行されなかった際に発生するエラーのエラーコードである成否判定用エラーコードが記憶部２６に記憶される（ステップ５０１）。このエラーコードは、画像処理装置１０の初期設定として予め記憶部２６に記憶されていても良いし、ユーザによる操作により記憶部２６に記憶されることとしても良い。
【００６３】
次に、更新実行部２１は、外部から対象プログラムの更新処理命令を受け付けたか否かを判断する（ステップ５０２）。更新実行部２１が更新処理命令を受け付けたと判断しない場合（ステップ５０２でＮｏ）、本処理フローは終了する。一方、更新実行部２１が更新処理命令を受け付けたと判断した場合（ステップ５０２でＹｅｓ）、ステップ５０３乃至５０５の処理が行われる。このステップ５０３乃至５０５の処理は、図５に示すステップ１０３乃至１０５の処理と同様であるため、説明を省略する。
【００６４】
次に、ステップ５０５で再起動処理が行われた後、成否判定部２２は、更新時に発生したエラーのエラーコードが、記憶部２６に記憶された予め定められたエラーのエラーコードと一致するか否かを判定する（ステップ５０６）。成否判定部２２は、更新時に発生したエラーのエラーコードが予め定められたエラーのエラーコードと一致すると判定した場合（ステップ５０６でＹｅｓ）、図５に示すステップ１０８と同様にエラー更新回数を１加算する（ステップ５０７）。ステップ５０８及び５０９の処理は、図５に示すステップ１０９及び１１０の処理と同様であるため、説明を省略する。
【００６５】
一方、ステップ５０６で否定の判断（Ｎｏ）がされた場合、即ち、成否判定部２２は、更新時にエラーが発生しなかった、または更新時に発生したエラーのエラーコードが予め定められたエラーのエラーコードと一致しないと判定した場合、対象プログラムの更新が成功したと判定する。ステップ５１０及び５１１の処理は、図５に示すステップ１１１及び１１２の処理と同様であるため、説明を省略する。
【００６６】
以上のようにして、画像処理装置１０は、更新時における予め定められたエラーの発生有無を判断する。そのため、画像処理装置１０は、対象プログラムの更新前から発生しているエラーを更新時のエラーと誤判定して更新前の対象プログラムに復旧してしまうことを抑制する。また、更新時に発生した予め定められたエラーの内容から、更新が正常に実行されなかった原因が容易に特定される。
【００６７】
＜更新失敗処理の他の例＞
本実施の形態では、更新失敗処理の例として、更新実行部２１が他装置の対象プログラムおよび設定情報の両方を用いて一度に更新前の対象プログラムおよび設定情報に復旧させる例について説明した。次に、本実施の形態における更新失敗処理の他の例について説明する。本例による手順では、更新実行部２１は、まず設定情報の復旧処理を行う。そして、設定情報の復旧によりエラーが発生した場合、次に、更新実行部２１は、設定情報に加えて対象プログラムの復旧処理を行う。
【００６８】
図１１は、本実施の形態に係る画像処理装置１０における更新失敗処理の手順の他の例を示したフローチャートである。
まず、この更新失敗処理において、ステップ６０１乃至６０３の処理は、図７に示すステップ３０１乃至３０３の処理と同様であるため、説明を省略する。そして、ステップ６０３で、プログラム送受信部２５が更新前プログラムと同一バージョンの対象プログラムおよび第１対象装置の設定情報を取得すると、更新実行部２１は、まず第１対象装置の設定情報を用いて更新前の設定情報に復旧させる（ステップ６０４）。その後、画像処理装置１０の再起動処理が行われる（ステップ６０５）。
【００６９】
次に、図６に示すステップ２０１の起動処理が行われ、ステップ２０２で成否判定部２２はフラグが設定（ＯＮ）されているか否かを判定する。ここでは、更新（復旧）が行われたがその成否が確定していない状態であるため、成否判定部２２はフラグが設定されていると判定し（ステップ２０２でＹｅｓ）、図１１のステップ６０６に移行する。次に、成否判定部２２は、更新前の設定情報への復旧処理の成否を判定する（ステップ６０６）。ここでの判定については、例えば、更新の成否を判定する手順の例として上述した、装置ログに基づいて判定する手順や予め定められたエラーと一致するか否かにより判定する手順等と同様の手順により行われることとする。
【００７０】
そして、成否判定部２２は、エラー等の発生により復旧が失敗したと判定した場合（ステップ６０６でＮｏ）、次に、更新実行部２１は、第１対象装置の設定情報および対象プログラムを用いて、更新前の対象プログラムおよび設定情報に復旧させる（ステップ６０７）。このステップ６０７の処理は、図７のステップ３０４の処理と同様である。そして、復旧が完了すると、更新実行部２１は更新フラグを削除（ＯＦＦ）し（ステップ６０８）、本処理フローは終了する。
【００７１】
一方、ステップ６０６で肯定の判断（Ｙｅｓ）がされた場合、即ち、成否判定部２２は復旧が成功したと判定した場合、更新実行部２１は更新フラグを削除（ＯＦＦ）し、本処理フローは終了する。ここでは、設定情報を更新前の状態に復旧させることでエラーが発生せずに復旧が成功している。そのため、更新処理において、設定情報の更新に障害があったために更新が失敗したといえる。即ち、対象プログラムは更新前プログラムのままであり、設定情報を更新前の状態に戻せば、画像処理装置１０は更新前の状態に復旧することとなる。
【００７２】
以上のようにして、対象プログラムの更新が失敗した場合、画像処理装置１０は、まず設定情報を復旧し、さらに復旧が失敗した場合に設定情報および対象プログラムの復旧を行う。画像処理装置１０がこのように段階的な復旧を行うことにより、更新処理において、設定情報の更新に障害があったのか、対象プログラム自体の更新に障害があったのかが明確になる。そして、画像処理装置１０は、障害が発生した箇所についてのみ更新前の状態に戻せば、正常に復旧することとなる。
【００７３】
また、図１１のステップ６０４において、更新実行部２１は一度に更新前の設定情報に復旧させることとしたが、これに限られるものではない。設定情報は、画像処理装置１０を構成する各機能部やその部品ごとに設定値を定めるものである。そのため、例えば、更新実行部２１は、設定情報から復旧に用いる設定値を選択し、選択した設定値による復旧が失敗するとさらに設定値を選択して復旧を行う、というように段階的な復旧を行うこととしても良い。このように機能部やその部品ごとに段階的に復旧させることで、どの部分の更新において障害が発生したために対象プログラムの更新が正常に実行されなかったのかが明確になる。そして、画像処理装置１０は、障害が発生した箇所についてのみ更新前の状態に戻せば、正常に復旧することとなる。
【００７４】
さらに、図１１のステップ６０７において、更新実行部２１は、設定情報および対象プログラムの復旧処理を行ったが、この時点で設定情報は復旧されているため、ここで対象プログラムのみについて復旧処理を行うこととしても良い。
【００７５】
また、本実施の形態において、画像処理装置１０は、エラー更新回数と予め定められた閾値とを比較して更新の成否を判定したが、これに限られるものではない。例えば、画像処理装置１０は、閾値を定めずに、更新後の装置ログに更新前の装置ログには存在しない特定のエラーが記載されていれば更新の失敗と判定することとしても良い。
【００７６】
また、本実施の形態において、画像処理装置１０は、ネットワーク３０を介して接続された全ての他装置から機種および対象プログラムのバージョン情報を取得したが、これに限られるものではない。例えば、画像処理装置１０は、予め定められた複数の他装置から、機種および対象プログラムのバージョン情報を取得することとしても良い。また、例えば、画像処理装置１０は、予め定められた他装置の順番に従って機種等の情報を取得し、取得する都度、自装置と同一の機種で同一のバージョンの対象プログラムを保持する装置であるか否かを判定することとしても良い。
【００７７】
また、本実施の形態において、自装置を第１の画像処理装置１０Ａ、他装置を第２の画像処理装置１０Ｂ、第３の画像処理装置１０Ｃとし、更新が失敗したと判定された場合、自装置は第２の画像処理装置１０Ｂから対象プログラムを取得し、更新が成功したと判定された場合、自装置は第３の画像処理装置１０Ｃへ対象プログラムを送信する例を説明したが、これに限られるものではない。例えば、更新が失敗したと判定された場合に自装置が対象プログラムを取得する他装置と、更新が成功したと判定された場合に自装置が対象プログラムを送信する他装置とは、同じ装置（例えば、第２の画像処理装置１０Ｂ）であっても良い。また、更新が成功したと判定された場合、自装置は複数の他装置へ（第２の画像処理装置１０Ｂと第３の画像処理装置１０Ｃの両方）へ対象プログラムを送信することとしても良い。さらに、本実施の形態に係る画像処理システム１は３台の画像処理装置を備える構成として説明したが、２台以上の画像処理装置を備える構成であれば何台の画像処理装置を備えても良い。
【符号の説明】
【００７８】
１…画像処理システム、１０…画像処理装置、２１…更新実行部、２２…成否判定部、２３…情報送受信部、２４…比較部、２５…プログラム送受信部、２６…記憶部
【図１】
2015026108.tif 000003
【図２】
2015026108.tif 000004
【図３】
2015026108.tif 000005
【図４】
2015026108.tif 000006
【図５】
2015026108.tif 000007
【図６】
2015026108.tif 000008
【図７】
2015026108.tif 000009
【図８】
2015026108.tif 000010
【図９】
2015026108.tif 000011
【図１０】
2015026108.tif 000012
【図１１】
2015026108.tif 000013