JP2015225478A - 情報処理装置のファームアップデートにおけるバックアップ方法 - Google Patents

情報処理装置のファームアップデートにおけるバックアップ方法 Download PDF

Info

Publication number
JP2015225478A
JP2015225478A JP2014109617A JP2014109617A JP2015225478A JP 2015225478 A JP2015225478 A JP 2015225478A JP 2014109617 A JP2014109617 A JP 2014109617A JP 2014109617 A JP2014109617 A JP 2014109617A JP 2015225478 A JP2015225478 A JP 2015225478A
Authority
JP
Japan
Prior art keywords
update
firmware
module
specifying
expansion
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.)
Pending
Application number
JP2014109617A
Other languages
English (en)
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 JP2014109617A priority Critical patent/JP2015225478A/ja
Publication of JP2015225478A publication Critical patent/JP2015225478A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】従来技術においては、ファームウェアをアップデートする場合、アップデートに失敗したときのリカバリのために、すべてのファームウェアをバックアップしている。しかし、アップデートするモジュールが少ない場合でも、必ずすべてのファームをバックアップしているため、時間を非常に要していた。よって、ファームウェアの差分アップデートの効果を活かした早くて安全な、バックアップを含むアップデートの仕組みを提供することを目的とする。
【解決手段】アップデート対象となるモジュールを特定するアップデート対象ファーム特定手段と、前記アップデート対象ファーム特定手段において特定されたモジュール内に含まれる、モジュール展開情報を参照する展開情報参照手段と、前記展開情報参照手段においてモジュールの展開先を特定する展開先特定手段と、前記展開先部分のみをバックアップする差分バックアップ手段と、アップデートを実施するアップデート実施手段と、を備える情報処理装置。
【選択図】図6

Description

本発明は、情報処理装置におけるファームアップデートを行う際に、現在動作しているファームをバックアップする、そのバックアップ方法に関する。
従来の情報処理装置のファームアップデートにおいては、アップデートが失敗するケースがありうる。そのため、失敗したときに前の状態に戻すため、現在動作中のファームウェアをバックアップしておく技術があり、それを利用して失敗時のリカバリを実施するケースがある。特にバックアップ方法においては、ファームウェアをネットワーク上のサーバに転送しておき、アップデートが正常に完了しなかった場合に転送しておいた古いファームウェアを書き戻す、といった技術が知られている(特許文献1参照)。また、ファームウェアのうち、必要な部分のみをアップデートする差分アップデートという技術が公知である。
特開2004−356767号公報
しかし、特許文献1に記載された技術においては、ファームウェアを必ずすべてバックアップしておく必要がある。アップデートに失敗したときのリカバリのために、バックアップは必要だが、その一方で、アップデートはファームウェアを搭載した情報処理装置のダウンタイムにも繋がるため、短時間で終わらせる必要がある。今回、課題とするのは、このバックアップ対象となるファームについてである。先行技術である特許文献1においては、ファームウェアを必ずすべてバックアップするため、ファームウェアのうち、不要なバックアップをしている可能性もある。つまり、前述した差分アップデートが公知技術である今、バックアップ処理としても差分アップデートされる部分のみのファームをバックアップすべきである。
本発明は、上記の問題点を鑑み成されたものであり、ファームアップデートを実施する際に実施するバックアップを、差分アップデート対象となるファームウェアの一部分のみバックアップする、差分バックアップという仕組みを提供することを目的とする。
上記の目的を達成するために本発明に係る情報処理装置の構成は、ソフトウェアが複数モジュールに分割され、ある特定のモジュールのみをアップデートする差分アップデートが可能な情報処理装置において、アップデート対象となるモジュールを特定するアップデート対象ファーム特定手段と、前記アップデート対象ファーム特定手段において特定されたモジュール内に含まれる、モジュール展開情報を参照する展開情報参照手段と、前記展開情報参照手段においてモジュールの展開先を特定する展開先特定手段と、前記展開先部分のみをバックアップする差分バックアップ手段と、アップデートを実施するアップデート実施手段と、を備えることを特徴とする。
本発明によれば、ファームアップデート実施対象の数や大きさに応じて、必要な部分のみバックアップし、異常時のリカバリ処理の準備をすることができる。必要な部分のみバックアップすることにより、通常のファームアップデートの時間短縮に大幅に寄与する。また、リカバリ時の処理も差分部分のみ使用するため時間短縮に寄与することができる。
情報処理装置100の構成を示すブロック図の一例である。 FlashROM211の構成図の一例である。 FlashROM211に含まれたファームウェアを構成するモジュールに含まれる設定ファイルの一例である。 ファームウェア内のディレクトリ構成の一例である。 バックアップを含むアップデート処理のフローチャートの一例である。 バックアップを含むアップデート処理のフローチャートの一例である。 バックアップを含むアップデート処理のフローチャートの一例である。 バックアップを含むアップデート処理のフローチャートの一例である。 ファームアップデートの一連の流れについてフローチャートである。 図7で説明したアップデートが失敗したとき流れについてフローチャートである。
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、情報処理装置100の構成を示すブロック図の一例である。CPU210を含む制御部200は、情報処理装置100全体の動作を制御する。CPU210は、FlashROM211に記憶された制御プログラムを読み出して読取制御や印刷制御、ファームアップデート制御などの各種制御処理を実行する。また、ファームアップデート用のファイル格納領域、ワークエリア、またユーザデータ領域としても用いられる。RAM212は、CPU210の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD213は、画像データやユーザデータ等を記憶する。HDD213が接続されないケースもある。
操作部I/F214は、操作部219と制御部200とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。プリンタI/F215は、プリンタエンジン220と制御部200とを接続する。プリンタエンジン220内に含む図示しないROMにはプリンタエンジンファーム250が格納されている。プリンタエンジン220で印刷すべき画像データはプリンタI/F215を介して制御部210からプリンタエンジン220に転送され、プリンタ220において記録媒体上に印刷される。また、プリンタエンジン220はフィニッシャエンジン222とも接続するケースがある。フィニッシャエンジン222内に含む図示しないROMにはフィニッシャエンジンファーム252が格納されている。フィニッシャエンジン222は、プリンタエンジン220から送られた印刷済みの記録媒体をソートしたりステイプルしたりする機能を持つ。
スキャナI/F216は、スキャナエンジン221と制御部200とを接続する。スキャナエンジン221内に含む図示しないROMにはスキャナエンジンファーム251が格納されている。また、スキャナエンジンファーム251をFlashROM211に含むケースもある。スキャナエンジン221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部200に入力する。
USB−HostI/F217は、USB−FAXエンジン223と制御部200とを接続する。USB−FAXエンジン223内に含む図示しないROMにはUSB−FAXエンジンファーム253が格納されている。
USB−FAXエンジン223は、スキャナエンジン221により読み取った画像データをFAX回線115を介してFAX送信する機能を持つ。また、USB−HostI/F217は、外部USBデバイス224とも接続可能である。
外部USBデバイス224は、USBメモリやUSBキーボードなどが例として挙げられる。USBメモリにアップデートファームを格納し、ダウンロードしてFlashROM211のファイル格納領域に置くケースもある。
ネットワークI/F218は、制御部200(情報処理装置100)をLAN110に接続する。ネットワークI/F218は、LAN110上の外部装置(例えば、外部サーバ225やPC226)に画像データや情報を送信したり、逆にアップデートファームや各種情報を受信したりする。外部サーバ225はインターネット上に存在するケースもある。
図2はFlashROM211の構成図の一例である。310はファームウェアであり通常プログラムが格納された領域である。このファームウェア310は、図1で説明したような各種機能を動作させるプログラムである。311はアップデートファームウェアであり、ファームウェア310をアップデートする指示を出したり、旧ファームウェアをバックアップする指示をしたりするプログラムである。
320はアップデート対象ファームウェア置き場であり、図1で説明したUSB−HostI/F217やネットワーク218経由でダウンロードしたファームウェアを置く場所である。このアップデート対象ファームウェア置き場320はファームウェア310、アップデートファームウェア311双方から参照できる場所となっている。
321は旧ファームウェアバックアップ場所であり、ファームウェア310をアップデートする際に、そのファームウェアをバックアップ(退避)しておくための場所である。この場所も、ファームウェア310、アップデートファームウェア311双方から参照できる場所となっている。
図3はFlashROM211に含まれたファームウェア310の構成図の一例を表したものである。350が各モジュールを示している。たとえば、システム制御モジュール360では、メモリの管理や設定値の管理などを行っている。また、図2におけるアップデート対象ファームウェア置き場320に配置する、アップデート対象ファームウェアも同様に各モジュールに分割されている。アップデート対象ファームウェアのモジュールの内容は図4(a)(b)にて、FlashROM211に含まれたファームウェア310のディレクトリ構成、ファイル構成については図5で説明する。
図4(a)は、アップデート対象ファームウェアのモジュールの内容の一例を示したもので、図3におけるシステム制御モジュール360の内部構造を示したものである。本例におけるシステム制御モジュールの名称にはバージョンが付随しており、例えばsystem−3.1.1.pkgといった名称になっている。このsystem−3.1.1.pkgは圧縮(例えばzip圧縮)されており、中身のファイルは例えば以下のようになっている。実行モジュールsystem.bin、共有ライブラリlibsystem.so.3.1.1、他の実行ファイル、ライブラリが参照先として指定するlibsystem.so.3.1.1へのシンボリックリンクファイルlibsystem.so.3、設定ファイルsystem−3.1.1.conf。特に設定ファイルsystem−3.1.1.confの中にはシステム制御モジュール360に含まれるファイル群の配置場所やパーミッション情報が含まれている。これについては図4(b)にて説明する。
図4(b)は、図4(a)における設定ファイルsystem−3.1.1.confの内容を示したものである。nameフィールドに名称、groupフィールドに本モジュールのグループ、versionフィールドにバージョン、packagerフィールドに作成者とメールアドレス、filesフィールドにファイル名とパーミッションが記載されている。特にfilesフィールドにおいては、システム制御モジュール360に含まれるファイル群の配置場所やパーミッション情報が含まれている。例えば、実行モジュールsystem.binは/bin/というディレクトリに展開されるように指定されていて、パーミッションは0755(自分自身はリード・ライト・実行可能、同一group、他groupはリード・実行可能)といった形になっている。
また、共有ライブラリlibsystem.so.3.1.1は/lib/というディレクトリに展開されるように指定されていて、パーミッションは0644(自分自身はリード・ライト可能、同一group、他groupはリード・可能)といった形になっている。また、共有ライブラリへのシンボリックリンクlibsystem.so.3は/lib/というディレクトリに展開されるように指定されていて、パーミッションは記載が省略されている。これは、シンボリックリンクは一般的に意味をもたないためであり、特に指定されていない。
図5は、FlashROM211に含まれたファームウェア310のディレクトリ情報を示したものである。この情報ファイルもモジュール化されており、図4(a)(b)に近いフォーマットとなっている。nameフィールド、groupフィールド、versionフィールド、packagerフィールドは図4(a)(b)と同様である。dirnameフィールドは、ディレクトリ名とそのディレクトリのオーナーとなるユーザ、グループ、パーミッションが記載されている。例えば図4(a)(b)で記載された/bin/、/lib/については、オーナーがroot、グループがroot、パーミッションが0755となっている。図2においてアップデートファームウェア311によりアップデート指示が出された場合、図4(a)(b)の情報を元に、ファームウェア310における図5で示されたディレクトリにファイルが展開される。
図6は、ファームアップデートの一連の流れについてフローチャートにて説明した図である。S101では、アップデート対象ファームウェア置き場320に対し、USB−HostI/F217やネットワーク218経由でダウンロードしたファームウェアを、アップデートファームウェア311がアップデート対象のものと特定する。S102では、そのアップデート対象の各モジュール350から展開先情報を参照する。参照する情報は図4(a)(b)で示したとおりである。S103では、図4(b)に記載されている情報から、各ファイルの展開先ディレクトリを特定する。次に、S104で、S103で特定したディレクトリ、例えば/lib以下を、アップデートファームウェア311が旧ファームウェアバックアップ場所321にバックアップする。そして、S105では、アップデートファームウェア311が、ファームウェア310をアップデートして終了する。
図7は、アップデートが失敗したときの動作について説明した図である。アップデートファームウェア311が旧ファームウェアバックアップ場所321から、図6のS104でバックアップしたファームウェアをファームウェア310にリカバリする(書き戻す)。
図8は、図6とほぼ同様であるが、図7で説明した、アップデートが失敗したときの流れについてフローチャートで示した図である。S201からS205までは、S101からS105までと同様である。S205でファームウェアのアップデートを実施した際に、S206でアップデートが成功したかどうかを判断し、成功ならそのまま終了する。アップデートが失敗した場合には、S207で、図7で説明したように、旧ファームウェアをリカバリする(書き戻す)。
実施例1との差分は、バックアップ対象を、ディレクトリではなくファイルそのものにする点である。図1から図5、図7については同様である。フローチャートのみの差分説明となる。
図9はファームアップデートの一連の流れについてフローチャートにて説明した図である。S301では、アップデート対象ファームウェア置き場320に対し、USB−HostI/F217やネットワーク218経由でダウンロードしたファームウェアを、アップデートファームウェア311がアップデート対象のものと特定する。S302では、そのアップデート対象の各モジュール350から展開先情報を参照する。参照する情報は図4(a)(b)で示したとおりである。S303では、図4(b)に記載されている情報から、各ファイルを特定する。次に、S304で、S303で特定したファイル、例えば/bin/system.bin,/lib/libsystem.so.3.1.1,/lib/libsystem.so.3を、アップデートファームウェア311が旧ファームウェアバックアップ場所321にバックアップする。そして、S105では、アップデートファームウェア311が、ファームウェア310をアップデートして終了する。
図10は、図9とほぼ同様であるが、図7で説明した、アップデートが失敗したとき流れについてフローチャートで示した図である。S401からS405までは、S301からS305までと同様である。S405でファームウェアのアップデートを実施した際に、S406でアップデートが成功したかどうかを判断し、成功ならそのまま終了する。アップデートが失敗した場合には、S407で、図7で説明したように、旧ファームウェアをリカバリする(書き戻す)。
211 FlashROM、220 プリンタエンジン、221 スキャナエンジン、
222 フィニッシャエンジン、223 USB−FAXエンジン

