JP2016053839A - 情報処理装置、その制御方法、及びプログラム - Google Patents

情報処理装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP2016053839A
JP2016053839A JP2014179517A JP2014179517A JP2016053839A JP 2016053839 A JP2016053839 A JP 2016053839A JP 2014179517 A JP2014179517 A JP 2014179517A JP 2014179517 A JP2014179517 A JP 2014179517A JP 2016053839 A JP2016053839 A JP 2016053839A
Authority
JP
Japan
Prior art keywords
firmware
information processing
processing apparatus
error
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014179517A
Other languages
English (en)
Other versions
JP6482211B2 (ja
Inventor
諏訪部 健史
Takeshi Suwabe
健史 諏訪部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014179517A priority Critical patent/JP6482211B2/ja
Priority to US14/840,246 priority patent/US9772905B2/en
Publication of JP2016053839A publication Critical patent/JP2016053839A/ja
Application granted granted Critical
Publication of JP6482211B2 publication Critical patent/JP6482211B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Software Systems (AREA)
  • Facsimiles In General (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

【課題】アップデート時にエラーが発生した場合であっても、エラーを回避しつつ、所望のアップデートを実行する仕組みを提供する。【解決手段】情報処理装置は、複数のファームウェアのうち、何れかのファームウェアを用いて情報処理装置を起動し、情報処理装置の起動に用いたファームウェアとは異なるファームウェアを更新し、更新中にエラーが発生すると、現在起動しているファームウェアとは異なるファームウェアを用いて情報処理装置を再起動させ、再起動に用いたファームウェアとは異なるファームウェアを更新させる。【選択図】 図3

Description

本発明は、情報処理装置、その制御方法及びプログラムに関するものである。
ファームウェアアップデート(ソフトウェアアップデート)においては、通常ファームウェア(ソフトウェア)を更新するためのアップデート用のファームウェアが存在し、そのアップデート用ファームウェアにおいてアップデート処理を実行する。以下では、ファームウェアやソフトウェアをファームと称し、ファームウェアアップデートやソフトウェアアップデートをファームアップデートと称する。
アップデート処理の中では、ファームのダウンロードや展開、ファームの書き換え(実際のアップデート処理)の各工程においてエラーが発生しうる。例えば、新たなファームのダウンロード中にデータを正しく受信できなかったり、展開する場所に正しく書き込めない等のエラーが存在する。特許文献1には、アップデートが失敗した際に修復動作を行う技術が提案されている。以下では、説明の簡略化のために、アップデート用ファームはsafeファーム、通常ファームはstdファームと記載する。
特開2011−128702号公報
しかしながら、上記従来技術には以下に記載する問題がある。例えば、上記従来技術では、アップデート中にエラーを検知した場合、前のバージョンに自動的に回復したり、或いは、他のバージョンを探して別のバージョンにアップデートする制御を行っている。しかし、上記従来技術では、機器の動作は保証されるものの、結果的に所望のファームへアップデートできないことになる。
本発明は、上述の問題に鑑みて成されたものであり、アップデート時にエラーが発生した場合であっても、エラーを回避しつつ、所望のアップデートを実行する仕組みを提供することを目的とする。
本発明は、複数のファームウェアを含む情報処理装置であって、前記複数のファームウェアのうち、何れかのファームウェアを用いて情報処理装置を起動する起動手段と、前記起動手段によって前記情報処理装置の起動に用いた前記ファームウェアとは異なるファームウェアを更新する更新手段と、前記ファームウェアの更新中にエラーが発生すると、現在起動しているファームウェアとは異なるファームウェアを用いて前記起動手段によって前記情報処理装置を再起動させ、前記更新手段によって再起動に用いたファームウェアとは異なるファームウェアを更新させる制御手段とを備えることを特徴とする。
本発明によれば、アップデート時にエラーが発生した場合であっても、エラーを回避しつつ、所望のアップデートを実行することができる。
一実施形態に係る情報処理装置100の構成例を示す図。 一実施形態に係るFlashROM219を中心とした情報処理装置100のアップデートシステムの構成を示す図。 一実施形態に係るアップデートの工程とエラー処理の工程の簡略図。 一実施形態に係るエラーが発生した場合に操作部220に表示する画面を示す図。 情報処理装置100におけるアップデートシステムの処理フローを表したフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<情報処理装置の構成>
まず、図1を参照して、一実施形態に係る情報処理装置100の構成について説明する。図1に示すように、情報処理装置100は、LAN110を介してPC260と、外部サーバ250と接続されている。情報処理装置100は、制御部200、操作部220、プリンタエンジン221、スキャナエンジン222、及び外部電源240を備える。さらに、制御部200は、CPU210、チップセット211、RAM212、SRAM213、NIC214、操作部I/F215、プリンタI/F216、スキャナI/F217、HDD218、及びFlashROM219を備える。
制御部200は、情報処理装置100全体の動作を統括的に制御する。CPU210は、FlashROM219に記憶された制御プログラムをRAM212に読み出して、読取制御、印刷制御、及びファームアップデート制御などの各種制御処理を実行する。また、FlashROM219は、ファームアップデート用のファイル格納領域、ワークエリア、及びユーザデータ領域としても用いられる。RAM212は、CPU210の主メモリ、ワークエリア等の一時記憶領域として用いられる。SRAM213は不揮発メモリであり、情報処理装置100で必要となる設定値や画像調整値などを記憶しており、電源を再投入してもデータが消えないようになっている。HDD218は、画像データやユーザデータ等を記憶する。
操作部I/F215は、操作部220と制御部200とを接続する。操作部220には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。プリンタI/F216は、プリンタエンジン221と制御部200とを接続する。プリンタエンジン221内に含むROMにはプリンタエンジンファーム231が格納されている。プリンタエンジン221で印刷すべき画像データは、プリンタI/F216を介して制御部200からプリンタエンジン221に転送され、プリンタエンジン221において記録媒体上に印刷される。
スキャナI/F217は、スキャナエンジン222と制御部200とを接続する。スキャナエンジン222内に含むROMにはスキャナエンジンファーム232が格納されている。スキャナエンジン222は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部200に入力する。
ネットワークI/Fカード(NIC)214は、制御部200をLAN110に接続する。NIC214は、LAN110上の外部装置(例えば、外部サーバ250やPC260)に画像データや情報を送信したり、逆にアップデートファームや各種情報を受信したりする。
外部サーバ250は、インターネットを介して情報処理装置100に接続されてもよい。また、PC260に含まれるWebブラウザから情報処理装置100の操作を行うこともできる。チップセット211は、一連の関連のある複数の集積回路のことを示す。RTC270は、RealTimeClock(リアルタイムクロック)であり、計時専用のチップである。RTC270は、外部電源240が接続されていなくとも、内蔵電池から電源供給を受けるため、スリープ時も動作することができる。これにより、チップセット211に対して一部の電源供給が行われる状態においては、スリープからの復帰が実現できる。逆に、チップセット211に電源供給が全く行われないシャットダウン状態の場合には、RTC270は動作することができない。
<FlashROMの構成>
次に、図2を参照してFlashROM219の構成について説明する。300と310はFlashROM219内に構成されるパーティションを示す。300がアップデート用ファームであるsafeファーム301を含むsafeパーティションであり、310は通常起動時に用いられるファームウェアであるstdファーム(第1のファームウェア)311を含むstdパーティションである。
safeファーム301(第2のファームウェア)は、stdファームアップデート用ファーム302、プリンタエンジンファームアップデート用ファーム303、及びスキャナエンジンファームアップデート用ファーム304を含んで構成される。stdファームアップデート用ファーム302は、stdファーム311を更新する際に用いられる。プリンタエンジンファームアップデート用ファーム303は、図1で説明した、プリンタエンジンファーム231をアップデート(更新)する機能を備える。同様に、スキャナエンジンファームアップデート用ファーム304は、図1におけるスキャナエンジンファーム232をアップデートする機能を備える。
情報処理装置100として、例えばフィニッシャなどの、スキャナエンジンやプリンタエンジン以外の構成が接続された場合も同様になる。stdファーム311は、safeファームアップデート用ファーム312、通常起動用ファーム315で構成される。safeファームアップデート用ファーム312は、safeファーム301をアップデートする機能を備える。通常起動用ファーム315は、コピーやプリントなどの複合機として一般的な動作を司るファームである。本発明に係わる起動モードとは、safeファーム301での起動と、stdファーム311での起動の何れかを指し、それぞれ、起動モードの切り替えを行う機能を備える。
<処理工程>
次に、図3を参照して、ファームをアップデートする工程とエラー処理の工程について説明する。まず、501で、safeファーム301を用いて情報処理装置100を起動する。本実施形態によれば、ファームウェアの更新中にエラーの発生を検知すると、リトライ処理を実行し、リトライ処理が所定回数を超えて行われた場合であってもエラーが解消されない場合は、更新対象のファームウェアを切り替える制御を行う。ここで、ファームウェアの更新中の検知されるエラーとしては、更新対象のファームウェアの受信中に発生するエラーを含んでもよい。また、受信した更新対象のファームウェアをメモリに展開する際に発生するエラーや、更新対象のファームウェアに対応する情報処理装置100の現在のファームウェアをバックアップする際に発生するエラーを含んでもよい。さらに、ファームウェアを更新する際に発生するエラーを含んでもよい。
401は、ダウンロード工程である。例えば、図1で示した外部サーバ250から、アップデート(更新)するファームをダウンロード(受信)する。ここでダウンロードに失敗した場合には一度リトライ処理を行う。本実施形態では、リトライ回数を1回として説明するが、本発明を限定する意図はなく、リトライ回数を複数回に設定してもよい。
402は、動作しているstdファーム311のバックアップと、ダウンロードしたファームの展開処理である。ダウンロードしたファームは、通常暗号化・難読化等の処理を施しているため、アップデートできる状態にするため復号化等の処理を行いFlashROM219に展開する。ここで、バックアップや展開処理に失敗した場合には一度リトライ処理を行う。失敗するケースは、例えば、展開するFlashROM219の容量オーバーや、書き込み失敗、復号化の失敗等が考えられる。
403は、stdファーム311のアップデートであり、402で展開したファームを実際に書き込む処理である。ここでも、失敗した場合には一度リトライ処理を行う。失敗した場合にはstdファーム311が壊れた状態になっている可能性があるため、405において、以前動作していたファームで動作させるため、402でバックアップした旧stdファーム311に書き戻しを行う。
404は、エンジンファームのアップデートであり、ここでも失敗した場合には一度リトライ処理を行うが、失敗した場合にはstdファーム311との組み合わせがおかしくなっている可能性があるため、405にて書き戻しを行う。その後、502においてstdファーム311で起動する。また、401、402、403、404の工程でのリトライ失敗時にも、stdファーム311で起動する。これは、本発明に関わる、一度エラーが発生しても、safeファーム301をアップデートする工程を実施することでstdファーム311のアップデート処理が正しく動作するためのリカバリ処理となるからである。
同様に406は、safeファーム301のバックアップとダウンロードファームの展開、407はsafeファーム301のアップデート処理であり、失敗した場合にはリトライ処理が行われる。405の旧stdファーム311の書き戻しや、408の旧safeファーム301の書き戻しが失敗した場合には、起動不良等の状況になることを回避するため、411で図4の602に示すようなエラーコードを操作部220に表示する。
逆に、それ以外の場合には、以前動作していたファームで動作することが可能であるため、409で図4の601に示すようなエラーメッセージのみを操作部220に表示し、410でstdファーム311で起動を行う。412、413、414はそれぞれ402、403、404と同様であるが、ここでは、406、407工程でsafeファーム301が新しいものに変わっているため、402、403、404で発生したようなエラーが発生しない可能性が高い。ただし、リトライ処理や旧stdファーム311の書き戻し等の処理415は同様に行う。
415の旧safeファーム301の書き戻しが失敗した場合には、起動不良等の状況になることを回避するため、418で図4の602で示すようなエラーコードを操作部220に表示する。逆に、それ以外の場合には、以前動作していたファームで動作することが可能であるため、416で図4の601に示すようなエラーメッセージのみ表示し、417でstdファーム311で起動を行う。
<エラー発生時の画面例>
次に、図4を参照して、エラーが発生した場合に操作部220に表示するエラーメッセージ・エラーコード表示の画面例について説明する。601は、図3で説明した、アップデートはするもののエラーが発生し、リトライ処理も成功しなかった場合に、旧ファームを書き戻す際に表示する画面である。例えば、601は、406のsafeファーム301のアップデートが失敗し、リトライ処理にも失敗した場合に操作部220に表示される。ここで、601において、エラーコードを表示しない(サービスマンを呼ぶ等の処理をしない)のは、所望のアップデートができないものの、少なくともアップデート前の動作は可能であるからである。逆に、旧ファームの書き戻し処理すらも失敗してしまった場合には、起動不良等の状況になりユーザに悪影響を与えることを回避するため、602のようにエラーコード603を操作部220に表示する。
<処理手順>
次に、図5A及び図5Bを参照して、一連の処理手順について説明する。以下で説明する処理は、CPU210がHDD218やFlashROM219に格納された制御プログラムをRAM212に読み出して実行することにより実現される。なお、以下では、正常処理のルートとして、まずsafeファーム301で情報処理装置100を起動してstdファーム311をアップデートした後に、stdファーム311で情報処理装置100を再起動してsafeファーム301をアップデートする。しかし、本発明はこれに限定されず、safeファーム301を先にアップデートする方法を適用することもできる。
S101で、図3の501で示したように、まずsafeファーム301で情報処理装置100を起動する。続いて、S102で、図3の401で示したように、CPU210は、外部サーバ250から、アップデート対象のファームをダウンロードする。S103で、CPU210は、ダウンロードが失敗したか否かを判定する。失敗していた場合はS104に進み、そうでない場合はS106に進む。
S104で、CPU210は、当該エラーが1回目のエラーか否かを判定する。1回目のエラーの場合はS105に進み、そうでない場合はS120に進む。S105で、CPU210は、リトライ処理、即ち、再ダウンロード処理を実行して、S102に戻る。S104でエラーが2回目(以上)の場合には、S120に進み、リトライ処理で解消できないエラーが発生したと判断して、stdファーム311で情報処理装置100を起動する。つまり、ここでは、safeファーム301からstdファーム311にファームウェアを切り替えて情報処理装置100を起動する。したがって、これ以後の処理では、stdファーム311で情報処理装置100が起動しているため、更新対象のファームウェアとしては、safeファーム301となる。
一方、S103でエラーが発生していないと判定した場合にはS106に進み、図3の402で示したように、CPU210は、旧stdファーム311のバックアップ処理とダウンロードしたファームの展開処理を行う。続いて、S107で、CPU210は、バックアップ処理や展開処理でエラーが発生したか否かを判定する。エラーが発生した場合はS108に進み、そうでない場合はS110に進む。S108で、CPU210は、当該エラーが1回目のエラーか否かを判定する。1回目のエラーである場合はS109に進み、CPU210は、リトライ処理、即ち、再バックアップ処理又は再展開処理を実行し、S106に戻る。S108でエラーが2回目(以上)の場合には、S120に進み、stdファーム311で起動する。
一方、S107でエラーが発生していないと判定した場合にはS110に進み、CPU210は、stdファーム311のアップデート処理を実行する。S111で、CPU210は、アップデート処理でエラーが発生したか否かを判定する。エラーが発生した場合はS112に進み、そうでない場合はS118に進む。S112で、CPU210は、当該エラーが1回目のエラーか否かを判定する。1回目のエラーである場合は、S113に進み、リトライ処理、即ち、再度のアップデート処理を実行し、S110に戻る。
S112でエラーが2回目(以上)の場合には、S118に進み、CPU210は、旧stdファーム311を書き戻す処理を実行する。その後、S119に進み、書き戻しが成功したか否かを判定する。書き戻し処理が成功した場合にはS120に進み、CPU210は、stdファーム311で情報処理装置100を起動する。失敗した場合には図5Bに示す処理Cに進む。
一方、S111でエラーでないと判定した場合にはS114に進み、CPU210は、各種エンジン、図1におけるプリンタエンジンファーム231やスキャナエンジンファーム232をアップデートする処理に進む。S115で、CPU210は、アップデート処理でエラーが発生したか否かを判定し、エラーが発生してればS116に進み、そうでない場合はS118に進む。
S116で、CPU210は、当該エラーが1回目のエラーか否かを判定する。1回目のエラーである場合は、S117に進み、CPU210は、リトライ処理、即ち、再度のアップデート処理を実行し、S114に戻る。S116でエラーが2回目(以上)の場合には、S118に進み、CPU210は、旧stdファーム311を書き戻す処理を実行する。これは、S110でstdファーム311のアップデートを先に実施してしまっているため、新しいエンジンファームが更新されないケースの場合に、stdファーム311とエンジンファームとの組み合わせを保証できなくなるからである。
その後、S119に進み、CPU210は、書き戻しが成功したか否かを判定する。書き戻し処理が成功した場合にはS120に進み、CPU210は、stdファーム311で情報処理装置100を起動する。一方、失敗した場合には図5Bに示す処理Cに進む。
また、S115でエラーが発生していないと判定した場合には、S120に進み、CPU210は、stdファーム311で情報処理装置100を起動し、図5Bに示す処理Aに進む。
次に、図5Bのフローチャートについて説明する。図5Aにて処理Aから遷移した処理は、S121へ進み、図3の406で示したように、CPU210は、旧safeファーム301のバックアップ処理と、ダウンロードしたファームの展開処理とを実行する。続いて、S122で、CPU210は、バックアップ処理や展開処理でエラーが発生したか否かを判定する。エラーが発生していた場合はS123に進み、そうでない場合はS125に進む。
S123で、CPU210は、当該エラーが1回目のエラーであるか否かを判定する。1回目のエラーである場合はS124に進み、CPU210は、リトライ処理、即ち、再バックアップ処理又は再展開処理を実行し、S121に戻る。S123でエラーが2回目(以上)の場合には、処理Bに進む。
S122でエラーが発生していないと判定した場合にはS125に進み、CPU210は、safeファーム301のアップデート処理を実行する。S126で、CPU210は、アップデート処理でエラーが発生したか否かを判定する。エラーが発生していた場合はS127に進み、そうでない場合はS131に進む。
S127で、CPU210は、当該エラーが1回目のエラーか否かを判定する。1回目のエラーである場合は、S128に進み、CPU210は、リトライ処理、即ち、再度のアップデート処理を実行し、S125に戻る。S127でエラーが2回目(以上)の場合には、S129で旧safeファーム301を書き戻す処理を実行する。その後、S130に進み、CPU210は、書き戻しが成功したか否かを判定する。書き戻し処理が成功した場合には処理Bに進み、失敗した場合には処理Cに進む。
S126でエラーが発生していないと判定した場合にはS131に進み、CPU210は、safeファーム301で情報処理装置100を起動する。続いて、S132に進み、CPU210は、stdファーム311のアップデート処理を実行する。S133で、CPU210は、アップデート処理でエラーが発生したか否かを判定する。エラーが発生していると判定した場合はS134に進み、そうでない場合はS136に進む。
S134で、CPU210は、当該エラーが1回目のエラーか否かを判定する。1回目のエラーである場合は、S135に進み、CPU210は、リトライ処理、即ち、再度のアップデート処理を実行し、S132に戻る。S134でエラーが2回目(以上)の場合には、S140に進み、CPU210は、旧stdファーム311を書き戻す処理を実行する。その後、S141に進み、CPU210は、書き戻しが成功したか否かを判定する。書き戻し処理が成功した場合には処理Bに進み、失敗した場合には処理Cに進む。
S133でエラーが発生していないと判定した場合にはS136に進み、CPU210は、各種エンジン、例えば図1におけるプリンタエンジンファーム231やスキャナエンジンファーム232をアップデートする処理を実行する。S137で、CPU210は、アップデート処理でエラーが発生したか否かを判定する。エラーが発生している場合はS138に進み、そうでない場合はS142に進む。
S138で、CPU210は、当該エラーが1回目のエラーか否かを判定する。1回目のエラーである場合は、S139に進み、リトライ処理、即ち、再度のアップデート処理を実行し、S136に戻る。S138でエラーが2回目(以上)の場合には、S140に進み、CPU210は、旧stdファーム311を書き戻す処理を実行する。これは、S132でstdファーム311のアップデートをしてしまったため、新しいエンジンファームが更新されないケースの場合に、stdファーム311とエンジンファームとの組み合わせが保証できなくなるからである。
その後、S141に進み、CPU210は、書き戻しが成功したか否かを判定する。書き戻し処理が成功した場合には処理Bに進み、失敗した場合には処理Cに進む。処理Bについては、S143で、CPU210は、図4の601で説明したように、操作部220にエラーメッセージを表示し、S142に進みstdファーム311で通常起動し、処理を終了する。処理Cについては、S144で、CPU210は、図4の602で説明したように、操作部220にエラーコードを表示し、処理を終了する。S137でアップデートに失敗しなかった場合には、すべてのアップデート処理が完了したことになり、S142で、CPU210は、stdファーム311で通常起動し、処理を終了する。
以上説明したように、本実施形態に係る情報処理装置によれば、アップデート中に何らかのエラーが発生したケースでも、起動モードを切り替えて、例えば、アップデート用ファーム(safeファーム)を先に更新する。これにより、エラーを回避し、所望のアップデート処理を行うことができる。つまり、本実施形態に係る情報処理装置は、図3に示すように、通常起動時に使用されるstdファームと、ファーム更新時に使用されるsafeファームとを含む。この構成で、本情報処理装置は、2つのファームを更新する場合に、いずれか一方を先に更新し、その際にエラーが発生すると、リトライ処理を実行し、それでもエラーが回避できない場合は、現在起動しているファームとは異なるファームを用いて再起動する。つまり、再起動に用いたファームとは異なるファームを先に更新することになる。その後、当該ファームが正常に更新できた場合には、エラーが発生していたファームの更新を再度実行する。このように制御することで、本情報処理装置は、発生したエラーを回避しつつ、他方のファームを更新することができ、さらには、2つのファームを更新することができる場合もある。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
210:CPU、211:チップセット、212:RAM、213:SRAM、214:NIC、218:HDD、219:FlashROM、220:操作部、221:プリンタエンジン、222:スキャナエンジン、240:電源、250:外部サーバ、260:PC

Claims (12)

  1. 複数のファームウェアを含む情報処理装置であって、
    前記複数のファームウェアのうち、何れかのファームウェアを用いて情報処理装置を起動する起動手段と、
    前記起動手段によって前記情報処理装置の起動に用いた前記ファームウェアとは異なるファームウェアを更新する更新手段と、
    前記ファームウェアの更新中にエラーが発生すると、現在起動しているファームウェアとは異なるファームウェアを用いて前記起動手段によって前記情報処理装置を再起動させ、前記更新手段によって再起動に用いたファームウェアとは異なるファームウェアを更新させる制御手段と
    を備えることを特徴とする情報処理装置。
  2. 前記制御手段は、前記更新手段によって1つ目のファームウェアの更新が正常に終了すると、該1つ目のファームウェアを用いて前記起動手段によって前記情報処理装置を再起動させ、該1つ目のファームウェアとは異なるファームウェアを前記更新手段によって更新させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記エラーが発生した際の処理をリトライするリトライ手段をさらに備えることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記制御手段は、前記リトライ手段によるリトライ回数が所定回数を超えると、前記エラーが発生したと判断して、更新対象のファームウェアを切り替えることを特徴とする請求項3に記載の情報処理装置。
  5. 更新対象のファームウェアを外部から受信する受信手段をさらに備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. ファームウェアの更新中に発生するエラーを検知する検知手段をさらに備え、
    前記検知手段は、前記受信手段による前記更新対象のファームウェアの受信中に発生するエラーと、前記受信手段によって受信した前記更新対象のファームウェアをメモリに展開する際に発生するエラーと、前記更新対象のファームウェアに対応する前記情報処理装置の現在のファームウェアをバックアップする際に発生するエラーと、前記更新手段によってファームウェアを更新する際に発生するエラーとの少なくとも1つを検知することを特徴とする請求項5に記載の情報処理装置。
  7. 前記制御手段は、前記更新手段によってファームウェアを更新する際にエラーが発生したと前記検知手段によって検知されると、バックアップしたファームウェアを書き戻した後に、更新対象のファームウェアを切り替えることを特徴とする請求項6に記載の情報処理装置。
  8. 前記制御手段は、
    前記バックアップしたファームウェアを書き戻す際に、エラーが発生したため元のファームウェアに戻していることを操作部に表示することを特徴とする請求項7に記載の情報処理装置。
  9. 前記制御手段は、
    前記バックアップしたファームウェアを書き戻す際にエラーが発生すると、起動不良を示すエラーコードを操作部に表示することを特徴とする請求項8に記載の情報処理装置。
  10. 前記複数のファームウェアには、通常起動時に用いられるファームウェアと、該通常起動時に用いられるファームウェアを更新する際に用いられるファームウェアとが含まれることを特徴とする請求項1乃至9の何れか1項に記載の情報処理装置。
  11. 複数のファームウェアを含む情報処理装置の制御方法であって、
    起動手段が、前記複数のファームウェアのうち、何れかのファームウェアを用いて情報処理装置を起動する起動工程と、
    更新手段が、前記起動工程で前記情報処理装置の起動に用いた前記ファームウェアとは異なるファームウェアを更新する更新工程と、
    制御手段が、前記ファームウェアの更新中にエラーが発生すると、現在起動しているファームウェアとは異なるファームウェアを用いて前記起動工程で前記情報処理装置を再起動させ、再起動に用いたファームウェアとは異なるファームウェアを更新させる制御工程と
    を実行することを特徴とする情報処理装置の制御方法。
  12. 請求項1乃至10の何れか1項に記載の情報処理装置としてコンピュータを機能させるための該コンピュータで読み取り可能なプログラム。
JP2014179517A 2014-09-03 2014-09-03 情報処理装置、その制御方法、及びプログラム Active JP6482211B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014179517A JP6482211B2 (ja) 2014-09-03 2014-09-03 情報処理装置、その制御方法、及びプログラム
US14/840,246 US9772905B2 (en) 2014-09-03 2015-08-31 Updating control firmware of information processing apparatus, method of controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014179517A JP6482211B2 (ja) 2014-09-03 2014-09-03 情報処理装置、その制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016053839A true JP2016053839A (ja) 2016-04-14
JP6482211B2 JP6482211B2 (ja) 2019-03-13

Family

ID=55402613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014179517A Active JP6482211B2 (ja) 2014-09-03 2014-09-03 情報処理装置、その制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US9772905B2 (ja)
JP (1) JP6482211B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021071986A (ja) * 2019-10-31 2021-05-06 株式会社リコー 情報処理装置、更新制御方法、更新制御プログラム、及び情報処理システム
US11106797B2 (en) 2018-09-26 2021-08-31 Canon Kabushiki Kaisha Data processing apparatus, image processing apparatus and method for verifying and restoring operating system in activation mode

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160306623A1 (en) * 2015-04-16 2016-10-20 Aic Inc. Control module of node and firmware updating method for the control module
EP3376391A1 (en) * 2017-03-17 2018-09-19 Ricoh Company Ltd. Information processing apparatus, updating method, and carrier means

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078336A (ja) * 2003-08-29 2005-03-24 Toshiba Corp 画像形成装置と画像形成装置のプログラム書換方法
JP2006235992A (ja) * 2005-02-24 2006-09-07 Seiko Epson Corp プリンタのファームウェア書き替えシステムおよびファームウェア書き替え方法並びにプリンタ
JP2008003861A (ja) * 2006-06-22 2008-01-10 Sony Corp 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア
JP2009009391A (ja) * 2007-06-28 2009-01-15 Sony Ericsson Mobilecommunications Japan Inc 更新処理ソフトウェア自己更新方法および携帯端末装置
JP2009265980A (ja) * 2008-04-25 2009-11-12 Canon Inc 情報処理装置
JP2011128702A (ja) * 2009-12-15 2011-06-30 Sharp Corp 画像形成装置及びこれに用いるファームウェアのアップデート方法
JP2012018524A (ja) * 2010-07-07 2012-01-26 Canon Inc 情報処理装置及びその制御方法
JP2012018523A (ja) * 2010-07-07 2012-01-26 Canon Inc 情報処理装置及びその制御方法
JP2012160113A (ja) * 2011-02-02 2012-08-23 Canon Inc 情報処理装置におけるファームウエア更新状況表示方法
JP2012159965A (ja) * 2011-01-31 2012-08-23 Kyocera Document Solutions Inc 画像形成装置
JP2013123112A (ja) * 2011-12-09 2013-06-20 Fujitsu Ltd 無線通信装置、データ配信装置、データ更新方法及びデータ配信方法
JP2013218510A (ja) * 2012-04-09 2013-10-24 Canon Inc 情報処理装置、情報処理装置のプログラム更新方法、及びプログラム
JP2014115779A (ja) * 2012-12-07 2014-06-26 Canon Inc 画像処理装置、情報処理方法及びプログラム
JP2014518428A (ja) * 2011-07-07 2014-07-28 インテル・コーポレーション Biosフラッシュ攻撃に対する保護および通知

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082549B2 (en) * 2000-11-17 2006-07-25 Bitfone Corporation Method for fault tolerant updating of an electronic device
US7085957B2 (en) * 2002-11-21 2006-08-01 Texas Instruments Incorporated Upgrading of firmware with tolerance to failures
BRPI0811166B1 (pt) * 2007-05-21 2019-04-24 Thomson Licensing Método para atualizar um firmware em um terminal de rede e terminal de rede
JP5113700B2 (ja) * 2008-09-24 2013-01-09 株式会社日立ソリューションズ ファームウェア更新装置及び方法
TWI386847B (zh) * 2009-02-04 2013-02-21 Novatek Microelectronics Corp 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置
US9292277B2 (en) * 2009-12-18 2016-03-22 Hewlett-Packard Development Company, L.P. Methods and devices for updating firmware of a component using a firmware update application
US8869138B2 (en) * 2011-11-11 2014-10-21 Wyse Technology L.L.C. Robust firmware update with recovery logic
US8726266B2 (en) * 2010-05-24 2014-05-13 Abbott Diabetes Care Inc. Method and system for updating a medical device
US9563497B2 (en) * 2012-12-19 2017-02-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Correcting a failure associated with a current firmware image
US9207929B2 (en) * 2013-08-26 2015-12-08 Hitachi, Ltd. Integrated system and firmware update method

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078336A (ja) * 2003-08-29 2005-03-24 Toshiba Corp 画像形成装置と画像形成装置のプログラム書換方法
JP2006235992A (ja) * 2005-02-24 2006-09-07 Seiko Epson Corp プリンタのファームウェア書き替えシステムおよびファームウェア書き替え方法並びにプリンタ
JP2008003861A (ja) * 2006-06-22 2008-01-10 Sony Corp 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア
JP2009009391A (ja) * 2007-06-28 2009-01-15 Sony Ericsson Mobilecommunications Japan Inc 更新処理ソフトウェア自己更新方法および携帯端末装置
JP2009265980A (ja) * 2008-04-25 2009-11-12 Canon Inc 情報処理装置
JP2011128702A (ja) * 2009-12-15 2011-06-30 Sharp Corp 画像形成装置及びこれに用いるファームウェアのアップデート方法
JP2012018524A (ja) * 2010-07-07 2012-01-26 Canon Inc 情報処理装置及びその制御方法
JP2012018523A (ja) * 2010-07-07 2012-01-26 Canon Inc 情報処理装置及びその制御方法
JP2012159965A (ja) * 2011-01-31 2012-08-23 Kyocera Document Solutions Inc 画像形成装置
JP2012160113A (ja) * 2011-02-02 2012-08-23 Canon Inc 情報処理装置におけるファームウエア更新状況表示方法
JP2014518428A (ja) * 2011-07-07 2014-07-28 インテル・コーポレーション Biosフラッシュ攻撃に対する保護および通知
JP2013123112A (ja) * 2011-12-09 2013-06-20 Fujitsu Ltd 無線通信装置、データ配信装置、データ更新方法及びデータ配信方法
JP2013218510A (ja) * 2012-04-09 2013-10-24 Canon Inc 情報処理装置、情報処理装置のプログラム更新方法、及びプログラム
JP2014115779A (ja) * 2012-12-07 2014-06-26 Canon Inc 画像処理装置、情報処理方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11106797B2 (en) 2018-09-26 2021-08-31 Canon Kabushiki Kaisha Data processing apparatus, image processing apparatus and method for verifying and restoring operating system in activation mode
JP2021071986A (ja) * 2019-10-31 2021-05-06 株式会社リコー 情報処理装置、更新制御方法、更新制御プログラム、及び情報処理システム
JP7395962B2 (ja) 2019-10-31 2023-12-12 株式会社リコー 情報処理装置、更新制御方法、更新制御プログラム、及び情報処理システム

Also Published As

Publication number Publication date
JP6482211B2 (ja) 2019-03-13
US9772905B2 (en) 2017-09-26
US20160062838A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
EP1899814B1 (en) Firmware update for consumer electronic device
JP5431111B2 (ja) 情報処理装置及びシステム設定方法
JP6482211B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP7206106B2 (ja) 情報処理装置及びプログラム
JP2008165627A (ja) 組込装置および制御方法
JP6270616B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2015212880A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2020082441A (ja) 画像形成装置、その制御方法、及びプログラム
JP6073710B2 (ja) 情報処理装置、起動障害からの自動復旧方法、及び起動障害からの自動復旧プログラム
US20180181386A1 (en) Information processing system, information processing method, and computer program product
JP6457756B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2023068538A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2007172200A (ja) ソフトウェア更新システム
TWI541724B (zh) 寫入基本輸入輸出系統程式碼的電路與寫入方法
JP5585502B2 (ja) 情報処理装置およびそのファームウェア更新方法
JP6822203B2 (ja) ファームウェア実行装置、ドライバ実行装置、ドライバ管理装置、ファームウェア管理装置、コンピュータ装置、方法およびプログラム
US20230132214A1 (en) Information processing apparatus and method of the same
JP2022187302A (ja) 情報処理装置とその制御方法、及びプログラム
JP2005032014A (ja) データ処理装置、データ処理装置の起動プログラム、データ処理装置の起動方法
JP2020171002A (ja) 情報処理装置及びその制御方法
JP6149624B2 (ja) ファームウェア実行装置、ファームウェア実行方法、コンピュータ・プログラム、および、コンピュータ装置
JP2023064046A (ja) 情報処理装置、及びその起動方法
JP7196544B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2004110220A (ja) プログラムの更新方法
JP2009159383A (ja) 通信端末装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190212

R151 Written notification of patent or utility model registration

Ref document number: 6482211

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151