説明

フロ―制御方法

【課題】 ATMのABR上で使用した場合でも、転送レートの変動を抑制できスループットの低下を回避する。
【解決手段】 レイヤ4処理部12において、下位レイヤ処理部13から通知された時刻Ti のデータ転送レートS(Ti )と、それに対応するラウンドトリップタイムRTTとの積と、過去に算出した1つ以上の輻輳ウィンドウサイズcwnd(Ti-1 )‥を用いて、時刻Ti の輻輳ウィンドウサイズcwnd(Ti )を算出し、これに基づき送信ウィンドウサイズを決定する。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フロー制御方法に関し、特にOSI参照モデルのレイヤ4プロトコルとして、逐次算出した送信ウィンドウサイズに基づきデータパケットを送信することにより輻輳制御を行うフロー制御方法に関するものである。
【0002】
【従来の技術】異機種データ通信ノードの相互接続を実現するOSI参照モデルのレイヤ4プロトコルであるTCP(Transmission Control Protocol)は、現在、インターネットで確実なデータ転送を行うために広く使用されている。最近、固定長のパケットすなわちセルを非同期で転送するATM(Asynchronous Transfer mode:非同期転送モード)において、バースト的に生成されるデータを任意の使用可能な速度で転送するABR(Available Bit Rate:使用可能速度)サービス上で、TCPを使用することに関心が強まっている。
【0003】一方、通信帯域の確保という概念がなかったインターネットでも、帯域幅が保証された通信に対する要求も高まっており、このような帯域幅保証環境下でTCPを使用する必要性もある。しかしながら、従来のTCPは、異機種コンピュータ・システムの相互接続性を重視するという観点から、ネットワークからのいかなる帯域幅情報をも使用せず、TCP独自のフロー制御方法をとっている。
【0004】すなわち、このフロー制御方法によれば、受信側からのデータ送達確認の通知に応じて、送信可能なデータ量を示す送信ウィンドウサイズが徐々に拡大されるものとなる。そして、ネットワークで輻輳状態が発生したと推測された場合は、そのウィンドウサイズが直ちに削減される。
【0005】
【発明が解決しようとする課題】しかしながら、このような従来のフロー制御方法では、受信側から通知されるデータ送達確認に基づきネットワークの状況を独自に判断して、ウィンドウサイズを増減させることにより試行錯誤的に輻輳制御を行っているため、これをATMのABRのように、端末に対し使用可能な転送レートすなわち通信帯域幅を通知してフロー制御を行う下位レイヤプロトコル上で使用した場合は、転送レートが不安定になりスループットが低下するという問題点があった。本発明はこのような課題を解決するためのものであり、ATMのABR上で使用した場合でも、転送レートの変動を抑制できスループットの低下を回避できるフロー制御方法を提供することを目的としている。
【0006】
【課題を解決するための手段】このような目的を達成するために、本発明によるフロー制御方法は、送信エンドノードに、下位レイヤプロトコルとして、レイヤ4からのデータパケットをATMセルに分解して転送する下位レイヤ処理部と、この下位レイヤ処理部から通知された各時刻ごとのデータ転送レートと、レイヤ4上で受信エンドノードまでパケットが往復するのに要するラウンドトリップタイムとを用いて輻輳ウィンドウサイズを算出し、この輻輳ウィンドウサイズと受信告知ウィンドウサイズとを用いて決定した送信ウィンドウサイズの範囲内で下位レイヤ処理部に対してデータパケットを出力することによりフロー制御を行うレイヤ4処理部とを設けたものである。
【0007】そして、レイヤ4処理部において、下位レイヤ処理部から通知された最新のデータ転送レートと、それに対応するラウンドトリップタイムとの積と、過去に算出した1つ以上の輻輳ウィンドウサイズを用いて、最新の輻輳ウィンドウサイズを算出するようにしたものである。具体的には、レイヤ4処理部において、通信開始から順次算出したすべての輻輳ウィンドウサイズと前記積との平均値を最新の輻輳ウィンドウサイズとして算出するようにしたものである。
【0008】また、直前に算出した1つの輻輳ウィンドウサイズと前記積との平均値を最新の輻輳ウィンドウサイズとして算出するようにしたものである。また、直前に算出した所定数の輻輳ウィンドウサイズと前記積との平均値を最新の輻輳ウィンドウサイズとして算出するようにしたものである。また、直前に算出した輻輳ウィンドウサイズおよび前記積に対して、その和が1となる2つの係数をそれぞれ乗算し、これら乗算結果の和を最新の輻輳ウィンドウサイズとして算出するようにしたものである。
【0009】
【発明の実施の形態】次に、本発明について図面を参照して説明する。図1は本発明の一実施の形態であるフロー制御方法が適用されるデータ通信システムの一例を示すブロック図である。同図において、送信エンドノード1と受信エンドノード2は、複数の中継ノード14,15(例えば、スイッチなど)からなるネットワーク3を介して接続されており、ネットワーク3に所定のコネクションを設定し、そのコネクションを介してパケットによりデータ通信を行う。
【0010】送信エンドノード1および受信エンドノード2は、同様の構成をなしており、アプリケーション(AP)処理部11は、上位レイヤでのアプリケーションを実行する処理部である。また、レイヤ4処理部12は、コネクションの設定解放、フロー制御などに基づいてパケットによるデータ送受信を行う処理部、下位レイヤ処理部13は、ATMのABR(Available Bit Rate:使用可能速度)サービスを用いてレイヤ4処理部12から出力されたデータパケットを送受信する処理部である。
【0011】特に、下位レイヤ処理部13では、例えば、ネットワーク管理用のRM(Resource Management )セルで、ネットワークの中継ノード14で算出され通知された明示的レートER(Explicit Rate )に基づいて、各時刻Tにおけるデータ転送レートS(T)を算出するものとなっており、これがレイヤ4処理部12に通知される。また、レイヤ4処理部12では、一般的なTCPの機能として、データパケットが受信エンドノードまでを往復するのに要する時間、すなわちラウンドトリップタイムRTT(Round Trip Time )を検出するものとなっている。
【0012】したがって、レイヤ4処理部12において、これらデータ転送レートS(T)とその時刻Tに対応するラウンドトリップタイムRTTとの積から、時刻Tにおける輻輳ウィンドウの瞬時値cwnd(T)が得られる。
【0013】
【数1】


【0014】このようにして、図2に示すように、各時刻Tにおけるcwnd(T)が得られる。しかし、このcwnd(T)はあくまでも時刻Tにおける瞬時値であることから、ATMのABRサービスによりネットワークから通知されたデータ転送レートS(T)やRTTの変動により、cwnd(T)が上下に大きく変動する。したがって、このcwnd(T)に基づき送信ウィンドウサイズを決定した場合は、不安定な動作を引き起こす可能性がある。
【0015】本発明では、このような不安定動作を抑制するため、レイヤ4処理部12において、過去に算出した1つ以上の輻輳ウィンドウサイズと、下位レイヤ処理部13から通知された最新のデータ転送レートSおよびこれに対応するRTTとを用い、最新の輻輳ウィンドウサイズcwndを算出するようにしたものである。
【0016】次に、数式を参照して、輻輳ウィンドウサイズcwndの算出方法をいくつか説明する。まず、数2は、通信開始(時刻T1 )から直前(時刻Ti-1 )までの輻輳ウィンドウサイズS(T1 )〜S(Ti-1 )と、時刻Ti のデータ転送レートS(Ti )およびこれに対応するRTTの積とを、iで除算して得た平均値を、時刻Ti での輻輳ウィンドウサイズcwnd(Ti )として算出するものである。
【0017】
【数2】


【0018】これにより、過去、ここでは通信開始から時刻Ti-1 までの複数のcwndが考慮されて、時刻Ti のcwnd(Ti )が算出されており、S(Ti )の変動が抑制される。なお、過去のcwndとしては、通信開始からのものを用いる必要はなく、時刻Ti から遡った所定期間、あるいは所定個数のcwndを用いてもよい。
【0019】次に、数3は、直前(時刻Ti-1 )の輻輳ウィンドウサイズS(T1 )〜S(Ti-1 )と、時刻Ti のデータ転送レートS(Ti )およびこれに対応するRTTの積とを、2で除算して得た平均値を、時刻Ti における輻輳ウィンドウサイズcwnd(Ti )として算出するものである。
【0020】
【数3】


【0021】これにより、時刻Ti-1 のcwnd(Ti )が考慮されて、時刻Ti のcwnd(Ti )が算出されており、S(Ti )の変動が抑制されるとともに、過去の影響を余り受けなくなり、最新のデータ転送レートS(Ti )の変化にも柔軟に追従可能となる。
【0022】次に、数4は、直前(時刻Ti-1 )の輻輳ウィンドウサイズS(T1 )〜S(Ti-1 )と、時刻Ti のデータ転送レートS(Ti )およびこれに対応するRTTの積とに対して、その和が1となる係数α−1とαをそれぞれ乗算し、その2つの乗算結果の和を、時刻Ti における輻輳ウィンドウサイズcwnd(Ti )として算出するものである。
【0023】
【数4】


【0024】これにより、cwnd(Ti )とS(Ti )およびRTTの積との割合を容易に調整でき、S(Ti )の変動に対する抑制と、S(Ti )への追従性とを適切に調節できる。なお、係数αは1≫αが望ましく、α=0.02とした場合、図3の曲線32で示すように、単なるS(Ti )とRTTとの積を示す曲線31と比較して、安定した輻輳ウィンドウサイズが得られた。
【0025】次に、図4を参照して、本発明の動作について説明する。図4は送信ウィンドウサイズの算出処理を示すフローチャートである。まず、下位レイヤ処理部13では、RMセルの受信に応じて(ステップ41:YES)、受信したRMセルから時刻Ti におけるデータ転送レートS(Ti )が取得され(ステップ42)、その上位レイヤであるレイヤ4処理部12に通知される。
【0026】続いて、レイヤ4処理部12では、過去の輻輳ウィンドウサイズ、例えば直前時刻Ti-1 のcwnd(Ti-1 )が所定の記憶手段から読み出され(ステップ43)、このcwnd(Ti )と、下位レイヤ処理部13から通知されたデータ転送レートS(Ti )、および自己が検出したRTTを用いて、前述した数2〜4のいずれか、例えば数4を用いて時刻Ti のcwnd(Ti )が算出される(ステップ44)。
【0027】そして、このcwnd(Ti )が次回のcwnd算出のために記憶され(ステップ45)、予め受信エンドノード2から通知された受信エンドノード2の受信能力を示す受信告知ウィンドウサイズadwndと、ネットワークの転送能力を推定した輻輳ウィンドウサイズすなわちcwnd(Ti )とのうち、いずれか小さい値が送信ウィンドウサイズとして選択され(ステップ46)、一連の処理が終了する。
【0028】したがって、図5に示すように、従来のフロー制御方法による送信ウィンドウサイズ(曲線51)と比較して、本発明のフロー制御によれば安定した送信ウィンドウサイズ(曲線52)が得られる。特に、従来のフロー制御では、所定のしきい値ssthreshを設けて、輻輳ウィンドウサイズcwndがssthresh以上の場合は、輻輳フェーズとして受信エンドノードからの確認応答ACKに応じて1/cwndずつcwndを増加させるものとなっている。
【0029】そして、パケット紛失が推定される場合は、cwndが大幅に削減されるため、曲線51は鋸波状に増減を繰り返すものとなる。これに対して、曲線52は過去のcwndの値が考慮されるため、比較的滑らかに小さい幅で増減するため、送信エンドノード1でのデータ転送レートが安定し、データ転送レートの大幅変化によるスループットの低下を抑制できる。
【0030】なお、以上の説明では、ATMのABRサービス上でレイヤ4プロトコル(TCP)のフロー制御を実現する場合を例に説明したが、これに限定されるものではなく、ATMのCBR(Constant Bit Rate :固定速度)サービス上でレイヤ4プロトコル(TCP)のフロー制御を実現する場合にも適用可能である。
【0031】この場合、送信エンドノード1では、固定的な帯域幅を決定するため、実際のデータ転送レートSはほぼ一定であると予想される。しかしながら、RTTのために変動が生じることがあり、したがって前述した数2〜4の場合と同様にcwndを計算することがより安全である。
【0032】
【発明の効果】以上説明したように、本発明は、レイヤ4処理部において、下位レイヤ処理部から通知された最新のデータ転送レートSと、それに対応するラウンドトリップタイムRTTとの積と、過去に算出した1つ以上の輻輳ウィンドウサイズcwndを用いて、最新の輻輳ウィンドウサイズcwndを算出するようにしたので、cwndの算出に際し、リアルタイムで変化するデータ転送レートやRTTの他に、過去のcwnd値が考慮されて、比較的滑らかに変化するcwndを得ることができる。したがって、送信エンドノードでの送信ウィンドウサイズの変化およびデータ転送レートが安定し、データ転送レートの大幅変化によるスループットの低下を抑制できる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態によるフロー制御方法が適用されるデータ通信システムのブロック図である。
【図2】 各時刻における瞬時的なデータ転送レートの変化を示す説明図である。
【図3】 本発明の算出方法(数4)で得られる輻輳ウィンドウサイズの変化を示す説明図である。
【図4】 送信ウィンドウサイズの算出処理を示すフローチャートである。
【図5】 本発明により得られる送信ウィンドウサイズの変化を示す説明図である。
【符号の説明】
1…送信エンドノード、2…受信エンドノード、11…アプリケーション(AP)処理部、12…レイヤ4処理部、13…下位レイヤ処理部、3…ネットワーク、14,15…中継ノード。

【特許請求の範囲】
【請求項1】 所定のネットワークを介して接続された送受信エンドノード間で、レイヤ4プロトコルとして、受信エンドノードの受信能力を示す受信告知ウィンドウサイズ(adwnd)と、ネットワークの転送能力を推定した輻輳ウィンドウサイズ(cwnd)とのいずれか小さい値で示される送信ウィンドウサイズの範囲内で、送信エンドノードから受信エンドノードに対してデータパケットを送信するフロー制御方法において、送信エンドノードに、下位レイヤプロトコルとして、レイヤ4からのデータパケットをATMセルに分解して転送する下位レイヤ処理部と、この下位レイヤ処理部から通知された各時刻ごとのデータ転送レートと、レイヤ4上で受信エンドノードまでパケットが往復するのに要するラウンドトリップタイムとを用いて輻輳ウィンドウサイズを算出し、この輻輳ウィンドウサイズと受信告知ウィンドウサイズとを用いて決定した送信ウィンドウサイズの範囲内で下位レイヤ処理部に対してデータパケットを出力することによりフロー制御を行うレイヤ4処理部とを設け、レイヤ4処理部は、下位レイヤ処理部から通知された最新のデータ転送レートと、それに対応するラウンドトリップタイムとの積と、過去に算出した1つ以上の輻輳ウィンドウサイズを用いて、最新の輻輳ウィンドウサイズを算出することを特徴とするフロー制御方法。
【請求項2】 請求項1記載のフロー制御方法において、レイヤ4処理部は、通信開始から順次算出したすべての輻輳ウィンドウサイズと前記積との平均値を最新の輻輳ウィンドウサイズとして算出することを特徴とするフロー制御方法。
【請求項3】 請求項1記載のフロー制御方法において、レイヤ4処理部は、直前に算出した1つの輻輳ウィンドウサイズと前記積との平均値を最新の輻輳ウィンドウサイズとして算出することを特徴とするフロー制御方法。
【請求項4】 請求項1記載のフロー制御方法において、レイヤ4処理部は、直前に算出した所定数の輻輳ウィンドウサイズと前記積との平均値を最新の輻輳ウィンドウサイズとして算出することを特徴とするフロー制御方法。
【請求項5】 請求項1記載のフロー制御方法において、レイヤ4処理部は、直前に算出した輻輳ウィンドウサイズおよび前記積に対して、その和が1となる2つの係数をそれぞれ乗算し、これら乗算結果の和を最新の輻輳ウィンドウサイズとして算出することを特徴とするフロー制御方法。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate