そのような、外部装置とデータ通信を行うデータ受信装置については、データ受信装置のプログラマブルROMのファームウェアを書き換える場合と、インタフェース装置のプログラマブルROMのファームウェアを書き換える場合がある。この場合、ファームウェアファイルを振り分けて、例えばインタフェース装置のプログラマブルROMに書き込むためのファームウェアがデータ受信装置のプログラマブルROMに誤って書き込まれないようにする必要がある。
また、一般にファームウェアでは、適合する機種が限定されているため、機種の異なる複数のデータ受信装置が選択されると、適合しないデータ受信装置にも同じファームウェアを送信してしい、誤動作を招くなどおそれがあった。
[発明の目的](この行は出願時に削除する。)
本発明は、上述した問題点を解決するためになされたものであり、データ受信装置あるいはインタフェース装置のファームウェアを送信する際に、振り分けて、誤って書き込まれないようにすることを目的とする。
さらに本発明は、機種の異なる複数のデータ受信装置が選択されることに起因する、データ受信装置の誤動作を招くなどのおそれを防ぐことを目的とする。
この目的を達成するために、請求項1記載のファームウェア送信プログラムは、複数のデータ受信装置とデータ通信を行うためのインタフェースと、表示装置と入力装置を備えたデータ送信装置上で動作し、複数のデータ受信装置のうち、1つ以上のデータ受信装置を選択するためのデータ受信装置選択指示入力部分と、第1の指示入力部分と、第2の指示入力部分とを備えた指示入力用の画面を、前記表示装置に表示する、表示手段と、前記データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる選択入力指示に対し、選択指示入力された前記データ受信装置を、ファームウェアの送信対象データ受信装置として選択する、送信対象データ受信装置選択手段と、前記第1の指示入力部分が前記入力装置にて操作されることによる指示入力に対し、前記インタフェースを通じて、前記送信対象データ受信装置に前記データ受信装置用のソフトウェアを送信する、第1のファームウェア送信手段と、前記第2の指示入力部分が前記入力装置にて操作されることによる指示入力に対し、前記インタフェースを通じて、前記インタフェースと前記送信対象データ受信装置との間のデータ通信を中継するために前記インタフェースと前記データ受信装置とに接続されているインタフェース装置に、インタフェース装置用のファームウェアを送信する、第2のファームウェア送信手段として動作する。
このファームウェア送信プログラムは、このファームウェア送信プログラムが動作するデータ送信装置を操作する使用者に、入力装置を通じて、複数のデータ受信装置のうち、1つ以上のデータ受信装置を選択し、選択したデータ受信装置そのもののファームウェアを書き換える場合は第1の指示入力部分を操作し、選択したデータ受信装置と接続するインタフェース装置のファームウェアを書き換える場合は第2の指示入力部分を操作させる。
また、請求項2記載のファームウェア送信プログラムは、複数のデータ受信装置とデータ通信を行うためのインタフェースを備えたデータ送信装置上で動作し、前記複数のデータ受信装置のうち、適するファームウェアが同じデータ受信装置を同ファームウェアデータ受信装置として選択する選択手段と、前記同ファームウェアデータ受信装置それぞれに、適するファームウェアを送信する、ファームウェア送信手段として動作する。
このファームウェア送信プログラムは、複数のデータ受信装置のうち、適するファームウェアが同じデータ受信装置を選択し、選択されたデータ受信装置それぞれに同じファームウェアを送信する。
また、請求項3記載のファームウェア送信プログラムは、前記複数のデータ受信装置のうち、1つ以上のデータ受信装置を選択するためのデータ受信装置選択指示入力部分を備えた指示入力用の画面を、前記データ送信装置が備えた表示装置に表示する、データ受信装置選択指示入力部分表示手段として動作し、前記選択手段が、前記データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる選択入力指示に対し、選択指示入力された前記データ受信装置を、前記同ファームウェアデータ受信装置として選択する。
このファームウェア送信プログラムは、このファームウェア送信プログラムが動作するデータ送信装置を操作する使用者に、入力装置を通じて、1つ以上のデータ受信装置を選択させ、使用者に選択された1つ以上のデータ受信装置を、適するファームウェアが同じデータ受信装置であると判断し、それぞれに同じファームウェアを送信する。
また、請求項4記載のファームウェア送信プログラムは、前記データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる選択入力指示に対し、選択指示入力された前記データ受信装置に適するファームウェアが、先に選択指示入力されていた前記データ受信装置に適するファームウェアと同じであることの正否を判断する判断手段として動作し、前記選択手段は、判断が正であるとき、選択指示入力された前記データ受信装置を、前記同ファームウェアデータ受信装置として選択する。
このファームウェア送信プログラムは、このファームウェア送信プログラムが動作するデータ送信装置を操作する使用者に、入力装置を通じて、複数のデータ受信装置を個別に選択させ、使用者に選択された複数のデータ受信装置が、適するファームウェアが同じデータ受信装置であるかどうかを判断し、適するファームウェアが同じデータ受信装置であると判断されれば、それぞれに同じファームウェアを送信する。
また、請求項5記載のファームウェア送信プログラムは、前記データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる選択入力指示に対し、選択指示入力された前記データ受信装置に適するファームウェアが、先に選択指示入力されていた前記デバイスに適するファームウェアと同じであることの正否を判断する判断手段として動作し、前記選択手段は、判断が否であるとき、選択指示入力された前記デバイスを、前記同ファームウェアデータ受信装置として選択しない。
このファームウェア送信プログラムは、このファームウェア送信プログラムが動作するデータ送信装置を操作する使用者に、入力装置を通じて、複数のデータ受信装置を個別に選択させ、使用者が新たに選択したデバイスが、先に選択したデバイスとは適するファームウェアが異なるデータ受信装置であると判断されれば、新たに選択したデータ受信装置を、ファームウェアの送信先としない。
また、請求項6記載のファームウェア送信プログラムは、前記データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる選択入力指示に対し、選択指示入力された前記データ受信装置に適するファームウェアが、先に選択指示入力されていた前記データ受信装置に適するファームウェアと同じであることの正否を判断する判断手段として動作し、前記選択手段は、判断が否であるとき、選択指示入力された前記データ受信装置を、前記同ファームウェアデータ受信装置として選択し、先に選択指示入力されていた前記デバイスを前記同ファームウェアデータ受信装置として選択しない。
このファームウェア送信プログラムは、このファームウェア送信プログラムが動作するデータ送信装置を操作する使用者に、入力装置を通じて、複数のデータ受信装置を個別に選択させ、使用者が新たに選択したデータ受信装置が、先に選択したデータ受信装置とは適するファームウェアが異なるデータ受信装置であると判断されれば、先に選択したデータ受信装置を、ファームウェアの送信先としない。
また、請求項7記載のファームウェア送信プログラムは、前記同ファームウェアデータ受信装置を前記同ファームウェアデータ受信装置として選択されていいると認識できる表示にする選択認識表示手段として動作する。
このファームウェア送信プログラムは、このファームウェア送信プログラムが動作するデータ送信装置に同じファームウェアの送信対象として選択されたデータ受信装置を反転表示するなど、認識できる表示にする。
また、請求項8記載のファームウェア送信プログラムは、前記複数のデータ受信装置のうち、適するファームウェアが同じデバイスを全て選択するための全デバイス選択指示入力部分を備えた指示入力用の画面を、前記コンピュータが備えた表示装置に表示する、全デバイス選択指示入力部分表示手段として動作し、前記選択手段が、前記全デバイス選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる指示入力に対し、前記複数のデータ受信装置のうち、適するファームウェアが同じデータ受信装置の全てを前記同ファームウェアデータ受信装置として選択する。
このファームウェア送信プログラムは、このファームウェア送信プログラムが動作するデータ送信装置を操作する使用者に、入力装置を通じて、適するファームウェアが同じデータ受信装置を全て選択させ、それぞれに同じファームウェアを送信する。
また、請求項9記載のファームウェア送信プログラムは、前記複数のデータ受信装置のうち、代表するデータ受信装置を選択するための代表データ受信装置選択指示入力部分を備えた選択指示入力用の画面を、前記データ送信装置が備えた表示装置に表示する、代表データ受信装置選択指示入力部分表示手段として動作し、前記選択手段が、前記代表データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる選択指示入力に対し、選択指示入力された前記データ受信装置を代表データ受信装置として選択し、かつ、前記全データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる指示入力に対し、前記複数のデータ受信装置のうち、適するファームウェアが前記代表データ受信装置に適するファームウェアと同じであるデータ受信装置の全てを前記同ファームウェアデータ受信装置として選択する。
このファームウェア送信プログラムは、このファームウェア送信プログラムが動作するデータ送信装置を操作する使用者に、入力装置を通じて、ファームウェアを書き換えるデータ受信装置を選択させ、選択させたデータ受信装置と、適するファームウェアが同じデータ受信装置を全て選択させ、それぞれに同じファームウェアを送信する。
また、請求項10記載のデータ送信装置は、複数のデータ受信装置とデータ通信を行うためのインタフェースと、表示装置と入力装置を備え、複数のデータ受信装置のうち、1つ以上のデータ受信装置を選択するためのデータ受信装置選択指示入力部分と、第1の指示入力部分と、第2の指示入力部分とを備えた指示入力用の画面を、前記表示装置に表示する、表示手段と、前記データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる選択入力指示に対し、選択指示入力された前記データ受信装置を、ファームウェアの送信対象データ受信装置として選択する、送信対象データ受信装置選択手段と、前記第1の指示入力部分が前記入力装置にて操作されることによる指示入力に対し、前記インタフェースを通じて、前記送信対象データ受信装置に前記データ受信装置用のファームウェアを送信する、第1のファームウェア送信手段と、前記第2の指示入力部分が前記入力装置にて操作されることによる指示入力に対し、前記インタフェースを通じて、前記インタフェースと前記送信対象データ受信装置との間のデータ通信を中継するために前記インタフェースと前記データ受信装置とに接続されているインタフェース装置に、インタフェース装置用のファームウェアを送信する、第2のファームウェア送信手段を備える。
このデータ送信装置は、このデータ送信装置を操作する使用者に、入力装置を通じて、複数のデータ受信装置のうち、1つ以上のデータ受信装置を選択し、選択したデータ受信装置そのもののファームウェアを書き換える場合は第1の指示入力部分を操作し、選択したデータ受信装置と接続するインタフェース装置のファームウェアを書き換える場合は第2の指示入力部分を操作させる。
また、請求項11記載のデータ送信装置は、複数のデータ受信装置とデータ通信を行うためのインタフェースを備え、前記複数のデバイスのうち、適するファームウェアが同じデータ受信装置を同ファームウェアデータ受信装置として選択する選択手段と、前記同ファームウェアデータ受信装置それぞれに、適するファームウェアを送信する、ファームウェア送信手段を備える。
このデータ送信装置は、複数のデータ受信装置のうち、適するファームウェアが同じデータ受信装置を選択し、選択されたデータ受信装置それぞれに同じファームウェアを送信する。
また、請求項12記載のファームウェア送信方法は、1つ以上のデータ受信装置を選択するためのデータ受信装置選択指示入力部分と、第1の指示入力部分と、第2の指示入力部分を備えた指示入力用の画面とを表示する、表示手順と、前記データ受信装置選択指示入力部分への選択入力指示に対し、選択指示入力された前記データ受信装置を、ファームウェアの送信対象データ受信装置として選択する、送信対象データ受信装置選択手順と、前記第1の指示入力部分への指示入力に対し、前記送信対象データ受信装置に前記データ受信装置用のファームウェアを送信する、第1のファームウェア送信手順と、前記第2の指示入力部分への指示入力に対し、前記送信対象データ受信装置と外部装置との間のデータ通信を中継するために前記外部装置と前記送信対象データ受信装置とに接続されているインタフェース装置に、インタフェース装置用のファームウェアを送信する、第2のファームウェア送信手順を実行する。
このデータ送信方法は、複数のデータ受信装置のうち、1つ以上のデータ受信装置を選択し、選択したデータ受信装置そのもののファームウェアを書き換える場合は第1の指示入力部分を操作し、選択したデータ受信装置と接続するインタフェース装置のファームウェアを書き換える場合は第2の指示入力部分を操作する。
また、請求項13記載のファームウェア送信方法は、複数のデータ受信装置のうち、適するファームウェアが同じデータ受信装置を同ファームウェアデータ受信装置として選択する選択手順と、前記同ファームウェアデータ受信装置それぞれに、適するファームウェアを送信する、ファームウェア送信手順を実行する。
このファームウェア送信方法は、複数のデータ受信装置のうち、適するファームウェアが同じデータ受信装置を選択し、選択されたデータ受信装置それぞれに同じファームウェアを送信する。
また、請求項14記載のファームウェア書き換えシステムは、データ受信装置と、前記データ受信装置とデータ通信を行うためのインタフェースと、表示装置と入力装置を備えたデータ送信装置と、前記インタフェースと前記データ受信装置との間のデータ通信を中継するために前記インタフェースと前記データ受信装置とに接続されているインタフェース装置を備え、前記データ送信装置は、複数のデータ受信装置のうち、1つ以上のデータ受信装置を選択するためのデータ受信装置選択指示入力部分と、第1の指示入力部分と、第2の指示入力部分とを備えた指示入力用の画面を、前記表示装置に表示する、表示手段と、前記データ受信装置選択指示入力部分が前記データ送信装置が備えた入力装置にて操作されることによる選択入力指示に対し、選択指示入力された前記データ受信装置を、ファームウェアの送信対象データ受信装置として選択する、送信対象データ受信装置選択手段と、前記第1の指示入力部分が前記入力装置にて操作されることによる指示入力に対し、前記インタフェースを通じて、前記送信対象データ受信装置に前記データ受信装置用のファームウェアを送信する、第1のファームウェア送信手段と、前記第2の指示入力部分が前記入力装置にて操作されることによる指示入力に対し、前記インタフェースを通じて、前記インタフェース装置に、インタフェース装置用のファームウェアを送信する、第2のファームウェア送信手段を備え、前記データ受信装置は、前記データ受信装置用のファームウェアを取得し、自身のファームウェアを書き換える第1のファームウェア書き換え手段を備え、前記インタフェース装置は、前記データ受信装置用のファームウェアを受信し、前記データ受信装置に提供するファームウェア提供手段と、前記インタフェース装置用のファームウェアを受信し、自身のファームウェアを書き換える第2のファームウェア書き換え手段を備える。
このファームウェア書き換えシステムは、このファームウェア書き換えシステム上のデータ送信装置を操作する使用者に、入力装置を通じて、複数のデータ受信装置のうち、1つ以上のデータ受信装置を選択し、選択したデータ受信装置そのもののファームウェアを書き換える場合は第1の指示入力部分を操作し、選択したデータ受信装置と接続するインタフェース装置のファームウェアを書き換える場合は第2の指示入力部分を操作させる。
また、請求項15記載のファームウェア書き換えシステムは、複数のデータ受信装置と、複数のデータ受信装置とデータ通信を行うためのインタフェースを備えたデータ送信装置とを備え、前記データ送信装置は、前記複数のデータ受信装置のうち、適するファームウェアが同じデータ受信装置を同ファームウェアデータ受信装置として選択する選択手段と、前記同ファームウェアデータ受信装置それぞれに、適するファームウェアを送信する、ファームウェア送信手段を備え、前記データ受信装置は、前記ファームウェアを取得し、自身のファームウェアを書き換えるファームウェア書き換え手段を備える。
このファームウェア書き換えシステムは、このファームウェア書き換えシステム上のデータ送信装置にて、複数のデータ受信装置のうち、適するファームウェアが同じデータ受信装置を選択し、選択されたデータ受信装置それぞれに同じファームウェアを送信する。
以上説明したことから明らかなように、請求項1記載のファームウェア送信プログラムはファームウェア送信プログラムが動作するデータ送信装置の使用者に、データ受信装置を選択し、任意の指示入力部分を操作するだけという簡単な操作で、ファームウェアファイルを振り分けて、ファームウェアが誤って書き込まれないようにすることができる。
また、請求項2記載のファームウェア送信プログラムは、データ受信装置の誤動作を招くなどのおそれを防ぐことができる。
また、請求項3記載のファームウェア送信プログラムは、ファームウェア送信プログラムが動作するデータ送信装置の使用者に、1つ以上のデータ受信装置を選択するという簡単な操作を行わせるだけで、書き換えを行うべきデータ受信装置をきわめて容易に選択することができる。
また、請求項4記載のファームウェア送信プログラムは、ファームウェア送信プログラムが動作するデータ送信装置の使用者が、適するファームウェアが同じデータ受信装置を選択したときに、同じファームウェアを送信するため、書き換えを行うべきデータ受信装置をきわめて容易に選択することができ、かつ、データ受信装置の誤動作を招くなどのおそれを防ぐことができる。
また、請求項5記載のファームウェア送信プログラムは、ファームウェア送信プログラムが動作するデータ送信装置の使用者が、適するファームウェアが異なるデータ受信装置を選択したときに、以前の選択をそのまま有効にして、新たに選択されたデータ受信装置の選択を無効にすることで、書き換えを行うべきデータ受信装置をきわめて容易に選択することができ、かつ、データ受信装置の誤動作を招くなどのおそれを防ぐことができる。
また、請求項6記載のファームウェア送信プログラムは、ファームウェア送信プログラムが動作するデータ送信装置の使用者が、適するファームウェアが異なるデータ受信装置を選択したときに、以前の選択を無効にして、新たに選択されたデータ受信装置の選択のみを有効にすることで、書き換えを行うべきデータ受信装置をきわめて容易に選択することができ、かつ、データ受信装置の誤動作を招くなどのおそれを防ぐことができる。
また、請求項7記載のファームウェア送信プログラムは、ファームウェア送信プログラムが動作するデータ送信装置の使用者に、書き換えを行うべきデータ受信装置をきわめて容易に選択させることができる。
また、請求項8記載のファームウェア送信プログラムは、ファームウェア送信プログラムが動作するデータ送信装置の使用者に、適するファームウェアが同じデータ受信装置を一括して書き換えの対象として選択させることができる。
また、請求項8記載のファームウェア送信プログラムは、ファームウェア送信プログラムが動作するデータ送信装置の使用者に、選択したデータ受信装置と適するファームウェアが同じデータ受信装置を一括して書き換えの対象として選択させることができる。
また、請求項10記載のデータ送信装置は、データ送信装置の使用者に、データ受信装置を選択し、任意の指示入力部分を操作するだけという簡単な操作で、ファームウェアファイルを振り分けて、ファームウェアが誤って書き込まれないようにすることができる。
また、請求項11記載のデータ送信装置は、適するファームウェアが同じデータ受信装置に同じファームウェアを送信するので、データ受信装置の誤動作を招くなどのおそれを防ぐことができる。
また、請求項12記載のファームウェア送信方法は、データ受信装置を選択し、任意の指示入力部分を操作するだけという簡単な操作で、ファームウェアファイルを振り分けて、ファームウェアが誤って書き込まれないようにすることができる。
また、請求項13記載のファームウェア送信方法は、適するファームウェアが同じデータ受信装置に同じファームウェアを送信するので、データ受信装置の誤動作を招くなどのおそれを防ぐことができる。
また、請求項14記載のファームウェア書き換えシステムは、システム上のデータ送信装置の使用者に、データ受信装置を選択し、任意の指示入力部分を操作するだけという簡単な操作で、ファームウェアファイルを振り分けて、ファームウェアが誤って書き込まれないようにすることができる。
また、請求項15記載のファームウェア書き換えシステムは、ファームウェア書き換えシステム上のデータ送信装置から、適するファームウェアが同じデータ受信装置に同じファームウェアを送信するので、データ受信装置の誤動作を招くなどのおそれを防ぐことができる。
次に、本発明に好適な実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、端末装置としてのプリンタを複数台含むと共に、それぞれのプリンタを用いて印刷処理を行うコンピュータを複数含んだ通信システムであって、それぞれのプリンタの制御に使用されるファームウェア等の管理を一元的に実行する通信システムに対して本発明を適用した場合の実施の形態である。
先ず、本実施の形態の通信システムSの構成について、図1を用いて説明する。図1に示すように、通信システムSは、データ送信装置としてのマネージャ(管理用コンピュータ)Gと、電話回線またはLAN等のネットワークWと、インタフェース装置としての複数のNIC1と、データ受信装置としてのプリンタ10、30及び40と、当該プリンタ10に接続された複数のコンピュータ20と、プリンタ40に並列に接続されたイメージスキャナ70と、プリンタ40に直列に接続された用紙ソータ80とにより構成されている。ここで、プリンタ10、30及び40は異なる機種のプリンタである。
一方、マネージャGは、第1情報処理手段としてのCPU50,ROM51,RAM52を備え、キーボード53,CRT54等に接続された周知のパーソナルコンピュータである。
また、NIC1は、返信手段としてのトランシーバ2と、LANコントローラ3と、共有メモリ4と、CPU5と、ROM6と、RAM7と、バス8と、を備えている。ここで、ROM6は、フラッシュROM等のプログラマブルROMによって構成され、記憶内容を書き換え可能な記憶領域6aを有している。RAM7は、その内部に端末情報エリア7aを備えている。
一方、プリンタ10は、第2情報処理手段としてのCPU11と、ROM12と、RAM13と、バス14と、出力インタフェース(出力I/F)15と、入力インタフェース(入力I/F)16と、被記録媒体としての記録紙等に画像を形成する画像形成手段としての印字部17と、を備えている。ここで、ROM12は、フラッシュROM等のプログラマブルROMによって構成され、記憶内容を書き換え可能な記憶領域12aを有している。RAM13は、その内部に出力バッファ13aと入力バッファ13bとを備えている。また、プリンタ10は、バス14に接続された接続ライン9を介してNIC1に接続されると共に、入力インタフェース16を介して各コンピュータ20に接続されている。
次に、通信システムSにおける概要動作について図1を用いて説明する。なお、以下の概要動作の説明においては、NIC1とプリンタ10とにおける処理について説明するが、他のNIC1とプリンタ30,40等との間においても同様の処理が実行される。
マネージャG内のCPU50は、プリンタ10またはそれに接続されているNIC1に送信すべきデータを生成し、ネットワークWを介してNIC1のトランシーバ2に送信する。このとき、当該データの送信は、NIC1にて処理されるべきデータはTFTP(トリビアルファイル転送プロトコル)で、プリンタ10にて処理されるべきデータはLPR(ライン・プリンタ・リモート)で、処理装置を特に指定する必要がないデータはUDP(ユーザーデータグラム転送プロトコル)等の適宜のプロトコルで、それぞれ実行される。そして、データを受信したトランシーバ2は、これを復調し、LANコントローラ3を介してバス8に出力する。ここで、当該LANコントローラ3は、ネットワークWを介したマネージャGとの間におけるデータの送受信を制御する。
次に、CPU5は、NIC1が受信したデータがTFTPで送信されてきたときは、当該データをROM6に記憶されている情報を用いて処理する。このとき、RAM7は、当該CPU5における処理に必要な情報を読み出し可能に一時的に記憶する。その後、CPU5は、処理した結果をバス8、LANコントローラ3、トランシーバ2及びネットワークWを介してマネージャGに返信する。
一方、NIC1が受信したデータがLPRで送信されてきたときは、CPU5は、当該データを共有メモリ4及び接続ライン9を介してプリンタ10に転送する。その際、共有メモリ4にデータを書き込んだ後、CPU5は、図示しない信号線を通してCPU11に対してインターラプト(割り込み指令)を発生させ、当該データの処理を実行させる。なお、上述したデータに対するCPU5の処理に必要な制御プログラムは、ROM6に予め記憶されている。
ここで、共有メモリ4は、情報処理の際にNIC1とプリンタ10との間で共有すべき情報を一時的に記憶しておくためのメモリである。
次に、NIC1から転送したプリンタ10において処理すべきデータ(例えば、マネージャGからLPRで送信されてきたデータ)が接続ライン9を介してプリンタ10に入力されると、CPU11は、当該データをバス14を介して取得した後、ROM12内に記憶されている情報を用いて処理する。その後、CPU11は、処理した結果をバス14、接続ライン9、及び共有メモリ4を介してNIC1に返信する。このとき、RAM13は当該CPU11における処理に必要な情報を読み出し可能に一時的に記憶する。このデータに対するCPU11の処理に必要な制御プログラムは、ROM12に予め記憶されている。
更に、プリンタ10において処理すべきデータに対する処理結果をプリンタ10から受領したNIC1は、その処理結果をそのままネットワークWを介してマネージャGに転送する。
一方、各コンピュータ20から出力されたプリンタ10において印字出力すべき画像等のデータは、入力インタフェース16を介してプリンタ10内に取り込まれ、バス14を介して入力バッファ13b内に格納され、印刷データに展開処理されて出力バッファ13a内に一時的に記憶された後、再びバス14を介して出力インタフェース15から印字部17に出力され、当該データに対応した印字出力が実行される。一方、図示しない他のコンピュータから出力された印字出力すべき画像等のデータをプリンタ10において出力するときは、当該データがネットワークW経由でNIC1を介してプリンタ10の入力バッファ13bに取り込まれた後、上記と同様にして出力される。このプリンタ10本来の印字出力処理は、ROM12内に記憶されている制御プログラムに基づくCPU11の制御の下で実行される。
なお、通信システムS内に含まれている各プリンタ10,30,及び40は共通のNIC1を備えているが、プリンタ自体としては異なる機種のものを含んでいる。具体的には、印刷機構や取り扱いデータの相違等に対応して、それぞれのプリンタのROM12には後述のデバイス情報が記憶されているが、そのデバイス情報は各プリンタ毎に異なったものとなっている。また、ネットワークWには、NIC1とは異なる機種のNICを介して図示しない他のプリンタも接続されている。
次に、ROM6,12の記憶領域6a,12aは前述のように書き換え可能に構成されているので、この部分に記憶されたファームウェア等の処理プログラムを書き換えることにより、プリンタ10の機能をバージョンアップすることができる。続いて、このバージョンアップに関わる処理について説明する。
先ず、マネージャGにおいて所定のバージョンアップ用アプリケーションを立ち上げると、CPU50は図2〜図6に示すバージョンアップ処理を実行する。図2に示すように、処理を開始するとCPU50は、先ず、S1(Sはステップを表す:以下同様)にて、デバイス情報要求のためのブロードキャストパケットを、ネットワークWを介して接続された全てのプリンタにUDPで送信する。続くS3では、少なくとも3秒間計時可能なタイマをスタートする。更に、続くS5では、ネットワークWを介して各プリンタからデバイス情報を受信し、受信したデバイス情報をCRT54の画面に表示していく。そして、このS5の処理をタイマをスタートしてから3秒経過するまで繰り返し(S7)、3秒経過すると(S7:YES)、続くS11へ移行する。
ここで、プリンタ10等は、上記ブロードキャストパケットを受信すると図示しないルーチンを起動し、自身が接続されたNIC1よりそのNIC1のデバイス名,NIC1のファームウェアのバージョン(NICデバイス名,NICファームウェアバージョンという)等のデバイス情報を取得する。続いて乱数を発生し、その乱数に対応した数msec.待機した後、上記NIC1のデバイス情報を、プリンタ10自身のデバイスクラス,デバイス名,デバイスステータス,ファームウェアバージョン等のデバイス情報と共にマネージャGへ返信する。なお、プリンタ10等は、自身の電源投入時等にNIC1のデバイス情報を予め取得しておいてもよく、また、ネットワークWを介して接続された他のプリンタやNICのデバイス情報を取得しておき、上記デバイス情報と共に返信してもよい。 このため、マネージャGには、上記乱数に応じたバラバラのタイミングで、各プリンタからのデバイス情報がネットワークWを介して返信される。そこで、マネージャGによるS5の処理では、受信したデバイス情報に基づき、CRT54に次のような表示を行う。図7は、プリンタ10から返信されるデバイス情報100の形態を模式的に表す説明図であり、図8は、そのデバイス情報100等に対応したCRT54の表示画面(以下、デバイスリスト画面という)200の一例を表す説明図である。
図7に示すように、デバイス情報100は、レーザプリンタ,カラープリンタ等のデバイスの種別を表すデバイスクラス101,デバイスの機種毎に付与されたデバイス名102,プリンタ10の状態を表すステータス103,及びファームウエアのバージョンを表すプリンタバージョン104からなるプリンタ10側のデバイス情報と、NIC1側のデバイス情報としてのNICデバイス名105及びNICバージョン106と、そのプリンタ10に付与されたIPアドレス107とを羅列して構成されている。また、デバイスクラス101,デバイス名102,ステータス103,プリンタバージョン104,NICデバイス名105,及びNICバージョン106のデータの先頭には、各々のデータの長さを表すデバイスクラスレングス111,デバイス名レングス112,ステータスレングス113,プリンタバージョンレングス114,NICデバイス名レングス115,及びNICバージョンレングス116が添付されている。
このようなデバイス情報100を受信したCPU50は、S5の処理において、デバイスクラス101,デバイス名102,ステータス103,プリンタバージョン104,NICデバイス名105,NICバージョン106,及びIPアドレスのデータに対応した表記(デバイスクラス,デバイス名,デバイスステータス,本体ファームウェアバージョン,NICデバイス名,NICファームウェアバージョン,及びIPアドレス)を、デバイスクラス101に対応したアイコンの右側に配列してリストアップしたデバイスリスト201を表示する。
なお、図8に例示するデバイスリスト201では、プリンタの他にスキャナも表示されており、プリンタ,スキャナ等を総称してデバイスと呼んでいる。プリンタ10から返信されるデバイス情報100のプリンタバージョン104に対応した表記が「本体ファームウェアバージョン」の項目に表示されるのもこのためである。また、以下の説明では、同一機種のデバイスには同一機種のNICが対応するものとする。
デバイスリスト画面200には、このデバイスリスト201の上部に、デバイスのバージョンアップを行うときに押下される本体ファームウェアアップデートボタン202、NICのバージョンアップを行うときに押下されるNICファームウェアアップデートボタン203、バージョンアップの対象として同機種のデバイスを一括して選択するときに押下される同機種全て選択ボタン204、及び、このバージョンアップ処理を終了するときに押下される終了ボタン205が、並べて表示される。また、デバイスリスト201に表示された各デバイスも、例えばアイコンがクリックに対して反応するボタンとなっている。
CPU50は、S5の処理によってこのデバイスリスト画面200を表示した後、S11以降の処理を上記各ボタンの押下等に応じて実行する。すなわち、先ずS11では、デバイスリスト201に表示されたデバイスがクリックされたか否かを判断し、クリックされていない場合は否定判断してS13へ移行する。S13では、同機種全て選択ボタン204が押下されたか否かを判断し、押下されていない場合は否定判断してS15へ移行する。以下同様に、本体ファームウェアアップデートボタン202が押下されたか否かを判断して(S15)、押下されていない場合はS17へ移行し、NICファームウェアアップデートボタン203が押下されたか否かを判断して(S17)、押下されていない場合はS19へ移行し、終了ボタン205が押下されたか否かを判断して(S19)、押下されていない場合はS11へ移行する。すなわち、CPU50は、デバイスリスト画面200を表示した後、上記いずれかの操作がなされるまでS11〜S19のループ処理にて待機する。
デバイスリスト画面200が表示されると、通常、使用者は先ずバージョンアップしたいデバイスの選択を行う。この場合、デバイスのクリックが最初に行われ、S11にて肯定判断してS21へ移行する。S21では、既に選択されている機種と異機種のデバイスがクリックされたか否かを判断する。デバイスを初めてクリックした場合は、既に選択されている機種がないので、否定判断してS23へ移行する。S23では、クリックされたデバイスに関する表示部を反転表示する。例えば、デバイスリスト201の一番上に表示したレーザプリンタ(デバイス名:1660,NICデバイス名:2010)がクリックされると、デバイスリスト画面200は図9に例示するように変化する。この反転表示(S23)の後は、S11〜S19のループ処理へ復帰する。なお、後述のように本バージョンアップ処理では、反転表示したデバイスがバージョンアップの対象となる。 続いて、同機種全て選択ボタン204が押下されると、S13にて肯定判断してS25へ移行する。S25では、反転表示となっているものと同機種のデバイスを全て反転表示した後、S11〜S19のループ処理へ復帰する。例えば、図9に例示したように、デバイスリスト201の一番上に表示したレーザプリンタ(デバイス名:1660,NICデバイス名:2010)を反転表示した状態で同機種全て選択ボタン204が押下されると、図10に例示するように、そのレーザプリンタと同機種のレーザプリンタを全て反転表示する。従って、同機種全て選択ボタン204を押下することにより、同一機種のデバイスを一括してバージョンアップの対象に指定することができる。
また、本バージョンアップ処理では、デバイスを個々に指定してバージョンアップの対象とすることもできる。一つのデバイスを指定する場合は、使用者は前述のように所望の一つのデバイスをクリックすればよいが、複数のデバイスを個々に指定した場合は、デバイスのクリックを複数回繰り返す。
そこで、CPU50は、二つ目以降のデバイスがクリックされたときは、前述のS21にて、既に選択されている機種と異機種のデバイスがクリックされたか否かを判断する。後述するように、本バージョンアップ処理では、デバイスが選択されるとそのデバイスにファームウェアを送信してバージョンアップを行っている。ところが、一般にファームウェアでは、適合する機種が限定されている。このため、機種の異なる複数のデバイスが選択されると、ファームウェアの適合性の判断や、前述の同機種全て選択ボタン204の押下に対応する処理で問題が生じる。そこで、既に選択されている機種と異機種のデバイスがクリックされた場合は(S21:YES)、S27以下の処理へ移行する。
S27では、図11に示す選択機種変更ダイヤログ220を開き、デバイスリスト画面200の上に重ねて表示する。図11に示すように、選択機種変更ダイヤログ220には、「既に選択している機種とは別の機種が選択されました新しい選択を有効にしますか?」というメッセージと、YESボタン221及びNOボタン222とが表示される。そして、YESボタン221が押下された場合は(S29:YES)、S31へ移行して既に選択されているデバイスの反転表示を解除し、続いて、新たにクリックされたデバイスを前述のS23にて反転表示した後、S11〜S19のループ処理へ移行する。
この処理により、以前の選択を無効にして、新たにクリックされたデバイスの選択のみを有効にすることができる。また、選択機種変更ダイヤログ220にてNOボタン222が押下された場合は(S29:NO)、何もせずにそのままS11〜S19のループ処理へ移行する。この処理により、以前の選択をそのまま有効にして、新たにクリックされたデバイスの選択を無効にすることができる。なお、YESボタン221またはNOボタン222が押下されると、CPU50は選択機種変更ダイヤログ220を消し、デバイスリスト画面200の全面を表示する。
一方、新たにクリックされたデバイスが既に選択されているデバイスと同一機種の場合は(S21:NO)、そのままS23へ移行し、クリックされたデバイスを既に選択されているデバイスと共に反転表示する。この処理により、デバイスリスト201に表示された同一機種のデバイスの内、バージョンアップしたいものだけを複数選択することができる。
以上の処理によってバージョンアップしたい所望のデバイスを選択した後、使用者は、本体ファームウェアアップデートボタン202またはNICファームウェアアップデートボタン203を押下する。本体ファームウェアアップデートボタン202が押下されると、S15にて肯定判断してS33へ移行する。S33では、図12に例示するファイル名指定ダイヤログ230を開き、デバイスリスト画面200の上に重ねて表示する。図12に示すように、ファイル名指定ダイヤログ230には、選択されているデバイスの機種名が表示されると共に、ファイル名入力欄231、OKボタン232、及び参照ボタン233が表示される。 ファイル名指定ダイヤログ230を開くと(S33)、CPU50はS35のファイル名入力/選択処理を実行し、この処理をファイル名指定ダイヤログ230のOKボタン232が押下されるまで繰り返す(S37)。S35のファイル名入力/選択処理では、CPU50は次の一連の処理を実行する。すなわち、キーボード53からファームウェアのファイル名が直接入力された場合、そのファイル名をファイル名入力欄231に表示する。参照ボタン233が押下された場合、マネージャGと通信可能に接続された他の記憶手段(例えば各種サーバ)またはROM51に記憶されたファームウェアを、図示しない新たなダイヤログを開いてリストアップする。そして、キーボード53のカーソルキー等によってファームウェアが選択されると、そのファームウェアのファイル名をファイル名入力欄231に表示する。
以上のファイル名入力/選択処理(S35)によって所望のファイル名がファイル名入力欄231に表示されると、使用者はOKボタン232を押下する。すると、CPU50は、S37で肯定判断してS39へ移行する。S39では、後述のファームウェア送信処理を実行して、上記入力されたファイル名のファームウェアをLPRで、すなわちプリンタ10等のデバイスでのみ処理されるように、ネットワークWへ送信する。また、S39の終了後は、ファイル名指定ダイヤログ230を消し、デバイスリスト画面200の全面を表示してS11〜S19のループ処理へ移行する。
NICファームウェアアップデートボタン203が押下された場合もほぼ同様であり、この場合、S17にて肯定判断してS43へ移行する。S43では、図12に例示したものとほぼ同様のファイル名指定ダイヤログ230を開き、続いて、上記とほぼ同様のファイル名入力/選択処理(S43)を、ファイル名指定ダイヤログ230のOKボタン232が押下されるまで繰り返す(S47)。但し、S43で表示されるファイル名指定ダイヤログ230では、機種名としてNICの機種名(上記例では2010)が表示される点において図12と異なる。 ファイル名入力/選択処理(S45)によって所望のファイル名を表示し、OKボタン232が押下されると、CPU50は、S47で肯定判断してS49へ移行する。S49では、ファームウェア送信処理を実行して、上記入力されたファイル名のファームウェアをTFTPで、すなわちNICでのみ処理されるように、ネットワークWへ送信する。また、S49の終了後は、ファイル名指定ダイヤログ230を消し、S11〜S19のループ処理へ移行する。更に、そのループ処理中に終了ボタン205が押下されると、このバージョンアップ処理を終了する。
図6は、上記ファームウェア送信処理を表すフローチャートである。図6に示すように、処理を開始すると、先ずS51にて送信用ファームウェアファイルからデバイス名を読み込む。ここで、本バージョンアップ処理で取り扱うファームウェアには、各ファームウェアに対応して、図13(A)に例示する送信用ファームウェアファイル300が形成されている。図13(A)に例示するように、送信用ファームウェアファイル300は、そのファームウェアが適合するデバイス名301と、そのファームウェアを格納すべきROM(プリンタ10のROM12,NIC1のROM6等)のアドレス302と、ファームウェアの処理プログラムそのもの(ファームウェア303)と、そのファームウェア303を記憶したROM6,12等の記憶領域6a,12a等を書き換えるための書換プログラム304と、後述のようにその書換プログラム304をコピーする処理等を実行するための制御プログラム305と、を羅列して構成されている。
S51では、S35またはS45にて選択されたファイル名に対応する送信用ファームウェアファイル300から、デバイス名301を読み込むのである。続くS53では、デバイスリスト201に表示しているデバイスの総数を検出して変数Nに代入し、S55にて変数iを0にリセットする。続いて、S57にてiに1を加算した後、S59にて、デバイスリスト201の上からi番目のデバイスが、選択されて反転表示となっているか否かを判断する。反転表示となっている場合は(S59:YES)、S61へ移行し、デバイスリスト201に表示したそのi番目のデバイスのデバイス名が、S51で読み込んだファームウェアのデバイス名301と一致するか否かを判断する。
そして、一致した場合は(S61:YES)、デバイスリスト201からそのデバイスのIPアドレスを読み込み(S63)、そのIPアドレスにネットワークWを介して送信用ファームウェアファイル300を送信する(S65)。ここで、S65では前述のように、NIC1のROM6の記憶領域6aに書き換えるべきファームウェア303を有する送信用ファームウェアファイル300はTFTPで、プリンタ10のROM12の記憶領域12aに書き換えるべきファームウェア303を有する送信用ファームウェアファイル300はLPRで、それぞれ送信する。
なお、TFTPの転送パラメータには、周知のように、PUTまたはGET(送信または受信)を表すパラメータと、送信先のIPアドレスと、送信元のファームウェアファイルのパス名と、送信先のファームウェアファイルのパス名とがある。しかしながら、NIC1は一般にファイルシステムを持たないので、送信先のファームウェアファイルのパス名はあまり意味を持たない。そこで、本実施の形態では、図13(B)に例示するように、このパス名の代わりにマネージャG固有のパスワードを添付した。このパスワードの効果は、後に詳述する。
図6に戻って、送信用ファームウェアファイル300の送信後は、S67へ移行し、全てのデバイスに対して処理を終了してi=Nとなったか否かを判断する。i=Nでなければ(S67:NO)、前述のS57へ移行してiに1を加算し、次のデバイスに対して同様の処理を行う。このとき、i番目のデバイスが反転表示となっていなければ(S59:NO)、そのままS67へ移行してi=Nとなったか否かを判断する。そして、i=NでなければS57へ移行し、更に次のデバイスに対して同様の処理を行う。この処理を繰り返して、全てのデバイスに対して上記処理を終了してi=Nとなると、S67にて肯定判断して処理を終了し、図5の処理へ復帰する。
以上の処理により、デバイスリスト201で反転表示した全てのデバイス(またはそれに接続されたNIC)に対して、S35またはS45にて選択されたファームウェア303を有する送信用ファームウェアファイル300を送信することができる。一方、上記処理の途中でS61にて、i番目のデバイスのデバイス名が、S51で読み込んだファームウェアのデバイス名301と一致しないと判断した場合は(S61:NO)、S69へ移行し、その時点ではまだ表示中のファイル名指定ダイヤログ230の上に、図14に例示する警告メッセージ240を重ねて表示する。そして、この場合は、S63,S65による送信用ファームウェアファイル300の送信を行うことなく、そのまま上記67へ移行する。このため、送信用ファームウェアファイル300をそのファームウェア303に適合しないデバイスに送信してしまうのを良好に防止することができる。
このように、マネージャGでは、送信用ファームウェアファイル300を送信可能なデバイスをデバイスリスト201にリストアップして表示することができる。また、その表示されたデバイスの中から、送信用ファームウェアファイル300を送信すべきデバイスを、個々に選択することも同一機種を一括して選択することもできる。このため、バージョンアップしたいデバイスの選択がきわめて容易に行え、通信システムSの作業性をきわめて向上させることができる。しかも、選択したデバイスとファームウェア303とが適合しない場合には、警告メッセージ240が表示されるので、送信用ファームウェアファイル300を適合しないデバイスに送信し、誤動作を招いたり他のエラーメッセージを発生したりするのを良好に防止することができる。
次に、プリンタ10のCPU11が実行する処理について説明する。ROM12の書き換え可能な記憶領域12aには、図15(A)に例示するように、印字部17の制御等に関わる小型の処理プログラムとしてのファームウェア403と、そのファームウェア403等を記憶した記憶領域12aの記憶内容を書き換える書換プログラム404と、その書換プログラム404をRAM13にコピー(複写)する等の後述の処理のための制御プログラム405とが格納されている。 そして、CPU11は、制御プログラム405に基づいて次の処理を実行する。図16は、プリンタ10のCPU11が実行するヴァージョンアップ処理を表わすフローチャートである。図16に示すように、処理を開始すると、先ず、S81にて送信用ファームウェアファイル300を受信したか否か判断し、受信していない場合はS83にて通常の処理を実行してS81へ戻る。すなわち、プリンタ10がマネージャGからネットワークWを介して送信用ファームウェアファイル300を受信するまでは(S81:NO)、記憶領域12aに記憶されたファームウェア403や、ROM12に書き換え不能に記憶された他の処理プログラムに基づき、プリンタ10としての通常の処理を実行する(S83)。
なお、この通常の処理としては、印字部17の駆動等の周知の処理の他、マネージャGが送信したデバイス情報要求(S1)に対してデバイス情報100を返信する処理等も含まれている。また、送信用ファームウェアファイル300には、図示しないヘッダ等にそのデータが送信用ファームウェアファイル300であることを示す指示情報が添付されており、CPU11は、その指示情報を検出したときにS81にて肯定判断する。
プリンタ10が送信用ファームウェアファイル300を受信すると(S81:YES)、S87へ移行し、図15(B)に模式的に例示するように、書換プログラム404をRAM3上へコピーする。そして、続くS91〜S99では、RAM3上へコピーした書換プログラム404に基づく処理を次のように実行し、図15(C)に模式的に例示するように、記憶領域12aに記憶されたデータを書き換えて処理を終了する。
すなわち、S91ではROM12の記憶領域12a上のデータを消去し、続くS93では、受信した送信用ファームウェアファイル300のデータ(ファームウェア303,書換プログラム304,及び制御プログラム305)を、ROM12の記憶領域12aに書き込む。S95では、その書き込みが終了したか否かを判断し、終了するまでS93による書き込みの処理を繰り返した後(S95:YES)、S99へ移行する。S99では、CPU11の処理をROM12上の処理(例えば、プリンタ10をリセットする処理)へ移行させ、一旦処理を終了する。すると、記憶領域12aに新たに記憶されたファームウェア303や、ROM12に書き換え不能に記憶された他の処理プログラムに基づき、プリンタ10としての通常の処理が実行可能となる。
このように、プリンタ10では、書換プログラム404を一旦RAM13に複写(コピー)し、その複写後の書換プログラム404に基づいてROM12の記憶内容を書き換えているので、一つの書換プログラム404によってROM12の記憶内容を一気に書き換えることができる。このため、プリンタ10の機械的な構成や制御システムとしての構成を簡略化し、ROM12の記憶容量を充分有効に活用すると共に、書き換えに要する処理時間も短縮することができる。また、このような書き換えを行ったROM12には、同様に書換プログラム304及び制御プログラム305が記憶されるので、プリンタ10が更に他の送信用ファームウェアファイルを受信したときも、前述の処理と同様に書き換えを行うことができる。
また、CPU11は、送信用ファームウェアファイル300を受信すると(S81:YES)自動的にS87〜S95の処理を実行して記憶領域12aを書き換え、書き換えが終了すると(S95:YES)、ROM12に基づく通常の処理へ自動的に移行することができる。このため、記憶領域12aの書き換えがきわめて容易に行えると共に、書き換え後にはきわめて迅速に通常の制御に復帰させることができる。従って、プリンタ10の操作性がきわめて向上する。
NIC1のROM6の記憶領域6aにも同様にファームウェア,書換プログラム,及び制御プログラムが記憶されており、同様の処理によってROM6の記憶内容を一気に書き換えることができる。しかも、書き換えの開始や通常の処理への復帰も、上記と同様に自動的に行うことができる。但し、NIC1における処理は、送信用ファームウェアファイル300がTFTPで送信されたかLPRで送信されたかによって、次のような振り分けを行う点で異なる。
図17は、NIC1のCPU5が実行するヴァージョンアップ処理を表わすフローチャートである。図17に示すように、この処理は図16の処理とほぼ同様であり、前述のS81とS87との間に次のような処理を設けた点において異なる。すなわち、送信用ファームウェアファイル300を受信してS81にて肯定判断すると、S84へ移行し、その送信用ファームウェアファイル300がTFTPで送信されたものか否かを判断する。送信用ファームウェアファイル300がTFTPで送信された場合は(S84:YES)、S85へ移行して、その送信用ファームウェアファイル300に添付されたパスワードが適切か否か、すなわち、マネージャG固有のものであるか否かを判断する。送信用ファームウェアファイル300がTFTPで送信され、その転送パラメータのパス名の代わりに適切なパスワードが添付(付与)されている場合は(S84,S85:YES)、S87以下の処理へ移行して前述のようにROM6の記憶内容を書き換える。 一方、送信用ファームウェアファイル300が他のプロトコル(この場合、LPR)で送信された場合は(S84:NO)、S86へ移行する。S86では、その送信用ファームウェアファイル300をそのままプリンタ10に転送し、再びS81,S83のループ処理へ移行して他の送信用ファームウェアファイル300を受信するまで待機する。また、送信用ファームウェアファイル300に添付されたパスワードが適切でない場合は(S85:NO)、そのままS81,S83のループ処理へ移行し、S81で受信した送信用ファームウェアファイル300は破棄する。
マネージャGでは、図6のS65に関連して説明したように、NIC1のROM6の記憶領域6aに書き換えるべき送信用ファームウェアファイル300はTFTPで、プリンタ10のROM12の記憶領域12aに書き換えるべき送信用ファームウェアファイル300はLPRで、それぞれ送信している。そこで、NIC1では、送信用ファームウェアファイル300がTFTPで送信されたかLPRで送信されたかによって、その送信用ファームウェアファイル300を振り分けているのである。そして、プリンタ10に転送された送信用ファームウェアファイル300は、前述の図16の処理によって記憶領域12aに書き換えられる。このため、本実施の形態では次のような効果が生じる。
すなわち、ファームウェア303がNIC1に書き換えるべきものであるかデバイスに書き換えるべきものであるかをプロトコルによって判断しているので、そのいずれであるかを示すデータ(例えば識別子等)を、送信用ファームウェアファイル300に添付する必要がない。このため、送信処理が簡略化され、装置の構成を簡略化して製造コストを低減することができると共に、処理速度を向上させることができる。
また、マネージャGでは、プリンタ10へ転送すべき送信用ファームウェアファイル300を、印字部17による画像形成を指示する画像データと同様の、周知のLPRで送信している。このため、NIC1では、LPRで送信されてきたデータであれば、そのデータの種類に関わらず一律にプリンタ10に転送することによって、データを振り分けることができる。従って、NIC1の処理及び構成を簡略化し、その処理速度を一層向上させると共に製造コストを低減することができる。
更に、NIC1のROM6の書き換えは、送信用ファームウェアファイル300に添付されたパスワードが適切なときにのみ許可されるので、マネージャG以外のコンピュータから送られたファームウェアやプログラム以外のデータ,プリンタ10に宛てたファームウェア等がROM6に書き込まれるのを良好に防止することができる。特にNIC1では、他のコンピュータから異常なファームウエアを受信してROM6に書き込むと、マネージャGとの間でデータの送受信が全くできなくなる可能性もあるが、本実施の形態ではこのような事態の発生を良好に防止することができる。しかも、本実施の形態では、TFTPのパス名の代わりにパスワードを添付しただけの簡単なデータ体系によってこのような効果を得ることができるので、通信システムとしての構成を簡略化しつつ、その信頼性を高めることができる。
以上、詳述したように、本実施の形態の通信システムSでは、NIC1及びプリンタ10が、一つの書き換えプログラムによって、ROM6またはROM12の記憶内容を一気に書き換えることができる。このため、装置の機械的な構成や制御システムとしての構成を簡略化し、ROM6,12の記憶容量を充分有効に活用すると共に、書き換えに要する処理時間も短縮することができる。しかも、デバイスリスト画面200により、その書き換えを行うべきデバイス(処理装置)もきわめて容易に選択できる。更に、前述のように送信用ファームウェアファイル300のNIC1またはプリンタ10への振り分けも確実に行える。
なお、上記説明では、NIC1にプリンタ10を一対一に接続した場合を中心に説明したが、図1に示すように、NIC1には、プリンタ40を接続すると共にこれに並列に、例えば、イメージスキャナ70を接続することもできる。更に、上記プリンタ40に対して、インテリジェントな(固有のCPUを有した)用紙ソータ80を接続することもできる。この場合には、プリンタ40は、用紙ソータ80のデバイス情報もNIC1のデバイス情報と共に取得し、図7のデバイス情報100に添付してマネージャGに返信する。
上記実施の形態において、S15,S17の処理が判断処理に、S39,S49の処理がデータ送信処理に、それぞれ相当し、上記判断処理及びデータ送信処理を実行するCPU5及びそれらの処理を記憶したROM51記憶領域が判断手段及びデータ送信手段に相当する。また、S86及びS87〜99の処理を実行するCPU5及びそれら処理を記憶したROM6の記憶領域が、データ処理手段及びデータ転送手段にそれぞれ相当する。
更に、本発明は上記実施の形態になんら限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の形態で実施することができる。
例えば、上記実施の形態では、NIC1によるバージョンアップ処理においてのみパスワードによるチェックを行ったが(S85)、プリンタ10等におけるバージョンアップ処理でも、パスワードによるチェックを行ってもよい。このような処理は、図18に例示するように、送信用ファームウェアファイル300の上記各データ(デバイス名301,アドレス302,ファームウェア303,書換プログラム304,制御プログラム305)と、その送信用ファームウェアファイル300のヘッダ310(図13では図示省略した)との間に、パスワード302を挿入すると共に、図19に例示するように、図16のS81とS87との間に、図17で説明したS85の処理(パスワード302が適切か否かの判断)を挿入すれば実行できる。この場合、マネージャG以外のコンピュータから送られたファームウェアやプログラム以外のデータ等がROM12に書き込まれるのを良好に防止することができる。また、このようなパスワードは、ヘッダ310に組み込まれても、他のデータ301〜305に組み込まれてもよい。
また、上記判断処理,データ送信処理等を記憶する記憶媒体としては、マネージャGが読み取り可能な記憶媒体であればよく、ROM,RAM等の素子の他、種々の形態が考えられる。例えば、CD−ROM,フロッピーディスク等でもよく、カードスロットへ挿入可能なプログラムカートリッジ等でもよく、インターネット上のファイルサーバであってもよい。
更に、本発明は、プリンタ10等の画像形成装置を中心としたデータ通信システムに限らず、通信カラオケシステム等、他の種々の通信システムに適用することができる。また、本発明は、一台のパーソナルコンピュータにNICを介して一台のプリンタを接続したような簡単なデータ通信システムに対しても適用することができる。すなわち、このようなデータ通信システムにおいても、前述のようにデータを振り分けることができる。