(57)【特許請求の範囲】
【請求項１】
複数のファームウェアを有し、サーバから提供された更新用ファームウェアに基づいて前記複数のファームウェアを更新する画像処理装置であって、
前記複数のファームウェアの正規のバージョンの組み合わせを示す管理リストを記憶する記憶手段と、
前記画像処理装置において使用されている複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致するか否かを判定する判定手段と、
前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致すると前記判定手段によって判定された場合に、管理リストバージョン情報を前記サーバに送信し、前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致しないと前記判定手段によって判定された場合に、前記複数のファームウェアのバージョンを示すバージョン情報を前記サーバに送信する送信手段と、
前記送信手段によって送信された情報の応答として、前記更新用ファームウェアを前記サーバから受信する受信手段と、
前記受信手段が受信した前記更新用ファームウェアに基づいて、前記複数のファームウェアを更新する更新手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致しないと前記判定手段によって判定された場合に、前記送信手段は、前記複数のファームウェアのバージョンを示すバージョン情報に加えて、前記管理リストを更に前記サーバに送信することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像処理装置のファームウェアを更新する日時を設定する設定手段を更に備え、
前記設定手段によって設定された前記日時に到達した場合に、前記判定手段は、前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致するか否かを判定することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記画像処理装置のファームウェアを更新することを示す更新指示をユーザから受け付ける受付手段を更に備え、
前記受付手段が前記更新指示をユーザから受け付けた場合に、前記判定手段は、前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致するか否かを判定することを特徴とする請求項１又は２記載の画像処理装置。
【請求項５】
前記画像処理装置は、コントローラとプリンタエンジンとを少なくとも備え、
前記複数のファームウェアは、前記コントローラのファームウェアと、前記プリンタエンジンのファームウェアとを少なくとも含むことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
複数のファームウェアを有し、サーバから提供された更新用ファームウェアに基づいて前記複数のファームウェアを更新する画像処理装置の制御方法であって、
前記複数のファームウェアの正規のバージョンの組み合わせを示す管理リストを記憶する記憶ステップと、
前記画像処理装置において使用されている複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致するか否かを判定する判定ステップと、
前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致すると前記判定ステップにおいて判定された場合に、管理リストバージョン情報を前記サーバに送信し、前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致しないと前記判定ステップにおいて判定された場合に、前記複数のファームウェアのバージョンを示すバージョン情報を前記サーバに送信する送信ステップと、
前記送信ステップにおいて送信された情報の応答として、前記更新用ファームウェアを前記サーバから受信する受信ステップと、
前記受信ステップにおいて受信された前記更新用ファームウェアに基づいて、前記複数のファームウェアを更新する更新ステップとを備えることを特徴とする画像処理装置の制御方法。
【請求項７】
複数のファームウェアを有し、サーバから提供された更新用ファームウェアに基づいて前記複数のファームウェアを更新する画像処理装置の制御方法をコンピュータに実行させるためのプログラムであって、
前記制御方法は、
前記複数のファームウェアの正規のバージョンの組み合わせを示す管理リストを記憶する記憶ステップと、
前記画像処理装置において使用されている複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致するか否かを判定する判定ステップと、
前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致すると前記判定ステップにおいて判定された場合に、管理リストバージョン情報を前記サーバに送信し、前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致しないと前記判定ステップにおいて判定された場合に、前記複数のファームウェアのバージョンを示すバージョン情報を前記サーバに送信する送信ステップと、
前記送信ステップにおいて送信された情報の応答として、前記更新用ファームウェアを前記サーバから受信する受信ステップと、
前記受信ステップにおいて受信された前記更新用ファームウェアに基づいて、前記複数のファームウェアを更新する更新ステップとを備えることを特徴とするプログラム。
【請求項８】
複数のファームウェアが実行される画像処理装置、及び前記画像処理装置に対してファームウェアを提供するサーバを含むファームウェア更新システムであって、
前記画像処理装置は、
複数のファームウェアのバージョンと、当該複数のファームウェアに対応する管理リストのバージョンとを有する第１バージョン管理リストが記憶された第１記憶手段と、
前記画像処理装置において使用されている複数のファームウェアのバージョンを収集する収集手段と、
前記収集手段により収集された画像処理装置において使用されている複数のファームウェアのバージョンと、前記第１バージョン管理リストに示される複数のファームウェアのバージョンとが異なるかを判別する第１判別手段と、
前記第１判別手段により、前記画像処理装置において使用されている複数のファームウェアのバージョンと、前記第１バージョン管理リストに示される複数のファームウェアのバージョンとが異なると判別された場合に、前記画像処理装置において使用されている複数のファームウェアのバージョンと前記第１バージョン管理リストのバージョンとを前記サーバに対して送信する送信手段と、
前記送信手段の送信に対する応答として前記サーバから提供された更新用ファームウェアを用いて前記画像処理装置内のファームウェアを更新する更新手段とを備え、
前記サーバは、
前記画像処理装置の複数のファームウェアの正規のバージョンの組み合わせと当該組み合わせに対応する管理リストのバージョンを有する第２バージョン管理リストが記憶された第２記憶手段と、
前記送信手段により送信された前記画像処理装置において使用されている複数のファームウェアのバージョンと、前記第２バージョン管理リストに示される複数のファームウェアのバージョンとが一致する前記第２バージョン管理リストが存在するか否か判別する第２判別手段と、
前記第２判別手段により、前記画像処理装置で使用されている複数のファームウェアのバージョンと前記第２バージョン管理リストに示される複数のファームウェアのバージョンとが一致する前記第２バージョン管理リストが存在すると判別され、かつ、一致する前記第２バージョン管理リストに示されるファームウェアよりも新しいファームウェアを含む前記第２バージョン管理リストが存在するとき、前記第２バージョン管理リストに示される新しいファームウェアを前記画像処理装置に対して提供する提供手段とを備えることを特徴とするファームウェア更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その制御方法、及びプログラム、並びにファームウェア更新システムに関する。
【背景技術】
【０００２】
デジタル複合機のような複数の機能を具備する画像処理装置は、メインコントローラ、画像形成を行うプリンタエンジン、ファックス装置など複数のファームウェアから構成されている。
【０００３】
このような画像処理装置を構成する複数のファームウェアの更新処理を自動で行う機能が実施されている。特に、ネットワーク接続されたアップデートサーバから最新ファームウェアに更新する方法は、画像処理装置の一般ユーザ、販売会社のサービスマン双方にとってメリットが大きく、広く実施されつつある（例えば、特許文献１参照）。
【０００４】
特許文献１で提案された技術は、複数のファームウェアのバージョン情報をサーバに送信し、新しいバージョンのファームウェアがあるか否かを判定し、効率よくアップデートを行う技術である。
【０００５】
上述したように、画像処理装置は複数のファームウェアから構成され、ファームウェア同士が協調動作を行ってコピーやプリント、ファックス機能をシステムとして実現している。
【０００６】
そのため、正しい動作を保証するためには、これらのファームウェア群が正しいバージョンの組み合わせで構成されていることが必要となる。そこで動作保障する全ファームウェアのバージョン組み合わせたバージョン管理リストによって画像処理装置全体のファームウェア管理を簡便に行う方法が行われている。
【０００７】
この方法の場合、画像処理装置の記憶装置にはバージョン管理リストが記憶されており、そのリスト内容は実際に画像処理装置に搭載されている全ファームウェアのバージョン情報と一致している。例えば、画像処理装置メーカーから出荷された初期状態では、当然ながら、これらは一致している。
【０００８】
画像処理装置のメーカーがファームウェアを更新する場合、新たなファームウェアとともに、それらの全バージョンを含む新たなバージョン管理リストを作成し、アップデートサーバに登録する。
【０００９】
アップデートサーバはアップデート対象の画像処理装置のバージョン管理リストのバージョンを取得し、そのバージョンから次に更新すべきバージョン管理リストのバージョンを選択し、それらに対応するファームウェア群の更新処理を実行する。
【００１０】
このようにして、複数のファームウェアから構成される画像処理装置の更新処理において、毎回全ファームウェアのリストをチェックする必要なく、最新かつ正当なファームウェアの組み合わせを維持することが可能となっている。
【００１１】
上述した複数のファームウェアの組み合わせを表現するバージョン管理リストによる管理方式では、ファームウェアが搭載された１つの部品を交換した場合にバージョン管理リストのバージョンとファームウェアのバージョンとが異なる状態が発生しうる。
【００１２】
この場合、画像処理装置のファームウェア管理モジュールは各々のファームウェアのバージョンが、動作保障された正しいバージョンの組み合わせなのかどうかを判断することができない。
【００１３】
例えば、デジタル複合機のような画像処理装置においては各種のユーザデータ、画像処理設定値、デバイス制御調整値など多様なデータを記憶している。
【００１４】
正しいバージョンの組み合わせか否か判定できない状態から強制的にアップデートを行うと、これらのデータ管理に係るファームウェアの更新に伴いデータが失われる可能性がある。
【００１５】
またファームウェアの更新内容によっては、システム領域の割り当て変更など途中のバージョンを経由して更新しないとシステム自体が起動しなくなることもある。
【００１６】
これらを避けるため、画像処理装置のバージョン管理リストに示されるバージョンと、ファームウェアのバージョンとが一致しない場合、ファームウェアのバージョンが整合していないと判断し、仮に更新処理が実行されても、それを中止するようにしていた。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００９−１８７４５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、実際には新しい部品に搭載されたファームウェアを含むバージョン管理リストが後から正規に発行されており、部品交換を行った画像処理装置のファームウェアが正規の組み合わせのファームウェアとなっていることがある。
【００１９】
そのため、実際には更新処理が可能であるにも関わらず、更新処理が中止されることがあった。この場合、サービスマンを顧客先に派遣して、手動でバージョン管理リストのバージョンとファームウェアのバージョンとが一致させる必要があった。
【００２０】
本発明の目的は、画像処理装置に搭載されたファームウェアが正規の組み合わせであるにもかかわらず、従来技術では実行できなかった更新処理を実行可能な画像処理装置、その制御方法、及びプログラム、並びにファームウェア更新システムを提供することにある。
【課題を解決するための手段】
【００２１】
上記目的を達成するために、請求項１の画像処理装置は、複数のファームウェアを有し、サーバから提供された更新用ファームウェアに基づいて前記複数のファームウェアを更新する画像処理装置であって、前記複数のファームウェアの正規のバージョンの組み合わせを示す管理リストを記憶する記憶手段と、前記画像処理装置において使用されている複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致するか否かを判定する判定手段と、前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致すると前記判定手段によって判定された場合に、管理リストバージョン情報を前記サーバに送信し、前記複数のファームウェアのバージョンが、前記管理リストが示す正規のバージョンの組み合わせと一致しないと前記判定手段によって判定された場合に、前記複数のファームウェアのバージョンを示すバージョン情報を前記サーバに送信する送信手段と、前記送信手段によって送信された情報の応答として、前記更新用ファームウェアを前記サーバから受信する受信手段と、前記受信手段が受信した前記更新用ファームウェアに基づいて、前記複数のファームウェアを更新する更新手段とを備えることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、画像処理装置に搭載されたファームウェアが正規の組み合わせであるにもかかわらず実行できなかった更新処理を実行可能な画像処理装置、その制御方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施の形態に係るファームウェア更新システムの概略構成を示す図である。
【図２】図１における画像処理装置の概略構成を示す図である。
【図３】図２におけるコントローラファームウェアのソフトウエアモジュール構成を示す図である。
【図４】図１におけるアップデートサーバの概略構成を示す図である。
【図５】図４におけるファームウェアＤＢの具体例を示す図である。
【図６】図５におけるバージョンブランチ情報を示す図である。
【図７】図５におけるバージョン管理リストを示す図である。
【図８】図２における操作部に表示されるコピー機能の画面を示す図である。
【図９】図８におけるアップデート管理キーが押下されることにより表示されるアップデート管理画面を示す図である。
【図１０】図９における定期自動アップデート設定ボタンが押下されることにより表示される定期自動アップデート設定画面を示す図である。
【図１１】図２における操作部に表示される更新処理時の画面を示す図であり、（Ａ）は更新中の画面であり、（Ｂ）は更新処理が正常に終了したときの画面である。
【図１２】図２における操作部に表示される更新処理が失敗したときの画面を示す図であり、（Ａ）はエラーコードＥ０１０で失敗した場合に表示される画面であり、（Ｂ）はエラーコードＥ２００で失敗した場合に表示される画面である。
【図１３】図２における操作部に表示される更新処理の必要がないときの画面を示す図である。
【図１４】図２におけるＣＰＵにより実行される画像処理装置更新処理の手順を示すフローチャートである。
【図１５】図１４におけるステップＳ１０３で判別する際に用いられるバージョン管理リストと、収集したバージョンとを示す図である。
【図１６】図１４のステップＳ１０９の更新処理の手順を示すフローチャートである。
【図１７】図４におけるＣＰＵにより実行される更新対応処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００２５】
図１は、本発明の実施の形態に係るファームウェア更新システム１の概略構成を示す図である。
【００２６】
図１において、ファームウェア更新システム１は、本実施の形態に係る画像処理装置１０を含む複数の画像処理装置と、アップデートサーバ２０（サーバ）とを含み、各々はインターネットで接続されている。
【００２７】
アップデートサーバ２０は、ファームウェアの更新対象となる画像処理装置のファームウェア管理、及びファームウェアの配信を行う。また、同図に示されるように、１台のアップデートサーバ２０で複数の画像処理装置を更新可能となっている。
【００２８】
さらに、アップデートサーバ２０は、更新処理を実現するアップデートアプリケーション２０１と、画像処理装置１０のファームウェアを記憶、管理するファームウェアＤＢ（データベース）２０２を含む。
【００２９】
本実施の形態における画像処理装置１０は、複数のファームウェアによって構成、制御されており、バージョン管理リスト１０２によって画像処理装置１０内の全ファームウェアのバージョン情報を管理している。
【００３０】
また、画像処理装置１０のファームウェアは、コントローラファームウェア１０１とプリンタエンジンファームウェア１３２とから構成され、両者のファームウェアバージョンはバージョン管理リスト１０２に記載される。
【００３１】
コントローラファームウェア１０１、及びプリンタエンジンファームウェア１３２は相互に協調して動作するため、両者のバージョンは、画像処理装置１０のメーカーが動作保障している組み合わせで出荷されている。
【００３２】
図２は、図１における画像処理装置１０の概略構成を示す図である。
【００３３】
図２において、コントローラ１００は、ＣＰＵ１１０、ＲＡＭ１１１、ＳＲＡＭ１１２、ＨＤＤ１１３、操作部インタフェース１２０、プリンタインタフェース１２１、スキャナインタフェース１２２、ＵＳＢインタフェース１２３、及びネットワークインタフェース１２４を含む。これら各部は、システムバス１９１により接続されている。
【００３４】
ＣＰＵ１１０は、画像処理装置１０全体を制御する。ＲＡＭ１１１は、プログラムが展開されたり、各種データなどが一時的に記憶される。ＳＲＡＭ１１２は、バックアップ電源を備え、画像処理装置１０の個体ごとの画像処理パラメタ、調整値、及びユーザ設定データなどが記録される。
【００３５】
ＨＤＤ１１３にはバージョン管理リスト１０２、及びコントローラファームウェア１０１が記憶されている。コントローラファームウェア１０１は、画像処理装置１０の起動時にＲＡＭ１１１に展開される。そして、ＣＰＵ１１０がコントローラファームウェア１０１に従って動作することで、画像処理装置１０としての機能を実現したり、ファームウェアを更新することができる。
【００３６】
操作部インタフェース１２０は、操作部１３０とコントローラ１００とのインタフェースである。プリンタインタフェース１２１は、プリンタエンジン１３１とコントローラ１００とのインタフェースである。スキャナインタフェース１２２は、スキャナエンジン１３５とコントローラ１００とのインタフェースである。ネットワークインタフェース１２４は、ＬＡＮ１９０とコントローラ１００とのインタフェースである。
【００３７】
ＵＳＢインタフェース１２３は、ＵＳＢコネクタ１４１に接続されたＵＳＢメモリメディア１４０とコントローラ１００とのインタフェースである。コントローラファームウェア１０１は、ＵＳＢインタフェース１２３によってＵＳＢメモリメディア１４０を認識し、ＵＳＢメモリメディア１４０に記憶されている更新用ファームウェアを読み込むことが可能である。
【００３８】
操作部１３０は、ユーザの操作を受け付けたり、ユーザに対して各種情報を表示する。
【００３９】
プリンタエンジン１３１はコントローラ１００から入力された画像データを紙などの記録媒体に画像形成するユニットであり、記録媒体の搬送など機械的な制御を行うため独自のＣＰＵ１３３とプリンタエンジンファームウェア１３２を備える。
【００４０】
プリンタエンジンファームウェア１３２は、ＣＰＵ１３３によって実行されることでコントローラファームウェア１０１と協調動作しつつ画像形成処理を実現する。
【００４１】
スキャナエンジン１３５は、原稿に描かれた画像を読み取り、その画像を示す画像データを、スキャナインタフェース１２２を介してコントローラ１００へ入力する。
【００４２】
このように、本実施の形態に係る画像処理装置１０は、複数のファームウェア（コントローラファームウェア、プリンタエンジンファームウェア）が搭載され、当該複数のファームウェアに従って動作する。
【００４３】
図３は、図２におけるコントローラファームウェア１０１のソフトウエアモジュール構成を示す図である。
【００４４】
図３において、ＯＳ４９０はコントローラファームウェア１０１とハードウェアを仲介する基本ソフトウェアであり、ネットワークドライバ４２１、スキャナドライバ４３１、及びプリンタドライバ４４１が組み込まれている。
【００４５】
ＵＩ制御モジュール４１０は、操作部１３０の制御を行い、ユーザの操作に対する制御、及び各種情報を操作部１３０に表示させる。
【００４６】
ジョブ制御モジュール４１１は、操作部１３０やＬＡＮ１９０を介して画像処理を指示されると、画像処理装置１０のジョブ動作として各モジュールの制御を統合的に行い、画像処理動作を司る。
【００４７】
ネットワークモジュール４２０はネットワークドライバ４２１経由でネットワークから受信したデータの処理を行う。
【００４８】
スキャナ制御モジュール４３０、プリンタ制御モジュール４４０はそれぞれスキャナドライバ４３１、プリンタドライバ４４１を経由してエンジン制御を行う。アップデートモジュール４０１は画像処理装置１０のファームウェアの更新処理を実行するモジュールである。コントローラバージョン４６０は、コントローラファームウェア１０１のバージョンを示し、ＨＤＤ１１３に記憶されている。
【００４９】
図４は、図１におけるアップデートサーバ２０の概略構成を示す図である。
【００５０】
図４において、アップデートサーバ２０は、ＣＰＵ２１０、ＲＡＭ２１１、ＨＤＤ２１３、及びネットワークインタフェース２２４で構成され、それらはシステムバス２９０で接続されている。
【００５１】
ＣＰＵ２１０は、アップデートサーバ２０全体を制御する。ＲＡＭ１１１は、プログラムが展開されたり、各種データなどが一時的に記憶される。
【００５２】
ＨＤＤ２１３には、画像処理装置１０に対するファームウェアの選定、管理、配信を行うアップデートアプリケーション２０１、及びファームウェアＤＢ２０２が記憶されている。
【００５３】
アップデートアプリケーション２０１は、アップデートサーバ２０起動後、ＲＡＭ２１１に展開される。ＣＰＵ２１０は、アップデートアプリケーション２０１に従って、ファームウェアＤＢ２０２を参照し、画像処理装置１０に対するアップデート処理を実行する。
【００５４】
ネットワークインタフェース２２４は、インターネットとアップデートサーバ２０とのインタフェースである。
【００５５】
図５は、図４におけるファームウェアＤＢ２０２の具体例を示す図である。
【００５６】
図５におけるファームウェアＤＢ２０２は、例として３機種Ａ，Ｂ，Ｃに対応したファームウェアＤＢである。
【００５７】
そして、ファームウェアＤＢ２０２には、機種Ａ，Ｂ，Ｃの各々に対して、機種Ａ情報５０１、機種Ｂ情報５０２、機種Ｃ情報５０３が設けられている。機種Ａ情報５０１、機種Ｂ情報５０２、機種Ｃ情報５０３の構造は同じであるので、以下の説明では、機種Ａ情報を用いて説明する。
【００５８】
機種Ａ情報は、バージョンブランチ管理情報５１０、バージョン管理リスト１０２、及びファーム実体セット５１１で構成される。このうち、バージョンブランチ管理情報５１０、及びバージョン管理リスト１０２については、他の図面を用いて説明する。また、ファーム実体セット５１１は、画像処理装置１０に提供する更新用ファームウェアである。
【００５９】
このように、アップデートサーバ２０は、画像処理装置１０にファームウェアを更新するための更新用ファームウェアを提供する。
【００６０】
図６は、図５におけるバージョンブランチ管理情報５１０を示す図である。
【００６１】
図６において、バージョンブランチ管理情報５１０は、標準ブランチ及び個別対応ブランチがリスト構造で含まれており、これらに示されるように、バージョンの系統を示す情報である。
【００６２】
また、ＶＬは、代表バージョンを示し、ＣＯＮＴは、コントローラファームウェアのバージョンを示し、ＰＥＦは、プリンタエンジンファームウェアのバージョンを示している。
【００６３】
さらに、図６では、Ｐ，Ｑ，Ｒの順、またはＰ，Ａ，Ｂ，Ｃの順にバージョンアップされたことを示している。従って、図６の場合は、ＰからＱまたはＡに分岐したことが示されている。また、Ｐ，Ｑ，Ｒ，Ａ，Ｂ，Ｃは、画像処理装置１０のファームウェアのバージョンと代表バージョンとの正規の組み合わせを示している。
【００６４】
図７は、図５におけるバージョン管理リスト１０２を示す図である。
【００６５】
図７において、バージョン管理リスト１０２は、画像処理装置１０に必要なファームウェアとバージョンを列挙した管理情報であり、画像処理装置１０のメーカーにより生成、管理され、バージョン管理リスト毎に代表バージョン６０１がユニークに付加されている。
【００６６】
コントローラファームウェアバージョン６０２は、コントローラファームウェア１０１のバージョンを示している。プリンタエンジンファームウェアバージョン６０３は、プリンタエンジンファームウェア１３２のバージョンを示している。
【００６７】
バージョン管理リスト１０２の代表バージョン６０１を特定することで、画像処理装置１０の全てのファームウェアのバージョン情報、及び組み合わせが特定可能となる。
【００６８】
自動アップデート可否６０４は、サービスマンの派遣を伴うことなく、更新処理が可能か否かを示している。この自動アップデート可否６０４は、ファームウェアを、画像処理装置１０に更新用ファームウェアとして提供したときに、更新用ファームウェアを用いて画像処理装置１０に搭載されたファームウェアを更新可能か否かを示す可否情報に対応する。
【００６９】
この図７に示されるバージョン管理リスト１０２は、画像処理装置１０のファームウェアのバージョンと前記代表バージョンとの正規の組み合わせを示す第２バージョン管理リストに対応する。そして、図６に示したように、複数の第２バージョン管理リストが予めＨＤＤ２１３（第２記憶手段）に記憶されている。
【００７０】
以下、本実施の形態において、操作部１３０に表示される画面について説明し、その後、本実施の形態に係る更新処理について説明する。
【００７１】
図８は、図２における操作部１３０に表示されるコピー機能の画面を示す図である。
【００７２】
図８において、操作部１３０にはＵＳＢコネクタ１４１が具備されており、ＵＳＢメモリメディア１４０が接続可能である。
【００７３】
また、スタートキー１０１１はコピー動作を開始するためのキーであり、ユーザにより押下されるとコントローラファームウェア１０１は動作指示を検出し、コピージョブとしてスキャナエンジン１３５、プリンタエンジン１３１との制御を開始する。
【００７４】
アップデート管理キー１０１２は、後述するアップデート管理画面へ遷移するためのキーである。
【００７５】
図９は、図８におけるアップデート管理キー１０１２が押下されることにより表示されるアップデート管理画面を示す図である。
【００７６】
図９において、アップデート実行ボタン１１２０は、更新処理の即時開始を画像処理装置１０に指示するボタンであり、オペレータにより押下されると更新処理が実行される。
【００７７】
また、定期自動アップデート設定ボタン１１３０は自動で更新処理を実行する場合に、その実行日時の設定を行う画面に遷移するためのボタンである。
【００７８】
戻るボタン１１４０は、この画面が表示される前の画面に戻るためのボタンであり、これ以降説明される図面における戻るボタンも同じ機能を提供するので、それらの説明は省略する。なお、図９の戻るボタン１１４０を押下すると、図８の画面が表示される。
【００７９】
図１０は、図９における定期自動アップデート設定ボタン１１３０が押下されることにより表示される定期自動アップデート設定画面を示す図である。
【００８０】
図１０において、設定可能な毎月／毎週／毎日、の設定欄のうち、「毎週」、「金曜日」の「２２時」が選択されており、設定が有効になっていることを示すために反転表示されている。
【００８１】
こうして設定された定期自動アップデート設定は、ＨＤＤ１１３に記憶され、アップデートモジュール４０１は定期的に現在時刻と設定された曜日及び時刻とをチェックし、設定時刻になった場合にアップデート処理を開始する。従って、図１０の場合は、毎週金曜の２２：００に更新処理が自動的に開始される。
【００８２】
図１１は、図２における操作部１３０に表示される更新処理時の画面を示す図であり、（Ａ）は更新中の画面であり、（Ｂ）は更新処理が正常に終了したときの画面である。
【００８３】
図１１（Ａ）では、更新処理の進行状況が表示されるとともに、ユーザに画像処理装置１０の電源を切らないよう注意を促す文が表示される。
【００８４】
また、図１１（Ｂ）では、更新処理が正常に終了したことが表示されるとともに、代表バージョンも表示される。
【００８５】
図１２は、図２における操作部１３０に表示される更新処理が失敗したときの画面を示す図であり、（Ａ）はエラーコードＥ０１０で失敗した場合に表示される画面であり、（Ｂ）はエラーコードＥ２００で失敗した場合に表示される画面である。
【００８６】
図１２（Ａ）、（Ｂ）のいずれにも、更新処理が失敗したこと、エラーコード、及びサービスマンへの連絡を促す文が表示される。
【００８７】
図１２（Ａ）のエラーコードＥ０１０は、ＳＲＡＭデータクリアを伴うために自動アップデート不可を示している。具体的には、新たなファームウェアに更新する際に、画像処理装置１０のＳＲＡＭ１１２に記憶されている設定データを消去する必要がある場合がある。このような場合、サービスマンによって一旦ＳＲＡＭ１１２のデータを画像処理装置１０の外部記憶装置にバックアップしたうえでアップデートを行わねばＳＲＡＭ１１２のデータが失われてしまう。
【００８８】
また、図１２（Ｂ）のエラーコードＥ２００は、ファームウェアの組み合わせが正規ではないことを示している。
【００８９】
図１３は、図２における操作部１３０に表示される更新処理の必要がないときの画面を示す図である。
【００９０】
図１３における画面は、画像処理装置１０のファームウェアが最新のファームウェアのときに表示される画面である。
【００９１】
図１４は、図２におけるＣＰＵ１１０により実行される画像処理装置更新処理の手順を示すフローチャートである。
【００９２】
図１４における画像処理装置更新処理は、コントローラファームウェア１０１に含まれるアップデートモジュール４０１がＣＰＵ１１０によって実行される。また、画像処理装置更新処理は、図９に示した画面において、ユーザによりアップデート実行ボタン１１２０が押下されるか、図１０に示した画面で定期自動アップデート設定の時期が到来したときに実行される。
【００９３】
まず、アップデートモジュール４０１はＨＤＤ１１３からコントローラバージョン４６０と、プリンタ制御モジュール４４０経由でプリンタエンジン１３１と通信し、プリンタエンジンファームウェアのバージョンを収集する（ステップＳ１０１）。このステップＳ１０１は、複数のファームウェアの実際のバージョンを収集する収集手段に対応する。
【００９４】
次いで、アップデートモジュール４０１はＨＤＤ１１３からバージョン管理リスト１０２から、コントローラファームウェアバージョン６０２、及びプリンタエンジンファームウェアバージョン６０３を読み取って、収集したバージョンと比較する（ステップＳ１０２）。
【００９５】
そして、バージョン管理リスト１０２と収集したバージョンに不整合があるか否か判別する（ステップＳ１０３）。この不整合があるか否かの判別については後述する図１５を用いて説明する。このステップＳ１０３は、収集された実際のバージョンと、第１バージョン管理リストに示される各々のファームウェアのバージョンとが異なるか否か判別する第１判別手段に対応する。この第１バージョン管理リストについては、図１５で説明する。
【００９６】
ステップＳ１０３の判別の結果、不整合がないときは（ステップＳ１０３でＮＯ）、アップデートモジュール４０１はバージョン管理リスト１０２の代表バージョン６０１をアップデートサーバ２０へ送信する（ステップＳ１０４）。このように、実際のバージョンと第１バージョン管理リストに示される各々のファームウェアのバージョンとが一致すると判別されたとき、第１バージョン管理リストに示される代表バージョンをサーバに送信する。
【００９７】
一方、ステップＳ１０３の判別の結果、不整合があるときは（ステップＳ１０３でＹＥＳ）、アップデートモジュール４０１はバージョン管理リスト１０２と収集したバージョンをアップデートサーバ２０へ送信する（ステップＳ１０５）。なお、従来は、不整合があると判別するとステップＳ１０９へと進み、更新処理を中止していた。このステップＳ１０５は、実際のバージョンと第１バージョン管理リストに示される各々のファームウェアのバージョンとが異なると判別されたとき、実際のバージョンと第１バージョン管理リストに示される代表バージョンとをサーバに送信する送信手段に対応する。
【００９８】
次いで、アップデートサーバ２０からの応答を受信し（ステップＳ１０６）、受信内容で分岐する（ステップＳ１０７）。
【００９９】
ステップＳ１０７の判別の結果、最新ファームウェアであることを受信したときは、操作部１３０に図１３に示した画面を用いて、現在のファームウェアが最新でことを表示し（ステップＳ１０８）、本処理を終了する。
【０１００】
ステップＳ１０７の判別の結果、ファームウェア実体セット（更新用ファームウェア）を受信したときは、後述する更新処理を行い（ステップＳ１０９）、本処理を終了する。
【０１０１】
ステップＳ１０７の判別の結果、更新処理不可のエラーコードを受信したときは、図１２に示した画面を用いて、更新処理不可であることを表示して（ステップＳ１１０）、本処理を終了する。
【０１０２】
図１５は、図１４におけるステップＳ１０３で判別する際に用いられるバージョン管理リスト１０２と、収集したバージョンとを示す図である。図１５に示されるバージョン管理リスト１０２は、各々のファームウェアのバージョンと、各々のファームウェアのバージョンを管理するための代表バージョンとを示す第１バージョン管理リストに対応し、ＨＤＤ１１３（第１記憶手段）に予め記憶されている。
【０１０３】
図１５（Ａ）は、バージョン管理リスト１０２と、収集したバージョンとが一致している例を示している。この場合は、不整合がないと判別されるため、ステップＳ１０４で代表バージョン７０００１０００１がアップデートサーバ２０に送信される。
【０１０４】
一方、図１５（Ｂ）は、バージョン管理リスト１０２と、収集したバージョンとが一致していない例を示している。具体的には、プリンタエンジンファームウェアのバージョンが異なっている。この不整合は、不整合がない状態から、プリンタエンジン１３１のハードウェア的な故障から部品交換を行った場合、新しく装着した部品にプリンタエンジンファームウェア１３２も含まれていたときに生じる可能性がある。
【０１０５】
この場合、不整合ありと判別されるので、ステップＳ１０５で、バージョン管理リスト１０２と収集したバージョンをアップデートサーバ２０へ送信する。
【０１０６】
図１６は、図１４のステップＳ１０９の更新処理の手順を示すフローチャートである。
【０１０７】
図１６において、アップデートモジュール４０１はアップデートサーバから受信したファームウェア実体セットを、ＨＤＤ１１３のワーク領域に展開する（ステップＳ２０１）。なお、このときバージョンブランチ管理情報５１０のうち、ファームウェア実体セットに対応する代表バージョン、コントローラファームウェアバージョン、及びプリンタエンジンファームウェアバージョンを示すバージョン管理リストもアップデートサーバ２０から受信する。
【０１０８】
次いで、アップデートモジュール４０１は、バージョン管理リストの内容と、画像処理装置１０の現在のファームウェアバージョンとの差分を抽出する（ステップＳ２０２）。
【０１０９】
次いで、アップデートモジュール４０１は差分が検出されたファームウェアの差し替えを行う（ステップＳ２０３）。具体的には、差分が検出されたファームウェアを新たなファームウェアで差し替えることで、更新処理を実行する。このとき、図１１（Ａ）に示した画面が表示される。また、更新処理が正常に終了すると、図１１（Ｂ）に示した画面が表示される。上記ステップＳ２０３は、サーバから提供された更新用ファームウェアを用いて画像処理装置１０に搭載されたファームウェアを更新する更新手段に対応する。
【０１１０】
例えば、差し替えるファームウェアが、コントローラファームウェアの場合、ＨＤＤ１１３に記憶されているコントローラファームウェア１０１を更新する。一方、差し替えるファームウェアがプリンタエンジンファームウェアの場合、アップデートモジュール４０１はプリンタ制御モジュール４４０を経由してプリンタエンジンファームウェア１３２を更新する。
【０１１１】
次いで、更新処理を行ったことによる再起動の必要があるか否か判別する（ステップＳ２０４）。ステップＳ２０４の判別の結果、再起動の必要があるときは（ステップＳ２０４でＹＥＳ）、画像処理装置１０を再起動し（ステップＳ２０５）、本処理を終了する。
【０１１２】
一方、ステップＳ２０４の判別の結果、再起動の必要がないときは（ステップＳ２０４でＮＯ）、そのまま本処理を終了する。これにより、画像処理装置１０は、新たなファームウェアで通常動作状態となる。
【０１１３】
図１７は、図４におけるＣＰＵ２１０により実行される更新対応処理の手順を示すフローチャートである。
【０１１４】
図１７において、画像処理装置１０からの受信内容で分岐する（ステップＳ３０１）。ステップＳ３０１の判別の結果、全体バージョンを受信したときは、アップデートアプリケーション２０１は受信した全体バージョンから画像処理装置１０の機種を判定する。そして、さらに受信した代表バージョンに該当するバージョン管理リストをバージョンブランチ管理情報５１０から検索する。
【０１１５】
例として、受信した代表バージョンが７０００１０００１の場合に、図６に示したバージョンブランチ管理情報を検索すると、画像処理装置１０に対応するバージョン管理リストはＡとなる。
【０１１６】
次いで、アップデートアプリケーション２０１はバージョンブランチ管理情報５１０から、新たなファームウェアが存在するかを判別する（ステップＳ３０３）。図６に示したバージョン管理リストがＡの場合、アップデートアプリケーション２０１は、新たなファームウェアを、バージョン管理リストのＣとする。
【０１１７】
ステップＳ３０３の判別の結果、新たなファームウェアが存在しないときは（ステップＳ３０３でＮＯ）、最新ファームウェアであることを送信して（ステップＳ３０６）、本処理を終了する。
【０１１８】
一方、ステップＳ３０３の判別の結果、新たなファームウェアが存在するときは（ステップＳ３０３でＹＥＳ）、新たなファームウェアに対応するバージョン管理リストが、自動アップデートが可能なバージョン管理リストか否か判別する（ステップＳ３０４）。
【０１１９】
ステップＳ３０４の判別の結果、自動アップデートが可能なバージョン管理リストのときは（ステップＳ３０４でＹＥＳ）、ファームウェア実体セット、及びバージョン管理リストを送信し（ステップＳ３０５）、本処理を終了する。このとき、ファームウェア実体セット、及びバージョン管理リストを圧縮した１つのデータとして送信するようにしてもよい。
【０１２０】
このステップＳ３０５は、新しいファームウェアを含む第２バージョン管理リストに示される新しいファームウェアを更新用ファームウェアとして画像処理装置１０に提供する提供手段に対応する。
【０１２１】
具体的に、ステップＳ３０８を経由した場合は、実際のバージョンと第２バージョン管理リストに示されるファームウェアのバージョンとが一致する第２バージョン管理リストが存在すると判別されたこととなる。そして、ステップＳ３０３で肯定されることは、一致する第２バージョン管理リストに示されるファームウェアよりも新しいファームウェアを含む第２バージョン管理リストが存在するということである。さらに、ステップＳ３０４で肯定判別されることは、可否情報が更新用ファームウェアを用いて画像処理装置１０に搭載されたファームウェアが更新可能であることを示している。
【０１２２】
上述したステップＳ３０１で、バージョン管理リストと収集したバージョンを受信したときは、受信したバージョン管理リストに示される収集したバージョンをバージョンブランチ管理情報５１０から検索する（ステップＳ３０７）。
【０１２３】
そして、収集したバージョンに一致するバージョンを示すバージョン管理リストがバージョンブランチ管理情報５１０に存在するか否か判別する（ステップＳ３０８）。このステップＳ３０８は、送信された実際のバージョンと第２バージョン管理リストに示されるバージョンとが一致する第２バージョン管理リストが存在するか否か判別する第２判別手段に対応する。
【０１２４】
ステップＳ３０８の判別の結果、バージョン管理リストに一致するバージョン管理リストがバージョンブランチ管理情報５１０に存在するときは（ステップＳ３０８でＹＥＳ）、上述したステップＳ３０２に進む。例えば、図１５（Ｂ）の場合のバージョン管理リストは、バージョンブランチ管理情報５１０のＡに該当する一方で、収集したバージョンはＢに該当する。この場合は、ステップＳ３０２から通常の更新処理が可能である。
【０１２５】
一方、ステップＳ３０７の判別の結果、バージョン管理リストに一致するバージョン管理リストがバージョンブランチ管理情報５１０に存在しないときは（ステップＳ３０８でＮＯ）、更新処理不可のエラーコードを送信し（ステップＳ３０９）、本処理を終了する。ここで送信されるエラーコードは、ステップＳ３０８を経由した場合はエラーコードＥ２００であり、ステップＳ３０４を経由した場合はエラーコードＥ０１０となる。このように、送信された実際のバージョンと第２バージョン管理リストに示されるバージョンとが一致する第２バージョン管理リストが存在しないと判別されたとき（ステップＳ３０８でＮＯ）、更新用ファームウェアを提供せずに、画像処理装置に１９、ファームウェアの更新を行えないことを示すエラーコード（エラーコードＥ２００）を送信する。
【０１２６】
図１４、図１５、及び図１７の処理によれば、画像処理装置に搭載されたファームウェアが正規の組み合わせであるにもかかわらず実行できなかった更新処理を実行可能なファームウェア更新システムを提供することができる。具体的には、まず実際のバージョンと第１バージョン管理リストに示される各々のファームウェアのバージョンとが異なると判別されたとき（ステップＳ１０３でＹＥＳ）、実際のバージョンと第１バージョン管理リストに示される代表バージョンとをサーバに送信する（ステップＳ１５０）。
【０１２７】
次いで、実際のバージョンと第２バージョン管理リストに示されるファームウェアのバージョンとが一致する第２バージョン管理リストが存在すると判別される（ステップＳ３０８でＹＥＳ）。そして、一致する第２バージョン管理リストに示されるファームウェアよりも新しいファームウェアを含む第２バージョン管理リストが存在するときは（ステップＳ３０３でＹＥＳ）、以下の処理が行われる。すなわち、新しいファームウェアを含む前記第２バージョン管理リストに示される新しいファームウェアを更新用ファームウェアとして画像処理装置に提供する（ステップＳ３０５）。これにより、サーバから提供された更新用ファームウェアを用いて画像処理装置１０に搭載されたファームウェアを更新する（ステップＳ２０３）。
【０１２８】
上述したステップＳ１０３で肯定判別された時点で、従来技術では画像処理装置に搭載されたファームウェアが正規の組み合わせであるにもかかわらず更新処理を実行できなかったが、本実施の形態により、その更新処理を実行可能とすることができる。
【符号の説明】
【０１２９】
１  ファームウェア更新システム
１０  画像処理装置
２０  アップデートサーバ
１００  コントローラ
１０１  コントローラファームウェア
１１０，１３３，２１０  ＣＰＵ
１１１  ＲＡＭ
１１３  ＨＤＤ
１３１  プリンタエンジン
１３２  プリンタエンジンファームウェア
２０１  アップデートアプリケーション
２０２  ファームウェアＤＢ
４０１  アップデートモジュール
５１０  バージョンブランチ管理情報
５１１  ファーム実体セット
【図１】
0005959942.tif 000002
【図２】
0005959942.tif 000003
【図３】
0005959942.tif 000004
【図４】
0005959942.tif 000005
【図５】
0005959942.tif 000006
【図６】
0005959942.tif 000007
【図７】
0005959942.tif 000008
【図８】
0005959942.tif 000009
【図９】
0005959942.tif 000010
【図１０】
0005959942.tif 000011
【図１１】
0005959942.tif 000012
【図１２】
0005959942.tif 000013
【図１３】
0005959942.tif 000014
【図１４】
0005959942.tif 000015
【図１５】
0005959942.tif 000016
【図１６】
0005959942.tif 000017
【図１７】
0005959942.tif 000018