(57)【要約】【課題】複数のネットワーク間の通信を中継し、ネットワーク毎に通信を制御し、その制御において帯域推測値に基づいて算出されるスロースタート閾値を用いた輻輳制御を、処理量の増加を抑え、効率的に実行する中継装置、中継方法及び中継プログラムを提供する。【解決手段】複数のネットワーク間の通信を中継し、ネットワーク毎に通信を制御する制御部を備え、制御部を介してネットワーク間の通信を行う中継装置において、往復遅延時間の最小値を用いた帯域推測値の推測を行い、帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部１を少なくとも１つ備える。【選択図】図５
2017158047.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御部を備え、前記制御部を介して前記ネットワーク間の通信を行う中継装置において、
往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部１を少なくとも１つ備えることを特徴とする中継装置。
【請求項２】
前記制御部１は、通信量以外の要因による前記往復遅延時間の変動が大きいネットワークでの通信を制御する請求項１に記載の中継装置。
【請求項３】
前記制御部１は、無線ネットワークでの通信を制御する請求項２に記載の中継装置。
【請求項４】
送信端末から受信したセグメントを記憶する記憶部を前記制御部毎にさらに備え、
前記制御部間での前記セグメントの入出力は前記記憶部を介して行うことにより、前記各制御部は独立して制御を行うことができる請求項１乃至３のいずれかに記載の中継装置。
【請求項５】
前記各制御部は、
前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、
前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送する請求項４に記載の中継装置。
【請求項６】
前記制御部１は、セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行う請求項１乃至５のいずれかに記載の中継装置。
【請求項７】
前記制御部１は、前記制御部１が通信を制御するネットワーク内の受信端末の数及び通信セッションの数の少なくとも１つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行う請求項１乃至６のいずれかに記載の中継装置。
【請求項８】
複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御ステップを有し、前記制御ステップにおいて前記ネットワーク間の通信のための処理を行う中継方法において、
往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御ステップ１を少なくとも１つ有することを特徴とする中継方法。
【請求項９】
送信端末から受信したセグメントを記憶部に記憶する記憶ステップを前記制御ステップ毎にさらに有し、
前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、
前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送する請求項８に記載の中継方法。
【請求項１０】
前記制御ステップ１では、セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行う請求項８又は９に記載の中継方法。
【請求項１１】
前記制御ステップ１では、前記制御ステップ１で通信を制御するネットワーク内の受信端末の数又は通信セッションの数の少なくとも１つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行う請求項８乃至１０のいずれかに記載の中継方法。
【請求項１２】
請求項８乃至１１のいずれかに記載の中継方法を実行するための中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワーク間の通信を中継し、ネットワーク毎に通信を制御する技術に関し、特に帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う技術に関する。
【背景技術】
【０００２】
現在、インターネット等のネットワークでは、ＴＣＰ（Transmission  Control  Protocol）が広く使用されている。ＴＣＰによる通信では、ネットワークにおいて利用者のアクセスが特定の宛先に集中し、通常行えるはずの通信ができなくなる状況を回避するための輻輳制御が行われている。輻輳制御については、ＲＦＣ（Request  for  Comments）２５８１で定義されたＴＣＰ  Ｒｅｎｏの他、様々な輻輳制御アルゴリズム（ＴＣＰ  Ｔａｈｏｅ、ＴＣＰ  Ｎｅｗ  Ｒｅｎｏ、ＴＣＰ  Ｖｅｇａｓ等）が提案されており、ＯＳ（Operating  System）により、さらにはＯＳのバージョンにより異なる輻輳制御アルゴリズムが搭載されている。
【０００３】
輻輳制御では、輻輳ウインドウというパラメータを使用して制御を行っており、送信端末は、輻輳ウインドウの大きさ（以下、単に「輻輳ウインドウ」と呼ぶこともある）まで、受信端末からの確認応答のセグメント（以下、「確認応答セグメント」とする）の到着を待たずに、セグメントを送信することができる（以下、送信端末が送信するセグメントを「データセグメント」とする）。この輻輳ウインドウは、ネットワークが輻輳状態ではないと判断されている間は増加されるが、ネットワークが輻輳状態であると判断されると、一気に減少される。減少する幅は輻輳制御アルゴリズムによって異なるが、いずれの場合も、セグメント損失時のこのような輻輳制御における輻輳ウインドウの制御は、ネットワークのスループット（ネットワークや通信回線の単位時間あたりの実効転送量）に影響を与える。特に、データ転送に時間を要する長距離高速通信ネットワークや、セグメント損失が発生し易い無線ネットワークにおいては影響が大きい。
【０００４】
無線ネットワークは、有線ネットワークに比べて、通信による輻輳に関係なく、電波干渉やビットエラー等の様々な原因でセグメント損失を起こし易く、輻輳状態と判断され易いネットワークである。よって、輻輳状態と判断される度に、輻輳制御が行われると、スループットの低下、セグメントの再送によるネットワーク帯域の圧迫、送信端末での再送処理の増加等、通信経路にあるネットワーク全体に影響を与えるので、輻輳制御の改善が進められている。
【０００５】
ＴＣＰ  ＷｅｓｔｗｏｏｄやＴＣＰ  Ｗｅｓｔｗｏｏｄ＋は、このような無線ネットワークをターゲットとして提案されたアルゴリズムである。無線ネットワークを想定しているが、実装されている技術には、長距離高速通信ネットワークにも応用できるものがある。ここで、ＴＣＰ  Ｗｅｓｔｗｏｏｄ＋による輻輳制御について説明する。
【０００６】
ＴＣＰ  Ｗｅｓｔｗｏｏｄ＋を用いてセグメントを送信する場合、輻輳制御におけるスロースタート、輻輳回避及び輻輳検知の各段階での制御はＴＣＰ  Ｒｅｎｏ等と同じ制御であるが、輻輳検知後の輻輳ウインドウの極端な減少を回避するために、輻輳検知後のスロースタート閾値は確認応答セグメントを受信した際に算出した帯域推測値を用いて求めており、さらにそれに合わせて輻輳ウインドウも変更している。具体的には、ｋ番目の確認応答セグメントに対する帯域推測値ＳＢＷＥｋを下記数１より算出し、さらに、ｋ番目の確認応答セグメントに対する利用可能帯域ＢＷＥｋを下記数２より算出する。
【０００７】
【数１】
2017158047.tif 000003
【０００８】
【数２】
2017158047.tif 000004
ここで、ＡＳは確認応答セグメントに含まれる確認応答の数であり、データセグメントと確認応答セグメントが１対１で送受信される場合、ＡＳは１であるが、複数のデータセグメントに対して１つの確認応答セグメントが送受信される場合は、送受信されたデータセグメントの数がＡＳとなる。ＳＳはセグメントサイズである。よって、ＡＳ×ＳＳは、確認応答セグメントの基となったデータセグメントの総データサイズとなる。ＲＴＴｋはｋ番目の確認応答セグメントに対する往復遅延時間である。往復遅延時間とは、送信端末がデータセグメントを送信した時点から、データセグメントが受信端末に届き、受信端末からの確認応答セグメントが送信端末に届くまでの時間である。αは定数で、０．９が推奨値とされている。そして、輻輳検知の条件のうち、早期再送の場合である同じ確認応答セグメントを３回受信した（以下、「三重複応答」とする）場合は、下記数３のようにスロースタート閾値ｓｓｔｈｒｅｓｈ及び輻輳ウインドウＣＷＮＤを変更し、再送タイマがタイムアウトした（以下、「再送タイムアウト」とする）場合は、下記数４のように変更する。
【０００９】
【数３】
2017158047.tif 000005
【００１０】
【数４】
2017158047.tif 000006
ここで、ＲＴＴｍｉｎは、ＲＴＴｋが計測されるまでの全ての往復遅延時間の中での最小値である。
【００１１】
上記のような制御を行うＴＣＰ  Ｗｅｓｔｗｏｏｄ＋の使用により無線ネットワークでの輻輳制御の改善を図ろうとした場合、送信端末と受信端末が無線ネットワークのみで通信するような通信経路全体を観測できる環境では改善が図れる。しかし、現在は無線ネットワークと有線ネットワークが混在する環境（以下、「混在ネットワーク環境」とする）が多く存在する。例えば、携帯電話やスマートフォンでのデータ通信では、携帯電話会社が構築している無線ネットワークとインターネットが混在した環境でデータ通信を行っており、ホテルやカフェ等で提供されている公衆無線ＬＡＮ（Local  Area  Network）でも、無線ネットワークとインターネットを介してデータ通信が行われている。このような混在ネットワーク環境では、ＴＣＰ  Ｗｅｓｔｗｏｏｄ＋を始め、従来のＴＣＰは送受信端末で実行され、通信経路を特定できないために、適切な制御を行えない可能性がある。この問題への対策の１つとして、ＲＦＣ２７５７にてＳｐｌｉｔ  ＴＣＰが提案されている。Ｓｐｌｉｔ  ＴＣＰによれば、無線や有線等のネットワーク特性に応じてネットワーク区間を分割し、各区間のネットワーク特性に合わせて適切なＴＣＰを適用することにより、輻輳制御の改善が期待できる。そして、Ｓｐｌｉｔ  ＴＣＰの実現方法として、ネットワーク区間を分割した地点に中継装置を設置する方法がある。
【００１２】
中継装置の使用を前提に、中継装置と端末間の通信が無線ネットワークで行われる場合、中継装置で使用するＴＣＰとしてＴＣＰ  Ｗｅｓｔｗｏｏｄ＋を採用すると、帯域推測値に基づいてスロースタート閾値を決定する方法において不都合が生じる可能性がある。例えば、公衆無線ＬＡＮのように、短距離通信である無線ネットワークと長距離通信であるインターネットの有線ネットワークを中継装置で接続した場合、無線ネットワークでの通信における往復遅延時間は、有線ネットワークでの通信における往復遅延時間に比べて非常に小さい。しかし、例えば無線ＬＡＮで採用されているＣＳＭＡ／ＣＡ（Carrier  Sense  Multiple  Access  with  Collision  Avoidance）方式で通信を行う場合、図１に示されるように、端末１Ｂが無線アクセスポイント２を経由してデータ（データセグメント）を送信する際、端末１Ｂが送信する前に端末１Ａが送信を行っていたら、フレーム送信間隔における最短の待ち時間であるＳＩＦＳ（Short  Interframe  Space）、ビジー状態のチャネルから信号が検出されなくなり、アイドル状態に移行したと判断されるまでの時間であるＤＩＦＳ（DCF（Distributed  Coordination  Function）  Interframe  Space）及びフレームの衝突を回避するためにフレーム送信を待機するランダムな時間であるバックオフを経て、端末１Ｂはデータ送信することになる。よって、端末１Ａや１Ｂがデータを送受信する場合、上記の時間のために、無線ネットワークでは有線ネットワークよりも遅延ジッタが生じる可能性がある。例えば、図２に示されるように、無線アクセスポイント２に有線ネットワークで接続されているサーバ３が、無線アクセスポイント２を経由して端末１Ａにデータを送信する場合、図２（Ａ）においてはデータ１とデータ２の間に、図２（Ｂ）においてはデータ２とデータ３の間に遅延ジッタが生じるようなことが起こり得る。また、多数の端末が同時期に多量のデータを送信する等により無線アクセスポイント上での待機データが急激に増えた場合、バッファオーバーフローにより待機データが破棄されると、三重複応答時での早期再送ではなく、再送タイムアウト時での再送処理を取るために、タイムアウトまで再送が待たされ、待機データが多いほど、破棄されたデータの再送処理が多く発生することになる。よって、往復遅延時間は通信データ量（通信量）以外の別の要因で変化し易く、輻輳検知時に往復遅延時間を用いて算出される帯域推測値、さらにはスロースタート閾値も別の要因で変化し易いことになる。また、通常、スロースタート段階では、輻輳ウインドウをスロースタート閾値まで急速に増加されることになり、送信レートも急速に増加するが、そのことが、無線ネットワークにおいてはセグメント損失の確率を高くすることになり、セグメント損失に伴う再送処理の発生する確率も高くなる。
【００１３】
このように、帯域推測値に基づいて求められるスロースタート閾値を用いた輻輳制御は、通信経路全体を観測できるならば、有効な手段ではあるが、中継装置を使用する混在ネットワーク環境において、特に無線ネットワークのように通信データ量に関係なく往復遅延時間が変化するネットワークに適用する場合は、改良が必要である。
【００１４】
中継装置により通信を改善する方法として、例えば特許第５０５９９７６号公報（特許文献１）にて開示されている方法がある。特許文献１の装置では、セッション毎に通信帯域を測定し、測定帯域と予め設定されている目標帯域を比較し、測定帯域が目標帯域を上回る場合は目標帯域でパケットが送信されるように帯域を抑制し、測定帯域が目標帯域を下回る場合はバッファリングしておいたパケットを代理再送することにより帯域を促進することによって、通信の安定化を図っている。帯域の抑制及び促進はパケットのヘッダの変更を伴わずに実行され、既存のＴＣＰ／ＩＰ処理に依存しない処理となっている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特許第５０５９９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、特許文献１の装置での処理は、既存のＴＣＰ／ＩＰ処理に依存しない処理としているために、通常のＴＣＰ処理とは別処理が必要となり、送信すべきパケット（セグメント）が多量となった場合、その処理が遅延の原因となってしまうおそれがある。
【００１７】
本発明は上述のような事情よりなされたものであり、本発明の目的は、複数のネットワーク間の通信を中継し、ネットワーク毎に通信を制御し、その制御において帯域推測値に基づいて算出されるスロースタート閾値を用いた輻輳制御を、処理量の増加を抑え、効率的に実行する中継装置、中継方法及び中継プログラムを提供することにある。
【課題を解決するための手段】
【００１８】
本発明は、複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御部を備え、前記制御部を介して前記ネットワーク間の通信を行う中継装置に関し、本発明の上記目的は、往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部１を少なくとも１つ備えることにより達成される。
【００１９】
本発明の上記目的は、前記制御部１は、通信量以外の要因による前記往復遅延時間の変動が大きいネットワークでの通信を制御することにより、或いは前記制御部１は、無線ネットワークでの通信を制御することにより、或いは送信端末から受信したセグメントを記憶する記憶部を前記制御部毎にさらに備え、前記制御部間での前記セグメントの入出力は前記記憶部を介して行うことにより、前記各制御部は独立して制御を行うことができることにより、或いは前記各制御部は、前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送することにより、或いは前記制御部１は、セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行うことにより、或いは前記制御部１は、前記制御部１が通信を制御するネットワーク内の受信端末の数及び通信セッションの数の少なくとも１つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行うことにより、より効果的に達成される。
【００２０】
また、本発明は、複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御ステップを有し、前記制御ステップにおいて前記ネットワーク間の通信のための処理を行う中継方法に関し、本発明の上記目的は、往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御ステップ１を少なくとも１つ有することにより達成される。
【００２１】
本発明の上記目的は、送信端末から受信したセグメントを記憶部に記憶する記憶ステップを前記制御ステップ毎にさらに有し、前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送することにより、或いは前記制御ステップ１では、セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行うことにより、或いは前記制御ステップ１では、前記制御ステップ１で通信を制御するネットワーク内の受信端末の数又は通信セッションの数の少なくとも１つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行うことにより、より効果的に達成される。
【００２２】
さらに、本発明の上記目的は、上記の中継方法を実行するための中継プログラムにより達成される。
【発明の効果】
【００２３】
本発明の中継装置、中継方法及び中継プログラムによれば、複数のネットワーク間の通信を中継する中での輻輳制御において、往復遅延時間の最小値を用いた帯域推測値の推測を行い、その帯域推測値に基づいて算出されるスロースタート閾値を使用することにより、従来の輻輳制御の枠組みの中で、通信量の急な増加によるセグメント損失を抑え、輻輳検知による再送のための時間を短縮し、効率的な制御を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】無線ＬＡＮでのデータ送信のタイミングを示すタイムチャートの概略図である。
【図２】無線ネットワークと有線ネットワークが接続しているネットワーク環境におけるデータ送信のイメージを示す図である。
【図３】本発明に係る中継装置を含んだ全体のネットワーク環境の構成例（第１実施形態）を示す図である。
【図４】第１実施形態でのセグメントの流れを示すイメージ図である。
【図５】第１実施形態の中継装置の構成例を示すブロック図である。
【図６】制御部１０の構成例を示すブロック図である。
【図７】制御部３０の構成例を示すブロック図である。
【図８】制御部３０の動作例の一部を示すフローチャートである。
【図９】制御部３０の動作例の一部を示すフローチャートである。
【図１０】輻輳制御による輻輳ウインドウの変化の例を示す図である。（Ａ）は従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋の場合の図、（Ｂ）は第１実施形態の場合の図である。
【図１１】第２実施形態の中継装置の構成例を示すブロック図である。
【図１２】制御部５０の構成例を示すブロック図である。
【図１３】制御部５０の動作例の一部を示すフローチャートである。
【発明を実施するための形態】
【００２５】
本発明では、複数のネットワーク間の通信を中継する中継装置において、特定のネットワークに対して、ＴＣＰ  Ｗｅｓｔｗｏｏｄ＋でのスロースタート閾値ｓｓｔｈｒｅｓｈの算出方法を改良した方法で輻輳制御を行っている。具体的には、ｋ番目の確認応答セグメントに対する帯域推測値ＳＢＷＥｋの算出を、数１ではなく、下記数５を用いて行う。
【００２６】
【数５】
2017158047.tif 000007
従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋では観測された往復遅延時間ＲＴＴｋが使用されているが、その代わりに、ＲＴＴｋが計測されるまでの全ての往復遅延時間の中での最小値であるＲＴＴｍｉｎを使用し、そのＲＴＴｍｉｎは１つのセグメントを送信するために必要な時間であると見做して、帯域推測値ＳＢＷＥｋを算出する。帯域推測値ＳＢＷＥｋ算出後は、従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋と同様の演算（数２〜４）によりスロースタート閾値ｓｓｔｈｒｅｓｈを算出し、輻輳制御を行う。帯域推測値ＳＢＷＥｋの算出に数５を用いることにより、帯域推測値ＳＢＷＥｋの変動が抑えられ、且つ、帯域推測値ＳＢＷＥｋを小さく見積もることができる。例えば、セグメントサイズＳＳが１４６０バイトで、１番目、２番目及び３番目の確認応答セグメントに含まれる確認応答の数ＡＳがそれぞれ５、１１及び２で、往復遅延時間がそれぞれ２６、３０及び２４秒の場合、従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋での帯域推測値ＳＢＷＥｋ（ｋ＝１，２，３）は下記数６となり、本発明での帯域推測値ＳＢＷＥｋは下記数７となり（小数点以下は切り捨て）、本発明では、帯域推測値ＳＢＷＥｋの変動が抑えられ、帯域推測値ＳＢＷＥｋが小さくなることがわかる。
【００２７】
【数６】
2017158047.tif 000008
【００２８】
【数７】
2017158047.tif 000009
このような輻輳制御が実行されるネットワーク（以下、「適用ネットワーク」とする）として、例えば、無線ネットワークのように、往復遅延時間が通信量以外の別の要因で変化し易いネットワークを採用した場合、帯域推測値ＳＢＷＥｋの変動が抑えられ、帯域推測値ＳＢＷＥｋが小さくなることによって、輻輳検知時に再設定されるスロースタート閾値ｓｓｔｈｒｅｓｈを小さくすることができ、再設定された後、輻輳ウインドウＣＷＮＤの増加率がスロースタートの段階より抑えられる輻輳回避の段階に早期に移行することができる。よって、急激な送信レートの増加を抑え、安定的な送信を行うことができ、セグメント損失を抑えることができる。
【００２９】
適用ネットワーク以外のネットワーク（以下、「非適用ネットワーク」とする）に対しては、ＴＣＰ  ＣＵＢＩＣ等の従来から使用されている標準のＴＣＰによる輻輳制御を行う。
【００３０】
なお、数５では、ＲＴＴｍｉｎを１つのセグメントを送信するために必要な時間であると見做しているが、１以外の数（整数でなくても良い）のセグメントを送信するために必要な時間と見做して帯域推測値ＳＢＷＥｋを算出しても良い。
【００３１】
本発明の中継装置では、このような輻輳制御を行なうために、制御対象のネットワーク毎に制御部を備えているが、さらにネットワーク毎に記憶部を備えることも可能である。送信端末から中継装置に送信されたデータセグメントは記憶部に記憶され、中継装置は記憶部に記憶されたデータセグメントを受信端末に送信する。そして、再送処理が必要な場合は、記憶部に記憶されているデータセグメントを使用して、受信端末に再送する。この記憶部を使用した処理は、適用ネットワークか非適用ネットワークかに関係なく実行されるので、各制御部は他の制御部でのセグメント送受信とは独立して処理を実行することができる。また、送信端末と受信端末間ではなく、中継装置と受信端末間で再送処理を実行するので、再送処理にかかる時間を短縮でき、送信端末と中継装置の間での再送のための通信量の増加を抑えることができる。なお、ネットワーク毎に記憶部を備えるのではなく、１つの記憶部のみを備え、ネットワーク毎にその記憶部内の記憶領域を分割して使用するようにしても良い。
【００３２】
以下に、本発明の実施の形態を、図面を参照して説明する。
【００３３】
図３は、本発明に係る中継装置を含んだ全体のネットワーク環境の構成例（第１実施形態）を示す。本構成例では、無線ネットワークを適用ネットワークとし、インターネット上の有線ネットワークを非適用ネットワークとしている。無線ネットワークでは、パソコンやタブレット等の受信端末４と無線アクセスポイント２との間でセグメントの送受信を行い、無線アクセスポイント２に中継装置５が直結されている。インターネット上の有線ネットワークでは、インターネット６を介してサーバ７が中継装置５に接続されている。なお、通常、中継装置５とサーバ７との間にルータ等を介するが、本構成例では省略している。
【００３４】
第１実施形態では、図４に示されるように、非適用ネットワークに接続されているサーバ７からデータセグメント（図４では「セグメント」と表記）が中継装置５に送信され、中継装置５は、データセグメントを受信したら、確認応答セグメント（図４では「応答」と表記）をサーバ７に送信すると共に、データセグメントを記憶部４０に記憶する。そして、適用ネットワークに接続されている受信端末４Ａに、記憶部４０に記憶されたデータセグメントを送信する。受信端末４Ａは、データセグメントを受信したら、確認応答セグメントを中継装置５に送信する。記憶部４０には、通信セッション毎にデータセグメントを記憶する領域（以下、「セッション別記憶バッファ」とする）が設けられており、サーバ７よりデータセグメントを受信したら、該当するセッション別記憶バッファに記憶する。
【００３５】
サーバ７から受信端末４Ａへのセグメント送受信における再送処理も、中継装置５を介して行われる。即ち、セグメント損失等によりサーバ７から中継装置５に送信されるデータセグメントの一部が中継装置５に正しく届かなかった場合、中継装置５は、従来のＴＣＰと同様の方法により、確認応答セグメントの有無や確認応答セグメント中のシーケンス番号を使用して、データセグメントの再送をサーバ７に要求する。中継装置５から受信端末４Ａに送信されるデータセグメントの一部が受信端末４Ａに正しく届かなかった場合は、中継装置５は、受信端末４Ａから送信される確認応答セグメントの有無や確認応答セグメント中のシーケンス番号よりそのことを判定し、記憶部４０に記憶されているデータセグメントを用いて、データセグメントの再送を行う。
【００３６】
第１実施形態の中継装置５の構成例を図５に示す。中継装置５は、制御部１０、セグメント管理部２０、制御部３０及び記憶部４０を備える。なお、図５には、図３における非適用ネットワークから適用ネットワークにデータセグメントを送信する場合の輻輳制御の説明に必要な構成要素のみを示している。このことは、後述の制御部１０及び制御部３０の構成例を示す図６及び図７においても同様である。
【００３７】
制御部１０は、サーバ７から送信されるデータセグメントＤｓｅｇを入力し、サーバ７に送信する確認応答セグメントＡｃｋＳを出力すると共に、データセグメントＤｓｅｇをセグメント管理部２０に出力する。制御部１０は、従来のＴＣＰ、例えばＴＣＰ  ＣＵＢＩＣにより輻輳制御を行う。なお、ＴＣＰはプロトコル構造でのトランスポート層に位置し、通常、サーバ７から送信されるデータはトランスポート層より下位の層を経て、トランスポート層に入力されるが、制御部１０が入力するデータセグメントＤｓｅｇは下位の層を経ているものとする。同様に、制御部１０が出力する確認応答セグメントＡｃｋＳは、下位の層を経て、サーバ７に送信されるものとする。
【００３８】
制御部１０の構成例を図６に示す。制御部１０はセグメント受信部１１０、確認応答生成部１２０及びセグメント送信部１３０を備える。セグメント受信部１１０は、データセグメントＤｓｅｇを入力し、ＴＣＰで通常実行されているエラー確認等のデータ入力処理を行った後、データセグメントＤｓｅｇを確認応答生成部１２０に出力すると共に、セグメント管理部２０に出力する。確認応答生成部１２０は、データセグメントＤｓｅｇの情報から、従来のＴＣＰと同様の手順により確認応答セグメントＡｃｋＳを生成し、セグメント送信部１３０に出力する。セグメント送信部１３０は、確認応答セグメントＡｃｋＳを下位の層へ出力するための処理を行った後、出力する。
【００３９】
セグメント管理部２０は、制御部１０から出力されるデータセグメントＤｓｅｇを入力し、記憶部４０に格納する。上述のように、記憶部４０には、通信セッション毎にセッション別記憶バッファが設けられているので、データセグメントＤｓｅｇ中の宛先ポート番号を基に通信セッションを特定し、対応するセッション別記憶部バッファにデータセグメントＤｓｅｇを格納する。
【００４０】
記憶部４０に記憶されているデータセグメントＤｓｅｇは、後述の制御部３０からのセグメント要求Ｒｓに従って、セグメント管理部２０を経由して制御部３０に入力される。セグメント管理部２０は、セグメント要求Ｒｓを基に、要求されている通信セッションとシーケンス番号に対応するデータセグメントＤｓｅｇを記憶部４０から読み込み、制御部３０に出力する。ただ、セッション別記憶バッファに最初に格納されるデータセグメントＤｓｅｇに関しては、記憶部４０に格納された時点で、制御部３０に出力する。
【００４１】
セグメント管理部２０は、後述の制御部３０からの消去指令Ｃｄに従った処理も行う。消去指令Ｃｄを基に、消去すべき通信セッションとシーケンス番号を確認し、対応するデータセグメントＤｓｅｇを記憶部４０から消去する。
【００４２】
制御部３０は、セグメント管理部２０から出力されるデータセグメントＤｓｅｇを入力し、受信端末４Ａに送信する。また、受信端末４Ａから送信される確認応答セグメントＡｃｋＲを入力し、確認応答セグメントＡｃｋＲの情報を基に、セグメント要求Ｒｓ及び消去指令Ｃｄを生成し、セグメント管理部２０に出力する。制御部３０では、数５に基づいた輻輳制御が行われる。なお、制御部１０と同様に、制御部３０に入力される確認応答セグメントＡｃｋＲは下位の層を経ているものとし、出力されるデータセグメントＤｓｅｇは下位の層を経て送信されるものとする。
【００４３】
制御部３０の構成例を図７に示す。制御部３０はセグメント受信部３１０、輻輳制御部３２０及びセグメント送信部３３０を備える。
【００４４】
セグメント受信部３１０は、確認応答セグメントＡｃｋＲを入力し、確認応答セグメントＡｃｋＲに対して、セグメント受信部１１０と同様に、ＴＣＰで通常実行されているエラー確認等のデータ入力処理を行った後、輻輳制御部３２０に出力する。
【００４５】
輻輳制御部３２０は、数５に基づいた輻輳制御を行う。輻輳制御はスロースタート、輻輳回避及び輻輳検知の段階があり、さらに、輻輳検知には三重複応答による輻輳検知と再送タイムアウトによる輻輳検知がある。三重複応答による輻輳検知では、シーケンス番号が同じ確認応答セグメントＡｃｋＲを３回連続で受信端末４Ａから受信した場合、輻輳検知と判定する。再送タイムアウトによる輻輳検知では、データセグメントＤｓｅｇを受信端末４Ａに送信後、所定の時間が経ってもそのデータセグメントＤｓｅｇに対する確認応答セグメントＡｃｋＲを受信しない場合、輻輳検知と判定する。これらの輻輳検知のタイミング以外がスロースタート又は輻輳回避の段階であり、スロースタートと輻輳回避の区別は、輻輳ウインドウＣＷＮＤとスロースタート閾値ｓｓｔｈｒｅｓｈとの比較により行われる。即ち、輻輳ウインドウＣＷＮＤがスロースタート閾値ｓｓｔｈｒｅｓｈより小さい場合はスロースタートの段階であり、そうでない場合は輻輳回避の段階である。
【００４６】
スロースタートにおいては、下記数８に従って輻輳ウインドウＣＷＮＤを更新し、輻輳回避においては、下記数９に従って輻輳ウインドウＣＷＮＤを更新する。
【００４７】
【数８】
2017158047.tif 000010
【００４８】
【数９】
2017158047.tif 000011
更新後、受信端末４Ａに送信すべきデータセグメントＤｓｅｇの通信セッションとシーケンス番号を確認応答セグメントＡｃｋＲから特定し、セグメント要求Ｒｓとしてセグメント管理部２０に出力する。なお、複数のデータセグメントＤｓｅｇの要求に対して、１つのセグメント要求Ｒｓを出力するようにしても良い。
【００４９】
三重複応答による輻輳検知の場合は、前記数３に従って、スロースタート閾値ｓｓｔｈｒｅｓｈ及び輻輳ウインドウＣＷＮＤを変更し、再送タイムアウトによる輻輳検知の場合は、前記数４に従って、スロースタート閾値ｓｓｔｈｒｅｓｈ及び輻輳ウインドウＣＷＮＤを変更する。この際に使用する帯域推測値ＳＢＷＥｋ及び利用可能帯域ＢＷＥｋは、確認応答セグメントＡｃｋＲを入力する度に、前記数５及び数２に従って、最新の値にしておく。帯域推測値ＳＢＷＥｋの算出に使用する往復遅延時間の最小値ＲＴＴｍｉｎは、制御部３０がデータセグメントＤｓｅｇを送信してから、それに対する確認応答セグメントＡｃｋＲを受信するまでの時間を往復遅延時間として算出し、算出された往復遅延時間をその時点での最小値と比較することにより、更新していく。利用可能帯域ＢＷＥｋの算出に使用する定数αは、ＴＣＰ  Ｗｅｓｔｗｏｏｄ＋の推奨値である０．９とする。スロースタート閾値ｓｓｔｈｒｅｓｈ及び輻輳ウインドウＣＷＮＤの変更後は、受信端末４Ａに再送すべきデータセグメントＤｓｅｇの通信セッション及びシーケンス番号をセグメント要求Ｒｓとしてセグメント管理部２０に出力する。
【００５０】
データセグメントＤｓｅｇが正常に受信端末４Ａに送信された場合、記憶部４０に記憶されている当該のデータセグメントＤｓｅｇは不要となるから、輻輳制御部３２０からセグメント管理部２０に消去指令Ｃｄを出力し、当該のデータセグメントＤｓｅｇを記憶部４０から消去するようにする。データセグメントＤｓｅｇが正常に送信されたかは、スロースタート及び輻輳回避の段階において、確認応答セグメントＡｃｋＲ中のシーケンス番号を用いて、従来のＴＣＰの場合と同様に、入力した確認応答セグメントＡｃｋＲが次のデータセグメントの送信を要求する確認応答セグメントであるかで判定する。消去すべきデータセグメントＤｓｅｇの通信セッション及びシーケンス番号を消去指令Ｃｄとして出力し、セグメント管理部２０は、消去指令Ｃｄより消去すべきデータセグメントＤｓｅｇを特定し、記憶部４０から消去する。なお、複数のデータセグメントＤｓｅｇの消去に対して、１つの消去指令Ｃｄを出力するようにしても良い。
【００５１】
セグメント要求Ｒｓによりセグメント管理部２０から出力されるデータセグメントＤｓｅｇを輻輳制御部３２０が入力したら、セグメント送信部３３０に出力する。ただ、セッション別記憶バッファに最初に格納されるデータセグメントＤｓｅｇに関しては、確認応答セグメントＡｃｋＲに基づいたセグメント要求Ｒｓを生成することができないので、データセグメントＤｓｅｇが記憶部４０に格納された時点でセグメント管理部２０から輻輳制御部３２０にデータセグメントＤｓｅｇが入力され、それをセグメント送信部３３０に出力する。
【００５２】
セグメント送信部３３０は、データセグメントＤｓｅｇに対して、セグメント送信部１３０と同様に、下位の層へ出力するための処理を行った後、出力する。
【００５３】
なお、受信端末４Ａへのデータセグメント送信に当たっては、受信端末４Ａが備えるバッファに基づいて設定されるウインドウサイズによるフロー制御も実行されるが、本実施形態では、輻輳ウインドウに比べてウインドウサイズは常に大きく、データセグメント送信は輻輳制御にのみ依存して実行されるものとする。
【００５４】
以上の構成において、確認応答セグメントＡｃｋＲを入力してからの制御部３０の動作例を、図８及び図９のフローチャートを参照して説明する。
【００５５】
制御部３０が確認応答セグメントＡｃｋＲを入力したら（ステップＳ１０）、確認応答セグメントＡｃｋＲはセグメント受信部３１０に入力される。セグメント受信部３１０は、確認応答セグメントＡｃｋＲに対してデータ入力処理を行い（ステップＳ２０）、輻輳制御部３２０に出力する。
【００５６】
輻輳制御部３２０は、確認応答セグメントＡｃｋＲの情報を基に往復遅延時間を算出し、算出された往復遅延時間が往復遅延時間の最小値ＲＴＴｍｉｎより小さい場合は、算出された往復遅延時間をＲＴＴｍｉｎとし、そうでなければ、ＲＴＴｍｉｎはそのままとする（ステップＳ３０）。そして、往復遅延時間の最小値ＲＴＴｍｉｎを用いて、数５及び数２より帯域推測値ＳＢＷＥｋ及び利用可能帯域ＢＷＥｋを算出する（ステップＳ４０）。
【００５７】
次に、輻輳制御部３２０は、確認応答セグメントＡｃｋＲ中のシーケンス番号を確認し、３回連続同じシーケンス番号である三重複応答であるか確認し（ステップＳ５０）、確認結果が三重複応答ではない場合、輻輳ウインドウＣＷＮＤとスロースタート閾値ｓｓｔｈｒｅｓｈとを比較する（ステップＳ６０）。輻輳ウインドウＣＷＮＤがスロースタート閾値ｓｓｔｈｒｅｓｈより小さい場合、スロースタートの段階と判定し、数８により輻輳ウインドウＣＷＮＤを更新し（ステップＳ７０）、輻輳ウインドウＣＷＮＤがスロースタート閾値ｓｓｔｈｒｅｓｈ以上の場合は、輻輳回避の段階と判定し、数９により輻輳ウインドウＣＷＮＤを更新する（ステップＳ８０）。そして、確認応答セグメントＡｃｋＲが次のデータセグメントの送信を要求する確認応答セグメントであるか確認し（ステップＳ９０）、次のデータセグメント送信要求の場合、送信すべきデータセグメントＤｓｅｇの通信セッションとシーケンス番号を確認応答セグメントＡｃｋＲから特定し、セグメント要求Ｒｓとしてセグメント管理部２０に出力する（ステップＳ１００）。さらに、確認応答セグメントＡｃｋＲが次のデータセグメント送信要求であることによって正常に送信されたことが確認されたデータセグメントＤｓｅｇを記憶部４０から消去するために、当該データセグメントＤｓｅｇの通信セッション及びシーケンス番号を消去指令Ｃｄとしてセグメント管理部２０に出力する（ステップＳ１１０）。確認応答セグメントＡｃｋＲが次のデータセグメント送信要求ではない場合、リターンとなる。なお、ステップＳ１００とステップＳ１１０の順番は逆でも良い。
【００５８】
ステップＳ５０において、確認結果が三重複応答の場合は、輻輳検知と判定し、ステップＳ４０で算出した帯域推測値ＳＢＷＥｋ及び利用可能帯域ＢＷＥｋを用いて、数３よりスロースタート閾値ｓｓｔｈｒｅｓｈ及び輻輳ウインドウＣＷＮＤを変更する（ステップＳ１２０）。そして、確認応答セグメントＡｃｋＲの情報より、再送すべきデータセグメントＤｓｅｇを特定し、当該データセグメントＤｓｅｇの通信セッション及びシーケンス番号をセグメント要求Ｒｓとしてセグメント管理部２０に出力する（ステップＳ１３０）。
【００５９】
セグメント要求Ｒｓに応じて、セグメント管理部２０からデータセグメントＤｓｅｇが出力され、輻輳制御部３２０がデータセグメントＤｓｅｇを入力したら（ステップＳ１４０）、そのデータセグメントＤｓｅｇをセグメント送信部３３０に出力する。
【００６０】
セグメント送信部３３０は、入力したデータセグメントＤｓｅｇに対して、下位の層へ出力するための処理を行い、出力する（ステップＳ１５０）。出力の際、出力したデータセグメントＤｓｅｇに対する再送タイマをスタートさせる（ステップＳ１６０）。
【００６１】
以上の動作が、確認応答セグメントＡｃｋＲが入力される度に実行される。
【００６２】
再送タイムアウトによる輻輳検知での再送処理は、再送タイマからの割込みにより実行される。即ち、再送タイマが、設定された時間を越えてタイムアウトとなったら、割込みが発生し、再送タイムアウトによる輻輳検知として、ステップＳ４０で算出した帯域推測値ＳＢＷＥｋ及び利用可能帯域ＢＷＥｋを用いて、数４よりスロースタート閾値ｓｓｔｈｒｅｓｈ及び輻輳ウインドウＣＷＮＤを変更する（ステップＳ２００）。その後、三重複応答による輻輳検知の場合と同様に、確認応答セグメントＡｃｋＲの情報より、再送すべきデータセグメントＤｓｅｇを特定し、当該データセグメントＤｓｅｇの通信セッション及びシーケンス番号をセグメント要求Ｒｓとしてセグメント管理部２０に出力する（ステップＳ２１０）。そして、ステップＳ１４０〜Ｓ１６０と同じ動作により、データセグメントＤｓｅｇを出力し、再送タイマをスタートさせる（ステップＳ２２０〜Ｓ２４０）。
【００６３】
なお、再送タイムアウトによる輻輳検知での再送処理は、割込みによる処理ではなく、再送タイマの適宜チェックによる処理等で実行しても良い。また、本再送処理でのステップＳ２２０〜Ｓ２４０を本再送処理では実行せず、ステップＳ１４０〜Ｓ１６０の実行で兼用しても良い。
【００６４】
上記の説明は、非適用ネットワークから適用ネットワークにデータセグメントを送信する場合の構成及び動作についての説明だが、逆方向、即ち、適用ネットワークから非適用ネットワークへのデータセグメントの送信も本実施形態で可能である。この場合も中継装置５を介してデータセグメントが送信されるが、受信端末４Ａから中継装置５へのデータセグメント送信及び中継装置５からサーバ７へのデータセグメント送信では、共に従来のＴＣＰによる輻輳制御が行われ、制御部３０が制御部１０と同様な動作を行う。この場合、セグメント受信部１１０、確認応答生成部１２０及びセグメント送信部１３０と同等な構成要素を制御部３０にそれぞれ備えさせても良いし、セグメント受信部３１０、輻輳制御部３２０及びセグメント送信部３３０が、それぞれセグメント受信部１１０、確認応答生成部１２０及びセグメント送信部１３０の機能を兼ねるようにしても良い。制御部１０は、制御部３０と同様な動作を行うが、輻輳制御は従来のＴＣＰにより行われる。この場合も、セグメント受信部３１０、輻輳制御部３２０（但し、従来のＴＣＰによる輻輳制御を実行）及びセグメント送信部３３０と同等な構成要素を制御部１０にそれぞれ備えさせても良いし、セグメント受信部１１０、確認応答生成部１２０及びセグメント送信部１３０が、それぞれセグメント受信部３１０、輻輳制御部３２０及びセグメント送信部３３０の機能を兼ねるようにしても良い。なお、記憶部については、記憶部４０とは別の記憶部を備えるか、記憶部４０に別の領域を設けるかして、記憶するデータセグメントを区別するようにする。
【００６５】
ここで、第１実施形態の効果を、従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋による輻輳制御と比較することにより説明する。
【００６６】
図１０は、従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋による輻輳制御での輻輳ウインドウＣＷＮＤの変化と、第１実施形態による輻輳制御での輻輳ウインドウＣＷＮＤの変化を示す図である。図１０（Ａ）が従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋の場合で、図１０（Ｂ）が第１実施形態の場合で、縦軸が輻輳ウインドウＣＷＮＤ、横軸が時間である。実線が輻輳ウインドウＣＷＮＤの変化を、太い点線がスロースタート閾値ｓｓｔｈｒｅｓｈの変化を表わしており、ＢＷＥｋ×ＲＴＴｍｉｎの値を破線で示している。図１０において、三重複応答により輻輳制御が実行された時点（時点ｔ１）から、再送タイムアウトとなる輻輳ウインドウＣＷＮＤの値が同じであるとして、図１０（Ａ）及び（Ｂ）においてそれぞれ時点ｔ２及びｔ３で再送タイムアウトとなったとする。図１０からわかるように、図１０（Ｂ）の第１実施形態の場合、ＢＷＥｋ×ＲＴＴｍｉｎの値が小さく変動も少ない安定的な通信ができており、再送タイムアウトとなるまでの時間が相対的に長くなり、輻輳制御が実行された時点ｔ１から再送タイムアウトの時点までの送信量（グレーとなっている三角形の領域）も相対的に多くなっており、輻輳検知の回数を減らすことが可能となっている。また、再送タイムアウトとなった後、輻輳回避の段階（輻輳ウインドウＣＷＮＤがスロースタート閾値ｓｓｔｈｒｅｓｈ以上になる段階）までの移行時間が、図１０（Ｂ）の方が短いことがわかる。これにより、急激な送信レートの増加を抑え、セグメント損失を抑えることができる。
【００６７】
本発明の他の実施形態について説明する。
【００６８】
第１実施形態のように無線アクセスポイントを経由した通信では、図２に示されるように、通信データ量に関係なくランダムな遅延ジッタが生じるため、数５のように往復遅延時間の最小値ＲＴＴｍｉｎを１つのセグメントを送信するための時間と見做す方法は、受信端末が多い場合はランダムな遅延ジッタの影響を抑制できるので、有効である。しかし、受信端末が１台等、極端に少ない場合は、従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋での輻輳制御が有効に働く。そこで、中継装置での中継処理を開始する時点において受信端末の数又は通信セッションの数を検知し、検知された受信端末数（以下、「検知端末数」とする）又は通信セッション数（以下、「検知セッション数」とする）が所定の値（閾値）以上の場合のみ数５を用いた輻輳制御を行うようにする。つまり、検知端末数が受信端末用の閾値（以下、「端末閾値」とする）以上又は検知セッション数が通信セッション用の閾値（以下、「セッション閾値」とする）以上の場合、数５を用いて帯域推測値ＳＢＷＥｋを算出し、それ以外の場合（検知端末数が端末閾値より大きく、且つ検知セッション数がセッション閾値より大きい場合）、従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋で使用している数１を用いて帯域推測値ＳＢＷＥｋを算出する。
【００６９】
本実施形態（第２実施形態）の中継装置の構成例を図１１に示す。図５に示される第１実施形態の構成例と比べると、制御部３０が制御部５０となっている。他の構成要素は第１実施形態の構成例と同じであるから、説明は省略する。
【００７０】
制御部５０の構成例を図１２に示す。図７に示される第１実施形態での制御部３０の構成例と比べると、閾値設定部５４０及び対象検知部５５０が追加され、輻輳制御部３２０が輻輳制御部５２０となっている。他の構成要素は第１実施形態での制御部３０の構成例と同じであるから、説明は省略する。
【００７１】
閾値設定部５４０は、使用する無線アクセスポイントや使用目的、設置環境等に基づいて設定される端末閾値Ｔｈｔ及びセッション閾値Ｔｈｓを輻輳制御部５２０に出力する。
【００７２】
対象検知部５５０は、制御部５０が中継処理を開始した時点において、適用ネットワーク（本実施形態では無線ネットワーク）内の受信端末数及び通信セッション数を検知し、検知端末数Ｎｔ及び検知セッション数Ｎｓとして輻輳制御部５２０に出力する。
【００７３】
輻輳制御部５２０は、基本的な機能は輻輳制御部３２０と同じであるが、帯域推測値ＳＢＷＥｋの算出式を、検知端末数Ｎｔと端末閾値Ｔｈｔとの比較及び検知セッション数Ｎｓとセッション閾値Ｔｈｓとの比較に基づいて変える。具体的には、検知端末数Ｎｔが端末閾値Ｔｈｔ以上の場合、又は検知セッション数Ｎｓがセッション閾値Ｔｈｓ以上の場合、数５を用いて帯域推測値ＳＢＷＥｋを算出し、それ以外の場合、数１を用いて帯域推測値ＳＢＷＥｋを算出する。
【００７４】
第２実施形態での確認応答セグメントＡｃｋＲを受信してからの制御部５０の動作は、図８及び図９に示されている第１実施形態での動作例でのステップＳ４０の「帯域推測値、利用可能帯域算出」の動作が異なるのみで、他の動作は第１実施形態での動作例と同じである。その異なる箇所の動作例を、図１３のフローチャートを参照して説明する。なお、端末閾値Ｔｈｔ及びセッション閾値Ｔｈｓは閾値設定部５４０にて既に設定されており、検知端末数Ｎｔ及び検知セッション数Ｎｓは対象検知部５５０にて既に検知されているものとする。
【００７５】
輻輳制御部５２０は、往復遅延時間の最小値ＲＴＴｍｉｎ算出（図８のステップＳ３０）後、確認応答セグメントＡｃｋＲに含まれる確認応答の数ＡＳを確認する（ステップＳ４１０）。次に、閾値設定部５４０より端末閾値Ｔｈｔ及びセッション閾値Ｔｈｓを入力し（ステップＳ４２０）、対象検知部５５０より検知端末数Ｎｔ及び検知セッション数Ｎｓを入力する（ステップＳ４３０）。そして、検知端末数Ｎｔと端末閾値Ｔｈｔとの比較及び検知セッション数Ｎｓとセッション閾値Ｔｈｓとの比較を行い（ステップＳ４４０）、検知端末数Ｎｔが端末閾値Ｔｈｔ以上又は検知セッション数Ｎｓがセッション閾値Ｔｈｓ以上の場合、数５より帯域推測値ＳＢＷＥｋを算出し（ステップＳ４５０）、それ以外の場合、ステップＳ３０において算出した往復遅延時間ＲＴＴｋ及びステップＳ４１０で確認した確認応答の数ＡＳを用いて、数１より帯域推測値ＳＢＷＥｋを算出する（ステップＳ４６０）。帯域推測値ＳＢＷＥｋ算出後、数２より利用可能帯域ＢＷＥｋを算出する（ステップＳ４７０）。
【００７６】
なお、帯域推測値ＳＢＷＥｋの算出式を切り替える条件を、検知端末数Ｎｔが端末閾値Ｔｈｔ以上且つ検知セッション数Ｎｓがセッション閾値Ｔｈｓ以上の場合としても良い。また、検知端末数Ｎｔ及び端末閾値Ｔｈｔのみを使用しての切り替え、又は検知セッション数Ｎｓ及びセッション閾値Ｔｈｓのみを使用しての切り替えとしても良い。
【００７７】
上述の実施形態（第１実施形態、第２実施形態）でのネットワーク環境において高遅延での通信が発生する可能性がある場合、ＴＣＰの基本性能を向上するために、上述の実施形態に対して、ＲＦＣ３３９０で定義されている「大容量初期ウインドウ」、ＲＦＣ１３２３で定義されている「ウインドウ・スケーリング・オプション」、ＲＦＣ２０１８で定義されている「ＳＡＣＫ（Selective  Acknowledgement）」等を適用しても良い。これにより、中継装置の性能向上及び本実施形態との相乗効果が図れる。また、上述の実施形態では、適用ネットワーク及び非適用ネットワークはそれぞれ１つを想定しているが、それぞれ複数存在しても良い。その場合、制御部はネットワーク毎に用意される。
【００７８】
上述の実施形態での記憶部を除いた各構成要素の処理をプログラムで実現し、コンピュータと記憶装置の構成で上述の実施形態を実現することも可能である。
【００７９】
なお、本発明は上記形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。
【符号の説明】
【００８０】
１Ａ、１Ｂ                端末
２                        無線アクセスポイント
３、７                    サーバ
４、４Ａ                  受信端末
５                        中継装置
１０、３０、５０          制御部
２０                      セグメント管理部
４０                      記憶部
１１０、３１０            セグメント受信部
１２０                    確認応答生成部
１３０、３３０            セグメント送信部
３２０、５２０            輻輳制御部
５４０                    閾値設定部
５５０                    対象検知部
【図１】
2017158047.tif 000012
【図２】
2017158047.tif 000013
【図３】
2017158047.tif 000014
【図４】
2017158047.tif 000015
【図５】
2017158047.tif 000016
【図６】
2017158047.tif 000017
【図７】
2017158047.tif 000018
【図８】
2017158047.tif 000019
【図９】
2017158047.tif 000020
【図１０】
2017158047.tif 000021
【図１１】
2017158047.tif 000022
【図１２】
2017158047.tif 000023
【図１３】
2017158047.tif 000024
【手続補正書】
【提出日】平成29年2月13日(2017.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御部を備え、前記制御部を介して前記ネットワーク間の通信を行う中継装置において、
前記制御部として、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部１を少なくとも１つ備えることを特徴とする中継装置。
【請求項２】
前記制御部１は、通信量以外の要因による前記往復遅延時間の変動が大きいネットワークでの通信を制御する請求項１に記載の中継装置。
【請求項３】
前記制御部１は、無線ネットワークでの通信を制御する請求項２に記載の中継装置。
【請求項４】
送信端末から受信したセグメントを記憶する記憶部を前記制御部毎にさらに備え、
前記制御部間での前記セグメントの入出力は前記記憶部を介して行うことにより、前記各制御部は独立して制御を行うことができる請求項１乃至３のいずれかに記載の中継装置。
【請求項５】
前記各制御部は、
前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、
前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送する請求項４に記載の中継装置。
【請求項６】
前記制御部１は、前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行う請求項１乃至５のいずれかに記載の中継装置。
【請求項７】
前記制御部１は、前記制御部１が通信を制御するネットワーク内の受信端末の数及び通信セッションの数の少なくとも１つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行う請求項１乃至６のいずれかに記載の中継装置。
【請求項８】
複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御ステップを有し、前記制御ステップにおいて前記ネットワーク間の通信のための処理を行う中継方法において、
前記制御ステップとして、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御ステップ１を少なくとも１つ有することを特徴とする中継方法。
【請求項９】
送信端末から受信したセグメントを記憶部に記憶する記憶ステップを前記制御ステップ毎にさらに有し、
前記記憶ステップの実行後、前記送信端末から受信したセグメントが受信端末に受信されたことを前記制御ステップにおいて確認した場合、前記確認したセグメントを前記記憶部から消去し、
前記記憶ステップの実行後、前記送信端末から受信したセグメントの再送を前記受信端末に対して前記制御ステップにおいて行う場合、前記記憶部に記憶されたセグメントを再送する請求項８に記載の中継方法。
【請求項１０】
前記制御ステップ１では、前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行う請求項８又は９に記載の中継方法。
【請求項１１】
前記制御ステップ１では、前記制御ステップ１で通信を制御するネットワーク内の受信端末の数又は通信セッションの数の少なくとも１つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行う請求項８乃至１０のいずれかに記載の中継方法。
【請求項１２】
請求項８乃至１１のいずれかに記載の中継方法を実行するための中継プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明は、複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御部を備え、前記制御部を介して前記ネットワーク間の通信を行う中継装置に関し、本発明の上記目的は、前記制御部として、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部１を少なくとも１つ備えることにより達成される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
本発明の上記目的は、前記制御部１は、通信量以外の要因による前記往復遅延時間の変動が大きいネットワークでの通信を制御することにより、或いは前記制御部１は、無線ネットワークでの通信を制御することにより、或いは送信端末から受信したセグメントを記憶する記憶部を前記制御部毎にさらに備え、前記制御部間での前記セグメントの入出力は前記記憶部を介して行うことにより、前記各制御部は独立して制御を行うことができることにより、或いは前記各制御部は、前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送することにより、或いは前記制御部１は、前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行うことにより、或いは前記制御部１は、前記制御部１が通信を制御するネットワーク内の受信端末の数及び通信セッションの数の少なくとも１つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行うことにより、より効果的に達成される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
また、本発明は、複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御ステップを有し、前記制御ステップにおいて前記ネットワーク間の通信のための処理を行う中継方法に関し、本発明の上記目的は、前記制御ステップとして、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御ステップ１を少なくとも１つ有することにより達成される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
本発明の上記目的は、送信端末から受信したセグメントを記憶部に記憶する記憶ステップを前記制御ステップ毎にさらに有し、前記記憶ステップの実行後、前記送信端末から受信したセグメントが受信端末に受信されたことを前記制御ステップにおいて確認した場合、前記確認したセグメントを前記記憶部から消去し、前記記憶ステップの実行後、前記送信端末から受信したセグメントの再送を前記受信端末に対して前記制御ステップにおいて行う場合、前記記憶部に記憶されたセグメントを再送することにより、或いは前記制御ステップ１では、前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行うことにより、或いは前記制御ステップ１では、前記制御ステップ１で通信を制御するネットワーク内の受信端末の数又は通信セッションの数の少なくとも１つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行うことにより、より効果的に達成される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
第１実施形態のように無線アクセスポイントを経由した通信では、図２に示されるように、通信データ量に関係なくランダムな遅延ジッタが生じるため、数５のように往復遅延時間の最小値ＲＴＴｍｉｎを１つのセグメントを送信するための時間と見做す方法は、受信端末が多い場合はランダムな遅延ジッタの影響を抑制できるので、有効である。しかし、受信端末が１台等、極端に少ない場合は、従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋での輻輳制御が有効に働く。そこで、中継装置での中継処理を開始する時点において受信端末の数又は通信セッションの数を検知し、検知された受信端末数（以下、「検知端末数」とする）又は通信セッション数（以下、「検知セッション数」とする）が所定の値（閾値）以上の場合のみ数５を用いた輻輳制御を行うようにする。つまり、検知端末数が受信端末用の閾値（以下、「端末閾値」とする）以上又は検知セッション数が通信セッション用の閾値（以下、「セッション閾値」とする）以上の場合、数５を用いて帯域推測値ＳＢＷＥｋを算出し、それ以外の場合（検知端末数が端末閾値より小さく、且つ検知セッション数がセッション閾値より小さい場合）、従来のＴＣＰ  Ｗｅｓｔｗｏｏｄ＋で使用している数１を用いて帯域推測値ＳＢＷＥｋを算出する。