処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2005020524 - セッション中継装置及び中継方法

注意: このテキストは、OCR 処理によってテキスト化されたものです。法的な用途には PDF 版をご利用ください。

[ JA ]
明 細書

セッション中継装置及び中継方法

技術分野

[0001] 本発明はセッション中継装置及びそれに用いるセッション中継方法に関し、特に T CP (Transmission Control Protocol)セッション間でデータの中継を行う装置に 関する。

背景技術

[0002] 一般的に、通信アプリケーションにおいては、送信端末と受信端末との間で通信セ ッシヨン(特に、 TCPセッション)を確立し、確立したセッション上で通信を行っている。

[0003] TCPセッションの通信帯域は、ネットワークの混雑度や往復伝播遅延時間によって 大きく異なる。例えば、 30msecの往復伝播遅延がある場合には、送信バッファサイ ズを 64KBとすれば、たとえ物理的な帯域幅が IGbpsあろうとも、 TCPセッションのス ループットが計算上約 20Mbps程度に制限される。

[0004] また、同じく往復伝播遅延が 30msecある場合には、たとえ十分な送信バッファを確 保できたとしても、ネットワークの廃棄率が 0. 0001 %以下でなければ、すなわちパケ ット廃棄が 26秒に 1度の頻度以下でなければ、計算上 IGbpsのスループットを達成 することができなレ、。さらに、特定の重要な TCPセッションが帯域を必要としていても 、他の TCPセッションとの競合によって、必要な帯域を確保できないという問題もある

[0005] そこで、 TCPセッションのスループットを向上させる技術としては、従来、以下のよう な方式が存在する。第 1の方式は、 TCPの送信端末に十分な送信バッファを持たせ る方式である。この方式では受信確認パケット (ACKパケット)を受信しなくとも、送信 することができるデータの最大量を大きくするため、帯域と伝播遅延との積 (帯域遅延 積)が大きい環境でのスループットを向上させることが可能である。

[0006] また、この方式では、通常、オペレーティングシステム(OS ; Operating System) における TCPのパラメータを変更することで、容易にデータの最大量を大きくすること が可能である。例えば、下記の文献 1には、 64KB以上の送信バッファを持つことも

可能とする方式が開示され、下記の文献 2には、送信バッファ量を帯域や伝播遅延 等から自動的に変更する方式が開示されている。

[0007] 文献 1: V. Jacobson他, fCP Extensions for Hign Performance , Inte met Engineering Task Force, Request for comments 1323, May 19 92

文献 2 : Tom Dunigan他, "A TCP Tuning Daemon", in proceedings o f SC2002, Nov. 2002

[0008] 第 2の方式は、 TCPセッションの中継を行う方式である。この方式では送信端末と 受信端末との間にセッション中継装置を設置し、送信端末力のセッション中継装置 までのセッションと、セッション中継装置から受信端末までのセッションとの間でデータ の中継を行う。そのため、それぞれのセッションでは、送信端末と受信端末との間で 直接通信を行うセッションよりも帯域遅延積が小さくなるので、スループットを向上す ることが可能である。この第 2の方式の具体的な例が、例えば下記の文献 3— 7に開 示されている。

[0009] 文献 3 :特開平 11一 252179号公報

文献 4:特開 2002 - 281104号公報

文献 5 :特開平 11-112576号公報

文献 6 :特開 2002-312261号公報

文献 7 :Ajay Bakre and B. R. Badrinath, "I-TCP ; Indirect TCP for Mobile Host , Department of Computer Science Rutgers University , DSC-TR-314, 1994 (http : //www. it. iitb. ac. in/it644/papers/i- tcp. pdf)

[0010] 第 3の方式は、 TCPのウィンドフロー制御アルゴリズムを変更する方式である。 TCP セッションの帯域はパケット廃棄率によっても決まる力これは TCPのウィンドフロー 制御にぉレ、てパケット廃棄がない時に送信帯域、すなわち輻輳ウィンドサイズを増加 させ、パケット廃棄を検出することで輻輳ウィンドサイズを減少させる動作を行ってい る。

[0011] そのため、輻輳ウィンドサイズの増加量や、減少率といった TCPのパラメータを変 更することによって、 TCPのスループットを向上させることが可能である。これらの方 式では、輻輳ウィンドの上げ幅や下げ率とレ、つた TCPの制御パラメータを変更するこ とで、スループットの向上を図っている。この第 3の方式の具体的例力例えば下記 の文献 8、 9に開示されている。

[0012] 文献 8 : Sally Floyd, "High-Speed TCP for Large Congestion Windo ws , Internet draft draft—floyd—tcp— highspeed— 01. txt, Internet Engi neering Task Force, work in progress, 2002

文献 9 : Panos Gevros他, "Analysis of a Method for Differentiated T

CP Service", In pro of GLOBECOM99, ppl 699— 1708, 1999)

[0013] また、単一の輻輳検出としては輻輳ウィンドを縮小せず、輻輳を複数回検出した際 に輻輳インドを縮小する方式が下記の文献 10に開示されている。

[0014] 文献 10 :特開平 11—122296号公報

[0015] 第 4の方式は、キューイングによって複数の TCPセッション間で帯域の調整を行うこ とによって、特定のセッションに対して高いスループットを与える方式である。

[0016] この方式では、送信端末と受信端末との間に設置されたセッション中継装置におい て、セッション毎にキューを備え、各セッションの入力パケットはそれぞれのセッション に対応するキューに格納する。

[0017] それぞれのキューからは各セッションに設定された帯域でパケットの出力を行い、 送信端末力設定帯域以上の帯域で出力されたパケットはセッション中継装置にお いて廃棄される。この第 4の方式の具体例が、例えば、下記の文献 11、 12に開示さ れている。

[0018] 文献 11 :特開平 10— 126446号公報

文献 12 :特開平 10—233802号公報

[0019] 第 5の方式は、送受信端末間に設置されたセッション中継装置において ACK (ack nowledgement)パケットの制御を行うことによって、 TCPセッション間の帯域の調整 を行い、特定のセッションに対して高レ、スループットを与える方式である。

[0020] この方式ではセッション中継装置において、 ACKパケットに書かれている広告ウイ ンドサイズ、すなわち受信端末が受取ることのできるデータ量を小さく書換えることで

、送信端末から受信端末へと送信されるデータ量を少なくし、帯域の制御を行う。

[0021] また、この方式では ACKパケットを遅延させることによって、送信端末からの次のデ ータ出力を遅らせ、帯域の制御を行っている。この方式としては、下記の文献 13に開 示されているような、 ATM (Asynchronous Transfer Mode)網の輻輳情報によ つて ACKパケットの書換えを行う方式や、下記の文献 14に開示されているような、ビ デォフレームの周期にしたがって ACKパケットを遅延させる方式がある。

[0022] 文献 13 :特開 2001— 203697号公報

文献 14 :特開 2002—271380号公報

[0023] 上述した従来のセッション中継装置では、第 1の方式を用いる場合、端末の変更が 必要になるという問題がある。ユーザ自身がそれぞれの端末のそれぞれの TCPセッ シヨンに対して最適なバッファサイズを設定しなければならず、またバッファサイズの 自動設定を行う場合にはそのためのアプリケーションプログラムを端末に追加する必 要があり、端末の管理コストが大きくなる。

[0024] 従来のセッション中継装置では、第 2の方式を用いる場合、ネットワークのパケット 廃棄率が高いと、高レ、スループットを達成することができないとレ、う問題がある。

[0025] そのため、従来のセッション中継装置では、セッション中継装置を複数台用いて送 信端末と受信端末との間で数多く中継を行ったとしても、ある区間で 1箇所だけでも パケット廃棄率が高ければ、高いスループットを達成することができない。

[0026] 従来のセッション中継装置では、第 3の方式を用いる場合、場合によってはネットヮ ークの輻輳を発生させるという問題がある。第 3の方式では、通常の制御パラメータを 持った TCPに比べて、同じネットワークの混雑度でも高い帯域でパケットを送信する ため、ネットワークの輻輳を発生させる可能性がある。

[0027] 特に、スループットを大幅に向上させる制御パラメータの設定を行うほど、輻輳を発 生させる可能性が高くなる。輻輳を発生させない制御パラメータの範囲はさまざまな 条件によって変化し、一意に決定することができないため、スループットの向上を図り ながら、ネットワークを輻輳させないことを保証することはできなレ、。また、輻輳を発生 させなレ、ような穏やかな制御パラメータの設定を行った場合には、スループットの向 上は期待できない。

[0028] また、従来のセッション中継装置では、第 3の方式を用いる場合、明示的にスルー プットを制御することができないという問題がある。第 3の方式では、目標とするスルー プットに対して制御パラメータを一意に決定することができず、通信先の端末までの 伝播遅延時間によらず等しく高レ、スループット与えることや、特定のセッションに対し て特定のスループットを与えること等を実現することができない。

[0029] さらに、この第 3の方式に上述した第 4の方式もしくは第 5の方式を組み合わせたと しても、第 4の方式もしくは第 5の方式ではスループットを低下させる方向の制御のみ を行うため、あらゆる状況で目標とするスループットを達成することができる制御パラメ ータを設定しておかなければならず、この場合、ネットワークを輻輳させてしまう可能 性が高い。

[0030] 第 4の方式もしくは第 5の方式を単独で用いた場合には、スループットを向上させる 方向の制御ができないため、帯域遅延積が大きい場合やネットワークが輻輳している 場合に、明示的な帯域制御を行うことができない。

[0031] 従来のセッション中継装置では、第 3の方式及び第 4の方式を用いる場合、送信端 末とセッション中継装置との間の帯域が低下する場合があるという問題がある。

[0032] セッション中継装置と受信端末との間の帯域よりも、送信端末とセッション中継装置 との間の帯域が小さい場合、セッション中継装置の受信バッファが頻繁に満たされ、 セッション中継装置から送信端末に対して 0バイトの広告ウィンドサイズが通知される 。送信端末では、 0バイトの広告ウィンドサイズが通知されると、次に 1バイト以上の広 告ウィンドサイズが通知されるまで送信を停止するため、送信端末力の送信帯域が 低下する。

[0033] 従来のセッション中継装置では、この送信端末力の送信帯域が低下するという問 題によって、セッション中継装置と受信端末との間でもその影響がでるという問題があ る。

[0034] 送信端末とセッション中継装置との間の帯域よりも、受信端末が処理できるデータ の帯域が小さい場合、受信端末の受信バッファが頻繁に満たされ、受信端末からセ ッシヨン中継装置に対して 0バイトの広告ウィンドサイズが通知される。セッション中継 装置では、 0バイトの広告ウィンドサイズが通知されると、次に 1バイト以上の広告ウイ ンドサイズが通知されるまで送信を停止するため、セッション中継装置からの送信帯 域が低下する。

発明の開示

[0035] そこで、本発明の目的は上記の問題点を解消し、ネットワークの輻輳状況やセッシ ヨンの往復伝播遅延時間によらず、輻輳を発生させずにセッションの帯域を最適に制 御することができるセッション中継装置及びそれに用いるセッション中継方法を提供 することにある。

[0036] 本発明によるセッション中継装置は、送信端末と受信端末との間でセッションを中 継することで前記送信端末と前記受信端末との間の通信帯域を制御するセッション 中継装置であって、自装置と前記受信端末との間のセッションのウィンドフロー制御 を変更する手段を備えてレ、る。

[0037] 本発明による他のセッション中継装置は、送信端末に向けたセッションと受信端末 に向けたセッションとの間でデータの中継を行うことで前記送信端末と前記受信端末 との間の通信を実現するセッション中継装置であって、

前記送信端末に向けたセッション力のデータを受信する受信制御手段と、前記受 信端末に向けたセッションへとデータを送信する送信制御手段と、前記受信制御手 段で受信処理したデータを前記送信処理手段へと受け渡す手段と、前記送信制御 手段に関する状態を観測する観測手段と、前記送信制御手段の動作を変更する変 更手段とを備え、

前記観測手段の観測結果に応じて前記送信制御手段の動作を変更している。

[0038] 本発明によるセッション中継方法は、送信端末と受信端末との間でセッションを中 継することで前記送信端末と前記受信端末との間の通信帯域を制御するセッション 中継装置のセッション中継方法であって、前記セッション中継装置側に、前記セッシ ヨン中継装置と前記受信端末との間のセッションのウィンドフロー制御を変更する処 理を備えている。

[0039] 本発明による他のセッション中継方法は、送信端末に向けたセッションと受信端末 に向けたセッションとの間でデータの中継を行うことで前記送信端末と前記受信端末 との間の通信を実現するセッション中継装置のセッション中継方法であって、前記セ ッシヨン中継装置側に、前記送信端末に向けたセッションからのデータを受信する受 信制御手段で受信処理したデータを、前記受信端末に向けたセッションへとデータ を送信する送信処理手段へと受け渡す処理と、前記送信制御手段に関する状態を 観測する処理と、前記送信制御手段の動作を変更する処理とを備え、前記観測の結 果に応じて前記送信制御手段の動作を変更している。

[0040] すなわち、本発明のセッション中継装置は、上記の問題点を解決するために、送信 端末や受信端末の変更は行わずに、セッション中継装置の送信バッファサイズや TC P (Transmission Control Protocol)の制御パラメータ等を変更することで、スル 一プットの制御を行ってレ、る。

[0041] また、本発明のセッション中継装置では、上記の問題点を解決するために、 TCPセ ッシヨンの中継とセッション中継装置の送信バッファサイズや TCPの制御パラメータ 等の変更とを組み合わせることによって、伝播遅延時間やネットワークの混雑度に影 響されなレ、スループットの制御を行ってレ、る。

[0042] さらに、本発明のセッション中継装置では、上記の問題点を解決するために、送信 端末とのセッションから受取ったデータを、受信端末とのセッションへと受け渡す際に 帯域制御を行い、受信端末へと送信を行うセッションでは受取ったデータ量と実際に 送信したデータ量との差分を基にそのセッションの制御パラメータを動的に変化させ ている。

[0043] 本発明のセッション中継装置では、例えば、受信端末へのセッションの送信バッフ ァ内のデータ量やその平均が一定値以上となれば、制御パラメータをスループットが 増加する方向に変更し、データ量やその平均が一定値以下となれば、制御パラメ一 タをスループットが減少する方向に変更することで、動的に制御パラメータの変更を 行レ、、目標とする帯域制御を実施している。

[0044] また、本発明のセッション中継装置では、制御パラメータをスループットが向上する 方向に変化させてもスループット向上の効果が現れない時、もしくは、廃棄率が一定 値以上となって輻輳と判断した時に、制御パラメータの変更を停止したり、スループッ トが低下する方向への変更を行っている。

