JP4736859B2 - 通信装置および通信方法 - Google Patents
通信装置および通信方法 Download PDFInfo
- Publication number
- JP4736859B2 JP4736859B2 JP2006055969A JP2006055969A JP4736859B2 JP 4736859 B2 JP4736859 B2 JP 4736859B2 JP 2006055969 A JP2006055969 A JP 2006055969A JP 2006055969 A JP2006055969 A JP 2006055969A JP 4736859 B2 JP4736859 B2 JP 4736859B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- memory area
- application memory
- processing unit
- payload data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
Description
本発明にあっては、受信パケットのペイロードデータのエラーチェックと並行してアプリケーションメモリ領域への書き込みを行うことでパケット処理の遅延を削減し、エラーが検出されたら書込処理によって上書きされた前記アプリケーションメモリ領域中の有効領域を未だ正常なデータを受信していない無効領域に戻すか、あるいはアプリケーションメモリ領域中の有効領域が上書きされない範囲内においてペイロードデータをアプリケーションメモリ領域に書き込むことにより、破壊されたデータがアプリケーションプログラムに渡されるのを防止する。
本発明のRDMA通信装置9の全体構成は、従来のRDMA通信装置9の構成と同様に、図8に示されるように、ネットワークアダプタ1、プロセッサ2、メインメモリ3、I/O装置4と、これらを接続するシステムバス5とにより構成され、メインメモリ3は、アプリケーションが処理を実施するためのメモリ領域であるアプリケーションメモリ領域31と、通信プロトコルが制御情報を管理するためのメモリ領域である制御情報メモリ領域32との2つのメモリ領域を有し、ネットワークアダプタ1は、受信処理部8、送信処理部13およびコネクション管理メモリ12より構成される。本発明のRDMA通信装置は、受信処理部8の構成に従来のRDMA通信装置9との違いがある。
次に本実施の形態にかかるRDMA通信装置9の詳細な動作例について、図面を参照して説明する。なお、以下の動作例においては、RDMA通信装置9のレイヤ4プロトコルとしてTCPを利用するものとする。
図3に本発明にかかるRDMA通信装置9のパケット受信時におけるアプリケーションメモリ領域31の管理内容の変化例1を示す。
図4に本実施の形態にかかるRDMA通信装置9におけるパケット受信時のアプリケーションメモリ領域31の管理内容の変化例2を示す。
第1の実施の形態では、エラーチェック結果が出るのを待たずにペイロードデータの全てをアプリケーションメモリ領域に書き込むようにしたが、本実施の形態である第2の実施の形態から後述する第6の実施の形態までは、有効領域が上書きされない範囲内においてペイロードデータの書き込みを実施する。
本実施の形態にかかるRDMA通信装置9の受信処理部8は、第1の実施の形態にかかるRDMA通信装置9の受信処理部8と同様に図1に示される構成を備えており、第1の実施の形態と比較して、プロトコル処理部84が、受信したパケットをペイロードデータ書込要求部85に書込要求する際に、アプリケーションメモリ領域31内の有効領域との比較を行い、データに重なりがある場合は、全て、アプリケーションメモリ領域31内に存在する有効領域を優先するものとして、重なっていないデータ部分だけを、エラーチェックの完了前にペイロードデータ書込要求部85に対して書き込みを要求する点で相違する。ここで、要求されるデータは、連続している場合もあれば、不連続の場合もありうる。不連続の場合には、ペイロードデータ書込要求部85は、不連続なデータに対する書込要求を処理する必要がある。その他の構成および動作は第1の実施の形態と同じである。
2…プロセッサ
3…メインメモリ
4…I/O装置
5…システムバス
8…受信処理部
9…RDMA通信装置
12…コネクション管理メモリ
13…送信処理部
31…アプリケーションメモリ領域
32…制御情報メモリ領域
81…パケット受信部
82…コネクション情報読み出し部
83…パケットエラーチェック部
84…プロトコル処理部
85…ペイロードデータ書込要求部
86…メインメモリ書込処理部
87…コネクション情報書込要求部
88…パケット送信要求部
89…制御情報書込要求部
90…後処理部
Claims (20)
- 受信パケットに含まれるペイロードデータをアプリケーションメモリ領域に直接転送する通信装置において、前記ペイロードデータのエラーチェックを行うエラーチェック部と、前記アプリケーションメモリ領域への前記ペイロードデータの書込処理を行う書込処理部と、前記エラーチェックの処理の完了を待たずに前記書込処理部による前記アプリケーションメモリ領域への前記ペイロードデータの書込処理を開始させ、エラー検出時に、前記書込処理によって上書きされた前記アプリケーションメモリ領域中の有効領域を未だ正常なデータを受信していない無効領域に戻すプロトコル処理部とを備えることを特徴とする通信装置。
- 前記プロトコル処理部は、前記アプリケーションメモリ領域中の有効領域を未だ正常なデータを受信していない無効領域に戻した際、有効領域及び無効領域の情報を通知する応答パケットを送信側に送出することを特徴とする請求項1記載の通信装置。
- 受信パケットに含まれるペイロードデータをアプリケーションメモリ領域に直接転送する通信装置において、前記ペイロードデータのエラーチェックを行うエラーチェック部と、前記アプリケーションメモリ領域への前記ペイロードデータの書込処理を行う書込処理部と、前記アプリケーションメモリ領域中の有効領域が上書きされない範囲内において、前記エラーチェックの処理の完了を待たずに前記書込処理部による前記アプリケーションメモリ領域への前記ペイロードデータの書込処理を開始させるプロトコル処理部とを備えることを特徴とする通信装置。
- 前記プロトコル処理部は、前記アプリケーションメモリ領域中の有効領域と有効領域の間に無効領域が存在せず有効領域が連続している場合、前記ペイロードデータの全てを、前記エラーチェックの処理の完了を待たずに前記書込処理部によって前記アプリケーションメモリ領域へ書き込むことを特徴とする請求項3記載の通信装置。
- 前記プロトコル処理部は、前記アプリケーションメモリ領域中の有効領域と書込予定の前記ペイロードデータとの重なりをチェックし、重なりが存在しないとき、前記ペイロードデータの全てを、前記エラーチェックの処理の完了を待たずに前記書込処理部によって前記アプリケーションメモリ領域へ書き込むことを特徴とする請求項3記載の通信装置。
- 前記プロトコル処理部は、前記アプリケーションメモリ領域中の有効領域と書込予定の前記ペイロードデータとの重なりをチェックし、前記ペイロードデータの少なくとも一部が有効領域と重ならないとき、前記ペイロードデータ中の有効領域と重ならないデータ部分を、前記エラーチェックの処理の完了を待たずに前記書込処理部によって前記アプリケーションメモリ領域へ書き込むことを特徴とする請求項3記載の通信装置。
- 前記プロトコル処理部は、前記ペイロードデータ中の有効領域と重なるデータ部分を、前記エラーチェックの処理の完了後にエラーが発生していないことを条件に前記書込処理部によって前記アプリケーションメモリ領域に書き込むことを特徴とする請求項6記載の通信装置。
- 前記プロトコル処理部は、前記アプリケーションメモリ領域中の有効領域と書込予定の前記ペイロードデータとの重なりをチェックし、前記ペイロードデータの少なくとも一部が有効領域と重ならないとき、前記ペイロードデータの先頭から最初の重なりの直前までのデータ部分を、前記エラーチェックの処理の完了を待たずに前記書込処理部によって前記アプリケーションメモリ領域へ書き込むことを特徴とする請求項3記載の通信装置。
- 前記プロトコル処理部は、前記ペイロードデータの残りのデータ部分を、前記エラーチェックの処理の完了後にエラーが発生していないことを条件に前記書込処理部によって前記アプリケーションメモリ領域に書き込むことを特徴とする請求項8記載の通信装置。
- 前記書込処理部は、書込処理を行っている前記ペイロードデータについて前記エラーチェック部でエラーが検出された場合、当該ペイロードデータの書込処理を中断することを特徴とする請求項1乃至9の何れか1項に記載の通信装置。
- 前記プロトコル処理部は、前記エラーチェックの処理の完了を待たずに、エラーが発生した場合に行うべき後処理と発生しなかった場合に行うべき後処理とを事前に算出することを特徴とする請求項1乃至9の何れか1項に記載の通信装置。
- 前記プロトコル処理部は、前記エラーチェックの処理の完了を待たずに、エラーが発生しなかった場合に行うべき後処理を事前に算出し、予想に反してエラーが発生した場合にはその時点でエラーが発生した場合に行うべき後処理を算出することを特徴とする請求項1乃至9の何れか1項に記載の通信装置。
- 再送されてきたパケットのペイロードの格納先が過去に受信したパケットのペイロードの格納先と一部もしくは全てが重なってしまう可能性があるレイヤ4プロトコルを使用することを特徴とする請求項1乃至9の何れか1項に記載の通信装置。
- RDMA over TCPプロトコルを使用することを特徴とする請求項1乃至9の何れか1項に記載の通信装置。
- 受信パケットに含まれるペイロードデータをアプリケーションメモリ領域に直接転送する通信方法において、前記ペイロードデータのエラーチェックを行う第1のステップと、前記エラーチェックの処理の完了を待たずに前記ペイロードデータを前記アプリケーションメモリ領域へ書き込む第2のステップと、エラー検出時に、前記ペイロードデータによって上書きされた前記アプリケーションメモリ領域中の有効領域を未だ正常なデータを受信していない無効領域に戻す第3のステップとを含むことを特徴とする通信方法。
- 前記アプリケーションメモリ領域中の有効領域を未だ正常なデータを受信していない無効領域に戻した際、有効領域及び無効領域の情報を通知する応答パケットを送信側に送出する第4のステップを含むことを特徴とする請求項15記載の通信方法。
- 受信パケットに含まれるペイロードデータをアプリケーションメモリ領域に直接転送する通信方法において、前記ペイロードデータのエラーチェックを行う第1のステップと、前記ペイロードデータの書込処理によって前記アプリケーションメモリ領域中の有効領域が上書きされるかどうかをチェックする第2のステップと、前記アプリケーションメモリ領域中の有効領域が上書きされない範囲内において、前記エラーチェックの処理の完了を待たずに前記書込処理部による前記アプリケーションメモリ領域への前記ペイロードデータの書込処理を開始させる第3のステップとを含むことを特徴とする通信方法。
- 受信パケットに含まれるペイロードデータをアプリケーションメモリ領域に直接転送する通信装置を構成するコンピュータに、前記ペイロードデータのエラーチェックを行う第1のステップと、前記エラーチェックの処理の完了を待たずに前記ペイロードデータを前記アプリケーションメモリ領域へ書き込む第2のステップと、エラー検出時に、前記ペイロードデータによって上書きされた前記アプリケーションメモリ領域中の有効領域を未だ正常なデータを受信していない無効領域に戻す第3のステップとを行わせるためのプログラム。
- 前記コンピュータに、さらに、前記アプリケーションメモリ領域中の有効領域を未だ正常なデータを受信していない無効領域に戻した際、有効領域及び無効領域の情報を通知する応答パケットを送信側に送出する第4のステップを行わせることを特徴とする請求項18記載のプログラム。
- 受信パケットに含まれるペイロードデータをアプリケーションメモリ領域に直接転送する通信装置を構成するコンピュータに、前記ペイロードデータのエラーチェックを行う第1のステップと、前記ペイロードデータの書込処理によって前記アプリケーションメモリ領域中の有効領域が上書きされるかどうかをチェックする第2のステップと、前記アプリケーションメモリ領域中の有効領域が上書きされない範囲内において、前記エラーチェックの処理の完了を待たずに前記書込処理部による前記アプリケーションメモリ領域への前記ペイロードデータの書込処理を開始させる第3のステップとを行わせるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006055969A JP4736859B2 (ja) | 2006-03-02 | 2006-03-02 | 通信装置および通信方法 |
US11/708,347 US7817572B2 (en) | 2006-03-02 | 2007-02-21 | Communications apparatus and communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006055969A JP4736859B2 (ja) | 2006-03-02 | 2006-03-02 | 通信装置および通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007235674A JP2007235674A (ja) | 2007-09-13 |
JP4736859B2 true JP4736859B2 (ja) | 2011-07-27 |
Family
ID=38471410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006055969A Expired - Fee Related JP4736859B2 (ja) | 2006-03-02 | 2006-03-02 | 通信装置および通信方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7817572B2 (ja) |
JP (1) | JP4736859B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8351426B2 (en) * | 2008-03-20 | 2013-01-08 | International Business Machines Corporation | Ethernet virtualization using assisted frame correction |
EP2871811B1 (en) * | 2012-07-25 | 2018-04-04 | Huawei Technologies Co., Ltd. | Data shunting method, data transmission device and shunting node device |
US8988987B2 (en) * | 2012-10-25 | 2015-03-24 | International Business Machines Corporation | Technology for network communication by a computer system using at least two communication protocols |
JP6245700B2 (ja) * | 2014-04-11 | 2017-12-13 | 国立大学法人 東京大学 | 計算機システム、データの検査方法及び計算機 |
WO2023032127A1 (ja) * | 2021-09-02 | 2023-03-09 | 日本電信電話株式会社 | 通信システム、計算機、通信方法、および、プログラム |
WO2023047567A1 (ja) * | 2021-09-27 | 2023-03-30 | 日本電信電話株式会社 | 中間装置、通信方法、およびプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02181248A (ja) | 1989-01-06 | 1990-07-16 | Fujitsu Ltd | Dmaシステム |
JPH03203445A (ja) | 1989-12-29 | 1991-09-05 | Fujitsu Ltd | 受信バッファ切り替えによる回線制御方式 |
JPH0522350A (ja) * | 1991-07-17 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 時間軸変換メモリ装置 |
JP3203445B2 (ja) | 1993-03-09 | 2001-08-27 | マツダ株式会社 | ターボ過給機付エンジンの排気還流装置 |
JPH09149067A (ja) * | 1995-11-21 | 1997-06-06 | Hitachi Cable Ltd | スイッチングハブ |
JP3356203B2 (ja) | 1997-06-09 | 2002-12-16 | 日本電気株式会社 | Mpeg2トランスポートストリーム分離方法と回路 |
US6977930B1 (en) * | 2000-02-14 | 2005-12-20 | Cisco Technology, Inc. | Pipelined packet switching and queuing architecture |
JP2004007354A (ja) * | 2002-04-02 | 2004-01-08 | Nippon Telegr & Teleph Corp <Ntt> | 計算機間データ転送方法及びデータ同報配信方法 |
WO2003104943A2 (en) * | 2002-06-11 | 2003-12-18 | Ashish A Pandya | High performance ip processor for tcp/ip, rdma and ip storage applications |
JP4408692B2 (ja) * | 2003-12-19 | 2010-02-03 | 富士通株式会社 | 通信装置管理プログラム |
US20070168452A1 (en) * | 2004-05-21 | 2007-07-19 | Winter Howard W | Method of processing data, a network analyser card, a host and an intrusion detection system |
-
2006
- 2006-03-02 JP JP2006055969A patent/JP4736859B2/ja not_active Expired - Fee Related
-
2007
- 2007-02-21 US US11/708,347 patent/US7817572B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20070206598A1 (en) | 2007-09-06 |
JP2007235674A (ja) | 2007-09-13 |
US7817572B2 (en) | 2010-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4160642B2 (ja) | ネットワークデータ転送方法 | |
US7397800B2 (en) | Method and system for data placement of out-of-order (OOO) TCP segments | |
US10430374B2 (en) | Selective acknowledgement of RDMA packets | |
US8706901B2 (en) | Protocols for high performance computing visualization, computational steering and forward progress | |
US6470391B2 (en) | Method for transmitting data via a network in a form of divided sub-packets | |
US7363572B2 (en) | Editing outbound TCP frames and generating acknowledgements | |
US8655974B2 (en) | Zero copy data transmission in a software based RDMA network stack | |
US9071525B2 (en) | Data receiving apparatus, data receiving method, and program storage medium | |
JP4736859B2 (ja) | 通信装置および通信方法 | |
JP4464969B2 (ja) | Rdma完了および再送信システムおよび方法 | |
CN113709131B (zh) | 一种网络数据传输方法、装置、计算机设备及可读介质 | |
JP4786354B2 (ja) | iSCSI通信制御方法とそれを用いた記憶システム | |
US6826148B1 (en) | System and method for implementing a routing scheme in a computer network using intention packets when fault conditions are detected | |
US9130740B2 (en) | Variable acknowledge rate to reduce bus contention in presence of communication errors | |
JP4979823B2 (ja) | データ転送エラー検査 | |
JP6745821B2 (ja) | ハイパーテキスト・トランスファ・プロトコル要求の再送方法及びデバイス並びにクライアント端末 | |
US20070115820A1 (en) | Apparatus and method for creating and managing TCP transmission information based on TOE | |
JP3727928B2 (ja) | 情報処理装置及び再送制御方法 | |
US20170265103A1 (en) | Communication device, communication method, and non-transitory computer readable medium | |
US20080091841A1 (en) | Communication method, communication system, communication apparatus, and recording medium | |
JP4510524B2 (ja) | データ通信装置 | |
JP2008148181A (ja) | 通信装置及び通信制御方法 | |
CN117729274A (zh) | 报文处理的方法、装置、设备及可读存储介质 | |
CN115314445A (zh) | 数据报文传输方法及装置、存储介质和电子设备 | |
CN115686344A (zh) | 网络接口卡、数据存储方法和存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090212 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090805 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110204 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110418 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |