(57)【要約】【課題】主装置を動作させるＯＳ応じて動作し、そのＯＳにとって必要なデバイスドライバを自動的にインストールする周辺装置を提供する。【解決手段】プリンタ１のＲＯＭ１１に、複数の動作モードに対応したファームウェアおよび自らのデバイスドライバを格納する。ＣＰＵ１０は、パソコン２のＯＳがサポートするデバイスクラスを検出すると、パソコン２のＯＳに応じた動作モードを選択してプリンタ１の各部の動作を制御しつつ、プリンタ１のデバイスドライバをパソコン２にインストールする。【選択図】図１
2006024155.tif 000002
【特許請求の範囲】
【請求項１】
主装置との間で通信を行う通信手段と、
前記通信手段を介して入力される信号を解析し、前記主装置のＯＳがサポートするデバイスクラスを解析する解析手段と、
前記解析手段の解析結果に基づいて、前記主装置のＯＳがサポートするデバイスクラスに対応した動作モードで本周辺装置を動作させる動作モード選択手段と、
本周辺装置に係るデバイスドライバを記録する記録手段と、
前記解析手段の解析結果に基づいて、前記主装置のＯＳに必要なデバイスドライバを前記記録手段から選択的に読み出し前記主装置にインストールするインストール手段と、
を備えたことを特徴とする周辺装置。
【請求項２】
前記動作モード選択手段は、動作モード毎に互いに異なったデバイスクラスが対応づけられた複数の動作モードに係る複数のプログラムを記録するプログラム記録部、および前記解析手段の解析結果に基づいて前記複数のプログラムを選択的に実行するプログラム実行部を備えたことを特徴とする請求項１に記載の周辺装置。
【請求項３】
前記インストール手段は、前記解析手段の解析結果に基づいて前記主装置のＯＳがサポートしないデバイスクラスに係るデバイスドライバを前記記録手段から選択的に読み出し前記主装置にインストールすることを特徴とする請求項１または２に記載の周辺装置。
【請求項４】
前記通信手段は、ＵＳＢインタフェース部を備え、
前記記録手段は、少なくともＵＳＢマスストレージクラスのデバイスドライバおよび本周辺装置の固有のデバイスドライバを記録しており、
前記プログラム記録部は、ＵＳＢヒューマンインタフェースデバイスクラスのデバイスとして本周辺装置を動作させつつ、前記ＵＳＢマスストレージクラスのデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、
ＵＳＢマスストレージクラスのデバイスとして本周辺装置を動作させつつ、本周辺装置の固有のデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、を記録することを特徴とする請求項２または３に記載の周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、主装置に接続される周辺装置に関し、特に、主装置にデバイスドライバを自動的にインストールする機能を備えた周辺装置に関する。
【背景技術】
【０００２】
デバイスドライバは、周辺装置がどのような製品でどのように制御すべきかをコンピュータ（主装置）に伝えるソフトウェアであり、コンピュータに周辺装置を接続する際に不可欠である。このため、周辺装置の使用にあたって、周辺装置のデバイスドライバをこの周辺装置を接続するコンピュータにインストールする必要がある。
【０００３】
ところが、デバイスドライバのインストールはコンピュータの操作に不慣れな者にとって煩わしい作業となる。また、一般的にデバイスドライバはフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に格納されており、デバイスドライバを記録した記録媒体の保管にユーザが気をつかわなければならない。さらに、デバイスドライバを格納した記録媒体の記録内容を読み取るためのドライブがコンピュータ側に設けられていなければデバイスドライバのインストールをすることができないという不都合もある。
【０００４】
そこで、従来技術の中には、自らのデバイスドライバを記録するメモリを有し、コンピュータに接続されると自動的にメモリに記録されたデバイスドライバをコンピュータにインストールすることが可能なＵＳＢ接続機器が存在する（例えば、特許文献１参照）。このＵＳＢ接続機器によれば、デバイスドライバを格納する記録媒体を用いて必要なデバイスドライバをコンピュータにインストールする作業が不要になり、ユーザの作業負担を軽減できる、とされている。
【特許文献１】特開２００３−１１４８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に係る発明では、コンピュータ側に搭載されるオペレーティングシステム（ＯＳ）の機能が全く考慮されていない。近年、次々と新たなＯＳが登場しているため、ユーザのコンピュータに搭載されるＯＳは古いものから新しいものまで様々である。特許文献１の発明は、比較的新しいＯＳを対象にしたものであり、古いＯＳにおいては特許文献１の発明者が意図したとおりにＯＳが動作しない虞がある。
【０００６】
この発明の目的は、主装置を動作させるＯＳ応じて動作し、そのＯＳにとって必要なデバイスドライバを自動的にインストールする周辺装置を提供することである。
【課題を解決するための手段】
【０００７】
この発明は以下の構成を備えている。
【０００８】
（１）主装置との間で通信を行う通信手段と、
前記通信手段を介して入力される信号を解析し、前記主装置のＯＳがサポートするデバイスクラスを解析する解析手段と、
前記解析手段の解析結果に基づいて、前記主装置のＯＳがサポートするデバイスクラスに対応した動作モードで本周辺装置を動作させる動作モード選択手段と、
本周辺装置に係るデバイスドライバを記録する記録手段と、
前記解析手段の解析結果に基づいて、前記主装置のＯＳに必要なデバイスドライバを前記記録手段から選択的に読み出し前記主装置にインストールするインストール手段と、
を備えたことを特徴とする。
【０００９】
この発明に係る周辺装置は、通信手段、解析手段、動作モード選択手段、記録手段、およびインストール手段を備えている。本周辺装置に係るデバイスドライバは記録手段に記録される。ここで、本周辺装置に係るデバイスドライバとは、本周辺装置の動作モード毎に異なる複数種類のデバイスドライバを意味する。解析手段は、通信手段を介して入力される主装置からの信号を検出し、検出した信号を解析して主装置のＯＳがサポートするデバイスクラスを解析する。解析手段の解析手法の例として、サポートするデバイスクラスに応じてＯＳが異なったコマンドを出力することを利用し、ＯＳから出力されるコマンドを解析してそのＯＳがサポートするデバイスクラスを特定する手法が挙げられる。
【００１０】
解析手段の解析結果は、動作モード選択手段およびインストール手段にて活用される。動作モード選択手段は主装置のＯＳがサポートするデバイスクラスに対応する周辺装置の動作モードを選択する。インストール手段は、主装置のＯＳがサポートしないデバイスクラスに係るデバイスドライバを選択し、記録手段から読み出して主装置にインストールする。
【００１１】
なお、「ＯＳがサポートするデバイスクラス」とは、ＯＳが標準状態でデバイス認識やデバイス制御をすることができるデバイスクラスをいう。例えば、ＯＳがあるデバイスクラスに係る標準デバイスドライバを有している場合、そのＯＳはそのデバイスクラスをサポートしていると考えることができる。デバイスクラスの代表例として、コミュニケーションクラス、パワーデバイスクラス、オーディオデバイスクラス、マスストレージクラス、プリンタクラス、モニタクラス、ヒューマンインタフェースデバイス（ＨＩＤ）クラスが挙げられる。
【００１２】
（２）前記動作モード選択手段は、動作モード毎に互いに異なったデバイスクラスが対応づけられた複数の動作モードに係る複数のプログラムを記録するプログラム記録部、および前記解析手段の解析結果に基づいて前記複数のプログラムを選択的に実行するプログラム実行部を備えたことを特徴とする。
【００１３】
この構成においては、本周辺装置の動作モードを切り換える動作モード選択手段が、プログラム記録部およびプログラム実行部を備えている。プログラム記録部に記録されるプログラムの例として、複数の動作モードで本周辺装置を動作させる複数のファームウェアが挙げられる。プログラム実行部が実行するプログラムによって本周辺装置の動作モードが切り換えられる。動作モードの切り換えがされると、主装置が認識する本周辺装置のデバイスクラスも切り換えられる。
【００１４】
（３）前記インストール手段は、前記解析手段の解析結果に基づいて前記主装置のＯＳがサポートしないデバイスクラスに係るデバイスドライバを前記記録手段から選択的に読み出すことを特徴とする。
【００１５】
この構成においては、インストール手段は、解析手段の解析結果に基づいてどのデバイスクラスのデバイスドライバを主装置にインストールすれば良いかを決定し、決定したデバイスドライバを主装置にインストールする。
【００１６】
（４）前記通信手段は、ＵＳＢインタフェース部を備え、
前記記録手段は、少なくともＵＳＢマスストレージクラスのデバイスドライバおよび本周辺装置の固有のデバイスドライバを記録しており、
前記プログラム記録部は、ＵＳＢヒューマンインタフェースデバイスクラスのデバイスとして本周辺装置を動作させつつ、前記ＵＳＢマスストレージクラスのデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、
ＵＳＢマスストレージクラスのデバイスとして本周辺装置を動作させつつ、本周辺装置の固有のデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、を記録することを特徴とする。
【００１７】
この構成においては、本周辺装置が、ＵＳＢヒューマンインタフェースデバイスとして動作する動作モード、およびＵＳＢマスストレージデバイスとして動作する動作モード、および本周辺装置固有の機能を発揮するいわゆる通常動作モードを含む複数の動作モードを有している。これらの動作モードは、主装置のＯＳがサポートするデバイスクラスによって随時切り換えられる。
【発明の効果】
【００１８】
（１）請求項１の構成によれば、デバイスドライバを格納した記録媒体を失くすという不都合がない。また、主装置に搭載されたＯＳに応じて周辺装置を動作させ、そのＯＳにとって必要なデバイスドライバを自動的にインストールできる。
【００１９】
（２）請求項２の構成によれば、プログラム記憶部に記録されたプログラムを随時選択的に読み込むことで、主装置に搭載されたＯＳの機能に応じて周辺装置の動作モードを切り換えることができる。
【００２０】
（３）請求項３の構成によれば、主装置のＯＳがサポートしないデバイスクラスのデバイスドライバを主装置に自動的にインストールすることができる。
【００２１】
（４）請求項４の構成によれば、主装置のＯＳが古いバージョンであっても、ＵＳＢデバイスに係るデバイスドライバの自動インストールを行い易くなる。
【発明を実施するための最良の形態】
【００２２】
以下、図１〜５を用いて本発明の周辺装置の第１の実施形態であるプリンタを説明する。
【００２３】
プリンタ１は、ＵＳＢケーブル３を介してパソコン２に接続される。図１に示すように、プリンタ１は、マスクＲＯＭ１１、ＵＳＢインタフェース部１２、プリント部１３、ＲＡＭ１４、およびＣＰＵ１０を備える。マスクＲＯＭ１１、ＵＳＢインタフェース部１２、プリント部１３、ＲＡＭ１４、およびＣＰＵ１０は、それぞれがメインバス９に接続される。マスクＲＯＭ１１は、通常動作モード用ファームウェア４、マスストレージモード用ファームウェア５、ＨＩＤモード用ファームウェア６、デバイスドライバ７、およびユーティリティソフトウェア８を格納する。これらのソフトウェアについては、後述する。
【００２４】
ＵＳＢインタフェース部１２は、プリンタ１とパソコン２との間の通信を行う。プリント部１３は、ＵＳＢインタフェース部１２を介してパソコン２から提供される画像データに基づいて、用紙に対してインクジェット方式の印刷を行う。ＲＡＭ１４は、一時的にデータを保持する揮発性のメモリである。ＣＰＵ１０は、プリンタ１の各部を統括的に制御する。ＣＰＵ１０がＲＯＭ１１内のいずれのプログラムを読み込むかを選択することにより、プリンタ１の動作モードが切り換えられる。ここでは、ＣＰＵ１０が本発明の解析手段、インストール手段、およびプログラム実行部を構成し、ＵＳＢインタフェース部１２が本発明の通信手段を構成し、マスクＲＯＭ１１が本発明のプログラム記録部を構成し、ＣＰＵ１０およびマスクＲＯＭ１１が本発明の動作モード選択手段を構成する。
【００２５】
パソコン２は、入力装置、出力装置、記憶装置、制御装置、および演算装置など公知の装置によって構成される。パソコン２には、公知のＯＳおよびアプリケーションソフトがインストールされる。本実施形態では、パソコン２にはＯＳとしてマイクロソフトウィンドウズ（登録商標）９８がインストールされる。
【００２６】
次に、図２を用いて、上述の通常動作モード用ファームウェア４、マスストレージモード用ファームウェア５、ＨＩＤモード用ファームウェア６、デバイスドライバ７、ユーティリティソフトウェア８を説明する。
【００２７】
通常動作モード用ファームウェア４は、プリンタ１がプリンタとしての本来の機能を発揮するための動作手順を示したプログラムで構成される。通常動作モード用ファームウェア４には、入力される画像データに基づいてプリント部１３の各部を制御し、インクジェット方式の印刷を行うプリントプログラム４１が含まれる。通常動作モード用ファームウェアに基づいて動作するプリンタ１がパソコン２に接続されたときには、パソコン２のＯＳはプリンタ１をＵＳＢプリントクラスデバイスとして認識する。
【００２８】
マスストレージモード用ファームウェア５は、エミュレートプログラム５２、設定切り換えプログラム５３、プリンタ用インストーラ５４、Ａｕｔｏｒｕｎ．ｉｎｆ５１を有している。エミュレートプログラム５２、プリンタ１がＣＤ−ＲＯＭドライブであるとしてパソコン２のＯＳに認識させるためのＣＰＵ１０の動作手順を示したプログラムである。設定切り換えプログラム５３は、オートランアプリケーション領域をパソコン２のＯＳにリードさせるためのＣＰＵ１０の動作手順を示したプログラムである。具体的には、ＣＤ−ＲＯＭドライブにメディアが挿入されたり、ＣＤ−ＲＯＭドライブからメディアが取り出されたときと同様の信号をＣＰＵ１０に生成させ、その信号をパソコン２に出力するためのプログラムである。プリンタ用インストーラ５４は、ＣＰＵ１０を用いてプリンタ１の動作に必要なプリンタ用デバイスドライバ７１およびフィルタドライバ７２をパソコン２にインストールするためのプログラムである。Ａｕｔｏｒｕｎ．ｉｎｆ５１は、エミュレートプログラム５２の作用によってパソコン２がプリンタ１をＣＤ−ＲＯＭとして認識したときに、プリンタ用インストーラ５４をパソコン２に自動実行させるための情報を有している。ここでは、Ａｕｔｏｒｕｎ．ｉｎｆ５１内に、プリンタ用インストーラ５４を特定するための情報が記載されている。
【００２９】
ＨＩＤモード用ファームウェア６は、フィルタドライバ用インストーラ６１およびマスストレージクラスデバイスドライバ用インストーラ６２を含んでいる。フィルタドライバ用インストーラ６１は、パソコン２のＯＳのデバッガを起動させるプログラム、フィルタドライバファイル作成プログラム、およびフィルタドライバファイルを実行させるプログラムを含んでいる。
【００３０】
マスストレージクラスデバイスドライバ用インストーラ６２は、マスストレージクラスデバイスドライバファイルを作成するプログラム、およびマスストレージクラスデバイスドライバのインストールを実行するプログラムを含んでいる。
【００３１】
デバイスドライバ７には、プリンタ用デバイスドライバ７１、フィルタドライバ７２、およびマスストレージクラスデバイスドライバ７３が含まれる。プリンタ用デバイスドライバ７１は、プリンタ１固有のデバイスドライバである。フィルタドライバ７２は、ＨＩＤ動作モードにおけるプリンタ１に高速データ転送機能を発揮させるためのドライバである。また、フィルタドライバ７２は、プリンタ１を通常動作モードに切り換えるように要求するコマンドをパソコン２に出力させるプログラムを含んでいる。マスストレージクラスデバイスドライバ７３は、マイクロソフトウィンドウズ（登録商標）９８、９８ＳＥで、ＵＳＢマスストレージクラスのデバイスをサポートするためのプログラムを含んでいる。ユーティリティソフトウェア８には、アプリケーションソフトとしてのフォトアルバム用プログラム８１が含まれる。
【００３２】
ここで、図３〜図５を用いて、プリンタ１のデバイスドライバのインストール時におけるＣＰＵ１０の動作手順を説明する。
【００３３】
図３に示すように、プリンタ１の電源がオンになると、ＣＰＵ１０はＨＩＤモード用ファームウェア６を読み込み、プリンタ１をＨＩＤ動作モードで動作させる（Ｓ１）。ＨＩＤ動作モードとは、プリンタ１をＨＩＤクラスに準拠したデバイスとしてＯＳに認識させるための動作モードである。特に、本実施形態でＨＩＤ動作モードとは、ＵＳＢキーボードとして動作するキーボード動作モードをいう。
【００３４】
ＨＩＤクラスに準拠したデバイスの例として、ＵＳＢキーボードやＵＳＢマウスなどの基本的な周辺装置が挙げられる。このような基本的な周辺装置はＯＳに初めから入っている標準ドライバによってサポートされていることが多いため、本実施形態ではプリンタ１をＨＩＤ動作モードで起動させている。マイクロソフトウィンドウズ（登録商標）では、ウィンドウズ（登録商標）９８以降のバージョンのものは、ＵＳＢキーボードやＵＳＢマウスのデバイスドライバを有しておりプラグアンドプレイに対応している。
【００３５】
続いて、ＣＰＵ１０は、ＵＳＢの初期化が完了するまで待機する（Ｓ２）。ＵＳＢ初期化とは、ＵＳＢバスのリセットやコンフィグレーションを行いパソコン２に接続されたＨＩＤ動作モードのプリンタ１を使用可能な状態にすることをいう。ＵＳＢの初期化が完了すると、ＣＰＵ１０は、プリンタ１に固有のデバイスドライバが既にパソコン２にインストールされているか否かを判断する（Ｓ３）。Ｓ３の判断ステップは、プリンタ用デバイスドライバ７１のインストールの際にパソコン２にインストールされるフィルタドライバ７２が、パソコン２を介してプリンタ１に動作モード切換要求を出力するか否かを検出するステップである。ＣＰＵ１０は、通常動作モードに切り換える旨の要求をパソコン２側からされた場合には、既にプリンタ１の動作に必要なプリンタ用デバイスドライバ７１がパソコン２にインストールされているものとみなしている。
【００３６】
Ｓ３の判断ステップにおいて、既にプリンタ１の動作に必要なデバイスドライバがパソコン２にインストールされている場合には、ＣＰＵ１０はプリンタ１とパソコン２との間の接続を電気的に切断する（Ｓ４）。続いて、ＣＰＵ１０はプリンタ１をＨＩＤ動作モードから通常動作モードに切り換える（Ｓ５）。Ｓ５のステップにおいて、ＣＰＵ１０は、通常動作モード用ファームウェア４を読み込む。通常動作モードとは、プリンタ１がプリンタとして振る舞い本来の機能を発揮するモードである。続いて、ＣＰＵ１０はプリンタ１とパソコン２との間を再度接続する（Ｓ６）。Ｓ６のステップは、プリンタ用の動作モードの変化をパソコン２に認識させることを目的としている。動作モード毎にパソコン２に認識させるべきデバイスクラスが異なるため、動作モードが変更されるたびにＣＰＵ１０は接続のやり直しを行う。パソコン２にはプリンタ１を動作させるためのプリンタ用デバイスドライバ７１がインストールされているため、パソコン２側でプリンタ１を認識すると、プラグアンドプレイによりプリンタ１がただちに動作可能になる。
【００３７】
Ｓ３の判断ステップにおいて、プリンタ１の動作に必要なデバイスドライバがパソコン２にインストールされていない場合には、図４に示すＳ１１の判断ステップに移行する。Ｓ１１の判断ステップでは、パソコン２のＯＳがマスストレージクラスのデバイスをサポートしているか否かをＣＰＵ１０が判断する。ここでは、パソコン２から固有パラメータのＵＳＢコマンドが出力されるか否かをＣＰＵ１０が検出する。
【００３８】
Ｓ１１の判断ステップを詳しく説明する。プリンタ１がＨＩＤ動作モードにより動作開始する際、初期シーケンスの一連の手順の中で、「Ｓｅｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ」や「Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ」といったコマンドがパソコン２からプリンタ１に発行される。このとき、「Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ（Ｃｏｎｆｉｇｒａｔｉｏｎ
Ｔｙｐｅ）」のｗＬｅｎｇｔｈ（転送長）がウィンドウズ（登録商標）９８およびウィンドウズ（登録商標）９８ＳＥと、ウィンドウズ（登録商標）２０００、ウィンドウズ（登録商標）ＭＥ、およびウィンドウズ（登録商標）ＸＰと、で相違する。Ｓ１１の判断ステップでは、ＣＰＵ１０はパソコン２が発行した「Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ（Ｃｏｎｆｉｇｒａｔｉｏｎ  Ｔｙｐｅ）」のｗＬｅｎｇｔｈ（転送長）を解析して、パソコン２のＯＳがウィンドウズ（登録商標）９８，９８ＳＥ、または、ウィンドウズ（登録商標）２０００，ＭＥ，ＸＰのいずれであるのかを判断している。本実施形態では、ｗＬｅｎｇｔｈ（転送長）が３ｆ１ｈ（１００９）で指定された「Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ（Ｃｏｎｆｉｇｒａｔｉｏｎ  Ｔｙｐｅ）」が少なくとも１回パソコン２から発行された場合には、パソコン２のＯＳがマスストレージクラスのデバイスをサポートしていないＯＳ（ウィンドウズ（登録商標）９８，９８ＳＥ）であると判断する。これに対して、ｗＬｅｎｇｔｈ（転送長）が３ｆ１ｈ（１００９）で指定された「Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ（Ｃｏｎｆｉｇｒａｔｉｏｎ  Ｔｙｐｅ）」が１度もパソコン２から発行されない場合には、パソコン２のＯＳがマスストレージクラスのデバイスをサポートするＯＳ（ウィンドウズ（登録商標）２０００，ＭＥ，ＸＰ）であると判断する。
【００３９】
Ｓ１１の判断ステップにおいて、パソコン２のＯＳがＵＳＢマスストレージクラスのデバイスをサポートしている場合、ＣＰＵ１０はプリンタ１とパソコン２との間の接続を電気的に切断する（Ｓ１２）。続いて、ＣＰＵ１０は、マスストレージモード用ファームウェア５を読み込み、プリンタ１をＨＩＤ動作モードからマスストレージクラス動作モードに切り換える（Ｓ１３）。マスストレージ動作モードとは、プリンタ１をマスストレージクラスに準拠したデバイスとしてＯＳに認識させるための動作モードである。マスストレージクラス動作モードでは、プリンタ１がＣＤ−ＲＯＭドライブであるとしてパソコン２に認識させる。続いて、ＣＰＵ１０はプリンタ１とパソコン２との間を再度接続する（Ｓ１４）。
【００４０】
パソコン側ではＵＳＢマスストレージクラスに準拠したデバイスを動作させるための標準デバイスドライバを有しているため、Ｓ１４の接続ステップが実行されると、プリンタ１を標準デバイスドライバを用いて動作させるためのコンフィグレーションが実行される。コンフィグレーションの実行中において、ＣＰＵ１０は、オートランアプリケーション領域へパソコン２側からのアクセスが有ったか否かを検出する（Ｓ１５）。ここで、オートランアプリケーション領域とは、Ａｕｔｏｒｕｎ．ｉｎｆ５１に記述されているプリンタ用インストーラ５４が格納された領域をいう。
【００４１】
Ｓ１５の検出ステップにおいて、オートランアプリケーション領域へパソコン２側からのアクセスがあった場合には、ＣＰＵ１０はＯＳのオートラン機能によりプリンタ用インストーラ５４の実行が開始されたものと判断し、プリンタ用デバイスドライバ７１のインストールが完了するまで待機する（Ｓ１６）。この間、パソコン２側では、プリンタ用デバイスドライバ７１、フィルタドライバ７２、およびフォトアルバム用プログラム８１のインストール処理が実行される。
【００４２】
Ｓ１６のステップにおいて、インストールの完了をＣＰＵ１０が検出すると、図３におけるＳ４のステップに移行する。その後、上述したように、ＣＰＵ１０はプリンタ１とパソコン２との間の接続を電気的に切断し（Ｓ４）、プリンタ１をＨＩＤ動作モードから通常動作モードに切り換え（Ｓ５）、プリンタ１とパソコン２との間を再度接続する（Ｓ６）。Ｓ１５およびＳ１６のステップにおいて、プリンタ１を動作させるためのデバイスドライバがパソコン２にインストールされているため、パソコン２側でプリンタ１との接続を認識すると、プリンタ１が動作可能になる。
【００４３】
Ｓ１１の判断ステップにおいて、パソコン２のＯＳがＵＳＢマスストレージクラスのデバイスをサポートをしていない場合、図５におけるＳ２１のステップに移行する。Ｓ２１のステップでは、フィルタドライバ用インストーラ６１に基づいてＣＰＵ１０は、パソコン２のＯＳのデバッガ（Ｄｅｂｕｇプログラム）を起動させ、フィルタドライバ７２を構成するバイナリコードを順次パソコン２側に出力する。このとき、ＯＳのデバッガを起動させるためのキー操作や、フィルタドライバ７２を構成するバイナリコードを入力するためのキー操作がされた場合にキーボードが発する信号と同一の信号がプリンタ１からパソコン２に供給される。デバッガは、プリンタ１から供給されるコードを作業エリアに１バイトずつ保存する。さらに、Ｓ２１のステップではＣＰＵ１０は、フィルタドライバ７２を構成するすべてのバイナリコードの出力が完了すると、出力したバイナリコードをフィルタドライバ７２のファイルとしてパソコン２に保存させる。この処理によってフィルタドライバ７２のコピーがパソコン２の記憶装置に作成される。続いて、ＣＰＵ１０は、保存したフィルタドライバ７２のファイルのインストール処理をパソコン２に実行させる。
【００４４】
続いて、ＣＰＵ１０はフィルタドライバのインストールが完了するまで待機する（Ｓ２２）。続いて、ＣＰＵ１０は、キーボードドライバインストール情報をパソコン２のレジストリから削除する（Ｓ２３）。続いて、ＣＰＵ１０は、プリンタ１とパソコン２との間の接続を電気的に切断する（Ｓ２４）。この間、ＣＰＵ１０はプリンタ１の動作モードをＨＩＤ動作モードのまま維持する（Ｓ２５）。続いて、ＣＰＵ１０はプリンタ１とパソコン２との間を再度接続する（Ｓ２６）。Ｓ２６のステップにより再接続された後は、プリンタ１は、Ｓ２１のステップにてインストールされたフィルタドライバ７２によって高速データ転送機能が追加されている。そして、ＯＳが有する標準のデバイスドライバ、フィルタドライバ７２、およびＣＰＵ１０の協働した動作によって、マスストレージクラスデバイスドライバ用インストーラ６２が起動される。マスストレージクラスデバイスドライバ用インストーラ６２は、マスストレージクラス用デバイスドライバ７３を構成するすべてのバイナリコードの出力をＣＰＵ１０に実行させる。マスストレージクラス用デバイスドライバ７３を構成するすべてのバイナリコードの出力が完了すると、ＣＰＵ１０は、出力したバイナリコードを特定のファイル名でパソコン２の記録装置に記録する。この結果、プリンタ１のＲＯＭ１１に格納されているマスストレージクラス用デバイスドライバ７３がパソコン２にインストールされる。この間、ＣＰＵ１０は、マスストレージクラス用デバイスドライバのインストールが完了するまで待機する（Ｓ２７）。Ｓ２７のステップにおいて、マスストレージクラス用デバイスドライバのインストールが完了すると、ＣＰＵ１０は図４のＳ１２のステップに移行する。
【００４５】
その後、上述のように、ＣＰＵ１０は、プリンタ１をマスストレージ動作モードで動作させつつ、パソコン２のＯＳがプリンタ１を動作させるために必要なプリンタ用デバイスドライバ７１のインストール処理をパソコン２に実行させる（Ｓ１２〜Ｓ１６）。プリンタ用デバイスドライバ７１がパソコン２にインストールされた後に、ＣＰＵ１０はプリンタ１を通常動作モードに切り換えてパソコン２に接続し、プリンタ１が動作可能な状態になる（Ｓ４〜Ｓ６）。
【００４６】
パソコン２にマイクロソフトウィンドウズ（登録商標）９８がインストールされている本実施形態の場合、まず、プリンタ１がＨＩＤ動作モードで動作し、プリンタ１がＵＳＢキーボードであるようにパソコン２に見せかける。ＨＩＤ動作モードでプリンタ１が動作する際に、プリンタ１が保有しているマスストレージクラス用デバイスドライバ７３がパソコン２にインストールされる。マスストレージクラス用デバイスドライバ７３のインストールが完了することにより、マイクロソフトウィンドウズ（登録商標）９８でもＵＳＢマスストレージクラスデバイスがサポートされるようになる。その後、プリンタ１はマスストレージ動作モードに切り換わり、マスストレージクラス用デバイスドライバ７３が付加されたマイクロソフトウィンドウズ（登録商標）９８のオートラン機能を利用してプリンタ用デバイスドライバ７１の自動インストールがされる。プリンタ用デバイスドライバ７１がパソコン２にインストールされた後は、プリンタ１が通常動作モードに切り換わり、プラグアンドプレイ機能によってパソコン２に接続されたプリンタ１が使用可能な状態になる。
【００４７】
第１の実施形態によれば、マスストレージクラスのＵＳＢデバイスをサポートしていないマイクロソフトウィンドウズ（登録商標）９８、ウィンドウズ（登録商標）９８ＳＥを搭載するパソコンにおいても、プリンタ１の動作に必要なドライバの自動インストールを実行することが可能になる。なお、将来的にＯＳがバージョンアップすることを考慮して、プリンタ１にＰＲＯＭを設け、必要なファームウェアやデバイスドライバを後から追加記録できる態勢を整えておいても良い。本実施形態では、本発明の周辺装置の例としてプリンタを説明したが、無線ＬＡＮ装置、スキャナ、ディジタルカメラ、ビデオキャプチャ等の周辺装置とパソコンを接続する場合にも上述と同様の手法を用いることができる。
【００４８】
次に、図６〜図８を用いて本発明の周辺装置の第２の実施形態である外部ストレージ機器を説明する。
【００４９】
図６に示すように、外部ストレージ装置１′は、マスクＲＯＭ１１′、ＵＳＢインタフェース部１２′、ハードディスク１５、ＲＡＭ１４′、およびＣＰＵ１０′を備える。これらの構成のうち第１の実施形態と機能的に類似するものについては、引用符に同じ数値を割り当て「ダッシュ（′）」を付している。ここでは、第１の実施形態と同一の数値が付された構成については説明を省略する。外部ストレージ装置１′の構成は、プリント部１３に代えてハードディスク１５を備えた点、および通常動作モード用ファームウェア４，ユーティリティソフトウェア８が除かれている点でプリンタ１の構成と相違する。
【００５０】
図７および図８を用いて、外部ストレージ装置１′の接続時のＣＰＵ１０′の動作手順を説明する。図７に示すように、外部ストレージ装置１′の起動時に、ＣＰＵ１０′はマスストレージ動作モードに切り換える（Ｓ３１）。続いて、ＣＰＵ１０′は、コンフィグレーションの完了まで待機する（Ｓ３２）。このとき、コンフィグレーションが完了すると、ＣＰＵ１０′は外部ストレージ装置１′の接続処理を終了する。
【００５１】
Ｓ３２の待機ステップで、コンフィグレーションが完了しない場合、ＣＰＵ１０′はタイムアウトであるか否かを判断する（Ｓ３３）。具体的には、ＣＰＵ１０′は起動から２０秒経過してもコンフィグレーションが完了しないときにタイムアウトであると判断する。
【００５２】
Ｓ３３の判断ステップで、タイムアウトであると判断すると、ＣＰＵ１０′は外部ストレージ装置１′の動作モードをＨＩＤ動作モードに切り換える（Ｓ３４）。続いて、ＣＰＵ１０′はＵＳＢ初期化処理が完了するまで待機する（Ｓ３５）。ＵＳＢ初期化処理が完了すると、ＣＰＵ１０′は外部ストレージ装置１′のデバイスドライバが既にインストールされているか否かを判断する（Ｓ３６）。このＳ３６のステップは、フィルタドライバが外部ストレージ装置１′に対してマスストレージ動作モードへの切換要求を出力するか否かを判断することによって行われる。このフィルタドライバは外部ストレージ装置１′のデバイスドライバとともにパソコン２にインストールされるものであるため、マスストレージ動作モードへの切換要求の有無によって外部ストレージ装置１′のデバイスドライバのインストールの有無が判断できる。Ｓ３６のステップにて、既に外部ストレージ装置１′のデバイスドライバがインストールされている場合には、ＣＰＵ１０′は、パソコン２との間の電気的な接続を切断し（Ｓ３８）、外部ストレージ装置１′をマスストレージ動作モードに切り換え（Ｓ３９）、再度パソコン２と外部ストレージ装置１を接続して（Ｓ４０）、外部ストレージ装置１′の接続処理を終了する。一方、Ｓ３６のステップにて、未だ外部ストレージ装置１′のデバイスドライバがインストールされていない場合には、ＣＰＵ１０′はパソコン２のＯＳがマイクロソフトウィンドウズ（登録商標）９８，９８ＳＥであるか否かを判断する（Ｓ３７）。このＳ３７のステップは、第１の実施形態のＳ１１のステップと同様の手法によって行われる。
【００５３】
Ｓ３７のステップにおいて、パソコン２のＯＳがウィンドウズ（登録商標）９８，９８ＳＥではない場合、ＣＰＵ１０′はパソコン２のＯＳがマスストレージクラスのデバイスをサポートするウィンドウズ（登録商標）２０００，ＭＥ，ＸＰのいずれかであると判断し、外部ストレージ装置１′をマスストレージ動作モードに切り換え（Ｓ３８〜Ｓ４０）、接続処理を終了する。
【００５４】
Ｓ３７のステップにおいて、パソコン２のＯＳがウィンドウズ（登録商標）９８，９８ＳＥのいずれかである場合、図８のＳ４１のステップに移行する。Ｓ４１〜Ｓ４７の処理は、外部ストレージ装置１′からパソコン２に対してマスストレージクラス用デバイスドライバをインストールする処理を示しているが、その処理内容は第１の実施形態におけるＳ２１〜Ｓ２７のステップと同様であるため説明を省略する。本実施形態では、ＣＰＵ１０′は、Ｓ４７のステップの後に、キーボードドライバインストール情報を削除し、マスストレージモード切換用フィルタドライバをパソコン２にインストールする。その後、ＣＰＵ１０′は図７のＳ３４のステップに移行する。そして、ＣＰＵ１０′は、Ｓ３４のステップ、Ｓ３５のステップ、Ｓ３６のステップを順次実行し、外部ストレージ装置１′の接続処理を終了する。
【００５５】
第２の実施形態によれば、ＵＳＢハードディスク等の外部ストレージ装置のデバイスドライバのインストール作業負担を軽減させることができる。なお、この実施形態では、マスストレージ用ファームウェア５′、ＨＩＤモード用ファームウェア６′、デバイスドライバ７′をＲＯＭ１１′に格納しているが、ＲＯＭ１１′の記録領域が狭い場合にはこれらのソフトウェアの一部または全部をハードディスク１５に格納するようにしても良い。
【００５６】
最後に、上述の実施形態の説明は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。さらに、本発明の範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００５７】
【図１】第１の実施形態に係るプリンタの概略構成を示すブロック図である。
【図２】プリンタのＲＯＭの記録内容を示す図である。
【図３】プリンタのＣＰＵの動作手順を示すフローチャートである。
【図４】プリンタのＣＰＵの動作手順を示すフローチャートである。
【図５】プリンタのＣＰＵの動作手順を示すフローチャートである。
【図６】第２の実施形態に係る外部ストレージ装置の概略構成を示すブロック図である。
【図７】外部ストレージ装置のＣＰＵの動作手順を示すフローチャートである。
【図８】外部ストレージ装置のＣＰＵの動作手順を示すフローチャートである。
【符号の説明】
【００５８】
１−プリンタ
２−パソコン
１０−ＣＰＵ
１１−ＲＯＭ
１２−ＵＳＢインタフェース部
１３−プリント部
【図１】
2006024155.tif 000003
【図２】
2006024155.tif 000004
【図３】
2006024155.tif 000005
【図４】
2006024155.tif 000006
【図５】
2006024155.tif 000007
【図６】
2006024155.tif 000008
【図７】
2006024155.tif 000009
【図８】
2006024155.tif 000010