(57)【要約】【課題】ホスト装置とデバイス間のデータ伝送の効率を高める。【解決手段】ＷＵＳＢシステムにおけるデバイスは、ホスト装置からデータ送信要求（ＷｄｔＣＴＡ）を受信した際に、送信データの準備ができているときには、ＷｄｔＣＴＡが指定した時刻に送信データを出力する。一方、送信データの準備ができていないときには、デバイスは、送信データの準備完了時刻を予測し、予測した準備完了時刻が、ホスト装置がＷｄｔＣＴＡを再送可能な最も早い時刻以前である場合、ＮＡＫ応答の代わりにエラー応答をすることによってＷｄｔＣＴＡの再送をホスト装置に要求する。【選択図】図３
2008294671.tif 000002
【特許請求の範囲】
【請求項１】
データ送信要求に対して送信データの準備ができてないことを示す待機応答をしたデバイスをデータ送信要求の送信対象から除外するホスト装置からの前記データ送信要求に応じて送信データを送信するデバイスであって、
前記データ送信要求を受信する受信部と、
該受信部による前記データ送信要求の受信時に送信データの準備ができていない場合の応答を制御する応答制御部とを備え、
前記応答制御部は、前記待機応答の代わりに、前記ホスト装置に前記データ送信要求を再送させる再送応答をするように制御しうることを特徴とするデバイス。
【請求項２】
前記応答制御部は、
前記ホスト装置が前記データ送信要求を再送可能な最も早い再送時刻を取得し、
前記送信データの準備が完了する準備完了時刻を予測し、
予測した前記準備完了時刻が前記再送時刻以前であるときに前記再送応答をし、予測した前記準備完了時刻が前記再送時刻の後であるときに前記待機応答をするように制御することを特徴とする請求項１に記載のデバイス。
【請求項３】
送信データを一時的に格納する送信データバッファと、
前記送信データバッファに前記送信データを書込ことによって前記送信データを準備する書込部とをさらに有し、
前記応答制御部は、
前記送信データバッファに蓄積されたデータの量および前記書込部が前記送信データバッファへの書込状況に基づいて前記準備完了時刻を予測することを特徴とする請求項２に記載のデバイス。
【請求項４】
前記応答制御部は、前記再送応答としてエラー応答するように制御することを特徴とする請求項１から３のいずれか１項に記載のデバイス。
【請求項５】
前記応答制御部は、前記再送応答として無応答するように制御することを特徴とする請求項１から３のいずれか１項に記載のデバイス。
【請求項６】
前記ホスト装置と前記デバイスはＷＵＳＢ（ＷｉｒｅＬｅｓｓ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に準拠し、前記ホスト装置はＭＭＣ（Ｍｉｃｒｏ−ｓｃｈｅｄｕｌｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｍｍａｎｄ）を介して前記データ送信要求を送信するものであり、
前記応答制御部は
前記受信部により前記データ送信要求と共に受信した前記ＭＭＣに含まれた、前記ホスト装置が次にＭＭＣを送信する時刻を前記再送時刻として取得することを特徴とする請求項１から５のいずれか１項に記載のデバイス。
【請求項７】
前記ホスト装置と前記デバイスはＷＵＳＢ（ＷｉｒｅＬｅｓｓ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に準拠し、前記ホスト装置は、予め設定された、前記デバイスが前記ホスト装置と通信不可能な通信不可能時間帯以外の時間帯に、ＭＭＣ（Ｍｉｃｒｏ−ｓｃｈｅｄｕｌｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｍｍａｎｄ）を介して前記デバイスにデータ送信要求を送信するものであり、
前記応答制御部は、前記デバイスにより前記データ送信要求と共に受信した前記ＭＭＣに含まれた、前記ホスト装置が次にＭＭＣを送信する時刻以降の時間帯が前記通信不可能時間帯にあるときに、該通信不可能時間帯の終点時刻を前記再送時刻として取得することを特徴とする請求項１から５のいずれか１項に記載のデバイス。
【請求項８】
データ送信要求に対して送信データの準備ができていないことを示す待機応答をしたデバイスをデータ送信要求の送信対象から除外するホスト装置からデータ送信要求を受信したデバイスに対して、前記データ送信要求の受信時に送信データの準備ができてない場合の応答を制御する応答制御方法において、
前記待機応答の代わりに、前記ホスト装置に前記データ送信要求を再送させる再送応答を前記デバイスに行わせうることを特徴とする応答制御方法。
【請求項９】
前記ホスト装置が前記データ送信要求を再送可能な最も早い再送時刻を取得し、
前記デバイスによる前記送信データの準備が完了する準備完了時刻を予測し、
予測した前記準備完了時刻が前記再送時刻以前であるときに前記再送応答をし、予測した前記準備完了時刻が前記再送時刻の後であるときに前記待機応答をするように前記デバイスを制御することを特徴とする請求項８に記載の応答制御方法。
【請求項１０】
前記デバイスは、送信データを一時的に格納する送信データバッファに前記送信データを書込ことによって前記送信データを準備するものであり、
前記送信データバッファに蓄積されたデータの量および該送信データバッファへの書込状況に基づいて前記準備完了時刻を予測することを特徴とする請求項９に記載の応答制御方法。
【請求項１１】
エラー応答を前記再送応答として前記デバイスに行わせることを特徴とする請求項８から１０のいずれか１項に記載の応答制御方法。
【請求項１２】
無応答を前記再送応答として前記デバイスに行わせることを特徴とする請求項８から１０のいずれか１項に記載の応答制御方法。
【請求項１３】
前記ホスト装置と前記デバイスはＷＵＳＢ（ＷｉｒｅＬｅｓｓ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に準拠し、前記ホスト装置はＭＭＣ（Ｍｉｃｒｏ−ｓｃｈｅｄｕｌｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｍｍａｎｄ）を介して前記データ送信要求を送信するものであり、
前記デバイスが前記データ送信要求と共に受信した前記ＭＭＣに含まれた、前記ホスト装置が次にＭＭＣを送信する時刻を前記再送時刻として取得することを特徴とする請求項８から１２のいずれか１項に記載の応答制御方法。
【請求項１４】
前記ホスト装置と前記デバイスはＷＵＳＢ（ＷｉｒｅＬｅｓｓ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に準拠し、前記ホスト装置は、予め設定された、前記デバイスが前記ホスト装置と通信不可能な通信不可能時間帯以外の時間帯に、ＭＭＣ（Ｍｉｃｒｏ−ｓｃｈｅｄｕｌｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｍｍａｎｄ）を介して前記デバイスにデータ送信要求を送信するものであり、
前記デバイスが前記データ送信要求と共に受信した前記ＭＭＣに含まれた、前記ホスト装置が次にＭＭＣを送信する時刻以降の時間帯が前記通信不可能時間帯にあるときに、該通信不可能時間帯の終点時刻を前記再送時刻として取得することを特徴とする請求項７から１２のいずれか１項に記載の応答制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスがホスト装置からのデータ送信要求に応じてデータを送信するシステムにおいて、デバイスがデータ送信要求の受信時に送信データの準備ができていない場合の応答技術に関する。
【背景技術】
【０００２】
高速なデータ伝送ができることから、パーソナルコンピュータ（以下パソコンという）のインターフェースとして脚光を浴びることが予想されるＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）のネットワークにおいて、ホスト装置がデータ伝送のタイミングを支配し、ホスト装置からのデータ伝送要求にデバイスが応答することでデータ伝送が行われる構造になっている（非特許文献１参照）。
【０００３】
ＷＵＳＢのネットワークの接続形態は、ハブ＆スポーク型であり、中心に位置するホスト装置（たとえばパソコン）に対してデバイスが接続される。ホスト装置とデバイス間の通信は１対１にコネクションが張られるポイント・ツー・ポイント（ＰｎＰ）である。デバイスはたとえばプリンタ、ハードディスク、マウス、デジタルカメラ、ゲーム機、ＰＤＡなどである。
【０００４】
ＷＵＳＢ規格に基づいてホスト装置とデバイスが接続されてなるＷＵＳＢクラスタ（以下単にクラスタともいう）において、ホスト装置は、ＭＭＣ（Ｍｉｃｒｏ−ｓｃｈｅｄｕｌｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｍｍａｎｄ）を用いてクラスタ（クラスタ内のデバイスを含む）を管理する。これについて図５を参照して説明する。
【０００５】
図５に示すように、ＭＭＣはホスト装置側において決まったタイミングでホスト装置から発信される。ＭＭＣにはホスト装置の識別情報や次のＭＭＣの発信時刻などが含まれている。
【０００６】
ＷＵＳＢシステムにおいて、接続については、デバイスからアクションを起こすデバイス・オリエンテッドな接続アソシエーションが採用されている。ホスト装置は、ホスト識別情報などをＭＭＣを介して送信することにより、クラスタ内のデバイスに通知する。なお、このＭＭＣには、ホスト装置は、デバイスがホスト装置に接続要求を発行できるように設定したＤＮＴＳ（Ｄｅｖｉｃｅ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｔｉｍｅ  Ｓｌｏｔ）の開始時刻情報（ＷｄｎｔｓＣＴＡ。Ｗ：Ｗｉｒｅｌｅｓｓ  ＵＳＢ、ＣＴＡ：Ｃｈａｎｎｅｌ  Ｔｉｍｅ  Ａｌｌｏｃａｔｉｏｎ）も含まれている。ＤＮＴＳは、個々のデバイスが小さい非同期の通知メッセージをホスト装置に送信するために用意されるスロットであり、複数個設定されている。デバイスは、自身が属するクラスタの構成時においてホスト識別情報を取得して保持しており、ホスト装置からのＭＭＣに含まれるホスト識別情報を元に自身が属するクラスタのホスト装置であるか否かを判断することができる。自身が属するクラスタのホスト装置に接続要求を出す際に、用意されたスロットから送信するスロットをランダムに選択して接続要求を出す。その後、ホスト装置とデバイスはハンドシェークによる相互認証を行い、接続を完了する。
【０００７】
ＷＵＳＢシステムにおいて、クラスタ内のホスト装置とデバイスとのデータ伝送では、ホスト装置が主導権を持っている。ホスト装置とデータ伝送を行う複数のデバイスに対して、ホスト装置はこれらの各デバイスがデータを送受信する時間帯域を割り当てることによってスケジューリングし、スケジューリングした通りにＭＭＣを介してデバイスにデータ伝送要求を行う。ここでホスト装置がデバイスにデータの送信を要求する場合を例に説明する。
【０００８】
ホスト装置は、デバイスに対してデータの送信を要求する場合、ＭＭＣを介してＷｄｔＣＴＡ（ｄｔ：Ｄａｔａ  Ｔｒａｎｓｍｉｔ）を送信する。このＷｄｔＣＴＡには、データの送信が要求されるデバイスの識別情報や、該デバイスがデータを送信すべき時刻を指定する情報（以下時刻指定情報という）が含まれている。
【０００９】
データ送信が要求されたデバイスは、送信するデータの準備が出来ている場合には、ＷｄｔＣＴＡに含まれる時刻指定情報が示す時刻にデータをホスト装置に送信する。一方、送信するデータの準備ができていないなどデータを送信できない場合には、当該デバイスは、時刻指定情報が示す時刻にホスト装置にＮＡＫ（Ｎｅｇａｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）応答をする。ホスト装置はＮＡＫ応答を受信すると、ＮＡＫ応答をしたデバイスを一時的にスケジューリング対象から除外する。このデバイスの状態を、以下「フロー制御中」という。このとき、他にデータ伝送中のデバイスがあれば、ホスト装置は引き続きそれらのデバイスに対してスケジューリングを行うが、分かりやすくするために、図５では、ＮＡＫ応答をしたデバイスに対してのＷｄｔＣＴＡのみを示す。図示のように、ＮＡＫ応答してフロー制御中に入ったデバイスに対して、該デバイスを対象とするＷｄｔＣＴＡはホスト装置から送信されないことになっている。
【００１０】
フロー制御中のデバイスは、データの準備が完了し、データ送信が可能となったときに、ホスト装置にそれを示すデバイス・ノティフィケーション（Ｄｅｖｉｃｅ  Ｎｏｔｉｆｉｃａｔｉｏｎ）を送信することによってデータ伝送の再開を要求する。ホスト装置は、デバイスからデバイス・ノティフィケーションを受信すると、このデバイスを再びスケジューリング対象にし、該デバイスを対象とするＷｄｔＣＴＡの送信を再開する。
【非特許文献１】Ｗｉｒｅｌｅｓｓ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ、Ｒｅｖｉｓｉｏｎ  １．０、２００５年５月１２日、インターネット＜http://www.usb.org/developers/wusb/docs/WirelessUSBSpecification_r10.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、ＷＵＳＢシステムにおいて、デバイス・ノティフィケーションは、ＷｄｎｔｓＣＴＡにより確保された帯域でのみデバイスにより送信可能である。その一方、ＷｄｎｔｓＣＴＡの送信間隔は、通常数ｍｓｅｃ単位であり、ホスト装置側により決められ、デバイス側からは制御できないようになっている。そのため、図５に示すように、フロー制御中のデバイスは、データ準備が完了したにもかかわらず、データ伝送の再開を要求するデバイス・ノティフィケーションを送信するためにＷｄｎｔｓＣＴＡを待たなければいけないことが生じ得る。その結果、データの送信が滞り、効率が低下するという問題がある。
【課題を解決するための手段】
【００１２】
本発明の一つの態様は、応答制御方法である。この応答制御方法は、データ送信要求に対して送信データの準備ができていないことを示す待機応答をしたデバイスをデータ送信要求の送信対象から除外するホスト装置からデータ送信要求を受信したデバイスに対して、データ送信要求の受信時に送信データの準備ができてない場合、待機応答の代わりに、ホスト装置に前記データ送信要求を再送させる再送応答をデバイスに行わせうる。
【００１３】
なお、上記態様の方法を装置やシステムとして表現したものや、上記方法を適用したデバイスも、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明の技術によれば、デバイスがホスト装置からのデータ送信要求に応じてデータを送信するシステムにおいて、デバイスがデータ送信要求の受信時に送信データの準備ができていない場合の応答を制御し、データ伝送の効率向上を図ることができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本発明の実施の形態のＷＵＳＢシステム１００を示す。ＷＵＳＢシステム１００は、ホスト装置５０と、複数のデバイス（図示の例では３つ：デバイス７０、デバイス８０、デバイス９０）を備える。
【００１６】
ホスト装置５０は、例えばパソコンであり、ＷＵＳＢ規格に準拠したハードウェアおよびソフトウェアが実装されている。ホスト装置５０は、ＷＵＳＢシステムにおける通常のホスト装置であり、その詳細な説明を省略する。
【００１７】
デバイス７０、デバイス８０、デバイス９０は、ＷＵＳＢに準拠し、例えばプリンタ、ハードディスク、マウス、デジタルカメラ、ゲーム機、ＰＤＡなどであり、ホスト装置５０と無線接続して使用される。ここで図２を参照してデバイス７０を説明する。なお、本発明の主旨を分かりやすくするために、以下において、本発明と関連性のある処理を担う部分についてのみ説明および図示する。
【００１８】
図２に示すように、デバイス７０は、ＷＵＳＢ  インターフェース（以下ＷＵＳＢ  Ｉ／Ｆという）１０と、データ書込部２２と、送信データバッファ２４と、データバッファ管理部２８と、時間情報管理部３０と、制御部４０を有する。なお、デバイス７０の様々な処理を行う機能ブロックとして図中に記載れた各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００１９】
ＷＵＳＢ  Ｉ／Ｆ１０は、ＷＵＳＢ規格に準拠し、それを介して、デバイス７０とホスト装置５０間のデータ伝送がなされる。ＷＵＳＢ  Ｉ／Ｆ１０は、ホスト装置５０からのデータやデータ送信要求などを受信する受信部１４と、デバイス７０からホスト装置５０へデータや応答などを送信する送信部１８を有する。
【００２０】
データ書込部２２は、デバイス７０からホスト装置５０へ送信すべきデータ（以下送信データという）を送信データバッファ２４に書き込むことによって送信データを準備する。
【００２１】
送信データバッファ２４は、送信データを一時的に格納するものであり、例えばメモリにより構成される。
【００２２】
制御部４０は、受信部１４がホスト装置５０からＷｄｔＣＴＡを受信した際に、送信部１８に送信データを出力させるか否か、および送信データを出力しない場合の応答を制御するものであり、具体的には、制御部４０は、ＷｄｔＣＴＡの受信時に送信データの準備ができている場合には送信部１８に送信データを出力させる。一方、送信データの準備ができていない場合には、制御部４０は、待機応答と、ホスト装置５０にＷｄｔＣＴＡを再送させるための再送応答のいずれかを送信部１８に行わせる。本実施の形態において、待機応答はＮＡＫ応答であり、再送応答はエラー応答である。
【００２３】
いずれの応答をするかについて、制御部４０は、まず、デバイス７０が送信データの準備が完了する時刻（準備完了時刻）を予測し、予測した準備完了時刻と、ホスト装置５０がデータ送信要求を再送可能な最も早い時刻（以下時刻Ｔ０という）とを比較する。そして、制御部４０は、予測した準備完了時刻が時刻Ｔ０以前であれば送信部１８にエラー応答をさせ、予測した準備完了時刻が時刻Ｔ０より後であれば送信部にＮＡＫ応答をさせる。
【００２４】
制御部４０は、データバッファ管理部２８と時間情報管理部３０が管理している情報に基づいて、送信データの準備ができているか否か、いずれかの応答をすべきかなどの上記判断を行う。
【００２５】
データバッファ管理部２８は、送信データの準備ができているか否かの判断、できていない場合には準備できる時刻を予測するための情報を管理しており、具体的には、送信データバッファ２４の空き容量、およびデータ書込部２２による書込みの状況を管理する。本実施の形態において、例として、送信データバッファ２４は送信部１８が一度に送信するデータ量に合致する容量を有し、送信データバッファ２４にその容量の分のデータが格納されていることすなわち空き容量が無いことは送信データが準備できていることを示す。また、書込みの状況は、例えばデータ書込部２２が送信データバッファ２４への書込アクセスがなされている否か、書込アクセスがなされている場合には書込アクセスの頻度など、それらに基づいて送信データが準備できるまでの時刻を予測可能な情報であり、以下アクセス情報という。
【００２６】
時間情報管理部３０は、ＷＵＳＢ  Ｉ／Ｆ１０における受信部１４が受信したホスト装置５０からのＭＭＣやＷｄｔＣＴＡに含まれる各種時間情報を管理して制御部４０に供する。具体的には、受信部１４がＭＭＣやＷｄｔＣＴＡを受信すると、時間情報管理部３０は、ＭＭＣに含まれた次のＭＭＣの送信時刻や、ＷｄｔＣＴＡに含まれた時刻指定情報を取得して一時保持して制御部４０に供する。
【００２７】
時間情報管理部３０は、上記時間情報以外に、デバイス７０がホスト装置５０と通信不可能な時間帯を示す通信不可能時間帯情報も管理している。ＷＵＳＢ規格では、デバイスとホスト装置間に通信不可能時間帯を間欠的に設け、デバイス近辺に他のＷＵＳＢクラスタが存在する場合にクラスタ間の電波の干渉を回避する仕組み（Ｄｅｖｉｃｅ  Ａｖａｉｌａｂｉｌｉｔｙ）が用意されている。この通信不可能時間帯情報は予め設定されており、ホスト装置は設定された通信不可能時間帯において当該デバイスにＷｄｔＣＴＡを送信しないようになっている。本実施の形態のＷＵＳＢシステム１００において、この仕組みが適用されており、ホスト装置５０は通信不可能時間帯にデバイス７０にＷｄｔＣＴＡを送信しないようになっている。
【００２８】
図３を参照して制御部４０をより詳細に説明する。図３は、制御部４０が行う処理のフローチャートである。受信部１４がＷｄｔＣＴＡを受信すると、制御部４０は、データバッファ管理部２８が管理している情報を参照し、送信データの準備ができているか否かを確認する（Ｓ１０）。送信データバッファ２４の空き容量が無い場合には、制御部４０は、送信データの準備ができていると判断し、時間情報管理部３０における今回のＷｄｔＣＴＡの時刻指定情報が示す時刻に、送信データバッファ２４内の送信データを送信部１８に出力させる（Ｓ１０：Ｙｅｓ、Ｓ２０）。
【００２９】
一方、送信データバッファ２４の空き容量がある場合には、制御部４０は、送信データの準備ができていないと判断すると共に、送信データの準備完了時刻Ｔ２を予測する（Ｓ１０：Ｎｏ、Ｓ３０）。具体的には、例えば、アクセス情報は、データ書込部２２による送信データバッファ２４への書込アクセスがなされており、単位時間当たりの書込量がＲ１であることを示している場合、制御部４０は、送信データの準備ができるまでの時間を「送信データバッファ２４の空き容量／Ｒ」で算出し、現在の時刻にこの時間を加算することによって得た時刻を準備完了時刻Ｔ２として予測する。以下、時刻Ｔ２を予測時刻という。
【００３０】
制御部４０は、準備完了時刻Ｔ２と、ホスト装置５０が次のＭＭＣを送信する時刻（以下時刻Ｔ１という）とを比較する（Ｓ４０）。時刻Ｔ１は今回のＷｄｔＣＴＡ受信時のＭＭＣに含まれており、時間情報管理部３０により管理されている。
【００３１】
準備完了時刻Ｔ２≦時刻Ｔ１の場合、制御部４０は、エラー応答を送信部１８に出力させる（Ｓ４０：Ｎｏ、Ｓ５０）。
【００３２】
一方、準備完了時刻Ｔ２＞時刻Ｔ１の場合、制御部４０は、時間情報管理部３０が管理している通信不可能時間帯情報を参照して、時刻Ｔ１以降がデバイス７０とホスト装置５０間の通信不可能時間帯なのか否かを確認する（Ｓ４０：Ｙｅｓ、Ｓ６０）。
【００３３】
時刻Ｔ１以降が通信不可能時間帯であり、かつ、準備完了時刻Ｔ２がこの通信不可能時間帯の終点時刻Ｔ３以前である場合（Ｓ６０：Ｙｅｓ、Ｓ７０：Ｎｏ）、制御部４０は、エラー応答を送信部１８に出力させる（Ｓ５０）。一方、時刻Ｔ１以降が通信不可能時間帯ではない（Ｓ６０：Ｎｏ）、または時刻Ｔ１以降が通信不可能時間帯ではあるものの、準備完了時刻Ｔ２がこの通信不可能時間帯の終点時刻Ｔ３より後である場合（Ｓ６０：Ｙｅｓ、Ｓ７０：Ｙｅｓ）には、制御部４０は、送信部１８にＮＡＫ応答を出力させる（Ｓ８０）。
【００３４】
前述したように、ＷｄｔＣＴＡはＭＭＣを介して送信されるので、次のＷｄｔＣＴＡの送信時刻が次のＭＭＣの送信時刻より前になることは不可能である。そのため、次のＭＭＣの送信時刻Ｔ１以降が通信不可能時間帯ではない場合には、時刻Ｔ１はホスト装置５０がＷｄｔＣＴＡをデバイス７０に送信可能な最も早い時刻Ｔ０になる。一方、ホスト装置が通信不可能時間帯においてＷｄｔＣＴＡをデバイス７０に送信しないので、時刻Ｔ１以降が通信不可能時間帯である場合には、この通信不可能時間帯の終点時刻Ｔ３はホスト装置５０がＷｄｔＣＴＡをデバイス７０に送信可能な最も早い時刻Ｔ０になる。
【００３５】
すなわち、制御部４０は、ホスト装置５０が次のＷｄｔＣＴＡをデバイス７０に送信可能な最も早い時刻Ｔ０までに、デバイス７０側において送信データの準備ができない場合には送信部１８にＮＡＫ応答をさせ、フロー制御中に入る一方、時刻Ｔ０までに送信データの準備ができる場合にはＮＡＫ応答の代わりにエラー応答を送信部１８に行わせる。エラー応答に応じてホスト装置５０が送信可能な最も早い時刻Ｔ０にＷｄｔＣＴＡを送信したとしても、その時刻までに送信データの準備ができているのでデバイス７０は送信データを出力することができる。
【００３６】
図４は、ホスト装置５０とデバイス７０が行うデータ伝送処理のタイミングチャートの一例を示す。この例は、デバイス７０がホスト装置５０からＷｄｔＣＴＡを受信した際に送信データの準備ができていないが、準備完了時刻Ｔ２はホスト装置５０がＷｄｔＣＴＡを再送可能な最も早い時刻Ｔ０以前である場合の例であり、図３に示すフローチャートにおける「Ｓ１０：Ｎｏ、Ｓ３０、Ｓ４０：Ｎｏ、Ｓ５０」または「Ｓ１０：Ｎｏ、Ｓ３０、Ｓ４０：Ｙｅｓ、Ｓ６０：Ｙｅｓ、Ｓ７０：Ｎｏ、Ｓ５０」の場合に相当する。以下時間軸に沿って説明する。
【００３７】
図４に示すように、デバイス７０において、送信データバッファ２４に空き容量が無く、送信データの準備ができている状態でホスト装置５０からＷｄｔＣＴＡを受信すると、デバイス７０は、ＷｄｔＣＴＡが指定した時刻で送信データをホスト装置５０に出力する。これにより送信データバッファ２４がクリアされる。そして、データ書込部２２による送信データバッファ２４への書込アクセスすなわち送信データの準備がなされる。送信データの準備中にホスト装置５０から次のＷｄｔＣＴＡを受信すると、デバイス７０からホスト装置５０にエラー応答することによってＷｄｔＣＴＡの再送を要求し、フロー制御中に入ることを回避する。
【００３８】
ホスト装置５０は、デバイス７０からの応答がＮＡＫ応答ではないので、デバイス７０をスケジューリング対象から除外することをせず、ＷｄｔＣＴＡを再送する。再送されたＷｄｔＣＴＡの受信時に、デバイス７０は既に送信データの準備ができているので、送信データを出力する。
【００３９】
このように、本実施の形態のＷＵＳＢシステム１００において、デバイス７０は、ＷｄｔＣＴＡの受信時に送信データの準備ができていなくても、送信データが準備できる時刻Ｔ２が、ホスト装置５０がＷｄｔＣＴＡを再送可能な最も早い時刻Ｔ０以前であれば、ＮＡＫ応答の代わりに意図的にエラー応答をすることによって、フロー制御中に入る頻度を下げことができる。結果として、ＮＡＫ応答をすることによってフロー制御中に入りフロー制御中から復帰するために要する時間をカットすることができ、データ伝送効率の向上に貢献することができる。
【００４０】
なお、デバイス７０についてのみ説明したが、デバイス８０やデバイス９０他のデバイスにも、デバイス７０と同様な応答制御を適用することができる。
【００４１】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、さまざまな変更、増減を加えてもよい。これらの変更、増減が加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４２】
例えば、ＷＵＳＢシステム１００において、デバイス７０は、ホスト装置５０にエラー応答することによってＷｄｔＣＴＡの再送を要求するが、エラー応答に限らず、フロー制御中に入ることを回避し、ホスト装置にＷｄｔＣＴＡの再送を行わせることが可能ないかなる応答であってもよい。例えば、エラー応答の代わりに、「応答しない」ようにしてもよい。
【００４３】
また、ＷＵＳＢシステム１００には、「Ｄｅｖｉｃｅ  Ａｖａｉｌａｂｉｌｉｔｙ」の仕組みが適用されており、ホスト装置５０はデバイス７０の通信不可能時間帯にデバイス７０にＷｄｔＣＴＡを送信しないようになっている。デバイス７０は、これを利用して、ホスト装置がＷｄｔＣＴＡを再送可能な最も早い時刻Ｔ０を取得する際に、予めホスト装置５０に知らせた自身の通信不可能時間帯を考慮し、送信データの準備に使用できる時間をより長く確保できるようにしている。「Ｄｅｖｉｃｅ  Ａｖａｉｌａｂｉｌｉｔｙ」の仕組みが適用されていない場合には、次のＭＭＣの送信時刻Ｔ１を時刻Ｔ０とすればよい。
【００４４】
また、本実施の形態は、本発明にかかる技術をＷＵＳＢシステムに適用した例である。デバイスがホスト装置からのデータ送信要求に応じて送信データを出力し、データ送信要求を受信した際に送信データが準備できていない場合に待機応答をすると、データ送信要求の送信対象からはずれるいかなるシステムシステムにも本発明の技術を適用することができる。また、これらのシステムに本発明の技術を適用した結果、デバイスがデータ送信要求の送信対象から外れる頻度を小さく抑制することができ、データ伝送の効率を高めることができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施の形態にかかるＷＵＳＢシステムを示す図である。
【図２】図１に示すＷＵＳＢシステムにおけるデバイスを示す図である。
【図３】図２に示すデバイスにおける制御部の処理を示すフローチャートである。
【図４】図１に示すＷＵＳＢシステムにおけるホスト装置とデバイスが行うデータ伝送処理のタイミングチャートの一例を示す図である。
【図５】従来技術を説明するための図である。
【符号の説明】
【００４６】
１０  ＷＵＳＢ  インターフェース
１４  送信部
１８  受信部
２２  データ書込部
２４  送信データバッファ
２８  データバッファ管理部
３０  時間情報管理部
４０  制御部
５０  ホスト装置
７０  デバイス
８０  デバイス
９０  デバイス
１００  ＷＵＳＢシステム
【図１】
2008294671.tif 000003
【図２】
2008294671.tif 000004
【図３】
2008294671.tif 000005
【図４】
2008294671.tif 000006
【図５】
2008294671.tif 000007