(57)【要約】【課題】  コンピュータを周辺装置に接続して用いる場合の利便性を向上する。【解決手段】  公共の場所に設置された印刷ターミナル３００は、公衆に提供され、不特定のユーザＰＣ２００に接続される。ユーザＰＣ２００は、自己にインストールされた汎用プリンタドライバ２４０を用いて、印刷ターミナル３００を制御する。ユーザＰＣ２００のハードディスク２００ｂは、汎用プリンタドライバ２４０のデータを記憶している。汎用プリンタドライバ２４０は、ＵＳＢコネクタ２６０から印刷ターミナル３００が切り離されることを検知した場合、自己を、自動的にアンインストールする。アンインストールにより、汎用プリンタドライバ２４０のデータをハードディスク２００ｂから消去し、ハードディスク２００ｂの空き容量を簡便に増大させることができる。【選択図】  図１
2005115440.tif 000002
【特許請求の範囲】
【請求項１】
周辺装置にローカル接続し、該周辺装置を用いるためのソフトウェアがインストールされたコンピュータに、該インストールされたソフトウェアのアンインストールを行わせるためのコンピュータプログラムであって、
前記周辺装置とのローカル接続が切断されたことを検知する機能と、
該検知に応じ、前記アンインストールを行う機能とを前記コンピュータに実現させるためのコンピュータプログラム。
【請求項２】
前記ソフトウェアの一部分として実現された請求項１記載のコンピュータプログラム。
【請求項３】
請求項１記載のコンピュータプログラムであって、
前記アンインストールの実行可否を所定の条件に基づいて切り換える機能を前記コンピュータに実現させるコンピュータプログラム。
【請求項４】
請求項１〜３いずれか記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
周辺装置にローカル接続し、該周辺装置を用いるためのソフトウェアがインストールされたコンピュータが、該インストールされたソフトウェアのアンインストールを行う方法であって、
前記周辺装置とのローカル接続が切断されたことを検知する工程と、
該検知に応じ、前記アンインストールを行う工程とを備える方法。
【請求項６】
コンピュータであって、
周辺装置にローカル接続するための接続ポートと、
該周辺装置を用いるためにインストールされたソフトウェアを記憶する記憶部と、
前記周辺装置とのローカル接続が切断されたことを検知する検知部と、
該検知に応じ、前記インストールされたソフトウェアのアンインストールを行うアンインストール部とを備えるコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置を用いるためのソフトウェアがインストールされたコンピュータに、そのソフトウェアをアンインストールさせる技術に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（以下ＰＣと略称する）のユーザは、印刷装置やＣＤ−ＲＯＭドライブ装置等の周辺装置を、ＰＣにローカル接続して用いている。ユーザは、周辺装置を購入した場合、周辺装置をＰＣに接続するとともに、その周辺装置専用のドライバをＰＣにインストールする。ＰＣは、インストールされたドライバをハードディスクに記憶する。ＰＣは、ＵＳＢポート等に周辺装置が接続された場合には、ハードディスクに記憶されたドライバをメモリ上の領域に展開して用いる。周辺装置が切り離された場合、ドライバが展開されたメモリ上の領域は、他のソフトウェア等を展開するために解放される。ドライバは、アンインストールのユーザ指示があるまで、ハードディスクが保持し続ける。
【０００３】
【特許文献１】特開２００３−１３１８２７公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、近年では、家庭や職場以外の公共の場所、例えば図書館などに周辺装置を設置し、ユーザ所有のコンピュータで利用可能に提供することが望まれている。この場合、周辺装置及びＰＣは、一時的に接続されるに過ぎない。したがって、周辺装置をＰＣから切り離した後には、ＰＣのハードディスクに記憶された、その周辺装置のドライバは無用のものとなる。ところが、無用なドライバでも、ユーザがアンインストールを行わない限り、ハードディスク上の領域を占有し続け、ハードディスクの空き容量の減少させる。また、無用なドライバがインストールされていると、ＰＣの処理効率が低下する。
【０００５】
かかる課題は、上述の場合に限らず、コンピュータに周辺装置を接続して用いる場合に共通する課題である。本発明は、かかる課題に鑑み、コンピュータを周辺装置に接続して用いる場合の利便性を向上することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために、本発明では、次の構成を適用した。
本発明のコンピュータプログラムは、
周辺装置にローカル接続し、該周辺装置を用いるためのソフトウェアがインストールされたコンピュータに、該インストールされたソフトウェアのアンインストールを行わせるためのコンピュータプログラムであって、
前記周辺装置とのローカル接続が切断されたことを検知する機能と、
該検知に応じ、前記アンインストールを行う機能とを前記コンピュータに実現させるためのコンピュータプログラムたることを要旨とする。
【０００７】
このようにすることで、上述のコンピュータは、周辺装置の使用を終了した場合に、その周辺装置を用いるためのソフトウェアを、自動的にアンインストールすることができる。アンインストールにより、コンピュータに記憶されたデータ量を減少させ、追記可能なデータ量を増加させることができる。また、アンインストールにより、コンピュータの処理効率を向上させることができる。
【０００８】
「周辺装置を用いるためのソフトウェア」は、周辺装置のドライバであってもよい。また、例えば、印刷装置に印刷を行わせる画像処理ソフトウェア等、周辺装置に動作指示を行う種々のアプリケーションソフトウェアであってもよい。
【０００９】
なお、コンピュータは、活線挿抜可能な接続ポートにより、周辺装置にローカル接続するものとしてもよい。活線挿抜可能な接続ポートとは、例えば、ＵＳＢポートやＩＥＥＥ１３９４ポートが含まれる。このように活線挿抜可能な接続ポートに接続された周辺装置は、コンピュータや周辺装置の電源を切らなくとも、コンピュータから切り離すことができる。したがって、ユーザは、ローカル接続の切断に応じたアンインストールを、コンピュータや周辺装置の電源を切らなくとも、コンピュータに行わせることができる。
【００１０】
なお、アンインストールは、コンピュータから「ソフトウェア」を完全に取り除く場合に限ることはない。例えば、「ソフトウェア」のデータサイズを圧縮する場合を含む。
【００１１】
本発明のコンピュータプログラムは、
前記ソフトウェアの一機能として実現されていてもよい。
【００１２】
このようにすることで、本発明のコンピュータプログラムを、「周辺装置を用いるためのソフトウェア」のインストール時に、コンピュータに容易にインストールすることができる。
【００１３】
なお、本発明のコンピュータプログラムは、「周辺装置を用いるためのソフトウェア」の一機能として実現されていなくともよい。例えば、コンピュータにインストールされたＯＳの一機能として実現されていてもよい。
【００１４】
本発明のコンピュータプログラムは、
前記アンインストールの実行可否を所定の条件に基づいて切り換える機能を前記コンピュータに実現させるものとしてもよい。
【００１５】
このようにすることで、一定の場合には、アンインストールを抑止させることができる。例えば、ユーザの所定の指示があった場合に、抑止がされるものとしてもよい。また、コンピュータに記憶されたデータ量が所定量以下の場合に抑止がされてもよいし、コンピュータに追記可能なデータ量が所定量以上の場合に抑止がされてもよいし、アンインストールにより解放される記憶領域のサイズが所定サイズより小さい場合に抑止がされてもよい。また、アンインストールされるソフトウェアの種類に応じて抑止が行われてもよい。例えば、クラスドライバなど、複数種類の周辺装置の制御に利用可能なソフトウェアのアンインストールは抑止されるものとしてもよい。なお、実行可否を判断する「所定の条件」は、上述した種々の条件を組み合わせた条件であってもよい。
【００１６】
本発明は、上述のコンピュータプログラムとしての構成の他、コンピュータプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。本発明をコンピュータプログラムを記録した記録媒体等として構成する場合、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【００１７】
本発明における、アンインストール方法は、
周辺装置にローカル接続し、該周辺装置を用いるためのソフトウェアがインストールされたコンピュータが、該インストールされたソフトウェアのアンインストールを行う方法であって、
前記周辺装置とのローカル接続が切断されたことを検知する工程と、
該検知に応じ、前記アンインストールを行う工程とを備えることを要旨とする。
【００１８】
本発明のコンピュータは、
周辺装置にローカル接続するための接続ポートと、
該周辺装置を用いるためにインストールされるソフトウェアを記憶する記憶部と、
前記周辺装置とのローカル接続が切断されたことを検知する検知部と、
該検知に応じ、前記インストールされたソフトウェアのアンインストールを行うアンインストール部とを備えることを要旨とする。
【００１９】
このように、本発明は、コンピュータプログラムとしての構成の他、コンピュータにアンインストールを行わせる方法や、コンピュータの制御方法など、方法の発明として構成することもできるし、アンインストールを行うコンピュータとして構成することもできる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について実施例に基づき次の順序で説明する。
Ａ．印刷システムの概略構成：
Ｂ．機能ブロック構成：
Ｂ１．ユーザＰＣ２００：
Ｂ２．印刷ターミナル３００：
Ｃ．処理：
Ｃ１．自動インストール：
Ｃ２．印刷：
Ｃ２ａ．ユーザＰＣ２００の処理：
Ｃ２ｂ．印刷ターミナル３００の処理：
Ｃ３．自動アンインストール：
Ｄ．効果：
Ｅ．変形例：
【００２１】
Ａ．印刷システムの概略構成：
図１は、本実施例における印刷システム１００の概略構成を示す説明図である。印刷システム１００は、ユーザＰＣ２００と印刷ターミナル３００とプリンタ４００によって構成されている。ユーザＰＣ２００は、いわゆるノート型パソコンであり、Windows（登録商標）系ＯＳがインストールされている。印刷ターミナル３００もパソコンであり、同様にWindows系ＯＳがインストールされている。
【００２２】
印刷ターミナル３００は、プリンタケーブルによってプリンタ４００と接続されている。印刷ターミナル３００は、空港のロビーや図書館といった公共の場に設置されている。ユーザは、このような場所に設置された印刷ターミナル３００に対して、ＵＳＢケーブルによりユーザＰＣ２００をローカル接続することにより、容易に印刷を行うことができる。ユーザＰＣ２００はＵＳＢホストとして動作し、ＵＳＢデバイスたる印刷ターミナル３００の動作を制御する。
【００２３】
印刷ターミナル３００は、ハードウェアとして、ＵＳＢコネクタ（Ｂタイプ）３２０、ＵＳＢデバイスコントローラ３１０、制御部３００ａ、及びパラレルポート３３０を備えている。また、ユーザＰＣ２００は、ハードウェアとして、ＵＳＢコネクタ（Ａタイプ）２６０、ＵＳＢホストコントローラ２５０、ハードディスク２００ｂ、及び制御部２００ａを備えている。
【００２４】
印刷ターミナル３００は、パラレルポート３３０によりプリンタ４００にローカル接続する。なお、パラレルポート３３０に代えて、ＲＳ−２３２ＣポートやＵＳＢポート、あるいはネットワークで接続するものとしてもよい。また、印刷ターミナル３００は、プリンタ４００と一体的に構成されていてもよい。
【００２５】
ユーザＰＣ２００のＵＳＢコネクタ（Ａタイプ）２６０は、ＵＳＢマウスやＵＳＢキーボード、ＵＳＢプリンタなどの種々のＵＳＢデバイスをユーザＰＣ２００に電気的に接続するためのコネクタである。ＵＳＢホストコントローラ２５０は、ＵＳＢデバイスを制御するためのコントローラである。ＵＳＢホストコントローラ２５０は、ＵＳＢコネクタ２６０にＵＳＢデバイスが接続されたことや、接続されたＵＳＢデバイスが切り離されたことを検出することができる。ＵＳＢホストコントローラ２５０は、ＵＳＢコネクタ２６０にＵＳＢデバイスが接続された場合、そのＵＳＢデバイスからコンフィグレーション情報を受信する。コンフィグレーション情報は、接続されたＵＳＢデバイスの種類を特定する。コンフィグレーション情報には、例えば、ＵＳＢデバイスの固有のデバイスＩＤや、製造元を表すベンダＩＤが含まれており、また、ＵＳＢデバイスがＵＳＢ規格に準じたＣＤ−ＲＯＭドライブ装置として動作している旨を表す情報も含まれている。
【００２６】
印刷ターミナル３００のＵＳＢコネクタ（Bタイプ）３２０は、ＵＳＢケーブルを介して、ＵＳＢホストのＵＳＢコネクタ（Ａタイプ）に接続するためのコネクタである。ＵＳＢデバイスコントローラ３１０は、ＵＳＢホストからの制御を受けるためのコントローラである。ＵＳＢデバイスコントローラ３１０とＵＳＢコネクタ（Ｂタイプ）３２０とは、拡張ボード上に実装され、印刷ターミナル３００のＰＣＩスロットを介してＰＣＩバスに接続される（図示せず）。ＵＳＢデバイスコントローラ３１０は、ＵＳＢホストからの要求に応じ、ＵＳＢホストにコンフィグレーション情報を送信する。
【００２７】
ハードディスク２００ｂは、ユーザＰＣ２００にインストールされたソフトウェアの命令コード等のデータなど、種々のデータを記憶する。
【００２８】
ユーザＰＣ２００及び印刷ターミナル３００が有する制御部２００ａ，３００ａは各々、CPU，ROM，RAM等により構成され、それぞれ、ユーザＰＣ２００及び印刷ターミナル３００の他のハードウェアを制御する。図１には、制御部２００ａ，３００ａがソフトウェア的に実現する機能ブロックの構成を併せて示した（破線、及び一点鎖線で図示）。なお、図示する機能ブロックの全部又は一部は、ハードウェア的に構成することも可能である。
【００２９】
印刷ターミナル３００の制御部３００ａは、制御部３００ａが有するROMに記憶されたソフトウェアを読み出して用いることで、各機能ブロックを実現する。ユーザＰＣ２００の制御部２００ａは、ハードディスク２００ｂに記憶されたソフトウェアをメモリ（RAM）に読み出して用いることで、各機能ブロックを実現する。
【００３０】
Ｂ．機能ブロック構成：
機能ブロックとして、印刷ターミナル３００は、ＵＳＢデバイスエミュレータ３４０、プレーヤ３５０、プリンタドライバ３６０、インストーラ記憶部３８０を備えている。また、ユーザＰＣ２００は、印刷アプリケーション２１０とＧＤＩ２２０とスプーラ２３０とＣＤ−ＲＯＭ標準ドライバ２４３と自動実行部２４２と汎用プリンタドライバ２４０とを備えている。後述のように、汎用プリンタドライバ２４０は、自動実行部２４２がユーザＰＣ２００にインストールする。
【００３１】
Ｂ１．ユーザＰＣ２００：
ユーザＰＣ２００において、ＣＤ−ＲＯＭ標準ドライバ２４３及び汎用プリンタドライバ２４０は各々、ＵＳＢコネクタ２６０に接続されたＵＳＢデバイスを用いるためのデバイスドライバである。ＣＤ−ＲＯＭ標準ドライバ２４３は、ＵＳＢマスストレージクラスの仕様に沿って設計された標準のＣＤ−ＲＯＭデバイスに共通して用いることができるクラスドライバである。ＣＤ−ＲＯＭ標準ドライバ２４３は、ユーザＰＣ２００に、工場出荷状態で予めインストールされている。一方、汎用プリンタドライバ２４０は、所定の印刷装置に汎用的に用いることができるプリンタドライバである。汎用プリンタドライバ２４０については、後で詳述する。
【００３２】
ユーザＰＣ２００のＯＳは、ＵＳＢコネクタ２６０にＵＳＢデバイスが接続された場合、そのＵＳＢデバイスの種類を特定するため、コンフィグレーション情報の送信をそのＵＳＢデバイスに要求する。ユーザＰＣ２００のＯＳは、ＣＤ−ＲＯＭ標準ドライバ２４３の制御対象の周辺装置がＵＳＢコネクタ２６０に接続された場合にはＣＤ−ＲＯＭ標準ドライバ２４３を起動し、汎用プリンタドライバ２４０の制御対象の周辺装置がＵＳＢコネクタ２６０に接続された場合には汎用プリンタドライバ２４０を起動する。
【００３３】
自動実行部２４２は、ユーザＰＣ２００にインストールされたWindows系OSが実現する機能ブロックの一つであり、オートラン機能を奏する。具体的には、自動実行部２４２は、ＵＳＢポート２６０にＣＤ−ＲＯＭドライブ装置が接続された場合、そのルートフォルダに記憶された「autorun.inf」というファイル名のオートランファイルを読み出し、このファイルによって指定されたプログラムを実行する。本実施例の自動実行部２４２は、かかるオートラン機能に基づいて汎用プリンタドライバ２４０のインストールを行う。
【００３４】
印刷アプリケーション２１０は、文書作成ソフトウェアや表計算ソフトウェア、あるいは、画像処理ソフトウェアといった印刷機能を備えるソフトウェアである。印刷アプリケーション２１０は、ユーザから印刷指示があるとＥＭＦ（Enhanced Meta File）データを生成する。ＥＭＦデータは、Windows環境における印刷の高速化を図るために利用される中間ファイルであり、一連のＧＤＩ（Graphic Device Interface）コマンドが記録される。このため、ＥＭＦデータは、プリンタ４００に依存しない描画コマンドによって印刷内容が記録されていることになる。印刷アプリケーション２１０は、ＯＳのカーネルを構成するモジュールの一つであるＧＤＩ２２０の描画コマンドを用いて、ＥＭＦデータを生成する。印刷アプリケーション２１０は、こうしてＥＭＦデータを生成すると、スプーラ２３０に送信する。スプーラ２３０は、印刷アプリケーション２１０等によって生成されたＥＭＦデータをバッファリングするためにＯＳに標準的に備えられたモジュールである。
【００３５】
汎用プリンタドライバ２４０は、スプーラ２３０に蓄積されたＥＭＦデータを順次読み出して、ＵＳＢホストコントローラ２５０を介して印刷ターミナル３００に送信する機能を備えている。
【００３６】
また、汎用プリンタドライバ２４０は、必要に応じて印刷ターミナル３００からプリンタ４００の所定の特性を表す特性データを取得する機能も有している。特性データには、例えば、プリンタ４００がサポートする用紙のサイズや解像度、両面印刷機能の有無、カラー印刷機能の有無などの特性が定義されている。印刷アプリケーション２１０は、この特性データを利用して、ＥＭＦデータの生成オプションを設定する機能を有する。このため、プリンタ４００の特性に応じたＥＭＦデータを生成することができる。なお、汎用プリンタドライバ２４０は、種々の特性データを予め保持し、その１つを特定するデータを印刷ターミナル３００から取得するものとしてもよい。
【００３７】
さらに、汎用プリンタドライバ２４０は、ＵＳＢコネクタ２６０からプリンタ４００が切り離されたことを検知した場合に、自己をアンインストールする機能も有する。
【００３８】
Ｂ２．印刷ターミナル３００：
印刷ターミナル３００において、ＵＳＢデバイスエミュレータ３４０は、ＵＳＢデバイスコントローラ３１０を制御するためのデバイスドライバである。
【００３９】
ＵＳＢデバイスエミュレータ３４０は、ＵＳＢデバイスコントローラ３１０を用いて、ユーザＰＣ２００にコンフィグレーション情報を送信する。ＵＳＢデバイスエミュレータ３４０は、印刷ターミナル３００を、ＣＤ−ＲＯＭドライブ装置であるとユーザＰＣ２００に認識させるコンフィグレーション情報と、印刷装置であると認識させるコンフィグレーション情報とを使い分ける。前者は、ユーザＰＣ２００にＣＤ−ＲＯＭ標準ドライバ２４３を起動させるコンフィグレーション情報であり、後者は、ユーザＰＣ２００に汎用プリンタドライバ２４０を起動させるコンフィグレーション情報である。以下では、これらのコンフィグーション情報を各々、第１及び第２のコンフィグレーション情報と略称する。
【００４０】
インストーラ記憶部３８０は、印刷ターミナル３００をユーザＰＣ２００がＣＤ−ＲＯＭドライブ装置であると認識した場合に、ユーザＰＣ２００に読み出されるオートランファイルを記憶している。このオートランファイルは、ユーザＰＣ２００が自動実行すべきファイルとして、インストーラ記憶部３８０に同じく記憶された所定のインストーラを指定する。ユーザＰＣ２００の自動実行部２４２は、このインストーラを用いて、汎用プリンタドライバ２４０をユーザＰＣ２４０にインストールすることができる。具体的には、汎用プリンタドライバ２４０の命令コード等のデータをハードディスク２００ｂの所定領域に記憶する。なお、図１では、ハードディスク２００ｂに記憶されたデータの一例として、汎用プリンタドライバ２４０のインストールによりハードディスク２００ｂに記憶された、汎用プリンタドライバ２４０のデータを示している。汎用プリンタドライバ２４０のデータには、汎用プリンタドライバ２４０自身のアンインストーラの実行ファイルを含む。図１の「uninstall.exe」は、ハードディスク２００ｂに記憶されたアンインストーラを例示したものである。汎用プリンタドライバ２４０は、ハードディスク２００ｂに記憶されたアンインストーラを起動することで、自己をアンインストールすることができる。
【００４１】
ＵＳＢデバイスエミュレータ３４０は、自らをリセットする機能も備える。リセットが行われると、ユーザＰＣ２００は、ＵＳＢコネクタ２６０から印刷ターミナル３００が一旦切り離され、再び接続されたものと認識する。この場合、ユーザＰＣ２００は、コンフィグレーション情報を再び印刷ターミナル３００から取得する。
【００４２】
また、ＵＳＢデバイスエミュレータ３４０は、印刷ターミナル３００を印刷装置であると認識しているユーザＰＣ２００からＥＭＦデータを取得する機能も備える。ＵＳＢデバイスエミュレータ３４０は、取得されたＥＭＦデータをプレーヤ３５０に受け渡す。
【００４３】
プレーヤ３５０は、ＵＳＢデバイスエミュレータ３４０から受け渡されたＥＭＦデータに応じた印刷をプリンタ４００に行わせるアプリケーションである。プレーヤ３５０によって印刷処理が実行されると、プレーヤ３５０は、プリンタドライバ３６０からプリンタ４００のデバイスコンテキストを取得して、ＥＭＦデータに記録されたＧＤＩコマンドにより印刷内容を再生する。すると、プリンタドライバ３６０は、かかる印刷内容に応じてプリンタが解釈可能なＲＡＷデータを作成する。プレーヤ３５０及びプリンタドライバ３６０は、ＥＭＦデータを、プリンタ４００の解釈可能なＲＡＷデータに変換する。
【００４４】
プリンタドライバ３６０は、生成したＲＡＷデータを、パラレルポート３３０を介して送信し、プリンタ４００に印刷を行わせる。印刷ターミナル３００にインストールされるプリンタドライバ３６０には、ユーザＰＣ２００がプリンタ４００に直接接続されたと仮定した場合に、ユーザＰＣ２００にインストールされるべきプリンタドライバを流用することができる。つまり、特殊なプリンタドライバではなく、一般的に流通しているプリンタドライバを利用することができる。
【００４５】
なお、本実施例では、ＵＳＢデバイスエミュレータ３４０とプレーヤ３５０を別々のモジュールとして構成したが、ＵＳＢデバイスエミュレータ３４０に、プレーヤ３５０の機能を持たせることにより、一体的に構成するものとしてもよい。
【００４６】
Ｃ．処理：
図２は、印刷システム１００で印刷が行われる処理のフローチャートである。
Ｃ１．自動インストール：
ステップＳａ１でユーザＰＣ２００は、ＵＳＢケーブルによって印刷ターミナル３００に接続されたことを検出する。ユーザＰＣ２００は、印刷ターミナル３００の接続に応じ、図１左側のフローチャートに示す処理を開始する。ステップＳａ２でユーザＰＣ２００は、印刷ターミナル３００に対してコンフィグレーション情報の送信を要求する。印刷ターミナル３００は、この要求に応じて、図２右側のフローチャートに示した処理を開始する。
【００４７】
ステップＳｂ１で印刷ターミナル３００は、第１のコンフィグレーション情報をユーザＰＣ２００に送信する。これにより、ユーザＰＣ２００は、ＵＳＢコネクタ２６０にＣＤ−ＲＯＭドライブ装置が接続されたものと認識する。このため、ユーザＰＣ２００は、ＣＤ−ＲＯＭ標準ドライバ２４３をメモリにロードする（ステップＳａ３）。
【００４８】
この後、ユーザＰＣ２００は、ＣＤ−ＲＯＭドライブ装置の接続を認識したため、オートランを行う。ユーザＰＣ２００は、まず、印刷ターミナル３００からオートランファイルを取得するとともに、取得されたオートランファイルが指定するインストーラも読み出す（ステップＳａ４）。次に、読み出したインストーラを実行することで、ユーザＰＣ２００は、汎用プリンタドライバ２４０を自らにインストールする（ステップＳａ５）。インストーラは、汎用プリンタドライバ２４０のデータをハードディスク２００ｂに格納させる。
【００４９】
ユーザＰＣ２００が実行するインストーラは、インストールの完了に応じ、インストールが完了した旨を表す完了通知を印刷ターミナル３００に送信する（ステップＳａ６）。ユーザＰＣ２００は、ＣＤ−ＲＯＭメディアのイジェクト指示を表す信号の送信により完了通知を行う。なお、ユーザＰＣ２００は、ドライブに所定のファイルを書き込む通信により完了通知を行ってもよい。なお、ユーザＰＣ２００は、完了通知を行わないものとしてもよい。この場合、印刷ターミナル３００は、インストーラを送信（ステップＳｂ２）し終えた時点で、即座に、ステップＳｂ３のリセット処理を行うものとしてもよい。
【００５０】
印刷ターミナル３００は、完了通知を受信すると、ＵＳＢデバイスエミュレータ３４０をリセットする（ステップＳｂ３）。ユーザＰＣ２００は、印刷ターミナル３００によるリセットを検出（ステップＳａ７）した場合、上記ステップＳａ２の場合と同様に、コンフィギュレーション情報の送信を印刷ターミナル３００に要求する（ステップＳａ８）。印刷ターミナル３００は、この要求に応じて、第２のコンフィグレーション情報を送信する（ステップＳｂ４）。ユーザＰＣ２００は、このコンフィグレーション情報を受信することにより、印刷ターミナル３００を印刷装置として認識し、ハードディスク２００ｂに記憶された、汎用プリンタドライバ２４０のデータを、制御部２００ａのメモリにロードする（ステップＳａ９）。
【００５１】
ステップＳａ１０では、汎用プリンタドライバ２４０が、特性データの送信を印刷ターミナル３００に要求する（ステップＳａ１０）。印刷ターミナル３００は、ユーザＰＣ２００の要求に応じて特性データを送信する（ステップＳｂ５）。なお、特性データは、ステップＳａ５で、インストーラが印刷ターミナル３００から取得してもよい。
【００５２】
こうして、一連の自動インストール処理が終了すると、ユーザＰＣ２００と印刷ターミナル３００は、印刷処理を実行することができる（ステップＳａ１１、Ｓｂ６）。
【００５３】
本実施例でＵＳＢデバイスエミュレータ３４０は、印刷ターミナル３００を、ＣＤ−ＲＯＭドライブ装置としてユーザＰＣ２００に認識させる。しかし、ＣＤ−ＲＯＭドライブ装置と認識させる代わりに、ＣＤ−Ｒ／ＲＷドライブやＤＶＤ−ＲＯＭ／ＲＡＭ／Ｒ／ＲＷドライブとして認識させるものとしてもよい。この他にも、ＰＣにオートランを行わせ得る周辺装置であれば、いずれの種類の周辺装置と認識させてもよい。
【００５４】
また、図２のステップＳａ５でインストーラは、汎用プリンタドライバ２４０がユーザＰＣ２００に既にインストールされているか否かを調べ、既にインストールがされていない場合にのみ、インストールを行うものとしてもよい。
【００５５】
Ｃ２．印刷：
Ｃ２ａ．ユーザＰＣ２００の処理：
図３は、ユーザＰＣ２００における印刷処理のフローチャートである。図２のステップＳａ１１に相当する処理である。
【００５６】
まず、ユーザＰＣ２００のユーザは、印刷アプリケーション２１０による印刷に先立ち、必要に応じて印刷設定を行う（ステップＳ４０）。図中にはかかる印刷設定時にモニタ上に表示される設定ダイアログの一例を示した。この設定ダイアログは、印刷ターミナル３００から取得した特性データに基づき汎用プリンタドライバ２４０が表示する。本実施例では、両面印刷するか否か、カラー／モノクロの指定、用紙サイズの選択が可能であるものとした。
【００５７】
次に、印刷アプリケーション２１０は、例えば、印刷ボタンの押下などの操作により、ユーザから印刷実行の要求を受信すると（ステップＳ４１）、ＧＤＩコマンドによって、印刷内容に相当するＥＭＦデータを生成する（ステップＳ４２）。そして、生成したＥＭＦデータをスプーラ２３０に蓄積する（ステップＳ４３）。
【００５８】
次に、汎用プリンタドライバ２４０は、スプーラ２３０からＥＭＦデータを読み出すと（ステップＳ４４）、読み出したＥＭＦデータを印刷ターミナル３００へ送信する（ステップＳ４５）。以上の処理により、ユーザＰＣ２００における印刷処理は終了する。
【００５９】
Ｃ２ａ．印刷ターミナル３００の処理：
図４は、印刷ターミナル３００における印刷処理のフローチャートである。図２のステップＳｂ６に相当する処理である。
【００６０】
まず、印刷ターミナル３００のＵＳＢデバイスエミュレータ３４０は、ユーザＰＣ２００からＥＭＦデータを受信すると（ステップＳ５０）、このＥＭＦデータをプレーヤ３５０に送る（ステップＳ５１）。
【００６１】
プレーヤ３５０は、ＵＳＢデバイスエミュレータ３４０からＥＭＦデータを入力すると、プリンタドライバ３６０からプリンタ４００のデバイスコンテキストを取得して（ステップＳ５２）、ＥＭＦデータに記録されたＧＤＩコマンドによって印刷内容を再生する（ステップＳ５３）。
【００６２】
プレーヤ３５０によって印刷内容が再生されると、プリンタドライバ３６０は、再生された印刷内容をレンダリングして、プリンタ４００が解釈可能なＲＡＷデータを生成する（ステップＳ５４）。そして、このＲＡＷデータをプリンタ４００に出力する（ステップＳ５５）。以上の処理により、印刷ターミナル３００における印刷処理は終了する。
【００６３】
以上の説明した印刷処理を行う場合、汎用プリンタドライバ２４０は、印刷アプリケーション２１０が生成したＥＭＦデータをそのままの形で印刷ターミナル３００に送信するため、ユーザＰＣ２００の処理能力が低い場合であっても、ＣＰＵの負荷を最小限に抑えることができる。
【００６４】
なお、ユーザＰＣ２００と印刷ターミナル３００とはＵＳＢによって接続するため、ネットワークによって接続する場合におけるＴＣＰ／ＩＰの設定やワークグループの設定など、煩雑な設定操作が不要となる。また、ネットワークによる接続では、印刷データが漏洩する可能性や、ユーザの意図しない場所に設置されたプリンタから出力が行われる可能性があるが、ローカル接続ではそのような可能性が低いため、機密性の高い文書の印刷時などにおいても安全性を確保できる。
【００６５】
ユーザは、ユーザＰＣ２００を印刷ターミナル３００に接続するだけで、汎用プリンタドライバ２４０をユーザＰＣ２００にインストールし、汎用プリンタドライバ２４０を用いた印刷を行うことができる。したがって、上記の印刷ターミナル３００を用いれば、汎用プリンタドライバ２４０がユーザＰＣ２００にインストールされているか否かに関わらず、不特定のユーザＰＣ２００に印刷仲介機能を提供させることができる。
【００６６】
なお、上記の印刷ターミナル３００は、その機能にかかわらず、ユーザＰＣ２００にオートランを行わせることができる。このため、印刷ターミナル３００の提供者は、印刷ターミナル３００を用意するだけで、ユーザＰＣ２００に自動インストールを行わせることができる。
【００６７】
また、上記の印刷ターミナル３００をユーザＰＣ２００に接続した場合には、ＣＤ−ＲＯＭドライブ装置及び印刷装置を接続した場合と異なり、ユーザＰＣ２００が認識する周辺装置の数を、１つしか増加させない。また、ユーザＰＣ２００は、上記の印刷ターミナル３００を、２つのドライバ（汎用プリンタドライバ２４０及びＣＤ−ＲＯＭ標準ドライバ２４３）を用いて制御する。ユーザＰＣ２００は、コンフィグレーション情報に応じて、ドライバの切り替えを行えば足りるため、特別なソフトウェアがなくとも、印刷ターミナル３００が有する機能を簡便に切り替えることができる。
【００６８】
Ｃ３．自動アンインストール：
印刷処理の終了後、ユーザは、ユーザＰＣ２００と印刷ターミナル３００との接続を切断する。印刷ターミナル３００は、印刷処理（ステップＳｂ６）を行った後、ＵＳＢケーブルの切断に応じて処理を終了する（ステップＳｂ７）。一方、ユーザＰＣ２００の汎用プリンタドライバ２４０は、ＵＳＢコネクタ２６０からユーザＰＣ２００が切り離されたことを検出すると（ステップＳａ１２）、自己をアンインストールする（ステップＳａ１３）。
【００６９】
汎用プリンタドライバ２４０は、印刷ターミナル３００がユーザＰＣ２００から切り離されたことを検出すると、プリンタドライバ本来の機能の提供を終了するとともに、汎用プリンタドライバ２４０のアンインストーラを起動する。汎用プリンタドライバ２４０のアンインストーラ（図１では、「uninstall.exe」として図示）は、汎用プリンタドライバ２４０のデータの一部として、ハードディスク２００ｂが記憶している。制御部２００ａは、ハードディスク２００ｂに記憶されたアンインストーラを、制御部２００ａに設けられたRAMに読み出して起動する。アンインストーラは、制御部２００ａのRAM上で稼動することで、汎用プリンタドライバ２４０をアンインストールし、汎用プリンタドライバ２４０のデータを、アンインストーラ自身のデータも含めてハードディスク２００ｂから消去する。
【００７０】
この後、汎用プリンタドライバ２４０のデータが記憶されていたハードディスク２００ｂ上の領域は、他のデータの記憶に用いることができる。ユーザＰＣ２００は、アンインストールの終了後に処理を終了する。
【００７１】
Ｄ．効果：
上記のように自動的にアンインストールを行うことで、プリンタ４００の利用終了時に、自動的に汎用プリンタドライバ２４０をアンインストールすることができる。これにより、ユーザＰＣ２００のハードディスク２００ｂに記憶されたデータ量を少なくすることができる。また、アンインストールにより、ユーザＰＣ２００の処理効率を向上させることができる。
【００７２】
なお、図２のステップＳａ１３でユーザＰＣ２００は、所定の実行条件を満たす場合にのみアンインストールを実行するものとしてもよい。例えば、ユーザＰＣ２００は、ハードディスク２００ｂの空き容量を検出し、空き容量が所定量より多い場合にはアンインストールを行わないものとしてもよい。空き容量としては、例えば、１Ｇバイト程度とすることができる。なお、アンインストールの実行条件は、アンインストールによる空き容量の増加量に応じた条件であってもよい。
【００７３】
また、図２のステップＳａ１３では、汎用プリンタドライバ２４０のデータをハードディスク２００ｂから完全に取り除く必要はない。例えば、ハードディスク２００ｂに記憶された、汎用プリンタドライバ２４０のデータを圧縮するだけであってもよい。
【００７４】
また、実施例では、汎用プリンタドライバ２４０のアンインストールを、汎用プリンタドライバ２４０自身が行うものとしたが、かかる場合に限定されることはない。例えば、ユーザＰＣ２００にインストールされたＯＳが、汎用プリンタドライバ２４０をアンインストールしてもよい。また、アンインストーラは、汎用プリンタドライバ２４０と別に、ユーザＰＣ２００にインストールされたものであってもよい。
【００７５】
実施例では、汎用プリンタドライバ２４０はユーザＰＣ２００に自動インストールされるものとした（図２のステップＳａ２〜Ｓａ７，Ｓｂ１〜Ｓｂ３）が、かかる場合に限定されることはない。例えば、ユーザＰＣ２００は、工場出荷状態で予め汎用プリンタドライバ２４０がインストールされていてもよい。
【００７６】
Ｅ．変形例：
以上、本発明の実施例について説明したが、本発明はこのような実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば、以下のような変形が可能である。
【００７７】
図５は、変形例としての印刷システム５００の概略構成を示す説明図である。上記実施例では、印刷ターミナル３００とプリンタ４００とは、プリンタケーブルによって接続されているものとした。これに対し、本変形例では、これらをネットワークによって接続し、更に、印刷ターミナル３００の機能を分割して新たに変換サーバ６００を設けるものとした。なお、図５に示す各装置のブロック図は簡略化して表している。
【００７８】
本変形例にかかる印刷ターミナル３００は、ＵＳＢデバイスエミュレータ３４０とＬＡＮポート３７０を備える。印刷ターミナル３００は、ユーザＰＣ２００からＵＳＢデバイスエミュレータ３４０によってＥＭＦデータを受信すると、受信したＥＭＦデータをＬＡＮポート３７０経由で変換サーバ６００へ転送する。
【００７９】
変換サーバ６００は、ＬＡＮポート６１０とプレーヤ３５０とプリンタドライバ３６０を備える。変換サーバ６００は、印刷ターミナル３００からＬＡＮポート６１０によってＥＭＦデータを受信すると、プレーヤ３５０とプリンタドライバ３６０の働きによってＥＭＦデータをＲＡＷデータに変換する。変換したＲＡＷデータは、ネットワーク経由でプリンタ４００に送信する。
【００８０】
変換サーバ６００は、印刷ターミナル３００とプリンタ４００のＩＰアドレスを対応付けるためのアドレステーブル６２０を備えている。図では、ＩＰアドレスを用いたアドレステーブルを示したが、ＭＡＣアドレスなどを用いるものとしてもよい。このアドレステーブル６２０には、ユーザの目の前に設置された印刷ターミナル３００とプリンタ４００が対応づけられているものとする。ユーザの意図しない場所に設置されたプリンタから印刷内容が出力されることを避けるためである。印刷ターミナル３００は、このアドレステーブル６２０を参照することにより、例えば、ネットワーク上に印刷ターミナル３００やプリンタ４００が複数接続されている場合でも、予め設定された特定のプリンタ４００から印刷を行うことができる。そのため、ユーザは、出力先プリンタの指定等を行うことなく容易に印刷を行うことが可能となる。
【００８１】
上記変形例においてプリンタ４００は、図中の一点鎖線で示すように、印刷ターミナル３００にプリンタケーブル等によってローカル接続されるものとしてもよいし、印刷ターミナル３００と一体的に構成されるものとしてもよい。このような構成では、変換サーバ６００は、生成したＲＡＷデータを印刷ターミナル３００に返信する（図中の破線参照）。印刷ターミナル３００は、こうして返信されたＲＡＷデータをプリンタケーブル経由でプリンタ４００に出力する。
【００８２】
以上で説明した変形例によれば、印刷ターミナル３００が持つべき機能をネットワーク上に接続された変換サーバ６００に分散させることにより、各装置の処理にかかる負荷を低減させることができる。
【図面の簡単な説明】
【００８３】
【図１】印刷システムの概略構成を示す説明図である。
【図２】印刷システム１００で印刷が行われる処理のフローチャートである。
【図３】ユーザＰＣ２００における印刷処理のフローチャートである。
【図４】印刷ターミナル３００における印刷処理のフローチャートである。
【図５】変形例としての印刷システムの概略構成を示す説明図である。
【符号の説明】
【００８４】
１００，５００...印刷システム
２００...ユーザＰＣ
２５０...ＵＳＢホストコントローラ
２６０...ＵＳＢコネクタ（Ａタイプ）
２００ａ...制御部
２００ｂ...ハードディスク
２１０...アプリケーション
２２０...ＧＤＩ
２３０...スプーラ
２４０...汎用プリンタドライバ
２４３...CD-ROM標準プリンタドライバ
３００...印刷ターミナル
３１０...ＵＳＢデバイスコントローラ
３２０...ＵＳＢコネクタ（Ｂタイプ）
３３０...パラレルポート
３００ａ...制御部
３４０...ＵＳＢデバイスエミュレータ
３５０...プレーヤ
３６０...プリンタドライバ
３８０...インストーラ記憶部
４００...プリンタ
３７０，６１０...ＬＡＮポート
６００...変換サーバ
【図１】
2005115440.tif 000003
【図２】
2005115440.tif 000004
【図３】
2005115440.tif 000005
【図４】
2005115440.tif 000006
【図５】
2005115440.tif 000007