(57)【特許請求の範囲】
【請求項１】
接続された外部装置との通信のモードとして、第１の通信速度でデータ転送を行う高速通信速度モードと、前記第１の通信速度よりも低速な第２の通信速度でデータ転送を行う低速通信速度モードとを備えた通信装置であって、
前記外部装置との間で開始するデータ転送に要求されるデータ転送レートと、現在実行中のデータ転送に要求されるデータ転送レートとの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レートを越える場合に、高速通信の必要性を検出する要高速通信状況検出部と、
前記通信のモードとして前記低速通信速度モードを初期設定し、現在の前記通信のモードが前記低速通信速度モードであるときに前記要高速通信状況検出部が高速通信の必要性を検出した場合に、当該通信のモードを前記高速通信速度モードに切り替える通信速度制御部とを有し、前記通信速度制御部は、
現在の前記通信のモードが前記高速通信速度モードであるときに、現在アイソクロナス転送を実行しておらず、かつ、現在実行中のデータ転送に要求されるデータ転送レートの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下となった場合に、前記通信のモードを前記低速通信速度モードに復帰し、
現在の前記通信のモードが前記高速通信速度モードであるときに、現在アイソクロナス転送を実行している場合には、現在実行中のデータ転送に要求されるデータ転送レートの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下となった場合でも、前記通信のモードを前記高速通信速度モードに維持することを特徴とする通信装置。
【請求項２】
請求項１記載の通信装置であって、
前記要高速通信状況検出部は、前記データ転送がアイソクロナス転送である場合には、当該アイソクロナス転送の帯域幅を、当該データ転送に要求されるデータ転送レートとすることを特徴とする通信装置。
【請求項３】
請求項１記載の通信装置であって、
前記要高速通信状況検出部は、前記データ転送が、ストリーミング再生用のデータを転送するものである場合には、当該ストリーミング再生のシームレスな実行に最小限必要なデータ転送レートを、当該データ転送に要求されるデータ転送レートとすることを特徴とする通信装置。
【請求項４】
請求項１記載の通信装置であって、
前記要高速通信状況検出部は、前記データ転送が、当該データ転送で転送したデータのリアルタイム処理を行わないものである場合には、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下の所定のデータ転送レートを、当該データ転送に要求されるデータ転送レートとすることを特徴とする通信装置。
【請求項５】
請求項１、２、３または４記載の通信装置であって、
前記接続された外部装置との通信はＵＳＢを用いた通信であって、
前記高速通信速度モードはＵＳＢの通信速度をハイスピードとしてデータ転送を行うハイスピードモードであり、前記低速通信速度モードはＵＳＢの通信速度をフルスピードとしてデータ転送を行うフルスピードモードであることを特徴とする通信装置。
【請求項６】
接続された外部装置との通信のモードとして、第１の通信速度でデータ転送を行う高速通信速度モードと、前記第１の通信速度よりも低速な第２の通信速度でデータ転送を行う低速通信速度モードとを備えたコンピュータによって読み取られ実行されるコンピュータプログラムであって、
当該コンピュータを、
前記外部装置との間で開始するデータ転送に要求されるデータ転送レートと、現在実行中のデータ転送に要求されるデータ転送レートとの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レートを越える場合に、高速通信の必要性を検出する要高速通信状況検出部と、
前記通信のモードとして前記低速通信速度モードを初期設定し、現在の前記通信のモードが前記低速通信速度モードであるときに前記要高速通信状況検出部が高速通信の必要性を検出した場合に、当該通信のモードを前記高速通信速度モードに切り替える通信速度制御部として機能させ、
前記通信速度制御部は、
現在の前記通信のモードが前記高速通信速度モードであるときに、現在アイソクロナス転送を実行しておらず、かつ、現在実行中のデータ転送に要求されるデータ転送レートの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下となった場合に、前記通信のモードを前記低速通信速度モードに復帰し、
現在の前記通信のモードが前記高速通信速度モードであるときに、現在アイソクロナス転送を実行している場合には、現在実行中のデータ転送に要求されるデータ転送レートの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下となった場合でも、前記通信のモードを前記高速通信速度モードに維持することを特徴とするコンピュータプログラム。
【請求項７】
請求項６記載のコンピュータプログラムであって、
前記接続された外部装置との通信はＵＳＢを用いた通信であって、
前記高速通信速度モードはＵＳＢの通信速度をハイスピードとしてデータ転送を行うハイスピードモードであり、前記低速通信速度モードはＵＳＢの通信速度をフルスピードとしてデータ転送を行うフルスピードモードであることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺機器と通信を行う通信装置において通信速度の切り替えを行う技術に関するものである。
【背景技術】
【０００２】
周辺デバイスと通信を行う通信装置において通信速度の切り替えを行う技術として、ＵＳＢ(Universal Serial Bus)を用いた通信をフルスピードとハイスピードとの二つの異なる通信速度で行うことができるＵＳＢデバイスとホスト装置よりなるシステムにおいて、通信速度がより高速なハイスピードでＵＳＢデバイスと通信を行っているときに、ホスト装置が通信品質の劣化を検出したときに、ＵＳＢデバイスとの通信速度をより低速なフルスピードに切り替える技術が知られている（たとえば、特許文献１、２）。
【０００３】
また、このようなシステムにおいて、ホスト装置が、ＵＳＢデバイスとの間で転送するデータの容量に応じて、当該容量が小さい場合には、ＵＳＢデバイスとの通信速度をより低速なフルスピードとし、当該容量が大きい場合には、ＵＳＢデバイスとの通信速度をより高速なハイスピードとする技術も知られている（たとえば、特許文献３）。
【０００４】
また、このようなＵＳＢを通信に用いるシステムにおいて、ホスト装置がＵＳＢデバイスの通信速度を、ＵＳＢをバスリセットすることなくダイナミックに切り替えることを可能とする技術も知られている（たとえば、特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７-１７２１６０号公報
【特許文献２】特開２００５-１８２３８０号公報
【特許文献３】特開２００６-３３０８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的に、通信速度をより高速なハイスピードとしているときの方が、通信速度をより低速なフルスピードとしているときに比べ、データ転送時および待機状態における電力消費が大きくなるところ、通信品質の劣化が検出された場合や、小容量のデータの転送を行う場合にのみ通信速度をより低速なフルスピードに切り替えたのでは、電力消費を充分に抑えることができない。
【０００７】
一方で、常に通信速度をより低速なフルスピードとすれば、電力消費も、通信品質の劣化も、通信速度をハイスピードとした場合に比べ抑制することができるが、このようにすると通信速度がＵＳＢデバイスとの通信を行う用途に不足する場合がある。
【０００８】
そこで、本発明は、周辺機器と通信を行う通信装置において、通信を行う用途にとって必要充分なレベルに電力消費が抑えられるように、通信速度の切り替えを行うことを課題とする。
【課題を解決するための手段】
【０００９】
前記課題達成のために、本発明は、接続された外部装置との通信のモードとして、第１の通信速度でデータ転送を行う高速通信速度モードと、前記第１の通信速度よりも低速な第２の通信速度でデータ転送を行う低速通信速度モードとを備えた通信装置に、前記外部装置との間で開始するデータ転送であって、当該データ転送に要求されるデータ転送レートが、前記低速通信速度モードの通信速度で実現可能なデータ転送レートを越えるデータ転送である要高速データ転送の発生を検出する要高速通信状況検出部と、前記通信のモードとして前記低速通信モードを初期設定し、前記要高速通信状況検出部が要高速データ転送の発生を検出したときに、当該検出された要高速データ転送の開始に先立って前記通信のモードを前記高速通信モードに切り替えると共に、当該要高速データ転送の完了時に、前記通信のモードを前記低速通信モードに復帰する通信速度制御部とを備えたものである。
【００１０】
ここで、このような通信装置は、より具体的には、前記要高速通信状況検出部において、前記外部装置との間で開始するデータ転送がアイソクロナス転送である場合には、当該アイソクロナス転送の帯域幅を、当該データ転送に要求されるデータ転送レートとするように構成してもよいし、前記要高速通信状況検出部において、前記外部装置との間で開始するデータ転送が、ストリーミング再生用のデータを転送するものである場合には、当該ストリーミング再生のシームレスな実行に最小限必要なデータ転送レートを、当該データ転送に要求されるデータ転送レートとするように構成してもよいし、前記要高速通信状況検出部において、前記外部装置との間で開始するデータ転送が、当該データ転送で転送したデータのリアルタイム処理を行わないものである場合には、当該データ転送に要求されるデータ転送レートが、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下のデータ転送レートであるものとして、当該データ転送を要高速データ転送としないように構成してもよい。
【００１１】
このような通信装置によれば、前記低速通信速度モードの通信速度で実現可能なデータ転送レートを越えるデータ転送レートで行うことが要求されるデータ転送を行う期間中は、通信のモードは高速通信モードとなり、当該データ転送を、当該データ転送に要求されるデータ転送レートで実行することが可能となる。一方、他の期間中は、待機期間中を含め通信のモードは低速通信モードとなり、電力消費が抑制される。
【００１２】
よって、本発明によれば、実行するデータ転送に必要充分なレベルに電力消費が抑えられるように、通信速度の切り替えを行うことができる。
また、前記課題達成のために、本発明は、接続された外部装置との通信のモードとして、第１の通信速度でデータ転送を行う高速通信速度モードと、前記第１の通信速度よりも低速な第２の通信速度でデータ転送を行う低速通信速度モードとを備えた通信装置に、前記外部装置との間で開始するデータ転送に要求されるデータ転送レートと、現在実行中のデータ転送に要求されるデータ転送レートとの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レートを越える場合に、高速通信の必要性を検出する要高速通信状況検出部と、前記通信のモードとして前記低速通信モードを初期設定し、現在の前記通信のモードが前記低速通信モードであるときに前記要高速通信状況検出部が高速通信の必要性を検出した場合に、当該通信のモードを前記高速通信モードに切り替える通信速度制御部とを備えたものである。
【００１３】
ここで、このような通信装置は、前記通信速度制御部において、現在の前記通信のモードが前記高速通信モードであるときに、現在実行中のデータ転送に要求されるデータ転送レートの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下となった場合に、前記通信のモードを前記低速通信モードに復帰するように構成してもよい。または、前記通信速度制御部において、現在の前記通信のモードが前記高速通信モードであるときに、現在アイソクロナス転送を実行しておらず、かつ、現在実行中のデータ転送に要求されるデータ転送レートの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下となった場合に、前記通信のモードを前記低速通信モードに復帰するように構成してもよい。
【００１４】
また、このような通信装置は、前記要高速通信状況検出部において、前記データ転送がアイソクロナス転送である場合には、当該アイソクロナス転送の帯域幅を、当該データ転送に要求されるデータ転送レートとするように構成してもよいし、前記要高速通信状況検出部において、前記データ転送が、ストリーミング再生用のデータを転送するものである場合には、当該ストリーミング再生のシームレスな実行に最小限必要なデータ転送レートを、当該データ転送に要求されるデータ転送レートとするように構成してもよいし、前記要高速通信状況検出部において、前記データ転送が、当該データ転送で転送したデータのリアルタイム処理を行わないものである場合には、前記低速通信速度モードの通信速度で実現可能なデータ転送レート以下の所定のデータ転送レートを、当該データ転送に要求されるデータ転送レートとするように構成してもよい。
【００１５】
このような通信装置によれば、通信のモードは低速通信モードに初期設定され、電力消費が抑制される。そして、複数のデータ転送を同時に行う場合において、各データ転送に要求されるデータ転送レートの合計が、前記低速通信速度モードの通信速度で実現可能なデータ転送レートを越えるときにのみ、通信のモードは高速通信モードに切り替えられ、これにより各データ転送を、各々のデータ転送に要求されるデータ転送レートで実行することが可能となる。
【００１６】
よって、本発明によれば、実行するデータ転送に必要充分なレベルに電力消費が抑えられるように、通信速度の切り替えを行うことができる。
なお、以上の各通信装置において、前記接続された外部装置との通信はＵＳＢを用いた通信であって良く、この場合、前記高速通信モードはＵＳＢの通信速度をハイスピードとしてデータ転送を行うハイスピードモードであり、前記低速通信モードはＵＳＢの通信速度をフルスピードとしてデータ転送を行うフルスピードモードであってよい。
【発明の効果】
【００１７】
以上のように、本発明によれば周辺機器と通信を行う通信装置において、通信を行う用途にとって必要充分なレベルに電力消費が抑えられるように、通信速度の切り替えを行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る通信装置の構成を示す図である。
【図２】本発明の実施形態に係る転送処理を示すフローチャートである。
【図３】本発明の実施形態に係る通信速度制御処理を示すフローチャートである。
【図４】本発明の実施形態に係る通信速度制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について説明する。
図１ａに本実施形態に係るホスト装置の構成を示す。
図示するように、ホスト装置１は、ＵＳＢ２を介してＵＳＢデバイス３を接続することができる。そして、ホスト装置１は、ＵＳＢ２を介してＵＳＢデバイス３とのデータ転送を行うＵＳＢコントローラ１１、オペレーティングシステム１２、ＵＳＢデバイス３を利用した処理を行うＵＳＢ利用アプリケーション１３、通信速度制御アプリケーション１４、記憶装置１５等を備えている。また、オペレーティングシステム１２には、ＵＳＢコントローラ１１を制御するＵＳＢドライバ１２１が含まれている。
【００２０】
ここで、ホスト装置１は、ハードウエア構成としては、ＣＰＵやメモリや、上述したＵＳＢコントローラ１１や記憶装置１５やその他の周辺デバイスを備えたコンピュータとして構成を備えている。そして、オペレーティングシステム１２、ＵＳＢ利用アプリケーション１３、通信速度制御アプリケーション１４は、記憶装置１５に予め記憶されたコンピュータをＣＰＵが実行することにより実現されるものである。そして、ＵＳＢ利用アプリケーション１３と通信速度制御アプリケーション１４は、オペレーティングシステム１２上で実行されるアプリケーションであり、各アプリケーションは、オペレーティングシステム１２の各種資源、機能を利用して種々の処理を行うことができる。
【００２１】
ただし、ホスト装置１には、図１ｂに示すようにＵＳＢハブ４を介して複数のＵＳＢデバイス３を接続することもできる。
さて、ここで、ホスト装置１のＵＳＢコントローラ１１と、ホスト装置１に接続されるＵＳＢデバイス３と、ホスト装置１に接続されるＵＳＢハブ４とは、フルスピード=12Mbits/sの通信速度（バス速度）で通信をおこなうフルスピードモードと、ハイスピード=480Mbits/sの通信速度（バス速度）で通信をおこなうハイスピードモードとを通信速度モードとして備えており、フルスピードモードとハイスピードモードとのいずれの通信速度モードで動作することもできるように構成されている。
【００２２】
以下、このようなホスト装置１において、ＵＳＢデバイス３との間で行う通信の通信速度を切り替える動作について説明する。
まず、ＵＳＢ利用アプリケーション１３は、ＵＳＢデバイス３とのデータ転送の実行が必要になったならば、図２に示す転送処理を行ってＵＳＢデバイス３とのデータ転送を行う。
図示するように、この転送処理では、まず、実行しようとするデータ転送の内容、用途に応じて、フルスピードとするかハイスピードとのいずれかを、要求通信速度に設定する（ステップ２０２）。
すなわち、ステップ２０２では、実行しようとするデータ転送に必要な転送レートを見積もり、見積もった転送レートが、フルスピードまたはフルスピードから所定のマージンを減じた転送レートを超えていれば、要求通信速度をハイスピードとし、他の場合にはフルスピードとする。
【００２３】
また、実行しようとするデータ転送に必要な転送レートは、実行しようとするデータ転送の転送モードがアイソクロナス転送である場合には、そのアイソクロナス転送の帯域幅とする。
また、アイソクロナス転送を行わない場合においても、転送したデータのリアルタイムな処理を行う場合には、そのリアルタイムな処理に必要な転送レートを、実行しようとするデータ転送に必要な転送レートとする。たとえば、オーディオデータやビデオデータのストリーミング再生用のデータを転送するデータ転送に必要な転送レートは、当該ストリーミング再生のシームレスな実行に必要な最小限のデータ転送レートとする。なお、ストリーミング再生のシームレスな実行に最小限必要なデータ転送レートは、オーディオデータやビデオデータのファイルの拡張子が示すデータ種別（コーディング種別）や、これらファイルの情報として別途ＵＳＢデバイスから取得したオーディオデータやビデオデータの再生ビットレートより求めることができる。
【００２４】
そして、その他の転送したデータのリアルタイムな処理を行わない場合、たとえば、ＵＳＢデバイス３からホスト装置１の記憶装置１５へのファイルの単なるコピーのためのデータ転送を行う場合には、予め定めたフルスピード以下の転送レートを、実行しようとするデータ転送に必要な転送レートとする。ただし、エラーデータの再送が可能なバルク転送を行う場合には、エラーの発生は大きな問題とならないので、バルク転送によりデータ転送を行う場合には、予め定めたフルスピードを越える転送レートを、実行しようとするデータ転送に必要な転送レートとするようにしてもよい。
【００２５】
さて、このように要求通信速度を設定したならば、次に、通信速度制御アプリケーション１４に、設定した要求通信速度を含めたデータ転送開始要求を送信し（ステップ２０４）、通信速度制御アプリケーション１４からデータ転送開始許可が応答されるのを待つ（ステップ２０６）。
【００２６】
そして、通信速度制御アプリケーション１４からデータ転送開始許可が応答されたならば、オペレーティングシステム１２、ＵＳＢドライバ１２１を介して、ＵＳＢデバイス３とデータ転送を行い（ステップ２０８）、データ転送が終了したならば（ステップ２１０）、転送終了通知を通信速度制御アプリケーション１４に送信し（ステップ２１２）、転送処理を終了する。
【００２７】
次に、通信速度制御アプリケーション１４が行う通信速度制御処理について説明する。
ここで、この通信速度制御処理は、ホスト装置１が起動されると自動的に実行が開始される。
図３に、この通信速度制御処理の手順を示す。
ただし、ここでは、ホスト装置１へのＵＳＢデバイス３の接続は単一のＵＳＢデバイス３のホスト装置１へのＵＳＢハブ４を介さない直接に制限されており、かつ、ホスト装置１が同時に行うことのできるデータ転送が単一のデータ転送のみに制限されるようにホスト装置１が構成されているものとする。
【００２８】
図示するように、この処理では、ＵＳＢドライバ１２１を介してＵＳＢコントローラ１１の通信速度モードをフルスピードモードに初期設定する（ステップ３０２）。ＵＳＢコントローラ１１は、通信速度モードがフルスピードモードに設定されると自身の通信速度モードをフルスピードモードに設定する。また、ＵＳＢコントローラ１１は、自身の通信速度モードがフルスピードモードであるときに、ＵＳＢデバイス３の接続を検知すると、ＵＳＢデバイス３の通信速度モードをフルスピードモードに設定する。ＵＳＢコントローラ１１による、ＵＳＢデバイス３への通信速度モードの設定は、ＵＳＢ２のリセットと、リセット期間中のCHIRPハンドシェイクによって行う。
【００２９】
そして、このようにして、ＵＳＢコントローラ１１とＵＳＢデバイス３の双方に通信速度モードとしてフルスピードモードが設定されると、以降、ＵＳＢコントローラ１１とＵＳＢデバイス３はフルスピードでデータ転送を行うことができるようになる。
次に、このようにしてＵＳＢコントローラ１１の通信速度モードをフルスピードモードに設定したならば、ＵＳＢ利用アプリケーション１３からのデータ転送開始要求の受信を監視する（ステップ３０４）。
そして、ＵＳＢ利用アプリケーション１３からデータ転送開始要求を受信したならば（ステップ３０４）、データ転送開始要求に伴う要求通信速度がハイスピードであるかどうかを調べる（ステップ３０６）。
次に、データ転送開始要求に伴う要求通信速度がハイスピードでなくフルスピードであれば（ステップ３０６）、データ転送開始要求送信元のＵＳＢ利用アプリケーション１３にデータ転送開始許可を応答した上で（ステップ３１０）、ＵＳＢ利用アプリケーション１３からの転送終了通知の受信を待ち（ステップ３１２）、現在のＵＳＢコントローラ１１の通信速度モードがハイスピードモードであれば（ステップ３１４）、ＵＳＢドライバ１２１を介してＵＳＢコントローラ１１の通信速度モードをフルスピードモードに変更した上で（ステップ３１６）、ステップ３０４のデータ転送開始要求の受信の監視に戻る。
【００３０】
ここで、ＵＳＢコントローラ１１は、通信速度モードがフルスピードモードに変更されると自身の通信速度モードをフルスピードモードに変更する。また、ＵＳＢコントローラ１１は、通信速度モードがフルスピードモードに変更されたときにＵＳＢデバイス３が接続されているときには、ＵＳＢデバイス３の通信速度モードをフルスピードモードに変更する。ＵＳＢコントローラ１１による、ＵＳＢデバイス３への通信速度モードの変更は、ＵＳＢ２のリセットと、リセット期間中のCHIRPハンドシェイクによって行う。
【００３１】
一方、ステップ３０４で受信を検出したデータ転送開始要求に伴う要求通信速度がハイスピードである場合には（ステップ３０６）、ＵＳＢドライバ１２１を介してＵＳＢコントローラ１１の通信速度モードをハイスピードモードに変更する（ステップ３０８）。
ここで、ＵＳＢコントローラ１１は、通信速度モードがハイスピードモードに変更されると自身の通信速度モードをハイスピードモードに変更する。また、ＵＳＢコントローラ１１は、通信速度モードがハイスピードモードに変更されたときにＵＳＢデバイス３が接続されているときには、ＵＳＢデバイス３の通信速度モードをハイスピードモードに変更する。ＵＳＢコントローラ１１による、ＵＳＢデバイス３への通信速度モードの変更は、ＵＳＢ２のリセットと、リセット期間中のCHIRPハンドシェイクによって行う。そして、このようにして、ＵＳＢコントローラ１１とＵＳＢデバイス３の双方に通信速度モードとしてハイスピードモードが設定されると、以降、ＵＳＢコントローラ１１とＵＳＢデバイス３はハイスピードでデータ転送を行うことができるようになる。
【００３２】
そして、データ転送開始要求送信元のＵＳＢ利用アプリケーション１３にデータ転送開始許可を応答した上で（ステップ３１０）、ＵＳＢ利用アプリケーション１３からの転送終了通知の受信を待ち（ステップ３１２）、現在のＵＳＢコントローラ１１の通信速度モードがハイスピードモードであれば（ステップ３１４）、ＵＳＢコントローラ１１の通信速度モードをフルスピードモードに変更した上で（ステップ３１６）、ステップ３０４のデータ転送開始要求の受信の監視に戻る。
以上、通信速度制御アプリケーション１４が行う通信速度制御処理について説明した。なお、このような通信速度制御処理を行う通信速度制御アプリケーション１４の機能は、ＵＳＢドライバ１２１に含めるようにしてもよい。
【００３３】
以上、本発明の実施形態について説明した。
以上のように、本実施形態によれば、フルスピードモードの通信速度で実現可能なデータ転送レートを越えるデータ転送レートで行うことが要求されるデータ転送を行う期間中は、通信速度モードはハイスピードモードとなり、当該データ転送を、当該データ転送に要求されるデータ転送レートで実行することが可能となる。一方、他の期間中は、待機期間中を含め通信のモードはフルスピードモードとなり、電力消費が抑制される。なお、データ転送を行っていない待機期間中であってもＵＳＢドライバ１２１は通信速度モードに応じた速度で動作するため、フルスピードモードの方がハイスピードモードよりもＵＳＢドライバ１２１における電力消費は小さくなる。
【００３４】
よって、本実施形態によれば、実行するデータ転送に必要充分なレベルに電力消費が抑えられるように、通信速度モードの切り替えを行うことができるようになる。
ところで、以上では、ホスト装置１に単一のＵＳＢデバイス３が接続され、ＵＳＢ利用アプリケーション１３が同時に行うことのできるデータ転送が単一のデータ転送のみに制限される場合について説明したが、本実施形態は、ホスト装置１にＵＳＢハブ４を介して複数のＵＳＢデバイス３が接続される場合や、ホスト装置１が同時に複数のデータ転送が行えるように構成されている場合にも適用することができる。以下、ホスト装置１にＵＳＢハブ４を介して複数のＵＳＢデバイス３が接続される場合や、ホスト装置１が同時に複数のデータ転送が行えるように構成されている場合の実施形態について説明する。
【００３５】
すなわち、ます、ホスト装置１にＵＳＢハブ４を介して複数のＵＳＢデバイス３が接続される場合や、ホスト装置１が同時に複数のデータ転送が行えるように構成されている場合において、ＵＳＢハブ４をＵＳＢデバイス３とホスト装置１との中継に使用する場合には、ＵＳＢハブ４に、上流側（ホスト装置側）の通信速度モードに下流側（ＵＳＢデバイス側）の通信速度モードを一致させる機能を備える。すなわち、ＵＳＢハブ４は、上流側に直接接続されているホスト装置１もしくは他のＵＳＢハブ４との間の通信速度モードがハイスピードに設定されている場合には、下流側に直接接続されている他のＵＳＢハブ４もしくはＵＳＢデバイス３との間の通信速度モードをハイスピードに設定し、上流側に直接接続されているホスト装置１もしくは他のＵＳＢハブ４との間の通信速度モードがフルスピードに設定されている場合には、下流側に直接接続されている他のＵＳＢハブ４もしくはＵＳＢデバイス３との間の通信速度モードをフルスピードに設定する。また、ＵＳＢハブ４は、上流側に直接接続されているホスト装置１もしくは他のＵＳＢハブ４との間の通信速度モードがハイスピードからフルスピード、または、フルスピードからハイスピードに切り替えられた場合には、下流側に直接接続されている他のＵＳＢハブ４もしくはＵＳＢデバイス３との間の通信速度モードを上流側と同様に切り替える。なお、ＵＳＢハブ４やＵＳＢデバイス３の上流側の通信速度モードは、当該上流側に直接接続されている装置の下流側の通信速度モードに一致するように、上流側に直接接続されているホスト装置１もしくは他のＵＳＢハブ４による、ＵＳＢ２のリセットとリセット期間中のCHIRPハンドシェイクによって、その設定、切り替えが行われる。
【００３６】
そして、図２に示した転送処理のステップ２０４において、ＵＳＢ利用アプリケーション１３は、設定した要求通信速度と共にステップ２０２で見積もったデータ転送に必要な転送レートを含めたデータ転送開始要求を通信速度制御アプリケーション１４に送信するようにする。
【００３７】
そして、通信速度制御アプリケーション１４は、図３に示した通信速度制御処理に代えて、図４に示した通信速度制御処理を行うようにする。
すなわち、通信速度制御アプリケーション１４は通信速度制御処理において、図４に示すように、ＵＳＢドライバ１２１を介してＵＳＢコントローラ１１の通信速度モードをフルスピードモードに初期設定する（ステップ４０２）。
そして、ＵＳＢ利用アプリケーション１３からのデータ転送開始要求の受信と（ステップ４０４）、ＵＳＢ利用アプリケーション１３からの転送終了通知の受信とを（ステップ４１６）監視する。
そして、ＵＳＢ利用アプリケーション１３からのデータ転送開始要求を受信したならば（ステップ４０４）、データ転送開始要求に伴う要求通信速度がハイスピードであるかどうかを調べる（ステップ４０６）。そして、データ転送開始要求に伴う要求通信速度がハイスピードであれば、現在のＵＳＢコントローラ１１の通信速度モードがフルスピードモードである場合には（ステップ４１２）、通信速度モードをハイスピードモードに切り替え（ステップ４１４）、データ転送開始要求送信元のＵＳＢ利用アプリケーション１３にデータ転送開始許可を応答した上で（ステップ４１０）ステップ４０４、４１６の監視に戻る。一方、現在の通信速度モードがハイスピードモードである場合には（ステップ４１２）、そのままデータ転送開始要求送信元のＵＳＢ利用アプリケーション１３にデータ転送開始許可を応答し（ステップ４１０）、ステップ４０４、４１６の監視に戻る。
【００３８】
一方、ステップ４０６で、データ転送開始要求に伴う要求通信速度がハイスピードでないと判定された場合には、ステップ４０４で受信したデータ転送開始要求に伴う転送レートと、現在実行中の各データ転送について過去に受信したデータ転送開始要求に伴う転送レートの合計が、所定のしきい値ＴＨを越えているかどうかを調べる。ここで、しきい値ＴＨは、フルスピードまたはフルスピードから所定のマージンを減じた値とする。
【００３９】
そして、転送レートの合計がしきい値ＴＨを越えていれば（ステップ４０８）、現在の通信速度モードがフルスピードモードである場合には（ステップ４１２）、通信速度モードをハイスピードモードに切り替え（ステップ４１４）、データ転送開始要求送信元のＵＳＢ利用アプリケーション１３にデータ転送開始許可を応答した上で（ステップ４１０）ステップ４０４、４１６の監視に戻る。一方、現在の通信速度モードがハイスピードモードである場合には（ステップ４１２）、そのままデータ転送開始要求送信元のＵＳＢ利用アプリケーション１３にデータ転送開始許可を応答し（ステップ４１０）、ステップ４０４、４１６の監視に戻る。
【００４０】
また、転送レートの合計がしきい値ＴＨを越えていない場合には（ステップ４０８）、そのままデータ転送開始要求送信元のＵＳＢ利用アプリケーション１３にデータ転送開始許可を応答し（ステップ４１０）、ステップ４０４、４１６の監視に戻る。
次に、ステップ４０４、４１６の監視において、ＵＳＢ利用アプリケーション１３からの転送終了通知を受信した場合には（ステップ４１６）、ＵＳＢ利用アプリケーション１３が行っている全てのデータ転送が終了したかどうかを判定し（ステップ４１８）、全てのデータ転送が終了している場合には、現在の通信速度モードがハイスピードモードであるかどうかを調べ（ステップ４２４）、ハイスピードモードである場合には、通信速度モードをフルスピードモードに切り替え（ステップ４２６）、ステップ４０４、４１６の監視に戻り、ハイスピードモードではなくフルスピードモードである場合には、そのままステップ４０４、４１６の監視に戻る。
【００４１】
一方、ステップ４１８において、ＵＳＢ利用アプリケーション１３が行っている全てのデータ転送が終了していないと判定された場合には、現在アイソクロナス転送を行っているかどうかを調べ（ステップ４２０）、現在アイソクロナス転送を行っている場合にはステップ４０４、４１６の監視に戻る。なお、現在アイソクロナス転送を行っているかどうかの情報は、ＵＳＢドライバ１２１にアイソクロナス転送実行中の有無を問い合わせることにより取得する。
【００４２】
一方、現在アイソクロナス転送を行っていない場合には（ステップ４２０）、現在実行中の各データ転送について過去に受信したデータ転送開始要求に伴う要求通信速度の全てがフルスピードであり、かつ、現在実行中の各データ転送について過去に受信したデータ転送開始要求に伴う転送レートの合計がしきい値ＴＨ以下であるかどうかを調べ（ステップ４２２）、現在実行中の各データ転送について過去に受信したデータ転送開始要求に伴う要求通信速度のいずれかがハイスピードであるか、現在実行中の各データ転送について過去に受信したデータ転送開始要求に伴う転送レートの合計がしきい値ＴＨ越えであれば、ステップ４０４、４１６の監視に戻る。一方、現在実行中の各データ転送について過去に受信したデータ転送開始要求に伴う要求通信速度の全てがフルスピードであり、かつ、現在実行中の各データ転送について過去に受信したデータ転送開始要求に伴う転送レートの合計がしきい値ＴＨ以下であれば（ステップ４２２）、現在の通信速度モードがハイスピードモードであるかどうかを調べ（ステップ４２４）、ハイスピードモードである場合には、通信速度モードをフルスピードモードに切り替え（ステップ４２６）、ステップ４０４、４１６の監視に戻り、ハイスピードモードではなくフルスピードモードである場合には、そのままステップ４０４、４１６の監視に戻る。
【００４３】
以上、ホスト装置１にＵＳＢハブ４を介して複数のＵＳＢデバイス３が接続される場合や、ホスト装置１が同時に複数のデータ転送が行えるように構成されている場合の実施形態について説明した。
このような実施形態によれば、基本的には、複数のデータ転送を同時に行うときに、各データ転送に要求されるデータ転送レートの合計が、フルスピードモードの通信速度で実現可能なデータ転送レートを越える期間中にのみ、通信速度モードはハイスピードモードに切り替えられ、これにより各データ転送を、各々のデータ転送に要求されるデータ転送レートで実行することが可能となる。
【００４４】
一方、他の期間中は、待機期間中を含め通信速度モードはフルスピードモードとなり、電力消費が抑制される。
よって、実行するデータ転送に必要充分なレベルに電力消費が抑えられるように、通信速度モードの切り替えを行うことができる。
ところで、以上の実施形態は、ＵＳＢ以外の、異なる複数の通信速度を用いることができる通信を行う場合についても同様に適用することができる。
【符号の説明】
【００４５】
１…ホスト装置、２…ＵＳＢ、３…ＵＳＢデバイス、４…ＵＳＢハブ、１１…ＵＳＢコントローラ、１２…オペレーティングシステム、１３…ＵＳＢ利用アプリケーション、１４…通信速度制御アプリケーション、１５…記憶装置、１２１…ＵＳＢドライバ。
【図１】
0005545853.tif 000002
【図２】
0005545853.tif 000003
【図３】
0005545853.tif 000004
【図４】
0005545853.tif 000005