JP2001358733A - ユニバーサルシリアルバス(usb)をピアツーピアネットワークとして用いる方法 - Google Patents
ユニバーサルシリアルバス(usb)をピアツーピアネットワークとして用いる方法Info
- Publication number
- JP2001358733A JP2001358733A JP2001108265A JP2001108265A JP2001358733A JP 2001358733 A JP2001358733 A JP 2001358733A JP 2001108265 A JP2001108265 A JP 2001108265A JP 2001108265 A JP2001108265 A JP 2001108265A JP 2001358733 A JP2001358733 A JP 2001358733A
- Authority
- JP
- Japan
- Prior art keywords
- message
- usb
- sinc
- peer
- header
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
ーピアネットワークとして用いる。 【解決手段】ホストプロセッサはメッセージの前にヘッ
ダを付加し、ホストメッセージハンドラが該ヘッダを認
識する。各自デバイスメッセージハンドラを備える複数
のデバイスはそれぞれ、メッセージの前にヘッダを付加
し、デバイスメッセージハンドラが該ヘッダを認識す
る。ホストプロセッサと、ホストプロッサに連係された
複数のデバイスのうちの任意のデバイス間で直接、US
Bを介してメッセージをルーティングするよう構成され
た、ホストプロセッサに連係されたルータも備える。
Description
ータネットワーキングに関し、特に、ユニバーサルシリ
アルバスをピアツーピアネットワークとして用いる方法
およびシステムに関する。
ュータがネットワーク上の任意の他のコンピュータへの
メッセージ送信を開始でき、またネットワーク上の任意
の他のコンピュータからのメッセージ送信を受信するこ
とが可能なように、電子ネットワークで接続された複数
のコンピュータと定義される。ローカルエリアネットワ
ーク(LAN)は、ピアツーピアネットワークの一例で
ある。
一般に、パケットまたはメッセージの交換によってホス
トからデバイスへの通信を可能にするコンピューティン
グデバイスに関連する通信バスアーキテクチャである。
USBメッセージは、通常、ヘッダ情報と、データとを
含む。例えば、パーソナルコンピュータについていえ
ば、コンピュータプロセッサをホストと考え、マウス、
キーボード、プリンタ、ジョイスティック、ディスクド
ライブ等をホストと通信するデバイスと考えることがで
きる。従来のUSBプロトコルでは、すべての通信メッ
セージがUSBホストと該ホストに取り付けられたデバ
イス間で転送されるよう条件付けられている。統合され
たUSBデバイスインタフェースを含む、競争力のある
価格が付けられたマイクロプロセッサが利用しやすいた
めに、USBアーキテクチャを採用することは経済的で
ある。
域幅、およびプロセッサモジュールを「ホットスワップ
(hotswap)」する能力が重要な通信に対しても有用で
ある。「ホットスワップ」という用語は、システムの電
源を切ることなく、USBデバイスを動作中のコンピュ
ータシステムからはずし、別のプロセッサと取り替える
状況を指す。
従来のプロトコルでは、USBに接続されるデバイス間
の通信がすべてホスト−デバイス間通信を介して行われ
るよう要請されるために、「ピアツーピア」通信とも呼
ばれるデバイス間の直接通信を行うことができない。
く、プロセッサモジュールの取り外しおよび置換が可能
であり、かつ通信バスに接続されたデバイス間でのピア
ツーピア通信が可能な高帯域幅通信プロトコルおよびバ
スが必要とされている。
されたデバイス間でのピアツーピア通信のための方法お
よびシステムを提供する。
ークとして用いる方法として概念化することができ、本
方法は、ルータを備えるホストプロセッサをUSBに接
続するステップと、それぞれ互いに対して、かつホスト
プロセッサに対してピアである複数のデバイスをUSB
に接続するステップと、を含む。本方法はまた、複数の
デバイスまたはホストプロセッサのうちの1つにおい
て、メッセージを形成するステップと、該メッセージの
前にヘッダを付加するステップと、ルータおよびUSB
を介して、該メッセージをデバイスのうちの1つから他
の任意のデバイス、またはホストプロセッサに直接伝送
するステップと、含む。
Bをピアツーピアネットワークとして用いるためのシス
テムであり、メッセージハンドラを含むホストプロセッ
サを備える。ホストプロセッサは、メッセージの前にヘ
ッダを付加するよう構成され、ホストメッセージハンド
ラは、該ヘッダを認識するよう構成される。本システム
はまた、それぞれデバイスメッセージハンドラを含む、
ホストプロセッサに連係された複数のデバイスも備え
る。複数のデバイスはそれぞれ、メッセージの前にヘッ
ダを付加するよう構成される。デバイスメッセージハン
ドラはまた、ヘッダを認識するよう構成される。本シス
テムは、ホストプロセッサと、ホストプロッサに連係さ
れた複数のデバイスのうちの任意のデバイス間で直接、
USBを介してメッセージをルーティングするよう構成
された、ホストプロセッサに連係されたルータも備え
る。
発明について、添付図面を参照することでより良好に理
解することができる。図面内の構成要素は、必ずしも互
いに対して一定の縮尺ではなく、本発明の原理を明白に
示す部分を強調している。
クとして用いる方法およびシステムの好ましい実施形態
について、サーバコンピュータシステムを制御するため
に、USBを用いて互いに対話する多数のマイクロプロ
セッサ駆動式デバイスを例として説明するが、本発明
は、多数のデバイスがUSBを介して通信するあらゆる
状況において適用可能である。
用いる方法およびシステムは、ハードウェア、ソフトウ
ェア、ファームウェア、またはそれらの組み合わせにお
いて実施することができる。好ましい実施形態におい
て、本発明は、ハードウェアと、ソフトウェアまたはフ
ァームウェアとの組み合わせにおいて実施される。ハー
ドウェアまたはファームウェアはメモリに格納し、適し
た命令実行システムで実行することができる。代替の実
施形態におけるように、ハードウェアにおいて実施され
る場合、本発明は当技術分野で周知の次の技術、すなわ
ち、データ信号に対して論理関数処理を行う論理ゲート
を有する離散論理回路、適切な組み合わせ論理ゲートを
備えた特定用途向け集積回路(ASIC)、プログラマ
ブル・ゲートアレイ(PGA)、フィールド・プログラ
マブル・ゲートアレイ(FPGA)等のいずれか一つ、
あるいはそれらの組み合わせを用いて実施することがで
きる。
用いる方法およびシステムのソフトウェア部分は、論理
関数処理を行うための実行可能命令の順序付きリストを
含み、コンピュータベースのシステム、プロセッサ包含
システム、または媒体から命令をフェッチして実行する
ことのできる他のシステム等のような、命令実行システ
ム、装置、またはデバイスによって、またはこれらと併
せて用いるため、任意のコンピュータ読み取り可能媒体
において実施することができる。本明細書において、
「コンピュータ読み取り可能媒体」とは、命令実行シス
テム、装置、またはデバイスによって、またはこれらと
併せて用いるため、プログラムを包含、格納、通信、伝
搬、または搬送することが可能な任意の手段でありう
る。コンピュータ読み取り媒体は、例えば、電気、磁
気、光学、電磁、赤外線、または半導体のシステム、装
置、デバイス、または伝搬媒体でありうるが、これらに
制限されない。コンピュータ読み取り媒体のより具体的
な例(非網羅的リスト)としては、以下が挙げられる。
すなわち、1本または複数本のワイヤを有する電気接続
(電気)、ポータブルコンピュータディスケット(磁
気)、ランダムアクセスメモリ(RAM)(電気)、読
み取り専用メモリ(ROM)(電気)、消去可能プログ
ラマブル読み取り専用メモリ(EPROMまたはフラッ
シュメモリ)(電気)、光ファイバ(光学)、およびポ
ータブルコンパクトディスク読み取り専用メモリ(CD
−ROM)(光学)である。なお、コンピュータ読み取
り可能媒体は、紙またはプログラムを印刷可能な別の適
した媒体であってもよいことに留意する。これは、例え
ば光学スキャン等により紙または他の媒体上のプログラ
ムを電子的に取り込んでから、必要であればコンパイ
ル、解釈するか、そうでなければ適宜処理し、コンピュ
ータメモリに格納することができるためである。
の概念を示すために用いられる、サーバシステム11を
示すブロック図である。なお、サーバシステム11とし
て図示されるが、USBをピアツーピアネットワークと
して用いる方法およびシステムは、それぞれUSBイン
タフェースを有する複数のプロセッサデバイスがピアツ
ーピア構成でUSBを介して通信する任意のシステムに
適用可能であることに留意されたい。サーバシステム1
1は、多数のキャビネットに分割してもよい。例えば、
説明のために、サーバ11は、時にキャビネット27お
よび28と呼ばれるノードに分割される。キャビネット
27は、メモリ要素12と、プロセッサ14とを備え
る。キャビネット28は、メモリ要素36と、プロセッ
サ37とを備える。各キャビネット27および28はま
た、メモリ要素12および36と、プロセッサ14およ
び37をそれぞれ制御し、監視するユーティリティサブ
システム50および30もそれぞれ備える。
B20に接続され、USB20を介して通信する多数の
プロセッサデバイスを備え、本明細書では、キャビネッ
トレベルユーティリティ(CLU)デバイス60と、パ
ワーモニタ3(PM3)デバイス70と、システム抽象
レイヤインタフェースネットワークコントローラ(SI
NC)デバイス100と、サービスプロセッサ200
と、を備えるものとして図示される。通常の適用におい
ては、各ユーティリティサブシステム50および30
は、CLUデバイス、PM3デバイス、およびSINC
デバイスの組を繰り返し多数含むと共に、追加のプロセ
ッサおよび制御デバイスを備える。そのため、複数のユ
ーティリティサブシステム50および30が図示されて
いる。しかし、簡略化のために、それぞれCLUデバイ
ス、PM3デバイス、SINCデバイスを一組ずつ備え
る二組のユーティリティサブシステムのみが図示されて
いる。ユーティリティサブシステム50の場合には、そ
れらに加えてサービスプロセッサ200を備える。しか
し、サーバ11に連係されるサービスプロセッサ200
は(ユーティリティサブシステム50に配置される)一
つのみであることに留意されたい。本発明の一形態にお
いては、サービスプロセッサ200はホストプロセッサ
として機能する。USBプロトコルは一つのホストしか
許容しないため、ユーティリティプロセッサおよび関連
デバイスの数に関係なく、サービスプロセッサ200は
一つだけである。本発明の一形態において重要なこと
は、各ユーティリティサブシステム50および30内の
各デバイスがUSB20を介して通信するということで
ある。
して、メモリ12およびプロセッサ14と通信し、これ
らを制御する。CLUデバイス60は、接続22を介し
て、バックプレーン要素16と通信してこれを制御し、
PM3デバイス70は、接続24を介して、電源および
ファンモジュール18と通信し、これらを制御する。同
様に、SINCデバイス31は、接続41を介して、メ
モリ36およびプロセッサ37と通信し、これらを制御
する。CLUデバイス32は、接続42を介して、バッ
クプレーン要素38と通信してこれを制御し、PM3デ
バイス34は、接続44を介して、電源およびファンモ
ジュール39と通信し、これらを制御する。
ム50を示すブロック図である。ユーティリティサブシ
ステム50は、USB20を介して、SINCデバイス
100、CLUデバイス60、およびPM3デバイス7
0と通信するサービスプロセッサ200を備える。サー
ビスプロセッサ200は、協働して、ユーティリティサ
ブシステム50の動作を制御するハードウェア要素とソ
フトウェア要素の双方で構成される。サービスプロセッ
サ200は、USBホストコントローラ226およびU
SBホストドライバ224を用いて、USB20を介し
て通信する。USBホストコントローラ226は、ハー
ドウェア要素(USBコントローラチップ)であり、U
SBホストドライバ224は、それに対応した、USB
通信の制御に用いられるソフトウェアドライバである。
スプロセッサ200の動作を制御するソフトウェア要素
である、オペレーティングシステム221を備える。サ
ービスプロセッサ200はまた、USBルータ218も
含む。USBルータ218は、サービスプロセッサ20
0と、ユーティリティサブシステム50内の各デバイス
60、70、および100との間に論理接続を提供す
る、デバイスドライバ220を介して、オペレーティン
グシステム221と通信する。デバイスドライバ220
については後にさらに詳細に説明される。
能性をサーバシステム11に提供する多数のソフトウェ
アモジュールも備える。例えば、サービスプロセッサ2
00は、スキャンサポートモジュール208、ファーム
ウェア更新モジュール211、ならびにサーバシステム
11の全体設計の一部であり、かつ他のUSB接続され
たマイクロプロセッサと通信を行い動作する他のモジュ
ールを備える。基本的に、サービスプロセッサ200
は、サーバシステム11が適切に機能できるようにす
る、ユーティリティサブシステム50内の様々な制御機
能を提供する。
システム50は、SINCデバイス100と、CLUデ
バイス60と、PM3デバイス70と、をさらに備え
る。これらデバイスはそれぞれ、互いに対してピアと見
なされる。同様に、サービスプロセッサもまた、各デバ
イス60、70、および100に対してピアである。例
えば、後に詳細に説明される本発明によれば、各デバイ
ス(SINC100、CLU60、およびPM370)
は、USB20をピアツーピアネットワークとして用い
ることで、互いに対して、かつサービスプロセッサ20
0と双方向通信することができる。この例においては、
USBはLANであると考えることができる。
ス100、CLUデバイス60、およびPM3デバイス
70内に含まれるメッセージロジック150は、デバイ
スと協働して、各デバイスが特別な(unique)通信プロ
トコルヘッダをデータブロックの前に付加することがで
きるようにし、これによってUSBに接続された別のデ
バイスに直接アドレス指定される通信メッセージを形成
する。特別通信プロトコルヘッダおよびデータ(すなわ
ち、通信メッセージ)は、次に、標準USBヘッダおよ
びトレーラで収容され、USBを介して転送される。特
別通信プロトコルヘッダにより、各デバイスがまるでピ
アツーピアネットワークに接続されているかのように、
各デバイスが他のデバイスと互いに通信することが可能
になる。
ブ101、メッセージロジック150、USBドライバ
102、ハードウェアインタフェース104、およびU
SBデバイスコントローラ106を備える。USBデバ
イスコントローラ106は、USB20を介してメッセ
ージを通信するために、USBデバイスインタフェース
チップおよびUSBドライバ102とのインタフェース
を備えたハードウェア要素である。ハードウェアインタ
フェース104により、エグゼクティブ101は、SI
NCデバイス100に存在する他のハードウェア要素
(図示せず)と通信可能になる。メッセージロジック1
50(後により詳細に説明する)は、エグゼクティブ1
01と協働して、SINCデバイス100が、上述した
特別通信プロトコルヘッダを生成し、該ヘッダをデバイ
スが送信したいと望むデータの前に付加することによっ
て、USB20に接続された任意の他のデバイスにメッ
セージを送信できるようにする。
と遠隔的に接続された個々のデバイスとの間のメッセー
ジ通信しかできない。例えば、パーソナルコンピュータ
(PC)環境において、USBは、プロセッサと、プリ
ンタ、マウス、およびキーボード等遠隔的に接続される
周辺装置との間のメッセージ通信に用いられる。例え
ば、マウスがプリンタと通信する方法はない(理由もな
い)。従来の適用において、USBではホスト−デバイ
ス間の通信しかできなかった。
ック150は、USBルータ218と協働して、特別通
信プロトコルヘッダを解析し、USB20に接続された
任意のデバイス間のピアツーピア通信を可能にする。そ
れによって、USB20はピアツーピアネットワークと
して機能できるようになる。
1、メッセージロジック150、USBドライバ62、
ハードウェアインタフェース64、スキャンインタフェ
ース67、およびUSBデバイスコントローラ66を備
える。同様に、PM3デバイス70は、エグゼクティブ
71、メッセージロジック150、USBドライバ7
2、ハードウェアインタフェース74、およびUSBデ
バイスコントローラ76を備える。エグゼクティブ61
と71、USBドライバ62と72、ハードウェアイン
タフェース64と74、およびUSBデバイスコントロ
ーラ66と76はすべて、SINCデバイス100にお
ける各デバイスと同様に動作する。
が、サービスプロセッサ200、SINCデバイス10
0、CLUデバイス60、およびPM3デバイス70は
それぞれ、本発明のソフトウェア部分の実行に必要なプ
ロセッサ、メモリ(ランダムアクセスメモリ(RAM)
および読み出し専用メモリ(ROM)を含む)、インタ
フェース、および接続を備える。
0を示す概略図である。サービスプロセッサ200は、
USBホストコントローラ226、USBホストドライ
バ224、およびUSBルータ218を備える。
スコントローラ106、USBデバイスドライバ10
2、およびメッセージロジック150を備える。図3に
示すように、USBホストコントローラ226は、物理
的接続(USB)20を介して、USBデバイスコント
ローラ106と通信する。USBホストドライバ224
は、論理接続321を介して、USBデバイスドライバ
102と論理的に通信する。USBルータ218は、本
発明に関連する通信プロトコルを用い、パイプ111、
112および114を介して、メッセージロジック15
0と論理的に通信する。
マット330を示す概略図である。メッセージフォーマ
ット330は、USBヘッダ331、通信プロトコルヘ
ッダ355、データ360、およびUSBトレーラ33
2を含む。本発明の一形態によれば、任意のデバイス、
例えば上述したSINCデバイス100、CLUデバイ
ス60、PM3デバイス70、およびサービスプロセッ
サ200によって、通信プロトコルヘッダ355(後に
より詳細に説明される)がデータ360の前に付加され
(前に取り付けられ)、その結果通信メッセージ350
が形成される。通信メッセージ350は、標準USBヘ
ッダ331およびトレーラ332によって収容される。
このようにして、USB20に接続された個々の任意の
デバイスが、一意に識別されるメッセージを、USB2
0に接続された他の任意のデバイスに送信することがで
きる。
バイス100間の接続性を示すブロック図である。図5
には、1つのみのデバイス(すなわち、SINCデバイ
ス100)をUSB20を介してサービスプロセッサ2
00に接続して図示するが、かかる多くのデバイスがサ
ービスプロセッサ200に接続されるものと意図され
る。本発明の動作を説明するために、かつ例として、フ
ァームウェア更新モジュール211(図2におけるいか
なるモジュールもメッセージを送信可能であるが)が、
接続266を介して、通信メッセージをUSBルータ2
18に送信する。接続266を介して送信されるメッセ
ージは、通信プロトコルヘッダ355およびデータ36
0を含み、このメッセージは、USBルータ218によ
って受信される。通信プロトコルヘッダ355およびデ
ータ360については、後に図7に関してより詳細に説
明する。USBルータ218は、接続266を介して受
信したメッセージを検査し、添付された通信プロトコル
ヘッダ355を解析することで、メッセージをどこに送
信すべきかを決定する。例えば、ファームウェア更新モ
ジュール211からのメッセージは、例えば、SINC
デバイス100、CLUデバイス60、およびPM3デ
バイス70等(これらに制限されない)、USBに接続
された他の任意のデバイスを宛先とすることができる。
USBルータ218は、複数のデバイスドライバ25
1、252、および254に接続される。デバイスドラ
イバ251は、SINCデバイス100と関連付けられ
る。デバイスドライバ252は、CLUデバイス60に
関連付けられ、デバイスドライバ254はPM3デバイ
ス70に関連付けられる。各デバイスタイプ毎にデバイ
スドライバを設けることで、異なるデバイスタイプに行
くメッセージに優先順位を付けることが可能になる。し
かし、デバイスドライバは一つだけでもすべてのデバイ
スタイプに対応することができる。好ましい実施形態に
おいては、接続されたデバイスタイプ(すなわち、SI
NCデバイス100、CLUデバイス60、およびPM
3デバイス70)それぞれに関連したデバイスドライバ
が一つずつサービスプロセッサ200に備えられる。こ
れらのデバイスドライバ251、252、および254
は、例としてのみ図示されるものである。
宛先に応じて、USBルータ218は、メッセージがS
INCデバイス100、CLUデバイス60、またはP
M3デバイス70に宛先付けられている場合には、その
メッセージを適切なデバイスドライバ251、252、
または254に提供し、サービスプロセッサ200に宛
先付けられている場合には、サービスプロセッサ200
における別のエンティティに提供する。例として、図5
は、SINCデバイス100を備え、これは、あくまで
例を示すためのものとして、接続266を介して受信し
たメッセージがアドレス指定されるデバイスであると仮
定する。USBルータ218は、接続266を介して受
信したメッセージが、SINCデバイス100に宛先付
けられていることを認識し、該メッセージをデバイスド
ライバ251に送る。メッセージがSINCデバイス1
00からサービスプロセッサ200において受信される
と、該メッセージもまたデバイスドライバ251に現れ
る。このような場合、受信したメッセージは、USBル
ータ218に転送され、USBルータ218は、本発明
の一形態により、該メッセージの前に付加された通信プ
ロトコルヘッダを解析し、該メッセージをどこに送信す
べきかを決定する。例えば、もしSINCデバイス10
0がメッセージをCLUデバイス60に送信すると、メ
ッセージはデバイスドライバ251に現れ、USBルー
タ218に転送される。次に、USBルータ218は、
該メッセージをCLUデバイス60に関連付けられたデ
バイスドライバ252に送る。SINC100から受信
したメッセージがサービスプロセッサ200に宛先付け
られていた場合、USBルータ218は、デバイスドラ
イバ251から受信したメッセージを受け入れ、接続2
62を介して、該メッセージをサービスプロセッサ入力
メッセージハンドラ250に転送する。サービスプロセ
ッサ入力メッセージハンドラ250は、通信プロトコル
ヘッダ355を除去し、データ360を適切なモジュー
ル、本例では、ファームウェア更新モジュール211に
接続264を介して転送する。あるいはまた、サービス
プロセッサ入力メッセージハンドラ250は、データ3
60を接続267を介して、他のアプリケーションモジ
ュール268として表される任意適切な他のアプリケー
ションモジュールに転送する。
ル211からSINCデバイス100に送信されるメッ
セージについての考察に戻ると、USBルータ218
は、メッセージをデバイスドライバ251に入れ、該デ
バイスドライバ251は、次に、メッセージをキュー2
56に入れる。図5のデバイスドライバ251、25
2、および254は、図2のデバイスドライバ220を
示し、かつこれに対応する。例示のために説明される本
例では、上記タイプ(SINC、PM3、およびCL
U)毎に1つのデバイスがあるものと仮定される。実際
には、デバイスタイプ毎に複数のデバイスがありうる。
同一のデバイスタイプのデバイスはそれぞれ、そのデバ
イスタイプ用のデバイスドライバ内に、各自専用のキュ
ーを有する。したがって、それぞれドライバの対応する
デバイスタイプの特定のデバイスに対応する複数のキュ
ーセットを処理することによって、一台のデバイスドラ
イバで各自のデバイスタイプのデバイスを複数扱うこと
ができる。
ロセッサ200と、SINCデバイス100等の遠隔的
に接続されたデバイスとの間に確立される。サービスプ
ロセッサ200およびSINCデバイス100の双方に
示される矢印111、112、および114は、サービ
スプロセッサ200とSINCデバイス100の間に存
在する論理接続を表す、「パイプ」の概念を示してい
る。矢印111は、バルクアウトパイプを表し、矢印1
12は、割り込みパイプを表し、矢印114は、バルク
インパイプを表す。パイプの概念は、USBバス通信シ
ステムの分野において周知であり、伝送制御プロトコル
/インターネットプロトコル(TCP/IP)ネットワ
ークスタックにおける接続ソケットの概念に対応する。
26およびサービスプロセッサ200は、SINCデバ
イス100内のUSBデバイスコントローラ106を介
して、割り込みパイプ112を定期的にポーリングす
る。SINCデバイス100が、サービスプロセッサ2
00あるいはUSB20に接続された別のデバイスのい
ずれかに送信したいデータを有する場合、デバイスによ
りデータ360の前に付加された通信プロトコルヘッダ
355がキュー156に入れられる。キュー156は、
デバイス出力メッセージハンドラ152内にあり、デバ
イス出力メッセージハンドラ152は、通信プロトコル
ヘッダ355を割り込みパイプ112に入れる。USB
ホストコントローラ226は、割り込みパイプ112を
ポーリングすると、割り込みパイプにおける通信プロト
コルヘッダ355の存在を認識し、それによって、SI
NCデバイス100が送信したい情報を有していること
を知らせる。次に、通信プロトコルヘッダ355が、デ
バイス出力メッセージハンドラ152から割り込みパイ
プ112を介してSINCデバイスドライバ251に転
送される。USB業界規格用語において、通信プロトコ
ルヘッダ355は、割り込みデータパケットと呼ばれ
る。
ダ355の長さフィールド(図7において後述するバイ
ト6および7)を読み出すことで、通信プロトコルヘッ
ダ355にデータフィールド360を足した長さを読み
出す。SINCデバイスドライバ251は、SINCデ
バイス100が送信データをさらに有しているか否かを
判断する。これは、通信プロトコルヘッダ355内の特
定フィールドを解析することで達成され、これについて
は、後に図7に関して詳細に説明する。SINCデバイ
スドライバ251が、SINCデバイス100が送信す
る情報をさらに有していると判断した場合、SINCデ
バイスドライバ251は、「USBバルク読み出し」コ
マンドをSINCデバイス100に送信する。この結
果、デバイス出力メッセージハンドラ152からキュー
158を通して、次にバルクインパイプ114を通して
サービスプロセッサ200に転送される通信メッセージ
(すなわち、データ360)の平衡が保たれる。転送は
パイプ111、112、および114を介して行われる
ものとして説明したが、重要なことは、パイプは論理接
続であり、情報の転送は、実際にはUSB20を介して
行われることであることに留意されたい。
ジ交換が行われた場合、デバイス出力メッセージハンド
ラ152は、SINC100上のいくつかのソフトウェ
アモジュール(例えば、新メッセージブロック126、
ファームウェア更新ルーチン119、またはリセットル
ーチン118)のうちの1つからメッセージを受信した
ものと考えられる。メッセージを発するモジュールは、
通信プロトコルヘッダ355をデータ360の前に付加
したものと考えられる。デバイス出力メッセージハンド
ラ152は、次に、通信プロトコルヘッダ355をキュ
ー156に入れ、データ360をキュー158に入れた
と考えられる。リセットルーチン118、ファームウェ
ア更新ルーチン119、および新メッセージブロック1
26を用いて説明されたが、SINCデバイス100か
ら送信されるメッセージは、SINCデバイス100上
に存在するが図示されていない種々多数のメッセージ源
のうちのいずれから発せられてもよい。
バ251は、「読み出し」呼び出しを用いることで、割
り込みパイプ112から読み出しを行う。呼び出しの概
念は当業者には周知である。割り込みパイプ112にメ
ッセージがない場合、呼び出しは保留される。USBホ
ストドライバ224が、割り込みパイプ112において
通信プロトコルヘッダ355を検出した場合、呼び出し
が戻される。次に、デバイスドライバ251は、通信プ
ロトコルヘッダ355を割り込みパイプ112から除去
する。そして、通信プロトコルヘッダ355が、付随す
るデータ360があることを示す場合には、デバイスド
ライバ251は、読み出し呼び出しをバルクインパイプ
114に出す。この読み出し呼び出しは、読み出しが完
了するまで保留される。
からSINCデバイス100等の遠隔デバイスに送信さ
れるメッセージ)の転送について、次に説明する。サー
ビスプロセッサ200によって処理されるメッセージ
は、サービスプロセッサ200から発せられるか、ある
いはUSB20に接続された別のデバイス(SINCデ
バイス100等)から発せられる。本発明によれば、U
SBルータ218は、出力メッセージをキュー256、
257、または258のうち、メッセージがアドレス指
定されているデバイスに関連する1つに入れる。本例に
おいて、USBルータ218は、メッセージをデバイス
ドライバ251に渡し、デバイスドライバ251は、最
終的にSINCデバイス100に伝送するために、キュ
ー256にメッセージを入れる。現在SINCデバイス
100に送信処理中のメッセージがない場合には、デバ
イスドライバ251は、すぐにキュー256からメッセ
ージを抽出して、該メッセージをSINCデバイス10
0に送信する。送信中の前の出力メッセージがある場合
には、新しいメッセージはキュー256に保持され、前
のメッセージに対する「送信完了」割り込みが発生する
と、取り出されてSINCデバイス100に送信され
る。USBルータ218からバルクパイプ111を通し
て送信されたメッセージは、次に、デバイス入力メッセ
ージハンドラ151に受信され、キュー154に入れら
れる。当技術分野で周知の「関数呼び出し」を用いて、
エグゼクティブ101は、接続109を介して、デバイ
ス入力メッセージハンドラ151を定期的に呼び出し、
すなわちポーリングし、キュー154にメッセージがあ
るか否かを判断する。エグゼクティブ101はまた、同
様に他の関数呼び出しも行う。例えば、エグゼクティブ
101は、接続103を介して定期的にハードウェアイ
ンタフェース104を呼び出し、SINCデバイス10
0におけるハードウェアの状態を判断する。ハードウェ
アインタフェース104は、USB20に接続された他
の任意のデバイスに送信する情報を有している場合に
は、接続108を介してメッセージロジック150と通
信することができる。デバイス入力メッセージハンドラ
151がキュー154に情報を有している場合、エグゼ
クティブ101にポーリングされると、デバイス入力メ
ッセージハンドラ151は、キュー154に存在するメ
ッセージを実行するために、適切な関数呼び出しを生成
する。
11が、USB20を介してファームウェア更新メッセ
ージをSINCデバイス100に送信したものと仮定し
た場合、デバイス入力メッセージハンドラ151は、こ
のメッセージをキュー154において検出すると、接続
117を介して適切な関数呼び出しを実行して、ファー
ムウェア更新ルーチン119を実行する。このファーム
ウェア更新は、例示目的のためにのみ示されるものであ
る。他のメッセージならば、異なるルーチンを呼び出
す。デバイス入力メッセージハンドラ151がファーム
ウェア更新のメッセージの代わりにリセットコマンドを
受信したならば、リセットルーチン118に対して接続
116を介して関数呼び出しを実行し、リセットルーチ
ン118が、接続127を介して、リセットコマンドを
リセットハードウェア128に送信する。
SB20に配置された別のデバイスまたはサービスプロ
セッサ200に送信するには、種々多数のシナリオがあ
る。例えば、ファームウェア更新モジュール211から
受信したファームウェア更新メッセージに応答して、フ
ァームウェア更新ルーチン119を実行すると、ファー
ムウェア更新ルーチン119は、メッセージの受信承認
と、メッセージにおいて要求されたアクションの成功ま
たは失敗を示すメッセージの双方またはいずれかを送信
することができる。これは、図7および図8に関して説
明する通信プロトコルヘッダ355によって達成するこ
とができる。あるいは、非送信請求状態更新メッセージ
をSINCデバイス100から新メッセージブロック1
26を介して送信することもできる。別の例として、新
メッセージブロック126は、メッセージをパワーモニ
タであるPM3デバイス70に送信し、SINCが必要
とする電力を知らせる。
く、デバイス出力メッセージハンドラ152は、通信プ
ロトコルヘッダ355およびデータ360を含むメッセ
ージを解析し、ヘッダ355をキュー156に入れ、デ
ータ360をキュー158に入れる。本発明において、
通信プロトコルヘッダ355は、メッセージを送信した
デバイスによって、データ360の前に付加される。例
えば、ファームウェア更新ルーチン119が、ファーム
ウェア更新モジュール211から受信したメッセージに
対して返信するよう命令された場合、ファームウェア更
新ルーチン119は、以下の説明に従って、メッセージ
の前に通信プロトコルヘッダ355を付加し、ヘッダお
よびメッセージをデバイス出力メッセージハンドラ15
2に送信する。ファームウェア更新ルーチン119によ
って前に付加された通信プロトコルヘッダ355は、メ
ッセージの宛先としてサービスプロセッサ200を識別
する。ファームウェア更新モジュール211は、ファー
ムウェア更新ルーチン119が現在応答しているメッセ
ージを送信する際、ヘッダのプライベートエリア(図7
において後に説明されるバイト8〜11)に特別な番号
を挿入している。この特別な番号は、ファームウェア更
新ルーチン119には認識されないが、サービスプロセ
ッサ入力メッセージハンドラ250がファームウェア更
新モジュール211を応答メッセージの所期の受信先と
して識別できるようにするための識別子である。ファー
ムウェア更新ルーチン119が応答メッセージを作成す
る際、要求メッセージから応答メッセージにプライベー
トバイト362、364、366、および367(図
7)をコピーする。メッセージヘッダのプライベートエ
リアの使用については、図7に関して後に説明される。
は、通信プロトコルヘッダ355を、キュー156に対
応する割り込みパイプ112に入れ、もし存在すれば、
データ360をキュー158に関連するバルクインパイ
プ114に入れる。キュー156は、二重バッファキュ
ーであり、二重バッファされるUSBデバイスコントロ
ーラ106に対応する。
れる図3のパイプを示す略図である。図示のように、ル
ータ218およびSINCデバイス100は、バルクア
ウトパイプ111、割り込みパイプ112、およびバル
クインパイプ114を介して接続される。図6は、メッ
セージが交換される個々の経路としてパイプを示してい
る。なお、図6には三本の個々のパイプとして示される
が、パイプはすべてUSB20に存在することに留意さ
れたい。
ッセージ350の一例を示す概略図である。通信メッセ
ージ350は、通信プロトコルヘッダ355およびデー
タ360を含む。通信プロトコルヘッダ355は、12
バイトの情報を含む。該バイトは、必ずしも図示した順
序である必要はない。宛先キャビネット番号351(バ
イト0)は、宛先キャビネット番号に関する情報を含
む。
セージが宛先付けられたデバイスのキャビネット内のア
ドレスである。特別なデバイス番号をUSB20に接続
された各デバイスに割り当てることによって、キャビネ
ット番号と宛先アドレス352(バイト1)を合わせ
て、デバイス(すなわち、SINCデバイス100、C
LUデバイス60、およびPM3デバイス70)が識別
される。
2)は、ソースキャビネット番号(すなわち、メッセー
ジを発したデバイスを含むキャビネットの番号)であ
り、ソースアドレス356(バイト3)は、メッセージ
を送信した、デバイスのキャビネット内のアドレスであ
る。キャビネット内の宛先アドレスおよびソースアドレ
スを以下の表1に示す。
任意の値を用いることができるという点において、自由
に決めることのできるものである。名称の欄はあらかじ
め定義されており、デバイスに自由に名称をつけること
はできない。デバイスが自身の名称(アドレス)および
通信先のデバイスの名称(アドレス)を知ることができ
るように、全般的なネーミング方式を予め決めておくこ
とが望ましい。あるいは、ディレクトリサービスがその
ようなネーミング方式にとってかわってもよい。
信モジュールにメッセージの処理の方法を指示する。好
ましい実施形態において用いられるコマンドおよび値の
いくつかの具体例を以下に示す。
システムの実施の詳細によって決定される。
グを表す。フラグについては、後に図8に関してより詳
細に説明される。メッセージ長359(バイト6)は、
メッセージ長(最下位バイト)を表し、メッセージ長3
61(バイト7)は、メッセージ長(最上位バイト)を
表す。メッセージ長は、メッセージにおけるバイトの数
であり、メッセージヘッダ355の12バイトを含む。
入力メッセージハンドラは、メッセージ長が12バイト
よりも大きいか否かをチェックすることで、メッセージ
350のデータ部分360があるか否かを判断すること
ができる。
は、応答を要する要求を発したソフトウェアモジュール
(本例ではファームウェア更新モジュール211)を識
別するプライベートデータを表す。メッセージを送信す
る相手のデバイス(例えば、SINCデバイス100)
に送信メッセージに対する返信を期待する場合、送信側
のデバイスにおけるモジュール(例えば、サービスプロ
セッサ200におけるファームウェア更新モジュール2
11)は、識別子をバイト362、364、366、3
67におけるヘッダのプライベートエリアに挿入するこ
とによって、自身の宛て先を知らせる。応答側デバイス
における応答モジュール(例えば、SINCデバイス1
00におけるファームウェア更新ルーチン119)は、
プライベートエリアの内容を返信メッセージにコピーす
るよう要求される。
信デバイス上の入力メッセージハンドラ(例えば、サー
ビスプロセッサ200上のサービスプロセッサ入力メッ
セージハンドラ250)が、返信先モジュール(例え
ば、ファームウェア更新モジュール211応答キュー)
として認識することができる値である。識別子は、例え
ば、元の要求を送信したモジュールにおいて呼び出す関
数についての応答キューの識別子、またはアドレスであ
りうる。サービスプロセッサ入力メッセージハンドラ2
50は、プライベートエリア(ヘッダ355におけるバ
イト8からバイト11)の内容に基づいて、すべての返
信を指定されたモジュールに送信する。
す発信元および宛先バイト351、352、354、3
56は、デバイスを識別指定するものとする。メッセー
ジが(あるモジュールによって発せられた)コマンドで
あり、かつ宛先デバイスに2つ以上のコマンド処理モジ
ュールがある場合、コマンドバイト357(バイト4)
の内容によって、所与のコマンドを処理する、デバイス
内の特定のモジュールを識別することができる。メッセ
ージが(先に受信したコマンドに応答して発せされた)
返信メッセージである場合、コマンドバイト357(バ
イト4)の内容は、プライベートエリアバイト362、
364、366、および367(バイト8〜バイト1
1)の内容と合わせて、返信メッセージを渡すべきモジ
ュールを指定する。コマンドバイト357(バイト4)
の内容はまた、プライベートエリアバイト362、36
4、366、および367(バイト8〜バイト11)の
内容と合わせて、異なるデバイスに対する複数の未処理
要求を有するモジュールが、各デバイスからの返信メッ
セージを未処理の要求と結びつけることができるように
する。
ッセージフォーマット350のオプションコマンドデー
タバイト368および369(バイト12からバイト長
+11まで)を含む、データ360も含む。オプション
コマンドデータは、オプションデータを含む。データ3
60は、0バイト以上のデータを含む可変長フィールド
である。このデータは、コマンドバイト357(バイト
4)における特定のコマンドに関連するものである。例
えば、コマンドが「EPROMセクタプログラム」であ
る場合には、パケットのデータ部分は、EPROMセク
タにプログラムされるデータである。コマンドが「状態
応答」であり、かつパケットが先の「状態照会」メッセ
ージの結果として送信される場合には、データ部分は、
実際のデバイス状態である。
ト5)を示す概略図である。図示のように、このフォー
マットにおいては、フラグバイト358のビット4〜ビ
ット7はメッセージ識別情報を含む。ビット0およびビ
ット1は、USB20に接続されたSINC100等、
個々のデバイスに要求する応答に応じてセットすること
ができる。例えば、最下位ビット(LSB)0がロジッ
ク「0」にセットされる場合は、図5のSINCデバイ
ス100は、送信されたメッセージの受信の確認通知を
する必要がないことを示す。LSB0がロジック「1」
にセットされる場合は、受信デバイス(すなわち、図5
に関して先に説明した例では、SINCデバイス10
0)はメッセージの受信の確認通知をしなければならな
いことを示す。同様に、フラグバイト358(バイト
5)のビット1がロジック「0」にセットされる場合
は、メッセージに含まれるコマンドの処理が成功したか
失敗したかについて、メッセージの発信元に報告する必
要がないことを示す。同様に、ビット1がロジック
「1」にセットされる場合は、メッセージに含まれるコ
マンドの処理が成功したか失敗したかについて、発信デ
バイスに報告しなければならないことを示す。
て、USBホストドライバ224は、デバイスがバスに
接続されるときに、各デバイス(すなわち、SINCデ
バイス100、CLUデバイス60等)を列挙する(ア
ドレスを割り当てる)。(なお、これは物理レイヤアド
レスであり、表1に示す論理レイヤアドレスとは異なる
ことに留意する)。その際、デバイスは、デバイス記述
子をホストに戻す。デバイス記述子によって、デバイス
のタイプが識別される。これは、USB通信の分野にお
ける当業者に良く知られている。このとき、好ましい実
施形態におけるデバイスは、それが、例えば、PM3デ
バイス70、CLUデバイス60、またはSINCデバ
イス100であると報告する。デバイスはまた、表1に
示す符号化を用いて、自身の固有のアドレス(例えば、
キャビネット0におけるSINC100、SINC番号
2)も報告する。これにより、USBホストドライバ2
24は、この特定のデバイスに適したキュー(例えば、
キュー256と、パイプ112および114)を初期化
することができる。
バイスの名称と同義であり固定されたものである。これ
に対して、デバイスタイプおよび番号のアドレスを固定
せず、動的に割り当てる方式を考えることもできる。諸
タイプのデバイスの組み合わせをより柔軟に行う必要が
ある場合に、このような方式の方が望ましいことがあ
る。もしそのようなシステムが設計されたとしても、他
のエンティティがそのデバイスをアドレス指定すること
ができるように、なお一つのデバイスごとに一つの「名
称」を持たせておくべきである。しかし、このような場
合は、任意のデバイスが名称に対応するアドレスを得ら
れるように、ディレクトリサービスを設けることが望ま
しい。ディレクトリサービスの概念は、ネットワーキン
グの分野における当業者には周知である。
B)(20)をピアツーピアネットワークとして用いる
方法であって、ルータ(218)を備えるホストプロセ
ッサ(200)をUSB(20)に接続するステップ
と、それぞれ互いに対して、かつ前記ホストプロセッサ
(200)に対してピアである複数のデバイス(60、
70、100)を前記USB(20)に接続するステッ
プと、前記複数のデバイス(60、70、100)また
は前記ホストプロセッサ(200)のうちの1つにおい
て、メッセージ(360)を形成するステップと、前記
メッセージ(360)の前にヘッダ(355)を付加す
るステップと、前記ルータ(218)および前記USB
(20)を介して、前記メッセージ(360)を前記デ
バイス(60、70、100)のうちの1つから他の任
意のデバイスに、または前記ホストプロセッサ(20
0)に直接伝送するステップと、を含む、方法。
バイス(60、70、100)のうちの一つを識別する
複数のフィールドをさらに含む、上記(1)記載の方
法。
0)はそれぞれ、前記複数のフィールドを認識するよう
構成されたロジック(150)をさらに備える、上記
(1)記載の方法。
は、前記ルータ(218)に関連する第1のデバイスド
ライバ(251)をさらに備え、前記デバイス(60、
70、100)はそれぞれ、前記ルータ(218)にお
ける前記第1のデバイスドライバ(251)に対応する
第2のデバイスドライバ(102)をさらに備え、前記
第1のデバイスドライバ(251)および第2のデバイ
スドライバ(102)は、前記ルータ(218)と前記
デバイス(60、70、100)それぞれの間に論理接
続(321)を確立するよう構成された、上記(1)記
載の方法。
込みパイプ(112)と、バルクインパイプ(114)
と、バルクアウトパイプ(111)と、を含む、上記
(4)記載の方法。
B)(20)をピアツーピアネットワークを用いるシス
テムであって、ホストメッセージハンドラ(250)を
含み、メッセージ(360)の前にヘッダ(355)を
付加するよう構成され、該ホストメッセージハンドラ
(250)は、該ヘッダ(355)を認識するよう構成
された、ホストプロセッサ(200)と、前記ホストプ
ロセッサ(200)に連係され、それぞれデバイスメッ
セージハンドラ(150)を含み、前記メッセージ(3
60)の前に前記ヘッダ(355)を付加するよう構成
された複数のデバイス(60、70、100)であっ
て、前記デバイスメッセージハンドラ(150)もま
た、前記ヘッダ(355)を認識するよう構成された、
複数のデバイス(60、70、100)と、前記ホスト
プロッサ(200)に連係された前記複数のデバイス
(60、70、100)のうちの任意のデバイスと前記
ホストプロセッサ(200)間で、ユニバーサルシリア
ルバス(USB)(20)を介して前記メッセージ(3
60)を直接ルーティングするよう構成された、前記ホ
ストプロセッサ(200)に連係されたルータ(21
8)と、を備える、システム。
バイス(60、70、100)のうちの一つを識別する
複数のフィールドをさらに含む、上記(6)記載のシス
テム。
は、前記ルータ(218)に関連する第1のデバイスド
ライバ(251)をさらに備え、前記デバイス(60、
70、100)はそれぞれ、前記ルータ(218)にお
ける前記第1のデバイスドライバ(251)に対応する
第2のデバイスドライバ(102)をさらに備え、前記
第1のデバイスドライバ(251)および第2のデバイ
スドライバ(102)は、前記ルータ(218)と前記
デバイス(60、70、100)それぞれの間に論理接
続(321)を確立するよう構成された、上記(6)記
載のシステム。
込みパイプ(112)と、バルクインパイプ(114)
と、バルクアウトパイプ(111)と、を含む、上記
(8)記載のシステム。
ラ(150)は、前記メッセージ(360)を前記バル
クアウトパイプ(111)から受信するよう構成された
入力メッセージハンドラ(151)と、前記ヘッダ(3
55)を前記割り込みパイプ(112)に挿入するとと
もに、前記メッセージ(360)に関連するデータを前
記バルクインパイプ(114)に挿入するよう構成され
た出力メッセージハンドラ(152)と、をさらに備え
る、上記(9)記載のシステム。
発明の好ましい実施形態に、多くの変更および変形を行
いうることが、当業者には理解されよう。例えば、多数
のデバイスがUSBを介して通信する任意のシステムに
おいて、本発明を用いることができる。このような変更
および変形はすべて、特許請求の範囲に規定される本発
明の範囲に包含される。
バシステムを示すブロック図。
ロック図。
00を示す概略図。
概略図。
レイヤインタフェースネットワークコントローラ(SI
NC)デバイス間の接続性を示すブロック図。
のパイプを示す略図。
ージの一例を示す概略図。
略図。
Claims (1)
- 【請求項1】 ユニバーサルシリアルバス(USB)
(20)をピアツーピアネットワークとして用いる方法
であって、 ルータ(218)を備えるホストプロセッサ(200)
をUSB(20)に接続するステップと、 それぞれ互いに対して、かつ前記ホストプロセッサ(2
00)に対してピアである複数のデバイス(60、7
0、100)を前記USB(20)に接続するステップ
と、 前記複数のデバイス(60、70、100)または前記
ホストプロセッサ(200)のうちの1つにおいて、メ
ッセージ(360)を形成するステップと、 前記メッセージ(360)の前にヘッダ(355)を付
加するステップと、 前記ルータ(218)および前記USB(20)を介し
て、前記メッセージ(360)を前記デバイス(60、
70、100)のうちの1つから他の任意のデバイス
に、または前記ホストプロセッサ(200)に直接伝送
するステップと、を含む、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/549124 | 2000-04-13 | ||
US09/549,124 US6839771B1 (en) | 2000-04-13 | 2000-04-13 | Method and system for using a universal serial bus (USB) as a peer-to-peer network |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001358733A true JP2001358733A (ja) | 2001-12-26 |
JP2001358733A5 JP2001358733A5 (ja) | 2006-11-30 |
JP4422359B2 JP4422359B2 (ja) | 2010-02-24 |
Family
ID=24191766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001108265A Expired - Fee Related JP4422359B2 (ja) | 2000-04-13 | 2001-04-06 | ユニバーサルシリアルバス(usb)をピアツーピアネットワークとして用いる方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6839771B1 (ja) |
JP (1) | JP4422359B2 (ja) |
TW (1) | TW515166B (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005520258A (ja) * | 2002-04-02 | 2005-07-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ記憶装置のインタフェースを変換するアダプタ、変換済みデータ記憶装置、および変換済みデータ記憶装置の操作方法 |
EP1650913A1 (en) * | 2004-10-20 | 2006-04-26 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving data via wireless universal serial bus (USB) |
US7359996B2 (en) | 2002-04-19 | 2008-04-15 | Seiko Epson Corporation | Data transfer control device, electronic equipment, and data transfer control method |
JP2011508563A (ja) * | 2007-12-26 | 2011-03-10 | インテル コーポレイション | 統一コネクタアーキテクチャ |
US8700821B2 (en) | 2008-08-22 | 2014-04-15 | Intel Corporation | Unified multi-transport medium connector architecture |
US8775713B2 (en) | 2011-12-27 | 2014-07-08 | Intel Corporation | Multi-protocol tunneling over an I/O interconnect |
US8782321B2 (en) | 2012-02-08 | 2014-07-15 | Intel Corporation | PCI express tunneling over a multi-protocol I/O interconnect |
US8856420B2 (en) | 2011-12-27 | 2014-10-07 | Intel Corporation | Multi-protocol I/O interconnect flow control |
US8953644B2 (en) | 2011-12-27 | 2015-02-10 | Intel Corporation | Multi-protocol I/O interconnect time synchronization |
US9252970B2 (en) | 2011-12-27 | 2016-02-02 | Intel Corporation | Multi-protocol I/O interconnect architecture |
US9565132B2 (en) | 2011-12-27 | 2017-02-07 | Intel Corporation | Multi-protocol I/O interconnect including a switching fabric |
US9600060B2 (en) | 2012-03-29 | 2017-03-21 | Intel Corporation | Link power management in an I/O interconnect |
US9697159B2 (en) | 2011-12-27 | 2017-07-04 | Intel Corporation | Multi-protocol I/O interconnect time synchronization |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11467856B2 (en) | 2002-12-12 | 2022-10-11 | Flexiworld Technologies, Inc. | Portable USB device for internet access service |
US9948644B2 (en) | 2001-03-26 | 2018-04-17 | Salesforce.Com, Inc. | Routing messages between applications |
US7689711B2 (en) | 2001-03-26 | 2010-03-30 | Salesforce.Com, Inc. | System and method for routing messages between applications |
US7788399B2 (en) * | 2001-03-26 | 2010-08-31 | Salesforce.Com, Inc. | System and method for mapping of services |
GB2374259B (en) * | 2001-04-06 | 2004-04-21 | Nokia Corp | Universal serial bus circuit |
US10360685B2 (en) * | 2007-05-24 | 2019-07-23 | Pillar Vision Corporation | Stereoscopic image capture with performance outcome prediction in sporting environments |
US8409024B2 (en) | 2001-09-12 | 2013-04-02 | Pillar Vision, Inc. | Trajectory detection and feedback system for golf |
US8617008B2 (en) | 2001-09-12 | 2013-12-31 | Pillar Vision, Inc. | Training devices for trajectory-based sports |
US7094164B2 (en) * | 2001-09-12 | 2006-08-22 | Pillar Vision Corporation | Trajectory detection and feedback system |
US7376713B2 (en) * | 2002-06-27 | 2008-05-20 | International Business Machines Corporation | Apparatus, system and method of distributing block data on a private network without using TCP/IP |
US7908401B2 (en) | 2002-12-12 | 2011-03-15 | Flexiworld Technology, Inc. | Method and device for wireless communication between computing devices |
US7441708B2 (en) * | 2003-03-28 | 2008-10-28 | Peter Arthur Schade | Memory card socket using a dual-ported USB interface |
US7216195B1 (en) | 2003-03-29 | 2007-05-08 | Emc Corporation | Architecture for managing disk drives |
WO2004093149A2 (en) * | 2003-04-11 | 2004-10-28 | Flexiworld Technologies, Inc. | Autorun for integrated circuit memory component |
US7284081B2 (en) * | 2004-01-27 | 2007-10-16 | Atmel Corporation | Method and system for routing data between USB ports |
JP2006072432A (ja) * | 2004-08-31 | 2006-03-16 | Onkyo Corp | ピアツーピア型コンテンツ配信システム |
US20080071950A1 (en) * | 2006-09-19 | 2008-03-20 | Ithaca Technologies, Llc | Thin client implementation based on redirection of virtual i/o devices |
US20080200287A1 (en) * | 2007-01-10 | 2008-08-21 | Pillar Vision Corporation | Trajectory detection and feedfack system for tennis |
US8408982B2 (en) | 2007-05-24 | 2013-04-02 | Pillar Vision, Inc. | Method and apparatus for video game simulations using motion capture |
US7913030B2 (en) * | 2007-12-28 | 2011-03-22 | Sandisk Il Ltd. | Storage device with transaction logging capability |
US7979662B2 (en) * | 2007-12-28 | 2011-07-12 | Sandisk Il Ltd. | Storage device with transaction indexing capability |
US8566934B2 (en) | 2011-01-21 | 2013-10-22 | Gigavation, Inc. | Apparatus and method for enhancing security of data on a host computing device and a peripheral device |
KR102039113B1 (ko) | 2011-08-10 | 2019-10-31 | 기타 스리바스타바 | 호스트 컴퓨팅 디바이스와 주변기기의 데이터의 보안을 강화하기 위한 장치 및 방법 |
CN103902461A (zh) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | 不同Nand闪存兼容方法及装置 |
US8948457B2 (en) | 2013-04-03 | 2015-02-03 | Pillar Vision, Inc. | True space tracking of axisymmetric object flight using diameter measurement |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5913045A (en) * | 1995-12-20 | 1999-06-15 | Intel Corporation | Programmable PCI interrupt routing mechanism |
US5854910A (en) * | 1996-10-21 | 1998-12-29 | Advanced Micro Devices, Inc. | Method for accessing control and status registers across a peer-peer bus |
US6219736B1 (en) * | 1997-04-24 | 2001-04-17 | Edwin E. Klingman | Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN) |
US5958027A (en) * | 1997-08-05 | 1999-09-28 | Advanced Micro Devices, Inc. | Method and system for optimizing the flow of isochronous data and clock rate information |
US6061794A (en) * | 1997-09-30 | 2000-05-09 | Compaq Computer Corp. | System and method for performing secure device communications in a peer-to-peer bus architecture |
US6233640B1 (en) * | 1999-03-19 | 2001-05-15 | In-System Design, Inc. | Universal serial bus peripheral bridge with sequencer |
JP3711432B2 (ja) * | 1998-04-15 | 2005-11-02 | セイコーエプソン株式会社 | 周辺処理装置およびその制御方法 |
US6499079B1 (en) * | 1998-11-23 | 2002-12-24 | Advanced Micro Devices, Inc. | Subordinate bridge structure for a point-to-point computer interconnection bus |
US6237057B1 (en) * | 1998-12-16 | 2001-05-22 | International Business Machines Corporation | Method and system for PCI slot expansion via electrical isolation |
US6529963B1 (en) * | 1998-12-29 | 2003-03-04 | Lsi Logic Corporation | Methods and apparatus for interconnecting independent fibre channel fabrics |
US6725281B1 (en) * | 1999-06-11 | 2004-04-20 | Microsoft Corporation | Synchronization of controlled device state using state table and eventing in data-driven remote device control model |
US6594771B1 (en) * | 2000-04-13 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | Method and apparatus for managing power in an electronic device |
US6618788B1 (en) * | 2000-09-27 | 2003-09-09 | Cypress Semiconductor, Inc. | ATA device control via a packet-based interface |
US6732218B2 (en) * | 2002-07-26 | 2004-05-04 | Motorola, Inc. | Dual-role compatible USB hub device and method |
-
2000
- 2000-04-13 US US09/549,124 patent/US6839771B1/en not_active Expired - Fee Related
- 2000-11-09 TW TW089123729A patent/TW515166B/zh not_active IP Right Cessation
-
2001
- 2001-04-06 JP JP2001108265A patent/JP4422359B2/ja not_active Expired - Fee Related
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005520258A (ja) * | 2002-04-02 | 2005-07-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ記憶装置のインタフェースを変換するアダプタ、変換済みデータ記憶装置、および変換済みデータ記憶装置の操作方法 |
US7359996B2 (en) | 2002-04-19 | 2008-04-15 | Seiko Epson Corporation | Data transfer control device, electronic equipment, and data transfer control method |
EP1650913A1 (en) * | 2004-10-20 | 2006-04-26 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving data via wireless universal serial bus (USB) |
JP2011508563A (ja) * | 2007-12-26 | 2011-03-10 | インテル コーポレイション | 統一コネクタアーキテクチャ |
US8407367B2 (en) | 2007-12-26 | 2013-03-26 | Intel Corporation | Unified connector architecture |
US9047222B2 (en) | 2008-08-22 | 2015-06-02 | Intel Corporation | Unified multi-transport medium connector architecture |
US8700821B2 (en) | 2008-08-22 | 2014-04-15 | Intel Corporation | Unified multi-transport medium connector architecture |
US9164535B2 (en) | 2011-12-27 | 2015-10-20 | Intel Corporation | Multi-protocol I/O interconnect time synchronization |
US9565132B2 (en) | 2011-12-27 | 2017-02-07 | Intel Corporation | Multi-protocol I/O interconnect including a switching fabric |
US8953644B2 (en) | 2011-12-27 | 2015-02-10 | Intel Corporation | Multi-protocol I/O interconnect time synchronization |
US11044196B2 (en) | 2011-12-27 | 2021-06-22 | Intel Corporation | Multi-protocol I/O interconnect including a switching fabric |
US9141132B2 (en) | 2011-12-27 | 2015-09-22 | Intel Corporation | Multi-protocol I/O interconnect time synchronization |
US8775713B2 (en) | 2011-12-27 | 2014-07-08 | Intel Corporation | Multi-protocol tunneling over an I/O interconnect |
US9252970B2 (en) | 2011-12-27 | 2016-02-02 | Intel Corporation | Multi-protocol I/O interconnect architecture |
US10110480B2 (en) | 2011-12-27 | 2018-10-23 | Intel Corporation | Multi-protocol I/O interconnect including a switching fabric |
US9430435B2 (en) | 2011-12-27 | 2016-08-30 | Intel Corporation | Multi-protocol tunneling over an I/O interconnect |
US8856420B2 (en) | 2011-12-27 | 2014-10-07 | Intel Corporation | Multi-protocol I/O interconnect flow control |
US9697159B2 (en) | 2011-12-27 | 2017-07-04 | Intel Corporation | Multi-protocol I/O interconnect time synchronization |
US9934181B2 (en) | 2012-02-08 | 2018-04-03 | Intel Corporation | PCI express tunneling over a multi-protocol I/O interconnect |
US9396151B2 (en) | 2012-02-08 | 2016-07-19 | Intel Corporation | PCI express tunneling over a multi-protocol I/O interconnect |
US10387348B2 (en) | 2012-02-08 | 2019-08-20 | Intel Corporation | PCI express tunneling over a multi-protocol I/O interconnect |
US10884965B2 (en) | 2012-02-08 | 2021-01-05 | Intel Corporation | PCI express tunneling over a multi-protocol I/O interconnect |
US8782321B2 (en) | 2012-02-08 | 2014-07-15 | Intel Corporation | PCI express tunneling over a multi-protocol I/O interconnect |
US9600060B2 (en) | 2012-03-29 | 2017-03-21 | Intel Corporation | Link power management in an I/O interconnect |
Also Published As
Publication number | Publication date |
---|---|
TW515166B (en) | 2002-12-21 |
JP4422359B2 (ja) | 2010-02-24 |
US6839771B1 (en) | 2005-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001358733A (ja) | ユニバーサルシリアルバス(usb)をピアツーピアネットワークとして用いる方法 | |
EP2047370B1 (en) | Method and apparatus for distributing usb hub functions across a network | |
US7949816B2 (en) | Method and apparatus for enhancing universal serial bus applications | |
US6704819B1 (en) | Method and apparatus for device sharing and arbitration | |
JP3629513B2 (ja) | データ処理システム及び方法 | |
US8161220B2 (en) | Method and apparatus for enhancing universal serial bus applications | |
JPH07105110A (ja) | 通信モード選択方法 | |
US20030070028A1 (en) | Method and apparatus for utilizing extended AV/C command frames including status inquiry, notify inquiry and control inquiry command types | |
EP1516261B1 (en) | Bus system, station for use in a bus system, and bus interface | |
US6742075B1 (en) | Arrangement for instigating work in a channel adapter based on received address information and stored context information | |
WO2024045742A1 (zh) | 一种计算设备 | |
US7058747B2 (en) | Bus system and bus interface for connection to a bus | |
US7043589B2 (en) | Bus system and bus interface | |
US6366590B2 (en) | Unified interface between an IEEE 1394-1995 serial bus transaction layer and corresponding applications | |
JP3006187B2 (ja) | 分散処理システム | |
KR20050057635A (ko) | Dma를 지원하는지를 나타내는 정보를 전송하는 수단을구비하는 디바이스 | |
JP2003023471A (ja) | パケット送受信処理回路 | |
JP2000209252A (ja) | 通信処理装置、その上位装置、通信処理システム、通信処理システムネットワ―ク、通信処理方法 | |
JPH07162483A (ja) | 通信ネットワ−クシステム | |
JPH01236349A (ja) | シリアルインタフェースの初期設定方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061013 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061013 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090717 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090717 |
|
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: 20091117 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131211 Year of fee payment: 4 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
LAPS | Cancellation because of no payment of annual fees | ||
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |