(57)【特許請求の範囲】
【請求項１】
通信装置に対してアクセスネットワークを介して接続するアクセスネットワークインタフェースと、通信事業者によって帯域管理された広域ネットワークに接続する広域ネットワークインタフェースとを有するデータ転送装置において、
アクセスネットワークインタフェースを介して、前記通信装置間における第１の再送制御プロトコルのコネクションの確立を中継する第１のコネクション確立中継手段と、
広域ネットワークインタフェースを介して、前記相手方データ転送装置との間で第２の再送制御プロトコルのコネクションを確立する第２のコネクション確立手段と、
相手方データ転送装置から前記広域ネットワークインタフェースを介して受信した第２の再送制御プロトコルのデータパケットに対して、第２の再送制御プロトコルに基づいて、前記相手方データ転送装置へ確認応答ＡＣＫ(Acknowledge)を返信する第２の確認応答返信手段と、
第２の再送制御プロトコルのデータパケットについて、第２の再送制御プロトコルのヘッダをデカプセル化するデカプセル化手段と、
デカプセル化された第１の再送制御プロトコルのデータパケットを、第１の再送制御プロトコルに基づいて、前記契約帯域毎に一時的にバッファする第２のバッファ群と
を有し、
第２のバッファ群から出力された第１の再送制御プロトコルのデータパケットを、前記アクセスネットワークインタフェースによって、前記アクセスネットワークへ転送し、
前記確認応答ＡＣＫの送信元アドレス及び宛先アドレスは、前記データパケットの送信元アドレス及び宛先アドレスと異なって、予め対応付けられており、
第２の確認応答返信手段は、前記確認応答ＡＣＫを、前記広域ネットワークにおける当該通信装置−通信装置間の契約帯域以外の帯域で送信し、
前記確認応答ＡＣＫの転送帯域は、前記契約帯域に対する所定割合の帯域が別途確保されており、
第１の再送制御プロトコル及び第２の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とするデータ転送装置。
【請求項２】
第１の再送制御プロトコルは、ＴＣＰ(Transmission Control Protocol)であり、
第２の再送制御プロトコルは、ＵＤＴ(UDP(User Datagram Protocol)-based data transfer)である
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記アクセスネットワークインタフェースを介して受信した第１の再送制御プロトコルのデータパケットを、契約帯域毎にバッファする第１のバッファ群と、
第１のバッファ群のバッファ毎に、当該契約帯域に基づいて、前記データパケットの出力を制御する帯域制御手段と、
第１のバッファ群から出力された前記データパケットに対して、第１の再送制御プロトコルに基づいて、前記アクセスネットワークインタフェースを介して前記通信装置へ確認応答ＡＣＫを返信する第１の確認応答返信手段と、
前記広域ネットワークへ転送すべき第１の再送制御プロトコルのデータパケットを、第２の再送制御プロトコルのヘッダによってカプセル化するカプセル化手段と、
カプセル化されたデータパケットを広域ネットワークに転送する転送手段と
を更に有することを特徴とする請求項１又は２に記載のデータ転送装置。
【請求項４】
前記帯域制御手段は、前記契約帯域に基づく出力すべきデータパケットの量を、トークンによって制御しており、
第２のバッファ群の各バッファについて、前記ＴＣＰデータパケットが所定閾値以上にバッファされた際に、前記相手方データ転送装置へ輻輳通知を送信する輻輳通知手段と、
前記相手方データ転送装置から、前記輻輳通知を受信した際に、前記帯域制御手段に対して前記トークンの発行時間間隔を長くするべく指示するトークン制御手段と
を有し、
前記通信装置に対する確認応答ＡＣＫの返信時間間隔が長くなり、アクセスネットワークの伝送レートが抑えられることを特徴とする請求項１から３のいずれか１項に記載のデータ転送装置。
【請求項５】
前記トークン制御手段は、抑えられた伝送レートを、ＡＩＭＤ(Additive Increase Multiplicative Decrease)アルゴリズムによって回復するべく制御することを特徴とする請求項４に記載のデータ転送装置。
【請求項６】
前記輻輳通知手段から送信される前記輻輳通知は、第２の再送制御プロトコルヘッダの制御情報部分に、第２のバッファ群における輻輳に達したバッファに基づく通信装置側識別子を含め、
前記トークン制御手段は、前記輻輳通知を受信した際に、当該第２の再送制御プロトコルヘッダの制御情報部分に含まれた前記通信装置側識別子を取得し、前記帯域制御手段へ、当該通信装置側識別子に対応する第１のバッファ群のバッファにおける前記トークンの発行時間間隔を長くするべく指示する
ことを特徴とする請求項４又は５に記載のデータ転送装置。
【請求項７】
第１のバッファ群及び／又は第２のバッファ群における契約帯域毎のバッファは、ＶＬＡＮ(Virtual LAN)毎に備えられていることを特徴とする請求項１から６のいずれか１項に記載のデータ転送装置。
【請求項８】
通信装置に対してアクセスネットワークを介して接続するアクセスネットワークインタフェースと、通信事業者によって帯域管理された広域ネットワークに接続する広域ネットワークインタフェースとを有するデータ転送装置に搭載されたコンピュータを機能させるプログラムにおいて、
アクセスネットワークインタフェースを介して、前記通信装置間における第１の再送制御プロトコルのコネクションの確立を中継する第１のコネクション確立中継手段と、
広域ネットワークインタフェースを介して、前記相手方データ転送装置との間で第２の再送制御プロトコルのコネクションを確立する第２のコネクション確立手段と、
相手方データ転送装置から前記広域ネットワークインタフェースを介して受信した第２の再送制御プロトコルのデータパケットに対して、第２の再送制御プロトコルに基づいて、前記相手方データ転送装置へ確認応答ＡＣＫを返信する第２の確認応答返信手段と、
第２の再送制御プロトコルのデータパケットについて、第２の再送制御プロトコルのヘッダをデカプセル化するデカプセル化手段と、
デカプセル化された第１の再送制御プロトコルのデータパケットを、第１の再送制御プロトコルに基づいて、前記契約帯域毎に一時的にバッファする第２のバッファ群と
を有し、
第２のバッファ群から出力された第１の再送制御プロトコルのデータパケットを、前記アクセスネットワークインタフェースによって、前記アクセスネットワークへ転送し、
前記確認応答ＡＣＫの送信元アドレス及び宛先アドレスは、前記データパケットの送信元アドレス及び宛先アドレスと異なって、予め対応付けられており、
第２の確認応答返信手段は、前記確認応答ＡＣＫを、前記広域ネットワークにおける当該通信装置−通信装置間の契約帯域以外の帯域で送信し、
前記確認応答ＡＣＫの転送帯域は、前記契約帯域に対する所定割合の帯域が別途確保されており、
第１の再送制御プロトコル及び第２の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ようにコンピュータを機能させることを特徴とするデータ転送装置用のプログラム。
【請求項９】
通信装置に対してアクセスネットワークを介して接続すると共に、通信事業者によって帯域管理された広域ネットワークに接続するデータ転送装置におけるデータ転送方法において、
アクセスネットワークを介して前記通信装置間における第１の再送制御プロトコルのコネクションの確立を中継すると共に、広域ネットワークを介して前記相手方データ転送装置との間で第２の再送制御プロトコルのコネクションを確立する第１のステップと、
相手方データ転送装置から前記広域ネットワークインタフェースを介して受信した第２の再送制御プロトコルのデータパケットに対して、第２の再送制御プロトコルに基づいて、前記相手方データ転送装置へ確認応答ＡＣＫを返信する第２のステップと、
第２の再送制御プロトコルのデータパケットについて、第２の再送制御プロトコルのヘッダをデカプセル化する第３のステップと、
デカプセル化された第１の再送制御プロトコルのデータパケットを、第１の再送制御プロトコルに基づいて、前記契約帯域毎に一時的にバッファする第４のステップと、
第２のバッファ群から出力された第１の再送制御プロトコルのデータパケットを、前記アクセスネットワークインタフェースによって、前記アクセスネットワークへ転送する第５のステップと
を有し、
前記確認応答ＡＣＫの送信元アドレス及び宛先アドレスは、前記データパケットの送信元アドレス及び宛先アドレスと異なって、予め対応付けられており、
第２の確認応答返信手段は、前記確認応答ＡＣＫを、前記広域ネットワークにおける当該通信装置−通信装置間の契約帯域以外の帯域で送信し、
前記確認応答ＡＣＫの転送帯域は、前記契約帯域に対する所定割合の帯域が別途確保されており、
第１の再送制御プロトコル及び第２の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とするデータ転送装置のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再送制御プロトコルに基づくデータパケットを、広域ネットワークを介して伝送するデータ転送装置の技術に関する。
【背景技術】
【０００２】
従来、インターネットは、様々な通信事業者のネットワークが相互接続されて構成されており、そのプロトコルも、通信帯域や品質が必ずしも保証されないことを前提としている。これに対し、近年、クラウドコンピューティングサービスや広域イーサネット（登録商標）サービスの発展によって、通信装置間（端末、サーバ等）で、広域ネットワークを介して通信する場合も多くなってきている。一般に、特定の通信事業者によって運用される広域ネットワークは、契約帯域毎に、通信帯域や品質が保証されている。
【０００３】
ここで、「広域ネットワーク」とは、例えば広域イーサネットネットワークであって、閉域ネットワークとＶＬＡＮ(Virtual LAN)技術を活用した、専用線クラスの高いセキュリティを実現したメッシュ型ネットワークである。このような広域ネットワークでは、遅延時間、稼働率（アベイラビリティ）（アクセス回線の二重化）、故障回復時間などのサービス品質保証制度（Service Level Agreement）を設定している。従って、そのようなネットワークに対して、ＴＣＰのような高信頼化プロトコルの役目は、必然的に低くなってしまう。専用線と異なって、マルチポイント接続が可能であるために、イントラネットワークの構成変更にも高い自由度が確保される。
【０００４】
また、インターネットでは、ＩＰ(Internet Protocol)パケットに対する代表的な再送制御プロトコルとして、ＴＣＰ(Transmission Control Protocol)がある。ＴＣＰによれば、データパケットを受信した受信先通信装置が、送信元通信装置へ確認応答ＡＣＫ(Acknowledge)メッセージを返信することにより、データパケットの到達性を保証する。データパケットを損失しても、送信元通信装置が、そのデータパケットを再送信することにより、データ転送の高信頼化を実現する。
【０００５】
従来技術によれば、データパケットを中継するデータ転送装置が、一定のデータパケットを受信した際に確認応答ＡＣＫを送信元通信装置へ返信することによって、送信元通信装置からデータパケットが送信されるスループットを向上させる技術がある（例えば特許文献１参照）。この技術によれば、受信側データ転送装置が、受信可能なバッファ量（輻輳状態）を、送信元データ転送装置へ通知する。これによって、送信元データ転送装置は、送信元通信装置に対して、確認応答ＡＣＫを返信するタイミングを制御する。
【０００６】
また、データ転送装置における伝送レートを、中継するネットワークにおけるＲＴＴ(Round Trip Time)や輻輳状態に応じて動的に制御する技術もある（例えば特許文献２参照）。この技術によれば、伝送レートを決定する際に、他のトラヒック（ＴＣＰ等）と平衡状態にするための目標レートを算出する。
【０００７】
更に、複数のフローをデータ転送装置で１つのネットワークパスにまとめて転送する際に、各フローに割り当てるレートを動的に設定する技術もある（例えば特許文献３参照）。また、送信側データ転送装置が、受信側データ転送装置からのポーズフレームを受信した場合、送信レートを落とす技術もある（例えば特許文献４参照）。更に、複数の他の通信装置に対するデータ転送時間を、データ転送レートに応じた時間とする技術もある（例えば特許文献５参照）。
【０００８】
尚、設定された帯域に収まるように、ネットワークを流れるフロー数を制御（新規フローの許可、既存フローの終了）する技術もある（例えば非特許文献１参照）。また、スイッチにおける輻輳発生時に、その輻輳の原因となる送信元スイッチへ輻輳通知を送信し、送信レートを抑えさせる技術もある（例えば非特許文献２参照）。この技術によれば、複数のトラヒックが輻輳に関係している場合、全てのトラヒックが送信レートを落とすこととなり、帯域に空きが生じる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】ＷＯ２００８／００５６２９
【特許文献２】特表２００８−５２６１３２号公報
【特許文献３】ＷＯ２００９／０３２２５９
【特許文献４】特開２００４−１５９２０３号公報
【特許文献５】特開２００７−２９５２１７号公報
【非特許文献】
【００１０】
【非特許文献１】ＲＦＣ５５５９、「Pre-Congestion Notification (PCN)Architecture」、[online]、［平成２２年９月１８日検索］、インターネット＜URL:http://tools.ietf.org/html/rfc5559＞
【非特許文献２】ＩＥＥＥ８０２．１Ｑａｕ、「輻輳通知」、[online]、［平成２２年９月１８日検索］、インターネット＜URL:http://wbb.forum.impressrd.jp/report/20090513/725＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、契約帯域が保証された広域ネットワークが伝送路として介在する場合、通信装置間の伝送スループットに対して、ＴＣＰが大きなボトルネックとなっている。送信元通信装置は、データパケットを送信した後、受信先通信装置から確認応答ＡＣＫを待つ。そのために、広域ネットワークの契約帯域を大きく（高速に）しても、伝送遅延が大きいほど、伝送スループットが契約帯域まで伸びないという問題がある。
【００１２】
ＴＣＰデータパケットを直接的に広域ネットワークに適用した場合、再送制御によってデータ転送の高信頼化を実現することができる。ＴＣＰに基づく送信元通信装置は、最初に小さいウインドウ・サイズで送信を開始し、受信先通信装置は、受信能力に余裕があると判断した場合、ウインドウ・サイズを大きくした確認応答ＡＣＫを送信元通信装置へフィードバックする。この繰り返しによって、ウインドウ・サイズが調整される。しかしながら、広域ネットワークによれば、長距離通信となるほど伝送遅延が大きくなり、確認応答ＡＣＫにおける遅延も大きくなり、結局、広域ネットワークの伝送スループットを十分に利用することができなくなる。即ち、ＴＣＰによれば、長距離通信で伝送スループットが十分に出ない原因の一つは、連続して送信するパケット数（ウインドウ・サイズ）を、通信装置間で、適切な値に調整するまでに時間がかかるからである。
【００１３】
これに対し、高速化を実現するＵＤＰ(User Datagram Protocol)は、再送制御機能を備えていないので、データ転送の高信頼化を実現することができない。
【００１４】
尚、前述したいずれの従来技術であっても、送信元通信装置->送信側データ転送装置->受信側データパケット転送装置->受信先通信装置の経路について、送信側データパケット転送装置−受信側データ転送装置間で特有の制御を要する。即ち、伝送スループットを高速化するためのデータ転送装置間の特有の制御は、通信装置間に適用されるプロトコルを考慮したものでない。
【００１５】
そこで、本発明は、契約帯域が保証された広域ネットワークが介在した場合に、データパケットの再送制御による高信頼化と、ＴＣＰがボトルネックとなることがない高速化とを実現するデータ転送装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明によれば、通信装置に対してアクセスネットワークを介して接続するアクセスネットワークインタフェースと、通信事業者によって帯域管理された広域ネットワークに接続する広域ネットワークインタフェースとを有するデータ転送装置において、
アクセスネットワークインタフェースを介して、通信装置間における第１の再送制御プロトコルのコネクションの確立を中継する第１のコネクション確立中継手段と、
広域ネットワークインタフェースを介して、相手方データ転送装置との間で第２の再送制御プロトコルのコネクションを確立する第２のコネクション確立手段と、
相手方データ転送装置から広域ネットワークインタフェースを介して受信した第２の再送制御プロトコルのデータパケットに対して、第２の再送制御プロトコルに基づいて、相手方データ転送装置へ確認応答ＡＣＫを返信する第２の確認応答返信手段と、
第２の再送制御プロトコルのデータパケットについて、第２の再送制御プロトコルのヘッダをデカプセル化するデカプセル化手段と、
デカプセル化された第１の再送制御プロトコルのデータパケットを、第１の再送制御プロトコルに基づいて、契約帯域毎に一時的にバッファする第２のバッファ群と
を有し、
第２のバッファ群から出力された第１の再送制御プロトコルのデータパケットを、アクセスネットワークインタフェースによって、アクセスネットワークへ転送し、
確認応答ＡＣＫの送信元アドレス及び宛先アドレスは、データパケットの送信元アドレス及び宛先アドレスと異なって、予め対応付けられており、
第２の確認応答返信手段は、確認応答ＡＣＫを、広域ネットワークにおける当該通信装置−通信装置間の契約帯域以外の帯域で送信し、
確認応答ＡＣＫの転送帯域は、契約帯域に対する所定割合の帯域が別途確保されており、
第１の再送制御プロトコル及び第２の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とする。
【００１７】
本発明のデータ転送装置における他の実施形態によれば、
第１の再送制御プロトコルは、ＴＣＰ(Transmission Control Protocol)であり、
第２の再送制御プロトコルは、ＵＤＴ(UDP(User Datagram Protocol)-based data transfer)であることも好ましい。
【００１８】
本発明のデータ転送装置における他の実施形態によれば、
アクセスネットワークインタフェースを介して受信した第１の再送制御プロトコルのデータパケットを、契約帯域毎にバッファする第１のバッファ群と、
第１のバッファ群のバッファ毎に、当該契約帯域に基づいて、データパケットの出力を制御する帯域制御手段と、
第１のバッファ群から出力されたデータパケットに対して、第１の再送制御プロトコルに基づいて、アクセスネットワークインタフェースを介して通信装置へ確認応答(Acknowledge)を返信する第１の確認応答返信手段と、
広域ネットワークへ転送すべき第１の再送制御プロトコルのデータパケットを、第２の再送制御プロトコルのヘッダによってカプセル化するカプセル化手段と、
カプセル化されたデータパケットを広域ネットワークに転送する転送手段と
を更に有することも好ましい。
【００２０】
本発明のデータ転送装置における他の実施形態によれば、
帯域制御手段は、契約帯域に基づく出力すべきデータパケットの量を、トークンによって制御しており、
第２のバッファ群の各バッファについて、ＴＣＰデータパケットが所定閾値以上にバッファされた際に、送信側データ転送装置へ輻輳通知を送信する輻輳通知手段と、
受信側データ転送装置から、輻輳通知を受信した際に、帯域制御手段に対してトークンの発行時間間隔を長くするべく指示するトークン制御手段と
を有し、
送信元通信装置に対する確認応答ＡＣＫの返信時間間隔が長くなり、アクセスネットワークにおける伝送レートが抑えられることも好ましい。
【００２１】
本発明のデータ転送装置における他の実施形態によれば、トークン制御手段は、抑えられた伝送レートを、ＡＩＭＤ(Additive Increase Multiplicative Decrease)アルゴリズムによって回復するべく制御することも好ましい。
【００２２】
本発明のデータ転送装置における他の実施形態によれば、輻輳通知手段から送信される輻輳通知は、第２の再送制御プロトコルヘッダの制御情報部分に、第２のバッファ群における輻輳に達したバッファに基づく通信装置側識別子を含め、
トークン制御手段は、輻輳通知を受信した際に、当該第２の再送制御プロトコルヘッダの制御情報部分に含まれた端末側識別子を取得し、帯域制御手段へ、当該通信装置側識別子に対応する第１のバッファ群のバッファにおけるトークンの発行時間間隔を長くするべく指示することも好ましい。
【００２３】
本発明のデータ転送装置における他の実施形態によれば、第１のバッファ群及び／又は第２のバッファ群における契約帯域毎のバッファは、ＶＬＡＮ(Virtual LAN)毎に備えられていることも好ましい。
【００２４】
本発明によれば、通信装置に対してアクセスネットワークを介して接続するアクセスネットワークインタフェースと、通信事業者によって帯域管理された広域ネットワークに接続する広域ネットワークインタフェースとを有するデータ転送装置に搭載されたコンピュータを機能させるプログラムにおいて、
アクセスネットワークインタフェースを介して、通信装置間における第１の再送制御プロトコルのコネクションの確立を中継する第１のコネクション確立中継手段と、
広域ネットワークインタフェースを介して、相手方データ転送装置との間で第２の再送制御プロトコルのコネクションを確立する第２のコネクション確立手段と、
相手方データ転送装置から広域ネットワークインタフェースを介して受信した第２の再送制御プロトコルのデータパケットに対して、第２の再送制御プロトコルに基づいて、相手方データ転送装置へ確認応答ＡＣＫを返信する第２の確認応答返信手段と、
第２の再送制御プロトコルのデータパケットについて、第２の再送制御プロトコルのヘッダをデカプセル化するデカプセル化手段と、
デカプセル化された第１の再送制御プロトコルのデータパケットを、第１の再送制御プロトコルに基づいて、契約帯域毎に一時的にバッファする第２のバッファ群と
を有し、
第２のバッファ群から出力された第１の再送制御プロトコルのデータパケットを、アクセスネットワークインタフェースによって、アクセスネットワークへ転送し、
確認応答ＡＣＫの送信元アドレス及び宛先アドレスは、データパケットの送信元アドレス及び宛先アドレスと異なって、予め対応付けられており、
第２の確認応答返信手段は、確認応答ＡＣＫを、広域ネットワークにおける当該通信装置−通信装置間の契約帯域以外の帯域で送信し、
確認応答ＡＣＫの転送帯域は、契約帯域に対する所定割合の帯域が別途確保されており、
第１の再送制御プロトコル及び第２の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ようにコンピュータを機能させることを特徴とする。
【００２５】
本発明によれば、通信装置に対してアクセスネットワークを介して接続すると共に、通信事業者によって帯域管理された広域ネットワークに接続するデータ転送装置におけるデータ転送方法において、
アクセスネットワークを介して通信装置間における第１の再送制御プロトコルのコネクションの確立を中継すると共に、広域ネットワークを介して相手方データ転送装置との間で第２の再送制御プロトコルのコネクションを確立する第１のステップと、
相手方データ転送装置から広域ネットワークインタフェースを介して受信した第２の再送制御プロトコルのデータパケットに対して、第２の再送制御プロトコルに基づいて、相手方データ転送装置へ確認応答ＡＣＫを返信する第２のステップと、
第２の再送制御プロトコルのデータパケットについて、第２の再送制御プロトコルのヘッダをデカプセル化する第３のステップと、
デカプセル化された第１の再送制御プロトコルのデータパケットを、第１の再送制御プロトコルに基づいて、契約帯域毎に一時的にバッファする第４のステップと、
第２のバッファ群から出力された第１の再送制御プロトコルのデータパケットを、アクセスネットワークインタフェースによって、アクセスネットワークへ転送する第５のステップと
を有し、
確認応答ＡＣＫの送信元アドレス及び宛先アドレスは、データパケットの送信元アドレス及び宛先アドレスと異なって、予め対応付けられており、
第２の確認応答返信手段は、確認応答ＡＣＫを、広域ネットワークにおける当該通信装置−通信装置間の契約帯域以外の帯域で送信し、
確認応答ＡＣＫの転送帯域は、契約帯域に対する所定割合の帯域が別途確保されており、
第１の再送制御プロトコル及び第２の再送制御プロトコルは、同一レイヤにおける異なるプロトコルスタックに属するものである
ことを特徴とする。
【発明の効果】
【００２６】
本発明のデータ転送装置、プログラム及び方法によれば、契約帯域が保証された広域ネットワークが介在した場合に、データパケットの再送制御による高信頼化と、ＴＣＰがボトルネックとなることがない高速化とを実現することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明におけるシステム構成図である。
【図２】本発明におけるシーケンス図である。
【図３】本発明のデータ転送装置におけるデータ送信機能の構成図である。
【図４】本発明におけるデータ転送装置のレイヤ構成図である。
【図５】本発明のデータ転送装置におけるデータ受信機能の構成図である。
【図６】本発明における輻輳通知に基づくシーケンス図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２９】
図１は、本発明におけるシステム構成図である。
【００３０】
図１によれば、広域ネットワーク３とアクセスネットワーク４との間に、複数のデータ転送装置１が接続されている。広域ネットワーク３は、通信事業者によって帯域管理されたものである。即ち、通信事業者は、契約企業向けの契約帯域を十分に確保するべきサービスを提供する。
【００３１】
通信装置２は、例えば企業の部門内ＬＡＮ(Local Access Network)に接続されたものであって、アクセスネットワーク４を介してデータ転送装置１と通信する。これによって、通信装置２は、データ転送装置１を介して広域ネットワークに接続する。そして、通信装置２は、広域ネットワークを介して相手方通信装置と通信することができる。
【００３２】
また、図１によれば、広域ネットワークに、ネットワーク資源管理装置５が接続されている。ネットワーク資源管理装置５は、データ転送装置１に対して、ユーザ毎の契約情報に応じて、契約帯域を制御する。
【００３３】
図２は、本発明におけるシーケンス図である。
【００３４】
図２によれば、通信装置（端末又はサーバ）間は、ＴＣＰ（第１の再送制御プロトコル）によってコネクションの確立を中継する。本発明によれば、更に、広域ネットワークを介したデータ転送装置−データ転送装置間は、ＵＤＴ(UDP(User Datagram Protocol)-based data transfer)（第２の再送制御プロトコル）によってコネクションが確立される。ＵＤＴは、データパケットの伝送フレームに、ＵＤＰ(User Datagram Protocol)を用いる。ここで、データ転送装置１は、ＴＣＰデータパケットに対して、ＵＤＴ＋ＵＤＰヘッダをカプセル化／デカプセル化する機能を有する。
【００３５】
「ＵＤＴ」は、ＵＤＰベースのプロトコルであって、定期的に受信先通信装置によって利用できる帯域幅を測定し、それに基づいたウインドウ・サイズを送信元通信装置へ通知する。送信元通信装置は、そのウインドウ・サイズの分だけパケットを送信する。実際のパケットの転送には、ＵＤＰを用いる。この仕組みによって、常に限界近くのスループットまでデータパケットの伝送が可能となる。
【００３６】
これによって、データ転送装置間は、広域ネットワークを介して、ＵＤＴ＋ＵＤＰヘッダによってカプセル化されたＴＣＰデータパケットを転送する。ＴＣＰに基づく確認応答ＡＣＫの交換については、通信装置−データ転送装置間で実行する。一方で、ＵＤＴに基づく確認応答ＡＣＫの交換は、データ転送装置−データ転送装置間で実行する。
【００３７】
尚、ＵＤＴによれば、一般に、８３３個のデータパケット当たり、１個の確認応答ＡＣＫを返信する。
【００３８】
図３は、本発明のデータ転送装置におけるデータ送信機能の構成図である。
【００３９】
図３によれば、データ転送装置１は、通信装置２との間でアクセスネットワーク４を介して接続するアクセスネットワークインタフェース１０１と、通信事業者によって帯域管理された広域ネットワーク３に接続する広域ネットワークインタフェース１０２とを有する。
【００４０】
また、図３によれば、データ転送装置１は、第１のコネクション確立中継部１１１と、第２のコネクション確立部１１２と、データパケット送信機能と、データパケット受信機能とを有する。これらの機能構成部は、データ転送装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【００４１】
第１のコネクション確立中継部１１１は、通信装置２間でＴＣＰ（第１の再送制御プロトコル）のコネクションの確立を中継する。
【００４２】
第２のコネクション確立部１１２は、相手方データ転送装置との間でＵＤＴ（第２の再送制御プロトコル）のコネクションを確立する。
【００４３】
データパケット送信機能としては、第１のバッファ群１２１と、帯域制御部１２２と、第１の確認応答返信部１２３と、カプセル化部１２４と、再送用バッファ１２５と、第１の確認応答受信部１２６と、トークン制御部１２７とを有する。
【００４４】
第１のバッファ群１２１は、アクセスネットワークインタフェース１０１を介して受信したＴＣＰデータパケットを、契約帯域毎にバッファする。ここで、契約帯域毎とは、例えばＶＬＡＮ(Virtual LAN)毎であってもよい。
【００４５】
帯域制御部１２２は、契約帯域に基づいて、第１のバッファ群１２１のバッファ毎に、当該契約帯域に基づいて、データパケットの出力を制御する。即ち、契約帯域には、伝送レートが設定されている。また、帯域制御部１２２は、データパケットとして送信すべきデータ量を、トークンによって制御する。これは、一般に「トークンバケットレート制御」とも称される。
【００４６】
「トークンバケットレート制御」とは、データパケットをトークンバケットアルゴリズムによるレートで送信する。トークンとは、送信単位量を表す送信権利をいう。トークンバケットレート制御は、トークンバケットに蓄積されたトークンに応じて、データパケットを送信するアルゴリズムである。このアルゴリズムは、トークンレートと、トークンバケットサイズと、バッファサイズとの３つのパラメータを有する。
【００４７】
トークンバケットには、一定のトークンレートで常に新たなトークンが補充される。但し、トークンバケットのトークンバケットサイズを溢れたトークンは、破棄される。同様に、データパケットのバッファから溢れたデータパケットも、破棄される。バッファに入力されたデータパケットは、同量のトークンと一緒にバッファから出力される。トークンがトークンバケットに存在しなければ、その時点ではデータパケットは送信されない。そのデータパケットを送信するに必要なトークンが補充され、パケットバッファから出力される。バッファからのデータパケットの出力レートの平均は、トークンレート以下に制限され、最大バースト長は、トークンバケットサイズ以下に制限される。
【００４８】
また、帯域制御部１２２は、契約に応じて、以下の２つのいずれかの動作を実行する
（１）広域ネットワークインタフェースにおける物理伝送レートに余剰がある限り、バッファからの出力レートは、契約帯域を超えてもの制限されない。例えば、物理伝送レート１Ｇｂｐｓに対して、契約帯域の合計値が３００Ｍｂｐｓである場合、余剰伝送レートは、７００Ｍｂｐｓとなる。
（２）広域ネットワークインタフェースにおける物理伝送レートに余剰があっても、バッファからの出力レートは、契約帯域に制限される。
【００４９】
第１の確認応答返信部１２３は、第１のバッファ群１２１から出力されたＴＣＰデータパケットに対して、ＴＣＰに基づいて、アクセスネットワークインタフェース１０１を介して端末２へ確認応答ＡＣＫを返信する。これによって、ＴＣＰにおける確認応答ＡＣＫのみを、送信元通信装置−送信側データ転送装置で終端する。そして、第１の確認応答返信部１２３は、ＴＣＰデータパケットをカプセル化部１２４へ出力する。
【００５０】
カプセル化部１２４は、第１の確認応答返信部１２３から出力されたＴＣＰデータパケットについて、ＵＤＴ＋ＵＤＰヘッダによってカプセル化する。カプセル化されたデータパケットは、広域ネットワークインタフェース１０２によって、相手方データ転送装置へ送信される。
【００５１】
図４は、本発明におけるデータ転送装置のレイヤ構成図である。
【００５２】
図４によれば、通信装置２からＩＰ＋ＴＣＰデータパケットを受信し、そのＩＰ＋ＴＣＰデータパケットは、ＵＤＴレイヤへ転送される。ＵＤＴレイヤは、ＵＤＴヘッダを付加し、ＵＤＴ＋ＩＰ＋ＴＣＰデータパケットを生成し、ＵＤＰレイヤへ転送する。ＵＤＰレイヤは、ＵＤＰヘッダを付加し、ＵＤＰ＋ＵＤＴ＋ＩＰ＋ＴＣＰデータパケットを、ＩＰレイヤへ転送する。ＩＰレイヤは、自データ転送装置を送信元とし、相手方データ転送装置を送信先としたＩＰヘッダを付加し、ＩＰ＋ＵＤＰ＋ＵＤＴ＋ＩＰ＋ＴＣＰデータパケットを送信する。
【００５３】
再送用バッファ１２５は、相手方データ転送装置へ送信されるデータパケットを一時的にバッファする。相手方データ転送装置との間で誤り検出されたデータパケットは、再送される。また、受信が確認されたデータパケットは、破棄される。
【００５４】
第１の確認応答受信部１２６は、相手方データ転送装置から、確認応答ＡＣＫを受信する。受信された確認応答ＡＣＫに基づいて、再送用バッファ１２５が制御される。
【００５５】
トークン制御部１２７は、相手方データ転送装置から、輻輳通知を受信した際に、帯域制御部１２２に対してトークンの発行時間間隔を長くするべく指示する。これによって、送信元通信装置に対する確認応答ＡＣＫの返信時間間隔が長くなり、アクセスネットワークにおける伝送レートが抑えられる。
【００５６】
また、トークン制御部１２７は、抑えられた伝送レートを、ＡＩＭＤ(Additive Increase Multiplicative Decrease)アルゴリズムによって回復するべく制御する。ＡＩＭＤによれば、送信元通信装置は、確認応答ＡＣＫを受信することによって、データパケットが到達したことを確認する毎に、伝送レートを上げる。一方で、データパケットが到達せず、確認応答ＡＣＫを受信できなかった際に、伝送レートを下げる。伝送レートを上げる際は加算的に、伝送レートを下げる際は乗算的に行う。ＡＩＭＤによれば、伝送レートは、頻繁に変化する。
【００５７】
更に、トークン制御部１２７は、輻輳通知を受信した際に、ＵＤＴプロトコルヘッダの制御情報部分に含まれた通信装置側識別子を取得する。通信装置側識別子は、例えばＶＬＡＮタグであってもよい。トークン制御部１２７は、帯域制御部１２２へ、その通信装置側識別子に対応する第１のバッファ群のバッファにおけるトークンの発行時間間隔を長くするべく指示する。
【００５８】
図５は、本発明のデータ転送装置におけるデータ受信機能の構成図である。
【００５９】
図５のデータ転送装置によれば、データパケット受信機能としては、第２の確認応答返信部１３１と、デカプセル化部１３２と、第２のバッファ群１３３と、第２の確認応答受信部１３４と、輻輳通知部１３５とを有する。
【００６０】
第２の確認応答返信部１３１は、相手方データ転送装置から広域ネットワークインタフェース１０２を介して、（ＵＤＰ＋）ＵＤＴデータパケットを受信する。そして、第２の確認応答返信部１３１は、ＵＤＴデータパケットに対して、ＵＤＴに基づいて、広域ネットワークインタフェース１０２を介して相手方データ転送装置へ、確認応答ＡＣＫを返信する。
【００６１】
ここで、第２の確認応答返信部１３１は、確認応答ＡＣＫを、広域ネットワークについて通信装置と相手方データ転送装置との間の契約帯域以外の帯域で送信する。ここで、確認応答ＡＣＫには、対応する第１のバッファの識別子（例えばＶＬＡＮタグ）を含む。
【００６２】
また、確認応答ＡＣＫの転送帯域は、契約帯域に対する所定割合の帯域が別途確保されていることも好ましい。これは、確認応答ＡＣＫ用のパケットに対して、所定の通信帯域が確保されていることを意味する。例えば契約帯域に対する０．１％であってもよい。確認応答ＡＣＫ用のパケットは、ＩＰアドレスやＶＬＡＮによって識別される。
【００６３】
デカプセル化部１３２は、第２の確認応答返信部１３１から出力されたＵＤＴデータパケットについて、ＵＤＴヘッダを取り除き、デカプセル化する。デカプセル化されて残ったＴＣＰデータパケットは、第２のバッファ群１３３へ出力される。
【００６４】
第２のバッファ群１３３は、デカプセル化されたＴＣＰデータパケットを、契約帯域毎に、一時的にバッファする。第２のバッファ群１３３の各バッファは、第２の確認応答受信部１３４における確認応答ＡＣＫに応じて、ＴＣＰデータパケットを、アクセスネットワークインタフェース１０１へ出力する。アクセスネットワークインタフェース１０１は、ＴＣＰデータパケットを、アクセスネットワーク４を介して、通信装置２へ送信する。
【００６５】
第２の確認応答受信部１３４は、通信装置２から、確認応答ＡＣＫを受信する。受信された確認応答ＡＣＫに基づいて、第２のバッファ群１３３からのデータパケットの出力が制御される。
【００６６】
輻輳通知部１３５は、第２のバッファ群１３３における各バッファについて、所定閾値以上にＴＣＰデータパケットがバッファされることによって、輻輳状態に達した際に、相手方データ転送装置へ輻輳通知ＣＮ(Congestion Notification)を送信する。
【００６７】
また、輻輳通知部１３５は、輻輳通知のＵＤＴヘッダの制御情報部分に、輻輳状態に達した第２のバッファ群のバッファ毎の通信装置側識別子を含める。通信装置側識別子は、例えばＶＬＡＮタグであってもよい。
【００６８】
図６は、本発明における輻輳通知に基づくシーケンス図である。
【００６９】
（Ｓ６１）受信側データ転送装置について、送信側データ転送装置からＵＤＴデータパケットを受信している一方で、受信先通信装置へＴＣＰデータパケットを送信できていない。そのために、受信バッファが輻輳状態にある。このとき、受信側データ転送装置は、送信側データ転送装置へ、輻輳通知を送信する。輻輳通知を受信した送信側データ転送装置は、帯域制御部におけるトークンの発生を抑えることによって、ＵＤＴデータパケットのスループットを抑える。
（Ｓ６２）送信側データ転送装置は、受信側データ転送装置へのＵＤＴデータパケットのスループットを抑えることによって、送信バッファが輻輳状態になる。このとき、送信側データ転送装置は、ウィンドウサイズを小さくした確認応答ＡＣＫを、送信元通信装置へ送信する。これによって、送信元通信装置は、ＴＣＰデータパケットの送信レートを抑える。
（Ｓ６３）その後、受信先通信装置２が、大きいウィンドウサイズの確認応答ＡＣＫを、受信側データ転送装置へ送信する。これによって、受信側データ転送装置は、バッファに蓄積されていたＴＣＰデータパケットを、受信先通信装置へ送信する。
（Ｓ６４）その後、受信側データ転送装置における受信バッファの輻輳状態が解消したとする。このとき、受信側データ転送装置は、ＵＤＴにおける大きいウィンドウサイズの確認応答ＡＣＫを、送信側データ転送装置へ送信する。これによって、送信側データ転送装置は、帯域制御部におけるトークンの発生を通常に戻し、ＵＤＴデータパケットのスループットを回復する。
（Ｓ６５）その後、送信側データ転送装置は、送信バッファの輻輳状態が解消する。このとき、送信側データ転送装置は、ウィンドウサイズを大きくした確認応答ＡＣＫを、送信元通信装置へ送信する。これによって、送信元通信装置は、ＴＣＰデータパケットの送信レートを回復させる。
【００７０】
以上、詳細に説明したように、本発明のデータ転送装置、プログラム及び方法によれば、契約帯域が保証された広域ネットワークが介在した場合に、データパケットの再送制御による高信頼化と、ＴＣＰがボトルネックとなることがない高速化とを実現することができる。
【００７１】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００７２】
１  データ転送装置
１０１  アクセスネットワークインタフェース
１０２  広域ネットワークインタフェース
１１１  第１のコネクション確立中継部
１１２  第２のコネクション確立部
１２１  第１のバッファ群
１２２  帯域制御部
１２３  第１の確認応答返信部
１２４  カプセル化部
１２５  再送用バッファ
１２６  第１の確認応答受信部
１２７  トークン制御部
１３１  第２の確認応答返信部
１３２  デカプセル化部
１３３  第２のバッファ群
１３４  第２の確認応答受信部
１３５  輻輳通知部
２  通信装置
３  広域ネットワーク
４  アクセスネットワーク
５  ネットワーク資源管理装置
【図１】
0005580706.tif 000002
【図２】
0005580706.tif 000003
【図３】
0005580706.tif 000004
【図４】
0005580706.tif 000005
【図５】
0005580706.tif 000006
【図６】
0005580706.tif 000007