JP4433202B2 - トランスポート層中継方法及びトランスポート層中継装置並びにプログラム - Google Patents
トランスポート層中継方法及びトランスポート層中継装置並びにプログラム Download PDFInfo
- Publication number
- JP4433202B2 JP4433202B2 JP2005511521A JP2005511521A JP4433202B2 JP 4433202 B2 JP4433202 B2 JP 4433202B2 JP 2005511521 A JP2005511521 A JP 2005511521A JP 2005511521 A JP2005511521 A JP 2005511521A JP 4433202 B2 JP4433202 B2 JP 4433202B2
- Authority
- JP
- Japan
- Prior art keywords
- transport layer
- relay
- connection
- transmission rate
- unit
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 199
- 230000005540 biological transmission Effects 0.000 claims description 608
- 238000004458 analytical method Methods 0.000 claims description 106
- 238000005259 measurement Methods 0.000 claims description 49
- 238000012546 transfer Methods 0.000 claims description 41
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000009616 inductively coupled plasma Methods 0.000 description 62
- 235000010384 tocopherol Nutrition 0.000 description 62
- 235000019731 tricalcium phosphate Nutrition 0.000 description 62
- 230000000694 effects Effects 0.000 description 45
- 238000004891 communication Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 29
- 238000012217 deletion Methods 0.000 description 16
- 230000037430 deletion Effects 0.000 description 16
- 238000007796 conventional method Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 239000004065 semiconductor Substances 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 102100039856 Histone H1.1 Human genes 0.000 description 6
- 101001035402 Homo sapiens Histone H1.1 Proteins 0.000 description 6
- 239000012634 fragment Substances 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012913 prioritisation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 108010025037 T140 peptide Proteins 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
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
-
- 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/40—Flow control; Congestion control using split connections
-
- 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/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
- H04L47/431—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR] using padding or de-padding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
〔本発明の第1の実施の形態の構成の説明〕
次に本発明の第1の実施の形態の構成について図面を参照して詳細に説明する。
中継制御部1001は、端末のトランスポート層のコネクション終端部からのコネクション開設要求、あるいは、他のトランスポート層中継装置の装置間コネクション終端部からの中継要求を受け取り、中継部1002−1〜1002−nの中で、現在使われていない、中継部を割り当てて、トランスポート層コネクションの中継処理を行わせる。端末からのコネクション開設要求は、コネクション開設の要求元端末のIPアドレスとポート番号、コネクション開設要求先端末のIPアドレスとポート番号、および、コネクションに使うトランスポートプロトコルの識別子、の5つの情報の組(これをコネクション識別子と呼ぶ)を含む。また、中継要求には、コネクション識別子と共に、トランスポート層中継装置の装置間のコネクション(これを中継コネクションと呼ぶ)を開設するのに必要な情報を含む。
内部に端末側コネクション終端部、アプリケーション情報解析部、装置間コネクション終端部を含む。中継制御部1001から、(1)端末のトランスポート層のコネクション終端部からのコネクション開設要求、あるいは、(2)別のトランスポート層中継装置の装置間コネクション終端部からの中継要求を受け、中継のためのトランスポート層コネクションを、端末、および、他のトランスポート層中継装置との間にそれぞれ開設する。以下、(1)、(2)を受け取った場合、それぞれについて動作を説明する。
トランスポート層コネクションを張った端末との通信に用いる送受信バッファを持ち、トランスポート層コネクションの終端処理を行う。このトランスポート層コネクションの終端処理は、使われるトランスポート層プロトコルに従うものとするが、少なくとも、トランスポート層コネクションの開設、維持、終了の機能、および、フロー制御、輻輳制御機能を持っているものとする。中継部の指示に従い、端末とのコネクション開設・切断を行う。また、端末からコネクション切断要求があれば、コネクション切断後、中継部へコネクション切断通知を送る。
端末側コネクション終端部と、装置間コネクション終端部との間で、トランスポート層のデータの転送を行う。すなわち、端末側コネクション終端部の受信バッファからトランスポート層データを読み出し、装置間コネクション終端部の送信バッファへと書き込む。
端末側コネクション終端部と同様に、トランスポート層コネクションを張った相手との通信に用いる送受信バッファを持ち、トランスポート層コネクションの終端処理を行う。
現在中継中のコネクションの総送信レートをR_totalとし、これを分割して各中継コネクションに割り当てる。総送信レートR_totalの決め方としては、現在中継中のコネクション数、各アプリケーション情報解析部からのアプリケーション情報、各装置間コネクション終端部からのコネクション毎輻輳情報に依存して決定しても良く、例えば次のような方法がある。
所望の実効レートR_targetに対して、あらかじめ決められた倍率値α(α>1)を用いて、設定値をR_total=α・R_targetとする。ここで、α>1としたのは、パケットロスがあっても所望の実行レートR_targetでパケットを送信できるようにするためである。
所望の実効レートR_targetが現在中継中のコネクション数に見合ったものになるように、R_totalを現在中継中のコネクション数に依存して決める。1コネクション当たりR_oのレートを割り当てると決めておき、中継制御部1001によって登録されている現在のコネクション数mを元に、R_total=α*R_o*mと決定する。αは、あらかじめ決められた倍率値α(α>1)である。
所望の実効レートR_targetが得られるように、各装置間コネクション終端部からのコネクション毎輻輳情報を利用してR_totalを決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻tに現在m本のコネクションを中継しているとし、時刻t−Tから時刻tの間に、各中継コネクションがCi(i=1,…,m)個のパケットを送り、Li(i=1,…,m)回のパケットロスを検知し、各中継コネクションの平均パケットサイズがDi(i=1,…,m)であったとする。時刻t−Tから時刻tの間に、
R_total=R_target/(1−P)とする。ただし、極端な輻輳を避けるため、あるデータロス率の閾値P_0に対して、P>P_0の場合には、R_total=R_target/(1−P_0)とする。
出来るだけ大きな実効レートが得られるように、R_totalを各装置間コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻tに現在m本のコネクションを中継しているとし、時刻t−Tから時刻tの間に、各中継コネクションがCi(i=1,…,m)個のパケットを送り、Li(i=1,…,m)回のパケットロスを検知し、各中継コネクションの平均パケットサイズがDi(i=1,…,m)であったとする。時刻t−Tから時刻tの間に、
現在中継しているアプリケーションに見合った所望の実効レートR_targetが得られるように、R_totalをアプリケーション情報解析部からの情報も利用して決める。例えば、ストリーミングコネクションのみを中継している時、アプリケーション情報解析部からストリーミングのレート情報を得て、それらの合計値をR_targetとし、送信レート決定方法C1に従ってR_totalを求める。
ボトルネックを共有する他のトラヒックに対する優先度付けをした、実効レートが得られるように、R_totalを、現在のコネクション数m、および、装置間コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、コネクション毎輻輳情報から得られる、中継コネクションが通るネットワークのパケットロス率p、RTTを使ってTCPの1本あたりの実効レートを推定し、そのα倍のレートをm倍してもよい。TCPの1本あたりの実効レートを推定方法としては、M.Handley,S.Floyd,J.Padhye,J.Widmer,″TCP Friendly Rate Control(TFRC):Protocol Specification,″Internet Society,RFC 3448,January 2003.の3.1節の″throughput equation″のXで与えられているような計算式でもよい。即ち、中継コネクション終端部からのコネクション毎輻輳情報を利用し、パケットロス発生率p(pの計算の際には、RTT以内のパケットロスも1つのロスイベントと考えて計算する)、RTTの指数平均値R、TCPのタイムアウト時間の推定値t_RTO(例えば、Rの2倍とする)、中継コネクションのあるネットワークのTCPのパケットサイズの平均値をs(バイト)(sは経験的に知られている値でも良い)、b=2として、
全コネクションに公平にレートを割り当てる。即ち、コネクションがm本あれば、R_total/mのレートを各コネクションに割り当てる。
コネクション識別子のポート番号情報に依存して、決められたルールに従って割り当てる。たとえば、ポート番号毎に優先度を付け、それの優先度に応じてレートを割り当てる。
アプリケーション情報解析部からの情報に依存して決定する。例えば、HTTPコネクションでデータ転送を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られた、HTTPのContent−typeフィールドの値に依存して優先度を付けた帯域割り当てを行う。別の例としては、HTTPでファイル取得を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られたHTTPのContent−lengthフィールドの情報に依存して、短いサイズのデータを転送しているコネクションにより高い帯域を割り当てる。また別の例として、Ns本のストリーミングタイプのアプリケーションのコネクションと、Nf体のHTTPを使ったファイル転送タイプのアプリケーションを中継している場合を考える。アプリケーション情報解析部から得られた、各ストリーミングのレートがRSi(i=1,…,Ns)とし、アプリケーション情報解析部から得られた、ファイル転送タイプのコネクションのファイルサイズをFLi(i=1,…,Nf)とする。ストリーミングタイプのコネクションについては、公平なレート(R_totalを現在のコネクション数Ns+Nfで割ったもの)より低いレートのものには、そのストリーミングのレートRSi(i=1,…,Ns0)を割り当てる。残ったレート
次に本発明の第1の実施の形態の動作について図面を参照して詳細に説明する。
発明の第1の実施の形態で得られる、発明の第1の効果は、複数の端末間のあるトランスポート層コネクション集合に対して、所望の実効レートを確保し、そのコネクション集合の中で、その実効レートを再分配することを、トランスポート層中継装置をネットワークN1およびネットワークN2に一つずつ配置すれば実現出来るため、第1の従来方法がネットワークN3内の多数のルータを、帯域制御可能なルータに置き換えるのと比べ、装置コスト、および、置き換える手間のコストを低くする事が出来ることである。これは、発明の手法が、中継コネクションのトラヒックと他のトラヒック(クロストラヒック)が同じボトルネックを共有している場合、クロストラヒックを運ぶトランスポート層プロトコル(たとえばTCP)が輻輳制御を行っていれば、中継コネクションの総送信レートに応じて、送信レートを調整する性質を利用し、総送信レートに応じたある実効レートを確保しているためである。また、総送信レートを、中継しているコネクションの中で分割して利用することで、中継しているあるコネクションの送信レートを下げても、そのレートをクロストラヒックに奪われる事なく、中継している別のコネクションの送信レートとして利用する事が可能となり、実効レートの再配分が可能となっている。
〔構成の説明〕
次に本発明の第2の実施の形態の構成について図面を参照して詳細に説明する。
ネットワーク状況推定部2004は、ネットワーク内に配置された、他の本発明の第2の実施の形態のトランスポート層中継装置E002のネットワーク状況推定部2004と接続し、計測トラヒックを流すことで、他の本発明の第2の実施の形態のトランスポート層中継装置E002との間のネットワークの状況、たとえば、パケットロス率、片道・往復遅延、ボトルネックの物理帯域や、ボトルネックの空き帯域を推定する。パケットロス率の推定は、例えば、送信側がシーケンス番号を付けた計測パケットを送信し、受信側で到着したパケットのシーケンス番号の抜けを見て、計算結果を送信側へフィードバックするようにすればよい。片道遅延については、例えば、トランスポート層中継装置の間で時刻同期を取っておき、送信側から時刻を書き込んだ計測パケットを送り、受信側で到着時間を見て、その差の時間を送信側へフィードバックするようにすればよい。往復の遅延は、例えば、計測パケットに対して、受信側が応答パケットを返すようにしておき、計測パケットの送信から応答までの時間を計ることで計測出来る。ボトルネックの物理帯域については、例えば、packet−pairと呼ばれる手法(S.Keshav,B.Landfeldt,A.Seneviratne,B.Melander,P.Gunningberg,″Packet−Pair Flow Control″,IEEE/ACM Transactions on Networking,Feb 1995)を使って求めることが出来る。これは、同じサイズLの計測パケットを連続して(時間間隔を開けずに)送信し、受信側で観測される計測パケットの到着間隔D(あるいは受信側が計測パケットに対して短い長さの応答パケットを返すようにしておき、その応答の到着間隔を送信側で計測してもよい)を観測し、計測パケットの送信側から受信側へのネットワークのボトルネックの物理帯域をL/Dによって求める方法である。ボトルネックの空き帯域については、例えばSLoPSと呼ばれる手法(M.Jain,C.Dovrolis,″End−to−End Available BandWidth:Measurement Methodology,Dynamics,and Relation with TCP Throughput,″Proc.of ACM SIGCOMM,Aug.2002.)を用いて計測する事が出来る。この方法は、100個程度の計測パケットを連続的にレートRで送ってみてその片方向遅延を見る(これは、送受信者の間で時刻同期などを取れば可能である)手法である。連続したパケットの片方向遅延が段々のびる様で有れば、Rは空き帯域よりも大きいと言え、のびなければ、Rは空き帯域よりも小さいと言える。この判定方法を使い、あるRから初めて、二分探査的に調べれば、空き帯域を知る事が出来る。
本発明の第1の装置間コネクション終端部と同じであるが、目標ウィンドウ値を決定する際に、装置間コネクション終端部が終端しているTCPコネクションが経由するボトルネックリンクの物理帯域Bの値としてを、ネットワーク状況推定部2004が推定した値を用いてもよい。
現在中継中のコネクションの総送信レートをR_totalとし、これを分割して、各中継コネクションに割り当てる。総送信レートR_totalの決め方としては、現在中継中のコネクション数、各装置間コネクション終端部からのコネクション毎輻輳情報、アプリケーション情報解析部からのアプリケーション情報、ネットワーク状況推定部2004からの情報に依存して決定しても良く、例えば次のような方法がある。
ネットワーク状況推定部2004から得た情報に基づいて決める。例えば、ネットワーク状況推定部2004から得た、ボトルネック物理帯域がRb、空き帯域がRaであったとする。所望の実効レートR_targetが、ボトルネックの空き帯域Raより小さければ、R_total=R_target・αとし、Ra<R_target<Rbであれば、R_total=R_target・βと決める。α、βは、あらかじめ決められた値であり、1<α、1<βである。
所望の実効レートR_targetが現在中継中のコネクション数に見合ったものになるように、R_totalを現在中継中のコネクション数に依存して決める。1コネクション当たりR_oのレートが得られる事を望む場合、中継制御部によって登録されている現在のコネクション数mを元に、R_target=R_o*mと決定する。所望の帯域R_targetが、ボトルネックの空き帯域Raより小さければ、R_total=R_target・αとし、Ra<R_target<Rbであれば、R_total=R_target・βと決める。α、βは、あらかじめ決められた値であり、1<α、1<βである。
各装置間コネクション終端部からのコネクション毎輻輳情報とネットワーク状況推定部2004からの情報を利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻tに現在m本のコネクションを中継しているとし、時刻t−Tから時刻tの間に、各中継コネクションがC_i(i=1,…,m)個のパケットを送り、L_i(i=1,…,m)回のパケットロスを検知したとする。
出来るだけ大きな実効レートが得られるように、R_totalを各装置間コネクション終端部からのコネクション毎輻輳情報と、ネットワーク状況推定部2004からの情報とを利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻tに現在m本のコネクションを中継しているとし、時刻t−Tから時刻tの間に、各中継コネクションがC_i(i=1,…,m)個のパケットを送り、L_i(i=1,…,m)回のパケットロスを検知したとする。
現在中継しているアプリケーションに見合った所望の実効レートR_targetが得られるように、R_totalをアプリケーション情報解析部からの情報も利用して決める。例えば、ストリーミングコネクションのみを中継している時、アプリケーション情報解析部からストリーミングのレート情報を得て、それらの合計値をR_targetとし、送信レート決定方法C2に従ってR_totalを求める。
(総送信レート決定方法F2)
ボトルネックを共有する他のトラヒックに対する優先度付けをした、実効レートが得られるように、R_totalを、現在のコネクション数m、および、装置間コネクション終端部からのコネクション毎輻輳情報と、ネットワーク状況推定部2004からの情報を利用して決める。例えば、コネクション毎輻輳情報、あるいは、ネットワーク状況推定部から得られる、中継コネクションが通るネットワークのパケットロス率p、RTTを使ってTCPの1本あたりの実効レートを推定し、そのα倍のレートをm倍する。TCPの1本あたりの実効レートの推定方法としては、M.Handley,S.Floyd,J.Padhye,J.Widmer,″TCP Friendly Rate Control(TFRC):Protocol Specification,″Internet Society,RFC 3448,January 2003.の3.1節の″throughput equation″のXで与えられているような計算式でもよい。
全コネクションに公平にレートを割り当てる。即ち、コネクションがm本あれば、R_total/mのレートを各コネクションに割り当てる。
コネクション識別子のポート番号情報に依存して、決められたルールに従って割り当てる。たとえば、ポート番号毎に優先度を付け、それの優先度に応じてレートを割り当てる。
アプリケーション情報解析部からの情報に依存して決定する。例えば、HTTPコネクションでデータ転送を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られた、HTTPのContent−typeフィールドの値に依存して優先度を付けた帯域割り当てを行う。別の例としては、HTTPでファイル取得を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られたHTTPのContent−lengthフィールドの情報に依存して、短いサイズのデータを転送しているコネクションにより高い帯域を割り当てる。また別の例として、Ns本のストリーミングタイプのアプリケーションのコネクションと、Nf体のHTTPを使ったファイル転送タイプのアプリケーションを中継している場合を考える。アプリケーション情報解析部から得られた、各ストリーミングのレートがRSi(i=1,…,Ns)とし、アプリケーション情報解析部から得られた、ファイル転送タイプのコネクションのファイルサイズをFLi(i=1,…,Nf)とする。ストリーミングタイプのコネクションについては、公平なレート(R_totalを現在のコネクション数Ns+Nfで割ったもの)より低いレートのものには、そのストリーミングのレートRSi(i=1,…,Ns0)を割り当てる。残ったレート
次に、本発明の第2の実施の形態の動作について説明する。
発明の第2の実施の形態で得られる、発明の第1の効果は、複数の端末間のあるトランスポート層コネクション集合に対して、所望の実効レートを確保し、そのコネクション集合の中で、その帯域を再分配することを、トランスポート層中継装置をネットワークN1およびネットワークN2に一つずつ配置すれば実現出来るため、第1の従来方法がネットワークN3内の多数のルータを、帯域制御可能なルータに置き換えるのと比べ、装置コスト、および、置き換える手間のコストを低くする事が出来ることである。これは、発明の手法が、中継コネクションのトラヒックと他のトラヒック(クロストラヒック)が同じボトルネックを共有している場合、クロストラヒックを運ぶトランスポート層プロトコル(たとえばTCP)が輻輳制御を行っていれば、中継コネクションの総送信レートに応じて、送信レートを調整する性質を利用し、総送信レートに応じたある実効レートを確保しているためである。また、総送信レートを、中継しているコネクションの中で分割して利用することで、中継しているあるコネクションの送信レートを下げても、そのレートをクロストラヒックに奪われる事なく、中継している別のコネクションの送信レートとして利用する事が可能となり、実効レートの再配分が可能となっている。
〔本発明の第3の実施の形態の構成の説明〕
次に本発明の第3の実施の形態の構成について図面を参照して詳細に説明する。
中継制御部3001は、端末のトランスポート層のコネクション終端部からのコネクション開設要求、対向するトランスポート層中継装置E003からの中継開始要求、中継部からのコネクション切断通知、対向するトランスポート層中継装置E003からの中継終了要求を受け取る。それぞれを受け取った場合の動作を述べる。
端末からのコネクション開設要求は、コネクション開設の要求元端末のIPアドレスとポート番号、コネクション開設要求先端末のIPアドレスとポート番号、および、コネクションに使うトランスポートプロトコルの識別子、の5つの情報の組(これをコネクション識別子と呼ぶ)を含む。コネクション開設要求を受け取った中継制御部は、対向するトランスポート層中継装置E003の中継制御部へ、コネクション開設要求の情報を含んだ中継開始要求を送る。この時、相手方の中継制御部と使われていない中継部(3002−1〜3002−n)の番号(1〜n)を伝え合い、両方で使われていない中継部番号を決定する。次に、中継制御部は、送信レート制御部に、決定した中継部の識別番号(1〜n)、および、コネクションのコネクション識別子を登録する。そして、MUX−DEMUX部に、決定した中継部番号を登録する。
対向するトランスポート層中継装置E003からの中継開始要求を受け取ると、相手方の中継制御部と使われていない中継部(3002−1〜3002−n)の番号(1〜n)を伝え合い、両方で使われていない中継部番号を決定する。次に中継制御部は、送信レート制御部に、決定した中継部の識別番号(1〜n)、および、コネクションのコネクション識別子を登録する。そして、MUX−DEMUX部に、決定した中継部番号を登録する。さらに、中継制御部は、決定した中継部番号の中継部(3002−1〜3002−n)に対して、中継開始要求に含まれているコネクション開設要求の情報に基づいて、コネクション開設要求先端末とのコネクションの開設を行わせる。
対向するトランスポート層中継装置E003の中継制御部へ、コネクション切断通知を出した中継部の番号を含む、中継終了要求を出す。また、MUX−DEMUX部にコネクション切断通知を出した中継部の中継部番号の登録を削除するよう指示する。さらに、送信レート制御部に、該中継部の中継部番号を伝え、登録を削除する。
中継終了要求に含まれている中継部番号の中継部に対して、端末とのコネクション切断を指示する。また、MUX−DEMUX部にコネクション切断通知を出した中継部の中継部番号の登録を削除するよう指示する。また、送信レート制御部に、該中継部の中継部番号を伝え、登録を削除する。もし、この時使われている中継部がなくなれば、装置間コネクション終端部に指示して、コネクションを切断するように指示する。
内部に端末側コネクション終端部、アプリケーション情報解析部を含む。中継制御部からの指示に従って、端末側コネクション終端部に対して、端末との間に、トランスポート層コネクションを開設、あるいは、コネクション切断を行わせる。
・端末側コネクション終端部:
トランスポート層コネクションを張った端末との通信に用いる送受信バッファを持ち、トランスポート層コネクションの終端処理を行う。このトランスポート層コネクションの終端処理は、使われるトランスポート層プロトコルに従うものとするが、少なくとも、トランスポート層コネクションの開設、維持、終了の機能、および、フロー制御、輻輳制御機能を持っているものとする。中継部の指示に従い、端末とのコネクション開設・切断を行う。また、端末からコネクション切断要求があれば、コネクション切断後、中継部へコネクション切断通知を送る。
端末側コネクション終端部と、MUX−DEMUX部3005との間で、トランスポート層のデータの転送を行う。すなわち、端末側コネクション終端部の受信バッファからトランスポート層データを読み出し、MUX−DEMUX部3005へ受け渡す。また、MUX−DEMUX部3005からデータを受け取り、端末側コネクション終端部の送信バッファへと書き込む。これらの、トランスポート層データ転送時に、アプリケーション情報を取得し、送信レート制御部3003へと通知する。アプリケーション情報とは、たとえば、トランスポート層プロトコル上にHTTP(Hyper Text Transfer Protocol)を使ったデータ送受信が行われている場合、HTTPヘッダ中で、どのようなデータ種別が送られているかを示すContext−typeタグの中身や、送られるデータサイズを示すContext−lengthタグの値である。別の例としては、RTSP(Real Time Streaming Protocol)のコネクションで指定されるストリーミングのレートや、ストリーミングのコネクション識別子などである。また別な例としては、FTPの制御コネクション中で指定される、FTPのデータコネクションのコネクション識別子である。
中継制御部3001から現在使われている中継部の番号の登録・削除の指示に従い、現在使われている中継部の番号を記憶している。現在使われている中継部について、アプケーション情報解析部からデータを受け取り、ある一定サイズの大きさの断片に分割して(サイズに満たない場合にはパディングして)、中継部番号のついたタグを付けて、装置間コネクション終端部3004の送信バッファへと書き込む。この際、現在使われている中継部のどれから、どれくらいのレートでデータを読み出すかは、送信レート制御部の指示に従う。
トランスポート層コネクションを張った相手との通信に用いる送受信バッファを持ち、トランスポート層コネクションの終端処理を行う。また、中継制御部の指示に従い、対向するトランスポート層中継装置E003との間に中継のためのトランスポート層コネクションを張る。
現在中継中のコネクションの総送信レートをR_totalとし、これを中継コネクションの送信レートとする。総送信レートR_totalの決め方としては、現在中継中のコネクション数、装置間コネクション終端部からのコネクション毎輻輳情報に依存して決定しても良く、例えば次のような方法がある。
所望の実効レートR_targetに対して、あらかじめ決められた倍率値α(α>1)を用いて、設定値をR_total=α・R_targetとする。
所望の実効レートR_targetが現在中継中のコネクション数に見合ったものになるように、R_totalを現在中継中のコネクション数に依存して決める。1コネクション当たりR_oのレートを割り当てると決めておき、中継制御部によって登録されている現在のコネクション数mを元に、R_total=α*R_o*mと決定する。αは、あらかじめ決められた倍率値α(α>1)である。
所望の実効レートR_targetが得られるように、装置間コネクション終端部からのコネクション毎輻輳情報を利用してR_totalを決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻t−Tから時刻tの間に、各中継コネクションがC個のパケットを送り、L回のパケットロスを検知したとすると、パケットロス率は、P=L/Cである。同じ輻輳状況が続くと仮定し、目標レート(R_target)にするために、R_total=R_target/(1−P)とする。ただし、極端な輻輳を避けるため、あるデータロス率の閾値P_0に対して、P>P_0の場合には、R_total=R_target/(1−P_0)とする。
出来るだけ大きな実効レートが得られるように、R_totalを各装置間コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻t−Tから時刻tの間に、各中継コネクションがC個のパケットを送り、L回のパケットロスを検知したとすると、パケットロス率は、P=L/Cである。過去の送信レートR_toatlとその時のデータロス率Pから、送信レートと実際に受信側に届いたレート(=R_total*(1−P))の関係を求めた表を作る。この表を作るデータは、順次更新してゆくとする。
現在中継しているアプリケーションに見合った所望の実効レートR_targetが得られるように、R_totalをアプリケーション情報解析部からの情報も利用して決める。例えば、ストリーミングコネクションのみを中継している時、アプリケーション情報解析部からストリーミングのレート情報を得て、それらの合計値をR_targetとし、送信レート決定方法C3に従ってR_totalを求める。
ボトルネックを共有する他のトラヒックに対する優先度付けをした、実効レートが得られるように、R_totalを、現在のコネクション数m、および、装置間コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、コネクション毎輻輳情報から得られる、中継コネクションが通るネットワークのパケットロス率P、RTTを使ってTCPの1本あたりの実効レートトを推定し、そのα倍のレートをm倍してもよい。TCPの1本あたりの実効レートの推定方法としては、M.Handley,S.Floyd,J.Padhye,J.Widmer,″TCP Friendly Rate Control(TFRC):Protocol Specification,″Internet Society,RFC 3448,January 2003.の3.1節の″throughput equation″のXで与えられているような計算式でもよい。即ち、中継コネクション終端部からのコネクション毎輻輳情報を利用し、パケットロス発生率p(pの計算の際には、RTT以内のパケットロスも1つのロスイベントと考えて計算する)、RTTの指数平均値R、TCPのタイムアウト時間の推定値t_RTO(例えば、Rの2倍とする)、中継コネクションのあるネットワークのTCPのパケットサイズの平均値をs(バイト)(sは経験的に知られている値でも良い)、b=2として、
全コネクションに公平にレートを割り当てる。即ち、コネクションがm本あれば、R_total/mのレートを各コネクションに割り当てる。
コネクション識別子のポート番号情報に依存して、決められたルールに従って割り当てる。たとえば、ポート番号毎に優先度を付け、それの優先度に応じてレートを割り当てる。
アプリケーション情報解析部からの情報に依存して決定する。例えば、HTTPコネクションでデータ転送を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られた、HTTPのContent−typeフィールドの値に依存して優先度を付けた帯域割り当てを行う。別の例としては、HTTPでファイル取得を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られたHTTPのContent−lengthフィールドの情報に依存して、短いサイズのデータを転送しているコネクションにより高い帯域を割り当てる。また別の例として、Ns本のストリーミングタイプのアプリケーションのコネクションと、Nf本のHTTPを使ったファイル転送タイプのアプリケーションを中継している場合を考える。アプリケーション情報解析部から得られた、各ストリーミングのレートがRSi(i=1,…,Ns)とし、アプリケーション情報解析部から得られた、ファイル転送タイプのコネクションのファイルサイズをFLi(i=1,…,Nf)とする。ストリーミングタイプのコネクションについては、公平なレート(R_totalを現在のコネクション数Ns+Nfで割ったもの)より低いレートのものには、そのストリーミングのレートRSi(i=1,…,Ns0)を割り当てる。残ったレート
次に本発明の第3の実施の形態の動作について図面を参照して詳細に説明する。
発明の第3の実施の形態で得られる、発明の第1の効果は、複数の端末間のあるトランスポート層コネクション集合に対して、所望の実効レートを確保し、そのコネクション集合の中で、その実効レートを再分配することを、トランスポート層中継装置をネットワークN1およびネットワークN2に一つずつ配置すれば実現出来るため、第1の従来方法がネットワークN3内の多数のルータを、帯域制御可能なルータに置き換えるのと比べ、装置コスト、および、置き換える手間のコストを低くする事が出来ることである。これは、発明の手法が、中継コネクションのトラヒックと他のトラヒック(クロストラヒック)が同じボトルネックを共有している場合、クロストラヒックを運ぶトランスポート層プロトコル(たとえばTCP)が輻輳制御を行っていれば、中継コネクションの総送信レートに応じて、送信レートを調整する性質を利用し、総送信レートに応じたある実効レートを確保しているためである。また、総送信レートを、中継しているコネクションの中で分割して利用することで、中継しているあるコネクションの送信レートを下げても、そのレートをクロストラヒックに奪われる事なく、中継している別のコネクションの送信レートとして利用する事が可能となり、実効レートの再配分が可能となっている。
〔本発明の第4の実施の形態の構成の説明〕
次に本発明の第4の実施の形態の構成について図面を参照して詳細に説明する。
現在中継中のコネクションの総送信レートをR_totalとし、これを、各中継コネクションに割り当てる。総送信レートR_totalの決め方としては、現在中継中のコネクション数、装置間コネクション終端部からのコネクション毎輻輳情報、アプリケーション情報解析部からの情報、ネットワーク状況推定部からの情報に依存して決定しても良く、例えば次のような方法がある。
ネットワーク状況推定部2004から得た情報に基づいて決める。例えば、ネットワーク状況推定部2004から得た、ボトルネック物理帯域Rb、空き帯域がRaであったとする。所望の帯域R_targetが、ボトルネックの空き帯域Raより小さければ、R_total=R_target・αとし、Ra<R_target<Rbであれば、R_total=R_target・βと決める。α、βは、あらかじめ決められた値であり、1<α、1<βである。
所望の帯域R_targetが現在中継中のコネクション数に見合ったものになるように、R_totalを現在中継中のコネクション数に依存して決める。1コネクション当たりR_oのレートが得られる事を望む場合、中継制御部によって登録されている現在のコネクション数mを元に、R_target=R_o*mと決定する。所望の帯域R_targetが、ボトルネックの空き帯域Raより小さければ、R_total=R_target・αとし、Ra<R_target<Rbであれば、R_total=R_target・βと決める。α、βは、あらかじめ決められた値であり、1<α、1<βである。
中継コネクション終端部からのコネクション毎輻輳情報とネットワーク状況推定部2004からの情報を利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻t−Tから時刻tの間に、各中継コネクションがC個のパケットを送り、L回のパケットロスを検知したとする。
・C<C_thresholdならば、計測に使うパケット数が不十分で、パケットロス率の精度が悪いので、ネットワーク状況推定部から得た、パケットロス率をPとする。
・そうでなければ、P=L/Cとする。
出来るだけ大きな帯域が得られるように、R_totalを各装置間コネクション終端部からのコネクション毎輻輳情報とネットワーク状況推定部2004からの情報とを利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻t−Tから時刻tの間に、各中継コネクションがC個のパケットを送り、L回のパケットロスを検知したとする。
・C<C_thresholdならば、計測に使うパケット数が不十分で、パケットロス率の精度が悪いので、ネットワーク状況推定部から得た、パケットロス率をPとする。
・そうでなければ、P=L/Cとする。
現在中継しているアプリケーションに見合った所望の帯域R_targetが得られるように、R_totalをアプリケーション情報解析部からの情報も利用して決める。例えば、ストリーミングコネクションのみを中継している時、アプリケーション情報解析部からストリーミングのレート情報を得て、それらの合計値をR_targetとし、送信レート決定方法C4に従ってR_totalを求める。
現在のコネクション数m、および、装置間コネクション終端部からのコネクション毎輻輳情報と、ネットワーク状況推定部2004からの情報を利用して決める。例えば、コネクション毎輻輳情報、あるいは、ネットワーク状況推定部から得られる、中継コネクションが通るネットワークのパケットロス率p、RTTを使ってTCPの1本あたりの送信レートを推定し、そのα倍のレートをm倍する。TCPの1本あたりの送信レートを推定方法としては、M.Handley,S.Floyd,J.Padhye,J.Widmer,″TCP Friendly Rate Control(TFRC):Protocol Specification,″Internet Society,RFC 3448,January 2003.の3.1節の″throughput equation″のXで与えられているような計算式でもよい。即ち、中継コネクション終端部からのコネクション毎輻輳情報を利用し、パケットロス発生率p、RTTの指数平均値R、TCPのタイムアウト時間の推定値t_RTO(例えば、Rの2倍とする)、中継コネクションのあるネットワークのTCPのパケットサイズの平均値をs(バイト)(sは経験的に知られている値でも良い)、b=2として、
全コネクションに公平にレートを割り当てる。即ち、コネクションがm本あれば、R_total/mのレートを各コネクションに割り当てる。
コネクション識別子のポート番号情報に依存して、決められたルールに従って割り当てる。たとえば、ポート番号毎に優先度を付け、それの優先度に応じてレートを割り当てる。
アプリケーション情報解析部からの情報に依存して決定する。例えば、HTTPコネクションでデータ転送を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られた、HTTPのContent−typeフィールドの値に依存して優先度を付けた帯域割り当てを行う。別の例としては、HTTPでファイル取得を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られたHTTPのContent−lengthフィールドの情報に依存して、短いサイズのデータを転送しているコネクションにより高い帯域を割り当てる。また別の例として、Ns本のストリーミングタイプのアプリケーションのコネクションと、Nf本のHTTPを使ったファイル転送タイプのアプリケーションを中継している場合を考える。アプリケーション情報解析部から得られた、各ストリーミングのレートがRSi(i=1,…,Ns)とし、アプリケーション情報解析部から得られた、ファイル転送タイプのコネクションのファイルサイズをFLi(i=1,…,Nf)とする。ストリーミングタイプのコネクションについては、公平なレート(R_totalを現在のコネクション数Ns+Nfで割ったもの)より低いレートのものには、そのストリーミングのレートRSi(i=1,…,Ns0)を割り当てる。残ったレート
次に、本発明の第4の実施の形態の動作について説明する。
発明の第4の実施の形態で得られる、発明の第1の効果は、複数の端末間のあるトランスポート層コネクション集合に対して、所望の実効レートを確保し、そのコネクション集合の中で、その帯域を再分配することを、トランスポート層中継装置をネットワークN1およびネットワークN2に一つずつ配置すれば実現出来るため、第1の従来方法がネットワークN3内の多数のルータを、帯域制御可能なルータに置き換えるのと比べ、装置コスト、および、置き換える手間のコストを低くする事が出来ることである。これは、発明の手法が、中継コネクションのトラヒックと他のトラヒック(クロストラヒック)が同じボトルネックを共有している場合、クロストラヒックを運ぶトランスポート層プロトコル(たとえばTCP)が輻輳制御を行っていれば、中継コネクションの総送信レートに応じて、送信レートを調整する性質を利用し、総送信レートに応じたある実効レートを確保しているためである。また、総送信レートを、中継しているコネクションの中で分割して利用することで、中継しているあるコネクションの送信レートを下げても、そのレートをクロストラヒックに奪われる事なく、中継している別のコネクションの送信レートとして利用する事が可能となり、実効レートの再配分が可能となっている。
〔本発明の第5の実施の形態の構成の説明〕
次に本発明の第5の実施の形態の構成について図面を参照して詳細に説明する。
中継制御部5001は、端末のトランスポート層のコネクション終端部からのコネクション開設要求、あるいは、他のトランスポート層中継装置の装置間コネクション終端部からの中継要求を受け取り、中継部5002−1〜5002−nの内の現在使われていない中継部の1つを割り当てる。その後、送信レート制御部5003へ、中継部に割り当てているコネクションのコネクション識別子、および、中継部の識別番号(1〜n)を登録する。この際、このコネクションに関して最適な初期送信レート値を送信レート制御部5003から受け取る。この初期送信レート値を、今回割り当てを行った中継部に受け渡すと共に、トランスポート層コネクションの中継処理を行わせる。端末からのコネクション開設要求は、コネクション開設の要求元端末のIPアドレスとポート番号、コネクション開設要求先端末のIPアドレスとポート番号、および、コネクションに使うトランスポートプロトコルの識別子、の5つの情報の組(これをコネクション識別子と呼ぶ)を含む。また、中継要求には、コネクション識別子と共に、トランスポート層中継装置の装置間のコネクション(これを中継コネクションと呼ぶ)を開設するのに必要な情報を含む。
内部に端末側コネクション終端部、アプリケーション情報解析部、装置間コネクション終端部を含む。中継制御部から、(1)端末のトランスポート層のコネクション終端部からのコネクション開設要求、あるいは、(2)別のトランスポート層中継装置の装置間コネクション終端部からの中継要求を受け、中継のためのトランスポート層コネクションを、端末、および、他のトランスポート層中継装置との間にそれぞれ開設する。以下、(1)、(2)を受け取った場合、それぞれについて動作を説明する。
トランスポート層コネクションを張った端末との通信に用いる送受信バッファを持ち、トランスポート層コネクションの終端処理を行う。このトランスポート層コネクションの終端処理は、使われるトランスポート層プロトコルに従うものとするが、少なくとも、トランスポート層コネクションの開設、維持、終了の機能、および、フロー制御、輻輳制御機能を持っているものとする。中継部の指示に従い、端末とのコネクション開設・切断を行う。また、端末からコネクション切断要求があれば、コネクション切断後、中継部へコネクション切断通知を送る。ただし、端末とのコネクション開設時には、中継部から受け渡された初期送信レート値を端末のトランスポート層のコネクション終端部に伝える。
本発明の実施の形態1の送信レート制御部1003と同様に、現在中継中のコネクションの総送信レートをR_totalとし、これを、分割して各中継コネクションに割り当てる。ただし、中継制御部からのコネクション登録の要求があった時にも、この割り当てを行い、そのコネクションに対する割り当てられた送信レートを、初期送信レートとして中継制御部へ伝える。この動作の詳細は以下で述べる。それ以外の点は、本発明の実施の形態1の送信レート制御部1003と同じである。
次に本発明の第5の実施の形態の動作について図面を参照して説明する。
発明の第5の実施の形態で得られる発明の効果は、発明の第1の実施の形態で得られる効果に加え、端末とのコネクション設定時に初期送信レートの情報を与えることで、端末がネットワークの状況を学習するまでの時間を短縮し、効率のよい輻輳制御を行わせることが可能になる事である。
〔本発明の第6の実施の形態の構成の説明〕
次に本発明の第6の実施の形態の構成について図面を参照して詳細に説明する。
本発明の実施の形態2の送信レート制御部2003と同様に、現在中継中のコネクションの総送信レートをR_totalとし、これを、各中継コネクションに割り当てる。ただし、中継制御部からのコネクション登録の要求があった時にも、この割り当てを行い、そのコネクションに対する割り当てられた送信レートを、初期送信レートとして中継制御部へ伝える。この動作の詳細は以下で述べる。それ以外の点は、本発明の実施の形態2の送信レート制御部2003と同じである。
次に本発明の第6の実施の形態の動作について図面を参照して説明する。
発明の第6の実施の形態で得られる発明の効果は、発明の第2の実施の形態で得られる効果に加え、端末とのコネクション設定時に初期送信レートの情報を与えることで、端末がネットワークの状況を学習するまでの時間を短縮し、効率のよい輻輳制御を行わせることが可能になる事である。
〔本発明の第7の実施の形態の構成の説明〕
次に本発明の第7の実施の形態の構成について図面を参照して詳細に説明する。
中継制御部7001は、端末のトランスポート層のコネクション終端部からのコネクション開設要求、対向するトランスポート層中継装置E007からの中継開始要求、中継部からのコネクション切断通知、対向するトランスポート層中継装置E007からの中継終了要求を受け取る。それぞれを受け取った場合の動作を述べる。
端末からのコネクション開設要求は、コネクション開設の要求元端末のIPアドレスとポート番号、コネクション開設要求先端末のIPアドレスとポート番号、および、コネクションに使うトランスポートプロトコルの識別子、の5つの情報の組(これをコネクション識別子と呼ぶ)を含む。コネクション開設要求を受け取った中継制御部7001は、対向するトランスポート層中継装置E007の中継制御部へ、コネクション開設要求の情報を含んだ中継開始要求を送る。この時、中継制御部で使われていない中継部(7002−1〜7002−n)の番号(1〜n)を伝え合い、両方で使われていない中継部番号を1つ決定する。次に、中継制御部は、送信レート制御部7003に、決定した中継部の識別番号(1〜n)、および、コネクションのコネクション識別子を登録する。この際、このコネクションに関して最適な初期送信レート値を送信レート制御部7003から受け取る。そして、MUX−DEMUX部3005に、決定した中継部番号を登録する。さらに、中継制御部7001は、決定した中継部番号の中継部(7002−1〜7002−n)に対して、初期送信レート値を受け渡すと共に、端末からのコネクション開設を行うように指示する。また装置間コネクション終端部3004に指示して、もしも、対向するトランスポート層中継装置との間に中継のためのトランスポート層コネクション(中継コネクション)が張られていなければ、コネクションを開設するように指示する。
対向するトランスポート層中継装置E007からの中継開始要求を受け取ると、中継制御部同士で使われていない中継部(7002−1〜7002−n)の番号(1〜n)を伝え合い、両方で使われていない中継部番号を1つ決定する。次に中継制御部7001は、送信レート制御部7003に、決定した中継部の識別番号(1〜n)、および、コネクションのコネクション識別子を登録する。この際、このコネクションに関して最適な初期送信レート値を送信レート制御部7003から受け取る。そして、MUX−DEMUX部3005に、決定した中継部番号を登録する。さらに、中継制御部7001は、決定した中継部番号の中継部(7002−1〜7002−n)に対して、初期送信レート値を受け渡すと共に、中継開始要求に含まれているコネクション開設要求の情報に基づいて、コネクション開設要求先端末とのコネクションの開設を行わせる。
対向するトランスポート層中継装置E007の中継制御部へ、コネクション切断通知を出した中継部の番号を含む、中継終了要求を出す。また、MUX−DEMUX部3005にコネクション切断通知を出した中継部の中継部番号の登録を削除するよう指示する。さらに、送信レート制御部7003に、該中継部の中継部番号を伝え、登録を削除する。
中継終了要求に含まれている中継部番号の中継部に対して、端末とのコネクション切断を指示する。また、MUX−DEMUX部3005にコネクション切断通知を出した中継部の中継部番号の登録を削除するよう指示する。また、送信レート制御部7003に、該中継部の中継部番号を伝え、登録を削除する。もし、この時使われている中継部がなくなれば、装置間コネクション終端部に指示して、コネクションを切断するように指示する。
内部に端末側コネクション終端部、アプリケーション情報解析部を含む。中継制御部7001からの指示に従って、端末側コネクション終端部に対して、端末との間に、トランスポート層コネクションを開設、あるいは、コネクション切断を行わせる。コネクションを開設の際には、中継制御部7001から受け渡された初期送信レート値を端末のトランスポート層のコネクション終端部に伝える。
トランスポート層コネクションを張った端末との通信に用いる送受信バッファを持ち、トランスポート層コネクションの終端処理を行う。このトランスポート層コネクションの終端処理は、使われるトランスポート層プロトコルに従うものとするが、少なくとも、トランスポート層コネクションの開設、維持、終了の機能、および、フロー制御、輻輳制御機能を持っているものとする。中継部の指示に従い、端末とのコネクション開設・切断を行う。また、端末からコネクション切断求があれば、コネクション切断後、中継部へコネクション切断通知を送る。ただし、端末とのコネクション開設時には、中継部から受け渡された初期送信レート値を端末のトランスポート層のコネクション終端部に伝える。
現在中継中のコネクションの総送信レートをR_totalとし、これを、中継コネクションの送信レートとする。ただし、中継制御部からのコネクション登録の要求があった時にも、この割り当てを行い、そのコネクションに対する割り当てられた送信レートを、初期送信レートとして中継制御部へ伝える。この動作の詳細は以下で述べる。それ以外の点は、本発明の実施の形態3の送信レート制御部3003と同じである。
次に本発明の第7の実施の形態の動作について図面を参照して詳細に説明する。
発明の第7の実施の形態で得られる発明の効果は、発明の第3の実施の形態で得られる効果に加え、端末とのコネクション設定時に初期送信レートの情報を与えることで、端末がネットワークの状況を学習するまでの時間を短縮し、効率のよい輻輳制御を行わせることが可能になる事である。
〔本発明の第8の実施の形態の構成の説明〕
次に本発明の第8の実施の形態の構成について図面を参照して詳細に説明する。
現在中継中のコネクションの総送信レートをR_totalとし、これを、中継コネクションの送信レートとする。ただし、中継制御部8001からのコネクション登録の要求があった時にも、この割り当てを行い、そのコネクションに対する割り当てられた送信レートを、初期送信レートとして中継制御部8001へ伝える。この動作の詳細は以下で述べる。それ以外の点は、本発明の実施の形態4の送信レート制御部4003と同じである。
次に本発明の第8の実施の形態の動作について図面を参照して説明する。
発明の第8の実施の形態で得られる発明の効果は、発明の第4の実施の形態で得られる効果に加え、端末とのコネクション設定時に初期送信レートの情報を与えることで、端末がネットワークの状況を学習するまでの時間を短縮し、効率のよい輻輳制御を行わせることが可能になる事である。
〔構成の説明〕
次に本発明の第9の実施の形態の構成について図面を参照して詳細に説明する。
装置間コネクション終端部に指示し、実際に中継する送信パケットを計測パケットとして利用し、ボトルネックの物理帯域、ボトルネックの空き帯域の情報を推定し、これを、装置間コネクション終端部から、送信レート制御部へのコネクション毎輻輳情報に付与するものである。送信パケットを計測パケットとして利用するボトルネックの物理帯域の推定方法は、例えば、送信パケットを複数個連続して送れる場合に、前述のpacket−pairの手法を使う方法が考えられる。また、送信パケットを計測パケットとして利用したボトルネックの空き帯域の推定方法については、例えば、Cao Le Thanh Man、長谷川剛、村田正幸、″アクティブTCPコネクションを用いたインタインネットワーク計測、″電子情報通信学会ソサエティ大会、March 2003、に掲載されている方式を用いればよい。
本発明の第1の実施の形態の装置間コネクション終端部と比べ、(1)インライン計測部からの指示に従ったパケット送信を行う点、インライン計測部へ通信相手からのACKパケットの到着とそのヘッダ情報を伝える点、(3)送信レート制御部にコネクション毎輻輳情報を通知する際に、インライン計測部が求めた、ボトルネックの物理帯域、ボトルネックの空き帯域の情報を同時に通知する点のみが異なる。
現在中継中のコネクションの総送信レートをR_totalとし、これを、各中継コネクションに割り当てる。総送信レートR_totalの決め方としては、現在中継中のコネクション数、各装置間コネクション終端部からのコネクション毎輻輳情報、アプリケーション情報解析部からの情報に依存して決定しても良く、例えば次のような方法がある。
装置間コネクション終端部からのコネクション毎輻輳情報に依存して決定する。たとえば、各装置間コネクション終端部からのコネクション毎輻輳情報の、ボトルネック物理帯域の推定値、空き帯域の推定値について、各装置間コネクション終端部間での平均値をとって、ボトルネック物理帯域の推定値Rb、空き帯域の推定値Raとする。所望の実効レートR_targetが、ボトルネックの空き帯域Raより小さければ、R_total=R_target・αとし、Ra<R_target<Rbであれば、R_total=R_target・βと決める。α、βは、あらかじめ決められた値であり、1<α、1<βである。
所望の実効レートR_targetが現在中継中のコネクション数に見合ったものになるように、R_totalを現在中継中のコネクション数に依存して決める。装置間コネクション終端部からのコネクション毎輻輳情報の、ボトルネック物理帯域の推定値、空き帯域の推定値について、各装置間コネクション終端部間で、尤も推定誤差の小さなものをボトルネック物理帯域の推定値Rb、空き帯域の推定値Raとする(コネクション毎輻輳情報に、計測した回数など、推定誤差に関連する情報も付与させればよい)。1コネクション当たりR_oのレートが得られる事を望む場合、中継制御部によって登録されている現在のコネクション数mを元に、R_target=R_o*mと決定する。所望の帯域R_targetが、ボトルネックの空き帯域Raより小さければ、R_total=R_target・αとし、Ra<R_target<Rbであれば、R_total=R_target・βと決める。α、βは、あらかじめ決められた値であり、1<α、1<βである。
各中継コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻tに現在m本のコネクションを中継しているとし、時刻t−Tから時刻tの間に、各中継コネクションがC_i(i=1,…,m)個のパケットを送り、L_i(i=1,…,m)回のパケットロスを検知したとする。時刻t−Tから時刻tの間に、時刻t−Tから時刻tの間に、各中継コネクションがCi(i=1,…,m)個のパケットを送り、Li(i=1,…,m)回のパケットロスを検知し、各中継コネクションの平均パケットサイズがDi(i=1,…,m)であったとする。時刻t−Tから時刻tの間に、
出来るだけ大きな実効レートが得られるように、R_totalを各装置間コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻tに現在m本のコネクションを中継しているとし、時刻t−Tから時刻tの間に、各中継コネクションがC_i(i=1,…,m)個のパケットを送り、L_i(i=1,…,m)回のパケットロスを検知したとする。時刻t−Tから時刻tの間に、時刻t−Tから時刻tの間に、各中継コネクションがCi(i=1,…,m)個のパケットを送り、Li(i=1,…,m)回のパケットロスを検知し、各中継コネクションの平均パケットサイズがDi(i=1,…,m)であったとする。時刻t−Tから時刻tの間に、
現在中継しているアプリケーションに見合った所望の実効レートR_targetが得られるように、R_totalをアプリケーション情報解析部からの情報も利用して決める。例えば、ストリーミングコネクションのみを中継している時、アプリケーション情報解析部からストリーミングのレート情報を得て、それらの合計値をR_targetとし、送信レート決定方法C2に従ってR_totalを求める。
ボトルネックを共有する他のトラヒック(トランスポート層中継装置E001によって中継されるパケットに影響を与える、トランスポート層中継装置E001によって中継されないパケット)に対する優先度付けをした、実効レートが得られるように、R_totalを、現在のコネクション数m、および、装置間コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、コネクション毎輻輳情報から得られる、中継コネクションが通るネットワークのパケットロス率p、RTTを使ってTCPの1本あたりの実効レートを推定し、そのα倍のレートをm倍する。TCPの1本あたりの実効レートの推定方法としては、M.Handley,S.Floyd,J.Padhye,J.Widmer,″TCP Friendly Rate Control(TFRC):Protocol Specification,″Internet Society,RFC 3448,January 2003.の3.1節の″throughput equation″のXで与えられているような計算式でもよい。即ち、中継コネクション終端部からのコネクション毎輻輳情報を利用し、パケットロス発生率p、RTTの指数平均値R、TCPのタイムアウト時間の推定値t_RTO(例えば、Rの2倍とする)、中継コネクションのあるネットワークのTCPのパケットサイズの平均値をs(バイト)(sは経験的に知られている値でも良い)、b=2として、
全コネクションに公平にレートを割り当てる。即ち、コネクションがm本あれば、R_total/mのレートを各コネクションに割り当てる。
コネクション識別子のポート番号情報に依存して、決められたルールに従って割り当てる。たとえば、ポート番号毎に優先度を付け、それの優先度に応じてレートを割り当てる。
アプリケーション情報解析部からの情報に依存して決定する。例えば、HTTPコネクションでデータ転送を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られた、HTTPのContent−typeフィールドの値に依存して優先度を付けた帯域割り当てを行う。別の例としては、HTTPでファイル取得を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られたHTTPのContent−lengthフィールドの情報に依存して、短いサイズのデータを転送しているコネクションにより高い帯域を割り当てる。また別の例として、Ns本のストリーミングタイプのアプリケーションのコネクションと、Nf本のHTTPを使ったファイル転送タイプのアプリケーションを中継している場合を考える。アプリケーション情報解析部から得られた、各ストリーミングのレートがRSi(i=1,…,Ns)とし、アプリケーション情報解析部から得られた、ファイル転送タイプのコネクションのファイルサイズをFLi(i=1,…,Nf)とする。ストリーミングタイプのコネクションについては、公平なレート(R_totalを現在のコネクション数Ns+Nfで割ったもの)より低いレートのものには、そのストリーミングのレートRSi(i=1,…,Ns0)を割り当てる。残ったレート
次に、本発明の第9の実施の形態の動作は、本発明の第1の実施の形態の動作と同様である。違いは、装置間コネクション終端部が、その内部のインライン計測部からの、ボトルネックの物理帯域、空き帯域の推定値の情報を付与して、送信レート制御部9003へ、コネクション毎輻輳情報を通知する事と、送信レート制御部が、送信レート決定の際に、A9、B9に示したような、インライン計測部からの、ボトルネックの物理帯域、空き帯域の推定値の情報も用いた送信レートの決定を行う点のみである。
発明の第9の実施の形態では、本発明の第1の実施の形態の効果に加え、次のような効果が得られる。送信レート制御部において、総送信レート決定方法A2、B2の方法を用いることにより、ボトルネックの物理帯域や空き帯域の推定値も考慮した、送信レート決定を行うことにより、高い精度での所望の実効レートの確保や、他のトラヒックに対して高い精度で優先度をつけた実効レートを確保する事が可能になることにある。
〔構成の説明〕
次に本発明の第10の実施の形態の構成について図面を参照して詳細に説明する。
装置間コネクション終端部に指示し、送信パケットを計測パケットとして利用し、ボトルネックの物理帯域、ボトルネックの空き帯域の情報を推定し、これを、装置間コネクション終端部から、送信レート制御部へのコネクション毎輻輳情報に付与するものである。
本発明の第3の実施の形態の装置間コネクション終端部と比べ、(1)インライン計測部からの指示に従ったパケット送信を行う点、インライン計測部へ通信相手からのACKパケットの到着とそのヘッダ情報を伝える点、(3)送信レート制御部にコネクション毎輻輳情報を通知する際に、インライン計測部が求めた、ボトルネックの物理帯域、ボトルネックの空き帯域の情報を同時に通知する点のみが異なる。
現在中継中のコネクションの総送信レートをR_totalとし、これを、各中継コネクションに割り当てる。総送信レートR_totalの決め方としては、総送信レートR_totalの決め方としては、現在中継中のコネクション数、各装置間コネクション終端部からのコネクション毎輻輳情報、アプリケーション情報解析部からの情報に依存して決定しても良く、例えば次のような方法がある。
装置間コネクション終端部からのコネクション毎輻輳情報に依存して決定する。たとえば、各装置間コネクション終端部からのコネクション毎輻輳情報の、ボトルネック物理帯域の推定値をRb、空き帯域の推定値をRaとする。所望の実効レートR_targetが、ボトルネックの空き帯域Raより小さければ、R_total=R_target・αとし、Ra<R_target<Rbであれば、R_total=R_target・βと決める。α、βは、あらかじめ決められた値であり、1<α、1<βである。
所望の実効レートR_targetが現在中継中のコネクション数に見合ったものになるように、R_totalを現在中継中のコネクション数に依存して決める。装置間コネクション終端部からのコネクション毎輻輳情報の、ボトルネック物理帯域の推定値をRb、空き帯域の推定値をRaとする。1コネクション当たりR_oのレートが得られる事を望む場合、中継制御部によって登録されている現在のコネクション数mを元に、R_target=R_o*mと決定する。
所望の実効レートR_targetが得られるように、装置間コネクション終端部からのコネクション毎輻輳情報を利用してR_totalを決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻t−Tから時刻tの間に、各中継コネクションがC個のパケットを送り、L回のパケットロスを検知したとすると、パケットロス率は、P=L/Cである。同じ輻輳状況が続くと仮定し、目標レート(R_target)にするために、R_total=R_target/(1−P)とする。ただし、極端な輻輳を避けるため、あるデータロス率の閾値P_0に対して、P>P_0の場合には、R_total=R_target/(1−P_0)とする。
出来るだけ大きな実効レートが得られるように、R_totalを各装置間コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、時間T毎に、総送信レートを更新するものとし、時刻t−Tから時刻tの間に、各中継コネクションがC個のパケットを送り、L回のパケットロスを検知したとすると、パケットロス率は、P=L/Cである。渦去の送信レートR_toatlその時のデータロス率Pから、送信レートと実際に受信側に届いたレート(=R_total*(1−P))の関係を求めた表を作る。この表を作るデータは、順次更新してゆくとする。実際に受信側に届いたレートが最大になる送信レートの値をR_totalとする。ただし、過去の送信レートR_totalがまだ十分に蓄積されていなければ、あらかじめ設定されているR_totalを使う。
現在中継しているアプリケーションに見合った所望の実効レートR_targetが得られるように、R_totalをアプリケーション情報解析部からの情報も利用して決める。例えば、ストリーミングコネクションのみを中継している時、アプリケーション情報解析部からストリーミングのレート情報を得て、それらの合計値をR_targetとし、送信レート決定方法C3に従ってR_totalを求める。
ボトルネックを共有する他のトラヒックに対する優先度付けをした、実効レートが得られるように、R_totalを、現在のコネクション数m、および、装置間コネクション終端部からのコネクション毎輻輳情報を利用して決める。例えば、コネクション毎輻輳情報から得られる、中継コネクションが通るネットワークのパケットロス率P、RTTを使ってTCPの1本あたりの実効レートトを推定し、そのα倍のレートをm倍してもよい。TCPの1本あたりの実効レートの推定方法としては、M.Handley,S.Floyd,J.Padhye,J.Widmer,″TCP Friendly Rate Control(TFRC):Protocol Specification,″Internet Society,RFC 3448,January 2003.の3.1節の″throughput equation″のXで与えられているような計算式でもよい。即ち、中継コネクション終端部からのコネクション毎輻輳情報を利用し、パケットロス発生率p(pの計算の際には、RTT以内のパケットロスも1つのロスイベントと考えて計算する)、RTTの指数平均値R、TCPのタイムアウト時間の推定値t_RTO(例えば、Rの2倍とする)、中継コネクションのあるネットワークのTCPのパケットサイズの平均値をs(バイト)(sは経験的に知られている値でも良い)、b=2として、
全コネクションに公平にレートを割り当てる。即ち、コネクションがm本あれば、R_total/mのレートを各コネクションに割り当てる。
コネクション識別子のポート番号情報に依存して、決められたルールに従って割り当てる。たとえば、ポート番号毎に優先度を付け、それの優先度に応じてレートを割り当てる。
アプリケーション情報解析部からの情報に依存して決定する。例えば、HTTPコネクションでデータ転送を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られた、HTTPのContent−typeフィールドの値に依存して優先度を付けた帯域割り当てを行う。別の例としては、HTTPでファイル取得を行うアプリケーションの複数のコネクションを中継している場合に、アプリケーション情報解析部から得られたHTTPのContent−lengthフィールドの情報に依存して、短いサイズのデータを転送しているコネクションにより高い帯域を割り当てる。また別の例として、Ns本のストリーミングタイプのアプリケーションのコネクションと、Nf本のHTTPを使ったファイル転送タイプのアプリケーションを中継している場合を考える。アプリケーション情報解析部から得られた、各ストリーミングのレートがRSi(i=1,…,Ns)とし、アプリケーション情報解析部から得られた、ファイル転送タイプのコネクションのファイルサイズをFLi(i=1,…,Nf)とする。ストリーミングタイプのコネクションについては、公平なレート(R_totalを現在のコネクション数Ns+Nfで割ったもの)より低いレートのものには、そのストリーミングのレートRSi(i=1,…,Ns0)を割り当てる。残ったレート
次に、本発明の第10の実施の形態の動作は、本発明の第3の実施の形態の動作と同様である。違いは、装置間コネクション終端部が、その内部のインライン計測部からの、ボトルネックの物理帯域、空き帯域の推定値の情報を付与して、送信レート制御部へ、コネクション毎輻輳情報を通知する事と、送信レート制御部が、送信レート決定の際に、A10、B10に示したような、インライン計測部からの、ボトルネックの物理帯域、空き帯域の推定値の情報も用いた送信レートの決定を行う点のみである。
発明の第10の実施の形態では、本発明の第3の実施の形態の効果に加え、次のような効果が得られる。送信レート制御部において、総送信レート決定方法A10、B10の方法を用いることにより、ボトルネックの物理帯域や空き帯域の推定値も考慮した、送信レート決定を行うことにより、高い精度での所望の実効レートの確保や、他のトラヒックに対して高い精度で優先度をつけた実効レートを確保する事が可能になることにある。
Claims (34)
- 複数のトランスポート層コネクションをそれぞれトランスポート層で終端し、前記各トランスポート層コネクション上のデータフローをそれぞれ別のトランスポート層コネクションへ中継するトランスポート層中継方法であって、
中継に使用中の中継コネクションの総送信レートを決定し、前記総送信レートを分割して、中継に使用中の中継コネクションの送信レートとして割り当てるトランスポート層中継方法。 - 請求項1記載のトランスポート層中継方法であって、
前記総送信レートを、中継しているトランスポート層コネクションの数、および、中継コネクションが経由するネットワークの輻輳状況に応じて決定するトランスポート層中継方法。 - 請求項1記載のトランスポート層中継方法であって、
中継に使用中の中継コネクションの全体の実効レートが所望のレートになるように、前記総送信レートを、中継しているトランスポート層コネクションの数、および、中継コネクションが経由するネットワークの輻輳状況に応じて決定するトランスポート層中継方法。 - 請求項1記載のトランスポート層中継方法において、
中継に使用中の中継コネクションの全体の実効レートが、中継コネクションとボトルネックを共有する中継コネクション以外のトラヒックに対して優先度付け出来るように、前記総送信レートを、中継しているトランスポート層コネクションの数、および、中継コネクションが経由するネットワークの輻輳状況に応じて決定するトランスポート層中継方法。 - 請求項1記載のトランスポート層中継方法において、
前記総送信レートを、前記各中継コネクション上の前記データフロー内のアプリケーション情報に依存して、前記各中継コネクションの送信レートに分割して割り当てるトランスポート層中継方法。 - 請求項1記載のトランスポート層中継方法において、
中継コネクションが経由するネットワークの輻輳状況を計測パケットによって推定した結果も利用して、前記総送信レートを決定するトランスポート層中継方法。 - 請求項1記載のトランスポート層中継方法において、
中継コネクションが経由するネットワークの輻輳状況を、中継するパケットによって推定した結果も利用して、前記総送信レートを決定するトランスポート層中継方法。 - 複数の端末とのトランスポート層コネクションを、それぞれトランスポート層で終端する複数の端末側コネクション終端部と、トランスポート層中継装置間の複数のトランスポート層コネクションをそれぞれ終端する複数の装置間コネクション終端部を持ち、前記各端末側コネクション終端部と前記各装置間コネクション終端部の間でトランスポート層データを中継する、トランスポート層中継装置において、
前記装置間コネクション終端部は、送信レート制御部から通知される送信レートに従って送信を行い、
送信レート制御部は、中継に使用中の装置間コネクション終端部全体の総送信レートを決定し、前記総送信レート分割し、分割して割り当てたそれぞれのレートを前記中継に使用中の各装置間コネクション終端部に通知するランスポート層中継装置。 - 請求項8記載のトランスポート層中継装置において、
前記送信レート制御部が、前記総送信レートを、中継しているトランスポート層コネクションの数、および、各装置間コネクション終端部から通知されるコネクション毎の輻輳情報に応じて決定するトランスポート層中継装置。 - 請求項8記載のトランスポート層中継装置において、
前記送信レート制御部が、中継に使用中の中継コネクションの全体の実効レートが所望のレートになるように、前記総送信レートを、中継しているトランスポート層コネクションの数、および、各装置間コネクション終端部から通知されるコネクション毎の輻輳情報に応じて決定するトランスポート層中継装置。 - 請求項8記載のトランスポート層中継装置において、
前記送信レート制御部が、中継に使用中の中継コネクションの全体の実効レートが、中継コネクションとボトルネックを共有する中継コネクション以外のトラヒックに対して優先度付け出来るように、前記総送信レートを、中継しているトランスポート層コネクションの数、および、各装置間コネクション終端部から通知されるコネクション毎の輻輳情報に応じて決定するトランスポート層中継装置。 - 請求項8記載のトランスポート層中継装置において、
前記各端末側コネクション終端部と前記各装置間コネクション終端部の間でトランスポート層データを中継する時に、前記トランスポート層データ内のアプリケーション情報を解析するアプリケーション情報解析部を持ち、且つ、
前記レート制御部が、前記総送信レートを、前記アプリケーション情報解析部からのアプリケーション情報に基づいて、前記各中継コネクションの送信レートに分割して割り当てるトランスポート層中継装置。 - 請求項8記載のトランスポート層中継装置において、
中継コネクションが経由するネットワークの輻輳状況を、計測パケットによって推定するネットワーク状況推定部を持ち、且つ、
前記送信レート制御部が、前記ネットワーク状況推定部が推定した結果も利用して、前記総送信レートを決定するトランスポート層中継装置。 - 請求項8記載のトランスポート層中継装置において、
中継コネクションが経由するネットワークの輻輳状況を、中継するパケットによって推定するインライン計測部を持ち、且つ、
前記送信レート制御部が、前記インライン計測部が推定した結果も利用して、前記総送信レートを決定するトランスポート層中継装置。 - 複数のトランスポート層コネクションをそれぞれトランスポート層で終端し、前記各トランスポート層コネクション上のデータフローを1つのトランスポート層コネクションへ集約して中継するトランスポート層中継方法において、
中継コネクションの総送信レートを決定し、前記総送信レートを分割したレートに従って、前記の各トランスポート層コネクションからのデータフローを中継コネクションへ集約するトランスポート層中継方法。 - 請求項15記載のトランスポート層中継方法において、
前記総送信レートを、中継しているトランスポート層コネクションの数、および、中継コネクションが経由するネットワークの輻輳状況に応じて決定するトランスポート層中継方法。 - 請求項15記載のトランスポート層中継方法において、
中継に使用中の中継コネクションの全体の実効レートが所望のレートになるように、前記総送信レートを、中継しているトランスポート層コネクションの数、および、中継コネクションが経由するネットワークの輻輳状況に応じて決定するトランスポート層中継方法。 - 請求項15記載のトランスポート層中継方法において、
中継に使用中の中継コネクションの全体の実効レートが、中継コネクションとボトルネックを共有する中継コネクション以外のトラヒックに対して優先度付け出来るように、前記総送信レートを、中継しているトランスポート層コネクションの数、および、中継コネクションが経由するネットワークの輻輳状況に応じて決定するトランスポート層中継方法。 - 請求項15記載のトランスポート層中継方法において、
前記総送信レートを、前記データフロー内のアプリケーション情報に依存して分割したレートに従って、前記各トランスポート層コネクションからのデータフローを中継コネクションへ集約するトランスポート層中継方法。 - 請求項15記載のトランスポート層中継方法において、
中継コネクションが経由するネットワークの輻輳状況を計測パケットによって推定した結果も利用して、前記総送信レートを決定するトランスポート層中継方法。 - 請求項15記載のトランスポート層中継方法において、
中継コネクションが経由するネットワークの輻輳状況を中継するパケットによって推定した結果も利用して、前記総送信レートを決定するトランスポート層中継方法。 - 端末とのトランスポート層コネクションをトランスポート層で終端する複数の端末側コネクション終端部と、トランスポート層中継装置間のトランスポート層コネクションを終端する1つの装置間コネクション終端部を持ち、前記各端末側コネクション終端部からのトランスポート層データを1つに集約して前記装置間コネクション終端部へ受け渡すMUX−DEMUX部を持つトランスポート層中継装置において、
前記装置間コネクション終端部は、送信レート制御部から通知される総送信レートに従って送信を行い、
前記MUX−DEMUX部は、送信レート制御部から通知されるレートの分配に従って端末側コネクション終端部からのデータを集約し、
送信レート制御部は、前記装置間コネクション終端部の総送信レートを決定して通知すると共に、前記総送信レートを分割したレートの分配を前記MUX−DEMUX部へ通知するトランスポート層中継装置。 - 請求項22記載のトランスポート層中継装置において、
前記送信レート制御部が、前記総送信レートを、中継しているトランスポート層コネクションの数、および、装置間コネクション終端部から通知されるコネクションの輻輳情報に応じて決定するトランスポート層中継装置。 - 請求項22記載のトランスポート層中継装置において、
前記送信レート制御部が、中継コネクションの実効レートが所望のレートになるように、前記総送信レートを、中継しているトランスポート層コネクションの数、および、装置間コネクション終端部から通知されるコネクションの輻輳情報に応じて決定するトランスポート層中継装置。 - 請求項22記載のトランスポート層中継装置において、
前記送信レート制御部が、中継コネクションの実効レートが中継コネクションとボトルネックを共有する中継コネクション以外のトラヒックに対して優先度付け出来るように、前記総送信レートを、中継しているトランスポート層コネクションの数、および、各装置間コネクション終端部から通知されるコネクションの輻輳情報に応じて決定するトランスポート層中継装置。 - 請求項22記載のトランスポート層中継装置において、
前記各端末側コネクション終端部と前記MUX−DEMUX部の間でトランスポート層データを受け渡す時にトランスポート層データ内のアプリケーション情報を解析するアプリケーション情報解析部を持ち、
前記レート制御部が前記アプリケーション情報解析部からのアプリケーション情報に基づいて、前記総送信レートを分割し、前記MUX−DEMUX部へ伝えるレートの分配を決定するトランスポート層中継装置。 - 請求項22記載のトランスポート層中継装置において、
中継コネクションが経由するネットワークの輻輳状況を、計測パケットによって推定するネットワーク状況推定部を持ち、且つ、
前記送信レート制御部が、前記ネットワーク状況推定部が推定した結果も利用して、前記総送信レートを決定するトランスポート層中継装置 - 請求項22記載のトランスポート層中継装置において、
中継コネクションが経由するネットワークの輻輳状況を、中継するパケットによって推定するインライン計測部を備え、且つ、
前記送信レート制御部が、前記インライン計測部が推定した結果も利用して前記総送信レートを決定するトランスポート層中継装置。 - 請求項1記載のトランスポート層中継方法において、
新たなトランスポート層コネクション開設時に、前記総送信レートを決定し、前記総送信レートを分割して各中継コネクションの送信レートとして割り当て、前記新たなトランスポート層プロトコルの開設相手に、割り当てたレートを通知するトランスポート層中継方法。 - 請求項8記載のトランスポート層中継装置において、
端末とのトランスポート層コネクション開設時に、前記送信レート制御部から通知される、初期送信レート情報を、端末へ通知するトランスポート層中継装置。 - 請求項15記載のトランスポート層中継方法において、
新たなトランスポート層コネクション開設時に、前記総送信レートを決定し、前記総送信レートを分割したレートを、前記の新たなトランスポート層プロトコルの開設相手通知するトランスポート層中継方法。 - 請求項22記載のトランスポート層中継装置において、
端末とのトランスポート層コネクション開設時に、前記送信レート制御部から通知される、初期送信レート情報を、端末へ通知するトランスポート層中継装置。 - コンピュータを、
複数の端末とのトランスポート層コネクションを、それぞれトランスポート層で終端する複数の端末側コネクション終端部、
前記各端末側コネクション終端部との間でトランスポート層データを中継すると共に、トランスポート層中継装置間の複数のトランスポート層コネクションをそれぞれ終端し、送信時には送信レート制御部から通知される送信レートに従って送信を行う複数の装置間コネクション終端部、
中継に使用中の装置間コネクション終端部全体の総送信レートを決定し、前記総送信レート分割し、分割して割り当てたそれぞれのレートを前記中継に使用中の各装置間コネクション終端部に通知する送信レート制御部として機能させるためのプログラム。 - コンピュータを、
端末とのトランスポート層コネクションをトランスポート層で終端する複数の端末側コネクション終端部、
トランスポート層中継装置間のトランスポート層コネクションを終端し、送信時には送信レート制御部から通知される送信レートに従って送信を行う1つの装置間コネクション終端部、
前記各端末側コネクション終端部からのトランスポート層データを、送信レート制御部から通知されるレートの分配に従って1つに集約して前記装置間コネクション終端部へ受け渡すMUX−DEMUX部、
前記装置間コネクション終端部の総送信レートを決定して通知すると共に、前記総送信レートを分割したレートの分配をMUX−DEMUX部へ通知する送信レート制御部として機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003273691 | 2003-07-11 | ||
JP2003273691 | 2003-07-11 | ||
PCT/JP2004/009659 WO2005006664A1 (ja) | 2003-07-11 | 2004-07-07 | トランスポート層中継方法及びトランスポート層中継装置並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005006664A1 JPWO2005006664A1 (ja) | 2007-09-20 |
JP4433202B2 true JP4433202B2 (ja) | 2010-03-17 |
Family
ID=34056032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005511521A Expired - Fee Related JP4433202B2 (ja) | 2003-07-11 | 2004-07-07 | トランスポート層中継方法及びトランスポート層中継装置並びにプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8503294B2 (ja) |
JP (1) | JP4433202B2 (ja) |
CN (1) | CN100553217C (ja) |
WO (1) | WO2005006664A1 (ja) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7630305B2 (en) * | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US8432800B2 (en) * | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US8238241B2 (en) * | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US8437284B2 (en) * | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US7656799B2 (en) * | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
DE10339497A1 (de) * | 2003-08-27 | 2005-03-31 | Siemens Ag | Verfahren zur Übertragung von Daten in einem Datennetz |
US7978716B2 (en) * | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8739274B2 (en) * | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
WO2006012610A2 (en) * | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
AU2005266945A1 (en) * | 2004-07-23 | 2006-02-02 | Citrix Systems, Inc. | A method and systems for securing remote access to private networks |
US7773517B2 (en) * | 2004-11-19 | 2010-08-10 | Research In Motion Limited | Method and system for identifying degradation of a media service |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8954595B2 (en) * | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US8706877B2 (en) * | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8700695B2 (en) * | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US7810089B2 (en) | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
EP1842354B1 (en) | 2005-01-24 | 2014-11-05 | Citrix Systems, Inc. | Systems and methods for performing caching of dynamically generated objects in a network |
US7639627B1 (en) * | 2005-02-18 | 2009-12-29 | Sprint Communications Company L.P. | System and method for trace replay using parallelized streams |
US8301839B2 (en) * | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US7921184B2 (en) * | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
CN101529386B (zh) * | 2006-03-03 | 2012-10-10 | 新泽西理工学院 | 用于抵御分布式拒绝服务(DDoS)攻击的基于行为的业务区分 |
US20070291656A1 (en) * | 2006-06-16 | 2007-12-20 | Harris Corporation | Method and system for outbound content-based QoS |
US8516153B2 (en) | 2006-06-16 | 2013-08-20 | Harris Corporation | Method and system for network-independent QoS |
US8064464B2 (en) | 2006-06-16 | 2011-11-22 | Harris Corporation | Method and system for inbound content-based QoS |
US7990860B2 (en) | 2006-06-16 | 2011-08-02 | Harris Corporation | Method and system for rule-based sequencing for QoS |
US20070291768A1 (en) * | 2006-06-16 | 2007-12-20 | Harris Corporation | Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS |
US20070291765A1 (en) * | 2006-06-20 | 2007-12-20 | Harris Corporation | Systems and methods for dynamic mode-driven link management |
US8730981B2 (en) | 2006-06-20 | 2014-05-20 | Harris Corporation | Method and system for compression based quality of service |
US7769028B2 (en) * | 2006-06-21 | 2010-08-03 | Harris Corporation | Systems and methods for adaptive throughput management for event-driven message-based data |
US8300653B2 (en) | 2006-07-31 | 2012-10-30 | Harris Corporation | Systems and methods for assured communications with quality of service |
US20100241759A1 (en) * | 2006-07-31 | 2010-09-23 | Smith Donald L | Systems and methods for sar-capable quality of service |
JP4435817B2 (ja) * | 2006-09-08 | 2010-03-24 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末、通信制御方法および通信制御プログラム |
US8279756B2 (en) * | 2006-09-08 | 2012-10-02 | Ntt Docomo, Inc. | Communication terminal, communication control method, and communication control program |
JP5038426B2 (ja) * | 2006-09-28 | 2012-10-03 | クゥアルコム・インコーポレイテッド | 通信リンク品質を判定する方法及び装置 |
JP4738358B2 (ja) * | 2007-01-31 | 2011-08-03 | 富士通株式会社 | 帯域計測方法及び装置 |
US8037126B2 (en) * | 2007-03-12 | 2011-10-11 | Citrix Systems, Inc. | Systems and methods of dynamically checking freshness of cached objects based on link status |
US8103783B2 (en) * | 2007-03-12 | 2012-01-24 | Citrix Systems, Inc. | Systems and methods of providing security and reliability to proxy caches |
US8701010B2 (en) * | 2007-03-12 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods of using the refresh button to determine freshness policy |
US7760642B2 (en) | 2007-03-12 | 2010-07-20 | Citrix Systems, Inc. | Systems and methods for providing quality of service precedence in TCP congestion control |
US20080228864A1 (en) * | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and methods for prefetching non-cacheable content for compression history |
US7584294B2 (en) * | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
US8504775B2 (en) * | 2007-03-12 | 2013-08-06 | Citrix Systems, Inc | Systems and methods of prefreshening cached objects based on user's current web page |
US7783757B2 (en) * | 2007-03-12 | 2010-08-24 | Citrix Systems, Inc. | Systems and methods of revalidating cached objects in parallel with request for object |
US7796510B2 (en) | 2007-03-12 | 2010-09-14 | Citrix Systems, Inc. | Systems and methods for providing virtual fair queueing of network traffic |
US7809818B2 (en) | 2007-03-12 | 2010-10-05 | Citrix Systems, Inc. | Systems and method of using HTTP head command for prefetching |
US7720936B2 (en) * | 2007-03-12 | 2010-05-18 | Citrix Systems, Inc. | Systems and methods of freshening and prefreshening a DNS cache |
US7706266B2 (en) * | 2007-03-12 | 2010-04-27 | Citrix Systems, Inc. | Systems and methods of providing proxy-based quality of service |
US8908700B2 (en) * | 2007-09-07 | 2014-12-09 | Citrix Systems, Inc. | Systems and methods for bridging a WAN accelerator with a security gateway |
JP4382153B2 (ja) * | 2007-12-12 | 2009-12-09 | パナソニック株式会社 | データ送受信システム、端末、中継機器及びデータ送信方法 |
JP2009231857A (ja) | 2008-03-19 | 2009-10-08 | Sony Corp | 通信制御装置、通信制御方法および通信制御プログラム |
US8699519B2 (en) * | 2008-09-19 | 2014-04-15 | Panasonic Corporation | Transmission rate control device and transmission rate control method |
JP5370368B2 (ja) * | 2008-10-07 | 2013-12-18 | 富士通株式会社 | 中継装置、端末装置および通信システム |
US8751627B2 (en) * | 2009-05-05 | 2014-06-10 | Accenture Global Services Limited | Method and system for application migration in a cloud |
JP5067405B2 (ja) * | 2009-08-11 | 2012-11-07 | 日本電気株式会社 | 通信システム、ゲートウェイ、パケット通信方法およびプログラム |
CN102577267B (zh) | 2009-09-16 | 2014-12-24 | 株式会社日立制作所 | 使终端之间的通信高速化的通信装置及通信系统 |
JP5581751B2 (ja) * | 2010-03-16 | 2014-09-03 | サクサ株式会社 | 通信制御装置および無線制御方法 |
US20140136653A1 (en) * | 2012-02-27 | 2014-05-15 | Qualcomm Incorporated | Dash client and receiver with download rate acceleration |
US9374406B2 (en) | 2012-02-27 | 2016-06-21 | Qualcomm Incorporated | Dash client and receiver with a download rate estimator |
US9503490B2 (en) | 2012-02-27 | 2016-11-22 | Qualcomm Incorporated | Dash client and receiver with buffer water-level decision-making |
WO2014162828A1 (ja) * | 2013-04-05 | 2014-10-09 | ソニー株式会社 | 中継管理装置、中継管理方法、プログラムおよび中継管理システム |
US9444755B2 (en) * | 2014-11-04 | 2016-09-13 | Anritsu Networks Co., Ltd. | Packet processing method and packet processing device |
JP6432976B2 (ja) * | 2014-11-19 | 2018-12-05 | 日本電気株式会社 | データ伝送装置、データ伝送方法およびプログラム |
US9674726B1 (en) * | 2014-11-21 | 2017-06-06 | Google Inc. | Methods and systems for improved bandwidth estimation |
CN104469538B (zh) * | 2014-12-09 | 2017-05-31 | 西安理工大学 | 面向画面画质较小损失的rtp视频流数据包重组方法 |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
CN106656431B (zh) | 2015-09-21 | 2020-09-29 | 华为技术有限公司 | 一种报文传输方法及用户设备 |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
JP2017152898A (ja) * | 2016-02-24 | 2017-08-31 | 富士通株式会社 | 空き帯域特定プログラム、空き帯域特定装置、および空き帯域特定方法 |
CN106304288A (zh) * | 2016-08-12 | 2017-01-04 | 辛建芳 | 无线传感网非实时数据传输的网关功率分配方法 |
US11463547B2 (en) | 2019-12-12 | 2022-10-04 | Google Llc | Reliable transport protocol and hardware architecture for datacenter networking |
US11496403B2 (en) * | 2020-02-24 | 2022-11-08 | Cloudflare, Inc. | Modifying the congestion control algorithm applied to a connection based on request characteristics |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226296B1 (en) * | 1997-01-16 | 2001-05-01 | Physical Optics Corporation | Metropolitan area network switching system and method of operation thereof |
JPH11127156A (ja) * | 1997-10-20 | 1999-05-11 | Fujitsu Ltd | 通信制御方式 |
US6317438B1 (en) * | 1998-04-14 | 2001-11-13 | Harold Herman Trebes, Jr. | System and method for providing peer-oriented control of telecommunications services |
US6097697A (en) * | 1998-07-17 | 2000-08-01 | Sitara Networks, Inc. | Congestion control |
JP2000156706A (ja) | 1998-11-19 | 2000-06-06 | Nippon Telegr & Teleph Corp <Ntt> | データ送受信方法並びにデータ送信プログラムを記憶した媒体及びデータ受信プログラムを記憶した媒体 |
US7133407B2 (en) * | 2000-01-25 | 2006-11-07 | Fujitsu Limited | Data communications system |
JP2001244968A (ja) * | 2000-02-28 | 2001-09-07 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送レート決定方法及びパケット転送装置 |
JP3494610B2 (ja) | 2000-02-28 | 2004-02-09 | 富士通株式会社 | Tcp終端機能付きipルータ装置および媒体 |
US6760309B1 (en) * | 2000-03-28 | 2004-07-06 | 3Com Corporation | Method of dynamic prioritization of time sensitive packets over a packet based network |
JP3526269B2 (ja) * | 2000-12-11 | 2004-05-10 | 株式会社東芝 | ネットワーク間中継装置及び該中継装置における転送スケジューリング方法 |
JP2002185488A (ja) | 2000-12-14 | 2002-06-28 | Nippon Telegr & Teleph Corp <Ntt> | 通信効率増幅装置 |
JP3558044B2 (ja) | 2001-02-09 | 2004-08-25 | 日本電気株式会社 | パケット転送レート監視制御装置、方法、及びプログラム |
WO2002096021A2 (en) * | 2001-05-18 | 2002-11-28 | Bytemobile, Inc. | Quality of service management for multiple connections within a network communication system |
JP2003008611A (ja) | 2001-06-21 | 2003-01-10 | Mitsubishi Electric Corp | データ中継装置およびデータ中継方法 |
JP3663627B2 (ja) | 2001-10-18 | 2005-06-22 | ソニー株式会社 | 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム |
JP3904922B2 (ja) * | 2001-12-28 | 2007-04-11 | 株式会社日立製作所 | トラヒックシェーパーおよび集線装置 |
-
2004
- 2004-07-07 US US10/563,879 patent/US8503294B2/en active Active
- 2004-07-07 JP JP2005511521A patent/JP4433202B2/ja not_active Expired - Fee Related
- 2004-07-07 CN CNB2004800261133A patent/CN100553217C/zh not_active Expired - Fee Related
- 2004-07-07 WO PCT/JP2004/009659 patent/WO2005006664A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20070008883A1 (en) | 2007-01-11 |
CN1849782A (zh) | 2006-10-18 |
WO2005006664A1 (ja) | 2005-01-20 |
US8503294B2 (en) | 2013-08-06 |
CN100553217C (zh) | 2009-10-21 |
JPWO2005006664A1 (ja) | 2007-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4433202B2 (ja) | トランスポート層中継方法及びトランスポート層中継装置並びにプログラム | |
JP7556579B2 (ja) | パケット伝送システムおよび方法 | |
JP5816718B2 (ja) | 通信装置、通信システム、およびデータ通信の中継方法 | |
Xu et al. | CMT-QA: Quality-aware adaptive concurrent multipath data transfer in heterogeneous wireless networks | |
JP3321043B2 (ja) | Tcpネットワーク内のデータ端末 | |
JP4430597B2 (ja) | ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム | |
US20060165029A1 (en) | Protecting real-time data in wireless networks | |
US20030123394A1 (en) | Flow control between performance enhancing proxies over variable bandwidth split links | |
US20050185621A1 (en) | Systems and methods for parallel communication | |
CN113194509B (zh) | 一种基于QoS的多网络融合传输系统及传输方法 | |
US20220294727A1 (en) | Systems and methods for managing data packet communications | |
Natarajan et al. | Non-renegable selective acknowledgments (NR-SACKs) for SCTP | |
JP5775214B2 (ja) | 適応性の伝送キュー長を用いたデータパケット損失低減システムおよび方法 | |
Man et al. | ImTCP: TCP with an inline measurement mechanism for available bandwidth | |
Sisalem et al. | The direct adjustment algorithm: A TCP-friendly adaptation scheme | |
Halepoto et al. | Management of buffer space for the concurrent multipath transfer over dissimilar paths | |
JP5723307B2 (ja) | パケット監視システム | |
Abd et al. | Improving throughput and reliability in mobile wireless networks via transport layer bandwidth aggregation | |
Hsiao et al. | Streaming video over TCP with receiver-based delay control | |
Elloumi et al. | A simulation-based study of TCP dynamics over HFC networks | |
Kadhum et al. | Fast Congestion Notification mechanism for ECN-capable routers | |
KADHUM et al. | A new congestion management mechanism for next generation routers | |
Natu et al. | GSC: a generic source-based congestion control algorithm for reliable multicast | |
Barakat et al. | TICP: Transport Information Collection Protocol | |
TW202335470A (zh) | 網路流壅塞管理裝置及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090911 |
|
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: 20091202 |
|
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: 20091215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4433202 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: 20130108 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |