JP2007080055A - Update of control software for network device - Google Patents

Update of control software for network device Download PDF

Info

Publication number
JP2007080055A
JP2007080055A JP2005268474A JP2005268474A JP2007080055A JP 2007080055 A JP2007080055 A JP 2007080055A JP 2005268474 A JP2005268474 A JP 2005268474A JP 2005268474 A JP2005268474 A JP 2005268474A JP 2007080055 A JP2007080055 A JP 2007080055A
Authority
JP
Japan
Prior art keywords
update
control unit
control software
control
data
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
JP2005268474A
Other languages
Japanese (ja)
Inventor
Yasuhiro Oshima
康裕 大島
Kenji Sakuta
健二 作田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005268474A priority Critical patent/JP2007080055A/en
Publication of JP2007080055A publication Critical patent/JP2007080055A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology for updating a plurality of control softwares with more certainty. <P>SOLUTION: A network device has a first and a second control part coupled to each other by a communication channel and is connected to a network by the first control part. The second control part acquires update data information about first update data used in the update of first control software and second update data used in the update of second control software. The second control part determines necessity of the update of the first and second control software, by comparing the update data information acquired, first held data information about the first control software and second held data information about the second control software to one another. The second control part updates the control software that is determined to need update between the first and second control software. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

この発明は、ネットワーク装置の制御ソフトウェアを更新する技術に関する。   The present invention relates to a technique for updating control software of a network device.

ネットワークプリンタやネットワーク対応のスキャナ・プリンタ・コピー複合機(以下、単に「複合機」と呼ぶ)等のネットワーク装置では、プリンタや複合機としての機能を実現するための制御部と、ネットワークに関する処理を実行する制御部と、を別個に設け、これらの2つの制御部を通信チャンネルで結合することが行われる。これらの制御部の機能は、通常、各制御部に設けられた中央処理装置が各制御部のROMに格納された制御ソフトウェア(コンピュータプログラム)を実行することにより実現される。このような制御ソフトウェア(「ファームウェア」と呼ばれる)は、各制御部の機能の改良等のため更新される場合がある。   In network devices such as network printers and network compatible scanners, printers, and copiers (hereinafter simply referred to as “multifunction devices”), control units for realizing functions as printers and multifunction devices and network-related processing are performed. A control unit to be executed is provided separately, and these two control units are combined by a communication channel. The functions of these control units are usually realized by a central processing unit provided in each control unit executing control software (computer program) stored in the ROM of each control unit. Such control software (referred to as “firmware”) may be updated to improve the function of each control unit.

特開2004−272770号公報JP 2004-272770 A

しかしながら、各制御部のファームウェアを必要に応じて更新するためには、ユーザが、各制御部のファームウェアのそれぞれについて格納されているファームウェアと更新用ファームウェアとを比較して、更新の要否を判断することが必要となる場合がある。このような判断は必ずしも容易ではなく、必要なファームウェアの更新がされない場合もある。   However, in order to update the firmware of each control unit as necessary, the user compares the firmware stored for each of the firmware of each control unit with the update firmware and determines whether the update is necessary. It may be necessary to do. Such a determination is not always easy, and necessary firmware may not be updated.

本発明は、上述した従来の課題を解決するためになされたものであり、複数の制御ソフトウェアの更新をより確実に行う技術を提供することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides a technique for more reliably updating a plurality of control software.

上記目的の少なくとも一部を達成するために、本発明の制御ソフトウェアの更新方法は、第1の制御ソフトウェアを用いて制御を実行する第1の制御部と、第2の制御ソフトウェアを用いて制御を実行する第2の制御部と、を有し、前記第1と第2の制御部は互いに通信チャンネルで結合されており、前記第1の制御部によってネットワークに接続されるネットワーク装置の制御ソフトウェアの更新方法であって、前記第2の制御部が、前記第1の制御ソフトウェアの更新に使用される第1の更新データと、前記第2の制御ソフトウェアの更新に使用される第2の更新データと、に関する更新データ情報を取得し、前記第2の制御部が、前記第1の制御部が保有する前記第1の制御ソフトウェアに関する第1の保有データ情報と、前記第2の制御部が保有する前記第2の制御ソフトウェアに関する第2の保有データ情報と、を取得して、前記更新データ情報と前記第1と第2の保有データ情報とを比較することによって前記第1と第2の制御ソフトウェアのそれぞれの更新の要否を判断し、前記第2の制御部が、前記第1と第2の制御ソフトウェアのうち、更新が必要と判断された制御ソフトウェアを更新することを特徴とする。   In order to achieve at least a part of the above object, a control software update method according to the present invention includes a first control unit that executes control using the first control software and a control that uses the second control software. Control software for a network device connected to the network by the first control unit, the first control unit and the second control unit being coupled to each other via a communication channel. Update method, wherein the second control unit uses the first update data used for updating the first control software and the second update used for updating the second control software. Update data information related to the data, the second control unit, the first held data information related to the first control software held by the first control unit, and the second Second possessed data information relating to the second control software possessed by the control unit, and comparing the updated data information with the first and second retained data information It is determined whether or not each of the second control software needs to be updated, and the second control unit updates the control software that is determined to be required to be updated out of the first and second control software. Features.

この構成によれば、第1の制御ソフトウェアと第2の制御ソフトウェアとの更新の要否が、更新データ情報と、第1と第2の保有データ情報とに基づいて第2の制御部により判断される。そのため、第1と第2の制御ソフトウェアのそれぞれの必要に応じた更新をより確実におこなうことができる。   According to this configuration, whether the first control software and the second control software need to be updated is determined by the second control unit based on the update data information and the first and second held data information. Is done. Therefore, the first and second control software can be more reliably updated as necessary.

前記ネットワークには、前記第1の更新データと、前記第2の更新データと、前記更新データ情報と、のそれぞれを提供可能な少なくとも1つのデータ保管サーバが接続されており、前記制御ソフトウェアの更新方法は、(a)前記第2の制御部が、前記少なくとも1つのデータ保管サーバから提供される前記更新データ情報を前記第1の制御部を介して取得する工程と、(b)前記第2の制御部が、前記第1の制御部が保有する前記第1の制御ソフトウェアに関する第1の保有データ情報を取得する工程と、(c)前記第2の制御部が、前記第1の保有データ情報と前記更新データ情報とを比較して、前記第1の制御ソフトウェアの更新の要否を判断する工程と、(d)前記工程(c)において、前記第1の制御ソフトウェアの更新が必要であると判断された場合、前記第2の制御部が、前記少なくとも1つのデータ保管サーバから提供される前記第1の更新データを前記第1の制御部を介して取得し、取得した前記第1の更新データを前記通信チャンネルを介して前記第1の制御部に転送し、前記第1の制御部に前記第1の更新データを用いて前記第1の制御ソフトウェアを更新させる工程と、(e)前記第2の制御部が、前記第2の制御部が保有する前記第2の制御ソフトウェアに関する第2の保有データ情報を取得する工程と、(f)前記第2の制御部が、前記第2の保有データ情報と前記更新データ情報とを比較して、前記第2の制御ソフトウェアの更新の要否を判断する工程と、(g)前記工程(f)において、前記第2の制御ソフトウェアの更新が必要であると判断された場合、前記第2の制御部が、前記少なくとも1つのデータ保管サーバから提供される前記第2の更新データを前記第1の制御部を介して取得し、取得した前記第2の更新データを用いて前記第2の制御ソフトウェアを更新する工程と、を備えるものとしてもよい。   At least one data storage server capable of providing each of the first update data, the second update data, and the update data information is connected to the network, and the update of the control software is performed. The method includes: (a) the second control unit obtaining the update data information provided from the at least one data storage server via the first control unit; and (b) the second control unit. A step of acquiring first possessed data information related to the first control software possessed by the first control unit, and (c) the second control unit comprising the first retained data. A step of comparing information and the update data information to determine whether or not the first control software needs to be updated; and (d) the first control software needs to be updated in the step (c). When it is determined that there is, the second control unit acquires the first update data provided from the at least one data storage server via the first control unit, and acquires the first Transferring update data to the first control unit via the communication channel, and causing the first control unit to update the first control software using the first update data; ) The second control unit obtaining second possessed data information related to the second control software possessed by the second control unit; and (f) the second control unit comprising the second control unit. Comparing the possessed data information of 2 and the update data information to determine whether the second control software needs to be updated, and (g) in the step (f), the second control software Determined that update is required The second control unit acquires the second update data provided from the at least one data storage server via the first control unit, and acquires the acquired second update data. And the step of updating the second control software using

この構成によれば、データ保管サーバは、第1と第2の更新データと、更新データ情報と、を提供することができる。そのため、より新しい更新データと更新データ情報とをデータ保管サーバに格納することにより、ネットワーク装置の制御ソフトウェアをより新しいものに更新することができる。   According to this configuration, the data storage server can provide the first and second update data and the update data information. Therefore, by storing newer update data and update data information in the data storage server, the control software of the network device can be updated to a newer one.

前記工程(e)ないし(g)は、前記工程(a)ないし(d)の実行の後に実行され、 前記第1の制御部は、前記第1の制御ソフトウェアを格納するための複数の格納領域を有しており、前記工程(d)において、前記複数の格納領域のうちの制御の実行に使用する前記第1の制御ソフトウェアの格納領域とは異なる領域に格納された前記第1の制御ソフトウェアを、前記第2の制御部から転送された前記第1の更新データにより更新するものとしてもよい。   The steps (e) to (g) are executed after the execution of the steps (a) to (d), and the first control unit has a plurality of storage areas for storing the first control software. In the step (d), the first control software stored in an area different from the storage area of the first control software used for execution of the control among the plurality of storage areas May be updated with the first update data transferred from the second control unit.

この構成によれば、第1の制御ソフトウェアの更新後の第1の制御部の再起動を省略し、第1の制御ソフトウェアの更新処理に続いて第2の制御ソフトウェアの更新処理が実行できるので、制御ソフトウェアの更新に要する時間をより短縮することができる。   According to this configuration, the restart of the first control unit after the update of the first control software is omitted, and the update process of the second control software can be executed following the update process of the first control software. The time required for updating the control software can be further shortened.

前記第1の制御部は、前記工程(d)において、前記少なくとも1つのデータ保管サーバに前記第1の更新データの全体を複数回に分けて提供することを要求する複数のメッセージを送信し、前記複数のメッセージのそれぞれに対して前記少なくとも1つのデータ保管サーバから提供される前記第1の更新データを取得し、前記第1の更新データの全体を取得するまで待つことなく、前記少なくとも1つのデータ保管サーバから提供された第1の更新データを順次前記第2の制御部に転送するものとしてもよい。   In the step (d), the first control unit transmits a plurality of messages requesting the at least one data storage server to provide the entire first update data in a plurality of times, and The first update data provided from the at least one data storage server is acquired for each of the plurality of messages, and the at least one of the plurality of messages is acquired without waiting until the entire first update data is acquired. The first update data provided from the data storage server may be sequentially transferred to the second control unit.

この構成によれば、第1の制御部の記憶装置の容量を第1の更新データ全体の大きさよりも小さくすることができるので、第1の制御部の記憶装置の容量が第1の更新データ全体を格納するために増大することを抑制することができる。   According to this configuration, since the capacity of the storage device of the first control unit can be made smaller than the entire size of the first update data, the capacity of the storage device of the first control unit is the first update data. It is possible to suppress an increase in order to store the whole.

前記第1の制御部は、前記工程(g)において、前記少なくとも1つのデータ保管サーバに前記第2の更新データの全体を複数回に分けて提供することを要求する複数のメッセージを送信し、前記複数のメッセージのそれぞれに対して前記少なくとも1つのデータ保管サーバから提供される前記第2の更新データを取得し、前記第2の更新データの全体を取得するまで待つことなく、前記少なくとも1つのデータ保管サーバから提供された第2の更新データを順次前記第2の制御部に転送するものとしてもよい。   In the step (g), the first control unit transmits a plurality of messages requesting the at least one data storage server to provide the entire second update data in a plurality of times. Acquiring the second update data provided from the at least one data storage server for each of the plurality of messages, and without waiting until the entire second update data is acquired, the at least one The second update data provided from the data storage server may be sequentially transferred to the second control unit.

この構成によれば、第1の制御部の記憶装置の容量を第2の更新データ全体の大きさよりも小さくすることができるので、第1の制御部の記憶装置の容量が第2の更新データ全体を格納するために増大することを抑制することができる。   According to this configuration, since the capacity of the storage device of the first control unit can be made smaller than the overall size of the second update data, the capacity of the storage device of the first control unit is the second update data. It is possible to suppress an increase in order to store the whole.

前記ネットワーク装置は、ユニバーサルプラグアンドプレイ対応のネットワーク装置であって、前記制御ソフトウェアの更新方法は、さらに、前記第2の制御部が、前記制御ソフトウェアの更新シーケンスの所定のタイミング以降は、前記第2の制御部を前記制御ソフトウェアの更新以外の処理要求を受け付けない状態にする工程を備えるものとしてもよい。   The network device is a universal plug-and-play network device, wherein the control software update method further includes the second control unit after the predetermined timing of the control software update sequence. The second control unit may be provided with a step of not accepting a processing request other than the update of the control software.

この構成によれば、制御ソフトウェアの更新中は、制御ソフトウェアの更新以外の処理要求を受け付けない状態となるので、制御ソフトウェアの更新処理を確実に実行することができる。   According to this configuration, during the update of the control software, a process request other than the update of the control software is not accepted, so that the update process of the control software can be reliably executed.

なお、本発明は、種々の態様で実現することが可能であり、例えば、ネットワーク装置、ネットワーク装置の制御プログラム更新装置、方法およびシステム、それらの装置、方法またはシステムの機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。   The present invention can be realized in various modes. For example, a network device, a network device control program update device, a method and a system, and a computer for realizing the functions of the devices, the method, and the system. The present invention can be realized in the form of a program, a recording medium recording the computer program, a data signal including the computer program and embodied in a carrier wave, and the like.

次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.システムの概要:
B.複合機の構成:
C.ファームウェアの更新:
D.変形例:
Next, embodiments of the present invention will be described in the following order based on examples.
A. System overview:
B. Multi-function machine configuration:
C. Firmware update:
D. Variation:

A.システムの概要:
図1は、本発明の一実施例としてのネットワークシステム100の構成を示す説明図である。このネットワークシステム100は、デジタルテレビ110と、ルータ120と、複合機200とがローカルエリアネットワーク(LAN)を介して相互に接続された構成を有している。LANに接続されたルータ120は、インターネットINETを介して、ファームウェア保管サーバ130に接続されている。LANは、IEEE802.3のような有線ネットワークでも、IEEE802.11b/g/aなどの無線ネットワークでもよい。
A. System overview:
FIG. 1 is an explanatory diagram showing a configuration of a network system 100 as an embodiment of the present invention. The network system 100 has a configuration in which a digital television 110, a router 120, and a multifunction device 200 are connected to each other via a local area network (LAN). The router 120 connected to the LAN is connected to the firmware storage server 130 via the Internet INET. The LAN may be a wired network such as IEEE 802.3 or a wireless network such as IEEE 802.11b / g / a.

デジタルテレビ110は、LANを介してHTML(HyperText Markup Language)で記述されたHTMLデータを取得し、ブラウザを用いてこのHTMLデータで表されるWebページを表示する機能を有している。   The digital television 110 has a function of acquiring HTML data described in HTML (HyperText Markup Language) via a LAN and displaying a Web page represented by the HTML data using a browser.

複合機200は、ネットワークユニット300と、デバイスユニット400とを有している。ネットワークユニット300は、LAN上の他の装置とデバイスユニット400との間で交換されるメッセージを仲介するネットワークプロトコル制御部302としての機能を有している。   The multifunction device 200 includes a network unit 300 and a device unit 400. The network unit 300 has a function as a network protocol control unit 302 that mediates messages exchanged between other devices on the LAN and the device unit 400.

ネットワークユニット300は、HTTPサーバおよびHTTPクライアントとしての機能を有している。後述するように、ネットワークユニット300は、LANから転送されるHTTPに基づいたメッセージのヘッダを解釈してデバイスユニット400に転送し、デバイスユニット400から転送されるメッセージにHTTPに基づいたヘッダを付加してLANに転送する。なお、ネットワークユニット300は、ネットワークに関する種々の制御を行う一種の制御部である。   The network unit 300 has functions as an HTTP server and an HTTP client. As will be described later, the network unit 300 interprets the header of the message based on HTTP transferred from the LAN and transfers it to the device unit 400, and adds the header based on HTTP to the message transferred from the device unit 400. To the LAN. The network unit 300 is a kind of control unit that performs various types of control related to the network.

デバイスユニット400は、サービスデバイスとしてのプリンタ404及びスキャナ406と、これらを制御するデバイス制御部402とを備えている。また、プリンタ404及びスキャナ406以外のサービスも追加することができる。サービスデバイスとしては、プリンタ404やスキャナ406を単独で、あるいはその他のサービスデバイス単独で存在させることも可能である。ネットワークユニット300とデバイスユニット400との間は、USB(Universal Serial Bus)で接続されている。但し、両者の間をUSB以外の他の物理的インタフェースで接続することも可能である。なお、デバイスユニット400は、プリンタ404やスキャナ406等の複合機200の主要な機能を実行する一種の制御部である。   The device unit 400 includes a printer 404 and a scanner 406 as service devices, and a device control unit 402 that controls them. In addition, services other than the printer 404 and the scanner 406 can be added. As the service device, the printer 404 and the scanner 406 may be present alone or other service devices may be present alone. The network unit 300 and the device unit 400 are connected by USB (Universal Serial Bus). However, it is also possible to connect the two with a physical interface other than USB. The device unit 400 is a kind of control unit that executes main functions of the multifunction device 200 such as the printer 404 and the scanner 406.

なお、デジタルテレビ110及び複合機200は、UPnP(Universal Plug and Play。UPnPは、UPnP Implementers Corporationの商標)対応のネットワーク装置として構成することも可能である。この場合、複合機200のネットワークユニット300は、UPnPで使用される種々のネットワークプロトコルを解釈しデバイスユニット400に転送する。これにより、複合機200は、UPnPで使用可能な各種機能をデジタルテレビ110に提供することができる。   Note that the digital television 110 and the multifunction device 200 can be configured as a network device compatible with UPnP (Universal Plug and Play, UPnP is a trademark of UPnP Implementers Corporation). In this case, the network unit 300 of the multifunction device 200 interprets various network protocols used in UPnP and transfers them to the device unit 400. Accordingly, the multifunction device 200 can provide the digital television 110 with various functions that can be used in UPnP.

デジタルテレビ110及び複合機200がUPnP対応のネットワーク装置となっている場合、デジタルテレビ110は、UPnPの機能によりHTMLデータである複合機200のプレゼンテーションページを取得することができる。このプレゼンテーションページをデジタルテレビ110のブラウザに表示させることにより、複合機200の各種設定を行うユーザインタフェースが表示される。   When the digital television 110 and the multifunction device 200 are UPnP compatible network devices, the digital television 110 can acquire the presentation page of the multifunction device 200 as HTML data by the UPnP function. By displaying the presentation page on the browser of the digital television 110, a user interface for performing various settings of the multifunction device 200 is displayed.

なお、UPnPでは、外部からの要求に応じて印刷や画像スキャン等のサービスを実行するネットワーク装置は「サービスデバイス」あるいは単に「デバイス」とも呼ばれる。また、デバイスによって提供されるサービスを利用するネットワーク装置は「コントロールポイント」とも呼ばれる。図1に示すネットワークシステム100において、デジタルテレビ110と複合機200とがUPnP対応のネットワーク装置として構成されている場合には、複合機200が備えるプリンタ404とスキャナ406とが「デバイス」に相当し、デジタルテレビ110が「コントロールポイント」に相当する。   In UPnP, a network device that executes services such as printing and image scanning in response to an external request is also called a “service device” or simply “device”. A network device that uses a service provided by a device is also called a “control point”. In the network system 100 shown in FIG. 1, when the digital television 110 and the multifunction device 200 are configured as UPnP-compatible network devices, the printer 404 and the scanner 406 included in the multifunction device 200 correspond to “devices”. The digital television 110 corresponds to a “control point”.

ファームウェア保管サーバ130には、複合機200の制御ソフトウェア(「ファームウェア」と呼ばれる)の更新に使用されるファームウェアデータ(更新データ)と、更新データに関する情報とが格納されている。この複合機200のファームウェアの更新については、後述する。ファームウェア保管サーバ130に格納されたファームウェアデータは、インターネットINETを介してファームウェアデータを提供する。ファームウェアデータの提供は、HTTP(Hypertext Transfer Protocol)に従ってファームウェアデータの送出をファームウェア保管サーバ130のHTTPサーバに要求することにより行われる。なお、本実施例では、ファームウェア保管サーバ130は、HTTPに従ってファームウェアの送出を行っているが、FTP(File Transfer Protocol)等の他のプロトコルに従ってファームウェアの送出を行うことも可能である。   The firmware storage server 130 stores firmware data (update data) used for updating the control software (referred to as “firmware”) of the MFP 200 and information related to the update data. The firmware update of the multifunction device 200 will be described later. The firmware data stored in the firmware storage server 130 provides firmware data via the Internet INET. The provision of the firmware data is performed by requesting the HTTP server of the firmware storage server 130 to send the firmware data in accordance with HTTP (Hypertext Transfer Protocol). In the present embodiment, the firmware storage server 130 sends firmware according to HTTP, but it is also possible to send firmware according to other protocols such as FTP (File Transfer Protocol).

B.複合機の構成:
図2は、複合機200の内部構成を示すブロック図である。複合機200は、ネットワークユニット300と、デバイスユニット400と、ネットワークユニット300およびデバイスユニット400に電力を供給する電源回路210と、を備えている。
B. Multi-function machine configuration:
FIG. 2 is a block diagram illustrating an internal configuration of the multifunction device 200. The multi-function device 200 includes a network unit 300, a device unit 400, and a power supply circuit 210 that supplies power to the network unit 300 and the device unit 400.

ネットワークユニット300は、中央制御部(CPU)310と、RAM320と、電気的に書込可能なROM(EPROM)330と、ネットワーク制御部340と、USBホスト制御部350とを有している。EPROM330には、ネットワークユニット300のファームウェアが格納されている。このファームウェアは、複合機200の起動時に中央制御部310によりRAM320に転送される。そして、RAM320に転送されたファームウェアを実行することにより、中央制御部310は、ネットワークユニット300が有する種々の機能を実現する。なお、EPROM330としては、フラッシュメモリ等、電気的に書換が可能な任意のEPROMを使用することができる。   The network unit 300 includes a central control unit (CPU) 310, a RAM 320, an electrically writable ROM (EPROM) 330, a network control unit 340, and a USB host control unit 350. The EPROM 330 stores the firmware of the network unit 300. This firmware is transferred to the RAM 320 by the central control unit 310 when the MFP 200 is activated. The central control unit 310 realizes various functions of the network unit 300 by executing the firmware transferred to the RAM 320. Note that any EPROM that can be electrically rewritten, such as a flash memory, can be used as the EPROM 330.

ネットワーク制御部340は、コネクタ342を介して有線ネットワークに接続される。USBホスト制御部350は、ルートハブ352を有しており、ルートハブ352には2つのUSBコネクタ354,356が設けられている。第1のUSBコネクタ354は、USBケーブルを介してデバイスユニット400のUSBコネクタ462に接続されている。第2のUSBコネクタ356には、追加のデバイス(例えば無線LANネットワークへ通信するための無線通信回路や他のデバイスユニット)を接続可能である。   The network control unit 340 is connected to a wired network via the connector 342. The USB host control unit 350 has a root hub 352, and two USB connectors 354 and 356 are provided on the root hub 352. The first USB connector 354 is connected to the USB connector 462 of the device unit 400 via a USB cable. An additional device (for example, a wireless communication circuit or other device unit for communicating with the wireless LAN network) can be connected to the second USB connector 356.

デバイスユニット400は、中央制御部(CPU)410と、RAM420と、EPROM430と、印刷エンジン440と、スキャンエンジン450と、2つのUSBデバイス制御部460,470と、PCカードインタフェース480と、操作パネル制御部490と、ビューワ制御部500と、USBホスト制御部510と、電源回路210を制御する電源制御部520とを有している。EPROM430には、デバイスユニット400のファームウェアが格納されている。中央制御部410は、EPROM430に格納されたファームウェアを実行することにより、デバイスユニット400が有する種々の機能を実現する。なお、EPROM430としては、フラッシュメモリ等、電気的に書換が可能な任意のEPROMを使用することができる。   The device unit 400 includes a central control unit (CPU) 410, a RAM 420, an EPROM 430, a print engine 440, a scan engine 450, two USB device control units 460 and 470, a PC card interface 480, and an operation panel control. 490, a viewer control unit 500, a USB host control unit 510, and a power supply control unit 520 that controls the power supply circuit 210. The EPROM 430 stores the firmware of the device unit 400. The central control unit 410 implements various functions of the device unit 400 by executing firmware stored in the EPROM 430. Note that any EPROM that can be electrically rewritten, such as a flash memory, can be used as the EPROM 430.

印刷エンジン440は、与えられた印刷データに応じて印刷を実行する印刷機構である。スキャンエンジン450は、画像をスキャンして画像データを生成する機構である。なお、本発明は、複合機200のファームウェア更新に関するものであり、これらの印刷エンジン440とスキャンエンジン450との構成や機能などには影響しないので、その説明を省略する。   The print engine 440 is a printing mechanism that performs printing in accordance with given print data. The scan engine 450 is a mechanism that scans an image and generates image data. Note that the present invention relates to the firmware update of the multifunction peripheral 200 and does not affect the configurations and functions of the print engine 440 and the scan engine 450, and thus the description thereof is omitted.

デバイスユニット400の第1のUSBデバイス制御部460は、USBコネクタ462を介してネットワークユニット300のUSBホスト制御部350に接続されている。第2のUSBデバイス制御部470は、USBコネクタ472を有しており、ここにパーソナルコンピュータなどの任意のUSBホストを接続することが可能である。PCカードインタフェース480は、PCカード用のスロット482を有している。操作パネル制御部490には、入力手段としての操作パネル492が接続されている。ビューワ制御部500には、画像表示手段としてのビューワ502が接続されている。ユーザは、ビューワ502上に表示された画像やメニューを観察しながら、操作パネル492を用いて種々の指示を入力することができる。USBホスト制御部510は、ルートハブ512を有しており、ルートハブ512にはUSBコネクタ514が設けられている。このコネクタ514には、デジタルカメラやハードディスクドライブ(HDD)等のUSBデバイスを接続することが可能である。   The first USB device controller 460 of the device unit 400 is connected to the USB host controller 350 of the network unit 300 via the USB connector 462. The second USB device control unit 470 has a USB connector 472, to which an arbitrary USB host such as a personal computer can be connected. The PC card interface 480 has a PC card slot 482. An operation panel 492 as input means is connected to the operation panel control unit 490. A viewer 502 as an image display unit is connected to the viewer control unit 500. The user can input various instructions using the operation panel 492 while observing images and menus displayed on the viewer 502. The USB host control unit 510 has a root hub 512, and the root hub 512 is provided with a USB connector 514. A USB device such as a digital camera or a hard disk drive (HDD) can be connected to the connector 514.

ネットワークユニット300の中央制御部310とネットワーク制御部340とUSBホスト制御部350は、図1におけるネットワークプロトコル制御部302としての機能を実現する。より具体的には、ネットワーク制御部340は、各種のネットワークプロトコルに従ってメッセージの送受信を行う。また、中央制御部310は、ネットワークプロトコルを解釈して転送先を決定する。USBホスト制御部350は、デバイスユニット400との間でメッセージを転送する。なお、これらの制御部310,340,350は、メッセージボディの解釈や処理は行わずにメッセージを転送している。   The central control unit 310, the network control unit 340, and the USB host control unit 350 of the network unit 300 realize the function as the network protocol control unit 302 in FIG. More specifically, the network control unit 340 transmits and receives messages according to various network protocols. The central control unit 310 interprets the network protocol and determines a transfer destination. The USB host control unit 350 transfers a message to and from the device unit 400. Note that these control units 310, 340, and 350 transfer the message without interpreting or processing the message body.

デバイスユニット400のUSBデバイス制御部460及び中央制御部410は、図1におけるデバイス制御部402としての機能を実現する。より具体的には、USBデバイス制御部460は、USBの転送プロトコルに従ってメッセージの送受信を行う。また、中央制御部410は、ネットワークユニット300を介して転送されたメッセージの内容を解釈し、メッセージの内容に応じた処理を実行して、印刷エンジン440やスキャンエンジン450を動作させる。印刷エンジン440は図1のプリンタ404に相当し、スキャンエンジン450は図1のスキャナ406に対応する。   The USB device control unit 460 and the central control unit 410 of the device unit 400 realize the function as the device control unit 402 in FIG. More specifically, the USB device control unit 460 transmits and receives messages according to the USB transfer protocol. Further, the central control unit 410 interprets the content of the message transferred via the network unit 300, executes processing according to the content of the message, and operates the print engine 440 and the scan engine 450. The print engine 440 corresponds to the printer 404 in FIG. 1, and the scan engine 450 corresponds to the scanner 406 in FIG.

図3は、ネットワークユニット300とデバイスユニット400のファームウェア更新に関する機能の階層構造を示すブロック図である。ネットワークユニット300は、ネットワークプロトコルであるHTTPプロトコルをネットワークユニット300とデバイスユニット400との間の通信に使用されるD4プロトコルに変換するプロトコル変換部1000を備えている。なお、D4プロトコルとは、IEEE1284.4に規定されたパケット(D4パケット)を用いた通信プロトコルである。   FIG. 3 is a block diagram showing a hierarchical structure of functions related to firmware update of the network unit 300 and the device unit 400. The network unit 300 includes a protocol conversion unit 1000 that converts an HTTP protocol, which is a network protocol, into a D4 protocol used for communication between the network unit 300 and the device unit 400. The D4 protocol is a communication protocol that uses a packet (D4 packet) defined in IEEE1284.4.

プロトコル変換部1000は、HTTPプロトコル処理部とD4プロトコル処理部1100の上部の階層において機能する。HTTPプロトコル処理部よりも下部の階層には、下から順番にネットワークインタフェースと、ドライバと、TCP/IPプロトコル処理部とが設けられている。また、D4プロトコル処理部1100よりも下部の階層には、下から順番に、USBホストインタフェース(ハードウェア)と、USBシステムソフトウェアと、プリンタクラス論理インタフェースとが設けられている。   The protocol conversion unit 1000 functions in the upper hierarchy of the HTTP protocol processing unit and the D4 protocol processing unit 1100. A network interface, a driver, and a TCP / IP protocol processing unit are provided in order from the bottom in the hierarchy below the HTTP protocol processing unit. Further, a USB host interface (hardware), USB system software, and a printer class logical interface are provided in order from the bottom in the hierarchy below the D4 protocol processing unit 1100.

デバイスユニット400は、ファームウェアの更新のためのメッセージを解釈し、解釈の結果に応じた処理を実行するためのファームウェア更新処理部2000を備えている。ファームウェア更新処理部2000よりも下部の構造としては、下から順番に、USBデバイスインタフェース(ハードウェア)と、USB論理デバイスと、プリンタクラス論理インタフェースと、D4プロトコル処理部2100とが設けられている。なお、プリンタクラス論理インタフェースとは、プリンタクラスのUSB論理デバイスと上位のプロトコルを仲介するためのインタフェースである。なお、図3の例では、印刷エンジン440やスキャンエンジン450に関連する構成は省略している。   The device unit 400 includes a firmware update processing unit 2000 for interpreting a firmware update message and executing processing according to the interpretation result. As a structure below the firmware update processing unit 2000, a USB device interface (hardware), a USB logical device, a printer class logical interface, and a D4 protocol processing unit 2100 are provided in order from the bottom. The printer class logical interface is an interface for mediating between a printer class USB logical device and an upper protocol. In the example of FIG. 3, configurations related to the print engine 440 and the scan engine 450 are omitted.

図3において、ネットワークユニット300とデバイスユニット400の間には、種々の通信チャンネルが描かれている。これらは、ネットワークユニット300とデバイスユニット400の同一階層間における論理的な接続を示している。D4プロトコル処理部1100,2100の間の5つのチャンネルは、USB転送における論理的なチャンネルである。以下ではまず、USB転送用のチャンネルについて説明する。   In FIG. 3, various communication channels are drawn between the network unit 300 and the device unit 400. These indicate logical connections between the same hierarchy of the network unit 300 and the device unit 400. Five channels between the D4 protocol processing units 1100 and 2100 are logical channels in USB transfer. In the following, first, a USB transfer channel will be described.

図4は、USBのインタフェース/エンドポイント構成と論理チャンネルの構成とを示す説明図である。一般に、USBデバイスは、インタフェースとエンドポイントとを有している。USBの転送は、USBのホストとエンドポイントとの間で行われる。すなわち、「エンドポイント」とは、ホストと通信を行う論理的なリソースである。図4(a)の例では、5つのエンドポイントEP#0〜EP#4が示されている。コントロールエンドポイントEP#0は、標準デバイスリクエストの送受信を行うためのエンドポイントである。「標準デバイスリクエスト」とは、すべてのUSBでサポートする必要がある基本的なリクエストである。従って、コントロールエンドポイントEP#0は、1つのUSBデバイスに必ず1つ設けられている。   FIG. 4 is an explanatory diagram showing a USB interface / endpoint configuration and a logical channel configuration. Generally, a USB device has an interface and an endpoint. USB transfer is performed between the USB host and the endpoint. In other words, the “end point” is a logical resource that communicates with the host. In the example of FIG. 4A, five end points EP # 0 to EP # 4 are shown. The control end point EP # 0 is an end point for transmitting / receiving a standard device request. A “standard device request” is a basic request that needs to be supported by all USBs. Therefore, one control endpoint EP # 0 is always provided for one USB device.

プリンタ用のバルクアウトエンドポイントEP#1とバルクインエンドポイントEP#2は、印刷エンジン440用のメッセージの受信と送信を行うためのエンドポイントである。同様に、スキャナ用のバルクアウトエンドポイントEP#3とバルクインエンドポイントEP#4は、スキャンエンジン450用のメッセージの受信と送信を行うためのエンドポイントである。一般に、USBデバイスでは、コントロールエンドポイントEP#0以外のエンドポイントは、論理的なインタフェース(「デバイスクラス」と呼ばれる)によって区分されている。図4(a)の例では、論理的なインタフェースとして、プリンタインタフェースIF#0とスキャナインタフェースIF#1とが設けられている。   The printer bulk-out endpoint EP # 1 and bulk-in endpoint EP # 2 are endpoints for receiving and transmitting messages for the print engine 440. Similarly, the scanner bulk-out endpoint EP # 3 and bulk-in endpoint EP # 4 are endpoints for receiving and transmitting messages for the scan engine 450. In general, in a USB device, endpoints other than the control endpoint EP # 0 are classified by a logical interface (referred to as “device class”). In the example of FIG. 4A, a printer interface IF # 0 and a scanner interface IF # 1 are provided as logical interfaces.

本実施例では、図4(b)に示すように、プリンタインタフェースIF#0に7つの論理的なチャンネルが設けられている。これらの論理チャンネルは、いずれもバルクアウトエンドポイントEP#1とバルクインエンドポイントEP#2の両方を利用して双方向通信を行うことができる。論理チャンネルの識別情報は、D4パケットのヘッダに登録される。但し、論理チャンネルの数や区分としては、これ以外の任意のものを採用することができる。   In this embodiment, as shown in FIG. 4B, the printer interface IF # 0 is provided with seven logical channels. Both of these logical channels can perform two-way communication using both the bulk-out endpoint EP # 1 and the bulk-in endpoint EP # 2. The identification information of the logical channel is registered in the header of the D4 packet. However, any number or classification of logical channels can be used.

図5は、USB転送に用いられるD4パケットの構成を示す説明図である。D4パケットは、6バイトのヘッダ(D4ヘッダ)とボディ部分とを有している。D4ヘッダは、プライマリソケットID(PSID)と、セカンダリソケットID(SSID)と、パケット長と、クレジットと、制御情報とを含んでいる。通常、プライマリソケットIDとセカンダリソケットIDとには、同一の図4(b)に示す論理チャンネルを識別するIDが設定される。D4ヘッダのパケット長には、D4ヘッダを含むD4パケット全体の長さが登録される。クレジットと制御情報には、D4プロトコルにおけるデータの伝送制御を行うための情報が登録される。ボディ部分のデータには、論理チャンネルに応じて種々の情報が格納される。   FIG. 5 is an explanatory diagram showing the configuration of a D4 packet used for USB transfer. The D4 packet has a 6-byte header (D4 header) and a body part. The D4 header includes a primary socket ID (PSID), a secondary socket ID (SSID), a packet length, credits, and control information. Usually, the ID which identifies the same logical channel shown in FIG.4 (b) is set to primary socket ID and secondary socket ID. In the packet length of the D4 header, the length of the entire D4 packet including the D4 header is registered. In the credit and control information, information for performing data transmission control in the D4 protocol is registered. Various information is stored in the data of the body part according to the logical channel.

図6は、図4(b)に示した各論理チャンネルで転送されるD4パケットのボディ部分に格納される情報を示す表である。図6の表の第1列には、図4(b)の各論理チャンネルが示されている。図6の表の第2列には、各論理チャンネルのデータ転送方向を示している。第2列の「N」から「D」に向いた矢印は、ネットワークユニット300からデバイスユニット400にデータが転送されることを示しており、「D」から「N」に向いた矢印は、デバイスユニット400からネットワークユニット300にデータが転送されることを示している。図6の表の第3列には、各論理チャンネルで転送されるD4パケットのボディ部分に格納される情報を示している。   FIG. 6 is a table showing information stored in the body portion of the D4 packet transferred on each logical channel shown in FIG. In the first column of the table of FIG. 6, each logical channel of FIG. 4B is shown. The second column of the table of FIG. 6 shows the data transfer direction of each logical channel. The arrow from “N” to “D” in the second column indicates that data is transferred from the network unit 300 to the device unit 400, and the arrow from “D” to “N” It shows that data is transferred from the unit 400 to the network unit 300. The third column of the table of FIG. 6 shows information stored in the body portion of the D4 packet transferred on each logical channel.

図6の表に示すように、制御コマンドとそのパラメータは、LOCAL-CONTROLチャンネルとLOCAL-EVENTチャンネルとにより転送される。また、HTMLデータは、UP-PRESENTATIONチャンネルとDOWN-PRESENTATIONチャンネルとにより転送される。これらの4つのチャンネルは、データの内容毎に、ネットワークユニット300からデバイスユニット400への転送を行うチャンネル(LOCAL-CONTROLおよびDOWN-PRESENTATION)と、デバイスユニット400からネットワークユニット300への転送を行うチャンネル(LOCAL-EVENTおよびUP-PRESENTATION)と、に区分されている。   As shown in the table of FIG. 6, the control command and its parameters are transferred by the LOCAL-CONTROL channel and the LOCAL-EVENT channel. Also, the HTML data is transferred through the UP-PRESENTATION channel and the DOWN-PRESENTATION channel. These four channels are channels for transferring data from the network unit 300 to the device unit 400 (LOCAL-CONTROL and DOWN-PRESENTATION) and channels for transferring data from the device unit 400 to the network unit 300 for each data content. (LOCAL-EVENT and UP-PRESENTATION).

DOWN-CONTENTチャンネルは、ネットワークユニット300からデバイスユニット400に種々のデータを転送するために設けられている。PRINT-DATAチャンネルとPRINT-STATUSチャンネルとは、印刷エンジン440とネットワークユニット300との間のデータ転送を行うチャンネルである。   The DOWN-CONTENT channel is provided for transferring various data from the network unit 300 to the device unit 400. The PRINT-DATA channel and the PRINT-STATUS channel are channels for transferring data between the print engine 440 and the network unit 300.

図7は、ネットワークユニット300を介したデータ転送処理の一例を示すシーケンス図である。図7の例は、デジタルテレビ110がそのブラウザ上で表示するためのHTMLデータを取得する様子を示している。このとき、デジタルテレビ110と、ネットワークユニット300と、デバイスユニット400との間で種々のメッセージが転送される。   FIG. 7 is a sequence diagram illustrating an example of data transfer processing via the network unit 300. The example of FIG. 7 shows how the digital television 110 acquires HTML data for display on the browser. At this time, various messages are transferred among the digital television 110, the network unit 300, and the device unit 400.

ステップ[1]では、デジタルテレビ110がHTTPのリクエストメッセージF1をネットワークユニット300に送信する。メッセージF1のヘッダには、リクエスト命令(GETやPOSTなどのメソッド)と、取得するHTMLデータのデバイスユニット400における固有の位置を示す識別子URI(Uniform Resource Identifier)と、複合機200のIPアドレス(この例では192.168.123.123)とが記述されている。以下、本明細書において、このようにリクエスト命令GETを含むHTTPのリクエストメッセージを単に「GETリクエスト」とも呼び、他のリクエスト命令(POST等)についても同様に呼ぶ。なお、HTTPのリクエスト命令の種類によっては、メッセージF1には送信データが含まれる。   In step [1], the digital television 110 transmits an HTTP request message F1 to the network unit 300. The header of the message F1 includes a request command (method such as GET or POST), an identifier URI (Uniform Resource Identifier) indicating a unique position of the acquired HTML data in the device unit 400, and the IP address of the MFP 200 (this In the example, 192.168.123.123) is described. Hereinafter, in this specification, an HTTP request message including a request command GET is also simply referred to as a “GET request”, and other request commands (such as POST) are also referred to in the same manner. Depending on the type of HTTP request command, the message F1 includes transmission data.

ステップ[2]では、ネットワークユニット300が、リクエストメッセージF1を解析する。図7の例では、ネットワークユニット300は、リクエストメッセージF1を解析することにより、HTTPのリクエスト命令がURIで示されるHTMLデータを取得するためのGETリクエストであると判定する。なお、ネットワークユニット300は、リクエストメッセージF1が送信データを含んでいても、送信データの内容の解釈は行わない。   In step [2], the network unit 300 analyzes the request message F1. In the example of FIG. 7, the network unit 300 determines that the HTTP request command is a GET request for acquiring HTML data indicated by a URI by analyzing the request message F1. Note that the network unit 300 does not interpret the content of the transmission data even if the request message F1 includes the transmission data.

