JP7049140B2 - 通信装置およびその制御方法 - Google Patents
通信装置およびその制御方法 Download PDFInfo
- Publication number
- JP7049140B2 JP7049140B2 JP2018039641A JP2018039641A JP7049140B2 JP 7049140 B2 JP7049140 B2 JP 7049140B2 JP 2018039641 A JP2018039641 A JP 2018039641A JP 2018039641 A JP2018039641 A JP 2018039641A JP 7049140 B2 JP7049140 B2 JP 7049140B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- storage unit
- packet
- mode
- header
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Bus Control (AREA)
- Communication Control (AREA)
Description
パケットのペイロードを生成する第1生成手段と、
パケットの通信ヘッダのひな型となる仮通信ヘッダを生成する第2生成手段と、
前記ペイロードと前記仮通信ヘッダとに基づいて通信ヘッダを生成する第3生成手段と、
前記ペイロードと前記通信ヘッダとを含むパケットを送信する送信手段と、
を有し、
前記第3生成手段は、前記通信ヘッダを生成する動作モードとして、
前記ペイロードと前記仮通信ヘッダとに基づいて該仮通信ヘッダの一部を更新した通信ヘッダを含むパケットを第1記憶部に生成し、前記第1記憶部と異なる第2記憶部に生成しない第1モードと、
前記ペイロードと前記仮通信ヘッダとに基づいて該仮通信ヘッダの一部を更新した通信ヘッダを前記第2記憶部に生成し、前記第1記憶部に生成しない第2モードと、
を有し、
前記第3生成手段は、所定の条件に基づいて前記第1モードと前記第2モードとの何れの動作モードを使用するかを決定し、
前記送信手段は、前記第3生成手段が前記第1モードで動作した場合は前記第1記憶部に生成されたパケットを送信し、前記第3生成手段が前記第2モードで動作した場合は前記第1生成手段により生成された前記ペイロードと前記第2記憶部に生成された通信ヘッダとを結合してパケットとして送信する。
本発明に係る通信装置の第1実施形態として、TCP/IPで通信を行う通信装置100を例に挙げて以下に説明する。特に、アクセスレイテンシと記憶容量の異なる複数のメモリを、所定の条件に応じた動作モードで利用する技術について説明する。
図1は、第1実施形態に係る通信装置100のブロック図である。通信装置100は、通信装置100全体の制御を実行するメインシステム101と、通信プロトコル処理を実行するサブシステム105と、を含んでいる。そして、メインシステム101とサブシステム105は、相互に接続されている。
まず、通信装置100が、パケットを送信する際の動作モードについて説明する。通信装置は、後述する所定の条件に応じて動作モードを切り替えることにより、2種類のメモリ(主記憶部103及び補助記憶部110)を効率的に使用した高速なパケットの生成を実現する。
まず、通信装置100が、第1モードによりネットワーク108を介して外部機器へパケットを送信する際の各処理のシーケンスについて説明する。ここでは通信装置100が外部機器との間でデータ転送する際に使用する通信プロトコルとしてTCP/IPプロトコルを例に説明しているが、それ以外の通信プロトコルであってもよい。
次に、通信装置100が、第2モードによりネットワーク108を介して外部機器へパケットを送信する際の各処理のシーケンスについて説明する。ここでは通信装置100が外部機器との間でデータ転送する際に使用する通信プロトコルとしてTCP/IPプロトコルを例に説明しているが、それ以外の通信プロトコルであってもよい。
上述の第1モードと第2モードの特徴について説明する。
上述の各動作モードの特徴を考慮して、第1実施形態では、図6に示すフローチャートに示される形態で動作モードを選択する。
第2実施形態では、第2モードにおいて更なる処理効率の向上を可能とする形態について説明する。より具体的には、DMAコントローラ120が実施するデータ転送のデータ量を抑制する動作例について説明する。
・第2モードにおけるパケット生成動作
第2実施形態に係る通信装置100が、第2モードによりネットワーク108を介して外部機器へパケットを送信する際の各処理のシーケンスについて説明する。ここでは通信装置100が外部機器との間でデータ転送する際に使用する通信プロトコルとしてTCP/IPプロトコルを例に説明しているが、それ以外の通信プロトコルであってもよい。
第2実施形態の第2モードにおいては、TCPチェックサムの計算にあたって、ペイロード(一般に、途中結果よりもデータ量が大幅に多い)を読み込む必要が無い。そのため、処理時間や消費電力の側面で第1実施形態の第2モードよりも有利である。ただし、第2実施形態のDMAコントローラ120には、TCPチェックサムの動作モードに加え、途中結果の動作モードが追加で必要となる。そのため、実装規模(ハードウェアで実現する場合にはゲート規模)が大きくなる。
上述の動作モードの特徴を考慮して、第2実施形態では、図6に示すフローチャートに示される形態で動作モードを選択する。特に、S602における分岐について説明を行う。S601、S603~S605については第1実施形態と同様であるため説明は省略する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (11)
- データをパケットとして送信する通信装置であって、
パケットのペイロードを生成する第1生成手段と、
パケットの通信ヘッダのひな型となる仮通信ヘッダを生成する第2生成手段と、
前記ペイロードと前記仮通信ヘッダとに基づいて通信ヘッダを生成する第3生成手段と、
前記ペイロードと前記通信ヘッダとを含むパケットを送信する送信手段と、
を有し、
前記第3生成手段は、前記通信ヘッダを生成する動作モードとして、
前記ペイロードと前記仮通信ヘッダとに基づいて該仮通信ヘッダの一部を更新した通信ヘッダを含むパケットを第1記憶部に生成し、前記第1記憶部と異なる第2記憶部に生成しない第1モードと、
前記ペイロードと前記仮通信ヘッダとに基づいて該仮通信ヘッダの一部を更新した通信ヘッダを前記第2記憶部に生成し、前記第1記憶部に生成しない第2モードと、
を有し、
前記第3生成手段は、所定の条件に基づいて前記第1モードと前記第2モードとの何れの動作モードを使用するかを決定し、
前記送信手段は、前記第3生成手段が前記第1モードで動作した場合は前記第1記憶部に生成されたパケットを送信し、前記第3生成手段が前記第2モードで動作した場合は前記第1生成手段により生成された前記ペイロードと前記第2記憶部に生成された通信ヘッダとを結合してパケットとして送信する
ことを特徴とする通信装置。 - 前記第1記憶部のアクセスレイテンシは前記第2記憶部のアクセスレイテンシよりも大きい
ことを特徴とする請求項1に記載の通信装置。 - 前記第1記憶部の記憶容量は前記第2記憶部の記憶容量よりも大きい
ことを特徴とする請求項1又は2に記載の通信装置。 - 前記第1生成手段は、送信することになるデータが所定長を超える場合、該データを前記所定長を超えないN個のペイロードに分割して生成し、
前記第2生成手段は、N個のペイロードに対応するN個の仮通信ヘッダを生成し、
前記第3生成手段は、N個のペイロードとN個の仮通信ヘッダとに基づいてN個のパケットを生成する
ことを特徴とする請求項1乃至3の何れか1項に記載の通信装置。 - 前記第1記憶部及び前記第2記憶部に記憶されたデータを操作可能なDMA(Direct Memory Access)コントローラを更に有し、
前記第1生成手段は、前記DMAコントローラを介して前記ペイロードを生成するよう構成されており、
前記第3生成手段は、前記DMAコントローラを介して前記通信ヘッダを生成するよう構成されており、
前記第1生成手段は、前記DMAコントローラが前記ペイロードを生成する際のメモリ操作を記述した第1デスクリプタを前記第2記憶部に設定し、
前記第3生成手段は、前記DMAコントローラが前記通信ヘッダを生成する際のメモリ操作を記述した第2デスクリプタを前記第2記憶部に設定する
ことを特徴とする請求項1乃至4の何れか1項に記載の通信装置。 - 前記所定の条件は、前記送信手段における通信ヘッダとペイロードとの結合機能の有無を含み、
前記第3生成手段は、前記送信手段が前記結合機能を有していない場合は前記第1モードを使用すると決定する
ことを特徴とする請求項1乃至5の何れか1項に記載の通信装置。 - 前記所定の条件は、前記仮通信ヘッダの一部の更新における前記ペイロードの転送必要性の有無を含み、
前記第3生成手段は、前記仮通信ヘッダの一部の更新において前記ペイロードの転送が必要でない場合は前記第2モードを使用すると決定する
ことを特徴とする請求項1乃至5の何れか1項に記載の通信装置。 - 前記所定の条件は、通信における再送頻度を含み、
前記第3生成手段は、再送頻度が所定閾値以上である場合は前記第1モードを使用すると決定する
ことを特徴とする請求項1乃至5の何れか1項に記載の通信装置。 - 前記パケットは、TCP(Transmission Control Protocol)パケットであり、
前記仮通信ヘッダの一部は、TCPチェックサムフィールドである
ことを特徴とする請求項1乃至8の何れか1項に記載の通信装置。 - データをパケットとして送信する通信装置の制御方法であって、
パケットのペイロードを生成する第1生成工程と、
パケットの通信ヘッダのひな型となる仮通信ヘッダを生成する第2生成工程と、
前記ペイロードと前記仮通信ヘッダとに基づいて通信ヘッダを生成する第3生成工程と、
前記ペイロードと前記通信ヘッダとを含むパケットを送信する送信工程と、
を含み、
前記第3生成工程では、所定の条件に基づいて、
前記ペイロードと前記仮通信ヘッダとに基づいて該仮通信ヘッダの一部を更新した通信ヘッダを含むパケットを第1記憶部に生成し、前記第1記憶部と異なる第2記憶部に生成しない第1モードと、
前記ペイロードと前記仮通信ヘッダとに基づいて該仮通信ヘッダの一部を更新した通信ヘッダを前記第2記憶部に生成し、前記第1記憶部に生成しない第2モードと、
の何れの動作モードを使用するかを決定し、
前記送信工程では、前記第3生成工程において前記第1モードを使用した場合は前記第1記憶部に生成されたパケットを送信し、前記第3生成工程において前記第2モードを使用した場合は前記第1生成工程により生成された前記ペイロードと前記第2記憶部に生成された通信ヘッダとを結合してパケットとして送信する
ことを特徴とする通信装置の制御方法。 - コンピュータを、請求項1乃至9の何れか1項に記載の通信装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018039641A JP7049140B2 (ja) | 2018-03-06 | 2018-03-06 | 通信装置およびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018039641A JP7049140B2 (ja) | 2018-03-06 | 2018-03-06 | 通信装置およびその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019153214A JP2019153214A (ja) | 2019-09-12 |
JP7049140B2 true JP7049140B2 (ja) | 2022-04-06 |
Family
ID=67946651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018039641A Active JP7049140B2 (ja) | 2018-03-06 | 2018-03-06 | 通信装置およびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7049140B2 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006081033A (ja) | 2004-09-10 | 2006-03-23 | Canon Inc | 通信制御装置及び方法 |
JP2007266759A (ja) | 2006-03-27 | 2007-10-11 | Sony Computer Entertainment Inc | ネットワーク処理装置、マルチプロセッサシステムおよびネットワークプロトコル処理方法 |
JP2008109473A (ja) | 2006-10-26 | 2008-05-08 | Canon Inc | データ処理装置及び方法 |
JP2009116386A (ja) | 2007-11-01 | 2009-05-28 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP2013102556A (ja) | 2013-03-05 | 2013-05-23 | Renesas Electronics Corp | 通信装置及び方法 |
JP2015207223A (ja) | 2014-04-22 | 2015-11-19 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732351B1 (en) * | 2010-04-07 | 2014-05-20 | Applied Micro Circuits Corporation | System and method for packet splitting |
-
2018
- 2018-03-06 JP JP2018039641A patent/JP7049140B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006081033A (ja) | 2004-09-10 | 2006-03-23 | Canon Inc | 通信制御装置及び方法 |
JP2007266759A (ja) | 2006-03-27 | 2007-10-11 | Sony Computer Entertainment Inc | ネットワーク処理装置、マルチプロセッサシステムおよびネットワークプロトコル処理方法 |
JP2008109473A (ja) | 2006-10-26 | 2008-05-08 | Canon Inc | データ処理装置及び方法 |
JP2009116386A (ja) | 2007-11-01 | 2009-05-28 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP2013102556A (ja) | 2013-03-05 | 2013-05-23 | Renesas Electronics Corp | 通信装置及び方法 |
JP2015207223A (ja) | 2014-04-22 | 2015-11-19 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2019153214A (ja) | 2019-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8848703B2 (en) | On-chip router and multi-core system using the same | |
JP6433146B2 (ja) | 情報処理装置、システム、情報処理方法、コンピュータプログラム | |
JP6600241B2 (ja) | 演算装置及び演算方法、通信装置 | |
EP3563534B1 (en) | Transferring packets between virtual machines via a direct memory access device | |
JP2006338538A (ja) | ストリームプロセッサ | |
JP2011150666A (ja) | 通信装置、情報処理装置、通信装置の制御方法及び制御プログラム | |
JP7049140B2 (ja) | 通信装置およびその制御方法 | |
US11336297B2 (en) | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium | |
JP2012226471A (ja) | 通信方法および通信サーバ | |
US11546261B2 (en) | Congestion control method and related device | |
JP7056870B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20160261484A9 (en) | Chip multi processor and router for chip multi processor | |
JP2010198171A (ja) | Usbホストコントローラ、及びusbホストコントローラの制御方法 | |
KR100576721B1 (ko) | 제로카피(zero-copy) 전송 기능을 구비한네트워크 카드와 서버 및 그 전송 방법 | |
JP7321913B2 (ja) | 通信装置、制御方法およびプログラム | |
US20230062831A1 (en) | Communication apparatus and control method thereof, and storage medium | |
JP7005303B2 (ja) | 通信装置、パケット生成装置およびそれらの制御方法 | |
JP7423223B2 (ja) | 通信装置 | |
JP2019165423A (ja) | 通信装置、通信装置の制御方法およびプログラム | |
JP2021129162A (ja) | 通信装置、制御方法およびプログラム | |
JP6976786B2 (ja) | 通信装置および通信装置の制御方法 | |
JP7027145B2 (ja) | 通信装置、通信装置の制御方法およびプログラム | |
JP7145607B2 (ja) | Dma転送装置、dma転送装置の制御方法、および通信装置 | |
JP3933134B2 (ja) | 通信システム | |
JP5594354B2 (ja) | 制御装置およびストレージシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210730 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210928 |
|
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: 20220225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220325 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7049140 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |