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 PDF

Info

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
Application number
JP2018096982A
Other languages
Japanese (ja)
Inventor
健 裏垣
Takeshi Uragaki
健 裏垣
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 JP2018096982A priority Critical patent/JP2019204152A/en
Publication of JP2019204152A publication Critical patent/JP2019204152A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To reduce a time period required for updating of a firmware.SOLUTION: An information processing apparatus operating according to a firmware configured with a plurality of modules includes: acquisition means that acquires generation versions allocated according to functions of the firmware for a firmware to be updated and a firmware before updating; determination means that determines whether or not the generation versions of the firmware to be updated and the firmware before updating match each other; and execution means that performs, according to a determination result by the determination means, a difference update for installing modules having a difference from the firmware before updating among modules constituting the firmware to be updated, or a full update for collectively installing modules constituting the firmware to be updated.SELECTED DRAWING: Figure 4

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).

特開2015−225478号公報JP2015-225478A

しかし、差分アップデートでは、差分アップデートを行うためのバックアップ領域の計算やファームウェアの構成情報の更新等を行う必要がある。それらの処理には多くの時間を要するため、更新が必要となるモジュールの数がある一定の数を超えると、ファームウェア全体を一度にアップデートする全アップデートよりもアップデート時間が長くなる可能性がある。例えば、世代バージョンが変わるようなアップデートでは、更新が必要となるモジュールの数が多くなるため、差分アップデートの方が全アップデートよりもアップデート時間が長くなる可能性がある。   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.

画像形成装置の第1実施形態の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a first embodiment of an image forming apparatus. 制御部のソフトウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the software structure of a control part. 画像形成装置が配信サーバから受け取るファームウェア情報の一例を示す図である。3 is a diagram illustrating an example of firmware information received from a distribution server by an image forming apparatus. FIG. 画像形成装置の第1実施形態におけるアップデート方法選択処理を示すフローチャートである。3 is a flowchart illustrating an update method selection process in the first embodiment of the image forming apparatus. アップデート設定画面の一例を示す図である。It is a figure which shows an example of an update setting screen. 全アップデートを示すフローチャートである。It is a flowchart which shows all the updates. 差分アップデートを示すフローチャートである。It is a flowchart which shows a difference update. 画像形成装置の第2実施形態におけるアップデート方法選択処理を示すフローチャートである。10 is a flowchart illustrating an update method selection process in the second embodiment of the image forming apparatus.

以下、本発明の実施の形態について図面を用いて説明する。以下の実施形態に記載されている構成要素は、本発明の例としての形態を示すものであり、本発明の範囲をそれらのみに限定するものではない。   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 image forming apparatus 100 according to the first embodiment. The image forming apparatus 100 includes a control unit 110, an operation unit 120, a printer unit 130, a scanner unit 140, and a finisher unit 150. A distribution server 101 and a computer 103 are connected to the image forming apparatus 100 via a LAN 104.

制御部(情報処理装置とも呼ぶ)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 image forming apparatus 100. The control unit 110 includes a CPU 111, ROM 112, RAM 113, hard disk drive (HDD) 114, operation unit I / F 115, printer unit I / F 116, scanner unit I / F 117, external I / F 118, and network I / F 119.

CPU111は、ROM112に記憶された制御部110用のプログラムをRAM113に読み出して実行する。それにより、後述する図4、図6、図7、及び図8等に示す処理が実行される。ROM112には、ライセンス情報や機器構成情報、ファームウェアバージョンといった、機器情報も記憶されている。HDD114は、ネットワークI/F119を介してコンピュータ103から受信される印刷データを記憶する。なお、CPU111により実行されるプログラムには、プリント用アプリケーションプログラムが含まれる。そして、プリント用アプリケーションプログラムにより、HDD114に記憶された印刷データがプリンタ部130によるプリントが可能な画像データに変換され、該画像データもHDD114に格納される。また、CPU111により実行されるプログラムには、スキャン用アプリケーションプログラムが含まれる。そして、このスキャン用アプリケーションプログラムにより、スキャナ部140による画像データの読み取りが行われ、読み取られた画像データがHDD114に転送される。   The CPU 111 reads the program for the control unit 110 stored in the ROM 112 into the RAM 113 and executes it. As a result, the processes shown in FIGS. 4, 6, 7, 8, etc., which will be described later, are executed. The ROM 112 also stores device information such as license information, device configuration information, and firmware version. The HDD 114 stores print data received from the computer 103 via the network I / F 119. The program executed by the CPU 111 includes a print application program. Then, the print application program converts the print data stored in the HDD 114 into image data that can be printed by the printer unit 130, and the image data is also stored in the HDD 114. The program executed by the CPU 111 includes a scanning application program. Then, the image data is read by the scanner unit 140 by the scanning application program, and the read image data is transferred to the HDD 114.

