JP2012500422A - Usbデバイスをリモートコンピュータに接続する方法及び装置 - Google Patents

Usbデバイスをリモートコンピュータに接続する方法及び装置 Download PDF

Info

Publication number
JP2012500422A
JP2012500422A JP2011522359A JP2011522359A JP2012500422A JP 2012500422 A JP2012500422 A JP 2012500422A JP 2011522359 A JP2011522359 A JP 2011522359A JP 2011522359 A JP2011522359 A JP 2011522359A JP 2012500422 A JP2012500422 A JP 2012500422A
Authority
JP
Japan
Prior art keywords
usb
host computer
data
reflector
subaction
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.)
Granted
Application number
JP2011522359A
Other languages
English (en)
Other versions
JP5520951B2 (ja
Inventor
アレキサンダー マクレオド,ジョン
Original Assignee
アイクロン テクノロジーズ コーポレーション
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 アイクロン テクノロジーズ コーポレーション filed Critical アイクロン テクノロジーズ コーポレーション
Publication of JP2012500422A publication Critical patent/JP2012500422A/ja
Application granted granted Critical
Publication of JP5520951B2 publication Critical patent/JP5520951B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]

Abstract

本発明は、USB仕様を利用する複数の標準的なUSB周辺デバイスを、ネットワークを通して、様々なノードで分配することができる方法及び装置であって、ネットワークを通した通信が、標準的な改良されていないUSBホストコンピュータの任意の既存ネットワーク接続性の利点を利用し得る方法及び装置を提供する。詳細には、データ通信を既存のトランシーバに向けてリフレクトするためにリフレクタ機能が追加される。その結果的に、ホストコンピュータが、データ通信のための第一プロファイル及び第二プロファイルを確立し、既存のデータ通信構成要素を使用するネットワークを通して通信を行うためにこれらのプロファイルを使用する。
【選択図】図3

Description

本発明は、コンピュータとユニバーサルシリアルバス(USB)ポートを使用するデバイスとの間で信号を送信する方法及び装置に関し、特に、データ通信ネットワークを通して分配される複数のUSB周辺デバイスを動作させる方法に関する。
ユニバーサルシリアルバス(USB)は、一般ユーザーが幅広い周辺デバイスをパーソナルコンピュータに接続することを可能にするように設計された技術である。この技術は、キーボード、マウス、スピーカー、ジョイスティック、カメラ、フラッシュデバイス、ハードドライブ、DVDドライブ等の一般的な周辺デバイスの全てをサポートし、現在のコンピュータでそれを使用することは普通である。
USBは、コンピュータ及び通信市場における大企業7社が中心となって開発された。これらの企業は、インテル社(Intel)、コンパック社(Compaq)、マイクロソフト社(Microsoft)、ノーテル社(NorTel)、日本電気株式会社(NEC)、デジタル社(Digital)及びIBM社である。USBを定義する仕様(例えば、インテル他によるユニバーサルシリアルバス仕様1.0版 1996年1月、1998年9月23日に1.1版としてアップデイト、2000年4月に2.0版としてアップデイト、その後、複数回のアップデイト、複数回の追加及び複数回の改良が行われた−以下、「USB仕様」と総称する。この用語は、さらなる追加、改良及び修正を含み得、特に、USB3.0としてリリースするための開発の下での追加を含み得る。)は、独占所有ではなく、USB Implementers Forum(USB-IF)として知られている開放業界団体によって管理されている。USB仕様は、USB標準に適合するために満たさなければならない多数の基準を規定する。また、USB仕様は、多数のタームを定義し、これらの定義は、本明細書に採用され、また参照することでこの明細書に組み込まれる。
USB仕様の下、データ通信は、好ましくはホストコンピュータにインストールされたUSBホストコントローラユニットによって管理される。さらにまた、データ通信は、一連のUSBトランザクションの中で生じる。ここで、USBトランザクションは、USBホストコントローラによって起動され、一つ、二つ又は三つのサブアクション(subactions)から成る。各サブアクションは、一つ又はそれ以上のパケットで構成され得、データフローの方向の反転によって終了される。
出願人の米国特許第6381666号の内容は参照することによってこの明細書に組み込まれる。この特許文献では、ホストコンピュータと周辺デバイスとの間の距離をのばす方法及び装置が提案されており、この方法及び装置は、有効距離を100メートル以上にのばした。米国特許第6381666号で開示されたアプローチ及び出願人の米国特許7149833号において改良されたアプローチにより、USB周辺デバイスを、延長した距離で動作させることが可能になる一方で、長い伝送遅延の存在下で、ホストコンピュータのネットワーク能力を利用することによって拡張範囲が得られる構成は説明していない。
米国特許第6381666号 米国特許7149833号
ネットワークアタッチメントハードウェアのコストの方が、USBアタッチメントハードウェアのコストより著しく高い時には、USB拡張の目的のために特定用途の連結部を設けるよりも、ホストコンピュータの既存のネットワーク接続性を再利用する能力の方が、非常に有益である。例えば、イーサネット(登録商標)ネットワークへの無線接続を提供するトランシーバのコストは、USBトランシーバのコストより大幅に高い。もし、ホストコンピュータが、ネットワークアタッチメントのための無線トランシーバを既に備えており、かつ、USBトラフィックを、ホストコンピュータのUSBポートから、その既存の無線ネットワークポートに「リフレクト」することができれば、付加的な無線トランシーバのコストを回避することができる。光ファイバやパワーライン技術を使用するネットワークも、高いトランシーバコストを示し、この同じアプローチからの利益を享受し得る。
さらにまた、米国特許第6381666号及び米国特許7149833号に開示されたアプローチは、拡張距離能力を得るためにホストコンピュータオペレーティングソフトウェアの何の変更も必要としない。最も広い適切な解決法を提供するために、そして、システムの使用の容易さを失わないために、この特性を維持することができれば、有利である。
従って、米国特許第6381666号及び米国特許7149833号に開示されているようにUSB技術を伸ばす範囲が線形構成で役立つことが証明されたが、USB仕様を利用して、ネットワークを通して様々なノードで分配される複数のUSB周辺デバイスを有効にする方法及び装置であって、USBホストコンピュータとUSB周辺デバイスとの間のネットワークを通した通信が、USBホストコンピュータの任意の既存のネットワーク接続性の利点を利用する改良された方法及び装置を提供することによって、その技術を改良することが、さらに望ましい。
従って、本発明の目的は、USB仕様を利用する複数のUSB周辺デバイスを、ネットワークを通して、様々なノードで分配することができる方法及び装置であって、USBホストコンピュータとUSB周辺デバイスとの間のネットワークを通した通信が、USBホストコンピュータの任意の既存ネットワーク接続性の利点を利用し得る方法及び装置を提供することにある。詳細には、本発明の目的は、ネットワークを通してデータの送信をする間に、出来る限り既存のネットワークトランシーバを使用することにある。
本発明の別の目的は、その方法及び装置で、データ通信ネットワークによって取り込まれる、USB仕様によって決められたパラメータを上回る伝送遅延を調整することにある。
本発明のさらに別の目的は、データ通信ネットワークが、USB周辺デバイスの動作に関係がない付加的なトラフィックを伝送し得ることにある。
本発明のさらに別の目的は、何らかの従来の方法によってホストコンピュータがデータ通信ネットワークに接続され得ることにある。
本発明のさらに別の目的は、ホストコンピュータにおける何らかの利用可能なUSB又は類似のポートを通してホストコンピュータがUSB「リフレクタ」に接続され得ることにある。
本発明のさらに別の目的は、ホストコンピュータで動作するUSBホストコントローラドライバソフトウェアを変更する必要がないことにある。
本発明のさらに別の目的は、ホストコンピュータで動作するデータ通信ネットワークドライバソフトウェアを変更する必要がないことにある。
本発明のさらに別の目的は、複数のUSB周辺デバイスが、USB分配ユニットを通してデータ通信ネットワークに接続され得ることにある。
本発明のさらに別の目的は、ホストコンピュータから出力され、複数のUSB周辺デバイスを対象とするUSBトラフィックがUSBを通して、ホストコンピュータに接続されたUSBリフレクタユニットに向けて送信され得ることにある。
本発明のさらに別の目的は、USB分配ユニットに到達するUSBトラフィックが、複数のUSB周辺デバイスに分配され得ることにある。
本発明のさらに別の目的は、複数のUSB周辺デバイスからUSBトラフィックを出力しホストコンピュータに送信する逆の方向に対応する機能が提供され得ることにある。
本発明のさらに別の目的は、ホストコンピュータやUSB周辺デバイスを操作するために必要とされる任意の既存のソフトウェアドライバを変更する必要がないことにある。
本発明のこれらの目的及び他の目的は、第一ホストコンピュータのホストコントローラがUSBリフレクタユニットに接続され、USBリフレクタユニットが、同様に、第一ホストコンピュータにある第二ホストコントローラ又は第二ホストコンピュータにある第二ホストコントローラに接続される方法及び関連する装置を提供する本発明によって、完全に又は少なくとも部分的に達成される。第二ホストコントローラは、最終的に、一つ又は複数のUSB分配ユニットが接続され得るデータ通信ネットワークに接続される。各USB分配ユニットは、一つ又は複数のUSB周辺デバイスに接続される。
第一の特徴によれば、本発明は、一つ又は複数のホストコンピュータと一つ又は複数のUSB周辺デバイスとの間でUSBトラフィックを送信するコンピュータシステムであって、一つ又は複数のホストコンピュータと一つ又は複数のUSB周辺デバイスとが、データ通信ネットワークによって接続され、一つ又は複数のホストコンピュータが、USBリフレクタユニットを備えているコンピュータシステムを提供する。詳細には、本発明は、一つ又は複数のホストコンピュータと一つ又は複数のUSB周辺デバイスとの間でUSBトラフィックを伝達するコンピュータシステムであって、
前記一つ又は複数のホストコンピュータと前記一つ又は複数のUSB周辺デバイスとが、データ通信ネットワークによって一方から他方へ接続されるコンピュータシステムにおいて、
前記コンピュータシステムが、
a.USBトラフィックを生成し受け入れる一つ又は複数のホストコンピュータと、
b.前記一つ又は複数のホストコンピュータによって開始されたUSBトラフィックに応答することができる一つ又は複数のUSB周辺デバイスと、
c.前記一つ又は複数のホストコンピュータと前記データ通信ネットワークとの間の一つ又は複数のネットワークコネクションと、
d.前記一つ又は複数のホストコンピュータから受信したUSBトラフィックを前記一つ又は複数のホストコンピュータへリフレクトすることができるUSBリフレクタユニットと、
e.前記データ通信ネットワークに接続され、前記一つ又は複数のUSB周辺デバイスを前記データ通信ネットワークに接続するために利用される一つ又は複数のUSB分配ユニットと、
f.前記USBリフレクタユニットに接続するために前記一つ又は複数のホストコンピュータにあるUSBリフレクタドライバと、
g.前記USBリフレクタドライバを前記データ通信ネットワークに接続するためのUSBリフレクタアプリケーションと
を備えているコンピュータシステムを提供する。
別の特徴によれば、本発明は、一つ又は複数のホストコンピュータによって生成されたUSBサブアクションを引き受け、USBサブアクションを一連の変換済みUSBサブアクションに変換し、そして一連の変換済みサブアクションを、一つ又は複数のホストコンピュータに向けてリフレクトするUSBリフレクタユニットを提供する。詳細には、本発明は、一つ又は複数のホストコンピュータによって生成されたUSBサブアクションを受け入れ、
前記USBサブアクションを一連の変換済みUSBサブアクションに変換し、
前記一連の変化済みUSBサブアクションを、前記一つ又は複数のホストコンピュータに向けてリフレクトする
ためのUSBリフレクタユニットであって、
該USBリフレクタユニットが、
a.少なくとも一つのホストコンピュータと通信するための少なくとも一つのUSBトランシーバと、
b.前記少なくとも一つのUSBトランシーバを通してUSBサブアクションを受け入れ、かつ、リフレクトし、そしてUSBサブアクションを一連の変換済みUSBサブアクションに変換するためのリフレクタコアと
を備えているUSBリフレクタユニットを提供する。
さらに別の特徴によれば、本発明は、少なくとも一つのUSBトランシーバを通してUSBサブアクションを引き受けてリフレクトし、USBサブアクションを一連の変換済みUSBサブアクションに変換するリフレクタコアユニットを提供する。詳細には、本発明は、少なくとも一つのUSBトランシーバを通してUSBサブアクションを引き受けてリフレクトし、USBサブアクションを一連の変換済みUSBサブアクションに変換するためのリフレクタコアユニットであって、
前記リフレクタコアユニットが、
a.USBコマンドを解析し、適当なUSB応答を生成するUSBレスポンダと、
b.USBサブアクション及び変換済みUSBサブアクションを記憶するパケットキャッシュと、
c.前記リフレクタコアユニットによってサポートされる各USBデバイスの構造及びステータスを記録するためのステータステーブルと、
d.USBホストコントローラから受信したUSBサブアクションを、USBホストコントローラへリフレクトして戻し得るUSBサブアクションに変換するためのUSBアグリゲータと、
e.前記USBレスポンダ、前記パケットキャッシュ、前記ステータステーブル及び前記USBアグリゲータの動作を調整するためのコントローラと
を備えているリフレクタコアユニットを提供する。
別の特徴によれば、本発明は、ホストコンピュータから受信したUSBサブアクションを引き受け、USBサブアクションを複数のUSB周辺デバイスに向けて送り、複数のUSB周辺デバイスから受信するUSBサブアクションを引き受け、かつ、USBサブアクションをホストコンピュータに向けて送るUSB分配ユニットを提供する。詳細には、本発明は、ホストコンピュータから受信したUSBサブアクションを引き受け、前記USBサブアクションを複数のUSB周辺デバイスに向けて送り、前記複数のUSB周辺デバイスから受信したUSBサブアクションを引き受け、前記USBサブアクションをホストコンピュータに向けて送るUSB分配ユニットであって、
前記USB分配ユニットが、
a.前記複数のUSB周辺デバイスと通信するための少なくとも一つのUSBトランシーバと、
b.前記少なくとも一つのUSBトランシーバを通してUSBサブアクションの引き受けと送りをするための分配器コアと
を備えているUSB分配ユニットを提供する。
さらに別の特徴によれば、本発明は、USB周辺デバイスからのデータを、データ通信ネットワークを通してホストコンピュータへ送信する方法を提供する。詳細には、本発明は、データ通信ネットワークを通してUSB周辺デバイスからホストコンピュータへデータを送信する方法であって、
該方法が、
a.USBリフレクタユニットで、第一ホストコンピュータから、受信データ第一リクエストを受信し、
b.前記USBリフレクタユニットで、前記受信データ第一リクエストを記憶し、
c.選択的に、前記USBリフレクタユニットで、否定確認応答を前記第一ホストコンピュータに対して応答し、
d.前記USBリフレクタユニットで、第二ホストコンピュータから、受信データ第二リクエストを受信し、
e.前記第二ホストコンピュータに対して、前記受信データ第一リクエストを含む応答データを応答し、
f.選択的に、前記USBリフレクタで、前記第二ホストコンピュータからの確認応答を受信し、
g.前記第二ホストコンピュータで、前記受信データ第一リクエストを含む前記応答データを受信し、
h.前記第二ホストコンピュータで、前記データ受信用第一リクエストを含む前記受信した応答データを、データ通信ネットワークを通して送信し、
i.前記データ受信用第一リクエストを含む前記送信された応答データをUSB分配ユニットで受信し、
j.前記USB分配ユニットで、前記データ受信用第一リクエストを、前記送信された応答データから引き出し、
k.前記USB分配ユニットで、前記引き出したデータ受信用第一リクエストをUSB周辺デバイスへ送り、
l.USB分配ユニットで、USB周辺デバイスから第二応答データを受信し、
m.選択的に、USB分配ユニットで、前記USB周辺デバイスに対して確認応答を応答し、
n.USB分配ユニットで、前記引き出したデータ受信用第一リクエストと前記第二応答データをアセンブル応答データにアセンブルし、
o.前記USB分配ユニットで、データ通信ネットワークを通してアセンブル応答データを送り、
p.前記第二ホストコンピュータで、前記送られたアセンブル応答データを受信し、
q.前記第二ホストコンピュータで、前記送られたアセンブル応答データを含む発信データ通知を生成し、
r.前記USBリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ通知を受信し、
s.選択的に、前記第二ホストコンピュータに、確認応答を応答し、
t.前記USBリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ通知を記憶し、
u.前記USBリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ痛里から、前記データ受信用第一リクエスト及び前記第二応答データを引き出し、
v.前記USBリフレクタユニットで、第一ホストコンピュータから、データ受信用第二リクエストを受信し、
w.前記USBリフレクタユニットで、前記引き出されたデータ受信用第一リクエストと、前記受信したデータ受信用第二リクエストとをマッチングし、
x.前記USBリフレクタユニットで、前記第一ホストコンピュータに第二応答データを送り、
y.選択的に、前記第一ホストコンピュータから確認応答を受ける
ことを含む方法を提供する。
さらに別の特徴によれば、本発明は、データ通信ネットワークを通してホストコンピュータからUSB周辺デバイスへデータを送信する方法を提供する。詳細には、本発明は、データ通信ネットワークを通してホストコンピュータからUSB周辺デバイスへデータを送信する方法であって、
前記方法が、
a.USBリフレクタユニットで、第一ホストコンピュータからの第一送信データ通知を受信し、
b.前記USBリフレクタユニットで、第一送信データ通知を記憶し、
c.選択的に、USBリフレクタユニットで、前記第位置ホストコンピュータへ否定確認応答を応答し、
d.USBリフレクタユニットで、第二ホストコンピュータからの受信データ第一リクエストを受信し、
e.前記第二ホストコンピュータへ、前記第一送信データ通知を含む応答データを応答し、
f.選択的に、前記USBリフレクタユニットで、前記第二ホストコンピュータからの確認応答を受信し、
g.前記第二ホストコンピュータで、前記第一送信データ通知を含む応答データを受信し、
h.前記第二ホストコンピュータで、データ通信ネットワークを通して、前記第一送信データ通知を含む前記受信した応答データを送り、
i.USB分配ユニットで、前記第一送信データ通知を含む前記送信された応答データを受信し、
j.前記USB分配ユニットで、前記送信された応答データから前記第一送信データ通知を引き出し、
k.USB分配ユニットで、前記引き出した第一送信データ通知をUSB周辺デバイスへ送信し、
l.USB分配ユニットで、USUB周辺デバイスから第二確認応答を受信し、
m.USB分配ユニットで、前記引き出した第一送信データ通知と前記第二確認応答とをアセンブリ応答データにアセンブルし、
n.前記USB分配ユニットで、データ通信ネットワークを通して前記アセンブリ応答データを送り、
o.前記第二ホストコンピュータで、前記送られたアセンブリ応答データを受信し、
p.前記第二ホストコンピュータで、前記送られたアセンブリ応答データを含む送信データ通知を生成し、
q.USBリフレクタユニットで、前記送られたアセンブリ応答データを含む前記生成された送信データ通知を受信し、
r.選択的に、前記第二ホストコンピュータに対して、確認応答を応答し、
s.USBリフレクタユニットで、前記送られたアセンブリ応答データを含む前記受信した送信データ通知を記憶し、
t.USBリフレクタユニットで、前記送られたアセンブリ応答データを含む前記記憶された送信データ通知から、前記第一送信データ通知と前記第二確認応答とを引き出し、
u.USBリフレクタユニットで、第一ホストコンピュータから、第三送信データ通知を受信し、
v.USBリフレクタユニットで、前記引き出された第一送信データ通知と前記受信した第三送信データ通知とをマッチングし、
w.USBリフレクタユニットで、前記第位置ホストコンピュータに前記引き出した第二確認応答を送る
ことを含む方法を提供する。
USBシステムの好ましい実施例では、ホストコンピュータ及びUSB周辺デバイスは、USB仕様をサポートする任意の標準的なユニット又はデバイスであり得る。好ましくは、そのユニット又はデバイスは、最も新しいバージョンのUSB仕様をサポートするべきであるが、そのユニット又はデバイスは、前のバージョンのUSB仕様だけをサポートすることも可能である。
データ通信ネットワークの好ましい実施例では、データ通信ネットワークは、ホストコンピュータとUSB分配器とを接続する専用リンクから成る。
データ通信ネットワークのさらに好ましい実施例では、データ通信ネットワークは、
ホストコンピュータとUSB分配器との間で伝播するUSBトラフィックに加えて他のトラフィックも運び得る共有ネットワークで構成される。有線イーサネット(登録商標)、無線イーサネット(登録商標)、パブリックインターネット、プライベートインターネット及びこれらのネットワークの組合せを基礎とするようなネットワークが、例えば、この出願には適している。
USBリフレクタの好ましい実施例では、USBリフレクタは、USBドングルやUSBメモリスティックのようにホストコンピュータのUSBポートに直接差し込まれ得る内蔵ユニットである。
USBリフレクタのさらに好ましい実施例では、USBリフレクタは、一つ又は複数のUSBケーブルによって一つ又は複数のホストコンピュータに接続され得る内蔵ユニットである。
USBリフレクタのさらに好ましい実施例では、USBリフレクタは、ホストコンピュータのケース内に内蔵され得、かつ、USBケーブルによって付加的なホストコンピュータに接続され得る。
USBリフレクタの好ましい実施例では、USBリフレクタは、単一のUSBリンクによって、単一のホストコンピュータに接続され、USBリフレクタとホストコンピュータとの間の全てのUSBトラフィックが単一のUSBリンク上で伝播される。
USBリフレクタのさらに好ましい実施例では、USBリフレクタは、二つのUSBリンクによって単一のホストコンピュータに接続され、各USBリンクが一つのホストコンピュータ内に設けられた独立ホストコントローラに接続され、一つの特定のUSBリンクでUSBリフレクタに到達する全てのUSBトラフィックが、他のUSBリンクでリフレクトされる。
USBリフレクタのさらに好ましい実施例では、USBリフレクタは、複合USBケーブルによって複合ホストコンピュータに接続され、特定のUSBリンクでUSBリフレクタに到達するUSBトラフィックが、USBリフレクタに対して利用可能なトラフィックローディングパラメータ及び構造に応じて任意の利用可能なUSBリンクでリフレクトされる。
USBリンクの好ましい実施例では、USB2.0トランシーバがUSBリンクの各端部に設けられるべきであり、トランシーバがUSB2.0仕様に従うケーブルによって接続されるべきである。
USBリンクのさらに好ましい実施例では、USB3.0トランシーバがUSBリンクの各端部に設けられるべきであり、トランシーバは、USB3.0仕様に従うケーブルによって接続されるべきである。
USBリンクのさらに好ましい実施例では、サーティファイト゛ワイヤレスUSBトランシーバがUSBリンクの各端部に設けられるべきであり、トランシーバは、無線通信によって接続されるべきである。
USBリンクのさらに好ましい実施例では、高速インターチップトランシーバが、USBリンクの各端部に設けられるべきであり、トランシーバはプリント基板上のトレースによって接続されるべきである。
その構造、構成、用途及び動作方法に関しては本発明の特有のものであると思われる新規な特徴は、その目的及び利点と共に、本発明の好ましい実施の形態が実施例によって示される以下の図面から明らかになる。しかし、これらの図面は説明することだけを目的とするものであり、発明の範囲を定義することを意図するものではないことは明らかである。以下、本発明の実施の形態を、添付図面に関連する実施例によって説明していく。
従来のUSB仕様に従った典型的なUSBシステムのブロック図である。 従来技術に従った、USB拡張システムのブロック図である。 本発明によるUSBシステムのブロック図である。 本発明による好ましいUSBシステムのブロック図である。 本発明によるさらに好ましいUSBシステムのブロック図である。 本発明によるUSBリフレクタと、様々なホストコンピュータオプションを示す複数のホストコントローラとのブロック図である。 本発明による好ましいUSBリフレクタと、単一のホストコンピュータオプションを示す二つのホストコントローラとのブロック図である。 本発明によるさらに好ましいUSBリフレクタと、単一のホストコンピュータオプションを示す一つのホストコントローラとのブロック図である。 本発明によるリフレクタコアのブロック図である。 本発明によるUSB分配器のブロック図である。 本発明によるホストコンピュータソフトウェアスタックのブロック図である。 USB周辺デバイスからホストコンピュータへのデータ送信を示すシーケンス線図である。 ホストコンピュータからUSB周辺デバイスへのデータ送信を示すシーケンス線図である。
図1は、USB仕様に従って作られた従来のシステムのブロック図である。USB仕様によれば、USBが使用可能なホストコンピュータ(10)は、一つ又は連なったUSBハブ(16)を介して一つ又は複数のUSBデバイス(17)に接続され得る。一つのUSBデバイスを他のUSBデバイスに接続することはできず、単一のシリアルチェーン(single serial chain)で接続可能なハブの最大数は5個である。また、USBデバイスはホストコンピュータに直接接続され得る。コンピュータ、ハブ又はUSBデバイスの相互接続のために用いられる各ケーブルの最大長は5メートルである。
図2は、従来技術によってUSBの範囲を拡張するためのシステムを示している。標準的な改良されていないホストコンピュータ(10)は、ローカル拡張ユニット(93)、ロングケーブル(13)及びリモート拡張ユニット(94)を介して標準的な改良されていないUSB周辺デバイス(17)につながっている。また、USBハブ(16)が、リモート拡張ユニット(94)とUSB周辺デバイス(17)との間に接続され得、一つのホストコンピュータで複数のUSB周辺デバイスを制御することを可能にしている。
この構想の下での「データリード」の例では、ホストコンピュータ(10)が、USBケーブル(95)を通してSUBサブアクションをローカル拡張ユニット(93)に送信する。USBサブアクションは、USBトランシーバ(97a)によって受信され、ローカル拡張ロジック(90)へ進む。ローカル拡張ロジック(90)は、ネットワークトランシーバ(92a)、ロングケーブル(13)及びネットワークトランシーバ(92b)を通して、リモート拡張ロジック(91)へ送信するためにUSBサブアクションをフォーマットする。また、ローカル拡張ロジック(90)は、USBトランシーバ(97a)及びUSBケーブル(95)を通してホストコンピュータ(10)へ送信するための確認サブアクションを生成し得る。USBサブアクションの受信時に、リモート拡張ロジック(91)は、USBサブアクションのフォーマットを変換し、USBトランシーバ(97b)、USBケーブル(96)及び(選択的に)USBハブ(16)を通してUSB周辺デバイス(17)へUSBサブアクションを進める。
USB周辺デバイス(17)でUSBサブアクションを受信すると、USB周辺デバイスは、応答サブアクションを生成し、USBケーブル(96)及びUSBトランシーバ(97b)を通してリモート拡張ロジックユニット(91)へ応答サブアクションを進める。リモート拡張ロジックユニットは、ネットワークトランシーバ(92b)、ロングケーブル(13)及びネットワークレシーバ(92a)を通してローカル拡張ロジック(90)へ送信するために応答サブアクションをフォーマットする。応答サブアクションは、後で使用するために、ローカル拡張ロジック(90)で記憶される。また、リモート拡張ロジック(91)は、USBトランシーバ(97b)及びUSBケーブル(96)を通してUSB周辺デバイス(17)へ僧院するために確認サブアクションを生成する。
その後、ホストコンピュータ(10)は、USB周辺デバイス(17)を対象としたオリジナルUSBサブアクションをリピートし得る。このリピートサブアクションも、USBケーブル(95)及びUSBトランシーバ(97a)を通してローカル拡張ロジック(90)へ送信される。リピートUSBサブアクションがローカル拡張ロジック(90)によって受信された時、ローカル拡張ロジック(90)は、記憶装置から応答サブアクションを読み出し、USBトランシーバ(97a)及びUSBケーブル(95)を通してホストコンピュータ(10)へ応答サブアクションを送信する。
ロングケーブル(13)を、ローカル拡張ユニット(93)への連結部と、リモート拡張ユニット(94)への他の連結部とを有するデータ通信ネットワークに置き換え得ることは当業者には明らかである。
図2に示された従来のシステムが、ロングケーブル(13)の両端に二つのネットワークトランシーバ(92a,92b)を設けることを必要とすることが分かる。
ネットワークトランシーバが高価な構成要素であり、そのためにネットワークトランシーバがローカル拡張ユニット及びリモート拡張ユニットのコストで最も重要であることは、本発明に関する当業者には明らかである。さらに、ローカル拡張ユニット(93)からネットワークトランシーバ(92a)を取り除くことができれば、USB拡張システム全体のコストを大幅に下げることができることは明らかである。また、ホストコンピュータが、しばしば、データ通信の目的のためにネットワークトランシーバを予め備えていることも当業者には明らかである。
また、ネットワークトランシーバに、ネットワークトランシーバをロングケーブル(13)又は同等のデータ通信ネットワークに物理的に接続する手段が設けられていること、又は内蔵されていることが必要であることも当業者には明らかである。物理的接続手段は、典型的には、ワイヤレス通信用のアンテナ、電気通信用のRJ45レセプタクル、又は光通信用のデュアルLCレセプタクルの形態を採り得る。さらに、ネットワークトランシーバ(92a)に設けられた物理的接続手段が取り除かれると、ローカル拡張ユニット(93)の物理的サイズが低減され得、ローカル拡張ユニットをアクセス可能にするための必要条件とケーブル接続のための堅牢性を取り除くことができることも明らかである。
また、ネットワークトランシーバが、延長された距離にわたって信頼性のある通信を達成するために大容量の電力を消費することも当業者には明らかである。ローカル拡張ユニット(93)からネットワークトランシーバ(92a)を取り除くことによって、ローカル拡張ユニット(93)による消費電力の大幅な低減を達成することができ、結果的に、熱放散をより低くし、かつ、サイズをさらに小さくし、コストをさらに下げることができる。
図3は、本発明によるUSBシステムのブロック図である。この構成では、各USB周辺デバイス(17)は、USB分配器(15)に、直接、又は一つ又は連鎖したUSBハブ(16)を介して接続される。また、各USB分配器は、データ通信ネットワーク(14)に接続される。また、この構成では、USBリフレクタ(11)が、一つ又は複数のホストコンピュータ(10,12)に接続されている。ホストコンピュータの少なくとも一つは、データ通信ネットワーク(14)への接続を有する必要がある。このシステムでは、ホストコンピュータ(12)がデータ通信ネットワーク(14)への接続を有し、データ通信ネットワーク(14)へのアクティブコネクションを持たない第一ホストコンピュータ(10)と、データ通信ネットワーク(14)へのアクティブコネクションを持つ第二ホストコンピュータ(12)との間に違いがある。
第一ホストコンピュータ(10)がUSB周辺デバイス(17)に通信をしたいが、データ通信ネットワーク(14)へのアクティブコネクションを欠いている時、第一ホストコンピュータ(10)は、USBサブアクションをUSBリフレクタ(11)へ送信し、USBリフレクタ(11)が、USBサブアクションを第二ホストコンピュータ(12)に向けて「リフレクト」する。また、USBリフレクタ(11)は、好ましくは、USBタイミング必要条件を満たすために、第一ホストコンピュータ(10)及び第二ホストコンピュータ(12)に対して全ての必要な確認サブアクションを生じさせることを保証する。USBサブアクションがホストコンピュータ(12)によって受信されると、サブアクションは、データ通信ネットワーク(14)を介して、第二ホストコンピュータ(12)の既存のデータネットワークを使用するUSB分配器(15)へ進められる。次いで、USB分配器(15)は、直接、又は中間USBハブ(16)を介してUSB周辺デバイス(17)へUSBサブアクションを進める。同様の処理が、周辺USBデバイス(17)からホストコンピュータ(10)へ向けた逆方向のデータ又はサブアクション送信のために適用される。
「リフレクト」によって、USBホストコントローラによってUSB周辺デバイスに出されたUSBサブアクションが、USBリフレクタユニットによってインターセプトされ、一つ又は複数の結果として得られるUSBサブアクションに挿入され、そして、USB周辺デバイスというよりはむしろUSBリフレクタユニットに関連するUSBサブアクションとして、オリジナルUSBホストコントローラに戻されるか、又は、別のホストコントローラへ戻される。従って、USBサブアクションは、USBリフレクタユニットによって、一つのUSBホストコントローラから別のUSBホストコントローラへ「リフレクト」されるか、又は、同じUSBホストコントローラへ「リフレクト」される。あるホストコントローラは、それ自身のもとにリフレクトされた、それ自身のサブアクションを「見る(see)」ことができ、また、別のホストコントローラからのリフレクトされたサブアクションを「見る(see)」こともできる。
USBリフレクタ(11)は、独立型デバイスであり得、また、ホストコンピュータ(10)又は(12)の構成に組み込まれた仮想デバイスでもあり得る。
本発明のこの実施例では、三つのUSB分配器、二つの第一ホストコンピュータ及び二つの第二ホストコンピュータからなる構成が選択されている。しかし、このデバイスの選択は、本発明の範囲を限定することを意図するものではなく、異なる個数のUSB分配器及びホストコンピュータを使用することができ、かつ、別の接続構造が可能であることは当業者には明らかである。
また、本発明のこの実施例では、第一ホストコンピュータ(10)及び第二ホストコンピュータ(12)が別々のユニットとして示されている。しかし、第一ホストコンピュータ及び第二ホストコンピュータの機能を、ネットワーク(14)へのアクティブデータ通信結合を持つ任意のホストコンピュータ内で組み合わせることができることも当業者には明らかである。
また、本発明のこの実施例では、データ通信ネットワーク(14)が、複数の接続をサポートするものとして示されている。しかし、データ通信ネットワークは、一つの第二ホストコンピュータ(12)への一つの接続のみをサポートし、かつ、一つのUSB分配器(15)への一つの接続のみをサポートしてもよく、それにより、一つの第二ホストコンピュータと一つのUSB分配器との間の二点間接続によって置き換えられ得る。
図4は、本発明による別の好ましいUSBシステムのブロック図である。この構成では、図3に示した第一ホストコンピュータ及び第二ホストコンピュータの両方の機能を実行する一つのホストコンピュータ(12)のみが必要とされる。この構成では、USBリフレクタ(11)は、ホストコンピュータ(12)からのUSB信号を、後で説明する第一及び第二「プロファイル」メカニズムを使用する同じホストコンピュータ(12)に向けてリフレクトするために必要とされる。
図5は、本発明によるさらに別の好ましいUSBシステムのブロック図である。この構成では、単一データ通信ネットワークとして作用する二点間接続(13)が、ホストコンピュータ(12)とUSB分配器(15)との間に設けられている。二点間接続(13)が、ツイストペアケーブル、同軸ケーブル、光ファイバケーブル及びワイヤレスを含む広範な通信メディアによって設けられ得ることは当業者には明らかである。
図6は、本発明によるUSBリフレクタ(11)と、様々なホストコンピュータオプションを示す複数のホストコントローラのブロック図である。この構成では、USBリフレクタ(11)は、リフレクタコアユニット(23)と、一つ又は複数のUSBトランシーバ(22)とから成る。リフレクタコアユニット(23)は、USBトランシーバ(22)からのUSBサブアクションを受信し、USBサブアクションをフォーマットしてUSBトランシーバ(22)へ送信し、USBトランシーバ間でUSBサブアクションを進めるための機構を提供する。各USBトランシーバ(22)は、ホストコンピュータ(10,12)内に配置されたホストコントローラ(21)に接続されている。
図6のシステムの動作をサポートするために、USBリフレクタ(11)は、少なくとも二つの独立しているが関連付けられたプロファイルを有することが必要とされる。第一プロファイルは、第一ホストコンピュータ(10)に存在し、USB周辺デバイス(17)とUSB分配器(15)に接続されたハブ(16)の集団を示す。第一プロファイルは、第一ホストコンピュータ(10)とUSB周辺デバイス(17)とUSBハブ(16)との間で送信されたUSBサブアクションに反応する。それにより、第一プロファイルは、第一ホストコンピュータ(10)によってUSB周辺デバイス(17)に割り当てられた固有のUSBアドレス毎に応答する。第一プロファイルは、少なくとも一つの第一又は第二ホストコンピュータ(10,12)に存在しなければならない。
第二プロファイルは、第二ホストコンピュータ(12)に存在し、従来のUSBデバイスとしてUSBリフレクタ(11)のUSBインターフェイスに相当する。第二プロファイルは、USBリフレクタ(11)のUSBイニューメレイション(USB enumeration)をサポートし、第二ホストコンピュータ(12)によってデータ通信ネットワーク(14)を通してレプレイされるUSBサブアクションを終了するためのUSBエンドポイントを提供する。それにより、第二プロファイルは、第二ホストコンピュータ(12)によってUSBリフレクタ(11)に割り当てられた固有USBアドレスに応答する。第二プロファイルは、少なくとも一つの第二ホストコンピュータ(12)に存在していなければならない。
USBリフレクタ(11)内のリフレクタコアロジック(23)は、第一プロファイル及び第二プロファイルを実行し、第一プロファイルと第二プロファイル間でUSBサブアクション情報を送信し、かつ、送信中に必要とされ得る何らかのデータ変換アクションを実行するために必要とされる。
本発明の実施例では、四つのUSBトランシーバ(22)の構成が選択されている。異なる数のUSBトランシーバを使用することができ、各USBトランシーバが異なる版のUSB仕様に適合され得ることは当業者には明らかである。USB1.1、USB2.0、USB3.0、サーティファイト゛ワイヤレスUSB又は高速インターチップUSBをサポートするUSBトランシーバが、適当なトランシーバユニットの全ての例である。
また、本発明のこの実施例では、四つのUSBホストコントローラ(21)、一つの第一ホストコンピュータ(10)及び一つの第二ホストコンピュータ(12)から成る構成が選択されている。異なる構成が可能であることは当業者には明らかである。USBリフレクタ(11)は、少なくとも一つのUSBトランシーバ(22)を有するために必要とされ、各USBトランシーバ(22)は、一つのホストコントローラ(21)に接続されなければならない。各ホストコンピュータ(10,12)は、少なくとも一つのホストコントローラ(21)を有する必要がある。
独立した第一プロファイルが、各第一ホストコンピュータ内に設けられた各独立ホストコントローラのために設けられ得、第二プロファイルが各第二ホストコンピュータ内の各独立ホストコントローラのために設けられ得る。
図7は、本発明による好ましいUSBリフレクタと、単一ホストコンピュータオプションを示す二つのホストコントローラとのブロック図である。この構成では、USBリフレクタ(11)は、リフレクタコア(23)と、二つのUSBリンク(25a,25b)を通して二つのホストコントローラ(21a,21b)に接続された二つのUSBトランシーバ(22a,22b)とから成る。この構成では、USBリフレクタ(11)が、USBトランシーバ(22a)を介したホストコントローラ(21a)への第一プロファイルと、USBトランシーバ(22b)を介したホストコントローラ(21b)への第二プロファイルを与え得る。ホストコンピュータ(12)は、第一ホストコンピュータ及び第二ホストコンピュータの両方の機能を実行するために必要とされる。
本発明のこの実施例では、USBトランシーバ(22a,22b)は別々のユニットとして示され、USBホストコントローラ(21a,21b)も別々のユニットとして示され、USBリンク(25a,25b)も別々のリンクとして示されている。しかし、他の構成も可能であり、複数のユニットが一つにまとめられ得ることは当業者には明らかである。さらに、USBトランシーバ(22a)がUSB2.0の要件に適合し得、USBトランシーバ(22b)がUSB3.0の要求に適合し得、USBリンク(25a,25b)がUSB3.0の要求に適合する一つのケーブルで実現され得ることも当業者には明らかである。
図8は、本発明によるさらに好ましいUSBリフレクタと、単一のホストコンピュータオプションを示す一つのホストコントローラとのブロック図である。この構成では、USBリフレクタ(11)は、リフレクタコア(23)と、内部USBハブ(29)を通して一つのホストコントローラ(21)に接続される二つのUSBトランシーバ(22a,22b)とから成る。この構成では、USBリフレクタ(11)は、第一USBトランシーバ(22a)を介したホストコントローラ(21)への第一プロファイルと、第二USBトランシーバ(22b)を通した第二プロファイルとを与え得る。
本発明のこの実施例では、USBハブ(29)は、トランシーバ(22a,22b)への二つのダウンストリームリンクを支持するものとして示されている。しかし、より多くの数のダウンストリームリンクが可能であり、ダウンストリームリンクを通して付加的なプロファイルが与えられ得ることは当業者には明らかである。
また、本発明のこの実施例では、内部USBハブ(29)がUSBリフレクタ(11)内に収容された別個のユニットとして示されている。しかし、内部USB(29)は、USBリフレクタ(11)の外部に配置される独立型ユニットであり得ることは当業者には明らかである。さらに、内部USBハブ(29)は、出願人の継続中の米国特許公開2008/0028120号で提供される開示内容に従って、リフレクタコア(23)内で実行される仮想ユニットであり得ることも当業者には明らかである。
図9は、本発明によるリフレクタコア(23)のブロック図である。この構成では、SUBレスポンダユニット(30)は、一つ又は複数の連結部(35)を介して一つ又は複数のUSBトランシーバに接続されている。USBレスポンダ(30)は、連結部(35)を通してUSBサブアクションを受信し、受信したサブアクションをパケットキャッシュ(31)に記憶し、パケットキャッシュ(31)からUSBサブアクションを読み出し、総合(synthetic)USBサブアクションを生成し、連結部(35)を通してUSBサブアクションを送信することができる。また、USBレスポンダ(30)は、受信、記憶、読出し、生成及び送信処理の発現を記録するためにステータステーブル(33)をアップデイトすることができる。
USBアグリゲータ(34)は、パケットキャッシュ(31)及びステータステーブル(33)に接続されており、第一プロファイルに属するUSBサブアクションをパケットキャッシュ(31)からパケット読み出し、第一USBサブアクションを第二プロファイルの下で送信するのに適したフォーマットに変換し、そして、変換後のUSBサブアクションをパケットキャッシュ(31)に記憶することができる。また、USBアグリゲータ(34)は、パケットキャッシュ(31)から第二プロファイルに属するUSBサブアクションを読み出し、第二USBサブアクションを第一プロファイルの下で送信するのに適したフォーマットに変換し、変換後のUSBサブアクションをパケットキャッシュ(31)に記憶することもできる。さらに、USBアグリゲータ(34)は、複数のオリジナルUSBサブアクションを、一つの統合USBサブアクションに統合し、かつ、統合USBサブアクションを複数のオリジナルUSBサブアクションに分解することができるようにされ得る。さらにまた、USBアグリゲータ(34)は、読み出し、変換、保存、統合及び分解処理の発現を記録するためにステータステーブル(33)をアップデイトすることができる。
コントローラ(32)は、USBレスポンダ(30)、パケットキャッシュ(31)、ステータステーブル(33)及びUSBアグリゲータ(34)の処理を調整することができる。USB仕様によれば、各USBデバイスは、機器構成と制御のためにコントロールエンドポイント(エンドポイント0)をサポートする必要がある。また、コントローラ(32)は、そのコントロールエンドポイントを通してUSBリフレクタ(11)に発せられたUSB要求に応答することができる。
図10は、本発明によるUSB分配器(15)のブロック図である。この構成では、ネットワークトランシーバ(40)が、通信リンク(49)を通してデータ通信ネットワーク(14)に接続されている。USBトランシーバ(47)は、USBリンク(48)を通してUSBハブ(16)又はUSBデバイス(17)に接続されている。
データパケット包含USBサブアクション情報は、データ通信ネットワーク(14)からネットワークトランシーバ(40)によって受信され得、そして、リンクマネージャ(41)に進められ得る。リンクマネージャ(41)は、データパケットの整合性(integrity)をチェックし、エラーが存在していることが見つかった場合には再送信を要求し、パケットのカプセル化を排除し、データ通信ネットワーク(14)を通して送信するために要求される情報のネットワークアドレス指定を行なう処理を行なうものであり得る。その後、包含されたUSBサブアクション情報は、リンクマネージャ(41)によって、個々のUSBサブアクションを特定し、個々のUSBサブアクションをパケットキャッシュ(43)に保存し、そしてパケットキャッシュ(43)におけるUSBサブアクションの存在を表示するためにステータステーブル(45)をアップデイトするための処理を行なうUSB分散器(42)に進められる。
USBレスポンダ(46)は、パケットキャッシュ(43)からUSBサブアクションを読み出し、USBトランシーバ(47)を通してUSBサブアクションを送信することができる。また、USBレスポンダ(46)は、USBトランシーバ(47)からのUSBサブアクションを受信し、受信したUSBサブアクションをパケットキャッシュ(43)に保存し、パケットキャッシュ(43)におけるUSBサブアクションの存在を表示するためにステータステーブル(45)をアップデイトし、総合(synthetic)USBサブアクションを生成し、そして、USBトランシーバ(47)を通して総合USBサブアクションを送信することができる。
同様に、データの流れが、USB分配器(15)からUSBリフレクタ(11)への方向である時は、USB分散器(42)は、パケットキャッシュ(43)からUSBサブアクションを読み出し、選択的に、複数のUSBサブアクションを単一データパケットに統合し、データ通信ネットワーク(14)を通して送信するために単一データパケットをリンクマネージャ(41)に進めることができる。
図11は、本発明による第二ホストコンピュータ(12)内で動作するホストコンピュータソフトウェアスタックのブロック図である。この構成では、USBドライバ(62)が、一つ又は複数のホストコントローラドライバ(63)を操作し、一つ又は複数のホストコントローラドライバ(63)が一つ又は複数のホストコントローラ(21a,21b)を操作する。USBドライバ(62)、ホストコントローラドライバ(63)及びホストコントローラ(21a,21b)から成る構成は、一つ又は複数のUSBリンク(70)及びUSB仕様に従ったUSBドライバインターフェイス(72)をサポートする。
また、この構成では、一つ又は複数のUSBデバイスドライバ(60)が、第一ホストコンピュータ及び第二ホストコンピュータの機能が一つの統一ホストコンピュータ内で一体化された構成内のUSBハブ(16)(図示せず)及びUSBドライブ(17)(図示せず)を制御するためにインストールされ得る。
さらにまた、この構成では、TCP/IPモジュール(66)、NDIS(ネットワークドライバインターフェース仕様)モジュール(67)及びネットワークトランシーバ(68)を備えたデータ通信スタックが設けられている。データ通信スタックは、データリング(71)を通したデータ通信ネットワーク(14)(図示せず)との通信を可能にする。
さらにまた、この構成では、USBリフレクタドライバ(61)が、USBリフレクタ(11)(図示せず)をサポートするUSBドライバ機能を提供するためにUSBドライバインターフェイス(72)で機能する。USBリフレクタドライバ(61)は、USBリフレクタ(11)の第二プロファイルで機能する。第二プロファイルは、USBリフレクタ(11)のUSBイニューメレイション(USB enumeration)をサポートし、第二ホストコンピュータ(12)によってデータ通信ネットワーク(14)で中継されるべきUSBサブアクションを終了させるためのUSBエンドポイントを提供する。また、この構成では、USBリフレクタアプリケーション(65)が、USBリフレクタドライバ(61)とTCP/IPモジュール(66)との間のブリッジを提供する。USBリフレクタアプリケーション(65)は、USBリフレクタドライバ(61)からのUSBサブアクションを受信し、データ通信ネットワーク(14)を介して送信するためにUSBサブアクションをカプセル化することができる。
しかし、この構成が、オペレーティングシステムのカーネルに典型的に含まれているソフトウェアを追加したり変更したりすることを必要とせず、特に、USBドライバインターフェイス(72)より「下」に存在し、USBドライバ(62)及びホストコントローラドライバ(63)を含むソフトウェアを追加したり変更したりすることを必要としないことは当業者には明らかである。さらに、既存のデバイスドライバ(60)に対する変更を必要としないことも明らかである。
図11の構成の機能は、USBリフレクタ(11)の第一プロファイルが第一ホストコントローラ(21a)を通して機能し、USBリフレクタ(11)の第二プロファイルが第二ホストコントローラ(21b)を通して機能し、データがUSBデバイス(17)からホストコントローラ(21a)に流れるUSBトランザクションを実行する以下の実施例によって、さらに説明される。
USBトランザクションは、最終的に第一ホストコントローラ(21a)によって出されるべきUSB INサブアクションをもたらすオリジナルデバイスドライバ(60)によって起動される。USB INサブアクションは、USBリフレクタ(11)の第一プロファイルによってインターセプトされ、その第二プロファイルを通して、USB DATAサブアクションとしてUSBリフレクタ(11)にリフレクトされる。USB DATAサブアクションは、第二ホストコントローラ(21b)によって生み出されたUSB INサブアクションに応えて第二ホストコントローラ(21b)によって受信され、USBリフレクタドライバ(61)へのUSBスタックをパスアップされる。USBリフレクタドライバ(61)は、USBリフレクタ(11)におけるデータバッファがオーバーフローするのを防ぐのに十分なUSB INサブアクションの流れが作り出されることを保証する。その後、USBリフレクタドライバ(61)は、受信したUSB DATAサブアクションからオリジナルUSB INサブアクションを引き出し、データネットワーク(14)を通してUSB分配器(15)へ送信するために引き出したUSBサブアクションをSUBリフレクタアプリケーション(65)に渡す。
USB分配器(14)で受信したUSBサブアクションに応答して、USB DATAサブアクションが、データ通信ネットワーク(14)を通して、最終的に送信され、USBリフレクタアプリケーション(65)によって受信されることになる。受信されたUSB DATAサブアクションは、その後、オリジナルデバイスドライバ(60)に再送信するためにUSBリフレクタドライバ(61)に渡される。USBリフレクタドライバ(61)は、USB OUT/DATAサブアクションの中に受信したUSB DATAサブアクションをカプセル化し、USB OUT/DATAサブアクションを、USBドライバ(62)及び第二ホストコントローラ(21b)を通してUSBリフレクタ(11)の第二プロファイルに送ることにより再送信を始める。USB OUT/DATAサブアクションは、USBリフレクタ(11)の第二プロファイルによって受信され、USBリフレクタ(11)によってUSB DATAサブアクションが引き出され、USBリフレクタ(11)の第一プロファイルを通して利用可能にされる。次いで、第一ホストコントローラ(21a)が、オリジナルデバイスのために繰り返しUSB INサブアクションを出す時に、引き出されたUSB DATAサブアクションは、第一ホストコントローラ(21a)に戻される。
本発明のこの実施例では、TCP/IPモジュール(66)、NDISモジュール(67)及びネットワークトランシーバ(68)を有する特別なデータ通信スタックが示されている。しかし、別のデータ通信スタックでも可能であり、かつ、複数のデータ通信スタックが、一つのホストコンピュータ内で実行され得ることは当業者には明らかである。
また、本発明のこの実施例では、USBリフレクタドライバ(61)は、一つ又は複数のデバイスドライバ(60)と共存するものとして示されている。しかし、他の構成も可能であり、USBデバイスドライバ(60)が、独立したホストコンピュータ(10)にインストールされ得ることは当業者には明らかである。
さらに、ホストコントローラ21a及び21bは別々に識別されているが、一つのホストコントローラ又は任意の数のホストコンとローが利用され得ることは当業者には明らかである。
図12は、USB周辺デバイスからホストコンピュータへのデータ送信を示すシーケンス線図である。
第一ホストコンピュータ(10)における制御ロジック(50)は、USBリフレクタ(11)へ第一INサブアクションを出すことによってデータ送信を開始する。第一INサブアクションは、USB周辺デバイス(17)に関連する第一USBアドレス及びエンドポイント(A1,E1)にアドレス指定される。第一INサブアクションは、USBリフレクタ(11)における制御ロジック(51)によって受信され、ローカルメモリに記憶される。制御ロジック(51)は、エンドポイント(E1)に関連したUSBエンドポイントタイプに適合する総合確認サブアクション(synthetic acknowledgement subaction)を生成し得る。総合確認サブアクションは、USB NAKパケットを有し得る。
その後、第二ホストコンピュータ(12)における制御ロジック(52)が、USBリフレクタ(11)へ第二INサブアクションを出す。第二INサブアクションは、USBリフレクタ(11)の第二プロファイルに関連する第二USBアドレス及びエンドポイント(A2,E3)にアドレス指定される。USBリフレクタ(11)における制御ロジック(51)は、第二INサブアクションを受信し、第一DATAサブアクションを応答する。第一DATAサブアクションにおけるペイロードは、記憶された第一INサブアクションを有する。第二ホストコンピュータ(12)における制御ロジック(52)は、第一DATAサブアクションを受信し、ACKサブアクションをUSBリフレクタ(11)に送信することによって、受信成功を応答確認し得る。
その後、第二ホストコンピュータ(12)における制御ロジック(52)は、受信した第一DATAサブアクションから第一INサブアクションを引き出し、引き出した第一INサブアクションを有する第一ネットワークパケットをアセンブルする。制御ロジック(52)は、データ通信ネットワーク(14)を通して、第一ネットワークパケットをUB分配器(15)に進める。USB分配器(15)における制御ロジック(53)は、第一ネットワークパケットを受信し、第一ネットワークパケットから第一INサブアクションを引き出し、引き出した第一INサブアクションをUSB周辺デバイス(17)へ送る。
その後、送られた第一INサブアクションはUSB周辺デバイス(17)における制御ロジック(54)によって受信される。制御ロジック(54)は、第二DATAサブアクションを生成し、生成した第二DATAサブアクションをUSB分配器(15)に送る。送られた第二DATAサブアクションは、USB分配器(15)における制御ロジック(53)によって受信される。制御ロジック(53)は、エンドポイント(E1)に関連したUSBエンドポイントタイプに適合する総合確認サブアクションを生成し得る。総合確認サブアクションは、USB ACKパケットを有し得る。また、制御ロジック(53)は、引き出した第一INサブアクションと受信した第二DATAサブアクションを、第二ネットワークパケットにアセンブルし、第二ネットワークパケットを、データ通信ネットワーク(14)を通して第二ホストコンピュータ(12)に送る。
その後、第二ホストコンピュータ(12)における制御ロジック(52)は、送られた第二ネットワークパケットを受信し、第一INサブアクション及び第二DATAサブアクションを引き出し、第一INサブアクション及び第二DATAサブアクションを有する第一OUTサブアクションをアセンブルする。制御ロジック(52)は、第一OUTサブアクションをUSBリフレクタ(11)に送信する。第一OUTサブアクションは、USBリフレクタ(11)の第二プロファイルに関連する第三USBアドレス及びエンドポイント(A2,E4)にアドレス指定される。制御ロジック(51)は、第一OUTサブアクションを受信し、第一INサブアクション及び第二DATAサブアクションを引き出し、引き出した第一INサブアクション及び第二DATAサブアクションをローカルメモリに記憶する。
さらにその後、第一ホストコンピュータ(10)における制御ロジック(50)は、第三INサブアクションをUSBリフレクタ(11)に出力する。第三INサブアクションは、再び、USB周辺デバイス(17)に関連する第一USBアドレス及びエンドポイント(A1,E1)にアドレス指定される。USBリフレクタ(11)における制御ロジック(51)は第三INサブアクションを受信し、第三INサブアクションが、記憶された第一INサブアクションと同じアドレス及びエンドポイント(A1,E1)にアドレス指定されていることを認識する。制御ロジック(51)は、ローカルメモリから記憶された第二DATAサブアクションを読み出し、読み出した第二DATAサブアクションを第一ホストコンピュータ(10)に送る。第一ホストコンピュータ(10)における制御ロジック(50)は、エンドポイント(E1)に関連するUSBエンドポイントタイプに適合する総合確認サブアクションを生成し得る。総合確認サブアクションは、USB ACKパケットを有し得る。
図13は、ホストコンピュータからUSB周辺デバイスへのデータ送信を示すシーケンス線図である。
第一ホストコンピュータ(10)の制御ロジック(50)は、USBリフレクタ(11)へ第一OUTサブアクションを送ることによってデータ送信を開始する。第一OUTサブアクションは、USB周辺デバイス(17)に関連する第一USBアドレス及びエンドポイント(A1,E2)にアドレス指定される。第一OUTサブアクションは、USBリフレクタ(11)の制御ロジック(51)によって受信され、ローカルメモリに記憶される。制御ロジック(51)は、エンドポイント(E1)に関連したUSBエンドポイントタイプに適合する総合確認サブアクションを生成し得る。総合確認サブアクションはUSB NAKパケットを有し得る。
その後、第二ホストコンピュータ(12)の制御ロジック(52)がUSBリフレクタ(11)に第一INサブアクションを送る。第二INサブアクションは、USBリフレクタ(11)の第二プロファイルに関連する第二USBアドレス及びエンドポイント(A2,E3)にアドレス指定される。USBリフレクタ(11)の制御ロジック(51)は、第一INサブアクションを受信し、第一DATAサブアクションに応答する。第一DATAサブアクションにおけるペイロードは、記憶された第一OUTサブアクションを有する。第二ホストコンピュータ(12)の制御ロジック(52)は、第一DATAサブアクションを受信し、USBリフレクタ(11)へACKサブアクションを送信することによって受信成功を応答確認し得る。
次いで、第二ホストコンピュータ(12)の制御ロジック(52)が、受信した第一DATAサブアクションから第一OUTサブアクションを引き出し、引き出した第一OUTサブアクションを有する第一ネットワークパケットをアセンブルする。制御ロジック(52)は、データ通信ネットワーク(14)を通して、第一ネットワークパケットをUB分配器(15)に進める。USB分配器(15)における制御ロジック(53)は、第一ネットワークパケットを受信し、第一ネットワークパケットから第一OUTサブアクションを引き出し、引き出した第一OUTサブアクションをUSB周辺デバイス(54)へ送る。
その後、送られた第一OUTサブアクションは、USB周辺デバイス(17)の制御ロジック(54)で受信される。制御ロジック(54)は、第二確認サブアクションを生成し、生成した第二確認サブアクションをUSB分配器(15)へ送る。送られた第二確認サブアクションは、USB分配器(15)の制御ロジック(53)によって受信される。また、制御ロジック(53)は、引き出した第一OUTサブアクション及び受信した第二確認サブアクションを第二ネットワークパケットにアセンブルし、第二ネットワークパケットを、データ通信ネットワーク(14)を通して第二ホストコンピュータ(12)へ送る。
次いで、第二ホストコンピュータ(12)の制御ロジック(52)は、送られた第二ネットワークパケットを受信し、第一OUTサブアクション及び第二確認サブアクションを引き出し、第一OUTサブアクション及び第二確認サブアクションを有する第二OUTサブアクションをアセンブルする。制御ロジック(52)は、第二OUTサブアクションをUSBリフレクタ(11)に送信する。第二OUTサブアクションは、USBリフレクタ(11)の第二プロファイルに関連する第三USBアドレス及びエンドポイント(A2,E4)にアドレス指定される。制御ロジック(51)は、第二OUTサブアクションを受信し、第一OUTサブアクション及び第二確認サブアクションを引き出し、引き出した第一OUTサブアクション及び第二確認さ部アクションをローカルメモリに記憶させる。
さらにその後、第一ホストコンピュータ(10)の制御ロジック(50)が、USBリフレクタ(11)へ第三OUTサブアクションを出す。第三OUTサブアクションは、再び、USB周辺デバイス(17)に関連する第一USBアドレス及びエンドポイント(A1,E2)にアドレス指定される。USBリフレクタ(11)の制御ロジック(51)は第三OUTサブアクションを受信し、第三OUTサブアクションが、記憶されている第一OUTサブアクションと同じアドレス及びエンドポイント(A1,E2)にアドレス指定されていることを識別する。制御ロジック(51)は、ローカルメモリから記憶された第二確認サブアクションを読み出し、読み出した第二確認サブアクションを、第一ホストコンピュータ(10)へ送る。
それ自体は図示していないが、前もって説明したように、ホストコンピュータ10及びホストコンピュータ12は一つの同じホストコンピュータであってもよく、又は二つ又はそれ以上の独立したホストコンピュータであってもよいことは理解される。
本発明によれば、先に説明した目標、目的及び利点を完全に満たすリモートコンピュータへUSBデバイスを接続する方法及び装置が提供されることは明らかである。従って、本発明の具体的な実施例を説明することで、その変更、改良及び変化が当業者に暗示され得、本明細書が、特許請求の範囲の範囲内に入るそのような変更、改良及び変化を全て包含することを目的としていることは理解される。
加えて、特に明記しない限り、用語「comprise(有する,備える)」及び「comprising」及び「comprises」は、明細書及び特許請求の範囲で使用される時は、他の付加的部材、構成要素、整数又はステップを排除するものではない。
さらにまた、用語「substantially(実質的に)」又は「essentially(本質的に)」は、形容詞や副詞によって使用される場合、特定の特徴を強調するために用いられるもので、例えば、「実質的に平面」は、「平面」「ほとんど平面」及び/又は「平面な要素に関連する特徴を示す」ことを意図している。
さらにまた、用語「彼(he)」「彼を(him)」又は「彼の(his)」は、男性の人を具体的に指すことを意図するものではなく、それぞれ「彼女(she)」「彼女を(her)」又は「彼女の(hers)」と読むことができるものである。
また、この議論は、発明者に公知の従来技術を対処するものである一方、議論された全ての技術は、本出願に対して引用可能である。

Claims (17)

  1. 一つ又は複数のホストコンピュータと一つ又は複数のUSB周辺デバイスとの間でUSBトラフィックを伝達するコンピュータシステムであって、
    前記一つ又は複数のホストコンピュータと前記一つ又は複数のUSB周辺デバイスとが、データ通信ネットワークによって一方から他方へ接続されるコンピュータシステムにおいて、
    前記コンピュータシステムが、
    a.USBトラフィックを生成し受け入れる一つ又は複数のホストコンピュータと、
    b.前記一つ又は複数のホストコンピュータによって開始されたUSBトラフィックに応答することができる一つ又は複数のUSB周辺デバイスと、
    c.前記一つ又は複数のホストコンピュータと前記データ通信ネットワークとの間の一つ又は複数のネットワークコネクションと、
    d.前記一つ又は複数のホストコンピュータから受信したUSBトラフィックを前記一つ又は複数のホストコンピュータへリフレクトすることができるUSBリフレクタユニットと、
    e.前記データ通信ネットワークに接続され、前記一つ又は複数のUSB周辺デバイスを前記データ通信ネットワークに接続するために利用される一つ又は複数のUSB分配ユニットと、
    f.前記USBリフレクタユニットに接続するために前記一つ又は複数のホストコンピュータにあるUSBリフレクタドライバと、
    g.前記USBリフレクタドライバを前記データ通信ネットワークに接続するためのUSBリフレクタアプリケーションと
    を備えている
    ことを特徴とするコンピュータシステム。
  2. 前記一つ又は複数のホストコンピュータが、USB仕様に従って動作する
    ことを特徴とする請求項1に記載のコンピュータシステム。
  3. 前記データ通信ネットワークが、ホストコンピュータとUSB分配ユニットとの間の二点間リンクである
    ことを特徴とする請求項1に記載のコンピュータシステム。
  4. 前記USBトラフィックが、USBサブアクションから成る
    ことを特徴とする請求項1に記載のコンピュータシステム。
  5. 前記USBリフレクタユニットが、USBを通して前記一つ又は複数のホストコンピュータに接続される
    ことを特徴とする請求項1に記載のコンピュータシステム。
  6. 前記USBリフレクタの機能が、前記一つ又は複数のホストコンピュータに組み込まれている
    ことを特徴とする請求項1に記載のコンピュータシステム。
  7. 前記一つ又は複数のホストコンピュータが、少なくとも一つのホストコンピュータデータ通信トランシーバを有し、
    前記リフレクタユニットと前記データ通信ネットワークとの間の通信が、前記ホストコンピュータデータ通信トランシーバを利用して行われる
    ことを特徴とする請求項1に記載のコンピュータシステム。
  8. 一つ又は複数のホストコンピュータによって生成されたUSBサブアクションを受け入れ、
    前記USBサブアクションを一連の変換済みUSBサブアクションに変換し、
    前記一連の変化済みUSBサブアクションを、前記一つ又は複数のホストコンピュータに向けてリフレクトする
    ためのUSBリフレクタユニットであって、
    該USBリフレクタユニットが、
    a.少なくとも一つのホストコンピュータと通信するための少なくとも一つのUSBトランシーバと、
    b.前記少なくとも一つのUSBトランシーバを通してUSBサブアクションを受け入れ、かつ、リフレクトし、そしてUSBサブアクションを一連の変換済みUSBサブアクションに変換するためのリフレクタコアと
    を備えている
    ことを特徴とするUSBリフレクタユニット。
  9. 前記ホストコンピュータによって発行されたUSBイニューメレイションコマンドに応答するための手段をさらに備えている
    ことを特徴とする請求項8に記載のUSBリフレクタユニット。
  10. 一つ以上のUSBアドレスで指定されたUSBトラフィックを、単一のアドレスで指定されたUSBトラフィックに統合する手段をさらに備えている
    ことを特徴とする請求項8に記載のUSBリフレクタユニット。
  11. 一つ以上のUSBエンドポイントで指定されたUSBトラフィックを、単一のエンドポイントで指定されたUSBトラフィックに統合する手段をさらに備えている
    ことを特徴とする請求項8に記載のUSBリフレクタユニット。
  12. 少なくとも一つのUSBトランシーバを通してUSBサブアクションを引き受けてリフレクトし、USBサブアクションを一連の変換済みUSBサブアクションに変換するためのリフレクタコアユニットであって、
    前記リフレクタコアユニットが、
    a.USBコマンドを解析し、適当なUSB応答を生成するUSBレスポンダと、
    b.USBサブアクション及び変換済みUSBサブアクションを記憶するパケットキャッシュと、
    c.前記リフレクタコアユニットによってサポートされる各USBデバイスの構造及びステータスを記録するためのステータステーブルと、
    d.USBホストコントローラから受信したUSBサブアクションを、USBホストコントローラへリフレクトして戻し得るUSBサブアクションに変換するためのUSBアグリゲータと、
    e.前記USBレスポンダ、前記パケットキャッシュ、前記ステータステーブル及び前記USBアグリゲータの動作を調整するためのコントローラと
    を備えている
    ことを特徴とするリフレクタコアユニット。
  13. ホストコンピュータから受信したUSBサブアクションを引き受け、前記USBサブアクションを複数のUSB周辺デバイスに向けて送り、前記複数のUSB周辺デバイスから受信したUSBサブアクションを引き受け、前記USBサブアクションをホストコンピュータに向けて送るUSB分配ユニットであって、
    前記USB分配ユニットが、
    a.前記複数のUSB周辺デバイスと通信するための少なくとも一つのUSBトランシーバと、
    b.前記少なくとも一つのUSBトランシーバを通してUSBサブアクションの引き受けと送りをするための分配器コアと
    を備えていることを特徴とするUSB分配ユニット。
  14. データ通信ネットワークを通してUSB周辺デバイスからホストコンピュータへデータを送信する方法であって、
    該方法が、
    a.USBリフレクタユニットで、第一ホストコンピュータから、受信データ第一リクエストを受信し、
    b.前記USBリフレクタユニットで、前記受信データ第一リクエストを記憶し、
    c.選択的に、前記USBリフレクタユニットで、否定確認応答を前記第一ホストコンピュータに対して応答し、
    d.前記USBリフレクタユニットで、第二ホストコンピュータから、受信データ第二リクエストを受信し、
    e.前記第二ホストコンピュータに対して、前記受信データ第一リクエストを含む応答データを応答し、
    f.選択的に、前記USBリフレクタで、前記第二ホストコンピュータからの確認応答を受信し、
    g.前記第二ホストコンピュータで、前記受信データ第一リクエストを含む前記応答データを受信し、
    h.前記第二ホストコンピュータで、前記データ受信用第一リクエストを含む前記受信した応答データを、データ通信ネットワークを通して送信し、
    i.前記データ受信用第一リクエストを含む前記送信された応答データをUSB分配ユニットで受信し、
    j.前記USB分配ユニットで、前記データ受信用第一リクエストを、前記送信された応答データから引き出し、
    k.前記USB分配ユニットで、前記引き出したデータ受信用第一リクエストをUSB周辺デバイスへ送り、
    l.USB分配ユニットで、USB周辺デバイスから第二応答データを受信し、
    m.選択的に、USB分配ユニットで、前記USB周辺デバイスに対して確認応答を応答し、
    n.USB分配ユニットで、前記引き出したデータ受信用第一リクエストと前記第二応答データをアセンブル応答データにアセンブルし、
    o.前記USB分配ユニットで、データ通信ネットワークを通してアセンブル応答データを送り、
    p.前記第二ホストコンピュータで、前記送られたアセンブル応答データを受信し、
    q.前記第二ホストコンピュータで、前記送られたアセンブル応答データを含む発信データ通知を生成し、
    r.前記USBリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ通知を受信し、
    s.選択的に、前記第二ホストコンピュータに、確認応答を応答し、
    t.前記USBリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ通知を記憶し、
    u.前記USBリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ痛里から、前記データ受信用第一リクエスト及び前記第二応答データを引き出し、
    v.前記USBリフレクタユニットで、第一ホストコンピュータから、データ受信用第二リクエストを受信し、
    w.前記USBリフレクタユニットで、前記引き出されたデータ受信用第一リクエストと、前記受信したデータ受信用第二リクエストとをマッチングし、
    x.前記USBリフレクタユニットで、前記第一ホストコンピュータに第二応答データを送り、
    y.選択的に、前記第一ホストコンピュータから確認応答を受ける
    ことを含むことを特徴とする方法。
  15. 前記リフレクタユニットが、第一プロファイルを使用する前記第一ホストコンピュータと通信し、かつ、第二プロファイルを使用する前記第二ホストコンピュータと通信する
    ことを特徴とする請求項14に記載の方法。
  16. 前記第一ホストコンピュータと前記第二ホストコンピュータとが同じコンピュータである
    ことを特徴とする請求項14に記載の方法。
  17. データ通信ネットワークを通してホストコンピュータからUSB周辺デバイスへデータを送信する方法であって、
    前記方法が、
    a.USBリフレクタユニットで、第一ホストコンピュータからの第一送信データ通知を受信し、
    b.前記USBリフレクタユニットで、第一送信データ通知を記憶し、
    c.選択的に、USBリフレクタユニットで、前記第位置ホストコンピュータへ否定確認応答を応答し、
    d.USBリフレクタユニットで、第二ホストコンピュータからの受信データ第一リクエストを受信し、
    e.前記第二ホストコンピュータへ、前記第一送信データ通知を含む応答データを応答し、
    f.選択的に、前記USBリフレクタユニットで、前記第二ホストコンピュータからの確認応答を受信し、
    g.前記第二ホストコンピュータで、前記第一送信データ通知を含む応答データを受信し、
    h.前記第二ホストコンピュータで、データ通信ネットワークを通して、前記第一送信データ通知を含む前記受信した応答データを送り、
    i.USB分配ユニットで、前記第一送信データ通知を含む前記送信された応答データを受信し、
    j.前記USB分配ユニットで、前記送信された応答データから前記第一送信データ通知を引き出し、
    k.USB分配ユニットで、前記引き出した第一送信データ通知をUSB周辺デバイスへ送信し、
    l.USB分配ユニットで、USUB周辺デバイスから第二確認応答を受信し、
    m.USB分配ユニットで、前記引き出した第一送信データ通知と前記第二確認応答とをアセンブリ応答データにアセンブルし、
    n.前記USB分配ユニットで、データ通信ネットワークを通して前記アセンブリ応答データを送り、
    o.前記第二ホストコンピュータで、前記送られたアセンブリ応答データを受信し、
    p.前記第二ホストコンピュータで、前記送られたアセンブリ応答データを含む送信データ通知を生成し、
    q.USBリフレクタユニットで、前記送られたアセンブリ応答データを含む前記生成された送信データ通知を受信し、
    r.選択的に、前記第二ホストコンピュータに対して、確認応答を応答し、
    s.USBリフレクタユニットで、前記送られたアセンブリ応答データを含む前記受信した送信データ通知を記憶し、
    t.USBリフレクタユニットで、前記送られたアセンブリ応答データを含む前記記憶された送信データ通知から、前記第一送信データ通知と前記第二確認応答とを引き出し、
    u.USBリフレクタユニットで、第一ホストコンピュータから、第三送信データ通知を受信し、
    v.USBリフレクタユニットで、前記引き出された第一送信データ通知と前記受信した第三送信データ通知とをマッチングし、
    w.USBリフレクタユニットで、前記第位置ホストコンピュータに前記引き出した第二確認応答を送る
    ことを含むことを特徴とする方法。
