(57)【要約】【課題】帯域保証ネットワークでのデータ転送において往復伝搬遅延時間が変化した場合であっても高いスループットを保つ。【解決手段】データ送信端末から送信されたデータについてサービス対象フローを識別してフローを振り分けるフロー識別・振り分け部２２と、サービス対象フローのデータと確認応答パケットとの対応づけにより伝播遅延時間を算出する伝播遅延時間算出部２３と、帯域保証ネットワークにてフローに割り当てられた保証帯域と、伝播遅延時間算出部２３にて算出された伝播遅延時間とに基づいて、データ送信端末から送信されるデータが保証帯域以内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部２７と、ウィンドウサイズ算出部２７にて算出されたウィンドウサイズをデータ送信端末に通知する広告ウィンドウサイズ書き込み部２８とを有する。【選択図】図２
2009200581.tif 000002
【特許請求の範囲】
【請求項１】
データ送信端末からデータ受信端末へデータを送信できる帯域が保証された帯域保証ネットワークにおいて前記データ送信端末と前記データ受信端末の間に配置されるノード装置であって、
前記データ送信端末から送信されたデータについてサービス対象フローを識別してフローを振り分けるフロー識別・振り分け部と、
前記サービス対象フローのデータと該データに対する確認応答パケットとの対応づけにより、前記データ送信端末と前記データ受信端末との間における伝播遅延時間を算出する伝播遅延時間算出部と、
前記帯域保証ネットワークにて前記データ送信端末から前記データ受信端末へのフローに割り当てられた保証帯域と、前記伝播遅延時間算出部にて算出された伝播遅延時間とに基づいて、前記データ送信端末から前記データ受信端末に送信されるデータが前記保証帯域以内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、
前記ウィンドウサイズ算出部にて算出されたウィンドウサイズを前記データ送信端末に通知するウィンドウサイズ書き込み部とを有するノード装置。
【請求項２】
請求項１に記載のノード装置において、
前記保証帯域を保持する帯域情報保持部と、
前記サービス対象フローのコネクション情報及び前記伝播遅延時間算出部にて算出された伝播遅延時間を記憶するフロー情報保持部とを有し、
前記ウィンドウサイズ算出部は、前記帯域情報保持部に保持されている前記保証帯域と、前記フロー情報保持部に記憶された伝播遅延時間とに基づいて前記ウィンドウサイズを算出するノード装置。
【請求項３】
請求項１または請求項２に記載のノード装置において、
前記伝播遅延時間算出部は、前記サービス対象フローのデータパケット内のシーケンスナンバーと前記サービス対象フローの確認応答パケット内のＡＣＫナンバーを保持するテーブルを有し、該テーブル内のシーケンスナンバーとＡＣＫナンバーとの対応づけに基づいて前記伝播遅延時間を算出するノード装置。
【請求項４】
データ送信端末からデータ受信端末へデータを送信できる帯域が保証された帯域保証ネットワークにおいて前記データ送信端末から前記データ受信端末へのデータ送信の帯域を制御する帯域制御方法であって、
前記データ送信端末から送信されたデータについてサービス対象フローを識別してフローを振り分ける処理と、
前記サービス対象フローのデータと該データに対する確認応答パケットとの対応づけにより、前記データ送信端末と前記データ受信端末との間における伝播遅延時間を算出する処理と、
前記帯域保証ネットワークにて前記データ送信端末から前記データ受信端末へのフローに割り当てられた保証帯域と、前記算出された伝播遅延時間とに基づいて、前記データ送信端末から前記データ受信端末に送信されるデータが前記保証帯域以内の帯域となるウィンドウサイズを算出する処理と、
前記算出されたウィンドウサイズを前記データ送信端末に通知する処理とを有する帯域制御方法。
【請求項５】
請求項４に記載の帯域制御方法において、
前記保証帯域を保持する処理と、
前記サービス対象フローのコネクション情報及び前記算出された伝播遅延時間を記憶する処理と、
前記保持されている前記保証帯域と、前記記憶された伝播遅延時間とに基づいて前記ウィンドウサイズを算出する処理とを有する帯域制御方法。
【請求項６】
請求項４または請求項５に記載の帯域制御方法において、
前記サービス対象フローのデータパケット内のシーケンスナンバーと前記サービス対象フローの確認応答パケット内のＡＣＫナンバーを保持しておき、該シーケンスナンバーとＡＣＫナンバーとの対応づけに基づいて前記伝播遅延時間を算出する帯域制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末間でネットワークを介してデータを送受信するシステムにおけるフロー制御に関する。
【背景技術】
【０００２】
一般的に、パソコンなどの端末の間では、インターネットなどのコンピュータネットワークを介した通信が行われる。この通信によってファイル等のデータが転送される。この種のデータ転送システムでは、トランスポート層のプロトコルとして、標準的なトランスポートプロトコルであるＴＣＰ（Transmission Control Protocol）が用いられることが多い。
【０００３】
また、データ転送においては、大容量のデータを高速に転送することが要求されることがある。これに対しては、ＴＣＰのウィンドウサイズを一定に制御することでスループットを向上させる検討がなされている（例えば、非特許文献１参照。）。
【非特許文献１】“エッジルータにおけるＴＣＰフローレート制御方式の検討”，電子情報通信学会総合大会，２００７年３月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＴＣＰでは、ウィンドウサイズをパケット廃棄に従って自律的に変化させる帯域制御が行われる。しかし、保証された帯域以上のトラヒックがネットワークに流入するのを防ぐためにネットワークの入り口で流入制限を行っている帯域保証ネットワークでのデータ転送においては、スループットが鋸歯状になり、保証された帯域を十分に活用できないという問題点があった。
【０００５】
ここで、上述したＴＣＰプロトコルに変更を加えることにより、保証された帯域に合わせて一定のスループットでデータを送信する技術や広告ウィンドウサイズを一定に制御する技術には、上述した問題点に対する対策がある。
【０００６】
しかしながら、これらの技術は、通信終了までＲＴＴ（Round Trip Time：往復伝搬遅延時間）に大きな変化がないという前提のもと、通信開始時に計測したＲＴＴと保証された帯域とに基づいて算出されたウィンドウサイズで通信終了まで書き換えを行うため、経路変更に伴うＲＴＴの変化を考慮に入れておらず、ＲＴＴの変化によってスループットが極端に低下してしまうという問題点がある。
【０００７】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、帯域保証ネットワークでのデータ転送において往復伝搬遅延時間が変化した場合であっても高いスループットを保つことができるノード装置及び帯域制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は、
データ送信端末からデータ受信端末へデータを送信できる帯域が保証された帯域保証ネットワークにおいて前記データ送信端末と前記データ受信端末の間に配置されるノード装置であって、
前記データ送信端末から送信されたデータについてサービス対象フローを識別してフローを振り分けるフロー識別・振り分け部と、
前記サービス対象フローのデータと該データに対する確認応答パケットとの対応づけにより、前記データ送信端末と前記データ受信端末との間における伝播遅延時間を算出する伝播遅延時間算出部と、
前記帯域保証ネットワークにて前記データ送信端末から前記データ受信端末へのフローに割り当てられた保証帯域と、前記伝播遅延時間算出部にて算出された伝播遅延時間とに基づいて、前記データ送信端末から前記データ受信端末に送信されるデータが前記保証帯域以内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、
前記ウィンドウサイズ算出部にて算出されたウィンドウサイズを前記データ送信端末に通知するウィンドウサイズ書き込み部とを有する。
【０００９】
上記のように構成された本発明においては、データ送信端末とデータ受信端末との間における往復伝播遅延時間の変化に対応したウィンドウサイズの書き換えを行う。ウィンドウサイズの書き換えには、保証帯域と往復伝播遅延時間とから算出したウィンドウサイズ（ＢＧＷＮＤ）を用いてもよいとする。ＢＧＷＮＤに用いる往復伝播遅延時間は、コネクション確立パケットを用いて計測した往復伝播遅延時間もしくは、データパケットと確認応答パケット（ＡＣＫ）を用いて計測した往復伝播遅延時間とする。
【００１０】
以下に処理手順を示す。
【００１１】
Ｓｔｅｐ１：データパケットがエッジノード通過時
エッジノードがデータパケット通過時の時刻（以下、Ｄ−ｔｉｍｅと称する）と、データパケット内のシーケンスナンバーとを計測し、計測した時刻とシーケンスナンバーとを計測テーブルに記す。
【００１２】
Ｓｔｅｐ２：ＡＣＫがエッジノード通過時
エッジノードがＡＣＫ通過時の時刻（以下、Ａ−ｔｉｍｅと称する）と、ＡＣＫ内のＡＣＫナンバーとを計測し、計測した時刻とＡＣＫナンバーを計測テーブルに記す。
【００１３】
ここで、ＴＣＰはバイト単位でデータ管理を行っており、ＴＣＰヘッダ中にシーケンス番号とＡＣＫ番号を記載する。シーケンス番号はデータの先頭からの何バイト目かの位置情報、ＡＣＫ番号はデータ受信端末が次に受け取るべきデータのシーケンス番号を意味し、データ内のシーケンス番号とＡＣＫ内のＡＣＫ番号には以下の式（１）が成り立つ。
【００１４】
ＡＣＫナンバー＝シーケンスナンバー＋データサイズ・・・・・（１）
式（１）の関係を用いることで計測テーブル内に記載されているシーケンスナンバーとＡＣＫナンバーとを対応づけることが可能となり、データパケットとＡＣＫとの対応づけも可能となる。すなわち、対応づけられたデータとＡＣＫの到着時間であるＡ−ｔｉｍｅとＤ−ｔｉｍｅとの差をとることでデータパケットとＡＣＫとを用いたＲＴＴ計測が実現可能となる。
【００１５】
本発明は、ノード装置が伝播遅延時間の変化に従ってＡＣＫパケットを操作するのみなので、データ送信端末はそれを元に既存の動作をするだけとなり、データ送信端末のプロトコルに本発明に特有の機能を加えることなくスループットを改善することができる。
【発明の効果】
【００１６】
以上説明したように本発明によれば、ＴＣＰを用いた帯域保証サービス運用時にデータ送信端末のＴＣＰプロトコルスタックの変更を必要とすることなく、経路変更等により往復伝搬遅延時間が変化した場合であっても保証帯域内で安定的にスループットを制御できるので、保証帯域を効率よく利用することが可能となる。
【発明を実施するための最良の形態】
【００１７】
一般的なＴＣＰでは、広告ウィンドウと輻輳ウィンドウという２つのウィンドウが定義される。広告ウィンドウのサイズは、受信側で受信バッファの状態に依存して決定される。また、輻輳ウィンドウのサイズは、データ送信側でパケット廃棄の状況に応じて決定される。フロー制御に用いるウィンドウサイズには、広告ウィンドウサイズと輻輳ウィンドウサイズのうちいずれか小さい方が選択される。このウィンドウサイズはＡＣＫが到着したときに更新される。
【００１８】
本形態では、データの送信側となるデータ送信端末と、データの受信側となるデータ受信端末との間は、帯域保証ネットワークによって帯域が保証される構成となっている。従って、保証帯域以下でデータを送出している限りパケットの廃棄が生じないことが想定される。それゆえ、データが保証帯域以下で送出されるように広告ウィンドウサイズを調節すればパケットの廃棄を防ぐことができる。パケットの廃棄が生じなければ輻輳ウィンドウサイズが小さくならないので、常に広告ウィンドウサイズがＴＣＰウィンドウサイズに採用されることになる。その結果、スループットが鋸歯状に変動しなくなり保証帯域の効率的な利用が可能となる。
【００１９】
そこで、本形態では、データ送信端末とデータ受信端末との間で、ノード装置となるエッジノードがデータ送信側とデータ受信側との間における伝播遅延時間と、帯域保証ネットワークによる保証帯域とから、データが保証帯域以内で送出されるようなウィンドウサイズを算出し、データ受信端末からデータ送信端末へのＡＣＫパケットに記載される広告ウィンドウサイズを、算出したウィンドウサイズの値に書き換える。
【００２０】
これにより、データ送信端末からデータ受信端末へ送信するデータのレートを保証帯域内で安定的に制御できるので、保証帯域を効率よく利用することができる。
【００２１】
また、データパケットとＡＣＫとを用いて算出したＲＴＴを用いて広告ウィンドウサイズを書き換えることで、経路変更等によるＲＴＴの変化に伴うスループットの低下を改善し、保証帯域を効率よく利用して高いスループットを保つことが可能となる。
【００２２】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２３】
図１は、本発明のノード装置を用いたデータ送信システムの実施の一形態を示すブロック図である。
【００２４】
本形態におけるデータ送信システムは図１に示すように、データ送信端末１４と、データ受信端末１５と、データ送信端末１４とデータ受信端末１５との間に配置されるノード装置であるエッジノード１１，１２と、帯域管理サーバ１３とを有している。
【００２５】
データ送信端末１４は、エッジノード１１に接続され、データ受信端末１５はエッジノード１２に接続されている。エッジノード１１とエッジノード１２とは、帯域保証ネットワーク１６上でデータを送受信することができる。これにより、データ送信端末１４から送信されたデータが、エッジノード１１とエッジノード１２を介してデータ受信端末１５へ転送される。
【００２６】
帯域管理サーバ１３は、帯域保証ネットワーク１６の全リンクの帯域情報を集中的に管理する装置である。帯域情報には、リンクに割り当てられた保証帯域の情報が含まれている。帯域管理サーバ１３は、管理している各リンクの帯域情報をエッジノード１１，１２に通知する。データ送信端末１４からデータ受信端末１５へのリンクについては、帯域管理サーバ１３による帯域管理によって帯域保証ネットワーク１６での保証帯域が確保される。その結果、データ送信端末１４が保証帯域以下でデータを送出する限り帯域保証ネットワーク１６内でのパケット廃棄は発生しない。また、エッジノード１１は、データ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７を算出する。
【００２７】
図２は、図１に示したエッジノード１１の構成を示すブロック図である。
【００２８】
本形態におけるエッジノード１１は図２に示すように、データ受信部２１と、フロー識別・振り分け部２２と、伝搬遅延時間算出部２３と、データ送信部２４と、帯域情報保持部２５と、フロー情報保持部２６と、ウィンドウサイズ算出部２７と、広告ウィンドウサイズ書き込み部２８とを有している。
【００２９】
データ受信部２１は、データパケットやＡＣＫパケットなどのパケットを受信し、フロー識別・振り分け部２２に送る。
【００３０】
フロー識別・振り分け部２２は、帯域情報保持部２５に帯域情報とともに保持されているユーザ情報を元に、帯域を保証したデータ転送のサービスの対象となるフロー（サービス対象フロー）と、帯域を保証したデータ転送のサービスの対象とならないフロー（サービス非対象フロー）とを識別する。さらに、フロー識別・振り分け部２２は、サービス対象フローのＡＣＫパケットをルート２２ａを通して広告ウィンドウサイズ書き込み部２８へ送信し、また、サービス非対象フローのパケット及び、サービス対象フローのデータパケットをルート２２ｂからデータ送信部２４へ送信する。
【００３１】
伝播遅延時間算出部２３は、データ送信端末１４とエッジノード１２の間と、エッジノード１１とデータ送信端末１４との間における往復伝播遅延時間をそれぞれ算出する。
【００３２】
帯域情報保持部２５は、帯域管理サーバ１３から通知されたサービス対象ユーザの帯域情報とユーザ情報（宛先・送信元ＩＰアドレス、宛先・送信元ポート番号）とを対応づけて保持する。帯域情報には、リンクに割り当てられた保証帯域の情報が含まれている。リンクは、ユーザ情報により識別することができる。
【００３３】
フロー情報保持部２６は、フロー識別・振り分け部２２で識別されるサービス対象フローのコネクション情報と、伝播遅延時間算出部２３で算出された往復伝播遅延時間とを対応づけて保持する。
【００３４】
ウィンドウサイズ算出部２７は、フロー情報保持部２６に保持されているデータ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７と、帯域情報保持部２５に保持されている帯域情報の保証帯域とを用いて、データの送出帯域が保証帯域以内となるようなウィンドウサイズを算出する。
【００３５】
広告ウィンドウサイズ書き込み部２８は、データ受信端末１５からデータ送信端末１４へのＡＣＫパケットのウィンドウフィールドに、ウィンドウサイズ算出部２７で算出されたウィンドウサイズの値を書き込み、そのＡＣＫパケットをデータ送信部２４に送る。
【００３６】
データ送信部２４は、フロー識別・振り分け部２２からルート２２ｂを介して送信されてきたパケットと、フロー識別・振り分け部２２からルート２２ａを介して送信され、広告ウィンドウサイズ書き込み部２８によってウィンドウサイズが書き込まれたパケットとを帯域保証ネットワーク１６を介してエッジノード１２もしくはデータ送信端末へ送信する。
【００３７】
以下に、上記のように構成されたエッジノード１１，１２における帯域制御方法について説明する。
【００３８】
図３は、図２に示したエッジノード１１において、往復伝播遅延時間を計測する時のブロック間の信号のやりとりを示すシーケンス図である。
【００３９】
図３を参照すると、データ送信端末１４側のエッジノード１１において、フロー識別・振り分け部２２がサービス対象フローのデータを観測すると（ステップ２０１）、フロー識別・振り分け部２２は、サービス対象フローのユーザ情報とデータ内のシーケンスナンバーと共にデータ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７の計測開始要求を伝搬遅延時間算出部２３に送る（ステップ２０２）。これにより、伝搬遅延時間算出部２３は、データ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７の計測を開始すると共に、データ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７の計測開始時間とシーケンスナンバーとを計測テーブルに記載する（ステップ２０３）。
【００４０】
その後、フロー識別・振り分け部２２は、サービス対象フローのＡＣＫを観測すると（ステップ２０４）、ユーザ情報とＡＣＫ内のＡＣＫナンバーと共に、データ送信端末１４とデータ送信端末１５側のエッジノード１２間の往復伝搬遅延時間１７の計測終了要求を伝搬遅延時間算出部２３に送る（ステップ２０５）。このとき、伝搬遅延時間算出部２３は、ステップ２０５によって伝えられたＡＣＫナンバーに対して、式（１）が成り立つシーケンスナンバーが計測テーブル内に存在するかを確認し、存在する場合は該当する往復伝搬遅延時間１７の計測を終了する（ステップ２０６）。
【００４１】
以上のようにしてデータ送信端末１４とデータ受信端末１５の間における往復伝搬遅延時間１７が計測、算出される。データ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７の計測を終えた伝搬遅延時間算出部２３は、算出したデータ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７を、ユーザ情報と共にデータ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間報告としてフロー情報保持部２６に通知する（ステップ２０７）。
【００４２】
ここで、フロー識別・振り分け部２２によるパケット振り分けについて詳細に説明する。
【００４３】
図４は、図２に示したフロー識別・振り分け部２２によるパケット振り分けを説明するための図である。
【００４４】
データ送信端末１４とデータ受信端末１５との間でコネクションが確立されると、データの転送が開始される。エッジノード１１のフロー識別・振り分け部２２は、データ受信端末１５からのＡＣＫパケットを受信すると、サービス対象フローのＡＣＫパケットか否かを判定をする。そして、サービス対象フローのＡＣＫパケットであれば、フロー識別・振り分け部２２は、そのＡＣＫパケットをルート２２ａを通して広告ウィンドウサイズ書き込み部２８に送り、また、サービス非対象フローのＡＣＫパケット、サービス対象フローのデータパケット、サービス非対象フローのデータパケットをルート２２ｂを通してデータ送信部２４に送る。
【００４５】
図５は、図２に示したエッジノード１１においてウィンドウサイズを算出する時のブロック間の信号のやりとりを示すシーケンス図である。
【００４６】
フロー情報保持部２６が伝播遅延時間算出部２３からの往復伝播遅延時間報告を受信すると（ステップ２０７）、フロー情報保持部２６は、ウィンドウサイズ算出部２７に対して、データ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７とユーザ情報と共に、帯域保証ウィンドウ計算要求をウィンドウサイズ算出部２７に対して通知する（ステップ２０８）。
【００４７】
帯域保証ウィンドウ計算要求を受けたウィンドウサイズ算出部２７は、そのユーザ情報を基にして、帯域情報保持部２５に対してユーザ情報に対応する保証帯域を要求する（ステップ２０９）。
【００４８】
帯域情報保持部２５は、ウィンドウサイズ算出部２７からの要求に応じて保証帯域を返送する（ステップ２１０）。
【００４９】
データ送信端末１４とデータ受信端末１５との間における往復伝搬遅延時間１７と保証帯域を受信したウィンドウサイズ算出部２７は、それらの値に基づいて、データ送信端末１４が保証帯域以内でデータを送出するようなウィンドウサイズを算出する（ステップ２１１）。このとき、保証帯域と一致するレートでデータが送出されるようなウィンドウサイズが好適である。
【００５０】
ウィンドウサイズの求め方は、例えば式（２）により求めることができる。
【００５１】
ウィンドウサイズ［ＫＢ］＝保証帯域［Ｋｂｐｓ］×データ送信端末とデータ受信端末間の往復伝搬遅延時間１７［ｓｅｃ］÷８［ｂｉｔｓ／Ｂｙｔｅ］・・・・・（２）
図６は、図２に示したエッジノード１１においてＡＣＫパケットに広告ウィンドウサイズを書き込む時のブロック間の信号のやりとりを示すシーケンス図である。
【００５２】
図７を参照すると、まず、ウィンドウサイズ算出部２７がサービス対象フローのウィンドウサイズを算出する（ステップ３０１）。
【００５３】
続いて、ウィンドウサイズ算出部２７は、算出したウィンドウサイズと、そのサービス対象フローのユーザ情報とを広告ウィンドウサイズ書き込み部２８に通知する（ステップ３０２）。
【００５４】
広告ウィンドウサイズ書き込み部２８は、ウィンドウサイズ算出部２７から通知されたウィンドウサイズの値を、フロー識別・振り分け部２２からのＡＣＫパケットのウィンドウフィールドに書き込む（ステップ３０３）。
【００５５】
広告ウィンドウサイズ書き込み部２８で広告ウィンドウサイズが書き込まれたＡＣＫパケットはデータ送信部２４に送られ、データ送信部２４から送信される。
【図面の簡単な説明】
【００５６】
【図１】本発明のノード装置を用いたデータ送信システムの実施の一形態を示すブロック図である。
【図２】図１に示したエッジノードの構成を示すブロック図である。
【図３】図２に示したエッジノードにおいて、往復伝播遅延時間を計測する時のブロック間の信号のやりとりを示すシーケンス図である。
【図４】図２に示したフロー識別・振り分け部によるパケット振り分けを説明するための図である。
【図５】図２に示したエッジノードにおいてウィンドウサイズを算出する時のブロック間の信号のやりとりを示すシーケンス図である。
【図６】図２に示したエッジノードにおいてＡＣＫパケットに広告ウィンドウサイズを書き込む時のブロック間の信号のやりとりを示すシーケンス図である。
【符号の説明】
【００５７】
１１，１２    エッジノード
１３    帯域管理サーバ
１４    データ送信端末
１５    データ受信端末
１６    帯域保証ネットワーク
１７    往復伝搬遅延時間
２１    データ受信部
２２    フロー識別・振り分け部
２３    伝搬遅延時間算出部
２４    データ送信部
２５    帯域情報保持部
２６    フロー情報保持部
２７    ウィンドウサイズ算出部
２８    広告ウィンドウサイズ書き込み部
【図１】
2009200581.tif 000003
【図２】
2009200581.tif 000004
【図３】
2009200581.tif 000005
【図４】
2009200581.tif 000006
【図５】
2009200581.tif 000007
【図６】
2009200581.tif 000008