JP5425942B2 - エンハンスドワイヤレスusbプロトコル及びハブ - Google Patents

エンハンスドワイヤレスusbプロトコル及びハブ Download PDF

Info

Publication number
JP5425942B2
JP5425942B2 JP2012026470A JP2012026470A JP5425942B2 JP 5425942 B2 JP5425942 B2 JP 5425942B2 JP 2012026470 A JP2012026470 A JP 2012026470A JP 2012026470 A JP2012026470 A JP 2012026470A JP 5425942 B2 JP5425942 B2 JP 5425942B2
Authority
JP
Japan
Prior art keywords
transfer
usb
wire adapter
data
hwa
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012026470A
Other languages
English (en)
Other versions
JP2012138923A (ja
Inventor
グレゴリー・エル.・クリスティソン
ブライアン・アール.・ドゥハーティー
トム・ミラー
アヌープ・ネアー
シドニー・ビー.・ジュニア・スクラム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2012138923A publication Critical patent/JP2012138923A/ja
Application granted granted Critical
Publication of JP5425942B2 publication Critical patent/JP5425942B2/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
    • 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
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3814Wireless link with a computer system port

Description

分野
本発明は、一般的に、認定ワイヤレスユニバーサルシリアルバス(Wireless Universal Serial Bus)(WUSB)のインタフェースに関する。より具体的には、本発明は、認定ワイヤレスUSBのワイヤアダプタシステム(Certified Wire adapter system)のスループット(throughput)を改善することに関する。
背景
ユニバーサルシリアルバス(Universal Serial Bus)(USB)は、ホストコンピューティングデバイス(host computing device)に、電子周辺装置(electronic peripheral devices)を取りつける(attaching)ためのシリアルバス標準である。それは、パソコンのために設計されたが、その人気は、テレビゲームコンソール、PDAs、ポータブルDVDプレーヤー、モバイル電話、及び他の人気の電子機器(electronic devices)に関してもまた陳腐化になるように駆り立てた。USBの目標は、コンピュータ上でより古いシリアルでパラレルなポートを置き換えることである、というのは、これらは、たくさんのデバイスドライバ(device drivers)が開発され維持されるように、標準化されておらず、必要とされていなかった(called for)。
USBは、コンピュータの拡張バスに拡張カードを差し込む必要性がなく、周辺装置が接続されることを可能にするように、そして、デバイスがホットスワップされる(hot-swapped)ことを可能にしてプラグアンドプレイ(plug-and-play)機能を改善するように、設計されており、ここにおいて、デバイスは、コンピュータの電源を切るあるいは再起動することなく接続されている、あるいは、接続が切れられている。デバイスが最初に接続されるとき、ホストは、それを列挙し(enumerates)、認識し、そして、そのデバイスにとって必要とされるデバイスドライバをロードする。
USBは、マウスデバイス、キーボード、スキャナ、デジタルカメラ、プリンタ、外部のストレージデバイス等のような周辺装置を接続し、そして、これらのデバイスの多くにとっての標準的な接続方法となった。
ワイヤレスユニバーサルシリアルバスの仕様書(2005年5月12日に公開されており、USBインプリメンターフォーラム株式会社から入手可能)の改訂版1.0は、拡張されたUSB/WUSBシステムにおけるワイヤレスリンクの使用を可能にするワイヤードUSBに対する拡張を説明し、特定する。USBの仕様書に対するこれらのワイヤレス拡張は、認定ワイヤレスユニバーサルシリアルバスあるいは単なるワイヤレスUSB(WUSB)を指している。拡張は、既存のワイヤードUSBの仕様書及びWiMediaアライアンスMAC及びPHYウルトラワイドバンド(UWB)ワイヤレス技術を構築する。
WUSBの仕様書は、ワイヤアダプタ(Wire Adapters)(WA)として知られているデバイスの説明及び仕様書を含む。これらのデバイスは、「レガシ(legacy)」ワイヤードUSBホスト及びデバイスが、ワイヤードリンクとワイヤレスリンクの両方を含んでいる拡張されたUSBシステムにおいてWUSBデバイスと相互接続されることを可能にする、ワイヤードUSBアダプタツーワイヤレスUSBアダプタ(wired-USB-to-Wireless-USB adapters)である。
2タイプのワイヤアダプタがあり、互いに関連して機能するホストワイヤアダプタ(Host Wire adapter)(HWA)とデバイスワイヤアダプタ(Device Wire adapter)(DWA)がある。HWAsは、ワイヤード「アップストリーム(upstream)」USBポートとワイヤレス「ダウンストリーム(downstream)」WUSBポートとを有しており、ワイヤードUSBホストがWUSBデバイスと通信することを可能にする。
DWAsは、ワイヤレス「アップストリーム」WUSBポートと、1以上のワイヤード「ダウンストリーム」USBポートとを有しており、ワイヤードUSBデバイス(wired USB device)がワイヤレスUSBホスト(Wireless USB host)と通信することを可能にする。
WUSBの仕様書のワイヤアダプタプロトコルは、WAsを通じてデータを転送するために、そして、WAsを制御し管理するために、使用される。残念ながら、典型的なシチュエーションにおいてWUSBの仕様書で指定されるようなワイヤアダプタプロトコルは、とても非効率であり、受け入れ難いくらい低いスループットを結果としてもたらす。プロトコルの非効率は、主に、2つの要因に起因しており、プロトコルは、転送されたデータの各ブロックについて(for each block of data transferred)、制御を伝達している多数の非データメッセージと、伝送完了ステータス情報とが、交換されるという点で、「チャティ(chatty)」である。さらに、プロトコルは、システムを通じたデータフローの「パイプライニング(pipelining)」にあまり適しておらず、データの転送の間に高いレイテンシ、したがって低いスループット、を結果としてもたらす。
したがって、ワイヤードUSBデバイスとワイヤレスUSBデバイス(wired and wireless USB devices)の両方を含んでいるUSBシステムにおいて、デバイスのためのスループットを改善するための方法を有することが望ましいであろう。
図1は、従来技術にしたがったワイヤードUSBのシステムの標準的な構成を示す。 図2は、WUSBホストに直接取り付けられた「ネイティブ」WUSBデバイスを備えたワイヤレスUSBシステムのための構成を示す。 図3は、2つのワイヤードUSBデバイスに接続された、デバイスワイヤアダプタを示す。 図4は、従来技術にしたがって、レガシワイヤードUSBデバイスにワイヤレスUSB機能を提供するために、デバイスワイヤアダプタとホストワイヤアダプタとを組み込んでいるシステムを示す。 図5は、図4で図示されたワイヤレスUSBシステムにわたって通信するために使用されたデータパケットのシーケンス(the sequence of data packets)を示す。 図6A及び6Bは、従来技術にしたがって標準ワイヤアダプタプロトコルを使用しているINリクエストについてのプロセスのフローを図示しているシーケンス図である。 図6A及び6Bは、従来技術にしたがって標準ワイヤアダプタプロトコルを使用しているINリクエストについてのプロセスのフローを図示しているシーケンス図である。 図7A及び7Bは、従来技術にしたがって標準ワイヤアダプタプロトコルを使用しているOUTリクエストについてのプロセスのフローを図示しているシーケンス図である。 図7A及び7Bは、従来技術にしたがって標準ワイヤアダプタプロトコルを使用しているOUTリクエストについてのプロセスのフローを図示しているシーケンス図である。 図8は、本発明にしたがって一実施形態としてエンハンスドワイヤアダプタプロトコルを使用しているINリクエストについてのプロセスのフローを図示しているシーケンス図である。 図9は、本発明にしたがって一実施形態としてエンハンスドワイヤアダプタプロトコルを使用しているOUTリクエストについてのプロセスのフローを図示しているシーケンス図である。 図10は、本発明にしたがって一実施形態としてワイヤレスUSBのハブを示す。 図11は、本発明の一実施形態におけるOUT転送リクエスト自動転送(an OUT Transfer Request forwarding)のためのパケットのフロー及びプロセッシングを図示している図を示す。 図12は、本発明の一実施形態におけるIN転送リクエスト自動転送(an IN Transfer Request forwarding)のためのパケットのフロー及びプロセッシングを図示している図を示す。
詳細な説明
本開示の態様は、添付図面を用いて読み取るときに、次の詳細な説明から最良に理解される。
本発明の一実施形態は、ホストシステムとワイヤードUSBデバイスとの間でデータを無線で送信するワイヤアダプタを含むワイヤレスUSBシステムのためのデータスループットを改善するためにエンハンスドワイヤアダプタプロトコルを提供する。このプロトコルを使用して、ワイヤアダプタは、自動的に着信データ転送(incoming data transfers)をより小さいセグメントにセグメント化しており、なお、ワイヤアダプタは、どのくらいのデータをフェッチする(fetch)かを決定するためにそのバッファステータスを使用する。データは、ワイヤアダプタがアップストリームから指定された最小量のデータを受信するときに、完了データセグメントを受信することを待機することなくダウンストリームで転送される。エンハンスドプロトコルはまた、転送完了メッセージを分配し(dispenses)、代わりに、データ転送が転送結果についてダウンストリームでポーリングすることによって完了したときに、決定する。ワイヤアダプタはまた、転送リクエスト(transfer requests)をダウンストリームへ自動転送するために、遠隔パイプディスクリプタと共に(in conjunction with remote pipe descriptors)自動転送パイプディスクリプタ(forward pipe descriptors)を利用する。
本発明の別の実施形態は、ワイヤードUSBデバイスとホストシステムとの間のワイヤレス通信を可能にするワイヤレスUSB(WUSB)のハブを提供する。WUSBハブは、ワイヤードUSBデバイスのためのプロキシとして作用しており、それらを、ホストシステムに対して、ネイティブWUSBデバイスであるかのように提供する。WUSBハブは、それ自体のデバイスアドレスを備えた固有のWUSBデバイスとして、あるいは、すでに既存のデバイス(例えばWUSBハブ、そしてそれはデバイスワイヤアダプタとして列挙することができる)上の個別機能として、取り付けられたワイヤードUSBデバイス(attached wired USB device)を提供する。
本発明の実施形態は、WUSBのワイヤアダプタシステムのスループットを改善することを含んでいる。一実施形態は、WUSBのワイヤアダプタシステムのスループットを改善するために、ワイヤアダプタプロトコルをスリム化することを含んでいる。別の実施形態は、それらが「ネイティブ」WUSBデバイスであるかのように、WUSBハブに差し込まれたワイヤードUSBデバイスを提供することを含む。この実施形態は、USBデバイスプロキシWUSBハブ、あるいは単にWUSBハブを指す。
図1は、従来技術にしたがって、ワイヤードUSBのシステムの標準的な構成を示す。この構成において、ホストシステム(host system)100は、USBのルートハブハードウェア(USB root hub hardware)101、USBのルートハブドライバ(USB root hub driver)102、及びデバイスドライバ(device driver)103、を含む。外部USBデバイス110は、それ自体のアダプタハードウェア111と、その機能に関連づけられたソフトウェア112と、を含んでいる。ホスト100と外部デバイス110は、それぞれのUSBアダプタ101、111に差し込まれるワイヤードUSB接続(a wired USB connection)120によって接続されている。
図2は、WUSBホストに直接取り付けられた「ネイティブ」WUSBデバイスを備えたワイヤレスUSBシステムについての構成を示す。図2で図示されたシステムは、図1で図示されたレイアウトにおいて同様であり、大きな違いは、ホスト200と外部USBデバイス(external USB device)210がそれぞれ組み込みのワイヤレスアダプタ(built-in wireless adapters)201、211を有しているということである。これらのアダプタ201、211は、ワイヤードケーブルを介する代わりに、アンテナ220、221によって提供されるワイヤレス信号にわたって通信する。図2のネイティブワイヤレスUSBシステムは、コンピュータ/電気産業の多くが達しようとしている目標を表わしている。しかしながら、現在、ごくわずかのデバイスしか(very few devices)、ネイティブワイヤレス機能を有していない。したがって、産業が両方のワイヤードUSBデバイスとワイヤレスUSBデバイスとホストを含んでいるシステムに適応することが望ましい。
WUSBシステムへとワイヤードUSBデバイスを接続するための現在の解決策は、図3で図示されているように、デバイスワイヤアダプタ(DWA)へとそれらを差し込むということである。ワイヤードUSBデバイス310、320は、標準USBケーブル311、321を使用して、DWA300へと差し込まれる。DWA300は、代わりに、USBホストにワイヤレスリンクを提供するワイヤレスアンテナ301を提供される。
対応するホストワイヤアダプタ(HWA)は、DWAと通信するためにホストシステムによって使用されることができる、あるいは、DWAは、「ネイティブ」WUSBホストアダプタを通じてホストシステムと通信することができる。
図4は、レガシワイヤードUSBデバイスにワイヤレスUSB機能を提供するためにデバイスワイヤアダプタとホストワイヤアダプタと組み込んでいるシステムを示す。この例は、外部デバイスとしてホスト400に接続されたホストワイヤアダプタ(HWA)410を示しており、それは、現在の設計の典型である。次第に、HWA410は、ホスト400システムの中に埋め込まれたネイティブWUSBホストアダプタによって置き換えられるであろう。
HWA410及びDWAs410、420はUSBデバイスとして認識されているので、ホストシステム400は、HWA410及びDWAs420、430を介してワイヤード外部USBデバイス421、422、431、432との通信を可能にするために、マルチプルソフトウェアドライバ層を組み込む。
ホスト400は、HWA410が(ホストハウジングに対して外部あるいは内部いずれにせよ)接続されるワイヤードUSBのルートハブ401を有する。次は、ルートハブドライバ402である。ホストは、DWAドライバ404と同様に個別のHWAドライバ403を有している。それらの上には、チェインの終わりにある外部USBデバイス421、422、431、432に特有であるデバイスドライバ405−408がある。デバイスドライバ405−408のそれぞれは、DWAドライバ404に取り付けられ、通信する。
データは、ワイヤード接続を通じてホスト400からHWA410に通信される。HWA410は、そのあとで、DWAs420、430のうちの1つにデータを送信するためにワイヤレスプロトコルを使用し、それは、代わりに(in return)、ワイヤード接続にわたって、特定のUSBデバイス421、422、431あるいは432に、データを送る。
図5は、図4で図示されたワイヤレスUSBシステムにわたって通信するために使用されるパケットのシーケンスを示す。システムにおけるHWAとDWAの存在により、パケットシーケンス500は、どのポートがデータをルートしアクナレッジメントを得るかをDWAに伝えるために、データの前に挿入された制御パケットを含む。このことは、外部デバイスとホストとの間のシステムにおける各HWAとDWAに関して生じる。
図5で示された例において、データパケット(data packet)504は、転送リクエスト503に先立つ、一方で、転送リクエスト502は、転送リクエスト501によって先立つ(is preceded)。転送リクエスト501及び503は、DWAに転送リクエスト502とデータパケット504とを送るようにHWAに指図する。転送リクエスト502は、USBデバイスにデータパケット504を送るようにDWAに指図する。転送リクエストは、その意図されたデバイスにそのようなものとして、出現のみする。例えば、DWA転送リクエスト502は、HWAにとってはデータのようであるが、DWAにとっては転送リクエストのようである。
上記で説明されているように、現在のワイヤレスUSBシステムは、ターゲットUSBデバイスに/から、データのフローを指図するために、外部デバイスとホストにおけるその特定ドライバとの間でドライバのマルチプル層によって生成される制御パケット(転送リクエスト)を使用している。残念ながら、この設計は、動的にスループットを阻害する(hampers)。
図6A及び6Bは、標準ワイヤアダプタプロトコルを使用しているINリクエストについてのプロセスのフローを図示しているシーケンス図である。図7A及び7Bは、標準ワイヤアダプタプロトコルを使用しているOUTリクエストについてのプロセスのフローを図示しているシーケンス図である。これらのシーケンス図は、外部USBデバイスとそのドライバとの間でデータを転送するために、標準プロトコル下で必要な多数の転送リクエストを図で図示している。この複雑性の多くは、システムの一層について意図された転送リクエストが他の層によってデータとして見られるという事実から生じ、その結果、行先 (destination)にデータ自体を最終的に配信する前に、システムの各層においてデータ受信についてのアクナレッジメントを引き起こす(invoke)。
本発明の実施形態は、データ転送の一部として交換されるメッセージの数を減らすことによってスループットを改善するエンハンスドワイヤアダプタプロトコルを含んでおり、その結果、ワイヤードUSBインタフェースとワイヤレスメディアにわたるメッセージの処理時間と転送時間を減らす。スループットはまた、システムを通じてデータフローの「パイプライニング(pipelining)」を改善することによって増大させられ、そしてそれは、転送レイテンシを減らす。
エンハンスドワイヤアダプタプロトコルは、送信完了メッセージを削除し、そして、代わりに、いつ転送が完了したかを決定するために転送結果についてポーリングすることを使用する。INデータ転送は、ワイヤアダプタによって、より小さい転送へと、自動的にセグメント化されることができる(「自動セグメント化(auto-segmentation)」)。このことは、ワイヤアダプタ上へとインテリジェンス機能をプッシュし、そして、ホストソフトウェアから退ける(すなわち、DWAはバッファを管理する)。自動セグメント化の間に、各セグメントのサイズは異なってもよく、それによって、ワイヤアダプタは、与えられたシチュエーションについてのスループットを最大化させるために、動的にそして適応的にセグメントサイズを調節する。ワイヤアダプタは、INデータを受諾するのに利用可能であるバッファに基づいてペンディング転送のためのINトークンを発行することによってその利用可能なバッファを自動的に管理する。
本発明の一実施形態において、ワイヤアダプタドライバは、転送リクエストをセグメント化し、そして、これらのすべてを一度に投入する(submits)。DWAは、自動的に、各セグメントを完了するためにメモリを管理する。INデータの場合には、ワイヤアダプタがIN転送を開始する前にメモリをチェックし、また、OUTデータの場合には、ネガティブアクナレッジメントが、ワイヤアダプタが十分なメモリを有していないセグメントをバックプレッシャーするために、使用される。
本発明の一実施形態において、アップストリームUSBインタフェースにわたるUSBホストとHWAとの間のマルチプル転送は、転送レイテンシを減らすために単一のUSB転送へとアグリゲートされることができる(may be aggregated)。特に、USBホストは、HWAについてターゲットされたマルチプルOUT転送をアグリゲートすることができ、また、HWAは、USBホストについてターゲットされたマルチプルIN転送をアグリゲートすることができる。アグリゲートされた転送の受信機(OUT転送のケースにおいてはHWAs、IN転送のケースにおいてはUSB)は、データのさらなる処理の前に、アグリゲートされた転送をデアグリゲートする(de-aggregates)。受信機は、アグリゲートされた転送のコンテンツをパースすることによって、アグリゲートされたフレームにおいてデータバウンダリを決定する。
例えば、USBホストは、次のOUT転送データでOUT転送リクエストをアグリゲートすることができる。アグリゲートされた転送を受信するHWAは、次の転送が転送リクエストであることを予期する。アグリゲートされた転送において含まれる転送リクエストの長さを決定するために、アグリゲートされた転送の第1バイトを、審査する(examines)。転送リクエストにおけるwRPipeフィールドは、関連づけられたwRPipeディスクリプタを見つけ出す(locate)ように使用されており、そしてそれは、そのあと、転送リクエストがOUT転送リクエストであるということを決定するために使用される。転送リクエストがOUTリクエストなので、HWAは、OUT転送データとして転送リクエストの次にくるアグリゲーション転送(aggregation transfer)のデータを扱う。
ホスト及びHWAsは、転送が生じるエンドポイントのための標準エンドポイントディスクリプタにおいて表されるように、wMaxPacketSizeの最大長さまで、転送をアグリゲートすることができる。アグリゲーションを使用しているホスト及びHWAsは、wMaxPacketSizeバイトにいたるまで受信するように、転送ごとに、準備されていなくてはならない。IN転送の場合には、ホストは、wMaxPacketSizeバイトについての入力リクエストを発行しなければならない。HWAsは、完了制御転送とデータ転送が受信されると、「オンザフライ(on-the-fly)」でデアグリゲートすることができる。「オンザフライ(on-the-fly)」デアグリゲーションは、バッファ管理とデータフローの役に立つことができ、また、エンドツーエンドのレイテンシ(end-to-end latency)を減らすことが出来る。
いつアグリゲートするのか、アグリゲートするために何回転送するかという決定は、インプリメンテーションしだいである。典型的に「日和見主義(opportunistic)」アルゴリズムは、アグリゲーション決定を行なうために使用される。ホストあるいはHWAは、wMaxPacketSizeまで利用可能な転送をアグリゲートする。
OUT転送データパケットについては、エンハンスドワイヤアダプタプロトコルは、「保存し自動転送する(store and forward)」転送を使用して、受け渡されているよりもむしろ「カットスルー(cut-through)」するパケットを使用する。この新しいアプローチを使用して、いくらかの最小量のOUTデータ(some minimum amount of OUT data)がアップストリームポートから受信されるときにはいつでも、ワイヤアダプタは、データの完了セグメントが受信されるまで待機するよりもむしろ、ダウンストリームポート上でデータを転送することができる。反対に、ワイヤアダプタは、データバッファが着信データ(incoming data)を保つ(hold)のに利用可能ではないとき、ネガティブアクナレッジメント(negative acknowledgments)(NAKs)を発行することによって、アップストリームポート上で「バックプレッシャー(back pressure)」を置くことによって、その利用可能なデータバッファを自動的に管理する。
エンハンスドワイヤアダプタプロトコルは、ワイヤアダプタによる転送リクエストの自動転送を可能にし、その結果、データ転送を完了するために使用されたメッセージの数を減らす。図5の例に戻って、エンハンスドプロトコルの下で、DWA転送リクエスト502は、データではなくHWAにとっては転送リクエストのようである。したがって、HWAは、着信転送リクエスト(the incoming Transfer Request)は、本当にDWAのためのものであるということを理解し、DWAにそれを自動転送する。自動転送パイプ(Forwarding Pipe)(FPipe)ディスクリプタは、転送リクエストパケットの自動転送を制御するために、遠隔パイプ(RPipe)ディスクリプタと共に(in conjunction with)使用される。
図11を参照すると、図1100は、本発明の一実施形態における、OUT転送リクエスト自動転送についてのパケットのフロー及びプロセッシングを図示する。図1100は、上記で説明されるように転送リクエスト自動転送(Transfer Request forwarding)がインプリメントされ(implemented)、そして転送完了メッセージが削除された(eliminated)ときに、転送を完了するためにDWAビヘービア(behavior)に焦点を当てる。ホスト上のUSBアプリケーションは、DWA1104に取り付けられたUSBデバイス1102についてターゲットされるデータを転送するリクエストをDWAドライバに提供する。転送されるべき、データ1106は、転送リクエスト1108を提供される。DWA及びHWAホストドライバは、転送リクエストOUTパケットを生成し、そして、ワイヤードUSBバスにわたってHWA1110への転送のために転送リクエストと転送データをエンキューする。転送リクエスト1108は、転送リクエスト1108を自動転送するのに使用されるべきHWA1110のFPipeディスクリプタ(FPipe descriptor)1116を参照するFPipeディスクリプタ数(FPipe Descriptor number)1114(0x8001)を、wRPipeフィールド1112において、含む。
HWA1110は、アップストリームワイヤードUSBバスから、転送データ1106が次に来る、転送リクエストOUTパケット1108を、受信する。HWAは、転送リクエスト1108をパースし、そして、転送リクエスト1108でwRPipeフィールド1112を見つけ出す(locates)。この特定の例において、wRPipeフィールド1112は、0x8001を含む。
HWA1110は、wRPipe数(wRPipe number)1114がFPipeディスクリプタ1116を指すということを、決定する、というのは、wRPipe数1114の最大有効ビットは、1つである。このことは、対応するパイプディスクリプタがFPipeディスクリプタ表1118において(RPipeディスクリプタ表よりもむしろ)見つけられるということ、そして、転送リクエスト1108は自動転送されるべきであるということ、をHWA1110に対して指す。この特定の例において、wRPipe数1114が0x8001なので、FPipeディスクリプタ表1118におけるFPipeディスクリプタ1116のインデクスは、0x0001である。HWA1110は、FPipeディスクリプタ表1118におけるFPipeディスクリプタ1116の0x0001を見つけ出す(locates)。
FPipeディスクリプタ0x0001(FPipe Descriptor 0x0001)(1116)におけるwRPipeIndexのフィールド1120は、転送リクエストRPipeディスクリプタ(Transfer Request RPipe Descriptor)1122を見つけ出すように使用される。この特定の例において、RPipeディスクリプタのインデクス1124は、0x0001である。HWA1110は、RPipeディスクリプタ1122のbDeviceAddressとbEndpintAddress1126を使用して、転送リクエストのターゲットデバイスアドレス、デバイスエンドポイント、及び指図を決定する。この例においては、転送リクエスト1108は、OUTであり、そしてそれは、HWA1110がアップストリームUSBバルクINのエンドポイント1128上で転送リクエスト1108の次に来る転送データ1106を予期しているということを示しており、また、HWAは、自動転送転送リクエスト(forwarding Transfer Request)1130と転送データ1132の両方を配信するために、OUT RPipe ディスクリプタ0x0001(1122)を使用すべきである。
HWA1110は、FPipeディスクリプタ1116のwForwardRPipe値1134で、受信された転送リクエスト1108のwRPipeフィールド1112を置き換えることによって、自動転送転送リクエスト1130を生成するために、受信された転送リクエスト1108を使用する。
HWA1110は、DWA1104、自動転送転送リクエスト1130、及び転送データ1132への転送のためにダウンストリームワイヤレスインタフェース1136上でエンキューする(いったんデータがアップストリームのUSBバルクOUTのエンドポイント1128上で受信されると)。HWAは、ダウンストリームワイヤレスインタフェース1136上でそれらをエンキューする前に転送における各データパケットの初めと転送リクエストパケットの初めに2バイトのWUSBヘッダを加える。
いったん自動転送転送リクエスト1130と転送データ1132とがDWA1104に転送されると、HWA1110は、OUT RPipeディスクリプタ1122(0x0001、転送リクエスト1108とデータ1106とを配信するために使用される)でbControlフィールド1138を審査し(examines)、そして、転送結果及び転送データの自動リクエスト及び自動転送オプション(the Automatic Request and Forwarding of Transfer Results and Transfer Data option)がイネーブルされるということを決定する(bControlフィールドにおいてビット0)。HWA1110は、そのあと、ダウンストリームDWA1104のバルクINパイプ1144に関連づけられたRPipeディスクリプタ1142を見つけ出すために、OUT RPipeディスクリプタ1122においてwTransferRPipeフィールド1140を使用する。IN RPipeディスクリプタ1142に関連づけられたものは、ペンディング転送リストである(図1100では示されていない)。HWA1110は、OUT転送についての転送結果がダウンストリームDWAのバルクINパイプ1144から予期されているということを指す、ペンディング転送リストにおいてエントリ(entry)を加える。
転送結果1146が予期されているものであるということを示している、IN RPipeペンディングリストにおけるエントリのおかげで、HWA1110は、予期された転送結果1146を受信するために、ダウンストリームDWA1104上でバルクINのエンドポイント1144に対してINトークンを発行し始める。
転送結果1146がDWA1104から受信されるとき、HWA1110は、転送結果が受信されるデバイス及びエンドポイントに関連づけられたRPipeディスクリプタを見つけ出すために、パケットMACヘッダにおいてはSrcAddrフィールドを、WUSBヘッダにおいてはエンドポイント番号フィールドを、使用する。この特定的な例において、デバイスはDWA1104であり、エンドポイントはDWAバルクINのエンドポイントであり、DWAエンドポイントについてHWAの対応するRPipeは、RPipeディスクリプタ0x0002(1148)である。
HWA1110は、ペンディング転送リスト及び転送結果1146の転送IDsを整合させることに基づいて、受信された転送結果1146に対応するエントリをRPipeペンディング転送リストで見つけ出す。HWA1110は、ペンディング転送リストエントリから転送結果1146はOUT転送のためであるということ、したがって、いずれのデータも転送結果1146の次に来ない、ということを決定する。
HWA1110は、IN RPipeディスクリプタの0x0002(1142)のbControlフィールド1150を審査し、そして転送結果及び転送データの自動リクエスト及び自動転送オプションがイネーブルされるということを決定する(bControlフィールドにおいてはビット0)。イネーブルされるこのオプションに基づいて、HWA1110は、ホストへの転送のために、アップストリームUSBインタフェースのバルクINのエンドポイント(the upstream USB interface bulk IN endpoint)1152上で転送結果パケット1146を自動的にエンキューする。HWA1110は、そのあと、予期された転送結果1146に対応するRPipeディスクリプタの0x0002(1142)ペンディング転送リストで、エントリを削除する(deletes)。
HWAホストドライバは、HWA1110におけるペンディング転送リストと同様のペンディング転送記録を保持する。ペンディング転送記録に基づいて、HWAドライバは、前に送った転送リクエスト1108についての転送結果1146を予期しており、したがって、HWAドライバは、INトークンがHWAワイヤードUSBインタフェースのバルクINのエンドポイント(HWA wired USB interface bulk IN endpoint)1152に送られるようにするIN転送をリクエストする。HWAは、転送結果1146が、バルクINキューの上に来て、そしてINトークンが受信されるとすぐに、ホストに転送結果を送る。転送結果1146がHWAドライバに受け渡されるとき、HWA1110は、転送結果1146の情報に基づいてその記録をアップデートし、そしてWUSB転送は完了する。
図12を参照すると、図1200は、本発明の実施形態におけるIN転送リクエスト自動転送に関するパケットのフロー及びプロセッシングを図示する。IN転送リクエスト自動転送に関するパケットのフロー及びプロセッシングは、OUT転送リクエスト自動転送に関するパケットのフロー及びプロセッシングに似ている。差異は次の通りである:
IN自動転送転送リクエスト(IN forwarding Transfer Request)1204のwRPipeフィールド1202(0x8002)は、IN RPipe1210を参照するwRPipeIndexフィールド1208(0x0002)を含んでいるFPipeディスクリプタ1206(0x0002)を参照する。このケースにおけるRPipeはINについてなので、HWA1212は、転送データが転送リクエスト1204の次に来ることを予期しない、したがって、次に来るデータなしに、転送リクエスト1204を自動転送する。
HWA1212は、転送リクエスト1204を配信するために使用されるOUT RPipe1214を見つけ出すために、IN RPipe 1210(0x0002)でwTransferRPipeフィールド1211を使用する。転送リクエスト1204がDWA1216に転送された後で、HWA1212は、IN転送についての転送結果1218がダウンストリームDWAバルクINパイプ1219から予期されているということを示すペンディング転送リストにおいてエントリを加える。
HWA1212が転送結果1218を受信するとき、それは、そのあと、バイト数が受信された転送結果1218のdwTransferLengthフィールドで示されている、ダウンストリームDWAバルクINのエンドポイント1219から読み取ることを試みる。HWA1212は、ペンディング転送リストの対応するエントリがIN転送を示すので、データを予期する。
HWA212は予期されたデータを受信した後で、それは、ホストへの転送のために、アップストリームのワイヤードUSBバルクINのエンドポイント1222上で転送結果1218と転送データ1220とをエンキューする。もし自動セグメント化が可能である場合には、HWA1212は、データをセグメント化し、各データセグメントで転送結果をエンキューすることができる。各転送結果におけるbTransferSegmentフィールドは、セグメント数(the segment number)にセットされる。
転送リクエスト自動転送については、ワイヤアダプタホストドライバは、別のワイヤアダプタホストドライバから受諾された転送リクエストにおける転送IDと、ワイヤアダプタによって生成された結果として生じる転送における転送IDとの間で関連づけ(association)を保持する。それは、そのあとで、転送結果パケット及び転送リクエストにおける1つの転送IDを修正するためにこの関連づけを使用する。
転送IDsは、転送を固有に識別するために、また、特定の転送とパケットを関連づけるために、ワイヤアダプタドライバとワイヤアダプタとによって使用された32ビット値である。HWAあるいはDWAホストドライバによって開始された各転送の場合、固有の転送IDは、生成され、対応する転送リクエストに配置される(placed)。転送結果パケットを生成するとき、HWAsとDWAsは、転送のために、転送リクエストから転送IDを転送結果に配置する。
標準ワイヤアダプタプロトコルで、転送IDsは、一例のDWAドライバあるいはHWAドライバと、対応するワイヤアダプタと、のコンテキスト(context)において固有である。例をとってみると、代わりにホストに取り付けられたHWA、に取り付けられたDWAのケースがある。DWAドライバは、転送リクエストを生成するとき、それは、転送リクエストにおいて配置するように固有の転送IDを選択する。HWAドライバとHWAは、転送リクエストのコンテンツを審査することなく、(HWAサブシステムに関する限り、転送リクエストは、転送されるべきデータである)DWAにDWAドライブ転送リクエストを配信する。DWAに転送リクエストが配信されるとき、DWAは、何をするかを決定するために転送リクエストをパースし、そして、結果として生じる転送レスポンスにおいて転送IDを使用する。
しかしながら、HWAドライバがDWA転送リクエストを配信するために、HWAドライバは、HWAのためのその転送リクエストを生成する。DWA転送リクエストを配信するために使用されるHWA転送リクエストにおいて配置された転送IDは、DWA転送リクエストにおける配信IDと無関係である。異なるように説明されており、各ワイヤアダプタドライバの「層(layer)」は、それ自体のセットの固有転送IDsを保持し、他のワイヤアダプタドライバによって生成され使用される転送IDsに気づかないでいる。
しかしながら、エンハンスドワイヤアダプタプロトコルの転送リクエストの自動転送(Enhanced Wire Adapter Protocol Transfer Request Forwarding)が使用されているとき、転送IDsの取り扱い(handling)は、標準プロトコルのよりも必然的に異なっている。転送リクエストが1つのワイヤアダプタから別のへと自動転送されるとき、転送リクエストは、自動転送ワイヤアダプタとターゲットワイヤアダプタの両方によって処理され、転送IDが両方のワイヤアダプタによって使用される。このケースにおいて、両方のワイヤアダプタは、同じセットの転送IDsと機能する。自動転送された転送結果パケットにも同じことが言え、同じ転送IDが、1つまたは複数のワイヤアダプタによって使用される。
自動転送は、ワイヤアダプタによる転送IDsの特別な取り扱いを必要としないが、ホストドライバによる特定のプロセッシングを必要とする。もし自動転送がホストドライバとその対応するワイヤアダプタによって使用されている場合には、そのときには、ホストドライバが別の(「アップストリーム」)ホストドライバから転送リクエストを受諾するときに、それは、転送IDを見つけ出すために転送リクエストをパースする。ホストドライバは、そのあとで、ドライバとワイヤアダプタの範囲内で固有である新しい転送IDを生成し、そして、次のドライバにそれを自動転送する前に、転送リクエストにおいて新しい転送IDを配置する。ホストドライバはまた、アップストリームワイヤアダプタによって提供された転送IDと、ホストドライバによって生成された転送IDとの間の関連づけを提供する記録を作成する。
そのとき、ホストドライバが転送結果を受信するとき、転送ID関連づけ表(Transfer ID association table)において転送結果の転送IDを調べ、そして、対応する転送リクエストが自動転送されたということを決定する。それは、そのあと、オリジナルリクエスティングドライバ(original requesting driver)に対して転送結果を受け渡す前に、転送ID関連づけ表(すなわち、オリジナル転送IDを備えている)の値で転送IDを置き換える。この方法で、「ダウンストリーム」ドライバによる転送IDsに関して自動転送することの効果は、ホスト“アップストリーム”のドライバに対してトランスパレント(transparent)になされる。
代替的に、単一のホストドライバが2つまたは複数のシリアル接続されたワイヤアダプタ(例えばHWAに接続されたDWA)を管理する、インプリメンテーションが可能である。このケースにおいては、単一のホストドライバは、自動転送の効果を十分に知っており、DWAとHWAの両方によって使用される転送IDsを生成することによってそれを説明することができる。
エンハンスドプロトコルの下で、ワイヤアダプタは、そのダウンストリームワイヤアダプタに対して、前の転送リクエストに基づいて、伝送結果パケットについてダウンストリームワイヤアダプタを自動的にポーリングする。同様に、ワイヤアダプタは、伝送完了と新しい転送結果を生成し自動転送するよりもむしろ、アップストリームインタフェースにいずれの受信された転送結果を自動転送する。
ホストドライバから転送リクエストを受信することによって開始されるダウンストリームデータについてのポールよりもむしろ、ワイヤアダプタは、INデータ転送についての転送結果を前に受信したことに基づいて、INデータについてのダウンストリームデバイスを自動的にポーリングする。同様に、送信完了と、新しい転送結果と、を生成し自動転送するよりもむしろ、ワイヤアダプタは、受信の後で、アップストリームインタフェースに対して、IN転送データを単に自動転送する。
本発明の一実施形態において、マルチプルワイヤアダプタドライバ(HWA及びDWA)は、アプリケーションプログラミングインタフェース(Application Programming Interfaces)(APIs)の数を減らすために単一のワイヤアダプタに結合されることができ、したがって、APIsにわたるメッセージの受け渡しによって、レイテンシが招かれる(incurred)。さらに、マルチプルワイヤアダプタドライバを結合させることは、転送リクエスト自動転送が使用されているときにアップストリームのドライバから提示される転送リクエストにおける転送IDsと、発行された転送リクエストにおける転送IDsとの間の関連づけを保持する必要性が削除される(eliminated)ので、転送IDsの割り当てにおけるコンソリデーション(consolidation)を可能にする。
図8は、本発明にしたがった一実施形態として、エンハンスドワイヤアダプタプロトコルを使用しているINリクエストについてのプロセスフローを図示しているシーケンス図である。図9は、本発明にしたがった一実施形態として、エンハンスドワイヤアダプタプロトコルを使用しているOUTリクエストについてのプロセスフローを図示しているシーケンス図である。図8及び図9は、既存のプロトコルを図示している図6A、6B、7A、および7Bで示されているシーケンス図と比べて、エンハンスドワイヤアダプタプロトコルによって提供される制御オーバーヘッドにおける削減(reduction in control overhead)を図示する。
図10は、本発明にしたがった一実施形態としてワイヤレスUSBのハブを示している。上記で説明されるように、現在のワイヤアダプタプロトコルは、比較的に非効率であるのに対して、「ネイティブ」WUSBデバイスのためのWUSBプロトコルは、比較的能率がいい。プロキシWUSBハブ1000は、ワイヤードUSBデバイス1010、1020を、それらが「ネイティブ」WUSBデバイスであるかのように、提供することによって、この効率のよさ(efficiency)を利用する。
プロキシWUSBハブ1000は、ワイヤレスアップストリームポート1001と1つまたは複数のワイヤードUSBダウンストリームポート1002、1003を有しているという点において、DWAと類似しており、なお、ワイヤードUSBデバイス1010、1020は、ダウンストリームワイヤードUSBポートに差し込まれることができる。WUSBハブは、ワイヤードUSBデバイス1010、1020が、ネイティブWUSBデバイスであるかのようにホストには見える、という点でDWAとは異なる。このことは、WUSBハブ1000「プロキシ(proxy)」を、ワイヤレスインタフェース上で取り付けられたダウンストリームワイヤードデバイスにすることによって達成される。したがって、WUSBハブ1000は、DWAではなく、1つまたは複数のWUSBデバイスとして、ホストには見えており、そしてそれは、標準ワイヤアダプタプロトコルによって使用される制御パケットオーバーヘッドの多くを削除する。
取り付けられたワイヤードUSBデバイスは、いずれか、1)それ自体のデバイスアドレスで固有のWUSBデバイスとして提供されるか、あるいは、2)すでに存在しているデバイス(例えばWUSBハブ、そしてそれはDWAとして列挙することができる)上の個別機能として提供される。後者のアプローチで、ワイヤードデバイスのエンドポイントは、WUSBハブのエンドポイントへとマッピングされる。
WUSBハブは、WUSBデバイスであるかのように、ホストに、USBデバイスを適切にプロキシサーバに送る(proxy)ために様々なメカニズムを使用する。以下の説明は、WUSBハブがダウンストリームUSBデバイスを、DWA上の機能としてよりもむしろ、WUSBデバイスとして提供するときのケースに適用する。
各WUSBデバイスは、セキュリティ接続のコンテキストを保持する。接続のコンテキストは、最初の接続(first-time connection)の間にネゴシエートされる(negotiated)。WUSBハブは、ダウンストリームデバイスを知ることなしにあるいは関与なしにUSBデバイスについてセキュリティ接続のコンテキストをネゴシエートし、そして、セキュリティ接続のコンテキストを保存する。十分な数の固有セキュリティ接続のコンテキストは、WUSBハブが同時にプロキシサーバに送る(proxying)ことができる、最大数のダウンストリームのUSBデバイスをサポートするために、ネゴシエートされ、そして保持される。特定の接続コンテキストは、特定のダウンストリームUSBデバイスと結び付けられておらず(not tied)、むしろ、接続コンテキストは、USBデバイスが取り付けられたとき、必要なときに(as needed)適用される。
WUSBハブは、各取り付けられたプロキシUSBデバイスについて固有のWUSBデバイスのアドレスを保持し、そして、介在デバイス(intervening device)(DWAのような)として現れているよりもむしろ、プロキシサーバに送っているWUSBデバイスであるかのようにWUSBのプロトコルに関係する(participates in)。
WUSBハブは、直接に、あるいは、取り付けられたダウンストリームハブから割り込みパケット(interrupt packets)をインターセプトすること(intercepting)によって、のいずれかで、USB取り付けを検出する。ダウンストリームデバイスの取り付けを検出するときに、WUSBハブは、ホストに割り込みパケットを自動転送しない、あるいは、USB取り付けをホストに直接通知しない。代わりに、WUSBハブは、USBデバイスの代わりに、WUSBデバイスの接続プロシージャを実行する。
WUSBハブはUSBデバイスのディスクリプタを読み取り、そして、それらがWUSBデバイスのためのディスクリプタと一致するように、それらを修正する。例えば、標準エンドポイントディスクリプタにおける最大のパケットサイズのフィールドは、それがWUSBのパケットサイズに一貫するように修正される。標準的な構成ディスクリプタのbmAttributesフィールドは、デバイスが自家動力(self-powered)であるということを示すためにセットされている。
転送の終了を示す、ゼロパケットの長さの意味(zero-packet-length semantics)を使用しないいくつかのUSBデバイスについては、IN転送の長さが、正しいバイト数が読み取られるように使用されている。しかしながら、WUSBハブのケースにおいては、IN転送の長さは、WUSBのプロトコルを用いて利用可能ではない。転送リクエストなしに、読み取るためのデータの量に関して前に宣言された制限はない。幸運なことに、アップストリームワイヤレスデバイスは、転送の予期された長さを提供されている。
WUSBのプロトコルは、WUSBハブをサポートするために、わずかに修正される。2つのオプションが利用可能である。第1のオプションでは、WUSBホストのマイクロスケジュールされた管理制御(Micro-scheduled Management Control)(MMC)において送信された情報エレメント(Information Elements)(IEs)、INチャネル時間割り付け(Channel Time Allocation)(CTE)における最大のパケットサイズのフィールドは、予期された転送の長さを示すために使用されることができる。代替的に、フィールドは、予期された転送の長さを示すためにCTAsに加えられることができる。
本発明の実施形態においては、上記で説明されるように、WUSBハブは、WUSBハブの機能及びオペレーションを実行するために、コントローラ1004を含む。
WUSBハブがWUSBハブ/DWA上の機能として1つまたは複数のダウンストリームUSBデバイスをプロキシサーバに送るケースについては、上記の説明は、そのセキュリティ接続コンテキストをのぞいて一般に適用しており、また、WUSBデバイスのアドレスは、WUSBハブと共有される。さらに、USBデバイスが取り付けるとき、WUSBハブは、USBデバイスのエンドポイントについて一対一でWUSBハブのワイヤレスエンドポイントをマッピングし、そして、WUSBハブ上の機能として特定のUSBデバイスに関連づけられたエンドポイントの集まりを扱う。WUSBハブは、新しく取り付けられたデバイスについてのサポートをアクティブな状態にするために、新しい機能は列挙される必要があるということをホストに通知する。
本開示の実施形態は詳細に説明されていないが、当業者は、本開示の範囲及び精神から逸脱することなく、ここにおいて様々な変化(changes)、置き換え(substitutions)、代替 (alterations)を行なうことができるということを理解すべきである。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1]
第1のUSB対応デバイスと第2のUSB対応デバイスとを有しているワイヤレスUSBシステムのためのスループットを増大させるための方法であって、
前記第1のUSB対応デバイスにおいて複数のパケットをアグリゲートすることと、
前記のアグリゲートされた複数のパケットを、前記第1のUSB対応デバイスから前記第2のUSB対応デバイスへと転送することと、
前記の転送の後で、前記第2のUSB対応デバイスにおいて、前記のアグリゲートされた複数のパケットをディスアグリゲートすることと、
を備えている方法。
[2]
USB対応ホストデバイスとして前記第1のUSB対応デバイスを構成することを含んでおり、
ホストワイヤアダプタとして前記第2のUSB対応デバイスを構成することを含んでおり、
前記複数のパケットを前記アグリゲートすることは、前記ホストワイヤアダプタにターゲットされた複数のOUT転送をアグリゲートすることを含み、前記OUT転送は制御メッセージとデータを含んでいる、
[1]に記載の方法。
[3]
ホストワイヤアダプタとして前記第1のUSB対応デバイスを構成することを含んでおり、
USB対応ホストデバイスとして前記第2のUSB対応デバイスを構成することを含んでおり、
前記複数のパケットを前記アグリゲートすることは、前記USB対応ホストデバイスにターゲットされた複数のIN転送をアグリゲートすることを含み、前記IN転送は制御メッセージとデータを含んでいる、
[1]に記載の方法。
[4]
ワイヤアダプタとUSB対応デバイスとを有しているワイヤレスUSBシステムのためのスループットを増大させるための方法であって、
前記USB対応デバイスから転送を受信するために、前記ワイヤアダプタに関連づけられたデータバッファの利用可能性を決定することと、
前記データバッファの前記利用可能性に基づいてメッセージを生成することと、
前記データバッファが前記転送を受信することが利用可能かどうかを示して前記USB対応デバイスに前記メッセージを提供することと、
を備えている方法。
[5]
前記USB対応デバイスは、前記ワイヤアダプタからのダウンストリームであり、
前記メッセージは、前記データバッファが前記USB対応デバイスから前記転送を受信することが利用可能であるということを示すトークンを含む、
[4]に記載の方法。
[6]
前記ワイヤアダプタを、デバイスワイヤアダプタとして構成すること、を含んでいる[5]に記載の方法。
[7]
前記USB対応デバイスをデバイスワイヤアダプタとして、構成することと、
を含んでおり、前記ワイヤアダプタを構成することは、ホストワイヤアダプタを含んでいる、[5]に記載の方法。
[8]
前記転送を複数の転送セグメントにセグメント化することと、
前記USB対応デバイスから前記ワイヤアダプタへと、前記複数の転送セグメントを転送することと、
を含んでいる[5]に記載の方法。
[9]
前記USB対応デバイスから前記ワイヤアダプタへと前記転送を転送することと、
前記転送を複数の転送セグメントにセグメント化することと、
を含んでいる[5]に記載の方法。
[10]
前記複数の転送セグメントはサイズごとに異なる、[9]に記載の方法。
[11]
前記セグメント化することは、与えられたシチュエーションについてのスループットを最大化させるために、前記複数の転送セグメントのうち少なくとも1つのサイズを動的に適応的に調節することを含んでいる、[9]に記載の方法。
[12]
前記USB対応デバイスは、前記ワイヤアダプタからのアップストリームであり、
前記メッセージは、前記データバッファが前記USB対応デバイスから前記転送を受信することが利用可能ではないということを示すネガティブアクナレッジメントを含んでいる、
[4]に記載の方法。
[13]
前記USB対応デバイスをホストワイヤアダプタとして構成することと、
前記ワイヤアダプタをデバイスワイヤアダプタとして構成することと、
を含んでいる[12]に記載の方法。
[14]
前記USB対応デバイスをUSB対応ホストデバイスとして構成することと、
前記ワイヤアダプタをホストワイヤアダプタとして構成することと、
を含んでいる[12]に記載の方法。
[15]
前記USB対応デバイスから前記ワイヤアダプタへと、前記転送を送ることと、
前記ワイヤアダプタのアップストリームポート上で、前記USB対応デバイスから前記転送を受信することと、
最小量のデータが前記ワイヤアダプタの前記アップストリームポートから受信されるとき、前記ワイヤアダプタの前記アップストリームポートから前記ワイヤアダプタのダウンストリームポートへと、前記転送を自動転送することと、
を含んでいる[12]に記載の方法。
[16]
ワイヤアダプタとダウンストリームワイヤアダプタとを有しているワイヤレスUSBシステムのためのスループットを増大させるための方法であって、
パケットのための前記ダウンストリームワイヤアダプタをポーリングすることと、
前記ワイヤアダプタのダウンストリームインタフェース上で、前記ダウンストリームワイヤアダプタから前記パケットを受信することと、
前記パケットを前記受信した後で、前記ワイヤアダプタのアップストリームインタフェースに前記パケットを自動転送することと、
を備えている方法。
[17]
前記パケットは、転送結果パケットを含んでおり、
前記転送結果パケットについての前記ダウンストリームワイヤアダプタを前記ポーリングすることは、前記ダウンストリームワイヤアダプタに転送リクエストパケットをあらかじめ送信することに基づいている、
[16]に記載の方法。
[18]
前記パケットは、着信データパケットを含んでおり、
前記着信データパケットのための前記ダウンストリームワイヤアダプタを前記ポーリングすることは、前記ダウンストリームワイヤアダプタから転送リクエストパケットを受信することに基づいている、
[16]に記載の方法。
[19]
第1のワイヤアダプタと第2のワイヤアダプタとを有しているワイヤレスUSBシステムのためのスループットを増大させるための方法であって、
データ転送のタイプを示しているディスクリプタを含むように転送リクエストを生成することと、
前記第1のワイヤアダプタに前記転送リクエストを送ることと、
前記ディスクリプタに基づいて、前記第1のワイヤアダプタから前記第2のワイヤアダプタへと前記転送リクエストを自動転送することと、
を備えている方法。
[20]
前記データ転送のタイプがOUT転送であるとき、前記転送リクエストと共に転送データを自動転送することを含んでいる、[19]に記載の方法。
[21]
自動転送ワイヤアダプタとターゲットワイヤアダプタとを有しているワイヤレスUSBシステムのためのスループットを増大させるための方法であって、
前記自動転送ワイヤアダプタから前記ターゲットワイヤアダプタへと、転送リクエストパケットを転送することと、
前記転送リクエストパケットに基づいて、転送結果パケットについての前記ターゲットワイヤアダプタをポーリングすることと、
を備えている方法。
[22]
ワイヤレスUSBシステムにおいて、ワイヤードUSB対応デバイスと第1のワイヤレスUSB対応デバイスとの間で通信するための方法であって、
前記ワイヤードUSB対応デバイスを検出することと、
前記第1のワイヤレスUSB対応デバイスに、第2のワイヤレスUSB対応デバイスとして前記ワイヤードUSB対応デバイスを提供することと、
を備えている方法。
[23]
前記ワイヤードUSB対応デバイスからデバイスディスクリプタを読み取ることと、
あらかじめ決定されたワイヤレスUSB標準規格によって指定されるようにいずれのワイヤレスUSB対応デバイスのためのデバイスディスクリプタと一致するように、前記デバイスディスクリプタを修正することと、
前記ワイヤードUSB対応デバイスから前記第1のワイヤレスUSB対応デバイスへと転送されるべき、予期された量のデータを決定することと、
前記予期された量のデータを含むようにあらかじめ決定されたワイヤレスUSBプロトコルを修正することと、
前記第1のワイヤレスUSB対応デバイスに、前記予期された量のデータを提供することと、
をさらに備えている[22]に記載の方法。
[24]
前記デバイスディスクリプタは、標準エンドポイントディスクリプタを含み、
前記デバイスディスクリプタを前記修正することは、ワイヤレスUSBのパケットサイズと一致するように、前記標準エンドポイントディスクリプタにおいて、最大のパケットサイズのフィールドをセットすることを含んでいる、
[23]に記載の方法。
[25]
前記あらかじめ決定されたワイヤレスUSBプロトコルは、あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルを含んでおり、
前記あらかじめ決定されたワイヤレスUSBプロトコルを前記修正することは、前記あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルのチャネル時間割り付け部分においてフィールドを加えることを含んでおり、前記フィールドは、前記予期された量のデータを指定している、
[23]に記載の方法。
[26]
前記あらかじめ決定されたワイヤレスUSBプロトコルは、あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルを含んでおり、
前記あらかじめ決定されたワイヤレスUSBプロトコルを前記修正することは、前記あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルのチャネル時間割り付け部分において最大のパケットサイズのフィールドをセットすることを含んでおり、前記のフィールドは、前記予期された量のデータを指定している、
[23]に記載の方法。
[27]
前記ワイヤレスUSB対応デバイスとの通信のために、ワイヤレスUSBのセキュリティ接続コンテキストをネゴシエートし且つ保持することと、
前記ワイヤードUSB対応デバイスを検出した後で、前記ワイヤレスUSBのセキュリティ接続コンテキストを適用することと、
をさらに備えている[22]に記載の方法。
[28]
前記ワイヤードUSB対応デバイスのために固有ワイヤレスUSBデバイスのアドレスを保持すること、をさらに備えており、前記ワイヤードUSB対応デバイスを提供することは、前記固有ワイヤレスUSBデバイスアドレスを有している前記ワイヤードUSB対応デバイスを提供することを含んでいる、[22]に記載の方法。
[29]
前記ワイヤードUSB対応デバイスに関連づけられた第1のエンドポイントを、前記第1のワイヤレスUSB対応デバイスに関連づけられた第2のエンドポイントにマッピングすることと;
新しい関数が列挙されるべきであるということを前記第1のワイヤレスUSB対応デバイスに通知することと、前記新しい関数は、前記第1のワイヤレスUSB対応デバイスに関連づけられている;
をさらに備えている[22]に記載の方法。
[30]
前記第1のワイヤレスUSB対応デバイスから読み取りディスクリプタリクエストをインターセプトすることと、
前記デバイスディスクリプタを前記修正した後で、前記読み取りディスクリプタリクエストに応じて、前記第1のワイヤレスUSB対応デバイスを提供することと、
をさらに備えている[23]に記載の方法。
[31]
ワイヤードUSB対応デバイスと第1のワイヤレスUSB対応デバイスとの間の通信を容易にするワイヤレスUSB対応ハブであって、
前記ワイヤードUSB対応デバイスと通信するように構成された第1のポートと、
前記第1のワイヤレスUSB対応デバイスと通信するように構成された第2のポートと、
前記ワイヤードUSB対応デバイスを検出し、前記第1のワイヤレスUSB対応デバイスに、ネイティブワイヤレスUSB対応デバイスとして前記ワイヤードUSB対応デバイスを提供する、ように構成されたコントローラと、
を備えているワイヤレスUSB対応ハブ。
[32]
前記コントローラは、前記第1のワイヤレスUSB対応デバイスに対して、デバイスワイヤアダプタとして前記ハブを提供するように構成されており、
前記第1のワイヤレスUSB対応デバイスは、ワイヤレスUSB対応ホストを含んでいる、
[31]に記載のワイヤレスUSB対応ハブ。
[33]
前記コントローラは、自身のアドレスを有している固有ワイヤレスUSB対応デバイスとして前記第1のワイヤレスUSB対応デバイスに、前記ワイヤードUSB対応デバイスを提供するように構成されている、[31]に記載のワイヤレスUSB対応ハブ。
[34]
前記コントローラは、ワイヤードUSB対応デバイスのエンドポイントをワイヤレスUSB対応ハブのエンドポイントにマッピングすることによって、ワイヤレスUSB対応ハブ上で個別の機能として前記ワイヤードUSB対応デバイスを提供するように構成されている、[31]に記載のワイヤレスUSB対応ハブ。
[35]
前記コントローラは、
複数のダウンストリームワイヤードUSB対応デバイスのそれぞれについてワイヤレスUSBアドレスを保持するように、
前記複数のダウンストリームUSB対応デバイスのうちの1つに指示されたワイヤレスUSBパケットに応答するように、
構成されている、[31]に記載のワイヤレスUSB対応ハブ。
[36]
前記コントローラは、
前記第1のワイヤレスUSB対応デバイスからデバイスディスクリプタリクエストをインターセプトするように、
前記ワイヤードUSB対応デバイスからデバイスディスクリプタを読み取るように、
あらかじめ決定されたワイヤレスUSB標準によって指定されるように、いずれのワイヤレスUSB対応デバイスのためのデバイスディスクリプタと一致するように、前記デバイスディスクリプタを修正するように、
前記第1のワイヤレスUSB対応デバイスに前記の修正されたデバイスディスクリプタを提供することによって前記ネイティブワイヤレスUSB対応デバイスとして前記ワイヤードUSB対応デバイスを提供するように、
構成されている、[31]に記載のワイヤレスUSB対応ハブ。
[37]
前記デバイスディスクリプタは、標準エンドポイントディスクリプタを含んでおり、
前記コントローラは、ワイヤレスUSBのパケットサイズと一致するように前記標準エンドポイントディスクリプタにおいて最大のパケットサイズのフィールドをセットすることによって、前記デバイスディスクリプタを修正するように構成されている、
[36]に記載のワイヤレスUSB対応ハブ。
[38]
前記コントローラは、
前記ワイヤードUSB対応デバイスから前記第1のワイヤレスUSB対応デバイスへと転送されるべき予期された量のデータを決定するように、
前記予期された量のデータを含むようにあらかじめ決定されたワイヤレスUSBプロトコルを修正するように、
構成されている、[31]に記載のワイヤレスUSB対応ハブ。
[39]
前記あらかじめ決定されたワイヤレスUSBプロトコルは、あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルを含んでおり、
前記コントローラは、チャネル時間割り付け部分において最大のパケットサイズのフィールドをセットすることによって前記あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルを修正するように構成されており、前記最大のパケットサイズのフィールドは、前記予期された量のデータを指定している、
[38]に記載のワイヤレスUSB対応ハブ。
[40]
前記あらかじめ決定されたワイヤレスUSBプロトコルは、あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルを含んでおり、
前記コントローラは、前記あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルのチャネル時間割り付け部分においてフィールドを加えることによって、前記あらかじめ決定されたワイヤレスUSBワイヤアダプタプロトコルを修正するように構成されており、前記フィールドは、前記予期された量のデータを指定している、
[38]に記載のワイヤレスUSB対応ハブ。
[41]
前記コントローラは、
前記ワイヤレスUSB対応デバイスとの通信のためにワイヤレスUSBのセキュリティ接続コンテキストをネゴシエートし且つ保持するように、
前記コントローラが前記ワイヤードUSB対応デバイスを検出した後で、前記ワイヤレスUSBのセキュリティ接続コンテキストを適用する、
[31]に記載のワイヤレスUSB対応ハブ。

Claims (2)

  1. 第1のワイヤアダプタと第2のワイヤアダプタとを有しているワイヤレスUSBシステムのためのスループットを増大させるための方法であって、前記方法は前記第1のワイヤアダプタによって実行され、
    OUT転送とIN転送とのうちの一方であるデータ転送のタイプの自動転送パイプディスクリプタに対応する値を有するフィールドを含む第1の転送リクエストを受信することと、
    前記第1の転送リクエストの前記フィールドを、OUTおよびIN遠隔パイプディスクリプタを使用するための値で置き換えて、第2の転送リクエストを生成することと、
    前記OUT遠隔パイプディスクリプタに基づいて、前記第1のワイヤアダプタから前記第2のワイヤアダプタへと前記第2の転送リクエストを自動転送することと、
    前記IN遠隔パイプディスクリプタに基づいて、転送結果パケットについての前記第2のワイヤアダプタをポーリングすることと、
    を備えている方法。
  2. 前記データ転送のタイプがOUT転送であるとき、前記転送リクエストと共に転送データを自動転送することを含んでいる、請求項に記載の方法。
JP2012026470A 2006-12-22 2012-02-09 エンハンスドワイヤレスusbプロトコル及びハブ Expired - Fee Related JP5425942B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87152706P 2006-12-22 2006-12-22
US60/871,527 2006-12-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009543275A Division JP4988859B2 (ja) 2006-12-22 2007-12-21 エンハンスドワイヤレスusbプロトコル及びハブ

Publications (2)

Publication Number Publication Date
JP2012138923A JP2012138923A (ja) 2012-07-19
JP5425942B2 true JP5425942B2 (ja) 2014-02-26

Family

ID=39563242

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2009543275A Expired - Fee Related JP4988859B2 (ja) 2006-12-22 2007-12-21 エンハンスドワイヤレスusbプロトコル及びハブ
JP2012026471A Expired - Fee Related JP5420689B2 (ja) 2006-12-22 2012-02-09 エンハンスドワイヤレスusbプロトコル及びハブ
JP2012026470A Expired - Fee Related JP5425942B2 (ja) 2006-12-22 2012-02-09 エンハンスドワイヤレスusbプロトコル及びハブ
JP2012026469A Expired - Fee Related JP5551193B2 (ja) 2006-12-22 2012-02-09 エンハンスドワイヤレスusbプロトコル及びハブ
JP2012026472A Expired - Fee Related JP5420690B2 (ja) 2006-12-22 2012-02-09 エンハンスドワイヤレスusbプロトコル及びハブ

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2009543275A Expired - Fee Related JP4988859B2 (ja) 2006-12-22 2007-12-21 エンハンスドワイヤレスusbプロトコル及びハブ
JP2012026471A Expired - Fee Related JP5420689B2 (ja) 2006-12-22 2012-02-09 エンハンスドワイヤレスusbプロトコル及びハブ

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2012026469A Expired - Fee Related JP5551193B2 (ja) 2006-12-22 2012-02-09 エンハンスドワイヤレスusbプロトコル及びハブ
JP2012026472A Expired - Fee Related JP5420690B2 (ja) 2006-12-22 2012-02-09 エンハンスドワイヤレスusbプロトコル及びハブ

Country Status (9)

Country Link
US (2) US9015368B2 (ja)
EP (1) EP2118759B1 (ja)
JP (5) JP4988859B2 (ja)
KR (1) KR101092112B1 (ja)
CN (3) CN101641683B (ja)
BR (1) BRPI0721002A2 (ja)
CA (1) CA2671610C (ja)
RU (1) RU2436147C2 (ja)
WO (1) WO2008080107A2 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571287B2 (en) * 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
US7356635B2 (en) * 2004-09-24 2008-04-08 Cypress Semiconductor Corp. Compressed report descriptors for USB devices
US7873873B2 (en) * 2007-03-05 2011-01-18 Acterna Llc Remote access integrated tester
TW200900933A (en) * 2007-03-15 2009-01-01 Wionics Research Virtual pipe for wire adapter communications
US8570922B2 (en) 2007-04-13 2013-10-29 Hart Communication Foundation Efficient addressing in wireless hart protocol
US20080273486A1 (en) * 2007-04-13 2008-11-06 Hart Communication Foundation Wireless Protocol Adapter
US8798084B2 (en) 2007-04-13 2014-08-05 Hart Communication Foundation Increasing reliability and reducing latency in a wireless network
US8356431B2 (en) 2007-04-13 2013-01-22 Hart Communication Foundation Scheduling communication frames in a wireless network
US8230108B2 (en) 2007-04-13 2012-07-24 Hart Communication Foundation Routing packets on a network using directed graphs
US8325627B2 (en) 2007-04-13 2012-12-04 Hart Communication Foundation Adaptive scheduling in a wireless network
US7577776B2 (en) * 2007-05-14 2009-08-18 Aten International Co., Ltd Multiple virtual USB devices with virtual HUB implemented using one USB device controller
JP4987586B2 (ja) * 2007-06-22 2012-07-25 株式会社東芝 情報処理装置および制御方法
US8234425B1 (en) 2007-06-27 2012-07-31 Marvell International Ltd. Arbiter module
US7949817B1 (en) 2007-07-31 2011-05-24 Marvell International Ltd. Adaptive bus profiler
KR20090048925A (ko) * 2007-11-12 2009-05-15 삼성전자주식회사 유에스비 장치 및 그것을 포함하는 유에스비 시스템
US8131915B1 (en) 2008-04-11 2012-03-06 Marvell Intentional Ltd. Modifying or overwriting data stored in flash memory
US8683085B1 (en) 2008-05-06 2014-03-25 Marvell International Ltd. USB interface configurable for host or device mode
US8006023B1 (en) * 2008-05-15 2011-08-23 Marvell International Ltd. Driver based wireless USB
JP2011527146A (ja) 2008-06-23 2011-10-20 ハート コミュニケーション ファウンデーション ワイヤレス通信ネットワークアナライザ
CN101655894B (zh) * 2008-08-19 2012-06-27 上海华虹集成电路有限责任公司 在通用串行总线加密锁设备上提高分组算法吞吐量的方法
US20100064090A1 (en) * 2008-09-09 2010-03-11 Iain Thomas Learmonth CWUSB Interface
JP2010152815A (ja) * 2008-12-26 2010-07-08 Seiko Epson Corp 情報処理装置、情報処理システム、情報処理装置の制御方法
JP2010183408A (ja) * 2009-02-06 2010-08-19 Renesas Electronics Corp デバイスワイヤアダプタ及び通信制御方法
US8423710B1 (en) 2009-03-23 2013-04-16 Marvell International Ltd. Sequential writes to flash memory
US8213236B1 (en) 2009-04-21 2012-07-03 Marvell International Ltd. Flash memory
US20100287387A1 (en) * 2009-05-08 2010-11-11 Chen Johnny Hsiang-Yu Docking station
KR20110004103A (ko) * 2009-07-07 2011-01-13 삼성전자주식회사 유에스비 컨트롤 시스템 및 이의 구동방법
US8427296B2 (en) * 2009-07-14 2013-04-23 Apple Inc. Method and apparatus for determining the relative positions of connectors
US8937930B2 (en) * 2009-11-19 2015-01-20 Qualcomm, Incorporated Virtual peripheral hub device and system
US8688922B1 (en) 2010-03-11 2014-04-01 Marvell International Ltd Hardware-supported memory management
US8756394B1 (en) 2010-07-07 2014-06-17 Marvell International Ltd. Multi-dimension memory timing tuner
CN102843168B (zh) * 2011-06-23 2014-08-13 深圳雷柏科技股份有限公司 一对多2.4g无线电脑外设通讯装置的传输方式
US9047418B2 (en) * 2011-11-22 2015-06-02 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication
US9201826B2 (en) * 2012-04-23 2015-12-01 Qualcomm Incorporated Extensible WSE hub to support a multi-hop tree of USB hubs or peripherals over a wireless link
US9087163B2 (en) * 2012-07-11 2015-07-21 Silicon Image, Inc. Transmission of multiple protocol data elements via an interface utilizing a data tunnel
US9251105B2 (en) * 2012-11-20 2016-02-02 Intel Corporation Transmitting an interrupt packet
US9817772B2 (en) * 2012-12-20 2017-11-14 Icron Technologies Corporation Systems and methods for exchanging USB information with selected remote devices
US9063919B2 (en) 2013-03-26 2015-06-23 Qualcomm Incorporated Improving serial peripheral performance over wireless communication links
US10091026B2 (en) 2015-03-18 2018-10-02 Lattice Semiconductor Corporation Full duplex radio in wireless tunneling system
US10111269B2 (en) * 2015-03-18 2018-10-23 Lattice Semiconductor Corporation Multi-gigabit wireless tunneling system
US9883539B2 (en) 2015-03-18 2018-01-30 Lattice Semiconductor Corporation Embedding low-speed communications in a high speed wireless tunneling system
US20170024344A1 (en) * 2015-07-22 2017-01-26 Microchip Technology Incorporated Method and System for USB 2.0 Bandwidth Reservation
KR20180067649A (ko) * 2015-11-09 2018-06-20 삼성전자주식회사 유선 혹은 무선 인터페이스를 통한 온-고잉 세션의 연속성을 유지하는 방법 및 장치
KR20170083762A (ko) 2016-01-11 2017-07-19 삼성전자주식회사 근접 무선 통신 방법 및 장치
US10728329B2 (en) * 2016-11-22 2020-07-28 Vivint, Inc. System and methods for secure data storage
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
US10684972B2 (en) * 2017-12-29 2020-06-16 Barco Nv Method and system for making functional devices available to participants of meetings
USD891433S1 (en) 2018-11-04 2020-07-28 Kien Hoe Daniel Chin USB adapter apparatus
USD885391S1 (en) 2018-11-04 2020-05-26 Kien Hoe Daniel Chin USB adapter apparatus
CN110418425A (zh) * 2019-07-29 2019-11-05 北京安云世纪科技有限公司 基于Lora协议的网关、数据通信方法及计算设备
TWI776211B (zh) * 2020-08-18 2022-09-01 茂傑國際股份有限公司 影音傳輸裝置
CN112286849A (zh) * 2020-10-29 2021-01-29 捷开通讯(深圳)有限公司 无线充电基座数据切换方法及系统、存储介质及终端设备

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411276B1 (en) * 1996-11-13 2002-06-25 Immersion Corporation Hybrid control of haptic feedback for host computer and interface device
US5970069A (en) * 1997-04-21 1999-10-19 Lsi Logic Corporation Single chip remote access processor
JP3045985B2 (ja) 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
US6633583B1 (en) * 1998-12-18 2003-10-14 Intel Corporation Wireless universal serial bus receiver
TW413763B (en) 1999-03-16 2000-12-01 Winbond Electronics Corp Data conversion device and data flow control method in between USB host and network end
US7028114B1 (en) 1999-08-11 2006-04-11 Henry Milan Universal serial bus hub with wireless communication to remote peripheral device
US6674731B1 (en) * 1999-08-27 2004-01-06 Tachyon, Inc. Transmission and reception of TCP/IP data over a wireless communication channel
FR2799288B1 (fr) * 1999-09-23 2005-02-25 Ibm Systeme de communication sans fil utilisant un bus serie universel (usb)
DE20019298U1 (de) * 1999-11-15 2001-04-19 Logitech Inc Befehlskanal für eine drahtlose Netzwerkvorrichtung
JP4258925B2 (ja) 1999-11-29 2009-04-30 ミツミ電機株式会社 ワイヤレスusbハブ
US6842797B1 (en) * 2000-10-10 2005-01-11 3Com Corporation USB adapter for burst mode communications
GB2371954B (en) * 2001-02-01 2003-02-19 3Com Corp Interface system for wireless node and network node
US7012893B2 (en) 2001-06-12 2006-03-14 Smartpackets, Inc. Adaptive control of data packet size in networks
CN101197652B (zh) 2001-09-06 2013-06-19 高通股份有限公司 用于高数据速率信号传送的通信协议和接口的产生和实现
US7574323B2 (en) * 2001-12-17 2009-08-11 Wireless Valley Communications, Inc. Textual and graphical demarcation of location, and interpretation of measurements
US7684380B2 (en) * 2002-01-22 2010-03-23 Freescale Semiconductor, Inc. System and method for handling asynchronous data in a wireless network
JP2003234796A (ja) 2002-02-12 2003-08-22 Seiko Epson Corp データフロー制御装置及び方法
JP3755594B2 (ja) 2002-04-19 2006-03-15 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6944687B2 (en) * 2002-04-19 2005-09-13 Hewlett-Packard Development Company, L.P. Reducing power consumption of an electronic system having a communication device
US7852796B2 (en) * 2002-05-13 2010-12-14 Xudong Wang Distributed multichannel wireless communication
US20030214967A1 (en) * 2002-05-17 2003-11-20 Heberling Allen D. Method of remote channel quality determination
US7363398B2 (en) * 2002-08-16 2008-04-22 The Board Of Trustees Of The Leland Stanford Junior University Intelligent total access system
US20040203415A1 (en) * 2002-10-25 2004-10-14 Wen-Jen Wu Wireless transmission USB hub and method
US7305511B2 (en) 2002-12-23 2007-12-04 Microtune (Texas), L.P. Providing both wireline and wireless connections to a wireline interface
US6959355B2 (en) 2003-02-24 2005-10-25 Standard Microsystems Corporation Universal serial bus hub with shared high speed handler
US20040229606A1 (en) * 2003-04-16 2004-11-18 Matsushita Electric Industrial Co., Ltd. Wireless apparatus, wireless terminal apparatus, wireless system, method of setting wireless system, computer apparatus, and computer program
JP3632695B2 (ja) 2003-05-06 2005-03-23 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
KR100943742B1 (ko) 2003-06-03 2010-02-23 삼성전자주식회사 Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법
US8417852B2 (en) * 2003-06-05 2013-04-09 Nvidia Corporation Uploading TCP frame data to user buffers and buffers in system memory
US7146133B2 (en) * 2003-06-19 2006-12-05 Microsoft Corporation Wireless transmission interference avoidance on a device capable of carrying out wireless network communications
RU2243589C1 (ru) 2003-06-23 2004-12-27 Розин Лев Григорьевич Способ передачи по компьютерной сети данных от устройства, оснащенного интерфейсом usb
US7506057B2 (en) * 2005-06-17 2009-03-17 Fotonation Vision Limited Method for establishing a paired connection between media devices
JP4432385B2 (ja) 2003-07-28 2010-03-17 セイコーエプソン株式会社 データ中継システム
US20050048997A1 (en) * 2003-09-02 2005-03-03 Mike Grobler Wireless connectivity module
WO2005065035A2 (en) * 2004-01-08 2005-07-21 Wisair Ltd. Distributed and centralized media access control device and method
JP3720345B2 (ja) * 2004-02-17 2005-11-24 シャープ株式会社 伝送装置
US7334059B2 (en) * 2004-03-03 2008-02-19 Freescale Semiconductor, Inc. Multiple burst protocol device controller
US20050259617A1 (en) * 2004-05-06 2005-11-24 Samsung Electronics Co., Ltd. System and method for channel time reservation in distributed wireless personal area network
US20050278472A1 (en) * 2004-06-14 2005-12-15 Gierke Justin T USB extender
US20050286544A1 (en) * 2004-06-25 2005-12-29 Kitchin Duncan M Scalable transmit scheduling architecture
US7408956B2 (en) * 2004-07-27 2008-08-05 Matsushita Electric Industrial Co., Ltd. Communication apparatus and communication method
US20060048196A1 (en) * 2004-08-30 2006-03-02 Yau Frank C Wireless interactive entertainment and information display network systems
US7474676B2 (en) * 2004-09-10 2009-01-06 Mitsubishi Electric Research Laboratories, Inc. Frame aggregation in wireless communications networks
US20060061963A1 (en) * 2004-09-21 2006-03-23 Schrum Sidney B Wireless virtual docking
US7356635B2 (en) * 2004-09-24 2008-04-08 Cypress Semiconductor Corp. Compressed report descriptors for USB devices
US20060075075A1 (en) 2004-10-01 2006-04-06 Malinen Jouni I Method and system to contextually initiate synchronization services on mobile terminals in an enterprise environment
JP4075885B2 (ja) 2004-11-17 2008-04-16 ブラザー工業株式会社 通信装置及びプログラム並びに通信装置の設定方法
US7149839B2 (en) * 2004-12-03 2006-12-12 Microsoft Corporation Wireless USB hardware scheduling
US7345998B2 (en) * 2004-12-15 2008-03-18 Smart Labs, Inc. Mesh network of intelligent devices communicating via powerline and radio frequency
US20060143330A1 (en) * 2004-12-23 2006-06-29 Oliver Kiehl Method for data transmit burst length control
JP2006238413A (ja) 2005-01-27 2006-09-07 Nec Electronics Corp Usbハブ、usb対応装置及び通信システム
KR100694087B1 (ko) * 2005-01-27 2007-03-12 삼성전자주식회사 효율적으로 wusb 통신을 수행하는 방법 및 장치
JP2006243866A (ja) 2005-03-01 2006-09-14 Seiko Epson Corp 通信方式
JP4366323B2 (ja) * 2005-03-15 2009-11-18 キヤノン株式会社 通信装置およびその制御方法
WO2006099574A2 (en) * 2005-03-16 2006-09-21 Tai June Yoo Cockroach allergen gene expression and delivery systems and uses
US7675856B2 (en) 2005-03-24 2010-03-09 Microsoft Corporation Bandwidth estimation in broadband access networks
JP4820566B2 (ja) * 2005-03-25 2011-11-24 パナソニック株式会社 メモリアクセス制御回路
WO2006115664A1 (en) * 2005-04-22 2006-11-02 Olympus Communication Technology Of America, Inc. Defragmentation of communication channel allocations
TW200707204A (en) * 2005-08-02 2007-02-16 Pixart Imaging Inc Method and apparatus for exchanging signals with a computer system through wired and wireless communication in an input device of the computer system
KR100703787B1 (ko) * 2005-08-09 2007-04-06 삼성전자주식회사 무선 유에스비 통신에서의 흐름 제어 방법 및 이를사용하는 무선 유에스비 디바이스 및 무선 유에스비 호스트
US20070066314A1 (en) * 2005-08-24 2007-03-22 Itay Sherman System and method for wireless communication systems coexistence
US20070204076A1 (en) * 2006-02-28 2007-08-30 Agere Systems Inc. Method and apparatus for burst transfer
KR100647906B1 (ko) * 2005-09-15 2006-11-23 한국전자통신연구원 초광대역방식의 무선 usb 호스트 장치
JP2007088775A (ja) 2005-09-21 2007-04-05 Oki Electric Ind Co Ltd 無線通信システム、無線通信装置及び方法
US8068495B2 (en) * 2005-09-27 2011-11-29 Intel Corporation Mechanisms for data rate improvement in a wireless network
JP5020494B2 (ja) * 2005-10-12 2012-09-05 キヤノン株式会社 無線通信装置及びその制御方法
US20070147236A1 (en) * 2005-12-22 2007-06-28 Hyun Lee Method of detecting and avoiding interference among wireless network by dynamically estimating the noise level from the UWB PER and BER, and synchronously switching into unoccupied channel
CA2637568A1 (en) * 2006-03-29 2007-11-08 Rotani, Inc. Methods and apparatus for resource selection using detected data throughput
US7526590B2 (en) * 2006-03-31 2009-04-28 Intel Corporation Systems and methods for remote pipe resource management in wireless adapters
US8176230B2 (en) * 2006-04-07 2012-05-08 Kingston Technology Corporation Wireless flash memory card expansion system
US20080005395A1 (en) * 2006-05-05 2008-01-03 Ping-Wen Ong Adapter to convert USB device into WUSB device
US7710968B2 (en) * 2006-05-11 2010-05-04 Intel Corporation Techniques to generate network protocol units
US8233619B2 (en) 2006-06-07 2012-07-31 Stmicroelectronics S.R.L. Implementation of AES encryption circuitry with CCM
US20080005262A1 (en) * 2006-06-16 2008-01-03 Henry Wurzburg Peripheral Sharing USB Hub for a Wireless Host
US20070294456A1 (en) * 2006-06-16 2007-12-20 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Data communication interface and communication devices incorporating same
EP2036232B1 (en) * 2006-06-20 2019-01-23 NXP USA, Inc. Method and apparatus for transmitting data in a flexray node
KR20070121452A (ko) * 2006-06-22 2007-12-27 삼성전자주식회사 무선 usb를 이용한 단일 디바이스와 다수의 호스트간의 접속 방법 및 시스템
US8411651B2 (en) * 2006-07-27 2013-04-02 Interdigital Technology Corporation Media independent multi-rat function in a converged device
US20080062919A1 (en) * 2006-08-04 2008-03-13 Chen Camille C Methods and apparatus for providing a channel avoidance system for a platform with a plurality of wireless communication devices
JP4816323B2 (ja) 2006-08-16 2011-11-16 ソニー株式会社 通信装置、通信方法、及びプログラム
US20080069026A1 (en) * 2006-09-14 2008-03-20 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Repeater for WUSB applications
CN101237445B (zh) * 2007-01-30 2013-01-02 世意法(北京)半导体研发有限责任公司 缓冲器管理方法和用于缓冲器管理及封装wusb分组的设备
TW200900933A (en) * 2007-03-15 2009-01-01 Wionics Research Virtual pipe for wire adapter communications
US20090006676A1 (en) * 2007-06-29 2009-01-01 Intel Corporation Method for Scheduling a Device Notification Time Slot for a Wireless USB System
US8078805B1 (en) * 2007-10-07 2011-12-13 Wisair Ltd. Method and system for communicating with a universal serial bus device
JP2010011255A (ja) * 2008-06-30 2010-01-14 Nec Electronics Corp 無線通信装置及びそのパケット転送方法
JP2010183408A (ja) * 2009-02-06 2010-08-19 Renesas Electronics Corp デバイスワイヤアダプタ及び通信制御方法
US20100325326A1 (en) * 2009-06-19 2010-12-23 Via Technologies, Inc. Device information management system and device information management method
US8433838B2 (en) * 2010-09-17 2013-04-30 International Business Machines Corporation Remote multiplexing devices on a serial peripheral interface bus

Also Published As

Publication number Publication date
JP5551193B2 (ja) 2014-07-16
WO2008080107A2 (en) 2008-07-03
JP2010515301A (ja) 2010-05-06
CN102681957A (zh) 2012-09-19
JP2012142957A (ja) 2012-07-26
JP4988859B2 (ja) 2012-08-01
CN101641683B (zh) 2012-02-01
CA2671610C (en) 2013-11-19
JP2012138925A (ja) 2012-07-19
US7761627B2 (en) 2010-07-20
JP5420689B2 (ja) 2014-02-19
JP2012138923A (ja) 2012-07-19
WO2008080107A3 (en) 2009-01-08
EP2118759A2 (en) 2009-11-18
BRPI0721002A2 (pt) 2014-07-29
US20080162741A1 (en) 2008-07-03
RU2436147C2 (ru) 2011-12-10
EP2118759A4 (en) 2011-02-23
CN104408003A (zh) 2015-03-11
CN104408003B (zh) 2018-06-05
CN102681957B (zh) 2015-04-29
US9015368B2 (en) 2015-04-21
US20080215773A1 (en) 2008-09-04
JP5420690B2 (ja) 2014-02-19
KR20090090394A (ko) 2009-08-25
KR101092112B1 (ko) 2011-12-12
RU2009128177A (ru) 2011-01-27
EP2118759B1 (en) 2015-07-29
CN101641683A (zh) 2010-02-03
CA2671610A1 (en) 2008-07-03
JP2012138924A (ja) 2012-07-19

Similar Documents

Publication Publication Date Title
JP5425942B2 (ja) エンハンスドワイヤレスusbプロトコル及びハブ
US7584313B1 (en) Method and system for connecting a wireless USB host and a wired USB device
WO2006050311A2 (en) Hardware supported peripheral component memory alignment method
US20130223281A1 (en) Large frame path mtu discovery and communication for fcoe devices
US20090286489A1 (en) Wireless Communications Between Wired Devices with Adaptive Data Rates
US8032675B2 (en) Dynamic memory buffer allocation method and system
CN110099028B (zh) 一种串口数据传输的方法及装置
AU2004306900B2 (en) Backward-compatible parallel DDR bus for use in host-daughtercard interface
CN114443533A (zh) 扩展环境中usb设备的移除和ping干预
US8892767B1 (en) Method and apparatus for communication of a target over point-to-point interface with a host managing wireless LAN services and target resources
WO2012058875A1 (zh) 一种串行通信的方法和系统
US20050102431A1 (en) Composite adapter for multiple peripheral functionality in portable computing system environments
US20050273541A1 (en) Circuit and method for adaptively recognizing a data packet in a universal serial bus network device
WO2022110186A1 (zh) 连接器的插入方式的识别方法和装置
TWI727269B (zh) 通用序列匯流排裝置及其資料傳輸方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131127

R150 Certificate of patent or registration of utility model

Ref document number: 5425942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees