(57)【要約】  輻輳制御システムは、送信先に向けてパケットを送信する複数のリアクションポイントと、複数のリアクションポイントから送信されたパケットを受信するコンジェスチョンポイントと、を備える。コンジェスチョンポイントは、自身の輻輳を検知すると、受信したパケットを所定のアルゴリズムに従ってサンプリングし、サンプリングされたパケットの送信元であるリアクションポイントに対してフィードバックメッセージを送信する。各リアクションポイントは、フィードバックメッセージの受信状況に応じてターゲットレートを制御するだけでなく、フィードバックメッセージに依存しない初期化タイミングでターゲットレートを初期値に設定する。
2011155392.tif 000002
【特許請求の範囲】
【請求項１】
送信先に向けてパケットを送信する複数のリアクションポイントと、
前記複数のリアクションポイントから送信されたパケットを受信するコンジェスチョンポイントと
を備え、
前記コンジェスチョンポイントは、自身の輻輳を検知すると、前記受信したパケットを所定のアルゴリズムに従ってサンプリングし、前記サンプリングされたパケットの送信元であるリアクションポイントに対してフィードバックメッセージを送信し、
前記複数のリアクションポイントの各々は、前記フィードバックメッセージの受信状況に応じてターゲットレートを制御するだけでなく、前記フィードバックメッセージに依存しない初期化タイミングで前記ターゲットレートを初期値に設定する
輻輳制御システム。
【請求項２】
請求項１に記載の輻輳制御システムであって、
前記各リアクションポイントは、前記初期化タイミングの後に最初に受け取る前記フィードバックメッセージに応答した前記ターゲットレートの制御を禁止する
輻輳制御システム。
【請求項３】
請求項１又は２に記載の輻輳制御システムであって、
前記初期値は、最大送信レートである
輻輳制御システム。
【請求項４】
請求項１乃至３のいずれか一項に記載の輻輳制御システムであって、
前記初期化タイミングは、前記複数のリアクションポイント間で異なっている
輻輳制御システム。
【請求項５】
請求項１乃至４のいずれか一項に記載の輻輳制御システムであって、
前記初期化タイミングの間隔は、前記複数のリアクションポイント間で異なっている
輻輳制御システム。
【請求項６】
請求項１乃至５のいずれか一項に記載の輻輳制御システムであって、
前記初期化タイミングの間隔は、固定されていない
輻輳制御システム。
【請求項７】
請求項１乃至６のいずれか一項に記載の輻輳制御システムであって、
前記初期化タイミングで初期化信号を生成する初期化管理部を更に備え、
前記各リアクションポイントは、前記初期化信号に応答して、前記ターゲットレートを前記初期値に設定する
輻輳制御システム。
【請求項８】
請求項７に記載の輻輳制御システムであって、
前記初期化管理部は、前記複数のリアクションポイントに対して共通に設けられ、前記複数のリアクションポイントのそれぞれの前記初期化タイミングを管理し、前記それぞれのリアクションポイントに対して前記初期化タイミングで前記初期化信号を送信する
輻輳制御システム。
【請求項９】
請求項７に記載の輻輳制御システムであって、
前記初期化管理部は、前記複数のリアクションポイント毎に設けられ、前記複数のリアクションポイントのうち対応する一つの前記初期化タイミングを管理し、前記対応する一つのリアクションポイントに対して前記初期化タイミングで前記初期化信号を送信する
輻輳制御システム。
【請求項１０】
送信先に向けてパケットを送信し、フィードバックメッセージの受信状況に応じてターゲットレートを制御する、少なくとも１つのリアクションポイントを備え、
前記フィードバックメッセージは、前記リアクションポイントから送信されたパケットを受信したコンジェスチョンポイントが、自身の輻輳を検知し、前記受信したパケットを所定のアルゴリズムに従ってサンプリングした際、前記サンプリングされたパケットの送信元であるリアクションポイントに対して送信され、
前記リアクションポイントは、前記フィードバックメッセージに依存しない初期化タイミングで前記ターゲットレートを初期値に設定する
通信装置。
【請求項１１】
輻輳を検知すると、受信したパケットを所定のアルゴリズムに従ってサンプリングし、前記サンプリングされたパケットの送信元に対してフィードバックメッセージを送信するステップと、
前記フィードバックメッセージの受信状況に応じてターゲットレートを制御するステップと、
前記フィードバックメッセージに依存しない初期化タイミングで、前記ターゲットレートを初期値に設定するステップと
を含む
輻輳制御方法。
【請求項１２】
通信装置制御プログラムが記録された記録媒体であって、
外部の通信装置が、自身の輻輳を検知したとき、受信したパケットを所定のアルゴリズムに従ってサンプリングし、前記サンプリングされたパケットの送信元へフィードバックメッセージを送信し、
前記通信装置制御プログラムは、前記フィードバックメッセージを受信する通信装置が備えるコンピュータを、
前記外部の通信装置へ前記パケットを送信する送信手段と、
前記フィードバックメッセージの受信状況に応じて前記ターゲットレートを制御する制御手段と、
前記フィードバックメッセージに依存しない初期化タイミングで前記ターゲットレートを初期値に設定する初期化手段
として動作させる。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輻輳制御技術に関する。特に、本発明は、輻輳通知（ＣＮ：Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）方式に基づく、輻輳制御技術に関する。
【背景技術】
【０００２】
近年、サーバを一拠点に集約し個人・企業に対してコンピュータリソースを提供するデータセンターの利用が拡大している。データセンター内では、高速処理、低遅延、低廃棄率を確保しつつ大量のサーバを接続し、また、接続に関して柔軟性、拡張性を有するネットワークが求められている。【０００３】
上記要望を満たすために、ＩＥＥＥ８０２．１では、従来のＭＡＣブリッジ機能を拡張する「データセンターブリッジング（ＤＣＢ：Ｄａｔａ  Ｃｅｎｔｅｒ  Ｂｒｉｄｇｉｎｇ）」という技術が策定されている。その一要素技術として、「輻輳通知（ＣＮ：Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）」がＩＥＥＥ８０２．１Ｑａｕで標準化中である。ＩＥＥＥ８０２．１Ｑａｕの詳細に関しては、非特許文献１を参照されたい。【０００４】
ＩＥＥＥ８０２．１Ｑａｕにおいて、パケットの送信元（送信点）は、「リアクションポイント（ＲＰ：Ｒｅａｃｔｉｏｎ  Ｐｏｉｎｔ）」と呼ばれる。リアクションポイントは、典型的には、ネットワークにつながった端末の送信部に含まれている。尚、ＩＥＥＥ８０２．１Ｑａｕでは、１つの端末の送信部が複数のリアクションポイントを備えることも許されている。一方、輻輳が発生する点は、「コンジェスチョンポイント（ＣＰ：Ｃｏｎｇｅｓｔｉｏｎ  Ｐｏｉｎｔ）」と呼ばれる。コンジェスチョンポイントは、典型的には、ネットワーク上のスイッチに含まれる。本明細書においても、これら用語「リアクションポイント」及び「コンジェスチョンポイント」が使用される。【０００５】
輻輳通知の一種として、「ＱＣＮ（Ｑｕａｎｔｉｚｅｄ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）」が知られている。ＱＣＮの詳細に関しては、例えば非特許文献２を参照されたい。以下、図１及び図２を参照して、ＱＣＮの概要を説明する。【０００６】
図１において、複数のリアクションポイント（ＲＰ）がコンジェスチョンポイント（ＣＰ）に接続されている。複数のリアクションポイントのそれぞれは、送信先（Ｄｅｓｔｉｎａｔｉｏｎ）に向けてパケットＰＫＴを送信する。コンジェスチョンポイントは、それら複数のリアクションポイントから送信されたパケットＰＫＴを受信する。つまり、図１では、複数のリアクションポイントのそれぞれからのフローが、共通のコンジェスチョンポイントを経由している。【０００７】
コンジェスチョンポイントは、輻輳検知・通知機能を有しており、自身の輻輳を検知すると、それをリアクションポイントに通知する。より詳細には、コンジェスチョンポイントは、送信先向けの出力キューのキュー長をモニタする。そのキュー長が所定の閾値を超えた場合、コンジェスチョンポイントは、輻輳が発生したと判断する。その場合、コンジェスチョンポイントは、受信パケットのサンプリングを行い、サンプリングされたパケットの送信元（ＲＰ）に対して「フィードバックメッセージＦＢ」を送る。ここで、フィードバックメッセージＦＢに伴うオーバーヘッドを削減するため、パケットサンプリングは確率的に行われる（例えば、１００パケットに１回、等）。すなわち、コンジェスチョンポイントは、確率的に選択した送信元（ＲＰ）に対してだけ、フィードバックメッセージＦＢを送信する。フィードバックメッセージＦＢは、コンジェスチョンポイントでの輻輳の度合いを示す情報を含んでいる。尚、その輻輳の度合いは量子化され、６ビットデータとしてフィードバックメッセージＦＢに挿入される。【０００８】
パケット送信端であるリアクションポイントは、フィードバックメッセージＦＢに基づいて、送信レートの制御を行う。ここで、リアクションポイントの送信レートに関しては、２つの制御パラメータ：「カレントレートＣＲ」及び「ターゲットレートＴＲ」がある。カレントレートＣＲは、リアクションポイントの現在の送信レートである。ターゲットレートＴＲは、カレントレートＣＲの目標値である。図２を参照して、ＱＣＮにおけるリアクションポイントの基本的な機能を説明する。【０００９】
まず、リアクションポイントは、フィードバックメッセージＦＢの受信に応答して、カレントレートＣＲを減少させる。その減少率は、フィードバックメッセージＦＢで示される輻輳の度合いに依存する。同時に、リアクションポイントは、ターゲットレートＴＲを、フィードバックメッセージＦＢの受信直前のカレントレートＣＲに設定する。このように、リアクションポイントは、フィードバックメッセージＦＢを受け取ると、コンジェスチョンポイントでの輻輳が解消されるようにカレントレートＣＲ及びターゲットレートＴＲを下げる。【００１０】
フィードバックメッセージＦＢの受信後、「ＦａｓｔＲｅｃｏｖｅｒｙ」と呼ばれるフェーズが始まる。このフェーズでは、リアクションポイントは、ターゲットレートＴＲを維持したまま、カレントレートＣＲを増加させる。より詳細には、リアクションポイントは、所定の期間にフィードバックメッセージＦＢを受信するか否かを判定する。その所定の期間は、タイマあるいはバイトカウンタを用いることによって計測される。その所定の期間にフィードバックメッセージＦＢを１つも受信しなければ、リアクションポイントは、カレントレートＣＲを増加させる。リアクションポイントは、このようなカレントレートＣＲの増加処理を、所定回数（例：５回）繰り返し実行する。尚、ＦａｓｔＲｅｃｏｖｅｒｙフェーズの最中にフィードバックメッセージＦＢを受信した場合、リアクションポイントは、フィードバックメッセージＦＢに応答した上述の処理を実施し、ＦａｓｔＲｅｃｏｖｅｒｙフェーズをリセットする。【００１１】
カレントレートＣＲの増加処理が所定回数実施されると、すなわち、ＦａｓｔＲｅｃｏｖｅｒｙフェーズが終了すると、「ＡｃｔｉｖｅＩｎｃｒｅａｓｅ」と呼ばれるフェーズが始まる。このフェーズでは、リアクションポイントは、ターゲットレートＴＲ及びカレントレートＣＲの増加を試みる。より詳細には、リアクションポイントは、所定の期間にフィードバックメッセージＦＢを受信するか否かを判定する。その所定の期間は、タイマあるいはバイトカウンタを用いることによって計測される。その所定の期間にフィードバックメッセージＦＢを１つも受信しなければ、リアクションポイントは、ターゲットレートＴＲを少し増加させる。これにより、カレントレートＣＲも増加することが期待される。【００１２】
以上に説明されたように、リアクションポイントは、コンジェスチョンポイントからフィードバックメッセージＦＢを受信した場合や、所定の期間フィードバックメッセージＦＢを受信しなかったことを確認した場合に、カレントレートＣＲやターゲットレートＴＲを変化させる。すなわち、リアクションポイントは、コンジェスチョンポイントからのフィードバックメッセージＦＢの受信状況に応じて、カレントレートＣＲやターゲットレートＴＲを制御する。これにより、コンジェスチョンポイントでの輻輳の解消、及び、リアクションポイントの送信レートの確保が期待される。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】“ＩＥＥＥ  Ｐ８０２．１Ｑａｕ／Ｄ２．２，  Ｄｒａｆｔ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｌｏｃａｌ  ａｎｄ  Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ，  Ｖｉｒｔｕａｌ  Ｂｒｉｄｇｅｄ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ，  Ａｍｅｎｄｍｅｎｔ：  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ”，  Ｊｕｌｙ  ２３，  ２００９．
【非特許文献２】Ｍｏｈａｍｍａｄ  Ａｌｉｚａｄｅｈ  ｅｔ  ａｌ．，  “Ｄａｔａ  Ｃｅｎｔｅｒ  Ｔｒａｎｓｐｏｒｔ  Ｍｅｃｈａｎｉｓｍｓ：  Ｃｏｎｇｅｓｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｔｈｅｏｒｙ  ａｎｄ  ＩＥＥＥ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｆｏｒｔｙ−Ｓｉｘｔｈ  Ａｎｎｕａｌ  Ａｌｌｅｒｔｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，  ＵＩＵＣ，  ｐｐ．  １２７０−１２７６，  ２００８．
【発明の概要】
【００１４】
本願発明者は、次の点に着目した。図１で示されたように、コンジェスチョンポイントから複数のリアクションポイントに対して確率的にフィードバックメッセージＦＢが送られる場合、一部のリアクションポイントにだけ多くのフィードバックメッセージＦＢが送られる可能性がある。このことは、複数のリアクションポイント（複数のフロー）間の送信レートの不公平（不均一）を招き、好ましくない。
【００１５】
例えば、図３は、ＱＣＮの場合において、２つのリアクションポイント（ＲＰ０、ＲＰ１）に関して実際に観測された送信レートの時間変化を示している。図３に示されるように、ＱＣＮによって、送信レートの総和は安定的に制御されている。しかしながら、２つのリアクションポイント間で、送信レートの不公平が発生していることが分かる。より詳細には、それぞれの送信レートは、過渡状態を経た後、安定状態（定常状態）に達する。安定状態では、送信レートは、微小な増減を繰り返すものの、大きくは変動せず、ほぼ一定の値に維持される。すなわち、２つのリアクションポイントが異なる送信レートで一旦安定してしまうと、その後は、この送信レートの不公平が継続してしまう。
【００１６】
ＱＣＮの場合に限らず、複数のリアクションポイント間での送信レートの不公平をなるべく抑えることが望ましい。
【００１７】
本発明の１つの目的は、複数のリアクションポイント間での送信レートの不公平を抑制することができる輻輳制御技術を提供することにある。
【００１８】
本発明の１つの観点において、輻輳制御システムが提供される。その輻輳制御システムは、送信先に向けてパケットを送信する複数のリアクションポイントと、複数のリアクションポイントから送信されたパケットを受信するコンジェスチョンポイントと、を備える。コンジェスチョンポイントは、自身の輻輳を検知すると、受信したパケットを所定のアルゴリズムに従ってサンプリングし、サンプリングされたパケットの送信元であるリアクションポイントに対してフィードバックメッセージを送信する。複数のリアクションポイントの各々は、フィードバックメッセージの受信状況に応じてターゲットレートを制御するだけでなく、フィードバックメッセージに依存しない初期化タイミングでターゲットレートを初期値に設定する。
【００１９】
本発明の他の観点において、通信装置が提供される。その通信装置は、送信先に向けてパケットを送信し、フィードバックメッセージの受信状況に応じてターゲットレートを制御する、少なくとも１つのリアクションポイントを備える。フィードバックメッセージは、リアクションポイントから送信されたパケットを受信したコンジェスチョンポイントが、自身の輻輳を検知し、受信したパケットを所定のアルゴリズムに従ってサンプリングした際、サンプリングされたパケットの送信元であるリアクションポイントに対して送信される。リアクションポイントは、フィードバックメッセージに依存しない初期化タイミングでターゲットレートを初期値に設定する。
【００２０】
本発明の更に他の観点において、輻輳制御方法が提供される。その輻輳制御方法は、（Ａ）輻輳を検知すると、受信したパケットを所定のアルゴリズムに従ってサンプリングし、サンプリングされたパケットの送信元に対してフィードバックメッセージを送信するステップと、（Ｂ）フィードバックメッセージの受信状況に応じてターゲットレートを制御するステップと、（Ｃ）フィードバックメッセージに依存しない初期化タイミングで、ターゲットレートを初期値に設定するステップと、を含む。
【００２１】
本発明によれば、輻輳通知方式に基づく輻輳制御において、複数のリアクションポイント間での送信レートの不公平を抑制することが可能となる。
【図面の簡単な説明】
【００２２】
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。【００２３】
【図１】図１は、ＱＣＮ（Ｑｕａｎｔｉｚｅｄ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）を説明するための概略図である。
【図２】図２は、ＱＣＮにおけるリアクションポイントの典型的な機能を説明するための図である。
【図３】図３は、複数のリアクションポイント間での送信レートの不公平を示すグラフ図である。
【図４】図４は、本発明の実施の形態に係る輻輳制御システムの構成を示す概略図である。
【図５】図５は、本発明の実施の形態に係るリアクションポイント（通信装置）が有するＴＲ初期化機能を説明するための図である。
【図６Ａ】図６Ａは、本発明の実施の形態により得られる効果を説明するための図である。
【図６Ｂ】図６Ｂは、本発明の実施の形態により得られる効果を説明するための図である。
【図７】図７は、本発明の実施の形態に係るリアクションポイントの構成例を示すブロック図である。
【図８】図８は、本発明の実施の形態に係るリアクションポイントの動作を示すフローチャートである。
【図９】図９は、本発明の実施の形態における初期化タイミングの一例を示す概念図である。
【図１０】図１０は、本発明の実施の形態における初期化タイミングの他の例を示す概念図である。
【図１１】図１１は、本発明の実施の形態における初期化間隔の例を示す概念図である。
【図１２】図１２は、本発明の実施の形態に係る初期化管理部の構成例を示すブロック図である。
【図１３】図１３は、本発明の実施の形態に係る輻輳制御システムの第１の構成例を示すブロック図である。
【図１４】図１４は、本発明の実施の形態に係る輻輳制御システムの第２の構成例を示すブロック図である。
【図１５】図１５は、本発明の実施の形態に係る輻輳制御システムの第３の構成例を示すブロック図である。
【発明を実施するための形態】
【００２４】
添付図面を参照して、本発明の実施の形態を説明する。
【００２５】
１．概要
図４は、本実施の形態に係る輻輳制御システム１の構成を示す概略図である。輻輳制御システム１は、複数のリアクションポイント（ＲＰ)１０、送信先２０、及びコンジェスチョンポイント（ＣＰ）３０を備えている。
【００２６】
リアクションポイント１０は、典型的には、ネットワークにつながった端末の送信部に含まれている。尚、ＩＥＥＥ８０２．１Ｑａｕでは、１つの端末の送信部が複数のリアクションポイント１０を備えることも許されている。送信先２０は、典型的には、端末である。これらリアクションポイント１０及び送信先２０がネットワークにつながっている。複数のリアクションポイント１０のそれぞれは、送信先２０に向けてパケットＰＫＴを送信する。
【００２７】
コンジェスチョンポイント３０は、リアクションポイント１０と送信先２０との間のネットワーク上に配置されている。コンジェスチョンポイント３０は、典型的には、スイッチに含まれる。図４において、コンジェスチョンポイント３０は、複数のリアクションポイント１０に接続されており、それら複数のリアクションポイント１０から送信されたパケットＰＫＴを受信する。つまり、複数のリアクションポイント１０のそれぞれからのフローが、共通のコンジェスチョンポイント３０を経由している。
【００２８】
コンジェスチョンポイント３０は、輻輳検知・通知機能を有している。すなわち、コンジェスチョンポイント３０は、自身の輻輳を検知すると、受信パケットＰＫＴを所定のアルゴリズムに従ってサンプリングし、サンプリングされたパケットＰＫＴの送信元リアクションポイント１０に対してフィードバックメッセージＦＢを送信する。
【００２９】
一例として、ＱＣＮの場合を考える。コンジェスチョンポイント３０は、送信先２０向けの出力キューのキュー長をモニタする。そのキュー長が所定の閾値を超えた場合、コンジェスチョンポイント３０は、輻輳が発生したと判断する。その場合、コンジェスチョンポイント３０は、受信パケットＰＫＴのサンプリングを行い、サンプリングされたパケットＰＫＴの送信元リアクションポイント１０に対してフィードバックメッセージＦＢを送る。ここで、フィードバックメッセージＦＢに伴うオーバーヘッドを削減するため、パケットサンプリングは確率的に行われる（例えば、１００パケットに１回、等）。すなわち、コンジェスチョンポイント３０は、確率的に選択した送信元（ＲＰ）に対してだけ、フィードバックメッセージＦＢを送信する。フィードバックメッセージＦＢは、コンジェスチョンポイント３０での輻輳の度合いを示す情報を含んでいる。尚、その輻輳の度合いは量子化され、６ビットデータとしてフィードバックメッセージＦＢに挿入される。
【００３０】
パケット送信端であるリアクションポイント１０は、フィードバックメッセージＦＢに基づいて、図２で示されたような送信レートの制御を行う。すなわち、リアクションポイント１０は、フィードバックメッセージＦＢの受信に応答して、カレントレートＣＲを減少させる。その減少率は、フィードバックメッセージＦＢで示される輻輳の度合いに依存する。同時に、リアクションポイント１０は、ターゲットレートＴＲを、フィードバックメッセージＦＢの受信直前のカレントレートＣＲに設定する。
【００３１】
また、ＦａｓｔＲｅｃｏｖｅｒｙフェーズやＡｃｔｉｖｅＩｎｃｒｅａｓｅフェーズにおいて、リアクションポイント１０は、所定の期間にフィードバックメッセージＦＢを受信するか否かを判定する。その所定の期間は、タイマあるいはバイトカウンタを用いることによって計測される。その所定の期間にフィードバックメッセージＦＢを１つも受信しなければ、リアクションポイント１０は、カレントレートＣＲやターゲットレートＴＲを必要に応じて増加させる。
【００３２】
このように、リアクションポイント１０は、コンジェスチョンポイント３０からフィードバックメッセージＦＢを受信した場合や、所定の期間フィードバックメッセージＦＢを受信しなかったことを確認した場合に、カレントレートＣＲやターゲットレートＴＲを変化させる（図２を参照）。すなわち、リアクションポイント１０は、コンジェスチョンポイント３０からのフィードバックメッセージＦＢの受信状況に応じて、カレントレートＣＲやターゲットレートＴＲを制御する。
【００３３】
更に、本実施の形態に係るリアクションポイント１０は、追加的に次のような機能を有する。すなわち、リアクションポイント１０は、通常動作の最中に、フィードバックメッセージＦＢの受信状況に拘わらず、強制的にターゲットレートＴＲを初期化する。言い換えれば、リアクションポイント１０は、通常動作の最中に、フィードバックメッセージＦＢに依存しないタイミングで、ターゲットレートＴＲを強制的に初期化する。このような処理は、以下「ＴＲ初期化処理」と呼ばれる。また、そのＴＲ初期化処理のタイミングは、以下「初期化タイミング」と呼ばれる。
【００３４】
図５は、本実施の形態に係るＴＲ初期化処理を示す概念図である。通常動作の最中、フィードバックメッセージＦＢに依存しない初期化タイミングで、初期化信号ＩＮＩがリアクションポイント１０に入力される。この初期化信号ＩＮＩに応答して、リアクションポイント１０は、ターゲットレートＴＲを初期値Ｒｉｎｉに設定する。初期値Ｒｉｎｉは、十分に大きいことが望ましい。例えば、初期値Ｒｉｎｉは、リアクションポイント１０が送信可能な最大送信レート、すなわち、物理リンクレートである。
【００３５】
また、リアクションポイント１０は、このＴＲ初期化処理のタイミング（初期化タイミング）後に最初に受信するフィードバックメッセージＦＢ（１ｓｔ）によるターゲットレートＴＲの処理を無視する。つまり、リアクションポイント１０は、フィードバックメッセージＦＢ（１ｓｔ）に応答したターゲットレートＴＲの制御を禁止する。これにより、ターゲットレートＴＲの減少が抑制され、カレントレートＣＲの上昇が期待される。２回目以降の受信したフィードバックメッセージＦＢ（２ｎｄ）、ＦＢ（３ｒｄ）に対しては、リアクションポイント１０はターゲットレートＴＲおよびカレントレートＣＲの制御処理を行う。つまり、リアクションポイント１０は、フィードバックメッセージＦＢ（２ｎｄ）、ＦＢ（３ｒｄ）に応答したターゲットレートＴＲ及びカレントレートＣＲの制御を実施する。
【００３６】
このようなＴＲ初期化処理による効果は、次の通りである。既出の図３で示されたように、従来、複数のリアクションポイントは、それぞれ異なる送信レートで安定してしまう傾向にあった。安定状態では、送信レートは、微小な増減を繰り返すものの、大きくは変動せず、ほぼ一定の値に維持される。つまり、一旦安定化してしまうと、送信レートは上昇のきっかけを失ってしまっていた。本実施の形態によれば、ＴＲ初期化処理により、リアクションポイント１０のターゲットレートＴＲが、ときどき、強制的に初期化される。つまり、ＴＲ初期化処理は、リアクションポイント１０を、送信レートが安定化する前の過渡状態に強制的に移行させる。これは、リアクションポイント１０に、送信レート変動のチャンスを与えることを意味する。これにより、低い値に留っていた送信レートが上昇することが期待される。
【００３７】
図６Ａは、比較例と本実施の形態のそれぞれに関して、２つのフロー（リアクションポイント）の送信レートの分布を示している。比較例では、図２で示されたレート制御処理のみ実施され、本実施の形態に係るＴＲ初期化処理は実施されない。図６Ａのグラフにおいて、横軸は、一方のフロー（Ｆｌｏｗ１）の送信レートを表し、縦軸は、他方のフロー（Ｆｌｏｗ２）の送信レートを表し、各点は、安定状態における送信レートを表している。点がグラフ中央に密集しているほど、公平にレート割り当てがなされていることを意味する。比較例の場合、２つのフロー間で送信レートがかなりばらついているが、本実施の形態では、そのばらつきが抑えられていることが分かる。すなわち、本実施の形態によれば、複数のリアクションポイント１０間での送信レートの不公平が抑制される。同様に、図６Ｂは、比較例と本実施の形態のそれぞれに関して、４つのフロー（リアクションポイント）の送信レートの分布を示している。図６Ａの場合と同様に、比較例の場合、フロー間で送信レートがかなりばらついているが、本実施の形態では、そのばらつきが抑えられていることが分かる。すなわち、本実施の形態によれば、複数のリアクションポイント１０間での送信レートの不公平が抑制される。
【００３８】
２．リアクションポイントの例
図７は、本実施の形態に係るリアクションポイント１０の構成例を示すブロック図である。リアクションポイント１０は、レートリミッタ１１、レート算出部１２、タイマ１３、及びバイトカウンタ１４を備えている。
【００３９】
レートリミッタ１１は、上位レイヤからパケットＰＫＴを受け取り、下位レイヤにパケットＰＫＴを送出する。また、レートリミッタ１１は、レート算出部１２からの指示に従って、送信レートをカレントレートＣＲに設定する。
【００４０】
レート算出部１２は、ターゲットレートＴＲ、カレントレートＣＲといった制御パラメータを保持している。そして、レート算出部１２は、コンジェスチョンポイント３０からのフィードバックメッセージＦＢの受信状況に応じて、それらターゲットレートＴＲ及びカレントレートＣＲを決定する（図２参照）。レート算出部１２は、決定したカレントレートＣＲをレートリミッタ１１に通知する。
【００４１】
更に、レート算出部１２は、初期化信号ＩＮＩに応答して、上述のＴＲ初期化処理を実行する（図５参照）。そのため、レート算出部１２は、初期化対象のリアクションポイント１０に関する初期値Ｒｉｎｉを保持していてもよい。あるいは、初期値Ｒｉｎｉは、初期化信号ＩＮＩに含まれていてもよい。いずれにせよ、レート算出部１２は、フィードバックメッセージＦＢには依存しない初期化信号ＩＮＩに応答して、ターゲットレートＴＲを初期値Ｒｉｎｉに設定する。
【００４２】
ＦａｓｔＲｅｃｏｖｅｒｙフェーズやＡｃｔｉｖｅＩｎｃｒｅａｓｅフェーズにおいて、所定の期間を計測する必要がある。その所定の期間は、タイマ１３あるいはバイトカウンタ１４を用いることによって計測することができる。バイトカウンタ１４は、レートリミッタ１１から送信されるパケットＰＫＴをモニタし、所定バイト数のパケットＰＫＴが送信されるたびにカウント値を増加させる。カウント値が所定値に達するまでの期間か、タイマ１３による所定の時間の経過が、所定の期間として用いられる。
【００４３】
図８は、本実施の形態に係るリアクションポイント１０の動作を示すフローチャートである。リアクションポイント１０は、図２で示されたように、フィードバックメッセージＦＢの受信状況、及び初期化信号ＩＮＩの受信状況に応じて、ターゲットレートＴＲ及びカレントレートＣＲを制御する（ステップＳ１０）。
【００４４】
リアクションポイント１０は、フィードバックメッセージＦＢに依存しない初期化タイミングで、初期化信号ＩＮＩを受け取る（ステップＳ１１；Ｙｅｓ）。その初期化信号ＩＮＩに応答して、リアクションポイント１０は、図５で示されたようにＴＲ初期化処理を実行する（ステップＳ１２）。フィードバックメッセージＦＢを受信した場合（ステップＳ１３；Ｙｅｓ）、リアクションポイント１０は、このフィードバックメッセージＦＢが初期化信号ＩＮＩの受信後最初のものかどうか調べる（ステップＳ１４）。そのフィードバックメッセージＦＢが初期化信号ＩＮＩの受信後最初のものである場合（ステップＳ１４；Ｙｅｓ）、リアクションポイント１０は、ターゲットレートＴＲへのカレントレートＣＲの代入処理（ステップＳ１５）をスキップする。更に、リアクションポイント１０は、フィードバックメッセージＦＢに基づきカレントレートＣＲを更新する（ステップＳ１６）。これにより、ターゲットレートＴＲの減少が抑制される。
【００４５】
尚、リアクションポイント１０の上記処理は、典型的には、リアクションポイント１０が搭載された通信装置（コンピュータ）が「通信装置制御プログラム」を実行することによって実現される。通信装置制御プログラムは、通信装置（コンピュータ）に上記処理を実現させるためのコンピュータプログラムである。通信装置制御プログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【００４６】
３．初期化タイミング
各リアクションポイント１０において、ＴＲ初期化処理は繰り返し実施される。ここで、それぞれのリアクションポイント１０でのＴＲ初期化処理は、互いに同期していないことが好ましい。すなわち、初期化タイミングは、複数のリアクションポイント１０（複数のフロー）間で異なっていることが好適である。これにより、複数のリアクションポイント１０間での送信レートの不公平が、より効果的に抑制される。
【００４７】
図９は、初期化タイミングの設定の一例を示している。図９の例では、初期化タイミング及び初期化間隔（連続する２つの初期化タイミングの間隔）の両方が、複数のリアクションポイント１０間で異なっている。より詳細には、リアクションポイントＲＰ１に関する初期化間隔は、Ｔ１に設定されており、リアクションポイントＲＰ２に関する初期化間隔は、Ｔ１より長いＴ２に設定されている。更に、初期化タイミングも、リアクションポイントＲＰ１、ＲＰ２間でずれている。
【００４８】
図１０は、初期化タイミングの設定の他の例を示している。図１０の例では、初期化間隔は同じだが、初期化タイミングがリアクションポイントＲＰ１、ＲＰ２間で異なっている。
【００４９】
更に、各リアクションポイント１０に関して、初期化間隔は、固定されている必要はなく、動的に変動してもよい。つまり、初期化間隔は、可変に設定されてもよい。例えば、各リアクションポイント１０に関して、初期化間隔は“ランダム”に設定されてもよい。また、図１１に示されるように、初期化間隔はある確率分布を有していてもよい。図１１の例では、初期化間隔は、平均値ｔｙｐを中心としてばらつく。このような設定によっても、初期化タイミングは、複数のリアクションポイント１０間でばらつき、好適である。
【００５０】
このような初期化タイミングの管理を行うのが、「初期化管理部４０」である。図１２は、初期化管理部４０の構成例を示すブロック図である。初期化管理部４０は、制御部４１と記憶部４２とを備えている。記憶部４２には、初期化間隔情報４３及び初期値情報４４が格納されている。初期化間隔情報４３は、初期化管理部４０が管理するリアクションポイント１０のそれぞれに関する初期化間隔を示す。初期値情報４４は、初期化管理部４０が管理するリアクションポイント１０のそれぞれに関する初期値Ｒｉｎｉを示す。但し、各リアクションポイント１０が初期値Ｒｉｎｉを保持・管理している場合、初期値情報４４は不要である。制御部４０は、初期化間隔情報４３を参照して、それぞれの初期化タイミングで初期化信号ＩＮＩを生成し、その初期化信号ＩＮＩを対応するリアクションポイント１０に送信する。
【００５１】
複数のリアクションポイント１０と初期化管理部４０との関係に関しては、様々な形態が考えられる。以下、様々な構成例を説明する。
【００５２】
４．様々な構成例
４−１．第１の構成例
図１３は、第１の構成例を示すブロック図である。本構成例では、１つの端末１００（通信装置）が、複数のリアクションポイント１０及び初期化管理部４０を備えている。その初期化管理部４０は、複数のリアクションポイント１０に対して共通に設けられている。この場合、初期化管理部４０は、それぞれのリアクションポイント１０の初期化タイミングを集中的に管理し、それぞれのリアクションポイント１０に対してそれぞれの初期化タイミングで初期化信号ＩＮＩを送信する。
【００５３】
より詳細には、端末１００は、アプリケーション処理を行うアプリケーション処理部１１０、及びネットワーク処理を行うネットワーク処理部１２０を備えている。アプリケーション処理部１１０は、上位レイヤの処理を担当しており、ＣＰＵやＯＳを含む。ネットワーク処理部１２０としては、ネットワークインタフェースカード（ＮＩＣ）が挙げられる。
【００５４】
ネットワーク処理部１２０は、複数のリアクションポイント１０、初期化管理部４０、フロー振分部１２１、出力部１２２、及び受信部１２３を備えている。受信部１２３は、ネットワークから多重データを受け取り、その多重データの分離を行う。そして、受信部１２３は、データパケットＰＫＴをアプリケーション処理部１１０に転送し、また、フィードバックメッセージＦＢを指定されたリアクションポイント１０に転送する。
【００５５】
フロー振分部１２１は、アプリケーション処理部１１０から送信パケットＰＫＴを受け取る。そして、フロー振分部１２１は、その送信パケットＰＫＴを、複数のリアクションポイント１０のうちいずれかに振り分ける。各リアクションポイント１０は、上述の通り、フィードバックメッセージＦＢに基いて送信レートを制御する。各リアクションポイント１０は、送信パケットＰＫＴを出力部１２２に出力する。出力部１２２は、送信パケットＰＫＴを多重し、ネットワークに多重データを出力する。
【００５６】
このようなネットワーク処理部１２０において、１つの初期化管理部４０が、複数のリアクションポイント１０に対して共通に接続されている。この共通の初期化管理部４０は、それぞれのリアクションポイント１０の初期化タイミングを集中的に管理し、それぞれのリアクションポイント１０に対してそれぞれの初期化タイミングで初期化信号ＩＮＩを送信する。各リアクションポイント１０は、初期化信号ＩＮＩに応答して、ＴＲ初期化処理を実行する。
【００５７】
４−２．第２の構成例
図１４は、第２の構成例を示すブロック図である。上記第１の構成例の場合と同様に、本構成例においても、初期化管理部４０が、複数のリアクションポイント１０に対して共通に設けられている。但し、初期化管理部４０は、リアクションポイント１０を有する端末１００（通信装置）とは異なる管理サーバ２００に設けられている。
【００５８】
より詳細には、図１４に示されるように、管理サーバ２００が、複数の端末１００に対して共通に接続されている。各端末１００（通信装置）は、上述のアプリケーション処理部１１０及びネットワーク処理部１２０を備えており、ネットワーク処理部１２０は少なくとも１つのリアクションポイント１０を備えている。管理サーバ２００は、初期化管理部４０を備えている。この初期化管理部４０は、複数の端末１００のそれぞれのリアクションポイント１０の初期化タイミングを集中的に管理し、それぞれのリアクションポイント１０に対してそれぞれの初期化タイミングで初期化信号ＩＮＩを送信する。各リアクションポイント１０は、初期化信号ＩＮＩに応答して、ＴＲ初期化処理を実行する。
【００５９】
４−３．第３の構成例
図１５は、第３の構成例を示すブロック図である。本構成例では、初期化管理部４０が、リアクションポイント１０毎に設けられる。各初期化管理部４０は、対応する一つのリアクションポイント１０の初期化タイミングを管理し、当該リアクションポイント１０に対して当該初期化タイミングで初期化信号ＩＮＩを送信する。
【００６０】
より詳細には、図１５に示されるように、複数の端末１００がネットワークに接続されている。各端末１００（通信装置）は、上述のアプリケーション処理部１１０及びネットワーク処理部１２０を備えている。ネットワーク処理部１２０は、リアクションポイント１０と、当該リアクションポイント１０を管理する初期化管理部４０とを備えている。初期化管理部４０は、当該リアクションポイント１０に対して、指定された初期化タイミングで初期化信号ＩＮＩを送信する。当該リアクションポイント１０は、初期化信号ＩＮＩに応答して、ＴＲ初期化処理を実行する。
【００６１】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【００６２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００６３】
（付記１）
送信先に向けてパケットを送信する複数のリアクションポイントと、
前記複数のリアクションポイントから送信されたパケットを受信するコンジェスチョンポイントと
を備え、
前記コンジェスチョンポイントは、自身の輻輳を検知すると、前記受信したパケットを所定のアルゴリズムに従ってサンプリングし、前記サンプリングされたパケットの送信元であるリアクションポイントに対してフィードバックメッセージを送信し、
前記複数のリアクションポイントの各々は、前記フィードバックメッセージの受信状況に応じてターゲットレートを制御するだけでなく、前記フィードバックメッセージに依存しない初期化タイミングで前記ターゲットレートを初期値に設定する
輻輳制御システム。
【００６４】
（付記２）
付記１に記載の輻輳制御システムであって、
前記各リアクションポイントは、前記初期化タイミングの後に最初に受け取る前記フィードバックメッセージに応答した前記ターゲットレートの制御を禁止する
輻輳制御システム。
【００６５】
（付記３）
付記１又は２に記載の輻輳制御システムであって、
前記初期値は、最大送信レートである
輻輳制御システム。
【００６６】
（付記４）
付記１乃至３のいずれか一項に記載の輻輳制御システムであって、
前記初期化タイミングは、前記複数のリアクションポイント間で異なっている
輻輳制御システム。
【００６７】
（付記５）
付記１乃至４のいずれか一項に記載の輻輳制御システムであって、
前記初期化タイミングの間隔は、前記複数のリアクションポイント間で異なっている
輻輳制御システム。
【００６８】
（付記６）
付記１乃至５のいずれか一項に記載の輻輳制御システムであって、
前記初期化タイミングの間隔は、固定されていない
輻輳制御システム。
【００６９】
（付記７）
付記１乃至６のいずれか一項に記載の輻輳制御システムであって、
前記初期化タイミングで初期化信号を生成する初期化管理部を更に備え、
前記各リアクションポイントは、前記初期化信号に応答して、前記ターゲットレートを前記初期値に設定する
輻輳制御システム。
【００７０】
（付記８）
付記７に記載の輻輳制御システムであって、
前記初期化管理部は、前記複数のリアクションポイントに対して共通に設けられ、前記複数のリアクションポイントのそれぞれの前記初期化タイミングを管理し、前記それぞれのリアクションポイントに対して前記初期化タイミングで前記初期化信号を送信する
輻輳制御システム。
【００７１】
（付記９）
付記７に記載の輻輳制御システムであって、
前記初期化管理部は、前記複数のリアクションポイント毎に設けられ、前記複数のリアクションポイントのうち対応する一つの前記初期化タイミングを管理し、前記対応する一つのリアクションポイントに対して前記初期化タイミングで前記初期化信号を送信する
輻輳制御システム。
【００７２】
（付記１０）
送信先に向けてパケットを送信し、フィードバックメッセージの受信状況に応じてターゲットレートを制御する、少なくとも１つのリアクションポイントを備え、
前記フィードバックメッセージは、前記リアクションポイントから送信されたパケットを受信したコンジェスチョンポイントが、自身の輻輳を検知し、前記受信したパケットを所定のアルゴリズムに従ってサンプリングした際、前記サンプリングされたパケットの送信元であるリアクションポイントに対して送信され、
前記リアクションポイントは、前記フィードバックメッセージに依存しない初期化タイミングで前記ターゲットレートを初期値に設定する
通信装置。
【００７３】
（付記１０’）
輻輳制御システムにおける通信装置であって、
前記輻輳制御システムは、
送信先に向けてパケットを送信する複数のリアクションポイントと、
前記複数のリアクションポイントから送信されたパケットを受信するコンジェスチョンポイントと
を備え、
前記コンジェスチョンポイントは、自身の輻輳を検知すると、前記受信したパケットを所定のアルゴリズムに従ってサンプリングし、前記サンプルされたパケットの送信元であるリアクションポイントに対してフィードバックメッセージを送信し、
前記通信装置は、前記複数のリアクションポイントのうち少なくとも１つを有し、
前記少なくとも１つのリアクションポイントの各々は、前記フィードバックメッセージの受信状況に応じてターゲットレートを制御するだけでなく、前記フィードバックメッセージに依存しない初期化タイミングで前記ターゲットレートを初期値に設定する
通信装置。
【００７４】
（付記１１）
輻輳を検知すると、受信したパケットを所定のアルゴリズムに従ってサンプリングし、前記サンプリングされたパケットの送信元に対してフィードバックメッセージを送信するステップと、
前記フィードバックメッセージの受信状況に応じてターゲットレートを制御するステップと、
前記フィードバックメッセージに依存しない初期化タイミングで、前記ターゲットレートを初期値に設定するステップと
を含む
輻輳制御方法。
【００７５】
（付記１１’）
輻輳制御システムにおける輻輳制御方法であって、
前記輻輳制御システムは、
送信先に向けてパケットを送信する複数のリアクションポイントと、
前記複数のリアクションポイントから送信されたパケットを受信するコンジェスチョンポイントと
を備え、
前記コンジェスチョンポイントは、自身の輻輳を検知すると、前記受信したパケットを所定のアルゴリズムに従ってサンプリングし、前記サンプルされたパケットの送信元であるリアクションポイントに対してフィードバックメッセージを送信し、
前記輻輳制御方法は、
前記複数のリアクションポイントの各々において、前記フィードバックメッセージの受信状況に応じてターゲットレートを制御するステップと、
前記各リアクションポイントにおいて、前記フィードバックメッセージに依存しない初期化タイミングで、前記ターゲットレートを初期値に設定するステップと
を含む
輻輳制御方法。
【００７６】
（付記１２）
外部の通信装置が、自身の輻輳を検知したとき、受信したパケットを所定のアルゴリズムに従ってサンプリングし、前記サンプリングされたパケットの送信元へ送信するフィードバックメッセージを受信する通信装置が備えるコンピュータを、
前記外部の通信装置へ前記パケットを送信する送信手段と、
前記フィードバックメッセージの受信状況に応じて前記ターゲットレートを制御する制御手段と、
前記フィードバックメッセージに依存しない初期化タイミングで前記ターゲットレートを初期値に設定する初期化手段
として動作させる通信装置制御プログラム。
【００７７】
本出願は、２０１０年６月７日に出願された日本国特許出願２０１０−１３０４８０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2011155392.tif 000003
【図２】
2011155392.tif 000004
【図３】
2011155392.tif 000005
【図４】
2011155392.tif 000006
【図５】
2011155392.tif 000007
【図６Ａ】
2011155392.tif 000008
【図６Ｂ】
2011155392.tif 000009
【図７】
2011155392.tif 000010
【図８】
2011155392.tif 000011
【図９】
2011155392.tif 000012
【図１０】
2011155392.tif 000013
【図１１】
2011155392.tif 000014
【図１２】
2011155392.tif 000015
【図１３】
2011155392.tif 000016
【図１４】
2011155392.tif 000017
【図１５】
2011155392.tif 000018
【国際調査報告】
2011155392.tif 000019
2011155392.tif 000020