(57)【特許請求の範囲】
【請求項１】
入出力装置と、前記入出力装置をネットワークに接続するためのインターフェース装置とを有するネットワーク対応入出力システムであって、
前記インターフェース装置は、
第１の記憶装置と、前記入出力装置で実行すべきプログラムと当該プログラムの種類やバージョンなどの情報を格納する第１のダウンロード用記憶装置と、前記第１の記憶装置に格納されたプログラムを実行することで前記ネットワークおよび前記入出力装置間のデータ転送を実現する第１の演算装置と、を備え、
前記第１の記憶装置は、前記第１の演算装置で実行されるプログラムと当該プログラムの種類やバージョンなどの情報を格納するものであり、
前記第１の演算装置は、所定のイベント発生時に、前記入出力装置に対してダウンロード情報の通知を要求するとともに、前記入出力装置より送られてきたダウンロード情報を前記第１の記憶装置に格納されている情報と比較し、その結果、前記第１の記憶装置に格納されているプログラムが前記ダウンロード情報により特定されるプログラムと種類が異なる場合、あるいは、前記ダウンロード情報により特定されるプログラムよりもバージョンが古いことを示している場合に、前記入出力装置に対して前記ダウンロード情報により特定されるプログラムのダウンロードを要求するものであり、かつ、
前記入出力装置よりダウンロード情報通知の要求があると、前記第１のダウンロード用記憶装置に格納された情報を前記ダウンロード情報として前記入出力装置に送信するとともに、前記入出力装置よりダウンロードの要求があると、前記第１のダウンロード用記憶装置に格納されたプログラムを前記入出力装置にダウンロードするものであり、
前記入出力装置は、
第２の記憶装置と、前記インターフェース装置で実行すべきプログラムと当該プログラムの種類やバージョンなどの情報を格納する第２のダウンロード用記憶装置と、前記第２の記憶装置に格納されたプログラムを実行することで前記インターフェース装置との間のデータ転送を実現する第２の演算装置と、を備え、
前記第２の記憶装置は、前記第２の演算装置で実行されるプログラムと当該プログラムの種類やバージョンなどの情報を格納するものであり、
前記第２の演算装置は、所定のイベント発生時に、前記インターフェース装置に対してダウンロード情報の通知を要求するとともに、前記インターフェース装置より送られてきたダウンロード情報を前記第２の記憶装置に格納されている情報と比較し、その結果、前記第２の記憶装置に格納されている入出力プログラムが、前記ダウンロード情報により特定されるプログラムと種類が異なる場合、あるいは、前記ダウンロード情報により特定されるプログラムよりもバージョンが古いことを示している場合に、前記インターフェース装置に対して前記ダウンロード情報により特定されるプログラムのダウンロードを要求するものであり、かつ、
前記インターフェース装置よりダウンロード情報通知の要求があると、前記第２のダウンロード用記憶装置に格納された情報を前記ダウンロード情報として前記インターフェース装置に送信するとともに、前記インターフェース装置よりダウンロードの要求があると、前記第２のダウンロード用記憶装置に格納されたプログラムを前記インターフェース装置にダウンロードする
ことを特徴とするネットワーク対応入出力システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタやスキャナなどの入出力装置と、当該入出力装置をネットワークに接続するためのインターフェース装置とを有するネットワーク対応入出力システムに関する。
【０００２】
【従来の技術】
近年、ローカルエリアネットワーク（LAN）などのネットワークの普及に伴い、プリンタを、ネットワークに接続されたプリントサーバなどのインターフェース装置を介して、同じくネットワークに接続された複数のクライアント端末で共有して使用する形態が一般化しつつある。
【０００３】
このような形態において、インターフェース装置は、ネットワークとプリンタとの間の通信プロトコルを変換して、ネットワークおよびプリンタ間のデータ転送を行う機能を有する。この機能は、通常、インターフェース装置が備える演算装置（ＣＰＵ）が、同じくインターフェース装置が備える記憶装置に格納している、ネットワークやプリンタとのデータのやり取りを制御するための入出力プログラムや、インターフェース装置を構成する各部を統括的に制御するための制御プログラムなどの各種プログラムを実行することで実現される。
【０００４】
ところで、接続するプリンタを新しい機種に変えた場合、これに併せて、プリンタとのデータのやり取りを制御するための入出力プログラムを変更する必要が生ずることがある。このため、たとえば各種プログラムを格納する記憶装置として、電気的に書き換え可能な不揮発性メモリ（Flash EPROM）を用いるとともに、ネットワーク経由で新たな入出力プログラムを入手可能に構成し、この電気的に書き換え可能な不揮発性メモリに格納された入出力システムを、ネットワーク経由で入手した新しい入出力プログラムに書き換えることができるようにしたインターフェース装置が提案されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、ネットワークに接続されたクライアント端末の操作者がネットワーク経由でインターフェース装置に入出力プログラムをダウンロードしなければならず、煩雑に耐えない。また、操作者がダウンロードを忘れた場合には、プリンタ及びインターフェース装置間において、データのやり取りを最適な状態で行うことができず、期待する性能を発揮できないことも考えられる。
【０００６】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、インターフェース装置および入出力装置間において、データのやり取りを最適な状態で行うことを可能とすることにある。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明の第１の態様は、入出力装置と、前記入出力装置をネットワークに接続するためのインターフェース装置とを有するネットワーク対応入出力システムであって、
前記インターフェース装置は、
記憶装置と、前記記憶装置に格納されたプログラムを実行することで前記ネットワークおよび前記入出力装置間のデータ転送を実現する演算装置と、を備え、
前記記憶装置は、前記演算装置で実行されるプログラムと当該プログラムの種類やバージョンなどの情報を格納するものであり、
前記演算装置は、所定のイベント発生時に、前記入力装置に対してダウンロード情報の通知を要求するとともに、前記入出力装置より送られてきたダウンロード情報を前記記憶装置に格納されている情報と比較し、その結果、前記記憶装置に格納されているプログラムが前記ダウンロード情報により特定されるプログラムと種類が異なる場合、あるいは、前記ダウンロード情報により特定されるプログラムよりもバージョンが古いことを示している場合に、前記入出力装置に対して前記ダウンロード情報により特定されるプログラムのダウンロードを要求するものであり、
前記入出力装置は、
前記インターフェース装置で実行すべきプログラムと当該プログラムの種類やバージョンなどの情報を格納するダウンロード用記憶装置を備え、
前記インターフェース装置よりダウンロード情報通知の要求があると、前記ダウンロード用記憶装置に格納された情報を前記ダウンロード情報として前記インターフェース装置に送信するとともに、前記インターフェース装置よりダウンロードの要求があると、前記ダウンロード用記憶装置に格納されたプログラムを前記インターフェース装置にダウンロードすることを特徴とする。
【０００８】
ここで、入出力装置としては、たとえばプリンタやスキャナなどが挙げられる。また、インターフェース装置で実行すべきプログラムとしては、たとえば、インターフェース装置および入出力装置間でのデータ転送を実現するための入出力プログラムやインターフェース装置の機能を拡張するようなプログラムが挙げられる。また、所定のイベントとは、所定のインターバル時間の経過や入出力装置の電源オンなどが挙げられる。
【０００９】
本態様において、インターフェース装置は、所定のイベント発生時に、入力装置に対してダウンロード情報の通知を要求する。これを受けて、入出力装置は、ダウンロード用記憶装置に格納された情報をダウンロード情報としてインターフェース装置に送信する。
【００１０】
入出力装置よりダウンロード情報を受け取ると、インターフェース装置は、このダウンロード情報を記憶装置に格納されている情報と比較し、その結果、記憶装置に格納されている、すなわち自身が実行しているプログラムが、ダウンロード情報により特定されるプログラムと種類が異なる、あるいは、ダウンロード情報により特定されるプログラムよりもバージョンが古いことを示している場合は、入出力装置に対して前記ダウンロード情報により特定されるプログラムのダウンロードを要求する。これを受けて、入出力装置は、ダウンロード用記憶装置に格納されたプログラムをインターフェース装置にダウンロードする。
【００１１】
したがって、本発明の第１の態様によれば、インターフェース装置に接続する入出力装置を交換した場合に、クライアント端末の操作者がネットワーク経由でインターフェース装置にプログラムをダウンロードしなくても、インターフェース装置で実行すべきプログラムが入出力装置よりインターフェース装置へ、自動的にダウンロードされるので、インターフェース装置および入出力装置間において、データのやり取りを最適な状態で行うことができる。
【００１２】
また、本発明の第２の態様は、入出力装置と、前記入出力装置をネットワークに接続するためのインターフェース装置とを有するネットワーク対応入出力システムであって、
前記入出力装置は、
記憶装置と、前記記憶装置に格納されたプログラムを実行することで前記インターフェース装置との間のデータ転送を実現する演算装置と、を備え、
前記記憶装置は、前記演算装置で実行されるプログラムと当該プログラムの種類やバージョンなどの情報を格納するものであり、
前記演算装置は、所定のイベント発生時に、前記インターフェース装置に対してダウンロード情報の通知を要求するとともに、前記インターフェース装置より送られてきたダウンロード情報を前記記憶装置に格納されている情報と比較し、その結果、前記記憶装置に格納されている入出力プログラムが、前記ダウンロード情報により特定されるプログラムと種類が異なる場合、あるいは、前記ダウンロード情報により特定されるプログラムよりもバージョンが古いことを示している場合に、前記インターフェース装置に対して前記ダウンロード情報により特定されるプログラムのダウンロードを要求するものであり、
前記インターフェース装置は、
前記入出力装置で実行すべきプログラムと当該プログラムの種類やバージョンなどの情報を格納するダウンロード用記憶装置を備え、
前記入出力装置よりダウンロード情報通知の要求があると、前記ダウンロード用記憶装置に格納された情報を前記ダウンロード情報として前記入出力装置に送信するとともに、前記入出力装置よりダウンロードの要求があると、前記ダウンロード用記憶装置に格納されたプログラムを前記入出力装置にダウンロードすることを特徴とする。
【００１３】
本態様において、入出力装置は、所定のイベント発生時に、インターフェース装置に対してダウンロード情報の通知を要求する。これを受けて、インターフェース装置は、ダウンロード用記憶装置に格納された情報をダウンロード情報として入出力装置に送信する。
【００１４】
インターフェース装置よりダウンロード情報を受け取ると、入出力装置は、このダウンロード情報を記憶装置に格納されている情報と比較し、その結果、記憶装置に格納されている、すなわち自身が実行しているプログラムが、ダウンロード情報により特定されるプログラムと種類が異なる、あるいは、ダウンロード情報により特定されるプログラムよりもバージョンが古いことを示している場合は、インターフェース装置に対して前記ダウンロード情報により特定されるプログラムのダウンロードを要求する。これを受けて、インターフェース装置は、ダウンロード用記憶装置に格納されたプログラムをダウンロードする。
【００１５】
したがって、本発明の第２の態様によれば、入出力装置に接続するインターフェース装置を交換した場合に、クライアント端末の操作者がネットワークおよびインターフェース装置経由で入出力装置にプログラムをダウンロードしなくても、入出力装置で実行すべきプログラムがインターフェース装置より入出力装置へ、自動的にダウンロードされるので、インターフェース装置および入出力装置間において、データのやり取りを最適な状態で行うことができる。
【００１６】
【発明の実施の形態】
以下、本発明の各実施形態について説明する。
【００１７】
まず、本発明の第１実施形態について説明する。
【００１８】
図１は、本発明の第１実施形態が適用されたネットワーク対応プリントシステムの概略構成図である。図示するように、プリンタ２は、ＬＡＮなどのネットワーク４に接続されたプリントサーバ（インターフェース装置）１を介して、同じくネットワーク４に接続された複数のパーソナルコンピュータ（クライアント端末）３で共有して使用される。
【００１９】
プリントサーバ１は、ネットワーク４とプリンタ２との間の通信プロトコルを変換して、ネットワーク４に接続されたパーソナルコンピュータ３およびプリンタ２間のデータ転送を行う。たとえば、パーソナルコンピュータ３から送られてきた印刷データをプリンタ２へ転送する。
【００２０】
図２は、図１に示すプリントサーバ１の概略構成図である。
【００２１】
図示するように、プリントサーバ１は、ネットワークＩ／Ｆ回路１１と、プリンタＩ／Ｆ回路１２と、ネットワークＩ／Ｆコントローラ１３と、プリンタＩ／Ｆコントローラ１４と、電気的に書き換え可能な不揮発性メモリ（Flash EPROM）１５と、ＣＰＵ１６と、メモリ（RAM）１７と、を有する。
【００２２】
ネットワークＩ／Ｆ回路１１は、ネットワークＩ／Ｆコントローラ１３の制御下において、ネットワーク４を介してパーソナルコンピュータ３とデータの通信を行う。
【００２３】
プリンタＩ／Ｆ回路１２は、プリンタＩ／Ｆコントローラ１４の制御下において、プリンタ２とデータの通信を行う。
【００２４】
不揮発性メモリ１５には、ＣＰＵ１６で実行すべき各種プログラムが記憶されている。
【００２５】
図３は、電気的に書き換え可能な不揮発性メモリ１５に格納されているデータを説明するための図である。
【００２６】
ここで、ネットワークＩ／Ｆプログラム１５２は、ネットワークＩ／Ｆコントローラ１３を制御し、ネットワーク４を介してパーソナルコンピュータ３とのデータのやり取りを行うためのプログラムである。プリンタＩ／Ｆプログラム１５１は、プリンタＩ／Ｆコントローラ１４を制御してプリンタ２とのデータのやり取りを行うためのプログラムである。ダウンロードプログラム１５３は、プリンタ２よりプリンタＩ／Ｆプログラム１５１をダウンロードするためのプログラムである。制御プログラム１５４は、プリントサーバ１の各部を統括的に制御するためのプログラムである。ブートプログラム１５５は、プリントサーバ１の起動時に、これらの各種プログラムの起動順序を特定する。バージョン情報管理テーブル１５６は、プリンタＩ／Ｆプログラム１５１の種類やバージョン情報など、この不揮発性メモリ１５に格納されているプリンタＩ／Ｆプログラム１５１を特定するための情報を管理するテーブルである。
【００２７】
図３に示すように、本実施形態では、不揮発性メモリ１５として、エリア毎に電気的に書き換え可／不可を設定可能なものを用いている。そして、書き換え可能に設定されたエリアには、ネットワークアドレスや管理情報などのデータの他に、書き換えられることが予想されるプリンタおよびネットワークＩ／Ｆプログラム１５１、１５２とバージョン情報管理テーブル１５６を格納し、書き換え不可能に設定されたエリアには、書き換えの予定のないダウンロードプログラム１５３、制御プログラム１５４およびブートプログラム１５５を格納するようにしている。
【００２８】
なお、電気的に書き換え可能な不揮発性メモリ（Flash EPROM）１５における、電気的に書き換え可／不可の設定は、たとえば、書き換え不可能に設定されたエリア（アドレス）への書き込みアクセスをソフトウエアあるいはハードウエア的に禁止することで実現される。このような不揮発性メモリは、すでに多くのものが市販されており、たとえばＭＢＭ２９Ｆ８００（（株）富士通製）やＴＣ５８Ｆ８００（（株）東芝製）がある。
【００２９】
図２に戻り、ＣＰＵ１６は、起動時に、ブートプログラム１５５にしたがった順番でプリンタＩ／Ｆプログラム１５１、ネットワークＩ／Ｆプログラム１５２および制御プログラム１５４を実行することで、ネットワーク４およびプリンタ２間のデータ転送を実現する。また、同様に、ダウンロードプログラム１５３を実行することで、定期的あるいはプリンタ２の電源ＯＮなどの所定のイベント発生時に、プリンタ２が所持しているプリンタＩ／Ｆプログラム１５１の種類やバージョンをチェックし、必要に応じてダウンロードする。
【００３０】
メモリ１７は、ＣＰＵ１６のワークエリアとして機能する。
【００３１】
次に、図１に戻り、プリンタ２について説明する。
【００３２】
プリンタ２は、プリントサーバ１を介してパーソナルコンピュータ３より印刷データを受け取り、印刷媒体に印刷する。また、プリントサーバ１よりのダウンロード要求に応じて、プリンタＩ／Ｆプログラム１５１をプリントサーバ１にダウンロードする。
【００３３】
図４は、図１に示すプリンタ２の概略構成図である。
【００３４】
図示するように、プリンタ２は、Ｉ／Ｆ回路２１と、Ｉ／Ｆコントローラ２２と、プリンタエンジン２３と、ダウンロード用メモリ２４と、ＣＰＵ２５と、メモリ２６と、を有する。
【００３５】
Ｉ／Ｆ回路２１は、Ｉ／Ｆコントローラ２２の制御下において、プリンタ２とデータの通信を行う。
【００３６】
プリンタエンジン２３は、印刷媒体にデータを印刷するための機構（たとえば、インクを吐出する印刷ヘッド、プラテン、印刷ヘッドを搭載するキャリッジを駆動するキャリッジ駆動機構、紙送り機構、および印刷媒体の給排紙処理を行う給排紙機構など）を備える。
【００３７】
ダウンロード用メモリ２４には、プリントサーバ１で実行すべきプリンタＩ／Ｆプログラム１５１と当該プリンタＩ／Ｆプログラム１５１の種類やバージョンなど、このダウンロード用メモリ２４に格納されているプリンタＩ／Ｆプログラム１５１を特定するための情報を管理するバージョン情報管理テーブルが格納されている。
【００３８】
メモリ２６には、ＣＰＵ２５で実行すべき各種プログラムが記憶されている。
【００３９】
ＣＰＵ２５は、メモリ２６に格納されたプログラムを実行することで、プリンタ２を構成する各部を統括的に制御する。これにより、プリントサーバ１を介してパーソナルコンピュータ３より送られてきた印刷データの印刷媒体への印刷を行う。また、プリントサーバ１よりダウンロード要求を受けた場合には、ダウンロード用メモリ２４に格納しているプリンタＩ／Ｆプログラム１５１のプリントサーバ１へのダウンロードを実行する。
【００４０】
次に、上記構成のネットワーク対応プリントシステムの動作について説明する。
【００４１】
まず、プリンタ２よりプリンタＩ／Ｆプログラム１５１をダウンロードするためのプリントサーバ１の動作について説明する。
【００４２】
図５は、本発明の第１実施形態において、プリンタ２よりプリンタＩ／Ｆプログラム１５１をダウンロードするためのプリントサーバ１の動作を説明するためのフローである。ＣＰＵ１６は、起動時に、ブートプログラム１５５にしたがった順番でプリンタＩ／Ｆプログラム１５１、ネットワークＩ／Ｆプログラム１５２および制御プログラム１５４を実行するとともに、ダウンロードプログラム１５３を実行する。このフローは、ダウンロードプログラム１５３を実行することで実現されるものである。
【００４３】
まず、ＣＰＵ１６は、プリンタ２が電源オンの状態にあるか否かをチェックする（ステップＳ１０１）。プリンタ２が電源オンの状態にあるか否かの判定は、たとえば、プリンタＩ／Ｆコントローラ１４およびプリンタＩ／Ｆ回路１２を介して所定の信号を送信し、その応答の有無を調べることで行うことができる。あるいは、プリンタ２が電源オン時に送出する所定の信号を調べることでも行うことができる。
【００４４】
電源ＯＮの場合、ＣＰＵ１６は、プリンタＩ／Ｆコントローラ１４およびプリンタＩ／Ｆ回路１２を介して、プリンタ２に、当該プリンタ２が保持するプリンタＩ／Ｆプログラム１５１の種類やバージョンを示したダウンロード情報の通知要求を送信する（ステップＳ１０２）。そして、プリンタ２よりダウンロード情報が送られてくるのを待つ（ステップＳ１０３）。なお、所定時間経過しても、プリンタ２からダウンロード情報が送られてこない場合、プリンタ２が電源オフの状態に切り替わったものと考えられるので、ステップＳ１０１に戻り、プリンタ２が電源オンの状態になるのを待つ（ステップＳ１０４）。
【００４５】
プリンタＩ／Ｆコントローラ１４およびプリンタＩ／Ｆ回路１２を介して、プリンタ２よりダウンロード情報を受信する（ステップＳ１０３）と、ＣＰＵ１６は、電気的に書き換え可能な不揮発性メモリ１５に格納したバージョン情報管理テーブル１５６を読み出す。そして、ダウンロード情報に記述されたプリンタＩ／Ｆプログラム１５１の種類およびバージョンを示す情報と、バージョン情報管理テーブル１５６に記述されたプリンタＩ／Ｆプログラム１５１の種類およびバージョンを示す情報とを比較する。その結果、ダウンロード情報に記述されたプリンタＩ／Ｆプログラム１５１の種類とバージョン情報管理テーブル１５６に記述されたプリンタＩ／Ｆプログラム１５１の種類とが異なる場合（ステップＳ１０５）、あるいは、ダウンロード情報に記述されたプリンタＩ／Ｆプログラム１５１の種類とバージョン情報管理テーブル１５６に記述されたプリンタＩ／Ｆプログラム１５１の種類とは同じであるが、ダウンロード情報に記述されたプリンタＩ／Ｆプログラム１５１のバージョンがバージョン情報管理テーブル１５６に記述されたプリンタＩ／Ｆプログラム１５１のバージョンよりも新しい場合（ステップＳ１０６）、ＣＰＵ１６は、プリンタＩ／Ｆコントローラ１４およびプリンタＩ／Ｆ回路１２を介して、プリンタ２にダウンロード要求を送信する（ステップＳ１０７）。
【００４６】
プリンタＩ／Ｆコントローラ１４およびプリンタＩ／Ｆ回路１２を介して、プリンタ２よりプリンタＩ／Ｆプログラム１５１が送られてくると、ＣＰＵ１６は、不揮発性メモリ１５の電気的に書き換え可能なエリアに格納されているプリンタＩ／Ｆプログラム１５１を、ダウンロードされた新しいプログラムに書き換えるとともに、バージョン情報管理テーブル１５６の内容を更新する（ステップＳ１０８）。それから、プリントサーバ１を再起動させる（ステップＳ１０９）。
【００４７】
一方、ステップＳ１０５およびステップＳ１０６において、ダウンロード情報に記述されたプリンタＩ／Ｆプログラム１５１の種類とバージョン情報管理テーブル１５６に記述されたプリンタＩ／Ｆプログラム１５１の種類とが同じであり、かつ、ダウンロード情報に記述されたプリンタＩ／Ｆプログラム１５１のバージョンがバージョン情報管理テーブル１５６に記述されたプリンタＩ／Ｆプログラム１５１のバージョンと同じか古い場合、所定のインターバル時間を経過するのを待って、ステップＳ１０１に戻る。
【００４８】
次に、プリントサーバ１よりダウンロード情報通知あるいはダウンロードの要求を受けた際のプリンタ２の動作について説明する。
【００４９】
図６は、本発明の第１実施形態において、プリントサーバ１よりダウンロード情報通知あるいはダウンロードの要求を受けた際のプリンタ２の動作を説明するためのフローである。このフローは、プリンタ２が電源ＯＮになると実行される。
【００５０】
まず、ＣＰＵ２５は、Ｉ／Ｆ回路２１およびＩ／Ｆコントローラ２２を介してプリントサーバ１よりダウンロード情報通知の要求を受けると（ステップＳ２０１）、ダウンロード用メモリ２４からバージョン情報管理テーブルを読み出す。そして、当該テーブルに記述された、ダウンロード用メモリ２４に格納しているプリンタＩ／Ｆプログラム１５１の種類やバージョンを示す情報を、ダウンロード情報として、Ｉ／Ｆ回路２１およびＩ／Ｆコントローラ２２を介してプリントサーバ１に送信する（ステップＳ２０２）。
【００５１】
また、ＣＰＵ２５は、Ｉ／Ｆ回路２１およびＩ／Ｆコントローラ２２を介してプリントサーバ１よりダウンロードの要求を受けると（ステップＳ２０３）、ダウンロード用メモリ２４からプリンタＩ／Ｆプログラム１５１を読み出し、Ｉ／Ｆ回路２１およびＩ／Ｆコントローラ２２を介してプリントサーバ１に送信する（ステップＳ２０４）。
【００５２】
以上、本発明の一実施形態について説明した。
【００５３】
本実施形態によれば、上述したように、プリントサーバ１は、所定のインターバル毎に、プリンタ２に対してダウンロード情報の通知を要求する。これを受けて、プリンタ２は、ダウンロード用メモリ２４に格納されたバージョン情報管理テーブルの情報をダウンロード情報としてプリントサーバ１に送信する。
【００５４】
プリンタ２よりダウンロード情報を受け取ると、プリントサーバ１は、このダウンロード情報を不揮発性メモリ１５に格納されているバージョン情報管理テーブル１５６の情報と比較し、その結果、不揮発性メモリ１５に格納されている、すなわち自身が実行しているプリンタＩ／Ｆプログラム１５１が、ダウンロード情報により特定されるプリンタＩ／Ｆプログラム１５１と種類が異なる、あるいは、ダウンロード情報により特定されるプリンタＩ／Ｆプログラム１５１よりもバージョンが古いことを示している場合、プリンタ２に対してダウンロードを要求する。これを受けて、プリンタ２は、ダウンロード用メモリ２４に格納されているプリンタＩ／Ｆプログラム１５１を読み出して、プリントサーバ１に送信する。
【００５５】
プリンタ２よりプリンタＩ／Ｆプログラム１５１を受け取ると、プリントサーバ１は、不揮発性メモリ１５の電気的に書き換え可能なエリアに格納されたプリンタＩ／Ｆプログラム１５１を、このプリンタ２より受け取ったプリントＩ／Ｆプログラム１５１に書き換えるとともに、これに合わせて、不揮発性メモリ１５の電気的に書き換え可能なエリアに格納されたバージョン情報管理テーブル１５６の内容を更新して、再起動する。
【００５６】
したがって、本実施形態によれば、プリントサーバ１に接続するプリンタ２を交換した場合に、クライアント端末であるパーソナルコンピュータ３の操作者がネットワーク４経由でプリントサーバ１にプリンタＩ／Ｆプログラム１５１をダウンロードしなくても、プリントサーバ１およびプリンタ２間において、データのやり取りを最適な状態で行うことができる。
【００５７】
なお、本実施形態では、プリンタ２からプリントサーバ１へダウンロードする対象として、プリンタＩ／Ｆプログラム１５１を設定した場合について説明したが、プリントサーバ１で実行されるプログラムであって書き換えを予定しているその他のプログラムや、プリントサーバ１で実行されていないプログラムであってプリントサーバ１で実行可能なプログラムについても、プリンタＩ／Ｆプログラム１５１と同様に適用することができる。
【００５８】
たとえば、プリンタ２からプリントサーバ１へダウンロードする対象として、プリンタＩ／Ｆプログラム１５１に加えて、ネットワークＩ／Ｆプログラム１５２やプリントサーバ１に新たな機能を追加する機能拡張プログラムを含めることも可能である。
【００５９】
この場合、プリントサーバ１において、電気的に書き換え可能な不揮発性メモリ１５に格納されているネットワークＩ／Ｆプログラム１５２やその他のプログラムの種類やバージョンを示す情報を、プリントＩ／Ｆプログラム１５１と同様に、バージョン情報管理テーブル１５６に記述しておく。また、プリンタ２において、プリントサーバ１で実行すべきネットワークＩ／Ｆプログラム１５２や機能拡張プログラムを、プリントＩ／Ｆプログラム１５１と同様、ダウンロード用メモリ２４に格納しておくとともに、これらのプログラムの種類やバージョンを示す情報をバージョン情報管理テーブルに記述しておく。
【００６０】
そして、プリントサーバ１は、プリンタ２より受け取ったダウンロード情報（ダウンロード用メモリ２４に格納されているバージョン情報管理テーブルの内容）と、不揮発性メモリ１５に格納されているバージョン情報管理テーブル１５６の内容とを比較して、当該不揮発性メモリ１５に格納されている、すなわち自身が実行しているプリンタあるいはネットワークＩ／Ｆプログラム１５１、１５２が、ダウンロード情報により特定されるプリンタあるいはネットワークＩ／Ｆプログラム１５１、１５２と種類が異なる、あるいは、ダウンロード情報により特定されるプリンタあるいはネットワークＩ／Ｆプログラム１５１、１５２よりもバージョンが古いか否かを調べる。同様に、ダウンロード情報により特定される機能拡張プログラムが、不揮発性メモリ１５に格納されていないか、あるいは、格納されていてもダウンロード情報により特定される機能拡張プログラムよりもバージョンが古いか否かを調べる。その結果、ダウンロードの必要がある場合は、プリンタ２に対して、ダウンロード対象を指定してダウンロードを要求する。これを受けて、プリンタ２は、ダウンロード用メモリ２４に格納されているプログラムのうちダウンロード対象に指定されているプログラムを読み出してプリントサーバ１に送信する。
【００６１】
なお、上記のように、プリンタ２からプリントサーバ１へダウンロードする対象として、プリントＩ／Ｆプログラム１５１の他に、ネットワークＩ／Ｆプログラム１５２や機能拡張プログラムをも含める場合、プリンタ２のダウンロード用メモリ２４として、たとえばメモリカードなどの可搬性のある記憶媒体で構成し、パーソナルコンピュータ３などにおいて、内容の書き換えを自在に行えるようにすることが好ましい。
【００６２】
次に、本発明の第２実施形態について説明する。
【００６３】
上記の第１実施形態では、プリント２からプリントサーバ１へプログラムをダウンロードする場合について説明した。本実施形態では、プリントサーバ１からプリンタ２へプログラムをダウンロードする場合について説明する。
【００６４】
なお、本実施形態におけるプリントサーバ１およびプリンタ２の構成は、図２、図４に示す第１実施形態のものと基本的に同じであるが、以下の点で異なる。
【００６５】
すなわち、図７に示すように、プリントサーバ１の電気的に書き換え可能な不揮発性メモリ１５に、ダウンロード用エリアを設け、当該エリア内に、プリンタ２がプリントサーバ１とデータのやり取りをするためのＩ／Ｆプログラムを、当該プログラムの種類やバージョンを示す情報を管理するバージョン情報管理テーブルとともに格納する。
【００６６】
一方、プリンタ２については、ダウンロード用メモリ２４が不要となる。但し、メモリ２６に、当該メモリ２６が格納している、プリントサーバ１とデータのやり取りをするためのＩ／Ｆプログラムの種類やバージョンを示す情報を管理するバージョン情報管理テーブルを格納させる。
【００６７】
図８は、本発明の第２実施形態において、プリントサーバ１よりＩ／Ｆプログラムをダウンロードするためのプリンタ２の動作を説明するためのフローである。このフローは、プリンタ２が電源ＯＮになると実行される。
【００６８】
図８に示す本実施形態でのプリンタ２の動作は、図５に示す第１実施形態でのプリントサーバ１の動作と基本的に同様である。すなわち、まず、ＣＰＵ２４は、プリントサーバ１が電源オンの状態にあるか否かをチェックし（ステップＳ３０１）、電源ＯＮの場合は、Ｉ／Ｆコントローラ２２およびＩ／Ｆ回路２１を介して、プリントサーバ１に、当該プリントサーバ１が保持するＩ／Ｆプログラムの種類やバージョンを示したダウンロード情報の通知要求を送信する（ステップＳ３０２）。そして、プリントサーバ１よりダウンロード情報が送られてくるのを待つ（ステップＳ３０３）。
【００６９】
なお、所定時間経過しても、プリントサーバ１からダウンロード情報が送られてこない場合、プリントサーバ１が電源オフの状態に切り替わったものと考えられるので、ステップＳ３０１に戻り、プリントサーバ１が電源オンの状態になるのを待つ（ステップＳ３０４）。
【００７０】
Ｉ／Ｆコントローラ２２およびＩ／Ｆ回路２１を介して、プリントサーバ１よりダウンロード情報を受信する（ステップＳ３０３）と、ＣＰＵ２５は、メモリ２６に格納したバージョン情報管理テーブルを読み出す。そして、ダウンロード情報に記述されたＩ／Ｆプログラムの種類およびバージョンを示す情報と、バージョン情報管理テーブルに記述されたＩ／Ｆプログラムの種類およびバージョンを示す情報とを比較する。その結果、ダウンロード情報に記述されたＩ／Ｆプログラムの種類とバージョン情報管理テーブルに記述されたＩ／Ｆプログラムの種類とが異なる場合（ステップＳ３０５）、あるいは、ダウンロード情報に記述されたＩ／Ｆプログラムの種類とバージョン情報管理テーブルに記述されたＩ／Ｆプログラムの種類とは同じであるが、ダウンロード情報に記述されたＩ／Ｆプログラムのバージョンがバージョン情報管理テーブルに記述されたＩ／Ｆプログラムのバージョンよりも新しい場合（ステップＳ３０６）、ＣＰＵ２５は、Ｉ／Ｆコントローラ２２およびＩ／Ｆ回路２１を介して、プリントサーバ１にダウンロード要求を送信する（ステップＳ３０７）。
【００７１】
Ｉ／Ｆコントローラ２２およびＩ／Ｆ回路２１を介して、プリントサーバ１よりＩ／Ｆプログラムが送られてくると、ＣＰＵ２５は、メモリ２６に格納されているＩ／Ｆプログラムを、ダウンロードされた新しいプログラムに書き換えるとともに、バージョン情報管理テーブルの内容を更新する（ステップＳ３０８）。それから、プリンタ２を再起動させる（ステップＳ３０９）。
【００７２】
一方、ステップＳ３０５およびステップＳ３０６において、ダウンロード情報に記述されたＩ／Ｆプログラムの種類とバージョン情報管理テーブルに記述されたＩ／Ｆプログラムの種類とが同じであり、かつ、ダウンロード情報に記述されたＩ／Ｆプログラムのバージョンがバージョン情報管理テーブルに記述されたＩ／Ｆプログラムのバージョンと同じか古い場合、所定のインターバル時間を経過するのを待って、ステップＳ３０１に戻る。
【００７３】
図９は、本発明の第２実施形態において、プリンタ２よりダウンロード情報通知あるいはダウンロードの要求を受けた際のプリントサーバ１の動作を説明するためのフローである。ＣＰＵ１６は、起動時に、ブートプログラム１５５にしたがった順番でプリンタＩ／Ｆプログラム１５１、ネットワークＩ／Ｆプログラム１５２および制御プログラム１５４を実行するとともに、ダウンロードプログラム１５３を実行する。このフローは、ダウンロードプログラム１５３を実行することで実現されるものである。
【００７４】
図９に示す本実施形態でのプリントサーバ１の動作は、図６に示す第１実施形態でのプリンタ２の動作と基本的に同様である。すなわち、まず、ＣＰＵ１６は、プリンタＩ／Ｆ回路１２およびプリンタＩ／Ｆコントローラ１４を介してプリンタ２よりダウンロード情報通知の要求を受けると（ステップＳ４０１）、不揮発性メモリ１５のダウンロード用エリアからバージョン情報管理テーブルを読み出す。そして、当該テーブルに記述されたＩ／Ｆプログラムの種類やバージョンを示す情報を、ダウンロード情報として、プリンタＩ／Ｆ回路１２およびプリンタＩ／Ｆコントローラ１４を介してプリンタ２に送信する（ステップＳ４０２）。また、ＣＰＵ１６は、プリンタＩ／Ｆ回路１２およびプリンタＩ／Ｆコントローラ１４を介してプリンタ２よりダウンロードの要求を受けると（ステップＳ４０３）、不揮発性メモリ１５のダウンロード用エリアからＩ／Ｆプログラムを読み出し、プリンタＩ／Ｆ回路１２およびプリンタＩ／Ｆコントローラ１４を介してプリンタ２に送信する（ステップＳ４０４）。
【００７５】
以上、本発明の第２実施形態について説明した。
【００７６】
本実施形態によれば、前記の構成により、プリンタ２に接続するプリントサーバ１を交換した場合に、クライアント端末であるパーソナルコンピュータ３の操作者がネットワーク４経由でプリンタ２にＩ／Ｆプログラムをダウンロードしなくても、プリントサーバ１およびプリンタ２間において、データのやり取りを最適な状態で行うことができる。
【００７７】
なお、本実施形態では、プリントサーバ１からプリンタ２へダウンロードする対象として、Ｉ／Ｆプログラムを設定した場合について説明したが、当然のことながら、プリンタ２で実行されるその他のプログラムについても、上記の第１実施形態と同様に適用することができる。
【００７８】
以上、本発明の各実施形態について説明した。
【００７９】
なお、本発明は、上記の各実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【００８０】
たとえば、上記の各実施形態では、プリントサーバ１において、ＣＰＵ１６で実行すべき各種プログラムを格納する記憶装置として、エリア毎に電気的に書き換え可／不可の設定が可能な不揮発性メモリ（Flash EPROM）１５を用いたものについて説明した。しかしながら、本発明は、これに限定されるものではない。
【００８１】
たとえば、図１０に示すように、ＣＰＵ１６内部にＥＰＲＯＭなどの不揮発性メモリ１６１を有するものを用いる場合、不揮発性メモリ（Flash EPROM）１５について全てのエリアを電気的に書き換え可能に設定して、プリンタおよびネットワークＩ／Ｆプログラム１５１、１５２を不揮発性メモリ１５に格納し、ダウンロードプログラム１５３、制御プログラム１５４およびブートプログラム１５５をＣＰＵ１６内部に設けられた不揮発性メモリ１６１に格納するようにしてもよい。あるいは、図１１に示すように、ＥＰＲＯＭなどの不揮発性メモリ１８を設けるとともに不揮発性メモリ（Flash EPROM）１５について全てのエリアを電気的に書き換え可能に設定して、プリンタおよびネットワークＩ／Ｆプログラム１５１、１５２を不揮発性メモリ１５に格納し、ダウンロードプログラム１５３、制御プログラム１５４およびブートプログラム１５５を不揮発性メモリ１８に格納するようにしてもよい。
【００８２】
また、上記の各実施形態では、プリントサーバ１がプリンタ２とは別個独立して設けられている場合について説明したが、プリントサーバ１は、プリンタ２に内設可能なカードあるいはボードタイプのものであってもよい。
【００８３】
さらに、上記の各実施形態では、本発明を、プリンタをネットワークへ接続するインターフェース装置（プリントサーバ）に適用した場合について説明したが、本発明は、プリンタ以外の入出力装置をネットワークへ接続するインターフェース装置（たとえば、スキャナをネットワークへ接続するスキャンサーバ）に広く適用可能である。
【００８４】
【発明の効果】
以上説明したように、本発明によれば、インターフェース装置および入出力装置間において、データのやり取りを最適な状態で行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の第１実施形態が適用されたネットワーク対応プリントシステムの概略構成図である。
【図２】図１に示すプリントサーバ１の概略構成図である。
【図３】本発明の第１実施形態において、プリントサーバ１の不揮発性メモリ１５に格納される各種プログラムの格納エリアを説明するための図である。
【図４】図１に示すプリンタ２の概略構成図である。
【図５】本発明の第１実施形態において、プリンタ２よりプリンタＩ／Ｆプログラム１５１をダウンロードするためのプリントサーバ１の動作を説明するためのフローである。
【図６】本発明の第１実施形態において、プリントサーバ１よりダウンロード情報通知あるいはダウンロードの要求を受けた際のプリンタ２の動作を説明するためのフローである。
【図７】本発明の第２実施形態において、プリントサーバ１の不揮発性メモリ１５に格納される各種プログラムの格納エリアを説明するための図である。
【図８】本発明の第２実施形態において、プリントサーバ１よりＩ／Ｆプログラムをダウンロードするためのプリンタ２の動作を説明するためのフローである。
【図９】本発明の第２実施形態において、プリンタ２よりダウンロード情報通知あるいはダウンロードの要求を受けた際のプリントサーバ１の動作を説明するためのフローである。
【図１０】図２に示すプリントサーバ１の変形例の概略構成図である。
【図１１】図２に示すプリントサーバ１の変形例の概略構成図である。
【符号の説明】
１：プリントサーバ
２：プリンタ
３：パーソナルコンピュータ
４：ネットワーク
１１：ネットワークＩ／Ｆ回路部
１２：プリンタＩ／Ｆ回路部
１３：ネットワークＩ／Ｆコントローラ
１４：プリンタＩ／Ｆコントローラ
１５：不揮発性メモリ（Flash EPROM）
１６、２５：ＣＰＵ
１７、２６：メモリ
１８：不揮発性メモリ(EPROM)
２１：Ｉ／Ｆ回路
２２：Ｉ／Ｆコントローラ
２３：プリンタエンジン
２４：ダウンロード用メモリ
【図１】
0003642221.tif 000002
【図２】
0003642221.tif 000003
【図３】
0003642221.tif 000004
【図４】
0003642221.tif 000005
【図５】
0003642221.tif 000006
【図６】
0003642221.tif 000007
【図７】
0003642221.tif 000008
【図８】
0003642221.tif 000009
【図９】
0003642221.tif 000010
【図１０】
0003642221.tif 000011
【図１１】
0003642221.tif 000012