操作部I/F115は、操作部120を介してユーザにより入力される指示をCPU111に伝達する。操作部120は、タッチパネル機能を有する液晶表示部やキーボードなどを有し、ユーザの指示を受け付けたりユーザインタフェース(UI)画面を表示したりする。操作部I/F115は、操作部120の表示内容を切替えるための情報をCPU111から受信して、操作部120に伝達する。   The operation unit I / F 115 transmits an instruction input by the user via the operation unit 120 to the CPU 111. The operation unit 120 includes a liquid crystal display unit having a touch panel function, a keyboard, and the like, and accepts user instructions and displays a user interface (UI) screen. The operation unit I / F 115 receives information for switching display contents of the operation unit 120 from the CPU 111 and transmits the information to the operation unit 120.

プリンタ部I/F116は、制御部110とプリンタ部130とを接続するためのインターフェースである。プリンタ部130は、HDD114からプリンタ部I/F116を介して転送される画像データに基づいて、記録媒体上にプリントを行う。フィニッシャ部150は、プリンタ部130によりプリントが行われた記録媒体に対して各種のフィニッシング処理を行う。フィニッシング処理は、例えば、シートに対するステイプル処理、シートへのパンチ処理(穿孔処理)、中綴じ製本処理等である。   The printer unit I / F 116 is an interface for connecting the control unit 110 and the printer unit 130. The printer unit 130 performs printing on a recording medium based on image data transferred from the HDD 114 via the printer unit I / F 116. The finisher unit 150 performs various finishing processes on the recording medium printed by the printer unit 130. The finishing process is, for example, a staple process for a sheet, a punch process (perforation process) for a sheet, a saddle stitch bookbinding process, or the like.

スキャナ部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 control unit 110 and the scanner unit 140. The scanner unit 140 is an input unit that inputs image data, and reads an image on a document as image data using a line sensor configured by a CCD (Charge Coupled Device) or the like. The scanner unit 140 transfers the read image data to the HDD 114 via the scanner unit I / F 117. The image data transferred to and stored in the HDD 114 can be printed by the printer unit 130 described above. The image data read by the scanner unit 140 is printed by the printer unit 130, thereby realizing a copying function.

外部I/F118は、制御部110と外部デバイス102とを接続するためのインターフェースである。外部I/F118は、例えばUSBI/Fであり、外部デバイス102は、例えばUSBメモリやUSBキーボードなどのUSBデバイスである。制御部110は、外部I/F118を介して接続されたUSBメモリ等に対して、データの読み書きを行うことができる。   The external I / F 118 is an interface for connecting the control unit 110 and the external device 102. The external I / F 118 is a USB I / F, for example, and the external device 102 is a USB device such as a USB memory or a USB keyboard. The control unit 110 can read / write data from / to a USB memory or the like connected via the external I / F 118.

