(57)【要約】【課題】  一度使用したデバイス機器の再接続に際して短時間で使用準備を完了することのできるデバイス接続方法を提供する。【解決手段】  ホスト機器１がデバイス機器２からデバイス規定情報を読み込んだ際に、デバイス機器２の識別情報とデバイス規定情報とを対応させて記憶装置６の格納部８に記憶させておき、インターフェイス１０に対するデバイス機器２の再接続をホスト機器１が検知した時点で、ホスト機器１がデバイス機器２から識別情報を読み込み、この識別情報が格納部８に記憶されているか否かを判定し、記憶されている場合には、当該識別情報に対応して格納部８が記憶しているデバイス規定情報を適用してデバイス機器２をマウントする。【選択図】図１
2008009659.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器とデバイス機器をインターフェイスを介して接続する際にホスト機器がデバイス機器のデバイス規定情報を参照して自動的にデバイス機器をマウントするようにしたデバイス接続方法であって、
前記インターフェイスに対するデバイス機器の接続を前記ホスト機器が検知した時点で、該デバイス機器の識別情報を前記ホスト機器が読み込み、
該読み込まれた識別情報が前記ホスト機器に記憶されていれば、該ホスト機器が当該識別情報に対応して記憶しているデバイス規定情報を適用して前記デバイス機器をマウントする一方、
前記読み込まれた識別情報が前記ホスト機器に記憶されていなければ、該デバイス機器からデバイス規定情報を改めて読み込み、該デバイス機器から読み込んだデバイス規定情報を該デバイス機器の識別情報に対応させて前記ホスト機器に記憶し、該デバイス規定情報を適用して前記デバイス機器をマウントすることを特徴としたデバイス接続方法。
【請求項２】
前記ホスト機器が、識別情報とデバイス規定情報を更新して記憶し、デバイス機器から前記ホスト機器にデバイス規定情報が改めて読み込まれるまでの間、前記ホスト機器が前記デバイス機器をマウントする際にロードしたデバイスドライバを実行可能状態で保持することを特徴とした請求項１記載のデバイス接続方法。
【請求項３】
前記ホスト機器が、識別情報とデバイス規定情報との対応関係を複数組記憶することを特徴とした請求項１記載のデバイス接続方法。
【請求項４】
前記ホスト機器が、前記各デバイス機器をマウントする際にロードしたデバイスドライバと各識別情報との対応関係を保持して、複数のデバイスドライバを実行可能状態で保持し、前記ホスト機器が、読み込まれた識別情報に応じて選択的に前記デバイスドライバを使用することを特徴とした請求項３記載のデバイス接続方法。
【請求項５】
前記デバイス機器がＵＳＢデバイスであって、前記デバイス規定情報が、デバイス，コンフィギュレーション，インターフェイス，エンドポイントの各ディスクリプタ情報によって構成されていることを特徴とする請求項１，請求項２，請求項３または請求項４記載のデバイス接続方法。
【請求項６】
インターフェイスを介してデバイス機器を接続する際にデバイス機器のデバイス規定情報を参照して自動的にデバイス機器をマウントするようにしたホスト機器であって、
前記インターフェイスに対するデバイス機器の接続を検知した時点で該デバイス機器の識別情報を読み込む識別情報読込手段と、
前記読み込まれた識別情報が該ホスト機器の記憶手段に記憶されているか否かを判定する判定手段と、
前記判定手段による判定結果が真となった場合に、当該識別情報に対応して前記記憶手段に記憶されているデバイス規定情報を適用して前記デバイス機器をマウントする再マウント手段と、
前記判定手段による判定結果が偽となった場合に、該デバイス機器からデバイス規定情報を改めて読み込み、該デバイス機器から読み込んだデバイス規定情報を該デバイス機器の識別情報に対応させて前記記憶手段に記憶させ、該デバイス規定情報を適用して前記デバイス機器をマウントする新規マウント手段とを備えたことを特徴としたホスト機器。
【請求項７】
インターフェイスを介してデバイス機器を接続する際にデバイス機器のデバイス規定情報に基づいて自動的にデバイス機器をマウントするようにしたデバイス機器接続用プログラムであって、
デバイス機器の接続対象となるホスト機器のマイクロプロセッサを、
前記インターフェイスに対するデバイス機器の接続を検知した時点で該デバイス機器の識別情報を読み込む識別情報読込手段、
前記読み込まれた識別情報が該ホスト機器の記憶手段に記憶されているか否かを判定する判定手段、
前記判定手段による判定結果が真となった場合に、当該識別情報に対応して前記記憶手段に記憶されているデバイス規定情報を適用して前記デバイス機器をマウントする再マウント手段、および、
前記判定手段による判定結果が偽となった場合に、該デバイス機器からデバイス規定情報を改めて読み込み、該デバイス機器から読み込んだデバイス規定情報を該デバイス機器の識別情報に対応させて前記記憶手段に記憶させ、該デバイス規定情報を適用して前記デバイス機器をマウントする新規マウント手段として機能させることを特徴としたデバイス機器接続用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト機器がデバイス機器から読み込んだデバイス規定情報に基づいてホスト機器側の処理で自動的にデバイス機器をマウントするようにしたデバイス接続方法いわゆるPlug and Play方式を適用したデバイス接続方法の改良に関する。
【背景技術】
【０００２】
Plug and Play方式を適用したデバイス接続方法に適したＵＳＢ接続およびＵＳＢデバイス機器が既に公知である。
【０００３】
ＵＳＢホスト機器にＵＳＢデバイス機器を接続する際の従来処理の概略について図４のフローチャートを参照して簡単に説明する。
【０００４】
ホスト機器のインターフェイスにデバイス機器が接続されたことがホスト機器によって検知されると（ステップＣ１）、まず、ホスト機器がデバイス機器にバス電圧を供給してデバイス機器にリセットを要求する（ステップＣ２）。
【０００５】
そして、デバイス機器がリセットされて転送準備が整い次第、ホスト機器がデバイス機器から、デバイス規定情報となるディスクリプタ情報のうち必要最小限度のディスクリプタ情報、即ち、ＵＳＢバージョンやプロトコル・コード等を規定したデバイス・ディスクリプタ情報を取得する（ステップＣ３）。
【０００６】
次いで、このデバイス・ディスクリプタ情報に基づいてホスト機器がデバイス機器にSetAddressコマンドを送信し、該デバイス機器に固有の識別情報であるアドレスを当該デバイス機器に割り当て、このデバイス機器をAddressed状態（識別情報を割り当てられた状態）とする（ステップＣ４）。
【０００７】
その後、ホスト機器が、デバイス規定情報の他部を構成するディスクリプタ情報、例えば、コンフィギュレーション・ディスクリプタ情報やインターフェイス・ディスクリプタ情報およびエンドポイント・ディスクリプタ情報等をデバイス機器から取得した後（ステップＣ５）、該ホスト機器が備えるハードディスクドライブ等の記憶装置から当該デバイス機器に適したデバイスドライバを探し出し、ＲＡＭ等のワークメモリにロードして常駐させ（ステップＣ６）、デバイス機器に対してSetConfigurationコマンドを送信する（ステップＣ７）。
【０００８】
デバイス機器がストレージ機器の場合には、更に、ファイルシステムに対してデバイス機器の使用準備が完了したことを通知し、ディスクパラメータや管理情報等の取得等のマウント処理を行い（ステップＣ８）、ストレージデバイスへのアクセス準備が完了する。
【０００９】
しかしながら、従来のデバイス接続方法においては、どのようなデバイス機器をどのような状況下で接続した場合であっても、毎回必ず上記と同様の認識処理やイニシャライズ処理を行わなければならず、特に、デバイスアクセス速度が遅く、また、デバイス管理情報やフォーマット情報など一連の情報取得量が多く、大量のデータを扱うストレージ機器等の場合においては、デバイス機器さらにはファイルシステムの使用準備が整うまでにかなりの時間を要するケースもあり使い勝手を損なっていた。
【００１０】
デバイス機器の再接続を容易化するための技術としては、デバイス機器の一時的な取り外しと所定時間内における再接続とを検知し、ドライバを初期化せずに通信切断状態から通信接続状態に復帰するようにした通信復帰方法が特許文献１として開示されている。
【００１１】
しかしながら、このものは、予め決められた時間内でデバイス機器が再接続されることを前提としたものであり、デバイス機器を其れ以上に長い時間に亘って取り外したままにしておくと、改めて最初から接続シーケンスを実行しなければならない。
また、同じデバイス機器が所定時間内に接続されることを前提としたものであるため、別のデバイス機器が再接続された場合には改めて最初から全ての接続シーケンスを実行しなければならず、ＵＳＢ接続のように複雑な手続でデバイス・ディスクリプタ情報，コンフィギュレーション・ディスクリプタ情報，インターフェイス・ディスクリプタ情報，エンドポイント・ディスクリプタ情報等のデバイス規定情報を取得する必要があるものでは、デバイス規定情報の取得だけでも時間が掛かってしまう。
【００１２】
【特許文献１】特開２００３−８６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の課題は、前記従来技術の不都合を改善し、一度使用したデバイス機器の再接続に際して短時間で使用準備を完了することのできるデバイス接続方法とホスト機器およびデバイス機器接続用プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明のデバイス接続方法は、ホスト機器とデバイス機器をインターフェイスを介して接続する際にホスト機器がデバイス機器のデバイス規定情報を参照して自動的にデバイス機器をマウントするようにしたデバイス接続方法であり、前記課題を達成するため、
前記インターフェイスに対するデバイス機器の接続を前記ホスト機器が検知した時点で、該デバイス機器の識別情報を前記ホスト機器が読み込み、
該読み込まれた識別情報が前記ホスト機器に記憶されていれば、該ホスト機器が当該識別情報に対応して記憶しているデバイス規定情報を適用して前記デバイス機器をマウントする一方、
前記読み込まれた識別情報が前記ホスト機器に記憶されていなければ、該デバイス機器からデバイス規定情報を改めて読み込み、該デバイス機器から読み込んだデバイス規定情報を該デバイス機器の識別情報に対応させて前記ホスト機器に記憶し、該デバイス規定情報を適用して前記デバイス機器をマウントすることを特徴とした構成を有する。
【００１５】
ホスト機器がデバイス機器からデバイス規定情報を読み込んだ際に、デバイス機器の識別情報とデバイス規定情報とを対応させて、ホスト機器に記憶しておく。
ホスト機器は、インターフェイスに対するデバイス機器の再接続を検知した時点でデバイス機器から識別情報を読み込み、この識別情報がホスト機器に記憶されているか否かを判定し、記憶されている場合には、この識別情報に対応してホスト機器が記憶しているデバイス規定情報を適用してデバイス機器をマウントする。
従って、このホスト機器に接続された経歴のあるデバイス機器が改めて該ホスト機器に接続された場合、当該デバイス機器の取り外し後の経過時間に関わりなく、ホスト機器は、デバイス機器からデバイス規定情報を読み込むことなく当該デバイス機器をマウントすることが可能となり、デバイス機器のマウントに要する所要時間を大幅に短縮することができる。
また、このホスト機器に接続された経歴のないデバイス機器が接続された場合には、ホスト機器が、該デバイス機器からデバイス規定情報を改めて読み込み、このデバイス規定情報を適用してデバイス機器をマウントすることになるので、新たに接続されるデバイス機器に対して不適当なデバイス規定情報が適用されるといった弊害も生じない。
【００１６】
また、前記ホスト機器が、識別情報とデバイス規定情報を更新して記憶し、デバイス機器から前記ホスト機器にデバイス規定情報が改めて読み込まれるまでの間、前記ホスト機器が前記デバイス機器をマウントする際にロードしたデバイスドライバを実行可能状態で保持するようにしてもよい。
【００１７】
このような構成を適用した場合、ホスト機器には、最も最近に当該ホスト機器に接続されたデバイス機器の識別情報とデバイス規定情報との対応関係のみが記憶され、このデバイス機器が取り外された場合であっても、当該デバイス機器をマウントする際にロードしたデバイスドライバが其のままホスト機器に保持される。
従って、ホスト機器から一旦取り外したデバイス機器そのものを改めて再接続するような場合において、デバイス機器からのデバイス規定情報の読み込みに加え、デバイスドライバのロードも不要となり、デバイス機器のマウントに要する所要時間を更に短縮することができる。
【００１８】
前記ホスト機器には、識別情報とデバイス規定情報との対応関係を複数記憶させることができる。
【００１９】
前述した通り、ホスト機器に接続された経歴のあるデバイス機器が改めて該ホスト機器に接続された場合において、デバイス機器からデバイス規定情報を読み込むことなく当該デバイス機器をマウントすることが可能となるので、デバイス機器のマウントに要する所要時間を大幅に短縮することができる。
【００２０】
識別情報とデバイス規定情報との対応関係をホスト機器に複数組記憶させる場合においては、更に、前記ホスト機器が、前記各デバイス機器をマウントする際にロードしたデバイスドライバと各識別情報との対応関係を保持した状態で複数のデバイスドライバを実行可能状態で保持し、読み込まれた識別情報に応じて選択的にデバイスドライバを使用するようにしてもよい。
【００２１】
デバイスドライバをロードするＲＡＭ等のワークメモリの記憶容量に余裕があれば、複数のデバイスドライバをワークメモリに常駐させることができる。
従って、デバイス機器毎の識別情報に対応させてデバイス規定情報とデバイスドライバを保持することで、比較的最近に当該ホスト機器に接続された経歴のある幾つかのデバイス機器が改めて再接続された場合において、デバイス機器からのデバイス規定情報の読み込みに加えてデバイスドライバのロードを不要とし、デバイス機器のマウントに要する所要時間を更に短縮することができる。
【００２２】
デバイス機器がＵＳＢデバイスの場合、デバイス規定情報は、デバイス，コンフィギュレーション，インターフェイス，エンドポイントの各ディスクリプタ情報によって構成される。
【００２３】
ＵＳＢデバイスでは、ＵＳＢバージョンやプロトコル・コード等を規定したデバイス・ディスクリプタ情報、インターフェイス数やディスクリプタの長さ及びバス電流消費量等を規定するコンフィギュレーション・ディスクリプタ情報、エンドポイント数等を規定するインターフェイス・ディスクリプタ情報、エンドポイントアドレスやエンドポイントの転送方法およびポーリング間隔等を規定するエンドポイント・ディスクリプタ情報といった複雑なディスクリプタ情報をデバイス規定情報として利用しているので、デバイス機器の認識処理やイニシャライズ処理に比較的時間を要するが、前記各構成により、デバイス規定情報の読み込み、更には、デバイスドライバのロードに関わる処理を高速化することで短時間のうちにデバイス機器のマウント作業を完了させることができる。
【００２４】
本発明のホスト機器は、インターフェイスを介してデバイス機器を接続する際にデバイス機器のデバイス規定情報を参照して自動的にデバイス機器をマウントするようにしたホスト機器であり、前記と同様の課題を達成するため、
前記インターフェイスに対するデバイス機器の接続を検知した時点で該デバイス機器の識別情報を読み込む識別情報読込手段と、
前記読み込まれた識別情報が該ホスト機器の記憶手段に記憶されているか否かを判定する判定手段と、
前記判定手段による判定結果が真となった場合に、当該識別情報に対応して前記記憶手段に記憶されているデバイス規定情報を適用して前記デバイス機器をマウントする再マウント手段と、
前記判定手段による判定結果が偽となった場合に、該デバイス機器からデバイス規定情報を改めて読み込み、該デバイス機器から読み込んだデバイス規定情報を該デバイス機器の識別情報に対応させて前記記憶手段に記憶させ、該デバイス規定情報を適用して前記デバイス機器をマウントする新規マウント手段とを備えたことを特徴とした構成を有する。
【００２５】
以上の構成において、インターフェイスに対するデバイス機器の接続が検知されると、まず、識別情報読込手段が当該デバイス機器の識別情報を読み、この識別情報が該ホスト機器の記憶手段に記憶されているか否かが判定手段によって判定される。
そして、この識別情報が記憶手段に記憶されている場合には、再マウント手段が作動し、この識別情報に対応して記憶手段に記憶されているデバイス規定情報を適用して該デバイス機器をホスト機器にマウントする。
一方、識別情報が記憶手段に記憶されていないと判定された場合には、新規マウント手段が作動して該デバイス機器からデバイス規定情報を改めて読み込み、このデバイス規定情報を当該デバイス機器の識別情報に対応させて記憶手段に記憶させ、このデバイス規定情報を適用してデバイス機器をホスト機器にマウントする。
従って、ホスト機器に接続された経歴のあるデバイス機器が改めて該ホスト機器に接続された場合において、当該デバイス機器の取り外し後の経過時間に関わりなく、デバイス機器からデバイス規定情報を読み込まずにデバイス機器をマウントすることができる。
また、このホスト機器に接続された経歴のないデバイス機器が接続された場合には、当該デバイス機器の識別情報がホスト機器に記憶されておらず、判定手段による判定結果が偽となる。従って、新規マウント手段により、該デバイス機器からデバイス規定情報が改めて読み込まれ、このデバイス規定情報を適用してデバイス機器がマウントされることになる。このため、新たに接続されるデバイス機器に対して不適当なデバイス規定情報が適用されるといった弊害が未然に防止される。
【００２６】
本発明のデバイス機器接続用プログラムは、インターフェイスを介してデバイス機器を接続する際にデバイス機器のデバイス規定情報に基づいて自動的にデバイス機器をマウントするようにしたデバイス機器接続用プログラムであり、前記と同様の課題を達成するため、デバイス機器の接続対象となるホスト機器のマイクロプロセッサを、
前記インターフェイスに対するデバイス機器の接続を検知した時点で該デバイス機器の識別情報を読み込む識別情報読込手段、
前記読み込まれた識別情報が該ホスト機器の記憶手段に記憶されているか否かを判定する判定手段、
前記判定手段による判定結果が真となった場合に、当該識別情報に対応して前記記憶手段に記憶されているデバイス規定情報を適用して前記デバイス機器をマウントする再マウント手段、および、
前記判定手段による判定結果が偽となった場合に、該デバイス機器からデバイス規定情報を改めて読み込み、該デバイス機器から読み込んだデバイス規定情報を該デバイス機器の識別情報に対応させて前記記憶手段に記憶させ、該デバイス規定情報を適用して前記デバイス機器をマウントする新規マウント手段として機能させることを特徴とした構成を有する。
【００２７】
このデバイス機器接続用プログラムをインストールしたホスト機器は、前述の識別情報読込手段，判定手段，再マウント手段，新規マウント手段を備えたホスト機器として機能する。
【発明の効果】
【００２８】
本発明のデバイス接続方法とホスト機器およびデバイス機器接続用プログラムは、ホスト機器がデバイス機器からデバイス規定情報を読み込んだ際に、デバイス機器の識別情報とデバイス規定情報とを対応させてホスト機器に記憶し、インターフェイスに対するデバイス機器の再接続をホスト機器が検知した時点で、ホスト機器がデバイス機器から識別情報を読み込み、この識別情報がホスト機器に記憶されているか否かを判定し、記憶されている場合には当該識別情報に対応してホスト機器が記憶しているデバイス規定情報を其のまま適用してデバイス機器をマウントするようにしているので、当該デバイス機器の取り外し後の経過時間に関わりなく、デバイス機器からのデバイス規定情報の読み込みを省略し、当該デバイス機器を短時間でホスト機器にマウントすることができる。
また、ホスト機器に接続された経歴のないデバイス機器が接続された場合においては、ホスト機器がデバイス機器からデバイス規定情報を改めて読み込み、このデバイス規定情報を適用してデバイス機器をマウントすることになるので、新たに接続されるデバイス機器に対して不適当なデバイス規定情報が適用されるといった弊害の発生も未然に防止される。
【発明を実施するための最良の形態】
【００２９】
次に、本発明を実施するための最良の形態について一実施形態を挙げて具体的に説明する。
【００３０】
図１は本発明のデバイス接続方法を適用した一実施形態のホスト機器１と該ホスト機器１に接続されたデバイス機器２との接続状態の一例を示した機能ブロック図である。
【００３１】
この実施形態のホスト機器１はＵＳＢ接続に対応したパーソナルコンピュータによって構成され、また、デバイス機器２はＵＳＢ接続に対応したストレージ機器によって構成されている。
【００３２】
ホスト機器１とデバイス機器２との間は各々のインターフェイス１０，２０とＵＳＢケーブル３を介して接続され、相互間で様々な情報の送受信が行われるようになっている。
【００３３】
ホスト機器１はＵＳＢ通信装置４と演算装置５および記憶装置６を備えている。
【００３４】
ＵＳＢ通信装置４は、ＵＳＢ規格のデバイス・フレームワークに対応した通信装置である。
【００３５】
演算装置５は、マイクロプロセッサ７およびその周辺回路を含む装置であり、各種のプログラム処理を実行すると共にホスト機器１の各部およびデバイス機器２を制御する。
【００３６】
記憶手段として機能する記憶装置６は、アプリケーションプログラムやデバイスドライバおよび各種のデータ等を格納するためのハードディスク等からなる格納部８と、該格納部８から実行対象としてロードされたアプリケーションプログラムやデバイスドライバ等を常駐させるためのＲＡＭ等からなるワークメモリ部９とを備える。ワークメモリ部９は演算過程にあるデータの一時記憶等にも利用される。デバイス機器２から取得したデバイス規定情報は記憶装置６の格納部８に保存されるようになっている。
【００３７】
この実施形態ではＵＳＢ接続を前提としているので、デバイス機器２をマウントするために必要とされるデバイス規定情報は、基本的に、デバイス，コンフィギュレーション，インターフェイス，エンドポイントの各ディスクリプタ情報である。
【００３８】
ホスト機器１は通常のパーソナルコンピュータであり、データ入力用のキーボードやマウスおよびディスプレイ装置等を備えるが、これらの点に関しては周知であるので説明を省略する。
【００３９】
図２はホスト機器１からデバイス機器２を取り外す際の処理の概略を示したフローチャート、また、図３はホスト機器１にデバイス機器２を接続する際の処理の概略を示したフローチャートである。
【００４０】
ホスト機器１のマイクロプロセッサ７によって図２および図３の処理を実行させるために必要とされるデバイス機器接続用プログラムは記憶装置６の格納部８に予め保存されているものとする。
【００４１】
次に、図２および図３を参照して識別情報読込手段，判定手段，再マウント手段，新規マウント手段として機能するホスト機器１のマイクロプロセッサ７の処理動作と本実施形態におけるデバイス接続方法について具体的に説明する。
【００４２】
まず、図２を参照してホスト機器１からデバイス機器２を取り外す際の処理について説明する。
【００４３】
まず、ＧＵＩ（グラフィカル・ユーザー・インターフェイス）等を介してユーザがホスト機器１にデバイス取り外し宣言を入力すると、マイクロプロセッサ７は、デバイス機器２を「休止状態にする」のかホスト機器１から「完全に取り外す」のかを問うガイダンスメッセージを図示しないディスプレイ装置の画面に表示して、ユーザによる選択結果を判定する（ステップＡ１）。
【００４４】
ユーザが「完全に取り外す」を選択した場合、マイクロプロセッサ７は、このデバイス機器２に割り当てていた固有のアドレス即ち識別情報と、当該識別情報に対応して記憶していたデバイス・ディスクリプタ情報，コンフィギュレーション・ディスクリプタ情報，インターフェイス・ディスクリプタ情報，エンドポイント・ディスクリプタ情報等のデバイス規定情報を格納部８の記憶領域から削除して此れらのデータをクリアし、通常のアンマウント処理を実行した上で（ステップＡ２）、実行中のアプリケーションプログラムに対してデバイス機器２との間の通信が切断されたことを通知し（ステップＡ５）、デバイス機器２の取り外しに関わる処理を完了する。
【００４５】
一方、ユーザが「休止状態にする」を選択してステップＡ１の判定結果が真となった場合においては、マイクロプロセッサ７は、デバイス機器２が一時的な取り外し状態にあることを意味する休止フラグを記憶装置６のワークメモリ部９にセットする（ステップＡ３）。
【００４６】
そして、マイクロプロセッサ７は、このデバイス機器２に割り当てていた識別情報と当該識別情報に対応するデバイス規定情報を格納部８に其のままの状態で保持し、また、この時点でワークメモリ部９にロードされているデバイスドライバ、つまり、現時点で取り外しの対象となっているデバイス機器２を制御するためのデバイスドライバをワークメモリ部９に保持したままの状態で、当該デバイス機器２の動作休止処理を行う（ステップＡ４）。
【００４７】
その後、マイクロプロセッサ７が実行中のアプリケーションプログラムに対してデバイス機器２との間の通信が切断されたことを通知する（ステップＡ５）。
この場合、ワークメモリ部９にデバイスドライバが実行可能状態で保持されるので、ドライバレベルでは接続時の状態を維持したままでデバイス機器２の切断処理が完了することになる。
【００４８】
ユーザーからのデバイス取り外し宣言を受け付けるためのＧＵＩは必ずしも必要というわけではないが、ストレージ機器等を始めとするデバイス機器２においては、アクセス中の取り外し操作によってデバイス機器２に誤動作を生じる可能性があるので、休止状態と完全な取り外しに応じた処理を明確に区別して実行する必要上、ステップＡ１の判定処理やＧＵＩは用意した方が好ましい。
なお、アクセス中の取り外し操作による誤動作を考慮する必要のないデバイス機器２においては此れらの判定処理やＧＵＩは必要でないから、一般論として、これらの判定処理やＧＵＩは必須の要件とはならない。
【００４９】
アクセス中の取り外し操作による誤動作を考慮する必要のないデバイス機器２のみを取り扱うような状況下では、ＧＵＩやステップＡ１の処理を省略し、ホスト機器１からのデバイス機器２の取り外しを直接的に検知することによって直ちにステップＡ３，ステップＡ４，ステップＡ５の処理を実行するようにしても構わない。
【００５０】
次に、図３を参照してホスト機器１にデバイス機器２を接続する際の処理について説明する。
【００５１】
ホスト機器１のインターフェイス１０にデバイス機器２が接続されたことが検知されると（ステップＢ１）、マイクロプロセッサ７は、まず、デバイス機器２にバス電圧を供給することでデバイス機器２にリセットを要求する（ステップＢ２）。
【００５２】
そして、デバイス機器２がリセットされて転送準備が整い次第、識別情報読込手段として機能するマイクロプロセッサ７が、デバイス規定情報となるディスクリプタ情報のうち必要最小限度のディスクリプタ情報、即ち、ＵＳＢバージョンやプロトコル・コード等を規定したデバイス・ディスクリプタ情報と、当該デバイス機器２に設定されている固有のアドレス即ち識別情報をデバイス機器２から取得する（ステップＢ３）。
【００５３】
次いで、マイクロプロセッサ７は、このデバイス・ディスクリプタ情報に基づいて従来と同様にしてデバイス機器２にSetAddressコマンドを送信し、デバイス機器２をAddressed状態とする（ステップＢ４）。
【００５４】
その後、マイクロプロセッサ７は、ワークメモリ部９に休止フラグがセットされているか否か、即ち、最も最近に該ホスト機器１から取り外されたデバイス機器２の取り外し操作が、一時的な取り外しを前提として行われたものであるのか再接続の予定のない完全な取り外しを前提として行われたものであるのかを判定する（ステップＢ５）。
【００５５】
休止フラグのセットが確認されてステップＢ５の判定結果が真となった場合、つまり、前回のデバイス機器２の取り外し操作が一時的な取り外しを前提として行われたものである場合には、今回の処理で改めて接続を検知されたデバイス機器２が直前の取り外し操作で取り外されたデバイス機器２と同じものである確率が高いので、判定手段として機能するマイクロプロセッサ７は、更に、今回の処理で改めて接続を検知されたデバイス機器２からステップＢ３の処理で読み込んだ識別情報が、記憶手段である記憶装置６の格納部８に既に記憶されているか否か、要するに、このデバイス機器２が実際に直前の取り外し操作で取り外されたデバイス機器２と同じものであるか否かを判定する（ステップＢ６）。
【００５６】
ステップＢ６の判定結果が真となり、このデバイス機器２の識別情報が既に格納部８に記憶されていることが明らかとなった場合には、このデバイス機器２が直前の取り外し操作で取り外されたデバイス機器２と同じものであることを意味する。
しかも、このデバイス機器２のデバイス規定情報が格納部８に記憶されていること、および、このデバイス機器２に対応したデバイスドライバがワークメモリ部９に実行可能状態で保持されていることは既に保証済みであるから（ステップＡ３，ステップＡ４，ステップＢ５参照）、再マウント手段として機能するマイクロプロセッサ７は、格納部８に現時点で記憶されているデバイス規定情報であるコンフィギュレーション・ディスクリプタ情報，インターフェイス・ディスクリプタ情報，エンドポイント・ディスクリプタ情報を再利用することによって、デバイス機器２からの各種ディスクリプタ情報の取得処理やデバイスドライバのロード等に関わる処理を省略する（ステップＢ７）。
【００５７】
これにより、図４に示した従来技術とは相違し、デバイス・ディスクリプタ情報以外のデバイス規定情報であるコンフィギュレーション・ディスクリプタ情報やインターフェイス・ディスクリプタ情報およびエンドポイント・ディスクリプタ情報等をデバイス機器２から取得するための処理（ステップＣ５参照）、更には、記憶装置６の格納部８からデバイス規定情報に見合ったデバイスドライバを探し出してワークメモリ部９にロードするための処理（ステップＣ６参照）が不要となる。
【００５８】
次いで、再マウント手段として機能するマイクロプロセッサ７は、デバイス機器２に対してSetConfigurationコマンドを送信し（ステップＢ８）、デバイス機器２をConfigured状態（初期設定完了状態）とすることで、デバイス機器２の使用準備を完了させる。
【００５９】
デバイス機器２がストレージ機器の場合には、更に、再マウント手段として機能するマイクロプロセッサ７が、ファイルシステムに対してデバイス機器２の使用準備が完了したことを通知し、ディスクパラメータや管理情報等の取得等に関わるマウント処理を行う必要があるが、デバイス機器２のディスクパラメータや管理情報等はデバイス規定情報の一部であり、これらの情報が記憶装置６の格納部８に前回の取り外し操作時点と同様にして保持されているため、デバイス機器２へのアクセスを行うことなくマウント処理を完了することができ、マウント処理が高速化される（ステップＢ９）。
【００６０】
一方、ステップＢ５の判定結果が偽となってワークメモリ部９に休止フラグがセットされていないことが確認された場合、つまり、最も最近に行われたデバイス機器２の取り外し操作が完全な取り外しを前提としたものであって、識別情報や此れに対応するデバイス規定情報が既に格納部８の記憶領域から削除されていることが明らかとなった場合においては、格納部８のデバイス規定情報の再利用は不可能である。
【００６１】
また、ステップＢ６の判定結果が偽となり、今回の処理で改めて接続を検知されたデバイス機器２が直前の取り外し操作で取り外されたデバイス機器２と相違するものであることが明らかとなった場合には、格納部８にデバイス規定情報が存在し、ワークメモリ部９にデバイスドライバがロードされているとしても、これらのものが今回の処理で改めて接続を検知されたデバイス機器２のデバイス規定情報やデバイスドライバとして不適当なものであることは明らかである。
【００６２】
従って、ステップＢ５もしくはステップＢ６の判定結果が偽となった場合、新規マウント手段として機能するマイクロプロセッサ７は、前述のステップＢ３の処理でデバイス機器２から取得した必要最小限度のディスクリプタ情報、即ち、ＵＳＢバージョンやプロトコル・コード等を規定したデバイス・ディスクリプタ情報に基づいて、デバイス規定情報の他部を構成するディスクリプタ情報であるコンフィギュレーション・ディスクリプタ情報やインターフェイス・ディスクリプタ情報およびエンドポイント・ディスクリプタ情報等を改めてデバイス機器２から取得し、これらのデバイス規定情報を当該デバイス機器２の識別情報に対応させ、改めて記憶装置６の格納部８に上書きするかたちで更新して記憶させる（ステップＢ１０）。
そして、更に、このデバイス規定情報に見合ったデバイスドライバを記憶装置６の格納部８から探し出してワークメモリ部９に上書きするかたちでロードして常駐させ（ステップＢ１１）、デバイス機器２に対してSetConfigurationコマンドを送信し（ステップＢ１２）、デバイス機器２の使用準備を完了させる。
【００６３】
デバイス機器２がストレージ機器の場合には、更に、ファイルシステムに対してデバイス機器２の使用準備が完了したことを通知し、ディスクパラメータや管理情報等の取得等のマウント処理を行う必要があるが、この場合は、デバイス機器２にアクセスしてデバイス機器２のディスクパラメータや管理情報等を取得する必要があるので、従来と同等の作業時間が必要である（ステップＢ１３）。
【００６４】
なお、図３に示したステップＢ５の処理は、前述したステップＡ１の処理と同様、必ずしも必須の要件ではない。
アクセス中の取り外し操作による誤動作を考慮する必要のないデバイス機器２のみを取り扱うことを前提としてステップＡ１の処理を省略し、ホスト機器１からのデバイス機器２の取り外しを検知することで直ちにステップＡ３，ステップＡ４，ステップＡ５の処理を実行するようにした場合においては、休止フラグの設定状態を確認するためのステップＢ６の処理に意味はない。従って、ステップＡ１の処理を省略した構成においては、図３の処理からステップＢ６の処理を取り除き、ステップＢ４の処理を実行した後、直ちにステップＢ６の処理を実行し、その判定結果が真である場合にはステップＢ７の処理に移行し、また、判定結果が偽である場合にはステップＢ１０の処理に移行するようにする。
【００６５】
以上に述べたとおり、この実施形態では、デバイス機器２の取り外しを行う際に、デバイス機器２に関連するデバイス規定情報をホスト機器１側の記憶手段である記憶装置６の格納部８に保持し、かつ、当該デバイス機器２に対応するデバイスドライバをワークメモリ部９に常駐させたままの状態で通信の切断を許可するようにしているので、同じデバイス機器２が再接続された際の認識処理やイニシャライズ処理を最小限の処理にとどめることができ、デバイス機器２を接続してから使用準備が整うまでの待ち時間を短縮することができる。
【００６６】
この実施形態では、記憶装置６の格納部８に識別情報とデバイス規定情報の対応関係を常に１組だけ記憶し、新たなデバイス機器２の接続が検知される度に新たな識別情報とデバイス規定情報の対応関係を上書きするかたちで格納部８に更新記憶させ、また、記憶装置６のワークメモリ部９には、他のデバイス機器２からデバイス規定情報が改めて読み込まれるまでの間だけ直前の取り外し操作で取り外されたデバイス機器２に対応してロードされたデバイスドライバを１つだけ実行可能状態で常駐させるようにしているので、デバイス機器２の使用準備が整うまでの待ち時間を実際に短縮することができるのは、直前に接続されていたデバイス機器２が再接続された場合だけである。
【００６７】
これに対し、記憶装置６の格納部８に識別情報とデバイス規定情報の対応関係を複数組み記憶させるようにした場合では、ホスト機器１に接続された経歴のある他のデバイス機器２が改めて該ホスト機器１に接続された場合を含め、デバイス機器２からデバイス規定情報を読み込むことなく当該デバイス機器２をマウントすることが可能となる。
この際、格納部８に記憶させることが可能な識別情報とデバイス規定情報の数には限界があるので、格納部８に記憶させる識別情報とデバイス規定情報の対応関係の組は、直前に接続の対象とされた幾つかのデバイス機器２に関連したものに制限し、古いものから順に削除するようにする。
記憶装置６の格納部８に識別情報とデバイス規定情報の対応関係を複数組記憶させるようにしただけでは、直前に接続されていたデバイス機器２が再接続された場合を除き、新たに接続されたデバイス機器２のデバイスドライバのロードが常に必要となるが、識別情報とデバイス規定情報の対応関係を複数組記憶させるだけでも、図４に示した従来技術とは相違し、デバイス・ディスクリプタ情報以外のデバイス規定情報であるコンフィギュレーション・ディスクリプタ情報やインターフェイス・ディスクリプタ情報およびエンドポイント・ディスクリプタ情報等をデバイス機器２から取得するための処理（ステップＣ５参照）が不要となることから、デバイス機器２を接続してから使用準備が整うまでの待ち時間の大幅な短縮が期待できる。
【００６８】
また、デバイスドライバをロードするＲＡＭ等のワークメモリ部９の記憶容量に余裕があれば、複数のデバイスドライバをワークメモリ部９に常駐させるようにしてもよい。
デバイス機器２毎の識別情報に対応させて幾つかのデバイス規定情報を格納部８に保持し、更に、デバイス機器２毎の識別情報に対応する幾つかのデバイスドライバをワークメモリ部９に常駐させ、デバイス機器２から読み込まれた識別情報に応じて選択的にデバイス規定情報とデバイスドライバを使用することにより、比較的最近にホスト機器１に接続された経歴のある幾つかのデバイス機器２が改めて再接続された場合において、デバイス機器２からのデバイス規定情報の読み込みに加え、デバイスドライバのロードに関わる処理（ステップＣ５，ステップＣ６参照）を不要とし、デバイス機器２のマウントに要する所要時間を更に短縮することができる。
【図面の簡単な説明】
【００６９】
【図１】本発明のデバイス接続方法を適用した一実施形態のホスト機器と該ホスト機器に接続されたデバイス機器との接続状態の一例を示した機能ブロック図である。
【図２】ホスト機器からデバイス機器を取り外す際の処理の概略を示したフローチャートである。
【図３】ホスト機器にデバイス機器を接続する際の処理の概略を示したフローチャートである。
【図４】ＵＳＢホスト機器にＵＳＢデバイス機器を接続する際の従来処理の概略について示したフローチャートである。
【符号の説明】
【００７０】
１  ホスト機器（ＵＳＢ接続に対応したパーソナルコンピュータ）
２  デバイス機器（ＵＳＢ接続に対応したストレージ機器）
３  ＵＳＢケーブル
４  ＵＳＢ通信装置
５  演算装置
６  記憶装置（記憶手段）
７  マイクロプロセッサ（識別情報読込手段，判定手段，再マウント手段，新規マウント手段）
８  格納部（ハードディスク）
９  ワークメモリ部（ＲＡＭ）
【図１】
2008009659.tif 000003
【図２】
2008009659.tif 000004
【図３】
2008009659.tif 000005
【図４】
2008009659.tif 000006