ステップ[3]において、ネットワークユニット300は、LOCAL-CONTROLチャンネルを介して、リクエストID(RequestID)を取得するコマンド(GetRequestID)をデバイスユニット400に送出する。送出されるGetRequestIDコマンドには、そのパラメータとして、HTTPのリクエスト命令の種類(GET)と、取得されるHTMLデータのURIとが付加される。なお、リクエストIDとは、GetRequestIDコマンドに応じてネットワークユニット300とデバイスユニット400との間で送受信されるデータを識別するための識別コードである。   In step [3], the network unit 300 sends a command (GetRequestID) for obtaining a request ID (RequestID) to the device unit 400 via the LOCAL-CONTROL channel. In the GetRequestID command to be sent, the HTTP request command type (GET) and the URI of the acquired HTML data are added as parameters. The request ID is an identification code for identifying data transmitted / received between the network unit 300 and the device unit 400 in response to the GetRequestID command.

ステップ[4]において、デバイスユニット400は、GetRequestIDコマンドに対して応答(Reply)を行う。この応答には、ステップ[3]のGetRequestIDコマンドに応じてデバイスユニット400が送信するHTMLデータ(返信データ)を識別するためのリクエストIDが含まれている。   In step [4], the device unit 400 responds (Reply) to the GetRequestID command. This response includes a request ID for identifying HTML data (reply data) transmitted by the device unit 400 in response to the GetRequestID command in step [3].

ステップ[5]では、デバイスユニット400が、GetRequestIDコマンドに応じて返信データを準備する。具体的には、デバイスユニット400は、GetRequestIDコマンドのパラメータとして与えられたURIに従って種々の処理を行い、その結果としてHTMLデータを生成する。   In step [5], the device unit 400 prepares reply data in response to the GetRequestID command. Specifically, the device unit 400 performs various processes according to the URI given as a parameter of the GetRequestID command, and generates HTML data as a result.

ステップ[6]において、デバイスユニット400は、UP-PRESENTATIONチャンネルを介して、返信メッセージR1をネットワークユニット300に送出する。なお、返信メッセージR1中には、送信されるHTMLデータがステップ[3]で転送された要求に対応することを示すリクエストIDが含まれる。   In step [6], the device unit 400 sends a reply message R1 to the network unit 300 via the UP-PRESENTATION channel. The reply message R1 includes a request ID indicating that the transmitted HTML data corresponds to the request transferred in step [3].

ステップ[7]において、ネットワークユニット300は、返信メッセージR1からHTMLデータを抽出する。そして、抽出されたHTMLデータにHTTPヘッダを付加する。このHTTPヘッダは、HTTPリクエストの処理結果を示すステータスコードを含んでいる。例えば、処理結果がOKであればステータスコードが”200”に設定され、エラーであれば”500”に設定される。   In step [7], the network unit 300 extracts HTML data from the reply message R1. Then, an HTTP header is added to the extracted HTML data. This HTTP header includes a status code indicating the processing result of the HTTP request. For example, if the processing result is OK, the status code is set to “200”, and if it is an error, it is set to “500”.

ステップ[8]では、こうして作成されたHTTPのレスポンスメッセージR2がネットワークユニット300からデジタルテレビ110に送信される。   In step [8], the HTTP response message R2 thus created is transmitted from the network unit 300 to the digital television 110.

C.ファームウェアの更新:
図8は、複合機200のファームウェアの更新の際にデジタルテレビ110のブラウザ上に表示される表示画面を示す説明図である。ユーザは、デジタルテレビ110のブラウザを用いて複合機200のメンテナンスページをブラウザ上に表示させることができる。具体的には、デジタルテレビ110は、メンテナンスページを表すHTMLデータの送信を要求するGETリクエストを複合機200のネットワークユニット300に送信する。デジタルテレビ110は、ネットワークユニット300から返信されるHTTPレスポンス中のHTMLデータで表されるメンテナンスページをブラウザ上に表示する。
C. Firmware update:
FIG. 8 is an explanatory diagram showing a display screen displayed on the browser of the digital television 110 when the firmware of the multifunction device 200 is updated. The user can display the maintenance page of the multifunction peripheral 200 on the browser using the browser of the digital television 110. Specifically, the digital television 110 transmits a GET request for requesting transmission of HTML data representing a maintenance page to the network unit 300 of the multifunction device 200. The digital television 110 displays a maintenance page represented by HTML data in the HTTP response returned from the network unit 300 on the browser.

デジタルテレビ110が、メンテナンスページをブラウザ上に表示することにより、ブラウザには複合機200の各種設定を行うためのユーザインタフェースが表示される。なお、デジタルテレビ110と複合機200とのいずれもがUPnP対応ネットワークデバイスとして構成されている場合、複合機200がコントロールポイントに通知するプレゼンテーションページを用いて、デジタルテレビ110は、メンテナンスページをブラウザ上に表示することができる。   When the digital television 110 displays the maintenance page on the browser, a user interface for performing various settings of the multifunction device 200 is displayed on the browser. When both the digital television 110 and the multifunction device 200 are configured as UPnP-compatible network devices, the digital television 110 displays the maintenance page on the browser using the presentation page that the multifunction device 200 notifies the control point. Can be displayed.

図8(a)は、複合機200のメンテナンスページがデジタルテレビ110のブラウザ上に表示されている様子を示している。図8(a)に示すように、メンテナンスページにより形成されるユーザインタフェースUI1には、プリンタのノズルの状態をチェックを指示するためのボタンBEX1と、プリンタのノズルのクリーニングを指示するためのボタンBEX2と、複合機200のファームウェアの更新を指示するためのボタンBEX3と、メンテナンスの処理の中止を指示するための中止ボタンBCN1とが、表示されている。   FIG. 8A shows a state in which the maintenance page of the multifunction device 200 is displayed on the browser of the digital television 110. As shown in FIG. 8A, a user interface UI1 formed by the maintenance page has a button BEX1 for instructing to check the state of the nozzles of the printer, and a button BEX2 for instructing cleaning of the nozzles of the printer. In addition, a button BEX3 for instructing to update the firmware of the multifunction device 200 and a stop button BCN1 for instructing to stop the maintenance process are displayed.

ユーザがユーザインタフェースUI1に表示されたボタンBEX1を操作すると、デジタルテレビ110は、複合機200のネットワークユニット300にプリンタのノズル状態をチェックするためのページの送信を要求するHTTPリクエストを送信する。複合機200は、このHTTPリクエストに応じて、プリンタのノズル状態をチェックし、その結果を表すページをデジタルテレビ110に返信する。同様に、ボタンBEX2の操作により、デジタルテレビ110は、複合機200のネットワークユニット300にプリンタのノズルをクリーニングするためのページの送信を要求するHTTPリクエストを送信する。複合機200は、このHTTPリクエストに応じて、ノズルのクリーニングのためのページをデジタルテレビ110に返信する。   When the user operates the button BEX1 displayed on the user interface UI1, the digital television 110 transmits an HTTP request for requesting transmission of a page for checking the nozzle state of the printer to the network unit 300 of the multifunction device 200. In response to the HTTP request, the multifunction device 200 checks the nozzle state of the printer and returns a page representing the result to the digital television 110. Similarly, by operating the button BEX2, the digital television 110 transmits an HTTP request for requesting transmission of a page for cleaning the nozzles of the printer to the network unit 300 of the multifunction device 200. In response to the HTTP request, the multifunction device 200 returns a nozzle cleaning page to the digital television 110.

ユーザがユーザインタフェースUI1に表示されたボタンBEX3を操作すると、デジタルテレビ110は、複合機200のネットワークユニット300にファームウェア更新のためのページの送信を要求するHTTPリクエストを送信する。   When the user operates the button BEX3 displayed on the user interface UI1, the digital television 110 transmits an HTTP request for requesting transmission of a page for firmware update to the network unit 300 of the multifunction device 200.

図9は、デジタルテレビ110が複合機200のネットワークユニット300にファームウェア(FW)更新のためのページの送信を要求するHTTPリクエストを送信する際の処理の様子を示すシーケンス図である。   FIG. 9 is a sequence diagram illustrating a process when the digital television 110 transmits an HTTP request for requesting transmission of a page for firmware (FW) update to the network unit 300 of the multi-function peripheral 200.

ステップ[CF1]において、デジタルテレビ110は、ネットワークユニット300にファームウェア更新ページの送信を要求する。具体的には、デジタルテレビ110は、ページの送信を要求する内容を表すGETメソッドと、ファームウェア更新ページを指定するURIとを含むHTTPのリクエストメッセージをネットワークユニット300に送信する。   In step [CF1], the digital television 110 requests the network unit 300 to transmit a firmware update page. Specifically, the digital television 110 transmits to the network unit 300 an HTTP request message including a GET method indicating the content for requesting transmission of a page and a URI specifying a firmware update page.

ステップ[CF1]でHTTPリクエストがネットワークユニット300に送信されると、ステップ[CF2]において、ネットワークユニット300は、LOCAL-CONTROLチャンネルを介して、GetRequestIDコマンドをデバイスユニット400に送出する。図9の例では、GetRequestIDコマンドには、リクエスト命令がHTMLデータの送信を要求するGETリクエストであることと、送信が要求されているHTMLデータがファームウェア更新ページを示すURIであることを表すパラメータが付加されている。ステップ[CF2]のGetRequestIDコマンドに対して、デバイスユニット400は、ステップ[CF3]において、リクエストIDを含む応答を行うとともに、デバイスユニット400をファームウェアの更新以外の処理要求を受け付けない状態にする。   When the HTTP request is transmitted to the network unit 300 in step [CF1], the network unit 300 sends a GetRequestID command to the device unit 400 via the LOCAL-CONTROL channel in step [CF2]. In the example of FIG. 9, the GetRequestID command includes parameters indicating that the request command is a GET request for requesting transmission of HTML data and that the HTML data requested to be transmitted is a URI indicating a firmware update page. It has been added. In response to the GetRequestID command in step [CF2], the device unit 400 makes a response including the request ID in step [CF3], and puts the device unit 400 into a state in which no processing request other than firmware update is accepted.

ステップ[CF4]において、デバイスユニット400は、ファームウェア更新ページの送信要求に対して、返信するHTMLデータを生成する。本実施例において、ステップ[CF4]では、ユーザにファームウェアの更新の実行可否を確認する更新確認ページを表すHTMLデータが生成される。更新確認ページを表すHTMLデータは、ステップ[CF5]でネットワークユニット300に送出される。ネットワークユニット300は、ステップ[CF6]において、更新確認ページを表すHTMLデータにHTTPヘッダを付加した後、HTTPレスポンスとしてメッセージをデジタルテレビ110に送信する。   In step [CF4], the device unit 400 generates HTML data to be returned in response to the firmware update page transmission request. In the present embodiment, in step [CF4], HTML data representing an update confirmation page for confirming whether or not firmware update can be executed is generated. The HTML data representing the update confirmation page is sent to the network unit 300 in step [CF5]. In step [CF6], the network unit 300 adds an HTTP header to the HTML data representing the update confirmation page, and then transmits a message to the digital television 110 as an HTTP response.

図8(b)は、図9のステップ[CF6]においてデジタルテレビ110に送信された更新確認ページがデジタルテレビ110のブラウザ上に表示されている様子を示している。更新確認ページにより、デジタルテレビ110のブラウザ上には、ファームウェアの更新の実行可否を確認するためのユーザインタフェースUI2が表示される。   FIG. 8B shows a state in which the update confirmation page transmitted to the digital television 110 in step [CF6] in FIG. 9 is displayed on the browser of the digital television 110. By the update confirmation page, a user interface UI2 for confirming whether or not the firmware update can be executed is displayed on the browser of the digital television 110.

図8(b)に示すユーザインタフェースUI2には、ファームウェア更新の開始を指示する開始ボタンBSTと、ファームウェア更新の中止を指示する中止ボタンBCN2とが表示されている。ユーザが、中止ボタンBCNを操作すると、デジタルテレビ110は、メンテナンスページを表示するため、メンテナンスページを表すHTMLデータ送信を要求するHTTPリクエストを複合機200に送信する。これにより、デジタルテレビ110のブラウザには、図8(a)に示すメンテナンスページが表示される。   The user interface UI2 shown in FIG. 8B displays a start button BST for instructing start of firmware update and a stop button BCN2 for instructing stop of firmware update. When the user operates the cancel button BCN, the digital television 110 transmits an HTTP request for requesting transmission of HTML data representing the maintenance page to the multi-function device 200 in order to display the maintenance page. Thereby, the maintenance page shown in FIG. 8A is displayed on the browser of the digital television 110.

ユーザが、開始ボタンBSTを操作すると、デジタルテレビ110は、複合機200のネットワークユニット300に対してファームウェア更新を開始する指示を送信する。本実施例においては、このファームウェア更新開始の指示も、HTTPのリクエストとして複合機200のネットワークユニット300に送信される。   When the user operates the start button BST, the digital television 110 transmits an instruction to start firmware update to the network unit 300 of the multifunction device 200. In the present embodiment, this firmware update start instruction is also transmitted to the network unit 300 of the multifunction device 200 as an HTTP request.

図10は、デジタルテレビ110が複合機200のネットワークユニット300にファームウェア更新を開始する指示をHTTPリクエストとして送信する際の処理の様子を示すシーケンス図である。   FIG. 10 is a sequence diagram illustrating a processing state when the digital television 110 transmits an instruction to start firmware update to the network unit 300 of the multifunction device 200 as an HTTP request.

ステップ[ST1]において、デジタルテレビ110は、ネットワークユニット300にユーザによる指示を送信する。具体的には、デジタルテレビ110は、ファームウェア更新CGI(Common Gateway Interface)にユーザの指示に関する情報を含むHTMLデータ(ファームウェア更新指示フォーム)を渡すように、HTTPのPOSTリクエストをネットワークユニット300に送信する。このPOSTリクエストには、ファームウェア更新指示フォームが含まれている。ここで、ファームウェア更新CGIとは、デバイスユニット400上でユーザの指示を解析し、解析内容に応じて処理を実行する一種のコンピュータプログラムである。   In step [ST1], the digital television 110 transmits a user instruction to the network unit 300. Specifically, the digital television 110 transmits an HTTP POST request to the network unit 300 so as to pass HTML data (firmware update instruction form) including information related to user instructions to the firmware update CGI (Common Gateway Interface). . This POST request includes a firmware update instruction form. Here, the firmware update CGI is a kind of computer program that analyzes a user instruction on the device unit 400 and executes processing according to the analysis content.

