(57)【要約】【課題】  コンピュータネットワークに接続することができない他の機器に対して、当該他の機器で使用する制御プログラムを提供すること。【解決手段】  プログラム制御式機器１のプログラム送信要求手段４４は、当該機器１で使用するプログラム４９および他の機器２で使用するプログラム３５の送信要求を、コンピュータネットワーク６に接続されるネットワーク通信手段４２を介して送信する。更新実行手段４５は、プログラム送信要求手段４４の要求に係るプログラムをネットワーク通信手段４２が受信すると、当該機器１で使用するプログラムを記憶手段４８に記憶させる。転送処理手段４７は、プログラム送信要求手段４４の要求に係るプログラムをネットワーク通信手段４２が受信すると、他の機器２で使用するプログラムを、ローカル通信手段４３を介して他の機器２へ送信する。【選択図】  図１
2006085326.tif 000002
【特許請求の範囲】
【請求項１】
当該機器のハードウェアあるいは通信を制御するプログラムを記憶する記憶手段と、
コンピュータネットワークに接続されるネットワーク通信手段と、
プログラムに基づいて動作する他の機器が直接に接続され、当該他の機器と直接に通信するローカル通信手段と、
当該機器で使用する上記プログラムおよび上記他の機器で使用するプログラムの送信要求を、上記ネットワーク通信手段を介して送信するプログラム送信要求手段と、
上記プログラム送信要求手段の要求に係るプログラムを上記ネットワーク通信手段が受信すると、当該機器で使用するプログラムを上記記憶手段に記憶させる更新実行手段と、
上記プログラム送信要求手段の要求に係るプログラムを上記ネットワーク通信手段が受信すると、上記他の機器で使用するプログラムを、上記ローカル通信手段を介して上記他の機器へ送信する転送処理手段と、
を有することを特徴とするプログラム制御式機器。
【請求項２】
前記ローカル通信手段を介して、前記他の機器に関する情報を取得する機器情報取得手段を有し、
前記プログラム送信要求手段は、上記機器情報取得手段が取得した上記他の機器に関する情報に基づいて特定されるサーバへ、前記他の機器で使用するプログラムの送信要求を送信すること、
を特徴とする請求項１記載のプログラム制御式機器。
【請求項３】
前記ローカル通信手段を介して、前記他の機器に関する情報を取得する機器情報取得手段を有し、
前記プログラム送信要求手段は、上記機器情報取得手段が取得した上記他の機器に関する情報に応じたプログラムの送信を要求すること、
を特徴とする請求項１または２記載のプログラム制御式機器。
【請求項４】
前記プログラム送信要求手段は、当該機器で使用するプログラムとして、送信要求に係る前記他の機器で使用するプログラムに対応するプログラムの送信を要求することを特徴とする請求項１または２記載のプログラム制御式機器。
【請求項５】
前記他の機器はプリンタであり、
当該機器は、前記ローカル通信手段を介して上記プリンタへ画像データファイルを転送し、その画像データファイルによる画像を印刷させること、
を特徴とする請求項１から４の中のいずれか１項記載のプログラム制御式機器。
【請求項６】
請求項１から４の中のいずれか１項記載のプログラム制御式機器と、
上記プログラム制御式機器のローカル通信手段に直接に接続される他のローカル通信手段、当該他の機器のハードウェアあるいは通信を制御するプログラムを記憶する他の記憶手段、および上記他のローカル通信手段が受信した当該他の機器で使用するプログラムを上記他の記憶手段に記憶させる他の更新実行手段を有する他の機器と、
を有することを特徴とするプログラム更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム制御式機器およびプログラム更新システムに関するものである。
【背景技術】
【０００２】
特許文献１は、プログラム更新管理機能付きプリンタシステムを開示する。このプログラム更新管理機能付きプリンタシステムは、ネットワークに接続される複数のプリンタを有する。その複数のプリンタの中の特定のプリンタは、他のプリンタに対してシステムプログラムのバージョンを問い合わせ、その問い合わせで応答されるバージョンと自分のバージョンとを比較照合し、適合する場合の更新システムプログラムを、ネットワークを介して転送する。
【０００３】
【特許文献１】特開２００２−３５１６３５号公報（特許請求の範囲、発明の実施の形態など）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、近年、ＤＳＣ（Ｄｉｇｉｔａｌ  Ｓｔｉｌｌ  Ｃａｍｅｒａ）やスキャナとプリンタとを直接に接続し、ＤＳＣやスキャナの画像をプリンタで印刷するダイレクト印刷システムが普及している。
【０００５】
このようなダイレクト印刷システムなどのシステムで利用される複数の機器の場合、ＤＳＣやスキャナなどとプリンタとは、それぞれを開発する別々の会社あるいは別々の部署において開発されて提供されている。
【０００６】
そして、たとえば、プリンタが発売された後に新しいスキャナが開発され、そのスキャンにおいてダイレクト印刷に使用できる新たな機能やデータがプログラムとして追加された場合において、そのスキャナと先に発売されているプリンタとを組合せて使用したとき、そのスキャナの新たな機能やデータを使用することができないことがある。その他にもたとえば、スキャナで使用する通信プロトコルのバージョンがプリンタで使用する通信プロトコルのバージョンより新しいバージョンであるとき、それらの間で正常な通信ができなくなる可能性があるかもしれない。
【０００７】
このような状況が生じたとき、先に発売されているプリンタの、通信や印刷のために使用するプリンタ制御プログラムを更新することが考えられる。そして、そのプリンタが特許文献１に記載されるようにネットワークに直接に接続することができるプリンタであれば、ネットワークを介してそのプリンタのプリンタ制御プログラムを提供することで、そのプリンタのプリンタ制御プログラムを容易に更新することが可能となる。しかしながら、プリンタがネットワークに接続することができないものである場合、そのネットワークにおいてそのプリンタのプリンタ制御プログラムを提供したとしても、そのプリンタのプリンタ制御プログラムを更新することは容易ではない。
【０００８】
本発明は、コンピュータネットワークに接続することができない他の機器に対して、当該他の機器で使用する制御プログラムを提供することができるプログラム制御式機器およびプログラム更新システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るプログラム制御式機器は、当該機器のハードウェアあるいは通信を制御するプログラムを記憶する記憶手段と、コンピュータネットワークに接続されるネットワーク通信手段と、プログラムに基づいて動作する他の機器が直接に接続され、当該他の機器と直接に通信するローカル通信手段と、当該機器で使用するプログラムおよび他の機器で使用するプログラムの送信要求を、ネットワーク通信手段を介して送信するプログラム送信要求手段と、プログラム送信要求手段の要求に係るプログラムをネットワーク通信手段が受信すると、当該機器で使用するプログラムを記憶手段に記憶させる更新実行手段と、プログラム送信要求手段の要求に係るプログラムをネットワーク通信手段が受信すると、他の機器で使用するプログラムを、ローカル通信手段を介して他の機器へ送信する転送処理手段と、を有するものである。
【００１０】
この構成を採用すれば、コンピュータネットワークに接続されるプログラム制御式機器は、当該機器で使用するプログラムを更新のためにコンピュータネットワークから受信する際に、ローカル通信手段に接続される他の機器で使用するプログラムを受信し、その受信した他の機器で使用するプログラムを、ローカル通信手段を介して当該他の機器へ送信する。したがって、プログラム制御式機器は、コンピュータネットワークに接続されていない他の機器に対して、当該他の機器で使用する制御プログラムを提供することができる。
【００１１】
本発明に係るプログラム制御式機器は、上述した発明に係る構成に加えて、ローカル通信手段を介して、他の機器に関する情報を取得する機器情報取得手段を有し、プログラム送信要求手段が、機器情報取得手段が取得した他の機器に関する情報に基づいて特定されるサーバへ、他の機器で使用するプログラムの送信要求を送信するものである。
【００１２】
この構成を採用すれば、プログラム制御式機器は、他の機器から取得した情報に基づいて特定されるサーバから、他の機器で使用するプログラムを取得することができる。
【００１３】
本発明に係るプログラム制御式機器は、上述した各発明に係る構成に加えて、ローカル通信手段を介して、他の機器に関する情報を取得する機器情報取得手段を有し、プログラム送信要求手段が、機器情報取得手段が取得した他の機器に関する情報に応じたプログラムの送信を要求するものである。
【００１４】
この構成を採用すれば、プログラム制御式機器は、当該機器で使用するプログラムとして、ローカル通信手段に接続されている他の機器に応じたプログラムを取得する。これにより、当該機器で使用するプログラムと、他の機器で使用するプログラムとの整合がとれ、両者間の通信が正常に行われるとともに、最新の機能を享受することができる。
【００１５】
本発明に係るプログラム制御式機器は、上述した各発明に係る構成に加えて、プログラム送信要求手段が、当該機器で使用するプログラムとして、送信要求に係る他の機器で使用するプログラムに対応するプログラムの送信を要求するものである。
【００１６】
この構成を採用すれば、プログラム制御式機器は、当該機器で使用するプログラムとして、ローカル通信手段に接続されている他の機器で使用するプログラムに対応するプログラムを取得する。これにより、当該機器で使用するプログラムと、他の機器で使用するプログラムとの整合がとれ、両者間の通信が正常に行われるとともに、最新の機能を享受することができる。
【００１７】
本発明に係るプログラム制御式機器は、上述した各発明に係る構成に加えて、他の機器はプリンタであり、当該機器が、ローカル通信手段を介してプリンタへ画像データファイルを転送し、その画像データファイルによる画像を印刷させるものである。
【００１８】
この構成を採用すれば、プリンタで使用するプログラムと、当該機器で使用するプログラムとを更新することができる。
【００１９】
本発明に係るプログラム更新システムは、上述した各発明に係るプログラム制御式機器と、プログラム制御式機器のローカル通信手段に直接に接続される他のローカル通信手段、当該他の機器のハードウェアあるいは通信を制御するプログラムを記憶する他の記憶手段、および他のローカル通信手段が受信した当該他の機器で使用するプログラムを他の記憶手段に記憶させる他の更新実行手段を有する他の機器と、を有するものである。
【００２０】
この構成を採用すれば、プログラム更新システムは、プログラム制御式機器で使用するプログラムと、このプログラム制御式機器に直接に接続される他の機器の制御プログラムとを更新することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係るプログラム制御式機器およびプログラム更新システムを、図面に基づいて説明する。プログラム制御式機器は、スキャナを例として説明する。プログラム制御式機器に直接に接続される他の機器は、プリンタを例として説明する。プログラム更新システムは、ファームウェア更新システムを例として説明する。
【００２２】
図１は、本発明の実施の形態に係るファームウェア更新システムを示すブロック図である。ファームウェア更新システムは、プログラム制御式機器としてのスキャナ１と、他の機器としてのプリンタ２と、スキャナ１のベンダが提供する第一サーバ３と、プリンタ２のベンダが提供する第二サーバ４と、を有する。
【００２３】
スキャナ１は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブル５でプリンタ２と接続される。また、スキャナ１は、ネットワークとしてのインターネット６を介して第一サーバ３および第二サーバ４に接続される。
【００２４】
そして、このファームウェア更新システムは、第一サーバ３に記憶されている最新のスキャナ制御プログラム１４で、スキャナ１のスキャナ制御プログラムを更新し、且つ、第二サーバ４に記憶されているプリンタ制御プログラムで、プリンタ２のプリンタ制御プログラムを更新する。
【００２５】
なお、スキャナ１とプリンタ２とは、ＵＳＢケーブル５以外の他の通信規格のケーブルで接続されていてもよい。また、スキャナ１とプリンタ２とは、ブルートゥースなどにより互いに直接に通信可能に接続されていてもよい。
【００２６】
スキャナ１は、記憶手段としての記憶デバイス４１と、ネットワーク通信手段としてのネットワーク通信Ｉ／Ｆ４２と、ローカル通信手段としてのローカル通信Ｉ／Ｆ４３と、プログラム送信要求手段としてのプログラム送信要求部４４と、更新実行手段としての更新実行部４５と、機器情報取得手段としての機器情報送信要求部４６と、転送処理手段としての転送処理部４７と、シーケンス制御部４８と、を有する。ネットワーク通信Ｉ／Ｆ４２は、インターネット６に接続され、インターネット６を介して第一サーバ３、第二サーバ４などと通信する。ローカル通信Ｉ／Ｆ４３は、ＵＳＢケーブル５が接続され、このＵＳＢケーブル５の他端に接続される他の機器（図１ではプリンタ２）と通信する。なお、プログラム送信要求部４４、更新実行部４５、機器情報送信要求部４６、転送処理部４７およびシーケンス制御部４８は、スキャナ１の図示せぬＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が記憶デバイス１１などに記憶されている更新プログラムを実行することで実現される。
【００２７】
スキャナ１の記憶デバイス４１は、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）などであって、スキャナ制御プログラム４９を記憶する。スキャナ１の図示外のＣＰＵがこのスキャナ制御プログラム４９を実行することで、スキャナ１にはスキャナ制御部が実現される。スキャナ制御部は、読み取り機構や画像データ処理部を制御し、スキャナ１にセットされた画像を読み込む制御や、その画像およびその画像の印刷指示をローカル通信Ｉ／Ｆ４３から送信する処理、制御を行う。
【００２８】
スキャナ１のプログラム送信要求部４４は、ネットワーク通信Ｉ／Ｆ４２を介して、インターネット６に接続されている第一サーバ３あるいは第二サーバ４などに対して、プログラム送信要求を送信する。
【００２９】
更新実行部４５は、第一サーバ３から取得されたスキャナ制御プログラム１４を記憶デバイス４１に書き込む。
【００３０】
機器情報送信要求部４６は、ローカル通信Ｉ／Ｆ４３を介して、そのローカル通信Ｉ／Ｆ４３に接続されるプリンタ２へ機器情報送信要求を送信する。
【００３１】
転送処理部４７は、ローカル通信Ｉ／Ｆ４３を介して、そのローカル通信Ｉ／Ｆ４３に接続されるプリンタ２へプリンタ制御プログラムを送信する。
【００３２】
シーケンス制御部４８は、プログラム送信要求部４４、更新実行部４５、機器情報送信要求部４６および転送処理部４７に対して、処理を指示する。
【００３３】
プリンタ２は、ＥＥＰＲＯＭなどの記憶デバイス３１と、ローカル通信Ｉ／Ｆ３２と、更新実行部３３と、機器情報送信部３４と、を有する。ローカル通信Ｉ／Ｆ３２は、ＵＳＢケーブル５が接続され、このＵＳＢケーブル５の他端に接続される機器（図１ではスキャナ１）と通信する。なお、更新実行部３３および機器情報送信部３４は、プリンタ２の図示せぬＣＰＵが記憶デバイス３１などに記憶されている更新プログラムを実行することで実現される。
【００３４】
プリンタ２の記憶デバイス３１は、プリンタ制御プログラム３５を記憶する。プリンタ２の図示外のＣＰＵがこのプリンタ制御プログラム３５を実行することで、プリンタ２にはプリンタ制御部が実現される。プリンタ制御部は、プリンタ２のローカル通信Ｉ／Ｆ３２による通信を制御し、また、印刷機構やデータ処理部を制御し、ローカル通信Ｉ／Ｆ３２が受信した印刷指示に基づいて用紙に画像などを印刷する処理、制御を行う。
【００３５】
更新実行部３３は、プリンタ制御プログラムを記憶デバイス３１に書き込む。
【００３６】
機器情報送信部３４は、記憶デバイス３１に記憶されている機器情報を、ローカル通信Ｉ／Ｆ３２を介して、そのローカル通信Ｉ／Ｆ３２に接続されるスキャナ１へ送信する。
【００３７】
したがって、プリンタ２においてプリンタ制御部が実現され、スキャナ１においてスキャナ制御部が実現された状態では、プリンタ２は、スキャナ１からの画像の印刷指示に基づいてスキャナ１から画像データファイルを取得し、その画像を印刷する。このようにプリンタ２とスキャナ１などとをコンピュータを介さずに接続する印刷システムは、ダイレクト印刷システムと呼ばれている。たとえば、スキャナ１においてコンピュータで実行されるプリンタドライバプログラムを含むスキャナ制御プログラム４９が実行されることで、プリンタ２とスキャナ１とは互いに通信し、ダイレクト印刷を実行することができる。
【００３８】
なお、スキャナ１とプリンタ２とは、スキャナ制御プログラム４９とプリンタ制御プログラム３５とが互いに対応したバージョンとなることで、互いに通信することができる。たとえば、プリンタ制御プログラム３５のバージョンがスキャナ制御プログラム４９のバージョンより古い場合には、スキャナ１とプリンタ２とは互いに通信することができなくなってしまったり、スキャナ１で提供されている機能を利用した印刷をプリンタ２が実行することができなくなってしまったりすることがある。
【００３９】
第一サーバ３は、記憶デバイス１１と、ネットワーク通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１２と、プログラム送信部１３と、を有する。記憶デバイス１１は、スキャナ１にて実行される、いわゆるファームウェアとしての最新のスキャナ制御プログラム１４を記憶する。ネットワーク通信Ｉ／Ｆ１２は、インターネット６に接続され、インターネット６を介してスキャナ１などの他の機器と通信する。プログラム送信部１３は、記憶デバイス１１に記憶されているスキャナ制御プログラム１４をネットワーク通信Ｉ／Ｆ１２に送信させる。
【００４０】
第二サーバ４は、記憶デバイス２１と、ネットワーク通信Ｉ／Ｆ２２と、プログラム送信部２３と、を有する。記憶デバイス２１は、プリンタ２にて実行される、いわゆるファームウェアとしての最新のプリンタ制御プログラム２４を記憶する。ネットワーク通信Ｉ／Ｆ１２は、インターネット６に接続され、インターネット６を介してスキャナ１などの他の機器と通信する。プログラム送信部１３は、記憶デバイス２１に記憶されているプリンタ制御プログラム２４をネットワーク通信Ｉ／Ｆ２２に送信させる。
【００４１】
次に、以上の構成を有するファームウェア更新システムの動作を説明する。
【００４２】
図２は、図１のファームウェア更新システムの全体的な処理の流れを示すフローチャートである。文字「第一サーバ（３）」の下に記載される直線上のボックスは、第一サーバ３が実行する主な処理を示すものである。文字「第二サーバ（４）」の下に記載される直線上のボックスは、第二サーバ４が実行する主な処理を示すものである。文字「スキャナ（１）」の下に記載される直線上のボックスは、スキャナ１が実行する主な処理を示すものである。文字「プリンタ（２）」の下に記載される直線上のボックスは、プリンタ２が実行する主な処理を示すものである。これら４つの直線の間にある矢線は、それら４つの装置間で送受される主なデータなどを示すものである。
【００４３】
スキャナ１のシーケンス制御部４８は、ファームウェアの更新処理を開始すると、まず、プログラム送信要求部４４にスキャナ制御プログラムの取得処理を指示する。なお、シーケンス制御部４８は、たとえばスキャナ１の電源が投入されたこと、ネットワーク通信Ｉ／Ｆ１２あるいはローカル通信Ｉ／Ｆ４３にケーブルが接続されたこと、それらのイベントを組み合わせた検出条件が成立したことなどに基づいて、ファームウェアの更新処理を開始する。
【００４４】
スキャナ制御プログラムの取得処理が指示されると、プログラム送信要求部４４は、記憶デバイス４１に記憶されているスキャナ制御プログラム、図示せぬ設定情報などから、当該スキャナ１のスキャナ制御プログラムを提供している第一サーバ３への識別情報を読み込む。第一サーバ３の識別情報としては、たとえば第一サーバ３のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスなどがある。
【００４５】
第一サーバ３の識別情報を取得した後、プログラム送信要求部４４は、プログラム送信要求をネットワーク通信Ｉ／Ｆ４２へ供給する。スキャナ１のネットワーク通信Ｉ／Ｆ４２は、第一サーバ３を送信先に指定して、供給されたプログラム送信要求をインターネット６へ送出する（ステップＳＴ１）。
【００４６】
第一サーバ３のネットワーク通信Ｉ／Ｆ１２は、自分が送信先に指定されているプログラム送信要求を、インターネット６から受信する。第一サーバ３のネットワーク通信Ｉ／Ｆ１２は、受信したプログラム送信要求をプログラム送信部１３に供給する。
【００４７】
第一サーバ３のプログラム送信部１３は、プログラム送信要求が供給されると、記憶デバイス１１から最新のスキャナ制御プログラム１４を読み込む。プログラム送信部１３は、読み込んだ最新のスキャナ制御プログラム１４をネットワーク通信Ｉ／Ｆ１２へ供給する。第一サーバ３のネットワーク通信Ｉ／Ｆ１２は、供給された最新のスキャナ制御プログラム１４をインターネット６へ送出する（ステップＳＴ２）。最新のスキャナ制御プログラム１４の送信先には、先のプログラム送信要求の送信元、つまりスキャナ１が指定される。
【００４８】
スキャナ１のネットワーク通信Ｉ／Ｆ４２は、自分が送信先に指定されている最新のスキャナ制御プログラム１４を、インターネット６から受信する。スキャナ１のネットワーク通信Ｉ／Ｆ４２は、受信した最新のスキャナ制御プログラム１４をプログラム送信要求部４４に供給する。
【００４９】
プログラム送信要求部４４が最新のスキャナ制御プログラム１４を受信すると、シーケンス制御部４８は、更新実後部４５に更新処理を指示する。スキャナ１の更新実行部４５は、更新処理が指示されると、プログラム送信要求部４４が受信した最新のスキャナ制御プログラム１４を記憶デバイス４１に書き込む（ステップＳＴ３）。これにより、スキャナ１の記憶デバイス４１に記憶されるスキャナ制御プログラム４９は、第一サーバ３が提供する最新のスキャナ制御プログラム１４となる。スキャナ１は、この最新のスキャナ制御プログラム１４を実行し、その最新のスキャナ制御プログラム１４で提供される機能を実現することができる。
【００５０】
スキャナ１の更新実行部４５による更新処理が完了すると、シーケンス制御部４８は、機器情報送信要求部４６に機器情報の取得を指示する。機器情報送信要求部４６は、機器情報の取得が指示されると、機器情報の送信要求を生成し、生成した機器情報の送信要求をローカル通信Ｉ／Ｆ４３へ供給する。スキャナ１のローカル通信Ｉ／Ｆ４３は、提供された機器情報の送信要求を、ＵＳＢケーブル５を介して、プリンタ２のローカル通信Ｉ／Ｆ３２へ送信する（ステップＳＴ４）。
【００５１】
機器情報の送信要求を受信すると、プリンタ２のローカル通信Ｉ／Ｆ３２は、受信した機器情報の送信要求を機器情報送信部３４に供給する。機器情報送信部３４は、記憶デバイス３１のプリンタ制御プログラム３５、図示せぬ設定情報などから、機器情報として、当該機器の制御プログラム、つまりプリンタ２のベンダが提供する第二サーバ４への接続情報を読み込む。機器情報送信部３４は、読み込んだ機器情報をローカル通信Ｉ／Ｆ３２へ供給する。プリンタ２のローカル通信Ｉ／Ｆ３２は、供給された機器情報を、ＵＳＢケーブル５を介して、スキャナ１のローカル通信Ｉ／Ｆ４３へ送信する（ステップＳＴ５）。スキャナ１のローカル通信Ｉ／Ｆ４３は、受信した機器情報を機器情報送信要求部４６へ供給する。
【００５２】
機器情報送信要求部４６がローカル通信Ｉ／Ｆ４３に接続されるプリンタ２の機器情報を受信すると、シーケンス制御部４８は、プログラム送信要求部４４にそのローカル通信Ｉ／Ｆに接続されるプリンタ２のプリンタ制御プログラムの取得処理を指示する。
【００５３】
ローカル通信Ｉ／Ｆ４３に接続されるプリンタ２のプリンタ制御プログラムの取得処理が指示されると、プログラム送信要求部４４は、機器情報送信要求部４６から、プリンタ２のプリンタ制御プログラムを提供している第二サーバ４への接続情報を読み込む。プログラム送信要求部４４は、プログラム送信要求をスキャナ１のネットワーク通信Ｉ／Ｆ４２へ供給する。スキャナ１のネットワーク通信Ｉ／Ｆ４２は、その送信先として第二サーバ４を送信先に指定して、供給されたプログラム送信要求をインターネット６へ送出する（ステップＳＴ６）。
【００５４】
第二サーバ４のネットワーク通信Ｉ／Ｆ２２は、自分が送信先に指定されているプログラム送信要求を、インターネット６から受信する。第二サーバ４のネットワーク通信Ｉ／Ｆ２２は、受信したプログラム送信要求をプログラム送信部２３に供給する。
【００５５】
第二サーバ４のプログラム送信部２３は、プログラム送信要求が供給されると、記憶デバイス２１から最新のプリンタ制御プログラム２４を読み込む。プログラム送信部２３は、読み込んだ最新のプリンタ制御プログラム２４をネットワーク通信Ｉ／Ｆ２２へ供給する。第二サーバ４のネットワーク通信Ｉ／Ｆ２２は、供給された最新のプリンタ制御プログラム２４をインターネット６へ送出する（ステップＳＴ７）。最新のプリンタ制御プログラム２４の送信先には、先のプログラム送信要求の送信元、つまりスキャナ１が指定される。
【００５６】
スキャナ１のネットワーク通信Ｉ／Ｆ４２は、自分が送信先に指定されているプリンタ制御プログラムを、インターネット６から受信する。スキャナ１のネットワーク通信Ｉ／Ｆ４２は、受信した最新のプリンタ制御プログラム２４をプログラム送信要求部４４に供給する。
【００５７】
プログラム送信要求部４４が最新のプリンタ制御プログラム２４を受信すると、シーケンス制御部４８は、転送処理部４７に転送処理を指示する。スキャナ１の転送処理部４７は、転送処理が指示されると、プログラム送信要求部４４が受信した最新のプリンタ制御プログラム２４をローカル通信Ｉ／Ｆ４３へ供給する。ローカル通信Ｉ／Ｆ４３は、供給された最新のプリンタ制御プログラム２４を、ＵＳＢケーブル５を介して、プリンタ２のローカル通信Ｉ／Ｆ３２へ送信する（ステップＳＴ８）。プリンタ２のローカル通信Ｉ／Ｆ３２は、受信した最新のプリンタ制御プログラム２４を、更新実行部３３へ供給する。
【００５８】
最新のプリンタ制御プログラム２４が供給されると、更新実行部３３は、その供給された最新のプリンタ制御プログラム２４を記憶デバイス３１に書き込む（ステップＳＴ９）。これにより、プリンタ２の記憶デバイス３１に記憶されるスキャナ更新プログラム３５は、第二サーバ４が提供する最新のプリンタ制御プログラム２４となる。プリンタ２は、この最新のプリンタ制御プログラム２４を実行し、その最新のプリンタ制御プログラム２４で提供される機能を実現することができる。
【００５９】
以上のように、この実施の形態に係るファームウェア更新システムでは、スキャナ１が、スキャナ１のスキャナ制御プログラム４９の更新時に、スキャナ１のローカル通信Ｉ／Ｆ４３に接続されるプリンタ２のプリンタ制御プログラム３５をインターネット６を介して受信し、スキャナ１とプリンタ２のそれぞれが、スキャナ１のスキャナ制御プログラム４９およびプリンタ２のプリンタ制御プログラム３５を更新する。
【００６０】
その結果、ユーザがスキャナ制御プログラム４９の更新作業やプリンタ制御プログラム３５の更新作業を、パーソナルコンピュータなどを使用して自発的に１つずつ実施する必要がなくなる。
【００６１】
また、スキャナ１のスキャナ制御プログラム４９とプリンタ２のプリンタ制御プログラム３５とが最新のバージョンとなることで、たとえばプリンタ２とスキャナ１とをコンピュータを介さずに直接に接続する印刷システムにおいて、プリンタ２とスキャナ１とは、互いに通信し、ダイレクト印刷を実行することができる。つまり、スキャナ１とプリンタ２とが互いに通信することができなくなってしまったり、スキャナ１で提供されている機能を利用した印刷をプリンタ２が実行することができなくなってしまったりすることを、効果的に抑制することができる。
【００６２】
なお、上記実施の形態では、プリンタ２からスキャナ１へ、プリンタ２のプリンタ制御プログラムを提供する第二サーバ４への接続情報とを送信している。この他にもたとえば、プリンタ２からスキャナ１へ、プリンタ２のベンダに関する情報やプリンタ２の型番などの機種を特定する情報を送信し、スキャナ１がそのプリンタ２から受信した情報に基づいて第二サーバ４の識別情報をインターネット６上の図示せぬ別のサーバから取得するようにしてもよい。
【００６３】
上記実施の形態では、第一サーバ３は最新のスキャナ制御プログラム１４を記憶し、第二サーバ４は最新のプリンタ制御プログラム２４を記憶している。この他にもたとえば、第一サーバ３および第二サーバ４は、複数のバージョンあるいは複数のバリエーションのスキャナ制御プログラムやプリンタ制御プログラムを記憶するようにしてもよい。この場合、スキャナ１のプログラム送信要求部４４は、スキャナ１の記憶デバイス４１に記憶されているスキャナ制御プログラムのバージョン情報や、プリンタ２の記憶デバイス３１に記憶されているプリンタ制御プログラムのバージョン情報を取得し、これらに基づいて最適なバージョンあるいは最適なバリエーションの制御プログラムを第一サーバ３および第二サーバ４から受信するようにすればよい。
【００６４】
特に、スキャナ１のプログラム送信要求部４４がスキャナ制御プログラムの送信を要求する前に、機器情報送信要求部４６がプリンタ２の機種に関する情報やプリンタ制御プログラム３５に関する情報を取得し、その取得した情報に基づいてプリンタ２に適したスキャナ制御プログラムを要求するようにするようにしてもよい。これにより、たとえば第一サーバ３に記憶されている最新のスキャナ制御プログラム１４がそのプリンタ２に対応していない場合であっても、スキャナ１のプログラム送信要求部４４が別のスキャナ制御プログラムを取得することで、そのプリンタ２に対応する最適なスキャナ制御プログラムを取得することができる。
【００６５】
上記実施の形態では、スキャナ１のプログラム送信要求部４４は、スキャナ制御プログラムを取得した後に、プリンタ制御プログラムを取得している。この他にもたとえば、スキャナ１のプログラム送信要求部４４は、プリンタ制御プログラムを取得した後に、スキャナ制御プログラムを取得するようにしてもよい。
【００６６】
この順番で制御プログラムを取得する場合、スキャナ１のプログラム送信要求部４４は、先に受信したプリンタ制御プログラムの情報を用いて、そのプリンタ制御プログラムに対応するスキャナ制御プログラムを受信するようにしてもよい。これにより、たとえば第一サーバ３に記憶されている最新のスキャナ制御プログラム１４がそのプリンタ２あるいはプリンタ制御プログラムに対応していない場合であっても、スキャナ１のプログラム送信要求部４４は、別のスキャナ制御プログラムを取得することで、そのプリンタ２あるいはプリンタ制御プログラムに対応する最適なスキャナ制御プログラムを取得することができる。
【００６７】
上記実施の形態では、スキャナ制御プログラムは第一サーバ３に記憶され、プリンタ制御プログラムは第二サーバ４に記憶されている。この他にもたとえば、スキャナ制御プログラムとプリンタ制御プログラムとは、１つのサーバに記憶されていてもよい。
【００６８】
上記実施の形態では、ファームウェア更新システムは、スキャナ制御プログラムおよびプリンタ制御プログラムを更新している。この他にもたとえば、ファームウェア更新システムは、スキャナ制御プログラム４９およびプリンタ制御プログラム３５の一部のみを部分的に更新するようにしてもよい。たとえば、スキャナ制御プログラム４９の一部としてプリンタドライバプログラムが含まれている場合には、ファームウェア更新システムは、そのプリンタドライバプログラムのみをプリンタ２の情報に基づいて更新するようにしてもよい。これにより、スキャナ１の記憶デバイス４１は、常時、多数のプリンタ２のプリンタドライバプログラムを記憶する必要が無くなり、大容量のものにする必要が無くなる。
【００６９】
他にもたとえば、プリンタ制御プログラム３５の１つの機能として利用される機能モジュールプログラムやデータを、スキャナ１に合わせて追加あるいは更新するようにしてもよい。このように部分的に更新することで、スキャナ１は、転送するプリンタ制御プログラムを記憶するための領域として、少ない記憶領域を確保すればよいことになる。また、このように部分的な更新を可能とすることで、プリンタ２は、常時そのすべての機能を記憶しておく必要がなくなり、記憶デバイス３１としてプリンタ制御プログラムの総データ量より少ない容量のものを使用することが可能となる。
【００７０】
上記実施の形態では、スキャナ１の電源が投入されたこと、ネットワーク通信Ｉ／Ｆ４２あるいはローカル通信Ｉ／Ｆ４３にケーブルが接続されたこと、それらのイベントを組み合わせた検出条件が成立したことなどに基づいて、ファームウェアの更新処理が開始される。この他にもたとえば、スキャナ１においてプリンタ２の選択処理をしたこと、スキャナ１がプリンタ２へ印刷を指示するときなどに、ファームウェアの更新処理を開始するようにしてもよい。
【００７１】
上記実施の形態では、スキャナ１がインターネット６に接続され、プリンタ２のプリンタ制御プログラムを取得している。この他にもたとえば、ネットワーク通信Ｉ／Ｆを有するプリンタがインターネット６に接続され、ネットワーク通信Ｉ／Ｆを有さないスキャナのスキャナ制御プログラムを取得するようにしてもよい。
【００７２】
上記実施の形態では、スキャナ１とプリンタ２とを接続するダイレクト印刷システムにおいて、ファームウェア更新システムを実現している。この他にもたとえば、スキャナ１の替わりに、ＤＳＣ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話端末、ネットワーク対応テレビジョン受信機などの出力指示装置とプリンタ２とを接続するダイレクト印刷システムにおいて、ファームウェア更新システムを実現するようにしてもよい。また、他にもたとえば、プリンタ２の替わりに、モニタ、テレビジョン受信機、プロジェクタなどの出力装置と出力指示装置とを接続するダイレクト出力システムにおいて、ファームウェア更新システムを実現するようにしてもよい。
【００７３】
上記実施の形態では、スキャナ１、プリンタ２、第一サーバ３および第二サーバ４は、コンピュータネットワークとしてインターネット６に接続されているが、その代わりに、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、イントラネットなどに接続されていてもよい。
【産業上の利用可能性】
【００７４】
本発明は、たとえばスキャナとプリンタとを直接に接続し、スキャナで選択した画像をプリンタで印刷するダイレクトプリントシステムなどに利用することができる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施の形態に係るファームウェア更新システムのブロック図である。
【図２】図１のファームウェア更新システムのフローチャートである。
【符号の説明】
【００７６】
１  スキャナ（プログラム制御式機器）、２  プリンタ（他の機器）、６  インターネット（コンピュータネットワーク）、４１  記憶デバイス（記憶手段）、４２  ネットワーク通信Ｉ／Ｆ（ネットワーク通信手段）、４３  ローカル通信Ｉ／Ｆ（ローカル通信手段）、４４  プログラム送信要求部（プログラム送信要求手段）、４５  更新実行部（更新実行手段）、４６  機器情報送信要求部（機器情報取得手段）、４７  転送処理部（転送処理手段）
【図１】
2006085326.tif 000003
【図２】
2006085326.tif 000004