[0045] 本発明のセッション中継装置では、上記の問題点を解決するために、送信端末とセ ッシヨン中継装置との間のセッションの受信バッファ内の滞留パケット数を監視し、パ ケット数あるいはその平均値がある一定値以上となれば、同じ ACKシーケンス番号 を持つ重複 ACKを送信端末に出力することで、送信端末の送信レートを低下させ、 受信バッファが頻繁に満たされることを防レヽでレ、る。

[0046] また、本発明のセッション中継装置では、受信バッファが満たされた場合でも早期 に送信を再開させるために、受信端末から 1バイト以上の受信確認を行う ACKバケツ トを受信した時点で、もし一定量以上の受信バッファ空き容量が確保できれば、その 時点で送信端末に対して 1以上の広告ウィンドサイズを持つ ACKパケットを送信す る。

[0047] 本発明のセッション中継装置では、上記の問題点を解決するために、受信端末か ら通知される広告ウィンドサイズを監視し、広告ウィンドサイズの平均がある一定値以 上となれば、セッション中継装置から受信端末へのセッションの制御パラメータを変 更することで、セッション中継装置からの送信レートを低下させ、受信バッファが頻繁 に満たされることを防レ、でレ、る。

[0048] 上記で説明したように、本発明によれば、ネットワークの輻輳状況やセッションの往 復伝播遅延時間によらず、輻輳を発生させずにセッションの帯域を最適に制御する ことができるとレ、う効果が得られる。

図面の簡単な説明

[0049] [図 1]図 1は、本発明の第 1の実施形態によるセッション中継装置を含む伝送システム の構成を示すブロック図である。

[図 2]図 2は、本発明の第 1の実施形態によるセッション中継装置の構成を示すブロッ ク図である。

[図 3]図 3は、本発明の第 1の実施形態によるセッション中継処理を示すフローチヤ一 トである。

[図 4]図 4は、本発明の第 1の実施形態によるセッション中継処理を示すフローチヤ一 トである。

[図 5]図 5は、本発明の第 1の実施形態による ACK返送処理を示すフローチャートで ある。

[図 6]図 6は、本発明の第 1の実施形態による輻輳処理を示すフローチャートである。

[図 7]図 7は、本発明の第 2の実施形態によるセッション中継装置の構成を示すブロッ ク図である。

[図 8]図 8は、本発明の第 3の実施形態によるセッション中継装置の構成を示すブロッ ク図である。

[図 9]図 9は、本発明の第 4の実施形態によるセッション中継装置の構成を示すブロッ ク図である。

[図 10]図 10は、本発明の第 5の実施形態によるセッション中継装置の構成を示すブ ロック図である。

[図 11]図 11は、本発明の第 6の実施形態によるセッション中継装置の構成を示すブ ロック図である。

[図 12]図 12は、本発明の第 7の実施形態によるセッション中継装置の構成を示すブ ロック図である。

[図 13]図 13は、本発明の第 8の実施形態によるセッション中継装置の構成を示すブ ロック図である。

[図 14]図 14は、本発明の第 8の実施形態におけるセッション中継装置 (送信端末)と セッション中継装置(受信端末)との間のデータの流れを示すブロック図である。 発明を実施するための最良な形態

[0050] 次に、本発明の実施の形態について図面を参照して説明する。

[0051] (第 1の実施形態)

図 1は本発明の第 1の実施形態によるセッション中継装置を含む伝送システムの構 成を示すブロック図である。図 1において、セッション中継装置 1はセッション識別部 1

1と、セッション中継部 12— 1一 12—Nと、出力制御部 13とから構成され、受信端末 2 及び送信端末 3に接続されている。

[0052] まず、送信端末 3から受信端末 2へデータを送る場合、送信端末 3からのデータパ ケットはセッション中継部 12_1の受信セッション処理部(図示せず)で処理され、その 結果、 ACKパケットが送信端末 3へと返信される。

[0053] 受信セッション処理部で受取られたデータは、セッション中継部 12— 1の送信セッシ ヨン処理部(図示せず)へと送られ、ここから受信端末 2へとデータパケットが送信され る。これに対し、受信端末 2が返信した ACKパケットはセッション中継部 12-1の送信 セッション処理部で処理される。

[0054] 同様に、受信端末 2から送信端末 3へデータを送る場合、受信端末 2からのデータ パケットはセッション中継部 12—2の受信セッション処理部(図示せず)で処理され、そ の結果、 ACKパケットが受信端末 2へと返信される。

[0055] 受信セッション処理部で受取られたデータはセッション中継部 12_2の送信セッショ ン処理部(図示せず)へと送られ、ここから送信端末 3へとデータパケットが送信され る。これに対し、送信端末 3が返信した ACKパケットはセッション中継部 12—2の送信 セッション処理部で処理される。

[0056] 本実施形態では、送信端末 3や受信端末 2の変更を行わずに、セッション中継装置

1の送信バッファサイズや TCP (Transmission Control Protocol)の制御パラメ 一タ等を変更することで、スループットの制御を行っている。

[0057] また、本実施形態では、 TCPセッションの中継とセッション中継装置 1の送信バッフ ァサイズや TCPの制御パラメータ等の変更とを組み合わせることによって、伝播遅延 時間やネットワークの混雑度に影響されなレ、スループットの制御を行ってレ、る。

[0058] さらに、本発明の実施の形態では、送信端末 3とのセッションから受取ったデータを 、受信端末 2とのセッションへと受け渡す際に帯域制御を行い、受信端末 2へと送信 を行うセッションでは受取ったデータ量と実際に送信したデータ量との差分を基にそ のセッションの制御パラメータを動的に変化させている。

[0059] 本実施形態では、例えば、受信端末 2へのセッションの送信バッファ内のデータ量 やその平均が一定値以上となれば、制御パラメータをスループットが増加する方向に 変更し、データ量やその平均が一定値以下となれば、制御パラメータをスループット が減少する方向に変更することで、動的に制御パラメータの変更を行レ、、目標とする 帯域制御を実施している。

[0060] 本実施形態では、制御パラメータをスループットが向上する方向に変化させてもス ループット向上の効果が現れない時、もしくは、廃棄率が一定値以上となって輻輳と 判断した時に、制御パラメータの変更を停止したり、スループットが低下する方向へ の変更を行っている。

[0061] 本実施形態では、送信端末 3とセッション中継装置 1との間のセッションの受信バッ ファ内の滞留パケット数を監視し、パケット数あるいはその平均値がある一定値以上 となれば、同じ ACKシーケンス番号を持つ重複 ACKを送信端末に出力することで、 送信端末 3の送信レートを低下させ、受信バッファが頻繁に満たされることを防いで いる。

[0062] また、本実施形態では、受信バッファが満たされた場合でも早期に送信を再開させ るために、受信端末 2から 1バイト以上の受信確認を行う ACKパケットを受信した時 点で、もし一定量以上の受信バッファ空き容量が確保できれば、その時点で送信端 末 3に対して 1以上の広告ウィンドサイズを持つ ACKパケットを送信する。

[0063] 本実施形態では、受信端末 2から通知される広告ウィンドサイズを監視し、広告ウイ ンドサイズの平均がある一定値以上となれば、セッション中継装置 1から受信端末 2 へのセッションの制御パラメータを変更することで、セッション中継装置 1からの送信 レートを低下させ、受信バッファが頻繁に満たされることを防いでいる。

[0064] 図 2は本発明の第 1の実施形態によるセッション中継装置の構成を示すブロック図 である。図 2において、本発明の第 1の実施形態によるセッション中継装置は、セッシ ヨン識別部 11と、セッション中継部 12— 1一 12-Nと、出力制御部 13とから構成され、 受信端末 2及び送信端末 3に接続されている。

[0065] セッション識別部 11は到着したパケットが属するセッションを決定し、セッション中継 部 12-1— 12— Nはセッション識別部 11、送信端末 3とのセッションと受信端末 2との セッションとの間で中継を行う。出力制御部 13はセッション中継部 12— 1一 12— N各 々から出力されたパケットを出力回線に出力する。

[0066] また、セッション中継部 12—1 12—Nはそれぞれ受信セッション処理部 121—1 121—N (受信セッション処理部 121—2— 121—Nは図示せず)と、受信バッファ 122 _1一 122—N (受信バッファ 122—2 122—Nは図示せず)と、帯域制御部 123—1 123-N (帯域制御部 123—2 123—Nは図示せず)と、送信バッファ 124—1 124 -N (送信バッファ 124—2 124—Nは図示せず)と、送信セッション処理部 125—1 125—N (送信セッション処理部 125—2— 125—Nは図示せず)と、送信再開 ACK (a cknowledgement)生成部 126—1— 126—N (送信再開 ACK生成部 126_2— 126 Nは図示せず)と、重複 ACK生成部 127 - 1一 127-N (重複 ACK生成部 127 - 2 一 127-Nは図示せず)と、パケット廃棄率計算部 128-1— 128-N (パケット廃棄率 計算部 128—2 128—Nは図示せず)と、制御パラメータ計算部 129—1— 129—N ( 制御パラメータ計算部 129—2 129— Nは図示せず)と、輻輳通知信号検出部 130 _1一 130-N (輻輳通知信号検出部 130-2— 130-Nは図示せず)とから構成され ている。

[0067] 受信セッション処理部 121—1— 121—Nは送信端末 3からデータを受信するセッシ ヨンの処理を行レ、、受信バッファ 122— 1 122— Nは受信したデータを一時蓄えてお く。帯域制御部 123—1— 123—Nは受信バッファ 122—1— 122—Nから送信バッファ 124-1- 124—Nへのデータ移動を制御し、送信バッファ 124-1一 124—Nは送信 するデータを一時蓄えておく。送信セッション処理部 125—1 125— Nは受信端末 2 へとデータを送信するセッションの処理を行う。

[0068] 送信再開 ACK生成部 126 - 1一 126 - Nは送信端末 3に対して送信再開を指示す る ACKパケットを生成し、重複 ACK生成部 127-1— 127— Nは送信端末 3に対して 送信レート減少を指示する重複 ACKパケットを生成する。

[0069] パケット廃棄率計算部 128— 1一 128— Nは受信端末 2へのセッションでのパケット 廃棄率を求め、制御パラメータ計算部 129— 1一 129-Nは送信バッファ 124— 1一 12 4 N内の滞留データ量及びパケット廃棄率から受信端末 2へのセッションの制御パ ラメータを変更する。輻輳通知信号検出部 130-1— 130-Nはネットワーク(図示せ ず)の輻輳によって設定帯域を満足できないことを通知する。

[0070] TCPセッションでは、通常、送信端末 3と受信端末 2との間の双方向の通信を行う。

そのため、本実施形態においては、一組の送信端末 3及び受信端末 2に対して 2つ のセッション中継部 12—1— 12—Nを使用するものとし、夫々の方向へのデータ通信 に対しては夫々対応するセッション中継部 12—1— 12—Nを使用する。

[0071] したがって、セッション中継部 12—1 12 Nは複数の送信端末 3及び受信端末 2 の組に対して夫々 2つずつ用意され、セッション中継部 12—1 12—N各々は夫々の 送信端末 3からのセッションから、対応する受信端末 2へのセッションへと、もしくは夫 々の受信端末 2からのセッションから、対応する送信端末 3へのセッションへと、デー タを中継する処理を行う。

[0072] 尚、 TCPセッションにおいては、ある方向のデータパケットとその反対方向への AC Kパケットが 1つのパケット上に統合される場合があるが(ACKの piggy back)、本 実施形態では説明を簡単化するために、このような動作に関する説明を省略する。

[0073] 図 3及び図 4は本発明の第 1の実施形態によるセッション中継処理を示すフローチ ヤートであり、図 5は本発明の第 1の実施形態による ACK返送処理を示すフローチヤ ートであり、図 6は本発明の第 1の実施形態による輻輳処理を示すフローチャートで ある。これら図 2—図 6を参照して本発明の第 1の実施形態によるセッション中継装置 1の動作について説明する。

[0074] セッション中継装置 1にパケットが入力されると(図 3ステップ S1)、セッション識別部 11はパケットのヘッダを参照し、送信元 IP (Internet Protocol)アドレス、送信先 IP アドレス、第四層プロトコル番号、送信元第四層ポート番号、送信先第四層ポート番 号等に基づいて、入力したパケットが属するセッションを決定する(図 3ステップ S2)。

[0075] セッション識別部 11は入力したパケットがデータパケットであれば(図 3ステップ S3) 、対応するセッション中継部 12— 1一 12_Nの受信セッション処理部 121— 1一 121— Nへ渡し、入力したパケットが ACKパケットであれば(図 3ステップ S3)、対応するセッ シヨン中継部 12— 1一 12— Nの送信セッション処理部 125— 1一 125— Nへ渡す。

[0076] 受信セッション処理部 121-1— 121-Nでは入力したデータパケットが正しいシー ケンス番号を持つものであれば(図 3ステップ S4)、パケットから受信データを再構築 して受信バッファ 122-1— 122— Nへ格納すると同時に(図 3ステップ S5)、送信端末 3に対してデータの受信確認及び広告ウィンドサイズを通知する ACKパケットを返送 する(図 3ステップ S6)。

[0077] 受信セッション処理部 121—1— 121—Nでは入力したデータパケットが正しいシー ケンス番号を持つものでなければ(図 3ステップ S4)、重複 ACKを生成することで送 信端末 3に対してパケットの再送を促す(図 3ステップ S8)。

[0078] 尚、この処理に関しては、 TCPZIP Illustrated, Volume l :The Protocols, Addison-Wesley, 1994, ISBN0—201—63346—9 (以下、文献 1とする)に詳しく 記載されてレ、るので、その説明につレ、ては詳述しなレ、。

[0079] 帯域制御部 123— 1一 123-Nは受信バッファ 122-1— 122—N力ら送信バッファ 1 24_1— 124—Nへとデータの移動を制御する(図 3ステップ S7)。このデータ移動の 制御は、例えば、各セッションに設定された目標帯域にしたがってデータ移動の帯域 を制御したり、または全ての帯域制御部 123—1— 123—Nが等しい帯域もしくは予め 設定した帯域割合でデータ移動を行うように、帯域制御部 123— 1一 123— N間で巡 回的にデータ移動のスケジューリングを行ったりしている。この場合、帯域制御部 12 3—1 123— Nは受信バッファ 122— 1 122— Nにデータがなければ、もしくは送信 バッファ 124—1 124— nに空き容量がなければ、データの移動を一時停止する。

[0080] 送信セッション処理部 125—1— 125—Nでは、自ら計算した輻輳ウィンドサイズもし くは受信端末 2から通知された広告ウィンドサイズのうちのどちらか小さい方のウィン ドサイズにしたがって、送信バッファ 124—1 124—Nからのデータの送信処理を行 う(図 4ステップ S 9)。

