JP2007080055A - Update of control software for network device - Google Patents
Update of control software for network device Download PDFInfo
- 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
Links
Images
Abstract
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.
しかしながら、各制御部のファームウェアを必要に応じて更新するためには、ユーザが、各制御部のファームウェアのそれぞれについて格納されているファームウェアと更新用ファームウェアとを比較して、更新の要否を判断することが必要となる場合がある。このような判断は必ずしも容易ではなく、必要なファームウェアの更新がされない場合もある。 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
デジタルテレビ110は、LANを介してHTML(HyperText Markup Language)で記述されたHTMLデータを取得し、ブラウザを用いてこのHTMLデータで表されるWebページを表示する機能を有している。
The
複合機200は、ネットワークユニット300と、デバイスユニット400とを有している。ネットワークユニット300は、LAN上の他の装置とデバイスユニット400との間で交換されるメッセージを仲介するネットワークプロトコル制御部302としての機能を有している。
The
ネットワークユニット300は、HTTPサーバおよびHTTPクライアントとしての機能を有している。後述するように、ネットワークユニット300は、LANから転送されるHTTPに基づいたメッセージのヘッダを解釈してデバイスユニット400に転送し、デバイスユニット400から転送されるメッセージにHTTPに基づいたヘッダを付加してLANに転送する。なお、ネットワークユニット300は、ネットワークに関する種々の制御を行う一種の制御部である。
The
デバイスユニット400は、サービスデバイスとしてのプリンタ404及びスキャナ406と、これらを制御するデバイス制御部402とを備えている。また、プリンタ404及びスキャナ406以外のサービスも追加することができる。サービスデバイスとしては、プリンタ404やスキャナ406を単独で、あるいはその他のサービスデバイス単独で存在させることも可能である。ネットワークユニット300とデバイスユニット400との間は、USB(Universal Serial Bus)で接続されている。但し、両者の間をUSB以外の他の物理的インタフェースで接続することも可能である。なお、デバイスユニット400は、プリンタ404やスキャナ406等の複合機200の主要な機能を実行する一種の制御部である。
The
なお、デジタルテレビ110及び複合機200は、UPnP(Universal Plug and Play。UPnPは、UPnP Implementers Corporationの商標)対応のネットワーク装置として構成することも可能である。この場合、複合機200のネットワークユニット300は、UPnPで使用される種々のネットワークプロトコルを解釈しデバイスユニット400に転送する。これにより、複合機200は、UPnPで使用可能な各種機能をデジタルテレビ110に提供することができる。
Note that the
デジタルテレビ110及び複合機200がUPnP対応のネットワーク装置となっている場合、デジタルテレビ110は、UPnPの機能によりHTMLデータである複合機200のプレゼンテーションページを取得することができる。このプレゼンテーションページをデジタルテレビ110のブラウザに表示させることにより、複合機200の各種設定を行うユーザインタフェースが表示される。
When the
なお、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
ファームウェア保管サーバ130には、複合機200の制御ソフトウェア(「ファームウェア」と呼ばれる)の更新に使用されるファームウェアデータ(更新データ)と、更新データに関する情報とが格納されている。この複合機200のファームウェアの更新については、後述する。ファームウェア保管サーバ130に格納されたファームウェアデータは、インターネットINETを介してファームウェアデータを提供する。ファームウェアデータの提供は、HTTP(Hypertext Transfer Protocol)に従ってファームウェアデータの送出をファームウェア保管サーバ130のHTTPサーバに要求することにより行われる。なお、本実施例では、ファームウェア保管サーバ130は、HTTPに従ってファームウェアの送出を行っているが、FTP(File Transfer Protocol)等の他のプロトコルに従ってファームウェアの送出を行うことも可能である。
The
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
ネットワークユニット300は、中央制御部(CPU)310と、RAM320と、電気的に書込可能なROM(EPROM)330と、ネットワーク制御部340と、USBホスト制御部350とを有している。EPROM330には、ネットワークユニット300のファームウェアが格納されている。このファームウェアは、複合機200の起動時に中央制御部310によりRAM320に転送される。そして、RAM320に転送されたファームウェアを実行することにより、中央制御部310は、ネットワークユニット300が有する種々の機能を実現する。なお、EPROM330としては、フラッシュメモリ等、電気的に書換が可能な任意のEPROMを使用することができる。
The
ネットワーク制御部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
デバイスユニット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
印刷エンジン440は、与えられた印刷データに応じて印刷を実行する印刷機構である。スキャンエンジン450は、画像をスキャンして画像データを生成する機構である。なお、本発明は、複合機200のファームウェア更新に関するものであり、これらの印刷エンジン440とスキャンエンジン450との構成や機能などには影響しないので、その説明を省略する。
The
デバイスユニット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
ネットワークユニット300の中央制御部310とネットワーク制御部340とUSBホスト制御部350は、図1におけるネットワークプロトコル制御部302としての機能を実現する。より具体的には、ネットワーク制御部340は、各種のネットワークプロトコルに従ってメッセージの送受信を行う。また、中央制御部310は、ネットワークプロトコルを解釈して転送先を決定する。USBホスト制御部350は、デバイスユニット400との間でメッセージを転送する。なお、これらの制御部310,340,350は、メッセージボディの解釈や処理は行わずにメッセージを転送している。
The
デバイスユニット400のUSBデバイス制御部460及び中央制御部410は、図1におけるデバイス制御部402としての機能を実現する。より具体的には、USBデバイス制御部460は、USBの転送プロトコルに従ってメッセージの送受信を行う。また、中央制御部410は、ネットワークユニット300を介して転送されたメッセージの内容を解釈し、メッセージの内容に応じた処理を実行して、印刷エンジン440やスキャンエンジン450を動作させる。印刷エンジン440は図1のプリンタ404に相当し、スキャンエンジン450は図1のスキャナ406に対応する。
The USB
図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
プロトコル変換部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
図3において、ネットワークユニット300とデバイスユニット400の間には、種々の通信チャンネルが描かれている。これらは、ネットワークユニット300とデバイスユニット400の同一階層間における論理的な接続を示している。D4プロトコル処理部1100,2100の間の5つのチャンネルは、USB転送における論理的なチャンネルである。以下ではまず、USB転送用のチャンネルについて説明する。
In FIG. 3, various communication channels are drawn between the
図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
プリンタ用のバルクアウトエンドポイントEP#1とバルクインエンドポイントEP#2は、印刷エンジン440用のメッセージの受信と送信を行うためのエンドポイントである。同様に、スキャナ用のバルクアウトエンドポイントEP#3とバルクインエンドポイントEP#4は、スキャンエンジン450用のメッセージの受信と送信を行うためのエンドポイントである。一般に、USBデバイスでは、コントロールエンドポイントEP#0以外のエンドポイントは、論理的なインタフェース(「デバイスクラス」と呼ばれる)によって区分されている。図4(a)の例では、論理的なインタフェースとして、プリンタインタフェースIF#0とスキャナインタフェースIF#1とが設けられている。
The printer bulk-out
本実施例では、図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
図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
図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
DOWN-CONTENTチャンネルは、ネットワークユニット300からデバイスユニット400に種々のデータを転送するために設けられている。PRINT-DATAチャンネルとPRINT-STATUSチャンネルとは、印刷エンジン440とネットワークユニット300との間のデータ転送を行うチャンネルである。
The DOWN-CONTENT channel is provided for transferring various data from the
図7は、ネットワークユニット300を介したデータ転送処理の一例を示すシーケンス図である。図7の例は、デジタルテレビ110がそのブラウザ上で表示するためのHTMLデータを取得する様子を示している。このとき、デジタルテレビ110と、ネットワークユニット300と、デバイスユニット400との間で種々のメッセージが転送される。
FIG. 7 is a sequence diagram illustrating an example of data transfer processing via the
ステップ[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
ステップ[2]では、ネットワークユニット300が、リクエストメッセージF1を解析する。図7の例では、ネットワークユニット300は、リクエストメッセージF1を解析することにより、HTTPのリクエスト命令がURIで示されるHTMLデータを取得するためのGETリクエストであると判定する。なお、ネットワークユニット300は、リクエストメッセージF1が送信データを含んでいても、送信データの内容の解釈は行わない。
In step [2], the
ステップ[3]において、ネットワークユニット300は、LOCAL-CONTROLチャンネルを介して、リクエストID(RequestID)を取得するコマンド(GetRequestID)をデバイスユニット400に送出する。送出されるGetRequestIDコマンドには、そのパラメータとして、HTTPのリクエスト命令の種類(GET)と、取得されるHTMLデータのURIとが付加される。なお、リクエストIDとは、GetRequestIDコマンドに応じてネットワークユニット300とデバイスユニット400との間で送受信されるデータを識別するための識別コードである。
In step [3], the
ステップ[4]において、デバイスユニット400は、GetRequestIDコマンドに対して応答(Reply)を行う。この応答には、ステップ[3]のGetRequestIDコマンドに応じてデバイスユニット400が送信するHTMLデータ(返信データ)を識別するためのリクエストIDが含まれている。
In step [4], the
ステップ[5]では、デバイスユニット400が、GetRequestIDコマンドに応じて返信データを準備する。具体的には、デバイスユニット400は、GetRequestIDコマンドのパラメータとして与えられたURIに従って種々の処理を行い、その結果としてHTMLデータを生成する。
In step [5], the
ステップ[6]において、デバイスユニット400は、UP-PRESENTATIONチャンネルを介して、返信メッセージR1をネットワークユニット300に送出する。なお、返信メッセージR1中には、送信されるHTMLデータがステップ[3]で転送された要求に対応することを示すリクエストIDが含まれる。
In step [6], the
ステップ[7]において、ネットワークユニット300は、返信メッセージR1からHTMLデータを抽出する。そして、抽出されたHTMLデータにHTTPヘッダを付加する。このHTTPヘッダは、HTTPリクエストの処理結果を示すステータスコードを含んでいる。例えば、処理結果がOKであればステータスコードが”200”に設定され、エラーであれば”500”に設定される。
In step [7], the
ステップ[8]では、こうして作成されたHTTPのレスポンスメッセージR2がネットワークユニット300からデジタルテレビ110に送信される。
In step [8], the HTTP response message R2 thus created is transmitted from the
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
デジタルテレビ110が、メンテナンスページをブラウザ上に表示することにより、ブラウザには複合機200の各種設定を行うためのユーザインタフェースが表示される。なお、デジタルテレビ110と複合機200とのいずれもがUPnP対応ネットワークデバイスとして構成されている場合、複合機200がコントロールポイントに通知するプレゼンテーションページを用いて、デジタルテレビ110は、メンテナンスページをブラウザ上に表示することができる。
When the
図8(a)は、複合機200のメンテナンスページがデジタルテレビ110のブラウザ上に表示されている様子を示している。図8(a)に示すように、メンテナンスページにより形成されるユーザインタフェースUI1には、プリンタのノズルの状態をチェックを指示するためのボタンBEX1と、プリンタのノズルのクリーニングを指示するためのボタンBEX2と、複合機200のファームウェアの更新を指示するためのボタンBEX3と、メンテナンスの処理の中止を指示するための中止ボタンBCN1とが、表示されている。
FIG. 8A shows a state in which the maintenance page of the
ユーザがユーザインタフェース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
ユーザがユーザインタフェースUI1に表示されたボタンBEX3を操作すると、デジタルテレビ110は、複合機200のネットワークユニット300にファームウェア更新のためのページの送信を要求するHTTPリクエストを送信する。
When the user operates the button BEX3 displayed on the user interface UI1, the
図9は、デジタルテレビ110が複合機200のネットワークユニット300にファームウェア(FW)更新のためのページの送信を要求するHTTPリクエストを送信する際の処理の様子を示すシーケンス図である。
FIG. 9 is a sequence diagram illustrating a process when the
ステップ[CF1]において、デジタルテレビ110は、ネットワークユニット300にファームウェア更新ページの送信を要求する。具体的には、デジタルテレビ110は、ページの送信を要求する内容を表すGETメソッドと、ファームウェア更新ページを指定するURIとを含むHTTPのリクエストメッセージをネットワークユニット300に送信する。
In step [CF1], the
ステップ[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
ステップ[CF4]において、デバイスユニット400は、ファームウェア更新ページの送信要求に対して、返信するHTMLデータを生成する。本実施例において、ステップ[CF4]では、ユーザにファームウェアの更新の実行可否を確認する更新確認ページを表すHTMLデータが生成される。更新確認ページを表すHTMLデータは、ステップ[CF5]でネットワークユニット300に送出される。ネットワークユニット300は、ステップ[CF6]において、更新確認ページを表すHTMLデータにHTTPヘッダを付加した後、HTTPレスポンスとしてメッセージをデジタルテレビ110に送信する。
In step [CF4], the
図8(b)は、図9のステップ[CF6]においてデジタルテレビ110に送信された更新確認ページがデジタルテレビ110のブラウザ上に表示されている様子を示している。更新確認ページにより、デジタルテレビ110のブラウザ上には、ファームウェアの更新の実行可否を確認するためのユーザインタフェースUI2が表示される。
FIG. 8B shows a state in which the update confirmation page transmitted to the
図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
ユーザが、開始ボタンBSTを操作すると、デジタルテレビ110は、複合機200のネットワークユニット300に対してファームウェア更新を開始する指示を送信する。本実施例においては、このファームウェア更新開始の指示も、HTTPのリクエストとして複合機200のネットワークユニット300に送信される。
When the user operates the start button BST, the
図10は、デジタルテレビ110が複合機200のネットワークユニット300にファームウェア更新を開始する指示をHTTPリクエストとして送信する際の処理の様子を示すシーケンス図である。
FIG. 10 is a sequence diagram illustrating a processing state when the
ステップ[ST1]において、デジタルテレビ110は、ネットワークユニット300にユーザによる指示を送信する。具体的には、デジタルテレビ110は、ファームウェア更新CGI(Common Gateway Interface)にユーザの指示に関する情報を含むHTMLデータ(ファームウェア更新指示フォーム)を渡すように、HTTPのPOSTリクエストをネットワークユニット300に送信する。このPOSTリクエストには、ファームウェア更新指示フォームが含まれている。ここで、ファームウェア更新CGIとは、デバイスユニット400上でユーザの指示を解析し、解析内容に応じて処理を実行する一種のコンピュータプログラムである。
In step [ST1], the
ステップ[ST2]において、ネットワークユニット300は、LOCAL-CONTROLチャンネルを介して、GetRequestIDコマンドをデバイスユニット400に送出する。図10の例では、GetRequestIDコマンドには、デジタルテレビ110からのHTTPリクエストがPOSTリクエストであることと、実行されるファームウェア更新CGIを示すURIとがパラメータとして付加されている。ステップ[ST2]のGetRequestIDコマンドに対して、デバイスユニット400は、ステップ[ST3]において、リクエストIDを含む応答を行う。
In step [ST2], the
ステップ[ST4]において、デバイスユニット400は、ファームウェア更新CGIの実行を開始する。デバイスユニット400は、ステップ[ST5]において、ネットワークユニット300からファームウェア更新指示フォームを取得する。取得されたファームウェア更新指示フォームは、ファームウェア更新CGIにより解析される。ファームウェア更新指示フォームの解析により、ユーザの指示がファームウェア更新を中止する指示であると判定された場合には、処理は中止される。なお、ファームウェア更新処理が中止されると、デバイスユニット400は、デバイスユニット400をファームウェアの更新以外の処理要求を受け付ける状態にする。
In step [ST4], the
一方、ユーザの指示がファームウェア更新を実行する指示であると判定された場合には、処理が続行される。この場合、デバイスユニット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
ステップ[ST6]において、デバイスユニット400は、生成された更新開始ページをネットワークユニット300に送出する。そして、ステップ[ST7]において、ネットワークユニット300は、HTTPヘッダが付加された更新開始ページをデジタルテレビ110に送信する。
In step [ST6], the
図8(c)は、図10のステップ[ST7]においてデジタルテレビ110に送信された更新開始ページがデジタルテレビ110のブラウザ上に表示されている様子を示している。図8(c)に示すように、デジタルテレビ110のブラウザ上には、ファームウェアの更新を開始したことをユーザに通知するユーザインタフェースUI3が表示される。
FIG. 8C shows a state in which the update start page transmitted to the
図11は、更新開始ページに含まれる指示により、デジタルテレビ110のブラウザが定期的にファームウェア更新ページを取得する際のシーケンス図である。図11に示すシーケンスは、ステップ[SM4]においてデバイスユニット400で生成されるデジタルテレビに返信されるHTMLデータが更新確認ページから状態表示ページとなっている点で、図9に示すシーケンスと異なっている。他の点は、図9に示すシーケンスと同じであるので、ここではその説明は省略する。
FIG. 11 is a sequence diagram when the browser of the
図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
図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
ステップS100において、デバイスユニット400は、ファームウェア保管サーバ130(図1)に格納されているファームウェアデータ情報を取得する。図14は、ステップS100においてファームウェアデータ情報を取得する様子を示すシーケンス図である。図14に示すように、ステップS100では、ファームウェア保管サーバ130と、ネットワークユニット300と、デバイスユニット400と、の間でデータの転送が行われる。
In step S100, the
図14のステップ[GL1]において、デバイスユニット400は、LOCAL-EVENTチャンネルを介してネットワークユニット300にGetRequestIDコマンドを送出する。ステップ[GL1]で送出されるGetRequestIDコマンドには、予めデバイスユニット400に記録されたファームウェアデータ情報の所在を示すURIと、ファームウェアデータ情報を取得するためのリクエスト命令(GET)が付加されている。
In step [GL1] in FIG. 14, the
ステップ[GL2]において、ネットワークユニット300は、ステップ[GL1]で受け取ったコマンドGetRequestIDに応答する。そして、ステップ[GL3]において、ファームウェアデータ情報の送出を要求するGETリクエストをファームウェア保管サーバ130に送信する。
In step [GL2], the
ステップ[GL4]において、ファームウェア保管サーバ130は、ステップ[GL3]で受け取ったHTTPリクエストに応じたHTTPレスポンスとして、ファームウェアデータ情報をネットワークユニット300に送信する。
In step [GL4], the
ステップ[GL5]において、ネットワークユニット300は、ステップ[GL4]でファームウェア保管サーバ130から受信したファームウェアデータ情報をDOWN-CONTENTチャンネルを介してデバイスユニット400に転送する。転送されたファームウェアデータ情報は、ステップ[GL6]において、デバイスユニット400のRAM420(図2)に格納される。
In step [GL5], the
図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
図13のステップS200において、デバイスユニット400は、ネットワークユニット300のファームウェアの更新の要否を判断する。具体的には、デバイスユニット400は、ステップS100で取得したファームウェアデータ情報を解析することにより、ファームウェア保管サーバ130に格納されたネットワークユニット300の更新用ファームウェアのバージョン番号を取得する。取得された更新用ファームウェアのバージョン番号と、複合機200の起動時にネットワークユニット300から通知される使用中のファームウェアのバージョン番号とが、デバイスユニット400により比較される。この使用中のファームウェアは、ネットワークユニット300が保有するファームウェアであるので、ネットワークユニット300の保有ファームウェアとも言うことができる。
In step S200 of FIG. 13, the
ネットワークユニット300の更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号よりも大きい場合、デバイスユニット400は、ネットワークユニット300のファームウェアの更新が必要であると判断し、制御がステップS210に移される。一方、更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号以下の場合、デバイスユニット400は、ネットワークユニット300のファームウェアの更新が不要であると判断し、制御はステップS300に移される。
If the version number of the firmware for updating the
ステップS210において、デバイスユニット400は、ファームウェア保管サーバ130(図1)からネットワークユニット300のファームウェアデータを取得し、デバイスユニット400のRAM420(図2)に格納する。
In step S210, the
図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
ステップ[GN3]において、ネットワークユニット300は、レンジリクエストヘッダが付加されたGETリクエストをファームウェア保管サーバ130に送信し、ネットワークユニット300のファームウェアデータの送出を要求する。通常、ネットワークユニット300が稼働しているときのRAM320(図2)の空き容量は、ネットワークユニット300のファームウェアデータよりも小さい。そのため、ステップ[GN3]で送信されるGETリクエストでは、レンジリクエストヘッダにより転送されるファームウェアデータの範囲が指定され、転送されるデータの大きさが制限されている。ファームウェア保管サーバ130は、ネットワークユニット300のファームウェアデータのうちレンジリクエストヘッダで指定された範囲のデータを送信する。なお、本実施例では、ネットワークユニット300がレンジリクエストヘッダをGETリクエストに付加することにより送信されるファームウェアデータの範囲を指定しているが、ファームウェア保管サーバ130が送信範囲を指定するものとしてもよい。
In step [GN3], the
ステップ[GN3]でファームウェア保管サーバ130に送信されるGETリクエストでは、レンジリクエストヘッダにより送信されるファームウェアデータの範囲が指定されている。ネットワークユニット300は、ファームウェアデータの全体を順次デバイスユニット400に転送するため、レンジリクエストヘッダのパラメータを適宜変更するとともに、ステップ[GN3]ないしステップ[GN5]を複数回繰り返し実行する。そのため、ファームウェアデータ全体は、複数に分割されて順次デバイスユニット400に転送される。デバイスユニット400は、ステップ[GN5]で転送されるデータを順次RAM420に格納する。これにより、デバイスユニット400のRAM420には、ネットワークユニット300のファームウェアデータ全体が格納される。
In the GET request transmitted to the
図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
図17は、2つのステップS220,S520におけるネットワークユニット300のファームウェアデータの転送と、EPROM330の更新の様子を示すシーケンス図である。
FIG. 17 is a sequence diagram showing how the firmware data of the
ステップ[WN1]において、デバイスユニット400は、LOCAL-EVENTチャンネルを介してネットワークユニット300にファームウェアの更新を指示するコマンドを送出する。ネットワークユニット300は、ステップ[WN2]において、ステップ[WN1]で受け取ったコマンドに対する応答として、ファームウェアの更新が可能か否かをデバイスユニット400に通知する。デバイスユニット400は、ステップ[WN2]で受け取った応答から、ネットワークユニット300のファームウェアの更新が不可能と判断した場合、ファームウェアの更新処理を終了する。
In step [WN1], the
ネットワークユニット300は、ファームウェアの更新が可能な場合、ステップ[WN3]において、ファームウェア更新デーモンの実行を開始する。ここで、ファームウェア更新デーモンとは、USBのcontrol IN/OUTパイプ(図3)を介したデバイスユニット400とのデータ転送と、転送されたデータによるEPROM330の書き換えと、を行うコンピュータプログラムである。なお、control IN/OUTパイプを介したデータの転送は、一般に、コントロール転送と呼ばれる。なお、コントロール転送によるファームウェアの転送には、上述した標準デバイスリクエストとは異なるベンダリクエスト(Vendor Request)が使用される。
If the firmware can be updated, the
デバイスユニット400は、ネットワークユニット300のファームウェアの更新が可能と判断した場合、ステップ[WN4]において、ネットワークユニット300のファームウェアデータをコントロール転送によりネットワークユニット300に送出する。ステップ[WN5]において、ネットワークユニット300は、ネットワークユニット300のEPROM330をステップ[WN4]で転送されたファームウェアデータに順次更新する。なお、EPROM330のデータの更新は、EPROM330のうちデータを書き込む領域を消去した後、消去した領域に新しいデータを記録することによって行われる。
If the
ステップ[WN5]におけるデータの更新が終了すると、ステップ[WN6]において、ネットワークユニット300は、ネットワークユニット300のファームウェアの更新の終了をコントロール転送によりデバイスユニット400に通知する。
When the data update in step [WN5] is completed, in step [WN6], the
図13のステップS300において、デバイスユニット400は、デバイスユニット400のファームウェアの更新の要否を判断する。具体的には、デバイスユニット400は、ステップS100で取得したファームウェアデータ情報を解析することにより、ファームウェア保管サーバ130に格納されたデバイスユニット400の更新用ファームウェアのバージョン番号を取得する。取得された更新用ファームウェアのバージョン番号と、デバイスユニット400のEPROM430に格納されている使用中のファームウェアのバージョン番号とが、デバイスユニット400により比較される。この使用中のファームウェアは、デバイスユニット400が保有するファームウェアであるので、デバイスユニット400の保有ファームウェアとも言うことができる。
In step S300 of FIG. 13, the
デバイスユニット400の更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号よりも大きい場合、デバイスユニット400は、デバイスユニット400のファームウェアの更新が必要であると判断し、制御がステップS310に移される。一方、更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号以下の場合、デバイスユニット400は、デバイスユニット400のファームウェアの更新が不要であると判断し、制御はステップS330に移される。
If the version number of the firmware for updating the
図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
図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
図13のステップS320において、デバイスユニット400は、RAM420に格納されたデバイスユニット400のファームウェアデータにより、デバイスユニット400のEPROM430(図2)を更新する。
In step S320 of FIG. 13, the
図19は、図13のステップS320において、デバイスユニット400のEPROM430を更新する様子を示すシーケンス図である。
FIG. 19 is a sequence diagram showing how the
ステップ[WD1]において、デバイスユニット400は、LOCAL-EVENTチャンネルを介してネットワークユニット300に停止コマンドを送出する。ネットワークユニット300は、ステップ[WD2]において、ステップ[WD1]で受け取った停止コマンドに応答する。
In step [WD1], the
ステップ[WD3]では、ネットワークユニット300は、ネットワークユニット300のシャットダウンの準備を行う。具体的には、ネットワークユニット300によって実行される種々のネットワークプロトコルの処理機能を停止する。ネットワークプロトコルの処理機能が停止し、ネットワークユニット300のシャットダウンが可能になると、ネットワークユニット300は、ステップ[WD4]において、デバイスユニット400にシャットダウンコマンドを送出する。デバイスユニット400は、ステップ[WD5]において、ステップ[WD4]で受け取ったシャットダウンコマンドに対して応答する。
In Step [WD3], the
ステップ[WD6]において、デバイスユニット400は、RAM420からの再起動を行う。具体的には、デバイスユニット400で実行される制御ソフトウェアが、EPROM430に記録されたファームウェアから、図18のステップ[GD6]においてRAM420に格納されたファームウェアに切り替えられる。
In step [WD6], the
RAM420からの再起動により、ステップ[WD7]では、USBの切断処理が行われる。ステップ[WD7]でUSBの切断処理が行われると、ネットワークユニット300は、ステップ[WD8]においてシャットダウンされてその機能が停止する。一方、デバイスユニット400は、ステップ[WD9]において、EPROM430の更新を行う。
By the restart from the
ステップ[WD9]でのEPROM430の更新が完了すると、ステップ[WD10]において、デバイスユニット400は、デバイスユニット400自体のシャットダウン処理を行うとともに、電源制御部520(図2)から電源回路210(図2)にネットワークユニット300およびデバイスユニット400への電力の供給を停止する指示を送出する。電力供給停止の指示により、電源回路210は、ステップ[WD11]において、ネットワークユニット300およびデバイスユニット400への電力供給を停止し、複合機200は電源OFFの状態となる。
When the update of the
図13のステップS330において、デバイスユニット400は、ネットワークユニット300とデバイスユニット400とのシャットダウン処理を行う。図20は、ステップS330における、ネットワークユニット300とデバイスユニット400とのシャットダウン処理の様子を示すシーケンス図である。図20に示すシーケンスは、RAM420からの再起動[WD6]とEPROM430の更新[WD9]との2つのステップが省略されている点で、図19に示すシーケンスと異なっている。他の点は、図19のシーケンスと同じである。
In step S330 of FIG. 13, the
このように、本実施例では、デバイスユニット400が、ファームウェアデータ情報に格納された更新用ファームウェアのバージョン番号と、ネットワークユニット300とデバイスユニット400とのそれぞれで使用しているファームウェアのバージョン番号とを比較する。そして、ネットワークユニット300とデバイスユニット400とのうち、更新用ファームウェアのバージョン番号が使用中のファームウェアのバージョン番号よりも大きいファームウェアについてファームウェアの更新を行う。そのため、ネットワークユニット300とデバイスユニット400とのファームウェアの更新をより確実に行うとともに、ファームウェア更新に要する時間をより短縮することができる。
As described above, in this embodiment, the
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
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
ファームウェアの更新処理に関する指示を第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
D3.変形例3:
上記実施例では、ネットワークユニット300は、EPROM330に格納されたファームウェアをRAM320に転送し、転送したRAM320に格納されたファームウェアにより制御を実行しているが、制御の実行に使用されるファームウェアはEPROM330に格納されたものであってもよい。この場合、ファームウェアの更新の後のネットワークユニット300の再起動が不要となるので、EPROM330が複数のファームウェア格納領域を備え、制御の実行に使用されるファームウェアの格納領域とは異なる領域のファームウェアに対してファームウェアの更新を行うのがより好ましい。
D3. Modification 3:
In the above embodiment, the
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
D5.変形例5:
上記実施例では、ファームウェアデータ情報と、ネットワークユニット300のファームウェアデータと、デバイスユニット400のファームウェアデータと、がいずれも単一のファームウェア保管サーバ130(図1)に格納されているものとしているが、これらのデータの少なくとも1つは、複数のデータ保管サーバに別個に格納されていてもよい。
D5. Modification 5:
In the above embodiment, the firmware data information, the firmware data of the
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…ネットワークシステム
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
330 ... EPROM
340 ...
430 ... EPROM
440 ...
Claims (7)
前記第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の更新データと、前記第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.
前記工程(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.
前記第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.
前記第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.
前記ネットワーク装置は、ユニバーサルプラグアンドプレイ対応のネットワーク装置であって、
前記制御ソフトウェアの更新方法は、さらに、
前記第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.
前記第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.
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)
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 |
-
2005
- 2005-09-15 JP JP2005268474A patent/JP2007080055A/en active Pending
Cited By (4)
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 |