JP4402619B2 - マルチキャスト通信フロー制御方法および装置 - Google Patents

マルチキャスト通信フロー制御方法および装置 Download PDF

Info

Publication number
JP4402619B2
JP4402619B2 JP2005162798A JP2005162798A JP4402619B2 JP 4402619 B2 JP4402619 B2 JP 4402619B2 JP 2005162798 A JP2005162798 A JP 2005162798A JP 2005162798 A JP2005162798 A JP 2005162798A JP 4402619 B2 JP4402619 B2 JP 4402619B2
Authority
JP
Japan
Prior art keywords
shaper
data
packet
owt
rate
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
Application number
JP2005162798A
Other languages
English (en)
Other versions
JP2006340081A (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.)
NTT Advanced Technology Corp
Nippon Telegraph and Telephone Corp
Original Assignee
NTT Advanced Technology Corp
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 NTT Advanced Technology Corp, Nippon Telegraph and Telephone Corp filed Critical NTT Advanced Technology Corp
Priority to JP2005162798A priority Critical patent/JP4402619B2/ja
Publication of JP2006340081A publication Critical patent/JP2006340081A/ja
Application granted granted Critical
Publication of JP4402619B2 publication Critical patent/JP4402619B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、マルチキャスト通信におけるフロー制御に利用する。
1つの送信端末から複数の受信端末へのデータ送信方法としてマルチキャスト通信が知られている。マルチキャスト通信は1つのパケットを途中のルータで複製することにより、ネットワークに流れるパケット量を減らし、トラヒックを削減することができる。
また、ネットワークの混雑を回避するためのフロー制御方法の一つにTCP Vegas(例えば、非特許文献1参照)が知られている。図13〜図15はTCP Vegasの処理の流れを示している。送信端末と受信端末とがデータの送受信を行う場合に、送信端末がデータ送信に対する正常な確認応答であるACK(ACKnowledgement)を受信端末から受信する際に図13の処理が開始される。図13〜図15に記載の変数については、BaseRTTはネットワークに輻輳が起きていない場合のデータ往復遅延時間(以下、RTT:Round
Trip Timeという)と定義されるが、実際は測定したRTTの中で最も小さい値である。cwndは輻輳ウィンドウサイズであり、送信端末はウィンドウサイズの値の数のパケットをまとめて送信する。rwndは受信端末で設定される広告ウィンドウサイズであり、送信端末はrwndより大きな値をcwndに設定しないようにする。
ssthreshはウィンドウサイズ増加の2つのアルゴリズム、スロースタートアルゴリズムと輻輳回避アルゴリズムのどちらを使用するかを決定する閾値である。gammaはスロースタートアルゴリズムから輻輳回避アルゴリズムへ移行する判断のための閾値である。alphaとbetaとはcwndの増減を決定する際の閾値をそれぞれ表す。ssthreshとgammaとalphaとbetaの初期値についてはそれぞれユーザが任意に設定可能である。
まず、送信端末は現在の時刻と受信したACKに対応するパケットを送信したときに記録した送信時刻からRTTを算出する(ステップS10)。
次に、RTTがBaseRTTより小さいか判断し(ステップS11)、真であればRTTの値を新たなBaseRTTの値とする(ステップS12)。
次に、ネットワークに輻輳が起きていない場合に期待されるスループットを表すExpectedを、cwndをBaseRTTで除算して算出し、実際のスループットを表すActualを、cwndをRTTで除算して算出し、さらにそれらの差であるDeltaを算出する(ステップS13)。cwndがssthreshより小さいか判断し、真であればスロースタートアルゴリズムである処理1へ、偽であれば輻輳回避アルゴリズムである処理2へ移る(ステップS14)。
スロースタートアルゴリズムでは、まず、Deltaがgammaより小さいか判断し(ステップS20)、偽であれば今後の処理を輻輳回避アルゴリズムに移行させるためにssthresh=2として(ステップS24)、処理を終了する。真であればcwndを2倍にして(ステップS21)、cwndがrwndを越えているか判断し(ステップS22)、越えていればrwndの値をcwndに設定し(ステップS23)、処理を終了する。
輻輳回避アルゴリズムでは、まず、Deltaがalphaより小さいか判断し(ステップS30)、真であればcwndを1増加させて(ステップS31)、cwndがrwndを越えているか判断し(ステップS32)、越えていればrwndの値をcwndに設定し(ステップS33)、処理を終了する。Deltaがalphaより大きければ、次に、Deltaがbetaより小さいか判断し(ステップS34)、真であれば処理は終了、偽であればcwndを1減少させて(ステップS35)、cwndが2より小さいか判断し(ステップS36)、真であればcwndの値を2として(ステップS37)、処理を終了する。
このような処理を行うことにより、ネットワークが混雑してきてキューイング遅延が大きくなり、RTTの値が大きくなると、Actualの値は小さくなるが、Expectedの値は変わらないため、Deltaの値は大きくなり、閾値betaを越えるとcwndを減少させて、送信するパケット数を減らすので、ネットワークの流量は減少し、輻輳を回避することができる。
逆に、ネットワークに空きが出てきて、RTTの値が小さくなると、Deltaの値が小さくなり、alphaより小さくなるとcwndを増加させてパケットの流量を増加させるので、ネットワークの帯域を有効に利用できる。
最終的にはDeltaはalphaとbetaとの間の値をとるようになり、cwndは変化せずに安定した状態に収束する。
ところが、既存のコネクションに対し、新たにコネクションが加わった場合には、一般的にウィンドウサイズは異なる値で収束してしまい、コネクション間でウィンドウサイズが不公平なまま安定してしまう。この問題を解決するために、図15におけるパラメータalphaとbetaの値を等しくする方法(例えば、非特許文献2参照)が知られている。alphaとbetaの値を等しくすることにより、ウィンドウサイズが固定しないため、不公平なまま安定することを防いでいる。
Lawrence S.Brakmo,Larry L.Peterson,"TCP Vegas:End to End Congestion Avoidance on a Global Internet"IEEE Journal on Selectd Areas in Communications,Vol.13,No.8,October 1995,pg.1465−1480 Go Hasegawa,Masayuki Murata,and Hideo Miyahara,"Fairness and Stability of Congestion Control Mechanisms of TCP",Proc.of IEEE INFOCOM,Mar.1999,pages 1329−1336
マルチキャスト通信は、コネクションレス型の通信であるため、パケットロスを検出したり、RTTを測定したりすることができない。よって、フロー制御は困難であり、トラヒックが増加して、ネットワークに輻輳が起きると、マルチキャスト通信のパケットロスが発生してしまうという問題点がある。
また、複数のマルチキャスト通信が混在した場合には、マルチキャスト通信間での公平性を保つことが困難であるという問題点もある。
ネットワークの帯域を有効に利用しつつ、ネットワークの輻輳を防ぐことができるフロー制御方法であるTCP VegasはACKを受信してRTTを測定することによって動作する方法であり、ACKを用いないコネクションレス型の通信であるマルチキャスト通信にそのまま適用することは不可能である。
本発明は、上記の問題点を解決するためになされたもので、TCP Vegasのアルゴリズムと同等のフロー制御を行い、ネットワークを有効に利用し、複数マルチキャスト通信間の公平性を保つマルチキャスト通信を提供することにある。
本発明の第一の観点は、送信端末と複数の受信端末とがそれぞれの端末装置に接続されたシェーパを経由してデータ送受信を行うマルチキャスト通信に適用されるフロー制御方法である。
ここで、本発明の特徴とするところは、送信端末に接続されているシェーパは、予め設定された時間間隔毎に送信時刻を記録したRTT測定パケットを受信端末に接続されている複数のシェーパに送信し、受信端末に接続されているシェーパは、受信したRTT測定パケットに記録してある送信時刻を記録した応答パケットを送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、複数の応答パケットを受信し、その中で最も遅く受信した応答パケットの受信時刻と当該応答パケットに記録してある送信時刻との差分からRTTを算出し、このRTTが自シェーパで保持している最短RTTよりも短い場合には、当該RTTを新しい最短RTTとして保持し、前記RTTを最短RTTで除算したものにデータの優先度毎に設定されるデータ送信レートを乗算して期待されるデータ送信レートを得て、期待されるデータ送信レートから現在のデータ送信レートを減算してレート差分を得て、レート差分が優先度毎の所定の閾値よりも小さい場合にはデータ送信レートを増やし、レート差分が優先度毎の所定の閾値よりも大きい場合にはデータ送信レートを減らし、当該データ送信レートの増減により求めたデータ送信レートを最適データ送信レートとして採用するところにある。
これにより、マルチキャスト通信においてもRTTを測定し、最適なデータ送信レートを算出することができる。したがって、TCP Vegasのアルゴリズムと同等のフロー制御を行い、ネットワークを有効に利用し、複数マルチキャスト通信間の公平性を保つマルチキャスト通信を提供することができる。
あるいは、送信端末に接続されているシェーパが予め設定された時間間隔毎に送信時刻を記録したRTT測定パケットを受信端末に接続されている複数のシェーパに送信する代わりに、送信端末に接続されているシェーパは、送信時刻を記録したRTT測定パケットを受信端末に接続されている複数のシェーパに送信し、受信端末に接続されているシェーパは、受信したRTT測定パケットに記録してある送信時刻を記録した応答パケットを送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、複数の応答パケットを受信し、その中で最も遅く受信した応答パケットの送信元のシェーパを測定対象シェーパとし、予め設定された時間間隔毎に、予め設定された回数だけ、当該測定対象シェーパに対し送信時刻を記録したRTT測定パケットを送信し、このRTT測定パケットを受信した測定対象シェーパは、RTT測定パケットに記録されている送信時刻を記録した応答パケットを前記送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、この応答パケットに基づきRTTを算出して前記最適データ送信レートを算出することを前記予め設定された回数繰り返し、前記予め設定された回数のRTT測定パケットの送信後は、再び、受信端末に接続されている複数のシェーパに送信時刻を記録したRTT測定パケットを送信し、新たな測定対象シェーパを決定するという処理を繰り返すこともできる。
これによれば、測定対象シェーパを限定し、送信端末に接続されているシェーパは、当該測定対象シェーパに対してのみRTT測定パケットを繰り返し送信して当該測定対象シェーパからの応答パケットを受信するという処理を行うことができるため、RTT測定に要するネットワーク資源および通信帯域を低減させて有効利用することができる。
また、送信端末に接続されているシェーパは、RTT測定パケットに代えて、送信端末から送信されるデータパケットにシェーパでの送信時刻を記録し、受信端末に接続されているシェーパは、受信したデータパケットに記録されている送信時刻を記録した応答パケットを前記送信端末に接続されているシェーパに送信することもできる。
これによれば、RTT測定専用のパケットを用意する必要がなく、RTT測定のためだけに通信帯域を使用することがないため、通信帯域を有効利用することができる。
また、送信端末に接続されているシェーパは、送信時刻を記録したRTT測定パケットあるいはデータパケットを送信してから、予め設定されたRTT最大許容値を越えても、受信端末に接続されているシェーパからの応答パケットの受信がない場合には、そのシェーパへのデータパケット送信を中止することができる。
例えば、受信端末または伝送路またはシェーパ自身の障害などにより、RTTが異常に大きくなった場合には、このようなシェーパへのデータパケットの送信は無意味であるから、予め設定されたRTT最大許容値を越えたシェーパに対してはデータパケットの送信を中止することにより、無効となる通信を回避することができる。
あるいは、本発明のフロー制御方法は、送信端末に接続されているシェーパは、予め設定された時間間隔毎に送信時刻を記録したデータ片方向遅延時間(以下、OWT:One Way trip Timeという)測定パケットを受信端末に接続されている複数のシェーパに送信し、受信端末に接続されているシェーパは、受信したOWT測定パケットに記録してある送信時刻と当該OWT測定パケットの受信時刻との差分からOWTを算出し、OWTを記録したOWT通知パケットを送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、受信した複数のOWT通知パケットに記録してあるOWTを比較し、その中で最大の値を代表OWTとし、代表OWTが自シェーパで保持している最短OWTよりも短い場合には、当該代表OWTを新しい最短OWTとして保持し、代表OWTを最短OWTで除算したものにデータの優先度毎に設定されるデータ送信レートを乗算して期待されるデータ送信レートを得て、期待されるデータ送信レートから現在のデータ送信レートを減算してレート差分を得て、レート差分が優先度毎の所定の閾値よりも小さい場合にはデータ送信レートを増やし、レート差分が優先度毎の所定の閾値よりも大きい場合にはデータ送信レートを減らし、当該データ送信レートの増減により求めたデータ送信レートを最適データ送信レートとして採用することを特徴とする。
これにより、マルチキャスト通信においてもOWTを測定し、最適なデータ送信レートを算出することができる。
あるいは、送信端末に接続されているシェーパが予め設定された時間間隔毎に送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信する代わりに、送信端末に接続されているシェーパは、送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信し、受信端末に接続されているシェーパは、受信したOWT測定パケットに記録してある送信時刻と当該OWT測定パケットの受信時刻との差分からOWTを算出し、当該OWTを記録したOWT通知パケットを前記送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、複数のOWT通知パケットを受信し、その中で最も大きなOWTが記録されたOWT通知パケットの送信元のシェーパを測定対象シェーパとし、予め設定された時間間隔毎に、予め設定された回数だけ、当該測定対象シェーパに対し送信時刻を記録したOWT測定パケットを送信し、このOWT測定パケットを受信した測定対象シェーパは、OWT測定パケットに記録されている送信時刻と当該OWT測定パケットの受信時刻との差分からデータ片方方向遅延時間を算出した結果を記録したOWT通知パケットを前記送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、このOWT通知パケットに記録されたOWTに基づき前記最適データ送信レートを算出することを前記予め設定された回数繰り返し、前記予め設定された回数のOWT測定パケットの送信後は、再び、受信端末に接続されている複数のシェーパに送信時刻を記録したOWT測定パケットを送信し、新たな測定対象シェーパを決定するという処理を繰り返すこともできる。
これによれば、測定対象シェーパを限定し、当該測定対象シェーパに対してのみOWT測定パケットを繰り返し送信して当該測定対象シェーパからのOWT通知パケットを受信するという処理を行うことができるため、OWT測定に要するネットワーク資源および通信帯域を低減させて有効利用することができる。
また、送信端末に接続されているシェーパは、OWT測定パケットに代えて、送信端末から送信されるデータパケットにシェーパでの送信時刻を記録し、受信端末に接続されているシェーパは、受信したデータパケットに記録されている送信時刻と当該データパケットの受信時刻との差分から算出したOWTを記録したOWT通知パケットを前記送信端末に接続されているシェーパに送信することもできる。
これによれば、OWT測定専用のパケットを用意する必要がなく、OWT測定のためだけに通信帯域を使用することがないため、通信帯域を有効利用することができる。
また、送信端末に接続されているシェーパは、OWT通知パケットに記録されているOWTが、予め設定されたOWT最大許容値を越えている場合には、そのシェーパへのデータパケット送信を中止することができる。
例えば、受信端末または伝送路またはシェーパ自身の障害などにより、OWTが異常に大きくなった場合には、このようなシェーパへのデータパケットの送信は無意味であるから、予め設定されたOWT最大許容値を越えたシェーパに対してはデータパケットの送信を中止することにより、無効となる通信を回避することができる。
あるいは、本発明のフロー制御方法は、送信端末に接続されているシェーパは、予め設定された時間間隔毎に送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信し、受信端末に接続されているシェーパは、受信したOWT測定パケットに記録してある送信時刻と当該OWT測定パケットの受信時刻との差分からOWTを算出し、当該OWTが自シェーパで保持している最短OWTよりも短い場合には、当該OWTを新しい最短OWTとして保持し、OWTを最短OWTで除算したものにデータの優先度毎に設定されるデータ送信レートを乗算して期待されるデータ送信レートを得て、期待されるデータ送信レートから現在のデータ送信レートを減算してレート差分を得て、レート差分が優先度毎の所定の閾値よりも小さい場合にはデータ送信レートを増やし、レート差分が優先度毎の所定の閾値よりも大きい場合にはデータ送信レートを減らし、当該データ送信レートの増減により求めたデータ送信レートを記録したレート通知パケットを送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、受信した複数のレート通知パケットに記録されているデータ送信レートを比較し、その中で最小の値を最適データ送信レートとして採用することを特徴とする。
これによれば、受信端末に接続されているシェーパがOWTを算出するため、送信端末に接続されているシェーパにおける演算処理の負荷を軽減させることができる。特に、本発明が適用されるマルチキャスト通信は、1対多通信であることから、受信端末に接続されている多数のシェーパに演算処理の負荷を分散させることによる送信端末に接続されているシェーパにおける演算処理の負荷軽減効果は大きい。
あるいは、送信端末に接続されているシェーパが予め設定された時間間隔毎に送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信する代わりに、送信端末に接続されているシェーパは、送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信し、受信端末に接続されているシェーパは、受信したOWT測定パケットに記録してある送信時刻と当該OWT測定パケットの受信時刻との差分からOWTを算出し、当該OWTが自シェーパで保持している最短OWTよりも短い場合には、当該OWTを新しい最短OWTとして保持し、OWTを最短OWTで除算したものにデータの優先度毎に設定されるデータ送信レートを乗算して期待されるデータ送信レートを得て、期待されるデータ送信レートから現在のデータ送信レートを減算してレート差分を得て、レート差分が優先度毎の所定の閾値よりも小さい場合にはデータ送信レートを増やし、レート差分が優先度毎の所定の閾値よりも大きい場合にはデータ送信レートを減らし、当該データ送信レートの増減により求めたデータ送信レートを記録したレート通知パケットを送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、受信した複数のレート通知パケットに記録されているデータ送信レートの中で最も小さな値のデータ送信レートを記録したレート通知パケットの送信元のシェーパを測定対象シェーパとし、当該測定対象シェーパに、予め設定された時間間隔毎に、予め設定された回数だけ、送信時刻を記録したOWT測定パケットを送信し、測定対象シェーパは、OWTを算出し、データ送信レートを算出し、データ送信レートを記録したレート通知パケットを前記送信端末に接続されているシェーパに送信し、送信端末に接続されているシェーパは、受信したレート通知パケットに記録されているデータ送信レートを採用することを繰り返し、予め設定された回数の送信後は、再び受信端末に接続されている複数のシェーパに送信時刻を記録したパケットを送信し、新たな測定対象シェーパを決定するという処理を繰り返すこともできる。
これによれば、測定対象シェーパを限定し、当該測定対象シェーパに対してのみOWT測定パケットを繰り返し送信して当該測定対象シェーパからのレート通知パケットを受信するという処理を行うことができるため、OWT測定に要するネットワーク資源および通信帯域を低減させて有効利用することができる。
また、送信端末に接続されているシェーパは、OWT測定パケットに代えて、送信端末から送信されるデータパケットにシェーパでの送信時刻を記録し、受信端末に接続されているシェーパは、受信したデータパケットに記録されている送信時刻と当該データパケットの受信時刻との差分からOWTを算出してデータ送信レートの算出を行い、当該データ送信レートを記録したレート通知パケットを前記送信端末に接続されているシェーパに送信することもできる。
これによれば、OWT測定専用のパケットを用意する必要がなく、OWT測定のためだけに通信帯域を使用することがないため、通信帯域を有効利用することができる。
また、送信端末に接続されているシェーパは、レート通知パケットに記録されているデータ送信レートが、予め設定されたデータ送信レート最小許容値より小さい場合には、そのデータ送信レートを通知したシェーパへのデータパケット送信を中止することができる。
例えば、受信端末または伝送路またはシェーパ自身の障害などにより、OWTが異常に大きくなった場合には、このようなシェーパへのデータパケットの送信は無意味であるから、予め設定されたデータ送信レート最小許容値より小さいデータ送信レートとなるシェーパに対してはデータパケットの送信を中止することにより、無効となる通信を回避することができる。
本発明の第二の観点は、本発明のフロー制御方法を実行する手段を備えたシェーパ装置である。
本発明の第三の観点は、情報処理装置にインストールすることにより、その情報処理装置に、本発明のシェーパ装置に相応する機能を実現させるプログラムである。本発明のプログラムは記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
これにより、汎用の情報処理装置を用いて、本発明のシェーパ装置を実現することができる。
本発明によれば、シェーパがRTTもしくはOWTを測定し、それを用いてTCP Vegasと同等のフロー制御を行うことにより、ネットワークを有効に利用し、複数マルチキャスト通信間の公平性を保ち、ネットワークの輻輳を防ぐマルチキャスト通信を実現することが可能となる。
(第一の実施の形態)
図1は本発明の実施形態の構成を表している。送信端末1−1、1−2はシェーパ11を経由してデータパケットのマルチキャスト送信を行う装置であり、受信端末2−1〜2−n2と、受信端末3−1〜3−n3と、受信端末4−1〜4−n4とはシェーパ12とシェーパ13とシェーパ14とを経由してデータパケットの受信を行う装置である。
図2は送信側シェーパであるシェーパ11のブロック図を表し、図3は受信側シェーパであるシェーパ12とシェーパ13とシェーパ14のブロック図を表している。
シェーパ11はRTTの測定を行うが、その中で最短のRTTを表すBaseRTTを受信側シェーパ毎の値としてBaseRTTリスト106に保持し、優先度毎に決定されるデータ送信レートを表すrateを送信レートリスト108に保持し、RTTの測定間隔時間を表すintervalと、パケットの最大転送単位を表すMTU(Maximum Transmission Unit:最大転送単位)と、データの送信レートの増減に関わる閾値alphaを記憶領域に格納する。
また、シェーパ11はデータパケットのTOSフィールド中の優先度毎にパケットをキューに格納し、送信レートリスト108で保持しているデータ送信レートに則って、キューから順次パケットを読み込んで送信を行う。
また、intervalの値とrateの初期値とalphaの値とMTUの値とはユーザがあらかじめ設定しておく。
図1において、送信端末1−1が受信端末2−1〜2−n2と受信端末3−1〜3−n3と受信端末4−1〜4−n4とにパケットをマルチキャスト送信すると、シェーパ11は送信端末1−1から送信されるパケットを取り込み、キューに格納し、送信レートリスト108に保持してあるデータ送信レートでパケットを送信しつつ、RTT測定を開始し、以後、測定間隔時間であるintervalの時間経過毎にRTT測定を行う。
図4、図5はRTTを測定して適切なデータ送信レートを設定する処理の流れを示している。以下、図4の処理について説明する。まず、シェーパ11はクロック101から時刻情報を得て、送信時刻を記録したUDPパケット(以後、RTT測定パケットと呼ぶ)をRTT測定パケット生成部102にて生成し、RTT測定パケット送信部103からシェーパ12とシェーパ13とシェーパ14とにマルチキャスト送信する(ステップS40)。
シェーパ12とシェーパ13とシェーパ14とはRTT測定パケット受信部109にてRTT測定パケットを受信する(ステップS41)。シェーパ12とシェーパ13とシェーパ14とは受信したRTTパケットに記録されている送信時刻を記録したUDPパケット(以後、応答パケットと呼ぶ)を応答パケット生成部110にて生成し、応答パケット送信部111からシェーパ11にユニキャスト送信する(ステップS42)。
シェーパ11はシェーパ12とシェーパ13とシェーパ14とからの応答パケットを応答パケット受信部104にて受信する(ステップS43)。シェーパ11はRTT演算部105にて、最も遅くに受信した応答パケットに記録されている送信時刻とクロック101から得た応答パケットの受信時刻との差分からRTTを算出し(ステップS44)、送信レート演算部107にてレート算出を行う(ステップS45)。算出した送信レートをrateに設定し、送信レートリスト108に格納する(ステップS46)。次回以降のデータ送信においては、ここまでの処理で得られたrateを適用する。
以下、図5を用いて図4のステップS45のレート算出処理について詳細を説明する。
シェーパ11はBaseRTTリスト106で保持している該当シェーパに対応するBaseRTTと算出したRTTとを比較し(ステップS50)、算出したRTTがBaseRTTより短い時間の場合には、BaseRTTに算出したRTTを設定し、BaseRTTリスト106に格納する(ステップS51)。ここで、BaseRTTの方がRTTより短い時間である場合にはBaseRTTの更新は行わない。
次に、シェーパ11はRTTとBaseRTTとrateとから、ネットワークに輻輳が起きていない場合に期待されるデータ送信レートであるExpectedと実際のデータ送信レートであるActualとを算出し、ExpectedとActualとの差分にBaseRTTを乗算し、期待されるデータ送信と実際のデータ送信とのレート差分にあたるDeltaを算出し(ステップS52)、Deltaとalphaとを比較する(ステップS53)。
Deltaがalphaより小さい場合には、データ送信レートを増やしてもよいと判断し、最大転送単位MTUの大きさのパケット1つを送信した場合のレート分、すなわち、MTUをRTTで除算した値をrateに加算し、送信レートリスト108に格納する(ステップS54)。逆に、ネットワークが混雑してくると、RTTが増加するため、これに伴いDeltaはalphaより大きくなり、データ送信レートを減らす必要があると判断し、最大転送単位MTUの大きさのパケット1つを送信した場合のレート分、すなわち、MTUをRTTで除算した値をrateから減算し(ステップS55)、パケットの流量を減らすため、ネットワークの輻輳を回避することができる。
また、シェーパ11は優先度毎に分けたキュー毎にrateとalphaとの値を設定して、rateを算出することにより、rateに差をつけて、優先度別の制御を行うことができる。alphaの値を大きくするほどrateは大きくなり易いため、alphaの値を大きく設定したキューに優先度の高いパケットを格納してalphaの値を小さく設定したキューに優先度の低いパケットを格納することにより、QoS制御を行うことができる。
また、シェーパ11に送信端末1−1と送信端末1−2と複数の送信端末が接続され、送信端末1−1と送信端末1−2とが同じ優先度でマルチキャスト送信を行う場合には、送信端末1−1から送信されるパケットと送信端末1−2から送信されるパケットをシェーパ11の同じキューに格納し、同じrateを用いて送信制御を行うことにより、送信端末1−1と送信端末1−2との公平性を実現することができる。
また、まずは、シェーパ11がRTT測定パケットをシェーパ12とシェーパ13とシェーパ14とにマルチキャスト送信し、シェーパ12とシェーパ13とシェーパ14とが応答パケットを送信し、シェーパ11はそれぞれのシェーパからの応答パケットを受信するが、例えば、シェーパ12からの応答パケットを最も遅く受信した場合には、シェーパ12を測定対象シェーパに設定し、次回から予め設定しておいた回数であるN回は測定対象シェーパであるシェーパ12だけにRTT測定パケットをユニキャスト送信して、RTTを算出し、レート算出を行い、N回の測定後は、再びシェーパ12とシェーパ13とシェーパ14とにRTT測定パケットをマルチキャスト送信し、測定対象シェーパを新たに設定するということを繰り返す方法もある。この方法により、測定対象シェーパのみにRTT測定パケットを送信すればよいので、ネットワーク上に流れるパケット量を減らすことができる。
また、シェーパ11は予めRTT最大許容値を設定しておき、RTT測定パケットを送信してから、RTT最大許容値の時間を過ぎても、応答パケットの返信がないシェーパがあった場合には、そのシェーパへの経路のネットワークに何らかの問題が発生していると判断し、ネットワークに問題のないシェーパへの送信に影響することを防ぐため、応答パケットの返信がないシェーパへのマルチキャスト送信を中止する方法もある。
また、シェーパ11はRTT測定の際に、RTT測定パケットを用いず、送信端末1−1が送信するデータパケットにシェーパ11での送信時刻を記録し、シェーパ12とシェーパ13とシェーパ14とは、このデータパケットを受信し、記録されている送信時刻を記録した応答パケットをシェーパ11に送信する方法もある。この方法により、データパケットを用いてRTTを測定することで、ネットワークの流量を増やさずにRTT測定を行うことができる。
(第二の実施の形態)
図1は本発明の実施形態の構成を表している。送信端末1−1、1−2はシェーパ11を経由してデータパケットのマルチキャスト送信を行う装置であり、受信端末2−1〜2−n2と、受信端末3−1〜3−n3と、受信端末4−1〜4−n4とはシェーパ12とシェーパ13とシェーパ14とを経由してデータパケットの受信を行う装置である。
図6は送信側シェーパであるシェーパ11のブロック図を表し、図7は受信側シェーパであるシェーパ12とシェーパ13とシェーパ14のブロック図を表している。
シェーパ11はOWTの測定を行うが、その中で最短のOWTを表すBaseOWTを受信側シェーパ毎の値としてBaseOWTリスト206に保持し、優先度毎に決定されるデータ送信レートを表すrateを送信レートリスト208に保持し、OWTの測定間隔時間を表すintervalと、パケットの最大転送単位を表すMTU(Maximum Transmission Unit:最大転送単位)と、データの送信レートの増減に関わる閾値alphaを記憶領域に格納する。
また、シェーパ11はデータパケットのTOSフィールド中の優先度毎にパケットをキューに格納し、送信レートリスト208で保持しているデータ送信レートに則って、キューから順次パケットを読み込んで送信を行う。
また、intervalの値とrateの初期値とalphaの値とMTUの値とはユーザが予め設定しておく。図1において、送信端末1−1が受信端末2−1〜2−n2と受信端末3−1〜3−n3と受信端末4−1〜4−n4とにパケットをマルチキャスト送信すると、シェーパ11は送信端末1−1から送信されるパケットを取り込み、キューに格納し、送信レートリスト208に保持してあるデータ送信レートでパケットを送信しつつ、OWT測定を開始し、以後、測定間隔時間であるintervalの時間経過毎にOWT測定を行う。
図8、図9はOWTを測定して適切なデータ送信レートを設定する処理の流れを示している。以下、図8の処理について説明する。まず、シェーパ11はクロック201から時刻情報を得て、送信時刻を記録したUDPパケット(以後、OWT測定パケットと呼ぶ)をOWT測定パケット生成部202にて生成し、OWT測定パケット送信部203からシェーパ12とシェーパ13とシェーパ14とにマルチキャスト送信する(ステップS60)。シェーパ12とシェーパ13とシェーパ14とはOWT測定パケット受信部209にてOWT測定パケットを受信する(ステップS61)。シェーパ12とシェーパ13とシェーパ14とはクロック211から得たOWT測定パケットの受信時刻とOWT測定パケットに記録されている送信時刻からOWT演算部210にてOWTを算出する(ステップS62)。
シェーパ12とシェーパ13とシェーパ14とは算出したOWTを記録したUDPパケット(以後、OWT通知パケットと呼ぶ)をOWT通知パケット生成部212にて生成し、OWT通知パケット送信部213からシェーパ11にユニキャスト送信する(ステップS63)。シェーパ11はシェーパ12とシェーパ13とシェーパ14とからのOWT通知パケットをOWT通知パケット受信部204にて受信する(ステップS64)。シェーパ11はOWT比較部205にて、受信したOWT通知パケットに記録されているOWTの中で最も大きな値を代表OWTに設定し(ステップS65)、代表OWTを用いて送信レート演算部207にてレート算出を行う(ステップS66)。算出したレートの値をrateに設定し、送信レートリスト208に格納する(ステップS67)。次回以降のデータ送信においては、ここまでの処理で得られたrateを適用する。
以下、図9を用いて図8のステップS66のレート算出処理について詳細を説明する。
シェーパ11はBaseOWTリスト206で保持している該当シェーパに対応するBaseOWTと代表OWTとを比較し(ステップS70)、代表OWTがBaseOWTより短い時間の場合に、BaseOWTに代表OWTを設定し、BaseOWTリスト206に格納する(ステップS71)。ここで、BaseOWTの方が代表OWTより短い時間である場合にはBaseOWTの更新は行わない。
次に、シェーパは代表OWTとBaseOWTとrateとから、ネットワークに輻輳が起きていない場合に期待されるデータ送信レートであるExpectedと実際のデータ送信レートであるActualとを算出し、ExpectedとActualとの差分にBaseOWTを乗算し、期待されるデータ送信と実際のデータ送信とのレート差分にあたるDeltaを算出し(ステップS72)、Deltaとalphaとを比較する(ステップS73)。
Deltaがalphaより小さい場合には、データ送信レートを増やしてもよいと判断し、最大転送単位MTUの大きさのパケット1つを送信した場合のレート分、すなわち、MTUをOWTで除算した値をrateに加算し、送信レートリスト208に格納する(ステップS74)。逆に、ネットワークが混雑してくると、OWTが増加するため、これに伴いDeltaはalphaより大きくなり、データ送信レートを減らす必要があると判断し、最大転送単位MTUの大きさのパケット1つを送信した場合のレート分、すなわち、MTUをOWTで除算した値をrateから減算し(ステップS75)、パケットの流量を減らすため、ネットワークの輻輳を回避することができる。
また、シェーパ11は優先度毎に分けたキュー毎にrateとalphaとの値を設定して、rateを算出することにより、rateに差をつけて、優先度別の制御を行うことができる。alphaの値を大きくするほどrateは大きくなり易いため、alphaの値を大きく設定したキューに優先度の高いパケットを格納して、alphaの値を小さく設定したキューに優先度の低いパケットを格納することにより、QoS制御を行うことができる。
また、シェーパ11に送信端末1−1と送信端末1−2と複数の送信端末が接続され、送信端末1−1と送信端末1−2とが同じ優先度でマルチキャスト送信を行う場合には、送信端末1−1から送信されるパケットと送信端末1−2から送信されるパケットをシェーパ11の同じキューに格納し、同じrateを用いて送信制御を行うことにより、送信端末1−1と送信端末1−2との公平性を実現することができる。
また、まずは、シェーパ11がOWT測定パケットをシェーパ12とシェーパ13とシェーパ14とにマルチキャスト送信し、シェーパ12とシェーパ13とシェーパ14とがOWTを算出し、OWT通知パケットを送信し、シェーパ11はシェーパ12とシェーパ13とシェーパ14とから通知されたOWTを比較するが、例えば、シェーパ12から通知されたOWTが最も大きい値だった場合には、シェーパ12を測定対象シェーパに設定し、次回から予め設定しておいた回数であるN回は測定対象シェーパであるシェーパ12だけにOWT測定パケットをユニキャスト送信してレート算出を行う。N回の測定後は、再びシェーパ12とシェーパ13とシェーパ14とにOWT測定パケットをマルチキャスト送信し、測定対象シェーパを新たに設定するということを繰り返す方法もある。この方法により、測定対象シェーパのみにOWT測定パケットを送信すればよいので、ネットワーク上に流れるパケット量を減らすことができる。
また、シェーパ11は予めOWT最大許容値を設定しておき、シェーパ12とシェーパ13とシェーパ14とから通知されるOWTを比較するときに、OWT最大許容値より通知されたOWTが大きい場合には、そのOWTを通知したシェーパへの経路のネットワークに何らかの問題が発生していると判断し、ネットワークに問題のないシェーパへの送信に影響することを防ぐため、OWT最大許容値より大きいOWTを通知したシェーパへのマルチキャスト送信を中止する方法もある。
また、シェーパ11はOWT測定の際に、OWT測定パケットを用いず、送信端末1−1が送信するデータパケットにシェーパ11での送信時刻を記録し、シェーパ12とシェーパ13とシェーパ14とはこのデータパケットを受信し、記録されている送信時刻と、データパケットの受信時刻との差分からOWTを算出する方法もある。この方法により、データパケットを用いてOWTを測定することで、ネットワーク流量を増やさずにOWT測定を行うことができる。
(第三の実施の形態)
図1は本発明の実施形態の構成を表している。送信端末1−1、1−2はシェーパ11を経由してデータパケットのマルチキャスト送信を行う装置であり、受信端末2−1〜2−n2と、受信端末3−1〜3−n3と、受信端末4−1〜4−n4とはシェーパ12とシェーパ13とシェーパ14とを経由してデータパケットの受信を行う装置である。
図10は送信側シェーパであるシェーパ11のブロック図を表し、図11は受信側シェーパであるシェーパ12とシェーパ13とシェーパ14のブロック図を表している。
シェーパ11は優先度毎に決定されるデータ送信レートを表すrateを送信レートリスト306に保持し、OWTの測定間隔時間を表すintervalを記憶領域に格納する。シェーパ12とシェーパ13とシェーパ14とはそれぞれ、データの片方向遅延時間を表すOWTの中で最短のOWTを表すBaseOWTを送信側シェーパ毎の値としてBaseOWTリスト310に保持し、パケットの最大転送単位を表すMTUと、データの送信レートの増減に関わる閾値alphaを記憶領域に格納する。
また、シェーパ11はデータパケットのTOSフィールド中の優先度毎にパケットをキューに格納し、送信レートリスト306で保持しているデータ送信レートに則って、キューから順次パケットを読み込んで送信を行う。
また、intervalの値とrateの初期値とalphaの値とMTUの値とはユーザが予め設定しておく。図1において、送信端末1−1が受信端末2−1〜2−n2と受信端末3−1〜3−n3と受信端末4−1〜4−n4とにパケットをマルチキャスト送信すると、シェーパ11は送信端末1−1から送信されるパケットを取り込み、キューに格納し、送信レートリスト306に保持してあるデータ送信レートでパケットを送信しつつ、OWT測定を開始し、以後、測定間隔時間であるintervalの時間経過毎にOWTの測定を行う。
図12、図9はOWTを測定して適切なデータ送信レートを設定する処理の流れを示している。以下、図12の処理について説明する。まず、シェーパ11はクロック301から時刻情報を得て、送信時刻と送信レートリスト306から得た現在のデータ送信レートを記録したUDPパケット(以後、OWT測定パケットと呼ぶ)をOWT測定パケット生成部302にて生成し、OWT測定パケット送信部303からシェーパ12とシェーパ13とシェーパ14とにマルチキャスト送信する(ステップS80)。
シェーパ12とシェーパ13とシェーパ14とはOWT測定パケット受信部307にてOWT測定パケットを受信する(ステップS81)。シェーパ12とシェーパ13とシェーパ14とはクロック309から得たOWT測定パケットの受信時刻とOWT測定パケットに記録されている送信時刻からOWT演算部308にてOWTを算出し(ステップS82)、レート算出部311にてレート算出を行う(ステップS83)。
シェーパ12とシェーパ13とシェーパ14とは算出したレート結果を記録したUDPパケット(以後、レート通知パケットと呼ぶ)をレート通知パケット生成部312にて生成し、レート通知パケット送信部313からシェーパ11へユニキャスト送信する(ステップS84)。シェーパ11はシェーパ12とシェーパ13とシェーパ14とからのレート通知パケットをレート通知パケット受信部304にて受信する(ステップS85)。シェーパ11はレート比較部305にて、受信したレート通知パケットに記録されているレートの中で最も小さい値をrateに設定し、送信レートリスト306に格納する(ステップS86)。次回以降のデータ送信においては、ここまでの処理で得られたrateを適用する。
以下、図9を用いて図12のステップS83のレート算出処理について詳細を説明する。
シェーパ12とシェーパ13とシェーパ14とはBaseOWTリスト310で保持している該当シェーパに対応するBaseOWTと算出したOWTとを比較し(ステップS70)、OWTがBaseOWTより短い時間の場合には、BaseOWTにOWTを設定し、BaseOWTリスト310に格納する(ステップS71)。ここで、BaseOWTの方がOWTより短い時間である場合にはBaseOWTの更新は行わない。
次に、シェーパはOWTとBaseOWTとOWT測定パケットに記録されているデータ送信レートrateとから、ネットワークに輻輳が起きていない場合に期待されるデータ送信レートであるExpectedと実際のデータ送信レートであるActualとを算出し、ExpectedとActualとの差分にBaseOWTを乗算し、期待されるデータ送信と実際のデータ送信とのレート差分にあたるDeltaを算出し(ステップS72)、Deltaとalphaとを比較する(ステップS73)。
Deltaがalphaより小さい場合には、データ送信レートを増やしてもよいと判断し、最大転送単位MTUの大きさのパケット1つを送信した場合のレート分、すなわち、MTUをOWTで除算した値をrateに加算する(ステップS74)。逆に、ネットワークが混雑してくると、OWTが増加するため、これに伴いDeltaはalphaより大きくなり、データ送信レートを減らす必要があると判断し、最大転送単位MTUの大きさのパケット1つを送信した場合のレート分、すなわち、MTUをOWTで除算した値をrateから減算し(ステップS75)、パケットの流量を減らすため、ネットワークの輻輳を回避することができる。
また、シェーパ12とシェーパ13とシェーパ14とは優先度毎にalphaの値を設定して、rateを算出することにより、rateに差をつけて、優先度別の制御を行うことができる。alphaの値を大きくするほどrateは大きくなりやすいため、alphaの値を大きく設定したキューに優先度の高いパケットを格納して、alphaの値を小さく設定したキューに優先度の低いパケットを格納することにより、QoS制御をすることができる。
また、シェーパ11に送信端末1−1と送信端末1−2と複数の送信端末が接続され、送信端末1−1と送信端末1−2とが同じ優先度でマルチキャスト送信を行う場合には、送信端末1−1から送信されるパケットと送信端末1−2から送信されるパケットとをシェーパ11の同じキューに格納し、同じrateを用いて送信制御を行うことにより、送信端末1−1と送信端末1−2との公平性を実現することができる。
また、まずは、シェーパ11からOWT測定パケットをシェーパ12とシェーパ13とシェーパ14とにマルチキャスト送信し、シェーパ11はシェーパ12とシェーパ13とシェーパ14とから通知されたレートを比較するが、例えば、シェーパ12から通知されたレートが最も小さい値だった場合には、シェーパ12を測定対象シェーパに設定し、次回から予め設定しておいた回数であるN回は測定対象シェーパであるシェーパ12だけにOWT測定パケットをユニキャスト送信してレート算出を行う。N回の測定後は、再びシェーパ12とシェーパ13とシェーパ14とにOWT測定パケットをマルチキャスト送信し、測定対象シェーパを新たに設定するということを繰り返す方法もある。この方法により、測定対象シェーパのみにOWT測定パケットを送信すればよいので、ネットワーク上に流れるパケット量を減らすことができる。
また、シェーパ11は予めデータ送信レート最小許容値を設定しておき、シェーパ12とシェーパ13とシェーパ14とから通知されるレートを比較するときに、データ送信レート最小許容値より通知されたデータ送信レートが小さい場合には、そのレートを通知したシェーパへの経路のネットワークに何らかの問題が発生していると判断し、ネットワークに問題のないシェーパへの送信に影響することを防ぐため、データ送信レート最小許容値より小さいデータ送信レートを通知したシェーパへのマルチキャスト送信を中止する方法もある。
また、シェーパ11はOWT測定の際に、OWT測定パケットを用いず、送信端末1−1が送信するデータパケットにシェーパ11での送信時刻を記録し、シェーパ12とシェーパ13とシェーパ14とはこのデータパケットを受信し、記録されている送信時刻と、データパケットの受信時刻との差分からOWTを算出する方法もある。この方法により、データパケットを用いてOWTを測定することで、ネットワークの流量を増やさずにOWT測定を行うことができる。
(第四の実施の形態)
第四の実施の形態は、汎用の情報処理装置にインストールすることにより、その情報処理装置にシェーパ11〜14に相応する機能を実現させるプログラムである。このプログラムは、記録媒体に記録されて情報処理装置にインストールされ、あるいは通信回線を介して情報処理装置にインストールされることにより当該情報処理装置に、シェーパ11〜14にそれぞれ相応する機能を実現させることができる。
本発明によれば、シェーパがRTTもしくはOWTを測定し、それを用いてTCP Vegasと同等のフロー制御を行うことにより、ネットワークを有効に利用し、複数マルチキャスト通信間の公平性を保ち、ネットワークの輻輳を防ぐマルチキャスト通信を実現することが可能となる。
本発明の実施の形態によるマルチキャスト通信フロー制御方法のネットワーク構成例を表す図。 本発明の第一の実施形態による送信側シェーパ装置のブロック図。 本発明の第一の実施形態による受信側シェーパ装置のブロック図。 本発明の第一の実施形態によるフロー制御方法の処理の流れを表すフローチャート。 本発明の第一の実施形態によるRTTを用いたレート算出の流れを表すフローチャート。 本発明の第二の実施形態による送信側シェーパ装置のブロック図。 本発明の第二の実施形態による受信側シェーパ装置のブロック図。 本発明の第二の実施形態によるフロー制御方法の処理の流れを表すフローチャート。 本発明の第二の実施形態および第三の実施形態によるOWTを用いたレート算出の流れを表すフローチャート。 本発明の第三の実施形態による送信側シェーパ装置のブロック図。 本発明の第三の実施形態による受信側シェーパ装置のブロック図。 本発明の第三の実施形態によるフロー制御方法の処理の流れを表すフローチャート。 従来技術であるTCP Vegasの処理の流れを表すフローチャート。 従来技術であるTCP Vegasの処理の流れを表すフローチャート。 従来技術であるTCP Vegasの処理の流れを表すフローチャート。
符号の説明
1−1、1−2 送信端末
2−1〜2−n2、3−1〜3−n3、4−1〜4−n4 受信端末
11〜14 シェーパ
101、201、211、301、309 クロック
102 RRT測定パケット生成部
103 RTT測定パケット送信部
104 応答パケット受信部
105 RRT演算部
106 BaseRTTリスト
107、207 送信レート演算部
108、208、306 送信レートリスト
109 RTT測定パケット受信部
110 応答パケット生成部
111 応答パケット送信部
202、302 OWT測定パケット生成部
203、303 OWT測定パケット送信部
204 OWT通知パケット受信部
205 OWT比較部
206、310 BaseOUTリスト
209、307 OWT測定パケット受信部
210、308 OWT演算部
212 OWT通知パケット生成部
213 OWT通知パケット送信部
304 レート通知パケット受信部
305 レート比較部
311 レート演算部
312 レート通知パケット生成部
313 レート通知パケット送信部

