IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7069826情報処理装置、ファームウェア更新方法、プログラム
<>
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図1
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図2
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図3
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図4
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図5
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図6
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図7
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図8
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図9
  • 特許-情報処理装置、ファームウェア更新方法、プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-10
(45)【発行日】2022-05-18
(54)【発明の名称】情報処理装置、ファームウェア更新方法、プログラム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20220511BHJP
【FI】
G06F8/65
【請求項の数】 12
(21)【出願番号】P 2018033880
(22)【出願日】2018-02-27
(65)【公開番号】P2019149048
(43)【公開日】2019-09-05
【審査請求日】2020-11-18
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】渡邊 元気
【審査官】中村 信也
(56)【参考文献】
【文献】特開2008-152793(JP,A)
【文献】特開2010-079440(JP,A)
【文献】特開2010-079438(JP,A)
【文献】特開2011-210104(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
G06F 8/60-8/77
G06F 9/44-9/445
G06F 9/451
(57)【特許請求の範囲】
【請求項1】
少なくとも1つ以上のファームウェアを実行する情報処理装置であって、
ファームウェアごとにファームウェアの更新に際して要求される事前条件が各ファームウェアの更新順に設定され、更に、更新されたファームウェアの環境を整えるための処理が設定された環境条件が設定された更新手順情報を参照し、
前記事前条件を更新順に判断し、前記事前条件を満たしている場合、更新対象のファームウェアの更新を行い、
少なくとも1つ以上のファームウェアの更新後、前記環境条件に従って処理を行うファームウェア更新制御手段、を有し、
前記更新手順情報には更新されるファームウェアの優先度が設定されており、
前記ファームウェア更新制御手段は、前記事前条件を満たさない場合、前記優先度が閾値以上の場合は、前記情報処理装置の再起動後にファームウェアの更新を再度、試行し、
前記優先度が閾値以上でない場合は、前記情報処理装置の再起動後にファームウェアの更新を試行しないことを特徴とする情報処理装置。
【請求項2】
前記環境条件はファームウェアの更新後に前記情報処理装置の少なくとも一部を再起動することであり、
再起動によりファームウェアがRAMに展開されることで、別のファームウェアの前記事前条件を満たすことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記ファームウェア更新制御手段は、前記環境条件に従った処理として、前記情報処理装置の全体を再起動することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記ファームウェア更新制御手段は、前記環境条件に従った処理として、前記情報処理装置が有する部品を再起動することを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
着脱可能な部品が接続されており、
前記ファームウェア更新制御手段は、前記環境条件に従った処理として、前記部品の電源オンを行い前記部品との通信を再開させることを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記ファームウェア更新制御手段は、前記環境条件に従った処理として、前記情報処理装置を所定の部品のファームウェアを更新できる起動モードで再起動させることを特徴とする請求項1~5のいずれか1項に記載の情報処理装置。
【請求項7】
前記ファームウェア更新制御手段は、前記事前条件を満たさない場合、前記優先度に応じて定められているリトライ回数だけ、前記情報処理装置の再起動後にファームウェアの更新を試行することを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記ファームウェア更新制御手段は、
更新用のファームウェアの方が、前記情報処理装置にインストールされているファームウェアよりも新しい場合にファームウェアを更新するものであり、
前記ファームウェアの更新が不要な場合でも、更新が不要なファームウェアのバージョンを外部から確認するための代表バージョンを、更新後の代表バージョンに更新することを試みることを特徴とする請求項1~7のいずれか1項に記載の情報処理装置。
【請求項9】
前記ファームウェア更新制御手段は、
前記情報処理装置にインストールされているファームウェアを更新するためのファームウェアをインストールした後、前記情報処理装置を再起動して、
前記更新するためのファームウェアにより前記情報処理装置にインストールされているファームウェアを更新することを特徴とする請求項1~8のいずれか1項に記載の情報処理装置。
【請求項10】
ネットワークを介してファームウェアに関する情報を記憶するサーバ装置と通信する通信手段を有し、
前記ファームウェア更新制御手段は、
更新用のファームウェアの方が、前記情報処理装置にインストールされているファームウェアよりも新しいか否かを判断するため新旧判断情報を有していない場合、
前記通信手段により、前記サーバ装置から前記新旧判断情報を取得することを特徴とする請求項8に記載の情報処理装置。
【請求項11】
少なくとも1つ以上のファームウェアを実行する情報処理装置が行うファームウェア更新方法であって、
ファームウェア更新制御手段が、ファームウェアごとにファームウェアの更新に際して要求される事前条件が各ファームウェアの更新順に設定され、更に、更新されたファームウェアの環境を整えるための処理が設定された環境条件が設定された更新手順情報を参照し、
更新順に前記事前条件を判断し、前記事前条件を満たしている場合、更新対象のファームウェアの更新を行い、
少なくとも1つ以上のファームウェアの更新後、前記環境条件に従って処理を行い、
前記更新手順情報には更新されるファームウェアの優先度が設定されており、
前記ファームウェア更新制御手段は、前記事前条件を満たさない場合、前記優先度が閾値以上の場合は、前記情報処理装置の再起動後にファームウェアの更新を再度、試行し、
前記優先度が閾値以上でない場合は、前記情報処理装置の再起動後にファームウェアの更新を試行しないことを特徴とするファームウェア更新方法。
【請求項12】
少なくとも1つ以上のファームウェアを実行する情報処理装置を、
ファームウェアごとにファームウェアの更新に際して要求される事前条件が各ファームウェアの更新順に設定され、更に、更新されたファームウェアの環境を整えるための処理が設定された環境条件が設定された更新手順情報を参照し、
更新順に前記事前条件を判断し、前記事前条件を満たしている場合、更新対象のファームウェアの更新を行い、
少なくとも1つ以上のファームウェアの更新後、前記環境条件に従って処理を行うファームウェア更新制御手段、として機能させ、
前記更新手順情報には更新されるファームウェアの優先度が設定されており、
前記ファームウェア更新制御手段は、前記事前条件を満たさない場合、前記優先度が閾値以上の場合は、前記情報処理装置の再起動後にファームウェアの更新を再度、試行し、
前記優先度が閾値以上でない場合は、前記情報処理装置の再起動後にファームウェアの更新を試行しないことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、ファームウェア更新方法、及び、プログラムに関する。
【背景技術】
【0002】
情報処理装置では一般にファームウェアと呼ばれるプログラムが動作する。ファームウェアは情報処理装置の基本的な機能と関わりが大きいハードウェアを制御するソフトウェアの一種である。ファームウェアはROM(Read Only Memory)に固定的に組み込まれ、HDD(Hard Disk Drive)に記憶されるハードウェアの制御とは必ずしも関係しないプログラムとは区別して扱われる場合が多い。
【0003】
情報処理装置によっては、サーバと通信して最新のファームウェアを取得して自動的に更新することができるものがある。
【0004】
しかしながら、ファームウェアの更新では、ファームウェアのバージョンに関する事前条件を満たす必要があり、単に最新のファームウェアを電子機器が取得しても更新できない場合がある。事前条件とは例えば「あるファームウェアが特定のバージョン以上でなければ最新のファームウェアに更新できない」ことをいう。
【0005】
このような不都合に対して事前条件を満たすように順番にファームウェアを更新する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、主装置向けのファームウェアと、付属装置向けのファームウェアと、それらの更新の手順を示すファイルとを取得し、そのファイルに基づいて主装置の装置構成に応じた手順で主装置のファームウェア及び付属装置のファームウェアの更新処理を行う管理装置について開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術では、新規のファームウェアが正常に動作できる環境を整えることが考慮されていないという問題がある。例えば、ファームウェアによっては特定のバージョン以上で起動した後でないと、ファームウェアの更新自体を情報処理装置が実行できない場合があるが、単にファームウェアの更新手順を考慮するだけではファームウェアが正常に動作できる環境を整えることが困難になる。
【0007】
本発明は、上記課題に鑑み、新規のファームウェアが正常に動作できる環境を整えることができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題に鑑み、本発明は、少なくとも1つ以上のファームウェアを実行する情報処理装置であって、ファームウェアごとにファームウェアの更新に際して要求される事前条件が各ファームウェアの更新順に設定され、更に、更新されたファームウェアの環境を整えるための処理が設定された環境条件が設定された更新手順情報を参照し、前記事前条件を更新順に判断し、前記事前条件を満たしている場合、更新対象のファームウェアの更新を行い、
少なくとも1つ以上のファームウェアの更新後、前記環境条件に従って処理を行うファームウェア更新制御手段、を有し、前記更新手順情報には更新されるファームウェアの優先度が設定されており、前記ファームウェア更新制御手段は、前記事前条件を満たさない場合、前記優先度が閾値以上の場合は、前記情報処理装置の再起動後にファームウェアの更新を再度、試行し、前記優先度が閾値以上でない場合は、前記情報処理装置の再起動後にファームウェアの更新を試行しないことを特徴とする
【発明の効果】
【0009】
新規のファームウェアが正常に動作できる環境を整えることができる情報処理装置を提供することができる。
【図面の簡単な説明】
【0010】
図1】画像形成装置が行うファームウェアの更新の概略を説明する図である。
図2】ファームウェア更新システムの構成例を示す図の一例である。
図3】画像形成装置のハードウェア構成図の一例である。
図4】サーバ装置の概略的なハードウェア構成図の一例である。
図5】画像形成装置とサーバ装置の機能をブロック状に示す機能ブロック図の一例である。
図6】ファームウェアデータ記憶部に記憶されているファームウェアデータの一例と、更新指示記述データ記憶部に記憶されている更新指示記述データの一例を示す図である。
図7】更新指示記述データのより詳細な内容を示す図の一例である。
図8】画像形成装置がファームウェアを更新する手順を示すシーケンス図の一例である。
図9】環境条件を満たすための再起動等の手順を説明するシーケンス図の一例である。
図10】画像形成装置が過去のバージョンのファームウェアに関する情報を取得する手順を示すシーケンス図の一例である。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態の一例として、画像形成装置10と画像形成装置10が行うファームウェア更新方法について図面を参照しながら説明する。
【0012】
<ファームウェアの更新の概略>
図1は、本実施形態の画像形成装置10が行うファームウェアの更新の概略を説明する図である。本実施形態の画像形成装置10は、事前条件だけでなく環境条件を含む更新手順情報に基づいてファームウェアの更新を行う。事前条件とは、あるファームウェアが特定のバージョン以上でなければ最新のファームウェアに更新できない等、ファームウェアのバージョンの整合性に関する条件である。
(1)まず、画像形成装置10はサーバ装置50から、事前条件と環境条件を含む更新手順情報を取得する。画像形成装置10は事前条件に従って、1つ以上のファームウェアを更新する。更新とはインストールすることであるが、不揮発性の記憶装置に記憶することをいう。
(2)環境条件には「画像形成装置を再起動」「特殊モードで再起動」など、ファームウェアを更新するために画像形成装置10が行う処理が記載されている。
(3)画像形成装置10は、環境条件に従って、画像形成装置の再起動、又は、特殊モードでの再起動等を行う。
【0013】
このように環境条件に従うことで、更新されたファームウェアが正常に動作するための環境を整えることができる。例えば、再起動により更新したFWがRAMに展開され、次に更新されるファームウェアの事前条件を満たすことができる。すなわち、再起動により別のファームウェアが更新できるようになる。また、特殊な起動モードでしか更新できないファームウェアを更新できるようになる。
【0014】
<用語について>
ファームウェアとは、情報処理装置の基本的な機能と関わりが大きいハードウェアを制御するソフトウェアの一種である。ファームウェアはマイクロコードやデバイスドライバなど、情報処理装置の慣習的な用語で呼ばれてよい。特許請求の範囲の情報処理装置はファームウェアが更新される装置であればよい。本実施形態では画像形成装置を例にして説明する。
【0015】
ファームウェアの更新順とは、複数のファームウェアが更新される場合の好ましい更新の順番である。更新順は絶対的なものでなく順番を飛ばして次のファームウェアが更新されてもよい。
【0016】
更新されたファームウェアの環境を整えるための処理とは、ファームウェアを実行できる要にする処理、他のファームウェアの更新を可能にする処理、等をいう。本実施形態では一例として再起動することをいう。
【0017】
<システム構成例>
図2は、ファームウェア更新システム100の構成例を示す図の一例である。ファームウェア更新システム100は、ネットワークNを介して通信することができるサーバ装置50、管理者端末9、サービス端末5、及び、1台以上の画像形成装置10を有する。
【0018】
ネットワークNはファイアウォール6の外側のインターネット7と、ファイアウォール6の内側のLAN8を有している。ただし、図2ではサーバ装置50とサービス端末5はインターネット7に接続されているが、LAN8に接続されていてもよい。また、LAN8は有線又は無線のどちらで構築されていてもよいが、携帯電話網で通信する画像形成装置10の場合、LANを介することなくインターネット7に接続することができる。
【0019】
また、画像形成装置10はネットワークNに接続されている必要はない。上記の更新手順情報は、可搬型の記憶媒体に記憶された状態で画像形成装置10に配布されてもよく、この場合、画像形成装置10がサーバ装置50と通信しなくてもよい。
【0020】
LAN8には画像形成装置10A~10Dが接続されているが、画像形成装置10は1台あればよい。また、LAN8には管理者端末9A,9Bが接続されている。管理者端末9A,9Bは画像形成装置10を管理する管理者が使用する端末である。管理者はファームウェアを手動でバージョンアップしたり、管理者端末9A,9Bを操作して画像形成装置10の設定を更新したりする。
【0021】
また、サーバ装置50は、ファームウェアと更新手順情報を画像形成装置10に提供する1つ以上の情報処理装置である。各画像形成装置10は例えば起動時、1日に1回の決まった時刻、省エネ移行時、省エネ復帰時、又は、管理者の操作に応じて新規のファームウェアの有無をサーバ装置50に問い合わせる。新規のファームウェアがある場合、サーバ装置50はファームウェアと更新手順情報を画像形成装置10に提供する。
【0022】
サービス端末5は、ファームウェアの更新を管理するサービス担当者が操作する端末である。サービス担当者は新規のファームウェアとこのファームウェアの更新手順情報を、サービス端末5からサーバ装置50に送信する。このようにしてサーバ装置50に新規のファームウェアと更新手順情報が登録される。この他、サービス担当者はroot権限のパスワード、ユーザの認証方法、サーバソフトウェアのアップデートなど、サーバで一般的な設定を行うことができる。
【0023】
<ハードウェア構成例>
<<画像形成装置>>
図3は、画像形成装置10のハードウェア構成図の一例を示す。画像形成装置10は、CPU101、ROM102、RAM103、HDD104(Hard Disk Drive)、エンジン部105、操作部106、及び、通信I/F107を有する。
【0024】
CPU101は、図3に示されるハードウェア要素を制御して画像形成等の機能を実現する。CPU101は、ROM102又はHDD104からRAM103に展開されたプログラムを実行することで、画像形成装置10全体の動作を制御する。ROM102には例えばファームウェアが記憶されており、HDD104にはOS、ファームウェア、画像形成装置10が有する機能に対応したアプリ等、各種のプログラムが記憶されている。また、HDD104にはフォントデータや印刷データも記憶される。
【0025】
エンジン部105は、例えばコピー機能、スキャナ機能、ファクス機能、プリンタ機能などを提供するハード的な駆動部とこれに関する情報処理機能を有する。例えば、原稿の画像をスキャンして読み取るスキャナ(画像読取部)、用紙等のシート材への印刷を行うプロッタ(画像形成部)、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するADF(自動原稿給送装置)のような特定のオプションを備えることもできる。
【0026】
通信I/F107は、LAN8と接続するためのインタフェースであり、例えばイーサネットカード(登録商標)などのNIC(Network Interface Card)である。操作部106は、情報を表示する表示装置であると共に、ユーザからの操作を受け付ける入力装置である。従って、操作部106はユーザインタフェースとなる。操作部106は好ましくはタッチパネルを有し、操作部106に表示されたソフトキー(ボタン)等の押下を受け付ける。また、操作部106はハードキーを有していてもよい。
【0027】
<<サーバ装置>>
図4は、サーバ装置50の概略的なハードウェア構成図の一例である。サーバ装置50は、CPU201と、CPU201が使用するデータの高速アクセスを可能とするメモリ202とを備える。CPU201及びメモリ202は、システム・バス203を介して、サーバ装置50の他のハードウェア要素、例えば、グラフィックス・ドライバ204及びネットワーク・ドライバ(NIC)205へと接続されている。
【0028】
グラフィックス・ドライバ204は、バスを介してLCD206に接続されて、CPU201による処理結果をモニタする。また、ネットワーク・ドライバ205は、トランスポート層レベル及び物理層レベルでサーバ装置50をインターネット7へと接続して、データリンク層レベルのセッションを確立させている。
【0029】
システム・バス203には、更にI/Oバス・ブリッジ207が接続されている。I/Oバス・ブリッジ207の下流側には、PCIなどのI/Oバス208を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、HDD(ハードディスクドライブ)209などの記憶装置が接続されている。HDD209はサーバ装置50の全体を制御するプログラム209pを記憶している。HDD209はSSD(Solid State Drive)でもよい。
【0030】
また、I/Oバス208には、USBなどのバスを介して、キーボード及びマウス(ポインティング・デバイスと呼ばれる)などの入力装置210が接続され、システム管理者などのオペレータによる入力及び指令を受け付けている。
【0031】
サーバ装置50はクラウドコンピューティングに対応していることが好ましい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。この場合、図示したサーバ装置50のハードウェア構成は、1つの筐体に収納されていたり一まとまりの装置として備えられていたりする必要はなく、サーバ装置50が備えていることが好ましいハード的な要素を示す。
【0032】
<ソフトウェア構成例>
続いて、図5を用いて画像形成装置10とサーバ装置50のソフトウェア構成について説明する。図5は、画像形成装置10とサーバ装置50の機能をブロック状に示す機能ブロック図の一例である。
【0033】
<<画像形成装置>>
画像形成装置10は、サーバ通信部11、ファームウェア更新制御部12、電力状態制御部13、操作制御部14、バージョン管理部15、及び、画像形成部16を有する。画像形成装置10が有するこれらの機能は、図3に示された各構成要素のいずれかが、HDD104からRAM103に展開されたプログラム(ファームウェアを除く)に従ったCPU101からの命令により動作することで実現される機能又は手段である。なお、このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
【0034】
また、画像形成装置10は記憶部19を有している。記憶部19は図3に示されたROM102,RAM103、及びHDD104の少なくとも1つに形成される記憶手段である。
【0035】
ファームウェア更新制御部12はファームウェアの更新に関する全体的な処理を行う。更新を行う際、更新の事前条件、及び、環境条件に従い、画像形成装置10を制御する。例えば、ファームウェア1の更新に必要なファームウェア2のバージョンを事前条件に従って確認し、ファームウェア2を先にインストールしたりする。
【0036】
また、例えば、画像形成装置10のファームウェア1を更新後に画像形成装置全体を再起動してから、ファームウェア2,3を更新する。あるいは、ファームウェア1を更新後にファームウェア2の更新をスキップしてファームウェア3を更新し、画像形成装置の全体を再起動してからファームウェア3を更新し、ファームウェア2で使用する部品と接続し直したりする。
【0037】
バージョン管理部15は、ファームウェアの各々のバージョンや、各々のファームウェアのバージョンを代表する代表バージョン、画像形成装置10全体としてサポートできるI/Fのバージョンなどを管理する。全体としてサポートできるI/Fのバージョンについっては表2で説明する。
【0038】
バージョン管理部15が管理する情報は記憶部19に記憶される。表1に記憶部19に記憶されたバージョン管理リスト21の一例を示す。それぞれのファームウェアのバージョンは画像形成装置10の起動時に、バージョン管理部15が各ファームウェアから収集する。
【0039】
【表1】
バージョン管理リスト21は、表1(a)に示すファームウェア全体情報と、表1(b)に示すバージョン情報を有する。ファームウェア全体情報は、画像形成装置10で動作する1組のファームウェアの全体的な情報(このような情報を書誌情報という場合がある)である。ファームウェア全体情報は、記憶部19に静的に記憶されていてもよいし、所定のファームウェアが保持しておりバージョン管理部15がこのファームウェアから取得しても良い。ファームウェア全体情報については、図7にて説明する。
【0040】
バージョン情報には、ファームウェア(モジュール名)に対応付けて、バージョン、外部I/Fバージョン、及び、公開日等が登録されている。バージョンは各ファームウェアの改訂の回数を表す。外部I/Fバージョンはファームウェアを外部のプログラムが呼び出すWebAPIのバージョンである。例えば外部のプログラムがFTP(File Transfer Program)でファームウェアのバージョンを取得する際に外部I/Fが使用される。ユーザは管理者端末9を画像形成装置10と通信させ、外部I/Fを介して種々の情報を得ることができる。ユーザ環境で世代が異なる画像形成装置10が使用されている場合、管理者は管理者端末9で外部I/Fバージョンを取得して、画像形成装置10ごとにサポートされている処理を判断できる。
【0041】
各々のファームウェアは単独でもアップデートできるため、表1に示すように、ファームウェアA1aの外部I/Fのバージョンは6.0だが、ファームウェアA2aの外部I/Fのバージョンは1.3というケースも生じうる。単なるバージョンとは別に外部I/Fバージョンが管理されるのは、ファームウェアのバージョンと外部I/Fバージョンは一致しない(ファームウェアがバージョンアップしても外部I/Fバージョンは変わらない、又はこの逆)ためである。
【0042】
【表2】
表2は、記憶部19に記憶される機器サポートI/Fバージョン22の一例を示す。機器サポートI/Fバージョン22は画像形成装置10全体としてサポートできるI/Fのバージョンである。本実施形態では、各々のファームウェアの外部I/Fバージョンうち最低のバージョンである。例えば、表1の例では、画像形成装置10全体としてバージョン1.3が一番低いため、機器サポートI/Fバージョン22は1.3となる。
【0043】
図5に戻って説明する。電力状態制御部13は、省エネ状態で操作部106から復帰要求を受け取ったら、画像形成装置10を待機状態(通常状態)に復帰させる。復帰要因は、パネルタッチ、タイマー、ネットワーク経由の外部アクセス等様々なものが存在する。また、電力状態制御部13は無操作時間に応じて画像形成装置10又はその一部を待機状態から省エネ状態に移行させる。省エネ移行又は省エネ復帰の要求に合わせて各種デバイスの電源管理を行う。
【0044】
操作制御部14は、操作部内の電力状態等を制御する。従って、操作部106を再起動することができる。
【0045】
画像形成部16は、図3に示したエンジン部105を駆動して実現され、画像形成装置10が備える各種の画像形成機能(例えば、印刷、コピー、スキャン、ファックス等)を実行する。画像形成部16はエンジン部105を再起動することができる。
【0046】
サーバ通信部11は、サーバ装置50と各種の情報を送受信する。本実施形態では、サーバ装置50に新規のファームウェアに関する情報を問い合わせ、サーバ装置50からファームウェア及び更新指示情報を取得する。
【0047】
<<サーバ装置>>
サーバ装置50は装置通信部51とファームウェア管理部52を有する。サーバ装置50が有するこれらの機能は、図4に示された各構成要素のいずれかが、HDD209からメモリ202に展開されたプログラムに従ったCPU201からの命令により動作することで実現される機能又は手段である。なお、このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
【0048】
また、サーバ装置50はファームウェアデータ記憶部53と更新指示記述データ記憶部54を有している。これらは、図4に示されたメモリ202及びHDD209の少なくとも1つに形成される記憶手段である。ファームウェアデータ記憶部53と更新指示記述データ記憶部54に記憶された情報を図6に示す。
【0049】
装置通信部51は、画像形成装置10と各種の情報を送受信する。本実施形態では、画像形成装置10から新規のファームウェアに関する情報の問い合わせを受信し、画像形成装置10にファームウェア及び更新指示情報を送信する。
【0050】
ファームウェア管理部52は、ファームウェアデータ記憶部53に記憶されたファームウェアと更新指示記述データ記憶部54に記憶された更新指示記述データを管理しており、画像形成装置10からの要求に応じてこれらを読み出す。
【0051】
<ファームウェアデータ記憶部と更新指示記述データ記憶部>
図6は、ファームウェアデータ記憶部53に記憶されているファームウェアデータの一例と、更新指示記述データ記憶部54に記憶されている更新指示記述データの一例を示す。図6(a)に示すようにファームウェアデータは機種ごとに用意された各バージョンのファームウェアである。
機種A-Ver1.0-FW_A1a~FW_A7a
この記載は、機種Aの代表バージョンが1.0のファームウェアとしてFW_A1a~FW_A7aがあることを示している。なお、FW_A1a~FW_A7aのそれぞれは1機種のファームウェアの部品という意味からモジュールと呼ぶ場合がある。また、図6(b)に示すように、機種と代表バージョンごとに更新指示記述データが用意されている。
【0052】
図7は、一例として更新指示記述データのより詳細な内容を示す図である。更新指示記述データは、ファームウェア全体情報(図7(a))と更新手順情報(図7(b))を有する。ファームウェア全体情報は、機種番号、システム部番、システムID、システムバージョン、I/Fバージョン、及び、公開日の各項目を有する。
【0053】
機種番号は画像形成装置10の機種を識別又は特定する情報となる。つまり、この機種に向けたファームウェアであることを示す。システム部番はこのファームウェアで実現されるシステムの部品番号である。システムIDはシステムの識別情報である。システムバージョンはシステム全体のバージョンであり、代表バージョンに相当する。I/F versionは表2で説明した機器サポートI/Fバージョン22である。公開日はこのシステムバージョンで特定される一連のファームウェアの公開日である。
【0054】
また、更新手順情報は、少なくとも事前条件と環境条件を含む。図7では、No(番号)に対応付けてファームウェアのインストール手順(処理、部番、モジュールID、バージョン、事前条件、優先度、公開日、ダウンロードURL)が順番に記載されている。No(番号)はファームウェアの更新に必要な処理の順番を示す。ファームウェア更新制御部12はNo(番号)の順に処理を行う。
【0055】
「処理」は画像形成装置10が行う実施内容である。例えば「Install」「Reboot」「Panel Reboot」「Force Reboot」「Ctrl Reboot」等である。この実施内容の「Reboot」「Panel Reboot」「Force Reboot」「Ctrl Reboot」が環境条件である。なお、「Install」は更新を意味する。例えばNo4の「Force Reboot」は、No1~3の少なくとも1つのファームウェアの正常な実行を可能にするためと、No5以降のファームウェアの更新を可能にする(事前条件を満たす)ために行われる。
【0056】
また、「Reboot」「Panel Reboot」「Force Reboot」「Ctrl Reboot」に事前条件が設定されていてもよい。この場合、事前条件で設定されたファームウェアが所定のバージョン以上であることが再起動に要求される。従って、再起動の事前条件で設定されたファームウェアが更新されることを再起動の条件にできる。例えば、データの初期化のために一度再起動する必要があるファームウェアが対象となる。
【0057】
他にも「処理」には「次回特殊起動」、「新規部品と接続」等が設定される場合がある。
【0058】
「部番」はファームウェアの部品番号であり、「モジュールID」はファームウェアの識別情報である。「バージョン」は各ファームウェアのバージョンである。「事前条件」にはそのファームウェアを更新するために必要な他のファームウェアのバージョンなどが記載される。図7の例では、SRSBBF3のファームウェアをインストールするにはSRSBBF2のバージョンが1.02.00以上でなければならないことが設定されている。事前条件が、更新対象のファームウェアのバージョンを指定してもよい。なお、ファームウェアの新旧判断情報は、バージョンの他、リリース日時や部番のサフィックス(最後の数桁部分)等でもよい。
【0059】
「優先度」は事前条件が満たされなかった時の振る舞いを示す。例えば、優先度が高い(閾値以上の)ファームウェアは再起動を挟んでもできるだけ更新するように処理される。具体的には、何回か再起動後とインストールがリトライ(試行)される。優先度が通常又は低い場合は(閾値未満の場合)、次回のファームウェアの更新タイミングに更新する。つまりリトライされない。
【0060】
インストールのリトライの回数も優先度に依存してよい。優先度が高いほど、更新(インストール)に失敗した際にリトライされる回数が多く設定され、優先度が低いほど、更新(インストール)に失敗した際にリトライされる回数が少ないか又はゼロに設定される。
【0061】
ファームウェア更新制御部12は優先度に応じたリトライ回数を、ファームウェアに対応付けて再起動前に記憶部19に記憶しておく。再起動後は、記憶部19のリトライ回数を参照して更新を試行する。更新に失敗した場合、リトライ回数を1つずつ減少させ再度、再起動する。1回のファームウェア更新の中で事前条件を満たさない場合に再起動してリトライする回数を制限することで、更新時間の増加を防ぐことができる。
【0062】
「公開日」は各ファームウェア(モジュール)が公開された日付である。「ダウンロードURL」は各ファームウェア(モジュール)が保存されているURLを示す。
【0063】
ファームウェア更新制御部12は、基本的には更新指示記述順のNo順にファームウェアを更新する(処理がインストールの場合)が、優先度が緊急(優先度が高よりも高い)のファームウェアがあり、Noが前であるが優先度が低いファームウェアが事前条件を満たしていない場合、優先度が低いファームウェアの更新をスキップし、優先度が高いファームウェアの更新処理へ移行してよい。こうすることで事前条件を満たさないファームウェアがあっても、優先度の高い重要なファームウェアの更新を早期に行える。
【0064】
なお、更新手順情報の項目のうちブランクの項目があっても特定の項目であれば、ファームウェア更新制御部12はデフォルト値を設定することができる。例えば、処理の項目のデフォルト値が「install」であり、処理の項目がブランクの場合、ファームウェア更新制御部12は処理のブランクの項目に「install」を設定する。また、優先度の項目がブランクの場合、デフォルト値である2を設定する。
【0065】
その他の項目(部番、モジュールID、バージョン、事前条件、公開日、ダウンロードURL)についてはデフォルト値がないため、これらの項目がブランクの場合はインストールできないと判断される。すなわち、ファームウェア更新制御部12はインストールを中断してエラーメッセージ等を表示する。
【0066】
従って、一般的な内容でよい項目については緊急時に省略可能とすることで運用の手間を削減することができる。
【0067】
<動作手順>
図8は、画像形成装置10がファームウェアを更新する手順を示すシーケンス図の一例である。図8の処理は、1日に1回の決まった時刻、省エネ移行時、省エネ復帰時、又は、管理者の操作に応じてスタートする。
【0068】
S1:ファームウェア更新制御部12は、サーバ通信部11に対し、最新のファームウェアに関する情報を取得させる。
【0069】
S2:サーバ通信部11は、サーバ装置50から最新のファームウェアに関する情報を取得する。自機の機種情報を送信することで自機にとって最新のファームウェアに関する情報を取得できる。
【0070】
S3:次に、ファームウェア更新制御部12は自機で起動しているファームウェアのバージョンを含むバージョン管理リスト21をバージョン管理部15から取得する。
【0071】
そして、ファームウェア更新制御部12は、サーバ装置50から取得したシステムバージョン(代表バージョン)がバージョン管理リスト21の代表バージョンよりも新しいか否かを判断する。図8の説明では、システムバージョン(代表バージョン)の方がバージョン管理リスト21の代表バージョンよりも新しい場合を説明する。
【0072】
S4:ファームウェア更新制御部12は、ステップS3の判断結果から1つ以上のファームウェアの更新が必要な可能性があると判断し、サーバ通信部11に対し、更新指示記述データを取得させる。
【0073】
S5:サーバ通信部11は、自機の機種情報を指定してサーバ装置50から最新の更新指示記述データを取得する。
【0074】
ファームウェア更新制御部12は、取得した更新指示記述データと、バージョン管理リスト21に記録された現在起動している各ファームウェアの情報を比較し、更新対象のファームウェア(モジュール)があるか否かを判断する。つまり、各ファームウェアごとにバージョンを比較する。
【0075】
S6:個別のファームウェアの更新が不要な場合、ファームウェア更新制御部12はファームウェア全体情報のみを更新する。すなわち、システム部番、システムID、システムバージョン、I/F version、及び、公開日を更新する。個別のファームウェアの更新が必要ないのにこれらのファームウェア全体情報を更新するケースとしては、工場出荷後、ファームウェアをSDカードなどで管理者が個々にバージョンアップしたため、個々のファームウェアのバージョンは最新なのに、システム全体としてアップデートしていない状況がある。この場合、ファームウェア全体情報は出荷時のままなので、ファームウェア全体情報を更新することが好ましい。実際は個々のファームウェアが最新であるため最新の機能をサポートできるのに、保持しているファームウェア全体情報が追いついていないケースなので、ファームウェア全体情報のみ更新すればよい。こうすることで、画像形成装置内のファームウェアが新しく、更新対象のファームウェアがない場合でも、I/F version等を更新できる。
【0076】
S7:バージョン管理部15はファームウェア更新制御部12から取得したファームウェア全体情報を記憶部19のバージョン管理リスト21に記憶させる。
【0077】
S8:個別のファームウェアに更新対象がある場合、ファームウェア更新制御部12がファームウェアを指定してサーバ通信部11に取得させる。
【0078】
S9:サーバ通信部11は、サーバ装置50から個別のファームウェアを取得する。
【0079】
ファームウェアを取得すると更新フェーズに移る。更新フェーズでは、ファームウェア更新制御部12がファームウェアごとに事前条件を確認する。
【0080】
ステップS10以降の処理は、更新されるファームウェアの数だけ繰り返して実行される。
【0081】
S10:事前条件を満たしていない場合、ファームウェア更新制御部12は画像形成装置10を再起動する。再起動後に、再度、事前条件を確認する。基本的に事前条件はそれ以前に更新したファームウェアによって満たされるようにリリースされるため、再起動すれば事前条件を満たし、更新できるようになる。なお、再起動の回数が多くなると更新全体の時間も長くなるので、優先度が低いファームウェアは例えば、更新をスキップして次のファームウェアの更新処理に移ってもよい。再起動後も、即座に更新処理を継続するか、次の更新タイミングで更新を再開するか、も優先度によって決めてよい。
【0082】
S11:事前条件を満たしている場合、ファームウェア更新制御部12がファームウェアを更新する。
【0083】
更新が終わり、環境条件がある場合、環境条件を満たすための処理を行う。これは、更新後のファームウェアで起動し直さないと不具合が発生するケースがあり、正常に次のファームウェアの更新を行うために、一度、再起動することが好ましいためである。不具合が発生するケースは、更新したデータ(ファームウェア全体情報とファームウェアの少なくとも一方)により外部の部品のデータ(ファームウェア全体情報又はファームウェアの少なくとも一方)との組み合わせ問題が発生するケースなどが挙げられる。
【0084】
S12:ファームウェア更新制御部12は、環境条件に従って画像形成装置10の再起動、部品単位(エンジン、操作部、アプリ等)の再起動、新規部品の利用のための部品起動、特殊ファームウェア更新のための特殊起動などを指定できる。これら再起動の対象も環境条件に記載されている。なお、再起動の詳細を図9で説明する。
【0085】
S13:更新が完了すると、ファームウェア更新制御部12はファームウェア全体情報の更新をバージョン管理部15に要求する。
【0086】
S14:バージョン管理部15はファームウェア更新制御部12から取得したファームウェア全体情報を記憶部19のバージョン管理リスト21に記憶させる。ファームウェアだけでなく、そのファームウェアの公開日などの情報も記憶することでそれ以降にファームウェアが更新される際の新旧判断などに利用できる。
【0087】
図9は、環境条件を満たすための再起動等の手順を説明するシーケンス図の一例である。ファームウェア更新制御部12は基本的に環境条件に従って動作する。再起動の対象は、例えば、図9に記載しているように、「機器全体の再起動」「操作部の再起動」「エンジン再起動」「新規部品の再起動」「特殊起動」等が挙げられる。
【0088】
再起動が必要になるのは、実行プログラムはRAM103に展開されて動くため、ファームウェアを不揮発メモリに書き込んでも現在動作しているプログラムは変更されないためである。再起動によりファームウェアがRAM103に展開されて実行される。従って、事前条件で今回更新するファームウェアがインストールされていることが条件になっている場合、そのファームウェアで起動し直す必要がある。その為、環境条件となっている画像形成装置10又は部品の再起動を行うことで、続けて他のファームウェアも更新できるようになる。
【0089】
S21:上記のようにファームウェア更新制御部12はファームウェアを更新する。この後、環境条件がない場合は次のファームウェアの更新に進めばよい。
【0090】
S22:環境条件が画像形成装置10の再起動の場合、ファームウェア更新制御部12は電力状態制御部13に画像形成装置の再起動を要求する。
【0091】
S23:電力状態制御部13は操作制御部14に再起動を要求する。
【0092】
S24:操作制御部14は操作部106を再起動する。
【0093】
S25:電力状態制御部13は画像形成部16に再起動を要求する。
【0094】
S26:画像形成部16はエンジン部105を再起動する。
【0095】
S27:電力状態制御部13は画像形成装置10を再起動する。
【0096】
このように更新済みのファームウェアで画像形成装置10の全体を再起動することで他のファームウェアの更新を可能にしたり(事前条件を満たさない他のファームウェアの事前条件を満たすことができる)、更新後のファームウェアを正常に実行させたりすることできる。)また、再起動には画像形成装置10の全体を再起動する場合と少なくとも一部を再起動する場合がある。
【0097】
再起動前に事前条件を満たしていないファームウェアがあった場合は、再起動後に事前条件を満たしていることを確認してファームウェアを更新する。
【0098】
S28:環境条件が操作部106の再起動の場合、ファームウェア更新制御部12は電力状態制御部13に操作部106の再起動を要求する。
【0099】
S29:電力状態制御部13は操作制御部14に再起動を要求する。
【0100】
S30:操作制御部14は操作部106を再起動する。
【0101】
S31:操作部106は再起動が完了した旨をファームウェア更新制御部12に通知する。これにより環境条件が満たされたので、次のファームウェアの更新に進む。
【0102】
S32:環境条件がエンジン部105の再起動の場合、ファームウェア更新制御部12は電力状態制御部13にエンジン部105の再起動を要求する。
【0103】
S33:電力状態制御部13は画像形成部16に再起動を要求する。
【0104】
S34:画像形成部16はエンジン部105を再起動する。
【0105】
S35:画像形成部16は再起動が完了した旨をファームウェア更新制御部12に通知する。これにより環境条件が満たされたので、次のファームウェアの更新に進む。
【0106】
S36:環境条件が新規部品(例えば静脈認証装置)の再起動の場合、ファームウェア更新制御部12は電力状態制御部13に新規部品との通信を要求する。新規部品は画像形成装置10に着脱可能であり、USBケーブルなどですでに接続された状態で新規部品(例えば静脈認証装置)のファームウェアが更新される。
【0107】
S37:電力状態制御部13は新規部品の電源をオンにする。
【0108】
S38:これにより新規部品が起動する。ファームウェアの更新前は新規部品に対応していないため、画像形成装置10の起動時に新規部品の電源がオンされても、一定時間後に電源オフ又はアイドル状態になってしまう。本実施形態ではファームウェアの更新により新規部品が新たにサポートされるので電源をオンにする。
【0109】
S39:新規部品は電源オンによりファームウェア更新制御部12との通信を行う。ファームウェアが新規部品に対応しているので、ファームウェアも新規部品に応答を返す。新規部品は電源オフやアイドル状態にならない。
【0110】
このように、ファームウェアの更新後に例えば部品と接続し直す必要が出るケースがあるが、そのような場合に環境条件で部品との再接続を指示することで部品と画像形成装置10が正常に動作できるようになる。ファームウェアの更新で新たな部品(今まで使用していない部品)を画像形成装置10が認識することができるようになる。また、再起動により、新しい部品を使用可能となる。また、画像形成装置10の全体の再起動よりも短い時間で再起動することができる。
【0111】
S40:環境条件が特殊起動の場合、ファームウェア更新制御部12は起動オプションを設定の上、電力状態制御部13に機器の再起動を要求する。
【0112】
S41:電力状態制御部13は起動オプションを設定する。
【0113】
S42:電力状態制御部13は操作制御部14に再起動を要求する。
【0114】
S43:操作制御部14は操作部106を再起動する。
【0115】
S44:電力状態制御部13は画像形成部16に再起動を要求する。
【0116】
S45:画像形成部16はエンジン部105を再起動する。
【0117】
S46:電力状態制御部13は起動オプションに従って画像形成装置10を再起動する。これにより、画像形成装置10は特殊モードで起動するので、更新されていないファームウェアを更新する。例えば、キーマイコン(タッチパネルへの入力を処理するマイコン)のような通常状態では書き換えでないようなファームウェアを更新する際、特殊更新用プログラムで(特殊モードで)起動し、キーマイコンなどのファームウェアを更新することができる。ファームウェア更新制御部12が特殊モードで起動しファームウェアを更新したら、通常モードで再起動する。
【0118】
<過去のバージョンのファームウェアに関する情報の取得>
図10は、画像形成装置10が過去のバージョンのファームウェアに関する情報を取得する手順を示すシーケンス図の一例である。
【0119】
図8で説明したように、事前条件の判断のために画像形成装置10内のファームウェアのバージョン(バージョン管理リスト21)を参照する場合がある。また、サーバ装置50と画像形成装置10のファームウェアの新旧判断にファームウェアのバージョンが利用される。画像形成装置10内の各ファームウェアのバージョン、公開日が分からない等、新旧判断を行うための情報が不足している場合、画像形成装置10はサーバ上の過去情報から必要な情報を探索する。
【0120】
S51:ファームウェア更新制御部12は、自機で起動しているファームウェアのバージョンを含む表1のバージョン管理リスト21をバージョン管理部15から取得する。
【0121】
S52:全ての情報が揃っている場合、バージョン管理部15はバージョン管理リスト21をファームウェア更新制御部12に送出する。
【0122】
S53:全ての情報が揃っていない場合、バージョン管理部15は、サーバ通信部11に対し、過去のバージョンのファームウェアに関する情報の問い合わせを行わせる。
【0123】
S54:サーバ通信部11は、ファームウェアの識別情報とバージョンを指定して過去のバージョンのファームウェアに関する情報をサーバ装置50から取得する。なお、ステップS53、S54は情報が不足しているファームウェアの数だけ繰り返して実行される。
【0124】
S55:バージョン管理部15は不足している項目が埋められたバージョン管理リスト21をファームウェア更新制御部12に送出する。
【0125】
これにより、画像形成装置10内の各ファームウェアの公開日が分からない等、新旧判断を行うための情報が不足していても、画像形成装置10がファームウェアの新旧を判断できる。
【0126】
<環境条件の他の例>
以上、環境条件として、
1.他のファームウェアとの組み合わせによって不具合が発生することをなくすこと、
2.特殊起動モードでしか更新できないようなファームウェアの更新を可能にすること、
について説明した。
【0127】
この他、環境条件として「3.特殊なファームウェア環境、又は、限定的なファームウェア構成でしか更新できないようなファームウェア」が存在する。例えば、量産時には更新対象になると想定していなかったファームウェア等、ファームウェアがそもそも更新する機構を保持していない場合、まず対象のファームウェアの更新が可能となる特殊ファームウェアをファームウェア更新制御部12が画像形成装置10にインストールする。そして、その特殊ファームウェアが起動後に目的のファームウェアを更新する。すなわち、このままでは更新できないので更新できる機能が入ったファームウェアで一度更新し、ファームウェア更新制御部12は画像形成装置10を再起動する。
【0128】
具体的な例としては、「NANDフラッシュメモリコントローラ」のように、デバイス自身のコントローラ(プログラム)は通常、更新は行われないので、更新機構自体を保持していない。これを市場で書き換えなければならないとなった場合、まず更新する仕組みを備えたファームウェアをファームウェア更新制御部12が画像形成装置10にインストールして、その後、「NANDフラッシュメモリコントローラ」を更新する。
【0129】
特殊起動モードでしか更新できないようなファームウェアは、ファームウェア自体はそのままであるのに対し、3.のファームウェアは特殊又は限定的なものである。
【0130】
<まとめ>
本実施形態の画像形成装置10は、環境条件に従って処理することで、更新されたファームウェアが正常に動作するための環境を整えることができる。例えば、再起動により更新したFWがRAMに展開され、次に更新されるファームウェアの事前条件を満たすことができる。すなわち、再起動により別のファームウェアが更新できるようになる。また、特殊な起動モードでしか更新できないファームウェアを更新できるようになる。
【0131】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0132】
例えば、新規な部品は静脈認証装置に限られるものではなく、USBケーブルなどで接続された各種の部品が含まれる。例えば、指紋認証装置、顔認証装置、操作パネルなどのファームウェアが更新されてもよい。
【0133】
また、本実施形態では画像形成装置10のファームウェアの更新について説明したが、ファームウェアを有する装置や機器などであれば本実施形態のファームウェアの更新方法を適用できる。例えば、PC(Personal Computer)、プロジェクタ、電子黒板、テレビ会議端末、ドローン等にも適用できる。また、カーナビゲーション装置、ゲーム機、テレビ受像器などの家電などにも適用できる。
【0134】
また、図5などの構成例は、画像形成装置10とサーバ装置50による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。画像形成装置10とサーバ装置50の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0135】
なお、ファームウェア更新制御部12はファームウェア更新制御手段の一例であり、サーバ通信部11は通信手段の一例である。
【符号の説明】
【0136】
10 画像形成装置
21 バージョン管理リスト
22 機器サポートI/Fバージョン
50 サーバ装置
53 ファームウェアデータ記憶部
54 更新指示記述データ記憶部
100 ファームウェア更新システム
【先行技術文献】
【特許文献】
【0137】
【文献】特開2004-118586号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10