ネットワークI/F119は、制御部110をLAN104に接続する。制御部110は、ネットワークI/F119を介してLAN104上のコンピュータ103と通信可能に接続される。これにより、コンピュータ103は、画像形成装置100に対して印刷データを送信したり、WEBブラウザ経由で機器を操作したりすることができる。さらに制御部110は、LAN104を介して配信サーバ101と接続され、ファームアップデートに必要な更新ファイルをダウンロードすることができる。なお、更新ファイルをダウンロードする際に用いられる通信プロトコルとしては、例えばHTTPやFTPがあるが、その他のプロトコルが用いられてもよい。配信サーバ101は、主にインターネット上に存在するが、社内ネットワーク内に存在しても良い。   The network I / F 119 connects the control unit 110 to the LAN 104. The control unit 110 is communicably connected to the computer 103 on the LAN 104 via the network I / F 119. Accordingly, the computer 103 can transmit print data to the image forming apparatus 100 and can operate the device via the WEB browser. Further, the control unit 110 is connected to the distribution server 101 via the LAN 104 and can download an update file necessary for the firmware update. The communication protocol used when downloading the update file includes, for example, HTTP and FTP, but other protocols may be used. The distribution server 101 exists mainly on the Internet, but may exist in an in-house network.

次いで、制御部110のソフトウェア構成について図2を用いて説明する。メインシステム200は、画像形成装置100の各種機能を実現するための複数のプログラム201〜213を含む。なお、図2に示される各プログラム201〜213は、図1のROM112に記憶されているものとする。   Next, the software configuration of the control unit 110 will be described with reference to FIG. The main system 200 includes a plurality of programs 201 to 213 for realizing various functions of the image forming apparatus 100. Note that the programs 201 to 213 shown in FIG. 2 are stored in the ROM 112 of FIG.

操作部制御部201は、操作部I/F115を介して、操作部120の制御を行う。同様に、プリンタ制御部202は、プリンタ部I/F116を介して、プリンタ部130及びフィニッシャ部150の制御を行う。スキャナ制御部203は、スキャナ部I/F117を介して、スキャナ部140の制御を行う。外部デバイス制御部204は、外部I/F118を介して、外部デバイス102の制御を行う。   The operation unit control unit 201 controls the operation unit 120 via the operation unit I / F 115. Similarly, the printer control unit 202 controls the printer unit 130 and the finisher unit 150 via the printer unit I / F 116. The scanner control unit 203 controls the scanner unit 140 via the scanner unit I / F 117. The external device control unit 204 controls the external device 102 via the external I / F 118.

アプリケーション制御部205は、画像形成装置100のさまざまな機能を実現するためのプログラム群からなる。アプリケーション制御部205には、httpd(HyperTextTransferProtocolDeamon)、lpd(LinePrinterDeamon)、Wedブラウザ機能、機器情報配信機能等が含まれる。   The application control unit 205 includes a program group for realizing various functions of the image forming apparatus 100. The application control unit 205 includes an httpd (HyperTextTransferProtocolDemon), an lpd (LinePrinterDemon), a Wed browser function, a device information distribution function, and the like.

起動制御部206は、メインシステム200の起動及び停止の制御を行い、画像形成装置100に電源が投入された際に最初に動作して、メインシステム200全体の起動処理の制御を行う。   The start control unit 206 controls the start and stop of the main system 200 and operates first when the image forming apparatus 100 is powered on, and controls the start processing of the entire main system 200.

プログラム更新処理部207は、操作部120を介してファームウェアアップデートの実行指示を受け付けた際に、あるいは事前に予約されたアップデート時刻になった際に、メインシステム200内の各部の更新処理を行う。   The program update processing unit 207 performs an update process for each unit in the main system 200 when a firmware update execution instruction is received via the operation unit 120 or when an update time reserved in advance is reached.

機器情報取得部208は、画像形成装置100がROM112内に記憶されている機器情報(ライセンス情報、機器構成情報、ファームウェアバージョン等)の取得を行う。   The device information acquisition unit 208 acquires device information (license information, device configuration information, firmware version, etc.) stored in the ROM 112 by the image forming apparatus 100.

アップデート条件判定部209は、機器情報取得部208が取得した機器情報と、後述する通信処理部210が配信サーバ101から受信したファームウェア情報とを比較する。ファームウェア情報については図3を用いて後述する。そして、アップデート条件判定部209は、比較の結果に基づいて、画像形成装置100のファームウェアのアップデートを実施するか否かを判定する。   The update condition determination unit 209 compares the device information acquired by the device information acquisition unit 208 with firmware information received from the distribution server 101 by the communication processing unit 210 described later. The firmware information will be described later with reference to FIG. Then, the update condition determination unit 209 determines whether or not to update the firmware of the image forming apparatus 100 based on the comparison result.

通信処理部210は、配信サーバ101と通信を行い、ファームウェア情報及びアップデート条件判定部209の判定結果に従って、アップデート対象のファームウェアのダウンロードなどを行う。なお、ファームウェア情報は、配信サーバ101以外の装置に登録されていてもよい。すなわち、ファームウェアとファームウェア情報とが別々の装置に登録されていてもよい。   The communication processing unit 210 communicates with the distribution server 101, and downloads firmware to be updated according to the firmware information and the determination result of the update condition determination unit 209. The firmware information may be registered in an apparatus other than the distribution server 101. That is, firmware and firmware information may be registered in different devices.

バックアップデータ保存部211は、アップデート条件判定部209によりアップデートを実施すると判定された場合に、ファームウェアの展開先の領域に既に保存されているデータのバックアップデータを作成してHDD124に保存する。このように、バックアップデータを作成して保存しておくことでアップデート実行時にエラーが発生した場合でも、アップデートを実行する前の状態に戻すことが可能となる。   When the update condition determination unit 209 determines that the update is to be performed, the backup data storage unit 211 creates backup data of data already stored in the firmware development destination area and stores the backup data in the HDD 124. Thus, by creating and storing backup data, even if an error occurs during update execution, it is possible to return to the state prior to execution of update.

ファームウェア情報確認部212は、配信サーバ101から受信したファームウェア情報を読み込み、該ファームウェア情報を参照して、更新対象のファームウェアの有無及び更新対象のファームウェアの情報を確認する。   The firmware information confirmation unit 212 reads the firmware information received from the distribution server 101, refers to the firmware information, and confirms the presence / absence of the update target firmware and the update target firmware information.

アップデートモード判定部213は、通信処理部210が配信サーバ101から受信したファームウェア情報をもとに、差分アップデートを行うか全アップデートを行うかを判定する。   The update mode determination unit 213 determines whether to perform a differential update or a full update based on the firmware information received from the distribution server 101 by the communication processing unit 210.

図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 distribution server 101 by the image forming apparatus 100. For convenience, the firmware information described in the text format is illustrated, but the firmware information may be described in another format such as an XML format. When updating the firmware, the image forming apparatus 100 makes an inquiry to the distribution server 101 before downloading the firmware to be updated from the distribution server 101, as shown in FIGS. Get firmware information. The firmware information includes a model name, version, purpose of use (for general use, business negotiation support, etc.), destination, generation version, and the like. The firmware information includes module combination information indicating what kind of module (file) the firmware is. In the example shown in FIG. 3A, a combination indicating that the firmware is composed of the module XXXXXX that is version 0.1, the module YYYYY that is version 1.0, and the module ZZZZZ that is version 2.1. Information is described. By acquiring the firmware information, it is possible to specify the modules constituting the firmware and the generation versions of the firmware. The firmware information 301 shown in FIG. 3A is obtained by registering, in the distribution server, the firmware of the version 10.00 and the generation version 2.0 of the image forming apparatus whose model name is “iAC2200”. It shows that. The generation version indicates the firmware generation, and the firmware of the same generation version indicates that it has the same function. When the generation version can be determined from the version of each firmware, the generation version may not be described in the firmware information. Similarly, the firmware information 302 shown in FIG. 3B is firmware of version 40.22 of the image forming apparatus of the same model and the generation version is 2.0 which is the same as the example shown in FIG. Indicates that it is registered in the distribution server. Similarly, the firmware information 303 shown in FIG. 3C indicates that firmware having the version 50.33 and the generation version 3.0 of the image forming apparatus of the same model is registered in the distribution server. Is shown. In the example shown in FIG. 3C, a module AAAAA for expanding the functions of the programs 201 to 213 is newly added.

ファームウェア情報301で示されるファームウェアがインストールされている画像形成装置100に対して、ファームウェア情報303で示されるファームウェアをアップデートしようとすると、世代バージョンが上がる。世代バージョンが上がるようなアップデートでは、通常、画像形成装置100に大きな機能追加が行われるため、差分を有するモジュール、すなわち更新が必要となるモジュールの数が多くなる。それに伴い、バックアップ領域の算出や、デバイス(ここでは、画像形成装置100)を構成しているファームウェアを管理するためのデータベースの更新に時間がかかるため、オーバーヘッドが増加してしまう。これにより、全アップデートに要する時間よりも差分アップデートに要する時間の方が長くなってしまう。   When an attempt is made to update the firmware indicated by the firmware information 303 to the image forming apparatus 100 in which the firmware indicated by the firmware information 301 is installed, the generation version is increased. In an update in which the generation version is increased, a large function is normally added to the image forming apparatus 100. Therefore, the number of modules having differences, that is, the number of modules that need to be updated increases. Accordingly, it takes time to calculate the backup area and update the database for managing the firmware constituting the device (in this case, the image forming apparatus 100), and thus the overhead increases. As a result, the time required for the differential update becomes longer than the time required for the entire update.

図4及ぶ図5を用いて、第1実施形態の画像形成装置100が行うファームウェアのアップデート方法選択処理について説明する。図4は、画像形成装置100の第1実施形態におけるアップデート方法選択処理を示すフローチャートである。なお、図4に示すフローは、図5に示すアップデート設定画面を介してユーザが予め設定したアップデート開始時間に実行される。または、図5に示すアップデート設定画面を介してユーザがアップデートの開始指示を行ったタイミングで実行される。   A firmware update method selection process performed by the image forming apparatus 100 according to the first embodiment will be described with reference to FIGS. 4 and 5. FIG. 4 is a flowchart showing an update method selection process in the first embodiment of the image forming apparatus 100. Note that the flow shown in FIG. 4 is executed at the update start time preset by the user via the update setting screen shown in FIG. Alternatively, it is executed at the timing when the user issues an update start instruction via the update setting screen shown in FIG.

まず、機器情報取得部208が、画像形成装置100の機器情報をROM112から取得する(ステップS401)。以下、ステップS401を単にS401と記載する。他のステップについても同様である。通信処理部210は、機器情報取得部208が取得した機器情報を配信サーバ101に通知する(S402)。配信サーバ101は、S402で通知された機器情報をもとに、画像形成装置100に対してアップデート可能な最新のファームウェアのファームウェア情報を、更新対象のファームウェアのファームウェア情報として送信する。通信処理部210は、更新対象のファームウェアのファームウェア情報を受信すると、該ファームウェア情報をHDD114に保存する(S403)。なお、本実施形態では、最新のファームウェアを更新対象としているが、その他のロジックで決定されたファームウェアを更新対象としてもよい。   First, the device information acquisition unit 208 acquires device information of the image forming apparatus 100 from the ROM 112 (step S401). Hereinafter, step S401 is simply referred to as S401. The same applies to the other steps. The communication processing unit 210 notifies the distribution server 101 of the device information acquired by the device information acquisition unit 208 (S402). The distribution server 101 transmits firmware information of the latest firmware that can be updated to the image forming apparatus 100 as firmware information of the firmware to be updated based on the device information notified in S402. When receiving the firmware information of the firmware to be updated, the communication processing unit 210 stores the firmware information in the HDD 114 (S403). In the present embodiment, the latest firmware is the update target, but firmware determined by other logic may be the update target.

次いで、ファームウェア情報確認部212が、S403でHDD114に保存された更新対象のファームウェア情報の内容を確認する(S404)。次いで、アップデートモード判定部213が、アップデート設定を確認する(S405)。アップデート設定とは、アップデートに関する設定であり、図5に示すアップデート設定画面を介して編集可能である。アップデート設定の詳細は、図5を用いて後述する。アップデートモード判定部213は、アップデート設定において自動アップデートが設定されているかを判定する(S406)。   Next, the firmware information confirmation unit 212 confirms the content of the firmware information to be updated stored in the HDD 114 in S403 (S404). Next, the update mode determination unit 213 confirms the update setting (S405). The update setting is a setting relating to update, and can be edited via the update setting screen shown in FIG. Details of the update setting will be described later with reference to FIG. The update mode determination unit 213 determines whether automatic update is set in the update setting (S406).

自動アップデートが設定されている場合は(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 information confirmation unit 212 acquires the generation version of the firmware that is currently installed before the update and the generation version of the firmware to be updated (S408). At this time, the firmware information confirmation unit 212 acquires the generation version of each firmware from the firmware information of each firmware stored in the HDD 114. Next, the update mode determination unit 213 compares the currently installed firmware and the generation version of the update target firmware (S409). If the generation versions are different (YES in S409), the program update processing unit 207 executes all updates (S410). If the generation versions match (NO in S409), the program update processing unit 207 executes a difference update (S411).

自動アップデートが設定されていない場合は(S406のNO)、アップデートモード判定部213は、アップデート設定において全アップデートが設定されているかを判定する(S407)。全アップデートが設定されている場合は(S407のYES)、処理はS410に移行し、全アップデートが実行される。差分アップデートが設定されている場合は(S407のNO)、処理はS411に移行し、差分アップデートが実行される。   If automatic update is not set (NO in S406), the update mode determination unit 213 determines whether all updates are set in the update setting (S407). If all updates are set (YES in S407), the process proceeds to S410, and all updates are executed. When the differential update is set (NO in S407), the process proceeds to S411, and the differential update is executed.

次に、アップデート設定を行うためのアップデート設定画面について説明する。図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 unit control unit 201 when an instruction to display the update setting screen is input via the operation unit 120.

図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 update setting screen 500 includes a timing selection menu 501, a mode selection menu 502, an update method selection menu 503, and an OK button 504. The timing selection menu 501 is a menu for setting the update timing. In the timing selection menu 501, it is possible to set whether the update is started immediately or at a specified time. A mode selection menu 502 is a menu for setting whether the update is performed automatically or manually. The update method selection menu 503 is a menu for setting an update method. In the update method selection menu 503, it is possible to set whether to execute a differential update for updating only a module having a difference or to execute all updates for updating all modules. When automatic update is set in the mode selection menu 502, the update method is automatically selected by the image forming apparatus 100 as described above. Therefore, the update method selection menu 503 is effective when manual update is selected in the mode selection menu 502. When the OK button 504 is pressed, the contents set in the menus 501 to 503 are reflected in the update setting, and the update setting screen 500 is closed. Although FIG. 5 shows an example in which the user can select the update mode, automatic update may always be selected. That is, the update setting screen 500 may not have the menus 502 and 503.

次に、図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 communication processing unit 210 acquires all the modules listed in the firmware information received in S403 from the distribution server 101 (S601). Next, the activation control unit 206 restarts the image forming apparatus 100 in order to execute the update (S602). When the image forming apparatus 100 is restarted, the image forming apparatus 100 starts up in a dedicated mode for performing firmware update. Next, the backup data storage unit 211 creates backup data of data stored in the firmware development destination area so that recovery can be performed when an error occurs (S603). After creating the backup data, the program update processing unit 207 deletes the data stored in the firmware development destination area (S604). Next, the program update processing unit 207 installs each module acquired in S601 in the area from which data has been deleted in S604 (S605). As a result, the modules constituting the firmware to be updated are installed in a batch.

次に、図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 condition determination unit 209 acquires firmware information of installed firmware and firmware information of update target firmware from the HDD 114. Here, it is assumed that firmware information 301 illustrated in FIG. 3A is acquired as firmware information of installed firmware. In addition, firmware information 302 illustrated in FIG. 3B is acquired as firmware information of the firmware to be updated. Then, the update condition determination unit 209 compares the firmware information and extracts a module (file) having a difference (S701). Here, the module YYYYY whose version has changed from 1.0 to 1.2 is extracted. Note that a module having a difference may be specified based on information other than the version of the module. Next, the communication processing unit 210 downloads the latest module from the distribution server 101 for modules with differences (S702). Next, the activation control unit 206 restarts the image forming apparatus 100 in order to execute the update, similarly to S602 (S703). At the time of restarting, the image forming apparatus 100 starts up in a dedicated mode as in S602. Next, the program update processing unit 207 identifies an expansion destination area of each difference firmware (each module having a difference) (S704). In the present embodiment, it is assumed that information indicating the directory structure of firmware (hereinafter referred to as directory information) is stored in the firmware information. Then, it is assumed that the program update processing unit 207 identifies the deployment destination area from the directory information of the update target firmware for each module downloaded in S702. Next, the backup data storage unit 211 creates backup data for the data stored in each area specified in S704 (S705). Next, the program update processing unit 207 deletes the data in each area for which backup data was created in S705 (S706). Finally, the program update processing unit 207 installs the corresponding difference firmware in each area from which data has been deleted in S706 (S707).

以上のように、本実施形態では、現在インストール済みファームウェアと更新対象のファームウェアとの世代バージョンとが一致しない場合には、差分アップデートを実行せずに全アップデートを実行する。それにより、ファームウェアの世代バージョンに応じて、アップデート時間をより短くするようなアップデート方法を選択することが可能となる。よって、本実施形態によれば、ファームウェアのアップデートに要する時間を削減することができる。   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 distribution server 101. Therefore, in such an environment, even when updating to firmware having a different generation version, it may be more effective to select a differential update with a smaller number of modules to be downloaded than all updates. Hereinafter, an image forming apparatus that switches the update method according to the communication speed will be described.

図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 image forming apparatus 100. Similar to the flow shown in FIG. 4, the flow shown in FIG. 8 is executed at the update start time preset by the user via the update setting screen shown in FIG. Alternatively, it is executed at the timing when the user issues an update start instruction via the update setting screen shown in FIG. In addition, since it is the same as the process of S801-S807, S812-S813, and the process of S401-S407, S410-S411 of FIG. 4, description is abbreviate | omitted.

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 communication processing unit 210 transmits a packet for measuring the communication speed from the image forming apparatus 100 to the distribution server 101. (S808). Next, the communication processing unit 210 receives a packet returned from the distribution server 101 in response to the packet transmitted in S808. The program update processing unit 207 derives the communication speed between the image forming apparatus 100 and the distribution server 101 from the time taken for packet transmission / reception (S809). The program update processing unit 207 derives an update time for each of all updates and differential updates from the time obtained in step S809 and the firmware information of the firmware to be updated obtained in S804 (S810). Note that the method for deriving the update time may be calculated from the number of modules that need to be updated or may be derived from the total capacity of modules that need to be updated. Alternatively, it may be derived using a lookup table prepared in advance, for example, a lookup table that stores the number of modules (or module capacity) that needs to be updated and the update time in association with each other. The update time in the present embodiment includes at least a firmware download time T1, a time T2 required for calculating a backup area and updating the firmware database, and a time T3 for writing the firmware to the development area. For example, T1 can be derived as follows.
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 update processing unit 207 compares the update times of all the updates derived in step S810 and the difference update, and determines whether the update time of all the updates is shorter (S811). When the update time of all updates is shorter (YES in S811), the process proceeds to S812, and all updates are executed. When the update time of all the updates is equal to or longer than the update time of the differential update (NO in S811), the process proceeds to S813, and the differential update is executed (S813). As described above, in an update in which the generation version changes, the number of modules that need to be updated increases, so the difference between T1 and T3 between the differential update and all the updates is small. Therefore, in such an update, the update time is shorter when all updates with a short T2 are selected. However, when the communication speed derived in S809 is low, the difference between the total update and the difference update of T1 depending on the communication speed becomes large. Therefore, even if the update is such that the generation version changes, the update time may be shorter if the differential update is selected. Therefore, in this embodiment, as described above, the update times are compared, and the update method is switched based on the comparison result.

以上のように、本実施形態では、ファームウェアをアップデートする環境に応じて、アップデート方法を選択する。それにより、ファームウェアのアップデートに要する時間をより確実に削減することができる。   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.
コンピュータを、請求項1から請求項10のうちのいずれか1項に記載の情報処理装置として機能させるためのプログラム。   A program for causing a computer to function as the information processing apparatus according to any one of claims 1 to 10.
JP2018096982A 2018-05-21 2018-05-21 Information processing apparatus, update method of information processing apparatus, and program Pending JP2019204152A (en)

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)

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