JP6600240B2 - 情報処理装置、ファームウェア更新方法、およびプログラム - Google Patents

情報処理装置、ファームウェア更新方法、およびプログラム Download PDF

Info

Publication number
JP6600240B2
JP6600240B2 JP2015239748A JP2015239748A JP6600240B2 JP 6600240 B2 JP6600240 B2 JP 6600240B2 JP 2015239748 A JP2015239748 A JP 2015239748A JP 2015239748 A JP2015239748 A JP 2015239748A JP 6600240 B2 JP6600240 B2 JP 6600240B2
Authority
JP
Japan
Prior art keywords
firmware
customization data
information processing
processing apparatus
unit
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.)
Active
Application number
JP2015239748A
Other languages
English (en)
Other versions
JP2017107341A (ja
Inventor
英雄 淺原
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 JP2015239748A priority Critical patent/JP6600240B2/ja
Priority to US15/765,382 priority patent/US10817379B2/en
Priority to PCT/JP2016/004361 priority patent/WO2017098678A1/en
Publication of JP2017107341A publication Critical patent/JP2017107341A/ja
Application granted granted Critical
Publication of JP6600240B2 publication Critical patent/JP6600240B2/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/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

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

Description

本発明は、情報処理装置、ファームウェア更新方法、およびプログラムに関する。
複合機を販売する上で、顧客の個別要望に応えるため、専用にカスタマイズされた商談専用機能を提供するケースがある。この場合に、商談ファームウェアを個別開発するとコストがかかるため、製品ファームウェアの中に商談専用機能を予め実装し、有効化/無効化の切り替えを可能にするカスタムスイッチを用意することが一般的である。
しかし、人手によりカスタムスイッチを有効化して顧客先に設置することは、手間がかかる上にミスが入る可能性がある。そのため、個々の商談に合わせて適切なカスタムスイッチを有効化するためのカスタマイズデータを作成し、カスタマイズデータをインポートすることが行われている。
特許第5141134号公報
しかしながら、製品ファームウェアとカスタマイズデータの組み合わせを間違えると、製品ファームウェアの中の機能を適切に有効化できないといった問題が発生する課題がある。これは、カスタマイズデータは、特定の製品ファームウェアのバージョンに合わせて作成する必要があるためである。特許文献1では、ファームウェアアップデート時にデバイスが記憶していた設定を新しいファームウェアでも扱えるようにマイグレーションする技術が開示されているが、カスタムスイッチの値を変更することはできない。
本発明は、上記問題を鑑み、ファームウェアとの組み合わせが正しいカスタマイズデータが人手を介することなく自動的に適用される仕組みを提供することを目的とする。
上記課題を解決するために本願発明は、以下の構成を有する。すなわち、ファームウェアを備える情報処理装置であって、ファームウェアのデータセットを取得する取得手段と、前記取得手段にて取得したファームウェアのデータセットを用いて、ファームウェアの更新を行う更新手段と、前記取得手段にて取得したファームウェアのデータセットにカスタマイズデータが含まれ、かつ、前記更新手段によるファームウェアの更新時にカスタマイズデータの適用が制限されている場合、前記取得手段にて取得したファームウェアのデータセットに含まれるカスタマイズデータを保持する保持手段と、ファームウェアが有する機能に対する設定値を示すカスタマイズデータを、前記情報処理装置が備えるファームウェアに適用する適用手段を有し、前記適用手段は、前記取得手段にて取得したファームウェアのデータセットにカスタマイズデータが含まれている場合、当該カスタマイズデータを適用するか否かを判定し、当該判定の結果に応じて、前記更新手段によるファームウェアの更新が完了した後、前記制限が解除された際に、前記保持手段が保持するカスタマイズデータを適用する。
本発明により、ファームウェアとの組み合わせが正しいカスタマイズデータが、ファームウェア更新時に人手を介することなく自動的に適用され、組み合わせミスなどが発生しなくなる。
本願発明に係る画像形成装置のハードウェアの構成例を示す図。 第一の実施形態に係る画像形成装置のソフトウェアの構成例を示す図。 本願発明に係るファームウェアセットの構成例を示す図。 カスタマイズデータの記述例を示す図。 ファームウェアリストファイルの記述例を示す図。 ファームウェアの更新結果画面の例を示す図。 第一の実施形態に係るファームウェアを更新するフローチャート。 本願発明に係る設定値を初期化するフローチャート。 第二の実施形態に係るソフトウェア構成の例を示す図。 第二の実施形態に係るファームウェアを更新するフローチャート。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の説明において、本願発明に係る情報処理装置の一例としてMFPなどの画像形成装置を挙げて説明するが、これに限定するものでは無く、ファームウェアを備える情報処理装置であれば、他の装置であってもよい。
<第一の実施形態>
[システム構成]
図1は、本実施形態に係る画像形成装置101のハードウェア構成の例を示す図である。画像形成装置101は、MFP(Multi−Function Peripheral)などの複合機に代表される、画像を形成する機能を有する装置である。画像形成装置101は、CPU101、不揮発性メモリ102、揮発性メモリ103、補助記憶装置104、ディスプレイ105、入力装置106、およびネットワーク通信装置107を備える。各構成部は、通信バスである内部バス110を介して、画像形成装置101内で互いに通信可能に接続される。
CPU101は、プログラムの実行や、様々な処理の制御を行う。不揮発性メモリ102は、ROM(Read Only Memory)から構成され、機器の起動処理において初期段階に必要なプログラムやデータが格納される。揮発性メモリ103は、RAM(Random Access Memory)から構成され、プログラム、データの一時的な格納場所として利用される。補助記憶装置104は、ハードディスクやRAMドライブ等の大容量記憶装置から構成され、大容量データの保管、プログラムの実行コードの保持、画像形成装置101の設定値の保持を行う。補助記憶装置104は、揮発性メモリ103と比較して、長時間保持する必要があるデータを記憶する。補助記憶装置104は、不揮発性の記憶装置であるため、画像形成装置101の電源が切られてもデータを記憶し続けることができる。
ディスプレイ105は、各種情報を表示するための表示装置である。入力装置106は、ユーザの指示を受け付け、内部バス110を介してプログラムに伝達するための装置である。ネットワーク通信装置107は、画像形成装置101がネットワーク120を介して外部の情報機器と通信することを可能とする。
図2は、本実施形態に係る画像形成装置101のソフトウェア構成例を示す図である。図2に示す各ソフトウェアは、画像形成装置101において不揮発性メモリ102もしくは補助記憶装置104に保存され、CPU101にて実行される。また、実行時に使用する各種情報は、画像形成装置101において、揮発性メモリ103もしくは補助記憶装置104に保持してソフトウェア間で各種情報のやりとりを行う。
本実施形態に係るソフトウェアは、設定記憶部201、ファームウェアバージョン記憶部202、ファームウェア記憶部203、設定初期化部204、ファームウェア更新判定部205、ファームウェア更新部206、カスタマイズデータ適用部207、およびファームウェア更新結果通知部208を含んで構成される。
設定記憶部201は、画像形成装置101の各機能の振る舞いを切り替えるための設定を補助記憶装置104に記憶する。以下の表1に示す設定一覧は、設定記憶部201に記憶される設定値の一例を示す。
Figure 0006600240
表1に示す例では、設定Aと設定Bという二つの設定項目が存在し、その値はともに0である状態を示している。設定の具体例としては、デフォルト画面に社名やロゴを表示する機能を有効化する設定、送信機能を利用できなくする設定、アドレス帳に登録された宛先以外に送信できなくする設定などが挙げられる。顧客によっては必ずしも便利ではない機能であるため、顧客の要望に応じて画像形成装置101が備える機能の有効化/無効化を制御する。なお、設定項目の数はこれに限定するものではなく、更に多くの設定項目を含んでもよい。また、上記の設定項目は、1のファームウェアに含まれる複数の機能のうちのいずれかの機能に対する設定であってもよいし、複数のファームウェアに共通する機能に対する設定であってもよい。
ファームウェアバージョン記憶部202は、画像形成装置101で動作中のファームウェアのバージョンを補助記憶装置104に記憶する。以下の表2に示すファームウェアバージョン一覧は、ファームウェアバージョン記憶部202に記憶されるファームウェアバージョンの一例を示す。
Figure 0006600240
表2に示す例では、ファームウェア1、2、3という3つのファームウェアと、カスタマイズデータを保持するファームウェアの計4つのファームウェアが存在し、そのバージョンは全て1.0である状態を示している。ファームウェアの具体例としては、プリンタエンジン用ファームウェア、スキャナエンジン用ファームウェア、フィニッシャ用ファームウェアなどが挙げられる。なお、ファームウェアの数や種類はこれに限定するものでは無く、より細かい区分がなされていてもよい。
ファームウェア記憶部203は、画像形成装置101で動作するファームウェアを補助記憶装置104に記憶する。
設定初期化部204は、画像形成装置101が設定記憶部201にて記憶している設定値を初期化する。基本となる初期値は、ファームウェア記憶部203に記憶されたファームウェアが保持している。設定初期化部204は、各設定値を基本となる初期値に戻したうえで、ファームウェア記憶部203が記憶しているファームウェアの中にカスタマイズデータが含まれているか判定する。ここでの判定は、ファームウェアバージョン記憶部202が記憶するファームウェアリストの中に、カスタマイズデータというファームウェア名称のファームウェアが存在し、有効なバージョンが記憶されているか否かにより判定される。なお、判定方法については、ファームウェア記憶部203が記憶するファームウェアを直接検索する方法であってもよい。カスタマイズデータが含まれている場合には、カスタマイズデータ適用部207に対して、カスタマイズデータの適用を依頼する。これにより、カスタマイズデータも反映した初期値への初期化処理が行われる。
ファームウェア更新判定部205は、ファームウェアの更新要求を受け付けて更新すべきファームウェアを判定する。ファームウェアの更新要求は、例えば、ユーザが入力装置106を操作することで要求されてもよいし、ネットワーク通信装置107を介して別の情報機器から要求されてもよい。
図3は、更新に用いられるファームウェアのデータ構成の例を示す。ファームウェアセット301は、各ファームウェアや情報ファイルをひとまとめにしたデータセットである。図3の例では、ファームウェアファイル302(3つのファームウェア1、2、3)と、カスタマイズデータ303という名称のファームウェアの、計4つのファームウェアが含まれている。更に、ファームウェアセット301には、ファームウェアセット301の情報を示すファームウェアリストファイル304が含まれている。ファームウェア1、2、3の実態は、例えばCPU101が実行可能な形式のソフトウェアプログラムである。上記の通り、ファームウェアセット301に含まれるカスタマイズデータ303もファームウェアの一種として扱われる。
図4は、カスタマイズデータ303の記述例を示す。図4の例では、XML(Extensible Markup Language)形式のファイルになっており、カスタマイズした設定の識別子と設定値が保持されている。ここでは、設定Bの値を“1”に変更するカスタマイズデータを示す。カスタマイズデータ303の具体的な例としては、デフォルト画面に社名やロゴを表示する機能を有効化する設定を含むXMLファイル等が挙げられる。カスタムスイッチは複数あってもよいし、より複雑な条件がついていてもよい。なお、ここではXML形式のファイルを一例として挙げているが、この形式に限定するものではない。
図5は、ファームウェアリストファイル304の記述例を示す。図5の例では、XML形式のファイルになっており、ファームウェアセット301に含まれているファームウェアのリストが保持されている。ファームウェアリストファイル304において、各ファームウェアの名称とバージョンが保持されている。例えば、ファームウェア1はバージョンが“1.1”である。ファームウェアリストファイル304に記述されたファームウェアの情報は、ファームウェアセット301に含まれるファームウェアと一致しているか、少なくとも包含関係にある必要がある。各ファームウェアの情報は、少なくともファームウェアの新旧が分かる情報と、ファームウェアを識別できる情報の2つを保持する必要がある。なお、上記以外にも、チェック用のハッシュ値があってもよいし、ファイルサイズの情報があってもよい。
ファームウェア更新判定部205は、ファームウェアバージョン記憶部202が記憶するファームウェアのバージョンと、ファームウェアリストファイル304に保存されたファームウェアのバージョンを比較し、ファームウェアの更新が必要か否かを判定する。例えば、ファームウェア1のバージョンが表2に示す通り“1.0”であり、ファームウェアセット301に含まれるファームウェア1のバージョンが図5の通り“1.1”であるとする。この時、ファームウェア更新判定部205は、バージョンが新しくなっていることを検知し、ファームウェア1の更新が必要であると判定する。また、ファームウェア2のバージョンが表2に示す通り“1.0”であり、ファームウェアセット301に含まれるファームウェア2のバージョンが図5の通り“1.0”であるとする。この時、ファームウェア更新判定部205はバージョンの変更がないことを検知し、ファームウェア2の更新が必要ないと判定する。
ファームウェア更新部206は、ファームウェア更新判定部205によって更新する必要があると判定されたファームウェアのデータファイルを取得して、ファームウェアを更新する処理を行う。ファームウェアは、ファームウェア記憶部203によって記憶されており、ファームウェア更新部206は、このファームウェアを上書きして更新する。
カスタマイズデータ適用部207は、カスタマイズデータ303に保持されたカスタムスイッチを、設定記憶部201に記憶された設定値に適用する。例えば、表1に示す設定値を保持した状態の画像形成装置101に、図4に示すカスタマイズデータ303を適用した場合、設定Bの設定値が“0”から“1”に変更される。
ファームウェア更新結果通知部208は、ファームウェアの更新結果を要求元に通知する。ユーザが入力装置106からファームウェアの更新を要求した場合、ファームウェア更新結果通知部208は、ディスプレイ105に結果画面を表示して結果を通知する。図6(a)は、ファームウェア更新が成功した時の結果通知画面601の例を示す。結果通知画面601において、各ファームウェアの更新前後のバージョンが表示されている。図6(b)は、ファームウェア更新が失敗した時の結果通知画面602の例を示す。結果通知画面602は、カスタマイズデータ303の適用に失敗し、バージョンが上がっていないことを示している。
ここではディスプレイ105に表示する画面を例に示したが、他の形態であってもよい。例えば、ファームウェア更新の要求をネットワーク120経由で行った場合には、要求を行った情報端末上に表示する構成であってもよい。また、通知する内容は、より詳細であってもよい。例えば、カスタマイズデータ303の適用に失敗した理由が表示されていてもよい。失敗した理由の例としては、カスタマイズデータ303に依存したジョブの実行中である場合や、カスタマイズデータ303自体が破損している場合などが想定される。
[処理フロー]
(ファームウェア更新処理)
図7は、本実施形態に係る画像形成装置101のファームウェア更新の流れを説明するためのフローチャートである。本処理は、画像形成装置101のCPU101が補助記憶装置104等に格納されたプログラムを読み出して実行されることにより、上述した各ソフトウェアの部位として動作することで実現される。
S701にて、ファームウェア更新判定部205は、ファームウェアの更新要求を検知する。
S702にて、ファームウェア更新判定部205は、更新するファームウェアセット301に含まれるファームウェアリストファイル304を読み込み、ファームウェアリストを取得する。
S703にて、ファームウェア更新判定部205は、S702で取得したファームウェアリストに対してS704以降の処理を行っていないファームウェアがあるか否かを判定する。未処理のファームウェアがある場合(S703にてYES)S704に進み、未処理のファームウェアが存在しない場合(S703にてNO)S708へ進む。
S704にて、ファームウェア更新判定部205は、処理対象のファームウェアの更新が必要か判定する。ここでの判定は、ファームウェアバージョン記憶部202に記憶されたファームウェアのバージョンと、S702で取得したファームウェアリストに記載されたファームウェアのバージョンとを比較することによって行われる。ここでは、表2の状態の画像形成装置101に対して、図5のファームウェアリストのファームウェアを更新しようとした場合を例に説明する。ファームウェア1とカスタマイズデータについては、バージョン“1.0”からバージョン“1.1”に上がるため、更新が必要だと判定する。一方、ファームウェア2と3については、更新前後のバージョンは同じ“1.0”のファームウェアであるため、更新は不要と判定する。更新が必要と判定された場合(S704にてYES)S705へ進み、更新が必要ないと判定された場合(S704にてNO)S703へ戻る。
S705にて、ファームウェア更新部206は、ファームウェアを更新する。ファームウェア更新部206は、ファームウェアセット301を用いて、ファームウェア記憶部203が記憶しているファームウェアを新しいものに置きかえるとともに、ファームウェアバージョン記憶部202に記憶されたファームウェアバージョンを更新する。表2の状態の画像形成装置101に対して、図5のファームウェアリストのファームウェアを更新した場合、ファームウェアバージョン記憶部202に記憶された情報は、以下の表3に示すようになる。
Figure 0006600240
S706にて、カスタマイズデータ適用部207は、S705で展開したファームウェアがカスタマイズデータ303を含んでいるか否かを判定する。カスタマイズデータ303を含んでいる場合(S706にてYES)S707へ進み、カスタマイズデータ303を含んでいない場合(S706にてNO)S703へ戻る。
S707にて、カスタマイズデータ適用部207は、カスタマイズデータ303を適用する。ここでは、表1の状態の画像形成装置101に対して、図4に示すカスタマイズデータ303を適用した場合を例に説明する。カスタマイズデータ303に記載されているのは、設定Bに対して設定値“1”をセットするというカスタマイズである。カスタマイズデータ303が適用されると、設定記憶部201に記憶された設定は以下の表4に示すようになる。
Figure 0006600240
S708にて、ファームウェア更新結果通知部208は、ファームウェアの更新結果を通知する。表2の状態の画像形成装置101に対して、図5に示すファームウェアリストファイル304のファームウェアを更新しようとした場合には、図6で説明したような結果が表示される。
(初期化処理)
図8は、画像形成装置101の設定値の初期化処理の流れを説明するためのフローチャートである。本処理は、画像形成装置101のCPU101が補助記憶装置104等に格納されたプログラムを読み出して実行されることにより、上述した各ソフトウェアの部位として動作することで実現される。
S801にて、設定初期化部204は、設定の初期化指示を検知する。
S802にて、設定初期化部204は、ファームウェア記憶部203に記憶されたファームウェアが保持する初期値を適用し、設定記憶部201が記憶する設定値を初期値にする。例えば、表1に示す値が初期値であるとし、表4の状態の画像形成装置101に対して本ステップが実行された場合を例に説明する。初期化前は設定Aの値が“0”であり、設定Bの値が“1”である。これに対し、本ステップの処理によって、設定Bの値が表1に示すように“0”に変更される。
S803にて、設定初期化部204は、現在のファームウェアリストにカスタマイズデータが含まれるか否かを判定する。表2を例にとると、カスタマイズデータのファームウェアがバージョン“1.0”として存在するため、カスタマイズデータが含まれると判定される。カスタマイズデータが含まれると判定された場合(S803にてYES)S804へ進み、カスタマイズデータが含まれないと判定された場合(S803にてNO)S805へ進む。
S804にて、カスタマイズデータ適用部207は、画像形成装置101に対しカスタマイズデータの適用を行う。例えば、S802で説明した状態の画像形成装置101に対して、図4に示すカスタマイズデータ303が適用された場合を例に説明する。S802により、設定Aの値が“0”となり、設定Bの値が“0”になっている。これに対し、図4のカスタマイズデータ303には設定Bの値を“1”に設定するように記憶されているため、本工程の処理の結果、設定Aの値は“0”のままとなり、設定Bの値は“1”に設定される。つまり、カスタマイズデータ適用部207は、初期化処理の前に適用されていたカスタマイズデータを再度、初期化処理の後に適用する。
S805にて、設定初期化部204は、設定の初期化処理の結果を通知する。なお、ここでは結果画面については不図示であるが、初期化が完了したことが、初期化を指示したユーザに通知される。
以上、本実施形態では、画像形成装置のファームウェア更新時にカスタマイズデータ適用部207を備え、カスタマイズデータが更新された場合に適用する。これにより、必要なカスタマイズ設定をユーザの操作を介することなく有効化することができる。
また、図8に示す処理により、本実施形態では、初期化処理が行われたとしても、カスタマイズデータにて制御されるカスタムスイッチの設定は失われることはない。
また、上記の例では、ファームウェアセットのうち、ファームウェア1とカスタマイズデータが更新された例を示したが、カスタマイズデータのみを更新するような場合でも図7に示す処理を適用可能である。言い換えると、上記処理により、カスタマイズデータのみを更新し、その内容を反映することが可能となる。
<第二の実施形態>
次に、本発明を実施するための第二の実施形態について説明する。第二の実施形態は、カスタマイズデータの適用をファームウェア更新時に行うことができない環境を想定した実施形態である。組み込み機器におけるファームウェア更新方法として、通常の起動モードとは異なるファームウェア更新用の起動モードを用意する場合がある。このようなファームウェア更新用の起動モードでは、動作できるプログラムに制限があることが一般的であるため、カスタマイズデータの適用を行う上で必要なプログラムが動作できないケースが想定される。このような状況においても、起動モードを切り替えることによって本願発明の実現が可能である。
[システム構成]
図9は、本実施形態に係るソフトウェアの構成例を示す図である。なお、第一の実施形態と重複する構成については、同じ参照番号を付し、詳細な説明は省略する。
本実施形態に係る画像形成装置101は、図2にて示した構成に加え、カスタマイズデータバックアップ部901、カスタマイズデータレストア部902、およびファームウェア更新モード起動制御部903を含んで構成される。
カスタマイズデータバックアップ部901は、ファームウェア記憶部203によって記憶されたファームウェアのうち、カスタマイズデータをバックアップし、別の場所に保存する処理を行う。ここでの保存場所は、例えば補助記憶装置104の記憶領域などが該当する。また、カスタマイズデータバックアップ部901は、ファームウェアバージョン記憶部202によって記憶されたカスタマイズデータのファームウェアバージョンも合わせて保存する。
カスタマイズデータレストア部902は、カスタマイズデータバックアップ部901によってバックアップされたカスタマイズデータを、ファームウェア記憶部203が記憶するカスタマイズデータと置き換える処理を行う。また、カスタマイズデータレストア部902は、同時にファームウェアバージョン記憶部202が記憶するカスタマイズデータのファームウェアバージョンを置き換える処理を行う。
本実施形態では、ファームウェアの展開と、カスタマイズデータの適用を行うタイミングが異なるため、カスタマイズデータの適用に失敗した時のリカバリ処理を考慮する必要がある。そこで、カスタマイズデータバックアップ部901とカスタマイズデータレストア部902により、カスタマイズデータのファームウェアを元に戻す処理を行う。
ファームウェア更新モード起動制御部903は、ファームウェア更新専用の起動モードへの切り替えを行う。ファームウェア更新専用の起動モードとは、ファームウェア更新部206によるファームウェア更新に関わる処理の実行に必要な最低限のファームウェアだけを動作させることを指す。これにより、動作中のプログラムを変更することに起因する不具合の発生を防ぐ狙いがある。ファームウェア更新専用の起動モードを、「ファームウェア更新モード」と表記する。また、ファームウェア更新モードと対応させて、通常の起動モードを「通常起動モード」と表記する。
[処理フロー]
図10は、画像形成装置101のファームウェア更新の流れを説明するためのフローチャートである。本処理は、画像形成装置101のCPU101が補助記憶装置104等に格納されたプログラムを読み出して実行されることにより、上述した各ソフトウェアの部位として動作することで実現される。また、図10に示す各処理工程のうち、第一の実施形態にて図7を用いて述べた処理と同じ内容の処理工程の詳細については省略する。
S1001にて、ファームウェア更新判定部205は、ファームウェアの更新要求を検知する。
S1002にて、ファームウェア更新モード起動制御部903は、画像形成装置101の動作モードをファームウェア更新モードに変更する。
S1003にて、ファームウェア更新判定部205は、更新するファームウェアセット301に含まれるファームウェアリストファイル304を読み込み、ファームウェアリストを取得する。
S1004にて、ファームウェア更新判定部205は、S1003で取得したファームウェアリストに対してS1005〜S1010の処理を行っていないファームウェアがあるか否かを判定する。未処理のファームウェアがある場合(S1004にてYES)S1005に進み、未処理のファームウェアがない場合(S1004にてNO)S1011へ進む。
S1005にて、ファームウェア更新判定部205は、ファームウェアの更新が必要か否かを判定する。ここでの判定は、ファームウェアバージョン記憶部202に記憶されたファームウェアのバージョンと、S1003で取得したファームウェアリストに記載されたファームウェアのバージョンとを比較することによって行われる。更新が必要であると判定された場合(S1005にてYES)S1006に進み、更新が不要であると判定された場合(S1005にてNO)S1004に進む。
S1006にて、カスタマイズデータ適用部207は、S1005で更新が必要であると判定されたファームウェアがカスタマイズデータを含んでいるか否かを判定する。カスタマイズデータを含んでいる場合(S1006にてYES)S1007へ進み、カスタマイズデータを含んでいない場合(S1006にてNO)S1010へ進む。
S1007にて、カスタマイズデータバックアップ部901は、更新前のカスタマイズデータをバックアップする。
S1008にて、ファームウェア更新部206は、ファームウェアを更新する。ファームウェア更新部206は、ファームウェアセット301を用いて、ファームウェア記憶部203が記憶しているファームウェアを新しいものに置きかえるとともに、ファームウェアバージョン記憶部202に記憶されたファームウェアバージョンを更新する。
S1009にて、カスタマイズデータ適用部207は、S1008で展開された新しいカスタマイズデータを、補助記憶装置104の中で、通常起動モードでも参照可能な領域に複製する。
S1010にて、ファームウェア更新部206は、ファームウェアを更新する。ファームウェア更新部206は、フファームウェアセット301を用いて、ファームウェア記憶部203が記憶しているファームウェアを新しいものに置きかえるとともに、ファームウェアバージョン記憶部202に記憶されたファームウェアバージョンを更新する。
S1011にて、ファームウェア更新モード起動制御部903は、画像形成装置101の起動モードを通常起動モードに変更する。これにより、画像形成装置101においてカスタマイズデータの適用に対する制限が解除される。
S1012にて、カスタマイズデータ適用部207は、S1009で複製しておいたカスタマイズデータを検出する。
S1013にて、カスタマイズデータ適用部207は、ユーザの操作を禁止する。禁止する方法は様々あるが、例えばディスプレイ105に警告画面を表示し、通常操作ができない状態する方法が考えられる。ユーザの操作を禁止するのは、カスタマイズデータの反映と、ユーザの操作とが競合することを防止するためである。
S1014にて、カスタマイズデータ適用部207は、カスタマイズデータを適用する。
S1015にて、カスタマイズデータ適用部207は、カスタマイズデータの適用に成功したか否かを判定する。成功した場合(S1015にてYES)S1017へ進み、失敗した場合(S1015にてNO)S1016へ進む。
S1016にて、カスタマイズデータレストア部902は、S1007でバックアップしたカスタマイズデータと、カスタマイズデータのファームウェアのバージョンをレストアする。これにより、カスタマイズデータの更新に失敗する前の状態になる。なお、カスタマイズデータの更新に成功した場合、もしくは、失敗後のレストアが完了した場合に、S1007にてバックアップした更新前のカスタマイズデータおよびS1009にて複製した更新用のカスタマイズデータを補助記憶装置104から削除するようにしてもよい。
S1017にて、ファームウェア更新結果通知部208は、ファームウェアの更新結果を通知する。通知方法としては、第一の実施形態にて述べた図6のような画面を表示する方法が挙げられる。
以上、本実施形態により、画像形成装置のファームウェア更新専用の起動モードがある場合にも、必要なカスタマイズ設定をユーザの操作を介することなく有効化することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101…画像形成装置、205…ファームウェア更新判定部、206…ファームウェア更新部、207…カスタマイズデータ適用部

Claims (11)

  1. ファームウェアを備える情報処理装置であって、
    ファームウェアのデータセットを取得する取得手段と、
    前記取得手段にて取得したファームウェアのデータセットを用いて、ファームウェアの更新を行う更新手段と、
    前記取得手段にて取得したファームウェアのデータセットにカスタマイズデータが含まれ、かつ、前記更新手段によるファームウェアの更新時にカスタマイズデータの適用が制限されている場合、前記取得手段にて取得したファームウェアのデータセットに含まれるカスタマイズデータを保持する保持手段と、
    ファームウェアが有する機能に対する設定値を示すカスタマイズデータを、前記情報処理装置が備えるファームウェアに適用する適用手段と
    を有し、
    前記適用手段は、前記取得手段にて取得したファームウェアのデータセットにカスタマイズデータが含まれている場合、当該カスタマイズデータを適用するか否かを判定し、当該判定の結果に応じて、前記更新手段によるファームウェアの更新が完了した後、前記制限が解除された際に、前記保持手段が保持するカスタマイズデータを適用することを特徴とする情報処理装置。
  2. 前記適用手段は、前記取得手段にて取得したファームウェアのデータセットに含まれるカスタマイズデータのバージョンと、前記情報処理装置に適用されている現在のカスタマイズデータのバージョンとを比較し、前記取得手段にて取得したファームウェアのデータセットに含まれるカスタマイズデータの方が新しい場合に適用すると判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記更新手段および前記適用手段による処理の結果を通知する手段を更に有することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記情報処理装置が備えるファームウェアの設定値を初期化する初期化手段を更に有し、
    前記適用手段は、前記初期化手段によるファームウェアの設定値の初期化が行われた後、当該初期化が行われる前に適用されていたカスタマイズデータを再度、適用することを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 前記初期化手段による初期化の結果を通知する手段を更に有することを特徴とする請求項4に記載の情報処理装置。
  6. 前記取得手段にて取得したファームウェアのデータセットにカスタマイズデータが含まれている場合、前記情報処理装置に適用されている現在のカスタマイズデータをバックアップするバックアップ手段を更に有し、
    前記適用手段は、前記取得手段にて取得したファームウェアのデータセットに含まれるカスタマイズデータの適用に失敗した場合、前記バックアップ手段にてバックアップされているカスタマイズデータを用いて、前記ファームウェアの設定をレストアすることを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 前記更新手段によるファームウェアの更新時にカスタマイズデータの適用が制限されている場合とは、ファームウェアの更新に伴う前記情報処理装置の動作モードにより、前記適用手段の動作が制限される場合であることを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 前記適用手段は、前記保持手段が保持するカスタマイズデータを適用する際に、前記情報処理装置がユーザからの操作を受け付けないように制御することを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 前記カスタマイズデータが示す設定値は、ファームウェアが有する機能を有効化もしくは無効化するための設定値であることを特徴とする請求項1乃至のいずれか一項に記載の情報処理装置。
  10. ファームウェアを備える情報処理装置におけるファームウェア更新方法であって、
    ファームウェアのデータセットを取得する取得工程と、
    前記取得工程にて取得したファームウェアのデータセットを用いて、ファームウェアの更新を行う更新工程と、
    前記取得工程にて取得したファームウェアのデータセットにカスタマイズデータが含まれ、かつ、前記更新工程によるファームウェアの更新時にカスタマイズデータの適用が制限されている場合、前記取得工程にて取得したファームウェアのデータセットに含まれるカスタマイズデータを保持する保持工程と、
    ファームウェアが有する機能に対する設定値を示すカスタマイズデータを、前記情報処理装置が備えるファームウェアに適用する適用工程と
    を有し、
    前記適用工程において、前記取得工程にて取得したファームウェアのデータセットにカスタマイズデータが含まれている場合、当該カスタマイズデータを適用するか否かを判定し、当該判定の結果に応じて、前記更新工程におけるファームウェアの更新が完了した後、前記制限が解除された際に、前記保持工程にて保持したカスタマイズデータを適用させることを特徴とするファームウェア更新方法。
  11. コンピュータを、
    ファームウェアのデータセットを取得する取得手段、
    前記取得手段にて取得したファームウェアのデータセットを用いて、ファームウェアの更新を行う更新手段、
    前記取得手段にて取得したファームウェアのデータセットにカスタマイズデータが含まれ、かつ、前記更新手段によるファームウェアの更新時にカスタマイズデータの適用が制限されている場合、前記取得手段にて取得したファームウェアのデータセットに含まれるカスタマイズデータを保持する保持手段、
    ファームウェアが有する機能に対する設定値を示すカスタマイズデータを、前記コンピュータが備えるファームウェアに適用する適用手段
    として機能させ
    前記適用手段は、前記取得手段にて取得したファームウェアのデータセットにカスタマイズデータが含まれている場合、当該カスタマイズデータを適用するか否かを判定し、当該判定の結果に応じて、前記更新手段によるファームウェアの更新が完了した後、前記制限が解除された際に、前記保持手段が保持するカスタマイズデータを適用することを特徴とするプログラム。
JP2015239748A 2015-12-08 2015-12-08 情報処理装置、ファームウェア更新方法、およびプログラム Active JP6600240B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015239748A JP6600240B2 (ja) 2015-12-08 2015-12-08 情報処理装置、ファームウェア更新方法、およびプログラム
US15/765,382 US10817379B2 (en) 2015-12-08 2016-09-28 Information processing apparatus, firmware update method and program
PCT/JP2016/004361 WO2017098678A1 (en) 2015-12-08 2016-09-28 Information processing apparatus, firmware update method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015239748A JP6600240B2 (ja) 2015-12-08 2015-12-08 情報処理装置、ファームウェア更新方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2017107341A JP2017107341A (ja) 2017-06-15
JP6600240B2 true JP6600240B2 (ja) 2019-10-30

Family

ID=59013941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015239748A Active JP6600240B2 (ja) 2015-12-08 2015-12-08 情報処理装置、ファームウェア更新方法、およびプログラム

Country Status (3)

Country Link
US (1) US10817379B2 (ja)
JP (1) JP6600240B2 (ja)
WO (1) WO2017098678A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019016012A (ja) * 2017-07-03 2019-01-31 東芝テック株式会社 プリンタ装置及びプログラム
US10503489B1 (en) * 2018-05-22 2019-12-10 Quanta Computer Inc. Updating firmware via a remote utility
JP2020040613A (ja) * 2018-09-13 2020-03-19 株式会社デンソー 車載器のソフトウェア更新システム、車載器及び情報処理装置
US10983780B2 (en) 2018-11-14 2021-04-20 Ricoh Company, Ltd. Information processing apparatus, information processing method, and recording medium
JP2022120453A (ja) * 2021-02-05 2022-08-18 Necプラットフォームズ株式会社 保守制御装置、保守制御方法、保守制御システム、および保守制御プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5141134B2 (ja) 1974-03-25 1976-11-08
US7304677B2 (en) * 2000-12-13 2007-12-04 Eastman Kodak Company Customizing a digital camera based on demographic factors
JP4189570B2 (ja) 2001-12-28 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、ファームウェアの送信方法、及び画像処理装置の管理システム
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
NZ588836A (en) * 2004-06-24 2012-07-27 Freestyle Technology Pty Ltd Meter device including communications protocols encoding payloads with identification data and file fragments
JP2010086370A (ja) * 2008-10-01 2010-04-15 Canon Inc 画像形成装置、配信サーバーおよびファームウェアアップデート方法
JP2012118869A (ja) * 2010-12-02 2012-06-21 Fuji Xerox Co Ltd 更新プログラム及び画像形成装置
JP2012220963A (ja) * 2011-04-04 2012-11-12 Seiko Epson Corp 記録装置、記録装置の制御方法、及び、プログラム
JP2013130923A (ja) * 2011-12-20 2013-07-04 Canon Inc 画像処理装置、サーバ装置、情報処理方法及びプログラム
GB2511998B (en) * 2012-01-03 2020-10-21 Hewlett Packard Development Co Backing up firmware during initialization of device
JP5995602B2 (ja) * 2012-08-10 2016-09-21 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
US20140344800A1 (en) * 2013-05-20 2014-11-20 Trane International Inc. Device and method for device identification and file transfer to bacnet devices
JP2015046075A (ja) 2013-08-29 2015-03-12 キヤノン株式会社 情報処理装置、その制御方法、及びコンピュータプログラム
TWI525542B (zh) * 2013-09-09 2016-03-11 Insyde Software Corp Uefi bios開機及更新之系統及方法、記錄媒體及電腦程式產品
JP6199758B2 (ja) * 2014-01-30 2017-09-20 京セラドキュメントソリューションズ株式会社 組み込みシステム、画像形成装置

Also Published As

Publication number Publication date
US20180285091A1 (en) 2018-10-04
US10817379B2 (en) 2020-10-27
WO2017098678A1 (en) 2017-06-15
JP2017107341A (ja) 2017-06-15

Similar Documents

Publication Publication Date Title
JP6600240B2 (ja) 情報処理装置、ファームウェア更新方法、およびプログラム
US10067835B2 (en) System reset
KR100750132B1 (ko) 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
US6928579B2 (en) Crash recovery system
US9229815B2 (en) Information processing apparatus, program update method, and program
JP7206106B2 (ja) 情報処理装置及びプログラム
JP4946141B2 (ja) 構成変更プログラム、および情報処理装置
US20180349125A1 (en) Information processing apparatus and program management method
EP3425494A1 (en) Printer apparatus and program
US9086938B2 (en) Information processing apparatus, control method thereof, and storage medium
US9866723B2 (en) Printing apparatus, printing apparatus control method, and storage medium
JP4695348B2 (ja) カード型メモリ、画像形成装置、画像形成装置起動方法
JP2016173771A (ja) プログラム、情報処理装置、情報処理方法、記憶媒体
JP2007066132A (ja) プログラムシステム
JP6959153B2 (ja) 情報処理装置、情報処理方法、及びプログラム
EP3159795B1 (en) Image forming apparatus that ensures operation while hdd is inoperative, and recording medium therefor
JP5338610B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP6953828B2 (ja) 情報処理装置及びプログラム
JP2006344022A (ja) 機器及びプログラム起動方法
JP2017142754A (ja) 情報処理装置及びその制御方法、及びプログラム
JP2024121632A (ja) 画像処理装置、デバイス管理システムと画像処理装置とを含むシステム、画像処理装置の制御方法、システムの制御方法およびプログラム
JP2005327003A (ja) ディスクリカバリ方法
JP2007249382A (ja) コンピュータシステムおよびその障害時の復旧方法ならびにプログラム
JP2021149191A (ja) 情報処理装置、情報処理方法
JP2007045120A (ja) 画像形成装置、画像形成装置起動方法、画像形成装置起動プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190716

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: 20190906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191004

R151 Written notification of patent or utility model registration

Ref document number: 6600240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151