JP4432385B2 - データ中継システム - Google Patents
データ中継システム Download PDFInfo
- Publication number
- JP4432385B2 JP4432385B2 JP2003202371A JP2003202371A JP4432385B2 JP 4432385 B2 JP4432385 B2 JP 4432385B2 JP 2003202371 A JP2003202371 A JP 2003202371A JP 2003202371 A JP2003202371 A JP 2003202371A JP 4432385 B2 JP4432385 B2 JP 4432385B2
- Authority
- JP
- Japan
- Prior art keywords
- usb
- data
- wireless communication
- relay
- wireless
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明はデータ中継システムに関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータにキーボードやマウスなどの周辺機器を接続したり、プリンタにディジタルカメラを接続したりするためのシリアルインタフェース規格としてUSB(Universal Serial Bus)が広く普及している。USBはRS−232C等のそれまで広く利用されていたシリアルインタフェース規格に比べて高速であり、またプラグアンドプレイに対応しているため使い勝手がよいなどの利点がある。
【0003】
また、無線LANカードやPHS通信カードのようにパーソナルコンピュータで無線通信を可能にするカードが一般に知られている。こうしたカードによると、無線通信に対応していないパーソナルコンピュータなどの機器を無線通信に対応させることができる。
【0004】
【発明が解決しようとする課題】
しかしながら、USBではUSBホストとUSBデバイスとがUSBケーブルにより有線接続される。このためUSBホストとUSBデバイスとを接続している間はUSBホスト又はUSBデバイスを持ち運べる範囲が制限され、ユーザにとって利便性が悪いという問題がある。また、通信を行っている途中でつまずいてUSBケーブルが引き抜かれてしまうなどの事故が起きる可能性もある。
【0005】
また、無線LANカードやPHS通信カードなどのカードの場合、装着しただけで直ぐに無線通信が可能になるわけではなく、当該カードに付属するデバイスドライバをインストールする作業が必要となる。このため、無線通信が可能になるまでに手間と時間がかかるという問題がある。通信相手が無線通信に対応していなければ、相手先に対する作業の手間も生じる。また、パーソナルコンピュータなどの構成を変更することになるため、借用しているものであれば自由に構成を変更することができず、結果として無線通信をあきらめざるを得ないような場合もあり得る。また、USBには対応しているものの無線LANカードなどを拡張できないものもあり、そうした場合は無線接続が不可能である。
【0006】
本発明は、かかる問題に鑑みて創作されたものであって、USBホストとUSBデバイスとを容易に無線接続できるデータ中継システムを提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るデータ中継システムは、USBデバイスに接続するための一台の第一の中継装置とUSBホストに接続するための一台の第二の中継装置とを備え、前記第一の中継装置は、USBデバイスのアップストリームポートに接続するためのコネクタとUSBホストコントローラとを有する第一のUSB通信手段と、前記第二の中継装置とのみ無線通信を行う第一の無線通信手段と、前記第一のUSB通信手段から出力される送信対象データを前記第一の無線通信手段により前記第二の中継装置に転送し、前記第一の無線通信手段から出力される送信対象データを前記第一のUSB通信手段により前記USBデバイスに転送する第一の中継制御手段とを有し、前記第二の中継装置は、USBホストのダウンストリームポートに接続するためのコネクタを有する第二のUSB通信手段と、前記第一の中継装置とのみ無線通信を行う第二の無線通信手段と、前記第二のUSB通信手段から出力される送信対象データを前記第二の無線通信手段により前記第一の中継装置に転送し、前記第二の無線通信手段から出力される送信対象データを前記第二のUSB通信手段により前記USBホストに転送する第二の中継制御手段とを有することを特徴とする。このデータ中継システムによると、USBケーブルの一部を無線通信に置き換えることができる。このため、無線通信を行うための手段を備えないUSBデバイスとUSBホストとを、それらのハードウェア構成やプログラム構成を変更することなく無線接続できる。よってこのデータ中継システムによると、USBデバイスとUSBホストとを容易に無線接続できる。
【0008】
さらに本発明に係るデータ中継システムでは、前記第一の無線通信手段及び第二の無線通信手段は無線LANにより無線通信を行うことを特徴とする。一般に無線LANは10Mbps以上の高速なデータ送信が可能である。このため、USBデバイスとUSBホストとのデータ送受信を高速にできる。
さらに本発明に係るデータ中継システムでは、前記第一の中継制御手段は、前記USBデバイスに前記USBデバイスの固有情報を要求し、前記USBデバイスから送信された固有情報に基づいて前記第一のUSB通信手段の通信条件を設定するとともに、当該固有情報を前記第一の無線通信手段により前記第二の中継制御手段に転送し、前記第二の中継制御手段は、前記USBホストから固有情報を要求されたとき、前記USBデバイスの固有情報を転送することを特徴とする。このデータ中継システムによると、USBホストと第二の中継装置との間の通信条件をUSBデバイスの固有情報に基づいて設定できるため、無線接続できるUSBデバイスが限定されない。
【0009】
上記目的を達成するため、本発明に係るデータ中継システムは、USBデバイスに接続するための一台の第一の中継装置とUSBホストに接続するための一台の第二の中継装置とを備え、前記第一の中継装置は、USBデバイスのアップストリームポートに接続するためのコネクタとUSBホストコントローラとを有する第一のUSB通信手段と、前記第二の中継装置とのみ無線通信を行う第一の無線通信手段と、前記第一のUSB通信手段から出力される全ての有意なデータを当該データの意味を解釈することなく前記第一の無線通信手段により前記第二の中継装置に転送し、前記第一の無線通信手段から出力される全ての有意なデータを当該データの意味を解釈することなく前記第一のUSB通信手段により前記USBデバイスに転送する第一の中継制御手段とを有し、前記第二の中継装置は、USBホストのダウンストリームポートに接続するためのコネクタを有する第二のUSB通信手段と、前記第一の中継装置とのみ無線通信を行う第二の無線通信手段と、前記第二のUSB通信手段から出力される全ての有意なデータを当該データの意味を解釈することなく前記第二の無線通信手段により前記第一の中継装置に転送し、前記第二の無線通信手段から出力される全ての有意なデータを当該データの意味を解釈することなく前記第二のUSB通信手段により前記USBホストに転送する第二の中継制御手段とを有することを特徴とする。このデータ中継システムによると、第一の中継制御手段及び第二の中継制御手段はデータの意味を解釈しないため、第一の中継制御手段及び第二の中継制御手段の処理を簡素化できる。
【0010】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
また、本発明は装置の発明として特定できるだけでなく、プログラムの発明としても、そのプログラムを記録した記録媒体の発明としても、方法の発明としても特定することができる。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態を複数の実施例に基づいて説明する。
【0012】
(第一実施例)
図1は、本発明の第一実施例に係るデータ中継システムを示す模式図である。データ中継システムは第一の中継装置1と第二の中継装置2とで構成され、第一の中継装置1はUSBデバイス4に接続され、第二の中継装置2はUSBホスト3に接続される。図示する例ではUSBホスト3はディジタルカメラであり、USBデバイス4はプリンタである。
【0013】
図2は、データ中継システムのハードウェア構成を示すブロック図である。
第一の中継装置1は、第一の中継制御部11、第一の無線LANインタフェース12、第一のUSBバスインタフェース13、及び電源部14を備える。
第一の中継制御部11は、CPU11a、ワークメモリ11b、フラッシュROM11c、及びブートROM11dで構成される。第一の中継制御部11はフラッシュROM11cに記憶されている中継制御プログラムを実行することで第一の中継制御手段として機能する。フラッシュROM11cは中継制御プログラム、第一の中継装置1のIPアドレス、第二の中継装置2のIPアドレス、その他各種のプログラムやデータを予め記憶しているメモリである。これら各種のプログラムやデータは、USBを介して接続した相手装置から入力してもよいし、無線動作後のプログラムアップデートは、所定のサーバからネットワークを介してダウンロードして入力してもよい。ワークメモリ11bは各種のプログラムやデータを一時的に記憶するメモリである。また、ワークメモリ11bは送受信されるデータを一時的に記憶するバッファとしても用いられる。
【0014】
第一のUSB通信手段としての第一のUSBバスインタフェース13は、USB規格で規定されているUSBバスインタフェース層を実装したハードウェアであり、SIE(Serial Interface Engine)13bや図示しない複数のエンドポイントなどを備える。USBバスインタフェースの構成はUSBホスト側とUSBデバイス側とで異なる。第一の中継装置1はUSBホストとして機能するものであるためUSBホストコントローラ13aが設けられている。USBホストコントローラ13aはUSBバス上に一つだけ設けられ、物理的なデータ転送に関わる処理を制御する。例えばデータの送受信タイミングの制御やエラーリカバリの制御はUSBホストコントローラ13aによって行われる。第一のUSBバスインタフェース13は更にUSBデバイス4のアップストリームポート31に嵌合するためのコネクタ13cを備えている。コネクタ13cはUSBケーブルが備える一般にB型プラグと呼ばれる形状のコネクタである。B型プラグは本来はUSBケーブルのUSBデバイスに接続される側の端部に設けられるものであるが、第一の中継装置1は第一のUSBバスインタフェース13にコネクタ13cを設けることでUSBケーブルを介することなくUSBデバイス4に接続される。尚、USBデバイス4と第一のUSBバスインタフェース13との間をUSBケーブルで接続するようにしてもよい。また、コネクタ13cは目的に応じてミニサイズのものや特定のUSBデバイスにのみ接続可能な形状のものであっても構わない。
【0015】
第一の無線通信手段としての第一の無線LANインタフェース12は、無線LAN(Local Area Network)の国際規格であるIEEE802.11に準拠して実装されたハードウェアである。LANによる通信ではIPアドレスによって特定される相手と通信が行われる。第一の中継装置1の無線通信プロセス52(図3参照)は通信相手のIPアドレスとして第二の中継装置2のIPアドレスが固定されており、第一の無線LANインタフェース12は無線通信プロセス52に制御されることによって第二の無線LANインタフェース22とのみ通信を行う。無線LANは一般に10Mbps以上の高速通信が可能なため、第一の無線通信手段を無線LANインタフェースとして構成すると、USBデバイス4とUSBホスト3とのデータ送受信を高速にできる。尚、第一の無線LANインタフェース12は例えばBluetoothやウルトラワイドバンド(UWB)応用プロトコルなどの他の無線通信規格に準拠して構成してもよい。
【0016】
電源部14は電池や電源回路などを備え、上述した各部に電力を供給する。尚、特別にUSBデバイス4から電源の供給を受けるようにしてもよく、その場合は電源部14は不要である。
第二の中継装置2は、第二の中継制御部21、第二のUSBバスインタフェース23、及び第二の無線LANインタフェース22を備える。
【0017】
第二のUSB通信手段としての第二のUSBバスインタフェース23は、USB規格で規定されているUSBバスインタフェース層を実装したハードウェアであり、SIE(Serial Interface Engine)23aや図示しない複数のエンドポイントなどを備える。第二の中継装置2はUSBデバイスとして機能するものであるためUSBホストコントローラは設けられていない。第二のUSBバスインタフェース23は更にUSBホスト3のダウンストリームポート41に嵌合するためのコネクタ23bを備えている。コネクタ23bはUSBケーブルが備える一般にA型プラグと呼ばれる形状のコネクタである。A型プラグは本来はUSBケーブルのUSBホストに接続される側の端部に設けられるものであるが、第二の中継装置2は第二のUSBバスインタフェース23にコネクタ23bを設けることでUSBケーブルを介することなくUSBホスト3に接続される。尚、コネクタ23bは目的に応じてミニサイズのものや特定のUSBデバイスにのみ接続可能な形状のものであっても構わない。
【0018】
第二の中継制御手段としての第二の中継制御部21、及び第二の無線通信手段としての第二の無線LANインタフェース22の構成は第一の中継装置1と同一であるため説明は省略する。また、第二の中継装置2はUSBホスト3から電源の供給を受けるため電池などの電源は備えていない。尚、用途に応じて電源部を設けても構わない。
【0019】
図3は、第一実施例の中継制御プログラムのデータフロー図である。中継制御プログラムは第一の中継装置1で実行される第一の中継制御プログラムと、第二の中継装置2で実行される第二の中継制御プログラムとで構成される。第一の中継制御プログラムは、第一のUSB通信プロセス51及び無線通信プロセス52を第一の中継制御部11に実行させ、第二の中継制御プログラムは第二のUSB通信プロセス53及び無線通信プロセス52を第二の中継制御部21に実行させる。
【0020】
第一のUSB通信プロセス51は、USBで規定されているUSBシステムソフトウェアとしてUSBプロトコルによる通信を制御するプロセスである。USBシステムソフトウェアは、USBデバイスとの接続を確立する処理、その上位層であるクライアントソフトウェアから出力される送信対象データを後述するデータパケットに分割してUSBバスインタフェースに出力する処理、USBバスインタフェースから出力されるデータパケットから送信対象データを組み立ててクライアントソフトウェアに出力する処理、USBホストコントローラを制御する処理などを実行するためのソフトウェアである。第一実施例ではクライアントソフトウェアに相当するプロセスは存在せず、無線通信プロセス52が第一のUSB通信プロセス51にとっての上位層に相当する。
【0021】
ここで送信対象データとは、USBデバイス4からUSBホスト3に、あるいはその逆に送信するデータのことをいう。例えばディジタルカメラからプリンタに印刷のためにディジタル画像を送信する場合であれば、ディジタル画像やそれに対する応答状態通知などは全て送信対象データに相当する。例えばUSBデバイスからUSBホストに送信対象データを送信する場合であれば、送信対象データはUSBデバイス側で分割されて複数のデータパケットに格納されて第一のUSBバスインタフェース13に出力され、そのデータパケットが第一のUSB通信プロセス51に出力される。
【0022】
第一実施例の第一のUSB通信プロセス51は、第一のUSBバスインタフェース13からデータパケットが出力された場合、当該データパケットから送信対象データを取り出し、取り出した送信対象データを後述する転送データに格納して第一の中継装置1の無線通信プロセス52に出力する。データパケットに格納できるデータ長は後述する転送モードによって異なるが、例えば64バイト格納できる。一方、無線パケットには2,312バイト格納できる。従って、第一のUSBバスインタフェース13から複数のデータパケットを受信するのを待ってそれら複数のデータパケットに格納されている送信対象データを一つの転送データに格納して無線通信プロセス52に出力することも可能である。ただし、第一実施例の第一のUSB通信プロセス51は第一のUSBバスインタフェース13から一つのデータパケットを受信する度に送信対象データを転送データに格納して無線通信プロセス52に出力する。逆に無線通信プロセス52から転送データが出力される毎に当該転送データから送信対象データを取り出してデータパケットに格納して第一のUSBバスインタフェース13に出力する。尚、第一のUSBバスインタフェース13から複数のデータパケットを受信する毎に一つの転送データを無線通信プロセス52に出力するようにした場合には、第一の中継装置1の無線通信プロセス52から出力された転送データに格納されている送信対象データを複数のデータパケットに分解して第一のUSBバスインタフェース13に出力することになる。この他、第一のUSB通信プロセス51は第一の中継装置1と第二の中継装置2との通信の制御なども行う。
【0023】
第二のUSB通信プロセス53は、USBで規定されているUSB論理デバイスとしてUSBプロトコルによる通信を制御するプロセスである。第二のUSB通信プロセス53も第一のUSB通信プロセス51と同様に第二のUSBバスインタフェース23と第二の無線LANインタフェース22との間で送信対象データを転送する。また、第一のUSB通信プロセス51と同様に第一の中継装置1と第二の中継装置2との通信の制御なども行う。
【0024】
無線通信プロセス52は、無線LANプロトコルで規定されている物理層より上位の層が実装されているプロセスであり、第一の無線LANインタフェース12及び第二の無線LANインタフェース22を制御するプロセスである。無線通信プロセス52は他方の中継装置から無線パケットを受信した場合、当該無線パケットに格納されている2,312バイトのデータのうち先頭の有意なデータのみを第一のUSB通信プロセス51又は第二のUSB通信プロセス53に出力する。また、第一のUSB通信プロセス51又は第二のUSB通信プロセス53から転送データ又は後述する通信制御データが出力されると、当該転送データ又は後述する通信制御データを無線パケットに格納して第一の無線LANインタフェース12又は第二の無線LANインタフェース22から無線送信する。
【0025】
次にデータ中継システムの作動について説明する。
図4は、データ中継システムの作動の流れを模式的に示すシーケンスチャートである。尚、図中の(a)は当該データが通信制御データであることを意味し、(b)は当該データが転送データであることを意味している。転送データ及び通信制御データについては後述する。
【0026】
S105では、第一の中継装置1と第二の中継装置2との無線接続を確立する。具体的には、第一の中継装置1の無線通信プロセス52は、電源が投入されて実行が開始されると始めに第一の無線LANインタフェース12のイニシャライズを行う。同様に第二の中継装置2の無線通信プロセス52は第二の無線LANインタフェース22のイニシャライズを行う。次に、IPアドレスで特定される相手との無線接続を周期的に試みる。電源が先に投入された側の中継装置の無線通信プロセス52は周期的に接続を問い合わせ、後で電源が投入された側の中継装置の無線通信プロセス52がその問い合わせに応答することで接続が開始され無線接続が確立される。
【0027】
S110では、USBデバイス4と第一の中継装置1との接続を確立する。具体的には、第一のUSB通信プロセス51はUSBデバイス4に当該USBデバイス4の固有情報の送信を要求し、受信した固有情報に基づいて接続を確立する。この固有情報には、デバイスディスクリプタ(クラス、ベンダID、製造社名、製品名など)、コンフィギュレーションディスクリプタ(インタフェースの数、電源利用形態など)、インタフェースディスクリプタ(インタフェースの識別番号、代替インタフェースの識別番号、クラス、サブクラス、プロトコルなど)、エンドポイントディスクリプタ(エンドポイント番号、転送タイプ、最大パケットサイズ、ポーリング間隔など)、及びストリングディスクリプタ(タイプ、ストリングなど)などの情報が含まれている。これらは全てUSBで規定されている情報であるため詳細な説明は省略する。接続の確立では、固有情報に基づいて通信条件の設定が行われる。
【0028】
通信条件の設定では、各転送モードにエンドポイントを割り当てる処理などが行われる。USBではデータは所定データ長に分割され、複数のパケットに格納されて送信される。パケットはエンドポイントと呼ばれるFIFOバッファを介して送受信される。エンドポイントは複数備えることができる。USBデバイス4に複数のエンドポイントがあるとき、第一のUSB通信プロセス51はUSBデバイス4の固有情報によりUSBデバイス4のエンドポイント番号を取得し、どのエンドポイントを転送に用いるかを決定する。例えば4番のエンドポイントを転送に用いるエンドポイントの一つとして決定した場合、USBデバイス4の4番のエンドポイントと第一のUSBバスインタフェース13の4番のエンドポイントとによりパイプと呼ばれる一方向の論理的な通信経路が確立される。尚、一つのパイプを双方向に用いることも可能である。USBにはバルク転送モード、アイソクロナス転送モード、インタラプト転送モード、及びコントロール転送モードの4つの転送モードが規定されており、どの転送モードで転送を行うかはUSBデバイス4の固有情報に基づいて決定される。USBでは複数の転送モードで送受信を行うことができ、複数の転送モードで送受信を行う場合、各転送モードに異なるパイプを割り当てる。これにより各転送モードにエンドポイントを割り当てる。例えばバルク転送用OUT転送には1番のエンドポイント、バルク転送用IN転送には2番のエンドポイントなどのように割り当てる。ここで”OUT転送”はUSBホストからUSBデバイスへの転送を意味し、”IN転送”はUSBデバイスからUSBホストへの転送を意味している。
【0029】
S115では、USBデバイス4の固有情報を第二のUSB通信プロセス53に送信する。これは、第二のUSBバスインタフェース23とUSBホスト3との間の論理的な通信条件が、第一のUSBバスインタフェース13とUSBデバイス4との間の論理的な通信条件と同じ通信条件に設定されるようにするためである。第一のUSB通信プロセス51は、固有情報を後述する通信制御データに格納して無線通信プロセス52に出力する。この情報は無線を介して第二のUSB通信プロセス53に出力する。
【0030】
S120では、第二のUSBバスインタフェース23とUSBホスト3との接続を確立する。第二のUSBバスインタフェース23とUSBホスト3との接続の確立は、第一の中継装置1から受信した固有情報に基づいて行われる。具体的には、第二のUSB通信プロセス53は、USBホスト3との接続の確立の際にUSBホスト3から固有情報を要求されると、第一の中継装置1から受信した固有情報をUSBホスト3に送信する。すなわち、USBホスト3に対してあたかもUSBデバイス4と直に接続の確立を行っているかのように見せかける。例えば第一のUSBバスインタフェース13とUSBデバイス4との間で転送モードとしてコントロール転送とバルク転送とが決定され、コントロール転送に一つのパイプが割り当てられ、バルク転送に2つのパイプが割り当てられたとする。この場合、同じ固有情報に基づいて設定を行うことにより第二のUSBバスインタフェース23とUSBホスト3との間でも転送モードとしてコントロール転送とバルク転送とが決定され、コントロール転送に一つのパイプが割り当てられ、バルク転送に2つのパイプが割り当てられることになる。すなわち、USBデバイス4とUSBホスト3とは直に接続を確立した場合の論理的な通信条件と同じ論理的な通信条件が設定されることになる。この結果USBデバイス4とUSBホスト3との間で通信条件の整合がとれ、両者間の通信が可能となる。
【0031】
S125では、第二の中継装置2のエンドポイントと第一の中継装置1のエンドポイントとの対応付けを行う。USB通信プロセスは第二の中継装置2のエンドポイントと、第一の中継装置1のエンドポイントとを無線上の論理リンク(無線論理リンク)に対応付けることによって間接的に対応付ける。具体的には、第一のUSB通信プロセス51はエンドポイントを一意に識別するためのエンドポイント番号、転送モード、データが流れる方向(データ方向)を制御情報として無線論理リンクに対応付け、それを第二の中継装置2に送信する。第二のUSB通信プロセス53は受信した制御情報と無線論理リンク番号とを第二のUSBバスインタフェース23のエンドポイントと対応付ける。これにより両者間で無線論理リンクを介してエンドポイントの対応付けが行われる。
【0032】
図5は無線論理リンクを介したエンドポイントの対応付けを説明するための模式図であり、図6は無線論理リンクを介して対応付けられたエンドポイントを表形式で示す模式図である。図5に示す例の場合、USBホストと第二の中継装置2との間のバルク転送用OUT転送に割り当てられた2番のエンドポイント(EP:2)は、図6に示すようにそのエンドポイント番号”2”が、転送モード”バルク転送”、データ方向”OUT”とともに無線論理リンクを一意に識別するための無線論理リンク番号”10”に対応付けられている。またUSBデバイス4と第一の中継装置1との間のバルク転送用OUT転送に割り当てられた1番のエンドポイント(EP:1)も同様にして無線論理リンク番号”10”に対応付けられている。この結果、USBホスト3のエンドポイント2とUSBデバイス4のエンドポイント1とが無線論理リンク(LC:10)を介して対応付けられる。この結果、例えばUSBホスト3の2番のバルク転送用OUT転送のエンドポイントに格納されたUSBパケットは常にUSBデバイス4の1番のバルク転送用OUT転送のエンドポイントに格納される等のように、USBホスト3とUSBデバイス4との間の仮想的なパイプが実現される。尚、無線論理リンクを介したエンドポイントの対応付けは無線通信プロセス52も参照可能に記憶されるものとする。
【0033】
S130では、ユーザは印刷を指示する。具体的には例えばユーザはディジタルカメラでディジタル画像を指定して印刷を指示する。尚、印刷指示をトリガーとしてVbus電源のON信号などを利用して図4のシーケンスを開始しても構わない。
S135では、ディジタルカメラは指定されたディジタル画像を送信対象データとし、分割して複数のデータパケットに格納して第二の中継装置2に出力する。
【0034】
S140では、第二のUSB通信プロセス53は、第二のUSBバスインタフェース23から出力されたパケットがデータパケットであるか否かを識別し、データパケットでなければUSBプロトコルに従ってUSBホスト3との間の通信制御を行う。一方、データパケットであれば、当該データパケットに格納されている送信対象データを取り出してエンドポイント番号と共に転送データを無線通信プロセス52に出力する。無線通信プロセス52は出力された全ての転送データをその意味を解釈することなく、エンドポイントに対応する無線論理リンク番号を転送データのヘッダに付して無線パケットとして第一の無線LANインタフェース12に出力する。尚、無線論理リンク番号を転送データのヘッダに格納する処理はUSB通信プロセスが行うようにしてもよい。
【0035】
S145では、第一の中継装置1の無線通信プロセス52は受信した無線パケットから転送データを取り出して第一のUSB通信プロセス51に出力する。第一のUSB通信プロセス51は、当該転送データに格納されている送信対象データを、当該転送データのヘッダ情報に格納されている無線論理リンク番号に対応するエンドポイントを指定して第一のUSBバスインタフェース13に出力する。これにより送信対象データがUSBホスト3からUSBデバイス4に送信される。
【0036】
S150〜S160では、応答状態通知を表す送信対象データをデータパケットに格納してUSBホスト3に送信する。
上述したS135〜S160までの処理を、ディジタル画像の送信が完了するまで必要な回数繰り返す。
S165では、プリンタは分割された送信対象データを全て、もしくは数行分を受信すると、その送信対象データに基づいてディジタル画像を印刷する。
【0037】
無線通信では電波の状況によって再送もあり得るため、上記の通信の過程で再送が生じた場合、第二の中継装置2の無線通信プロセス52は第二のUSB通信プロセス53に再送が終了するまでデータを出力しないよう通知し、第二のUSB通信プロセス53はその間に第二のUSBバスインタフェース23から出力されるデータをワークメモリ22bに格納すると共に、USBホスト3にビジー通知を行う。受信可能となるとそれを解除する。このため、無線通信で再送が生じたとしても、データが失われることなく正常な転送を行うことができる。このことは第一の中継装置1についても同様である。
【0038】
以上、中継制御プログラムの処理の流れについて説明した。次に、第一のUSB通信プロセス51と第二のUSB通信プロセス53との間で送受信されるデータについて説明する。
第一のUSB通信プロセス51と第二のUSB通信プロセス53との間で送受信されるデータには、送信対象データ、及び固有情報(USB接続制御情報)、並びにエンドポイントの対応付けを行うための制御情報や制御情報に対応付けられている無線論理リンク番号(アダプタ間制御コマンド)などがある。ここでアダプタとは第一の中継装置1及び第二の中継装置2のことをいう。USB通信プロセスは無線通信プロセス52からデータが出力されると、送信対象データの場合はデータパケットに格納してUSBバスインタフェースに出力し、USB接続制御情報やアダプタ間制御コマンドの場合は意味を解釈して必要な処理を行わなければならない。従って、USB通信プロセスは無線通信プロセス52から出力されたデータについて、そのデータの種別を識別する必要がある。このため、一方のUSB通信プロセスは、送信対象データ、USB接続制御情報、及びアダプタ間制御コマンドをそれぞれ所定のフォーマットのデータに格納して他方のUSB通信プロセスに出力し、それにより他方のUSB通信プロセスでデータを識別可能にしている。第一実施例では、USB接続制御情報及びアダプタ間制御コマンドは後述する通信制御データに格納され、送信対象データは後述する転送データに格納される。
【0039】
図7(a)は通信制御データのデータフォーマット(通信制御用フォーマット)を示す模式図であり、図7(b)は転送データのデータフォーマット(転送データ用フォーマット)を示す模式図である。
通信制御用フォーマットは、ヘッダ情報とUSB接続制御情報/無線アダプタ間制御コマンドフィールドとに大きく分かれている。ヘッダ情報は制御種別フィールド、トータル情報長フィールド、コマンド種別フィールド、データ種別フィールド、及び予約エリアフィールドで構成される。制御種別フィールドは当該情報が制御用であることを明示するためのフィールドである。トータル情報長フィールドは当該情報のデータ長が格納されるフィールドである。コマンド種別フィールドは後述するUSB接続制御情報/無線アダプタ間制御コマンドフィールドに格納される情報がUSB接続制御情報であるかアダプタ間制御コマンドであるかを識別するための識別子が格納されるフィールドである。データ種別フィールドはUSB接続制御情報のどのディスクリプタ情報かといった情報やアダプタ間制御コマンドの種別などを判別するための識別子が格納されるフィールドである。予約エリアフィールドは将来の仕様変更に対応するために確保されているフィールドである。USB接続制御情報/無線アダプタ間制御コマンドフィールドは、USB接続制御情報又はアダプタ間制御コマンドのいずれか一方が格納されるフィールドである。
【0040】
転送データ用フォーマットは、ヘッダ情報とユーザデータフィールドとに大きく分かれている。ヘッダ情報はデータ種別フィールド、トータル情報長フィールド、転送タイプ、チャネル識別フィールド、及び予約エリアで構成される。データ種別フィールドは当該情報がデータ転送用であることを明示するための識別子が格納されるフィールドである。トータル情報長フィールドは当該情報のデータ長が格納されるフィールドである。転送タイプフィールドはUSBで設定されているバルク転送モードなどを表す識別子が格納されるフィールドである。このフィールドは優先制御の有/無などに利用される。チャネル識別フィールドは無線論理リンク番号とデータ方向とが格納されるフィールドである。例えば第一の中継装置1がUSBデバイス4からあるパイプを介してデータを受信したとすると、第一のUSB通信プロセス51は当該パイプに対応付けられたエンドポイント番号、転送モード、データ方向などの制御情報を無線通信プロセス52に渡す。これを受けた無線通信プロセス52は、対応する無線論理リンク番号を割り当てて第二の中継装置2の無線通信プロセス52に送信する。当該データを第二の中継装置2の無線通信プロセス52を介して受信した第二のUSB通信プロセス53は、チャネル識別フィールドに指定された無線論理リンク番号に対応付けるパイプを制御情報をもとにUSBホスト3との間で構築する。この結果、仮想的なパイプの連結によるデータの送受信が可能となる。ユーザデータフィールドは送信対象データが格納されるフィールドである。
【0041】
以上説明した本発明の第一実施例に係るデータ中継システムによると、USBホスト3とUSBデバイス4とは、ケーブルの一部が無線通信に置き換わっていることを一切意識することなく、USBケーブルで接続されている場合と全く同じように通信を行うことができる。このため、USBに対応している機器であれば任意の機器を特別な設定や構成の変更を行うことなく無線接続することができる。また、USBケーブルを接続する要領で無線接続ができるため、無線接続のために要する手間が小さい。よって第一実施例に係るデータ中継システムによると、USBホスト3とUSBデバイス4とを容易に無線接続できる。
【0042】
また、第一実施例に係るデータ中継システムによると、USBデバイス4やUSBホスト3の構成を変更する必要がないため、自由に構成を変更できない機器であっても、あるいは構成を変更することが物理的に不可能な機器であっても、ユーザは無線接続して利用できるという効果もある。
また、データ中継システムによると、USBホスト3と第二の中継装置2との間の通信条件をUSBデバイス4の固有情報に基づいて設定できる。USBホストと第二の中継装置2との間の通信条件をUSBデバイスの固有情報に基づいて設定できない場合、USBホストとUSBデバイスとが通信できるようにするためにはUSBホストと第二の中継装置との間の通信条件を特定のUSBデバイスの固有情報に基づいて予め設定しておく必要がある。この場合、無線接続できるUSBデバイスが特定のUSBデバイスに限定されてしまうことになる。USBホストと第二の中継装置2との間の通信条件をUSBデバイスの固有情報に基づいて設定できるようにすると、USBデバイスに応じて通信条件を設定できるため、無線接続できるUSBデバイスが限定されなくなる。
【0043】
(第二実施例)
第二実施例は、第一の中継装置と第二の中継装置とがUSBプロトコルを理解しない場合の例である。尚、第二実施例では第一実施例と実質的に同一の部分には同一の符号を付して説明を省略する。
第二実施例の第一のUSBバスインタフェースは、エンドポイントなどを備えず、電気的、物理的にUSBに対応しているのみである。第二実施例の第一のUSBバスインタフェースは例えばUSBホスト3からUSBパケットが送信されると、そのパケットそのものをディジタル表現のデータに変換してそのまま無線通信プロセス52に出力する。逆に無線通信プロセス52からディジタルデータが出力されるとUSBパケットに変換してUSBホスト3に出力する。第二のUSBバスインタフェースについても全く同じである。
【0044】
図8は、第二実施例の中継制御プログラムのデータフロー図である。第二実施例の第一の中継制御プログラムは、無線通信プロセス52を第一の中継制御部11に実行させ、第二の中継制御プログラムは無線通信プロセス52を第二の中継制御部21に実行させる。すなわち、第二実施例では第一のUSB通信プロセス51や第二のUSB通信プロセス53は実行されない。
【0045】
次に、データ中継システムの作動について説明する。
USBホスト3からUSBデバイス4へデータを送信する場合、USBホスト3はUSB接続制御情報や送信対象データをUSBパケットとして第二のUSBバスインタフェースに出力する。第二のUSBバスインタフェース23はUSBパケットを受信すると、ディジタルデータに変換して無線通信プロセス52に出力する。無線通信プロセス52はディジタルデータが出力されると、出力された全ての有意なデータについてそのデータの意味を解釈することなくそのまま送信対象のデータとして扱い、無線パケットに分解して第一の中継装置に無線送信する。ここで有意なデータとは、例えばエラーとなったデータ以外のデータをいう。例えばUSBホスト3から出力されたデータがエラーになった場合、エラーデータは第二のUSBバスインタフェース23で破棄される。この結果、無線通信プロセス52には有意なデータのみが出力されることになる。尚、有意なデータを含め全てのデータを出力するようにしてもよい。その場合、有意でないデータはUSBホスト3又はUSBデバイス4のいずれか受信する側の機器で破棄されることになる。第一の中継装置の無線通信プロセス52は受信した無線パケットからディジタルデータを組み立て、組み立てたディジタルデータをUSBパケットとして第一のUSBバスインタフェース13に出力する。第一のUSBバスインタフェース13は出力されたディジタルデータをUSBパケットに変換してUSBデバイス4に出力する。これによりUSBホスト3から送信された全てのUSBパケットがUSBデバイス4で受信されることになる。USBデバイス4からUSBホスト3への送信も同じである。
【0046】
すなわち、第二実施例のデータ中継システムは、USBケーブル上に流れる全てのUSBパケットを一方の中継装置でディジタルデータに変換して無線送信し、他方の中継装置で無線受信して再びUSBパケットに変換することにより、USBケーブルの一部を無線に置き換えるシステムである。第二実施例のデータ中継システムによると、例えばUSBホスト3から出力された全ての有意なパケットは加工が一切行われることなくそのままUSBデバイス4に送信される。この結果、USBホスト3とUSBデバイス4とは、USBケーブルの一部が無線通信に置き換わっていることを一切意識することなく、USBケーブルで接続されている場合と全く同じように通信を行うことができる。
【0047】
以上説明した本発明の第二実施例に係るデータ中継システムによると、第一のUSB通信プロセス51や第二のUSB通信プロセス53が不要になるため、第一実施例に係るデータ中継システムに比べ、第一の中継装置1及び第二の中継装置2の処理を簡素化できる。
尚、無線通信では電波の状況によって再送もあり得るため、無線通信の伝送速度はUSBの伝送速度の2倍以上であることが望ましい。第二実施例の第一の中継装置及び第二の中継装置はUSBパケットが出力されると直ぐにディジタルデータに変換して第一の無線LANインタフェース12又は第二の無線LANインタフェース22に出力する。このため無線通信の伝送速度がUSBの伝送速度より遅いと、無線通信で再送が生じた場合に第一の無線LANインタフェース12又は第二の無線LANインタフェース22はデータをバッファに格納しきれなくなる可能性がある。従って正常な転送ができなくなる。無線通信の伝送速度がUSBの伝送速度の2倍以上であれば、再送が生じても正常な転送を行うことができる。
【図面の簡単な説明】
【図1】 本発明の第一実施例に係るデータ中継システムの模式図。
【図2】 本発明の第一実施例に係るブロック図。
【図3】 本発明の第一実施例に係るデータフロー図。
【図4】 本発明の第一実施例に係るシーケンスチャート。
【図5】 本発明の第一実施例に係る対応付けを示す模式図。
【図6】 本発明の第一実施例に係る対応付けを表形式で示す模式図。
【図7】 (A)及び(B)は本発明の第一実施例に係るデータ構造の模式図。
【図8】 本発明の第二実施例に係るデータフロー図。
【符号の説明】
1 第一の中継装置(データ中継システム)、2 第二の中継装置(データ中継システム)、3 ディジタルカメラ(USBホスト)、4 プリンタ(USBデバイス)、11 第一の中継制御部(第一の中継制御手段)、12 第一の無線LANインタフェース(第一の無線通信手段)、13 第一のUSBバスインタフェース(第一のUSB通信手段)、13a USBホストコントローラ、13c コネクタ、21 第二の中継制御部(第二の中継制御手段)、22 第二の無線LANインタフェース(第二の無線通信手段)、23 第二のUSBバスインタフェース(第二のUSB通信手段)、23b コネクタ、31 アップストリームポート、41 ダウンストリームポート
Claims (3)
- USBデバイスに接続するための一台の第一の中継装置とUSBホストに接続するための一台の第二の中継装置とを備え、
前記第一の中継装置は、
USBデバイスのアップストリームポートに接続するためのコネクタとUSBホストコントローラとを有する第一のUSB通信手段と、
前記第二の中継装置と無線通信を行う第一の無線通信手段と、
前記第一のUSB通信手段から出力される送信対象データを前記第一の無線通信手段により前記第二の中継装置に転送し、前記第一の無線通信手段から出力される送信対象データを前記第一のUSB通信手段により前記USBデバイスに転送する第一の中継制御手段とを有し、
前記第二の中継装置は、
USBホストのダウンストリームポートに接続するためのコネクタを有する第二のUSB通信手段と、
前記第一の中継装置と無線通信を行う第二の無線通信手段と、
前記第二のUSB通信手段から出力される送信対象データを前記第二の無線通信手段により前記第一の中継装置に転送し、前記第二の無線通信手段から出力される送信対象データを前記第二のUSB通信手段により前記USBホストに転送する第二の中継制御手段とを有し、
前記第一の中継制御手段は、前記USBデバイスに前記USBデバイスの固有情報を要求し、前記USBデバイスから送信された固有情報に基づいて前記第一のUSB通信手段の通信条件を設定するとともに、当該固有情報を前記第一の無線通信手段により前記第二の中継制御手段に転送し、
前記第二の中継制御手段は、前記USBホストから固有情報を要求されたとき、前記第一の中継制御手段から受信した前記固有情報を前記USBホストへ転送するデータ中継システム。 - 前記第一の無線通信手段及び前記第二の無線通信手段は無線LANにより無線通信を行う請求項1に記載のデータ中継システム。
- 前記固有情報は、デバイスディスクリプタ(クラス、ベンダID、製造社名、製品名)、コンフィギュレーションディスクリプタ(インタフェースの数、電源利用形態)、インタフェースディスクリプタ(インタフェースの識別番号、代替インタフェースの識別番号、クラス、サブクラス、プロトコル)、エンドポイントディスクリプタ(エンドポイント番号、転送タイプ、最大パケットサイズ、ポーリング間隔)、またはストリングディスクリプタ(タイプ、ストリングなど)のいずれか一つを少なくとも含む請求項1または2のいずれか記載のデータ中継システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003202371A JP4432385B2 (ja) | 2003-07-28 | 2003-07-28 | データ中継システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003202371A JP4432385B2 (ja) | 2003-07-28 | 2003-07-28 | データ中継システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005044094A JP2005044094A (ja) | 2005-02-17 |
JP4432385B2 true JP4432385B2 (ja) | 2010-03-17 |
Family
ID=34262109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003202371A Expired - Fee Related JP4432385B2 (ja) | 2003-07-28 | 2003-07-28 | データ中継システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4432385B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164081A (ja) * | 2004-12-09 | 2006-06-22 | Y E Data Inc | 無線usbアダプタと無線usbネットワークシステム |
JP4366323B2 (ja) | 2005-03-15 | 2009-11-18 | キヤノン株式会社 | 通信装置およびその制御方法 |
JP4502389B2 (ja) * | 2005-03-15 | 2010-07-14 | キヤノン株式会社 | 通信装置及びその制御方法 |
JP4356997B2 (ja) | 2005-03-15 | 2009-11-04 | キヤノン株式会社 | 通信装置及びその通信方法 |
KR100678928B1 (ko) | 2005-07-21 | 2007-02-05 | 삼성전자주식회사 | 무선usb 장치간의 접속 장치 및 방법 |
JP2007142524A (ja) * | 2005-11-15 | 2007-06-07 | Nagano Japan Radio Co | データ伝送方式 |
JP2007142523A (ja) * | 2005-11-15 | 2007-06-07 | Nagano Japan Radio Co | データ伝送用モジュール及びデータ伝送方式 |
US7974577B2 (en) * | 2006-04-11 | 2011-07-05 | Tazzle, Inc. | Devices and systems for improved wireless communication |
US7702832B2 (en) * | 2006-06-07 | 2010-04-20 | Standard Microsystems Corporation | Low power and low pin count bi-directional dual data rate device interconnect interface |
JP4961910B2 (ja) * | 2006-09-01 | 2012-06-27 | ソニー株式会社 | 無線通信装置および無線通信システム |
JP4690294B2 (ja) * | 2006-11-15 | 2011-06-01 | Necアクセステクニカ株式会社 | Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム |
KR101092112B1 (ko) | 2006-12-22 | 2011-12-12 | 콸콤 인코포레이티드 | 향상된 무선 usb 프로토콜 및 허브 |
JP5478917B2 (ja) * | 2009-03-05 | 2014-04-23 | キヤノン株式会社 | 画像処理装置、画像処理装置の制御方法、及びプログラム |
JP2013235431A (ja) * | 2012-05-09 | 2013-11-21 | Silex Technology Inc | デバイスサーバシステムにおけるクライアント装置 |
US10091026B2 (en) | 2015-03-18 | 2018-10-02 | Lattice Semiconductor Corporation | Full duplex radio in wireless tunneling system |
US10111269B2 (en) * | 2015-03-18 | 2018-10-23 | Lattice Semiconductor Corporation | Multi-gigabit wireless tunneling system |
US9883539B2 (en) | 2015-03-18 | 2018-01-30 | Lattice Semiconductor Corporation | Embedding low-speed communications in a high speed wireless tunneling system |
JP7004002B2 (ja) | 2017-10-24 | 2022-01-21 | 株式会社ソシオネクスト | データ転送システム |
-
2003
- 2003-07-28 JP JP2003202371A patent/JP4432385B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005044094A (ja) | 2005-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4432385B2 (ja) | データ中継システム | |
JP3045985B2 (ja) | 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ | |
US7584313B1 (en) | Method and system for connecting a wireless USB host and a wired USB device | |
EP2602962B1 (en) | A method and apparatus to provide data streaming over a network connection in a wireless MAC processor | |
US20090323723A1 (en) | Wireless communication apparatus and packet transfer method thereof | |
JP2004040336A (ja) | 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム | |
KR100654465B1 (ko) | 무선 중계 장치 및 방법 | |
WO2001017177A1 (fr) | Systeme et procede de communication d'information, dispositif et procede de traitement de signaux de donnees, et support de memoire | |
JP2000151664A (ja) | デ―タ伝送方法 | |
WO2004059916A2 (en) | Wireless cable replacement for computer peripherals | |
JP2007088775A (ja) | 無線通信システム、無線通信装置及び方法 | |
US9832279B2 (en) | Station, target apparatus, initiator apparatus, communication system, and communication method | |
JP3630971B2 (ja) | データ通信方法、装置、システム、及び記憶媒体 | |
WO2012129830A1 (zh) | 数据卡网页形式控制界面的访问方法及系统 | |
JP2001326670A (ja) | 情報処理装置およびそれを利用したブリッジ | |
US20080162756A1 (en) | Method and apparatus for communication between universal serial bus (usb) host and usb device | |
US6732262B1 (en) | Method and system for controlling reset of IEEE 1394 network | |
JP3460579B2 (ja) | データ転送方法 | |
KR100259768B1 (ko) | 분산 노드 환경에서 점대점 프로토콜 및 다중링크 프로토콜을이용한 서비스 처리 방법 | |
JP2004246750A (ja) | Usb通信方法 | |
JP4261992B2 (ja) | 情報データの送受信装置及び送受信方法 | |
CN107094282B (zh) | 自适应流量分配方法及控制系统 | |
JP3754930B2 (ja) | プリンタ及びプリンタシステム | |
JP3579884B2 (ja) | データ通信方法及び装置、並びにプリンタ及びその制御方法 | |
JP2004274608A (ja) | 通信機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060718 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060811 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20061222 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090623 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090821 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091201 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4432385 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140108 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |