(57)【要約】      （修正有）【課題】構成の複雑化等の問題を抑制しつつ、情報処理装置からホスト装置にデバイスドライバを供給可能にする。【解決手段】情報処理装置であって、前記情報処理装置をストレージデバイスとして動作させるか前記ストレージデバイスとは別のデバイスとして動作させるかを示す設定情報と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるデバイスドライバと、を格納したメモリと、前記ホスト装置からの指示に従い、前記情報処理装置を前記別のデバイスとして動作させることを示すように前記設定情報を設定する設定手段と、を備えることを特徴とする情報処理装置を提供する。【選択図】図２
2010117949.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置をストレージデバイスとして動作させるか前記ストレージデバイスとは別のデバイスとして動作させるかを示す設定情報と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるデバイスドライバと、を格納したメモリと、
前記設定情報が前記情報処理装置を前記ストレージデバイスとして動作させることを示す場合に、前記ホスト装置が前記デバイスドライバを取得可能なように前記ホスト装置と通信し、前記設定情報が前記情報処理装置を前記別のデバイスとして動作させることを示す場合に、前記ホスト装置が前記別のデバイスの機能を利用可能なように前記ホスト装置と通信する通信手段と、
前記ホスト装置からの指示に従い、前記情報処理装置を前記別のデバイスとして動作させることを示すように前記設定情報を設定する設定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置を前記ストレージデバイスとして動作させることを示すように前記設定情報を設定するユーザによる指示を受信する受信手段を更に備え、
前記設定手段は、前記受信した指示に従い、前記情報処理装置を前記ストレージデバイスとして動作させることを示すように前記設定情報を設定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の規格はＵＳＢ規格であることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記別のデバイスはプリンタであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
情報処理装置の制御方法であって、前記情報処理装置は、前記情報処理装置をストレージデバイスとして動作させるか前記ストレージデバイスとは別のデバイスとして動作させるかを示す設定情報と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるデバイスドライバと、を格納したメモリを備え、前記制御方法は、
前記設定情報が前記情報処理装置を前記ストレージデバイスとして動作させることを示す場合に、前記ホスト装置が前記デバイスドライバを取得可能なように前記ホスト装置と通信し、前記設定情報が前記情報処理装置を前記別のデバイスとして動作させることを示す場合に、前記ホスト装置が前記別のデバイスの機能を利用可能なように前記ホスト装置と通信する通信工程と、
前記ホスト装置からの指示に従い、前記情報処理装置を前記別のデバイスとして動作させることを示すように前記設定情報を設定する設定工程と、
を備えることを特徴とする制御方法。
【請求項６】
情報処理装置のコンピュータに制御方法の各工程を実行させるためのプログラムであって、前記情報処理装置は、前記情報処理装置をストレージデバイスとして動作させるか前記ストレージデバイスとは別のデバイスとして動作させるかを示す設定情報と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるデバイスドライバと、を格納したメモリを備え、前記制御方法は、
前記設定情報が前記情報処理装置を前記ストレージデバイスとして動作させることを示す場合に、前記ホスト装置が前記デバイスドライバを取得可能なように前記ホスト装置と通信し、前記設定情報が前記情報処理装置を前記別のデバイスとして動作させることを示す場合に、前記ホスト装置が前記別のデバイスの機能を利用可能なように前記ホスト装置と通信する通信工程と、
前記ホスト装置からの指示に従い、前記情報処理装置を前記別のデバイスとして動作させることを示すように前記設定情報を設定する設定工程と、
を備えることを特徴とするプログラム。
【請求項７】
情報処理装置であって、
前記情報処理装置がストレージデバイスとして動作するか前記ストレージデバイスとは別のデバイスとして動作するかを示す記述子と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるドライバと、を格納したメモリと、
前記ホスト装置との通信開始時に、前記記述子として前記情報処理装置がストレージデバイスとして動作することを示す第１記述子を前記ホスト装置に送信して、前記ホスト装置が前記ドライバにアクセス可能なように前記ホスト装置と通信する通信手段と、
前記ドライバが前記ホスト装置からアクセスされた後は、前記通信手段が前記ホスト装置に送信する記述子を前記情報処理装置が前記別のデバイスとして動作することを示す第２記述子に変更する変更手段と、
を備えることを特徴とする情報処理装置。
【請求項８】
前記通信手段は、前記ドライバが前記ホスト装置からアクセスされた後、一旦通信を切断した後に再接続する際に、前記情報処理装置が前記別のデバイスとして動作することを示す前記第２記述子を前記ホスト装置に送信することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記所定の規格はＵＳＢ規格であることを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記第１記述子は、前記情報処理装置がマスストレージクラスであることを示す情報であることを特徴とする請求項７乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記第２記述子は、前記情報処理装置がイメージクラスまたはプリンタクラスであることを示す情報であることを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
情報処理装置がストレージデバイスとして動作するか前記ストレージデバイスとは別のデバイスとして動作するかを示す記述子と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるドライバとを格納したメモリを有する情報処理装置の制御方法であって、
前記ホスト装置との通信開始時に、前記記述子として前記情報処理装置がストレージデバイスとして動作することを示す第１記述子を前記ホスト装置に送信して、前記ホスト装置が前記ドライバにアクセス可能なように前記ホスト装置と通信する通信工程と、
前記メモリの中のドライバが前記ホスト装置からアクセスされた後は、前記通信工程で前記ホスト装置に送信する記述子を前記情報処理装置が前記別のデバイスとして動作することを示す第２記述子に変更する変更工程とを備えることを特徴とする制御方法。
【請求項１３】
情報処理装置のコンピュータに制御方法の各工程を実行させるためのプログラムであって、前記情報処理装置がストレージデバイスとして動作するか前記ストレージデバイスとは別のデバイスとして動作するかを示す記述子と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるドライバとを格納したメモリを有しており、前記制御方法は、
前記ホスト装置との通信開始時に、前記記述子として前記情報処理装置がストレージデバイスとして動作することを示す第１記述子を前記ホスト装置に送信して、前記ホスト装置が前記ドライバにアクセス可能なように前記ホスト装置と通信する通信工程と、
前記メモリの中のドライバが前記ホスト装置からアクセスされた後は、前記通信工程で前記ホスト装置に送信する記述子を前記情報処理装置が前記別のデバイスとして動作することを示す第２記述子に変更する変更工程とを有していることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置に接続して動作する情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）に接続して使用される各種の周辺機器（クライアント装置）（例えば、プリンタやデジタルカメラ）は、ＰＣとデータの送受信を行うために、各種の通信インタフェースを備えている。なかでもＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースは、安価で簡便に利用できることから、周辺機器の通信インタフェースとして広く普及している。
【０００３】
しかしながら、ＵＳＢインタフェースを用いてＰＣと例えばプリンタとを接続するためには、ＰＣはそのプリンタに固有のデバイスドライバ（プリンタドライバ）をインストールしなければならない。ＰＣは、インターネットを介してプリンタドライバをダウンロードしたり、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）などの外部メディアからプリンタドライバを読み出したりすることにより、プリンタドライバを取得することができる。
【０００４】
しかしながら、プリンタと接続される全てのＰＣがインターネットに接続されているわけではないし、また、ユーザがプリンタと共に常に外部メディアを持ち歩くことは手間である。
【０００５】
この問題に鑑み、特許文献１は、印刷デバイスと、この印刷デバイスを制御するためのドライバプログラムを記録したマスストレージデバイスと、を搭載したプリンタを提案している。このプリンタは、ＵＳＢインタフェースをホスト装置に対してＵＳＢハブとして認識させるためのＵＳＢ制御プログラムを備え、マスストレージデバイスをホスト装置に認識させた後に印刷デバイスをホスト装置に認識させる。これにより、ホスト装置はドライバプログラムをインストールしてホスト装置を認識することができる。
【特許文献１】特開２００３−１５０５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術に従うと、プリンタはＵＳＢハブとして機能するための物理的な機構を備えなければならないので、装置の複雑化やコストの上昇などの問題が生じ得る。
【０００７】
また、特許文献１はホスト装置にドライバプログラムがインストールされている場合にマスストレージデバイスの接続を解除する技術も開示している。この技術によれば、プリンタをホスト装置に接続する度にマスストレージデバイスの接続及び解除が行われるため、ホスト装置に負荷がかかる。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、構成の複雑化等の問題を抑制しつつ、情報処理装置からホスト装置にデバイスドライバを供給可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、第１の本発明は、情報処理装置であって、前記情報処理装置をストレージデバイスとして動作させるか前記ストレージデバイスとは別のデバイスとして動作させるかを示す設定情報と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるデバイスドライバと、を格納したメモリと、前記設定情報が前記情報処理装置を前記ストレージデバイスとして動作させることを示す場合に、前記ホスト装置が前記デバイスドライバを取得可能なように前記ホスト装置と通信し、前記設定情報が前記情報処理装置を前記別のデバイスとして動作させることを示す場合に、前記ホスト装置が前記別のデバイスの機能を利用可能なように前記ホスト装置と通信する通信手段と、前記ホスト装置からの指示に従い、前記情報処理装置を前記別のデバイスとして動作させることを示すように前記設定情報を設定する設定手段と、を備えることを特徴とする情報処理装置を提供する。
【００１０】
また、第２の本発明は、情報処理装置の制御方法であって、前記情報処理装置は、前記情報処理装置をストレージデバイスとして動作させるか前記ストレージデバイスとは別のデバイスとして動作させるかを示す設定情報と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるデバイスドライバと、を格納したメモリを備え、前記制御方法は、前記設定情報が前記情報処理装置を前記ストレージデバイスとして動作させることを示す場合に、前記ホスト装置が前記デバイスドライバを取得可能なように前記ホスト装置と通信し、前記設定情報が前記情報処理装置を前記別のデバイスとして動作させることを示す場合に、前記ホスト装置が前記別のデバイスの機能を利用可能なように前記ホスト装置と通信する通信工程と、前記ホスト装置からの指示に従い、前記情報処理装置を前記別のデバイスとして動作させることを示すように前記設定情報を設定する設定工程と、を備えることを特徴とする制御方法を提供する。
【００１１】
また、第３の本発明は、情報処理装置のコンピュータに制御方法の各工程を実行させるためのプログラムであって、前記情報処理装置は、前記情報処理装置をストレージデバイスとして動作させるか前記ストレージデバイスとは別のデバイスとして動作させるかを示す設定情報と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるデバイスドライバと、を格納したメモリを備え、前記制御方法は、前記設定情報が前記情報処理装置を前記ストレージデバイスとして動作させることを示す場合に、前記ホスト装置が前記デバイスドライバを取得可能なように前記ホスト装置と通信し、前記設定情報が前記情報処理装置を前記別のデバイスとして動作させることを示す場合に、前記ホスト装置が前記別のデバイスの機能を利用可能なように前記ホスト装置と通信する通信工程と、前記ホスト装置からの指示に従い、前記情報処理装置を前記別のデバイスとして動作させることを示すように前記設定情報を設定する設定工程と、を備えることを特徴とするプログラムを提供する。
【００１２】
また、第４の本発明は、情報処理装置であって、前記情報処理装置がストレージデバイスとして動作するか前記ストレージデバイスとは別のデバイスとして動作するかを示す記述子と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるドライバと、を格納したメモリと、前記ホスト装置との通信開始時に、前記記述子として前記情報処理装置がストレージデバイスとして動作することを示す第１記述子を前記ホスト装置に送信して、前記ホスト装置が前記ドライバにアクセス可能なように前記ホスト装置と通信する通信手段と、前記ドライバが前記ホスト装置からアクセスされた後は、前記通信手段が前記ホスト装置に送信する記述子を前記情報処理装置が前記別のデバイスとして動作することを示す第２記述子に変更する変更手段と、を備えることを特徴とする情報処理装置を提供する。
【００１３】
また、第５の本発明は、情報処理装置がストレージデバイスとして動作するか前記ストレージデバイスとは別のデバイスとして動作するかを示す記述子と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるドライバとを格納したメモリを有する情報処理装置の制御方法であって、前記ホスト装置との通信開始時に、前記記述子として前記情報処理装置がストレージデバイスとして動作することを示す第１記述子を前記ホスト装置に送信して、前記ホスト装置が前記ドライバにアクセス可能なように前記ホスト装置と通信する通信工程と、前記メモリの中のドライバが前記ホスト装置からアクセスされた後は、前記通信工程で前記ホスト装置に送信する記述子を前記情報処理装置が前記別のデバイスとして動作することを示す第２記述子に変更する変更工程とを備えることを特徴とする制御方法を提供する。
【００１４】
また、第６の本発明は、情報処理装置のコンピュータに制御方法の各工程を実行させるためのプログラムであって、前記情報処理装置がストレージデバイスとして動作するか前記ストレージデバイスとは別のデバイスとして動作するかを示す記述子と、ホスト装置が所定の規格に従って前記情報処理装置を前記別のデバイスとして制御するために前記ホスト装置が用いるドライバとを格納したメモリを有しており、前記制御方法は、前記ホスト装置との通信開始時に、前記記述子として前記情報処理装置がストレージデバイスとして動作することを示す第１記述子を前記ホスト装置に送信して、前記ホスト装置が前記ドライバにアクセス可能なように前記ホスト装置と通信する通信工程と、前記メモリの中のドライバが前記ホスト装置からアクセスされた後は、前記通信工程で前記ホスト装置に送信する記述子を前記情報処理装置が前記別のデバイスとして動作することを示す第２記述子に変更する変更工程とを有していることを特徴とするプログラムを提供する。
【００１５】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態における記載によって更に明らかになるものである。
【発明の効果】
【００１６】
以上の構成により、本発明によれば、構成の複雑化等の問題を抑制しつつ、情報処理装置からホスト装置にデバイスドライバを供給することが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して、本発明の実施例を説明する。以下で説明される個別の実施例は、本発明の上位概念から下位概念までの種々の概念を理解するために役立つであろう。
【００１８】
なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施例によって限定されるわけではない。また、実施例の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１９】
以下の各実施例では、クライアント装置として情報処理装置の１つであるプリンタで説明する。そして、通信インタフェースとしてＵＳＢ規格に準拠したＵＳＢインタフェースを例として説明を行うが、これに限られるものではない。例えば、クライアント装置はデジタルカメラビデオカメラ、又はスキャナであってもよい。また、通信インタフェースはＩＥＥＥ１３９４インタフェースであってもよい。この場合、所定の規格に固有の用語（例えば、「マスストレージクラス」）は、規格に応じて適宜読み替える。
【実施例１】
【００２０】
図１は、実施例１に係るプリンタ１の構成を示す機能ブロック図である。プリンタ１は、これを制御し、各種演算を行うＣＰＵ１０１と、ＣＰＵ１０１で実行されるプログラムや各種データを予め格納しておくＲＯＭ１０２とを備える。プリンタ１はまた、ＣＰＵ１０１が動作中に各種データを格納するＲＡＭ１０３を備える。プリンタ１はまた、プリンタ１に固有のプリンタドライバを格納しておき、ＵＳＢで接続されたパーソナルコンピュータ（ＰＣ）２が参照可能な記憶領域である内蔵記憶装置１０４を備える。プリンタ１はまた、ユーザが操作するためのボタンを含みその状態を読み取るユーザインタフェースモジュール１０５と、印刷対象の画像やプリンタ１の設定を表示するビデオモジュール１０６とを備える。プリンタ１はまた、ＰＣ２から受信した画像データを加工するイメージプロセスモジュール１０７と、プリントヘッドや給排紙モータ等を含みイメージプロセスモジュール１０７によって作成された印刷データを印刷するプリントモジュール１０８とを備える。プリンタ１はまた、ＰＣ２等と接続しＵＳＢによるデータ送受信を行うＩ／Ｏポート部１０９を備える。
【００２１】
内蔵記憶装置１０４は、プリンタ１をＰＣ２に対してマスストレージクラスのデバイス（ストレージデバイス）として認識させるか或いはプリンタクラスのデバイスとして認識させるかを示すデータ（クラス設定情報）を保持する。ＣＰＵ１０１は、ＰＣ２又はユーザインタフェースモジュール１０５からの指示に従い、クラス設定情報を変更することができる。
【００２２】
図２は、実施例１に係るプリンタ１及びＰＣ２の動作の概要を示す図である。ＰＣ２は、ＵＳＢマスストレージクラスのための標準のデバイスドライバを持つオペレーティングシステム（ＯＳ）を搭載している。このようなＯＳには例えば、Ｗｉｎｄｏｗｓ（登録商標）やＭａｃｉｎｔｏｓｈ（登録商標）などがある。ＰＣ２はＵＳＢポートを備え、ＵＳＢケーブル３（無線でもよい）を介してプリンタ１と通信可能である。Ｓｅｔｕｐファイル４は、プリンタ１固有のプリンタドライバを含むファイルであり、内蔵記憶装置１０４に格納されている。Ｓｅｔｕｐファイル４は、ＰＣ２がプリンタ１を制御するための制御アプリケーションも含む。ＰＣ２は、Ｓｅｔｕｐファイル４を実行することにより、プリンタ１のプリンタドライバをインストールすることができる。プリンタ１及びＰＣ２は、Ｓ１００１〜Ｓ１００９の各ステップに従って動作する。この動作の詳細は図３を参照して説明する。
【００２３】
図３を参照すると、Ｓ１００１で、ユーザがＵＳＢケーブル３を用いてプリンタ１とＰＣ２とを接続すると、Ｓ１１０１における判定処理が行われる。図３を含む以下の各フローチャートにおいて、特に断らなければ、プリンタ１が実行する処理はＣＰＵ１０１がＲＯＭ１０２に格納されたプログラムを実行することにより実現される。また、ＰＣ２が実行する処理はＰＣ２のＣＰＵ（不図示）がＯＳや制御アプリケーションなどを実行することにより実現される。
【００２４】
Ｓ１１０１で、プリンタ１は、内蔵記憶装置１０４内のクラス設定情報が「マスストレージクラス」を示すか否かを判定する。マスストレージクラスであればＳ１００２に進み、そうでなければＳ１００８に進む。
【００２５】
Ｓ１００２（通信開始時）で、プリンタ１は、ディスクリプタ（記述子）として、マスストレージクラスに対応したディスクリプタ（第１記述子）をＰＣ２に対して発行（送信）する。
【００２６】
Ｓ１００３で、ＰＣ２は、ＯＳに標準で搭載されているマスストレージクラス用のデバイスドライバを用いて、プリンタ１をマスストレージクラスのデバイスとして認識する。これにより、ＰＣ２はＳｅｔｕｐファイル４を取得可能になる。
【００２７】
Ｓ１００４で、ユーザはＰＣ２を操作することにより、内蔵記憶装置１０４に格納されているＳｅｔｕｐファイル４をＰＣ２に実行させる。
【００２８】
Ｓ１００５で、ＰＣ２は、プリンタドライバと制御アプリケーションをインストールする。
【００２９】
Ｓ１００６で、ＰＣ２は制御アプリケーションを用いて、クラス設定情報を「プリンタクラス」に変更するようにプリンタ１に指示する。この指示を受けて、プリンタ１は、クラス設定情報を「プリンタクラス」に変更する。
【００３０】
なお、クラス設定情報の変更は、ＰＣ２指示に応じて行う代わりに、プリンタドライバがＰＣ２にアクセスされたことをプリンタ１が認識したことに応じて、プリンタ１側で積極的に行うようにしてもよい。
【００３１】
Ｓ１００７で、ＰＣ２は制御アプリケーションを用いて、ＵＳＢのリセット動作を行う。これにより、プリンタ１のＵＳＢ接続が一旦解除されて再接続される（即ち、一旦通信を切断した後に再接続が行われる）。なお、通信の切断と再接続は、プリンタ１側の制御で積極的に行うようにしてもよい。
【００３２】
Ｓ１００８で、プリンタ１は、プリンタクラスに対応したディスクリプタ（第２記述子）をＰＣ２に対して発行する。
【００３３】
Ｓ１００９で、ＰＣ２は、Ｓ１００５でインストールしたプリンタドライバを用いて、プリンタ１をプリンタクラスのデバイスとして認識する。これにより、ＰＣ２は、プリンタ１のプリンタとしての機能を利用可能になる。
【００３４】
以上の処理により、ＰＣ２はプリンタ１からプリンタドライバを取得してインストールしてからプリンタ１をプリンタとして認識することができる。
【００３５】
また、ユーザが次にプリンタ１とＰＣ２とを接続する際は、プリンタ１のクラス設定情報がプリンタクラスであるため、処理がＳ１１０１からＳ１００８へと移行する。従って、不必要にプリンタ１をマスストレージクラスのデバイスとしてＰＣ２に認識させることが回避される。
【００３６】
また、プリンタ１をＰＣ２以外のＰＣ（即ち、プリンタ１用のプリンタドライバがインストールされていないＰＣ）に接続する際は、プリンタ１は図４に示すフローチャートに従ってクラス設定情報をマスストレージクラスにリセットする。
【００３７】
図４のＳ２００１で、ユーザはユーザインタフェースモジュール１０５を介して、プリンタ１に対してクラス設定情報のリセットを指示する。ユーザインタフェースモジュール１０５の代わりに、ユーザはＰＣ２の制御アプリケーションを利用してもよい。この場合、プリンタ１とＰＣ２とがＵＳＢ接続されている必要がある。
【００３８】
Ｓ２００２で、プリンタ１は、クラス設定情報を「マスストレージクラス」に設定する。
【００３９】
ところで、クラス設定情報がリセットされたプリンタ１を、プリンタドライバがインストールされているＰＣ２に接続した場合、図５に示す処理が行われる。図５において、図３と同一の処理が行われるステップには同一の符号を付し、説明を省略する。
【００４０】
Ｓ３００１で、ＰＣ２は、プリンタドライバがインストールされているか否かを判定する。インストールされている場合はＳ１００６に進み、ＰＣ２はプリンタ１のクラス設定情報を「プリンタクラス」に変更させる。一方、プリンタドライバがインストールされていない場合は図３のＳ１００４に進み、図３を参照して前述した処理が行われる。
【００４１】
以上説明したように、本実施例によれば、プリンタ１はクラス設定情報に従い、自装置をマスストレージクラスとしてＰＣ２に認識させ、ＰＣ２にプリンタドライバをインストールさせる。そして、プリンタ１はＰＣ２の指示に従ってクラス設定情報を「プリンタクラス」に変更し、自装置をプリンタクラスのデバイスとしてＰＣ２に認識させる。
【００４２】
これにより、構成の複雑化等の問題を抑制しつつ、情報処理装置（例えば、プリンタ１のようなクライアント装置）からホスト装置（例えば、ＰＣ２）にデバイスドライバを供給することが可能となる。
【００４３】
なお、上記の実施例ではプリンタが、ＰＣとの接続時に通知するクラス設定情報としてマスストレージクラスとプリンタクラスとを切り換えていたが、他の装置にも適応可能である。
【００４４】
例えば、スキャナやデジタルカメラをホスト装置と接続して通信する場合には、通知するクラス設定情報としてマスストレージクラスとイメージクラスとを切り換えるようにしてもよい。
【００４５】
この場合、設定情報としてマスストレージクラスを通知した場合に、スキャナやデジタルカメラを制御する為のドライバをＰＣからアクセス可能になるようにメモリを制御するとよい。
【００４６】
［その他の実施例］
上述した各実施例の機能を実現するためには、各機能を具現化したソフトウェアのプログラムコードを記録した記録媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによって、上述した各実施例の機能が実現される。この場合、記録媒体から読み出されたプログラムコード自体が上述した各実施例の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。このようなプログラムコードを供給するための記録媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることもできる。
【００４７】
また、上述した各実施例の機能を実現するための構成は、コンピュータが読み出したプログラムコードを実行することだけには限られない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって上述した各実施例の機能が実現される場合も含まれている。
【００４８】
更に、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって上述した各実施例の機能が実現される場合も含むものである。
【図面の簡単な説明】
【００４９】
【図１】実施例１に係るプリンタの構成を示す機能ブロック図である。
【図２】実施例１に係るプリンタ及びパーソナルコンピュータ（ＰＣ）の動作の概要を示す図である。
【図３】実施例１に係るプリンタ及びＰＣの動作を示すフローチャートである。
【図４】クラス設定情報のリセット処理を示すフローチャートである。
【図５】クラス設定情報がリセットされたプリンタをプリンタドライバがインストールされているＰＣに設定した場合の処理を示すフローチャートである。
【図１】
2010117949.tif 000003
【図２】
2010117949.tif 000004
【図３】
2010117949.tif 000005
【図４】
2010117949.tif 000006
【図５】
2010117949.tif 000007