説明

USB接続装置、及びUSB接続方法

【課題】USB仕様に基づく初期化処理により同一のデバイス機器に対して個々のホスト機器が独立して付与するデバイス固有番号をホスト機器単位に管理することで、それぞれのホスト機器から当該デバイス機器へデータ通信すること。
【解決手段】複数のホスト機器と接続される複数のUSBアップポートと、デバイス機器に接続される少なくとも1つのUSBダウンポートとを有するUSB接続装置であって、USBダウンポートに接続しているデバイス機器を当該USB接続装置が識別するためのデバイス識別情報と、第1のホスト機器が第1のUSBアップポートに接続された場合に第1のホスト機器がデバイス機器を特定するための第1のデバイス特定情報と、第2のホスト機器が第2のUSBアップポートに接続された場合に第2のホスト機器がデバイス機器を特定するための第2のデバイス特定情報とを関連付けて格納するデバイス情報記憶部を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のホスト機器に接続される複数のUSB(Universal Serial Bus)アップポートと、デバイス機器に接続される少なくとも1つのUSBダウンポートとを有するUSB接続装置、及びUSB接続方法に関し、特に複数のホスト機器とデバイス機器とが接続された際に、USB仕様に基づく初期化処理により同一のデバイス機器に対して複数のホスト機器各々が独立して付与するデバイス固有番号を用いて、それぞれのホスト機器から当該デバイス機器へのデータ通信を行うUSB接続装置、及びUSB接続方法に関する。
【背景技術】
【0002】
昨今、多くのパーソナルコンピュータや携帯端末機器などには、USBインタフェースが備えられている。パーソナルコンピュータなどのセット装置でなくとも、例えば、アプリケーションプロセッサと呼ばれるCPU(Central Processing Unit)やビデオアクセラレータなどを1チップに実装したLSI(Large Scale Integration)にも、USBインタフェースが実装されている。このように、USBは多くのセット機器やLSIを含む半導体集積回路装置全般に備えられているインタフェースである。
【0003】
USBインタフェースの特徴は、前述のとおり多くの機器などで採用されていること、データ転送プロトコルなどの仕様(以下、USB仕様)が厳格に規定されていること、及び当該仕様がWEB上で無償公開(非特許文献1)されていること、が挙げられる。これにより、公開されている仕様を満たすUSBインタフェースをセット機器や半導体集積回路装置に実装することで、多くの機器に容易に接続でき、データの相互通信が可能になるという利点がある。
【0004】
USB仕様によれば、あるホスト機器とあるデバイス機器をUSB接続するとき、該ホスト機器と該デバイス機器の間で初期化処理が行われる。USB仕様では、1つのホスト機器に対して複数のデバイス機器を接続するのは許可されているため、該初期化処理において、該ホスト機器は、該複数のデバイス機器のそれぞれに対してデバイス機器を識別するデバイス固有番号を付与するエニュメレーション処理を行う。該ホスト機器と該デバイス機器の間のデータ通信等は、デバイス固有番号に基づき行われる。
【0005】
しかし、USB仕様は、1つのデバイス(スレーブ)機器に対して複数のホスト(マスタ)機器を接続することには対応していないという課題を有する。例えば、USB仕様では、1つのデータ記憶端末を同時に複数のパーソナルコンピュータで共有できない。このような、USB仕様における課題を解決するために、例えば、特許文献1や特許文献2に示される提案がなされている。
【0006】
特許文献1では、USB仕様に基づくデータ通信を用いてホスト機器間でネットワーク通信を行うシステム及び、装置ハブが開示されている。当該システムは、複数のホスト機器とデバイス機器との間に装置ハブを備え、また、当該装置ハブは、ホスト機器とデバイス機器とを1対1に接続するサブハブと、複数のサブハブ間をネットワーク接続する仮想ネットワークアダプタとを有する。これにより、複数のホスト機器をデバイス機器と接続することが可能とするものである。
【0007】
また、特許文献2では、複数のホスト機器でデバイス機器を切り替え操作なしに共有することができるUSBハブが開示されている。特許文献2における複数のホスト機器は、送信先のデバイス機器のアドレスを付加したパケットを送信し、デバイス機器は、自身に割り当てられたアドレス宛のパケットを受信する。また、特許文献2におけるUSBハブは、複数のホスト機器を接続する第1のポートと、デバイス機器を接続する第2のポートと、第1のポート及び第2のポートから入力されるパケットデータを一時保持するFIFOメモリと、を備える。そして、当該USBハブは、FIFOメモリに保持されたパケットデータに付加されたアドレスに基づき、ホスト機器とデバイス機器との接続を確立する。
【非特許文献1】"Universal Serial Bus Specification"、[online]、USB Implementers Forum, Inc. 、[平成20年3月27日検索]、インターネット<URL:http://www.usb.org/>
【特許文献1】特開2000−315184号公報
【特許文献2】特開2003−256351号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、上述した特許文献1、及び特許文献2では、複数のホスト機器によりUSBハブを介してデバイス機器を共有することができるが、USB仕様に基づく初期化処理により複数のホスト機器が各々デバイス機器に付与するデバイス固有番号(アドレス)を複数のホスト機器の間でどのように共有するかについては、開示されていない。そのため、特許文献1、及び特許文献2には、複数のホスト機器が同一のデバイス機器に対して異なるデバイス固有番号を付与してしまう可能性があるという問題点がある。
【0009】
複数のホスト機器がUSB仕様に基づいて1つのデバイス機器を共有する場合、複数のホスト機器間で交互に該デバイス機器に対して接続及び切断を行う必要がある。例えば、複数のパーソナルコンピュータである記憶端末を共有する場合、一方のパーソナルコンピュータと該記憶端末をUSB仕様に基づいて接続し、データ通信を終えた後に、当該パーソナルコンピュータと該記憶端末とのUSB接続を解除し、その後に、他方のパーソナルコンピュータと該記憶端末を接続する必要がある。その際、接続の度に、各々のホスト機器は、初期化処理により該デバイス機器にデバイス固有番号を付与する。
【0010】
そして、特許文献1、及び特許文献2のように、USB仕様における初期化処理を考慮せずに、デバイス機器に接続されたUSBハブに対して複数のホスト機器を接続する場合、ホスト機器ごとに付与されるデバイス機器のデバイス固有番号が一致する保証がないため、一方のホスト機器から当該デバイス機器へアクセス可能であっても、他方のホスト機器からは、USBハブを介して接続されているにも関わらず、アクセスできない可能性がある。
【0011】
例えば、このような課題が発生する原理の概念図を図11に示す。まず、図11(a)では、USBハブに接続された第1のホスト機器10−1が、当該USBハブに接続されたデバイス機器に対して初期化処理によりデバイス固有番号221として「a」を付与する。そして、USBハブは、第1のホスト機器10−1から受信したデバイス固有番号221をデバイス情報記憶部22へ格納する(S111)。次に、図11(b)では、USBハブに接続された第2のホスト機器10−2が、当該USBハブに接続されたデバイス機器、すなわち、図11(a)と同一のデバイス機器に対して初期化処理によりデバイス固有番号222として「b」を付与する。そして、USBハブは、第2のホスト機器10−2から受信したデバイス固有番号222をデバイス情報記憶部22へ格納する(S112)。このとき、デバイス情報記憶部22において、デバイス固有番号221からデバイス固有番号222へ上書きされることとなる。この状態で、第1のホスト機器10−1から当該デバイス機器へアクセスを行う場合、第1のホスト機器10−1は、デバイス固有番号221である「a」によりアクセス要求を行う。そして、USBハブは、図11(c)に示すように、デバイス固有番号221をデバイス情報記憶部22の中から検索を行う(S113)。しかし、このとき、デバイス情報記憶部22の中からデバイス固有番号221が検索されないため、第1のホスト機器10−1から当該デバイス機器へ正常にアクセスが行えない可能性がある。
【課題を解決するための手段】
【0012】
本発明にかかるUSB接続装置は、第1のホスト機器が接続する第1のUSBアップポートと、第2のホスト機器が接続する第2のUSBアップポートと、デバイス機器が接続する少なくとも1つのUSBダウンポートと、前記第1のUSBアップポート又は前記第2のUSBアップポートを介して受信したデータ通信要求を前記USBダウンポートへ送信する制御部と、前記第1のホスト機器が前記第1のUSBアップポートに接続された場合に前記第1のホスト機器が前記デバイス機器を特定するための第1のデバイス特定情報と、前記第2のホスト機器が前記第2のUSBアップポートに接続された場合に前記第2のホスト機器が前記デバイス機器を特定するための第2のデバイス特定情報と、前記制御部が前記デバイス機器を識別するためのデバイス識別情報とを関連付けてデバイス対応情報として格納するデバイス情報記憶部とを備える。
【0013】
本発明にかかるUSB接続方法は、第1のホスト機器が接続する第1のUSBアップポートと、第2のホスト機器が接続する第2のUSBアップポートと、デバイス機器が接続する少なくとも1つのUSBダウンポートとを有するUSB接続装置におけるUSB接続方法である。前記第1のホスト機器が前記第1のUSBアップポートに接続された場合に、前記第1のUSBアップポートを介して受信される前記デバイス機器を特定する第1のデバイス特定情報と、前記USB接続装置が前記デバイス機器を識別するデバイス識別情報とを関連付けて記憶部に格納するステップと、前記第2のホスト機器が前記第2のUSBアップポートに接続された場合に、前記第2のUSBアップポートを介して受信される前記デバイス機器を特定する第2のデバイス特定情報と、前記デバイス識別情報とを関連付けて前記記憶部に格納するステップと、前記第1又は第2のホスト機器から前記第1又は第2のデバイス特定情報を含んだデータ通信要求を受信するステップと、前記データ通信要求を受信するステップで受信したデータ通信要求に含まれる前記第1又は第2のデバイス特定情報に関連付けられた前記デバイス識別情報を前記記憶部から取得するステップと、前記取得するステップで取得したデバイス識別情報により識別される前記デバイス機器へ当該データ通信要求を送信する送信ステップと、を備える。
【0014】
上述した構成、及び方法によれば、本発明にかかるUSB接続装置は、当該USB接続装置に接続されたデバイス機器を当該USB接続装置が識別するためのデバイス識別情報と、当該USB接続装置に接続された第1及び第2のホスト機器それぞれが当該デバイス機器に対して行うエニュメレーションにより付与される第1及び第2のデバイス固有番号とのそれぞれと関連付けを行う。
【0015】
ここで、上述した本発明の解決手段による作用効果の概念図を図12に示す。まず、第1のホスト機器10−1は、当該USB接続装置に接続されたデバイス機器に対して初期化処理を行う。このとき、図12(a)では、図11(a)とは異なり、USB接続装置は、第1のホスト機器10−1から受信したデバイス固有番号221をデバイス情報記憶部22−1へ格納する(S121)。次に、第2のホスト機器10−2は、当該USB接続装置に接続されたデバイス機器に対して初期化処理を行う。このとき、図12(b)では、図11(b)とは異なり、USB接続装置は、第2のホスト機器10−2から受信したデバイス固有番号222をデバイス情報記憶部22−2へ格納する(S122)。この状態で、第1のホスト機器10−1から当該デバイス機器へアクセスを行う場合、第1のホスト機器10−1は、デバイス固有番号221である「a」によりアクセス要求を行う。そして、USB接続装置は、図12(c)に示すように、デバイス固有番号221をデバイス情報記憶部22−1の中から検索を行う(S123)。このとき、デバイス情報記憶部22−1の中からデバイス固有番号221が検索されるため、当該USB接続装置は、デバイス固有番号221に関連付けられたデバイス識別情報から当該USB接続装置に接続されているデバイス機器を判別し、第1のホスト機器10−1と当該デバイス機器とのデータ通信の中継を行うことができる。同様に、第2のホスト機器10−2から当該デバイス機器へアクセスを行う場合、USB接続装置は、デバイス情報記憶部22−2の中からデバイス固有番号222を検索することで、デバイス固有番号222に関連付けられたデバイス識別情報から当該USB接続装置に接続されているデバイス機器を判別し、第2のホスト機器10−2と当該デバイス機器とのデータ通信の中継を行うことができる。そのため、1つのデバイス機器に対し、個々のホスト機器が付与するデバイス固有番号の一致のいかんにかかわらず、USB仕様に基づいて複数のホスト機器が同一のデバイス機器を共有することができる。
【発明の効果】
【0016】
本発明により、USB仕様に基づく初期化処理において同一のデバイス機器に対して個々のホスト機器が独立して付与するデバイス固有番号をホスト機器単位に管理することで、それぞれのホスト機器から当該デバイス機器へのデータ通信を実現することができるUSB接続装置、及び、USB接続方法を提供することができる。
【発明を実施するための最良の形態】
【0017】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【0018】
発明の実施の形態1.
図10は、本発明の実施の形態1にかかるUSB接続装置の一例であるマルチホストUSBハブの機器構成図を示すブロック図である。図10に示すマルチホストUSBハブ20は、複数のホスト機器10−1、10−2、・・・、及び10−nと、複数のデバイス機器30−1、30−2、・・・、及び30−mとの間のデータ通信をUSB仕様に基づいて行うためのUSBハブ装置であり、半導体集積回路装置である。
【0019】
ここで、ホスト機器10−1、10−2、・・・、及び10−nは、USB仕様に基づいて任意のデバイス機器へアクセスし、データ通信を行うためのUSBインタフェース(不図示)を備えた機器である。そのため、例えば、ホスト機器10−1は、当該USBインタフェースに任意のデバイス機器が接続された場合に、USB仕様に基づいた初期化処理によりエニュメレーション処理が行われ、当該接続されたデバイス機器を特定するためのデバイス固有番号を付与し、ホスト機器10−1に当該デバイス固有番号を格納する。また、以降、ホスト機器10−1は、当該デバイス機器がUSBインタフェースに接続されている間、当該デバイス固有番号に基づいて当該デバイス機器とのデータ通信を行う。ホスト機器10−1、10−2、・・・、及び10−nは、例えば、パーソナルコンピュータや携帯端末機器等であればよい。尚、本発明の実施の形態1にかかるホスト機器の台数は、2台以上であればよい。
【0020】
また、デバイス機器30−1、30−2、・・・、及び30−mは、USB仕様に基づく入出力を受け付け、応答を行うためのUSBインタフェース(不図示)を備えた機器である。そのため、例えば、デバイス機器30−1は、当該USBインタフェースに任意のホスト機器、又はUSBハブ装置が接続され、接続先により正常にエニュメレーションされた後に、当該接続先からのデータ通信要求に応じて入出力の受付、応答を行うことができる。デバイス機器30−1、30−2、・・・、及び30−mは、例えば、ハードディスク装置、プリンタ装置等であればよい。尚、本発明の実施の形態1にかかるデバイス機器の台数は、1台以上であればよい。
【0021】
マルチホストUSBハブ20は、ホスト機器10−1、10−2、・・・、及び10−nのそれぞれと接続するためのUSBアップポートインタフェース21−1、21−2、・・・、及び21−nと、デバイス機器30−1、30−2、・・・、及び30−mのそれぞれと接続するためのUSBダウンポートインタフェース24−1、24−2、・・・、及び24−mと、デバイス情報記憶部22−1、22−2、・・・、及び22−nと、ルート制御装置23とを備える。
【0022】
USBアップポートインタフェース21−1、21−2、・・・、及び21−nは、USB仕様に基づくインタフェース端子であり、ホスト機器10−1、10−2、・・・、及び10−nのそれぞれが備えるUSBインタフェースと接続され、接続されたホスト機器10−1、10−2、・・・、及び10−nとデバイス機器との通信を中継する。尚、本発明の実施の形態1にかかるマルチホストUSBハブ20におけるUSBアップポートインタフェースの数は、2つ以上であればよい。
【0023】
USBダウンポートインタフェース24−1、24−2、・・・、及び24−mは、USB仕様に基づくインタフェース端子であり、デバイス機器30−1、30−2、・・・、及び30−mのそれぞれが備えるUSBインタフェースと接続され、接続されたデバイス機器30−1、30−2、・・・、及び30−mとホスト機器との通信を中継する。尚、本発明の実施の形態1にかかるマルチホストUSBハブ20におけるUSBダウンポートインタフェースの数は、1つ以上であればよい。
【0024】
デバイス情報記憶部22−1、22−2、・・・、及び22−nは、それぞれUSBアップポートインタフェース21−1、21−2、・・・、及び21−nに対応し、対応する各ホスト機器のエニュメレーションにより付与されるデバイス固有情報と、マルチホストUSBハブ20がUSBダウンポートインタフェースに接続されたデバイス機器を識別するためのデバイス識別情報との対応を関連付けたデバイス対応情報を記憶する記憶装置である。ここで、デバイス識別情報とは、マルチホストUSBハブ20がUSBダウンポートインタフェース24−1、24−2、・・・、及び24−mのいずれかに接続されたデバイス機器へアクセスするために用いられる情報である。デバイス識別情報は、例えば、マルチホストUSBハブ20がいずれかのUSBダウンポートインタフェースに接続されたデバイス機器に対してエニュメレーションにより付与するデバイス固有情報であるか、又は、USBダウンポートインタフェース24−1、24−2、・・・、及び24−mのポートアドレス情報等であればよい。尚、デバイス識別情報がポートアドレス情報である場合、予めデバイス情報記憶部22−1、22−2、・・・、及び22−nに格納されていればよい。
【0025】
例えば、デバイス情報記憶部22−1は、USBアップポートインタフェース21−1を介して取得されるホスト機器10−1により付与されたデバイス固有情報及び当該デバイス固有情報との対応付けのためのデバイス対応情報を記憶する。
【0026】
尚、本発明の実施の形態1にかかるマルチホストUSBハブ20におけるデバイス情報記憶部22−1、22−2、・・・、及び22−nは、物理的に一つの記憶装置とし、論理的に分割してUSBアップポートインタフェース21−1、21−2、・・・、及び21−nに関するデバイス対応情報を記憶してもよい。または、デバイス情報記憶部22−1、22−2、・・・、及び22−nが物理的に一つの記憶装置である場合、マルチホストUSBハブ20がデバイス機器を識別するためのデバイス識別情報と、ホスト機器10−1、10−2、・・・、及び10−nのそれぞれにより付与されるデバイス固有情報と、を対応付けて一括管理してもよい。
【0027】
ルート制御装置23は、複数のホスト機器と、複数のデバイス機器とのデータ通信を制御する制御装置である。具体的には、ルート制御装置23は、USBアップポートインタフェース21−1、21−2、・・・、及び21−nにホスト機器が接続されたことを検知し、エニュメレーション処理を実行し、付与されたデバイス固有番号を該当するデバイス情報記憶部22−1、22−2、・・・、又は22−nに格納する。また、ルート制御装置23は、USBアップポートインタフェース21−1、21−2、・・・、又は21−nを介してデータ通信要求を受信し、デバイス情報記憶部22−1、22−2、・・・、又は22−nを参照し、対応するUSBダウンポートインタフェースへ送信する。また、ルート制御装置23は、ホスト機器10−1、10−2、・・・、又は10−nからのデータ通信要求を、対応するデバイス機器30−1、30−2、・・・、又は30−mのいずれかへ送信できない場合、要求元のホスト機器へその旨を通知する。尚、ルート制御装置23は、USBダウンポートインタフェース24−1、24−2、・・・、及び24−mにデバイス機器が接続されたことを検知し、エニュメレーション処理を実行し、付与されたデバイス固有番号をデバイス情報記憶部22−1、22−2、・・・、及び22−nに格納するようにしてもよい。
【0028】
以下では、本発明の実施の形態1にかかるマルチホストUSBハブにおけるエニュメレーション処理、及びデータ通信処理を例示する。ここでは、図1に2台のホスト機器と2台のデバイス機器とをUSB接続するマルチホストUSBハブ103の一実施例の機器構成図を示すブロック図を示す。尚、図1の各構成要素については、図10の一部分として対応関係が明らかなため、説明は省略する。
【0029】
図2は、本発明の実施の形態1にかかるマルチホストUSBハブへのホスト機器、及びデバイス機器の接続の流れを示すフローチャート図である。ここでは、図1のマルチホストUSBハブ103にデバイス機器111、デバイス機器112、ホスト機器101、及びホスト機器102が接続されていない状態とする。
【0030】
まず、マルチホストUSBハブ103にデバイス機器111が接続される(S201)。具体的には、USBダウンポートインタフェース109にデバイス機器111が接続される。
【0031】
次に、マルチホストUSBハブ103がデバイス機器111に対して、エニュメレーション処理を実行する(S202)。このとき、ルート制御装置108は、デバイス機器111がUSBダウンポートインタフェース109に接続されたことを検知し、デバイス機器111に対してデバイス固有番号を付与し、デバイス情報記憶部106、及びデバイス情報記憶部107へ格納する。
【0032】
続いて、マルチホストUSBハブ103にデバイス機器112が接続される(S203)。具体的には、USBダウンポートインタフェース110にデバイス機器112が接続される。
【0033】
次に、マルチホストUSBハブ103がデバイス機器112に対して、ステップS202と同様に、エニュメレーション処理を実行する(S204)。このとき、ルート制御装置108は、デバイス機器112がUSBダウンポートインタフェース110に接続されたことを検知し、デバイス機器111に対してデバイス固有番号を付与し、デバイス情報記憶部106、及びデバイス情報記憶部107へ格納する。
【0034】
その後、マルチホストUSBハブ103にホスト機器101が接続される(S205)。具体的には、USBアップポートインタフェース104にホスト機器101が接続される。
【0035】
次に、ホスト機器101がマルチホストUSBハブ103に対して、エニュメレーション処理を実行する(S206)。尚、ホスト機器101におけるエニュメレーション処理は、USB仕様に示される従来の機能で実現される処理であるため、説明を省略する。
【0036】
そして、ホスト機器101がデバイス機器111、及びデバイス機器112に対して、エニュメレーション処理を実行する(S207)。このとき、ルート制御装置108は、ホスト機器101からUSBアップポートインタフェース104を介して受信するデバイス機器111、及びデバイス機器112に対するデバイス固有番号と、マルチホストUSBハブ103により付与されたデバイス機器111、及びデバイス機器112に対するデバイス固有番号とを関連付けてデバイス情報記憶部106に格納する。尚、ステップS207の処理の詳細は、図3に後述する。
【0037】
続いて、マルチホストUSBハブ103にホスト機器102が接続される(S208)。具体的には、USBアップポートインタフェース105にホスト機器102が接続される。
【0038】
次に、ホスト機器102がマルチホストUSBハブ103に対して、ステップS206と同様に、エニュメレーション処理を実行する(S209)。尚、ホスト機器102におけるエニュメレーション処理は、USB仕様に示される従来の機能で実現される処理であるため、説明を省略する。
【0039】
そして、ホスト機器102がデバイス機器111、及びデバイス機器112に対して、ステップS207と同様に、エニュメレーション処理を実行する(S210)。このとき、ルート制御装置108は、ホスト機器102からUSBアップポートインタフェース105を介して受信するデバイス機器111、及びデバイス機器112に対するデバイス固有番号と、マルチホストUSBハブ103により付与されたデバイス機器111、及びデバイス機器112に対するデバイス固有番号とを関連付けてデバイス情報記憶部107に格納する。尚、ステップS210の処理の詳細は、ステップS207と同様であるため、説明を省略する。
【0040】
このとき、ホスト機器101によりデバイス機器111に対して付与されるデバイス固有番号と、ホスト機器102によりデバイス機器111に対して付与されるデバイス固有番号とは、それぞれUSB仕様に基づいて独自に付与されるため、それぞれのデバイス固有番号が同じであるか否かは保障されない。つまり、これらのデバイス固有番号は、同一のデバイス機器に対して別々の番号が付与される可能性がある。
【0041】
尚、図2においては、マルチホストUSBハブ103に接続される順番が、デバイス機器111、デバイス機器112、ホスト機器101、ホスト機器102という、全てのデバイス機器が接続された後に、全てのホスト機器が接続される例であるが、これに限定されない。すなわち、マルチホストUSBハブ103に接続される順番は、例えば、全てのホスト機器が接続された後に、全てのデバイス機器が接続されるか、又は、ホスト機器及びデバイス機器が交互に接続される若しくはその他の組み合わせなど、接続される順番は問わない。いずれにしても、デバイス機器、及びホスト機器の組み合わせがマルチホストUSBハブ103に接続された段階で、ステップS207、又はS210に相当する処理、すなわち、ホスト機器からデバイス機器へのエニュメレーション処理が実行されればよい。
【0042】
尚、図2におけるステップS202及びS204は、実行されなくてもよい。その場合、デバイス識別情報をポートアドレス情報とし、予めデバイス情報記憶部22−1、22−2、・・・、及び22−nに格納されていればよい。
【0043】
図3は、本発明の実施の形態1にかかるホスト機器がデバイス機器に対してエニュメレーション処理を行う際のマルチホストUSBハブの処理を示すフローチャート図である。尚、以下では、図2のステップS207、つまり、ホスト機器101によるデバイス機器111、及びデバイス機器112に対するエニュメレーション処理を対象として説明する。また、図2のステップS210、つまり、ホスト機器102によるデバイス機器111、及びデバイス機器112に対するエニュメレーション処理についても図3のホスト機器101がホスト機器102に置き換わった処理が行われるため、説明を省略する。すなわち、図3の処理は、ホスト機器、及びデバイス機器の組み合わせ及び台数はこれに限定されない。また、図3に示すホスト機器がデバイス機器に対してエニュメレーション処理を行う際のマルチホストUSBハブの処理は、予め、デバイス情報記憶部106に任意のデバイス機器におけるデバイス識別情報が格納されている(例えば、図2のステップS202又はS204の処理が完了している)場合において、最低限、1台のホスト機器、及び1台のデバイス機器の間で、エニュメレーション処理が行われれば良い。例えば、ホスト機器101とデバイス機器111の場合、下記のステップS301乃至S303が実行されればよい。
【0044】
図3において、まず、マルチホストUSBハブ103は、ホスト機器101へデバイス機器111の接続通知を行う(S301)。具体的には、ルート制御装置108は、USBアップポートインタフェース104を介して、デバイス機器111が接続されていることを示す信号を送信する。
【0045】
次に、ホスト機器101は、マルチホストUSBハブ103へデバイス機器111についてのデバイス固有番号を送信する(S302)。例えば、ホスト機器101は、デバイス機器111について、デバイス固有番号「10」を付与し、USBアップポートインタフェース104を介してマルチホストUSBハブ103へ送信する。尚、ホスト機器101におけるエニュメレーション処理は、USB仕様に示される従来の機能で実現される処理であるため、詳細な説明を省略する。
【0046】
そして、マルチホストUSBハブ103は、デバイス機器111に対しホスト機器101が付与したデバイス固有番号と、マルチホストUSBハブ103が付与したデバイス固有番号とを関連付けてデバイス情報記憶部106に格納する(S303)。具体的には、ルート制御装置108は、USBアップポートインタフェース104を介して、デバイス機器111のデバイス固有番号が「10」である旨を受信し、デバイス固有番号「10」と、マルチホストUSBハブ103により付与されたデバイス機器111のデバイス固有番号と、を関連付けてデバイス情報記憶部106に格納する。
【0047】
続いて、ステップS304乃至S306において、ホスト機器101によるデバイス機器112に対するエニュメレーション処理が行われる。このとき、ホスト機器101は、デバイス機器112について、デバイス固有番号「11」を付与するものとする。また、ルート制御装置108は、デバイス固有番号「11」と、マルチホストUSBハブ103により付与されたデバイス機器112のデバイス固有番号と、を関連付けてデバイス情報記憶部106に格納する。尚、ステップS304乃至S306の処理は、ステップS301乃至S303の処理と同様であるため、詳細な説明は、省略する。
【0048】
図4、及び図5は、本発明の実施の形態1にかかるデバイス固有番号の例を示す図である。図4は、ホスト機器101からデバイス機器111、及びデバイス機器112に対するエニュメレーション処理に基づき、図3に示す処理を行うことにより、デバイス情報記憶部106に格納されるデバイス固有番号が関連付けられたデバイス対応情報の例である。尚、ホスト機器101がデバイス機器111、及びデバイス機器112に対して付与したデバイス固有番号を、それぞれ「10」、及び「11」としている。尚、図4の「デバイス機器111のデバイス識別情報」は、例えば、図2のステップS202において、マルチホストUSBハブ103がデバイス機器111に対して実行したエニュメレーション処理により付与されたデバイス固有番号である。又は、当該デバイス識別情報は、USBダウンポートインタフェース109のポートアドレス値等であってもよい。また、図4の「デバイス機器112のデバイス識別情報」についても、上述したことと同様である。
【0049】
また、図5は、ホスト機器102からデバイス機器111、及びデバイス機器112に対するエニュメレーション処理に基づき、図3と同様の処理を行うことにより、デバイス情報記憶部107に格納されるデバイス固有番号が関連付けられたデバイス対応情報の例である。尚、ホスト機器102がデバイス機器111、及びデバイス機器112に対して付与したデバイス固有番号を、それぞれ「20」、及び「21」としている。尚、図5の「デバイス機器111のデバイス識別情報」及び「デバイス機器112のデバイス識別情報」は、図4と同様であるため、説明を省略する。
【0050】
図6は、本発明の実施の形態1にかかるデータ通信処理の流れを示すフローチャート図である。ここでは、上述した図2及び図3の処理が完了した後、ホスト機器101とデバイス機器111との間でのデータ通信の例を説明する。尚、その他のホスト機器、及びデバイス機器の組み合わせにおいても同様であることは勿論である。
【0051】
まず、ホスト機器101は、デバイス機器111に対応するデバイス固有番号を含めたデータ通信要求をマルチホストUSBハブ103へ送信する(S601)。このとき、ルート制御装置108は、USBアップポートインタフェース104を介して、ホスト機器101においてデバイス機器111に対して付与されたデバイス固有番号「10」を含めたデータ通信要求を受信する。
【0052】
次に、マルチホストUSBハブ103は、受信したデバイス固有番号に対応するデバイス機器111のデバイス識別情報を取得する(S602)。具体的には、ルート制御装置108は、デバイス情報記憶部106を参照し、データ通信要求に含まれるデバイス固有番号「10」に関連付けられたデバイス固有番号をデバイス情報記憶部106から取得する。これにより、マルチホストUSBハブ103は、取得したデバイス固有番号からデバイス機器111へのアクセスが可能となる。
【0053】
そして、マルチホストUSBハブ103は、デバイス機器111が他のホスト機器とデータ通信中であるか否かを判定する(S603)。より具体的には、ルート制御装置108は、デバイス機器111が接続されているUSBダウンポートインタフェース109の使用状態を確認することにより、データ通信中であるか否かを判定してもよい。又は、ルート制御装置108は、接続されたデバイス機器へのデータ通信が開始される際にフラグを立て、当該データ通信が終了する際にフラグを下ろすようにし、当該フラグを確認することでデータ通信中であるか否かを判定してもよい。
【0054】
ステップS603において、データ通信中と判定された場合、マルチホストUSBハブ103は、要求元のホスト機器101に対してNAK(Negative AcKnowledgement)信号を送信する(S604)。これにより、NAK信号を受信したホスト機器101は、USB仕様に基づき、一定時間待機後に、当該データ通信要求を再送する。
【0055】
ステップS603において、データ通信中でないと判定された場合、マルチホストUSBハブ103は、デバイス機器111に対して当該データ通信要求を送信する(S605)。具体的には、ルート制御装置108は、デバイス機器111が接続されたUSBダウンポートインタフェース109を介して、当該データ通信要求を送信する。そして、デバイス機器111は、マルチホストUSBハブ103からのデータ通信要求を正常に受信した場合、USB仕様に基づき、ACK信号を返信する。
【0056】
その後、マルチホストUSBハブ103は、デバイス機器111からACK(ACKnowledgement)信号が来たかを確認する(S606)。具体的には、マルチホストUSBハブ103は、所定時間内にUSBダウンポートインタフェース109経由でACK信号が受信できるか否かを確認する。
【0057】
そして、マルチホストUSBハブ103が、デバイス機器111からACK信号を受信した場合、ホスト機器101に対してACK信号を送信する(S607)。具体的には、ルート制御装置108は、USBダウンポートインタフェース109を介して、デバイス機器111からのACK信号を受信し、USBアップポートインタフェース104を介して、ホスト機器101へACK信号を送信する。これにより、以降、ホスト機器101とデバイス機器111との間でのデータ通信を行うことができる。
【0058】
また、デバイス機器111が、何らかの理由、例えば、通信異常、又はデバイス機器111の故障等により、正常に当該データ通信要求を受信できなかった場合、所定時間内にACK信号は返信されない。この場合、ステップS606において、マルチホストUSBハブ103は、デバイス機器111からのACK信号が確認できないため、ステップS604へ進み、その後、当該処理を終了する。
【0059】
以上のことから、本発明の実施の形態1にかかるマルチホストUSBハブ103により、USB仕様に基づく初期化処理により複数のホスト機器から同一のデバイス機器に付与される異なるデバイス固有番号を複数のホスト機器の間で対応付けを行い、それぞれのホスト機器から当該デバイス機器へのデータ通信を実現することができる。
【0060】
尚、1つのホスト機器のみと接続可能な従来のUSBハブにおいては、他のホスト機器と通信中ということは発生し得ないが、本発明の実施の形態1にかかるマルチホストUSBハブ103においては、複数のホスト機器を接続可能であるため、同時に同一のデバイス機器へのデータ通信要求が発生し、データ通信に障害が発生する可能性がある。そのため、ステップS603の判定を入れることで、同一のデバイス機器へのデータ通信要求を調整することができる。
【0061】
また、上述したデータ通信要求には、データ通信要求に必要なデータを含むものとする。
【0062】
発明の実施の形態2.
本発明の実施の形態2では、本発明の実施の形態1にかかるマルチホストUSBハブの変形例を示す。本発明の実施の形態2にかかるマルチホストUSBハブは、ホスト機器から送信されるデータ通信要求を一時的に格納するバッファを備え、当該バッファに格納されたデータ通信要求を再送することで、要求元のホスト機器からの再送を軽減するようにしたものである。尚、以下では、本発明の実施の形態1との違いを中心に説明し、本発明の実施の形態1と同一の構成、及び処理については、説明を省略する。
【0063】
図7は、本発明の実施の形態2にかかるマルチホストUSBハブの一実施例の機器構成図を示すブロック図である。図7に示すマルチホストUSBハブ703は、図1のマルチホストUSBハブ103の構成に加え、FIFOバッファ713、及び、FIFOバッファ714をさらに備えたものである。その他、マルチホストUSBハブ703が備える、USBアップポートインタフェース704、USBアップポートインタフェース705、デバイス情報記憶部706、デバイス情報記憶部707、ルート制御装置708、USBダウンポートインタフェース709、及びUSBダウンポートインタフェース710、並びに、ホスト機器701、ホスト機器702、デバイス機器711、及びデバイス機器712は、それぞれ図1に対応するものであるため、説明を省略する。
【0064】
FIFOバッファ713、及びFIFOバッファ714は、ホスト機器701、及びホスト機器702から送信されるデータ通信要求、及びデータ通信要求に含まるデータを格納する記憶装置である。
【0065】
ここで、FIFOバッファ713は、USBアップポートインタフェース104を経由して取得されるデータ通信要求及びデータを格納する。また、FIFOバッファ714は、USBアップポートインタフェース105を経由して取得されるデータ通信要求及びデータを格納する。
【0066】
尚、本発明の実施の形態2にかかるマルチホストUSBハブ703におけるFIFOバッファ713、及びFIFOバッファ714は、物理的に一つの記憶装置とし、論理的に分割してUSBアップポートインタフェース104、及びUSBアップポートインタフェース105に関する情報を記憶してもよい。または、FIFOバッファ713、及びFIFOバッファ714は、USBアップポートインタフェース104、及びUSBアップポートインタフェース105において、共有しても構わない。
【0067】
ルート制御装置708は、ルート制御装置108と同様に、複数のホスト機器と、複数のデバイス機器とのデータ通信を制御する制御装置である。ルート制御装置708は、ルート制御装置108の機能に加え、ホスト機器から受信したデータ通信要求をFIFOバッファ713、又はFIFOバッファ714へ格納し、格納できた場合、又は、FIFOバッファ713、又はFIFOバッファ714に空き領域がないために格納できなかった場合、要求元のホスト機器へその旨を通知する。また、ルート制御装置708は、FIFOバッファ713、又はFIFOバッファ714に格納されたデータ通信要求を対応するデバイス機器へ送信する。その際、当該デバイス機器が他のホスト機器とデータ通信中の場合、一定時間待機し、再送を行う。
【0068】
本発明の実施の形態2にかかるホスト機器がデバイス機器に対してエニュメレーション処理を行う際のマルチホストUSBハブの処理は、本発明の実施の形態1と同様であるため、説明を省略する。以下の説明において、ホスト機器701から送信されたデバイス機器711、及びデバイス機器712に対するデバイス固有番号は、それぞれ「10」、及び「11」とする。また、ホスト機器702から送信されたデバイス機器711、及びデバイス機器712に対するデバイス固有番号は、それぞれ「20」、及び「21」とする。
【0069】
図8、及び図9は、本発明の実施の形態2にかかるデータ通信処理の流れを示すフローチャート図である。ここでは、上述したエニュメレーション処理が完了した後、ホスト機器701とデバイス機器711との間でのデータ通信の例を説明する。尚、その他のホスト機器、及びデバイス機器の組み合わせにおいても同様であることは勿論である。
【0070】
図8において、まず、ホスト機器701は、図6のステップS601と同様に、デバイス機器711に対応するデバイス固有番号を含んだデータ通信要求をマルチホストUSBハブ703へ送信する(S801)。このとき、ルート制御装置708は、USBアップポートインタフェース704を介して、ホスト機器701においてデバイス機器711に対して付与されたデバイス固有番号「10」を含んだデータ通信要求を受信する。
【0071】
次に、マルチホストUSBハブ703は、デバイス情報記憶部706に空き領域があるか否かを判定する(S802)。具体的には、ルート制御装置708は、当該データ通信要求のパケットサイズに相当する空き領域がFIFOバッファ713に存在するかを確認する。
【0072】
空き領域があると判定された場合、マルチホストUSBハブ703は、当該データ通信要求を格納し、要求元のホスト機器701へACK信号を送信する(S803)。具体的には、ルート制御装置708は、当該データ通信要求のパケット全体をデバイス情報記憶部706へ格納し、USBアップポートインタフェース704を介して、ACK信号をホスト機器701へ送信する。
【0073】
空き領域がないと判定された場合、マルチホストUSBハブ703は、要求元のホスト機器701へNAK信号を送信する(S804)。これにより、NAK信号を受信したホスト機器701は、USB仕様に基づき、一定時間待機後に、当該データ通信要求を再送する。
【0074】
続いて、図9において、マルチホストUSBハブ703は、FIFOバッファ713にデータ通信要求が格納されているか否かを判定する(S901)。具体的には、ルート制御装置708は、デバイス情報記憶部706を参照し、データ通信要求が格納されているか否かを確認する。
【0075】
デバイス情報記憶部706データ通信要求が格納されていないと判定された場合、マルチホストUSBハブ703は、処理を終了する。
【0076】
また、デバイス情報記憶部706データ通信要求が格納されていると判定された場合、マルチホストUSBハブ703は、要求先のデバイス機器が他のホスト機器とデータ通信中であるか否かを判定する(S902)。このとき、ルート制御装置708は、デバイス情報記憶部706に格納されたデータ通信要求を取得し、要求先がデバイス機器711であることを確認し、デバイス機器711がデータ通信中であるか否かを判定する。データ通信中であるか否かの判定は、図6のステップS603と同様であればよい。
【0077】
ステップS902において、データ通信中と判定された場合、マルチホストUSBハブ703は、当該データ通信が終了するまで処理を中断する(S903)。そして、ルート制御装置708は、一定時間経過後、再度、ステップS902を行う。
【0078】
ステップS902において、データ通信中でないと判定された場合、マルチホストUSBハブ703は、デバイス機器711に対して当該データ通信要求を送信する(S904)。また、以降の処理は、図6のステップS605乃至S607を実行すればよい。これにより、以降、ホスト機器101とデバイス機器111との間でのデータ通信を行うことができる。但し、図6のステップS606に相当する処理において、マルチホストUSBハブ703がデバイス機器711からACK信号を受信できない場合、一定時間経過後ステップS606相当の処理を行い、これを所定の回数繰り返すようにすればよい。そして、所定回数を繰り返した上で、マルチホストUSBハブ703がデバイス機器711からのACK信号が受信できない場合、ホスト機器701へNAK信号を送信するようにしてもよい。
【0079】
以上のことから、本発明の実施の形態2にかかるマルチホストUSBハブ703では、ホスト機器から送信されるデータ通信要求をFIFOバッファ713、及びFIFOバッファ714に格納することにより、要求元のホスト機器へACK信号を送信することができ、要求元のホスト機器の再送処理を軽減することができる。また、FIFOバッファ713、又はFIFOバッファ714に格納されたデータ通信要求をマルチホストUSBハブ703が再送することにより、マルチホストUSBハブ703とデバイス機器711又はデバイス機器712の間のデータ通信の問題による要求元のホスト機器の再送処理を軽減することができる。
【0080】
その他の発明の実施の形態.
尚、上述した本発明の実施の形態1及び2では、USB接続装置の例として、USBハブ装置を挙げたが、これに限定されない。本発明にかかるUSB接続装置は、任意のUSBインタフェースを備えた半導体集積回路装置でも実現可能である。また、本発明の実施の形態1及び2では、ホスト機器としてのパーソナルコンピュータと、デバイス機器としてのポータブルハードディスクのようなストレージ機器との間のデータ通信に限定されず、例えば、USBインタフェースを備えたLSIチップ間の接続にも適用可能である。
【0081】
尚、本発明にかかるUSB接続装置を用いることで、USB仕様に変更を加えずに、既存のUSB仕様を実現したホスト機器、及びデバイス機器を当該USB接続機器に接続するだけで、複数のホスト機器からデバイス機器を共有することが可能となる。
【0082】
尚、USB2.0の仕様には、USB1.1に対して、新たにPING、NYETというトランザクションの要求、及び応答を行う命令が追加されている。これらを、上述した図6、図8、及び図9に示したフローに適用することも可能である。これについては、従来のUSBの通信操作、すなわち、USB2.0の仕様に開示される通信プロトコルの制御とほぼ同じフローとなるため、説明は省略する。
【0083】
尚、上述した本発明が解決しようとする課題を回避するために複数ホスト機器間で同じ番号付けがなされるように、前もって通信を行うという手段も考えられる。しかし、当該手段では、ホスト機器におけるUSBインタフェースのソフトウェアドライバなどを改変する必要がある。例えば、特許文献1では仮想ネットワークを構築する提案がなされているが、ソフトウェアドライバなどの改変も必要である。USBインタフェースは、上述したようにUSB仕様がWEB上で無償公開されており、さらに、多くのホスト機器(例えば、パーソナルコンピュータ等)に標準でインストールされているOS(Operating System)など(例えば、Windows(登録商標) XP等)において標準的に備えられているUSBドライバを用いて接続できる、という特徴を有する。しかしながら、上述の通り、特許文献1では、専用のソフトウェアドライバを必要とし、単にUSBインタフェースを備えたデバイス機器を接続するだけでは利用することができない。この点において、特許文献1は、USBインタフェースを実装した機器と容易に接続できるというUSBインタフェースの特徴を活かしているとは言えない。
【0084】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【0085】
【図1】本発明の実施の形態1にかかるマルチホストUSBハブの一実施例の機器構成図を示すブロック図である。
【図2】本発明の実施の形態1にかかるマルチホストUSBハブへのホスト機器、及びデバイス機器の接続の流れを示すフローチャート図である。
【図3】本発明の実施の形態1にかかるホスト機器がデバイス機器に対してエニュメレーション処理を行う際のマルチホストUSBハブの処理を示すフローチャート図である。
【図4】本発明の実施の形態1にかかるデバイス情報記憶部106におけるデバイス固有番号及びデバイス対応情報の例を示す図である。
【図5】本発明の実施の形態1にかかるデバイス情報記憶部107におけるデバイス固有番号及びデバイス対応情報の例を示す図である。
【図6】本発明の実施の形態1にかかるデータ通信処理の流れを示すフローチャート図である。
【図7】本発明の実施の形態2にかかるマルチホストUSBハブの一実施例の機器構成図を示すブロック図である。
【図8】本発明の実施の形態2にかかるデータ通信処理の流れを示すフローチャート図である。
【図9】本発明の実施の形態2にかかるデータ通信処理の流れを示すフローチャート図である。
【図10】本発明にかかるUSB接続装置の一例であるマルチホストUSBハブの機器構成図を示すブロック図である。
【図11】従来の課題が発生する原理を示す概念図である。
【図12】本発明の作用効果を示す概念図である。
【符号の説明】
【0086】
10−1、10−2、・・・、10−n ホスト機器
20 マルチホストUSBハブ
21−1、21−2、・・・、21−n USBアップポートインタフェース
22、22−1、22−2、・・・、22−n デバイス情報記憶部
221 デバイス固有番号
222 デバイス固有番号
23 ルート制御装置
24−1、24−2、・・・、24−m USBダウンポートインタフェース
30−1、30−2、・・・、30−m デバイス機器
101 ホスト機器
102 ホスト機器
103 マルチホストUSBハブ
104 USBアップポートインタフェース
105 USBアップポートインタフェース
106 デバイス情報記憶部
107 デバイス情報記憶部
108 ルート制御装置
109 USBダウンポートインタフェース
110 USBダウンポートインタフェース
111 デバイス機器
112 デバイス機器
701 ホスト機器
702 ホスト機器
703 マルチホストUSBハブ
704 USBアップポートインタフェース
705 USBアップポートインタフェース
706 デバイス情報記憶部
707 デバイス情報記憶部
708 ルート制御装置
709 USBダウンポートインタフェース
710 USBダウンポートインタフェース
711 デバイス機器
712 デバイス機器
713 FIFOバッファ
714 FIFOバッファ

【特許請求の範囲】
【請求項1】
第1のホスト機器が接続する第1のUSB(Universal Serial Bus)アップポートと、
第2のホスト機器が接続する第2のUSBアップポートと、
デバイス機器が接続する少なくとも1つのUSBダウンポートと、
前記第1のUSBアップポート又は前記第2のUSBアップポートを介して受信したデータ通信要求を前記USBダウンポートへ送信する制御部と、
前記第1のホスト機器が前記第1のUSBアップポートに接続された場合に前記第1のホスト機器が前記デバイス機器を特定するための第1のデバイス特定情報と、前記第2のホスト機器が前記第2のUSBアップポートに接続された場合に前記第2のホスト機器が前記デバイス機器を特定するための第2のデバイス特定情報と、前記制御部が前記デバイス機器を識別するためのデバイス識別情報とを関連付けてデバイス対応情報として格納するデバイス情報記憶部と、
を備えることを特徴とするUSB接続装置。
【請求項2】
前記制御部は、前記デバイス対応情報を前記デバイス情報記憶部へ登録する登録手段をさらに備え、
前記登録手段は、前記第1のホスト機器が前記第1のUSBアップポートに接続された場合に、前記第1のデバイス特定情報を前記第1のUSBアップポートを介して受信し、前記第1のデバイス特定情報と前記デバイス識別情報とを関連付けて前記デバイス情報記憶部に格納し、前記第2のホスト機器が前記第2のUSBアップポートに接続された場合に、前記第2のデバイス特定情報を前記第2のUSBアップポートを介して受信し、前記第2のデバイス特定情報と前記デバイス識別情報とを関連付けて前記デバイス情報記憶部に格納することを特徴とする請求項1に記載のUSB接続装置。
【請求項3】
前記制御部は、
前記第1のホスト機器から前記第1のデバイス特定情報を含んだデータ通信要求を受信し、当該データ通信要求に含まれる前記第1のデバイス特定情報に関連付けられた前記デバイス識別情報を前記デバイス情報記憶部から取得し、前記デバイス識別情報に基づき、当該デバイス機器へ前記データ通信要求を送信する送信手段と、
前記データ通信要求に基づいて前記第1のホスト機器と当該デバイス機器とがデータ通信を行えない場合に、当該データ通信要求が送信できない旨を前記第1のホスト機器へ通知する通知手段と、をさらに備える請求項1又は2に記載のUSB接続装置。
【請求項4】
前記通知手段は、当該デバイス機器と前記第2のホスト機器とがデータ通信中であるか否かを判定し、データ通信中であると判定された場合、当該データ通信要求が送信できない旨を前記第1のホスト機器へ通知することを特徴とする請求項3に記載のUSB接続装置。
【請求項5】
前記通知手段は、前記USBダウンポートの使用状態により、当該デバイス機器と前記第2のホスト機器とがデータ通信中であるか否かを判定することを特徴とする請求項4に記載のUSB接続装置。
【請求項6】
前記通知手段は、前記送信手段により当該デバイス機器へ前記データ通信要求を送信後に当該デバイス機器からの正常応答が受信されない場合、当該データ通信要求が送信できない旨を前記第1のホスト機器へ通知することを特徴とする請求項3又は4に記載のUSB接続装置。
【請求項7】
前記USB接続装置は、前記ホスト機器からの前記データ通信要求を記憶するバッファをさらに備え、
前記制御部は、前記第1又は第2のホスト機器から前記第1又は第2のデバイス特定情報を含んだデータ通信要求に基づき、前記データ通信要求を前記デバイス機器へ送信する送信手段をさらに備え、
前記送信手段は、前記デバイス機器への送信が失敗した場合に、前記バッファに格納されたデータ通信要求を当該デバイス機器へ再送することを特徴とする請求項1又は2に記載のUSB接続装置。
【請求項8】
前記送信手段は、当該デバイス機器と前記第2のホスト機器とがデータ通信中であるか否かを判定し、データ通信中であると判定された場合、当該データ通信が終了した後に、前記バッファに格納されたデータ通信要求を当該デバイス機器へ送信することを特徴とする請求項7に記載のUSB接続装置。
【請求項9】
前記制御部は、前記データ通信要求を前記バッファへ格納する際に前記バッファに空き領域が存在しない場合、当該データ通信要求が送信できない旨を前記データ通信要求の要求元の前記ホスト機器へ通知する通知手段をさらに備える請求項7又は8に記載のUSB接続装置。
【請求項10】
前記通知手段は、前記バッファに前記データ通信要求を格納した後、当該データ通信要求が送信できる旨を前記データ通信要求の要求元の前記ホスト機器へ通知することを特徴とする請求項9に記載のUSB接続装置。
【請求項11】
第1のホスト機器が接続する第1のUSBアップポートと、第2のホスト機器が接続する第2のUSBアップポートと、デバイス機器が接続する少なくとも1つのUSBダウンポートとを有するUSB接続装置におけるUSB接続方法であって、
前記第1のホスト機器が前記第1のUSBアップポートに接続された場合に、前記第1のUSBアップポートを介して受信される前記デバイス機器を特定する第1のデバイス特定情報と、前記USB接続装置が前記デバイス機器を識別するデバイス識別情報とを関連付けて記憶部に格納するステップと、
前記第2のホスト機器が前記第2のUSBアップポートに接続された場合に、前記第2のUSBアップポートを介して受信される前記デバイス機器を特定する第2のデバイス特定情報と、前記デバイス識別情報とを関連付けて前記記憶部に格納するステップと、
前記第1又は第2のホスト機器から前記第1又は第2のデバイス特定情報を含んだデータ通信要求を受信するステップと、
前記データ通信要求を受信するステップで受信したデータ通信要求に含まれる前記第1又は第2のデバイス特定情報に関連付けられた前記デバイス識別情報を前記記憶部から取得するステップと、
前記取得するステップで取得したデバイス識別情報により識別された前記デバイス機器へ当該データ通信要求を送信する送信ステップと、を備えるUSB接続方法。
【請求項12】
前記送信ステップにより前記第1のホスト機器と当該デバイス機器とがデータ通信を行えない場合に、当該データ通信要求が送信できない旨を前記第1のホスト機器へ通知する通知ステップと、をさらに備える請求項11に記載のUSB接続方法。
【請求項13】
前記通知ステップは、当該デバイス機器と前記第2のホスト機器とがデータ通信中であるか否かを判定し、データ通信中であると判定された場合、当該データ通信要求が送信できない旨を前記第1のホスト機器へ通知することを特徴とする請求項12に記載のUSB接続方法。
【請求項14】
前記通知ステップは、前記USBダウンポートの使用状態により、当該デバイス機器と前記第2のホスト機器とがデータ通信中であるか否かを判定することを特徴とする請求項13に記載のUSB接続方法。
【請求項15】
前記通知ステップは、前記送信ステップにより当該デバイス機器へ前記データ通信要求を送信後に当該デバイス機器からの正常応答が受信されない場合、当該データ通信要求が送信できない旨を前記第1のホスト機器へ通知することを特徴とする請求項12又は13に記載のUSB接続方法。
【請求項16】
前記送信ステップは、前記デバイス機器への送信が失敗した場合に、前記ホスト機器からの前記データ通信要求を記憶するバッファに格納されたデータ通信要求を当該デバイス機器へ再送することを特徴とする請求項11に記載のUSB接続方法。
【請求項17】
前記送信ステップは、当該デバイス機器と前記第2のホスト機器とがデータ通信中であるか否かを判定し、データ通信中であると判定された場合、当該データ通信が終了した後に、前記バッファに格納されたデータ通信要求を当該デバイス機器へ送信することを特徴とする請求項16に記載のUSB接続方法。
【請求項18】
前記データ通信要求を前記バッファへ格納する際に前記バッファに空き領域が存在しない場合、当該データ通信要求が送信できない旨を前記データ通信要求の要求元の前記ホスト機器へ通知する通知ステップをさらに備える請求項16又は17に記載のUSB接続方法。
【請求項19】
前記通知ステップは、前記バッファに前記データ通信要求を格納した後、当該データ通信要求が送信できる旨を前記データ通信要求の要求元の前記ホスト機器へ通知することを特徴とする請求項18に記載のUSB接続方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2009−276828(P2009−276828A)
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願番号】特願2008−124803(P2008−124803)
【出願日】平成20年5月12日(2008.5.12)
【出願人】(302062931)NECエレクトロニクス株式会社 (8,021)
【Fターム(参考)】