(57)【要約】【課題】データ伝送速度が異なる伝送路を介してＴＣＰによりデータ通信を行う際に、ゼロウィンドウプローブセグメントの発生を防ぎ、伝送効率の低下を防ぐ。【解決手段】送信したデータセグメントに損失が生じたときに、輻輳ウィンドウのサイズを初期化して小さくするＴＣＰの機能を利用して、プロキシサーバ１６で、ウィンドウサイズの残り容量が、あらかじめ決められた値より少なくなったときに、クライアント装置１４またはサーバ装置２０から送られてきたデータセグメントに対するＡＣＫセグメントを送らないように制御する。この制御により、クライアント装置１４またはサーバ装置２０に、擬似的に、有線ネットワークシステム１０に輻輳が生じたと判断させることができ、これらからプロキシサーバ１６への実行伝送レートを下げさせる。【選択図】図１
2010130610.tif 000002
【特許請求の範囲】
【請求項１】
予め決められた第１のデータ伝送速度の伝送路と、
前記伝送路を介して接続され、前記第１のデータ伝送速度よりも速い第２のデータ伝送速度の複数のネットワークと、
前記ネットワークそれぞれに１つ以上、接続された複数の通信ノードと、
前記ネットワークの１つ以上に接続され、同じネットワークを介して接続された前記通信ノードからデータを受信して受信バッファに記憶し、この通信ノードと、他のネットワークの通信ノードとの間で、予め決められたプロトコルを代理してデータ伝送を実行するプロキシサーバと
を有するデータ伝送システムであって、
前記プロトコルにおいて、
前記プロキシサーバは、同じネットワークに接続された通信ノードからデータを受信したときに、この通信ノードに対して、このデータを受信したことと、前記受信バッファの残り容量を示す第１の信号を通信相手の通信ノードに返し、
前記通信ノードは、予め決められた第１の時間が経過する前に、前記第１の信号を受けると、次のデータを前記プロキシサーバに送信し、
前記通信ノードは、同じネットワークに接続された前記プロキシサーバから返された前記第１の信号が、その受信バッファの残り容量が０であることを示したときに、定期的に、前記プロキシサーバに、その受信バッファの残り容量があるか否かを問い合わせる第２の信号を送信し、
前記通信ノードは、前記データを送信してから、前記第１の時間が経過する前に、前記第１の信号が前記通信ノードに返されたとき以外に、前記通信ノードがデータを再送する
機能を有し、
前記プロキシサーバは、同じネットワークに接続された前記通信ノードからデータを受信したときに、前記第１の信号の送信を、前記第１の時間より短い第２の時間だけ遅らせて、この通信ノードに返す
データ伝送システム。
【請求項２】
予め決められた第１のデータ伝送速度の伝送路と、
前記伝送路を介して接続され、前記第１のデータ伝送速度よりも速い第２のデータ伝送速度の複数のネットワークと、
前記ネットワークそれぞれに１つ以上、接続された複数の通信ノードと、
前記ネットワークの１つ以上に接続され、同じネットワークを介して接続された前記通信ノードから、伝送されるデータを構成するデータセグメントを受信して受信バッファに記憶し、この通信ノードと、他のネットワークの通信ノードとの間で、予め決められたプロトコルを代理してデータ伝送を実行するプロキシサーバと
を有するデータ伝送システムであって、
前記プロトコルにおいて、
前記プロキシサーバは、同じネットワークに接続された通信ノードから前記データセグメントを受信したときに、この通信ノードに対して、このデータセグメントを受信したことを示す第１の信号を通信相手の通信ノードに返し、
前記通信ノードは、送信した全ての前記データセグメントに対応する全ての前記第１の信号を受けたときに、一度に送信する前記データのデータ量を増やし、これ以外のときには、前記データのデータ量を減らす
機能を有し、
前記プロキシサーバは、前記受信バッファの残り容量が、予め決められた値よりも多いときにのみ、前記データセグメントを送信した通信ノードに対して、前記第１の信号を返す
データ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のプロトコル、例えば、ＴＣＰ(Transmission Control Protocol)によりデータの通信を行うデータ通信システムに関する。
【背景技術】
【０００２】
例えば、特許文献１は、２つの有線通信ネットワーク間で、無線通信路を介してたデータ通信を行うシステムが開示されている。
しかしながら、一般に、有線通信ネットワークにおけるデータの伝送速度は、これらの間を接続する無線通信路の伝送速度よりも大きく、無線通信路が、このようなシステムにおけるボトルネックとなってしまうことがある。
【特許文献１】特会２００５−３４８２３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本願発明は、上述のような背景からなされたものであって、ネットワーク間を、これらのネットワークにおけるよりもデータ伝送速度が低い通信回線で接続して、ＴＣＰによりデータ伝送を行うときに、ＴＣＰに起因する伝送効率の低下を防ぐように改良された通信システムを低供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本願にかかる第１のデータ通信システムは、予め決められた第１のデータ伝送速度の伝送路と、前記伝送路を介して接続され、前記第１のデータ伝送速度よりも速い第２のデータ伝送速度の複数のネットワークと、前記ネットワークそれぞれに１つ以上、接続された複数の通信ノードと、前記ネットワークの１つ以上に接続され、同じネットワークを介して接続された前記通信ノードからデータを受信して受信バッファに記憶し、この通信ノードと、他のネットワークの通信ノードとの間で、予め決められたプロトコルを代理してデータ伝送を実行するプロキシサーバとを有するデータ伝送システムであって、前記プロトコルにおいて、前記プロキシサーバは、同じネットワークに接続された通信ノードからデータを受信したときに、この通信ノードに対して、このデータを受信したことと、前記受信バッファの残り容量を示す第１の信号を通信相手の通信ノードに返し、前記通信ノードは、予め決められた第１の時間が経過する前に、前記第１の信号を受けると、次のデータを前記プロキシサーバに送信し、前記通信ノードは、同じネットワークに接続された前記プロキシサーバから返された前記第１の信号が、その受信バッファの残り容量が０であることを示したときに、定期的に、前記プロキシサーバに、その受信バッファの残り容量があるか否かを問い合わせる第２の信号を送信し、前記通信ノードは、前記データを送信してから、前記第１の時間が経過する前に、前記通信ノードに返されたとき以外に、前記通信ノードがデータを再送する機能を有し、前記プロキシサーバは、同じネットワークに接続された前記通信ノードからデータを受信したときに、前記第１の信号の送信を、前記第１の時間より短い第２の時間だけ遅らせて、この通信ノードに返す。
【０００５】
また、本願にかかる第２のデータ伝送システムは、予め決められた第１のデータ伝送速度の伝送路と、前記伝送路を介して接続され、前記第１のデータ伝送速度よりも速い第２のデータ伝送速度の複数のネットワークと、前記ネットワークそれぞれに１つ以上、接続された複数の通信ノードと、前記ネットワークの１つ以上に接続され、同じネットワークを介して接続された前記通信ノードから、伝送されるデータを構成するデータセグメントを受信して受信バッファに記憶し、この通信ノードと、他のネットワークの通信ノードとの間で、予め決められたプロトコルを代理してデータ伝送を実行するプロキシサーバとを有するデータ伝送システムであって、前記プロトコルにおいて、前記プロキシサーバは、同じネットワークに接続された通信ノードから前記データセグメントを受信したときに、この通信ノードに対して、このデータセグメントを受信したことを示す第１の信号を通信相手の通信ノードに返し、前記通信ノードは、送信した全ての前記データセグメントに対応する全ての前記第１の信号を受けたときに、一度に送信する前記データのデータ量を増やし、これ以外のときには、前記データのデータ量を減らす機能を有し、前記プロキシサーバは、前記受信バッファの残り容量が、予め決められた値よりも多いときにのみ、前記データセグメントを送信した通信ノードに対して、前記第１の信号を返す。
【０００６】
また、本願にかかる第３のデータ伝送システムは、予め決められた第１のデータ伝送速度の伝送路と、前記伝送路を介して接続され、前記第１のデータ伝送速度よりも速い第２のデータ伝送速度の複数のネットワークと、前記ネットワークそれぞれに１つ以上、接続された複数の通信ノードと、前記ネットワークの１つ以上に接続され、同じネットワークを介して接続された前記通信ノードから伝送されるデータを構成するデータセグメントを受信して受信バッファに記憶し、この通信ノードと、他のネットワークの通信ノードとの間で、予め決められたプロトコルを代理してデータ伝送を実行するプロキシサーバとを有するデータ伝送システムであって、前記プロトコルにおいて、前記プロキシサーバは、同じネットワークに接続された通信ノードからデータセグメントを受信したときに、この通信ノードに対して、このデータセグメントを受信したことと、前記受信バッファの残り容量を示す第１の信号を通信相手の通信ノードに返し、前記通信ノードは、予め決められた第１の時間が経過する前に、前記第１の信号を受けると、次のデータセグメントを前記プロキシサーバに送信し、前記通信ノードは、同じネットワークに接続された前記プロキシサーバから返された前記第１の信号が、その受信バッファの残り容量が０であることを示したときに、定期的に、前記プロキシサーバに、その受信バッファの残り容量があるか否かを問い合わせる第２の信号を送信し、前記通信ノードは、前記データセグメントを送信してから、前記第１の時間が経過する前に、前記通信ノードに返されたとき以外に、前記通信ノードがデータセグメントを再送し、前記通信ノードは、送信した全ての前記データセグメントに対応する全ての前記第１の信号を受けたときに、一度に送信する前記データのデータ量を増やし、これ以外のときには、前記データのデータ量を減らす機能を有し、前記プロキシサーバは、同じネットワークに接続された前記通信ノードからデータセグメントを受信したときに、前記第１の信号の送信を、前記第１の時間より短い第２の時間だけ遅らせて、この通信ノードに返す第１の処理、および、前記プロキシサーバは、前記受信バッファの残り容量が、予め決められた値よりも多いときにのみ、前記データセグメントを送信した通信ノードに対して、前記第１の信号を返す第２の処理、またはこれらのいずれかを行う。
【発明の効果】
【０００７】
本願発明によれば、ネットワーク間を、これらのネットワークにおけるよりもデータ伝送速度が低い通信回線で接続して、ＴＣＰによりデータ伝送を行うときに、ＴＣＰに起因する伝送効率の低下を防ぐことができる。
【発明を実施するための最良の形態】
【０００８】
[本願発明がなされるに至った経緯]
本願発明の説明に先立ち、その理解を助けるために、まず、本願発明がなされるに至った経緯を説明する。
図１は、本願発明が適用されるデータ通信システム１の構成を例示する図である。
図１に示すように、データ通信システム１は、それぞれの内部で、例えば１００Ｍｂｐｓでデータ通信が可能な第１の有線ネットワークシステム１０−１と、第２の有線ネットワークシステム１０−２とが、無線通信装置１８−１，１８−２、および、例えば、９．６ｋｂｐｓでデータ伝送が可能な無線通信路を介して、通信可能に接続されて構成される。
第１の有線ネットワークシステム１０−１には、クライアント装置１４−１〜１４−３、ＴＣＰ透過型のＰｒｏｘｙ（プロキシ）サーバ１６−１が、ネットワーク１２−１を介して接続されて構成される。
有線ネットワークシステム１０−２には、クライアント装置１４−４，１４−５、プロキシサーバ１６−２、および、クライアント装置１４−１〜１４−５からの要求に応じて処理を行い、処理結果を返すサーバ装置２０が、ネットワーク１２−２を介して接続されて構成される。
【０００９】
なお、以下、クライアント装置１４−１〜１４−５など、複数あり得る構成部分のいずれかを特定せずに示すときには、単にクライアント装置１４とも記す。
また、ＣＰＵ、メモリ、入出力装置および通信装置などから構成され、プログラム（図示せず）をこれらのハードウェアを具体体に利用して実行し、情報処理を行い、他の装置と、有線通信回線（ネットワーク１２）または無線通信路を介して通信を行いうるクライアント装置１４、無線通信装置１８およびサーバ装置２０を、通信ノードと総称することがある。
データ通信システム１は、これらの構成部分により、２つの有線ネットワークシステム１０それぞれの中に閉じたデータ通信、または、２つの有線ネットワークシステム１０の間でノード間のデータ通信を実現する。
【００１０】
図２は、図１に示したプロキシサーバ１６の第１の動作例を示す図である。
図２に示した場合においては、例えば、有線ネットワークシステム１０−１において、プロキシサーバ１６−１は、クライアント装置１４から、サーバ装置２０へのデータセグメントを受けるたびに、クライアント装置１４へＡＣＫ(Acknowledge)セグメントを応答する。
なお、上記データセグメントは、クライアント装置１４およびサーバ装置２０の輻輳バッファ（図示せず）に、プロキシサーバ１６への送信のために格納されたデータが分割されたものであって、全てのデータセグメントの集合が、１つのデータを構成する。
同様に、図２に示した場合においては、例えば、有線ネットワークシステム１０−２において、プロキシサーバ１６−２は、サーバ装置２０から、有線ネットワークシステム１０−１内のクライアント装置１４へのデータセグメントを受けるたびに、サーバ装置２０へＡＣＫセグメントを応答する。
【００１１】
しかしながら、上述のように、ネットワーク１２内部のデータ伝送速度は１００Ｍｂｐｓであるのに対して、無線通信路のデータ伝送速度は９．６ｋｐｓしかないので、無線通信路は、データ通信システム１におけるデータ伝送のボトルネックとなる。
一方、ＡＣＫセグメントを受けるたびに、クライアント装置１４およびサーバ装置２０は、１００Ｍｂｐｓでプロキシサーバ１６に対してデータセグメントを送信する可能性があるが、プロキシサーバ１６が受けたデータセグメントは、９．６ｋｂｐｓの非常に低速でしか、無線通信路を介して通信相手に伝送されない。
【００１２】
従って、プロキシサーバ１６の受信バッファ（図示せず）はに、次第にデータセグメントが溜まってゆくことになる。
なお、図２に点線の矢印で示したセグメントは、有線ネットワークシステム１０−２のプロキシサーバ１６−１が、サーバ装置２０の代理で送信するＡＣＫセグメントであり、プロキシサーバ１６−２のサーバ装置２０に対して送信されないデータセグメントは、プロキシサーバ１６−１で破棄される。
【００１３】
図３は、図１に示したプロキシサーバ１６が、図２に例示した動作を行うときに、クライアント装置１４またはサーバ装置２０からプロキシサーバ１６に送信されるゼロウィンドウプローブセグメントを例示する図である。
ＴＣＰにおいては、プロキシサーバ１６のウィンドウウサイズ（受信バッファ）により通信フロー制御が行なわれ、プロキシサーバ１６は、ウィンドウウサイズ一杯にデータセグメントが溜まると、図３に「＊」を付して示す期間、クライアント装置１４またはサーバ装置２０に、ウィンドウウサイズ＝０を示すＡＣＫセグメントを送信することになる。
【００１４】
ＴＣＰにおいては、上述のウィンドウウサイズ＝０のＡＣＫセグメントを受けたクライアント装置１４またはサーバ装置２０は、プロキシサーバ１６に、定期的に、ウィンドウウサイズに空きが生じた（回復した）か否かを問い合わせるゼロウィンドウプローブセグメントを送信する。
このゼロウィンドウプローブセグメントには、有効なデータ（実データ）は１バイトしか含まれず、他には、ＩＰ(Internet Protocol)ヘッダと、ＴＣＰヘッダとが合計４０バイト含まれる。
つまり、ゼロウィンドウプローブセグメントの伝送は、１バイトの実データを送るために４０バイトのヘッダデータを用いるので、データ通信システム１の伝送効率を大幅に低めることになる。
【００１５】
有線ネットワークシステム１０に単にプロキシサーバ１６を設けると、ＴＣＰセッションの安定性を確保できる。
一方、上述のように、単にプロキシサーバ１６を設けただけで、何も工夫しないと、データ通信システム１のようなシステムにおいては、無線通信路がボトルネックとなって、プロキシサーバ１６の受信バッファ（ウィンドウサイズ）が空になり、ゼロウィンドウプローブセグメントの伝送が生じる可能性がある。
低速な無線通信路に起因するボトルネックに加えて、このゼロウィンドウプローブセグメントの伝送が生じると、さらに、データ通信システム１全体の伝送効率が低下してしまう
【００１６】
［本願発明にかかる第１の通信方式］
以下、図１に示したデータ通信システム１に、本発明にかかる改良された第１の通信方式を適用する場合を説明する。
データ通信システム１において、プロキシサーバ１６のウィンドウサイズが０にならなければ、クライアント装置１４およびサーバ装置２０からのゼロウィンドウプローブセグメントは発生しない。
プロキシサーバ１６のウィンドウサイズが０にならないようにするには、クライアント装置１４およびサーバ装置２０からのデータセグメントの送信頻度を、ウィンドウサイズが０にならないようにする程度に少なくするように制御すればよい。
本願発明にかかる通信方式は、ＴＣＰに従って、プロキシサーバ１６からクライアント装置１４およびサーバ装置２０へのＡＣＫセグメントの応答時間を制御することにより、クライアント装置１４およびサーバ装置２０からのデータセグメントの送信頻度を制御し、プロキシサーバ１６のウィンドウサイズが０にならないように工夫されている。
【００１７】
ＴＣＰにおいては、受信側（プロキシサーバ１６）からのＡＣＫセグメントを待たずに１度に送信できるデータセグメントのバイト数は、受信側からのＡＣＫセグメントにより示されるウィンドウサイズ、および、送信側（クライアント装置１４・サーバ装置２０）の輻輳ウィンドウサイズ（受信側からのＡＣＫセグメント受信ごとに、送信側が、１度に送信するセグメント数を増やしてゆく動作；図５参照して後述）のいずれか少ない一方と決められる。
送信側は、上述のように決められるバイト数のデータセグメントを送信すると、受信側から返されるＡＣＫセグメントを待つ。
従って、受信側から送信側にＡＣＫセグメントを返す応答時間を長くすることにより、送信側が受信側にデータセグメントを送信する頻度を減らすことができ、その結果、送信側に、データセグメントをゆっくりと受信側に送信させることができる。
【００１８】
図４は、図１に示したプロキシサーバ１６からクライアント装置１４へのＡＣＫセグメントの送信制御を例示する図であって、（Ａ）は、ＡＣＫセグメントの応答時間を制御しない場合を示し、（Ｂ）は、ＡＣＫセグメントの応答時間が長くなるように制御した場合を示す。
図４を参照すると分かるように、（Ａ）に示したＡＣＫセグメントの応答時間を制御しない場合に比べて、（Ｂ）は、ＡＣＫセグメントの応答時間が長くなるように制御した場合の方が、プロキシサーバ１６に溜まるデータセグメントの量が少ない。
【００１９】
しかしながら、ＴＣＰにおいては、受信側から送信側へのＡＣＫセグメントの応答時間を遅らせすぎると、タイムアウトが生じて、送信側から受信側へのデータセグメントの再送制御が行われる。
つまり、ＡＣＫセグメントの応答時間を遅らせすぎると、不要なデータセグメントの再送が行われるので、受信側におけるＡＣＫセグメントの応答時間の遅延は、このようなデータセグメントの再送が生じない範囲とされなければならない。
このタイムアウトが生じる時間は、ＴＣＰにおいて規定されているので、ＡＣＫセグメントの応答時間は、ＴＣＰに規定されたタイムアウトが生じる時間より短く設定されている必要がある。
ＡＣＫセグメントの応答時間は、有線ネットワークシステム１０内部のデータ伝送速度、および、ボトルネックとなる無線通信路のデータ伝送速度を考慮した最適な時間に調整可能とすることが望ましい。
データ通信システム１（図１）に対して、以上説明した本発明にかかる第１の通信方式を適用することにより、ゼロウィンドウプローブセグメントの発生が防止される。
なお、ＡＣＫセグメントの応答時間は、プロキシサーバ１６の受信バッファの残り容量に応じて変更することができる（例えば、残り容量が、予め決められた値を下回ったときに、ＡＣＫセグメントの応答時間を長く変更する）。
【００２０】
［本発明にかかる第２の通信方式］
ＴＣＰにおいては、一度に伝送可能な全てのセグメントの受信側への送信に成功すると、その次の送信側の輻輳ウィンドウのサイズは、２倍に増やされる。
つまり、例えば、ある時点での送信側の輻輳ウィンドウのサイズが２ｋバイトであるときには、送信側は、２ｋバイトのデータを、複数のデータセグメントに分けて、一度に受信側に送信する。
受信側から、送信側が送信した全てのデータセグメントに対するＡＣＫセグメントが返されると、次の送信における送信側の輻輳ウィンドウのサイズは、４ｋバイトに増やされる。
ＴＣＰは、以上説明したように、送信側から受信側への実行伝送レートを、次第に増加させる仕組みを持っている。
【００２１】
しかしながら、一度、輻輳（送信したデータセグメントに損失（ロス）が生じたと判断されたとき）が生じると、受信側の輻輳ウィンドウのサイズは、初期状態の一番少ないデータ量とされる。
つまり、ＴＣＰは、ネットワークが混んでいて、輻輳が生じたときには、送信側から受信側への実行伝送レートを下げる仕組みを有している。
【００２２】
図５は、ＴＣＰにおいて、図１に示したネットワーク１２に輻輳が生じたときに、送信側から受信側への実行伝送レートを下げる制御を例示する図である。
図５に示すように、送信側が送信したデータセグメントが失われることなく、全て受信側に受信され、全てのデータセグメントに対するＡＣＫセグメントが返されている間は、輻輳ウィンドウのサイズは、順次、２倍ずつ大きくされる。
一方、図５に「＊＊」を付したように、送信側が送信したデータセグメントに損失（ロス）が生じ、全てのデータセグメントに対するＡＣＫセグメントが返されなかった時には、送信側の輻輳ウィンドウのサイズは、初期状態に戻される。
【００２３】
以上のようなＴＣＰの機能を利用して、プロキシサーバ１６（受信側）で、ウィンドウサイズの残り容量が、あらかじめ決められた値より少なくなったときに、クライアント装置１４またはサーバ装置２０（送信側）から送られてきたデータセグメントに対するＡＣＫセグメントを送らないように制御する。
この制御により、プロキシサーバ１６は、クライアント装置１４またはサーバ装置２０に、擬似的に、有線ネットワークシステム１０に輻輳が生じたと判断させることができ、これらからプロキシサーバ１６への実行伝送レートを下げることができる。
【００２４】
なお、第１の通信方式においてと同様に、プロキシサーバ１６がクライアント装置１４またはサーバ装置２０に、擬似的に、有線ネットワークシステム１０において輻輳が生じていると判断させるためにＡＣＫセグメントの送信を停止する際の閾値もまた、有線ネットワークシステム１０内部のデータ伝送速度、および、ボトルネックとなる無線通信路のデータ伝送速度を考慮した最適な時間に調整可能とすることが望ましい。
また、第１の通信方式と、第２の通信方式は、適宜、組み合わせてデータ通信システム１に適応することができる。
データ通信システム１（図１）に対して、以上説明した本発明にかかる第２の通信方式を適用することにより、ゼロウィンドウプローブセグメントの発生が防止される。
【産業上の利用可能性】
【００２５】
本発明は、データの伝送のために利用することができる。
【図面の簡単な説明】
【００２６】
【図１】本願発明が適用されるデータ通信システムの構成を例示する図である。
【図２】図１に示したプロキシサーバの第１の動作例を示す図である。
【図３】図１に示したプロキシサーバが、図２に例示した動作を行うときに、クライアント装置またはサーバ装置からプロキシサーバに送信されるゼロウィンドウプローブセグメントを例示する図である。
【図４】図１に示したプロキシサーバからクライアント装置へのＡＣＫセグメントの送信制御を例示する図であって、（Ａ）は、ＡＣＫセグメントの応答時間を制御しない場合を示し、（Ｂ）は、ＡＣＫセグメントの応答時間が長くなるように制御した場合を示す。
【図５】ＴＣＰにおいて、図１に示したネットワーク１２に輻輳が生じたときに、送信側から受信側への実行伝送レートを下げる制御を例示する図である。
【符号の説明】
【００２７】
１・・・データ通信システム，１０・・・有線ネットワークシステム，１２・・・ネットワーク，１４・・・クライアント装置，１６・・・プロキシサーバ，１８・・・無線通信装置，２０・・・サーバ装置，
【図１】
2010130610.tif 000003
【図２】
2010130610.tif 000004
【図３】
2010130610.tif 000005
【図４】
2010130610.tif 000006
【図５】
2010130610.tif 000007