JP4657720B2 - ネットワーク・インターフェースおよびプロトコル - Google Patents
ネットワーク・インターフェースおよびプロトコル Download PDFInfo
- Publication number
- JP4657720B2 JP4657720B2 JP2004535685A JP2004535685A JP4657720B2 JP 4657720 B2 JP4657720 B2 JP 4657720B2 JP 2004535685 A JP2004535685 A JP 2004535685A JP 2004535685 A JP2004535685 A JP 2004535685A JP 4657720 B2 JP4657720 B2 JP 4657720B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication interface
- memory
- queue
- operating system
- 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 - Lifetime
Links
- 230000006854 communication Effects 0.000 claims description 72
- 238000004891 communication Methods 0.000 claims description 72
- 238000012545 processing Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 description 74
- 239000000872 buffer Substances 0.000 description 44
- 230000005540 biological transmission Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000027455 binding Effects 0.000 description 2
- 238000009739 binding Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/35—Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
Description
1.CPUは、仮想アドレスx1への書込み操作としてr1の内容(例えば値10など)を出力する
2.MMU(CPU内に含まれ得る)は、仮想アドレスx1を物理アドレスpci1に変える(これはページ表探査またはページ不在を含み得る)
3.CPUの書込みバッファは「write 10,pci1」命令を発し、それが、そのCPUが位置するバスのコントローラ、この例ではPCI(入出力バス・サブシステム)コントローラによって「捕らえ」られる。次いで、その命令が、コンピュータのPCIバス上に転送される。
4.バスに接続され、ネットワークへのインターフェースを提供するNICは、そのPCI命令を「捕らえ」、仮想アドレス空間(Y0〜Yn)がホストされている宛先コンピュータにデータを転送する
5.同等のハードウェアを備えると想定される宛先コンピュータで、ネットワーク・カードは、そのデータをメモリに格納するためにPCI書込みトランザクションを出力する
6.受信側アプリケーションは、メモリへの仮想メモリ・マッピングを備え、「load Y1」命令を実行することによってデータを読み取ることができる。
{X0−Xn}
→
{PCI0,PCIn}(プロセッサ1のアドレス空間)
→
{PCI’0,PCI’n}(PCIバスのアドレス空間)
→
ネットワーク−マッピング図示せず
→
{PCI”0,PCI”n}(宛先PCIバスのアドレス空間)
→
{mem0〜memn}(宛先メモリのアドレス空間)
→
{Y0〜Yn}(宛先アプリケーションの仮想アドレス空間)
b)アドレス・ビットの節約。32ビット・メモリ・バス内のホストが2つの32ビットPCIバスにアクセスする必要がある場合を考える。最低33ビットが必要とされるはずなので、一見したところでは、これは十分なビット数ではない。しかしながら、アパーチャの使用により、両方のPCIバスのサブセットにアクセスすることが可能になる。
{PCI0〜PCIn}→{PCI’0〜PCI’n}および
{PCIp〜PCIq}→{PCI’p〜PCI’q}
1.多数のアパーチャを管理することが必要とされ得る。というのは、1つのホストが、ネットワークを介して他の多くホストと通信しなければならないからである。
2.ネットワークの状況では、セキュリティ上の理由で、各ホストをそれ自体の保護および管理ドメインとして扱うのが普通である。その結果、ネットワークを介して2つのアドレス空間の間の接続が行われるとき、そのパスに沿ったアパーチャ・マッピングすべてが開始側ホストによってセットアップされ得るとは限らなくなる。代わりに、各保護ドメイン内のすべてのマッピングが、そのドメインの「所有者」によって終端間接続が確立されるように設定されることを可能にするプロトコルが考案されなければならない。
3.セキュリティ上の理由で、ネットワーク内のホストは、その他のホスト全部を信頼するとは限らないのが普通であり、そのため、そのマッピング方式は、任意の欠陥または悪意のあるホストが、別のホストのメモリを破壊しないようにする必要がある。
1.より上位レベルのインターフェースによって、ネットワーク・ハードウェアの複雑さが隠されること、
2.多くのアプリケーション上での、ネットワーク・ハードウェアおよび他のシステム・リソース(メモリなど)の安全な多重化、
3.欠陥または悪意のあるアプリケーションに抗するシステムのセキュリティ
を可能にするためである。
1.システム初期設定時に、オペレーティング・システム・デバイス・ドライバは、カーネル・バッファを作成し、NICのRxリングをこれらのバッファを指し示すように初期設定する。また、OSは、構成スクリプトからそのIPホスト・アドレスを知らされる。
2.アプリケーションは、ネットワーク・パケットを受け取ろうとし、オペレーティング・システム内にあるキューのような構造であるポートを作成する。これは、<ホスト:ポート>によってアドレス指定されたネットワーク・パケットがそのポートのキューに配信され得るように、ホストに固有の番号ポートを持つ。
3.パケットはネットワーク・インターフェース・カード(NIC)に到着する。NICは、ホスト入出力バス(PCIバスなど)を介して、そのパケットを次の有効RxDMAリング・ポインタ値によって指し示されるメモリ・アドレスにコピーする。
4.利用可能なDMAポインタが残っていない場合、または事前指定されたタイムアウト時に、NICは、データが配信されていることをホストに通知するために、入出力バス割り込みをアサートする。
5.割り込みに応答して、デバイス・ドライバは、配信されたバッファを検査し、それが有効ホスト・アドレスなどの有効なアドレス情報を含む場合、そのバッファへのポインタを適当なプロトコル・スタック(TCP/IPなど)に渡す。
6.プロトコル・スタックは、有効な宛先ポートが存在するかどうか判定し、存在する場合、ネットワーク・プロトコル処理(受信したデータの肯定応答を生成するなど)を実行し、パケットをそのポートのキューに入れる。
7.OSは、アプリケーションに(「選択」ビット・マスク中のビットをスケジュール変更し、設定することなどにより)、そのポートがバインドされているネットワーク・エンドポイントにパケットが到着していると指示することができる。(そのアプリケーションを実行可能であるとマークし、スケジューラを呼び出すことによって)。
8.アプリケーションは、例えば、(バッファのアドレスおよびサイズを供給する)recv()システム・コールを実行することによって、OSにデータを要求し、OSカーネルでは、カーネル・バッファからアプリケーションのバッファにデータがコピーされる。システム・コールから戻ると、アプリケーションは、アプリケーション・バッファからデータにアクセスすることができる。
9.コピーの後、カーネルは、カーネル・バッファをO/Sの空きメモリプールに返す。また、割り込み時に、デバイス・ドライバは、新しいバッファを割り振り、DMAリングへのポインタを付加する。このように、空きプールからアプリケーションのポートへ、そしてまた元に戻るバッファの循環がある。
10.カーネル・バッファの1つの重要な特性は、それらが物理RAM中で適合しており、決してVMシステムによってページ・アウトされないことである。しかしながら、空きプールは、すべてのアプリケーションの共通リソースとして共用され得る。
1.オペレーティング・システム・デバイス・ドライバは、送信に使用するためのカーネル・バッファを作成し、NICのTxリングを初期設定する。
2.データを送信するアプリケーションは、そのデータをアプリケーション・バッファに格納し、例えば、(そのアプリケーション・バッファのアドレスおよびサイズを供給する)send()システム・コールを実行することによって、OSによる送信を要求する。
3.send()コールに応答して、OSカーネルは、データをアプリケーション・バッファからカーネル・バッファにコピーし、適当なプロトコル・スタック(TCP/IPなど)を適用する。
4.データを含むカーネル・バッファへのポインタが、Txリング状の次の空きスロットに入れられる。利用可能なスロットがない場合、バッファは、NICが、割り込みなどによって、スロットが利用可能になったことを示すまで、カーネルでキューに入れられる。
5.スロットは、NICによって処理されるようになると、ホスト入出力バスを介してDMAサイクルによりスロットの内容で示されるカーネル・バッファにアクセスし、次いで、データを送信する。
1.NICがデータを内外にコピーしている間データが識別されたカーネル・メモリ中にあることを保証するため。これは、データが送信または受信されているときに該当し、また、カーネル・プロトコル処理の後でアプリケーションがバッファを改ざんし、または破損することができないという利点も持つ。
2.送信の場合、データが実際に送信される前にsend()システム・コールが正常に戻ることがよくある。コピー・ステップは、プロトコル層によって再送信が要求される場合に備えてOSがデータを保持できるようにする。
1.データが、識別されているバッファ中にあることを保証する。(これは、システム・コールが割り振ることを必要とするはずである)。
2.バッファ・ポインタおよび長さを含む記述子を構築し、その記述子へのポインタを送信キューに加える。(注意:その記述子も識別されたメモリ中になければならない。)
3.必要ならば、アプリケーションは、VIエンドポイントに関連付けられたNIC上のハードウェア「呼び鈴」ロケーションに書き込むことによって、作業キューがアクティブであることを示す。
4.その後のある時点において、NICは送信キューを処理し、バッファからのデータにDMA(直接メモリ・アクセス)し、ネットワーク・パケットを形成し、受信側に送信する。次いで、NICは、そのバッファに関連付けられた記述子を、データが送信されたとマークする。
1.その記述子をマークし、
2.(それがVIと関連付けられている場合は)完了キュー上でイベントを生成し、
3.それが(Rxキューまたは完了キューをマークする)アプリケーションまたはカーネルによって要求されている場合は、割り込みを生成する
ことによって受信を指示する。
1.記述子オーバーヘッドのために小さいメッセージでの性能が劣る。
2.受信バッファ・オーバーランを回避するためにアプリケーションによってフロー制御が行われなければならない。
1.信頼されるクラスタ規模のサービスによって管理された単一ネットワークアドレス空間(例えば、DECのメモリ・チャネル:R Gillett、「Memory Channel Network for PCI」、IEEE Micro 16(2)、1996年2月12〜18日参照)
2.ローカル・ホスト・メモリを着信ネットワーク・アクセスから保護する保護(またはページ・レベル保護)対策がないこと(SCIなど)
3.単一プロセッサ・ノードの障害が「マシン」全体の障害を引き起こすこと(SCIなど)
静的な表を使用して少数のアパーチャ・マッピングが効率よく格納され得る。これを実施するために、アドレスのいくつかのビット(マップ・ビット)がNICのアドレス復号化論理によって捕らえられ、マッピングを反転させるのに使用されるビット(再マップ・ビット)を含むメモリ・アレイへのインデックスとして使用される。例えば、図3に示すタイプのシステムでは、NICは、PCIバス29を介して、指定されたローカル・アドレスの所のデータを読み取り、またはそこにデータを書き込むよう求める要求を受け取ることができる。NICは、そのローカル・アドレスに対応するリモート・アドレスを示すマッピングを格納し、その変換は、そのローカル・アドレスのビットの1つまたは複数を置き換えることによって実行される。例えば、そのアドレスの第2および第3のニブルが置き換えられ得る。その場合、0x8210BEECというローカル・アドレスに対応するリモート・アドレスにアクセスするために、NICは、マッピング表にアクセスし、ビット「21」のマッピング(それはビット「32」であると想定する)を決定し、次いで、対応するリモート・アドレス(この例では0x8320BEEC)をアドレス指定するはずである。(図4参照)
この方法は、使用される実装技術(通常はFPGAまたはASIC)に応じて数百または数千エントリまで拡張可能であるが、マッピング表を保持するのに使用される装置内で利用可能な空間によって制限される。1つの優れた実装方法が、マッピングを(それに対するアクセスが結果としてより遅くなる)より大容量のストアに格納すると共に、直前に使用されたマッピングを、迅速にアクセスされ得る連想メモリにキャッシュするものである。(ハードウェア・サーチ操作によって)連想メモリ中に置き換えられるビットのマッチが見つかった場合、その再マップは非常に迅速に行われる。マッチが見つからなかった場合、ハードウェアは、(表またはツリー構造の)より大きなメモリで二次検索を実行しなければならない。通常、連想メモリは、NICの処理チップ上に実装され、より大容量のメモリはオフチップで、例えばDRAMなどに実装される。これを図5に示す。この方法は、CPU上のTLBの動作に多少似ている。しかしながら、この場合、それはまったく異なる機能、すなわち、メモリ・マップ・ネットワーク・カード上のアパーチャ・マッピングのために使用される。
次に、2つの管理ドメイン(通信するホストのそれぞれに属するもの)がある場合に、アパーチャを用いて2つのアプリケーションのアドレス空間の間で接続を確立するためのプロトコルについて説明する。その一般的構成を図6に示す。ドメインAには、仮想アドレス空間A、およびその仮想アドレス空間にアクセスし得るNIC Aを備えるホストAがある。ドメインBには、仮想アドレス空間B、およびその仮想アドレス空間にアクセスし得るNIC Bを備えるホストBがある。これらのNICは、ネットワークを介して相互に接続される。
1.アプリケーションBは、その受け入れ側インターネット・アドレス<ホストB:ポートB>をパブリッシュする。これは、通常の方法でネットワークを介してアクセスされ得る。
2.アプリケーションA(以下便宜上ホストAと呼ぶ)は、オペレーティング・システムAに、通信に使用されるホストA内のメモリ上への着信アパーチャの作成を求める要求を提示する。このアパーチャが定義されると、その仮想空間中のアドレスに宛先指定された着信ネットワーク書込みが、メモリA中の対応する実アドレスに宛先指定されるように、NIC A上にその詳細がプログラムされる。このアパーチャには、参照アドレス:in−indexAが付与される。
3.ホストAは、接続メッセージ:
[CONNECT/in−indexA]
を含む<ホストB:ポートB>へのIPデータグラムを送信する。フルIPデータグラムは、通常、発信元および宛先IPアドレス(およびポート)も含むことに留意されたい。
4.接続メッセージは、アプリケーションBによって受け取られる。このメッセージは、後で説明するように(二重イベントキューの状況に従って)直接ユーザ・レベルに、またはオペレーティング・システムに受け取られ得る。
5.ホストBはそのメッセージを、Bに接続するよう求める要求であると理解し、アパーチャin−indexAを提示する。(通常はセキュリティのために)Bで事前にプログラムされた規則を用いて、ホストBは、その接続を拒絶するか、それとも受け入れるか決定する。Bは、接続を受け入れると決定した場合、メモリBにマップされ、参照アドレス:in−indexBが付与される着信アパーチャを作成する(または事前に作成された着信アパーチャを使用する)。ホストBは、その接続の新しいポート:ポート’Bを作成することを選択することもできる。ホストBはホストAに、ホストAへのIPデータグラム
[ACCEPT/:ポート’B/in−indexB]
として受諾メッセージを返信する。フルIPデータグラムは、通常、発信元および宛先IPアドレス(およびポート)も含むことに留意されたい。
これが受け取られた後、各ホストはアパーチャを作成しており、各NICはそのアパーチャでの読取りまたは書込みを求める要求のマッピングを実行するようにセットアップされ、各ホストは、相手側ホストのアパーチャの参照アドレスを知っている。
6.以上で論じたメッセージングの後、両ホストは発信アパーチャを作成する。Aは、アプリケーションAの仮想アドレス空間をNICA発信アパーチャOUT_indexAにマップするアパーチャを作成する。この発信アパーチャは、メモリBにマップする[hostB:in−indexB]にマップする。ホストBは、メモリAにマップする同様の発信アパーチャout−indexBを作成する。このようにして、メモリ・マップ領域を介して双方向通信が可能になる。アプリケーションは、いつでも、メモリ・マッピングに関連付けられこのポートにメッセージを送信することができる。これらを用いて、例えば以下のような帯域外データが保証され得る。
(i)接続、したがって、メモリ・マッピングを停止すべきであることを示すCLOSEメッセージ
(ii)非応答アプリケーションに応答を要求するALIVEメッセージ[その応答はALIVEACKになるはずである]
(iii)データ転送エラーを検出しているデータ・パス上の任意のハードウェア要素によって生成されるERRORメッセージ。このメッセージは、メモリ・マップ・インターフェースからフィードバックが提供されることを可能にするので、重要である。
この文脈では、ポートは、アプリケーションにバインドされ、アドレス・コードを持ち、メッセージを受け取ることのできる、オペレーティング・システムに特有のエンティティであるとみなす。この概念を図7に示す。ポートにアドレス指定された1つまたは複数の着信メッセージはメッセージキューを形成し、それはオペレーティング・システムによって処理される。オペレーティング・システムは、そのポートとオペレーティング・システム上で走るアプリケーションの間のバインディングを事前に格納している。ポートのメッセージキュー中のメッセージは、オペレーティング・システムによって処理され、オペレーティング・システムによってそのポートがバインドされるアプリケーションに提供される。オペレーティング・システムは、適当なポートを指定することによって着信メッセージが適当なアプリケーションに適用されるように、アプリケーションへの複数のポートのバインディングを格納することができる。
1.NICは、それがローカルで格納しているRDPTR’とWRPTRを比較することにより、書込みに使用可能な空間を決定することができる。
2.NICは、それがデータグラムとして受け取られたときに帯域外データを生成し、それをキュー59に書き込む。
3.NICは、次のデータが最後のデータの後に書き込まれるように、データが書き込まれたときにWRPTRとWRPTR’を更新する。
4.アプリケーションは、メモリ60からのアクセスとしてRDPTRとWRPTR’を比較することにより、読取りに使用可能な空間を決定する。
5.アプリケーションは、キュー59から帯域外データを読み取り、メッセージを処理する。
6.アプリケーションは、RDPTRおよびRDPTR’を更新する。
7.アプリケーションが割り込みを必要とする場合、それ(またはそれに代わるオペレーティング・システム)は、制御ブロック64のIRQ65aおよびIRQ’65bビットを設定する。制御ブロックはメモリ60に格納され、NICの対応する記憶にマップされる。設定された場合、NICはステップ3で割り込みも生成するはずである。
1.ポートに関連付けられたエラー・イベント
2.ネットワークおよび他のアプリケーションからの接続セットアップ・メッセージおよび他の信号メッセージ
3.送信側アプリケーション、NICまたは受信側OSによって生成され得るデータ配信イベント
2.(例えば)イベントVar10は、サイズ10ワードの可変サイズのイベントが可変サイズのキューに配置されていることを示す。
3.WRPTR2とRDPTR2の差は、可変サイズのキュー中にあるワード数だけを示すが、アプリケーションは、10ワードを取り除くことによって第1のイベント全部をキューから外すことができる。
4.アプリケーションは、
(a)静的キューでは、処理されるイベントの数に各イベントのサイズを掛けたもので、
(b)可変サイズのキューでは、消費されるワード数で(すなわち両方とも同じ)
NICのメモリ上のRDPTRを更新することによって、NICにイベントの処理を指示する。
5.可変長キュー上のデータは、そのサイズも含むことができる(例えば、それがUDP/IPパケットの場合)
拡張アパーチャ・マッピングおよび「ノンス(nonce)・ビット」
...<ネットワーク・パケット>→<PCIアドレス>→<物理メモリ・アドレス>→...
...<仮想メモリ・アドレス>
<ホスト:in−index>へのマッピングを実行するとき、NICは<ホスト:in−index>でアドレス指定される発信パケットを作成することができる。これは、そのパケットを受け取るNICによって、ポートを介して対応するアプリケーションに渡すためのパケットとしてではなく、アパーチャ・パケットとして処理するためのパケットであると理解されることになる。ゆえに、このパケットは、着信アパーチャ検索(lookup)ハードウェアに提示される。
1.ホストAで、乱数がノンスAとして選択される。
2.ノンスAがアパーチャin−indexAと併せて格納される。
3.一般的に前述したように通信をセットアップするために、ホストBに接続メッセージが送信される。この例では、メッセージはノンスAも含む。ゆえに、接続メッセージは、ポートB、in−indexA、ノンスAを含む。
4.接続メッセージを受け取ると、ホストBは、発信アパーチャBと併せてin−indexAおよびノンスAを格納する。
5.ホストBは乱数をノンスBとして選択する。
6.ノンスBがアパーチャin−indexBと併せて格納される。
7.一般的に前述したように通信のセットアップを受け入れるために受諾メッセージがホストBに送信される。この例では、メッセージはノンスBも含む。ゆえに、受諾メッセージは、ポートB’、in−indexB、ノンスBを含む。
8.ホストAは、発信アパーチャAと併せてin−indexBおよびノンスBを格納する。
・ OSプログラム可能ビットには、
a)着信アパーチャのベース・アドレス(これはアプリケーションが誤って、あるいは悪意によってメモリ・バッファを破壊することを防ぐ)
b)発信元ホスト・ビット(これはアプリケーションが別のホストから発信していると偽装することを防ぐ)
が含まれる。
1.いくつかのアパーチャ・サイズがサポートされ得る。これらは、ベース・アドレスがアパーチャのサイズも与えるようにグループ化される。代替として、アパーチャ表にはサイズ・フィールドも含まれ得る。
2.タイプ・フィールドは、発信パケットに使用するイーサネット・タイプを示す。これは、宛先アドレスが4バイトIPv4アドレスであるか、それとも16ビット・クラスタ・アドレスであるかも示す。(IPv6アドレスまたは他のプロトコル・アドレスも同様に対応され得る)。タイプ・フィールドは、クラスタ内のイベント・パケットとデータ・パケットも区別する。(イベント・パケットは、結果として宛先イベントキュー上に固定サイズのイベント・メッセージを出現させる)。
3.PCIベース・アドレスはOSプログラム可能に限られ、他のフィールドは、システムのセキュリティ・ポリシーに応じて、ユーザ・レベルでアプリケーションによってプログラムされ得る。
4.発信元イーサネット・アドレス、発信元IPおよびクラスタ・アドレス、ならびにおそらくその他の情報は、全エントリに共通であり、NICメモリごとに格納される。
5.あらゆる場合において、発信イーサネット・パケットのアドレス指定は、
<イーサネットMAC><IPホスト:IPポート>(TCP/IPパケットの場合)
または
<イーサネットMAC><CIホスト:CIin−index:CIノンス:CIアパーチャ・オフセット>(CI(コンピュータ・インターフェース)パケットの場合)
である(注意:オフセットは、発行されたPCIアドレスから導出される)。
6.各アパーチャには初期シーケンス番号が割り振られる。これは、パケットが処理され、任意選択でクラスタ・アドレス形式として含まれる際にハードウェアによって増分される。
1.サイズが、固定サイズ表を持つことによって任意選択で符号化されるのみならず、EthTypeも、別のアパーチャ表をグループ化することによって任意選択で符号化され得る。
2.シーケンス番号フィールドは任意選択であり、受信側は、
(a)シーケンス・チェックを行うべきかどうか
(b)初期シーケンス番号の値
を設定することができる。
行われた場合は、これもまた接続プロトコルの一部として伝達されなければならず、それは、好都合には、あるホストから別のホストへのノンス値の通信と類似の方法で実行され得る。
3.発信アパーチャと同様に、IPアドレスやイーサネット・アドレスなど一部の情報はNICごとである。
4.アプリケーション・レベルの頑健性のために、デフォルトの範囲内にある範囲を指定するアドレスおよびサイズを指定することによってアパーチャを「狭める」ことも可能である。これは、アプリケーション・レベルのデータ構造が、デフォルトのアパーチャ・サイズより小さいサイズのもの、またはそれと異なるアラインメントであり、きめ細かいメモリ保護が必要とされるときに行われ得る。
5.マップ・アドレスは、NICがアパーチャのメモリに書き込むために出力するPCIアドレス、またはイベントキューの記述子への(NICのSRAMにとっての)ローカル・ポインタである。
1.そのアドレスがNICに割り振られた範囲内に含まれるPCIバーストが出力される。
2.NICのアドレス・デコーダは、そのバーストを取り込み、そのアドレスがアパーチャの範囲内にあることを判定する(そうでない場合、それはローカル制御書込みであり得る)。
3.(アドレスから大まかに求められる)アパーチャ・サイズに応じて、アドレスは<ベース:オフセット>に分割される。例えば、1kのアパーチャでは、下位10ビットがオフセットになるはずである。ベースはアパーチャ表キャッシュに供給されて、必要なパケット・ヘッダ情報に突き合わされる。
4.イーサネット・パケット・タイプ・フィールドに応じて、IP/イーサネットまたはCI/イーサネット・パケット・ヘッダが形成される。
5.CIパケットは、例えば、以下のフィールドを含むはずである。
データ(PCIバーストのデータ・ペイロードを含む)
チェックサム(ヘッダの内容に対してハードウェアによって計算される)
オフセット(アドレス・デコーダによる)
シーケンス番号
ノンス
アパーチャインデックス
CIホスト・クラスタ・アドレス
6.特定のホストにいくつかのPCIバーストが到着した場合、それらは、冗長ヘッダ情報を取り除くために適用される圧縮技術を用いて単一のイーサネット・フレームに圧縮され得る。
7.本システムでは、システム固有のCRCまたはチェックサムを用いてエンドツーエンド保護が提供され、パケットのデータ部分に付加される。イーサネット・パケットもCRCを含むが、それは取り除され、任意のホップで(スイッチなどで)再計算され得るので、内部破損(スイッチ特有のものなど)に対する保護を提供しない。
8.シーケンス番号が適用された場合、それは増分され、アパーチャ表エントリに書き戻される。
(a)有効である;
(b)期待されるシーケンス番号がパケットの番号とマッチする;
(c)ノンスがマッチする(またはポート);
(d)期待されるイーサネット発信元アドレスである;
(e)期待されるIPまたはCI発信元アドレスである(これは、発信元アドレスの範囲をマッチさせるためのネットマスクとして指定され得る);
Claims (12)
- データ・リンクとデータ・プロセッサの間のインターフェースを提供する通信インターフェースであって、前記データ・プロセッサはオペレーティング・システムおよびユーザ・アプリケーションをサポートすることができ、
前記リンクを介して受け取られユーザ・アプリケーションに関連付けられた特定の論理データ・ポート向けとして識別されたデータを、ユーザ・アプリケーションのアドレス空間に位置づけられた第1のキューに入力し、
前記特定の論理データ・ポート用の前記リンクを介して受け取られ前記オペレーティング・システム向けとして識別された帯域外データを、前記オペレーティング・システムのアドレス空間に位置づけられ前記ユーザ・アプリケーションのアドレス空間にマップされたメモリからなる第2のキューに入力し、
前記リンクを介して受け取られ、前記オペレーティング・システムまたは前記データ・ポート向けとして識別されたデータを分析して、そのデータが1つまたは複数の事前定義された基準を満たすかどうか判定し、それが前記基準を満たす場合、前記オペレーティング・システムに割り込みを送信し、前記ユーザ・アプリケーションの処理が中断されるときに前記通信インターフェースが前記データ・ポート向けとして識別されたデータを受信する際に前記オペレーティング・システムに割り込みを送信するように前記事前定義された基準は設定される通信インターフェース。 - 前記事前定義された基準の1つは、前記リンクを介して受け取られた前記データが1つまたは複数の所定のメッセージ形式にマッチする場合、前記通信インターフェースが前記オペレーティング・システムに割り込みを送信するというものである請求項1に記載の通信インターフェース。
- 前記データが前記事前定義された基準の1つまたは複数および1つまたは複数のさらなる基準を満たす場合、前記オペレーティング・システムに割り込みを送信し、前記データがアドレス指定されたポートを示す前記オペレーティング・システムへのメッセージを送信するように構成された請求項1または2に記載の通信インターフェース。
- 前記さらなる基準がエラー条件を示す請求項3に記載の通信インターフェース。
- 前記リンクを介して受け取られユーザ・アプリケーションに関連付けられた論理データ・ポートにアドレス指定されたデータを第3のキューに入力するように構成され、前記リンクを介して受け取られ固定長を有する形式のデータ単位を前記第1のキューに入力すると共に、前記リンクを介して受け取られ可変長を有する形式のデータ単位を前記第3のキューに入力するように構成された請求項1〜4のいずれかに記載の通信インターフェース。
- 前記固定サイズのデータ単位が、前記リンクを介して受け取られ、前記通信インターフェースによってエラー状況を示していると解釈されたメッセージを含む請求項5に記載の通信インターフェース。
- 前記固定サイズのデータ単位が、前記リンクを介して受け取られ、前記通信インターフェースによって、接続のセットアップを求める要求またはその肯定応答を示していると解釈されたメッセージを含む請求項5または6に記載の通信インターフェース。
- 前記固定サイズのデータ単位が、前記リンクを介して受け取られ、前記通信インターフェースによってデータ配信イベントを示していると解釈されたメッセージを含む請求項5〜7のいずれかに記載の通信インターフェース。
- 前記リンクを介して受け取られた各データ単位の内容を分析し、そのデータ単位の内容に応じて、前記データ単位を前記キューのうちのどれに適用するか決定するように構成された請求項1〜8のいずれかに記載の通信インターフェース。
- 前記オペレーティング・システムによって前記基準を設定するように構成可能である請求項1〜9のいずれかに記載の通信インターフェース。
- 前記通信インターフェースと前記オペレーティング・システムの一方または両方が、所定のタイプのメッセージに応答して、前記ポートの状況を示す情報を含むメッセージを返す請求項1〜10のいずれかに記載の通信インターフェース。
- 請求項11に記載の通信インターフェース、および前記データ・プロセッサを含み、前記データ・プロセッサは、データ・ポートが関連付けられたアプリケーションの処理が中断されたとき、そのデータ・ポート向けとして識別されたデータを受け取ると、前記通信インターフェースが前記オペレーティング・システムに割り込みを送信するという前記基準を設定するように構成された通信システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0221464.1A GB0221464D0 (en) | 2002-09-16 | 2002-09-16 | Network interface and protocol |
PCT/GB2003/003971 WO2004025477A2 (en) | 2002-09-16 | 2003-09-15 | Network interface and protocol supporting mappings of virtual memory locations at different processing devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005539305A JP2005539305A (ja) | 2005-12-22 |
JP4657720B2 true JP4657720B2 (ja) | 2011-03-23 |
Family
ID=9944152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004535685A Expired - Lifetime JP4657720B2 (ja) | 2002-09-16 | 2003-09-15 | ネットワーク・インターフェースおよびプロトコル |
Country Status (8)
Country | Link |
---|---|
US (4) | US7844742B2 (ja) |
EP (1) | EP1565826B1 (ja) |
JP (1) | JP4657720B2 (ja) |
CN (1) | CN1695127A (ja) |
AU (1) | AU2003269131A1 (ja) |
GB (1) | GB0221464D0 (ja) |
TW (1) | TWI244288B (ja) |
WO (1) | WO2004025477A2 (ja) |
Families Citing this family (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346971B2 (en) | 1999-05-04 | 2013-01-01 | At&T Intellectual Property I, Lp | Data transfer, synchronising applications, and low latency networks |
US7640582B2 (en) | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
US7984175B2 (en) | 2003-12-10 | 2011-07-19 | Mcafee, Inc. | Method and apparatus for data capture and analysis system |
US20050131876A1 (en) * | 2003-12-10 | 2005-06-16 | Ahuja Ratinder Paul S. | Graphical user interface for capture system |
US7899828B2 (en) | 2003-12-10 | 2011-03-01 | Mcafee, Inc. | Tag data structure for maintaining relational data over captured objects |
US8656039B2 (en) | 2003-12-10 | 2014-02-18 | Mcafee, Inc. | Rule parser |
US7814327B2 (en) * | 2003-12-10 | 2010-10-12 | Mcafee, Inc. | Document registration |
US7774604B2 (en) | 2003-12-10 | 2010-08-10 | Mcafee, Inc. | Verifying captured objects before presentation |
US8548170B2 (en) | 2003-12-10 | 2013-10-01 | Mcafee, Inc. | Document de-registration |
US7930540B2 (en) * | 2004-01-22 | 2011-04-19 | Mcafee, Inc. | Cryptographic policy enforcement |
GB0404696D0 (en) * | 2004-03-02 | 2004-04-07 | Level 5 Networks Ltd | Dual driver interface |
US7783769B2 (en) | 2004-03-31 | 2010-08-24 | Intel Corporation | Accelerated TCP (Transport Control Protocol) stack processing |
US7962591B2 (en) | 2004-06-23 | 2011-06-14 | Mcafee, Inc. | Object classification in a capture system |
US20050286526A1 (en) * | 2004-06-25 | 2005-12-29 | Sood Sanjeev H | Optimized algorithm for stream re-assembly |
US20060004933A1 (en) * | 2004-06-30 | 2006-01-05 | Sujoy Sen | Network interface controller signaling of connection event |
US7461173B2 (en) * | 2004-06-30 | 2008-12-02 | Intel Corporation | Distributing timers across processors |
US20060031474A1 (en) * | 2004-07-19 | 2006-02-09 | Linden Cornett | Maintaining reachability measures |
US8560534B2 (en) | 2004-08-23 | 2013-10-15 | Mcafee, Inc. | Database for a capture system |
US7949849B2 (en) | 2004-08-24 | 2011-05-24 | Mcafee, Inc. | File system for a capture system |
GB0420057D0 (en) | 2004-09-09 | 2004-10-13 | Level 5 Networks Ltd | Dynamic resource allocation |
GB0426202D0 (en) * | 2004-11-30 | 2004-12-29 | Ibm | A method, system and computer program for addressing a web service |
US7831749B2 (en) * | 2005-02-03 | 2010-11-09 | Solarflare Communications, Inc. | Including descriptor queue empty events in completion events |
EP1866926B1 (en) | 2005-02-03 | 2015-07-08 | Solarflare Communications Inc | Queue depth management for communication between host and peripheral device |
US7562366B2 (en) | 2005-02-03 | 2009-07-14 | Solarflare Communications, Inc. | Transmit completion event batching |
WO2006127013A1 (en) * | 2005-05-26 | 2006-11-30 | Zetera Corporation | Virtual devices and virtual bus tunnels, modules and methods |
US7620981B2 (en) * | 2005-05-26 | 2009-11-17 | Charles William Frank | Virtual devices and virtual bus tunnels, modules and methods |
DE602006013128D1 (de) | 2005-06-15 | 2010-05-06 | Solarflare Comm Inc | Empfangen von daten gemäss eines datentransferprotokolls von daten, die ein beliebiges einer mehrzahl von empgangsgeräten gerichtet sind |
US7496699B2 (en) * | 2005-06-17 | 2009-02-24 | Level 5 Networks, Inc. | DMA descriptor queue read and cache write pointer arrangement |
US7907608B2 (en) | 2005-08-12 | 2011-03-15 | Mcafee, Inc. | High speed packet capture |
US8819092B2 (en) | 2005-08-16 | 2014-08-26 | Rateze Remote Mgmt. L.L.C. | Disaggregated resources and access methods |
US7660306B1 (en) | 2006-01-12 | 2010-02-09 | Chelsio Communications, Inc. | Virtualizing the operation of intelligent network interface circuitry |
US7724658B1 (en) | 2005-08-31 | 2010-05-25 | Chelsio Communications, Inc. | Protocol offload transmit traffic management |
US7818326B2 (en) | 2005-08-31 | 2010-10-19 | Mcafee, Inc. | System and method for word indexing in a capture system and querying thereof |
US7730011B1 (en) | 2005-10-19 | 2010-06-01 | Mcafee, Inc. | Attributes of captured objects in a capture system |
US7984180B2 (en) | 2005-10-20 | 2011-07-19 | Solarflare Communications, Inc. | Hashing algorithm for network receive filtering |
US7657104B2 (en) * | 2005-11-21 | 2010-02-02 | Mcafee, Inc. | Identifying image type in a capture system |
US7916750B2 (en) * | 2005-12-28 | 2011-03-29 | Intel Corporation | Transaction layer packet compression |
DE602006019139D1 (de) | 2005-12-28 | 2011-02-03 | Solarflare Comm Inc | Verarbeitung empfangener daten |
US20070226504A1 (en) * | 2006-03-24 | 2007-09-27 | Reconnex Corporation | Signature match processing in a document registration system |
US8504537B2 (en) | 2006-03-24 | 2013-08-06 | Mcafee, Inc. | Signature distribution in a document registration system |
US7958227B2 (en) | 2006-05-22 | 2011-06-07 | Mcafee, Inc. | Attributes of captured objects in a capture system |
US7689614B2 (en) | 2006-05-22 | 2010-03-30 | Mcafee, Inc. | Query generation for a capture system |
US8010689B2 (en) | 2006-05-22 | 2011-08-30 | Mcafee, Inc. | Locational tagging in a capture system |
US7668984B2 (en) * | 2007-01-10 | 2010-02-23 | International Business Machines Corporation | Low latency send queues in I/O adapter hardware |
US20080195756A1 (en) * | 2007-02-08 | 2008-08-14 | Michael Galles | Method and system to access a service utilizing a virtual communications device |
US8935406B1 (en) | 2007-04-16 | 2015-01-13 | Chelsio Communications, Inc. | Network adaptor configured for connection establishment offload |
US8060644B1 (en) * | 2007-05-11 | 2011-11-15 | Chelsio Communications, Inc. | Intelligent network adaptor with end-to-end flow control |
US8589587B1 (en) | 2007-05-11 | 2013-11-19 | Chelsio Communications, Inc. | Protocol offload in intelligent network adaptor, including application level signalling |
US9396159B2 (en) * | 2007-09-25 | 2016-07-19 | Oracle America, Inc. | Simple, reliable, connectionless communication mechanism |
US20090083392A1 (en) * | 2007-09-25 | 2009-03-26 | Sun Microsystems, Inc. | Simple, efficient rdma mechanism |
US7937449B1 (en) * | 2007-10-08 | 2011-05-03 | Empirix, Inc. | System and method for enabling network stack processes in user mode and kernel mode to access kernel memory locations |
US8205242B2 (en) | 2008-07-10 | 2012-06-19 | Mcafee, Inc. | System and method for data mining and security policy management |
US9253154B2 (en) | 2008-08-12 | 2016-02-02 | Mcafee, Inc. | Configuration management for a capture/registration system |
US8850591B2 (en) | 2009-01-13 | 2014-09-30 | Mcafee, Inc. | System and method for concept building |
US8706709B2 (en) | 2009-01-15 | 2014-04-22 | Mcafee, Inc. | System and method for intelligent term grouping |
US8473442B1 (en) | 2009-02-25 | 2013-06-25 | Mcafee, Inc. | System and method for intelligent state management |
US8667121B2 (en) | 2009-03-25 | 2014-03-04 | Mcafee, Inc. | System and method for managing data and policies |
US8447722B1 (en) | 2009-03-25 | 2013-05-21 | Mcafee, Inc. | System and method for data mining and security policy management |
KR20100107801A (ko) * | 2009-03-26 | 2010-10-06 | 삼성전자주식회사 | 무선 통신 시스템에서 안테나 선택을 위한 장치 및 방법 |
US8234407B2 (en) * | 2009-06-30 | 2012-07-31 | Oracle America, Inc. | Network use of virtual addresses without pinning or registration |
CN102026171B (zh) * | 2009-09-17 | 2013-06-12 | 国基电子(上海)有限公司 | 安全控制远程无线设备的方法 |
TWI416336B (zh) | 2009-11-10 | 2013-11-21 | Realtek Semiconductor Corp | 可共享緩衝器的網路介面卡與緩衝器共享方法 |
US8824472B2 (en) * | 2010-09-16 | 2014-09-02 | Verizon Patent And Licensing Inc. | Sanitizing packet headers |
US8806615B2 (en) | 2010-11-04 | 2014-08-12 | Mcafee, Inc. | System and method for protecting specified data combinations |
US9071499B2 (en) * | 2011-03-28 | 2015-06-30 | Citrix Systems, Inc. | Systems and methods for emulating a NIC for packet transmission on hardware RSS unaware NICs in a multi-core system |
US9231997B2 (en) | 2011-05-26 | 2016-01-05 | Candi Controls, Inc. | Discovering device drivers within a domain of a premises |
US20120303750A1 (en) * | 2011-05-26 | 2012-11-29 | Mike Anderson | Cloud-assisted network device integration |
US20130246336A1 (en) | 2011-12-27 | 2013-09-19 | Mcafee, Inc. | System and method for providing data protection workflows in a network environment |
US9098271B2 (en) * | 2012-02-05 | 2015-08-04 | Jeffrey R. Eastlack | Autonomous microprocessor re-configurability via power gating pipelined execution units using static profiling |
US20170109299A1 (en) * | 2014-03-31 | 2017-04-20 | Stephen Belair | Network computing elements, memory interfaces and network connections to such elements, and related systems |
US9411637B2 (en) * | 2012-06-08 | 2016-08-09 | Apple Inc. | Adaptive process importance |
US9612877B1 (en) * | 2012-07-12 | 2017-04-04 | Cisco Technology, Inc. | High performance computing in a virtualized environment |
US9438638B2 (en) * | 2013-03-15 | 2016-09-06 | Silicon Graphics International Corp. | Method for transparently connecting augmented network socket operations |
US9465763B2 (en) * | 2013-06-17 | 2016-10-11 | Altera Corporation | Bridge circuitry for communications with dynamically reconfigurable circuits |
US9292379B2 (en) * | 2013-09-28 | 2016-03-22 | Intel Corporation | Apparatus and method to manage high capacity storage devices |
US9436751B1 (en) * | 2013-12-18 | 2016-09-06 | Google Inc. | System and method for live migration of guest |
US9444747B2 (en) | 2014-01-30 | 2016-09-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Service specific traffic handling |
US9836358B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Ephemeral remote data store for dual-queue systems |
US9753818B2 (en) | 2014-09-19 | 2017-09-05 | Splunk Inc. | Data forwarding using multiple data pipelines |
US9660930B2 (en) | 2014-03-17 | 2017-05-23 | Splunk Inc. | Dynamic data server nodes |
US9838467B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Dynamically instantiating dual-queue systems |
US9838346B2 (en) * | 2014-03-17 | 2017-12-05 | Splunk Inc. | Alerting on dual-queue systems |
US9778963B2 (en) | 2014-03-31 | 2017-10-03 | Solarflare Communications, Inc. | Ordered event notification |
US11310312B2 (en) | 2014-07-07 | 2022-04-19 | Citrix Systems, Inc. | Peer to peer remote application discovery |
US11283866B2 (en) * | 2014-07-07 | 2022-03-22 | Citrix Systems, Inc. | Providing remote access to applications through interface hooks |
US9952979B1 (en) * | 2015-01-14 | 2018-04-24 | Cavium, Inc. | Methods and systems for direct memory access operations |
US10838852B2 (en) * | 2015-04-17 | 2020-11-17 | Samsung Electronics Co., Ltd. | System and method to extend NVME queues to user space |
US11036533B2 (en) | 2015-04-17 | 2021-06-15 | Samsung Electronics Co., Ltd. | Mechanism to dynamically allocate physical storage device resources in virtualized environments |
WO2016171739A1 (en) * | 2015-04-23 | 2016-10-27 | Hewlett-Packard Development Company, L.P. | Multi-processor computing systems |
CN106662895B (zh) * | 2015-07-22 | 2019-10-18 | 华为技术有限公司 | 计算机设备和计算机设备数据读写的方法 |
CN112838984A (zh) * | 2015-11-26 | 2021-05-25 | 华为技术有限公司 | 一种用于实现负载分担的方法和装置 |
EP3436920A4 (en) * | 2016-03-31 | 2019-12-18 | INTEL Corporation | TISSUE ELASTICITY SUPPORT FOR ATOMIC WRITING OF MANY STORAGE OPERATIONS ON REMOTE NODES |
US10498867B2 (en) * | 2016-11-02 | 2019-12-03 | Solarflare Communications, Inc. | Network interface device and host processing device field |
US10686729B2 (en) | 2017-03-29 | 2020-06-16 | Fungible, Inc. | Non-blocking any-to-any data center network with packet spraying over multiple alternate data paths |
US11157422B2 (en) | 2017-03-31 | 2021-10-26 | Intel Corporation | Shared memory for intelligent network interface cards |
CN110915172A (zh) | 2017-07-10 | 2020-03-24 | 芬基波尔有限责任公司 | 针对数据中心的接入节点 |
CN110892380B (zh) * | 2017-07-10 | 2023-08-11 | 芬基波尔有限责任公司 | 用于流处理的数据处理单元 |
US10686872B2 (en) | 2017-12-19 | 2020-06-16 | Xilinx, Inc. | Network interface device |
US11165720B2 (en) | 2017-12-19 | 2021-11-02 | Xilinx, Inc. | Network interface device |
US10686731B2 (en) | 2017-12-19 | 2020-06-16 | Xilinx, Inc. | Network interface device |
US10540288B2 (en) | 2018-02-02 | 2020-01-21 | Fungible, Inc. | Efficient work unit processing in a multicore system |
US20190278715A1 (en) * | 2018-03-12 | 2019-09-12 | Nutanix, Inc. | System and method for managing distribution of virtual memory over multiple physical memories |
US11409569B2 (en) * | 2018-03-29 | 2022-08-09 | Xilinx, Inc. | Data processing system |
US11119789B2 (en) | 2018-04-25 | 2021-09-14 | Hewlett Packard Enterprise Development Lp | Kernel space measurement |
US10614000B2 (en) * | 2018-05-04 | 2020-04-07 | Intel Corporation | High bandwidth link layer for coherent messages |
US10873564B2 (en) * | 2018-09-20 | 2020-12-22 | Palo Alto Research Center Incorporated | Cloud-based device manager based on message queues |
CN111176855B (zh) * | 2018-11-09 | 2023-10-27 | 微软技术许可有限责任公司 | 在用户空间中建立线程之间的队列 |
Family Cites Families (157)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4393443A (en) * | 1980-05-20 | 1983-07-12 | Tektronix, Inc. | Memory mapping system |
US5325532A (en) * | 1992-09-25 | 1994-06-28 | Compaq Computer Corporation | Automatic development of operating system boot image |
US5272599A (en) | 1993-03-19 | 1993-12-21 | Compaq Computer Corporation | Microprocessor heat dissipation apparatus for a printed circuit board |
JPH07110749A (ja) | 1993-04-16 | 1995-04-25 | Hewlett Packard Co <Hp> | ダイアログ・ボックスの動的構築方法 |
US6098112A (en) * | 1995-10-19 | 2000-08-01 | Hewlett-Packard Company | Streams function registering |
DE69727465T2 (de) * | 1997-01-09 | 2004-12-23 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Rechnersystem mit Speichersteuerung für Stossbetrieb-Übertragung |
US5886872A (en) * | 1997-04-23 | 1999-03-23 | Compaq Computer Corporation | Pivotable support and heat sink apparatus removably connectable without tools to a computer processor |
US6018763A (en) * | 1997-05-28 | 2000-01-25 | 3Com Corporation | High performance shared memory for a bridge router supporting cache coherency |
IL121457A (en) * | 1997-08-03 | 2004-06-01 | Guru Internat Inc | Computerized dictionary and thesaurus applications |
US6111894A (en) * | 1997-08-26 | 2000-08-29 | International Business Machines Corporation | Hardware interface between a switch adapter and a communications subsystem in a data processing system |
US6067595A (en) * | 1997-09-23 | 2000-05-23 | Icore Technologies, Inc. | Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories |
ATE327608T1 (de) * | 1997-09-25 | 2006-06-15 | John Wolfgang Halpern | Datenverschlüsselungssystem für internet- kommunikation |
EP1038220A2 (en) * | 1997-11-17 | 2000-09-27 | MCMZ Technology Innovations LLc | A high performance interoperable network communications architecture (inca) |
US6160554A (en) | 1998-03-19 | 2000-12-12 | Hewlett Packard Company | Computer file content preview window |
US6002804A (en) | 1998-03-26 | 1999-12-14 | Hewlett-Packard Company | Tone dependent variable halftoning with adjustable algorithm selection |
US6246683B1 (en) * | 1998-05-01 | 2001-06-12 | 3Com Corporation | Receive processing with network protocol bypass |
US6260127B1 (en) * | 1998-07-13 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for supporting heterogeneous memory in computer systems |
US6768996B1 (en) * | 1998-10-08 | 2004-07-27 | Hewlett-Packard Development Company, L.P. | System and method for retrieving an abstracted portion of a file without regard to the operating system of the current host computer |
US6314532B1 (en) * | 1998-12-04 | 2001-11-06 | Lucent Technologies Inc. | Method and system for recovering from a software failure |
US6360241B1 (en) | 1999-02-01 | 2002-03-19 | Compaq Information Technologies Goup, L.P. | Computer method and apparatus for division and square root operations using signed digit |
US6466952B2 (en) * | 1999-04-08 | 2002-10-15 | Hewlett-Packard Company | Method for transferring and indexing data from old media to new media |
US6502203B2 (en) | 1999-04-16 | 2002-12-31 | Compaq Information Technologies Group, L.P. | Method and apparatus for cluster system operation |
GB2349717A (en) * | 1999-05-04 | 2000-11-08 | At & T Lab Cambridge Ltd | Low latency network |
US6304945B1 (en) | 1999-05-13 | 2001-10-16 | Compaq Computer Corporation | Method and apparatus for maintaining cache coherency in a computer system having multiple processor buses |
US7318102B1 (en) * | 1999-05-24 | 2008-01-08 | Hewlett-Packard Development Company, L.P. | Reliable datagram |
IL148263A0 (en) | 1999-09-08 | 2002-09-12 | Mellanox Technologies Ltd | Bridge between parallel buses over a packet-switched network |
AU2216601A (en) | 1999-12-28 | 2001-07-09 | Mellanox Technologies Ltd. | Variable delay generator |
JP2004528609A (ja) * | 2000-05-24 | 2004-09-16 | ボルテール アドバンスト データ セキュリティ リミテッド | フィルタリングのなされたアプリケーション間通信 |
US7103626B1 (en) | 2000-05-24 | 2006-09-05 | Hewlett-Packard Development, L.P. | Partitioning in distributed computer system |
WO2001093046A1 (en) * | 2000-06-02 | 2001-12-06 | Mellanox Technologies Ltd. | Dma doorbell |
JP3552648B2 (ja) * | 2000-06-20 | 2004-08-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アドホック無線通信用データ送受システム及びアドホック無線通信用データ送受方法 |
US6690757B1 (en) * | 2000-06-20 | 2004-02-10 | Hewlett-Packard Development Company, L.P. | High-speed interconnection adapter having automated lane de-skew |
JP2002014872A (ja) * | 2000-06-29 | 2002-01-18 | Fujitsu Ltd | 暗号制御装置 |
US6799200B1 (en) * | 2000-07-18 | 2004-09-28 | International Business Machines Corporaiton | Mechanisms for efficient message passing with copy avoidance in a distributed system |
US7222150B1 (en) * | 2000-08-15 | 2007-05-22 | Ikadega, Inc. | Network server card and method for handling requests received via a network interface |
AU2001282477A1 (en) * | 2000-08-24 | 2002-03-04 | Voltaire Advanced Data Security Ltd. | System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics |
US6765922B1 (en) | 2000-09-08 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Speculative transmit for system area network latency reduction |
US20020059052A1 (en) * | 2000-09-12 | 2002-05-16 | Mellanox Technologies Ltd. | Co-simulation of network components |
US6349035B1 (en) * | 2000-09-29 | 2002-02-19 | Compaq Information Technologies Group, L.P. | Method and apparatus for tooless mating of liquid cooled cold plate with tapered interposer heat sink |
US6718392B1 (en) * | 2000-10-24 | 2004-04-06 | Hewlett-Packard Development Company, L.P. | Queue pair partitioning in distributed computer system |
AUPR108900A0 (en) | 2000-10-28 | 2000-11-23 | S4 Technology Pty Limited | Modular digital transmission assembly |
US6728743B2 (en) * | 2001-01-04 | 2004-04-27 | Mellanox Technologies Ltd. | Modulo remainder generator |
US6976174B2 (en) * | 2001-01-04 | 2005-12-13 | Troika Networks, Inc. | Secure multiprotocol interface |
US7254237B1 (en) * | 2001-01-12 | 2007-08-07 | Slt Logic, Llc | System and method for establishing a secure connection |
US6950961B2 (en) * | 2001-02-13 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | Highly available, monotonic increasing sequence number generation |
DE60237433D1 (de) * | 2001-02-24 | 2010-10-07 | Ibm | Neuartiger massivparalleler supercomputer |
US20020129293A1 (en) | 2001-03-07 | 2002-09-12 | Hutton John F. | Scan based multiple ring oscillator structure for on-chip speed measurement |
US20020140985A1 (en) | 2001-04-02 | 2002-10-03 | Hudson Kevin R. | Color calibration for clustered printing |
US7543290B2 (en) * | 2001-04-11 | 2009-06-02 | Mellanox Technologies Ltd. | Multiple queue pair access with single doorbell |
US20020152328A1 (en) * | 2001-04-11 | 2002-10-17 | Mellanox Technologies, Ltd. | Network adapter with shared database for message context information |
US6944168B2 (en) * | 2001-05-04 | 2005-09-13 | Slt Logic Llc | System and method for providing transformation of multi-protocol packets in a data stream |
US6901052B2 (en) * | 2001-05-04 | 2005-05-31 | Slt Logic Llc | System and method for policing multiple data flows and multi-protocol data flows |
US6904057B2 (en) | 2001-05-04 | 2005-06-07 | Slt Logic Llc | Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification |
US7042848B2 (en) * | 2001-05-04 | 2006-05-09 | Slt Logic Llc | System and method for hierarchical policing of flows and subflows of a data stream |
US6438130B1 (en) * | 2001-06-28 | 2002-08-20 | Mellanox Technologies Ltd. | Forwarding database cache |
US6980328B2 (en) * | 2001-07-05 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Direction-dependent color conversion in bidirectional printing |
US7136397B2 (en) | 2001-08-20 | 2006-11-14 | Slt Logic Llc | Network architecture and system for delivering bi-directional xDSL based services |
US7151744B2 (en) | 2001-09-21 | 2006-12-19 | Slt Logic Llc | Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover |
US7099275B2 (en) * | 2001-09-21 | 2006-08-29 | Slt Logic Llc | Programmable multi-service queue scheduler |
US7161719B2 (en) * | 2001-09-26 | 2007-01-09 | Hewlett-Packard Development Company, L.P. | Generalized color calibration architecture and method |
US6904534B2 (en) * | 2001-09-29 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Progressive CPU sleep state duty cycle to limit peak power of multiple computers on shared power distribution unit |
US7023584B2 (en) * | 2001-10-02 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | Color calibration method and apparatus |
US20030065856A1 (en) * | 2001-10-03 | 2003-04-03 | Mellanox Technologies Ltd. | Network adapter with multiple event queues |
US7054035B2 (en) * | 2001-10-29 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Method and system for management of color through conversion between color spaces |
US7240350B1 (en) * | 2002-01-07 | 2007-07-03 | Slt Logic, Llc | System and method for providing communications to processes |
US7093158B2 (en) * | 2002-03-11 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Data redundancy in a hot pluggable, large symmetric multi-processor system |
US7245627B2 (en) * | 2002-04-23 | 2007-07-17 | Mellanox Technologies Ltd. | Sharing a network interface card among multiple hosts |
US6705703B2 (en) | 2002-04-24 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Determination of control points for construction of first color space-to-second color space look-up table |
US6667918B2 (en) | 2002-05-01 | 2003-12-23 | Mellanox Technologies Ltd. | Self-repair of embedded memory arrays |
US7149227B2 (en) | 2002-05-31 | 2006-12-12 | Mellanox Technologies Ltd. | Round-robin arbiter with low jitter |
US7451456B2 (en) * | 2002-06-19 | 2008-11-11 | Telefonaktiebolaget L M Ericsson (Publ) | Network device driver architecture |
US7263103B2 (en) | 2002-07-23 | 2007-08-28 | Mellanox Technologies Ltd. | Receive queue descriptor pool |
US7143412B2 (en) | 2002-07-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for optimizing performance in a multi-processing system |
US7290038B2 (en) * | 2002-07-31 | 2007-10-30 | Sun Microsystems, Inc. | Key reuse for RDMA virtual address space |
US7631106B2 (en) | 2002-08-15 | 2009-12-08 | Mellanox Technologies Ltd. | Prefetching of receive queue descriptors |
US7316017B1 (en) * | 2003-01-06 | 2008-01-01 | Slt Logic, Llc | System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system |
US7386619B1 (en) * | 2003-01-06 | 2008-06-10 | Slt Logic, Llc | System and method for allocating communications to processors in a multiprocessor system |
US7190827B2 (en) * | 2003-01-22 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Color space conversion using interpolation |
US8023520B2 (en) | 2003-03-27 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Signaling packet |
US7103744B2 (en) | 2003-03-27 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Binding a memory window to a queue pair |
US7502826B2 (en) | 2003-03-27 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | Atomic operations |
US7554993B2 (en) * | 2003-03-27 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for performing connection management with multiple stacks |
US20040210754A1 (en) | 2003-04-16 | 2004-10-21 | Barron Dwight L. | Shared security transform device, system and methods |
US20040252685A1 (en) | 2003-06-13 | 2004-12-16 | Mellanox Technologies Ltd. | Channel adapter with integrated switch |
US7352893B2 (en) * | 2003-07-09 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Representing extended color gamut information |
US7446901B2 (en) * | 2003-07-21 | 2008-11-04 | Hewlett-Packard Development Company | Conforming output intensities of pens |
US7192891B2 (en) * | 2003-08-01 | 2007-03-20 | Samsung Electronics, Co., Ltd. | Method for forming a silicon oxide layer using spin-on glass |
US7484209B2 (en) * | 2003-08-12 | 2009-01-27 | Hewlett-Packard Development Company, L.P. | Instrumenting java code by modifying bytecodes |
US20050039171A1 (en) * | 2003-08-12 | 2005-02-17 | Avakian Arra E. | Using interceptors and out-of-band data to monitor the performance of Java 2 enterprise edition (J2EE) applications |
US7496903B2 (en) * | 2003-08-12 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Synthesizing application response measurement (ARM) instrumentation |
US7757232B2 (en) * | 2003-08-14 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for implementing work request lists |
US7617376B2 (en) * | 2003-08-14 | 2009-11-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus for accessing a memory |
US7404190B2 (en) * | 2003-09-18 | 2008-07-22 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing notification via multiple completion queue handlers |
US7653754B2 (en) * | 2004-01-05 | 2010-01-26 | Mellanox Technologies Ltd. | Method, system and protocol that enable unrestricted user-level access to a network interface adapter |
US20050172181A1 (en) * | 2004-01-16 | 2005-08-04 | Mellanox Technologies Ltd. | System and method for production testing of high speed communications receivers |
US7168784B2 (en) | 2004-03-30 | 2007-01-30 | Hewlett-Packard Development Company, L.P. | Formation of images |
US20050219278A1 (en) | 2004-03-30 | 2005-10-06 | Hudson Kevin R | Image formation with a flexible number of passes |
US7929161B2 (en) | 2004-04-15 | 2011-04-19 | Hewlett-Packard Development Company, L.P. | Image processing system and method |
US7650386B2 (en) * | 2004-07-29 | 2010-01-19 | Hewlett-Packard Development Company, L.P. | Communication among partitioned devices |
US20060045098A1 (en) * | 2004-08-31 | 2006-03-02 | Krause Michael R | System for port mapping in a network |
US7403535B2 (en) * | 2004-12-14 | 2008-07-22 | Hewlett-Packard Development Company, L.P. | Aggregation of network resources providing offloaded connections between applications over a network |
US7551614B2 (en) * | 2004-12-14 | 2009-06-23 | Hewlett-Packard Development Company, L.P. | Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network |
US20060193318A1 (en) * | 2005-02-28 | 2006-08-31 | Sriram Narasimhan | Method and apparatus for processing inbound and outbound quanta of data |
US7674564B2 (en) | 2005-04-11 | 2010-03-09 | Hewlett-Packard Development Company, L.P. | Color filter |
US7580415B2 (en) * | 2005-04-27 | 2009-08-25 | Hewlett-Packard Development Company, L.P. | Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections |
US7580495B2 (en) * | 2005-06-30 | 2009-08-25 | Slt Logic Llc | Mixer-based phase control |
US7573967B2 (en) * | 2005-07-01 | 2009-08-11 | Slt Logic Llc | Input threshold adjustment in a synchronous data sampling circuit |
US8645964B2 (en) * | 2005-08-23 | 2014-02-04 | Mellanox Technologies Ltd. | System and method for accelerating input/output access operation on a virtual machine |
US7813460B2 (en) | 2005-09-30 | 2010-10-12 | Slt Logic, Llc | High-speed data sampler with input threshold adjustment |
US7285996B2 (en) | 2005-09-30 | 2007-10-23 | Slt Logic, Llc | Delay-locked loop |
US9104894B2 (en) * | 2005-12-16 | 2015-08-11 | Hewlett-Packard Development Company, L.P. | Hardware enablement using an interface |
US7827442B2 (en) | 2006-01-23 | 2010-11-02 | Slt Logic Llc | Shelf management controller with hardware/software implemented dual redundant configuration |
US7518164B2 (en) * | 2006-03-29 | 2009-04-14 | Mellanox Technologies Ltd. | Current-triggered low turn-on voltage SCR |
US9111602B2 (en) * | 2006-04-07 | 2015-08-18 | Mellanox Technologies, Ltd. | Accurate global reference voltage distribution system with local reference voltages referred to local ground and locally supplied voltage |
US7514978B2 (en) | 2006-05-08 | 2009-04-07 | Mellanox Technologies Ltd. | Terminated input buffer with offset cancellation circuit |
US7567267B2 (en) * | 2006-07-31 | 2009-07-28 | Hewlett-Packard Development Company, L.P. | System and method for calibrating a beam array of a printer |
US7822594B2 (en) * | 2006-08-07 | 2010-10-26 | Voltaire Ltd. | Service-oriented infrastructure management |
US8948199B2 (en) * | 2006-08-30 | 2015-02-03 | Mellanox Technologies Ltd. | Fibre channel processing by a host channel adapter |
US7801027B2 (en) | 2006-08-30 | 2010-09-21 | Mellanox Technologies Ltd. | Auto-negotiation by nodes on an infiniband fabric |
US8522042B2 (en) * | 2006-10-31 | 2013-08-27 | Hewlett-Packard Development Company, L.P. | Method and apparatus for enforcement of software licence protection |
US20080115217A1 (en) * | 2006-10-31 | 2008-05-15 | Hewlett-Packard Development Company, L.P. | Method and apparatus for protection of a computer system from malicious code attacks |
US8296849B2 (en) * | 2006-10-31 | 2012-10-23 | Hewlett-Packard Development Company, L.P. | Method and apparatus for removing homogeneity from execution environment of computing system |
US8233380B2 (en) * | 2006-11-06 | 2012-07-31 | Hewlett-Packard Development Company, L.P. | RDMA QP simplex switchless connection |
US8244825B2 (en) * | 2006-11-06 | 2012-08-14 | Hewlett-Packard Development Company, L.P. | Remote direct memory access (RDMA) completion |
US20080135774A1 (en) * | 2006-12-08 | 2008-06-12 | Asml Netherlands B.V. | Scatterometer, a lithographic apparatus and a focus analysis method |
US8909742B2 (en) * | 2006-12-18 | 2014-12-09 | Hewlett-Packard Development Company, L.P. | Distributed configuration of network interface cards |
US7864787B2 (en) * | 2007-03-26 | 2011-01-04 | Voltaire Ltd. | Device, system and method of multicast communication |
US7848322B2 (en) | 2007-03-26 | 2010-12-07 | Voltaire Ltd. | Device, system and method of UDP communication |
US7856488B2 (en) | 2007-03-30 | 2010-12-21 | Hewlett-Packard Development Company, L.P. | Electronic device profile migration |
US20090097200A1 (en) | 2007-04-11 | 2009-04-16 | Viswa Sharma | Modular blade for providing scalable mechanical, electrical and environmental functionality in the enterprise using advancedtca boards |
US8817817B2 (en) | 2007-06-06 | 2014-08-26 | Hewlett-Packard Development Company, L.P. | Method for ethernet power savings on link aggregated groups |
US7802071B2 (en) | 2007-07-16 | 2010-09-21 | Voltaire Ltd. | Device, system, and method of publishing information to multiple subscribers |
US20090165003A1 (en) * | 2007-12-21 | 2009-06-25 | Van Jacobson | System and method for allocating communications to processors and rescheduling processes in a multiprocessor system |
JP5400135B2 (ja) * | 2008-04-28 | 2014-01-29 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | マルチサーバエンクロージャ内での固定速度バックプレーン接続に関する調整可能なサーバ伝送レート |
US8248930B2 (en) | 2008-04-29 | 2012-08-21 | Google Inc. | Method and apparatus for a network queuing engine and congestion management gateway |
WO2009136933A1 (en) | 2008-05-08 | 2009-11-12 | Hewlett-Packard Development Company, L.P. | A method for interfacing a fibre channel network with an ethernet based network |
US8108538B2 (en) | 2008-08-21 | 2012-01-31 | Voltaire Ltd. | Device, system, and method of distributing messages |
US20100088437A1 (en) * | 2008-10-06 | 2010-04-08 | Mellanox Technologies Ltd | Infiniband adaptive congestion control adaptive marking rate |
US7921178B2 (en) * | 2008-12-04 | 2011-04-05 | Voltaire Ltd. | Device, system, and method of accessing storage |
US8201168B2 (en) * | 2008-12-25 | 2012-06-12 | Voltaire Ltd. | Virtual input-output connections for machine virtualization |
US8370675B2 (en) * | 2009-01-28 | 2013-02-05 | Mellanox Technologies Ltd. | Precise clock synchronization |
EP2392106B1 (en) | 2009-01-29 | 2016-01-13 | Hewlett-Packard Development Company, L.P. | Connecting ports of one or more electronic devices to different subsets of networks based on different operating modes |
US8000336B2 (en) | 2009-04-21 | 2011-08-16 | Voltaire Ltd. | Spanning tree root selection in a hierarchical network |
US8255475B2 (en) | 2009-04-28 | 2012-08-28 | Mellanox Technologies Ltd. | Network interface device with memory management capabilities |
US8407478B2 (en) * | 2009-07-07 | 2013-03-26 | Mellanox Technologies Ltd. | Control message signature for device control |
US8365057B2 (en) * | 2009-07-30 | 2013-01-29 | Mellanox Technologies Ltd | Processing of data integrity field |
US8644140B2 (en) * | 2009-09-09 | 2014-02-04 | Mellanox Technologies Ltd. | Data switch with shared port buffers |
US8225182B2 (en) * | 2009-10-04 | 2012-07-17 | Mellanox Technologies Ltd. | Processing of block and transaction signatures |
US7934959B2 (en) * | 2009-10-06 | 2011-05-03 | Mellanox Technologies Ltd. | Adapter for pluggable module |
WO2011043768A1 (en) | 2009-10-07 | 2011-04-14 | Ziebel, As | Combination injection string and distributed sensing string |
US8576715B2 (en) * | 2009-10-26 | 2013-11-05 | Mellanox Technologies Ltd. | High-performance adaptive routing |
EP2494298A1 (en) | 2009-10-30 | 2012-09-05 | Hewlett-Packard Development Company, L.P. | Thermal bus bar for a blade enclosure |
CN102576313A (zh) | 2009-11-02 | 2012-07-11 | 惠普发展公司,有限责任合伙企业 | 采用分布式嵌入式切换的多处理计算 |
US9110860B2 (en) * | 2009-11-11 | 2015-08-18 | Mellanox Technologies Tlv Ltd. | Topology-aware fabric-based offloading of collective functions |
US8811417B2 (en) * | 2009-11-15 | 2014-08-19 | Mellanox Technologies Ltd. | Cross-channel network operation offloading for collective operations |
US8213315B2 (en) * | 2009-11-19 | 2012-07-03 | Mellanox Technologies Ltd. | Dynamically-connected transport service |
US20110173352A1 (en) * | 2010-01-13 | 2011-07-14 | Mellanox Technologies Ltd | Power Reduction on Idle Communication Lanes |
-
2002
- 2002-09-16 GB GBGB0221464.1A patent/GB0221464D0/en not_active Ceased
-
2003
- 2003-09-15 AU AU2003269131A patent/AU2003269131A1/en not_active Abandoned
- 2003-09-15 WO PCT/GB2003/003971 patent/WO2004025477A2/en active Application Filing
- 2003-09-15 CN CN03825158.2A patent/CN1695127A/zh active Pending
- 2003-09-15 EP EP03750913.0A patent/EP1565826B1/en not_active Expired - Lifetime
- 2003-09-15 JP JP2004535685A patent/JP4657720B2/ja not_active Expired - Lifetime
- 2003-09-15 US US10/661,765 patent/US7844742B2/en active Active
- 2003-09-16 TW TW092125518A patent/TWI244288B/zh not_active IP Right Cessation
-
2007
- 2007-05-17 US US11/750,117 patent/US7970949B2/en not_active Expired - Lifetime
-
2010
- 2010-10-22 US US12/910,391 patent/US9112752B2/en not_active Expired - Lifetime
-
2011
- 2011-05-20 US US13/112,362 patent/US8954613B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20110040897A1 (en) | 2011-02-17 |
WO2004025477A2 (en) | 2004-03-25 |
US20110219145A1 (en) | 2011-09-08 |
JP2005539305A (ja) | 2005-12-22 |
CN1695127A (zh) | 2005-11-09 |
AU2003269131A1 (en) | 2004-04-30 |
EP1565826B1 (en) | 2019-05-22 |
US20050138242A1 (en) | 2005-06-23 |
WO2004025477A3 (en) | 2005-03-17 |
AU2003269131A8 (en) | 2004-04-30 |
GB0221464D0 (en) | 2002-10-23 |
US7970949B2 (en) | 2011-06-28 |
US7844742B2 (en) | 2010-11-30 |
US20070214308A1 (en) | 2007-09-13 |
TW200409490A (en) | 2004-06-01 |
US8954613B2 (en) | 2015-02-10 |
US9112752B2 (en) | 2015-08-18 |
TWI244288B (en) | 2005-11-21 |
EP1565826A2 (en) | 2005-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4657720B2 (ja) | ネットワーク・インターフェースおよびプロトコル | |
JP5282115B2 (ja) | ユーザーレベルスタック | |
US7934141B2 (en) | Data protocol | |
US7912988B2 (en) | Receive queue device with efficient queue flow control, segment placement and virtualization mechanisms | |
US7519650B2 (en) | Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms | |
US6888792B2 (en) | Technique to provide automatic failover for channel-based communications | |
US6598144B1 (en) | Arrangement for limiting access to addresses by a consumer process instigating work in a channel adapter based on virtual address mapping | |
EP0889622B1 (en) | Apparatus and method for remote buffer allocation and management for message passing between network nodes | |
US20060067346A1 (en) | System and method for placement of RDMA payload into application memory of a processor system | |
WO2005098644A2 (en) | Placement of sharing physical buffer lists in rdma communication | |
WO2004023305A1 (en) | Remote direct memory access enabled network interface controller switchover and switchback support | |
US20070076712A1 (en) | Processing packet headers | |
US7581163B1 (en) | Detection of corrupted memory pointers within a packet-processing device | |
WO2006046028A1 (en) | Buffering packets according to their addresses | |
GB2435366A (en) | Data protocol in which a frame is divided into sections, each containing traffic data, at least one error checking field and a memory address | |
WO2006033009A1 (en) | Merging bursts in a packet with reduced address information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050822 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060818 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090814 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091116 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101102 |
|
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: 20101124 |
|
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: 20101222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4657720 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |