JP4645325B2 - 通信装置および通信システム - Google Patents

通信装置および通信システム Download PDF

Info

Publication number
JP4645325B2
JP4645325B2 JP2005191163A JP2005191163A JP4645325B2 JP 4645325 B2 JP4645325 B2 JP 4645325B2 JP 2005191163 A JP2005191163 A JP 2005191163A JP 2005191163 A JP2005191163 A JP 2005191163A JP 4645325 B2 JP4645325 B2 JP 4645325B2
Authority
JP
Japan
Prior art keywords
aggregate
packet
communication
input
priority
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
Application number
JP2005191163A
Other languages
English (en)
Other versions
JP2007013520A (ja
Inventor
謙 高橋
隆保 武藤
英喜 吉田
猛浩 山本
洋一 中山
登 畑
淳 伊藤
憲一 斎藤
聡 上田
恵典 澤田
悟 大島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005191163A priority Critical patent/JP4645325B2/ja
Publication of JP2007013520A publication Critical patent/JP2007013520A/ja
Application granted granted Critical
Publication of JP4645325B2 publication Critical patent/JP4645325B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット通信を行う通信装置および通信システムに関するものである。
近年のネットワークの高速化に伴い、従来の汎用インタフェースではハンドシェイクプロトコルのオーバヘッドによりスループットが不足する場合が出てきた。
その改善策として、通信装置(機器)内部で入力した複数のパケットをアグリゲートして一括出力することにより、セットアップトラフィックを削減しスループットを向上させる方法がある。
しかしながら、上述した方法には、初期に入力したパケットが後続パケットとアグリゲートされるまで出力が保留されるためレイテンシが増加する問題がある。
また、入力パケットがアグリゲートするパケット数に達する前にパケット入力が停止した場合、既に入力したパケットだけをアグリゲートして出力する処理が必要となるが、その判定を行うまでの時間分の遅延が発生してしまう問題がある。
上記問題に対し、従来の装置では、アグリゲートするパケット数や、アグリゲートのタイムアウト時間の設定が、静的なものであったため、スループットとレイテンシのどちらかを犠牲にするか、どちらも妥協した設定しかできず、様々な通信トラフィック特性に応じた最適なアグリゲート制御を行うことができなかった。
本発明の目的は、システムで必要なスループット特性とレイテンシ特性を有する通信装置および通信システムを提供することにある。
なお、本明細書において、アグリゲート(aggregate)とは複数のパケットを統合することを示し、デアグリゲート(deaggregate)とはアグリゲートしたパケットを分離して元に戻すことを意味する。また、バイトアライメント(byte alignment)とはCPUが効率よく処理できるようにデータアドレスを配置することを示す。たとえば32ビットバスにける4バイトアライメントでは、アドレスが常に4の倍数になるようにデータを配置する。
本発明の第1の観点の通信装置は、少なくとも一つの通信フローのパケットとアグリゲート設定コマンドを入力する入力インタフェースと、複数の入力パケットをアグリゲートして一括して出力可能なアグリゲート制御部と、を有し、上記アグリゲート制御部は、スループット優先通信とレイテンシ優先通信を混在可能にアグリゲート制御可能で、アグリゲート可能なパケットサイズ情報を取得可能で、入力される上記アグリゲート設定コマンドにより当該取得したパケットサイズ情報に応じてアグリゲート可能な最大パケットサイズとアグリゲートタイムアウト時間を動的に設定し、上記設定される最大パケットサイズに応じた複数の入力パケットをアグリゲートし、アグリゲート途中で入力パケットが途切れた場合は、動的に指定可能なタイムアウト時間経過後、既に入力したパケットをアグリゲートし、上記スループット優先通信のときは、上記レイテンシ優先通信のときより、上記最大パケットサイズを大きく設定し、かつ上記アグリゲートタイムアウト時間を長く設定し、上記レイテンシ優先通信のときは、上記スループット優先通信のときより、上記最大パケットサイズを小さく設定し、かつ上記アグリゲートタイムアウト時間を短く設定する
好適には、上記アグリゲート制御部は、上記レイテンシ優先通信のとき最大パケットサイズを1に設定可能で、最大パケットサイズを1に設定すると、入力パケットを直ちに出力し、タイムアウトは無効とする
好適には、上記アグリゲート制御部は、フラッシュコマンドを受けると、上記最大パケットサイズに達していなくても既に入力したパケットのみをアグリゲートして出力する
好適には、上記アグリゲート制御部は、タイムアウト制御において、時間測定開始条件をアグリゲート対象の先頭パケット入力時と最終パケット入力時を選択する
好適には、上記アグリゲート制御部は、定期的に測定期間中の入力パケット数を測定し、その測定値の平均値を算出し、平均値にマージンを加えた値をタイムアウト設定時間とする
好適には、上記アグリゲート制御部は、測定無効期間以上パケット入力がなかった場合は上記測定期間、入力パケット数共にリセットして平均値を更新しない
好適には、上記アグリゲート制御部は、数の通信フローを入力可能で、通信フロー毎の優先順位を設定し、優先順位の高い通信フローがアグリゲーション中のときは、優先順位の低い通信フローがアグリゲーションを完了しても、優先順位の高いフローのアグリゲーションパケットが出力されるまで待たせる
好適には、上記アグリゲート制御部は、アグリゲートのトリガとなるパケットを指定されると、定期的なパケット受信によりアグリゲート制御を行うことが可能で、アグリゲートのトリガとなるパケットを受信するまでアグリゲートを行わないように制御可能である
好適には、上記アグリゲート制御部は、パケットの並び換え条件を指定されると、アグリゲート時にパケットの並び換えを行う。
好適には、上記アグリゲート制御部は、パケットデータバイトアライメントを指定されると、アグリゲート時にバイトアライメントを行う。
本発明の第2の観点の通信システムは、複数の入力パケットを1つのパケットにアグリゲートして一括して出力するアグリゲート部を有する第1の通信装置と、上記第1の通信装置によるアグリゲートパケットを分離するデアグリゲート部を有する第2の通信装置と、を含み、上記第1の通信装置の上記アグリゲート部は、少なくとも一つの通信フローのパケットとアグリゲート設定コマンドを入力する入力インタフェースと、複数の入力パケットをアグリゲートして一括して出力可能なアグリゲート制御部と、を有し、上記アグリゲート制御部は、スループット優先通信とレイテンシ優先通信を混在可能にアグリゲート制御可能で、アグリゲート可能なパケットサイズ情報を取得可能で、入力される上記アグリゲート設定コマンドにより当該取得したパケットサイズ情報に応じてアグリゲート可能な最大パケットサイズとアグリゲートタイムアウト時間を動的に設定し、上記設定される最大パケットサイズに応じた複数の入力パケットをアグリゲートし、アグリゲート途中で入力パケットが途切れた場合は、動的に指定可能なタイムアウト時間経過後、既に入力したパケットをアグリゲートし、上記スループット優先通信のときは、上記レイテンシ優先通信のときより、上記最大パケットサイズを大きく設定し、かつ上記アグリゲートタイムアウト時間を長く設定し、上記レイテンシ優先通信のときは、上記スループット優先通信のときより、上記最大パケットサイズを小さく設定し、かつ上記アグリゲートタイムアウト時間を短く設定する
本発明によれば、アグリゲート部が、動的に指定可能なパケット数に基づいて入力パケットをアグリゲートし、一括して出力する。
たとえば、通信フローや通信ポートなどの通信単位毎にアグリゲート制御パラメータを設定することにより、スループット優先通信とレイテンシ優先通信を混在可能とする。
また、タイムアウト制御において、時間測定開始条件をアグリゲート対象の先頭パケット入力時と最終パケット入力時を選択することにより、前者では最大レイテンシ保証を可能とし、後者では想定スループットに対して適切なタイムアウトを設定可能である。
本発明によれば、レイテンシ優先とスループット優先のアグリゲート設定を動的に変化させることができるので、通信トラフィック特性に応じた最適な通信パフォーマンスが得られる利点がある。
以下、本発明の実施形態について図面に関連付けて説明する。
図1は、本発明の実施形態に係る通信装置を適用した通信システムの構成例を示す図である。
図1の通信システム1においては、第1の通信装置(A)100と第2の通信装置(B)150が、インタフェース106とインタフェース151で接続されている。
通信装置100内部の通知手段としてのアプリケーション101はパケット(P1)102、パケット(P2)103、パケット(P3)104、パケット(P4)105をインタフェース106に出力する。
インタフェース106は、アプリケーション側から入力したパケット102〜105をアグリゲートし、ヘッダを付加して一つのアグリゲートパケット111として、通信装置(B)150に出力する。
通信装置(B)150内部において、インタフェース151で入力したパケットは、パケット153、パケット154、パケット155、パケット156にデアグリゲートされ、アプリケーション152に出力される。
なお、図1において、アグリゲートを行うパケット数は任意である。
また、アグリゲート、デアグリゲートを行うのはインタフェースでなくデバイスドライバであっても良い。
図2は、アグリゲート情報ヘッダの一例を示す図である。
アグリゲート情報ヘッダには、図2に示すように、総パケット数、フロー番号、パケット1データ長、パケット2データ長、パケット3データ長、パケット4データ長が含まれる。
図3および図4は、本発明の適用対象となるインタフェースの一例で、図3はアグリゲート装置の一例を示し、図4はデアグリゲート装置の一例を示す。
<アグリゲート装置構成>
以下、図3のアグリゲート装置の構成について説明する。
図3のアグリゲート装置2は、入力インタフェース200、アグリゲート制御回路210、および出力インタフェース290を主構成要素として有している。
最小構成の入力インタフェース200の入力には、フロー1のシングルパケット入力201とアグリゲート設定コマンド203が供給されている。
シングルパケット入力201から変換されたフロー1ライトデータ214はアグリゲート制御回路210内部のフロー1アグリゲート制御ブロック215のバッファ216に供給されている。アグリゲート設定コマンド203は入力インタフェース200を経由し、アグリゲート制御回路210内部のアグリゲート条件設定ブロック211に供給されている。
アグリゲート制御回路210は、アグリゲート条件設定ブロック211、アグリゲート制御シーケンサ212、フロー1アグリゲート制御ブロック215、およびマルチプレクサ228により構成される。
アグリゲート条件設定ブロック211の入力にはアグリゲート設定コマンド203やアグリゲート制御シーケンサ212からの信号が供給され、出力はアグリゲート制御ブロック215内部のアグリゲート最大サイズ設定219やアグリゲートタイムアウト設定部222へ接続されている。
アグリゲート制御シーケンサ212は、内部にアグリゲートヘッダ情報213を持ち、入力にはアグリゲート条件設定ブロック211の制御情報やアグリゲート制御ブロック215からのパケットフル検出信号224とタイムアウト検出信号229が供給される。
バッファ制御信号出力226はアグリゲート制御ブロック215のバッファ216に、クリア信号225はアグリゲート制御ブロック215のパケットカウンタ217に供給されている。
フロー1アグリゲート制御ブロック215は、入力インタフェース200からのフロー1ライトデータ214とアグリゲート制御シーケンサ212からの制御信号226を入力しマルチプレクサ228へデータを出力するバッファ216と、フロー1ライトデータ214をカウント入力、アグリゲート制御シーケンサ212からクリア信号225を入力するパケットカウンタ217と、アグリゲート条件設定ブロック211から出力される最大サイズ設定情報219と、パケットカウンタ217と最大サイズ設定情報219との一致検出回路218と、フロー1ライトデータ214をクリア入力とするタイマカウンタ220と、アグリゲート条件設定ブロック211から出力されるタイムアウト設定情報222と、タイマカウンタ220とタイムアウト設定222の一致検出回路221と、を有している。
出力インタフェース290は、アグリゲート制御回路210で生成された複数のパケットを含むアグリゲートパケット291を出力する。
<アグリゲート動作>
以下、図3の動作について説明する。
入力インタフェース200のフロー1シングルパケット入力201に入力されたパケットはアグリゲート制御回路210のフロー1ライトデータとしてバッファ216に入力される。
それと並行して、パケットカウンタ217がインクリメントされ、タイマカウンタ220がクリアスタートする。
バッファ216に入力されたパケット数がアグリゲート条件設定ブロック211からの最大サイズに達すると、パケットカウンタ217との一致検出信号218が発生され、アグリゲート制御シーケンサ212にアグリゲートタイミングが通知される。
また、タイマカウンタ220がクリアスタートした後、パケット入力がないままアグリゲート条件設定ブロック211からのタイムアウト時間に達すると、タイマカウンタ220との一致検出信号221が発生され、アグリゲート制御シーケンサ212にアグリゲートタイミングが通知される。
上述したように、アグリゲートタイミングを通知されたアグリゲート制御シーケンサ212は、図2のようにアグリゲートしたパケット数や入力したフローなどを元としたアグリゲート情報ヘッダ213を生成しマルチプレクサ228により出力インタフェース290に出力した後、バッファ制御信号226を出力する。
そして、バッファ216からアグリゲート対象のパケットデータを読み出しマルチプレクサ228により出力インタフェース290に出力する。
以上の動作によりアグリゲートパケット出力が完了したら、パケットカウンタ217をクリアする。
<デアグリゲート装置構成>
図4のデアグリゲート装置3は、入力インタフェース300、デアグリゲート制御回路301、および出力インタフェース302を主構成要素として有している。
入力インタフェース300の入力には、アグリゲートパケット入力311とデアグリゲート設定コマンド310が供給される。
デアグリゲートパケット入力311から変換されたアグリゲートデータはデアグリゲート制御回路301内部のバッファ322に供給される。
デアグリゲート設定コマンド310は入力インタフェース300を経由し、デアグリゲート制御回路301内部のデアグリゲート条件設定ブロック320に供給される。
デアグリゲート制御回路301は、デアグリゲート条件設定ブロック320、デアグリゲート制御シーケンサ321、バッファ322、およびデマルチプレクサ323により構成される。
デアグリゲート条件設定ブロック320の入力にはデアグリゲート設定コマンド310やデアグリゲート制御シーケンサ321からの信号が供給され、出力はデアグリゲート制御シーケンサ321へ接続されている。
デアグリゲート制御シーケンサ321の入力にはデアグリゲート条件判定ブロック320の制御情報やバッファ322のデータ出力328が供給され、バッファ制御信号出力328はバッファ322に、デマルチプレクサ制御信号329はデマルチプレクサ323に供給される。
最小構成の出力インタフェース302は、デアグリゲート制御回路301のデマルチプレクサ323でデアグリゲートされたパケットデータ324を入力しシングルパケット312を出力する。
<デアグリゲート動作>
以下、図4の動作について説明する。
入力インタフェース300に入力されたデアグリゲートコマンド310はデアグリゲート制御回路301のデアグリゲート条件設定ブロック320に入力される。
デアグリゲート設定コマンドでは、特定のフローデータをフィルタリングしたり、フローの優先順位を変更したり、出力タイミングを指定するなどのオプションを設定することができる。
入力インタフェース300に入力されたアグリゲートパケット311はデアグリゲート制御回路301のバッファ322に入力される。
デアグリゲート制御シーケンサ321では、バッファ322に入力されているアグリゲートパケット中のアグリゲート情報ヘッダを解析し、アグリゲートされているパケットを分離して、デマルチプレクサ323に出力する。
デマルチプレクサ323は、デアグリゲート制御シーケンサ321の制御によりフロー毎に、出力インタフェース302を経由し、フロー1はシングルパケット出力312、フロー2はシングルパケット出力313、フローnはシングルパケット出力315に出力される。
以上が、デアグリゲートの基本動作についての説明となる。
以下に、図5に関連付けて、動的なアグリゲート制御方法の具体例を示す。
図5は、図1のシステム構成における、動作シーケンスを示す図である。
(実施例1)
通信装置(A)100におけるアプリケーション101は、情報要求コマンドを発行し、通信装置(A)100のインタフェース106と通信装置(B)150のインタフェース151のアグリゲート可能なパケットサイズ情報を取得する。
たとえば前者は8パケット、後者が4パケットだった場合、アグリゲート可能な最大パケットサイズは両方のインタフェースがサポートできる4パケットとする。
通信装置(A)100のアプリケーション101は、パラメータセットコマンドを使用して、通信装置(A)100のインタフェース101に上記で判定したアグリゲート可能な最大パケットサイズ(4)と、デフォルトのアグリゲートタイムアウト値(3)を設定する。
通信装置(A)100のアプリケーション101が、データD1からD4までの4パケットを出力すると、通信装置(A)100のインタフェース106内部に設定された最大アグリゲートサイズの4に達するので、通信装置(A)100のインタフェース106は入力した4パケットをアグリゲートして装置Bインタフェースに出力する。
通信装置(B)150のインタフェース151は、通信装置(A)100のインタフェース106から転送されたヘッドおよび複数のパケットを含むアグリゲートパケットをデアグリゲートしたデータD1からD4までの4パケットを通信装置(B)150のアプリケーション152に出力する。
データD5からD8までの4パケットについても、データD1からD4と同様に処理される。
通信装置(A)100のアプリケーション101が、データD9の1パケットを出力した後、後続で出力するパケットがない状態が継続し、通信装置(A)100のインタフェース106内部に設定されたタイムアウト時間に達した場合、通信装置(A)100のインタフェース106は既に入力したパケットだけをアグリゲートして通信装置(B)150のインタフェース151に出力する。
通信装置(A)100のアプリケーション101は、あらかじめ送信サイズが2パケットであることがわかっているデータを効率良く送信するために、パラメータセットコマンドを使用して、通信装置(A)100のインタフェース106の最大アグリゲートパケットサイズに2を、アグリゲートタイムアウト値に2を設定する。
データD10からD11までの2パケット、データD13からD14までの2パケットについては、最大アグリゲートサイズ(2)指定によるアグリゲート、データD14の1パケットについてはアグリゲートタイムアウト指定によるアグリゲートが行われる。
通信装置(A)100のアプリケーション101は、データD15の1パケットを出力した後、フラッシュコマンドを発行することにより、最大アグリゲートサイズ指定に達していなくても既に受信したパケットのみをアグリゲートして出力することができる。
通信装置(A)100のアプリケーション101は、レイテンシが最優先のデータを送信するために、パラメータセットコマンドを使用して、通信装置(A)100のインタフェース101の最大アグリゲートパケットサイズに1を設定する。
データD16、データD17はアグリゲートされずに通信装置(B)150のインタフェース151に出力される。
図6は、2つの通信フローでそれぞれ異なるアグリゲート制御を行う例を示す図である。
フロー1はスループットを優先するために、最大アグリゲートサイズを4に設定し、タイムアウト時間を長めに設定する。
フロー2はレイテンシを優先するために、最大アグリゲートサイズを1に設定する。最大アグリゲートサイズが1の場合は、パケット入力後直ちにそれを出力するため、タイムアウトは無効となる。
図7は、アグリゲートパラメータをIEEE802.3のUser Priority(ユーザ優先順位)、IEEE802.1DのQoSタグ、IEEE802.11eのAccess Categoryなどにより帯域保証制御されるフローに適するように設定した例を示す図である。
たとえば、イーサネット(Ethernet:登録商標)の1パケットの最大データサイズは1500バイトなので、Voiceデータが1500バイトの場合は、アグリゲートする必要がなく、レイテンシも最小にする必要があるので、アグリゲートパケット数を1、タイムアウト時間を0に設定する。
また、Videoデータが15000バイトの場合は、Videoデータ単位でアグリゲートされるようにアグリゲートパケット数を10パケット、タイムアウト時間を画像フレーム間隔に近い40msに設定する。
ベストエフォートデータはレイテンシの制約がなく、できるだけ多くのパケットをアグリゲートして効率良く転送するために、アグリゲートパケット数を装置が設定可能な最大値である20パケットとし、タイムアウトも長めの200msに設定する。
最も優先順位の低いバックグラウンドデータは、アグリゲートパケット数はベストエフォートと同じ最大の20パケットとするが、転送速度が遅いのでタイムアウトを500msと長く設定する。
(実施例2)
なお、本実施形態においては、入力インタフェース200、およびアグリゲート制御回路210内部のアグリゲート制御ブロックは、必要な通信フロー数に応じて追加可能とする。
また、本実施形態ではフロー毎に入力経路が独立しているが、これらは同一信号を経由してアドレスやポートなどの情報で識別させても良い。
(実施例3)
タイマカウンタ220のクリアスタート条件は、上記した例のような最後のパケット入力の他、最初にアグリゲートするパケットの入力タイミングとしても良い。
この場合、アグリゲート前のパケット入力時間からアグリゲート後のパケット出力時間までの最大レイテンシを保証することができる。
(実施例4)
タイムアウト設定時間222は、パケット入力周期を測定し、自動的に適切な値を設定させることにより、アプリケーションの負荷を軽減させることができる。
図8は、パケット入力周期を測定し、自動的に適切な値を設定させる具体的な方法を示す図である。
定期的に測定期間Tsample(本例では8)中の入力パケット数Nを測定し、その平均値Taverageを算出し、これに適当なマージンを加えた値をタイムアウト設定時間とする。
その際、通信トラフィックのない期間を除外するために、測定無効期間Tinvalid以上パケット入力がなかった場合はTsample、N共にリセットしてTaverageを更新しないようにすると、より正確な通信トラフィック中のパケット入力時間間隔を計算することができる。
(実施例5)
アグリゲート条件設定ブロック211に、フロー毎の優先順位を設定し、優先順位の高いフローがアグリゲーション中のときは、優先順位の低いフローがアグリゲーションを完了しても、優先順位の高いフローのアグリゲーションパケットが出力されるまで待たせることにより、優先順位制御を行うことができる。
(実施例6)
アグリゲート条件設定ブロック211に、アグリゲートのトリガとなるパケットを指定することにより、定期的なパケット受信によりアグリゲート制御を行うことができる。
上述した実施形態のフラッシュコマンドと異なりホストが特別な処理を行う必要がない。
(実施例7)
アグリゲート条件設定ブロック211に設定したアグリゲートのトリガとなるパケットを受信するまでアグリゲートを行わないようにすることができる。
アグリゲートを行う指定パケットが入力されるまでにバッファがオーバーフローしたら古いデータを捨てることにより、不要なデータ入力に対する処理負荷を軽減させる事が可能となる。
(実施例8)
通信装置(A)100のアプリケーション101から、通信装置(B)150のインタフェース151に対してアグリゲーションパラメータを設定することにより、送信装置が送信データに応じた適切なアグリゲーション制御を受信装置に対して行うことが可能となる。
(実施例9)
図9は、本発明の適用対象となる無線LANインタフェースシステムの一例を示す図である。
図9の無線LANインタフェースシステム4おいては、ホスト(A)400のデバイスインタフェース402と無線LANデバイス(A)420のホストインタフェース421間がアグリゲートデータパス410で接続されている。
無線LANデバイス(A)420には無線LANインタフェース423とIEEE802.11 MIB(管理情報ベース)423が内蔵されている。
ホスト(B)460、および無線LANデバイス(B)440は、ホスト(A)400、および無線LANデバイス(A)420と同様の構成の対向システムで、無線LANデバイス(A)420と、無線LANデバイス(B)440間は、無線メディア430で接続されている。
以下に、アグリゲートパラメータを、無線LANデバイスの状態により制御する例を示す。
MIB423にはカウンタテーブル(dot11ContersTable)という性能測定用のカウンタ情報が含まれている。たとえばその中の一つであるdot11TransmittedFrameCountという送信成功フレームカウンタを、ホスト(A)400のアプリケーション401が一定周期でカウントし、トラフィックが高ければアグリゲートを行うパケット数を多くすることによりスループットを向上させることが可能となる。
また、dot11FailedCountという通信失敗により破棄されたフレームのカウンタや、dot11FCSErrorCountというフレームチェックエラーカウンタが多い場合、トラフィック低いと判断し、アグリゲートを行うパケット数を少なくすることによりバッファを節約し、よりトラフィックの高いフローにバッファを多く割り当てるようなことが可能となる。
以上の制御は、MIB以外、たとえば無線回路(RF回路)の電波強度情報などに連動させても良い。
上記例における、アグリゲート対象は、アグリゲートパス410、および450を経由するデータとなるが、無線メディア430中の無線データパケットをアグリゲート対象としても良い。
(実施例10)
イーサネット(Ethernet:登録商標)や無線LANのように、大きなサイズのデータを一定サイズ以下にフラグメントして転送する場合、全てのフラグメントデータを受信してデフラグメントしたデータ単位でアグリゲートすることにより、効率の良い転送が可能となる。
(実施例11)
アグリゲート条件設定ブロック211にパケットの並び替え条件を指定することにより、図10に示すように、アグリゲート時にパケットを並び換えることを可能とする。
これにより、アプリケーションがパケットの並び替えを行う処理を不要とできるのでシステムの処理負荷を軽減することが可能となる。
(実施例12)
アグリゲート条件設定ブロック211にパケットデータバイトアライメントを指定することにより、図11に示すように、アグリゲート時にホストバスシステムに合わせたバイトアライメントを可能とする。
これにより、アプリケーションがバイトアライメント処理を不要とできるのでシステムの処理負荷を軽減することが可能となる。
以上のように、本実施形態によれば、複数の入力パケットを1つのパケットにアグリゲートして一括して出力するインタフェース106を有し、インタフェース106は、動的に指定可能なパケット数に基づいて入力パケットをアグリゲートし、アグリゲート途中で入力パケットが途切れた場合は、動的に指定可能なタイムアウト時間経過後、既に入力したパケットをアグリゲートすることから、アグリゲート処理を最適に制御できることができ、以下の効果を得ることができる。
レイテンシ優先とスループット優先のアグリゲート設定を動的に変化させることができるので、通信トラフィック特性に応じた最適な通信パフォーマンスが得られる。
スループット優先の場合、アグリゲートパケットサイズを大きくし、受信タイムアウト時間を長くすることにより、より多くのパケットをアグリゲートさせることで高スループットを実現できる。
レイテンシ優先の場合、パケット受信タイムアウト時間を小さくするか、アグリゲートしない設定にすることにより、低レイテンシを実現できる。
通信フロー毎にアグリゲート条件を指定できるので、スループットとレイテンシのトレードオフによる性能低下のデメリットの影響を排除し、必要な特性のみ改善できる。
アグリゲート処理のハードウェア化により、CPUのアグリゲート処理(アグリゲート判定、アグリゲート情報パケット生成判定など)負荷を低減できる。
また、アグリゲートそのものの効果として、パケット数削減により、パケット通信のセットアッププロトコルを削除した分、データ転送帯域を増加させ、スループット特性を改善できる。
上記セットアッププロトコル削減により、システムの処理負荷や消費電力を削減できる。
本発明の実施形態に係る通信装置を適用した通信システムの構成例を示す図である。 アグリゲート情報ヘッダの一例を示す図である。 本発明の適用対象となるインタフェースの一例であってアグリゲート装置の一例を示す図である。 本発明の適用対象となるインタフェースの一例であってデアグリゲート装置の一例を示す図である。 図1のシステム構成における動作シーケンスを示す図である。 2つの通信フローでそれぞれ異なるアグリゲート制御を行う例を示す図である。 アグリゲートパラメータをIEEE802.3のUser Priority(ユーザ優先順位)、IEEE802.1DのQoSタグ、IEEE802.11eのAccess Categoryなどにより帯域保証制御されるフローに適するように設定した例を示す図である。 パケット入力周期を測定し、自動的に適切な値を設定させる具体的な方法を示す図である。 本発明の適用対象となる無線LANインタフェースシステムの一例を示す図である。 アグリゲート時にパケットを並び換えることを可能とする例を示す図である。 アグリゲート時にホストバスシステムに合わせたバイトアライメントを可能とする例を示す図である。
符号の説明
1・・・通信システム、100・・・通信装置(A)、101・・・アプリケーション、106・・・インタフェース、111・・・アグリゲートパケット、150・・・通信装置(B)、151・・・インタフェース、152・・・アプリケーション、2・・・アグリゲート装置、200・・・入力インタフェース、210・・・アグリゲート制御回路、290・・・出力インタフェース、3・・・デアグリゲート装置、300・・・入力インタフェース、301・・・デアグリゲート制御回路、302・・・出力インタフェース、4・・・無線LANインタフェースシステム、400・・・ホスト(A)、401・・・アプリケーション、402・・・デバイスインタフェース、410・・・アグリゲートバス、420・・・無線LANデバイス(A)、421・・・ホストインタフェース、422・・・無線LANインタフェース、423・・・MIB(管理情報ベース)、430・・・無線メディア、440・・・無線LANデバイス(A)、441・・・無線LANインタフェース、442・・・ホストインタフェース、443・・・MIB(管理情報ベース)、450・・・アグリゲートバス、460・・・ホスト(B)、461・・・デバイスインタフェース、462・・・アプリケーション。

Claims (18)

  1. 少なくとも一つの通信フローのパケットとアグリゲート設定コマンドを入力する入力インタフェースと、
    複数の入力パケットをアグリゲートして一括して出力可能なアグリゲート制御部と、を有し、
    上記アグリゲート制御部は、
    スループット優先通信とレイテンシ優先通信を混在可能にアグリゲート制御可能で、
    アグリゲート可能なパケットサイズ情報を取得可能で、入力される上記アグリゲート設定コマンドにより当該取得したパケットサイズ情報に応じてアグリゲート可能な最大パケットサイズとアグリゲートタイムアウト時間を動的に設定し、
    上記設定される最大パケットサイズに応じた複数の入力パケットをアグリゲートし、
    アグリゲート途中で入力パケットが途切れた場合は、動的に指定可能なタイムアウト時間経過後、既に入力したパケットをアグリゲートし、
    上記スループット優先通信のときは、
    上記レイテンシ優先通信のときより、上記最大パケットサイズを大きく設定し、かつ上記アグリゲートタイムアウト時間を長く設定し、
    上記レイテンシ優先通信のときは、
    上記スループット優先通信のときより、上記最大パケットサイズを小さく設定し、かつ上記アグリゲートタイムアウト時間を短く設定する
    通信装置。
  2. 上記アグリゲート制御部は、
    上記レイテンシ優先通信のとき最大パケットサイズを1に設定可能で、最大パケットサイズを1に設定すると、入力パケットを直ちに出力し、タイムアウトは無効とする
    請求項1記載の通信装置。
  3. 上記アグリゲート制御部は、
    フラッシュコマンドを受けると、上記最大パケットサイズに達していなくても既に入力したパケットのみをアグリゲートして出力する
    請求項1または2記載の通信装置。
  4. 上記アグリゲート制御部は、
    タイムアウト制御において、時間測定開始条件をアグリゲート対象の先頭パケット入力時と最終パケット入力時を選択する
    請求項1から3のいずれか一に記載の通信装置。
  5. 上記アグリゲート制御部は、
    定期的に測定期間中の入力パケット数を測定し、その測定値の平均値を算出し、平均値にマージンを加えた値をタイムアウト設定時間とする
    請求項1から4のいずれか一に記載の通信装置。
  6. 上記アグリゲート制御部は、
    測定無効期間以上パケット入力がなかった場合は上記測定期間、入力パケット数共にリセットして平均値を更新しない
    請求項記載の通信装置。
  7. 上記アグリゲート制御部は、
    複数の通信フローを入力可能で、
    通信フロー毎の優先順位を設定し、優先順位の高い通信フローがアグリゲーション中のときは、優先順位の低い通信フローがアグリゲーションを完了しても、優先順位の高いフローのアグリゲーションパケットが出力されるまで待たせる
    請求項1から6のいずれか一に記載の通信装置。
  8. 上記アグリゲート制御部は、
    アグリゲートのトリガとなるパケットを指定されると、定期的なパケット受信によりアグリゲート制御を行うことが可能で、
    アグリゲートのトリガとなるパケットを受信するまでアグリゲートを行わないように制御可能である
    請求項1から7のいずれか一に記載の通信装置。
  9. 上記アグリゲート制御部は、
    パケットの並び換え条件を指定されると、アグリゲート時にパケットの並び換えを行う
    請求項1から8のいずれか一に記載の通信装置。
  10. 上記アグリゲート制御部は、
    パケットデータバイトアライメントを指定されると、アグリゲート時にバイトアライメントを行う
    請求項1から9のいずれか一に記載の通信装置。
  11. 複数の入力パケットを1つのパケットにアグリゲートして一括して出力するアグリゲート部を有する第1の通信装置と、
    上記第1の通信装置によるアグリゲートパケットを分離するデアグリゲート部を有する第2の通信装置と、を含み、
    上記第1の通信装置の上記アグリゲート部は、
    少なくとも一つの通信フローのパケットとアグリゲート設定コマンドを入力する入力インタフェースと、
    複数の入力パケットをアグリゲートして一括して出力可能なアグリゲート制御部と、を有し、
    上記アグリゲート制御部は、
    スループット優先通信とレイテンシ優先通信を混在可能にアグリゲート制御可能で、
    アグリゲート可能なパケットサイズ情報を取得可能で、入力される上記アグリゲート設定コマンドにより当該取得したパケットサイズ情報に応じてアグリゲート可能な最大パケットサイズとアグリゲートタイムアウト時間を動的に設定し、
    上記設定される最大パケットサイズに応じた複数の入力パケットをアグリゲートし、
    アグリゲート途中で入力パケットが途切れた場合は、動的に指定可能なタイムアウト時間経過後、既に入力したパケットをアグリゲートし、
    上記スループット優先通信のときは、
    上記レイテンシ優先通信のときより、上記最大パケットサイズを大きく設定し、かつ上記アグリゲートタイムアウト時間を長く設定し、
    上記レイテンシ優先通信のときは、
    上記スループット優先通信のときより、上記最大パケットサイズを小さく設定し、かつ上記アグリゲートタイムアウト時間を短く設定する
    通信システム
  12. 記アグリゲート制御部は、
    上記レイテンシ優先通信のとき最大パケットサイズを1に設定可能で、最大パケットサイズを1に設定すると、入力パケットを直ちに出力し、タイムアウトは無効とする
    請求項11記載の通信システム。
  13. 上記アグリゲート制御部は、
    フラッシュコマンドを受けると、上記最大パケットサイズに達していなくても既に入力したパケットのみをアグリゲートして出力する
    請求項11または12記載の通信システム
  14. 上記アグリゲート制御部は、
    タイムアウト制御において、時間測定開始条件をアグリゲート対象の先頭パケット入力時と最終パケット入力時を選択する
    請求項11から13のいずれか一に記載の通信システム
  15. 上記アグリゲート制御部は、
    定期的に測定期間中の入力パケット数を測定し、その測定値の平均値を算出し、平均値にマージンを加えた値をタイムアウト設定時間とする
    請求項11から14のいずれか一に記載の通信システム
  16. 上記アグリゲート制御部は、
    測定無効期間以上パケット入力がなかった場合は上記測定期間、入力パケット数共にリセットして平均値を更新しない
    請求項15記載の通信システム
  17. 上記アグリゲート制御部は、
    複数の通信フローを入力可能で、
    通信フロー毎の優先順位を設定し、優先順位の高い通信フローがアグリゲーション中のときは、優先順位の低い通信フローがアグリゲーションを完了しても、優先順位の高いフローのアグリゲーションパケットが出力されるまで待たせる
    請求項11から16のいずれか一に記載の通信システム。
  18. 上記アグリゲート制御部は、
    アグリゲートのトリガとなるパケットを指定されると、定期的なパケット受信によりアグリゲート制御を行うことが可能で、
    アグリゲートのトリガとなるパケットを受信するまでアグリゲートを行わないように制御可能である
    請求項11から17のいずれか一に記載の通信システム。
JP2005191163A 2005-06-30 2005-06-30 通信装置および通信システム Expired - Fee Related JP4645325B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005191163A JP4645325B2 (ja) 2005-06-30 2005-06-30 通信装置および通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005191163A JP4645325B2 (ja) 2005-06-30 2005-06-30 通信装置および通信システム

Publications (2)

Publication Number Publication Date
JP2007013520A JP2007013520A (ja) 2007-01-18
JP4645325B2 true JP4645325B2 (ja) 2011-03-09

Family

ID=37751427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005191163A Expired - Fee Related JP4645325B2 (ja) 2005-06-30 2005-06-30 通信装置および通信システム

Country Status (1)

Country Link
JP (1) JP4645325B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5146013B2 (ja) * 2008-03-03 2013-02-20 日本電気株式会社 通信装置および通信方法
US8588253B2 (en) * 2008-06-26 2013-11-19 Qualcomm Incorporated Methods and apparatuses to reduce context switching during data transmission and reception in a multi-processor device
JP5587974B2 (ja) * 2009-04-01 2014-09-10 コーニンクレッカ フィリップス エヌ ヴェ 無線uwb装置におけるフレーム連結
JP5939916B2 (ja) * 2012-07-20 2016-06-22 株式会社日立製作所 情報伝送システム
JP6369176B2 (ja) * 2014-07-07 2018-08-08 富士通株式会社 情報処理装置、通信制御方法及びプログラム
JP6507091B2 (ja) * 2015-12-15 2019-04-24 日本電信電話株式会社 データ集約装置、方法、およびプログラム
WO2017138096A1 (ja) * 2016-02-09 2017-08-17 三菱電機株式会社 通信装置およびフレーム送信方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02295256A (ja) * 1989-05-10 1990-12-06 Hitachi Ltd データ通信方式
JPH11511940A (ja) * 1996-06-21 1999-10-12 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 適応パケット・トレーニング
JP2005210249A (ja) * 2004-01-21 2005-08-04 Japan Telecom Co Ltd 通信システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02295256A (ja) * 1989-05-10 1990-12-06 Hitachi Ltd データ通信方式
JPH11511940A (ja) * 1996-06-21 1999-10-12 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 適応パケット・トレーニング
JP2005210249A (ja) * 2004-01-21 2005-08-04 Japan Telecom Co Ltd 通信システム

Also Published As

Publication number Publication date
JP2007013520A (ja) 2007-01-18

Similar Documents

Publication Publication Date Title
JP4645325B2 (ja) 通信装置および通信システム
US7212534B2 (en) Flow based congestion control
US7307998B1 (en) Computer system and network interface supporting dynamically optimized receive buffer queues
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
US7818470B2 (en) Adaptive interrupt on serial rapid input/output (SRIO) endpoint
US7804775B2 (en) Apparatus and computer program for identifying selected applications utilizing a single existing available bit in frame headers
WO2015149460A1 (zh) 以太网光纤通道的流量控制方法、装置及系统
EP4195760A1 (en) Roce network congestion control method and related apparatus
EP3694164B1 (en) Data transmission method and device, and computer storage medium
WO2021238799A1 (zh) 一种数据报文传输方法及装置
CN109039949A (zh) 无线片上网络中基于优先级的动态无线介质访问控制方法
JP2004048124A (ja) 記憶装置の帯域制御装置、方法及びプログラム
EP4037272A1 (en) Data processing method and device
US8004991B1 (en) Method and system for processing network information
EP4325802A1 (en) Pfc storm detection and processing method
JP2010009472A (ja) ネットワークシステム、ネットワークシステムの制御方法および制御プログラム
JP2011044993A (ja) 通信装置および統計情報収集方法
JP3843657B2 (ja) ネットワーク装置
JP3606209B2 (ja) スイッチングハブ及びそれに用いる動作クロック切替方法
US10084834B2 (en) Randomization of packet size
US20040228280A1 (en) Dynamic blocking in a shared host-network interface
TWI789062B (zh) 電子裝置與用於電子裝置的訊框傳送方法
CN116896431A (zh) 处理块确认
JP2013090200A (ja) 通信装置におけるメモリ管理方法、通信装置及びプログラム
Nalawade et al. Multiport Network Ethernet Performance Improvement Techniques

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100614

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: 20101109

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: 20101122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees