(57)【特許請求の範囲】
【請求項１】
画像形成装置であって、
前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するための判断部と、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備え、
前記判断部は、前記アプリケーションを構成するファイル群の少なくとも１つのファイルの更新日時が、前記更新後のファームウェアに対応してるか否かの基準となる予め定められた基準日時よりも前である場合に、前記アプリケーションが前記更新後のファームウェアに整合していないと判断する、画像形成装置。
【請求項２】
前記更新情報に含まれる各更新内容には、前記画像形成装置の設定情報がさらに対応付けられており、
前記更新部は、前記更新情報を参照して、前記更新後のファームウェアの属性と前記画像形成装置の現在の設定情報との組み合わせに対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新する、請求項１に記載の画像形成装置。
【請求項３】
前記更新部は、前記更新部による前記アプリケーションの更新終了後に、前記画像形成装置を利用可能な状態にする、請求項１または２に記載の画像形成装置。
【請求項４】
前記更新部は、前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合には、前記アプリケーションに対する操作が制限されているか否かに関わらず前記アプリケーションを更新する、請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記更新情報は、前記記憶部に予め格納されている、請求項１〜４のいずれか１項に記載の画像形成装置。
【請求項６】
前記画像形成装置は、前記更新情報を他の装置から受信するための通信部をさらに備える、請求項１〜４のいずれか１項に記載の画像形成装置。
【請求項７】
前記アプリケーションは、他のアプリケーションを管理するためのアプリケーションである、請求項１〜６のいずれか１項に記載の画像形成装置。
【請求項８】
前記アプリケーションは、画像形成装置の待機状態中に動作しているアプリケーションである、請求項１〜７のいずれか１項に記載の画像形成装置。
【請求項９】
画像形成装置であって、
前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するための判断部と、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備え、
前記判断部は、前記更新後のファームウェアに対応していないソースコードが前記アプリケーションに含まれている場合に、前記アプリケーションが前記更新後のファームウェアに整合していないと判断する、画像形成装置。
【請求項１０】
画像形成装置であって、
前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するための判断部と、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備え、
前記ファームウェアは、
前記アプリケーションを動作させるためのプラットフォームと、
前記画像形成装置のハードウェアを制御するための本体制御部とを含み、
前記判断部は、前記アプリケーションが前記プラットフォームを介して前記本体制御部を呼び出すように前記ファームウェアが更新された場合において、前記プラットフォームを介さずに前記本体制御部を呼び出すプログラムが前記アプリケーションに含まれるときに、前記アプリケーションが前記更新後のファームウェアに整合していないと判断する、画像形成装置。
【請求項１１】
画像形成装置であって、
前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するための判断部と、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備え、
前記判断部は、前記アプリケーションが予め定められたキーを用いて前記ファームウェアの機能を利用するように前記ファームウェアが更新された場合であって、前記アプリケーションが前記予め定められたキーを保持していない、または前記アプリケーションが保持しているキーと前記ファームウェアが保持しているキーとが一致しないときに、前記アプリケーションが前記更新後のファームウェアに整合していないと判断する、画像形成装置。
【請求項１２】
画像形成装置であって、
前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するための判断部と、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備え、
前記判断部は、前記更新後のファームウェアの機能を利用するために必要なコンテンツが前記アプリケーションを構成するコンテンツ群に含まれていない場合に、前記アプリケーションが前記更新後のファームウェアに整合していないと判断する、画像形成装置。
【請求項１３】
画像形成装置であって、
前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するための判断部と、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備え、
前記判断部は、前記更新後のファームウェアに対する前記アプリケーションの不具合のプログラムパターンが前記アプリケーションに含まれている場合に、前記アプリケーションが前記更新後のファームウェアに整合していないと判断する、画像形成装置。
【請求項１４】
画像形成装置であって、
前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するための判断部と、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備え、
前記判断部は、前記アプリケーションで使用されているプログラムのバージョン情報と、前記更新後のファームウェアで使用されているプログラムのバージョン情報とが異なる場合に、前記アプリケーションが前記更新後のファームウェアに整合していないと判断する、画像形成装置。
【請求項１５】
画像形成装置の更新方法であって、
前記画像形成装置は、前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部を備え、
前記更新方法は、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するステップと、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するステップとを備え、
前記判断するステップは、前記アプリケーションを構成するファイル群の少なくとも１つのファイルの更新日時が、前記更新後のファームウェアに対応してるか否かの基準となる予め定められた基準日時よりも前である場合に、前記アプリケーションが前記更新後のファームウェアに整合していないと判断することを含む、更新方法。
【請求項１６】
画像形成装置の更新プログラムであって、
前記画像形成装置は、前記画像形成装置の動作を制御するためのファームウェアと、前記ファームウェアの機能を利用するアプリケーションとを格納するための記憶部を備え、
前記更新プログラムは、前記画像形成装置に、
前記ファームウェアを更新する命令を受けたことに基づいて、前記アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、前記アプリケーションが前記更新後のファームウェアに整合するか否かを判断するための判断するステップと、
前記アプリケーションが前記更新後のファームウェアに整合しないと判断された場合に、前記ファームウェアの属性ごとに前記アプリケーションの更新内容が対応付けられている更新情報を参照して、前記更新後のファームウェアの属性に対応付けられている更新内容を特定し、前記アプリケーションにおける当該更新内容に対応する箇所を更新するステップとを実行させ、
前記判断するステップは、前記アプリケーションを構成するファイル群の少なくとも１つのファイルの更新日時が、前記更新後のファームウェアに対応してるか否かの基準となる予め定められた基準日時よりも前である場合に、前記アプリケーションが前記更新後のファームウェアに整合していないと判断することを含む、更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像形成装置に関し、特に、画像形成装置のファームウェアの更新方法に関する。
【背景技術】
【０００２】
ＭＦＰ（Multi-Functional  Peripheral）等の画像形成装置が普及している。近年の画像形成装置には、ファームウェアが搭載されている。ファームウェアとは、画像形成装置のハードウェア（回路等）を制御するために組み込まれているソフトウェアの一種である。画像形成装置に搭載されるアプリケーションは、当該ファームウェアの機能を利用することで画像形成装置の印刷やスキャン等を実行する。
【０００３】
基本的には、ファームウェアは、書き換えられないように構成されている。しかしながら、近年では、機器の不具合等を修正するためにファームウェアを更新することが可能な画像形成装置が普及している。ファームウェアの更新に伴って、ファームウェア上のアプリケーションが正常に動作しなくなることがある。
【０００４】
このような問題を解決するための技術に関し、特開２０１４−１９１７９７号公報（特許文献１）は、「更新後のファームウェアと連携動作するソフトウェアを自動更新できる情報処理装置」を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１９１７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示される情報処理装置は、ファームウェアのバージョン情報を用いて更新後のファームウェアとの整合性を有するアプリケーションのバージョンを検出し、新たなバージョンのアプリケーションをインストールする。すなわち、当該情報処理装置は、アプリケーションを一度削除した後に、更新後のファームウェアに対応するアプリケーションを再インストールする。アプリケーションの全てが再インストールされると、更新に時間がかかる。そのため、アプリケーションの必要部分だけを更新することが可能な画像形成装置が望まれている。
【０００７】
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、既に組み込まれているアプリケーションを更新後のファームウェアに整合させつつ、ファームウェアの更新に伴うアプリケーションの更新時間を従来よりも短縮することが可能な画像形成装置を提供することである。他の局面における目的は、既に組み込まれているアプリケーションを更新後のファームウェアに整合させつつ、ファームウェアの更新に伴うアプリケーションの更新時間を従来よりも短縮することが可能な更新方法を提供することである。さらに他の局面における目的は、既に組み込まれているアプリケーションを更新後のファームウェアに整合させつつ、ファームウェアの更新に伴うアプリケーションの更新時間を従来よりも短縮することが可能な更新プログラムを提供することである。
【課題を解決するための手段】
【０００８】
ある局面に従うと、画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するための判断部と、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備える。前記判断部は、前記アプリケーションを構成するファイル群の少なくとも１つのファイルの更新日時が、前記更新後のファームウェアに対応してるか否かの基準となる予め定められた基準日時よりも前である場合に、前記アプリケーションが前記更新後のファームウェアに整合していないと判断する。
【０００９】
好ましくは、更新情報に含まれる各更新内容には、画像形成装置の設定情報がさらに対応付けられている。更新部は、更新情報を参照して、更新後のファームウェアの属性と画像形成装置の現在の設定情報との組み合わせに対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新する。
【００１０】
好ましくは、更新部は、更新部によるアプリケーションの更新終了後に、画像形成装置を利用可能な状態にする。
好ましくは、更新部は、アプリケーションが更新後のファームウェアに整合しないと判断された場合には、アプリケーションに対する操作が制限されているか否かに関わらずアプリケーションを更新する。
好ましくは、更新情報は、記憶部に予め格納されている。
好ましくは、画像形成装置は、更新情報を他の装置から受信するための通信部をさらに備える。
好ましくは、アプリケーションは、他のアプリケーションを管理するためのアプリケーションである。
好ましくは、アプリケーションは、画像形成装置の待機状態中に動作しているアプリケーションである。
他の局面に従うと、画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するための判断部と、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備える。判断部は、更新後のファームウェアに対応していないソースコードがアプリケーションに含まれている場合に、アプリケーションが更新後のファームウェアに整合していないと判断する。
さらに他の局面に従うと、画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するための判断部と、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備える。ファームウェアは、アプリケーションを動作させるためのプラットフォームと、画像形成装置のハードウェアを制御するための本体制御部とを含む。判断部は、アプリケーションがプラットフォームを介して本体制御部を呼び出すようにファームウェアが更新された場合において、プラットフォームを介さずに本体制御部を呼び出すプログラムがアプリケーションに含まれるときに、アプリケーションが更新後のファームウェアに整合していないと判断する。
さらに他の局面に従うと、画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するための判断部と、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備える。判断部は、アプリケーションが予め定められたキーを用いてファームウェアの機能を利用するようにファームウェアが更新された場合であって、アプリケーションが予め定められたキーを保持していない、またはアプリケーションが保持しているキーとファームウェアが保持しているキーとが一致しないときに、アプリケーションが更新後のファームウェアに整合していないと判断する。
さらに他の局面に従うと、画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するための判断部と、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備える。判断部は、更新後のファームウェアの機能を利用するために必要なコンテンツがアプリケーションを構成するコンテンツ群に含まれていない場合に、アプリケーションが更新後のファームウェアに整合していないと判断する。
さらに他の局面に従うと、画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するための判断部と、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備える。判断部は、更新後のファームウェアに対するアプリケーションの不具合のプログラムパターンがアプリケーションに含まれている場合に、アプリケーションが更新後のファームウェアに整合していないと判断する。
さらに他の局面に従うと、画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部と、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するための判断部と、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するための更新部とを備える。判断部は、アプリケーションで使用されているプログラムのバージョン情報と、更新後のファームウェアで使用されているプログラムのバージョン情報とが異なる場合に、アプリケーションが更新後のファームウェアに整合していないと判断する。
さらに他の局面に従うと、画像形成装置の更新方法が提供される。画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部を備える。更新方法は、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するステップと、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するステップとを備える。判断するステップは、アプリケーションを構成するファイル群の少なくとも１つのファイルの更新日時が、更新後のファームウェアに対応してるか否かの基準となる予め定められた基準日時よりも前である場合に、アプリケーションが更新後のファームウェアに整合していないと判断することを含む。
さらに他の局面に従うと、画像形成装置の更新プログラムが提供される。画像形成装置は、画像形成装置の動作を制御するためのファームウェアと、ファームウェアの機能を利用するアプリケーションとを格納するための記憶部を備える。更新プログラムは、画像形成装置に、ファームウェアを更新する命令を受けたことに基づいて、アプリケーションに関する情報と更新後のファームウェアに関する情報とを比較し、アプリケーションが更新後のファームウェアに整合するか否かを判断するための判断するステップと、アプリケーションが更新後のファームウェアに整合しないと判断された場合に、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照して、更新後のファームウェアの属性に対応付けられている更新内容を特定し、アプリケーションにおける当該更新内容に対応する箇所を更新するステップとを実行させる。判断するステップは、アプリケーションを構成するファイル群の少なくとも１つのファイルの更新日時が、更新後のファームウェアに対応してるか否かの基準となる予め定められた基準日時よりも前である場合に、アプリケーションが更新後のファームウェアに整合していないと判断することを含む。
【発明の効果】
【００２４】
ある局面において、既に組み込まれているアプリケーションを更新後のファームウェアに整合させつつ、ファームウェアの更新に伴うアプリケーションの更新時間を従来よりも短縮することができる。
【００２５】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００２６】
【図１】ＭＦＰとして構成される画像形成装置の外観を示す図である。
【図２】ファームウェアを更新したときのアプリケーションの更新処理を時系列に示す概念図である。
【図３】更新情報の内容を示す図である。
【図４】変形例に従う更新情報の内容を示す図である。
【図５】画像形成装置の機能構成の一例を示すブロック図である。
【図６】更新後のファームウェアとアプリケーションとの間の整合性をファイルの更新日時に基づいて判断する方法を示す概念図である。
【図７】更新後のファームウェアとアプリケーションとの間の整合性をコンテンツに基づいて判断する方法を示す概念図である。
【図８】更新後のファームウェアとアプリケーションとの間の整合性をアプリケーションのソースコードに基づいて判断する方法を示す概念図である。
【図９】更新後のファームウェアとアプリケーションとの間の整合性をアプリケーションの命令先に基づいて判断する方法を示す概念図である。
【図１０】更新後のファームウェアとアプリケーションとの間の整合性をアプリケーションに含まれるキーを用いて判断する方法を示す概念図である。
【図１１】更新後のファームウェアとアプリケーションとの間の整合性をプログラムの不具合パターンに基づいて判断する方法を示す概念図である。
【図１２】画像形成装置が実行する処理の一部を表わすフローチャートである。
【図１３】画像形成装置の主要なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【００２８】
［画像形成装置１００の外観］
図１を参照して、実施の形態に従う画像形成装置１００について説明する。図１は、ＭＦＰとして構成される画像形成装置１００の外観を示す図である。
【００２９】
図１に示されるように、画像形成装置１００は、ユーザーから操作を受け付けるための操作パネル１０４と、原稿を光学的に読み取って画像データを得るためのスキャナー部１０７と、画像データに基づいて用紙上に画像を印刷するためのプリント部１０８とを含む。画像形成装置１００の本体の上面には、スキャナー部１０７に原稿を送るフィーダー１１４が設けられている。画像形成装置１００の下部には、プリント部１０８に用紙を供給する複数の給紙部１１９が設けられている。画像形成装置１００の中央部には、プリント部１０８によって画像を印刷された用紙が排出されるトレー１１５が設けられている。
【００３０】
［画像形成装置１００による更新方法］
図２および図３を参照して、画像形成装置１００によるファームウェアの更新に伴うアプリケーションの更新方法について説明する。以下では、更新前のファームウェアを「旧ファームウェア」ともいい、更新後のファームウェアを「新ファームウェア」ともいう。図２は、ファームウェア１２４を旧ファームウェアＦＷ１から新ファームウェアＦＷ２に更新したときのアプリケーションの更新処理を時系列に示す概念図である。
【００３１】
ステップ（Ａ）に示されるように、画像形成装置１００は、アプリケーション１２３Ａ〜１２３Ｃと、画像形成装置１００の動作を制御するためのファームウェア１２４とを保持している。
【００３２】
アプリケーション１２３Ａ，１２３Ｂは、ファームウェア１２４の更新前において、旧ファームウェアＦＷ１の機能を利用している。アプリケーション１２３Ｃは、旧ファームウェアＦＷ１の機能を利用していない。
【００３３】
ファームウェア１２４は、アプリケーション１２３Ａ〜１２３Ｃを動作させるためのアプリケーションプラットフォーム１２７と、画像形成装置１００のハードウェアを制御するための本体制御部１２８とを含む。
【００３４】
アプリケーションプラットフォーム１２７は、アプリケーション１２３Ａ〜１２３Ｃによって利用される共通のプラットフォームである。アプリケーションプラットフォーム１２７は、たとえば、ＩＷＳ（Internal  Web  Server）である。
【００３５】
本体制御部１２８は、画像形成装置１００の印刷機構やスキャン機構等を制御するための制御プログラムを含む。本体制御部１２８の機能は、アプリケーションプラットフォーム１２７から呼び出される。アプリケーション１２３Ａ〜１２３Ｃがアプリケーションプラットフォーム１２７を介して本体制御部１２８の制御プログラムを呼び出すように構成されることにより、アプリケーションで利用する共通機能が一つにまとめられ、アプリケーションの開発工程が削減される。
【００３６】
ステップ（Ｂ）において、画像形成装置１００は、ファームウェア１２４を旧ファームウェアＦＷ１から新ファームウェアＦＷ２に更新する命令を受けたとする。画像形成装置１００は、当該命令を受けたことに基づいて、アプリケーション１２３に関する情報と新ファームウェアＦＷ２に関する情報とを比較し、アプリケーション１２３が新ファームウェアＦＷ２に整合するか否かを判断する。アプリケーション１２３Ａ，１２３Ｂは、旧ファームウェアＦＷ１の機能を利用しているため、画像形成装置１００は、アプリケーション１２３Ａ，１２３Ｂが新ファームウェアＦＷ２に整合していないと判断する。
【００３７】
ステップ（Ｃ）において、画像形成装置１００は、新ファームウェアＦＷ２に整合しないと判断したアプリケーション１２３Ａ，１２３Ｂを新ファームウェアＦＷ２に整合するように更新する。より具体的には、画像形成装置１００は、ファームウェアの属性ごとにアプリケーションの更新内容が対応付けられている更新情報を参照してアプリケーション１２３Ａ，１２３Ｂを更新する。図３は、更新情報１２５の内容を示す図である。
【００３８】
図３に示されるように、更新情報１２５において、ファームウェア１２４の属性ごとにアプリケーションの更新内容が対応付けられている。ファームウェア１２４の属性とは、ファームウェア１２４の種類を一意に特定するための情報である。一例として、ファームウェアの属性は、ファームウェアのバージョン情報とアプリケーションプラットフォーム１２７のバージョン等を含む。
【００３９】
画像形成装置１００は、更新情報１２５を参照して、新ファームウェアＦＷ２の属性に対応付けられているアプリケーションの更新内容を特定する。たとえば、新ファームウェアＦＷ２のバージョンが「１．１」でアプリケーションプラットフォーム１２７のバージョンが「２．０」の場合には、画像形成装置１００は、更新内容「Ｃ」を選択する。画像形成装置１００は、更新対象のアプリケーションにおける更新内容「Ｃ」に対応する箇所を更新する。
【００４０】
一例として、当該更新内容には、更新前のソースコードと更新後のソースコードとが規定されている。画像形成装置１００は、更新対象のアプリケーションに対応するプログラムから更新前のソースコードと一致する箇所を探索し、当該箇所を更新後のソースコードで置き換える。これにより、アプリケーションは、新ファームウェアに整合するようになる。
【００４１】
更新情報１２５は、たとえば、ファームウェア１２４の更新時にサーバーからダウンロードされてもよいし、ファームウェア１２４の更新前にサーバーから予めダウンロードされていてもよい。あるいは、更新情報１２５は、画像形成装置１００の記憶装置１２０（図１３参照）に予め格納されていてもよい。あるいは、更新情報１２５は、外部データベース等からダウンロードされてもよい。
【００４２】
なお、図２に示されるように、画像形成装置１００が複数のアプリケーションを有する場合には、更新情報１２５は、アプリケーションの種類ごとに準備されている。すなわち、更新情報１２５の各々には、アプリケーションを一意に識別するための識別情報（たとえば、ＩＤ（Identification）等）が対応付けられており、画像形成装置１００は、更新対象のアプリケーションに対応する更新情報１２５を取得する。画像形成装置１００は、取得した更新情報１２５に基づいて、更新対象のアプリケーションを更新する。アプリケーションが１つの場合には、更新対象のアプリケーションを特定する必要がないため、更新情報１２５にアプリケーションの識別情報が対応付けられる必要はない。
【００４３】
以上のようにして、画像形成装置１００は、新ファームウェアＦＷ２と整合するようにアプリケーションの必要部分だけを更新する。これにより、画像形成装置１００は、既に組み込まれているアプリケーションを新ファームウェアに整合させつつ、ファームウェアの更新に伴うアプリケーションの更新時間を短縮することができる。
【００４４】
また、アプリケーションの必要部分だけが更新されることにより、アプリケーションのユーザー設定がファームウェアの更新に伴って変更されることがない。そのため、ユーザーは、アプリケーションに対して再度設定を行なう必要がなく、ユーザーの手間が削減される。また、アプリケーションの必要部分だけが更新されることにより、アプリケーションの更新時に必要なリソースが削減され得る。さらに、ユーザーやサービスマンは、ファームウェアの更新に伴ってアプリケーションを再度ダウンロードする必要がないため、ユーザーやサービスマンの手間が省かれる。
【００４５】
（変形例）
図４を参照して、図３に示される更新情報１２５の変形例について説明する。図４は、変形例に従う更新情報１２５Ａの内容を示す図である。
【００４６】
図３の更新情報１２５においては、ファームウェア１２４の属性ごとにアプリケーションの更新内容が対応付けられていた。これに対して、変形例に従う更新情報１２５Ａにおいては、更新内容に対して画像形成装置１００の設定情報がさらに対応付けられている。すなわち、更新情報１２５Ａにおいては、ファームウェアの属性のそれぞれと、画像形成装置１００の設定に関する設定情報のそれぞれと、アプリケーションの更新内容のそれぞれとが互いに対応付けられている。
【００４７】
更新情報１２５Ａは、たとえば、ファームウェア１２４の更新時にサーバーからダウンロードされてもよいし、ファームウェア１２４の更新前にサーバーから予めダウンロードされていてもよい。あるいは、更新情報１２５Ａは、画像形成装置１００の記憶装置１２０（図１３参照）に予め格納されていてもよい。
【００４８】
一例として、画像形成装置１００の設定情報は、画像形成装置１００の地域設定と、画像形成装置１００のメーカー設定と、ハードウェア設定とを含む。
【００４９】
地域設定は、画像形成装置１００が現在属する地域を示す設定である。たとえば、地域設定は、日本やアメリカ等の地域に向けられた地域ごとの設定を含む。地域設定が行われることで画像形成装置１００が属する地域に合った設定が画像形成装置１００に反映される。
【００５０】
メーカー設定は、メーカーごとの設定を反映するものである。たとえば、画像形成装置１００が自社ブランドで販売されている場合には、メーカー設定が「ＯＷＮ」に設定される。この場合、メーカー設定「ＯＷＮ」に対応付けられている設定が画像形成装置１００に反映される。画像形成装置１００が他社ブランドで販売されている場合には、メーカー設定が「ＯＥＭ（Original  Equipment  Manufacturer）」に設定される。この場合、メーカー設定「ＯＥＭ」に対応付けられている設定が画像形成装置１００に反映される。
【００５１】
ハードウェア設定は、画像形成装置１００のハードウェア構成を規定している設定である。ハードウェア設定が行われることで、画像形成装置１００のハードウェア構成に合った設定が画像形成装置１００に反映される。たとえば、ハードウェア設定は、「Ａ３機」、「Ａ４機」等を含む。
【００５２】
画像形成装置１００は、更新情報１２５Ａを参照して、新ファームウェアＦＷ２の属性と画像形成装置１００の現在の設定情報との組み合わせに対応付けられている更新内容を選択する。その後、画像形成装置１００は、選択された更新内容に対応する箇所を更新対象のアプリケーションについて更新する。
【００５３】
このようにアプリケーションの更新内容を特定するためのファクターがさらに多くなることで、アプリケーションの更新内容がさらに細分化され得る。その結果、様々なアプリケーションの更新処理に対応することが可能になり、当該更新処理の汎用性が向上する。
【００５４】
［画像形成装置１００の機能構成］
図５を参照して、画像形成装置１００の機能について説明する。図５は、画像形成装置１００の機能構成の一例を示すブロック図である。図５に示されるように、画像形成装置１００は、機能構成として、判断部１５０と、通信部１５２と、更新部１５４とを含む。
【００５５】
判断部１５０は、ファームウェアを更新する命令を受けたことに基づいて、アプリケーション１２３に関する情報と新ファームウェアに関する情報とを比較し、アプリケーション１２３が新ファームウェアに整合するか否かを判断する。より具体的には、判断部１５０は、アプリケーション１２３の属性が新ファームウェアの属性に対応しているか否かを判断する。判断部１５０による判断方法の詳細については後述する。アプリケーション１２３が新ファームウェアに整合しないと判断した場合には、判断部１５０は、そのことを更新部１５４に出力する。
【００５６】
通信部１５２は、アプリケーション１２３が新ファームウェアに整合しないと判断部１５０によって判断された場合に、上述の更新情報１２５（図３参照）を他の装置（たとえば、サーバー２００）から受信する。通信部１５２は、受信した更新情報１２５を更新部１５４に出力する。
【００５７】
更新部１５４は、アプリケーション１２３が新ファームウェアに整合しないと判断部１５０によって判断された場合に、更新情報１２５を参照して、新ファームウェアの属性に対応付けられている更新内容を特定する。更新部１５４は、特定された更新内容に対応するアプリケーション１２３の箇所を更新する。
【００５８】
なお、アプリケーションの中には、更新、削除、登録等が設定により制限され得るものがある。更新部１５４は、アプリケーション１２３に対する操作（たとえば、更新操作、削除操作、登録操作等）が制限されているか否かに関わらずアプリケーション１２３を更新する。これにより、更新部１５４は、アプリケーション１２３をより確実に新ファームウェアに整合させることができる。
【００５９】
好ましくは、更新部１５４は、アプリケーションの更新終了後に、画像形成装置１００を利用可能な状態にする。これにより、ユーザーは、新ファームウェアに対応している状態でアプリケーションを利用することができ、エラー等の障害がアプリケーションの利用によって生じることがなくなる。
【００６０】
［判断部１５０による判断方法］
判断部１５０（図４参照）は、既に組み込まれているアプリケーションに関する情報と、新ファームウェアに関する情報とを比較することにより、当該アプリケーションが新ファームウェアに整合するか否かを判断する。以下では、図６〜図１１を参照して、判断部１５０による整合性の判断方法について説明する。
【００６１】
（具体例１）
図６を参照して、判断部１５０による整合性の判断方法の具体的１について説明する。図６は、新ファームウェアとアプリケーションとの間の整合性をファイルの更新日時に基づいて判断する方法を示す概念図である。
【００６２】
図６に示されるように、アプリケーション１２３は、複数のファイル群で構成されている。判断部１５０は、当該ファイル群の少なくとも１つのファイルの更新日時が、新ファームウェアに対応しているか否かの基準となる日時（以下、「基準日時」ともいう。）よりも前である場合に、アプリケーションが新ファームウェアに整合していないと判断する。基準日時は、たとえば、新ファームウェアの設計者等によって予め定められている。一例として、当該基準日時は、ファームウェアの更新時に配布される。
【００６３】
基準日時がたとえば「２０１５年８月１日」である場合には、判断部１５０は、その基準日時よりも更新日時が前であるファイル「json1.json」が新ファームウェアに整合していないと判断する。
【００６４】
更新部１５４（図５参照）は、新ファームウェアに対応していないファイル「json1.json」を、新ファームウェアに対応している新たなファイル「json2.json」に置き換える。これにより、更新部１５４は、アプリケーション１２３を新ファームウェアに整合させる。新ファームウェアに整合させるための新たなファイルは、たとえば、更新情報１２５の「アプリケーションの更新内容」（図３参照）に含まれている。
【００６５】
（具体例２）
図７を参照して、判断部１５０（図５参照）による整合性の判断方法の具体的２について説明する。図７は、新ファームウェアとアプリケーションとの間の整合性をコンテンツに基づいて判断する方法を示す概念図である。
【００６６】
図７に示されるように、アプリケーション１２３は、複数のコンテンツ群で構成されている。画像形成装置１００は、新ファームウェアの機能を利用するために必要なコンテンツ群を規定しているコンテンツリストを取得する。当該コンテンツリストは、たとえば、ファームウェアの更新時に配布される。判断部１５０は、当該コンテンツリストに規定されているコンテンツがアプリケーション１２３を構成するコンテンツ群に含まれていない場合に、アプリケーション１２３が新ファームウェアに整合していないと判断する。
【００６７】
一例として、当該コンテンツリストには、実行ファイルやデータ等が規定されている。一例として、コンテンツリストにおいて、ファイル「index.html」、ファイル「app1.css」、およびファイル「json2.json」が規定されているとする。更新前のアプリケーション１２３には、ファイル「json2.json」が含まれていないため、更新部１５４（図５参照）は、新ファームウェアに対応していないファイル「json1.json」を、新ファームウェアに対応している新たなファイル「json2.json」に置き換える。新ファームウェアに対応させるための新たなファイルは、たとえば、更新情報１２５の「アプリケーションの更新内容」（図３参照）に含まれている。
【００６８】
ある局面において、更新部１５４は、新ファームウェアに対応していないファイル「json1.json」を削除した上でファイル「json2.json」を追加する。これにより、画像形成装置１００の容量が削減される。
【００６９】
他の局面において、更新部１５４は、ファイル「json1.json」を削除せずにファイル「json2.json」を追加する。これにより、新ファームウェアが旧ファームウェアに戻された場合には、更新部１５４は、ファイル「json1.json」を再インストールする必要がないため、ファームウェアのバージョンを容易に戻すことができる。
【００７０】
（具体例３）
図８を参照して、判断部１５０（図５参照）による整合性の判断方法の具体的３について説明する。図８は、新ファームウェアとアプリケーションとの間の整合性をアプリケーションのソースコードに基づいて判断する方法を示す概念図である。
【００７１】
図８に示されるように、アプリケーション１２３は、ソースコード１３２Ａから生成されているとする。すなわち、ソースコード１３２Ａをコンパイルするとアプリケーション１２３が生成される。
【００７２】
判断部１５０は、新ファームウェアに対応していない予め定められたソースコードがソースコード１３２Ａに含まれている場合に、アプリケーション１２３が新ファームウェアに整合していないと判断する。新ファームウェアに対応してないソースコードは、たとえば、ファームウェアの更新時に配布される。
【００７３】
更新部１５４（図５参照）は、新ファームウェアに対応していないソースコードを、新ファームウェアに対応しているソースコードに置き換える。当該新たなソースコードは、たとえば、更新情報１２５の「アプリケーションの更新内容」（図３参照）に含まれている。
【００７４】
一例として、ソースコード「ｆｗ１」が新ファームウェアに対応していないとする。この場合、更新部１５４は、ソースコード１３２Ａからソースコード「ｆｗ１」を検索し、ソースコード１３２Ｂに示されるように、ソースコード「ｆｗ１」を新ファームウェアに対応しているソースコード「ｆｗ２」に置き換える。これにより、更新部１５４は、アプリケーション１２３を新ファームウェアに整合させることができる。
【００７５】
（具体例４）
図９を参照して、判断部１５０（図５参照）による整合性の判断方法の具体的４について説明する。図９は、新ファームウェアとアプリケーションとの間の整合性をアプリケーションの命令先に基づいて判断する方法を示す概念図である。
【００７６】
図９に示されるように、ファームウェア１２４は、アプリケーション１２３を動作させるためのアプリケーションプラットフォーム１２７と、画像形成装置１００のハードウェアを制御するための本体制御部１２８とを含む。
【００７７】
ステップ（Ａ）において、全てのアプリケーションがアプリケーションプラットフォーム１２７を介して本体制御部１２８を呼び出すようにファームウェア１２４が更新されたとする。このとき、アプリケーションプラットフォーム１２７を介さずに本体制御部１２８を呼び出すプログラムがアプリケーション１２３に含まれているときに、判断部１５０は、アプリケーション１２３が新ファームウェアに整合していないと判断する。
【００７８】
ステップ（Ｂ）において、更新部１５４（図５参照）は、アプリケーション１２３のソースコードのうち、本体制御部１２８の機能を呼び出している部分をアプリケーションプラットフォーム１２７から呼び出すように変更する。これにより、アプリケーション１２３は、新ファームウェアに整合するようになる。
【００７９】
（具体例５）
図１０を参照して、判断部１５０（図５参照）による整合性の判断方法の具体的５について説明する。図１０は、新ファームウェアとアプリケーションとの間の整合性をアプリケーションに含まれるキーを用いて判断する方法を示す概念図である。
【００８０】
ステップ（Ａ），（Ｂ）に示されるように、画像形成装置１００に組み込まれているアプリケーションがキー１２９を用いてファームウェア１２４の機能を利用するようにファームウェアが更新されたとする。キーは、信頼のあるアプリケーションと不正にインストールされたアプリケーションとを区別するために用いられる。すなわち、画像形成装置１００にインストールされるアプリケーションは、キー１２９に対応するキーを保持していないと、ファームウェア１２４の機能を利用することができない。キー１２９に対応するキーを保持していないアプリケーションは、ファームウェア１２４の機能を利用することができないため、不正にインストールされたアプリケーションを除外することができる。キーは値で表わされ、キーの値は予め取り決められている。
【００８１】
ある局面において、判断部１５０は、既に組み込まれているアプリケーションがキー１２９を用いてファームウェア１２４の機能を利用するようにファームウェアが更新された場合において、アプリケーション１２３がキー１２９を保持していないときに、アプリケーション１２３が新ファームウェアに整合していないと判断する。ステップ（Ｂ）の例では、アプリケーション１２３は、キー１２９を保持していないため、判断部１５０は、アプリケーション１２３が新ファームウェアに整合していないと判断する。
【００８２】
他の局面において、判断部１５０は、アプリケーション１２３が保持しているキーが、新ファームウェアが保持しているキー１２９と一致しないときに、アプリケーション１２３が新ファームウェアに整合していないと判断する。
【００８３】
ステップ（Ｃ）に示されるように、更新部１５４（図５参照）は、新ファームウェアが保持するキー１２９と同一のキーまたは対応するキーをアプリケーション１２３にも保持させる。これにより、アプリケーション１２３は、新ファームウェアに整合するようになる。
【００８４】
（具体例６）
図１１を参照して、判断部１５０（図５参照）による整合性の判断方法の具体的６について説明する。図１１は、新ファームウェアとアプリケーションとの間の整合性をプログラムの不具合パターンに基づいて判断する方法を示す概念図である。
【００８５】
図１１に示されるように、アプリケーション１２３は、ソースコード１３３Ａから生成されているとする。すなわち、ソースコード１３３Ａをコンパイルするとアプリケーション１２３が生成される。
【００８６】
判断部１５０は、新ファームウェアに対するアプリケーション１２３の不具合を規定している不具合パターン１３６がアプリケーション１２３のソースコード１３３Ａに含まれている場合に、アプリケーション１２３が新ファームウェアに整合していないと判断する。不具合パターン１３６には、新ファームウェアに対応していないプログラムパターンが規定されている。一例として、不具合パターン１３６には、新ファームウェアに対応していない関数（メソッド）や関数の順番等が規定されている。不具合パターン１３６は、たとえば、ファームウェアの更新時に配布される。
【００８７】
ソースコード１３３Ｂに示されるように、更新部１５４（図５参照）は、不具合パターン１３６に一致する箇所をソースコード１３３Ａから探索し、当該箇所を新ファームウェアに対応している更新パターン１３７で置き換える。これにより、アプリケーション１２３は、新ファームウェアに整合するようになる。
【００８８】
（具体例７）
以下では、判断部１５０（図５参照）による整合性の判断方法の具体的７について説明する。
【００８９】
判断部１５０は、アプリケーションで使用されているプログラムのバージョン情報と、新ファームウェアで使用されているプログラムのバージョン情報とが異なる場合に、アプリケーションが新ファームウェアに整合していないと判断する。一例として、当該プログラムは、ＨＴＭＬ（HyperText  Markup  Language）である。判断部１５０は、アプリケーションで使用されているＨＴＭＬのバージョンと、ファームウェアで使用されているＨＴＭＬのバージョンとが異なる場合に、アプリケーションが新ファームウェアに整合していないと判断する。
【００９０】
更新部１５４（図５参照）は、新ファームウェアの属性として新ファームウェアのＨＴＭＬのバージョンに対応する更新内容を更新情報１２５（図３参照）から取得する。更新部１５４は、取得した更新内容に従ってアプリケーションを更新する。これにより、アプリケーション１２３は、新ファームウェアに整合するようになる。
【００９１】
［画像形成装置１００の制御構造］
図１２を参照して、画像形成装置１００の制御構造について説明する。図１２は、画像形成装置１００が実行する処理の一部を表わすフローチャートである。図１２の処理は、画像形成装置１００のＣＰＵ（Central  Processing  Unit）１０２（図１３参照）がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子その他のハードウェアによって実行されてもよい。
【００９２】
ステップＳ１０において、ＣＰＵ１０２は、画像形成装置１００のファームウェアを更新するための命令を受け付けたか否かを判断する。一例として、当該命令は、予め定められた期間（たとえば、１か月）ごとにサーバーから発せられる。あるいは、当該命令は、新ファームウェアが配布される度に発せられる。あるいは、当該命令は、ユーザーによるファームウェアの更新操作によって発せられる。ＣＰＵ１０２は、ファームウェアを更新するための命令を受け付けたと判断した場合（ステップＳ１０においてＹＥＳ）、制御をステップＳ１２に切り替える。そうでない場合には（ステップＳ１０においてＮＯ）、ＣＰＵ１０２は、ステップＳ１０の処理を再び実行する。
【００９３】
ステップＳ１２において、ＣＰＵ１０２は、サーバー等からファームウェアの更新プログラムを受信する。ＣＰＵ１０２は、当該更新プログラムを実行することにより、ファームウェアを更新する。
【００９４】
ステップＳ２０において、ＣＰＵ１０２は、判断部１５０（図５参照）として、画像形成装置１００に組み込まれているアプリケーションが新ファームウェアと整合しているか否かを判断する。当該整合性の判断方法は、上述の通りであるので説明を繰り返さない。ＣＰＵ１０２は、画像形成装置１００に組み込まれているアプリケーションが新ファームウェアと整合していると判断した場合（ステップＳ２０においてＹＥＳ）、本実施の形態に従う更新処理を終了する。そうでない場合には（ステップＳ２０においてＮＯ）、ＣＰＵ１０２は、制御をステップＳ２２に切り替える。
【００９５】
ステップＳ２２において、ＣＰＵ１０２は、更新部１５４（図５参照）として、更新情報１２５（図３参照）をサーバーから受信するとともに、更新情報１２５を参照して新ファームウェアの属性に対応付けられている更新内容を特定し、当該更新内容に従ってアプリケーションの対応部分を更新する。
【００９６】
［画像形成装置１００のハードウェア構成］
図１３を参照して、実施の形態に従う画像形成装置１００のハードウェア構成の一例について説明する。図１３は、画像形成装置１００の主要なハードウェア構成を示すブロック図である。
【００９７】
図１３に示されるように、画像形成装置１００は、ＲＯＭ（Read  Only  Memory）１０１と、ＣＰＵ１０２と、ＲＡＭ（Random  Access  Memory）１０３と、操作パネル１０４と、ネットワークインターフェイス１０５と、スキャナー部１０７と、プリント部１０８と、記憶装置１２０とを含む。
【００９８】
ＲＯＭ１０１は、オペレーティングシステム、画像形成装置１００で実行される制御プログラム等を格納する。ＣＰＵ１０２は、画像形成装置１００の制御プログラム等の各種プログラムを実行することで、画像形成装置１００の動作を制御する。ＲＡＭ１０３は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【００９９】
操作パネル１０４は、ディスプレイとタッチセンサーとを備え、タッチパネルとして構成される。操作パネル１０４は、たとえば、ファームウェア１２４の更新操作を受け付け、アプリケーション１２３やファームウェア１２４の更新結果等を表示する。
【０１００】
ネットワークインターフェイス１０５には、アンテナ等が接続される。画像形成装置１００は、当該アンテナを介して、他の通信機器との間でデータをやり取りする。他の通信機器は、たとえば、サーバー等を含む。画像形成装置１００は、アンテナを介して、更新プログラム１２２、アプリケーション１２３、ファームウェア１２４、および更新情報１２５をサーバーからダウンロードできるように構成される。
【０１０１】
スキャナー部１０７は、画像形成装置１００にセットされた原稿をスキャンし、原稿の画像データを生成する。スキャナー部１０７における画像データの生成方法には、公知の方法が採用され得る。
【０１０２】
プリント部１０８は、たとえば電子写真方式により、スキャナー部１０７で読み取られた画像データや、外部端末から送信されたプリントデータを、印刷のためのデータに変換し、変換後のデータに基づいて文書等の画像を印刷する。画像形成の方法には、公知の方法が採用され得る。
【０１０３】
記憶装置１２０は、たとえば、ハードディスクや外付けの記憶装置等の記憶媒体である。一例として、記憶装置１２０は、本実施の形態に従う更新プログラム１２２、アプリケーション１２３、ファームウェア１２４、および更新情報１２５等を格納する。アプリケーション１２３は、たとえば、他のアプリケーションを管理するための管理アプリケーションや、画像形成装置１００の待機状態中にバックグランドで動作しているアプリケーション等である。
【０１０４】
なお、更新プログラム１２２は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う更新プログラム１２２の趣旨を逸脱するものではない。さらに、更新プログラム１２２によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも１つのサーバーが本実施の形態に従う処理を実現する、所謂クラウドサービスのような形態で画像形成装置１００が構成されてもよい。
【０１０５】
［小括］
以上のようにして、画像形成装置１００は、ファームウェアが更新された場合に、既に組み込まれているアプリケーションが新ファームウェアに整合するか否かを判断する。画像形成装置１００は、当該アプリケーションについて新ファームウェアに対応しない個所を特定し、当該箇所を新ファームウェアに対応するように更新する。新ファームウェアと不整合が生じる部分だけが更新されるので、アプリケーションの更新時間が短縮される。
【０１０６】
また、アプリケーションの必要部分だけが更新されることにより、アプリケーションのユーザー設定がファームウェアの更新に伴って変更されることがない。そのため、ユーザーは、アプリケーションに対して再度設定を行なう必要がなく、ユーザーの手間が削減される。
【０１０７】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１０８】
１００  画像形成装置、１０１  ＲＯＭ、１０２  ＣＰＵ、１０３  ＲＡＭ、１０４  操作パネル、１０５  ネットワークインターフェイス、１０７  スキャナー部、１０８  プリント部、１１４  フィーダー、１１５  トレー、１１９  給紙部、１２０  記憶装置、１２２  更新プログラム、１２３，１２３Ａ〜１２３Ｃ  アプリケーション、１２４  ファームウェア、１２５，１２５Ａ  更新情報、１２７  アプリケーションプラットフォーム、１２８  本体制御部、１２９  キー、１３２Ａ，１３２Ｂ，１３３Ａ，１３３Ｂ  ソースコード、１３６  不具合パターン、１３７  更新パターン、１５０  判断部、１５２  通信部、１５４  更新部、２００  サーバー。
【図１】
0006536288.tif 000002
【図２】
0006536288.tif 000003
【図３】
0006536288.tif 000004
【図４】
0006536288.tif 000005
【図５】
0006536288.tif 000006
【図６】
0006536288.tif 000007
【図７】
0006536288.tif 000008
【図８】
0006536288.tif 000009
【図９】
0006536288.tif 000010
【図１０】
0006536288.tif 000011
【図１１】
0006536288.tif 000012
【図１２】
0006536288.tif 000013
【図１３】
0006536288.tif 000014