JP2010183450A - ネットワークインターフェース装置 - Google Patents
ネットワークインターフェース装置 Download PDFInfo
- Publication number
- JP2010183450A JP2010183450A JP2009026533A JP2009026533A JP2010183450A JP 2010183450 A JP2010183450 A JP 2010183450A JP 2009026533 A JP2009026533 A JP 2009026533A JP 2009026533 A JP2009026533 A JP 2009026533A JP 2010183450 A JP2010183450 A JP 2010183450A
- Authority
- JP
- Japan
- Prior art keywords
- connection
- context
- port
- packet
- nic
- 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
- 230000006854 communication Effects 0.000 claims abstract description 137
- 238000004891 communication Methods 0.000 claims abstract description 134
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000005540 biological transmission Effects 0.000 claims description 197
- 230000004044 response Effects 0.000 claims description 60
- 238000001152 differential interference contrast microscopy Methods 0.000 description 192
- 238000012546 transfer Methods 0.000 description 97
- 238000010586 diagram Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
【解決手段】NIC13(ネットワークインターフェース装置)は、通信の接続をポート番号で識別し、ポート毎の接続状態を主記憶12上に設けたポートコンテキストにより管理する。NIC13は、該ポートコンテキストを、主記憶上に設けられたポートテーブルにより管理する。このように、通信接続の確立・切断処理をNIC13にオフロードし、通信接続の管理を主記憶上で行うことで、プロセッサの通信処理の負荷を低減でき、かつ、維持可能な通信接続数をより多くすることができる。
【選択図】図2
Description
信接続の確立と切断の処理を肩代わりすることが可能で、かつ、ノード間で維持可能な通信接続数を、より多くできるネットワークインターフェース装置を提供することである。
開示のネットワークインターフェース装置は、下記の第1及び第2の管理手段と制御手段を備える。
第2の管理手段は、該コンテキストの格納状態を管理する。
まず、本実施形態で用いられる通信接続に関する主要な用語について定義する。
{ポート}
ポートは、以下のような属性を有する。
・ポートは通信接続の両端に位置する
・ポートには、通信接続の接続元として指定される接続元ポートと、通信接続の接続先として指定される接続先ポートの2種類がある
・ポートは、個々のアプリケーションに相当するプログラムであり、各ノードのプロセッサで実行される。ここで「アプリケーション」とは、OSI(Open System Interconnection)参照モデルのセッション層に属する通信プログラムによって実現される通信資源であり、データの送受信を行うための仮想的な接続の確立や解放を行う、アプリケーション層に属するアプリケーションなどを考えることができる。
ポート番号は、個々のアプリケーションがポートを特定するための識別情報である。ポート番号は具体的には、例えば、各ノード10のプロセッサ11で実行されるアプリケーションが確立している個々の通信接続を識別するための番号であり、個々の通信接続に一意的に割り当てられる。本実施形態においては、例えば、各ポートに対して、0”、“1”、“2”、・・・“n”(nは任意の正の整数)の連続番号を、ポート番号として割り当てる。
本実施形態は、通信接続をポート番号に結び付けて管理する。通信接続は、例えば、OSI参照モデルのトランスポート層におけるノード間(エンド・ツー・エンド間)の通信接続である。本実施形態では、ポート番号を用いて、エンド・ツー・エンド間での通信を制御する。本実施形態がサポートする通信接続は、例えば、OSI(Open System Interconnection)参照モデルのトランスポート層のプロトコルの通信接続、または、iSCSI(Internet Small Computer System Interface)プロトコルの通信接続などである。
図1は、本実施形態を適用した並列計算機の全体システム構成を示す図である。
図1に示す並列計算機1は、(n+1)個のノード10(10−0、10−1、・・・、10−49〜10−51、・・・、10−n)とネットワーク20を備えている。ここで、nは正の整数である。
図2は、図1のNIC13の構成の一例を示すブロック図である。
図2に示すように、NIC13は、PIO(Programmed Input/Output)制御部131、DMA制御部132、送信指示キュー制御部133、パケット送信処理部134、送信完了通知キュー制御部135、パケット受信処理部136、受信完了通知キュー制御部137を備えている。DMA制御部132は、バス138を介して、送信指示キュー制御部133、送信完了通知キュー制御部135、パケット送信処理部134、パケット受信処理部136及び受信完了通知キュー制御部137と接続されている。また、PIO制御部131と送信指示キュー制御部133とは、信号線139で接続されている。送信指示キュー制御部133とパケット送信処理部134とは、信号線140で接続されている。パケット送信処理部134と送信完了通知キュー制御部135とは、信号線141で接続されている。パケット受信処理部136と受信完了通知キュー制御部137とは、信号線142で接続されている。
図3に示すように、主記憶12には、ポートテーブル121、ポートコンテキスト123、ポートバッファ125、送信指示キュー127、送信完了通知キュー128及び受信通知キュー129が設けられる。ポートテーブル121、ポートコンテキスト123、ポートバッファ125、送信指示キュー127、送信完了通知キュー128及び受信通知キュー129のそれぞれの構成・機能の詳細は後述する。
DMA制御部132は、プロセッサ11を介さずに、プロセッサ11の主記憶12に直接アクセスし、主記憶12との間でデータの転送を行う。
送信指示キュー制御部133は、DMA制御部132を介して、プロセッサ11の主記憶
12上に設けられた送信指示キュー127から、「送信指示」のディスクリプタを読み出す。そして、読み出したディスクリプタに記述されている送信パケットの作成に必要な情報を、信号線140を介してパケット送信処理部134に送る。
パケット送信処理部134は、送信指示キュー制御部133からの情報を受け取ると、受け取った情報を基に、制御パケットまたは転送データパケット(データ通信パケット)を生成する。そして、生成したパケットを、ネットワーク20を介して、送信指示により指定されたノード10のNIC13に送信する。そして、パケットの送信を終了すると、送信完了したパケットの種別を、信号線141を介して送信完了通知キュー制御部135に通知する。
図4は、本実施形態のポート定義を示す図である。
本実施形態では、通信の接続を、ポート番号に結び付けて管理する。通信接続の管理は、ポートテーブル121、ポートコンテキスト123、ポートバッファ125を利用して実施される。
図5は、ポートコンテキスト123のデータ構造の一例を示す図である。
図5に示すように、ポートコンテキスト123は、プロトコル種別1231と通信状態1232の各情報を有している。プロトコル種別1231は、ポート間の通信で使用される通信プロトコルの種別を示す情報である。通信状態1232は、ポート間の通信接続の状態を示す情報である。通信状態1232には、「待機状態」、「接続済み状態」、「接続要求済み状態」、「切断通知受信済み状態」などがある。
本実施形態では、プロセッサ11の通信処理をNIC13にオフロードする。具体的には、「通信接続の確立」、「通信接続の切断」及び「データ通信(データ転送)」の処理を、NIC13にオフロードする。このオフロードの実装は、送信指示キュー127、送信完了通知キュー128及び受信通知キュー129を用いて行なわれる。プロセッサ11とNIC13は、これらのキューに対してディスクリプタの書き込み/読み出しを行なうことで情報を交換し、オフロードを実現する。
送信指示キュー127は、プロセッサ11がNIC13に対して「通信接続の確立(接続要求)」、「データ送信(データ転送)」及び「通信接続の切断」を指示するために用いられるキューである。プロセッサ11が送信指示キュー127に対して前記3つの指示を書き込み、送信指示キュー127に書き込まれた指示をNIC13が送信指示キュー127から読み出すことで、プロセッサ11からNIC13に対して3つの指示が通知される。NIC13は、プロセッサ11からの指示を、送信指示キュー127を介して受け取ると、その指示に応じた送信パケットを作成し、作成した送信パケットを、ネットワーク20を介して通信接続相手のNIC13へ送信する。この送信パケットには、例えば、「接続要求パケット」、「接続応答パケット」、「転送データパケット」、「切断通知パケット」などがある。
2bは、通信の接続元のポートのポート番号である。データ先頭アドレス1332cは、転送データパケット(データ通信パケット)に設定する送信データが格納されているポートバッファ125の先頭アドレスである。データ長1332dは、該ポートバッファ125に格納されているデータのサイズである。
送信完了通知キュー128は、NIC13が、プロセッサ11から指示されたパケットの送信完了を、プロセッサ11に通知するために用いられるキューである。NIC13は、プロセッサ11から指示されたパケットの送信を完了すると、「送信完了ステータス」のディスクリプタを送信完了通知キュー128に書き込む。プロセッサ11は、送信完了通知キュー128から送信完了ステータスを読み出すことで、NIC13がプロセッサ11から指示されたたパケットを、通信接続相手のNIC13に対して送信完了したことを確認する。
NIC13は、プロセッサ11が送信指示キュー127に書き込んだ「接続要求」を送信指示キュー127から読み出すと、接続要求パケットを、ネットワーク20を介して接続先のNIC13に送信する。そして、接続要求パケットの送信処理結果をステータスコード1351aに設定した接続要求送信指示完了ディスクリプタ1351を作成し、作成した接続要求ディスクリプタ1351を送信完了通知キュー128に書き込む。接続要求送信指示完了ディスクリプタ1351のステータスコード1351aは、接続要求パケットの送信が正常に終了した場合には“成功”を示すコード(例えば“0”)に設定される。一方、接続要求パケットの送信が失敗した場合には、接続要求送信指示完了ディスクリプタ1351のステータスコード1351aは“エラー”を示すコード(例えば“1”)が設定される。プロセッサ11は、送信完了通知キュー128から接続要求送信指示完了ディスクリプタ1351を読み出す。そして、そのステータスコード1351aを参照することで、NIC13に送信を指示した接続要求パケットが、接続先のノード10のNIC13に正常に送信されたか否かを確認する。
受信通知キュー129は、NIC13が、通信接続相手のNIC13から受信したパケットの種類を、プロセッサ11に通知するために使用されるキューである。NIC13は、通信接続相手のNIC13からパケットを受信すると、その受信パケットの種類に応じた受信ステータスを受信通知キュー129に書き込む。プロセッサ11は、受信通知キュー129から受信ステータスを読み出し、読み出した受信ステータスの内容を分析することで、通信接続相手のノード10のプロセッサ11が送信してきた通知の内容を判断する。受信パケットの種類は、「接続要求パケット」、「接続応答パケット」、「転送データパケット」、「切断通知パケット」などである。尚、これらのパケットは制御パケットに属する。
(A)〜(D)に示すように、パケットの送信側または受信側のNIC13の受信通知キュー129に書き込まれるディスクリプタは主に4種類である。
図8(A)に示す接続要求ディスクリプタ1371は、NIC13が接続要求パケットを受信した際に、通信接続相手からの「接続要求」を自ノード10のプロセッサ11に通知するために受信通知キュー129に書き込むディスクリプタである。
受信通知ID1371aは、「接続要求」の受信通知に割当てられたID(識別子)である。ポート番号1371bは、制御パケットに設定されている「接続先ポート番号」に等しい。要求元アドレス1371cは、接続要求パケットに設定されている「接続元アドレス」に等しい。要求元ポート番号1371dは、接続要求パケットに設定されている「接続元ポート番号」に等しい。尚、接続要求パケットの詳細については後述する。
図8(B)に示す接続応答ディスクリプタ1372は、NIC13が、「接続応答パケット」を受信した際に、その受信をプロセッサ11に通知するために、受信通知キュー129に書き込むディスクリプタである。
受信通知ID1372aは、「接続応答」の受信通知IDに割り当てられたIDである。ポート番号1372bは、接続応答パケットの「接続先ポート番号」のフィールドに設定されているポート番号である。応答元アドレス1372cは、接続応答パケットの「接続元アドレス」のフィールドに設定されているアドレスである。応答元ポート番号1372dは、接続応答パケットの「接続元ポート番号」のフィールドに設定されているポート番号である。尚、接続応答パケットの詳細については後述する。
図8(C)に示すデータ転送ディスクリプタ1373は、NIC13が、「転送データパケット」を受信した際に、その受信をプロセッサ11に通知するために、受信通知キュー129に書き込むディスクリプタである。データ転送ディスクリプタ1373は、受信通知ID1373a、ポート番号1373b、データ先頭アドレス1373c及びデータ長1373dの各情報を含んでいる。受信通知ID1373aは、「転送データ」の受信通知に割り当てられたIDである。ポート番号1373bは、転送データパケットに設定されている「接続先ポート番号」に等しい。データ先頭アドレス1373cは、NIC13によって転送データパケットから取り出されてポートバッファ125に格納された転送データのポートバッファ125内での先頭位置を示すアドレスである。データ長1373dは、ポートバッファ125に格納されている転送データのデータ長である。尚、転送データパケットの詳細については後述する。
図8(D)に示す切断通知ディスクリプタ1374は、NIC13が、「切断通知パケット」を受信した際に、その受信をプロセッサ11に通知するために、受信通知キュー129に書き込むディスクリプタである。受信通知ID1374aは、「切断通知」の受信通知に割当てられたIDである。ポート番号1374bは、切断通知の受信先のポート番号(接続元ポート番号)である。これは、切断通知パケットに設定されている「接続元ポート番号」に等しい。
図9は、前記制御パケットのデータ構造を示す図である。
図9に示すように、制御パケット50は、ネットワーク層ヘッダ510とトランスポート層ヘッダ520を備えている。ネットワーク層ヘッダ510は、OSI参照モデルのネットワーク層のヘッダに相当するヘッダである。トランスポート層ヘッダ520は、OSI参照モデルのトランスポート層のヘッダに相当するヘッダである。
図10は、前記転送データパケットのデータ構造を示す図である。
図10に示すように、転送データパケット(データ通信パケット)60は、ネットワーク層ヘッダ610、トランスポート層ヘッダ620及びトランスポート層データ630を備えている。
次に、本実施形態の動作を説明する。
<全体動作>
図11は、本実施形態における片方向通信の動作を示すシーケンス図である。
(1)接続元のノード10sのプロセッサ11s(以下、接続元プロセッサ11sと記載)は、自ノード10sのNIC13s(以下、接続元NIC13sと記載)に「接続要求指示」を通知する。
(2)接続元NIC13sは、接続元プロセッサ11sから接続要求指示を受け取ると、「接続要求」を、接続先のノード10dのNIC13d(以下、接続先NIC13dと記載)に送信する。
(3)接続先NIC13dは、接続元NIC13sから接続要求を受け取ると、接続許可の応答(接続許可応答)を、接続先NIC13sに返信する。
(4)接続先NIC13dは、続いて、自ノード10dのプロセッサ11d(以下、接続先プロセッサ11d)に、接続要求の受信を通知する。
(5)接続元NIC13sは、接続先NIC13dから接続許可応答を受け取ると、接続許可応答の受信(接続応答受信)を接続元プロセッサ11sに通知する。
(6)接続元プロセッサ11sは、接続元NIC13sからの接続応答受信の通知を受け取ると、接続元NIC13sに「データ転送」を指示する。
(7)接続元NIC13sは、接続元プロセッサ11sからのデータ転送指示を受け取ると、接続元プロセッサ11sにより指示された「転送データ」を接続先NIC13dに送信する。
(8)接続先NIC13dは、接続元NIC13sから転送データを受信すると、その受信(転送データ受信)を接続先プロセッサ11dに通知する。
接続元プロセッサ11sが、全ての転送データを接続先プロセッサ11dに送信し終わるまで、上記(6)〜(8)の手順を繰り返す。
(9)接続元プロセッサ11sは、全転送データを接続先プロセッサ11dに送信すると、「切断通知」の送信を接続元NIC13sに指示する。
(10)接続元NIC13sは、接続元プロセッサ11sからの切断通知送信指示を受け取ると、「切断通知」を接続先NIC13dに送信する。
(11)接続先NIC13dは、接続元NIC13sから切断通知を受信すると、その受信(切断通知受信)を接続先プロセッサ11dに通知する。
元NIC13s及び接続先NIC13dが実行する。このとき、プロセッサ11とNIC13間の指示や通知は、上述した、ポートテーブル121、ポートコンテキスト123、ポートバッファ125を用いて行なわれる。これらの構成要素121、123、125は、ポート番号に関連付けられて管理される。
<接続要求送信>
図12は、接続元プロセッサ11sが、通信接続を確立するために、接続元NIC13sに対して「接続要求」を指示する動作を示す図である。図12に示す処理手順を説明する。
(1)初期設定
接続元プロセッサ11sは、ポートコンテキスト123を主記憶12(以後、主記憶12sと記載)上に確保し、そのポートコンテキスト123の通信状態1232を“待機状態”に設定する((1)−1)。そして、このポートコンテキスト123を主記憶12s上のポートテーブル121に登録する((1)−2)。
(2)接続要求指示
接続元プロセッサ11sは、接続要求送信指示のディスクリプタ1331を送信指示キュー127に書き込む。
(3)接続要求送信指示読み出し
接続元NIC13sは、送信指示キュー127から接続要求送信指示のディスクリプタ1331を読み出す。
(4)ポートテーブル読み出し
接続元NIC13sは、接続要求送信指示のディスクリプタ1331から接続元ポート番号1331bを読み出す。そして、読み出したポート番号1331bに対応するポートテーブル121のポートエントリ1211から接続元ポートのポートコンテキスト123の格納アドレスを読み出す。
(5)ポートコンテキスト読み出し
接続元NIC13sは、読み出した格納アドレスからポートコンテキスト123を読み出し、ポートコンテキスト123に書き込まれた通信状態1232が“待機状態”に設定されていることを確認する。
(6)接続要求パケット送信
接続元NIC13sは、接続先NIC13d宛の接続要求パケット50cdを作成し、作成した接続要求パケット50cdをネットワーク20に送信する。接続要求パケット50cdは、図9に示す形式の制御パケット50であり、パケット種別624には“接続要求”が設定されている。
(7)ポートコンテキスト更新
接続元NIC13sは、ポートコンテキスト123の通信状態1232を“接続要求済み状態”に更新する。
(8)送信完了通知書き込み
接続元NIC13sは、送信完了通知キュー128に“送信完了ステータス”のディスクリプタを書き込む。送信完了ステータスのディスクリプタは、図7(A)に示す形式のディスクリプタ1351である。
(9)送信完了通知読み出し
接続元プロセッサ11sは、送信完了通知キュー128から送信完了ステータスのディスクリプタを読み出す。接続元プロセッサ11sは、送信完了ステータスのディスクリプタを参照して、接続先プロセッサ11dに接続要求パケット50cdが正常に送信されたか調べる。接続元プロセッサ11sは、送信完了ステータスが“正常”に設定されていれば、接続先プロセッサ11dに接続要求パケット50cdが正常に送信されたと判断する。一方、送信完了ステータスが“エラー”に設定されていれば、接続元NIC13sが接続要求パケット50cdの送信に失敗したと判断する。
図13は、接続先NIC13dが、接続元NIC13sから接続要求パケット50cdを受信して、接続先NIC13dに「接続許可」の応答パケットを送信する動作を示す図である。図13に示す処理手順を説明する。
(1)初期設定
接続先NIC13dは、ポートコンテキスト123を主記憶12(以後、主記憶12dと記載)上に確保し、ポートコンテキスト123の通信状態1232を“待機状態”に設定する((1)−1)。そして、ポートコンテキスト123を主記憶12d上のポートテーブル121に登録する((1)−2)。
(2)接続要求パケット受信
接続先NIC13dは、ネットワーク20から、接続元NIC13sが送信した接続要求パケット50cdを受信する。
(3)ポートテーブル読み出し
接続先NIC13dは、接続要求パケット50cdに書き込まれた接続先ポート番号1331dのフィールドからポート番号を読み出し、ポートテーブル121のポート番号に対応するポートエントリ1211を参照する。そして、ポートエントリ1211の「Context Address」に設定されている主記憶12dのアドレスを読み出す。このアドレスは、ポート番号が割り当てられている接続先ポートのポートコンテキスト123の主記憶12d上の格納アドレス(コンテキスト格納アドレス)である。
(4)ポートコンテキスト読み出し
接続先NIC13dは、主記憶12d上の接続先ポートのコンテキスト格納アドレスから、接続先ポートのポートコンテキスト123を読み出し、その通信状態1232が“待機状態”となっていることを確認する。
(5)接続応答パケット送信
接続先NIC13dは、通信状態の確認後、接続許可の応答パケット50caを作成し、作成した応答パケット50caをネットワーク20に送信する。接続許可の応答パケット50caは図9に示す形式の制御パケット50であり、そのパケット種別624には“接続許可”が設定されている。
(6)ポートコンテキスト更新
接続先NIC13dは、ポートコンテキスト123を“接続要求済み状態”に更新する。
(7)受信通知書き込み
接続先NIC13dは、主記憶12d上の受信通知キュー129に“受信ステータス”のディスクリプタを書き込む。このディスクリプタは、図8(A)に示すディスクリプタ1371である。
(8)受信通知読み出し
接続先プロセッサ11dは、受信通知キュー129から受信ステータスのディスクリプタを読み出す。接続先プロセッサ11dは、受信ステータスが“正常”に設定されているか調べる。そして、受信ステータスが“正常”に設定されていれば、接続先ポNIC13dが、接続元プロセッサ11sから送信された接続要求パケット50cdを正常に受信したと判断する。一方、受信ステータスが“エラー”であれば、前記接続要求パケット50cdの受信に失敗したと判断する。
図14は、接続元NIC13sが、接続先NIC13dから「接続許可」の応答パケッ
トcaを受信したときの動作を示す図である。図14に示す処理手順を説明する。
(1)接続応答パケット受信
接続元NIC13sは、ネットワーク20から「接続許可」の応答パケット50caを受信する。
(2)ポートテーブル読み出し
接続元NIC13sは、受信した応答パケット50caの接続先ポート番号1331dのフィールドからポート番号を読み出す。そして、読み出したポート番号に対応する主記憶12s上のポートテーブル121のポートエントリ1211の「Context Address」のフィールドからアドレスを読み出す。
(3)ポートコンテキスト読み出し
接続元NIC13sは、読み出した主記憶12s上のアドレスをアクセスし、そのアドレスからポートコンテキスト123を読み出す。そして、読み出したポートコンテキスト123の通信状態1232が“接続要求済み状態”であることを確認する。
(4)ポートコンテキスト更新
接続元NIC13sは、通信状態の確認後、主記憶12s上のポートコンテキスト123の通信状態1232を“接続済み状態”に更新する。
(5)受信通知書き込み
接続元NIC13sは、主記憶12s上の受信通知キュー129に「受信ステータス」のディスクリプタを書き込む。この受信ステータスのディスクリプタは、図8(A)に示す形式のディスクリプタ1371である。
(6)受信通知読み出し
接続元プロセッサ11sは、受信通知キュー129から「受信ステータス」のディスクリプタを読み出す。接続先プロセッサ11sは、受信ステータスが“正常”に設定されているか調べる。そして、受信ステータスが“正常”に設定されていれば、接続先プロセッサ11sが、「接続要求」を許可したと判断する。これにより、接続元ポートと接続先ポートとの間に通信接続が確立する。
図15は、接続済みポート(接続元ポート)から転送データを送信する動作を示す図である。図15の処理手順を説明する。
(1)転送データ書き込み
接続元プロセッサ11sは、主記憶12s上のポートバッファ125に「転送データ」を格納する。
(2)データ転送指示
接続元プロセッサ11sは、データ転送指示のディスクリプタ1132(図6(B)参照)を、主記憶12s上の送信指示キュー127に書き込む。
(3)送信指示読み出し
接続元NIC13sは、送信指示キュー127に書き込まれた送信指示キュー127からデータ転送指示のディスクリプタ1132を読み出す。
(4)ポートテーブル読み出し
接続元NIC13sは、ディスクリプタ1132の接続元ポート番号1332bのフィールドに設定されている接続元ポート番号を基に、接続先ポートのポートコンテキスト123を格納する主記憶12s上のアドレスをポートテーブル121から読みだす。より詳細に説明すると、前記ポート番号に対応するポートテーブル121のポートエントリ1211の内容を読み出す。そして、そのポートエントリ1211の「Context Address」のフィールドに設定されているアドレスを、接続先ポートのポートコンテキスト123の格納アドレスとみなす。
(5)ポートコンテキスト読み出し
接続元NIC13sは、主記憶12s上の格納アドレスからポートコンテキスト123を読みだし、その通信状態1232が“接続済み状態”に設定されていることを確認する。
(6)転送データ読み出し
接続元NIC13sは、ポートエントリ1211の「Buffer Address」のフィールドに設定されているアドレスと「Buffer Size」に設定されているバッファサイズを基に、主記憶12s上のポートバッファ125から転送データを読みだす。
(7)転送データパケット送信
接続元NIC13sは、図10に示す形式の転送データパケット60を作成し、作成した転送データパケット60をネットワーク20に送信する。
(8)送信完了通知書き込み
接続元NIC13sは、送信完了ステータスのディスクリプタを送信完了通知キュー128に書き込む。この送信完了ステータスのディスクリプタは、図7(B)に示す形式のディスクリプタ1352である。
(9)送信完了通知読み出し
接続元プロセッサ11sは、送信完了通知キュー128から送信完了ステータスを読み出す。接続元プロセッサ11sは、送信完了ステータスが“正常”に設定されているか調べる。そして、送信完了ステータスが“正常”に設定されていれば、接続元NIC13dが、転送データパケット60を正常に送信したと判断する。この場合、接続元ポートから接続先ポート宛の転送データの送信は正常に行なわれたことになる。一方、接続先プロセッサ11sは、送信完了ステータスが“エラー”に設定されていれば、接続元NIC13sが転送データパケット60の送信に失敗したと判断する。この場合、接続元ポートから接続先ポート宛の転送データパケット60の送信は失敗したことになる。
図16は、接続済みの接続先ポートが、接続元ポートが送信した転送データを受信する動作を示す図である。図16に示す処理手順を説明する。
(1)転送データパケット受信
接続先NIC13dは、ネットワーク20から、接続元NIC13sが送信した転送データパケット60を受信する。
(2)ポートテーブル読み出し
接続先NIC13dは、受信した転送データパケット60から接続先ポート番号621を取り出し、主記憶12d上のポートテーブル121の接続先ポート番号621に対応するポートエントリ1211から「Context Address」(コンテキスト格納アドレス)を読みだす。
(3)ポートコンテキスト読み出し
接続先NIC13dは、主記憶12d上のコンテキスト格納アドレスからポートコンテキスト123を読み出す。そして、ポートコンテキスト123の通信状態1232を参照して、転送データパケットを受信したポートが“接続済み状態”であることを確認する。(4)転送データ書き込み
接続先NIC13dは、転送データパケット60に格納されているデータ630(転送データ)を読み出し、読み出した転送データを、主記憶12d上のポートバッファ125に格納する。
(5)受信通知書き込み
接続先NIC13dは、受信ステータスを、主記憶12d上の受信通知キュー129に
書き込む。この受信ステータスは、図8(B)に示すデータ転送ディスクリプタ1373である。
(6)受信通知読み出し
接続先プロセッサ11dは、受信通知キュー129から受信ステータスを読み出す。
(7)転送データ読み出し
接続先プロセッサ11dは、受信ステータスのデータ先頭アドレス1373cとデータ長1332dを参照して、ポートバッファ125から転送データを読み出す。これにより、接続先ポートは、接続元ポートが送信した転送データを受信する。
図17は、接続済みの接続元ポートが、接続先ポートに切断通知を送信する動作を示す図である。図17に示す処理手順を説明する。
(1)切断通知送信指示
接続元プロセッサ11sは、「切断通知送信指示」のディスクリプタを、主記憶12s上の送信指示キュー127に書き込む。この切断通知送信指示のディスクリプタは、図6(C)に示す切断通知送信指示ディスクリプタ1333と同様である。
(2)切断通知送信指示読み出し
接続元NIC13sは、送信指示キュー127から切断通知送信指示ディスクリプタ1333を読み出す。
(3)ポートテーブル読み出し
接続元NIC13sは、読み出した切断通知送信指示のディスクリプタ1333から接続元ポート番号1333bを読み出し、ポートテーブル121の接続元ポート番号1333bに対応するポートエントリ1211から「Context Address」(コンテキスト格納アドレス)を読み出す。
(4)ポートコンテキスト読み出し
接続元NIC13sは、主記憶12sのコンテキスト格納アドレスからポートコンテキスト123を読み出し、読み出したポートコンテキスト123の通信状態1232が“接続済み状態”であることを確認する。
(5)切断通知パケット送信
接続元NIC13sは、切断通知パケット50dcを作成し、作成した切断通知パケット50dcをネットワーク20に送信する。切断通知パケット50dcは、図9に示す形式の制御パケット50であり、そのパケット種別624は“切断通知”に設定されている。
(6)ポートコンテキスト更新
接続元NIC13sは、ポートコンテキスト123の通信状態1232を“切断通知済み状態”に更新する。
(7)送信完了通知書き込み
接続元NIC13sは、「送信完了ステータス」を主記憶12s上の送信指示キュー127に書き込む。この送信完了ステータスは、図7(C)に示す切断通知送信完了ディスクリプタ1353と同様である。
(8)送信完了通知読み出し
接続元プロセッサ11sは、送信指示キュー127から送信完了ステータスを読み出す。接続元プロセッサ11sは、送信完了ステータスが“正常”に設定されていれば、接続元NIC13sが、切断通知パケット50dcを接続先NIC13dに正常に送信したと判断する。この場合、接続元ポートから接続先ポート宛に切断通知が正常に送信される。一方、接続元プロセッサ11sは、送信完了ステータスが“エラー”に設定されていれば、接続元NIC13sが切断通知パケット50dcの送信に失敗したと判断する。この場合、接続元ポートから接続先ポートには切断通知は送信されない。
図18は、接続済みの接続先ポートが、接続元ポートから切断通知を受信する動作を示す図である。図18に示す処理手順を説明する。
(1)切断通知パケット受信
接続先NIC13dは、ネットワーク20から切断通知パケット50dcを受信する。(2)ポートテーブル読み出し
接続先NIC13dは、受信した切断通知パケット50dcから接続先ポート番号621を読み出す。そして、主記憶12d上のポートテーブル121の接続先ポート番号621に対応するポートエントリ1211から「Context Address」(コンテキスト格納アドレス)を読み出す。
(3)ポートコンテキスト読み出し
接続先NIC13dは、主記憶12dのコンテキスト格納アドレスからポートコンテキスト123(接続先ポートのコンテキスト)を読み出し、その通信状態1232が“接続済み状態”に設定されていることを確認する。
(4)ポートコンテキスト更新
接続先NIC13dは、ポートコンテキスト123の通信状態1232を“切断通知受信済み状態”に更新する。
(5)受信通知書き込み
接続先NIC13dは、「受信ステータス」を主記憶12d上の受信通知キュー129に書き込む。受信ステータスのディスクリプタは、図8(C)に示すディスクリプタ1374と同様である。
(6)受信通知読み出し
接続先プロセッサ11dは、受信通知キュー129から受信ステータスを読み出す。
接続先プロセッサ11dは、受信ステータスが“正常”に設定されていれば、接続先NIC13dが前記切断通知パケット50dcを正常に受信したと判断する。これにより、接続元ポートと接続先ポートとの間の通信接続は切断される。一方、接続先プロセッサ11sは、受信ステータスが“エラー”に設定されていれば、接続先NIC13dが切断通知パケット50dcの受信に失敗したと判断する。この場合、接続元ポートと接続先ポートとの間の通信接続は切断されない。
囲内で種々に変形して実施することができる。
例えば、上記実施形態では、ポートコンテキスト123及びポートテーブル121はプロセッサ11の主記憶12d上に設けられているが、本発明の構成は、これに限定されるものではない。例えば、ポートコンテキスト及びポートテーブルは、プロセッサ内の専用レジスタ内または専用メモリ上に設けられてもよい。この場合、該専用レジスタ及び該専用メモリは、ネットワークインターフェース装置が直接アクセス可能な形態で設置されることが望ましい。
(付記1)
コンピュータに接続され、ネットワークを介する通信を行なうインターフェース装置であって、
通信接続をポート番号により識別し、ポート毎の通信接続の状態を、記憶手段に格納されている、ポート番号に対応付けられたコンテキストで管理する第1の管理手段と、
該コンテキストの格納状態を管理する第2の管理手段と、
前記コンテキストを参照して、ポート間の通信接続の確立処理と切断処理を実行する制御手段と、
を備えるネットワークインターフェース装置。
(付記2)
付記1記載のネットワークインターフェース装置であって、
前記制御手段は、
前記コンピュータのプロセッサから接続要求パケットの送信を指示された場合、該指示において送信元として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“待機状態”に設定されていれば、接続要求パケットを前記ネットワークに送信する。
(付記3)
付記2記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続要求パケットを送信した後、送信完了を前記プロセッサに通知する。
(付記4)
付記2記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続要求パケットを受信した場合、そのパケットにおいて接続先として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“待機状態”に設定されていれば、接続許可の応答パケットを前記ネットワークに送信して該コンテキストを“接続済み状態”に更新し、前記コンテキストが“待機状態”に設定されていなければ、接続拒否の応答パケットを前記ネットワークに送信する。
(付記5)
付記4記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続要求パケットの受信及び前記応答パケットの送信を行い、必要に応じて前記コンテキストの更新を行い、その後、前記プロセッサに前記接続要求パケットの受信を通知する。
(付記6)
付記4記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続許可の応答パケットを受信した場合、該応答パケットにおいて接続元として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“接続要求済み状態”に設定されている場合には該コンテキストを“接続済み状態”に更新する。
(付記7)
付記4記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続拒否の応答パケットを受信した場合、該応答パケットにおい
て接続元として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“接続済み状態”に設定されている場合には、該コンテキストを“待機状態”に戻す。
(付記8)
付記6または付記7記載のネットワークインターフェース装置であって、
前記制御手段は、前記応答パケットの受信及び前記コンテキストの更新が終了した後、前記プロセッサに前記応答パケットの受信を通知する。
(付記9)
付記1記載のネットワークインターフェース装置であって、
前記制御手段は、コンピュータのプロセッサから切断通知パケットの送信を指示された場合、該指示において接続元として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“接続済み状態”に設定されている場合には切断通知パケットを前記ネットワークに送信する。
(付記10)
付記9記載のネットワークインターフェース装置であって、
前記制御手段は、前記切断通知パケットを受信した場合、そのパケットにおいて接続先として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“接続済み状態”に設定されていれば該コンテキストを“切断通知受信済み状態”に更新する。
(付記11)
付記1記載のネットワークインターフェース装置であって、
前記コンテキストと前記管理機構は、前記プロセッサの主記憶上に設けられる。
(付記12)
付記1記載のネットワークインターフェース装置であって、
前記コンテキストと前記管理機構は、前記プロセッサの専用レジスタに格納され、
前記第1の管理手段は、該専用のレジスタにアクセスして、前記ポート毎の接続状態を管理する。
(付記13)
付記1記載のネットワークインターフェース装置であって、
前記コンテキストと前記管理機構は、前記プロセッサの専用メモリ上に設けられ、
前記第1の管理手段は、該専用メモリにアクセスして、前記ポート毎の接続状態を管理する。
(付記14)
付記11、12または13記載のネットワークインターフェース装置であって、
前記管理機構はテーブルであり、
前記第2の管理手段は、前記コンテキストを該テーブルにより管理し、
該テーブルのエントリは、少なくとも、前記コンテキストの格納位置に関する情報を含む。
(付記15)
付記1乃至14のいずれか1項に記載のネットワークインターフェース装置であって、
前記コンテキストは、少なくとも、プロトコルの種別に関する情報と、前記ポートの通信状態に関する情報を有する。
11 プロセッサ
12(12s、12d) 主記憶
121 ポートテーブル
1211 ポートエントリ
123 ポートコンテキスト
1231 プロトコル種別
1232 通信状態
125 ポートバッファ
127 送信指示キュー
128 送信完了通知キュー
129 受信通知キュー
13 NIC
131 PIO制御部
132 DMA制御部
133 送信指示キュー制御部
134 パケット送信処理部
135 送信完了通知キュー制御部
136 パケット受信処理部
137 受信完了通知キュー制御部
138 バス
139〜142 信号線
20 ネットワーク
50 制御パケット
50cd 接続要求パケット
50ca 接続許可の応答パケット
50dc 切断通知パケット
510 ネットワーク層ヘッダ
511 パケット長
512 接続先アドレス
513 接続元アドレス
520 トランスポート層ヘッダ
521 接続先ポート番号
522 接続元ポート番号
523 プロトコル種別
524 パケット種別
60 転送データパケット
610 ネットワーク層ヘッダ
611 パケット長
612 接続先アドレス
613 接続元アドレス
620 トランスポート層ヘッダ
621 接続先ポート番号
622 接続元ポート番号
623 プロトコル種別
624 パケット種別(データ)
630 トランスポート層データ
1331 接続要求指示ディスクリプタ
1331a 指示ID(接続要求)
1331b 接続元ポート番号
1331c 接続先アドレス
1331d 接続先ポート番号
1332 データ転送指示ディスクリプタ
1332a 指示ID(データ転送)
1332b 接続元ポート番号
1332c データ先頭アドレス
1332d データ長
1333 切断通知ディスクリプタ
1333a 指示ID(切断通知)
1333b 接続元ポート番号
1351 接続要求送信指示完了ディスクリプタ
1351a エラーコード
1352 データ転送指示完了ディスクリプタ
1352a エラーコード
1371 接続要求ディスクリプタ
1371a 受信通知ID(接続要求)
1371b ポート番号
1371c 要求元アドレス
1371d 要求元ポート番号
1372 接続応答ディスクリプタ
1372a 受信通知ID(接続応答)
1372b ポート番号
1372c 応答元アドレス
1372d 応答先アドレス
1373 データ転送ディスクリプタ
1373a 受信通知ID(データ転送)
1373b ポート番号
1373c データ先頭アドレス
1373d データ長
1374 切断通知ディスクリプタ
1374a 受信通知ID(切断通知)
1374b ポート番号
Claims (10)
- コンピュータに接続され、ネットワークを介する通信を行なうインターフェース装置であって、
通信接続をポート番号により識別し、ポート毎の通信接続の状態を、記憶手段に格納されている、ポート番号に対応付けられたコンテキストで管理する第1の管理手段と、
該コンテキストの格納状態を管理する第2の管理手段と、
前記コンテキストを参照して、ポート間の通信接続の確立処理と切断処理を実行する制御手段と、
を備えるネットワークインターフェース装置。 - 請求項1記載のネットワークインターフェース装置であって、
前記制御手段は、
前記コンピュータのプロセッサから接続要求パケットの送信を指示された場合、該指示において送信元として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“待機状態”に設定されていれば、接続要求パケットを前記ネットワークに送信する。 - 請求項2記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続要求パケットを送信した後、送信完了を前記プロセッサに通知する。 - 請求項2記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続要求パケットを受信した場合、そのパケットにおいて接続先として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“待機状態”に設定されていれば、接続許可の応答パケットを前記ネットワークに送信して該コンテキストを“接続済み状態”に更新し、前記コンテキストが“待機状態”に設定されていなければ、接続拒否の応答パケットを前記ネットワークに送信する。(4) - 請求項4記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続要求パケットの受信及び前記応答パケットの送信を行い、必要に応じて前記コンテキストの更新を行い、その後、前記プロセッサに前記接続要求パケットの受信を通知する。 - 請求項4記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続許可の応答パケットを受信した場合、該応答パケットにおいて接続元として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“接続要求済み状態”に設定されている場合には該コンテキストを“接続済み状態”に更新する。 - 請求項4記載のネットワークインターフェース装置であって、
前記制御手段は、前記接続拒否の応答パケットを受信した場合、該応答パケットにおいて接続元として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“接続済み状態”に設定されている場合には、該コンテキストを“待機状態”に戻す。 - 請求項6または請求項7記載のネットワークインターフェース装置であって、
前記制御手段は、前記応答パケットの受信及び前記コンテキストの更新が終了した後、前記プロセッサに前記応答パケットの受信を通知する。 - 請求項1記載のネットワークインターフェース装置であって、
前記制御手段は、コンピュータのプロセッサから切断通知パケットの送信を指示された場合、該指示において接続元として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“接続済み状態”に設定されている場合には切断通知パケットを前記ネットワークに送信する。 - 請求項9記載のネットワークインターフェース装置であって、
前記制御手段は、前記切断通知パケットを受信した場合、そのパケットにおいて接続先として指定されているポート番号に対応するコンテキストを調べ、該コンテキストが“接続済み状態”に設定されていれば該コンテキストを“切断通知受信済み状態”に更新する。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009026533A JP5353278B2 (ja) | 2009-02-06 | 2009-02-06 | 通信装置 |
EP09178493.4A EP2216955B1 (en) | 2009-02-06 | 2009-12-09 | Network interface device |
KR20090131786A KR101101216B1 (ko) | 2009-02-06 | 2009-12-28 | 네트워크 인터페이스장치 |
US12/699,392 US8725879B2 (en) | 2009-02-06 | 2010-02-03 | Network interface device |
CN201010112715.8A CN101827019B (zh) | 2009-02-06 | 2010-02-04 | 网络接口设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009026533A JP5353278B2 (ja) | 2009-02-06 | 2009-02-06 | 通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010183450A true JP2010183450A (ja) | 2010-08-19 |
JP5353278B2 JP5353278B2 (ja) | 2013-11-27 |
Family
ID=42235671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009026533A Expired - Fee Related JP5353278B2 (ja) | 2009-02-06 | 2009-02-06 | 通信装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8725879B2 (ja) |
EP (1) | EP2216955B1 (ja) |
JP (1) | JP5353278B2 (ja) |
KR (1) | KR101101216B1 (ja) |
CN (1) | CN101827019B (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015177261A (ja) * | 2014-03-13 | 2015-10-05 | 株式会社東芝 | 通信装置、情報処理装置、通信方法及び通信プログラム |
JP2015177263A (ja) * | 2014-03-13 | 2015-10-05 | 株式会社東芝 | 通信装置、情報処理装置、通信方法および通信プログラム |
US10944677B2 (en) | 2018-03-08 | 2021-03-09 | Fujitsu Limited | Information processing apparatus and information processing system |
JP2022546102A (ja) * | 2019-09-10 | 2022-11-02 | 華為技術有限公司 | パケット処理方法および装置、ならびにチップ |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200085B (zh) * | 2013-04-16 | 2016-05-25 | 中航网信(北京)科技有限公司 | 一种实现vxlan报文线速收发的方法及系统 |
US9747227B1 (en) * | 2013-05-24 | 2017-08-29 | Qlogic, Corporation | Method and system for transmitting information from a network device |
US9853101B2 (en) | 2015-10-07 | 2017-12-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Strained nanowire CMOS device and method of forming |
CN106789708B (zh) * | 2016-12-06 | 2020-10-09 | 中国电子科技集团公司第三十二研究所 | Tcp/ip卸载引擎中的多通道处理方法 |
JP2019164713A (ja) * | 2018-03-20 | 2019-09-26 | 東芝メモリ株式会社 | ストレージシステム及びデータ転送方法 |
US10880211B2 (en) | 2019-05-06 | 2020-12-29 | Seth Gregory Friedman | Transaction encoding and verification by way of data-link layer fields |
KR20210080009A (ko) * | 2019-12-20 | 2021-06-30 | 삼성전자주식회사 | 가속기, 가속기의 동작 방법 및 가속기를 포함한 디바이스 |
EP4144048A4 (en) | 2020-06-08 | 2024-06-26 | Liquid Markets Gmbh | HARDWARE-BASED TRANSACTION EXCHANGE |
US20210150074A1 (en) * | 2020-12-23 | 2021-05-20 | Jose Niell | Vm encryption of block storage with end-to-end data integrity protection in a smartnic |
US11301408B1 (en) | 2021-06-07 | 2022-04-12 | Liquid-Markets-Holdings, Incorporated | Asymmetric read / write architecture for enhanced throughput and reduced latency |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001230812A (ja) * | 2000-02-14 | 2001-08-24 | Hitachi Ltd | 通信開始処理をオフロードするネットワーク接続装置およびそれを用いた方法 |
JP2003348184A (ja) * | 2002-05-27 | 2003-12-05 | Nec Corp | 通信制御装置 |
JP2004173166A (ja) * | 2002-11-22 | 2004-06-17 | Matsushita Electric Ind Co Ltd | 通信端末装置およびデータ送信方法 |
JP2006526969A (ja) * | 2003-06-05 | 2006-11-24 | エヌヴィディア コーポレイション | オフロードユニットを使用したtcp接続のためのデータ処理 |
JP2008507030A (ja) * | 2004-07-14 | 2008-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク・プロトコル処理のオフロードにおいてメモリ管理をサポートする装置および方法 |
JP2008507201A (ja) * | 2004-07-14 | 2008-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク・プロトコル処理のオフロードにおいて接続確立をサポートする装置および方法 |
JP2008148133A (ja) * | 2006-12-12 | 2008-06-26 | Canon Inc | 通信装置、その制御方法及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210433A (ja) | 1994-01-18 | 1995-08-11 | Hitachi Ltd | ファイルサーバ |
JP2939707B2 (ja) | 1994-12-19 | 1999-08-25 | 日本電気エンジニアリング株式会社 | 通信制御システムの同期制御方法 |
US6687758B2 (en) * | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US6697868B2 (en) * | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US7007103B2 (en) | 2002-04-30 | 2006-02-28 | Microsoft Corporation | Method to offload a network stack |
EP1772771A4 (en) * | 2004-07-15 | 2008-06-25 | Matsushita Electric Ind Co Ltd | COHERENT LIGHT SOURCE AND OPTICAL APPARATUS USING THE SAME |
US7783880B2 (en) | 2004-11-12 | 2010-08-24 | Microsoft Corporation | Method and apparatus for secure internet protocol (IPSEC) offloading with integrated host protocol stack management |
-
2009
- 2009-02-06 JP JP2009026533A patent/JP5353278B2/ja not_active Expired - Fee Related
- 2009-12-09 EP EP09178493.4A patent/EP2216955B1/en not_active Not-in-force
- 2009-12-28 KR KR20090131786A patent/KR101101216B1/ko not_active IP Right Cessation
-
2010
- 2010-02-03 US US12/699,392 patent/US8725879B2/en not_active Expired - Fee Related
- 2010-02-04 CN CN201010112715.8A patent/CN101827019B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001230812A (ja) * | 2000-02-14 | 2001-08-24 | Hitachi Ltd | 通信開始処理をオフロードするネットワーク接続装置およびそれを用いた方法 |
JP2003348184A (ja) * | 2002-05-27 | 2003-12-05 | Nec Corp | 通信制御装置 |
JP2004173166A (ja) * | 2002-11-22 | 2004-06-17 | Matsushita Electric Ind Co Ltd | 通信端末装置およびデータ送信方法 |
JP2006526969A (ja) * | 2003-06-05 | 2006-11-24 | エヌヴィディア コーポレイション | オフロードユニットを使用したtcp接続のためのデータ処理 |
JP2008507030A (ja) * | 2004-07-14 | 2008-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク・プロトコル処理のオフロードにおいてメモリ管理をサポートする装置および方法 |
JP2008507201A (ja) * | 2004-07-14 | 2008-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク・プロトコル処理のオフロードにおいて接続確立をサポートする装置および方法 |
JP2008148133A (ja) * | 2006-12-12 | 2008-06-26 | Canon Inc | 通信装置、その制御方法及びプログラム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015177261A (ja) * | 2014-03-13 | 2015-10-05 | 株式会社東芝 | 通信装置、情報処理装置、通信方法及び通信プログラム |
JP2015177263A (ja) * | 2014-03-13 | 2015-10-05 | 株式会社東芝 | 通信装置、情報処理装置、通信方法および通信プログラム |
US9866639B2 (en) | 2014-03-13 | 2018-01-09 | Kabushiki Kaisha Toshiba | Communication apparatus, information processor, communication method, and computer-readable storage medium |
US9961147B2 (en) | 2014-03-13 | 2018-05-01 | Kabushiki Kaisha Toshiba | Communication apparatus, information processor, communication method, and computer-readable storage medium |
US10944677B2 (en) | 2018-03-08 | 2021-03-09 | Fujitsu Limited | Information processing apparatus and information processing system |
JP2022546102A (ja) * | 2019-09-10 | 2022-11-02 | 華為技術有限公司 | パケット処理方法および装置、ならびにチップ |
US11695502B2 (en) | 2019-09-10 | 2023-07-04 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus, and chip |
Also Published As
Publication number | Publication date |
---|---|
US8725879B2 (en) | 2014-05-13 |
US20100306387A1 (en) | 2010-12-02 |
EP2216955B1 (en) | 2016-07-27 |
JP5353278B2 (ja) | 2013-11-27 |
EP2216955A1 (en) | 2010-08-11 |
KR101101216B1 (ko) | 2012-01-04 |
CN101827019B (zh) | 2014-09-10 |
KR20100090629A (ko) | 2010-08-16 |
CN101827019A (zh) | 2010-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5353278B2 (ja) | 通信装置 | |
US10204070B2 (en) | Method, device, system and storage medium for implementing packet transmission in PCIE switching network | |
CN105531684B (zh) | 通用pci express端口 | |
US7817634B2 (en) | Network with a constrained usage model supporting remote direct memory access | |
EP3942759A1 (en) | System and method for facilitating efficient management of idempotent operations in a network interface controller (nic) | |
US8458280B2 (en) | Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations | |
EP1868093B1 (en) | Method and system for a user space TCP offload engine (TOE) | |
US11902184B2 (en) | Methods and systems for providing a virtualized NVMe over fabric service | |
US11895027B2 (en) | Methods and systems for service distribution using data path state replication and intermediate device mapping | |
US6856619B1 (en) | Computer network controller | |
US11593294B2 (en) | Methods and systems for loosely coupled PCIe service proxy over an IP network | |
JP4415391B2 (ja) | データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置 | |
JP2022179413A (ja) | 元データパケットを使用するサービス状態レプリケーションのための方法及びシステム | |
CN118069387A (zh) | 一种基于硬件多线程的rdma数据发送队列管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130314 |
|
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: 20130730 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130812 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |