(57)【特許請求の範囲】
【請求項１】
送信ノードと受信ノードとを結ぶ通信経路を通過するパケットの速度を算出する速度算出システムであって、
前記送信ノードは、
受信したパケットの内、少なくとも２つのパケットをグループ化するグループ化手段と、
前記グループ化されたパケットグループを一意に識別するプローブ情報をパケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出手段と
を有し、
前記受信ノードは、
前記送出されたパケットを受信する受信手段と、
前記受信したパケットの到着時間を記録させる記録手段と、
前記受信したパケットにプローブ情報が含まれているかを判定する判定手段と、
前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出手段と
を有することを特徴とする速度算出システム。
【請求項２】
前記通信経路が複数の場合、前記送出手段は、前記複数の通信経路から１つ選択する選択手段を更に有することを特徴とする請求項１に記載の速度算出システム。
【請求項３】
前記選択手段は、前記複数の通信経路の内、通信負荷の小さな通信経路を選択することを特徴とする請求項２に記載の速度算出システム。
【請求項４】
前記算出手段は、プローブ情報が同一のパケットグループであるパケットの内、最初に到着したパケット以外のパケットの合計ビット数を到着時間の差で割り、通信速度を算出する算出手段であることを特徴とする請求項１に記載の速度算出システム。
【請求項５】
前記送信ノードは、パケットを１つ受信した後、一定時間がたっても次のパケットを受信しない場合、ダミーのパケットを少なくとも１つ生成する手段を更に有することを特徴とする請求項１に記載の速度算出システム。
【請求項６】
前記送信ノードは、一定時間パケットを受信しない場合、ダミーのパケットを少なくとも２つ生成する手段を更に有することを特徴とする請求項１に記載の速度算出システム。
【請求項７】
連続して送出されたパケットの到着時間の差から、パケットの速度を算出する算出システムのノードであって、
受信したパケットの内、少なくとも２つ以上のパケットをグループ化するグループ化手段と、
前記グループ化されたパケットグループを一意に識別するプローブ情報を、パケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出手段と
を有することを特徴とするノード。
【請求項８】
前記通信経路が複数の場合、前記送出手段は、前記複数の通信経路から１つ選択する選択手段を更に有することを特徴とする請求項７に記載のノード。
【請求項９】
受信したパケットの到着時間の差から、パケットの速度を算出する算出システムのノードであって、
パケットを受信する受信手段と、
前記受信したパケットの到着時間を記録させる記録手段と、
前記受信したパケットにグループ化されたことを示すプローブ情報が含まれているかを判定する判定手段と、
前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出手段と
を有することを特徴とするノード。
【請求項１０】
送信ノードと受信ノードとを結ぶ通信経路を通過するパケットの速度を算出する速度算出方法であって、
受信したパケットの内、少なくとも２つのパケットをグループ化するグループ化ステップと、
前記グループ化されたパケットグループを一意に識別するプローブ情報をパケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出ステップと
前記送出されたパケットを受信し、この受信したパケットの到着時間を記録部に記録させる受信ステップと、
前記受信したパケットにプローブ情報が含まれているかを判定する判定ステップと、
前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出ステップと
を有することを特徴とする速度算出方法。
【請求項１１】
前記通信経路が複数の場合、前記送出ステップは、前記複数の通信経路から１つ選択する選択ステップを更に有することを特徴とする請求項１０に記載の速度算出方法。
【請求項１２】
前記選択ステップは、前記複数の通信経路における通信負荷を分散できるように選択することを特徴とする請求項１１に記載の速度算出方法。
【請求項１３】
前記算出ステップは、プローブ情報が同一のパケットグループであるパケットの内、最初に到着したパケット以外のパケットの合計ビット数を到着時間の差で割り、通信速度を算出するステップであることを特徴とする請求項１０に記載の速度算出方法。
【請求項１４】
パケットを１つ受信した後、一定時間がたっても次のパケットを受信しない場合、ダミーのパケットを１つ生成するステップを更に有することを特徴とする請求項１０に記載の速度算出方法。
【請求項１５】
一定時間パケットを受信しない場合、ダミーのパケットを２つ生成するステップを更に有することを特徴とする請求項１０に記載の速度算出方法。
【請求項１６】
送信ノードと受信ノードとを結ぶ通信経路を通過するパケットの速度を算出する速度算出システムのプログラムであって、
前記プログラムは前記送信ノードを、
受信したパケットの内、少なくとも２つのパケットをグループ化するグループ化手段と、
前記グループ化されたパケットグループを一意に識別するプローブ情報をパケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出手段と
して機能させ、
前記プログラムは前記受信ノードを、
前記送出されたパケットを受信する受信手段と、
前記受信したパケットの到着時間を記録部に記録させる記録手段と、
前記受信したパケットにプローブ情報が含まれているかを判定する判定手段と、
前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出手段として機能させることを特徴とするプログラム。
【請求項１７】
前記通信経路が複数の場合、前記プログラムは、前記送出手段を、前記複数の通信経路から１つ選択する選択手段として更に機能させることを特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記プログラムは、前記選択手段を、前記複数の通信経路における通信負荷を分散できるように選択するように機能させることを特徴とする請求項１７に記載のプログラム。
【請求項１９】
前記プログラムは、前記算出手段を、プローブ情報が同一のパケットグループであるパケットの内、最初に到着したパケット以外のパケットの合計ビット数を到着時間の差で割り、通信速度を算出する算出手段として機能させることを特徴とする請求項１６に記載のプログラム。
【請求項２０】
前記プログラムは、前記グループ化手段を、パケットを１つ受信した後、一定時間がたっても次のパケットを受信しない場合、ダミーのパケットを１つ生成する手段として更に機能させることを特徴とする請求項１６に記載のプログラム。
【請求項２１】
前記プログラムは、前記グループ化手段を、一定時間パケットを受信しない場合、ダミーのパケットを２つ生成する手段として更に機能させることを特徴とする請求項１６に記載のプログラム。
【請求項２２】
連続して送出されたパケットの到着時間の差から、パケットの速度を算出する算出システムにおけるノードのプログラムであって、前記プログラムは、前記ノードを、
受信したパケットの内、少なくとも２つのパケットをグループ化するグループ化手段と、
前記グループ化されたパケットグループを一意に識別するプローブ情報をパケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出手段と
して機能させることを特徴とするプログラム。
【請求項２３】
前記通信経路が複数の場合、前記プログラムは、前記送出手段を、前記複数の通信経路から１つ選択する選択手段として更に機能させることを特徴とする請求項２２に記載のプログラム。
【請求項２４】
受信したパケットの到着時間の差から、パケットの速度を算出する算出システムにおけるノードのプログラムであって、前記プログラムは前記ノードを、
受信したパケットの到着時間を記録させる記録手段と、
前記受信したパケットにグループ化されたことを示すプローブ情報が含まれているかを判定する判定手段と、
前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出手段と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信経路の通信速度を算出する技術に関し、特に、受信したパケットにプローブ情報を挿入して算出対象の経路における速度を算出する技術に関する。
【背景技術】
【０００２】
一般に、複数の経路（リンク）及び中間ノードを経由する通信経路の通信速度を算出する従来例としてパケットペア方式がある。【０００３】
パケットペア方式では、送信ノードと受信ノードとを接続している高速リンクと、低速リンクとからなる経路の通信速度が算出対象であり、送信ノードは２つの速度算出専用のプローブパケット（パケットペア）を連続して算出対象経路に送信し、伝送によって生じた２つのパケットの到着時間の差から経路における速度を推定する。この際、受信ノードで測定される２つのパケットの到着時間差が２点間の伝送遅延の分散に起因するもののみとするため、送信ノードは２つのパケットをなるべく近い時刻に送出している。【０００４】
また、別の従来例として、パケット方式以外の従来例としてパケットトレイン方式がある（例えば、非特許文献１）。
【非特許文献１】Dovrolis, Ramanathan, and Moore, ”What Do Packet Dispersion TechniquesMeasuere?,” IEEE INFOCOM 2001  パケットトレイン方式は２つ以上のパケットを連続して送信するものであり、パケットペア方式のような離散的なモードは示さないものの、測定値が単一の値に収束するためには測定に十分な時間をかける必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、パケットペア方式では、経路の構成やトラフィックの状況によりパケットペアの受ける擾乱が異なり、その結果、パケットペア方式の示す測定値はいくつかの離散的な「モード」に分類される。そのうちのどれが本来計測したい速度を反映する「モード」であるかを判断するには多くのサンプル数を取得する必要がある。【０００６】
また、上述した従来例はいずれも、測定精度を上げるにはプローブパケット数を増やす必要があるが、通信中の経路における速度を算出する場合には算出精度とデータ用の帯域（トータルの帯域は変わらないので）とはトレードオフの関係にあるので、プローブパケット数を増やすと、データ用の帯域への圧迫が大きくなる。特に無線回線のように通信速度が激しく変動するリンクを含む経路における速度を算出する場合、短時間で一定数以上のプローブパケットを送信する必要があるので、速度の算出によるデータ用の帯域への圧迫が大きくなり、データが送信できなくなる場合がある。無線回線はまた狭帯域リンクでもあるので、これは深刻な問題であり、従来例のような運用中の速度算出は非実用的と考えられる。【０００７】
そこで本発明は、無線リンクを含むデータ通信用帯域への圧迫を抑える速度算出システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決する第１の発明は、送信ノードと受信ノードとを結ぶ通信経路を通過するパケットの速度を算出する速度算出システムであって、前記送信ノードは、受信したパケットの内、少なくとも２つのパケットをグループ化するグループ化手段と、前記グループ化されたパケットグループを一意に識別するプローブ情報をパケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出手段とを有し、前記受信ノードは、前記送出されたパケットを受信する受信手段と、前記受信したパケットの到着時間を記録させる記録手段と、前記受信したパケットにプローブ情報が含まれているかを判定する判定手段と、前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出手段とを有することを特徴とする。
【０００９】
上記課題を解決する第２の発明は、上記第１の発明において、前記通信経路が複数の場合、前記送出手段は、前記複数の通信経路から１つ選択する選択手段を更に有することを特徴とする。【００１０】
上記課題を解決する第３の発明は、上記第２の発明において、前記選択手段は、前記複数の通信経路の内、通信負荷の小さな通信経路を選択することを特徴とする。【００１１】
上記課題を解決する第４の発明は、上記第１から第３のいずれかの発明において、前記算出手段は、プローブ情報が同一のパケットグループであるパケットの内、最初に到着したパケット以外のパケットの合計ビット数を到着時間の差で割り、通信速度を算出する算出手段であることを特徴とする。【００１２】
上記課題を解決する第５の発明は、上記第１から第４のいずれかの発明において、前記送信ノードは、パケットを１つ受信した後、一定時間がたっても次のパケットを受信しない場合、ダミーのパケットを少なくとも１つ生成する手段を更に有することを特徴とする。【００１３】
上記課題を解決する第６の発明は、上記第１から第５のいずれかの発明において、前記送信ノードは、一定時間パケットを受信しない場合、ダミーのパケットを少なくとも２つ生成する手段を更に有することを特徴とする。【００１４】
上記課題を解決する第７の発明は、連続して送出されたパケットの到着時間の差から、パケットの速度を算出する算出システムのノードであって、受信したパケットの内、少なくとも２つ以上のパケットをグループ化するグループ化手段と、前記グループ化されたパケットグループを一意に識別するプローブ情報を、パケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出手段とを有することを特徴とする。
【００１５】
上記課題を解決する第８の発明は、上記第７の発明において、前記通信経路が複数の場合、前記送出手段は、前記複数の通信経路から１つ選択する選択手段を更に有することを特徴とする。【００１６】
上記課題を解決する第９の発明は、受信したパケットの到着時間の差から、パケットの速度を算出する算出システムのノードであって、パケットを受信する受信手段と、前記受信したパケットの到着時間を記録させる記録手段と、前記受信したパケットにグループ化されたことを示すプローブ情報が含まれているかを判定する判定手段と、前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出手段とを有することを特徴とする。
【００１７】
上記課題を解決する第１０の発明は、送信ノードと受信ノードとを結ぶ通信経路を通過するパケットの速度を算出する速度算出方法であって、受信したパケットの内、少なくとも２つのパケットをグループ化するグループ化ステップと、前記グループ化されたパケットグループを一意に識別するプローブ情報をパケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出ステップと、前記送出されたパケットを受信し、この受信したパケットの到着時間を記録部に記録させる受信ステップと、前記受信したパケットにプローブ情報が含まれているかを判定する判定ステップと、前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出ステップとを有することを特徴とする。
【００１８】
上記課題を解決する第１１の発明は、上記第１０の発明において、前記通信経路が複数の場合、前記送出ステップは、前記複数の通信経路から１つ選択する選択ステップを更に有することを特徴とする。【００１９】
上記課題を解決する第１２の発明は、上記第１１の発明において、前記選択ステップは、前記複数の通信経路における通信負荷を分散できるように選択することを特徴とする。【００２０】
上記課題を解決する第１３の発明は、上記第１０から第１２のいずれかの発明において、前記算出ステップは、プローブ情報が同一のパケットグループであるパケットの内、最初に到着したパケット以外のパケットの合計ビット数を到着時間の差で割り、通信速度を算出するステップであることを特徴とする。【００２１】
上記課題を解決する第１４の発明は、上記第１０から第１３のいずれかの発明において、パケットを１つ受信した後、一定時間がたっても次のパケットを受信しない場合、ダミーのパケットを１つ生成するステップを更に有することを特徴とする。【００２２】
上記課題を解決する第１５の発明は、上記第１０から第１４のいずれかの発明において、一定時間パケットを受信しない場合、ダミーのパケットを２つ生成するステップを更に有することを特徴とする。【００２３】
上記課題を解決する第１６の発明は、送信ノードと受信ノードとを結ぶ通信経路を通過するパケットの速度を算出する速度算出システムのプログラムであって、前記プログラムは前記送信ノードを、受信したパケットの内、少なくとも２つのパケットをグループ化するグループ化手段と、前記グループ化されたパケットグループを一意に識別するプローブ情報をパケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出手段として機能させ、前記プログラムは前記受信ノードを、前記送出されたパケットを受信する受信手段と、前記受信したパケットの到着時間を記録部に記録させる記録手段と、前記受信したパケットにプローブ情報が含まれているかを判定する判定手段と、前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出手段として機能させることを特徴とする。
【００２４】
上記課題を解決する第１７の発明は、上記第１６の発明において、前記通信経路が複数の場合、前記プログラムは、前記送出手段を、前記複数の通信経路から１つ選択する選択手段として更に機能させることを特徴とする。【００２５】
上記課題を解決する第１８の発明は、上記第１７の発明において、前記プログラムは、前記選択手段を、前記複数の通信経路における通信負荷を分散できるように選択するように機能させることを特徴とする。【００２６】
上記課題を解決する第１９の発明は、上記第１６から第１８のいずれかの発明において、前記プログラムは、前記算出手段を、プローブ情報が同一のパケットグループであるパケットの内、最初に到着したパケット以外のパケットの合計ビット数を到着時間の差で割り、通信速度を算出する算出手段として機能させることを特徴とする。【００２７】
上記課題を解決する第２０の発明は、上記第１６から第２０のいずれかの発明において、前記プログラムは、前記グループ化手段を、パケットを１つ受信した後、一定時間がたっても次のパケットを受信しない場合、ダミーのパケットを１つ生成する手段として更に機能させることを特徴とする。【００２８】
上記課題を解決する第２１の発明は、上記第１６から第２０のいずれかの発明において、前記プログラムは、前記グループ化手段を、一定時間パケットを受信しない場合、ダミーのパケットを２つ生成する手段として更に機能させることを特徴とする。【００２９】
上記課題を解決する第２２の発明は、連続して送出されたパケットの到着時間の差から、パケットの速度を算出する算出システムにおけるノードのプログラムであって、前記プログラムは、前記ノードを、受信したパケットの内、少なくとも２つのパケットをグループ化するグループ化手段と、前記グループ化されたパケットグループを一意に識別するプローブ情報をパケットグループの各パケットに付加して、同一のパケットグループであるパケットを連続して送出する送出手段として機能させることを特徴とする。
【００３０】
上記課題を解決する第２３の発明は、上記第２２の発明において、前記通信経路が複数の場合、前記プログラムは、前記送出手段を、前記複数の通信経路から１つ選択する選択手段として更に機能させることを特徴とする。【００３１】
上記課題を解決する第２４の発明は、受信したパケットの到着時間の差から、パケットの速度を算出する算出システムにおけるノードのプログラムであって、前記プログラムは前記ノードを、受信したパケットの到着時間を記録させる記録手段と、前記受信したパケットにグループ化されたことを示すプローブ情報が含まれているかを判定する判定手段と、前記プローブ情報が含まれていると判定されたパケットの内、プローブ情報が同一のパケットグループであるパケットの到着時間の差に基づいて通信速度を算出する算出手段として機能させることを特徴とする。
【発明の効果】
【００３３】
本発明によると、速度算出専用のプローブパケットを生成する代わりに、速度算出対象となる通信経路を通過する実データ、すなわちデータパケットに、プローブ情報を埋め込むことにより、プローブパケットによる通信用帯域への圧迫を減らすことができる。【００３４】
更に、本発明によると、速度算出専用のプローブパケット（ダミーパケット）を生成する代わりに、実データであるデータパケットにプローブ情報を挿入して、２個ずつ送信することで、実用的な速度算出が困難な、動的に速度が変動する狭帯域経路、例えば無線リンク等においても、帯域を圧迫せずに速度の算出を可能とする。【００３５】
更に、本発明によると、複数の算出対象の経路を含む２ノード間接続において、データパケットの経路への振り分けを２個ずつまとめて行うことで各経路の速度の算出を可能とする。【００３６】
さらに、本発明によると、複数の通信経路で２ノード間が接続されている場合、通信付加の小さな通信経路を選択することにより、通信用帯域への圧迫を減らすことができる。
【図面の簡単な説明】
【００３７】
【図１】図１は、本発明のノード間経路の構成図である。
【図２】図２は、実施例１における送信ノードおよび受信ノードの構成図である。
【図３】図３は、パケットグループの構成図である。
【図４】図４は、実施例１の変形例である。
【図５】図５は、実施例２における送信ノードの構成図である。
【図６】図６は、実施例２のフローチャートである。
【図７】図７は、実施例３の構成図である。
【図８】図８は、実施例４の構成図である。
【図９】図９は、実施例４のフローチャートである。
【符号の説明】
【００３８】
１００      送信ノード
１０１      受信ノード
１０２      経路内ノード
１１０      送信ノード
１２０      送信ノード
１２１      受信ノード
２００      高速リンク
２０１      低速リンク
３０１      転送制御部
３０２      バッファメモリ
３０３      送信部
３０４      ダミー発生部
３０５      スケジューリング部
４００      高速リンク上のパケットグループ
４０１      低速リンク上のパケットグループ
５０１      受信部
５０２      パケット制御部
５０３      記録部
５０４      演算部
５０５      記憶部
【発明を実施するための最良の形態】
【００３９】
本発明は不安定で低速なリンクを含むデータ経路の速度算出への適用を想定している。【００４０】
図１は、本発明を説明するための概略図である。ここで送信ノード100から受信ノード101への高速リンク200-1及び200-2と、低速リンク201-1とからなる経路の通信速度が算出対象である。【００４１】
本発明では、送信ノード100は２つのパケットを連続して算出対象経路に送信し、伝送によって生じた２つのパケットの到着時間の差から経路の速度を推定する。この際、受信ノードで観測される２つのパケットの到着時間差が2点間の伝送遅延の分散に起因するもののみとなるためには、送信ノードは２つのパケットをなるべく近い時刻に送出する。
【実施例１】
【００４２】
本発明における実施例１の形態を説明する。図２は本発明のシステムの詳細図である。【００４３】
図２を参照すると、本発明の実施の形態は、送信ノード100と受信ノード101とから構成されている。また、送信ノード100と受信ノード101とは、速度の算出対象の経路である高速リンク200及び低速リンク201で接続されている。【００４４】
送信ノード100は、転送制御部301と送信部303とから構成されている。【００４５】
転送制御部301は、ランダムなタイミングで到着するデータパケットを受信する。このデータパケットとは、実データがパケットのペイロード部に入っているデータパケットである。受信されたデータパケットは、転送制御部301が有するキュー302に一旦格納される。また、転送制御部301は、キュー302に複数のデータパケットが格納されると、少なくとも2つのデータパケットをグループ化し、データパケットをグループ毎に送信部303に転送する。尚、本実施の形態では、2つのデータパケットをグループ化する場合について説明する。【００４６】
送信部303は、図３に示すように、転送制御部301から転送された各データパケットにプローブ情報を挿入し、同一のパケットグループであるデータパケットを連続して高速リンク200に送出する。各データパケットに挿入されるプローブ情報とは、各データパケットが所属するグループを一意に識別する情報である。尚、プローブ情報の挿入による帯域の圧迫は測定用のパケットを独立に用意するよりはるかに小さいものである。【００４７】
受信ノード101は受信部501とパケット識別部502と記憶部503と演算部504と記憶部505とから構成されている。【００４８】
受信部501は、データパケットを受信し、パケット識別部502に転送する。【００４９】
記録部503は、受信部501がデータパケットを受信した受信完了時刻を記録する。記録部503は、データパケットを受信した受信完了時刻を記録する際、そのデータパケットのＩＰヘッダーに記録されているデータパケットの識別情報と対応させて受信完了時刻を記録する。【００５０】
パケット識別部502は、受信部501から転送されたデータパケットがプローブ情報を含むデータパケットであるかを判定する。更に、パケット識別部502は、プローブ情報を含むデータパケットであると判定すると、そのデータパケットに含まれているプローブ情報と、データパケットの識別情報と、そのデータパケットのビット数とを演算部504に渡す。【００５１】
演算部504はパケット識別部502から受け取ったデータパケットの識別情報に基づいてそのデータパケットの受信完了時刻を記録部503から引き出す。更に、引き出された受信完了時刻をそのデータパケットのプロ−ブ情報及びビット数と対応付けて記憶部505に格納する。又、演算部504は、記憶部505から同一のパケットグループであるデータパケットの受信完了時刻を取り出し、任意のアルゴリズムに基づき速度の算出対象の通信経路の速度を推定する。尚、算出対象の通信経路の速度を推定するアルゴリズムの例としては、同一のパケットグループの内の最初に受信したデータパケット以外のデータパケットの合計ビット数を、同一のパケットグループの内の最初に受信したデータパケットの受信完了時間と最後に受信したデータパケットの受信完了時間との差で割った結果を速度の測定値とする例が挙げられる。本発明においては、上記した例を用いて説明するが、上記以外の如何なる方法であっても良い。【００５２】
記憶部505は、演算部504が記録部503から引き出した受信完了時刻をそのデータパケットのプロ−ブ情報及びビット数と対応付け、測定結果として格納する。尚、本発明における記憶部505は、受信完了時刻とプロ−ブ情報とを対応付けた測定結果を格納する場合について説明するが、例えば、演算部504が推定した通信経路の速度を測定結果として保持しても良い。【００５３】
以下に実施例１の動作を説明する。【００５４】
送信ノード100はランダムなタイミングで到着するデータパケットを、転送制御部301で受信する。【００５５】
受信されたデータパケットは、キュー302に一旦格納される。キュー302にデータパケットが２つ格納されると、その２つのデータパケットはグループ化されて送信部303に転送される。転送されたデータパケットは、送信部303でプローブ情報が挿入される。プローブ情報が挿入された、同一パケットグループのデータパケットは、速度算出対象である経路の最初のリンクである高速リンク200に連続して送出される。【００５６】
高速リンク200に連続して送出されたデータパケットは、速度算出対象である経路の最終リンクである低速リンク201上を伝送する。この時、低速リンク201上を伝送するデータパケットは低速リンク201の速度の制限により図2のデータパケット401のように広がる。低速リンク201上を伝送したデータパケットは、受信ノード101の受信部501で受信される。受信部501でデータパケットが受信されると、そのデータパケットの受信完了時刻とデータパケット識別情報とが対応付けられて記録部503に記録される。そして、受信されたデータパケットはパケット識別部502に転送される。転送されたデータパケットは、パケット識別部502でプローブ情報を含むデータパケットであるか判定される。パケット識別部502でプローブ情報を含むデータパケットであると判定されると、そのデータパケットのプローブ情報、データパケット識別情報、及びビット数が演算部504に渡される。【００５７】
演算部504は、パケット識別部502から受け取ったデータパケットの識別情報に基づいて、そのデータパケットの受信完了時刻を記録部503から引き出す。引き出された受信完了時刻は、パケット識別部502から受け取ったデータパケットのプロ−ブ情報及びビット数に対応付けられて記憶部505に格納される。そして、演算部504は、記憶部505から同一のパケットグループであるデータパケットの受信完了時刻を取り出す。取り出した受信完了時刻の内、最初に受信したデータパケットの受信完了時間と最後に受信したデータパケットの受信完了時間との差を算出し、最初に受信したデータパケット以外のデータパケットの合計ビット数を、算出した受信完了時間差で割ることにより、測定値が算出される。【００５８】
尚、上述した実施例では、最初に受信したデータパケット以外のデータパケットの合計ビット数を、受信完了時間差で割って、通信経路の速度を算出しているが、記憶部505に格納されているプローブ結果を参照し、平均をとるなどの統計処理を加えてもよい。【００５９】
更に、上述した実施例では、送信ノード100と受信ノード101とを単数の速度算出対象の経路で接続している構成について説明したが、これに限るものではない。すなわち、送信ノード100と受信ノード101とを複数の速度算出対象の経路で接続している構成であっても良い。その場合、図４に示すように、転送制御部301は、グループ化したデータパケットを、パケットグループの単位で、送信部303-1又は303-2に振り分ける。
【実施例２】
【００６０】
上記実施例１では、グループ化されたデータパケットの中で、どのパケットグループをプローブに用いるかを限定しない場合について説明した。つまり、全てのデータパケットをグループ化してプローブに用いてもよいし、全データパケットの内、ある割合のデータパケットにプローブ情報を挿入してもよい。しかしながら、実際には長時間パケットが入力されないことも考えられる。そこで、第２の実施例では、そのような場合にも経路の速度算出を継続することができるシステムについて説明する。【００６１】
図５は実施例２における構成図である。尚、上述した実施例と同様の構成については同一の番号を付し、詳細な説明は省略する。【００６２】
転送制御部301は、上述した実施例で説明した構成に加えてダミー発生部304とダミータイマー306とダミータイマー307とを有す。【００６３】
ダミー発生部304は、一定時間以上に渡ってキュー302のデータパケットの数が１つである場合、ダミーパケットを１つ生成して転送制御部301に渡す。又、ダミー発生部304は、一定時間以上に渡ってキュー302のデータパケットの数が０である場合、ダミーパケットを2つ生成して転送制御部301に渡す。【００６４】
ダミータイマー306は、キュー302にデータパケットが１つ入ると起動する。ダミータイマー306起動以降、データパケットのグループ化が行われないままダミータイマー306が終了すると、ダミー発生部304はダミーデータを１つ生成する。尚、ダミータイマー306の時間は、例えば全ての速度算出対象の経路について要求されるプローブ周期を満たすよう決めればよい。【００６５】
ダミータイマー307は、キュー302のデータパケットが０になると起動する。ダミータイマー307起動以降、データパケットのグループ化が行われないままダミータイマー307が終了すると、ダミー発生部304はダミーデータを２つ生成する。尚、ダミータイマー307の時間は、例えば全ての速度算出対象の経路について要求されるプローブ周期を満たすよう決めればよい。【００６６】
次に、本実施例において、ダミーパケットを１つ生成する動作について説明する。【００６７】
図６は、本実施例において、ダミーパケットを１つ生成する動作を説明するためのフローチャートである。【００６８】
まず、初期状態として、ダミーフラグは０である（ステップＳ１０１）。そして、データパケットの受信、又はダミータイマー306の終了を待つ。（ステップＳ１０２）ここではまだ、ダミーデータを起動させていないので、データパケットの受信を待つ。【００６９】
転送制御部301がデータパケットを受信すると、受信されたデータパケットは、キュー302に一旦格納される。そして、転送制御部301はキュー302のデータパケットの数を算出し、データパケットの数が複数あるかを判定する（ステップＳ１０３）。【００７０】
この時、複数のデータパケットを続けて受信したとすると、転送制御部301はキュー302のデータパケットの数が複数あると判定し、キュー302のデータパケットをグループ化して送信部303に送出する（ステップＳ１０４）。そして、ダミーフラグをリセットして（ステップＳ１０５）、ステップＳ１０３に戻る。【００７１】
一方、データパケットが１つしか受信されていないとすると、データパケットの数が複数ではないと判定され、次に、データパケットの数が１つであるかが判定される（ステップＳ１０６）。ここでは、データパケットを１つしか受信していないので、１つであると判定され、次にダミーフラグが１であるかを判定する（ステップＳ１０７）。この時、ダミーフラグが初期状態の０であるため、ダミーフラグが１であると判定され、ダミーフラグに１を入れる（ステップＳ１０８）。そして、ダミータイマー306を起動させて（ステップＳ１０９）ステップＳ１０２に戻り、データパケットの受信、又はダミータイマー306の終了を待つ。【００７２】
そして、この時、データパケットを転送制御部301が受信すると、ステップＳ１０３に進み、データパケットの数が複数あるかを判定する。ここで、転送制御部301がデータパケットを受信したので、ステップＳ１０４に進み、転送制御部301はキュー302に格納されているデータパケットをグループ化して送信部303に送出する。そして、ステップＳ１０５に進み、ダミーフラグをリセットさせてステップＳ１０３に戻る。【００７３】
一方、ステップＳ１０８で起動させたダミータイマー306が終了した場合、ステップＳ１０３に進み、データパケットの数が複数あるかを判定する。ここでは、データパケットを受信したのではなく、起動させたダミータイマー306が終了したので、ステップＳ１０６に進み、データパケットの数が１つであるかを判定する。ここで、１つであると判定されると、ステップＳ１０６に進み、次にダミーフラグが１であるかを判定する。この時、ダミーフラグは１であるので、ダミー発生部304は、ダミーパケットを１つ作成してキュー302に格納する（ステップＳ１１０）。ダミーパケットがキュー302に格納されると、ステップＳ１０４に進み、転送制御部301はキュー302に格納されているデータパケットとダミーパケットとをグループ化して送信部303に送出する。そして、ステップＳ１１０に進み、ダミーフラグをリセットさせてステップＳ１０３に戻る。【００７４】
次に、本実施例において、ダミーパケットを２つ生成する動作について説明する。【００７５】
ダミータイマー307は、キュー302にデータパケットが無くなると起動する。そして、一定時間が経ち、ダミータイマー307が終了すると、ダミー発生部304は、ダミーパケットを２つ作成してキュー302に格納する。ダミーデータがキュー302に格納されると、転送制御部301はキュー302に格納されている２つのダミーパケットをグループ化して送信部303に送出する。そして、送出と同時に、ダミータイマー307をリセットさせる。【００７６】
尚、本実施例では、転送制御部301にダミータイマー306及び307を設けているが、これに限るものではない。すなわちダミー発生部304に設けてもよい。
【実施例３】
【００７７】
上述した実施例では、送信ノード100と受信ノード101とを単数の速度算出対象の経路で接続している場合について説明した。【００７８】
実施例３では、送信ノードと受信ノードとの間に複数の速度算出対象の経路がある場合について説明する。【００７９】
図７は、複数経路の速度を算出する場合のネットワークを示す図である。尚、上述した実施例と同様の構成については同一の番号を付し、詳細な説明は省略する。【００８０】
図７を参照すると、本発明の実施の形態は、送信ノード120と受信ノード121とから構成されており、送信ノード120と受信ノード121とは、複数の速度算出対象の経路で接続されている。これらの経路のうち１つは図１と同様、高速リンク200-1および低速リンク201-1を含む経路である。もう２つの経路は送信ノード側のリンク200-2を共有し、１つは低速リンク201-2、いま１つは低速リンク201-3を介して受信ノード121で終端される。【００８１】
送信ノード120は、転送制御部301と複数の送信部303とスケジューリング部305とから構成されている。【００８２】
スケジューリング部305は、転送制御部301でグループ化されたデータパケットを受け取り、そのグループ化されたデータパケットの単位で、各経路に接続されている送信部301に振り分ける。尚、データパケットを各経路に振り分けるための判断方法は、例えば、ラウンドロビン等の負荷分散ロジックで振り分ける方法があるが、本発明においては、如何なるものでも良い。また、ラウンドロビンの負荷分散ロジックを用いて経路選択判断すると、グループ化された各データパケットがそれぞれ別の経路に割り当てられる場合が考えられるが、本実施例では同一グループのデータパケットは同一の経路に送信されるようにする。【００８３】
次に、本実施例の動作について説明する。【００８４】
送信ノード120はランダムなタイミングで到着するデータパケットを、転送制御部301で受信する。【００８５】
受信されたデータパケットは、キュー302に一旦格納される。キュー302にデータパケットが２つ格納されると、その２つのデータパケットはグループ化されてスケジューリング部305に転送される。【００８６】
スケジューリング部305は、グループ化されたデータパケットを受け取り、そのグループ化されたデータパケットの単位で送信部303に振り分ける。振り分けられたデータパケットは、送信部303でプローブ情報が挿入される。プローブ情報が挿入された、同一パケットグループのデータパケットは、各送信部に接続されている経路に連続して送出される。【００８７】
送信ノード120から送出されたデータパケットは、受信ノード121の受信部501-1ないし501-3で受信される。受信部5011ないし501-3でデータパケットが受信されると、そのデータパケットの受信完了時刻及びデータパケット識別上が対応付けられて記録部503に記録される。そして、受信されたデータパケットはパケット識別部502に転送される。転送されたデータパケットは、パケット識別部502でプローブ情報を含むデータパケットであるか判定される。パケット識別部502でプローブ情報を含むデータパケットであると判定されるとそのデータパケットのプローブ情報、データパケット識別情報、及びビット数が演算部504に渡される。【００８８】
演算部504は、パケット識別部502から受け取ったデータパケットの識別情報に基づいて、そのデータパケットの受信完了時刻を記録部503から引き出す。引き出された受信完了時刻は、パケット識別部502から受け取ったデータパケットのプロ−ブ情報及びビット数と対応付けられて記憶部505に格納される。そして、演算部504は、記憶部505から同一のパケットグループであるデータパケットの受信完了時刻を取り出す。取り出した受信完了時刻の内、最初に受信したデータパケットの受信完了時間と最後に受信したデータパケットの受信完了時間との差を算出し、最初に受信したデータパケット以外のデータパケットの合計ビット数を、算出した受信完了時間差で割ることにより、測定値が算出される。【００８９】
尚、本発明において、データパケットが、複数の経路の内どの経路で送信されたかを識別する経路識別情報は、データパケットを送信する際に送信ノードで付しても、データパケットを受信した際に受信ノードで付してもよい。【００９０】
又、上述した構成では、各受信部501-1〜501-3で受信されたデータパケットの処理を、共通のパケット識別部502、演算部504、記録部503が行っているが、本発明において、各受信部にそれぞれのパケット識別部、演算部および記録部があってもよい。つまり、受信ノードに到着したデータパケットの全プローブ情報を処理することができれば、その処理を全て直列に行ってもよいし、並列に行ってもよい。
【実施例４】
【００９１】
実施例３では、グループ化された各データパケットにプローブ情報を挿入し、そのデータパケットをグループ毎に複数の経路に振り分けて送出する場合について説明した。本実施例では、実施例２と同様、一定時間以上キュー302にデータパケットの数が１つ以下であればダミーパケットを生成する場合について説明する。【００９２】
図８は、本実施例における送信ノードの構成図である。尚、上述した実施例と同様の構成については同一の番号を付し、詳細な説明は省略する。【００９３】
続いて、本実施例のダミーパケットを１つ生成する動作について説明する。【００９４】
図９は、本実施例のダミーパケットを１つ生成する動作を説明するためのフローチャートである。【００９５】
まず、初期状態として、ダミーフラグは０である（ステップＳ２０１）。そして、データパケットの受信、又はダミータイマー306の終了を待つ。（ステップＳ２０２）ここではまだ、ダミーデータを起動させていないので、データパケットの受信を待つ。【００９６】
転送制御部301がデータパケットを受信すると、受信されたデータパケットは、キュー302に一旦格納される。そして、転送制御部301はキュー302のデータパケットの数を監視し、データパケットの数が複数あるかを判定する（ステップＳ２０３）。【００９７】
この時、複数のデータパケットを続けて受信したとすると、転送制御部301はキュー302のデータパケットの数が複数あると判定し、キュー302のデータパケットをグループ化して、スケジューリング部305に転送する（ステップＳ２０４）。そして、スケジューリング部305は、グループ化されたデータパケットを受け取り、そのグループ化されたデータパケットの単位で送信部303に振り分ける（ステップＳ２０５）。そして、ダミーフラグをリセットして（ステップＳ２０６）、ステップＳ２０３に戻る。【００９８】
一方、データパケットが１つしか受信されていないとすると、データパケットの数が複数ではないと判定され、次に、データパケットの数が１つであるかが判定される（ステップＳ２０７）。ここでは、データパケットを１つしか受信していないので、１つであると判定され、次にダミーフラグが１であるかを判定する（ステップＳ２０８）。この時、ダミーフラグが初期状態の０であるため、ダミーフラグが１であると判定され、ダミーフラグに１を入れる（ステップＳ２０９）。そして、ダミータイマー306を起動させて（ステップＳ２１０）ステップＳ２０２に戻り、データパケットの受信、又はダミータイマー306の終了を待つ。【００９９】
そして、この時、データパケットを転送制御部301が受信すると、ステップＳ２０３に進み、データパケットの数が複数あるかを判定する。ここで、転送制御部301がデータパケットを受信したので、ステップＳ２０４に進み、転送制御部301はキュー302に格納されているデータパケットをグループ化してスケジューリング部305に転送する。そして、ステップＳ２０５に進み、スケジューリング部305は、グループ化されたデータパケットを受け取り、そのグループ化されたデータパケットの単位で送信部303に振り分け、ステップＳ２０６に進む。ダミーフラグをリセットさせてステップＳ２０３に戻る。【０１００】
一方、ステップＳ２０９で起動させたダミータイマー306が終了した場合、ステップＳ２０３に進み、データパケットの数が複数あるかを判定する。ここでは、データパケットを受信したのではなく、起動させたダミータイマー306が終了したので、ステップＳ２０７に進み、データパケットの数が１つであるかを判定する。ここで、１つであると判定され、ステップＳ２０８に進み、ダミーフラグが１であるかを判定する。この時、ダミーフラグが１であるので、ダミー発生部304は、ダミーパケットを１つ作成してキュー302に格納する（ステップＳ２１１）。ダミーパケットがキュー302に格納されると、ステップＳ２０４に進み、転送制御部301はキュー302に格納されているデータパケットとダミーパケットとをグループ化してスケジューリング部305に転送する。そして、ステップＳ２０５に進み、スケジューリング部305は、グループ化されたデータパケットを受け取り、そのグループ化されたデータパケットの単位で送信部303に振り分け、ステップＳ２０６に進む。ダミーフラグをリセットさせてステップＳ２０３に戻る。【０１０１】
次に、本実施例において、ダミーパケットを２つ生成する動作について説明する。【０１０２】
ダミータイマー307は、キュー302にデータパケットが無くなると起動する。そして、一定時間が経ち、ダミータイマー307が終了すると、ダミー発生部304は、ダミーパケットを2つ作成してキュー302に格納する。ダミーデータがキュー302に格納されると、転送制御部301はキュー302に格納されている２つのダミーパケットをグループ化してスケジューリング部305に転送する。そして、送出と同時に、ダミータイマー307をリセットさせる。【０１０３】
尚、本実施例では、転送制御部301にダミータイマー306及び307を設けているが、これに限るものではない。すなわちダミー発生部304に設けてもよい。
【図１】
0004420234.tif 000002
【図２】
0004420234.tif 000003
【図３】
0004420234.tif 000004
【図４】
0004420234.tif 000005
【図５】
0004420234.tif 000006
【図６】
0004420234.tif 000007
【図７】
0004420234.tif 000008
【図８】
0004420234.tif 000009
【図９】
0004420234.tif 000010