(57)【特許請求の範囲】
【請求項１】
記憶内容を書き換え可能な記憶領域を備え、その記憶領域に、
上記記憶領域の記憶内容を書き換えるための書換プログラムと、
上記書き換え以外の処理を実行するための処理プログラムと、
を記憶した第１のプログラマブルＲＯＭを備えたインターフェース装置と、上記インターフェース装置に接続されたプリンタとからなる通信システムであって、
上記インターフェース装置は、
上記処理プログラムを含むデータを受信する受信手段と、
上記書換プログラムを、上記第１のプログラマブルＲＯＭと共通のＣＰＵに接続されたＲＡＭに複写する第１の書換プログラム複写手段と、
該第１の書換プログラム複写手段によって上記ＲＡＭに複写された上記書換プログラムに基づき、上記記憶領域に記憶された上記処理プログラムを上記受信手段が受信した上記処理プログラムに書き換える第１の処理プログラム書換手段と、
を備え、
上記プリンタは、
記憶内容を書き換え可能な記憶領域を備え、その記憶領域に、上記記憶領域の記憶内容を書き換えるための書換プログラムと、上記書き換え以外の処理を実行するための処理プログラムと、を記憶した第２のプログラマブルＲＯＭと、
上記書換プログラムを、上記第２のプログラマブルＲＯＭと共通のＣＰＵに接続されたＲＡＭに複写する第２の書換プログラム複写手段と、
該第２の書換プログラム複写手段によって上記ＲＡＭに複写された上記書換プログラムに基づき、上記記憶領域に記憶された上記処理プログラムを上記インターフェース装置から転送された上記処理プログラムに書き換える第２の処理プログラム書換手段と、
を備え、
更に、上記インターフェース装置は、上記受信手段が受信したデータの転送プロトコルに基づいて、そのデータに上記第１のプログラマブルＲＯＭの処理プログラムを書き換えるかそのデータを上記プリンタに転送するかを判断する判断手段を備えたことを特徴とする通信システム。
【請求項２】
上記インターフェース装置は、上記受信手段が受信したデータに添付されたパスワードが適切か否かを判断するパスワード判断手段を備え、上記パスワードが適切の場合に上記データによる上記処理プログラムの書き換えを行うように構成されていることを特徴とする請求項１記載の通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶内容を書き換え可能な記憶領域を備えたプログラマブルＲＯＭに対してその記憶領域に記憶された処理プログラムを書き換える技術に関し、詳しくは、そのプログラマブルＲＯＭを備えたインターフェース装置を含む通信システムに関する。
【０００２】
【従来の技術】
従来より、データを読み出し専用に記憶したＲＯＭ（リード・オンリ・メモリ）が知られており、このＲＯＭには各種制御用の処理プログラム等が記憶される。また、近年、通常はデータの読み出し専用に使用されるが、特殊な操作をしたときに記憶内容が書き換え可能となる記憶領域を備えたプログラマブルＲＯＭも開発されている（例えば、フラッシュＲＯＭ）。この書き換え可能な記憶領域に記憶された処理プログラムをソフトウェア処理によって書き換えるためには書換プログラムが必要となるが、従来、次のようにして書き換えを行うことが考えられている。
【０００３】
すなわち、書換プログラムをプログラマブルＲＯＭに記憶しておいた場合、その書換プログラムによって自身が記憶された記憶領域を書き換えることは、読み出し時と書き込み時との電気的特性の相違等から不可能である。そこで、プログラマブルＲＯＭを２個設け、それぞれのプログラマブルＲＯＭに個々に書換プログラムを記憶しておく方法が考えられる。この場合、一方のプログラマブルＲＯＭの記憶領域を書き換えるときは他方のプログラマブルＲＯＭに記憶された書換プログラムによって書き換えの処理が実行できる。
【０００４】
また、一つのプログラマブルＲＯＭを前後半に分割し、その前後半それぞれに書換プログラムを記憶しておく方法も考えられる。この場合、前半または後半の記憶領域を書き換えるときは、後半または前半の記憶領域に記憶された書換プログラムによって書き換えの処理が実行できる。
【０００５】
【発明が解決しようとする課題】
ところが、前者の場合、プログラマブルＲＯＭを２個設ける必要があり、そのプログラマブルＲＯＭを備えた装置の機械的な構成が複雑化する。また、２個のプログラマブルＲＯＭの間である程度の相関性を保持する必要があり、制御システムとしての構成も複雑化する。更に、後者の場合は、一つのプログラマブルＲＯＭに２個の書換プログラムを記憶しておかなければならないので、プログラマブルＲＯＭの記憶容量が充分有効に活用できない。また、書き換えの処理もプログラマブルＲＯＭの前後半に対して個々に実行しなければならないので、書き換えに要する処理時間も長くなる。
【０００６】
そこで、本発明は、一つの書換プログラムによってプログラマブルＲＯＭの記憶内容を一気に書き換えることを可能とする通信システムを提供することを目的としてなされた。
【０００７】
【課題を解決するための手段及び発明の効果】
【０００８】
【０００９】
【００１０】
【００１１】
【００１２】
【００１３】
請求項１記載の発明は、記憶内容を書き換え可能な記憶領域を備え、その記憶領域に、上記記憶領域の記憶内容を書き換えるための書換プログラムと、上記書き換え以外の処理を実行するための処理プログラムと、を記憶した第１のプログラマブルＲＯＭを備えたインターフェース装置と、上記インターフェース装置に接続されたプリンタとからなる通信システムであって、上記インターフェース装置は、上記処理プログラムを含むデータを受信する受信手段と、上記書換プログラムを、上記第１のプログラマブルＲＯＭと共通のＣＰＵに接続されたＲＡＭに複写する第１の書換プログラム複写手段と、該第１の書換プログラム複写手段によって上記ＲＡＭに複写された上記書換プログラムに基づき、上記記憶領域に記憶された上記処理プログラムを上記受信手段が受信した上記処理プログラムに書き換える第１の処理プログラム書換手段と、を備え、上記プリンタは、記憶内容を書き換え可能な記憶領域を備え、その記憶領域に、上記記憶領域の記憶内容を書き換えるための書換プログラムと、上記書き換え以外の処理を実行するための処理プログラムと、を記憶した第２のプログラマブルＲＯＭと、上記書換プログラムを、上記第２のプログラマブルＲＯＭと共通のＣＰＵに接続されたＲＡＭに複写する第２の書換プログラム複写手段と、該第２の書換プログラム複写手段によって上記ＲＡＭに複写された上記書換プログラムに基づき、上記記憶領域に記憶された上記処理プログラムを上記インターフェース装置から転送された上記処理プログラムに書き換える第２の処理プログラム書換手段と、を備え、更に、上記インターフェース装置は、上記受信手段が受信したデータの転送プロトコルに基づいて、そのデータに上記第１のプログラマブルＲＯＭの処理プログラムを書き換えるかそのデータを上記プリンタに転送するかを判断する判断手段を備えたことを特徴とする。
【００１４】
【００１５】
【００１６】
請求項２記載の発明は、請求項１記載の構成に加え、上記インターフェース装置は、上記受信手段が受信したデータに添付されたパスワードが適切か否かを判断するパスワード判断手段を備え、上記パスワードが適切の場合に上記データによる上記処理プログラムの書き換えを行うように構成されていることを特徴とし、特に、インターフェース装置にパスワード判断手段を設けたので、通信システムの信頼性を高めることができる。
【００１７】
【００１８】
【００１９】
【００２０】
【００２１】
【００２２】
【００２３】
【００２４】
【００２５】
【００２６】
【００２７】
【００２８】
【００２９】
【００３０】
【００３１】
【００３２】
【００３３】
【００３４】
【００３５】
【００３６】
【００３７】
【００３８】
【００３９】
【００４０】
【００４１】
【００４２】
【００４３】
【００４４】
【００４５】
【００４６】
【発明の実施の形態】
次に、本発明に好適な実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、端末装置としてのプリンタを複数台含むと共に、それぞれのプリンタを用いて印刷処理を行うコンピュータを複数含んだ通信システムであって、それぞれのプリンタの制御に使用されるファームウェア等の管理を一元的に実行する通信システムに対して本発明を適用した場合の実施の形態である。
【００４７】
先ず、本実施の形態の通信システムＳの構成について、図１を用いて説明する。図１に示すように、通信システムＳは、プログラム出力装置かつプログラム送信装置としてのマネージャ（管理用コンピュータ）Ｇと、電話回線またはＬＡＮ等のネットワークＷと、インターフェース装置としての複数のＮＩＣ１と、端末装置としてのプリンタ１０、３０及び４０と、当該プリンタ１０に接続された複数のコンピュータ２０と、プリンタ４０に並列に接続されたイメージスキャナ７０と、プリンタ４０に直列に接続された用紙ソータ８０とにより構成されている。ここで、プリンタ１０、３０及び４０は異なる機種のプリンタである。
【００４８】
一方、マネージャＧは、第１情報処理手段としてのＣＰＵ５０，ＲＯＭ５１，ＲＡＭ５２を備え、キーボード５３，ＣＲＴ５４等に接続された周知のパーソナルコンピュータである。また、ＮＩＣ１は、返信手段としてのトランシーバ２と、ＬＡＮコントローラ３と、共有メモリ４と、ＣＰＵ５と、ＲＯＭ６と、ＲＡＭ７と、バス８と、を備えている。ここで、ＲＯＭ６は、フラッシュＲＯＭ等のプログラマブルＲＯＭによって構成され、記憶内容を書き換え可能な記憶領域６ａを有している。ＲＡＭ７は、その内部に端末情報エリア７ａを備えている。
【００４９】
一方、プリンタ１０は、第２情報処理手段としてのＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、バス１４と、出力インタフェース（出力Ｉ／Ｆ）１５と、入力インタフェース（入力Ｉ／Ｆ）１６と、印字部１７と、を備えている。ここで、ＲＯＭ１２は、フラッシュＲＯＭ等のプログラマブルＲＯＭによって構成され、記憶内容を書き換え可能な記憶領域１２ａを有している。ＲＡＭ１３は、その内部に出力バッファ１３ａと入力バッファ１３ｂとを備えている。また、プリンタ１０は、バス１４に接続された接続ライン９を介してＮＩＣ１に接続されると共に、入力インタフェース１６を介して各コンピュータ２０に接続されている。
【００５０】
次に、通信システムＳにおける概要動作について図１を用いて説明する。なお、以下の概要動作の説明においては、ＮＩＣ１とプリンタ１０とにおける処理について説明するが、他のＮＩＣ１とプリンタ３０，４０等との間においても同様の処理が実行される。
【００５１】
マネージャＧ内のＣＰＵ５０は、プリンタ１０またはそれに接続されているＮＩＣ１に送信すべきデータを生成し、ネットワークＷを介してＮＩＣ１のトランシーバ２に送信する。このとき、当該データの送信は、ＮＩＣ１にて処理されるべきデータはＴＦＴＰ（トリビアルファイル転送プロトコル）で、プリンタ１０にて処理されるべきデータはＬＰＲ（ライン・プリンタ・リモート）で、処理装置を特に指定する必要がないデータはＵＤＰ（ユーザーデータグラム転送プロトコル）等の適宜のプロトコルで、それぞれ実行される。そして、データを受信したトランシーバ２は、これを復調し、ＬＡＮコントローラ３を介してバス８に出力する。ここで、当該ＬＡＮコントローラ３は、ネットワークＷを介したマネージャＧとの間におけるデータの送受信を制御する。
【００５２】
次に、ＣＰＵ５は、ＮＩＣ１が受信したデータがＴＦＴＰで送信されてきたときは、当該データをＲＯＭ６に記憶されている情報を用いて処理する。このとき、ＲＡＭ７は、当該ＣＰＵ５における処理に必要な情報を読み出し可能に一時的に記憶する。その後、ＣＰＵ５は、処理した結果をバス８、ＬＡＮコントローラ３、トランシーバ２及びネットワークＷを介してマネージャＧに返信する。
【００５３】
一方、ＮＩＣ１が受信したデータがＬＰＲで送信されてきたときは、ＣＰＵ５は、当該データを共有メモリ４及び接続ライン９を介してプリンタ１０に転送する。その際、共有メモリ４にデータを書き込んだ後、ＣＰＵ５は、図示しない信号線を通してＣＰＵ１１に対してインターラプト（割り込み指令）を発生させ、当該データの処理を実行させる。なお、上述したデータに対するＣＰＵ５の処理に必要な制御プログラムは、ＲＯＭ６に予め記憶されている。
【００５４】
ここで、共有メモリ４は、情報処理の際にＮＩＣ１とプリンタ１０との間で共有すべき情報を一時的に記憶しておくためのメモリである。次に、ＮＩＣ１から転送したプリンタ１０において処理すべきデータ（例えば、マネージャＧからＬＰＲで送信されてきたデータ）が接続ライン９を介してプリンタ１０に入力されると、ＣＰＵ１１は、当該データをバス１４を介して取得した後、ＲＯＭ１２内に記憶されている情報を用いて処理する。その後、ＣＰＵ１１は、処理した結果をバス１４、接続ライン９、及び共有メモリ４を介してＮＩＣ１に返信する。このとき、ＲＡＭ１３は当該ＣＰＵ１１における処理に必要な情報を読み出し可能に一時的に記憶する。このデータに対するＣＰＵ１１の処理に必要な制御プログラムは、ＲＯＭ１２に予め記憶されている。
【００５５】
更に、プリンタ１０において処理すべきデータに対する処理結果をプリンタ１０から受領したＮＩＣ１は、その処理結果をそのままネットワークＷを介してマネージャＧに転送する。一方、各コンピュータ２０から出力されたプリンタ１０において印字出力すべき画像等のデータは、入力インタフェース１６を介してプリンタ１０内に取り込まれ、バス１４を介して入力バッファ１３ｂ内に格納され、印刷データに展開処理されて出力バッファ１３ａ内に一時的に記憶された後、再びバス１４を介して出力インタフェース１５から印字部１７に出力され、当該データに対応した印字出力が実行される。一方、図示しない他のコンピュータから出力された印字出力すべき画像等のデータをプリンタ１０において出力するときは、当該データがネットワークＷ経由でＮＩＣ１を介してプリンタ１０の入力バッファ１３ｂに取り込まれた後、上記と同様にして出力される。このプリンタ１０本来の印字出力処理は、ＲＯＭ１２内に記憶されている制御プログラムに基づくＣＰＵ１１の制御の下で実行される。
【００５６】
なお、通信システムＳ内に含まれている各プリンタ１０，３０，及び４０は共通のＮＩＣ１を備えているが、プリンタ自体としては異なる機種のものを含んでいる。具体的には、印刷機構や取り扱いデータの相違等に対応して、それぞれのプリンタのＲＯＭ１２には後述のデバイス情報が記憶されているが、そのデバイス情報は各プリンタ毎に異なったものとなっている。また、ネットワークＷには、ＮＩＣ１とは異なる機種のＮＩＣを介して図示しない他のプリンタも接続されている。
【００５７】
次に、ＲＯＭ６，１２の記憶領域６ａ，１２ａは前述のように書き換え可能に構成されているので、この部分に記憶されたファームウェア等の処理プログラムを書き換えることにより、プリンタ１０の機能をバージョンアップすることができる。続いて、このバージョンアップに関わる処理について説明する。
【００５８】
先ず、マネージャＧにおいて所定のバージョンアップ用アプリケーションを立ち上げると、ＣＰＵ５０は図２〜図６に示すバージョンアップ処理を実行する。図２に示すように、処理を開始するとＣＰＵ５０は、先ず、Ｓ１（Ｓはステップを表す：以下同様）にて、デバイス情報要求のためのブロードキャストパケットを、ネットワークＷを介して接続された全てのプリンタにＵＤＰで送信する。続くＳ３では、少なくとも３秒間計時可能なタイマをスタートする。更に、続くＳ５では、ネットワークＷを介して各プリンタからデバイス情報を受信し、受信したデバイス情報をＣＲＴ５４の画面に表示していく。そして、このＳ５の処理をタイマをスタートしてから３秒経過するまで繰り返し（Ｓ７）、３秒経過すると（Ｓ７：ＹＥＳ）、続くＳ１１へ移行する。
【００５９】
ここで、プリンタ１０等は、上記ブロードキャストパケットを受信すると図示しないルーチンを起動し、自身が接続されたＮＩＣ１よりそのＮＩＣ１のデバイス名，ＮＩＣ１のファームウェアのバージョン（ＮＩＣデバイス名，ＮＩＣファームウェアバージョンという）等のデバイス情報を取得する。続いて乱数を発生し、その乱数に対応した数ｍｓｅｃ．待機した後、上記ＮＩＣ１のデバイス情報を、プリンタ１０自身のデバイスクラス，デバイス名，デバイスステータス，ファームウェアバージョン等のデバイス情報と共にマネージャＧへ返信する。なお、プリンタ１０等は、自身の電源投入時等にＮＩＣ１のデバイス情報を予め取得しておいてもよく、また、ネットワークＷを介して接続された他のプリンタやＮＩＣのデバイス情報を取得しておき、上記デバイス情報と共に返信してもよい。
【００６０】
このため、マネージャＧには、上記乱数に応じたバラバラのタイミングで、各プリンタからのデバイス情報がネットワークＷを介して返信される。そこで、マネージャＧによるＳ５の処理では、受信したデバイス情報に基づき、ＣＲＴ５４に次のような表示を行う。図７は、プリンタ１０から返信されるデバイス情報１００の形態を模式的に表す説明図であり、図８は、そのデバイス情報１００等に対応したＣＲＴ５４の表示画面（以下、デバイスリスト画面という）２００の一例を表す説明図である。
【００６１】
図７に示すように、デバイス情報１００は、レーザプリンタ，カラープリンタ等のデバイスの種別を表すデバイスクラス１０１，デバイスの機種毎に付与されたデバイス名１０２，プリンタ１０の状態を表すステータス１０３，及びファームウエアのバージョンを表すプリンタバージョン１０４からなるプリンタ１０側のデバイス情報と、ＮＩＣ１側のデバイス情報としてのＮＩＣデバイス名１０５及びＮＩＣバージョン１０６と、そのプリンタ１０に付与されたＩＰアドレス１０７とを羅列して構成されている。また、デバイスクラス１０１，デバイス名１０２，ステータス１０３，プリンタバージョン１０４，ＮＩＣデバイス名１０５，及びＮＩＣバージョン１０６のデータの先頭には、各々のデータの長さを表すデバイスクラスレングス１１１，デバイス名レングス１１２，ステータスレングス１１３，プリンタバージョンレングス１１４，ＮＩＣデバイス名レングス１１５，及びＮＩＣバージョンレングス１１６が添付されている。
【００６２】
このようなデバイス情報１００を受信したＣＰＵ５０は、Ｓ５の処理において、デバイスクラス１０１，デバイス名１０２，ステータス１０３，プリンタバージョン１０４，ＮＩＣデバイス名１０５，ＮＩＣバージョン１０６，及びＩＰアドレスのデータに対応した表記（デバイスクラス，デバイス名，デバイスステータス，本体ファームウェアバージョン，ＮＩＣデバイス名，ＮＩＣファームウェアバージョン，及びＩＰアドレス）を、デバイスクラス１０１に対応したアイコンの右側に配列してリストアップしたデバイスリスト２０１を表示する。
【００６３】
なお、図８に例示するデバイスリスト２０１では、プリンタの他にスキャナも表示されており、プリンタ，スキャナ等を総称してデバイスと呼んでいる。プリンタ１０から返信されるデバイス情報１００のプリンタバージョン１０４に対応した表記が「本体ファームウェアバージョン」の項目に表示されるのもこのためである。また、以下の説明では、同一機種のデバイスには同一機種のＮＩＣが対応するものとする。
【００６４】
デバイスリスト画面２００には、このデバイスリスト２０１の上部に、デバイスのバージョンアップを行うときに押下される本体ファームウェアアップデートボタン２０２、ＮＩＣのバージョンアップを行うときに押下されるＮＩＣファームウェアアップデートボタン２０３、バージョンアップの対象として同機種のデバイスを一括して選択するときに押下される同機種全て選択ボタン２０４、及び、このバージョンアップ処理を終了するときに押下される終了ボタン２０５が、並べて表示される。また、デバイスリスト２０１に表示された各デバイスも、例えばアイコンがクリックに対して反応するボタンとなっている。
【００６５】
ＣＰＵ５０は、Ｓ５の処理によってこのデバイスリスト画面２００を表示した後、Ｓ１１以降の処理を上記各ボタンの押下等に応じて実行する。すなわち、先ずＳ１１では、デバイスリスト２０１に表示されたデバイスがクリックされたか否かを判断し、クリックされていない場合は否定判断してＳ１３へ移行する。Ｓ１３では、同機種全て選択ボタン２０４が押下されたか否かを判断し、押下されていない場合は否定判断してＳ１５へ移行する。以下同様に、本体ファームウェアアップデートボタン２０２が押下されたか否かを判断して（Ｓ１５）、押下されていない場合はＳ１７へ移行し、ＮＩＣファームウェアアップデートボタン２０３が押下されたか否かを判断して（Ｓ１７）、押下されていない場合はＳ１９へ移行し、終了ボタン２０５が押下されたか否かを判断して（Ｓ１９）、押下されていない場合はＳ１１へ移行する。すなわち、ＣＰＵ５０は、デバイスリスト画面２００を表示した後、上記いずれかの操作がなされるまでＳ１１〜Ｓ１９のループ処理にて待機する。
【００６６】
デバイスリスト画面２００が表示されると、通常、使用者は先ずバージョンアップしたいデバイスの選択を行う。この場合、デバイスのクリックが最初に行われ、Ｓ１１にて肯定判断してＳ２１へ移行する。Ｓ２１では、既に選択されている機種と異機種のデバイスがクリックされたか否かを判断する。デバイスを初めてクリックした場合は、既に選択されている機種がないので、否定判断してＳ２３へ移行する。Ｓ２３では、クリックされたデバイスに関する表示部を反転表示する。例えば、デバイスリスト２０１の一番上に表示したレーザプリンタ（デバイス名：１６６０，ＮＩＣデバイス名：２０１０）がクリックされると、デバイスリスト画面２００は図９に例示するように変化する。この反転表示（Ｓ２３）の後は、Ｓ１１〜Ｓ１９のループ処理へ復帰する。なお、後述のように本バージョンアップ処理では、反転表示したデバイスがバージョンアップの対象となる。
【００６７】
続いて、同機種全て選択ボタン２０４が押下されると、Ｓ１３にて肯定判断してＳ２５へ移行する。Ｓ２５では、反転表示となっているものと同機種のデバイスを全て反転表示した後、Ｓ１１〜Ｓ１９のループ処理へ復帰する。例えば、図９に例示したように、デバイスリスト２０１の一番上に表示したレーザプリンタ（デバイス名：１６６０，ＮＩＣデバイス名：２０１０）を反転表示した状態で同機種全て選択ボタン２０４が押下されると、図１０に例示するように、そのレーザプリンタと同機種のレーザプリンタを全て反転表示する。従って、同機種全て選択ボタン２０４を押下することにより、同一機種のデバイスを一括してバージョンアップの対象に指定することができる。
【００６８】
また、本バージョンアップ処理では、デバイスを個々に指定してバージョンアップの対象とすることもできる。一つのデバイスを指定する場合は、使用者は前述のように所望の一つのデバイスをクリックすればよいが、複数のデバイスを個々に指定した場合は、デバイスのクリックを複数回繰り返す。
【００６９】
そこで、ＣＰＵ５０は、二つ目以降のデバイスがクリックされたときは、前述のＳ２１にて、既に選択されている機種と異機種のデバイスがクリックされたか否かを判断する。後述するように、本バージョンアップ処理では、デバイスが選択されるとそのデバイスにファームウェアを送信してバージョンアップを行っている。ところが、一般にファームウェアでは、適合する機種が限定されている。このため、機種の異なる複数のデバイスが選択されると、ファームウェアの適合性の判断や、前述の同機種全て選択ボタン２０４の押下に対応する処理で問題が生じる。そこで、既に選択されている機種と異機種のデバイスがクリックされた場合は（Ｓ２１：ＹＥＳ）、Ｓ２７以下の処理へ移行する。
【００７０】
Ｓ２７では、図１１に示す選択機種変更ダイヤログ２２０を開き、デバイスリスト画面２００の上に重ねて表示する。図１１に示すように、選択機種変更ダイヤログ２２０には、「既に選択している機種とは別の機種が選択されました新しい選択を有効にしますか？」というメッセージと、ＹＥＳボタン２２１及びＮＯボタン２２２とが表示される。そして、ＹＥＳボタン２２１が押下された場合は（Ｓ２９：ＹＥＳ）、Ｓ３１へ移行して既に選択されているデバイスの反転表示を解除し、続いて、新たにクリックされたデバイスを前述のＳ２３にて反転表示した後、Ｓ１１〜Ｓ１９のループ処理へ移行する。
【００７１】
この処理により、以前の選択を無効にして、新たにクリックされたデバイスの選択のみを有効にすることができる。また、選択機種変更ダイヤログ２２０にてＮＯボタン２２２が押下された場合は（Ｓ２９：ＮＯ）、何もせずにそのままＳ１１〜Ｓ１９のループ処理へ移行する。この処理により、以前の選択をそのまま有効にして、新たにクリックされたデバイスの選択を無効にすることができる。なお、ＹＥＳボタン２２１またはＮＯボタン２２２が押下されると、ＣＰＵ５０は選択機種変更ダイヤログ２２０を消し、デバイスリスト画面２００の全面を表示する。
【００７２】
一方、新たにクリックされたデバイスが既に選択されているデバイスと同一機種の場合は（Ｓ２１：ＮＯ）、そのままＳ２３へ移行し、クリックされたデバイスを既に選択されているデバイスと共に反転表示する。この処理により、デバイスリスト２０１に表示された同一機種のデバイスの内、バージョンアップしたいものだけを複数選択することができる。
【００７３】
以上の処理によってバージョンアップしたい所望のデバイスを選択した後、使用者は、本体ファームウェアアップデートボタン２０２またはＮＩＣファームウェアアップデートボタン２０３を押下する。本体ファームウェアアップデートボタン２０２が押下されると、Ｓ１５にて肯定判断してＳ３３へ移行する。Ｓ３３では、図１２に例示するファイル名指定ダイヤログ２３０を開き、デバイスリスト画面２００の上に重ねて表示する。図１２に示すように、ファイル名指定ダイヤログ２３０には、選択されているデバイスの機種名が表示されると共に、ファイル名入力欄２３１、ＯＫボタン２３２、及び参照ボタン２３３が表示される。
【００７４】
ファイル名指定ダイヤログ２３０を開くと（Ｓ３３）、ＣＰＵ５０はＳ３５のファイル名入力／選択処理を実行し、この処理をファイル名指定ダイヤログ２３０のＯＫボタン２３２が押下されるまで繰り返す（Ｓ３７）。Ｓ３５のファイル名入力／選択処理では、ＣＰＵ５０は次の一連の処理を実行する。すなわち、キーボード５３からファームウェアのファイル名が直接入力された場合、そのファイル名をファイル名入力欄２３１に表示する。参照ボタン２３３が押下された場合、マネージャＧと通信可能に接続された他の記憶手段（例えば各種サーバ）またはＲＯＭ５１に記憶されたファームウェアを、図示しない新たなダイヤログを開いてリストアップする。そして、キーボード５３のカーソルキー等によってファームウェアが選択されると、そのファームウェアのファイル名をファイル名入力欄２３１に表示する。
【００７５】
以上のファイル名入力／選択処理（Ｓ３５）によって所望のファイル名がファイル名入力欄２３１に表示されると、使用者はＯＫボタン２３２を押下する。すると、ＣＰＵ５０は、Ｓ３７で肯定判断してＳ３９へ移行する。Ｓ３９では、後述のファームウェア送信処理を実行して、上記入力されたファイル名のファームウェアをＬＰＲで、すなわちプリンタ１０等のデバイスでのみ処理されるように、ネットワークＷへ送信する。また、Ｓ３９の終了後は、ファイル名指定ダイヤログ２３０を消し、デバイスリスト画面２００の全面を表示してＳ１１〜Ｓ１９のループ処理へ移行する。
【００７６】
ＮＩＣファームウェアアップデートボタン２０３が押下された場合もほぼ同様であり、この場合、Ｓ１７にて肯定判断してＳ４３へ移行する。Ｓ４３では、図１２に例示したものとほぼ同様のファイル名指定ダイヤログ２３０を開き、続いて、上記とほぼ同様のファイル名入力／選択処理（Ｓ４３）を、ファイル名指定ダイヤログ２３０のＯＫボタン２３２が押下されるまで繰り返す（Ｓ４７）。但し、Ｓ４３で表示されるファイル名指定ダイヤログ２３０では、機種名としてＮＩＣの機種名（上記例では２０１０）が表示される点において図１２と異なる。
【００７７】
ファイル名入力／選択処理（Ｓ４５）によって所望のファイル名を表示し、ＯＫボタン２３２が押下されると、ＣＰＵ５０は、Ｓ４７で肯定判断してＳ４９へ移行する。Ｓ４９では、ファームウェア送信処理を実行して、上記入力されたファイル名のファームウェアをＴＦＴＰで、すなわちＮＩＣでのみ処理されるように、ネットワークＷへ送信する。また、Ｓ４９の終了後は、ファイル名指定ダイヤログ２３０を消し、Ｓ１１〜Ｓ１９のループ処理へ移行する。更に、そのループ処理中に終了ボタン２０５が押下されると、このバージョンアップ処理を終了する。
【００７８】
図６は、上記ファームウェア送信処理を表すフローチャートである。図６に示すように、処理を開始すると、先ずＳ５１にて送信用ファームウェアファイルからデバイス名を読み込む。ここで、本バージョンアップ処理で取り扱うファームウェアには、各ファームウェアに対応して、図１３（Ａ）に例示する送信用ファームウェアファイル３００が形成されている。図１３（Ａ）に例示するように、送信用ファームウェアファイル３００は、そのファームウェアが適合するデバイス名３０１と、そのファームウェアを格納すべきＲＯＭ（プリンタ１０のＲＯＭ１２，ＮＩＣ１のＲＯＭ６等）のアドレス３０２と、ファームウェアの処理プログラムそのもの（ファームウェア３０３）と、そのファームウェア３０３を記憶したＲＯＭ６，１２等の記憶領域６ａ，１２ａ等を書き換えるための書換プログラム３０４と、後述のようにその書換プログラム３０４をコピーする処理等を実行するための制御プログラム３０５と、を羅列して構成されている。
【００７９】
Ｓ５１では、Ｓ３５またはＳ４５にて選択されたファイル名に対応する送信用ファームウェアファイル３００から、デバイス名３０１を読み込むのである。続くＳ５３では、デバイスリスト２０１に表示しているデバイスの総数を検出して変数Ｎに代入し、Ｓ５５にて変数ｉを０にリセットする。続いて、Ｓ５７にてｉに１を加算した後、Ｓ５９にて、デバイスリスト２０１の上からｉ番目のデバイスが、選択されて反転表示となっているか否かを判断する。反転表示となっている場合は（Ｓ５９：ＹＥＳ）、Ｓ６１へ移行し、デバイスリスト２０１に表示したそのｉ番目のデバイスのデバイス名が、Ｓ５１で読み込んだファームウェアのデバイス名３０１と一致するか否かを判断する。
【００８０】
そして、一致した場合は（Ｓ６１：ＹＥＳ）、デバイスリスト２０１からそのデバイスのＩＰアドレスを読み込み（Ｓ６３）、そのＩＰアドレスにネットワークＷを介して送信用ファームウェアファイル３００を送信する（Ｓ６５）。ここで、Ｓ６５では前述のように、ＮＩＣ１のＲＯＭ６の記憶領域６ａに書き換えるべきファームウェア３０３を有する送信用ファームウェアファイル３００はＴＦＴＰで、プリンタ１０のＲＯＭ１２の記憶領域１２ａに書き換えるべきファームウェア３０３を有する送信用ファームウェアファイル３００はＬＰＲで、それぞれ送信する。
【００８１】
なお、ＴＦＴＰの転送パラメータには、周知のように、ＰＵＴまたはＧＥＴ（送信または受信）を表すパラメータと、送信先のＩＰアドレスと、送信元のファームウェアファイルのパス名と、送信先のファームウェアファイルのパス名とがある。しかしながら、ＮＩＣ１は一般にファイルシステムを持たないので、送信先のファームウェアファイルのパス名はあまり意味を持たない。そこで、本実施の形態では、図１３（Ｂ）に例示するように、このパス名の代わりにマネージャＧ固有のパスワードを添付した。このパスワードの効果は、後に詳述する。
【００８２】
図６に戻って、送信用ファームウェアファイル３００の送信後は、Ｓ６７へ移行し、全てのデバイスに対して処理を終了してｉ＝Ｎとなったか否かを判断する。ｉ＝Ｎでなければ（Ｓ６７：ＮＯ）、前述のＳ５７へ移行してｉに１を加算し、次のデバイスに対して同様の処理を行う。このとき、ｉ番目のデバイスが反転表示となっていなければ（Ｓ５９：ＮＯ）、そのままＳ６７へ移行してｉ＝Ｎとなったか否かを判断する。そして、ｉ＝ＮでなければＳ５７へ移行し、更に次のデバイスに対して同様の処理を行う。この処理を繰り返して、全てのデバイスに対して上記処理を終了してｉ＝Ｎとなると、Ｓ６７にて肯定判断して処理を終了し、図５の処理へ復帰する。
【００８３】
以上の処理により、デバイスリスト２０１で反転表示した全てのデバイス（またはそれに接続されたＮＩＣ）に対して、Ｓ３５またはＳ４５にて選択されたファームウェア３０３を有する送信用ファームウェアファイル３００を送信することができる。一方、上記処理の途中でＳ６１にて、ｉ番目のデバイスのデバイス名が、Ｓ５１で読み込んだファームウェアのデバイス名３０１と一致しないと判断した場合は（Ｓ６１：ＮＯ）、Ｓ６９へ移行し、その時点ではまだ表示中のファイル名指定ダイヤログ２３０の上に、図１４に例示する警告メッセージ２４０を重ねて表示する。そして、この場合は、Ｓ６３，Ｓ６５による送信用ファームウェアファイル３００の送信を行うことなく、そのまま上記６７へ移行する。このため、送信用ファームウェアファイル３００をそのファームウェア３０３に適合しないデバイスに送信してしまうのを良好に防止することができる。
【００８４】
このように、マネージャＧでは、送信用ファームウェアファイル３００を送信可能なデバイスをデバイスリスト２０１にリストアップして表示することができる。また、その表示されたデバイスの中から、送信用ファームウェアファイル３００を送信すべきデバイスを、個々に選択することも同一機種を一括して選択することもできる。このため、バージョンアップしたいデバイスの選択がきわめて容易に行え、通信システムＳの作業性をきわめて向上させることができる。しかも、選択したデバイスとファームウェア３０３とが適合しない場合には、警告メッセージ２４０が表示されるので、送信用ファームウェアファイル３００を適合しないデバイスに送信し、誤動作を招いたり他のエラーメッセージを発生したりするのを良好に防止することができる。
【００８５】
次に、プリンタ１０のＣＰＵ１１が実行する処理について説明する。ＲＯＭ１２の書き換え可能な記憶領域１２ａには、図１５（Ａ）に例示するように、印字部１７の制御等に関わる小型の処理プログラムとしてのファームウェア４０３と、そのファームウェア４０３等を記憶した記憶領域１２ａの記憶内容を書き換える書換プログラム４０４と、その書換プログラム４０４をＲＡＭ１３にコピー（複写）する等の後述の処理のための制御プログラム４０５とが格納されている。
【００８６】
そして、ＣＰＵ１１は、制御プログラム４０５に基づいて次の処理を実行する。図１６は、プリンタ１０のＣＰＵ１１が実行するヴァージョンアップ処理を表わすフローチャートである。図１６に示すように、処理を開始すると、先ず、Ｓ８１にて送信用ファームウェアファイル３００を受信したか否か判断し、受信していない場合はＳ８３にて通常の処理を実行してＳ８１へ戻る。すなわち、プリンタ１０がマネージャＧからネットワークＷを介して送信用ファームウェアファイル３００を受信するまでは（Ｓ８１：ＮＯ）、記憶領域１２ａに記憶されたファームウェア４０３や、ＲＯＭ１２に書き換え不能に記憶された他の処理プログラムに基づき、プリンタ１０としての通常の処理を実行する（Ｓ８３）。
【００８７】
なお、この通常の処理としては、印字部１７の駆動等の周知の処理の他、マネージャＧが送信したデバイス情報要求（Ｓ１）に対してデバイス情報１００を返信する処理等も含まれている。また、送信用ファームウェアファイル３００には、図示しないヘッダ等にそのデータが送信用ファームウェアファイル３００であることを示す指示情報が添付されており、ＣＰＵ１１は、その指示情報を検出したときにＳ８１にて肯定判断する。
【００８８】
プリンタ１０が送信用ファームウェアファイル３００を受信すると（Ｓ８１：ＹＥＳ）、Ｓ８７へ移行し、図１５（Ｂ）に模式的に例示するように、書換プログラム４０４をＲＡＭ３上へコピーする。そして、続くＳ９１〜Ｓ９９では、ＲＡＭ３上へコピーした書換プログラム４０４に基づく処理を次のように実行し、図１５（Ｃ）に模式的に例示するように、記憶領域１２ａに記憶されたデータを書き換えて処理を終了する。
【００８９】
すなわち、Ｓ９１ではＲＯＭ１２の記憶領域１２ａ上のデータを消去し、続くＳ９３では、受信した送信用ファームウェアファイル３００のデータ（ファームウェア３０３，書換プログラム３０４，及び制御プログラム３０５）を、ＲＯＭ１２の記憶領域１２ａに書き込む。Ｓ９５では、その書き込みが終了したか否かを判断し、終了するまでＳ９３による書き込みの処理を繰り返した後（Ｓ９５：ＹＥＳ）、Ｓ９９へ移行する。Ｓ９９では、ＣＰＵ１１の処理をＲＯＭ１２上の処理（例えば、プリンタ１０をリセットする処理）へ移行させ、一旦処理を終了する。すると、記憶領域１２ａに新たに記憶されたファームウェア３０３や、ＲＯＭ１２に書き換え不能に記憶された他の処理プログラムに基づき、プリンタ１０としての通常の処理が実行可能となる。
【００９０】
このように、プリンタ１０では、書換プログラム４０４を一旦ＲＡＭ１３に複写（コピー）し、その複写後の書換プログラム４０４に基づいてＲＯＭ１２の記憶内容を書き換えているので、一つの書換プログラム４０４によってＲＯＭ１２の記憶内容を一気に書き換えることができる。このため、プリンタ１０の機械的な構成や制御システムとしての構成を簡略化し、ＲＯＭ１２の記憶容量を充分有効に活用すると共に、書き換えに要する処理時間も短縮することができる。また、このような書き換えを行ったＲＯＭ１２には、同様に書換プログラム３０４及び制御プログラム３０５が記憶されるので、プリンタ１０が更に他の送信用ファームウェアファイルを受信したときも、前述の処理と同様に書き換えを行うことができる。
【００９１】
また、ＣＰＵ１１は、送信用ファームウェアファイル３００を受信すると（Ｓ８１：ＹＥＳ）自動的にＳ８７〜Ｓ９５の処理を実行して記憶領域１２ａを書き換え、書き換えが終了すると（Ｓ９５：ＹＥＳ）、ＲＯＭ１２に基づく通常の処理へ自動的に移行することができる。このため、記憶領域１２ａの書き換えがきわめて容易に行えると共に、書き換え後にはきわめて迅速に通常の制御に復帰させることができる。従って、プリンタ１０の操作性がきわめて向上する。
【００９２】
ＮＩＣ１のＲＯＭ６の記憶領域６ａにも同様にファームウェア，書換プログラム，及び制御プログラムが記憶されており、同様の処理によってＲＯＭ６の記憶内容を一気に書き換えることができる。しかも、書き換えの開始や通常の処理への復帰も、上記と同様に自動的に行うことができる。但し、ＮＩＣ１における処理は、送信用ファームウェアファイル３００がＴＦＴＰで送信されたかＬＰＲで送信されたかによって、次のような振り分けを行う点で異なる。
【００９３】
図１７は、ＮＩＣ１のＣＰＵ５が実行するヴァージョンアップ処理を表わすフローチャートである。図１７に示すように、この処理は図１６の処理とほぼ同様であり、前述のＳ８１とＳ８７との間に次のような処理を設けた点において異なる。すなわち、送信用ファームウェアファイル３００を受信してＳ８１にて肯定判断すると、Ｓ８４へ移行し、その送信用ファームウェアファイル３００がＴＦＴＰで送信されたものか否かを判断する。送信用ファームウェアファイル３００がＴＦＴＰで送信された場合は（Ｓ８４：ＹＥＳ）、Ｓ８５へ移行して、その送信用ファームウェアファイル３００に添付されたパスワードが適切か否か、すなわち、マネージャＧ固有のものであるか否かを判断する。送信用ファームウェアファイル３００がＴＦＴＰで送信され、その転送パラメータのパス名の代わりに適切なパスワードが添付されている場合は（Ｓ８４，Ｓ８５：ＹＥＳ）、Ｓ８７以下の処理へ移行して前述のようにＲＯＭ６の記憶内容を書き換える。
【００９４】
一方、送信用ファームウェアファイル３００が他のプロトコル（この場合、ＬＰＲ）で送信された場合は（Ｓ８４：ＮＯ）、Ｓ８６へ移行する。Ｓ８６では、その送信用ファームウェアファイル３００をそのままプリンタ１０に転送し、再びＳ８１，Ｓ８３のループ処理へ移行して他の送信用ファームウェアファイル３００を受信するまで待機する。また、送信用ファームウェアファイル３００に添付されたパスワードが適切でない場合は（Ｓ８５：ＮＯ）、そのままＳ８１，Ｓ８３のループ処理へ移行し、Ｓ８１で受信した送信用ファームウェアファイル３００は破棄する。マネージャＧでは、図６のＳ６５に関連して説明したように、ＮＩＣ１のＲＯＭ６の記憶領域６ａに書き換えるべき送信用ファームウェアファイル３００はＴＦＴＰで、プリンタ１０のＲＯＭ１２の記憶領域１２ａに書き換えるべき送信用ファームウェアファイル３００はＬＰＲで、それぞれ送信している。そこで、ＮＩＣ１では、送信用ファームウェアファイル３００がＴＦＴＰで送信されたかＬＰＲで送信されたかによって、その送信用ファームウェアファイル３００を振り分けているのである。そして、プリンタ１０に転送された送信用ファームウェアファイル３００は、前述の図１６の処理によって記憶領域１２ａに書き換えられる。このため、本実施の形態では次のような効果が生じる。
【００９５】
すなわち、ファームウェア３０３がＮＩＣ１に書き換えるべきものであるかデバイスに書き換えるべきものであるかをプロトコルによって判断しているので、そのいずれであるかを示すデータ（例えば識別子等）を、送信用ファームウェアファイル３００に添付する必要がない。このため、送信処理が簡略化され、装置の構成を簡略化して製造コストを低減することができると共に、処理速度を向上させることができる。
【００９６】
また、ＮＩＣ１のＲＯＭ６の書き換えは、送信用ファームウェアファイル３００に添付されたパスワードが適切なときにのみ許可されるので、マネージャＧ以外のコンピュータから送られたファームウェア等がＲＯＭ６に書き込まれるのを良好に防止することができる。特にＮＩＣ１では、他のコンピュータから異常なファームウエアを受信してＲＯＭ６に書き込むと、マネージャＧとの間でデータの送受信が全くできなくなる可能性もあるが、本実施の形態ではこのような事態の発生を良好に防止することができる。しかも、本実施の形態では、ＴＦＴＰのパス名の代わりにパスワードを添付しただけの簡単なデータ体系によってこのような効果を得ることができるので、通信システムとしての構成を簡略化しつつ、その信頼性を高めることができる。
【００９７】
以上、詳述したように、本実施の形態の通信システムＳでは、ＮＩＣ１及びプリンタ１０が、一つの書き換えプログラムによって、ＲＯＭ６またはＲＯＭ１２の記憶内容を一気に書き換えることができる。このため、装置の機械的な構成や制御システムとしての構成を簡略化し、ＲＯＭ６，１２の記憶容量を充分有効に活用すると共に、書き換えに要する処理時間も短縮することができる。しかも、デバイスリスト画面２００により、その書き換えを行うべきデバイス（処理装置）もきわめて容易に選択できる。
【００９８】
なお、上記説明では、ＮＩＣ１にプリンタ１０を一対一に接続した場合を中心に説明したが、図１に示すように、ＮＩＣ１には、プリンタ４０を接続すると共にこれに並列に、例えば、イメージスキャナ７０を接続することもできる。更に、上記プリンタ４０に対して、インテリジェントな（固有のＣＰＵを有した）用紙ソータ８０を接続することもできる。この場合には、プリンタ４０は、用紙ソータ８０のデバイス情報もＮＩＣ１のデバイス情報と共に取得し、図７のデバイス情報１００に添付してマネージャＧに返信する。
【００９９】
上記実施の形態において、ＲＯＭ６がプログラマブルＲＯＭ及び第１のプログラマブルＲＯＭに、ＲＯＭ１２が第２のプログラマブルＲＯＭに、図１７のＳ８７の処理を実行するＣＰＵ５及びその処理を記憶したＲＯＭ６の記憶領域が書換プログラム複写手段及び第１の書換プログラム複写手段に、図１６のＳ８７の処理を実行するＣＰＵ１１及びその処理を記憶したＲＯＭ１２の記憶領域が第２の書換プログラム複写手段に、図１７のＳ９１〜Ｓ９５の処理を実行するＣＰＵ５及びその処理を記憶したＲＯＭ６の記憶領域が処理プログラム書換手段及び第１の処理プログラム書換手段に、図１６のＳ９１〜Ｓ９５の処理を実行するＣＰＵ１１及びその処理を記憶したＲＯＭ１２の記憶領域が第２の処理プログラム書換手段に、図１７のＳ８４の処理を実行するＣＰＵ５及びその処理を記憶したＲＯＭ６の記憶領域が判断手段に相当する。また、トランシーバ２が受信手段に相当する。
【０１００】
【０１０１】
更に、本発明は上記実施の形態になんら限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の形態で実施することができる。例えば、上記実施の形態では、デバイスリスト２０１に表示されたデバイスをクリックすることによってデバイスを選択しているが（Ｓ１１）、キーボード５３から機種名を直接入力することによって選択することも可能とすることができる。
【０１０２】
また、上記実施の形態では、送信用ファームウェアファイル３００を受信したとき一律にＲＯＭ１２の書き換え（Ｓ８７〜９５）を実行しているが、その前に書き換えの要否を判断してもよい。例えば、送信用ファームウェアファイル３００のヘッダにファームウェア３０３のバージョンを表す識別情報を添付しておき、そのバージョンがＲＯＭ１２に記憶されているファームウェア４０３と同一であれば、受信したバージョンアップ用のプログラムデータを（受信バッファから）読み捨てて、そのままＳ８１，Ｓ８３のループ処理へ戻るようにしてもよい。また、同様にバスワード等の管理情報を追加して、バージョンアップの実行を制限してもよい。この場合、同一のファームウェア３０３，４０３に対する書き換え処理が実行されるのを良好に防止して、ＣＰＵ１１の処理速度を向上させることができる。また、このことはＮＩＣ１に対しても同様にいえる。
【０１０３】
更に、上記書き換え（Ｓ８７〜Ｓ９５）を実行するか否かは、プリンタ１０の操作パネル等によって個々に設定できるようにしてもよい。
【０１０４】
また、上記実施の形態では、同一機種のデバイスには同一機種のＮＩＣが対応するものとして説明したが、デバイスとＮＩＣとの対応関係が自由に設定できる通信システムも考えられる。このような通信システムでは、同機種全て選択ボタン２０４を、図１８に例示するように、同機種のデバイスを一括して選択する同機種本体選択ボタン２０４ａと、同機種のＮＩＣを備えたデバイスを一括して選択する同機種ＮＩＣ選択ボタン２０４ｂとに分けることが望ましい。この場合、同機種のＮＩＣにＲＯＭ６の書き換えを行ってバージョンアップしたいときは、そのＮＩＣを有するデバイスをクリックした後、同機種ＮＩＣ選択ボタン２０４ｂを押下すればよい。この場合、デバイスクラスの異なるデバイスであっても、ＮＩＣが同機種であれば一括してバージョンアップすることができる。
【０１０５】
【０１０６】
【０１０７】
更に、上記実施の形態では、デバイスを選択した後にファームウェアのファイル名を入力しているが、ファームウェアのファイル名を先に入力する構成も考えられる。この場合、デバイスリスト２０１を表示する際にデバイス名（例えば、デバイス情報１００のデバイス名１０２またはＮＩＣデバイス名１０５）を参照し、そのファームウェアが適合するデバイスのみをリストアップすることができる。この場合、デバイスリスト２０１に表示されたデバイスはどれを選択してもファームウェアに適合するので、Ｓ５９，Ｓ６９の処理が不要となると共に操作性が一層向上する。但し、全てのデバイスに対してファームウェアとの適合性をチェックする必要があるので、デバイスの数が極端に多い場合はデバイスリスト２０１の表示処理に時間がかかる。従って、上記実施の形態の方が、デバイスリスト２０１の表示処理を迅速に行うことができる。
【０１０８】
【０１０９】
更に、書換プログラムをＲＡＭに複写してプログラマブルＲＯＭの記憶内容を書き換える構成は、プログラマブルＲＯＭを複数備えた装置に適用しても効果を発生し、そのプログラマブルＲＯＭの記憶容量を有効に活用することが可能となる。特に、プリンタ１０等の画像形成装置では、プログラマブルＲＯＭを複数備えている場合、どのプログラマブルＲＯＭにどのファームウェア３０３を書き込むかが決まっている。そこで、送信用ファームウェアファイル３００のヘッダ等にコマンドを添付し、そのコマンドによってどのプログラマブルＲＯＭを書き換えるか指定してもよい。
【０１１０】
また、上記書換プログラム複写処理，処理プログラム書換処理等を記憶する記憶媒体としては、ＲＯＭ，ＲＡＭ等の素子の他、種々の形態が考えられる。例えば、ＣＤ−ＲＯＭ，フロピーディスク等でもよく、カードスロットへ挿入可能なプログラムカートリッジ等でもよく、インターネット上のファイルサーバであってもよい。すなわち、本発明の受信手段は、上記各種記憶媒体から送信用ファームウェアファイル３００等のデータを受信するものも含んでいる。
【０１１１】
更に、プリンタ１０等の画像形成装置に内蔵されたプログラマブルＲＯＭでは、どの記憶領域にどのような処理プログラムを記憶するかが機種毎にほぼ規定されている。このため、上記実施の形態のように、ファームウェア３０３を記憶領域１２ａのどの位置に格納すべきかを指定する記憶位置指定情報としてのアドレス３０２を、送信用ファームウェアファイル３００に添付することができる。このため、上記書き換え処理が一層円滑に行え、その処理速度を更に向上させることができる。
【図面の簡単な説明】
【図１】  本発明が適用された通信システムの構成を表すブロック図である。
【図２】  マネージャによるバージョンアップ処理を表すフローチャートである。
【図３】  そのバージョンアップ処理の続きを表すフローチャートである。
【図４】  そのバージョンアップ処理の更に続きを表すフローチャートである。
【図５】  そのバージョンアップ処理の更に続きを表すフローチャートである。
【図６】  その処理内のファームウェア送信処理を表すフローチャートである。
【図７】  プリンタが返信するデバイス情報を模式的に表す説明図である。
【図８】  そのデバイス情報に対応したデバイスリスト画面の一例を表す説明図である。
【図９】  一つのデバイスが選択されたデバイスリスト画面の一例を表す説明図である。
【図１０】  同機種のデバイス選択時のデバイスリスト画面の一例を表す説明図である。
【図１１】  選択機種変更ダイヤログの一例を表す説明図である。
【図１２】  ファイル名指定ダイヤログの一例を表す説明図である。
【図１３】  送信用ファームウェアファイルの形態を模式的に例示する説明図である。
【図１４】  警告メッセージの一例を表す説明図である。
【図１５】  プリンタによるバージョンアップ処理を模式的に表す説明図である。
【図１６】  プリンタによるバージョンアップ処理を表すフローチャートである。
【図１７】  ＮＩＣによるバージョンアップ処理を表すフローチャートである。
【図１８】  デバイスリスト画面の他の形態を表す説明図である。
【符号の説明】
１…ＮＩＣ    ２…トランシーバ    ５，１１…ＣＰＵ    ６，１２…ＲＯＭ
７，１３…ＲＡＭ        ６ａ，１２ａ…記憶領域        ９…接続ライン
１０，３０，４０…プリンタ      １７…印字部        ５３…キーボード
７０…イメージスキャナ      ８０…用紙ソータ      １００…デバイス情報
１０１…デバイスクラス      １０２…デバイス名      １０３…ステータス
１０４…プリンタバージョン          １０５…ＮＩＣデバイス名
１０６…ＮＩＣバージョン            １０７…ＩＰアドレス
２００…デバイスリスト画面          ２０１…デバイスリスト
２０２…本体ファームウェアアップデートボタン
２０３…ＮＩＣファームウェアアップデートボタン
２０４…同機種全て選択ボタン        ２０５…終了ボタン
２２０…選択機種変更ダイヤログ      ２３０…ファイル名指定ダイヤログ
２４０…警告メッセージ              ３００…送信用ファームウェアファイル
３０１…デバイス名    ３０２…アドレス    ３０３，４０３…ファームウェア
３０４，４０４…書換プログラム      ３０５，４０５…制御プログラム
Ｇ…マネージャ                      Ｗ…ネットワーク
【図１】
0003812115.tif 000002
【図２】
0003812115.tif 000003
【図３】
0003812115.tif 000004
【図４】
0003812115.tif 000005
【図５】
0003812115.tif 000006
【図６】
0003812115.tif 000007
【図７】
0003812115.tif 000008
【図８】
0003812115.tif 000009
【図９】
0003812115.tif 000010
【図１０】
0003812115.tif 000011
【図１１】
0003812115.tif 000012
【図１２】
0003812115.tif 000013
【図１３】
0003812115.tif 000014
【図１４】
0003812115.tif 000015
【図１５】
0003812115.tif 000016
【図１６】
0003812115.tif 000017
【図１７】
0003812115.tif 000018
【図１８】
0003812115.tif 000019