(57)【特許請求の範囲】
【請求項１】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないbyte数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムであって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
前記送信端末は、前記受信端末間の通信経路における使用可能なパケットサイズの最大値以下のパケットサイズを用いて通信を開始する通信開始手段を有し、
通信中にウィンドウサイズを監視する監視手段と、
前記ウィンドウサイズが、所定の値より大きくなる場合には、通信に用いるパケットサイズを変更するパケットサイズ決定手段と、
からなるポリサ制御装置を有する
ことを特徴とする通信システム。
【請求項２】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないバイト数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムであって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
通信に用いるパケットサイズ決定するためのアルゴリズムを有するパケットサイズ決定手段と、設定される値及びパケットサイズリストを格納する記憶手段からなるポリサ制御装置を有し、
前記パケットサイズ決定手段の前記アルゴリズムは、
前記記憶手段に、パケットサイズの初期値をIPv4環境またはIPv6環境に応じて設定する第１のステップと、
前記記憶手段に、ポリシングレート、往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値の初期値を設定する第２のステップと、
前記記憶手段に設定された前記ポリシングレート、前記往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値から求めた値が、所定の条件を満足するかどうかを判定し、満足しなければ第４のステップへ、満足する場合には、第５のステップへと分岐する手順を有する第３のステップと、
前記記憶手段の前記輻輳ウィンドウサイズの最大値を増加させ、前記第３のステップへ進める第４のステップと、
前記輻輳ウィンドウサイズの最大値が所定の値より小さいか判定し、小さければ前記パケットサイズリストに追記する手順と、パケットサイズを任意サイズ増分し、増分後のパケットサイズが、前記送信端末と前記受信端末間の通信経路上で使用可能な最大値よりも小さい範囲であれば前記第２のステップへ進める手順と、増分後のパケットサイズが該送信端末と該受信端末間の通信経路上で使用可能な最大値よりも大きい場合には、第６のステップへ進める手順とを有する第５のステップと、
前記第５のステップで記録された前記パケットサイズリストから任意のパケットサイズを選択し、通信を開始させる第６のステップと、
からなることを特徴とする通信システム。
【請求項３】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないバイト数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムであって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
通信に用いるパケットサイズ決定するためのアルゴリズムを有するパケットサイズ決定手段と、設定される値及びパケットサイズリストを格納する記憶手段からなるポリサ制御装置を有し、
前記パケットサイズ決定手段の前記アルゴリズムは、
前記記憶手段に、パケットサイズの初期値をIPv4環境またはIPv6環境に応じて設定する第１のステップと、
前記記憶手段に、ポリシングレート、往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値の初期値を設定する第２のステップと、
前記記憶手段に設定された前記ポリシングレート、前記往復遅延時間、前記パケット数換算の輻輳ウィンドウサイズの最大値から求めた値が、所定の条件を満足するかどうかを判定し、満足しなければ第４のステップへ、満足する場合には、第５のステップへと分岐する手順を有する第３のステップと、
前記記憶手段の前記輻輳ウィンドウサイズの最大値を増加させ、前記第３のステップへ進める第４のステップと、
前記輻輳ウィンドウサイズの最大値が所定の値より小さいか判定し、大きければ第６のステップへと進める手順と、小さければ前記パケットサイズリストに追記する手順と、パケットサイズを任意サイズ増分し，増分後のパケットサイズが、前記送信端末と前記受信端末間の通信経路上で使用可能な最大値よりも小さい範囲であれば前記第２のステップへ進める手順と、増分後のパケットサイズが該送信端末と該受信端末間の通信経路上で使用可能な最大値よりも大きい場合には、第６のステップへ進める手順とを有する第５のステップと、
前記第５のステップで記録された前記パケットサイズリストから任意のパケットサイズを選択し、通信を開始させる第６のステップと、
からなることを特徴とする通信システム。
【請求項４】
前記送信端末と前記受信端末間の経路上において、該送信端末側のポリシングポイントとなる前記ポリサの手前にTCP(Transmission Control Protocol)コネクションの終端装置を更に備え、
前記TCPコネクションの終端装置は、
TCPフローを識別するための、送信元ＩＰアドレス、宛先ＩＰ，アドレス、送信元ポート番号、宛先ポート番号を関連付けて管理する記憶手段と、
前記送信端末及び前記受信端末とのTCP通信の契機となるSYNパケットを代理受信して、宛先に送信する手段と、
を有する請求項１乃至３のいずれか１項に記載の通信システム。
【請求項５】
前記送信端末と前記受信端末間の経路上において、該送信端末側のポリシングポイントとなる前記ポリサの手前及び該ポリサを経由した箇所にTCP(Transmission Control Protocol)通信をカプセリングするカプセリング装置を更に備え、
前記カプセリング装置は、
カプセリングに用いる通信を、ポリシングレート以下の通信レートとなるUDP(User Datagram Protocol)通信、または、前記パケットサイズ決定手段により決定されたパケットサイズによりTCP通信を、行う手段を有する
請求項１乃至３のいずれか１項に記載の通信システム。
【請求項６】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないbyte数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムにおける通信品質制御方法であって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
前記送信端末は、前記受信端末間の通信経路における使用可能なパケットサイズの最大値以下のパケットサイズを用いて通信を開始し、
パケットサイズを決定するパケットサイズ決定手段を有するポリサ制御装置は、
通信中にウィンドウサイズを監視する監視手順と、
前記ウィンドウサイズが、所定の値より大きくなる場合には、通信に用いるパケットサイズを変更するパケットサイズ決定手順と、
を行うことを特徴とする通信品質制御方法。
【請求項７】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないbyte数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムにおける通信品質制御方法であって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
設定される値及びパケットサイズリストを格納する記憶手段を有するポリサ制御装置は、
通信に用いるパケットサイズ決定するために、前記記憶手段に、パケットサイズの初期値をIPv4環境またはIPv6環境に応じて設定する第１のステップと、
前記記憶手段に、ポリシングレート、往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値の初期値を設定する第２のステップと、
前記記憶手段に設定された前記ポリシングレート、前記往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値から求めた値が、所定の条件を満足するかどうかを判定し、満足しなければ第４のステップへ、満足する場合には、第５のステップへと分岐する手順を有する第３のステップと、
前記記憶手段の前記輻輳ウィンドウサイズの最大値を増加させ、前記第３のステップへ進める第４のステップと、
前記輻輳ウィンドウサイズの最大値が所定の値より小さいか判定し、小さければ前記パケットサイズリストに追記する手順と、パケットサイズを任意サイズ増分し、増分後のパケットサイズが、前記送信端末と前記受信端末間の通信経路上で使用可能な最大値よりも小さい範囲であれば前記第２のステップへ進める手順と、増分後のパケットサイズが該送信端末と該受信端末間の通信経路上で使用可能な最大値よりも大きい場合には、第６のステップへ進める手順とを有する第５のステップと、
前記第５のステップで記録された前記パケットサイズリストから任意のパケットサイズを選択し、通信を開始させる第６のステップと、
を行うことを特徴とする通信品質制御方法。
【請求項８】
パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないbyte数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムにおける通信品質制御方法であって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
設定される値及びパケットサイズリストを格納する記憶手段を有するポリサ制御装置は、
通信に用いるパケットサイズ決定するために、前記記憶手段に、パケットサイズの初期値をIPv4環境またはIPv6環境に応じて設定する第１のステップと、
前記記憶手段に、ポリシングレート、往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値の初期値を設定する第２のステップと、
前記記憶手段に設定された前記ポリシングレート、前記往復遅延時間、前記パケット数換算の輻輳ウィンドウサイズの最大値から求めた値が、所定の条件を満足するかどうかを判定し、満足しなければ第４のステップへ、満足する場合には、第５のステップへと分岐する手順を有する第３のステップと、
前記記憶手段の前記輻輳ウィンドウサイズの最大値を増加させ、前記第３のステップへ進める第４のステップと、
前記輻輳ウィンドウサイズの最大値が所定の値より小さいか判定し、大きければ第６のステップへと進める手順と、小さければ前記パケットサイズリストに追記する手順と、パケットサイズを任意サイズ増分し，増分後のパケットサイズが、前記送信端末と前記受信端末間の通信経路上で使用可能な最大値よりも小さい範囲であれば前記第２のステップへ進める手順と、増分後のパケットサイズが該送信端末と該受信端末間の通信経路上で使用可能な最大値よりも大きい場合には、第６のステップへ進める手順とを有する第５のステップと、
前記第５のステップで記録された前記パケットサイズリストから任意のパケットサイズを選択し、通信を開始させる第６のステップと、
を行うことを特徴とする通信品質制御方法。
【請求項９】
前記ポリサ制御装置は、
前記往復遅延時間RTTを通信前に取得する
請求項７または８記載の通信品質制御方法。
【請求項１０】
前記ポリサ制御装置は、
前記往復遅延時間RTTを通信中に観測して取得する
請求項７または８記載の通信品質制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及び通信品質制御方法に係り、特に、インターネットやイントラネット等のパケット通信ネットワークにおける通信品質制御技術に係り、特に、TCP(Transmission Control Protocol)のようなデータ通信プロトコルの送信レートを最適化してスループットの向上を図るのに好適なTCPパラメータセッティングに関する。
【背景技術】
【０００２】
インターネットに代表されるパケット通信ネットワークでは、複数のユーザがネットワークを共有するため、パケットの転送品質はネットワークの利用状況に依存する。
【０００３】
しかし、近年、DiffServ（Differentiated Services）のようなネットワーク技術により、パケットの転送品質をフロー（送信元と宛先のアドレス情報とポート番号が同じであるパケットをひとまとめにしたもの）単位で保証することが可能になっている。
【０００４】
このDiffServを用いた品質保証（QoS：Quality of Services）技術がある（例えば、特許文献１及び特許文献２参照）。この技術では、ネットワークにおいて品質保証を行うフローに対して平均レートとバーストサイズを規定し、規定を超えるトラヒックについてはエッジルータ（ネットワークの入り口に設置されている装置）においてトラヒックの流入制限を実現するポリシング（超過パケットの廃棄）を行う。市中製品ではポリシングとしてトークンバケットポリサを実装したものが幅広く用いられている。
【０００５】
このような環境における通信では、映像配信や音声通話などの送信レートがほぼ一定のUDP（User Datagram Protocol）通信を行うフローに対しては、送信側での適切な品質保証技術の制御（例えば、特許文献１及び特許文献２参照）によりパケットロスのない転送が可能となる。
【０００６】
しかし、TCPのように送信レートを徐々に増加させ、パケットロスが発生した時点で送信レートを一定割合下げるといった輻輳制御（ウィンドウ制御）機能を持つ通信においては、パケットロスがスループットに及ぼす影響が大きい。
【０００７】
例えば、非特許文献1（「4.1 Simulation results」における第3 段落の記載）等において、特許文献１及び２に記載のような品質保証を行うネットワークでは、ポリシングによりTCPのスループットが規定のレートよりも大幅に低下してしまうという問題が開示されている。
【０００８】
この問題を解決する技術として、例えば、パケットの送信レートを平滑化させるシェーピング技術（例えば、特許文献３参照）がある。このシェーピング技術では、端末から送信されるトラヒックをシェーピング装置に通し、この装置内でトラヒックの送信レートをネットワークのトラヒック規定内に収まるよう平滑化するものである。
【０００９】
しかしシェーピング装置は、ネットワークと送信端末の間に設置する必要があるため、サービスに加入している各ユーザがシェーピング装置を持つ必要がある。シェーピング装置は高価であるため、シェーピング装置を前提とした品質保証ネットワークの利用はコストの面から現実的ではない。
【００１０】
また、例えば、非特許文献２では、TCPとポリシングを組み合わせた場合に生じるTCPの性能劣化を回避するための新たなポリシング機構を提案しているが、ポリシングの本来果たすべきトラヒックの流入制限が、適切な形で行われるかが明確に示されていないうえに、ポリシング機構そのものを改良するアプローチであるため、市中製品に広く実装されている既存のトークンバケットポリサを用いる環境においてTCPスループットの改善を図る手段とはなりえない。また、市中製品として実装が普及していないため、実ネットワークへの適用は困難である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開2004-320489号公報
【特許文献２】特開2005-073106号公報
【特許文献３】特開平06-268671号公報
【非特許文献】
【００１２】
【非特許文献１】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のようなネットワーク技術を使った品質確保ネットワークでは、確保レートを超えるトラヒックはエッジルータのポリシングにより廃棄されるため、TCPのように、パケットロスが発生するたびに送信レートを低下させる通信プロトコルでは、ポリシングによるスループット低下を防ぐために、シェーピング装置を用いる、またはポリシングを新たな機構に置き換える必要があるが、シェーピング装置を用いるためには、サービス加入者がシェーピング装置を用意する必要がある、コスト的に難しいという点や、また、新たなポリシング機構の導入をするために、市中製品に実装されていない機構を実装し、ネットワーク全体を再構築する必要があるなど、通信事業者にとって大きなコスト負担になるという問題がある。
【００１４】
本発明は、上記の点に鑑みなされたもので、ポリシング機能として市中製品で広く用いられているトークンバケットポリサを使用するネットワーク環境下において、TCP通信に用いるパケットサイズを最適に設定することで、スループットを向上させることが可能な通信システム及び通信品質制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記の課題を解決するため、本発明（請求項１）は、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないbyte数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムであって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
前記送信端末は、前記受信端末間の通信経路における使用可能なパケットサイズの最大値以下のパケットサイズを用いて通信を開始する通信開始手段を有し、
通信中にウィンドウサイズを監視する監視手段と、
前記ウィンドウサイズが、所定の値より大きくなる場合には、通信に用いるパケットサイズを変更するパケットサイズ決定手段と、
からなるポリサ制御装置を有することを特徴とする。
【００１６】
また、本発明（請求項２）は、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないバイト数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムであって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
通信に用いるパケットサイズ決定するためのアルゴリズムを有するパケットサイズ決定手段と、設定される値及びパケットサイズリストを格納する記憶手段からなるポリサ制御装置を有し、
前記パケットサイズ決定手段の前記アルゴリズムは、
前記記憶手段に、パケットサイズの初期値をIPv4環境またはIPv6環境に応じて設定する第１のステップと、
前記記憶手段に、ポリシングレート、往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値の初期値を設定する第２のステップと、
前記記憶手段に設定された前記ポリシングレート、前記往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値から求めた値が、所定の条件を満足するかどうかを判定し、満足しなければ第４のステップへ、満足する場合には、第５のステップへと分岐する手順を有する第３のステップと、
前記記憶手段の前記輻輳ウィンドウサイズの最大値を増加させ、前記第３のステップへ進める第４のステップと、
前記輻輳ウィンドウサイズの最大値が所定の値より小さいか判定し、小さければ前記パケットサイズリストに追記する手順と、パケットサイズを任意サイズ増分し、増分後のパケットサイズが、前記送信端末と前記受信端末間の通信経路上で使用可能な最大値よりも小さい範囲であれば前記第２のステップへ進める手順と、増分後のパケットサイズが該送信端末と該受信端末間の通信経路上で使用可能な最大値よりも大きい場合には、第６のステップへ進める手順とを有する第５のステップと、
前記第５のステップで記録された前記パケットサイズリストから任意のパケットサイズを選択し、通信を開始させる第６のステップと、からなることを特徴とする。
【００１７】
また、本発明（請求項３）は、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないバイト数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムであって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
通信に用いるパケットサイズ決定するためのアルゴリズムを有するパケットサイズ決定手段と、設定される値及びパケットサイズリストを格納する記憶手段からなるポリサ制御装置を有し、
前記パケットサイズ決定手段の前記アルゴリズムは、
前記記憶手段に、パケットサイズの初期値をIPv4環境またはIPv6環境に応じて設定する第１のステップと、
前記記憶手段に、ポリシングレート、往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値の初期値を設定する第２のステップと、
前記記憶手段に設定された前記ポリシングレート、前記往復遅延時間、前記パケット数換算の輻輳ウィンドウサイズの最大値から求めた値が、所定の条件を満足するかどうかを判定し、満足しなければ第４のステップへ、満足する場合には、第５のステップへと分岐する手順を有する第３のステップと、
前記記憶手段の前記輻輳ウィンドウサイズの最大値を増加させ、前記第３のステップへ進める第４のステップと、
前記輻輳ウィンドウサイズの最大値が所定の値より小さいか判定し、大きければ第６のステップへと進める手順と、小さければ前記パケットサイズリストに追記する手順と、パケットサイズを任意サイズ増分し，増分後のパケットサイズが、前記送信端末と前記受信端末間の通信経路上で使用可能な最大値よりも小さい範囲であれば前記第２のステップへ進める手順と、増分後のパケットサイズが該送信端末と該受信端末間の通信経路上で使用可能な最大値よりも大きい場合には、第６のステップへ進める手順とを有する第５のステップと、
前記第５のステップで記録された前記パケットサイズリストから任意のパケットサイズを選択し、通信を開始させる第６のステップと、からなることを特徴とする。
【００１８】
また、本発明（請求項４）は、請求項１乃至３の通信システムにおいて、前記送信端末と前記受信端末間の経路上において、該送信端末側のポリシングポイントとなる前記ポリサの手前にTCP(Transmission Control Protocol)コネクションの終端装置を更に備え、
前記TCPコネクションの終端装置は、
TCPフローを識別するための、送信元ＩＰアドレス、宛先ＩＰ，アドレス、送信元ポート番号、宛先ポート番号を関連付けて管理する記憶手段と、
前記送信端末及び前記受信端末とのTCP通信の契機となるSYNパケットを代理受信して、宛先に送信する手段と、を有する。
【００１９】
また、本発明（請求項５）は、請求項１乃至３の通信システムにおいて、前記送信端末と前記受信端末間の経路上において、該送信端末側のポリシングポイントとなる前記ポリサの手前及び該ポリサを経由した箇所にTCP(Transmission Control Protocol)通信をカプセリングするカプセリング装置を更に備え、
前記カプセリング装置は、
カプセリングに用いる通信を、ポリシングレート以下の通信レートとなるUDP(User Datagram Protocol)通信、または、前記パケットサイズ決定手段により決定されたパケットサイズによりTCP通信を、行う手段を有する。
【００２０】
また、本発明（請求項６）は、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないbyte数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムにおける通信品質制御方法であって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
前記送信端末は、前記受信端末間の通信経路における使用可能なパケットサイズの最大値以下のパケットサイズを用いて通信を開始し、
パケットサイズを決定するパケットサイズ決定手段を有するポリサ制御装置は、
通信中にウィンドウサイズを監視する監視手順と、
前記ウィンドウサイズが、所定の値より大きくなる場合には、通信に用いるパケットサイズを変更するパケットサイズ決定手順と、を行うことを特徴とする。
【００２１】
また、本発明（請求項７）は、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないbyte数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムにおける通信品質制御方法であって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
設定される値及びパケットサイズリストを格納する記憶手段を有するポリサ制御装置は、
通信に用いるパケットサイズ決定するために、前記記憶手段に、パケットサイズの初期値をIPv4環境またはIPv6環境に応じて設定する第１のステップと、
前記記憶手段に、ポリシングレート、往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値の初期値を設定する第２のステップと、
前記記憶手段に設定された前記ポリシングレート、前記往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値から求めた値が、所定の条件を満足するかどうかを判定し、満足しなければ第４のステップへ、満足する場合には、第５のステップへと分岐する手順を有する第３のステップと、
前記記憶手段の前記輻輳ウィンドウサイズの最大値を増加させ、前記第３のステップへ進める第４のステップと、
前記輻輳ウィンドウサイズの最大値が所定の値より小さいか判定し、小さければ前記パケットサイズリストに追記する手順と、パケットサイズを任意サイズ増分し、増分後のパケットサイズが、前記送信端末と前記受信端末間の通信経路上で使用可能な最大値よりも小さい範囲であれば前記第２のステップへ進める手順と、増分後のパケットサイズが該送信端末と該受信端末間の通信経路上で使用可能な最大値よりも大きい場合には、第６のステップへ進める手順とを有する第５のステップと、
前記第５のステップで記録された前記パケットサイズリストから任意のパケットサイズを選択し、通信を開始させる第６のステップと、を行うことを特徴とする。
【００２２】
また、本発明（請求項８）は、パケット交換により通信を行うネットワークを介して、受信端末が送信端末からのデータパケットの受信時に受信確認パケットを該送信端末に返信し、該送信端末は送信済みデータのうち、受信確認されていないbyte数をウィンドウサイズ以下に抑えて送信し、該ウィンドウサイズは該受信端末からの受信確認パケットが届く毎に増加する通信システムにおける通信品質制御方法であって、
前記ネットワークにおいて、トラヒック流入制限を行うポリサによりポリシングが適用されている環境において、
設定される値及びパケットサイズリストを格納する記憶手段を有するポリサ制御装置は、
通信に用いるパケットサイズ決定するために、前記記憶手段に、パケットサイズの初期値をIPv4環境またはIPv6環境に応じて設定する第１のステップと、
前記記憶手段に、ポリシングレート、往復遅延時間、パケット数換算の輻輳ウィンドウサイズの最大値の初期値を設定する第２のステップと、
前記記憶手段に設定された前記ポリシングレート、前記往復遅延時間、前記パケット数換算の輻輳ウィンドウサイズの最大値から求めた値が、所定の条件を満足するかどうかを判定し、満足しなければ第４のステップへ、満足する場合には、第５のステップへと分岐する手順を有する第３のステップと、
前記記憶手段の前記輻輳ウィンドウサイズの最大値を増加させ、前記第３のステップへ進める第４のステップと、
前記輻輳ウィンドウサイズの最大値が所定の値より小さいか判定し、大きければ第６のステップへと進める手順と、小さければ前記パケットサイズリストに追記する手順と、パケットサイズを任意サイズ増分し，増分後のパケットサイズが、前記送信端末と前記受信端末間の通信経路上で使用可能な最大値よりも小さい範囲であれば前記第２のステップへ進める手順と、増分後のパケットサイズが該送信端末と該受信端末間の通信経路上で使用可能な最大値よりも大きい場合には、第６のステップへ進める手順とを有する第５のステップと、
前記第５のステップで記録された前記パケットサイズリストから任意のパケットサイズを選択し、通信を開始させる第６のステップと、を行うことを特徴とする。
【００２３】
また、本発明（請求項９）は、請求項７または８の通信品質制御方法において、前記ポリサ制御装置は、前記往復遅延時間RTTを通信前に取得する。
【００２４】
また、本発明（請求項１０）は、請求項７または８の通信品質制御方法において、
前記ポリサ制御装置は、前記往復遅延時間RTTを通信中に観測して取得する
請求項７または８記載の通信品質制御方法。
【発明の効果】
【００２５】
上記のように、本発明によれば、トークンバケットポリサを適用したネットワーク環境において、TCP通信を行う場合に、一律のパケットサイズを用いるのではなく、通信環境に応じて小さなパケットサイズを用いることで、再送タイムアウトの発生を抑止し、スループットの向上を図ることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施の形態におけるトークンパケットポリサを適用したネットワークの構成図である。
【図２】本発明の一実施の形態におけるポリサ制御装置の構成図である。
【図３】パケット廃棄直後に送信に成功するパケット数と再送試行回数の一例である。
【図４】本発明の第１の実施例の動作のフローチャートである。
【図５】本発明の第２の実施例の概要動作のフローチャートである。
【図６】本発明の第２の実施例の輻輳ウィンドウの定常状態の概念図である。
【図７】本発明の第２の実施例のポリサ制御装置の動作のフローチャートである。
【図８】本発明の第３の実施例の概要動作のフローチャートである。
【図９】本発明の第３の実施例のポリサ制御装置の動作のフローチャートである。
【図１０】パケットサイズとTCPスループット（ペイロードのスループット）野関係の一例（ポリシングレート2Mbps,パケットサイズ25fKB, RTT10ms）である。
【図１１】本発明の第３の実施例のパケットサイズとTCPスループット（ヘ゜イロート゛のスループット）の関係の一例（ポリシングレート2Mbps, パケットサイズ25KB, RTT10ms）である。
【図１２】本発明の第４の実施例のシステム構成図である。
【図１３】本発明の第５の実施例のシステム構成図である。
【発明を実施するための形態】
【００２７】
以下図面と共に、本発明の実施の形態を説明する。
【００２８】
図１は、本発明の一実施の形態におけるトークンパケットポリサを適用したネットワークの構成を示す。
【００２９】
同図に示すシステムは、送信端末１０、アクセス回線２０、６０、エッジルータ３０，５０、トークンパケットポリサ４０、受信端末７０、ポリサ制御装置１００から構成され、パケット交換により通信を行う。また、当該ネットワークは、パケットの転送品質をフロー単位で保証するDiffServネットワークである。
【００３０】
受信端末７０は、送信端末１０からデータパケットを受信すると、受信確認パケットを送信端末１０に送信する。
【００３１】
送信端末１０は、送信済みのデータの受信確認パケットの受信を確認し、受信各二音されていないbyte数をウィンドウサイズ以下に抑えて送信する。また、ウィンドウサイズは受信端末７０から受信確認パケットが届く毎に増加するものとする。
【００３２】
Diffservネットワークのエッジルータ３０は、当該ネットワークの入り口に配置され、アクセス回線２０を介して受信した規定を超えるトラヒックについてはトークンパケットポリサ４０を用いてポリシングを行う。
【００３３】
エッジルータ５０は、Diffservネットワークの出口に配置され、受信したパケットをアクセス回線６０を介して受信端末７０に送信する。
【００３４】
ポリサ制御装置１００は、Diffservネットワーク上に配置され、当該ネットワークにおいて、ポリシングが適用されている場合に、パケットサイズを変更する。ポリサ制御装置１００は、図２に示すように、送受信インタフェース（I/F）１１０、監視部１２０、パケットサイズ決定部１３０、記憶部１４０から構成される。
【００３５】
記憶部１４０（メモリ）には、パケットサイズ、ウィンドウサイズの閾値、ポリサ４０から設定されたトークンレート及びパケットサイズ決定部１３０により計算されたウィンドウサイズ等が格納される。
【００３６】
監視部１２０は、輻輳ウィンドウの大きさを監視し、その値が記憶部１４０に格納されている閾値より大きくなる場合には、サイズ決定部１３０に通知する。
【００３７】
サイズ決定部１３０は、通信相手との往復遅延時間（RTT）及びポリサ輻輳ウィンドウの値が所定の値より大きくなる場合は、
（トークンレート）×往復遅延時間÷パケットサイズ
によりウィンドウサイズを求め、小数点を切り捨てた値を３倍し、２を引いた値より大きくなる場合には、パケットサイズを変更し、当該値を記憶部１４０に格納する。
【００３８】
TCP通信では、自律的なウィンドウ制御により、送信側がパケットロスまたは遅延の増加を検知するまで送信レートを増加させる動作を行うため、バーストトラヒックを送出する。そのため、一時的なレート超過を引き起こし、ポリサ４０によるパケット廃棄が発生する。TCPのウィンドウ制御はACKパケット到着を契機として動作するため、パケット廃棄の検知もACKパケット到着を契機として検知される。一方パケット廃棄とACK到着のタイミングには転送遅延による時間差があるため、ポリサ４０によるパケット廃棄が発生した直後でも輻輳ウィンドウは大きいままとなり、ポリサ４０に余剰トークンがない状態でもパケットが次々に送出される。結果としてバースト廃棄となる。
【００３９】
このようにパケットが廃棄されると、TCPは廃棄されたパケットの再転送を試みるが、その再送信の試行回数は、図３に示すように、パケット廃棄直後に転送に成功したパケット数に依存する。これは、往復遅延時間（RTT）の間に補充されるトークン量に相当し、当該ネットワークに設定されたポリシングレート、RTT及び通信に用いるパケットサイズによって決定される。また、パケットの廃棄数は、廃棄が生じたタイミングにおける輻輳ウィンドウの大きさに依存し、大きなウィンドウサイズであれば多くのパケットが廃棄され、小さなウィンドウサイズであれば廃棄パケット数も小さくなる。そのため、再送信の試行回数がパケット廃棄数よりも小さい場合には、パケット廃棄分の再送が完了せず、再送タイムアウトが発生する。
【００４０】
パケット廃棄が発生した際には、トークンを使いきっているため、次の送信タイミングに送信可能なパケット数は、1RTTの間に補充されるトークン量に依存する。また、1RTTの間に補充されるトークン量が一定の場合、パケットサイズが小さいほど、通過可能なパケット数は多くなる。そのため、小さなパケットサイズを用いることで、パケット廃棄直後に転送に成功するパケット数を増やすことができ、前述の通り、再送信の試行回数を増やすことができる。一方、小さなパケットサイズを用いた通信では、パケットヘッダによるオーバーヘッドが大きくなり、ペイロードのスループットが低下するため、より大きなサイズでの通信を行うことが望ましい。
【００４１】
そこで、再送の試行回数がパケット廃棄数よりも大きくなり、再送タイムアウトが発生しないという制約条件を満たすことのできるパケットサイズの中から、できるだけ大きなパケットサイズを通信に用いるパケットサイズを決定することで再送タイムアウトの発生を抑止することができ、かつスループットを最大化することが可能となる。
【００４２】
上記の制約を満足するパケットサイズは、パケットサイズ決定部１３０により以下のように導出される。
【００４３】
TCPではパケット廃棄が生じた際に高速再送信を行う。旧来のTCPでは、この高速再送信の際に、輻輳ウィンドウサイズを半分の大きさにする方式であったが、近年のTCPでは、Rate-Halvingと呼ばれる機構が備わっており、受信側の返却するACKを2つ受信するたびに1つのデータパケットを再送するという動作をする。このような動作を行うことで送信レートを漸次落としていくことが可能になる。
【００４４】
しかし、このRate-Halvingの動作では、２パケットのACK受信に対して１パケットの送出しか行えないため、パケット廃棄直後に送信の成功したパケット数によって、その後再送できる数が依存する再送できるパケット数Nrは、パケット廃棄直後に送信の成功したパケット数をRとおくと、パケット廃棄直前にDelayedACKによりACKされていないパケットがある場合には、2R-1に、パケット廃棄直前にすべてのパケットがACKされている場合には、2Rとなる。
【００４５】
なお、Rはパケットサイズをpkt、トークンレートをBpとおくと、
【００４６】
【数１】
0005506591.tif 000002
で表される。
【００４７】
また、パケット廃棄数Nlossは、パケット廃棄が発生する輻輳ウィンドウをcwndmaxとおくと、DelayedACKで返却されるパケット数が２つのデータパケットに対して１つのACKであること、１つのACKにつき２つのデータパケットを送出すること、1RTT経過するたびにRパケットは損失なく通過できること、直前のウィンドウのすべてのACKを受信するとウィンドウサイズが1増加することに注意すると、
【００４８】
【数２】
0005506591.tif 000003
と表される。
【００４９】
したがって、パケット廃棄の直前のDelayedACKの状態にかかわらずにNr<Nlossが成立するためには、
【００５０】
【数３】
0005506591.tif 000004
が成立することが十分条件となる。
【００５１】
この関係を与えるパケットサイズを用いてTCP通信を行うことで、再送タイムアウトの発生を抑止することができ、スループットが向上する。
【実施例】
【００５２】
以下、図面と共に、本発明の実施例を説明する。
【００５３】
[第１の実施例]
図１において、１０送信端末はアクセス回線２０を通してDiffServネットワークエッジルータ３０に接続している。このエッジルータ３０は、平均レートとバースト量を規定したトークンバケットモデルを用いたトラヒック・ポリシングを実施する。送信端末１０から送られるデータパケットはエッジルータ３０からDiffServネットワークを経由して、通信相手の接続されているエッジルータ５０経由し、受信端末７０に転送される。
【００５４】
送信端末１０および受信端末７０は、通信の開始前もしくは通信中にフローの送信速度をDiffServネットワークに通知し、パケットの転送品質の確保を要求する。送信端末１０が接続されているエッジルータ３０では、この要求を受理した時点で対象となるフローの転送量の監視を行い、許容量を超えるパケットについては廃棄するようにポリシングを実施する。このエッジルータ３０におけるパケット転送量の監視では単位時間当たりの送信量の監視、もしくはトークンバケットメータによる監視を行う。なおフローとは送信元と宛先のアドレス情報とポート番号が同一のパケット群を指す。
【００５５】
図４は、本発明の第１の実施例の動作のフローチャートである。
【００５６】
ステップ１０１）  送信端末１０は、ポリサ制御装置１００に対して、通信レートを通知する。これにより、ポリサ制御装置１００の記憶部１４０は、これを格納する。
【００５７】
ステップ１０２）  また、記憶部１４０は、ネットワークから設定されたポリサパラメータを格納する。
【００５８】
ステップ１０３）  送信端末１０は、受信端末７０との間で通信が可能な任意のパケットサイズを用いて通信を開始する。
【００５９】
ステップ１０４）  通信開始後には、ポリサ制御装置１００の監視部１２０において、通信に用いている輻輳ウィンドウの大きさを監視する。
【００６０】
ステップ１０５）  監視部１２０において、輻輳ウィンドウの値が所定の値（3R-2）以上であるかを判定し、輻輳ウィンドウの値＜3R-2である場合はステップ１０６に移行し、輻輳ウィンドウの値≧3R-2の場合はステップ１０７に移行する。
【００６１】
ステップ１０６）  サイズ決定部１３０においてパケットサイズを変更し、ステップ１０４に移行する。輻輳ウィンドウサイズの閾値3R-2は記憶部１４０に予め格納されているものとする。なお、Rはパケットサイズをpkt、トークンレートをBpとおくと、
【００６２】
【数４】
0005506591.tif 000005
で表される。RTTは往復遅延時間である。
【００６３】
パケットサイズの変更の一例としては、受信端末７０との間で通信が可能な最大のパケットサイズ（MTU）を用いて通信を開始し、通信開始後一定時間経った後でも、ウィンドウサイズが3R-2以上の場合には、一定サイズずつパケットサイズを減少させ、3R-2よりも小さくなるパケットサイズを設定してもよい。
【００６４】
また、別の方法として、パケットサイズを2分の1にするように2分探索して輻輳ウィンドウサイズが3R-2よりも小さくなるようなパケットサイズを設定してもよい。また、上記の方法に限定されるものでもない。
【００６５】
ステップ１０７）  通信終了である場合は当該処理を終了する。
【００６６】
［第２の実施例］
本実施例のポリサ制御装置１００の構成は図２の構成と同様であるが、監視部１２０は、ポリサ４０によるパケット廃棄を監視する。また、記憶部１４０は、TCP通信を行った際に想定される輻輳ウィンドウサイズの最大値cwndmax、パケットサイズの初期値、サイズリスト等を格納する。パケットサイズの初期値は、IPv4環境であれば、４０byte、IPv6環境であれば６０byteとする。パケットサイズ決定部１３０は、後述する手順によりパケットサイズを求める。
【００６７】
図５は、本発明の第２の実施例の概要動作のフローチャートである。
【００６８】
ステップ２００）  送信端末１０は、ポリサ制御装置１００に対して、通信レートを通知する。これにより、ポリサ制御装置１００の記憶部１４０は、これを格納する。
【００６９】
ステップ２１０）  また、記憶部１４０は、ネットワークから設定されたポリサパラメータを格納する。
【００７０】
ステップ２２０）  パケットサイズ決定部１３０は、送信パケットのサイズを決定する。詳細な動作については後述する。
【００７１】
ステップ２３０）  送信端末１０は、受信端末７０との間で通信が可能な任意のパケットサイズを用いて通信を開始する。
【００７２】
ステップ２４０）  通信終了であれば、上記の処理を終了する。
【００７３】
図１の構成において、送信端末１０は、ポリシング環境下におけるTCPの輻輳ウィンドウの遷移を図６のようにモデル化し、ポリシングによりパケット廃棄が発生する。モデル化においては、
（１）ポリサによるパケット廃棄が発生；
（２）高速再送信で輻輳ウィンドウを小さくしながら廃棄パケットの再送；
（３）再送終了後、スロースタート；
（４）輻輳回避フェーズの後ポリサによるパケット廃棄（（１）へ）；
が順番に発生するような定常状態を考える。モデル化にあたり、時間をRTT(Round TripTime)ごとのスロットに区切って考え、各RTTスロットの先頭で送信端末１０がパケットをバースト的に送出することを想定する。
【００７４】
まず、ポリサ４０によるパケット廃棄が発生した際に、廃棄数の最大値は、TCP通信を行った際に想定される輻輳ウィンドウサイズの最大値をcwndmaxとおくと、
【００７５】
【数５】
0005506591.tif 000006
で表される。また高速再送信で送信可能なパケット数Nrは、パケット廃棄直後に送信の成功したパケット数をRとおくと、パケット廃棄直前にDelayedACK(遅延確認応答)によりACK(Acknowledgement)されていないパケットがある場合には、2R-1に、パケット廃棄直前にすべてのパケットがACKされている場合には、2Rとなる。
【００７６】
したがって、上記（１）、（２）から（３）に移行するためには、パケット廃棄の直前のDelayedACKの状態にかかわらずに Nr<Nloss が成立する条件である
【００７７】
【数６】
0005506591.tif 000007
が十分条件となる。
【００７８】
また、上記（３）に移行した際に、パケット廃棄数がパケットの再送に対して最大となるケースである再送終了時に輻輳ウィンドウが２パケット相当になる場合を想定する。実際には、廃棄数がより少ないことも想定されるが、廃棄後の輻輳ウィンドウサイズを小さくすることが、ポリサ廃棄の生じる輻輳ウィンドウを大きくすることにつながり、
Nr < Nloss
を満足するために厳しい条件となるからである。そのため、以降パケット廃棄数Nlossは
【００７９】
【数７】
0005506591.tif 000008
とおく。また、再送にかかる時間Tlossは、TCPの転送レートを半分にするrate-halvingの影響を考慮すると、
【００８０】
【数８】
0005506591.tif 000009
となる。
【００８１】
次にスロースタートフェーズを考える。スロースタートフェーズでは、輻輳ウィンドウが2からcwndmax /2 の間、ACKの受信の度にウィンドウサイズをひとつずつ大きくすることから、スロースタート期間T1は、
【００８２】
【数９】
0005506591.tif 000010
と表され、この間に送信したパケット数N1は、
【００８３】
【数１０】
0005506591.tif 000011
となる。
【００８４】
また、輻輳回避フェーズでは、DelayedACKによりパケット送出が奇数個になることに注意すると、パケット送信数N2 は、
【００８５】
【数１１】
0005506591.tif 000012
と表され、必要とするスロット数T2は、
【００８６】
【数１２】
0005506591.tif 000013
となる
これらの関係式を用いて、以下のようにパケットサイズを決定する。
【００８７】
図７は、本発明の第２の実施例のポリサ制御装置の動作のフローチャートである。
【００８８】
ステップ２２１）  パケットサイズをIPヘッダ、TCPヘッダを含んだ最小値（IPv4環境では40byte、IPv6環境では60byte）に記憶部１４０に設定する。
【００８９】
ステップ２２２）  cwndmaxを2とおく。
【００９０】
ステップ２２３）  上記の式から、Nloss、N1、N2、Tloss、T1、T2を求める。
【００９１】
ステップ２２４）  
【００９２】
【数１３】
0005506591.tif 000014
を満足するか判定する。満足すればステップ２２６に移行し、満足しなければステップ２２５へ移行する。
【００９３】
ステップ２２５）  輻輳ウィンドウサイズの最大値cwndmaxを1増加させ、STEP２２３へ移行する。
【００９４】
ステップ２２６）  輻輳ウィンドウサイズの最大値cwndmaxが3R-2より小さいか判定する。小さければステップ２２７に移行し、そうでなければステップ２２８に移行する。
【００９５】
ステップ２２７）  使用可能なパケットサイズリストに追記する。
【００９６】
ステップ２２８）  パケットサイズが経路上で通信可能な最大値であるMTU（Maximum Transfer Unit）より小さい範囲で、パケットサイズを任意サイズ増分し、ステップ２２２へ移行し、増分後にMTUより大きくなる場合には、ステップ２２９へ移行する。
【００９７】
ステップ２２９）
ステップ２２８で記録された使用可能なパケットサイズリストから任意のパケットサイズを選択し、通信を開始する。
【００９８】
［第３の実施例］
本実施例のポリサ制御装置の構成は第２の実施の形態と同様であるが、パケットサイズ決定部１３０の処理が異なる。
【００９９】
以下に、パケットサイズ決定部１３０の処理を説明する。
【０１００】
図８は、本発明の第３の実施例の概要動作のフローチャートであり、第２の実施例と同様である。
【０１０１】
図９は、本発明の第３の実施例のポリサ制御装置の動作のフローチャートであり、図８のステップ３２０の処理に対応する。
【０１０２】
ステップ３２１）  パケットサイズをIPヘッダ、TCPヘッダを含んだ最小値（IPv4環境では40byte、IPv6環境では60byte）に設定する。
【０１０３】
ステップ３２２）  輻輳ウィンドウサイズの最大値cwndmaxを2とおく
ステップ３２３）  上記の式から、Nloss、N 1、N 2、Tloss、T 1、T 2 を求める。
【０１０４】
ステップ３２４）
【０１０５】
【数１４】
0005506591.tif 000015
を満足するか判定を判定する。満足すればステップ３２６に移行し、満足しなければステップ３２５に移行する。
【０１０６】
ステップ３２５）  輻輳ウィンドウサイズの最大値cwndmaxを1増加させ、ステップ１２へ移行する。
【０１０７】
ステップ３２６）  輻輳ウィンドウサイズの最大値cwndmaxが3R-2より小さいか判定し、大きければステップ３２８へ移行し、小さければステップ３２７に移行する。
【０１０８】
ステップ３２７）  パケットサイズリストに追記する。
【０１０９】
ステップ３２８）  パケットサイズが経路上で通信可能な最大値であるMTU（Maximum Transfer Unit）より小さい範囲で、パケットサイズを任意サイズ増分し、ステップ３２２へ移行し、増分後にMTUより大きくなる場合には、ステップ３２９へ移行する。
【０１１０】
ステップ３２９）  ステップ３２８で記録された使用可能なパケットサイズリストから最大のパケットサイズを選択し、通信を開始する。
【０１１１】
図１０にポリシングレート2Mbps、バケットサイズ25KB、RTT10msの場合のパケットサイズの決定の一例を示す。この条件下では、パケットサイズとして、416byteが選択される。この値は、シミュレーションで再送タイムアウトの発生しないパケットサイズである428byteに近い値となる。また、この条件下で、1500byteのパケットサイズを用いた場合には、約1.21Mbpsとなるが、図１１に示すように、本算出によるパケットサイズを用いた通信を行った場合には、ペイロードのスループットは約1.82Mbpsとなり、スループットの向上が見込める。
【０１１２】
[第４の実施例]
図１２は、本発明の第４の実施例のシステム構成を示す。同図において、図１と同一構成部分には、その符号を付し、その説明を省略する。
【０１１３】
同図に示すシステムは、図１のシステムの構成に終端装置２００を付加した構成である。
【０１１４】
ネットワーク中にポリシングが具備されている環境において、送信端末１０と受信端末７０間の経路上で、送信側のポリシングポイント（ポリサ４０）の手前となる個所にTCPコネクションの終端装置２００を配備し、受信側と新たなTCPセッションを確立する。その際に、再送タイムアウトの発生しないパケットサイズを用いて新たなTCPセッションを継続することで高速な通信を実現する。具体的なパケットサイズの設定方法は、上記の第１〜第３の実施例に示す方法で設定する。
【０１１５】
再送タイムアウトが発生しないパケットサイズを用いるための方法としては、
（１）通信開始後に、送信端末１０が通信中に任意のタイミングで動的にパケットサイ
ズを変更する；
（２）通信開始後に、一定時間間隔でパケットサイズを任意のサイズ減少した値を設定し、パケットサイズとして許容される最大値からある最小値まで変化させ、その中からスループットが最大となるパケットサイズを選択する；
（３）所定時間内に再送タイムアウトが発生した場合には、現在のパケットサイズを変更（例えば、半分のサイズにする）し、所定時間内に再送タイムアウトが発生しない場合には、所定時間内のスループットを算出し、過去に記憶した各パケットサイズのスループットと比較し、過去のスループットよりも高い場合には以降の通信ではそのパケットサイズを用いて通信を継続する、または、再送タイムアウトが発生しない範囲の最大のパケットサイズを選択する；
等の方法がある。
【０１１６】
TCPセッションの確立のため、より具体的には、送信者・受信者間のTCP通信の契機であるSYNパケットを監視し、ネットワーク中の終端装置２００が当該SYNパケットを代理受信し、終端装置２００との新たなセッションを確立するためのSYNパケットを本来の宛先に送信する。また、代理で受信したSYNパケットの応答として、SYNパケットの送信者に、SYN+ACKパケットを送信する。終端装置２００では、本来の宛先と異なるアドレス向けのTCPセッションを管理することが必要になるため、TCPフローの識別を、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号の４つのIDに紐づけて記憶手段にて管理する。また、各フローに用いるパケットサイズを管理する。
【０１１７】
［第５の実施例］
図１３は、本発明の第４の実施例のシステム構成を示す。同図において、図１と同一構成部分には、その符号を付し、その説明を省略する。
【０１１８】
同図に示すシステムは、図１のシステムの送信側と受信側にカプセリング装置３１０，３２０を付加した構成である。
【０１１９】
ネットワーク中にポリシングが具備されている環境において、送信端末と受信端末間の経路上で、送信側のポリシングポイントの手前となる箇所および、ポリシングポイントを経由した個所の２点間に設けられたカプセリング装置３１０，３２０において、送信端末と受信端末間のTCP通信をカプセリングして通信を介し、カプセリングに用いる通信を、ポリシングレート以下の通信レートとなるUDP通信、または、第１〜第３の実施例に示すパケットサイズ決定法によって管理されるTCP通信を行う。
【０１２０】
パケットサイズの決定方法としては、前述の第４の実施例と同様に、
（１）通信開始後に、送信端末１０が通信中に任意のタイミングで動的にパケットサイ
ズを変更する；
（２）通信開始後に、一定時間間隔でパケットサイズを任意のサイズ減少した値を設定し、パケットサイズとして許容される最大値からある最小値まで変化させ、その中からスループットが最大となるパケットサイズを選択する、
（３）所定時間内に再送タイムアウトが発生した場合には、現在のパケットサイズを変更（例えば、半分のサイズにする）し、所定時間内に再送タイムアウトが発生しない場合には、所定時間内のスループットを算出し、過去に記憶した各パケットサイズのスループットと比較し、過去のスループットよりも高い場合には以降の通信ではそのパケットサイズを用いて通信を継続する、または、再送タイムアウトが発生しない範囲の最大のパケットサイズを選択する；
等の方法がある。
【０１２１】
このように、ポリシングレート以下のUDP通信を行うことで、原理的にポリシング廃棄を避けることができる。また、上記の第１〜第３の実施例で設定されるパケットサイズを用いた通信を行うことによって、TCPの再送タイムアウトの発生を抑止し、送信端末・受信端末の条件によらず、TCP通信のスループットを向上することができる。
【０１２２】
なお、上記のポリサ制御装置の動作をプログラムとして構築し、ポリサ制御装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１２３】
また、構築されたプログラムを、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【０１２４】
本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１２５】
１０  送信端末
２０  アクセス回線
３０  エッジルータ
４０  トークンパケットポリサ
５０  エッジルータ
６０  アクセス回線
７０  受信端末
１００  ポリサ制御装置
２００  終端装置
３１０，３２０  カプセリング装置
【図１】
0005506591.tif 000016
【図２】
0005506591.tif 000017
【図３】
0005506591.tif 000018
【図４】
0005506591.tif 000019
【図５】
0005506591.tif 000020
【図６】
0005506591.tif 000021
【図７】
0005506591.tif 000022
【図８】
0005506591.tif 000023
【図９】
0005506591.tif 000024
【図１０】
0005506591.tif 000025
【図１１】
0005506591.tif 000026
【図１２】
0005506591.tif 000027
【図１３】
0005506591.tif 000028