(57)【要約】【課題】  インターネットのようなベストエフォート型サービスを提供するネットワークにおいて、ネットワークにおける通信路の状態を早期に検出する方法、装置及びプログラムを提供する。【解決手段】  送信元ノード１０のタイムスタンプ埋込手段１１が、送信時刻をＲＴＰパケットのヘッダのタイムスタンプに埋め込み、通信手段１２が、送信間隔を一定に保ちながらＲＴＰパケットを送信先ノード２０へ送信する。送信先ノード２０の転送時間処理手段２２は、受信したＲＴＰパケットのヘッダのタイムスタンプ（送信時刻）とＲＴＰパケットの受信時刻とに基づいて、ＲＴＰパケットの片方向転送時間を算出する。通信路状態判断手段２３は、転送時間処理手段２２により算出された片方向転送時間の増加傾向を検出し、通信路の状態を判断する。【選択図】  図５
2005269364.tif 000002
【特許請求の範囲】
【請求項１】
送信元ノードと送信先ノードとの間の通信路の状態を検出する方法において、
送信元ノードから送信先ノードへ送信間隔を一定に保ちながらデータを転送し、送信元ノードから送信先ノードへデータを転送するために要する時間を逐次測定し、当該転送時間の増加傾向を判断し、当該増加傾向に基づいて前記通信路の輻輳状態を検出することを特徴とする通信路状態検出方法。
【請求項２】
請求項１に記載の通信路状態検出方法において、
前記測定した転送時間を用いて、連続するデータの転送時間差を算出し、当該転送時間差に基づいて前記転送時間の増加傾向を判断することを特徴とする通信路状態検出方法。
【請求項３】
請求項１または２に記載の通信路状態検出方法において、
送信元ノードから送信先ノードへ一定の大きさのグループに分けたデータを転送し、
前記グループ単位で転送時間の統計情報を算出し、当該統計情報に基づいて前記転送時間の増加傾向を判断することを特徴とする通信路状態検出方法。
【請求項４】
請求項３に記載の通信路状態検出方法において、
前記測定した転送時間を連続するデータ順にそれぞれ比較し、後のデータの転送時間が先のデータの転送時間よりも大きい割合を算出し、当該割合に基づいて前記転送時間の増加傾向を判断することを特徴とする通信路状態検出方法。
【請求項５】
請求項３に記載の通信路状態検出方法において、
前記測定した転送時間を用いて、連続するデータの転送時間差の揺らぎを算出し、同一グループにおける最初のデータを最後のデータとの転送時間差を算出し、前記揺らぎに対する前記最初と最後の転送時間差の割合を算出し、当該割合に基づいて前記転送時間の増加傾向を判断することを特徴とする通信路状態検出方法。
【請求項６】
複数の通信装置がネットワークを構成する通信路を介して接続されるデータ転送システムの下で、当該通信路の状態を検出する通信装置において、
他の通信装置から当該通信装置へ送信間隔を一定に保ちながらデータを転送する場合に、当該データを転送するために要する時間を逐次測定する手段と、当該手段により測定された転送時間の増加傾向を判断し、当該増加傾向に基づいて前記通信路の輻輳状態を検出する手段とを備えたことを特徴とする通信装置。
【請求項７】
複数の通信装置がネットワークを構成する通信路を介して接続されるデータ転送システムの下で、当該通信路の状態を検出する通信装置を構成するコンピュータに実行させる通信状態検出プログラムであって、
他の通信装置から当該通信装置へデータを転送するために要する時間を逐次測定する処理と、当該転送時間の増加傾向を判断する処理と、当該増加傾向に基づいて前記通信路の輻輳状態を検出する処理とを実行させる通信状態検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットのようなベストエフォート型サービスを提供するネットワークにおいて、ネットワークの負荷集中や輻輳による転送遅延揺らぎ及びパケット損失を回避するための通信制御に有効な通信路状態検出技術に関する。
【背景技術】
【０００２】
インターネットで一般的に用いられるトランスポートプロトコル（伝送プロトコル）であるＴＣＰ（Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いたネットワークにおいて、送信元ノードは、受信確認メッセージ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）を送信先ノードから受信することにより、送信元ノードと送信先ノードとの間の通信路の状態を把握している。
【０００３】
また、インターネット関連の標準文書であるＲＦＣ１８８９（例えば、非特許文献１を参照。）で勧告されたＲＴＰ（ＲＥＡＬ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）／ＲＴＣＰ（Ｒｅａｌ−ｔｉｍｅ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いたネットワークにおいて、送信先ノードは、送信元ノードから送信されるＲＴＰパケットの到着時間揺らぎを加算平均することによりジッタを算出し、送信元ノードとの間で定期的に取り交わすＲＴＣＰパケットを用いてそのジッタ情報を送信元ノードへ通知する。そして、送信元ノードは、送信先ノードとの間の往復転送時間（ＲＴＴ）をＲＴＣＰパケットを用いて算出する。このように、送信元ノードは、前記ジッタ情報及び往復転送時間により、送信元ノードと送信先ノードとの間の通信路の状態を把握している。
【０００４】
また、送信先ノードが、受信バッファに格納されるパケットのデータサイズを監視し、そのデータサイズの増加量が鈍化した場合に、その旨を送信元ノードへ通知する。そして、送信元ノードは、この通知により、送信元ノードと送信先ノードとの間の通信路の状態を把握している。
【０００５】
一方、ネットワークの有効帯域（空き帯域）を測定するＰａｔｈｌｏａｄという手法が提案されている。この手法は、送信元ノードから送信先ノードへの片道転送時間の増加／減少傾向を観測しながら、送信元ノードが送信間隔を変更することを繰り返すことにより、片道転送時間がほぼ一定となる送信間隔における帯域を有効帯域と判断するものである（例えば、非特許文献２を参照。）。
【０００６】
【非特許文献１】RTP:A Transport Protocol for Real-Time Applications、[online]、１９９６年１月、［平成１６年３月１０日検索］、インターネット＜ＵＲＬ：ftp://ftp.isi.edu/in-notes/rfc1889.txt＞
【非特許文献２】M.Jain and C.Dovrolis、“Pathload:A measurement tool for end-to-end available bandwidth”、In Proceedings of Passive and Active Measurements(PAM) Workshop、Mar.2002
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ベストエフォート（最大限の努力）型サービスであるインターネットでは、通信を行っているネットワークにおける輻輳を避けることができない。このため、輻輳によるデータの大幅な損失を防ぐための通信制御が行われており、また、輻輳を検出する方法も様々である。
【０００８】
また、ＴＣＰを用いたネットワークでは、パケット損失を検出することにより輻輳を判断している。しかし、これはパケット損失に基づいた輻輳判断であるため、パケット損失が発生する程度の輻輳を未然に検出することは不可能である。また、例えば無線通信のように通信路の状態が悪いだけであって、トラヒックが輻輳していない場合でも、パケット損失が発生すると、通信路に輻輳が生じたものと判断してしまう。
【０００９】
また、ＲＴＰ／ＲＴＣＰを用いたネットワークでは、ＲＴＰ／ＲＴＣＰにより測定されるジッタや往復転送時間は通信路によって様々であるため、通信路の輻輳を判断できる汎用的な閾値を設定することが不可能である。
【００１０】
また、送信先ノードが受信バッファに格納されるパケットのデータサイズを監視するネットワークでは、ネットワークの輻輳によりパケットの転送時間が大きくなった場合に、受信バッファに格納されるパケットのデータサイズの増加量が鈍化する傾向を検出する。しかし、送信側の送信方法によっては、前記受信バッファにおけるデータサイズの増加量鈍化傾向を誤認してしまうケースもある。例えば、ある程度の数のパケットをまとめてバースト転送する場合には、受信バッファのデータサイズの増加量が鈍化する傾向にあるにもかかわらず、その傾向を検出することができないこともあり得る。
【００１１】
そこで、本発明は、上記の課題を解決するためになされたものであり、その目的は、インターネットのようなベストエフォート型サービスを提供するネットワークにおいて、ネットワークにおける通信路の状態を早期に検出する方法、装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の請求項１の通信路状態検出方法は、送信元ノードと送信先ノードとの間の通信路の状態を検出する方法において、送信元ノードから送信先ノードへ送信間隔を一定に保ちながらデータを転送し、送信元ノードから送信先ノードへデータを転送するために要する時間を逐次測定し、当該転送時間の増加傾向を判断し、当該増加傾向に基づいて前記通信路の輻輳状態を検出することを最も主な特徴とする。
【００１３】
本発明の請求項２の通信路状態検出方法は、請求項１に記載の通信路状態検出方法において、前記測定した転送時間を用いて、連続するデータの転送時間差を算出し、当該転送時間差に基づいて前記転送時間の増加傾向を判断することを特徴とする。
【００１４】
本発明の請求項３の通信路状態検出方法は、請求項１または２に記載の通信路状態検出方法において、送信元ノードから送信先ノードへ一定の大きさのグループに分けたデータを転送し、前記グループ単位で転送時間の統計情報を算出し、当該統計情報に基づいて前記転送時間の増加傾向を判断することを特徴とする。
【００１５】
本発明の請求項４の通信路状態検出方法は、請求項３に記載の通信路状態検出方法において、前記測定した転送時間を連続するデータ順にそれぞれ比較し、後のデータの転送時間が先のデータの転送時間よりも大きい割合を算出し、当該割合に基づいて前記転送時間の増加傾向を判断することを特徴とする。
【００１６】
本発明の請求項５の通信路状態検出方法は、請求項３に記載の通信路状態検出方法において、前記測定した転送時間を用いて、連続するデータの転送時間差の揺らぎを算出し、同一グループにおける最初のデータを最後のデータとの転送時間差を算出し、前記揺らぎに対する前記最初と最後の転送時間差の割合を算出し、当該割合に基づいて前記転送時間の増加傾向を判断することを特徴とする。
【００１７】
本発明の請求項６の通信装置は、複数の通信装置がネットワークを構成する通信路を介して接続されるデータ転送システムの下で、当該通信路の状態を検出する通信装置において、他の通信装置から当該通信装置へ送信間隔を一定に保ちながらデータを転送する場合に、当該データを転送するために要する時間を逐次測定する手段と、当該手段により測定された転送時間の増加傾向を判断し、当該増加傾向に基づいて前記通信路の輻輳状態を検出する手段とを備えたことを特徴とする。
【００１８】
本発明の請求項７の通信路状態検出プログラムは、複数の通信装置がネットワークを構成する通信路を介して接続されるデータ転送システムの下で、当該通信路の状態を検出する通信装置を構成するコンピュータに実行させる通信状態検出プログラムであって、他の通信装置から当該通信装置へデータを転送するために要する時間を逐次測定する処理と、当該転送時間の増加傾向を判断する処理と、当該増加傾向に基づいて前記通信路の輻輳状態を検出する処理とを実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、ベストエフォート型サービスを提供するインターネット網等のネットワークにおいて、転送時間の増加傾向に基づいて、データの送受信を行う２地点の通信装置間の通信路における輻輳等の状態を早期に検出することができる。また、これを輻輳回避や通信品質維持のための通信制御に利用することにより、ネットワークの障害や輻輳によるデータ損失や遅延を避けることができ、ネットワークにおける通信品質の向上を図ることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。本実施の形態は、説明を分かりやすくするために効果が顕著である実時間型のデータ転送方法を例にとり、ネットワーク品質を監視する仕組みを備えているＲＴＰ／ＲＴＣＰを利用したものである。図１は、トランスポートプロトコルにＲＴＰを用いた実時間型のデータ転送システムを示すコネクション構成図である。図１に示すように、通信路であるネットワーク３を介して接続される送信元ノード１と送信先ノード２との間は、ＲＴＣＰのＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）チャンネルが確立される。このＲＴＣＰは、ＲＴＰによるＲＴＰパケットの伝送を制御するために用いられ、データ配信の品質情報をアプリケーションに提供する機能を有する。このようなデータ転送システムの下で、送信元ノード１及び送信先ノード２は、ＲＴＰパケットの送受信を行う。
【００２１】
次に、図２を参照して、ＲＴＰパケットのヘッダのフォーマットを説明する。ＲＴＰパケットは、ヘッダ及びペイロードから構成される。ＲＴＰパケットのヘッダは、バージョン番号、パディング、拡張ビット、コントリビュータカウント、マーカビット、ペイロードタイプ、シーケンス番号、タイムスタンプ、同期ソース識別子及び貢献ソース識別子から構成される。本発明の実施の形態では、ＲＴＰパケットのヘッダの構成要素のうちのペイロードタイプ及びタイムスタンプを用いる。
【００２２】
以下、本発明の実施の形態の動作について、その概略を説明する。送信元ノード１は、図２に示したＲＴＰパケットのヘッダのペイロードタイプによって規定された周波数で、ＲＴＰパケットを送信先ノード２へ送信する送信時間（時刻）を、ＲＴＰパケットのヘッダのタイムスタンプに埋め込み、送信間隔を一定に保ちながらＲＴＰパケットを送信先ノード２へ送信する。
【００２３】
送信先ノード２は、送信時刻がタイムスタンプに埋め込まれたＲＴＰパケットを受信すると、当該タイムスタンプとＲＴＰパケットの受信時刻とに基づいて、送信元ノード１から送信先ノード２へのＲＴＰパケットの片方向転送時間（送信元ノード１から送信先ノード２へＲＴＰパケットを転送するのに要する時間）または片方向転送時間差（連続して受信した２つのＲＴＰパケットについて、先のＲＴＰパケットの片方向転送時間と後のＲＴＰパケットの片方向転送時間との時間差）を算出する。そして、送信先ノード２は、算出した片方向転送時間または片方向転送時間差に基づいて、片方向転送時間の増加傾向を検出してネットワーク３の通信路の状態を判断する。例えば、送信先ノード２は、片方向転送時間が増加傾向にあることを検出した場合には、ネットワーク３の通信路はＲＴＰパケットパケットの損失が生じる状態である輻輳状態になる可能性がある（輻輳状態になる直前の状態である）ものと判断する。一方、片方向転送時間が増加傾向にないことを検出した場合には、ネットワーク３の通信路は輻輳状態ではない、または輻輳状態にならないものと判断する。
【００２４】
ここで、本発明の実施の形態では、送信元ノード１が、送信間隔を一定に保ちながらＲＴＰパケットを送信先ノード２へ送信し、送信先ノード２が、他のトラフィック変動に伴う自らのトラフィックにおける片方向転送時間の増加傾向を検出し、通信路が輻輳状態であるか否かを判断する。これに対し、前述した従来のＰａｔｈｌｏａｄ手法では、片道転送時間の増加／減少傾向を検出しながら、送信元ノードが送信間隔を変更することを繰り返すことにより、片道転送時間がほぼ一定となる送信間隔における帯域を有効帯域と判断するものである。従って、本発明の実施の形態と従来のＰａｔｈｌｏａｄ手法とは、目的、データの送信方法、及び監視する片方向転送時間の振る舞いが異なる。以下、実施例１〜５を用いて、本発明の実施の形態を具体的に説明する。
【実施例１】
【００２５】
本発明の第１の実施例について、図３及び図５を参照して説明する。
図３は、実施例１におけるデータ転送システムの構成を示すブロック図である。本データ伝送システムは、送信元ノード１０及び送信先ノード２０を備え、送信元ノード１０及び送信先ノード２０は、通信路であるネットワーク３０を介して接続される。また、送信元ノード１０と送信先ノード２０との間は、図１に示したように、ＲＴＣＰのＵＤＰチャンネルが確立され、ＲＴＣＰの制御の下でＲＴＰパケットが送受信される。送信元ノード１０は、タイムスタンプ埋込手段１１及び通信手段１２を備えている。送信先ノード２０は、通信手段２１、転送時間処理手段２２及び通信路状態判断手段２３を備えている。
【００２６】
送信元ノード１０のタイムスタンプ埋込手段１１は、ＲＴＰパケットのヘッダのペイロードタイプによって規定された周波数で、ＲＴＰパケットを送信先ノード２０へ送信する送信時刻をヘッダのタイムスタンプに埋め込む。通信手段１２は、送信時刻がタイムスタンプに埋め込まれたＲＴＰパケットを、送信間隔を一定に保ちながら送信先ノード２０へ送信する。
【００２７】
送信先ノード２０の通信手段２１は、送信元ノード１０から送信されたＲＴＰパケットを受信する。転送時間処理手段２２は、受信したＲＴＰパケットのヘッダのタイムスタンプ（送信時刻）とＲＴＰパケットの受信時刻とに基づいて、送信元ノード１０から送信先ノード２０へのＲＴＰパケットの片方向転送時間を算出する。通信路状態判断手段２３は、転送時間処理手段２２により算出された片方向転送時間の増加傾向を検出し、通信路の状態を判断する。
【００２８】
次に、図５を参照して、実施例１における送信先ノード２０の処理を具体的に説明する。送信先ノード２０の通信手段２１が送信元ノード１０からＲＴＰパケットを受信すると、転送時間処理手段２２は、ＲＴＰパケットのヘッダのタイムスタンプとＲＴＰパケットの受信時刻とに基づいて、ＲＴＰパケットの片方向転送時間を算出する（ステップＳ５０１）。この場合、送信元ノード１０及び送信先ノード２０において、時刻同期がなされているものとする。転送時間処理手段２２は、ＲＴＰパケットを受信する毎に片方向転送時間（ｔ１，ｔ２，・・・）を逐次算出する。通信路状態判断手段２３は、転送時間処理手段２２により算出された片方向転送時間（ｔ１，ｔ２，・・・）を用いて、所定の条件により片方向転送時間の増加傾向を検出する（ステップＳ５０２）。例えば、ｔｎ＜ｔｎ＋１＜・・の場合は、増加傾向にあるものとする。そして、通信路状態判断手段２３は、ステップ５０２において増加傾向を検出した場合には、通信路は輻輳状態になる可能性があるとして通信路の状態を判断する（ステップＳ５０３）。
【００２９】
このように、実施例１の特徴は、データが配信される経路の状態を検出する方法として、配信されるデータの片方向転送時間を逐次測定し、その片方向転送時間の増加傾向を検出して通信路の状態を判断することにある。
【実施例２】
【００３０】
本発明の第２の実施例について、図３及び図６を参照して説明する。
図３は、実施例２におけるデータ転送システムの構成を示すブロック図である。実施例２のシステム構成と前述の実施例１のシステム構成とは、送信元ノード１０のタイムスタンプ埋込手段１１及び通信手段１２、並びに送信先ノード２０の通信手段２１が同等であるが、送信先ノード２０の転送時間処理手段２２及び通信路状態判断手段２３が異なる。送信先ノード２０の転送時間処理手段２２は、受信したＲＴＰパケットのヘッダのタイムスタンプとＲＴＰパケットの受信時刻とに基づいて、ＲＴＰパケットの片方向転送時間差を算出する。通信路状態判断手段２３は、転送時間処理手段２２により算出された片方向転送時間差に基づいて、片方向転送時間の増加傾向を検出し、通信路の状態を判断する。
【００３１】
次に、図６を参照して、実施例２における送信先ノード２０の処理を具体的に説明する。送信先ノード２０の通信手段２１が送信元ノード１０からＲＴＰパケットを受信すると、転送時間処理手段２２は、ＲＴＰパケットのヘッダのタイムスタンプとＲＴＰパケットの受信時刻とに基づいてＲＴＰパケットの片方向転送時間ｔ１を算出し、次に受信したＲＴＰパケットのタイムスタンプとＲＴＰパケットの受信時間とに基づいてＲＴＰパケットの片方向転送時間ｔ２を算出し、そして、片方向転送時間差（ｔ２−ｔ１）を算出する（ステップＳ６０１）。この場合、送信元ノード１０及び送信先ノード２０において、時刻同期がなされていなくても、片方向転送時間差の算出が可能である。転送時間処理手段２２は、ＲＴＰパケットを受信する毎に片方向転送時間差（ｔ２−ｔ１，ｔ３−ｔ２，ｔ４−ｔ３，・・・）を逐次算出する。通信路状態判断手段２３は、転送時間処理手段２２により算出された片方向転送時間差（ｔ２−ｔ１，ｔ３−ｔ２，ｔ４−ｔ３，・・・）を用いて、所定の条件により片方向転送時間の増加傾向を検出する（ステップＳ６０２）。例えば、ｔｎ−ｔｎ−１＞０の場合は、片方向転送時間は増加傾向にあるものとすることができる。そして、通信路状態判断手段２３は、ステップ６０２において増加傾向を検出した場合には、通信路は輻輳状態になる可能性があるとして通信路の状態を判断する（ステップＳ６０３）。
【００３２】
このように、実施例２の特徴は、データが配信される経路の状態を検出する方法として、配信されるデータの片方向転送時間差を逐次測定し、片方向転送時間の増加傾向を検出して通信路の状態を判断することにある。
【実施例３】
【００３３】
本発明の第３の実施例について、図４及び図７を参照して説明する。
図４は、実施例３におけるデータ転送システムの構成を示すブロック図である。本データ伝送システムは、送信ノード１００及び送信先ノード２００を備え、送信元ノード１００及び送信先ノード２００は、通信路であるネットワーク３００を介して接続される。また、送信元ノード１００と送信先ノード２００との間は、図１に示したように、ＲＴＣＰのＵＤＰチャンネルが確立され、ＲＴＣＰの制御の下でＲＴＰパケットが送受信される。送信元ノード１００は、タイムスタンプ埋込手段１０１、通信手段１０２及びパケットグループ化手段１０３を備えている。送信先ノード２００は、通信手段２０１、転送時間処理手段２０２、通信路状態判断手段２０３及び統計処理手段２０４を備えている。
【００３４】
送信元ノード１００のタイムスタンプ埋込手段１０１は、ＲＴＰパケットのヘッダのペイロードタイプによって規定された周波数で、ＲＴＰパケットを送信先ノード２００へ送信する送信時刻をタイムスタンプに埋め込む。パケットグループ化手段１０３は、送信データである複数のＲＴＰパケットを一定の大きさのグループ（例えば、１００パケットの大きさのグループ）に分け、送信先ノード２００がそのグループを判別できるようにするため、ＲＴＰパケットのヘッダのシーケンス番号等にグループ識別情報を埋め込む。通信手段１０２は、送信時刻及びグループ識別情報がヘッダに埋め込まれたＲＴＰパケットを、グループ内で送信間隔を一定に保ちながら送信先ノード２００へ送信する。
【００３５】
送信先ノード２００の通信手段２０１は、送信元ノード１００から送信されたＲＴＰパケットを受信する。転送時間処理手段２０２は、受信したＲＴＰパケットのヘッダのタイムスタンプとＲＴＰパケットの受信時刻とに基づいて、送信元ノード１００から送信先ノード２０へのＲＴＰパケットの片方向転送時間を算出する。統計処理手段２０４は、受信したＲＴＰパケットのヘッダのグループ識別情報に基づいて、ＲＴＰパケットのグループを判断し、同一グループに属するＲＴＰパケットの片方向転送時間について統計情報を集計する。例えば、送信ノード１００のパケットグループ化手段１０３が１００個のＲＴＰパケットをグループ化した場合には、統計処理手段２０４は、１００個のＲＴＰパケットのうち到着したＲＴＰパケットについて片方向転送時間の統計情報を集計する。通信路状態判断手段２０３は、通信路状態判断手段２０３により処理されたグループ単位の片方向転送時間の増加傾向を検出し、通信路の状態を判断する。
【００３６】
次に、図７を参照して、実施例３における送信先ノード２００の処理を具体的に説明する。送信先ノード２００の通信手段２０１が送信ノード１００からＲＴＰパケットを受信すると、転送時間処理手段２０２は、ＲＴＰパケットのヘッダのタイムスタンプとＲＴＰパケットの受信時刻とに基づいて、ＲＴＰパケットの片方向転送時間を算出する（ステップＳ７０１）。この場合、送信元ノード１０及び送信先ノード２０において、時刻同期がなされているものとする。転送時間処理手段２０２は、ＲＴＰパケットを受信する毎に片方向転送時間（ｔ１，ｔ２，・・・）を逐次算出する。統計処理手段２０４は、受信したＲＴＰパケットのヘッダのグループ識別情報に基づいて、ＲＴＰパケットのグループを判断し、同一グループに属するＲＴＰパケットについて片方向転送時間の統計情報を集計する（ステップＳ７０２）。例えば、１００個のＲＴＰパケットがグループ化された場合には、統計処理手段２０４は、１００個のＲＴＰパケットのうち到着したＲＴＰパケットについて片方向転送時間（ｔ１，ｔ２，・・・，ｔ１００）の統計情報を集計する。通信路状態判断手段２０３は、統計処理手段２０４によりグループ単位に集計された片方向転送時間の統計情報を用いて、予め設定された閾値と比較する等の所定の条件により片方向転送時間の増加傾向を検出する（ステップＳ７０３）。そして、通信路状態判断手段２３は、ステップ７０３において増加傾向を検出した場合には、通信路は輻輳状態になる可能性があるとして通信路の状態を判断する（ステップＳ７０４）。
【００３７】
このように、実施例３の特徴は、データが配信される経路の状態を検出する方法として、配信されるデータを一定の大きさのグループに分け、グループ単位で片方向転送時間を逐次測定及び総計処理し、その片方向転送時間の増加傾向を検出して通信路の状態を判断することにある。
【実施例４】
【００３８】
本発明の第４の実施例について、図４及び図８を参照して説明する。
図４は、実施例４におけるデータ転送システムの構成を示すブロック図である。実施例４のシステム構成と前述の実施例３のシステム構成とは、送信元ノード１００のタイムスタンプ埋込手段１０１、通信手段１０２及びパケットグループ化手段１０３、並びに送信先ノード２００の通信手段２０１及び転送時間処理手段２０２が同等であるが、送信先ノード２００の通信路状態判断手段２０３及び統計処理手段２０４が異なる。送信先ノード２００の統計処理手段２０４は、受信したＲＴＰパケットのヘッダのグループ識別情報に基づいて、ＲＴＰパケットのグループを判断し、同一グループに属するＲＴＰパケットについて、転送時間処理手段２０２により算出された片方向転送時間に基づいて、片方向転送時間差の統計情報を集計する。すなわち、統計処理手段２０４は、片方向転送時間の大小関係を比較し、統計処理を行う。ここで、統計処理手段２０４は、連続するＲＴＰパケットの片方向転送時間差が０より大きい場合をカウントし、片方向転送時間差を集計した母集団に占める割合をグループ単位に算出する。通信路状態判断手段２０３は、通信路状態判断手段２０３により処理されたグループ単位の割合に基づいて、片方向転送時間の増加傾向を検出し、通信路の状態を判断する。
【００３９】
次に、図８を参照して、実施例４における送信先ノード２００の処理を具体的に説明する。送信先ノード２００の通信手段２０１が送信ノード１００からＲＴＰパケットを受信すると、転送時間処理手段２０２は、ＲＴＰパケットのヘッダのタイムスタンプとＲＴＰパケットの受信時刻とに基づいて、ＲＴＰパケットの片方向転送時間を算出する（ステップＳ８０１）。転送時間処理手段２０２は、ＲＴＰパケットを受信する毎に片方向転送時間（ｔ１，ｔ２，・・・）を逐次算出する。統計処理手段２０４は、受信したＲＴＰパケットのヘッダのグループ識別情報に基づいて、ＲＴＰパケットのグループを判断し、同一グループに属するＲＴＰパケットの片方向転送時間に基づいて、片方向転送時間差の統計情報を集計する（ステップＳ８０２）。例えば、１００個のＲＴＰパケットがグループ化された場合には、１００個のＲＴＰパケットのうち到着したＲＴＰパケットについて片方向転送時間差（ｔ２−ｔ１，ｔ３−ｔ２，・・・，ｔ１００−ｔ９９）の統計情報を集計する。そして、統計処理手段２０４は、片方向転送時間差が０より大きい場合をカウントし、片方向転送時間差を集計した母集団（到着したＲＴＰパケットについて片方向転送時間差を算出した数）に占める割合をグループ単位に算出する（ステップＳ８０２）。通信路状態判断手段２０３は、統計処理手段２０４によりグループ単位に算出された割合を用いて、予め設定された閾値と比較する等の所定の条件により片方向転送時間の増加傾向を検出する（ステップＳ８０３）。そして、通信路状態判断手段２３は、ステップ８０３において増加傾向を検出した場合には、通信路は輻輳状態になる可能性があるとして通信路の状態を判断する（ステップＳ８０４）。
【００４０】
このように、実施例４の特徴は、データが配信される経路の状態を検出する方法として、配信されるデータを一定の大きさのグループに分け、グループ単位で連続するＲＴＰパケットの片方向転送時間の大小関係を比較及び総計処理し、その片方向転送時間の増加傾向を検出して通信路の状態を判断することにある。
【実施例５】
【００４１】
本発明の第５の実施例について、図４及び図９を参照して説明する。
図４は、実施例５におけるデータ転送システムの構成を示すブロック図である。実施例５のシステム構成と前述の実施例３のシステム構成とは、送信元ノード１００のタイムスタンプ埋込手段１０１、通信手段１０２及びパケットグループ化手段１０３、並びに送信先ノード２００の通信手段２０１及び転送時間処理手段２０２が同等であるが、送信先ノード２００の通信路状態判断手段２０３及び統計処理手段２０４が異なる。送信先ノード２００の統計処理手段２０４は、受信したＲＴＰパケットのヘッダのグループ識別情報に基づいて、ＲＴＰパケットのグループを判断し、同一グループに属するＲＴＰパケットについて、転送時間処理手段２０２により算出された片方向転送時間に基づいて、片方向転送時間差の統計情報を集計する。ここで、統計処理手段２０４は、連続するＲＴＰパケットの片方向転送時間差の揺らぎに対する、同一グループにおける最初のＲＴＰパケットと最後のＲＴＰパケットとの間の片方向転送時間差の割合をグループ単位に算出する。通信路状態判断手段２０３は、通信路状態判断手段２０３により処理されたグループ単位の割合に基づいて、片方向転送時間の増加傾向を検出し、通信路の状態を判断する。
【００４２】
次に、図９を参照して、実施例５における送信先ノード２００の処理を具体的に説明する。送信先ノード２００の通信手段２０１が送信ノード１００からＲＴＰパケットを受信すると、転送時間処理手段２０２は、ＲＴＰパケットのヘッダのタイムスタンプとＲＴＰパケットの受信時刻とに基づいて、ＲＴＰパケットの片方向転送時間を算出する（ステップＳ９０１）。転送時間処理手段２０２は、ＲＴＰパケットを受信する毎に片方向転送時間（ｔ１，ｔ２，・・・）を逐次算出する。統計処理手段２０４は、受信したＲＴＰパケットのヘッダのグループ識別情報に基づいて、ＲＴＰパケットのグループを判断し、同一グループに属するＲＴＰパケットの片方向転送時間に基づいて、片方向転送時間差の統計情報を集計する（ステップＳ９０２）。例えば、１００個のＲＴＰパケットがグループ化された場合には、１００個のＲＴＰパケットのうち到着したＲＴＰパケットについて片方向転送時間差（ｔ２−ｔ１，ｔ３−ｔ２，・・・，ｔ１００−ｔ９９）の統計情報を集計する。そして、統計処理手段２０４は、連続するＲＴＰパケットの片方向転送時間差の揺らぎ（｜ｔ２−ｔ１｜＋｜ｔ３−ｔ２｜＋・・・＋｜ｔ１００−ｔ９９｜）を算出し、最初に到着したＲＴＰパケットと最後に到着したＲＴＰパケットとの片方向転送時間差（｜ｔ１００−ｔ１｜）を算出し、両者の割合を次式により算出する（ステップＳ９０２）。
【数１】
2005269364.tif 000003
通信路状態判断手段２０３は、統計処理手段２０４によりグループ単位に算出された割合を用いて、予め設定された閾値と比較する等の所定の条件により片方向転送時間の増加傾向を検出する（ステップＳ９０３）。そして、通信路状態判断手段２３は、ステップ９０３において増加傾向を検出した場合には、通信路は輻輳状態になる可能性があるとして通信路の状態を判断する（ステップＳ９０４）。
【００４３】
このように、実施例５の特徴は、データが配信される経路の状態を検出する方法として、配信されるデータを一定の大きさのグループに分け、グループ単位で連続するＲＴＰパケットの片方向転送時間差を算出及び総計処理し、その片方向転送時間の増加傾向を検出して通信路の状態を判断することにある。
【００４４】
以上のように、本発明の実施例１〜５によれば、送信先ノード２０，２００が受信するＲＴＰパケットについて、その片方向転送時間が増加傾向にある場合に、通信路が輻輳状態になる可能性があるものと判断するようにした。これにより、パケット損失を検出した場合に輻輳が発生したことを判断するＴＣＰとは異なり、パケット損失が発生する程度の輻輳を未然に検出し、早期に輻輳状態を検出することが可能となる。また、片方向転送時間の増加傾向は、ジッタや往復転送時間が異なる通信路に依存するものではないから、様々な負荷状態の通信路に対して、汎用的な閾値を用いて輻輳状態を判断することができる。従って、負荷状態の異なる通信路毎に閾値を設ける必要がないから、容易に通信路状態を判断することが可能となる。また、片方向転送時間の増加傾向は、バースト転送の有無により変わることはないから、バースト転送を行っている場合でも輻輳状態を判断することができる。
【００４５】
尚、上記実施例では、通信路状態判断手段２３，２０３を送信先ノード２０，２００に備えるようにしたが、送信元ノード１０，１００に備えるようにしてもよい。この場合、送信元ノード１０は、片方向転送時間（ｔ１，ｔ２，・・・）または片方向転送時間差（ｔ２−ｔ１，ｔ３−ｔ２，・・・）を送信先ノード２０から受信し、送信元ノード１０に備えた通信路状態判断手段が、片方向転送時間の増加傾向を検出する。また、送信元ノード１００は、グループ単位に集計された片方向転送時間（ｔ１，ｔ２，・・・）の統計情報、またはグループ単位に算出された割合を送信先ノード２００から受信し、送信元ノード１００に備えた通信路状態判断手段が、片方向転送時間の増加傾向を検出する。
【００４６】
また、上記実施例において、送信元ノード１，１０，１００及び送信先ノード２，２０，２００は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、キーボードやポインティングデバイス等の入力装置、画像やデータを表示する表示装置、及び外部の装置と通信をするためのインタフェースを備えたコンピュータ装置によってそれぞれ構成されるようにしてもよい。この場合、送信元ノード１０に備えたタイムスタンプ埋込手段１１及び通信手段１２は、これらの機能を記述したプログラムをＣＰＵに実行させることにより実現される。また、送信ノード１００に備えたタイムスタンプ埋込手段１０１、通信手段１０２及びパケットグループ化手段１０３、送信先ノード２０に備えた通信手段２１、転送時間処理手段２２及び通信路状態判断手段２３、そして送信先ノード２００に備えた通信手段２０１、転送時間処理手段２０２、通信路状態判断手段２０３及び統計処理手段２０４も、それぞれこれらの機能を記述したプログラムをＣＰＵに実行させることにより実現される。これらのプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【図面の簡単な説明】
【００４７】
【図１】ＲＴＰを用いた実時間型のデータ転送システムを示すコネクション構成図である。
【図２】ＲＴＰパケットのヘッダのフォーマットを説明するＲＴＰパケット構成図である。
【図３】実施例１及び２におけるデータ転送システムの構成を示すブロック図である。
【図４】実施例３、４及び５におけるデータ転送システムの構成を示すブロック図である。
【図５】実施例１における送信先ノード２０の処理を説明するフロー図である。
【図６】実施例２における送信先ノード２０の処理を説明するフロー図である。
【図７】実施例３における送信先ノード２００の処理を説明するフロー図である。
【図８】実施例４における送信先ノード２００の処理を説明するフロー図である。
【図９】実施例５における送信先ノード２００の処理を説明するフロー図である。
【符号の説明】
【００４８】
１，１０，１００  送信元ノード
２，２０，２００  送信先ノード
３，３０，３００  ネットワーク
１１，１０１  タイムスタンプ埋込手段
１２，２１，１０２，２０１  通信手段
２２，２０２  転送時間処理手段
２３，２０３  通信路状態判断手段
１０３  パケットグループ化手段
２０４  統計処理手段
【図１】
2005269364.tif 000004
【図２】
2005269364.tif 000005
【図３】
2005269364.tif 000006
【図４】
2005269364.tif 000007
【図５】
2005269364.tif 000008
【図６】
2005269364.tif 000009
【図７】
2005269364.tif 000010
【図８】
2005269364.tif 000011
【図９】
2005269364.tif 000012