(57)【特許請求の範囲】
【請求項１】
第１の装置及びこのドライバを格納する第２の装置を内蔵し、該第１及び第２の装置は外部接続用の共通のＵＳＢインタフェース上でそれぞれトランザクションを発生させることができる電子装置であって、前記ＵＳＢインタフェースは、前記電子装置を情報処理装置に接続した場合において、前記第１の装置の前記ドライバが前記情報処理装置にとって未知の場合には前記第１の装置は前記情報処理装置により認識されない構成において、
前記第１の装置よりも先に前記第２の装置の動作を開始させ、該第２の装置から前記インタフェースを介して前記ドライバを読み出し可能状態とする手段を前記第２の装置内に設け、
前記手段は、前記電子装置が前記ＵＳＢインタフェースを介して情報処理装置に接続された時に前記第１の装置をディスエーブル状態とし、前記第２の装置が前記情報処理装置に認識された後に前記第１の装置をイネーブル状態に制御するための所定の制御信号を生成することで、前記第２の装置が前記情報処理装置に認識された状態で、前記第１の装置の前記ドライバを読み出して前記情報処理装置にインストールすることを特徴とする電子装置。
【請求項２】
前記手段は、前記第１の装置をイネーブル状態及びディスエーブル状態に制御するための前記所定の制御信号を、専用の信号線を介して前記第１の装置に出力することを特徴とする請求項１記載の電子装置。
【請求項３】
前記手段は、前記第１の装置をイネーブル状態及びディスエーブル状態に制御するための制御データを格納するメモリを有することを特徴とする請求項１記載の電子装置。
【請求項４】
前記電子装置は前記第１及び第２の装置と前記インタフェースとの間でトランザクションをコントロールするハブ・コントローラを有することを特徴とする請求項１記載の電子装置。
【請求項５】
前記電子装置は前記第１及び第２の装置と前記インタフェースとの間でトランザクションをコントロールするハブ・コントローラを有し、
前記第２の装置は前記ハブ・コントローラ内に設けられ、
前記手段は前記第１の装置をイネーブル状態及びディスエーブル状態に制御するための前記所定の制御信号を生成し、前記第１の装置と前記インタフェースとの間のハブポートを介して前記制御信号を前記第１の装置に出力することを特徴とする請求項１記載の電子装置。
【請求項６】
前記電子装置は更に、第１及び第２の装置を１つの物理装置として制御するコントローラを具備することを特徴とする請求項１記載の電子装置。
【請求項７】
前記電子装置は更に、第１及び第２の装置を１つの物理装置として制御するコントローラを具備し、前記第１及び第２の装置はそれぞれ前記ＵＳＢインタフェースを形成する個別のバスを介して外部の情報処理装置に接続可能であることを特徴とする請求項１記載の電子装置。
【請求項８】
前記第２の装置は、前記ドライバを格納する不揮発性の記憶装置を有することを特徴とする請求項１記載の電子装置。
【請求項９】
第１の装置及びこのドライバを格納する第２の装置を内蔵し、該第１及び第２の装置は外部接続用の共通のＵＳＢインタフェース上でそれぞれトランザクションを発生させることができる電子装置と、前記インタフェースを介して前記電子装置に接続される情報処理装置を有するシステムであって、前記ＵＳＢインタフェースは、前記電子装置を情報処理装置に接続した場合において、前記第１の装置の前記ドライバが前記情報処理装置にとって未知の場合には前記第１の装置は前記情報処理装置により認識されない構成において、
前記第１の装置よりも先に前記第２の装置の動作を開始させ、該第２の装置から前記インタフェースを介して前記ドライバを読み出し可能状態とする手段を前記第２の装置内に設け、
前記手段は、前記電子装置が前記インタフェースを介して情報処理装置に接続された時に前記第１の装置をディスエーブル状態とし、前記第２の装置が前記情報処理装置に認識された後に前記第１の装置をイネーブル状態に制御するための所定の制御信号を生成することで、前記第２の装置が前記情報処理装置に認識された状態で、前記第１の装置の前記ドライバを読み出して前記情報処理装置にインストールすることを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ドライバを内蔵する電子機器及びその制御方法に関し、特に、電子機器を周辺装置として情報処理装置に接続する場合に、電子機器のドライバを情報処理装置にインストールする技術に関する。
【０００２】
【従来の技術】
情報処理システムの一形態として、情報処理装置とこれに接続される電子機器とを有するものがある。電子機器は情報処理装置の周辺装置であり、情報処理装置のオペレーティングシステム（以下、単にＯＳという）が周辺装置を制御する。この制御のために、ＯＳは周辺装置を制御するソフトウェアの取得を必要とする。このソフトウェアは、デバイスドライバ又は単にドライバと呼ばれる。デバイスドライバを情報処理装置内にインストールすることで、周辺装置の機能を情報処理装置上で発揮させることができる。
【０００３】
図１は、従来の情報処理システムを示すブロック図である。情報処理システム（以下、単にＰＣという）１０にＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）１８を用いて、ＵＳＢインタフェースを持つ周辺装置（以下、ＵＳＢ装置という）２０を接続が接続されている。図示するＵＳＢ装置２０はキーボードである。ＰＣ１０はＵＳＢホストコントローラ１４や記憶装置１５を具備している。記憶装置１５は例えば、フレキシブル磁気ディスク（ＦＤ）やＣＤ−ＲＯＭなどである。ＰＣ１０のＯＳ１１には、キーボードドライバ１２や記憶装置ドライバ１３がインストールされており、それぞれ内部バス１６及び１７を介してＵＳＢホストコントローラ１４や記憶装置１５に接続されている。ＵＳＢ装置２０は、ＵＳＢ装置２０がキーボードとしての機能を提供できるようにするためのキーボード装置２１を有する。キーボード装置２１とＵＳＢホストコントローラ１４とは、ＵＳＢケーブル１８を介して接続されている。なお、ＯＳ１１は例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）が代表的である。
【０００４】
ＵＳＢケーブル１８を用いてＵＳＢ装置２０をＰＣ１０に接続すると、ＵＳＢホストコントローラ１４は新たなハードウェアが接続されたことを検出する。ＵＳＢホストコントローラ１４はＵＳＢ装置２０のドライバをインストールするために、ドライバが格納されたＦＤやＣＤ−ＲＯＭを記憶装置１５のドライバに装着するように求める。そして、装着されたＦＤなどからＵＳＢ装置２０のドライバ（この例ではキーボードドライバ１２）が読み出され、ＯＳ１１上にインストールされる。このように、周辺装置をコントロールするソフトウェアを、周辺装置とは異なる装置と記録媒体によってインストールする。
【０００５】
ＰＣ１０がノート型ＰＣやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）などでは、ＦＤドライブやＣＤ−ＲＯＭドライブがＰＣ１０上に実装されておらず、上記の手法でキーボードドライバ１２をインストールするためには、例えば図２に示すＵＳＢ外部記憶装置２２などを用意し、ＵＳＢ１９を用いてＰＣ１１のＵＳＢホストコントローラ１４に接続しなければならない。
【０００６】
この問題点を解決するために、周辺装置自らがソフトウェアを保持する構成が特開２０００−３２２２４１号公報に提案されている。この公報には、周辺装置内の記憶装置からドライバを読み出して、ＯＳに自動的にインストールすることが記載されている。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記公報に記載の技術は、周辺装置に実装された記憶装置は、周辺装置を接続することによって必ず読み書き可能なことを前提としており、周辺装置に実装された記憶装置が利用不可能な状態になる場合には対処できないという問題点がある。
【０００８】
ここで、ＰＣ上で稼働するＯＳが、ＰＣにおける最大のシェアを持っているマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）（以下ＰＣＯＳという）においては、周辺装置のインタフェースがＵＳＢであった場合を例にして、上記従来技術の問題点を図３を参照して説明する。
【０００９】
図３に示す周辺装置２３は、キーボード装置２４とＵＳＢ外部記憶装置２５とを具備するＵＳＢ装置である。ＵＳＢ外部記憶装置２５は、キーボードドライバを記憶している。ＵＳＢ外部記憶装置２５を接続する前は、ＯＳ１１上にキーボードドライバ１２はインストールされていない。ＵＳＢ装置２３をＰＣ１０に初めて接続した場合、ＵＳＢの機能上、ＵＳＢホストコントローラ１４はＵＳＢホストコントローラ１４を介してキーボード装置２４とＵＳＢ外部記憶装置２５とが接続されたことを同時に認識する。なぜならば、キーボード装置２４とＵＳＢ外部記憶装置２５とは、これらに共通のＵＳＢインタフェース上でそれぞれトランザクション（ＰＣで処理される仕事）を発生させることができるからである。この場合、キーボードドライバがインストールされていないため、ＵＳＢホストコントローラ１４はキーボード装置２４のドライバが格納されているファイル先の入力を求めることになる。たとえＯＳ１１がＵＳＢ外部記憶装置２５のドライバを有していても、未知のキーボードドライバが存在する状態で、換言すれば、ＵＳＢ装置２３が認識されていない状態で、内部のＵＳＢ外部記憶装置２５からキーボードドライバを読み出す動作をすることは、ＵＳＢの構成上不可能である。つまり、ＵＳＢ装置２３に実装されたＵＳＢ外部記憶装置２５は、実質上利用できないのである。
【００１０】
この場合、ＯＳ１１はオペレータに、キーボードドライバが格納されたファイルの位置を入力するように求める。勿論、ＵＳＢ装置２３は認識されていないので、このＵＳＢ外部記憶装置２５を指定することはできない。つまり、オペレータはキーボードドライバが格納されている記録媒体を別途用意しなければならない。オペレータはこの指示を受け、適切な記録媒体又は適切なドライバのあるファイルの位置を入力し、改めてキーボードドライバのインストールが再開される。
【００１１】
このように、ＵＳＢ装置２３自体が利用可能とならない限り、ＵＳＢ装置２３上のＵＳＢ外部記憶装置２５は利用可能とはならず、ここからキーボードドライバを読み出してインストールすることはできない。
【００１２】
このような問題点はＵＳＢに限ったものではなく、他のインタフェースでも同様に起こるものである。
【００１３】
なお、ＵＳＢを用いた周辺装置のドライバを容易にインストール及び更新を容易に行えるようにした技術が特開２０００−１９４６４５公報に記載されている。ＵＳＢ装置内にＲＯＭを設け、この中に複数のデバイスドライバを格納しておく。ＵＳＢ装置をＰＣに接続したときに、ＵＳＢホストの制御の下にＲＯＭから対応する制御データが読み出され、ＵＳＢ装置は第１のコンフィギュレーションに設定される。第１のコンフィギュレーションは、データをＵＳＢ装置からデータをホストに転送できる状態を定義する。この状態で、この状態でＲＯＭからデバイスドライバを読み出して、ＵＳＢホストに転送する。転送されたデバイスドライバは、ホスト内のメモリに格納される。そして、ＵＳＢホストは再度コンフィギュレーションの要求をＵＳＢ装置に送出する。これを受けたＵＳＢ装置は、第１のコンフィギュレーションから第２のコンフィギュレーションに設定される。そして、ＵＳＢ装置本来の機能が使用可能になる。
【００１４】
しかしながら、この手法は、ＵＳＢホストがＵＳＢ装置に指示を出してコンフィギュレーションを切り替える特別なステップが必要となり、ＵＳＢホストを内蔵する既存のＰＣにそのまま適用することができないという問題点がある。
【００１５】
従って、本発明は上記従来技術の問題点を解決し、従来技術とは異なる手法で、電子機器に格納された当該電子機器のドライバを自動的にインストールすることができる機能を持った汎用性のある電子機器及びその制御方法並びに情報処理システムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記課題は、請求項１に記載のように、第１の装置及びこのドライバを格納する第２の装置を内蔵し、該第１及び第２の装置は外部接続用の共通のＵＳＢインタフェース上でそれぞれトランザクションを発生させることができる電子装置であって、前記ＵＳＢインタフェースは、前記電子装置を情報処理装置に接続した場合において、前記第１の装置の前記ドライバが前記情報処理装置にとって未知の場合には前記第１の装置は前記情報処理装置により認識されない構成において、前記第１の装置よりも先に前記第２の装置の動作を開始させ、該第２の装置から前記インタフェースを介して前記ドライバを読み出し可能状態とする手段を前記第２の装置内に設け、前記手段は、前記電子装置が前記ＵＳＢインタフェースを介して情報処理装置に接続された時に前記第１の装置をディスエーブル状態とし、前記第２の装置が前記情報処理装置に認識された後に前記第１の装置をイネーブル状態に制御するための所定の制御信号を生成することで、前記第２の装置が前記情報処理装置に認識された状態で、前記第１の装置の前記ドライバを読み出して前記情報処理装置にインストールすることをことを特徴とする電子装置で解決できる。上記電子装置をＰＣなどの情報処理装置に接続した場合、上記手段により第２の装置の動作が開始される。これにより、ドライバが第２の装置からインタフェース上に読み出し可能となる。よって、情報処理装置にドライバをインストールすることができる。仮に、上記手段が存在しないとすると、第１及び第２の装置は外部接続用の共通のインタフェース上でそれぞれトランザクションを発生させることができるので、第１及び第２の装置の接続が同時に認識されることになる。このような場合には、情報処理装置から第１の装置のドライバが要求されてしまう。これに対し、上記手段を設けたことにより、第１の装置のドライバを格納する第２の装置の接続が必ず最初に認識されるので、上記のような事態の発生を避けることができる。また、電子装置を接続した時に、第２の装置のみがインタフェースに接続状態となることを保証することができ、第１の装置のドライバをインタフェース上に読み出し、第１の装置のドライバをインストールすることができる。
【００１８】
上記電子装置において、例えば請求項２に記載のように、前記第１の装置をイネーブル状態及びディスエーブル状態に制御するための前記所定の制御信号を、専用の信号線を介して前記第１の装置に出力する。専用線を用いた一実施形態を特定するもので、これにより、電子装置を接続した時に、第２の装置のみがインタフェースに接続状態となることを保証することができ、第１の装置のドライバをインタフェース上に読み出して、第１の装置のドライバをインストールすることができる。
【００２０】
上記電子装置において、例えば請求項３に記載のように、前記手段は前記第１の装置をイネーブル状態及びディスエーブル状態に制御するための制御データを格納するメモリを有する。専用線とは別の実施形態を特定するもので、電子装置を接続した時に、第２の装置のみがインタフェースに接続状態となることを保証することができ、第１の装置のドライバをインタフェース上に読み出すことができる。なお、請求項３の一例は、後述する第４実施形態である。
【００２２】
上記電子装置において、例えば請求項４に記載のように、前記電子装置は前記第１及び第２の装置と前記インタフェースとの間でトランザクションをコントロールするハブ・コントローラを有し、前記手段は前記第２の装置内に設けられている。上記電子装置をより具体的に特定するもので、例えば後述する第３実施形態や第７実施形態に相当する。
【００２３】
上記電子装置において、例えば請求項５に記載のように、前記電子装置は前記第１及び第２の装置と前記インタフェースとの間でトランザクションをコントロールするハブ・コントローラを有し、前記第２の装置は前記ハブ・コントローラ内に設けられ、前記手段は前記第１の装置をイネーブル状態及びディスエーブル状態に制御するための前記所定の制御信号を生成し、前記第１の装置と前記インタフェースとの間のハブポートを介して前記制御信号を前記第１の装置に出力する。上記電子装置をより具体的に特定するもので、例えば後述する第７実施形態に相当する。
【００２７】
上記電子装置において、例えば請求項６に記載のように、前記電子装置は更に、第１及び第２の装置を１つの物理装置として制御するコントローラを具備し、前記第２の装置は前記手段を含むことを特徴とする。上記電子装置をより具体的に特定するもので、例えば後述する本発明の第４実施形態相当する。
【００２８】
上記電子装置において、例えば請求項７に記載のように、前記電子装置は更に、第１及び第２の装置を１つの物理装置として制御するコントローラを具備し、前記第１及び第２の装置はそれぞれ前記インタフェースを形成する個別のバスを介して外部の情報処理装置に接続可能である。上記電子装置をより具体的に特定するもので、例えば後述する本発明の第４実施形態相当する。
【００３１】
上記電子装置において、例えば請求項８に記載のように、前記第２の装置は、前記ドライバを格納する不揮発性の記憶装置を有する。第１の装置のドライバの格納手段の一例を特定したものである。
【００３４】
また、上記課題は請求項９に記載のように、第１の装置及びこのドライバを格納する第２の装置を内蔵し、該第１及び第２の装置は外部接続用の共通のＵＳＢインタフェース上でそれぞれトランザクションを発生させることができる電子装置と、前記インタフェースを介して前記電子装置に接続される情報処理装置を有するシステムであって、前記ＵＳＢインタフェースは、前記電子装置を情報処理装置に接続した場合において、前記第１の装置の前記ドライバが前記情報処理装置にとって未知の場合には前記第１の装置は前記情報処理装置により認識されない構成において、前記第１の装置よりも先に前記第２の装置の動作を開始させ、該第２の装置から前記インタフェースを介して前記ドライバを読み出し可能状態とする手段を前記第２の装置内に設け、前記手段は、前記電子装置が前記インタフェースを介して情報処理装置に接続された時に前記第１の装置をディスエーブル状態とし、前記第２の装置が前記情報処理装置に認識された後に前記第１の装置をイネーブル状態に制御するための所定の制御信号を生成することで、前記第２の装置が前記情報処理装置に認識された状態で、前記第１の装置の前記ドライバを読み出して前記情報処理装置にインストールすることを特徴とするシステムによって解決される。
【００３５】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照して説明する。
（第１実施形態）
図４は、本発明の第１実施形態による情報処理システムの構成を示すブロック図である。情報処理システムは、情報処理装置１０と電子装置３０とを有する。情報処理装置１０は例えば、パーソナルコンピュータである。電子装置３０は情報処理装置１０に接続可能な周辺装置であり、図４の例ではキーボードである。情報処理装置１０と電子装置３０とはＵＳＢケーブル１８で接続されている。以下、電子装置３０をＵＳＢ装置という。また、情報処理装置１０をＰＣという。
【００３６】
ＰＣ１０のＯＳ１１は例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）である。図４は、キーボードドライバ１２、記憶装置ドライバ１３及びＨＵＢ（ハブ）ドライバ２７がＯＳ１１上にインストールされている状態を示す。これらのドライバのうち、記憶装置ドライバ１３とＨＵＢドライバ２７はＯＳ１１に最初から組み込まれている標準のデバイスドライバである。キーボードドライバ１２は、後述する手順に従ってインストールされるものである。図示していないが、ＯＳ１１にはＯＳを構成する様々なプログラムやその他の各種ドライバ、更には各種ユーティリティが組み込まれている。ＯＳ１１は内部バス１６を介してＵＳＢホストコントローラ１４に接続されている。なお、ＰＣ１０のハードウェア構成はＣＰＵ、ＲＡＭ、ＲＯＭなどを含む一般的なものである。ＵＳＢホストコントローラ１４はＵＳＢをサポートするもので、ＰＣ１０に接続される周辺装置の各装置（ファンクション）を結び付けてＯＳ１１上に周辺装置の各機能を提供する。
【００３７】
ＵＳＢ装置３０は３つの装置、すなわち、キーボード装置３１、記憶装置３２及びＵＳＢ／ＨＵＢコントローラ３３内に設けられたＨＵＢ装置３４を有する。これらの装置は、ＰＣ１０に対するファンクション（周辺機器）である。つまり、ＵＳＢインタフェース上にトランザクションを発生させることができる。本発明の特徴の一つは後述するように、これら３つの装置がＯＳ１１上に機能を提供するまでのシーケンスにある。キーボード装置３１と記憶装置３２はそれぞれ、ＵＳＢバスであるＨＵＢポート３５と３６を介してＵＳＢ／ＨＵＢコントローラ３３に接続されている。
【００３８】
キーボード装置３１は、キーボードを構成するハードウェアとソフトウェアを有する。キーボード装置３１は、ＨＵＢ装置３４が出力するキーボード・イネーブル制御信号３８でイネーブル状態とディスエーブル状態に設定される。イネーブル状態とは、キーボード装置３１が動作可能な状態を意味する。また、ディスエーブル状態とは、少なくともキーボード装置３１の接続がＵＳＢインタフェース上で認識されない状態となることを意味する。キーボード装置３１のディスエーブル状態の一例は後述する。このキーボード・イネーブル制御信号３８は、ＨＵＢポート３５と３６とは別に設けられた専用の信号線であり、キーボード装置３１の汎用入出力端子や外部割り込み端子に接続される。キーボード・イネーブル制御信号３８がハイレベルの時はイネーブル状態、ローレベルの時はディスエーブル状態である。キーボード装置３１がイネーブル状態に設定されると、ＵＳＢ仕様に従って、接続状態をＨＵＢポート３５に出力する。なお、キーボード装置３１のより一構成例は後述する。
【００３９】
記憶装置３２は、記憶機能を提供するためのハードウェアとソフトフェアを有する。記憶装置３２はキーボードドライバを格納している。後述するシーケンスに従い、記憶装置３２からキーボードドライバが読み出され、ＯＳ１１上にキーボードドライバ１２として組み込まれる。記憶装置３２のデバイスドライバは、予め記憶装置ドライバ１３としてＯＳ１１に組み込まれている。なお、記憶装置３２の一構成例は後述する。
【００４０】
ＵＳＢ／ＨＵＢコントローラ３３はＵＳＢ及びＨＵＢをサポートするハードウェア及びソフトウェアを有する。ＵＳＢ／ＨＵＢコントローラ３３はＨＵＢ装置３４有する。ＨＵＢ装置３４はＨＵＢを制御するプログラム上で動作する内部プログラムであり、本実施の形態ではＵＳＢとしてのファンクションである。ＨＵＢ装置３４は、ＵＳＢケーブル１８の状態を監視して、キーボード・イネーブル制御信号３８をキーボード装置３１に出力する機能を有する。なお、ＨＵＢとはＵＳＢ規程の集線装置であり、図４の構成ではキーボード装置３１及び記憶装置３２とＵＳＢケーブル（ＵＳＢバス、ＵＳＢインタフェースといってもよい）との間でトランザクションを制御するものである。ＵＳＢ／ＨＵＢコントローラ３３は、ＵＳＢ装置であるキーボード装置３１と記憶装置３２とをＵＳＢ規程に則って接続している。なお、ＵＳＢ／ＨＵＢコントローラ３３の一構成例は後述する。
【００４１】
次に、図５を参照して第１実施形態の動作を説明する。図５（ａ）はＵＳＢ装置３０の動作シーケンスを示し、図５（ｂ）はＰＣ１０の動作シーケンスを示す。
【００４２】
ステップＳ１１及びＳ２１で、ＵＳＢケーブル１８を介してＵＳＢ装置３０をＰＣ１０に接続する。つまり、ＵＳＢケーブルを用いてＰＣ１０のコネクタとＵＳＢ装置３０のコネクタとを接続する。この接続により、ＵＳＢ装置にＰＣ１０から電源が供給され、ＵＳＢ／ＨＵＢコントローラ３３が動作を開始する。動作を開始した直後、ステップＳ１２で、ＵＳＢ／ＨＵＢコントローラ３３はキーボード・イネーブル制御信号３８をローレベルに設定して、キーボード装置３１をディスエーブル状態に設定する。これにより、キーボード装置３１はイネーブル状態になるまでは機能しない。ステップＳ２２で、ＰＣ１０はステップＳ２１を受けて、ＯＳ１１上に組み込まれているＨＵＢドライバ２７が動作を開始し、ＨＵＢコンフィギュレーションが設定される。他方、ＵＳＢ装置３０ではステップＳ１３で、ＨＵＢコンフィギュレーションが設定される。これにより、ＵＳＢ／ＨＵＢコントローラのＨＵＢが機能し始め、ＨＵＢ装置３４も機能し始める。
【００４３】
動作を開始したＨＵＢ装置３４はステップＳ１４で、ＵＳＢ仕様のＨＵＢ規定に従って、現在接続されている装置（ファンクション）を検出する。現在、記憶装置３２はイネーブル状態、キーボード装置３１はディスエーブル状態である。よって、ＨＵＢ装置３４は、記憶装置３２が現在接続されている周辺機器であることを検知する。ステップＳ２３で、ＰＣ１０のＵＳＢホストコントローラ１４がＵＳＢケーブル１８に接続されている記憶装置３２を検出する。そして、ステップＳ２４で、ＯＳ１１に組み込まれている記憶装置ドライバ１３を用いて、記憶装置３２のコンフィギュレーションが確立される。これにより、ステップＳ２５で、記憶装置３２がＰＣ１０の周辺装置として装着されたことになる。つまり、記憶装置３２はＰＣ１０上で新しいディスクドライブを提供する。
【００４４】
ＵＳＢ装置３０のＵＳＢ／ＨＵＢコントローラ３３は、ステップＳ１５で、記憶装置３２が稼動し始めたかどうかを監視している。ステップＳ２５で記憶装置３２の装着が完了した時点で、ステップＳ１５の判断結果はＹＥＳとなる。この判断結果を受けたＨＵＢ装置３４はステップＳ１６で、キーボード・イネーブル制御信号３８をローレベルからハイレベルに変化させ、キーボード装置３１をディスエーブル状態からイネーブル状態に設定する。これにより、キーボード装置３１が動作を開始し、ステップＳ１７で、ＨＵＢポート３５及びＵＳＢ／ＨＵＢコントローラ３３を介してＵＳＢケーブル１８に接続される。
【００４５】
ＰＣ１０のＵＳＢホストコントローラ１４は、ステップＳ２６で、未知のキーボードが接続されたことを検出する。そして、ＵＳＢホストコントローラ１４は、キーボード装置３１の特性を示す情報であるディスクリプタをキーボード機能３１から読み取り、その情報はＯＳ１１に伝えられる。ＯＳ１１はキーボード装置３１のドライバを特定して、ＰＣ１０内部のＨＤＤなどの記憶装置に格納されているかどうかを調べる。この例では、ＰＣ１０はキーボードドライバを具備していない。よって、ＯＳ１１は、外部ディスクドライブとして認識されている記憶装置３２にアクセスする。記憶装置３２は、キーボード装置３１のドライバを記憶している。ＯＳ１１はステップＳ２７で、記憶装置３２からドライバを読み出し、キーボードドライバ１２としてインストールする。そしてステップＳ２８で、キーボード・コンフィギュレーションが確立され、ステップＳ１８及びステップＳ２９で、キーボード装置３１のキーボードが稼動状態になる。このようにして、ＵＳＢ装置３０はディスクドライブ及びキーボードの機能を提供する稼動状態となる（ステップＳ１９、Ｓ３０）。
【００４６】
以上説明したように、本発明の第１実施形態は、キーボード装置３１とともにＵＳＢインタフェース上で認識可能な記憶装置３２をＵＳＢ装置３０内に設け、ＵＳＢ装置３０の接続時、記憶装置３２の動作を先に開始させて（つまり、キーボード装置３１をディスエーブル状態として）ドライバを読み出し可能状態とする手段（換言すれば、キーボード装置３１を記憶装置３２よりも遅れて認識させる手段）として、ＨＵＢ装置３４（周辺エンジン６５）を設けた構成である。これにより、キーボードドライバ１２がＯＳ１１上に無くとも、かつ別途ＣＤ−ＲＯＭ装置又はフレキシブル磁気ディスク装置を用意しなくとも、またあっても必要とせずに、自動的にキーボードドライバをＯＳ１１に組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくＵＳＢ装置３０をＰＣ１０に接続しただけでＵＳＢ装置３０の利用を開始することができ、プラグアンドプレイを体感することができる。
【００４７】
図６は、キーボード装置３１の一構成例を示すブロック図である。キーボード装置３１はＵＳＢインタフェース上のファンクション（周辺機器）であって、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）４１、キーボード・マトリクス４２及びこれらを接続するポート４３を有する。ＭＣＵ４１はマトリクス・スキャン４４、ＲＡＭ４５、インタフェース・エンジン４６、周辺エンジン４７、ＲＯＭ４８及びデータ解析エンジン４９を具備する。
【００４８】
キーボード・マトリクス４２は複数のキーがマトリクス状に配列された機構的部分である。マトリクス・スキャン４４はキーボード・マトリクス４２をスキャンしてキーのＯＮ／ＯＦＦを調査する部分であり、キーボードに必要なスキャンロジックである。キーボード・マトリクス４２は周辺エンジン４７に対してポート４３経由で接続されている。周辺エンジン４７には、汎用入出力ポートや該日割り込み端子を介して、ＨＵＢ装置３４からのキーボード・イネーブル制御信号３８が与えられる。キーボード・イネーブル制御信号３８は、ＭＣＵ４１がそのハイレベルとローレベルレベルを検出できる信号であるならば、任意の仕様を持つことができる。前述したように、キーボード・イネーブル制御信号３８がハイレベルであればキーボード装置３１は動作可能なイネーブル状態であり、ローレベルであれば動作してはならないディスエーブル状態である。データ解析エンジン４９は、マトリクス・スキャン４４と周辺エンジン４７からキーデータを取得し、またキーボード・イネーブル制御信号３８のレベルをチェックして動作が許可されているかどうかを判断するなど、ＭＣＵ４１全体を制御する部分である。
【００４９】
インタフェース・エンジン４６はキーボード装置３１を外部に接続するためのインタフェースを提供するもので、接続状態を監視・制御し、外部バスインタフェース（ＵＳＢケーブル１８に相当する）を通じてあらゆるトランザクションを制御する。データ解析エンジン４９は、キーボード・イネーブル制御信号の状態がハイレベルであれば、インタフェース・エンジン４６とマトリクス・スキャン４４の動作を許可し、ローレベルであれば、インタフェース・エンジン４６とマトリクス・スキャン４４の動作を禁止する。周辺エンジン４７は、キーボード・イネーブル制御信号３８の状態を検出するために、ディスエーブル状態であっても動作している。データ解析エンジン４９は、インタフェース・エンジン４６の動作を許可している間、マトリクス・スキャン４４からキー状態を受けとり、必要ならばインタフェース・エンジン４６を通じて外部にデータを出力させる。また、データ解析エンジン４９は、インタフェース・エンジン４６を通して外部から入力されたデータを受け取り、データ内容に応じた適切な処理を施す。マトリクス・スキャン４４、データ解析エンジン４９及びインタフェース・エンジン４６はＭＣＵ４１上のＲＯＭ４８もしくはＲＡＭ４５上、又はＭＣＵ４１に外付けされたＲＯＭやＲＡＭ上で動作する。また、マトリクス・スキャン４４、周辺エンジン４７及びデータ解析エンジン４９が必要とする各種データも、ＭＣＵ４１上のＲＯＭ４８もしくはＲＡＭ４５、又はＭＣＵ４１に外付けされたＲＯＭやＲＡＭに格納されている。
【００５０】
図７は、記憶装置３２の一構成例を示すブロック図である。記憶装置３２はＵＳＢインタフェース上のファンクション（周辺機器）であって、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）５１、不揮発性記憶装置５２及びこれらを接続するポート５３を有する。ＭＣＵ５１はファイルシステム・エンジン５４、ＲＡＭ４５、インタフェース・エンジン４６、周辺エンジン５７、ＲＯＭ５８及びデータ解析エンジン５９を具備する。
【００５１】
不揮発性記憶装置５２はフラッシュＲＯＭやＦｅＲＡＭなどの不揮発性メモリで構成され、ＭＣＵ５１で制御される。この不揮発性記憶装置５２内に、キーボード装置３１のドライバが格納されている。不揮発性記憶装置５２は、ポート５３を介してＭＣＵ５１上の周辺エンジン５７に接続され、ＭＣＵ５１から見ると、外部接続された又は内部のＲＡＭ／ＲＯＭとして見える。ＭＣＵ５１上に内蔵されるＲＡＭ５５やＲＯＭ５８の存在の有無にかかわらず、不揮発性記憶装置５２は外部バスインタフェース１８にとって有効なディスクドライブとして動作する。そのため、不揮発性記憶装置５２上の内容をファイルとして管理するファイルシステム・エンジン５４がＭＣＵ５１に搭載されている。ファイルシステム・エンジン５４は、不揮発性記憶装置５２上に展開されるメモリ内容をファイルとして管理する。管理方法が種々あるが、例えばＰＣ１０側にあるファイルを記憶装置３２に保存する場合を考えると、そのファイルの内容に一致するメモリ内容が、記憶装置３２上のメモリのどの位置に記録され、それとファイル名やタイムスタンプの情報など、前記記録された内容がファイルであることを示す情報が同じく記憶装置３２上のメモリのどの位置に記録されているか、またはその記録手段などの情報を管理する。ＨＵＢポート３６からは、ファイルの読み書き要求がＭＣＵ５１のインタフェース・エンジン５６に対して発行される。データ解析エンジン５９は、上記要求の内容を調査してファイルシステム・エンジンF５４や周辺エンジン５７を制御する。
【００５２】
図８は、ＵＳＢ／ＨＵＢコントローラ３３のうちのＨＵＢコントローラ１３３の一構成例を示すブロック図である。ＨＵＢコントローラ１３３はデータ解析エンジン６１、ＲＡＭ６２、インタフェース・エンジン６３、ＨＵＢインタフェース・エンジン６４、周辺エンジン６５及びＲＯＭ６６を有する。図４のＨＵＢ装置３４は、周辺エンジン６５で実現されている。
【００５３】
ＨＵＢポート３５及び３６は、ＨＵＢインタフェース・エンジン６４に接続されている。ＨＵＢインタフェース・エンジン６４は図５に示すステップＳ１３のＨＵＢコンフィギュレーションの確立処理を行う。ＵＳＢケーブル１８はインタフェース・エンジン６３に接続されている。データ解析エンジン６１は、ＨＵＢポート３５や３６、及びＵＳＢケーブル１８を介して受信したデータや信号を解析し、ＨＵＢコントローラ１３３全体を制御する。周辺エンジン６５はデータ解析エンジン６１の指示により、キーボード・イネーブル制御信号３８を生成して出力する。例えば、図５のステップＳ１１でＵＳＢ装置３０が接続されると、インタフェース・エンジン６３からデータ解析エンジン６１に接続が通知される。接続の通知を受けた周辺エンジン６５は、キーボード・イネーブル制御信号３８をローレベルに設定する。ＲＡＭ６２は各エンジンの作業用メモリとして機能する。ＲＯＭ６５には、各エンジンの動作を記述したプログラムやデータが格納されている。
【００５４】
（第２実施形態）
図９は、本発明の第２実施形態を示す図である。図９中、前述した構成要素と同一のものには同一の参照番号を付してある。ＵＳＢ装置１３０はＵＳＢケーブル１８を介してＰＣ１０に接続される。ＵＳＢ装置１３０は、前述したＵＳＢ装置３０と異なり、記憶装置３２Ａがキーボード・イネーブル制御信号３８を生成して、キーボード装置３１に出力する。つまり、図５のステップＳ１２とＳ１６の制御は、記憶装置３２Ａによって行われる。よって、ＵＳＢ／ＨＵＢコントローラ３３Ａが内蔵するＨＵＢ装置３４Ａは、キーボード・イネーブル制御信号３８を生成する機能を持たない。つまり、一般のＨＵＢで良い。
図１０は、記憶装置３２Ａの一構成例を示すブロック図である。図１０中、図７に示す構成要素と同一のものには同一の参照番号を付してある。記憶装置３２Ａは、前述した周辺エンジン５７にキーボード・イネーブル制御信号３８を生成する機能を付加した周辺エンジン５７Ａを具備する。また、データ解析エンジン５９Ａが図７に示すデータ解析エンジン５９と異なる。
【００５５】
外部バスインタフェース１８上で記憶装置３２Ａが記憶装置として動作を開始したかどうかは、データ解析エンジン５９Ａで検出される。データ解析エンジン５９Ａは、記憶装置３２Ａが記憶装置として動作を開始したことを確認したうえで、周辺エンジン５７Ａを制御して、キーボード・イネーブル制御信号３８を操作する。
【００５６】
図１１は、図９に示すＵＳＢ／ＨＵＢコントローラ３３ＡのうちのＨＵＢコントローラ１３３Ａの一構成例を示すブロック図である。図１１中、図８に示す構成要素と同一のものには同一の参照番号を付してある。図１１に示す周辺エンジン６５Ａは、図８に示す周辺エンジン６５と異なり、キーボード・イネーブル制御信号３８を生成する機能を持たない。
【００５７】
以上説明したように、第２実施形態は、キーボード装置３１とともにＵＳＢインタフェース上で認識可能な記憶装置３２ＡをＵＳＢ装置１３０内に設け、ＵＳＢ装置１３０の接続時、記憶装置３２Ａの動作を先に開始させてドライバを読み出し可能状態とする手段として、記憶装置３２Ａ内に周辺エンジン５７Ａを設けた構成である。これにより、キーボードドライバ１２がＯＳ１１上に無くとも、かつ別途ＣＤ−ＲＯＭ装置又はフレキシブル磁気ディスク装置を用意しなくとも、またあっても必要とせずに、自動的にキーボードドライバをＯＳ１１に組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくＵＳＢ装置１３０をＰＣ１０に接続しただけでＵＳＢ装置１３０の利用を開始することができ、プラグアンドプレイを体感することができる。
【００５８】
（第３実施形態）
図１２は、本発明の第３実施形態を示す図である。図１２中、前述した構成要素と同一のものには同一の参照番号を付してある。ＵＳＢ装置２３０はＵＳＢケーブル１８を介してＰＣ１０に接続される。ＵＳＢ装置２３０は、前述した第２実施形態のＵＳＢ装置１３０と異なり、キーボード・イネーブル制御信号３８を生成する機能を具備した記憶装置３２ＢがＵＳＢ／ＨＵＢコントローラ３３Ｂ内部に設けられていることを特徴とする。つまり、ＵＳＢ上で認識可能なＨＵＢコントローラの内蔵機能として、記憶機能が形成されている。この記憶装置３２Ｂがキーボード装置３１にキーボード・イネーブル制御信号３８を生成し、専用の信号線を介してキーボード装置３１に出力する。
【００５９】
図１３は、記憶装置３２Ｂ及びＵＳＢ／ＨＵＢコントローラ３３ＢのうちのＨＵＢコントローラ１３３Ｂの一構成例を示すブロック図である。図１３中、前述した構成要素と同一のものには同一の参照番号を付してある。図１３に示すように、記憶装置３２ＢとＨＵＢコントローラ１３３Ｂは、データ解析エンジン５９を共用する構成である。これにより、記憶装置３２ＢをＨＵＢコントローラ１３３Ｂに組み込んでいる。前述した本発明の第１実施形態では、記憶装置３２が接続されているＨＵＢポート３６ポートのコンフィギュレーション状態をＨＵＢコントローラ１３３から読み取り、キーボード・イネーブル制御信号３８を制御していた。これに対し、図１３に示す記憶装置３２Ｂでは、自身がコンフィギュレーションされ、記憶装置、すなわちディスクドライブとして動作開始したことを検出した上で、ＨＵＢコントローラ１３３Ｂの周辺エンジン６５を操作して、キーボード・イネーブル制御信号３８をキーボード装置３１に出力する。このように、記憶装置３２Ｂは、ＨＵＢコントローラ１３３Ｂ内で動作する周辺装置である。
【００６０】
以上説明したように、第３実施形態は、キーボード装置３１とともにＵＳＢインタフェース上で認識可能な記憶装置３２ＢをＵＳＢ装置２３０内に設け、ＵＳＢ装置２３０の接続時、記憶装置３２Ｂの動作を先に開始させてドライバを読み出し可能状態とする手段として、ＵＳＢ／ＨＵＢコントローラ３３Ｂ内に設けられた記憶装置３２内に周辺エンジン５７Ａを設けた構成である。これにより、キーボードドライバ１２がＯＳ１１上に無くとも、かつ別途ＣＤ−ＲＯＭ装置又はフレキシブル磁気ディスク装置を用意しなくとも、またあっても必要とせずに、自動的にキーボードドライバをＯＳ１１に組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくＵＳＢ装置２３０をＰＣ１０に接続しただけでＵＳＢ装置２３０の利用を開始することができ、プラグアンドプレイを体感することができる。
【００６１】
（第４実施形態）
図１４は、本発明の第４実施形態を示す図である。図１４中、前述した構成要素と同一のものには同一の参照番号を付してある。ＵＳＢ装置３３０は、マルチ機能コントローラ７０を有する。マルチ機能コントローラ７０は、キーボード装置３１Ａと記憶装置３２Ｃとを有する。つまり、キーボード装置３１Ａと記憶装置３２Ｃとは、マルチ機能コントローラ７０上で一つの物理デバイスとして存在する。キーボード装置３１ＡはＵＳＢケーブル１８Ａを介してＵＳＢホストコントローラ１４に接続され、記憶装置３２ＣはＵＳＢケーブル１８Ｂを介してＵＳＢホストコントローラ１４に接続されている。記憶装置３２Ｃは、キーボード装置３１Ａにキーボード・イネーブル制御信号３８を出力する。
【００６２】
図１５は、キーボード装置３１Ａの一構成例を示すブロック図である。図中、前述した構成要素と同一のものには同一の参照番号を付してある。キーボード装置３１Ａはキーボード・マトリクス４２、マトリクス・スキャン４４及びデータ解析エンジン４９を有する。マルチ機能コントローラ７０は、ＲＡＭ７２、インタフェース・エンジン７３、周辺エンジン７４及びＲＯＭ７５を有する。これらの構成要素は、キーボード装置３１Ａの構成要素でもあり、全体として図６に示すキーボード装置３１と同一の構成及び作用が実現されている。図６に示すキーボード装置３１の構成では、キーボード・イネーブル制御信号３８が信号線によるハードウェア接続であった。これに対し、図１５に示すキーボード装置３１Ａでは、キーボード・イネーブル制御信号３８はＲＡＭ７２上に展開されたメモリステータスである。このメモリステータスは１ビット構成であり、所定のアドレスに格納されている。このようなメモリステータスは、記憶装置３２Ｃによって操作される。キーボード装置３１Ａは、ＲＡＭ７２の上記ステータスを参照することで、イネーブル状態又はディスエーブル状態となる。ＲＡＭ７２、インタフェース・エンジン７３、周辺エンジン７４及びＲＯＭ７５は図６に示す対応する構成要素と同様である。
【００６３】
図１６は、記憶装置３２Ｃの一構成例を示すブロック図である。図中、前述した構成要素と同一のものには同一の参照番号を付してある。記憶装置３２Ｃは、不揮発性記憶装置５２、ファイルシステム・エンジン５４及びデータ解析エンジン５９を有する。マルチ機能コントローラ７０のＲＡＭ７２、インタフェース・エンジン７３、周辺エンジン７４及びＲＯＭ７５は、記憶装置３２Ｃの構成要素でもある。つまり、構成要素７２〜７５はキーボード装置３１Ａと記憶装置３２Ｃとで共用されている。記憶装置３２Ｃの機能は、図１３に示す記憶装置３２Ｂの機能と同様である。ただし、図１３ではキーボード・イネーブル制御信号３８がキーボード装置３１のポートのレベルをハイ／ローに設定する構成であったのに対し、図１６ではデータ解析エンジン５８がＲＡＭ７２の１ビット構成のメモリステータスに１又は０を書き込む点で相違する。記憶装置３２Ｃは、自分がディスクドライブとして動作を開始したときに、１をＲＡＭ７２に書き込む。キーボード装置３１Ａのデータ解析エンジン４９は、このメモリステータスの１ビットを読み出し、イネーブル状態になる。
【００６４】
以上説明したように、第４実施形態は、キーボード装置３１ＡとともにＵＳＢインタフェース上で認識可能な記憶装置３２Ｃをマルチ機能コントローラ７０内に設け、ＵＳＢ装置３３０の接続時、記憶装置３２Ｃの動作を開始させてドライバを読み出し可能状態とする手段として、マルチ機能コントローラ７０内に設けられたＲＡＭ７２の所定のメモリステータスを定義した構成である。つまり、メモリステータスビットは、ＨＵＢが記憶装置以外の装置、具体的にはキーボード装置３１Ａの認識を遅らせるように作用する。これにより、キーボードドライバ１２がＯＳ１１上に無くとも、かつ別途ＣＤ−ＲＯＭ装置又はフレキシブル磁気ディスク装置を用意しなくとも、またあっても必要とせずに、自動的にキーボードドライバをＯＳ１１に組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくＵＳＢ装置３３０をＰＣ１０に接続しただけでＵＳＢ装置２３０の利用を開始することができ、プラグアンドプレイを体感することができる。
【００６５】
図１７は、図１５と図１６をまとめて図示したものである。参照番号７９で示される装置１がキーボード装置３１Ａに相当し、参照番号８０で示される装置２が記憶装置３２Ｃに相当する。
【００６６】
（第５実施形態）
図１８は、本発明の第５実施形態を示す図である。図１８中、前述した構成要素と同一のものには同一の参照番号を付してある。ＵＳＢ装置４３０は、キーボード装置３１と記憶装置３２Ａとを有する。つまり、キーボード装置３１Ａと記憶装置３２Ｃとは、ＵＳＢ装置４３０上で別々の物理デバイスとして存在する。ＵＳＢ装置４３０はＨＵＢ機能を持たない。キーボード装置３１はＵＳＢケーブル１８Ａを介してＵＳＢホストコントローラ１４に接続され、記憶装置３２ＡはＵＳＢケーブル１８Ｂを介してＵＳＢホストコントローラ１４に接続されている。記憶装置３２Ａは、キーボード装置３１にキーボード・イネーブル制御信号３８を出力する。キーボード装置３１の構成は図６に示す通りであり、記憶装置３２Ａの構成は図１０に示す通りである。また、これらの動作についても前述した通りである。
【００６７】
なお、ＰＣ１０のＯＳ１１上には、ＵＳＢ装置４３０に係るＨＵＢドライバが組み込まれていない。
【００６８】
（第６実施形態）
図１９は、本発明の第６実施形態を示す図である。図１９中、前述した構成要素と同一のものには同一の参照番号を付してある。ＵＳＢ装置５３０は、図４に示すＵＳＢ装置３０の変形例に相当する。図４では、ＨＵＢ装置３４がＨＵＢポート３５とは別の信号線を用いて、キーボード・イネーブル制御信号３８をキーボード装置３１に供給していた。これに対し、図１９に示す構成では、ＨＵＢ装置３４ＢがＨＵＢポート３５を経由してキーボード・イネーブル制御信号３８をキーボード装置３１Ｂに供給するものである。この供給は例えば、ＨＵＢ装置３４Ｂはポート３５をＵＳＢ規程の“リセットステート”などに保持することで行われる。
【００６９】
図２０は、キーボード装置３１Ｂの一構成例を示すブロック図である。図２０中、図６に示す構成要素と同一のものには同一の参照番号を付してある。図６に示す構成では、周辺エンジン４７が専用線を介してキーボード・イネーブル制御信号３８を受信する。これに対し、図２０に示す周辺エンジン４７Ａはこのような機能を持たない。代わりに、インタフェース・エンジン４６がＨＵＢポート３５を介して送られてくるキーボード・イネーブル制御信号３８を受信する。
【００７０】
図２１は、ＵＳＢ／ＨＵＢコントローラ３３Ｃを構成するＨＵＢコントローラ内のＨＵＢ装置３４Ｂの一構成例を示すブロック図である。図２１中、図１１に示す構成要素と同一のものには同一の参照番号を付してある。ＨＵＢインタフェース・エンジン６４Ａは、ＨＵＢポート３５を制御してキーボード・イネーブル制御信号３８をキーボード装置３１Ｂに出力する。
【００７１】
以上説明したように、本発明の第６実施形態は、キーボード装置３１ＢとともにＵＳＢインタフェース上で認識可能な記憶装置３２をＵＳＢ装置５３０内に設け、ＵＳＢ装置５３０の接続時、記憶装置３２の動作を開始させてドライバを読み出し可能状態とする手段としてＨＵＢコントローラ１３３Ｃ内のＨＵＢインタフェース・エンジン６４Ａを設けた構成である。これにより、キーボードドライバ１２がＯＳ１１上に無くとも、かつ別途ＣＤ−ＲＯＭ装置又はフレキシブル磁気ディスク装置を用意しなくとも、またあっても必要とせずに、自動的にキーボードドライバをＯＳ１１に組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくＵＳＢ装置３０をＰＣ１０に接続しただけでＵＳＢ装置３０の利用を開始することができ、プラグアンドプレイを体感することができる。
【００７２】
（第７実施形態）
図２２は、本発明の第７実施形態を示すブロック図である。図２２中、前述した構成要素と同一のものには同一の参照番号を付してある。ＵＳＢ装置６３０は、図１２に示すＵＳＢ装置２３０の変形例に相当する。図１２では、記憶装置３２ＢがＨＵＢポート３５とは別の専用の信号線を用いて、キーボード・イネーブル制御信号３８をキーボード装置３１に供給していた。これに対し、図２２に示す構成では、ＵＳＢ／ＨＵＢコントローラ３３Ｄに設けられた記憶装置３２ＤがＨＵＢポート３５を介して、キーボード・イネーブル制御信号３８をキーボード装置３１Ｂに供給するものである。
【００７３】
図２３は、記憶装置３２Ｄ及びＵＳＢ／ＨＵＢコントローラ３３Ｄ内のＨＵＢコントローラ１３３Ｄの一構成例を示すブロック図である。図中、前述した図１３に示す構成要素と同一のものには同一の参照番号を付してある。ＨＵＢインタフェース・エンジン６４ＣはＨＵＢポート３５を介して、キーボード装置３１Ｂにキーボード・イネーブル制御信号３８を出力する。従って、ＨＵＢコントローラ３３Ｄ内の周辺エンジン６５Ａは図１３と異なり、キーボード・イネーブル制御信号３８を出力する機能を持たない。また、記憶装置３２Ｄは不揮発性記憶装置５２、ファイルシステム・エンジン５１及びデータ解析エンジン５９を具備している。また、ＨＵＢコントローラ１３３Ｄの各部を共用している。
【００７４】
以上説明したように、本発明の第７実施形態は、キーボード装置３１ＢとともにＵＳＢインタフェース上で認識可能な記憶装置３２ＤをＵＳＢ装置６３０内に設け、ＵＳＢ装置６３０の接続時、記憶装置３２Ｄの動作を開始させてドライバを読み出し可能状態とする手段としてＨＵＢインタフェース・エンジン６４Ｃを設けた構成である。これにより、キーボードドライバ１２がＯＳ１１上に無くとも、かつ別途ＣＤ−ＲＯＭ装置又はフレキシブル磁気ディスク装置を用意しなくとも、またあっても必要とせずに、自動的にキーボードドライバをＯＳ１１に組み込むことができる。従って、ユーザはドライバをインストールする際、ドライバが格納されている記憶手段の心配をすることなくＵＳＢ装置６３０をＰＣ１０に接続しただけでＵＳＢ装置６３０の利用を開始することができ、プラグアンドプレイを体感することができる。
【００７５】
（第８実施形態）
図２４は、本発明の第８実施形態を示すブロック図である。図２４中、前述した構成要素と同一のものには同一の参照番号を付してある。ＵＳＢ装置７３０は、図１４に示すＵＳＢ装置３３０の変形例に相当する。図１４に示す構成は、２本のＵＳＢケーブル１８Ａ、１８Ｂを用いてＵＳＢ装置３３０をＰＣ３０に接続する構成であった。これに対し、図２４に示すＵＳＢ装置７３０は、１本のＵＳＢケーブル１８を用いている。ＵＳＢ仕様において、１本のＵＳＢケーブルに１つのコントローラから２つ以上の装置（ファンクション）を構成することが認められている場合に有効である。
【００７６】
図２５は、図２４に示すマルチ機能コントローラ７０の構成を示す図である。図１７に示す構成に比べ、図２５の構成は１本のＵＳＢケーブル１８が用いられている点で相違する。
【００７７】
以上説明した第１から第８の実施形態において、記憶装置３２、３２Ａ、３２Ｂ、３２Ｃ、３２Ｄ内のドライバを更新して、更新された新たなドライバをＯＳ１１にインストールすることができる。このために、情報処理装置１０が新たなドライバを記憶装置３２、３２Ａ、３２Ｂ、３２Ｃ、３２Ｄに書き込む。更新時、ＵＳＢケーブル１８、１８Ａ、１８Ｂ上にコマンドデータ・トランザクションを発生させる。この処理はＵＳＢ／ＨＵＢコントローラ３３、３３Ａ、３３Ｂ、３３Ｃ、３３Ｄが行う。このコマンドデータにより情報処理装置１０にドライバが更新されたことを通知する。そして、キーボード・イネーブル制御信号３８をローレベルに設定して、キーボード装置３１、３１Ａ、３１Ｂをディスエーブル状態とする。これにより、キーボードドライバ１２はＯＳ１１の管理下のメモリから消滅する。以下、図５のステップＳ１２以降と同様の処理により、更新後のキーボードドライバがＯＳ１１上に組み込まれる。これにより、キーボード装置３１、３１Ａ、３１Ｂの接続状態を機械的に作らなくてもキーボード装置３１、３１Ａ、３１Ｂの再接続状態を発生させることができ、ドライバをダイナミックに更新することができる。
【００７８】
上記第１から第８の実施形態はキーボード装置を具備するＵＳＢ装置の例であった。本発明はこれに限定されず、キーボード装置以外の様々な電子装置を含むものである。この場合には、記憶装置に対応する装置のドライバが格納される。また、ＵＳＢ装置は複数の装置を具備する構成であってもよい。この場合には、記憶装置に複数の装置夫々のドライバが格納される。
【００７９】
また、本発明はインタフェースとしてＵＳＢに限定されるものではなく、他のインタフェース、例えばパラレルやシリアルインタフェース、ＩＥＥＥ１３９４などのインタフェースを持つ電子装置を含むものである。本発明は、ＵＳＢインタフェースに加えてこれらのインタフェースを具備する電子装置も含む。また、本発明は有線のインタフェースのみならず、無線のインタフェースを用いた電子装置をも含むものである。
【００８０】
【発明の効果】
以上説明したように、本発明によれば、電子機器に格納された当該電子機器のドライバを自動的にインストールすることができる機能を持った汎用性のある電子機器及びその制御方法並びに情報処理システムを提供することができる。
【図面の簡単な説明】
【図１】従来の情報処理システムを示すブロック図である。
【図２】従来技術によりドライバをインストールする方法を示すブロック図である。
【図３】従来技術の問題点を説明するためのブロック図である。
【図４】本発明の第１実施形態を示すブロック図である。
【図５】第１実施形態の動作を示すシーケンスを示すフローチャートである。
【図６】図４に示すキーボード装置の一構成例を示すブロック図である。
【図７】図４に示す記憶装置の一構成例を示すブロック図である。
【図８】図４に示すＵＳＢ／ＨＵＢコントローラのうちのＨＵＢコントローラの一構成例を示すブロック図である。
【図９】本発明の第２実施形態を示すブロック図である。
【図１０】図９に示す記憶装置の一構成例のブロック図である。
【図１１】図９に示すＵＳＢ／ＨＵＢコントローラのうちのＨＵＢコントローラの一構成例を示すブロック図である。
【図１２】本発明の第３実施形態を示すブロック図である。
【図１３】図１２に示す記憶装置及びＵＳＢ／ＨＵＢコントローラのうちのＨＵＢコントローラの一構成例を示すブロック図である。
【図１４】本発明の第４実施形態を示すブロック図である。
【図１５】図１４に示すキーボード装置の一構成例のブロック図である。
【図１６】図１４に示す記憶装置の一構成例のブロック図である。
【図１７】図１５と図１６を併せた構成を示すブロック図である。
【図１８】本発明の第５実施形態を示すブロック図である。
【図１９】本発明の第６実施形態を示すブロック図である。
【図２０】図１９に示すキーボード装置の一構成例を示すブロック図である。
【図２１】図１９に示すＵＳＢ／ＨＵＢコントローラを構成するＨＵＢコントローラの一構成例を示すブロック図である。
【図２２】本発明の第７実施形態を示すブロック図である。
【図２３】図２２に示す記憶装置及びＵＳＢ／ＨＵＢコントローラ内のＨＵＢコントローラの一構成例を示すブロック図である。
【図２４】本発明の第８実施形態を示すブロック図である。
【図２５】図２４に示すマルチ機能コントローラ７０の構成を示す図である。
【符号の説明】
１０    情報処理装置
１１    ＯＳ
１２    キーボードドライバ
１３    記憶装置ドライバ
１４    ＵＳＢホストコントローラ
１５    記憶装置
１６、１７    内部バス
１８、１８Ａ、１８Ｂ    ＵＳＢケーブル
２０    ＵＳＢ装置
２１    キーボード装置
２２    外部記憶装置
２３    ＵＳＢ装置（周辺装置、電子装置）
２４    キーボード装置
２５    ＵＳＢ外部記憶装置
２７    ＨＵＢドライバ
３０    ＵＳＢ装置（周辺装置、電子装置）
３１、３１Ａ，３１Ｂ    キーボード装置
３２、３２Ａ，３２Ｂ，３２Ｃ、３２Ｄ    記憶装置
３３、３３Ａ，３３Ｂ，３３Ｃ、３３Ｄ    ＵＳＢ／ＨＵＢコントローラ
３４、３４Ａ，３４Ｂ    ＨＵＢ装置
３５、３６    ＨＵＢポート
３８    キーボード・イネーブル制御信号
【図１】
0004346853.tif 000002
【図２】
0004346853.tif 000003
【図３】
0004346853.tif 000004
【図４】
0004346853.tif 000005
【図５】
0004346853.tif 000006
【図６】
0004346853.tif 000007
【図７】
0004346853.tif 000008
【図８】
0004346853.tif 000009
【図９】
0004346853.tif 000010
【図１０】
0004346853.tif 000011
【図１１】
0004346853.tif 000012
【図１２】
0004346853.tif 000013
【図１３】
0004346853.tif 000014
【図１４】
0004346853.tif 000015
【図１５】
0004346853.tif 000016
【図１６】
0004346853.tif 000017
【図１７】
0004346853.tif 000018
【図１８】
0004346853.tif 000019
【図１９】
0004346853.tif 000020
【図２０】
0004346853.tif 000021
【図２１】
0004346853.tif 000022
【図２２】
0004346853.tif 000023
【図２３】
0004346853.tif 000024
【図２４】
0004346853.tif 000025
【図２５】
0004346853.tif 000026