Claims (16)

  1. 送信端末と複数の受信端末とがそれぞれの端末装置に接続されたシェーパを経由してデータ送受信を行うマルチキャスト通信に適用されるフロー制御方法において、
    送信端末に接続されているシェーパは、予め設定された時間間隔毎に送信時刻を記録したRTT(Round Trip Time)測定パケットを受信端末に接続されている複数のシェーパに送信し、
    受信端末に接続されているシェーパは、受信したRTT測定パケットに記録してある送信時刻を記録した応答パケットを送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、
    複数の応答パケットを受信し、その中で最も遅く受信した応答パケットの受信時刻と当該応答パケットに記録してある送信時刻との差分からデータ往復遅延時間を算出し、
    このデータ往復遅延時間が自シェーパで保持している最短データ往復遅延時間よりも短い場合には、当該データ往復遅延時間を新しい最短データ往復遅延時間として保持し、
    前記データ往復遅延時間を最短データ往復遅延時間で除算したものにデータの優先度毎に設定されるデータ送信レートを乗算して期待されるデータ送信レートを得て、
    期待されるデータ送信レートから現在のデータ送信レートを減算してレート差分を得て、
    レート差分が優先度毎の所定の閾値よりも小さい場合にはデータ送信レートを増やし、
    レート差分が優先度毎の所定の閾値よりも大きい場合にはデータ送信レートを減らし、
    当該データ送信レートの増減により求めたデータ送信レートを最適データ送信レートとして採用する
    ことを特徴とするフロー制御方法。
  2. 送信端末に接続されているシェーパが予め設定された時間間隔毎に送信時刻を記録したRTT測定パケットを受信端末に接続されている複数のシェーパに送信する代わりに、
    送信端末に接続されているシェーパは、送信時刻を記録したRTT測定パケットを受信端末に接続されている複数のシェーパに送信し、
    受信端末に接続されているシェーパは、受信したRTT測定パケットに記録してある送信時刻を記録した応答パケットを送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、
    複数の応答パケットを受信し、その中で最も遅く受信した応答パケットの送信元のシェーパを測定対象シェーパとし、
    予め設定された時間間隔毎に、予め設定された回数だけ、当該測定対象シェーパに対し送信時刻を記録したRTT測定パケットを送信し、
    このRTT測定パケットを受信した測定対象シェーパは、RTT測定パケットに記録されている送信時刻を記録した応答パケットを前記送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、
    この応答パケットに基づきデータ往復遅延時間を算出して前記最適データ送信レートを算出することを前記予め設定された回数繰り返し、
    前記予め設定された回数のRTT測定パケットの送信後は、再び、受信端末に接続されている複数のシェーパに送信時刻を記録したRTT測定パケットを送信し、新たな測定対象シェーパを決定する
    という処理を繰り返す請求項1記載のフロー制御方法。
  3. 送信端末に接続されているシェーパは、RTT測定パケットに代えて、送信端末から送信されるデータパケットにシェーパでの送信時刻を記録し、
    受信端末に接続されているシェーパは、受信したデータパケットに記録されている送信時刻を記録した応答パケットを前記送信端末に接続されているシェーパに送信する
    請求項1または2記載のフロー制御方法。
  4. 送信端末に接続されているシェーパは、送信時刻を記録したRTT測定パケットあるいはデータパケットを送信してから、予め設定されたRTT最大許容値を越えても、受信端末に接続されているシェーパからの応答パケットの受信がない場合には、そのシェーパへのデータパケット送信を中止する
    請求項1ないし3のいずれかに記載のフロー制御方法。
  5. 送信端末と複数の受信端末とがそれぞれの端末装置に接続されたシェーパを経由してデータ送受信を行うマルチキャスト通信に適用されるフロー制御方法において、
    送信端末に接続されているシェーパは、予め設定された時間間隔毎に送信時刻を記録したOWT(One Way trip Time)測定パケットを受信端末に接続されている複数のシェーパに送信し、
    受信端末に接続されているシェーパは、受信したOWT測定パケットに記録してある送信時刻と当該OWT測定パケットの受信時刻との差分からデータ片方向遅延時間を算出し、データ片方向遅延時間を記録したOWT通知パケットを送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、
    受信した複数のOWT通知パケットに記録してあるデータ片方向遅延時間を比較し、その中で最大の値を代表データ片方向遅延時間とし、
    代表データ片方向遅延時間が自シェーパで保持している最短データ片方向遅延時間よりも短い場合には、当該代表データ片方向遅延時間を新しい最短データ片方向遅延時間として保持し、
    代表データ片方向遅延時間を最短データ片方向遅延時間で除算したものにデータの優先度毎に設定されるデータ送信レートを乗算して期待されるデータ送信レートを得て、
    期待されるデータ送信レートから現在のデータ送信レートを減算してレート差分を得て、
    レート差分が優先度毎の所定の閾値よりも小さい場合にはデータ送信レートを増やし、
    レート差分が優先度毎の所定の閾値よりも大きい場合にはデータ送信レートを減らし、
    当該データ送信レートの増減により求めたデータ送信レートを最適データ送信レートとして採用する
    ことを特徴とするフロー制御方法。
  6. 送信端末に接続されているシェーパが予め設定された時間間隔毎に送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信する代わりに、
    送信端末に接続されているシェーパは、送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信し、
    受信端末に接続されているシェーパは、受信したOWT測定パケットに記録してある送信時刻と当該OWT測定パケットの受信時刻との差分からデータ片方向遅延時間を算出し、当該データ片方向遅延時間を記録したOWT通知パケットを前記送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、
    複数のOWT通知パケットを受信し、その中で最も大きなデータ片方向遅延時間が記録されたOWT通知パケットの送信元のシェーパを測定対象シェーパとし、
    予め設定された時間間隔毎に、予め設定された回数だけ、当該測定対象シェーパに対し送信時刻を記録したOWT測定パケットを送信し、
    このOWT測定パケットを受信した測定対象シェーパは、OWT測定パケットに記録されている送信時刻と当該OWT測定パケットの受信時刻との差分からデータ片方方向遅延時間を算出した結果を記録したOWT通知パケットを前記送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、このOWT通知パケットに記録されたデータ片方向遅延時間に基づき前記最適データ送信レートを算出することを前記予め設定された回数繰り返し、
    前記予め設定された回数のOWT測定パケットの送信後は、再び、受信端末に接続されている複数のシェーパに送信時刻を記録したOWT測定パケットを送信し、新たな測定対象シェーパを決定する
    という処理を繰り返す請求項5記載のフロー制御方法。
  7. 送信端末に接続されているシェーパは、OWT測定パケットに代えて、送信端末から送信されるデータパケットにシェーパでの送信時刻を記録し、
    受信端末に接続されているシェーパは、受信したデータパケットに記録されている送信時刻と当該データパケットの受信時刻との差分から算出したデータ片方向遅延時間を記録したOWT通知パケットを前記送信端末に接続されているシェーパに送信する
    請求項5または6記載のフロー制御方法。
  8. 送信端末に接続されているシェーパは、応答パケットに記録されているデータ片方向遅延時間が、予め設定されたデータ片方向遅延時間最大許容値を越えている場合には、そのシェーパへのデータパケット送信を中止する
    請求項5ないし7のいずれかに記載のフロー制御方法。
  9. 送信端末と複数の受信端末とがそれぞれの端末装置に接続されたシェーパを経由してデータ送受信を行うマルチキャスト通信に適用されるフロー制御方法において、
    送信端末に接続されているシェーパは、予め設定された時間間隔毎に送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信し、
    受信端末に接続されているシェーパは、
    受信したOWT測定パケットに記録してある送信時刻と当該OWT測定パケットの受信時刻との差分からデータ片方向遅延時間を算出し、
    当該データ片方向遅延時間が自シェーパで保持している最短データ片方向遅延時間よりも短い場合には、当該データ片方向遅延時間を新しい最短データ片方向遅延時間として保持し、
    データ片方向遅延時間を最短データ片方向遅延時間で除算したものにデータの優先度毎に設定されるデータ送信レートを乗算して期待されるデータ送信レートを得て、
    期待されるデータ送信レートから現在のデータ送信レートを減算してレート差分を得て、
    レート差分が優先度毎の所定の閾値よりも小さい場合にはデータ送信レートを増やし、
    レート差分が優先度毎の所定の閾値よりも大きい場合にはデータ送信レートを減らし、
    当該データ送信レートの増減により求めたデータ送信レートを記録したレート通知パケットを送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、受信した複数のレート通知パケットに記録されているデータ送信レートを比較し、その中で最小の値を最適データ送信レートとして採用する
    ことを特徴とするフロー制御方法。
  10. 送信端末に接続されているシェーパが予め設定された時間間隔毎に送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信する代わりに、
    送信端末に接続されているシェーパは、送信時刻を記録したOWT測定パケットを受信端末に接続されている複数のシェーパに送信し、
    受信端末に接続されているシェーパは、
    受信したOWT測定パケットに記録してある送信時刻と当該OWT測定パケットの受信時刻との差分からデータ片方向遅延時間を算出し、
    当該データ片方向遅延時間が自シェーパで保持している最短データ片方向遅延時間よりも短い場合には、当該データ片方向遅延時間を新しい最短データ片方向遅延時間として保持し、
    データ片方向遅延時間を最短データ片方向遅延時間で除算したものにデータの優先度毎に設定されるデータ送信レートを乗算して期待されるデータ送信レートを得て、
    期待されるデータ送信レートから現在のデータ送信レートを減算してレート差分を得て、
    レート差分が優先度毎の所定の閾値よりも小さい場合にはデータ送信レートを増やし、
    レート差分が優先度毎の所定の閾値よりも大きい場合にはデータ送信レートを減らし、
    当該データ送信レートの増減により求めたデータ送信レートを記録したレート通知パケットを送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、
    受信した複数のレート通知パケットに記録されているデータ送信レートを比較し、その中で最も小さな値のデータ送信レートを記録したレート通知パケットの送信元のシェーパを測定対象シェーパとし、
    当該測定対象シェーパに、予め設定された時間間隔毎に、予め設定された回数だけ、送信時刻を記録したOWT測定パケットを送信し、
    測定対象シェーパは、データ片方向遅延時間を算出し、データ送信レートを算出し、データ送信レートを記録したレート通知パケットを前記送信端末に接続されているシェーパに送信し、
    送信端末に接続されているシェーパは、
    受信したレート通知パケットに記録されているデータ送信レートを採用することを繰り返し、
    予め設定された回数の送信後は、再び受信端末に接続されている複数のシェーパに送信時刻を記録したパケットを送信し、新たな測定対象シェーパを決定する
    という処理を繰り返す
    請求項9記載のフロー制御方法。
  11. 送信端末に接続されているシェーパは、OWT測定パケットに代えて、送信端末から送信されるデータパケットにシェーパでの送信時刻を記録し、
    受信端末に接続されているシェーパは、受信したデータパケットに記録されている送信時刻と当該データパケットの受信時刻との差分からデータ片方向遅延時間を算出してデータ送信レートの算出を行い、当該データ送信レートを記録したレート通知パケットを前記送信端末に接続されているシェーパに送信する
    請求項9または10記載のフロー制御方法。
  12. 送信端末に接続されているシェーパは、レート通知パケットに記録されているデータ送信レートが、予め設定されたデータ送信レート最小許容値より小さい場合には、そのデータ送信レートを通知したシェーパへのデータパケット送信を中止する
    請求項9ないし11のいずれかに記載のフロー制御方法。
  13. 請求項1ないし4のいずれかに記載のフロー制御方法を実行する手段を備えたシェーパ装置。
  14. 請求項5ないし8のいずれかに記載のフロー制御方法を実行する手段を備えたシェーパ装置。
  15. 請求項9ないし12のいずれかに記載のフロー制御方法を実行する手段を備えたシェーパ装置。
  16. 情報処理装置にインストールすることにより、その情報処理装置に、請求項13ないし15のいずれかに記載のシェーパ装置に相応する機能を実現させるプログラム。
