JP2008065506A - ソフトウェアの更新処理を実行する方法及びコンピュータ - Google Patents
ソフトウェアの更新処理を実行する方法及びコンピュータ Download PDFInfo
- Publication number
- JP2008065506A JP2008065506A JP2006241115A JP2006241115A JP2008065506A JP 2008065506 A JP2008065506 A JP 2008065506A JP 2006241115 A JP2006241115 A JP 2006241115A JP 2006241115 A JP2006241115 A JP 2006241115A JP 2008065506 A JP2008065506 A JP 2008065506A
- Authority
- JP
- Japan
- Prior art keywords
- peripheral devices
- transmission unit
- update data
- computer
- unit groups
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】通信ネットワークに接続されたプリンタ等の周辺機器にファームウェアの更新データを送信する場合に、パケットの衝突(コリジョン)の発生を抑制し、更新処理の実行時間を削減する方法及びコンピュータを提供すること。
【解決手段】コンピュータ11は、通信ネットワーク14等の通信速度を測定し、通信ネットワーク14等に接続された複数の周辺機器(プリンタ13a1等)を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類し、前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信し、前記更新データを送信した送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信する。
【選択図】図4
【解決手段】コンピュータ11は、通信ネットワーク14等の通信速度を測定し、通信ネットワーク14等に接続された複数の周辺機器(プリンタ13a1等)を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類し、前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信し、前記更新データを送信した送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信する。
【選択図】図4
Description
本発明は、ソフトウェアの更新処理を実行する方法及びコンピュータに関する。特に、通信ネットワークに接続されたプリンタ等の周辺機器のファームウェアの更新処理を実行する方法及びコンピュータに関する。
従来、通信ネットワークに接続されたプリンタ等の周辺機器のファームウェアをバージョンアップや不具合対応等のために更新する場合、当該通信ネットワークに接続されたコンピュータから、当該ファームウェアの更新データを送信することにより、当該プリンタ等の周辺機器において当該更新データを受信して更新処理を実行している。また、プリンタの製造現場においては、製造コストを抑制する観点から、標準仕様のファームウェアの基板を製造しておき、必要に応じて他国語フォントやカスタムファームへ書き換えて出荷することがある。
このような場合、複数台(数十台から数百台程度)の標準仕様のファームウェアのプリンタを通信ネットワークに接続し、ホストコンピュータから当該ファームウェアの更新データを同時に送信して書き換えることにより、当該ファームウェアの更新処理を実行する。
より具体的には、当該プリンタ等の周辺機器は、当該ファームウェアを記憶するFlashROM等の記憶手段を備えている。そこで、当該ホストコンピュータから、例えば、モトローラ(登録商標)S3フォーマットで当該FlashROM等に記憶されているファームウェアの全体イメージファイルの更新データを、通信ネットワークを介して当該プリンタ等の周辺機器に送信する。
ところで、モトローラ(登録商標)S3フォーマットは、バイナリ形式のデータレコードに変換することができる。すなわち、図5に示すように、当該ファームウェアの更新データを最大250バイトずつのオブジェクトデータに分割し、分割したそれぞれのオブジェクトデータに対して、2バイトのタイプフィールド、1バイトのデータ長フィールド、及び4バイトのアドレスフィールドで構成する合計7バイトのヘッダ部、並びに1バイトのチェックサムを加えた単位データの配列として構成可能である。
近年のプリンタの機能向上の要請に応じて、プリンタのファームウェアも高機能化が進んでおり、ファームウェアの更新データのサイズは拡大する傾向にある。それに伴い、1回のファームウェアの更新で送信する更新データを構成する単位データの数は増大することになる。
このように、上述のように送信する更新データのサイズが大きくなってきたことによって、特に通信ネットワークに接続された大量のプリンタ等の周辺機器に更新データを送信する際の送信時間が運用上の課題となってきた。具体的には、例えば、当該プリンタ等の周辺機器がEthernet(登録商標)で接続されている場合、当該プリンタ等の周辺機器にサイズの大きな当該更新データを同時に送信すると、当該通信ネットワークに負荷がかかり、通信ネットワーク上のパケットが衝突(コリジョン)を起こして途中で消滅してしまう。
TCP(Transmission Control Protocol)通信においては、衝突(コリジョン)が起こった場合、自動的にリトライを行って再度パケットを送信するものの、このリトライの回数が多くなると、リトライに要する時間に応じて更新データの送信時間が増大することになる。また、UDP(User Datagram Protocol)通信においては、このようなリトライ処理等を行わないのでTCP通信に比べて通信効率は高いものの、パケットの衝突(コリジョン)が起こった場合には手動でリトライを行う必要があり、更に運用の手間と送信時間を増大させることになる。
このような状況において、特許文献1に記載の技術によれば、ネットワークで接続された多地点間で映像の送受信を行う際に、映像送信要求を所定の映像単位の送信が終了したことを検知してから次の映像送信要求を行うと共に、その映像送信要求を行う端末を所定の順番で行うように制御することによって、ネットワーク上のコリジョンの発生を減少させることができる。
特開平9−214804号公報
しかしながら、上述のように、通信ネットワークに接続されたコンピュータから、当該通信ネットワークに接続されたPC等に接続されているプリンタ等の周辺機器にファームウェアの更新データを送信する場合に、特許文献1の技術を応用したとしても、必ずしも有効であるとはいえない。特許文献1の技術は、多地点間で双方向の映像送信を行う場合にはパケットの衝突(コリジョン)の発生を減少させる効果を発揮するものの、原則として当該コンピュータから当該周辺機器に向かって一方的に大量のパケットを送信する場合にはそのような効果を発揮することができないからである。
従って、通信ネットワークに接続されたコンピュータから、当該通信ネットワークに接続されたPC等に接続されているプリンタ等の周辺機器にファームウェアの更新データを送信する場合に、パケットの衝突(コリジョン)の発生を抑制し、更新処理の実行時間を削減する方法を提供することが望まれている。
そこで、本発明は、通信ネットワークに接続されたコンピュータから、当該通信ネットワークに接続されたPC等に接続されているプリンタ等の周辺機器にファームウェアの更新データを送信する場合に、パケットの衝突(コリジョン)の発生を抑制し、更新処理の実行時間を削減する方法及びコンピュータを提供することを目的とする。
そこで、上記の目的を達成するため、本発明者らが研究を重ねた結果、更新データの送信スケジュールを調整することにより、パケットの衝突(コリジョン)の発生を抑制し、当該ファームウェアの更新処理の実行時間を削減する方法を見出し、本発明を完成するに至った。本発明は、具体的には以下のようなものを提供する。
本発明は、通信ネットワーク(通信ネットワーク14等)に接続されたコンピュータが、前記通信ネットワークに接続された複数の周辺機器(プリンタ13a1等)のファームウェアの更新処理を実行する方法であって、
前記通信ネットワークの通信速度を測定するステップと、
前記複数の周辺機器を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類するステップと、
前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信するステップと、
前記更新データを送信した送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信するステップと、を含むことを特徴とする。
前記通信ネットワークの通信速度を測定するステップと、
前記複数の周辺機器を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類するステップと、
前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信するステップと、
前記更新データを送信した送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信するステップと、を含むことを特徴とする。
本発明のこのような構成によれば、前記コンピュータは、前記通信ネットワークの通信速度を測定し、前記複数の周辺機器を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類し、前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信し、前記更新データを送信した送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信することが可能である、という作用効果を有する。
このことにより、前記コンピュータは、前記更新データを前記複数の周辺機器に送信する際に、測定した前記通信ネットワークの通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループ毎に送信することができる。
その結果、前記コンピュータは、測定した前記通信ネットワークの通信速度に応じて決定する最大数を超える周辺機器の更新処理を実行する場合においても、同時に大量のパケットを送信した場合に起こり得るパケットの衝突(コリジョン)の発生を抑制し、以って前記更新処理の実行時間を削減することができる。
なお、前記最大数は、測定した前記通信ネットワークの通信速度に応じて適当な数を決定することができる。具体的には、例えば、70Mbpsの実効通信速度を測定した場合には、前記最大数として8を決定してもよい。
このようにして、前記コンピュータは、前記通信ネットワークの通信速度に応じて最も効率が良いと考えられる前記最大数を決定することにより、前記通信ネットワークの状態に応じて前記送信単位グループを構成する前記周辺機器の数を増減して前記更新データを同時に送信する周辺機器の数を調整し、パケットの衝突(コリジョン)の発生を抑制しつつ、効率よく前記更新データを送信することができる。
なお、前記通信ネットワークの通信速度の測定方法としては、公知の様々な手法が適用可能である。具体的には、例えば、前記コンピュータから所定の前記周辺機器側にベンチマークデータを送信し、受信側で全てのデータを受信するまでの時間を測定する方法等が考えられる。
また、前記通信ネットワークの通信速度の測定は、更新の対象となる周辺機器全体について一度行ってもよいし、それに加えて、前記更新処理の実行中にも再度通信速度の測定を行い、その測定結果に応じてそれ以降の前記送信単位グループを構成する前記周辺機器の数の最大数を変更してもよい。
また、本発明は、前記コンピュータが、前記送信単位グループの一を構成する周辺機器に対して前記更新データを送信する前に、前記送信単位グループの一を構成する全ての周辺機器から、送信すべき更新データを特定するための情報を取得する前処理ステップを含むことが更に望ましい。
本発明のこのような構成によれば、前記コンピュータは、前記送信単位グループの一を構成する周辺機器に対して前記更新データを送信する前に、前記送信単位グループの一を構成する全ての周辺機器から、送信すべき更新データを特定するための情報を取得することが可能である、という作用効果を有する。
このことにより、前記コンピュータは、前記送信単位グループの一を構成する周辺機器に対して前記更新データを送信する前に、前記送信単位グループの一を構成する全ての周辺機器から、例えば、前記周辺機器の機種名情報やファームウェアのバージョン情報等を取得することによって、それぞれの前記周辺機器に対して送信すべき更新データを特定すると共に、当該情報を取得することによるパケットの衝突(コリジョン)の発生を抑制し、以って前記更新処理の実行時間を削減することができる。
その結果、送信すべき更新データが異なる周辺機器が前記送信単位グループの一を構成する場合においても、前記コンピュータは、それぞれの周辺機器毎に送信すべき更新データを特定しつつ、そのための情報を取得することによるパケットの衝突(コリジョン)の発生を抑制し、以って前記更新処理の実行時間を削減することができる。
また、本発明は、前記コンピュータが、前記送信単位グループの一を構成する全ての周辺機器において前記更新データの書き込みが終了した後、前記送信単位グループの他の一を構成する全ての周辺機器について前記更新データの送信が完了したことを確認してから、前記送信単位グループの一を構成する全ての周辺機器から、前記更新処理の完了を確認するための情報を取得する後処理ステップを含むことが更に望ましい。
本発明のこのような構成によれば、前記コンピュータは、前記送信単位グループの一を構成する全ての周辺機器において前記更新データの書き込みが終了した後、前記送信単位グループの他の一を構成する全ての周辺機器について前記更新データの送信が完了したことを確認してから、前記送信単位グループの一を構成する全ての周辺機器から、前記更新処理の完了を確認するための情報を取得することが可能である、という作用効果を有する。
このことにより、前記コンピュータは、前記送信単位グループの一を構成する全ての周辺機器において前記更新データの書き込みが終了した後、前記送信単位グループの一を構成する全ての周辺機器における前記更新処理の完了を、例えば、前記ファームウェアのバージョン情報や復帰確認情報等を前記周辺機器から取得することにより確認しつつ、前記送信単位グループの他の一を構成する周辺機器に対する前記更新データの送信中に当該後処理ステップの実行を回避することにより、パケットの衝突(コリジョン)の発生を抑制し、以って前記更新処理の実行時間を削減することができる。
その結果、前記コンピュータは、前記後処理ステップの実行により前記更新処理の完了を確実に確認しつつ、パケットの衝突(コリジョン)の発生を抑制し、以って前記更新処理の実行時間を削減することができる。
また、本発明は、前記コンピュータが、前記前処理ステップ及び前記後処理ステップをUDP通信により実行し、前記前処理ステップ又は前記後処理ステップが正常に終了しない場合には所定の回数リトライを行うステップを含むことが更に望ましい。
本発明のこのような構成によれば、前記コンピュータは、前記前処理ステップ及び前記後処理ステップをUDP通信により実行し、前記前処理ステップ又は前記後処理ステップが正常に終了しない場合には所定の回数リトライを行うことが可能である、という作用効果を有する。
このことにより、前記コンピュータは、UDP通信により、前記前処理ステップ及び前記後処理ステップをTCP通信に比べて効率的に実行しつつ、これらのステップが正常に終了しない場合には所定の回数(具体的には、例えば、3回)リトライを行うことにより、前記更新処理の実行時間を削減することができる。
また、本発明は、前記後処理ステップにおいて、前記コンピュータが、前記更新処理がエラーとなった周辺機器を発見した場合に、前記エラーとなった周辺機器を、前記周辺機器の数が前記最大数を超えないように前記送信単位グループに分類し直すステップを含むことが更に望ましい。
本発明のこのような構成によれば、前記後処理ステップにおいて、前記コンピュータは、前記更新処理がエラーとなった周辺機器を発見した場合に、前記エラーとなった周辺機器を、前記周辺機器の数が前記最大数を超えないように前記送信単位グループに分類し直すことが可能である、という作用効果を有する。
このことにより、前記コンピュータは、前記更新処理がエラーとなった周辺機器について再度更新処理を実行するために、前記エラーとなった周辺機器を、前記周辺機器の数が前記最大数を超えないように前記送信単位グループに分類し直すことができる。
その結果、前記コンピュータは、前記更新処理がエラーとなった周辺機器が発生した場合においても、パケットの衝突(コリジョン)の発生を抑制しつつ自動的にサイド更新処理を実行し、以って前記更新処理の実行時間を削減することができる。
本発明は、通信ネットワーク(通信ネットワーク14等)に接続された複数の周辺機器(プリンタ13a1等)のファームウェアの更新処理を実行するコンピュータであって、
前記通信ネットワークの通信速度を測定する手段と、
前記複数の周辺機器を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類する手段と、
前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信する手段と、
前記送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信する手段と、を含むことを特徴とする。
前記通信ネットワークの通信速度を測定する手段と、
前記複数の周辺機器を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類する手段と、
前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信する手段と、
前記送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信する手段と、を含むことを特徴とする。
本発明のこのような構成によれば、前記コンピュータは、前記通信ネットワークの通信速度を測定し、前記複数の周辺機器を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類し、前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信し、前記送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信することが可能である、という作用効果を有する。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本発明の好適な実施形態の一例に係るシステムの全体構成を示すブロック図である。図2は、本発明の好適な実施形態の一例に係るコンピュータ11、12a、12b、12c、・・・の構成を示すブロック図である。図3は、本発明の好適な実施形態の一例に係る周辺機器としてのプリンタ13a1、13a2、13a3、13b、13c、・・・の構成を示すブロック図である。図4は、本発明の好適な実施形態の一例に係る更新処理を示す図である。図5は、本発明の好適な実施形態の一例に係る更新データの構成を示す図である。
[システムの全体構成]
[システムの全体構成]
図1に示すように、本発明に係る好適な実施形態の一例に係るシステム1は、コンピュータ11、12a、12b、12c、・・・、周辺機器としてのプリンタ13a1、13a2、13a3、13b、13c、・・・を含んで構成されている。
コンピュータ11、12a、12b、12c、・・・は通信ネットワーク14を介して接続されている。更に、プリンタ13a1、13a2、13a3はそれぞれ通信ネットワーク15a1、15a2、15a3を介してコンピュータ12aに接続されている。同様に、プリンタ13bはコンピュータ12bに、プリンタ13cは12cに、それぞれ通信ネットワーク15b、15cを介して接続されている。
図1の例において、コンピュータ12a、12b、12cはいわゆる汎用パーソナルコンピュータとして実現してもよいし、キャッシュレジスター等の専用情報機器として実現してもよい。
また、通信ネットワーク14は、Ethernet(登録商標)等の構内通信網(LAN)として実現してもよいし、専用線、インターネット、VPN等の広域通信網(WAN)として実現してもよい。通信ネットワーク14がWANを含み、コンピュータ11がコンピュータ12a、12b、12c、・・・と互いに遠隔地の関係にある場合に、本発明の効果がより発揮される。
更に、通信ネットワーク15a1、15a2、15a3、15b、15c、・・・はRS−232C(最大通信速度14.4kbps)、USB(USB2.0で最大通信速度60Mbps)等のシリアルインターフェイスで実現してもよいし、SCSI(最大通信速度320Mbps)等のパラレルインターフェイスで実現してもよい。
更に、コンピュータ12a、12b、12c、・・・は、通信ネットワーク14を介して互いに異なる通信速度でコンピュータ11に接続されていてもよい。
同様に、プリンタ13a1、13a2、13a3、・・・はそれぞれ通信ネットワーク15a1、15a2、15a3と互いに異なる通信速度で接続されていてもよい。
[コンピュータの構成]
[コンピュータの構成]
図2に示すように、コンピュータ11、12a、12b、12c、・・・は、制御部111、記憶部112、通信I/F部113、入力部114、表示部115が、バス116を介して接続されて構成されている。
制御部111は、情報の演算、処理を行う情報演算処理装置であり、CPU(Central Processing Unit)であってよい。また、制御部111はコンピュータ11、12a、12b、12c、・・・全体の制御を行い、記憶部112に記憶された各種プログラムを適宜読み出して実行することにより、上述のハードウェアが協働し、本発明に係る各種機能を実現している。
ここで、表示部115は、ユーザにデータの入力を受け付ける画面を表示したり、コンピュータ11、12a、12b、12c、・・・による演算処理結果の画面を表示したりするものであり、ブラウン管表示装置(CRT)、液晶表示装置(LCD)等のディスプレイ装置を含む。
ここで、入力部114は、ユーザによる入力の受付を行うものであり、キーボード、ポインティングデバイス等を含んでよい。入力部114は、直接又は介在I/Oコントローラを介してコンピュータ11、12a、12b、12c、・・・と接続することができる。
ここで、通信I/F部113は、コンピュータ11、12a、12b、12c、・・・を専用ネットワーク又は公共ネットワークを介して端末と接続できるようにするためのネットワーク・アダプタである。通信I/F部113は、モデム、ケーブル・モデム及びEthernet(登録商標)・アダプタを含んでよい。
ここで、記憶部112は、制御部111と組み合わせてプログラムの実行に使用するローカルメモリ、大容量のバルクメモリ、及び当該バルクメモリの検索を効率的に行うために使用するキャッシュメモリを含んでよい。記憶部112を実現するコンピュータ可読媒体としては、電気的、磁気的、光学的、電磁的に実現するものを含んでよい。より具体的には、半導体記憶装置、磁気テープ、フレキシブルディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、CD−ROMとCD−R/WとDVDとを含む光ディスクが含まれる。
[プリンタの構成]
[プリンタの構成]
図3に示すように、プリンタ13a1、13a2、13a3、13b、13c、・・・は、CPU131、FlashROM132、RAM133、通信I/F部134、操作ボタン135、表示部136、プリンタユニット137が、バス138を介して接続されて構成されている。
CPU131は、情報の演算、処理を行う情報演算処理装置であり、プリンタ13a1、13a2、13a3、13b、13c、・・・全体の制御を行い、FlashROM132に記憶されたファームウェア等の各種プログラムを適宜読み出して実行することにより、上述のハードウェアが協働し、本発明に係る各種機能を実現している。
ここで、表示部136は、ユーザにデータの入力を受け付ける画面を表示したり、プリンタ13a1、13a2、13a3、13b、13c、・・・による演算処理結果の画面を表示したりするものであり、液晶表示装置(LCD)等のディスプレイ装置を含む。
ここで、操作ボタン135は、ユーザによる入力の受付を行うものであり、様々な形式のボタンその他の入力デバイスを含んでよい。操作ボタン135は、直接又は介在I/Oコントローラを介してプリンタ13a1、13a2、13a3、13b、13c、・・・と接続することができる。
ここで、通信I/F部134は、プリンタ13a1、13a2、13a3、13b、13c、・・・を専用ネットワーク又は公共ネットワークを介して端末と接続できるようにするためのネットワーク・アダプタである。通信I/F部134は、RS−232C、USB等のシリアルインターフェイス・アダプタ、SCSI等のパラレルインターフェイス・アダプタ、Ethernet(登録商標)・アダプタ等を含んでよい。
ここで、FlashROM132は、本発明の更新データに係るファームウェアを記憶しており、64KB等の所定のブロック単位で一括消去、書き換えが可能となっている。
また、RAM133は、制御部111と組み合わせてプログラムの実行に使用するローカルメモリ、大容量のバルクメモリ、及び当該バルクメモリの検索を効率的に行うために使用するキャッシュメモリを含んでよい。
また、プリンタユニット137は、詳細な説明は省略するが、CPU131の制御に基づいて実際に印刷を行うプリンタヘッド、用紙フィード装置等が含まれる。
[更新処理]
[更新処理]
図4に示したように、本発明の好適な実施形態の一例に係るシステム1は、プリンタ13a1、13a2、13a3、13b、13c、・・・のFlashROM132に記憶されたファームウェアの更新処理を実行する。
まず、コンピュータ11の制御部111は、通信ネットワーク14等の通信速度を測定する。
具体的には、例えば、コンピュータ11から、所定のファイルサイズのベンチマークデータをプリンタ13a1、13a2、13a3、13b、13c、・・・に送信し、受信側で当該ベンチマークデータの受信を完了するまでの時間を測定することにより、これらのプリンタとの間の通信速度を測定してもよい。
次に、コンピュータ11の制御部111は、プリンタ13a1、13a2、13a3、13b、13c、・・・を、測定した通信速度に応じて決定される数を最大数とするプリンタで構成する送信単位グループに分類する。
具体的には、例えば、測定した通信速度が70Mbpsであった場合には、図4に示すように最大「8台」のプリンタで構成する送信単位グループにプリンタ13a1、13a2、13a3、13b、13c、・・・を分類してもよい。このように、測定した通信速度に応じて、パケットの衝突(コリジョン)の発生を抑制しつつ、できるだけ多くのプリンタにファームウェアの更新データが同時に送信できるような値を決定してよい。
次に、制御部111は、当該送信単位グループの一を構成するプリンタ(図4の例では送信単位グループとして「グループ1」に分類されたプリンタ)に対してファームウェアの更新データを送信するための前処理を行う。
具体的には、例えば、制御部111は、送信単位グループとして「グループ1」に分類されたプリンタの機種名情報やファームウェアのバージョン情報等を取得することによって、それぞれのプリンタに対して送信すべき更新データを特定する。
なお、制御部111は、この前処理をUDP通信によって行ってもよい。このように、コマンドとそれに対する応答のような1パケットに収まるようなデータのやり取りは、UDP通信を用いることによって、セッションを確立したり、後処理を行ったりするTCP通信を用いる場合に比較してオーバーヘッドが軽く、処理時間を削減することができる。
次に、制御部111は、「グループ1」に分類したそれぞれのプリンタに対して、上述の前処理においてそれぞれ特定したファームウェアの更新データを送信する(図4に示す「データ転送」処理)。
ここで、制御部111は、「グループ1」に分類した全てのプリンタに対する前処理が完了しない限り、当該更新データの送信は行わない。このことにより、パケットの衝突(コリジョン)の発生により、前処理におけるパケットが消失したり、或いは、更新データのパケットが消失したりすることをできるだけ回避しつつ、「グループ1」に分類したプリンタへの更新データの送信処理を効率的に実行することができる。
また、制御部111は、「グループ1」に分類された全てのプリンタに対する更新データの送信処理が完了しない限り、その他の送信単位グループ(図4の例では「グループ2」或いは「グループ3」)に分類されたプリンタに対する前処理も更新データの送信も行わない。このことにより、コンピュータ11が通信の対象とするプリンタの数を常に送信単位グループの一を構成するプリンタの最大数に制限し、パケットの衝突(コリジョン)の発生を抑制し、以って更新処理の実行時間を削減することができる。
更に、制御部111は、「グループ1」に分類された全てのプリンタにおいて更新データの書き込みが終了した後、その他の送信単位グループ(図4の例では「グループ2」及び「グループ3」)を構成する全てのプリンタへの更新データの送信が終了してから、「グループ1」に分類されたプリンタへの後処理を実行する。
具体的には、例えば、制御部111は、送信単位グループとして「グループ1」に分類された全てのプリンタから、ファームウェアのバージョン情報や復帰確認情報等を取得することによって、更新処理の完了を確認する。
なお、制御部111は、この後処理をUDP通信によって行ってもよい。
上述のように、コンピュータ11が通信するプリンタの数を、送信単位グループを構成するプリンタの最大数に制限することによって、制御部111は、パケットの衝突(コリジョン)の発生を抑制し、更新処理時間を削減することができる。
ここで、制御部111は、上述の更新処理の最初だけではなく、当該更新処理の途中で再度通信ネットワーク14等の通信速度の測定を実行し、当該測定結果に応じて、送信単位グループを構成するプリンタの最大数を変更してもよい。
具体的には、例えば、図4に示す例においては、制御部111は、「グループ3」を構成するプリンタの更新処理を実行する前に再び通信速度の測定を行い、測定結果が前回より低速であった場合には、当該最大数を変更してもよい(図4に示す例においては、「8」から「6」に変更)。
また、制御部111は、上述の後処理において、例えば、ファームウェアのバージョンが目的とするものと不一致であったり、更新データの書き込み後の復帰が確認できなかったりする等、何らかの原因により更新処理がエラーとなったプリンタを発見した場合には、当該エラーとなったプリンタを、前記プリンタの数が所定の最大数を超えないように他の送信単位グループに分類し直して再度更新処理を実行する。
具体的には、図4の例において、例えば「グループ3」を構成するプリンタの更新処理がエラーであることを発見した場合、制御部111は、「グループ1」乃至「グループ3」以外の送信単位グループであって、まだ更新処理を開始しておらず、構成するプリンタの数が「8」未満のグループに当該プリンタを分類し直す。そのような送信単位グループが存在しない場合には、新たに送信単位グループを構成する。
このことによって、更新処理でエラーが発生した場合においても、制御部111は、自動的に当該エラーが発生したプリンタの更新処理をやり直しつつ、コンピュータ11が同時に通信するプリンタの数を、当該送信単位グループを構成するプリンタの最大数に制限することにより、パケットの衝突(コリジョン)の発生を抑制することができる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
具体的には、例えば、本発明に係る周辺機器として、プリンタの例を挙げて説明したが、本発明の技術的範囲はこれに限られず、ビデオカードやストレージドライブなど、その他の周辺機器のファームウェアの更新処理にも適用可能である。
1 システム、11、12a、12b、12c コンピュータ、13a1、13a2、13a3、13b、13c プリンタ、14、15a1、15a2、15a3、15b、15c 通信ネットワーク、111 制御部、112 記憶部、113 通信I/F部、114 入力部、115 表示部、116 バス、131 CPU、132 FlashROM、133 RAM、134 通信I/F部、135 操作ボタン、136 表示部、137 プリンタユニット、138 バス
Claims (6)
- 通信ネットワークに接続されたコンピュータが、前記通信ネットワークに接続された複数の周辺機器のファームウェアの更新処理を実行する方法であって、
前記通信ネットワークの通信速度を測定するステップと、
前記複数の周辺機器を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類するステップと、
前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信するステップと、
前記更新データを送信した送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信するステップと、を含むことを特徴とする方法。 - 前記コンピュータが、前記送信単位グループの一を構成する周辺機器に対して前記更新データを送信する前に、前記送信単位グループの一を構成する全ての周辺機器から、送信すべき更新データを特定するための情報を取得する前処理ステップを更に含む請求項1に記載の方法。
- 前記コンピュータが、前記送信単位グループの一を構成する全ての周辺機器において前記更新データの書き込みが終了した後、前記送信単位グループの他の一を構成する全ての周辺機器について前記更新データの送信が完了したことを確認してから、前記送信単位グループの一を構成する全ての周辺機器から、前記更新処理の完了を確認するための情報を取得する後処理ステップを更に含む請求項2に記載の方法。
- 前記コンピュータが、前記前処理ステップ及び前記後処理ステップをUDP通信により実行し、前記前処理ステップ又は前記後処理ステップが正常に終了しない場合には所定の回数リトライを行うステップを更に含む請求項3に記載の方法。
- 前記後処理ステップにおいて、前記コンピュータが、前記更新処理がエラーとなった周辺機器を発見した場合に、前記エラーとなった周辺機器を、前記周辺機器の数が前記最大数を超えないように前記送信単位グループに分類し直すステップを更に含む請求項3又は請求項4に記載の方法。
- 通信ネットワークに接続された複数の周辺機器のファームウェアの更新処理を実行するコンピュータであって、
前記通信ネットワークの通信速度を測定する手段と、
前記複数の周辺機器を、測定した前記通信速度に応じて決定される数を最大数とする周辺機器で構成する送信単位グループに分類する手段と、
前記送信単位グループの一を構成する周辺機器に対して前記ファームウェアの更新データを送信する手段と、
前記送信単位グループの一を構成する周辺機器の全てについて前記更新データの送信が完了したことを確認してから、前記送信単位グループの他の一を構成する周辺機器に対して、順次前記更新データを送信する手段と、を含むコンピュータ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006241115A JP2008065506A (ja) | 2006-09-06 | 2006-09-06 | ソフトウェアの更新処理を実行する方法及びコンピュータ |
US11/899,586 US7640367B2 (en) | 2006-09-06 | 2007-09-06 | Method for executing a software updating process and computer for implementing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006241115A JP2008065506A (ja) | 2006-09-06 | 2006-09-06 | ソフトウェアの更新処理を実行する方法及びコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008065506A true JP2008065506A (ja) | 2008-03-21 |
Family
ID=39288184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006241115A Withdrawn JP2008065506A (ja) | 2006-09-06 | 2006-09-06 | ソフトウェアの更新処理を実行する方法及びコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008065506A (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003323329A (ja) * | 2002-05-07 | 2003-11-14 | Fujitsu Ltd | 分散ファイル管理方法及びプログラム |
JP2004206390A (ja) * | 2002-12-25 | 2004-07-22 | Mitsubishi Electric Corp | ソフトウェア管理装置及びソフトウェア管理サーバ |
JP2005025519A (ja) * | 2003-07-02 | 2005-01-27 | Fuji Electric Systems Co Ltd | コンピュータ制御システムおよびソフトウェア書き換え方法 |
JP2005216118A (ja) * | 2004-01-30 | 2005-08-11 | Nippon Computer:Kk | コンテンツメール転送結合システム |
JP2006155576A (ja) * | 2004-11-05 | 2006-06-15 | Murata Mach Ltd | ファイル転送装置およびシステム |
JP2006215803A (ja) * | 2005-02-03 | 2006-08-17 | Nec Infrontia Corp | 通信端末のファームウェア・ダウンロードシステム及び方法とそのプログラム |
-
2006
- 2006-09-06 JP JP2006241115A patent/JP2008065506A/ja not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003323329A (ja) * | 2002-05-07 | 2003-11-14 | Fujitsu Ltd | 分散ファイル管理方法及びプログラム |
JP2004206390A (ja) * | 2002-12-25 | 2004-07-22 | Mitsubishi Electric Corp | ソフトウェア管理装置及びソフトウェア管理サーバ |
JP2005025519A (ja) * | 2003-07-02 | 2005-01-27 | Fuji Electric Systems Co Ltd | コンピュータ制御システムおよびソフトウェア書き換え方法 |
JP2005216118A (ja) * | 2004-01-30 | 2005-08-11 | Nippon Computer:Kk | コンテンツメール転送結合システム |
JP2006155576A (ja) * | 2004-11-05 | 2006-06-15 | Murata Mach Ltd | ファイル転送装置およびシステム |
JP2006215803A (ja) * | 2005-02-03 | 2006-08-17 | Nec Infrontia Corp | 通信端末のファームウェア・ダウンロードシステム及び方法とそのプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7640367B2 (en) | Method for executing a software updating process and computer for implementing the method | |
US8255894B2 (en) | Update data transmission method, computer program for practicing the method, host device and firmware writing system | |
EP3570175B1 (en) | Method for implementing nvme over fabrics, terminal, server, and system | |
CN101685431B (zh) | 远程控制装置及客户端远程控制服务器的方法 | |
US7899944B2 (en) | Open exchange limiting in an I/O processing system | |
TWI444833B (zh) | Sas擴充器之資料預取 | |
JP5103371B2 (ja) | 長い伝送遅延の存在下でusb大容量記憶装置の性能を改善する方法及び装置 | |
US20140122733A1 (en) | Non-Transitory Computer-Readable Medium, Communication Relay Apparatus, and Image Processing Apparatus | |
CN107256134B (zh) | 将pos终端虚拟为计算机打印机的方法和装置、pos终端 | |
JP4315144B2 (ja) | 管理装置、ネットワークシステム、管理装置の制御プログラム | |
JP2008015823A (ja) | 通信装置および通信制御方法、並びに当該通信装置を備えたプリンタ | |
JP2008065505A (ja) | ソフトウェアの更新処理を実行する方法及びコンピュータ | |
JP6371697B2 (ja) | 情報処理装置、印刷制御方法、およびプログラム | |
JP2008065506A (ja) | ソフトウェアの更新処理を実行する方法及びコンピュータ | |
JP4552815B2 (ja) | ネットワーク装置の制御ソフトウェアの更新 | |
JP4967881B2 (ja) | 更新データ送信方法、ファームウェア書き換えシステム及び更新データ送信プログラム | |
JP4765814B2 (ja) | ソフトウェアの更新データを送信する方法及びコンピュータ | |
JP2008033709A (ja) | ソフトウェアの更新データを送信する方法及びシステム | |
JP2008065507A (ja) | ソフトウェアの更新データを送信する方法及びコンピュータ | |
US11669276B2 (en) | Recording device removal detection device, storage medium, and recording device removal detection method | |
CN110865960B (zh) | 在网络上模拟PCIe总线 | |
JP4973763B2 (ja) | インターフェース装置、その制御方法、ならびに、情報記録媒体 | |
TWI669981B (zh) | 基於乙太網路的遠端設備之物件化與控制機制之處理系統與其方法 | |
JP3579884B2 (ja) | データ通信方法及び装置、並びにプリンタ及びその制御方法 | |
JP3642220B2 (ja) | データ転送方法、印刷制御装置及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110118 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110315 |