(57)【要約】【課題】ＵＳＢインターフェースの規格をみたしつつハブに接続するデバイスを最適な状態で動作させることができるＵＳＢホスト制御装置及びその制御方法、並びにプログラムを提供する。【解決手段】ＵＳＢホスト制御装置１００は、ＵＳＢホスト機能部１を接続するアップストリームポート４及び内蔵されるＵＳＢデバイス８，９，１１，１２及びＡレセプタクル１０と接続するダウンストリームポート７ａ〜７ｅを備えるハブ２とを備える。ダウンストリームポート７ｃにＡレセプタクル１０を介して接続された外部デバイスが有効デバイスであり、且つその外部デバイスに対して電力供給可能である、すなわち、その外部デバイスがバスパワーで動作し、その最大消費電力がバス２が電力供給をする際の最大許容量を超えないときに、ＵＳＢホスト機能部１とその外部デバイスの接続を有効にする。【選択図】図１
2007140689.tif 000002
【特許請求の範囲】
【請求項１】
内蔵されたホストと接続するアップストリームポート及び複数のデバイスと接続するダウンストリームボートを有するハブを有するＵＳＢホスト制御装置であって、前記ダウンストリームボートの１つはバスパワーで動作する内蔵デバイスと接続し、前記ダウンストリームボートの他の１つは外部デバイスと接続するＵＳＢホスト制御装置において、
前記ハブは、前記ダウンストリーム毎に有効なデバイスの種類を設定する設定手段と、前記複数のデバイスがバスパワーで動作する場合に電力供給を行う電力供給手段とを備え、
前記ダウンストリームボートの他の１つに接続された外部デバイスの種類が有効であり、且つ当該外部デバイスがバスパワーで動作し、その最大消費電力が前記電力供給をする際の最大許容量を超えないとき、前記ホストと前記外部デバイスの接続を有効にすることを特徴とするＵＳＢホスト制御装置。
【請求項２】
前記接続が有効にされた外部デバイスの最大消費電力に合わせて、バッテリ残量の検知レベルやダミー負荷レベルを変更する請求項１記載のＵＳＢホスト制御装置。
【請求項３】
前記設定手段は、前記ダウンストリームボートの１つに接続する内蔵デバイスが故障しているとき、前記ダウンストリームの他の１つに対して有効なデバイスに前記故障した内蔵デバイスの種類を追加する種類追加手段を備えることを特徴とする請求項１又は２記載のＵＳＢホスト制御装置。
【請求項４】
前記設定手段は、前記種類追加手段をファームウエアの書き換えにより追加することを特徴とする請求項３記載のＵＳＢホスト制御装置。
【請求項５】
前記設定手段は、前記接続された外部デバイスの種類が有効であって、且つ前記内蔵デバイスの１つと同種類であるとき、当該両デバイスの性能を性能を比較する性能比較手段を備え、前記比較の結果、前記外部デバイスの方が性能が優れているときは、前記内蔵デバイスへの電源供給を停止することを特徴とする請求項１乃至４のいずれか１項に記載のＵＳＢホスト制御装置。
【請求項６】
前記設定手段は、前記性能比較手段及び前記種類再設定手段をファームウエアの書き換えにより追加することを特徴とする請求項５記載のＵＳＢホスト制御装置。
【請求項７】
内蔵されたホストと接続するアップストリームポート及び複数のデバイスと接続するダウンストリームボートを有するハブを有するＵＳＢホスト制御装置であって、前記ダウンストリームボートの１つはバスパワーで動作する内蔵デバイスと接続し、前記ダウンストリームボートの他の１つは外部デバイスと接続するＵＳＢホスト制御装置の制御方法において、
前記ハブにより、前記ダウンストリーム毎に有効なデバイスの種類を設定する設定ステップと、前記複数のデバイスがバスパワーで動作する場合に電力供給を行う電力供給ステップとを備え、
前記ダウンストリームボートの他の１つに接続された外部デバイスの種類が有効であり、且つ当該外部デバイスがバスパワーで動作し、その最大消費電力が前記電力供給をする際の最大許容量を超えないとき、前記ホストと前記外部デバイスの接続を有効にすることを特徴とする制御方法。
【請求項８】
前記接続が有効にされた外部デバイスの最大消費電力に合わせて、バッテリ残量の検知レベルやダミー負荷レベルを変更する請求項７記載の制御方法。
【請求項９】
前記設定ステップは、前記ダウンストリームボートの１つに接続する内蔵デバイスが故障しているとき、前記ダウンストリームの他の１つに対して有効なデバイスに前記故障した内蔵デバイスの種類を追加する種類追加ステップを備えることを特徴とする請求項７又は８記載の制御方法。
【請求項１０】
前記設定ステップは、前記種類追加ステップをファームウエアの書き換えにより追加することを特徴とする請求項９記載の制御方法。
【請求項１１】
前記設定ステップは、前記接続された外部デバイスの種類が有効であって、且つ前記内蔵デバイスの１つと同種類であるとき、当該両デバイスの性能を性能を比較する性能比較ステップを備え、前記比較の結果、前記外部デバイスの方が性能が優れているときは、前記内蔵デバイスへの電源供給を停止することを特徴とする請求項７乃至１０のいずれか１項に記載の制御方法。
【請求項１２】
前記設定ステップは、前記性能比較ステップ及び前記種類再設定ステップをファームウエアの書き換えにより追加することを特徴とする請求項１１記載の制御方法。
【請求項１３】
内蔵されたホストと接続するアップストリームポート及び複数のデバイスと接続するダウンストリームボートを有するハブを有するＵＳＢホスト制御装置であって、前記ダウンストリームボートの１つはバスパワーで動作する内蔵デバイスと接続し、前記ダウンストリームボートの他の１つは外部デバイスと接続するＵＳＢホスト制御装置の制御方法をコンピュータにより実行させるプログラムにおいて、
前記ハブにより、前記ダウンストリーム毎に有効なデバイスの種類を設定する設定モジュールと、前記複数のデバイスがバスパワーで動作する場合に電力供給を行う電力供給モジュールとを備え、
前記ダウンストリームボートの他の１つに接続された外部デバイスの種類が有効であり、且つ当該外部デバイスがバスパワーで動作し、その最大消費電力が前記電力供給をする際の最大許容量を超えないとき、前記ホストと前記外部デバイスの接続を有効にすることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢホスト制御装置及びその制御方法、並びにプログラムに関する。特に複数のデバイスを接続可能なダウンストリームポートを持つハブ機能を有する、ＵＳＢ（Universal Serial Bus）をインターフェースとするＵＳＢホスト制御装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来より、パーソナルコンピュータ等から成るＵＳＢホスト機能を接続可能なアップストリームポートと複数のＵＳＢデバイスを接続可能なダウンストリームポートを持つハブを有するＵＳＢホスト制御装置が知られている（例えば、非特許文献１参照）。
【０００３】
このようなＵＳＢホスト制御装置に用いられるＵＳＢインターフェースの規格によれば、上記ダウンストリームポートに接続可能なＵＳＢデバイスは、ハブを含み総数１２７個までサポートされなければいけない。また、トポロジー上のホストとデバイス間のルートハブを含むハブの個数は最大５個でなければならない。
【０００４】
さらに、上記ハブがＵＳＢホスト制御装置内にある電源供給制御部から供給されるバスパワーで動作する場合は、ハブのダウンストリームポートに接続される各デバイスへ少なくとも１００ｍＡを供給しなければならないという制約がある。一方、ハブがセルフパワーで動作する場合は、ハブのダウンストリームポートに接続される各デバイスへ最大５００ｍＡの電源供給を保証しなければならないという制約がある。
【０００５】
さらに、ＵＳＢ機器としての認証としてUSB2.0 CertificationやＷＨＱＬ等があり、通常のＵＳＢ機器はＵＳＢ機器としての互換性を保証するためにこれらの認証を取得している。
【０００６】
近年では、ＵＳＢホスト制御装置の内部にハブ及びこれに接続するデバイスの一部を内蔵するものが登場してきた。
【非特許文献１】Universal Serial Bus Specification Revision 2.0, USB Implementers Forum, 2000年4月
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のハブ及びこれに接続するデバイスの一部を内蔵するＵＳＢホスト制御装置においては、次の理由により前述のＵＳＢインターフェースの規格を満足する仕様を提供することが困難であった。
【０００８】
例えば、ＵＳＢインターフェースの規格では、ハブは各ポート毎に接続され有効となるＵＳＢデバイス（以下「有効デバイス」という。）のドライバを予め登録することになっている。従って、ＵＳＢ規格を満たす外部デバイスがハブに接続されてもその外部デバイスが上記有効デバイスでないときは、従来のＵＳＢホスト制御装置はその外部デバイスを制御できない。
【０００９】
このため、内蔵デバイスの１つ（例えば、プリンタ）が故障した場合、外部デバイスが接続するポートの有効デバイスとしてプリンタが登録されていなければ、外部デバイスとしてプリンタを接続してもＵＳＢホスト制御装置はこれを制御することができない。この場合、その故障した内蔵デバイスを修理しない限りＵＳＢホスト制御装置を用いて印刷を行うことができなくなるという問題がある。
【００１０】
また、ＵＳＢインターフェースの規格では、ハブは予め各内蔵デバイスの機能情報を取得しており、この機能情報に基づいて各ポートに接続するデバイスへの電源供給制御を行うこととなっている。しかし、新たにバスパワーで動作する外部デバイスがハブに接続されたときも、接続前と同じ電源供給制御を行うため、その外部デバイスに十分な電源を供給できない場合がある。かかる場合、外部デバイスはハブと接続しても電源不足のため動作することができないので、従来のＵＳＢホスト制御装置はこの外部デバイスを制御できないという問題がある。
【００１１】
一方、外部デバイスの有効デバイスを制限し、その制限された有効デバイスの機能情報にも基づいて各ポートに接続するデバイスへの電源供給制御を行うようにすれば、外部デバイスに対して供給する電源が不足することはない。しかし、この場合、内蔵デバイスより高性能化したデバイスがＵＳＢ接続可能な外部デバイスとして出現しても、この外部デバイスを内蔵デバイスの代わりに使用することはできないという問題がある。
【００１２】
本発明の目的は、ＵＳＢインターフェースの規格をみたしつつハブに接続するデバイスを最適な状態で動作させることができるＵＳＢホスト制御装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、請求項１記載のＵＳＢホスト制御装置は、内蔵されたホストと接続するアップストリームポート及び複数のデバイスと接続するダウンストリームボートを有するハブを有するＵＳＢホスト制御装置であって、前記ダウンストリームボートの１つはバスパワーで動作する内蔵デバイスと接続し、前記ダウンストリームボートの他の１つは外部デバイスと接続するＵＳＢホスト制御装置において、前記ハブは、前記ダウンストリーム毎に有効なデバイスの種類を設定する設定手段と、前記複数のデバイスがバスパワーで動作する場合に電力供給を行う電力供給手段とを備え、前記ダウンストリームボートの他の１つに接続された外部デバイスの種類が有効であり、且つ当該外部デバイスがバスパワーで動作し、その最大消費電力が前記電力供給をする際の最大許容量を超えないとき、前記ホストと前記外部デバイスの接続を有効にすることを特徴とする。
【００１４】
上記目的を達成するために、請求項７記載の制御方法は、内蔵されたホストと接続するアップストリームポート及び複数のデバイスと接続するダウンストリームボートを有するハブを有するＵＳＢホスト制御装置であって、前記ダウンストリームボートの１つはバスパワーで動作する内蔵デバイスと接続し、前記ダウンストリームボートの他の１つは外部デバイスと接続するＵＳＢホスト制御装置の制御方法において、前記ハブにより、前記ダウンストリーム毎に有効なデバイスの種類を設定する設定ステップと、前記複数のデバイスがバスパワーで動作する場合に電力供給を行う電力供給ステップとを備え、前記ダウンストリームボートの他の１つに接続された外部デバイスの種類が有効であり、且つ当該外部デバイスがバスパワーで動作し、その最大消費電力が前記電力供給をする際の最大許容量を超えないとき、前記ホストと前記外部デバイスの接続を有効にすることを特徴とする。
【００１５】
上記目的を達成するために、請求項１３記載のプログラムは、内蔵されたホストと接続するアップストリームポート及び複数のデバイスと接続するダウンストリームボートを有するハブを有するＵＳＢホスト制御装置であって、前記ダウンストリームボートの１つはバスパワーで動作する内蔵デバイスと接続し、前記ダウンストリームボートの他の１つは外部デバイスと接続するＵＳＢホスト制御装置の制御方法をコンピュータにより実行させるプログラムにおいて、前記ハブにより、前記ダウンストリーム毎に有効なデバイスの種類を設定する設定モジュールと、前記複数のデバイスがバスパワーで動作する場合に電力供給を行う電力供給モジュールとを備え、前記ダウンストリームボートの他の１つに接続された外部デバイスの種類が有効であり、且つ当該外部デバイスがバスパワーで動作し、その最大消費電力が前記電力供給をする際の最大許容量を超えないとき、前記ホストと前記外部デバイスの接続を有効にすることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ダウンストリームボートの他の１つに接続された外部デバイスの種類が有効であり、且つこの外部デバイスがバスパワーで動作し、その最大消費電力がバスにより電力供給をする際の最大許容量を超えないとき、ホストと外部デバイスの接続を有効にする。したがって、上記最大許容量をＵＳＢインターフェースの規格で定められたものとすることにより、ＵＳＢインターフェースの規格をみたしつつハブに接続するデバイスを最適な状態で動作させることができる。
【００１７】
好ましくは、ダウンストリームボートの１つに接続する内蔵デバイスが故障しているとき、ダウンストリームの他の１つに対して有効なデバイスにその故障した内蔵デバイスの種類を追加する。これにより、故障した内蔵デバイスの代替として外部のプリンタを使用することができ、本来ＵＳＢホスト制御装置が有する機能を動作させることができる。
【００１８】
好ましくは、接続された外部デバイスの種類が有効であって、且つ内蔵デバイスの１つと同種類であるとき、これら両デバイスの性能を性能を比較し、その比較の結果、性能が劣っている方のデバイスの電源供給を停止し、性能が優れている方のデバイスとホストの接続を有効にする。これにより、上記内蔵デバイスより高性能化したデバイスがＵＳＢ接続可能な外部デバイスとして出現したときに、その内蔵デバイスの代わりに上記外部デバイスを使用するようにして、装置全体の性能を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面を用いて詳述する。
【００２０】
図１は、本発明の実施の形態に係るＵＳＢホスト制御装置の構成を概略的に示すブロック図である。
【００２１】
図１において、ＵＳＢホスト制御装置１００は、不図示の制御回路と、自装置内に内蔵されるＵＳＢホスト機能部１と、アップストリームポート４及びダウンストリームポート７ａ〜７ｅを備えるハブ２とを備える。この不図示の制御回路は、ＣＰＵ、ＲＡＭ、ＲＯＭ、タイマ等から構成される。また、ＵＳＢホスト制御装置１００は、その電源管理を行う電源供給制御部３と、ＵＳＢホスト制御装置１００に内蔵されたプリンタ機能を有するＵＳＢデバイス８と、ＵＳＢホスト制御装置１００に内蔵されたストレージ機能を有するＵＳＢデバイス９とを備える。さらに、ＵＳＢホスト制御装置１００は、外部ＵＳＢデバイスとの接続を可能とするコネクタであるＡレセプタクル１０と、ＵＳＢホスト制御装置１００に内蔵された無線通信機能を有するＵＳＢデバイス１１と、将来の拡張用に未実装のデバイス１２とを備える。
【００２２】
ＵＳＢデバイス８，９，１１，１２に実装される各機能は夫々バスパワーにより動作する。
【００２３】
電源供給制御部３は、不図示のＲＯＭに記録されているプログラムに従って、現在ハブ２と接続されているＵＳＢデバイスとＵＳＢホスト機能部１との接続を有効にするか否かの接続指示をハブ２に対して行う。また、電源供給制御部３は、上記接続が有効となったＵＳＢデバイスへの電源供給の制御指示をハブ２に対して行う。
【００２４】
ハブ２は、電源供給制御部３の指示に従い、ダウンストリームポート７ａ〜７ｅからＵＳＢホスト機能部１との接続が有効となったＵＳＢデバイスへ適宜電源供給を行う。また、ハブ２は、電源供給制御部３の指示に従い、ＵＳＢホスト機能部１との接続を有効にしない場合はＵＳＢデバイスへの電源供給を停止する。
【００２５】
ハブ２は、ダウンストリームポート７ａ〜７ｅのいずれかに新たにＵＳＢデバイスが接続されると、エナマレーション（Enumeration）を開始する。このエナマレーションとは、ＵＳＢインターフェースの規格における通信接続プロトコルである。
【００２６】
ハブは、ダウンストリームポート７ａ〜７ｅ毎に、接続され有効となるＵＳＢデバイスの種類（以下「有効デバイス」という。）を不図示のＲＡＭに予め登録している。また、このエナマレーションにおいてＵＳＢホスト機能部１からリクエストがあったとき、ハブ２はそのＵＳＢデバイスが有効デバイスで有るか否かをそのＵＳＢデバイスのディスクリプタ情報に基づき判別し、その結果を返信する。
【００２７】
ハブ２は、ハブに接続するＵＳＢデバイスのうち、電源供給制御部３の接続指示によりＵＳＢホスト機能部１との接続を有効としたものへの電源供給をＵＳＢインターフェースの規格に影響されることなく適宜行う。例えば、ハブ２は、ＵＳＢホスト制御装置１００が内蔵するＵＳＢデバイス１１の無線通信で受信した情報をもとに内蔵するＵＳＢデバイス８のプリンタ機能で印刷を行う場合には、その他のＵＳＢデバイスへの電源供給を停止することもできる。
【００２８】
図２は、図１のＵＳＢホスト制御装置１００により実行されるデバイス制限処理の手順を示すフローチャートである。
【００２９】
ここで、ＵＳＢホスト制御装置１００の不図示ＲＯＭには予めＵＳＢのトポロジーの位置を示すハブ２のダウンストリームポート７ａ〜７ｅとそこに接続される有効デバイスが登録されている。
【００３０】
具体的には、不図示ＲＯＭには、ダウンストリームポート７ａにはプリンタ８が、ダウンストリームポート７ｂにはストレージ９が、ダウンストリームポート７ｃにはスティールイメージデバイス（デジタルカメラ等）が有効デバイスとして登録されている。また、不図示ＲＯＭには、ダウンストリーム７ｄには無線通信デバイス１１が有効デバイスとして登録されており、ダウンストリームポート７ｅには有効デバイスなしと登録されている。
【００３１】
さらに、不図示ＲＯＭには、ハブ２に接続されるＵＳＢデバイスのドライバも予め登録されている。
【００３２】
図２において、Ａレセプタクル１０を介してダウンストリームポート７ｃに外部デバイスが接続されると（ステップＳ１００でＹＥＳ）、エナマレーションが開始する（ステップＳ１１０）。
【００３３】
その後、ダウンストリームポート７ｃの有効デバイスが不図示のＲＯＭに登録されているか否かを判別する（ステップＳ１２０）。
【００３４】
ステップＳ１２０の判別の結果、有効デバイスが登録されていないときは、電源供給制御部３からの指示によりハブ２はダウンストリームポート７ｃへの電源供給を停止する（ステップＳ１７０）。そして、ハブ２と外部デバイスとの間の通信を終了する（ステップＳ１８０）。その後、本処理を終了する。
【００３５】
一方、ステップＳ１２０の判別の結果、有効デバイスが登録されているときは、上記外部デバイスがその登録された有効デバイスであるか否かを判別する（ステップＳ１３０）。本実施の形態では、ダウンストリームポート７ｃの有効デバイスは、スティールイメージデバイスのみである。従って、上記外部デバイスがスティールイメージデバイスであるときのみ、ステップＳ１３０において上記外部デバイスがその登録された有効デバイスであると判別される。
【００３６】
ステップＳ１３０の判別の結果、上記外部デバイスが登録された有効デバイスであるときは、この外部デバイスが電源供給可能か否かを判別する（ステップＳ１４０）。本実施の形態では、ハブ２はアップストリームポート４に接続されているＵＳＢホスト機能部１のダウンストリームポートから供給されるバスパワーで動作する。このため、ＵＳＢインターフェースの規格より、ハブ２は、そのダウンストリームポート７ａ〜７ｅに接続される各デバイスがバスパワーで動作する場合に最大許容量１００ｍＡまで電源供給を行うよう設定されている。
【００３７】
従って、このステップＳ１４０の処理は、まず、ハブ２がＡレセプタクル１０と接続するスティールイメージデバイスからそのディスクリプタ情報を取得する。次に、その取得したディスクリプタ情報において、スティールイメージデバイスがセルフパワーで動作するか、又はバスパワー動作であるがその最大消費電力が１００ｍＡを越えないことが記載されているときは、電源供給可能であると判断する。一方、上記取得した情報に、スティールイメージデバイスがバスパワー動作であって最大消費電力が１００ｍＡ以上（例えば２００ｍＡ）であると記載されているときは、電源供給可能でないと判断する。
【００３８】
ステップＳ１４０の判別の結果、電源供給可能であるときは、電源管理設定を行う（ステップＳ１５０）。具体的には、ＵＳＢホスト制御装置１００がバッテリ動作をしている場合、電源供給制御部３にて上記接続された外部デバイスの最大消費電力に合わせて、バッテリ残量の検知レベルの変更およびダミー負荷レベルの変更を行う。これにより、内蔵デバイス及び外部デバイスへの電源供給を確実に行うことができる。
【００３９】
その後、ＵＳＢホスト機能部１と上記外部デバイスの接続を有効にして（ステップＳ１６０）、本処理を終了する。
【００４０】
一方、ステップＳ１３０の結果、上記外部デバイスが登録された有効デバイスでないときや、ステップＳ１４０の判別の結果、電源供給可能でないときは、ステップＳ１７０からの処理を行う。
【００４１】
図２の処理によれば、ハブ２に接続された外部デバイスが有効デバイスであり（ステップＳ１３０でＹＥＳ）、且つ電力供給可能であるときに（ステップＳ１４０でＹＥＳ）、ＵＳＢホスト機能部１との接続を有効にする（ステップＳ１６０）。これにより、ＵＳＢインターフェースの規格をみたしつつハブに接続するデバイスを最適な状態で動作させることができる。
【００４２】
尚、ステップＳ１８０の処理の後、ユーザにＡレセプタクル１０に接続する外部デバイスの取り外しを促し、取り外し確認を行う等の何らかの操作後、再びダウンストリームポート７ｃへの電源供給を電源供給制御部３から開始しておくようにしてもよい。これにより、次のダウンストリームポート７ｃへの外部デバイスの接続に備えることができる。
【００４３】
図３は、ＵＳＢホスト制御装置１００により実行される内蔵デバイスの動作診断処理の手順を示すフローチャートである。
【００４４】
図３において、まずＵＳＢホスト制御装置１００が電源投入されると（ステップＳ２００）、内蔵デバイスの動作診断を開始する（ステップＳ２１０）。この動作診断は、ハブ２のダウンストリームポートに接続される内蔵デバイスであって、その内部デバイスが有効デバイスである場合にのみ行われる。具体的には、本実施の形態では、ダウンストリームポート７ａに接続されるプリンタ８と、ダウンストリームポート７ｂに接続されるストレージ９と、ダウンストリーム７ｄに接続される無線通信デバイス１１が診断対象の内蔵デバイスとなる。
【００４５】
次に、診断対象の内蔵デバイスのうち、故障している内蔵デバイスがあるか否かを判別し（ステップＳ２２０）、全ての内蔵デバイスが正常に動作し、故障している内蔵デバイスがないときはそのまま本処理を終了する。
【００４６】
一方、ステップＳ２２０の判別の結果、故障している内蔵デバイスがあるときは、その内蔵デバイスの種類をダウンストリームポート７ｃの有効デバイスとして不図示のＲＯＭに追加登録して（ステップＳ２３０）、本処理を終了する。例えば、プリンタ８が正しく初期化されない場合は、ステップＳ２２０において内蔵デバイスの１つであるプリンタ８が正常に動作していないと判断する。この場合、ダウンストリームポート７ｃの有効デバイスとして、上記プリンタ８のデバイスの種類である印刷装置を登録する。
【００４７】
尚、本実施の形態では、不図示ＲＯＭに予めＵＳＢのトポロジーの位置を示すハブ２のダウンストリームポート７ａ〜７ｅ及びそれらに接続される有効デバイスの情報が登録されていたが、これに限定されるものではない。例えば、この登録情報を書き換え可能な例えばＥＥＰＲＯＭやフラッシュＲＯＭに記憶するようにしてもよい。この場合、図３のステップＳ２３０の情報を更新することもできる。
【００４８】
図３の処理によれば、ハブ２に接続する内蔵デバイスの１つであるプリンタ８が故障しているとき（ステップＳ２２０でＹＥＳ）、ダウンストリーム７ｃの有効なデバイスとして印刷装置を登録する（ステップＳ２３０）。これにより、内蔵デバイスであるプリンタ８の代替として外部のプリンタを使用することができ、本来ＵＳＢホスト制御装置１００が有する機能を動作させることができる。
【００４９】
図４は、ＵＳＢホスト制御装置１００により実行される内蔵デバイスと外部デバイスの性能比較処理の手順を示すフローチャートである。
【００５０】
図４の処理は、図２の処理と基本的に同じであり、図２のステップと同一のステップには同一符号を付して重複した説明は省略し、以下に図２の処理と異なる部分についてのみ説明する。
【００５１】
図４において、ステップＳ１３０までは図２と同様の処理を行う。
【００５２】
ステップＳ１３０の判別の結果、外部デバイスが有効デバイスであるとき、その外部デバイスと同種類の内蔵デバイスがあるか否かを判別し（ステップＳ３００）、同種類のものがないときはそのまま本処理を終了する。
【００５３】
一方ステップＳ３００の判別の結果、同種類のものがあるときは、上記同種類の外部デバイスと内蔵デバイスの性能比較を開始する（ステップＳ３１０）。本実施の形態では、ダウンストリームポート７ｃに接続される有効デバイスは、内蔵デバイス９と同じくストレージデバイスである。従って、例えば、内蔵デバイス９がFULL SPEED動作を行う内蔵ストレージデバイスで、上記接続された外部デバイスがHIGH SPEED動作を行う外部ストレージデバイスである場合は、外部ストレージデバイスは内蔵デバイスより性能が優れていると判断される。一方、外部ストレージデバイスの性能が内蔵ストレージデバイスと同等または劣るときは、内蔵デバイスの方が性能が優れていると判断される。
【００５４】
ステップＳ３１０の比較の結果、上記外部デバイスの方が性能が優れているときは（ステップＳ３２０でＹＥＳ）、ステップＳ３３０へ進み、内蔵デバイスの方が性能が優れているときは（ステップＳ３２０でＮＯ）、ステップＳ１７０の処理に進む。
【００５５】
ステップＳ３３０において、電源供給制御部３は、上記内蔵デバイスが接続される内蔵ダウンストリームポート７ｂへの電源供給を停止する旨の制御指示をハブ２に対して行う。その後、図２のステップＳ１４０，Ｓ１５０の処理を行った後に、ＵＳＢホスト機能部１と外部デバイスの接続を有効にして（ステップＳ１６０）、本処理を終了する。
【００５６】
図４の処理によれば、ハブ２に接続された外部デバイスが有効デバイスで（ステップＳ１３０でＹＥＳ）、同種類の内蔵デバイスより性能が優れているときは（ステップＳ３２０でＹＥＳ）、ＵＳＢホスト機能部１と外部デバイスの接続を有効にする（ステップＳ１６０）。これにより、内蔵デバイス９より高性能化したデバイスがＵＳＢ接続可能な外部デバイスとして出現したときに、内蔵デバイス９の代わりにその外部デバイスを使用するようにして、装置全体の性能を向上させることができる。
【００５７】
尚、図２の処理と同様に、本処理の後、何らかの操作で再びダウンストリームポート７ｃへの電源供給を電源供給制御部３から開始しておくようにしてもよい。これにより、次のダウンストリームポート７ｃへの外部デバイスの接続に備えることができる。
【００５８】
また、ＵＳＢホスト制御装置１００は、通常は図２に示す動作を実現し、ファームウエアの書き換え処理にて図３および図４における処理を有効とするようにしてもよい。
【００５９】
また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【００６０】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６１】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００６２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【００６３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態に係るＵＳＢホスト制御装置の構成を概略的に示すブロック図である。
【図２】図１のＵＳＢホスト制御装置により実行されるデバイス制限処理の手順を示すフローチャートである。
【図３】ＵＳＢホスト制御装置により実行される内蔵デバイスの動作診断処理の手順を示すフローチャートである。
【図４】ＵＳＢホスト制御装置により実行される内蔵デバイスと外部デバイスの性能比較処理の手順を示すフローチャートである。
【符号の説明】
【００６５】
１  ＵＳＢホスト機能部
２  ハブ
３  電源供給制御部
４  アップストリームポート
７ａ〜７ｅ  ダウンストリームポート
８，９，１１，１２  ＵＳＢデバイス
１０  Ａレセプタクル
１００  ＵＳＢホスト制御装置
【図１】
2007140689.tif 000003
【図２】
2007140689.tif 000004
【図３】
2007140689.tif 000005
【図４】
2007140689.tif 000006