JP4690294B2 - Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム - Google Patents

Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム Download PDF

Info

Publication number
JP4690294B2
JP4690294B2 JP2006308965A JP2006308965A JP4690294B2 JP 4690294 B2 JP4690294 B2 JP 4690294B2 JP 2006308965 A JP2006308965 A JP 2006308965A JP 2006308965 A JP2006308965 A JP 2006308965A JP 4690294 B2 JP4690294 B2 JP 4690294B2
Authority
JP
Japan
Prior art keywords
usb
information
communication
endpoint
endpoint information
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
Application number
JP2006308965A
Other languages
English (en)
Other versions
JP2008123417A (ja
Inventor
信博 村井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2006308965A priority Critical patent/JP4690294B2/ja
Publication of JP2008123417A publication Critical patent/JP2008123417A/ja
Application granted granted Critical
Publication of JP4690294B2 publication Critical patent/JP4690294B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、複数のUSB機器をまとめて1つのUSB機器として収容するUSB通信装置に関し、特に、複数のUSB機器を収容する際、USB機器に付与するアドレスリソースを有効利用する制御技術に関する。
近年、プリンタ、スキャナーに留まらず、スピーカ或いはビデオカメラといった周辺機器のほとんどにおいて、USB(Universal Serial Bus)のインタフェースが搭載されるようになった。また、複数のUSB機器を装着するための分岐装置であるUSBハブも、種々のものが流通するようになってきている。
例えば、利便性の高いハブとして、無線通信機能を備えたハブが提案されている(特許文献1)。特許文献1の発明によれば、利用者は、ブルートゥース或いは無線LAN経由で、該ハブに接続されたUSB周辺機器にアクセスすることが可能となる。
また、コントロール転送用のエンドポイント(通信用バッファ)である0番のエンドポイントを、データ転送用としても使用させるよう制御する制御手段を複合機に内蔵させることで、エンドポイントリソースの少ないUSBコントローラを搭載したUSB対応型デジタル複合機も提案されている(特許文献2)。特許文献2の発明によれば、USBコントローラ側でのエンドポイントリソースの有効利用が図れ、USBコントローラのコストを低減させることができる。
実案第3092152号公報 特開2005−175936号公報
しかしながら、こうした技術が提案されてきているものの、ある問題点があった。
USBは、接続できる物理デバイスの数が最大127台と制限されている。この制約が生じるのは、処理装置となるホストの内部で接続するデバイスのアドレスが管理されており、この管理できるアドレスが最大127個である為である。
上記文献のいずれも、このアドレスの制約を回避する点については何ら注目されておらず、いずれの発明も、親機(ホスト)に127台を超えるUSB機器(ノード)を接続することは不可能であった。
また、特許文献2の発明は、プリンタやスキャナーといった機能/インタフェースが複合機に組み込まれ、既に組み込まれたインタフェースを対象として選択・制御がなされる構成がとられる。この為、USBインタフェースを持っている種々の周辺機器を柔軟に制御することはできず、制御対象にも制約があった。かつては、ハードウェアインタフェースは、RS232CやPS/2,IDE等用途に合わせて種々のものが存在した。もちろん、これらのハードウェアインタフェースは現在も存在するが、USBインタフェースの普及と低価格競争を背景にその搭載機は減少しつつある。すなわち、固有のハードウェアインタフェースを設ける代わりにUSBインタフェースのみを搭載させた周辺機器が近年急増している。特許文献2の発明では、こうしたUSBインタフェースのみ有する周辺機器を制御することが難しい。
また、こうした周辺機器のインタフェースに関する情報は必ずしも統一された情報ではなく、USBインタフェースを備えた複数の周辺機器を制御する際、親機であるコンピュータには負荷がかかった。
従って、本発明が解決しようとする課題は、複数のUSB機器に割り振るアドレス数を少なくし、アドレスリソースの有効利用を図ることである。
さらに、本発明が解決しようとする課題は、複数のUSB機器と接続された親機であるコンピュータの制御負荷を軽減させることである。
上記課題を解決するための第1の発明は、端末と少なくとも1つ以上のUSB機器とが接続されるUSB通信装置であって、通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記USB機器から取得してユニークなエンドポイント情報を生成する生成手段と、
前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶手段と、
前記USB機器からインタフェース情報を取得し、取得したインタフェース情報に基づいて、前記ユニークなエンドポイント情報に紐付けされた第2のインタフェース情報を生成する手段と、
前記端末とのネゴシエーション時に、前記第2のインタフェース情報を送信する手段と、
前記取得したエンドポイント情報で特定される通信路を用いて前記USB機器と通信し、端末側で指定された前記第2のインタフェース情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信を行う通信手段と
を有することを特徴とする。
上記課題を解決するための第2の発明は、端末と少なくとも1つ以上のUSB機器とが接続されるUSB通信装置における通信方法であって、通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記USB機器から取得してユニークなエンドポイント情報を生成する生成ステップと、前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶ステップと、前記USB機器からインタフェース情報を取得し、取得したインタフェース情報に基づいて、前記ユニークなエンドポイント情報に紐付けされた第2のインタフェース情報を生成するステップと、前記端末とのネゴシエーション時に、前記第2のインタフェース情報を送信するステップと、前記取得したエンドポイント情報で特定される通信路を用いて前記USB機器と通信し、端末側で指定された前記第2のインタフェース情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信をする通信ステップとを有することを特徴とする。
上記課題を解決するための第3の発明は、端末と少なくとも1つ以上のUSB機器とが接続されるUSB通信装置のプログラムであって、通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記USB機器から取得してユニークなエンドポイント情報を生成する生成処理と、前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶処理と、前記USB機器からインタフェース情報を取得し、取得したインタフェース情報に基づいて、前記ユニークなエンドポイント情報に紐付けされた第2のインタフェース情報を生成する処理と、前記端末とのネゴシエーション時に、前記第2のインタフェース情報を送信する処理と、前記取得したエンドポイント情報で特定される通信路を用いて前記USB機器と通信し、端末側で指定された前記第2のインタフェース情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信を行う通信処理とを前記USB通信装置に実行させることを特徴とする。
本発明によれば、複数のUSB機器と接続された親機である端末側の制御負荷を軽減させることができる。その理由は、本発明のUSB通信装置が、取得したエンドポイント情報に対応するユニークなエンドポイント情報を使用して親機である端末と通信を行うため、端末側では、統一性の乏しいUSB機器固有のインタフェース情報でエンドポイントを特定してUSB機器を制御する必要がない。本発明のUSB通信装置によって提供され予め統一されたユニークなエンドポイント情報で特定されるエンドポイントを使用することができ、端末側の制御負荷が軽減されるためである。
また、本発明によれば、複数のUSB機器に割り振るアドレス数を少なくし、アドレスリソースの有効利用を図ることができる。その理由は、本発明のUSB通信装置が、親機である端末との通信に際して、USB機器のアドレスではなく生成手段により生成された新エンドポイント情報を使用するため、端末側ではUSB機器のアドレスを使用せずに通信路及び通信先となるUSB機器の特定ができる。すなわち、端末側では各USB機器のアドレスを意識する必要がなく、端末側で管理するアドレスもUSB通信装置の1つアドレスだけですむためである。
本発明の実施の形態について図を用いて説明する。
図1〜4は本発明のUSBコンポジット通信装置(以下、USB通信装置ともいう)の第1の実施形態を説明する為のもので、図1はUSB通信装置のブロック図、図2〜図4はフローチャートである。
図1を参照すると、aは本発明のUSB通信装置である。bはコンピュータであり、USB通信装置aと接続される。c,dはUSBインタフェースを備えたUSB機器であり、ここでは、プリンタやスキャナー等である。コンピュータbは、USB通信装置aを介してUSB機器c及びUSB機器dに接続されている。
コンピュータbは、コントローラb1を有する。
コントローラb1は、USB通信装置aにアドレスを割り振る。また、コントローラb1は、USB転送データ用の通信バッファであるエンドポイントを複数有する。
次に、USB通信装置aの構成について、図1を用いて説明する。
USB通信装置aは、USBデバイスコントローラa1と、制御部a2と、USBホストコントローラa3と、記憶部a4とを有する。
USBデバイスコントローラa1は、コンピュータbとネゴシエーションを行う。また、コンピュータbより受けとったパケットを制御部a2に渡し、制御部a2から受けとったパケットをコンピュータbに渡す。USBデバイスコントローラa1は、エンドポイントを複数有する。このUSBデバイスコントローラa1の各エンドポイントとコンピュータb側のコントローラb1の各エンドポイントとが1対1で接続された論理的な通信路(パイプ)を用いて、コンピュータbとUSB通信装置aとの間でパケットの送受信が行われる。
USBホストコントローラa3は、USB機器c、USB機器dとネゴシエーションを行う。また、USB機器c、USB機器dから受けとったパケットを制御部a2に渡し、制御部a2で生成されたパケットを制御部a2から受信し、USB機器c、USB機器dに渡す。ここで、ネゴシエーションとは、制御方法を決定するための初期プロセスのことであり、接続先となるUSB機器/コンピュータに対してどのような制御が必要なのかが判断される。
USBホストコントローラa3は、このネゴシエーションの際、各USB機器からUSBデバイス情報を取得する。このUSBデバイス情報には、デバイスドライバ等のUSB機器の機能を識別できる情報や、インタフェース情報等のUSB通信時に必要となるインタフェースの情報が含まれる。ここで、インタフェース情報(以後、I/F情報ともいう)とは、USB機器の各々が有する情報であり、USBの仕様、機能に応じて、メーカー毎にUSB機器毎に割り付けられる情報である。さらに、それぞれのインタフェース情報にはエンドポイント情報が紐付けられる。ここで、エンドポイント情報とは、通信制御用のパイプ情報であり、エンドポイントを識別するために用いられる情報である。このエンドポイント同士が接続された論理的な通信路(パイプ)を用いてパケットの転送が行われる。尚、この通信路自体のことも慣習的にエンドポイントと呼ぶ場合があるが、本明細書中では、「エンドポイントで特定される通信路」「エンドポイント同士で接続される通信路」などと区別して表現する。すなわち、USBデバイス情報の中には、「interface0を使用し、これをendpoint1とendpoint2とで制御する」といった情報が入っていることになる。
尚、エンドポイント及びパイプ(通信路)の概念そのものについては既知の技術であり、本発明の必須の構成要素ではないため、これ以上の詳細な説明は省略する。
次に、USBホストコントローラa3は、エンドポイントを複数持つ。このUSBホストコントローラa3の各エンドポイントとUSB機器側の各エンドポイントとが1対1で接続された通信路を用いて、USB機器c/USB機器dとUSB通信装置aとの間でのパケット送受信が行われる。
また、USBホストコントローラa3は、接続されている各USB機器に対しアドレスを付与する。尚、各USB機器は、与えられたアドレスを記憶し、ネゴシエーション後の通信時に自機器宛のパケットを受信したUSB機器が、USBホストコントローラa3に対して応答を返すことになる。
USBホストコントローラa3により取得されたUSBデバイス情報に含まれるインタフェース情報は、制御部a2によりユニークな情報へと再生成され、USBデバイスコントローラa1を介してコンピュータbへと送信される。コンピュータbは、この再生成された情報毎にUSB機器のポートを割り振る。
制御部a2は、コンピュータbからパケットを受信すると、該パケットをUSB機器用のパケットに変換し、USB機器cまたはUSB機器dにパケットを送信する。また、USB機器c、USB機器dからパケットを受信すると、記憶部a4を参照してコンピュータbにパケットを送信する。
続いて、制御部a2の構成についてさらに具体的に説明する。
制御部a2は、パケット解析部a21と、アドレス変換部a22と、新エンドポイント情報設定部をさらに有する。
パケット解析部a21は、コンピュータbからパケットを受信すると、受信したパケットに含まれる新エンドポイント情報を解析する。さらに、パケット解析部a2は、USB機器c、USB機器dのいずれかよりパケットを受信すると、受信したパケットのエンドポイント情報に対応する新エンドポイント情報を解析する。ここで、新エンドポイント情報とは、エンドポイント情報に基づいてUSB通信装置aにより新たに生成され、USB通信装置aのエンドポイントに付与された、エンドポイントを識別するためのユニークな情報である。
新エンドポイント情報設定部a23は、パケット解析部a21による解析の結果得られるエンドポイント情報を用いて、ユニークなエンドポイントの番号である新エンドポイント情報を新たに生成する。そして、USBデバイスコントローラa1のエンドポイント用にこの番号がアサインされる。具体的には、例えば、新エンドポイント情報設定部a23は、USB機器c,dから受信したエンドポイント情報がそれぞれ”ep1”“ep2””,ep1”“ep2”であれば、これを、所定のプログラムを用いて”EP1”“EP2””,EP3”“EP4”とユニークな番号に整理し、USB機器c,dとの通信用として、USBデバイスコントローラa1のエンドポイントに該番号をアサインする。コンピュータの制御ドライバ側では、同じ通信用エンドポイントを共用できないため、このような再付与が必要になる。
アドレス変換部a22は、コンピュータbから受信したパケットのアドレスをUSB通信装置aに付与されたアドレスである装置アドレスへと変換し、この変換後アドレスを含むパケットを生成してUSBホストコントローラa3に送信する。ここで、装置アドレスとは、USB通信装置aが有するアドレスであり、コンピュータbのコントローラb1によって割り付けられる。図5に示されるように、この装置アドレスは、各USB機器に付与したアドレスと関連付けられてUSB通信装置a内に記憶される。さらに、アドレス変換部a22は、USB機器のいずれかから受信したパケットのアドレスをUSB通信装置aの装置アドレスへと変換し、この変換後アドレスを含むパケットを生成してUSBデバイスコントローラa1に送信する。
エンドポイント変換部a24は、コンピュータbから受信したパケットに含まれる新エンドポイント情報を、新エンドポイント情報に対応するエンドポイント情報に変換する。また、USB機器c,dのいずれかから応答パケットを受信すると、この受信したパケットは、変換されたエンドポイント情報に対応する新エンドポイント情報同士で接続される通信路を用いてコンピュータbに送信される。
記憶部a4は、メモリであり、SRAMやSDRAM等である。各USB機器から取得したインタフェース情報、エンドポイント情報、インタフェース情報に基づいて再生成/付与された新インタフェース情報、エンドポイント情報に基づいて再生成/付与された新エンドポイント情報、各USB機器に割り当てられたアドレス、及びUSB通信装置a自体に付与された装置アドレスが相互に関連付けられ、テーブルに記憶される。
具体的には、記憶部a4は、新エンドポイント情報管理テーブルa42と、アドレス変換テーブルa41とを有する。
新エンドポイント情報管理テーブルa42は、図6に示されるように、USBホストコントローラa3によりUSB機器から取得されたUSBデバイス情報に含まれるインタフェース情報、エンドポイント情報と、新エンドポイント情報設定部a23によって生成された新インタフェース情報及び新エンドポイント情報とがそれぞれ関連付けて記憶されているテーブルである。
アドレス変換テーブルa41は、新インタフェース情報・新エンドポイント情報に加えて、USB通信装置自身の持つアドレス、及びUSB機器のそれぞれが持つアドレスが相互に関連付けて記憶されているテーブルである。
尚、これらのテーブルに記憶された情報は、アドレス変換部a22、エンドポイント変換部a24により処理が行われる際に参照される。
次に、上記のように構成させたUSBコンポジット通信装置aの動作について説明する。まず、接続時の初期動作について、図1に加え図2のフローチャートに沿って適宜図8を用いながら説明する。
以下では、図8に示されるように、USB機器c,dのインタフェース情報は、それぞれ“int1”であり、新インタフェース情報が“INT1”,“INT2”として再生成されるものとして説明する。また、以下では、USB機器cのエンドポイント情報はep1,ep2であり、このエンドポイント情報に基づいて新たな新エンドポイント情報であるEP1,EP2が生成されるものとする。また、USB機器dのエンドポイント情報はep1,ep2であり、このエンドポイント情報に基づいて新たな新エンドポイント情報であるEP3,EP4が生成されるものとして説明する。すなわち、新インタフェース情報“INT1”に紐付けられらたEP1,EP2の新エンドポイント情報、“INT2”に紐付けられたにEP3,EP4のエンドポイントが新たに生成されるものとして説明する。
また、以下では、USB機器c,dにはアドレス“001”“002”がそれぞれUSBコントローラa3により付与され、USB通信装置aには、アドレス“X01”がコントローラb1により付与されるものとする。
USB通信装置aがコンピュータb及びUSB機器c,dに接続され各装置及び機器の電源がオンにされると、USB通信装置aは、コンピュータbとUSB機器c,dとの間でネゴシエーションを行う。
すなわち、まず、USBホストコントローラa3がUSB機器cに対し問い合わせ(ポーリング)を行い、USB機器cがUSBホストコントローラa3にレスポンス(応答)を返すことで、ネゴシエーションが行われる(ステップS1)。このとき、USBホストコントローラa3によってUSB機器cのUSBデバイス情報が取得される。また、USB機器cには、USBホストコントローラa3からアドレス“001”が付与される。
続いて、USBホストコントローラa3は、USB機器dとUSBネゴシエーションを行い(ステップS2)、USBホストコントローラa3によってUSB機器dのUSBデバイス情報が取得される。また、USB機器dには、USBホストコントローラa3からアドレス“002”が付与される。
次に、制御部a2のパケット解析部a21により、USB機器cとのネゴシエーション結果のデータとUSB機器dとのネゴシエーション結果のデータが解析される(ステップS3)。すなわち、USB機器c,dのインタフェース情報“int1”“int1”が取得され、新エンドポイント情報設定部a23により、“INT1”“INT2“として再生成される。さらに、パケット解析部a21により、USB機器c,dのインタフェース情報“int1”“int1”のそれぞれに対応するエンドポイント情報“ep1”“ep2”,“ep1”“ep2”が取得され、新エンドポイント情報設定部a23により、“EP1”“EP2”,“EP3”“EP4”が生成される。この新たな新エンドポイント情報は、USB通信装置のUSBデバイスコントローラa1のエンドポイントにアサインされる。
次に制御部a2は、USBデバイスコントローラa1を制御し、コンピュータbとネゴシエーションを行う(ステップS4)。このネゴシエーションにより、新インタフェース情報“INT1””INT2“と、それぞれの新インタフェース情報に対応する新エンドポイント情報”EP1,EP2“”EP3,EP4“とがコンピュータbに渡される。
ステップS1〜S4のネゴシエーションの結果、パケット解析部a21により解析されたインタフェース情報“int1”“int1”、新エンドポイント情報設定部a23により再付与されたインタフェース“INT1”INT2“及び”INT1“に対応する新エンドポイント情報”EP1,EP2“と”INT2“に対応する新エンドポイント情報”EP3“,EP4”とが制御部a2を介して記憶部a4に渡される。また、USB機器c,d付与されたアドレス”001“”002“、コンピュータbにより付与されたUSB変換機aのアドレス(装置アドレス:”X01“)も、制御部a2を介して記憶部a4に渡される。そして、図5,図6に示されるように、アドレス変換テーブル・新エンドポイント情報管理テーブルに相互に関連付けられて記憶される。以上により初期動作が完了する。
続いて、USB通信装置aがコンピュータbからパケットを受信した際の実際の動作について、図1と図3を用いて説明する。
ここでは、USB機器cはスキャナー,USB機器dはプリンタであるとして説明するが、他のUSBインタフェースを備えた機器を接続する形であってもよい。
また、ここでは、コンピュータbによって、インタフェース:INT1にUSB機器c(スキャナー)のポートであるUSBLPT1ポートが割り当てられ、インタフェース:INT2にはUSB機器d(プリンタ)のポートであるUSBLPT2ポートが割り当てられたものとして説明する。
また、以下では、説明の便宜のため、コンピュータbからの問い合わせがプリンタ(USB機器d)に対して発生したものとして説明する。
コンピュータbの操作者がUSBLPT2ポートを選択し、USB機器d(プリンタ)に対する利用要求が発生すると、USBデバイスコントローラa1は、コンピュータbからの宛先アドレス“X01”と新エンドポイント情報(ここではEP3,EP4)とが含まれたパケットを受信する(ステップS11:Yes)。パケットの受信を検知した制御部a2のパケット解析部a21では、受信したパケットに含まれる新エンドポイント情報を解析し、USB機器cを宛先とするパケットなのか否かを調べる(ステップS12)。新エンドポイント情報に“EP1”もしくは“EP2”が無く、USB機器cを宛先とするパケットでないと判断すると(ステップS12:No)、続いてパケット解析部a21は、USB機器dを宛先とするパケットなのかどうかを調べる(ステップS13)。
受信したパケットには、USB機器dの新エンドポイント情報である“EP3”もしくは“EP4”の情報が含まれている為、パケット解析部a21によってUSB機器dを宛先とするパケットであると判断され(ステップS13:Yes)、アドレス変換部a22によって、USB機器dのパケット構成に変換される(ステップS15)。具体的には、制御部a2のアドレス変換部a22が、図5に示されるアドレス変換テーブルa41を参照し、受信したパケットに含まれる新エンドポイント情報である“EP3”もしくは“EP4”の情報をキーとして、コンピュータbから受信したパケットに含まれるアドレス“X01”を、USB機器dのアドレス“002”へと変換する。さらに、エンドポイント変換部a24により、図6の例で示される新エンドポイント情報管理テーブルa42が参照され、新エンドポイント情報“EP3,EP4”はエンドポイント情報ep1,ep2に変換される。
続いて、制御部a2は、この変換後アドレス(ここでは“002”)と変換後エンドポイント情報(ここではep1,ep2)とが含まれるパケットを、USBホストコントローラa3を介してUSB機器c,dへと送信する(ステップS17)。尚、各装置間の通信時にパケットに含まれ使用される情報については、図8に示される。
USBホストコントローラa3から送信されたパケットを受信した各USB機器では、受信したパケットのアドレスが、初期動作時にUSBホストコントローラa3からアサインされた自ノードのアドレスと一致するかどうかを比較し、一致する場合には応答を返す。ここでは、受信したパケットのアドレスが“002”であり、USB機器dの記憶しているアドレス“002”と一致していることになるため、USB機器dが応答を返すことになる。
続いて、USB通信装置aが、USB機器dからの応答パケットを受信した際の動作について、図1と図4とを用いて説明する。
USBホストコントローラa3は、USB機器c、dに対して、問い合わせ(ポーリング)を行っている。
問い合わせ(ポーリング)に対して、USB機器dからの応答があった場合、パケット解析部a21はUSB機器dからのパケットであると判断する(ステップ22:Yes)。
次に、制御部a2のアドレス変換部a22は、アドレス変換テーブルa41を参照し、USB機器dのアドレス“002”をUSB通信装置aのアドレス(装置アドレス)“X01”に変換する。また、エンドポイント変換部a24により、新エンドポイント情報管理テーブルa42が参照され、エンドポイント情報ep1,ep2は新エンドポイント情報EP3,EP4に変換される(ステップS23)。
続いて、制御部a2は、この変換後アドレス、変換後エンドポイント情報(新エンドポイント情報:EP3,EP4)を含むパケットを、USBデバイスコントローラa1を介してコンピュータbへと送信する(ステップS24)。コンピュータb側では、新インタフェース情報INT2に対応付けられたUSBLPT2ポートを用いて、図8に示されるように、新エンドポイント情報“EP3,EP4”のそれぞれに対応する通信路である“通信路:EP3”と“通信路:EP4”を使用して、USB機器dとの通信を行う。
上記第1の実施の形態においては、USB機器dからの応答パケットを受信した場合に、アドレス変換部a22がUSB機器のアドレスをUSB通信装置aのアドレス(装置アドレス)“X01”にさらに変換し、エンドポイント変換部a24が、エンドポイント情報ep1,ep2を新エンドポイント情報EP3,EP4にさらに変換する構成を例にとって説明したが、逆変換は必須の構成要素ではない。応答パケットの送信先がコンピュータbになることは自明であり、受信したパケットの情報に基づいてコンピュータbのアドレスを宛先とし、記憶部a4を参照して、受信したパケットに含まれるエンドポイント情報に対応する新エンドポイント情報で構成される通信路を用いて応答パケットを直接端末に返すようにしてもよい。
また、上記実施の形態では、エンドポイント情報から新エンドポイント情報を直接生成したが、エンドポイント情報とアドレスとから新エンドポイント情報を生成するようにしてもよい。
上記第1の実施の形態においては、USB通信装置が、エンドポイント情報をUSB機器から取得してユニークなエンドポイント情報を生成する生成手段と、生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶手段とを備え、取得したエンドポイント情報に対応するユニークなエンドポイント情報を使用して親機である端末と通信を行うため、端末側では、本発明のUSB通信装置によって提供され統一されたユニークなエンドポイント情報で特定されるエンドポイントを使用することができ、端末が複数のUSB機器と通信をする際の端末側の制御負荷を軽減させることができる。
さらに、本発明のUSB通信装置は、親機である端末との通信に際して、USB機器のアドレスではなく生成手段により生成された新エンドポイント情報を使用する通信手段を有するため、親機である端末の内部で管理するアドレスの数を、実際に接続されるUSB機器の台数分よりも少なくすることができ、アドレスリソースの有効利用が図れる。
上記第1の実施の形態では、接続された複数のUSB機器がたまたま同一のインタフェース情報を有しているものとして説明したが、接続された複数のUSB機器が異なるインタフェース情報を有している場合であっても、本発明の制御技術が適用可能であることは言うまでもない。
上記第1の実施の形態では、コンピュータbに本発明のUSB通信装置aを1台接続する場合を例にとって説明したが、コンピュータbに複数台のUSB通信装置aを接続してより多くのUSB機器を接続してもよい。
また、上記第1の実施の形態では、1台のUSB通信装置aに2台分のUSB機器が接続できるものとして説明したが、これに限ることはない。USBデバイスコントローラ,USBホストコントローラのエンドポイント数を増やすことで、より多くのUSB機器が接続できるようにすることもできる。
上記実施の形態では、各制御部分をハードウェアで構成したが、各部の一部または全部をプログラムとして情報処理装置に機能させるようにすることもできる。
次に、第2の実施の形態について、図7を用いて説明する。
図7を見ると、本発明のUSB通信装置aは、USBホストコントローラa3と接続されるUSB機器h1〜h4の間にUSBハブコントローラa5を設けている。
USBハブコントローラa5は、USB機器と接続するためのエンドポイント及び物理的なUSB接続用のポートを有しており、USBホストコントローラa3で不足するUSB機器の接続ポート数を増やす役割を持つ。その他の構成部分の機能については、上述した第1,2の実施の形態と同一であり、同一の構成部分においては同一の符号を付して、詳細な説明は省略する。
また、USB通信装置aと各USB機器h1〜h4とのネゴシエーション、アドレスの変換動作は、第1,第2の実施の形態と同様であり、USBホストコントローラa3と各USB機器h1〜h4と間で行われるパケットのやりとりは、USBハブコントローラa5を介して行われる。
上記第2の実施の形態においては、USB通信装置aがハブの機能を有するため、分岐装置を使用せずに複数のUSB機器を接続することができ、より効率的にアドレスリソースの有効利用を図ることができる。
本発明の第1の実施の形態を示すブロック図。 本発明の初期動作のフローを示すフローチャート。 本発明のUSB機器あてパケットの流れを示すフローチャート。 本発明のUSB機器からのパケットの流れを示すフローチャート。 本発明の第1の実施の形態におけるアドレス変換テーブルの例を示す図。 本発明の第1の実施の形態における新エンドポイント情報管理テーブルの例を示す図。 本発明の第2の実施の形態を示すブロック図。 本発明の装置による通信時に用いられる情報の例を示す図。
符号の説明
a USBコンポジット通信装置
b コンピュータ
c USB機器
d USB機器
e USBコンポジット通信装置
f 分岐装置
g USB機器
a1 USBデバイスコントローラ
a2 制御部
a3 USBホストコントローラ
a4 記憶部
a21 パケット解析部
a22 アドレス変換部
a23 新エンドポイント情報設定部
a24 エンドポイント変換部
a41 アドレス変換テーブル
a42 新エンドポイント情報管理テーブル
特許出願人 日本電気株式会社
代理人 宇高 克己

Claims (6)

  1. 端末と少なくとも1つ以上のUSB機器とが接続されるUSB通信装置であって、
    通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記USB機器から取得してユニークなエンドポイント情報を生成する生成手段と、
    前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶手段と、
    前記USB機器からインタフェース情報を取得し、取得したインタフェース情報に基づいて、前記ユニークなエンドポイント情報に紐付けされた第2のインタフェース情報を生成する手段と、
    前記端末とのネゴシエーション時に、前記第2のインタフェース情報を送信する手段と、
    前記取得したエンドポイント情報で特定される通信路を用いて前記USB機器と通信し、端末側で指定された前記第2のインタフェース情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信を行う通信手段と
    を有することを特徴とするUSB通信装置。
  2. 前記通信手段は、当該USB通信装置のアドレスと、端末側で指定された第2のインタフェース情報に対応する前記ユニークなエンドポイント情報と、が指定されたパケットを受信し、前記指定されたユニークなエンドポイント情報に基づいて、前記パケットを該当するUSB機器に送信する、
    ことを特徴とする請求項1に記載のUSB通信装置。
  3. 前記USB通信装置は、増設用エンドポイント及び増設用接続ポートを備えたUSBハブコントローラを有することを特徴とする請求項1または請求項2に記載のUSB通信装置。
  4. 端末と少なくとも1つ以上のUSB機器とが接続されるUSB通信装置における通信方法であって、
    通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記USB機器から取得してユニークなエンドポイント情報を生成する生成ステップと、
    前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶ステップと、
    前記USB機器からインタフェース情報を取得し、取得したインタフェース情報に基づいて、前記ユニークなエンドポイント情報に紐付けされた第2のインタフェース情報を生成するステップと、
    前記端末とのネゴシエーション時に、前記第2のインタフェース情報を送信するステップと、
    前記取得したエンドポイント情報で特定される通信路を用いて前記USB機器と通信し、端末側で指定された前記第2のインタフェース情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信をする通信ステップと
    を有することを特徴とするUSB通信装置の通信方法。
  5. 前記通信ステップは、当該USB通信装置のアドレスと、端末側で指定された第2のインタフェース情報に対応する前記ユニークなエンドポイント情報と、が指定されたパケットを受信し、前記指定されたユニークなエンドポイント情報に基づいて、前記パケットを該当するUSB機器に送信する、
    ことを特徴とする請求項4に記載のUSB通信装置の通信方法。
  6. 端末と少なくとも1つ以上のUSB機器とが接続されるUSB通信装置のプログラムで
    あって、
    通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記USB機器から取得してユニークなエンドポイント情報を生成する生成処理と、
    前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶処理と、
    前記USB機器からインタフェース情報を取得し、取得したインタフェース情報に基づいて、前記ユニークなエンドポイント情報に紐付けされた第2のインタフェース情報を生成する処理と、
    前記端末とのネゴシエーション時に、前記第2のインタフェース情報を送信する処理と、
    前記取得したエンドポイント情報で特定される通信路を用いて前記USB機器と通信し、端末側で指定された前記第2のインタフェース情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信を行う通信処理とを前記USB通信装置に実行させることを特徴とするプログラム。
JP2006308965A 2006-11-15 2006-11-15 Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム Expired - Fee Related JP4690294B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006308965A JP4690294B2 (ja) 2006-11-15 2006-11-15 Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006308965A JP4690294B2 (ja) 2006-11-15 2006-11-15 Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム

Publications (2)

Publication Number Publication Date
JP2008123417A JP2008123417A (ja) 2008-05-29
JP4690294B2 true JP4690294B2 (ja) 2011-06-01

Family

ID=39508079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006308965A Expired - Fee Related JP4690294B2 (ja) 2006-11-15 2006-11-15 Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム

Country Status (1)

Country Link
JP (1) JP4690294B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818486B2 (en) * 2008-08-15 2010-10-19 Icron Technologies Corporation Method and apparatus for connecting USB devices to a remote computer

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282701A (ja) * 2000-03-31 2001-10-12 Aiwa Co Ltd 情報処理装置及び情報処理方法
JP2003316712A (ja) * 2002-04-22 2003-11-07 Canon Inc 画像処理装置及び通信制御方法
JP2005044094A (ja) * 2003-07-28 2005-02-17 Seiko Epson Corp データ中継システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282701A (ja) * 2000-03-31 2001-10-12 Aiwa Co Ltd 情報処理装置及び情報処理方法
JP2003316712A (ja) * 2002-04-22 2003-11-07 Canon Inc 画像処理装置及び通信制御方法
JP2005044094A (ja) * 2003-07-28 2005-02-17 Seiko Epson Corp データ中継システム

Also Published As

Publication number Publication date
JP2008123417A (ja) 2008-05-29

Similar Documents

Publication Publication Date Title
US9503957B2 (en) Low cost mesh network capability
EP2316075B1 (en) Method and apparatus for connecting usb devices to a remote computer
JP5292409B2 (ja) 移動端末
EP2845114B1 (en) Extensible wse hub to support a multi-hop tree of usb hubs or peripherals over a wireless link
US20120233266A1 (en) Peer-to-peer group with renegotiation of group owner
US7779102B2 (en) Management device, network system and control program therefor
US20060025075A1 (en) Enhanced bluetooth communication system
US20130201519A1 (en) Bridging Non-Network Interfaces and Network Interfaces
JP5178230B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2009157067A1 (ja) 試験装置及び方法
JP2006343815A (ja) 通信装置、通信方法、通信システム
US20090213824A1 (en) Wireless local area network packet transmitting and receiving system
TWI498037B (zh) 服務資訊管理方法及服務資訊管理系統
US8856258B2 (en) Host device and slave device controlling method
JP4690294B2 (ja) Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム
CN103019975A (zh) 通用串行总线传输控制方法及主机设备
JP2013105237A (ja) ジョブ処理システム、ジョブ処理装置、負荷分散装置、ジョブ処理プログラムおよび負荷分散プログラム
JP5272367B2 (ja) 無線lanアクセスポイントおよびプログラム
JP2000253024A (ja) 通信システム及び通信装置
US9619005B2 (en) Apparatus and method for saving power of USB device
US20130315250A1 (en) Transfer control device, integrated circuit thereof, transfer control method, and transfer control system
US12124709B2 (en) Computing system and associated method
US20240069754A1 (en) Computing system and associated method
JP3635573B2 (ja) ネットワーク機器及びネットワークシステム
WO2012152048A1 (zh) 一种传输网络数据的方法、无线通信终端及主机

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101227

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: 20110202

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: 20110217

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees