(57)【要約】      （修正有）【課題】通信性能を向上させることができる通信装置を提供する。【解決手段】通信装置３０は、決定部３６００と、プロトコル処理部３３０、３４０、３５０、３６１０、３６２０、３６３０、３６５０、３６６０、３６７０と、物理インタフェース３６９０とを持つ。決定部は、他の装置に送信する情報である送信情報のサイズに応じて、送信情報に優先度を定める。プロトコル処理部は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェースは、送信情報に定められた優先度に応じて、送信情報を含むパケットを送信する。【選択図】図１
2015201755.tif 000002
【特許請求の範囲】
【請求項１】
他の装置に送信する情報である送信情報のサイズに応じて、前記送信情報に優先度を定める決定部と、
予め定められたプロトコルに基づいて、前記送信情報を含むパケットを生成するプロトコル処理部と、
前記送信情報に定められた前記優先度に応じて、前記送信情報を含むパケットを送信する物理インタフェースと、
を備える通信装置。
【請求項２】
前記決定部は、前記サイズが相対的に小さい前記送信情報を含む前記パケットを優先して前記通信部が送信するように前記優先度を定める、請求項１に記載の通信装置。
【請求項３】
前記決定部は、制御に使用される前記送信情報としての制御情報の前記サイズが閾値以上でない場合に、前記制御情報を含む前記パケットを優先して前記通信部が送信するように前記優先度を定める、請求項２に記載の通信装置。
【請求項４】
前記決定部は、前記送信情報の種別に応じて、前記送信情報に更に細かく優先度を定める、請求項１から請求項３のいずれか一項に記載の通信装置。
【請求項５】
前記決定部は、プログラムを使用しないハードウェア機能部である、請求項１から請求項４のいずれか一項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置に関する。
【背景技術】
【０００２】
サーバ装置は、クライアント装置との通信処理の一部をハードウェア処理で実行することにより、主にソフトウェア処理で実行する通信処理の負荷を軽減させる場合がある。しかしながら、サーバ装置の通信装置は、通信性能を向上させることができない場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−６１２２３号公報
【特許文献２】特開２００７−２０１７８５号公報
【特許文献３】特開２０１２−１４２８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、通信性能を向上させることができる通信装置を提供することである。
【課題を解決するための手段】
【０００５】
実施形態の通信装置は、決定部と、プロトコル処理部と、物理インタフェースとを持つ。決定部は、他の装置に送信する情報である送信情報のサイズに応じて、送信情報に優先度を定める。プロトコル処理部は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェースは、送信情報に定められた優先度に応じて、送信情報を含むパケットを送信する。
【図面の簡単な説明】
【０００６】
【図１】実施形態における、通信システムの構成例を示す図である。
【図２】実施形態における、パケットの通信例を示す図である。
【図３】実施形態における、通信装置の動作例を示すフローチャートである。
【図４】実施形態における、通信装置が送信情報に優先度を定めずにパケットを送信する場合の通信例を示すシーケンス図である。
【図５】実施形態における、通信装置が送信情報に優先度を定めてパケットを送信する場合の通信例を示すシーケンス図である。
【図６】実施形態における、通信装置が送信情報に優先度を定めずに接続を確立する場合の通信例を示すシーケンス図である。
【図７】実施形態における、通信装置が送信情報に優先度を定めて接続を確立する場合の通信例を示すシーケンス図である。
【発明を実施するための形態】
【０００７】
以下、実施形態の通信装置を、図面を参照して説明する。
図１は、実施形態における、通信システム１の構成例を示す図である。通信システム１は、クライアント装置１０と、通信回線２０と、サーバ装置３０とを備える。
【０００８】
クライアント装置１０は、通信回線２０を介して、サーバ装置３０と通信する。
通信回線２０は、クライアント装置１０とサーバ装置３０との通信を中継する回線である。
サーバ装置３０は、通信回線２０を介して、クライアント装置１０と通信する。以下、他の装置に送信する情報を「送信情報」という。送信情報は、例えば、サーバ装置３０が記憶している情報や、サーバ装置３０が生成した情報である。サーバ装置３０は、クライアント装置１０から受信したパケットに応じて、送信情報をクライアント装置１０に送信する。
【０００９】
次に、サーバ装置３０の構成例を説明する。
サーバ装置３０は、記憶部３００と、バス３１０と、制御部３２０と、第１プロトコル処理部３３０と、第２プロトコル処理部３４０と、第３プロトコル処理部３５０と、通信部３６０とを備える。
【００１０】
記憶部３００は、ＲＡＭ（Random Access Memory）、レジスタなどの揮発性メモリや、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ハードディスクドライブなどの不揮発性メモリである。記憶部３００は、メモリ３０００と、第１通信メモリ３０１０とを備える。メモリ３０００は、各種の情報を記憶する。メモリ３０００は、例えば、動画像を表す画像情報と、静止画像を表す画像情報と、音声を表す音声情報とを記憶する。メモリ３０００は、例えば、ＣＰＵ等のプロセッサを動作させるためのプログラム（アプリケーションプログラム）を記憶する。メモリ３０００は、制御部３２０がプログラムに基づいて生成した情報を記憶してもよい。
【００１１】
第１通信メモリ３０１０は、通信キューとして機能する。第１通信メモリ３０１０は、送信情報を含むパケットを記憶する。送信情報を含むパケットは、例えば、制御情報を含む制御パケット、画像情報を含む画像データパケット、音声情報を含む音声データパケットである。
【００１２】
バス３１０は、通信線である。バス３１０は、記憶部３００と、制御部３２０と、第３プロトコル処理部３５０と、通信部３６０とを、通信可能に接続する。
【００１３】
制御部３２０と、第１プロトコル処理部３３０と、第２プロトコル処理部３４０と、第３プロトコル処理部３５０とのうち一部または全部は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサが、メモリ３０００に記憶されたプログラムを実行することにより機能するソフトウェア機能部である。
【００１４】
制御部３２０は、アプリケーションプログラムに基づいて、アプリケーション層で、ソフトウェア処理を実行する。制御部３２０は、ソフトウェア処理によって送信情報を生成する。制御部３２０は、制御に使用される制御情報を、送信情報として生成する。制御部３２０は、生成した送信情報を、バス３１０を介してメモリ３０００に記憶させる。
【００１５】
制御部３２０は、アプリケーションプログラムに組み込まれたフック(hook)によって、送信情報を振り分ける。制御部３２０は、送信情報を振り分けることにより、ハードウェア処理によって送信情報をパケットに詰める処理と、ソフトウェア処理によって送信情報をパケットに詰める処理とに、通信処理を分岐させる。送信情報が通信部３６０のハードウェア処理によってパケットに詰められた場合、制御部３２０と、第１プロトコル処理部３３０と、第２プロトコル処理部３４０と、第３プロトコル処理部３５０とによるソフトウェア処理の負荷は軽減される。
【００１６】
制御部３２０は、通信処理をハードウェア処理によって実行させる場合、バス３１０を介して、通信部３６０にアドレス情報を出力する。このアドレス情報は、送信情報が記憶されているメモリ３０００のアドレスを示す情報である。ソフトウェアのソケットと、ハードウェアとは、アドレス情報によって結び付けられる。また、制御部３２０は、制御部３２０の通信処理をフックによって分岐させる場合、送信情報のサイズを示すサイズ情報を、バス３１０を介して、通信部３６０に出力する。一方、制御部３２０は、通信処理をソフトウェア処理によって実行させる場合、送信情報を含むパケットを、第１プロトコル処理部３３０と、第２プロトコル処理部３４０と、第３プロトコル処理部３５０とに生成させる。
【００１７】
また、制御部３２０は、クライアント装置１０から受信したパケットに応じた情報（以下、「受信情報」という。）を、第１プロトコル処理部３３０から取得する。受信情報は、例えば、パケットの送信をサーバ装置３０に要求するための制御情報を含む。制御部３２０は、第１プロトコル処理部３３０から取得した受信情報に応じて、所定の処理を実行する。
【００１８】
第１プロトコル処理部３３０は、制御部３２０から取得した送信情報に、第１プロトコルに基づく符号化処理を施す。第１プロトコルは、例えば、トランスポート層に対して規定されたプロトコルである。第１プロトコル処理部３３０は、第１プロトコルに基づく符号化処理を施した送信情報を、第２プロトコル処理部３４０に出力する。
【００１９】
また、第１プロトコル処理部３３０は、第２プロトコル処理部３４０から受信情報を取得する。第１プロトコル処理部３３０は、第２プロトコル処理部３４０から取得した受信情報に、第１プロトコルに基づいて復号処理を施す。第１プロトコル処理部３３０は、第１プロトコルに基づいて復号処理を施した受信情報を、制御部３２０に出力する。
【００２０】
第２プロトコル処理部３４０は、第１プロトコル処理部３３０から取得した送信情報に、第２プロトコルに基づく符号化処理を施す。第２プロトコルは、例えば、インターネット層に対して規定されたプロトコルである。第２プロトコル処理部３４０は、第２プロトコルに基づく符号化処理を施した送信情報を、第３プロトコル処理部３５０に出力する。
【００２１】
第２プロトコル処理部３４０は、第３プロトコル処理部３５０から受信情報を取得する。第２プロトコル処理部３４０は、第３プロトコル処理部３５０から取得した受信情報に、第２プロトコルに基づいて復号処理を施す。第２プロトコル処理部３４０は、第２プロトコルに基づいて復号処理を施した受信情報を、第１プロトコル処理部３３０に出力する。
【００２２】
第３プロトコル処理部３５０は、第２プロトコル処理部３４０から取得した送信情報に、第３プロトコルに基づく符号化処理を施し、送信情報を含むパケットを生成する。第３プロトコルは、例えば、ネットワークインタフェース層に対して規定されたプロトコルである。第３プロトコル処理部３５０は、送信情報を含むパケットを、第１通信メモリ３０１０に記憶させる。
【００２３】
また、第３プロトコル処理部３５０は、第１通信メモリ３０１０から受信信号を取得する。第３プロトコル処理部３５０は、第１通信メモリ３０１０から取得した受信情報に、第３プロトコルに基づいて復号処理を施す。第３プロトコル処理部３５０は、第３プロトコルに基づいて復号処理を施した受信情報を、第２プロトコル処理部３４０に出力する。
【００２４】
通信部３６０は、制御部３２０などの通信処理の負荷を軽減させる負荷軽減処理（オフロード処理）を実行する。つまり、通信部３６０は、制御部３２０などが実行するＴＣＰ／ＩＰのプロトコル処理の少なくとも一部を、制御部３２０などに代わって、ハードウェア処理によって実行する。
【００２５】
通信部３６０は、バス３１０を介して、アドレス情報を制御部３２０から取得する。通信部３６０は、アドレス情報に基づいて、メモリ３０００から送信情報を取得する。通信部３６０は、取得した送信情報を含むパケットを生成し、生成したパケットをクライアント装置１０に送信する。
【００２６】
次に、通信部３６０の構成例を説明する。
通信部３６０は、決定部３６００と、第４プロトコル処理部３６１０と、第５プロトコル処理部３６２０と、第６プロトコル処理部３６３０と、第２通信メモリ３６４０と、第７プロトコル処理部３６５０と、第８プロトコル処理部３６６０と、第９プロトコル処理部３６７０と、第３通信メモリ３６８０とを備える。
【００２７】
通信部３６０の機能部のうち一部または全部は、ＬＳＩ（Large Scale Integration）や、ＡＳＩＣ（Application Specific Integrated Circuit）、メモリ等のハードウェア機能部である。つまり、通信部３６０の機能部のうち一部または全部は、プログラムを使用せずに機能する回路を有する。
【００２８】
決定部３６００は、アドレス情報を制御部３２０から取得した場合、アドレス情報が示すメモリ３０００の記憶領域の先頭から、サイズ情報が示すサイズだけ、送信情報を取得する。
【００２９】
決定部３６００は、サイズが相対的に小さい送信情報を含むパケットを優先して物理インタフェース３６９０が送信するように、メモリ３０００から取得した送信情報に優先度を定める。制御情報は、画像情報や音声情報のサイズよりも小さいことが多い。このため、決定部３６００は、データパケットよりも制御パケットを優先して物理インタフェース３６９０が送信するように、メモリ３０００から取得した送信情報に、優先度を定めることができる。
【００３０】
なお、決定部３６００は、送信情報の種別に応じて、送信情報に更に細かく優先度を定めてもよい。例えば、決定部３６００は、送信するパケットのうち、応答メッセージ「ＡＣＫ」に、アプリケーションからの応答メッセージであるデータパケット「ＯＫ」よりも高い優先度を定めてもよい。
【００３１】
決定部３６００は、メモリ３０００から取得した制御情報などの送信情報のサイズが、予め定められた閾値以上であるか否かを判定する。つまり、決定部３６００は、取得したサイズ情報が示すサイズが、予め定められた閾値以上であるか否かを判定する。閾値は、例えば、１２８バイトである。閾値は、例えば、メモリ３０００に記憶される。
【００３２】
通信部３６０は、予め定められたプロトコルに基づく処理を実行する処理部を、第１系統と第２系統とに分けて備える。第１系統は、第４プロトコル処理部３６１０と、第５プロトコル処理部３６２０と、第６プロトコル処理部３６３０と、第２通信メモリ３６４０とを含む系統である。また、第２系統は、第７プロトコル処理部３６５０と、第８プロトコル処理部３６６０と、第９プロトコル処理部３６７０と、第３通信メモリ３６８０とを含む系統である。第２系統で生成されたパケットは、第１系統で生成されたパケットよりも優先して、クライアント装置１０に送信される。
【００３３】
なお、第１系統と第２系統とは、物理的に分けられた系統でなくてもよい。例えば、第１系統と第２系統とは、物理的には同じ回路であっても、処理が論理的に多重化されることにより、優先度ごとにパケットを生成してもよい。
【００３４】
決定部３６００は、サイズ情報が示すサイズが閾値以上である場合、メモリ３０００から取得した送信情報を、第１系統の第４プロトコル処理部３６１０に出力する。一方、決定部３６００は、サイズ情報が示すサイズが閾値以上でない場合、メモリ３０００から取得した送信情報を、第２系統の第７プロトコル処理部３６５０に出力する。
【００３５】
第１系統の第４プロトコル処理部３６１０は、決定部３６００から取得した送信情報に、第１プロトコルに基づく符号化処理を施す。第４プロトコル処理部３６１０は、第１プロトコルに基づく符号化処理を施した送信情報を、第５プロトコル処理部３６２０に出力する。
【００３６】
第１系統の第５プロトコル処理部３６２０は、第４プロトコル処理部３６１０から取得した送信情報に、第２プロトコルに基づく符号化処理を施す。第５プロトコル処理部３６２０は、第２プロトコルに基づく符号化処理を施した送信情報を、第６プロトコル処理部３６３０に出力する。
【００３７】
第１系統の第６プロトコル処理部３６３０は、第５プロトコル処理部３６２０から取得した送信情報に、第３プロトコルに基づく符号化処理を施し、送信情報を含むパケットを生成する。第６プロトコル処理部３６３０は、送信情報を含むパケットを、第２通信メモリ３６４０に記憶させる。
第１系統の第２通信メモリ３６４０は、第６プロトコル処理部３６３０によって生成されたパケットを記憶する。
【００３８】
第２系統の第７プロトコル処理部３６５０は、決定部３６００から取得した送信情報に、第１プロトコルに基づく符号化処理を施す。第７プロトコル処理部３６５０は、第１プロトコルに基づく符号化処理を施した送信情報を、第８プロトコル処理部３６６０に出力する。
【００３９】
第２系統の第８プロトコル処理部３６６０は、第７プロトコル処理部３６５０から取得した送信情報に、第２プロトコルに基づく符号化処理を施す。第８プロトコル処理部３６６０は、第２プロトコルに基づく符号化処理を施した送信情報を、第９プロトコル処理部３６７０に出力する。
【００４０】
第２系統の第９プロトコル処理部３６７０は、第８プロトコル処理部３６６０から取得した送信情報に、第３プロトコルに基づく符号化処理を施し、送信情報を含むパケットを生成する。第９プロトコル処理部３６７０は、送信情報を含むパケットを、第３通信メモリ３６８０に記憶させる。
第２系統の第３通信メモリ３６８０は、第９プロトコル処理部３６７０によって生成されたパケットを記憶する。
【００４１】
物理インタフェース３６９０は、第３通信メモリ３６８０に記憶されたパケットを、第１通信メモリ３０１０に記憶されたパケットや、第２通信メモリ３６４０に記憶されたパケットよりも優先して、クライアント装置１０に送信する。物理インタフェース３６９０は、例えば、メディアアクセス制御（MAC : Media Access Control）層で通信処理を実行する。物理インタフェース３６９０は、第１通信メモリ３０１０に記憶されたパケットと、第２通信メモリ３６４０に記憶されたパケットとを、同じ優先度で送信してもよいし、異なる優先度で送信してもよい。以下、第１通信メモリ３０１０と、第２通信メモリ３６４０と、第３通信メモリ３６８０とを、まとめて、「通信キュー」という。
【００４２】
次に、通信部３６０の動作例を説明する。
図２は、実施形態における、パケットの通信例を示す図である。クライアント装置１０は、制御パケット「ＳＹＮ」をサーバ装置３０に送信する（ステップＳ１０１）。制御パケット「ＳＹＮ」は、通信の接続（connect）を確立するための制御に使用される情報を含むパケットである。
【００４３】
サーバ装置３０は、通信の接続を容認（accept）するため、制御パケット「ＳＹＮ」と、受信した制御パケット「ＳＹＮ」に対する応答メッセージ「ＡＣＫ」とを、クライアント装置１０に送信する（ステップＳ１０２）。
クライアント装置１０は、受信した制御パケット「ＳＹＮ」に対する応答メッセージ「ＡＣＫ」を、サーバ装置３０に送信する（ステップＳ１０３）。これにより、サーバ装置３０は、クライアント装置１０との通信が可能になる。
【００４４】
クライアント装置１０は、ハイパーテキスト ・トランスファ・プロトコル（HTTP:HyperText Transfer Protocol）による通信の要求メッセージ「ＨＴＴＰ  ＧＥＴ」を、クライアント装置１０の通信メモリに書き込み(write)、サーバ装置３０に送信する。サーバ装置３０は、要求メッセージ「ＨＴＴＰ  ＧＥＴ」を、第１通信メモリ３０１０から読み出す(read)（ステップＳ１０４）。要求メッセージ「ＨＴＴＰ  ＧＥＴ」は、データパケットの送信を制御部３２０が実行するアプリケーションに対して要求する情報を含むパケットである。
サーバ装置３０は、受信した要求メッセージ「ＨＴＴＰ  ＧＥＴ」に対する応答メッセージ「ＡＣＫ」を、クライアント装置１０に送信する（ステップＳ１０５）。
【００４５】
サーバ装置３０は、要求メッセージ「ＨＴＴＰ  ＯＫ」を、第３通信メモリ３６８０に書き込み(write)、クライアント装置１０に送信する。クライアント装置１０は、クライアント装置１０の通信メモリから、要求メッセージ「ＨＴＴＰ  ＯＫ」を読み出す(read)（ステップＳ１０６）。
クライアント装置１０は、受信した要求メッセージ「ＨＴＴＰ  ＯＫ」に対する応答メッセージ「ＡＣＫ」を、サーバ装置３０に送信する（ステップＳ１０７）。
【００４６】
サーバ装置３０は、要求されたデータパケット「ＤＡＴＡ」を、第１通信メモリ３０１０又は第２通信メモリ３６４０に書き込み(write)、クライアント装置１０に送信する。クライアント装置１０は、データパケット「ＤＡＴＡ」を、クライアント装置１０の通信メモリから読み出す(read)（ステップＳ１０８）。
クライアント装置１０は、受信したデータパケット「ＤＡＴＡ」に対する応答メッセージ「ＡＣＫ」を、サーバ装置３０に送信する（ステップＳ１０９）。
【００４７】
サーバ装置３０は、制御パケット「ＦＩＮ／ＡＣＫ」を、クライアント装置１０に送信する（ステップＳ１１０）。制御パケット「ＦＩＮ／ＡＣＫ」は、通信の接続を終了（close）させる情報を含むパケットである。
クライアント装置１０は、受信した制御パケット「ＦＩＮ／ＡＣＫ」に対する応答メッセージ「ＡＣＫ」を、サーバ装置３０に送信する（ステップＳ１１１）。
【００４８】
クライアント装置１０は、制御パケット「ＦＩＮ／ＡＣＫ」を、サーバ装置３０に送信する（ステップＳ１１２）。
サーバ装置３０は、受信した制御パケット「ＦＩＮ／ＡＣＫ」に対する応答メッセージ「ＡＣＫ」を、クライアント装置１０に送信する（ステップＳ１１３）。これにより、サーバ装置３０は、クライアント装置１０との接続を終了（close）する。
【００４９】
なお、図２に示す例では、書き込み処理「write」と記載されている箇所は、送信処理「send」であっても良いし、ＴＣＰ／ＩＰ通信処理以外のフックでもよい。また、アプリケーションプログラムにおけるフックは、メモリからファイルディスクリプタへの送信処理「write」と、ファイルディスクリプタ間でのファイル送信処理「sendfile」とで、送信情報に定められる優先度が異なってもよい。また、データパケットに含まれている画像情報等と、制御パケットに含まれている制御情報とで、定められた優先度が異なってもよい。
【００５０】
図３は、実施形態における、通信部３６０の動作例を示すフローチャートである。
制御部３２０は、ソフトウェア処理で実行する通信処理の負荷を軽減させるか否かを、アプリケーションプログラムに組み込まれたフックに基づいて判定する（ステップＳ２０１）。
【００５１】
通信処理の負荷を軽減させない場合（ステップＳ２０１：ＮＯ）、第１プロトコル処理部３３０は、制御部３２０から取得した送信情報に対して、トランスポート層（ＴＣＰ層）に対するプロトコル処理を実行する。第２プロトコル処理部３４０は、第１プロトコル処理部３３０から取得した送信情報に対して、インターネット層（ＩＰ層）に対するプロトコル処理を実行する。
【００５２】
第３プロトコル処理部３５０は、第２プロトコル処理部３４０から取得した送信情報に対して、ネットワークインタフェース層に対するプロトコル処理を実行し、送信情報を含むパケットを生成する。第３プロトコル処理部３５０は、生成したパケットを、第１通信メモリ３０１０に記憶させる（ステップＳ２０２）。
【００５３】
通信処理の負荷を軽減させる場合（ステップＳ２０１：ＹＥＳ）、制御部３２０は、送信情報が記憶されている記憶領域のアドレス先頭を示すアドレス情報を、通信部３６０の決定部３６００に送信する。
【００５４】
決定部３６００は、アドレス情報を制御部３２０から取得する。決定部３６００は、メモリ３０００に記憶されている送信情報を、ハードウェア処理により、アドレス情報に基づいて取得する。決定部３６００は、メモリ３０００から取得した送信情報のサイズが、予め定められた閾値以上であるか否かを判定する（ステップＳ２０３）。
【００５５】
取得した送信情報のサイズが閾値以上である場合（ステップＳ２０３：ＹＥＳ）、決定部３６００は、メモリ３０００から取得した送信情報を、第４プロトコル処理部３６１０に出力する。第４プロトコル処理部３６１０は、決定部３６００から取得した送信情報に対して、トランスポート層（ＴＣＰ層）に対するプロトコル処理を実行する。第５プロトコル処理部３６２０は、第４プロトコル処理部３６１０から取得した送信情報に対して、インターネット層（ＩＰ層）に対するプロトコル処理を実行する。
【００５６】
第６プロトコル処理部３６３０は、第５プロトコル処理部３６２０から取得した送信情報に対して、ネットワークインタフェース層に対するプロトコル処理を実行し、送信情報を含むパケットを生成する。第６プロトコル処理部３６３０は、生成したパケットを、第２通信メモリ３６４０に記憶させる（ステップＳ２０４）。
【００５７】
一方、取得した送信情報のサイズが閾値以上でない場合（ステップＳ２０３：ＮＯ）、決定部３６００は、メモリ３０００から取得した送信情報を、第７プロトコル処理部３６５０に出力する。第７プロトコル処理部３６５０は、決定部３６００から取得した送信情報に対して、トランスポート層（ＴＣＰ層）に対するプロトコル処理を実行する。第８プロトコル処理部３６６０は、第７プロトコル処理部３６５０から取得した送信情報に対して、インターネット層（ＩＰ層）に対するプロトコル処理を実行する。
【００５８】
第９プロトコル処理部３６７０は、第８プロトコル処理部３６６０から取得した送信情報に対して、ネットワークインタフェース層に対するプロトコル処理を実行し、送信情報を含むパケットを生成する。第６プロトコル処理部３６３０は、生成したパケットを、第３通信メモリ３６８０に記憶させる（ステップＳ２０５）。制御情報は、画像情報や音声情報のサイズよりも小さいことが多い。このため、第３通信メモリ３６８０は、制御情報を含むパケットを記憶する。
【００５９】
物理インタフェース３６９０は、第３通信メモリ３６８０に記憶されたパケットを、第１通信メモリ３０１０に記憶されたパケットや、第２通信メモリ３６４０に記憶されたパケットよりも優先して、クライアント装置１０に送信する。
【００６０】
図４は、実施形態における、通信部３６０が送信情報に優先度を定めずにパケットを送信する場合の通信例を示すシーケンス図である。サーバ装置３０は、複数のクライアント装置１０とのＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）通信を実行する場合がある。図４では、サーバ装置３０は、一例として、クライアント装置１０−１〜１０−３とのＴＣＰ／ＩＰ通信を実行する。図４には、サーバ装置３０は、ハイパーテキスト・トランスファ・プロトコルによる通信のうち、制御パケット「ＧＥＴ」の送信と、その制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」の送信とが示されている。
【００６１】
なお、図４〜図７では、動作説明が必須でない事項は、説明を簡便にするために省略されている。動作説明が必須でない事項とは、例えば、データパケットに対する制御パケットに関する事項である。
【００６２】
データパケット「ＤＡＴＡ」は、制御情報を含まない代わりに、予め定められた情報を含むパケットである。予め定められた情報は、例えば、動画像を表す画像情報、静止画像を表す画像情報、音声を表す音声情報である。
【００６３】
クライアント装置１０−１は、制御パケット「ＧＥＴ」を、サーバ装置３０に送信する（ステップＳ３０１）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−１に送信する（ステップＳ３０２）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」を、クライアント装置１０−１に送信する（ステップＳ３０３）。
【００６４】
図４では、クライアント装置１０−２と、クライアント装置１０−３とは、ステップＳ３０１〜ステップＳ３０３の間で、制御パケットをサーバ装置３０に送信していない。このため、サーバ装置３０は、データパケット「ＤＡＴＡ」を、遅延なくクライアント装置１０−１に送信することができる。
【００６５】
クライアント装置１０−２は、制御パケット「ＧＥＴ」を、サーバ装置３０に送信する（ステップＳ３０４）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−２に送信する（ステップＳ３０５）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信する（ステップＳ３０６）。
【００６６】
図４には、サーバ装置３０がステップＳ３０６でデータパケット「ＤＡＴＡ」を送信し、未送信のデータパケットがサーバ装置３０の通信キューに残っている状態で、クライアント装置１０−３が制御パケット「ＧＥＴ」をサーバ装置３０に送信する場合が示されている（ステップＳ３０７）。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信し続ける（ステップＳ３０８）。
【００６７】
図４には、サーバ装置３０がステップＳ３０８でデータパケット「ＤＡＴＡ」を送信し、未送信のデータパケットがサーバ装置３０の通信キューに残っている状態で、クライアント装置１０−１が制御パケット「ＧＥＴ」をサーバ装置３０に送信する場合が示されている（ステップＳ３０９）。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信し続ける（ステップＳ３１０）。
【００６８】
サーバ装置３０は、通信キューに記憶されているデータパケット「ＤＡＴＡ」をクライアント装置１０−２に送信し終えた場合、制御パケット「ＧＥＴ」に対応する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−３に送信する（ステップＳ３１１）。ステップＳ３０７からステップ３１１までの時間長は、矢印４０００の長さで示されている。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−３に送信する（ステップＳ３１２）。
【００６９】
サーバ装置３０は、通信キューに記憶されているデータパケット「ＤＡＴＡ」をクライアント装置１０−３に送信し終えた場合、制御パケット「ＧＥＴ」に対応する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−１に送信する（ステップＳ３１３）。ステップＳ３０９からステップ３１３までの時間長は、矢印４００１の長さで示されている。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−１に送信する（ステップＳ３１４）。
【００７０】
図４に示されているように、サーバ装置３０は、送信情報に優先度を定めずにパケットを送信する場合、制御パケットの送信を遅延させてしまうことがある。図４では、ステップＳ３０７とステップＳ３１１との間で、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が発生している。また、ステップＳ３０９とステップＳ３１３との間で、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が発生している。
【００７１】
図５は、実施形態における、通信部３６０が送信情報に優先度を定めてパケットを送信する場合の通信例を示すシーケンス図である。図５では、制御パケットは、第３通信メモリ３６８０に記憶されている。図５では、サーバ装置３０は、第３通信メモリ３６８０に記憶されているパケットを、優先して送信する。
【００７２】
ステップＳ４０１〜ステップＳ４０８は、図４に示すステップＳ３０１〜ステップＳ３０８と同様である。
サーバ装置３０は、第３通信メモリ３６８０に記憶されている応答メッセージであるデータパケット「ＯＫ」を優先して、クライアント装置１０−３に送信する（ステップＳ４０９）。ステップＳ４０７からステップ４０９までの時間長は、矢印４００２の長さで示されている。
【００７３】
図５には、サーバ装置３０がステップＳ４０９で応答メッセージであるデータパケット「ＯＫ」を送信した直後に、クライアント装置１０−１が制御パケット「ＧＥＴ」をサーバ装置３０に送信する場合が示されている（ステップＳ４１０）。
サーバ装置３０は、優先度を定めて通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信する（ステップＳ４１１）。
【００７４】
サーバ装置３０は、第３通信メモリ３６８０に記憶されている応答メッセージであるデータパケット「ＯＫ」を優先して、クライアント装置１０−１に送信する（ステップＳ４１２）。ステップＳ４１０からステップ４１２までの時間長は、矢印４００３の長さで示されている。
サーバ装置３０は、優先度を定めて通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信する（ステップＳ４１３）。
【００７５】
サーバ装置３０は、優先度を定めて通信キューに記憶されている未送信のデータパケット「ＤＡＴＡ」を、クライアント装置１０−３に送信する（ステップＳ４１４）。
サーバ装置３０は、優先度を定めて通信キューに記憶されている未送信のデータパケット「ＤＡＴＡ」を、クライアント装置１０−１に送信する（ステップＳ４１５）。
【００７６】
図５に示されているように、サーバ装置３０は、送信情報に優先度を定めてパケットを送信する場合、制御パケットの遅延を短縮することができる。図５では、矢印４００２の長さによって示されているように、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が、図４に示す矢印４０００の長さが示す時間長と比較して短縮している。また、矢印４００３の長さによって示されているように、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が、図４に示す矢印４００１の長さが示す時間長と比較して短縮している。
【００７７】
図６は、実施形態における、通信部３６０が送信情報に優先度を定めずに接続を確立する場合の通信例を示すシーケンス図である。サーバ装置３０は、複数のクライアント装置１０とのＴＣＰ／ＩＰ通信を実行する場合がある。図６では、サーバ装置３０は、クライアント装置１０−１〜１０−３との間で、ＴＣＰ／ＩＰ通信を実行する。図６には、サーバ装置３０は、ハイパーテキスト・トランスファ・プロトコル（HTTP）による通信のうち、制御パケット「ＳＹＮ」の送信と、制御パケット「ＧＥＴ」の送信と、その制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」の送信とが示されている。
【００７８】
クライアント装置１０−１は、制御パケット「ＳＹＮ」を、サーバ装置３０に送信する（ステップＳ５０１）。
サーバ装置３０は、制御パケット「ＳＹＮ」に対する応答メッセージ「ＡＣＫ」を、クライアント装置１０−１に送信する（ステップＳ５０２）。
【００７９】
クライアント装置１０−１は、制御パケット「ＧＥＴ」を、サーバ装置３０に送信する（ステップＳ５０３）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−１に送信する（ステップＳ５０４）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」を、クライアント装置１０−１に送信する（ステップＳ５０５）。
【００８０】
図６では、クライアント装置１０−２と、クライアント装置１０−３とは、ステップＳ５０１〜ステップＳ５０５の間で、パケットをサーバ装置３０に送信していない。このため、サーバ装置３０は、データパケット「ＤＡＴＡ」を、遅延なくクライアント装置１０−１に送信することができる。
【００８１】
クライアント装置１０−２は、制御パケット「ＳＹＮ」を、サーバ装置３０に送信する（ステップＳ５０６）。
サーバ装置３０は、制御パケット「ＳＹＮ」に対する応答メッセージ「ＡＣＫ」を、クライアント装置１０−２に送信する（ステップＳ５０７）。
【００８２】
クライアント装置１０−２は、制御パケット「ＧＥＴ」を、サーバ装置３０に送信する（ステップＳ５０８）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−２に送信する（ステップＳ５０９）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信する（ステップＳ５１０）。
【００８３】
図６には、サーバ装置３０がステップＳ５１０でデータパケット「ＤＡＴＡ」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置１０−３が制御パケット「ＳＹＮ」をサーバ装置３０に送信する場合が示されている（ステップＳ５１１）。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信し続ける（ステップＳ５１２）。
【００８４】
図６には、サーバ装置３０がステップＳ５１２でデータパケット「ＤＡＴＡ」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置１０−１が制御パケット「ＧＥＴ」をサーバ装置３０に送信する場合が示されている（ステップＳ５１３）。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信し続ける（ステップＳ５１４）。
サーバ装置３０は、通信キューに記憶されているデータパケット「ＤＡＴＡ」をクライアント装置１０−２に送信し終えた場合、制御パケット「ＳＹＮ」に対応する応答メッセージ「ＡＣＫ」を、クライアント装置１０−３に送信する（ステップＳ５１５）。ステップＳ５１１からステップ５１５までの時間長は、矢印４００４の長さで示されている。
【００８５】
クライアント装置１０−３は、制御パケット「ＧＥＴ」を、サーバ装置３０に送信する（ステップＳ５１６）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−１に送信する（ステップＳ５１７）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」を、クライアント装置１０−１に送信する（ステップＳ５１８）。
【００８６】
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−３に送信する（ステップＳ５１９）。ステップＳ５１６からステップ５１９までの時間長は、矢印４００５の長さで示されている。
サーバ装置３０は、制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」を、クライアント装置１０−３に送信する（ステップＳ５２０）。
【００８７】
図６に示されているように、サーバ装置３０は、送信情報に優先度を定めずにパケットを送信する場合、制御パケットの送信を遅延させてしまうことがある。図６では、ステップＳ５１１とステップＳ５１５との間で、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が発生している。また、ステップＳｃ１６とステップＳ５１９との間で、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が発生している。
【００８８】
図７は、実施形態における、通信部３６０が送信情報に優先度を定めて接続を確立する場合の通信例を示すシーケンス図である。図７では、制御パケットは、第３通信メモリ３６８０に記憶されている。図７では、サーバ装置３０は、第３通信メモリ３６８０に記憶されているパケットを、優先して送信する。
【００８９】
ステップＳ６０１〜ステップＳ６１２は、図６に示すステップＳ５０１〜ステップＳ５１２と同様である。
サーバ装置３０は、第３通信メモリ３６８０に記憶されている応答メッセージ「ＡＣＫ」を優先して、クライアント装置１０−３に送信する（ステップＳ６１３）。ステップＳ６１１からステップ６１３までの時間長は、矢印４００６の長さで示されている。
クライアント装置１０−３は、制御パケット「ＧＥＴ」を、サーバ装置３０に送信する（ステップＳ６１４）。
【００９０】
図７には、サーバ装置３０がステップＳ６１２でデータパケット「ＤＡＴＡ」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置１０−１が制御パケット「ＧＥＴ」をサーバ装置３０に送信する場合が示されている（ステップＳ６１５）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−３に送信する（ステップＳ６１６）。ステップＳ６１４からステップ６１６までの時間長は、矢印４００７の長さで示されている。
【００９１】
サーバ装置３０は、優先度を定めて通信キューに記憶されている未送信のデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信する（ステップＳ６１７）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−１に送信する（ステップＳ６１８）。
【００９２】
サーバ装置３０は、優先度を定めて通信キューに記憶されている未送信のデータパケット「ＤＡＴＡ」を、クライアント装置１０−１に送信する（ステップＳ６１９）。
サーバ装置３０は、優先度を定めて通信キューに記憶されている未送信のデータパケット「ＤＡＴＡ」を、クライアント装置１０−３に送信する（ステップＳ６２０）。
【００９３】
図７に示されているように、サーバ装置３０は、送信情報に優先度を定めてパケットを送信する場合、制御パケットの遅延を短縮することができる。図７では、矢印４００６の長さによって示されているように、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が、図６に示す矢印４００４の長さが示す時間長と比較して短縮している。また、矢印４００７の長さによって示されているように、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が、図６に示す矢印４００５の長さが示す時間長と比較して短縮している。
なお、図４〜図７では、待ち時間に応じて再送されるパケットの記載は、省略されている。
【００９４】
以上のように、実施形態の通信部３６０（通信装置）は、決定部３６００と、第４プロトコル処理部３６１０〜第９プロトコル処理部３６７０と、物理インタフェース３６９０とを持つ。決定部３６００は、クライアント装置１０に送信する情報である送信情報のサイズに応じて、送信情報に優先度を定める。第４プロトコル処理部３６１０〜第９プロトコル処理部３６７０は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェース３６９０は、送信情報に定められた優先度に応じて、送信情報を含むパケットを送信する。
【００９５】
この構成により、決定部３６００は、クライアント装置１０に送信する情報である送信情報のサイズに応じて、送信情報に優先度を定める。決定部３６００は、サイズが小さい送信情報を含むパケットを、第４プロトコル処理部３６１０〜第９プロトコル処理部３６７０を介して、第３通信メモリ３６８０に記憶させる。つまり、決定部３６００は、データパケットよりもサイズが小さい制御パケットを、第３通信メモリ３６８０に記憶させる。物理インタフェース３６９０は、第３通信メモリ３６８０に記憶されている制御パケットを優先して、クライアント装置１０に送信する。
これにより、実施形態の通信部３６０は、通信性能を向上させることができる。
【００９６】
クライアント装置１０が多い場合、又は、一度に送信されるパケットの数が多い場合、応答を示す制御パケットが送信されるまでの時間は、相対的に長くなる。この場合、クライアント装置１０は、送信済みのパケットが失われたと判定するため、パケットを再送する。パケットが再送された場合、通信回線２０に対する負荷は増加する。このような場合、実施形態の通信部３６０は、さらに通信性能を向上させることができる。
【００９７】
実施形態の通信部３６０は、通信回線２０やクライアント装置１０がＱｏＳ(Quality of Service)に対応していない場合でも、通信性能を向上させることができる。
実施形態の通信部３６０は、制御部３２０がアプリケーションソフトウェアによってパケットの通信処理を切り替えることなく、通信性能を向上させることができる。
実施形態の通信部３６０では、制御部３２０は、通信部３６０がハードウェア処理によって負荷を軽減させたパケットの送信状態を、把握する必要がない。
【００９８】
以上説明した少なくともひとつの実施形態によれば、送信情報のサイズに応じて、送信情報に優先度を定める決定部３６００により、通信性能を向上させることができる。
【００９９】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１００】
１…通信システム、１０…クライアント装置、２０…通信回線、３０…サーバ装置、３００…記憶部、３１０…バス、３２０…制御装置、３３０…第１プロトコル処理部、３４０…第２プロトコル処理部、３５０…第３プロトコル処理部、３６０…通信部、３０００…メモリ、３０１０…第１通信メモリ、３６００…決定部、３６１０…第４プロトコル処理部、３６２０…第５プロトコル処理部、３６３０…第６プロトコル処理部、３６４０…第２通信メモリ、３６５０…第７プロトコル処理部、３６６０…第８プロトコル処理部、３６７０…第９プロトコル処理部、３６８０…第３通信メモリ、３６９０…物理インタフェース、４０００…矢印、４００１…矢印、４００２…矢印、４００３…矢印、４００４…矢印、４００５…矢印、４００６…矢印、４００７…矢印
【図１】
2015201755.tif 000003
【図２】
2015201755.tif 000004
【図３】
2015201755.tif 000005
【図４】
2015201755.tif 000006
【図５】
2015201755.tif 000007
【図６】
2015201755.tif 000008
【図７】
2015201755.tif 000009
【手続補正書】
【提出日】平成27年2月5日(2015.2.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
他の装置に送信する情報である送信情報のサイズに応じて、前記送信情報に送信の優先度を定める決定部と、
予め定められたプロトコルに基づいて、前記送信情報を含むパケットを生成するプロトコル処理部と、
前記送信情報に定められた前記送信の優先度に応じて、前記送信情報を含むパケットを送信する物理インタフェースと、
を備える通信装置。
【請求項２】
前記決定部は、前記サイズが相対的に小さい前記送信情報ほど、前記送信の優先度を高く定める、請求項１に記載の通信装置。
【請求項３】
前記決定部は、制御に使用される前記送信情報としての制御情報の前記サイズが閾値未満である場合に、前記制御情報を含む前記パケットを優先して前記通信部が送信するように前記優先度を定める、請求項２に記載の通信装置。
【請求項４】
前記決定部は、前記送信情報を含むパケットがデータパケットであるか否かに応じて、前記送信情報に前記送信の優先度を定める、請求項１に記載の通信装置。
【請求項５】
前記物理インタフェースは、通信を要求するメッセージを含む第１のパケットを第１の装置から受信し、前記第１のパケットに対する応答メッセージを含む第２のパケットを前記第１の装置に送信する、請求項１に記載の通信装置。
【請求項６】
前記物理インタフェースは、前記第２のパケットを前記第１の装置に送信し、データパケットである第３のパケットを前記第１の装置に送信する、請求項５に記載の通信装置。
【請求項７】
前記物理インタフェースは、通信の接続を確立するための情報を含む第４のパケットを第１の装置から受信し、前記第４のパケットに対する応答メッセージを含む第５のパケットを前記第１の装置に送信する、請求項１に記載の通信装置。
【請求項８】
前記物理インタフェースは、前記第５のパケットを前記第１の装置に送信し、データパケットである第６のパケットを前記第１の装置に送信する、請求項７に記載の通信装置。
【請求項９】
通信装置における通信方法であって、
決定部が、他の装置に送信する情報である送信情報のサイズに応じて、前記送信情報に送信の優先度を定めるステップと、
プロトコル処理部が、予め定められたプロトコルに基づいて、前記送信情報を含むパケットを生成するステップと、
物理インタフェースが、前記送信情報に定められた前記送信の優先度に応じて、前記送信情報を含むパケットを送信するステップと、
を有する通信方法。
【請求項１０】
前記決定部は、前記サイズが相対的に小さい前記送信情報ほど、前記送信の優先度を高く定める、請求項９に記載の通信方法。
【請求項１１】
前記決定部は、制御に使用される前記送信情報としての制御情報の前記サイズが閾値未満である場合に、前記制御情報を含む前記パケットを優先して前記通信部が送信するように前記優先度を定める、請求項１０に記載の通信方法。
【請求項１２】
前記決定部は、前記送信情報の種別に応じて、前記送信情報に前記送信の優先度を定める、請求項９に記載の通信方法。
【請求項１３】
前記物理インタフェースは、通信を要求するメッセージを含む第１のパケットを第１の装置から受信し、前記第１のパケットに対する応答メッセージを含む第２のパケットを前記第１の装置に送信する、請求項９に記載の通信方法。
【請求項１４】
前記物理インタフェースは、前記第２のパケットを前記第１の装置に送信し、データパケットである第３のパケットを前記第１の装置に送信する、請求項１３に記載の通信方法。
【請求項１５】
前記物理インタフェースは、通信の接続を確立するための情報を含む第４のパケットを第１の装置から受信し、前記第４のパケットに対する応答メッセージを含む第５のパケットを前記第１の装置に送信する、請求項９に記載の通信方法。
【請求項１６】
前記物理インタフェースは、前記第５のパケットを前記第１の装置に送信し、データパケットである第６のパケットを前記第１の装置に送信する、請求項１５に記載の通信方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明の実施形態は、通信装置及び通信方法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
実施形態の通信装置は、決定部と、プロトコル処理部と、物理インタフェースとを持つ。決定部は、他の装置に送信する情報である送信情報のサイズに応じて、送信情報に送信の優先度を定める。プロトコル処理部は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェースは、送信情報に定められた送信の優先度に応じて、送信情報を含むパケットを送信する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
以下、実施形態の通信装置及び通信方法を、図面を参照して説明する。
図１は、実施形態における、通信システム１の構成例を示す図である。通信システム１は、クライアント装置１０と、通信回線２０と、サーバ装置３０とを備える。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
決定部３６００は、サイズが相対的に小さい送信情報を含むパケットを優先して物理インタフェース３６９０が送信するように、メモリ３０００から取得した送信情報に送信の優先度を定める。制御情報は、画像情報や音声情報のサイズよりも小さいことが多い。このため、決定部３６００は、データパケットよりも制御パケットを優先して物理インタフェース３６９０が送信するように、メモリ３０００から取得した送信情報に、送信の優先度を定めることができる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
なお、図４〜図７では、データパケットに対する制御パケットに関する事項は、説明を簡便にするために省略されている。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
サーバ装置３０は、通信キューに記憶されているデータパケット「ＤＡＴＡ」をクライアント装置１０−２に送信し終えた場合、制御パケット「ＧＥＴ」に対応する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−３に送信する（ステップＳ３１１）。ステップＳ３０７からステップＳ３１１までの時間長は、矢印４０００の長さで示されている。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−３に送信する（ステップＳ３１２）。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
サーバ装置３０は、通信キューに記憶されているデータパケット「ＤＡＴＡ」をクライアント装置１０−３に送信し終えた場合、制御パケット「ＧＥＴ」に対応する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−１に送信する（ステップＳ３１３）。ステップＳ３０９からステップＳ３１３までの時間長は、矢印４００１の長さで示されている。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−１に送信する（ステップＳ３１４）。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
ステップＳ４０１〜ステップＳ４０８は、図４に示すステップＳ３０１〜ステップＳ３０８と同様である。
サーバ装置３０は、第３通信メモリ３６８０に記憶されている応答メッセージであるデータパケット「ＯＫ」を優先して、クライアント装置１０−３に送信する（ステップＳ４０９）。ステップＳ４０７からステップＳ４０９までの時間長は、矢印４００２の長さで示されている。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
サーバ装置３０は、第３通信メモリ３６８０に記憶されている応答メッセージであるデータパケット「ＯＫ」を優先して、クライアント装置１０−１に送信する（ステップＳ４１２）。ステップＳ４１０からステップＳ４１２までの時間長は、矢印４００３の長さで示されている。
サーバ装置３０は、優先度を定めて通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信する（ステップＳ４１３）。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
図６には、サーバ装置３０がステップＳ５１２でデータパケット「ＤＡＴＡ」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置１０−１が制御パケット「ＧＥＴ」をサーバ装置３０に送信する場合が示されている（ステップＳ５１３）。
サーバ装置３０は、優先度を定めずに通信キューに記憶されているデータパケット「ＤＡＴＡ」を、クライアント装置１０−２に送信し続ける（ステップＳ５１４）。
サーバ装置３０は、通信キューに記憶されているデータパケット「ＤＡＴＡ」をクライアント装置１０−２に送信し終えた場合、制御パケット「ＳＹＮ」に対応する応答メッセージ「ＡＣＫ」を、クライアント装置１０−３に送信する（ステップＳ５１５）。ステップＳ５１１からステップＳ５１５までの時間長は、矢印４００４の長さで示されている。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−３に送信する（ステップＳ５１９）。ステップＳ５１６からステップＳ５１９までの時間長は、矢印４００５の長さで示されている。
サーバ装置３０は、制御パケット「ＧＥＴ」に対応するデータパケット「ＤＡＴＡ」を、クライアント装置１０−３に送信する（ステップＳ５２０）。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
図６に示されているように、サーバ装置３０は、送信情報に優先度を定めずにパケットを送信する場合、制御パケットの送信を遅延させてしまうことがある。図６では、ステップＳ５１１とステップＳ５１５との間で、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が発生している。また、ステップＳ５１６とステップＳ５１９との間で、応答メッセージであるデータパケット「ＯＫ」の送信の遅延が発生している。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００８９
【補正方法】変更
【補正の内容】
【００８９】
ステップＳ６０１〜ステップＳ６１２は、図６に示すステップＳ５０１〜ステップＳ５１２と同様である。
サーバ装置３０は、第３通信メモリ３６８０に記憶されている応答メッセージ「ＡＣＫ」を優先して、クライアント装置１０−３に送信する（ステップＳ６１３）。ステップＳ６１１からステップＳ６１３までの時間長は、矢印４００６の長さで示されている。
クライアント装置１０−３は、制御パケット「ＧＥＴ」を、サーバ装置３０に送信する（ステップＳ６１４）。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
図７には、サーバ装置３０がステップＳ６１２でデータパケット「ＤＡＴＡ」を送信し、未送信のデータパケットが通信キューに残っている場合に、クライアント装置１０−１が制御パケット「ＧＥＴ」をサーバ装置３０に送信する場合が示されている（ステップＳ６１５）。
サーバ装置３０は、制御パケット「ＧＥＴ」に対する応答メッセージであるデータパケット「ＯＫ」を、クライアント装置１０−３に送信する（ステップＳ６１６）。ステップＳ６１４からステップＳ６１６までの時間長は、矢印４００７の長さで示されている。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
以上のように、実施形態の通信部３６０（通信装置）は、決定部３６００と、第４プロトコル処理部３６１０〜第９プロトコル処理部３６７０と、物理インタフェース３６９０とを持つ。決定部３６００は、クライアント装置１０に送信する情報である送信情報のサイズに応じて、送信情報に送信の優先度を定める。第４プロトコル処理部３６１０〜第９プロトコル処理部３６７０は、予め定められたプロトコルに基づいて、送信情報を含むパケットを生成する。物理インタフェース３６９０は、送信情報に定められた送信の優先度に応じて、送信情報を含むパケットを送信する。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
この構成により、決定部３６００は、クライアント装置１０に送信する情報である送信情報のサイズに応じて、送信情報に送信の優先度を定める。決定部３６００は、サイズが小さい送信情報を含むパケットを、第４プロトコル処理部３６１０〜第９プロトコル処理部３６７０を介して、第３通信メモリ３６８０に記憶させる。つまり、決定部３６００は、データパケットよりもサイズが小さい制御パケットを、第３通信メモリ３６８０に記憶させる。物理インタフェース３６９０は、第３通信メモリ３６８０に記憶されている制御パケットを優先して、クライアント装置１０に送信する。
これにより、実施形態の通信部３６０は、通信性能を向上させることができる。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
以上説明した少なくともひとつの実施形態によれば、送信情報のサイズに応じて、送信情報に送信の優先度を定める決定部３６００により、通信性能を向上させることができる。