Claims (4)

  1. ソフトウェアが複数モジュールに分割され、ある特定のモジュールのみをアップデートする差分アップデートが可能な情報処理装置において、アップデート対象となるモジュールを特定するアップデート対象ファーム特定手段と、前記アップデート対象ファーム特定手段において特定されたモジュール内に含まれる、モジュール展開情報を参照する展開情報参照手段と、前記展開情報参照手段においてモジュールの展開先を特定する展開先特定手段と、前記展開先部分のみをバックアップする差分バックアップ手段と、アップデートを実施するアップデート実施手段と、を備えることを特徴とする情報処理装置。
  2. アップデートに失敗した際に、前記差分バックアップ手段によってバックアップされた部分のみを書き戻すリカバリ手段を備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記展開先特定手段によって特定される展開先は、ディレクトリであることを特徴とする請求項1又は請求項2に記載の情報処理装置。
  4. 前記展開先特定手段によって特定される展開先は、ディレクトリ兼ファイルであることを特徴とする請求項1又は請求項2に記載の情報処理装置。
JP2014109617A 2014-05-28 2014-05-28 情報処理装置のファームアップデートにおけるバックアップ方法 Pending JP2015225478A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014109617A JP2015225478A (ja) 2014-05-28 2014-05-28 情報処理装置のファームアップデートにおけるバックアップ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014109617A JP2015225478A (ja) 2014-05-28 2014-05-28 情報処理装置のファームアップデートにおけるバックアップ方法

Publications (1)

Publication Number Publication Date
JP2015225478A true JP2015225478A (ja) 2015-12-14

Family

ID=54842177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014109617A Pending JP2015225478A (ja) 2014-05-28 2014-05-28 情報処理装置のファームアップデートにおけるバックアップ方法

Country Status (1)

Country Link
JP (1) JP2015225478A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3260981A1 (en) 2016-06-24 2017-12-27 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method for updating firmware

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3260981A1 (en) 2016-06-24 2017-12-27 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method for updating firmware

Similar Documents

Publication Publication Date Title
JP5163408B2 (ja) 情報処理装置
US9229815B2 (en) Information processing apparatus, program update method, and program
JP6157811B2 (ja) ブート前データ検証のための方法及びシステム
JP4789958B2 (ja) 部品情報復元方法、部品情報管理方法及び電子装置
US9772905B2 (en) Updating control firmware of information processing apparatus, method of controlling the same, and storage medium
CN111045712A (zh) 一种具有备份功能的单系统升级方法及系统
US20190004761A1 (en) Printer apparatus and program
US7904422B2 (en) System for deploying data from deployment-source device to deployment-destination device
JP2015225478A (ja) 情報処理装置のファームアップデートにおけるバックアップ方法
JP6160688B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2009176151A (ja) 情報処理装置およびその起動方法
US20190095282A1 (en) Information processing apparatus, information processing system, and control method by the same
JP6467298B2 (ja) サーバ運用作業履歴管理装置、システム、方法、およびプログラム
JP6657725B2 (ja) データベースシステム、レプリケーション制御装置、レプリケーション方法、及びプログラム
JP5338610B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4020869B2 (ja) 二重系システム
JP2010259004A (ja) 画像処理装置、画像形成装置、記憶装置増設方法、及び記憶装置増設プログラム
JP2012137905A (ja) 情報処理装置、biosのセットアップ設定値の復旧方法、プログラム
JP5703860B2 (ja) フォールトトレラントシステム、メモリ制御方法、及びプログラム
JP2009205241A (ja) コンピュータシステム及びそのシステムにおけるブート制御方法
JP7095296B2 (ja) 分散型構成管理装置、分散型構成管理方法、及び、分散型構成管理プログラム
JP2024090917A (ja) データ処理装置及びそのプログラム
JP2018063587A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2005044182A (ja) ディスクアレイ装置およびプログラム
JP2009266117A (ja) Usbメモリ装置、及び、それを用いたプラグインアプリケーションシステム