JP2005162798A 2005-06-02 2005-06-02 マルチキャスト通信フロー制御方法および装置 Expired - Fee Related JP4402619B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005162798A JP4402619B2 (ja) 2005-06-02 2005-06-02 マルチキャスト通信フロー制御方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005162798A JP4402619B2 (ja) 2005-06-02 2005-06-02 マルチキャスト通信フロー制御方法および装置

Publications (2)

Publication Number Publication Date
JP2006340081A JP2006340081A (ja) 2006-12-14
JP4402619B2 true JP4402619B2 (ja) 2010-01-20

Family

ID=37560217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005162798A Expired - Fee Related JP4402619B2 (ja) 2005-06-02 2005-06-02 マルチキャスト通信フロー制御方法および装置

Country Status (1)

Country Link
JP (1) JP4402619B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102011469B1 (ko) * 2019-04-25 2019-08-16 한화시스템(주) 함정 전투 체계 시스템에서의 통신 상태 측정 장치 및 그 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006340078A (ja) * 2005-06-02 2006-12-14 Nippon Telegr & Teleph Corp <Ntt> フロー制御方法およびその装置
JP4815534B2 (ja) 2007-07-13 2011-11-16 富士通株式会社 パケット遅延特性計測装置及び方法
JP2009159499A (ja) * 2007-12-27 2009-07-16 Nec Corp ネットワークにおけるエコー要求/応答の遅延時間測定方法、システム及びステーション
JP6205912B2 (ja) * 2013-07-05 2017-10-04 富士通株式会社 情報処理装置、配信方法および配信プログラム
JP6004116B2 (ja) 2013-09-26 2016-10-05 富士通株式会社 計測装置、通信装置、中継装置、計測方法および計測プログラム
JP6772294B2 (ja) * 2016-05-11 2020-10-21 オッポ広東移動通信有限公司Guangdong Oppo Mobile Telecommunications Corp., Ltd. 通信方法と通信装置
JP7251182B2 (ja) * 2019-02-06 2023-04-04 日本電気株式会社 制御装置、処理装置の制御方法及びプログラム
CN112217686B (zh) * 2019-07-12 2022-12-27 华为技术有限公司 一种评估往返时延的系统、方法及装置
CN113542129B (zh) * 2021-07-15 2023-01-24 无锡思朗电子科技有限公司 一种使用信号链表单发的传输方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102011469B1 (ko) * 2019-04-25 2019-08-16 한화시스템(주) 함정 전투 체계 시스템에서의 통신 상태 측정 장치 및 그 방법

Also Published As

Publication number Publication date
JP2006340081A (ja) 2006-12-14

Similar Documents

Publication Publication Date Title
JP4402619B2 (ja) マルチキャスト通信フロー制御方法および装置
Al-Saadi et al. A survey of delay-based and hybrid TCP congestion control algorithms
CN102468941B (zh) 网络丢包处理方法及装置
JP3590044B2 (ja) Rtpおよびrtcpプロトコルを用いる動的なデータパケット送信方法
Gao et al. A state feedback control approach to stabilizing queues for ECN-enabled TCP connections
JP2004538719A (ja) 非線形高スケーラブル増加−減少輻輳制御機構を提供する方法
JP2006014329A (ja) 通信端末
Kanagarathinam et al. D-TCP: Dynamic TCP congestion control algorithm for next generation mobile networks
Mamatas et al. Approaches to congestion control in packet networks
US20100202469A1 (en) Queue management system and methods
CN108494699B (zh) 一种具有中心控制节点的网络拥塞控制方法
Weigle et al. Delay-based early congestion detection and adaptation in TCP: impact on web performance
Šošić et al. Resolving poor TCP performance on high-speed long distance links—Overview and comparison of BIC, CUBIC and Hybla
Na et al. TCP-like flow control algorithm for real-time applications
CN113438180B (zh) Udp数据包的传输控制方法、装置、设备及可读存储介质
JP2004297127A (ja) 携帯端末及びサーバ
JP3853784B2 (ja) データ通信管理方法
Gosai et al. Evolution of Congestion Control Mechanisms for TCP and Non TCP Protocols
Abbasov AHRED: A robust AQM algorithm for wireless ad hoc networks
Adesanmi et al. Controlling TCP Incast congestion in data centre networks
JP6897769B2 (ja) データ送信装置、方法およびプログラム
Santhi et al. A new approach to Active Queue Management for TCP with ECN
Tsao et al. A fast-converging tcp-equivalent window-averaging rate control scheme
Jaiswal et al. A comparative performance analysis of TCP congestion control algorithm: elastic TCP vs. e-Elastic TCP
Gholizadeh Congestion Control in Software-Defined Networks: A Simulation Study

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070914

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20090910

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090910

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091001

TRDD Decision of grant or rejection written
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090910

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091027

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

R150 Certificate of patent or registration of utility model

Ref document number: 4402619

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131106

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

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees