JP4281649B2 - データパケット伝送方法及びシステム - Google Patents

データパケット伝送方法及びシステム Download PDF

Info

Publication number
JP4281649B2
JP4281649B2 JP2004229077A JP2004229077A JP4281649B2 JP 4281649 B2 JP4281649 B2 JP 4281649B2 JP 2004229077 A JP2004229077 A JP 2004229077A JP 2004229077 A JP2004229077 A JP 2004229077A JP 4281649 B2 JP4281649 B2 JP 4281649B2
Authority
JP
Japan
Prior art keywords
data
write
tcp
data packet
tcp connection
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.)
Active
Application number
JP2004229077A
Other languages
English (en)
Other versions
JP2006050295A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004229077A priority Critical patent/JP4281649B2/ja
Publication of JP2006050295A publication Critical patent/JP2006050295A/ja
Application granted granted Critical
Publication of JP4281649B2 publication Critical patent/JP4281649B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データパケット伝送方法及びシステムに係り、特に、データ送信側とデータ受信側の間にパケット伝送の遅延時間が存在するIPネットワーク上において、TCPを用いて高速且つ安定的にデータ伝送するデータパケット伝送方法及びシステムに関する。
TCP(Transport Control Protocol)では、再送付き肯定確認応答プロトコルの改良版である、可変ウィンドウサイズのスライディングウィンドウプロトコルを用いて信頼性のある効率的なデータ伝送を実現している。
しかしながら、TCPによるデータ伝送では、ウィンドウサイズ分のデータを連続的に送信できるが、最初のパケットの確認応答が戻ってくるまでは、それ以上のデータを送信できない。
この制約により、TCPコネクション1つあたりのスループットは、
スループット(データ/秒)=ウィンドウサイズ/往復遅延時間 (式1)
と理論的に求められる。従って、ネットワークの往復遅延時間RTT(Round Trip Time)が大きくなると、必然的にスループットは低下する。
さらに、ウィンドウサイズは最大で64KBであることが規格として定められている。
これに対して、64KB以上にウィンドウサイズの拡張が可能なWindow Scale Optionが提案され、現在、TCPを取り扱うシステムのほとんどはこの拡張を利用できる(例えば、非特許文献1参照)。
また、ファイル転送において、ファイルを分割し、分割数に応じて複数のTCPコネクションを確立してデータ伝送を行なうことで、ウィンドウサイズを変化させることなくファイル転送の効率を高める方法が提案されている。
V.Jacobson, R, Braden and D. Borman,"TCP Extensions for High Performance," RFC1323, May 1992, http://www.ietf.org/rfc/rfc1323,txt
上記の非特許文献1に示されるTCPのウィンドウサイズ拡張を利用することにより、式1で求められる理論的なスループットは向上する。
しかし、TCPを送信するシステムの殆どは、文献[M.Allman, V. Paxon and W.Stevens, “TCP congestion Control,” RFC2581, April 1999, http://www.ietf.org/rfc/rfc2581.txt]に示すように送信側が独自に持つ輻輳ウィンドウのサイズに基づいてデータ送信のレートを決定し、この輻輳ウィンドウサイズはデータ伝送開始時点では非常に小さい値で、受信側からの確認応答パケットが返ってくる毎に僅かずつ増加させるという方法をとっている。
従って、往復遅延時間RTTが長いネットワークにおいては、送信側の輻輳ウィンドウサイズの上昇率が低いため、実際のデータ伝送スループット増加が緩やかで、スループットの理論値に近付くのに非常に時間がかかるという問題が存在する。
この輻輳ウィンドウサイズの初期値及び上昇率を増加することで、スループットの増加率の向上が図れるが、それと共に輻輳発生率が増加するという問題があり、またほとんどの場合、システムに実装されているTCPプロトコルスタックそのものに改変を加えなければならず、改変を行なった場合、そのシステム上で動作する他のアプリケーションまで影響が及ぶ。
一方、複数のTCPコネクションを用いて並列的にデータ伝送を行なうことで、全体として実質的な輻輳ウィンドウサイズの初期値及び上昇率の増加を図ることができ、輻輳制御は各TCPコネクションで行われるため輻輳発生率の増加も抑えられるが、TCPコネクションの数を増加させすぎると、システムにおける処理のオーバーヘッドが発生し、かえってスループットが低下するという問題がある。さらに、ビデオカメラからのディジタル映像信号をファイルという形式を介さずに直接データトランスポートストリームに載せて伝送するような場合、このようなファイル分割・統合モジュールでのデータ分割はできない。
また、RTTが長い広帯域ネットワークにおけるデータ伝送では、データトラヒックのバースト性が高い場合、ネットワーク経路上の中継装置等にかかる負荷の増加とそれに伴うパケットロスや、送信システム及び受信システム内の送受信バッファのオーバーフローなどを引き起こし易く、TCPの仕組みに基づいてパケット再送制御や輻輳回避制御が働き、スループットの急激な低下を招く。
従って、長RTT環境下で高いスループットを維持するためには、データトラヒックが平滑になるようにデータパケットの送出頻度を制御する。即ち、データトラヒックのシェーピングを行なう必要がある。
しかし、複数のTCPコネクションを用いて並列的にデータを伝送する上でのシェーピング方法に関しては、スループットに影響するパラメータやその調整方法などに関して、効果的な方法が考案されていない。
本発明は、上記の点に鑑みなされたもので、TCPを用いたIPネットワーク上でのあらゆるデータ伝送において、往復遅延時間によるスループットの低下を抑止し、高速且つ安定的にデータ伝送を行なうことが可能なデータパケット伝送方法及びシステムを提供することを目的とする。
また、本発明の他の目的は、送受信システムがもともと備えているTCPのプロトコルスタックに改変を加えず、また、トラヒックシェーピングのための特別な装置を必要とせず、アプリケーションレベルでの高速且つ安定的なデータ伝送を行なうことが可能なデータパケット伝送方法及びシステムを提供することである。
図1は、本発明の原理を説明するための図である。
本発明は、データをTCPによりIPネットワークを通じてデータ伝送するデータパケット伝送方法において、
データパケット送信装置では、
データパケット伝送に用いるTCPコネクション数Nと、TCPコネクションへのデータ書き込み処理1回あたりの書き込みデータ量Sと、
1回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間Tを任意の値に設定する設定過程(ステップ1)と、
データパケット受信装置との間にN個のTCPコネクションを確立する第1のコネクション確立過程(ステップ2)と、
1番目のTCPコネクションからN番目のTCPコネクションまで、送信データの先頭からデータ量Sずつ、1回の書き込み処理終了から次のデータ書き込み処理開始までの時間Tだけ待機しながら、送信データバッファ内のデータを複数のTCPコネクションに対し、順次データ書き込み処理を行うデータ書き込み過程(ステップ3)と、
送信データバッファ内の送信データの末尾までデータ書き込み処理を繰り返す第1の繰り返し過程(ステップ4)と、
データパケット装置へのデータ送信完了後、N個のTCPコネクションを切断する第1のコネクション切断過程(ステップ5)と、
を有し、
データパケット受信装置では、
データパケット送信装置との間にN個のTCPコネクションを確立する第2のコネクション確立過程(ステップ6)と、
1番目のTCPコネクションからN番目のTCPコネクションまで、Sずつ順次データ読み込み処理を行うデータ読み込み過程(ステップ7)と、
全てのデータをデータパケット送信装置から受信するまでデータ読み込み処理を繰り返す第2の繰り返し過程(ステップ8)と、
データ受信完了後、N個のTCPコネクションを切断する第2のコネクション切断過程と、を有し、
データパケット送信装置において、データの伝送経路の往復遅延時間、回線速度、データ伝送路上の中継装置の数からなるネットワーク情報を収集し、
書き込み待機時間Tを一定とし、TCPコネクション数Nを第1の設定値N1としたときの最大スループットを与えるデータ書き込み処理1回あたりの書き込みデータ量S1と、TCPコネクション数Nを第2の設定値N2としたときの最大スループットを与えるデータ書き込み処理1回あたりの書き込みデータ量S2とからNとSとの1次式を求め、該1次式においてNを変化させた時の最大スループットを与えるSを求めることによって、
ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルにエントリ追加し、
エントリ追加された参照テーブルを参照することにより、N及びSを最適な値にそれぞれ設定する
また、本発明は、データパケット送信装置において、
データ書き込み処理中にネットワーク情報及びスループットの目標値が変化した際に、N、S、及びTの再設定を行う。
図2は、本発明の原理構成図である。
本発明は、データをTCPによりIPネットワークを通じてデータパケット送信装置とデータパケット受信装置の間で伝送するデータパケット伝送システムであって、
データパケット送信装置100は、
データパケット伝送に用いるTCPコネクション数を制御する第1のTCPコネクション数制御手段120と、
TCPコネクション数に基づいてデータパケット受信装置200とのTCPコネクションを確立及び切断する第1のTCPコネクション確立・切断手段150と、
データ蓄積メディア400に蓄積されている、もしくは、外部システム600から入力された送信データをバッファリングする送信データバッファ110と、
TCPコネクションへのデータ書き込み処理1回あたりの書き込みデータ量を制御する書き込みデータ量制御手段130と、
1回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間を制御する書き込み待機時間制御手段140と、
送信データバッファ110内のデータを複数のTCPコネクションに対し、順次データ書き込み処理と書き込み待機処理を行うデータ書き込み及び書き込み待機時間制御手段160と、
1つまたは複数のTCPコネクションを通してデータパケットをIPネットワークに送信するネットワーク出力手段170と、を有し、
データパケット受信装置200は、
データパケット伝送に用いるTCPコネクション数を制御する第2のTCPコネクション数制御手段220と、
第2のTCPコネクション数制御手段220により制御されたTCPコネクション数に基づいてデータパケット送信装置とのTCPコネクションを確立及び切断する第2のTCPコネクション確立・切断手段240と、
TCPコネクションを通してデータパケットをIPネットワーク300から受信するネットワーク入力手段260と、
TCPコネクションからデータ読み込み処理1回あたりの読み込みデータ量を制御する読み込みデータ量制御手段230と、
読み込みデータ量に基づいてデータを1つまたは複数のTCPコネクションから順次読み込みを行うデータ読み込み処理手段250と、
を有し、
データパケット送信装置100は、
データ伝送経路の往復遅延時間、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集するネットワーク情報収集手段と、
書き込み待機時間Tを一定とし、TCPコネクション数Nを第1の設定値N1としたときの最大スループットを与えるデータ書き込み処理1回あたりの書き込みデータ量S1と、TCPコネクション数Nを第2の設定値N2としたときの最大スループットを与えるデータ書き込み処理1回あたりの書き込みデータ量S2とからNとSとの1次式を求め、該1次式においてNを変化させた時の最大スループットを与えるSを求める手段と、
ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルにエントリ追加する手段と、
を更に有し、
第1のTCPコネクション数制御手段120は、エントリ追加された参照テーブルからTCPコネクション数を取得し、
書き込みデータ量制御手段130は、エントリ追加された参照テーブルから書き込みデータ量を取得し、
書き込み待機時間制御手段140は、エントリ追加された参照テーブルから書き込み待機時間を取得する
また、本発明のデータパケット送信装置100は、
データ伝送経路の往復遅延時間、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集するネットワーク情報収集手段と、
ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルと、を更に有し、
第1のTCPコネクション数制御手段120は、参照テーブルからTCPコネクション数を取得し、
書き込みデータ量制御手段130は、参照テーブルから書き込みデータ量を取得し、
書き込み待機時間制御手段140は、参照テーブルから書き込み待機時間を取得する。
上記のように、本発明は、データ送信側とデータ受信側の間にN個のTCPコネクションを確立し、目的のデータを先頭からデータ量SずつN個のTCPコネクションに順次書き込んで送信していき、また、この際に書き込みと書き込みの間に時間Tの待機時間を挟むことを特徴としており、さらに、N,T,Sの設定値によって、データ伝送のスループットが変化することを特徴としている。
また、本発明は、データ伝送経路の往復遅延時間(RTT)、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集するネットワーク情報収集手段と、ネットワーク情報に対してデータ伝送のスループットを目標値に到達させるための最適なN,T,Sの値を保持する参照テーブルとを有し、N,T,Sの値を最適パラメータ参照テーブルより得られた値にそれぞれ設定することを特徴としている。
上記のように、本発明によれば、複数のTCPコネクションを用いたデータ伝送のスループットは、TCPコネクション数Nと、あるTCPコネクションにデータを書き込んでから別のTCPコネクションに書き込みを開始するまでの書き込み待機時間Tと、一回の書き込みあたりの書き込みデータ量Sと、によって変化するため、これら3つのパラメータを最適な値に設定することで、データ伝送のスループットを任意に変化させることができ、また、RTTの長い回線におけるデータ伝送において、従来の技術ではできなかった高いスループットを実現することが可能となる。
また、本発明によれば、N,T,Sの設定時に最適パラメータ参照テーブルを参照して各パラメータの設定値を求めることで、目標とするスループットでのデータ伝送を開始するためにかかるコストを抑えることができる。
また、本発明におけるTCPコネクションの確立・切断と、データ書き込み処理及び書き込み待機処理は、一般的なオペレーティングシステム上におけるアプリケーションとしての実行が可能であるため、オペレーティングシステムに改変を加えることなく、従来の技術ではできなかった高いスループットを実現することが可能となる。
以下、図面と共に本発明の実施の形態を説明する。
[第1の実施の形態]
図3は、本発明の第1の実施の形態におけるシステム構成図である。
同図に示すデータパケット伝送システムは、データパケット送信装置100、データパケット受信装置200、IPネットワーク300、データ蓄積メディア400、ネットワーク入力IF(インタフェース)500、外部システム600、ネットワーク出力IF700から構成される。
データパケット送信装置100は、送信データバッファ110、TCPコネクション数制御部120、書き込みデータ量制御部130、書き込み待機時間制御部140、TCPコネクション確立・切断部150、データ書き込み及び書き込み待機処理部160、ネットワーク出力IF170から構成される。送信する目的のデータはデータ蓄積メディア400やネットワーク入力IF500を通して外部システム600から送信データバッファ110に一時的に格納される。
送信データバッファ110は、データ蓄積メディア400に蓄積されている、もしくは外部システム600から入力された送信データをバッファリングする。
TCPコネクション数制御部120は、データパケット伝送に用いるTCPコネクション数を制御する。
書き込みデータ量制御部130は、TCPコネクションへのデータ書き込み処理1回あたりの書き込みデータ量を制御する。
書き込み待機時間制御部140は、1回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間を制御する。
TCPコネクション確立・切断部150は、TCPコネクション数に基づいてデータパケット受信装置200とのTCPコネクションを確立及び切断する。
データ書き込み及び書き込み待機処理部160は、書き込みデータ量及び書き込み待機時間に基づいて、送信データバッファ内のデータを複数のTCPコネクションに対し、順次データ書き込み処理と書き込み待機処理を行う。
ネットワーク出力IF170は、1つまたは複数のTCPコネクションを通してデータパケットをIPネットワークに送信する。
データパケット受信装置200は、受信データ格納部210、TCPコネクション数制御部220、読み込みデータ量制御部230、TCPコネクション確立・切断部240、データ読み込み処理部250、ネットワーク入力IF260から構成される。
受信データ格納部210は、IPネットワーク300を介して取得したデータを格納する。
TCPコネクション数制御部220は、データパケット伝送に用いるTCPコネクション数を制御する。
読み込みデータ量制御部230は、TCPコネクションからのデータ読み込み処理1回あたりの読み込みデータ量を制御する。
TCPコネクション確立・切断部240は、TCPコネクション数制御部220により制御されたTCPコネクション数に基づいてデータパケット送信装置100とのTCPコネクションを確立及び切断する。
データ読み込み処理部250は、読み込みデータ量制御部230により制御された読み込みデータ量に基づいてデータを1つまたは、複数のTCPコネクションから順次読み込み、受信データ格納部210に格納する。
ネットワーク入力IF260は、TCPコネクションを介してデータパケットをIPネットワーク300から受信する。
データパケット送信装置100とデータパケット受信装置200は、IPネットワーク300で接続され、データパケット送信装置100のネットワーク出力IF170とデータパケット受信装置200のネットワーク入力IF260間には、1つまたは複数のTCPコネクションが確立される。
図4は、本発明の第1の実施の形態におけるデータパケット送信装置とデータパケット受信装置の動作のフローチャートである。
最初に、データパケット送信装置100の動作について説明する。
第1の過程では、データパケット送信装置100のTCPコネクション数制御部120において、TCPコネクション数N、書き込みデータ量制御部130において書き込みデータ量S、書き込み待機時間制御部140において書き込み待機時間Tを任意の値に設定する(ステップ101)。
第2の過程では、TCPコネクション確立・切断部150が、データパケット受信装置200との間にN個のTCPコネクションを確立する(ステップ102)。
第3の過程では、データ書き込み及び書き込み待機処理部160において、データポインタPを送信データバッファ110内のデータ開始アドレスに初期化し(ステップ103)、カウンタIを1に初期化して(ステップ104)、PからP+SまでのサイズSのデータをI番目のTCPコネクションへ書き込み(ステップ105)、PをSずつ、Iを1ずつ増加させて書き込みを繰り返す(ステップ106,107)。Iの値はNを越えたら1に戻す(ステップ109、Yes)。書き込みと書き込みの間は時間Tだけ待機する(ステップ108)。以上の処理をPが送信データバッファ110内のデータ終了アドレスに到達するまで繰り返す(ステップ107)。なお、TCPコネクションに書き込まれたデータは、ネットワーク出力IF170を通してIPネットワーク300上へ出力され、データパケット受信装置200へ到達する。
以下、図5を参照して、第3の過程の詳細を説明する。
一般的なコンピュータのOS(オペレーティングシステム)で利用できるTCPプロトコルスタックは、アプリケーションソフトウェアがTCP/IPを扱うためにソケットという仮想的なインタフェースを提供し、1つのTCPコネクションに対し1つのソケットを割り当てる。アプリケーションソフトウェアはソケット書き込みのためのシステムコールを呼び出し、ソケットにデータを書き込むことで、そのソケットと対応するTCPコネクションを通してデータを送信することができる。各ソケットはソケットバッファ161と呼ばれるバッファ領域をもっており、ネットワーク出力IF170は、このソケットバッファ161内のデータをIPネットワーク300へパケット送信する。
第3の過程において、ソケット書き込みシステムコール162を呼び出し、N個のTCPコネクションに対し、時間Tの待機時間を挟みながらサイズSのデータの書き込み処理を行うと、ソケットバッファ161内のデータは、図5に示すように配置される。実際にIPネットワーク300へ送信されるデータパケットの大きさや送信間隔等は、ネットワーク出力IF170の仕様により異なる。
次に、第4の過程では、データ書き込み及び書き込み待機処理部160が、データパケット受信装置200へデータ送信が完了したことを通知する(ステップ110)。
第5の過程では、N個のTCPコネクションを切断し終了する(ステップ111)。
次に、データパケット受信装置200の動作について説明する。
第1の過程では、TCPコネクション数制御部220においてTCPコネクション数N、読み込みデータ量制御部230において読み込みデータ量S、を任意の値に設定する(ステップ201)。但し、データパケット送信装置100とデータパケット受信装置200におけるNの値は同一でなければならない。Sの値に関しては必ずしも同一でなくとも良いが、その場合は、別途受信データ格納部210において受信データの再構築が必要となる。
第2の過程では、TCPコネクション確立・切断部240が、データパケット送信装置100との間にN個のTCPコネクションを確立する(ステップ202)。
第3の過程では、データ読み込み処理部250において、カウンタIを1に初期化して(ステップ203)、I番目のTCPコネクションからサイズSのデータを読み込み(ステップ204)、Iを1ずつ増加させて読み込みを繰り返す(ステップ205)。Iの値はNを越えたら1に戻す(ステップ207、Yes)。以上の処理をデータパケット送信装置100におけるデータ送信が完了するまで繰り返す(ステップ206)。
読み込まれたデータは、順次受信データ格納部210に格納されるか、直接もしくは一度受信データ格納部210を介してネットワーク出力IF700に書き込まれ、装置外部へ出力される。なお、データパケット受信装置200におけるデータ信は、データパケット送信装置100よりデータ送信完了の通知を受け取ったときか、もしくは予め送信データの全データ量を得ておき、受信したデータ量が送信データの全データ量に達したときか、あるいは、TCPコネクションが何らかの要因により切断されたときに完了したと見做す。
第4の過程では、N個のTCPコネクションを切断し、終了する(ステップ208)。
[第2の実施の形態]
図6は、本発明の第2の実施の形態におけるシステム構成を示す。同図において、図3と同一構成部分には同一符号を付し、その説明を省略する。
データパケット送信装置100には、図3の構成に、最適パラメータ参照テーブル180、エントリ追加処理部185とネットワーク情報(RTT,回線速度等)収集部190が付加された構成である。
ネットワーク情報収集部190は、ネットワーク出力IF170を介して、データ伝送経路の往復遅延時間、回線速度、データ伝送路上の中継装置の数からなるネットワーク情報を収集し、エントリ追加処理部185に転送する。
エントリ追加処理部185は、最適パラメータ参照テーブル180にネットワーク情報収集部190から渡されたネットワーク情報を用いてエントリを追加する。
最適パラメータ参照テーブル180は、ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられたテーブルであり、TCPコネクション数制御部120、書き込みデータ量制御部130、書き込み待機時間制御部140から参照される。
図7は、本発明の第2の実施の形態におけるデータパケット送信装置及びデータパケット受信装置の動作のフローチャートである。
第1の過程では、ネットワーク情報収集部190において、データパケット送信装置100とデータパケット受信装置200間の往復遅延時間(RTT)、回線速度、回線上の中継装置の数からなるネットワーク情報を収集する(ステップ301)。例えば、自動的にICMP(Internet Control Message Protocol)パケットを、ネットワーク出力IF170を通してデータパケット受信装置200に送出し、応答パケットが返ってくるまでの時間を計測してRTTを得たり、応答パケットのヘッダ中のTTL(Time To Live)の値から回線上の中継装置の数を得たり、テスト計測用のTCPストリームデータを生成してデータパケット受信装置200へ送信し、時間当たりの送信データ量を計測して回線速度を得ることができる。同ネットワーク情報は自動収集によらず、予め手動での実測等により得ておいてもよい。
第2の過程では、ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた最適パラメータ参照テーブル180を参照し、第1の過程で得られたネットワーク情報に対応した最適な各パラメータを得る(ステップ302)。同ネットワーク情報に対応した最適パラメータがパラメータ参照テーブル180内に存在しない場合は、近傍のネットワーク情報に対する最適パラメータで代用するか、ここで、最適パラメータ参照テーブル180のエントリ追加処理を行ってもよい。
エントリ追加処理部185による、最適パラメータ参照テーブル180へのエントリの追加処理は、例えば、以下のように実行する。
前述の第1の実施の形態におけるデータパケット送信装置100での第3の過程のように、N個のTCPコネクションにサイズSずつ、待機時間Tを挟みながらデータ書き込み処理を行なう方法で、データパケット送信装置100からデータパケット受信装置200にスループット計測用データを送信し、スループットを計測していく。このとき、
(1)まず、TCPコネクション数Nと書き込み待機時間Tを一定の値N1,T1に設定し、書き込みデータ量Sを段階的に増加させながら計測していく。Sの増加に伴いスループットが増加していくが、ある時点で輻輳の発生等によるスループットの低下が起こる。ここで、N1,T1においてスループットが最大となった書き込みデータ量をS1として得る。
(2)次に、T1を一定のままTCPコネクション数を変化させN2とし、同様にスループットの計測を行い、N2,T1においてスループットが最大となった書き込みデータ量をS2として得る。一定の書き込み待機時間において、N個のTCPコネクションを用いた伝送に対して輻輳の発生等によるスループットの低下が起きない、即ち、最大のスループットを得ることができるSはNに比例し、
S=αN+β (式2)
という式で表せる関係にあり、N1,S1及びN2,S2の値によりαとβの値を求める。
(3)次に、T1を一定のままN(またはS)を増加させ、S(またはN)を上記の式2に従い変化させながら計測していき、最大のスループットが得られたNをN3,SをS3とすると、N3,T1,S3がネットワーク情報における最大のスループットを得るための最適パラメータとして、最適パラメータ参照テーブル180にエントリを追加できる。
また、N3,S3より小さいN,Sに対するスループットの計測結果は、ネットワーク情報における各スループットの目標値に対する最適パラメータとして最適パラメータ参照テーブル180にエントリを追加できる。
第3の過程では、第2の過程により設定された最適パラメータ参照テーブル180より、TCPコネクション数制御部120では、TCPコネクション数N、書き込みデータ量制御部130では、書き込みデータ量S,書き込み待機時間制御部140において書き込み待機時間Tを取得し、それぞれ設定する(ステップ303)。
第4の過程は、第1の実施の形態におけるデータパケット送信装置100の第2の過程と同様である(ステップ304)。
第5の過程は、第1の実施の形態におけるデータパケット送信装置100の第3の過程と同様である(ステップ305〜ステップ312)。但し、データ書き込み処理及び書き込み処理待機の間にネットワーク情報及びスループットの目標値が変化した場合(ステップ309,Yes)は、データ送信を中断せずに第2〜第4の過程を再度行なっても良い(ステップ310,320)。
第6の過程は、第1の実施の形態におけるデータパケット送信装置100の第4の過程と同様である(ステップ313)。
第7の過程は、第1の実施の形態におけるデータパケット送信装置100の第5の過程と同様である(ステップ314)。
次に、データパケット受信装置200の動作を説明する。
第1の過程では、データパケット送信装置100における第2の過程で得られた最適なTCPコネクション数と最適な書き込みデータ量をデータパケット送信装置100より自動もしくは手動で取得する(ステップ401)。
第2の過程では、TCPコネクション数制御部220においてTCPコネクション数Nを第1の過程で得られた最適なTCPコネクション数に、読み込みデータ量制御部230において読み込みデータ量Sを第1の過程で得られた最適な書き込みデータ量に設定する(ステップ402)。Sの値に関しては異なる任意の値でもよいが、その場合は別途受信データ格納部210において受信データの再構築が必要となる。
第3の過程では、第1の実施の形態におけるデータパケット受信装置200の第2の過程と同様である(ステップ403)。
第4の過程は、第1の実施の形態におけるデータパケット受信装置200の第3の過程と同様である(ステップ404〜410)。ただし、データ読み込み処理の間にネットワーク情報の変化などによりデータパケット送信装置200におけるNまたはSの再設定があった場合は(ステップ407,Yes)、データ受信を中断せずに第1〜第3の過程を再度行なう(ステップ408,409)
第5の過程は、第1の実施の形態におけるデータパケット受信装置200の第4の過程と同様である(ステップ410)。
次に、本発明を用いた実験結果について図面を参照して説明する。
図8は、本発明を用いた実験時のシステム構成図である。同図に示すように、2台のコンピュータを用い、本発明の第2の実施の形態を実施した。装置間に往復遅延発生装置を挟み、RTTが60ミリ秒で回線速度が1Gbit/秒であるネットワークを擬似的に構築した。
まず、従来の技術である、書き込み待機処理等を行わない単純な複数TCPコネクションを用いての伝送を行い、データ伝送のスループットを計測したところ、TCPコネクション数32で約100Mbit/秒となり、それ以上TCPコネクション数を増加させても効果は見られなかった。
次に、データパケット送信装置において、TCPコネクション数N1を48、書き込み待機時間T1を6μ秒とし、書き込みデータ量Sを200バイトから800バイトまで20バイトずつ増加させてデータ伝送のスループットを計測した。図9に示すように、S=340バイトにおいてスループットが急激に減少しており、320バイトがスループット最大となる書き込みデータ量となったため、S1=320バイトとなる。
次に、N2=64とし、同様にSを20バイトずつ増加させてデータ伝送のスループットを計測した。図10に示すように、S=500バイトにおいてスループットが急激に減少しており、S2=480バイトとなる。
この結果により、T1=6μ秒においてN個のTCPコネクションを用いた伝送に対する最大のスループットを得るためのSとNの関係式S=10N−160が求められる。
次に、Nの値と、上記の関係式に従いSの値を増加させながらデータ伝送のスループットを計測した。その結果、図11に示すように、N=87においてスループットが急激に減少しており、その後は、スループットが非常に不安定な結果となった。ここで、N=86(S=700バイト)が閾値となり、以後、輻輳等のスループット低下をもたらす現象が非常に起こり易くなっていると考えられるため、この伝送条件における最も高いスループットを得るための最適パラメータをT=6μ秒、N86,S=700バイトとして最適パラメータ参照テーブル180にエントリを追加した。
この最適パラメータを用いてデータ伝送を行い、約550Mbit/秒のスループットを安定的に得ることができた。
以上のように、本発明は、RTTの長い回線におけるデータ伝送において、従来の技術ではできなかった高いスループットを実現することが可能であり、また、目標とするスループットでのデータ伝送を開始するためにかかるコストを抑えることが可能である。
また、本発明は、既存のオペレーティングシステムを利用して実施した場合に、オペレーティングシステムに改変を加えることなく、その上で動作するアプリケーションとして実施が可能である。
本発明は、上記の第1の実施の形態及び第2の実施の形態におけるパケットデータ送信装置及びパケットデータ受信装置の動作をプログラムとして構築し、送信装置及び受信装置として利用されるコンピュータにインストールしてCPU等の制御手段に実行させる、または、ネットワークを介して流通させることが可能である。
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
本発明は、データをTCPによりIPネットワークを介して伝送するシステムに適用可能である。
本発明の原理を説明するための図である。 本発明の原理構成図である。 本発明の第1の実施の形態におけるシステム構成図である。 本発明の第1の実施の形態におけるデータパケット送信装置とデータパケット受信装置の動作のフローチャートである。 本発明の第1の実施の形態における第3の過程を説明するための図である。 本発明の第2の実施の形態におけるシステム構成図である。 本発明の第2の実施の形態におけるデータパケット送信装置とデータパケット受信装置の動作のフローチャートである。 本発明を実施して実験を行なった際の実験環境を示す図である。 実験により得られた大気時間6μ秒における書き込みデータ量Sに対するスループットを示す図(その1)である。 実験により得られた大気時間6μ秒における書き込みデータ量Sに対するスループットを示す図(その2)である。 実験により得られたNとSの関係式に従って増加させたときの待機時間6μ秒におけるスループットを示す図である。
符号の説明
100 データパケット送信装置
110 送信データバッファ
120 TCPコネクション数制御手段、TCPコネクション数制御部
130 書き込みデータ量制御手段、書き込みデータ量制御部
140 書き込み待機時間制御手段、書き込み待機時間制御部
150 TCPコネクション確立・切断手段、TCPコネクション確率・切断部
160 データ書き込み及び書き込み待機処理手段、データ書き込み及び書き込み待機処理部
161 ソケットバッファ
162 ソケット書き込みシステムコール
170 ネットワーク出力手段、ネットワーク出力IF(インタフェース)
180 最適パラメータ参照テーブル
185 エントリ追加処理部
190 ネットワーク情報収集部
200 データパケット受信装置
210 受信データ格納手段、受信データ格納部
220 TCPコネクション数制御手段、TCPコネクション数制御部
230 読み込みデータ量制御手段、読み込みデータ量制御部
240 TCPコネクション確立・切断手段、TCPコネクション確率・切断部
250 データ読み込み処理手段、データ読み込み処理部
260 ネットワーク入力手段、ネットワーク入力IF(インタフェース)
300 IPネットワーク
400 データ蓄積メディア
500 ネットワーク入力IF(インタフェース)
600 外部システム
700 ネットワーク出力IF(インタフェース)

Claims (3)

  1. データをTCP(Transport Control Protocol)によりIPネットワークを通じてデータ伝送するデータパケット伝送方法において、
    データパケット送信装置では、
    データパケット伝送に用いるTCPコネクション数Nと、TCPコネクションへのデータ書き込み処理1回あたりの書き込みデータ量Sと、
    1回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間Tを任意の値に設定する設定過程と、
    データパケット受信装置との間にN個のTCPコネクションを確立する第1のコネクション確立過程と、
    1番目のTCPコネクションからN番目のTCPコネクションまで、送信データの先頭から前記データ量Sずつ、1回の書き込み処理終了から次のデータ書き込み処理開始までの時間Tだけ待機しながら、送信データバッファ内のデータを複数のTCPコネクションに対し、順次データ書き込み処理を行うデータ書き込み過程と、
    前記送信データバッファ内の送信データの末尾まで前記データ書き込み処理を繰り返す第1の繰り返し過程と、
    前記データパケット装置へのデータ送信完了後、N個のTCPコネクションを切断する第1のコネクション切断過程と、
    を有し、
    前記データパケット受信装置では、
    前記データパケット送信装置との間にN個のTCPコネクションを確立する第2のコネクション確立過程と、
    1番目のTCPコネクションからN番目のTCPコネクションまで、Sずつ順次データ読み込み処理を行うデータ読み込み過程と、
    全てのデータを前記データパケット送信装置から受信するまで前記データ読み込み処理を繰り返す第2の繰り返し過程と、
    データ受信完了後、N個のTCPコネクションを切断する第2のコネクション切断過程と、を有し、
    前記データパケット送信装置において、データの伝送経路の往復遅延時間、回線速度、データ伝送路上の中継装置の数からなるネットワーク情報を収集し、
    前記書き込み待機時間Tを一定とし、前記TCPコネクション数Nを第1の設定値N1としたときの最大スループットを与えるデータ書き込み処理1回あたりの書き込みデータ量S1と、前記TCPコネクション数Nを第2の設定値N2としたときの最大スループットを与えるデータ書き込み処理1回あたりの書き込みデータ量S2とから前記Nと前記Sとの1次式を求め、該1次式において前記Nを変化させた時の最大スループットを与えるSを求めることによって、
    前記ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルにエントリ追加し、
    前記エントリ追加された参照テーブルを参照することにより、前記N及び前記Sを最適な値にそれぞれ設定することを特徴とするデータパケット伝送方法。
  2. 前記データパケット送信装置において、データ書き込み処理中に前記ネットワーク情報及びスループットの目標値が変化した際に、前記N、前記S、及び前記Tの再設定を行う請求項1記載のデータパケット伝送方法。
  3. データをTCPによりIPネットワークを通じてデータパケット送信装置とデータパケット受信装置の間で伝送するデータパケット伝送システムであって、
    データパケット送信装置は、
    データパケット伝送に用いるTCPコネクション数を制御する第1のTCPコネクション数制御手段と、
    前記TCPコネクション数に基づいて前記データパケット受信装置とのTCPコネクションを確立及び切断する第1のTCPコネクション確立・切断手段と、
    データ蓄積メディアに蓄積されている、もしくは、外部システムから入力された送信データをバッファリングする送信データバッファと、
    TCPコネクションへのデータ書き込み処理1回あたりの書き込みデータ量を制御する書き込みデータ量制御手段と、
    1回のデータ書き込み処理終了から次のデータ書き込み処理開始までの書き込み待機時間を制御する書き込み待機時間制御手段と、
    前記送信データバッファ内のデータを複数のTCPコネクションに対し、順次データ書き込み処理と書き込み待機処理を行うデータ書き込み及び書き込み待機時間制御手段と、
    1つまたは複数のTCPコネクションを通してデータパケットをIPネットワークに送信するネットワーク出力手段と、
    を有し、
    前記データパケット受信装置は、
    データパケット伝送に用いるTCPコネクション数を制御する第2のTCPコネクション数制御手段と、
    前記第2のTCPコネクション数制御手段により制御された前記TCPコネクション数に基づいて前記データパケット送信装置とのTCPコネクションを確立及び切断する第2のTCPコネクション確立・切断手段と、
    前記TCPコネクションを通してデータパケットをIPネットワークから受信するネットワーク入力手段と、
    TCPコネクションからデータ読み込み処理1回あたりの読み込みデータ量を制御する読み込みデータ量制御手段と、
    前記読み込みデータ量に基づいてデータを1つまたは複数のTCPコネクションから順次読み込みを行うデータ読み込み処理手段と、
    を有し、
    前記データパケット送信装置は、
    データ伝送経路の往復遅延時間、回線速度、データ伝送経路上の中継装置の数からなるネットワーク情報を収集するネットワーク情報収集手段と、
    前記書き込み待機時間Tを一定とし、前記TCPコネクション数Nを第1の設定値N1としたときの最大スループットを与えるデータ書き込み処理1回あたりの書き込みデータ量S1と、前記TCPコネクション数Nを第2の設定値N2としたときの最大スループットを与えるデータ書き込み処理1回あたりの書き込みデータ量S2とから前記Nと前記Sとの1次式を求め、該1次式において前記Nを変化させた時の最大スループットを与えるSを求める手段と、
    前記ネットワーク情報とデータ伝送のスループットを目標値に到達させるための最適なTCPコネクション数、書き込みデータ量、書き込み待機時間の値とが対応付けられた参照テーブルにエントリ追加する手段と、
    を更に有し、
    前記第1のTCPコネクション数制御手段は、前記エントリ追加された参照テーブルから前記TCPコネクション数を取得し、
    前記書き込みデータ量制御手段は、前記エントリ追加された参照テーブルから前記書き込みデータ量を取得し、
    前記書き込み待機時間制御手段は、前記エントリ追加された参照テーブルから前記書き込み待機時間を取得することを特徴とするデータパケット伝送システム。
JP2004229077A 2004-08-05 2004-08-05 データパケット伝送方法及びシステム Active JP4281649B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004229077A JP4281649B2 (ja) 2004-08-05 2004-08-05 データパケット伝送方法及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004229077A JP4281649B2 (ja) 2004-08-05 2004-08-05 データパケット伝送方法及びシステム

Publications (2)

Publication Number Publication Date
JP2006050295A JP2006050295A (ja) 2006-02-16
JP4281649B2 true JP4281649B2 (ja) 2009-06-17

Family

ID=36028324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004229077A Active JP4281649B2 (ja) 2004-08-05 2004-08-05 データパケット伝送方法及びシステム

Country Status (1)

Country Link
JP (1) JP4281649B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200076A (ja) * 2006-01-27 2007-08-09 Toshiba Corp データ送受信システム、データ送信装置、データ送受信方法、及びプログラム
JP4714074B2 (ja) * 2006-05-02 2011-06-29 日本放送協会 伝送装置、送信装置及び受信装置
EP2466808B1 (en) * 2009-08-12 2018-02-14 Mitsubishi Electric Corporation Data transfer device, data transfer method, and data transfer system
JP5498441B2 (ja) * 2011-06-13 2014-05-21 日本電信電話株式会社 ネットワークファイル供給システム、ネットワークファイル供給方法、およびネットワークファイル供給プログラム
JP5758723B2 (ja) * 2011-07-04 2015-08-05 株式会社日立国際電気 画像転送装置
JP5695537B2 (ja) * 2011-09-30 2015-04-08 株式会社東芝 サーバ、サーバ制御方法、サーバ制御プログラム
JP5996691B2 (ja) 2015-02-19 2016-09-21 株式会社シミュラティオ ファイル転送方法及びファイル転送プログラム
CN114697293B (zh) * 2022-03-30 2023-11-10 西安北方华创微电子装备有限公司 一种数据传输方法、下位机和控制器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3711156B2 (ja) * 1995-05-11 2005-10-26 Kddi株式会社 ファイル転送方法
JPH11242640A (ja) * 1998-02-25 1999-09-07 Kdd Corp ファイル転送方法
JP2002094595A (ja) * 2000-09-18 2002-03-29 Nippon Telegr & Teleph Corp <Ntt> マルチリンク方法

Also Published As

Publication number Publication date
JP2006050295A (ja) 2006-02-16

Similar Documents

Publication Publication Date Title
JP5020076B2 (ja) 低頻度ackのシステムに適した高性能tcp
US7477675B2 (en) Data communication apparatus
JP5544430B2 (ja) 通信装置および通信システム
US8630203B2 (en) Data transmission method and apparatus
US7133361B2 (en) Method and system for improvement of network performance over asymmetic links
US8306062B1 (en) Method and apparatus of adaptive large receive offload
EP1889421B1 (en) Multi-stream acknowledgement scheduling
US8509080B2 (en) Network traffic accelerator
US20210067453A1 (en) Data transmission method and apparatus
JP6051832B2 (ja) 通信装置,通信方法,及び通信プログラム
JP4281649B2 (ja) データパケット伝送方法及びシステム
JP2006262417A (ja) 通信速度制御方法及びその装置
CN108432287A (zh) 一种数据传输方法及网络侧设备
Man et al. ImTCP: TCP with an inline measurement mechanism for available bandwidth
JP2007013449A (ja) シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置
US8351330B2 (en) System and method for traffic prioritization
KR100880707B1 (ko) 기지국 프로세서에서의 무선 채널 할당
WO2021192294A1 (ja) 光伝送装置、光通信システム、及び光通信方法
Abdelsalam et al. Evaluation of TCP wave performance applied to real HTTP traffic
Liao The behavior of TCP over DOCSIS-based CATV networks
JPWO2020012973A1 (ja) 通信制御装置、方法、及びプログラム
JP2007189383A (ja) Tcp/ip通信中継方法及びtcp/ip通信中継装置
WO2023119511A1 (ja) 通信装置、通信システム、及び通信方法
US20190289491A1 (en) Communication device and communication method
JP2005244517A (ja) データ転送制御装置、データ転送制御方法及びデータ転送制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080722

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080919

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4281649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350