JP5472086B2 - Device, terminal device, server, program, and firmware update method - Google Patents

Device, terminal device, server, program, and firmware update method Download PDF

Info

Publication number
JP5472086B2
JP5472086B2 JP2010288343A JP2010288343A JP5472086B2 JP 5472086 B2 JP5472086 B2 JP 5472086B2 JP 2010288343 A JP2010288343 A JP 2010288343A JP 2010288343 A JP2010288343 A JP 2010288343A JP 5472086 B2 JP5472086 B2 JP 5472086B2
Authority
JP
Japan
Prior art keywords
firmware
update
hash value
terminal device
transmission information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010288343A
Other languages
Japanese (ja)
Other versions
JP2012137849A (en
Inventor
裕紀 矢田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010288343A priority Critical patent/JP5472086B2/en
Publication of JP2012137849A publication Critical patent/JP2012137849A/en
Application granted granted Critical
Publication of JP5472086B2 publication Critical patent/JP5472086B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、デバイスのファームウェアを更新するための技術に関する。   The present invention relates to a technique for updating device firmware.

従来より、プリンタ、スキャナ等のデバイスにインストールされたファームウェアを更新する技術が知られている。例えば、特許文献1には、デバイスに接続された端末装置によってデバイスメーカーのウェブサーバから最新のファームウェアをダウンロードし、そのファームウェアをデバイスに送信してファームウェアを書き換える技術が記載されている。   Conventionally, a technique for updating firmware installed in a device such as a printer or a scanner is known. For example, Patent Document 1 describes a technology in which a terminal device connected to a device downloads the latest firmware from a device manufacturer's web server, transmits the firmware to the device, and rewrites the firmware.

特開2010−92322号公報JP 2010-92322 A

このようなファームウェアの更新作業は、通常はユーザが簡易に行うことができるようにすることが望ましい。   It is generally desirable that the user can easily perform such firmware update work.

ところで、デバイスには、その用途に応じて、標準仕様とは異なる仕様に設定されたものがある(例えば、印刷枚数を制限する機能が追加されたプリンタなど)。こうした特殊な仕様のデバイスには、標準のファームウェアと異なる種類の特殊なファームウェアがインストールされることがある。   By the way, some devices are set to specifications different from the standard specifications depending on the application (for example, a printer to which a function for limiting the number of printed sheets is added). A special type of firmware different from the standard firmware may be installed in such a special specification device.

このような特殊なファームウェアがインストールされているデバイスにおいて、一般のユーザが特殊なファームウェアを元の通常のファームウェアで書き換えると、それまで特殊なファームウェアで実現されていた機能が消失してしまうなどの問題があった。   In a device with such special firmware installed, if a general user rewrites the special firmware with the original normal firmware, the functions that were previously realized with the special firmware will be lost. was there.

本発明は上記のような事情に基づいて完成されたものであって、ファームウェアの種類に応じてファームウェアの更新を制限する技術を提供することを目的とする。   The present invention has been completed based on the above situation, and an object of the present invention is to provide a technique for restricting firmware update according to the type of firmware.

本明細書によって開示されるデバイスは、端末装置と接続されるデバイスであって、当該デバイスにインストールされている第1ファームウェアを記憶するデバイス記憶部と、前記端末装置から送信される送信情報を受信する第1受信制御部と、前記第1ファームウェアが、更新の際に前記送信情報の必要な第1種のファームウェアである場合に、前記第1受信制御部が前記送信情報を受信したことに応じて前記デバイス記憶部に記憶される前記第1ファームウェアを第2ファームウェアに更新する第1更新処理と、前記第1ファームウェアが、更新の際に前記送信情報の不要な第2種のファームウェアである場合に、前記第1受信制御部が前記送信情報を受信したかにかかわらず前記第1ファームウェアを前記第2ファームウェアに更新する第2更新処理と、を実行する更新制御部と、を備える。   A device disclosed in the present specification is a device connected to a terminal device, and receives a transmission information transmitted from the terminal device and a device storage unit that stores first firmware installed in the device. The first reception control unit and the first firmware corresponding to the reception of the transmission information by the first reception control unit when the first firmware is the first type of firmware required for the transmission information at the time of update. A first update process for updating the first firmware stored in the device storage unit to a second firmware, and the first firmware is a second type of firmware that does not require the transmission information at the time of update. In addition, the first firmware is updated to the second firmware regardless of whether the first reception control unit has received the transmission information. It comprises an update controller for executing a second updating process, and a.

また、上記デバイスは、前記送信情報が、当該デバイスを識別するための識別情報であり、前記送信情報を前記端末装置に送信する第1送信制御部と、をさらに備える構成でもよい。   The device may further include a first transmission control unit that transmits the transmission information to the terminal device, the transmission information being identification information for identifying the device.

また、上記デバイスは、前記更新制御部が、前記第1更新処理を実行する際に、前記第1送信制御部が前記送信情報を前記端末装置に送信してから所定期間内に前記送信情報を受信した場合には、前記第1ファームウェアを前記第2ファームウェアに更新し、前記所定時間外に前記送信情報を受信した場合には、前記第1ファームウェアを前記第2ファームウェアに更新しない構成でもよい。   In addition, when the update control unit executes the first update process, the device transmits the transmission information within a predetermined period after the first transmission control unit transmits the transmission information to the terminal device. When received, the first firmware is updated to the second firmware, and when the transmission information is received outside the predetermined time, the first firmware may not be updated to the second firmware.

また、上記デバイスは、前記デバイス記憶部に記憶される前記第1ファームウェアから所定のハッシュ関数により第1ハッシュ値を算出する算出部と、前記第1ファームウェアに基づく第2ハッシュ値を外部から受信する第2受信制御部と、前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合に、前記送信情報を生成する生成部と、をさらに備え、前記第1ハッシュ値と前記第2ハッシュ値とが一致しない場合に、前記第1送信制御部が前記送信情報を送信しない、構成でもよい。   In addition, the device receives a second hash value based on the first firmware and a calculation unit that calculates a first hash value from the first firmware stored in the device storage unit using a predetermined hash function. A second reception control unit; and a generation unit that generates the transmission information when the first hash value and the second hash value match, the first hash value and the second hash value The first transmission control unit may not transmit the transmission information when does not match.

また、本明細書によって開示される端末装置は、上記デバイスと接続される端末装置であって、前記第2ファームウェアを記憶する端末記憶部と、前記デバイス記憶部に記憶される前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記第2ハッシュ値と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記第2ハッシュ値を送信せずに前記第2ファームウェアを送信する、第2送信制御部と、を備える。   The terminal device disclosed in the present specification is a terminal device connected to the device, and includes a terminal storage unit that stores the second firmware, and the first firmware stored in the device storage unit. A determination unit that determines whether the firmware is the first type of firmware; and the first firmware determined by the determination unit is the first type of firmware, and the 2 hash values and the second firmware are transmitted, and when the first firmware determined by the determination unit is not the first type firmware, the second hash value is not transmitted and the second hash value is not transmitted. A second transmission control unit for transmitting firmware.

また、本明細書によって開示されるサーバは、上記端末装置と接続されるサーバであって、前記第1ファームウェアを含む複数のファームウェアの識別情報と、前記各ファームウェアに基づくハッシュ値と、を対応付けて記憶するハッシュ値記憶部と、前記端末装置から前記デバイス記憶部に記憶される前記第1ファームウェアの識別情報を受信する第3受信制御部と、前記ハッシュ記憶部から前記第1ファームウェアの識別情報に対応するハッシュ値を取得し、前記第2ハッシュ値として前記端末装置に送信する第3送信制御部と、を備える。   The server disclosed in this specification is a server connected to the terminal device, and associates identification information of a plurality of firmware including the first firmware with a hash value based on each firmware. A hash value storage unit that stores information, a third reception control unit that receives the identification information of the first firmware stored in the device storage unit from the terminal device, and the identification information of the first firmware from the hash storage unit A third transmission control unit that obtains a hash value corresponding to, and transmits the hash value to the terminal device as the second hash value.

また、本明細書によって開示される端末装置は、上記デバイスと接続される端末装置であって、前記第2ファームウェアを記憶する端末記憶部と、前記デバイス記憶部に記憶される前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記送信情報と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記送信情報を送信せずに前記第2ファームウェアを送信する、第4送信制御部と、を備える。   The terminal device disclosed in the present specification is a terminal device connected to the device, and includes a terminal storage unit that stores the second firmware, and the first firmware stored in the device storage unit. A determination unit that determines whether the firmware is the first type of firmware, and the transmission to the device in response to the first firmware determined by the determination unit being the first type of firmware. Information and the second firmware are transmitted, and the second firmware is transmitted without transmitting the transmission information in response to the fact that the first firmware determined by the determination unit is not the first type of firmware. And a fourth transmission control unit.

なお、この発明は、デバイス、制御装置、サーバ、これらの装置を備えた更新システム、更新方法、これらの装置またはシステムの機能または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の種々の態様で実現することができる。   The present invention relates to a device, a control apparatus, a server, an update system provided with these apparatuses, an update method, a computer program for realizing the functions or methods of these apparatuses or systems, and a recording medium recording the computer program It can implement | achieve in various aspects, such as.

本発明によれば、端末装置からの送信情報を受信した場合にファームウェアを更新する第1更新処理と、送信情報の受信にかかわらずファームウェアを更新する第2更新処理とをファームウェアの種類に応じて切り替えて実行するため、ファームウェアの種類に応じて更新を制限することができる。   According to the present invention, the first update process for updating the firmware when the transmission information from the terminal device is received and the second update process for updating the firmware regardless of the reception of the transmission information are performed according to the type of firmware. Since switching is executed, updating can be restricted according to the type of firmware.

実施形態1におけるシステムの構成を示すブロック図1 is a block diagram illustrating a system configuration according to a first embodiment. 実施形態1におけるファームウェアの更新動作の例を示すシーケンス図FIG. 3 is a sequence diagram illustrating an example of a firmware update operation according to the first embodiment. 実施形態1における更新管理処理のフローチャートFlowchart of update management processing in the first embodiment 実施形態1におけるプリンタメイン処理のフローチャートFlowchart of printer main process in Embodiment 1 実施形態1における制限付き更新処理のフローチャートFlowchart of restricted update processing in the first embodiment 実施形態1における非制限更新処理のフローチャートFlowchart of unrestricted update processing in the first embodiment 実施形態1におけるサーバメイン処理のフローチャートFlowchart of server main processing in the first embodiment 実施形態2における手動更新処理のフローチャートFlowchart of manual update processing in the second embodiment 実施形態2における第1ファイル指定画面を示す図The figure which shows the 1st file designation screen in Embodiment 2.

<実施形態1>
次に本発明の実施形態1について図1から図7を参照して説明する。
<Embodiment 1>
Next, Embodiment 1 of the present invention will be described with reference to FIGS.

(システムの構成)
図1は、ファームウェアの更新システムの構成を示すブロック図である。同図に示すように、このシステムは、プリンタ10と、端末装置30と、サーバ50とを備えている。
(System configuration)
FIG. 1 is a block diagram showing the configuration of a firmware update system. As shown in the figure, this system includes a printer 10, a terminal device 30, and a server 50.

プリンタ10(デバイスの一例)は、CPU11、RAM12、EEPROM13、ネットワークインターフェース14、印刷部15、操作部16、及び表示部17を備えている。   The printer 10 (an example of a device) includes a CPU 11, a RAM 12, an EEPROM 13, a network interface 14, a printing unit 15, an operation unit 16, and a display unit 17.

EEPROM13(デバイス記憶部の一例)は、書き換え可能な不揮発性のメモリであって、ファームウェア20と、更新制御プログラム21とを記憶している。ファームウェア20は、印刷機能などプリンタ10の主要な機能を実現するためのプログラムであり、更新制御プログラム21は、後述するようにファームウェア20を更新するためのプログラムである。CPU11(第1受信制御部、更新制御部、生成部、第1送信制御部、算出部、第2受信制御部の一例)は、EEPROM13からファームウェアまたは更新制御プログラム21をRAM12上に読み出して実行することにより、プリンタ10の各種動作を制御する。   The EEPROM 13 (an example of a device storage unit) is a rewritable nonvolatile memory, and stores firmware 20 and an update control program 21. The firmware 20 is a program for realizing main functions of the printer 10 such as a printing function, and the update control program 21 is a program for updating the firmware 20 as described later. The CPU 11 (an example of a first reception control unit, an update control unit, a generation unit, a first transmission control unit, a calculation unit, and a second reception control unit) reads the firmware or the update control program 21 from the EEPROM 13 onto the RAM 12 and executes it. Thus, various operations of the printer 10 are controlled.

なお、以下の説明においては、ファームウェアの更新を行う前にEEPROM13に記憶されている(インストールされている)更新対象のファームウェアを第1ファームウェア20といい、ファームウェアの更新によって第1ファームウェア20に替えてEEPROM13に書き込まれる(インストールされる)更新用のファームウェアを第2ファームウェア60という(図1は、ファームウェアの更新前の状態を示している)。   In the following description, the firmware to be updated that is stored (installed) in the EEPROM 13 before updating the firmware is referred to as the first firmware 20, and is replaced with the first firmware 20 by the firmware update. The firmware for update written (installed) in the EEPROM 13 is referred to as second firmware 60 (FIG. 1 shows a state before firmware update).

ネットワークインターフェース14は、LAN等のネットワーク回線70に接続されている。印刷部15は、端末装置30等から供給された印刷データに基づいて用紙等のシートに画像を印刷する。操作部16は、複数のボタンを備え、ユーザによる各種の指示の入力を受け付ける。表示部17は、ディスプレイやランプ等を備え、各種の設定画面や装置の動作状態等を表示する。   The network interface 14 is connected to a network line 70 such as a LAN. The printing unit 15 prints an image on a sheet such as paper based on print data supplied from the terminal device 30 or the like. The operation unit 16 includes a plurality of buttons and accepts input of various instructions by the user. The display unit 17 includes a display, a lamp, and the like, and displays various setting screens and operation states of the apparatus.

端末装置30は、汎用のクライアントコンピュータであって、CPU31、ROM32、RAM33、HDD(ハードディスクドライブ)34、ネットワークインターフェース35、操作部36、表示部37を備えている。   The terminal device 30 is a general-purpose client computer, and includes a CPU 31, a ROM 32, a RAM 33, an HDD (hard disk drive) 34, a network interface 35, an operation unit 36, and a display unit 37.

ROM32は、BIOS等のプログラムを記憶している。HDD34(端末記憶部の一例)は、OSや、プリンタドライバ、後述する更新管理処理等を実行する管理アプリケーション40(プログラムの一例)などを記憶している。CPU31(判断部、第2送信制御部、第4送信制御部、第5送信制御部の一例)は、ROM32やHDD34からRAM33上に読み出したプログラムに従って各部の制御を行う。   The ROM 32 stores programs such as BIOS. The HDD 34 (an example of a terminal storage unit) stores an OS, a printer driver, a management application 40 (an example of a program) that executes an update management process described later, and the like. The CPU 31 (an example of a determination unit, a second transmission control unit, a fourth transmission control unit, and a fifth transmission control unit) controls each unit in accordance with a program read from the ROM 32 or the HDD 34 onto the RAM 33.

ネットワークインターフェース35は、既述のネットワーク回線70に接続されており、同じくネットワーク回線70に接続されたプリンタ10との間で通信が可能である。また、ネットワーク回線70は、図示しないルーターを介してインターネット71に接続されており、ネットワークインターフェース35は、同じくインターネット71に接続されたサーバ50との間で通信が可能である。   The network interface 35 is connected to the network line 70 described above, and can communicate with the printer 10 also connected to the network line 70. The network line 70 is connected to the Internet 71 via a router (not shown), and the network interface 35 can communicate with the server 50 that is also connected to the Internet 71.

操作部36は、キーボードやポインティングデバイスを備えており、ユーザによる各種の指示の入力を受け付ける。表示部37は、ディスプレイを備え、CPU31の制御により様々な画像を表示する。   The operation unit 36 includes a keyboard and a pointing device, and accepts input of various instructions by the user. The display unit 37 includes a display and displays various images under the control of the CPU 31.

サーバ50は、サーバ用のコンピュータであって、CPU51、ROM52、RAM53、HDD54、ネットワークインターフェース55、操作部56、表示部57を備えている。HDD54(ハッシュ値記憶部の一例)は、サーバ用OSのほか、後に詳述するように、サーバメイン処理等を実行するサーバプログラム61や、ファームウェアの更新情報62、第2ファームウェア60を含む更新用ファームウェア63、ハッシュ値データ64、更新結果データ65等を記憶している。CPU51(第3受信制御部、第3送信制御部の一例)は、ROM52やHDD54からプログラムをRAM53上に読み出して各種の制御を行う。   The server 50 is a server computer and includes a CPU 51, ROM 52, RAM 53, HDD 54, network interface 55, operation unit 56, and display unit 57. In addition to the server OS, the HDD 54 (an example of a hash value storage unit) includes a server program 61 that executes server main processing and the like, firmware update information 62, and second firmware 60, as will be described in detail later. Firmware 63, hash value data 64, update result data 65, and the like are stored. The CPU 51 (an example of a third reception control unit and a third transmission control unit) reads out a program from the ROM 52 and the HDD 54 onto the RAM 53 and performs various controls.

(ファームウェアの更新動作)
次に本システムにおけるプリンタ10のファームウェアの更新動作について説明する。図2は、本システムにおけるファームウェアの更新動作の例を示すシーケンス図である。図3は、端末装置30において実行される更新管理処理のフローチャートであり、図4から図6は、プリンタ10において実行されるプリンタメイン処理のフローチャート、図7は、サーバ50において実行されるサーバメイン処理のフローチャートである。
(Firmware update operation)
Next, the firmware update operation of the printer 10 in this system will be described. FIG. 2 is a sequence diagram illustrating an example of firmware update operation in the present system. 3 is a flowchart of the update management process executed in the terminal device 30, FIGS. 4 to 6 are flowcharts of the printer main process executed in the printer 10, and FIG. 7 is a server main executed in the server 50. It is a flowchart of a process.

最初に端末装置30において、ユーザが操作部36から管理アプリケーション40の起動の指示を入力すると、CPU31は、管理アプリケーション40を起動する。なお、このとき、予め設定された管理者用のパスワードの入力をユーザに要求するようにしても良い。   First, in the terminal device 30, when the user inputs an instruction for starting the management application 40 from the operation unit 36, the CPU 31 starts the management application 40. At this time, the user may be requested to input a preset administrator password.

CPU31は、管理アプリケーション40を起動すると、ネットワークインターフェース35にネットワーク回線70を介して接続されたプリンタを検索する。そして、見つかったプリンタの中から管理アプリケーション40が対応する機種のプリンタを表示部37にリスト表示する。ユーザは、操作部36を用いてリストの中から更新管理処理を実行する対象のプリンタ(ここではプリンタ10)を選択し、更新管理処理の実行指示を入力する。この実行指示を受けてCPU31は、管理アプリケーション40の機能により図3に示す更新管理処理を実行する。   When the management application 40 is activated, the CPU 31 searches for a printer connected to the network interface 35 via the network line 70. Then, the printers corresponding to the management application 40 among the found printers are displayed in a list on the display unit 37. The user selects a target printer (in this case, the printer 10) to execute the update management process from the list using the operation unit 36, and inputs an instruction to execute the update management process. Upon receiving this execution instruction, the CPU 31 executes the update management process shown in FIG.

CPU31は、更新管理処理を開始すると、まずネットワークインターフェース35を介してプリンタ10に対しファームウェア情報の要求を送信する(S101)。ファームウェア情報とは、ファームウェアを識別するための情報であって、ここでは、プリンタ10の機種名とファームウェア名とそのバージョンである。   When starting the update management process, the CPU 31 first transmits a firmware information request to the printer 10 via the network interface 35 (S101). The firmware information is information for identifying the firmware, and here is the model name, firmware name, and version of the printer 10.

一方、プリンタ10では、CPU11が更新制御プログラム21の機能により図4に示すプリンタメイン処理を繰り返し実行する。このプリンタメイン処理において、CPU11は、まずファームウェア情報の要求を受けたかを判断し(S201)、ファームウェア情報の要求を受けていない場合(S201:NO)にはプリンタメイン処理を終了する。また、ファームウェア情報の要求を受けた場合(S201:YES)には、ネットワークインターフェース14により端末装置30に第1ファームウェア20のファームウェア情報を送信する(S202)。   On the other hand, in the printer 10, the CPU 11 repeatedly executes the printer main process shown in FIG. 4 by the function of the update control program 21. In this printer main process, the CPU 11 first determines whether a request for firmware information has been received (S201), and if it has not received a request for firmware information (S201: NO), the printer main process ends. When a request for firmware information is received (S201: YES), the firmware information of the first firmware 20 is transmitted to the terminal device 30 through the network interface 14 (S202).

端末装置30のCPU31は、図3のS101において、ネットワークインターフェース35を介してプリンタ10からファームウェア情報を受信すると、続いてサーバ50にログイン要求を送信する(S102)。このログイン要求には、例えば、管理アプリケーション40に予め設定されたログインユーザ名とパスワードとが含まれる。   When the CPU 31 of the terminal device 30 receives firmware information from the printer 10 via the network interface 35 in S101 of FIG. 3, the CPU 31 subsequently transmits a login request to the server 50 (S102). This login request includes, for example, a login user name and password preset in the management application 40.

CPU31は、サーバ50からログイン要求の応答としてログイン成功通知を受けると、続いてプリンタ10のファームウェア情報をサーバ50に送信する(S103)。なお、サーバ50からログイン失敗通知を受信した場合には、ログインユーザ名及びパスワードをユーザに操作部36から入力させ、入力されたものを含んだログイン要求を再度送信してもよい。   Upon receiving a login success notification as a response to the login request from the server 50, the CPU 31 subsequently transmits firmware information of the printer 10 to the server 50 (S103). When a login failure notification is received from the server 50, the user may input the login user name and password from the operation unit 36, and the login request including the input may be transmitted again.

サーバ50のCPU51は、ログイン要求を受信したときにサーバプログラム61の機能によって図7に示すサーバメイン処理を実行する。CPU51は、サーバメイン処理において、まずログインが成功したか、即ちログインユーザ名及びパスワードが予め登録されたものと一致するか、を判断する(S501)。   The CPU 51 of the server 50 executes the server main process shown in FIG. 7 by the function of the server program 61 when receiving the login request. In the server main process, the CPU 51 first determines whether the login is successful, that is, whether the login user name and password match those registered in advance (S501).

そして、CPU51は、ログインに失敗した場合(S501:NO)には、ログイン失敗通知を端末装置30に送信し(S502)、このサーバメイン処理を終了する。ログインが成功した場合(S501:YES)には、ログイン成功通知を端末装置30に送信し(S503)、続いてプリンタ10から送信されるファームウェア情報を受信する(S504)。   If the login fails (S501: NO), the CPU 51 transmits a login failure notification to the terminal device 30 (S502), and ends this server main process. If the login is successful (S501: YES), a login success notification is transmitted to the terminal device 30 (S503), and then firmware information transmitted from the printer 10 is received (S504).

ここで、HDD54には、更新情報62として、様々な機種のプリンタに対応する各種のファームウェアについて、その最新のバージョン(番号)を記録したテーブルが記憶されており、さらに更新用ファームウェア63として、それら各種のファームウェアの最新のバージョン(ファームウェアプログラム)が記憶されている。   Here, the HDD 54 stores, as update information 62, a table in which the latest versions (numbers) of various types of firmware corresponding to various types of printers are recorded. The latest versions (firmware programs) of various types of firmware are stored.

CPU51は、受信したファームウェア情報と更新情報62とから、第1ファームウェア20の新しいバージョンが存在するかを判断する(S505)。第1ファームウェア20の新しいバージョンが存在しない場合(S505:NO)には、更新不要通知を端末装置30に送信し(S506)、このサーバメイン処理を終了する。   The CPU 51 determines whether a new version of the first firmware 20 exists from the received firmware information and update information 62 (S505). If there is no new version of the first firmware 20 (S505: NO), an update unnecessary notification is transmitted to the terminal device 30 (S506), and this server main process is terminated.

ここで、HDD54には、ハッシュ値データ64として、更新用ファームウェア63に含まれるファームウェアの更新対象となる全てのバージョンのファームウェアについて、ファームウェア名、バージョン、ハッシュ値のデータが対応付けて記憶されている。ハッシュ値とは、任意の長さのデータからハッシュ関数を用いて算出される固定長のデータである。ハッシュ関数とは、ハッシュ値から元のデータを算出することが困難な一方向関数であり、MD5、SHA−1等が知られている。   Here, in the HDD 54, firmware name, version, and hash value data are stored as hash value data 64 in association with firmware of all versions to be updated of firmware included in the update firmware 63. . A hash value is fixed-length data calculated from data of an arbitrary length using a hash function. A hash function is a one-way function in which it is difficult to calculate original data from a hash value, and MD5, SHA-1, and the like are known.

ここでは、各ファームウェアのバイナリデータを所定のハッシュ関数に入力して得られたハッシュ値がハッシュ値データ64として記憶されている。例えば、ファームウェア名「AA001」の最新バージョンが「1.3」であって、その古いバージョン「1.0」「1.1」「1.2」が更新対象であるとすると、それら3つのバージョンのファームウェアからそれぞれ算出されたハッシュ値が記憶されている。   Here, a hash value obtained by inputting binary data of each firmware into a predetermined hash function is stored as hash value data 64. For example, if the latest version of the firmware name “AA001” is “1.3” and the old versions “1.0”, “1.1”, and “1.2” are to be updated, those three versions The hash value calculated from each firmware is stored.

CPU51は、第1ファームウェア20の新しいバージョンが存在する場合(S505:YES)には、ハッシュ値データ64から第1ファームウェア20のハッシュ値を取得し、さらに更新用ファームウェア63から第1ファームウェア20の新バージョンである第2ファームウェア60を取得し、取得したハッシュ値及び第2ファームウェア60を端末装置30に送信し(S507)、このサーバメイン処理を終了する。以下、このときサーバ50から送信されたハッシュ値を第2ハッシュ値という。   When a new version of the first firmware 20 exists (S505: YES), the CPU 51 acquires the hash value of the first firmware 20 from the hash value data 64, and further updates the first firmware 20 from the update firmware 63. The second firmware 60 that is a version is acquired, the acquired hash value and the second firmware 60 are transmitted to the terminal device 30 (S507), and this server main process is terminated. Hereinafter, the hash value transmitted from the server 50 at this time is referred to as a second hash value.

端末装置30のCPU31は、図3のS103において、サーバ50にファームウェア情報を送信した後、サーバ50から更新不要通知を受信した場合(S104:YES)には、第1ファームウェア20が最新バージョンであるため更新が不要である旨のメッセージを更新結果として表示部37に表示し(S105)、この更新管理処理を終了する。また、更新不要通知を受信しない場合(S104:NO)には、サーバ50から送信されるハッシュ値と第2ファームウェア60とを受信する(S106)。   When the CPU 31 of the terminal device 30 receives the update unnecessary notification from the server 50 after transmitting the firmware information to the server 50 in S103 of FIG. 3 (S104: YES), the first firmware 20 is the latest version. Therefore, a message indicating that the update is unnecessary is displayed as an update result on the display unit 37 (S105), and the update management process is terminated. If no update unnecessary notification is received (S104: NO), the hash value transmitted from the server 50 and the second firmware 60 are received (S106).

続いて、CPU31は、ファームウェアの更新の実行をユーザに確認させる実行確認画面を表示部37に表示する(S107)。そして、ユーザにより操作部36から更新の実行をキャンセルする指示が入力された場合(S107:NO)には、実行がキャンセルされた旨のメッセージを更新結果として表示部37に表示し(S105)、この更新管理処理を終了する。   Subsequently, the CPU 31 displays an execution confirmation screen for allowing the user to confirm execution of the firmware update on the display unit 37 (S107). When the user inputs an instruction to cancel the execution of the update from the operation unit 36 (S107: NO), a message indicating that the execution has been canceled is displayed on the display unit 37 as an update result (S105). This update management process is terminated.

また、CPU31は、更新を実行する指示が入力された場合(S107:YES)には、第1ファームウェア20が、更新の際に後述の更新ID(送信情報の一例)の必要な第1種のファームウェアか、更新IDの不要な第2種のファームウェアかを判断する(S108)。ここで、第2種のファームウェアは、標準のファームウェアであり、第1種のファームウェアは、標準のファームウェアに対し例えば印刷枚数を制限するなど特別な機能を加えた特殊なファームウェアである。   In addition, when an instruction to execute the update is input (S107: YES), the CPU 31 causes the first firmware 20 to use the first type that requires an update ID (an example of transmission information) to be described later. It is determined whether the firmware or the second type firmware that does not require an update ID (S108). Here, the second type firmware is standard firmware, and the first type firmware is special firmware in which a special function is added to the standard firmware, such as limiting the number of prints.

なお、本プリンタ10に対しては、第1種のファームウェアと第2種のファームウェアとのいずれもインストール可能であって、製造時に仕様に応じて第1種と第2種のいずれか一方のファームウェアがインストールされる。   It should be noted that both the first type firmware and the second type firmware can be installed in the printer 10, and either the first type firmware or the second type firmware can be installed according to the specifications at the time of manufacture. Is installed.

各ファームウェアには、例えばファームウェア名に、そのファームウェアが第1種と第2種とのいずれであるかを識別するための識別子が付与されている。CPU31は、ファームウェア情報に含まれるファームウェア名の識別子から、第1ファームウェア20が第1種のファームウェアか第2種のファームウェアかを判断する。CPU31は、第1ファームウェア20が第1種のファームウェアである場合(S108:YES)には、プリンタ10に更新指令を送信し、続いてサーバ50から受け取った第2ハッシュ値を送信する(S109)。   For example, an identifier for identifying whether the firmware is the first type or the second type is assigned to each firmware, for example. The CPU 31 determines whether the first firmware 20 is the first type firmware or the second type firmware from the firmware name identifier included in the firmware information. When the first firmware 20 is the first type firmware (S108: YES), the CPU 31 transmits an update command to the printer 10, and then transmits the second hash value received from the server 50 (S109). .

一方、プリンタ10のCPU11は、図4のS202において、端末装置30にファームウェア情報を送信した後、端末装置30から更新指令を受信したかを判断し(S203)、受信していない場合(S203:NO)には、このプリンタメイン処理を終了する。更新指令を受信した場合(S203:YES)には、第1ファームウェア20が第1種のファームウェアか第2種のファームウェアかを、既述の端末装置30と同様に判断する(S204)。   On the other hand, after transmitting the firmware information to the terminal device 30 in S202 of FIG. 4, the CPU 11 of the printer 10 determines whether an update command has been received from the terminal device 30 (S203), and if not received (S203: If NO, the printer main process is terminated. When the update command is received (S203: YES), it is determined whether the first firmware 20 is the first type firmware or the second type firmware in the same manner as the terminal device 30 described above (S204).

そして、CPU11は、第1ファームウェア20が第1種のファームウェアである場合(S204:YES)には、制限付き更新処理(第1更新処理、第3更新処理の一例)を実行する(S205)。   Then, when the first firmware 20 is the first type firmware (S204: YES), the CPU 11 executes a limited update process (an example of the first update process and the third update process) (S205).

CPU11は、図5に示す制限付き更新処理において、まず端末装置30から更新指令に続いて送信される第2ハッシュ値を受信する(S301)。続いて、EEPROM13に記憶される第1ファームウェア20からハッシュ値(第1ハッシュ値)を算出する(S302)。このとき、ハッシュ関数として、サーバ50に記憶された第2ハッシュ値を算出するために用いられたハッシュ関数と同一のものを用いる。   In the restricted update process shown in FIG. 5, the CPU 11 first receives the second hash value transmitted from the terminal device 30 following the update command (S301). Subsequently, a hash value (first hash value) is calculated from the first firmware 20 stored in the EEPROM 13 (S302). At this time, the same hash function as that used to calculate the second hash value stored in the server 50 is used as the hash function.

続いて、CPU11は、算出された第1ハッシュ値と、端末装置30から受信した第2ハッシュ値とを比較する(S303)。そして、両ハッシュ値が一致しない場合(S303:NO)には、更新不許可通知を端末装置30に送信し(S304)、ファームウェアの更新を行わずにこの制限付き更新処理を終了する。   Subsequently, the CPU 11 compares the calculated first hash value with the second hash value received from the terminal device 30 (S303). If the two hash values do not match (S303: NO), an update disapproval notification is transmitted to the terminal device 30 (S304), and the limited update process is terminated without updating the firmware.

また、CPU11は、第1ハッシュ値と第2ハッシュ値とが一致する場合(S303:YES)には、確認許可通知を端末装置30に送信する(S305)。続いて、CPU11は、プリンタ10を識別するための識別情報として、更新ID(送信情報の一例)を生成し、端末装置30に送信する(S306)。この更新IDは、例えば、プリンタ10のシリアル番号等のプリンタ10の固有値を用いて生成しても良く、あるいは乱数等を用いて生成してもよい。   Further, when the first hash value matches the second hash value (S303: YES), the CPU 11 transmits a confirmation permission notice to the terminal device 30 (S305). Subsequently, the CPU 11 generates an update ID (an example of transmission information) as identification information for identifying the printer 10 and transmits the update ID to the terminal device 30 (S306). This update ID may be generated using a unique value of the printer 10 such as a serial number of the printer 10, or may be generated using a random number or the like.

端末装置30のCPU31は、図3のS109にて、プリンタ10に第2ハッシュ値を送信した後、プリンタ10から更新許可通知を受けたかを判断し(S110)、更新不許可通知を受けた場合(S110:NO)には、更新が許可されなかった旨のメッセージを更新結果として表示部37に表示し(S105)、この更新管理処理を終了する。   When the CPU 31 of the terminal device 30 transmits the second hash value to the printer 10 in S109 of FIG. 3, the CPU 31 determines whether an update permission notification is received from the printer 10 (S110). In (S110: NO), a message indicating that the update is not permitted is displayed on the display unit 37 as an update result (S105), and the update management process is terminated.

また、CPU31は、更新許可通知を受けた場合(S110:YES)には、続いてプリンタ10から送信される更新IDを受信する(S111)。続いて、CPU11は、受信した更新IDとともに第2ファームウェア60をプリンタ10に送信する(S112)。   Further, when receiving an update permission notification (S110: YES), the CPU 31 subsequently receives an update ID transmitted from the printer 10 (S111). Subsequently, the CPU 11 transmits the second firmware 60 together with the received update ID to the printer 10 (S112).

一方、プリンタ10のCPU11は、図5のS306にて、更新IDを送信した後、端末装置30から第2ファームウェア60と更新IDとを受信したかを判断し(S307)、受信していない場合(S307:NO)には、更新IDの送信後から所定のタイムアウト時間が経過したかを判断する(S308)。   On the other hand, the CPU 11 of the printer 10 determines whether or not the second firmware 60 and the update ID are received from the terminal device 30 after transmitting the update ID in S306 of FIG. 5 (S307). In (S307: NO), it is determined whether or not a predetermined timeout period has elapsed since the transmission of the update ID (S308).

CPU11は、タイムアウト時間が経過していない場合(S308:NO)には、S307に戻って同様の処理を繰り返すことにより第2ファームウェア60及び更新IDの受信を待機する。第2ファームウェア及び更新IDを受信しないままタイムアウト時間が経過した場合(S308:YES)には、この制限付き更新処理を終了する。   If the time-out period has not elapsed (S308: NO), the CPU 11 returns to S307 and repeats the same processing to wait for the reception of the second firmware 60 and the update ID. If the timeout time has elapsed without receiving the second firmware and the update ID (S308: YES), the restricted update process is terminated.

CPU11は、端末装置30から第2ファームウェア60と更新IDとを受信した場合(S307:YES)、受信した更新IDがS306にて送信した更新IDと一致するかを判断する(S309)。そして、両更新IDが互いに一致しない場合(S309:NO)には、更新失敗通知を端末装置30に送信し(S310)、この制限付き更新処理を終了する。   When receiving the second firmware 60 and the update ID from the terminal device 30 (S307: YES), the CPU 11 determines whether or not the received update ID matches the update ID transmitted in S306 (S309). If the two update IDs do not match each other (S309: NO), an update failure notification is transmitted to the terminal device 30 (S310), and this restricted update process is terminated.

また、CPU11は、両更新IDが互いに一致する場合(S309:YES)には、EEPROM13に記憶されている第1ファームウェア20を第2ファームウェア60に書き換える(S311)。そして、更新完了通知を端末装置30に送信し(S312)、この制限付き更新処理を終了する。   If both update IDs match each other (S309: YES), the CPU 11 rewrites the first firmware 20 stored in the EEPROM 13 with the second firmware 60 (S311). Then, an update completion notification is transmitted to the terminal device 30 (S312), and this restricted update process is terminated.

端末装置30のCPU31は、図3のS108にて、第1ファームウェア20が第2種のファームウェアであると判断した場合(S108:NO)には、第2ファームウェア60をプリンタ10に送信する(S113)。即ち、この場合には、第2ハッシュ値及び更新IDが端末装置30からプリンタ10に送信されない。   If the CPU 31 of the terminal device 30 determines in S108 of FIG. 3 that the first firmware 20 is the second type of firmware (S108: NO), the CPU 31 transmits the second firmware 60 to the printer 10 (S113). ). That is, in this case, the second hash value and the update ID are not transmitted from the terminal device 30 to the printer 10.

一方、プリンタ10のCPU11は、図4のS204にて第1ファームウェア20が第2種のファームウェアであると判断した場合(S204:NO)には、非制限更新処理(第2更新処理、第4更新処理の一例)を実行する(S206)。   On the other hand, if the CPU 11 of the printer 10 determines that the first firmware 20 is the second type firmware in S204 of FIG. 4 (S204: NO), the unrestricted update process (second update process, fourth update process) An example of update processing is executed (S206).

CPU11は、図6に示す非制限更新処理において、端末装置30から第2ファームウェアを受信したかを判断し(S401)、受信していない場合(S401:NO)には、この非制限更新処理を開始してから所定のタイムアウト時間が経過したかを判断する(S402)。タイムアウト時間が経過していない場合(S402:NO)には、S401に戻って同様の処理を繰り返すことにより、第2ファームウェアの受信を待機する。第2ファームウェアを受信する前にタイムアウト時間が経過した場合(S402:YES)には、この非制限更新処理を終了する。   The CPU 11 determines whether or not the second firmware has been received from the terminal device 30 in the unrestricted update process shown in FIG. 6 (S401). If not received (S401: NO), the unrestricted update process is performed. It is determined whether a predetermined timeout time has elapsed since the start (S402). If the time-out period has not elapsed (S402: NO), the process returns to S401 and repeats the same processing to wait for the reception of the second firmware. If the timeout time elapses before receiving the second firmware (S402: YES), this non-restricted update process is terminated.

CPU11は、第2ファームウェア60を受信した場合(S401:YES)には、その第2ファームウェア60が第1種のファームウェアであるか第2種のファームウェアであるかを判断する(S403)。受信した第2ファームウェア60が第1種のファームウェアである場合(S403:YES)には、何らかの事情で第1ファームウェア20と対応しないファームウェアを受信したと考えられる。このため、更新を行わずに、更新失敗通知を端末装置30に送信し(S404)、この非制限更新処理を終了する。   When receiving the second firmware 60 (S401: YES), the CPU 11 determines whether the second firmware 60 is the first type firmware or the second type firmware (S403). When the received second firmware 60 is the first type firmware (S403: YES), it is considered that the firmware not corresponding to the first firmware 20 has been received for some reason. For this reason, an update failure notification is transmitted to the terminal device 30 without updating (S404), and this unrestricted update process is terminated.

また、CPU11は、第2ファームウェア60が第2種のファームウェアである場合(S403:NO)には、EEPROM13に記憶される第1ファームウェア20を第2ファームウェア60に書き換える(S405)。そして、更新完了通知を端末装置30に送信し(S406)、この非制限更新処理を終了する。なお、S403及びS404を省略し、第2ファームウェア60を受信した場合(S401:YES)に常にファームウェアの更新を行う(S405)ようにしてもよい。   Further, when the second firmware 60 is the second type firmware (S403: NO), the CPU 11 rewrites the first firmware 20 stored in the EEPROM 13 with the second firmware 60 (S405). Then, an update completion notification is transmitted to the terminal device 30 (S406), and this non-restricted update process is terminated. Note that S403 and S404 may be omitted, and the firmware may be constantly updated (S405) when the second firmware 60 is received (S401: YES).

端末装置30では、図3のS112またはS113にて第2ファームウェアをプリンタ10に送信した後、図5または図6のS310,S312,S404,またはS406におけるプリンタ10から更新結果(更新完了通知または更新失敗通知)を受信する(S114)。そして、その更新結果を第1ファームウェア20、第2ファームウェア60のファームウェア情報やプリンタ10の識別情報等とともにサーバ50に送信する(S115)。サーバ50のCPU51は、端末装置30から更新結果を受信すると、その更新結果を更新結果管理データ64に記録し、正常に記録できたか否かを示すOKまたはNGの情報を端末装置30に送信する。   The terminal device 30 transmits the second firmware to the printer 10 in S112 or S113 of FIG. 3, and then the update result (update completion notification or update) from the printer 10 in S310, S312, S404, or S406 of FIG. Failure notification) is received (S114). Then, the update result is transmitted to the server 50 together with the firmware information of the first firmware 20 and the second firmware 60 and the identification information of the printer 10 (S115). When receiving the update result from the terminal device 30, the CPU 51 of the server 50 records the update result in the update result management data 64, and transmits OK or NG information indicating whether or not the update was successfully recorded to the terminal device 30. .

端末装置30のCPU31は、サーバ50に更新結果を送信した後、プリンタ10から受信した更新結果に基づいて表示部37に更新の成功または失敗を表示部37に表示し(S105)、この更新管理処理を終了する。   After transmitting the update result to the server 50, the CPU 31 of the terminal device 30 displays the update success or failure on the display unit 37 based on the update result received from the printer 10 (S105). End the process.

(実施形態1の効果)
以上のように本実施形態によれば、端末装置30からの更新IDを受信した場合にファームウェアを更新する制限付き更新処理(第1更新処理)と、更新IDの受信にかかわらずファームウェアを更新する非制限更新処理(第2更新処理)と、を第1ファームウェア20の種類に応じて切り替えて実行するため、ファームウェアの種類に応じて更新を制限することができる。第1ファームウェア20が第1種のファームウェアである場合には、その更新に更新IDが必要となるため、よりセキュリティ性を高めることができる。
(Effect of Embodiment 1)
As described above, according to the present embodiment, the limited update process (first update process) for updating the firmware when the update ID is received from the terminal device 30, and the firmware is updated regardless of the reception of the update ID. Since the non-restricted update process (second update process) is executed by switching according to the type of the first firmware 20, the update can be limited according to the type of firmware. When the first firmware 20 is the first type firmware, an update ID is required for the update, and thus the security can be further improved.

また、更新IDがプリンタ10によって生成された認証情報であって、その更新IDを受信した場合にファームウェアを更新することによって、ファームウェアの更新の制限を行うことができる。例えば、プリンタ10が別の更新IDを受信したときにファームウェアが更新されることが防止される。   In addition, when the update ID is authentication information generated by the printer 10 and the update ID is received, the firmware can be updated by updating the firmware. For example, the firmware is prevented from being updated when the printer 10 receives another update ID.

また、制限付き更新処理を実行する際に、プリンタ10が更新IDを端末装置30に送信してから所定期間内に更新IDを受信した場合にファームウェアを更新し、所定期間外に受信した場合には更新しない。これにより、ファームウェアの更新のために更新IDを受信する期間が限定されるため、セキュリティ性をより高めることができる。   Further, when executing the limited update process, when the printer 10 updates the firmware when receiving the update ID within a predetermined period after transmitting the update ID to the terminal device 30, and when receiving the update ID outside the predetermined period Will not be updated. Thereby, since the period for receiving the update ID for firmware update is limited, the security can be further improved.

また、第1ファームウェア20から算出した第1ハッシュ値と外部から受信した第2ハッシュ値とが一致しないと更新IDがプリンタ10から送信されないため、ファームウェアの更新が実行される条件を制限することができる。   In addition, if the first hash value calculated from the first firmware 20 and the second hash value received from the outside do not match, the update ID is not transmitted from the printer 10, so that the conditions for updating the firmware may be limited. it can.

即ち、第1ファームウェア20が第1種のファームウェアである場合に、第1ファームウェア20を更新するには、端末装置30がサーバ50から第2ファームウェア60とともに取得した第2ハッシュ値が必要になる。従って、第1ファームウェア20が、第1ファームウェア20と対応しない別の種類のファームウェアに書き換えられる可能性を低減できる。   That is, when the first firmware 20 is the first type of firmware, the second hash value acquired by the terminal device 30 from the server 50 together with the second firmware 60 is necessary to update the first firmware 20. Therefore, it is possible to reduce the possibility that the first firmware 20 is rewritten with another type of firmware that does not correspond to the first firmware 20.

また、端末装置30において、プリンタ10にインストールされた第1ファームウェア20が第1種のファームウェアか否かを判断し、第1種のファームウェアと判断した場合に第2ハッシュ値をプリンタ10に送信する。これにより、第1ファームウェアの種類に応じて、第2ハッシュ値がプリンタ10において更新のために必要な場合にのみ第2ハッシュ値を送信することができる。   Further, the terminal device 30 determines whether or not the first firmware 20 installed in the printer 10 is the first type firmware, and transmits the second hash value to the printer 10 when determining that the first type firmware is the first type firmware. . Accordingly, the second hash value can be transmitted only when the second hash value is necessary for updating in the printer 10 according to the type of the first firmware.

また、端末装置30において、プリンタ10にインストールされた第1ファームウェア20が第1種のファームウェアか否かを判断し、第1種のファームウェアと判断した場合に更新IDをプリンタ10に送信する。これにより、第1ファームウェアの種類に応じて、更新IDがプリンタ10において更新のために必要な場合にのみ更新IDを送信することができる。   Further, the terminal device 30 determines whether or not the first firmware 20 installed in the printer 10 is the first type firmware, and transmits the update ID to the printer 10 when determining that the first type firmware is the first type firmware. Accordingly, the update ID can be transmitted only when the update ID is necessary for updating in the printer 10 according to the type of the first firmware.

また、サーバ50において、複数のファームウェアの識別情報と、各ファームウェアのハッシュ値とを対応付けて記憶し、端末装置30から受信したファームウェア情報に対応する第2ハッシュ値を端末装置30に送信する。これにより、端末装置30が第2ハッシュ値を取得し、プリンタ10に送信することができる。   Further, the server 50 stores the identification information of the plurality of firmware and the hash value of each firmware in association with each other, and transmits the second hash value corresponding to the firmware information received from the terminal device 30 to the terminal device 30. Accordingly, the terminal device 30 can acquire the second hash value and transmit it to the printer 10.

<実施形態2>
次に本発明の実施形態2について図8及び図9を参照して説明する。
上記実施形態では、端末装置30の管理アプリケーション40によって、サーバ50から第2ファームウェア60及び第2ハッシュ値を取得して更新を行うものを示したが、本実施形態では、第2ファームウェア60や第2ハッシュ値をユーザが別途入手して更新を行うものを示す。
<Embodiment 2>
Next, a second embodiment of the present invention will be described with reference to FIGS.
In the above embodiment, the second firmware 60 and the second hash value are acquired from the server 50 and updated by the management application 40 of the terminal device 30. However, in the present embodiment, the second firmware 60 and the second hash value are updated. 2 Indicates that the user separately obtains and updates the hash value.

(ファームウェアの更新動作)
図8は、本実施形態における更新管理処理のフローチャートであり、図9は、ファイル指定画面80を示す図である。
本実施形態におけるプリンタ10及び端末装置30の構成は、図1と同様であり、以下の説明において、図1と同一の構成には同一の符号を付して説明を省略する。なお、本実施形態では、サーバ50を設けなくてもよい。また、プリンタ10のCPU11は、図4から図6とほぼ同様の処理を実行するため、説明を省略する。
(Firmware update operation)
FIG. 8 is a flowchart of the update management process in the present embodiment, and FIG.
The configurations of the printer 10 and the terminal device 30 in the present embodiment are the same as those in FIG. 1. In the following description, the same components as those in FIG. In the present embodiment, the server 50 may not be provided. Further, the CPU 11 of the printer 10 executes processing substantially similar to that shown in FIGS.

端末装置30において、ユーザが管理アプリケーションを起動させ、プリンタ10のファームウェアの更新を指示すると、CPU31は、図8に示す手動更新処理を実行する。この手動更新処理により更新を行うには、ユーザが第2ファームウェア60と、必要に応じて第1ファームウェア20のハッシュ値とを用意する。第2ファームウェア60やハッシュ値は、サーバ50からダウンロードできるようにしても良く、CD−ROM等の記憶媒体に記録したものを配布してもよいが、少なくともハッシュ値については、管理権限のある者しか入手できないようにダウンロードや配布を制限することが望ましい。   In the terminal device 30, when the user activates the management application and instructs to update the firmware of the printer 10, the CPU 31 executes a manual update process shown in FIG. In order to perform the update by the manual update process, the user prepares the second firmware 60 and the hash value of the first firmware 20 as necessary. The second firmware 60 and the hash value may be downloaded from the server 50, or may be distributed on a storage medium such as a CD-ROM, but at least the hash value must have a management authority. It is desirable to restrict downloads and distribution so that they are only available.

CPU31は、手動更新処理を開始すると、まずプリンタ10にファームウェア情報の要求を送信し、その応答として第1ファームウェア20のファームウェア情報を受信する(S601)。続いて、受信したファームウェア情報から第1ファームウェア20が第1種のファームウェアであるか第2種のファームウェアであるかを判断する(S602)。   When the manual update process is started, the CPU 31 first transmits a firmware information request to the printer 10 and receives the firmware information of the first firmware 20 as a response (S601). Subsequently, it is determined from the received firmware information whether the first firmware 20 is the first type firmware or the second type firmware (S602).

CPU31は、第1ファームウェア20が第1種のファームウェアである場合(S602:YES)には、図9に示す第1ファイル指定画面80を表示部37に表示する(S603)。この第1ファイル指定画面80は、第1種のファームウェアを更新するために必要なファイルを指定するための画面であって、ファームウェア指定部81、ハッシュ値指定部82、OKボタン83等を備えている。   When the first firmware 20 is the first type firmware (S602: YES), the CPU 31 displays the first file designation screen 80 shown in FIG. 9 on the display unit 37 (S603). The first file designation screen 80 is a screen for designating a file necessary for updating the first type of firmware, and includes a firmware designation unit 81, a hash value designation unit 82, an OK button 83, and the like. Yes.

ファームウェア指定部81及びハッシュ値指定部82では、それぞれユーザが操作部36を用いて、ファームウェアファイル、ハッシュ値ファイルのアドレス(格納場所と名称)を指定することができる。これらのファイルの格納場所としては、例えば、HDD34上やネットワーク回線70に接続された他の端末装置や記憶媒体(図示せず)上のディレクトリを指定することができる。また、端末装置30に例えばUSBインターフェース(図示せず)を設けた場合に、そのUSBインターフェースに接続したUSBメモリ等の記憶媒体上を格納場所として指定してもよい。   In the firmware designation unit 81 and the hash value designation unit 82, the user can designate the address (storage location and name) of the firmware file and the hash value file using the operation unit 36, respectively. As the storage location of these files, for example, a directory on another terminal device or storage medium (not shown) connected to the HDD 34 or the network line 70 can be designated. For example, when the terminal device 30 is provided with a USB interface (not shown), the storage location may be designated on a storage medium such as a USB memory connected to the USB interface.

ユーザが上記2つのファイルのアドレスを指定した後、操作部36により第1ファイル指定画面80のOKボタン83をクリックすると、CPU31は、ハッシュ値指定部82で指定されたハッシュ値ファイルを読み込み、そのハッシュ値ファイルのハッシュ値を第2ハッシュ値として更新指令とともにプリンタ10に送信する(S604)。   After the user designates the addresses of the two files, when the operation unit 36 clicks the OK button 83 on the first file designation screen 80, the CPU 31 reads the hash value file designated by the hash value designation unit 82, The hash value of the hash value file is transmitted to the printer 10 together with the update command as the second hash value (S604).

プリンタ10のCPU11は、既述のように、更新指令を受信し、第1ファームウェア20が第1種のファームウェアと判断すれば、第1ファームウェア20から算出した第1ハッシュ値と端末装置30から受信した第2ハッシュ値とが一致するかを判断する。そして、両者が一致する場合に更新許可通知を、一致しない場合に更新不許可通知を送信する(図4、図5)。   As described above, the CPU 11 of the printer 10 receives the update command and receives the first hash value calculated from the first firmware 20 and the terminal device 30 if the first firmware 20 determines that the firmware is the first type firmware. It is determined whether the second hash value matches. Then, an update permission notification is transmitted when the two match, and an update non-permission notification is transmitted when they do not match (FIGS. 4 and 5).

端末装置30のCPU31は、プリンタ10から更新不許可通知を受けた場合(S605:NO)には、更新が許可されなかった旨の更新結果を表示部37に表示して(S606)、この手動更新処理を終了する。また、更新許可通知を受けた場合(S605:YES)には、続いてプリンタ10から送信される更新IDを受信する(S607)。   When the CPU 31 of the terminal device 30 receives an update disapproval notification from the printer 10 (S605: NO), the CPU 31 displays an update result indicating that the update is not permitted on the display unit 37 (S606). The update process ends. If an update permission notification is received (S605: YES), an update ID transmitted from the printer 10 is subsequently received (S607).

そして、CPU31は、ファームウェア指定部81で指定されるファームウェアファイルを読み込み、そのファームウェアファイルを第2ファームウェア60として更新IDとともにプリンタ10に送信する(S608)。   Then, the CPU 31 reads the firmware file designated by the firmware designation unit 81 and transmits the firmware file as the second firmware 60 together with the update ID to the printer 10 (S608).

また、CPU31は、S602において、第1ファームウェア20が第2種のファームウェアである場合(S602:NO)には、第2種のファームウェアを更新するために必要なファイルを指定する第2ファイル指定画面(図示せず)を表示部37に表示する(S609)。この第2ファイル指定画面は、前述の第1種のファームウェアを更新するための第1ファイル指定画面80からハッシュ値指定部82を除いたものであり、他は同様である。   Further, when the first firmware 20 is the second type firmware in S602 (S602: NO), the CPU 31 designates a second file designation screen for designating a file necessary for updating the second type firmware. (Not shown) is displayed on the display unit 37 (S609). This second file designation screen is obtained by removing the hash value designation unit 82 from the first file designation screen 80 for updating the first type of firmware described above, and the others are the same.

ユーザがファームウェア指定部81にファームウェアファイルのアドレスを指定した後、操作部36により第2ファイル指定画面のOKボタン83をクリックすると、CPU31は、ファームウェア指定部81で指定されたファームウェアファイルを読み込み、そのファームウェアファイルを第2ファームウェア60として更新指令とともにプリンタ10に送信する(S610)。   After the user designates the address of the firmware file in the firmware designation unit 81, when the user clicks the OK button 83 on the second file designation screen by the operation unit 36, the CPU 31 reads the firmware file designated by the firmware designation unit 81, The firmware file is transmitted to the printer 10 together with the update command as the second firmware 60 (S610).

S608またはS610にて、プリンタ10に第2ファームウェア60を送信した後、CPU31は、プリンタ10から送信される更新結果を受信し(S611)、更新結果を表示部37に表示し(S606)、この手動更新処理を終了する。   After transmitting the second firmware 60 to the printer 10 in S608 or S610, the CPU 31 receives the update result transmitted from the printer 10 (S611), and displays the update result on the display unit 37 (S606). The manual update process ends.

(実施形態2の効果)
以上のように本実施形態によれば、第1ファームウェア20が第2種のファームウェアである場合には、第2ファームウェア60のみを用いて更新を行うことができるのに対し、第1ファームウェア20が第1種のファームウェアである場合には、第2ファームウェア60と第1ファームウェア20のハッシュ値とが必要になる。これにより、ファームウェアの種類に応じて更新を制限することができる。
(Effect of Embodiment 2)
As described above, according to the present embodiment, when the first firmware 20 is the second type firmware, the update can be performed using only the second firmware 60, whereas the first firmware 20 In the case of the first type firmware, the second firmware 60 and the hash value of the first firmware 20 are required. Thereby, updating can be restricted according to the type of firmware.

即ち、第1種のファームウェアを更新する場合には、制限を加えることでセキュリティ性を高めることができ、第2種のファームウェアを更新する場合には、より簡易に行うことができる。   That is, when updating the first type of firmware, security can be improved by adding a restriction, and when updating the second type of firmware, it can be performed more easily.

また、端末装置30がサーバ50に接続されていない環境でもファームウェアの更新を実行することができる。   The firmware can be updated even in an environment where the terminal device 30 is not connected to the server 50.

<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
<Other embodiments>
The present invention is not limited to the embodiments described with reference to the above description and drawings. For example, the following embodiments are also included in the technical scope of the present invention.

(1)上記実施形態では、端末装置30からプリンタ10に第2ファームウェア60を送信するものを示したが、本発明によれば、プリンタ10に例えばUSBメモリやメモリカード等の可搬記憶媒体を接続可能なインターフェースを設けて、そこに第2ファームウェア60を記憶した可搬記憶媒体を接続し、CPU11が、端末装置30から送信情報を受信したことに応じて可搬記憶媒体から第2ファームウェア60を読み出して、第1ファームウェア20を第2ファームウェア60に書き換えてもよい。尚、この場合も、第1のファームウェアが第1種のファームウェアであるときは、上記実施形態と同様にハッシュ値が必要である。 (1) In the above embodiment, the second firmware 60 is transmitted from the terminal device 30 to the printer 10. However, according to the present invention, a portable storage medium such as a USB memory or a memory card is attached to the printer 10. A connectable interface is provided, a portable storage medium storing the second firmware 60 is connected thereto, and the second firmware 60 is transferred from the portable storage medium in response to the CPU 11 receiving transmission information from the terminal device 30. And the first firmware 20 may be rewritten to the second firmware 60. In this case as well, when the first firmware is the first type of firmware, a hash value is required as in the above embodiment.

(2)上記実施形態では、プリンタ10及び端末装置30の両方で第1ファームウェア20が第1種のファームウェアであるかを判断するものを示したが、端末装置30ではファームウェアの種類を判断しない構成としてもよい。この場合、例えば、端末装置30から第1ファームウェアの種類にかかわらずプリンタ10にハッシュ値を送信し、プリンタ10側で受信したハッシュ値から更新IDを生成するか否かを切り替える構成としてもよい。 (2) In the above embodiment, the printer 10 and the terminal device 30 both determine whether the first firmware 20 is the first type firmware. However, the terminal device 30 does not determine the type of firmware. It is good. In this case, for example, a hash value may be transmitted from the terminal device 30 to the printer 10 regardless of the type of the first firmware, and whether to generate an update ID from the hash value received on the printer 10 side may be switched.

また、サーバ50において、CPU51がファームウェア情報から第1ファームウェア20が第1種か第2種かを判断し、第1種である場合にのみハッシュ値を端末装置30に送信する構成としてもよい。   In the server 50, the CPU 51 may determine whether the first firmware 20 is the first type or the second type from the firmware information, and the hash value may be transmitted to the terminal device 30 only when it is the first type.

また、プリンタ10及び端末装置30のうちいずれか一方のCPU(11または31)が第1ファームウェアの種類を判断して、その判断結果を他方側に伝達し、他方側のCPU(11または31)は、その判断結果に従って動作を行ってもよい。   Also, either the CPU (11 or 31) of the printer 10 and the terminal device 30 determines the type of the first firmware, transmits the determination result to the other side, and the CPU (11 or 31) on the other side. May operate according to the determination result.

(3)上記実施形態では、第1種のファームウェアを更新するための送信情報として、プリンタ10が生成した更新IDを用いるものを示したが、本発明によれば、デバイスが生成していない送信情報を用いてもよく、例えば、デバイスに予め記憶された所定の識別情報を含む情報を送信情報としてもよい。また、端末装置30やサーバ50にデバイスに対応しデバイスを識別するための識別情報を記憶しておき、それを送信情報としてデバイスに送信してもよい。 (3) In the above embodiment, as the transmission information for updating the first type firmware, the information using the update ID generated by the printer 10 is shown. However, according to the present invention, the transmission not generated by the device is performed. Information may be used. For example, information including predetermined identification information stored in advance in the device may be used as transmission information. Further, identification information for identifying the device corresponding to the device may be stored in the terminal device 30 or the server 50 and transmitted to the device as transmission information.

(4)上記実施形態では、1台のプリンタ10に対してファームウェアの更新を行うものを示したが、端末装置30から複数台のプリンタの更新を行うようにしてもよい。例えば、端末装置30のCPU31が、1台のプリンタ10の更新の際にサーバ50から取得したファームウェアやハッシュ値をHDD34に記憶しておき、同じファームウェアまたはハッシュ値を適用できる他のプリンタの更新を行う際には、それらを再度サーバ50から取得せずに、HDD34から読み出して各プリンタに送信するようにしてもよい。但し、ファームウェアの更新を終了した後は、HDD34からハッシュ値を消去することが望ましい。 (4) In the above embodiment, the firmware update for one printer 10 is shown. However, a plurality of printers may be updated from the terminal device 30. For example, the CPU 31 of the terminal device 30 stores firmware and hash values acquired from the server 50 when updating one printer 10 in the HDD 34 and updates other printers to which the same firmware or hash value can be applied. When performing, they may be read from the HDD 34 and transmitted to each printer without acquiring them from the server 50 again. However, it is desirable to delete the hash value from the HDD 34 after the firmware update is completed.

(5)上記実施形態では、プリンタ10において、第1受信制御部、更新制御部、生成部、第1送信制御部、算出部、第2受信制御部をいずれも同じCPU11によって実現するものを示したが、本発明によれば、これらは、互いに別のCPU、若しくはASICやその他の回路によって構成することができる。 (5) In the above embodiment, in the printer 10, the first reception control unit, the update control unit, the generation unit, the first transmission control unit, the calculation unit, and the second reception control unit are all realized by the same CPU 11. However, according to the present invention, these can be configured by different CPUs, ASICs, or other circuits.

同様に、上記実施形態では、端末装置30において、判断部、第2送信制御部、第4送信制御部、第5送信制御部をいずれも同じCPU31によって実現し、サーバ50において、第3受信制御部、第3送信制御部をいずれも同じCPU51によって実現するものを示したが、これらは、それぞれ互いに別のCPU、若しくはASICやその他の回路によって構成することができる。   Similarly, in the above-described embodiment, in the terminal device 30, the determination unit, the second transmission control unit, the fourth transmission control unit, and the fifth transmission control unit are all realized by the same CPU 31, and the server 50 performs the third reception control. In the above description, the first and third transmission control units are realized by the same CPU 51. However, they can be configured by different CPUs, ASICs, or other circuits.

(6)上記実施形態では、プリンタのファームウェアを更新する例を示したが、本発明は、例えば、スキャナ装置、ファクシミリ装置、デジタルカメラなどの各種のデバイスのファームウェアを更新する技術に適用することができる。 (6) In the above embodiment, an example of updating the firmware of the printer has been shown. However, the present invention can be applied to a technique for updating the firmware of various devices such as a scanner device, a facsimile device, and a digital camera. it can.

(7)上記実施形態では、端末装置30でプリンタ10のファームウェアが第1種ファームウェアであるか第2種ファームウェアであるかを判断して、その判断結果に応じて、プリンタ10に送信する情報を切り替えている。端末装置30は、プリンタのファームウェアの種別を判断しなくてもよい。端末装置30は、プリンタ10のファームウェアの種別にかかわらず、プリンタ10に第2ファームウェアと第2ハッシュ値や更新IDを送信すればよい。 (7) In the above embodiment, the terminal device 30 determines whether the firmware of the printer 10 is the first type firmware or the second type firmware, and the information to be transmitted to the printer 10 is determined according to the determination result. Switching. The terminal device 30 may not determine the type of printer firmware. The terminal device 30 may transmit the second firmware, the second hash value, and the update ID to the printer 10 regardless of the type of firmware of the printer 10.

プリンタ10は、端末装置30から第2ファームウェア等を受信すると、インストールされているファームウェアが第1種ファームウェアであるか第2種のファームウェアであるかを判断し、判断の結果、第1種ファームウェアであれば、受信した第2ハッシュ値や更新IDに基づく判断結果に応じて、受信した第2ファームウェアに更新するかを決定してもよい。   Upon receiving the second firmware or the like from the terminal device 30, the printer 10 determines whether the installed firmware is the first type firmware or the second type firmware, and as a result of the determination, the printer 10 uses the first type firmware. If there is, it may be determined whether to update to the received second firmware according to the determination result based on the received second hash value or update ID.

(8)更新IDは、プリンタ10の固有値と時刻情報を用いて生成したワンタイムパスワードであってもよい。例えば、端末装置30からユーザの操作により所定のタイミングにてファームウェアが更新できる場合であっても、プリンタ10に更新IDと第2ファームウェアとを送信すべきタイミングにて過去に取得した更新IDを第2ファームウェアとともに送信した場合であっても、適切にファームウェアの更新を制限することができる。 (8) The update ID may be a one-time password generated using the unique value of the printer 10 and time information. For example, even if the firmware can be updated at a predetermined timing by a user operation from the terminal device 30, the update ID acquired in the past at the timing when the update ID and the second firmware should be transmitted to the printer 10 Even when it is transmitted together with two firmwares, the firmware update can be appropriately restricted.

10…プリンタ、11…CPU、13…EEPROM、20…第1ファームウェア、30…端末装置、31…CPU、34…HDD34、40…管理アプリケーション、50…サーバ、51…CPU、54…HDD、60…第2ファームウェア DESCRIPTION OF SYMBOLS 10 ... Printer, 11 ... CPU, 13 ... EEPROM, 20 ... 1st firmware, 30 ... Terminal device, 31 ... CPU, 34 ... HDD34, 40 ... Management application, 50 ... Server, 51 ... CPU, 54 ... HDD, 60 ... Second firmware

Claims (10)

端末装置と接続されるデバイスであって、
当該デバイスにインストールされている第1ファームウェアを記憶するデバイス記憶部と、
前記端末装置から送信される送信情報を受信する第1受信制御部と、
前記第1ファームウェアが、更新の際に前記送信情報の必要な第1種のファームウェアである場合に、前記第1受信制御部が前記送信情報を受信したことに応じて前記デバイス記憶部に記憶される前記第1ファームウェアを第2ファームウェアに更新する第1更新処理と、前記第1ファームウェアが、更新の際に前記送信情報の不要な第2種のファームウェアである場合に、前記第1受信制御部が前記送信情報を受信したかにかかわらず前記第1ファームウェアを前記第2ファームウェアに更新する第2更新処理と、を実行する更新制御部と、
を備えるデバイス。
A device connected to a terminal device,
A device storage unit for storing the first firmware installed in the device;
A first reception control unit for receiving transmission information transmitted from the terminal device;
When the first firmware is the first type of firmware that requires the transmission information at the time of update, the first reception control unit stores the transmission information in response to the reception of the transmission information. A first update process for updating the first firmware to a second firmware, and the first reception control unit when the first firmware is a second type of firmware that does not require transmission information at the time of update. An update control unit that executes a second update process for updating the first firmware to the second firmware regardless of whether the transmission information is received;
A device comprising:
請求項1に記載のデバイスであって、
前記送信情報は、当該デバイスを識別するための識別情報であり、
前記送信情報を前記端末装置に送信する第1送信制御部と、
をさらに備えるデバイス。
The device of claim 1, comprising:
The transmission information is identification information for identifying the device,
A first transmission control unit for transmitting the transmission information to the terminal device;
A device further comprising:
請求項2に記載のデバイスであって、
前記更新制御部は、前記第1更新処理を実行する際に、前記第1送信制御部が前記送信情報を前記端末装置に送信してから所定期間内に前記送信情報を受信した場合には、前記第1ファームウェアを前記第2ファームウェアに更新し、前記所定時間外に前記送信情報を受信した場合には、前記第1ファームウェアを前記第2ファームウェアに更新しない、デバイス。
The device of claim 2, comprising:
The update control unit, when executing the first update process, when the first transmission control unit receives the transmission information within a predetermined period after the transmission information is transmitted to the terminal device, A device that updates the first firmware to the second firmware and does not update the first firmware to the second firmware when the transmission information is received outside the predetermined time.
請求項2または請求項3に記載のデバイスであって、
前記デバイス記憶部に記憶される前記第1ファームウェアから所定のハッシュ関数により第1ハッシュ値を算出する算出部と、
前記第1ファームウェアに基づく第2ハッシュ値を外部から受信する第2受信制御部と、
前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合に、前記送信情報を生成する生成部と、
をさらに備え、
前記第1ハッシュ値と前記第2ハッシュ値とが一致しない場合に、前記第1送信制御部が前記送信情報を送信しない、デバイス。
A device according to claim 2 or claim 3, wherein
A calculation unit that calculates a first hash value from the first firmware stored in the device storage unit using a predetermined hash function;
A second reception control unit for receiving a second hash value based on the first firmware from the outside;
A generator that generates the transmission information when the first hash value and the second hash value match;
Further comprising
A device in which the first transmission control unit does not transmit the transmission information when the first hash value and the second hash value do not match.
請求項4に記載のデバイスと接続される端末装置であって、
前記第2ファームウェアを記憶する端末記憶部と、
前記デバイス記憶部に記憶される前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、
前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記第2ハッシュ値と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記第2ハッシュ値を送信せずに前記第2ファームウェアを送信する、第2送信制御部と、
を備える端末装置。
A terminal device connected to the device according to claim 4,
A terminal storage unit for storing the second firmware;
A determination unit that determines whether or not the first firmware stored in the device storage unit is the first type firmware;
When the first firmware determined by the determination unit is the first type of firmware, the second hash value and the second firmware are transmitted to the device, and the determination unit determines A second transmission control unit that transmits the second firmware without transmitting the second hash value in response to the first firmware being not the first type firmware;
A terminal device comprising:
請求項5に記載の端末装置と接続されるサーバであって、
前記第1ファームウェアを含む複数のファームウェアの識別情報と、前記各ファームウェアに基づくハッシュ値と、を対応付けて記憶するハッシュ値記憶部と、
前記端末装置から前記デバイス記憶部に記憶される前記第1ファームウェアの識別情報を受信する第3受信制御部と、
前記ハッシュ値記憶部から前記第1ファームウェアの識別情報に対応するハッシュ値を取得し、前記第2ハッシュ値として前記端末装置に送信する第3送信制御部と、
を備えるサーバ。
A server connected to the terminal device according to claim 5,
A hash value storage unit that stores identification information of a plurality of firmware including the first firmware and a hash value based on each firmware in association with each other;
A third reception control unit for receiving identification information of the first firmware stored in the device storage unit from the terminal device;
A third transmission control unit that acquires a hash value corresponding to the identification information of the first firmware from the hash value storage unit and transmits the hash value to the terminal device as the second hash value;
A server comprising
請求項1から請求項3のいずれか一項に記載のデバイスと接続される端末装置であって、
前記第2ファームウェアを記憶する端末記憶部と、
前記デバイス記憶部に記憶される前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、
前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記送信情報と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記送信情報を送信せずに前記第2ファームウェアを送信する、第4送信制御部と、
を備える端末装置。
A terminal device connected to the device according to any one of claims 1 to 3,
A terminal storage unit for storing the second firmware;
A determination unit that determines whether or not the first firmware stored in the device storage unit is the first type firmware;
When the first firmware determined by the determination unit is the first type of firmware, the transmission information and the second firmware are transmitted to the device, and the determination unit determines A fourth transmission control unit that transmits the second firmware without transmitting the transmission information in response to the first firmware not being the first type firmware;
A terminal device comprising:
端末装置と接続されたデバイスのファームウェアを更新する方法であって、
前記デバイスにインストールされる第1ファームウェアが、更新の際に送信情報の必要な第1種のファームウェアであるか否かを判断する判断ステップと、
前記判断された第1ファームウェアが前記第1種のファームウェアであることに応じて、第1更新方法を実行し、前記判断された第1ファームウェアが前記第1種のファームウェアでないことに応じて、第2更新方法を実行する、実行ステップと、
を有し、
前記第1更新方法は、
前記第1ファームウェアから所定のハッシュ関数により第1ハッシュ値を算出する算出ステップと、
前記端末装置から前記第1ファームウェアに基づく第2ハッシュ値を前記デバイスに送信する第1送信ステップと、
前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合に前記デバイスを識別するための識別情報である前記送信情報を生成する生成ステップと、
前記送信情報を前記端末装置に送信する第2送信ステップと、
前記端末装置から前記送信情報と第2ファームウェアとを前記デバイスに送信する第3送信ステップと、
前記デバイスにおいて前記送信情報を受信した場合に前記第1ファームウェアを前記第2ファームウェアに更新する第1更新ステップと、
を有し、
前記第2更新方法は、
前記端末装置から前記第2ファームウェアを前記デバイスに送信する第4送信ステップと、
前記端末装置から前記送信情報を受信したかにかかわらず前記第1ファームウェアを前記第2ファームウェアに更新する第2更新ステップと、
を有する、ファームウェアの更新方法。
A method for updating firmware of a device connected to a terminal device,
A determination step of determining whether or not the first firmware installed in the device is the first type of firmware that requires transmission information at the time of update;
A first update method is executed in response to the determined first firmware being the first type firmware, and in response to the determined first firmware not being the first type firmware, 2 execution step of executing the update method;
Have
The first update method includes:
A calculation step of calculating a first hash value from the first firmware by a predetermined hash function;
A first transmission step of transmitting a second hash value based on the first firmware from the terminal device to the device;
Generating the transmission information, which is identification information for identifying the device when the first hash value and the second hash value match;
A second transmission step of transmitting the transmission information to the terminal device;
A third transmission step of transmitting the transmission information and second firmware from the terminal device to the device;
A first update step of updating the first firmware to the second firmware when the device receives the transmission information;
Have
The second update method includes:
A fourth transmission step of transmitting the second firmware from the terminal device to the device;
A second update step of updating the first firmware to the second firmware regardless of whether the transmission information is received from the terminal device;
A method for updating firmware, comprising:
デバイスと接続され、前記デバイスにインストールされた第1ファームウェアを第2ファームウェアに更新させる端末装置であって、
前記デバイスは、前記第1ファームウェアから所定のハッシュ関数により算出される第1ハッシュ値と前記端末装置から受信した第2ハッシュ値とが一致する場合に識別情報である送信情報を前記端末装置に送信し、その後、前記第1ファームウェアが、更新の際に前記送信情報の必要な第1種のファームウェアである場合に、前記第2ファームウェアと前記送信情報とを受信したことに応じて前記第1ファームウェアを更新する第3更新処理と、前記第1ファームウェアが、更新の際に前記送信情報の不要な第2種のファームウェアである場合に、前記第2ファームウェアを受信したことに応じて前記送信情報を受信したかにかかわらず前記第1ファームウェアを更新する第4更新処理と、を実行するものであって、
前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断部と、
前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記第2ハッシュ値を送信して返信された前記送信情報と前記第2ファームウェアとを送信し、前記判断部で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記第2ハッシュ値を送信せずに前記第2ファームウェアを送信する、第5送信制御部と、
を備えた端末装置。
A terminal device connected to a device and causing the first firmware installed in the device to be updated to the second firmware,
The device transmits transmission information, which is identification information, to the terminal device when a first hash value calculated from the first firmware by a predetermined hash function matches a second hash value received from the terminal device. Then, when the first firmware is the first type of firmware that needs the transmission information at the time of update, the first firmware is received in response to receiving the second firmware and the transmission information. A third update process for updating the transmission information, and when the first firmware is a second type of firmware that does not require the transmission information at the time of update, the transmission information A fourth update process for updating the first firmware regardless of whether it has been received,
A determination unit for determining whether the first firmware is the first type firmware;
In response to the fact that the first firmware determined by the determination unit is the first type of firmware, the transmission information and the second firmware sent back to the device by transmitting the second hash value And transmitting the second firmware without transmitting the second hash value in response to the fact that the first firmware determined by the determination unit is not the first type of firmware. A control unit;
A terminal device comprising:
デバイスと接続された端末装置によって前記デバイスにインストールされた第1ファームウェアを第2ファームウェアに更新させるためのプログラムであって、
前記デバイスは、前記第1ファームウェアから所定のハッシュ関数により算出される第1ハッシュ値と前記端末装置から受信した第2ハッシュ値とが一致する場合に識別情報である送信情報を前記端末装置に送信し、その後、前記第1ファームウェアが、更新の際に前記送信情報の必要な第1種のファームウェアである場合に、前記第2ファームウェアと前記送信情報とを受信したことに応じて前記第1ファームウェアを更新する第3更新処理と、前記第1ファームウェアが、更新の際に前記送信情報の不要な第2種のファームウェアである場合に、前記第2ファームウェアを受信したことに応じて前記送信情報を受信したかにかかわらず前記第1ファームウェアを更新する第4更新処理と、を実行するものであって、
前記端末装置に、
前記第1ファームウェアが前記第1種のファームウェアであるか否かを判断する判断処理と、
前記判断処理で判断された前記第1ファームウェアが前記第1種のファームウェアであることに応じて、前記デバイスに対し、前記第2ハッシュ値を送信して返信された前記送信情報と前記第2ファームウェアとを送信し、前記判断処理で判断された前記第1ファームウェアが前記第1種のファームウェアでないことに応じて、前記第2ハッシュ値を送信せずに前記第2ファームウェアを送信する、送信制御処理と、
を実行させるプログラム。
A program for updating the first firmware installed in the device by the terminal device connected to the device to the second firmware,
The device transmits transmission information, which is identification information, to the terminal device when a first hash value calculated from the first firmware by a predetermined hash function matches a second hash value received from the terminal device. Then, when the first firmware is the first type of firmware that needs the transmission information at the time of update, the first firmware is received in response to receiving the second firmware and the transmission information. A third update process for updating the transmission information, and when the first firmware is a second type of firmware that does not require the transmission information at the time of update, the transmission information A fourth update process for updating the first firmware regardless of whether it has been received,
In the terminal device,
A determination process for determining whether the first firmware is the first type firmware;
In response to the fact that the first firmware determined in the determination process is the first type of firmware, the transmission information and the second firmware sent back to the device by transmitting the second hash value And the second firmware is transmitted without transmitting the second hash value in response to the fact that the first firmware determined in the determination process is not the first type firmware. When,
A program that executes
JP2010288343A 2010-12-24 2010-12-24 Device, terminal device, server, program, and firmware update method Active JP5472086B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010288343A JP5472086B2 (en) 2010-12-24 2010-12-24 Device, terminal device, server, program, and firmware update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010288343A JP5472086B2 (en) 2010-12-24 2010-12-24 Device, terminal device, server, program, and firmware update method

Publications (2)

Publication Number Publication Date
JP2012137849A JP2012137849A (en) 2012-07-19
JP5472086B2 true JP5472086B2 (en) 2014-04-16

Family

ID=46675234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010288343A Active JP5472086B2 (en) 2010-12-24 2010-12-24 Device, terminal device, server, program, and firmware update method

Country Status (1)

Country Link
JP (1) JP5472086B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6429455B2 (en) * 2013-12-03 2018-11-28 キヤノン株式会社 Image forming apparatus, control method therefor, and program
JP6351245B2 (en) * 2013-12-03 2018-07-04 キヤノン株式会社 Image forming apparatus, control method therefor, and program
JP6429502B2 (en) * 2014-06-06 2018-11-28 キヤノン株式会社 Management system and method
JP2016218664A (en) * 2015-05-19 2016-12-22 株式会社東芝 Protection controller software change device, change program and protection controller
JP6962252B2 (en) * 2018-03-23 2021-11-05 株式会社オートネットワーク技術研究所 Program update system, program update method and computer program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3550834B2 (en) * 1995-11-13 2004-08-04 株式会社デンソー Memory rewriting system for vehicle electronic control unit, vehicle electronic control unit and memory rewriting device
US7000230B1 (en) * 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
JP4758041B2 (en) * 2001-09-14 2011-08-24 株式会社リコー Information processing device
JP2004287852A (en) * 2003-03-20 2004-10-14 Toshiba Solutions Corp Upgrading method of software, and computer program
JP2006099184A (en) * 2004-09-28 2006-04-13 Fuji Xerox Co Ltd Information processor and information processing system using it
JP2009053901A (en) * 2007-08-27 2009-03-12 Seiko Epson Corp Printer
JP2010198332A (en) * 2009-02-25 2010-09-09 Canon Inc Firmware update device, firmware update system, firmware update method, and firmware update program

Also Published As

Publication number Publication date
JP2012137849A (en) 2012-07-19

Similar Documents

Publication Publication Date Title
JP2010178077A (en) Access restricted file and restricted file creating apparatus
JP6771991B2 (en) Printing device, control method of printing device, and program
JP6117165B2 (en) Image forming apparatus, image forming system, and job management program
JP2009143081A (en) Image forming apparatus and image forming program
JP5826198B2 (en) Image forming system, image forming apparatus, and program
JP5472086B2 (en) Device, terminal device, server, program, and firmware update method
JP2004303210A (en) File generating method, server, computer terminal, recording medium, information processor, and program adding system
JP2022179719A (en) Information processing device, control method for the same, and program
JP2007109211A (en) Printing system
JP4822084B2 (en) Secure print setting program and secure print setting method
JP2011008386A (en) Information processing system, peripheral device and program
JP4419977B2 (en) Program creation device and program
JP2018049552A (en) Information processing apparatus, information processing method, and program
JP6147240B2 (en) Information processing apparatus, method of controlling the apparatus, and program
JP2011154473A (en) Program, image forming apparatus and installation method
JP2007312335A (en) Image transmission system
JP5573411B2 (en) Image forming apparatus, program, and installation method
JP6529376B2 (en) PRINTING APPARATUS, ITS CONTROL METHOD, AND PROGRAM
US20200106921A1 (en) Information processing apparatus, image forming system, and nontransitory recording medium
JP2010228198A (en) Image forming apparatus, alternative image forming apparatus, printing system, and printing method
JP2007122161A (en) Information processor, setting changing method and setting changing program
JP6188664B2 (en) Image forming system
JP2014160390A (en) Output control device, output system and program
JP2019159971A (en) Equipment system, job processing method, information processing device, and program
JP2010009604A (en) Installing data generation device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131205

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140120

R150 Certificate of patent or registration of utility model

Ref document number: 5472086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150