(57)【特許請求の範囲】
【請求項１】
端末装置の能力判定方法であって、
ホストにより、端末装置によってサポートされた能力を取得するステップと、
前記端末装置によってサポートされた前記能力および前記ホストによってサポートされた能力にしたがって前記ホストにより、前記端末装置および前記ホストの両方によってサポートされた能力を判定し、前記端末装置および前記ホストの両方によってサポートされた前記能力を重複能力として用いるステップであって、前記重複能力は、能力構成を実行するために前記端末装置により用いられる、ステップと、
前記端末装置に前記重複能力を送信するステップと
を含み、ホストにより、端末装置によってサポートされた能力を取得する前記ステップは、
前記ホストにより、前記端末装置により送信された記述子を受信するステップであって、前記記述子は、MS＿COMP＿IDおよびMS SUBCOMP＿IDを含む、ステップと、
前記端末装置によりサポートされた前記能力を取得するために、前記ホストにより、前記MS＿COMP＿IDにしたがって対応するドライバを起動し、前記ドライバを用いてMS SUBCOMP＿IDを構文解析するステップと
を含む、方法。
【請求項２】
請求項1に記載の方法であって、
前記端末装置により送信された構成成功メッセージが前記ホストによって受信された場合に、前記端末装置内の前記重複能力で構成された少なくとも1つの副装置を前記ホストによって列挙するステップと、
前記少なくとも1つの副装置が前記重複能力に対応する機能を実現するように、前記少なくとも1つの副装置に対して前記ホストによってドライバローディングを実行するステップと
をさらに含み、前記副装置は、前記端末装置の論理分割後に得られた仮想的な装置である、方法。
【請求項３】
端末装置の能力構成方法であって、
端末装置により、前記端末装置によりサポートされた能力をホストに送信するステップと、
前記端末装置により、前記ホストによって送信された重複能力を受信するステップであって、前記重複能力は、前記端末装置および前記ホストの両方によってサポートされ、かつ、前記端末装置によってサポートされた前記能力および前記ホストによってサポートされた能力にしたがって前記ホストによって判定された能力である、ステップと、
前記端末装置により、前記重複能力にしたがって構成を実行するステップと
を含み、端末装置により、前記端末装置によりサポートされた能力をホストに送信する前記ステップは、
前記端末装置により、記述子を用いてMS＿COMP＿IDおよびMS SUBCOMP＿IDを前記ホストに送信するステップ
を含み、
そのようにして前記ホストが前記MS＿COMP＿IDを用いて対応するドライバを起動し、前記ドライバを用いて前記MS SUBCOMP＿IDを構文解析して、前記端末装置によってサポートされた前記能力を取得する、方法。
【請求項４】
請求項3に記載の方法であって、
前記ホストが前記端末装置内の前記重複能力で構成された少なくとも1つの副装置を列挙するように、前記端末装置により、構成成功メッセージを前記ホストに送信するステップと、前記少なくとも1つの副装置が前記重複能力に対応する機能を実現するように、前記少なくとも1つの副装置に対してドライバローディングを実行するステップと、を
さらに含み、
前記副装置は、前記端末装置の論理分割後に得られた仮想的な装置である、方法。
【請求項５】
ホストであって、
端末装置によってサポートされた能力を取得するように構成された取得部と、
前記端末装置によってサポートされた前記能力および前記ホストによってサポートされた能力にしたがって、前記端末装置および前記ホストの両方によってサポートされた能力を判定し、前記端末装置および前記ホストの両方によってサポートされた前記能力を重複能力として用いるように構成された判定部であって、前記重複能力は、能力構成を実行するために前記端末装置により用いられる、判定部と、
前記端末装置に前記重複能力を送信するように構成された、送信部と
を含み、前記取得部は、
前記端末装置によって送信された記述子を受信するように構成されたコード受信部であって、前記記述子は、MS＿COMP＿IDおよびMS SUBCOMP＿IDを含む、コード受信部と、
前記MS＿COMP＿IDにしたがって対応するドライバを起動するように構成された起動部と、
前記端末装置によってサポートされた前記能力を取得するために、前記起動部により起動された前記ドライバを用いて前記MS SUBCOMP＿IDを構文解析するように構成された構文解析部と
を含む、ホスト。
【請求項６】
請求項5に記載のホストであって、
前記端末装置によって送信された構成成功メッセージを受信するように構成された受信部と、
前記受信部が前記構成成功メッセージを受信した場合に、前記端末装置内の前記重複能力で構成された少なくとも1つの副装置を列挙するように構成された列挙部と、
前記少なくとも1つの副装置が前記重複能力に対応する機能を実現するように、前記少なくとも1つの副装置に対してドライバローディングを実行するように構成されたローディング部と
をさらに含み、
前記副装置は、前記端末装置の論理分割後に得られた仮想的な装置である、ホスト。
【請求項７】
端末装置であって、
前記端末装置によりサポートされた能力をホストに送信するように構成された第1の送信部と、
前記ホストにより送信された重複能力を受信するように構成された受信部であって、前記重複能力は、前記端末装置および前記ホストの両方によってサポートされ、かつ、前記端末装置によってサポートされた前記能力および前記ホストによってサポートされた能力にしたがって前記ホストによって判定された能力である、受信部と、
前記重複能力にしたがって構成を実行するように構成された構成部と
を含み、
前記第1の送信部は、記述子を用いてMS＿COMP＿IDおよびMS SUBCOMP＿IDを前記ホストに送信するように特に構成され、前記ホストが前記MS SUBCOMP＿IDを用いて対応するドライバを起動し、前記ドライバを用いて前記MS SUBCOMP＿IDを構文解析して、前記端末装置によってサポートされた前記能力を取得する、端末装置。
【請求項８】
請求項7に記載の端末装置であって、
前記構成部が前記重複能力にしたがって構成を実行することに成功した後に、構成成功メッセージを前記ホストに送信するように構成された第2の送信部をさらに含み、前記ホストは、前記端末装置内の前記重複能力で構成された少なくとも1つの副装置を列挙し、前記少なくとも1つの副装置に対してドライバローディングを実行して、前記少なくとも1つの副装置が前記重複能力に対応する機能を実現し、
前記副装置は、前記端末装置の論理分割後に得られた仮想的な装置である、端末装置。
【請求項９】
端末装置の構成システムであって、前記システムは、ホストと、前記ホストに接続された端末装置と、を含み、
前記ホストは、前記端末装置によってサポートされた能力を取得し、前記端末装置によってサポートされた前記能力および前記ホストによってサポートされた能力にしたがって、前記端末装置および前記ホストの両方によってサポートされた能力を判定し、前記端末装置および前記ホストの両方によってサポートされた前記能力を重複能力として用い、前記重複能力は、能力構成を実行するために前記端末装置により用いられ、前記端末装置に前記重複能力を送信するように構成され、
前記端末装置は、前記重複能力を受信し、前記重複能力にしたがって構成を実行するように構成され
前記ホストが前記端末装置によってサポートされた能力を取得することは、具体的には、前記ホストが前記端末装置により送信された記述子を受信し、前記記述子は、MS＿COMP＿IDおよびMS SUBCOMP＿IDを含み、かつ、前記ホストが前記端末装置によりサポートされた前記能力を取得するために、前記MS＿COMP＿IDにしたがって対応するドライバを起動し、前記ドライバを用いて前記MS SUBCOMP＿IDを構文解析することを含む、システム。
【請求項１０】
請求項9に記載のシステムであって、
前記端末装置は、前記ホストに構成成功メッセージを送信するようにさらに構成され、
前記ホストは、前記端末装置により送信された前記構成成功メッセージが受信された場合に、前記端末装置内の前記重複能力で構成された少なくとも1つの副装置を列挙し、前記少なくとも1つの副装置に対してドライバローディングを実行するようにさらに構成され、前記少なくとも1つの副装置が前記重複能力に対応する機能を実現し、
前記副装置は、前記端末装置の論理分割後に得られた仮想的な装置である、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は端末装置に関し、特に、端末装置の能力判定方法、端末装置の能力構成方法、ホスト、端末装置、および端末装置の構成システムに関する。
【０００２】
一般的に、多機能装置、たとえば、ユニバーサル・シリアル・バス（USB、Universal Serial Bus）装置、は、デフォルト機能（たとえば、機能1）モードで動作し、特定の条件（たとえば、機能2のドライバがインストールされている）が満たされた場合には、多機能装置は機能2モードに切り換えられ、機能2モードで動作する。通常の多機能装置、たとえばUSB 3G WANカードがデフォルト動作モードである場合には、通常の多機能装置は、USB仮想光ディスクの方法で動作し、ユーザが光ディスク・ドライバ・プログラムをインストールした後には、通常の多機能装置は、モデム（modem）またはネットワーク・インターフェース・カードの方法で動作する。しかし、通常の多機能装置が使用されるたびに、USBの再列挙（すなわち、検索）を1回実行する必要があり、それはユーザ経験を低下させる。
【０００３】
これに基づいて、多機能選択が一般に複数構成（Multi configuration）を用いて実現される。すなわち、USB装置は複数構成（Configuration）を有し、各Configurationは異なる機能、たとえば、C1：Modem、C2：ネットワークアダプタ（Net Adapter）、C3：全地球測位システム（GPS、Global Positioning System）を実現する。ホスト（Host）は、異なる構成を設定することにより、USB装置が異なる機能モードで動作することを可能にする。
【発明の概要】
【０００４】
しかし、既存の実施態様では、ホストによってサポートされた能力は、USB装置によってサポートされた能力と正確に一致していないので、ホストがホストによってサポートされた能力またはUSB装置の能力にしたがって構成を自動的に実行することができず、したがってそれはユーザ経験を低下させる。
【課題を解決するための手段】
【０００５】
本発明の実施形態は、端末装置の能力判定方法、端末装置の構成方法、ホスト、端末装置、および端末装置の構成システムを提供し、そうすることで、ホストおよび端末装置によってサポートされた能力が正確に同一ではないために、ホストがホストによってサポートされた能力にしたがって端末装置の柔軟な構成を行うことができないという従来技術における問題を解決する。
【０００６】
上記の技術的問題を解決するために、本発明の実施形態は、以下の技術的解決策を開示する。
【０００７】
第1の態様は、端末装置の能力判定方法を提供し、本方法は、
ホストにより、端末装置によってサポートされた能力を取得するステップと、
端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがってホストにより、端末装置およびホストの両方によってサポートされた能力を判定し、端末装置およびホストの両方によってサポートされた能力を重複能力として用いるステップであって、重複能力は、能力構成を実行するために端末装置により用いられる、ステップと、
端末装置に重複能力を送信するステップと
を含む。
【０００８】
第1の態様の第1の可能な実施態様では、本方法は、端末装置により送信された構成成功メッセージが受信された場合に、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙するステップと、
少なくとも1つの副装置が重複能力に対応する機能を実現するように、少なくとも1つの副装置に対してドライバローディングを実行するステップと、をさらに含む。
【０００９】
第1の態様または第1の態様の第1の可能な実施態様を参照して、第2の可能な実施態様では、
ホストにより、端末装置によってサポートされた能力を取得するステップは、
ホストにより、端末装置により送信された記述子を受信するステップであって、記述子は、MS＿COMP＿IDおよびMS SUBCOMP＿IDを含む、ステップと、
端末装置によりサポートされた能力を取得するために、ホストにより、MS＿COMP＿IDにしたがって対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析するステップと
を含む。
【００１０】
第2の態様は、端末装置の能力構成方法を提供し、本方法は、
端末装置により、端末装置によりサポートされた能力をホストに送信するステップと、
端末装置により、ホストによって送信された重複能力を受信するステップであって、重複機能は、端末装置およびホストの両方によってサポートされ、かつ、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがってホストによって判定された能力である、ステップと、
端末装置により、重複能力にしたがって構成を実行するステップと、を含む。
【００１１】
第2の態様の第1の可能な実施態様では、本方法は、端末装置により、構成成功メッセージをホストに送信するステップをさらに含み、ホストは、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行して、少なくとも1つの副装置が重複能力に対応する機能を実現する。
【００１２】
第2の態様または第2の態様の第1の可能な実施態様を参照して、第2の可能な実施態様では、端末装置により、端末装置によりサポートされた能力をホストに送信するステップは、
端末装置により、記述子を用いてMS＿COMP＿IDおよびMS SUBCOMP＿IDをホストに送信するステップを含み、そのようにしてホストがMS SUBCOMP＿IDを用いて対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析して、端末装置によってサポートされた能力を取得する。
【００１３】
第3の態様はホストを提供し、ホストは、
端末装置によってサポートされた能力を取得するように構成された取得部と、
端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがって、端末装置およびホストの両方によってサポートされた能力を判定し、端末装置およびホストの両方によってサポートされた能力を重複能力として用いるように構成された判定部であって、重複能力は、能力構成を実行するために端末装置により用いられる、判定部と、
端末装置に重複能力を送信するように構成された、送信部と
を含む。
【００１４】
第3の態様の第1の可能な実施態様では、ホストは、
端末装置によって送信された構成成功メッセージを受信するように構成された受信部と、
受信部が構成成功メッセージを受信した場合に、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙するように構成された列挙部と、
少なくとも1つの副装置が重複能力に対応する機能を実現するように、少なくとも1つの副装置に対してドライバローディングを実行するように構成されたローディング部と、を
さらに含む。
【００１５】
第3の態様または第3の態様の第1の可能な実施態様を参照して、第2の可能な実施態様では、取得部は、
端末装置によって送信された記述子を受信するように構成されたコード受信部であって、記述子は、MS＿COMP＿IDおよびMS SUBCOMP＿IDを含む、コード受信部と、
MS＿COMP＿IDにしたがって対応するドライバを起動するように構成された起動部と、
端末装置によってサポートされた能力を取得するために、起動部により起動されたドライバを用いてMS SUBCOMP＿IDを構文解析するように構成された構文解析部と
を含む。
【００１６】
第4の態様は端末装置を提供し、端末装置は、
端末装置によりサポートされた能力をホストに送信するように構成された第1の送信部と、
ホストにより送信された重複能力を受信するように構成された受信部であって、重複機能は、端末装置およびホストの両方によってサポートされ、かつ、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがってホストによって判定された能力である、受信部と、
重複能力の構成を実行するように構成された構成部と
を含む。
【００１７】
第4の態様の第1の可能な実施態様では、端末装置は、構成成功メッセージをホストに送信するように構成された第2の送信部をさらに含み、ホストは、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行して、少なくとも1つの副装置が重複能力に対応する機能を実現する。
【００１８】
第4の態様または第4の態様の第1の可能な実施態様を参照して、第2の可能な実施態様では、第1の送信部は、記述子を用いてMS＿COMP＿IDおよびMS SUBCOMP＿IDをホストに送信するように特に構成され、ホストがMS SUBCOMP＿IDを用いて対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析して、端末装置によってサポートされた能力を取得する。
【００１９】
第5の態様は、端末装置の構成システムを提供し、本システムは、ホストと、ホストに接続された端末装置と、を含み、
ホストは、端末装置によってサポートされた能力を取得し、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがって、端末装置およびホストの両方によってサポートされた能力を判定し、端末装置およびホストの両方によってサポートされた能力を重複能力として用い、重複能力は、能力構成を実行するために端末装置により用いられ、端末装置に重複能力を送信するように構成され、
端末装置は、重複能力を受信し、重複能力にしたがって構成を実行するように構成される。
【００２０】
第5の態様の第1の可能な実施態様では、
端末装置は、ホストに構成成功メッセージを送信するようにさらに構成され、
ホストは、端末装置により送信された構成成功メッセージが受信された場合に、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行するようにさらに構成され、少なくとも1つの副装置が重複能力に対応する機能を実現する。
【００２１】
第5の態様または第5の態様の第1の可能な実施態様を参照して、第2の可能な実施態様では、ホストが端末装置によってサポートされた能力を取得することは、具体的には、ホストが端末装置により送信された記述子を受信し、記述子は、MS＿COMP＿IDおよびMS SUBCOMP＿IDを含み、かつ、ホストが端末装置によりサポートされた能力を取得するために、MS＿COMP＿IDにしたがって対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析することを含む。
【００２２】
上記の実施形態から分かるように、本発明の実施形態では、まず、ホストがホストおよび端末装置の両方によってサポートされた能力（すなわち、重複能力）を判定し、端末装置に重複能力を通知して、端末装置が重複能力を構成する。次に、ホストは、重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行して、少なくとも1つの副装置が重複機能に対応する機能を有するようにし、それによって、異なる機能を有する端末装置に適合するように、異なるドライバを自動的にロードすることを実現する。すなわち、ホストおよび端末装置（たとえば、USB装置）によってサポートされた機能が正確に同一ではない場合には、ホストが機能に関して端末装置とネゴシエーションを行い、ホストおよび端末装置の両方によってサポートされた機能を見いだして、ユーザ経験を向上させる構成およびドライバローディングを実行し、端末装置がホストによって必要とされる機能を受信した場合に、ホストが使用する対応するインターフェースを列挙し報告するための時間を低減する。
【００２３】
本発明の実施形態または従来技術において技術的解決策をより明白に説明するために、以下では実施形態を説明するために必要な添付の図面を簡単に導入する。明らかに、以下の説明における添付の図面は、単に本発明のいくつかの実施形態を示すものにすぎず、当業者であれば、創造的努力なしに、これらの添付図面から他の図面をさらに導出することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態による、端末装置の能力判定方法のフローチャートである。
【図２】本発明の一実施形態による、端末装置の能力判定方法の別のフローチャートである。
【図３】本発明の一実施形態による、端末装置の能力構成方法のフローチャートである。
【図４】本発明の一実施形態による、端末装置の能力構成方法の別のフローチャートである。
【図５】本発明の一実施形態による、ホストの概略的な構造図である。
【図６】本発明の一実施形態による、ホストの別の概略的な構造図である。
【図７】本発明の一実施形態による、端末装置の概略的な構造図である。
【図８】本発明の一実施形態による、端末装置の別の概略的な構造図である。
【図９】本発明の一実施形態による、ホストの別の概略的な構造図である。
【図１０】本発明の一実施形態による、USB装置の概略的な構造図である。
【図１１】本発明の実施形態による、端末装置の構成システムの概略的な構造図である。
【発明を実施するための形態】
【００２５】
以下では、本発明の実施形態の添付図面を参照して、本発明の実施形態の技術的解決策について明白かつ完全に説明する。明らかに、記載された実施形態は、本発明の実施形態のすべてではなく、そのいくつかにすぎない。創造的努力なしに本発明の実施形態に基づいて当業者によって得られたすべての他の実施形態は、本発明の保護範囲内に含まれるものとする。
【００２６】
図1を参照すると、図1は、本発明の一実施形態による、端末装置の能力判定方法のフローチャートである。本方法は、以下のステップを含む。
【００２７】
ステップ101：ホストが端末装置によってサポートされた能力を取得する。
【００２８】
このステップでは、端末装置がホスト（Host）に接続されると、端末装置が記述子（またはUSE記述子）を用いてホストにMS＿COMP＿IDおよびMS SUBCOMP＿IDを送信する。記述子を受信した後、ホストはMS＿COMP＿IDを用いて対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析して、端末装置によってサポートされた能力を取得する。MS＿COMP＿IDおよびMS SUBCOMP＿IDは、MS＿OS＿Descriptorsで定義された専用名であり、本明細書では再度詳細に説明することはしない。
【００２９】
この実施形態の端末装置は、一例としてUSB装置を用いて説明しているが、本実施例に限定されるものではない。この実施形態では、USB装置は、具体的には以下の機能的特性を有する。
【００３０】
一般的に、USB装置にはUSBインターフェースがあり、USB装置はUSBインターフェースを介してホストに接続され、USB装置は、MS＿COMP＿IDおよびMS＿SUBCOMP＿ID、たとえばUSB＼MS＿COMP＿TEST＆MS＿SUBCOMP＿IDを格納し、斜体字部分はUSB装置により決定される。もちろん、ホストにより送信されたコマンドを受信した後に、USB装置は、コマンドにしたがって対応するMS＿COMP＿IDおよびMS＿SUBCOMP＿IDを生成してもよい。TESTはドライバと一致するキーワードであって、ホストはMS＿COMP＿TESTを受信した後にTESTにしたがって対応する特殊なドライバに適合し、端末装置によりサポートされた能力を取得するが、この特殊なドライバの役割はMS＿SUBCOMP＿IDを構文解析することである。SUBCOMP＿IDは、ビットマップ（BIT MAP）数に対応する文字列であり、BIT MAP中の各ビットは、現在の装置によりサポートされた機能を表す。たとえば、
0001h：モデム（Modem）、
0010h：ネットワークアダプタ（Net Adapter）、
0100h：全地球測位システム（GPS、Global Position System）、
1000h：ビットトレント（BT、BitTorrent）。
【００３１】
SUB COMPの値が0xD（1101）である場合には、現在のUSB装置がModem、GPS、およびBTをサポートすることができることを示している。
【００３２】
次に、HOSTは、受信したMS＿COMP＿IDを用いて対応する特殊なドライバに適合することができ、特殊なドライバを用いて受信したMS SUBCOMP＿IDを構文解析して、現在のUSB装置の能力を取得することができる。たとえば、USB装置の能力が5である場合には、USB装置がModem、GPS、およびBTなどをサポートしていることを示す。
【００３３】
この実施形態では、TESTはUSBインターフェースに対応し、USBインターフェースは、特殊なドライバに加えて、別のドライバであってもよく、この実施形態に限定されるものではないことに留意されたい。
【００３４】
ステップ102：ホストが、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがって、端末装置およびホストの両方によってサポートされた能力を判定し、端末装置およびホストの両方によってサポートされた能力を重複能力として使用し、重複能力は能力構成を実行するために端末装置によって用いられる。
【００３５】
このステップでは、1つの判定方法は、ホストがUSB装置によってサポートされた能力およびホストによってサポートされた能力に対してAND演算を実行して、ホストおよびUSB装置の両方によってサポートされ得る能力を取得することである。この実施形態では、ホストおよびUSB装置の両方によってサポートされ得る能力は、重複能力と呼ばれる。重複能力を判定するための方法は、AND演算に限定されるものではなく、別の演算方法を実行してもよく、この実施形態に限定されるものではないことに留意されたい。
【００３６】
たとえば、HostのドライバはModemおよびBTのみをサポートし、USB装置はModem、GPS、およびBTをサポートしている。したがって、AND演算の結果は0x9（1001）であり、HostおよびUSB装置の両方は、ModemおよびBTをサポートできることを示している。
【００３７】
ステップ103：端末装置に重複能力を送信する。
【００３８】
このステップでは、HostのドライバがAND演算後に得られた重複能力をUSB装置に送信し、端末装置が重複能力を構成する。
【００３９】
任意選択的に、この実施形態では、ホストがUSBベンダー（USB Vendor）により定義されたコマンドを使用して、AND演算後に得られた重複能力をUSB装置に送信することができる。USB装置は、このコマンドにしたがって重複能力を構成し、構成が成功した後に、構成成功メッセージをHostに送信する。
【００４０】
本発明のこの実施形態では、ホストは、まず端末装置によってサポートされるすべての能力を取得し、次にホストおよび端末装置の両方によってサポートされる能力（すなわち、重複能力）を判定し、端末装置に重複能力を通知し、端末装置が重複能力を構成する。すなわち、ホストおよび端末装置（たとえば、USB装置）によりサポートされる能力が正確に同一でない場合には、ホストが機能に関して端末装置とネゴシエーションを行って、ホストおよび端末装置の両方によってサポートされる機能を見いだして構成を実行し、したがって、端末装置によりサポートされる能力にしたがって端末装置で柔軟性のある構成が実行されることを実現し、またユーザ経験を向上させる。
【００４１】
図2を参照すると、図2は、本発明の実施形態による、端末装置の能力判定方法の別のフローチャートである。本方法は、以下のステップを含む。
【００４２】
ステップ201〜ステップ203の詳細については、ステップ101〜ステップ103を参照されたい。
【００４３】
ステップ204：端末装置により送信された構成成功メッセージが受信された場合に、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙する。
【００４４】
構成USB装置により送信された構成成功メッセージを受信すると、ホストは重複能力にしたがって少なくとも1つの副装置（すなわち、USB装置の論理分割後に得られた、本明細書では副装置と呼ばれる仮想的な装置）を列挙する。たとえば、AND演算により得られた重複能力が0x9である場合には、ホストは、一方がModemであり、他方はBTである、2つの副装置を列挙することができ、あるいは2つの副装置のうちの1つの副装置を列挙することができ、それはこの実施形態に限定されるものではない。
【００４５】
ステップ205：少なくとも1つの副装置が重複能力に対応する機能を実現するように、少なくとも1つの副装置に対してドライバローディングを実行する。
【００４６】
このステップでは、ホストが2つの副装置を列挙する場合には、ドライバローディングを2つの副装置について実行し、ドライバローディングが完了した後に、2つの副装置が重複能力に対応する機能を有する。
【００４７】
本発明のこの実施形態では、まず、ホストがホストおよび端末装置の両方によってサポートされた能力（すなわち、重複能力）を判定し、端末装置に重複能力を通知して、端末装置が重複能力を構成する。次に、ホストは、重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行して、少なくとも1つの副装置が重複機能に対応する機能を有する。すなわち、ホストおよび端末装置（たとえば、USB装置）によりサポートされる能力が正確に同一でない場合には、ホストが機能に関して端末装置とネゴシエーションを行って、ホストおよび端末装置の両方によってサポートされる機能を見いだして構成およびドライバローディングを実行し、それによって、端末装置の列挙の量を低減し、ユーザ経験を向上させ、また異なるドライバを用いて異なる端末装置の要求を満たすことを実現する。
【００４８】
図3を参照すると、図3は、本発明の一実施形態による、端末装置の能力構成方法のフローチャートである。本方法は、以下のステップを含む。
【００４９】
ステップ301：端末装置が端末装置によりサポートされた能力をホストに送信する。
【００５０】
このステップでは、端末装置については、USB装置が一例として用いられているが、端末装置は本実施例に限定されるものではない。USB装置がUSB装置によりサポートされた能力をホストに送信して、ホストが、USB装置によりサポートされた能力を受信した後、USB装置によりサポートされた能力およびホストの能力にしたがって、USB装置およびホストの両方によりサポートされた能力を判定する。この実施形態では、USB装置およびホストの両方によってサポートされた能力を重複能力と呼ぶ。次に、ホストは、判定した重複能力を端末装置に送信する。
【００５１】
ホストは、AND演算により、ホストおよびUSB装置の両方によりサポートされた能力を判定することができるが、しかし、本発明はこれに限定されるものではない。ホストおよびUSB装置の両方によりサポートされた能力は、他の同様の計算方法を用いて判定することができる。
【００５２】
任意選択的に、この実施形態では、端末装置がホストに接続された後に、端末装置が記述子を用いてMS＿COMP＿IDおよびMS SUBCOMP＿IDをホストに送信する。記述子を受信した後、ホストはMS＿COMP＿IDを用いて対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析して、USB装置によってサポートされた能力を取得する。
【００５３】
ステップ302：端末装置がホストによって送信された重複能力を受信し、重複機能は、端末装置およびホストの両方によってサポートされ、かつ、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがってホストによって判定された能力である。
【００５４】
任意選択的に、このステップでは、端末装置は、ベンダーによって定義されたコマンドを用いて、ホストおよび端末装置の両方によってサポートされ、かつ、ホストにより送信された重複能力を受信することができる。
【００５５】
ステップ303：端末装置が重複能力にしたがって構成を実行する。
【００５６】
端末装置は、少なくとも1つの対応する副装置において重複能力に対応する機能を構成する。
【００５７】
任意選択的に、重複能力にしたがってパラメータ構成を実行した後に、端末装置がホストに構成成功メッセージを送信し、ホストが端末装置内の重複能力で構成された少なくとも1つの副装置を列挙して、少なくとも1つの副装置が重複能力に対応する機能を実現するように、少なくとも1つの副装置に対してドライバローディングを実行する。
【００５８】
本発明のこの実施形態では、端末装置（たとえば、USB装置）が、まず端末装置によってサポートされる能力をホストに通知し、ホストが、端末装置およびホストの両方によってサポートされる能力（すなわち、重複能力）を判定し、端末装置に重複能力を通知する。したがって、端末装置は重複能力を構成する。すなわち、ホストおよび端末装置によってサポートされる能力が正確に同一でない場合には、ホストが機能に関して端末装置とネゴシエーションを行い、ホストおよび端末の両方によってサポートされる能力を見いだし、端末装置へ能力を通知することにより、端末装置が対応する構成を行う、すなわち、ホストが端末装置の能力およびホストの能力にしたがって端末装置の機能を柔軟に構成することができる。
【００５９】
図4を参照すると、図4は、本発明の一実施形態による、端末装置の能力構成方法の別のフローチャートである。本方法は、以下のステップを含む。
【００６０】
ステップ401〜ステップ403の詳細については、ステップ301〜ステップ303を参照されたい。
【００６１】
ステップ404：端末装置が構成成功メッセージをホストに送信し、ホストが端末装置内の重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行することにより、少なくとも1つの副装置が重複能力に対応する機能を実現する。
【００６２】
このステップでは、重複能力に対応する構成を実行した後に、端末装置がHostに構成成功メッセージをフィードバックする。構成成功メッセージを受信した後、Hostは、AND演算の結果にしたがって、端末装置の少なくとも1つの対応する副装置を列挙する。たとえば、AND演算の結果は0x9であれば、2つの副装置が列挙され、一方はModemであり、他方はBTである。次に、ホストは2つの副装置においてドライバローディングを実行して、ドライバローディングが実行された2つの副装置が重複能力に関連する機能を有することを可能にする。
【００６３】
本発明のこの実施形態では、端末装置（たとえば、USB装置）が、まず端末装置によってサポートされる能力をホストに通知し、ホストが、ホストおよび端末装置の両方によってサポートされる能力（すなわち、重複能力）を判定し、端末装置に重複能力を通知することにより、端末装置が重複能力を構成する。次に、ホストは、重複能力で構成された副装置を列挙し、副装置のためのドライバをインストールすることができる。すなわち、ホストおよび端末装置によりサポートされる能力が正確に同一でない場合には、ホストが機能に関して端末装置とネゴシエーションを行って、端末装置およびホストの両方によってサポートされる能力を見いだして、構成およびドライバローディングを実行し、それは列挙の量を低減するだけでなく、ユーザ経験も向上させる。そのうえ、ホストは、端末装置の能力およびホストの能力にしたがって端末装置の機能を柔軟に構成することもできる。
【００６４】
さらに、本発明のこの実施形態では、異なるHostドライバを提供することによって、1つのUSB装置を異なるユーザの要求を満たすように都合良く用いることができ、したがってUSB装置のベンダーの開発努力を低減することができる。装置ベンダーは、1つのドライバをさらに使用してすべてのUSB装置をサポートすることができ、それはHostドライバの開発および認証コストを低減する。
【００６５】
上記の方法の実現過程に基づいて、本発明の実施形態はホストをさらに提供し、ホストの概略的な構造図を図5に示す。装置は、取得部51、判定部52、および送信部53を含み、
取得部51は、端末装置によってサポートされた能力を取得するように構成され、
取得部51は、コード受信部、起動部、および構文解析部を含み、
コード受信部は、端末装置により送信された記述子を受信するように構成され、記述子は、MS＿COMP＿IDおよびMS SUBCOMP＿IDを含み、起動部は、MS＿COMP＿IDにしたがって対応するドライバを起動するように構成され、構文解析部は、端末装置によってサポートされた能力を取得するために、起動部により起動されたドライバを用いてMS SUBCOMP＿IDを構文解析するように構成され、
判定部52は、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがって、端末装置およびホストの両方によってサポートされた能力を判定し、端末装置およびホストの両方によってサポートされた能力を重複能力として用いるように構成され、重複能力は、能力構成を実行するために端末装置により用いられ、
送信部53は、端末装置が重複能力を構成するように、端末装置に重複能力を送信するように構成され、送信部53は、端末装置に重複能力を送信し、具体的には、ベンダーにより定義されたコマンドを用いて端末装置に重複能力を送信し、それによって端末装置が重複能力を構成する。
【００６６】
ホストの各部の機能および効果の実現過程の詳細については、上記の方法に対応するステップの実現過程を参照されたく、ここでは再度の説明を省略する。
【００６７】
任意選択的に、別の実施形態では、この実施形態は図5の上記の実施形態に基づいており、ホストは、受信部61、列挙部62、およびローディング部63をさらに含み、ホストの概略的な構造図を図6に示す。
受信部61は、端末装置によって送信された構成成功メッセージを受信するように構成され、
列挙部62は、受信部が構成成功メッセージを受信した場合に、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙するように構成され、
ローディング部63は、少なくとも1つの副装置が重複能力に対応する機能を実現するように、少なくとも1つの副装置に対してドライバローディングを実行するように構成される。
【００６８】
ホストの各部の機能および効果の実現過程の詳細については、上記の方法に対応するステップの実現過程を参照されたく、ここでは再度の説明を省略する。
【００６９】
これに対応して、本発明の一実施形態は、端末装置をさらに提供し、端末装置の概略的な構造図を図7に示す。端末装置は、第1の送信部71、受信部72、および構成部73を含み、
第1の送信部71は、端末装置によってサポートされた能力をホストに送信するように構成され、第1の送信部71は、記述子を用いてMS＿COMP＿IDおよびMS SUBCOMP＿IDをホストに送信するように特に構成され、ホストがMS SUBCOMP＿IDを用いて対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析して、端末装置によってサポートされた能力を取得し、
受信部72は、ホストにより送信された重複能力を受信するように構成され、重複機能は、端末装置およびホストの両方によってサポートされ、かつ、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがってホストによって判定された能力であり、ホストにより送信された重複能力を受信することは、具体的には、ベンダーによって定義されたコマンドを用いて、ホストおよび端末装置の両方によってサポートされ、かつ、ホストにより送信された重複能力を受信することであり、
構成部73は、重複能力の構成を実行するように構成される。
【００７０】
端末装置の各部の機能および効果の実現過程の詳細については、上記の方法に対応するステップの実現過程を参照されたく、ここでは再度の説明を省略する。
【００７１】
任意選択的に、別の実施形態では、この実施形態は図7の実施形態に基づいており、端末装置は第2の送信部81をさらに含む。端末装置の概略的な構造図を図8に示す。第2の送信部81は、構成部73が重複能力にしたがって構成を実行することに成功した後に、構成成功メッセージをホストに送信するように構成され、ホストは、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行して、それによって副装置が重複能力に対応する機能を実現する。
【００７２】
任意選択的に、端末装置は、USB装置であってもよいし、あるいは別の記憶装置であってもよく、この実施形態に限定されるものではない。
【００７３】
端末装置の各部の機能および効果の実現過程の詳細については、上記の方法に対応するステップの実現過程を参照されたく、ここでは再度の説明を省略する。
【００７４】
これに対応して、本発明の一実施形態は、ホストをさらに提供し、ホストの概略的な構造図を図9に示す。ホスト9は、USBインターフェース91およびプロセッサ92を含み、
プロセッサ92は、USBインターフェース91を介して、端末装置によってサポートされた機能を取得し、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがって、端末装置およびホストの両方によってサポートされた能力を判定し、端末装置およびホストの両方によってサポートされた能力を重複能力として使用するように構成され、重複能力は能力構成を実行するために端末装置によって用いられ、
プロセッサ92は、USBインターフェース91を介して端末装置に重複能力を送信するようにさらに構成され、それによって端末装置が重複能力を構成する。
【００７５】
任意選択的に、プロセッサ92は、端末装置により送信された構成成功メッセージがUSBインターフェース91を介して受信された場合に、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置が重複能力に対応する機能を実現するように、少なくとも1つの副装置に対してドライバローディングを実行するようにさらに構成される。
【００７６】
任意選択的に、プロセッサが、USBインターフェースを介して、端末装置によってサポートされた能力を取得することは、ホストが端末装置により送信された記述子を受信し、記述子はMS＿COMP＿IDおよびMS SUBCOMP＿IDを含み、かつ、ホストが端末装置によりサポートされた能力を取得するために、MS＿COMP＿IDにしたがって対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析することを含む。
【００７７】
任意選択的に、プロセッサが、USBインターフェースを介して、端末装置に重複能力を送信することは、ベンダーによって定義されたコマンドを用いて端末装置に重複能力を送信することを含む。
【００７８】
ホスト内にあるUSBインターフェースおよびプロセッサの機能および効果の実現過程の詳細については、上記の方法に対応するステップの実現過程を参照されたく、ここでは再度の説明を省略する。
【００７９】
本発明の一実施形態は、USB装置をさらに提供し、USB装置の概略的な構造図を図10に示す。USB装置10は、USBインターフェース11およびプロセッサ12を含み、
プロセッサ12は、USBインターフェース11を介して、USB装置によってサポートされた機能をホストに送信し、UEBインターフェース11を介して、ホストによって送信された重複能力を受信するように構成され、重複機能は、端末装置およびホストの両方によってサポートされ、かつ、端末装置によってサポートされた能力およびホストによってサポートされた能力にしたがってホストによって判定された能力であり、
プロセッサ12は、重複能力にしたがって構成を実行するようにさらに構成される。
【００８０】
任意選択的に、プロセッサ12は、UEBインターフェース11を介して構成成功メッセージをホストに送信するようにさらに構成され、それによって、ホストは、端末装置内の重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行し、それによって、少なくとも1つの副装置が重複能力に対応する機能を実現する。
【００８１】
任意選択的に、プロセッサが、USBインターフェースを介して、ホストにUSB装置によってサポートされた能力を送信することは、記述子を用いてMS＿COMP＿IDおよびMS SUBCOMP＿IDをホストに送信することを含み、それによって、ホストがMS SUBCOMP＿IDを用いて対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析して、端末装置によってサポートされた能力を取得する。
【００８２】
任意選択的に、プロセッサが、USBインターフェースを介して、ホストにより送信された重複能力を受信することは、ベンダーによって定義されたコマンドを用いて、受信ホストおよびUSB装置の両方の能力によってサポートされ、かつ、ホストにより送信された能力を受信することを含む。
【００８３】
USB装置内にあるUSBインターフェースおよびプロセッサの機能および効果の実現過程の詳細については、上記の方法に対応するステップの実現過程を参照されたく、ここでは再度の説明を省略する。
【００８４】
図11を参照すると、図11は、本発明の実施形態による、端末装置の構成システムの概略的な構造図である。端末装置の構成システム13は、ホスト111と、ホスト111に接続された端末装置112と、を含み、
ホスト111は、端末装置112によってサポートされた能力を取得し、端末装置112によってサポートされた能力およびホストによってサポートされた能力にしたがって、端末装置112およびホスト111の両方によってサポートされた能力を判定し、端末装置112およびホスト111の両方によってサポートされた能力を重複能力として使用し、重複能力は能力構成を実行するために端末装置によって用いられ、端末装置に重複能力を送信するように構成され、
端末装置112は、重複能力を受信し、重複能力にしたがって構成を実行するように構成される。
【００８５】
任意選択的に、端末装置112は、ホスト111に構成成功メッセージを送信するようにさらに構成され、
ホスト111は、端末装置112により送信された構成成功メッセージが受信された場合に、端末装置112内の重複能力で構成された少なくとも1つの副装置を列挙し、少なくとも1つの副装置に対してドライバローディングを実行するようにさらに構成され、それによって少なくとも1つの副装置が重複能力に対応する機能を実現する。
【００８６】
任意選択的に、ホスト111が端末装置112によってサポートされた能力を取得することは、具体的には、ホストが端末装置により送信された記述子を受信し、記述子はMS＿COMP＿IDおよびMS SUBCOMP＿IDを含み、かつ、ホストが端末装置によりサポートされた能力を取得するために、MS＿COMP＿IDにしたがって対応するドライバを起動し、ドライバを用いてMS SUBCOMP＿IDを構文解析することを含む。
【００８７】
システム内にあるホストおよび端末装置の機能および効果の実現過程の詳細については、上記の方法に対応するステップの実現過程を参照されたく、ここでは再度の説明を省略する。
【００８８】
当業者による理解を容易にするために、以下では具体的な応用事例を用いて説明する。
【００８９】
本発明の応用事例1
USB装置が3人の異なる顧客の要求を満たす必要があると仮定し、一人の顧客はModem＋GPS＋SD機能を要求し、一人の顧客はModem機能を要求し、別の顧客はNetAdapter＋BT機能を要求する。
【００９０】
まず、USB装置の機能コードは、以下のように定義される。
00000001（0x01）：modem
00000010（0x02）：NetAdapter
00000100（0x04）：GPS
00001000（0x08）：BT
00010000（0x10）：SD
【００９１】
USB装置は、ホストにMS＿COMP USB＼MS＿COMP＿HUAWEI＆MS＿SUBCOMP＿1Fを報告し、USBが上記のポートをすべてサポートすることを示す。
【００９２】
さらに、ホストは3つのHOSTドライバを提供する必要がある。
ドライバ1の能力値は0x15（Modem＋GPS＋SDが必要とされる）であり、
ドライバ2の能力値は0x01（Modemのみ必要とされる）であり、
ドライバ3の能力値は0x06（Net AdapterおよびBTが必要とされる）である。
【００９３】
ホストは能力に関してUSB装置とネゴシエーションを行って、ホストおよびUSB装置が3人の異なる顧客の要求を別々に満たすと判定され、次に3人の顧客に対してドライバが別々に提供される。
【００９４】
本発明のこの実施形態では、装置ベンダーは1種類のみのUSB装置を製造すればよく、ユーザの種類にしたがって異なるHostドライバがユーザに提供される限りは、ユーザの要求を満足させることができる。
【００９５】
本発明の応用事例2
USBベンダーは、ただ1つのHostドライバを提供するが、このベンダーのすべてのUSB製品をサポートする必要がある。
【００９６】
機能コードは、以下のように定義される。
00000001（0x01）：modem
00000010（0x02）：NetAdapter
00000100（0x04）：GPS
00001000（0x08）：BT
00010000（0x10）：SD
【００９７】
ドライバ1の能力値は0x1Fであり、すなわち、すべてのポートがサポートされている。
USB装置1の能力：USB＼MS＿COMP＿HUAWEI＆MS＿SUBCOMP＿01、Modemだけがある。
USB装置2の能力：USB＼MS＿COMP＿HUAWEI＆MS＿SUBCOMP＿11、Modem＋SDがある。
【００９８】
…
【００９９】
このように、装置ベンダーは、1つのドライバを使用してすべてのUSB装置をサポートすることができ、それはHostドライバの開発および認証コストを低減する。
【０１００】
本発明のこの実施形態では、USB機能は、ホストによってサポートされた能力およびUSB装置によってサポートされた能力にしたがって柔軟に構成することができ、それによって、異なるユーザの要求を満たし、ユーザの満足度を向上させることができる。
【０１０１】
本明細書では、第1および第2などの関係用語は、1つの実体または動作を別のものから区別するためにのみ使用されるものであって、これらの実体または動作間に何らかの実際の関係または順序が存在することを必ずしも必要としないし、またそれを意味するものでもないことに留意されたい。また、「含む」、「備える」という用語、またはそれらの任意の他の変形は、非排他的な包含を網羅することを意図したものであり、要素のリストを含む処理、方法、物品、または装置は、それらの要素を含むだけでなく、明示的に列挙されていない他の要素を含み、あるいは、このような処理、方法、物品、または装置に固有の要素をさらに含むものである。「を含む」の前にある要素は、さらなる限定なしに、その要素を含む処理、方法、物品、または装置における付加的な同一要素の存在を除外するものではない。
【０１０２】
実施形態の上記の説明に基づいて、当業者であれば、必要な汎用ハードウェアプラットフォームに加えてソフトウェアにより、またはハードウェアのみにより、本発明を実現することができることを明確に理解することができる。ほとんどの状況では、前者が好ましい実施態様である。このような理解に基づいて、従来技術に本質的に寄与する本発明またはその部分の技術的解決策は、ソフトウェア製品の形態で実施することができる。ソフトウェア製品は、ROM／RAM、ハードディスク、または光ディスクなどの記憶媒体に格納され、本発明の実施形態または実施形態のいくつかの部分で説明した方法を実行するようにコンピュータ装置（パーソナルコンピュータ、サーバ、ネットワーク装置などであってもよい）に命令するためのいくつかの命令を含む。
【０１０３】
上記の説明は、本発明の例示的な実施態様にすぎない。当業者であれば、本発明の原理から逸脱することなく、いくつかの改良または洗練を行うことができ、改良または洗練は本発明の保護範囲内に含まれるものとする。
【符号の説明】
【０１０４】
9  ホスト
10  USB装置
11  USBインターフェース
12  プロセッサ
13  構成システム
51  取得部
52  判定部
53  送信部
61  受信部
62  列挙部
63  ローディング部
71  第1の送信部
72  受信部
73  構成部
81  第2の送信部
91  USBインターフェース
92  プロセッサ
111  ホスト
112  端末装置
【図１】
0006280992.tif 000002
【図２】
0006280992.tif 000003
【図３】
0006280992.tif 000004
【図４】
0006280992.tif 000005
【図５】
0006280992.tif 000006
【図６】
0006280992.tif 000007
【図７】
0006280992.tif 000008
【図８】
0006280992.tif 000009
【図９】
0006280992.tif 000010
【図１０】
0006280992.tif 000011
【図１１】
0006280992.tif 000012