(57)【要約】【課題】パケットの転送速度を上げることが可能な通信装置を得ること。【解決手段】本発明の通信装置は、複数の中継装置を相互接続することによって構成される広域ネットワークを介して、宛先となる通信装置に対してパケットを送信する通信装置であって、前記宛先の通信装置にパケットが届くまでの遅延時間である網遅延量を測定し、測定した網遅延量に基づいて通信フローの分割数を決定する通信フロー制御部１２と、前記分割数に基づきパケットの送信に使用する通信フローを選択し、選択した通信フローを識別するための識別情報を含む送信パケットを生成する送信パケット処理部１３と、前記分割数分の通信フローを確立し、前記選択された通信フローを用いて前記送信パケットを送信する外部インタフェース部１４と、を備える。【選択図】        図５
2010130329.tif 000002
【特許請求の範囲】
【請求項１】
複数の中継装置を相互接続することによって構成されるネットワークを介して、宛先となる通信装置に対してパケットを送信する通信装置であって、
前記宛先の通信装置にパケットが届くまでの遅延時間である網遅延量を測定し、測定した網遅延量に基づいて通信フローの分割数を決定する通信フロー制御手段と、
前記分割数に基づきパケットの送信に使用する通信フローを選択し、選択した通信フローを識別するための識別情報を含む送信パケットを生成する送信パケット処理手段と、
前記分割数分の通信フローを確立し、前記選択された通信フローを用いて前記送信パケットを送信する外部インタフェース手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記通信フロー制御手段は、前記網遅延量の測定を繰り返し実行し、網遅延量の変化に応じて通信フローの分割数を適宜変更することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信フロー制御手段は、最新の網遅延量の測定結果と過去の網遅延量の測定結果に基づいて通信フローの分割数を決定することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
パケット送信元となる通信装置が、複数の中継装置を相互接続することによって構成されるネットワークを介して、宛先となる通信装置に対してパケットを送信する通信システムにおいて、前記通信装置間の通信経路上で前記送信元の通信装置と接続する中継装置であって、
前記通信経路上において自装置から前記宛先の通信装置と接続する中継装置にパケットが届くまでの遅延時間である網遅延量を測定し、測定した網遅延量に基づいて通信フローの分割数を決定する通信フロー制御手段と、
前記分割数に基づきパケットの送信に使用する通信フローを選択し、選択した通信フローを識別するための識別情報を含む送信パケットを生成する送信パケット処理手段と、
前記分割数分の通信フローを確立し、前記選択された通信フローを用いて前記送信パケットを送信する外部インタフェース手段と、
を備えることを特徴とする中継装置。
【請求項５】
前記通信フロー制御手段は、前記網遅延量の測定を繰り返し実行し、網遅延量の変化に応じて通信フローの分割数を適宜変更することを特徴とする請求項４に記載の中継装置。
【請求項６】
前記通信フロー制御手段は、最新の網遅延量の測定結果と過去の網遅延量の測定結果に基づいて通信フローの分割数を決定することを特徴とする請求項４または５に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送速度を向上させる通信装置および中継装置に関する。
【背景技術】
【０００２】
インターネットに代表される広域ＩＰ（Internet  Protocol）網は、パケットの中継機能を有する中継装置（ルータ等）を多数相互接続することによって一つのネットワークを構成している。このようなネットワークに一組の通信装置を接続して相互に通信を行うとき、送信元の通信装置から送出されたパケットは、ネットワーク上の中継装置間の転送を繰り返すことで宛先の通信装置に到着する。中継装置は、処理待ちのパケットを格納するキューを備えており、パケットの処理が完了する前に後続のパケットが到着した場合、後続のパケットをキューに格納して処理待ち状態とする。ネットワークでは、中継装置が処理待ち状態になると遅延が発生し、通信装置間の実効転送速度は、通信回線自体がもつ容量より低下する。また、トランスポート層のプロトコルとしてＴＣＰ（Transmission  Control  Protocol）を用いる場合、キューの溢れに伴うパケットロスによって再送制御やウィンドウサイズ制御が行われるため、実効転送速度の低下がさらに大きくなる。このような問題を解決する方法として、複数の通信回線を併用することでパケットの転送速度を向上する方法が下記特許文献１に開示されている。
【０００３】
【特許文献１】特開２００８−１３１６０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術によれば、送受信を行う通信装置間に物理的に異なる複数の通信回線が存在していることが前提となっている。そのため、複数の通信回線を用意できない場合はパケットの転送速度を向上させることができない、という問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、通信装置間の通信回線の帯域利用効率を向上させ、パケットの転送速度を上げることが可能な通信装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、複数の中継装置を相互接続することによって構成されるネットワークを介して、宛先となる通信装置に対してパケットを送信する通信装置であって、前記宛先の通信装置にパケットが届くまでの遅延時間である網遅延量を測定し、測定した網遅延量に基づいて通信フローの分割数を決定する通信フロー制御手段と、前記分割数に基づきパケットの送信に使用する通信フローを選択し、選択した通信フローを識別するための識別情報を含む送信パケットを生成する送信パケット処理手段と、前記分割数分の通信フローを確立し、前記選択された通信フローを用いて前記送信パケットを送信する外部インタフェース手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
この発明によれば、通信装置間の通信回線の帯域利用効率を向上させ、パケットの転送速度を上げることができる、という効果を奏する。
【発明を実施するための最良の形態】
【０００８】
以下に、本発明にかかる通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【０００９】
実施の形態．
図１は、本発明にかかる通信装置を備えたネットワークの構成例を示す図である。２台の通信装置１−１，１−２は、広域ネットワーク２を介して接続している。また、広域ネットワーク２は、複数（ここでは一例として３台）の中継装置３−１，３−２，３−３を備える。また、各装置間は、通信回線４を通じて接続される。たとえば、通信装置１−１が通信装置１−２宛にパケットを送信する場合、パケットは、広域ネットワーク２の中継装置３−１，３−２，３−３を経由して通信装置１−２へ届くことになる。
【００１０】
つづいて、通信装置１−１と通信装置１−２との間でＦＴＰ（File  Transfer  Protocol）によりパケット転送を行う場合の、網遅延量と転送速度の関係（スループット特性）について説明する。網遅延量とは、通信相手の通信装置にパケットが届くまでの遅延時間であり、通信相手となる通信装置までの距離やネットワークトラヒックの状態によって変動する。
【００１１】
まず、従来のスループット特性について説明する。図２は、従来のスループット特性を示す図である。横軸が通信装置１−１，１−２間の網遅延量、縦軸がパケットの転送速度を表す。曲線５１，５２は、通信装置１−１，１−２間で確立している通信フローの転送速度の設定値（以下、帯域とする）がそれぞれ毎秒２メガビット、毎秒１メガビットの場合の特性を示す。両曲線が示す転送速度は、網遅延量がゼロに近い領域ではそれぞれ通信フローの帯域に近い位置にあるが、網遅延量が増加するほど低下し、最終的に通信フローの帯域に依存しない１本の曲線５３に収束する。曲線５３は、網遅延量に対する転送速度の上限を表し、通信フローの帯域を速く設定しても転送速度がこの上限を上回らないことを示す。また、通信フローの帯域が速いほど僅かな網遅延量で収束が開始することを示す。
【００１２】
つぎに、本発明の特徴である１つの通信フローを論理的に分割してパケットを転送する場合のスループット特性について説明する。論理的に分割とは、１つの通信フローを仮想的に独立した複数の通信フローに分割することをいう。このとき、「分割前の通信フローの帯域＝分割後の全通信フローの帯域の総和」の関係が成り立つものとする。
【００１３】
図３は、通信フローを２分割した場合のスループット特性を示す図である。曲線６１は通信フローを分割する前の特性（帯域：毎秒２メガビット）を示し、図２の曲線５１と同じである。曲線６２は分割した各通信フローの特性（帯域：毎秒１メガビット）を示す。通信フロー１本当たりの転送速度が分割前の転送速度の半分（帯域：毎秒１メガビット）であることから、図２の曲線５２と同じである。通信装置１−１，１−２間のスループット特性は、毎秒１メガビットの通信フローが２本あるので、全体として曲線６３に示す特性を得る。ここで、曲線６３は、曲線５３よりも上方に位置している。すなわち、通信装置１−１，１−２は、１つの通信フローを分割してパケット転送を行うことによって、通信回線４の帯域利用効率を向上させることができ、網遅延量により定められる上限（曲線５３）以上の転送速度を得ることができる。
【００１４】
また、図４は、通信装置１−１，１−２間の通信フローの帯域を毎秒２メガビットに固定し、通信フローの分割数を変えた場合のスループット特性（分割後の全通信フローの総和）を示す図である。曲線７１〜７４は、通信フローをそれぞれ、１本（分割なし），２本，４本，８本に分割した場合のスループット特性を示す。分割数が増加するほど曲線が上方に移動し、同じ網遅延量に対して高い転送速度を得ることができる。
【００１５】
ここで、網遅延量２５ミリ秒の位置を見ると、通信フローを２分割（曲線７２）した場合、分割しない（曲線７１）場合と比べて転送速度が向上しているが、４分割（曲線７３），８分割（曲線７４）に増やしても２分割（曲線７２）時の転送速度とほとんど変わらない。また、網遅延量５０ミリ秒の位置を見ると、２分割（曲線７２），４分割（曲線７３）までは通信フローの分割によって転送速度が向上するが、８分割（曲線７４）では４分割（曲線７３）の場合と同程度である。このように、通信フローの分割数を増加しても転送速度は飽和してしまう。
【００１６】
一方、通信装置１−１，１−２としては、分割数が増えるほどパケットを転送するときに必要な処理負荷が増えるため、分割数は少ない方が望ましい。すなわち、通信フローの分割数には網遅延量に応じた最適値が存在することになる。網遅延量は、通信相手となる通信装置までの距離やネットワークトラヒックの状態によって変動する。そのため、通信装置１−１，１−２は、通信フローを分割する際、その時点の網遅延量の測定値に基づいて最適な分割数を計算する必要がある。
【００１７】
そこで、本実施の形態の通信装置１−１，１−２は、網遅延量の測定値に基づいて最適な分割数を計算して通信フローの分割処理を行う構成を備える。図５は、通信装置１−１，１−２が備える通信フロー分割処理部１０の構成例を示す図である。通信フロー分割処理部１０は、内部インタフェース部１１と、通信フロー制御部１２と、送信パケット処理部１３と、外部インタフェース部１４と、受信パケット処理部１５と、を備える。
【００１８】
内部インタフェース部１１は、ユーザアプリケーションと接続する。通信フロー制御部１２は、網遅延量を測定して通信フローの分割数を計算し、通信フローの確立または切断を制御する。また、通信フローの分割数に基づいて通信フロー分割情報（論理的に分割した分割数、分割した各通信フローを識別する情報）を生成する。通信フロー分割情報は、通信フローの確立時に送信先の通信装置に対して通知することにより共有する。送信パケット処理部１３は、通信フロー分割情報を参照して、分割した通信フローの中から送信に使用する通信フローを選択し、送信パケットのヘッダ部分を書き換えて外部インタフェース部１４へ転送する。外部インタフェース部１４は、通信装置外部の広域ネットワーク２と接続し、通信フロー制御部１２により生成された通信フロー制御情報に基づいて、送信先となる通信装置との間に分割した通信フローを確立する。そして、送信パケット処理部１３から転送されたパケットを、選択された通信フローを用いて送信する。また、パケットを受信した場合は、そのパケットを受信パケット処理部１５へ転送する。受信パケット処理部１５は、受信したパケットを順番通り（送信順）に並び替えて内部インタフェース部１１へ転送する。
【００１９】
つづいて、通信装置１−１から通信装置１−２へパケットを送信するときの処理について説明する。まず、通信装置１−１がパケットを送信する処理について説明する。通信装置１−１の通信フロー分割処理部１０では、ユーザアプリケーション側からパケットが送出されると、内部インタフェース部１１がパケットを取り込み、送信パケット処理部１３へ転送する。また、内部インタフェース部１１は、パケットを受信したことを通信フロー制御部１２へ通知する。通信フロー制御部１２は、内部インタフェース部１１からの通知を受けて、通信フローの分割数を決定する処理を開始する。分割数を決定する処理については後述する。
【００２０】
送信パケット処理部１３は、パケットを受け取ると、通信フロー制御部１２が管理する通信フロー分割情報を参照する。そして、使用する通信フローを選択し、送信対象のパケットのヘッダ部分を書き換えて、このパケットを外部インタフェース部１４へ転送する。具体的には、送信対象のパケットのヘッダ部分に、送信に使用する通信フローを識別するための情報（識別情報）を含ませる。外部インタフェース部１４は、通信フロー制御部１２が決定した分割数に基づいて１つの通信フローを論理的に分割して分割後の通信フローを確立する。そして、送信パケット処理部１３により選択された通信フローを用いて通信装置１−２宛てにパケットを送信する。
【００２１】
つぎに、通信装置１−２がパケットを受信する処理について説明する。通信装置１−２の通信フロー分割処理部１０では、外部からパケットを受信すると、外部インタフェース部１４がパケットを取り込み、受信パケット処理部１５へ転送する。受信パケット処理部１５は、上記で分割された通信フローを用いて送信されたパケットを連続して受信した場合、使用される通信フローに応じて異なる遅延が発生する可能性があるため、受信したパケットを内部バッファを用いて一旦保持し、順番通り（送信順）に並び替えてから内部インタフェース部１１へ転送する。並べ替えは、パケットのヘッダに含まれているシーケンス番号（１本の通信フローでパケットを送信する場合に付される送信順を表す通し番号）に基づいて行う。内部インタフェース部１１は、受け取ったパケットをユーザアプリケーションへ転送する。
【００２２】
ここで、通信フロー制御部１２が行う通信フローの分割数を決定する処理および外部インタフェース部１４が行う通信フローの分割処理を、フローチャートを用いて詳細に説明する。図６は、通信フローを分割する処理を示すフローチャートである。通信フロー制御部１２は、内部インタフェース部１１からパケットを受信した旨の通知を受けて分割処理を開始する。
【００２３】
まず、通信フロー制御部１２は、内部インタフェース部１１においてパケットの転送が終了しているかどうかを確認する（ステップＳ１）。パケットの転送が終了していない場合（ステップＳ１：Ｎｏ）、通信フロー制御部１２は、通信装置１−２までの網遅延量を測定する（ステップＳ２）。網遅延量の測定は、プローブパケットを通信装置１−２へ送信し、通信装置１−２からの返送時間（往復時間）から求める。つぎに、通信フロー制御部１２は、測定した網遅延量に基づいて、最適な通信フローの分割数ｎを計算する（ステップＳ３）。計算の際、測定した網遅延量を直接用いてもよく、また、過去の網遅延量を参照した統計的処理によって得られる値を用いてもよい。なお、通信フロー制御部１２は、あらかじめ、図４に示すような分割数とスループット特性の関係の情報を取得しているものとする。
【００２４】
つぎに、通信フロー制御部１２は、上述のステップＳ３で求めた最適な通信フローの分割数ｎと、現在の通信フローの分割数ｎ0を比較する（ステップＳ４）。ｎとｎ0が一致している場合（ステップＳ４：Ｙｅｓ）、通信フロー制御部１２は、通信フローを確立または切断する処理を行わずに、内部インタフェース部１１においてパケットの転送が終了しているかどうかを確認する処理に移行する（ステップＳ１）。一方、ｎとｎ0が一致していない場合（ステップＳ４：Ｎｏ）、通信フロー制御部１２は、差分（｜ｎ0−ｎ｜）の数に応じて通信フローの確立または切断を決定する（ステップＳ５）。
【００２５】
具体的には、ｎ0の方が大きい場合、通信フロー制御部１２は、外部インタフェース部１４に対して差分の数だけ通信フローを切断するように指示する。外部インタフェース部１４は、指示に従い通信フローの切断処理を行い、通信フロー制御部１２が決定した分割数の通信フローを確立する。なお、切断処理後の分割された各通信フローの帯域は全て等しいものとする。一方、ｎの方が大きい場合、通信フロー制御部１２は、外部インタフェース部１４に対して差分の数だけ通信フローを確立するように指示する。外部インタフェース部１４は、指示に従い通信フローの確立処理を行い、通信フロー制御部１２が決定した分割数の通信フローを確立する。なお、確立処理後の分割された各通信フローの帯域は全て等しいものとする。その後、通信フロー制御部１２は、内部インタフェース部１１においてパケットの転送が終了しているかどうかを確認する処理に移行する（ステップＳ１）。
【００２６】
また、上記ステップＳ１の処理において、内部インタフェース部１１によるパケットの転送が終了していない場合についても（ステップＳ１：Ｎｏ）、通信フロー制御部１２および外部インタフェース部１４は、上記処理を繰り返し実行する（ステップＳ１〜Ｓ５）。これにより、通信装置１−１，１−２間でパケット転送が継続している間は、網遅延量の変化に応じて、適宜通信フローの分割数を変更することができる。また、内部インタフェース部１１によるパケットの転送が終了した場合（ステップＳ１：Ｙｅｓ）、通信フロー制御部１２および外部インタフェース部１４は、分割処理を終了する。なお、分割処理は上記処理に限定するものではなく、たとえば、パケットの送信開始時に分割数を決定し、一連のパケット転送が終了するまで分割数を変更しないことも可能である。
【００２７】
以上の処理を行うことにより、網遅延量が変動している場合においても、通信装置が、１つの通信フローを最適な数に分割して通信を行うことができるため、パケットの転送速度を向上させることができる。
【００２８】
なお、上記技術の応用として、広域ネットワークとローカルネットワークが接続するネットワークにおいて、広域ネットワークとローカルネットワークを結ぶ中継装置が、通信フロー分割処理部１０の機能を持つこととしてもよい。図７は、２つのローカルネットワーク２１−１，２１−２が広域ネットワーク２３を介して接続されたネットワークを示す図である。ローカルネットワーク２１−１，２１−２は、それぞれ中継装置２２−１，２２−２を介して広域ネットワーク２３に接続する。また、ローカルネットワーク２１−１，２１−２は、それぞれ複数の通信装置（２０−１〜２０−３，２０−４〜２０−６）を備える。
【００２９】
このようなネットワークの場合、異なるローカルネットワーク上の通信装置２０−１，２０−４間の網遅延量は、ローカルネットワーク２１−１（通信装置２０−１〜中継装置２２−１）、広域ネットワーク２３（中継装置２２−１〜中継装置２２−２）、ローカルネットワーク２１−２（中継装置２２−２〜通信装置２０−４）の各ネットワークで発生する網遅延量の合計となる。しかし、一般的には、ローカルネットワーク２１−１，２１−２内の通信回線は広域ネットワーク２３内の通信回線に比べて近距離、広帯域であるため網遅延量が小さい。すなわち、通信装置２０−１〜２０−４間の網遅延量は、広域ネットワーク２３の網遅延量にほぼ等しくなり、ローカルネットワーク２１−１，２１−２の網遅延量に依存しない。
【００３０】
そのため、中継装置２２−１，２２−２間の広域ネットワーク２３の区間だけで通信フローを分割し、中継装置２２−１，２２−２が、通信装置２０−１〜２０−６に代わって通信フロー分割処理部１０を備える。このとき、内部インタフェース部１１がローカルネットワーク２１−１または２１−２側、外部インタフェース部１４が広域ネットワーク２３側になるように接続する。
【００３１】
通信装置２０−１は、ローカルネットワーク２１−１を介して中継装置２２−１へパケットを送信する。中継装置２２−１は、前述の通信フロー分割処理部１０のパケット送信処理および図６に示した分割処理に基づいて、受信したパケットを、広域ネットワーク２３を介して中継装置２２−２へ転送する。中継装置２２−２は、前述のパケット受信処理に基づいて、受信したパケットを、ローカルネットワーク２１−２を介して通信装置２０−４へ転送する。
【００３２】
以上の処理を行うことにより、ネットワーク同士が接続している場合においても、ネットワークを接続する中継装置が、１つの通信フローを最適な数に分割して通信を行うことにより、パケットの転送速度を向上させることができる。
【００３３】
以上説明したように、本実施の形態では、通信装置間で確立している通信フローを論理的に複数に分割し、分割した複数の通信フローを用いて通信を行うこととした。これにより、通信装置間の通信回線の帯域利用効率を向上させることができ、パケットの転送速度を上げることが可能となる。
【産業上の利用可能性】
【００３４】
以上のように、本発明にかかる通信装置は、複数の通信装置や中継装置を備えるネットワークに有用であり、特に、網遅延量が変動するネットワークに適している。
【図面の簡単な説明】
【００３５】
【図１】ネットワークの構成例を示す図である。
【図２】通信装置間のスループット特性を示す図である。
【図３】通信装置間のスループット特性を示す図である。
【図４】通信装置間のスループット特性を示す図である。
【図５】通信フロー分割処理部の構成例を示す図である。
【図６】通信フローの分割処理を示すフローチャートである。
【図７】ネットワークの構成例を示す図である。
【符号の説明】
【００３６】
１−１，１−２，２０−１〜２０−６  通信装置
２，２３  広域ネットワーク
３−１〜３−３，２２−１，２２−２  中継装置
４  通信回線
１０  通信フロー分割処理部
１１  内部インタフェース部
１２  通信フロー制御部
１３  送信パケット処理部
１４  外部インタフェース部
１５  受信パケット処理部
２１−１，２１−２  ローカルネットワーク
【図１】
2010130329.tif 000003
【図２】
2010130329.tif 000004
【図３】
2010130329.tif 000005
【図４】
2010130329.tif 000006
【図５】
2010130329.tif 000007
【図６】
2010130329.tif 000008
【図７】
2010130329.tif 000009