(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023137383
(43)【公開日】2023-09-29
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06F 8/65 20180101AFI20230922BHJP
【FI】
G06F8/65
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022043570
(22)【出願日】2022-03-18
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】志賀 洋介
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA16
5B376CA45
(57)【要約】 (修正有)
【課題】ファームウェアの更新をより効率的に実行する情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】情報処理装置であるMFPは、1つ以上の部品それぞれについて、部品のファームウェアが、有効化されている機能に必要なバージョンを満たすか否かを判定する判定部と、機能に必要なバージョンを満たすと判定された部品のファームウェアを記憶部に記憶する記憶制御部と、を備える。判定部はさらに、記憶部にファームウェアが記憶された後に交換された部品を表す交換後部品について、交換後部品のファームウェアが、機能に必要なバージョンを満たすか否かを判定する。MGPはまた、機能に必要なバージョンを満たさないと判定された交換後部品のファームウェアを、記憶部に記憶されたファームウェアのうち、交換後部品に対応する部品のファームウェアで更新する更新部を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
1つ以上の部品それぞれについて、前記部品のファームウェアが、有効化されている機能に必要なバージョンを満たすか否かを判定する判定部と、
前記機能に必要なバージョンを満たすと判定された前記部品のファームウェアを記憶部に記憶する記憶制御部と、を備え、
前記判定部は、さらに、前記記憶部に前記ファームウェアが記憶された後に交換された部品を表す交換後部品について、前記交換後部品のファームウェアが、前記機能に必要なバージョンを満たすか否かを判定し、
前記機能に必要なバージョンを満たさないと判定された前記交換後部品のファームウェアを、前記記憶部に記憶されたファームウェアのうち、前記交換後部品に対応する前記部品のファームウェアで更新する更新部をさらに備える、
情報処理装置。
【請求項2】
前記判定部は、前記情報処理装置が起動されたときに、前記部品のファームウェアが、有効化されている機能に必要なバージョンを満たすか否かを判定する、
請求項1に記載の情報処理装置。
【請求項3】
前記判定部は、さらに、有効化する機能が変更されたときに、変更後の機能を表す変更後機能に必要なバージョンを満たすか否かを判定し、
前記更新部は、さらに、前記変更後機能に必要なバージョンを満たさないと判定された前記部品のファームウェアを、前記記憶部に記憶されたファームウェアのうち、前記部品のファームウェアで更新する、
請求項1に記載の情報処理装置。
【請求項4】
前記記憶部は、有効化されている機能に必要なバージョンを表すバージョン情報を記憶し、
前記記憶制御部は、さらに、有効化する機能が変更されたときに、変更後の機能を表す変更後機能に必要なバージョンを表すように、前記記憶部に記憶された前記バージョン情報を更新する、
請求項1に記載の情報処理装置。
【請求項5】
情報処理装置で実行される情報処理方法であって、
1つ以上の部品それぞれについて、前記部品のファームウェアが、有効化されている機能に必要なバージョンを満たすか否かを判定する第1判定ステップと、
前記機能に必要なバージョンを満たすと判定された前記部品のファームウェアを記憶部に記憶する記憶制御ステップと、
前記記憶部に前記ファームウェアが記憶された後に交換された部品を表す交換後部品について、前記交換後部品のファームウェアが、前記機能に必要なバージョンを満たすか否かを判定する第2判定ステップと、
前記機能に必要なバージョンを満たさないと判定された前記交換後部品のファームウェアを、前記記憶部に記憶されたファームウェアのうち、前記交換後部品に対応する前記部品のファームウェアで更新する更新ステップと、
を含む情報処理方法。
【請求項6】
コンピュータに、
1つ以上の部品それぞれについて、前記部品のファームウェアが、有効化されている機能に必要なバージョンを満たすか否かを判定する第1判定ステップと、
前記機能に必要なバージョンを満たすと判定された前記部品のファームウェアを記憶部に記憶する記憶制御ステップと、
前記記憶部に前記ファームウェアが記憶された後に交換された部品を表す交換後部品について、前記交換後部品のファームウェアが、前記機能に必要なバージョンを満たすか否かを判定する第2判定ステップと、
前記機能に必要なバージョンを満たさないと判定された前記交換後部品のファームウェアを、前記記憶部に記憶されたファームウェアのうち、前記交換後部品に対応する前記部品のファームウェアで更新する更新ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
画像形成装置等の情報処理装置が備える各部品(ユニット)は、それぞれ対応するファームウェアを用いて制御される。最新バージョンのファームウェアが必要な場合は、例えば、外部の装置または記録媒体などから取得した最新バージョンのファームウェアへの更新処理が行われる。
【0003】
例えば、特許文献1では、ファームウェアのアップデート(更新)に要する時間をより短くするために、インストール済みのファームウェアと更新対象のファームウェアとの間で世代バージョンが一致する場合には、差分のみでアップデートする技術が提案されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、ファームウェアの更新を効率的に実行できない場合があった。
【0005】
本発明は、上記に鑑みてなされたものであって、ファームウェアの更新をより効率的に実行できる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明は、1つ以上の部品それぞれについて、前記部品のファームウェアが、有効化されている機能に必要なバージョンを満たすか否かを判定する判定部と、前記機能に必要なバージョンを満たすと判定された前記部品のファームウェアを記憶部に記憶する記憶制御部と、を備え、前記判定部は、さらに、前記記憶部に前記ファームウェアが記憶された後に交換された部品を表す交換後部品について、前記交換後部品のファームウェアが、前記機能に必要なバージョンを満たすか否かを判定し、前記機能に必要なバージョンを満たさないと判定された前記交換後部品のファームウェアを、前記記憶部に記憶されたファームウェアのうち、前記交換後部品に対応する前記部品のファームウェアで更新する更新部をさらに備える。
【発明の効果】
【0007】
本発明によれば、ファームウェアの更新をより効率的に実行できるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理装置を含む情報処理システムの全体構成の一例を示す図である。
【
図2】
図2は、本実施形態にかかるMFPのハードウェア構成の一例を示す図である。
【
図3】
図3は、本実施形態に係るMFPの機能ブロックの構成の一例を示す図である。
【
図4】
図4は、ファームウェア更新処理の一例を示すフローチャートである。
【
図5】
図5は、ファームウェア更新処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、情報処理装置、情報処理方法、およびプログラムの実施形態を詳細に説明する。以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【0010】
また、コンピュータソフトウェアとは、コンピュータの動作に関するプログラム、その他コンピュータによる処理の用に供する情報であってプログラムに準ずるものをいう(以下、コンピュータソフトウェアは、ソフトウェアという)。アプリケーションとは、ソフトウェアの分類のうち、特定の作業を行うために使用されるソフトウェアの総称である。また、ファームウェアとは、電子機器に組み込まれたハードウェアを制御するためのソフトウェアである。そして、オペレーティングシステム(OS)とは、コンピュータを制御し、アプリケーションソフト等がコンピュータ資源を利用可能にするためのソフトウェアのことである。オペレーティングシステムは、入出力の制御、メモリおよびハードディスク等のハードウェアの管理、並びにプロセスの管理といった、コンピュータの基本的な管理・制御を行っている。アプリケーションは、オペレーティングシステムが提供する機能を利用して動作する。プログラムとは、コンピュータに対する指令であって、一の結果を得ることができるように組み合わせたものをいう。また、プログラムに準ずるものとは、コンピュータに対する直接の指令ではないためプログラムとは呼べないが、コンピュータの処理を規定するという点でプログラムに類似する性質を有するものをいう。例えば、データ構造(データ要素間の相互関係で表される、データの有する論理的構造)がプログラムに準ずるものに該当する。
【0011】
以下では、情報処理装置の一例として、MFP(Multi-function Peripheral/Product/Printer:複合機)等の画像形成装置を例に挙げて説明するが、これに限られるものではない。例えば、本発明に係る情報処理装置は、PC(Personal Computer)、スマートフォン、携帯電話等の情報処理装置、コンシューマ向け電子機器、オフィスまたは作業現場に設置される共有端末、産業機械、組み込み機械、または医療機器等であってもよい。なお、複合機(MFP)とは、コピー機能、スキャナ機能、プリンタ機能、およびファクス機能等の複数の異なる機能を有する装置である。
【0012】
上記のように、従来の技術では、ファームウェアの更新を効率的に実行できない場合があった。例えば、ある部品を交換したときに、交換後の部品(以下、交換後部品)のファームウェアが、交換前に有効化されていた機能の世代バージョンより古いバージョンに対応するファームウェアであった場合に、部品交換前の機能を継続して利用できなくなる。
【0013】
この場合、有効化されていた機能の世代バージョンに対応するファームウェアに更新するために、交換前には情報処理装置内に存在したファームウェア(有効化されていた機能の世代バージョンに対応するファームウェア)を、再度入手して更新する必要が生じる。例えば、部品交換後に部品交換前の機能を継続して利用するために、ファームウェアの更新が必要かどうかを判断する必要がある。また、例えばネットワーク100を経由してファームウェアを更新する場合、ファームウェアの受信のための時間が必要となる。また例えばファームウェアを格納した記録媒体を用いる場合、事前に記録媒体を用意する必要が生じる。
【0014】
なお、世代バージョンとは、例えば、個別のファームウェアに割り当てられた一意のバージョンとは別に、有効化する機能の世代を表す情報として割り当てられる情報である。
【0015】
本実施形態の情報処理装置は、ファームウェアの更新をより効率的に実行するため、例えば、以下の機能を備える。
・各部品は、書き込まれたファームウェアが対応する機能の世代バージョンの情報を有する。
・情報処理装置は、現在有効化されている機能の世代バージョンを記憶装置(不揮発性の記憶装置など)へ記憶する。
・情報処理装置は、起動時、または、ファームウェアの更新時に、必要に応じてファームウェアを記憶装置へバックアップする。
・情報処理装置は、起動時に、有効化されている機能の世代バージョンに対応していないファームウェアを有する部品に対して、記憶装置へバックアップされたファームウェアによるファームウェア更新(ファームウェアアップデート)を行う。
【0016】
図1は、実施形態に係る情報処理装置を含む情報処理システムの全体構成の一例を示す図である。
図1を参照しながら、本実施形態に係る情報処理システムの全体構成について説明する。
【0017】
図1に示すように、情報処理システム1は、MFP9と、スマートフォン4と、PC5と、を含む。MFP9、スマートフォン4およびPC5は、ネットワーク100を介してデータ通信が可能となっている。
【0018】
ネットワーク100は、例えばインターネットおよびLAN(ローカルエリアネットワーク)であるが、その他のどのような形態のネットワークであってもよい。ネットワーク100は、無線ネットワーク、有線ネットワーク、および、無線と有線とが混在するネットワークのいずれであってもよい。
【0019】
スマートフォン4およびPC5は、例えば、MFP9に機能を追加して有効化する処理を実行するために用いられる。スマートフォン4およびPC5に対してこのような処理を許可しない場合等であれば、情報処理システム1は、スマートフォン4およびPC5の少なくとも一方を備えなくてもよい。すなわち、MFP9は、ネットワーク100に接続されない構成であってもよい。また、情報処理システム1は、MFP9、スマートフォン4およびPC5をそれぞれ2台以上備えてもよいし、MFP9、スマートフォン4およびPC5以外の機器をさらに備えてもよい。
【0020】
図2は、本実施形態にかかるMFP9のハードウェア構成の一例を示す図である。
図2に示されるように、MFP9は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
【0021】
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、および、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
【0022】
これらのうち、CPU901は、MFP9の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、およびAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタおよびAGPターゲットとを有する。
【0023】
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、およびメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0024】
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908およびMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲットおよびAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931およびプリンタ部932との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906には、USB(Universal Serial Bus)のインタフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインタフェースを接続するようにしてもよい。
【0025】
MEM-C907は、コピー用画像バッファおよび符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御に従ってHD909に対するデータの読出または書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【0026】
また、近距離通信回路920には、無線通信用のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
【0027】
さらに、エンジン制御部930は、スキャナ部931およびプリンタ部932によって構成されている。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキーおよびコピー開始指示を受け付けるスタートキー等からなる操作パネル940bを備えている。コントローラ910は、MFP9全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931またはプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【0028】
なお、MFP9は、操作パネル940のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、およびファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【0029】
また、ネットワークI/F950は、ネットワーク100を利用してデータ通信をするためのインタフェースである。近距離通信回路920およびネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
【0030】
なお、
図2に示したMFP9のハードウェア構成は一例を示すものであり、
図2に示した構成要素をすべて含む必要はなく、または、その他の構成要素を含むものとしてもよい。
【0031】
ファームウェアは、例えばROM902aに記憶される。ファームウェアを更新可能とするため、ROM902aは、例えば、書き換え可能なフラッシュROMなどの不揮発性メモリで構成される。ファームウェアのバックアップデータは、例えばHD909などの大容量の不揮発性の記憶装置に記憶される。
【0032】
図3は、本実施形態に係るMFP9の機能ブロックの構成の一例を示す図である。
図3は、MFP9が備えるコントローラ910、操作パネル940、および、エンジンユニット930-Uの機能ブロックの例を示す。なお
図3は、主にファームウェアの更新に関連する構成部のみを記載している。
【0033】
エンジンユニット930-Uは、例えば、エンジン制御部930を含む交換可能な部品に相当する。コントローラ910、操作パネル940およびエンジンユニット930-Uは、交換可能な部品の例である。これら以外の構成部が交換可能な部品であってもよい。
【0034】
操作パネル940は、操作パネル制御部941と、記憶部945と、を備える。操作パネル制御部941は、操作パネル940を制御する。記憶部945は、例えば、操作パネル940のファームウェアを記憶する不揮発性の記憶装置である。
【0035】
エンジンユニット930-Uは、エンジン制御部930と、記憶部935と、を備える。エンジン制御部930は、エンジンユニット930-Uを制御する。記憶部935は、例えば、エンジンユニット930-Uのファームウェアを記憶する不揮発性の記憶装置である。
【0036】
コントローラ910は、判定部301と、記憶制御部302と、更新部303と、記憶部310と、を備える。
【0037】
記憶部310は、コントローラ910に関連する各種データを記憶する。例えば記憶部310は、
図2のMEM-P902(ROM902a、RAM902b)、MEM-C907、および、HD909に相当する。以下では、記憶部310は、ファームウェアをバックアップするためのHD909と、有効化されている機能に必要なバージョンを表す情報(バージョン情報)を記憶するためのROM902aと、に相当するものとして説明する。
【0038】
判定部301は、ファームウェアのバージョンを判定する。例えば判定部301は、判定対象となる1つ以上の部品それぞれについて、部品のファームウェアが、有効化されている機能に必要なバージョンを満たすか否かを判定する。
【0039】
判定のタイミングは、例えば、MFP9の起動時(電源の投入時)、および、有効化する機能が変更(追加など)されたときである。例えば判定部301は、MFP9が起動されたときに、部品のファームウェアが、現在有効化されている機能に必要なバージョンを満たすか否かを判定する。また判定部301は、有効化する機能が変更されたときに、部品のファームウェアが、変更後の機能(変更後機能)に必要なバージョンを満たすか否かを判定する。
【0040】
記憶制御部302は、ファームウェアの管理に関係する各種情報の記憶を制御する。例えば記憶制御部302は、判定部301により、有効化されている機能に必要なバージョンを満たすと判定された部品のファームウェアを、例えばHD909に記憶する。これにより、MFP9の起動時、または、有効化する機能が変更されたときに、部品のファームウェアがHD909へバックアップされる。
【0041】
有効化されている機能に必要なバージョンを表す情報(バージョン情報)は、例えばROM902aに記憶される。記憶制御部302は、有効化する機能が変更されたときに、変更後機能に必要なバージョンを表すように、ROM902aに記憶されたバージョン情報を更新する。
【0042】
判定部301は、さらにファームウェアがHD909にバックアップされた後に交換される部品のファームウェアのバージョンの判定を行う。例えば判定部301は、HD909にファームウェアが記憶された後に交換された交換後部品について、交換後部品のファームウェアが、現在有効化されている機能に必要なバージョンを満たすか否かを判定する。
【0043】
更新部303は、ファームウェアの更新を行う。例えば更新部303は、機能に必要なバージョンを満たさないと判定された交換後部品のファームウェアを、HD909に記憶されたファームウェアのうち、交換後部品に対応する部品のファームウェアで更新する。また、有効化する機能が変更された場合、更新部303は、変更後機能に必要なバージョンを満たさないと判定された部品のファームウェアを、HD909に記憶されたファームウェアのうち、当該部品のファームウェアで更新する。
【0044】
次に、MFP9によるファームウェア更新処理の全体の流れについて説明する。
図4は、ファームウェア更新処理の一例を示すフローチャートである。なお、
図4は、MFP9の電源が投入されたとき(起動時)に実行されるファームウェア更新処理の例である。
【0045】
ファームウェア更新処理では、主に以下のような処理が実行される。
・各部品のファームウェアが、有効化されている機能を利用するために必要な世代バージョンを満たしていれば、ファームウェアがHD909にバックアップされる。
・各部品のファームウェアが、有効化されている機能を利用するために必要な世代バージョンを満たしていなければ、HD909へバックアップされたファームウェアを利用した更新処理が実行される。
【0046】
まず、記憶制御部302は、ROM902aから、現在有効化されている機能に必要な世代バージョンVAを表すバージョン情報を取得する(ステップS101)。
【0047】
コントローラ910は、未処理の部品のファームウェアのバージョンVUを表すバージョン情報を取得する(ステップS102)。例えば操作パネル940およびエンジンユニット930-Uが未処理の部品に相当しうる場合、コントローラ910は、これらの部品のいずれかについて、バージョン情報を取得する。バージョン情報は、例えば操作パネル940の記憶部945、および、エンジンユニット930-Uの記憶部935から取得することができる。
【0048】
判定部301は、部品から取得したバージョン情報が表すバージョンVUが、ROM902aから取得したバージョン情報が表す世代バージョンVAを満たすか否かを判定する(ステップS103)。バージョンを満たすとは、例えば、部品のファームウェアのバージョンVUが、世代バージョンVAに対応する機能を有効化するために必要となるファームウェアのバージョンであることを意味する。判定部301は、例えば、各世代バージョンと、当該世代バージョンで必要となる各部品のファームウェアのバージョンとを対応づけた情報などを参照することにより、本ステップの判定処理を実行することができる。
【0049】
バージョンVUが世代バージョンVAを満たさない場合(ステップS103:No)、更新部303は、当該部品の記憶部に対してファームウェアの更新処理を行う(ステップS104)。例えば更新部303は、HD909にバックアップされているファームウェアのうち、当該部品に対応するファームウェアを取得し、取得したファームウェアにより、当該部品の記憶部に記憶されたファームウェアを更新する。なお、例えば当該部品のファームウェアがHD909にバックアップされていない場合は、更新部303は、例えばネットワーク100を経由して世代バージョンVAに対応するファームウェアを入手し、入手したファームウェアにより、部品が備える記憶部内のファームウェアを更新してもよい。
【0050】
ファームウェアの更新処理後、および、バージョンVUが世代バージョンVAを満たす場合(ステップS103:Yes)、コントローラ910は、すべての部品を処理したか否かを判定する(ステップS105)。
【0051】
すべての部品を処理していない場合(ステップS105:No)、コントローラ910は、ステップS102に戻り、次の未処理の部品について処理を繰り返す。すべての部品を処理した場合(ステップS105:Yes)、記憶制御部302は、各部品のファームウェアをHD909にバックアップし(ステップS106)、ファームウェア更新処理を終了する。
【0052】
次に、追加の機能を有効化するときに実行されるファームウェア更新処理について説明する。
図5は、この場合のファームウェア更新処理の一例を示すフローチャートである。なお、
図5は、例えば、操作パネル940、スマートフォン4およびPC5などを介して、追加の機能を有効化するときに実行される。
【0053】
まず、記憶制御部302は、ROM902aから、現在有効化されている機能に必要な世代バージョンVAを表すバージョン情報を取得する(ステップS201)。
【0054】
記憶制御部302は、さらに、追加する機能を有効化するときに必要な世代バージョンVFを取得する(ステップS202)。機能を有効化するときに必要な世代バージョンは、例えばROM902aに記憶されており、記憶制御部302は、ROM902aから世代バージョンVFを取得する。
【0055】
判定部301は、世代バージョンVAが世代バージョンVFを満たすか否かを判定する(ステップS203)。世代バージョンVAが世代バージョンVFを満たさない場合(ステップS203:No)、コントローラ910は、未処理の部品のファームウェアのバージョンVUを表すバージョン情報を取得する(ステップS204)。
【0056】
判定部301は、部品から取得したバージョン情報が表すバージョンVUが、世代バージョンVFを満たすか否かを判定する(ステップS205)。
【0057】
バージョンVUが世代バージョンVFを満たさない場合(ステップS205:No)、更新部303は、当該部品の記憶部に対してファームウェアの更新処理を行う(ステップS206)。例えば更新部303は、HD909にバックアップされているファームウェアのうち、当該部品に対応するファームウェアを取得し、取得したファームウェアにより、当該部品の記憶部に記憶されたファームウェアを更新する。なお、例えば当該部品のファームウェアがHD909にバックアップされていない場合は、更新部303は、例えばネットワーク100を経由して世代バージョンVFに対応するファームウェアを入手し、入手したファームウェアにより、部品が備える記憶部内のファームウェアを更新してもよい。
【0058】
ファームウェアの更新処理後、および、バージョンVUが世代バージョンVFを満たす場合(ステップS205:Yes)、コントローラ910は、すべての部品を処理したか否かを判定する(ステップS207)。
【0059】
すべての部品を処理していない場合(ステップS207:No)、コントローラ910は、ステップS204に戻り、次の未処理の部品について処理を繰り返す。すべての部品を処理した場合(ステップS207:Yes)、記憶制御部302は、各部品のファームウェアをHD909にバックアップする(ステップS208)。また記憶制御部302は、ROM902aに記憶されている世代バージョンのバージョン情報を、追加する機能を有効化するときに必要な世代バージョンVFに更新する(ステップS209)。
【0060】
バージョンを更新後、および、世代バージョンVAが世代バージョンVFを満たす場合(ステップS203:Yes)、コントローラ910は、追加された機能を有効化し(ステップS210)、ファームウェア更新処理を終了する。
【0061】
更新部303は、例えば操作者の指示に応じてネットワーク100などを介して最新のファームウェアを入手し、1つ以上の部品のファームウェアを更新した場合にも、上記と同様に、更新後のファームウェアをHD909にバックアップする。これにより、例えばその後に部品が交換された場合であっても、起動時(
図4)、または、追加する機能を有効化するとき(
図5)に、必要に応じて、交換後部品のファームウェアは、バックアップされたファームウェアにより、世代バージョンを満たすバージョンのファームウェアに更新される。
【0062】
以上のように、本実施形態では、部品交換などにより、部品のファームウェアのバージョンが、世代バージョンを満たさなくなった場合であっても、記憶部にバックアップされたファームウェアにより世代バージョンを満たすバージョンのファームウェアに更新することが可能となる。
【0063】
これにより、例えば以下のような効果が得られる。
・部品交換前の機能を継続して利用できる。
・部品交換時、機能を継続して利用するためにファームウェア更新が必要かどうかの判断をする必要がなくなる。
・部品交換時、ネットワークからファームウェアをダウンロードせずにファームウェアを更新できる。
・部品交換時、ファームウェアを含むメディアを用意せずにファームウェアを更新できる。
【0064】
なお、本実施形態の情報処理装置で実行されるプログラムは、ROM902a等に予め組み込まれて提供される。本実施形態の情報処理装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0065】
さらに、本実施形態の情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0066】
本実施形態の情報処理装置で実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU901(プロセッサの一例)が上記ROM902aからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ上記各部が主記憶装置上に生成されるようになっている。
【0067】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0068】
1 情報処理システム
4 スマートフォン
5 PC
9 MFP
100 ネットワーク
301 判定部
302 記憶制御部
303 更新部
310 記憶部
930-U エンジンユニット
930 エンジン制御部
935 記憶部
940 操作パネル
941 操作パネル制御部
945 記憶部
【先行技術文献】
【特許文献】
【0069】