JP2011522359A 2008-08-15 2009-08-14 Usbデバイスをリモートコンピュータに接続する方法及び装置 Expired - Fee Related JP5520951B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/192,940 2008-08-15
US12/192,940 US7818486B2 (en) 2008-08-15 2008-08-15 Method and apparatus for connecting USB devices to a remote computer
PCT/CA2009/001130 WO2010017636A1 (en) 2008-08-15 2009-08-14 Method and apparatus for connecting usb devices to a remote computer

Publications (2)

Publication Number Publication Date
JP2012500422A true JP2012500422A (ja) 2012-01-05
JP5520951B2 JP5520951B2 (ja) 2014-06-11

Family

ID=41668614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011522359A Expired - Fee Related JP5520951B2 (ja) 2008-08-15 2009-08-14 Usbデバイスをリモートコンピュータに接続する方法及び装置

Country Status (8)

Country Link
US (1) US7818486B2 (ja)
EP (1) EP2316075B1 (ja)
JP (1) JP5520951B2 (ja)
KR (1) KR20110046534A (ja)
CN (1) CN102216919B (ja)
AU (1) AU2009281668B2 (ja)
CA (1) CA2733089C (ja)
WO (1) WO2010017636A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016139218A (ja) * 2015-01-27 2016-08-04 日本電信電話株式会社 Usb信号制御方法及びusb仮想化通信システム

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504707B2 (en) * 2004-12-07 2013-08-06 Cisco Technology, Inc. Method and system for sending and receiving USB messages over a data network
US20080307109A1 (en) * 2007-06-08 2008-12-11 Galloway Curtis C File protocol for transaction based communication
US7769941B2 (en) * 2008-09-23 2010-08-03 Aten International Co., Ltd. USB matrix switch system
JP2010141586A (ja) * 2008-12-11 2010-06-24 Seiko Epson Corp ワイヤレスusb通信システム、usbホスト及びusbデバイス
KR101563195B1 (ko) * 2009-08-18 2015-10-27 삼성전자주식회사 호스트 장치 및 슬레이브 장치 제어 방법
US8180945B2 (en) * 2009-09-11 2012-05-15 I/O Interconnect Limited USB add-on module
US8547933B2 (en) * 2009-11-11 2013-10-01 Lg Electronics Inc. Method and apparatus for performing handover in multi-mode terminal
US8645584B2 (en) * 2010-06-27 2014-02-04 Valens Semiconductor Ltd. Method and system for partial USB enumeration and edge initiation
US8578060B2 (en) * 2010-06-27 2013-11-05 Valens Semiconductor Ltd. Method and system for initiating distinct USB connections over a network
US9059865B2 (en) 2010-06-27 2015-06-16 Valens Semiconductor Ltd. USB host adaptor for initiating a USB connection over a non-USB network
US9240896B2 (en) 2010-06-27 2016-01-19 Valens Semiconductor Ltd. Method and system for USB connections over distinct network paths
US9059864B2 (en) 2010-06-27 2015-06-16 Valens Semiconductor Ltd. USB device adaptor for initiating a USB connection over a non-USB network
US8578061B2 (en) * 2010-06-27 2013-11-05 Valens Semiconductor Ltd. Method and system for USB addressing by a network adaptor
US10459864B2 (en) * 2010-06-27 2019-10-29 Valens Semiconductor Ltd. USB isochronous transfer over a non-USB network
US9049041B2 (en) 2010-06-27 2015-06-02 Valens Semiconductor Ltd. Method and system for distributed initiation of USB over network data plane connections
US8560754B2 (en) 2010-09-17 2013-10-15 Lsi Corporation Fully integrated, low area universal serial bus device transceiver
WO2012083423A1 (en) * 2010-12-23 2012-06-28 Icron Technologies Corporation Method and apparatus for connecting usb devices to a computer
KR101251250B1 (ko) * 2011-07-01 2013-04-08 알서포트 주식회사 원격 디바이스 드라이버를 이용한 원격 제어 시스템 및 원격 디바이스 드라이버를 이용한 원격 제어 방법
US9047418B2 (en) * 2011-11-22 2015-06-02 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication
CN103312281B (zh) * 2012-03-16 2016-10-05 鸿富锦精密工业(武汉)有限公司 Usb信号放大电路
CN103312280B (zh) * 2012-03-16 2016-12-14 鸿富锦精密工业(武汉)有限公司 Usb信号放大电路
CN104813301B (zh) * 2012-07-05 2018-05-22 欧姆龙美国管理中心股份有限公司 用于经由中间传送的usb信令的方法和设备
CN103678211B (zh) * 2012-09-11 2016-07-13 龙迅半导体(合肥)股份有限公司 Usb接口的信号传输方法及其装置
US9654604B2 (en) * 2012-11-22 2017-05-16 Intel Corporation Apparatus, system and method of controlling data flow over a communication network using a transfer response
US9817772B2 (en) 2012-12-20 2017-11-14 Icron Technologies Corporation Systems and methods for exchanging USB information with selected remote devices
KR101458965B1 (ko) * 2013-06-27 2014-11-07 주식회사 쿠오핀 Ip 네트워크를 이용한 usb 데이터 제어방법 및 그 장치
US9910817B2 (en) * 2014-03-04 2018-03-06 Black Diamond Video, Inc. Apparatus, system, and method for allowing USB devices to communicate over a network
US10162788B2 (en) * 2016-08-19 2018-12-25 Microchip Technology Incorporated USB on the go (OTG) multi-hub endpoint reflector hub
US10552355B2 (en) 2017-10-03 2020-02-04 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication over an extension medium
CN113971149A (zh) 2020-07-22 2022-01-25 艾科隆技术公司 用于在usb扩展环境内配置端点的技术
US11726941B2 (en) * 2021-08-03 2023-08-15 Vertiv It Systems, Inc. System and method for modular management gateway apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340199A (ja) * 1997-06-09 1998-12-22 Nec Shizuoka Ltd コンピュータシステム
WO2006082782A1 (ja) * 2005-02-02 2006-08-10 Silex Technology, Inc. 周辺機器利用方法および周辺機器サーバ
JP2008123417A (ja) * 2006-11-15 2008-05-29 Nec Access Technica Ltd Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588140A (en) * 1993-03-15 1996-12-24 Computer Network Technology Corporation Transparent extension of peripheral from host
US5655138A (en) * 1995-04-11 1997-08-05 Elonex I. P. Holdings Apparatus and method for peripheral device control with integrated data compression
US5797028A (en) * 1995-09-11 1998-08-18 Advanced Micro Devices, Inc. Computer system having an improved digital and analog configuration
US5675813A (en) * 1995-10-26 1997-10-07 Microsoft Corporation System and method for power control in a universal serial bus
US5781747A (en) * 1995-11-14 1998-07-14 Mesa Ridge Technologies, Inc. Method and apparatus for extending the signal path of a peripheral component interconnect bus to a remote location
US5878221A (en) * 1996-02-05 1999-03-02 Xinex Networks Inc. Network for multimedia asynchronous transfer mode digital signal transmission and components thereof
US5799041A (en) * 1996-02-05 1998-08-25 Xinex Networks Inc. Network for multimedia asynchronous transfer mode digital signal transmission and components thereof
US5767844A (en) * 1996-02-29 1998-06-16 Sun Microsystems Inc Modified universal serial bus interface implementing remote power up while permitting normal remote power down
US5784581A (en) * 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
US5781028A (en) * 1996-06-21 1998-07-14 Microsoft Corporation System and method for a switched data bus termination
US6308239B1 (en) * 1996-11-07 2001-10-23 Hitachi, Ltd. Interface switching apparatus and switching control method
US5890015A (en) * 1996-12-20 1999-03-30 Intel Corporation Method and apparatus for implementing a wireless universal serial bus host controller by interfacing a universal serial bus hub as a universal serial bus device
US5983073A (en) * 1997-04-04 1999-11-09 Ditzik; Richard J. Modular notebook and PDA computer systems for personal computing and wireless communications
US6185641B1 (en) * 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
JP3045985B2 (ja) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
US6131125A (en) * 1997-11-14 2000-10-10 Kawasaki Lsi U.S.A., Inc. Plug-and-play data cable with protocol translation
US6308215B1 (en) * 1997-12-22 2001-10-23 Robert J. Kolbet Extender apparatus for USB connection of computer units
TW455805B (en) * 1998-02-26 2001-09-21 Winbond Electronics Corp Converter allowing data communications equipment to transmit data to data terminal equipment through universal serial bus and the control method thereof
US6282593B1 (en) * 1998-05-08 2001-08-28 Tony Goodfellow Extension of electronic buses and their bus protocols using signal-propagation timing compensation
US6178514B1 (en) * 1998-07-31 2001-01-23 Bradley C. Wood Method and apparatus for connecting a device to a bus carrying power and a signal
US6105097A (en) * 1998-10-14 2000-08-15 Cypress Semiconductor Corp. Device and method for interconnecting universal serial buses including power management
US6311294B1 (en) * 1998-10-20 2001-10-30 Cypress Semiconductor Corp. Device and method for efficient bulk data retrieval using a universal serial bus
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
JP2000183920A (ja) 1998-12-21 2000-06-30 Matsushita Electric Ind Co Ltd Usb情報伝送装置
US6584519B1 (en) * 1998-12-22 2003-06-24 Canon Kabushiki Kaisha Extender for universal serial bus
BR0008344A (pt) 1999-02-19 2002-11-19 Icron Systems Inc Método para transmitir um fluxo de dados entre um controlador hospedeiro e um dispositivo periférico por uma distância estendida e aparelho para transmitir um sinal digital através de uma distância estendida
US6601109B1 (en) * 1999-03-31 2003-07-29 International Business Machines Corporation USB-based networking and I/O hub
AU4501200A (en) * 1999-04-30 2000-11-17 Daniel Kelvin Jackson Method and apparatus for extending communications over usb
US6708247B1 (en) * 1999-07-21 2004-03-16 Clearcube Technology, Inc. Extending universal serial bus to allow communication with USB devices at a remote location
US6965614B1 (en) * 1999-11-12 2005-11-15 Nortel Networks Limited Method and system for communications between different types of devices
US6526468B1 (en) * 1999-12-15 2003-02-25 Robotel Electronique Inc. Peripheral bus extender
US6546450B1 (en) * 1999-12-22 2003-04-08 Intel Corporation Method and apparatus for sharing a universal serial bus device among multiple computers by switching
US20020010821A1 (en) * 2000-06-09 2002-01-24 Gang Yu USB extension system
JP3415567B2 (ja) * 2000-06-21 2003-06-09 エヌイーシーマイクロシステム株式会社 Usb転送制御方法およびusbコントローラ
US6571305B1 (en) * 2000-09-27 2003-05-27 Lantronix, Inc. System for extending length of a connection to a USB peripheral
US6735658B1 (en) * 2000-10-06 2004-05-11 Clearcube Technology, Inc. System and method for combining computer video and remote universal serial bus in an extended cable
US6718412B2 (en) * 2000-12-14 2004-04-06 Agilent Technologies, Inc. Apparatus and method for universal serial bus communications
US6754720B1 (en) * 2001-03-02 2004-06-22 Adaptec, Inc. Automatic addressing of expanders in I/O subsystem
US6886062B2 (en) * 2001-03-30 2005-04-26 Intel Corporation Method and apparatus for improving time constraints and extending limited length cables in a multiple-speed bus
US20020144141A1 (en) * 2001-03-31 2002-10-03 Edwards James W. Countering buffer overrun security vulnerabilities in a CPU
CA2345596C (en) * 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
US7269183B2 (en) * 2001-04-27 2007-09-11 Broadcom Corporation System and method for connecting bluetooth-enabled devices to a personal computer
JP3680762B2 (ja) * 2001-05-14 2005-08-10 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6904489B2 (en) * 2001-10-23 2005-06-07 Digi International Inc. Methods and systems for remotely accessing universal serial bus devices
US7080189B1 (en) * 2002-05-31 2006-07-18 Cypress Semiconductor Corp. USB device communication
US7159065B1 (en) * 2002-06-20 2007-01-02 Cypress Semiconductor Corporation Method for issuing vendor specific requests for accessing ASIC configuration and descriptor memory while still using a mass storage class driver
US7185126B2 (en) * 2003-02-24 2007-02-27 Standard Microsystems Corporation Universal serial bus hub with shared transaction translator memory
JP4377603B2 (ja) * 2003-03-26 2009-12-02 Okiセミコンダクタ株式会社 バス通信システムおよびその通信制御方法
US7120724B2 (en) * 2003-04-14 2006-10-10 Hewlett-Packard Development Company, L.P. USB interface extension through split transaction protocol
KR100943742B1 (ko) 2003-06-03 2010-02-23 삼성전자주식회사 Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법
US6993620B2 (en) * 2003-06-13 2006-01-31 Hewlett-Packard Development Company, L.P. User resource sharing through the USB interface
US7502878B1 (en) * 2003-06-27 2009-03-10 Cypress Semiconductor Corporation Method and apparatus for switching USB devices between multiple USB hosts
US7493431B2 (en) * 2003-08-06 2009-02-17 Icron Technologies Corporation Method and apparatus for extending the range of the universal serial bus protocol
TW200506637A (en) * 2003-08-07 2005-02-16 Ali Corp Host-to-host USB bridge
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7613854B2 (en) * 2004-04-15 2009-11-03 Aten International Co., Ltd Keyboard video mouse (KVM) switch wherein peripherals having source communication protocol are routed via KVM switch and converted to destination communication protocol
US8504707B2 (en) * 2004-12-07 2013-08-06 Cisco Technology, Inc. Method and system for sending and receiving USB messages over a data network
US7644211B2 (en) * 2004-12-07 2010-01-05 Cisco Technology, Inc. Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers
US7640378B2 (en) * 2005-03-11 2009-12-29 Icron Technologies Corporation Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays
CN1976310B (zh) * 2005-07-08 2014-04-16 美国博通公司 在网络中通过总线接口进行通信的方法
US20070011374A1 (en) * 2005-07-08 2007-01-11 Kumar Sasi K Method and system for universal serial bus (USB) re-direct (USB-R) over a network
EP1793565A1 (en) * 2005-12-02 2007-06-06 Seiko Epson Corporation Network plug-and-play compliant network relay control
US7418524B2 (en) * 2005-12-06 2008-08-26 Avocent Corporation Universal serial bus (USB) extension
US7478191B2 (en) * 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
US20070255868A1 (en) * 2006-04-26 2007-11-01 Cisco Technology, Inc. (A California Corporation) Method and system for managing a network device using a slave USB interface
US7428606B2 (en) * 2006-05-05 2008-09-23 Dell Prodcuts L.P. Method, system and apparatus to allow users to remotely mount USB devices and access KVM through a server interface pod (SIP)
US8566389B2 (en) * 2006-07-10 2013-10-22 Samsung Electronics Co., Ltd. Thin network protocol
US7587536B2 (en) * 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
US8972594B2 (en) * 2008-02-11 2015-03-03 Microsoft Corporation Media mix wiring protocol for media control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340199A (ja) * 1997-06-09 1998-12-22 Nec Shizuoka Ltd コンピュータシステム
WO2006082782A1 (ja) * 2005-02-02 2006-08-10 Silex Technology, Inc. 周辺機器利用方法および周辺機器サーバ
JP2008123417A (ja) * 2006-11-15 2008-05-29 Nec Access Technica Ltd Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016139218A (ja) * 2015-01-27 2016-08-04 日本電信電話株式会社 Usb信号制御方法及びusb仮想化通信システム

Also Published As

Publication number Publication date
US7818486B2 (en) 2010-10-19
EP2316075A4 (en) 2011-12-14
JP5520951B2 (ja) 2014-06-11
CN102216919A (zh) 2011-10-12
EP2316075B1 (en) 2013-10-16
US20100042767A1 (en) 2010-02-18
AU2009281668B2 (en) 2014-08-07
CA2733089A1 (en) 2010-02-18
KR20110046534A (ko) 2011-05-04
CA2733089C (en) 2017-02-28
CN102216919B (zh) 2014-12-10
AU2009281668A1 (en) 2010-02-18
WO2010017636A1 (en) 2010-02-18
EP2316075A1 (en) 2011-05-04

Similar Documents

Publication Publication Date Title
JP5520951B2 (ja) Usbデバイスをリモートコンピュータに接続する方法及び装置
US8225020B2 (en) Method and system for hardware based implementation of USB 1.1 over a high speed link
AU2007278728B2 (en) Method and apparatus for distributing usb hub functions across a network
CN105981338B (zh) 用于使用i/o设备链路在主机之间建立高速网络通信和文件传输的链路系统
EP1730645B1 (en) Operating a remote usb host controller
US7305511B2 (en) Providing both wireline and wireless connections to a wireline interface
US8856388B2 (en) Method and apparatus for connecting USB devices to a computer
EP1546897A1 (en) Bus connection system
US20100070673A1 (en) High pci express signal transmission apparatus and control method thereof
WO2011091747A1 (zh) 一种存储系统及数据传输方法
JP4444101B2 (ja) バスシステム、バスシステム内で用いるためのステーション、及びバスインタフェース
JP2011528465A (ja) ストレージエリアネットワークにシリアルscsiアレイコントローラを接続するためのシステム
JP2003006147A (ja) インタフェースカード、データ転送装置及びデータ転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130321

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130621

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130722

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130729

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130821

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5520951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees