JP2019204152A - Information processing apparatus, update method of information processing apparatus, and program - Google Patents
Information processing apparatus, update method of information processing apparatus, and program Download PDFInfo
- Publication number
- JP2019204152A JP2019204152A JP2018096982A JP2018096982A JP2019204152A JP 2019204152 A JP2019204152 A JP 2019204152A JP 2018096982 A JP2018096982 A JP 2018096982A JP 2018096982 A JP2018096982 A JP 2018096982A JP 2019204152 A JP2019204152 A JP 2019204152A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- update
- updated
- information processing
- modules
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、情報処理装置、特に画像形成装置を制御する情報処理装置のファームウェアのアップデート処理に関する。 The present invention relates to a firmware update process of an information processing apparatus, particularly an information processing apparatus that controls an image forming apparatus.
近年、フラッシュメモリなどの書き換え可能な記憶装置にファームウェアを格納するように情報処理装置を構成し、インターネットを介してファームウェアを転送し、ファームウェアアップデートを行う方法が主流となっている。これにより、逐次新しい機能を追加することが可能となった。また、情報処理装置が使用されない深夜などに、情報処理装置のファームウェアを自動的にアップデートすることが可能となった。 In recent years, a method in which an information processing apparatus is configured to store firmware in a rewritable storage device such as a flash memory, the firmware is transferred via the Internet, and a firmware update has become mainstream. As a result, new functions can be added sequentially. In addition, the firmware of the information processing apparatus can be automatically updated at midnight when the information processing apparatus is not used.
画像形成装置のように複数の機種が存在する装置では、複数機種をまとめて開発できるように、また複数機種に対して一律に機能追加できるように、各機種のファームウェアが可能な限り共通化されることが望まれる。通常、各機種のファームウェアはそれぞれ一意なバージョンで管理される。しかし、上記のようなファームウェアの共通化が行われた場合には、各機種のファームウェアを容易に管理できるように、それらのファームウェアには、一意なバージョンとは別に、統一的な機能の世代を表す情報が割り当てられる。以下、この情報を世代バージョンまたはプラットフォームバージョンと呼ぶ。 For devices with multiple models, such as image forming devices, the firmware of each model is shared as much as possible so that multiple models can be developed together and functions can be added uniformly to multiple models. It is hoped that Normally, the firmware of each model is managed with a unique version. However, when the firmware is shared as described above, the firmware of each model has a unified function generation apart from the unique version so that the firmware of each model can be easily managed. Information to represent is assigned. Hereinafter, this information is referred to as a generation version or a platform version.
画像形成装置のファームウェアは通常、複数のモジュール(ファイル)で構成される。そして、画像形成装置が多機能になると、ファームウェアを構成するモジュールの数が多くなる。それに伴い、ファームウェアのアップデート時に更新が必要となるモジュールの数も多くなり、ファームウェアのアップデート時間が増大する。そこで、ファームウェアのアップデート時間を削減するための方法として、差分となるモジュールのみをダウンロードしてインストールする差分アップデートが提案されている(特許文献1参照)。 The firmware of the image forming apparatus is usually composed of a plurality of modules (files). As the image forming apparatus becomes multifunctional, the number of modules constituting the firmware increases. Accordingly, the number of modules that need to be updated when updating the firmware increases, and the firmware update time increases. Therefore, as a method for reducing the firmware update time, a differential update has been proposed in which only a module that is a difference is downloaded and installed (see Patent Document 1).
しかし、差分アップデートでは、差分アップデートを行うためのバックアップ領域の計算やファームウェアの構成情報の更新等を行う必要がある。それらの処理には多くの時間を要するため、更新が必要となるモジュールの数がある一定の数を超えると、ファームウェア全体を一度にアップデートする全アップデートよりもアップデート時間が長くなる可能性がある。例えば、世代バージョンが変わるようなアップデートでは、更新が必要となるモジュールの数が多くなるため、差分アップデートの方が全アップデートよりもアップデート時間が長くなる可能性がある。 However, in the differential update, it is necessary to calculate a backup area for performing the differential update, update the firmware configuration information, and the like. Since these processes take a lot of time, if the number of modules that need to be updated exceeds a certain number, the update time may be longer than the entire update that updates the entire firmware at once. For example, in an update in which the generation version changes, the number of modules that need to be updated increases, so that the update time may be longer for the differential update than for all updates.
そこで、本発明は、ファームウェアのアップデートに要する時間をより短くすることができる情報処理装置を提供することを目的とする。 Accordingly, an object of the present invention is to provide an information processing apparatus that can shorten the time required for firmware update.
本発明による情報処理装置は複数のモジュールで構成されたファームウェアに従って動作する情報処理装置であって、ファームウェアの機能に応じて割り当てられる世代バージョンを、更新対象のファームウェアと更新前のファームウェアとについて取得する取得手段と、世代バージョンが更新対象のファームウェアと更新前のファームウェアとで一致しているか否かを判定する判定手段と、判定手段の判定の結果に応じて、更新対象のファームウェアを構成するモジュールのうち更新前のファームウェアと差分があるモジュールをインストールする差分アップデート、または、更新対象のファームウェアを構成するモジュールを一括してインストールする全アップデートを実行する実行手段と、を備えることを特徴とする。 An information processing apparatus according to the present invention is an information processing apparatus that operates according to firmware composed of a plurality of modules, and acquires generation versions assigned according to firmware functions for firmware to be updated and firmware before update. An acquisition unit, a determination unit that determines whether the generation version firmware matches the firmware to be updated and the firmware before the update, and the module that configures the firmware to be updated according to the determination result of the determination unit Of these, an execution means for executing a differential update that installs a module that has a difference from the firmware before update, or all updates that collectively install modules that constitute the firmware to be updated is provided.
本発明によれば、ファームウェアのアップデートに要する時間をより短くすることができる。 According to the present invention, the time required for firmware update can be further shortened.
以下、本発明の実施の形態について図面を用いて説明する。以下の実施形態に記載されている構成要素は、本発明の例としての形態を示すものであり、本発明の範囲をそれらのみに限定するものではない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. The constituent elements described in the following embodiments show examples as examples of the present invention, and the scope of the present invention is not limited to them.
[第1実施形態]
以下、本発明の第1実施形態について図面を用いて説明する。本実施形態では、外部装置(ファームウェア配信サーバ)と通信を行い、該外部装置からファームウェアをダウンロードしてファームウェアのアップデートを実行する画像形成装置を例にする。しかし、ファームウェアの転送方法はこれに限らず、画像形成装置に直接接続された可搬記憶媒体や、画像形成装置とネットワークを経由して通信可能なコンピュータ等の外部装置から、画像形成装置にファームウェアを転送するようにしても良い。以下、ファームウェアをFWと記載する場合がある。
[First Embodiment]
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. In this embodiment, an image forming apparatus that communicates with an external apparatus (firmware distribution server), downloads firmware from the external apparatus, and executes firmware update is taken as an example. However, the method for transferring firmware is not limited to this, and the firmware can be transferred to the image forming apparatus from a portable storage medium directly connected to the image forming apparatus or from an external device such as a computer that can communicate with the image forming apparatus via a network. May be transferred. Hereinafter, the firmware may be referred to as FW.
図1は、画像形成装置100の第1実施形態の構成を示すブロック図である。画像形成装置100は、制御部110、操作部120、プリンタ部130、スキャナ部140、及びフィニッシャ部150を備える。画像形成装置100には、LAN104を介して配信サーバ101とコンピュータ103とが接続されている。
FIG. 1 is a block diagram illustrating a configuration of the
制御部(情報処理装置とも呼ぶ)110は、画像形成装置100全体を制御する。制御部110は、CPU111、ROM112、RAM113、ハードディスクドライブ(HDD)114、操作部I/F115、プリンタ部I/F116、スキャナ部I/F117、外部I/F118、及びネットワークI/F119を含む。
A control unit (also referred to as an information processing apparatus) 110 controls the entire
CPU111は、ROM112に記憶された制御部110用のプログラムをRAM113に読み出して実行する。それにより、後述する図4、図6、図7、及び図8等に示す処理が実行される。ROM112には、ライセンス情報や機器構成情報、ファームウェアバージョンといった、機器情報も記憶されている。HDD114は、ネットワークI/F119を介してコンピュータ103から受信される印刷データを記憶する。なお、CPU111により実行されるプログラムには、プリント用アプリケーションプログラムが含まれる。そして、プリント用アプリケーションプログラムにより、HDD114に記憶された印刷データがプリンタ部130によるプリントが可能な画像データに変換され、該画像データもHDD114に格納される。また、CPU111により実行されるプログラムには、スキャン用アプリケーションプログラムが含まれる。そして、このスキャン用アプリケーションプログラムにより、スキャナ部140による画像データの読み取りが行われ、読み取られた画像データがHDD114に転送される。
The
操作部I/F115は、操作部120を介してユーザにより入力される指示をCPU111に伝達する。操作部120は、タッチパネル機能を有する液晶表示部やキーボードなどを有し、ユーザの指示を受け付けたりユーザインタフェース(UI)画面を表示したりする。操作部I/F115は、操作部120の表示内容を切替えるための情報をCPU111から受信して、操作部120に伝達する。
The operation unit I /
プリンタ部I/F116は、制御部110とプリンタ部130とを接続するためのインターフェースである。プリンタ部130は、HDD114からプリンタ部I/F116を介して転送される画像データに基づいて、記録媒体上にプリントを行う。フィニッシャ部150は、プリンタ部130によりプリントが行われた記録媒体に対して各種のフィニッシング処理を行う。フィニッシング処理は、例えば、シートに対するステイプル処理、シートへのパンチ処理(穿孔処理)、中綴じ製本処理等である。
The printer unit I /
スキャナ部I/F117は、制御部110とスキャナ部140とを接続するためのインターフェースである。スキャナ部140は、画像データを入力する入力手段であり、原稿上の画像をCCD(ChargeCoupledDevice)等により構成されるラインセンサを用いて画像データとして読み取る。スキャナ部140は、読み取った画像データをスキャナ部I/F117を介してHDD114に転送する。HDD114に転送され記憶された画像データは、前述したプリンタ部130によりプリントすることが可能である。スキャナ部140が読み取った画像データをプリンタ部130によりプリントすることで、複写(コピー)機能が実現される。
The scanner unit I / F 117 is an interface for connecting the
外部I/F118は、制御部110と外部デバイス102とを接続するためのインターフェースである。外部I/F118は、例えばUSBI/Fであり、外部デバイス102は、例えばUSBメモリやUSBキーボードなどのUSBデバイスである。制御部110は、外部I/F118を介して接続されたUSBメモリ等に対して、データの読み書きを行うことができる。
The external I /
ネットワークI/F119は、制御部110をLAN104に接続する。制御部110は、ネットワークI/F119を介してLAN104上のコンピュータ103と通信可能に接続される。これにより、コンピュータ103は、画像形成装置100に対して印刷データを送信したり、WEBブラウザ経由で機器を操作したりすることができる。さらに制御部110は、LAN104を介して配信サーバ101と接続され、ファームアップデートに必要な更新ファイルをダウンロードすることができる。なお、更新ファイルをダウンロードする際に用いられる通信プロトコルとしては、例えばHTTPやFTPがあるが、その他のプロトコルが用いられてもよい。配信サーバ101は、主にインターネット上に存在するが、社内ネットワーク内に存在しても良い。
The network I /
次いで、制御部110のソフトウェア構成について図2を用いて説明する。メインシステム200は、画像形成装置100の各種機能を実現するための複数のプログラム201〜213を含む。なお、図2に示される各プログラム201〜213は、図1のROM112に記憶されているものとする。
Next, the software configuration of the
操作部制御部201は、操作部I/F115を介して、操作部120の制御を行う。同様に、プリンタ制御部202は、プリンタ部I/F116を介して、プリンタ部130及びフィニッシャ部150の制御を行う。スキャナ制御部203は、スキャナ部I/F117を介して、スキャナ部140の制御を行う。外部デバイス制御部204は、外部I/F118を介して、外部デバイス102の制御を行う。
The operation
アプリケーション制御部205は、画像形成装置100のさまざまな機能を実現するためのプログラム群からなる。アプリケーション制御部205には、httpd(HyperTextTransferProtocolDeamon)、lpd(LinePrinterDeamon)、Wedブラウザ機能、機器情報配信機能等が含まれる。
The
起動制御部206は、メインシステム200の起動及び停止の制御を行い、画像形成装置100に電源が投入された際に最初に動作して、メインシステム200全体の起動処理の制御を行う。
The
プログラム更新処理部207は、操作部120を介してファームウェアアップデートの実行指示を受け付けた際に、あるいは事前に予約されたアップデート時刻になった際に、メインシステム200内の各部の更新処理を行う。
The program
機器情報取得部208は、画像形成装置100がROM112内に記憶されている機器情報(ライセンス情報、機器構成情報、ファームウェアバージョン等)の取得を行う。
The device
アップデート条件判定部209は、機器情報取得部208が取得した機器情報と、後述する通信処理部210が配信サーバ101から受信したファームウェア情報とを比較する。ファームウェア情報については図3を用いて後述する。そして、アップデート条件判定部209は、比較の結果に基づいて、画像形成装置100のファームウェアのアップデートを実施するか否かを判定する。
The update
通信処理部210は、配信サーバ101と通信を行い、ファームウェア情報及びアップデート条件判定部209の判定結果に従って、アップデート対象のファームウェアのダウンロードなどを行う。なお、ファームウェア情報は、配信サーバ101以外の装置に登録されていてもよい。すなわち、ファームウェアとファームウェア情報とが別々の装置に登録されていてもよい。
The
バックアップデータ保存部211は、アップデート条件判定部209によりアップデートを実施すると判定された場合に、ファームウェアの展開先の領域に既に保存されているデータのバックアップデータを作成してHDD124に保存する。このように、バックアップデータを作成して保存しておくことでアップデート実行時にエラーが発生した場合でも、アップデートを実行する前の状態に戻すことが可能となる。
When the update
ファームウェア情報確認部212は、配信サーバ101から受信したファームウェア情報を読み込み、該ファームウェア情報を参照して、更新対象のファームウェアの有無及び更新対象のファームウェアの情報を確認する。
The firmware
アップデートモード判定部213は、通信処理部210が配信サーバ101から受信したファームウェア情報をもとに、差分アップデートを行うか全アップデートを行うかを判定する。
The update
図3は、画像形成装置100が配信サーバ101から受け取るファームウェア情報の一例を示す図である。なお、便宜的にテキスト形式で記載されたファームウェア情報を例示しているが、ファームウェア情報は、XML形式など別の形式で記載されていてもよい。画像形成装置100は、ファームウェアのアップデートを実施する際に、アップデート対象のファームウェアを配信サーバ101からダウンロードする前に、配信サーバ101に問い合わせを行って図3(a)〜(c)に示すようなファームウェア情報を取得する。ファームウェア情報には、機種名、バージョン、使用目的(一般向け、商談対応等)、仕向地、世代バージョンなどが記載されている。また、ファームウェア情報には、どのようなモジュール(ファイル)で構成されているファームウェアであるかを示す、モジュールの組み合わせ情報が記載されている。図3(a)に示す例では、バージョン0.1であるモジュールXXXXXと、バージョン1.0であるモジュールYYYYYと、バージョン2.1であるモジュールZZZZZとでファームウェアが構成されていることを示す組み合わせ情報が記載されている。ファームウェア情報を取得することで、ファームウェアを構成するモジュールやファームウェアの世代バージョンが特定可能となる。図3(a)に示すファームウェア情報301は、機種名が“iAC2200”である画像形成装置のバージョン10.00のファームウェアであって世代バージョンが2.0であるファームウェアが、配信サーバに登録されていることを示している。世代バージョンは、ファームウェアの世代を示し、同じ世代バージョンのファームウェアであれば、同様の機能を有することを示す。なお、世代バージョンが各ファームウェアのバージョンから判断可能な場合には、世代バージョンはファームウェア情報に記載されていなくてもよい。同様に、図3(b)に示すファームウェア情報302は、同機種の画像形成装置のバージョン40.22のファームウェアであって世代バージョンが図3(a)に示す例と同じ2.0であるファームウェアが、配信サーバに登録されていることを示している。同様に、図3(c)に示すファームウェア情報303は、同機種の画像形成装置のバージョン50.33のファームウェアであって世代バージョンが3.0であるファームウェアが、配信サーバに登録されていることを示している。また、図3(c)に示す例では、各プログラム201〜213の機能を拡張するためのモジュールAAAAAが新たに追加されている。
FIG. 3 is a diagram illustrating an example of firmware information received from the
ファームウェア情報301で示されるファームウェアがインストールされている画像形成装置100に対して、ファームウェア情報303で示されるファームウェアをアップデートしようとすると、世代バージョンが上がる。世代バージョンが上がるようなアップデートでは、通常、画像形成装置100に大きな機能追加が行われるため、差分を有するモジュール、すなわち更新が必要となるモジュールの数が多くなる。それに伴い、バックアップ領域の算出や、デバイス(ここでは、画像形成装置100)を構成しているファームウェアを管理するためのデータベースの更新に時間がかかるため、オーバーヘッドが増加してしまう。これにより、全アップデートに要する時間よりも差分アップデートに要する時間の方が長くなってしまう。
When an attempt is made to update the firmware indicated by the
図4及ぶ図5を用いて、第1実施形態の画像形成装置100が行うファームウェアのアップデート方法選択処理について説明する。図4は、画像形成装置100の第1実施形態におけるアップデート方法選択処理を示すフローチャートである。なお、図4に示すフローは、図5に示すアップデート設定画面を介してユーザが予め設定したアップデート開始時間に実行される。または、図5に示すアップデート設定画面を介してユーザがアップデートの開始指示を行ったタイミングで実行される。
A firmware update method selection process performed by the
まず、機器情報取得部208が、画像形成装置100の機器情報をROM112から取得する(ステップS401)。以下、ステップS401を単にS401と記載する。他のステップについても同様である。通信処理部210は、機器情報取得部208が取得した機器情報を配信サーバ101に通知する(S402)。配信サーバ101は、S402で通知された機器情報をもとに、画像形成装置100に対してアップデート可能な最新のファームウェアのファームウェア情報を、更新対象のファームウェアのファームウェア情報として送信する。通信処理部210は、更新対象のファームウェアのファームウェア情報を受信すると、該ファームウェア情報をHDD114に保存する(S403)。なお、本実施形態では、最新のファームウェアを更新対象としているが、その他のロジックで決定されたファームウェアを更新対象としてもよい。
First, the device
次いで、ファームウェア情報確認部212が、S403でHDD114に保存された更新対象のファームウェア情報の内容を確認する(S404)。次いで、アップデートモード判定部213が、アップデート設定を確認する(S405)。アップデート設定とは、アップデートに関する設定であり、図5に示すアップデート設定画面を介して編集可能である。アップデート設定の詳細は、図5を用いて後述する。アップデートモード判定部213は、アップデート設定において自動アップデートが設定されているかを判定する(S406)。
Next, the firmware
自動アップデートが設定されている場合は(S406のYES)、ファームウェア情報確認部212が、現在インストール済みの更新前のファームウェアの世代バージョンと更新対象ファームウェアの世代バージョンを取得する(S408)。このとき、ファームウェア情報確認部212は、HDD114に保存されている各ファームウェアのファームウェア情報から、各ファームウェアの世代バージョンを取得する。次いで、アップデートモード判定部213が、現在インストール済みファームウェアと更新対象ファームウェアの世代バージョンとを比較する(S409)。世代バージョンが異なる場合(S409のYES)、プログラム更新処理部207が、全アップデートを実行する(S410)。世代バージョンが一致する場合は(S409のNO)、プログラム更新処理部207が、差分アップデートを実行する(S411)。
When the automatic update is set (YES in S406), the firmware
自動アップデートが設定されていない場合は(S406のNO)、アップデートモード判定部213は、アップデート設定において全アップデートが設定されているかを判定する(S407)。全アップデートが設定されている場合は(S407のYES)、処理はS410に移行し、全アップデートが実行される。差分アップデートが設定されている場合は(S407のNO)、処理はS411に移行し、差分アップデートが実行される。
If automatic update is not set (NO in S406), the update
次に、アップデート設定を行うためのアップデート設定画面について説明する。図5は、第1実施形態におけるアップデート設定画面の一例を示す図である。本実施形態におけるアップデート設定画面は、操作部120を介してアップデート設定画面の表示指示が入力された場合に、操作部制御部201によって表示される。
Next, an update setting screen for performing update setting will be described. FIG. 5 is a diagram illustrating an example of an update setting screen according to the first embodiment. The update setting screen in the present embodiment is displayed by the operation
図5に示すように、アップデート設定画面500は、タイミング選択メニュー501と、モード選択メニュー502と、アップデート方法選択メニュー503と、OKボタン504とを有する。タイミング選択メニュー501は、アップデートのタイミングを設定するためのメニューである。タイミング選択メニュー501では、アップデートを即時開始するか、指定した時間に開始するかを設定可能である。モード選択メニュー502は、アップデートを自動で行うか手動で行うかを設定するためのメニューである。アップデート方法選択メニュー503は、アップデート方法を設定するためのメニューである。アップデート方法選択メニュー503では、差分があるモジュールのみをアップデートする差分アップデートを実行するか、全てのモジュールをアップデートする全アップデートを実行するかを設定可能である。なお、モード選択メニュー502で自動アップデートが設定されている場合には、アップデート方法の選択は上述したように、画像形成装置100によって自動で行われる。したがって、アップデート方法選択メニュー503は、モード選択メニュー502で手動アップデートが選択されている場合に有効となる。OKボタン504が押下されると、メニュー501〜503で設定された内容がアップデート設定に反映され、アップデート設定画面500が閉じられる。なお、図5ではアップデートモードをユーザが選択可能な例を示したが、常に自動アップデートが選択されるようにしてもよい。つまり、アップデート設定画面500はメニュー502,503を有していなくてもよい。
As shown in FIG. 5, the
次に、図6を用いて、全アップデート(S410の処理)について説明する。まず、通信処理部210は、S403で受信したファームウェア情報に列挙された全てのモジュールを、配信サーバ101から取得する(S601)。次いで、起動制御部206が、アップデートを実行するために、画像形成装置100を再起動させる(S602)。再起動の際、画像形成装置100は、ファームウェアアップデートを行うための専用のモードで起動する。次いで、エラー発生時にリカバリができるように、バックアップデータ保存部211が、ファームウェアの展開先の領域に保存されているデータのバックアップデータを作成する(S603)。バックアップデータ作成後、プログラム更新処理部207が、ファームウェアの展開先の領域に保存されているデータを削除する(S604)。次いで、プログラム更新処理部207が、S604でデータを削除した領域にS601で取得した各モジュールをインストールする(S605)。これにより、更新対象のファームウェアを構成するモジュールが一括してインストールされる。
Next, all updates (the process of S410) will be described with reference to FIG. First, the
次に、図7を用いて、差分アップデート(S411の処理)について説明する。まず、アップデート条件判定部209が、インストール済みファームウェアのファームウェア情報と更新対象ファームウェアのファームウェア情報とをHDD114から取得する。ここでは、インストール済みファームウェアのファームウェア情報として、図3(a)に示すファームウェア情報301が取得されるものとする。また、更新対象ファームウェアのファームウェア情報として、図3(b)に示すファームウェア情報302が取得されるものとする。そして、アップデート条件判定部209は、それらのファームウェア情報を比較して、差分があるモジュール(ファイル)を抽出する(S701)。ここでは、バージョンが1.0から1.2に変化しているモジュールYYYYYが抽出される。なお、モジュールのバージョン以外の情報に基づいて差分があるモジュールを特定するようにしてもよい。次いで、通信処理部210が、差分があるモジュールについて、配信サーバ101から最新のモジュールをダウンロードする(S702)。次いで、起動制御部206が、S602と同様に、アップデートを実行するために、画像形成装置100を再起動させる(S703)。再起動の際、画像形成装置100は、S602と同様に専用のモードで起動する。次いで、プログラム更新処理部207が、各差分ファームウェア(差分がある各モジュール)の展開先の領域を特定する(S704)。本実施形態では、ファームウェアのディレクトリ構成を示す情報(以下、ディレクトリ情報と呼ぶ)がファームウェア情報に格納されているものとする。そして、プログラム更新処理部207は、S702でダウンロードした各モジュールについて、更新対象ファームウェアのディレクトリ情報から展開先の領域を特定するものとする。次いで、バックアップデータ保存部211が、S704で特定した各領域に保存されているデータについて、バックアップデータを作成する(S705)。次いで、プログラム更新処理部207が、S705でバックアップデータを作成した各領域のデータを削除する(S706)。最後に、プログラム更新処理部207が、S706でデータを削除した各領域のそれぞれに、対応する差分ファームウェアをインストールする(S707)。
Next, the difference update (the process of S411) will be described with reference to FIG. First, the update
以上のように、本実施形態では、現在インストール済みファームウェアと更新対象のファームウェアとの世代バージョンとが一致しない場合には、差分アップデートを実行せずに全アップデートを実行する。それにより、ファームウェアの世代バージョンに応じて、アップデート時間をより短くするようなアップデート方法を選択することが可能となる。よって、本実施形態によれば、ファームウェアのアップデートに要する時間を削減することができる。 As described above, in the present embodiment, when the currently installed firmware and the generation version of the firmware to be updated do not match, the entire update is executed without executing the differential update. As a result, an update method that shortens the update time can be selected in accordance with the generation version of the firmware. Therefore, according to the present embodiment, the time required for firmware update can be reduced.
[第2実施形態]
第1実施形態では、更新対象ファームウェアのファームウェア情報に記載された世代バージョンに基づいて、全アップデートを行うか差分アップデートを行うかを自動で切り替える画像形成装置を例にした。しかし、通信速度が低速な環境にある場合、配信サーバ101からのファームウェアのダウンロードに時間がかかってしまう。したがって、そのような環境では、世代バージョンが異なるファームウェアにアップデートする場合でも、全アップデートよりもダウンロードすべきモジュールの数が少ない差分アップデートを選択したほうが有効な場合がある。以下では、通信速度によってアップデート方法を切り替える画像形成装置について説明する。
[Second Embodiment]
In the first embodiment, an example of an image forming apparatus that automatically switches between performing a full update or performing a differential update based on the generation version described in the firmware information of the firmware to be updated is taken as an example. However, when there is an environment where the communication speed is low, it takes time to download the firmware from the
図8は、画像形成装置100の第2実施形態におけるアップデート方法選択処理を示すフローチャートである。図4に示すフローと同様に、図8に示すフローは、図5に示すアップデート設定画面を介してユーザが予め設定したアップデート開始時間に実行される。または、図5に示すアップデート設定画面を介してユーザがアップデートの開始指示を行ったタイミングで実行される。なお、S801〜S807、S812〜S813の処理と、図4のS401〜S407、S410〜S411の処理と同様であるため、説明を省略する。
FIG. 8 is a flowchart showing an update method selection process in the second embodiment of the
S806で自動アップデートが設定されていると判断された場合は(S806のYES)、通信処理部210は、画像形成装置100から配信サーバ101に対して、通信速度を計測するためのパケットを送信する(S808)。次いで、通信処理部210は、S808で送信したパケットに対して配信サーバ101から返されるパケットを受信する。プログラム更新処理部207は、パケットの送受信にかかった時間から、画像形成装置100と配信サーバ101との間の通信速度を導出する(S809)。プログラム更新処理部207は、ステップS809で得られた時間と、S804で得られた更新対象ファームウェアのファームウェア情報とから、全アップデートと差分アップデートとのそれぞれについてアップデート時間を導出する(S810)。なお、アップデート時間の導出方法については、アップデートが必要になるモジュール数から算出しても良いし、アップデートが必要になるモジュールの総容量から導出しても良い。また、予め用意されたルックアップテーブル、例えば、アップデートが必要になるモジュール数(またはモジュールの容量)とアップデート時間とを対応付けて格納するルックアップテーブルを用いて導出されても良い。本実施形態におけるアップデート時間には、ファームウェアのダウンロード時間T1と、バックアップ領域の算出やファームウェアのデータベース更新に要する時間T2と、ファームウェアを展開領域に書き込む時間T3とが少なくとも含まれる。T1については、例えば以下のようにして導出可能である。
T1=((n×a)÷v)×t
n:アップデートが必要になるモジュール数
a:定数(例えば、モジュールの平均的な容量)
v:S801で送信したパケットの容量
t:S802で得られた時間
If it is determined in step S806 that automatic update is set (YES in step S806), the
T1 = ((n × a) ÷ v) × t
n: Number of modules that need to be updated a: Constant (for example, average capacity of modules)
v: capacity of the packet transmitted in S801 t: time obtained in S802
T2及びT3についても同様にして、アップデートが必要になるモジュール数と1つのモジュールに対する処理時間とから導出可能である。なお、全アップデートの場合には、T2及びT3に定数を設定するようにしてもよい。 Similarly, T2 and T3 can be derived from the number of modules that need to be updated and the processing time for one module. In the case of all updates, constants may be set in T2 and T3.
次いで、プログラム更新処理部207は、ステップS810で導出された全アップデートと差分アップデートとのアップデート時間を比較し、全アップデートのアップデート時間の方が短いかどうかを判定する(S811)。全アップデートのアップデート時間の方が短い場合は(S811のYES)、処理はS812に移行し、全アップデートが実行される。全アップデートのアップデート時間が差分アップデートのアップデート時間以上である場合は(S811のNO)、処理はS813に移行し、差分アップデートが実行される(S813)。上述したように、世代バージョンが変わるようなアップデートでは、更新が必要となるモジュールの数が多くなるため、差分アップデートと全アップデート間におけるT1及びT3の差は小さくなる。したがって、そのようなアップデートでは、T2が短い全アップデートを選択した方が、アップデート時間が短くなる。しかし、S809で導出した通信速度が低い場合には、該通信速度に依存するT1の、全アップデートと差分アップデート間における差が大きくなる。したがって、世代バージョンが変わるようなアップデートであったとしても差分アップデートを選択した方が、アップデート時間が短くなる場合がある。したがって、本実施形態では上記のように、アップデート時間の比較を行って該比較の結果に基づいてアップデート方法を切り替えるようにしている。
Next, the program
以上のように、本実施形態では、ファームウェアをアップデートする環境に応じて、アップデート方法を選択する。それにより、ファームウェアのアップデートに要する時間をより確実に削減することができる。 As described above, in this embodiment, the update method is selected according to the environment in which the firmware is updated. Thereby, the time required for updating the firmware can be reduced more reliably.
以上、本発明の実施形態について詳細に述べたが、本発明の実施形態は他にも様々な実施形態が考えられる。例えば、第1実施形態と第2実施形態とを組み合わせるようにしてもよい。より具体的には、第1実施形態のS409でYESと判定された後に、S808〜S811の処理を行うようにしてもよい。 As mentioned above, although embodiment of this invention was described in detail, various embodiment can be considered for embodiment of this invention. For example, the first embodiment and the second embodiment may be combined. More specifically, the processing of S808 to S811 may be performed after it is determined YES in S409 of the first embodiment.
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
Claims (13)
ファームウェアの機能に応じて割り当てられる世代バージョンを、更新対象のファームウェアと更新前のファームウェアとについて取得する取得手段と、
前記世代バージョンが前記更新対象のファームウェアと前記更新前のファームウェアとで一致しているか否かを判定する判定手段と、
前記判定手段の判定の結果に応じて、前記更新対象のファームウェアを構成するモジュールのうち前記更新前のファームウェアと差分があるモジュールをインストールする差分アップデート、または、前記更新対象のファームウェアを構成するモジュールを一括してインストールする全アップデートを実行する実行手段と、を備える
ことを特徴とする情報処理装置。 An information processing apparatus that operates according to firmware composed of a plurality of modules,
Acquisition means for acquiring the generation version assigned according to the function of the firmware for the firmware to be updated and the firmware before the update;
Determining means for determining whether the generation version matches the firmware to be updated and the firmware before the update;
Depending on the result of determination by the determination means, a differential update that installs a module that is different from the firmware before the update among the modules that constitute the firmware to be updated, or a module that constitutes the firmware to be updated An information processing apparatus comprising: execution means for executing all updates installed in a batch.
前記判定手段によって前記世代バージョンが一致していると判定された場合には、前記差分アップデートを実行する
ことを特徴とする請求項1に記載の情報処理装置。 The execution means includes
The information processing apparatus according to claim 1, wherein when the generation unit determines that the generation versions match, the difference update is executed.
前記判定手段によって前記世代バージョンが一致していないと判定された場合には、前記全アップデートを実行する
ことを特徴とする請求項1または請求項2に記載の情報処理装置。 The execution means includes
The information processing apparatus according to claim 1 or 2, wherein when the determination unit determines that the generation versions do not match, the all update is executed.
前記取得手段は、
前記記憶手段から前記更新対象のファームウェアと前記更新前のファームウェアの前記ファームウェア情報を読み出して、該読み出したファームウェア情報から各ファームウェアの前記世代バージョンを取得する
ことを特徴とする請求項1から請求項3のうちのいずれか1項に記載の情報処理装置。 Storage means for storing firmware information capable of specifying at least the modules constituting the firmware and the generation version of the firmware;
The acquisition means includes
4. The firmware version of the firmware to be updated and the firmware before the update are read from the storage unit, and the generation version of each firmware is acquired from the read firmware information. The information processing apparatus according to any one of the above.
前記実行手段は、
前記差分アップデートを実行する場合には、前記更新対象のファームウェアと前記更新前のファームウェアの前記ファームウェア情報を参照して前記差分があるモジュールを特定し、
前記特定したモジュールを前記外部装置からダウンロードする
ことを特徴とする請求項4に記載の情報処理装置。 The information processing device can communicate with an external device that distributes firmware,
The execution means includes
When performing the difference update, identify the module with the difference with reference to the firmware information of the firmware to be updated and the firmware before the update,
The information processing apparatus according to claim 4, wherein the identified module is downloaded from the external apparatus.
前記全アップデートを実行する場合には、前記更新対象のファームウェアを構成するモジュールを一括して前記外部装置からダウンロードする
ことを特徴とする請求項5に記載の情報処理装置。 The execution means includes
6. The information processing apparatus according to claim 5, wherein, when performing all the updates, modules constituting the firmware to be updated are downloaded from the external apparatus in a batch.
更新対象のファームウェアを外部装置から取得し、前記更新対象のファームウェアを用いて、更新前のファームウェアのアップデートを実行する実行手段を備え、
前記実行手段は、
前記情報処理装置と前記外部装置との間の通信速度に応じて、前記更新対象のファームウェアを構成するモジュールのうち前記更新前のファームウェアと差分があるモジュールをインストールする差分アップデート、または、前記更新対象のファームウェアを構成するモジュールを一括してインストールする全アップデートを実行する
ことを特徴とする情報処理装置。 An information processing apparatus that operates according to firmware composed of a plurality of modules,
Obtaining the firmware to be updated from an external device, and using the firmware to be updated, comprising execution means for executing an update of the firmware before the update,
The execution means includes
In accordance with the communication speed between the information processing device and the external device, a differential update that installs a module that is different from the firmware before the update among the modules that constitute the firmware to be updated, or the update target An information processing apparatus characterized by executing all updates to install modules constituting the firmware in a batch.
前記実行手段は、
前記全アップデートのアップデート時間が前記差分アップデートのアップデート時間以上である場合には、前記差分アップデートを実行する
ことを特徴とする請求項7に記載の情報処理装置。 Based on the communication speed between the information processing device and the external device, the number of modules constituting the firmware to be updated, and the number of modules to be updated by the differential update, Derivation means for deriving the time required for each of the differential updates,
The execution means includes
The information processing apparatus according to claim 7, wherein when the update time of all the updates is equal to or longer than the update time of the differential update, the differential update is executed.
前記実行手段は、
前記全アップデートのアップデート時間が前記差分アップデートのアップデート時間以上である場合には、前記差分アップデートを実行する
ことを特徴とする請求項7に記載の情報処理装置。 Based on the communication speed between the information processing device and the external device, the total capacity of the modules to be updated in the entire update, and the total capacity of the modules to be updated in the differential update, Further comprising derivation means for deriving the time required for all updates and the differential update,
The execution means includes
The information processing apparatus according to claim 7, wherein when the update time of all the updates is equal to or longer than the update time of the differential update, the differential update is executed.
前記全アップデートのアップデート時間が前記差分アップデートのアップデート時間より短い場合には、前記全アップデートを実行する
ことを特徴とする請求項8または請求項9に記載の情報処理装置。 The execution means includes
The information processing apparatus according to claim 8 or 9, wherein when the update time of the all updates is shorter than the update time of the differential update, the all updates are executed.
ファームウェアの機能に応じて割り当てられる世代バージョンを、更新対象のファームウェアと更新前のファームウェアとについて取得する取得ステップと、
前記世代バージョンが前記更新対象のファームウェアと前記更新前のファームウェアとで一致しているか否かを判定する判定ステップと、
前記判定の結果に応じて、前記更新対象のファームウェアを構成するモジュールのうち前記更新前のファームウェアと差分があるモジュールをインストールする差分アップデート、または、前記更新対象のファームウェアを構成するモジュールを一括してインストールする全アップデートを実行する実行ステップと、を含む
ことを特徴とするアップデート方法。 An information processing apparatus update method that operates according to firmware composed of a plurality of modules,
Obtaining a generation version assigned according to the function of the firmware for the firmware to be updated and the firmware before the update;
A determination step of determining whether the generation version matches the firmware to be updated and the firmware before the update;
Depending on the result of the determination, a differential update that installs a module that has a difference from the pre-update firmware among the modules that constitute the firmware to be updated, or the modules that constitute the firmware to be updated are collectively And an execution step for executing all updates to be installed.
更新対象のファームウェアを外部装置から取得し、前記更新対象のファームウェアを用いて、更新前のファームウェアのアップデートを実行する実行ステップを含み、
前記実行ステップにおいて、
前記情報処理装置と前記外部装置との間の通信速度に応じて、前記更新対象のファームウェアを構成するモジュールのうち前記更新前のファームウェアと差分があるモジュールをインストールする差分アップデート、または、前記更新対象のファームウェアを構成するモジュールを一括してインストールする全アップデートを実行する
ことを特徴とするアップデート方法。 An information processing apparatus update method that operates according to firmware composed of a plurality of modules,
Including an execution step of acquiring firmware to be updated from an external device, and using the firmware to be updated to update the firmware before the update,
In the execution step,
In accordance with the communication speed between the information processing device and the external device, a differential update that installs a module that is different from the firmware before the update among the modules that constitute the firmware to be updated, or the update target An update method characterized by executing all the updates to install the modules constituting the firmware in a batch.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018096982A JP2019204152A (en) | 2018-05-21 | 2018-05-21 | Information processing apparatus, update method of information processing apparatus, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018096982A JP2019204152A (en) | 2018-05-21 | 2018-05-21 | Information processing apparatus, update method of information processing apparatus, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019204152A true JP2019204152A (en) | 2019-11-28 |
Family
ID=68726923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018096982A Pending JP2019204152A (en) | 2018-05-21 | 2018-05-21 | Information processing apparatus, update method of information processing apparatus, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019204152A (en) |
-
2018
- 2018-05-21 JP JP2018096982A patent/JP2019204152A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3984895B2 (en) | Information processing apparatus, server apparatus, driver updating method, computer-readable storage medium, and program | |
JP6390708B2 (en) | System and information processing method | |
US8243294B2 (en) | Simplified walk-up print driver installation | |
JP4612912B1 (en) | Information processing apparatus, information processing system control method, and program | |
JP2008123518A (en) | Remote distribution/installation utility and associated method of deploying executable code | |
US10430130B2 (en) | Information processing system, information processing method | |
JP2019149048A (en) | Information processing device, firmware update method, and program | |
US9965299B2 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
JP6648915B2 (en) | Information processing apparatus, method and program | |
JP6265732B2 (en) | Management device, control method and program for management device | |
JP4641530B2 (en) | Information processing apparatus, driver processing method, and program | |
JP6420591B2 (en) | Image processing apparatus, control method thereof, and program | |
JP5800685B2 (en) | Information processing apparatus and server, control method, program, and recording medium | |
US8332494B2 (en) | Device management system, servers, method for managing device, and computer readable medium | |
KR20120074321A (en) | Management apparatus and method therefor | |
WO2020044977A1 (en) | Application program and data transfer system | |
JP6429502B2 (en) | Management system and method | |
JP2020201719A (en) | Information processing apparatus and method for controlling same, and program therefor | |
JP2019204152A (en) | Information processing apparatus, update method of information processing apparatus, and program | |
KR101723857B1 (en) | Print control device and method for upgrading firmware | |
JP6197611B2 (en) | Installation control program, recording medium, and installation control method | |
JP2018045307A (en) | Server device, information processing method and program | |
JP2021136670A (en) | Information processing apparatus, control method for the same, and program | |
JP4957506B2 (en) | Management program, information processing apparatus, and information processing system | |
JP2018081607A (en) | Information processing device, control method of information processing device, and program |