JP5136586B2 - 通信装置、通信方法、および通信プログラム - Google Patents

通信装置、通信方法、および通信プログラム Download PDF

Info

Publication number
JP5136586B2
JP5136586B2 JP2010079980A JP2010079980A JP5136586B2 JP 5136586 B2 JP5136586 B2 JP 5136586B2 JP 2010079980 A JP2010079980 A JP 2010079980A JP 2010079980 A JP2010079980 A JP 2010079980A JP 5136586 B2 JP5136586 B2 JP 5136586B2
Authority
JP
Japan
Prior art keywords
transmission
search range
range
bandwidth
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010079980A
Other languages
English (en)
Other versions
JP2011211665A (ja
Inventor
勝博 天野
剛 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010079980A priority Critical patent/JP5136586B2/ja
Priority to PCT/JP2011/056920 priority patent/WO2011125496A1/ja
Publication of JP2011211665A publication Critical patent/JP2011211665A/ja
Priority to US13/615,743 priority patent/US9148356B2/en
Application granted granted Critical
Publication of JP5136586B2 publication Critical patent/JP5136586B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、ネットワークを介してデータ通信を行う場合に、帯域を計測できるようにデータ通信を行う通信装置、通信方法、および通信プログラムに関する。
インターネット等のネットワークを介して通信装置がデータを送受信する場合、通信装置は、帯域(帯域幅:Available Bandwidth)に適した伝送速度でデータを送受信する必要がある。ネットワーク上で通信装置が単位時間当たりに伝送できるデータ容量である帯域(単位:bps)は、地域、プロバイダ、時間帯等の状況によって変動する。従って、データを送信する通信装置は、変動する帯域に合わせて、ネットワーク上に単位時間当たりに伝送するデータ容量(単位:bps)を制御することが望ましい。データの伝送速度が帯域以下であれば、データの輻輳、パケットロス等の問題が生じる可能性は低い。
非特許文献1は、音声データ等のメディアデータの送受信を行いながら、変動する帯域を計測するための計測方式を開示している。非特許文献1が開示している計測方式では、まず、送信側の通信装置は、帯域の計測対象範囲である探索範囲を設定する。設定した探索範囲内の帯域を計測するための、複数のパケットの送信条件を設定する。次いで、送信側の通信装置は、受信側の通信装置にパケットの送信間隔を算出させるための時間情報を含んだ複数のパケットを、送信間隔を変更しながら連続して送信する。受信側の通信装置は、パケットの受信間隔を記録する。その後、パケット内の時間情報によって算出されるパケットの送信間隔と、受信側の通信装置で記録された受信間隔との差分が算出される。算出された複数の差分の値の変化傾向から、現在の帯域が計測される。1回の帯域の計測が終了すると、過去の計測結果に基づいて次の帯域の探索範囲が設定され、次の計測処理が行われる。
津川知朗、CaoLe Thanh Man、長谷川剛、村田正幸、「インラインネットワーク計測手法ImTCPおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告(IN2005−120)、p.79−84、2005年12月
非特許文献1が開示している計測方式では、通信装置が利用する帯域(以下、「利用帯域」という。)の大きさに関わらず、ネットワーク上でデータを通信できる帯域(以下、「可用帯域」という。)が計測される。従って、従来の計測方式では、例えば可用帯域に比べて利用帯域が小さく、利用帯域が可用帯域を上回る可能性がない場合でも、可用帯域を計測するために、データの伝送速度が大きくされる。その結果、通信装置およびネットワークに不要な負荷がかかるという問題点があった。
本発明は、通信装置およびネットワークに不要な負荷をかけることなく、送信するデータに応じて効率よく帯域を計測できるようにデータを通信することができる通信装置、通信方法、および通信プログラムを提供することを目的とする。
本発明の第一の態様に係る通信装置は、連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置であって、パケット化して送信するデータである送信データについての情報を参照することで、前記送信データの種別を取得する種別取得手段と、前記種別取得手段によって取得された前記送信データの種別に応じて、前記複数のパケットによる帯域の計測対象範囲である探索範囲を制限する範囲制限手段と、前記範囲制限手段による制限に従って前記探索範囲を設定する範囲設定手段と、前記範囲設定手段によって設定された前記探索範囲内で帯域を計測するための前記複数のパケットを生成して送信するパケット処理手段とを備えている。
第一の態様に係る通信装置は、送信データの種別に基づいて、帯域の計測対象範囲である探索範囲を制限する。従って、通信装置は、送信データの種別に応じた適切な探索範囲を設定することができる。可用帯域の計測が不要な場合には、可用帯域が無駄に計測される可能性が低下する。その結果、通信装置は、通信装置自身およびネットワークに不要な負荷をかけることなく、送信データに応じて帯域の計測を適切に実行できるように、データを通信することができる。
前記範囲制限手段は、前記送信データについて、前記種別取得手段によって取得された種別毎に、通信装置が前記種別の送信データを送信するために利用する可能性のある最大の帯域を取得し、取得した種別毎の帯域の和を算出することで、前記送信データを送信するために利用される最大の帯域である最大利用帯域を算出する最大値算出手段と、前記最大値算出手段によって算出された前記最大利用帯域を前記探索範囲の中心が位置する上限の値に設定することで、前記探索範囲を制限する、または、前記最大利用帯域を、前記探索範囲中の最大値が位置する上限の値に設定することで、前記探索範囲を制限する第一上限設定手段を備えてもよい。通信装置は、探索範囲の中心または最大値を、送信データを送信するために利用する最大利用帯域以下とすることで、計測する必要のない可用帯域が無駄に計測される可能性を低下させることができる。従って、通信装置は、送信データに適した帯域の計測を実行できるようにデータを通信することができる。
前記範囲制限手段は、前記送信データについて、前記種別取得手段によって取得された種別毎に、利用される帯域の平均値を取得し、取得した種別毎の平均値の和を算出することで、前記送信データを送信するために利用される帯域の平均値である平均利用帯域を算出する平均算出手段と、前記送信データについて、前記種別取得手段によって取得された種別毎に、利用される帯域の分散を取得し、取得した種別毎の分散の和を算出することで、前記送信データを送信するために利用される帯域の分散を算出する分散算出手段と、前記分散算出手段によって算出された分散の平方根である標準偏差、または前記分散にN(N>0)をかけた値と、前記平均算出手段によって算出された前記平均利用帯域との和を前記探索範囲の基準値として算出する基準値算出手段と、前記基準値算出手段によって算出された前記基準値を、前記探索範囲の中心が位置する上限の値に設定することで、前記探索範囲を制限する、または、前記基準値を前記探索範囲中の最大値が位置する上限の値に設定することで、前記探索範囲を制限する第二上限設定手段を備えてもよい。通信装置は、利用帯域の平均および分散を用いて探索範囲を制限することで、計測する必要のない可用帯域が無駄に計測される可能性を、統計的手法を用いて効果的に低下させることができる。利用帯域が可用帯域よりも大きくなる可能性が無視できる程度に、利用帯域が可用帯域よりも小さければ、可用帯域が無駄に計測される可能性は低くなる。通信装置は、利用帯域が可用帯域に収まっていることを容易に把握することができる。
前記通信装置は、前回送信された前記複数のパケットによって計測された帯域の値である最新計測結果を取得する結果取得手段と、前記結果取得手段によって取得された前記最新計測結果が、前記範囲制限手段によって設定されている前記上限の値よりも大きいか否かを判断する結果判断手段とをさらに備えてもよい。前記範囲設定手段は、前記結果判断手段によって前記最新計測結果が前記上限の値よりも大きいと判断された場合に、前記範囲制限手段によって設定されている前記上限の値を前記探索範囲の中心の値として前記探索範囲を設定するとよい。通信装置は、設定した上限の値よりも最新計測結果が大きければ、設定した上限の値を探索範囲の中心の値とすることで、計測する必要のない可用帯域を不要に測定することを容易に防止することができる。
前記通信装置は、前記送信データの種別が変更されたか否かを判断する変更判断手段をさらに備えてもよい。前記範囲制限手段は、前記変更判断手段によって前記送信データの種別が変更されたと判断される毎に前記上限の値を設定するとよい。通信装置は、送信データの種別が変更される毎に、変更された送信データの種別に応じて適切に探索範囲を制限することができる。
前記パケット処理手段は、前記範囲設定手段によって設定された探索範囲内で帯域を計測するための、前記複数のパケットの前記送信間隔と、前記複数のパケットを構成するパケット数と、前記複数のパケットを構成する各パケットのパケットサイズとを設定する送信条件設定手段と、前記送信条件設定手段によって設定されたパケットサイズで前記送信データをパケット化し、且つ前記送信間隔を割り出すための時間情報を各パケットに含めることで、前記送信条件設定手段によって設定されたパケット数の前記複数のパケットを生成する生成手段と、前記生成手段によって生成された前記複数のパケットを、前記送信条件設定手段によって設定された前記送信間隔で順次送信する送信手段とを備えてもよい。通信装置は、設定した探索範囲内で帯域を計測するための送信間隔、パケット数、およびパケットサイズを設定する。設定した条件に応じてパケットを生成し、送信する。その結果、通信装置は、設定した探索範囲内の帯域を的確に計測することができる。
本発明の第二の態様に係る通信方法は、連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置によって行われる通信方法であって、パケット化して送信するデータである送信データについての情報を参照することで、前記送信データの種別を取得する種別取得ステップと、前記種別取得ステップによって取得された前記送信データの種別に応じて、前記複数のパケットによる帯域の計測対象範囲である探索範囲を制限する範囲制限ステップと、前記範囲制限ステップによる制限に従って前記探索範囲を設定する範囲設定ステップと、前記範囲設定ステップによって設定された前記探索範囲内で帯域を計測するための前記複数のパケットを生成して送信するパケット処理ステップとを備えている。
第二の態様に係る通信方法によると、送信データの種別に基づいて、帯域の計測対象範囲である探索範囲が制限される。従って、通信装置は、送信データの種別に応じた適切な探索範囲を設定することができる。可用帯域の計測が不要な場合には、可用帯域が無駄に計測される可能性が低下する。その結果、通信装置は、通信装置自身およびネットワークに不要な負荷をかけることなく、送信データに応じて帯域の計測を適切に実行できるように、データを通信することができる。
本発明の第三の態様に係る通信プログラムは、連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置の動作を制御する通信プログラムであって、コンピュータに、パケット化して送信するデータである送信データについての情報を参照することで、前記送信データの種別を取得する種別取得ステップと、前記種別取得ステップによって取得された前記送信データの種別に応じて、前記複数のパケットによる帯域の計測対象範囲である探索範囲を制限する範囲制限ステップと、前記範囲制限ステップによる制限に従って前記探索範囲を設定する範囲設定ステップと、前記範囲設定ステップによって設定された前記探索範囲内で帯域を計測するための前記複数のパケットを生成して送信するパケット処理ステップとを実行させることを特徴とする。
第三の態様に係る通信プログラムによると、送信データの種別に基づいて、帯域の計測対象範囲である探索範囲が制限される。従って、通信装置は、送信データの種別に応じた適切な探索範囲を設定することができる。可用帯域の計測が不要な場合には、可用帯域が無駄に計測される可能性が低下する。その結果、通信装置は、通信装置自身およびネットワークに不要な負荷をかけることなく、送信データに応じて帯域の計測を適切に実行できるように、データを通信することができる。
通信装置1の電気的構成、および帯域計測システム100の構成を示す図である。 HDD13に記憶されている送信データテーブルのデータ構成を示す模式図である。 通信装置1が送信装置として動作する場合に実行する送信メイン処理のフローチャートである。 送信メイン処理中に実行されるネゴシエーション処理のフローチャートである。 通信装置1が送信装置として動作する場合に実行するパケット送信処理のフローチャートである。 パケット送信処理中に実行される送信条件設定処理のフローチャートである。 通信装置1が受信装置として動作する場合に実行するパケット受信処理のフローチャートである。 可用帯域、利用帯域、および送信装置が設定する探索範囲の関係の一例を示す図である。 変形例に係る送信装置が実行する送信条件設定処理のフローチャートである。
以下、本発明の通信装置を具現化した一実施の形態である通信装置1、および複数の通信装置1を備えた帯域計測システム100について、図面を参照して説明する。参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
帯域計測システム100について説明する。図1に示すように、帯域計測システム100は、少なくとも2つの通信装置1を備える。通信装置1は、ネットワーク8を介して他の通信装置1と接続する。通信装置1は、他の通信装置1との間で各種データの通信を行う。
本実施の形態の帯域計測システム100は、複数の拠点のユーザがテレビ会議を行うためのテレビ会議システムである。各通信装置1は、音声データおよび動画データを互いに送受信することで、複数の拠点の音声および映像を共有し、テレビ会議を実現する。さらに、各通信装置1は、文書等の資料のデータをテレビ会議中に送受信することもできる。ユーザは、他のユーザと同じ資料を見ながらテレビ会議を進行させることができる。通信装置1は、ネットワーク8を介したデータ通信を実行できるものであればよい。具体的には、通信装置1は、テレビ会議を実行するために各拠点に配置される専用のテレビ会議端末であってもよいし、種々の情報処理を行うパーソナルコンピュータであってもよい。
帯域計測システム100では、各通信装置1は、音声データおよび動画データ等をパケット化して送受信しつつ、可用帯域の計測、および利用帯域が確保されているか否かの判定(以下、これらをまとめて「帯域の計測」という。)を行うことができる。「可用帯域」とは、送信側の通信装置1が送信するデータの伝送速度とほぼ等しい伝送速度で受信側の通信装置1がデータを受信できる最大の伝送速度をいう。「利用帯域」とは、送信側の通信装置1がデータを送信するために利用する帯域である。帯域と、各通信装置1間の伝送速度とを比較するため、帯域を伝送路容量(bps)で表す。可用帯域を越える伝送速度でパケットが送信されると、パケットロス、輻輳による送信遅延等が生じる。一方、通信装置1がデータの伝送速度を低くしすぎると、帯域を十分に活用することができず、効率が悪い。従って、各通信装置1は、計測された帯域に合わせてデータの伝送速度を制御する。
通信装置1の電気的構成について説明する。図1に示すように、通信装置1は、通信装置1の制御を司るCPU10を備えている。CPU10には、ROM11、RAM12、ハードディスクドライブ(以下、「HDD」という。)13、および入出力インターフェース19が、バス18を介して接続されている。
ROM11は、通信装置1を動作させるためのプログラムおよび初期値等を記憶している。RAM12は、制御プログラムで使用される各種の情報を一時的に記憶する。HDD13は、後述する送信データテーブル(図2参照)、および制御プログラム等の各種の情報を記憶する不揮発性の記憶装置である。HDD13の代わりに、EEPROMまたはメモリカード等の記憶装置を用いてもよい。
入出力インターフェース19には、音声入力処理部21、音声出力処理部22、映像入力処理部23、映像出力処理部24、操作部25、および外部通信I/F26が接続されている。音声入力処理部21は、音声を入力するマイク31からの音声データの入力を処理する。音声出力処理部22は、音声を出力するスピーカ32の動作を処理する。映像入力処理部23は、映像を撮像するカメラ33からの動画データの入力を処理する。映像出力処理部24は、映像を表示する表示装置34の動作を処理する。操作部25は、ユーザが通信装置1に各種指示を入力するために用いられる。操作部25は、通信装置1の外部から、入出力インターフェース19へ接続されるものであってもよい。外部通信I/F26は、通信装置1をネットワーク8に接続する。
次に、本実施の形態の帯域計測システム100で用いられる帯域計測方式について、概略的に説明する。帯域計測システム100では、以下の文献に記載されている帯域計測方式が利用される。「津川知朗、CaoLe Thanh Man、長谷川剛、村田正幸、「インラインネットワーク計測手法ImTCPおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告(IN2005−120)、p.79−84、2005年12月」
計測原理について説明する。帯域計測システム100では、データを送信する通信装置1(以下、「送信装置」という。)は、送信するデータを複数のパケットにパケット化する。送信装置は、複数のパケットを連続して他の通信装置1(以下、「受信装置」という。)にネットワーク8を介して送信する。パケットを送信する際の伝送速度(単位:bps)が、送信装置と受信装置との間の可用帯域(単位:bps)以下であれば、パケットは渋滞(輻輳)しない。パケットが渋滞しなければ、送信装置によって送信された複数のパケットを受信装置が受信する間隔(受信間隔)は、理論的に、送信装置が複数のパケットを送信する間隔(送信間隔)と同一となる。一方、伝送速度が可用帯域よりも大きければ、パケットは渋滞し、受信間隔は送信間隔よりも長くなる。
帯域を計測する場合、送信装置は、送信間隔を徐々に長くしながら、または徐々に短くしながら、複数のパケットを送信する。あるパケットが送信された場合の伝送速度は、以下の式(1)で求められる。
伝送速度(bps)=パケットサイズ(bit)/前回のパケット送信時と今回のパケット送信時との時間間隔(s)・・・・・(1)
送信間隔を徐々に長くしながら複数のパケットを送信すると、伝送速度が可用帯域よりも大きい間は、受信間隔が送信間隔よりも長くなる。しかし、送信間隔が長くなり、伝送速度が可用帯域以下となれば、受信間隔と送信間隔とが同一となる。よって、「受信間隔−送信間隔」の値が変化する時点のデータの伝送速度を、可用帯域として計測することができる。
計測手順の概略について説明する。帯域計測システム100では、以下の手順で帯域が計測される。
1.帯域の探索範囲を設定する。
その時点の可用帯域を計測できると予想される探索範囲を限定することで、効率よく可用帯域を計測することができる。さらに、本実施の形態の通信装置1は、送信データの種別に応じて探索範囲を制限する点に特徴を有する。その結果、通信装置1は、可用帯域が利用帯域よりも著しく大きい場合および著しく小さい場合に、可用帯域が無駄に計測されることを防止できる。この詳細については後述する。
2.探索範囲を1または複数の小区間に分割する。
送信装置は、帯域を計測する際、分割した小区間毎に、複数のパケットからなるパケット群(以下、「ストリーム」という。)を送信する。ストリームは、小区間内に「受信間隔−送信間隔」の値の変化時点が存在するか否かを判断するために送信される。通信装置1は、分割する小区間の数を多くする程、一時的な異常に対する耐性が高い計測結果を得ることができ、「受信間隔−送信間隔」の値の変化時点を正確に検出できる。分割する小区間の数が少ない程、計測処理に要する時間が短くなるため、通信装置1は計測結果を素早く得ることができる。
3.探索範囲に対応するストリームを、送信装置と受信装置との間で送受信する。
通信装置1は、それぞれの小区間内で帯域を計測するためのストリームの送信条件を決定する。送信条件には、ストリームを構成するパケットの数(以下、「計測パケット数」という。)、各パケットのパケットサイズ、および、前回のパケット送信時から次のパケットを送信するまでの時間である送信間隔が含まれる。本実施の形態では、送信間隔は徐々に長くなるように決定されるため、探索範囲の上限値から下限値へ順に帯域が探索されることになる。次いで、送信装置は、決定した送信条件に従って複数のパケットを生成し、送信する。各パケットには、受信装置が送信間隔を算出するための時間情報が含まれる。
4.受信間隔と送信間隔との差分から帯域を計測する。
受信装置がパケットを実際に受信した時刻から、受信間隔が算出される。受信されたパケットに含まれる時間情報から、送信間隔が算出される。パケットが送信された際のデータの伝送速度と、パケットが受信された際の受信レート(bps)との関係が、線形回帰法によって2本の直線で近似される。その結果、「受信間隔−送信間隔」の値の変化時点が検出される。変化時点が存在すれば、変化時点におけるデータの伝送速度が可用帯域として計測される。変化時点が存在せず、「受信間隔−送信間隔」の値が探索範囲全体を通じてゼロとなれば、探索範囲よりも大きい範囲に可用帯域が存在すると判定される。本実施の形態では、受信装置は、探索範囲内の最大値を暫定的な計測結果(図5から図7に示す最新計測結果F)として送信装置に通知する。可用帯域が探索範囲よりも大きい範囲に存在する場合、送信装置が利用する利用帯域が、探索範囲内の最大値よりも小さければ、通信装置1は利用帯域を確保できる。また、変化時点が存在せず、「受信間隔−送信間隔」の値が探索範囲全体を通じてプラスの値となれば、探索範囲よりも小さい範囲に可用帯域が存在すると判定される。受信装置は、探索範囲内の最小値を暫定的な計測結果Fとして送信装置に通知する。
5.上記1.へ戻り、探索範囲を再設定して再び帯域を計測する。
過去の計測結果に基づいて次の探索範囲を再設定することで、効率よく帯域を計測できる。
以上説明したように、パケットの送信間隔および受信間隔を利用して帯域を計測する方式では、通信装置1は、音声データ等を含んだパケットを送受信しながら帯域を計測することができる。通信装置1は、探索範囲内に可用帯域が含まれるように探索範囲を設定すれば、テレビ会議を実行しながら可用帯域の値を計測することができる。しかし、通信装置1は、利用帯域よりも可用帯域の方が大きいか否か(利用帯域が確保されているか否か)のみを認識すればよい場合がある。例えば、利用帯域および可用帯域が変動する場合でも、利用帯域の最大値(以下、「最大利用帯域」という。)よりも可用帯域の方が大きければ、送信遅延等の問題は生じない。よって、通信装置1は、可用帯域の値まで把握する必要はない。利用帯域が可用帯域を上回る可能性が無視できる程度に可用帯域の方が大きい場合に、可用帯域を計測するために大きい伝送速度でパケットが送信されると、通信装置1およびネットワーク8に不要な負荷がかかる。本実施の形態の通信装置1は、適切な探索範囲を設定することで、通信装置1およびネットワーク8に不要な負荷がかかることを防止することができる。以下、通信装置1が記憶するデータの構成、および通信装置1が行う処理について、詳細に説明する。
図2を参照して、送信装置のHDD13に記憶されている送信データテーブルのデータ構成について説明する。送信データテーブルは、通信装置1が送信データを送信する際の利用帯域の情報を、送信データの種別毎に記憶するテーブルである。まず、通信装置1が送受信できるデータには、音声データ、動画データ、資料データ、ポインタ位置データ、および制御情報がある。例えば、音声データは、コーデックの種類、サンプリングレート、および1フレームのサイズに応じて6つの種別に分類される。同様に、動画データ等の他のデータも、1または複数の種別に分類される。通信装置1は、受信装置の性能、ユーザからの指示等に応じて、1または複数の種別のデータのいずれかを受信装置へ送信する。図2の中央より左側は、データの種別を表している。
それぞれのデータの種別には、利用帯域の情報が対応付けられている。利用帯域の情報は、帯域下限、帯域上限、平均帯域、および分散の情報からなる。帯域下限および帯域上限の情報は、データを送信するために利用される利用帯域の下限および上限を示す情報である。帯域下限および帯域上限の情報は、データの種別毎にあらかじめ定められている。通信装置1は、送信する1または複数のデータについての帯域上限の値の和、および帯域下限の値の最小値を用いて、探索範囲を制限することができる。なお、図2における「CBR」は「Constant Bit Rate」の略であり、一定の伝送速度で送信されるデータであることを示す。
平均帯域は、通信装置1がデータを実際に送信した際の利用帯域の平均値である。通信装置1は、データの送信中に、データ毎に利用帯域の値を取得して平均値を算出し、送信データテーブルの平均帯域の値を更新する。分散は、通信装置1がデータを実際に送信した際の利用帯域の分散である。通信装置1は、データの送信中に取得した利用帯域の値から分散を算出し、送信データテーブルに記憶する。通信装置1は、平均帯域および分散に基づいて探索範囲を制限することができる。
図3から図6を参照して、帯域を計測するための計測パケットを送信する送信装置として通信装置1が動作する場合に実行される送信メイン処理およびパケット送信処理について説明する。送信メイン処理およびパケット送信処理は、HDD13に記憶されているプログラムに従って、送信装置のCPU10によって実行される。送信メイン処理は、受信装置との間でデータを送受信する指示が通信装置1に入力されることを契機として実行される。パケット送信処理は、送信メイン処理の中で帯域計測開始の処理が行われることを条件に、送信メイン処理と並行して実行される。
図3に示すように、送信メイン処理が開始されると、テレビ会議を実行するためのアプリケーションが起動される(S1)。受信装置との間で呼が接続され、パケットを受信装置との間で送受信することが可能な状態とされる(S2)。ネゴシエーション処理が行われる(S3)。ネゴシエーション処理では、受信装置との間で送受信されるデータの種別が決定された後に、探索範囲を制限するための設定が行われて、帯域の計測を開始する処理が行われる。この詳細については、図4を参照して後述する。
ネゴシエーション処理(S3)が終了すると、資料データ以外のデータ(主に音声データおよび動画データ)が受信装置との間で相互に送受信されて、映像通話が行われる(S4)。送信しているデータの伝送速度が、利用帯域としてデータの種別毎に取得される(S5)。取得された利用帯域の値および過去の利用帯域の値から、利用帯域の平均値である平均利用帯域と、利用帯域の値の分散とが、データの種別毎に算出される(S6)。算出結果が、送信データテーブル(図2参照)に更新される(S7)。受信装置との間の呼を切断する指示が入力されたか否かが判断される(S8)。切断する指示が入力されていなければ(S8:NO)、送信するデータ種別を追加する指示が入力されたか否かが判断される(S9)。具体的には、本実施の形態では、音声および動画を用いたテレビ会議中に、送信装置が有する資料データを共有する指示が入力されたか否かが判断される。データ種別を追加する指示が入力されていなければ(S9:NO)、処理はS4へ戻り、S4〜S9の処理が繰り返し行われる。
データ種別を追加する指示が入力されると(S9:YES)、帯域の計測を中断させる処理が行われて(S11)、S3と同様のネゴシエーション処理が再度行われる(S12)。S12のネゴシエーション処理では、探索範囲を制限する処理が再び行われた後に、帯域の計測が再開される。資料データを含むデータが、受信装置との間で送受信される(S13)。送信しているデータの種別毎に、利用帯域が取得される(S14)。データの種別毎に、平均利用帯域および分散が算出され(S15)、算出結果が更新される(S16)。送信するデータの種別を減少させる指示、具体的には、資料データの共有を終了する指示が入力されたか否かが判断される(S17)。入力されていなければ(S17:NO)、処理はS13へ戻る。データの種別を減少させる指示が入力された場合には(S17:YES)、探索範囲を制限する設定が、データの種別が追加される前の設定に戻される(S18)。処理はS4へ戻る。
受信装置との間の呼を切断する指示が入力されると(S8:YES)、帯域の計測を終了させる処理が行われる(S21)。呼が切断され(S22)、アプリケーションを終了させる処理が行われて(S23)、送信メイン処理は終了する。
図4を参照して、送信メイン処理中に実行されるネゴシエーション処理について説明する。本実施の形態では、送信装置と受信装置との間で送受信されるデータの種別を決定する際に、セッション記述プロトコル(SDP)を用いたオファー・アンサーモデルが用いられる。まず、送信装置が送信可能なデータ種別、および受信可能なデータ種別の一覧を示すオファーが、受信装置に送信される(S31)。受信装置が送信可能なデータ種別、および受信可能なデータ種別の一覧を示すアンサーが、受信装置から受信される(S32)。受信装置に送信する送信データの種別が決定され、決定された送信データの種別の一覧が、送信データテーブル(図2参照)から取得される(S33)。
利用帯域の分散を使用して探索範囲を制限する設定となっているか否かが判断される(S34)。本実施の形態の通信装置1は、探索範囲を制限する方法として2つの方法を用いることができる。1つの方法は、最大利用帯域および最小利用帯域を使用する方法である。もう1つの方法は、利用帯域の平均および分散を使用する方法である。ユーザは、操作部25を操作することで、2つの方法のうちのいずれを使用させるかをあらかじめ設定しておく。S34では、いずれの方法を使用する設定となっているかが判断される。
分散を使用する設定となっていなければ(S34:NO)、最大利用帯域および最小利用帯域によって探索範囲を制限する処理が行われる。まず、送信データテーブルから取得されたデータから、各データの種別の帯域上限の値が加算されることで、最大利用帯域が算出される(S35)。算出された最大利用帯域の値が、探索範囲の中心が位置する上限の値Omaxに設定される(S36)。詳細は後述するが、送信装置は、送信条件設定処理(図6参照)において、探索範囲の中心がOmaxを超えないように、探索範囲を設定する。その結果、探索範囲が制限される。次いで、各データ種別についての帯域下限のうちの最小値が、探索範囲の中心が位置する下限の値Ominに設定される(S37)。
分散を使用する設定となっていれば(S34:YES)、平均利用帯域および分散によって探索範囲を制限する処理が行われる。まず、送信データテーブルから取得されたデータから、各データの種別の平均利用帯域が全て加算される(S38)。各データの種別の分散が全て加算される(S39)。平均利用帯域の合計値「H」と、分散の合計値「B」を3倍した値との和が算出される。算出された「H+3B」の値が、探索範囲の中心が位置する上限の値Omaxに設定される(S40)。「H−3B」の値が算出され、算出された値が、探索範囲の中心が位置する下限の値Ominに設定される(S41)。
統計学上、分散の合計値「B」を3倍した値を用いることで、利用帯域の約99.7%がOminからOmaxの範囲内に収まるように、OminおよびOmaxの値を設定することができる。その結果、OminからOmaxの範囲を、利用帯域が高い確率で収まる適切な範囲に設定することができる。利用帯域がOmax以下となれば、可用帯域の値がOmaxよりも大きいことのみが計測結果として得られた場合(可用帯域の値が計測されなかった場合)でも、通信装置1は、利用帯域が確保されていることを把握することができる。なお、分散の合計値「B」にかける値は3に限られない。OmaxおよびOminの設定が終了すると、帯域の計測が開始されて(S42)、処理は送信メイン処理へ戻る。
図5および図6を参照して、パケット送信処理について説明する。前述したように、送信装置は、送信メイン処理において帯域の計測を開始させる処理(S42、図4参照)が行われると、送信メイン処理と並行してパケット送信処理を実行する。図5に示すように、まず、帯域の計測を終了させる処理(S21、図3参照)、または中断させる処理(S11、図3参照)が行われたか否かが判断される(S51)。終了または中断させる処理が行われていなければ(S51:NO)、送信条件設定処理が行われる(S52)。
図6に示すように、送信条件設定処理が開始されると、受信装置との間で行われる初回の帯域の計測処理であるか否かが判断される(S61)。換言すると、受信装置との間の帯域が未だ1度も計測されていないか判断される。初回の計測処理であれば(S61:YES)、初期探索範囲、パケットサイズ、ストリーム数S、および計測パケット数Nが、所定の値に設定される(S62)。本実施の形態では、所定の値としてデフォルト値が用いられる。しかし、これらの値の設定方法は変更できる。例えば、他の帯域計測方法によって計測された帯域に基づいて初期探索範囲を設定してもよい。
初回の計測処理でなければ(S61:NO)、受信装置から通知された最新の計測結果の値Fに応じて、次回の帯域の計測処理における探索範囲(以下、「次回の探索範囲」という。)が設定される。詳細は後述するが、送信装置と受信装置との間の帯域は、受信装置によって計測される。送信装置は、計測結果を受信装置から受信することで、帯域を把握する。また、送信装置は、最新計測結果FがOmin以上Omax以下であれば、最新計測結果Fまたは前回設定した探索範囲(最新計測結果Fを計測するために設定されていた探索範囲)を利用して、次回の探索範囲を設定する。その結果、送信装置は、可用帯域を計測するための適切な探索範囲を次回の探索範囲として設定することができる。この処理は、前述した文献に記載されている。一方、最新計測結果FがOmin以上Omax以下の範囲になければ、次回の探索範囲の中心位置は制限される。その結果、可用帯域が無駄に計測されることが防止される。以下、詳細について説明する。
まず、最新計測結果Fの値が、設定されているOmaxの値よりも大きいか否かが判断される(S63)。Omaxよりも大きい場合には(S63:YES)、Omaxの値が、次回の探索範囲の中心が位置する値に決定される(S64)。最新計測結果Fの値がOmaxの値以下であれば(S63:NO)、Fの値がOminよりも小さいか否かが判断される(S65)。Ominよりも小さい場合には(S65:YES)、Ominの値が、次回の探索範囲の中心が位置する値に決定される(S66)。つまり、送信装置は、探索範囲の中心位置をS63〜S66で制限することで、探索範囲を制限する。
最新計測結果Fの値がOmin以上であれば(S65:NO)、前回設定された探索範囲内にFの値が存在するか否かが判断される(S67)。Fの値が前回の探索範囲内(探索範囲の上限値および下限値を除く)にあれば(S67:YES)、最新計測結果Fの値が、次回の探索範囲の中心が位置する値に決定される(S68)。
次回の探索範囲の中心が位置する値が決定されると、蓄積された帯域の計測結果から探索範囲の幅Dが算出されて、次回の探索範囲が設定される(S71)。つまり、次回の探索範囲の中心が位置する値をCとすると、次回の探索範囲の最小値は「C−D/2」、最大値は「C+D/2」とされる。次回の探索範囲の幅Dは、前述した文献に記載されている方法と同様に、以下の式(2)によって算出される。式(2)におけるαは、蓄積された1または複数の計測結果の分散、βは、蓄積された1または複数の計測結果の個数の平方根である。
D=2×1.96×α/β・・・・・(2)
なお、計測結果が安定し、算出されたDの値があらかじめ定められた最小幅Dminよりも小さくなれば、Dminが次回の探索範囲の幅として採用される。その後、処理はS72へ移行する。
一方、最新計測結果Fの値がOmin≦F≦Omaxの範囲内、且つ前回の探索範囲外にあれば(S67:NO)、前回の探索範囲の最大値および最小値のいずれか一方が変更されることで探索範囲が拡大され、拡大された探索範囲が次回の探索範囲として設定される(S69)。処理はS72へ移行する。詳細には、前述したように、可用帯域が前回の探索範囲の上限値よりも大きい場合には、暫定的に前回の探索範囲の上限値が最新計測結果Fとされる。最新計測結果Fの値が、暫定的な計測結果として通知された前回の探索範囲の上限値である場合には、次回の探索範囲の最大値Bu´の値が、前回の探索範囲の最大値Buの値および最小値Blの値を用いて、以下の式(3)によって算出される。その結果、次回の探索範囲は、前回より大きい帯域まで計測する探索範囲に拡大される。なお、次回の探索範囲の最小値Bl´の値には、Blの値がそのまま用いられる。
Bu´=Bu+(Bu−Bl)/2・・・・・(3)
最新計測結果Fが、暫定的な計測結果として通知された前回の探索範囲の下限値であれば、次回の探索範囲の最小値Bl´の値が以下の式(4)によって算出される。その結果、次回の探索範囲は、前回より小さい帯域まで計測する探索範囲に拡大される。なお、次回の探索範囲の最大値Bu´の値には、前回の最大値Buの値がそのまま用いられる。
Bl´=Bl−(Bu−Bl)/2・・・・・(4)
次回の探索範囲が設定されると、設定された探索範囲が、ストリーム数であるS個の小区間に等分される(S72)。ストリーム数Sが「1」であれば、探索範囲全体がそのまま小区間とされる。次いで、分割された小区間のそれぞれが、各ストリームを構成する計測パケットの数Nで等分される(S73)。その結果、各計測パケットが探索する帯域の値である探索帯域値Ki(i=1,...,N−1)が一意に定まる。分割された帯域値である探索帯域値Ki(bps)を探索するための、各計測パケットの送信間隔が算出される(S74)。1つの探索帯域値Kiを探索するための送信間隔(前回の計測パケットを送信してからの経過時間)は、計測パケットのパケットサイズ(bit)をPsとして、以下の式(5)で求められる。その後、処理はパケット送信処理に戻る。
Ps/Ki・・・・・(5)
図5の説明に戻る。送信条件設定処理(S52)が終了すると、計測パケット数Nおよびストリーム数Sが受信装置に通知される(S53)。設定されているパケットサイズPsの計測パケットが生成される(S54)。計測パケットには、音声データ等の送信データと、パケット番号の情報と、前回送信された計測パケットとの間の送信間隔を算出するための時間情報とが含まれる。パケット番号は、計測ストリーム中の各計測パケットの順番を示す番号であり、通し番号が用いられる。次いで、設定されている送信間隔だけ待機される(S55)。待機時間が経過すると、生成された計測パケットが受信装置に送信される(S56)。N×S個の全ての計測パケットが送信されたか否かが判断され(S57)、送信されていなければ(S57:NO)、S54〜S56の処理が繰り返し行われる。全ての計測パケットが送信された場合(S57:YES)、受信装置から最新計測結果Fが受信されて(S58)、処理はS51の判断へ戻る。帯域の計測を終了または中断させる処理が行われると(S51:YES)、パケット送信処理は終了する。
次に、図7を参照して、パケット受信処理について説明する。パケット受信処理は、計測パケットを受信して帯域を計測する受信装置として通信装置1が動作する場合に実行される。つまり、通信装置1は、送信装置としても受信装置としても動作できる。パケット受信処理は、送信装置との間でデータを送受信する指示が入力されると、HDD13に記憶されているプログラムに従って、受信装置のCPU10によって実行される。
パケット受信処理が開始されると、帯域を計測するためのパケットの受信を終了させる指示があったか否かが判断される(S81)。終了指示がなければ(S81:NO)、計測パケット数Nおよびストリーム数Sを示すデータが送信装置から受信されて、NおよびSの値が認識される(S82)。計測パケットが受信される(S83)。計測パケットが受信された時点の時刻が、受信時刻として取得される(S84)。受信された計測パケットに含まれるデータから、パケット番号が抽出され、且つ送信間隔が算出される(S85)。N×S個の全てのパケットの受信が完了したか否かが判断される(S86)。完了していなければ(S86:NO)、S83〜S85の処理が繰り返し行われる。
全てのパケットの受信が完了すると(S86:YES)、受信間隔と送信間隔との差分が、パケット番号毎に算出される(S87)。算出された差分の変化時点から、帯域が計測される(S88)。詳細には、まず、線形回帰法によって、「受信間隔−送信間隔」の差分の値が変化し始める時点が検出される。変化時点が検出された場合には、変化時点の探索帯域値Kiが、可用帯域の計測結果Fとされる。変化時点が検出されなかった場合、探索範囲中の全範囲で差分が概ね「0」であったか否かが判断される。差分が概ね「0」であれば、可用帯域は探索範囲の最大値よりも大きいと判定され、探索範囲の最大値が暫定的な計測結果Fとされる。なお、送信装置が利用する利用帯域が、探索範囲の最大値よりも小さければ、送信装置は、必ずしも可用帯域の値まで認識する必要はない。送信装置は、可用帯域が探索範囲の最大値よりも大きいことを認識すれば、可用帯域の値を認識しなくても、利用帯域を確保できると判定できるためである。「受信間隔−送信間隔」の差分が、探索範囲中の全範囲で概ねプラスの値となっていれば、可用帯域は探索範囲を下回ると判定され、探索範囲の最小値が暫定的な計測結果Fとされる。帯域が計測されると、最新計測結果Fが送信装置に送信されて(S89)、処理はS81の判断へ戻る。帯域の計測を終了させる指示があれば(S81:YES)、パケット受信処理は終了する。
図8を参照して、本実施の形態の通信装置1が設定する探索範囲と、可用帯域および利用帯域との関係について説明する。通信装置1が送信装置として動作する場合、通信装置1は、送信データテーブル(図2参照)の情報を参照して、探索範囲の中心が位置する上限の値Omax、および下限の値Ominを設定する。図8に示す時間帯W以外の時間帯では、帯域の最新計測結果は、Omin以上、Omax以下となる。よって、通信装置1は、時間帯W以外の時間帯では、探索範囲の中心位置を制限することなく、最新計測結果の値を次回の探索範囲の中心位置とする。その結果、送信装置は、最新計測結果の値の近傍に探索範囲を設定することができる。よって、受信装置は、可用帯域の値を効率よく正確に計測することができる。
図8に示す時間帯Wでは、帯域の最新計測結果(可用帯域の値、または探索範囲の最大値)はOmaxよりも大きくなる。よって、通信装置1は、次回の探索範囲の中心位置を、上限の値として設定されているOmaxとする。その結果、図8に示す時間帯Zでは、利用帯域よりも著しく大きい可用帯域が無駄に計測されることが防止される。つまり、図8に示す時間帯Zでは、利用帯域が可用帯域を上回る可能性が無視できる程度に、可用帯域の方が大きい。従って、通信装置1は、利用帯域が確保できていることを認識できればよく、可用帯域の値まで計測する必要はない。可用帯域を無駄に計測しなければ、送信装置、受信装置、およびネットワーク8に不要な負荷がかかることはない。よって、通信装置1は、送信するデータに応じて、帯域を効率よく計測することができる。換言すると、通信装置1は、利用帯域が確保されていることを容易に把握することができる。
また、図8に示すように、送信するデータの種別が変更されると、通信装置1は、Omaxの値およびOminの値を再設定する。従って、通信装置1は、送信するデータの種別が変更された場合でも、変更されたデータの種別に応じて適切に探索範囲を制限することができる。
以上説明したように、本実施の形態に係る通信装置1は、送信データの種別に基づいて探索範囲を制限する。従って、通信装置1は、送信データの種別に応じた適切な探索範囲を設定することができる。詳細には、通信装置1は、探索範囲の中心を最大利用帯域以下とすることで、最大利用帯域よりも著しく大きい可用帯域(利用帯域が可用帯域を上回る可能性が無視できる程度に大きい可用帯域)が無駄に計測されることを、効率よく防止することができる。また、通信装置1は、利用帯域の平均および分散を用いて探索範囲を制限することもできる。通信装置1は、可用帯域が無駄に計測されることを、平均および分散を用いた統計的な手法によって効果的に防止することができる。なお、通信装置1は、最大利用帯域の値、または平均と分散とを用いて算出した「H+3B」の値よりも、D/2(Dは探索範囲の幅)だけ大きい範囲であれば、可用帯域の値を計測することができる。従って、仮に利用帯域が一時的に増加した場合であっても、利用帯域の増加量がD/2以内であれば、増加した利用帯域が確保できているか否かを、既に計測されている結果を用いて素早く判断することができる。
通信装置1は、送信するデータの種別が変更される毎にOmaxの値を設定することで、変更された送信データの種別に応じて適切に探索範囲を制限することができる。通信装置1は、設定した探索範囲内で帯域を計測するための送信間隔、計測パケット数N、およびパケットサイズPsを設定する。設定した条件に応じてパケットを生成し、送信する。その結果、通信装置1は、設定した探索範囲内の帯域を的確に受信装置に計測させることができる。
上記実施の形態において、図4のS33で送信データの種別の一覧を送信データテーブルから取得するCPU10が、本発明の「種別取得手段」として機能する。図4のS34〜S41、および図3のS18で探索範囲を制限するCPU10が「範囲制限手段」として機能する。図6のS63〜S71で制限に従って探索範囲を設定するCPU10が「範囲設定手段」として機能する。図6のS72〜S74および図5のS54〜S57でパケットを生成して送信するCPU10が「パケット処理手段」として機能する。
図3のS5,S6,S14,S15、および図4のS35で最大利用帯域を算出するCPU10が「最大値算出手段」として機能する。図4のS36で探索範囲の中心が位置する上限の値を設定するCPU10が「第一上限設定手段」として機能する。図3のS5,S6,S14,S15、および図4のS38で分散を算出するCPU10が「分散算出手段」として機能する。図4のS40で「H+3B」の値を基準値として算出するCPU10が「基準値算出手段」として機能する。図4のS40で探索範囲の中心が位置する上限の値を設定するCPU10が「第二上限設定手段」として機能する。
図5のS58で最新計測結果Fを取得するCPU10が「結果取得手段」として機能する。図6のS63でFの値がOmaxより大きいか否かを判断するCPU10が「結果判断手段」として機能する。図3のS9およびS17で送信データの種別が変更されたか否かを判断するCPU10が「変更判断手段」として機能する。図6のS72〜74で送信条件を設定するCPU10が「送信条件設定手段」として機能する。図5のS54で計測パケットを生成するCPU10が「生成手段」として機能する。図5のS55,S56でパケットを送信するCPU10が「送信手段」として機能する。
図4のS33で送信データの種別の一覧を送信データテーブルから取得する処理が、本発明の「種別取得ステップ」に相当する。図4のS34〜S41、および図3のS18で探索範囲を制限する処理が「範囲制限ステップ」に相当する。図6のS63〜S71で、制限に従って探索範囲を設定する処理が、「範囲設定ステップ」に相当する。図6のS72〜S74および図5のS54〜S57でパケットを生成して送信する処理が「パケット処理ステップ」に相当する。
本発明は上記実施の形態に限定されることはなく、様々な変形が可能であることは言うまでもない。以下、図9を参照して、上記実施の形態の一変形例について説明する。図9に示す変形例は、探索範囲の設定方法(S101〜S108)等が、図6に示した送信条件設定処理における設定方法(S63〜S71)と異なるのみである。従って、上記実施の形態と同一の構成および処理については同一の番号を付し、説明を省略または簡略化する。
まず、変形例に係る通信装置1が実行するネゴシエーション処理(図4参照)について説明する。変形例に係るネゴシエーション処理のS36では、最大利用帯域は、探索範囲の中心が位置する上限の値Omaxでなく、探索範囲の最大値が位置する上限の値Rmaxに設定される。S37では、利用帯域の最小値は、探索範囲の中心が位置する下限の値Ominでなく、探索範囲の最小値が位置する下限の値Rminに設定される。同様に、S40では「H+3B」の値がRmaxに設定され、S41では「H−3B」の値がRminに設定される。
図9に示すように、変形例に係る送信条件設定処理では、初回の計測でないと判断されると(S61:NO)、最新計測結果Fの値が前回の探索範囲内にあるか否かが判断される(S101)。Fの値が前回の探索範囲内にあれば(S101:YES)、RmaxおよびRminの値に関わらず、次回の探索範囲の中心が一旦Fの値に仮決定される(S102)。探索範囲の幅が算出されて、Fの値を中心とする次回の探索範囲が仮設定される(S103)。S103において探索範囲の幅を算出する処理は、上記実施の形態におけるS71(図6参照)の処理と同じである。最新計測結果Fの値が前回の探索範囲外にあれば(S101:NO)、上記実施の形態におけるS69(図6参照)と同様に、前回の探索範囲が一方向に拡大されることで、次回の探索範囲が仮設定される(S104)。
次いで、仮設定された探索範囲の最大値がRmaxより大きいか否かが判断される(S105)。最大値がRmaxよりも大きい場合には(S105:YES)、探索範囲の幅は変更されることなく、探索範囲の最大値がRmaxと一致するように、次回の探索範囲が再設定される(S106)。最大値がRmax以下であれば(S105:NO)、仮設定された探索範囲の最小値がRminより小さいか否かが判断される(S107)。最小値がRminよりも小さい場合には(S107:YES)、探索範囲の幅は変更されることなく、探索範囲の最小値がRminと一致するように、次回の探索範囲が再設定される(S108)。最小値がRmin以上であれば(S107:NO)、仮設定されていた探索範囲がそのまま次回の探索範囲として採用されて、処理はS72へ移行する。
以上のように、通信装置1は、最大利用帯域または分散を用いて、探索範囲の最大値が位置する上限の値を制限してもよい。通信装置1は、探索範囲の最大値が位置する上限の値を設定することで、利用帯域よりも大きい可用帯域を計測する可能性をさらに低くすることができる。従って、通信装置1は、送信するデータに応じて効率よく帯域を計測することができる。なお、上記変形例において、図9のS101〜S108で探索範囲を設定するCPU10が、本発明の「範囲設定手段」として機能する。
上記実施の形態は、他の変形も可能である。例えば、通信装置1は、前述した文献に記載されている帯域計測方式の一部を利用している。しかし、前述した文献に記載されている帯域計測方式以外の方式を利用する場合であっても、本発明を適用できる。例えば、2つのパケットの送信間隔と受信間隔とから帯域を計測する方式(所謂「パケットペア方式」)、および3つのパケットの送信間隔と受信間隔とから帯域を計測する方式(所謂「トレインベース方式」)等の他の方式にも、本発明は適用できる。つまり、複数のパケットの送信間隔と受信間隔とを用いて、メディアデータを送受信しながら帯域を計測する方式であれば、前述した文献に記載されている方式以外の方式であっても本発明を適用できる。
上記の通信装置1は、統計学的な手法を用いて探索範囲を制限する場合、平均利用帯域Hと分散Bとから「H+3B」および「H−3B」を算出する。算出した値を、OmaxおよびOminの値、またはRmaxおよびRminの値に設定する。しかし、通信装置は、利用帯域の値の標準偏差を算出し、算出した標準偏差と平均利用帯域との和をOmaxまたはRmaxの値に設定してもよい。通信装置は、平均利用帯域と、利用帯域の値の標準偏差との差を、OminまたはRminの値に設定してもよい。通信装置は、標準偏差を用いることで、探索範囲を効率よく制限することができる。また、前述したように、分散Bを用いる場合、分散Bにかける値は「3」に限られない。
本発明における「帯域の計測」には、可用帯域を計測することだけでなく、通信に適した帯域が確保されているか否かを判断することも含む。「通信に適した帯域」とは、パケットの送信時間の遅延が許容範囲に収まる帯域の値である。「通信に適した帯域」は、好ましくは送信時間の遅延が生じない使用可能帯域以下の値となる。しかし、使用可能帯域よりも大きい値であっても、送信時間の遅延を許容できる一定の値を「通信に適した帯域」としてもよい。
上記実施の形態では、受信装置が帯域を計測し、計測結果のみを送信装置に通知している。しかし、送信装置、および他のサーバ等が帯域を計測することも可能である。例えば、送信装置が帯域を計測する場合、受信装置は受信間隔と送信間隔とを算出し、算出した受信間隔および送信間隔を送信装置に通知する。送信装置は、受信装置から通知された受信間隔および送信間隔を用いて「受信間隔−送信間隔」の差分の変化時点を検出し、帯域を計測すればよい。但し、受信装置と送信装置との間で送受信されるデータの量は、受信装置から送信装置に計測結果のみを通知する場合に比べて多くなる。
1 通信装置
8 ネットワーク
10 CPU
13 HDD
100 帯域計測システム

Claims (8)

  1. 連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置であって、
    パケット化して送信するデータである送信データについての情報を参照することで、前記送信データの種別を取得する種別取得手段と、
    前記種別取得手段によって取得された前記送信データの種別に応じて、前記複数のパケットによる帯域の計測対象範囲である探索範囲を制限する範囲制限手段と、
    前記範囲制限手段による制限に従って前記探索範囲を設定する範囲設定手段と、
    前記範囲設定手段によって設定された前記探索範囲内で帯域を計測するための前記複数のパケットを生成して送信するパケット処理手段と
    を備えたことを特徴とする通信装置。
  2. 前記範囲制限手段は、
    前記送信データについて、前記種別取得手段によって取得された種別毎に、通信装置が前記種別の送信データを送信するために利用する可能性のある最大の帯域を取得し、取得した種別毎の帯域の和を算出することで、前記送信データを送信するために利用される最大の帯域である最大利用帯域を算出する最大値算出手段と、
    前記最大値算出手段によって算出された前記最大利用帯域を前記探索範囲の中心が位置する上限の値に設定することで、前記探索範囲を制限する、または、前記最大利用帯域を、前記探索範囲中の最大値が位置する上限の値に設定することで、前記探索範囲を制限する第一上限設定手段を備えたことを特徴とする請求項1に記載の通信装置。
  3. 前記範囲制限手段は、
    前記送信データについて、前記種別取得手段によって取得された種別毎に、利用される帯域の平均値を取得し、取得した種別毎の平均値の和を算出することで、前記送信データを送信するために利用される帯域の平均値である平均利用帯域を算出する平均算出手段と、
    前記送信データについて、前記種別取得手段によって取得された種別毎に、利用される帯域の分散を取得し、取得した種別毎の分散の和を算出することで、前記送信データを送信するために利用される帯域の分散を算出する分散算出手段と、
    前記分散算出手段によって算出された分散の平方根である標準偏差、または前記分散にN(N>0)をかけた値と、前記平均算出手段によって算出された前記平均利用帯域との和を前記探索範囲の基準値として算出する基準値算出手段と、
    前記基準値算出手段によって算出された前記基準値を、前記探索範囲の中心が位置する上限の値に設定することで、前記探索範囲を制限する、または、前記基準値を前記探索範囲中の最大値が位置する上限の値に設定することで、前記探索範囲を制限する第二上限設定手段を備えたことを特徴とする請求項1に記載の通信装置。
  4. 前回送信された前記複数のパケットによって計測された帯域の値である最新計測結果を取得する結果取得手段と、
    前記結果取得手段によって取得された前記最新計測結果が、前記範囲制限手段によって設定されている前記上限の値よりも大きいか否かを判断する結果判断手段とをさらに備え、
    前記範囲設定手段は、
    前記結果判断手段によって前記最新計測結果が前記上限の値よりも大きいと判断された場合に、前記範囲制限手段によって設定されている前記上限の値を前記探索範囲の中心の値として前記探索範囲を設定することを特徴とする請求項2または3に記載の通信装置。
  5. 前記送信データの種別が変更されたか否かを判断する変更判断手段をさらに備え、
    前記範囲制限手段は、前記変更判断手段によって前記送信データの種別が変更されたと判断される毎に前記上限の値を設定することを特徴とする請求項2から4のいずれかに記載の通信装置。
  6. 前記パケット処理手段は、
    前記範囲設定手段によって設定された探索範囲内で帯域を計測するための、前記複数のパケットの前記送信間隔と、前記複数のパケットを構成するパケット数と、前記複数のパケットを構成する各パケットのパケットサイズとを設定する送信条件設定手段と、
    前記送信条件設定手段によって設定されたパケットサイズで前記送信データをパケット化し、且つ前記送信間隔を割り出すための時間情報を各パケットに含めることで、前記送信条件設定手段によって設定されたパケット数の前記複数のパケットを生成する生成手段と、
    前記生成手段によって生成された前記複数のパケットを、前記送信条件設定手段によって設定された前記送信間隔で順次送信する送信手段と
    を備えたことを特徴とする請求項1から5のいずれかに記載の通信装置。
  7. 連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置によって行われる通信方法であって、
    パケット化して送信するデータである送信データについての情報を参照することで、前記送信データの種別を取得する種別取得ステップと、
    前記種別取得ステップによって取得された前記送信データの種別に応じて、前記複数のパケットによる帯域の計測対象範囲である探索範囲を制限する範囲制限ステップと、
    前記範囲制限ステップによる制限に従って前記探索範囲を設定する範囲設定ステップと、
    前記範囲設定ステップによって設定された前記探索範囲内で帯域を計測するための前記複数のパケットを生成して送信するパケット処理ステップと
    を備えたことを特徴とする通信方法。
  8. 連続して送信される複数のパケットの各々の送信処理を行う間隔である送信間隔と、ネットワークを経由して受信された前記複数のパケットの受信間隔とに基づいて帯域を計測できるように、パケットの通信を行う通信装置の動作を制御する通信プログラムであって、
    コンピュータに、
    パケット化して送信するデータである送信データについての情報を参照することで、前記送信データの種別を取得する種別取得ステップと、
    前記種別取得ステップによって取得された前記送信データの種別に応じて、前記複数のパケットによる帯域の計測対象範囲である探索範囲を制限する範囲制限ステップと、
    前記範囲制限ステップによる制限に従って前記探索範囲を設定する範囲設定ステップと、
    前記範囲設定ステップによって設定された前記探索範囲内で帯域を計測するための前記複数のパケットを生成して送信するパケット処理ステップと
    を実行させることを特徴とする通信プログラム。
JP2010079980A 2010-03-31 2010-03-31 通信装置、通信方法、および通信プログラム Active JP5136586B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010079980A JP5136586B2 (ja) 2010-03-31 2010-03-31 通信装置、通信方法、および通信プログラム
PCT/JP2011/056920 WO2011125496A1 (ja) 2010-03-31 2011-03-23 通信装置、通信方法、および通信プログラム
US13/615,743 US9148356B2 (en) 2010-03-31 2012-09-14 Communication apparatus, method for implementing communication, and non-transitory computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010079980A JP5136586B2 (ja) 2010-03-31 2010-03-31 通信装置、通信方法、および通信プログラム

Publications (2)

Publication Number Publication Date
JP2011211665A JP2011211665A (ja) 2011-10-20
JP5136586B2 true JP5136586B2 (ja) 2013-02-06

Family

ID=44762450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010079980A Active JP5136586B2 (ja) 2010-03-31 2010-03-31 通信装置、通信方法、および通信プログラム

Country Status (3)

Country Link
US (1) US9148356B2 (ja)
JP (1) JP5136586B2 (ja)
WO (1) WO2011125496A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8658676B2 (en) 2010-10-12 2014-02-25 The Medicines Company Clevidipine emulsion formulations containing antimicrobial agents
US9008114B2 (en) * 2012-01-12 2015-04-14 Facebook, Inc. System and method for distance-dependent data exchange between wireless communication devices
US9055433B2 (en) 2012-01-12 2015-06-09 Facebook, Inc. Distance-dependent or user-dependent data exchange between wireless communication devices
US20180332339A1 (en) * 2017-05-12 2018-11-15 Enseo, Inc. Set-Top Box with Enhanced Functionality and System and Method for Use of Same
EP3211638B1 (en) * 2014-10-24 2023-11-29 Sony Interactive Entertainment Inc. Control device, control method, program and information storage medium
GB201504403D0 (en) 2015-03-16 2015-04-29 Microsoft Technology Licensing Llc Adapting encoded bandwidth
GB201504402D0 (en) * 2015-03-16 2015-04-29 Microsoft Technology Licensing Llc Adapting encoded bandwidth
US11153192B2 (en) * 2020-02-29 2021-10-19 Hewlett Packard Enterprise Development Lp Techniques and architectures for available bandwidth estimation with packet pairs selected based on one-way delay threshold values

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6967921B1 (en) * 2000-11-27 2005-11-22 At&T Corp. Method and device for efficient bandwidth management
US20040136379A1 (en) * 2001-03-13 2004-07-15 Liao Raymond R Method and apparatus for allocation of resources
US7460480B2 (en) * 2004-03-11 2008-12-02 I2Telecom International, Inc. Dynamically adapting the transmission rate of packets in real-time VoIP communications to the available bandwidth
US8804758B2 (en) * 2004-03-11 2014-08-12 Hipcricket, Inc. System and method of media over an internet protocol communication
US8125910B2 (en) * 2004-06-25 2012-02-28 Nec Corporation Communication system
US20070094381A1 (en) * 2005-10-24 2007-04-26 Weiss Walter E Methods and systems for developing a capacity management plan for implementing a network service in a data network
US8488447B2 (en) * 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
US8102770B2 (en) * 2006-08-22 2012-01-24 Embarq Holdings Company, LP System and method for monitoring and optimizing network performance with vector performance tables and engines
US8040811B2 (en) * 2006-08-22 2011-10-18 Embarq Holdings Company, Llc System and method for collecting and managing network performance information
US8238253B2 (en) * 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US8125897B2 (en) * 2006-08-22 2012-02-28 Embarq Holdings Company Lp System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets
US8531954B2 (en) * 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
US20090164657A1 (en) * 2007-12-20 2009-06-25 Microsoft Corporation Application aware rate control
JP5125904B2 (ja) * 2008-09-02 2013-01-23 日本電気株式会社 通信端末、通信システム、利用可能帯域推定方法、及び、プログラム
JP5125903B2 (ja) * 2008-09-02 2013-01-23 日本電気株式会社 通信端末、通信品質制御方法、及び、プログラム
US8208395B2 (en) * 2008-10-31 2012-06-26 Verizon Patent And Licensing Inc. System and method for measuring interface utilization using policers

Also Published As

Publication number Publication date
JP2011211665A (ja) 2011-10-20
US9148356B2 (en) 2015-09-29
US20130003594A1 (en) 2013-01-03
WO2011125496A1 (ja) 2011-10-13

Similar Documents

Publication Publication Date Title
JP5136586B2 (ja) 通信装置、通信方法、および通信プログラム
JP5686133B2 (ja) 利用可能帯域計測システム、送信装置、利用可能帯域計測方法およびプログラム
US9131030B2 (en) Communication device, communication method and computer readable medium storing instructions for measuring available bandwidth during data communication
JP5187404B2 (ja) 符号化装置、符号化方法、および符号化プログラム
US20120150936A1 (en) Distribution system
US8559305B2 (en) Communication device, communication method, and computer program product
JP5392208B2 (ja) 通信装置、通信方法、及び通信プログラム
JP2014192817A (ja) 会議プログラム、及び会議装置
US20100086021A1 (en) Information transmission apparatus, method of controlling the same, and storage medium
JP6885463B2 (ja) 送信装置、可用帯域推定装置、可用帯域推定システム、方法
CN107196863A (zh) 一种码率调节方法及电子设备
JP5168314B2 (ja) 通信装置、通信方法、通信プログラム
JP5392113B2 (ja) 通信装置、通信方法、通信プログラム、および帯域計測システム
JP5195805B2 (ja) 通信装置、および通信プログラム
US8953469B2 (en) Communication device and computer program product
WO2015019654A1 (ja) 情報処理システム、情報処理装置及びプログラム
JP5257373B2 (ja) パケット送信装置、パケット送信方法及びパケット送信プログラム
US9450850B2 (en) Communication devices, methods and computer readable storage media for determining a communication condition and communicating with other communication devices
US11240161B2 (en) Data communication apparatus for high-speed identification of adaptive bit rate, communication system, data communication method, and program
CN112261625A (zh) 比特率自适应的数据传输方法及装置、设备、存储介质
JP5979095B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP2013031038A (ja) 通信装置、映像取得方法、及び映像取得プログラム
US9473552B2 (en) Preventing omission of data in a remote conference
JP2016127320A (ja) 通信プログラム、通信装置、及び、通信方法
JP2017130734A (ja) 可用帯域測定システム、送信端末、受信端末、測定方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

R150 Certificate of patent or registration of utility model

Ref document number: 5136586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3