JP2015201755A - 通信装置及び通信方法 - Google Patents
通信装置及び通信方法 Download PDFInfo
- Publication number
- JP2015201755A JP2015201755A JP2014079474A JP2014079474A JP2015201755A JP 2015201755 A JP2015201755 A JP 2015201755A JP 2014079474 A JP2014079474 A JP 2014079474A JP 2014079474 A JP2014079474 A JP 2014079474A JP 2015201755 A JP2015201755 A JP 2015201755A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- packet
- transmission information
- transmits
- protocol processing
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
【課題】通信性能を向上させることができる通信装置を提供する。【解決手段】通信装置30は、決定部3600と、プロトコル処理部330、340、350、3610、3620、3630、3650、3660、3670と、物理インタフェース3690とを持つ。決定部は、他の装置に送信する情報である送信情報のサイズに応じて、送信情報に優先度を定める。プロトコル処理部は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェースは、送信情報に定められた優先度に応じて、送信情報を含むパケットを送信する。【選択図】図1
Description
本発明の実施形態は、通信装置に関する。
サーバ装置は、クライアント装置との通信処理の一部をハードウェア処理で実行することにより、主にソフトウェア処理で実行する通信処理の負荷を軽減させる場合がある。しかしながら、サーバ装置の通信装置は、通信性能を向上させることができない場合があった。
本発明が解決しようとする課題は、通信性能を向上させることができる通信装置を提供することである。
実施形態の通信装置は、決定部と、プロトコル処理部と、物理インタフェースとを持つ。決定部は、他の装置に送信する情報である送信情報のサイズに応じて、送信情報に優先度を定める。プロトコル処理部は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェースは、送信情報に定められた優先度に応じて、送信情報を含むパケットを送信する。
以下、実施形態の通信装置を、図面を参照して説明する。
図1は、実施形態における、通信システム1の構成例を示す図である。通信システム1は、クライアント装置10と、通信回線20と、サーバ装置30とを備える。
図1は、実施形態における、通信システム1の構成例を示す図である。通信システム1は、クライアント装置10と、通信回線20と、サーバ装置30とを備える。
クライアント装置10は、通信回線20を介して、サーバ装置30と通信する。
通信回線20は、クライアント装置10とサーバ装置30との通信を中継する回線である。
サーバ装置30は、通信回線20を介して、クライアント装置10と通信する。以下、他の装置に送信する情報を「送信情報」という。送信情報は、例えば、サーバ装置30が記憶している情報や、サーバ装置30が生成した情報である。サーバ装置30は、クライアント装置10から受信したパケットに応じて、送信情報をクライアント装置10に送信する。
通信回線20は、クライアント装置10とサーバ装置30との通信を中継する回線である。
サーバ装置30は、通信回線20を介して、クライアント装置10と通信する。以下、他の装置に送信する情報を「送信情報」という。送信情報は、例えば、サーバ装置30が記憶している情報や、サーバ装置30が生成した情報である。サーバ装置30は、クライアント装置10から受信したパケットに応じて、送信情報をクライアント装置10に送信する。
次に、サーバ装置30の構成例を説明する。
サーバ装置30は、記憶部300と、バス310と、制御部320と、第1プロトコル処理部330と、第2プロトコル処理部340と、第3プロトコル処理部350と、通信部360とを備える。
サーバ装置30は、記憶部300と、バス310と、制御部320と、第1プロトコル処理部330と、第2プロトコル処理部340と、第3プロトコル処理部350と、通信部360とを備える。
記憶部300は、RAM(Random Access Memory)、レジスタなどの揮発性メモリや、ROM(Read Only Memory)、フラッシュメモリ、ハードディスクドライブなどの不揮発性メモリである。記憶部300は、メモリ3000と、第1通信メモリ3010とを備える。メモリ3000は、各種の情報を記憶する。メモリ3000は、例えば、動画像を表す画像情報と、静止画像を表す画像情報と、音声を表す音声情報とを記憶する。メモリ3000は、例えば、CPU等のプロセッサを動作させるためのプログラム(アプリケーションプログラム)を記憶する。メモリ3000は、制御部320がプログラムに基づいて生成した情報を記憶してもよい。
第1通信メモリ3010は、通信キューとして機能する。第1通信メモリ3010は、送信情報を含むパケットを記憶する。送信情報を含むパケットは、例えば、制御情報を含む制御パケット、画像情報を含む画像データパケット、音声情報を含む音声データパケットである。
バス310は、通信線である。バス310は、記憶部300と、制御部320と、第3プロトコル処理部350と、通信部360とを、通信可能に接続する。
制御部320と、第1プロトコル処理部330と、第2プロトコル処理部340と、第3プロトコル処理部350とのうち一部または全部は、例えば、CPU(Central Processing Unit)等のプロセッサが、メモリ3000に記憶されたプログラムを実行することにより機能するソフトウェア機能部である。
制御部320は、アプリケーションプログラムに基づいて、アプリケーション層で、ソフトウェア処理を実行する。制御部320は、ソフトウェア処理によって送信情報を生成する。制御部320は、制御に使用される制御情報を、送信情報として生成する。制御部320は、生成した送信情報を、バス310を介してメモリ3000に記憶させる。
制御部320は、アプリケーションプログラムに組み込まれたフック(hook)によって、送信情報を振り分ける。制御部320は、送信情報を振り分けることにより、ハードウェア処理によって送信情報をパケットに詰める処理と、ソフトウェア処理によって送信情報をパケットに詰める処理とに、通信処理を分岐させる。送信情報が通信部360のハードウェア処理によってパケットに詰められた場合、制御部320と、第1プロトコル処理部330と、第2プロトコル処理部340と、第3プロトコル処理部350とによるソフトウェア処理の負荷は軽減される。
制御部320は、通信処理をハードウェア処理によって実行させる場合、バス310を介して、通信部360にアドレス情報を出力する。このアドレス情報は、送信情報が記憶されているメモリ3000のアドレスを示す情報である。ソフトウェアのソケットと、ハードウェアとは、アドレス情報によって結び付けられる。また、制御部320は、制御部320の通信処理をフックによって分岐させる場合、送信情報のサイズを示すサイズ情報を、バス310を介して、通信部360に出力する。一方、制御部320は、通信処理をソフトウェア処理によって実行させる場合、送信情報を含むパケットを、第1プロトコル処理部330と、第2プロトコル処理部340と、第3プロトコル処理部350とに生成させる。
また、制御部320は、クライアント装置10から受信したパケットに応じた情報(以下、「受信情報」という。)を、第1プロトコル処理部330から取得する。受信情報は、例えば、パケットの送信をサーバ装置30に要求するための制御情報を含む。制御部320は、第1プロトコル処理部330から取得した受信情報に応じて、所定の処理を実行する。
第1プロトコル処理部330は、制御部320から取得した送信情報に、第1プロトコルに基づく符号化処理を施す。第1プロトコルは、例えば、トランスポート層に対して規定されたプロトコルである。第1プロトコル処理部330は、第1プロトコルに基づく符号化処理を施した送信情報を、第2プロトコル処理部340に出力する。
また、第1プロトコル処理部330は、第2プロトコル処理部340から受信情報を取得する。第1プロトコル処理部330は、第2プロトコル処理部340から取得した受信情報に、第1プロトコルに基づいて復号処理を施す。第1プロトコル処理部330は、第1プロトコルに基づいて復号処理を施した受信情報を、制御部320に出力する。
第2プロトコル処理部340は、第1プロトコル処理部330から取得した送信情報に、第2プロトコルに基づく符号化処理を施す。第2プロトコルは、例えば、インターネット層に対して規定されたプロトコルである。第2プロトコル処理部340は、第2プロトコルに基づく符号化処理を施した送信情報を、第3プロトコル処理部350に出力する。
第2プロトコル処理部340は、第3プロトコル処理部350から受信情報を取得する。第2プロトコル処理部340は、第3プロトコル処理部350から取得した受信情報に、第2プロトコルに基づいて復号処理を施す。第2プロトコル処理部340は、第2プロトコルに基づいて復号処理を施した受信情報を、第1プロトコル処理部330に出力する。
第3プロトコル処理部350は、第2プロトコル処理部340から取得した送信情報に、第3プロトコルに基づく符号化処理を施し、送信情報を含むパケットを生成する。第3プロトコルは、例えば、ネットワークインタフェース層に対して規定されたプロトコルである。第3プロトコル処理部350は、送信情報を含むパケットを、第1通信メモリ3010に記憶させる。
また、第3プロトコル処理部350は、第1通信メモリ3010から受信信号を取得する。第3プロトコル処理部350は、第1通信メモリ3010から取得した受信情報に、第3プロトコルに基づいて復号処理を施す。第3プロトコル処理部350は、第3プロトコルに基づいて復号処理を施した受信情報を、第2プロトコル処理部340に出力する。
通信部360は、制御部320などの通信処理の負荷を軽減させる負荷軽減処理(オフロード処理)を実行する。つまり、通信部360は、制御部320などが実行するTCP/IPのプロトコル処理の少なくとも一部を、制御部320などに代わって、ハードウェア処理によって実行する。
通信部360は、バス310を介して、アドレス情報を制御部320から取得する。通信部360は、アドレス情報に基づいて、メモリ3000から送信情報を取得する。通信部360は、取得した送信情報を含むパケットを生成し、生成したパケットをクライアント装置10に送信する。
次に、通信部360の構成例を説明する。
通信部360は、決定部3600と、第4プロトコル処理部3610と、第5プロトコル処理部3620と、第6プロトコル処理部3630と、第2通信メモリ3640と、第7プロトコル処理部3650と、第8プロトコル処理部3660と、第9プロトコル処理部3670と、第3通信メモリ3680とを備える。
通信部360は、決定部3600と、第4プロトコル処理部3610と、第5プロトコル処理部3620と、第6プロトコル処理部3630と、第2通信メモリ3640と、第7プロトコル処理部3650と、第8プロトコル処理部3660と、第9プロトコル処理部3670と、第3通信メモリ3680とを備える。
通信部360の機能部のうち一部または全部は、LSI(Large Scale Integration)や、ASIC(Application Specific Integrated Circuit)、メモリ等のハードウェア機能部である。つまり、通信部360の機能部のうち一部または全部は、プログラムを使用せずに機能する回路を有する。
決定部3600は、アドレス情報を制御部320から取得した場合、アドレス情報が示すメモリ3000の記憶領域の先頭から、サイズ情報が示すサイズだけ、送信情報を取得する。
決定部3600は、サイズが相対的に小さい送信情報を含むパケットを優先して物理インタフェース3690が送信するように、メモリ3000から取得した送信情報に優先度を定める。制御情報は、画像情報や音声情報のサイズよりも小さいことが多い。このため、決定部3600は、データパケットよりも制御パケットを優先して物理インタフェース3690が送信するように、メモリ3000から取得した送信情報に、優先度を定めることができる。
なお、決定部3600は、送信情報の種別に応じて、送信情報に更に細かく優先度を定めてもよい。例えば、決定部3600は、送信するパケットのうち、応答メッセージ「ACK」に、アプリケーションからの応答メッセージであるデータパケット「OK」よりも高い優先度を定めてもよい。
決定部3600は、メモリ3000から取得した制御情報などの送信情報のサイズが、予め定められた閾値以上であるか否かを判定する。つまり、決定部3600は、取得したサイズ情報が示すサイズが、予め定められた閾値以上であるか否かを判定する。閾値は、例えば、128バイトである。閾値は、例えば、メモリ3000に記憶される。
通信部360は、予め定められたプロトコルに基づく処理を実行する処理部を、第1系統と第2系統とに分けて備える。第1系統は、第4プロトコル処理部3610と、第5プロトコル処理部3620と、第6プロトコル処理部3630と、第2通信メモリ3640とを含む系統である。また、第2系統は、第7プロトコル処理部3650と、第8プロトコル処理部3660と、第9プロトコル処理部3670と、第3通信メモリ3680とを含む系統である。第2系統で生成されたパケットは、第1系統で生成されたパケットよりも優先して、クライアント装置10に送信される。
なお、第1系統と第2系統とは、物理的に分けられた系統でなくてもよい。例えば、第1系統と第2系統とは、物理的には同じ回路であっても、処理が論理的に多重化されることにより、優先度ごとにパケットを生成してもよい。
決定部3600は、サイズ情報が示すサイズが閾値以上である場合、メモリ3000から取得した送信情報を、第1系統の第4プロトコル処理部3610に出力する。一方、決定部3600は、サイズ情報が示すサイズが閾値以上でない場合、メモリ3000から取得した送信情報を、第2系統の第7プロトコル処理部3650に出力する。
第1系統の第4プロトコル処理部3610は、決定部3600から取得した送信情報に、第1プロトコルに基づく符号化処理を施す。第4プロトコル処理部3610は、第1プロトコルに基づく符号化処理を施した送信情報を、第5プロトコル処理部3620に出力する。
第1系統の第5プロトコル処理部3620は、第4プロトコル処理部3610から取得した送信情報に、第2プロトコルに基づく符号化処理を施す。第5プロトコル処理部3620は、第2プロトコルに基づく符号化処理を施した送信情報を、第6プロトコル処理部3630に出力する。
第1系統の第6プロトコル処理部3630は、第5プロトコル処理部3620から取得した送信情報に、第3プロトコルに基づく符号化処理を施し、送信情報を含むパケットを生成する。第6プロトコル処理部3630は、送信情報を含むパケットを、第2通信メモリ3640に記憶させる。
第1系統の第2通信メモリ3640は、第6プロトコル処理部3630によって生成されたパケットを記憶する。
第1系統の第2通信メモリ3640は、第6プロトコル処理部3630によって生成されたパケットを記憶する。
第2系統の第7プロトコル処理部3650は、決定部3600から取得した送信情報に、第1プロトコルに基づく符号化処理を施す。第7プロトコル処理部3650は、第1プロトコルに基づく符号化処理を施した送信情報を、第8プロトコル処理部3660に出力する。
第2系統の第8プロトコル処理部3660は、第7プロトコル処理部3650から取得した送信情報に、第2プロトコルに基づく符号化処理を施す。第8プロトコル処理部3660は、第2プロトコルに基づく符号化処理を施した送信情報を、第9プロトコル処理部3670に出力する。
第2系統の第9プロトコル処理部3670は、第8プロトコル処理部3660から取得した送信情報に、第3プロトコルに基づく符号化処理を施し、送信情報を含むパケットを生成する。第9プロトコル処理部3670は、送信情報を含むパケットを、第3通信メモリ3680に記憶させる。
第2系統の第3通信メモリ3680は、第9プロトコル処理部3670によって生成されたパケットを記憶する。
第2系統の第3通信メモリ3680は、第9プロトコル処理部3670によって生成されたパケットを記憶する。
物理インタフェース3690は、第3通信メモリ3680に記憶されたパケットを、第1通信メモリ3010に記憶されたパケットや、第2通信メモリ3640に記憶されたパケットよりも優先して、クライアント装置10に送信する。物理インタフェース3690は、例えば、メディアアクセス制御(MAC : Media Access Control)層で通信処理を実行する。物理インタフェース3690は、第1通信メモリ3010に記憶されたパケットと、第2通信メモリ3640に記憶されたパケットとを、同じ優先度で送信してもよいし、異なる優先度で送信してもよい。以下、第1通信メモリ3010と、第2通信メモリ3640と、第3通信メモリ3680とを、まとめて、「通信キュー」という。
次に、通信部360の動作例を説明する。
図2は、実施形態における、パケットの通信例を示す図である。クライアント装置10は、制御パケット「SYN」をサーバ装置30に送信する(ステップS101)。制御パケット「SYN」は、通信の接続(connect)を確立するための制御に使用される情報を含むパケットである。
図2は、実施形態における、パケットの通信例を示す図である。クライアント装置10は、制御パケット「SYN」をサーバ装置30に送信する(ステップS101)。制御パケット「SYN」は、通信の接続(connect)を確立するための制御に使用される情報を含むパケットである。
サーバ装置30は、通信の接続を容認(accept)するため、制御パケット「SYN」と、受信した制御パケット「SYN」に対する応答メッセージ「ACK」とを、クライアント装置10に送信する(ステップS102)。
クライアント装置10は、受信した制御パケット「SYN」に対する応答メッセージ「ACK」を、サーバ装置30に送信する(ステップS103)。これにより、サーバ装置30は、クライアント装置10との通信が可能になる。
クライアント装置10は、受信した制御パケット「SYN」に対する応答メッセージ「ACK」を、サーバ装置30に送信する(ステップS103)。これにより、サーバ装置30は、クライアント装置10との通信が可能になる。
クライアント装置10は、ハイパーテキスト ・トランスファ・プロトコル(HTTP:HyperText Transfer Protocol)による通信の要求メッセージ「HTTP GET」を、クライアント装置10の通信メモリに書き込み(write)、サーバ装置30に送信する。サーバ装置30は、要求メッセージ「HTTP GET」を、第1通信メモリ3010から読み出す(read)(ステップS104)。要求メッセージ「HTTP GET」は、データパケットの送信を制御部320が実行するアプリケーションに対して要求する情報を含むパケットである。
サーバ装置30は、受信した要求メッセージ「HTTP GET」に対する応答メッセージ「ACK」を、クライアント装置10に送信する(ステップS105)。
サーバ装置30は、受信した要求メッセージ「HTTP GET」に対する応答メッセージ「ACK」を、クライアント装置10に送信する(ステップS105)。
サーバ装置30は、要求メッセージ「HTTP OK」を、第3通信メモリ3680に書き込み(write)、クライアント装置10に送信する。クライアント装置10は、クライアント装置10の通信メモリから、要求メッセージ「HTTP OK」を読み出す(read)(ステップS106)。
クライアント装置10は、受信した要求メッセージ「HTTP OK」に対する応答メッセージ「ACK」を、サーバ装置30に送信する(ステップS107)。
クライアント装置10は、受信した要求メッセージ「HTTP OK」に対する応答メッセージ「ACK」を、サーバ装置30に送信する(ステップS107)。
サーバ装置30は、要求されたデータパケット「DATA」を、第1通信メモリ3010又は第2通信メモリ3640に書き込み(write)、クライアント装置10に送信する。クライアント装置10は、データパケット「DATA」を、クライアント装置10の通信メモリから読み出す(read)(ステップS108)。
クライアント装置10は、受信したデータパケット「DATA」に対する応答メッセージ「ACK」を、サーバ装置30に送信する(ステップS109)。
クライアント装置10は、受信したデータパケット「DATA」に対する応答メッセージ「ACK」を、サーバ装置30に送信する(ステップS109)。
サーバ装置30は、制御パケット「FIN/ACK」を、クライアント装置10に送信する(ステップS110)。制御パケット「FIN/ACK」は、通信の接続を終了(close)させる情報を含むパケットである。
クライアント装置10は、受信した制御パケット「FIN/ACK」に対する応答メッセージ「ACK」を、サーバ装置30に送信する(ステップS111)。
クライアント装置10は、受信した制御パケット「FIN/ACK」に対する応答メッセージ「ACK」を、サーバ装置30に送信する(ステップS111)。
クライアント装置10は、制御パケット「FIN/ACK」を、サーバ装置30に送信する(ステップS112)。
サーバ装置30は、受信した制御パケット「FIN/ACK」に対する応答メッセージ「ACK」を、クライアント装置10に送信する(ステップS113)。これにより、サーバ装置30は、クライアント装置10との接続を終了(close)する。
サーバ装置30は、受信した制御パケット「FIN/ACK」に対する応答メッセージ「ACK」を、クライアント装置10に送信する(ステップS113)。これにより、サーバ装置30は、クライアント装置10との接続を終了(close)する。
なお、図2に示す例では、書き込み処理「write」と記載されている箇所は、送信処理「send」であっても良いし、TCP/IP通信処理以外のフックでもよい。また、アプリケーションプログラムにおけるフックは、メモリからファイルディスクリプタへの送信処理「write」と、ファイルディスクリプタ間でのファイル送信処理「sendfile」とで、送信情報に定められる優先度が異なってもよい。また、データパケットに含まれている画像情報等と、制御パケットに含まれている制御情報とで、定められた優先度が異なってもよい。
図3は、実施形態における、通信部360の動作例を示すフローチャートである。
制御部320は、ソフトウェア処理で実行する通信処理の負荷を軽減させるか否かを、アプリケーションプログラムに組み込まれたフックに基づいて判定する(ステップS201)。
制御部320は、ソフトウェア処理で実行する通信処理の負荷を軽減させるか否かを、アプリケーションプログラムに組み込まれたフックに基づいて判定する(ステップS201)。
通信処理の負荷を軽減させない場合(ステップS201:NO)、第1プロトコル処理部330は、制御部320から取得した送信情報に対して、トランスポート層(TCP層)に対するプロトコル処理を実行する。第2プロトコル処理部340は、第1プロトコル処理部330から取得した送信情報に対して、インターネット層(IP層)に対するプロトコル処理を実行する。
第3プロトコル処理部350は、第2プロトコル処理部340から取得した送信情報に対して、ネットワークインタフェース層に対するプロトコル処理を実行し、送信情報を含むパケットを生成する。第3プロトコル処理部350は、生成したパケットを、第1通信メモリ3010に記憶させる(ステップS202)。
通信処理の負荷を軽減させる場合(ステップS201:YES)、制御部320は、送信情報が記憶されている記憶領域のアドレス先頭を示すアドレス情報を、通信部360の決定部3600に送信する。
決定部3600は、アドレス情報を制御部320から取得する。決定部3600は、メモリ3000に記憶されている送信情報を、ハードウェア処理により、アドレス情報に基づいて取得する。決定部3600は、メモリ3000から取得した送信情報のサイズが、予め定められた閾値以上であるか否かを判定する(ステップS203)。
取得した送信情報のサイズが閾値以上である場合(ステップS203:YES)、決定部3600は、メモリ3000から取得した送信情報を、第4プロトコル処理部3610に出力する。第4プロトコル処理部3610は、決定部3600から取得した送信情報に対して、トランスポート層(TCP層)に対するプロトコル処理を実行する。第5プロトコル処理部3620は、第4プロトコル処理部3610から取得した送信情報に対して、インターネット層(IP層)に対するプロトコル処理を実行する。
第6プロトコル処理部3630は、第5プロトコル処理部3620から取得した送信情報に対して、ネットワークインタフェース層に対するプロトコル処理を実行し、送信情報を含むパケットを生成する。第6プロトコル処理部3630は、生成したパケットを、第2通信メモリ3640に記憶させる(ステップS204)。
一方、取得した送信情報のサイズが閾値以上でない場合(ステップS203:NO)、決定部3600は、メモリ3000から取得した送信情報を、第7プロトコル処理部3650に出力する。第7プロトコル処理部3650は、決定部3600から取得した送信情報に対して、トランスポート層(TCP層)に対するプロトコル処理を実行する。第8プロトコル処理部3660は、第7プロトコル処理部3650から取得した送信情報に対して、インターネット層(IP層)に対するプロトコル処理を実行する。
第9プロトコル処理部3670は、第8プロトコル処理部3660から取得した送信情報に対して、ネットワークインタフェース層に対するプロトコル処理を実行し、送信情報を含むパケットを生成する。第6プロトコル処理部3630は、生成したパケットを、第3通信メモリ3680に記憶させる(ステップS205)。制御情報は、画像情報や音声情報のサイズよりも小さいことが多い。このため、第3通信メモリ3680は、制御情報を含むパケットを記憶する。
物理インタフェース3690は、第3通信メモリ3680に記憶されたパケットを、第1通信メモリ3010に記憶されたパケットや、第2通信メモリ3640に記憶されたパケットよりも優先して、クライアント装置10に送信する。
図4は、実施形態における、通信部360が送信情報に優先度を定めずにパケットを送信する場合の通信例を示すシーケンス図である。サーバ装置30は、複数のクライアント装置10とのTCP/IP(Transmission Control Protocol / Internet Protocol)通信を実行する場合がある。図4では、サーバ装置30は、一例として、クライアント装置10−1〜10−3とのTCP/IP通信を実行する。図4には、サーバ装置30は、ハイパーテキスト・トランスファ・プロトコルによる通信のうち、制御パケット「GET」の送信と、その制御パケット「GET」に対応するデータパケット「DATA」の送信とが示されている。
なお、図4〜図7では、動作説明が必須でない事項は、説明を簡便にするために省略されている。動作説明が必須でない事項とは、例えば、データパケットに対する制御パケットに関する事項である。
データパケット「DATA」は、制御情報を含まない代わりに、予め定められた情報を含むパケットである。予め定められた情報は、例えば、動画像を表す画像情報、静止画像を表す画像情報、音声を表す音声情報である。
クライアント装置10−1は、制御パケット「GET」を、サーバ装置30に送信する(ステップS301)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS302)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS303)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS302)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS303)。
図4では、クライアント装置10−2と、クライアント装置10−3とは、ステップS301〜ステップS303の間で、制御パケットをサーバ装置30に送信していない。このため、サーバ装置30は、データパケット「DATA」を、遅延なくクライアント装置10−1に送信することができる。
クライアント装置10−2は、制御パケット「GET」を、サーバ装置30に送信する(ステップS304)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−2に送信する(ステップS305)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS306)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−2に送信する(ステップS305)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS306)。
図4には、サーバ装置30がステップS306でデータパケット「DATA」を送信し、未送信のデータパケットがサーバ装置30の通信キューに残っている状態で、クライアント装置10−3が制御パケット「GET」をサーバ装置30に送信する場合が示されている(ステップS307)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS308)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS308)。
図4には、サーバ装置30がステップS308でデータパケット「DATA」を送信し、未送信のデータパケットがサーバ装置30の通信キューに残っている状態で、クライアント装置10−1が制御パケット「GET」をサーバ装置30に送信する場合が示されている(ステップS309)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS310)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS310)。
サーバ装置30は、通信キューに記憶されているデータパケット「DATA」をクライアント装置10−2に送信し終えた場合、制御パケット「GET」に対応する応答メッセージであるデータパケット「OK」を、クライアント装置10−3に送信する(ステップS311)。ステップS307からステップ311までの時間長は、矢印4000の長さで示されている。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS312)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS312)。
サーバ装置30は、通信キューに記憶されているデータパケット「DATA」をクライアント装置10−3に送信し終えた場合、制御パケット「GET」に対応する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS313)。ステップS309からステップ313までの時間長は、矢印4001の長さで示されている。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS314)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS314)。
図4に示されているように、サーバ装置30は、送信情報に優先度を定めずにパケットを送信する場合、制御パケットの送信を遅延させてしまうことがある。図4では、ステップS307とステップS311との間で、応答メッセージであるデータパケット「OK」の送信の遅延が発生している。また、ステップS309とステップS313との間で、応答メッセージであるデータパケット「OK」の送信の遅延が発生している。
図5は、実施形態における、通信部360が送信情報に優先度を定めてパケットを送信する場合の通信例を示すシーケンス図である。図5では、制御パケットは、第3通信メモリ3680に記憶されている。図5では、サーバ装置30は、第3通信メモリ3680に記憶されているパケットを、優先して送信する。
ステップS401〜ステップS408は、図4に示すステップS301〜ステップS308と同様である。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージであるデータパケット「OK」を優先して、クライアント装置10−3に送信する(ステップS409)。ステップS407からステップ409までの時間長は、矢印4002の長さで示されている。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージであるデータパケット「OK」を優先して、クライアント装置10−3に送信する(ステップS409)。ステップS407からステップ409までの時間長は、矢印4002の長さで示されている。
図5には、サーバ装置30がステップS409で応答メッセージであるデータパケット「OK」を送信した直後に、クライアント装置10−1が制御パケット「GET」をサーバ装置30に送信する場合が示されている(ステップS410)。
サーバ装置30は、優先度を定めて通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS411)。
サーバ装置30は、優先度を定めて通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS411)。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージであるデータパケット「OK」を優先して、クライアント装置10−1に送信する(ステップS412)。ステップS410からステップ412までの時間長は、矢印4003の長さで示されている。
サーバ装置30は、優先度を定めて通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS413)。
サーバ装置30は、優先度を定めて通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS413)。
サーバ装置30は、優先度を定めて通信キューに記憶されている未送信のデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS414)。
サーバ装置30は、優先度を定めて通信キューに記憶されている未送信のデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS415)。
サーバ装置30は、優先度を定めて通信キューに記憶されている未送信のデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS415)。
図5に示されているように、サーバ装置30は、送信情報に優先度を定めてパケットを送信する場合、制御パケットの遅延を短縮することができる。図5では、矢印4002の長さによって示されているように、応答メッセージであるデータパケット「OK」の送信の遅延が、図4に示す矢印4000の長さが示す時間長と比較して短縮している。また、矢印4003の長さによって示されているように、応答メッセージであるデータパケット「OK」の送信の遅延が、図4に示す矢印4001の長さが示す時間長と比較して短縮している。
図6は、実施形態における、通信部360が送信情報に優先度を定めずに接続を確立する場合の通信例を示すシーケンス図である。サーバ装置30は、複数のクライアント装置10とのTCP/IP通信を実行する場合がある。図6では、サーバ装置30は、クライアント装置10−1〜10−3との間で、TCP/IP通信を実行する。図6には、サーバ装置30は、ハイパーテキスト・トランスファ・プロトコル(HTTP)による通信のうち、制御パケット「SYN」の送信と、制御パケット「GET」の送信と、その制御パケット「GET」に対応するデータパケット「DATA」の送信とが示されている。
クライアント装置10−1は、制御パケット「SYN」を、サーバ装置30に送信する(ステップS501)。
サーバ装置30は、制御パケット「SYN」に対する応答メッセージ「ACK」を、クライアント装置10−1に送信する(ステップS502)。
サーバ装置30は、制御パケット「SYN」に対する応答メッセージ「ACK」を、クライアント装置10−1に送信する(ステップS502)。
クライアント装置10−1は、制御パケット「GET」を、サーバ装置30に送信する(ステップS503)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS504)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS505)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS504)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS505)。
図6では、クライアント装置10−2と、クライアント装置10−3とは、ステップS501〜ステップS505の間で、パケットをサーバ装置30に送信していない。このため、サーバ装置30は、データパケット「DATA」を、遅延なくクライアント装置10−1に送信することができる。
クライアント装置10−2は、制御パケット「SYN」を、サーバ装置30に送信する(ステップS506)。
サーバ装置30は、制御パケット「SYN」に対する応答メッセージ「ACK」を、クライアント装置10−2に送信する(ステップS507)。
サーバ装置30は、制御パケット「SYN」に対する応答メッセージ「ACK」を、クライアント装置10−2に送信する(ステップS507)。
クライアント装置10−2は、制御パケット「GET」を、サーバ装置30に送信する(ステップS508)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−2に送信する(ステップS509)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS510)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−2に送信する(ステップS509)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS510)。
図6には、サーバ装置30がステップS510でデータパケット「DATA」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置10−3が制御パケット「SYN」をサーバ装置30に送信する場合が示されている(ステップS511)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS512)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS512)。
図6には、サーバ装置30がステップS512でデータパケット「DATA」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置10−1が制御パケット「GET」をサーバ装置30に送信する場合が示されている(ステップS513)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS514)。
サーバ装置30は、通信キューに記憶されているデータパケット「DATA」をクライアント装置10−2に送信し終えた場合、制御パケット「SYN」に対応する応答メッセージ「ACK」を、クライアント装置10−3に送信する(ステップS515)。ステップS511からステップ515までの時間長は、矢印4004の長さで示されている。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS514)。
サーバ装置30は、通信キューに記憶されているデータパケット「DATA」をクライアント装置10−2に送信し終えた場合、制御パケット「SYN」に対応する応答メッセージ「ACK」を、クライアント装置10−3に送信する(ステップS515)。ステップS511からステップ515までの時間長は、矢印4004の長さで示されている。
クライアント装置10−3は、制御パケット「GET」を、サーバ装置30に送信する(ステップS516)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS517)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS518)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS517)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS518)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−3に送信する(ステップS519)。ステップS516からステップ519までの時間長は、矢印4005の長さで示されている。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS520)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS520)。
図6に示されているように、サーバ装置30は、送信情報に優先度を定めずにパケットを送信する場合、制御パケットの送信を遅延させてしまうことがある。図6では、ステップS511とステップS515との間で、応答メッセージであるデータパケット「OK」の送信の遅延が発生している。また、ステップSc16とステップS519との間で、応答メッセージであるデータパケット「OK」の送信の遅延が発生している。
図7は、実施形態における、通信部360が送信情報に優先度を定めて接続を確立する場合の通信例を示すシーケンス図である。図7では、制御パケットは、第3通信メモリ3680に記憶されている。図7では、サーバ装置30は、第3通信メモリ3680に記憶されているパケットを、優先して送信する。
ステップS601〜ステップS612は、図6に示すステップS501〜ステップS512と同様である。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージ「ACK」を優先して、クライアント装置10−3に送信する(ステップS613)。ステップS611からステップ613までの時間長は、矢印4006の長さで示されている。
クライアント装置10−3は、制御パケット「GET」を、サーバ装置30に送信する(ステップS614)。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージ「ACK」を優先して、クライアント装置10−3に送信する(ステップS613)。ステップS611からステップ613までの時間長は、矢印4006の長さで示されている。
クライアント装置10−3は、制御パケット「GET」を、サーバ装置30に送信する(ステップS614)。
図7には、サーバ装置30がステップS612でデータパケット「DATA」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置10−1が制御パケット「GET」をサーバ装置30に送信する場合が示されている(ステップS615)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−3に送信する(ステップS616)。ステップS614からステップ616までの時間長は、矢印4007の長さで示されている。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−3に送信する(ステップS616)。ステップS614からステップ616までの時間長は、矢印4007の長さで示されている。
サーバ装置30は、優先度を定めて通信キューに記憶されている未送信のデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS617)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS618)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS618)。
サーバ装置30は、優先度を定めて通信キューに記憶されている未送信のデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS619)。
サーバ装置30は、優先度を定めて通信キューに記憶されている未送信のデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS620)。
サーバ装置30は、優先度を定めて通信キューに記憶されている未送信のデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS620)。
図7に示されているように、サーバ装置30は、送信情報に優先度を定めてパケットを送信する場合、制御パケットの遅延を短縮することができる。図7では、矢印4006の長さによって示されているように、応答メッセージであるデータパケット「OK」の送信の遅延が、図6に示す矢印4004の長さが示す時間長と比較して短縮している。また、矢印4007の長さによって示されているように、応答メッセージであるデータパケット「OK」の送信の遅延が、図6に示す矢印4005の長さが示す時間長と比較して短縮している。
なお、図4〜図7では、待ち時間に応じて再送されるパケットの記載は、省略されている。
なお、図4〜図7では、待ち時間に応じて再送されるパケットの記載は、省略されている。
以上のように、実施形態の通信部360(通信装置)は、決定部3600と、第4プロトコル処理部3610〜第9プロトコル処理部3670と、物理インタフェース3690とを持つ。決定部3600は、クライアント装置10に送信する情報である送信情報のサイズに応じて、送信情報に優先度を定める。第4プロトコル処理部3610〜第9プロトコル処理部3670は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェース3690は、送信情報に定められた優先度に応じて、送信情報を含むパケットを送信する。
この構成により、決定部3600は、クライアント装置10に送信する情報である送信情報のサイズに応じて、送信情報に優先度を定める。決定部3600は、サイズが小さい送信情報を含むパケットを、第4プロトコル処理部3610〜第9プロトコル処理部3670を介して、第3通信メモリ3680に記憶させる。つまり、決定部3600は、データパケットよりもサイズが小さい制御パケットを、第3通信メモリ3680に記憶させる。物理インタフェース3690は、第3通信メモリ3680に記憶されている制御パケットを優先して、クライアント装置10に送信する。
これにより、実施形態の通信部360は、通信性能を向上させることができる。
これにより、実施形態の通信部360は、通信性能を向上させることができる。
クライアント装置10が多い場合、又は、一度に送信されるパケットの数が多い場合、応答を示す制御パケットが送信されるまでの時間は、相対的に長くなる。この場合、クライアント装置10は、送信済みのパケットが失われたと判定するため、パケットを再送する。パケットが再送された場合、通信回線20に対する負荷は増加する。このような場合、実施形態の通信部360は、さらに通信性能を向上させることができる。
実施形態の通信部360は、通信回線20やクライアント装置10がQoS(Quality of Service)に対応していない場合でも、通信性能を向上させることができる。
実施形態の通信部360は、制御部320がアプリケーションソフトウェアによってパケットの通信処理を切り替えることなく、通信性能を向上させることができる。
実施形態の通信部360では、制御部320は、通信部360がハードウェア処理によって負荷を軽減させたパケットの送信状態を、把握する必要がない。
実施形態の通信部360は、制御部320がアプリケーションソフトウェアによってパケットの通信処理を切り替えることなく、通信性能を向上させることができる。
実施形態の通信部360では、制御部320は、通信部360がハードウェア処理によって負荷を軽減させたパケットの送信状態を、把握する必要がない。
以上説明した少なくともひとつの実施形態によれば、送信情報のサイズに応じて、送信情報に優先度を定める決定部3600により、通信性能を向上させることができる。
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…通信システム、10…クライアント装置、20…通信回線、30…サーバ装置、300…記憶部、310…バス、320…制御装置、330…第1プロトコル処理部、340…第2プロトコル処理部、350…第3プロトコル処理部、360…通信部、3000…メモリ、3010…第1通信メモリ、3600…決定部、3610…第4プロトコル処理部、3620…第5プロトコル処理部、3630…第6プロトコル処理部、3640…第2通信メモリ、3650…第7プロトコル処理部、3660…第8プロトコル処理部、3670…第9プロトコル処理部、3680…第3通信メモリ、3690…物理インタフェース、4000…矢印、4001…矢印、4002…矢印、4003…矢印、4004…矢印、4005…矢印、4006…矢印、4007…矢印
本発明の実施形態は、通信装置及び通信方法に関する。
実施形態の通信装置は、決定部と、プロトコル処理部と、物理インタフェースとを持つ。決定部は、他の装置に送信する情報である送信情報のサイズに応じて、送信情報に送信の優先度を定める。プロトコル処理部は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェースは、送信情報に定められた送信の優先度に応じて、送信情報を含むパケットを送信する。
以下、実施形態の通信装置及び通信方法を、図面を参照して説明する。
図1は、実施形態における、通信システム1の構成例を示す図である。通信システム1は、クライアント装置10と、通信回線20と、サーバ装置30とを備える。
図1は、実施形態における、通信システム1の構成例を示す図である。通信システム1は、クライアント装置10と、通信回線20と、サーバ装置30とを備える。
決定部3600は、サイズが相対的に小さい送信情報を含むパケットを優先して物理インタフェース3690が送信するように、メモリ3000から取得した送信情報に送信の優先度を定める。制御情報は、画像情報や音声情報のサイズよりも小さいことが多い。このため、決定部3600は、データパケットよりも制御パケットを優先して物理インタフェース3690が送信するように、メモリ3000から取得した送信情報に、送信の優先度を定めることができる。
なお、図4〜図7では、データパケットに対する制御パケットに関する事項は、説明を簡便にするために省略されている。
サーバ装置30は、通信キューに記憶されているデータパケット「DATA」をクライアント装置10−2に送信し終えた場合、制御パケット「GET」に対応する応答メッセージであるデータパケット「OK」を、クライアント装置10−3に送信する(ステップS311)。ステップS307からステップS311までの時間長は、矢印4000の長さで示されている。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS312)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS312)。
サーバ装置30は、通信キューに記憶されているデータパケット「DATA」をクライアント装置10−3に送信し終えた場合、制御パケット「GET」に対応する応答メッセージであるデータパケット「OK」を、クライアント装置10−1に送信する(ステップS313)。ステップS309からステップS313までの時間長は、矢印4001の長さで示されている。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS314)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−1に送信する(ステップS314)。
ステップS401〜ステップS408は、図4に示すステップS301〜ステップS308と同様である。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージであるデータパケット「OK」を優先して、クライアント装置10−3に送信する(ステップS409)。ステップS407からステップS409までの時間長は、矢印4002の長さで示されている。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージであるデータパケット「OK」を優先して、クライアント装置10−3に送信する(ステップS409)。ステップS407からステップS409までの時間長は、矢印4002の長さで示されている。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージであるデータパケット「OK」を優先して、クライアント装置10−1に送信する(ステップS412)。ステップS410からステップS412までの時間長は、矢印4003の長さで示されている。
サーバ装置30は、優先度を定めて通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS413)。
サーバ装置30は、優先度を定めて通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信する(ステップS413)。
図6には、サーバ装置30がステップS512でデータパケット「DATA」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置10−1が制御パケット「GET」をサーバ装置30に送信する場合が示されている(ステップS513)。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS514)。
サーバ装置30は、通信キューに記憶されているデータパケット「DATA」をクライアント装置10−2に送信し終えた場合、制御パケット「SYN」に対応する応答メッセージ「ACK」を、クライアント装置10−3に送信する(ステップS515)。ステップS511からステップS515までの時間長は、矢印4004の長さで示されている。
サーバ装置30は、優先度を定めずに通信キューに記憶されているデータパケット「DATA」を、クライアント装置10−2に送信し続ける(ステップS514)。
サーバ装置30は、通信キューに記憶されているデータパケット「DATA」をクライアント装置10−2に送信し終えた場合、制御パケット「SYN」に対応する応答メッセージ「ACK」を、クライアント装置10−3に送信する(ステップS515)。ステップS511からステップS515までの時間長は、矢印4004の長さで示されている。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−3に送信する(ステップS519)。ステップS516からステップS519までの時間長は、矢印4005の長さで示されている。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS520)。
サーバ装置30は、制御パケット「GET」に対応するデータパケット「DATA」を、クライアント装置10−3に送信する(ステップS520)。
図6に示されているように、サーバ装置30は、送信情報に優先度を定めずにパケットを送信する場合、制御パケットの送信を遅延させてしまうことがある。図6では、ステップS511とステップS515との間で、応答メッセージであるデータパケット「OK」の送信の遅延が発生している。また、ステップS516とステップS519との間で、応答メッセージであるデータパケット「OK」の送信の遅延が発生している。
ステップS601〜ステップS612は、図6に示すステップS501〜ステップS512と同様である。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージ「ACK」を優先して、クライアント装置10−3に送信する(ステップS613)。ステップS611からステップS613までの時間長は、矢印4006の長さで示されている。
クライアント装置10−3は、制御パケット「GET」を、サーバ装置30に送信する(ステップS614)。
サーバ装置30は、第3通信メモリ3680に記憶されている応答メッセージ「ACK」を優先して、クライアント装置10−3に送信する(ステップS613)。ステップS611からステップS613までの時間長は、矢印4006の長さで示されている。
クライアント装置10−3は、制御パケット「GET」を、サーバ装置30に送信する(ステップS614)。
図7には、サーバ装置30がステップS612でデータパケット「DATA」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置10−1が制御パケット「GET」をサーバ装置30に送信する場合が示されている(ステップS615)。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−3に送信する(ステップS616)。ステップS614からステップS616までの時間長は、矢印4007の長さで示されている。
サーバ装置30は、制御パケット「GET」に対する応答メッセージであるデータパケット「OK」を、クライアント装置10−3に送信する(ステップS616)。ステップS614からステップS616までの時間長は、矢印4007の長さで示されている。
以上のように、実施形態の通信部360(通信装置)は、決定部3600と、第4プロトコル処理部3610〜第9プロトコル処理部3670と、物理インタフェース3690とを持つ。決定部3600は、クライアント装置10に送信する情報である送信情報のサイズに応じて、送信情報に送信の優先度を定める。第4プロトコル処理部3610〜第9プロトコル処理部3670は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェース3690は、送信情報に定められた送信の優先度に応じて、送信情報を含むパケットを送信する。
この構成により、決定部3600は、クライアント装置10に送信する情報である送信情報のサイズに応じて、送信情報に送信の優先度を定める。決定部3600は、サイズが小さい送信情報を含むパケットを、第4プロトコル処理部3610〜第9プロトコル処理部3670を介して、第3通信メモリ3680に記憶させる。つまり、決定部3600は、データパケットよりもサイズが小さい制御パケットを、第3通信メモリ3680に記憶させる。物理インタフェース3690は、第3通信メモリ3680に記憶されている制御パケットを優先して、クライアント装置10に送信する。
これにより、実施形態の通信部360は、通信性能を向上させることができる。
これにより、実施形態の通信部360は、通信性能を向上させることができる。
以上説明した少なくともひとつの実施形態によれば、送信情報のサイズに応じて、送信情報に送信の優先度を定める決定部3600により、通信性能を向上させることができる。
Claims (5)
- 他の装置に送信する情報である送信情報のサイズに応じて、前記送信情報に優先度を定める決定部と、
予め定められたプロトコルに基づいて、前記送信情報を含むパケットを生成するプロトコル処理部と、
前記送信情報に定められた前記優先度に応じて、前記送信情報を含むパケットを送信する物理インタフェースと、
を備える通信装置。 - 前記決定部は、前記サイズが相対的に小さい前記送信情報を含む前記パケットを優先して前記通信部が送信するように前記優先度を定める、請求項1に記載の通信装置。
- 前記決定部は、制御に使用される前記送信情報としての制御情報の前記サイズが閾値以上でない場合に、前記制御情報を含む前記パケットを優先して前記通信部が送信するように前記優先度を定める、請求項2に記載の通信装置。
- 前記決定部は、前記送信情報の種別に応じて、前記送信情報に更に細かく優先度を定める、請求項1から請求項3のいずれか一項に記載の通信装置。
- 前記決定部は、プログラムを使用しないハードウェア機能部である、請求項1から請求項4のいずれか一項に記載の通信装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014079474A JP2015201755A (ja) | 2014-04-08 | 2014-04-08 | 通信装置及び通信方法 |
US14/613,185 US20150288785A1 (en) | 2014-04-08 | 2015-02-03 | Communication apparatus and transmitting method |
EP15153934.3A EP2930894A1 (en) | 2014-04-08 | 2015-02-05 | Communication apparatus and transmitting method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014079474A JP2015201755A (ja) | 2014-04-08 | 2014-04-08 | 通信装置及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015201755A true JP2015201755A (ja) | 2015-11-12 |
Family
ID=52465233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014079474A Pending JP2015201755A (ja) | 2014-04-08 | 2014-04-08 | 通信装置及び通信方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150288785A1 (ja) |
EP (1) | EP2930894A1 (ja) |
JP (1) | JP2015201755A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10271163A (ja) * | 1997-03-24 | 1998-10-09 | Mitsubishi Electric Corp | パケット通信網接続装置 |
JP2006245887A (ja) * | 2005-03-02 | 2006-09-14 | Kddi Corp | 無線mac処理部における送信パケットスケジューリング方法、プログラム及び無線通信装置 |
JP2009124722A (ja) * | 2008-12-22 | 2009-06-04 | Fujitsu Ltd | 移動通信システム、通信装置及び方法 |
WO2012174465A2 (en) * | 2011-06-17 | 2012-12-20 | Intel Corporation | Method and system for communicating data packets |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506156B2 (en) * | 2005-02-01 | 2009-03-17 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for prioritizing encrypted traffic at an intermediate node in a communications network |
US8259566B2 (en) * | 2005-09-20 | 2012-09-04 | Qualcomm Incorporated | Adaptive quality of service policy for dynamic networks |
EP2058989A1 (en) * | 2007-11-09 | 2009-05-13 | Thomson Licensing, Inc. | Wireless rate control method |
US8989089B2 (en) * | 2011-08-18 | 2015-03-24 | Ofinno Technologies, Llc | Automobile data transmission |
-
2014
- 2014-04-08 JP JP2014079474A patent/JP2015201755A/ja active Pending
-
2015
- 2015-02-03 US US14/613,185 patent/US20150288785A1/en not_active Abandoned
- 2015-02-05 EP EP15153934.3A patent/EP2930894A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10271163A (ja) * | 1997-03-24 | 1998-10-09 | Mitsubishi Electric Corp | パケット通信網接続装置 |
JP2006245887A (ja) * | 2005-03-02 | 2006-09-14 | Kddi Corp | 無線mac処理部における送信パケットスケジューリング方法、プログラム及び無線通信装置 |
JP2009124722A (ja) * | 2008-12-22 | 2009-06-04 | Fujitsu Ltd | 移動通信システム、通信装置及び方法 |
WO2012174465A2 (en) * | 2011-06-17 | 2012-12-20 | Intel Corporation | Method and system for communicating data packets |
Also Published As
Publication number | Publication date |
---|---|
EP2930894A1 (en) | 2015-10-14 |
US20150288785A1 (en) | 2015-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5668342B2 (ja) | コンテンツ変換プログラム、コンテンツ変換システム及びコンテンツ変換サーバ | |
US8996718B2 (en) | TCP-aware receive side coalescing | |
CN108432194B (zh) | 一种拥塞处理的方法、主机及系统 | |
US9391840B2 (en) | Avoiding delayed data | |
US8514700B2 (en) | MLPPP occupancy based round robin | |
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
JP2017163530A5 (ja) | ||
WO2020108568A1 (zh) | 一种信息处理方法、设备及计算机存储介质 | |
JP6029805B2 (ja) | 配信装置、配信プログラムおよび配信方法 | |
US20160057068A1 (en) | System and method for transmitting data embedded into control information | |
JP2015159482A5 (ja) | ||
JP2015201755A (ja) | 通信装置及び通信方法 | |
US11172053B2 (en) | Transfer apparatus, transfer method, and program for transporting data from a single source to sinks with different communication requirements | |
CN107592361B (zh) | 一种基于双ib网络的数据传输方法、装置、设备 | |
JP2007088709A (ja) | パケット通信装置およびその処理方法 | |
US9172654B2 (en) | Transfer device and transfer method | |
JP2019114947A (ja) | 通信装置、通信装置の制御方法およびプログラム | |
CN109510779B (zh) | 车载装置、信息处理单元、信息处理方法以及存储介质 | |
JPWO2014057596A1 (ja) | 無線通信装置、無線通信方法、および無線通信制御プログラム | |
JP2016206713A5 (ja) | ||
JP2015165349A (ja) | 一次応答装置、制御方法及びコンピュータプログラム | |
JP6452573B2 (ja) | データ送信装置及びデータ受信装置及びデータ送信方法及びデータ受信方法及びデータ送信プログラム及びデータ受信プログラム | |
WO2013114484A1 (ja) | 無線通信装置、無線通信方法、および無線通信制御プログラム | |
JP6371230B2 (ja) | コンテンツ配信ネットワークの転送装置及びプログラム | |
JP2015186154A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160209 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160830 |