(57)【要約】【課題】通信速度を変更することなく、通信ネットワークを介して接続されたプリンタ等の周辺機器のファームウェアの更新データの送信時間を削減する方法及びコンピュータを提供すること。【解決手段】コンピュータ１１等は、オブジェクトデータと、管理データと、を含む単位データの配列を構成する前記更新データを順次読み込み、前記単位データを構成するオブジェクトデータを順次連結し、周辺機器（プリンタ１３ａ１等）の記憶部の直接一括書き込みデータ区分（ＤＭＡ転送を行うデータセクタ）に対応する新たなオブジェクトデータを構成し、構成した前記新たなオブジェクトデータに、前記新たなオブジェクトデータに応じて新たな管理データを生成して加えることによって新たな単位データを構成し、構成した前記新たな単位データの配列を、前記周辺機器に前記通信ネットワークを介して送信する。【選択図】図４
2008065507.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続されたコンピュータが、前記通信ネットワークに接続された周辺機器に、前記周辺機器のファームウェアの更新データを送信する方法であって、
前記コンピュータが、オブジェクトデータと、前記オブジェクトデータの書き込みアドレスを示すアドレスデータ及び前記オブジェクトデータの長さを示す長さデータを少なくとも含む管理データと、を含む単位データの配列を構成する前記更新データを読み込むステップと、
前記単位データを構成するオブジェクトデータを順次連結し、前記周辺機器の記憶部の直接一括書き込みデータ区分に対応する新たなオブジェクトデータを構成するステップと、
構成した前記新たなオブジェクトデータに、前記新たなオブジェクトデータに応じて新たな管理データを生成して加えることによって新たな単位データを構成するステップと、
構成した前記新たな単位データの配列を、前記周辺機器に前記通信ネットワークを介して送信するステップと、を含む方法。
【請求項２】
前記新たな単位データを構成するステップにおいて、前記コンピュータが、前記新たなオブジェクトデータに対応するパリティデータを含んで管理データを構成する請求項１に記載の方法。
【請求項３】
前記新たなオブジェクトデータを構成するステップにおいて、順次連結した前記オブジェクトデータの書き込みアドレス領域が前記直接一括書き込みデータ区分において不連続となる場合、前記コンピュータが、前記書き込みアドレス領域が連続するように空白データを補って前記新たなオブジェクトデータを構成する請求項１又は請求項２に記載の方法。
【請求項４】
前記送信するステップにおいて、前記コンピュータが、構成した前記新たな単位データを、前記新たなオブジェクトデータの書き込みアドレスの順番に並べ替えてから前記単位データの配列を構成して送信する請求項１から請求項３のいずれかに記載の方法。
【請求項５】
通信ネットワークに接続された周辺機器に、前記周辺機器のファームウェアの更新データを送信するコンピュータであって、
オブジェクトデータと、前記オブジェクトデータの書き込みアドレスを示すアドレスデータ及び前記オブジェクトデータの長さを示す長さデータを少なくとも含む管理データと、を含む単位データの配列を構成する前記更新データを読み込む手段と、
前記単位データを構成するオブジェクトデータを順次連結し、前記周辺機器の記憶部の直接一括書き込みデータ区分に対応する新たなオブジェクトデータを構成する手段と、
構成した前記新たなオブジェクトデータに、前記新たなオブジェクトデータに応じて新たな管理データを生成して加えることによって新たな単位データを構成する手段と、
構成した前記新たな単位データの配列を、前記周辺機器に前記通信ネットワークを介して送信する手段と、を備えるコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの更新データを送信する方法及びコンピュータに関する。特に、通信ネットワークに接続されたプリンタ等の周辺機器のファームウェアの更新データを送信する方法及びコンピュータに関する。
【背景技術】
【０００２】
従来、通信ネットワークに接続されたプリンタ等の周辺機器のファームウェアをバージョンアップや不具合対応等のために更新する場合、当該通信ネットワークに接続されたコンピュータから、当該ファームウェアの更新データを送信することにより、当該プリンタ等の周辺機器において当該更新データを受信して更新処理を実行している。また、プリンタの製造現場においては、製造コストを抑制する観点から、標準仕様のファームウェアの基板を製造しておき、必要に応じて他国語フォントやカスタムファームへ書き換えて出荷することがある。
【０００３】
より具体的には、当該プリンタ等の周辺機器は、当該ファームウェアを記憶するＦｌａｓｈＲＯＭ等の記憶手段を備えている。そこで、当該コンピュータから、例えば、モトローラ（登録商標）Ｓ３フォーマットで当該ＦｌａｓｈＲＯＭ等に記憶されているファームウェアの全体イメージファイルの更新データを、通信ネットワークを介して当該プリンタ等の周辺機器に送信する。
【０００４】
ところで、モトローラ（登録商標）Ｓ３フォーマットは、バイナリ形式のデータレコードに変換することができる。すなわち、図８に示すように、当該ファームウェアの更新データを最大２５０バイトずつのオブジェクトデータに分割し、分割したそれぞれのオブジェクトデータに対して、２バイトのタイプフィールド、１バイトのデータ長フィールド、及び４バイトのアドレスフィールドで構成する合計７バイトのヘッダ部、並びに１バイトのチェックサムを加えた単位データの配列として構成可能である。
【０００５】
近年のプリンタの機能向上の要請に応じて、プリンタのファームウェアも高機能化が進んでおり、ファームウェアの更新データのサイズは拡大する傾向にある。それに伴い、１回のファームウェアの更新で送信する更新データを構成する単位データの数は増大することになる。
【０００６】
このように、上述のように送信する更新データのサイズが大きくなってきたことによって、更新データの送信時間が運用上の課題となってきた。具体的には、当該プリンタ等の周辺機器がＵＳＢ、パラレル、Ｅｔｈｅｒｎｅｔ（登録商標）その他の高速通信インターフェイスで接続されている場合に比べて、ＲＳ−２３２Ｃ等のシリアルＩ／Ｆその他の低速通信インターフェイスで接続されている場合には、更新データの送信時間がより大きな運用上の課題となってきた。
【０００７】
例えば、６ＭＢの更新データを１９２００ｂｐｓで送信する場合には通信時間は約４５分、９６００ｂｐｓで送信する場合には約９０分かかることになる。通常、ファームウェアの更新データの送受信中は、当該プリンタ等の周辺機器は使用できないので、特に、２４時間稼動している施設のプリンタ等の周辺機器のファームウェアの更新の際において、更新データの送信時間の削減が望まれている。
【０００８】
このような状況において、特許文献１に記載の技術によれば、例えば、ＰＣから９６００ｂｐｓで受信したデータを一旦記憶しておく外部メモリを備えたインターフェースボックスを当該ＰＣに接続して使用することにより、その後、より高速な通信速度でデータ送受信可能な携帯型情報機器を当該インターフェースボックスに接続したことに応じて、当該外部メモリに一旦記憶しておいたデータを当該携帯型情報機器に例えば５００００ｂｐｓで送信することができる。
【０００９】
従って、当該インターフェースボックスは、接続される携帯型情報機器の最大通信速度に応じて、最適な通信速度を選択してデータを当該携帯型情報機器に送信することができる。
【特許文献１】特開平１１−２１２９０８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述のように、通信ネットワークに接続されたコンピュータから、当該通信ネットワークに接続されたＰＣ等にあらかじめシリアルＩ／Ｆで接続されているプリンタ等の周辺機器にファームウェアの更新データを送信する場合に、特許文献１の技術を応用したとしても、結局当該ＰＣとインターフェースボックス間の通信速度である９６００ｂｐｓがボトルネックとなり、システム全体としては更新データの送信時間を削減することはできない。なぜならば、上述のように、通信ネットワークに原則として常時接続されているプリンタ等の周辺機器のファームウェアの更新データを送信する場合には、特許文献１の技術は、ボトルネックとなるＩ／Ｆにおける通信速度を超えて送信することができないからである。
【００１１】
従って、通信速度を変更することなく、通信ネットワークを介して接続されたプリンタ等の周辺機器のファームウェアの更新データの送信時間を削減する方法を提供することが望まれている。
【００１２】
そこで、本発明は、通信速度を変更することなく、通信ネットワークを介して接続されたプリンタ等の周辺機器のファームウェアの更新データの送信時間を削減する方法及びコンピュータを提供することを目的とする。
【課題を解決するための手段】
【００１３】
そこで、上記の目的を達成するため、本発明者らが研究を重ねた結果、更新データのファイル形式を最適化することにより、当該ファームウェアの更新データの送信時間を削減する方法を見出し、本発明を完成するに至った。本発明は、具体的には以下のようなものを提供する。
【００１４】
本発明は、通信ネットワークに接続されたコンピュータが、前記通信ネットワーク（通信ネットワーク１４等）に接続された周辺機器（プリンタ１３ａ１等）に、前記周辺機器のファームウェアの更新データを送信する方法であって、
前記コンピュータが、オブジェクトデータと、前記オブジェクトデータの書き込みアドレスを示すアドレスデータ及び前記オブジェクトデータの長さを示す長さデータを少なくとも含む管理データと、を含む単位データの配列を構成する前記更新データを読み込むステップと、
前記単位データを構成するオブジェクトデータを順次連結し、前記周辺機器の記憶部の直接一括書き込みデータ区分（ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を行うデータセクタ）に対応する新たなオブジェクトデータを構成するステップと、
構成した前記新たなオブジェクトデータに、前記新たなオブジェクトデータに応じて新たな管理データを生成して加えることによって新たな単位データを構成するステップと、
構成した前記新たな単位データの配列を、前記周辺機器に前記通信ネットワークを介して送信するステップと、を含むことを特徴とする。
【００１５】
本発明のこのような構成によれば、前記コンピュータは、オブジェクトデータと、前記オブジェクトデータの書き込みアドレスを示すアドレスデータ及び前記オブジェクトデータの長さを示す長さデータを少なくとも含む管理データと、を含む単位データの配列を構成する前記更新データを順次読み込み、
前記単位データを構成するオブジェクトデータを順次連結し、前記周辺機器の記憶部の直接一括書き込みデータ区分（ＤＭＡ転送を行うデータセクタ）に対応する新たなオブジェクトデータを構成し、
構成した前記新たなオブジェクトデータに、前記新たなオブジェクトデータに応じて新たな管理データを生成して加えることによって新たな単位データを構成し、
構成した前記新たな単位データの配列を、前記周辺機器に前記通信ネットワークを介して送信することが可能である、という作用効果を有する。
【００１６】
このことにより、前記コンピュータは、前記更新データを前記周辺機器に送信する際に、送信する単位データを構成するオブジェクトデータのサイズを記憶部の直接一括書き込みデータ区分（ＤＭＡ転送を行うデータセクタ）に対応する大きさに拡大することによって前記更新データを構成する単位データの数を削減し、それに伴って送信する管理データの数を削減すると共に、直接一括書き込み（ＤＭＡ転送による書き込み）による書き込みが可能になることにより前記周辺機器において前記更新データを書き込む際のデータの再構成やデータチェック等のオーバーヘッドを低減し、書き込みを高速化できる。
【００１７】
その結果、前記コンピュータは、削減した前記管理データの数及び低減したオーバーヘッドに応じて、更新データの送信時間を削減することができる。
【００１８】
また、本発明は、前記新たな単位データを構成するステップにおいて、前記コンピュータが、前記新たなオブジェクトデータに対応するパリティデータを含んで管理データを構成することが更に望ましい。
【００１９】
本発明のこのような構成によれば、前記新たな単位データを構成するステップにおいて、前記コンピュータが、前記新たなオブジェクトデータに対応するパリティデータを含んで管理データを構成することが可能である、という作用効果を有する。
【００２０】
このことにより、前記周辺機器は、前記コンピュータから受信した前記新たなオブジェクトデータの直接一括書き込みを行う際に、その内容が正しいか否かを、前記パリティデータを用いてチェックすることができる。
【００２１】
その結果、前記コンピュータは、前記更新データの送信時間を削減しつつ、前記周辺機器における前記更新データの書き込み処理の信頼性を向上することができる。
【００２２】
また、本発明は、前記新たなオブジェクトデータを構成するステップにおいて、順次連結した前記オブジェクトデータの書き込みアドレス領域が前記直接一括書き込みデータ区分において不連続となる場合、前記コンピュータが、前記書き込みアドレス領域が連続するように空白データを補って前記新たなオブジェクトデータを構成することが更に望ましい。
【００２３】
本発明のこのような構成によれば、前記新たなオブジェクトデータを構成するステップにおいて、順次連結した前記オブジェクトデータの書き込みアドレス領域が前記直接一括書き込みデータ区分において不連続となる場合、前記コンピュータが、前記書き込みアドレス領域が連続するように空白データを補って前記新たなオブジェクトデータを構成することが可能である、という作用効果を有する。
【００２４】
このことにより、前記コンピュータは、順次連結した前記オブジェクトデータの書き込みアドレス領域が前記直接一括書き込みデータ区分において不連続となる場合においても、前記直接一括書き込みデータ区分に対応するオブジェクトデータを構成することができる。
【００２５】
その結果、前記コンピュータは、順次連結した前記オブジェクトデータの書き込みアドレス領域が前記直接一括書き込みデータ区分において不連続となる場合においても、前記周辺機器が直接一括書き込みによって記憶部を更新可能な単位データを送信することができる。
【００２６】
また、本発明は、前記送信するステップにおいて、前記コンピュータが、構成した前記新たな単位データを、前記新たなオブジェクトデータの書き込みアドレスの順番に並べ替えてから前記単位データの配列を構成して送信することが更に望ましい。
【００２７】
本発明のこのような構成によれば、前記送信するステップにおいて、前記コンピュータが、構成した前記新たな単位データを、前記新たなオブジェクトデータの書き込みアドレスの順番に並べ替えてから前記単位データの配列を構成して送信することが可能である、という作用効果を有する。
【００２８】
このことにより、前記コンピュータは、構成した前記新たな単位データを、前記新たなオブジェクトデータの書き込みアドレスの順番に並べ替えてから送信することができる。
【００２９】
その結果、前記コンピュータは、前記周辺機器が受信した前記単位データを前記直接一括書き込みデータ区分の並び順で書き込み可能な順番で前記新たな単位データを送信することができる。このようにして前記周辺機器は、前記記憶部の直接一括書き込み時間を削減することができる。
【００３０】
また、本発明は、通信ネットワーク（通信ネットワーク１４等）に接続された周辺機器（プリンタ１３ａ１等）に、前記周辺機器のファームウェアの更新データを送信するコンピュータであって、
オブジェクトデータと、前記オブジェクトデータの書き込みアドレスを示すアドレスデータ及び前記オブジェクトデータの長さを示す長さデータを少なくとも含む管理データと、を含む単位データの配列を構成する前記更新データを読み込む手段と、
前記単位データを構成するオブジェクトデータを順次連結し、前記周辺機器の記憶部の直接一括書き込みデータ区分（ＤＭＡ転送を行うデータセクタ）に対応する新たなオブジェクトデータを構成する手段と、
構成した前記新たなオブジェクトデータに、前記新たなオブジェクトデータに応じて新たな管理データを生成して加えることによって新たな単位データを構成する手段と、
構成した前記新たな単位データの配列を、前記周辺機器に前記通信ネットワークを介して送信する手段と、を備えることを特徴とする。
【００３１】
本発明のこのような構成によれば、前記コンピュータは、オブジェクトデータと、前記オブジェクトデータの書き込みアドレスを示すアドレスデータ及び前記オブジェクトデータの長さを示す長さデータを少なくとも含む管理データと、を含む単位データの配列を構成する前記更新データを順次読み込み、
前記単位データを構成するオブジェクトデータを順次連結し、前記周辺機器の記憶部の直接一括書き込みデータ区分（ＤＭＡ転送を行うデータセクタ）に対応する新たなオブジェクトデータを構成し、
構成した前記新たなオブジェクトデータに、前記新たなオブジェクトデータに応じて新たな管理データを生成して加えることによって新たな単位データを構成し、
構成した前記新たな単位データの配列を、前記周辺機器に前記通信ネットワークを介して送信することが可能である、という作用効果を有する。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して本発明の実施形態について説明する。
【００３３】
図１は、本発明の好適な実施形態の一例に係るシステムの全体構成を示すブロック図である。図２は、本発明の好適な実施形態の一例に係るコンピュータ１１、１２ａ、１２ｂ、１２ｃ、・・・の構成を示すブロック図である。図３は、本発明の好適な実施形態の一例に係る周辺機器としてのプリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ、・・・の構成を示すブロック図である。図４は、本発明の好適な実施形態の一例に係る更新データ送信処理を示すフローチャートである。図５は、本発明の好適な実施形態の一例に係る更新データ送信処理を示す図である。図６は、本発明の好適な実施形態の一例に係る更新データの構成を示す図である。図７は、本発明の好適な実施形態の一例に係る更新データ送信処理を示す図である。図８は、従来の技術に係る更新データの構成を示す図である。
［システムの全体構成］
【００３４】
図１に示すように、本発明に係る好適な実施形態の一例に係るシステム１は、コンピュータ１１、１２ａ、１２ｂ、１２ｃ、・・・、周辺機器としてのプリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ、・・・を含んで構成されている。
【００３５】
コンピュータ１１、１２ａ、１２ｂ、１２ｃ、・・・は通信ネットワーク１４を介して接続されている。更に、プリンタ１３ａ１、１３ａ２、１３ａ３はそれぞれ通信ネットワーク１５ａ１、１５ａ２、１５ａ３を介してコンピュータ１２ａに接続されている。同様に、プリンタ１３ｂはコンピュータ１２ｂに、プリンタ１３ｃは１２ｃに、それぞれ通信ネットワーク１５ｂ、１５ｃを介して接続されている。
【００３６】
図１の例において、コンピュータ１２ａ、１２ｂ、１２ｃはいわゆる汎用パーソナルコンピュータとして実現してもよいし、キャッシュレジスター等の専用情報機器として実現してもよい。
【００３７】
また、通信ネットワーク１４は、Ｅｔｈｅｒｎｅｔ（登録商標）等の構内通信網（ＬＡＮ）として実現してもよいし、専用線、インターネット、ＶＰＮ等の広域通信網（ＷＡＮ）として実現してもよい。通信ネットワーク１４がＷＡＮを含み、コンピュータ１１がコンピュータ１２ａ、１２ｂ、１２ｃ、・・・と互いに遠隔地の関係にある場合に、本発明の効果がより発揮される。
【００３８】
更に、通信ネットワーク１５ａ１、１５ａ２、１５ａ３、１５ｂ、１５ｃ、・・・はＲＳ−２３２Ｃ（最大通信速度１４．４ｋｂｐｓ）、ＵＳＢ（ＵＳＢ２．０で最大通信速度６０Ｍｂｐｓ）等のシリアルインターフェイスで実現してもよいし、ＳＣＳＩ（最大通信速度３２０Ｍｂｐｓ）等のパラレルインターフェイスで実現してもよい。
【００３９】
更に、コンピュータ１２ａ、１２ｂ、１２ｃ、・・・は、通信ネットワーク１４を介して互いに異なる通信速度でコンピュータ１１に接続されていてもよい。
【００４０】
同様に、プリンタ１３ａ１、１３ａ２、１３ａ３、・・・はそれぞれ通信ネットワーク１５ａ１、１５ａ２、１５ａ３と互いに異なる通信速度で接続されていてもよい。
［コンピュータの構成］
【００４１】
図２に示すように、コンピュータ１１、１２ａ、１２ｂ、１２ｃ、・・・は、制御部１１１、記憶部１１２、通信Ｉ／Ｆ部１１３、入力部１１４、表示部１１５が、バス１１６を介して接続されて構成されている。
【００４２】
制御部１１１は、情報の演算、処理を行う情報演算処理装置であり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってよい。また、制御部１１１はコンピュータ１１、１２ａ、１２ｂ、１２ｃ、・・・全体の制御を行い、記憶部１１２に記憶された各種プログラムを適宜読み出して実行することにより、上述のハードウェアが協働し、本発明に係る各種機能を実現している。
【００４３】
ここで、表示部１１５は、ユーザにデータの入力を受け付ける画面を表示したり、コンピュータ１１、１２ａ、１２ｂ、１２ｃ、・・・による演算処理結果の画面を表示したりするものであり、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００４４】
ここで、入力部１１４は、ユーザによる入力の受付を行うものであり、キーボード、ポインティングデバイス等を含んでよい。入力部１１４は、直接又は介在Ｉ／Ｏコントローラを介してコンピュータ１１、１２ａ、１２ｂ、１２ｃ、・・・と接続することができる。
【００４５】
ここで、通信Ｉ／Ｆ部１１３は、コンピュータ１１、１２ａ、１２ｂ、１２ｃ、・・・を専用ネットワーク又は公共ネットワークを介して端末と接続できるようにするためのネットワーク・アダプタである。通信Ｉ／Ｆ部１１３は、モデム、ケーブル・モデム及びＥｔｈｅｒｎｅｔ（登録商標）・アダプタを含んでよい。
【００４６】
ここで、記憶部１１２は、制御部１１１と組み合わせてプログラムの実行に使用するローカルメモリ、大容量のバルクメモリ、及び当該バルクメモリの検索を効率的に行うために使用するキャッシュメモリを含んでよい。記憶部１１２を実現するコンピュータ可読媒体としては、電気的、磁気的、光学的、電磁的に実現するものを含んでよい。より具体的には、半導体記憶装置、磁気テープ、フレキシブルディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リードオンリー・メモリ（ＲＯＭ）、ＣＤ−ＲＯＭとＣＤ−Ｒ／ＷとＤＶＤとを含む光ディスクが含まれる。
［プリンタの構成］
【００４７】
図３に示すように、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ、・・・は、ＣＰＵ１３１、ＦｌａｓｈＲＯＭ１３２、ＲＡＭ１３３、通信Ｉ／Ｆ部１３４、操作ボタン１３５、表示部１３６、プリンタユニット１３７が、バス１３８を介して接続されて構成されている。
【００４８】
ＣＰＵ１３１は、情報の演算、処理を行う情報演算処理装置であり、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ、・・・全体の制御を行い、ＦｌａｓｈＲＯＭ１３２に記憶されたファームウェア等の各種プログラムを適宜読み出して実行することにより、上述のハードウェアが協働し、本発明に係る各種機能を実現している。
【００４９】
ここで、表示部１３６は、ユーザにデータの入力を受け付ける画面を表示したり、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ、・・・による演算処理結果の画面を表示したりするものであり、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００５０】
ここで、操作ボタン１３５は、ユーザによる入力の受付を行うものであり、様々な形式のボタンその他の入力デバイスを含んでよい。操作ボタン１３５は、直接又は介在Ｉ／Ｏコントローラを介してプリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ、・・・と接続することができる。
【００５１】
ここで、通信Ｉ／Ｆ部１３４は、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ、・・・を専用ネットワーク又は公共ネットワークを介して端末と接続できるようにするためのネットワーク・アダプタである。通信Ｉ／Ｆ部１３４は、ＲＳ−２３２Ｃ、ＵＳＢ等のシリアルインターフェイス・アダプタ、ＳＣＳＩ等のパラレルインターフェイス・アダプタ、Ｅｔｈｅｒｎｅｔ（登録商標）・アダプタ等を含んでよい。
【００５２】
ここで、ＦｌａｓｈＲＯＭ１３２は、本発明の更新データに係るファームウェアを記憶しており、６４ＫＢ等の所定のブロック単位で一括消去、書き換えが可能となっている。
【００５３】
また、ＲＡＭ１３３は、制御部１１１と組み合わせてプログラムの実行に使用するローカルメモリ、大容量のバルクメモリ、及び当該バルクメモリの検索を効率的に行うために使用するキャッシュメモリを含んでよい。
【００５４】
また、プリンタユニット１３７は、詳細な説明は省略するが、ＣＰＵ１３１の制御に基づいて実際に印刷を行うプリンタヘッド、用紙フィード装置等が含まれる。
［更新データ送信処理］
【００５５】
図４に示したように、本発明の好適な実施形態の一例に係るシステム１は、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ、・・・のＦｌａｓｈＲＯＭ１３２に記憶されたファームウェアの更新データの送信処理を実行する。
【００５６】
まず、コンピュータ１１、１２ａ、１２ｂ又は１２ｃ、・・・の制御部１１１は、前処理を行う（ステップＳ１０１）。
【００５７】
更に、制御部１１１は、更新データの送信の準備のために、例えば、プリンタのスプーラを停止させたり、デバイスＩＤを取得したり、信号線の確認を行ったりする。
【００５８】
具体的には、制御部１１１は、オブジェクトデータと、前記オブジェクトデータの書き込みアドレスを示すアドレスデータ及び前記オブジェクトデータの長さを示す長さデータを少なくとも含む管理データと、を含む単位データの配列を構成する更新データを読み込む。
【００５９】
次に、制御部１１１は、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、又は１３ｃ、・・・のＦｌａｓｈＲＯＭ１３２の直接一括書き込み可能な最大ブロックサイズ（ＤＭＡ転送により書き込むデータセクタの大きさ）をプリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、又は１３ｃ、・・・に問い合わせる（ステップＳ１０２）。
【００６０】
次に、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、又は１３ｃ、・・・のＣＰＵ１３１は、ＦｌａｓｈＲＯＭ１３２の直接一括書き込み可能な最大ブロックサイズをコンピュータ１１に返答する（ステップＳ１０３）。
【００６１】
次に、制御部１１１は、読み込んだ更新データを構成する単位データを構成するオブジェクトデータを順次連結して新たなオブジェクトデータを構成し、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、又は１３ｃ、・・・から受信した最大ブロックサイズのバイナリデータの配列に変換する（ステップＳ１０４）。なお、この際、制御部１１１は、連結前の当該オブジェクトデータの書き込みアドレス領域がＦｌａｓｈＲＯＭ１３２のデータセクタにおいて不連続となる場合には、当該書き込みアドレス領域が連続するように空白データを補って新たなオブジェクトデータを構成する。
【００６２】
次に、制御部１１１は、当該更新データのバイナリデータの配列にそれぞれ対応するヘッダデータを生成（ステップＳ１０５）して新たな単位データの配列を構成する。
【００６３】
具体的には、制御部１１１は、当該更新データのバイナリデータ（オブジェクトデータ）の書き込みアドレスを示すアドレスデータ、当該バイナリデータ（オブジェクトデータ）の長さを示す長さデータ、当該バイナリデータ（オブジェクトデータ）を正常に受信したか否かをＣＰＵ１３１が確認するためのパリティデータ（ＣＲＣ３２）を少なくとも含む管理データをヘッダデータとして生成する。
【００６４】
次に、制御部１１１は、生成した当該ヘッダデータをプリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、又は１３ｃ、・・・に送信する（ステップＳ１０６）。
【００６５】
次に、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、又は１３ｃ、・・・のＣＰＵ１３１は、当該ヘッダデータを受信してＡＣＫをコンピュータ１１に送信する（ステップＳ１０７）。
【００６６】
次に、制御部１１１は、更新データのバイナリデータ（オブジェクトデータ）を直接一括書き込み（ＤＭＡ転送による書き込み）でプリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、又は１３ｃ、・・・に送信する（ステップＳ１０８）。
【００６７】
次に、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ、又は１３ｃ、・・・のＣＰＵ１３１は、更新データのバイナリデータ（オブジェクトデータ）をＤＭＡで受信して、ＣＲＣを計算して正常にバイナリデータ（オブジェクトデータ）を受信したか否かを確認し、ＡＣＫをコンピュータ１１に送信する（ステップＳ１０９）。
【００６８】
これらの一連のＤＭＡによる更新データの送信処理を図５に示す。図５の例においては、ＦｌａｓｈＲＯＭ１３２の直接一括書き込み可能な最大ブロックサイズが６４ＫＢである場合を示す。
【００６９】
次に、制御部１１１とＣＰＵ１３１は、上述のステップＳ１０６乃至ステップＳ１０９を繰り返し実行し、全ての更新データの送信処理を完了する。
【００７０】
なお、制御部１１１は、上述の更新データのバイナリデータ（オブジェクトデータ）が書き込みアドレス（開始アドレス）の順番になるように並び替えて送信する。
【００７１】
ここで、ＤＭＡにより送信する更新データ、ヘッダデータ、及び最終レコードデータの構成を図６に示す。
【００７２】
ヘッダデータは、対応する更新データの書き込みアドレス（開始アドレス）データ、更新データのイメージデータのサイズ（図６の例においては、最大６４ＫＢ）データ、ＣＰＵ１３１が更新データを正常に受信したか否かを確認するためのパリティデータ（ＣＲＣ３２）、及びチェックサムデータを含む。
【００７３】
ここで、ＦｌａｓｈＲＯＭ１３２の直接一括書き込み可能な最大ブロックサイズが６４ＫＢである場合に、送信する更新データが当該６４ＫＢの境界をまたいで存在する場合の当該更新データの送信処理の例を図７に示す。
【００７４】
図７に示すように、送信すべき更新データが６４ＫＢの境界をまたいで存在する場合においても、制御部１１１は、当該６４ＫＢの境界をまたいで新たなオブジェクトデータを構成することは無く、必ず当該６４ＫＢの境界で分けて新たなオブジェクトデータを構成する。
【００７５】
次に、コンピュータ１１、１２ａ、１２ｂ又は１２ｃ、・・・及びプリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ又は１３ｃ、・・・は、後処理を行う（ステップＳ１１０）。
【００７６】
具体的には、プリンタ１３ａ１、１３ａ２、１３ａ３、１３ｂ又は１３ｃ、・・・のリセットを行ったり、接続しているＩ／Ｆをクローズしたり、リセット後のファームウェアのバージョンを取得して更新の成否を確認したり、といった処理を行う。
【００７７】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
【００７８】
具体的には、例えば、本発明に係る周辺機器として、プリンタの例を挙げて説明したが、本発明の技術的範囲はこれに限られず、ビデオカードやストレージドライブなど、その他の周辺機器のファームウェアの更新データの送信にも適用可能である。
【図面の簡単な説明】
【００７９】
【図１】本発明に係るシステムの全体構成を示すブロック図である。
【図２】本発明に係るコンピュータの構成を示すブロック図である。
【図３】本発明に係るプリンタの構成を示すブロック図である。
【図４】本発明に係る更新データ送信処理を示すフローチャートである。
【図５】本発明に係る更新データ送信処理を示す図である。
【図６】本発明に係る更新データの構成を示す図である。
【図７】本発明に係る更新データ送信処理を示す図である。
【図８】従来の技術に係る更新データの構成を示す図である。
【符号の説明】
【００８０】
１  システム、１１、１２ａ、１２ｂ、１２ｃ  コンピュータ、１３ａ１、１３ａ２、１３ａ３、１３ｂ、１３ｃ  プリンタ、１４、１５ａ１、１５ａ２、１５ａ３、１５ｂ、１５ｃ  通信ネットワーク、１１１  制御部、１１２  記憶部、１１３  通信Ｉ／Ｆ部、１１４  入力部、１１５  表示部、１１６  バス、１３１  ＣＰＵ、１３２  ＦｌａｓｈＲＯＭ、１３３  ＲＡＭ、１３４  通信Ｉ／Ｆ部、１３５  操作ボタン、１３６  表示部、１３７  プリンタユニット、１３８  バス
【図１】
2008065507.tif 000003
【図２】
2008065507.tif 000004
【図３】
2008065507.tif 000005
【図４】
2008065507.tif 000006
【図５】
2008065507.tif 000007
【図６】
2008065507.tif 000008
【図７】
2008065507.tif 000009
【図８】
2008065507.tif 000010