(57)【特許請求の範囲】
【請求項１】
データ提供側の装置と、前記データ提供側の装置から受信したデータの送信先となるデータ送信先の装置との、それぞれのＴＣＰ通信を終端するプロキシ部と、
前記データ提供側の装置から受信したデータのうち、前記データ送信先の装置に送信するデータを格納する送信バッファと、
前記送信バッファの空き容量に基づいて、データ送信先の装置の受信能力を推定する受信能力推定部と、
前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、転送レートを指示する転送レート制御部と、
を備え、
前記送信バッファの空き容量が減少していることを示す場合、現在の転送レートよりも小さい値の転送レートを指示する、及び／又は、前記送信バッファの空き容量が増大していることを示す場合、現在の転送レートよりも大きい値の転送レートを指示する、
中継装置。
【請求項２】
前記転送レート制御部は、前記データ提供側の装置に対するウィンドウサイズの変更指示により前記転送レートを指示する請求項１の中継装置。
【請求項３】
さらに、
前記転送レート制御部は、前記データ送信先の装置の受信能力に基づいて、前記データ送信先の装置に対する転送レートを変更する請求項１又は２の中継装置。
【請求項４】
さらに、前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、サービスレベルの変更を指示するサービスレベル変更部を備える請求項１から３のいずれか一の中継装置。
【請求項５】
前記転送レート制御部に代えて、
前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、サービスレベルの変更を指示するサービスレベル変更部を備える請求項１から３のいずれか一の中継装置。
【請求項６】
データ提供側の装置と、前記データ提供側の装置から受信したデータの送信先となるデータ送信先の装置と、それぞれＴＣＰ通信を終端するプロキシ部と、前記データ提供側の装置から受信したデータのうち、前記データ送信先の装置に送信するデータを格納する送信バッファと、を備え、前記データ提供側の装置から受信したデータを前記データ送信先の装置に送信する中継装置が、
前記送信バッファの空き容量に基づいて、データ送信先の装置の受信能力を推定するステップと、
前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、転送レートを指示するステップと、
を含み、
前記送信バッファの空き容量が減少していることを示す場合、現在の転送レートよりも小さい値の転送レートを指示する、及び／又は、前記送信バッファの空き容量が増大していることを示す場合、現在の転送レートよりも大きい値の転送レートを指示する、
データ中継方法。
【請求項７】
前記中継装置は、前記データ提供側に送信するパケットのＴＣＰヘッダ内のウィンドウサイズの変更により前記転送レートを指示する請求項６のデータ中継方法。
【請求項８】
データ提供側の装置と、前記データ提供側の装置から受信したデータの送信先となるデータ送信先の装置と、それぞれＴＣＰ通信を終端するプロキシ部と、前記データ提供側の装置から受信したデータのうち、前記データ送信先の装置に送信するデータを格納する送信バッファと、を備え、前記データ提供側の装置から受信したデータを前記データ送信先の装置に送信する中継装置に搭載されたコンピュータに、
前記送信バッファの空き容量に基づいて、データ送信先の装置の受信能力を推定する処理と、
前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、転送レートを指示する処理とを実行させ、
前記送信バッファの空き容量が減少していることを示す場合、現在の転送レートよりも小さい値の転送レートを指示する、及び／又は、前記送信バッファの空き容量が増大していることを示す場合、現在の転送レートよりも大きい値の転送レートを指示する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１８−０７８８７２号（２０１８年０４月１７日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、中継装置、データ中継方法及びプログラムに関する。
【背景技術】
【０００２】
モバイル網を経由したインターネット接続では、網特性の違いに起因する通信品質低下を抑制するため、両網の境界に中継装置を設置してＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を終端する構成が一般的である。この種の中継装置においては、ネットワークのスループットにあわせて、受信側で一度に受け取り可能なデータ量を送信元に伝えるウィンドウサイズ等の設定値の適切な設定を行う必要がある。このウィンドウサイズ等の設定が適切でない場合、十分に高速化できなかったり、逆にパケットロスを発生させてしまい通信速度の劣化となってしまう可能性がある。【０００３】
ＴＣＰにおける輻輳制御アルゴリズムとして、パケットロスベース方式や遅延ベース方式、これらを組み合わせたハイブリッド方式が知られている。パケットロスベース方式は、パケットのロスを観測し、ロスが増えれば輻輳が発生したと見なして送信量を抑えるものであり、ＣＵＢＩＣアルゴリズムなどがある。また、遅延ベース方式は、パケットの遅延を観測し、遅延量が増えたら輻輳状態になったと判断して送信量を減らすものであり、Ｗｅｓｔｗｏｏｄ＋等の方式がある。【０００４】
また、特許文献１〜３には、輻輳ウィンドウ値やウィンドウサイズを変更する構成が開示されている。特許文献１には、輻輳回避後のスループットを向上することができるという基地局が開示されている。同文献によると、この基地局は、基地局から無線回線を介して通信端末へ送信されるＴＣＰパケットを蓄える送信バッファ２５１を備える。また、この基地局は、輻輳ウィンドウ値と、通信端末から報告された受信ウィンドウ値とのうち、最小のウィンドウ値に基づいて、送信バッファ２５１へのＴＣＰパケットの流入量を制御する輻輳制御部２４５を備える。また、この基地局は、送信バッファ２５１におけるＴＣＰパケットの滞留量が閾値以上になったときに、輻輳ウィンドウ値を所定値まで減少させる輻輳ウィンドウ値設定部２４３を備える。そして、輻輳ウィンドウ値設定部２４３は、輻輳ウィンドウ値の減少後、送信バッファ２５１におけるＴＣＰパケットの滞留量が閾値未満になったときに、輻輳ウィンドウ値を、所定値より大きく、かつ、受信ウィンドウ値以上の値に設定する。【０００５】
特許文献２には、スループットの低下を防止することができるという通信装置が開示されている。同文献によると、この通信装置は、パケット処理部１５から出力された送信パケットを溜めて、バッファ制御部１６の制御に従って、送信パケットを通信部１１に出力する送信バッファ１４を備える。また、この通信装置は、送信バッファ１４の空き容量を常時監視し、監視結果をウィンドウサイズ変更部１２に出力するバッファ監視部１３を備える。また、この通信装置は、ＡＣＫパケットを用いて他の通信装置から通知されたウィンドウサイズを、送信バッファ１４の空き容量に基づいて変更するウィンドウサイズ変更部１２を備える。また、この通信装置は、変更後のウィンドウサイズを上限として新規の送信パケットを生成して送信バッファ１４に出力するパケット処理部１５を備える。【０００６】
また、特許文献３には、フロー制御を行うレイヤ２スイッチにおける輻輳制御を行う輻輳制御ノード装置が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−２０８１９３号公報
【特許文献２】特開２０１５−０９５７８０号公報
【特許文献３】特開２００９−０６０２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明によって与えられたものである。上記した中継装置におけるパケットロスに起因する再送とスループット低下により、通信事業者にとっての設備利用効率低下およびユーザにとっての体感品質低下が発生するという問題点がある。【０００９】
この点、特許文献１は、段落００４０で、送信元が中継ノードの送信バッファのパケット滞留量を把握することが困難であることが記載されている。そして、同段落では、中継ノードでのバッファ溢れによるパケット損失を頻発させないために、輻輳ウィンドウ値を緩やかに増大させることが記載されるに止まっている。【００１０】
また、特許文献２は、データパケットの送信側としての通信端末における送信バッファの空き容量に基づいて送信先から通知されたウィンドウサイズを書き換える方法を開示しており、中継ノードの送信バッファのパケット滞留量を把握することが困難であるという点では特許文献１と同様である。【００１１】
本発明は、モバイル網を含む２つの網の境界に配置された中継装置に起因する設備利用効率やユーザ体感品質の低下の抑止に貢献できる中継装置、データ中継方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の視点によれば、データ提供側の装置と、前記データ提供側の装置から受信したデータの送信先となるデータ送信先の装置と、それぞれＴＣＰ通信を終端するプロキシ部と、前記データ提供側の装置から受信したデータのうち、前記データ送信先の装置に送信するデータを格納する送信バッファと、前記送信バッファの空き容量に基づいて、データ送信先の装置の受信能力を推定する受信能力推定部と、前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、転送レートを指示する転送レート制御部と、を備える中継装置が提供される。【００１３】
第２の視点によれば、データ提供側の装置と、前記データ提供側の装置から受信したデータの送信先となるデータ送信先の装置と、それぞれＴＣＰ通信を終端するプロキシ部と、前記データ提供側の装置から受信したデータのうち、前記データ送信先の装置に送信するデータを格納する送信バッファと、を備え、前記データ提供側の装置から受信したデータを前記データ送信先の装置に送信する中継装置が、前記送信バッファの空き容量に基づいて、データ送信先の装置の受信能力を推定するステップと、前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、転送レートを指示するステップと、を含むデータ中継方法が提供される。本方法は、モバイル網とコア網の境界に配置された中継装置という、特定の機械に結びつけられている。【００１４】
第３の視点によれば、データ提供側の装置と、前記データ提供側の装置から受信したデータの送信先となるデータ送信先の装置と、それぞれＴＣＰ通信を終端するプロキシ部と、前記データ提供側の装置から受信したデータのうち、前記データ送信先の装置に送信するデータを格納する送信バッファと、を備え、前記データ提供側の装置から受信したデータを前記データ送信先の装置に送信する中継装置に搭載されたコンピュータに、前記送信バッファの空き容量に基づいて、データ送信先の装置の受信能力を推定する処理と、前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、転送レートを指示する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジトリーな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明によれば、モバイル網を含む２つの網の境界に配置された中継装置に起因する設備利用効率やユーザ体感品質の低下を抑止することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の構成を示す図である。
【図３】本発明の第１の実施形態の中継装置の動作を説明するための流れ図である。
【図４】本発明の第１の実施形態の中継装置の送信バッファの空き容量を説明するための図である。
【図５】本発明の第１の実施形態の中継装置による対向装置の受信能力の推定方法を説明するための図である。
【図６】本発明の第１の実施形態の中継装置による対向装置の受信能力の推定方法を説明するための別の図である。
【図７】対向装置の受信能力が低下している場合の送信バッファの変化を説明するための別の図である。
【図８】対向装置の受信能力に余裕がある場合の送信バッファの変化を説明するための別の図である。
【図９】本発明の第２の実施形態の構成を示す図である。
【図１０】本発明の第２の実施形態の中継装置の動作を説明するための流れ図である。
【図１１】本発明の中継装置を構成するコンピュータの構成を示す図である。
【発明を実施するための形態】
【００１７】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。
【００１８】
本発明は、その一実施形態において、図１に示すように、データ提供側装置１１からデータ送信先装置１３に送信されるデータを中継する中継装置１２にて実現できる。より具体的には、この中継装置１２は、プロキシ部１２１と、送信バッファ１２２と、受信能力推定部１２３と、転送レート制御部１２４とを備える。
【００１９】
プロキシ部１２１は、データ提供側装置１１と自装置（中継装置１２）間、自装置（中継装置１２）とデータ送信先装置１３間のそれぞれのＴＣＰ通信を終端する。
【００２０】
送信バッファ１２２は、前記データ提供側の装置から受信したデータのうち、前記データ送信先の装置への送信前のデータ及び送信後ＡＣＫ（受信確認応答）受信前のデータを格納する。
【００２１】
受信能力推定部１２３は、前記送信バッファ１２２の空き容量に基づいて、データ送信先装置１３の受信能力を推定する。
【００２２】
そして、転送レート制御部１２４は、前記推定したデータ送信先装置１３の受信能力に基づいて、前記データ提供側装置１１に対して、転送レートを指示する。この転送レートの指示は、例えば、データ提供側装置１１に対するＡＣＫ（受信確認応答）のＴＣＰヘッダ内のウィンドウサイズを指定することで指示することができる。
【００２３】
以上のような本実施形態によれば、自装置（中継装置１２）とデータ送信先装置１３間でパケットロスや遅延の発生を抑止することが可能となる。その理由は、送信バッファの空き容量からパケットロスや遅延の発生の予兆を把握し、早めに転送レートを変更する構成を採用したことにある。
【００２４】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の構成を示す図である。図２を参照すると、データ提供側装置１００と端末装置３００とがそれぞれ接続するネットワーク４００、５００の境界に配置される中継装置２００が示されている。
【００２５】
データ提供側装置１００は、例えば、インターネットやクラウドサービス基盤上に配置されたサーバ等である。
【００２６】
端末装置３００は、ネットワーク４００、５００を介して、データ提供側装置１００からデータを受け取るスマートフォン、パーソナルコンピュータ（ＰＣ）、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇ）機器等である。
【００２７】
ネットワーク４００は、例えば、インターネットやローカルエリアネットワークである。一方、ネットワーク５００は、無線アクセスネットワークである。ネットワーク５００は、ネットワーク４００と比較して、無線品質の変化等によりパケットロスや遅延が生じやすいため、中継装置２００が配置されている。中継装置２００は、データ提供側装置１００と端末装置３００と、それぞれＴＣＰコネクションを張り、それぞれの網特性に応じて通信を行う。
【００２８】
図２を参照すると、中継装置２００は、送信制御部２１０と、送信バッファ２２０と、プロキシ部２３０とを備えている。
【００２９】
送信制御部２１０は、転送レート制御部２１１と、受信能力推定部２１２と、送信バッファ監視部２１３とを備える。
【００３０】
プロキシ部２３０は、データ提供側装置１００と端末装置３００と、それぞれＴＣＰコネクションを張り、それぞれの網特性に応じて通信を行う。より具体的には、プロキシ部２３０は、受信側の装置（ここでは、端末装置３００）から通知されたウィンドウサイズに基づいて端末装置３００側にデータを送信する。また、プロキシ部２３０は、データ提供側装置１００にもウィンドウサイズを通知することになるが、送信制御部２１０が、そのウィンドウサイズを決定する。
【００３１】
送信バッファ２２０は、データ提供側装置１００から受信した端末装置３００宛てのデータを蓄積するバッファである。
【００３２】
送信制御部２１０は、転送レート制御部２１１と、受信能力推定部２１２と、送信バッファ監視部２１３とを備える。
【００３３】
送信バッファ監視部２１３は、定期的にバッファの空き容量を監視し、その結果を受信能力推定部２１２に渡す。
【００３４】
受信能力推定部２１２は、送信バッファ監視部２１３から受け取ったバッファの空き容量の変化に基づいて受信側の装置（ここでは、端末装置３００）の受信能力を推定する。受信能力推定部２１２は、前記推定した受信側の装置（ここでは、端末装置３００）の受信能力を転送レート制御部２１１に渡す。
【００３５】
転送レート制御部２１１は、受信能力推定部２１２から受け取った受信側の装置（ここでは、端末装置３００）の推定受信能力に基づいて、データ提供側装置１００に通知するウィンドウサイズを決定する。なお、上記に加えて、転送レート制御部２１１が、受信側の装置（ここでは、端末装置３００）の推定受信能力に基づいて、受信側の装置（ここでは、端末装置３００）から受け取ったウィンドウサイズを増減することとしてもよい。
【００３６】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図３は、本発明の第１の実施形態の中継装置においてＴＣＰコネクション確立後に所定の周期で行われる動作を説明するための流れ図である。図３を参照すると、まず、中継装置２００は、端末装置向けの送信バッファ２２０の空き容量を取得する（ステップＳ００１）。
【００３７】
次に、中継装置２００は、送信バッファ２２０の空き容量の変化を用いた受信側の装置（ここでは、端末装置３００）の受信能力を推定する（ステップＳ００２）。
【００３８】
ここで、送信バッファ２２０の空き容量は、次のように定義される。図４は、本実施形態の中継装置２００の送信バッファ２２０の空き容量を説明するための図である。図４に示すように、中継装置２００がデータ提供側装置１００から受信した端末装置３００向けのデータは送信バッファ２２０に格納される。図４の「未送信」は、端末装置３００に送信していないデータを示す。その後、中継装置２００が送信バッファ２２０からデータを取り出して送信すると、当該データは未送信状態からＡＣＫ待ちに遷移する。その後、端末装置３００からＡＣＫを受信すると、当該データは送信バッファから削除される。従って、送信バッファ２２０の空き容量は、送信バッファ２２０のサイズから、未送信データを格納した容量（図４の「未送信」）と、送信後ＡＣＫ未受信のＡＣＫ待ちのデータを格納した容量（図４の「ＡＣＫ待ち」）とを除外して求めることができる。また、上述のように、送信バッファ２２０の空き容量は、対向装置のデータ受信状況により変化することになる。
【００３９】
図５、図６は、中継装置２００による対向装置の受信能力の推定方法を説明するための図である。図５の例では、ある時刻ｔにおける空き容量が、前回チェック時（時刻ｔ−１）より減っている状態を示す。これは、中継装置２００から送信しているデータを、受信側の装置（ここでは、端末装置３００）が処理しきれていない状況を示している。このような場合、中継装置２００は、受信側の装置（ここでは、端末装置３００）の受信能力が現ウィンドウサイズによるデータ転送レートとの比較において低い状態にあると判定する。
【００４０】
図６の例では、ある時刻ｔにおける空き容量が、前回チェック時（時刻ｔ−１）より増えている状態を示す。これは、中継装置２００から送信しているデータを、受信側の装置（ここでは、端末装置３００）が十分に処理できている状況を示している。このような場合、中継装置２００は、受信側の装置（ここでは、端末装置３００）の受信能力が現ウィンドウサイズによるデータ転送レートとの比較において高い状態にあると判定する。
【００４１】
次に、中継装置２００は、前記推定した受信側の装置（ここでは、端末装置３００）の受信能力に基づいて、転送レートを変更し、データ提供側装置１００に対して指示する（ステップＳ００３）。例えば、図５に示すように、端末装置３００の受信能力が現ウィンドウサイズによるデータ転送レートとの比較において低い状態にあると判定した場合、中継装置２００は、データ提供側装置１００に対し、現在よりも低いデータ転送レートでの送信を指示する。
【００４２】
同様に、図６に示すように、端末装置３００の受信能力が現ウィンドウサイズによるデータ転送レートとの比較において高い状態にあると判定した場合、中継装置２００は、データ提供側装置１００に対し、現在よりも高いデータ転送レートでの送信を指示する。
【００４３】
なお、上記ステップＳ００３におけるデータ転送レートの指示は、データ提供側装置１００に対するＡＣＫ送信時のヘッダ内のウィンドウサイズフィールドに、前記データ転送レートに対応する値を設定する方法を採ることができる。
【００４４】
ここで、図７、図８を参照して、データ転送レートの具体的な決定の例について説明する。図７に示すように、ある時刻ｔ１の送信バッファ２２０に、未送信データが２０単位、ＡＣＫ待ちが１０単位格納され、空き容量は３０単位であったものとする。その後、ある単位時間内に、中継装置２００が、データ提供側装置１００からパケットを１０単位受信している。一方、中継装置２００は、端末装置３００に対し、パケットを７単位送信し、また、ＡＣＫを５単位受信している。以上の結果、次の送信バッファの監視タイミング（時刻ｔ１＋１）では、未送信データは、１０増７減の２０＋（１０−７）の２３単位と計算される。一方、ＡＣＫ待ちデータは、７増５減の１０＋（−５＋７）の１２単位と計算される。結果として、空き容量は３０単位から２５単位に減少している。この場合、端末装置３００の受信能力は単位時間あたり５単位であると推定されるので、中継装置２００は、データ提供側装置１００に対して、送信レートを５単位に近づけていくように指示する。これにより、中継装置２００と端末装置３００間での輻輳やパケットロスを回避することが可能となる。
【００４５】
一方、図８に示すように、ある時刻ｔ２の送信バッファ２２０に、未送信データが２０単位、ＡＣＫ待ちが１０単位格納され、送信バッファ２２０空き容量は３０単位であったものとする。その後、ある単位時間内に、中継装置２００が、データ提供側装置１００からパケットを１０単位受信している。一方、中継装置２００は、端末装置３００に対し、パケットを１０単位送信し、また、ＡＣＫを１５単位受信している。以上の結果、次の送信バッファの監視タイミング（時刻ｔ２＋１）では、未送信データは、１０増１０減の２０単位と計算される。一方、ＡＣＫ待ちデータは、１０増１５減の１０＋（１０−１５）の５単位と計算される。結果として、空き容量は３０単位から３５単位に増大している。この場合、端末装置３００の受信能力は単位時間あたり１５単位であると推定されるので、中継装置２００は、データ提供側装置１００に対して、効率を上げるべく、送信レートを１５単位に近づけていくように指示する。これにより、全体のスループットを向上させることが可能となる。
【００４６】
以上のように、本実施形態によれば、中継装置２００と端末装置３００間の再送が発生する前にデータ提供側装置１００と中継装置２００間のデータ転送レートを変更することができる。これにより、無駄なパケットの送信（再送やポーズフレーム）を抑止することも可能となる。
【００４７】
また、本実施形態によれば、過度のデータ転送レートの増減を避けることができるため、他の通信も加味したネットワーク全体のリソースを有効的に使用することが可能となる。また、データ転送レートの変化が緩やかとなるため、ユーザの体感的サービスレベルにも大きな影響を与えないという利点がある。
【００４８】
［第２の実施形態］
上記した実施形態では、受信側の装置（ここでは、端末装置３００）の受信能力に基づいて、上流装置側の転送レートを変更するものとして説明したが、サービスレベルを変更することでも同様の効果を達成することができる。ここで、サービスレベルとは、データ提供側装置１００から端末装置３００に対するサービスの画像の圧縮有無を含む圧縮レベルの違い、データ符号化方式の違い、提供する動画のビットレートの高低などである。
【００４９】
図９は、本発明の第２の実施形態の構成を示す図である。図２に示した第１の実施形態との構成上の相違は、送信制御部２１０ａ内の転送レート制御部２１１がサービスレベル変更部２１１ａに置き換わっている点である。その他の構成は第１の実施形態と同様であるので、説明を省略する。
【００５０】
サービスレベル変更部２１１ａは、受信能力推定部２１２から受け取った受信側の装置（ここでは、端末装置３００）の推定受信能力に基づいて、データ提供側装置１００にサービスレベルを決定し、データ提供側装置１００側に通知する。
【００５１】
図１０は、第２の実施形態の中継装置の動作を説明するための流れ図である。図３に示した第１の実施形態の中継装置の動作と異なる点は、ステップＳ１０３において、サービスレベルの指示が行われる点である。
【００５２】
例えば、送信バッファの状態が図５のような遷移を示す場合、時刻ｔにおいて、中継装置２００ａは、受信側の装置（ここでは、端末装置３００）の受信能力が現ウィンドウサイズによるデータ転送レートとの比較において低い状態にあると判定する。このため、本実施形態の中継装置２００ａは、データ提供側装置１００に対し、サービスレベルを下げるように指示する。これにより、データ提供側装置１００から端末装置３００側に送信されるデータが軽くなるため、中継装置２００と端末装置３００間での輻輳やパケットロスを回避することが可能となる。
【００５３】
送信バッファの状態が図６のような遷移を示す場合、時刻ｔにおいて、中継装置２００ａは、受信側の装置（ここでは、端末装置３００）の受信能力が現ウィンドウサイズによるデータ転送レートとの比較において高い状態にあると判定する。このため、本実施形態の中継装置２００ａは、データ提供側装置１００に対し、サービスレベルを上げるように指示する。これにより、端末装置３００間で受けることのできるサービスのレベルが向上することになる。
【００５４】
なお、上記した実施形態では、サービスレベルのみを変更するものとして説明したが、サービスレベルの変更と併せて、データ転送レートの変更を行ってもよい。
【００５５】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。また、以下の説明において、「Ａ及び／又はＢ」は、Ａ及びＢの少なくともいずれかという意味で用いる。
【００５６】
また、上記した第１、第２の実施形態に示した手順は、中継装置２００、２００ａとして機能するコンピュータ（図１１の９０００）に、中継装置２００としての機能を実現させるプログラムにより実現可能である。このようなコンピュータは、図１１のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１０、通信インタフェース９０２０、メモリ９０３０、補助記憶装置９０４０を備える構成に例示される。すなわち、図１１のＣＰＵ９０１０にて、送信バッファ監視プログラム、受信能力推定プログラム、転送レート制御プログラムを実行し、その補助記憶装置９０４０等に保持された各計算パラメーターの更新処理を実施させればよい。
【００５７】
即ち、上記した第１、第２の実施形態に示した中継装置２００、２００ａの各部（処理手段、機能）は、中継装置に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することができる。
【００５８】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による中継装置参照）
［第２の形態］
上記した中継装置の転送レート制御部は、前記データ提供側の装置に対するウィンドウサイズの変更指示により前記転送レートを指示する形態を採ることができる。
［第３の形態］
上記した中継装置の前記転送レート制御部は、前記データ送信先の装置の受信能力に基づいて、前記データ送信先の装置に対する転送レートを変更する形態を採ることができる。
［第４の形態］
上記した中継装置は、前記送信バッファの空き容量が減少していることを示す場合、現在の転送レートよりも小さい値の転送レートを指示することが好ましい。
［第５の形態］
上記した中継装置は、前記送信バッファの空き容量が増大していることを示す場合、現転送レートよりも大きい値の転送レートを指示することが好ましい。
［第６の形態］
上記した中継装置は、前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、サービスレベルの変更を指示する構成を採ることもできる。
［第７の形態］
上記した中継装置において、前記転送レート制御部に代えて、
前記データ送信先の装置の受信能力に基づいて、前記データ提供側の装置に対して、サービスレベルの変更を指示するサービスレベル変更部を備える構成を採ることもできる。
［第８の形態］
（上記第２の視点によるデータ中継方法参照）
［第９の形態］
（上記第３の視点によるプログラム参照）
なお、上記第８〜第９の形態は、第１の形態と同様に、第２〜第７の形態に展開することが可能である。
【００５９】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択（非選択を含む）が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００６０】
１１、１００  データ提供側装置
１２、２００、２００ａ  中継装置
１３  データ送信先装置
１２１、２３０  プロキシ部
１２２、２２０  送信バッファ
１２３  受信能力推定部
１２４  転送レート制御部
１００  データ提供側装置
２１０、２１０ａ  送信制御部
２１１  転送レート制御部
２１１ａ  サービスレベル変更部
２１２  受信能力推定部
２１３  送信バッファ監視部
３００  端末装置
４００、５００  ネットワーク
９０００  コンピュータ
９０１０  ＣＰＵ
９０２０  通信インタフェース
９０３０  メモリ
９０４０  補助記憶装置
【図１】
0006954460.tif 000002
【図２】
0006954460.tif 000003
【図３】
0006954460.tif 000004
【図４】
0006954460.tif 000005
【図５】
0006954460.tif 000006
【図６】
0006954460.tif 000007
【図７】
0006954460.tif 000008
【図８】
0006954460.tif 000009
【図９】
0006954460.tif 000010
【図１０】
0006954460.tif 000011
【図１１】
0006954460.tif 000012