[0081] また、送信セッション処理部 125-1— 125-Nでは受信端末 2から ACKパケットを 受信した際、その ACKパケットが重複 ACKであれば(図 4ステップ S10)、データの 再送処理を行うと同時に(図 4ステップ S11)、輻輳ウィンドサイズの変更を行う(図 4ス テツプ S 12)。

[0082] 送信セッション処理部 125-1— 125-Nでは受信端末 2からの ACKパケットが重複 ACKでなければ(図 4ステップ S10)、受信が確認されたデータを送信バッファ 124— 1一 124-Nから消去し(図 4ステップ S13)、輻輳ウィンドサイズの変更を行う(図 4ス テツプ S14)。尚、この処理に関しても文献 1に詳しく記載されているので、その説明 については詳述しない。

[0083] 受信セッション処理部 121—1— 121—Nは ACKパケットを送信端末 3に返送する際 、受信バッファが満たされていると(図 5ステップ S21)、 0バイトの広告ウィンドサイズ を広告するため(図 5ステップ S22)、送信端末 3はこの ACKパケットを受けて送信を 停止してしまう。

[0084] そこで、本実施形態によるセッション中継装置 1では、受信バッファ 122— 1— 122— Nの空き容量が一定以下となると(図 5ステップ S23)、重複 ACK生成部 127—1— 1 27— Nによって送信端末 3が輻輳ウィンドを引き下げるだけに十分な数 (一般的に「3 」)の重複 ACKパケットをすぐさま、もしくはパケットを受信する度に、送信端末 3に送 信し(図 5ステップ S24)、送信端末 3のデータ出力レートを引き下げさせる。

[0085] また、本発明によるセッション中継装置 1では 0バイトの広告ウィンドサイズが広告さ れた場合でも早期に送信端末 3がデータ送信を再開することができるように、受信バ ッファ 122— 1— 122— Nに一定値(MSS ; Maximum Segment Size)以上の空き 容量ができると(図 5ステップ S25, S26)、すぐに ACKパケットを生成して送信端末 3 に送信再開を促す(図 5ステップ S27)。

[0086] そのため、送信再開 ACK生成部 126—1 126—Nでは、帯域制御部 123—1— 12 3—Nによって受信バッファ 122—1 122—Nから送信バッファ 124—1 124—Nにデ ータが移動された際、受信バッファ 122— 1 122— Nの空き容量を調べ、これがもし 一定値以上となっていれば、 ACKパケットを生成して送信端末 3に送信する。

[0087] このセッション中継装置 1から受信端末 2へのセッションの帯域は、送信セッション処 理部 125-1— 125— Nで計算される輻輳ウィンドサイズに依存し、輻輳ウィンドサイズ が大きいほど帯域が大きくなる。

[0088] 輻輳ウィンドサイズは TCPのウィンドフロー制御アルゴリズムによって計算され、パ ケット廃棄が発生せずに正しくパケットが受信された際に線形に輻輳ウィンドサイズを 増加させ(図 6ステップ S31 , S32)、パケット廃棄が発生した時には輻輳ウィンドサイ ズに 1以下の定数を乗じて減少させる(図 6ステップ S31, S33)。

[0089] 本実施形態では、前者を輻輳ウィンド上げ幅、後者を輻輳ウィンド下げ率と表記す ることとし、本実施形態ではこれらの制御パラメータを動的に変更することで受信端末 2へのセッションの帯域が設定帯域と等しくなるように制御する。

[0090] 帯域制御部 123— 1一 123—Nから送信バッファ 124—1— 124—Nへは設定帯域で データの移動を行うため、送信バッファ 124—1— 124—N内の滞留データ量が増加 するとレ、うことは受信端末 2へのセッションの帯域が設定帯域よりも小さレ、ことを意味し 、逆に滞留データ量が減少するということは受信端末 2へのセッションの帯域が設定 帯域よりも大きレ、ことを意味する。

[0091] したがって、本実施形態では、送信バッファ 124—1— 124— N内の滞留データ量が 予め定められた一定値 A以上になれば(図 6ステップ S34)、輻輳ウィンド上げ幅を大 きくするカもしくは輻輳ウィンド下げ率を小さくする力、もしくはその両方によって受 信端末へのセッションの帯域を増加させる(図 6ステップ S35)。

[0092] また、本実施形態では、送信バッファ 124—1— 124— N内の滞留データ量が予め 定められた別の一定値 B以下になれば(図 6ステップ S34)、輻輳ウィンド上げ幅を小 さくする力 \もしくは輻輳ウィンド下げ率を大きくするカもしくはその両方によって受 信端末 2へのセッションの帯域を減少させる(図 6ステップ S36)。

[0093] 受信端末 2との間のネットワークに輻輳が発生し(図 6ステップ S37)、制御パラメ一 タをどのように変更しても設定帯域を満足することができないと判断した時(図 6ステツ プ S37)、すなわちパケット廃棄率計算部 128— 1一 128— Nで計算した受信端末 2へ のセッション上のパケット廃棄率が一定値以上となる力 \もしくは輻輳ウィンド上げ幅 が一定値以上となるか、もしくは輻輳ウィンド下げ幅が一定値以下となる力 \もしくは 再送したパケットが廃棄されて再送がタイムアウトした場合には、輻輳ウィンド上げ幅 を一定値 A以上とはせず、輻輳ウィンド下げ率を一定値 B以下とはしなレ、(図 6ステツ プ S38)。

[0094] このような場合、帯域制御部 123— 1一 123— Nは、設定帯域の再設定や、経路の 再設定を期待して、輻輳通知信号生成部 130-1— 130-Nから本セッション中継装 置管理者や管理システム等に輻輳を通知する(図 6ステップ S39)。

[0095] (第 2の実施形態)

図 7は本発明の第 2の実施形態によるセッション中継装置の構成を示すブロック図 である。図 7において、本発明の第 2の実施形態によるセッション中継装置のセッショ ン中継部 14—1一 14—Nはそれぞれ、平均キュー長計算部 141—1一 141—N, 142 _1一 142—N (平均キュー長計算部 141—2— 141—N, 142—2— 142—Nは図示せ ず)を付加した以外は図 2に示す本発明の第 1の実施形態と同様の構成となっており 、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の 第 1の実施形態と同様である。

[0096] 平均キュー長計算部 141—1一 141—Nは受信バッファ 122—1— 122—N内の平均 滞留データ量を計算し、平均キュー長計算部 142-1 142-Nは送信バッファ 124

一 1一 124— N内の平均滞留データ量を計算する。

[0097] この図 7を参照して本発明の第 2の実施形態によるセッション中継装置の動作につ いて説明する。以下、本発明の第 2の実施形態における本発明の第 1の実施形態と の相違点のみについて説明する。

[0098] 本発明の第 1の実施形態においては、重複 ACK生成部 127—1— 127— Nが受信 バッファ 122—1 122—Nの空き容量を基に重複 ACK生成の判断を行っているが、 本実施形態においては平均キュー長計算部 141一 1一 141一 Nで計算された平均受 信バッファ内滞留データ量を基に重複 ACK生成の判断を行っている。

[0099] また、本発明の第 1の実施形態においては、制御パラメータ計算部 129—1— 129— Nが送信バッファ 124—1— 124— N内の滞留データ量を基に制御パラメータの更新 を行っている力本実施形態においては平均キュー長計算部 142—1 142— Nで計 算された平均送信バッファ内滞留データ量を基に制御パラメータの更新を行ってい る。

[0100] (第 3の実施形態)

図 8は本発明の第 3の実施形態によるセッション中継装置の構成を示すブロック図 である。図 8において、本発明の第 3の実施形態によるセッション中継装置のセッショ ン中継部 15-1— 15-Nはそれぞれ、送信経過時間計算部 151-1— 151—N (送信 経過時間計算部 151— 2— 151— Nは図示せず)を付加した以外は図 2に示す本発 明の第 1の実施形態と同様の構成となっており、同一構成要素には同一符号を付し てある。また、同一構成要素の動作は本発明の第 1の実施形態と同様である。

[0101] 送信経過時間計算部 151—1— 151—Nは送信セッション処理部 125—1— 125—N においてデータ送信を開始してからの経過時間を計算し、その計算値を制御パラメ ータ計算部 129— 1 129— Nに渡している。

[0102] この図 8を参照して本発明の第 3の実施形態によるセッション中継装置の動作につ いて説明する。以下、本発明の第 3の実施形態における本発明の第 1の実施形態と の相違点のみについて説明する。

[0103] 本発明の第 1の実施形態においては、送信セッション処理部 125—1 125— Nで 使用する制御パラメータが送信バッファ内滞留データ量及びパケット廃棄率で決定さ れている力本実施形態においてはデータ送信を開始してからの経過時間をも用い る。

[0104] すなわち、受信端末 2へのセッションの帯域を増加させる際には、データ開始から の経過時間が短ければ、輻輳ウィンドの下げ率よりも上げ幅を優先して変更すること で、短いデータに対する帯域制御の追従性を向上させ、データ開始からの経過時間 が長ければ、輻輳ウィンドの上げ幅よりも下げ率を優先して変更することで、帯域制 御の安定化を図っている。

[0105] また、受信端末 2へのセッションの帯域を減少させる際には、データ開始からの経 過時間が短ければ、輻輳ウィンドの上げ幅よりも下げ率を優先して変更することで、 短いデータに対する帯域制御の追従性を向上させ、データ開始からの経過時間が 長ければ、輻輳ウィンドの下げ率よりも上げ幅を優先して変更することで、帯域制御 の安定化を図っている。

[0106] 尚、送信経過時間計算部 151 - 1一 151 - Nで計算される送信経過時間は新たな 通信を開始する際、すなわち TCPセッションの輻輳ウィンドがスロースタート動作する 際に 0へとリセットされる。

[0107] (第 4の実施形態)

図 9は本発明の第 4の実施形態によるセッション中継装置の構成を示すブロック図 である。図 9において、本発明の第 4の実施形態によるセッション中継装置のセッショ ン中継部 16— 1一 16— Nはそれぞれ、送信帯域計算部 161— 1一 161— N (送信帯域 計算部 161-2— 161 - Nは図示せず)を付加し、帯域制御部 123-1— 123 - Nの代 わりにデータ転送部 162— 1一 162-N (データ転送部 162— 2— 162_Nは図示せず )を設けた以外は図 2に示す本発明の第 1の実施形態と同様の構成となっており、同 一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の第 1 の実施形態と同様である。

[0108] 送信帯域計算部 161— 1一 161— Nはセッション中継装置 1から受信端末 2へのデ ータ送信帯域を計測し、その計測値を制御パラメータ計算部 129— 1一 129— Nに渡 している。

[0109] この図 9を参照して本発明の第 4の実施形態によるセッション中継装置の動作につ いて説明する。以下、本発明の第 4の実施形態における本発明の第 1の実施形態と の相違点のみについて説明する。

[0110] 本発明の第 1の実施形態においては、受信バッファ 122-1— 122— Nから送信バッ ファ 124—1— 124—Nへのデータ転送が帯域制御部 123—1— 123—Nにて制御され ているが、本実施形態においては、受信バッファ 122—1 122— Nに格納されたデ ータをデータ転送部 162_1 162-Nにてすぐさま送信バッファ 124—1— 124—Nに 転送している。

[0111] そのため、本実施形態ではデータ転送による帯域制御を行わず、送信帯域計算部 161—1 161—Nにて計算した受信端末 2へのセッションの送信帯域を基にそのセッ シヨンの制御パラメータを変更することで帯域制御を行っている。

[0112] すなわち、本実施形態では、送信帯域計算部 161— 1一 161— Nにてセッション中 継装置 1から受信端末 2へのセッションの帯域を計算し、この帯域が目標帯域ゃ全セ ッシヨンの平均帯域 (重み付き)よりも小さければ、輻輳ウィンド上げ幅を大きくするか

、もしくは輻輳ウィンド下げ率を小さくする力、もしくはその両方によって受信端末 2へ のセッションの帯域を増加させてレ、る。

[0113] さもなければ、本実施形態では、輻輳ウィンド上げ幅を小さくする力 \もしくは輻輳ゥ インド下げ率を大きくする力、もしくはその両方によって受信端末 2へのセッションの 帯域を減少させている。送信帯域計算部 161-1— 161-Nでは受信端末 2からの A CKパケットを観測し、単位時間当りに受信確認されたバイト数を基に送信帯域を計 算している。

[0114] また、本実施形態では、帯域制御部 123— 1一 123-Nではなぐデータ転送部 162 —1一 162— Nが受信バッファ 122— 1 122— Nから送信バッファ 124— 1— 124— Nに データを移動した際、受信バッファ 122— 1一 122—Nの空き容量を調べて送信再開 ACKを生成している。

[0115] (第 5の実施形態)

図 10は本発明の第 5の実施形態によるセッション中継装置の構成を示すブロック図 である。図 10おいて、本発明の第 5の実施形態によるセッション中継装置のセッショ ン中継部 17—1 17—Nはそれぞれ、受信バッファ 122—1 122—Nとデータ転送部

162— 1一 162— Nとを除き、受信セッション処理部 121— 1— 121— Nが送信バッファ 1 24-1- 124— Nに直接データを書込むようにした以外は図 9に示す本発明の第 4の 実施形態と同様の構成となっており、同一構成要素には同一符号を付してある。また 、同一構成要素の動作は本発明の第 4の実施形態と同様である。

[0116] この図 10を参照して本発明の第 5の実施形態によるセッション中継装置の動作に ついて説明する。以下、本発明の第 5の実施形態における本発明の第 4の実施形態 との相違点のみについて説明する。

[0117] 本発明の第 4の実施形態においては、受信セッション処理部 121—1 121— Nに おいて受取られたデータは受信バッファ 122—1 122—Nとデータ転送部 162—1— 162—Nとを経由して送信バッファ 124—1 124—Nへと書込まれる力本実施形態 においては、受信セッション処理部 121—1 121—Nにおいて受取られたデータを 送信バッファ 124-1- 124—Nに直接書込んでレ、る。

[0118] 受信バッファ 122—1— 122—N力ら送信バッファ 124—1— 124-Nへのデータ転送 はデータ転送部 162-1— 162-Nにて制御されている力本実施形態においては受 信セッション処理部 121-1— 121-Nにおいて受取られたデータをすぐさま送信バッ ファ 124— 1— 124— Nに転送している。

[0119] そのため、本実施形態では、本発明の第 4の実施形態と同様に、送信帯域計算部 161— 1— 161— Nにおいて計算した受信端末 2へのセッションの帯域を基にそのセッ シヨンの制御パラメータを変更することで帯域制御を行っている。

[0120] また、本実施形態では、受信セッション処理部 121— 1一 21— Nから直接送信バッフ ァ 124— 1一 124— Nへとデータを書込んでレ、るため、送信端末 3に通知する広告ウイ ンドサイズには送信バッファ 124— 1一 124— Nの空き容量を広告する。さらに、本実 施形態では、重複 ACK生成部 127—1 127—Nが送信バッファ 124—1— 124-N の空き容量にしたがって重複 ACKを生成してレ、る。

[0121] さらにまた、本実施形態では、受信端末 2へのセッション力 ACKパケットを受取つ た際に、送信端末 3に対して送信再開 ACKを生成する。すなわち、本実施形態では 、送信バッファ 124—1— 124—Nが満たされており、送信端末 3に対して 0バイトの広 告ウィンドが広告されている時、セッション中継装置 1が受信端末 2から受信確認の A

CKを受取れば、この ACKによって確認されたデータが送信バッファ 124-1— 124 -Nから取り除かれ、送信バッファ 124-1— 124-Nに空き容量ができることとなる。

[0122] この時、送信セッション処理部 125— 1一 125— Nは送信再開 ACK生成部 126— 1 一 126—Nに対してバッファ容量確認の信号を送り、送信再開 ACK生成部 126-1— 126—Nではこの信号を受けて送信バッファ容量を調べ、もし送信バッファ 124— 1一 124— Nの空き容量が一定値以上となっていれば、送信再開のための ACKを生成し て送信端末 3に通知する。

[0123] これに対し、本発明の第 4の実施形態では、帯域制御部 123—1 123— Nではなく 、データ転送部 162_1— 162—Nが受信バッファ 122—1— 122—Nから送信バッファ 124— 1 124— Nにデータを移動した際、受信バッファ 122—1— 122—Nの空き容 量を調べて送信再開 ACKを生成してレ、る。

[0124] (第 6の実施形態)

図 11は本発明の第 6の実施形態によるセッション中継装置の構成を示すブロック図 である。図 11において、本発明の第 6の実施形態によるセッション中継装置のセッシ ヨン部 18_1— 18— Nは、平均広告ウィンド計算部 181— 1一 181— N (平均広告ウイ ンド計算部 181-2— 181-Nは図示せず)を付加した以外は図 2に示す本発明の第 1の実施形態と同様の構成となっており、同一構成要素には同一符号を付してある。 また、同一構成要素の動作は本発明の第 1の実施形態と同様である。

[0125] この図 11を参照して本発明の第 6の実施形態によるセッション中継装置の動作に ついて説明する。以下、本発明の第 6の実施形態における本発明の第 1の実施形態 との相違点のみについて説明する。

[0126] 本実施形態においては、制御パラメータ計算部 129—1 129-Nにおいて受信端 末 2へのセッションの制御パラメータを計算する際、受信端末 2から通知される広告ゥ インドサイズを用いている。すなわち、本実施形態においては、平均広告ウィンド計 算部 181—1 181— Nにおいて受信端末 2から通知される広告ウィンドサイズの平均 を随時計算し、もし広告ウィンドサイズの平均が予め定めた閾値以上になれば、輻輳 ウィンド上げ幅を小さくする力 \もしくは輻輳ウィンド下げ率を大きくする力もしくはそ の両方によって受信端末 2へのセッションの帯域を減少させている。

[0127] (第 7の実施形態)

図 12は本発明の第 7の実施形態によるセッション中継装置の構成を示すブロック図 である。図 12において、本発明の第 7の実施形態によるセッション中継装置のセッシ ヨン中継部 19—1一 19一 Nは、送信帯域計算部 161— 1一 161— Nの代わりに平均広 告ウィンド計算部 181— 181— Nを設けた以外は図 9に示す本発明の第 4の実施形 態と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一 構成要素の動作は本発明の第 4の実施形態と同様である。

[0128] 上述した本発明の第 1から第 6の実施形態においては、セッション中継装置 1が設 定帯域にしたがって送信端末 3と受信端末 2との間の帯域を制御しているが、本実施 形態においては設定帯域を設定せず、受信端末 2が受信可能な帯域を目標として 送信端末 3と受信端末 2との間の帯域制御を行っている。

[0129] この図 12を参照して本発明の第 7の実施形態によるセッション中継装置の動作に ついて説明する。以下、本発明の第 7の実施形態における本発明の第 4の実施形態 との相違点のみについて説明する。

[0130] 本実施形態においては、制御パラメータ計算部 129-1— 129— Nにおいて受信端 末 2へのセッションの制御パラメータを計算する際、受信端末 2へのセッションの帯域 によって制御パラメータの変更を行うのではなぐ受信端末 2から通知される広告ウイ ンドサイズによって制御パラメータの変更を行っている。

[0131] すなわち、本実施形態においては、平均広告ウィンド計算部 181-1— 181-Nに おいて受信端末 2から通知される広告ウィンドサイズの平均を随時計算し、もし広告 ウィンドサイズの平均が予め定めた閾値以上になれば、輻輳ウィンド上げ幅を小さく するか、もしくは輻輳ウィンド下げ率を大きくする力もしくはその両方によって受信端 末 2へのセッションの帯域を減少させてレ、る。

[0132] また、本実施形態においては、広告ウィンドサイズの平均が予め定めた別の閾値以 下になれば、輻輳ウィンド上げ幅を大きくする力 \もしくは輻輳ウィンド下げ率を小さく する力 \もしくはその両方によって受信端末 2へのセッションの帯域を増加させている

[0133] (第 8の実施形態)

図 13は本発明の第 8の実施形態によるセッション中継装置の構成を示すブロック図 である。図 13において、本実施形態によるセッション中継装置はセッション識別部 11 と、セッション送信部 41一 1一 41一 Nと、セッション受信部 42— 1一 42— Nと、出力制御 部 13とから構成されている。

[0134] セッション識別部 11は到着したパケットが属するセッションを決定し、セッション送信 部 41—1一 41一 Nは送信端末内で受信端末へのセッションのデータ送信処理を行い 、セッション受信部 42_1— 42—Nは送信端末内で受信端末へのセッションからのデ ータ受信処理を行う。出力制御部 13はセッション送信部 41—1一 41—N及びセッショ ン受信部 42—1 42-Nから出力されたパケットを出力回線に出力する。

[0135] また、セッション送信部 41—1一 41—Nは送信データ生成部 417—1 417—N (送 信データ生成部 417—2 417—Nは図示せず)と、送信バッファ 411—1一 411—N ( 送信バッファ 411—2 411—Nは図示せず)と、送信セッション処理部 412—1 412 -N (送信セッション処理部 412-2— 412— Nは図示せず)と、送信帯域計算部 416— 1一 416-N (送信帯域計算部 416-2— 416 - Nは図示せず)と、パケット廃棄率計 算部 413-1— 413— N (パケット廃棄率計算部 413-2— 413— Nは図示せず)と、制 御パラメータ計算部 414—1一 414—N (制御パラメータ計算部 414—2— 414—Nは図 示せず)と、輻輳通知信号検出部 415-1— 415-N (輻輳通知信号検出部 415-2 一 415—Nは図示せず)とから構成されている。

[0136] 送信データ生成部 417-1— 417-Nは送信端末内のアプリケーションプログラムか らの送信データを送信バッファ 411—1一 411一 Nへと格納し、送信バッファ 411—1一 411一 Nは送信するデータを一時蓄えておく。送信セッション処理部 412— 1一 412— Nは受信端末へとデータを送信するセッションの処理を行う。

[0137] 送信帯域計算部 416— 1一 416— Nは受信端末へのデータ送信帯域を計測し、パ ケット廃棄率計算部 413—1 413—Nは受信端末へのセッションでのパケット廃棄率 を求め、制御パラメータ計算部 414一 1一 414一 Nは送信帯域及びパケット廃棄率か ら受信端末へのセッションの制御パラメータを変更する。輻輳通知信号検出部 415— 1一 415—Nはネットワークの輻輳によって設定帯域を満足することができないことを 通知する。

[0138] セッション受信部 42_1— 42_Nは受信セッション処理部 421—1— 421—N (受信セ ッシヨン処理部 421—2— 421—Nは図示せず)と、受信バッファ 422—1— 422—N (受 信バッファ 422_2— 422—Nは図示せず)と、受信データ処理部 425—1— 425_N ( 受信データ処理部 425—2 425 - Nは図示せず)と、送信再開 ACK生成部 423 - 1 一 423—N (送信再開 ACK生成部 423—2— 423—Nは図示せず)と、重複 ACK生成 部 424—1 424—N (重複 ACK生成部 424—2 424—Nは図示せず)と力構成さ れている。

[0139] 受信セッション処理部 421— 1一 421— Nは受信端末からのデータに対して受信処 理を行い、受信バッファ 422—1— 422—Nは受信したデータを一時蓄えておく。受信 データ処理部 425—1 425—Nは受信バッファ 422—1— 422—Nからアプリケーショ ンプログラムへ受信データを受渡す。

[0140] 送信再開 ACK生成部 423— 1一 423— Nは受信端末に対して送信再開を指示する ACKパケットを生成し、重複 ACK生成部 424— 1一 424— Nは受信端末に対して送 信レート減少を指示する重複 ACKを生成する。

[0141] TCPセッションでは、通常、送信端末と受信端末との間の双方向の通信を行ってい るため、本実施形態においては、一組の送信端末及び受信端末に対してそれぞれ 1 つのセッション送信部及びセッション受信部を使用する。そのため、本実施形態にお いては、セッション中継装置が送信端末あるいは受信端末を兼ねる。

[0142] 図 14は本発明の第 8の実施形態におけるセッション中継装置 (送信端末)とセッショ ン中継装置(受信端末)との間のデータの流れを示すブロック図である。図 14におい て、セッション中継装置 (送信端末) 4 2からセッション中継装置 (受信端末) 4 1へ データを送る場合、セッション中継装置(送信端末) 4一 2のセッション送信部 41—1一 2 力、ら出力されたデータパケットはセッション中継装置 (受信端末) 4一 1のセッション受 信部 42—1—1で受信処理が行われる。その結果、生成された ACKパケットはセッショ ン中継装置(送信端末) 4一 2のセッション送信部 41—1一 2へと返送される。

[0143] また、セッション中継装置 (受信端末) 4一 1からセッション中継装置 (送信端末) 4一 2 へデータを送る場合、セッション中継装置(受信端末) 4一 1のセッション送信部 41_1 _1から出力されたデータパケットはセッション中継装置(送信端末) 4一 2のセッション 受信部 42— 1一 2で受信処理が行われる。その結果、生成された ACKパケットはセッ シヨン中継装置(受信端末) 4一 1のセッション送信部 41-1一 1へと返送される。

[0144] 次に、図 13を参照して本発明の第 8の実施形態によるセッション中継装置の動作 について説明する。まず、セッション中継装置 (送信端末) 4一 2からセッション中継装 置 (受信端末) 4-1へのデータ転送について説明する。

[0145] アプリケーションプログラムが出力した送信データは、送信データ生成部 417—1 417—Nによって送信バッファ 411—1一 411—Nへと書込まれる。送信セッション処理 部 412— 1 412— Nは送信バッファ 411—1一 411— Nに書込まれたデータのセッショ ン中継装置 (受信端末) 4一 1へのデータ送信処理を行う。このデータ送信処理は上 述した本発明の第 1の実施形態によるデータ送信処理と同様であるため、その説明 については省略する。また、本実施形態におけるセッション中継装置(送信端末) 4一 2へのセッションの制御パラメータの変更に関しては、上述した本発明の第 4の実施 形態と同様であるため、その説明も省略する。

[0146] 続いて、セッション中継装置 (受信端末) 4一 1からセッション中継装置 (送信端末) 4 一 2へのデータ転送にっレ、て説明する。

[0147] 受信データ処理部 425-1— 425-Nはセッション中継装置(受信端末) 4-1から送 信されたデータの受信処理を行い、正しく受取ることができたデータを受信バッファ 4 22-1— 422— Nに格納する。このデータ受信処理は、上述した本発明の第 1の実施 形態によるデータ受信処理と同様であるので、その説明は省略する。

[0148] 受信バッファ 422—1— 422—Nに書込まれたデータは、受信データ処理部 425— 1 一 425—Nによって取出されてアプリケーションプログラムへと渡される。

[0149] 重複 ACK生成部 424—1— 424— Nは、上述した本発明の第 1の実施形態と同様 に、受信バッファ 422— 1一 422— Nの空き容量が一定以下となると、送信端末が輻輳 ウィンドを引き下げるだけに十分な数 (一般的に「3」)の重複 ACKパケットを送信端 末に送信し、送信端末のデータ出力レートを引き下げさせる。

[0150] また、送信再開 ACK生成部 423—1 423—Nは受信データ処理部 425—1— 425 —Nによって受信バッファ 422—1— 422—Nからアプリケーションプログラムへとデータ を移動した際、受信バッファ 422—1 422— Nの空き容量を調べ、これがもし一定値 以上となっていれば、 ACKパケットを生成して送信端末に送信する。

[0151] このように、本発明では、送信端末 3と受信端末 2との間でセッションを中継すること によって、送信端末 3と受信端末 2との間の通信帯域を制御するセッション中継装置 1において、セッション中継装置 1と受信端末 2との間のセッションのウィンドフロー制 御を変更することで、この間のスループットを向上し、ネットワークの混雑状況によらな レ、帯域制御を実現することができる。

[0152] また、本発明では、セッション中継装置 1において、セッション中継装置 1と受信端 末 2との間のセッションの送信バッファ内滞留パケット数を監視し、パケット数あるいは パケット数の平均値によって動的に制御パラメータの変更を行うことで、制御パラメ一 タを常に適切な値に保つことができる。

[0153] さらに、本発明では、送信端末 3とセッション中継装置 1との間のセッションの受信バ ッファ内滞留パケット数を監視し、パケット数あるいはその平均値がある一定値以上と なれば、同じ ACKシーケンス番号を持つ重複 ACKを送信端末 3に出力することで、 送信端末 3の送信レートを低下させ、受信バッファが頻繁に満たされるのを防ぐことが できる。

[0154] さらにまた、本発明では、受信端末 2から 1バイト以上の受信確認を行う ACKバケツ トを受信した時点で、もし一定量以上の受信バッファ空き容量を確保することができ れば、その時点で送信端末 3に対して 1以上の広告ウィンドサイズを持つ ACKバケツ トを送信することで、送信端末 3とセッション中継装置 1との間のセッションの受信バッ ファが満たされた場合でも早期に送信を再開させることができる。

[0155] 本発明では、受信端末 2から通知される広告ウィンドサイズを監視し、広告ウィンド サイズの平均がある一定値以上となれば、セッション中継装置 1から受信端末 2への セッションの制御パラメータを変更することで、セッション中継装置 1からの送信レート を低下させ、セッション中継装置 1から受信端末 2へのセッションの受信バッファが頻 繁に満たされるのを防ぐことができる。