(57)【特許請求の範囲】
【請求項１】
データ送信端末からデータ受信端末へ送信できる帯域が保証された帯域保証ネットワークにおいて前記データ送信端末と前記データ受信端末の間に配置されるエッジノードであって、
前記帯域保証ネットワークにて前記データ送信端末から前記データ受信端末へのサービス対象フローに割り当てられた保証帯域を保持する帯域情報保持部と、
前記サービス対象フローの伝搬遅延時間を計測する伝搬遅延時間算出部と、
前記帯域情報保持部に保持されている前記サービス対象フローの保証帯域と、前記伝搬遅延時間算出部で計測された伝搬遅延時間とから、前記サービス対象フローのデータが前記保証帯域内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、
前記ウィンドウサイズ算出部で算出された前記ウィンドウサイズを、前記データ受信端末から前記データ送信端末への応答パケットによって前記データ送信端末に通知する広告ウィンドウサイズ書き込み部と、
前記ウィンドウサイズ算出部で算出された前記ウィンドウサイズと、前記サービス対象フローにおける前記データ送信端末からのデータパケットに対する前記データ受信端末からの応答パケットの遅延メカニズムとに基づき、前記ウィンドウサイズ分のデータパケットが送られたときに前記応答パケットが返送されるように、前記サービス対象フローのデータパケットを分割するためのデータ分割数を算出するデータ分割数算出部と、
前記データ分割数算出部で算出された前記データ分割数に従って前記サービス対象フローのデータパケットを分割するデータ分割部と、
を有するエッジノード。
【請求項２】
前記遅延メカニズムは、前記サービス対象フローにおいて前記データ送信端末からの何個のデータパケットに対応して前記データ受信端末から１個の応答パケットが送られるかを定義するアルゴリズムである、請求項１に記載のエッジノード。
【請求項３】
前記データ分割数算出部は、前記ウィンドウサイズ算出部で算出された前記ウィンドウサイズと前記遅延メカニズムとに基づき、前記ウィンドウサイズ分のデータパケットの個数が前記１個の応答パケットに対応する前記データパケットの個数の倍数となるように前記データ分割数を決定する、請求項１または２に記載のエッジノード。
【請求項４】
前記データ分割数算出部は、前記サービス対象フローにおける２つの応答パケット間で、該応答パケットに記載された、該応答パケットに対応するデータパケットを表示するＡＣＫナンバーの差を算出することにより、前記１個の応答パケットに対応する前記データパケットの個数を認識する、請求項３に記載のエッジノード。
【請求項５】
前記データ分割部は、通過する前記サービス対象フローのデータパケットのデータサイズの積算値と前記ウィンドウサイズとを比較することにより、前記ウィンドウサイズ分のデータパケット群を認識する、請求項１から４のいずれか１項に記載のエッジノード。
【請求項６】
前記データ分割部は、前記ウィンドウサイズ分のデータパケット群の中で最後のデータパケットだけを分割することにより、前記ウィンドウサイズ分のデータパケットの個数を調整する、請求項５に記載のエッジノード。
【請求項７】
前記サービス対象フローを認識し、更に前記サービス対象フローのデータパケットと応答パケットを認識し、前記サービス対象フローのデータパケットを前記データ分割部に送り、前記サービス対象フローの応答パケットを前記広告ウィンドウサイズ書き込み部に送るフロー識別・振り分け部を更に有する、請求項１から６のいずれか１項に記載のエッジノード。
【請求項８】
前記サービス対象フローのコネクション情報と、前記伝播遅延時間算出部で算出された前記サービス対象フローの伝播遅延時間とを対応付けて保持するフロー情報保持部を更に有し、
前記ウィンドウサイズ算出部は、前記フロー情報保持部に保持されている前記伝播遅延時間を、前記ウィンドウサイズの算出に用いる、請求項１から７のいずれか１項に記載のエッジノード。
【請求項９】
データ送信端末からデータ受信端末へ送信できる帯域が保証された帯域保証ネットワークにおいて、前記データ送信端末から前記データ受信端末へのデータ送信の帯域を制御するための帯域制御方法であって、
前記帯域保証ネットワークにて前記データ送信端末から前記データ受信端末へのサービス対象フローに割り当てられた保証帯域を予め保持し、
前記サービス対象フローの伝搬遅延時間を計測し、
保持している前記サービス対象フローの保証帯域と、計測した伝搬遅延時間とから、前記サービス対象フローのデータが前記保証帯域内の帯域となるウィンドウサイズを算出し、
算出した前記ウィンドウサイズを、前記データ受信端末から前記データ送信端末への応答パケットによって前記データ送信端末に通知し、
算出した前記ウィンドウサイズと、前記サービス対象フローにおけるデータパケットに対する前記データ受信端末からの応答パケットの遅延メカニズムとに基づき、前記ウィンドウサイズ分のデータパケットが送られたときに前記応答パケットが返送されるように、前記サービス対象フローのデータパケットを分割するためのデータ分割数を算出し、
算出した前記データ分割数に従って前記サービス対象フローのデータパケットを分割する、帯域制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末間でネットワークを介してデータを送受信するシステムにおけるフロー制御に関する。
【背景技術】
【０００２】
パソコンなどの端末の間ではインターネットなどのコンピュータネットワークを介した通信が行われる。この通信によってファイル等のデータが転送される。この種のデータ転送システムでは、トランスポート層のプロトコルとして、標準的なトランスポートプロトコルであるＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が用いられることが多い。ＴＣＰでは、ウィンドウサイズをパケット廃棄に従って自律的に変化させる帯域制御が行われる。ＴＣＰのウィンドウサイズはＡＣＫの到着時に更新される。
【０００３】
データ転送においては大容量のデータを高速に転送することが要求されることがある。しかし、保証された帯域以上のトラヒックがネットワークに流入するのを防ぐためにネットワークの入り口で流入制限を行う帯域保証ネットワークでのデータ転送においては、上記帯域制御によってスループットが鋸歯状になり、保証された帯域を十分に活用できないという課題があった。
【０００４】
これに対して、ＴＣＰプロトコルに変更を加えることで保証された帯域に合わせて一定のスループットでデータを送信する技術や、広告ウィンドウサイズを制御する
ことでデータのスループットを一定にする技術が検討されている。非特許文献１では、ＴＣＰのウィンドウサイズを制御することによりパケット廃棄を防止し、スループットを良好に維持する検討がなされている。
【非特許文献１】服部  恭太、他５名，“エッジルータにおけるＴＣＰフローレート制御方式の検討”，電子情報通信学会総合大会（Ｂ−６−５４），２００７年３月，ｐ．５４
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非特許文献１には、ＡＣＫにて通知する広告ウィンドウサイズを、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）を基にして算出した適切な値に制御することによって、パケット廃棄の発生を防止する技術が開示されている。その技術は、計測したＲＴＴを基に広告ウィンドウサイズが更新される毎にウィンドウサイズ分のデータの送受信が完了してＡＣＫが返送されることを前提としている。
【０００６】
しかし、ＴＣＰには、データ受信において複数個のデータに対してまとめて１つのＡＣＫを返すという遅延ＡＣＫアルゴリズムが搭載されている。この遅延ＡＣＫアルゴリズムが用いられれば、ウィンドウサイズ分のデータが送出されるのと同期してＡＣＫが返送されるとは限らない。ＡＣＫが返送されなければデータの送受信は完了しない。そのため、ＡＣＫでデータ送信端末に通知される広告ウィンドウサイズが適切な値に更新されない場合がある。その結果、スループットが一時的に上がってパケット廃棄が発生し、帯域制御によってスループットが極端に低下してしまう可能性があった。
【０００７】
本発明の目的は、帯域保証ネットワークでのデータ転送において、遅延ＡＣＫアルゴリズムを考慮して、保証した帯域を効率よく利用して高いスループットを保つ装置を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のエッジノードは、
データ送信端末からデータ受信端末へ送信できる帯域が保証された帯域保証ネットワークにおいて前記データ送信端末と前記データ受信端末の間に配置されるエッジノードであって、
前記帯域保証ネットワークにて前記データ送信端末から前記データ受信端末へのサービス対象フローに割り当てられた保証帯域を保持する帯域情報保持部と、
前記サービス対象フローの伝搬遅延時間を計測する伝搬遅延時間算出部と、
前記帯域情報保持部に保持されている前記サービス対象フローの保証帯域と、前記伝搬遅延時間算出部で計測された伝搬遅延時間とから、前記サービス対象フローのデータが前記保証帯域内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、
前記ウィンドウサイズ算出部で算出された前記ウィンドウサイズを、前記データ受信端末から前記データ送信端末への応答パケットによって前記データ送信端末に通知する広告ウィンドウサイズ書き込み部と、
前記ウィンドウサイズ算出部で算出された前記ウィンドウサイズと、前記サービス対象フローにおける前記データ送信端末からのデータパケットに対する前記データ受信端末からの応答パケットの遅延メカニズムとに基づき、前記ウィンドウサイズ分のデータパケットが送られたときに前記応答パケットが返送されるように、前記サービス対象フローのデータパケットを分割するためのデータ分割数を算出するデータ分割数算出部と、
前記データ分割数算出部で算出された前記データ分割数に従って前記サービス対象フローのデータパケットを分割するデータ分割部と、
を有している。
【０００９】
また、本発明のエッジノードにおいて、前記遅延メカニズムは、前記サービス対象フローにおいて前記データ送信端末からの何個のデータパケットに対応して前記データ受信端末から１個の応答パケットが送られるかを定義するアルゴリズムであるとしてもよい。
【００１０】
また、本発明のエッジノードにおいて、前記データ分割数算出部は、前記ウィンドウサイズ算出部で算出された前記ウィンドウサイズと前記遅延メカニズムとに基づき、前記ウィンドウサイズ分のデータパケットの個数が前記１個の応答パケットに対応する前記データパケットの個数の倍数となるように前記データ分割数を決定するとしてもよい。
【００１１】
また、本発明のエッジノードにおいて、前記データ分割数算出部は、前記サービス対象フローにおける２つの応答パケット間で、該応答パケットに記載された、該応答パケットに対応するデータパケットを表示するＡＣＫナンバーの差を算出することにより、前記１個の応答パケットに対応する前記データパケットの個数を認識するとしてもよい。
【００１２】
また、本発明のエッジノードにおいて、前記データ分割部は、通過する前記サービス対象フローのデータパケットのデータサイズの積算値と前記ウィンドウサイズとを比較することにより、前記ウィンドウサイズ分のデータパケット群を認識するとしてもよい。
【００１３】
また、本発明のエッジノードにおいて、前記データ分割部は、前記ウィンドウサイズ分のデータパケット群の中で最後のデータパケットだけを分割することにより、前記ウィンドウサイズ分のデータパケットの個数を調整するとしてもよい。
【００１４】
また、本発明のエッジノードは、前記サービス対象フローを認識し、更に前記サービス対象フローのデータパケットと応答パケットを認識し、前記サービス対象フローのデータパケットを前記データ分割部に送り、前記サービス対象フローの応答パケットを前記広告ウィンドウサイズ書き込み部に送るフロー識別・振り分け部を更に有するとしてもよい。
【００１５】
また、本発明のエッジノードは、前記サービス対象フローのコネクション情報と、前記伝播遅延時間算出部で算出された前記サービス対象フローの伝播遅延時間とを対応付けて保持するフロー情報保持部を更に有し、
前記ウィンドウサイズ算出部は、前記フロー情報保持部に保持されている前記伝播遅延時間を、前記ウィンドウサイズの算出に用いるとしてもよい。
【発明の効果】
【００１６】
本発明によれば、データパケットに対する応答パケットの遅延メカニズムに応じて、ウィンドウサイズ内のデータパケットの個数を調整することにより、応答パケットの遅延の影響を抑制することができるので、保証帯域内で安定的にスループットを制御でき、保証帯域を効率よく利用することが可能となる。
【発明を実施するための最良の形態】
【００１７】
本発明を実施するための形態について図面を参照して詳細に説明する。
【００１８】
一般的なＴＣＰでは広告ウィンドウと輻輳ウィンドウという２つのウィンドウが定義される。広告ウィンドウのサイズは受信側で受信バッファの状態に依存して決定される。輻輳ウィンドウのサイズはデータ送信側でパケット廃棄の状況に応じて決定される。フロー制御に用いるウィンドウサイズには広告ウィンドウサイズと輻輳ウィンドウサイズのうちいずれか小さいほうが選択される。このウィンドウサイズはＡＣＫが到着したときに更新される。
【００１９】
本実施形態では、データの送信側となるデータ送信端末と、データの受信側となるデータ受信端末との間は、帯域保証ネットワークによって、サービス対象フロー毎に帯域が保証される構成である。従って、保証帯域以下でデータを送出している限りパケットの廃棄が生じないことが想定される。それゆえ、データが保証帯域以下で送出されるように広告ウィンドウサイズを調節すればパケットの廃棄を防ぐことができる。パケットの廃棄が生じなければ輻輳ウィンドウサイズが小さくならないので常に広告ウィンドウサイズがＴＣＰウィンドウサイズに採用されることになる。その結果、スループットが鋸歯状に変動することがなくなり保証帯域の効率的な利用が可能となる。
【００２０】
そこで、本実施形態では、データ送信端末とデータ受信端末の間でエッジノードがデータ送信側とデータ受信側の間の伝搬遅延時間と、帯域保証ネットワークによる保証帯域とから、データが保証帯域以内で送出されるようなウィンドウサイズ（以下、ＢＧＷＮＤ）を算出し、データ受信端末からデータ送信端末へのＡＣＫパケットに記載される広告ウィンドウサイズを、ＢＧＷＮＤ値に書き換える。これにより、データ送信端末からデータ受信端末へ送信するデータのレートを保証帯域内で安定的に制御できるので、保証帯域を効率よく利用することができる。
【００２１】
また、エッジノードは、遅延ＡＣＫアルゴリズムによって何個のデータパケットに対して１つのＡＣＫパケットが返されるかを表す遅延ＡＣＫナンバーを基にして、送信端末からのデータパケットを分割することにより、ＢＧＷＮＤ内のデータパケットの個数が遅延ＡＣＫナンバーの倍数となるように調整する。
【００２２】
その際、エッジノードは、データ受信端末からのＡＣＫパケット内のＡＣＫナンバーをモニターし、ＡＣＫパケット間のＡＣＫナンバーの差（以下、ＤｉｆｆＡＣＫ）を計測する。このＤｉｆｆＡＣＫによって遅延ＡＣＫナンバーが決まる。
【００２３】
また、データパケットの分割方法の例として以下の（１）および（２）がある。
（１）通過する全てのデータパケットのそれぞれを遅延ＡＣＫナンバーと同数に分割する。
（２）ＢＧＷＮＤ内のデータパケットの個数が遅延ＡＣＫナンバーの倍数となるように、ＢＧＷＮＤを単位として、ＢＧＷＮＤ内のデータパケットを分割する。その際、ＢＧＷＮＤ内のデータパケットの個数が遅延ＡＣＫナンバーの倍数となるように、ＢＧＷＮＤ内のいずれか１つのデータパケットだけを分割するのが好ましい。
【００２４】
このように、データパケットに対するＡＣＫパケットの遅延メカニズム（遅延ＡＣＫアルゴリズム）に応じて、ＢＧＷＮＤ内のデータパケットの個数を調整することにより、遅延ＡＣＫアルゴリズムにより発生するＡＣＫパケットの遅延の影響を抑制することができる。その結果、保証帯域内で安定的にスループットを制御できるので、保証帯域を効率よく利用することが可能となる。
【００２５】
なお、本実施形態では、ＢＧＷＮＤ内のデータパケットの個数を遅延ＡＣＫナンバーの倍数に調整することにより、遅延ＡＣＫアルゴリズムにより発生するＡＣＫの遅延の影響を抑制している。より具体的には、データパケットを分割することにより、データパケットの個数を調整している。
【００２６】
以下、本実施形態について図面を参照して詳細に説明する。
【００２７】
図１は、本実施形態によるデータ送信システムの構成を示すブロック図である。図１を参照すると、本実施形態のデータ送信システムは、エッジノード１１，１２および、帯域管理サーバ（ＲＡＣＳ（Ｒｅｓｏｕｒｃｅ  ａｎｄ  Ａｄｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｓｕｂｓｙｓｔｅｍ））１３を有している。
【００２８】
データ送信端末１４はエッジノード１１に接続され、データ受信端末１５はエッジノード１２に接続されている。エッジノード１１とエッジノード１２は帯域保証ネットワーク１６上でデータを送受信することができる。これによりデータ送信端末１４からのデータがエッジノード１１とエッジノード１２を介してデータ受信端末１５へ転送される。
【００２９】
帯域管理サーバ１３は帯域保証ネットワーク１６の全リンクの帯域情報を集中的に管理する装置である。帯域情報にはリンクに割り当てられた保証帯域の情報が含まれている。帯域管理サーバ１３は管理している各リンクの帯域情報をエッジノード１１，１２に通知する。
【００３０】
帯域管理サーバ１３による帯域管理によって、データ送信端末１４からデータ受信端末１５へのリンクは帯域保証ネットワーク１６での保証帯域が確保される。その結果、データ送信端末１４が保証帯域以下でデータを送出する限り帯域保証ネットワーク１６内でのパケット廃棄は発生しない。
【００３１】
エッジノード１１は、データ送信端末１４とデータ受信端末１５の間の往復伝搬遅延時間（ＲＴＴ）１７を計測する。そして、エッジノード１１は、往復伝搬遅延時間１７と保証帯域とを用いて、データの送出帯域が保証帯域以内となるようなＢＧＷＮＤを算出し、データ受信端末１５からデータ送信端末１４へのＡＣＫパケットのウィンドウフィールドにＢＧＷＮＤの値を書き込む。
【００３２】
また、エッジノード１１は、データ受信端末１５からのＡＣＫパケット内のＡＣＫナンバー（シーケンスナンバー）をモニターし、ＤｉｆｆＡＣＫを計測する。ＴＣＰの遅延ＡＣＫアルゴリズムによって何個のデータパケットに対して１つのＡＣＫパケットが返されているかを表す遅延ＡＣＫナンバーがＤｉｆｆＡＣＫによって決まる。
【００３３】
また、エッジノード１１は、その遅延ＡＣＫナンバーを基にして、データ送信端末１４からのデータパケットを分割することにより、ＢＧＷＮＤ内のデータパケットの個数が遅延ＡＣＫナンバーの倍数となるように調整する。
【００３４】
図２は、本実施形態のエッジノードの構成を示すブロック図である。図２を参照すると、エッジノード１１は、データ受信部２１、フロー識別・振り分け部２２、伝搬遅延時間算出部２３、データ送信部２４、帯域情報保持部２５、フロー情報保持部２６、ウィンドウサイズ算出部２７、広告ウィンドウサイズ書き込み部２８、データ分割部２９、およびデータ分割数算出部３０を有している。
【００３５】
データ受信部２１は、データ送信端末１４からデータパケットやＡＣＫパケットなどのパケットを受信し、フロー識別・振り分け部２２に送る。
【００３６】
フロー識別・振り分け部２２は、帯域情報保持部２５に帯域情報とともに保持されているユーザ情報を元に、帯域を保証したデータ転送のサービスの対象となるフロー（サービス対象フロー）と、帯域を保証したデータ転送のサービスの対象とならないフロー（サービス非対象フロー）とを識別する。さらにフロー識別・振り分け部２２は、サービス対象フローのＡＣＫパケットを出力２２ａを通して広告ウィンドウサイズ書き込み部２８へ、サービス対象フローのデータパケットを出力２２ｂからデータ送信部２４へ、サービス非対象フローのパケットを出力２２ｃからデータ送信部２４へと振り分ける。
【００３７】
伝搬遅延時間算出部２３は、データ送信端末１４とデータ受信端末１５との間の往復伝播遅延時間を計測する。
【００３８】
データ送信部２４は、フロー識別・振り分け部２２からのパケットと、データ分割部２９からのパケットと、広告ウィンドウサイズ書き込み部２８からのパケットとを、帯域保証ネットワーク１６を介してエッジノード１２へ送信する。
【００３９】
帯域情報保持部２５は、帯域管理サーバ１３から通知されたサービス対象フローの帯域情報とユーザ情報（宛先・送信元ＩＰアドレス、宛先・送信元ポート番号）とを対応付けて保持する。帯域情報には、リンクに割り当てられた保証帯域の情報が含まれている。リンクは、ユーザ情報により識別することができる。
【００４０】
フロー情報保持部２６は、フロー識別・振り分け部２２で識別されるサービス対象フローのコネクション情報と、伝搬遅延時間算出部２６で算出された往復伝搬遅延時間１７とを対応付けて保持する。
【００４１】
ウィンドウサイズ算出部２７は、フロー情報保持部２６に保持されているデータ送信端末１４とデータ受信端末１５の間の往復伝搬遅延時間１７と、帯域情報保持部２５に保持されている帯域情報の保証帯域とを用いて、データの送出帯域が保証帯域以内となるようなウィンドウサイズを算出する。
【００４２】
広告ウィンドウサイズ書き込み部２８は、データ受信端末１５からデータ送信端末１４へのＡＣＫパケットのウィンドウフィールドに、ウィンドウサイズ算出部２７で算出されたウィンドウサイズの値を書き込み、そのＡＣＫパケットをデータ送信部２４に送る。
【００４３】
データ分割部２９は、フロー識別・振り分け部２２から転送されたデータパケットのデータサイズを計測し、計測値をデータパケットカウンタにおいて積算していき、データパケットカウンタの値と、データ分割数算出部３０から通知されたデータ分割数とに基づいて、データパケットに対する分割処理を行う。分割処理の詳細は後述する。
【００４４】
データ分割数算出部３０は、フロー識別・振り分け部２２から転送されたＡＣＫパケット内のＡＣＫナンバーの差（以下、ＤｉｆｆＡＣＫ）を算出し、ウィンドウサイズ算出部２７から通知されたウィンドウサイズとＤｉｆｆＡＣＫとを基にデータ分割数を算出する。データ分割数の算出処理の詳細については後述する。
【００４５】
図３は、フロー識別・振り分け部２２によるパケット振り分けを説明するための図である。図３を参照して、フロー識別・振り分け部２２によるパケット振り分けを詳細に説明する。
【００４６】
データ送信端末１４とデータ受信端末１５間でコネクションが確立されると、データの転送が開始される。エッジノード１１のフロー識別・振り分け部２２は、データ受信端末１５からのＡＣＫパケットを受信すると、サービス対象フローのＡＣＫパケットか否か判定をする。サービス対象フローのＡＣＫパケットであれば、フロー識別・振り分け部２２は、前記ＡＣＫパケットを、出力２２ａを通して広告ウィンドウサイズ書き込み部２８に送る。データ送信端末１４からのデータパケットを受信すると、サービス対象フローのデータパケットか否か判定をする。サービス対象フローのデータパケットであれば、フロー識別・振り分け部２２は前記データパケットを、出力２２ｂを通してデータ分割部２９に送る。サービス非対象フローのパケットに関しては、フロー識別・振り分け部２２は、出力２２ｃを通してデータ送信部２４に送る。
【００４７】
図４は、往復伝搬遅延時間を計測する時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。ここでは、データ送信端末１４とエッジノード１１間の伝搬遅延時間が十分に小さいものとし、エッジノード１１とデータ受信端末１５の間の往復伝搬遅延時間が、データ送信端末１４とデータ受信端末１５の間の往復伝搬遅延時間１７に等しいものとする。図４を参照すると、データ送信端末１４側のエッジノード１１において、フロー識別・振り分け部２２がデータ送信端末１４からのＳＹＮパケットを観測すると（ステップ１０１）、サービス対象フローのユーザ情報と共に往復伝搬遅延時間計測開始要求を伝搬遅延時間算出部２３に送る（ステップ１０２）。これにより伝搬遅延時間算出部２３は往復伝搬遅延時間の計測を開始する。その後、フロー識別・振り分け部２２は、そのＳＹＮパケットに対するデータ受信端末１５からのＳＹＮ／ＡＣＫパケットを観測すると（ステップ１０３）、ユーザ情報と共に往復伝搬遅延時間計測終了要求を伝搬遅延時間算出部２３に送る（ステップ１０４）。これにより伝搬遅延時間算出部２３は往復伝搬遅延時間の計測を終了する。往復伝搬遅延時間を計測し終えた伝搬遅延時間算出部２３は、計測した往復伝搬遅延時間１７をユーザ情報と関連付けて、往復伝搬遅延時間報告としてフロー情報保持部２６に通知する（ステップ１０５）。
【００４８】
図５は、ウィンドウサイズを算出するときのエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。フロー情報保持部２６は、伝播遅延時間算出部２３からの往復伝搬遅延時間報告を受信すると（ステップ２０１）、ウィンドウサイズ算出部２７に対して、往復伝搬遅延時間１７およびユーザ情報と共に帯域保証ウィンドウ計算要求を送る（ステップ２０２）。帯域保証ウィンドウ計算要求を受けたウィンドウサイズ算出部２７は、そのユーザ情報を基にして、帯域情報保持部２５に対してユーザ情報に対応する保証帯域を要求する（ステップ２０３）。帯域情報保持部２５は、ウィンドウサイズ算出部２７からの要求に応じて保証帯域を返送する（ステップ２０４）。往復伝搬遅延時間１７と保証帯域とを受信したウィンドウサイズ算出部２７は、それらの値を基に、データ送信端末１４が保証帯域内でデータを送出するようなウィンドウサイズを算出する（ステップ２０５）。このとき、保証帯域と一致するレートでデータが送出されるようなウィンドウサイズが好適である。
【００４９】
ウィンドウサイズの算出は、例えば式（１）により求めることができる。
【００５０】
【数１】
0004774411.tif 000002
【００５１】
図６は、データ分割数算出時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。図６を参照すると、まずフロー識別・振り分け部２２にサービス対象フローのＡＣＫパケットが到着すると（ステップ３０１）、フロー識別・振り分け部２２は、そのＡＣＫパケットのＡＣＫナンバーとユーザ情報をデータ分割数算出部３０に通知する（ステップ３０２）。ＡＣＫナンバーとユーザ情報を通知されたデータ分割数算出部３０は、そのＡＣＫナンバーとユーザ情報を記憶する（ステップ３０３）。
【００５２】
その後、同じサービス対象フローの次のＡＣＫパケットがフロー識別・振り分け部２２に到着すると（ステップ３０４）、フロー識別・振り分け部２２は、そのＡＣＫパケットのＡＣＫナンバーとユーザ情報をデータ分割数算出部３０へ通知する（ステップ３０５）。ＡＣＫナンバーとユーザ情報を通知されたデータ分割数算出部３０は、今回のＡＣＫナンバーと、ステップ３０３で記憶した前回のＡＣＫナンバーとの差（ＤｉｆｆＡＣＫ）を算出する（ステップ３０６）。このＤｉｆｆＡＣＫが遅延ＡＣＫナンバーとなる。
【００５３】
また、ウィンドウサイズ算出部２７からデータ分割数算出部３０へは、算出されたウィンドウサイズ（ＢＧＷＮＤ）が通知される（ステップ３０７）。データ分割数算出部３０は、そのウィンドウサイズ内のデータパケットの個数が、遅延ＡＣＫナンバーの倍数となるようにデータ分割数を算出する。
【００５４】
ここでは一例として、ウィンドウサイズ内のデータパケット群の最後のデータパケットをデータ分割数に分割することにより、ウィンドウサイズ内のデータパケットの個数を調整するものとする。その場合には式（２）によりデータ分割数を算出することができる。
【００５５】
【数２】
0004774411.tif 000003
【００５６】
図７は、データ分割時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。図７を参照すると、まずデータ分割部２９にデータ分割数算出部３０からデータ分割数が通知される（ステップ４０１）。次に、フロー識別・振り分け部２２からデータ分割部２９にデータパケットが転送される（ステップ４０２）。前記データパケットがデータ分割部２９に到着したとき、データカウンタには、前記データパケットのデータサイズ分が加算される（ステップ４０３）。次に、データ分割部２９はデータカウンタのカウント値がＢＧＷＮＤ以上か確認し（ステップ４０４）、データカウンタのカウント値がＢＧＷＮＤ以上になったとき、データサイズを加算したデータパケットが、ＢＧＷＮＤ内のデータパケット群の最後のデータパケットであると認識される。そこで、データカウンタのカウント値をクリアし、最後のデータパケットをデータ分割数に分割し（ステップ４０６）、それぞれにシーケンス番号を付与してデータ送信部２４へ送信する（ステップ４０７）。
【００５７】
一方、ステップ４０４でデータカウンタのカウント値がＢＧＷＮＤ未満の場合は、データパケットを分割せずにそのままデータ送信部２４へ送信する（ステップ４０８）。
【００５８】
図８は、ＡＣＫパケットに広告ウィンドウサイズを書き込む時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。図８を参照すると、まずウィンドウサイズ算出部２７がサービス対象フローのウィンドウサイズを算出する（ステップ５０１）。続いて、ウィンドウサイズ算出部２７は算出したウィンドウサイズと、そのサービス対象フローのユーザ情報を広告ウィンドウサイズ書き込み部２８に通知する（ステップ５０２）。広告ウィンドウサイズ書き込み部２８は、ウィンドウサイズ算出部２７から通知されたウィンドウサイズの値を、フロー識別・振り分け部２２からのＡＣＫパケットのウィンドウフィールドに書き込む（ステップ５０３）。広告ウィンドウサイズ書き込み部２８で広告ウィンドウサイズが書き込まれたＡＣＫパケットはデータ送信部２４に送られる。
【図面の簡単な説明】
【００５９】
【図１】本実施形態によるデータ送信システムの構成を示すブロック図である。
【図２】本実施形態のエッジノードの構成を示すブロック図である。
【図３】フロー識別・振り分け部２２によるパケット振り分けを説明するための図である。
【図４】往復伝搬遅延時間を計測する時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。
【図５】ウィンドウサイズを算出するときのエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。
【図６】データ分割数算出時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。
【図７】データ分割時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。
【図８】ＡＣＫパケットに広告ウィンドウサイズを書き込む時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。
【符号の説明】
【００６０】
１１，１２    エッジノード
１３    帯域管理サーバ（ＲＡＣＳ）
１４    データ送信端末
１５    データ受信端末
１６    帯域保証ネットワーク
２１    データ受信部
２２    フロー識別・振り分け部
２３    伝搬遅延時間算出部
２４    データ送信部
２５    帯域情報保持部
２６    フロー情報保持部
２７    ウィンドウサイズ算出部
２８    広告ウィンドウサイズ書き込み部
２９    データ分割部
３０    データ分割数算出部
【図１】
0004774411.tif 000004
【図２】
0004774411.tif 000005
【図３】
0004774411.tif 000006
【図４】
0004774411.tif 000007
【図５】
0004774411.tif 000008
【図６】
0004774411.tif 000009
【図７】
0004774411.tif 000010
【図８】
0004774411.tif 000011