(57)【特許請求の範囲】
【請求項１】
データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおけるフローレート制御方法であって、
前記データ送信端末と前記データ受信端末との間に配置されるエッジノードにおいて、サービス対象フローに関する前記データ送信端末と前記データ受信端末との間の伝播遅延時間を計測する段階と、
前記保証帯域と前記伝播遅延時間とに基づいて、前記サービス対象フローのデータが前記保証帯域以内の帯域となるウィンドウサイズを算出する段階と、
前記エッジノードにおいて、前記サービス対象フローのＡＣＫパケットのＡＣＫナンバーを書き換える段階と、
前記エッジノードにおいて、前記ＡＣＫパケットの広告ウィンドウサイズに前記算出されたウィンドウサイズを書き込む段階と、
前記ＡＣＫナンバーが書き換えられ前記ウィンドウサイズが書き込まれたＡＣＫパケットを宛先に向けて前記エッジノードから送出する段階と、
を有し、
前記書き換える段階において、既にＡＣＫナンバーが書き換えられたＡＣＫパケットのＡＣＫナンバーを転送済みＡＣＫナンバーとして、前記転送済みＡＣＫナンバーと最大セグメントサイズとに基づいて、書き換え対象のＡＣＫパケットのＡＣＫナンバーを書き換える、フローレート制御方法。
【請求項２】
データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおけるフローレート制御方法であって、
前記データ送信端末と前記データ受信端末との間に配置されるエッジノードにおいて、サービス対象フローに関する前記データ送信端末と前記データ受信端末との間の伝播遅延時間を計測する段階と、
前記保証帯域と前記伝播遅延時間とに基づいて、前記サービス対象フローのデータが前記保証帯域以内の帯域となるウィンドウサイズを算出する段階と、
前記エッジノードにおいて、前記サービス対象フローのＡＣＫパケットのＡＣＫナンバーを書き換える段階と、
前記エッジノードにおいて、前記ＡＣＫパケットの広告ウィンドウサイズに前記算出されたウィンドウサイズを書き込む段階と、
前記ＡＣＫナンバーが書き換えられ前記ウィンドウサイズが書き込まれたＡＣＫパケットを宛先に向けて前記エッジノードから送出する段階と、
を有し、
前記書き換える段階において、既にＡＣＫナンバーが書き換えられたＡＣＫパケットのＡＣＫナンバーを転送済みＡＣＫナンバーとして、前記転送済みＡＣＫナンバーと最大セグメントサイズとに基づいて、それぞれ異なるＡＣＫナンバーを有する複数のＡＣＫパケットを作成する、フローレート制御方法。
【請求項３】
前記書き換える段階において、書き換え対象のＡＣＫパケットのＡＣＫナンバーと前記転送済みＡＣＫナンバーとの差を前記最大セグメントサイズで割った数のＡＣＫパケットが作成され、前記書き換え対象のＡＣＫパケットの代わりに前記作成されたＡＣＫパケットが前記エッジノードから送出される、請求項２に記載のフローレート制御方法。
【請求項４】
データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおいて前記データ送信端末と前記データ受信端末との間に配置されるエッジノードであって、
サービス対象フローを識別し、前記サービス対象フローのＡＣＫパケットとそれ以外のパケットとの振り分けを実行するフロー識別・振り分け部と、
前記サービス対象フローについての伝播遅延時間を計測する伝送遅延時間算出部と、
前記保証帯域と、前記伝送遅延時間算出部で計測された伝播遅延時間とから、前記サービス対象フローのデータが前記保証帯域以内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、
前記サービス対象フローのＡＣＫパケットのＡＣＫナンバーを制御するＡＣＫナンバー制御部と、
前記ＡＣＫパケットの広告ウィンドウサイズに前記算出されたウィンドウサイズを書き込む広告ウィンドウサイズ書き込み部と、
を有し、
前記ＡＣＫナンバーが書き換えられ前記ウィンドウサイズが書き込まれたＡＣＫパケットを宛先に向けて送出し、
前記ＡＣＫナンバー制御部は、既にＡＣＫナンバーが書き換えられたＡＣＫパケットのＡＣＫナンバーを転送済みＡＣＫナンバーとして、前記転送済みＡＣＫナンバーと最大セグメントサイズとに基づいて、前記フロー識別・振り分け部から振り分けられた前記サービス対象フローのＡＣＫパケットのＡＣＫナンバーを書き換える、エッジノード。
【請求項５】
データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおいて前記データ送信端末と前記データ受信端末との間に配置されるエッジノードであって、
サービス対象フローを識別し、前記サービス対象フローのＡＣＫパケットとそれ以外のパケットとの振り分けを実行するフロー識別・振り分け部と、
前記サービス対象フローについての伝播遅延時間を計測する伝送遅延時間算出部と、
前記保証帯域と、前記伝送遅延時間算出部で計測された伝播遅延時間とから、前記サービス対象フローのデータが前記保証帯域以内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、
前記サービス対象フローのＡＣＫパケットのＡＣＫナンバーを制御するＡＣＫナンバー制御部と、
前記ＡＣＫパケットの広告ウィンドウサイズに前記算出されたウィンドウサイズを書き込む広告ウィンドウサイズ書き込み部と、
を有し、
前記ＡＣＫナンバーが書き換えられ前記ウィンドウサイズが書き込まれたＡＣＫパケットを宛先に向けて送出し、
前記ＡＣＫナンバー制御部は、
既にＡＣＫナンバーが書き換えられたＡＣＫパケットのＡＣＫナンバーを転送済みＡＣＫナンバーとして、前記転送済みＡＣＫナンバーと、前記フロー識別・振り分け部から振り分けられた前記サービス対象フローのＡＣＫパケットのＡＣＫナンバーとを記憶するＡＣＫナンバー記憶部と、
前記サービス対象フローのＡＣＫパケットのＡＣＫナンバーと前記転送済みＡＣＫナンバーとの差を最大セグメントサイズで割った個数のＡＣＫパケットであって、それぞれが異なるＡＣＫナンバーを有するＡＣＫパケットを作成するＡＣＫパケット作成部と、
を備え、
前記ＡＣＫパケット作成部が作成し前記ウィンドウサイズが書き込まれたＡＣＫパケットを前記宛先に送信する、エッジノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して端末間でデータを送受信するシステムでのフローレート制御技術に関し、特に、帯域が保証されるとともに遅延ＡＣＫ（acknowledgement；確認応答）アルゴリズムが適用されるネットワークにおけるフローレート制御方法とそのようなフローレート制御を実行するために用いられるエッジノードとに関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの端末間では、インターネットなどのコンピュータネットワークを介して通信が行われ、この通信によって、ファイル等のデータが端末間で転送される。この種のデータ転送システムでは、トランスポート層のプロトコルとして、標準的なトランスポートプロトコルであるＴＣＰ(Transmission Control Protocol)が用いられることが多い。
【０００３】
データ転送においては、大容量のデータを高速に転送することが要求されることがある。このような要求に対しては、ウィンドウサイズを一定に制御することでスループットを向上させる検討がなされている（非特許文献１）。
【非特許文献１】服部恭太ほか、“エッジルータにおけるＴＣＰフローレート制御方式の検討”，電子情報通信学会総合大会講演論文集，B-6-54，２００７年３月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＴＣＰでは、パケット廃棄にしたがってウィンドウサイズを自律的に変化させる帯域制御が行われている。しかしながら、保証された帯域以上のトラヒックがネットワークに流入するのを防ぐためにネットワークの入り口で流入制限を行っている帯域保証ネットワークでのデータ転送においては、このような帯域制御を実行するＴＣＰを適用した場合に、スループットが鋸歯状に変化することとなって、保証された帯域を十分に活用できなくなる、という課題が生じる。
【０００５】
上述の非特許文献１に記載された技術などでは、ＴＣＰのプロトコルに変更を加え、例えば、保証された帯域を上回らないように一定のスループットでデータを送信したり、広告ウィンドウサイズを一定に制御したりすることによって、スループットが鋸歯状に変化することを防止している。しかしながら、ＴＣＰにはデータ受信時において複数のデータに対してまとめて１つのＡＣＫパケットを返すという遅延ＡＣＫアルゴリズムが搭載されており、そのため、広告ウィンドウサイズを一定に制御した場合には、データ送信端末に到着した１つのＡＣＫパケットに対して複数のデータパケットがバースト的に送信されるようになり、バースト的なデータ転送が発生することになる。ここでネットワークにおいて例えばＤｉｆｆＳｅｒｖなどの技術を用いて複数フローを１つのクラスとして制御している場合には、このバースト的なデータ転送によって他のフローを逼迫させてしまうという問題が生じる。
【０００６】
本発明の目的は、帯域保証ネットワークにおいてデータ転送を行う場合のフローレート制御方法であって、遅延ＡＣＫアルゴリズムに起因して複数のデータパケットがバースト的に転送されることを防止し、かつ、保証された帯域を効率よく利用できてスループットを高く保つことができるフローレート制御方法を提供することにある。
【０００７】
本発明の別の目的は、データ転送が行われる帯域保証ネットワークにおいて用いられるエッジノードであって、遅延ＡＣＫアルゴリズムに起因して複数のデータパケットがバースト的に転送されることを防止し、かつ、保証された帯域を効率よく利用できてスループットを高く保つことができるエッジノードを提供することにある。
【課題を解決するための手段】
【０００８】
本発明のフローレート制御方法は、データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおけるフローレート制御方法であって、データ送信端末とデータ受信端末との間に配置されるエッジノードにおいて、サービス対象フローに関するデータ送信端末とデータ受信端末との間の伝播遅延時間を計測する段階と、保証帯域と伝播遅延時間とに基づいて、サービス対象フローのデータが保証帯域以内の帯域となるウィンドウサイズを算出する段階と、エッジノードにおいて、サービス対象フローのＡＣＫパケットのＡＣＫナンバーを書き換える段階と、エッジノードにおいて、ＡＣＫパケットの広告ウィンドウサイズに算出されたウィンドウサイズを書き込む段階と、ＡＣＫナンバーが書き換えられウィンドウサイズが書き込まれたＡＣＫパケットを宛先に向けてエッジノードから送出する段階と、を有する。
【０００９】
本発明のフローレート制御方法では、書き換える段階において、既にＡＣＫナンバーが書き換えられたＡＣＫパケットのＡＣＫナンバーを転送済みＡＣＫナンバーとして、転送済みＡＣＫナンバーと最大セグメントサイズとに基づいて、書き換え対象のＡＣＫパケットのＡＣＫナンバーを書き換える。あるいは、書き換える段階において、転送済みＡＣＫナンバーと最大セグメントサイズとに基づいて、それぞれ異なるＡＣＫナンバーを有する複数のＡＣＫパケットを作成する。この場合、書き換え対象のＡＣＫパケットのＡＣＫナンバーと転送済みＡＣＫナンバーとの差を最大セグメントサイズで割った数のＡＣＫパケットを作成し、書き換え対象のＡＣＫパケットの代わりに、作成されたＡＣＫパケットがエッジノードから送出されるようにしてもよい。
【００１０】
本発明のエッジノードは、データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおいてデータ送信端末とデータ受信端末との間に配置されるエッジノードであって、サービス対象フローを識別し、サービス対象フローのＡＣＫパケットとそれ以外のパケットとの振り分けを実行するフロー識別・振り分け部と、サービス対象フローについての伝播遅延時間を計測する伝送遅延時間算出部と、保証帯域と伝送遅延時間算出部で計測された伝播遅延時間とから、サービス対象フローのデータが保証帯域以内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、サービス対象フローのＡＣＫパケットのＡＣＫナンバーを制御するＡＣＫナンバー制御部と、ＡＣＫパケットの広告ウィンドウサイズに算出されたウィンドウサイズを書き込む広告ウィンドウサイズ書き込み部と、を有し、ＡＣＫナンバーが書き換えられウィンドウサイズが書き込まれたＡＣＫパケットを宛先に向けて送出する。
【００１１】
本発明のエッジノードにおいて、ＡＣＫナンバー制御部は、既にＡＣＫナンバーが書き換えられたＡＣＫパケットのＡＣＫナンバーを転送済みＡＣＫナンバーとして、転送済みＡＣＫナンバーと最大セグメントサイズとに基づいて、フロー識別・振り分け部から振り分けられたサービス対象フローのＡＣＫパケットのＡＣＫナンバーを書き換える。あるいは、ＡＣＫナンバー制御部は、転送済みＡＣＫナンバーと、フロー識別・振り分け部から振り分けられたサービス対象フローのＡＣＫパケットのＡＣＫナンバーとを記憶するＡＣＫナンバー記憶部と、サービス対象フローのＡＣＫパケットのＡＣＫナンバーと転送済みＡＣＫナンバーとの差を最大セグメントサイズで割った個数のＡＣＫパケットであって、それぞれが異なるＡＣＫナンバーを有するＡＣＫパケットを作成するＡＣＫパケット作成部と、を備え、ＡＣＫパケット作成部が作成しウィンドウサイズが書き込まれたＡＣＫパケットが宛先に送信されるようにする。
【発明の効果】
【００１２】
本発明によれば、サービス対象フローのＡＣＫパケットのＡＣＫナンバーを制御し書き換えることによって、ＴＣＰを用いた帯域保証サービス運用時にデータ送信端末のＴＣＰプロトコルスタックの変更を必要とすることなく、遅延ＡＣＫプロトコルにより複数のデータパケットがバースト的に転送されることを防止でき、保証帯域内で安定的にスループットを制御できるようになり、保証帯域を効率よく利用することが可能となる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明の好ましい実施形態について、図面を参照して説明する。
【００１４】
一般にＴＣＰでは、広告ウィンドウと輻輳ウィンドウという２つのウィンドウが定義される。このうち広告ウィンドウのサイズは、受信側で、その受信バッファの状態に依存して決定される。一方、輻輳ウィンドウのサイズは、データ送信側で、パケット廃棄の状況に応じて決定される。そして実際のフロー制御に用いるウィンドウサイズとしては、広告ウィンドウサイズと輻輳ウィンドウサイズのうちのいずれか小さい方が選択される。これらのウィンドウサイズは、ＡＣＫパケットが到着したときに更新される。
【００１５】
本実施形態では、データの送信側となるデータ送信端末とデータの受信側となるデータ受信端末との間のデータ転送は帯域保証ネットワークを介するものであり、データ転送のための帯域が保証されているものとする。データ送信端末とデータ受信端末は、それぞれ対応するエッジノードを介して帯域保証ネットワークに接続するものとする。このような構成では、保証帯域以下のデータ転送速度でデータ送信端末がデータを送出している限り、ネットワーク内ではパケットの廃棄が生じないことが想定されており、データが保証帯域以下で送出されるように広告ウィンドウサイズを調節すれば、パケットの廃棄を防ぐことができる。パケットの廃棄が生じなければ輻輳ウィンドウサイズが小さくならないので、保証帯域以下でデータを送出している限り、広告ウィンドウサイズが常にＴＣＰウィンドウサイズに採用されることになる。その結果、スループットが鋸歯状に変動しなくなり保証帯域の効率的な利用が可能となる。
【００１６】
そこで本実施形態では、エッジノードにおいて、データ送信側とデータ受信側との間の伝播遅延時間と帯域保証ネットワークの保証帯域とから、データが保証帯域以内で送出されるようなウィンドウサイズを算出し、データ受信端末からデータ送信端末に送られるＡＣＫパケットに記載される広告ウィンドウサイズを、算出したウィンドウサイズの値に書き換える。伝播遅延時間としては、往復伝播遅延時間（ＲＴＴ；round trip time）が好ましく用いられる。その結果、本実施形態によれば、データ送信端末からデータ受信端末へ送信するデータの転送速度を保証帯域内で安定的に制御できるようになり、保証帯域を効率よく利用することができるようになる。
【００１７】
さらに本実施形態では、エッジノードが、ＴＣＰヘッダ内のＡＣＫナンバーの書き換えを行うことで、遅延ＡＣＫアルゴリズムにより複数のデータパケットがバースト的に転送されてしまうという問題を改善し、保証帯域を効率よく利用して高いスループットを保つことが可能となる。
【００１８】
以下、本実施形態について図面を参照して詳細に説明する。図１は、本実施形態が適用されるデータ送信システムの構成の一例を示すブロック図である。このデータ転送システムは、データ送信端末１４が接続されるエッジノード１１と、データ受信端末１５が接続されるエッジノード１２と、エッジノード１１とエッジノード１２が接続される帯域保証ネットワーク１６と、帯域管理サーバ（ＲＡＣＳ(Resource and Admission Control Subsystem)サーバ）１３と、を備えている。エッジノード１１とエッジノード１２とは帯域保証ネットワーク１６上でデータを送受信することができ、これにより、データ送信端末１４からのデータが、エッジノード１１、帯域保証ネットワーク１６及びエッジノード１２を介して、データ受信端末１５へ転送されるようになっている。
【００１９】
帯域管理サーバ１３は、帯域保証ネットワーク１６の全リンクの帯域情報を集中的に管理する装置である。帯域情報には、各リンクに割り当てられた保証帯域の情報が含まれている。帯域管理サーバ１３は、管理している各リンクの帯域情報をエッジノード１１，１２に通知する。このような帯域管理サーバ１３による帯域管理によって、データ送信端末１４からデータ受信端末１５へのリンクは帯域保証ネットワーク１６での保証帯域が確保される。その結果、データ送信端末１４が保証帯域以下でデータを送出する限り、保証帯域ネットワーク１６内でのパケット廃棄は発生しない。また後述するように、エッジノード１１は、データ送信端末１４とデータ受信端末１５との間のデータ伝搬の遅延量を表す往復伝播遅延時間１７を計測する。
【００２０】
図２は、本実施形態におけるエッジノードの構成を示している。エッジノード１１は、データ受信部２１、フロー識別・振り分け部２２、伝送遅延時間算出部２３、データ送信部２４、帯域情報保持部２５、フロー情報保持部２６、ウィンドウサイズ算出部２７、広告ウィンドウサイズ書き込み部２８、及びＡＣＫナンバー制御部２９を備えている。
【００２１】
ここでデータ受信部２１は、エッジノード１１の外部（例えばデータ送信端末１４）から到来するデータパケットやＡＣＫパケットなどのパケットを受信する機能を有し、受信したパケットをフロー識別・振り分け部２２に送る。
【００２２】
フロー識別・振り分け部２２は、帯域情報保持部２５に帯域情報とともに保持されているユーザ情報に基づいて、データ受信部２１が受信したパケットのフローがサービス対象フローなのかサービス非対象フローなのかを識別する機能を有する。ここでサービス対象フローとは、帯域を保証したデータ転送のサービスの対象となるフローのことであり、サービス非対象フローとは、帯域を保証したデータ転送のサービスの対象とならないフローのことである。さらにフロー識別・振り分け部２２は、識別結果に基づき、サービス対象フローのＡＣＫパケットを経路２２ａを通して広告ウィンドウサイズ書き込み部２８へ振り分け、サービス非対象フローのパケットとサービス対象フローのデータパケットとを経路２２ｂからデータ送信部２４へ振り分ける。
【００２３】
伝送遅延時間算出部２３は、フロー識別・振り分け部２２からの要求に基づいて、データ送信端末１４とこのエッジノード１１までのデータの往復伝播遅延時間と、データ受信端末１５とこのエッジノード１１までの往復伝播遅延時間を計測し、両方の往復伝播遅延時間の和をデータ送信端末１４とデータ受信端末１５との間の往復伝播遅延時間１７としてフロー情報保持部２６に報告する機能を有する。往復伝播遅延時間は、周知の技術に基づき、このエッジノード１１からデータ送信端末１４及びデータ受信端末１５にデータパケットを送信してそのパケットが返信されてこのエッジノード１１で受信されるまでの時間を計測することによって決めることができる。
【００２４】
データ送信部２４は、フロー識別・振り分け部２２から経路２２ｂを介して受け取ったパケット（サービス非対象フローのパケットとサービス対象フローのデータパケット）と広告ウィンドウサイズ書き込み部２８から受け取ったサービス対象フローのＡＣＫとを外部（例えば、帯域保証ネットワーク１６を介して相手側のエッジノード１２）へ送信する機能を有する。
【００２５】
帯域情報保持部２５は、帯域管理サーバ１３から通知されたサービス対象ユーザの帯域情報とユーザ情報（宛先・送信元ＩＰアドレス、宛先・送信元ポート番号）とを対応付けて保持するものである。ユーザ情報は、ユーザのコネクションに関する情報であるので、コネクション情報とも呼ばれ、したがってリンクは、ユーザ情報により識別することができる。帯域情報には、帯域保証ネットワーク１６内の各リンクに割り当てられた保証帯域の情報が含まれる。
【００２６】
フロー情報保持部２６は、フロー識別・振り分け部２２で識別されるサービス対象フローのユーザ情報と、伝送遅延時間算出部２３で算出された往復伝播遅延時間１７とを対応付けて保持するものである。
【００２７】
ウィンドウサイズ算出部２７は、フロー情報保持部２６に保持されているデータ送信端末とデータ受信端末間の往復伝播遅延時間１７と、帯域情報保持部２５に保持されている帯域情報の保証帯域とを用いて、データの送出帯域が保証帯域以内となるようなウィンドウサイズを算出する機能を有する。算出されたウィンドウサイズは、広告ウィンドウサイズ書き込み部２８に通知される。
【００２８】
ＡＣＫナンバー制御部２９は、フロー識別・振り分け部２２から転送されたサービス対象フローのＡＣＫパケットを受け取り、受け取ったパケットのＡＣＫナンバーを記憶するとともに、ＡＣＫナンバーが書き換えられたＡＣＫパケットの作成を行う機能を有するものである。作成されたＡＣＫパケットは、広告ウィンドウサイズ書き込み部２８に転送される。
【００２９】
広告ウィンドウサイズ書き込み部２８は、ＡＣＫナンバー制御部２９から受け取ったＡＣＫパケットのウィンドウフィールドに、ウィンドウサイズ算出部２７で算出されたウィンドウサイズの値を書き込み、そのＡＣＫパケットをデータ送信部２４に転送する機能を有する。ＡＣＫナンバー制御部２９は、フロー識別・振り分け部２９によって振り分けられたサービス対象フローのＡＣＫパケットのＡＣＫナンバーを書き換える機能を有するものであるから、結局、広告ウィンドウサイズ書き込み部２８は、データ受信端末１５からデータ送信端末１４へ転送されるサービス対象フローのＡＣＫパケットのウィンドウフィールドに、ウィンドウサイズ算出部２７で算出されたウィンドウサイズの値を書き込むことになる。
【００３０】
次に、このデータ送信システムにおけるフローレート制御について、特に、データ送信端末１４を帯域保証ネットワーク１６に収容するエッジノード１１における処理を中心にして説明する。
【００３１】
まず、フロー識別・振り分け部２２によるパケット振り分けについて、図３を用いて説明する。
【００３２】
データ送信端末１４とデータ受信端末１５との間で帯域保証ネットワーク１６を介したコネクションが確立されると、データ送信端末１４からデータ受信端末１５へのデータの転送が開始される。データ転送が開始されたことによりデータ受信端末１５からＡＣＫパケットがデータ送信端末１４に送られることとなるが、エッジノード１１のフロー識別・振り分け部２２は、データ受信端末１５からのパケットを受信すると、そのパケットを検査して、サービス対象フローのＡＣＫパケットか否か判定をする。サービス対象フローのＡＣＫパケットであれば、フロー識別・振り分け部２２は、そのＡＣＫパケットを、経路２２ａを通してＡＣＫナンバー制御部２９に送る。サービス非加入フローのユーザパケットやサービス加入フローのパケットであってもデータパケットに関しては、フロー識別・振り分け部２２は、これらのパケットを、経路２２ｂを通してデータ送信部２４に送る。
【００３３】
次に、伝送遅延時間算出部２３における、データ送信端末とデータ受信端末間の往復伝播遅延時間１７の計測の処理について、図４を用いて説明する。
【００３４】
データ送信端末１４側のエッジノード１１において、データ受信部２１にＳＹＮ（同期）パケットが入力すると、フロー識別・振り分け部２２は、このＳＹＮパケットを観測して、サービス対象フローのユーザ情報とともに、往復伝播遅延時間計測開始要求を伝送遅延時間算出部２３に送る（ステップ１０２）。ユーザ情報はＳＹＮパケットのヘッダから抽出される。これにより伝送遅延時間算出部２３は、往復伝播遅延時間１７の計測を開始する。このＳＹＮパケットは、フロー識別・振り分け部２２からデータ送信部２１を経て、宛先の端末に送信される。
【００３５】
その後、前述のＳＹＮパケットに対するＳＹＮ／ＡＣＫパケットがエッジノード１１をに送信されてフロー識別・振り分け部２２がこのＳＹＮ／ＡＣＫを観測し（ステップ１０３）、このＳＹＮ／ＡＣＫパケットは先のＡＣＫパケットと同様にデータ送信部２１から送信される。その後、ＳＹＮ／ＡＣＫパケットに対するＡＣＫパケットがエッジノードに送られてきてフロー識別・振り分け部２２は、このＡＣＫパケットを観測し、ユーザ情報とともに、往復伝播遅延時間計測終了要求を伝送遅延時間算出部２３に送る（ステップ１０５）。これにより伝送遅延時間算出部２３は、往復伝播遅延時間１７の計測を終了する。ここで、最初のＡＣＫパケットをエッジノード１１を通過し、２つ目のＡＣＫパケットがエッジノード１１を通過するまでに、パケットが、エッジノード１１とデータ送信端末１４及びデータ受信端末１５の一方との間を一往復し、さらに、エッジノード１１とデータ送信端末１４及びデータ受信端末１５の他方との間を一往復しているので、結局、いわゆる３ウェイ・ハンドシェークの技法により、データ送信端末１４とデータ受信端末１５の間の往復伝播遅延時間１７が測定されたことになる。
【００３６】
その後、往復伝播遅延時間１７の計測を終えた伝送遅延時間算出部２３は、往復伝播遅延時間１７を往復伝播遅延時間報告として、ユーザ情報とともにフロー情報保持部２６に通知する（ステップ１０６）。
【００３７】
次に、データが保証帯域以内で送出されるようなウィンドウサイズをウィンドウサイズ算出部２７が算出する処理について、図５を用いて説明する。
【００３８】
フロー情報保持部２６は、伝送遅延時間算出部２３から往復伝播遅延時間報告を受信すると（ステップ２０１）、ウィンドウサイズ算出部２７に対して、ユーザ情報とともにこの往復伝播遅延時間を帯域保証ウィンドウ計算要求として通知する（ステップ２０２）。帯域保証ウィンドウ計算要求を受け取ったウィンドウサイズ算出部２７は、そのユーザ情報を基にして、帯域情報保持部２５に対して、ユーザ情報に対応する保証帯域を要求する（ステップ２０３）。帯域情報保持部２５には、帯域管理サーバ１３から通知されたサービス対象ユーザの帯域情報とユーザ情報とが対応付けて保持されており、帯域情報保持部２５は、保持している情報に基づいて、ウィンドウサイズ算出部２７からの要求に応じて保証帯域を返送する（ステップ２０４）。その結果、ウィンドウサイズ算出部２７は、往復伝播遅延時間１７と保証帯域とを受け取ったことになるので、それらの値に基づいて、データ送信端末１４が保証帯域以内でデータを送出するようなウィンドウサイズを算出する（ステップ２０５）。このとき、保証帯域と一致する転送速度（レート）でデータが送出されるようなウィンドウサイズが好適である。そのようなウィンドウサイズは、例えば式（１）により求めることができる。
【００３９】
ウィンドウサイズ［ＫＢ］＝保証帯域［Ｋｂｐｓ］×往復伝播遅延時間［ｓｅｃ］÷８［ｂｉｔｓ／Ｂｙｔｅ］        （１）
次に、広告ウィンドウサイズ書き込み部２８がＡＣＫパケットに広告ウィンドウサイズを書き込む時の処理について、図６を用いて説明する。
【００４０】
まず、上述のようにウィンドウサイズ算出部２７がサービス対象フローのウィンドウサイズを算出する（ステップ３０１）。続いて、ウィンドウサイズ算出部２７は、算出したウィンドウサイズとそのサービス対象フローのユーザ情報とを広告ウィンドウサイズ書き込み部２８に通知する（ステップ３０２）。広告ウィンドウサイズ書き込み部２８は、ウィンドウサイズ算出部２７から通知されたウィンドウサイズの値を、フロー識別・振り分け部２２からＡＣＫナンバー制御部２９を介して送られてきたサービス対象フローのＡＣＫパケットのウィンドウフィールドに書き込む（ステップ３０３）。広告ウィンドウサイズ書き込み部２８で広告ウィンドウサイズが書き込まれたＡＣＫパケットはデータ送信部２４に送られる。
【００４１】
データ送信部２４は、フロー識別・振り分け部２７から経路２２ｂを介して送られてきたパケットをこのエッジノード１１の外部に送信するとともに、広告ウィンドウサイズ書き込み部２８で広告ウィンドウサイズが書き込まれたサービス対象フローのＡＣＫパケットを外部に送信する。
【００４２】
次に、ＡＣＫナンバー制御部２９におけるＡＣＫナンバー書き換えの処理について、図７を用いて説明する。図７に示すように、ＡＣＫナンバー制御部２９は、このＡＣＫナンバー転送部２９に転送されてきたＡＣＫパケットのＡＣＫナンバーを記憶するＡＣＫナンバー記憶部３０と、ＡＣＫナンバーが書き換えられたＡＣＫパケットを生成して広告ウィンドウサイズ書き込み部２８に転送するＡＣＫパケット作成部３１とを備えている。
【００４３】
ＡＣＫナンバー制御部２９において、フロー識別・振り分け部２２から転送されてきたＡＣＫパケットのＡＣＫナンバーがＡＣＫナンバー記憶部３０において記憶される。ＡＣＫナンバー記憶部３０は、すでに広告ウィンドウサイズ書き込み部２８に転送済みのＡＣＫナンバー（以下、転送済みＡＣＫナンバー）も記憶している。そして、ＡＣＫナンバー記憶部３０は、今回転送されてきて記憶したＡＣＫナンバーと転送済みＡＣＫナンバーとの差を最大セグメントサイズ（以下、ＭＳＳ）で割った数（以下、ＡＣＫ作成数）のＡＣＫパケットを作成するように、ＡＣＫパケット作成部３１に対してＡＣＫパケット作成要求を送る（ステップ４０１）。ＡＣＫパケット作成部３１が作成するＡＣＫパケットは、フロー識別・振り分け部２２から転送されてきたＡＣＫパケットとはＡＣＫナンバーのみが異なるものであって、パケットヘッダにおけるその他のフィールド、たとえば宛先フィールドの値などは同一のものである。具体的には、ＡＣＫパケット作成部３１が作成する「ＡＣＫ作成数」個のＡＣＫパケットのそれぞれのＡＣＫナンバーは、
｛転送済みＡＣＫナンバー＋ＭＳＳ，転送済みＡＣＫナンバー＋２×ＭＳＳ，…，転送済みＡＣＫナンバー＋ＡＣＫ作成数×ＭＳＳ｝
である。
【００４４】
このようなＡＣＫナンバー制御部２９を設けることにより、エッジノード１１に対してサービス対象フローのＡＣＫパケットが１個入力すると、上述した「ＡＣＫ作成数」個のＡＣＫパケットが生成してその宛先の端末に順次転送されることになり、宛先の端末ではそれらのＡＣＫパケットが到着するたびにデータパケットを送出するので、遅延ＡＣＫアルゴリズムにより１個のＡＣＫパケットの到着によって複数個のデータパケットをまとめて送出する場合に比べ、複数個のデータパケットがバースト状にネットワークに送出されることを防ぐことができる。
【図面の簡単な説明】
【００４５】
【図１】データ通信システムの構成の一例を示すブロック図である。
【図２】本発明の実施の一形態のエッジノードの構成を示すブロック図である。
【図３】フロー識別・振り分け部によるパケット振り分けを説明する図である。
【図４】往復伝播遅延時間を計測する時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。
【図５】ウィンドウサイズを算出するときのエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。
【図６】ＡＣＫパケットに広告ウィンドウサイズを書き込むときのエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。
【図７】ＡＣＫナンバー制御部におけるＡＣＫナンバー書き換えの処理を説明する図である。
【符号の説明】
【００４６】
１１，１２    エッジノード
１３    帯域管理サーバ
１４    データ送信端末
１５    データ受信端末
１６    帯域保証ネットワーク
１７    往復伝播遅延時間
２１    データ受信部
２２    フロー識別・振り分け部
２３    伝送遅延時間算出部
２４    データ送信部
２５    帯域情報保持部
２６    フロー情報保持部
２７    ウィンドウサイズ算出部
２８    広告ウィンドウサイズ書き込み部
２９    ＡＣＫナンバー制御部
３０    ＡＣＫナンバー記憶部
３１    ＡＣＫパケット作成部
１０１〜１０６，２０１〜２０５，３０１〜３０３，４０１    ステップ
【図１】
0004797033.tif 000002
【図２】
0004797033.tif 000003
【図３】
0004797033.tif 000004
【図４】
0004797033.tif 000005
【図５】
0004797033.tif 000006
【図６】
0004797033.tif 000007
【図７】
0004797033.tif 000008