以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
まず、図1〜図4を用いて、本願に関連するワイヤレスUSBシステムについて説明する。そして、本願に関連するワイヤレスUSBシステムの問題点を指摘した上で、図5〜図10を用いて、本発明の一実施形態にかかる無線中継装置の構成を説明する。続いて、図11〜図24を参照し、本発明の一実施形態にかかる無線中継装置を適用したワイヤレスUSBシステムの構成および動作を説明する。
図1は、本願に関連するワイヤレスUSBシステム80の構成例を示した説明図である。ワイヤレスUSBシステム80は、USBホスト91、ホストワイヤーアダプタ92、USBデバイス93およびデバイスワイヤーアダプタ94を備える。本願において、USBホストまたはUSBデバイスと示した場合は、USBケーブルを介して他の装置と情報を送受信するUSB対応機器を指し、ホストワイヤーアダプタ、デバイスワイヤーアダプタ、ワイヤレスUSBホストまたはワイヤレスUSBデバイスと示した場合は、他の装置と無線通信により情報を送受信するワイヤレスUSB対応機器を指すものとする。
USBホスト91は、ワイヤレスUSBにおけるホスト機能のドライバを実装している。また、USBホスト91は、USBケーブルを介して無線中継装置としてのホストワイヤーアダプタ92に接続されている。
一方、USBデバイス93はUSBデバイス機能を実装している。また、USBデバイス93は、USBケーブルを介して無線中継装置としてのデバイスワイヤーアダプタ94と接続されている。
このようなホストワイヤーアダプタ92とデバイスワイヤーアダプタ94とは、ワイヤレスUSBによる無線接続が可能である。すなわち、USBホスト91とUSBデバイス93は、ホストワイヤーアダプタ92およびデバイスワイヤーアダプタ94を介してワイヤレスUSB規格に基づく無線通信を行うことができる。
図2は、本願に関連するワイヤレスUSBシステム81の他の構成例を示した説明図である。ワイヤレスUSBシステム81は、USBデバイス93、デバイスワイヤーアダプタ94およびワイヤレスUSBホスト95を備える。USBデバイス93は、USBケーブルを介してデバイスワイヤーアダプタ94に接続されている。
ワイヤレスUSBホスト95は、ワイヤレスUSBホストモジュールを実装した情報処理装置である。ワイヤレスUSBホストモジュールは、ホストワイヤーアダプタ92を接続せずに、直接ワイヤレスUSBにおけるホストとしての無線通信を可能とするモジュールである。例えば、ワイヤレスUSBホストモジュールは、後述のMMCにタイムスタンプを記載する機能を有する。なお、該ワイヤレスUSBホストモジュールはUSBホストとしての機能を必ずしも要求されない。
このようなワイヤレスUSBホスト95とUSBデバイス93とは、デバイスワイヤーアダプタ94を介してワイヤレスUSBにおける無線通信を行うことができる。
図3は、本願に関連するワイヤレスUSBシステム82の構成例を示した説明図である。ワイヤレスUSBシステム82は、USBホスト91、ホストワイヤーアダプタ92およびワイヤレスUSBデバイス96を備える。USBホスト91は、ワイヤレスUSBにおけるホスト機能のドライバを実装している。また、USBホスト91は、USBケーブルを介して無線中継装置としてのホストワイヤーアダプタ92に接続されている。
ワイヤレスUSBデバイス96は、ワイヤレスUSBデバイスモジュールを実装した情報処理装置である。ワイヤレスUSBデバイスモジュールは、デバイスワイヤーアダプタ94に接続することなく、直接ワイヤレスUSBにおける無線通信を可能とするモジュールである。
このようなUSBホスト91とワイヤレスUSBデバイス96とは、ホストワイヤーアダプタ92を介してワイヤレスUSBにおける無線通信を行うことができる。すなわち、ワイヤレスUSBデバイス96は、USBホスト91側からUSBデバイス93と同様に認識される、あるいはデバイスワイヤーアダプタ94と接続されたUSBデバイス93と同様に認識される。なお、ワイヤレスUSBデバイス96は、デバイスワイヤーアダプタ94の機能を実装する必要がないため、構成を簡素化できる。
図4は、本願に関連するワイヤレスUSBシステム83の構成例を示した説明図である。ワイヤレスUSBシステム83は、ワイヤレスUSBホスト95およびワイヤレスUSBデバイス96を備える。かかる構成においては、ワイヤレスUSBホスト95およびワイヤレスUSBデバイス96は直接ワイヤレスUSBにおける無線通信を行うことができる。また、ホストワイヤーアダプタ92およびデバイスワイヤーアダプタ94が不要となる利点を有する。
以上図1〜図4を参照して説明した構成により、ワイヤレスUSBシステムを構築することができた。しかし、ワイヤレスUSBシステムにUSBホストあるいはワイヤレスUSBホストが存在しない場合、ワイヤレスUSBにおける無線通信が成立しないという問題があった。
上記のような問題に鑑みて、容易にワイヤレスUSBシステムにUSBホストあるいはワイヤレスUSBホストが存在するかを容易に判断することができ、さらに、該存在の有無に基づいて動作モードを切替えることが可能な無線中継装置を本発明の一実施形態として提案するに至った。
以下、本実施形態にかかる無線中継装置の詳細な構成および動作を説明する。
図5は、本実施形態にかかる無線通信装置の一例としての無線中継装置10の構成を示したブロック図である。無線中継装置10は、USBケーブル接続部104、エニュメレーション処理部108、通信部112、無線処理部120、動作モード設定部128、制御部130およびビーコン生成部140を備える。
USBケーブル接続部104は、USB対応機器22とUSBケーブルを介して接続されるUSB接続部として機能する。USB対応機器22は、USBホストであってもUSBデバイスであってもよい。USB対応機器22の具体例としては、PC(Personal Computer)、家庭用映像処理装置(DVDレコーダ、ビデオデッキなど)、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、PDA(Personal Digital Assistant)、家庭用ゲーム機器、携帯用ゲーム機器、家電機器などの情報処理装置や、キーボードやマウス、モデム、ジョイスティックなどの周辺機器があげられる。
エニュメレーション処理部108は、USBケーブル接続部104と接続されたUSB対応機器22に対してエニュメレーション処理を実行する。エニュメレーション処理とは、USB対応機器22とディスクリプタ(Descriptor)を交換し、USB対応機器22の属性を識別する処理を含む。エニュメレーション処理が実行された機器間では、データの送受信が可能となる。ディスクリプタとしては、電源種類や最大消費電力を示すコンフィグレーションディスクプリプタ、クラスコードやエンドポイント数を示すインターフェースディスクリプタ、データの転送速度や転送方法を示すエンドポイントディスクリプタおよび自己がデバイス側であるかホスト側であるかの属性情報を含むデバイスディスクリプタが一例としてあげられる。
通信部112は、ワイヤレスUSB対応機器24と無線信号を送受信するインターフェースである。無線信号には、ビーコン、MMCフレームおよびデータ信号などが含まれる。無線中継装置10に無線接続されたワイヤレスUSB対応機器24は、ワイヤレスUSBにおける無線通信機能を実装した上述の情報処理装置や周辺機器であっても、デバイスワイヤーアダプタまたはホストワイヤーアダプタであってもよい。
無線処理部120は、通信部112を介して無線信号を送受信するための信号処理や信号変換などを行う。無線処理部120は、例えば、タイミング処理部122、無線アクセス処理部124、無線高周波処理部126を含む。
タイミング処理部122は、無線中継装置10の内部の時間同期や、ワイヤレスUSB対応機器24と無線通信を行う際にスーパーフレーム周期の同期を処理する。無線アクセス処理部124は、例えばワイヤレスUSB規格の無線アクセス制御の方式に従って、信号の送受信を行う。
無線高周波処理部126は、送信しようとする情報を、短距離高速無線通信を可能とするマルチバンドOFDM方式(Orthogonal Frequency Division Multiplexing)のウルトラワイドバンドの無線信号に変換する。あるいは、無線高周波処理部126は、受信したマルチバンドOFDM方式のウルトラワイドバンドの無線信号信号のデコードを行う。
動作モード設定部128は、USB対応機器22およびワイヤレスUSB対応機器24の属性情報に基づいて、制御部130の動作モードを設定する。USB対応機器22の属性情報は、エニュメレーション処理部108がデバイスディスクリプタを受信することにより把握できる。一方、本実施形態において、ワイヤレスUSB対応機器24の属性情報は、ワイヤレスUSB対応機器24が送信するビーコンに基づいて把握することができる。以下、本実施形態にかかる無線中継装置10が受信するビーコンについて図6および図7を参照して説明する。
図6は、ワイヤレスUSBにおけるスーパーフレームの構成例を示した説明図である。スーパーフレームは、スーパーフレームの周期として所定の時間が定義され、さらにMAS−0からMAS−255までの256個のメディアアクセススロット(MAS)に細分化されている。無線中継装置10およびワイヤレスUSB対応機器24は、いずれかの上記MAS期間を利用して、それぞれ通信を行うことができる。上記MASの周期は、例えば256μsとすることができる。
また、スーパーフレームには、ビーコン期間とデータ伝送領域とが図6に示したように配置されている。
ビーコン期間には、所定の間隔でビーコンスロットが設定されていて、ワイヤレスUSBに対応する機器ごとに固有のビーコンスロットを利用して周囲の機器との間で管理情報としての各種パラメータが交換される構成になっている。このビーコン期間の長さは、その時の周囲に存在する機器数に依存して、必要な長さが決定される。本実施形態では、MAS−0からMAS−2までを用いて、ビーコンスロットBS0〜ビーコンスロットBS8までの計9個が用意されている。
図7は、上述したビーコンスロットに送信されるビーコンフレームの構成例を示した説明図である。該ビーコンフレームは、スーパーフレームのビーコン期間に各機器から送信され、このビーコンフレームを受信することによって、周囲の機器との間で管理情報としての各種パラメータが交換される。
ビーコンフレームは、図7に示したように、MACヘッダ情報61と、ヘッダーチェックシーケンス(HCS)62と、ビーコンペイロード情報63と、フレームチェックシーケンス(FCS)64とを含む。
さらに、MACヘッダ情報61は、フレーム制御情報161と、受信先アドレスである届け先アドレス162と、送信元アドレスである送り元アドレス163と、シーケンス番号などのシーケンス制御情報164と、アクセス制御に必要なパラメータが記載されたアクセス制御情報165とを含む。ここで、ビーコンを送信する際は、届け先アドレス162には届け先を特定しないブロードキャスト用のアドレスが記載される。
また、ビーコンペイロード情報63は、機器固有のパラメータである固有情報166と、ビーコンスロット利用を示したビーコン利用情報167と、機器のケーパビリティを示す能力情報168と、ハイバネーションモードで動作する場合に付加される休眠モード情報169と、DRP(Distributed Reservation Protocol)予約をしているMAS位置を示すDRP予約情報170と、DRP予約に利用可能なMAS位置を示したDRP利用情報171と、ワイヤレスUSB(WUSB)における自己の属性情報を示すWUSB属性情報172を含む。なお、これらの各種パラメータを、必要に応じて追加、削除してビーコンフレームを構成するとしてもよい。
ここで、属性情報とは、自己がワイヤレスUSBホスト、USBホストまたはホストワイヤーアダプタなどのホスト属性を有するホスト側の装置として動作しているか、あるいは、ワイヤレスUSBデバイス、USBデバイスまたはデバイスワイヤーアダプタなどのデバイス属性を有するデバイス側の装置として動作しているかを特定できる情報である。したがって、WUSB属性情報172には単にホスト属性またはデバイス属性が記載されても、自己がUSBホスト、ホストワイヤーアダプタ、ワイヤレスUSBデバイス、USBデバイス、デバイスワイヤーアダプタのいずれとして動作しているかが記載されるようにしてもよい。
このように、本実施形態にかかる無線中継装置10は、ワイヤレスUSB対応機器24からビーコンを受信し、WUSB属性情報172を参照するのみでワイヤレスUSB対応機器24の属性情報を把握することができる。すなわち、無線中継装置10は、スーパーフレームのビーコン期間以外に煩雑なコマンドをやり取りすることなく、容易にワイヤレスUSB対応機器24の属性情報を把握することが可能である。したがって、無線中継装置10の動作モード設定部128は、当該ワイヤレスUSB対応機器24の属性情報およびUSB対応機器22の属性情報に基づいて、制御部130の動作モードを設定することができる。
図5を参照して無線中継装置10の構成の説明に戻ると、制御部130は、無線中継装置10の制御全般を行う。また、動作モード設定部128による動作モードの設定に基づいて、ホストワイヤーアダプタモード12、デバイスワイヤーアダプタモード16またはワイヤレスUSBホストモード14のいずれかとして機能する。ホストワイヤーアダプタモード12として機能する場合は、制御部130は、例えば、ホストであるUSB対応機器22から送信されたスタートオブフレーム(SOF:Start Of Frame)の受信時刻に基づいて、タイムスタンプ情報(Timestamp)をMMCフレームに記載し、該MMCフレームをワイヤレスUSB対応機器24に転送する。該動作は、安価な組み込み式のマイクロコンピュータにより実現することもできる。
ここで、MMCフレームおよびタイムスタンプ情報について図8〜図10を参照して説明する。
図8は、設定されたMASにおけるアクセス制御の流れを示した説明図である。各MASにおけるアクセス制御は、まず、ワイヤレスUSBにおけるホスト側からMMCフレーム71が送信される。該MMCフレーム71には、ホスト側を識別するための情報、ホスト側から送信される下りデータの開始時間、デバイス側からホストへの上りデータの開始時間および次のMMCフレーム75の送信時間などのパラメータが記載されている。
したがって、MMCフレーム71を受信すると、以降の下りデータ72、上りデータ73、上りACK74、次回のMMCフレーム75の送受信のタイミングを設定することができる。
このように設定されたタイミングにしたがって、下りデータ72、上りデータ73、上りACK74および当該周期の繰り返しのデータ75〜78の送受信が行われる。
図9は、MMCフレーム71の構成を示した説明図である。MMCフレーム71は、MACヘッダ情報174、HCS(ヘッダーチェックシーケンス)175、MMCペイロード情報176およびFCS(フレームチェックシーケンス)177を含む。
MACヘッダ情報174は、ビーコンフレームのMACヘッダ情報61と実質的に同一であるので説明を省略する。HCS175はMACヘッダ情報174のエラーを検出するために付加される情報である。
MMCペイロード情報176は、WUSBコード181、MMCコード182、次回MMC情報183、予約用情報184、タイムスタンプ情報185、WUSBホスト情報エレメント186およびWUSBチャネル時間割当エレメント187を含む。
WUSBコード181は、当該MMCフレーム71がワイヤレスUSBのフレームであることを示すコードである。MMCコード182は、当該フレーム71がMMCフレームであることを示すコードである。次回MMC情報183は、次に送信されるMMCフレームまでの時間を示す情報である。
予約用情報(Reserved)184は、将来の拡張のために用意された情報を追加するための空間である。タイムスタンプ情報(WUSB Time Stamp)185は、詳細については図10を参照して説明するが、ワイヤレスUSBの同期時間を示す情報である。WUSBホスト情報エレメント186(WUSB Host Information IE)は、ワイヤレスUSBのホスト側を識別するためのホスト識別子である。WUSBチャネル時間割当エレメント187(WUSB Channel Time Allocation IE)は、MAS内の時分割多重アクセス制御時間が記載された情報である。なお、上記の各情報は、必要や目的応じて追加、削除することとしてもよい。
図10は、ワイヤレスUSBにおけるタイムスタンプ情報を用いた時間同期の方法を示した説明図である。図10では、USBホスト20とUSBデバイス30とが、デバイスワイヤーアダプタ(DWA:Device Wire Adapter)40とホストワイヤーアダプタ(HWA:Host Wire Adapter)60とを介して通信を行う場合の時間同期の方法を示している。なお、デバイスワイヤーアダプタ40としての動作は、無線中継装置10のデバイスワイヤーアダプタモード12で動作する制御部130が実行することもできる。また、ホストワイヤーアダプタ60としての動作は、無線中継装置10のホストワイヤーアダプタモード16で動作する制御部130が実行することもできる。
USBホスト20は、所定の時間間隔でスタートオブフレーム200を生成し、該スタートオブフレーム200をUSBケーブルを介してホストワイヤーアダプタ60へ送信する。したがって、USBケーブルで接続される全ての装置は、該スタートオブフレーム200が送信された時刻を基準に同期をとることができる。
ホストワイヤーアダプタ60は、USBホスト20から受信したスタートオブフレーム200の時刻を記憶しておく。そして、ホストワイヤーアダプタ60は、MMCフレームを無線送信する際に、無線送信しようとする時刻と、記憶している時刻との差分を、タイムスタンプ情報としてMMCフレーム210に記載する。そして、タイムスタンプ情報が記載されたMMCフレーム210をデバイスワイヤーアダプタ40に送信する。
デバイスワイヤーアダプタ40は、タイムスタンプ情報が記載されたMMCフレーム210を受信すると、MMCフレーム210からタイムスタンプ情報を取得する。そして、スタートオブフレームの周期からタイムスタンプ情報の示す時間を減じ、次回USBホスト20が送信するであろうスタートオブフレーム201の時刻を算出する。次いで、デバイスワイヤーアダプタ40は、この算出した時刻にUSBケーブルを介してUSBデバイス30にスタートオブフレーム221を送信する。
以降、USBホスト20は所定周期でスタートオブフレーム202〜206を送信し、デバイスワイヤーアダプタ40は、スタートオブフレーム202〜206に同期するようにスタートオブフレーム222〜226をUSBデバイス30に送信する。
USBデバイス30は、このように、デバイスワイヤーアダプタ40からスタートオブフレーム221〜226を受信し、該受信時刻を基準にすることによって、USBホスト20と同期をとることができる。
図5を参照して無線中継装置10の構成の説明に戻ると、ビーコン生成部140は、周囲のワイヤレスUSB対応機器24に報知するためのビーコンを生成する。本実施形態におけるビーコン生成部140は、生成するビーコンに無線中継装置10の属性情報、例えば制御部130の動作モードを記載することを特徴とする。
かかる構成により、無線中継装置10は、周囲のワイヤレスUSB対応機器24と煩雑なコマンドのやり取りをすることなく、単にビーコンを送受信するのみで、属性情報を相互に交換することができる。
次に、上述した無線中継装置10を適用したワイヤレスUSBシステムの構成と動作を、図11〜図23を参照して説明する。
図11は、本実施形態にかかる無線中継装置10を適用した無線通信システムとしてのワイヤレスUSBシステム1の構成例を示した説明図である。図12は、ワイヤレスUSBシステム1の動作を示したタイミングチャートである。
図11に示したように、ワイヤレスUSBシステム1は、無線中継装置10と、無線中継装置10とUSBケーブルを介して接続されるUSBホスト20と、無線中継装置10と無線通信を行うデバイスワイヤーアダプタ40と、デバイスワイヤーアダプタ40とUSBケーブルを介して接続されるUSBデバイス30とを備える。
このようなワイヤレスUSBシステム1は、図12に示したように動作する。すなわち、無線中継装置10とUSBホスト20とがUSBケーブルを介して接続されると(S300)、無線中継装置10はUSBホスト20の属性情報を含むディスクリプタを獲得する(S304)。そして、無線中継装置10は、USBケーブルを介してUSBホストと接続されているため、ホストワイヤーアダプタモードで、ホストワイヤーアダプタとして動作する(S308)。図11では、有効化している動作モード以外を網掛けで示している。
次いで、無線中継装置10は、自己がホストワイヤーアダプタとして動作する旨を、ディスクリプタによりUSBホスト20に通知する(S312)。続いて、無線中継装置10は、ビーコンをデバイスワイヤーアダプタ40に送信する(S316)。なお、該ビーコンには、無線中継装置10がホストワイヤーアダプタとして動作していることを示す属性情報が含まれる。また、無線中継装置10は、デバイスワイヤーアダプタ40から、デバイスワイヤーアダプタ40の属性情報を含むビーコンを受信する(S320)。
そして、USBホスト20がスタートオブフレームを無線中継装置10に送信する(S324)。続いて、無線中継装置10は、タイムスタンプ情報を含むMMCフレームをデバイスワイヤーアダプタ40に送信する(S328)。次いで、デバイスワイヤーアダプタ40は、該MMCフレームのタイムスタンプ情報に基づいて、スタートオブフレームをUSBデバイス30に送信する(S332)。こうして、USBデバイス30とUSBホスト20との同期がとられる。
図13は、本実施形態にかかる無線中継装置10を適用したワイヤレスUSBシステム2の他の構成例を示した説明図である。図14は、ワイヤレスUSBシステム2の動作を示したタイミングチャートである。
図13に示したように、ワイヤレスUSBシステム2は、無線中継装置10と、無線中継装置10とUSBケーブルを介して接続されるUSBホスト20と、無線中継装置10と無線通信を行うワイヤレスUSBデバイス50とを備える。
このようなワイヤレスUSBシステム2は、図14に示したように動作する。すなわち、
無線中継装置10とUSBホスト20とがUSBケーブルを介して接続されると(S350)、無線中継装置10はUSBホスト20の属性情報を含むディスクリプタを獲得する(S354)。そして、無線中継装置10は、USBケーブルを介してUSBホストと接続されているため、制御部がホストワイヤーアダプタモードで動作し、無線中継装置10はホストワイヤーアダプタとして動作する(S358)。
次いで、無線中継装置10は、自己がホストワイヤーアダプタとして動作する旨を、ディスクリプタによりUSBホスト20に通知する(S362)。続いて、無線中継装置10は、ビーコンをワイヤレスUSBデバイス50に送信する(S366)。なお、該ビーコンには、無線中継装置10がホストワイヤーアダプタとして動作していることを示す属性情報が含まれる。また、無線中継装置10は、ワイヤレスUSBデバイス50から、ワイヤレスUSBデバイス50の属性情報を含むビーコンを受信する(S370)。
そして、USBホスト20がスタートオブフレームを無線中継装置10に送信する(S374)。続いて、無線中継装置10は、タイムスタンプ情報を含むMMCフレームをワイヤレスUSBデバイス50に送信する(S378)。次いで、ワイヤレスUSBデバイス50は、該MMCフレームのタイムスタンプ情報に基づいて、スタートオブフレームの時間を管理する(S382)。
図15は、本実施形態にかかる無線中継装置10を適用したワイヤレスUSBシステム3の他の構成例を示した説明図である。図16は、ワイヤレスUSBシステム3の動作を示したタイミングチャートである。
図15に示したように、ワイヤレスUSBシステム3は、無線中継装置10と、無線中継装置10とUSBケーブルを介して接続されるUSBデバイス30Aと、無線中継装置10と無線通信を行うデバイスワイヤーアダプタ40と、デバイスワイヤーアダプタ40とUSBケーブルを介して接続されるUSBデバイス30Bとを備える。
このようなワイヤレスUSBシステム3は、図16に示したように動作する。すなわち、
無線中継装置10は、デバイスワイヤーアダプタ40から、属性情報を含むビーコンを受信し、通信相手がデバイス側機能を有することを認識する(S400)。そして、無線中継装置10とUSBデバイス30AとがUSBケーブルを介して接続されると(S404)、無線中継装置10はUSBデバイス30Aの属性情報を含むディスクリプタを獲得する(S408)。そして、無線中継装置10は、受信した属性情報に基づき、ワイヤレスUSBシステム3にホスト機能を備える機器が存在しないと判断し、自己がワイヤレスUSBホストモードでワイヤレスUSBホストとして動作する(S412)。
次いで、無線中継装置10は、自己がワイヤレスUSBホストとして動作する旨を、ディスクリプタによりUSBデバイス30Aに通知する(S416)。続いて、無線中継装置10は、ビーコンをデバイスワイヤーアダプタ40に送信する(S420)。なお、該ビーコンには、無線中継装置10がワイヤレスUSBホストとして動作していることを示す属性情報が含まれる。
そして、無線中継装置10は、スタートオブフレーム(SOF)を生成し(S424)、USBデバイス30Aに該スタートオブフレームを送信する(S428)。続いて、無線中継装置10は、タイムスタンプ情報を含むMMCフレームをデバイスワイヤーアダプタ40に送信する(S432)。次いで、デバイスワイヤーアダプタ40は、該MMCフレームのタイムスタンプ情報に基づいて、スタートオブフレームをUSBデバイス30に送信する(S436)。このようにして、ワイヤレスUSBシステム3にUSBホストあるいはワイヤレスUSBホスト70が存在しない場合でも、USBデバイス30AとUSBデバイス30Aとが同期をとって無線通信を行うことができる。
なお、無線中継装置10がワイヤレスUSBホストモードで動作している間に、USBホストあるいはワイヤレスUSBホストがワイヤレスUSBシステム3に参入した場合、無線中継装置10はデバイスワイヤーモードに動作を切替える。かかる構成により、上記参入したUSBホストあるいはワイヤレスUSBホストが、ワイヤレスUSBシステム3において、より高度なホストとしての制御を行うことができる。
図17は、本実施形態にかかる無線中継装置10を適用したワイヤレスUSBシステム4の他の構成例を示した説明図である。図18は、ワイヤレスUSBシステム4の動作を示したタイミングチャートである。
図17に示したように、ワイヤレスUSBシステム4は、無線中継装置10と、無線中継装置10とUSBケーブルを介して接続されるUSBデバイス30と、無線中継装置10と無線通信を行うワイヤレスUSBデバイス50とを備える。
このようなワイヤレスUSBシステム4は、図18に示したように動作する。すなわち、
無線中継装置10は、ワイヤレスUSBデバイス50から、属性情報を含むビーコンを受信し、通信相手がデバイス側機能を有することを認識する(S450)。そして、無線中継装置10とUSBデバイス30とがUSBケーブルを介して接続されると(S454)、無線中継装置10はUSBデバイス30の属性情報を含むディスクリプタを獲得する(S458)。そして、無線中継装置10は、受信した属性情報に基づき、ワイヤレスUSBシステム4にホスト機能を備える機器が存在しないと判断し、自己がワイヤレスUSBホストとして動作する(S462)。
次いで、無線中継装置10は、自己がワイヤレスUSBホストとして動作する旨を、ディスクリプタによりUSBデバイス30に通知する(S466)。続いて、無線中継装置10は、ビーコンをワイヤレスUSBデバイス50に送信する(S470)。なお、該ビーコンには、無線中継装置10がワイヤレスUSBホストとして動作していることを示す属性情報が含まれる。
そして、無線中継装置10は、スタートオブフレーム(SOF)を生成し(S474)、USBデバイス30に該スタートオブフレームを送信する(S478)。続いて、無線中継装置10は、タイムスタンプ情報を含むMMCフレームをワイヤレスUSBデバイス50に送信する(S482)。そして、ワイヤレスUSBデバイス50は、受信したMMCフレームに含まれるタイムスタンプ情報に基づき、内部でスタートオブフレームの時刻を管理する(S486)。このようにして、ワイヤレスUSBシステム4にUSBホストあるいはワイヤレスUSBホスト70が存在しない場合でも、USBデバイス30とワイヤレスUSBデバイス50とが同期をとって無線通信を行うことができる。
なお、無線中継装置10がワイヤレスUSBホストモードで動作している間に、USBホストあるいはワイヤレスUSBホストがワイヤレスUSBシステム4に参入した場合、無線中継装置10はデバイスワイヤーモードに動作を切替える。かかる構成により、上記参入したUSBホストあるいはワイヤレスUSBホストが、ワイヤレスUSBシステム4において、より高度なホストとしての制御を行うことができる。
図19は、本実施形態にかかる無線中継装置10を適用したワイヤレスUSBシステム5の他の構成例を示した説明図である。図20は、ワイヤレスUSBシステム5の動作を示したタイミングチャートである。
図19に示したように、ワイヤレスUSBシステム5は、無線中継装置10と、無線中継装置10とUSBケーブルを介して接続されるUSBデバイス30と、無線中継装置10と無線通信を行うホストワイヤーアダプタ60と、ホストワイヤーアダプタ60とUSBケーブルを介して接続されるUSBホスト20とを備える。
このようなワイヤレスUSBシステム5は、図20に示したように動作する。すなわち、無線中継装置10は、ホストワイヤーアダプタ60から、ホストワイヤーアダプタ60の属性情報を含むビーコンを受信する(S500)。そして、無線中継装置10は、ホストワイヤーアダプタ60に対してビーコンを送信する(S504)。ただし、無線中継装置10の動作モードは未確定状態であるため、送信するビーコンに属性情報は含まれない。
そして、無線中継装置10とUSBデバイス30とがUSBケーブルを介して接続されると(S508)、無線中継装置10はUSBデバイス30の属性情報を含むディスクリプタを獲得する(S512)。そして、無線中継装置10は、USBケーブルを介してUSBデバイス30と接続され、無線通信先にUSBホスト20が存在するため、デバイスワイヤーアダプタモードで、デバイスワイヤーアダプタとして動作する(S516)。
次いで、無線中継装置10は、自己がデバイスワイヤーアダプタとして動作する旨を、ディスクリプタによりUSBデバイス30に通知する(S520)。続いて、USBホスト20が、ホストワイヤーアダプタ60にスタートオブフレームを送信する(S524)。次いで、ホストワイヤーアダプタ60は、タイムスタンプ情報を含むMMCフレームを無線中継装置10に送信する(S528)。
さらに、無線中継装置10は、上記MMCフレームのタイムスタンプ情報に基づいて、スタートオブフレームをUSBデバイス30に送信する(S536)。こうして、USBデバイス30とUSBホスト20との同期がとられる。
図21は、本実施形態にかかる無線中継装置10を適用したワイヤレスUSBシステム6の他の構成例を示した説明図である。図22は、ワイヤレスUSBシステム6の動作を示したタイミングチャートである。
図21に示したように、ワイヤレスUSBシステム6は、無線中継装置10と、無線中継装置10とUSBケーブルを介して接続されるUSBデバイス30と、無線中継装置10と無線通信を行うワイヤレスUSBホスト70とを備える。
このようなワイヤレスUSBシステム6は、図22に示したように動作する。すなわち、無線中継装置10は、ワイヤレスUSBホスト70から、ワイヤレスUSBホスト70の属性情報を含むビーコンを受信する(S550)。そして、無線中継装置10は、ワイヤレスUSBホスト70に対してビーコンを送信する(S554)。ただし、無線中継装置10の動作モードは未確定状態であるため、送信するビーコンに属性情報は含まれない。
そして、無線中継装置10とUSBデバイス30とがUSBケーブルを介して接続されると(S558)、無線中継装置10はUSBデバイス30の属性情報を含むディスクリプタを獲得する(S562)。そして、無線中継装置10は、USBケーブルを介してUSBデバイス30と接続され、無線通信先にワイヤレスUSBホスト60が存在するため、デバイスワイヤーアダプタモードで、デバイスワイヤーアダプタとして動作する(S566)。
次いで、無線中継装置10は、自己がデバイスワイヤーアダプタとして動作する旨を、ディスクリプタによりUSBデバイス30に通知する(S570)。続いて、ワイヤレスUSBホスト70が、タイムスタンプ情報を含むMMCフレームを無線中継装置10に送信する(S574)。
さらに、無線中継装置10は、上記MMCフレームのタイムスタンプ情報に基づいて、スタートオブフレームを時間管理し(S578)、USBデバイス30に送信する(S582)。こうして、USBデバイス30とワイヤレスUSBホスト70との同期がとられる。
次に、無線中継装置10の無線通信のエリア内(電波到達範囲内)に、ホスト機能を備える装置が複数存在した場合の処理を図23を参照して説明する。
図23は、本実施形態にかかる無線中継装置10を適用したワイヤレスUSBシステム7の動作を説明するタイミングチャートである。ワイヤレスUSBシステム7は、無線中継装置10と、無線中継装置とUSBケーブルを介して接続されたUSBデバイス30と、無線中継装置の電波到達範囲内に存在するワイヤレスUSBホスト70AおよびワイヤレスUSBホスト70Bとを含む。
まず、無線中継装置10は、ワイヤレスUSBホスト70AおよびワイヤレスUSBホスト70Bのそれぞれから、属性情報を含むビーコンを受信する(S600、S604)。無線中継装置10は、この時点で周囲に複数のホスト側として動作するホスト側装置が複数存在することを把握する。
そして、無線中継装置10とUSBデバイス30とがUSBケーブルを介して接続されると(S608)、無線中継装置10はUSBデバイス30の属性情報を含むディスクリプタを獲得する(S612)。そして、無線中継装置10は、周囲にホスト側装置が存在し、また、デバイス側であるUSBデバイス30と接続されているため、デバイスワイヤーアダプタモードでデバイスワイヤーアダプタとして動作する(S616)。次いで、無線中継装置10は、自己がデバイスワイヤーアダプタとして動作する旨を、ディスクリプタによりUSBデバイス30に通知する(S620)。
その後、無線中継装置10は、USBデバイス30から無線通信を確立するホスト側装置の接続先を示す接続先情報を獲得する(S624)。接続先情報として、例えば、ホスト側装置のMACアドレスやホスト識別情報(CHID)などがあげられる。そして、無線中継装置10の制御部130が、該接続先情報に基づいて無線接続するホスト側装置を判断する(S628)。この後、無線中継装置10は、無線接続すべきと判断されたワイヤレスUSBホスト70AまたはワイヤレスUSBホスト70Bと、USBデバイス30との無線通信を中継するよう動作する。そして、無線中継装置10は、自己のビーコン期間が到来すると、デバイスワイヤーアダプタとして動作している旨を示す属性情報を含むビーコンを周囲に送信する(S632、S636)。
なお、図23においては、ワイヤレスUSBホスト70AおよびワイヤレスUSBホスト70Bがビーコンを受信するタイミングをずらして示しているが、実際にはほぼ同時である。また、各ワイヤレスUSB対応機器は、ビーコン期間が到来すればビーコンを送信するようにしてもよいが、本願におけるタイミングチャート図では、図面の明瞭性の観点からビーコン送信の一部を抽出して示している。
このように、無線中継装置10の無線通信の電波到達範囲内に、複数のホスト側装置が存在する場合、USBデバイス30から無線接続すべきホスト側装置を特定する情報を獲得することで、特定のホスト側装置とUSBデバイス30との無線通信の中継が実現される。
次に、本実施形態にかかる無線中継装置10の動作の流れを図24を参照して説明する。
図24は、本実施形態にかかる無線中継装置10の動作の流れを示したフローチャートである。無線中継装置10は、所定のビーコンスキャン(Beacon Scan)処理を行ない、無線接続先の有無を検索する(S701)。ここで、無線中継装置10は、既存のビーコン期間(Beacon Period)が存在していれば(S702)、その空きビーコンスロット(Beacon Slot)を判定し(S703)、その空きスロットの1つを自己のビーコン送信スロットとして設定する(S704)。また、無線中継装置10は、ビーコン期間が存在しなければ、任意のタイミングをビーコン期間の先頭としてビーコン送信スロットを設定する(S704)。
続いて、無線中継装置10は、現在がスーパーフレーム周期のうちのビーコン期間であるか否かを判断する(S705)。無線中継装置10は、現在がビーコン期間であると判断した場合、ビーコン信号の受信処理を行なう(S706)。そして、無線中継装置10は、自己のビーコン送信スロットが到来した場合に(S707)、ビーコンを周囲に送信する(S708)。すなわち、ビーコン期間で自己の送信スロット以外では、周囲の通信装置からのビーコンを受信する。
無線中継装置10は、S705において、現在がスーパーフレーム周期のうちのビーコン期間でないと判断した場合、新規ビーコンの存在を検出すれば(S709)、該新規ビーコンを送信しているワイヤレスUSB対応機器(相手機器)の属性情報を獲得する(S710)。そして、例えば、上記属性情報や、ワイヤレスUSB対応機器がマイクロスケジュールマネジメントコマンド(MMC)を送信する状態にあるか否かなどに基づいて、ワイヤレスUSB対応機器がホスト側として動作していると判断されれば(S711)、無線中継装置10は、自己の動作モードを、デバイスワイヤーアダプタモードとして動作するように設定する(S712)。
また、無線中継装置10は、USBケーブルを介してUSB対応機器と接続されていることを検出していれば(S713)、USB対応機器(接続機器)の属性情報を、例えば、デバイスディスクリプタ情報の交換などによって獲得する(S714)。そして、USB対応機器がワイヤレスUSBホストとして動作する属性があれば(S715)、USB対応機器をワイヤレスUSBのホストとして機能させるために、無線中継装置10は、自己の動作モードをホストワイヤーアダプタ(HWA)として動作するように設定する(S716)。
一方、上記USB対応機器および上記ワイヤレスUSB対応機器が共にホスト側として動作する属性でなければ(S717)、無線中継装置10は、自己がワイヤレスUSBホストとして動作するように設定する(S718)。このようにして無線中継装置10の動作モードが設定されるが、一旦設定された動作モードも、周囲の接続状況の変化によって適宜変更可能なように構成することができる。
ここで、無線中継装置10がワイヤレスUSBホストモードで動作している場合には(S719)、所定の周期でスタートオブフレーム(SOF)のタイミングを生成し(S720)、マイクロスケジュールマネジメントコマンド(MMC)に記載するデバイスごとのアクセス時間をチャネルタイムアロケーション(CTA)として割当てておく(S721)。
また、無線中継装置10がホストワイヤーアダプタモードで動作している場合には(S722)、USBケーブルを介してUSBホストからスタートオブフレームを受信する(S723)。また、無線中継装置10は、さらに別途USBホストから送られてくる、MMCに記載されたCTAのパラメータを取得する(S724)。
そして、無線中継装置10がワイヤレスUSBホストモードまたはホストワイヤーアダプタモードで動作しており、MMCの送信タイミングが到来した場合に(S725)、現在とスタートオブフレームとの時間差をタイムスタンプ情報として記載し(S726)、MMCを送信する(S727)。
また、無線中継装置10がデバイスワイヤーアダプタモードで動作している場合には(S728)、ホストワイヤーアダプタ(HWA)もしくはワイヤレスUSBホストから送られてくるMMCに記載されたタイムスタンプ情報を獲得する(S729)。そして、無線中継装置10は、上記タイムスタンプ情報に基づいて次のスタートオブフレームのタイミングを特定し、スタートオブフレームを送信する(S730)。
なお、これら一連の動作を終了後は、それぞれS705に戻る構成となっており、無線中継装置10の設定が切り替わった場合でも、その最新の状態に応じて処理が行なわれる構成になっている。
以上説明したように、本実施形態にかかる無線中継装置10によれば、周囲のワイヤレスUSB対応機器と煩雑なコマンドのやり取りを経ず、単にビーコンを送受信するのみで周囲のワイヤレスUSB対応機器がデバイス側またはホスト側として動作しているかを把握することができる。同様に、周囲のワイヤレスUSB対応機器も、無線中継装置10と煩雑なコマンドのやり取りを経ず、単にビーコンを送受信するのみで無線中継装置10がデバイス側またはホスト側として動作しているかを把握することができる。
また、無線中継装置10の周囲にホスト機能を備える装置が存在しない場合には、無線中継装置10が簡易なホストとして機能することにより、ワイヤレスUSBシステムを有効化することができる。すなわち、本実施形態にかかる無線中継装置10は、本来のホスト(USBホスト、ワイヤレスUSBホスト)が存在しなくとも、デバイス側の装置同士をワイヤレスUSB接続することができる。そして、無線中継装置10の周囲に本来のホストが発見された場合には、無線中継装置10はデバイスワイヤーアダプタとして動作する。したがって、本来のホストにより、無線中継装置10と比較して高度なホストとしての制御が実現される。
また、上述のような無線中継方法を情報処理装置に行わせるプログラムおよびそのプログラムを記憶した記憶媒体も提供される。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態では、無線中継装置10がUSBケーブルを介して一のUSB対応機器とのみ接続される場合を説明したが、本発明はかかる例に限定されない。例えば、無線中継装置10は、USBケーブルを介して複数のUSBデバイスと接続されるようにしてもよい。また、無線中継装置10は、複数のワイヤレスUSB対応機器と無線通信するように構成してもよい。
また、無線中継装置10は、デバイスワイヤーアダプタモード、ワイヤレスUSBホストモードおよびホストワイヤーアダプタモードを有する必要は無く、これらのうちいずれか、あるいは2つの動作モードを有するようにしてもよい。
また、本明細書のデータ記録装置の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むとしてもよい。