(57)【要約】      （修正有）【課題】複数のＵＳＢ機器を１つのＵＳＢ通信装置に収容することにより、割り振るアドレスを少なくし、アドレスリソースの有効利用を図る。【解決手段】端末ｂと少なくとも１つ以上のＵＳＢ機器ｃ，ｄとが接続されるＵＳＢ通信装置ａであって、通信用のバッファであるエンドポイントを識別するエンドポイント情報をＵＳＢ機器ｃまたはＵＳＢ機器ｄから取得してユニークなエンドポイント情報を生成する生成手段ａ２３と、この生成したエンドポイント情報と取得したエンドポイント情報とを関連付けて記憶する記憶手段ａ４と、前記取得したエンドポイント情報を用いて前記ＵＳＢ機器と通信し、前記取得したエンドポイント情報に対応するユニークなエンドポイント情報を使用して前記端末と通信を行う通信手段とを有する。【選択図】図１
2008123417.tif 000002
【特許請求の範囲】
【請求項１】
端末と少なくとも１つ以上のＵＳＢ機器とが接続されるＵＳＢ通信装置であって、
通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記ＵＳＢ機器から取得してユニークなエンドポイント情報を生成する生成手段と、
前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶手段と、
前記取得したエンドポイント情報で特定される通信路を用いて前記ＵＳＢ機器と通信し、前記取得したエンドポイント情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信を行う通信手段と
を有することを特徴とするＵＳＢ通信装置。
【請求項２】
接続されたＵＳＢ機器にアドレスを付与するＵＳＢ機器アドレス付与手段を有し、
前記記憶手段は、前記付与したＵＳＢ機器のアドレスと前記生成手段により生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶し、前記通信手段は、前記端末から受信した自装置宛のパケットのアドレスを、前記受信したパケットに含まれるユニークなエンドポイント情報に対応するＵＳＢ機器のアドレスに変換して前記ＵＳＢ機器に送信するように構成されていることを特徴とする請求項１に記載のＵＳＢ通信装置。
【請求項３】
前記ＵＳＢ通信装置は、増設用エンドポイント及び増設用接続ポートを備えたＵＳＢハブコントローラを有することを特徴とする請求項１または請求項２に記載のＵＳＢ通信装置。
【請求項４】
端末と少なくとも１つ以上のＵＳＢ機器とが接続されるＵＳＢ通信装置における通信方法であって、
通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記ＵＳＢ機器から取得してユニークなエンドポイント情報を生成する生成ステップと、
前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶ステップと、
前記取得したエンドポイント情報で特定される通信路を用いて前記ＵＳＢ機器と通信し、前記取得したエンドポイント情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信をする通信ステップと
を有することを特徴とするＵＳＢ通信装置の通信方法。
【請求項５】
接続されたＵＳＢ機器にアドレスを付与するＵＳＢ機器アドレス付与ステップを有し、
前記記憶ステップは、前記付与したＵＳＢ機器のアドレスと前記生成ステップにより生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶し、前記通信ステップは、前記端末から受信した自装置宛のパケットのアドレスを、前記受信したパケットに含まれるユニークなエンドポイント情報に対応するＵＳＢ機器のアドレスに変換して前記ＵＳＢ機器に送信することを特徴とする請求項４に記載のＵＳＢ通信装置の通信方法。
【請求項６】
端末と少なくとも１つ以上のＵＳＢ機器とが接続されるＵＳＢ通信装置のプログラムであって、
通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記ＵＳＢ機器から取得してユニークなエンドポイント情報を生成する生成処理と、
前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶処理と、
前記取得したエンドポイント情報で特定される通信路を用いて前記ＵＳＢ機器と通信し、前記取得したエンドポイント情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信を行う通信処理とを前記ＵＳＢ通信装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＵＳＢ機器をまとめて１つのＵＳＢ機器として収容するＵＳＢ通信装置に関し、特に、複数のＵＳＢ機器を収容する際、ＵＳＢ機器に付与するアドレスリソースを有効利用する制御技術に関する。
【背景技術】
【０００２】
近年、プリンタ、スキャナーに留まらず、スピーカ或いはビデオカメラといった周辺機器のほとんどにおいて、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）のインタフェースが搭載されるようになった。また、複数のＵＳＢ機器を装着するための分岐装置であるＵＳＢハブも、種々のものが流通するようになってきている。
【０００３】
例えば、利便性の高いハブとして、無線通信機能を備えたハブが提案されている（特許文献１）。特許文献１の発明によれば、利用者は、ブルートゥース或いは無線ＬＡＮ経由で、該ハブに接続されたＵＳＢ周辺機器にアクセスすることが可能となる。
【０００４】
また、コントロール転送用のエンドポイント（通信用バッファ）である０番のエンドポイントを、データ転送用としても使用させるよう制御する制御手段を複合機に内蔵させることで、エンドポイントリソースの少ないＵＳＢコントローラを搭載したＵＳＢ対応型デジタル複合機も提案されている（特許文献２）。特許文献２の発明によれば、ＵＳＢコントローラ側でのエンドポイントリソースの有効利用が図れ、ＵＳＢコントローラのコストを低減させることができる。
【特許文献１】実案第３０９２１５２号公報
【特許文献２】特開２００５−１７５９３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、こうした技術が提案されてきているものの、ある問題点があった。
【０００６】
ＵＳＢは、接続できる物理デバイスの数が最大１２７台と制限されている。この制約が生じるのは、処理装置となるホストの内部で接続するデバイスのアドレスが管理されており、この管理できるアドレスが最大１２７個である為である。
【０００７】
上記文献のいずれも、このアドレスの制約を回避する点については何ら注目されておらず、いずれの発明も、親機（ホスト）に１２７台を超えるＵＳＢ機器（ノード）を接続することは不可能であった。
【０００８】
また、特許文献２の発明は、プリンタやスキャナーといった機能／インタフェースが複合機に組み込まれ、既に組み込まれたインタフェースを対象として選択・制御がなされる構成がとられる。この為、ＵＳＢインタフェースを持っている種々の周辺機器を柔軟に制御することはできず、制御対象にも制約があった。かつては、ハードウェアインタフェースは、ＲＳ２３２ＣやＰＳ／２，ＩＤＥ等用途に合わせて種々のものが存在した。もちろん、これらのハードウェアインタフェースは現在も存在するが、ＵＳＢインタフェースの普及と低価格競争を背景にその搭載機は減少しつつある。すなわち、固有のハードウェアインタフェースを設ける代わりにＵＳＢインタフェースのみを搭載させた周辺機器が近年急増している。特許文献２の発明では、こうしたＵＳＢインタフェースのみ有する周辺機器を制御することが難しい。
【０００９】
また、こうした周辺機器のインタフェースに関する情報は必ずしも統一された情報ではなく、ＵＳＢインタフェースを備えた複数の周辺機器を制御する際、親機であるコンピュータには負荷がかかった。
【００１０】
従って、本発明が解決しようとする課題は、複数のＵＳＢ機器に割り振るアドレス数を少なくし、アドレスリソースの有効利用を図ることである。
【００１１】
さらに、本発明が解決しようとする課題は、複数のＵＳＢ機器と接続された親機であるコンピュータの制御負荷を軽減させることである。
【課題を解決するための手段】
【００１２】
上記課題を解決するための第１の発明は、端末と少なくとも１つ以上のＵＳＢ機器とが接続されるＵＳＢ通信装置であって、通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記ＵＳＢ機器から取得してユニークなエンドポイント情報を生成する生成手段と、
前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶手段と、
前記取得したエンドポイント情報で特定される通信路を用いて前記ＵＳＢ機器と通信し、前記取得したエンドポイント情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信を行う通信手段と
を有することを特徴とする。
【００１３】
上記課題を解決するための第２の発明は、端末と少なくとも１つ以上のＵＳＢ機器とが接続されるＵＳＢ通信装置における通信方法であって、通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記ＵＳＢ機器から取得してユニークなエンドポイント情報を生成する生成ステップと、前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶ステップと、前記取得したエンドポイント情報で特定される通信路を用いて前記ＵＳＢ機器と通信し、前記取得したエンドポイント情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信をする通信ステップとを有することを特徴とする。
【００１４】
上記課題を解決するための第３の発明は、端末と少なくとも１つ以上のＵＳＢ機器とが接続されるＵＳＢ通信装置のプログラムであって、通信用のバッファであるエンドポイントを識別するエンドポイント情報を前記ＵＳＢ機器から取得してユニークなエンドポイント情報を生成する生成処理と、前記生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶処理と、前記取得したエンドポイント情報で特定される通信路を用いて前記ＵＳＢ機器と通信し、前記取得したエンドポイント情報に対応するユニークなエンドポイント情報で特定される通信路を用いて前記端末と通信を行う通信処理とを前記ＵＳＢ通信装置に実行させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、複数のＵＳＢ機器と接続された親機である端末側の制御負荷を軽減させることができる。その理由は、本発明のＵＳＢ通信装置が、取得したエンドポイント情報に対応するユニークなエンドポイント情報を使用して親機である端末と通信を行うため、端末側では、統一性の乏しいＵＳＢ機器固有のインタフェース情報でエンドポイントを特定してＵＳＢ機器を制御する必要がない。本発明のＵＳＢ通信装置によって提供され予め統一されたユニークなエンドポイント情報で特定されるエンドポイントを使用することができ、端末側の制御負荷が軽減されるためである。
【００１６】
また、本発明によれば、複数のＵＳＢ機器に割り振るアドレス数を少なくし、アドレスリソースの有効利用を図ることができる。その理由は、本発明のＵＳＢ通信装置が、親機である端末との通信に際して、ＵＳＢ機器のアドレスではなく生成手段により生成された新エンドポイント情報を使用するため、端末側ではＵＳＢ機器のアドレスを使用せずに通信路及び通信先となるＵＳＢ機器の特定ができる。すなわち、端末側では各ＵＳＢ機器のアドレスを意識する必要がなく、端末側で管理するアドレスもＵＳＢ通信装置の１つアドレスだけですむためである。
【発明を実施するための最良の形態】
【００１７】
本発明の実施の形態について図を用いて説明する。
【００１８】
図１〜４は本発明のＵＳＢコンポジット通信装置（以下、ＵＳＢ通信装置ともいう）の第１の実施形態を説明する為のもので、図１はＵＳＢ通信装置のブロック図、図２〜図４はフローチャートである。
【００１９】
図１を参照すると、ａは本発明のＵＳＢ通信装置である。ｂはコンピュータであり、ＵＳＢ通信装置ａと接続される。ｃ，ｄはＵＳＢインタフェースを備えたＵＳＢ機器であり、ここでは、プリンタやスキャナー等である。コンピュータｂは、ＵＳＢ通信装置ａを介してＵＳＢ機器ｃ及びＵＳＢ機器ｄに接続されている。
【００２０】
コンピュータｂは、コントローラｂ１を有する。
【００２１】
コントローラｂ１は、ＵＳＢ通信装置ａにアドレスを割り振る。また、コントローラｂ１は、ＵＳＢ転送データ用の通信バッファであるエンドポイントを複数有する。
【００２２】
次に、ＵＳＢ通信装置ａの構成について、図１を用いて説明する。
【００２３】
ＵＳＢ通信装置ａは、ＵＳＢデバイスコントローラａ１と、制御部ａ２と、ＵＳＢホストコントローラａ３と、記憶部ａ４とを有する。
【００２４】
ＵＳＢデバイスコントローラａ１は、コンピュータｂとネゴシエーションを行う。また、コンピュータｂより受けとったパケットを制御部ａ２に渡し、制御部ａ２から受けとったパケットをコンピュータｂに渡す。ＵＳＢデバイスコントローラａ１は、エンドポイントを複数有する。このＵＳＢデバイスコントローラａ１の各エンドポイントとコンピュータｂ側のコントローラｂ１の各エンドポイントとが１対１で接続された論理的な通信路（パイプ）を用いて、コンピュータｂとＵＳＢ通信装置ａとの間でパケットの送受信が行われる。
【００２５】
ＵＳＢホストコントローラａ３は、ＵＳＢ機器ｃ、ＵＳＢ機器ｄとネゴシエーションを行う。また、ＵＳＢ機器ｃ、ＵＳＢ機器ｄから受けとったパケットを制御部ａ２に渡し、制御部ａ２で生成されたパケットを制御部ａ２から受信し、ＵＳＢ機器ｃ、ＵＳＢ機器ｄに渡す。ここで、ネゴシエーションとは、制御方法を決定するための初期プロセスのことであり、接続先となるＵＳＢ機器／コンピュータに対してどのような制御が必要なのかが判断される。
【００２６】
ＵＳＢホストコントローラａ３は、このネゴシエーションの際、各ＵＳＢ機器からＵＳＢデバイス情報を取得する。このＵＳＢデバイス情報には、デバイスドライバ等のＵＳＢ機器の機能を識別できる情報や、インタフェース情報等のＵＳＢ通信時に必要となるインタフェースの情報が含まれる。ここで、インタフェース情報（以後、Ｉ／Ｆ情報ともいう）とは、ＵＳＢ機器の各々が有する情報であり、ＵＳＢの仕様、機能に応じて、メーカー毎にＵＳＢ機器毎に割り付けられる情報である。さらに、それぞれのインタフェース情報にはエンドポイント情報が紐付けられる。ここで、エンドポイント情報とは、通信制御用のパイプ情報であり、エンドポイントを識別するために用いられる情報である。このエンドポイント同士が接続された論理的な通信路（パイプ）を用いてパケットの転送が行われる。尚、この通信路自体のことも慣習的にエンドポイントと呼ぶ場合があるが、本明細書中では、「エンドポイントで特定される通信路」「エンドポイント同士で接続される通信路」などと区別して表現する。すなわち、ＵＳＢデバイス情報の中には、「interface0を使用し、これをendpoint1とendpoint2とで制御する」といった情報が入っていることになる。
【００２７】
尚、エンドポイント及びパイプ（通信路）の概念そのものについては既知の技術であり、本発明の必須の構成要素ではないため、これ以上の詳細な説明は省略する。
【００２８】
次に、ＵＳＢホストコントローラａ３は、エンドポイントを複数持つ。このＵＳＢホストコントローラａ３の各エンドポイントとＵＳＢ機器側の各エンドポイントとが１対１で接続された通信路を用いて、ＵＳＢ機器ｃ／ＵＳＢ機器ｄとＵＳＢ通信装置ａとの間でのパケット送受信が行われる。
【００２９】
また、ＵＳＢホストコントローラａ３は、接続されている各ＵＳＢ機器に対しアドレスを付与する。尚、各ＵＳＢ機器は、与えられたアドレスを記憶し、ネゴシエーション後の通信時に自機器宛のパケットを受信したＵＳＢ機器が、ＵＳＢホストコントローラａ３に対して応答を返すことになる。
【００３０】
ＵＳＢホストコントローラａ３により取得されたＵＳＢデバイス情報に含まれるインタフェース情報は、制御部ａ２によりユニークな情報へと再生成され、ＵＳＢデバイスコントローラａ１を介してコンピュータｂへと送信される。コンピュータｂは、この再生成された情報毎にＵＳＢ機器のポートを割り振る。
【００３１】
制御部ａ２は、コンピュータｂからパケットを受信すると、該パケットをＵＳＢ機器用のパケットに変換し、ＵＳＢ機器ｃまたはＵＳＢ機器ｄにパケットを送信する。また、ＵＳＢ機器ｃ、ＵＳＢ機器ｄからパケットを受信すると、記憶部ａ４を参照してコンピュータｂにパケットを送信する。
【００３２】
続いて、制御部ａ２の構成についてさらに具体的に説明する。
【００３３】
制御部ａ２は、パケット解析部ａ２１と、アドレス変換部ａ２２と、新エンドポイント情報設定部をさらに有する。
【００３４】
パケット解析部ａ２１は、コンピュータｂからパケットを受信すると、受信したパケットに含まれる新エンドポイント情報を解析する。さらに、パケット解析部ａ２は、ＵＳＢ機器ｃ、ＵＳＢ機器ｄのいずれかよりパケットを受信すると、受信したパケットのエンドポイント情報に対応する新エンドポイント情報を解析する。ここで、新エンドポイント情報とは、エンドポイント情報に基づいてＵＳＢ通信装置ａにより新たに生成され、ＵＳＢ通信装置ａのエンドポイントに付与された、エンドポイントを識別するためのユニークな情報である。
【００３５】
新エンドポイント情報設定部ａ２３は、パケット解析部ａ２１による解析の結果得られるエンドポイント情報を用いて、ユニークなエンドポイントの番号である新エンドポイント情報を新たに生成する。そして、ＵＳＢデバイスコントローラａ１のエンドポイント用にこの番号がアサインされる。具体的には、例えば、新エンドポイント情報設定部ａ２３は、ＵＳＢ機器ｃ，ｄから受信したエンドポイント情報がそれぞれ”ep1”“ep2””，ep1”“ep2”であれば、これを、所定のプログラムを用いて”EP1”“EP2””，EP3”“EP4”とユニークな番号に整理し、ＵＳＢ機器ｃ，ｄとの通信用として、ＵＳＢデバイスコントローラａ１のエンドポイントに該番号をアサインする。コンピュータの制御ドライバ側では、同じ通信用エンドポイントを共用できないため、このような再付与が必要になる。
【００３６】
アドレス変換部ａ２２は、コンピュータｂから受信したパケットのアドレスをＵＳＢ通信装置ａに付与されたアドレスである装置アドレスへと変換し、この変換後アドレスを含むパケットを生成してＵＳＢホストコントローラａ３に送信する。ここで、装置アドレスとは、ＵＳＢ通信装置ａが有するアドレスであり、コンピュータｂのコントローラｂ１によって割り付けられる。図５に示されるように、この装置アドレスは、各ＵＳＢ機器に付与したアドレスと関連付けられてＵＳＢ通信装置ａ内に記憶される。さらに、アドレス変換部ａ２２は、ＵＳＢ機器のいずれかから受信したパケットのアドレスをＵＳＢ通信装置ａの装置アドレスへと変換し、この変換後アドレスを含むパケットを生成してＵＳＢデバイスコントローラａ１に送信する。
【００３７】
エンドポイント変換部ａ２４は、コンピュータｂから受信したパケットに含まれる新エンドポイント情報を、新エンドポイント情報に対応するエンドポイント情報に変換する。また、ＵＳＢ機器ｃ，ｄのいずれかから応答パケットを受信すると、この受信したパケットは、変換されたエンドポイント情報に対応する新エンドポイント情報同士で接続される通信路を用いてコンピュータｂに送信される。
【００３８】
記憶部ａ４は、メモリであり、ＳＲＡＭやＳＤＲＡＭ等である。各ＵＳＢ機器から取得したインタフェース情報、エンドポイント情報、インタフェース情報に基づいて再生成／付与された新インタフェース情報、エンドポイント情報に基づいて再生成／付与された新エンドポイント情報、各ＵＳＢ機器に割り当てられたアドレス、及びＵＳＢ通信装置ａ自体に付与された装置アドレスが相互に関連付けられ、テーブルに記憶される。
【００３９】
具体的には、記憶部ａ４は、新エンドポイント情報管理テーブルａ４２と、アドレス変換テーブルａ４１とを有する。
【００４０】
新エンドポイント情報管理テーブルａ４２は、図６に示されるように、ＵＳＢホストコントローラａ３によりＵＳＢ機器から取得されたＵＳＢデバイス情報に含まれるインタフェース情報、エンドポイント情報と、新エンドポイント情報設定部ａ２３によって生成された新インタフェース情報及び新エンドポイント情報とがそれぞれ関連付けて記憶されているテーブルである。
【００４１】
アドレス変換テーブルａ４１は、新インタフェース情報・新エンドポイント情報に加えて、ＵＳＢ通信装置自身の持つアドレス、及びＵＳＢ機器のそれぞれが持つアドレスが相互に関連付けて記憶されているテーブルである。
尚、これらのテーブルに記憶された情報は、アドレス変換部ａ２２、エンドポイント変換部ａ２４により処理が行われる際に参照される。
【００４２】
次に、上記のように構成させたＵＳＢコンポジット通信装置ａの動作について説明する。まず、接続時の初期動作について、図１に加え図２のフローチャートに沿って適宜図８を用いながら説明する。
【００４３】
以下では、図８に示されるように、ＵＳＢ機器ｃ，ｄのインタフェース情報は、それぞれ“ｉｎｔ１”であり、新インタフェース情報が“ＩＮＴ１”，“ＩＮＴ２”として再生成されるものとして説明する。また、以下では、ＵＳＢ機器ｃのエンドポイント情報はｅｐ１，ｅｐ２であり、このエンドポイント情報に基づいて新たな新エンドポイント情報であるＥＰ１，ＥＰ２が生成されるものとする。また、ＵＳＢ機器ｄのエンドポイント情報はｅｐ１，ｅｐ２であり、このエンドポイント情報に基づいて新たな新エンドポイント情報であるＥＰ３，ＥＰ４が生成されるものとして説明する。すなわち、新インタフェース情報“ＩＮＴ１”に紐付けられらたＥＰ１，ＥＰ２の新エンドポイント情報、“ＩＮＴ２”に紐付けられたにＥＰ３，ＥＰ４のエンドポイントが新たに生成されるものとして説明する。
【００４４】
また、以下では、ＵＳＢ機器ｃ，ｄにはアドレス“００１”“００２”がそれぞれＵＳＢコントローラａ３により付与され、ＵＳＢ通信装置ａには、アドレス“Ｘ０１”がコントローラｂ１により付与されるものとする。
【００４５】
ＵＳＢ通信装置ａがコンピュータｂ及びＵＳＢ機器ｃ，ｄに接続され各装置及び機器の電源がオンにされると、ＵＳＢ通信装置ａは、コンピュータｂとＵＳＢ機器ｃ，ｄとの間でネゴシエーションを行う。
【００４６】
すなわち、まず、ＵＳＢホストコントローラａ３がＵＳＢ機器ｃに対し問い合わせ（ポーリング）を行い、ＵＳＢ機器ｃがＵＳＢホストコントローラａ３にレスポンス（応答）を返すことで、ネゴシエーションが行われる（ステップＳ１）。このとき、ＵＳＢホストコントローラａ３によってＵＳＢ機器ｃのＵＳＢデバイス情報が取得される。また、ＵＳＢ機器ｃには、ＵＳＢホストコントローラａ３からアドレス“００１”が付与される。
【００４７】
続いて、ＵＳＢホストコントローラａ３は、ＵＳＢ機器ｄとＵＳＢネゴシエーションを行い（ステップＳ２）、ＵＳＢホストコントローラａ３によってＵＳＢ機器ｄのＵＳＢデバイス情報が取得される。また、ＵＳＢ機器ｄには、ＵＳＢホストコントローラａ３からアドレス“００２”が付与される。
【００４８】
次に、制御部ａ２のパケット解析部ａ２１により、ＵＳＢ機器ｃとのネゴシエーション結果のデータとＵＳＢ機器ｄとのネゴシエーション結果のデータが解析される（ステップＳ３）。すなわち、ＵＳＢ機器ｃ，ｄのインタフェース情報“ｉｎｔ１”“ｉｎｔ１”が取得され、新エンドポイント情報設定部ａ２３により、“ＩＮＴ１”“ＩＮＴ２“として再生成される。さらに、パケット解析部ａ２１により、ＵＳＢ機器ｃ，ｄのインタフェース情報“ｉｎｔ１”“ｉｎｔ１”のそれぞれに対応するエンドポイント情報“ｅｐ１”“ｅｐ２”，“ｅｐ１”“ｅｐ２”が取得され、新エンドポイント情報設定部ａ２３により、“ＥＰ１”“ＥＰ２”，“ＥＰ３”“ＥＰ４”が生成される。この新たな新エンドポイント情報は、ＵＳＢ通信装置のＵＳＢデバイスコントローラａ１のエンドポイントにアサインされる。
【００４９】
次に制御部ａ２は、ＵＳＢデバイスコントローラａ１を制御し、コンピュータｂとネゴシエーションを行う（ステップＳ４）。このネゴシエーションにより、新インタフェース情報“ＩＮＴ１””ＩＮＴ２“と、それぞれの新インタフェース情報に対応する新エンドポイント情報”ＥＰ１，ＥＰ２“”ＥＰ３，ＥＰ４“とがコンピュータｂに渡される。
【００５０】
ステップＳ１〜Ｓ４のネゴシエーションの結果、パケット解析部ａ２１により解析されたインタフェース情報“ｉｎｔ１”“ｉｎｔ１”、新エンドポイント情報設定部ａ２３により再付与されたインタフェース“ＩＮＴ１”ＩＮＴ２“及び”ＩＮＴ１“に対応する新エンドポイント情報”ＥＰ１，ＥＰ２“と”ＩＮＴ２“に対応する新エンドポイント情報”ＥＰ３“，ＥＰ４”とが制御部ａ２を介して記憶部ａ４に渡される。また、ＵＳＢ機器ｃ，ｄ付与されたアドレス”００１“”００２“、コンピュータｂにより付与されたＵＳＢ変換機ａのアドレス（装置アドレス：”Ｘ０１“）も、制御部ａ２を介して記憶部ａ４に渡される。そして、図５，図６に示されるように、アドレス変換テーブル・新エンドポイント情報管理テーブルに相互に関連付けられて記憶される。以上により初期動作が完了する。
【００５１】
続いて、ＵＳＢ通信装置ａがコンピュータｂからパケットを受信した際の実際の動作について、図１と図３を用いて説明する。
【００５２】
ここでは、ＵＳＢ機器ｃはスキャナー，ＵＳＢ機器ｄはプリンタであるとして説明するが、他のＵＳＢインタフェースを備えた機器を接続する形であってもよい。
【００５３】
また、ここでは、コンピュータｂによって、インタフェース:ＩＮＴ１にＵＳＢ機器ｃ（スキャナー）のポートであるＵＳＢＬＰＴ１ポートが割り当てられ、インタフェース：ＩＮＴ２にはＵＳＢ機器ｄ（プリンタ）のポートであるＵＳＢＬＰＴ２ポートが割り当てられたものとして説明する。
【００５４】
また、以下では、説明の便宜のため、コンピュータｂからの問い合わせがプリンタ（ＵＳＢ機器ｄ）に対して発生したものとして説明する。
【００５５】
コンピュータｂの操作者がＵＳＢＬＰＴ２ポートを選択し、ＵＳＢ機器ｄ（プリンタ）に対する利用要求が発生すると、ＵＳＢデバイスコントローラａ１は、コンピュータｂからの宛先アドレス“Ｘ０１”と新エンドポイント情報（ここではＥＰ３，ＥＰ４）とが含まれたパケットを受信する（ステップＳ１１：Ｙｅｓ）。パケットの受信を検知した制御部ａ２のパケット解析部ａ２１では、受信したパケットに含まれる新エンドポイント情報を解析し、ＵＳＢ機器ｃを宛先とするパケットなのか否かを調べる（ステップＳ１２）。新エンドポイント情報に“ＥＰ１”もしくは“ＥＰ２”が無く、ＵＳＢ機器ｃを宛先とするパケットでないと判断すると（ステップＳ１２：Ｎｏ）、続いてパケット解析部ａ２１は、ＵＳＢ機器ｄを宛先とするパケットなのかどうかを調べる（ステップＳ１３）。
【００５６】
受信したパケットには、ＵＳＢ機器ｄの新エンドポイント情報である“ＥＰ３”もしくは“ＥＰ４”の情報が含まれている為、パケット解析部ａ２１によってＵＳＢ機器ｄを宛先とするパケットであると判断され（ステップＳ１３：Ｙｅｓ）、アドレス変換部ａ２２によって、ＵＳＢ機器ｄのパケット構成に変換される（ステップＳ１５）。具体的には、制御部ａ２のアドレス変換部ａ２２が、図５に示されるアドレス変換テーブルａ４１を参照し、受信したパケットに含まれる新エンドポイント情報である“ＥＰ３”もしくは“ＥＰ４”の情報をキーとして、コンピュータｂから受信したパケットに含まれるアドレス“Ｘ０１”を、ＵＳＢ機器ｄのアドレス“００２”へと変換する。さらに、エンドポイント変換部ａ２４により、図６の例で示される新エンドポイント情報管理テーブルａ４２が参照され、新エンドポイント情報“ＥＰ３，ＥＰ４”はエンドポイント情報ｅｐ１，ｅｐ２に変換される。
【００５７】
続いて、制御部ａ２は、この変換後アドレス（ここでは“００２”）と変換後エンドポイント情報（ここではｅｐ１，ｅｐ２）とが含まれるパケットを、ＵＳＢホストコントローラａ３を介してＵＳＢ機器ｃ，ｄへと送信する（ステップＳ１７）。尚、各装置間の通信時にパケットに含まれ使用される情報については、図８に示される。
【００５８】
ＵＳＢホストコントローラａ３から送信されたパケットを受信した各ＵＳＢ機器では、受信したパケットのアドレスが、初期動作時にＵＳＢホストコントローラａ３からアサインされた自ノードのアドレスと一致するかどうかを比較し、一致する場合には応答を返す。ここでは、受信したパケットのアドレスが“００２”であり、ＵＳＢ機器ｄの記憶しているアドレス“００２”と一致していることになるため、ＵＳＢ機器ｄが応答を返すことになる。
【００５９】
続いて、ＵＳＢ通信装置ａが、ＵＳＢ機器ｄからの応答パケットを受信した際の動作について、図１と図４とを用いて説明する。
【００６０】
ＵＳＢホストコントローラａ３は、ＵＳＢ機器ｃ、ｄに対して、問い合わせ（ポーリング）を行っている。
【００６１】
問い合わせ（ポーリング）に対して、ＵＳＢ機器ｄからの応答があった場合、パケット解析部ａ２１はＵＳＢ機器ｄからのパケットであると判断する（ステップ２２：Ｙｅｓ）。
【００６２】
次に、制御部ａ２のアドレス変換部ａ２２は、アドレス変換テーブルａ４１を参照し、ＵＳＢ機器ｄのアドレス“００２”をＵＳＢ通信装置ａのアドレス（装置アドレス）“Ｘ０１”に変換する。また、エンドポイント変換部ａ２４により、新エンドポイント情報管理テーブルａ４２が参照され、エンドポイント情報ｅｐ１，ｅｐ２は新エンドポイント情報ＥＰ３，ＥＰ４に変換される(ステップＳ２３)。
【００６３】
続いて、制御部ａ２は、この変換後アドレス、変換後エンドポイント情報（新エンドポイント情報：ＥＰ３，ＥＰ４）を含むパケットを、ＵＳＢデバイスコントローラａ１を介してコンピュータｂへと送信する（ステップＳ２４）。コンピュータｂ側では、新インタフェース情報ＩＮＴ２に対応付けられたＵＳＢＬＰＴ２ポートを用いて、図８に示されるように、新エンドポイント情報“ＥＰ３，ＥＰ４”のそれぞれに対応する通信路である“通信路：ＥＰ３”と“通信路：ＥＰ４”を使用して、ＵＳＢ機器ｄとの通信を行う。
【００６４】
上記第１の実施の形態においては、ＵＳＢ機器ｄからの応答パケットを受信した場合に、アドレス変換部ａ２２がＵＳＢ機器のアドレスをＵＳＢ通信装置ａのアドレス（装置アドレス）“Ｘ０１”にさらに変換し、エンドポイント変換部ａ２４が、エンドポイント情報ｅｐ１，ｅｐ２を新エンドポイント情報ＥＰ３，ＥＰ４にさらに変換する構成を例にとって説明したが、逆変換は必須の構成要素ではない。応答パケットの送信先がコンピュータｂになることは自明であり、受信したパケットの情報に基づいてコンピュータｂのアドレスを宛先とし、記憶部ａ４を参照して、受信したパケットに含まれるエンドポイント情報に対応する新エンドポイント情報で構成される通信路を用いて応答パケットを直接端末に返すようにしてもよい。
【００６５】
また、上記実施の形態では、エンドポイント情報から新エンドポイント情報を直接生成したが、エンドポイント情報とアドレスとから新エンドポイント情報を生成するようにしてもよい。
【００６６】
上記第１の実施の形態においては、ＵＳＢ通信装置が、エンドポイント情報をＵＳＢ機器から取得してユニークなエンドポイント情報を生成する生成手段と、生成したエンドポイント情報と前記取得したエンドポイント情報とを関連付けて記憶する記憶手段とを備え、取得したエンドポイント情報に対応するユニークなエンドポイント情報を使用して親機である端末と通信を行うため、端末側では、本発明のＵＳＢ通信装置によって提供され統一されたユニークなエンドポイント情報で特定されるエンドポイントを使用することができ、端末が複数のＵＳＢ機器と通信をする際の端末側の制御負荷を軽減させることができる。
【００６７】
さらに、本発明のＵＳＢ通信装置は、親機である端末との通信に際して、ＵＳＢ機器のアドレスではなく生成手段により生成された新エンドポイント情報を使用する通信手段を有するため、親機である端末の内部で管理するアドレスの数を、実際に接続されるＵＳＢ機器の台数分よりも少なくすることができ、アドレスリソースの有効利用が図れる。
【００６８】
上記第１の実施の形態では、接続された複数のＵＳＢ機器がたまたま同一のインタフェース情報を有しているものとして説明したが、接続された複数のＵＳＢ機器が異なるインタフェース情報を有している場合であっても、本発明の制御技術が適用可能であることは言うまでもない。
【００６９】
上記第１の実施の形態では、コンピュータｂに本発明のＵＳＢ通信装置ａを１台接続する場合を例にとって説明したが、コンピュータｂに複数台のＵＳＢ通信装置ａを接続してより多くのＵＳＢ機器を接続してもよい。
【００７０】
また、上記第１の実施の形態では、１台のＵＳＢ通信装置ａに２台分のＵＳＢ機器が接続できるものとして説明したが、これに限ることはない。ＵＳＢデバイスコントローラ，ＵＳＢホストコントローラのエンドポイント数を増やすことで、より多くのＵＳＢ機器が接続できるようにすることもできる。
【００７１】
上記実施の形態では、各制御部分をハードウェアで構成したが、各部の一部または全部をプログラムとして情報処理装置に機能させるようにすることもできる。
【００７２】
次に、第２の実施の形態について、図７を用いて説明する。
【００７３】
図７を見ると、本発明のＵＳＢ通信装置ａは、ＵＳＢホストコントローラａ３と接続されるＵＳＢ機器ｈ１〜ｈ４の間にＵＳＢハブコントローラａ５を設けている。
【００７４】
ＵＳＢハブコントローラａ５は、ＵＳＢ機器と接続するためのエンドポイント及び物理的なＵＳＢ接続用のポートを有しており、ＵＳＢホストコントローラａ３で不足するＵＳＢ機器の接続ポート数を増やす役割を持つ。その他の構成部分の機能については、上述した第１，２の実施の形態と同一であり、同一の構成部分においては同一の符号を付して、詳細な説明は省略する。
【００７５】
また、ＵＳＢ通信装置ａと各ＵＳＢ機器ｈ１〜ｈ４とのネゴシエーション、アドレスの変換動作は、第１，第２の実施の形態と同様であり、ＵＳＢホストコントローラａ３と各ＵＳＢ機器ｈ１〜ｈ４と間で行われるパケットのやりとりは、ＵＳＢハブコントローラａ５を介して行われる。
【００７６】
上記第２の実施の形態においては、ＵＳＢ通信装置ａがハブの機能を有するため、分岐装置を使用せずに複数のＵＳＢ機器を接続することができ、より効率的にアドレスリソースの有効利用を図ることができる。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１の実施の形態を示すブロック図。
【図２】本発明の初期動作のフローを示すフローチャート。
【図３】本発明のＵＳＢ機器あてパケットの流れを示すフローチャート。
【図４】本発明のＵＳＢ機器からのパケットの流れを示すフローチャート。
【図５】本発明の第１の実施の形態におけるアドレス変換テーブルの例を示す図。
【図６】本発明の第１の実施の形態における新エンドポイント情報管理テーブルの例を示す図。
【図７】本発明の第２の実施の形態を示すブロック図。
【図８】本発明の装置による通信時に用いられる情報の例を示す図。
【符号の説明】
【００７８】
ａ        ＵＳＢコンポジット通信装置
ｂ        コンピュータ
ｃ        ＵＳＢ機器
ｄ        ＵＳＢ機器
ｅ        ＵＳＢコンポジット通信装置
ｆ        分岐装置
ｇ        ＵＳＢ機器
ａ１      ＵＳＢデバイスコントローラ
ａ２      制御部
ａ３      ＵＳＢホストコントローラ
ａ４      記憶部
ａ２１    パケット解析部
ａ２２    アドレス変換部
ａ２３    新エンドポイント情報設定部
ａ２４    エンドポイント変換部
ａ４１    アドレス変換テーブル
ａ４２    新エンドポイント情報管理テーブル
特許出願人  日本電気株式会社
代理人      宇高  克己
【図１】
2008123417.tif 000003
【図２】
2008123417.tif 000004
【図３】
2008123417.tif 000005
【図４】
2008123417.tif 000006
【図５】
2008123417.tif 000007
【図６】
2008123417.tif 000008
【図７】
2008123417.tif 000009
【図８】
2008123417.tif 000010