(57)【特許請求の範囲】
【請求項１】
連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置であって、
前記送信間隔を割り出すための時間情報を含むパケットを生成する生成手段と、
前記複数のパケットの送信処理に要する処理時間のばらつきを取得するばらつき取得手段と、
前記ばらつき取得手段によって取得された前記ばらつきに基づいて、前記複数のパケットの前記送信間隔を少なくとも含む送信条件を決定する送信条件決定手段と、
前記生成手段によって生成された前記複数のパケットを、前記送信条件決定手段によって決定された前記送信条件で順次送信する送信手段と
を備えたことを特徴とする通信装置。
【請求項２】
前記送信条件決定手段は、前記送信間隔に含まれる複数の間隔のうちの一の間隔と、前記一の間隔の前または後の間隔との差分である送信間隔差が、前記ばらつき取得手段によって取得された前記ばらつきよりも大きくなるように、前記送信間隔を決定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記送信条件決定手段は、
前記複数のパケットによる帯域の計測対象範囲である探索範囲と、前記複数のパケットを構成するパケットの数である計測パケット数と、前記複数のパケットを構成する各パケットのパケットサイズとによって、前記送信間隔を算出する第一算出手段と、
前記第一算出手段によって算出された前記送信間隔における全ての前記送信間隔差が、前記ばらつき取得手段によって取得された前記ばらつきよりも大きいか否かを判断する第一判断手段と、
前記第一判断手段によって、前記送信間隔差の少なくとも一部が前記ばらつき以下であると判断された場合に、前記探索範囲、前記計測パケット数、および前記パケットサイズの少なくとも１つを変更する変更手段と
を備えたことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記変更手段は、前記探索範囲および前記パケットサイズを固定したまま前記計測パケット数を減少させることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記送信条件決定手段は、
前記送信間隔差の少なくとも一部が前記ばらつき以下であると前記第一判断手段によって判断された場合に、前記計測パケット数が第一閾値以下であるか否かを判断する第二判断手段をさらに備え、
前記変更手段は、
前記第二判断手段によって前記計測パケット数が前記第一閾値以下であると判断された場合は、前記探索範囲を広げて再設定し、
前記第二判断手段によって前記計測パケット数が前記第一閾値より大きいと判断された場合に、前記探索範囲および前記パケットサイズを固定したまま前記計測パケット数を減少させることを特徴とする請求項３に記載の通信装置。
【請求項６】
前記送信条件決定手段は、
全ての前記送信間隔差が前記ばらつきよりも大きいと前記第一判断手段によって判断された場合に、前記計測パケット数が第二閾値以上であるか否かを判断する第三判断手段と、
前記第三判断手段によって前記計測パケット数が前記第二閾値より小さいと判断された場合に、前記計測パケット数を前記第二閾値を限度として増加させる増加手段と
をさらに備えたことを特徴とする請求項３から５のいずれかに記載の通信装置。
【請求項７】
前記複数のパケットの各々の送信処理に要する処理時間を複数取得する処理時間取得手段をさらに備え、
前記ばらつき取得手段は、前記処理時間取得手段によって取得された複数の処理時間の標準偏差を前記ばらつきとして取得することを特徴とする請求項１から６のいずれかに記載の通信装置。
【請求項８】
前記処理時間取得手段は、前記生成手段によって生成されたパケットを自らに送信して受信するまでに要した時間から処理時間を取得することを特徴とする請求項７に記載の通信装置。
【請求項９】
前記通信装置のＯＳの種類、前記通信装置のクロック数、および前記通信装置のＣＰＵ使用率の少なくともいずれかを含む通信装置の処理条件と、前記ばらつきとを対応付けたテーブルを記憶する記憶手段から、前記テーブルの情報を取得する情報取得手段をさらに備え、
前記ばらつき取得手段は、前記情報取得手段によって取得された前記テーブルの情報を参照し、現在の前記処理条件に対応付けられているばらつきを取得することを特徴とする請求項１から６のいずれかに記載の通信装置。
【請求項１０】
連続して送信された複数のパケットを受信する受信手段と、
前記受信手段が受信した前記複数のパケットの受信間隔を取得する受信間隔取得手段と、
前記受信手段が受信した前記複数のパケットの各々に含まれる前記時間情報から、受信した前記複数のパケットの送信間隔を取得する送信間隔取得手段と、
前記受信間隔取得手段によって取得された前記受信間隔と、前記送信間隔取得手段によって取得された前記送信間隔とに基づいて帯域を計測する計測手段と
をさらに備えたことを特徴とする請求項１から９のいずれかに記載の通信装置。
【請求項１１】
連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置によって行われる通信方法であって、
前記送信間隔を割り出すための時間情報を含むパケットを生成する生成ステップと、
前記複数のパケットの送信処理に要する処理時間のばらつきを取得するばらつき取得ステップと、
前記ばらつき取得ステップによって取得された前記ばらつきに基づいて、前記複数のパケットの前記送信間隔を少なくとも含む送信条件を決定する送信条件決定ステップと、
前記生成ステップによって生成された前記複数のパケットを、前記送信条件決定ステップによって決定された前記送信条件で順次送信する送信ステップと
を備えたことを特徴とする通信方法。
【請求項１２】
連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置の動作を制御する通信プログラムであって、
コンピュータに、
前記送信間隔を割り出すための時間情報を含むパケットを生成する生成ステップと、
前記複数のパケットの送信処理に要する処理時間のばらつきを取得するばらつき取得ステップと、
前記ばらつき取得ステップによって取得された前記ばらつきに基づいて、前記複数のパケットの前記送信間隔を少なくとも含む送信条件を決定する送信条件決定ステップと、
前記生成ステップによって生成された前記複数のパケットを、前記送信条件決定ステップによって決定された前記送信条件で順次送信する送信ステップと
を実行させることを特徴とする通信プログラム。
【請求項１３】
複数のパケットを連続して送信する送信装置と、前記送信装置によって送信される前記複数のパケットをネットワークを経由して受信する受信装置とを備え、前記送信装置において前記複数のパケットの各々の送信処理を行う間隔である送信間隔と、前記受信装置における前記複数のパケットの受信間隔とに基づいて、前記送信装置と前記受信装置との間の帯域を計測する帯域計測システムであって、
前記送信装置は、
前記送信間隔を割り出すための時間情報を含むパケットを生成する生成手段と、
前記複数のパケットの送信処理に要する処理時間のばらつきを取得するばらつき取得手段と、
前記ばらつき取得手段によって取得された前記ばらつきに基づいて、前記複数のパケットの前記送信間隔を少なくとも含む送信条件を決定する送信条件決定手段と、
前記生成手段によって生成された前記複数のパケットを、前記送信条件決定手段によって決定された前記送信条件で順次送信する送信手段とを備え、
前記受信装置は、
前記複数のパケットを受信する受信手段と、
前記受信手段が受信した前記複数のパケットの受信間隔を取得する受信間隔取得手段と、
前記受信手段が受信した前記複数のパケットの各々に含まれる前記時間情報から、前記複数のパケットの送信間隔を取得する送信間隔取得手段と、
前記受信間隔取得手段によって取得された前記受信間隔と、前記送信間隔取得手段によって取得された前記送信間隔とに基づいて、前記送信装置との間の帯域を計測する計測手段と
を備えたことを特徴とする帯域計測システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してデータ通信を行う場合に、帯域を計測できるようにデータを送信する通信装置、通信方法、通信プログラム、および帯域計測システムに関する。
【背景技術】
【０００２】
インターネット等のネットワークを介して通信装置がデータを送受信する場合、通信装置は、帯域（帯域幅：Ａｖａｉｌａｂｌｅ  Ｂａｎｄｗｉｄｔｈ）に適した伝送速度でデータを送受信する必要がある。通信装置が使用可能な帯域は、地域、プロバイダ、時間帯等の状況によって変動する。従って、データを送信する通信装置は、変動する帯域に合わせて伝送速度を制御することが望ましい。
【０００３】
非特許文献１は、変動する帯域を適宜計測するための計測方式を開示している。この計測方式では、送信側の通信装置は、パケットの送信間隔を割り出すための時間情報をパケットに含める。送信側の通信装置は、送信間隔を変更しながら複数のパケットを連続して送信する。受信側の通信装置は、パケットの受信間隔を記録する。その後、パケット内の時間情報によって割り出されるパケットの送信間隔と、受信側の通信装置で記録された受信間隔との差分が算出される。算出された複数の差分の値の変化傾向から、現在の帯域が計測される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＣａｏＬｅ  Ｔｈａｎｈ  Ｍａｎ、長谷川剛、村田正幸、「サービスオーバーレイネットワークのためのインラインネットワーク計測に関する一検討」、電子情報通信学会技術研究報告、社団法人電子情報通信学会、２００３年１月１７日、Ｖｏｌ．１０２、Ｎｏ．５６５、ｐ．５３−５８
【発明の概要】
【発明が解決しようとする課題】
【０００５】
暗号化等の処理が行われてデータがパケット化された後は、送信側の通信装置は時間情報をパケットに含めることができない。従って、送信側の通信装置は、パケット化を行う前に、パケット化するデータに時間情報を含める必要がある。しかし、通信装置では、データのパケット化を開始してから、パケットの送信が完了するまでに、ある程度の処理時間を要する。処理時間は、例えばＯＳの種類、通信装置のクロック数、ＣＰＵ使用率等の処理条件によってばらつく。処理時間がばらつくと、パケット内の時間情報が示す時刻の間隔と、実際のパケットの送信間隔との間に処理時間の変動分のずれが生じ、帯域を精度良く計測することは困難であった。
【０００６】
本発明は、パケットの送信処理の処理時間にばらつきが生じる場合であっても、帯域を精度良く計測できるようにデータを通信することができる通信装置、通信方法、通信プログラム、および帯域計測システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第一の態様に係る通信装置は、連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置であって、前記送信間隔を割り出すための時間情報を含むパケットを生成する生成手段と、前記複数のパケットの送信処理に要する処理時間のばらつきを取得するばらつき取得手段と、前記ばらつき取得手段によって取得された前記ばらつきに基づいて、前記複数のパケットの前記送信間隔を少なくとも含む送信条件を決定する送信条件決定手段と、前記生成手段によって生成された前記複数のパケットを、前記送信条件決定手段によって決定された前記送信条件で順次送信する送信手段とを備えている。
【０００８】
パケットの送信処理に要する処理時間がばらつくと、各パケットに含まれる時間情報によって割り出される送信間隔（送信処理を行う間隔）と、各パケットの送信処理が完了した時点の間隔（実際の送信間隔、以下「送信完了間隔」という。）とに誤差が生じる。処理時間のばらつきが大きい程、送信間隔と送信完了間隔との間の誤差が大きくなる。しかし、誤差が生じても、送信間隔に対する誤差の割合が小さければ、誤差が計測結果に与える影響は小さい。第一の態様に係る通信装置は、複数のパケットの送信処理に要する処理時間のばらつきに基づいて、少なくとも送信間隔（送信処理を行う間隔）を含むパケットの送信条件を決定する。その結果、処理時間のばらつきが帯域の計測結果に与える影響を小さくすることができる。よって、通信装置は、帯域を精度良く計測できるようにデータを送信することができる。
【０００９】
前記送信条件決定手段は、前記送信間隔に含まれる複数の間隔のうちの一の間隔と、前記一の間隔の前または後の間隔との差分である送信間隔差が、前記ばらつき取得手段によって取得された前記ばらつきよりも大きくなるように、前記送信間隔を決定してもよい。送信側の通信装置がデータを送信する際の伝送速度が帯域以下であり、且つ送信処理の処理時間のばらつきがなければ、送信間隔と受信間隔とは理論的に同一となる。伝送速度が帯域よりも高ければ、受信間隔は送信間隔よりも長くなる。第一の態様に係る通信装置を含むシステムで用いられる帯域計測方式では、送信側の通信装置は、送信間隔を徐々に短くしながら、または徐々に長くしながら、複数のパケットを送信する。その結果、「受信間隔−送信間隔」の値が変化する時点における伝送速度を、使用可能な帯域とすることができる。ここで、具体的に、送信間隔を徐々に長くしながら複数のパケットを送信する場合を考える。この場合、処理時間のばらつきが送信間隔差よりも大きければ、ある送信完了間隔の長さが、この送信完了間隔よりも前の送信完了間隔よりも短くなる場合が生じ得る。その結果、「受信間隔−送信間隔」の値が変化する時点を検出することが極めて困難になる。通信装置は、送信間隔差を処理時間のばらつきよりも大きくすることで、「受信間隔−送信間隔」の値が変化する時点を精度良く検出できるように、複数のパケットを送信することができる。
【００１０】
前記送信条件決定手段は、前記複数のパケットによる帯域の計測対象範囲である探索範囲と、前記複数のパケットを構成するパケットの数である計測パケット数と、前記複数のパケットを構成する各パケットのパケットサイズとによって、前記送信間隔を算出する第一算出手段と、前記第一算出手段によって算出された前記送信間隔における全ての前記送信間隔差が、前記ばらつき取得手段によって取得された前記ばらつきよりも大きいか否かを判断する第一判断手段と、前記第一判断手段によって、前記送信間隔差の少なくとも一部が前記ばらつき以下であると判断された場合に、前記探索範囲、前記計測パケット数、および前記パケットサイズの少なくとも１つを変更する変更手段とを備えてもよい。この場合、通信装置は、探索範囲、計測バケット数、およびパケットサイズの少なくとも１つを変更することで、送信間隔差がばらつきよりも大きくなる送信条件を的確に決定することができる。
【００１１】
前記変更手段は、前記探索範囲および前記パケットサイズを固定したまま前記計測パケット数を減少させてもよい。この場合、探索範囲およびパケットサイズが同じであるため、計測パケット数を減少させることで、送信間隔差は大きくなる。従って、通信装置は、探索範囲を広げることによる帯域の計測精度の低下、および、パケットサイズを変更することによる処理負担の増大を生じさせること無く、処理時間のばらつきが帯域の計測結果に与える影響を低下させることができる。
【００１２】
前記送信条件決定手段は、前記送信間隔差の少なくとも一部が前記ばらつき以下であると前記第一判断手段によって判断された場合に、前記計測パケット数が第一閾値以下であるか否かを判断する第二判断手段をさらに備えてもよい。前記変更手段は、前記第二判断手段によって前記計測パケット数が前記第一閾値以下であると判断された場合は、前記探索範囲を広げて再設定するとよい。前記変更手段は、前記第二判断手段によって前記計測パケット数が前記第一閾値より大きいと判断された場合に、前記探索範囲および前記パケットサイズを固定したまま前記計測パケット数を減少させればよい。計測パケット数を減少させすぎると、「受信間隔−送信間隔」の値が変化する時点を細かく検出することができず、帯域の計測精度が大きく低下する。通信装置は、計測パケット数が第一閾値以下である場合、探索範囲を広げて再設定することで、計測パケット数の減少による計測精度の大幅な低下を防止しつつ、適切な送信条件を決定することができる。一方、計測パケット数が第一閾値よりも大きければ、計測パケット数の減少が計測精度に与える影響は小さい。この場合、通信装置は、計測パケット数を減少させることで、探索範囲を広げることによる計測精度の大幅な低下を防止しつつ、適切な送信条件を決定することができる。
【００１３】
前記送信条件決定手段は、全ての前記送信間隔差が前記ばらつきよりも大きいと前記第一判断手段によって判断された場合に、前記計測パケット数が第二閾値以上であるか否かを判断する第三判断手段と、前記第三判断手段によって前記計測パケット数が前記第二閾値より小さいと判断された場合に、前記計測パケット数を前記第二閾値を限度として増加させる増加手段とをさらに備えてもよい。計測パケット数を増加させすぎると、帯域の計測に要する処理負担が増大する。しかし、通信装置は、処理負担が増大しすぎない範囲内で計測パケット数を増加させることで、帯域の計測精度を向上させることができる。
【００１４】
前記通信装置は、前記複数のパケットの各々の送信処理に要する処理時間を複数取得する処理時間取得手段をさらに備えてもよい。前記ばらつき取得手段は、前記処理時間取得手段によって取得された複数の処理時間の標準偏差を前記ばらつきとして取得するのが望ましい。この場合、通信装置は、処理時間の標準偏差をばらつきとして用いることで、効率良く的確に送信条件を決定することができる。
【００１５】
前記処理時間取得手段は、前記生成手段によって生成されたパケットを自らに送信して受信するまでに要した時間から処理時間を取得してもよい。この場合、通信装置は、その時点での処理時間を的確に取得することができる。
【００１６】
前記通信装置は、前記通信装置のＯＳの種類、前記通信装置のクロック数、および前記通信装置のＣＰＵ使用率の少なくともいずれかを含む通信装置の処理条件と、前記ばらつきとを対応付けたテーブルを記憶する記憶手段から、前記テーブルの情報を取得する情報取得手段をさらに備えてもよい。前記ばらつき取得手段は、前記情報取得手段によって取得された前記テーブルの情報を参照し、現在の前記処理条件に対応付けられているばらつきを取得すればよい。この場合、通信装置は、テーブルの情報を参照するだけで容易にばらつきを取得することができる。
【００１７】
前記通信装置は、連続して送信された複数のパケットを受信する受信手段と、前記受信手段が受信した前記複数のパケットの受信間隔を取得する受信間隔取得手段と、前記受信手段が受信した前記複数のパケットの各々に含まれる前記時間情報から、受信した前記複数のパケットの送信間隔を取得する送信間隔取得手段と、前記受信間隔取得手段によって取得された前記受信間隔と、前記送信間隔取得手段によって取得された前記送信間隔とに基づいて帯域を計測する計測手段とをさらに備えてもよい。この場合、通信装置は、送信側の通信装置および受信側の通信装置のいずれとしても機能することができる。従って、通信装置は、他の通信装置と通信を行う場合、相手側の通信装置が送信側および受信側のいずれかの機能しか有さない場合でも、容易に帯域を計測することができる。
【００１８】
本発明の第二の態様に係る通信方法は、連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置によって行われる通信方法であって、前記送信間隔を割り出すための時間情報を含むパケットを生成する生成ステップと、前記複数のパケットの送信処理に要する処理時間のばらつきを取得するばらつき取得ステップと、前記ばらつき取得ステップによって取得された前記ばらつきに基づいて、前記複数のパケットの前記送信間隔を少なくとも含む送信条件を決定する送信条件決定ステップと、前記生成ステップによって生成された前記複数のパケットを、前記送信条件決定ステップによって決定された前記送信条件で順次送信する送信ステップとを備えている。
【００１９】
第二の態様に係る通信方法によると、処理時間のばらつきが帯域の計測結果に与える影響を小さくすることができる。よって、帯域を精度良く計測できるようにデータが送信される。
【００２０】
本発明の第三の態様に係る通信プログラムは、連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置の動作を制御する通信プログラムであって、コンピュータに、前記送信間隔を割り出すための時間情報を含むパケットを生成する生成ステップと、前記複数のパケットの送信処理に要する処理時間のばらつきを取得するばらつき取得ステップと、前記ばらつき取得ステップによって取得された前記ばらつきに基づいて、前記複数のパケットの前記送信間隔を少なくとも含む送信条件を決定する送信条件決定ステップと、前記生成ステップによって生成された前記複数のパケットを、前記送信条件決定ステップによって決定された前記送信条件で順次送信する送信ステップとを実行させることを特徴とする。
【００２１】
第三の態様に係る通信プログラムによると、処理時間のばらつきが帯域の計測結果に与える影響を小さくすることができる。よって、通信装置は、帯域を精度良く計測できるようにデータを送信することができる。
【００２２】
本発明の第四の態様に係る帯域計測システムは、複数のパケットを連続して送信する送信装置と、前記送信装置によって送信される前記複数のパケットをネットワークを経由して受信する受信装置とを備え、前記送信装置において前記複数のパケットの各々の送信処理を行う間隔である送信間隔と、前記受信装置における前記複数のパケットの受信間隔とに基づいて、前記送信装置と前記受信装置との間の帯域を計測する帯域計測システムであって、前記送信装置は、前記送信間隔を割り出すための時間情報を含むパケットを生成する生成手段と、前記複数のパケットの送信処理に要する処理時間のばらつきを取得するばらつき取得手段と、前記ばらつき取得手段によって取得された前記ばらつきに基づいて、前記複数のパケットの前記送信間隔を少なくとも含む送信条件を決定する送信条件決定手段と、前記生成手段によって生成された前記複数のパケットを、前記送信条件決定手段によって決定された前記送信条件で順次送信する送信手段とを備え、前記受信装置は、前記複数のパケットを受信する受信手段と、前記受信手段が受信した前記複数のパケットの受信間隔を取得する受信間隔取得手段と、前記受信手段が受信した前記複数のパケットの各々に含まれる前記時間情報から、前記複数のパケットの送信間隔を取得する送信間隔取得手段と、前記受信間隔取得手段によって取得された前記受信間隔と、前記送信間隔取得手段によって取得された前記送信間隔とに基づいて、前記送信装置との間の帯域を計測する計測手段とを備えている。
【００２３】
第四の態様に係る帯域計測システムは、処理時間のばらつきが帯域の計測結果に与える影響を小さくすることができる。よって、受信装置は、帯域を精度良く計測することができる。
【図面の簡単な説明】
【００２４】
【図１】通信装置１の電気的構成、および帯域計測システム１００の構成を示す図である。
【図２】通信装置１が送信装置として動作する場合に実行する送信メイン処理のフローチャートである。
【図３】送信メイン処理中に実行されるばらつき取得処理のフローチャートである。
【図４】送信メイン処理中に実行される送信条件決定処理のフローチャートである。
【図５】送信メイン処理中に実行される送信処理のフローチャートである。
【図６】通信装置１が受信装置として動作する場合に実行する受信メイン処理のフローチャートである。
【図７】受信メイン処理中に実行される受信処理のフローチャートである。
【図８】受信装置のＲＡＭ１２のパケット情報記憶エリアに記憶されるデータの構成を示す模式図である。
【図９】受信メイン処理中に実行される帯域計測処理のフローチャートである。
【図１０】変形例に係る送信装置のＨＤＤ１３に記憶されるばらつき決定テーブルの構成を示す模式図である。
【発明を実施するための形態】
【００２５】
以下、本発明の通信装置を具現化した一実施の形態である通信装置１、および複数の通信装置１を備えた帯域計測システム１００について、図面を参照して説明する。なお、参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【００２６】
帯域計測システム１００について説明する。図１に示すように、帯域計測システム１００は、少なくとも２つの通信装置１を備える。通信装置１は、ネットワーク８を介して他の通信装置１と接続する。通信装置１は、他の通信装置１との間で各種データの通信を行う。
【００２７】
本実施の形態の帯域計測システム１００は、複数の拠点のユーザがテレビ会議を行うためのテレビ会議システムである。各通信装置１は、画像データおよび音声データを互いに送受信することで、複数の拠点の映像および音声を共有する。通信装置１は、ネットワーク１を介したデータ通信を実行できるものであればよい。具体的には、テレビ会議を実行するために各拠点に配置される専用のテレビ会議端末であってもよいし、種々の情報処理を行うパーソナルコンピュータであってもよい。
【００２８】
帯域計測システム１００では、各通信装置１が画像データおよび音声データをパケット化して送受信しつつ、通信相手の通信装置１との間で使用可能な帯域が計測される。使用可能な帯域を越える伝送速度でパケットが送信されると、パケットロス、送信遅延等が生じる。一方、伝送速度を低くしすぎると、帯域を十分に活用することができず、効率が悪い。従って、各通信装置１は、計測された帯域に合わせて伝送速度を制御する。ここで、「使用可能な帯域」とは、送信側の通信装置１が送信するデータの伝送速度とほぼ等しい伝送速度で受信側の通信装置１がデータを受信できる最大の伝送速度をいう。帯域と、各通信装置１間の伝送速度とを比較するため、帯域を伝送路容量（ｂｐｓ）で表す。
【００２９】
通信装置１の電気的構成について説明する。図１に示すように、通信装置１は、通信装置１の制御を司るＣＰＵ１０を備えている。ＣＰＵ１０には、ＲＯＭ１１、ＲＡＭ１２、ハードディスクドライブ（以下、「ＨＤＤ」という。）１３、および入出力インターフェース１９が、バス１８を介して接続されている。
【００３０】
ＲＯＭ１１は、通信装置１を動作させるためのプログラムおよび初期値等を記憶している。ＲＡＭ１２は、制御プログラムで使用される各種の情報を一時的に記憶する。ＨＤＤ１３は、制御プログラム等の各種の情報を記憶する不揮発性の記憶装置である。ＨＤＤの代わりに、ＥＥＰＲＯＭまたはメモリカード等の記憶装置を用いてもよい。
【００３１】
入出力インターフェース１９には、音声入力処理部２１、音声出力処理部２２、映像入力処理部２３、映像出力処理部２４、操作部２５、および外部通信Ｉ／Ｆ２６が接続されている。音声入力処理部２１は、音声を入力するマイク３１からの音声データの入力を処理する。音声出力処理部２２は、音声を出力するスピーカ３２の動作を処理する。映像入力処理部２３は、映像を撮像するカメラ３３からの映像データ（動画像データ）の入力を処理する。映像出力処理部２４は、映像を表示する表示装置３４の動作を処理する。操作部２５は、ユーザが通信装置１に各種指示を入力するために用いられる。操作部２５は、通信装置１の外部から、入出力インターフェース１９へ接続されるものであってもよい。外部通信Ｉ／Ｆ２６は、通信装置１をネットワーク８に接続する。
【００３２】
次に、本実施の形態の帯域計測システム１００で用いられる帯域計測方式について、概略的に説明する。帯域計測システム１００で用いられる帯域計測方式は、以下の文献に記載されている公知の方式である。「ＣａｏＬｅ  Ｔｈａｎｈ  Ｍａｎ，長谷川剛，村田正幸，「サービスオーバーレイネットワークのためのインラインネットワーク計測に関する一検討」，電子情報通信学会技術研究報告，社団法人電子情報通信学会，２００３年１月１７日，Ｖｏｌ．１０２，Ｎｏ．５６５，ｐｐ．５３−５８」なお、本発明を適用できる帯域計測方式は、上記文献に記載されている方式に限られない。パケットの送信間隔および受信間隔を利用して帯域を計測する方式であれば、本発明の適用は可能である。
【００３３】
計測原理について説明する。帯域計測システム１００では、データを送信する通信装置１（以下、「送信装置」という。）は、データを複数のパケットにパケット化する。送信装置は、複数のパケットを連続して他の通信装置１（以下、「受信装置」という。）にネットワーク８を介して送信する。パケットを送信する際の伝送速度（単位：ｂｐｓ）が、送信装置と受信装置との間で使用できる帯域（単位：ｂｐｓ）以下であれば、パケットは渋滞しない。この場合、送信装置によって送信された複数のパケットを受信装置が受信する間隔（受信間隔）は、理論的に送信間隔と同一となる。一方、伝送速度が帯域よりも高ければ、パケットは渋滞し、受信間隔は送信間隔よりも長くなる。
【００３４】
帯域を計測する場合、送信装置は、送信間隔を徐々に長くしながら、または徐々に短くしながら、複数のパケットを送信する。あるパケットが送信された場合の伝送速度は、以下の式（１）
伝送速度（ｂｐｓ）＝パケットサイズ（ｂｉｔ）／前回のパケット送信時と今回のパケット送信時との時間間隔（ｓ）・・・・・（１）
で求められる。送信間隔を徐々に長くしながら複数のパケットを送信すると、伝送速度が帯域よりも大きい間は、受信間隔が送信間隔よりも長くなる。しかし、送信間隔が長くなり、伝送速度が帯域以下となれば、受信間隔と送信間隔とが同一となる。よって、「受信間隔−送信間隔」の値が変化する時点の伝送速度を、帯域として計測することができる。
【００３５】
計測手順について説明する。帯域計測システム１００では、大まかに、以下の手順で帯域が計測される。
１．帯域の初期探索範囲を設定する。
その時点の帯域を計測できると予想される探索範囲を限定することで、効率よく帯域を計測することができる。
【００３６】
２．探索範囲に対応する複数のパケット（計測ストリーム）を送受信する。
まず、探索範囲内の帯域を計測するための複数のパケットの送信条件が決定される。送信条件には、複数のパケットを構成するパケットの数（以下、「計測パケット数」という。）、各パケットのパケットサイズ、および、前回のパケット送信時から次のパケットを送信するまでの時間である送信間隔が含まれる。本実施の形態では、送信間隔は徐々に長くなるように決定されるため、探索範囲の上限値から下限値へ順に帯域が探索されることになる。次いで、決定された送信条件に従って、送信装置から複数のパケットが送信される。各パケットには、受信装置が送信間隔を割り出すための時間情報が含まれる。なお、探索範囲を複数の小区間に分割し、小区間毎に計測ストリームを送信することで、一時的な異常に対する耐性が高い計測結果を得ることができるが、この詳細については省略する。
【００３７】
３．受信間隔と送信間隔との差分から、送信装置と受信装置との間で利用できる帯域を計測する。
受信装置がパケットを実際に受信した時刻から、受信間隔が割り出される。受信されたパケットに含まれる時間情報から、送信間隔が割り出される。次いで、パケットが送信された際の伝送速度と、パケットが受信された際の受信レート（ｂｐｓ）との関係が、線形回帰法によって２本の直線で近似される。その結果、「受信間隔―送信間隔」の値が変化する時点が割り出され、帯域が計測される。「受信間隔―送信間隔」の変化が探索範囲内で割り出されなければ、探索範囲の下限または上限が暫定的に帯域とされる。
【００３８】
４．探索範囲を再設定し、上記２．へ戻る。
過去の計測結果から統計的に次の探索範囲を再設定することで、効率よく帯域を計測できる。探索範囲を再設定するための計算式等は、上記文献に記載されているため、説明を省略する。
【００３９】
以上説明したように、パケットの送信間隔および受信間隔を利用して帯域を計測する方式では、複数のパケットの送信間隔が重要である。受信装置が送信間隔を正確に割り出すために、送信装置は、パケットを送信する瞬間の時間の情報をパケットに含めることが望ましい。しかし、送信装置は、暗号化等の処理を行ってデータをパケット化した後は、時間情報をパケットに含めることができない。従って、パケットに含まれる時間情報から割り出される送信間隔は、送信装置で各パケットの送信処理を行う間隔となる。送信装置では、データをパケット化して送信を完了するまでに、ある程度の処理時間を要する。処理時間は、ＯＳの種類、通信装置のクロック数、ＣＰＵ１０の使用率等の処理条件によってばらつく（揺らぐ）。処理時間がばらつくと、パケット内の時間情報によって割り出される送信間隔と、実際のパケットの送信間隔である送信完了間隔との間に、処理時間のばらつき分のずれが生じる。その結果、計測された帯域と実際の帯域との間にずれが生じ、帯域の計測精度が低下する。
【００４０】
上記の方式では、送信装置は送信間隔を変更しながら複数のパケットを送信するが、送信間隔を変更する度合いが細かい程、処理時間のばらつきが計測結果に与える影響は大きくなる。詳細には、送信装置は、送信完了間隔を徐々に長く、または徐々に短くする必要がある。しかし、一連の計測ストリームにおける送信間隔のうちの一の間隔と他の間隔との差分である送信間隔差が、処理時間のばらつきと同じになれば、同一の送信完了間隔でパケットが送信される場合が生じる。送信間隔差が処理時間のばらつきよりも小さければ、送信完了間隔を徐々に長くすべき場合でも、送信完了間隔の一部が、その送信完了間隔よりも前の送信完了間隔より短くなり得る。送信完了間隔を徐々に短くする場合も同様の問題が生じる。その結果、「受信間隔―送信間隔」の値が変化する時点を割り出すことが極めて困難になる。
【００４１】
本実施の形態の帯域計測システム１００では、送信装置は、複数のパケットの送信条件のうち、少なくとも複数のパケットの送信間隔を、処理時間のばらつきに基づいて決定する。その結果、送信装置は、処理時間のばらつきが帯域の計測結果に与える影響を小さくし、帯域の計測精度を向上させることができる。以下、通信装置１が行う処理について、詳細に説明する。
【００４２】
図２から図５を参照して、計測パケットを送信する送信装置として通信装置１が動作する場合に実行される送信メイン処理について説明する。送信メイン処理は、受信装置との間でデータを送受信する指示が入力されると、ＨＤＤ１３に記憶されているプログラムに従って、送信装置のＣＰＵ１０によって実行される。
【００４３】
図２に示すように、送信メイン処理が開始されると、帯域を計測するためのパケットの送信を終了させる指示があったか否かが判断される（Ｓ１）。終了指示がなければ（Ｓ１：ＮＯ）、ばらつき取得処理が行われる（Ｓ２）。ばらつき取得処理では、計測パケットの送信処理に要する処理時間のばらつきが取得される。次いで、送信条件決定処理が行われる（Ｓ３）。送信条件決定処理では、取得されたばらつきに基づいて、複数の計測パケットの送信間隔、帯域の探索範囲、計測パケット数Ｎ、および各々の計測パケットのパケットサイズＰｓが送信条件として決定される。次いで、決定された計測パケット数Ｎを示すデータが受信装置に送信されて（Ｓ４）、送信処理が行われる（Ｓ５）。送信処理では、複数の計測パケットが生成され、決定された送信条件に従って受信装置に順次送信される。帯域の計測結果を示すデータが受信装置から受信されて（Ｓ６）、処理はＳ１の判断へ戻る。パケット送信の終了指示が行われるまで（Ｓ１：ＮＯ）、Ｓ２〜Ｓ６の処理が繰り返し行われる。終了指示が行われると（Ｓ１：ＹＥＳ）、送信メイン処理は終了する。
【００４４】
図３を参照して、送信メイン処理中に実行されるばらつき取得処理について詳細に説明する。本実施の形態では、１つのパケットの送信処理に要する処理時間が複数回取得される。取得された複数の処理時間の標準偏差がばらつきとして取得される。まず、ばらつき取得処理では、現在時刻が送信時刻として取得される（Ｓ１１）。取得された送信時刻の時刻情報を含むパケットが、処理時間計測パケットとして生成される（Ｓ１２）。処理時間計測パケットは、特に意味のあるデータを持たないが、受信装置に前回送信された計測パケットと同じパケットサイズとされる。その結果、実際に受信装置に送信される計測パケットの処理時間と同様の処理時間を取得することができる。
【００４５】
次いで、生成された処理時間計測パケットが、ネットワーク８を介さずに自分宛てに送信される（Ｓ１３）。送信された処理時間計測パケットが、パケットを送信した送信装置自身によって受信される（Ｓ１４）。受信した時点の現在時刻が、受信時刻として取得される（Ｓ１５）。取得された受信時刻と、受信した処理時間計測パケットに含まれる送信時刻との差分が算出されることで、１つのパケットに対する処理時間が取得される（Ｓ１６）。次いで、所定数（例えば１０）の処理時間の取得が完了したか否かが判断される（Ｓ１７）。所定数の処理時間が未だ取得されていなければ（Ｓ１７：ＮＯ）、Ｓ１１〜Ｓ１６の処理が再び行われる。所定数の処理時間が取得された場合には（Ｓ１７：ＹＥＳ）、取得された所定数の処理時間の標準偏差が算出される。算出された標準偏差が処理時間のばらつきとして取得されて（Ｓ１８）、処理は送信メイン処理へ戻る。次いで、送信条件決定処理が行われる（Ｓ３、図２参照）。
【００４６】
図４を参照して、送信条件決定処理について詳細に説明する。まず、繰り返し実行される帯域の計測処理における初回の計測処理であるか否かが判断される（Ｓ２１）。換言すると、現在の受信装置との間の帯域が未だ１度も計測されていないか判断される。初回の計測処理であれば（Ｓ２１：ＹＥＳ）、初期探索範囲、計測パケット数Ｎ、および各計測パケットのパケットサイズＰｓが、所定の値に設定される（Ｓ２２）。本実施の形態では、所定の値としてデフォルト値が用いられる。一例として、初期探索範囲が０．５Ｍｂｐｓ〜１．５Ｍｂｐｓ、計測パケット数Ｎが２５、パケットサイズＰｓが１５００ｂｙｔｅに設定される。しかし、これらの値の設定方法は変更できる。例えば、他の帯域計測方法によって計測された帯域を参照して各値を設定してもよい。一方、初回の計測処理でなければ（Ｓ２１：ＮＯ）、過去に計測された受信端末との間の帯域から、統計的な手法を用いて帯域の探索範囲が再設定される。この手法は前述した文献に記載されているため、詳細な説明は省略する。統計的な手法を用いることで、帯域を効率良く、且つ精度良く計測するための探索範囲を再設定することができる。
【００４７】
次いで、設定された探索範囲が（Ｎ−１）で等分される（Ｓ２５）。その結果、各計測パケットが探索する帯域の値である探索帯域値Ｋｉ（ｉ＝１，...，Ｎ−１）が一意に定まる。次いで、各探索帯域値Ｋｉを探索するための、各計測パケットの送信間隔が算出される（Ｓ２６）。１つの探索帯域値Ｋｉ（ｂｐｓ）を探索するための送信間隔は、パケットサイズ（ｂｉｔ）をＰｓとして以下の式（２）で求められる。
Ｐｓ／Ｋｉ・・・・・（２）
【００４８】
算出された送信間隔から送信間隔差が算出され、算出された送信間隔差のうちの最小の値がばらつきよりも大きいか否かが判断される（Ｓ２７）。前述したように、送信間隔差とは、一連の計測ストリームにおける送信間隔のうちの一の間隔と他の間隔との差分である。複数の送信間隔差のうちの最小値がばらつきよりも大きければ、全ての送信間隔差はばらつきよりも大きくなる。ＣＰＵ１０は、最小の送信間隔差のみをばらつきと比較することで、複数の送信間隔差とばらつきとの比較を容易に行うことができる。
【００４９】
最小の送信間隔差がばらつきよりも大きければ（Ｓ２７：ＹＥＳ）、計測パケット数Ｎがあらかじめ定められた上限値以上であるか否かが判断される（Ｓ２８）。本実施形態が採用する帯域計測方式では、計測パケット数Ｎが多い程、「受信間隔−送信間隔」の変化時点を細かく検出できるので、精度良く帯域を計測できる。一方で、計測パケット数Ｎが多すぎると、計測処理の遅延等が生じるおそれがある。送信装置は、計測処理の遅延等の問題が生じる可能性が低い計測パケット数Ｎの上限値を、あらかじめＨＤＤ１３に記憶している。計測パケット数Ｎが上限値より小さいと判断された場合には（Ｓ２８：ＮＯ）、その時点で設定されている送信条件が記憶される（Ｓ２９）。帯域の計測精度を上げるために、探索範囲およびパケットサイズＰｓが固定されたまま、計測パケット数Ｎが上限値を限度に増加されて（Ｓ３０）、処理はＳ２５へ戻る。本実施の形態では、計測パケット数Ｎは「１」ずつ増加されるため、上限値を超えることはない。しかし、増加させる計測パケット数Ｎの値は変更できる。計測パケット数Ｎの値が上限値を超えなければ、一度に「２」以上の値を増加させてもよい。
【００５０】
なお、探索範囲を変更せずに計測パケット数Ｎを増加させると、「受信間隔−送信間隔」の変化時点は細かく検出できるが、送信間隔差は短くなる。よって、計測パケット数Ｎを増加させすぎると、最小の送信間隔差がばらつき以下となる場合がある（Ｓ２７：ＮＯ）。この場合、最小の送信間隔差がばらつきよりも大きくなる送信条件（以下、「処理時間条件を満たす送信条件」と言う。）が既に設定・記憶されているか否かが判断される（Ｓ３２）。処理時間条件を満たす送信条件がＳ２９で記憶されていれば（Ｓ３２：ＹＥＳ）、最後に記憶された最新の送信条件が、実際に使用する送信条件として決定されて（Ｓ３３）、処理は送信メイン処理に戻る。また、計測パケット数Ｎが上限値に達した場合には（Ｓ２８：ＹＥＳ）、その時点で設定されている送信条件は変更されずに、処理は送信メイン処理に戻る。なお、処理がメイン処理に戻る際、Ｓ２８で記憶された送信条件は全て消去される。
【００５１】
設定された送信条件が処理時間条件を満たさず（Ｓ２７：ＮＯ）、それ以前にも処理時間条件を満たす送信条件が設定されていなければ（Ｓ３２：ＮＯ）、計測パケット数Ｎが下限値以下であるか否かが判断される（Ｓ３５）。計測パケット数Ｎを減少させすぎると、送信間隔差は長くなるが、「受信間隔−送信間隔」の変化時点を細かく検出することができず、計測精度は大きく低下する。送信装置は、帯域の計測精度が低下するおそれの低い計測パケット数Ｎの下限値を、あらかじめＨＤＤ１３に記憶している。計測パケット数Ｎが下限値よりも大きい場合には（Ｓ３５：ＮＯ）、探索範囲およびパケットサイズＰｓが固定されたまま、計測パケット数Ｎが減少されて（Ｓ３６）、処理はＳ２５に戻る。本実施の形態では、計測パケット数Ｎは「１」ずつ減少される。しかし、計測パケット数Ｎの値が下限値を超えなければ、一度に「２」以上の値を減少させてもよい。
【００５２】
なお、２回目以降の送信条件決定処理では、探索範囲は過去の帯域の計測結果から統計的な手法で設定される。統計的な手法で探索範囲を設定することで、効率良く、且つ精度良く帯域を計測することができる。従って、既に設定されている探索範囲を固定したまま、計測パケット数Ｎを減少、またはパケットサイズＰｓを増加させることで、送信間隔差を長くすることが望ましい。また、パケットサイズＰｓを変更すると、通信装置１の処理負担が増大する。従って、パケットサイズＰｓを固定して計測パケット数Ｎを変更することが、さらに望ましい。
【００５３】
計測パケット数Ｎが下限値以下であれば、送信間隔差が処理時間条件を満たすように、探索範囲が強制的に再設定される（Ｓ３７）。以下、探索範囲を強制的に再設定する処理について説明する。まず、取得されたばらつきよりも僅かに大きい最小の送信間隔差Ｔが決定される。Ｓ２２またはＳ２３で設定されていた探索範囲の中央値Ｂが割り出される。再設定される新たな探索範囲のうち最大の探索帯域値をＫｍとし、新たな探索範囲の上限値と下限値との間の幅をＲとすると、以下の式（３）が成立する。
Ｋｍ＝Ｂ＋Ｒ／２・・・・・（３）
また、本実施の形態では、探索範囲を（Ｎ−１）で等分して各探索帯域値Ｋｉを割り出す。従って、２番目に大きい探索帯域値Ｋｓと最大の探索帯域値Ｋｍとの差Ｌは、以下で求められる。
Ｌ＝Ｒ／（Ｎ−１）・・・・・（４）
よって、２番目に大きい探索帯域値Ｋｓは、以下の式（５）で表される。
Ｋｓ＝Ｋｍ−Ｌ＝Ｂ＋Ｒ／２−Ｒ／（Ｎ−１）・・・・・（５）
本実施の形態で採用される帯域計測方式では、最大の探索帯域値Ｋｍを探索するための送信間隔と、２番目に大きい探索帯域値Ｋｓを探索するための送信間隔との差が、最小の送信間隔差となる。最小の送信間隔差がＴとなれば、処理時間条件を満たすこととなる。送信間隔は、前述した式（２）で求められるため、以下の式（６）が成立すれば処理時間条件を満たすこととなる。
Ｔ＝Ｐｓ／Ｋｓ−Ｐｓ／Ｋｍ・・・・・（６）
式（３）（５）（６）を解いてＲの値を求めることで、新たな探索範囲を再設定することができる。なお、本実施の形態では、新たな探索範囲が再設定される場合、既に設定されている最新の計測パケット数ＮおよびパケットサイズＰｓがそのまま用いられる。
【００５４】
新たな探索範囲が再設定されると、Ｓ２５の処理と同様に、新たな探索範囲が（Ｎ−１）で等分される（Ｓ３８）。Ｓ２６の処理と同様に、式（２）によって送信間隔が算出される（Ｓ３９）。ここで算出された送信間隔における最小の送信間隔差はＴとなり、処理時間条件を満たす。算出された送信間隔が送信条件の１つとして決定されて、処理は送信メイン処理に戻る。図２に示すように、送信条件決定処理が終了すると、計測パケット数Ｎが受信端末に通知されて（Ｓ４）、送信処理が行われる（Ｓ５）。
【００５５】
図５を参照して、送信処理について詳細に説明する。送信処理では、まず、決定されたパケットサイズＰｓの計測パケットが生成される（Ｓ４１）。計測パケットには、画像データ等と、パケット番号の情報と、前回送信された計測パケットとの間の送信間隔を示す時間情報とが含まれる。パケット番号は、計測ストリーム中の各計測パケットの順番を示す番号であり、通し番号等が用いられる。次いで、決定されている送信間隔だけ待機される（Ｓ４２）。
【００５６】
待機時間が経過すると、生成された計測パケットが受信端末に送信される（Ｓ４３）。計測ストリーム中のＮ個の計測パケットが全て送信されたか否かが判断され（Ｓ４４）、送信されていなければ（Ｓ４４：ＮＯ）、Ｓ４１〜Ｓ４３の処理が繰り返し行われる。Ｎ個の計測パケットが送信された場合（Ｓ４４：ＹＥＳ）、処理は送信メイン処理へ戻る。以上で、１回の計測ストリームの送信処理が終了する。
【００５７】
次に、図６から図９を参照して、受信メイン処理について説明する。受信メイン処理は、計測パケットを受信して帯域を計測する受信装置として通信装置１が動作する場合に実行される。受信メイン処理は、送信装置との間でデータを送受信する指示が入力されると、ＨＤＤ１３に記憶されているプログラムに従って、受信装置のＣＰＵ１０によって実行される。
【００５８】
図６に示すように、受信メイン処理が開始されると、帯域を計測するためのパケットの受信を終了させる指示があったか否かが判断される（Ｓ５１）。終了指示がなければ（Ｓ５１：ＮＯ）、計測パケット数Ｎを示すデータが送信装置から受信されて、計測パケット数Ｎが認識される（Ｓ５２）。受信処理において、送信端末から送信された計測パケットが受信される（Ｓ５３）。帯域計測処理において、送信端末との間で使用できる帯域が計測される（Ｓ５４）。帯域の計測結果が送信端末に送信されて（Ｓ５５）、処理はＳ５１の判断へ戻る。パケット受信の終了指示が行われるまで（Ｓ５１：ＮＯ）、Ｓ５２〜Ｓ５５の処理が繰り返し行われる。終了指示が行われると（Ｓ５１：ＹＥＳ）、受信メイン処理は終了する。
【００５９】
図７および図８を参照して、受信処理について詳細に説明する。受信処理では、まず、送信端末から送信された計測パケットの１つが受信される（Ｓ６１）。計測パケットが受信されると、その時点の時刻が受信時刻として取得される（Ｓ６２）。前回の計測パケットの受信時刻との間の時間間隔である受信間隔が算出される（Ｓ６３）。受信された計測パケットに含まれるデータから、パケット番号および送信間隔が抽出される（Ｓ６４）。抽出された送信間隔と算出された受信間隔とが、パケット番号に対応付けられて、受信装置のＲＡＭ１２のパケット情報記憶エリア（図８参照）に順に記憶される（Ｓ６５）。計測ストリーム中のＮ個の計測パケットが全て受信されたか否かが判断される（Ｓ６６）。受信を完了していなければ（Ｓ６６：ＮＯ）、Ｓ６１〜Ｓ６５の処理が繰り返し行われる。Ｎ個の計測パケットの受信が完了した場合（Ｓ６６：ＹＥＳ）、処理は受信メイン処理（図６参照）に戻り、帯域計測処理（Ｓ５４）が行われる。
【００６０】
図９を参照して、帯域計測処理について詳細に説明する。帯域計測処理が開始されると、パケット情報記憶エリア（図８参照）に記憶された受信間隔と送信間隔との差分が、パケット番号毎に算出される（Ｓ７１）。線形回帰法によって、「受信間隔−送信間隔」の差分の値が変化し始める時点が検出される（Ｓ７２）。変化時点が検出された場合には（Ｓ７３：ＹＥＳ）、変化時点の探索帯域値Ｋｉが、送信装置との間で使用できる帯域と判定されて（Ｓ７４）、処理は受信メイン処理に戻る。「受信間隔−送信間隔」の差分の変化時点が検出されなかった場合（Ｓ７３：ＮＯ）、探索範囲中の全範囲で差分が概ね「０」であったか否かが判断される（Ｓ７５）。差分が概ね「０」であれば（Ｓ７５：ＹＥＳ）、使用可能帯域は探索範囲を上回ると判定され（Ｓ７６）、探索範囲の上限値が暫定的な計測結果とされて、処理は受信メイン処理に戻る。探索範囲中の全範囲で、「受信間隔−送信間隔」の差分が正の値をとっていれば（Ｓ７５：ＮＯ）、使用可能帯域は探索範囲を下回ると判定される（Ｓ７７）。この場合、探索範囲の下限値が暫定的な計測結果とされて、処理は受信メイン処理に戻る。受信メイン処理（図６参照）では、計測された帯域が送信装置に通知されて（Ｓ５５）、１回の計測ストリームを受信する処理が完了する。
【００６１】
以上説明したように、本実施の形態に係る通信装置１は、計測パケットの送信処理に要する処理時間のばらつきに基づいて、計測パケットの送信条件を決定する。具体的に、通信装置１は、複数の送信条件のうち、少なくとも計測パケットの送信処理を行う間隔である送信間隔を、ばらつきに基づいて決定する。その結果、通信装置１は、処理時間のばらつきが帯域の計測結果に与える影響を小さくすることができる。よって、通信装置１は、帯域を精度良く計測できるように計測パケットを送信することができる。詳細には、通信装置１は、送信間隔差が処理時間のばらつきよりも大きくなるように送信間隔を決定する。従って、通信装置１は、「受信間隔−送信間隔」の差分の変化時点を精度良く検出できるように、複数の計測パケットを送信することができる。
【００６２】
通信装置１は、送信間隔差の少なくとも一部がばらつき以下であれば、探索範囲、計測パケット数Ｎ、およびパケットサイズＰｓの少なくとも１つを変更する。その結果、通信装置１は、送信間隔差がばらつきよりも大きくなる送信条件を的確に決定することができる。特に、本実施の形態の通信装置１は、送信間隔差の一部がばらつき以下であれば、探索範囲およびパケットサイズＰｓを固定したまま計測パケット数Ｎを減少させて、送信間隔差を長くする。探索範囲は、帯域を効率よく計測できるように、統計的な手法で設定されている。さらに、探索範囲を広げると帯域の計測精度は低下する。よって、探索範囲を変更することは望ましくない。また、パケットサイズＰｓを変更すると、通信装置１の処理負担が増大する。通信装置１は、計測パケット数Ｎのみを減少させることで、効率良く送信間隔差を長くすることができる。
【００６３】
但し、計測パケット数Ｎを減少させすぎると、「受信間隔−送信間隔」の変化時点の検出精度が大きく低下する。従って、通信装置１は、計測パケット数Ｎが下限値以下であれば、最小の送信間隔差がばらつきよりも僅かに大きくなるように探索範囲を再設定する。その結果、通信装置１は、計測パケット数Ｎの減少による計測精度の大幅な低下を防止しつつ、適切な送信条件を決定することができる。一方、通信装置１は、計測パケット数Ｎが下限値よりも大きければ、計測パケット数Ｎを減少させることで、探索範囲を変更することによる計測精度の大幅な低下を防止しつつ、適切な送信条件を決定することができる。
【００６４】
計測パケット数Ｎが多いほうが、帯域の計測精度は高い。しかし、計測パケット数Ｎを増加させすぎると、帯域の計測に要する処理負担が増大する。通信装置１は、処理負担が増大しすぎない範囲内で計測パケット数Ｎを増加させることで、計測精度を向上させることができる。
【００６５】
通信装置１は、パケットの送信処理に要する処理時間の標準偏差をばらつきとして用いることで、効率良く的確に送信条件を決定することができる。通信装置１は、生成したパケットを自らに送信して受信するまでに要した時間から処理時間を取得し、標準偏差を算出する。その結果、処理時間および標準偏差を的確に取得することができる。
【００６６】
通信装置１は、送信装置および受信装置のいずれとしても機能することができる。従って、通信装置１は、他の装置と通信を行う場合、相手側の装置が送信装置および受信装置のいずれかの機能しか有さない場合でも、容易に帯域を計測することができる。通信装置１は、受信装置として機能する場合、計測パケットに含まれる情報と受信間隔とを用いて、帯域を自ら計測することができる。受信装置は、計測結果のみを送信装置に通知すればよいため、送信装置との間で送受信されるデータの量を過度に増大させることなく、計測結果を送信装置との間で共有することができる。
【００６７】
上記実施の形態において、図３のＳ１２および図５のＳ４１でパケットを生成するＣＰＵ１０が「生成手段」として機能する。図３に示すばらつき取得処理を行うＣＰＵ１０が「ばらつき取得手段」として機能する。図４に示す送信条件決定処理を行うＣＰＵ１０が「送信条件決定手段」として機能する。図５に示す送信処理を行うＣＰＵ１０が「送信手段」として機能する。図４のＳ２５，Ｓ２６，Ｓ３８，Ｓ３９で送信間隔を算出するＣＰＵ１０が「第一算出手段」として機能する。図４のＳ２７で最小の送信間隔差がばらつきよりも大きいか否かを判断するＣＰＵ１０が「第一判断手段」として機能する。図４のＳ３６およびＳ３７で探索範囲、計測パケット数Ｎ、およびパケットサイズＰｓの少なくともいずれかを変更するＣＰＵ１０が「変更手段」として機能する。
【００６８】
本実施の形態の下限値が本発明の「第一閾値」に相当し、上限値が「第二閾値」に相当する。図４のＳ３５で計測パケット数Ｎが下限値以下であるか否かを判断するＣＰＵ１０が「第二判断手段」として機能する。図４のＳ２８で計測パケット数Ｎが上限値以上であるか否かを判断するＣＰＵ１０が「第三判断手段」として機能する。図４のＳ３０で計測パケット数Ｎを増加させるＣＰＵ１０が「増加手段」として機能する。図３のＳ１１〜Ｓ１７で処理時間を取得するＣＰＵ１０が「処理時間取得手段」として機能する。
【００６９】
図７のＳ６１で計測パケットを受信するＣＰＵ１０が「受信手段」として機能する。図７のＳ６２，Ｓ６３で受信間隔を取得するＣＰＵ１０が「受信間隔取得手段」として機能する。図７のＳ６４で送信間隔を取得するＣＰＵ１０が「送信間隔取得手段」として機能する。図９のＳ７１で「受信間隔−送信間隔」の差分を算出するＣＰＵ１０が「第二算出手段」として機能する。図９のＳ７２〜Ｓ７７で帯域を計測するＣＰＵ１０が「計測手段」として機能する。
【００７０】
図３のＳ１２および図５のＳ４１でパケットを生成する処理が「生成ステップ」に相当する。図３に示すばらつき取得処理が「ばらつき取得ステップ」に相当する。図４に示す送信条件決定処理が「送信条件決定ステップ」に相当する。図５に示す送信処理が「送信ステップ」に相当する。
【００７１】
本発明は上記実施の形態に限定されることはなく、様々な変形が可能であることは言うまでもない。例えば、パケットの送信処理に要する処理時間のばらつきは、上記実施の形態で説明した方法と異なる方法で取得することも可能である。図１０を参照して、送信装置の処理条件をテーブルに当てはめてばらつきを取得する変形例について説明する。変形例に係る送信装置は、図１０に示すばらつき決定テーブルをＨＤＤ１３に記憶している。ばらつき決定テーブルでは、ＯＳの種類と、ＣＰＵクロックと、ＣＰＵ使用率と、ばらつきの値とが複数対応付けられている。この場合のばらつきの値は、対応させる処理条件で実際に通信装置を動作させることで割り出せばよい。送信装置は、ばらつき取得処理（Ｓ２、図２参照）において、まず、自らのＯＳの種類、ＣＰＵクロック、およびその時点でのＣＰＵ使用率を、自らの処理条件として取得する。ばらつき決定テーブルを参照し、取得した処理条件に対応付けられているばらつきを、現在の送信装置のばらつきとして取得する。この場合、送信装置は、ばらつき決定テーブルの情報を参照するだけで容易にばらつきを取得することができる。
【００７２】
なお、上記変形例の通信装置１におけるＨＤＤ１３が「記憶手段」に相当する。図２のＳ２でばらつき決定テーブルの情報を取得するＣＰＵ１０が「情報取得手段」として機能する。また、上記変形例において、送信装置の処理条件として用いる情報は変更できる。例えば、上記の３つの条件（ＯＳの種類等）のうちの１つまたは２つを処理条件として用いてもよいし、他の条件を処理条件として用いても良い。
【００７３】
本発明は他の変形も可能である。例えば、上記実施の形態の通信装置１は、主に計測パケット数Ｎを減少させることで送信間隔差を長くする。しかし、パケットサイズＰｓを増大させることで送信間隔差を長くすることも可能である。具体的には、図４に示す送信条件決定処理において、処理時間条件を満たす送信条件が設定されていなければ（Ｓ２７：ＮＯ、Ｓ３２：ＮＯ）、探索範囲および計測パケット数Ｎを固定したままパケットサイズＰｓを増加させればよい。この場合、計測パケット数Ｎを変更することによる計測精度の低下を考慮することなく、送信間隔差を長くすることができる。また、探索範囲、計測パケット数Ｎ、およびパケットサイズＰｓの２つ以上を変更してもよいことは言うまでもない。
【００７４】
上記実施の形態では、受信装置と送信装置との間の使用可能帯域が計測される。しかし、送信装置がネットワーク８に送信した計測パケットを自ら受信する場合でも、本発明は適用できる。ダミーパケットを送信することで、他の通信装置が利用している帯域を計測する手法にも、本発明は適用できる。また、計測する帯域の値が大きい場合に、計測パケットをバースト送信する場合もあるが、この場合にも本発明は適用できる。バースト送信を行う場合には、バースト中以外の計測パケットの送信間隔を、本発明によって決定すればよい。さらに、本発明における「帯域の計測」には、通信に適した帯域が確保されているか否かを判断することも含む。「通信に適した帯域」とは、パケットの送信時間の遅延が許容範囲に収まる帯域の値である。「通信に適した帯域」は、好ましくは送信時間の遅延が生じない使用可能帯域以下の値となる。しかし、使用可能帯域よりも大きい値であっても、送信時間の遅延を許容できる一定の値を「通信に適した帯域」としてもよい。
【００７５】
上記実施の形態では、受信装置が帯域を計測し、計測結果のみを送信装置に通知している。しかし、送信装置、および他のサーバ等が帯域を計測することも可能である。例えば、送信装置が帯域を計測する場合、受信装置は受信間隔と送信間隔とを算出し、算出した受信間隔および送信間隔を送信装置に通知する。送信装置は、受信装置から通知された受信間隔および送信間隔を用いて「受信間隔−送信間隔」の差分の変化時点を検出し、帯域を計測すればよい。但し、受信装置と送信装置との間で送受信されるデータの量は、受信装置から送信装置に計測結果のみを通知する場合に比べて多くなる。
【００７６】
上記実施の形態では、帯域の探索範囲を等分して複数の探索帯域値Ｋｉが算出され、送信間隔が算出される。しかし、送信間隔の算出方法はこれに限られない。例えば、送信間隔差が一定となるように探索範囲を分割し、送信間隔を算出することも可能である。つまり、本発明が適用できる帯域計測方式は、受信間隔と送信間隔とに基づいて帯域を計測する方式であればよい。また、計測パケット数Ｎが下限値以下となった場合、探索範囲を強制的に再設定する処理（Ｓ３７〜Ｓ３９）を行わずに本発明を実現することも可能である。
【００７７】
上記実施の形態では、計測パケットの送信処理に要する処理時間のばらつきとして、複数の処理時間の標準偏差が用いられている。しかし、ばらつきとして用いることができるのは標準偏差に限られない。例えば、処理時間の最大値と最小値との差をばらつきとして用いることも可能である。複数の処理時間から、他の統計的な手法を用いてばらつきを算出してもよい。処理時間の平均値を算出し、平均値と最大値との差、および平均値と最小値との差の大きい方をばらつきとして用いても良い。最大値と最小値との差に任意のｎ（０＜ｎ＜１、例えば、ｎ＝０．５）を掛けた値をばらつきとして用いてもよい。また、上記実施の形態では、本発明における「通信プログラム」は通信装置１のＨＤＤ１３に記憶されているが、ＣＤＲＯＭ等の他の記憶媒体に記憶されていてもよいことは言うまでもない。
【００７８】
計測パケットを送信する際の処理を変更することで、処理時間のうち、計測パケットの生成に要する処理時間のばらつきの影響を補正することも可能である。具体的には、図５に示す送信処理において、ＣＰＵ１０は、Ｓ４１の処理を開始して終了するまでの生成処理時間を算出する。ＣＰＵ１０は、Ｓ４３において、待機すべき送信間隔から生成処理時間を引いた時間だけ待機してから、計測パケットを送信する。この場合、図３に示すばらつき取得処理では、Ｓ１１とＳ１２とを入れ替えて、生成されたパケットの送信に必要な処理時間のばらつきのみを取得すればよい。以上のように、計測パケットの生成に要した処理時間を補正することで、処理時間のばらつきが計測結果に与える影響を低下させることができる。
【符号の説明】
【００７９】
１    通信装置
８    ネットワーク
１０    ＣＰＵ
１３    ＨＤＤ
１００    帯域計測システム
【図１】
0005392113.tif 000002
【図２】
0005392113.tif 000003
【図３】
0005392113.tif 000004
【図４】
0005392113.tif 000005
【図５】
0005392113.tif 000006
【図６】
0005392113.tif 000007
【図７】
0005392113.tif 000008
【図８】
0005392113.tif 000009
【図９】
0005392113.tif 000010
【図１０】
0005392113.tif 000011