(57)【要約】【課題】スキャナ装置に予めインストールされているファームウェアが、接続されたプリンタに非対応であっても、当該プリンタによる印刷を可能にする技術を提供する。【解決手段】本出願のスキャナ装置１００は、プリンタ２００が接続されて複合機として機能するスキャナ装置１００であって、プリンタ２００を制御するためのファームウェアと、当該スキャナ装置１００の型番と、を記憶している記憶手段と、プリンタ２００の接続を検知する検知手段と、接続を検知したプリンタ２００の型番と、当該スキャナ装置１００の型番と、を取得する型番取得手段と、ファームウェアがプリンタ２００の型番に対応しているか否かを判定する判定手段と、対応していないと判定された場合には、ファームウェアを、プリンタ２００の型番および当該スキャナ装置１００の型番に対応するファームウェアに更新する更新手段と、を備える。【選択図】図１
2010050779.tif 000002
【特許請求の範囲】
【請求項１】
プリンタと、当該プリンタが接続されて複合機として機能するスキャナ装置と、プリンタを制御するためのファームウェアを提供するサーバと、を含む複合システムであって、
前記スキャナ装置は、
プリンタを制御するためのファームウェアと、当該スキャナ装置の型番と、を記憶している記憶手段と、
プリンタの接続を検知する検知手段と、
前記接続を検知したプリンタに、当該プリンタの型番を要求する第１の要求手段と、
を備え、
前記プリンタは、
当該プリンタの型番を記憶している記憶手段と、
前記要求を前記スキャナ装置から受け付けた場合に、当該プリンタの型番を前記スキャナ装置に送信する型番送信手段と、
を備え、
前記スキャナ装置は、
前記プリンタから送信されたプリンタの型番を受信するとともに、当該スキャナ装置の型番を取得する型番取得手段と、
前記ファームウェアが前記プリンタの型番に対応しているか否かを判定する判定手段と、
対応していないと判定された場合には、前記プリンタの型番および当該スキャナ装置の型番を前記サーバに送信して、両型番に対応するファームウェアを要求する第２の要求手段と、
を備え、
前記サーバは、
前記スキャナ装置からファームウェアの要求を受け付けた場合に、前記プリンタの型番および前記スキャナ装置の型番に対応するファームウェアを検索する検索手段と、
検索した前記ファームウェアを、前記スキャナ装置に送信する送信手段と、
を備え、
前記スキャナ装置は、
前記ファームウェアを、前記サーバから送信されたファームウェアに更新する更新手段、
を備える、
ことを特徴とする複合システム。
【請求項２】
プリンタと、当該プリンタが接続されて複合機として機能するスキャナ装置と、を含む複合システムであって、
前記スキャナ装置は、
プリンタを制御するためのファームウェアと、当該スキャナ装置の型番と、を記憶している記憶手段と、
プリンタの接続を検知する検知手段と、
前記接続を検知したプリンタに、当該プリンタの型番を要求する要求手段と、
を備え、
前記プリンタは、
当該プリンタの型番を記憶している記憶手段と、
前記要求を前記スキャナ装置から受け付けた場合に、当該プリンタの型番を前記スキャナ装置に送信する型番送信手段と、
を備え、
前記スキャナ装置は、
前記プリンタから送信されたプリンタの型番を受信するとともに、当該スキャナ装置の型番を取得する型番取得手段と、
前記ファームウェアが前記プリンタの型番に対応しているか否かを判定する判定手段と、
対応していないと判定された場合には、前記ファームウェアを、前記プリンタの型番および当該スキャナ装置の型番に対応するファームウェアに更新する更新手段と、
を備える、
ことを特徴とする複合システム。
【請求項３】
プリンタが接続されて複合機として機能するスキャナ装置と、プリンタを制御するためのファームウェアを提供するサーバと、がネットワークを介して接続された複合システムであって、
前記スキャナ装置は、
プリンタを制御するためのファームウェアと、当該スキャナ装置の型番と、を記憶している記憶手段と、
プリンタの接続を検知する検知手段と、
前記接続を検知したプリンタの型番と、当該スキャナ装置の型番と、を取得する型番取得手段と、
前記ファームウェアが前記プリンタの型番に対応しているか否かを判定する判定手段と、
対応していないと判定された場合には、前記プリンタの型番および当該スキャナ装置の型番を前記サーバに送信して、両型番に対応するファームウェアを要求する要求手段と、
を備え、
前記サーバは、
前記スキャナ装置からファームウェアの要求を受け付けた場合に、前記プリンタの型番および前記スキャナ装置の型番に対応するファームウェアを検索する検索手段と、
検索した前記ファームウェアを、前記スキャナ装置に送信する送信手段と、
を備え、
前記スキャナ装置は、
前記ファームウェアを、前記サーバから送信されたファームウェアに更新する更新手段、
を備える、
ことを特徴とする複合システム。
【請求項４】
プリンタが接続されて複合機として機能するスキャナ装置であって、
プリンタを制御するためのファームウェアと、当該スキャナ装置の型番と、を記憶している記憶手段と、
プリンタの接続を検知する検知手段と、
前記接続を検知したプリンタの型番と、当該スキャナ装置の型番と、を取得する型番取得手段と、
前記ファームウェアが前記プリンタの型番に対応しているか否かを判定する判定手段と、
対応していないと判定された場合には、前記ファームウェアを、前記プリンタの型番および当該スキャナ装置の型番に対応するファームウェアに更新する更新手段と、
を備えることを特徴とするスキャナ装置。
【請求項５】
請求項４に記載のスキャナ装置であって、
前記更新手段は、
前記ファームウェアの更新が許可された場合に、前記ファームウェアを、前記プリンタの型番および当該スキャナ装置の型番に対応するファームウェアに更新する、
ことを特徴とするスキャナ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタが接続されて複合機として機能するスキャナ装置、および、当該スキャナ装置を含むシステムに関する。
【背景技術】
【０００２】
近年のスキャナ装置には、プリンタが接続（例えば、ＵＳＢ接続）された場合に、複合機として機能するものがある。このようなスキャナ装置は、原稿をスキャンして得られた画像データに基づく印刷データを、接続されたプリンタに転送して印刷させることができる。
【０００３】
例えば、特許文献１には、スキャナ装置に接続されたプリンタが印刷できる印刷データを、スキャナ装置で生成する技術について記載されている。スキャナ装置で印刷データを生成するためには、接続されたプリンタを制御可能なファームウェア（プリンタドライバ）をスキャナ装置が有している必要がある。
【特許文献１】特開平１１−１７５２９９号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、スキャナ装置にプリンタを接続して複合機として利用しようとするユーザは、各機器の購入時に複合機として利用することを考慮していない場合もあり、スキャナ装置に予めインストールされているファームウェアが、接続されたプリンタに対応していないこともある。
【０００５】
本発明は、スキャナ装置に予めインストールされているファームウェアが、接続されたプリンタに非対応であっても、当該プリンタによる印刷を可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本願発明は、プリンタが接続されて複合機として機能するスキャナ装置であって、プリンタを制御するためのファームウェアと、当該スキャナ装置の型番と、を記憶している記憶手段と、プリンタの接続を検知する検知手段と、前記接続を検知したプリンタの型番と、当該スキャナ装置の型番と、を取得する型番取得手段と、前記ファームウェアが前記プリンタの型番に対応しているか否かを判定する判定手段と、対応していないと判定された場合には、前記ファームウェアを、前記プリンタの型番および当該スキャナ装置の型番に対応するファームウェアに更新する更新手段と、を備える。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施形態の一例を図面を参照して説明する。
【０００８】
図１は、本発明の一実施形態が適用された複合システム１０のハードウェア構成の概要を説明するためのブロック図である。
【０００９】
図示するように、複合システム１０は、画像読取機能を有するスキャナ装置１００と、印刷機能を有するプリンタ２００と、スキャナ装置１００にインストールされるファームウェアを提供するサーバ３００と、を備えている。
【００１０】
スキャナ装置１００とサーバ３００は、インターネット等のコンピュータネットワーク５０を介して、相互に通信可能に接続されている。また、スキャナ装置１００とプリンタ２００は、ＵＳＢケーブル等のケーブルを介して、相互に通信可能に接続されている。
【００１１】
例えば、サーバ３００は、図示するように、各種プログラムを実行するＣＰＵ（Central Processing Unit）３０１と、データおよびプログラム等を一時的に記憶するＲＡＭ（Random Access Memory）３０２と、サーバ３００を制御するための各種データ、各種プログラム等があらかじめ不揮発的に記憶されているハードディスク（ＲＯＭ）３０３と、コンピュータネットワーク５０に接続されている機器（スキャナ装置１００や他のサーバ３００など）とのデータの送受信を行うネットワークインタフェース（ＩＦ）３０４と、を備えた一般的なコンピュータで実現される。
【００１２】
ハードディスク（ＲＯＭ）３０３は、スキャナ装置１００を購入したユーザに提供（アップロード）するためのファームウェアを、当該ファームウェアが対応している装置（スキャナ装置１００、スキャナ装置１００が制御するプリンタ２００）ごとに記憶している。
【００１３】
また、ハードディスク（ＲＯＭ）３０３は、ファームウェア（格納先）と、当該ファームウェアが対応している装置の型番と、の対応関係を一覧にしたファームウェアリスト３８０を記憶している。
【００１４】
図２は、ファームウェアリスト３８０の概略データ構造の一例を示す図である。図示するように、ファームウェアリスト３８０は、サーバ３００が管理しているファームウェアごとのレコード３８５からなる。各レコード３８５には、ファームウェアを識別するファーム識別情報（ファームＩＤ）３８１と、対応しているスキャナ装置１００の型番（スキャナ型番）３８２と、対応しているプリンタ２００の型番（プリンタ型番）３８３と、ファームウェアの実データ（或いは、実データの格納先）３８４と、が対応付けて格納されている。
【００１５】
ファームＩＤ３８１は、例えば、ファームウェアを識別するための文字列（或いは、数字列）からなる。また、ファームＩＤ３８１は、例えば、ハードディスク（ＲＯＭ）３０３に格納された日時を示すデータでもよい。
【００１６】
スキャナ型番３８２は、例えば、ファームウェアが対応しているスキャナ装置１００の型番を示す文字列（或いは、数字列）からなる。ファームウェアが異なる複数の型のスキャナ装置１００に対応している場合には、スキャナ型番３８２には、複数の型番が格納される。
【００１７】
プリンタ型番３８３は、例えば、ファームウェアが対応しているプリンタ２００（スキャナ装置１００に接続されるプリンタ２００）の型番を示す文字列（或いは、数字列）からなる。ファームウェアが異なる複数の型のプリンタ２００に対応している場合には、プリンタ型番３８３には、複数の型番が格納される。
【００１８】
実データ（実データの格納先）３８４は、例えば、ファームウェアの実データ、或いは、ファームウェアの実データが格納されているメモリ上のアドレス（コンピュータネットワーク５０上のＵＲＬ）を示すデータである。
【００１９】
図１に戻り、プリンタ２００は、例えば、ＧＤＩ（Graphical Device Interface）プリンタである。ＧＤＩプリンタは、プリンタホスト（スキャナ装置１００）でビットマップイメージがレンダリングされ、ビットマップが転送されることにより、印刷装置として機能する。ただし、プリンタ２００は、ＧＤＩプリンタに限られない。
【００２０】
例えば、プリンタ２００は、図示するように、各種プログラムを実行するＣＰＵ２０１と、印刷データ等を一時的に記憶するＲＡＭ２０２と、プリンタ２００を制御するための各種データおよび各種プログラム、プリンタ２００の型番等があらかじめ不揮発的に記憶されているＲＯＭ２０３と、スキャナ装置１００等のＵＳＢホストとのデータの送受信を行うＵＳＢデバイスインタフェース（ＩＦ）２０４と、紙送り機構、印刷媒体の給排紙処理を行う給排紙機構等からなる印刷エンジン（図示せず）と、を備えている。
【００２１】
スキャナ装置１００は、一般的な画像読取装置として機能し、また、ＵＳＢケーブル等により物理的に接続されたプリンタ２００を制御するプリンタホストとして機能する。ただし、スキャナ装置１００は、接続されたプリンタ２００を制御可能なファームウェアがインストールされていない場合には、プリンタ２００を制御することができない。
【００２２】
例えば、スキャナ装置１００は、図示するように、各種プログラムを実行するＣＰＵ１０１と、画像データ等を一時的に記憶するＲＡＭ１０２と、スキャナ装置１００を制御するための各種データおよび各種プログラム、スキャナ装置１００の型番等があらかじめ不揮発的に記憶されているフラッシュメモリ（ＲＯＭ）１０３と、コンピュータネットワーク５０に接続されている機器（サーバ３００など）とのデータの送受信を行うネットワークインタフェース（ＩＦ）１０４と、プリンタ２００等のＵＳＢデバイスとのデータの送受信を行うＵＳＢホストインタフェース（ＩＦ）１０５と、を備えている。
【００２３】
フラッシュメモリ（ＲＯＭ）１０３には、接続されることを想定したプリンタ２００を制御するためのファームウェア（所定の型番のプリンタを制御可能なファームウェア）が、実行可能な状態であらかじめ記憶されている（インストールされている）。
【００２４】
また、スキャナ装置１００は、各種メッセージ等を表示する表示装置１０６と、ユーザからの指示を受け付ける入力装置１０７と、を備えている。
【００２５】
次に、上記複合システム１０によりスキャナ装置１００、プリンタ２００、および、サーバ３００に実現される機能構成について説明する。
【００２６】
図３は、複合システム１０の機能構成の一例を示すブロック図である。図示するように、スキャナ装置１００上には、制御部１５０と、表示制御部１６０と、入力受付部１７０と、プリンタドライバ部１８０と、が構築される。各部（１５０〜１８０）は、スキャナ装置１００が備えるＲＡＭ１０２にロードされたコンピュータプログラムを、ＣＰＵ１０１が実行することにより構築される。
【００２７】
制御部１５０は、スキャナ装置１００全体を制御し、スキャナ装置１００を一般的な画像読取装置として機能させる。また、制御部１５０は、ファームウェア管理部１５１を有する。
【００２８】
ファームウェア管理部１５１は、スキャナ装置１００にインストールされているファームウェア（プリンタドライバ部１８０を含む）が、スキャナ装置１００に接続されたプリンタ２００に対応していない場合には、当該ファームウェアを更新する処理を行う。詳細な処理については後述する。
【００２９】
表示制御部１６０は、ユーザに通知するメッセージ等を含む画面を生成し、生成した画面を表示装置１０６に表示させる処理を行う。
【００３０】
入力受付部１７０は、ユーザからの指示を入力装置１０７を介して受け付け、受け付けた指示を解析する処理を行う。
【００３１】
プリンタドライバ部１８０は、プリンタ２００を制御するファームウェアであり、プリンタ２００に印刷を実行させるための処理を行う。具体的には、ユーザからの印刷指示を受け付けると、写真やイラスト等の原稿を光学的にデジタルデータに変換して生成された画像データを、プリンタ２００が解釈できる形式の印刷データに変換し、プリンタ２００に送信する。ここで、画像データは、スキャナ装置１００で定義されている仕様で記述されたデータであり、印刷データは、例えば、上述したビットマップと、プリンタ２００を制御するコマンド群から構成されている。
【００３２】
また、プリンタ２００上には、印刷機能部２５０と、印刷実行部２６０と、プリンタ型番送信部２７０と、が構築される。各部（２５０〜２７０）は、プリンタ２００が備えるＲＡＭ２０２にロードされたコンピュータプログラムを、ＣＰＵ２０１が実行することにより構築される。または、各部（２５０〜２７０）は、各機能を実現する専用のＡＳＩＣ（Application Specific Integrated Circuit）或いは制御機構が動作することにより構築されてもよい。
【００３３】
印刷機能部２５０は、スキャナ装置１００から送信された印刷データに基づく印刷をプリンタ１００で実行するための制御を行う。
【００３４】
印刷実行部２６０は、印刷用紙等の印刷媒体に対して印刷を実行する。
【００３５】
プリンタ型番送信部２７０は、スキャナ装置１００からの要求に応じて、プリンタ２００の型番をスキャナ装置１００に送信（通知）する。
【００３６】
また、サーバ３００上には、制御部３５０と、送受信部３６０と、が構築される。各部（３５０、３６０）は、サーバ３００が備えるＲＡＭ３０２にロードされたコンピュータプログラムを、ＣＰＵ３０１が実行することにより構築される。
【００３７】
制御部３５０は、サーバ３００全体を制御し、サーバ３００を、スキャナ装置１００に最適なファームウェアを提供するコンピュータとして機能させる。また、制御部３５０は、ファームウェア検索部３５１を有する。
【００３８】
ファームウェア検索部３５１は、スキャナ装置１００からの要求に応じて、スキャナ装置１００がプリンタ２００を制御するために最適なファームウェアを検索する。詳細な処理については後述する。
【００３９】
送受信部３６０は、コンピュータネットワーク５０に接続されているスキャナ装置１００（或いは、他のサーバ３００）と、データの送受信を行う。例えば、送受信部３６０は、ファームウェア検索部３５０が検索したファームウェアを、スキャナ装置１００に送信する。
【００４０】
次に、上記構成からなる複合システム１０におけるスキャナ装置１００の特徴的な動作について説明する。図４は、スキャナ装置１００にプリンタ２００が接続された場合に、必要に応じてスキャナ装置１００のファームウェア（プリンタドライバ部１８０を含む）を更新する処理を示すフローチャートである。
【００４１】
ファームウェア管理部１５１は、プリンタ２００がスキャナ装置１００に接続されるまで待機する（ステップ１０１；Ｎｏ）。具体的には、ファームウェア管理部１５１は、ＵＳＢホストＩＦ１０５がＵＳＢケーブルを介してプリンタ２００の接続を検知するまで待機している。
【００４２】
ファームウェア管理部１５１は、プリンタ２００がスキャナ装置１００に接続された場合に（ステップＳ１０１；Ｙｅｓ）、処理をステップＳ１０２に移行する。具体的には、ファームウェア管理部１５１は、ＵＳＢホストＩＦ１０５がＵＳＢケーブルを介してプリンタ２００の接続を検知した場合に、処理をステップＳ１０２に移行する。
【００４３】
続いて、ファームウェア管理部１５１は、プリンタ２００の型番を取得する（ステップＳ１０２）。具体的には、ファームウェア管理部１５１は、プリンタ２００に型番を要求する。このとき、要求を受け付けたプリンタ２００のプリンタ型番送信部２７０は、ＲＯＭ２０３からプリンタ２００の型番を読み出し、ＵＳＢデバイスＩＦ２０４を介して、スキャナ装置１００に送信（通知）する。そして、ファームウェア管理部１５１は、プリンタ型番送信部２７０から送信（通知）されたプリンタ２００の型番を受信する。
【００４４】
次に、ファームウェア管理部１５１は、ステップＳ１０１で接続されたプリンタ２００を制御可能なファームウェアを有しているか否か判別する（ステップＳ１０３）。具体的には、ファームウェア管理部１５１は、ステップＳ１０２で取得したプリンタ２００の型番が、スキャナ装置１００にインストールされているファームウェアに対応しているものか否か判別する。ここで、例えば、ファームウェア管理部１５１は、フラッシュメモリ（ＲＯＭ）１０３に格納されているファームウェアを読み出し、プリンタ２００の型番に対応するモジュールを含むファームウェアである場合には、プリンタ２００を制御可能なファームウェアを有していると判定する。一方、プリンタ２００の型番に対応するモジュールを含むファームウェアでない場合には、プリンタ２００を制御可能なファームウェアを有していないと判定する。
【００４５】
なお、フラッシュメモリ（ＲＯＭ）１０３には、スキャナ装置１００にインストールされているファームウェアだけでなく、異なる型番のプリンタ２００を制御可能な予備のファームウェアが格納されていてもよい。この場合、ファームウェア管理部１５１は、ステップ１０３において、予備のファームウェアについても、プリンタ２００の型番に対応するものであるか否か判別する。
【００４６】
ファームウェア管理部１５１は、接続されたプリンタ２００を制御可能なファームウェアを有していると判定した場合には（ステップＳ１０３；Ｙｅｓ）、スキャナ装置１００からプリンタ２００を制御することができるため、ファームウェアを更新する処理を終了する。ただし、プリンタ２００を制御可能なファームウェアが、上述した予備のファームウェアであった場合には、予備のファームウェアをスキャナ装置１００にインストールした後に、ファームウェアを更新する処理を終了する。
【００４７】
一方、ファームウェア管理部１５１は、接続されたプリンタ２００を制御可能なファームウェアを有していないと判定した場合には（ステップＳ１０３；Ｎｏ）、スキャナ装置１００からプリンタ２００を制御することができず、処理をステップＳ１０４に移行する。
【００４８】
表示制御部１６０は、ファームウェアの更新をユーザに促すための処理を行う（ステップＳ１０４）。具体的には、表示制御部１６０は、ファームウェアの更新をユーザに促すためのメッセージを含む第１の画面５００を生成し、表示装置（例えば、表示パネル）１０６に表示させる。
【００４９】
図５（Ａ）は、第１の画面５００を表示装置１０６に表示させる場合の画面表示例である。図示するように、第１の画面５００は、ファームウェアの更新をユーザに促すためのメッセージを含むとともに、更新を許可する更新ボタン５１０と、更新を許可しない非更新ボタン５２０と、を有する。ここでのメッセージは、例えば、「ファームウェアの更新が必要です」といった文字列で構成される。
【００５０】
第１の画面５００を表示後、入力受付部１７０は、ユーザからの指示を受け付けて、更新を許可するか否か判別する（ステップＳ１０５）。具体的には、入力受付部１７０は、入力装置１０７を介して、更新ボタン５１０を押す（或いは、タッチする）操作がされた場合には、更新を許可する指示がされたと判定する。一方、非更新ボタン５２０を押す（或いは、タッチする）操作がされた場合には、更新を許可しない指示がされたと判定する。
【００５１】
入力受付部１７０は、更新を許可しない指示がされたと判定した場合には（ステップＳ１０５；Ｎｏ）、ファームウェアを更新する処理を終了する。
【００５２】
一方、入力受付部１７０は、更新を許可する指示がされたと判定した場合には（ステップＳ１０５；Ｙｅｓ）、処理をステップＳ１０６に移行する。
【００５３】
なお、ステップＳ１０５においてユーザの許可を得てからファームウェアの更新を行うことにより、ファームウェアの更新途中に電源が切断されることを防ぐことができる。
【００５４】
ステップＳ１０６に処理が移行すると、ファームウェア管理部１５１は、スキャナ装置１００の型番を取得する（ステップＳ１０６）。具体的には、ファームウェア管理部１５１は、フラッシュメモリ（ＲＯＭ）１０３に予め記憶されている型番を読み出す。
【００５５】
続いて、ファームウェア管理部１５１は、ステップＳ１０１で接続されたプリンタ２００を制御可能なファームウェアに更新する（ステップＳ１０７）。なお、ここでの更新には、プリンタドライバ部１８０の更新が含まれている。
【００５６】
具体的には、ファームウェア管理部１５１は、接続されたプリンタ２００を制御可能なファームウェアをサーバ３００に要求するために、コンピュータネットワーク５０を介して、ステップＳ１０２で取得したプリンタ２００の型番と、ステップＳ１０６で取得したスキャナ装置１００の型番と、をサーバ３００に送信する。このとき、サーバ３００のファームウェア検索部３５１は、受信したプリンタ２００の型番とスキャナ装置１００の型番とに対応しているファームウェアを検索し、検索したファームウェアをスキャナ装置１００に送信する。ここでサーバ３００が行う具体的な処理については後述する。そして、ファームウェア管理部１５１は、ファームウェア検索部３５１から送信されたファームウェアを受信する。ファームウェア管理部１５１は、サーバ３００から受信したファームウェアを、メモリ（例えば、ＲＡＭ１０２）に展開し、スキャナ装置１００にインストールする。
【００５７】
ファームウェアの更新後、表示制御部１６０は、ファームウェアの更新を完了したことをユーザに通知する処理を行う（ステップＳ１０８）。具体的には、表示制御部１６０は、ファームウェアの更新を完了したことをユーザに通知するためのメッセージを表示装置１０６に表示させる。
【００５８】
その後、制御部１５０は、ファームウェアを更新する処理を終了する。なお、必要であれば、ファームウェアをインストールした後に、スキャナ装置１００を再起動するようにしてもよい。
【００５９】
以上のファームウェアを更新する処理を、スキャナ装置１００が行うことにより、スキャナ装置１００にインストールされているファームウェアが、接続されたプリンタ２００に非対応の場合であっても、プリンタ２００に対応しているファームウェアに更新することができる。
【００６０】
その結果、プリンタドライバ部１８０は、プリンタ２００が解釈可能な印刷データを生成できるようになり、当該印刷データに基づく印刷をプリンタ２００にさせることができるようになる。
【００６１】
次に、図６は、上記のファームウェアを更新する処理におけるステップＳ１０７において、サーバ３００がファームウェアを検索する処理を示すフローチャートである。
【００６２】
サーバ３００の送受信部３６０は、スキャナ装置１００からファームウェアを要求されるまで待機する（ステップＳ２０１；Ｎｏ）。具体的には、送受信部３６０は、ネットワークＩＦ３０４が、スキャナ装置１００から送信された型番（プリンタ２００の型番、及び、スキャナ装置１００の型番）を受信するまで待機している。
【００６３】
そして、送受信部３６０は、スキャナ装置１００からファームウェアを要求された場合に（ステップＳ２０１；Ｙｅｓ）、処理をステップＳ２０２に移行する。
【００６４】
そして、ファームウェア検索部３５１は、ネットワークＩＦ３０４が受信した型番（プリンタ２００の型番、及び、スキャナ装置１００の型番）を抽出する（ステップＳ２０２）。具体的には、ファームウェア検索部３５１は、ネットワークＩＦ３０４が受信した型番（プリンタ２００の型番、及び、スキャナ装置１００の型番）を、メモリ（例えば、ＲＡＭ３０２）に記憶する。
【００６５】
続いて、ファームウェア検索部３５１は、受信したプリンタ２００の型番と、受信したスキャナ装置１００の型番と、に対応しているファームウェアを検索する（ステップＳ２０３）。具体的には、ハードディスク（ＲＯＭ）３０３からファームウェアリスト３８０を読み出し、受信したプリンタ２００の型番に対応するプリンタ型番３８３と、受信したスキャナ装置１００の型番に対応するスキャナ型番３８２と、をともに有するレコード３８５を検索する。
【００６６】
ここで、ファームウェア検索部３５１が検索したレコード３８５が、ファームウェアリスト３８０にある場合（ステップＳ２０３；Ｙｅｓ）、当該レコード３８５に対応付けられている実データ（或いは、実データの格納先）３８４で特定されるファームウェアを取得する（ステップＳ２０４）。例えば、実データ３８４が格納先のアドレスを示している場合には、ファームウェア検索部３５１は、当該アドレスで特定されるファームウェアを、メモリ（例えば、ハードディスク３０３）から読み出す。また、実データ３８４が、コンピュータネットワーク５０上のＵＲＬを示している場合には、ファームウェア検索部３５１は、当該ＵＲＬで特定されるファームウェアを、コンピュータネットワーク５０を介して他のサーバ３００から取得する。
【００６７】
なお、ファームウェア検索部３５１が検索したレコード３８５が、複数個、ファームウェアリスト３８０にある場合には、各レコード３８５に対応付けられているファームＩＤ３８１に基づいて１つのレコード３８５を選択するようにしてもよい。例えば、ファームＩＤ３８１が示す日時が最新であるレコード３８５を選択するようにしてもよい。
【００６８】
続いて、送受信部３６０は、ステップＳ２０４で取得したファームウェアを、スキャナ装置１００に送信する（ステップＳ２０５）。具体的には、送受信部３６０は、ネットワークＩＦ３０４を介して、ステップＳ２０４で取得したファームウェアを、スキャナ装置１００に送信する。
【００６９】
一方、ステップＳ２０３においてファームウェア検索部３５１が検索したレコード３８５が、ファームウェアリスト３８０にない場合（ステップＳ２０３；Ｎｏ）、ファームウェア検索部３５１は、適切なファームウェアがないことを、ネットワークＩＦ３０４を介して、スキャナ装置１００に通知する（ステップＳ２０６）。
【００７０】
この通知を受けたスキャナ装置１００は、接続されたプリンタ２００を制御可能なファームウェアがないことをユーザに通知する処理を行う。具体的には、表示制御部１６０は、プリンタ２００を制御可能なファームウェアがないことをユーザに通知するためのメッセージを含む第２の画面６００を生成し、表示装置１０６に表示させる。
【００７１】
図５（Ｂ）は、第２の画面６００を表示装置１０６に表示させる場合の画面表示例である。図示するように、第２の画面６００は、接続されたプリンタ２００を制御可能なファームウェアがないことをユーザに通知するためのメッセージを含む。ここでのメッセージは、例えば、「接続されたプリンタはコピー機として使用できません」といった文字列で構成される。
【００７２】
上記のステップＳ２０５、又は、ステップＳ２０６の処理後、制御部３５０は、ファームウェアを検索する処理を終了する。
【００７３】
以上のファームウェアを検索する処理を、サーバ３００が行うことにより、スキャナ装置１００からの要求に応じて、スキャナ装置１００に接続されたプリンタ２００に対応しているファームウェアを提供することができる。
【００７４】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【００７５】
例えば、上記実施形態では、スキャナ装置１００のプリンタドライバ部１８０が、プリンタ２００で解釈可能な印刷データを生成している。しかし、本発明は、これに限定されず、例えば、スキャナ装置１００にて生成された画像データに基づく印刷データを、プリンタ２００が生成するようにしてもよい。
【００７６】
また、上記実施形態では、スキャナ装置１００は、フラッシュメモリ１０３を備えている。しかし、本発明は、これに限定されない。スキャナ装置１００は、フラッシュメモリ１０３に代替可能な他のメモリ（例えば、ハードディスク、ＵＳＢメモリ、など）を備えていてもよい。
【００７７】
また、上記実施形態では、ＵＳＢホストＩＦ１０５が、ＵＳＢケーブルのような有線ケーブルを介してプリンタ２００の接続を検知している。しかし、本発明は、これに限定されない。例えば、スキャナ装置１００は、無線通信によってプリンタ２００の接続を検知してもよい。この場合、スキャナ装置１００は、プリンタ２００との無線通信を確立させた場合に、プリンタ２００の接続を検知したことにすればよい。また、スキャナ装置１００は、プリンタ２００と、ＬＡＮ等のネットワークを介した通信を確立させた場合に、プリンタ２００の接続を検知したことにしてもよい。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施形態に係る複合システムのハードウェア構成図である。
【図２】ファームウェアリストの概略データ構造の一例を示す図である。
【図３】複合システムの機能構成を説明するためのブロック図である。
【図４】ファームウェアを更新する処理を示すフローチャートである。
【図５】（Ａ）ファームウェアの更新をユーザに促すための画面表示例である。（Ｂ）接続されたプリンタを制御可能なファームウェアがないことをユーザに通知するための画面表示例である。
【図６】ファームウェアを検索する処理を示すフローチャートである。
【符号の説明】
【００７９】
１０・・・複合システム、５０・・・コンピュータネットワーク、１００・・・スキャナ装置、１５０・・・制御部（スキャナ装置）、１５１・・・ファームウェア管理部、１６０・・・表示制御部、１７０・・・入力受付部、１８０・・・プリンタドライバ部、２００・・・プリンタ、２５０・・・印刷機能部、２６０・・・印刷実行部、２７０・・・プリンタ型番送信部、３００・・・サーバ、３５０・・・制御部（サーバ）、３５１・・・ファームウェア検索部、３６０・・・送受信部、３８０・・・ファームウェアリスト、３８１・・・ファームＩＤ、３８２・・・スキャナ型番、３８３・・・プリンタ型番、３８４・・・実データ、５００・・・第１の画面、６００・・・第２の画面。
【図１】
2010050779.tif 000003
【図２】
2010050779.tif 000004
【図３】
2010050779.tif 000005
【図４】
2010050779.tif 000006
【図５】
2010050779.tif 000007
【図６】
2010050779.tif 000008