(57)【要約】【課題】トークンバケットポリサを使用するネットワーク環境下においてスループット向上を図ることが可能な通信技術を提供すること。【解決手段】送信端末から網（ポリサコントローラ）にレートを通知し（ステップＳ１０）、網がトークンバケットポリサにポリサパラメータを設定し（ステップＳ１１）、送信端末が前記設定されたポリサパラメータを網と対話することにより知る、または、プリセットされた情報から使用されるポリサパラメータを検索し、該ポリサパラメータから送信パケットサイズを送信端末が決定し（ステップＳ１２）、決定された送信パケットサイズにより通信を開始し（ステップＳ１３）、通信が終了するまでこの通信を繰り返す（ステップＳ１４）。または、通信開始後に、動的にパケットサイズを変更し、スループット向上を図ることができるパケットサイズを決定するようにしてもよい。【選択図】図３
2011166418.tif 000002
【特許請求の範囲】
【請求項１】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを前記送信端末に送信し、該送信端末は前記受信端末からの受信確認パケットが届くごとに一度に複数のパケットを送信し、かつ、受信確認パケットが届くごとに受信確認なしに一度に送信するパケット数を増加させる通信システムにおける通信制御方法であって、
該ネットワークにおいてトラヒック流入制限を行うポリシングが適用されている環境下において、
通信相手との往復遅延時間およびポリサの設定値を利用して、ＴＣＰの再送タイムアウトが発生しないパケットサイズを決定するパケットサイズ決定手順と、
該パケットサイズ決定手順により決定したパケットサイズを適用したＴＣＰ通信を開始する通信開始手順と
を有することを特徴とする通信制御方法。
【請求項２】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを前記送信端末に送信し、該送信端末は前記受信端末からの受信確認パケットが届くごとに一度に複数のパケットを送信し、かつ、受信確認パケットが届くごとに受信確認なしに一度に送信するパケット数を増加させる通信システムにおける通信制御方法であって、
前記ネットワークにおいてトラヒック流入制限を行うポリシングが適用されている環境下において、
通信開始後に、動的にパケットサイズを変更するパケットサイズ変更手段と、
スループット向上を図ることができるパケットサイズを決定するパケットサイズ決定手順と、
該パケットサイズ決定手順により決定したパケットサイズを適用したＴＣＰ通信を開始する通信開始手順と
を有することを特徴とする通信制御方法。
【請求項３】
請求項２記載の通信制御方法において、
設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手順を備え、
前記パケットサイズ変更手順は、一定時間ごとにパケットサイズをその通信環境において許容される最大値から順次減少させる手順であり、
前記パケットサイズ決定手順は、前記スループット測定手順によって一定時間ごとに測定されたスループットの中から最大のスループットが得られるパケットサイズを決定する手順であることを特徴とする通信制御方法。
【請求項４】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを前記送信端末に送信し、該送信端末は前記受信端末からの受信確認パケットが届くごとに一度に複数のパケットを送信し、かつ、受信確認パケットが届くごとに受信確認なしに一度に送信するパケット数を増加させる通信システムであって、
該ネットワークにおいてトラヒック流入制限を行うポリシングが適用されている環境下において、
通信相手との往復遅延時間およびポリサの設定値を利用して、ＴＣＰの再送タイムアウトが発生しないパケットサイズを決定するパケットサイズ決定手段と、
該パケットサイズ決定手段により決定したパケットサイズを適用したＴＣＰ通信を開始する通信開始手段と
を有することを特徴とする通信システム。
【請求項５】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを前記送信端末に送信し、該送信端末は前記受信端末からの受信確認パケットが届くごとに一度に複数のパケットを送信し、かつ、受信確認パケットが届くごとに受信確認なしに一度に送信するパケット数を増加させる通信システムにおいて、
前記ネットワークにおいてトラヒック流入制限を行うポリシングが適用されている環境下において、
通信開始後に、動的にパケットサイズを変更するパケットサイズ変更手段と、
スループット向上を図ることができるパケットサイズを決定するパケットサイズ決定手段と、
該パケットサイズ決定手段により決定したパケットサイズを適用したＴＣＰ通信を開始する通信開始手段と
を有することを特徴とする通信システム。
【請求項６】
請求項５記載の通信システムにおいて、
設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手段を備え、
前記パケットサイズ変更手段は、一定時間ごとにパケットサイズをその通信環境において許容される最大値から順次減少させる手段であり、
前記パケットサイズ決定手段は、前記スループット測定手段によって一定時間ごとに測定されたスループットの中から最大のスループットが得られるパケットサイズを決定する手段であることを特徴とする通信システム。
【請求項７】
請求項５記載の通信システムにおいて、
トークンバケットポリサを適用したネットワークを通るＴＣＰ通信において、
設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手段を備え、
前記パケットサイズ変更手段は、一定時間ごとにパケットサイズを半分にする手段であり、
前記パケットサイズ決定手段は、所定時間以内に再送タイムアウトが発生しない場合には、前記パケットサイズ変更手段により変更されたパケットサイズを設定した場合のスループットの測定を前記スループット測定手段で行い、該測定したスループットが以前に測定された各パケットサイズにおけるスループットよりも大きい場合には当該パケットサイズをスループットが最大となるパケットサイズとし、当該スループットが以前に測定した各パケットサイズにおけるスループットよりも小さい場合には、以前に測定したスループットの最大値を出したパケットサイズおよび２番目に大きいスループットを出したパケットサイズの中間値を新たなパケットサイズとする二分探索法を用いることで、スループットが最大となるパケットサイズを決定する手段であることを特徴とする通信システム。
【請求項８】
請求項５記載の通信システムにおいて、
トークンバケットポリサを適用したネットワークを通るＴＣＰ通信において、
設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手段を備え、
前記パケットサイズ変更手段は、一定時間ごとにパケットサイズをその通信環境において許容される最大値から順次減少させる手段であり、
前記パケットサイズ決定手段は、再送タイムアウトを契機として、前記スループット測定手段によって一定時間ごとに測定されたスループットの中から最大のスループットが得られるパケットサイズを決定する手段であることを特徴とする通信システム。
【請求項９】
請求項５記載の通信システムにおいて、
トークンバケットポリサを適用したネットワークを通るＴＣＰ通信において、
設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手段を備え、
前記パケットサイズ変更手段は、再送タイムアウトを契機として、パケットサイズを半分にする手段であり、
前記パケットサイズ決定手段は、所定時間以内に再送タイムアウトが発生しない場合には、前記パケットサイズ変更手段により変更されたパケットサイズを設定した場合のスループットの測定を前記スループット測定手段で行い、該測定したスループットが以前に測定された各パケットサイズにおけるスループットよりも大きい場合には当該パケットサイズをスループットが最大となるパケットサイズとし、当該スループットが以前に測定した各パケットサイズにおけるスループットよりも小さい場合には、以前に測定したスループットの最大値を出したパケットサイズおよび２番目に大きいスループットを出したパケットサイズの中間値を新たなパケットサイズとする二分探索法を用いることで、スループットが最大となるパケットサイズを決定する手段であることを特徴とする通信システム。
【請求項１０】
コンピュータを、請求項４から９のいずれかに記載の通信システムにおける各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットやイントラネット等のパケット通信ネットワークにおける通信品質制御技術に係り、特に、ＴＣＰ（Transmission Control Protocol）のようなデータ通信プロトコルの送信レートを最適化してスループットの向上を図るのに好適なＴＣＰパラメータセッティング技術に関するものである。
【背景技術】
【０００２】
インターネットに代表されるパケット通信ネットワークでは、複数のユーザがネットワークを共有するため、パケットの転送品質はネットワークの利用状況に依存する。
【０００３】
しかし、近年、DiffServ（Differentiated Services）のようなネットワーク技術により、パケットの転送品質をフロー（送信元と宛先のアドレス情報とポート番号が同じであるパケットをひとまとめにしたもの）単位で保証することが可能になっている。
【０００４】
このDiffServを用いた品質保証（QoS：Quality of Services）技術については、例えば、特許文献１および特許文献２などに記載されたものがある。
【０００５】
これらの従来技術では、ネットワークにおいて品質保証を行うフローに対して平均レートとバーストサイズを規定し、規定を超えるトラヒックについてはエッジルータ（ネットワークの入り口に設置されている装置）においてトラヒックの流入制限を実現するポリシング（超過パケットの廃棄）を行う。市中製品ではポリシングを行うためのトークンバケットポリサ（トークンバケットを用いてポリシングを行うことまたは行うもの）を実装したものが幅広く用いられている（後述する図１参照）。
【０００６】
このような環境における通信では、映像配信や音声通話などの送信レートがほぼ一定のＵＤＰ（User Datagram Protocol）通信を行うフローに対しては、送信側での適切な制御により、特許文献１および特許文献２の品質保証技術によりパケットロスのない転送が可能となる。
【０００７】
しかし、ＴＣＰのように送信レートを徐々に増加させ、パケットロスが発生した時点で送信レートを一定割合下げるといった輻輳制御（ウィンドウ制御）機能を持つ通信においては、パケットロスがスループットに及ぼす影響が大きい。
【０００８】
例えば、非特許文献１（「４.１ Simulation results」における第３段落の記載）等において、特許文献１および２に記載のような品質保証を行うネットワークでは、ポリシングによりＴＣＰのスループットが規定のレートよりも大幅に低下してしまうという問題が提示されている。
【０００９】
この問題を解決する技術として、例えば特許文献３に記載のように、パケットの送信レートを平滑化させるシェーピング技術がある。このシェーピング技術は、端末から送信されるトラヒックをシェーピング装置に通し、この装置内でトラヒックの送信レートをネットワークのトラヒック規定内に収まるよう平滑化するものである。
【００１０】
しかしながら、シェーピング装置は、ネットワークと送信端末の間に設置する必要があるため、サービスに加入している各ユーザがシェーピング装置を持つ必要がある。しかし、シェーピング装置は高価であるため、シェーピング装置を前提とした品質保証ネットワークの利用はコストの面から現実的ではない。
【００１１】
また、例えば非特許文献２では、ＴＣＰとポリシングを組み合わせた場合に生じるＴＣＰの性能劣化を回避するための新たなポリシング機構を提案しているが、ポリシングの本来果たすべきトラヒックの流入制限が、適切な形で行われるかが明確に示されていない上に、ポリシング機構そのものを改良するアプローチであるため、市中製品に広く実装されている既存のトークンバケットポリサを用いる環境においてＴＣＰスループットの改善を図る手段とはなりえない。また、市中製品として実装が普及していないため、実ネットワークへの適用は困難である。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００４−３２０４８９号公報
【特許文献２】特開２００５−０７３１０６号公報
【特許文献３】特開平０６−２６８６７１号公報
【非特許文献】
【００１３】
【非特許文献１】P.P.Mishra, “Effect of Leaky Bucket policing on TCP over ATM performance,” Porc. of IEEE International Conference on Communications (ICC'96), vol.3, pp.1700-1706, 1996.
【非特許文献２】van Haalen, R. , Malhotra, R., “Improving TCP performance with bufferless token bucket policing: A TCP friendly policer,” Local & Metropolitan Area Networks, 2007. LANMAN 2007. 15th IEEE Workshop, pp.72-77, 2007.
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明が解決しようとする課題は、従来の技術、例えば、DiffServのようなネットワーク技術を使った品質確保ネットワークでは、確保レートを超えるトラヒックはエッジルータのポリシングにより廃棄されるため、ＴＣＰのようにパケットロスが発生するたびに送信レートを低下させる通信プロトコルでは、ポリシングによるスループット低下を防ぐために、従来では、シェーピング装置を用いる、または、ポリシングを新たな機構に置き換える必要があるが、シェーピング装置を用いるためには、サービス加入者がシェーピング装置を用意する必要がありコスト的に難しいという点、また、新たなポリシング機構の導入をするために、市中製品に実装されていない機構を実装し、ネットワーク全体を再構築する必要があるなど、通信事業者にとって大きなコスト負担になる点である。
【００１５】
そこで本発明の目的は、これら従来技術の課題を解決し、ポリシング機能として市中製品で広く用いられているトークンバケットポリサを使用するネットワーク環境下において、ＴＣＰ通信のパラメータを最適に設定することで、スループット向上を図ることが可能な通信制御方法および通信システム、ならびにそのためのプログラムを提供することである。
【課題を解決するための手段】
【００１６】
本発明は、上記目的を達成するために、次のような構成を採用した。
ａ）本発明に係る通信制御方法は、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを前記送信端末に送信し、該送信端末は前記受信端末からの受信確認パケットが届くごとに一度に複数のパケットを送信し、かつ、受信確認パケットが届くごとに受信確認なしに一度に送信するパケット数を増加させる通信システムにおける通信制御方法であって、該ネットワークにおいてトラヒック流入制限を行うポリシングが適用されている環境下において、通信相手との往復遅延時間およびポリサの設定値を利用して、ＴＣＰの再送タイムアウトが発生しないパケットサイズを決定するパケットサイズ決定手順と、該パケットサイズ決定手順により決定したパケットサイズを適用したＴＣＰ通信を開始する通信開始手順とを有することを特徴としている。
【００１７】
ｂ）また、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを前記送信端末に送信し、該送信端末は前記受信端末からの受信確認パケットが届くごとに一度に複数のパケットを送信し、かつ、受信確認パケットが届くごとに受信確認なしに一度に送信するパケット数を増加させる通信システムにおける通信制御方法であって、前記ネットワークにおいてトラヒック流入制限を行うポリシングが適用されている環境下において、通信開始後に、動的にパケットサイズを変更するパケットサイズ変更手段と、スループット向上を図ることができるパケットサイズを決定するパケットサイズ決定手順と、該パケットサイズ決定手順により決定したパケットサイズを適用したＴＣＰ通信を開始する通信開始手順とを有することを特徴としている。
【００１８】
ｃ）また、上記通信制御方法において、設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手順を備え、前記パケットサイズ変更手順は、一定時間ごとにパケットサイズをその通信環境において許容される最大値から順次減少させる手順であり、前記パケットサイズ決定手順は、前記スループット測定手順によって一定時間ごとに測定されたスループットの中から最大のスループットが得られるパケットサイズを決定する手順であることを特徴としている。
【００１９】
ｄ）本発明に係る通信システムは、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを前記送信端末に送信し、該送信端末は前記受信端末からの受信確認パケットが届くごとに一度に複数のパケットを送信し、かつ、受信確認パケットが届くごとに受信確認なしに一度に送信するパケット数を増加させる通信システムであって、該ネットワークにおいてトラヒック流入制限を行うポリシングが適用されている環境下において、通信相手との往復遅延時間およびポリサの設定値を利用して、ＴＣＰの再送タイムアウトが発生しないパケットサイズを決定するパケットサイズ決定手段と、該パケットサイズ決定手段により決定したパケットサイズを適用したＴＣＰ通信を開始する通信開始手段とを有することを特徴としている。
【００２０】
ｅ）また、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを前記送信端末に送信し、該送信端末は前記受信端末からの受信確認パケットが届くごとに一度に複数のパケットを送信し、かつ、受信確認パケットが届くごとに受信確認なしに一度に送信するパケット数を増加させる通信システムにおいて、前記ネットワークにおいてトラヒック流入制限を行うポリシングが適用されている環境下において、通信開始後に、動的にパケットサイズを変更するパケットサイズ変更手段と、スループット向上を図ることができるパケットサイズを決定するパケットサイズ決定手段と、該パケットサイズ決定手段により決定したパケットサイズを適用したＴＣＰ通信を開始する通信開始手段とを有することを特徴としている。
【００２１】
ｆ）また、上記通信システムにおいて、設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手段を備え、前記パケットサイズ変更手段は、一定時間ごとにパケットサイズをその通信環境において許容される最大値から順次減少させる手段であり、前記パケットサイズ決定手段は、前記スループット測定手段によって一定時間ごとに測定されたスループットの中から最大のスループットが得られるパケットサイズを決定する手段であることを特徴としている。
【００２２】
ｇ）また、上記通信システムにおいて、トークンバケットポリサを適用したネットワークを通るＴＣＰ通信において、設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手段を備え、前記パケットサイズ変更手段は、一定時間ごとにパケットサイズを半分にする手段であり、前記パケットサイズ決定手段は、所定時間以内に再送タイムアウトが発生しない場合には、前記パケットサイズ変更手段により変更されたパケットサイズを設定した場合のスループットの測定を前記スループット測定手段で行い、該測定したスループットが以前に測定された各パケットサイズにおけるスループットよりも大きい場合には当該パケットサイズをスループットが最大となるパケットサイズとし、当該スループットが以前に測定した各パケットサイズにおけるスループットよりも小さい場合には、以前に測定したスループットの最大値を出したパケットサイズおよび２番目に大きいスループットを出したパケットサイズの中間値を新たなパケットサイズとする二分探索法を用いることで、スループットが最大となるパケットサイズを決定する手段であることを特徴としている。
【００２３】
ｈ）また、上記通信システムにおいて、トークンバケットポリサを適用したネットワークを通るＴＣＰ通信において、設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手段を備え、前記パケットサイズ変更手段は、一定時間ごとにパケットサイズをその通信環境において許容される最大値から順次減少させる手段であり、前記パケットサイズ決定手段は、再送タイムアウトを契機として、前記スループット測定手段によって一定時間ごとに測定されたスループットの中から最大のスループットが得られるパケットサイズを決定する手段であることを特徴としている。
【００２４】
ｉ）また、上記通信システムにおいて、トークンバケットポリサを適用したネットワークを通るＴＣＰ通信において、設定されたパケットサイズにおけるスループットを一定時間ごとに測定するスループット測定手段を備え、前記パケットサイズ変更手段は、再送タイムアウトを契機として、パケットサイズを半分にする手段であり、前記パケットサイズ決定手段は、所定時間以内に再送タイムアウトが発生しない場合には、前記パケットサイズ変更手段により変更されたパケットサイズを設定した場合のスループットの測定を前記スループット測定手段で行い、該測定したスループットが以前に測定された各パケットサイズにおけるスループットよりも大きい場合には当該パケットサイズをスループットが最大となるパケットサイズとし、当該スループットが以前に測定した各パケットサイズにおけるスループットよりも小さい場合には、以前に測定したスループットの最大値を出したパケットサイズおよび２番目に大きいスループットを出したパケットサイズの中間値を新たなパケットサイズとする二分探索法を用いることで、スループットが最大となるパケットサイズを決定する手段であることを特徴としている。
【００２５】
ｊ）本発明に係るプログラムは、コンピュータを、上記通信システムにおける各手段として機能させるためのプログラムである。
【発明の効果】
【００２６】
本発明によれば、トークンバケットポリサを適用したネットワーク環境において、ＴＣＰ通信を行う場合に、小さなパケットサイズを用いることで、スループット向上を図ることが可能な通信制御方法および通信システム、ならびにそのためのプログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、トークンバケットポリサ適用化ネットワークにおけるシステム構成例を示す図である。
【図２】図２は、パケットサイズが１０００byteと２５０byteのときの典型的なＴＣＰの輻輳ウインドウサイズの例を示す図である。
【図３】図３は、実施例１における処理フローチャートを示す図である。
【図４】図４は、パケットサイズとＴＣＰスループット（ペイロードのスループット）の関係の一例を示す図である（ポリシングレート２Ｍbps、バケットサイズ２５ＫＢの場合）。
【図５】図５は、実施例２における処理フローチャートを示す図である。
【図６】図６は、実施例２におけるパケットサイズとＴＣＰスループットの関係の一例を示す図である。
【図７】図７は、実施例３における処理フローチャートを示す図である。
【図８】図８は、実施例４における処理フローチャートを示す図である。
【図９】図９は、実施例５における処理フローチャートを示す図である。
【図１０】図１０は、実施例６における処理フローチャートを示す図である。
【発明を実施するための形態】
【００２８】
＜本発明のポイント＞
ポリシング環境におけるＴＣＰ通信では、輻輳ウインドウの大きさによってパケット廃棄時に再送可能なパケット数の上限が決定されるため、パケットサイズを小さく設定した通信を行うことで輻輳ウインドウサイズを大きくし、ＴＣＰの再送タイムアウトの発生を抑止することでスループットの向上を図る。
【００２９】
＜本発明の意義＞
ＴＣＰ通信では、自律的なウインドウ制御により、送信側がパケットロスまたは遅延の増加を検知するまで送信レートを増加させる動作を行うため、バーストトラヒックを送出する。
【００３０】
そのため、一時的なレート超過を引き起こし、ポリサによるパケット廃棄が発生する。ＴＣＰのウインドウ制御はＡＣＫパケット到着を契機として動作するため、パケット廃棄の検知もＡＣＫパケット到着を契機として検知される。
【００３１】
一方、パケット廃棄とＡＣＫ到着のタイミングには転送遅延による時間差があるため、ポリサによるパケット廃棄が発生した直後でも輻輳ウインドウは大きいままとなり、ポリサに余剰トークンがない状態でもパケットが次々に送出される。結果としてバースト廃棄となる。
【００３２】
このようにパケットが廃棄されると、ＴＣＰは廃棄されたパケットの再転送を試みるが、その再送信の試行回数は、パケット廃棄が生じたタイミングにおける輻輳ウインドウの大きさに依存し、大きなウインドウサイズであれば廃棄パケットの再転送試行回数は多くなり、小さなウインドウサイズであれば廃棄パケットの再転送試行回数は少なくなる。再転送試行回数が廃棄されたパケット数より小さい場合にはパケット再転送に失敗し、再送タイムアウトが発生する。
【００３３】
ＴＣＰの輻輳ウインドウサイズは、多くの実装において、送受信したデータ量ではなく、送受信したパケット数を基準として増加するため、同一のデータ量を送信していても、パケットサイズを小さくすることで、輻輳ウインドウサイズを大きくすることが可能になる。
【００３４】
図２は、パケットサイズが１０００byteと２５０byteのときの典型的なＴＣＰの輻輳ウインドウサイズの例を示す図である。ともに７０００byteの送信量であるが、その輻輳ウインドウサイズは大きく異なり、パケットサイズが２５０byteのときのほうがパケット数換算のウインドウサイズが大きくなる。そのため、バースト廃棄時において再送信可能なパケット数も大きくなる。
【００３５】
本発明では、ポリシング適用下のＴＣＰ通信において、パケットサイズを小さくすることでポリサによる廃棄が生じた際の輻輳ウインドウサイズを大きくし、廃棄パケットの再転送試行回数を増加させることによりスループットの向上を図る。
【００３６】
廃棄パケットの再転送試行回数が少ない場合には再送タイムアウトが発生するケースであっても、試行回数を多くすることで再送タイムアウトが発生しないようにすることができる。
【００３７】
一方、パケットサイズを小さくすることで、ＩＰヘッダやＴＣＰヘッダのオーバーヘッドが大きくなり、ペイロードのスループットは低下する。そのため、ペイロードのスループットを最大化する適切なパケットサイズを選択し、ＴＣＰ通信に適用することが必要となる。
【００３８】
以下、本発明の具体的な実施例を、図面を用いて説明する。
＜実施例１＞
図１は、トークンバケットポリサ適用下のネットワークにおける通信システムの構成例を示す図である。
同図において、１０は送信端末、２０および４０はアクセス回線、３０はDiffServネットワーク、３１および３２はエッジルータ、３１１はトークンバケットポリサ、３３はポリサコントローラ、５０は受信端末を示している。
【００３９】
送信端末１０とポリサコントローラ３３間の点線は直接的な接続ではなく論理的な接続によるシグナリング経路を表している。
【００４０】
原則として，通信開始前は、送信端末１０とポリサコントローラ３３およびトークンバケットポリサ３１１によって処理が行われるが、通信開始後は、送信端末のみによって処理が行われる。
【００４１】
次に、本実施例における処理の概要を説明する。
送信端末１０は、アクセス回線２０を通してDiffServネットワークエッジルータ３１に接続されている。このエッジルータ３１は、平均レートとバースト量を規定したトークンバケットモデルを用いたトラヒック・ポリシングを実施する。
【００４２】
送信端末１０から送られるデータパケットは、エッジルータ３１からDiffServネットワーク３０を経由して、通信相手の接続されているエッジルータ３２経由し、アクセス回線４０を通して受信端末５０に転送される。
【００４３】
送信端末１０および受信端末５０は、通信の開始前もしくは通信中にフローの送信速度をDiffServネットワーク３０に通知し、パケットの転送品質の確保を要求する。
【００４４】
送信端末１０が接続されているエッジルータ３１では、この要求を受理した時点で対象となるフローの転送量の監視を行い、許容量を超えるパケットについては廃棄するようにポリシングを実施する。
【００４５】
このエッジルータ３１におけるパケット転送量の監視では単位時間当たりの送信量の監視、もしくはトークンバケットメータによる監視を行う。なお、「フロー」とは送信元と宛先のアドレス情報とポート番号が同一のパケット群をさす。
【００４６】
送信端末１０は、受信端末５０との往復遅延時間（ＲＴＴ：Round Trip Time）や、トークンバケットポリサ３１１の設定パラメータであるポリシングレートおよびバケットサイズの情報から、予め求めたパケットサイズと想定スループットの関係を記録し、任意のパケットサイズを設定することで受信端末５０との間にＴＣＰフローを確立し、通信を開始する。
【００４７】
次に、実施例１における処理を、フローチャートを用いてより詳細に説明する。
図３は、実施例１における処理フローチャートを示す図である。
【００４８】
まず、送信端末１０から網（DiffServネットワーク）３０のポリサコントローラ３３にレートの通知をする（ステップＳ１０）。網のポリサコントローラ３３はトークンバケットポリサ３１１にポリサパラメータを設定する（ステップＳ１１）。
【００４９】
送信端末１０は、トークンバケットポリサ３１１に設定されたポリサパラメータをポリサコントローラ３３と対話することにより知る、または、プリセットされた情報から使用されるポリサパラメータを検索し、該ポリサパラメータから送信パケットサイズを送信端末１０が決定し（ステップＳ１２）、この決定された送信パケットサイズにより通信を開始し（ステップＳ１３）、通信が終了するまでこれを保持する（ステップＳ１４）。
【００５０】
図４は、パケットサイズとＴＣＰスループット（ペイロードのスループット）の関係の一例を示す図である（ポリシングレート２Ｍbps、バケットサイズ２５ＫＢの場合）。
【００５１】
予めポリシングレートやバケットサイズ（図４の例では、ポリシングレート２Ｍbps、バケットサイズ２５ＫＢ）およびＲＴＴから、パケットサイズと想定スループットの関係を予め求めておき、たとえばスループットを最大化する５５０byteのパケットサイズを指定することが考えられる。
【００５２】
また、スループットを最大化するだけではなく、ネットワークが受け入れるフロー間で公平性を実現するようなパケットサイズを選択するようにしてもよいし、その設定基準はこれらに限定されるものではない。
【００５３】
＜実施例２＞
実施例１の環境において、送信端末１０は受信端末５０との間に通常通りＴＣＰセッションを確立する。このときパケットサイズの初期値として、イーサネット（登録商標）上の通信であればＭＴＵ（Max Transfer Unit）である１５００byteで開始する。本実施例では、通信開始後に、その通信に用いるパケットサイズを変更することを特徴としている。
【００５４】
次に、実施例２における処理を、フローチャートを用いてより詳細に説明する。
図５は、実施例２における処理フローチャートを示す図である。
【００５５】
送信端末１０から網（DiffServネットワーク）３０のポリサコントローラ３３にレートの通知をする（ステップＳ２０）。網のポリサコントローラ３３はトークンバケットポリサ３１１にポリサパラメータを設定する（ステップＳ２１）。送信端末１０はパケットサイズにＭＴＵを設定して（ステップＳ２２）、通信を開始する（ステップＳ２３）。
【００５６】
通信開始後、送信端末１０が通信中に任意のタイミングでパケットサイズを設定し直しながら（変更・維持）通信を継続し、これを通信が終了するまで繰り返す（ステップＳ２４、Ｓ２５）。
【００５７】
図６は、実施例２におけるパケットサイズとＴＣＰスループットの関係の一例を示す図である。
【００５８】
同図に示すように、通信開始時には１５００byteのパケットサイズで通信を行うが、任意のタイミングにおいてパケットサイズを変更する。たとえば、図示のように、通信開始１０秒経過後にパケットサイズを８００byteに、通信開始３０秒後経過後にパケットサイズを２００byteに、通信開始５０秒経過後にパケットサイズを５００byteにすることができる。
【００５９】
＜実施例３＞
実施例１の環境において、送信端末１０は受信端末５０との間に通常通りＴＣＰセッションを確立する。このときパケットサイズの初期値として、イーサネット（登録商標）上の通信であればＭＴＵ（Max Transfer Unit）である１５００byteで開始する。
【００６０】
通信開始後に、一定時間間隔 Ｔ でパケットサイズを任意のサイズ減少した値を設定するとともに、そのパケットサイズを用いた場合のスループットの計測を行い、記憶する。
【００６１】
パケットサイズを許容される最大値から、ある最小値まで変化させ、その中からスループットが最大となるパケットサイズを一つ選択し、以降の通信ではそのパケットサイズを用いて通信を継続する。
【００６２】
次に、実施例３における処理を、フローチャートを用いてより詳細に説明する。
図７は、実施例３における処理フローチャートを示す図である。
【００６３】
まず、送信端末１０から網（DiffServネットワーク）３０のポリサコントローラ３３にレートの通知をする（ステップＳ３０）。網のポリサコントローラ３３はトークンバケットポリサ３１１にポリサパラメータを設定する（ステップＳ３１）。送信端末１０はパケットサイズにＭＴＵを設定して（ステップＳ３２）、通信を開始する（ステップＳ２３）。
【００６４】
通信開始後、送信端末１０が一定時間間隔Ｔ毎にパケットサイズを変更してスループットを計測・記憶する（ステップＳ３４〜Ｓ３６）。送信端末１０は最適なパケットサイズを変更・設定（ステップＳ３７）し、この変更・設定されたパケットサイズにより通信を継続する（ステップＳ３８）。
【００６５】
なお、スループットの計測においては、ＩＰレベルのスループットではなく、ペイロードのスループットを測定する。また、パケットサイズの最小値には、ＩＰパケットヘッダサイズとＴＣＰパケットヘッダサイズを加えた値以上を用いる。
【００６６】
また、減少させるパケットサイズの値は毎回同一の値を用いてもよいし、異なる値を用いてもよい。
【００６７】
＜実施例４＞
実施例１の環境において、送信端末１０は受信端末５０との間に通常通りＴＣＰセッションを確立する。このときパケットサイズの初期値として、イーサネット（登録商標）上の通信であればＭＴＵ（Max Transfer Unit）である１５００byteで開始する。
【００６８】
通信開始後に、一定時間Ｔの間隔で現在のパケットサイズを半分にした値を設定するとともに、その間のスループットの計測を行い、記憶する。所定時間（ここでいう所定時間は、一般的に前記一定時間Ｔとは異なる）内に再送タイムアウトが発生しなくなるまでこれを順番に繰り返し、各パケットサイズにおけるスループットを記憶する。
【００６９】
次に、前記記憶された各パケットサイズにおけるスループットから二分探索法を用いて最適なパケットサイズを取得し、該取得した最適なパケットサイズにより通信を行う。
【００７０】
次に、実施例４における処理を、フローチャートを用いてより詳細に説明する。
図８は、実施例４における処理フローチャートを示す図である。
【００７１】
まず、送信端末１０から網（DiffServネットワーク）３０のポリサコントローラ３３にレートの通知をする（ステップＳ４０）。網のポリサコントローラ３３はトークンバケットポリサ３１１にポリサパラメータを設定する（ステップＳ４１）。送信端末１０はパケットサイズにＭＴＵを設定して（ステップＳ４２）、通信を開始する（ステップＳ４３）。
【００７２】
通信開始後に、送信端末１０は一定時間Ｔの間隔経過毎に（ステップＳ４４：Ｙ）、スループットを計測し、記録する（ステップＳ４５）。所定時間内に再送タイムアウトが発生したら（ステップＳ４６：Ｙ）、現在のパケットサイズを変更した後（本実施例ではパケットサイズを半分にする）、ステップＳ４４に戻る（ステップＳ４７）。
【００７３】
ここで、前記所定時間は、一般的に一定時間Ｔとは異なっており、一定時間Ｔより大きいものとする（等しい場合を許容する）。
【００７４】
所定時間内に再送タイムアウトが発生しない場合（ステップＳ４６：Ｎ）、送信端末１０は、前記記憶された各パケットサイズにおけるスループットから二分探索法を用いて最適なパケットサイズを取得して設定し（ステップＳ４８）、該取得した最適なパケットサイズにより以降の通信を最後まで行う（ステップＳ４９）。
【００７５】
ここで、前記所定時間内に再送タイムアウトが発生しない場合に最適なパケットサイズを取得する方法について具体的に説明する。
【００７６】
前記所定時間内に再送タイムアウトが発生しない場合には、その所定時間のスループットを算出し、過去に記憶した各パケットサイズのスループットと比較する。
【００７７】
再送タイムアウトが発生しない場合のスループットが過去のスループットよりも高い場合には、以降の通信ではそのパケットサイズを用いて通信を継続するようにしてもよいし、パケットサイズを大きくし、再送タイムアウトが発生しない範囲の最大のパケットサイズを探索し、そのパケットサイズを用いた通信を継続するようにしてもよい。
【００７８】
再送タイムアウトが発生しない場合のスループットが、過去のスループットよりも低い場合には、過去に記憶したスループットの上位２つを記録したパケットサイズを用いて、二分探索法によって、スループットが最大となるパケットサイズを決定する。
【００７９】
二分探索法を用いてスループットが最大となるパケットサイズを決定する具体的処理例は、後述する実施例６の処理フローチャート（図１０）のステップＳ７０〜Ｓ７４に示されているので参照されたい。
【００８０】
また、上述した二分探索法の打ち切り条件としては、パケットサイズの差が一定以下あるいは、スループットの差が一定以内を用いるが、これらに限定されるものではない。
【００８１】
＜実施例５＞
実施例１の環境において、送信端末１０は受信端末５０との間に通常通りＴＣＰセッションを確立する。このときパケットサイズの初期値として、イーサネット（登録商標）上の通信であればＭＴＵ（Max Transfer Unit）である１５００byteで開始する。
【００８２】
通信開始後に、再送タイムアウトの発生を契機として、次の再送タイムアウトが発生するまでの間の通信に、現在のパケットサイズから任意のサイズ減少した値を設定するとともに、その間のスループットの計測を行い、記憶する。その中からスループットが最大となるパケットサイズを一つ選択し、以降の通信ではそのパケットサイズを用いて通信を継続する。
【００８３】
なお、本実施例では、再送タイムアウトを契機としてパケットサイズの切り替えを行うことを特徴とするため、同一パケットサイズを用いた通信は、再送タイムアウトが複数回発生する間継続して用いてスループットの計測を行ってもよい。
【００８４】
また、減少させるパケットサイズの値は毎回同一の値を用いてもよいし、異なる値を用いてもよい。
【００８５】
次に、実施例５における処理を、フローチャートを用いてより詳細に説明する。
図９は、実施例５における処理フローチャートを示す図である。
【００８６】
まず、送信端末１０から網（DiffServネットワーク）３０のポリサコントローラ３３にレートの通知をする（ステップＳ５０）。網のポリサコントローラ３３はトークンバケットポリサ３１１にポリサパラメータを設定する（ステップＳ５１）。送信端末１０はパケットサイズにＭＴＵを設定して（ステップＳ５２）、通信を開始する（ステップＳ５３）。
【００８７】
通信開始後に、送信端末１０が、再送タイムアウトの発生を契機として、次の再送タイムアウトが発生するまでの間の通信に、現在のパケットサイズから任意のサイズ変更（減少）した値を設定するとともに、その間のスループットの計測を行い、記憶する（ステップＳ５４〜Ｓ５６）。
【００８８】
記憶された各パケットサイズにおけるスループットの中からスループットが最大となるパケットサイズを一つ選択し、そのパケットサイズを用いて通信を行う。所定時間（ここでいう所定時間は、一般的に前記一定時間Ｔとは異なる）内に再送タイムアウトが発生しなくなる（ステップＳ５４：Ｎ）まで、これらの処理を繰り返す。通信が終了するまで上記ステップＳ５４〜Ｓ５６の処理を繰り返す（ステップＳ５７）。
【００８９】
＜実施例６＞
実施例１の環境において、送信端末１０は受信端末５０との間に通常通りＴＣＰセッションを確立する。このときパケットサイズの初期値として、イーサネット（登録商標）上の通信であればＭＴＵ（Max Transfer Unit）である１５００byteで開始する。
【００９０】
通信開始後に、再送タイムアウトの発生を契機として、次の再送タイムアウトが発生するまでの間の通信に、現在のパケットサイズを半分にした値を設定するとともに、その間のスループットの計測を行い、記憶する。所定時間内に再送タイムアウトが発生しなくなるまでこれを順番に繰り返し、各パケットサイズにおけるスループットを記憶する。
【００９１】
前記所定時間内に再送タイムアウトが発生しない場合には、その所定時間のスループットを算出し、過去に記憶した各パケットサイズのスループットと比較する。再送タイムアウトが発生しない場合のスループットが過去のスループットよりも高い場合には、以降の通信ではそのパケットサイズを用いて通信を継続する。
【００９２】
再送タイムアウトが発生しない場合のスループットが、過去のスループットよりも低い場合には、過去に記憶したスループットの上位２つを記録したパケットサイズを用いて、二分探索法によって、スループットが最大となるパケットサイズを決定する。
【００９３】
なお、本実施例では、再送タイムアウトを契機としてパケットサイズの切り替えを行うことを特徴とするため、同一パケットサイズを用いた通信は、再送タイムアウトが複数回発生する間継続して用いてスループットの計測を行ってもよい。
【００９４】
次に、実施例６における処理を、フローチャートを用いてより詳細に説明する。
図１０は、実施例６における処理フローチャートを示す図である。
【００９５】
まず、送信端末１０から網のポリサコントローラ３３にレートの通知をする（ステップＳ６０）。網のポリサコントローラ３３はトークンバケットポリサ３１１にポリサパラメータを設定する（ステップＳ６１）。送信端末１０はパケットサイズにＭＴＵを設定して（ステップＳ６２）、通信を開始する（ステップＳ６３）。
【００９６】
通信開始後に、送信端末１０が、再送タイムアウトの発生を契機として、次の再送タイムアウトが発生するまでの間の通信に、現在のパケットサイズを半分にしたサイズを設定するとともに、その間のスループットの計測を行い、記憶する（ステップＳ６４〜Ｓ６６）。
【００９７】
前記所定時間内に再送タイムアウトが発生しない場合には（ステップＳ６４：Ｎ）、その所定時間のスループットを算出し（ステップＳ６７）、過去に記憶した各パケットサイズのスループットと比較する（ステップＳ６８）。
【００９８】
再送タイムアウトが発生しない場合のスループットが過去に記録したスループットよりも高い場合には（ステップＳ６８：Ｙ）、以降の通信ではそのパケットサイズを用いて通信を継続する（ステップＳ６９）。
【００９９】
再送タイムアウトが発生しない場合のスループットが、過去のスループットよりも低い場合には（ステップＳ６８：Ｎ）、過去に記憶したスループットの上位２つを記録したパケットサイズを用いて、二分探索法によって、スループットが最大となるパケットサイズを決定する（ステップＳ７０〜Ｓ７４）。
【０１００】
ステップＳ７０〜Ｓ７４の二分探索法の詳細を説明すると、再送タイムアウトが発生しない場合のスループットが、過去のスループットよりも低い場合には（ステップＳ６８：Ｎ）、スループットの最上位の値Ｔｈ１と第２位の値Ｔｈ２、それを与えるパケットサイズＰ１，Ｐ２に対して、Ｐ＝（Ｐ１＋Ｐ２）／２のパケットサイズを算出し、このパケットサイズにおけるスループットを計測・記録する（ステップＳ７１）。
【０１０１】
次に、パケットサイズ変更打ち切り条件（後述）に合致していない場合は（ステップＳ７２：Ｎ）、パケットサイズをＰ’を（Ｐ１＋Ｐ）／２に変更し（ステップＳ７３）、スループットを計測し、スループットの最上位の値Ｔｈ１と第２位の値Ｔｈ２と、それを与えるパケットサイズＰ１，Ｐ２を更新した後（ステップＳ７４）、ステップＳ７２に戻る。
【０１０２】
パケットサイズ変更打ち切り条件に合致した場合は（ステップＳ７２：Ｙ）、そのときのパケットサイズにより通信を継続する（ステップＳ７５）。
【０１０３】
なお、上述した二分探索法のパケットサイズ変更打ち切り条件としては、パケットサイズの差が一定以下、あるいは、スループットの差が一定以内を用いるが、これらに限定されるものではない。
【０１０４】
なお、図3、図5、図7、図8、図9、図１０のフローチャートを用いて説明した送信端末としての通信装置が行う処理は、送信端末を構成するコンピュータに内蔵されるＣＰＵやメモリ、レジスタなどのハードウェアを用いて各処理に対応するプログラムを実行することにより実現される。また、これら各処理に対応するプログラムは、ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤなどの記録媒体や、インターネットなどのネットワークを介して市場に流通させることができる。
【符号の説明】
【０１０５】
１０：送信端末
２０：アクセス回線
３０：DiffServネットワーク
３１，３２：エッジルータ
３１１：トークンバケットポリサ
３３：ポリサコントローラ
４０：アクセス回線
５０：受信端末
【図１】
2011166418.tif 000003
【図２】
2011166418.tif 000004
【図３】
2011166418.tif 000005
【図４】
2011166418.tif 000006
【図５】
2011166418.tif 000007
【図６】
2011166418.tif 000008
【図７】
2011166418.tif 000009
【図８】
2011166418.tif 000010
【図９】
2011166418.tif 000011
【図１０】
2011166418.tif 000012