(57)【要約】【課題】データ通信の効率の低下を防ぐパケット処理装置を提供すること。【解決手段】パケット処理装置１００は、パケットをクライアント３０に送信してから、そのパケットに対応する確認応答を受け取るまでの時間をパケットの往復遅延時間として推定し、パケットに分けられて連続してクライアント３０に送信されるデータのサイズを決定し、そのデータのサイズおよび往復遅延時間に応じて、クライアント３０に送信するパケットの送信レートを更新する。【選択図】図１
2014220621.tif 000002
【特許請求の範囲】
【請求項１】
送信側装置（１０）からパケットを順次受け取り、該パケットを受信側装置（３０）に送信するパケット処理装置（１００）が行うパケット処理方法であって、
前記受信側装置へ送信したパケットに対応して該受信側装置が送信する確認応答を受け取る応答受取処理（Ｓ６０）と、
前記受信側装置へ前記パケットを送信してから、該パケットに対応する前記確認応答を前記受信側装置から受け取るまでの時間をパケットの往復遅延時間として推定する往復遅延時間推定処理（Ｓ６０）と、
前記パケットに分けられて前記受信側装置に連続して送信されるデータのサイズを決定するサイズ決定処理（Ｓ７０）と、
前記サイズ決定処理で決定された前記データのサイズおよび前記往復遅延時間推定処理で推定された往復遅延時間に応じて、前記受信側装置に送信するパケットの送信レートを更新する送信レート更新処理（Ｓ８０）と、
前記送信レート更新処理で更新された送信レートで前記パケットを均一な時間間隔で前記受信側装置に送信する送信処理（Ｓ９０）と、
を含むことを特徴とするパケット処理方法。
【請求項２】
前記往復遅延時間推定処理は、前記受信側装置から前記パケット処理装置に前記確認応答が受け取られるたびに、行われることを特徴とする請求項１に記載のパケット処理方法。
【請求項３】
前記サイズ決定処理は、前記応答受取処理で受信された前記確認応答の受取状況に応じて、前記データのサイズを増減させることを特徴とする請求項１または２に記載のパケット処理方法。
【請求項４】
送信側装置（１０）からパケットを順次受け取り、該パケットを受信側装置（３０）に送信するパケット処理装置（１００）であって、
前記受信側装置へ送信したパケットに対応して該受信側装置が送信する確認応答を受け取る応答受取部（１３０）と、
前記受信側装置へ前記パケットを送信してから、該パケットに対応する前記確認応答を前記受信側装置から受け取るまでの時間をパケットの往復遅延時間として推定する往復遅延時間推定部（１５０）と、
前記パケットに分けられて前記受信側装置に連続して送信されるデータのサイズを決定するサイズ決定部（１６０）と、
前記サイズ決定部で決定された前記データのサイズおよび前記往復遅延時間推定部で推定された往復遅延時間に応じて、前記受信側装置に送信するパケットの送信レートを更新する送信レート更新部（１７０）と、
前記送信レート更新部で更新された送信レートで前記パケットを均一な時間間隔で前記受信側装置に送信する送信部（１２０）と、
を含むことを特徴とするパケット処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット処理方法及びパケット処理装置に関する。
【背景技術】
【０００２】
ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）のプロトコルに基づいて送信データを送信する場合、送信データを送信側装置でパケット化し、そのパケットを受信側装置に送信する。非特許文献１には、ＴＣＰ／ＩＰのプロトコルに基づいて送信データを送信する時に、輻輳を回避するために用いられる輻輳制御アルゴリズムの一例としてＣＵＢＩＣが示されている。
【０００３】
ＣＵＢＩＣは、送信側装置が受信側装置からの確認応答を待たずに連続して送れるデータのサイズを制御する。
【０００４】
ＣＵＢＩＣを用いる送信側装置は、パケットの廃棄が発生したときに、確認応答を待たずに連続して送れるデータのサイズを小さくし、パケットの廃棄が最後に発生してからの経過時間が短いときには、確認応答を待たずに連続して送れるデータのサイズをその経過時間に対して指数関数的に大きく増加させ、確認応答を待たずに連続して送れるデータのサイズが飽和点に近くなる時点で、確認応答を待たずに連続して送れるデータのサイズの増加をほぼ０に設定し、さらに時間が経過すると、再び確認応答を待たずに連続して送れるデータのサイズをゆっくり増加させる。
【０００５】
即ち、ＣＵＢＩＣを用いる送信側装置は、連続して送れるデータのサイズを制御してデータ通信のトラフィックを制御し、輻輳の回避を図っている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Lisong Xu著「CUBIC:A new TCP-Friendly High-Speed TCP Variant」ACM SIGOPS Operating System Review, Volume 42, Issue 5, July 2008、 p.64-74
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように、ＣＵＢＩＣを利用したトラフィック制御方法は、確認応答を待たずに連続して送れるデータのサイズを変化させるので、トラフィックが制御される。しかしながら、このトラフィック制御方法は、確認応答を待たずに連続して送れるデータのサイズを制限するだけなので、瞬間的なバーストが繰り返して発生する。瞬間的なバーストでは、パケット廃棄等が発生する確率が高いので、パケットの廃棄により、パケットの再送が起きて送信レートが低下する。つまり、ＣＵＢＩＣを利用したトラフィック制御方法は、送信データのデータ送信の効率が低くなる可能性が高いという問題があった。
【０００８】
本発明は、上述のような従来の問題を解決するためになされたもので、送信データのデータ通信の効率の低下を防ぐことができるパケット処理方法及びパケット処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のパケット処理方法は、送信側装置（１０）からパケットを順次受け取り、該パケットを受信側装置（３０）に送信するパケット処理装置（１００）が行うパケット処理方法であって、前記受信側装置へ送信したパケットに対応して該受信側装置が送信する確認応答を受け取る応答受取処理（Ｓ６０）と、前記受信側装置へ前記パケットを送信してから、該パケットに対応する前記確認応答を前記受信側装置から受け取るまでの時間をパケットの往復遅延時間として推定する往復遅延時間推定処理（Ｓ６０）と、前記パケットに分けられて前記受信側装置に連続して送信されるデータのサイズを決定するサイズ決定処理（Ｓ７０）と、前記サイズ決定処理で決定された前記データのサイズおよび前記往復遅延時間推定処理で推定された往復遅延時間に応じて、前記受信側装置に送信するパケットの送信レートを更新する送信レート更新処理（Ｓ８０）と、前記送信レート更新処理で更新された送信レートで前記パケットを均一な時間間隔で前記受信側装置に送信する送信処理（Ｓ９０）と、を含む構成にしている。
【００１０】
この構成により、本発明のパケット処理方法では、パケット処理装置から受信側装置へ送信するパケットの送信レートが、サイズ決定処理で決定されたデータのサイズ及び往復遅延時間推定処理で推定された往復遅延時間に応じて更新され、その更新された送信レートでパケットが均一な時間間隔で受信側装置に送信される。
【００１１】
更新された送信レートで、パケットが均一な時間間隔で受信側装置に送信されるため、パケットの輻輳が回避され、パケット廃棄等の発生する確率が抑制され、バケットの再送により送信レートが低下することが抑制される。
【００１２】
なお、前記往復遅延時間推定処理は、前記受信側装置から前記パケット処理装置に前記確認応答が受け取られるたびに、行われてもよい。
【００１３】
この方法により、パケットの送信レートを常に最新の通信状況に応じたものとすることができる。
【００１４】
また、前記サイズ決定処理は、前記応答受取処理で受信された前記確認応答の受取状況に応じて、前記データのサイズを増減させてもよい。
【００１５】
この方法により、トラフィックの状況で確認応答の受取状況が変化しても、その変化に応じて、データのサイズが増減されるので、トラフィックに応じたパケットの送信速度を確保できる。
【００１６】
本発明のパケット処理装置は、送信側装置（１０）からパケットを順次受け取り、該パケットを受信側装置（３０）に送信するパケット処理装置（１００）であって、前記受信側装置へ送信したパケットに対応して該受信側装置が送信する確認応答を受け取る応答受取部（１３０）と、前記受信側装置へ前記パケットを送信してから、該パケットに対応する前記確認応答を前記受信側装置から受け取るまでの時間をパケットの往復遅延時間として推定する往復遅延時間推定部（１５０）と、前記パケットに分けられて前記受信側装置に連続して送信されるデータのサイズを決定するサイズ決定部（１６０）と、前記サイズ決定部で決定された前記データのサイズおよび前記往復遅延時間推定部で推定された往復遅延時間に応じて、前記受信側装置に送信するパケットの送信レートを更新する送信レート更新部（１７０）と、前記送信レート更新部で更新された送信レートで前記パケットを均一な時間間隔で前記受信側装置に送信する送信部（１２０）と、を含むことを特徴とする。
【００１７】
本発明のパケット処理装置では、パケット処理装置から受信側装置へ送信するパケットの送信レートが、サイズ決定部で決定されたデータのサイズ及び往復遅延時間推定部で推定された往復遅延時間に応じて更新され、その更新された送信レートでパケットが均一な時間間隔で受信側装置に送信される。
【００１８】
更新された送信レートで、パケットが均一な時間間隔で受信側装置に送信されるため、送信データの輻輳が回避され、パケット廃棄等の発生する確率が抑制され、バケットの再送により送信レートが低下することが抑制される。
【発明の効果】
【００１９】
本発明によれば、データ通信の効率の低下を防ぐパケット処理方法及びパケット処理装置を提供できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態のパケット処理装置とサーバ及びクライアントとを示す図である。
【図２】本発明の実施の形態のパケット処理装置を示すブロック図である。
【図３】パケット処理方法を示すフローチャートである。
【図４】本発明の実施の形態のパケット処理装置の作用を説明する図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２２】
先ず、構成を説明する。パケット処理装置１００は、図１に示すように、送信データをパケット化して送信する送信側装置としてのサーバ１０に接続されるとともに、ＷＡＮ（Wide Area Network）２０を介して、受信側装置としてのクライアント３０に接続されている。
【００２３】
サーバ１０は、伝送制御プロトコルとしてのＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）に従い、送信データにヘッダを付けてパケットとし、そのパケットをクライアント３０へ向けて送信する。送信データに付されるヘッダには、発信元ポート番号、発信先ポート番号、発信元ＩＰアドレス、発信先ＩＰアドレス、シーケンス番号等の制御情報が含まれる。
【００２４】
クライアント３０は、ＴＣＰ／ＩＰのプロトコルに従い、パケット化された送信データを受信し、それに対応する確認応答（アクノリッジメント）をサーバ１０に向けて送信するとともに、受信した送信データに対して所定の処理を行う。クライアント３０がサーバ１０に向けて送信する確認応答には、クライアント３０が受信可能なデータのサイズの情報等が含まれるとともに、発信元ポート番号、発信先ポート番号、発信元ＩＰアドレス、発信先ＩＰアドレス、確認応答番号等の制御情報が含まれる。
【００２５】
パケット処理装置１００は、サーバ１０の送信するパケットとクライアント３０が送信する確認応答を中継する。
【００２６】
サーバ１０は、輻輳制御アルゴリズムを用いる。サーバ１０で用いる輻輳制御アルゴリズムとしては、例えばＣＵＢＩＣを用いてもよい。
【００２７】
輻輳制御アルゴリズムは、クライアント３０からの確認応答を待たずにサーバ１０が連続して送信できるデータのサイズを求める。サーバ１０は、輻輳制御アルゴリズムで求めた連続して送信できるデータのサイズを、クライアント３０へ連続して送信できるデータのサイズとして設定する。なお、サーバ１０は、輻輳制御アルゴリズムで求めたデータのサイズとクライアント３０が受信可能なデータのサイズとを比較し、小さい方をクライアント３０へ連続して送信できるデータのサイズとして設定してもよい。
【００２８】
パケット処理装置１００は、図２に示すように、送信パケット受取部１１０と、パケット送信部１２０と、応答受取部１３０と、応答送信部１４０と、往復遅延時間推定部１５０と、サイズ決定部１６０と、送信レート更新部１７０と、を備えている。送信パケット受取部１１０、応答受取部１３０、応答送信部１４０、往復遅延時間推定部１５０、サイズ決定部１６０、及び送信レート更新部１７０は、ＣＰＵ（Central Processing Unit）及びメモリで構成することも可能である。
【００２９】
送信パケット受取部１１０は、サーバ１０に接続され、サーバ１０からクライアント３０へ送るパケットをサーバ１０から順次受け取るとともに、受け取ったパケットをパケット送信部１２０に出力する。
【００３０】
パケット送信部１２０は、パケットキュー１２１と、スケジューラ１２２とを備える。パケットキュー１２１は、送信パケット受取部１１０から逐次与えられるパケットを、パケットキューの最後尾に格納する。スケジューラ１２２は、パケットキュー送信レートに基づいて、パケットの送信レートが均一になるようにパケットを送出する時刻を決定し、その時刻まで時間が経過したとき、パケットキューの先頭からパケットを取り出し、クライアント３０へパケットを送信する。また、パケット送信部１２０は、クライアント３０へ送信したパケットのヘッダに示された制御情報を往復遅延時間推定部１５０及びサイズ決定部１６０に与える。
【００３１】
パケット送信部１２０のスケジューラ１２２が参照するパケットキュー送信レートは、送信レート更新部１７０が、逐次、更新する。
【００３２】
応答受取部１３０は、クライアント３０がサーバ１０に向けて送信する確認応答を受け取り、応答送信部１４０へ出力する。また、応答受取部１３０は、クライアント３０から受け取った確認応答のヘッダに示されている制御情報を往復遅延時間推定部１５０及び送信レート更新部１７０に与えるとともに、確認応答をサイズ決定部１６０に与える。
【００３３】
応答送信部１４０は、サーバ１０と接続され、応答受取部１３０から受信した確認応答をサーバ１０に送信する。
【００３４】
往復遅延時間推定部１５０は、内部に図示しないタイマを有し、パケット処理装置１００がクライアント３０にパケットを送信し、そのパケットに対応する確認応答がクライアント３０から戻ってくるまでの時間を測定し、その時間をパケットの往復遅延時間（Round-Trip Time）として推定する。
【００３５】
なお、往復遅延時間推定部１５０は、パケットに記録された時刻情報を使用して往復遅延時間を推定してもよい。また、往復遅延時間は、１回の測定結果に限らず、最大値、平均値、最小値などの複数の測定結果から推定した値を使用してもよい。
【００３６】
サイズ決定部１６０は、輻輳制御アルゴリズムを用い、応答受取部１３０で受け取った確認応答に基づいて、サーバ１０が確認応答の受信をしなくても連続してクライアント３０に送信できるデータのサイズを決定する。なお、サイズ決定部１６０とサーバ１０が使用する輻輳制御アルゴリズムは同一でなくともよい。
【００３７】
送信レート更新部１７０は、パケット処理装置１００からクライアント３０に向けて送信する送信パケットの送信レートの設定と更新を行うブロックであり、サイズ決定部１６０で求めた連続してクライアント３０に送信できるデータのサイズを、往復遅延時間推定部１５０で求めた往復遅延時間で割った商に比例する値を求め、その値をパケット送信部１２０のスケジューラ１２２が出力するパケットの送信レートとして設定する。
【００３８】
送信レート更新部１７０は、応答受取部１３０がクライアント３０から確認応答パケットを受信したとき、スケジューラ１２２のパケットキュー送信レートを更新する。なお、送信レート更新部１７０は、一定の時間間隔など、別のタイミングでパケットキュー送信レートを更新してもよい。また、送信レート更新部１７０は、コネクションを接続した直後において、輻輳制御アルゴリズムの初期値に基づいてパケットキュー送信レートの初期値を計算し、スケジューラ１２２に設定する。
【００３９】
送信レート更新部１７０は、パケット送信部１２０に対し、ＴＣＰ／ＩＰのコネクションごとに特定のパケットキューを指定する。なお、送信レート更新部１７０は、複数のＴＣＰ／ＩＰコネクションごとに１つのパケットキューを指定してもよい。この場合、送信レート更新部１７０は、複数のコネクションの送信レートの合計値をパケットキュー送信レートとして設定する。
【００４０】
次に、パケット処理装置１００が行うパケット処理方法を、図３を参照して説明する。
サーバ１０は、クライアント３０との間にコネクションを確立する場合、通信許可申請用のパケットをクライアント３０に向けて送信する。
【００４１】
通信許可申請用のパケットのヘッダには、発信元ポート番号、発信先ポート番号、発信元ＩＰアドレス、発信先ＩＰアドレス、シーケンス番号等の制御情報が示される。パケット処理装置１００は、通信許可申請用のパケットを受信したとき、コネクション確立処理（ステップＳ１０）を行う。
【００４２】
ステップＳ１０において、パケット処理装置１００は、通信許可申請用のパケットを送信パケット受取部１１０で受け取り、パケット送信部１２０に転送する。パケット送信部１２０は、通信許可申請用のパケットから制御情報を抽出し、送信レート更新部１７０に通知する。送信レート更新部１７０は、コネクションごとにパケットを格納するパケットキューとパケットキュー送信レートの初期値をパケット送信部１２０に通知する。
【００４３】
パケット送信部１２０のパケットキュー１２１は、送信レート更新部１７０から通知されたパケットキューの最後尾に通信許可申請用のパケットを格納する。
【００４４】
パケット送信部１２０のスケジューラ１２２は、パケットキュー送信レートに基づいて、パケットキューからの送信レートが均一になるようにパケットを送出する時刻を決定し、その時刻まで時間が経過したとき、パケットキュー１２１の先頭からパケットを取り出し、パケットをクライアント３０へ送出する。
【００４５】
通信許可申請用のパケットを受信したクライアント３０は、通信許可申請用のパケットに対応し、通信許可申請用のパケットを受信したことを示す確認応答をサーバ１０に向けて送信する。
【００４６】
パケット処理装置１００は、その通信許可申請用のパケットに対応する確認応答を応答受取部１３０で受信して応答送信部１４０を介してサーバ１０へ送信する。通信許可申請用のパケットに対応する確認応答を受信したサーバ１０は、クライアント３０からの確認応答に対応する確認応答をクライアント３０へ向けて送信する。
【００４７】
パケット処理装置１００は、サーバ１０が送信した確認応答を送信パケット受取部１１０で受け取り、パケット送信部１２０のパケットキュー１２１で保持し、スケジューラ１２２が送信すべき時刻まで遅延させてから、クライアント３０へ送信させる。
【００４８】
以上の処理により、サーバ１０とクライアント３０との間のコネクションが確立するとともに、パケット送信部１２０にコネクションごとの特定のパケットキューが準備され、そのパケットキューには、パケット送信レートの初期値が設定される。
【００４９】
コネクションが確立したのち、サーバ１０は、クライアント３０との間のコネクションを切断しようとする場合、コネクション解放用のパケットをクライアント３０へ向けて送信する。
【００５０】
コネクション解放用の送信パケットには、発信元ポート番号、発信先ポート番号、発信元ＩＰアドレス、発信先ＩＰアドレス、シーケンス番号等の制御情報が示されるとともに、コネクションを切断することを示すフラグが設定される。パケット処理装置１００は、コネクション解放用のパケットを受信したとき（ステップＳ２０：ＹＥＳ）、コネクション切断処理（ステップＳ２５）を行う。
【００５１】
コネクション切断処理（ステップＳ２５）において、パケット処理装置１００は、サーバ１０が送信したコネクション解放用のパケットを送信パケット受取部１１０で受け取り、パケット送信部１２０に転送する。
【００５２】
パケット送信部１２０は、当該パケットをパケットキュー１２１のパケットキューの最後尾に保持する。スケジューラ１２２は、パケットキュー１２１にパケットが保持されているとき、パケットキュー送信レートに基づくタイミングでパケットキューの先頭からパケットを取り出し、クライアント３０に送信する。
【００５３】
コネクション解放用のパケットをクライアント３０が受信したとき、クライアント３０は、確認応答のパケットをサーバ１０に向かって送信する。
【００５４】
パケット処理装置１００は、クライアント３０からの確認応答のパケットを、応答受取部１３０で受信し、応答送信部１４０を介して、サーバ１０に送信する。応答受取部１３０は、クライアント３０からの確認応答のパケットのヘッダから制御情報を抽出し、送信レート更新部１７０に通知する。送信レート更新部１７０は、コネクションごとにパケットを格納するパケットキューとパケットキュー送信レートを初期化する。これによって、コネクションが切断される。
【００５５】
一方で、サーバ１０は、送信データをクライアント３０へ送信する場合、送信データをパケットにしてクライアント３０へ向けて順次送信する。以下、サーバ１０が送信するパケットを送信パケットという。
【００５６】
パケット処理装置１００は、サーバ１０が順次送信した送信パケットを送信パケット受取部１１０で受信したとき（ステップＳ３０：ＹＥＳ）、受信した送信パケットをパケット送信部１２０のパケットキューの最後尾に順次格納する（ステップＳ４０）。
【００５７】
ここで、パケット送信部１２０は、複数のコネクションの送信パケットを特定の１つのパケットキューに保持してもよい。この場合、送信レート更新部１７０は、複数のコネクションの合計の送信レートを、パケットキュー送信レートとしてパケット送信部１２０に伝える。
【００５８】
パケット送信部１２０のスケジューラ１２２は、パケットキュー１２１に送信パケットが格納されている場合（ステップＳ９０：ＹＥＳ）、パケットキューからの送信レートが均一になるように送信パケットを送出する時刻を計算し、送信パケットを送出する時刻が経過したとき、パケットキューの先頭から送信パケットを取り出し、送信パケットをクライアント３０に送信するパケット送信処理（ステップＳ１００）を行う。
【００５９】
具体的には、パケットキューの先頭に格納されている送信パケットのパケット長を参照し、このパケット長をパケットキュー送信レートで割った値を、最後に送出した時刻に加算し、送出する予定時刻を算出する。なお、送信パケットを送出する時刻の計算方法は、パケットキューからの送信レートが均一になる方法であれば、別の方法で算出してもよい。
【００６０】
パケット処理装置１００から送信パケットを受信したクライアント３０は、受信した送信パケットをバッファで保持し、送信パケットに含まれる送信データに所定の処理を行い、送信パケットに対応する確認応答を順次サーバ１０に向かって送信する。
【００６１】
パケット処理装置１００の応答受取部１３０は、クライアント３０からの確認応答を受信したとき（ステップＳ５０：ＹＥＳ）、確認応答のヘッダに付された制御情報を往復遅延時間推定部１５０に与える。また、応答受取部１３０は、受信した確認応答をサイズ決定部１６０に与えるとともに、応答送信部１４０を介してサーバ１０に送信する。
【００６２】
往復遅延時間推定部１５０は、応答受取部１３０で受信した確認応答について、パケット処理装置１００がパケットを送信してから、そのパケットがクライアント３０を経由して確認応答として戻ってくるまでの時間を、パケットの往復遅延時間として推定する（ステップＳ６０）。
【００６３】
確認応答の識別は、確認応答の制御情報で行われる。パケットの往復遅延時間は、サーバ１０とクライアント３０の物理的な距離が遠い場合、パケットを中継する装置の数が多い場合、トラフィックが多くパケットを中継する装置でパケットが滞留している場合など、いくつかの条件で長くなる。往復遅延時間推定部１５０は、応答受取部１３０が確認応答を受信するごとに、往復遅延時間を推定する。
【００６４】
サイズ決定部１６０は、ＣＵＢＩＣなどのＴＣＰ／ＩＰプロトコルの輻輳制御アルゴリズムを利用する。サイズ決定部１６０は、サーバ１０が確認応答の受信をしなくても連続してクライアント３０に送信できるデータのサイズの初期情報を、輻輳アルゴリズムを利用し、各時点での、サーバ１０が確認応答の受信をしなくても連続してクライアント３０に送信できるデータのサイズを決定する。
【００６５】
往復遅延時間推定部１５０で推定された往復遅延時間と、サイズ決定部１６０で決定されたデータのサイズとが、送信レート更新部１７０に与えられる。送信レート更新部１７０は、往復遅延時間推定部１５０及びサイズ決定部１６０から与えられた往復遅延時間及びデータのサイズから、次式で新たに送信レートを計算する（ステップＳ７０）。
【００６６】
Ｒ＝ｃＷｎｄ×ｋ／ＲＴＴ  （Byte／sec）
ただし、Ｒ：送信レート
ｃＷｎｄ：データのサイズ
ＲＴＴ：往復遅延時間
ｋ：一定の係数
【００６７】
送信レート更新部１７０は、新たに計算した送信レートで、それまで利用したスケジューラ１２２のパケットキュー送信レートを更新する（ステップＳ８０）。
【００６８】
パケットキュー１２１に格納された送信パケットは、スケジューラ１２２によって、送信レートが均一になるタイミングで、逐次、パケットキューの先頭から取り出され、クライアント３０に送信される。
【００６９】
パケット処理装置１００は、ステップＳ２０〜ステップＳ１００の処理を繰り返し、サーバ１０から与えられる送信パケットを順次クライアント３０へ送信する。
【００７０】
サーバ１０及びサイズ決定部１６０で用いる輻輳制御アルゴリズムでは、クライアント３０からの確認応答の受取状況に応じて、サーバ１０が確認応答の受信をしなくても連続してクライアント３０に送信できるデータを増減させる。
【００７１】
具体的には、サーバ１０及びサイズ決定部１６０で用いる輻輳制御アルゴリズムでは、クライアント３０からの確認応答が得られるごとに、サーバ１０が確認応答の受信をしなくても連続してクライアント３０に送信できるデータのサイズが増加させる。よって、送信レートが増加する。
【００７２】
また、クライアント３０からの確認応答が得られない場合や、同じ確認応答が所定回数以上続く場合等では、輻輳制御アルゴリズムでは、サーバ１０とクライアント３０との間のトラフィックが輻輳状態であるものと判断し、サーバ１０が確認応答の受信をしなくても連続してクライアント３０に送信できるデータのサイズを減少させる。その結果、送信レートが減少する。
【００７３】
以上のように、本実施の形態のパケット処理装置１００は、パケットをクライアント３０に送信してから、そのパケットに対応する確認応答を受け取るまでの時間をパケットの往復遅延時間として推定し、パケットに分けられて連続してクライアント３０に送信されるデータのサイズを決定し、そのデータのサイズおよび往復遅延時間に応じて、クライアント３０に送信するパケットの送信レートを更新するので、トラフィックの輻輳が抑制され、データ通信の効率の低下を防ぐことができる。
【００７４】
さらに、パケット処理装置１００は、往復遅延時間をデータのサイズで割って送信レートを求めるので、パケットを均一な時間間隔でクライアント３０に送信することができ、パケット処理装置１００は、より効果的にトラフィックの輻輳を抑制できる。
【００７５】
一度に送信できるデータの量だけを制御するトラフィック制御方法では、図４（Ａ）のように、瞬間的なバーストが多数発生し、輻輳が発生しやすい。これに対し、パケット処理装置１００の行う、パケット処理方法では、図４（Ｂ）のように、パケットを均一な時間間隔で送信するので、トラフィックの輻輳が抑制される。
【００７６】
なお、本発明は、上記の実施の形態に限定されるものではない。例えば、上記の実施の形態では、パケット処理装置１００を、データを送信する側のサーバ１０側に接続したが、双方向でデータ通信をする場合は、クライアント３０側にも接続してよい。また、パケット処理装置１００は、サーバ１０と一体に構成してもよい。
【００７７】
また、往復遅延時間推定部１５０は、直近の複数の往復遅延時間を求め、その平均値や最小値または最大値を、パケットの往復遅延時間として推定してもよい。
【符号の説明】
【００７８】
１０  サーバ
２０  ＷＡＮ
３０  クライアント
１００  パケット処理装置
１１０  送信パケット受取部
１２０  パケット送信部
１２１  パケットキュー
１２２  スケジューラ
１３０  応答受取部
１４０  応答送信部
１５０  往復遅延時間推定部
１６０  サイズ決定部
１７０  送信レート更新部
【図１】
2014220621.tif 000003
【図２】
2014220621.tif 000004
【図３】
2014220621.tif 000005
【図４】
2014220621.tif 000006