(57)【要約】【課題】  ＴＣＰを用いたＩＰネットワーク上でのあらゆるデータ伝送において、往復遅延時間によるスループットの低下を抑止し、高速且つ安定的なデータ伝送を可能にする。【解決手段】  本発明は、TCPコネクションへの１回あたりのデータ書き込み量と書き込み待機時間と待機時間とコネクション数を適切に設定し、データパケット送信装置とパケットデータ受信装置との間にN個のTCPコネクションを確立し、目的のデータを先頭からデータ量SずつN個のTCPコネクションに順次書き込んで送信していき、その際に、書き込みと書き込みの間に時間Tの待機時間を挟む。【選択図】  図１
2006050295.tif 000002
【特許請求の範囲】
【請求項１】
データをＴＣＰ(Transport Control Protocol)によりIPネットワークを通じてデータ伝送するデータパケット伝送方法において、
データパケット送信装置では、
データパケット伝送に用いるTCPコネクション数Nと、TCPコネクションへのデータ書き込み処理１回あたりの書き込みデータ量Sと、１回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間Tを任意の値に設定する設定過程と、
データパケット受信装置との間にN個のTCPコネクションを確立する第１のコネクション確立過程と、
１番目のTCPコネクションからN番目のTCPコネクションまで、送信データの先頭から前記データ量Sずつ、１回のデータ書き込み処理終了から次のデータ書き込み処理開始までの時間Tだけ待機しながら、送信データバッファ内のデータを複数のTCPコネクションに対し、順次データ書き込み処理を行うデータ書き込み過程と、
前記送信データバッファ内の送信データの末尾まで前記データ書き込み処理を繰り返す第１の繰り返し過程と、
前記データパケット装置へのデータ送信完了後、N個のTCPコネクションを切断する第１のコネクション切断過程と、を行い、
前記データパケット受信装置では、
前記データパケット送信装置との間にN個のTCPコネクションを確立する第２のコネクション確立過程と、
１番目のTCPコネクションからN番目のTCPコネクションまで、Sずつ、順次データ読み込み処理を行うデータ読み込み過程と、
全てのデータを前記データパケット送信装置から受信するまで前記データ読み込み処理を繰り返す第２の繰り返し過程と、
データ受信完了後、N個のTCPコネクションを切断する第２のコネクション切断過程と、を行うことを特徴とするデータパケット伝送方法。
【請求項２】
前記データパケット送信装置において、
データの伝送経路の往復遅延時間、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集し、
前記ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルを参照することにより、前記N及び前記Sを最適な値にそれぞれ設定する請求項２記載のデータパケット伝送方法。
【請求項３】
前記データパケット送信装置において、
データ書き込み処理中に前記ネットワーク情報及びスループットの目標値が変化した際に、前記N、前記S、及び前記Tの再設定を行う請求項１または２記載のデータパケット伝送方法。
【請求項４】
データをTCPによりIPネットワークを通じてデータパケット送信装置とデータパケット受信装置の間で伝送するデータパケット伝送システムであって、
データパケット送信装置は、
データパケット伝送に用いるTCPコネクション数を制御する第１のTCPコネクション数制御手段と、
前記TCPコネクション数に基づいて前記データパケット受信装置とのTCPコネクションを確立及び切断する第１のTCPコネクション確立・切断手段と、
データ蓄積メディアに蓄積されている、もしくは、外部システムから入力された送信データをバッファリングする送信データバッファと、
TCPコネクションへのデータ書き込み処理１回あたりの書き込みデータ量を制御する書き込みデータ量制御手段と、
１回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間を制御する書き込み待機時間制御手段と、
前記送信データバッファ内のデータを複数のTCPコネクションに対し、順次データ書き込み処理と書き込み待機処理を行うデータ書き込み及び書き込み待機時間制御手段と、
１つまたは複数のTCPコネクションを通してデータパケットをIPネットワークに送信するネットワーク出力手段と、を有し、
前記データパケット受信装置は、
データパケット伝送に用いるTCPコネクション数を制御する第２のTCPコネクション数制御手段と、
前記第２のTCPコネクション数制御手段により制御された前記TCPコネクション数に基づいて前記データパケット送信装置とのTCPコネクションを確立及び切断する第２のTCPコネクション確立・切断手段と、
前記TCPコネクションを通してデータパケットをIPネットワークから受信するネットワーク入力手段と、
TCPコネクションからデータ読み込み処理１回あたりの読み込みデータ量を制御する読み込みデータ量制御手段と、
前記読み込みデータ量に基づいてデータを１つまたは複数のTCPコネクションから順次読み込みを行なうデータ読み込み処理手段と、を有する
ことを特徴とするデータパケット伝送システム。
【請求項５】
前記データパケット送信装置は、
データ伝送経路の往復遅延時間、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集するネットワーク情報収集手段と、
前記ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルと、を更に有し、
前記第１のTCPコネクション数制御手段は、前記参照テーブルから前記TCPコネクション数を取得し、
前記書き込みデータ量制御手段は、前記参照テーブルから前記書き込みデータ量を取得し、
前記書き込み待機時間制御手段は、前記参照テーブルから前記書き込み待機時間を取得する請求項４記載のデータパケット伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データパケット伝送方法及びシステムに係り、特に、データ送信側とデータ受信側の間にパケット伝送の遅延時間が存在するＩＰネットワーク上において、ＴＣＰを用いて高速且つ安定的にデータ伝送するデータパケット伝送方法及びシステムに関する。
【背景技術】
【０００２】
ＴＣＰ(Transport Control Protocol)では、再送付き肯定確認応答プロトコルの改良版である、可変ウィンドウサイズのスライディングウィンドウプロトコルを用いて信頼性のある効率的なデータ伝送を実現している。
【０００３】
しかしながら、ＴＣＰによるデータ伝送では、ウィンドウサイズ分のデータを連続的に送信できるが、最初のパケットの確認応答が戻ってくるまでは、それ以上のデータを送信できない。
【０００４】
この制約により、ＴＣＰコネクション１つあたりのスループットは、
スループット（データ／秒）＝ウィンドウサイズ／往復遅延時間      （式１）
と理論的に求められる。従って、ネットワークの往復遅延時間ＲＴＴ(Round Trip Time)が大きくなると、必然的にスループットは低下する。
【０００５】
さらに、ウィンドウサイズは最大で６４ＫＢであることが規格として定められている。
【０００６】
これに対して、６４ＫＢ以上にウィンドウサイズの拡張が可能なWindow Scale Optionが提案され、現在、ＴＣＰを取り扱うシステムのほとんどはこの拡張を利用できる（例えば、非特許文献１参照）。
【０００７】
また、ファイル転送において、ファイルを分割し、分割数に応じて複数のＴＣＰコネクションを確立してデータ伝送を行なうことで、ウィンドウサイズを変化させることなくファイル転送の効率を高める方法が提案されている。
【非特許文献１】V.Jacobson, R, Braden and D. Borman,”TCP Extensions for High Performance,” RFC1323, May 1992, http://www.ietf.org/rfc/rfc1323,txt
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記の非特許文献１に示されるＴＣＰのウィンドウサイズ拡張を利用することにより、式１で求められる理論的なスループットは向上する。
【０００９】
しかし、ＴＣＰを送信するシステムの殆どは、文献[M.Allman, V. Paxon and W.Stevens, “TCP congestion Control,” RFC2581, April 1999, http://www.ietf.org/rfc/rfc2581.txt]に示すように送信側が独自に持つ輻輳ウィンドウのサイズに基づいてデータ送信のレートを決定し、この輻輳ウィンドウサイズはデータ伝送開始時点では非常に小さい値で、受信側からの確認応答パケットが返ってくる毎に僅かずつ増加させるという方法をとっている。
【００１０】
従って、往復遅延時間ＲＴＴが長いネットワークにおいては、送信側の輻輳ウィンドウサイズの上昇率が低いため、実際のデータ伝送スループット増加が緩やかで、スループットの理論値に近付くのに非常に時間がかかるという問題が存在する。
【００１１】
この輻輳ウィンドウサイズの初期値及び上昇率を増加することで、スループットの増加率の向上が図れるが、それと共に輻輳発生率が増加するという問題があり、またほとんどの場合、システムに実装されているＴＣＰプロトコルスタックそのものに改変を加えなければならず、改変を行なった場合、そのシステム上で動作する他のアプリケーションまで影響が及ぶ。
【００１２】
一方、複数のＴＣＰコネクションを用いて並列的にデータ伝送を行なうことで、全体として実質的な輻輳ウィンドウサイズの初期値及び上昇率の増加を図ることができ、輻輳制御は各ＴＣＰコネクションで行われるため輻輳発生率の増加も抑えられるが、ＴＣＰコネクションの数を増加させすぎると、システムにおける処理のオーバーヘッドが発生し、かえってスループットが低下するという問題がある。さらに、ビデオカメラからのディジタル映像信号をファイルという形式を介さずに直接データトランスポートストリームに載せて伝送するような場合、このようなファイル分割・統合モジュールでのデータ分割はできない。
【００１３】
また、ＲＴＴが長い広帯域ネットワークにおけるデータ伝送では、データトラヒックのバースト性が高い場合、ネットワーク経路上の中継装置等にかかる負荷の増加とそれに伴うパケットロスや、送信システム及び受信システム内の送受信バッファのオーバーフローなどを引き起こし易く、ＴＣＰの仕組みに基づいてパケット再送制御や輻輳回避制御が働き、スループットの急激な低下を招く。
【００１４】
従って、長ＲＴＴ環境下で高いスループットを維持するためには、データトラヒックが平滑になるようにデータパケットの送出頻度を制御する。即ち、データトラヒックのシェーピングを行なう必要がある。
【００１５】
しかし、複数のＴＣＰコネクションを用いて並列的にデータを伝送する上でのシェーピング方法に関しては、スループットに影響するパラメータやその調整方法などに関して、効果的な方法が考案されていない。
【００１６】
本発明は、上記の点に鑑みなされたもので、ＴＣＰを用いたＩＰネットワーク上でのあらゆるデータ伝送において、往復遅延時間によるスループットの低下を抑止し、高速且つ安定的にデータ伝送を行なうことが可能なデータパケット伝送方法及びシステムを提供することを目的とする。
【００１７】
また、本発明の他の目的は、送受信システムがもともと備えているＴＣＰのプロトコルスタックに改変を加えず、また、トラヒックシェーピングのための特別な装置を必要とせず、アプリケーションレベルでの高速且つ安定的なデータ伝送を行なうことが可能なデータパケット伝送方法及びシステムを提供することである。
【課題を解決するための手段】
【００１８】
図１は、本発明の原理を説明するための図である。
【００１９】
本発明は、データをＴＣＰによりIPネットワークを通じてデータ伝送するデータパケット伝送方法において、
データパケット送信装置では、
データパケット伝送に用いるTCPコネクション数Nと、TCPコネクションへのデータ書き込み処理１回あたりの書き込みデータ量Sと、１回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間Tを任意の値に設定する設定過程（ステップ１）と、
データパケット受信装置との間にN個のTCPコネクションを確立する第１のコネクション確立過程（ステップ２）と、
１番目のTCPコネクションからN番目のTCPコネクションまで、送信データの先頭からデータ量Sずつ、１回のデータ書き込み処理終了から次のデータ書き込み処理開始までの時間Tだけ待機しながら、送信データバッファ内のデータを複数のTCPコネクションに対し、順次データ書き込み処理を行うデータ書き込み過程（ステップ３）と、
送信データバッファ内の送信データの末尾までデータ書き込み処理を繰り返す第１の繰り返し過程（ステップ４）と、
前記データパケット装置へのデータ送信完了後、N個のTCPコネクションを切断する第１のコネクション切断過程（ステップ５）と、を行い、
データパケット受信装置では、
データパケット送信装置との間にN個のTCPコネクションを確立する第２のコネクション確立過程（ステップ６）と、
１番目のTCPコネクションからN番目のTCPコネクションまで、Sずつ、順次データ読み込み処理を行うデータ読み込み過程（ステップ７）と、
全てのデータをデータパケット送信装置から受信するまでデータ読み込み処理を繰り返す第２の繰り返し過程（ステップ８）と、
データ受信完了後、N個のTCPコネクションを切断する第２のコネクション切断過程（ステップ９）と、を行う。
【００２０】
また、本発明は、データパケット送信装置において、
データの伝送経路の往復遅延時間、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集し、
ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルを参照することにより、N及びSを最適な値にそれぞれ設定する。
【００２１】
また、本発明は、データパケット送信装置において、
データ書き込み処理中にネットワーク情報及びスループットの目標値が変化した際に、N、S、及びTの再設定を行う。
【００２２】
図２は、本発明の原理構成図である。
【００２３】
本発明は、データをTCPによりIPネットワークを通じてデータパケット送信装置とデータパケット受信装置の間で伝送するデータパケット伝送システムであって、
データパケット送信装置１００は、
データパケット伝送に用いるTCPコネクション数を制御する第１のTCPコネクション数制御手段１２０と、
TCPコネクション数に基づいてデータパケット受信装置２００とのTCPコネクションを確立及び切断する第１のTCPコネクション確立・切断手段１５０と、
データ蓄積メディア４００に蓄積されている、もしくは、外部システム６００から入力された送信データをバッファリングする送信データバッファ１１０と、
TCPコネクションへのデータ書き込み処理１回あたりの書き込みデータ量を制御する書き込みデータ量制御手段１３０と、
１回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間を制御する書き込み待機時間制御手段１４０と、
送信データバッファ１１０内のデータを複数のTCPコネクションに対し、順次データ書き込み処理と書き込み待機処理を行うデータ書き込み及び書き込み待機時間制御手段１６０と、
１つまたは複数のTCPコネクションを通してデータパケットをIPネットワークに送信するネットワーク出力手段１７０と、を有し、
データパケット受信装置２００は、
データパケット伝送に用いるTCPコネクション数を制御する第２のTCPコネクション数制御手段２２０と、
第２のTCPコネクション数制御手段２２０により制御されたTCPコネクション数に基づいてデータパケット送信装置とのTCPコネクションを確立及び切断する第２のTCPコネクション確立・切断手段２４０と、
TCPコネクションを通してデータパケットをIPネットワーク３００から受信するネットワーク入力手段２６０と、
TCPコネクションからデータ読み込み処理１回あたりの読み込みデータ量を制御する読み込みデータ量制御手段２３０と、
読み込みデータ量に基づいてデータを１つまたは複数のTCPコネクションから順次読み込みを行なうデータ読み込み処理手段２５０と、を有する。
【００２４】
また、本発明のデータパケット送信装置１００は、
データ伝送経路の往復遅延時間、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集するネットワーク情報収集手段と、
ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルと、を更に有し、
第１のTCPコネクション数制御手段１２０は、参照テーブルからTCPコネクション数を取得し、
書き込みデータ量制御手段１３０は、参照テーブルから書き込みデータ量を取得し、
書き込み待機時間制御手段１４０は、参照テーブルから書き込み待機時間を取得する。
【００２５】
上記のように、本発明は、データ送信側とデータ受信側の間にＮ個のＴＣＰコネクションを確立し、目的のデータを先頭からデータ量ＳずつＮ個のＴＣＰコネクションに順次書き込んで送信していき、また、この際に書き込みと書き込みの間に時間Ｔの待機時間を挟むことを特徴としており、さらに、Ｎ，Ｔ，Ｓの設定値によって、データ伝送のスループットが変化することを特徴としている。
【００２６】
また、本発明は、データ伝送経路の往復遅延時間（ＲＴＴ）、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集するネットワーク情報収集手段と、ネットワーク情報に対してデータ伝送のスループットを目標値に到達させるための最適なＮ，Ｔ，Ｓの値を保持する参照テーブルとを有し、Ｎ，Ｔ，Ｓの値を最適パラメータ参照テーブルより得られた値にそれぞれ設定することを特徴としている。
【発明の効果】
【００２７】
上記のように、本発明によれば、複数のＴＣＰコネクションを用いたデータ伝送のスループットは、ＴＣＰコネクション数Ｎと、あるＴＣＰコネクションにデータを書き込んでから別のＴＣＰコネクションに書き込みを開始するまでの書き込み待機時間Ｔと、一回の書き込みあたりの書き込みデータ量Ｓと、によって変化するため、これら３つのパラメータを最適な値に設定することで、データ伝送のスループットを任意に変化させることができ、また、ＲＴＴの長い回線におけるデータ伝送において、従来の技術ではできなかった高いスループットを実現することが可能となる。
【００２８】
また、本発明によれば、Ｎ，Ｔ，Ｓの設定時に最適パラメータ参照テーブルを参照して各パラメータの設定値を求めることで、目標とするスループットでのデータ伝送を開始するためにかかるコストを抑えることができる。
【００２９】
また、本発明におけるＴＣＰコネクションの確立・切断と、データ書き込み処理及び書き込み待機処理は、一般的なオペレーティングシステム上におけるアプリケーションとしての実行が可能であるため、オペレーティングシステムに改変を加えることなく、従来の技術ではできなかった高いスループットを実現することが可能となる。
【発明を実施するための最良の形態】
【００３０】
以下、図面と共に本発明の実施の形態を説明する。
【００３１】
［第１の実施の形態］
図３は、本発明の第１の実施の形態におけるシステム構成図である。
【００３２】
同図に示すデータパケット伝送システムは、データパケット送信装置１００、データパケット受信装置２００、ＩＰネットワーク３００、データ蓄積メディア４００、ネットワーク入力ＩＦ（インタフェース）５００、外部システム６００、ネットワーク出力ＩＦ７００から構成される。
【００３３】
データパケット送信装置１００は、送信データバッファ１１０、ＴＣＰコネクション数制御部１２０、書き込みデータ量制御部１３０、書き込み待機時間制御部１４０、ＴＣＰコネクション確立・切断部１５０、データ書き込み及び書き込み待機処理部１６０、ネットワーク出力ＩＦ１７０から構成される。送信する目的のデータはデータ蓄積メディア４００やネットワーク入力ＩＦ５００を通して外部システム６００から送信データバッファ１１０に一時的に格納される。
【００３４】
送信データバッファ１１０は、データ蓄積メディア４００に蓄積されている、もしくは外部システム６００から入力された送信データをバッファリングする。
【００３５】
ＴＣＰコネクション数制御部１２０は、データパケット伝送に用いるＴＣＰコネクション数を制御する。
【００３６】
書き込みデータ量制御部１３０は、ＴＣＰコネクションへのデータ書き込み処理１回あたりの書き込みデータ量を制御する。
【００３７】
書き込み待機時間制御部１４０は、１回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間を制御する。
【００３８】
ＴＣＰコネクション確立・切断部１５０は、ＴＣＰコネクション数に基づいてデータパケット受信装置２００とのＴＣＰコネクションを確立及び切断する。
【００３９】
データ書き込み及び書き込み待機処理部１６０は、書き込みデータ量及び書き込み待機時間に基づいて、送信データバッファ内のデータを複数のＴＣＰコネクションに対し、順次データ書き込み処理と書き込み待機処理を行う。
【００４０】
ネットワーク出力ＩＦ１７０は、１つまたは複数のＴＣＰコネクションを通してデータパケットをＩＰネットワークに送信する。
【００４１】
データパケット受信装置２００は、受信データ格納部２１０、ＴＣＰコネクション数制御部２２０、読み込みデータ量制御部２３０、ＴＣＰコネクション確立・切断部２４０、データ読み込み処理部２５０、ネットワーク入力ＩＦ２６０から構成される。
【００４２】
受信データ格納部２１０は、ＩＰネットワーク３００を介して取得したデータを格納する。
【００４３】
ＴＣＰコネクション数制御部２２０は、データパケット伝送に用いるＴＣＰコネクション数を制御する。
【００４４】
読み込みデータ量制御部２３０は、ＴＣＰコネクションからのデータ読み込み処理１回あたりの読み込みデータ量を制御する。
【００４５】
ＴＣＰコネクション確立・切断部２４０は、ＴＣＰコネクション数制御部２２０により制御されたＴＣＰコネクション数に基づいてデータパケット送信装置１００とのＴＣＰコネクションを確立及び切断する。
【００４６】
データ読み込み処理部２５０は、読み込みデータ量制御部２３０により制御された読み込みデータ量に基づいてデータを１つまたは、複数のＴＣＰコネクションから順次読み込み、受信データ格納部２１０に格納する。
【００４７】
ネットワーク入力ＩＦ２６０は、ＴＣＰコネクションを介してデータパケットをＩＰネットワーク３００から受信する。
【００４８】
データパケット送信装置１００とデータパケット受信装置２００は、ＩＰネットワーク３００で接続され、データパケット送信装置１００のネットワーク出力ＩＦ１７０とデータパケット受信装置２００のネットワーク入力ＩＦ２６０間には、１つまたは複数のＴＣＰコネクションが確立される。
【００４９】
図４は、本発明の第１の実施の形態におけるデータパケット送信装置とデータパケット受信装置の動作のフローチャートである。
【００５０】
最初に、データパケット送信装置１００の動作について説明する。
【００５１】
第１の過程では、データパケット送信装置１００のＴＣＰコネクション数制御部１２０において、ＴＣＰコネクション数Ｎ、書き込みデータ量制御部１３０において書き込みデータ量Ｓ、書き込み待機時間制御部１４０において書き込み待機時間Ｔを任意の値に設定する（ステップ１０１）。
【００５２】
第２の過程では、ＴＣＰコネクション確立・切断部１５０が、データパケット受信装置２００との間にＮ個のＴＣＰコネクションを確立する（ステップ１０２）。
【００５３】
第３の過程では、データ書き込み及び書き込み待機処理部１６０において、データポインタＰを送信データバッファ１１０内のデータ開始アドレスに初期化し（ステップ１０３）、カウンタＩを１に初期化して（ステップ１０４）、ＰからＰ＋ＳまでのサイズＳのデータをＩ番目のＴＣＰコネクションへ書き込み（ステップ１０５）、ＰをＳずつ、Ｉを１ずつ増加させて書き込みを繰り返す（ステップ１０６，１０７）。Ｉの値はＮを越えたら１に戻す（ステップ１０９、Ｙｅｓ）。書き込みと書き込みの間は時間Ｔだけ待機する（ステップ１０８）。以上の処理をＰが送信データバッファ１１０内のデータ終了アドレスに到達するまで繰り返す（ステップ１０７）。なお、ＴＣＰコネクションに書き込まれたデータは、ネットワーク出力ＩＦ１７０を通してＩＰネットワーク３００上へ出力され、データパケット受信装置２００へ到達する。
【００５４】
以下、図５を参照して、第３の過程の詳細を説明する。
【００５５】
一般的なコンピュータのＯＳ（オペレーティングシステム）で利用できるＴＣＰプロトコルスタックは、アプリケーションソフトウェアがＴＣＰ／ＩＰを扱うためにソケットという仮想的なインタフェースを提供し、１つのＴＣＰコネクションに対し１つのソケットを割り当てる。アプリケーションソフトウェアはソケット書き込みのためのシステムコールを呼び出し、ソケットにデータを書き込むことで、そのソケットと対応するＴＣＰコネクションを通してデータを送信することができる。各ソケットはソケットバッファ１６１と呼ばれるバッファ領域をもっており、ネットワーク出力ＩＦ１７０は、このソケットバッファ１６１内のデータをＩＰネットワーク３００へパケット送信する。
【００５６】
第３の過程において、ソケット書き込みシステムコール１６２を呼び出し、Ｎ個のＴＣＰコネクションに対し、時間Ｔの待機時間を挟みながらサイズＳのデータの書き込み処理を行うと、ソケットバッファ１６１内のデータは、図５に示すように配置される。実際にＩＰネットワーク３００へ送信されるデータパケットの大きさや送信間隔等は、ネットワーク出力ＩＦ１７０の仕様により異なる。
【００５７】
次に、第４の過程では、データ書き込み及び書き込み待機処理部１６０が、データパケット受信装置２００へデータ送信が完了したことを通知する（ステップ１１０）。
【００５８】
第５の過程では、Ｎ個のＴＣＰコネクションを切断し終了する（ステップ１１１）。
【００５９】
次に、データパケット受信装置２００の動作について説明する。
【００６０】
第１の過程では、ＴＣＰコネクション数制御部２２０においてＴＣＰコネクション数Ｎ、読み込みデータ量制御部２３０において読み込みデータ量Ｓ、を任意の値に設定する（ステップ２０１）。但し、データパケット送信装置１００とデータパケット受信装置２００におけるＮの値は同一でなければならない。Ｓの値に関しては必ずしも同一でなくとも良いが、その場合は、別途受信データ格納部２１０において受信データの再構築が必要となる。
【００６１】
第２の過程では、ＴＣＰコネクション確立・切断部２４０が、データパケット送信装置１００との間にＮ個のＴＣＰコネクションを確立する（ステップ２０２）。
【００６２】
第３の過程では、データ読み込み処理部２５０において、カウンタＩを１に初期化して（ステップ２０３）、Ｉ番目のＴＣＰコネクションからサイズＳのデータを読み込み（ステップ２０４）、Ｉを１ずつ増加させて読み込みを繰り返す（ステップ２０５）。Ｉの値はＮを越えたら１に戻す（ステップ２０７、Ｙｅｓ）。以上の処理をデータパケット送信装置１００におけるデータ送信が完了するまで繰り返す（ステップ２０６）。
【００６３】
読み込まれたデータは、順次受信データ格納部２１０に格納されるか、直接もしくは一度受信データ格納部２１０を介してネットワーク出力ＩＦ７００に書き込まれ、装置外部へ出力される。なお、データパケット送信装置１００におけるデータ送信は、データパケット送信装置１００よりデータ送信完了の通知を受け取ったときか、もしくは予め送信データの全データ量を得ておき、受信したデータ量が送信データの全データ量に達したときか、あるいは、ＴＣＰコネクションが何らかの要因により切断されたときに完了したと見做す。
【００６４】
第４の過程では、Ｎ個のＴＣＰコネクションを切断し、終了する（ステップ２０８）。
【００６５】
［第２の実施の形態］
図６は、本発明の第２の実施の形態におけるシステム構成を示す。同図において、図３と同一構成部分には同一符号を付し、その説明を省略する。
【００６６】
データパケット送信装置１００には、図３の構成に、最適パラメータ参照テーブル１８０、エントリ追加処理部１８５とネットワーク情報（ＲＴＴ，回線速度等）収集部１９０が付加された構成である。
【００６７】
ネットワーク情報収集部１９０は、ネットワーク出力ＩＦ１７０を介して、データ伝送経路の往復遅延時間、回線速度、データ伝送路上の中継装置の数からなるネットワーク情報を収集し、エントリ追加処理部１８５に転送する。
【００６８】
エントリ追加処理部１８５は、最適パラメータテーブル１８０にネットワーク情報収集部１９０から渡されたネットワーク情報を用いてエントリを追加する。
【００６９】
最適パラメータ参照テーブル１８０は、ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なＴＣＰコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられたテーブルであり、ＴＣＰコネクション数制御部１２０、書き込みデータ量制御部１３０、書き込み待機時間制御部１４０から参照される。
【００７０】
図７は、本発明の第２の実施の形態におけるデータパケット送信装置及びデータパケット受信装置の動作のフローチャートである。
【００７１】
第１の過程では、ネットワーク情報収集部１９０において、データパケット送信装置１００とデータパケット受信装置２００間の往復遅延時間（ＲＴＴ）、回線速度、回線上の中継装置の数からなるネットワーク情報を収集する（ステップ３０１）。例えば、自動的にＩＣＭＰ(Internet Control Message Protocol)パケットを、ネットワーク出力ＩＦ１７０を通してデータパケット受信装置２００に送出し、応答パケットが返ってくるまでの時間を計測してＲＴＴを得たり、応答パケットのヘッダ中のＴＴＬ（Time To Live）の値から回線上の中継装置の数を得たり、テスト計測用のＴＣＰストリームデータを生成してデータパケット受信装置２００へ送信し、時間当たりの送信データ量を計測して回線速度を得ることができる。同ネットワーク情報は自動収集によらず、予め手動での実測等により得ておいてもよい。
【００７２】
第２の過程では、ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なＴＣＰコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた最適パラメータ参照テーブル１８０を参照し、第１の過程で得られたネットワーク情報に対応した最適な各パラメータを得る（ステップ３０２）。同ネットワーク情報に対応した最適パラメータがパラメータ参照テーブル１８０内に存在しない場合は、近傍のネットワーク情報に対する最適パラメータで代用するか、ここで、最適パラメータ参照テーブル１８０のエントリ追加処理を行ってもよい。
【００７３】
エントリ追加処理部１８５による、最適パラメータ参照テーブル１８０へのエントリの追加処理は、例えば、以下のように実行する。
【００７４】
前述の第１の実施の形態におけるデータパケット送信装置１００での第３の過程のように、Ｎ個のＴＣＰコネクションにサイズＳずつ、待機時間Ｔを挟みながらデータ書き込み処理を行なう方法で、データパケット送信装置１００からデータパケット受信装置２００にスループット計測用データを送信し、スループットを計測していく。このとき、
（１）まず、ＴＣＰコネクション数Ｎと書き込み待機時間Ｔを一定の値Ｎ１，Ｔ１に設定し、書き込みデータ量Ｓを段階的に増加させながら計測していく。Ｓの増加に伴いスループットが増加していくが、ある時点で輻輳の発生等によるスループットの低下が起こる。ここで、Ｎ１，Ｔ１においてスループットが最大となった書き込みデータ量をＳ１として得る。
【００７５】
（２）次に、Ｔ１を一定のままＴＣＰコネクション数を変化させＮ２とし、同様にスループットの計測を行い、Ｎ２，Ｔ１においてスループットが最大となった書き込みデータ量をＳ２として得る。一定の書き込み待機時間において、Ｎ個のＴＣＰコネクションを用いた伝送に対して輻輳の発生等によるスループットの低下が起きない、即ち、最大のスループットを得ることができるＳはＮに比例し、
Ｓ＝αＮ＋β                （式２）
という式で表せる関係にあり、Ｎ１，Ｓ１及びＮ２，Ｓ２の値によりαとβの値を求める。
【００７６】
（３）次に、Ｔ１を一定のままＮ（またはＳ）を増加させ、Ｓ（またはＮ）を上記の式２に従い変化させながら計測していき、最大のスループットが得られたＮをＮ３，ＳをＳ３とすると、Ｎ３，Ｔ１，Ｓ３がネットワーク情報における最大のスループットを得るための最適パラメータとして、最適パラメータ参照テーブル１８０にエントリを追加できる。
また、Ｎ３，Ｓ３より小さいＮ，Ｓに対するスループットの計測結果は、ネットワーク情報における各スループットの目標値に対する最適パラメータとして最適パラメータ参照テーブル１８０にエントリを追加できる。
【００７７】
第３の過程では、第２の過程により設定された最適パラメータ参照テーブル１８０より、ＴＣＰコネクション数制御部１２０では、ＴＣＰコネクション数Ｎ、書き込みデータ量制御部１３０では、書き込みデータ量Ｓ，書き込み待機時間制御部１４０において書き込み待機時間Ｔを取得し、それぞれ設定する（ステップ３０３）。
【００７８】
第４の過程は、第１の実施の形態におけるデータパケット送信装置１００の第２の過程と同様である（ステップ３０４）。
【００７９】
第５の過程は、第１の実施の形態におけるデータパケット送信装置１００の第３の過程と同様である（ステップ３０５〜ステップ３１２）。但し、データ書き込み処理及び書き込み処理待機の間にネットワーク情報及びスループットの目標値が変化した場合（ステップ３０９，Ｙｅｓ）は、データ送信を中断せずに第２〜第４の過程を再度行なっても良い（ステップ３１０，３２０）。
【００８０】
第６の過程は、第１の実施の形態におけるデータパケット送信装置１００の第４の過程と同様である（ステップ３１３）。
【００８１】
第７の過程は、第１の実施の形態におけるデータパケット送信装置１００の第５の過程と同様である（ステップ３１４）。
【００８２】
次に、データパケット受信装置２００の動作を説明する。
【００８３】
第１の過程では、データパケット送信装置１００における第２の過程で得られた最適なＴＣＰコネクション数と最適な書き込みデータ量をデータパケット送信装置１００より自動もしくは手動で取得する（ステップ４０１）。
【００８４】
第２の過程では、ＴＣＰコネクション数制御部２２０においてＴＣＰコネクション数Ｎを第１の過程で得られた最適なＴＣＰコネクション数に、読み込みデータ量制御部２３０において読み込みデータ量Ｓを第１の過程で得られた最適な書き込みデータ量に設定する（ステップ４０２）。Ｓの値に関しては異なる任意の値でもよいが、その場合は別途受信データ格納部２１０において受信データの再構築が必要となる。
【００８５】
第３の過程では、第１の実施の形態におけるデータパケット受信装置２００の第２の過程と同様である（ステップ４０３）。
【００８６】
第４の過程は、第１の実施の形態におけるデータパケット受信装置２００の第３の過程と同様である（ステップ４０４〜４１０）。ただし、データ読み込み処理の間にネットワーク情報の変化などによりデータパケット送信装置２００におけるＮまたはＳの再設定があった場合は（ステップ４０７，Ｙｅｓ）、データ受信を中断せずに第１〜第３の過程を再度行なう（ステップ４０８，４０９）
第５の過程は、第１の実施の形態におけるデータパケット受信装置２００の第４の過程と同様である（ステップ４１０）。
【００８７】
次に、本発明を用いた実験結果について図面を参照して説明する。
【００８８】
図８は、本発明を用いた実験時のシステム構成図である。同図に示すように、２台のコンピュータを用い、本発明の第２の実施の形態を実施した。装置間に往復遅延発生装置を挟み、ＲＴＴが６０ミリ秒で回線速度が１Ｇbit／秒であるネットワークを擬似的に構築した。
【００８９】
まず、従来の技術である、書き込み待機処理等を行わない単純な複数ＴＣＰコネクションを用いての伝送を行い、データ伝送のスループットを計測したところ、ＴＣＰコネクション数３２で約１００Ｍbit／秒となり、それ以上ＴＣＰコネクション数を増加させても効果は見られなかった。
【００９０】
次に、データパケット送信装置において、ＴＣＰコネクション数Ｎ１を４８、書き込み待機時間Ｔ１を６μ秒とし、書き込みデータ量Ｓを２００バイトから８００バイトまで２０バイトずつ増加させてデータ伝送のスループットを計測した。図９に示すように、Ｓ＝３４０バイトにおいてスループットが急激に減少しており、３２０バイトがスループット最大となる書き込みデータ量となったため、Ｓ１＝３２０バイトとなる。
【００９１】
次に、Ｎ２＝６４とし、同様にＳを２０バイトずつ増加させてデータ伝送のスループットを計測した。図１０に示すように、Ｓ＝５００バイトにおいてスループットが急激に減少しており、Ｓ２＝４８０バイトとなる。
【００９２】
この結果により、Ｔ１＝６μ秒においてＮ個のＴＣＰコネクションを用いた伝送に対する最大のスループットを得るためのＳとＮの関係式Ｓ＝１０Ｎ−１６０βが求められる。
【００９３】
次に、Ｎの値と、上記の関係式に従いＳの値を増加させながらデータ伝送のスループットを計測した。その結果、図１１に示すように、Ｎ＝８７においてスループットが急激に減少しており、その後は、スループットが非常に不安定な結果となった。ここで、Ｎ＝８６（Ｓ＝７００バイト）が閾値となり、以後、輻輳等のスループット低下をもたらす現象が非常に起こり易くなっていると考えられるため、この伝送条件における最も高いスループットを得るための最適パラメータをＴ＝６μ秒、Ｎ−８６，Ｓ＝７００バイトとして最適パラメータ参照テーブル１８０にエントリを追加した。
【００９４】
この最適パラメータを用いてデータ伝送を行い、約５５０Ｍbit／秒のスループットを安定的に得ることができた。
【００９５】
以上のように、本発明は、ＲＴＴの長い回線におけるデータ伝送において、従来の技術ではできなかった高いスループットを実現することが可能であり、また、目標とするスループットでのデータ伝送を開始するためにかかるコストを抑えることが可能である。
【００９６】
また、本発明は、既存のオペレーティングシステムを利用して実施した場合に、オペレーティングシステムに改変を加えることなく、その上で動作するアプリケーションとして実施が可能である。
【００９７】
本発明は、上記の第１の実施の形態及び第２の実施の形態におけるパケットデータ送信装置及びパケットデータ受信装置の動作をプログラムとして構築し、送信装置及び受信装置として利用されるコンピュータにインストールしてＣＰＵ等の制御手段に実行させる、または、ネットワークを介して流通させることが可能である。
【００９８】
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【００９９】
本発明は、データをＴＣＰによりＩＰネットワークを介して伝送するシステムに適用可能である。
【図面の簡単な説明】
【０１００】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の第１の実施の形態におけるシステム構成図である。
【図４】本発明の第１の実施の形態におけるデータパケット送信装置とデータパケット受信装置の動作のフローチャートである。
【図５】本発明の第１の実施の形態における第３の過程を説明するための図である。
【図６】本発明の第２の実施の形態におけるシステム構成図である。
【図７】本発明の第２の実施の形態におけるデータパケット送信装置とデータパケット受信装置の動作のフローチャートである。
【図８】本発明を実施して実験を行なった際の実験環境を示す図である。
【図９】実験により得られた大気時間６μ秒における書き込みデータ量Sに対するスループットを示す図（その１）である。
【図１０】実験により得られた大気時間６μ秒における書き込みデータ量Sに対するスループットを示す図（その２）である。
【図１１】実験により得られたNとSの関係式に従って増加させたときの待機時間６μ秒におけるスループットを示す図である。
【符号の説明】
【０１０１】
１００  データパケット送信装置
１１０  送信データバッファ
１２０  TCPコネクション数制御手段、TCPコネクション数制御部
１３０  書き込みデータ量制御手段、書き込みデータ量制御部
１４０  書き込み待機時間制御手段、書き込み待機時間制御部
１５０  TCPコネクション確立・切断手段、TCPコネクション確率・切断部
１６０  データ書き込み及び書き込み待機処理手段、データ書き込み及び書き込み待機処理部
１６１  ソケットバッファ
１６２  ソケット書き込みシステムコール
１７０  ネットワーク出力手段、ネットワーク出力IF（インタフェース）
１８０  最適パラメータ参照テーブル
１８５  エントリ追加処理部
１９０  ネットワーク情報収集部
２００  データパケット受信装置
２１０  受信データ格納手段、受信データ格納部
２２０  TCPコネクション数制御手段、TCPコネクション数制御部
２３０  読み込みデータ量制御手段、読み込みデータ量制御部
２４０  TCPコネクション確立・切断手段、TCPコネクション確率・切断部
２５０  データ読み込み処理手段、データ読み込み処理部
２６０  ネットワーク入力手段、ネットワーク入力IF（インタフェース）
３００  IPネットワーク
４００  データ蓄積メディア
５００  ネットワーク入力IF（インタフェース）
６００  外部システム
７００  ネットワーク出力IF（インタフェース）
【図１】
2006050295.tif 000003
【図２】
2006050295.tif 000004
【図３】
2006050295.tif 000005
【図４】
2006050295.tif 000006
【図５】
2006050295.tif 000007
【図６】
2006050295.tif 000008
【図７】
2006050295.tif 000009
【図８】
2006050295.tif 000010
【図９】
2006050295.tif 000011
【図１０】
2006050295.tif 000012
【図１１】
2006050295.tif 000013