(57)【要約】【課題】通信装置の受信能力が低い場合の通信可能帯域を正確に認識し、通信装置の受信能力の範囲内でＴＣＰのスループットを最大にすることのできる受信装置、通信装置および通信方法を得る【解決手段】パケットデータの受信処理を行う受信処理部１１と、受信処理部１１で受信するパケットデータの受信処理時間を計測する受信計測部１２と、パケットデータのレングスおよび受信処理時間に基づいて受信可能最大レートを算出する受信レート算出部１３とを備える。【選択図】図１
2007201702.tif 000002
【特許請求の範囲】
【請求項１】
パケットデータの受信処理を行う受信処理部と、
前記受信処理部で受信する前記パケットデータの受信処理時間を計測する受信計測部と、
前記パケットデータのレングスおよび前記受信処理時間に基づいて受信可能最大レートを算出する受信レート算出部と
を備えたことを特徴とする受信装置。
【請求項２】
請求項１に記載の受信装置において、
前記受信レート算出部は、複数のパケットデータに対して算出した受信可能レートの中から最大の値を受信可能最大レートとすることを特徴とする受信装置。
【請求項３】
請求項１または２に記載の受信装置において、
前記受信計測部は、前記受信処理部によるパケット受信システムコール関数の開始時刻および終了時刻の差分値から受信処理時間を計測することを特徴とする受信装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の受信装置において、
前記受信レート算出部で算出された前記受信可能最大レートを、パケットデータの送信元である送信装置に通知する通知部をさらに備えたことを特徴とする受信装置。
【請求項５】
パケットデータの送受信を行う送受信部と、
前記送受信部から送信されるパケットデータの受信先である他の通信装置から受信可能最大レートの通知を受ける認識部と、
前記他の通信装置と前記送受信部との間でのパケットデータの通信状況を監視し、最小ＲＴＴ値を計測するＲＴＴ計測部と、
前記受信可能最大レートと前記最小ＲＴＴ値との積からＴＣＰウィンドウサイズを特定するＴＣＰ制御部と
を備え、
前記送受信部は、特定された前記ＴＣＰウィンドウサイズに基づいて前記他の通信装置へパケットデータの送信を行う
ことを特徴とする通信装置。
【請求項６】
請求項５に記載の通信装置において、
前記送受信部が前記他の通信装置から受信した前記パケットデータの受信処理時間を計測する受信計測部と、
前記パケットデータのレングスと前記受信処理時間に基づいて受信可能最大レートを算出する受信レート算出部と、
前記受信レート算出部で算出された前記受信可能最大レートを、パケットデータの送信元である前記他の通信装置に通知する通知部と
をさらに備えたことを特徴とする通信装置。
【請求項７】
受信側での受信パケットデータのレングスを受信パケット処理時間で割ったものを受信可能最大レートとするステップと、
前記受信可能最大レートに送信側の最小ＲＴＴ値を掛けたものを送信側のＴＣＰウィンドウサイズとするステップと
を備えたことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いてパケットデータの通信を行う受信装置、通信装置および通信方法に関する。
【背景技術】
【０００２】
従来から、ＴＣＰ通信におけるスループットを向上させる方式がいろいろと検討されている。ユーザもしくはアプリケーションレベルで制御可能なＴＣＰ用パラメータのうち、スループットを向上させるために用いられるものとしては、ＴＣＰウィンドウサイズがある。
【０００３】
従来のＴＣＰウィンドウサイズの制御例としては、送信バッファ容量、受信バッファ容量、および使用可能な最大帯域とＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ：往復遅延時間）との積のうち、いずれか最小のものをＴＣＰウィンドウサイズに用いている（例えば、特許文献１参照）。
【０００４】
この特許文献１では、最大帯域とＲＴＴとの積をウィンドウサイズにすることにより、ＴＣＰのスループットは、最大帯域と同じにすることができる。ただし、送信側、受信側の装置のバッファサイズの性能的な問題により、その最大帯域が処理できない場合があるため、送信バッファ容量、受信バッファ容量も制限項目として加えている。
【０００５】
また、別の従来技術には、伝送帯域を受信側で測定し、その情報を送信側に通知するものがある。（例えば、特許文献２参照）。
【０００６】
【特許文献１】特開平１１−１２７１６３号公報（第１頁、図１）
【特許文献２】特開２００２−７７２６３号公報（第１頁、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術には次のような課題がある。
引用文献１は、伝送帯域に余裕があるにもかかわらず、受信装置の受信処理性能に問題がある場合には、受信処理能力がスループットのネックになるため、従来の情報だけでは正確なスループットが算出できなかった。
【０００８】
また、引用文献２において、送信側は、受信側から通知された伝送帯域とＲＴＴを用いて、ＴＣＰバッファサイズを決定ことが可能である。しかしながら、通信装置の性能的な問題がある場合には、伝送帯域ではスループットを正確に反映しないことになる。
【０００９】
すなわち、上述の２件の従来技術のように、伝送路の帯域を最大帯域とみなすと、実際に受信端末では処理できない量のデータを受信することになり、受信バッファのオーバーフロー等でデータが正確に受信できなくなってしまう。
【００１０】
従来のＴＣＰのスループットを最大にするために計測していた伝送帯域は、ネットワークの伝送容量もしくは通信装置のインターフェースカードの通信容量であるため、通信装置の受信能力がこれよりも低い場合には、ネットワークの伝送帯域を十分に活用できず、通信装置間のエンド−エンドで見た場合の真の通信可能な帯域を示すものではない。そのため、通信装置の受信能力が低い場合には、正確な通信帯域を算出し、それを用いてＴＣＰのスループットを向上させる制御を行う必要がある。
【００１１】
また、上記のような問題がある場合には、受信装置の受信能力を反映していないこれらの伝送帯域の情報を送信側に送っても、この情報を使用する意味が無い。従って、受信装置は、送信側にとって有効な情報を送る必要がある。
【００１２】
本発明は上述のような課題を解決するためになされたもので、通信装置の受信能力が低い場合の通信可能帯域を正確に認識し、通信装置の受信能力の範囲内でＴＣＰのスループットを最大にすることのできる受信装置、通信装置および通信方法を得ることを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る受信装置は、パケットデータの受信処理を行う受信処理部と、受信処理部で受信するパケットデータの受信処理時間を計測する受信計測部と、パケットデータのレングスおよび受信処理時間に基づいて受信可能最大レートを算出する受信レート算出部とを備えたものである。
【００１４】
また、本発明に係る通信装置は、パケットデータの送受信を行う送受信部と、送受信部から送信されるパケットデータの受信先である他の通信装置から受信可能最大レートの通知を受ける認識部と、他の通信装置と送受信部との間でのパケットデータの通信状況を監視し、最小ＲＴＴ値を計測するＲＴＴ計測部と、受信可能最大レートと最小ＲＴＴ値との積からＴＣＰウィンドウサイズを特定するＴＣＰ制御部とを備え、送受信部は、特定されたＴＣＰウィンドウサイズに基づいて他の通信装置へパケットデータの送信を行うものである。
【００１５】
さらに、本発明に係る通信方法は、受信側での受信パケットデータのレングスを受信パケット処理時間で割ったものを受信可能最大レートとするステップと、受信可能最大レートに送信側の最小ＲＴＴ値を掛けたものを送信側のＴＣＰウィンドウサイズとするステップとを備えたものである。
【発明の効果】
【００１６】
本発明によれば、受信側において、受信パケットデータのレングスおよび受信パケットデータの受信処理時間から受信可能最大レートを算出し、受信可能最大レートに基づいて送信側がパケットデータの送信レートを制御することにより、通信装置の受信能力が低い場合の通信可能帯域を正確に認識し、通信装置の受信能力の範囲内でＴＣＰのスループットを最大にすることのできる受信装置、通信装置および通信方法を得ることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の受信装置、通信装置および通信方法の好適な実施の形態につき図面を用いて説明する。
本発明は、パケットデータを実際に受信する装置の受信処理能力を正確に反映した上で、その受信処理能力の範囲内でＴＣＰのスループットの向上を図ることができる点を特徴とし、伝送路の帯域よりもパケットデータを実際に受信する装置の受信処理能力が低い場合に特に有効となるものである。
【００１８】
実施の形態１．
図１は、本発明の実施の形態１における受信装置の構成図である。
図１において、受信装置１０は、受信処理部１１、受信計測部１２、および受信レート算出部１３で構成される。受信処理部１１は、通信によって送られてくるパケットデータを受信する。さらに、受信処理部１１は、受信したパケットデータに対して適切なプロトコルを用いて受信処理を行い、上位アプリケーションに有効なデータを渡す。
【００１９】
また、受信計測部１２は、受信処理部１１で受信されるパケットデータの受信処理時間を計測する。さらに、受信レート算出部１３は、受信計測部１２により計測された受信処理時間を基に、受信可能最大レートを算出する。
【００２０】
次に、一連の動作について説明する。
まず、受信装置１０内の受信処理部１１は、他の装置からパケットデータを受信する。さらに、受信処理部１１は、受信したパケットデータに対して通信プロトコルに則った受信処理を行い、必要なデータ部分だけを抜き出し、上位アプリケーションに提供する。
【００２１】
このような処理の一例として、受信処理部１１は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）を使用した通信で、プロトコルとしてのエラーチェックやシーケンス番号チェックを行った後に、アプリケーション用データ部分を抜き出し、それを上位のアプリケーションに提供する。
【００２２】
一方、受信計測部１２は、受信処理部１１で受信されるパケットデータの受信処理時間を計測する。受信計測部１２は、受信処理部１１に１つのパケットデータが入力してから、アプリケーション用のデータとして受信処理部１１から出力されるまでの時間を受信処理時間として計測する。さらに、受信計測部１２は、受信処理部１１で受信されるパケットデータのレングスも計測する。
【００２３】
次に、受信レート算出部１３は、受信計測部１２で計測された受信処理時間およびパケットデータのレングスに基づいて、受信装置の実際の受信処理能力に相当する受信可能最大レータを算出する。具体的には、受信レート算出部１３は、パケットデータのレングスを受信処理時間で割ることにより、受信可能最大レートを算出する。
【００２４】
図２は、本発明の実施の形態１における受信装置１０の受信可能最大レートの測定手順に関するフローチャートである。まず始めに、受信計測部１２は、受信処理部１１で１つのパケットデータを受信したときに、受信処理時間の計測を開始する（ステップＳ２０１）。受信処理部１１は、パケットデータの受信処理を行い、アプリケーション用データ部分を取り出し、上位アプリケーションに提供する（ステップＳ２０２）。
【００２５】
一方、受信計測部１２は、受信処理部１１による上位アプリケーションへの出力処理に伴って、受信処理時間およびパケットデータのレングスの計測を終了する（ステップＳ２０３）。次に、受信レート算出部１３は、パケットデータのレングスと、その受信処理に費やした受信処理時間を受信計測部１２から受け取り、パケットレングスを受信処理時間で割った値を受信可能最大レートとして算出する（ステップＳ２０４）。
【００２６】
通信路の帯域性能よりも受信装置１０の受信性能の方が低い場合には、実際の受信可能最大レートは、受信装置１０による実際の受信処理時間に依存する。そのため、受信装置１０において受信処理時間を計測することで、受信装置１０自身の受信性能を考慮した受信可能最大レートを算出することができる。一般に、受信処理は、シリアルにしかできないため（連続性などのチェックも必要なために）、１つ１つのパケットデータの受信処理時間を積み重ねたものが受信処理能力となる。
【００２７】
受信パケットデータのレングスをそのパケットの受信処理時間で割ることで、単位時間当たりの受信処理可能なビット数が算出される。これは、その受信装置１０の受信可能最大レートである。受信性能の低い装置は、この受信可能最大レートが通信可能な帯域の上限となる。
【００２８】
例えば、このようにして算出した受信可能最大レートを用いて、送信側の装置からのパケットデータの出力レートを制御することで、受信側では受信可能な範囲内の最大のレートでデータを受信することができる。これは、ＵＤＰ／ＩＰなどを使用した場合に、受信側ではデータのロスが無く全てのデータを受信できるとともに、受信装置１０の受信能力の範囲内で、最大のレートでの受信が可能となる。
【００２９】
ここで、受信データには様々なレングスがあり、受信処理時間とパケットレングスとの関係は、必ずしも比例しないため、複数のパケットデータから求められる受信可能最大レートは、まちまちである。そのため、複数のパケットデータから求められたそれぞれの受信可能最大レートの中で、最も大きいレートのものをその受信装置１０の受信可能最大レートとすることができる。つまり、最適なレングスのデータを受信する場合に、受信可能レートが最大になる。
【００３０】
パソコンなどに具備されている通信機能は、ＯＳに付随するソフトウェアによって使用することができる。そこで、このような場合の受信可能最大レートの算出方法を、以下に示す。
【００３１】
パソコンなどに具備されている通信機能において、受信パケットデータの受信処理は、パケット受信システムコール関数（Ｌｉｎｕｘではｒｅｃｖ関数）により実行される。そのため、この関数の前後に時間測定関数（システムコール）を呼び出し、パケット受信システムコール関数の処理時間を計測することで、受信処理時間が計測できる。さらに、受信処理を行ったパケットデータのレングスを調べれば、受信可能最大レートが算出できる。
【００３２】
以上のように、実施の形態１によれば、受信側の装置内にパケットデータの受信処理時間を計測する機能を具備することにより、通信路の帯域性能よりも受信側の装置の受信性能の方が低い場合に、受信可能最大レートを算出することができる。さらに、複数のパケットデータに対する受信可能最大レートを算出するようにしたので、もっとも効率のよい場合の受信可能最大レートを算出することができる。
【００３３】
さらに、パソコン等の通信機能を使用する場合には、その通信機能で使用されるパケット受信システムコール関数の前後で時間計測を行うことにより、受信可能最大レートを算出することができる。
【００３４】
実施の形態２．
実施の形態１では、受信装置において受信可能最大レートを計測する場合について説明した。本実施の形態２では、計測した受信可能最大レートの情報を送信側に通知する場合について説明する。これにより、パケットデータの送信側が、受信先の装置の実際の受信可能最大レートを反映してパケットデータの送信を行うことができる。
【００３５】
図３は、本発明の実施の形態２における受信装置の構成図である。
図３における受信装置１０は、実施の形態１の図１における受信装置１０と比較すると、受信可能最大レートの情報を、パケットデータの送信元に通知するための通知部１４をさらに備えている。図３のその他の構成は、図１と同様であり、説明を省略する。
【００３６】
通知部１４は、計測した受信可能最大レートの情報を、パケットデータの送信元である外部の装置に通知する機能を有するもので、ケーブル等の電気信号や通信機能を具備したものである。
【００３７】
次に、一連の動作について説明する。
基本的な各部の動作は、実施の形態１と同様である。そこで、受信レート算出部１３で受信可能最大レートを算出した後の動作についてのみ説明する。受信レート算出部１３は、計測した受信可能最大レートの情報を通知部１４へ渡す。そして、通知部１４は、パケットデータの送信元である装置に対して、その情報を通知する。
【００３８】
通知部１４による通知の方法としては、例えば、パケットデータを受信している伝送路を使用し、任意の通信プロトコルを用いて情報を伝送することが可能である。
【００３９】
このように、受信装置１０がパケットデータの送信元に対して、受信装置１０の実際の受信性能に相当する受信可能最大レートを通知することで、送信元は、受信側が受信できるレートの送信レートを設定することができ、最大レートでのデータ伝送が可能となる。
【００４０】
もしも、この情報が送信元に通知されない場合には、次のような結果となる。すなわち、実際の送信レートが小さすぎれば、データがもっと送れるのに送らない結果になり、実際の送信レートが大きすぎれば、受信データを受信装置で処理できずに受信データの廃棄が発生してしまう。受信装置１０で計測された受信可能最大レートを送信元にフィードバックすることにより、このような問題がなくなり、受信装置１０の実際の通信性能を反映した最大レートでのデータ伝送が可能となる。
【００４１】
以上のように、実施の形態２によれば、受信可能最大レートの情報をパケットデータの送信元である外部装置に通知することができ、パケットデータの現在の受信状況に応じて、送信元に受信可能最大レートを通知することができる。この結果、通信路の帯域性能よりも受信装置の受信性能の方が低い場合にも、受信性能に応じた通信効率の最大化を図ることができる。
【００４２】
実施の形態３．
実施の形態１、２では、受信可能最大レートを算出する受信装置を中心に説明した。本実施の形態３では、送受信機能を備えた通信装置に関して説明する。
【００４３】
図４は、本発明の実施の形態３における通信装置の構成図である。
図４において、通信装置２０は、送受信部２１、ＲＴＴ計測部２２、認識部２３、およびＴＣＰ制御部２４で構成される。送受信部２１は、他の通信装置に相当する外部の装置と接続され、パケットデータの伝送を行う。さらに、送受信部２１は、ＴＣＰのプロトコル処理を行う。
【００４４】
ＲＴＴ計測部２２は、他の通信装置と送受信部２１との間でのパケットデータの通信状況を監視し、ＲＴＴを計測する。認識部２３は、パケットデータの受信元である外部の装置から、受信可能最大レートの情報を受け取る機能を有するもので、ケーブル等の電気信号や通信機能を具備したものである。さらに、ＴＣＰ制御部２４は、ＲＴＴ計測部２２で計測されたＲＴＴ、および認識部２３で受信された受信可能最大レートの情報を用いてＴＣＰウィンドウサイズを特定し、送受信部２１のＴＣＰパラメータを制御する。
【００４５】
次に、一連の動作について説明する。
まず、通信装置２０内の送受信部２１は、上位アプリケーションからのデータをＴＣＰのプロトコルに沿った形にして、他の装置へパケットデータとして送信する。一方、ＲＴＴ計測部２２は、他の装置と送受信部２１との間でＴＣＰによる通信を行っている間の通信状況を監視してＲＴＴを計測し、その最小値を求める。
【００４６】
一方、認識部２３は、パケットデータの送信先である他の装置から受信可能最大レートの情報を受信する。ＴＣＰ制御部２４は、ＲＴＴ計測部２２で計測された最小ＲＴＴ値、および認識部２３で受信した受信可能最大レートの情報を入手し、最小ＲＴＴ値と受信可能最大レートとの積をＴＣＰウィンドウサイズとして特定する。
【００４７】
さらに、ＴＣＰ制御部２４は、特定したＴＣＰウィンドウサイズを送受信部２１のＴＣＰの動作パラメータとして設定する。この結果、送受信部２１は、設定されたＴＣＰウィンドウサイズを用いてＴＣＰ通信を行うことができ、受信性能および送信性能に応じた通信効率の最大化（すなわち、ＴＣＰスループットの最大化）を図ることが可能となる。
【００４８】
図５は、本発明の実施の形態３における通信装置２０のＴＣＰウィンドウサイズの設定手順に関するフローチャートである。まず始めに、通信装置２０は、通信を開始するために、送受信部２１を起動し、ＴＣＰ通信を行う（ステップＳ５０１）。ＲＴＴ計測部２２は、送受信部２１で通信を継続している間に、最小ＲＴＴを計測する（ステップＳ５０２）。
【００４９】
一方、認識部２３は、パケットデータの送信先である他の装置から受信可能最大レートの情報を受信する（ステップＳ５０３）。次に、ＴＣＰ制御部２４は、最小ＲＴＴ値と受信可能最大レートとの積からＴＣＰウィンドウサイズを計算する（ステップＳ５０４）。さらに、ＴＣＰ制御部２４は、送受信部２１のＴＣＰの動作パラメータとして、計算により求められたＴＣＰウィンドウサイズを設定する（ステップＳ５０５）。
【００５０】
なお、この一連の動作は、通信開始時だけでなく、通信途中に行ってもよい。また、実際のアプリケーションデータを送信する前に、ダミーデータを用いて最適なＴＣＰウィンドウサイズを求めてもよい。
【００５１】
以上のように、実施の形態３によれば、最小ＲＴＴ値を求める機能、受信可能最大レート情報を取得する機能、およびＴＣＰウィンドウサイズを最適化する機能を備えることにより、ＴＣＰスループットを最大にすることができる通信装置を実現できる。
【００５２】
実施の形態４．
実施の形態１、２では、受信可能最大レートを算出する受信装置に関して説明した。また、実施の形態３では、パケットデータの送信先である他の装置で算出された受信可能最大レートを受信する通信装置に関して説明した。本実施の形態４では、受信可能最大レートを送受信可能な通信装置に関して説明する。
【００５３】
すなわち、本実施の形態４の通信装置は、自らの受信可能最大レートを算出して他の装置に送信する機能を有する一方で、他の装置が算出した受信可能最大レートを受信してＴＣＰウィンドウサイズの最適化を図る機能を併せ持つものである。
【００５４】
図６は、本発明の実施の形態４における通信装置の構成図である。
図６において、通信装置２０は、送受信部２１、ＲＴＴ計測部２２、認識部２３、ＴＣＰ制御部２４、受信計測部１２、受信レート算出部１３、および通知部１４で構成される。すなわち、この通信装置２０は、実施の形態３における図４の通信装置の構成と、実施の形態２における図３の受信装置の構成とを併せ持つ構成に相当する
【００５５】
ここで、図６における送受信部２１は、図３における受信処理部１１の機能と図４の送受信部２１の機能とを両方とも備えているものである。従って、受信計測部１２は、送受信部２１における受信処理時間を計測することとなる。その他の構成は、実施の形態２および実施の形態３で説明したものと同様であり、説明を省略する。また、動作に関しても、実施の形態２および実施の形態３の動作を同時に行っているものであり、説明を省略する。
【００５６】
以上のように、実施の形態４によれば、送信機能と受信機能を併せ持つようにしたので、送受信のＴＣＰスループットを最大にすることができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施の形態１における受信装置の構成図である。
【図２】本発明の実施の形態１における受信装置の受信可能最大レートの測定手順に関するフローチャートである。
【図３】本発明の実施の形態２における受信装置の構成図である。
【図４】本発明の実施の形態３における通信装置の構成図である。
【図５】本発明の実施の形態３における通信装置のＴＣＰウィンドウサイズの設定手順に関するフローチャートである。
【図６】本発明の実施の形態４における通信装置の構成図である。
【符号の説明】
【００５８】
１０  受信装置、１１  受信処理部、１２  受信計測部、１３  受信レート算出部、１４  通知部、２０  通信装置、２１  送受信部、２２  ＲＴＴ計測部、２３  認識部、２４  ＴＣＰ制御部。
【図１】
2007201702.tif 000003
【図２】
2007201702.tif 000004
【図３】
2007201702.tif 000005
【図４】
2007201702.tif 000006
【図５】
2007201702.tif 000007
【図６】
2007201702.tif 000008