(57)【要約】【課題】対向する複数の送信装置及び受信装置が同時にデータ伝送を行う際に、予め設定されたレート配分のデータ伝送を実現する。【解決手段】レート制御装置５の送信レート指示部５２は、１台の送信装置２−ｘの送信レートを増加させたときに測定した受信装置３−１〜３−ｎの受信レートを取得し、受信レートの変化量を計算する。そして、受信レートの変化量の合計を０とみなすことができる送信装置２−ｘ，２−ａ，・・・を判定し、これらを、ボトルネックリンクを共有している装置とみなす。これらの送信装置２−ｘ，２−ａ・・・に対して予め設定されているレート配分になるように、受信装置３−ｘ，３−ａ，・・・における受信レートの合計値を送信レートに割り振る。これにより、ボトルネックリンクの帯域の範囲内で、予め設定されたレート配分になるように送信レートの制御を行うことができる。【選択図】図３
2010245750.tif 000002
【特許請求の範囲】
【請求項１】
対向する複数の送信装置及び受信装置が経路を共有して同時にデータ伝送を行うネットワークの下で、前記受信装置により測定された受信レートに基づいて送信レートを決定し、前記送信装置に対し、前記送信レートを送信することにより、前記送信レートでデータ伝送を行わせるレート制御装置であって、
前記複数の送信装置のうちの１台の送信装置に対し、所定レート分増加させた送信レートを送信し、
前記送信レートでデータ伝送が行われた後に、前記複数の受信装置により測定された受信レートをそれぞれ受信し、
前記複数の受信装置のうちの、前記１台の送信装置に対向する受信装置を含む受信装置群について、前記送信レートでデータ伝送が行われたことによる受信レートの変化分の合計値を、前記受信した受信レートに基づいて計算し、
前記受信レートの変化分の合計値が所定値よりも小さいときの前記受信装置群を探索し、
前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定し、
前記送信装置群に対し、前記決定した送信レートを送信する、
ことを特徴とするレート制御装置。
【請求項２】
請求項１に記載のレート制御装置において、
前記複数の受信装置のうちの前記探索した受信装置群以外の他の受信装置に対向する他の送信装置について、前記他の送信装置の送信レートが、前記他の受信装置から受信した受信レートになるように決定し、
前記他の送信装置に対し、前記決定した送信レートを送信する、
ことを特徴とするレート制御装置。
【請求項３】
請求項１または２に記載のレート制御装置において、
前記受信レートの変化分の合計値が所定値よりも小さいときの受信装置群の群数を求め、前記受信装置群の群数が１である場合に、前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定する、
ことを特徴とするレート制御装置。
【請求項４】
対向する複数の送信装置及び受信装置が経路を共有して同時にデータ伝送を行うネットワークの下で、前記受信装置により測定された受信レートに基づいて送信レートを決定し、前記送信レートでデータ伝送を行う送信装置であって、
当該送信装置の送信レートを所定レート分増加させてデータ伝送を行うか、または、当該送信装置以外の１台の送信装置に対し、所定レート分増加させた送信レートを送信し、前記送信レートでデータ伝送を行わせ、
前記送信レートでデータ伝送が行われた後に、前記複数の受信装置により測定された受信レートをそれぞれ受信し、
前記複数の受信装置のうちの、当該送信装置または前記１台の送信装置に対向する受信装置を含む受信装置群について、前記送信レートでデータ伝送が行われたことによる受信レートの変化分の合計値を、前記受信した受信レートに基づいて計算し、
前記受信レートの変化分の合計値が所定値よりも小さいときの前記受信装置群を探索し、
前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定し、
当該送信装置以外の前記送信装置群に対し、前記決定した送信レートを送信する、
ことを特徴とする送信装置。
【請求項５】
対向する複数の送信装置及び受信装置が経路を共有して同時にデータ伝送を行うネットワークの下で、測定した受信レートに基づいて送信レートを決定し、前記送信装置に対し、前記送信レートを送信することにより、前記送信レートでデータ伝送を行わせる受信装置であって、
前記複数の送信装置のうちの１台の送信装置に対し、所定レート分増加させた送信レートを送信し、
前記送信レートでデータ伝送が行われた後に、当該受信装置以外の前記複数の受信装置により測定された受信レートをそれぞれ受信し、
前記複数の受信装置のうちの、前記１台の送信装置に対向する受信装置を含む受信装置群について、前記送信レートでデータ伝送が行われたことによる受信レートの変化分の合計値を、前記受信レートに基づいて計算し、
前記受信レートの変化分の合計値が所定値よりも小さいときの前記受信装置群を探索し、
前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定し、
前記送信装置群に対し、前記決定した送信レートを送信する、
ことを特徴とする受信装置。
【請求項６】
対向する複数の送信装置及び受信装置が経路を共有して同時にデータ伝送を行うネットワークの下で、前記受信装置により測定された受信レートに基づいて送信レートを決定し、前記送信装置に、前記決定した送信レートでデータ伝送を行わせる制御プログラムであって、コンピュータに、
前記複数の送信装置のうちの１台の送信装置に、所定レート分増加させた送信レートでデータ伝送を行わせるステップと、
前記送信レートでデータ伝送が行われた後に、前記複数の受信装置により測定された受信レートをそれぞれ取得するステップと、
前記複数の受信装置のうちの、前記１台の送信装置に対向する受信装置を含む受信装置群について、前記送信レートでデータ伝送が行われたことによる受信レートの変化分の合計値を、前記受信した受信レートに基づいて計算するステップと、
前記受信レートの変化分の合計値が所定値よりも小さいか否かを判定するステップと、
前記合計値が所定値よりも小さいと判定したときの前記受信装置群を探索するステップと、
前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定するステップと、
前記送信装置群に、前記決定した送信レートでデータ伝送を行わせるステップと、
を実行させることを特徴とするレート制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対向する複数の送信装置及び受信装置を備え、経路を共有して同時にデータ伝送を行うネットワークにおいて、送信装置の送信レート及び受信装置の受信レートに基づいて、経路の共有の有無を判定し、時々刻々と変化する最大利用可能レートを算出することにより、ネットワークの帯域を最大限に利用するように送信レートを制御する技術に関する。
【背景技術】
【０００２】
インターネットに代表されるＩＰネットワークは、様々な帯域をもつ経路が中継装置によって相互に接続されることで構成される。送信装置は、伝送すべきデータをパケット単位に分割し、宛先ＩＰアドレスを付加したパケットとしてネットワークへ送信する。中継装置は、送信装置により送信されたパケットを受信し、宛先ＩＰアドレスに従って経路を選択し、次の中継装置へパケットを転送する。このようにして、送信装置により送信されたパケットは、複数の中継装置で次々に転送され、最終的に、パケットに付加された宛先ＩＰアドレスを有する受信装置に到達する。このとき、経路を選択するのは中継装置であり、送信装置及び受信装置がパケットを転送する経路を予め決定することはできない。
【０００３】
中継装置は、送信装置により送信されたパケットを受信すると、パケットをバッファに格納し、バッファからパケットを読み出して次の中継装置へ転送する。しかしながら、レートが経路の帯域を超えている場合には、パケットを転送することができないため、バッファに格納したパケットを廃棄する。これは、中継装置が、自装置の持つ処理能力の範囲内で、経路の帯域に従ってパケットを転送する機能のみを有しているに過ぎず、全てのパケットを転送することを保証する装置ではないからである。
【０００４】
ＩＰネットワークの基本思想によれば、送信装置及び受信装置は、パケットの再送や誤り訂正パケットの付加といった、全てのデータを正しく伝送するための処理を行うようになっている。このような基本思想の下で、伝送品質を確保するための帯域保証技術が一部の運用で取り入られつつあるが、帯域保証技術によって伝送品質を確保するためには、ＩＰネットワークがベストエフォート伝送を基本としている点に留意する必要がある。つまり、品質保証機能を持たないベストエフォートなＩＰネットワークでは、送信装置及び受信装置において利用可能な帯域が時々刻々と変化する点に留意する必要がある。
【０００５】
ところで、送信装置から受信装置へパケットが伝送されるネットワークにおいて、パケットが通過する経路のうち、利用可能な帯域が最も狭い経路をボトルネックリンクという。このボトルネックリンク以外の経路の帯域がどれだけ広くても、このボトルネックリンクの帯域を超えたレートでパケットを伝送することはできない。
【０００６】
例えば、第１の１対向の送信装置及び受信装置並びに第２の１対向の送信装置及び受信装置がボトルネックリンクを共有している場合、第１の１対向の送信装置及び受信装置における最大利用可能レートは、第２の１対向の送信装置及び受信装置のトラフィックに依存して時々刻々と変化する。また、中継装置は、経路の障害等に伴いパケットの転送先を変更することもあり、パケットが転送される経路が常に一定であるとは限らない。すなわち、最大利用可能レートが変化するのは、他の送信装置及び受信装置におけるトラフィックの状況が要因となるだけでなく、パケットが転送される経路が変更されることも要因となる。
【０００７】
一般のＩＰネットワークでは、送信装置及び受信装置は、中継装置から経路の輻輳状況そのものを直接取得することはできない。このため、送信装置及び受信装置が、自らの伝送状況を監視してネットワークの状態を判断することにより、輻輳状況を推定する必要がある。ＩＰネットワークでは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）によって伝送を行うことが一般的であり、個々の送信装置及び受信装置が、パケットロスを検知してレートを減少させることにより、ネットワークの輻輳を回避している。すなわち、個々の送信装置及び受信装置は、ネットワークの輻輳状況を直接取得する手段を備えておらず、あくまでも自らの伝送状況を監視し、その伝送状況に基づいてレートを決定する。このように、送信装置及び受信装置は、経路の帯域を利用する割合（利用率）を減らし、その利用を装置間で譲り合うことにより、ネットワークの輻輳を回避している。
【０００８】
送信装置及び受信装置は、ネットワークに輻輳が発生していると判断した場合、自発的にレートを減少させて輻輳を回避する。しかしながら、現時点のパケット伝送経路の利用可能レートを具体的に把握していないから、レートを減少させるだけでは、経路の持つ帯域を常に最大限に利用しているとは限らない。そこで、送信装置及び受信装置が、経路の輻輳状況を一層具体的に推定することにより、時々刻々と変化する帯域の利用効率を改善することを試みる手法が考案されている。
【０００９】
例えば、送信装置と受信装置との間に複数の経路が存在する場合、送信バッファに滞留するパケットのデータ量によって各経路の輻輳状況を推定し、その輻輳状況に応じて、送信するパケットを振り分けることにより、帯域の利用効率を高める手法が知られている（特許文献１を参照）。また、スループット及びＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）によって各経路の輻輳状況を推定し、送信するパケットを振り分ける手法も知られている（特許文献２、３を参照）。また、ＲＴＴの変化を、他の送信装置及び受信装置により生成されるトラフィックの有無の変化とみなし、その変化に応じて自らの伝送レートを変化させることにより、ボトルネックリンクの最大利用可能レート付近のレートでパケットを伝送する手法も知られている（特許文献４を参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−５９２１号公報
【特許文献２】特開２００４−７３６１号公報
【特許文献３】特開２００６−６０６７４号公報
【特許文献４】特開２００５−１９８１１１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ネットワークの帯域を効率的に利用するためには、変化する最大利用可能レートに追従しながら、その最大利用可能レートを越えて輻輳が発生しないように、レート制御を行う必要がある。また、データ伝送の緊急性等を考慮した場合、送信装置及び受信装置の利用レートが、予め設定された配分になるように、レート制御されることが望ましい。すなわち、経路の最大利用可能レートそのものを測定し、経路を共有している複数の送信装置及び受信装置間で、最大利用可能レートの帯域を奪い合うことなく、利用者が求める配分になるように、それぞれのレートを制御することが必要になる。
【００１２】
前述した特許文献１〜３の手法は、経路の輻輳状況を推定し、より輻輳の少ない経路を選択するものである。しかしながら、この手法は、経路の最大利用可能レートを具体的に求めるものではない。また、この手法では、対向する複数の送信装置及び受信装置が同時に伝送を行った場合、個々の送信装置及び受信装置によって経路が共有されてしまう可能性がある。このため、個々の送信装置及び受信装置は、経路が共有されてしまうか否かにかかわらず、効率の良い経路を選択しようとする。そして、同一経路を選択した場合には、効率の良い経路を奪い合ってしまうことになるから、ネットワークの輻輳は悪化する。したがって、前述した特許文献１〜３の手法では、必ずしもネットワークの帯域を効率的に利用することができるとは限らない、という問題があった。
【００１３】
また、前述した特許文献４の手法は、ＲＴＴを測定することによってボトルネックリンクの存在を検知し、ボトルネックリンクの帯域付近の値を維持しながら他のトラフィックの有無を判定してレート制御を行うものである。しかしながら、この手法では、ＲＴＴが示す値の変化から、最大利用可能レートそのものを算出することができない。
【００１４】
また、これらの手法のいずれも、個々の送信装置及び受信装置がネットワークの輻輳状況を推定し、経路の空き帯域を利用して効率の良い伝送を行うことを目的としている。しかしながら、個々の送信装置及び受信装置における利用レートの配分が、予め設定された配分となるように制御することはできない。
【００１５】
以上の問題を鑑み、本発明の目的は、ベストエフォートなネットワークを用いた伝送システムにおいて、対向する複数の送信装置及び受信装置が同時にデータ伝送を行う際に、経路を共有していることを判定し、変化するボトルネックリンクの最大利用可能レートを測定してレート制御を行うことにより、予め設定されたレート配分のデータ伝送を実現することが可能なレート制御装置、送信装置、受信装置及びレート制御プログラムを提供することにある。
【課題を解決するための手段】
【００１６】
前記課題を解決するため、本発明によるレート制御装置は、対向する複数の送信装置及び受信装置が経路を共有して同時にデータ伝送を行うネットワークの下で、前記受信装置により測定された受信レートに基づいて送信レートを決定し、前記送信装置に対し、前記送信レートを送信することにより、前記送信レートでデータ伝送を行わせるレート制御装置であって、前記複数の送信装置のうちの１台の送信装置に対し、所定レート分増加させた送信レートを送信し、前記送信レートでデータ伝送が行われた後に、前記複数の受信装置により測定された受信レートをそれぞれ受信し、前記複数の受信装置のうちの、前記１台の送信装置に対向する受信装置を含む受信装置群について、前記送信レートでデータ伝送が行われたことによる受信レートの変化分の合計値を、前記受信した受信レートに基づいて計算し、前記受信レートの変化分の合計値が所定値よりも小さいときの前記受信装置群を探索し、前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定し、前記送信装置群に対し、前記決定した送信レートを送信する、ことを特徴とする。
【００１７】
また、本発明によるレート制御装置は、前記複数の受信装置のうちの前記探索した受信装置群以外の他の受信装置に対向する他の送信装置について、前記他の送信装置の送信レートが、前記他の受信装置から受信した受信レートになるように決定し、前記他の送信装置に対し、前記決定した送信レートを送信する、ことを特徴とする。
【００１８】
また、本発明によるレート制御装置は、前記受信レートの変化分の合計値が所定値よりも小さいときの受信装置群の群数を求め、前記受信装置群の群数が１である場合に、前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定する、ことを特徴とする。
【００１９】
また、本発明による送信装置は、対向する複数の送信装置及び受信装置が経路を共有して同時にデータ伝送を行うネットワークの下で、前記受信装置により測定された受信レートに基づいて送信レートを決定し、前記送信レートでデータ伝送を行う送信装置であって、当該送信装置の送信レートを所定レート分増加させてデータ伝送を行うか、または、当該送信装置以外の１台の送信装置に対し、所定レート分増加させた送信レートを送信し、前記送信レートでデータ伝送を行わせ、前記送信レートでデータ伝送が行われた後に、前記複数の受信装置により測定された受信レートをそれぞれ受信し、前記複数の受信装置のうちの、当該送信装置または前記１台の送信装置に対向する受信装置を含む受信装置群について、前記送信レートでデータ伝送が行われたことによる受信レートの変化分の合計値を、前記受信した受信レートに基づいて計算し、前記受信レートの変化分の合計値が所定値よりも小さいときの前記受信装置群を探索し、前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定し、当該送信装置以外の前記送信装置群に対し、前記決定した送信レートを送信する、ことを特徴とする。
【００２０】
また、本発明による受信装置は、対向する複数の送信装置及び受信装置が経路を共有して同時にデータ伝送を行うネットワークの下で、測定した受信レートに基づいて送信レートを決定し、前記送信装置に対し、前記送信レートを送信することにより、前記送信レートでデータ伝送を行わせる受信装置であって、前記複数の送信装置のうちの１台の送信装置に対し、所定レート分増加させた送信レートを送信し、前記送信レートでデータ伝送が行われた後に、当該受信装置以外の前記複数の受信装置により測定された受信レートをそれぞれ受信し、前記複数の受信装置のうちの、前記１台の送信装置に対向する受信装置を含む受信装置群について、前記送信レートでデータ伝送が行われたことによる受信レートの変化分の合計値を、前記受信レートに基づいて計算し、前記受信レートの変化分の合計値が所定値よりも小さいときの前記受信装置群を探索し、前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定し、前記送信装置群に対し、前記決定した送信レートを送信する、ことを特徴とする。
【００２１】
また、本発明によるレート制御プログラムは、対向する複数の送信装置及び受信装置が経路を共有して同時にデータ伝送を行うネットワークの下で、前記受信装置により測定された受信レートに基づいて送信レートを決定し、前記送信装置に、前記決定した送信レートでデータ伝送を行わせる制御プログラムであって、コンピュータに、前記複数の送信装置のうちの１台の送信装置に、所定レート分増加させた送信レートでデータ伝送を行わせるステップと、前記送信レートでデータ伝送が行われた後に、前記複数の受信装置により測定された受信レートをそれぞれ取得するステップと、前記複数の受信装置のうちの、前記１台の送信装置に対向する受信装置を含む受信装置群について、前記送信レートでデータ伝送が行われたことによる受信レートの変化分の合計値を、前記受信した受信レートに基づいて計算するステップと、前記受信レートの変化分の合計値が所定値よりも小さいか否かを判定するステップと、前記合計値が所定値よりも小さいと判定したときの前記受信装置群を探索するステップと、前記探索した受信装置群にそれぞれ対向する送信装置群の送信レートを、前記探索した受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定するステップと、前記送信装置群に、前記決定した送信レートでデータ伝送を行わせるステップと、を実行させることを特徴とする。
【発明の効果】
【００２２】
このように、本発明によれば、１台の送信装置の送信レートを増加させ、受信レートの変化分の合計値を計算し、この合計値が所定値よりも小さいとき（合計値を０とみなせるとき）の受信装置群（受信装置の組み合わせ）を探索するようにした。経路を共有している、対向する複数の送信装置及び受信装置が存在するネットワークでは、ある受信装置の受信レートが増加すると、他の受信装置の受信レートは、増加した受信レートに対応して減少する性質がある。これにより、受信レートの変化分の合計値が所定値よりも小さいときの受信装置群が、経路を共有している受信装置群であると判定することができる。また、本発明によれば、探索した受信装置群に対向する送信装置群の送信レートを、受信装置群における受信レートの合計値に基づいて、所定のレート配分になるように決定する。これにより、受信装置群における受信レートの合計値が、ボトルネックリンクの最大利用可能レートになり、この最大利用可能レートが送信レートに配分されるから、予め設定されたレート配分のデータ伝送を実現することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態による送信装置及び受信装置を含む伝送システムの構成を示す図である。
【図２】ボトルネックリンクの共有について説明する図である。
【図３】レート制御装置、送信装置及び受信装置の構成を示すブロック図である。
【図４】レート制御処理を説明するフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための形態について、図面を参照して説明する。
〔伝送システム〕
図１は、本発明の実施形態による送信装置及び受信装置を含む伝送システムの構成を示す図である。この伝送システム１は、ｎ台の送信装置２−１〜２−ｎ、及びｎ台の受信装置３−１〜３−ｎを備えて構成される。送信装置２−１〜２−ｎと受信装置３−１〜３−ｎとは、内部構成が不明なネットワーク４を介して接続される。
【００２５】
ネットワーク４は、例えば、インターネットに代表されるベストエフォートなＩＰネットワークであり、パケットが、ネットワーク４を介して送信装置２−１から受信装置３−１へ、送信装置２−２から受信装置３−２へ、同様にして送信装置２−ｎから受信装置３−ｎへ、それぞれ同時に伝送されるものとする。すなわち、送信装置２−１〜２−ｎ及び受信装置３−１〜３−ｎは、それぞれ対向するｎ組の送信装置及び受信装置による構成になっている。
【００２６】
また、送信装置２−１〜２−ｎは、送信レートｔ１〜ｔｎでパケットを受信装置３−１〜３−ｎへそれぞれ送信し、受信装置３−１〜３−ｎは、受信レートｒ１〜ｒｎでパケットをそれぞれ受信するものとする。ここで、ネットワーク４にてパケットロスが発生した場合、受信装置３−１〜３−ｎの受信レートｒ１〜ｒｎは、これらに対応する送信装置２−１〜２−ｎの送信レートｔ１〜ｔｎに比較して減少する。
【００２７】
図２は、ボトルネックリンクの共有について説明する図である。図２に示すように、１対向の送信装置２−１及び受信装置３−１と、１対向の送信装置２−２及び受信装置３−２とがボトルネックリンクを共有している（経路を共有している）。ここで、送信装置２−１，２−２及び受信装置３−１，３−２には、ネットワーク４から伝送経路の帯域情報を直接取得する手段が提供されておらず、ボトルネックリンクを共有していることを直接認識することはできない。
【００２８】
本発明は、伝送経路の帯域情報を直接取得することができず、送信装置及び受信装置によってボトルネックリンクを共有していることを直接認識することができないネットワーク４を用いる伝送システム１において、ボトルネックリンクを共有している受信装置の組み合わせ（受信装置群）を探索すると共に、ボトルネックリンクの帯域を計算し、ボトルネックリンクの帯域の範囲内で、予め設定されたレート配分になるように、送信レートを制御することを特徴とする。図１に示すように、レート配分ｄ１は、送信装置２−１から受信装置３−１へのパケット伝送を行う配分であり、レート配分ｄ２は、送信装置２−２から受信装置３−２へのパケット伝送を行う配分であり、同様にして、レート配分ｄｎは、送信装置２−ｎから受信装置３−ｎへのパケット伝送を行う配分である。ｄ１＋ｄ２＋・・・＋ｄｎ＝１（１００％）である。
【００２９】
図３は、レート制御装置、送信装置及び受信装置の構成を示すブロック図である。図３に示す伝送システムは、１対向以上の送信装置２−１，２−２等及び受信装置３−１，３−２等と、１台のレート制御装置５とを備えて構成される。以下、送信装置２−１，２−２等を総称して送信装置２といい、受信装置３−１，３−２等を総称して受信装置３という。レート制御装置５は、独立して動作する装置として説明するが、伝送システムの構成によっては、送信装置２または受信装置３に内蔵させて動作するものであってもよい。
【００３０】
〔送信装置の構成〕
送信装置２は、受信部２１、送信レート制御部２２及び送信部２３を備えている。受信部２１は、レート制御装置５との間で所定のプロトコルに従ったデータ受信処理を行い、レート制御装置５からネットワーク４を介して送信レート制御データを受信し、送信レート制御命令を送信レート制御部２２に出力する。送信レート制御部２２は、受信装置３へ送信すべき送信データを入力すると共に、受信部２１から送信レート制御命令を入力し、送信レート制御命令が示すレートに従って送信レートを制御し、命令された送信レートにて送信データを送信部２３に出力する。送信部２３は、受信装置３との間で所定のプロトコルに従ったデータ送信処理を行い、送信レート制御部２２から送信データを入力し、送信データをパケットとしてネットワーク４を介して受信部３１へ向けて送信する。このように、送信装置２は、レート制御装置５により命令された送信レートにて送信データを、ネットワーク４を介して受信装置３へ送信する。
【００３１】
〔受信装置の構成〕
受信装置３は、受信部３１、受信レート測定部３２及び送信部３３を備えている。受信部３１は、送信装置２との間で所定のプロトコルに従ったデータ受信処理を行い、送信装置２からネットワーク４を介して送信データを受信し、受信データとして受信レート測定部３２に出力する。受信レート測定部３２は、受信部３１から受信データを入力し、単位時間毎の受信レートを測定し、受信レートを送信部３３に出力すると共に、受信データを出力する。ここで、ネットワーク４においてパケットロスが発生した場合、受信レートは送信レートと比較して減少する。送信部３３は、レート制御装置５との間で所定のプロトコルに従ったデータ送信処理を行い、受信レート測定部３２から受信レートを入力し、受信レートを受信レート報告データとしてネットワーク４を介してレート制御装置５へ送信する。このように、受信装置３は、送信装置２により送信された送信データを受信し、受信レートを測定し、受信レート報告データとしてレート制御装置５へ送信する。
【００３２】
〔レート制御装置の構成〕
レート制御装置５は、受信部５１、送信レート指示部５２及び送信部５３を備えている。受信部５１は、受信装置３との間で所定のプロトコルに従ったデータ受信処理を行い、受信装置３からネットワーク４を介して受信レート報告データを受信し、受信レートを送信レート指示部５２に出力する。送信レート指示部５２は、受信部５１から受信レートを入力し、受信レートをメモリ（図示せず）に保存する。メモリには、各受信装置３の受信レートが保存される。送信レート指示部５２は、メモリに保存した各受信装置３の受信レートに基づいて、後述するレート制御処理によって各送信装置２の送信レートを決定し、決定した送信レートを含む送信レート制御命令を送信部５３に出力する。送信部５３は、送信装置２との間で所定のプロトコルに従ったデータ送信処理を行い、送信レート指示部５２から送信レート制御命令を入力し、送信レート制御命令を送信レート制御データとしてネットワーク４を介して送信装置２へ送信する。このように、レート制御装置５は、受信装置３により測定された受信レートに基づいて、後述するレート制御処理により送信装置２の送信レートを決定し、送信レート制御データとして送信装置２へ送信する。
【００３３】
〔レート制御処理〕
次に、レート制御処理について説明する。図４は、レート制御処理を説明するフローチャートである。このレート制御処理は、主として、図３に示したレート制御装置５の送信レート指示部５２により行われ、対向するｎ組の送信装置２−１〜２−ｎ及び受信装置３−１〜３−ｎが、図１に示したような内部構成の不明なネットワーク４を介して同時にパケットを伝送する際に、帯域を最大限に利用することを可能とした送信装置２−１〜２−ｎの送信レートを決定する処理である。前述したとおり、送信装置２−１〜２−ｎ及び受信装置３−１〜３−ｎはそれぞれ対向して構成され、送信装置２−１が受信装置３-１に対してのみ伝送を行い、送信装置２−２が受信装置３−２に対してのみ伝送を行い、同様に、送信装置２−ｎが受信装置３−ｎに対してのみ伝送を行うものとする。送信装置２−１〜２−ｎの送信レートをＴ（ｔ１・・・ｔｎ）、そのときの受信装置３−１〜３−ｎの受信レートをＲ（ｒ１・・・ｒｎ）、利用者によって送信装置２−１〜２−ｎ及び受信装置３−１〜３−ｎに対し予め設定されたレート配分をＤ（ｄ１・・・ｄｎ）とする。尚、レート配分は、以下の式を満たすように設定されるものとする。
【数１】
2010245750.tif 000003
【００３４】
図４を参照して、レート制御装置５の送信レート指示部５２は、送信レートを増加させる１台の送信装置２−ｘを決定する（ステップＳ４０１）。例えば、送信装置２−１〜２−ｎの中から決定される１台の送信装置２−ｘの順番が予め設定されており、送信レート指示部５２は、予め設定された順番に従って、送信装置２−１〜２−ｎの中から１台の送信装置２−ｘを決定する。
【００３５】
受信装置３−１〜３−ｎの受信レート測定部３２は、所定の一定時間受信レートＲ（ｒ１・・・ｒｎ）を測定する（ステップＳ４０２）。このとき、送信装置２−１〜２−ｎは、送信レートＴ（ｔ１・・・ｔｎ）で送信データを送信している。計測された受信レートＲ（ｒ１・・・ｒｎ）は、受信レート報告データとしてレート制御装置５へ送信される。レート制御装置５が受信レート報告データを受信すると、レート制御装置５の送信レート指示部５２は、受信レートＲ（ｒ１・・・ｒｎ）をメモリに保存する。これにより、メモリには、送信レートＴ（ｔ１・・・ｔｎ）のときに測定された受信レートＲ（ｒ１・・・ｒｎ）が保存される。
【００３６】
レート制御装置５の送信レート指示部５２は、ステップＳ４０１にて決定した送信装置２−ｘに対し、現時点の送信レートｔｘに所定の一定値Δｔだけ増加させるように、送信レートｔｘ＋Δｔを決定する（ステップＳ４０３）。Δｔは、利用が想定される送信レートに対して、例えば１／１０程度の値とする。決定された送信レートｔｘ＋Δｔを含む送信レート制御命令は、送信レート制御データとして送信装置２−ｘへ送信される。
【００３７】
送信装置２−ｘが送信レート制御データを受信すると、送信装置２−ｘの送信レート制御部２２は、決定された送信レートｔｘ＋Δｔに従って送信レートを制御する。この送信レートｔｘ＋Δｔに従って制御された送信データは、ネットワーク４を介して受信装置３−ｘへ向けて送信される。
【００３８】
受信装置３−１〜３−ｎの受信レート測定部３２は、所定の一定時間受信レートＲ’（ｒ１’・・・ｒｎ’）を測定する（ステップＳ４０４）。このとき、送信装置２−１〜，２−ｘ，・・・２−ｎは、送信レートＴ（ｔ１・・・ｔｘ＋Δｔ・・・ｔｎ）で送信データを送信している。計測された受信レートＲ’（ｒ１’・・・ｒｎ’）は、受信レート報告データとしてレート制御装置５へ送信される。レート制御装置５が受信レート報告データを受信すると、レート制御装置５の送信レート指示部５２は、受信レートＲ’（ｒ１’・・・ｒｎ’）をメモリに保存する。これにより、メモリには、送信レートＴ（ｔ１・・・ｔｘ＋Δｔ・・・ｔｎ）のときに測定された受信レートＲ’（ｒ１’・・・ｒｎ’）が保存される。
【００３９】
レート制御装置５の送信レート指示部５２は、メモリから受信レートＲ（ｒ１・・・ｒｎ）及び受信レートＲ’（ｒ１’・・・ｒｎ’）を読み出し、受信レートの変化量ΔＲ（Δｒ１・・・Δｒｎ）＝Ｒ’（ｒ１’・・・ｒｎ’）−Ｒ（ｒ１・・・ｒｎ）を計算する。
【００４０】
ここで、ステップＳ４０３において送信装置２−ｘの送信レートｔｘをｔｘ＋Δｔに増加させると、ボトルネックリンクを共有しているときには、受信装置３−ｘにおける受信レートの増加に伴って、受信レートが減少する受信装置が存在する。例えば、送信装置２−ｘ及び受信装置３−ｘと送信装置２−α及び受信装置３−αとがボトルネックリンクを共有しているときには、送信装置２−ｘの送信レートを増加させることにより、受信装置３−ｘの受信レートが増加するが、受信装置３−αの受信レートは減少する。これに対し、ボトルネックリンクを共有していないときには、送信装置２−ｘの送信レートを増加させることにより、受信装置３−ｘの受信レートは増加するが、受信装置３−αの受信レートは変化しない。また、送信装置２−ｘの送信レートが上限になっているときには、送信装置２−ｘの送信レートを増加させようとしても増加しないから、受信装置３−ｘの受信レートは変化せず、受信装置３−αの受信レートも変化しない。
【００４１】
レート制御装置５の送信レート指示部５２は、受信レートの変化の総和が０となる（０とみなすことができる）受信装置の組み合わせ（受信装置群）、すなわち、Δｒｘ＋Δｒａ＋Δｒｂ＋・・・＜εとなる受信装置３−ｘ，３−ａ，３−ｂ，・・・の組み合わせを探索する（ステップＳ４０５）。εは、利用が想定される送信レートに対して０とみなせるような十分に小さい値とする。探索される受信装置の組み合わせには、送信レートを増加させた送信装置２−ｘが含まれる。
【００４２】
レート制御装置５の送信レート指示部５２は、ステップＳ４０５において探索した組み合わせの数（受信装置群の数）が１であるか否かを判定する（ステップＳ４０６）。組み合わせの数が１でないと判定した場合（ステップＳ４０６：Ｎ）、すなわち、組み合わせが見つからなかった場合、または、探索した組み合わせが２組以上存在する場合、ステップＳ４０７へ移行する。一方、組み合わせの数が１であると判定した場合（ステップＳ４０６：Ｙ）、すなわち、探索した組み合わせが１組だけ存在する場合、ステップＳ４０８へ移行する。
【００４３】
ここで、探索した組み合わせの数が１であることは、送信装置２−ｘ及び受信装置３−ｘと探索した組み合わせに含まれる送信装置及び受信装置とがボトルネックリンクを共有していることを意味する。一方、探索した組み合わせの数が０であることは、共有しているボトルネックリンクが存在しないことを意味する。また、探索した組み合わせの数が２以上であることは、ネットワーク４の状況が何らかの原因により変わり、ボトルネックリンクを共有しているか否かを判定することができないことを意味する。この場合、ネットワーク４の状況の変化に伴って受信装置３の受信レートが変化し、ボトルネックリンクを共有していないにもかかわらず、ステップＳ４０６において、２以上の組み合わせが探索されてしまうことになる。このように、送信レート指示部５２は、ステップＳ４０６において、それぞれの送信装置及び受信装置がボトルネックリンクを共有しているか否かを判定する。
【００４４】
レート制御装置５の送信レート指示部５２は、ステップＳ４０６において、組み合わせが見つからなかった場合、または、探索した組み合わせが２組以上存在する場合、全ての送信装置２−１〜２−ｎの送信レートＴ（ｔ１・・・ｔｎ）を、ステップＳ４０４において測定した受信レートＲ’（ｒ１’・・・ｒｎ’）に更新する（ステップＳ４０７）。すなわち、送信レート指示部５２は、メモリから読み出した受信レートＲ’（ｒ１’・・・ｒｎ’）を全ての送信装置２−１〜２−ｎの送信レートに設定することにより、送信レートを決定する。このようにして決定された送信レートを含む送信レート制御命令は、送信レート制御データとして送信装置２−１〜２−ｎへそれぞれ送信される（ステップＳ４１０）。そして、処理はステップＳ４０１へ移行する。
【００４５】
一方、レート制御装置５の送信レート指示部５２は、ステップＳ４０６において、組み合わせが１組だけ存在する場合、探索した組み合わせの受信装置３−ｘ，３−ａ，３−ｂ，・・・における受信レートｒｘ，ｒａ，ｒｂ，・・・の合計値Ｌ＝ｒｘ＋ｒａ＋ｒｂ＋・・・  を計算する（ステップＳ４０８）。尚、送信レート指示部５２は、探索した組み合わせの受信装置３−ｘ，３−ａ，３−ｂ，・・・における受信レートｒｘ’，ｒａ’，ｒｂ’，・・・の合計値Ｌ＝ｒｘ’＋ｒａ’＋ｒｂ’＋・・・  を計算するようにしてもよい。
【００４６】
レート制御装置５の送信レート指示部５２は、ステップＳ４０５において探索した組み合わせの受信装置３−ｘ，３−ａ，３−ｂ，・・・に対向する送信装置２−ｘ，２−ａ，２−ｂ，・・・について、これらに設定されたレート配分値Ｄ（ｄｘ，ｄａ，ｄｂ・・・）を、ステップＳ４０８において計算したＬに乗算する。そして、この乗算結果を新たな送信レートに設定することにより、送信レートを決定する。すなわち、送信装置２−ｘ，２−ａ，２−ｂ，・・・の送信レートＴ（ｔｘ，ｔａ，ｔｂ・・・）を、Ｄ（ｄｘ，ｄａ，ｄｂ・・・）×Ｌに更新する（ステップＳ４０９）。それ以外の送信装置２については、送信レートＴ（ｔ１・・・ｔｎ）を、ステップ４０４において測定した受信レートＲ’（ｒ１’・・・ｒｎ’）に更新する（ステップＳ４０９）。このようにして決定された送信レートを含む送信レート制御命令は、送信レート制御データとして送信装置２−１〜２−ｎへそれぞれ送信される（ステップＳ４１０）。そして、処理はステップＳ４０１へ移行する。
【００４７】
このように、ステップＳ４０６、ステップＳ４０８及びステップＳ４０９において、送信レート指示部５２は、ボトルネックリンクを共有している送信装置２−ｘ，２−ａ，２−ｂ，・・・及び受信装置３−ｘ，３−ａ，３−ｂ，・・・の組み合わせを判定し、送信装置２−ｘ，２−ａ，２−ｂ，・・・に対し、予め設定されているレート配分値Ｄ（ｄｘ，ｄａ，ｄｂ・・・）になるように、受信装置３−ｘ，３−ａ，３−ｂ，・・・における受信レートの合計値を送信レートに割り振ることにより、送信装置２−ｘ，２−ａ，２−ｂ，・・・の送信レートを決定する。これら以外の送信装置２に対しては、ステップ４０４において測定した受信レートＲ’（ｒ１’・・・ｒｎ’）を送信レートに設定することにより、送信レートを決定する。
【００４８】
ステップＳ４１０において新たな送信レートを含む送信レート制御命令が送信レート制御データとして送信装置２−１〜２−ｎへそれぞれ送信され、送信装置２−１〜２−ｎが送信レート制御データをそれぞれ受信すると、送信装置２−１〜２−ｎの送信レート制御部２２は、決定された送信レートに従って送信レートを制御する。この送信レートに従って制御された送信データは、ネットワーク４を介して受信装置３−１〜３−ｎへ向けて送信される。
【００４９】
そして、処理がステップＳ４０１へ戻り、レート制御装置５の送信レート指示部５２は、ｘ＝ｘ＋１として、送信レートを増加させる送信装置２−（ｘ＋１）を新たに決定し、新たな送信装置２−（ｘ＋１）の送信レートを増加させて同様の処理を行う。尚、ｘ＞ｎとなった場合、ｘ＝１として最初の送信装置２−１に戻ってレート制御処理を繰り返す。
【００５０】
以上のように、本発明の実施形態によるレート制御装置５によれば、送信レート指示部５２は、送信レートＴ（ｔ１・・・ｔｎ）にて測定した受信レートＲ（ｒ１・・・ｒｎ）を取得し、１台の送信装置２−ｘの送信レートを増加させることにより測定したＲ’（ｒ１’・・・ｒｎ’）を取得し、受信レートの変化量ΔＲ（Δｒ１・・・Δｒｎ）を計算する。そして、この受信レートの変化量ΔＲ（Δｒ１・・・Δｒｎ）の合計を０とみなすことができる送信装置２−ｘ，２−ａ，２−ｂ，・・・を判定するようにした。これにより、ボトルネックリンクを共有している送信装置２−ｘ，２−ａ，２−ｂ，・・・を判定することができる。
【００５１】
また、送信レート指示部５２は、ボトルネックリンクを共有している送信装置２−ｘ，２−ａ，２−ｂ，・・・に対し、予め設定されているレート配分値Ｄ（ｄｘ，ｄａ，ｄｂ・・・）になるように、受信装置３−ｘ，３−ａ，３−ｂ，・・・における受信レートの合計値を送信レートに割り振ることにより、送信装置２−ｘ，２−ａ，２−ｂ，・・・の送信レートを決定するようにした。これにより、受信装置３−ｘ，３−ａ，３−ｂ，・・・における受信レートの合計値がボトルネックリンクの帯域になるから、ボトルネックリンクの帯域の範囲内で、予め設定されたレート配分になるように、送信レートの制御を行うことができる。
【００５２】
したがって、ボトルネックリンクを共有していることを直接認識することができないベストエフォートなネットワーク４において、変化するボトルネックリンクの最大利用可能レートを測定してレート制御を行うことにより、予め設定されたレート配分のデータ伝送を実現することができ、ネットワーク４の帯域を効率的に利用することが可能となる。
【００５３】
尚、送信装置２、受信装置３及びレート制御装置５は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。送信装置２に備えた受信部２１、送信レート制御部２２及び送信部２３の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。受信装置３に備えた受信部３１、受信レート測定部３２及び送信部３３の各機能、並びにレート制御装置５に備えた受信部５１、送信レート指示部５２及び送信部５３の各機能についても同様である。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【００５４】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。前記実施形態では、レート制御装置５が、予め設定されたレート配分のデータ伝送を実現する送信レート指示部５２を備えているが、送信装置２−１〜２−ｎまたは受信装置３−１〜３−ｎのいずれか１台の装置に、この送信レート指示部５２を備えるようにしてもよい。
【００５５】
送信装置２−１〜２−ｎのうちの１台の送信装置２−ｍが送信レート指示部５２を備える場合、送信装置２−ｍの受信部２１は、受信装置３−１〜３−ｎから受信レート報告データを受信する。そして、送信装置２−ｍの送信レート指示部５２は、送信装置２−１〜２−ｎのそれぞれの送信レートを決定し、送信装置２−ｍ以外の送信装置２−１〜２−ｎに対し、その送信レートを送信する。また、送信レート指示部５２は、決定した送信装置２−ｍの送信レートを、自らの送信レート制御部２２に出力し、送信レートの制御を行わせる。ここで、図４に示したレート制御処理において、送信レートを増加させる対象の送信装置が送信装置２−ｍの場合、送信装置２−ｍは、送信レート指示部５２が増加させた送信レートを送信レート制御部２２に出力し、増加させた送信レートにてデータ伝送を行う。一方、送信レートを増加させる対象の送信装置が送信装置２−ｍ以外の送信装置２の場合、送信装置２−ｍは、増加させた送信レートを含む送信制御データを、送信装置２へ送信し、送信装置２に、増加させた送信レートにてデータ伝送を行わせる。
【００５６】
一方、受信装置３−１〜３−ｎのうちの１台の受信装置３−ｍが送信レート指示部５２を備える場合、受信装置３−ｍの受信部３１は、受信装置３−ｍ以外の受信装置３−１〜３−ｎから受信レート報告データを受信する。そして、受信装置３−ｍの送信レート指示部５２は、受信した受信レート、及び自らの受信レート測定部３２が測定した受信レートに基づいて、送信装置２−１〜２−ｎのそれぞれの送信レートを決定し、送信装置２−１〜２−ｎに対しその送信レートを送信する。
【００５７】
また、前記実施形態では、１台の送信装置２が１つの送信部２３を備え、１台の受信装置３が１つの受信部３１を備えるようにしたが、１台の送信装置２が複数の送信部２３を備え、１台の受信装置３が複数の受信部３１を備えるようにしてもよい。この場合、１対向の送信装置２及び受信装置３が、複数の経路を同時に利用してデータ伝送を行う。
【符号の説明】
【００５８】
１  伝送システム
２  送信装置
３  受信装置
４  ネットワーク
５  レート制御装置
２１，３１，５１  受信部
２２  送信レート制御部
２３，３３，５３  送信部
３２  受信レート測定部
５２  送信レート指示部
【図１】
2010245750.tif 000004
【図２】
2010245750.tif 000005
【図３】
2010245750.tif 000006
【図４】
2010245750.tif 000007