JP2017011580A - 通信装置およびその制御方法、プログラム - Google Patents
通信装置およびその制御方法、プログラム Download PDFInfo
- Publication number
- JP2017011580A JP2017011580A JP2015126871A JP2015126871A JP2017011580A JP 2017011580 A JP2017011580 A JP 2017011580A JP 2015126871 A JP2015126871 A JP 2015126871A JP 2015126871 A JP2015126871 A JP 2015126871A JP 2017011580 A JP2017011580 A JP 2017011580A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- buffer
- data buffer
- communication
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/1735—Network adapters, e.g. SCI, Myrinet
-
- 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/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—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/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out 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/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
【解決手段】第1のデータバッファと、第1のデータバッファよりも高速なアクセスが可能な第2のデータバッファと、を有する通信装置は、送信対象のデータを第2のデータバッファへ転送し、第2のデータバッファに転送された送信対象のデータを用いて送信用データを生成して通信相手装置へ送信し、送信用データが生成または送信された後、通信相手装置からの特定の応答を待たずに第2のデータバッファを解放する。通信装置は、第2のデータバッファが解放された後も送信対象のデータの再送を可能にするために、送信対象のデータまたは送信用データを第1のデータバッファに保持する。
【選択図】図1
Description
第1のデータバッファと、前記第1のデータバッファよりも高速なアクセスが可能な第2のデータバッファとを有する通信装置であって、
送信対象のデータを前記第2のデータバッファへ転送する第1の転送手段と、
前記第2のデータバッファに転送された前記送信対象のデータを用いて送信用データを生成して通信相手装置へ送信する送信手段と、
前記送信手段により前記送信用データが生成または送信された後、前記通信相手装置からの特定の応答を待たずに前記第2のデータバッファを解放する解放手段と、
前記送信対象のデータの再送を可能にするために、前記送信対象のデータまたは前記送信用データを前記第1のデータバッファに保持させる保持手段と、を備える。
単一または複数のアプリケーションが、複数コネクションの通信時に、高速アクセスが可能なSRAMなどの高速メモリに割り当てられたネットワークバッファ(以下、高速バッファ)を使用できなくなることがある。その原因の一つは、肯定応答を必要とする通信では、通信相手装置から肯定応答が受信するまで送信に使用した高速バッファを解放できないことにある。
次に第2実施形態の通信処理を説明する。第1実施形態では、送信対象のデータであるユーザデータを高速バッファと低速バッファの両方に転送し、高速バッファを用いてユーザデータを送信して高速バッファを解放し、再送のために低速バッファに保持されたユーザデータを用いるようにした。第2実施形態の通信装置は、送信対象となるユーザデータを高速バッファへ転送し、高速バッファを用いて生成したパケットを通信部110から送信するとともに低速バッファに保持させる。こうして、第2実施形態の通信装置は、パケットの送信とともに高速バッファを解放することを可能とする。なお、第2実施形態の通信装置の構成は第1実施形態(図1)と同様である。
次に、第3実施形態の通信処理を説明する。第3実施形態では、高速バッファと通常バッファを併用した通信を行うか、高速バッファを用いずに通常バッファを用いた通信を行うかを自動的に判定して通信処理を切り換える構成について説明する。なお、第3実施形態の通信装置は、第1実施形態および第2実施形態と同様の構成(図1)を備えている。
(2)ステップS602において、パケットの属性に含まれる宛先ポートまたは送信元ポートを調べ、宛先ポートまたは送信元ポートが所定のポート番号に合致する場合は高速バッファを使用すると判定する。特定の通信プロトコルに対して所定のポート番号が割り当てられていることが多いので、この方法によれば、特定の通信プロトコルを用いる通信の場合に高速な通信を行うようになる。たとえば特定の通信プロトコルがTCPの場合は、TCP通信のみが高速な通信を行うことができる構成となる。
(3)ステップS602において、パケットの属性に含まれる宛先ポートおよび送信元ポートを調べ、宛先ポートおよび送信元ポートの組み合わせが所定のポート番号の組み合わせに合致する場合は高速バッファを使用すると判定する。こうすれば、特定のコネクションについて高速な通信を行うことができる。
(4)ステップS602において、ユーザデータの送信に用いられるコネクションにおけるパケットのロス率を調べ、パケットのロス率が所定の閾値を超えない場合に高速バッファを使用すると判定する。こうすれば、パケットのロス率が少ない環境においてユーザデータを送信する場合に高速な通信を実現することができる。
(5)ステップS602において、ソケットAPI send()を呼び出した際の送信対象であるユーザデータのデータサイズを判定し、データサイズが所定の閾値を超える場合は高速バッファを使用すると判定する。こうすれば、大きなデータを送信する際に高速な通信を行うことができる。
(6)ステップS602において、パケットのデータ種別を判定し、所定のデータ種別に合致する場合は高速バッファを使用すると判定する。こうすれば、特定のデータについて高速な通信を行うことができる。例えば、RTP(Real-time Transport Protocol)の場合、特定のペイロード形式のみに高速な通信を適用するように構成することができる。
(7)また、ステップS602において、高速バッファに枯渇が発生している(高速バッファの空き領域が逼迫している)かどうかを判定し、高速バッファに枯渇が発生していない場合に高速バッファを使用すると判定する。たとえば、高速バッファの空き容量が所定値を超える場合に高速バッファを使用すると判定される。
次に、第4実施形態の通信処理を説明する。第1実施形態では、データを再送するごとにTCP/IPパケットのパケットヘッダを生成する(ステップS310)がこれに限られるものではない。第4実施形態では、送信対象であるユーザデータに基づいて生成された送信用データが、ユーザデータと該ユーザデータに基づいて生成されたヘッダ部とを含む場合に、ヘッダ部を通常バッファに保持しておき、ユーザデータの再送時に再利用できるようにする。すなわち、第4実施形態では、生成したTCP/IPパケットのパケットヘッダの再利用を可能にする構成を説明する。なお、第4実施形態の通信装置の構成は、第1実施形態(図1)と同様である。以下、図7のフローチャートにより第4実施形態のソケットAPI send()によるデータ送信を説明する。
Claims (18)
- 第1のデータバッファと、前記第1のデータバッファよりも高速なアクセスが可能な第2のデータバッファとを有する通信装置であって、
送信対象のデータを前記第2のデータバッファへ転送する第1の転送手段と、
前記第2のデータバッファに転送された前記送信対象のデータを用いて送信用データを生成して通信相手装置へ送信する送信手段と、
前記送信手段により前記送信用データが生成または送信された後、前記通信相手装置からの特定の応答を待たずに前記第2のデータバッファを解放する解放手段と、
前記送信対象のデータの再送を可能にするために、前記送信対象のデータまたは前記送信用データを前記第1のデータバッファに保持させる保持手段と、を備えることを特徴とする通信装置。 - 前記特定の応答を待つ間に、前記第1のデータバッファが保持している前記送信対象のデータまたは前記送信用データを用いて、前記送信対象のデータを前記通信相手装置へ再送する再送手段をさらに備えることを特徴とする請求項1に記載の通信装置。
- 前記保持手段は、前記送信対象のデータを前記第1のデータバッファに転送する第2の転送手段を含み、
前記再送手段は、前記第1のデータバッファに転送された前記送信対象のデータを用いて再送のための送信用データを生成し、送信することを特徴とする請求項2に記載の通信装置。 - 前記保持手段は、前記送信用データを前記第1のデータバッファに転送する第2の転送手段を含み、
前記再送手段は、前記第1のデータバッファから前記送信用データを取得して再送することを特徴とする請求項2に記載の通信装置。 - 前記第2のデータバッファを使用するか否かを判定する判定手段をさらに備え、
前記第2のデータバッファを使用しないと判定された場合には、
前記第1の転送手段による前記送信対象のデータの転送を禁止し、
前記送信手段は、前記第2の転送手段により前記第1のデータバッファに転送された前記送信対象のデータを用いて送信用データを生成する、ことを特徴とする請求項3に記載の通信装置。 - 前記判定手段は、前記送信対象のデータを送信するコネクションの通信速度に基づいて前記第2のデータバッファを使用するか否かを判定することを特徴とする請求項5に記載の通信装置。
- 前記判定手段は、前記送信対象のデータの宛先ポートおよび/または送信元ポートのポート番号に基づいて、前記第2のデータバッファを使用するか否かを判定することを特徴とする請求項5または6に記載の通信装置。
- 前記判定手段は、前記送信対象のデータの宛先アドレスに基づいて、前記第2のデータバッファを使用するか否かを判定することを特徴とする請求項5乃至7のいずれか1項に記載の通信装置。
- 前記判定手段は、前記送信対象のデータのコネクションにおけるパケットのロス率に基づいて、前記第2のデータバッファを使用するか否かを判定することを特徴とする請求項5乃至8のいずれか1項に記載の通信装置。
- 前記判定手段は、前記送信対象のデータのデータサイズに基づいて、前記第2のデータバッファを使用するか否かを判定することを特徴とする請求項5乃至9のいずれか1項に記載の通信装置。
- 前記判定手段は、前記送信用データとしてのパケットのデータ種別に基づいて、前記第2のデータバッファを使用するか否かを判定することを特徴とする請求項5乃至10のいずれか1項に記載の通信装置。
- 前記判定手段は、前記第2のデータバッファの空き容量に基づいて、前記第2のデータバッファを使用するか否かを判定することを特徴とする請求項5乃至11のいずれか1項に記載の通信装置。
- 前記送信手段が送信する前記送信用データは、前記送信対象のデータと該送信対象のデータに基づいて生成されたヘッダ部とを含み、
前記ヘッダ部は前記第1のデータバッファに保持され、
前記再送手段は、前記第1のデータバッファに保持されている前記ヘッダ部と前記送信対象のデータを用いて前記再送のための送信用データを生成することを特徴とする請求項3に記載の通信装置。 - 前記解放手段は、さらに、前記特定の応答の受信に応じて前記第1のデータバッファを解放することを特徴とする請求項1乃至13のいずれか1項に記載の通信装置。
- 前記送信用データは、前記送信対象のデータをパケット化した得られるパケットであることを特徴とする請求項1乃至14のいずれか1項に記載の通信装置。
- 前記第1のデータバッファはDRAMにより構成され、前記第2のデータバッファはSRAMにより構成されることを特徴とする請求項1乃至15のいずれか1項に記載の通信装置。
- 第1のデータバッファと、前記第1のデータバッファよりも高速なアクセスが可能な第2のデータバッファとを有する通信装置の制御方法であって、
送信対象のデータを前記第2のデータバッファへ転送する第1の転送工程と、
前記第2のデータバッファに転送された前記送信対象のデータを用いて送信用データを生成して通信相手装置へ送信する送信工程と、
前記送信工程で前記送信用データが生成または送信された後、前記通信相手装置からの特定の応答を待たずに前記第2のデータバッファを解放する解放工程と、
前記送信対象のデータの再送を可能にするために、前記送信対象のデータまたは前記送信用データを前記第1のデータバッファに保持させる保持工程と、を有することを特徴とする通信装置の制御方法。 - コンピュータを、請求項1乃至16のいずれか1項に記載された通信装置の各手段として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015126871A JP2017011580A (ja) | 2015-06-24 | 2015-06-24 | 通信装置およびその制御方法、プログラム |
US15/189,602 US10372667B2 (en) | 2015-06-24 | 2016-06-22 | Communication apparatus and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015126871A JP2017011580A (ja) | 2015-06-24 | 2015-06-24 | 通信装置およびその制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017011580A true JP2017011580A (ja) | 2017-01-12 |
Family
ID=57605290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015126871A Pending JP2017011580A (ja) | 2015-06-24 | 2015-06-24 | 通信装置およびその制御方法、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10372667B2 (ja) |
JP (1) | JP2017011580A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019057781A (ja) * | 2017-09-20 | 2019-04-11 | キヤノン株式会社 | 通信装置および通信装置の制御方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017011580A (ja) * | 2015-06-24 | 2017-01-12 | キヤノン株式会社 | 通信装置およびその制御方法、プログラム |
JP6515915B2 (ja) * | 2016-12-26 | 2019-05-22 | トヨタ自動車株式会社 | 車載ネットワークシステム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544306A (en) * | 1994-05-03 | 1996-08-06 | Sun Microsystems, Inc. | Flexible dram access in a frame buffer memory and system |
US6151641A (en) * | 1997-09-30 | 2000-11-21 | Lsi Logic Corporation | DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments |
US6529945B1 (en) * | 1999-07-26 | 2003-03-04 | International Business Machines Corporation | Data buffer management between two different systems |
US6874044B1 (en) * | 2003-09-10 | 2005-03-29 | Supertalent Electronics, Inc. | Flash drive/reader with serial-port controller and flash-memory controller mastering a second RAM-buffer bus parallel to a CPU bus |
JP2002358288A (ja) * | 2001-05-31 | 2002-12-13 | Hitachi Ltd | 半導体集積回路及びコンピュータ読取り可能な記録媒体 |
US7110400B2 (en) * | 2002-04-10 | 2006-09-19 | Integrated Device Technology, Inc. | Random access memory architecture and serial interface with continuous packet handling capability |
TW573408B (en) * | 2002-05-07 | 2004-01-21 | Via Tech Inc | Host channel adapter and relevant method |
US7843968B2 (en) * | 2002-09-30 | 2010-11-30 | Sanyo Electric Co., Ltd. | Communication apparatus and applications thereof |
US20060031565A1 (en) * | 2004-07-16 | 2006-02-09 | Sundar Iyer | High speed packet-buffering system |
TWI257790B (en) * | 2004-10-29 | 2006-07-01 | Ind Tech Res Inst | System for protocol processing engine |
US7499412B2 (en) * | 2005-07-01 | 2009-03-03 | Net Optics, Inc. | Active packet content analyzer for communications network |
US20090157946A1 (en) * | 2007-12-12 | 2009-06-18 | Siamak Arya | Memory having improved read capability |
JP2009290297A (ja) * | 2008-05-27 | 2009-12-10 | Fujitsu Ltd | 通信装置および通信装置の制御方法 |
US7826469B1 (en) * | 2009-03-09 | 2010-11-02 | Juniper Networks, Inc. | Memory utilization in a priority queuing system of a network device |
JP5066241B2 (ja) * | 2010-09-24 | 2012-11-07 | 株式会社東芝 | メモリシステム |
JP5361924B2 (ja) | 2011-02-28 | 2013-12-04 | 株式会社東芝 | データ送信装置、データ通信装置および通信プログラム |
US9645870B2 (en) * | 2013-06-27 | 2017-05-09 | Atmel Corporation | System for debugging DMA system data transfer |
JP6351363B2 (ja) * | 2013-08-01 | 2018-07-04 | キヤノン株式会社 | 通信装置およびそのデータ処理方法 |
US9361956B2 (en) * | 2014-01-15 | 2016-06-07 | Advanced Micro Devices, Inc. | Performing logical operations in a memory |
US10313410B2 (en) * | 2014-03-21 | 2019-06-04 | Ptc Inc. | Systems and methods using binary dynamic rest messages |
US9613109B2 (en) * | 2015-05-14 | 2017-04-04 | Walleye Software, LLC | Query task processing based on memory allocation and performance criteria |
JP2017011580A (ja) * | 2015-06-24 | 2017-01-12 | キヤノン株式会社 | 通信装置およびその制御方法、プログラム |
-
2015
- 2015-06-24 JP JP2015126871A patent/JP2017011580A/ja active Pending
-
2016
- 2016-06-22 US US15/189,602 patent/US10372667B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019057781A (ja) * | 2017-09-20 | 2019-04-11 | キヤノン株式会社 | 通信装置および通信装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US10372667B2 (en) | 2019-08-06 |
US20160378714A1 (en) | 2016-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430374B2 (en) | Selective acknowledgement of RDMA packets | |
US7885264B2 (en) | Communications system, communications device, and data retransmission control method | |
CN105376173B (zh) | 一种发送窗口流量控制方法和终端 | |
CN103858404B (zh) | 通信装置 | |
CN109120383A (zh) | 无人机及其地面站、数据传输方法 | |
US8266317B2 (en) | Reducing idle time due to acknowledgement packet delay | |
WO2018121535A1 (zh) | 一种负载均衡处理方法及装置 | |
US10708816B2 (en) | Communication apparatus, communication method, and non-transitory computer-readable storage medium for performing packetization processing that does not depend on a network interface | |
JP2017011580A (ja) | 通信装置およびその制御方法、プログラム | |
US9590909B2 (en) | Reducing TCP timeouts due to Incast collapse at a network switch | |
JP2014195158A (ja) | 通信装置と、当該通信装置を含む通信システム、及びその制御方法とプログラム | |
JP2005143076A (ja) | パケット通信装置、パケット通信方法、データ受信装置およびデータ受信方法 | |
CN105472655B (zh) | 一种拥塞窗口的调整方法、相关装置和系统 | |
JP6933207B2 (ja) | 送信装置、方法およびプログラム | |
US20140071993A1 (en) | Transfer device and transfer method | |
JP6010502B2 (ja) | パケット処理方法及びパケット処理装置 | |
JP6675189B2 (ja) | 通信装置およびその制御方法、プログラム | |
JP2005051738A (ja) | モバイルアドホックネットワークにおけるトランスポート層を用いた効率的なデータの送受信方法及びその方法を用いたネットワーク装置 | |
JP6618330B2 (ja) | 通信装置及びその方法、コンピュータプログラム | |
JP7024259B2 (ja) | 情報処理システム、情報処理方法、プログラム、及び情報処理装置 | |
EP3737204A1 (en) | Mobile communication system, method and device | |
US9172774B2 (en) | Technique for managing communications at a router | |
WO2022027311A1 (zh) | 一种通信方法及装置 | |
JP4572306B2 (ja) | 通信装置、通信方法及びプログラム | |
JP6688122B2 (ja) | 通信装置およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190610 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191008 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20191111 |