ステップ[ST2]において、ネットワークユニット300は、LOCAL-CONTROLチャンネルを介して、GetRequestIDコマンドをデバイスユニット400に送出する。図10の例では、GetRequestIDコマンドには、デジタルテレビ110からのHTTPリクエストがPOSTリクエストであることと、実行されるファームウェア更新CGIを示すURIとがパラメータとして付加されている。ステップ[ST2]のGetRequestIDコマンドに対して、デバイスユニット400は、ステップ[ST3]において、リクエストIDを含む応答を行う。   In step [ST2], the network unit 300 sends a GetRequestID command to the device unit 400 via the LOCAL-CONTROL channel. In the example of FIG. 10, the GetRequestID command is added with parameters that the HTTP request from the digital television 110 is a POST request and a URI indicating the firmware update CGI to be executed. In response to the GetRequestID command in step [ST2], the device unit 400 makes a response including the request ID in step [ST3].

ステップ[ST4]において、デバイスユニット400は、ファームウェア更新CGIの実行を開始する。デバイスユニット400は、ステップ[ST5]において、ネットワークユニット300からファームウェア更新指示フォームを取得する。取得されたファームウェア更新指示フォームは、ファームウェア更新CGIにより解析される。ファームウェア更新指示フォームの解析により、ユーザの指示がファームウェア更新を中止する指示であると判定された場合には、処理は中止される。なお、ファームウェア更新処理が中止されると、デバイスユニット400は、デバイスユニット400をファームウェアの更新以外の処理要求を受け付ける状態にする。   In step [ST4], the device unit 400 starts execution of the firmware update CGI. In step [ST5], the device unit 400 acquires a firmware update instruction form from the network unit 300. The obtained firmware update instruction form is analyzed by the firmware update CGI. If it is determined by analysis of the firmware update instruction form that the user instruction is an instruction to cancel the firmware update, the process is stopped. When the firmware update process is stopped, the device unit 400 sets the device unit 400 to accept a process request other than the firmware update.

一方、ユーザの指示がファームウェア更新を実行する指示であると判定された場合には、処理が続行される。この場合、デバイスユニット400は、ユーザにファームウェア更新を開始したことを通知する更新開始ページを生成するとともに、ファームウェアの更新処理を開始する。なお、HTMLで記述された更新開始ページには、ブラウザに定期的(例えば、1秒ごと)にファームウェア更新ページを取得させるための指示が含まれている。   On the other hand, if it is determined that the user instruction is an instruction to execute firmware update, the processing is continued. In this case, the device unit 400 generates an update start page that notifies the user that the firmware update has started, and starts the firmware update process. The update start page described in HTML includes an instruction for causing the browser to acquire a firmware update page periodically (for example, every second).

ステップ[ST6]において、デバイスユニット400は、生成された更新開始ページをネットワークユニット300に送出する。そして、ステップ[ST7]において、ネットワークユニット300は、HTTPヘッダが付加された更新開始ページをデジタルテレビ110に送信する。   In step [ST6], the device unit 400 sends the generated update start page to the network unit 300. In step [ST7], the network unit 300 transmits the update start page to which the HTTP header is added to the digital television 110.

図8(c)は、図10のステップ[ST7]においてデジタルテレビ110に送信された更新開始ページがデジタルテレビ110のブラウザ上に表示されている様子を示している。図8(c)に示すように、デジタルテレビ110のブラウザ上には、ファームウェアの更新を開始したことをユーザに通知するユーザインタフェースUI3が表示される。   FIG. 8C shows a state in which the update start page transmitted to the digital television 110 in step [ST7] in FIG. 10 is displayed on the browser of the digital television 110. As shown in FIG. 8C, on the browser of the digital television 110, a user interface UI3 for notifying the user that the firmware update has been started is displayed.

図11は、更新開始ページに含まれる指示により、デジタルテレビ110のブラウザが定期的にファームウェア更新ページを取得する際のシーケンス図である。図11に示すシーケンスは、ステップ[SM4]においてデバイスユニット400で生成されるデジタルテレビに返信されるHTMLデータが更新確認ページから状態表示ページとなっている点で、図9に示すシーケンスと異なっている。他の点は、図9に示すシーケンスと同じであるので、ここではその説明は省略する。   FIG. 11 is a sequence diagram when the browser of the digital television 110 periodically acquires a firmware update page according to an instruction included in the update start page. The sequence shown in FIG. 11 is different from the sequence shown in FIG. 9 in that the HTML data returned to the digital television generated by the device unit 400 in step [SM4] is the status display page from the update confirmation page. Yes. Since the other points are the same as the sequence shown in FIG. 9, the description thereof is omitted here.

図12は、図11に示すシーケンスにおいてデジタルテレビ110のブラウザに表示される状態表示ページを示している。ファームウェアの更新が開始されると、デジタルテレビ110のブラウザには、図12(a)に示すファームウェアの更新中であることをユーザに通知するユーザインタフェースUI4がデジタルテレビ110のブラウザに表示される。なお、図12(b)に示す複合機200の電源をオフにすることをユーザに通知するユーザインタフェースUI5がデジタルテレビ110のブラウザに表示される場合については、後述する。   FIG. 12 shows a status display page displayed on the browser of the digital television 110 in the sequence shown in FIG. When the firmware update is started, the browser of the digital television 110 displays a user interface UI4 for notifying the user that the firmware is being updated as shown in FIG. The case where the user interface UI5 for notifying the user to turn off the power of the multifunction device 200 shown in FIG. 12B is displayed on the browser of the digital television 110 will be described later.

図13は、ファームウェアの更新を実行するファームウェア更新実行ルーチンを示すフローチャートである。なお、図13に示すフローチャートの左側の各ステップS100〜S330は、デバイスユニット400が実行を制御するステップを示し、右側のステップS520は、ネットワークユニット300が実行を制御するステップを示している。   FIG. 13 is a flowchart showing a firmware update execution routine for executing firmware update. Note that steps S100 to S330 on the left side of the flowchart shown in FIG. 13 indicate steps that the device unit 400 controls execution, and step S520 on the right side indicates steps that the network unit 300 controls execution.

ステップS100において、デバイスユニット400は、ファームウェア保管サーバ130(図1)に格納されているファームウェアデータ情報を取得する。図14は、ステップS100においてファームウェアデータ情報を取得する様子を示すシーケンス図である。図14に示すように、ステップS100では、ファームウェア保管サーバ130と、ネットワークユニット300と、デバイスユニット400と、の間でデータの転送が行われる。   In step S100, the device unit 400 acquires firmware data information stored in the firmware storage server 130 (FIG. 1). FIG. 14 is a sequence diagram showing how firmware data information is acquired in step S100. As shown in FIG. 14, in step S <b> 100, data is transferred among the firmware storage server 130, the network unit 300, and the device unit 400.

図14のステップ[GL1]において、デバイスユニット400は、LOCAL-EVENTチャンネルを介してネットワークユニット300にGetRequestIDコマンドを送出する。ステップ[GL1]で送出されるGetRequestIDコマンドには、予めデバイスユニット400に記録されたファームウェアデータ情報の所在を示すURIと、ファームウェアデータ情報を取得するためのリクエスト命令(GET)が付加されている。   In step [GL1] in FIG. 14, the device unit 400 sends a GetRequestID command to the network unit 300 via the LOCAL-EVENT channel. A URI indicating the location of firmware data information recorded in advance in the device unit 400 and a request command (GET) for acquiring firmware data information are added to the GetRequestID command sent in step [GL1].

ステップ[GL2]において、ネットワークユニット300は、ステップ[GL1]で受け取ったコマンドGetRequestIDに応答する。そして、ステップ[GL3]において、ファームウェアデータ情報の送出を要求するGETリクエストをファームウェア保管サーバ130に送信する。   In step [GL2], the network unit 300 responds to the command GetRequestID received in step [GL1]. In step [GL3], a GET request requesting transmission of firmware data information is transmitted to the firmware storage server 130.

ステップ[GL4]において、ファームウェア保管サーバ130は、ステップ[GL3]で受け取ったHTTPリクエストに応じたHTTPレスポンスとして、ファームウェアデータ情報をネットワークユニット300に送信する。   In step [GL4], the firmware storage server 130 transmits firmware data information to the network unit 300 as an HTTP response corresponding to the HTTP request received in step [GL3].

ステップ[GL5]において、ネットワークユニット300は、ステップ[GL4]でファームウェア保管サーバ130から受信したファームウェアデータ情報をDOWN-CONTENTチャンネルを介してデバイスユニット400に転送する。転送されたファームウェアデータ情報は、ステップ[GL6]において、デバイスユニット400のRAM420(図2)に格納される。   In step [GL5], the network unit 300 transfers the firmware data information received from the firmware storage server 130 in step [GL4] to the device unit 400 via the DOWN-CONTENT channel. The transferred firmware data information is stored in the RAM 420 (FIG. 2) of the device unit 400 in step [GL6].

図15は、ステップS100において取得されるファームウェアデータ情報FDIの例を示す説明図である。図15に示すように、ファームウェアデータ情報FDIには、公開日付と、ファームウェアのバージョン番号と、ファームウェアデータの所在を示すURIと、バージョンアップ内容の説明と、が格納されている。ファームウェアデータ情報FDIのうち、ファームウェアのバージョン番号とファームウェアデータのURIとしては、ネットワークユニット300とデバイスユニット400のそれぞれのファームウェアについての情報が格納されている。   FIG. 15 is an explanatory diagram showing an example of the firmware data information FDI acquired in step S100. As shown in FIG. 15, the firmware data information FDI stores a release date, a firmware version number, a URI indicating the location of the firmware data, and a description of the contents of the upgrade. Of the firmware data information FDI, information about the firmware of each of the network unit 300 and the device unit 400 is stored as the firmware version number and the firmware data URI.

図13のステップS200において、デバイスユニット400は、ネットワークユニット300のファームウェアの更新の要否を判断する。具体的には、デバイスユニット400は、ステップS100で取得したファームウェアデータ情報を解析することにより、ファームウェア保管サーバ130に格納されたネットワークユニット300の更新用ファームウェアのバージョン番号を取得する。取得された更新用ファームウェアのバージョン番号と、複合機200の起動時にネットワークユニット300から通知される使用中のファームウェアのバージョン番号とが、デバイスユニット400により比較される。この使用中のファームウェアは、ネットワークユニット300が保有するファームウェアであるので、ネットワークユニット300の保有ファームウェアとも言うことができる。   In step S200 of FIG. 13, the device unit 400 determines whether the firmware of the network unit 300 needs to be updated. Specifically, the device unit 400 acquires the version number of the firmware for updating the network unit 300 stored in the firmware storage server 130 by analyzing the firmware data information acquired in step S100. The device unit 400 compares the obtained version number of the firmware for update with the version number of the firmware in use notified from the network unit 300 when the multifunction device 200 is activated. Since the firmware in use is firmware owned by the network unit 300, it can also be said to be firmware owned by the network unit 300.

ネットワークユニット300の更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号よりも大きい場合、デバイスユニット400は、ネットワークユニット300のファームウェアの更新が必要であると判断し、制御がステップS210に移される。一方、更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号以下の場合、デバイスユニット400は、ネットワークユニット300のファームウェアの更新が不要であると判断し、制御はステップS300に移される。   If the version number of the firmware for updating the network unit 300 is larger than the version number of the firmware in use, the device unit 400 determines that the firmware of the network unit 300 needs to be updated, and the control is transferred to step S210. . On the other hand, if the version number of the update firmware is equal to or less than the version number of the firmware in use, the device unit 400 determines that the firmware of the network unit 300 is not required to be updated, and the control is transferred to step S300.

ステップS210において、デバイスユニット400は、ファームウェア保管サーバ130(図1)からネットワークユニット300のファームウェアデータを取得し、デバイスユニット400のRAM420(図2)に格納する。   In step S210, the device unit 400 acquires the firmware data of the network unit 300 from the firmware storage server 130 (FIG. 1) and stores it in the RAM 420 (FIG. 2) of the device unit 400.

図16は、ステップS210においてネットワークユニット300のファームウェアデータを取得する様子を示すシーケンス図である。図16に示すシーケンスは、ファームウェア情報データに換えてネットワークユニット300のファームウェアデータがファームウェア保管サーバ130から取得される点と、ステップ[GN3]で送信されるGETリクエストにレンジリクエストヘッダ(Range:bytes=xxxx-yyyy)が付加されている点と、で図14に示すシーケンスと異なっている。他の点は、図14に示すシーケンスと同じである。ステップ[GN1]のGetRequestIDコマンドで指定されるネットワークユニット300のファームウェアデータのURIは、デバイスユニット400がファームウェア情報データを解析することによって取得される。   FIG. 16 is a sequence diagram showing how the firmware data of the network unit 300 is acquired in step S210. In the sequence shown in FIG. 16, the firmware data of the network unit 300 is acquired from the firmware storage server 130 instead of the firmware information data, and the range request header (Range: bytes =) is added to the GET request transmitted in step [GN3]. 14 is different from the sequence shown in FIG. 14 in that xxxx-yyyy) is added. The other points are the same as the sequence shown in FIG. The URI of the firmware data of the network unit 300 specified by the GetRequestID command in step [GN1] is acquired by the device unit 400 analyzing the firmware information data.

ステップ[GN3]において、ネットワークユニット300は、レンジリクエストヘッダが付加されたGETリクエストをファームウェア保管サーバ130に送信し、ネットワークユニット300のファームウェアデータの送出を要求する。通常、ネットワークユニット300が稼働しているときのRAM320(図2)の空き容量は、ネットワークユニット300のファームウェアデータよりも小さい。そのため、ステップ[GN3]で送信されるGETリクエストでは、レンジリクエストヘッダにより転送されるファームウェアデータの範囲が指定され、転送されるデータの大きさが制限されている。ファームウェア保管サーバ130は、ネットワークユニット300のファームウェアデータのうちレンジリクエストヘッダで指定された範囲のデータを送信する。なお、本実施例では、ネットワークユニット300がレンジリクエストヘッダをGETリクエストに付加することにより送信されるファームウェアデータの範囲を指定しているが、ファームウェア保管サーバ130が送信範囲を指定するものとしてもよい。   In step [GN3], the network unit 300 transmits a GET request to which the range request header is added to the firmware storage server 130, and requests transmission of firmware data of the network unit 300. Usually, the free capacity of the RAM 320 (FIG. 2) when the network unit 300 is operating is smaller than the firmware data of the network unit 300. Therefore, in the GET request transmitted in step [GN3], the range of firmware data to be transferred is specified by the range request header, and the size of the transferred data is limited. The firmware storage server 130 transmits data in the range specified by the range request header among the firmware data of the network unit 300. In this embodiment, the network unit 300 designates the range of firmware data to be transmitted by adding the range request header to the GET request. However, the firmware storage server 130 may designate the transmission range. .

ステップ[GN3]でファームウェア保管サーバ130に送信されるGETリクエストでは、レンジリクエストヘッダにより送信されるファームウェアデータの範囲が指定されている。ネットワークユニット300は、ファームウェアデータの全体を順次デバイスユニット400に転送するため、レンジリクエストヘッダのパラメータを適宜変更するとともに、ステップ[GN3]ないしステップ[GN5]を複数回繰り返し実行する。そのため、ファームウェアデータ全体は、複数に分割されて順次デバイスユニット400に転送される。デバイスユニット400は、ステップ[GN5]で転送されるデータを順次RAM420に格納する。これにより、デバイスユニット400のRAM420には、ネットワークユニット300のファームウェアデータ全体が格納される。   In the GET request transmitted to the firmware storage server 130 in step [GN3], the range of firmware data transmitted by the range request header is specified. In order to sequentially transfer the entire firmware data to the device unit 400, the network unit 300 appropriately changes the parameters of the range request header and repeatedly executes Step [GN3] to Step [GN5] a plurality of times. Therefore, the entire firmware data is divided into a plurality of pieces and sequentially transferred to the device unit 400. The device unit 400 sequentially stores the data transferred in step [GN5] in the RAM 420. As a result, the entire firmware data of the network unit 300 is stored in the RAM 420 of the device unit 400.

図13のステップS220において、デバイスユニット400は、RAM420に格納されたネットワークユニット300のファームウェアデータをネットワークユニット300に転送する。ステップS520において、ネットワークユニット300は、ステップS220で転送されるファームウェアデータにより、ネットワークユニット300のEPROM330(図2)を更新する。なお、2つのステップS220,S520は、デバイスユニット400とネットワークユニット300とで並列に実行される。   In step S <b> 220 of FIG. 13, the device unit 400 transfers the firmware data of the network unit 300 stored in the RAM 420 to the network unit 300. In step S520, the network unit 300 updates the EPROM 330 (FIG. 2) of the network unit 300 with the firmware data transferred in step S220. The two steps S220 and S520 are executed in parallel by the device unit 400 and the network unit 300.

図17は、2つのステップS220,S520におけるネットワークユニット300のファームウェアデータの転送と、EPROM330の更新の様子を示すシーケンス図である。   FIG. 17 is a sequence diagram showing how the firmware data of the network unit 300 is transferred and the EPROM 330 is updated in the two steps S220 and S520.

ステップ[WN1]において、デバイスユニット400は、LOCAL-EVENTチャンネルを介してネットワークユニット300にファームウェアの更新を指示するコマンドを送出する。ネットワークユニット300は、ステップ[WN2]において、ステップ[WN1]で受け取ったコマンドに対する応答として、ファームウェアの更新が可能か否かをデバイスユニット400に通知する。デバイスユニット400は、ステップ[WN2]で受け取った応答から、ネットワークユニット300のファームウェアの更新が不可能と判断した場合、ファームウェアの更新処理を終了する。   In step [WN1], the device unit 400 sends a command to the network unit 300 to update the firmware via the LOCAL-EVENT channel. In step [WN2], the network unit 300 notifies the device unit 400 whether or not the firmware can be updated as a response to the command received in step [WN1]. If the device unit 400 determines from the response received in step [WN2] that the firmware of the network unit 300 cannot be updated, the device unit 400 ends the firmware update process.

ネットワークユニット300は、ファームウェアの更新が可能な場合、ステップ[WN3]において、ファームウェア更新デーモンの実行を開始する。ここで、ファームウェア更新デーモンとは、USBのcontrol IN/OUTパイプ(図3)を介したデバイスユニット400とのデータ転送と、転送されたデータによるEPROM330の書き換えと、を行うコンピュータプログラムである。なお、control IN/OUTパイプを介したデータの転送は、一般に、コントロール転送と呼ばれる。なお、コントロール転送によるファームウェアの転送には、上述した標準デバイスリクエストとは異なるベンダリクエスト(Vendor Request)が使用される。   If the firmware can be updated, the network unit 300 starts executing the firmware update daemon in step [WN3]. Here, the firmware update daemon is a computer program that performs data transfer with the device unit 400 via the USB control IN / OUT pipe (FIG. 3) and rewriting the EPROM 330 with the transferred data. Note that data transfer through the control IN / OUT pipe is generally called control transfer. Note that a vendor request (Vendor Request) different from the standard device request described above is used for firmware transfer by control transfer.

デバイスユニット400は、ネットワークユニット300のファームウェアの更新が可能と判断した場合、ステップ[WN4]において、ネットワークユニット300のファームウェアデータをコントロール転送によりネットワークユニット300に送出する。ステップ[WN5]において、ネットワークユニット300は、ネットワークユニット300のEPROM330をステップ[WN4]で転送されたファームウェアデータに順次更新する。なお、EPROM330のデータの更新は、EPROM330のうちデータを書き込む領域を消去した後、消去した領域に新しいデータを記録することによって行われる。   If the device unit 400 determines that the firmware of the network unit 300 can be updated, in step [WN4], the device unit 400 sends the firmware data of the network unit 300 to the network unit 300 by control transfer. In step [WN5], the network unit 300 sequentially updates the EPROM 330 of the network unit 300 with the firmware data transferred in step [WN4]. The data in the EPROM 330 is updated by erasing a data writing area in the EPROM 330 and then recording new data in the erased area.

ステップ[WN5]におけるデータの更新が終了すると、ステップ[WN6]において、ネットワークユニット300は、ネットワークユニット300のファームウェアの更新の終了をコントロール転送によりデバイスユニット400に通知する。   When the data update in step [WN5] is completed, in step [WN6], the network unit 300 notifies the device unit 400 of the completion of the firmware update of the network unit 300 by control transfer.

図13のステップS300において、デバイスユニット400は、デバイスユニット400のファームウェアの更新の要否を判断する。具体的には、デバイスユニット400は、ステップS100で取得したファームウェアデータ情報を解析することにより、ファームウェア保管サーバ130に格納されたデバイスユニット400の更新用ファームウェアのバージョン番号を取得する。取得された更新用ファームウェアのバージョン番号と、デバイスユニット400のEPROM430に格納されている使用中のファームウェアのバージョン番号とが、デバイスユニット400により比較される。この使用中のファームウェアは、デバイスユニット400が保有するファームウェアであるので、デバイスユニット400の保有ファームウェアとも言うことができる。   In step S300 of FIG. 13, the device unit 400 determines whether the firmware of the device unit 400 needs to be updated. Specifically, the device unit 400 acquires the version number of the firmware for update of the device unit 400 stored in the firmware storage server 130 by analyzing the firmware data information acquired in step S100. The device unit 400 compares the obtained version number of the firmware for update with the version number of the firmware in use stored in the EPROM 430 of the device unit 400. Since the firmware in use is firmware owned by the device unit 400, it can also be called firmware owned by the device unit 400.

デバイスユニット400の更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号よりも大きい場合、デバイスユニット400は、デバイスユニット400のファームウェアの更新が必要であると判断し、制御がステップS310に移される。一方、更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号以下の場合、デバイスユニット400は、デバイスユニット400のファームウェアの更新が不要であると判断し、制御はステップS330に移される。   If the version number of the firmware for updating the device unit 400 is larger than the version number of the firmware being used, the device unit 400 determines that the firmware of the device unit 400 needs to be updated, and the control is transferred to step S310. . On the other hand, if the version number of the update firmware is equal to or less than the version number of the firmware in use, the device unit 400 determines that the firmware of the device unit 400 is not required to be updated, and the control is transferred to step S330.

図13のステップS310において、デバイスユニット400は、ファームウェア保管サーバ130(図1)からデバイスユニット400のファームウェアデータを取得し、デバイスユニット400のRAM420(図2)に格納する。なお、図13のステップS310が終了すると、図11のステップ[SM4]で生成される状態表示ページは、複合機200の電源をオフにすることをユーザに通知するHTMLデータとなる。そのため、デジタルテレビ110(図1)のブラウザには、図12(b)に示すユーザインタフェースUI5が表示される。   In step S310 of FIG. 13, the device unit 400 acquires the firmware data of the device unit 400 from the firmware storage server 130 (FIG. 1) and stores it in the RAM 420 (FIG. 2) of the device unit 400. When step S310 in FIG. 13 is completed, the status display page generated in step [SM4] in FIG. 11 becomes HTML data for notifying the user that the power of the multifunction device 200 is to be turned off. Therefore, the user interface UI5 shown in FIG. 12B is displayed on the browser of the digital television 110 (FIG. 1).

図18は、ステップS310においてデバイスユニット400のファームウェアデータを取得する様子を示すシーケンス図である。図18に示すシーケンスは、取得するファームウェアデータがネットワークユニット300のファームウェアデータからデバイスユニット400のファームウェアデータに置き換えられている点で図16に示すシーケンスと異なっている。他の点は、図16に示すネットワークユニット300のファームウェアデータ取得のシーケンスと同じである。ステップ[GD1]のGetRequestIDコマンドで指定されるデバイスユニット400のファームウェアデータのURIは、デバイスユニット400がファームウェア情報データを解析することによって取得される。   FIG. 18 is a sequence diagram showing how firmware data of the device unit 400 is acquired in step S310. The sequence shown in FIG. 18 is different from the sequence shown in FIG. 16 in that the firmware data to be acquired is replaced with the firmware data of the device unit 400 from the firmware data of the network unit 300. The other points are the same as the firmware data acquisition sequence of the network unit 300 shown in FIG. The URI of the firmware data of the device unit 400 specified by the GetRequestID command in step [GD1] is acquired by the device unit 400 analyzing the firmware information data.

図13のステップS320において、デバイスユニット400は、RAM420に格納されたデバイスユニット400のファームウェアデータにより、デバイスユニット400のEPROM430(図2)を更新する。   In step S320 of FIG. 13, the device unit 400 updates the EPROM 430 (FIG. 2) of the device unit 400 with the firmware data of the device unit 400 stored in the RAM 420.

図19は、図13のステップS320において、デバイスユニット400のEPROM430を更新する様子を示すシーケンス図である。   FIG. 19 is a sequence diagram showing how the EPROM 430 of the device unit 400 is updated in step S320 of FIG.

ステップ[WD1]において、デバイスユニット400は、LOCAL-EVENTチャンネルを介してネットワークユニット300に停止コマンドを送出する。ネットワークユニット300は、ステップ[WD2]において、ステップ[WD1]で受け取った停止コマンドに応答する。   In step [WD1], the device unit 400 sends a stop command to the network unit 300 via the LOCAL-EVENT channel. In step [WD2], the network unit 300 responds to the stop command received in step [WD1].

ステップ[WD3]では、ネットワークユニット300は、ネットワークユニット300のシャットダウンの準備を行う。具体的には、ネットワークユニット300によって実行される種々のネットワークプロトコルの処理機能を停止する。ネットワークプロトコルの処理機能が停止し、ネットワークユニット300のシャットダウンが可能になると、ネットワークユニット300は、ステップ[WD4]において、デバイスユニット400にシャットダウンコマンドを送出する。デバイスユニット400は、ステップ[WD5]において、ステップ[WD4]で受け取ったシャットダウンコマンドに対して応答する。   In Step [WD3], the network unit 300 prepares for the shutdown of the network unit 300. Specifically, the processing functions of various network protocols executed by the network unit 300 are stopped. When the network protocol processing function is stopped and the network unit 300 can be shut down, the network unit 300 sends a shutdown command to the device unit 400 in step [WD4]. In step [WD5], the device unit 400 responds to the shutdown command received in step [WD4].

ステップ[WD6]において、デバイスユニット400は、RAM420からの再起動を行う。具体的には、デバイスユニット400で実行される制御ソフトウェアが、EPROM430に記録されたファームウェアから、図18のステップ[GD6]においてRAM420に格納されたファームウェアに切り替えられる。   In step [WD6], the device unit 400 restarts from the RAM 420. Specifically, the control software executed in the device unit 400 is switched from the firmware recorded in the EPROM 430 to the firmware stored in the RAM 420 in step [GD6] in FIG.

RAM420からの再起動により、ステップ[WD7]では、USBの切断処理が行われる。ステップ[WD7]でUSBの切断処理が行われると、ネットワークユニット300は、ステップ[WD8]においてシャットダウンされてその機能が停止する。一方、デバイスユニット400は、ステップ[WD9]において、EPROM430の更新を行う。   By the restart from the RAM 420, the USB disconnection process is performed in step [WD7]. When the USB disconnection process is performed in step [WD7], the network unit 300 is shut down in step [WD8] and its function is stopped. On the other hand, the device unit 400 updates the EPROM 430 in step [WD9].

ステップ[WD9]でのEPROM430の更新が完了すると、ステップ[WD10]において、デバイスユニット400は、デバイスユニット400自体のシャットダウン処理を行うとともに、電源制御部520(図2)から電源回路210(図2)にネットワークユニット300およびデバイスユニット400への電力の供給を停止する指示を送出する。電力供給停止の指示により、電源回路210は、ステップ[WD11]において、ネットワークユニット300およびデバイスユニット400への電力供給を停止し、複合機200は電源OFFの状態となる。   When the update of the EPROM 430 in step [WD9] is completed, in step [WD10], the device unit 400 performs the shutdown process of the device unit 400 itself, and from the power control unit 520 (FIG. 2) to the power circuit 210 (FIG. 2). ) Sends an instruction to stop the power supply to the network unit 300 and the device unit 400. In response to the power supply stop instruction, the power supply circuit 210 stops power supply to the network unit 300 and the device unit 400 in step [WD11], and the multifunction device 200 is turned off.

図13のステップS330において、デバイスユニット400は、ネットワークユニット300とデバイスユニット400とのシャットダウン処理を行う。図20は、ステップS330における、ネットワークユニット300とデバイスユニット400とのシャットダウン処理の様子を示すシーケンス図である。図20に示すシーケンスは、RAM420からの再起動[WD6]とEPROM430の更新[WD9]との2つのステップが省略されている点で、図19に示すシーケンスと異なっている。他の点は、図19のシーケンスと同じである。   In step S330 of FIG. 13, the device unit 400 performs a shutdown process between the network unit 300 and the device unit 400. FIG. 20 is a sequence diagram showing the state of the shutdown process between the network unit 300 and the device unit 400 in step S330. The sequence shown in FIG. 20 is different from the sequence shown in FIG. 19 in that the two steps of restarting from the RAM 420 [WD6] and updating the EPROM 430 [WD9] are omitted. The other points are the same as the sequence of FIG.

このように、本実施例では、デバイスユニット400が、ファームウェアデータ情報に格納された更新用ファームウェアのバージョン番号と、ネットワークユニット300とデバイスユニット400とのそれぞれで使用しているファームウェアのバージョン番号とを比較する。そして、ネットワークユニット300とデバイスユニット400とのうち、更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号よりも大きいファームウェアについてファームウェアの更新を行う。そのため、ネットワークユニット300とデバイスユニット400とのファームウェアの更新をより確実に行うとともに、ファームウェア更新に要する時間をより短縮することができる。   As described above, in this embodiment, the device unit 400 uses the update firmware version number stored in the firmware data information and the firmware version numbers used in the network unit 300 and the device unit 400, respectively. Compare. In the network unit 300 and the device unit 400, the firmware is updated for firmware whose version number of the firmware for update is larger than the version number of the firmware in use. Therefore, the firmware of the network unit 300 and the device unit 400 can be updated more reliably, and the time required for the firmware update can be further shortened.

D.変形例:
なお、この発明は上記実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
D. Variation:
In addition, this invention is not restricted to the said Example and embodiment, It can implement in a various aspect in the range which does not deviate from the summary, For example, the following deformation | transformation is also possible.

D1.変形例1:
上記実施例では、デバイスユニット400は、ファームウェア更新ページの最初のGETリクエストに応答する図9のステップ[CF3]において、デバイスユニット400をファームウェアの更新以外の処理要求を受け付けない状態にしているが、他のタイミングでファームウェアの更新以外の処理要求を受け付けない状態にするものとしてもよい。処理要求の受付可否の状態変更は、ネットワークユニット300のファームウェア更新を開始する図17のステップ[WN1]や、ネットワークユニット300に停止コマンドを送出する図19のステップ[WD1]等の、ファームウェア更新シーケンスの所定のタイミングで行うことができる。
D1. Modification 1:
In the above-described embodiment, the device unit 400 is in a state in which the device unit 400 does not accept processing requests other than firmware update in step [CF3] in FIG. 9 in response to the first GET request on the firmware update page. The processing request other than the firmware update may not be accepted at another timing. The status change of whether or not the processing request can be accepted is performed by a firmware update sequence such as step [WN1] in FIG. 17 for starting firmware update of the network unit 300 or step [WD1] in FIG. Can be performed at a predetermined timing.

D2.変形例2:
上記実施例では、複合機200のファームウェアの更新処理に関する指示が、ユーザが操作するデジタルテレビ110(図1)から提供されているが、更新処理に関する指示は、他の方法によって提供されるものしても良い。ファームウェアの更新処理に関する指示は、例えば、操作パネル制御部490(図2)がユーザによる操作パネル492(図2)の操作に応じて提供するものとしてもよく、ユーザによる第2のUSBデバイス制御部472(図2)に接続されたパーソナルコンピュータPCの操作に応じてパーソナルコンピュータPCが提供するものとしてもよい。この場合、ビューワ502(図2)やパーソナルコンピュータPCの画面上には、ユーザによる指示を取得し、ユーザに複合機200の状態を通知するためのユーザインタフェースUI1〜UI5(図8,図12)が表示される。
D2. Modification 2:
In the above-described embodiment, an instruction relating to the firmware update process of the MFP 200 is provided from the digital television 110 (FIG. 1) operated by the user, but the instruction relating to the update process is provided by another method. May be. The instruction relating to the firmware update process may be provided by the operation panel control unit 490 (FIG. 2) according to the operation of the operation panel 492 (FIG. 2) by the user, for example, and the second USB device control unit by the user It may be provided by the personal computer PC according to the operation of the personal computer PC connected to 472 (FIG. 2). In this case, on the screen of the viewer 502 (FIG. 2) or the personal computer PC, user interfaces UI1 to UI5 (FIGS. 8 and 12) for obtaining an instruction from the user and notifying the user of the state of the multifunction device 200 are obtained. Is displayed.

ファームウェアの更新処理に関する指示を第2のUSBデバイス制御部472に接続されたパーソナルコンピュータPCが提供する場合、パーソナルコンピュータPCは、ファームウェアデータ情報と、更新に使用されるファームウェアデータとを複合機200に送出することが可能である。この場合、ユーザによる指示の取得(図9,図10)と、ユーザへの通知と(図11)、ファームウェアデータ情報の転送(図14)と、ファームウェアデータの転送(図16,図18)とは、第1のUSBデバイス制御部460に換えて第2のUSBデバイス制御部470を用いて行われるが、これらはいずれもUSBデバイス制御部であることには変わりがない。そのため、複合機200は、使用するデバイス制御部を変更し上記実施例と同一の処理(プロトコル)を実行することでファームウェアの更新をすることができる。なお、パーソナルコンピュータPCから複合機200に送出されるファームウェアデータとしては、パーソナルコンピュータPCがLANを介して取得したデータを順次転送するものとしてもよく、パーソナルコンピュータPCが備える記録媒体に予め格納されたデータを転送するものとしてもよい。   When the personal computer PC connected to the second USB device control unit 472 provides an instruction related to the firmware update process, the personal computer PC sends the firmware data information and the firmware data used for the update to the MFP 200. It can be sent out. In this case, acquisition of instructions by the user (FIGS. 9 and 10), notification to the user (FIG. 11), transfer of firmware data information (FIG. 14), transfer of firmware data (FIGS. 16 and 18), Is performed using the second USB device control unit 470 instead of the first USB device control unit 460, but these are all USB device control units. Therefore, the MFP 200 can update the firmware by changing the device control unit to be used and executing the same processing (protocol) as in the above-described embodiment. The firmware data sent from the personal computer PC to the multifunction device 200 may be data sequentially transferred by the personal computer PC via the LAN, and stored in advance in a recording medium included in the personal computer PC. Data may be transferred.

D3.変形例3:
上記実施例では、ネットワークユニット300は、EPROM330に格納されたファームウェアをRAM320に転送し、転送したRAM320に格納されたファームウェアにより制御を実行しているが、制御の実行に使用されるファームウェアはEPROM330に格納されたものであってもよい。この場合、ファームウェアの更新の後のネットワークユニット300の再起動が不要となるので、EPROM330が複数のファームウェア格納領域を備え、制御の実行に使用されるファームウェアの格納領域とは異なる領域のファームウェアに対してファームウェアの更新を行うのがより好ましい。
D3. Modification 3:
In the above embodiment, the network unit 300 transfers the firmware stored in the EPROM 330 to the RAM 320 and executes control by the firmware stored in the transferred RAM 320. However, the firmware used for execution of the control is stored in the EPROM 330. It may be stored. In this case, since it is not necessary to restart the network unit 300 after the firmware update, the EPROM 330 has a plurality of firmware storage areas, and the firmware in an area different from the firmware storage area used for executing the control is used. It is more preferable to update the firmware.

D4.変形例4:
上記実施例では、ファームウェアデータ情報に格納されたファームウェア保管サーバ130の更新用ファームウェアのバージョン番号と、複合機200で使用されている使用中のファームウェアのバージョン番号とを比較することによりファームウェアの更新の要否を判断しているが、ファームウェアデータ情報に格納された他の情報に基づいてファームウェアの更新の要否を判断することも可能である。ファームウェアデータ情報と複合機200に格納されたファームウェアとにそれぞれファームウェアの作成日付を格納し、更新用ファームウェアの作成日付と使用中のファームウェアの作成日付とを比較して更新用ファームウェアの作成日付がより遅い場合にファームウェアの更新が必要であると判断してもよい。
D4. Modification 4:
In the above-described embodiment, the update of the firmware is performed by comparing the version number of the firmware for update of the firmware storage server 130 stored in the firmware data information with the version number of the firmware in use used in the multifunction device 200. Although the necessity is determined, it is also possible to determine whether the firmware needs to be updated based on other information stored in the firmware data information. The creation date of the firmware is stored in the firmware data information and the firmware stored in the multifunction device 200, respectively, and the creation date of the update firmware is determined by comparing the creation date of the update firmware with the creation date of the firmware in use. If it is late, it may be determined that the firmware needs to be updated.

D5.変形例5:
上記実施例では、ファームウェアデータ情報と、ネットワークユニット300のファームウェアデータと、デバイスユニット400のファームウェアデータと、がいずれも単一のファームウェア保管サーバ130(図1)に格納されているものとしているが、これらのデータの少なくとも1つは、複数のデータ保管サーバに別個に格納されていてもよい。
D5. Modification 5:
In the above embodiment, the firmware data information, the firmware data of the network unit 300, and the firmware data of the device unit 400 are all stored in the single firmware storage server 130 (FIG. 1). At least one of these data may be separately stored in a plurality of data storage servers.

D6.変形例6:
上記実施例では、本発明のファームウェアの更新を複合機200(図2)に適用しているが、本発明は、他のネットワーク装置にも適用することができる。一般に、本発明は、互いに通信チャンネルにより接続された複数の制御部を備え、複数の制御部のうち少なくとも1つの制御部によりネットワークに接続されるネットワーク装置に適用することができる。本発明は、ネットワークプリンタやネットワークスキャナ等の単独でサービスを提供しうるネットワーク装置と、ネットワーク処理機能を持たない装置を接続しその装置の機能をサービスとしてLANに提供するネットワーク装置(例えば、UPnPブリッジ)と、のいずれにも適用することができる。
D6. Modification 6:
In the above embodiment, the firmware update of the present invention is applied to the multifunction device 200 (FIG. 2), but the present invention can also be applied to other network devices. In general, the present invention can be applied to a network device that includes a plurality of control units connected to each other via communication channels and is connected to a network by at least one control unit among the plurality of control units. The present invention connects a network device that can provide a service independently, such as a network printer or a network scanner, and a device that does not have a network processing function and provides the function of the device to a LAN as a service (for example, a UPnP bridge) ) And any of the above.

本発明の一実施例としてのネットワークシステム100の構成を示す説明図。1 is an explanatory diagram showing a configuration of a network system 100 as an embodiment of the present invention. 複合機200の内部構成を示すブロック図。FIG. 2 is a block diagram showing an internal configuration of the multifunction machine 200. ネットワークユニット300とデバイスユニット400のファームウェア更新に関する機能の階層構造を示すブロック図。FIG. 3 is a block diagram showing a hierarchical structure of functions related to firmware update of a network unit 300 and a device unit 400 USBのインタフェース/エンドポイント構成と論理チャンネルの構成とを示す説明図。FIG. 3 is an explanatory diagram showing a USB interface / endpoint configuration and a logical channel configuration. USB転送に用いられるD4パケットの構成を示す説明図。Explanatory drawing which shows the structure of D4 packet used for USB transfer. 各論理チャンネルで転送されるD4パケットのボディ部分に格納される情報を示す表。The table | surface which shows the information stored in the body part of the D4 packet transferred by each logical channel. ネットワークユニット300を介したデータ転送処理の一例を示すシーケンス図。FIG. 6 is a sequence diagram showing an example of data transfer processing via the network unit 300. 複合機200のファームウェアの更新の際にデジタルテレビ110のブラウザ上に表示される表示画面を示す説明図。FIG. 3 is an explanatory diagram showing a display screen displayed on the browser of the digital television 110 when updating the firmware of the multifunction device 200. デジタルテレビ110がファームウェア更新のためのページの送信を要求するHTTPリクエストを送出する際の処理の様子を示すシーケンス図。The sequence diagram which shows the mode of the process at the time of the digital television 110 sending out the HTTP request which requests | requires transmission of the page for a firmware update. デジタルテレビ110が複合機200のネットワークユニット300にファームウェア更新を開始する指示をHTTPリクエストとして送信する際の処理の様子を示すシーケンス図。FIG. 6 is a sequence diagram illustrating a process when the digital television 110 transmits an instruction to start firmware update to the network unit 300 of the multifunction peripheral 200 as an HTTP request. 更新開始ページに含まれる指示により、デジタルテレビ110のブラウザが定期的にファームウェア更新ページを取得する際のシーケンス図。The sequence diagram when the browser of the digital television 110 acquires a firmware update page regularly by the instruction | indication contained in an update start page. デジタルテレビ110のブラウザに表示される状態表示ページ。A status display page displayed on the browser of the digital television 110. ファームウェアの更新を実行するファームウェア更新実行ルーチンを示すフローチャート。The flowchart which shows the firmware update execution routine which performs the update of firmware. ステップS100においてファームウェアデータ情報を取得する様子を示すシーケンス図。The sequence diagram which shows a mode that firmware data information is acquired in step S100. ステップS100において取得されるファームウェアデータ情報の例を示す説明図。Explanatory drawing which shows the example of the firmware data information acquired in step S100. ステップS210においてネットワークユニット300のファームウェアデータを取得する様子を示すシーケンス図。The sequence diagram which shows a mode that the firmware data of the network unit 300 is acquired in step S210. ネットワークユニット300のファームウェアデータの転送と、EPROM330の更新の様子を示すシーケンス図。FIG. 5 is a sequence diagram showing how firmware data of the network unit 300 is transferred and EPROM 330 is updated. デバイスユニット400のファームウェアデータを取得する様子を示すシーケンス図。The sequence diagram which shows a mode that the firmware data of the device unit 400 are acquired. デバイスユニット400のEPROM430を更新する様子を示すシーケンス図。The sequence diagram which shows a mode that EPROM430 of the device unit 400 is updated. ネットワークユニット300とデバイスユニット400とのシャットダウン処理の様子を示すシーケンス図。The sequence diagram which shows the mode of the shutdown process of the network unit 300 and the device unit 400. FIG.

符号の説明Explanation of symbols

100…ネットワークシステム
110…デジタルテレビ
120…ルータ
130…ファームウェア保管サーバ
200…複合機
210…電源回路
300…ネットワークユニット
302…ネットワークプロトコル制御部
310…中央制御部
320…RAM
330…EPROM
340…ネットワーク制御部
342…コネクタ
350…USBホスト制御部
352…ルートハブ
354,356…USBコネクタ
400…デバイスユニット
402…デバイス制御部
404…プリンタ
406…スキャナ
410…中央制御部
420…RAM
430…EPROM
440…印刷エンジン
450…スキャンエンジン
460,470…USBデバイス制御部
462,472…USBコネクタ
480…PCカードインタフェース
482…スロット
490…操作パネル制御部
492…操作パネル
500…ビューワ制御部
502…ビューワ
510…USBホスト制御部
512…ルートハブ
514…USBコネクタ
520…電源制御部
1000…プロトコル変換部
2000…ファームウェア更新処理部
DESCRIPTION OF SYMBOLS 100 ... Network system 110 ... Digital television 120 ... Router 130 ... Firmware storage server 200 ... Multifunction device 210 ... Power supply circuit 300 ... Network unit 302 ... Network protocol control part 310 ... Central control part 320 ... RAM
330 ... EPROM
340 ... Network control unit 342 ... Connector 350 ... USB host control unit 352 ... Root hub 354, 356 ... USB connector 400 ... Device unit 402 ... Device control unit 404 ... Printer 406 ... Scanner 410 ... Central control unit 420 ... RAM
430 ... EPROM
440 ... Print engine 450 ... Scan engine 460,470 ... USB device control unit 462,472 ... USB connector 480 ... PC card interface 482 ... Slot 490 ... Operation panel control unit 492 ... Operation panel 500 ... Viewer control unit 502 ... Viewer 510 ... USB host control unit 512 ... root hub 514 ... USB connector 520 ... power supply control unit 1000 ... protocol conversion unit 2000 ... firmware update processing unit

Claims (7)

第1の制御ソフトウェアを用いて制御を実行する第1の制御部と、第2の制御ソフトウェアを用いて制御を実行する第2の制御部と、を有し、前記第1と第2の制御部は互いに通信チャンネルで結合されており、前記第1の制御部によってネットワークに接続されるネットワーク装置の制御ソフトウェアの更新方法であって、
前記第2の制御部が、前記第1の制御ソフトウェアの更新に使用される第1の更新データと、前記第2の制御ソフトウェアの更新に使用される第2の更新データと、に関する更新データ情報を取得し、
前記第2の制御部が、前記第1の制御部が保有する前記第1の制御ソフトウェアに関する第1の保有データ情報と、前記第2の制御部が保有する前記第2の制御ソフトウェアに関する第2の保有データ情報と、を取得して、前記更新データ情報と前記第1と第2の保有データ情報とを比較することによって前記第1と第2の制御ソフトウェアのそれぞれの更新の要否を判断し、
前記第2の制御部が、前記第1と第2の制御ソフトウェアのうち、更新が必要と判断された制御ソフトウェアを更新する、
制御ソフトウェアの更新方法。
A first control unit that executes control using the first control software; and a second control unit that executes control using the second control software. The first and second controls The units are coupled to each other via a communication channel, and is a method for updating control software of a network device connected to a network by the first control unit,
Update data information relating to first update data used by the second control unit for updating the first control software and second update data used for updating the second control software. Get
The second control unit has a first stored data information related to the first control software held by the first control unit, and a second related to the second control software held by the second control unit. And determining whether or not each of the first and second control software needs to be updated by comparing the updated data information with the first and second held data information. And
The second control unit updates the control software determined to be updated among the first and second control software;
How to update the control software.
請求項1記載の制御ソフトウェアの更新方法であって、
前記ネットワークには、前記第1の更新データと、前記第2の更新データと、前記更新データ情報と、のそれぞれを提供可能な少なくとも1つのデータ保管サーバが接続されており、
前記制御ソフトウェアの更新方法は、
(a)前記第2の制御部が、前記少なくとも1つのデータ保管サーバから提供される前記更新データ情報を前記第1の制御部を介して取得する工程と、
(b)前記第2の制御部が、前記第1の制御部が保有する前記第1の制御ソフトウェアに関する第1の保有データ情報を取得する工程と、
(c)前記第2の制御部が、前記第1の保有データ情報と前記更新データ情報とを比較して、前記第1の制御ソフトウェアの更新の要否を判断する工程と、
(d)前記工程(c)において、前記第1の制御ソフトウェアの更新が必要であると判断された場合、前記第2の制御部が、前記少なくとも1つのデータ保管サーバから提供される前記第1の更新データを前記第1の制御部を介して取得し、取得した前記第1の更新データを前記通信チャンネルを介して前記第1の制御部に転送し、前記第1の制御部に前記第1の更新データを用いて前記第1の制御ソフトウェアを更新させる工程と、
(e)前記第2の制御部が、前記第2の制御部が保有する前記第2の制御ソフトウェアに関する第2の保有データ情報を取得する工程と、
(f)前記第2の制御部が、前記第2の保有データ情報と前記更新データ情報とを比較して、前記第2の制御ソフトウェアの更新の要否を判断する工程と、
(g)前記工程(f)において、前記第2の制御ソフトウェアの更新が必要であると判断された場合、前記第2の制御部が、前記少なくとも1つのデータ保管サーバから提供される前記第2の更新データを前記第1の制御部を介して取得し、取得した前記第2の更新データを用いて前記第2の制御ソフトウェアを更新する工程と、
を備える、制御ソフトウェアの更新方法。
A control software update method according to claim 1, comprising:
At least one data storage server capable of providing each of the first update data, the second update data, and the update data information is connected to the network,
The control software update method includes:
(A) the second control unit obtaining the update data information provided from the at least one data storage server via the first control unit;
(B) the second control unit obtaining first held data information related to the first control software held by the first control unit;
(C) the second control unit comparing the first held data information and the update data information to determine whether or not the first control software needs to be updated;
(D) In the step (c), when it is determined that the first control software needs to be updated, the second control unit is provided from the at least one data storage server. Update data is acquired via the first control unit, the acquired first update data is transferred to the first control unit via the communication channel, and the first control unit transmits the first update data to the first control unit. Updating the first control software using one update data;
(E) the second control unit obtaining second held data information related to the second control software held by the second control unit;
(F) the second control unit comparing the second retained data information and the update data information to determine whether the second control software needs to be updated;
(G) In the step (f), when it is determined that the second control software needs to be updated, the second control unit is provided from the at least one data storage server. Obtaining the update data via the first control unit, and updating the second control software using the obtained second update data;
A method for updating control software.
請求項2記載の制御ソフトウェアの更新方法であって、
前記工程(e)ないし(g)は、前記工程(a)ないし(d)の実行の後に実行され、
前記第1の制御部は、
前記第1の制御ソフトウェアを格納するための複数の格納領域を有しており、
前記工程(d)において、前記複数の格納領域のうちの制御の実行に使用する前記第1の制御ソフトウェアの格納領域とは異なる領域に格納された前記第1の制御ソフトウェアを、前記第2の制御部から転送された前記第1の更新データにより更新する、
制御ソフトウェアの更新方法。
A control software update method according to claim 2, comprising:
The steps (e) to (g) are performed after the execution of the steps (a) to (d),
The first controller is
A plurality of storage areas for storing the first control software;
In the step (d), the first control software stored in an area different from the storage area of the first control software used for execution of control among the plurality of storage areas Update with the first update data transferred from the control unit,
How to update the control software.
請求項2または3記載の制御ソフトウェアの更新方法であって、
前記第1の制御部は、前記工程(d)において、
前記少なくとも1つのデータ保管サーバに前記第1の更新データの全体を複数回に分けて提供することを要求する複数のメッセージを送信し、
前記複数のメッセージのそれぞれに対して前記少なくとも1つのデータ保管サーバから提供される前記第1の更新データを取得し、
前記第1の更新データの全体を取得するまで待つことなく、前記少なくとも1つのデータ保管サーバから提供された第1の更新データを順次前記第2の制御部に転送する、
制御ソフトウェアの更新方法。
A control software update method according to claim 2 or 3,
In the step (d), the first control unit
Sending a plurality of messages requesting the at least one data storage server to provide the whole of the first update data in a plurality of times;
Obtaining the first update data provided from the at least one data storage server for each of the plurality of messages;
Without waiting until the entire first update data is acquired, the first update data provided from the at least one data storage server is sequentially transferred to the second control unit.
How to update the control software.
請求項2ないし4のいずれか記載の制御ソフトウェアの更新方法であって、
前記第1の制御部は、前記工程(g)において、
前記少なくとも1つのデータ保管サーバに前記第2の更新データの全体を複数回に分けて提供することを要求する複数のメッセージを送信し、
前記複数のメッセージのそれぞれに対して前記少なくとも1つのデータ保管サーバから提供される前記第2の更新データを取得し、
前記第2の更新データの全体を取得するまで待つことなく、前記少なくとも1つのデータ保管サーバから提供された第2の更新データを順次前記第2の制御部に転送する、
制御ソフトウェアの更新方法。
A control software update method according to any one of claims 2 to 4,
In the step (g), the first control unit
Sending a plurality of messages requesting the at least one data storage server to provide the whole of the second update data in a plurality of times;
Obtaining the second update data provided from the at least one data storage server for each of the plurality of messages;
Without waiting until the entire second update data is acquired, the second update data provided from the at least one data storage server is sequentially transferred to the second control unit.
How to update the control software.
請求項1ないし5のいずれか記載の制御ソフトウェアの更新方法であって、
前記ネットワーク装置は、ユニバーサルプラグアンドプレイ対応のネットワーク装置であって、
前記制御ソフトウェアの更新方法は、さらに、
前記第2の制御部が、前記制御ソフトウェアの更新シーケンスの所定のタイミング以降は、前記第2の制御部を前記制御ソフトウェアの更新以外の処理要求を受け付けない状態にする工程を備える、制御ソフトウェアの更新方法。
A method for updating control software according to any one of claims 1 to 5,
The network device is a universal plug and play compatible network device,
The method for updating the control software further includes:
The second control unit includes a step of setting the second control unit to a state in which a processing request other than the update of the control software is not accepted after a predetermined timing of the update sequence of the control software. Update method.
第1の制御ソフトウェアを用いて制御を実行する第1の制御部と、第2の制御ソフトウェアを用いて制御を実行する第2の制御部と、を有し、前記第1と第2の制御部は互いに通信チャンネルで結合されており、前記第1の制御部によってネットワークに接続されるネットワーク装置であって、
前記第2の制御部は、
前記第1の制御ソフトウェアの更新に使用される第1の更新データと、前記第2の制御ソフトウェアの更新に使用される第2の更新データと、に関する更新データ情報を取得し、
前記第1の制御部が保有する前記第1の制御ソフトウェアに関する第1の保有データ情報と、前記第2の制御部が保有する前記第2の制御ソフトウェアに関する第2の保有データ情報と、を取得して、前記更新データ情報と前記第1と第2の保有データ情報とを比較することによって前記第1と第2の制御ソフトウェアのそれぞれの更新の要否を判断し、
前記第1と第2の制御ソフトウェアのうち、更新が必要と判断された制御ソフトウェアを更新する、
ネットワーク装置。
A first control unit that executes control using the first control software; and a second control unit that executes control using the second control software. The first and second controls Units connected to each other via a communication channel and connected to a network by the first control unit,
The second controller is
Obtaining update data information relating to the first update data used for updating the first control software and the second update data used for updating the second control software;
Obtaining first possessed data information related to the first control software possessed by the first control unit and second retained data information pertaining to the second control software retained by the second control unit Determining the necessity of updating each of the first and second control software by comparing the update data information with the first and second possessed data information,
Updating the control software determined to be updated among the first and second control software;
Network device.
JP2005268474A 2005-09-15 2005-09-15 Update of control software for network device Pending JP2007080055A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005268474A JP2007080055A (en) 2005-09-15 2005-09-15 Update of control software for network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005268474A JP2007080055A (en) 2005-09-15 2005-09-15 Update of control software for network device

Publications (1)

Publication Number Publication Date
JP2007080055A true JP2007080055A (en) 2007-03-29

Family

ID=37940282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005268474A Pending JP2007080055A (en) 2005-09-15 2005-09-15 Update of control software for network device

Country Status (1)

Country Link
JP (1) JP2007080055A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122749A (en) * 2007-11-12 2009-06-04 Fujitsu Ltd Program, portable storage medium, and control method
JP2010524108A (en) * 2007-04-13 2010-07-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and program for restoring automatic firmware of peer programmable hardware device
JP2010206262A (en) * 2009-02-27 2010-09-16 Ricoh Co Ltd Image forming apparatus, image forming system, information processing method, and computer program
JP2010277397A (en) * 2009-05-29 2010-12-09 Brother Ind Ltd Peripheral device, program, and network system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524108A (en) * 2007-04-13 2010-07-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and program for restoring automatic firmware of peer programmable hardware device
JP2009122749A (en) * 2007-11-12 2009-06-04 Fujitsu Ltd Program, portable storage medium, and control method
JP2010206262A (en) * 2009-02-27 2010-09-16 Ricoh Co Ltd Image forming apparatus, image forming system, information processing method, and computer program
JP2010277397A (en) * 2009-05-29 2010-12-09 Brother Ind Ltd Peripheral device, program, and network system

Similar Documents

Publication Publication Date Title
US7814480B2 (en) Control software updating technique for a network apparatus
US9602678B2 (en) Peripheral device control system and method
JP3958246B2 (en) Remote creation of printer instances on workstations
EP2673700B1 (en) Network system, interface board, method of controlling printing on an network system, and program
JP5232427B2 (en) Information processing system and firmware setting change method
JP4533780B2 (en) Image forming system, image forming apparatus, terminal device, and driver updating method for terminal device
US10838703B2 (en) Information processing apparatus and control method therefor
US20100208298A1 (en) Image forming apparatus
JP7355147B2 (en) application program
JP5879987B2 (en) Information processing apparatus, information processing apparatus control method, control program, and image forming system
JP4552815B2 (en) Updating network device control software
JP5581470B2 (en) Device sharing system, device sharing server, device sharing client, and device sharing method
JP2007080055A (en) Update of control software for network device
JP4319093B2 (en) Electronic device and parameter updating method
US8521831B2 (en) Data processing apparatus, data input control method thereof, information processing device, and program for implementing the method
JP6582830B2 (en) Monitor program, communication program, information processing apparatus, image forming apparatus, and image forming system
JP2000122853A (en) Combined device and controlling method in the device
JP2009238002A (en) Image forming apparatus, information processing apparatus, information processing method, and information processing program
JP2021043547A (en) Information processing device and control method for information processing device, and program
JP2014052751A (en) Network printing system using proxy
JP2010218352A (en) Device management apparatus, image forming apparatus, and device management program
JP2007166457A (en) Electronic apparatus, control method, program, and recording medium
JP2022116938A (en) Management system and communication device
JP2012253515A (en) Image input system, information processing apparatus, method for controlling the same, and program
JP2007087133A (en) Update technology of firmware